summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Reynolds <fauno@kiwwwi.com.ar>2011-07-18 12:59:47 -0300
committerNicolas Reynolds <fauno@kiwwwi.com.ar>2011-07-18 12:59:47 -0300
commit12c074375919d2de177eb9456352866902118a03 (patch)
tree3f6b2e5baadedbc7901bf3e614fd017ca8aaee52
parent598db82f25ffe3557e395a11f379de65af9e1ac1 (diff)
parentddddf9c453076a407bfdbf3e030e606f31ee2b86 (diff)
Merge branch 'master' of ssh://vparabola/home/parabola/abslibre-pre-mips64el
Conflicts: community/dopewars/PKGBUILD community/virtualbox/PKGBUILD core/lvm2/PKGBUILD extra/aspell/PKGBUILD extra/gnome-python-extras/PKGBUILD extra/libproxy/PKGBUILD extra/live-media/PKGBUILD extra/ocaml/PKGBUILD extra/putty/PKGBUILD extra/python/PKGBUILD extra/ruby/PKGBUILD kde-unstable/calligra/PKGBUILD multilib-testing/lib32-mesa/PKGBUILD testing/mesa/PKGBUILD
-rw-r--r--community-staging/qwtpolar-svn/PKGBUILD46
-rw-r--r--community-testing/exim/ChangeLog26
-rw-r--r--community-testing/exim/PKGBUILD74
-rw-r--r--community-testing/exim/aliases35
-rwxr-xr-xcommunity-testing/exim/exim42
-rw-r--r--community-testing/exim/exim.Makefile1227
-rw-r--r--community-testing/exim/exim.conf.d1
-rw-r--r--community-testing/exim/exim.install25
-rw-r--r--community-testing/exim/exim.logrotate6
-rw-r--r--community-testing/freevo/PKGBUILD44
-rw-r--r--community-testing/freevo/freevo.desktop11
-rw-r--r--community-testing/freevo/freevo.install25
-rw-r--r--community-testing/freevo/imdb-html5lib.patch301
-rw-r--r--community-testing/lightspark/PKGBUILD14
-rw-r--r--community-testing/lightspark/git-fixes-set-sys-in-destroystream-class.diff1180
-rw-r--r--community-testing/mypaint/PKGBUILD32
-rw-r--r--community-testing/mypaint/mypaint.install13
-rw-r--r--community-testing/python-scipy/PKGBUILD83
-rw-r--r--community-testing/python-scipy/python-scipy.changelog49
-rw-r--r--community-testing/stunnel/Makefile.patch21
-rw-r--r--community-testing/stunnel/PKGBUILD48
-rw-r--r--community-testing/stunnel/stunnel.install35
-rw-r--r--community-testing/stunnel/stunnel.rc.d36
-rw-r--r--community-testing/systemd/PKGBUILD69
-rw-r--r--community-testing/systemd/os-release5
-rw-r--r--community-testing/systemd/systemd.install31
-rw-r--r--community-testing/vhba-module/PKGBUILD28
-rw-r--r--community-testing/vhba-module/vhba-kernel2.6.37.patch56
-rw-r--r--community-testing/vhba-module/vhba-module.install16
-rw-r--r--community/alltray/PKGBUILD19
-rw-r--r--community/bonnie++/PKGBUILD8
-rw-r--r--community/calibre/PKGBUILD6
-rw-r--r--community/conkeror-git/PKGBUILD58
-rw-r--r--community/conkeror-git/conkeror-git.install11
-rw-r--r--community/conkeror-git/conkeror.sh4
-rw-r--r--community/conkeror-git/conkeror_gimpfile.xpm2251
-rw-r--r--community/dante/PKGBUILD13
-rw-r--r--community/dmenu/PKGBUILD13
-rw-r--r--community/dopewars/PKGBUILD21
-rw-r--r--community/enigma/PKGBUILD22
-rw-r--r--community/freeradius/PKGBUILD12
-rw-r--r--community/gcc-avr/PKGBUILD10
-rw-r--r--community/gri/PKGBUILD8
-rw-r--r--community/gri/gri.install2
-rw-r--r--community/mailutils/PKGBUILD28
-rw-r--r--community/mailutils/mailutils.install20
-rw-r--r--community/newton-dynamics/PKGBUILD45
-rw-r--r--community/newton-dynamics/assert-fix.patch13
-rw-r--r--community/nut/PKGBUILD6
-rwxr-xr-xcommunity/pragha/PKGBUILD6
-rw-r--r--community/unbound/PKGBUILD4
-rw-r--r--community/virtualbox/PKGBUILD23
-rw-r--r--community/zathura/PKGBUILD19
-rw-r--r--core/file/PKGBUILD12
-rw-r--r--core/file/file-5.07-zip-detect.patch45
-rw-r--r--core/lvm2/PKGBUILD14
-rw-r--r--core/usbutils/PKGBUILD12
-rw-r--r--extra/aspell/PKGBUILD27
-rw-r--r--extra/aspell/aspell.install2
-rw-r--r--extra/asymptote/PKGBUILD6
-rw-r--r--extra/bzr/PKGBUILD8
-rw-r--r--extra/cups/PKGBUILD6
-rw-r--r--extra/cups/cups.install5
-rw-r--r--extra/dvgrab/PKGBUILD16
-rw-r--r--extra/gdm/PKGBUILD13
-rw-r--r--extra/gnome-python-extras/PKGBUILD4
-rw-r--r--extra/help2man/PKGBUILD6
-rw-r--r--extra/kdeplasma-applets-networkmanagement/PKGBUILD6
-rw-r--r--extra/libmp3splt/PKGBUILD6
-rw-r--r--extra/libproxy/PKGBUILD22
-rw-r--r--extra/live-media/PKGBUILD3
-rw-r--r--extra/mp3splt/PKGBUILD8
-rw-r--r--extra/ocaml/PKGBUILD6
-rw-r--r--extra/octave/PKGBUILD25
-rw-r--r--extra/octave/curlfix.patch10
-rw-r--r--extra/perl-fcgi/PKGBUILD6
-rw-r--r--extra/perl-time-hires/PKGBUILD30
-rw-r--r--extra/putty/PKGBUILD36
-rw-r--r--extra/python/PKGBUILD39
-rw-r--r--extra/qwtplot3d/PKGBUILD34
-rw-r--r--extra/ruby/PKGBUILD16
-rw-r--r--extra/screen/PKGBUILD7
-rw-r--r--extra/smb4k/PKGBUILD6
-rw-r--r--extra/sshfs/PKGBUILD17
-rw-r--r--extra/vino/PKGBUILD8
-rw-r--r--extra/vlc/PKGBUILD15
-rw-r--r--multilib-testing/lib32-mesa/linking_fix.patch22
-rw-r--r--staging/kdeplasma-addons/PKGBUILD609
-rw-r--r--staging/kdeplasma-addons/kdeobservatory-qwt6.patch12
-rw-r--r--staging/kdeplasma-addons/kdeplasma-addons-applets-lancelot.install12
-rw-r--r--staging/kdeplasma-addons/kdeplasma-addons-applets.install11
-rw-r--r--staging/mysql/PKGBUILD130
-rw-r--r--staging/mysql/my.cnf145
-rw-r--r--staging/mysql/mysql.install26
-rwxr-xr-xstaging/mysql/mysqld77
-rw-r--r--staging/net-snmp/PKGBUILD48
-rw-r--r--staging/net-snmp/libnl-2.patch67
-rw-r--r--staging/net-snmp/snmpd.rc38
-rw-r--r--staging/openssh/PKGBUILD70
-rw-r--r--staging/openssh/authfile.c.patch198
-rwxr-xr-xstaging/openssh/sshd48
-rw-r--r--staging/openssh/sshd.confd4
-rw-r--r--staging/openssh/sshd.pam11
-rw-r--r--staging/qwt/PKGBUILD42
-rw-r--r--staging/qwt/qwtconfig-archlinux.pri118
-rw-r--r--staging/qwtplot3d/PKGBUILD42
-rw-r--r--staging/qwtplot3d/qwtplot3d-gcc44.patch12
-rw-r--r--staging/socat/PKGBUILD32
-rw-r--r--testing/ardour/PKGBUILD73
-rw-r--r--testing/ardour/ardour.changelog49
-rw-r--r--testing/ardour/ardour.desktop9
-rw-r--r--testing/ardour/gcc46.patch42
-rw-r--r--testing/ardour/raptor2.patch57
-rw-r--r--testing/esound/PKGBUILD38
-rwxr-xr-xtesting/esound/esd37
-rw-r--r--testing/esound/esd-0.2.38-alsa-drain.patch11
-rw-r--r--testing/file/PKGBUILD39
-rw-r--r--testing/file/file-5.07-zip-detect.patch40
-rw-r--r--testing/inetutils/PKGBUILD62
-rw-r--r--testing/inetutils/ftpd.conf4
-rw-r--r--testing/inetutils/ftpd.rc37
-rw-r--r--testing/inetutils/inetutils.install20
-rw-r--r--testing/inetutils/rexec.xinetd10
-rw-r--r--testing/inetutils/rlogin.xinetd10
-rw-r--r--testing/inetutils/rsh.xinetd10
-rw-r--r--testing/inetutils/talk.xinetd10
-rw-r--r--testing/inetutils/telnet.xinetd10
-rw-r--r--testing/mesa/linking_fix.patch22
-rw-r--r--testing/mysql/PKGBUILD130
-rw-r--r--testing/mysql/my.cnf145
-rw-r--r--testing/mysql/mysql.install26
-rwxr-xr-xtesting/mysql/mysqld77
-rw-r--r--testing/net-snmp/PKGBUILD48
-rw-r--r--testing/net-snmp/libnl-2.patch67
-rw-r--r--testing/net-snmp/snmpd.rc38
-rw-r--r--testing/nfs-utils/PKGBUILD72
-rw-r--r--testing/nfs-utils/exports15
-rw-r--r--testing/nfs-utils/idmapd.conf14
-rw-r--r--testing/nfs-utils/nfs-common319
-rw-r--r--testing/nfs-utils/nfs-common.conf40
-rw-r--r--testing/nfs-utils/nfs-server303
-rw-r--r--testing/nfs-utils/nfs-server.conf29
-rw-r--r--testing/nfs-utils/nfs-utils-1.1.2-kerberos-ac.patch138
-rw-r--r--testing/nfs-utils/nfs-utils-1.1.4-mtab-sym.patch39
-rw-r--r--testing/nfs-utils/nfs-utils-1.1.4-no-exec.patch15
-rw-r--r--testing/nfs-utils/nfs-utils-1.1.6-heimdal_functions.patch69
-rw-r--r--testing/nfs-utils/nfs-utils-1.1.6-no_libgssapi.patch57
-rw-r--r--testing/nfs-utils/nfs-utils.install32
-rw-r--r--testing/nfs-utils/start-statd.patch22
-rw-r--r--testing/openssh/PKGBUILD70
-rw-r--r--testing/openssh/authfile.c.patch198
-rwxr-xr-xtesting/openssh/sshd48
-rw-r--r--testing/openssh/sshd.confd4
-rw-r--r--testing/openssh/sshd.pam11
-rw-r--r--testing/pygtk/PKGBUILD37
-rw-r--r--testing/pygtk/python27.patch50
-rwxr-xr-xtesting/python-numpy/PKGBUILD61
-rw-r--r--testing/quota-tools/LICENSE33
-rw-r--r--testing/quota-tools/PKGBUILD49
-rw-r--r--testing/quota-tools/nulls.diff20
-rw-r--r--testing/quota-tools/quotaon.diff216
-rw-r--r--testing/quota-tools/repquota.diff91
-rw-r--r--testing/quota-tools/system_inodes.diff18
-rw-r--r--testing/rrdtool/PKGBUILD37
-rw-r--r--testing/slv2/PKGBUILD32
-rw-r--r--testing/slv2/slv2.changelog23
-rw-r--r--testing/slv2/slv2.install14
-rw-r--r--testing/socat/PKGBUILD32
-rw-r--r--testing/tftp-hpa/LICENSE32
-rw-r--r--testing/tftp-hpa/PKGBUILD35
-rw-r--r--testing/tftp-hpa/tftpd.conf4
-rwxr-xr-xtesting/tftp-hpa/tftpd.rc38
-rw-r--r--testing/vsftpd/PKGBUILD43
-rw-r--r--testing/vsftpd/vsftpd.d67
-rw-r--r--testing/vsftpd/vsftpd.install17
-rw-r--r--testing/vsftpd/vsftpd.xinetd10
-rw-r--r--testing/xinetd/PKGBUILD43
-rw-r--r--testing/xinetd/servers10
-rw-r--r--testing/xinetd/services10
-rwxr-xr-xtesting/xinetd/xinetd38
-rw-r--r--testing/xinetd/xinetd.conf14
181 files changed, 11826 insertions, 315 deletions
diff --git a/community-staging/qwtpolar-svn/PKGBUILD b/community-staging/qwtpolar-svn/PKGBUILD
new file mode 100644
index 000000000..79de737a4
--- /dev/null
+++ b/community-staging/qwtpolar-svn/PKGBUILD
@@ -0,0 +1,46 @@
+# Maintainer: Thomas Dziedzic < gostrc at gmail >
+# Contributor: Kévin Guilloy <kevin at guilloy dot ath dot cx>
+
+pkgname=qwtpolar-svn
+pkgver=122
+pkgrel=1
+pkgdesc='An extension of the Qwt library to support polar plots.'
+arch=('i686' 'x86_64')
+url="http://qwtpolar.sourceforge.net/"
+license=('Qwt License, Version 1.0')
+depends=('qwt')
+conflicts=('qwtpolar')
+makedepends=('subversion')
+
+_svntrunk='https://qwtpolar.svn.sourceforge.net/svnroot/qwtpolar/trunk/qwtpolar'
+_svnmod='qwtpolar'
+
+build() {
+ svn co ${_svntrunk} ${_svnmod}
+
+ msg 'SVN checkout or server timeout'
+ msg 'Building sofware...'
+
+ cd qwtpolar/
+ sed -i -e 's/$${QWT_POLAR_INSTALL_PREFIX}\/doc/\/usr\/share\/doc\/qwt\//' qwtpolarconfig.pri
+ sed -i -e 's/$${QWT_POLAR_INSTALL_PREFIX}\/include/\/usr\/include\/qwt\//' qwtpolarconfig.pri
+ sed -i -e 's/$${QWT_POLAR_INSTALL_PREFIX}\/lib/\/usr\/lib\//' qwtpolarconfig.pri
+ sed -i -e 's/$${QWT_POLAR_INSTALL_PREFIX}\/features/\/usr\/share\/qwt\/features\//' qwtpolarconfig.pri
+ sed -i -e 's/^.*QwtPolarDesigner//' qwtpolarconfig.pri
+ sed -i -e 's/^.*QwtPolarExamples//' qwtpolarconfig.pri
+ echo "INCLUDEPATH += /usr/include/qwt" >> qwtpolarbuild.pri
+
+ qmake
+
+ make
+}
+
+package() {
+ cd qwtpolar
+
+ make INSTALL_ROOT=${pkgdir} install
+
+ install -d ${pkgdir}/usr/share/licenses/qwtpolar-svn
+ install -m644 COPYING \
+ ${pkgdir}/usr/share/licenses/qwtpolar-svn
+}
diff --git a/community-testing/exim/ChangeLog b/community-testing/exim/ChangeLog
new file mode 100644
index 000000000..16eab50c2
--- /dev/null
+++ b/community-testing/exim/ChangeLog
@@ -0,0 +1,26 @@
+2011-07-15 Angel Velasquez <angvp@archlinux.org>
+ * Rebuilt without tcp_wrappers
+ * Fixing logrotate issue FS#25094
+ * ChangeLog file changed name from exim.changelog to ChangeLog
+
+2011-06-16 Angel Velasquez <angvp@archlinux.org>
+ * Rebuilt against db 5.2.28
+
+2010-05-09 Angel Velasquez <angvp@archlinux.org>
+ * Updated to 4.76
+ * Removed previous patch since is no longer needed
+ * Removed newaliases script FS#22744
+ * Removed sudo dependency
+
+2010-05-07 Angel Velasquez <angvp@archlinux.org>
+ * Adding patch for security issue see: http://goo.gl/QBict
+
+2010-05-06 Angel Velasquez <angvp@archlinux.org>
+ * Setting sticky id to deliver mail. Closes FS#24109
+
+2010-04-30 Angel Velasquez <angvp@archlinux.org>
+ * exim 4.75
+ * Config updated with the aliases path. Closes FS#22743
+ * Removed sed hackings and added a exim.Makefile . Closes FS#22744
+ * Replaced creation of the user at build time. Closes FS#22745
+
diff --git a/community-testing/exim/PKGBUILD b/community-testing/exim/PKGBUILD
new file mode 100644
index 000000000..536afe51d
--- /dev/null
+++ b/community-testing/exim/PKGBUILD
@@ -0,0 +1,74 @@
+# $Id: PKGBUILD 51832 2011-07-16 03:09:57Z angvp $
+# Maintainer: Angel Velasquez <angvp@archlinux.org>
+# Maintainer: judd <jvinet@zeroflux.org>
+pkgname=exim
+pkgver=4.76
+pkgrel=3
+pkgdesc="A Message Transfer Agent"
+arch=(i686 x86_64)
+url="http://www.exim.org/"
+license=('GPL')
+backup=(etc/mail/aliases etc/mail/exim.conf \
+ etc/logrotate.d/exim etc/conf.d/exim)
+install=exim.install
+changelog=ChangeLog
+depends=('db' 'pcre' 'pam' 'openssl' 'libldap')
+provides=('smtp-server')
+conflicts=('smtp-server')
+options=('!makeflags')
+source=(ftp://mirrors.24-7-solutions.net/pub/exim/ftp/exim/exim4/exim-${pkgver}.tar.bz2
+ aliases
+ exim
+ exim.logrotate
+ exim.conf.d
+ exim.Makefile
+ )
+md5sums=('58e784b33c7a2ab335ec6400346d6362'
+ '4874006f0585253ddab027d441009757'
+ '9aed772e87223213e8da9ca5e7376869'
+ 'e18a535218718c5eb394ed5c9296fe06'
+ 'b75fe4c6e960a59a25b5f51e8f61ba3a'
+ '61e76543476f52f136c1d6c80ac1c5a1')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ sed -i 's|tail -1|tail -n -1|g' scripts/Configure-config.h
+ # Make some configuration changes
+ cp ${srcdir}/${pkgname}.Makefile Local/Makefile
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ install -D -m644 ../exim.logrotate ${pkgdir}/etc/logrotate.d/exim
+ install -D -m644 ../exim.conf.d ${pkgdir}/etc/conf.d/exim
+ install -D -m644 doc/exim.8 ${pkgdir}/usr/share/man/man8/exim.8
+ install -D -m755 ../exim ${pkgdir}/etc/rc.d/exim
+ mkdir -p ${pkgdir}/var/spool/exim/db ${pkgdir}/etc/mail \
+ ${pkgdir}/var/log/exim ${pkgdir}/usr/{lib,sbin}
+ chmod 770 ${pkgdir}/var/spool/exim ${pkgdir}/var/spool/exim/db ${pkgdir}/var/log/exim
+ cd build-Linux-*
+ for i in exicyclog exim_checkaccess exim_dumpdb exim_lock\
+ exim_tidydb exipick exiqsumm exigrep exim_dbmbuild exim\
+ exim_fixdb eximstats exinext exiqgrep exiwhat
+ do
+ install -m 0755 $i ${pkgdir}/usr/sbin
+ done
+
+ cd ${srcdir}/exim-${pkgver}/src
+ sed "s|/etc/aliases|/etc/mail/aliases|g" configure.default | \
+ sed "s|SYSTEM_ALIASES_FILE|/etc/mail/aliases|g" \
+ >${pkgdir}/etc/mail/exim.conf
+
+ cp ${srcdir}/aliases ${pkgdir}/etc/mail
+ cd ${pkgdir}/usr/sbin
+ for i in mailq rmail rsmtp runq sendmail
+ do
+ ln -s exim $i
+ done
+ # fhs compliancy
+ ln -s ../sbin/exim ../lib/sendmail
+
+ mkdir -p ${pkgdir}/etc/rc.d
+ cp ${srcdir}/exim ${pkgdir}/etc/rc.d
+}
diff --git a/community-testing/exim/aliases b/community-testing/exim/aliases
new file mode 100644
index 000000000..5a76ff7d5
--- /dev/null
+++ b/community-testing/exim/aliases
@@ -0,0 +1,35 @@
+#
+# /etc/mail/aliases
+#
+# NOTE: Make sure you run 'newaliases' after modifying this file
+#
+
+# Basic system aliases -- these MUST be present.
+MAILER-DAEMON: postmaster
+postmaster: root
+hostmaster: root
+webmaster: hostmaster
+ftpmaster: hostmaster
+admin: hostmaster
+administrator: hostmaster
+
+# General redirections for pseudo accounts.
+bin: root
+daemon: root
+games: root
+ingres: root
+nobody: root
+system: root
+toor: root
+uucp: root
+
+# Well-known aliases.
+manager: root
+dumper: root
+operator: root
+
+# trap decode to catch security attacks
+decode: root
+
+# Person who should get root's mail
+#root:
diff --git a/community-testing/exim/exim b/community-testing/exim/exim
new file mode 100755
index 000000000..8e9640b32
--- /dev/null
+++ b/community-testing/exim/exim
@@ -0,0 +1,42 @@
+#!/bin/bash
+
+# source application-specific settings
+[ -f /etc/conf.d/exim ] && . /etc/conf.d/exim
+
+# general config
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pidof -o %PPID /usr/sbin/exim`
+
+case "$1" in
+ start)
+ stat_busy "Starting Exim"
+ [ -z "$PID" ] && /usr/sbin/exim $EXIM_ARGS
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon exim
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping Exim"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm /var/run/exim.pid
+ rm_daemon exim
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 2
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/community-testing/exim/exim.Makefile b/community-testing/exim/exim.Makefile
new file mode 100644
index 000000000..125f87dfb
--- /dev/null
+++ b/community-testing/exim/exim.Makefile
@@ -0,0 +1,1227 @@
+# $Cambridge: exim/src/src/EDITME,v 1.27 2010/06/12 15:21:25 jetmore Exp $
+
+##################################################
+# The Exim mail transport agent #
+##################################################
+
+# This is the template for Exim's main build-time configuration file. It
+# contains settings that are independent of any operating system. These are
+# things that are mostly sysadmin choices. The items below are divided into
+# those you must specify, those you probably want to specify, those you might
+# often want to specify, and those that you almost never need to mention.
+
+# Edit this file and save the result to a file called Local/Makefile within the
+# Exim distribution directory before running the "make" command.
+
+# Things that depend on the operating system have default settings in
+# OS/Makefile-Default, but these are overridden for some OS by files called
+# called OS/Makefile-<osname>. You can further override these by creating files
+# called Local/Makefile-<osname>, where "<osname>" stands for the name of your
+# operating system - look at the names in the OS directory to see which names
+# are recognized.
+
+# However, if you are building Exim for a single OS only, you don't need to
+# worry about setting up Local/Makefile-<osname>. Any build-time configuration
+# settings you require can in fact be placed in the one file called
+# Local/Makefile. It is only if you are building for several OS from the same
+# source files that you need to worry about splitting off your own OS-dependent
+# settings into separate files. (There's more explanation about how this all
+# works in the toplevel README file, under "Modifying the building process", as
+# well as in the Exim specification.)
+
+# One OS-specific thing that may need to be changed is the command for running
+# the C compiler; the overall default is gcc, but some OS Makefiles specify cc.
+# You can override anything that is set by putting CC=whatever in your
+# Local/Makefile.
+
+# NOTE: You should never need to edit any of the distributed Makefiles; all
+# overriding can be done in your Local/Makefile(s). This will make it easier
+# for you when the next release comes along.
+
+# The location of the X11 libraries is something else that is quite variable
+# even between different versions of the same operating system (and indeed
+# there are different versions of X11 as well, of course). The four settings
+# concerned here are X11, XINCLUDE, XLFLAGS (linking flags) and X11_LD_LIB
+# (dynamic run-time library). You need not worry about X11 unless you want to
+# compile the Exim monitor utility. Exim itself does not use X11.
+
+# Another area of variability between systems is the type and location of the
+# DBM library package. Exim has support for ndbm, gdbm, tdb, and Berkeley DB.
+# By default the code assumes ndbm; this often works with gdbm or DB, provided
+# they are correctly installed, via their compatibility interfaces. However,
+# Exim can also be configured to use the native calls for Berkeley DB (obsolete
+# versions 1.85, 2.x, 3.x, or the current 4.x version) and also for gdbm.
+
+# For some operating systems, a default DBM library (other than ndbm) is
+# selected by a setting in the OS-specific Makefile. Most modern OS now have
+# a DBM library installed as standard, and in many cases this will be selected
+# for you by the OS-specific configuration. If Exim compiles without any
+# problems, you probably do not have to worry about the DBM library. If you
+# do want or need to change it, you should first read the discussion in the
+# file doc/dbm.discuss.txt, which also contains instructions for testing Exim's
+# interface to the DBM library.
+
+# In Local/Makefiles blank lines and lines starting with # are ignored. It is
+# also permitted to use the # character to add a comment to a setting, for
+# example
+#
+# EXIM_GID=42 # the "mail" group
+#
+# However, with some versions of "make" this works only if there is no white
+# space between the end of the setting and the #, so perhaps it is best
+# avoided. A consequence of this facility is that it is not possible to have
+# the # character present in any setting, but I can't think of any cases where
+# this would be wanted.
+###############################################################################
+
+
+
+###############################################################################
+# THESE ARE THINGS YOU MUST SPECIFY #
+###############################################################################
+
+# Exim will not build unless you specify BIN_DIRECTORY, CONFIGURE_FILE, and
+# EXIM_USER. You also need EXIM_GROUP if EXIM_USER specifies a uid by number.
+
+# If you don't specify SPOOL_DIRECTORY, Exim won't fail to build. However, it
+# really is a very good idea to specify it here rather than at run time. This
+# is particularly true if you let the logs go to their default location in the
+# spool directory, because it means that the location of the logs is known
+# before Exim has read the run time configuration file.
+
+#------------------------------------------------------------------------------
+# BIN_DIRECTORY defines where the exim binary will be installed by "make
+# install". The path is also used internally by Exim when it needs to re-invoke
+# itself, either to send an error message, or to recover root privilege. Exim's
+# utility binaries and scripts are also installed in this directory. There is
+# no "standard" place for the binary directory. Some people like to keep all
+# the Exim files under one directory such as /usr/exim; others just let the
+# Exim binaries go into an existing directory such as /usr/sbin or
+# /usr/local/sbin. The installation script will try to create this directory,
+# and any superior directories, if they do not exist.
+
+BIN_DIRECTORY=/usr/sbin
+
+
+#------------------------------------------------------------------------------
+# CONFIGURE_FILE defines where Exim's run time configuration file is to be
+# found. It is the complete pathname for the file, not just a directory. The
+# location of all other run time files and directories can be changed in the
+# run time configuration file. There is a lot of variety in the choice of
+# location in different OS, and in the preferences of different sysadmins. Some
+# common locations are in /etc or /etc/mail or /usr/local/etc or
+# /usr/local/etc/mail. Another possibility is to keep all the Exim files under
+# a single directory such as /usr/exim. Whatever you choose, the installation
+# script will try to make the directory and any superior directories if they
+# don't exist. It will also install a default runtime configuration if this
+# file does not exist.
+
+CONFIGURE_FILE=/etc/mail/exim.conf
+
+# It is possible to specify a colon-separated list of files for CONFIGURE_FILE.
+# In this case, Exim will use the first of them that exists when it is run.
+# However, if a list is specified, the installation script no longer tries to
+# make superior directories or to install a default runtime configuration.
+
+
+#------------------------------------------------------------------------------
+# The Exim binary must normally be setuid root, so that it starts executing as
+# root, but (depending on the options with which it is called) it does not
+# always need to retain the root privilege. These settings define the user and
+# group that is used for Exim processes when they no longer need to be root. In
+# particular, this applies when receiving messages and when doing remote
+# deliveries. (Local deliveries run as various non-root users, typically as the
+# owner of a local mailbox.) Specifying these values as root is not supported.
+
+EXIM_USER=ref:exim
+
+# If you specify EXIM_USER as a name, this is looked up at build time, and the
+# uid number is built into the binary. However, you can specify that this
+# lookup is deferred until runtime. In this case, it is the name that is built
+# into the binary. You can do this by a setting of the form:
+
+# EXIM_USER=ref:exim
+
+# In other words, put "ref:" in front of the user name. If you set EXIM_USER
+# like this, any value specified for EXIM_GROUP is also passed "by reference".
+# Although this costs a bit of resource at runtime, it is convenient to use
+# this feature when building binaries that are to be run on multiple systems
+# where the name may refer to different uids. It also allows you to build Exim
+# on a system where there is no Exim user defined.
+
+# If the setting of EXIM_USER is numeric (e.g. EXIM_USER=42), there must
+# also be a setting of EXIM_GROUP. If, on the other hand, you use a name
+# for EXIM_USER (e.g. EXIM_USER=exim), you don't need to set EXIM_GROUP unless
+# you want to use a group other than the default group for the given user.
+
+# EXIM_GROUP=
+
+# Many sites define a user called "exim", with an appropriate default group,
+# and use
+#
+# EXIM_USER=exim
+#
+# while leaving EXIM_GROUP unspecified (commented out).
+
+
+#------------------------------------------------------------------------------
+# SPOOL_DIRECTORY defines the directory where all the data for messages in
+# transit is kept. It is strongly recommended that you define it here, though
+# it is possible to leave this till the run time configuration.
+
+# Exim creates the spool directory if it does not exist. The owner and group
+# will be those defined by EXIM_USER and EXIM_GROUP, and this also applies to
+# all the files and directories that are created in the spool directory.
+
+# Almost all installations choose this:
+
+SPOOL_DIRECTORY=/var/spool/exim
+
+
+
+###############################################################################
+# THESE ARE THINGS YOU PROBABLY WANT TO SPECIFY #
+###############################################################################
+
+# If you need extra header file search paths on all compiles, put the -I
+# options in INCLUDE. If you want the extra searches only for certain
+# parts of the build, see more specific xxx_INCLUDE variables below.
+
+# INCLUDE=-I/example/include
+
+# You need to specify some routers and transports if you want the Exim that you
+# are building to be capable of delivering mail. You almost certainly need at
+# least one type of lookup. You should consider whether you want to build
+# the Exim monitor or not.
+
+
+#------------------------------------------------------------------------------
+# These settings determine which individual router drivers are included in the
+# Exim binary. There are no defaults in the code; those routers that are wanted
+# must be defined here by setting the appropriate variables to the value "yes".
+# Including a router in the binary does not cause it to be used automatically.
+# It has also to be configured in the run time configuration file. By
+# commenting out those you know you don't want to use, you can make the binary
+# a bit smaller. If you are unsure, leave all of these included for now.
+
+ROUTER_ACCEPT=yes
+ROUTER_DNSLOOKUP=yes
+ROUTER_IPLITERAL=yes
+ROUTER_MANUALROUTE=yes
+ROUTER_QUERYPROGRAM=yes
+ROUTER_REDIRECT=yes
+
+# This one is very special-purpose, so is not included by default.
+
+# ROUTER_IPLOOKUP=yes
+
+
+#------------------------------------------------------------------------------
+# These settings determine which individual transport drivers are included in
+# the Exim binary. There are no defaults; those transports that are wanted must
+# be defined here by setting the appropriate variables to the value "yes".
+# Including a transport in the binary does not cause it to be used
+# automatically. It has also to be configured in the run time configuration
+# file. By commenting out those you know you don't want to use, you can make
+# the binary a bit smaller. If you are unsure, leave all of these included for
+# now.
+
+TRANSPORT_APPENDFILE=yes
+TRANSPORT_AUTOREPLY=yes
+TRANSPORT_PIPE=yes
+TRANSPORT_SMTP=yes
+
+# This one is special-purpose, and commonly not required, so it is not
+# included by default.
+
+TRANSPORT_LMTP=yes
+
+
+#------------------------------------------------------------------------------
+# The appendfile transport can write messages to local mailboxes in a number
+# of formats. The code for three specialist formats, maildir, mailstore, and
+# MBX, is included only when requested. If you do not know what this is about,
+# leave these settings commented out.
+
+SUPPORT_MAILDIR=yes
+# SUPPORT_MAILSTORE=yes
+# SUPPORT_MBX=yes
+
+
+#------------------------------------------------------------------------------
+# See below for dynamic lookup modules.
+# LOOKUP_MODULE_DIR=/usr/lib/exim/lookups/
+# If not using package management but using this anyway, then think about how
+# you perform upgrades and revert them. You should consider the benefit of
+# embedding the Exim version number into LOOKUP_MODULE_DIR, so that you can
+# maintain two concurrent sets of modules.
+
+# To build a module dynamically, you'll need to define CFLAGS_DYNAMIC for
+# your platform. Eg:
+# CFLAGS_DYNAMIC=-shared -rdynamic
+# CFLAGS_DYNAMIC=-shared -rdynamic -fPIC
+
+#------------------------------------------------------------------------------
+# These settings determine which file and database lookup methods are included
+# in the binary. See the manual chapter entitled "File and database lookups"
+# for discussion. DBM and lsearch (linear search) are included by default. If
+# you are unsure about the others, leave them commented out for now.
+# LOOKUP_DNSDB does *not* refer to general mail routing using the DNS. It is
+# for the specialist case of using the DNS as a general database facility (not
+# common).
+# If set to "2" instead of "yes" then the corresponding lookup will be
+# built as a module and must be installed into LOOKUP_MODULE_DIR. You need to
+# add -export-dynamic -rdynamic to EXTRALIBS. You may also need to add -ldl to
+# EXTRALIBS so that dlopen() is available to Exim. You need to define
+# LOOKUP_MODULE_DIR above so the exim binary actually loads dynamic lookup
+# modules.
+# Also, instead of adding all the libraries/includes to LOOKUP_INCLUDE and
+# LOOKUP_LIBS, add them to the respective LOOKUP_*_INCLUDE and LOOKUP_*_LIBS
+# (where * is the name as given here in this list). That ensures that only
+# the dynamic library and not the exim binary will be linked against the
+# library.
+# NOTE: LDAP cannot be built as a module!
+
+LOOKUP_DBM=yes
+LOOKUP_LSEARCH=yes
+LOOKUP_DNSDB=yes
+
+# LOOKUP_CDB=yes
+LOOKUP_DSEARCH=yes
+# LOOKUP_IBASE=yes
+LOOKUP_LDAP=yes
+# LOOKUP_MYSQL=yes
+# LOOKUP_NIS=yes
+# LOOKUP_NISPLUS=yes
+# LOOKUP_ORACLE=yes
+# LOOKUP_PASSWD=yes
+# LOOKUP_PGSQL=yes
+# LOOKUP_SQLITE=yes
+# LOOKUP_WHOSON=yes
+
+# These two settings are obsolete; all three lookups are compiled when
+# LOOKUP_LSEARCH is enabled. However, we retain these for backward
+# compatibility. Setting one forces LOOKUP_LSEARCH if it is not set.
+
+# LOOKUP_WILDLSEARCH=yes
+# LOOKUP_NWILDLSEARCH=yes
+
+
+#------------------------------------------------------------------------------
+# If you have set LOOKUP_LDAP=yes, you should set LDAP_LIB_TYPE to indicate
+# which LDAP library you have. Unfortunately, though most of their functions
+# are the same, there are minor differences. Currently Exim knows about four
+# LDAP libraries: the one from the University of Michigan (also known as
+# OpenLDAP 1), OpenLDAP 2, the Netscape SDK library, and the library that comes
+# with Solaris 7 onwards. Uncomment whichever of these you are using.
+
+# LDAP_LIB_TYPE=OPENLDAP1
+LDAP_LIB_TYPE=OPENLDAP2
+# LDAP_LIB_TYPE=NETSCAPE
+# LDAP_LIB_TYPE=SOLARIS
+
+# If you don't set any of these, Exim assumes the original University of
+# Michigan (OpenLDAP 1) library.
+
+
+#------------------------------------------------------------------------------
+# The PCRE library is required for exim. There is no longer an embedded
+# version of the PCRE library included with the source code, instead you
+# must use a system library or build your own copy of PCRE.
+# In either case you must specify the library link info here. If the
+# PCRE header files are not in the standard search path you must also
+# modify the INCLUDE path (above)
+# The default setting of PCRE_LIBS should work on the vast majority of
+# systems
+
+PCRE_LIBS=-lpcre
+
+
+#------------------------------------------------------------------------------
+# Additional libraries and include directories may be required for some
+# lookup styles (e.g. LDAP, MYSQL or PGSQL). LOOKUP_LIBS is included only on
+# the command for linking Exim itself, not on any auxiliary programs. You
+# don't need to set LOOKUP_INCLUDE if the relevant directories are already
+# specified in INCLUDE. The settings below are just examples; -lpq is for
+# PostgreSQL, -lgds is for Interbase, -lsqlite3 is for SQLite.
+
+# LOOKUP_INCLUDE=-I /usr/local/ldap/include -I /usr/local/mysql/include -I /usr/local/pgsql/include
+# LOOKUP_LIBS=-L/usr/local/lib -lldap -llber -lmysqlclient -lpq -lgds -lsqlite3
+
+
+#------------------------------------------------------------------------------
+# Compiling the Exim monitor: If you want to compile the Exim monitor, a
+# program that requires an X11 display, then EXIM_MONITOR should be set to the
+# value "eximon.bin". Comment out this setting to disable compilation of the
+# monitor. The locations of various X11 directories for libraries and include
+# files are defaulted in the OS/Makefile-Default file, but can be overridden in
+# local OS-specific make files.
+
+
+
+
+#------------------------------------------------------------------------------
+# Compiling Exim with content scanning support: If you want to compile Exim
+# with support for message body content scanning, set WITH_CONTENT_SCAN to
+# the value "yes". This will give you malware and spam scanning in the DATA ACL,
+# and the MIME ACL. Please read the documentation to learn more about these
+# features.
+
+WITH_CONTENT_SCAN=yes
+
+# If you want to use the deprecated "demime" condition in the DATA ACL,
+# uncomment the line below. Doing so will also explicitly turn on the
+WITH_CONTENT_SCAN=yes
+# the "demime" condition.
+
+WITH_OLD_DEMIME=yes
+
+# If you're using ClamAV and are backporting fixes to an old version, instead
+# of staying current (which is the more usual approach) then you may need to
+# use an older API which uses a STREAM command, now deprecated, instead of
+# zINSTREAM. If you need to set this, please let the Exim developers know, as
+# if nobody reports a need for it, we'll remove this option and clean up the
+# code. zINSTREAM was introduced with ClamAV 0.95.
+#
+# WITH_OLD_CLAMAV_STREAM=yes
+
+#------------------------------------------------------------------------------
+# By default Exim includes code to support DKIM (DomainKeys Identified
+# Mail, RFC4871) signing and verification. Verification of signatures is
+# turned on by default. See the spec for information on conditionally
+# disabling it. To disable the inclusion of the entire feature, set
+# DISABLE_DKIM to "yes"
+
+# DISABLE_DKIM=yes
+
+
+#------------------------------------------------------------------------------
+# Compiling Exim with experimental features. These are documented in
+# experimental-spec.txt. "Experimental" means that the way these features are
+# implemented may still change. Backward compatibility is not guaranteed.
+
+# Uncomment the following lines to add SPF support. You need to have libspf2
+# installed on your system (www.libspf2.org). Depending on where it is installed
+# you may have to edit the CFLAGS and LDFLAGS lines.
+
+# EXPERIMENTAL_SPF=yes
+# CFLAGS += -I/usr/local/include
+# LDFLAGS += -lspf2
+
+# Uncomment the following lines to add SRS (Sender rewriting scheme) support.
+# You need to have libsrs_alt installed on your system (srs.mirtol.com).
+# Depending on where it is installed you may have to edit the CFLAGS and
+# LDFLAGS lines.
+
+# EXPERIMENTAL_SRS=yes
+# CFLAGS += -I/usr/local/include
+# LDFLAGS += -lsrs_alt
+
+# Uncomment the following lines to add Brightmail AntiSpam support. You need
+# to have the Brightmail client SDK installed. Please check the experimental
+# documentation for implementation details. You need to edit the CFLAGS and
+# LDFLAGS lines.
+
+# EXPERIMENTAL_BRIGHTMAIL=yes
+# CFLAGS += -I/opt/brightmail/bsdk-6.0/include
+# LDFLAGS += -lxml2_single -lbmiclient_single -L/opt/brightmail/bsdk-6.0/lib
+
+
+
+###############################################################################
+# THESE ARE THINGS YOU MIGHT WANT TO SPECIFY #
+###############################################################################
+
+# The items in this section are those that are commonly changed according to
+# the sysadmin's preferences, but whose defaults are often acceptable. The
+# first five are concerned with security issues, where differing levels of
+# paranoia are appropriate in different environments. Sysadmins also vary in
+# their views on appropriate levels of defence in these areas. If you do not
+# understand these issues, go with the defaults, which are used by many sites.
+
+
+#------------------------------------------------------------------------------
+# Although Exim is normally a setuid program, owned by root, it refuses to run
+# local deliveries as root by default. There is a runtime option called
+# "never_users" which lists the users that must never be used for local
+# deliveries. There is also the setting below, which provides a list that
+# cannot be overridden at runtime. This guards against problems caused by
+# unauthorized changes to the runtime configuration. You are advised not to
+# remove "root" from this option, but you can add other users if you want. The
+# list is colon-separated. It must NOT contain any spaces.
+
+# FIXED_NEVER_USERS=root:bin:daemon
+FIXED_NEVER_USERS=root
+
+
+#------------------------------------------------------------------------------
+# By default, Exim insists that its configuration file be owned by root. You
+# can specify one additional permitted owner here.
+
+# CONFIGURE_OWNER=
+
+# If the configuration file is group-writeable, Exim insists by default that it
+# is owned by root. You can specify one additional permitted group owner here.
+
+# CONFIGURE_GROUP=
+
+# If you specify CONFIGURE_OWNER or CONFIGURE_GROUP as a name, this is looked
+# up at build time, and the uid or gid number is built into the binary.
+# However, you can specify that the lookup is deferred until runtime. In this
+# case, it is the name that is built into the binary. You can do this by a
+# setting of the form:
+
+# CONFIGURE_OWNER=ref:mail
+# CONFIGURE_GROUP=ref:sysadmin
+
+# In other words, put "ref:" in front of the user or group name. Although this
+# costs a bit of resource at runtime, it is convenient to use this feature when
+# building binaries that are to be run on multiple systems where the names may
+# refer to different uids or gids. It also allows you to build Exim on a system
+# where the relevant user or group is not defined.
+
+
+#------------------------------------------------------------------------------
+# The -C option allows Exim to be run with an alternate runtime configuration
+# file. When this is used by root, root privilege is retained by the binary
+# (for any other caller including the Exim user, it is dropped). You can
+# restrict the location of alternate configurations by defining a prefix below.
+# Any file used with -C must then start with this prefix (except that /dev/null
+# is also permitted if the caller is root, because that is used in the install
+# script). If the prefix specifies a directory that is owned by root, a
+# compromise of the Exim account does not permit arbitrary alternate
+# configurations to be used. The prefix can be more restrictive than just a
+# directory (the second example).
+
+# ALT_CONFIG_PREFIX=/some/directory/
+# ALT_CONFIG_PREFIX=/some/directory/exim.conf-
+
+
+#------------------------------------------------------------------------------
+# When a user other than root uses the -C option to override the configuration
+# file (including the Exim user when re-executing Exim to regain root
+# privileges for local message delivery), this will normally cause Exim to
+# drop root privileges. The TRUSTED_CONFIG_LIST option, specifies a file which
+# contains a list of trusted configuration filenames, one per line. If the -C
+# option is used by the Exim user or by the user specified in the
+# CONFIGURE_OWNER setting, to specify a configuration file which is listed in
+# the TRUSTED_CONFIG_LIST file, then root privileges are not dropped by Exim.
+
+# TRUSTED_CONFIG_LIST=/usr/exim/trusted_configs
+
+
+#------------------------------------------------------------------------------
+# Uncommenting this option disables the use of the -D command line option,
+# which changes the values of macros in the runtime configuration file.
+# This is another protection against somebody breaking into the Exim account.
+
+# DISABLE_D_OPTION=yes
+
+
+#------------------------------------------------------------------------------
+# By contrast, you might be maintaining a system which relies upon the ability
+# to override values with -D and assumes that these will be passed through to
+# the delivery processes. As of Exim 4.73, this is no longer the case by
+# default. Going forward, we strongly recommend that you use a shim Exim
+# configuration file owned by root stored under TRUSTED_CONFIG_LIST.
+# That shim can set macros before .include'ing your main configuration file.
+#
+# As a strictly transient measure to ease migration to 4.73, the
+# WHITELIST_D_MACROS value definies a colon-separated list of macro-names
+# which are permitted to be overriden from the command-line which will be
+# honoured by the Exim user. So these are macros that can persist to delivery
+# time.
+# Examples might be -DTLS or -DSPOOL=/some/dir. The values on the
+# command-line are filtered to only permit: [A-Za-z0-9_/.-]*
+#
+# This option is highly likely to be removed in a future release. It exists
+# only to make 4.73 as easy as possible to migrate to. If you use it, we
+# encourage you to schedule time to rework your configuration to not depend
+# upon it. Most people should not need to use this.
+#
+# By default, no macros are whitelisted for -D usage.
+
+# WHITELIST_D_MACROS=TLS:SPOOL
+
+#------------------------------------------------------------------------------
+# Exim has support for the AUTH (authentication) extension of the SMTP
+# protocol, as defined by RFC 2554. If you don't know what SMTP authentication
+# is, you probably won't want to include this code, so you should leave these
+# settings commented out. If you do want to make use of SMTP authentication,
+# you must uncomment at least one of the following, so that appropriate code is
+# included in the Exim binary. You will then need to set up the run time
+# configuration to make use of the mechanism(s) selected.
+
+AUTH_CRAM_MD5=yes
+# AUTH_CYRUS_SASL=yes
+AUTH_DOVECOT=yes
+AUTH_PLAINTEXT=yes
+AUTH_SPA=yes
+
+
+#------------------------------------------------------------------------------
+# If you specified AUTH_CYRUS_SASL above, you should ensure that you have the
+# Cyrus SASL library installed before trying to build Exim, and you probably
+# want to uncomment the following line:
+
+# AUTH_LIBS=-lsasl2
+
+
+#------------------------------------------------------------------------------
+# When Exim is decoding MIME "words" in header lines, most commonly for use
+# in the $header_xxx expansion, it converts any foreign character sets to the
+# one that is set in the headers_charset option. The default setting is
+# defined by this setting:
+
+HEADERS_CHARSET="ISO-8859-1"
+
+# If you are going to make use of $header_xxx expansions in your configuration
+# file, or if your users are going to use them in filter files, and the normal
+# character set on your host is something other than ISO-8859-1, you might
+# like to specify a different default here. This value can be overridden in
+# the runtime configuration, and it can also be overridden in individual filter
+# files.
+#
+# IMPORTANT NOTE: The iconv() function is needed for character code
+# conversions. Please see the next item...
+
+
+#------------------------------------------------------------------------------
+# Character code conversions are possible only if the iconv() function is
+# installed on your operating system. There are two places in Exim where this
+# is relevant: (a) The $header_xxx expansion (see the previous item), and (b)
+# the Sieve filter support. For those OS where iconv() is known to be installed
+# as standard, the file in OS/Makefile-xxxx contains
+#
+# HAVE_ICONV=yes
+#
+# If you are not using one of those systems, but have installed iconv(), you
+# need to uncomment that line above. In some cases, you may find that iconv()
+# and its header file are not in the default places. You might need to use
+# something like this:
+#
+# HAVE_ICONV=yes
+# CFLAGS=-O -I/usr/local/include
+# EXTRALIBS_EXIM=-L/usr/local/lib -liconv
+#
+# but of course there may need to be other things in CFLAGS and EXTRALIBS_EXIM
+# as well.
+
+
+#------------------------------------------------------------------------------
+# The passwords for user accounts are normally encrypted with the crypt()
+# function. Comparisons with encrypted passwords can be done using Exim's
+# "crypteq" expansion operator. (This is commonly used as part of the
+# configuration of an authenticator for use with SMTP AUTH.) At least one
+# operating system has an extended function called crypt16(), which uses up to
+# 16 characters of a password (the normal crypt() uses only the first 8). Exim
+# supports the use of crypt16() as well as crypt() but note the warning below.
+
+# You can always indicate a crypt16-encrypted password by preceding it with
+# "{crypt16}". If you want the default handling (without any preceding
+# indicator) to use crypt16(), uncomment the following line:
+
+# DEFAULT_CRYPT=crypt16
+
+# If you do that, you can still access the basic crypt() function by preceding
+# an encrypted password with "{crypt}". For more details, see the description
+# of the "crypteq" condition in the manual chapter on string expansions.
+
+# Some operating systems do not include a crypt16() function, so Exim has one
+# of its own, which it uses unless HAVE_CRYPT16 is defined. Normally, that will
+# be set in an OS-specific Makefile for the OS that have such a function, so
+# you should not need to bother with it.
+
+# *** WARNING *** WARNING *** WARNING *** WARNING *** WARNING ***
+# It turns out that the above is not entirely accurate. As well as crypt16()
+# there is a function called bigcrypt() that some operating systems have. This
+# may or may not use the same algorithm, and both of them may be different to
+# Exim's built-in crypt16() that is used unless HAVE_CRYPT16 is defined.
+#
+# However, since there is now a move away from the traditional crypt()
+# functions towards using SHA1 and other algorithms, tidying up this area of
+# Exim is seen as very low priority. In practice, if you need to, you can
+# define DEFAULT_CRYPT to the name of any function that has the same interface
+# as the traditional crypt() function.
+# *** WARNING *** WARNING *** WARNING *** WARNING *** WARNING ***
+
+
+#------------------------------------------------------------------------------
+# Exim can be built to support the SMTP STARTTLS command, which implements
+# Transport Layer Security using SSL (Secure Sockets Layer). To do this, you
+# must install the OpenSSL library package or the GnuTLS library. Exim contains
+# no cryptographic code of its own. Uncomment the following lines if you want
+# to build Exim with TLS support. If you don't know what this is all about,
+# leave these settings commented out.
+
+# This setting is required for any TLS support (either OpenSSL or GnuTLS)
+SUPPORT_TLS=yes
+
+# Uncomment this setting if you are using OpenSSL
+TLS_LIBS=-L/usr/lib -lssl -lcrypto
+
+# Uncomment these settings if you are using GnuTLS
+# USE_GNUTLS=yes
+TLS_LIBS=-L/usr/lib -lssl -lcrypto
+
+# If you are running Exim as a server, note that just building it with TLS
+# support is not all you need to do. You also need to set up a suitable
+# certificate, and tell Exim about it by means of the tls_certificate
+# and tls_privatekey run time options. You also need to set tls_advertise_hosts
+# to specify the hosts to which Exim advertises TLS support. On the other hand,
+# if you are running Exim only as a client, building it with TLS support
+# is all you need to do.
+
+# Additional libraries and include files are required for both OpenSSL and
+# GnuTLS. The TLS_LIBS settings above assume that the libraries are installed
+# with all your other libraries. If they are in a special directory, you may
+# need something like
+
+TLS_LIBS=-L/usr/lib -lssl -lcrypto
+# or
+TLS_LIBS=-L/usr/lib -lssl -lcrypto
+
+TLS_LIBS=-L/usr/lib -lssl -lcrypto
+# auxiliary programs. If the include files are not in a standard place, you can
+# set TLS_INCLUDE to specify where they are, for example:
+
+TLS_INCLUDE=-I/usr/include/openssl
+# or
+TLS_INCLUDE=-I/usr/include/openssl
+
+# You don't need to set TLS_INCLUDE if the relevant directories are already
+# specified in INCLUDE.
+
+
+#------------------------------------------------------------------------------
+# The default distribution of Exim contains only the plain text form of the
+# documentation. Other forms are available separately. If you want to install
+# the documentation in "info" format, first fetch the Texinfo documentation
+# sources from the ftp directory and unpack them, which should create files
+# with the extension "texinfo" in the doc directory. You may find that the
+# version number of the texinfo files is different to your Exim version number,
+# because the main documentation isn't updated as often as the code. For
+# example, if you have Exim version 4.43, the source tarball upacks into a
+# directory called exim-4.43, but the texinfo tarball unpacks into exim-4.40.
+# In this case, move the contents of exim-4.40/doc into exim-4.43/doc after you
+# have unpacked them. Then set INFO_DIRECTORY to the location of your info
+# directory. This varies from system to system, but is often /usr/share/info.
+# Once you have done this, "make install" will build the info files and
+# install them in the directory you have defined.
+
+# INFO_DIRECTORY=/usr/share/info
+
+
+#------------------------------------------------------------------------------
+# Exim log directory and files: Exim creates several log files inside a
+# single log directory. You can define the directory and the form of the
+# log file name here. If you do not set anything, Exim creates a directory
+# called "log" inside its spool directory (see SPOOL_DIRECTORY above) and uses
+# the filenames "mainlog", "paniclog", and "rejectlog". If you want to change
+# this, you can set LOG_FILE_PATH to a path name containing one occurrence of
+# %s. This will be replaced by one of the strings "main", "panic", or "reject"
+# to form the final file names. Some installations may want something like this:
+
+LOG_FILE_PATH=/var/log/exim/%slog
+
+# which results in files with names /var/log/exim_mainlog, etc. The directory
+# in which the log files are placed must exist; Exim does not try to create
+# it for itself. It is also your responsibility to ensure that Exim is capable
+# of writing files using this path name. The Exim user (see EXIM_USER above)
+# must be able to create and update files in the directory you have specified.
+
+# You can also configure Exim to use syslog, instead of or as well as log
+# files, by settings such as these
+
+# LOG_FILE_PATH=syslog
+# LOG_FILE_PATH=syslog:/var/log/exim_%slog
+
+# The first of these uses only syslog; the second uses syslog and also writes
+# to log files. Do not include white space in such a setting as it messes up
+# the building process.
+
+
+#------------------------------------------------------------------------------
+# When logging to syslog, the following option caters for syslog replacements
+# that are able to accept log entries longer than the 1024 characters allowed
+# by RFC 3164. It is up to you to make sure your syslog daemon can handle this.
+# Non-printable characters are usually unacceptable regardless, so log entries
+# are still split on newline characters.
+
+# SYSLOG_LONG_LINES=yes
+
+# If you are not interested in the process identifier (pid) of the Exim that is
+# making the call to syslog, then comment out the following line.
+
+SYSLOG_LOG_PID=yes
+
+
+#------------------------------------------------------------------------------
+# Cycling log files: this variable specifies the maximum number of old
+# log files that are kept by the exicyclog log-cycling script. You don't have
+# to use exicyclog. If your operating system has other ways of cycling log
+# files, you can use them instead. The exicyclog script isn't run by default;
+# you have to set up a cron job for it if you want it.
+
+EXICYCLOG_MAX=10
+
+
+#------------------------------------------------------------------------------
+# The compress command is used by the exicyclog script to compress old log
+# files. Both the name of the command and the suffix that it adds to files
+# need to be defined here. See also the EXICYCLOG_MAX configuration.
+
+COMPRESS_COMMAND=/bin/gzip
+COMPRESS_SUFFIX=gz
+
+
+#------------------------------------------------------------------------------
+# If the exigrep utility is fed compressed log files, it tries to uncompress
+# them using this command.
+
+ZCAT_COMMAND=/bin/zcat
+
+
+#------------------------------------------------------------------------------
+# Compiling in support for embedded Perl: If you want to be able to
+# use Perl code in Exim's string manipulation language and you have Perl
+# (version 5.004 or later) installed, set EXIM_PERL to perl.o. Using embedded
+# Perl costs quite a lot of resources. Only do this if you really need it.
+
+# EXIM_PERL=perl.o
+
+
+#------------------------------------------------------------------------------
+# Support for dynamically-loaded string expansion functions via ${dlfunc. If
+# you are using gcc the dynamically-loaded object must be compiled with the
+# -shared option, and you will need to add -export-dynamic to EXTRALIBS so
+# that the local_scan API is made available by the linker. You may also need
+# to add -ldl to EXTRALIBS so that dlopen() is available to Exim.
+
+# EXPAND_DLFUNC=yes
+
+
+#------------------------------------------------------------------------------
+# Exim has support for PAM (Pluggable Authentication Modules), a facility
+# which is available in the latest releases of Solaris and in some GNU/Linux
+# distributions (see http://ftp.kernel.org/pub/linux/libs/pam/). The Exim
+# support, which is intended for use in conjunction with the SMTP AUTH
+# facilities, is included only when requested by the following setting:
+
+SUPPORT_PAM=yes
+
+# You probably need to add -lpam to EXTRALIBS, and in some releases of
+# GNU/Linux -ldl is also needed.
+
+
+#------------------------------------------------------------------------------
+# Support for authentication via Radius is also available. The Exim support,
+# which is intended for use in conjunction with the SMTP AUTH facilities,
+# is included only when requested by setting the following parameter to the
+# location of your Radius configuration file:
+
+# RADIUS_CONFIG_FILE=/etc/radiusclient/radiusclient.conf
+# RADIUS_CONFIG_FILE=/etc/radius.conf
+
+# If you have set RADIUS_CONFIG_FILE, you should also set one of these to
+# indicate which RADIUS library is used:
+
+# RADIUS_LIB_TYPE=RADIUSCLIENT
+# RADIUS_LIB_TYPE=RADIUSCLIENTNEW
+# RADIUS_LIB_TYPE=RADLIB
+
+# RADIUSCLIENT is the radiusclient library; you probably need to add
+# -lradiusclient to EXTRALIBS.
+#
+# The API for the radiusclient library was changed at release 0.4.0.
+# Unfortunately, the header file does not define a version number that clients
+# can use to support both the old and new APIs. If you are using version 0.4.0
+# or later of the radiusclient library, you should use RADIUSCLIENTNEW.
+#
+# RADLIB is the Radius library that comes with FreeBSD (the header file is
+# called radlib.h); you probably need to add -lradius to EXTRALIBS.
+#
+# If you do not set RADIUS_LIB_TYPE, Exim assumes the radiusclient library,
+# using the original API.
+
+
+#------------------------------------------------------------------------------
+# Support for authentication via the Cyrus SASL pwcheck daemon is available.
+# Note, however, that pwcheck is now deprecated in favour of saslauthd (see
+# next item). The Exim support for pwcheck, which is intented for use in
+# conjunction with the SMTP AUTH facilities, is included only when requested by
+# setting the following parameter to the location of the pwcheck daemon's
+# socket.
+#
+# There is no need to install all of SASL on your system. You just need to run
+# ./configure --with-pwcheck, cd to the pwcheck directory within the sources,
+# make and make install. You must create the socket directory (default
+# /var/pwcheck) and chown it to exim's user and group. Once you have installed
+# pwcheck, you should arrange for it to be started by root at boot time.
+
+# CYRUS_PWCHECK_SOCKET=/var/pwcheck/pwcheck
+
+
+#------------------------------------------------------------------------------
+# Support for authentication via the Cyrus SASL saslauthd daemon is available.
+# The Exim support, which is intented for use in conjunction with the SMTP AUTH
+# facilities, is included only when requested by setting the following
+# parameter to the location of the saslauthd daemon's socket.
+#
+# There is no need to install all of SASL on your system. You just need to run
+# ./configure --with-saslauthd (and any other options you need, for example, to
+# select or deselect authentication mechanisms), cd to the saslauthd directory
+# within the sources, make and make install. You must create the socket
+# directory (default /var/state/saslauthd) and chown it to exim's user and
+# group. Once you have installed saslauthd, you should arrange for it to be
+# started by root at boot time.
+
+# CYRUS_SASLAUTHD_SOCKET=/var/state/saslauthd/mux
+
+
+#------------------------------------------------------------------------------
+# TCP wrappers: If you want to use tcpwrappers from within Exim, uncomment
+# this setting. See the manual section entitled "Use of tcpwrappers" in the
+# chapter on building and installing Exim.
+#
+USE_TCP_WRAPPERS=yes
+#
+# You may well also have to specify a local "include" file and an additional
+# library for TCP wrappers, so you probably need something like this:
+#
+USE_TCP_WRAPPERS=yes
+# CFLAGS=-O -I/usr/local/include
+# EXTRALIBS_EXIM=-L/usr/local/lib -lwrap
+#
+# but of course there may need to be other things in CFLAGS and EXTRALIBS_EXIM
+# as well.
+#
+# To use a name other than exim in the tcpwrappers config file,
+# e.g. if you're running multiple daemons with different access lists,
+# or multiple MTAs with the same access list, define
+# TCP_WRAPPERS_DAEMON_NAME accordingly
+#
+# TCP_WRAPPERS_DAEMON_NAME="exim"
+
+
+#------------------------------------------------------------------------------
+# The default action of the exim_install script (which is run by "make
+# install") is to install the Exim binary with a unique name such as
+# exim-4.43-1, and then set up a symbolic link called "exim" to reference it,
+# moving the symbolic link from any previous version. If you define NO_SYMLINK
+# (the value doesn't matter), the symbolic link is not created or moved. You
+# will then have to "turn Exim on" by setting up the link manually.
+
+# NO_SYMLINK=yes
+
+
+#------------------------------------------------------------------------------
+# Another default action of the install script is to install a default runtime
+# configuration file if one does not exist. This configuration has a router for
+# expanding system aliases. The default assumes that these aliases are kept
+# in the traditional file called /etc/aliases. If such a file does not exist,
+# the installation script creates one that contains just comments (no actual
+# aliases). The following setting can be changed to specify a different
+# location for the system alias file.
+
+SYSTEM_ALIASES_FILE=/etc/mail/aliases
+
+
+#------------------------------------------------------------------------------
+# There are some testing options (-be, -bt, -bv) that read data from the
+# standard input when no arguments are supplied. By default, the input lines
+# are read using the standard fgets() function. This does not support line
+# editing during interactive input (though the terminal's "erase" character
+# works as normal). If your operating system has the readline() function, and
+# in addition supports dynamic loading of library functions, you can cause
+# Exim to use readline() for the -be testing option (only) by uncommenting the
+# following setting. Dynamic loading is used so that the library is loaded only
+# when the -be testing option is given; by the time the loading occurs,
+# Exim has given up its root privilege and is running as the calling user. This
+# is the reason why readline() is NOT supported for -bt and -bv, because Exim
+# runs as root or as exim, respectively, for those options. When USE_READLINE
+# is "yes", as well as supporting line editing, a history of input lines in the
+# current run is maintained.
+
+# USE_READLINE=yes
+
+# You may need to add -ldl to EXTRALIBS when you set USE_READLINE=yes.
+# Note that this option adds to the size of the Exim binary, because the
+# dynamic loading library is not otherwise included.
+
+
+
+###############################################################################
+# THINGS YOU ALMOST NEVER NEED TO MENTION #
+###############################################################################
+
+# The settings in this section are available for use in special circumstances.
+# In the vast majority of installations you need not change anything below.
+
+
+#------------------------------------------------------------------------------
+# The following commands live in different places in some OS. Either the
+# ultimate default settings, or the OS-specific files should already point to
+# the right place, but they can be overridden here if necessary. These settings
+# are used when building various scripts to ensure that the correct paths are
+# used when the scripts are run. They are not used in the Makefile itself. Perl
+# is not necessary for running Exim unless you set EXIM_PERL (see above) to get
+# it embedded, but there are some utilities that are Perl scripts. If you
+# haven't got Perl, Exim will still build and run; you just won't be able to
+# use those utilities.
+
+# CHOWN_COMMAND=/usr/bin/chown
+# CHGRP_COMMAND=/usr/bin/chgrp
+# CHMOD_COMMAND=/usr/bin/chmod
+# MV_COMMAND=/bin/mv
+# RM_COMMAND=/bin/rm
+# TOUCH_COMMAND=/usr/bin/touch
+# PERL_COMMAND=/usr/bin/perl
+
+
+#------------------------------------------------------------------------------
+# The following macro can be used to change the command for building a library
+# of functions. By default the "ar" command is used, with options "cq".
+# Only in rare circumstances should you need to change this.
+
+# AR=ar cq
+
+
+#------------------------------------------------------------------------------
+# In some operating systems, the value of the TMPDIR environment variable
+# controls where temporary files are created. Exim does not make use of
+# temporary files, except when delivering to MBX mailboxes. However, if Exim
+# calls any external libraries (e.g. DBM libraries), they may use temporary
+# files, and thus be influenced by the value of TMPDIR. For this reason, when
+# Exim starts, it checks the environment for TMPDIR, and if it finds it is set,
+# it replaces the value with what is defined here. Commenting this setting
+# suppresses the check altogether.
+
+TMPDIR="/tmp"
+
+
+#------------------------------------------------------------------------------
+# The following macros can be used to change the default modes that are used
+# by the appendfile transport. In most installations the defaults are just
+# fine, and in any case, you can change particular instances of the transport
+# at run time if you want.
+
+# APPENDFILE_MODE=0600
+# APPENDFILE_DIRECTORY_MODE=0700
+# APPENDFILE_LOCKFILE_MODE=0600
+
+
+#------------------------------------------------------------------------------
+# In some installations there may be multiple machines sharing file systems,
+# where a different configuration file is required for Exim on the different
+# machines. If CONFIGURE_FILE_USE_NODE is defined, then Exim will first look
+# for a configuration file whose name is that defined by CONFIGURE_FILE,
+# with the node name obtained by uname() tacked on the end, separated by a
+# period (for example, /usr/exim/configure.host.in.some.domain). If this file
+# does not exist, then the bare configuration file name is tried.
+
+# CONFIGURE_FILE_USE_NODE=yes
+
+
+#------------------------------------------------------------------------------
+# In some esoteric configurations two different versions of Exim are run,
+# with different setuid values, and different configuration files are required
+# to handle the different cases. If CONFIGURE_FILE_USE_EUID is defined, then
+# Exim will first look for a configuration file whose name is that defined
+# by CONFIGURE_FILE, with the effective uid tacked on the end, separated by
+# a period (for eximple, /usr/exim/configure.0). If this file does not exist,
+# then the bare configuration file name is tried. In the case when both
+# CONFIGURE_FILE_USE_EUID and CONFIGURE_FILE_USE_NODE are set, four files
+# are tried: <name>.<euid>.<node>, <name>.<node>, <name>.<euid>, and <name>.
+
+# CONFIGURE_FILE_USE_EUID=yes
+
+
+#------------------------------------------------------------------------------
+# The size of the delivery buffers: These specify the sizes (in bytes) of
+# the buffers that are used when copying a message from the spool to a
+# destination. There is rarely any need to change these values.
+
+# DELIVER_IN_BUFFER_SIZE=8192
+# DELIVER_OUT_BUFFER_SIZE=8192
+
+
+#------------------------------------------------------------------------------
+# The mode of the database directory: Exim creates a directory called "db"
+# in its spool directory, to hold its databases of hints. This variable
+# determines the mode of the created directory. The default value in the
+# source is 0750.
+
+# EXIMDB_DIRECTORY_MODE=0750
+
+
+#------------------------------------------------------------------------------
+# Database file mode: The mode of files created in the "db" directory defaults
+# to 0640 in the source, and can be changed here.
+
+# EXIMDB_MODE=0640
+
+
+#------------------------------------------------------------------------------
+# Database lock file mode: The mode of zero-length files created in the "db"
+# directory to use for locking purposes defaults to 0640 in the source, and
+# can be changed here.
+
+# EXIMDB_LOCKFILE_MODE=0640
+
+
+#------------------------------------------------------------------------------
+# This parameter sets the maximum length of the header portion of a message
+# that Exim is prepared to process. The default setting is one megabyte. The
+# limit exists in order to catch rogue mailers that might connect to your SMTP
+# port, start off a header line, and then just pump junk at it for ever. The
+# message_size_limit option would also catch this, but it may not be set.
+# The value set here is the default; it can be changed at runtime.
+
+# HEADER_MAXSIZE="(1024*1024)"
+
+
+#------------------------------------------------------------------------------
+# The mode of the input directory: The input directory is where messages are
+# kept while awaiting delivery. Exim creates it if necessary, using a mode
+# which can be defined here (default 0750).
+
+# INPUT_DIRECTORY_MODE=0750
+
+
+#------------------------------------------------------------------------------
+# The mode of Exim's log directory, when it is created by Exim inside the spool
+# directory, defaults to 0750 but can be changed here.
+
+# LOG_DIRECTORY_MODE=0750
+
+
+#------------------------------------------------------------------------------
+# The log files themselves are created as required, with a mode that defaults
+# to 0640, but which can be changed here.
+
+# LOG_MODE=0640
+
+
+#------------------------------------------------------------------------------
+# The TESTDB lookup is for performing tests on the handling of lookup results,
+# and is not useful for general running. It should be included only when
+# debugging the code of Exim.
+
+# LOOKUP_TESTDB=yes
+
+
+#------------------------------------------------------------------------------
+# /bin/sh is used by default as the shell in which to run commands that are
+# defined in the makefiles. This can be changed if necessary, by uncommenting
+# this line and specifying another shell, but note that a Bourne-compatible
+# shell is expected.
+
+# MAKE_SHELL=/bin/sh
+
+
+#------------------------------------------------------------------------------
+# The maximum number of named lists of each type (address, domain, host, and
+# local part) can be increased by changing this value. It should be set to
+# a multiple of 16.
+
+MAX_NAMED_LIST=16
+
+
+#------------------------------------------------------------------------------
+# Network interfaces: Unless you set the local_interfaces option in the runtime
+# configuration file to restrict Exim to certain interfaces only, it will run
+# code to find all the interfaces there are on your host. Unfortunately,
+# the call to the OS that does this requires a buffer large enough to hold
+# data for all the interfaces - it was designed in the days when a host rarely
+# had more than three or four interfaces. Nowadays hosts can have very many
+# virtual interfaces running on the same hardware. If you have more than 250
+# virtual interfaces, you will need to uncomment this setting and increase the
+# value.
+
+# MAXINTERFACES=250
+
+
+#------------------------------------------------------------------------------
+# Per-message logs: While a message is in the process of being delivered,
+# comments on its progress are written to a message log, for the benefit of
+# human administrators. These logs are held in a directory called "msglog"
+# in the spool directory. Its mode defaults to 0750, but can be changed here.
+# The message log directory is also used for storing files that are used by
+# transports for returning data to a message's sender (see the "return_output"
+# option for transports).
+
+# MSGLOG_DIRECTORY_MODE=0750
+
+
+#------------------------------------------------------------------------------
+# There are three options which are used when compiling the Perl interface and
+# when linking with Perl. The default values for these are placed automatically
+# at the head of the Makefile by the script which builds it. However, if you
+# want to override them, you can do so here.
+
+# PERL_CC=
+# PERL_CCOPTS=
+# PERL_LIBS=
+
+
+#------------------------------------------------------------------------------
+# Identifying the daemon: When an Exim daemon starts up, it writes its pid
+# (process id) to a file so that it can easily be identified. The path of the
+# file can be specified here. Some installations may want something like this:
+
+PID_FILE_PATH=/var/run/exim.pid
+
+# If PID_FILE_PATH is not defined, Exim writes a file in its spool directory
+# using the name "exim-daemon.pid".
+
+# If you start up a daemon without the -bd option (for example, with just
+# the -q15m option), a pid file is not written. Also, if you override the
+# configuration file with the -oX option, no pid file is written. In other
+# words, the pid file is written only for a "standard" daemon.
+
+
+#------------------------------------------------------------------------------
+# If Exim creates the spool directory, it is given this mode, defaulting in the
+# source to 0750.
+
+# SPOOL_DIRECTORY_MODE=0750
+
+
+#------------------------------------------------------------------------------
+# The mode of files on the input spool which hold the contents of messages can
+# be changed here. The default is 0640 so that information from the spool is
+# available to anyone who is a member of the Exim group.
+
+# SPOOL_MODE=0640
+
+
+#------------------------------------------------------------------------------
+# Moving frozen messages: If the following is uncommented, Exim is compiled
+# with support for automatically moving frozen messages out of the main spool
+# directory, a facility that is found useful by some large installations. A
+# run time option is required to cause the moving actually to occur. Such
+# messages become "invisible" to the normal management tools.
+
+# SUPPORT_MOVE_FROZEN_MESSAGES=yes
+
+
+#------------------------------------------------------------------------------
+# Disabling the use of fsync(): DO NOT UNCOMMENT THE FOLLOWING LINE unless you
+# really, really, really know what you are doing. And even then, think again.
+# You should never uncomment this when compiling a binary for distribution.
+# Use it only when compiling Exim for your own use.
+#
+# Uncommenting this line enables the use of a runtime option called
+# disable_fsync, which can be used to stop Exim using fsync() to ensure that
+# files are written to disc before proceeding. When this is disabled, crashes
+# and hardware problems such as power outages can cause data to be lost. This
+# feature should only be used in very exceptional circumstances. YOU HAVE BEEN
+# WARNED.
+
+# ENABLE_DISABLE_FSYNC=yes
+
+HAVE_IPV6=YES
+LOOKUP_LIBS=-lldap
+EXTRALIBS_EXIM=-lwrap -lpam
+# End of EDITME for Exim 4.
diff --git a/community-testing/exim/exim.conf.d b/community-testing/exim/exim.conf.d
new file mode 100644
index 000000000..b9bec4335
--- /dev/null
+++ b/community-testing/exim/exim.conf.d
@@ -0,0 +1 @@
+EXIM_ARGS="-bd -q15m"
diff --git a/community-testing/exim/exim.install b/community-testing/exim/exim.install
new file mode 100644
index 000000000..8ed329559
--- /dev/null
+++ b/community-testing/exim/exim.install
@@ -0,0 +1,25 @@
+# arg 1: the new package version
+post_install() {
+ getent group exim >/dev/null 2>&1 || groupadd -g 79 exim
+ if getent passwd exim > /dev/null 2>&1; then
+ usr/sbin/usermod -d /var/spool/exim -c 'Exim MTA' -s /sbin/nologin exim > /dev/null 2>&1
+ else
+ usr/sbin/useradd -c 'Exim MTA' -u 79 -g exim -d /var/spool/exim -s /sbin/nologin exim
+ fi
+ passwd -l exim > /dev/null
+ chown root.exim /var/spool/exim /var/log/exim
+ chown exim.exim /var/spool/exim/db
+ chmod u+s /usr/sbin/exim
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ post_install $1
+}
+
+# arg 1: the old package version
+pre_remove() {
+ getent passwd exim >/dev/null 2>&1 && userdel exim
+}
+
diff --git a/community-testing/exim/exim.logrotate b/community-testing/exim/exim.logrotate
new file mode 100644
index 000000000..070ba4747
--- /dev/null
+++ b/community-testing/exim/exim.logrotate
@@ -0,0 +1,6 @@
+/var/log/exim/*log {
+ su exim exim
+ missingok
+ notifempty
+ delaycompress
+}
diff --git a/community-testing/freevo/PKGBUILD b/community-testing/freevo/PKGBUILD
new file mode 100644
index 000000000..c07ec2f34
--- /dev/null
+++ b/community-testing/freevo/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 51736 2011-07-13 19:46:02Z rvanharen $
+# Maintainer: Ronald van Haren <ronald.archlinux.org>
+
+pkgname=freevo
+pkgver=1.9.0
+pkgrel=6
+pkgdesc="Freevo is an open-source home theatre PC platform based on Linux and a number of open-source audio/video tools."
+url="http://freevo.sourceforge.net/"
+license=('GPL2')
+arch=('i686' 'x86_64')
+depends=('lame' 'flac' 'faad2' 'cdparanoia' 'vorbis-tools' \
+ 'fbset' 'smpeg' 'pil' 'python-pysqlite-legacy' \
+ 'pyxml' 'lsdvd' 'twisted' 'python2-numpy' 'python-pygame'\
+ 'kaa-metadata' 'kaa-imlib2' 'python-beautifulsoup' 'python-html5lib')
+optdepends=('mplayer: most features' 'xine-lib: can be used instead of mplayer' 'tvtime: watching tv' 'xmltv: parsing online tv guides')
+install=freevo.install
+options=('docs')
+source=(http://downloads.sourceforge.net/freevo/$pkgname-$pkgver.tar.gz \
+ freevo.desktop
+ imdb-html5lib.patch)
+sha1sums=('0533a2d4ff8a7b09b3b233fdf303ff56bda22d16'
+ '5f6e76dc58496f072aca29257c24be5ffa9c6c7d'
+ '57e1099527603500c594fbffa2cb7233b636eed1')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+
+ # patch from http://sourceforge.net/tracker/index.php?func=detail&aid=2924872&group_id=46652&atid=446895
+ patch -p0 < $srcdir/imdb-html5lib.patch
+ python2 setup.py install --prefix=$pkgdir/usr
+
+ install -Dm644 local_conf.py.example $pkgdir/usr/share/doc/freevo/local_conf.py.example
+
+ # install .desktop file and icon
+ install -Dm644 $srcdir/$pkgname-$pkgver/share/icons/misc/freevo_app.png \
+ $pkgdir/usr/share/pixmaps/freevo.png
+ install -Dm644 $srcdir/freevo.desktop \
+ $pkgdir/usr/share/applications/freevo.desktop
+
+ # fix executable for python 2.7
+ sed -i "s|search = ('python', 'python2')|search = ('python2', 'python2.7')|" $pkgdir/usr/bin/freevo
+
+ }
+
diff --git a/community-testing/freevo/freevo.desktop b/community-testing/freevo/freevo.desktop
new file mode 100644
index 000000000..1b57043be
--- /dev/null
+++ b/community-testing/freevo/freevo.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Version=1.0
+Name=Freevo
+GenericName=Freevo
+Comment=Home theatre
+Exec=freevo
+Terminal=false
+Type=Application
+Icon=/usr/share/pixmaps/freevo.png
+Categories=AudioVideo;
+
diff --git a/community-testing/freevo/freevo.install b/community-testing/freevo/freevo.install
new file mode 100644
index 000000000..06734569d
--- /dev/null
+++ b/community-testing/freevo/freevo.install
@@ -0,0 +1,25 @@
+post_install() {
+ if [ ! -d /etc/freevo ]; then
+ mkdir /etc/freevo
+ fi
+
+ if [ ! -f /etc/freevo/local_conf.py ]; then
+ cp /usr/share/doc/freevo/local_conf.py.example /etc/freevo/local_conf.py
+ fi
+
+cat << _EOF
+
+==> freevo installation notes:
+---------------------------------------
+ Run 'freevo setup --help' and follow the instructions. Then edit
+ /etc/freevo/local_conf.py to suit your needs. This file can be
+ installed on a per-user basis in ~/.freevo and will take precedence
+ over the one in /etc/freevo/.
+
+_EOF
+
+}
+
+post_upgrade() {
+ post_install
+}
diff --git a/community-testing/freevo/imdb-html5lib.patch b/community-testing/freevo/imdb-html5lib.patch
new file mode 100644
index 000000000..6f454246e
--- /dev/null
+++ b/community-testing/freevo/imdb-html5lib.patch
@@ -0,0 +1,301 @@
+Index: src/helpers/imdb.py
+===================================================================
+--- src/helpers/imdb.py (revision 11608)
++++ src/helpers/imdb.py (working copy)
+@@ -53,19 +53,19 @@
+ parser = OptionParser(version='%prog 1.0', conflict_handler='resolve', usage="""
+ Search IMDB for a movie or a TV show
+
+-freevo imdb [options] <search> [<output> <video file> [<video file>]]
++freevo imdb [options] | [<result> <fxd file> <video file> [<video file>]]
+
+-Generate <output>.fxd for the movie. Files is a list of files that belongs to
+-this movie. Use [dvd|vcd] to add the whole disc or use [dvd|vcd][title] to add
+-a special DVD or VCD title to the list of files""")
++Generate a fxd for the movie. Files is a list of files that belongs to this
++movie. Use [dvd|vcd] to add the whole disc or use [dvd|vcd][title] to add a
++special DVD or VCD title to the list of files""")
+ parser.add_option('-v', '--verbose', action='count', default=0,
+ help='set the level of verbosity [default:%default]')
+ parser.add_option('-s', '--search', action='store_true', dest='search', default=False,
+ help='search imdb for string [default:%default]')
+ parser.add_option('-g', '--guess', action='store_true', dest='guess', default=False,
+ help='search imdb for possible filename match [default:%default]')
+- parser.add_option('--tv', action='store_true', dest='tv', default=False,
+- help='specify the search is a tv programme [default:%default]')
++ parser.add_option('--tv', action='store', dest='tv', default=None,
++ help='specify the id of a tv programme for a eipsode search [default:%default]')
+ parser.add_option('--season', dest='season', default=None,
+ help='specify the season in the search [default:%default]')
+ parser.add_option('--episode', dest='episode', default=None,
+@@ -116,7 +116,9 @@
+ sys.exit(u'--search requires <search pattern>')
+ elif opts.guess and len(args) < 1:
+ sys.exit(u'--guess requires <guess pattern>')
+- tv_marker = (opts.tv or opts.season or opts.episode) and '"' or ''
++ #elif opts.tv and len(args) < 1:
++ # sys.exit(u'--tv requires <imdb id>')
++ tv_marker = (opts.season or opts.episode) and '"' or ''
+
+ if opts.rom_drive is not None:
+ driveset = True
+@@ -176,6 +178,23 @@
+ print '%s' % title.encode(opts.encoding)
+ sys.exit(0)
+
++ if opts.tv:
++ print "Searching IMDB for '%s' season:%s episode:%s..." % (opts.tv, opts.season, opts.episode)
++ results = fxd.getIMDBid(opts.tv, opts.season, opts.episode)
++ if len(results) == 0:
++ print 'No results'
++ #for result in results:
++ # if result[3]:
++ # title = 'http://www.imdb.com/title/tt%s/ %s %s (%s) %s' % (result[:1] + result[:4])
++ # elif result[2]:
++ # title = 'http://www.imdb.com/title/tt%s/ %s %s (%s)' % (result[:1] + result[:3])
++ # else:
++ # title = 'http://www.imdb.com/title/tt%s/ %s %s' % (result[:1] + result[:2])
++ # title = results
++ title = 'http://www.imdb.com/title/tt%s/ %s' % (results, results)
++ print '%s' % title.encode(opts.encoding)
++ sys.exit(0)
++
+ # normal usage
+ if len(args) < 3:
+ sys.exit(u'requires <imdb id> <fxd filename> <video file>|<cd id>')
+Index: src/util/fxdimdb.py
+===================================================================
+--- src/util/fxdimdb.py (revision 11608)
++++ src/util/fxdimdb.py (working copy)
+@@ -48,8 +48,15 @@
+ import codecs
+ import os
+ import traceback
+-from BeautifulSoup import BeautifulSoup, NavigableString
+-import HTMLParser
++from pprint import pprint, pformat
++try:
++ from html5lib import HTMLParser, treebuilders
++ from html5lib.treebuilders.soup import NavigableString
++ using_html5lib = True
++except ImportError:
++ import HTMLParser
++ from BeautifulSoup import BeautifulSoup, BeautifulStoneSoup, NavigableString
++ using_html5lib = False
+
+ import config
+ import util
+@@ -232,6 +239,7 @@
+ response.close()
+
+ _debug_('id_list has %s items' % (len(self.id_list)))
++ #print 'id_list=%s' % (pformat(self.id_list))
+ if len(self.id_list) > 20:
+ # too many results, check if there are stupid results in the list
+ words = []
+@@ -311,7 +319,11 @@
+ dvd = 0
+
+ try:
+- soup = BeautifulSoup(results.read(), convertEntities='xml')
++ if using_html5lib:
++ parser = HTMLParser(tree=treebuilders.getTreeBuilder('beautifulsoup'))
++ soup = parser.parse(results.read())
++ else:
++ soup = BeautifulSoup(results.read(), convertEntities=BeautifulStoneSoup.HTML_ENTITIES)
+ except UnicodeDecodeError:
+ print "Unicode error: check that /usr/lib/python2.x/site.py has the correct default encoding"
+ traceback.print_exc()
+@@ -336,68 +348,61 @@
+ self.info['year'] = y[1:-1]
+ except (AttributeError, TypeError, ValueError):
+ self.info['title'] = self.title
+- self.info['year'] = title.find('a').string.strip()
++ try:
++ self.info['year'] = title.find('a').contents[0].strip()
++ except AttributeError:
++ self.info['year'] = ''
+
+ # Find the <div> with class info, each <h5> under this provides info
++ wanted_keys = ('release_date', 'genre', 'tagline', 'plot', 'plot_keywords',
++ 'also_known_as', 'mpaa', 'runtime', 'country', 'language',
++ 'color', 'aspect_ratio', 'sound_mix', 'certification',
++ )
++
+ for info in main.findAll('div', {'class' : 'info'}):
+ infoh5 = info.find('h5')
+ if not infoh5:
+ continue
+ try:
+- infostr = infoh5.next
+- key = infostr.string.strip(':').lower().replace(' ', '_')
+- nextsibling = nextsibling = infoh5.nextSibling.strip()
+- sections = info.findAll('a', { 'href' : re.compile('/Sections') })
+- lists = info.findAll('a', { 'href' : re.compile('/List') })
+- if len(nextsibling) > 0:
+- self.info[key] = nextsibling
++ infostr = infoh5.find(text=True)
++ key = infostr.strip().strip(':').lower().replace(' ', '_')
++ if key not in wanted_keys:
++ continue
++ content = info.find('div', {'class' : 'info-content'})
++ infocontent = content.find(text=True)
++ if infocontent:
++ infocontent = infocontent.strip()
++ sections = info.findAll('a', { 'href' : re.compile('^/Sections') })
++ lists = info.findAll('a', { 'href' : re.compile('^/List') })
++ keywords = info.findAll('a', { 'href' : re.compile('^/keyword') })
++ #print 'key=%s content=%r keywords=%r sections=%r lists=%r' % (key, infocontent, keywords, sections, lists)
++ if len(infocontent) > 0:
++ self.info[key] = infocontent
+ elif len(sections) > 0:
+ items = []
+ for item in sections:
+- items.append(item.string)
++ items.append(item.contents[0].strip())
+ self.info[key] = ' / '.join(items)
+ elif len(lists) > 0:
+ items = []
+ for item in lists:
+- items.append(item.string)
++ items.append(item.contents[0].strip())
+ self.info[key] = ' / '.join(items)
++ elif len(keywords) > 0:
++ items = []
++ for item in keywords:
++ items.append(item.contents[0].strip())
++ self.info[key] = ' / '.join(items)
+ except:
+ pass
+
+- # Find Plot Outline/Summary:
+- # Normally the tag is named "Plot Outline:" - however sometimes
+- # the tag is "Plot Summary:" or just "Plot:". Search for all strings.
+- imdb_result = soup.find(text='Plot Outline:')
+- if not imdb_result:
+- imdb_result = soup.find(text='Plot Summary:')
+- if not imdb_result:
+- imdb_result = soup.find(text='Plot:')
+- if imdb_result:
+- self.info['plot'] = imdb_result.next.strip()
+- else:
+- self.info['plot'] = u''
+-
+- # Find tagline - sometimes the tagline is missing.
+- # Use an empty string if no tagline could be found.
+- imdb_result = soup.find(text='Tagline:')
+- if imdb_result:
+- self.info['tagline'] = imdb_result.next.strip()
+- else:
+- self.info['tagline'] = u''
+-
+ rating = soup.find(text='User Rating:').findNext(text=re.compile('/10'))
+- if rating:
++ try:
+ votes = rating.findNext('a')
+- self.info['rating'] = rating.strip() + ' (' + votes.string.strip() + ')'
+- else:
++ self.info['rating'] = rating.strip() + ' (' + votes.contents[0].strip() + ')'
++ except AttributeError:
+ self.info['rating'] = ''
+
+- runtime = soup.find(text='Runtime:')
+- if runtime and runtime.next:
+- self.info['runtime'] = runtime.next.strip()
+- else:
+- self.info['runtime'] = ''
+-
+ # Replace special characters in the items
+ for (k,v) in self.info.items():
+ self.info[k] = self.convert_entities(v)
+@@ -794,10 +799,14 @@
+ _debug_('parsesearchdata(results=%r, url=%r, id=%r)' % (results, url, id))
+
+ self.id_list = []
+- m = re.compile('/title/tt([0-9]*)/')
+- y = re.compile('\(([^)]+)\)')
++ m = re.compile('/title/tt(\d+)/')
++ y = re.compile('\((\d+)\) *(.*)')
+ try:
+- soup = BeautifulSoup(results.read(), convertEntities='xml')
++ if using_html5lib:
++ parser = HTMLParser(tree=treebuilders.getTreeBuilder('beautifulsoup'))
++ soup = parser.parse(results.read())
++ else:
++ soup = BeautifulSoup(results.read(), convertEntities=BeautifulStoneSoup.HTML_ENTITIES)
+ except HTMLParser.HTMLParseError, why:
+ traceback.print_exc()
+ _debug_('Cannot parse %r: %s' % (url, why), DWARNING)
+@@ -806,28 +815,37 @@
+ traceback.print_exc()
+ _debug_('Cannot parse %r: %s' % (url, why), DWARNING)
+ return self.id_list
+- items = soup.findAll('a', href=re.compile('/title/tt'))
++ items = soup.findAll('a', href=re.compile('^/title/tt'))
+ ids = set([])
+ for item in items:
+- idm = m.search(item['href'])
++ idm = item.attrMap['href']
+ if not idm:
+ continue
+- if isinstance(item.next.next, NavigableString):
+- yrm = y.findall(item.next.next)
+-
+- id = idm.group(1)
+- name = item.string
+- # skip empty names
+- if not name:
++ m_match = m.match(idm)
++ if not m_match:
++ # skip invalid titles
+ continue
+- # skip duplicate ids
++ id = m_match.group(1)
+ if id in ids:
++ # skip duplicate ids
+ continue
++ name = item.contents[0]
++ if not isinstance(name, NavigableString):
++ # skip empty names
++ continue
++ if isinstance(item.next.next, NavigableString):
++ yrm = item.next.next.strip()
+ ids.add(id)
+- year = len(yrm) > 0 and yrm[0] or '0000'
+- type = len(yrm) > 1 and yrm[1] or ''
++ y_match = y.match(yrm)
++ if y_match:
++ year = y_match.group(1)
++ type = y_match.group(2)
++ else:
++ year = '0000'
++ type = ''
+ #print 'url', item['href']
+ #print item.parent.findChildren(text=re.compile('[^ ]'))
++ #print 'id=%s name=%s year=%s type=%s' % (id, name, year, type)
+ self.id_list += [ ( id, name, year, type ) ]
+
+ for item in self.id_list:
+@@ -840,7 +858,11 @@
+ Returns a new id for getIMDBid with TV series episode data
+ """
+ try:
+- soup = BeautifulSoup(results.read(), convertEntities='xml')
++ if using_html5lib:
++ parser = HTMLParser(tree=treebuilders.getTreeBuilder('beautifulsoup'))
++ soup = parser.parse(results.read())
++ else:
++ soup = BeautifulSoup(results.read(), convertEntities=BeautifulStoneSoup.HTML_ENTITIES)
+ except UnicodeDecodeError:
+ print "Unicode error; check that /usr/lib/python2.x/site.py has the correct default encoding"
+ pass
+@@ -968,9 +990,6 @@
+ self.image = vfs.basename(self.image)
+
+ _debug_('Downloaded cover image from %s' % (self.image_url))
+- print "Freevo knows nothing about the copyright of this image, please"
+- print "go to %s to check for more information about private." % self.image_url
+- print "use of this image"
+
+
+ def str2XML(self, line):
diff --git a/community-testing/lightspark/PKGBUILD b/community-testing/lightspark/PKGBUILD
index 4dc7cf4cd..90e48d272 100644
--- a/community-testing/lightspark/PKGBUILD
+++ b/community-testing/lightspark/PKGBUILD
@@ -3,7 +3,7 @@
pkgname=lightspark
pkgver=0.5.0rc1
-pkgrel=1
+pkgrel=2
pkgdesc='An alternative Flash Player for Linux.'
arch=('i686' 'x86_64')
url='http://lightspark.sourceforge.net'
@@ -12,12 +12,18 @@ conflicts=('lightspark-git')
depends=('mesa' 'sdl' 'gtk2' 'curl' 'zlib' 'ffmpeg' 'glew' 'pcre' 'libpulse' 'libffi' 'boost-libs' 'glibmm' 'gtkglext' 'desktop-file-utils' 'libxml++')
makedepends=('cmake' 'nasm' 'xulrunner' 'llvm' 'glproto' 'boost')
optdepends=('gnash-gtk: fallback support')
-install="lightspark.install"
-source=("http://launchpad.net/lightspark/trunk/lightspark-0.5.0/+download/lightspark-0.5.0~rc1.tar.gz")
-md5sums=('bf668cf6178fbbb75a7898bd6c6dd1e5')
+install='lightspark.install'
+source=("http://launchpad.net/lightspark/trunk/lightspark-0.5.0/+download/lightspark-0.5.0~rc1.tar.gz"
+ 'git-fixes-set-sys-in-destroystream-class.diff')
+md5sums=('bf668cf6178fbbb75a7898bd6c6dd1e5'
+ '57b1b5a975f5e2518c2a96d61b925f41')
_pkgver='0.5.0~rc1'
build() {
+ cd lightspark-${_pkgver}
+ patch -Np1 -i ${srcdir}/git-fixes-set-sys-in-destroystream-class.diff
+ cd ${srcdir}
+
rm -rf build
mkdir build
cd build
diff --git a/community-testing/lightspark/git-fixes-set-sys-in-destroystream-class.diff b/community-testing/lightspark/git-fixes-set-sys-in-destroystream-class.diff
new file mode 100644
index 000000000..d20239d29
--- /dev/null
+++ b/community-testing/lightspark/git-fixes-set-sys-in-destroystream-class.diff
@@ -0,0 +1,1180 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f8eea6b..aae2d71 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -167,7 +167,7 @@ if(Boost_FOUND)
+ ENDIF(Boost_FOUND)
+ IF(UNIX)
+ INCLUDE(FindPkgConfig REQUIRED)
+- pkg_check_modules(EXTRA_LIBS REQUIRED x11 fontconfig cairo pangocairo)
++ pkg_check_modules(EXTRA_LIBS REQUIRED x11 cairo pangocairo)
+ ENDIF(UNIX)
+
+ IF(WIN32)
+diff --git a/conf/FindFTGL.cmake b/conf/FindFTGL.cmake
+deleted file mode 100644
+index d63178f..0000000
+--- a/conf/FindFTGL.cmake
++++ /dev/null
+@@ -1,27 +0,0 @@
+-# - Find FTGL
+-# Find the native FTGL headers and libraries.
+-#
+-# FTGL_INCLUDE_DIRS - where to find pcre.h, etc.
+-# FTGL_LIBRARIES - List of libraries when using ftgl
+-# FTGL_FOUND - True if ftgl found.
+-
+-# Look for the header file.
+-FIND_PATH(FTGL_INCLUDE_DIR NAMES FTGL/ftgl.h)
+-MARK_AS_ADVANCED(FTGL_INCLUDE_DIR)
+-
+-# Look for the library.
+-FIND_LIBRARY(FTGL_LIBRARY NAMES
+- ftgl
+- ftgl_d
+-)
+-MARK_AS_ADVANCED(FTGL_LIBRARY)
+-
+-# handle the QUIETLY and REQUIRED arguments and set FTGL_FOUND to TRUE if
+-# all listed variables are TRUE
+-INCLUDE(FindPackageHandleStandardArgs)
+-FIND_PACKAGE_HANDLE_STANDARD_ARGS(FTGL DEFAULT_MSG FTGL_LIBRARY FTGL_INCLUDE_DIR)
+-
+-IF(FTGL_FOUND)
+- SET(FTGL_LIBRARIES ${FTGL_LIBRARY})
+- SET(FTGL_INCLUDE_DIRS ${FTGL_INCLUDE_DIR})
+-ENDIF(FTGL_FOUND)
+diff --git a/src/asobject.cpp b/src/asobject.cpp
+index f2f9620..6808c14 100644
+--- a/src/asobject.cpp
++++ b/src/asobject.cpp
+@@ -556,6 +556,7 @@ ASFUNCTIONBODY(ASObject,hasOwnProperty)
+ name.name_type=multiname::NAME_STRING;
+ name.name_s=args[0]->toString();
+ name.ns.push_back(nsNameAndKind("",NAMESPACE));
++ name.isAttribute=false;
+ bool ret=obj->hasPropertyByMultiname(name, true);
+ return abstract_b(ret);
+ }
+diff --git a/src/backends/decoder.cpp b/src/backends/decoder.cpp
+index 46c25bc..279d1f7 100644
+--- a/src/backends/decoder.cpp
++++ b/src/backends/decoder.cpp
+@@ -26,7 +26,7 @@
+ #include "graphics.h"
+ #include "backends/rendering.h"
+
+-#if LIBAVUTIL_VERSION_MAJOR < 52
++#if LIBAVUTIL_VERSION_MAJOR < 51
+ #define AVMEDIA_TYPE_VIDEO CODEC_TYPE_VIDEO
+ #define AVMEDIA_TYPE_AUDIO CODEC_TYPE_AUDIO
+ #endif
+diff --git a/src/backends/netutils.cpp b/src/backends/netutils.cpp
+index ce08dbc..8e4ff6a 100644
+--- a/src/backends/netutils.cpp
++++ b/src/backends/netutils.cpp
+@@ -681,7 +681,6 @@ void Downloader::allocateBuffer(size_t size)
+ //Create buffer
+ if(buffer == NULL)
+ {
+-
+ buffer = (uint8_t*) calloc(size, sizeof(uint8_t));
+ stableBuffer = buffer;
+ setg((char*)buffer,(char*)buffer,(char*)buffer);
+@@ -690,7 +689,7 @@ void Downloader::allocateBuffer(size_t size)
+ else
+ {
+ assert(!cached);
+- intptr_t curLen = (intptr_t) (egptr()-eback());
++ intptr_t curLen = receivedLength;
+ //We have to extend the buffer, so create a new one
+ if(stableBuffer!=buffer)
+ {
+diff --git a/src/backends/rendering.cpp b/src/backends/rendering.cpp
+index ea7f5ec..b52b8f2 100644
+--- a/src/backends/rendering.cpp
++++ b/src/backends/rendering.cpp
+@@ -223,13 +223,13 @@ void* RenderThread::worker(RenderThread* th)
+ LOG(LOG_ERROR,_("glX not present"));
+ return NULL;
+ }
+- int attrib[10]={GLX_BUFFER_SIZE,24,GLX_DOUBLEBUFFER,True,None};
++ int attrib[10]={GLX_RED_SIZE, 8, GLX_GREEN_SIZE, 8, GLX_BLUE_SIZE, 8, GLX_DOUBLEBUFFER, True, None};
+ GLXFBConfig* fb=glXChooseFBConfig(d, 0, attrib, &a);
+ if(!fb)
+ {
+- attrib[2]=None;
+- fb=glXChooseFBConfig(d, 0, attrib, &a);
++ attrib[6]=None;
+ LOG(LOG_ERROR,_("Falling back to no double buffering"));
++ fb=glXChooseFBConfig(d, 0, attrib, &a);
+ }
+ if(!fb)
+ {
+diff --git a/src/backends/urlutils.cpp b/src/backends/urlutils.cpp
+index 7575e49..176b7db 100644
+--- a/src/backends/urlutils.cpp
++++ b/src/backends/urlutils.cpp
+@@ -332,14 +332,14 @@ std::string URLInfo::encode(const std::string& u, ENCODING type)
+ str += '+';
+ //Additionally ENCODE_URICOMPONENT and ENCODE_URI don't encode:
+ //- _ . ! ~ * ' ( )
+- else if((type == ENCODE_URI || ENCODE_URICOMPONENT) &&
++ else if((type == ENCODE_URI || type == ENCODE_URICOMPONENT || type == ENCODE_ESCAPE) &&
+ (u[i] == '-' || u[i] == '_' || u[i] == '.' || u[i] == '!' ||
+ u[i] == '~' || u[i] == '*' || u[i] == '\'' || u[i] == '(' ||
+ u[i] == ')'))
+ str += u[i];
+ //Additionally ENCODE_URI doesn't encode:
+ //; / ? : @ & = + $ , #
+- else if(type == ENCODE_URI &&
++ else if((type == ENCODE_URI || type == ENCODE_ESCAPE) &&
+ (u[i] == ';' || u[i] == '/' || u[i] == '?' || u[i] == ':' ||
+ u[i] == '@' || u[i] == '&' || u[i] == '=' || u[i] == '+' ||
+ u[i] == '$' || u[i] == ',' || u[i] == '#'))
+diff --git a/src/parsing/streams.cpp b/src/parsing/streams.cpp
+index 8a5d7b0..b7894b0 100644
+--- a/src/parsing/streams.cpp
++++ b/src/parsing/streams.cpp
+@@ -27,167 +27,6 @@
+
+ using namespace std;
+
+-sync_stream::sync_stream():head(0),tail(0),wait_notfull(false),wait_notempty(false),buf_size(1024*1024),failed(false),ended(false),consumed(0)
+-{
+- buffer=new char[buf_size];
+- sem_init(&mutex,0,1);
+- sem_init(&notfull,0,0);
+- sem_init(&notempty,0,0);
+- setg(buffer,buffer,buffer);
+-}
+-
+-sync_stream::~sync_stream()
+-{
+- delete[] buffer;
+- sem_destroy(&mutex);
+- sem_destroy(&notfull);
+- sem_destroy(&notempty);
+-}
+-
+-void sync_stream::stop()
+-{
+- sem_wait(&mutex);
+- failed=true;
+- if(wait_notfull)
+- {
+- wait_notfull=false;
+- sem_post(&notfull);
+- sem_wait(&mutex);
+- }
+- if(wait_notempty)
+- {
+- wait_notempty=false;
+- sem_post(&notempty);
+- sem_wait(&mutex);
+- }
+- sem_post(&mutex);
+-}
+-
+-void sync_stream::eof()
+-{
+- sem_wait(&mutex);
+- ended=true;
+- if(wait_notempty)
+- {
+- wait_notempty=false;
+- sem_post(&notempty);
+- }
+- else
+- sem_post(&mutex);
+-}
+-
+-sync_stream::pos_type sync_stream::seekoff(off_type off, ios_base::seekdir dir,ios_base::openmode mode)
+-{
+- assert(off==0);
+- //The current offset is the amount of byte completely consumed plus the amount used in the buffer
+- int ret=consumed+(gptr()-eback());
+- return ret;
+-}
+-
+-sync_stream::int_type sync_stream::underflow()
+-{
+- assert(gptr()==egptr());
+-
+- sem_wait(&mutex);
+- //First of all we add the length of the buffer to the consumed variable
+- int consumedNow=(gptr()-eback());
+- consumed+=consumedNow;
+- head+=consumedNow;
+- head%=buf_size;
+- if(failed)
+- {
+- sem_post(&mutex);
+- //Return EOF
+- return -1;
+- }
+- if(tail==head)
+- {
+- if(ended) //There is no way more data will arrive
+- {
+- sem_post(&mutex);
+- //Return EOF
+- return -1;
+- }
+- wait_notempty=true;
+- sem_post(&mutex);
+- sem_wait(&notempty);
+- if(failed || ended)
+- {
+- sem_post(&mutex);
+- //Return EOF
+- return -1;
+- }
+- }
+-
+- if(head<tail)
+- setg(buffer+head,buffer+head,buffer+tail);
+- else
+- setg(buffer+head,buffer+head,buffer+buf_size);
+-
+- //Verify that there is room
+- if(wait_notfull && ((tail-head+buf_size)%buf_size)<buf_size-1)
+- {
+- wait_notfull=true;
+- sem_post(&notfull);
+- }
+- else
+- sem_post(&mutex);
+-
+- //Cast to unsigned, otherwise 0xff would become eof
+- return (unsigned char)buffer[head];
+-}
+-
+-uint32_t sync_stream::write(char* buf, int len)
+-{
+- sem_wait(&mutex);
+- if(failed)
+- {
+- sem_post(&mutex);
+- return 0;
+- }
+- if(((tail-head+buf_size)%buf_size)==buf_size-1)
+- {
+- wait_notfull=true;
+- sem_post(&mutex);
+- sem_wait(&notfull);
+- if(failed)
+- {
+- sem_post(&mutex);
+- return 0;
+- }
+- }
+-
+- if((head-tail+buf_size-1)%buf_size<len)
+- len=(head-tail+buf_size-1)%buf_size;
+-
+- if(tail+len>buf_size)
+- {
+- int i=buf_size-tail;
+- memcpy(buffer+tail,buf,i);
+- memcpy(buffer,buf+i,len-i);
+- }
+- else
+- memcpy(buffer+tail,buf,len);
+- tail+=len;
+- tail%=buf_size;
+- assert(head!=tail);
+- if(wait_notempty)
+- {
+- wait_notempty=false;
+- sem_post(&notempty);
+- }
+- else
+- sem_post(&mutex);
+- return len;
+-}
+-
+-uint32_t sync_stream::getFree()
+-{
+- sem_wait(&mutex);
+- uint32_t freeBytes=(head-tail+buf_size-1)%buf_size;
+- sem_post(&mutex);
+- return freeBytes;
+-}
+
+ zlib_filter::zlib_filter(streambuf* b):backend(b),consumed(0)
+ {
+diff --git a/src/parsing/streams.h b/src/parsing/streams.h
+index c631e45..988dcf2 100644
+--- a/src/parsing/streams.h
++++ b/src/parsing/streams.h
+@@ -43,31 +43,6 @@ public:
+ ~zlib_filter();
+ };
+
+-class DLL_PUBLIC sync_stream: public std::streambuf
+-{
+-public:
+- sync_stream();
+- void stop();
+- void eof();
+- ~sync_stream();
+- uint32_t write(char* buf, int len);
+- uint32_t getFree();
+- virtual int_type underflow();
+- virtual pos_type seekoff(off_type, std::ios_base::seekdir, std::ios_base::openmode);
+-private:
+- char* buffer;
+- int head;
+- int tail;
+- sem_t mutex;
+- sem_t notfull;
+- sem_t notempty;
+- bool wait_notfull;
+- bool wait_notempty;
+- const int buf_size;
+- bool failed;
+- bool ended;
+- int consumed;
+-};
+
+ class bytes_buf:public std::streambuf
+ {
+diff --git a/src/plugin/plugin.cpp b/src/plugin/plugin.cpp
+index ffb578d..fd60233 100644
+--- a/src/plugin/plugin.cpp
++++ b/src/plugin/plugin.cpp
+@@ -569,6 +569,7 @@ int32_t nsPluginInstance::Write(NPStream *stream, int32_t offset, int32_t len, v
+
+ NPError nsPluginInstance::DestroyStream(NPStream *stream, NPError reason)
+ {
++ sys=m_sys;
+ NPDownloader* dl=static_cast<NPDownloader*>(stream->pdata);
+ assert(dl);
+ //Check if async destructin of this downloader has been requested
+@@ -586,6 +587,7 @@ NPError nsPluginInstance::DestroyStream(NPStream *stream, NPError reason)
+ }
+ //Notify our downloader of what happened
+ URLNotify(stream->url, reason, stream->pdata);
++ sys=NULL;
+ return NPERR_NO_ERROR;
+ }
+
+diff --git a/src/scripting/flashdisplay.cpp b/src/scripting/flashdisplay.cpp
+index bfdf846..5df6f98 100644
+--- a/src/scripting/flashdisplay.cpp
++++ b/src/scripting/flashdisplay.cpp
+@@ -323,6 +323,7 @@ void Loader::execute()
+ contentLoaderInfo->incRef();
+ //Use a local variable to store the new root, as the localRoot member may change
+ _R<RootMovieClip> newRoot=_MR(RootMovieClip::getInstance(contentLoaderInfo.getPtr()));
++ newRoot->setOrigin(url.getParsedURL(), "");
+
+ _addChildAt(newRoot,0);
+
+@@ -2972,7 +2973,10 @@ ASFUNCTIONBODY(Graphics,beginGradientFill)
+ assert_and_throw(args[2]->getObjectType()==T_ARRAY);
+ Array* alphas=Class<Array>::cast(args[2]);
+
+- assert_and_throw(args[3]->getObjectType()==T_ARRAY);
++ //assert_and_throw(args[3]->getObjectType()==T_ARRAY);
++ //Work around for bug in YouTube player of July 13 2011
++ if(args[3]->getObjectType()==T_UNDEFINED)
++ return NULL;
+ Array* ratios=Class<Array>::cast(args[3]);
+
+ int NumGradient = colors->size();
+diff --git a/src/scripting/flashgeom.cpp b/src/scripting/flashgeom.cpp
+index db5236e..660bb85 100644
+--- a/src/scripting/flashgeom.cpp
++++ b/src/scripting/flashgeom.cpp
+@@ -1127,12 +1127,12 @@ ASFUNCTIONBODY(Matrix,concat)
+
+ number_t ta, tb, tc, td, tx, ty;
+
+- ta = th->a * m->a + th->c * m->b;
+- tb = th->b * m->a + th->d * m->b;
+- tc = th->a * m->c + th->c * m->d;
+- td = th->b * m->c + th->d * m->d;
+- tx = th->a * m->tx + th->c * m->ty + th->tx;
+- ty = th->b * m->tx + th->d * m->ty + th->ty;
++ ta = m->a * th->a + m->c * th->b;
++ tb = m->b * th->a + m->d * th->b;
++ tc = m->a * th->c + m->c * th->d;
++ td = m->b * th->c + m->d * th->d;
++ tx = m->a * th->tx + m->c * th->ty + m->tx;
++ ty = m->b * th->tx + m->d * th->ty + m->ty;
+
+ th->a = ta;
+ th->b = tb;
+diff --git a/src/scripting/flashutils.cpp b/src/scripting/flashutils.cpp
+index f44b61e..04cce66 100644
+--- a/src/scripting/flashutils.cpp
++++ b/src/scripting/flashutils.cpp
+@@ -784,36 +784,52 @@ ASFUNCTIONBODY(lightspark,describeType)
+ ret+=(isStatic)?"\"true\"":"\"false\"";
+ ret+=">";
+ //TODO: add support for extendsClass and implementsInterface and factory
+- auto it=args[0]->Variables.Variables.begin();
+- for(;it!=args[0]->Variables.Variables.end();it++)
++ type=static_cast<Class_base*>(args[0]);
++ do
+ {
+- if(isStatic && it->second.kind==BORROWED_TRAIT)
+- continue;
+-
+- //TODO: add support for constant, method, parameter
+- if(it->second.var.getter)
+- {
+- //Output an accessor
+- //TODO: add support in accessor for access,type,declaredBy
+- ret+="<accessor name=\"";
+- ret+=it->first.raw_buf();
+- ret+="\"/>";
+- }
+- else if(it->second.var.var)
++ auto it=type->Variables.Variables.begin();
++ for(;it!=type->Variables.Variables.end();it++)
+ {
+- //Output a variable
+- ret+="<variable name=\"";
+- ret+=it->first.raw_buf();
+- ret+="\"";
+- if(it->second.var.type)
++ if(isStatic && it->second.kind==BORROWED_TRAIT)
++ continue;
++
++ //TODO: add support for constant, method, parameter
++ if(it->second.var.getter)
++ {
++ //Output an accessor
++ //TODO: add support in accessor for access,type,declaredBy
++ ret+="<accessor name=\"";
++ ret+=it->first.raw_buf();
++ ret+="\"/>";
++ }
++ else if(it->second.var.var)
+ {
+- ret+=" type=\"";
+- ret+=it->second.var.type->class_name.getQualifiedName().raw_buf();
+- ret+="\"";
++ if(it->second.var.var->getObjectType()==T_FUNCTION)
++ {
++ //Output a method
++ //TODO: add support in method for declaredBy,returnType
++ ret+="<method name=\"";
++ ret+=it->first.raw_buf();
++ ret+="\"/>";
++ }
++ else
++ {
++ //Output a variable
++ ret+="<variable name=\"";
++ ret+=it->first.raw_buf();
++ ret+="\"";
++ if(it->second.var.type)
++ {
++ ret+=" type=\"";
++ ret+=it->second.var.type->class_name.getQualifiedName().raw_buf();
++ ret+="\"";
++ }
++ ret+="/>";
++ }
+ }
+- ret+="/>";
+ }
+ }
++ while((type=type->getPrototype())!=NULL);
+ ret+="</type>";
+
+ return Class<XML>::getInstanceS(ret);;
+diff --git a/src/scripting/toplevel.cpp b/src/scripting/toplevel.cpp
+index c64403c..69709f5 100644
+--- a/src/scripting/toplevel.cpp
++++ b/src/scripting/toplevel.cpp
+@@ -271,6 +271,10 @@ ASFUNCTIONBODY(Array,lastIndexOf)
+
+ int unsigned i = th->data.size()-1;
+ int j;
++
++ if(argslen == 2 && std::isnan(args[1]->toNumber()))
++ return abstract_i(0);
++
+ if(argslen == 2 && args[1]->getObjectType() != T_UNDEFINED && !std::isnan(args[1]->toNumber()))
+ {
+ j = args[1]->toInt(); //Preserve sign
+@@ -314,24 +318,30 @@ ASFUNCTIONBODY(Array,shift)
+ ASFUNCTIONBODY(Array,splice)
+ {
+ Array* th=static_cast<Array*>(obj);
+-
++
+ int startIndex=args[0]->toInt();
+ int deleteCount=args[1]->toUInt();
+ int totalSize=th->data.size();
+-
+- //A negative startIndex is relative to the end
+- assert_and_throw(abs(startIndex)<totalSize);
+- startIndex=(startIndex+totalSize)%totalSize;
++ Array* ret=Class<Array>::getInstanceS();
++
++ if(totalSize)
++ {
++ //A negative startIndex is relative to the end
++ assert_and_throw(abs(startIndex)<totalSize);
++ startIndex=(startIndex+totalSize)%totalSize;
++ }
+ if((startIndex+deleteCount)>totalSize)
+ deleteCount=totalSize-startIndex;
+-
+- Array* ret=Class<Array>::getInstanceS();
+- ret->data.reserve(deleteCount);
+
+- for(int i=0;i<deleteCount;i++)
+- ret->data.push_back(th->data[startIndex+i]);
+-
+- th->data.erase(th->data.begin()+startIndex,th->data.begin()+startIndex+deleteCount);
++ if(deleteCount)
++ {
++ ret->data.reserve(deleteCount);
++
++ for(int i=0;i<deleteCount;i++)
++ ret->data.push_back(th->data[startIndex+i]);
++
++ th->data.erase(th->data.begin()+startIndex,th->data.begin()+startIndex+deleteCount);
++ }
+
+ //Insert requested values starting at startIndex
+ for(unsigned int i=2,n=0;i<argslen;i++,n++)
+@@ -982,8 +992,15 @@ ASObject* XML::getVariableByMultiname(const multiname& name, bool skip_impl)
+ return NULL;
+ }
+
++ bool isAttr=name.isAttribute;
+ const tiny_string& normalizedName=name.normalizedName();
+- if(name.isAttribute)
++ const char *buf=normalizedName.raw_buf();
++ if(normalizedName[0]=='@')
++ {
++ isAttr=true;
++ buf+=1;
++ }
++ if(isAttr)
+ {
+ //Lookup attribute
+ //TODO: support namespaces
+@@ -994,7 +1011,7 @@ ASObject* XML::getVariableByMultiname(const multiname& name, bool skip_impl)
+ xmlpp::Element* element=dynamic_cast<xmlpp::Element*>(node);
+ if(element==NULL)
+ return NULL;
+- xmlpp::Attribute* attr=element->get_attribute(normalizedName.raw_buf());
++ xmlpp::Attribute* attr=element->get_attribute(buf);
+ if(attr==NULL)
+ return NULL;
+
+@@ -1021,7 +1038,7 @@ ASObject* XML::getVariableByMultiname(const multiname& name, bool skip_impl)
+ assert_and_throw(name.ns.size()>0 && name.ns[0].name=="");
+ //Normalize the name to the string form
+ assert(node);
+- const xmlpp::Node::NodeList& children=node->get_children(normalizedName.raw_buf());
++ const xmlpp::Node::NodeList& children=node->get_children(buf);
+ xmlpp::Node::NodeList::const_iterator it=children.begin();
+
+ std::vector<_R<XML>> ret;
+@@ -1055,8 +1072,15 @@ bool XML::hasPropertyByMultiname(const multiname& name, bool considerDynamic)
+ if(considerDynamic==false)
+ return ASObject::hasPropertyByMultiname(name, considerDynamic);
+
++ bool isAttr=name.isAttribute;
+ const tiny_string& normalizedName=name.normalizedName();
+- if(name.isAttribute)
++ const char *buf=normalizedName.raw_buf();
++ if(normalizedName[0]=='@')
++ {
++ isAttr=true;
++ buf+=1;
++ }
++ if(isAttr)
+ {
+ //Lookup attribute
+ //TODO: support namespaces
+@@ -1067,7 +1091,7 @@ bool XML::hasPropertyByMultiname(const multiname& name, bool considerDynamic)
+ xmlpp::Element* element=dynamic_cast<xmlpp::Element*>(node);
+ if(element==NULL)
+ return NULL;
+- xmlpp::Attribute* attr=element->get_attribute(normalizedName.raw_buf());
++ xmlpp::Attribute* attr=element->get_attribute(buf);
+ if(attr!=NULL)
+ return true;
+ }
+@@ -1078,7 +1102,7 @@ bool XML::hasPropertyByMultiname(const multiname& name, bool considerDynamic)
+ assert_and_throw(name.ns.size()>0 && name.ns[0].name=="");
+ //Normalize the name to the string form
+ assert(node);
+- const xmlpp::Node::NodeList& children=node->get_children(normalizedName.raw_buf());
++ const xmlpp::Node::NodeList& children=node->get_children(buf);
+ if(!children.empty())
+ return true;
+ }
+diff --git a/src/swf.cpp b/src/swf.cpp
+index 6378dd6..b50907e 100644
+--- a/src/swf.cpp
++++ b/src/swf.cpp
+@@ -468,6 +468,8 @@ void SystemState::setShutdownFlag()
+ shutdown=true;
+
+ sem_post(&terminated);
++ if(standalone)
++ gtk_main_quit();
+ }
+
+ void SystemState::wait()
+@@ -1132,7 +1134,7 @@ void ParseThread::execute()
+ }
+ catch(std::exception& e)
+ {
+- LOG(LOG_ERROR,_("Stream exception in ParseThread"));
++ LOG(LOG_ERROR,_("Stream exception in ParseThread ") << e.what());
+ root->parsingFailed();
+ }
+ pt=NULL;
+diff --git a/tests/Dictionary_test.mxml b/tests/Dictionary_test.mxml
+index d0d6897..226eb94 100644
+--- a/tests/Dictionary_test.mxml
++++ b/tests/Dictionary_test.mxml
+@@ -1,57 +1,57 @@
+-<?xml version="1.0"?>
+-<mx:Application name="lightspark_Dictionary_test"
+- xmlns:mx="http://www.adobe.com/2006/mxml"
+- layout="absolute"
+- applicationComplete="appComplete();"
+- backgroundColor="white">
+-
+-<mx:Script>
+-<![CDATA[
+- import Tests;
+- private function appComplete():void
+- {
+- var dict:Dictionary = new Dictionary();
+- var o:Object = new Object();
+-
+- dict["foo"] = 5;
+- dict[o] = "muffins";
+-
+- Tests.assertTrue(dict.hasOwnProperty("foo"),"hasOwnProperty with string");
+-
+- Tests.assertEquals(dict["foo"], 5, "dict[\"foo\"] = 5", true);
+- Tests.assertEquals(dict[o], "muffins", "dict[Object]", true);
+-
+- var count:int = 0;
+- for each (var tmp:* in dict)
+- count++;
+-
+- Tests.assertEquals(2, count, "iterator: primitive and object keys");
+-
+- delete dict["foo"];
+-
+- dict[2] = "number two";
+- Tests.assertTrue(dict.hasOwnProperty(2), "hasOwnProperty with number");
+- Tests.assertEquals(dict["2"], "number two", "primitive keys behaviour", true);
+- Tests.assertFalse(dict["foo"] == 5, "delete dict[\"key\"]");
+-
+- var dict2:Dictionary = new Dictionary();
+- dict2.weakKeys = true;
+- {
+- var a:Object = new Object();
+- dict[a] = "test";
+- }
+-
+- var n:int = 0;
+- for (var key:* in dict2)
+- n++;
+-
+- Tests.assertEquals(n, 1, "Dictionary.weakKeys");
+-
+- Tests.report(visual, name);
+- }
+-]]>
+-</mx:Script>
+-
+-<mx:UIComponent id="visual" />
+-
+-</mx:Application>
++<?xml version="1.0"?>
++<mx:Application name="lightspark_Dictionary_test"
++ xmlns:mx="http://www.adobe.com/2006/mxml"
++ layout="absolute"
++ applicationComplete="appComplete();"
++ backgroundColor="white">
++
++<mx:Script>
++<![CDATA[
++ import Tests;
++ private function appComplete():void
++ {
++ var dict:Dictionary = new Dictionary();
++ var o:Object = new Object();
++
++ dict["foo"] = 5;
++ dict[o] = "muffins";
++
++ Tests.assertTrue(dict.hasOwnProperty("foo"),"hasOwnProperty with string");
++
++ Tests.assertEquals(dict["foo"], 5, "dict[\"foo\"] = 5", true);
++ Tests.assertEquals(dict[o], "muffins", "dict[Object]", true);
++
++ var count:int = 0;
++ for each (var tmp:* in dict)
++ count++;
++
++ Tests.assertEquals(2, count, "iterator: primitive and object keys");
++
++ delete dict["foo"];
++
++ dict[2] = "number two";
++ Tests.assertTrue(dict.hasOwnProperty(2), "hasOwnProperty with number");
++ Tests.assertEquals(dict["2"], "number two", "primitive keys behaviour", true);
++ Tests.assertFalse(dict["foo"] == 5, "delete dict[\"key\"]");
++
++ var dict2:Dictionary = new Dictionary();
++ dict2.weakKeys = true;
++ {
++ var a:Object = new Object();
++ dict[a] = "test";
++ }
++
++ var n:int = 0;
++ for (var key:* in dict2)
++ n++;
++
++ Tests.assertEquals(n, 1, "Dictionary.weakKeys");
++
++ Tests.report(visual, name);
++ }
++]]>
++</mx:Script>
++
++<mx:UIComponent id="visual" />
++
++</mx:Application>
+diff --git a/tests/Object_test.mxml b/tests/Object_test.mxml
+index d78adab..d057823 100644
+--- a/tests/Object_test.mxml
++++ b/tests/Object_test.mxml
+@@ -13,6 +13,11 @@
+ var o:Object = {foo: "bar", foo2: "bar2", foo: "bar3"};
+ Tests.assertEquals(o.foo2,"bar2","Simple assignment in object literal");
+ Tests.assertEquals(o.foo,"bar","Duplicated assignment in object literal");
++
++ var s:String = "Lightspark";
++ var c:Class = s.constructor;
++ Tests.assertTrue(c == String, "Constructor property");
++
+ Tests.report(visual, this.name);
+ }
+ ]]>
+diff --git a/tests/XML_test.mxml b/tests/XML_test.mxml
+index cb18282..54587d7 100644
+--- a/tests/XML_test.mxml
++++ b/tests/XML_test.mxml
+@@ -44,6 +44,9 @@
+ Tests.assertTrue(Object("123")==simplexml, "equality: string and simple XML");
+ Tests.assertTrue(Object(123)==simplexml, "equality: integer and simple XML");
+
++ var cdata:XML = new XML("<![CDATA[Lightspark]"+"]>");
++ Tests.assertEquals(cdata, "Lightspark", "Only CDATA node in file");
++
+ Tests.report(visual, this.name);
+ }
+ ]]>
+diff --git a/tests/geom_Matrix_test.mxml b/tests/geom_Matrix_test.mxml
+index 667904a..89d2a5d 100644
+--- a/tests/geom_Matrix_test.mxml
++++ b/tests/geom_Matrix_test.mxml
+@@ -1,64 +1,64 @@
+-<?xml version="1.0"?>
+-<mx:Application name="lightspark_geom_Matrix_test"
+- xmlns:mx="http://www.adobe.com/2006/mxml"
+- layout="absolute"
+- applicationComplete="appComplete();"
+- backgroundColor="white">
+-
+-<mx:Script>
+-<![CDATA[
+- import flash.display.DisplayObject;
+- import flash.display.Sprite;
+- import Tests;
+-
+- private function matrixEqual(m1:Matrix, m2:Matrix):Boolean {
+- return m1.a == m2.a && m1.b == m2.b && m1.c == m2.c && m1.d == m2.d && m1.tx == m2.tx && m1.ty == m2.ty;
+- }
+-
+- private function appComplete():void
+- {
+- var mat:Matrix = new Matrix();
+- Tests.assertTrue(mat.a == 1 && mat.b == 0 && mat.c == 0 && mat.d == 1, "new Matrix()");
+-
+- var matc:Matrix = mat.clone();
+- Tests.assertTrue(matrixEqual(mat, matc), "matrix.clone");
+-
+- var matm1:Matrix = new Matrix(1, 4, 2, 5, 3, 5);
+- var matm2:Matrix = new Matrix(2, 4, 5, 7, 9, 11);
+- var matm3:Matrix = new Matrix(10, 28, 19, 55, 34, 96);
+- matm1.concat(matm2);
+- Tests.assertTrue(matrixEqual(matm1, matm3), "matrix.concat");
+-
+- mat.a = 50; mat.b = 60; mat.c = 5; mat.d = 100;
+- mat.identity();
+- Tests.assertTrue(mat.a == 1 && mat.b == 0 && mat.c == 0 && mat.d == 1, "Matrix.identity");
+-
+- var mat2:Matrix = new Matrix();
+- mat2.rotate(Math.PI / 2);
+- Tests.assertTrue(mat2.a == 0 && mat2.b == 1 && mat2.c == -1 && mat2.d == 0, "Matrix.rotate");
+-
+- var mat3:Matrix = new Matrix();
+- mat3.scale(4, 2);
+- Tests.assertTrue(mat3.a == 4 && mat3.b == 0 && mat3.c == 0 && mat3.d == 2, "Matrix.scale");
+-
+- var mat4:Matrix = new Matrix();
+- mat4.translate(4, 2);
+- Tests.assertTrue(mat4.tx == 4 && mat4.ty == 2, "Matrix.translate");
+-
+- var mati1:Matrix = new Matrix(1, 4, 2, 5, 0, 0);
+- var mati2:Matrix = mati1.clone();
+- mati2.invert();
+- mati1.concat(mati2);
+- Tests.assertTrue(matrixEqual(mati1, new Matrix(1, 0, 0, 1, 0, 0)), "matrix.invert");
+-
+- Tests.report(visual, this.name);
+- }
+-]]>
+-</mx:Script>
+-
+-<mx:UIComponent id="visual" />
+-
+-</mx:Application>
+-
+-
+-
++<?xml version="1.0"?>
++<mx:Application name="lightspark_geom_Matrix_test"
++ xmlns:mx="http://www.adobe.com/2006/mxml"
++ layout="absolute"
++ applicationComplete="appComplete();"
++ backgroundColor="white">
++
++<mx:Script>
++<![CDATA[
++ import flash.display.DisplayObject;
++ import flash.display.Sprite;
++ import Tests;
++
++ private function matrixEqual(m1:Matrix, m2:Matrix):Boolean {
++ return m1.a == m2.a && m1.b == m2.b && m1.c == m2.c && m1.d == m2.d && m1.tx == m2.tx && m1.ty == m2.ty;
++ }
++
++ private function appComplete():void
++ {
++ var mat:Matrix = new Matrix();
++ Tests.assertTrue(mat.a == 1 && mat.b == 0 && mat.c == 0 && mat.d == 1, "new Matrix()");
++
++ var matc:Matrix = mat.clone();
++ Tests.assertTrue(matrixEqual(mat, matc), "matrix.clone");
++
++ var matm1:Matrix = new Matrix(1, 4, 2, 5, 3, 5);
++ var matm2:Matrix = new Matrix(2, 4, 5, 7, 9, 11);
++ var matm3:Matrix = new Matrix(22, 32, 29, 43, 40, 58);
++ matm1.concat(matm2);
++ Tests.assertTrue(matrixEqual(matm1, matm3), "matrix.concat");
++
++ mat.a = 50; mat.b = 60; mat.c = 5; mat.d = 100;
++ mat.identity();
++ Tests.assertTrue(mat.a == 1 && mat.b == 0 && mat.c == 0 && mat.d == 1, "Matrix.identity");
++
++ var mat2:Matrix = new Matrix();
++ mat2.rotate(Math.PI / 2);
++ Tests.assertTrue(mat2.a == 0 && mat2.b == 1 && mat2.c == -1 && mat2.d == 0, "Matrix.rotate");
++
++ var mat3:Matrix = new Matrix();
++ mat3.scale(4, 2);
++ Tests.assertTrue(mat3.a == 4 && mat3.b == 0 && mat3.c == 0 && mat3.d == 2, "Matrix.scale");
++
++ var mat4:Matrix = new Matrix();
++ mat4.translate(4, 2);
++ Tests.assertTrue(mat4.tx == 4 && mat4.ty == 2, "Matrix.translate");
++
++ var mati1:Matrix = new Matrix(1, 4, 2, 5, 0, 0);
++ var mati2:Matrix = mati1.clone();
++ mati2.invert();
++ mati1.concat(mati2);
++ Tests.assertTrue(matrixEqual(mati1, new Matrix(1, 0, 0, 1, 0, 0)), "matrix.invert");
++
++ Tests.report(visual, this.name);
++ }
++]]>
++</mx:Script>
++
++<mx:UIComponent id="visual" />
++
++</mx:Application>
++
++
++
+diff --git a/tests/geom_Point_test.mxml b/tests/geom_Point_test.mxml
+index f8d926c..25bbaa3 100644
+--- a/tests/geom_Point_test.mxml
++++ b/tests/geom_Point_test.mxml
+@@ -1,52 +1,52 @@
+-<?xml version="1.0"?>
+-<mx:Application name="lightspark_geom_Point_test"
+- xmlns:mx="http://www.adobe.com/2006/mxml"
+- layout="absolute"
+- applicationComplete="appComplete();"
+- backgroundColor="white">
+-
+-<mx:Script>
+-<![CDATA[
+- import flash.geom.Point;
+- private function appComplete():void
+- {
+-
+- var point:Point = new Point();
+- Tests.assertEquals(0, point.x, "new Point().x == 0", false);
+- Tests.assertEquals(0, point.y, "new Point().y == 0", false);
+-
+- var point2:Point = new Point(6, 8);
+- Tests.assertEquals(6, point2.x, "new Point(6,8).x == 6", false);
+- Tests.assertEquals(8, point2.y, "new Point(6,8).y == 8", false);
+-
+- var point3:Point = Point.interpolate(point, point2, 0.5);
+- Tests.assertEquals(3, point3.x,"Point.interpolate (x)", false);
+- Tests.assertEquals(4, point3.y, "Point.interpolate (y)", false);
+-
+- Tests.assertEquals(10, Point.distance(point, point2), "Point.distance", false);
+-
+- var point4:Point = new Point(3, 2).add(point2);
+- Tests.assertEquals(9, point4.x, "Point.add (x)", false);
+- Tests.assertEquals(10, point4.y, "Point.add (y)", false);
+-
+- var point5:Point = point4.clone();
+- Tests.assertTrue(point4.equals(point5), "Point.equals");
+-
+- var point6:Point = new Point(0, 5);
+- point6.normalize(1);
+- Tests.assertEquals(1, point6.y, "Point.normalize", false);
+-
+- var point7:Point = new Point(0, 0);
+- point7.offset(2, 3);
+- Tests.assertEquals(2, point7.x, "Point.offset (x)", false);
+- Tests.assertEquals(3, point7.y, "Point.offset (y)", false);
+-
+- Tests.report(visual, name);
+- }
+-]]>
+-</mx:Script>
+-
+-<mx:UIComponent id="visual" />
+-
+-</mx:Application>
+-
++<?xml version="1.0"?>
++<mx:Application name="lightspark_geom_Point_test"
++ xmlns:mx="http://www.adobe.com/2006/mxml"
++ layout="absolute"
++ applicationComplete="appComplete();"
++ backgroundColor="white">
++
++<mx:Script>
++<![CDATA[
++ import flash.geom.Point;
++ private function appComplete():void
++ {
++
++ var point:Point = new Point();
++ Tests.assertEquals(0, point.x, "new Point().x == 0", false);
++ Tests.assertEquals(0, point.y, "new Point().y == 0", false);
++
++ var point2:Point = new Point(6, 8);
++ Tests.assertEquals(6, point2.x, "new Point(6,8).x == 6", false);
++ Tests.assertEquals(8, point2.y, "new Point(6,8).y == 8", false);
++
++ var point3:Point = Point.interpolate(point, point2, 0.5);
++ Tests.assertEquals(3, point3.x,"Point.interpolate (x)", false);
++ Tests.assertEquals(4, point3.y, "Point.interpolate (y)", false);
++
++ Tests.assertEquals(10, Point.distance(point, point2), "Point.distance", false);
++
++ var point4:Point = new Point(3, 2).add(point2);
++ Tests.assertEquals(9, point4.x, "Point.add (x)", false);
++ Tests.assertEquals(10, point4.y, "Point.add (y)", false);
++
++ var point5:Point = point4.clone();
++ Tests.assertTrue(point4.equals(point5), "Point.equals");
++
++ var point6:Point = new Point(0, 5);
++ point6.normalize(1);
++ Tests.assertEquals(1, point6.y, "Point.normalize", false);
++
++ var point7:Point = new Point(0, 0);
++ point7.offset(2, 3);
++ Tests.assertEquals(2, point7.x, "Point.offset (x)", false);
++ Tests.assertEquals(3, point7.y, "Point.offset (y)", false);
++
++ Tests.report(visual, name);
++ }
++]]>
++</mx:Script>
++
++<mx:UIComponent id="visual" />
++
++</mx:Application>
++
+diff --git a/tests/geom_Rectangle_test.mxml b/tests/geom_Rectangle_test.mxml
+index b8450c4..43734db 100644
+--- a/tests/geom_Rectangle_test.mxml
++++ b/tests/geom_Rectangle_test.mxml
+@@ -1,72 +1,72 @@
+-<?xml version="1.0"?>
+-<mx:Application name="lightspark_geom_Rectangle_test"
+- xmlns:mx="http://www.adobe.com/2006/mxml"
+- layout="absolute"
+- applicationComplete="appComplete();"
+- backgroundColor="white">
+-
+-<mx:Script>
+-<![CDATA[
+- import flash.geom.Rectangle;
+- import flash.geom.Point;
+-
+- private function appComplete():void
+- {
+-
+- var rect:Rectangle = new Rectangle(0, 0, 10, 10);
+-
+- Tests.assertEquals(rect.clone(), rect, "rectangle.clone");
+-
+- Tests.assertTrue(rect.contains(1, 1), "rectangle.contains")
+-
+- var point:Point = new Point(1, 1);
+- Tests.assertTrue(rect.containsPoint(point), "rectangle.containsPoint")
+-
+- var rect2:Rectangle = new Rectangle(1, 1, 9, 9);
+- Tests.assertTrue(rect.containsRect(rect2), "rectangle.containsRect")
+-
+- Tests.assertTrue(rect.equals(new Rectangle(0, 0, 10, 10)), "rectangle.equals")
+-
+- var rectinflated:Rectangle = new Rectangle(0, 0, 11, 11);
+- rect2.inflate(1, 1);
+- Tests.assertEquals(rect2, rectinflated, "rectangle.inflate");
+-
+- var rect3:Rectangle = new Rectangle(1, 1, 9, 9);
+- rect3.inflatePoint(new Point(1, 1));
+- Tests.assertEquals(rect3, rectinflated, "rectangle.inflatePoint");
+-
+- var rect4:Rectangle = new Rectangle(5, 5, 10, 10);
+- Tests.assertEquals(rect.intersection(rect4), new Rectangle(5, 5, 5, 5), "rectangle.intersection");
+-
+- Tests.assertTrue(rect.intersects(rect4), "rectangle.intersects")
+-
+- Tests.assertFalse(rect.isEmpty(), "rectangle.isEmpty")
+-
+- var rect5:Rectangle = new Rectangle(-1, -1, 10, 10);
+- rect5.offset(1, 1);
+- Tests.assertEquals(rect5, rect, "rectangle.offset");
+-
+- var rect6:Rectangle = new Rectangle(-1, -1, 10, 10);
+- var point2:Point = new Point(1, 1);
+- rect6.offsetPoint(point2);
+- Tests.assertEquals(rect6, rect, "rectangle.offsetPoint");
+-
+- rect6.setEmpty();
+- Tests.assertTrue(rect6.isEmpty(), "rectangle.setEmpty")
+-
+- var rect9:Rectangle = new Rectangle(0, 0, 10, 10);
+- Tests.assertEquals(rect9.toString(), "(x=0.00, y=0.00, w=10.00, h=10.00)", "rectangle.toString");
+-
+- var rect7:Rectangle = new Rectangle(0, 0, 10, 10);
+- var rect8:Rectangle = new Rectangle(10, 10, 10, 10);
+- Tests.assertEquals(rect7.union(rect8), new Rectangle(0, 0, 20, 20), "rectangle.union");
+-
+- Tests.report(visual, name);
+- }
+-]]>
+-</mx:Script>
+-
+-<mx:UIComponent id="visual" />
+-
+-</mx:Application>
+-
++<?xml version="1.0"?>
++<mx:Application name="lightspark_geom_Rectangle_test"
++ xmlns:mx="http://www.adobe.com/2006/mxml"
++ layout="absolute"
++ applicationComplete="appComplete();"
++ backgroundColor="white">
++
++<mx:Script>
++<![CDATA[
++ import flash.geom.Rectangle;
++ import flash.geom.Point;
++
++ private function appComplete():void
++ {
++
++ var rect:Rectangle = new Rectangle(0, 0, 10, 10);
++
++ Tests.assertEquals(rect.clone(), rect, "rectangle.clone");
++
++ Tests.assertTrue(rect.contains(1, 1), "rectangle.contains")
++
++ var point:Point = new Point(1, 1);
++ Tests.assertTrue(rect.containsPoint(point), "rectangle.containsPoint")
++
++ var rect2:Rectangle = new Rectangle(1, 1, 9, 9);
++ Tests.assertTrue(rect.containsRect(rect2), "rectangle.containsRect")
++
++ Tests.assertTrue(rect.equals(new Rectangle(0, 0, 10, 10)), "rectangle.equals")
++
++ var rectinflated:Rectangle = new Rectangle(0, 0, 11, 11);
++ rect2.inflate(1, 1);
++ Tests.assertEquals(rect2, rectinflated, "rectangle.inflate");
++
++ var rect3:Rectangle = new Rectangle(1, 1, 9, 9);
++ rect3.inflatePoint(new Point(1, 1));
++ Tests.assertEquals(rect3, rectinflated, "rectangle.inflatePoint");
++
++ var rect4:Rectangle = new Rectangle(5, 5, 10, 10);
++ Tests.assertEquals(rect.intersection(rect4), new Rectangle(5, 5, 5, 5), "rectangle.intersection");
++
++ Tests.assertTrue(rect.intersects(rect4), "rectangle.intersects")
++
++ Tests.assertFalse(rect.isEmpty(), "rectangle.isEmpty")
++
++ var rect5:Rectangle = new Rectangle(-1, -1, 10, 10);
++ rect5.offset(1, 1);
++ Tests.assertEquals(rect5, rect, "rectangle.offset");
++
++ var rect6:Rectangle = new Rectangle(-1, -1, 10, 10);
++ var point2:Point = new Point(1, 1);
++ rect6.offsetPoint(point2);
++ Tests.assertEquals(rect6, rect, "rectangle.offsetPoint");
++
++ rect6.setEmpty();
++ Tests.assertTrue(rect6.isEmpty(), "rectangle.setEmpty")
++
++ var rect9:Rectangle = new Rectangle(0, 0, 10, 10);
++ Tests.assertEquals(rect9.toString(), "(x=0.00, y=0.00, w=10.00, h=10.00)", "rectangle.toString");
++
++ var rect7:Rectangle = new Rectangle(0, 0, 10, 10);
++ var rect8:Rectangle = new Rectangle(10, 10, 10, 10);
++ Tests.assertEquals(rect7.union(rect8), new Rectangle(0, 0, 20, 20), "rectangle.union");
++
++ Tests.report(visual, name);
++ }
++]]>
++</mx:Script>
++
++<mx:UIComponent id="visual" />
++
++</mx:Application>
++
diff --git a/community-testing/mypaint/PKGBUILD b/community-testing/mypaint/PKGBUILD
new file mode 100644
index 000000000..cc4d4f85b
--- /dev/null
+++ b/community-testing/mypaint/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 51725 2011-07-13 14:26:16Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Jon Nordby <jononor@gmail.com>
+
+pkgname=mypaint
+pkgver=0.9.1
+pkgrel=3
+pkgdesc="A fast and easy painting application for digital painters, with brush dynamics"
+arch=('i686' 'x86_64')
+url="http://mypaint.intilinux.com/"
+license=('GPL' 'LGPL')
+depends=('pygtk' 'python2-numpy' 'protobuf-python' 'python2')
+makedepends=('scons>=0.97' 'swig>=1.3.39')
+install=mypaint.install
+source=(http://download.gna.org/$pkgname/$pkgname-$pkgver.tar.bz2)
+md5sums=('6249a16359a438d6dc658f5765b35515')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ # python2 fix
+ sed -i 's_python generate.py_python2 generate.py_' brushlib/SConscript
+ for file in $(find . -name '*.py' -print); do
+ sed -i 's_^#!.*/usr/bin/python_#!/usr/bin/python2_' $file
+ sed -i 's_^#!.*/usr/bin/env.*python_#!/usr/bin/env python2_' $file
+ done
+ scons
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ scons prefix="$pkgdir"/usr install
+}
diff --git a/community-testing/mypaint/mypaint.install b/community-testing/mypaint/mypaint.install
new file mode 100644
index 000000000..5f0358791
--- /dev/null
+++ b/community-testing/mypaint/mypaint.install
@@ -0,0 +1,13 @@
+post_install() {
+ [ -x `which update-mime-database` ] && update-mime-database usr/share/mime
+ [ -x `which gtk-update-icon-cache` ] && gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ /bin/true
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community-testing/python-scipy/PKGBUILD b/community-testing/python-scipy/PKGBUILD
new file mode 100644
index 000000000..80a97ca82
--- /dev/null
+++ b/community-testing/python-scipy/PKGBUILD
@@ -0,0 +1,83 @@
+# $Id: PKGBUILD 51728 2011-07-13 14:46:12Z tdziedzic $
+# Maintainer: Angel 'angvp' Velasquez <angvp[at]archlinux.com.ve>
+# Maintainer: Ray Rashif <schiv@archlinux.org>
+# Contributor: Douglas Soares de Andrade <dsa@aur.archlinux.org>
+# Contributor: Bodor Dávid Gábor <david.gabor.bodor@gmail.com>
+# Contributor: Andrzej Giniewicz <gginiu@gmail.com>
+
+pkgbase=python-scipy
+_app=scipy
+pkgname=('python-scipy' 'python2-scipy')
+pkgver=0.9.0
+_theapp=$_app-$pkgver
+pkgrel=2
+pkgdesc="SciPy is open-source software for mathematics, science, and engineering."
+arch=('i686' 'x86_64')
+url="http://www.scipy.org/"
+license=('BSD')
+depends=('python-numpy')
+makedepends=('gcc-fortran' 'python2-numpy')
+changelog=$pkgbase.changelog
+source=("http://downloads.sourceforge.net/$_app/$_theapp.tar.gz")
+md5sums=('ebfef6e8e82d15c875a4ee6a46d4e1cd')
+
+build() {
+ unset LDFLAGS
+ unset FFLAGS
+
+ # Compatibility symlinks for current stable numpy
+ # - no need to patch numpy just for this
+ # see http://projects.scipy.org/numpy/ticket/1749
+ ln -sf /usr/lib/liblapack.so liblapack.cpython-32mu.so
+ ln -sf /usr/lib/libblas.so libblas.cpython-32mu.so
+ export LAPACK="$srcdir"
+ export BLAS="$srcdir"
+
+ # Changing the arithmetic parameter (Thanks to Fabrizio Castellano)
+ sed -i "s/\#define\ UNK\ 1/\#define\ IBMPC\ 1/" \
+ $_theapp/$_app/special/cephes/mconf.h
+
+ # 2 builds
+ cp -r $_theapp $_theapp-py2
+
+ # build for python3
+ cd $_theapp
+ python setup.py config_fc --fcompiler=gnu95 build
+
+ # build for python2
+ cd ../$_theapp-py2
+
+ for file in $(find . -name '*.py' -print); do
+ sed -i 's_^#!.*/usr/bin/python_#!/usr/bin/python2_' $file
+ sed -i 's_^#!.*/usr/bin/env.*python_#!/usr/bin/env python2_' $file
+ done
+
+ python2 setup.py config_fc --fcompiler=gnu95 build
+}
+
+package_python-scipy() {
+ provides=('python3-scipy' 'scipy')
+
+ cd "$srcdir/$_theapp"
+
+ python setup.py config_fc --fcompiler=gnu95 install \
+ --prefix=/usr --root="$pkgdir" --optimize=1
+
+ install -Dm644 LICENSE.txt \
+ "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+package_python2-scipy() {
+ depends=('python2-numpy')
+ conflicts=('python-scipy<0.9.0')
+
+ cd "$srcdir/$_theapp-py2"
+
+ python2 setup.py config_fc --fcompiler=gnu95 install \
+ --prefix=/usr --root="$pkgdir" --optimize=1
+
+ install -Dm644 LICENSE.txt \
+ "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community-testing/python-scipy/python-scipy.changelog b/community-testing/python-scipy/python-scipy.changelog
new file mode 100644
index 000000000..76a3e7f35
--- /dev/null
+++ b/community-testing/python-scipy/python-scipy.changelog
@@ -0,0 +1,49 @@
+2011-07-13 Thomas Dziedzic < gostrc at gmail >
+ * 0.9.0-2:
+ rebuild for python3-numpy to python-numpy rename
+ also, minor PKGBUILD cleanup
+
+2011-04-24 Ray Rashif <schiv@archlinux.org>
+
+ * 0.9.0-1:
+ Couldn't release previous update due to lapack/blas issues
+ See http://mailman.archlinux.org/pipermail/arch-general/2011-April/019677.html
+ Hopefully symlink trick from AUR/python3-scipy fixes that
+
+2011-04-05 Ray Rashif <schiv@archlinux.org>
+
+ * 0.9.0-1:
+ Upstream release
+ SciPy now supports Python 3
+ Package split for python(3), python2
+ PKGBUILD cleanup
+
+2010-07-29 Angel 'angvp' Velasquez <angvp@archlinux.org>
+ * Updated to: 0.8.0
+2009-08-05 Douglas Soares de Andrade <douglas@archlinux.org>
+
+ * Updated to: 0.7.1
+
+2009-02-11 Douglas Soares de Andrade <douglas@archlinux.org>
+
+ * Updating for i686: 0.7
+
+2008-12-12 Douglas Soares de Andrade <douglas@archlinux.org>
+
+ * Updating for i686: 0.7.0 beta 1
+
+2008-11-07 Douglas Soares de Andrade <douglas@archlinux.org>
+
+ * Updated to svn as scipy 0.6 wont work with python 2.6
+
+2008-02-21 Eric Belanger <eric@archlinux.org>
+
+ * Added x86_64 arch tag
+ * Added license
+
+2007-10-29 Douglas Soares de Andrade <dsa@aur.archlinux.org>
+
+ * Changed email
+ * Fixed some problems in the PKGBUILD
+ * Updated to new release - 0.6.0
+
diff --git a/community-testing/stunnel/Makefile.patch b/community-testing/stunnel/Makefile.patch
new file mode 100644
index 000000000..27be911d6
--- /dev/null
+++ b/community-testing/stunnel/Makefile.patch
@@ -0,0 +1,21 @@
+--- tools/Makefile.in 2010-03-31 04:45:09.000000000 -0500
++++ tools/Makefile.in 2010-04-11 17:17:41.000000000 -0500
+@@ -334,8 +334,7 @@
+
+ info-am:
+
+-install-data-am: install-confDATA install-data-local \
+- install-examplesDATA
++install-data-am: install-confDATA install-examplesDATA
+
+ install-dvi: install-dvi-am
+
+@@ -377,7 +376,7 @@
+ clean-local distclean distclean-generic distclean-libtool \
+ distdir dvi dvi-am html html-am info info-am install \
+ install-am install-confDATA install-data install-data-am \
+- install-data-local install-dvi install-dvi-am \
++ install-dvi install-dvi-am \
+ install-examplesDATA install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
diff --git a/community-testing/stunnel/PKGBUILD b/community-testing/stunnel/PKGBUILD
new file mode 100644
index 000000000..eb2a50995
--- /dev/null
+++ b/community-testing/stunnel/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id: PKGBUILD 51826 2011-07-16 00:11:50Z dreisner $
+# Maintainer: Kaiting Chen <kaitocracy@gmail.com>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+# Contributor: Kevin Piche <kevin@archlinux.org>
+
+pkgname=stunnel
+pkgver=4.39
+pkgrel=1
+pkgdesc="A program that allows you to encrypt arbitrary TCP connections inside SSL"
+arch=('i686' 'x86_64')
+url="http://www.stunnel.org"
+license=('GPL')
+depends=('openssl')
+install=stunnel.install
+options=('!libtool')
+source=("ftp://ftp.stunnel.org/stunnel/$pkgname-$pkgver.tar.gz"
+ 'Makefile.patch' 'stunnel.rc.d')
+md5sums=('853739119a8364daea750154af6d7e79'
+ 'f15398497e10e080c2406d2fc541660c'
+ 'cb647c71ff4cb1e035b6e515d5f13ebf')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ # don't create a certificate...
+ patch -p0 < $srcdir/Makefile.patch
+
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --enable-ipv6 \
+ --disable-libwrap
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR=$pkgdir install
+
+ for i in ca.pl importCA.sh; do
+ install -Dm755 tools/$i $pkgdir/usr/share/stunnel/$i
+ done
+ install -Dm755 $srcdir/stunnel.rc.d $pkgdir/etc/rc.d/stunnel
+ sed -e "s:/usr/var/lib/stunnel/:/var/run/stunnel:g" \
+ -e "s:/usr/etc/stunnel/:/etc/stunnel/:g" \
+ -e "s:nobody:stunnel:g" -e "s:nogroup:stunnel:g" \
+ -i ${pkgdir}/etc/stunnel/stunnel.conf-sample
+ install -Dm644 tools/stunnel.cnf $pkgdir/etc/stunnel/stunnel.cnf
+}
diff --git a/community-testing/stunnel/stunnel.install b/community-testing/stunnel/stunnel.install
new file mode 100644
index 000000000..f7bbbffcb
--- /dev/null
+++ b/community-testing/stunnel/stunnel.install
@@ -0,0 +1,35 @@
+post_install() {
+ # add stunnel group
+ if [ ! `grep stunnel /etc/group` ]; then
+ groupadd -g 16 stunnel &>/dev/null
+ fi
+
+ # add stunnel user
+ id stunnel &>/dev/null || \
+ useradd -u 16 -g stunnel -d /var/run/stunnel -s /bin/false stunnel
+
+ # create chroot dir if necessary.
+ if [ ! -d /var/run/stunnel ]; then
+ install -d -m 770 -o stunnel -g stunnel /var/run/stunnel
+ fi
+
+ cat << EOF
+
+NOTE
+----
+Copy /etc/stunnel/stunnel.conf-sample to /etc/stunnel/stunnel.conf
+& edit it to match your setup before invoking the daemon (/etc/rc.d/stunnel).
+
+EOF
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ # remove users & groups
+ userdel stunnel &> /dev/null
+ groupdel stunnel &> /dev/null
+ rm -rf /var/run/stunnel
+}
diff --git a/community-testing/stunnel/stunnel.rc.d b/community-testing/stunnel/stunnel.rc.d
new file mode 100644
index 000000000..15816abe8
--- /dev/null
+++ b/community-testing/stunnel/stunnel.rc.d
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pidof -o %PPID /usr/bin/stunnel`
+case "$1" in
+ start)
+ stat_busy "Starting stunnel"
+ [ -z "$PID" ] && /usr/bin/stunnel
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon stunnel
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping stunnel"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon stunnel
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/community-testing/systemd/PKGBUILD b/community-testing/systemd/PKGBUILD
new file mode 100644
index 000000000..f344d4d74
--- /dev/null
+++ b/community-testing/systemd/PKGBUILD
@@ -0,0 +1,69 @@
+# $Id: PKGBUILD 51746 2011-07-13 22:59:52Z dreisner $
+# Maintainer: Dave Reisner <dreisner@archlinux.org>
+
+pkgname=systemd
+pkgver=30
+pkgrel=1
+pkgdesc="Session and Startup manager"
+arch=('i686' 'x86_64')
+url="http://www.freedesktop.org/wiki/Software/systemd"
+license=('GPL2')
+depends=('dbus-core' 'sysvinit' 'util-linux>=2.19' 'udev>=172')
+makedepends=('docbook-xsl' 'libxslt' 'cryptsetup' 'gtk2' 'intltool' 'libnotify')
+optdepends=('cryptsetup: required for encrypted block devices'
+ 'dbus-python: systemd-analyze'
+ 'gtk2: systemadm'
+ 'initscripts: legacy support for hostname and vconsole setup'
+ 'initscripts-systemd: native boot and initialization scripts'
+ 'libnotify: systemadm'
+ 'python2-cairo: systemd-analyze'
+ 'systemd-arch-units: collection of native unit files for Arch daemon/init scripts')
+groups=('systemd')
+options=('!libtool')
+backup=(etc/systemd/system.conf
+ etc/tmpfiles.d/console.conf
+ usr/lib/tmpfiles.d/legacy.conf
+ usr/lib/tmpfiles.d/systemd.conf
+ usr/lib/tmpfiles.d/x11.conf)
+install=systemd.install
+source=("http://www.freedesktop.org/software/$pkgname/$pkgname-$pkgver.tar.bz2"
+ "os-release")
+md5sums=('dafd6d2471e2bf80d35525df9801a40f'
+ '752636def0db3c03f121f8b4f44a63cd')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr \
+ --with-rootdir= \
+ --sysconfdir=/etc \
+ --libexecdir=/usr/lib \
+ --localstatedir=/var \
+ --disable-audit \
+ --disable-tcpwrap
+
+ make
+
+ # fix .so links in manpages
+ sed -i 's|\.so halt\.8|.so systemd.halt.8|' man/{halt,poweroff}.8
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+
+ install -Dm644 "$srcdir/os-release" "$pkgdir/etc/os-release"
+ printf "d /run/console 755 root root\n" > "$pkgdir/etc/tmpfiles.d/console.conf"
+
+ # fix systemd-analyze for python2
+ sed -i '1s/python$/python2/' "$pkgdir/usr/bin/systemd-analyze"
+
+ # rename man pages to avoid conflicts with sysvinit
+ cd "$pkgdir/usr/share/man/man8"
+ for manpage in telinit halt reboot poweroff runlevel shutdown; do
+ mv {,systemd.}"$manpage.8"
+ done
+
+}
+
diff --git a/community-testing/systemd/os-release b/community-testing/systemd/os-release
new file mode 100644
index 000000000..5e24a6031
--- /dev/null
+++ b/community-testing/systemd/os-release
@@ -0,0 +1,5 @@
+NAME="Arch Linux"
+ID=arch
+PRETTY_NAME="Arch Linux"
+ANSI_COLOR="1;36"
+
diff --git a/community-testing/systemd/systemd.install b/community-testing/systemd/systemd.install
new file mode 100644
index 000000000..b4228255d
--- /dev/null
+++ b/community-testing/systemd/systemd.install
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+checkgroups() {
+ getent group lock >/dev/null || groupadd -g 54 lock
+}
+
+post_install() {
+ checkgroups
+
+ [ -f etc/machine-id ] || systemd-machine-id-setup
+
+ echo "systemd has been installed to /bin/systemd. Please ensure you append"
+ echo "init=/bin/systemd to your kernel command line in your bootloader."
+}
+
+post_upgrade() {
+ checkgroups
+
+ [ -f etc/machine-id ] || systemd-machine-id-setup
+ systemctl daemon-reexec >/dev/null || :
+}
+
+pre_remove() {
+ rm -f /etc/systemd/system/default.target
+}
+
+post_remove() {
+ getent group lock >/dev/null && groupdel lock
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community-testing/vhba-module/PKGBUILD b/community-testing/vhba-module/PKGBUILD
new file mode 100644
index 000000000..137897a28
--- /dev/null
+++ b/community-testing/vhba-module/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 51733 2011-07-13 18:23:43Z schiv $
+# Maintainer: Mateusz Herych <heniekk@gmail.com>
+# Contributor: Charles Lindsay <charles@chaoslizard.org>
+
+pkgname=vhba-module
+pkgver=20110416
+_kernver='2.6.39-ARCH'
+pkgrel=1
+pkgdesc="Kernel module that emulates SCSI devices"
+arch=('i686' 'x86_64')
+url="http://cdemu.sourceforge.net/"
+license=('GPL2')
+depends=('kernel26>=2.6.39' 'kernel26<2.6.40')
+makedepends=('kernel26-headers>=2.6.39')
+install=vhba-module.install
+source=(http://downloads.sourceforge.net/cdemu/$pkgname-$pkgver.tar.gz)
+md5sums=('2f91dd4ee8648da92d625221d4275b60')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make -j1 KDIR=/usr/src/linux-${_kernver}
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ install -D vhba.ko "$pkgdir/lib/modules/${_kernver}/extra/vhba.ko"
+ sed -i "s/KERNEL_VERSION='.*'/KERNEL_VERSION='${_kernver}'/" "$startdir/vhba-module.install"
+}
diff --git a/community-testing/vhba-module/vhba-kernel2.6.37.patch b/community-testing/vhba-module/vhba-kernel2.6.37.patch
new file mode 100644
index 000000000..e2b619c74
--- /dev/null
+++ b/community-testing/vhba-module/vhba-kernel2.6.37.patch
@@ -0,0 +1,56 @@
+From 9ad7ec7fae387f05249b9f4e6accb3bc3b0b8b0f Mon Sep 17 00:00:00 2001
+From: Alexandre Rostovtsev <tetromino@gmail.com>
+Date: Thu, 6 Jan 2011 03:39:26 -0500
+Subject: [PATCH] Make vhba compatible with kernel 2.6.37 SCSI host API
+
+Due to the SCSI host lock push-down changes introduced in 2.6.37 (see
+http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=f281233d3eba15fb225d21ae2e228fd4553d824a
+for more details), trying to use current vhba on 2.6.37 leads to oopses
+and kernel panics - e.g. see http://bugs.gentoo.org/show_bug.cgi?id=350753
+
+Add some #ifdefs to enable compatibility both with 2.6.37 and older API.
+Note that if future kernel versions remove the DEF_SCSI_QCMD macro, this
+issue will need to be revisited.
+
+Signed-off-by: Alexandre Rostovtsev <tetromino@gmail.com>
+---
+ vhba-module/vhba.c | 9 ++++++++-
+ 1 files changed, 8 insertions(+), 1 deletions(-)
+
+diff --git a/vhba-module/vhba.c b/vhba-module/vhba.c
+index 059f6ce..9d13016 100644
+--- a/vhba-module/vhba.c
++++ b/vhba-module/vhba.c
+@@ -27,6 +27,7 @@
+ #include <linux/miscdevice.h>
+ #include <linux/poll.h>
+ #include <linux/slab.h>
++#include <linux/version.h>
+ #ifdef CONFIG_COMPAT
+ #include <linux/compat.h>
+ #endif
+@@ -363,7 +364,7 @@ static void vhba_free_command(struct vhba_command *vcmd)
+ spin_unlock_irqrestore(&vhost->cmd_lock, flags);
+ }
+
+-static int vhba_queuecommand(struct scsi_cmnd *cmd, void (*done)(struct scsi_cmnd *))
++static int vhba_queuecommand_lck(struct scsi_cmnd *cmd, void (*done)(struct scsi_cmnd *))
+ {
+ struct vhba_device *vdev;
+ int retval;
+@@ -388,6 +389,12 @@ static int vhba_queuecommand(struct scsi_cmnd *cmd, void (*done)(struct scsi_cmn
+ return retval;
+ }
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)
++DEF_SCSI_QCMD(vhba_queuecommand)
++#else
++#define vhba_queuecommand vhba_queuecommand_lck
++#endif
++
+ static int vhba_abort(struct scsi_cmnd *cmd)
+ {
+ struct vhba_device *vdev;
+--
+1.7.3.4
+
diff --git a/community-testing/vhba-module/vhba-module.install b/community-testing/vhba-module/vhba-module.install
new file mode 100644
index 000000000..edb9e8d2b
--- /dev/null
+++ b/community-testing/vhba-module/vhba-module.install
@@ -0,0 +1,16 @@
+post_install() {
+ echo ">> Place 'vhba' in MODULES= in /etc/rc.conf to enable vhba on system boot."
+ echo ">> This module needs to be recompiled for every kernel version upgrade."
+ KERNEL_VERSION='2.6.39-ARCH'
+ depmod $KERNEL_VERSION > /dev/null 2>&1
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ KERNEL_VERSION='2.6.39-ARCH'
+ depmod $KERNEL_VERSION > /dev/null 2>&1
+}
+
diff --git a/community/alltray/PKGBUILD b/community/alltray/PKGBUILD
index 6652396ac..b61827550 100644
--- a/community/alltray/PKGBUILD
+++ b/community/alltray/PKGBUILD
@@ -1,26 +1,27 @@
-# $Id: PKGBUILD 79020 2010-04-30 01:30:58Z dgriffiths $
+# $Id: PKGBUILD 51791 2011-07-15 09:01:45Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer : James Rayner <iphitus@gmail.com>
# Contributor: Roberto Salas <ro0xito@gmail.com>
pkgname=alltray
-pkgver=0.7.4dev
-pkgrel=2
+pkgver=0.7.5dev
+pkgrel=1
pkgdesc="Drops any app in the tray."
license=('GPL')
arch=('i686' 'x86_64' 'mips64el')
url="http://alltray.trausch.us/"
-depends=('gconf' 'libgtop' 'libwnck')
-options=('!libtool' 'force')
+depends=('libxpm' 'libgtop' 'libwnck')
+options=('!libtool')
source=(https://code.launchpad.net/alltray/trunk/${pkgver}/+download/alltray-${pkgver}.tar.gz)
-md5sums=('646d6d751f815e6aeb8a58a9e5d17db9')
+md5sums=('faef46b14a3f9c14d4e5efd65245796e')
build() {
cd ${srcdir}/${pkgname}-${pkgver}
- ./configure --prefix=/usr || return 1
- make || return 1
+ ./configure --prefix=/usr
+ make
}
package() {
cd ${srcdir}/${pkgname}-${pkgver}
- make DESTDIR=${pkgdir} install || return 1
+ make DESTDIR=${pkgdir} install
}
diff --git a/community/bonnie++/PKGBUILD b/community/bonnie++/PKGBUILD
index 55800b024..8a32091ac 100644
--- a/community/bonnie++/PKGBUILD
+++ b/community/bonnie++/PKGBUILD
@@ -4,7 +4,7 @@
pkgname=bonnie++
pkgver=1.03e
-pkgrel=4
+pkgrel=5
pkgdesc="Based on the Bonnie hard drive benchmark by Tim Bray"
arch=('i686' 'x86_64')
url="http://www.coker.com.au/bonnie++/"
@@ -14,14 +14,16 @@ source=(http://www.coker.com.au/bonnie++/$pkgname-$pkgver.tgz)
sha256sums=('cb3866116634bf65760b6806be4afa7e24a1cad6f145c876df8721f01ba2e2cb')
build() {
- cd ${pkgname}-${pkgver}
+ cd $srcdir/${pkgname}-${pkgver}
./configure --prefix=/usr
sed -i "s:CFLAGS=-O2 -DNDEBUG \$(WFLAGS) \$(MORECFLAGS):CFLAGS=${CFLAGS}:" Makefile
make
}
package() {
- cd ${pkgname}-${pkgver}
+ cd $srcdir/${pkgname}-${pkgver}
make prefix="${pkgdir}/usr" install
+ install -d $pkgdir/usr/share/doc/bonnie++
+ install -Dm644 $srcdir/$pkgname-$pkgver/readme.html $pkgdir/usr/share/doc/bonnie++/readme.html
}
diff --git a/community/calibre/PKGBUILD b/community/calibre/PKGBUILD
index 1b70cc96d..5a13a4516 100644
--- a/community/calibre/PKGBUILD
+++ b/community/calibre/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 51442 2011-07-09 05:30:27Z giovanni $
+# $Id: PKGBUILD 51821 2011-07-15 23:43:02Z giovanni $
# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: Petrov Roman <nwhisper@gmail.com>
# Contributor: Andrea Fagiani <andfagiani _at_ gmail dot com>
pkgname=calibre
-pkgver=0.8.9
+pkgver=0.8.10
pkgrel=1
pkgdesc="Ebook management application"
arch=('i686' 'x86_64')
@@ -20,7 +20,7 @@ optdepends=('ipython: to use calibre-debug')
install=calibre.install
source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz
desktop_integration.patch)
-md5sums=('0f962987c33eb65c65d4fd8dad21d121'
+md5sums=('5fa9268d004ad0a5ffec9d0067f30340'
'253ce4fe5d01f8ff76b63cd3825755ea')
build() {
diff --git a/community/conkeror-git/PKGBUILD b/community/conkeror-git/PKGBUILD
new file mode 100644
index 000000000..4eeae1f71
--- /dev/null
+++ b/community/conkeror-git/PKGBUILD
@@ -0,0 +1,58 @@
+# Contributor: Heeru Kiyura <M8R-p9i5nh@mailinator.com>
+# Maintainer: Stefan Husmann <stefan-husmann@t-online.de>
+
+_commit=5b74557e78bb16af6dabf72e9499e02ece5ae2be
+pkgname=conkeror-git
+pkgver=0.9.3
+pkgrel=8
+pkgdesc="A highly programmable web browser based on Mozilla XULRunner."
+arch=('i686' 'x86_64')
+url="http://conkeror.mozdev.org/"
+license=('MPL' 'GPL' 'LGPL')
+depends=('xulrunner' 'desktop-file-utils')
+makedepends=('git' 'imagemagick')
+provides=(conkeror)
+source=(conkeror_gimpfile.xpm conkeror.sh)
+md5sums=('b592582a5b923db1707615564a95737f'
+ 'c8c2a1e54312fc504cbf868d55446e35')
+install=conkeror-git.install
+
+__gitroot="git://repo.or.cz/conkeror.git"
+__gitname="conkeror"
+
+build() {
+ cd $srcdir
+
+ ## Git checkout
+ if [ -d $srcdir/${__gitname} ] ; then
+ msg "Git checkout: Updating existing tree"
+ cd ${__gitname} && git checkout ${_commit}
+ msg "Git checkout: Tree has been updated"
+ else
+ msg "Git checkout: Retrieving sources"
+ git clone ${__gitroot} && cd ${__gitname} && git checkout ${_commit}
+ fi
+ msg "Checkout completed"
+
+ ## Build
+ [ -d ${__gitname}-build ] || rm -rf $srcdir/${__gitname}-build
+ git clone $srcdir/${__gitname} $srcdir/${__gitname}-build
+ cd $srcdir/${__gitname}-build
+ make
+}
+
+package() {
+ cd $srcdir/${__gitname}-build
+ install -d $pkgdir/usr/share/conkeror
+ install -d $pkgdir/usr/share/man/man1
+ cp -a $srcdir/${__gitname}-build/* $pkgdir/usr/share/conkeror
+ install -Dm644 $pkgdir/usr/share/conkeror/contrib/man/conkeror.1 \
+ $pkgdir/usr/share/man/man1/conkeror.1
+ rm -r $pkgdir/usr/share/conkeror/contrib/man
+ install -Dm644 $srcdir/${__gitname}-build/debian/conkeror.desktop \
+ $pkgdir/usr/share/applications/conkeror.desktop
+ rm -r $pkgdir/usr/share/conkeror/debian
+ install -d $pkgdir/usr/share/pixmaps
+ install -Dm644 $srcdir/conkeror_gimpfile.xpm $pkgdir/usr/share/pixmaps
+ install -Dm755 $srcdir/conkeror.sh $pkgdir/usr/bin/conkeror
+}
diff --git a/community/conkeror-git/conkeror-git.install b/community/conkeror-git/conkeror-git.install
new file mode 100644
index 000000000..308f27d33
--- /dev/null
+++ b/community/conkeror-git/conkeror-git.install
@@ -0,0 +1,11 @@
+post_install() {
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ update-desktop-database -q
+}
diff --git a/community/conkeror-git/conkeror.sh b/community/conkeror-git/conkeror.sh
new file mode 100644
index 000000000..7de1e7c02
--- /dev/null
+++ b/community/conkeror-git/conkeror.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+cd /usr/share/conkeror/
+xulrunner application.ini $1
+cd -
diff --git a/community/conkeror-git/conkeror_gimpfile.xpm b/community/conkeror-git/conkeror_gimpfile.xpm
new file mode 100644
index 000000000..ee2dc0773
--- /dev/null
+++ b/community/conkeror-git/conkeror_gimpfile.xpm
@@ -0,0 +1,2251 @@
+/* XPM */
+static char * conkeror_gimpfile_xpm[] = {
+"337 274 1974 2",
+" c None",
+". c #BD8A7A",
+"+ c #F1D9A4",
+"@ c #587533",
+"# c #2F6B20",
+"$ c #347028",
+"% c #38732C",
+"& c #3D7630",
+"* c #437935",
+"= c #487D3C",
+"- c #4F8141",
+"; c #558447",
+"> c #558546",
+", c #4C7F3D",
+"' c #417935",
+") c #5C7736",
+"! c #9D9C64",
+"~ c #29671B",
+"{ c #2D6A1E",
+"] c #2C6A1E",
+"^ c #2D6A1F",
+"/ c #2C6A1F",
+"( c #2B6A1E",
+"_ c #2D6B1F",
+": c #326D25",
+"< c #39732C",
+"[ c #4B7E3E",
+"} c #578546",
+"| c #4C8040",
+"1 c #427934",
+"2 c #367129",
+"3 c #2C691E",
+"4 c #246314",
+"5 c #EBD49F",
+"6 c #266619",
+"7 c #36712A",
+"8 c #4E8040",
+"9 c #538346",
+"0 c #467B39",
+"a c #38722B",
+"b c #2B6A1D",
+"c c #246414",
+"d c #DAC691",
+"e c #2A681C",
+"f c #2C6A1D",
+"g c #2D6B21",
+"h c #39722A",
+"i c #558346",
+"j c #487D3B",
+"k c #39722B",
+"l c #2D6B20",
+"m c #246417",
+"n c #236415",
+"o c #497C3C",
+"p c #568246",
+"q c #326F25",
+"r c #256516",
+"s c #2B681C",
+"t c #336F25",
+"u c #417733",
+"v c #558147",
+"w c #457B37",
+"x c #336E25",
+"y c #2C691D",
+"z c #276618",
+"A c #246415",
+"B c #26631A",
+"C c #276219",
+"D c #266119",
+"E c #2D6620",
+"F c #437A36",
+"G c #4D7F3F",
+"H c #2B6A1F",
+"I c #276619",
+"J c #2D6B1E",
+"K c #2B681D",
+"L c #2A661C",
+"M c #27641B",
+"N c #256219",
+"O c #316A25",
+"P c #316D24",
+"Q c #28681A",
+"R c #246516",
+"S c #2B691D",
+"T c #2A671C",
+"U c #28651C",
+"V c #266219",
+"W c #2A651E",
+"X c #457A37",
+"Y c #417834",
+"Z c #2F6C20",
+"` c #2C6B1E",
+" . c #2B691B",
+".. c #27641A",
+"+. c #28641B",
+"@. c #3D7430",
+"#. c #2E6B20",
+"$. c #2E6B1F",
+"%. c #2D6C1F",
+"&. c #2A691C",
+"*. c #2A691B",
+"=. c #2C6B1F",
+"-. c #2B681E",
+";. c #29651B",
+">. c #27621A",
+",. c #27631C",
+"'. c #3F7631",
+"). c #306C22",
+"!. c #2D6C20",
+"~. c #2E6C1F",
+"{. c #2E6C20",
+"]. c #29691B",
+"^. c #27631A",
+"/. c #2A641D",
+"(. c #508042",
+"_. c #357028",
+":. c #2A691A",
+"<. c #29671D",
+"[. c #28631A",
+"}. c #2F6821",
+"|. c #4E8242",
+"1. c #407733",
+"2. c #2E6D20",
+"3. c #2D6D21",
+"4. c #26621A",
+"5. c #3A722F",
+"6. c #336F27",
+"7. c #2D6D20",
+"8. c #28691A",
+"9. c #29661B",
+"0. c #2D6720",
+"a. c #508142",
+"b. c #447B38",
+"c. c #2E6D21",
+"d. c #27681A",
+"e. c #467B38",
+"f. c #3C7630",
+"g. c #2D6C21",
+"h. c #2E6E21",
+"i. c #2F6E21",
+"j. c #2F6D21",
+"k. c #276818",
+"l. c #2E6C21",
+"m. c #2B671C",
+"n. c #266118",
+"o. c #366E29",
+"p. c #38712A",
+"q. c #266718",
+"r. c #2E6E20",
+"s. c #316924",
+"t. c #558347",
+"u. c #347027",
+"v. c #2E6E22",
+"w. c #2F6E22",
+"x. c #2F6F21",
+"y. c #266818",
+"z. c #2D6821",
+"A. c #558547",
+"B. c #548246",
+"C. c #2F6D20",
+"D. c #2F6F22",
+"E. c #246617",
+"F. c #2B691E",
+"G. c #29651C",
+"H. c #2C6720",
+"I. c #538246",
+"J. c #548347",
+"K. c #2E6F21",
+"L. c #256716",
+"M. c #29671C",
+"N. c #367027",
+"O. c #2F6F23",
+"P. c #306F22",
+"Q. c #236615",
+"R. c #2A681E",
+"S. c #28631B",
+"T. c #2F6921",
+"U. c #3A742C",
+"V. c #2E6F22",
+"W. c #2F7022",
+"X. c #2F7023",
+"Y. c #216515",
+"Z. c #336C26",
+"`. c #417833",
+" + c #307022",
+".+ c #307023",
+"++ c #216513",
+"@+ c #3D742F",
+"#+ c #497D3C",
+"$+ c #2F7123",
+"%+ c #226614",
+"&+ c #4A7F3C",
+"*+ c #578348",
+"=+ c #306D24",
+"-+ c #307123",
+";+ c #2B6C1E",
+">+ c #568248",
+",+ c #3B752F",
+"'+ c #307124",
+")+ c #317123",
+"!+ c #356D29",
+"~+ c #4A7F3E",
+"{+ c #306F23",
+"]+ c #307224",
+"^+ c #286B1B",
+"/+ c #276B1A",
+"(+ c #4C803E",
+"_+ c #357027",
+":+ c #317124",
+"<+ c #317224",
+"[+ c #477C3A",
+"}+ c #307122",
+"|+ c #2F7124",
+"1+ c #307024",
+"2+ c #317225",
+"3+ c #256218",
+"4+ c #2D7020",
+"5+ c #2D6E20",
+"6+ c #307225",
+"7+ c #317325",
+"8+ c #276C1A",
+"9+ c #384E16",
+"0+ c #2C681D",
+"a+ c #27631B",
+"b+ c #256118",
+"c+ c #367128",
+"d+ c #2D6D1F",
+"e+ c #307325",
+"f+ c #307324",
+"g+ c #317324",
+"h+ c #567834",
+"i+ c #296C1D",
+"j+ c #2F6923",
+"k+ c #508243",
+"l+ c #2F7024",
+"m+ c #307223",
+"n+ c #317326",
+"o+ c #327326",
+"p+ c #518244",
+"q+ c #317426",
+"r+ c #327425",
+"s+ c #327426",
+"t+ c #246917",
+"u+ c #2A671D",
+"v+ c #3B722F",
+"w+ c #326E24",
+"x+ c #327325",
+"y+ c #317425",
+"z+ c #2C7120",
+"A+ c #2A661D",
+"B+ c #2C661F",
+"C+ c #327526",
+"D+ c #327527",
+"E+ c #266C19",
+"F+ c #2D1616",
+"G+ c #2E1717",
+"H+ c #305716",
+"I+ c #518245",
+"J+ c #317526",
+"K+ c #327427",
+"L+ c #7B8B4D",
+"M+ c #C0A880",
+"N+ c #2B6E1E",
+"O+ c #28641A",
+"P+ c #427936",
+"Q+ c #317527",
+"R+ c #316C21",
+"S+ c #327627",
+"T+ c #266B19",
+"U+ c #2A681D",
+"V+ c #29641D",
+"W+ c #327628",
+"X+ c #337627",
+"Y+ c #2B7120",
+"Z+ c #317223",
+"`+ c #266218",
+" @ c #548547",
+".@ c #4B7F3F",
+"+@ c #337527",
+"@@ c #337628",
+"#@ c #246C18",
+"$@ c #2A5315",
+"%@ c #4B803F",
+"&@ c #447B36",
+"*@ c #327528",
+"=@ c #337728",
+"-@ c #327728",
+";@ c #BAAD7B",
+">@ c #2D6F1F",
+",@ c #2F6E20",
+"'@ c #437A35",
+")@ c #3D7531",
+"!@ c #312117",
+"~@ c #2E6D22",
+"{@ c #37702A",
+"]@ c #38722C",
+"^@ c #347729",
+"/@ c #337729",
+"(@ c #307525",
+"_@ c #BCA47D",
+":@ c #E4CC9B",
+"<@ c #28681B",
+"[@ c #2A661B",
+"}@ c #326A26",
+"|@ c #337829",
+"1@ c #3E2723",
+"2@ c #8A7359",
+"3@ c #CDB68A",
+"4@ c #2F7223",
+"5@ c #307125",
+"6@ c #337828",
+"7@ c #347828",
+"8@ c #246517",
+"9@ c #432C26",
+"0@ c #A68E6D",
+"a@ c #226215",
+"b@ c #317125",
+"c@ c #2C6620",
+"d@ c #316D23",
+"e@ c #337526",
+"f@ c #347829",
+"g@ c #34782A",
+"h@ c #EDD5A1",
+"i@ c #78604C",
+"j@ c #D8C092",
+"k@ c #2E7121",
+"l@ c #306D22",
+"m@ c #584135",
+"n@ c #C6AF85",
+"o@ c #BEAA7E",
+"p@ c #29651E",
+"q@ c #2F6D23",
+"r@ c #347728",
+"s@ c #347929",
+"t@ c #34792A",
+"u@ c #4D362D",
+"v@ c #2A6C1C",
+"w@ c #2A651D",
+"x@ c #337727",
+"y@ c #35792A",
+"z@ c #296D1E",
+"A@ c #2F1818",
+"B@ c #574034",
+"C@ c #D4BC8F",
+"D@ c #357929",
+"E@ c #347A2A",
+"F@ c #357A2A",
+"G@ c #34792B",
+"H@ c #236617",
+"I@ c #61493C",
+"J@ c #D0B98C",
+"K@ c #2B651F",
+"L@ c #35782A",
+"M@ c #347A2B",
+"N@ c #553E33",
+"O@ c #2E7223",
+"P@ c #38732A",
+"Q@ c #357A2B",
+"R@ c #316B24",
+"S@ c #3D752F",
+"T@ c #337528",
+"U@ c #35792B",
+"V@ c #357B2A",
+"W@ c #357B2B",
+"X@ c #307425",
+"Y@ c #2C6F1F",
+"Z@ c #427A36",
+"`@ c #367B2C",
+" # c #286D1E",
+".# c #2D1717",
+"+# c #77604C",
+"@# c #E7CF9D",
+"## c #4A7E3D",
+"$# c #357B2C",
+"%# c #226416",
+"&# c #A38B6B",
+"*# c #2E7022",
+"=# c #528448",
+"-# c #357C2C",
+";# c #442D27",
+"># c #718448",
+",# c #28651B",
+"'# c #548448",
+")# c #367C2C",
+"!# c #2E7425",
+"~# c #2E1716",
+"{# c #A99170",
+"]# c #38732B",
+"^# c #357C2D",
+"/# c #367C2D",
+"(# c #377C2C",
+"_# c #276B1D",
+":# c #DDC595",
+"<# c #316B25",
+"[# c #457A38",
+"}# c #377C2D",
+"|# c #9B9A65",
+"1# c #2A6B1C",
+"2# c #528546",
+"3# c #377D2D",
+"4# c #367D2D",
+"5# c #367D2E",
+"6# c #357C2B",
+"7# c #377D2E",
+"8# c #CCB489",
+"9# c #2D7122",
+"0# c #377E2D",
+"a# c #367E2E",
+"b# c #2E7424",
+"c# c #6B5343",
+"d# c #A78F6E",
+"e# c #2E6821",
+"f# c #377E2E",
+"g# c #266B1B",
+"h# c #988063",
+"i# c #307526",
+"j# c #29661C",
+"k# c #56874A",
+"l# c #367B2B",
+"m# c #BAAE7B",
+"n# c #2E1617",
+"o# c #B8A07B",
+"p# c #588749",
+"q# c #337929",
+"r# c #357A2C",
+"s# c #367E2D",
+"t# c #387F2E",
+"u# c #387F2F",
+"v# c #5B4438",
+"w# c #29631B",
+"x# c #3D7632",
+"y# c #377E2F",
+"z# c #347C2B",
+"A# c #286D1D",
+"B# c #37702D",
+"C# c #538647",
+"D# c #367D2C",
+"E# c #377F2F",
+"F# c #2E7423",
+"G# c #528547",
+"H# c #367A2B",
+"I# c #387E2F",
+"J# c #37802F",
+"K# c #256B1A",
+"L# c #2E7222",
+"M# c #3F7732",
+"N# c #387F30",
+"O# c #38802F",
+"P# c #D2BF8D",
+"Q# c #38712D",
+"R# c #33782A",
+"S# c #357829",
+"T# c #387E2E",
+"U# c #388030",
+"V# c #347628",
+"W# c #266319",
+"X# c #337B2C",
+"Y# c #236717",
+"Z# c #317427",
+"`# c #497E3C",
+" $ c #398030",
+".$ c #388130",
+"+$ c #388031",
+"@$ c #398130",
+"#$ c #2C7223",
+"$$ c #276319",
+"%$ c #2D691E",
+"&$ c #388131",
+"*$ c #246919",
+"=$ c #2F1717",
+"-$ c #2F1817",
+";$ c #286C1C",
+">$ c #337629",
+",$ c #276118",
+"'$ c #3D7530",
+")$ c #377F2E",
+"!$ c #398031",
+"~$ c #398131",
+"{$ c #301718",
+"]$ c #2F1718",
+"^$ c #2E1718",
+"/$ c #366E2B",
+"($ c #327727",
+"_$ c #3A8232",
+":$ c #301717",
+"<$ c #311817",
+"[$ c #301817",
+"}$ c #301818",
+"|$ c #2D7223",
+"1$ c #28661B",
+"2$ c #367028",
+"3$ c #398232",
+"4$ c #337B2A",
+"5$ c #311818",
+"6$ c #2E6822",
+"7$ c #398231",
+"8$ c #3A8231",
+"9$ c #2B7222",
+"0$ c #321918",
+"a$ c #321818",
+"b$ c #321718",
+"c$ c #311718",
+"d$ c #311717",
+"e$ c #307527",
+"f$ c #316E24",
+"g$ c #2E6D1F",
+"h$ c #398132",
+"i$ c #236918",
+"j$ c #331918",
+"k$ c #331818",
+"l$ c #321819",
+"m$ c #2B661E",
+"n$ c #508244",
+"o$ c #398332",
+"p$ c #341819",
+"q$ c #331919",
+"r$ c #341918",
+"s$ c #331819",
+"t$ c #2A691D",
+"u$ c #3A8233",
+"v$ c #351919",
+"w$ c #341919",
+"x$ c #351819",
+"y$ c #286C1D",
+"z$ c #4E8143",
+"A$ c #3A8332",
+"B$ c #31792A",
+"C$ c #361919",
+"D$ c #351818",
+"E$ c #341818",
+"F$ c #3A8333",
+"G$ c #2A7121",
+"H$ c #361A19",
+"I$ c #36191A",
+"J$ c #317727",
+"K$ c #3B8433",
+"L$ c #236818",
+"M$ c #371A19",
+"N$ c #37191A",
+"O$ c #371919",
+"P$ c #371A1A",
+"Q$ c #351918",
+"R$ c #2E1817",
+"S$ c #2C7020",
+"T$ c #2C691F",
+"U$ c #336F26",
+"V$ c #377F30",
+"W$ c #3A8433",
+"X$ c #3B8434",
+"Y$ c #381A19",
+"Z$ c #381919",
+"`$ c #256919",
+" % c #3A8434",
+".% c #39191A",
+"+% c #381A1A",
+"@% c #391A1A",
+"#% c #38191A",
+"$% c #3A732D",
+"%% c #378030",
+"&% c #398333",
+"*% c #3A8534",
+"=% c #3A1B1A",
+"-% c #3A1A1A",
+";% c #3A191A",
+">% c #391919",
+",% c #351A19",
+"'% c #27651B",
+")% c #336B27",
+"!% c #3B8333",
+"~% c #378130",
+"{% c #3A1A1B",
+"]% c #3B1A1B",
+"^% c #28651A",
+"/% c #26641A",
+"(% c #3A8432",
+"_% c #3B8534",
+":% c #327A2A",
+"<% c #3B1B1A",
+"[% c #3B1A1A",
+"}% c #3B1B1B",
+"|% c #391A19",
+"1% c #2F7526",
+"2% c #27651A",
+"3% c #2E6A1F",
+"4% c #3B8535",
+"5% c #2D7524",
+"6% c #3C1A1A",
+"7% c #3C1B1B",
+"8% c #3C1B1A",
+"9% c #2A701F",
+"0% c #28621A",
+"a% c #347B2B",
+"b% c #397F30",
+"c% c #3B8533",
+"d% c #286E1F",
+"e% c #3D1B1B",
+"f% c #3C1A1B",
+"g% c #3D1A1B",
+"h% c #391B1A",
+"i% c #2B6B1E",
+"j% c #518447",
+"k% c #3C8534",
+"l% c #236919",
+"m% c #3E1B1B",
+"n% c #3E1C1B",
+"o% c #3A1B1B",
+"p% c #276419",
+"q% c #306A24",
+"r% c #3C8635",
+"s% c #E5CF9B",
+"t% c #3E1C1C",
+"u% c #321817",
+"v% c #266419",
+"w% c #497E3D",
+"x% c #2F6D22",
+"y% c #3A8131",
+"z% c #3A8331",
+"A% c #3C8535",
+"B% c #3C8636",
+"C% c #401C1C",
+"D% c #3F1B1C",
+"E% c #3F1B1B",
+"F% c #3F1C1C",
+"G% c #3F1C1B",
+"H% c #3E1B1C",
+"I% c #487E3E",
+"J% c #336E24",
+"K% c #3B8635",
+"L% c #3B8636",
+"M% c #401C1B",
+"N% c #401B1B",
+"O% c #401B1C",
+"P% c #2F7424",
+"Q% c #2C661E",
+"R% c #3D8636",
+"S% c #388331",
+"T% c #411C1C",
+"U% c #2A6E1E",
+"V% c #367A2C",
+"W% c #377D2C",
+"X% c #3D8736",
+"Y% c #327C2C",
+"Z% c #411D1C",
+"`% c #421C1C",
+" & c #421D1C",
+".& c #367B2D",
+"+& c #28661C",
+"@& c #3C8736",
+"#& c #3D8637",
+"$& c #2D7725",
+"%& c #431C1C",
+"&& c #431D1D",
+"*& c #421C1D",
+"=& c #411C1D",
+"-& c #411C1B",
+";& c #3B8634",
+">& c #3C8637",
+",& c #3D8737",
+"'& c #286F1F",
+")& c #431C1D",
+"!& c #431D1C",
+"~& c #421D1D",
+"{& c #2A6A1E",
+"]& c #27661B",
+"^& c #49803F",
+"/& c #3B8334",
+"(& c #3C8837",
+"_& c #441D1D",
+":& c #3D1B1C",
+"<& c #28661A",
+"[& c #377229",
+"}& c #3D8837",
+"|& c #451D1D",
+"1& c #451D1C",
+"2& c #441D1C",
+"3& c #441C1D",
+"4& c #306A23",
+"5& c #3D8836",
+"6& c #461D1E",
+"7& c #461E1D",
+"8& c #441C1C",
+"9& c #327626",
+"0& c #3A8334",
+"a& c #3A8533",
+"b& c #3D8838",
+"c& c #461D1D",
+"d& c #461E1E",
+"e& c #471D1E",
+"f& c #471E1D",
+"g& c #451E1D",
+"h& c #3E6E29",
+"i& c #388232",
+"j& c #471E1E",
+"k& c #337C2C",
+"l& c #481E1E",
+"m& c #481E1D",
+"n& c #471D1D",
+"o& c #27661A",
+"p& c #3E8938",
+"q& c #2D7726",
+"r& c #491E1E",
+"s& c #491E1F",
+"t& c #481D1E",
+"u& c #327929",
+"v& c #367C2B",
+"w& c #3D8938",
+"x& c #28701F",
+"y& c #4A1F1E",
+"z& c #4A1E1E",
+"A& c #477C39",
+"B& c #3C8737",
+"C& c #3E8838",
+"D& c #236B19",
+"E& c #4A1F1F",
+"F& c #4B1E1E",
+"G& c #4B1F1E",
+"H& c #4A1E1F",
+"I& c #491F1F",
+"J& c #451C1D",
+"K& c #266A1B",
+"L& c #29681C",
+"M& c #457B39",
+"N& c #3C8836",
+"O& c #D3BF8D",
+"P& c #4B1F1F",
+"Q& c #4C1F1E",
+"R& c #4B1E1F",
+"S& c #491F1E",
+"T& c #718549",
+"U& c #26651A",
+"V& c #2F6A24",
+"W& c #3D8937",
+"X& c #3E8837",
+"Y& c #3E8A39",
+"Z& c #4C1F1F",
+"`& c #3C8735",
+" * c #4D1F1F",
+".* c #4C1E1F",
+"+* c #28671B",
+"@* c #578748",
+"#* c #4E201F",
+"$* c #4D1F20",
+"%* c #4E2020",
+"&* c #4E1F1F",
+"** c #451D1E",
+"=* c #307728",
+"-* c #27671B",
+";* c #548649",
+">* c #477C3B",
+",* c #2F7122",
+"'* c #377C2E",
+")* c #337C2D",
+"!* c #4F1F1F",
+"~* c #4E1F20",
+"{* c #411B1C",
+"]* c #E5CC9B",
+"^* c #2B7121",
+"/* c #2B6B1F",
+"(* c #477D3B",
+"_* c #3C742D",
+":* c #3E8939",
+"<* c #3E8A38",
+"[* c #2D7626",
+"}* c #4F2020",
+"|* c #4F1F20",
+"1* c #4F201F",
+"2* c #4D201F",
+"3* c #4C1F20",
+"4* c #CEB48A",
+"5* c #246A19",
+"6* c #336C27",
+"7* c #502020",
+"8* c #A4896A",
+"9* c #33792A",
+"0* c #3D8738",
+"a* c #276E1E",
+"b* c #512020",
+"c* c #502021",
+"d* c #502121",
+"e* c #502120",
+"f* c #512021",
+"g* c #512120",
+"h* c #451E1E",
+"i* c #846752",
+"j* c #28701D",
+"k* c #512121",
+"l* c #522020",
+"m* c #522021",
+"n* c #522120",
+"o* c #4D2020",
+"p* c #3D1C1B",
+"q* c #6B4E3F",
+"r* c #3E8937",
+"s* c #3E8A3A",
+"t* c #256C1C",
+"u* c #532021",
+"v* c #532120",
+"w* c #532121",
+"x* c #522121",
+"y* c #441D1E",
+"z* c #5D3F35",
+"A* c #2F7626",
+"B* c #29691D",
+"C* c #548446",
+"D* c #3C8634",
+"E* c #3F8A39",
+"F* c #3E8B39",
+"G* c #542121",
+"H* c #4B2C27",
+"I* c #296E1F",
+"J* c #28671C",
+"K* c #518547",
+"L* c #497F3D",
+"M* c #3D8939",
+"N* c #3F8A3A",
+"O* c #246B1A",
+"P* c #427835",
+"Q* c #3F8B3A",
+"R* c #226918",
+"S* c #552121",
+"T* c #552221",
+"U* c #542122",
+"V* c #ECD4A0",
+"W* c #F0D8A3",
+"X* c #3F7632",
+"Y* c #3F8939",
+"Z* c #226919",
+"`* c #562122",
+" = c #562121",
+".= c #562221",
+"+= c #552122",
+"@= c #D5BC8F",
+"#= c #356C27",
+"$= c #3E7129",
+"%= c #562222",
+"&= c #572222",
+"*= c #BBA07A",
+"== c #572122",
+"-= c #582222",
+";= c #8B6E57",
+">= c #2F7525",
+",= c #582223",
+"'= c #582322",
+")= c #572221",
+"!= c #80624D",
+"~= c #29641B",
+"{= c #3C8536",
+"]= c #592222",
+"^= c #582323",
+"/= c #592223",
+"(= c #69493C",
+"_= c #4A7831",
+":= c #388231",
+"<= c #592323",
+"[= c #5A2323",
+"}= c #592322",
+"|= c #5A2322",
+"1= c #552222",
+"2= c #715343",
+"3= c #256119",
+"4= c #5A2223",
+"5= c #5B2322",
+"6= c #5B2323",
+"7= c #66463A",
+"8= c #276218",
+"9= c #3F8B3B",
+"0= c #E4CD9A",
+"a= c #5A2222",
+"b= c #5B2222",
+"c= c #745544",
+"d= c #357D2C",
+"e= c #408B3A",
+"f= c #5C2323",
+"g= c #5C2424",
+"h= c #5B2223",
+"i= c #481D1D",
+"j= c #6A493C",
+"k= c #347A29",
+"l= c #408B3B",
+"m= c #5C2324",
+"n= c #5C2423",
+"o= c #5D2323",
+"p= c #5D2423",
+"q= c #5D2324",
+"r= c #5B2423",
+"s= c #572121",
+"t= c #3E8B3A",
+"u= c #408C3B",
+"v= c #5D2424",
+"w= c #5E2423",
+"x= c #532020",
+"y= c #27671C",
+"z= c #266519",
+"A= c #5F2525",
+"B= c #5F2424",
+"C= c #5F2524",
+"D= c #5F2425",
+"E= c #602525",
+"F= c #5E2424",
+"G= c #5E2324",
+"H= c #602524",
+"I= c #E5CD9B",
+"J= c #2E7224",
+"K= c #612626",
+"L= c #612526",
+"M= c #622626",
+"N= c #612525",
+"O= c #602526",
+"P= c #542222",
+"Q= c #CFB58A",
+"R= c #2C7122",
+"S= c #632626",
+"T= c #642727",
+"U= c #632627",
+"V= c #642627",
+"W= c #642626",
+"X= c #632726",
+"Y= c #642726",
+"Z= c #A08365",
+"`= c #2B7020",
+" - c #652827",
+".- c #652828",
+"+- c #662827",
+"@- c #652727",
+"#- c #652627",
+"$- c #632727",
+"%- c #572322",
+"&- c #765746",
+"*- c #397F2F",
+"=- c #3D8635",
+"-- c #408A3A",
+";- c #642828",
+">- c #652728",
+",- c #662929",
+"'- c #672929",
+")- c #672928",
+"!- c #682929",
+"~- c #542120",
+"{- c #56332D",
+"]- c #266C1D",
+"^- c #682A2A",
+"/- c #6A2B2B",
+"(- c #692A2A",
+"_- c #682829",
+":- c #672828",
+"<- c #662828",
+"[- c #542221",
+"}- c #276B1B",
+"|- c #27661C",
+"1- c #3F8B39",
+"2- c #682A29",
+"3- c #692B2B",
+"4- c #6B2B2B",
+"5- c #6A2C2B",
+"6- c #6B2C2C",
+"7- c #6B2C2B",
+"8- c #6A2A2A",
+"9- c #5E2425",
+"0- c #246A1A",
+"a- c #2F6822",
+"b- c #3A8132",
+"c- c #6C2D2D",
+"d- c #6C2D2E",
+"e- c #6D2D2D",
+"f- c #6D2E2D",
+"g- c #6C2D2C",
+"h- c #6C2C2C",
+"i- c #662728",
+"j- c #236618",
+"k- c #3B8435",
+"l- c #6D2E2F",
+"m- c #6D2E2E",
+"n- c #6F2F2F",
+"o- c #6E2F2F",
+"p- c #702F30",
+"q- c #703030",
+"r- c #6F302F",
+"s- c #6F2F30",
+"t- c #70302F",
+"u- c #6E2F2E",
+"v- c #6E2E2E",
+"w- c #6B2D2C",
+"x- c #6D2F2F",
+"y- c #6E302F",
+"z- c #6F3031",
+"A- c #713131",
+"B- c #713132",
+"C- c #723231",
+"D- c #723132",
+"E- c #723232",
+"F- c #733232",
+"G- c #733132",
+"H- c #713130",
+"I- c #723131",
+"J- c #5E2524",
+"K- c #5E2525",
+"L- c #4C1E1E",
+"M- c #728549",
+"N- c #497F3E",
+"O- c #538446",
+"P- c #378131",
+"Q- c #6E3030",
+"R- c #703131",
+"S- c #703232",
+"T- c #723233",
+"U- c #743333",
+"V- c #753333",
+"W- c #753434",
+"X- c #753435",
+"Y- c #763434",
+"Z- c #743232",
+"`- c #4D1E1F",
+" ; c #548546",
+".; c #723333",
+"+; c #733333",
+"@; c #763534",
+"#; c #773535",
+"$; c #773635",
+"%; c #783535",
+"&; c #773435",
+"*; c #692A29",
+"=; c #662829",
+"-; c #50201F",
+";; c #E3CC9A",
+">; c #763535",
+",; c #783636",
+"'; c #793636",
+"); c #783737",
+"!; c #793838",
+"~; c #7A3838",
+"{; c #793737",
+"]; c #7A3737",
+"^; c #7A3738",
+"/; c #793637",
+"(; c #783635",
+"_; c #753334",
+":; c #662928",
+"<; c #642728",
+"[; c #5D2524",
+"}; c #357D2E",
+"|; c #773636",
+"1; c #793939",
+"2; c #7A3839",
+"3; c #7C3A3A",
+"4; c #7D3A3B",
+"5; c #7E3B3B",
+"6; c #7D3A3A",
+"7; c #7B3939",
+"8; c #7B3839",
+"9; c #793736",
+"0; c #783736",
+"a; c #733131",
+"b; c #6E2E2F",
+"c; c #642827",
+"d; c #367C2E",
+"e; c #7A3939",
+"f; c #7B3B3A",
+"g; c #7C3B3A",
+"h; c #7D3B3B",
+"i; c #7D3B3C",
+"j; c #7F3C3D",
+"k; c #803D3D",
+"l; c #7F3C3C",
+"m; c #7F3C3B",
+"n; c #7E3A3B",
+"o; c #7B3938",
+"p; c #6D2F2E",
+"q; c #6B2D2D",
+"r; c #672A2A",
+"s; c #4C2020",
+"t; c #491D1E",
+"u; c #2A691E",
+"v; c #337B2B",
+"w; c #7B3A3A",
+"x; c #7F3D3D",
+"y; c #803D3E",
+"z; c #813E3E",
+"A; c #823F3F",
+"B; c #833F40",
+"C; c #823E3F",
+"D; c #823E3E",
+"E; c #7A3837",
+"F; c #602625",
+"G; c #5C2524",
+"H; c #501F20",
+"I; c #7E3C3C",
+"J; c #803E3E",
+"K; c #834040",
+"L; c #844141",
+"M; c #854242",
+"N; c #864242",
+"O; c #864241",
+"P; c #854241",
+"Q; c #854142",
+"R; c #843F3F",
+"S; c #803C3C",
+"T; c #7C3A39",
+"U; c #783837",
+"V; c #6C2E2E",
+"W; c #67292A",
+"X; c #632728",
+"Y; c #327A29",
+"Z; c #7F3E3E",
+"`; c #813F3F",
+" > c #874343",
+".> c #874344",
+"+> c #884444",
+"@> c #894544",
+"#> c #894444",
+"$> c #894545",
+"%> c #894445",
+"&> c #884443",
+"*> c #874242",
+"=> c #833F3F",
+"-> c #7B3A39",
+";> c #6C2E2F",
+">> c #6A2C2C",
+",> c #682A2B",
+"'> c #5D2425",
+")> c #337626",
+"!> c #568649",
+"~> c #2F7827",
+"{> c #824040",
+"]> c #874443",
+"^> c #894646",
+"/> c #8A4646",
+"(> c #8B4747",
+"_> c #8B4646",
+":> c #8C4646",
+"<> c #874342",
+"[> c #844041",
+"}> c #763635",
+"|> c #743334",
+"1> c #5F2626",
+"2> c #2E6B1E",
+"3> c #317827",
+"4> c #844242",
+"5> c #864444",
+"6> c #884545",
+"7> c #8A4747",
+"8> c #8D4847",
+"9> c #8D4848",
+"0> c #8D4948",
+"a> c #8D4949",
+"b> c #8C4647",
+"c> c #864343",
+"d> c #864342",
+"e> c #763636",
+"f> c #713232",
+"g> c #692C2B",
+"h> c #66292A",
+"i> c #642928",
+"j> c #602626",
+"k> c #286319",
+"l> c #398331",
+"m> c #2F7625",
+"n> c #874444",
+"o> c #884645",
+"p> c #8A4746",
+"q> c #8B4848",
+"r> c #8C4949",
+"s> c #8E4A49",
+"t> c #8F4B4B",
+"u> c #904B4B",
+"v> c #904B4C",
+"w> c #904B4A",
+"x> c #8F4A4A",
+"y> c #8C4746",
+"z> c #854342",
+"A> c #743434",
+"B> c #692C2C",
+"C> c #672A2B",
+"D> c #2F6A23",
+"E> c #884546",
+"F> c #8E4A4B",
+"G> c #8F4C4C",
+"H> c #914C4C",
+"I> c #924C4C",
+"J> c #914C4B",
+"K> c #8E4A4A",
+"L> c #763536",
+"M> c #733433",
+"N> c #6F3030",
+"O> c #6C2F2E",
+"P> c #682B2B",
+"Q> c #622726",
+"R> c #5B2424",
+"S> c #327828",
+"T> c #2E7523",
+"U> c #8A4847",
+"V> c #8B4849",
+"W> c #8D494A",
+"X> c #904C4C",
+"Y> c #914D4D",
+"Z> c #924E4E",
+"`> c #934E4E",
+" , c #944E4E",
+"., c #944E4F",
+"+, c #934D4E",
+"@, c #904A4A",
+"#, c #8D4747",
+"$, c #7C3B3B",
+"%, c #773637",
+"&, c #743535",
+"*, c #6F3131",
+"=, c #6A2C2D",
+"-, c #652929",
+";, c #622727",
+">, c #5B2324",
+",, c #317627",
+"', c #8B4949",
+"), c #8E4B4B",
+"!, c #904D4D",
+"~, c #924E4F",
+"{, c #934F4E",
+"], c #944F4F",
+"^, c #954F4F",
+"/, c #955050",
+"(, c #95504F",
+"_, c #924D4E",
+":, c #8B4748",
+"<, c #7A3A3A",
+"[, c #773737",
+"}, c #6C2F2F",
+"|, c #6B2E2E",
+"1, c #672B2A",
+"2, c #582221",
+"3, c #307524",
+"4, c #2B7220",
+"5, c #8D4A4A",
+"6, c #8F4C4B",
+"7, c #914F4E",
+"8, c #93504F",
+"9, c #945150",
+"0, c #945151",
+"a, c #965151",
+"b, c #965152",
+"c, c #965251",
+"d, c #965252",
+"e, c #924D4D",
+"f, c #8B4847",
+"g, c #894645",
+"h, c #7B3B3B",
+"i, c #783939",
+"j, c #733334",
+"k, c #632828",
+"l, c #5A2324",
+"m, c #2D7123",
+"n, c #2A651F",
+"o, c #914E4E",
+"p, c #975454",
+"q, c #975352",
+"r, c #975353",
+"s, c #985353",
+"t, c #975253",
+"u, c #975252",
+"v, c #975251",
+"w, c #955150",
+"x, c #945050",
+"y, c #934F4F",
+"z, c #8C4848",
+"A, c #884445",
+"B, c #823F40",
+"C, c #793839",
+"D, c #763736",
+"E, c #753535",
+"F, c #692D2D",
+"G, c #904E4E",
+"H, c #914F4F",
+"I, c #945251",
+"J, c #975554",
+"K, c #985554",
+"L, c #995555",
+"M, c #995655",
+"N, c #985454",
+"O, c #935050",
+"P, c #924F4E",
+"Q, c #884646",
+"R, c #854343",
+"S, c #824142",
+"T, c #803F3F",
+"U, c #7D3C3C",
+"V, c #773736",
+"W, c #713333",
+"X, c #6E3131",
+"Y, c #6A2E2D",
+"Z, c #662A2A",
+"`, c #642929",
+" ' c #2B6F1F",
+".' c #28651D",
+"+' c #91504E",
+"@' c #995856",
+"#' c #9B5A57",
+"$' c #9B5C58",
+"%' c #9C5C59",
+"&' c #9C5A58",
+"*' c #9A5756",
+"=' c #9A5655",
+"-' c #94504F",
+";' c #914E4D",
+">' c #834141",
+",' c #7A3B3B",
+"'' c #773838",
+")' c #6D3030",
+"!' c #612727",
+"~' c #5A2424",
+"{' c #296E1D",
+"]' c #37722A",
+"^' c #935251",
+"/' c #995956",
+"(' c #9F5F5B",
+"_' c #9F605C",
+":' c #A0605C",
+"<' c #9E5F5A",
+"[' c #9E5C5A",
+"}' c #9B5856",
+"|' c #9A5555",
+"1' c #894647",
+"2' c #834242",
+"3' c #753637",
+"4' c #733434",
+"5' c #6B2F2F",
+"6' c #682C2C",
+"7' c #672B2B",
+"8' c #5A2423",
+"9' c #276A1B",
+"0' c #2C6B20",
+"a' c #4A803F",
+"b' c #935452",
+"c' c #985A56",
+"d' c #9D5E5A",
+"e' c #A0625D",
+"f' c #A36560",
+"g' c #A36660",
+"h' c #A2635E",
+"i' c #A05F5C",
+"j' c #9A5857",
+"k' c #995654",
+"l' c #965353",
+"m' c #955151",
+"n' c #924F4F",
+"o' c #8C4A49",
+"p' c #894747",
+"q' c #874545",
+"r' c #7D3E3D",
+"s' c #703231",
+"t' c #642829",
+"u' c #612627",
+"v' c #27691A",
+"w' c #2B691F",
+"x' c #9B5D59",
+"y' c #A0635D",
+"z' c #A36761",
+"A' c #A66A63",
+"B' c #A76B64",
+"C' c #A56762",
+"D' c #A2635F",
+"E' c #A05E5B",
+"F' c #9B5A58",
+"G' c #955152",
+"H' c #814040",
+"I' c #7E3E3E",
+"J' c #723434",
+"K' c #703132",
+"L' c #6B2F2E",
+"M' c #662B2B",
+"N' c #622828",
+"O' c #5E2626",
+"P' c #256A18",
+"Q' c #9D605B",
+"R' c #A96E66",
+"S' c #A96F66",
+"T' c #A86C64",
+"U' c #A1615E",
+"V' c #9D5C59",
+"W' c #9A5757",
+"X' c #8D4B4B",
+"Y' c #894748",
+"Z' c #864545",
+"`' c #7D3E3E",
+" ) c #753636",
+".) c #713434",
+"+) c #6F3231",
+"@) c #6D2F30",
+"#) c #6A2E2E",
+"$) c #226616",
+"%) c #467C3A",
+"&) c #9F615C",
+"*) c #A46862",
+"=) c #A86D65",
+"-) c #AA7067",
+";) c #AB7168",
+">) c #AA7068",
+",) c #A66963",
+"') c #9D5D5A",
+")) c #9A5957",
+"!) c #8A4949",
+"~) c #854545",
+"{) c #824242",
+"]) c #7C3D3D",
+"^) c #753536",
+"/) c #682B2C",
+"() c #632928",
+"_) c #226517",
+":) c #398233",
+"<) c #4D7932",
+"[) c #9E625D",
+"}) c #A46962",
+"|) c #A86E66",
+"1) c #AB7068",
+"2) c #AB7269",
+"3) c #A2645F",
+"4) c #9E5E5B",
+"5) c #975453",
+"6) c #955353",
+"7) c #955252",
+"8) c #8F4D4D",
+"9) c #8C4A4A",
+"0) c #8A4848",
+"a) c #854444",
+"b) c #804040",
+"c) c #743636",
+"d) c #713433",
+"e) c #672C2C",
+"f) c #5E2625",
+"g) c #9D615C",
+"h) c #A76C64",
+"i) c #A96F67",
+"j) c #AA6F67",
+"k) c #A76D65",
+"l) c #A0625E",
+"m) c #9B5C59",
+"n) c #985756",
+"o) c #965553",
+"p) c #925050",
+"q) c #904F4F",
+"r) c #8E4C4C",
+"s) c #864646",
+"t) c #854445",
+"u) c #793B3B",
+"v) c #763838",
+"w) c #743534",
+"x) c #713334",
+"y) c #6E3231",
+"z) c #692D2C",
+"A) c #652A2B",
+"B) c #622929",
+"C) c #592423",
+"D) c #526F32",
+"E) c #357B2D",
+"F) c #A0645E",
+"G) c #A76C65",
+"H) c #A86C65",
+"I) c #9F5F5C",
+"J) c #975655",
+"K) c #925151",
+"L) c #8E4D4D",
+"M) c #8C4B4B",
+"N) c #8B4A4A",
+"O) c #884747",
+"P) c #844444",
+"Q) c #814141",
+"R) c #7E3F3F",
+"S) c #7B3C3C",
+"T) c #783A3A",
+"U) c #753737",
+"V) c #6F3232",
+"W) c #6B2E2F",
+"X) c #682D2C",
+"Y) c #5D2526",
+"Z) c #707B46",
+"`) c #9D5F5A",
+" ! c #A46861",
+".! c #A46761",
+"+! c #A16660",
+"@! c #9F625D",
+"#! c #985755",
+"$! c #945252",
+"%! c #935151",
+"&! c #915050",
+"*! c #8E4E4E",
+"=! c #8D4C4C",
+"-! c #8A4849",
+";! c #874747",
+">! c #834343",
+",! c #7C3E3E",
+"'! c #763939",
+")! c #723435",
+"!! c #682D2D",
+"~! c #652A2A",
+"{! c #602727",
+"]! c #5D2626",
+"^! c #5D2525",
+"/! c #985A57",
+"(! c #9D615B",
+"_! c #9F615D",
+":! c #9E615D",
+"<! c #9D5F5B",
+"[! c #9A5C58",
+"}! c #975855",
+"|! c #945453",
+"1! c #925251",
+"2! c #8F4E4E",
+"3! c #8E4D4C",
+"4! c #8C4B4A",
+"5! c #864645",
+"6! c #7B3C3B",
+"7! c #733635",
+"8! c #703333",
+"9! c #6A2D2D",
+"0! c #672D2D",
+"a! c #622928",
+"b! c #5D2625",
+"c! c #5C2625",
+"d! c #A6986C",
+"e! c #316A24",
+"f! c #935351",
+"g! c #955754",
+"h! c #975956",
+"i! c #985957",
+"j! c #955554",
+"k! c #8C4B4C",
+"l! c #894848",
+"m! c #7A3B3C",
+"n! c #783B3B",
+"o! c #753736",
+"p! c #6F3333",
+"q! c #6A2E2F",
+"r! c #672C2D",
+"s! c #662B2C",
+"t! c #642B2B",
+"u! c #612828",
+"v! c #5B2524",
+"w! c #8D4E4D",
+"x! c #90504F",
+"y! c #925250",
+"z! c #925351",
+"A! c #8D4D4D",
+"B! c #8C4C4B",
+"C! c #8A4A4A",
+"D! c #804242",
+"E! c #7B3D3D",
+"F! c #783B3A",
+"G! c #6A2F2F",
+"H! c #63292A",
+"I! c #A5986C",
+"J! c #447A38",
+"K! c #8E985C",
+"L! c #8C4D4C",
+"M! c #8E4F4E",
+"N! c #8E4F4D",
+"O! c #8E4E4D",
+"P! c #8A4A49",
+"Q! c #884848",
+"R! c #864747",
+"S! c #7F4040",
+"T! c #7C3E3D",
+"U! c #793A3B",
+"V! c #773A39",
+"W! c #733535",
+"X! c #6F3332",
+"Y! c #6D3130",
+"Z! c #692D2E",
+"`! c #672C2B",
+" ~ c #642A2A",
+".~ c #5F2727",
+"+~ c #5C2525",
+"@~ c #884949",
+"#~ c #8B4B4B",
+"$~ c #894949",
+"%~ c #864647",
+"&~ c #834444",
+"*~ c #814242",
+"=~ c #804141",
+"-~ c #7C3D3E",
+";~ c #793C3B",
+">~ c #793A3A",
+",~ c #763839",
+"'~ c #6E3232",
+")~ c #6C3030",
+"!~ c #692F2F",
+"~~ c #652B2B",
+"{~ c #5C2526",
+"]~ c #5A2524",
+"^~ c #D7C091",
+"/~ c #864847",
+"(~ c #874748",
+"_~ c #884948",
+":~ c #884849",
+"<~ c #894948",
+"[~ c #89494A",
+"}~ c #874646",
+"|~ c #864746",
+"1~ c #844544",
+"2~ c #824342",
+"3~ c #814142",
+"4~ c #7F4141",
+"5~ c #783A3B",
+"6~ c #773939",
+"7~ c #743737",
+"8~ c #713435",
+"9~ c #6A3030",
+"0~ c #5B2525",
+"a~ c #592424",
+"b~ c #844646",
+"c~ c #874848",
+"d~ c #874949",
+"e~ c #854647",
+"f~ c #854646",
+"g~ c #834544",
+"h~ c #824343",
+"i~ c #814342",
+"j~ c #7E403F",
+"k~ c #7A3C3C",
+"l~ c #713535",
+"m~ c #6B302F",
+"n~ c #692E2E",
+"o~ c #652B2C",
+"p~ c #572323",
+"q~ c #39802F",
+"r~ c #824443",
+"s~ c #834545",
+"t~ c #844645",
+"u~ c #824344",
+"v~ c #773A3A",
+"w~ c #6E3132",
+"x~ c #692F30",
+"y~ c #622829",
+"z~ c #5E2727",
+"A~ c #5B2526",
+"B~ c #2C7322",
+"C~ c #7F4241",
+"D~ c #7D3F3F",
+"E~ c #7C3E3F",
+"F~ c #793C3C",
+"G~ c #753838",
+"H~ c #753837",
+"I~ c #723635",
+"J~ c #6D3132",
+"K~ c #6C3130",
+"L~ c #69302F",
+"M~ c #612829",
+"N~ c #602828",
+"O~ c #326D23",
+"P~ c #286E1C",
+"Q~ c #7D3F40",
+"R~ c #7E4040",
+"S~ c #7C3F3F",
+"T~ c #763A3A",
+"U~ c #743837",
+"V~ c #733636",
+"W~ c #703534",
+"X~ c #6F3434",
+"Y~ c #6D3333",
+"Z~ c #6B3030",
+"`~ c #662C2C",
+" { c #612928",
+".{ c #5E2627",
+"+{ c #B9B07B",
+"@{ c #7A3D3D",
+"#{ c #7B3E3E",
+"${ c #7B3D3E",
+"%{ c #793D3C",
+"&{ c #773B3B",
+"*{ c #76393A",
+"={ c #753938",
+"-{ c #713536",
+";{ c #703535",
+">{ c #6E3333",
+",{ c #6D3232",
+"'{ c #6B3130",
+"){ c #662D2D",
+"!{ c #5D2727",
+"~{ c #5A2525",
+"{{ c #582424",
+"]{ c #773A3B",
+"^{ c #783C3C",
+"/{ c #773C3B",
+"({ c #773B3A",
+"_{ c #753939",
+":{ c #733838",
+"<{ c #723737",
+"[{ c #703435",
+"}{ c #6C3132",
+"|{ c #682E2E",
+"1{ c #672E2E",
+"2{ c #632A2B",
+"3{ c #632A2A",
+"4{ c #5F2828",
+"5{ c #5C2626",
+"6{ c #562223",
+"7{ c #29651D",
+"8{ c #743939",
+"9{ c #743839",
+"0{ c #733737",
+"a{ c #723837",
+"b{ c #723736",
+"c{ c #6C3232",
+"d{ c #662E2E",
+"e{ c #632B2A",
+"f{ c #5C2627",
+"g{ c #6F3535",
+"h{ c #713636",
+"i{ c #713637",
+"j{ c #703635",
+"k{ c #6B3131",
+"l{ c #682F2F",
+"m{ c #652C2B",
+"n{ c #622A2A",
+"o{ c #5A2425",
+"p{ c #2A661E",
+"q{ c #6E3434",
+"r{ c #6E3433",
+"s{ c #6B3031",
+"t{ c #652C2C",
+"u{ c #632C2C",
+"v{ c #612929",
+"w{ c #5E2828",
+"x{ c #5C2727",
+"y{ c #5B2626",
+"z{ c #582324",
+"A{ c #6B3132",
+"B{ c #6C3231",
+"C{ c #6B3232",
+"D{ c #6A3130",
+"E{ c #682E2F",
+"F{ c #672E2F",
+"G{ c #652D2C",
+"H{ c #632B2B",
+"I{ c #602929",
+"J{ c #5D2828",
+"K{ c #592324",
+"L{ c #562323",
+"M{ c #3D1B1A",
+"N{ c #2E6823",
+"O{ c #683030",
+"P{ c #682F30",
+"Q{ c #68302F",
+"R{ c #672F2F",
+"S{ c #672D2E",
+"T{ c #652C2D",
+"U{ c #642C2C",
+"V{ c #61292A",
+"W{ c #5A2526",
+"X{ c #572423",
+"Y{ c #3E7530",
+"Z{ c #9D9B65",
+"`{ c #642D2D",
+" ] c #652E2D",
+".] c #652E2E",
+"+] c #642E2D",
+"@] c #642C2D",
+"#] c #612A2A",
+"$] c #5F2929",
+"%] c #572324",
+"&] c #572424",
+"*] c #481E1F",
+"=] c #366D29",
+"-] c #622B2B",
+";] c #622B2C",
+">] c #632C2B",
+",] c #622B2A",
+"'] c #5D2728",
+")] c #5A2625",
+"!] c #592525",
+"~] c #562423",
+"{] c #5F2A2A",
+"]] c #602A2A",
+"^] c #602A29",
+"/] c #60292A",
+"(] c #5E2928",
+"_] c #5E2929",
+":] c #5B2627",
+"<] c #5D2829",
+"[] c #5D2929",
+"}] c #5E2827",
+"|] c #5A2726",
+"1] c #5A2727",
+"2] c #552323",
+"3] c #327525",
+"4] c #2F7725",
+"5] c #5A2626",
+"6] c #5A2627",
+"7] c #592625",
+"8] c #592626",
+"9] c #592524",
+"0] c #592425",
+"a] c #562322",
+"b] c #A5976B",
+"c] c #3E7732",
+"d] c #2B701F",
+"e] c #582425",
+"f] c #562324",
+"g] c #226314",
+"h] c #26691A",
+"i] c #562424",
+"j] c #552322",
+"k] c #266719",
+"l] c #552223",
+"m] c #532221",
+"n] c #3E7632",
+"o] c #532222",
+"p] c #391A1B",
+"q] c #2E6B21",
+"r] c #C5A981",
+"s] c #522122",
+"t] c #522222",
+"u] c #532122",
+"v] c #29631C",
+"w] c #307726",
+"x] c #6D493D",
+"y] c #614439",
+"z] c #DBC193",
+"A] c #46211F",
+"B] c #391C1B",
+"C] c #9A7F63",
+"D] c #2A671E",
+"E] c #256818",
+"F] c #AE9170",
+"G] c #4E312A",
+"H] c #516E31",
+"I] c #2D6822",
+"J] c #C0AB7E",
+"K] c #8D6F57",
+"L] c #4D1F1E",
+"M] c #765645",
+"N] c #58372E",
+"O] c #4C201F",
+"P] c #E8D09D",
+"Q] c #3D1C1C",
+"R] c #361918",
+"S] c #BBA07B",
+"T] c #472824",
+"U] c #326820",
+"V] c #8C6E57",
+"W] c #CCB1A1",
+"X] c #DFC696",
+"Y] c #412220",
+"Z] c #371D1B",
+"`] c #D8C091",
+" ^ c #6F5041",
+".^ c #C1A6A1",
+"+^ c #B0958D",
+"@^ c #4A2C28",
+"#^ c #361C1B",
+"$^ c #4F2F29",
+"%^ c #5B4337",
+"&^ c #4A7E3E",
+"*^ c #947878",
+"=^ c #3C221F",
+"-^ c #407834",
+";^ c #DAC192",
+">^ c #BEA2A1",
+",^ c #9D827F",
+"'^ c #4A2F29",
+")^ c #6A5141",
+"!^ c #A38A6B",
+"~^ c #37722B",
+"{^ c #A08567",
+"]^ c #967979",
+"^^ c #BDA1A1",
+"/^ c #31671F",
+"(^ c #B69D78",
+"_^ c #5B3D33",
+":^ c #977979",
+"<^ c #316D25",
+"[^ c #432522",
+"}^ c #40221F",
+"|^ c #CDB489",
+"1^ c #977C60",
+"2^ c #402220",
+"3^ c #411D1D",
+"4^ c #C2A7A1",
+"5^ c #C5A9A1",
+"6^ c #C9AEA1",
+"7^ c #CBB0A1",
+"8^ c #CEB3A2",
+"9^ c #D2B7A2",
+"0^ c #D1B7A2",
+"a^ c #D1B6A2",
+"b^ c #CDB3A1",
+"c^ c #D4B9A2",
+"d^ c #CFB5A2",
+"e^ c #CEB3A1",
+"f^ c #316D22",
+"g^ c #94795F",
+"h^ c #442522",
+"i^ c #C4A9A1",
+"j^ c #DAC0A2",
+"k^ c #E5CCA3",
+"l^ c #EDD5A3",
+"m^ c #EFD7A3",
+"n^ c #E9D0A3",
+"o^ c #DFC6A3",
+"p^ c #D3B8A2",
+"q^ c #CDB2A1",
+"r^ c #2C6F20",
+"s^ c #987D61",
+"t^ c #553830",
+"u^ c #3C1E1D",
+"v^ c #C3A8A1",
+"w^ c #CFB4A2",
+"x^ c #E2C9A3",
+"y^ c #EED6A3",
+"z^ c #E6CDA3",
+"A^ c #D8BEA2",
+"B^ c #D0B5A2",
+"C^ c #CCB288",
+"D^ c #9D8265",
+"E^ c #95795F",
+"F^ c #BAA07A",
+"G^ c #C8ADA1",
+"H^ c #EAD1A3",
+"I^ c #D9C0A2",
+"J^ c #527031",
+"K^ c #E7CFA3",
+"L^ c #E3CAA3",
+"M^ c #246718",
+"N^ c #DCC3A2",
+"O^ c #EBD2A3",
+"P^ c #E7CEA3",
+"Q^ c #E2C8A3",
+"R^ c #DBC1A2",
+"S^ c #39722C",
+"T^ c #8B8758",
+"U^ c #256718",
+"V^ c #2D6F21",
+"W^ c #967879",
+"X^ c #3F7530",
+"Y^ c #317626",
+"Z^ c #927777",
+"`^ c #376F2B",
+" / c #447937",
+"./ c #317525",
+"+/ c #316C22",
+"@/ c #2A641C",
+"#/ c #326A25",
+"$/ c #528243",
+"%/ c #326E25",
+"&/ c #2B6620",
+"*/ c #3B732F",
+"=/ c #346F25",
+"-/ c #477B3A",
+";/ c #4C7F3E",
+">/ c #3C752F",
+",/ c #2C681E",
+"'/ c #2B651E",
+")/ c #4A7D3C",
+"!/ c #4A7F3D",
+"~/ c #346C26",
+"{/ c #568447",
+"]/ c #558345",
+"^/ c #356E29",
+"// c #2D6A20",
+"(/ c #518041",
+"_/ c #346F26",
+":/ c #3F7733",
+"</ c #417835",
+"[/ c #467B37",
+"}/ c #4D7E3F",
+"|/ c #447A37",
+"1/ c #326E26",
+"2/ c #336E26",
+"3/ c #447B37",
+"4/ c #558246",
+"5/ c #568147",
+"6/ c #497D3B",
+"7/ c #2F6B1F",
+"8/ c #4E7E40",
+"9/ c #4E7E3F",
+"0/ c #558247",
+"a/ c #4F8041",
+"b/ c #3E7630",
+"c/ c #367127",
+" ",
+" ",
+" . + + + @ # $ % & * = - ; ",
+" > , ' ) . . . . . . + + ! ~ { { ] { ^ / ^ ( _ : < ' [ } ",
+" | 1 2 # 3 ] / ] / 4 + . . . . . . . . . . + + 5 6 ^ ] / ] ] { ^ / / { ] ^ { 3 # 7 1 8 ",
+" 9 0 a # b ] / ] { { { { ^ ] ^ c + + . . . . . . . . . . . . . + + + d e { / / / { ] { { { { { { { { ^ { { f g h 0 i ",
+" j k l ] { { / ] { ] ] ] ] ^ ] ] { ] ] m + + . . . . . . . . . . . . . . . + + + + n { { ^ ] { / ^ ] { ] ] / ] ^ { { ] ^ { { ^ ^ l k o ",
+" p * q ( { { { { / { { { ] { ^ { ] { { { ] ] ] { r + + + . . . . . . . . . . . . . . . . . + + + + s ^ { / { ^ ^ ] ^ / / { / ^ ^ ] / { { ^ { { { ] { f t u v ",
+" w x y ] ^ ^ { { { ] ] ] ^ { / { { { { { / { ] / ^ / ^ z + + + . . . . . . . . . . . . . . . . . . + + + + A { ] ] ] { ^ ] ^ { / { { ^ { { { ] / ] / ^ / ] { { B C D E F ",
+" G k H { { / { { ] { ^ { ^ { { ] { ] { { / ] ^ ] ^ { { { { ^ ^ I + + + . . . . . . . . . . . . . . . . . . . + + + + + + e ^ J { / ] ^ ^ ] ^ { { { { { / { ] { { ^ ] { { ^ K L M C C N O G ",
+" w P ^ ] ^ ^ ] ^ { { ] ^ ^ ] ^ / / ^ ^ / { ^ ] ^ { { ] { { / ] / J _ Q + + + . . . . . . . . . . . . . . . . . . . . . + + + + + + + R J ^ { _ ] ^ / ] { ^ { / { { { { ] ^ / { ] ] ^ ] ^ ] S T U V C C W X ",
+" Y Z ^ { ^ { / ] { ^ ^ { ] ] { { { ] { ^ / { ^ { ^ { ^ ^ { / ` _ J _ _ _ _ .+ + + . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + S _ _ _ _ J ^ _ ^ J / ^ ] { ^ { ] / ^ ] ^ / { ^ ^ ] { { S T ..C V V +.@. ",
+" 1 #.{ { ] ^ ] ] ] { / { { { { { ] / ^ / { ] ] ] / ^ { ] ] _ _ ^ _ _ _ _ l $._ %.&.+ + + . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + *._ _ _ ^ _ ^ { ^ =.{ / ^ / ] { { ^ ^ { { { ] / { { { / ] { -.;.>.V >.V ,.'. ",
+" 0 ).{ ] / ^ ^ { { { { ] { ^ { / ^ / ^ { ^ { / ] ] { { { ^ _ ^ _ _ _ _ _ _ _ !.~._ {.%.] + + + . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + ]._ %.l %.#._ _ _ ^ ^ J ` / { { ] ] { ] { { ] { { / { { / { ^ S L ^.C C C C /.0 ",
+" (._.] ] ] ^ ^ ] { { { ] ] / / { ^ { ^ ] ] { ^ ^ ] { ] _ =.{ J _ ^ _ $._ %.!._ l {.%._ %.{.!.` + + + . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + :.l l !.!.l _ _ _ _ ^ _ ^ ^ ` { ^ ` ] ] ] { { ^ { { ] ] ^ ] ^ { { <.[.V >.C >.C }.|. ",
+" 1.] ] / { { ] ] { / ] ^ ^ ] ] { { { ^ / ] { { ^ { / ] ` ^ ^ ^ _ $.l _ _ $.{.{.{.{.!.~.!.!.{.{.2.3.+ + + . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + Q ~.~.%.{.!.~.~._ %._ $._ J _ _ / _ ^ { { / ] / ] ] / { / / ^ ] ] ] L ^.V 4.C C V 4.5. ",
+" (.6./ ] { / / / { / / { ] ] ] ^ ] { { / / ] { { ] { ] ^ ^ =.J ^ _ l _ $.$.l #.!.!.!.{.!.2.7.{.{.2.2.2.2.+ + + . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + 8.!.{.{.{.{.!.%.#._ _ l _ _ _ _ _ ^ / { ] ^ / / ^ { ] / { { ^ { ^ { { 9.C >.V C C V C 0.a. ",
+" b.=./ ] { { ^ ^ { ^ ] ^ { / ^ { { / ] / ] { / ] / ^ { { =.^ _ _ _ _ _ _ {.l !.%.%.{.!.2.!.2.2.2.2.2.c.2.c.c.+ + + . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + d.2.{.!.!.2.{.!.{.~.l _ $._ _ _ _ ^ _ J ^ ^ ] { { / { { ] { { ] ^ ^ { S U V V >.V C V 4.B e. ",
+" f.y / / / ^ ] { ] { ] ] ^ / / / ] ^ { / { ] ] ] ] ^ _ ] J J _ _ #._ $.~.{.{.%.{.!.{.g.!.7.{.c.2.2.2.c.h.c.c.i.j.+ + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + k.l.2.c.{.{.2.!.{.#.$.$.!.l _ %._ J _ ^ =.J ^ / { ^ { ] { { { ^ ] ^ ^ ] m.[.C >.C C >.C V n.o. ",
+" p.] ^ ] ] / { { / { ] / ^ { ] { { { { ^ { ] ] ] { ^ { ] _ ^ _ _ _ _ #.%.l {.{.!.!.7.3.{.{.c.c.2.2.i.h.j.h.h.h.i.i.h.+ + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + q.r.2.2.!.2.2.2.{.!.{.{.%.%.l _ _ %._ _ _ _ / { ^ { ] ] ] / { { { { ^ / / ;.C C >.C 4.>.C 4.C s. ",
+" t.u.{ ] ] { { { ^ ] { ^ / ] { ] ^ ] ] ] ] { ] { ] ] ^ ^ =._ _ _ _ #.~.!.{.~.!.{.{.{.2.2.2.c.c.c.c.c.h.h.h.c.c.v.h.w.h.i.x.+ + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + y.j.2.2.c.c.c.{.{.{.{.7.{.{.~.!.#.l _ _ _ _ _ J ^ { { / { { / { ^ / { / { s [.V V C V V V >.>.C z.A. ",
+" B.t ] ^ ^ { ^ ] ] { ] ^ { ] ^ ] { { ^ ] { { ^ ] ^ ] { { _ _ _ %._ %.{.%.%.!.!.%.{.{.{.2.3.2.r.C.c.r.c.h.j.i.w.h.D.i.i.i.x.x.D.+ + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + E.c.2.c.c.c.c.2.2.2.2.{.7.{.!.~.{.#.!._ _ _ _ _ / { { { ^ { ] ] ] { { / ] F.G.C C >.C V C >.V C 4.H.I. ",
+" J.t ] { ^ ^ ^ / / / / { / ] ^ ] / ] ] ] { ^ { { ^ / { / _ ^ _ _ $.!.%._ ~.{.2.!.c.{.c.2.c.c.2.c.h.h.h.h.i.i.K.i.v.v.w.w.D.D.D.D.D.+ + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + L.i.c.i.h.c.r.2.c.{.3.!.c.2.{.{.%.{.!._ _ _ ^ _ ^ ` { ] ^ { ^ ] { ] ] ] / / M.C V >.C 4.C C 4.C C C H.J. ",
+" N.{ { / { / { ^ { ] { { { ^ { ^ { ^ ] / { { / { ^ ^ { J ^ _ _ _ _ $.#.!.{.{.{.2.!.{.c.c.2.2.c.c.c.i.c.h.x.x.D.D.D.w.w.D.D.O.D.P.D.+ + + + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + Q.h.h.h.i.j.h.j.c.2.2.c.2.2.{.{.{.!.%.%.!._ _ _ _ ] _ / { ] { ] { ] ] ^ { / R.S.V 4.C C 4.C C V 4.>.>.T. ",
+" U.] ] ^ { ^ { / ^ ] ] / ^ { ] ] / { { ^ / / ] ] ^ { _ ^ _ ^ $.$.$.$.{.{.!.!.{.{.c.c.c.c.c.h.c.c.c.h.i.h.w.V.D.w.D.D.D.D.D.D.D.W.O.D.X.+ + + + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + + Y.i.i.i.i.h.i.h.c.C.2.c.l.7.!.2.!.{.#.!.~._ _ _ _ _ { / ^ ^ ^ { { { ] { { / y ;.>.>.C 4.>.4.V C V 4.C >.Z. ",
+" `.{ { ] ^ ] / ^ ^ ] { / ] { { { { ] { ] / { { { / { ^ _ =.^ ^ _ _ $.#.!.{.~.{.2.7.7.2.h.c.i.j.i.h.i.h.w.x.v.K.w.D.D.D.D.D.D.W.P.O. + +W..++ + + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + + + ++h.i.w.x.i.w.h.h.c.c.2.c.2.7.l.7.%.!.#.!.!.l _ _ _ ^ ^ / ] ] / ] { ] / / { ^ L C C C 4.C V C C C >.>.>.>.@+ ",
+" #+] { ^ / { ^ ] { ^ / ] ] { { / { / ^ ] { { ^ { ] / ^ { J J _ _ %.!.{.!.{.!.2.2.2.l.2.c.c.j.c.i.h.h.i.V.v.D.D.D.D.D.D.D.X.W.X.X. +X..+$+X.X..++ + + + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + + + %+D.w.V.i.D.h.h.c.j.c.r.2.c.2.{.{.{.{.{.{.%.!.$._ _ _ { _ J { ^ { { ^ ^ ] / / T >.V 4.C V C C C 4.V V 4.C C &+ ",
+" *+=+{ ^ ] { { ] { / ^ / { ] { / ] ] ] ^ ^ ^ / ] ^ { { ] ^ ^ _ $.%._ %._ {.{.!.{.2.l.2.C.c.i.c.i.i.w.i.i.w.x.D.D.D.O.D. +D.X.X.W.X..+$+$+.+.+.+-+.++ + + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + + + ;+D.x.x.D.x.i.x.h.i.h.c.j.2.c.2.2.!.!.{.{.!.{.%.$._ _ ^ ` ` { ^ { / { ] ^ ] ^ T C V C C C C V 4.C V V >.C V W >+ ",
+" ,+] / / ] ^ ^ { { / / ] ^ / { / ^ { { { { / { { ^ ] ` ^ ^ ^ $.%.l !.!.!.{.{.2.2.2.2.c.c.h.v.i.h.i.i.i.V.D.D.D.D.D.W..+D.X. +W.X..+.+-+.+.+.+-+'+)+'++ + + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + + + + D.O.D.D.D.D.i.w.i.w.i.c.h.j.c.2.2.7.{.{.!.!.!.!.#._ _ _ ] _ / { ^ { { { { / / K ^.>.V V >.C C V V V 4.4.>.>.V !+ ",
+" ~+b ^ ] ^ ^ / ] / ] { ] ^ ] { ] ] { { { ^ ^ ] ^ ] ] J ] _ =._ _ l _ {.{.{.{.7.7.c.2.c.r.c.h.i.i.w.w.i.i.w.D.W.P.W.{+O.X..+ +.+.+-+.+-+$+-+-+-+'+'+'+]+^++ + + + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + + + + /+X.P.D.P.D.D.x.V.V.x.h.h.h.h.2.2.c.2.c.2.2.!.#.{.%.%._ _ { =.^ { ] ] { ] ^ ] { K ^.C C C C >.>.C >.>.V V C 4.V V (+ ",
+" _+/ { ] ] ] { / { { { ^ { / ^ { ] { ] ] ] / ^ ] { ] ] _ _ ^ _ ~.%.%.!.{.!.{.{.2.2.c.j.h.c.h.h.i.D.i.v.x.D.D.X.D.W.O.X..+.+X.-+X..+'+'+'+-+:+-+]+<+]+'+]++ + + + + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + + + + + V.X.X.O.W.D.D.D.w.h.v.v.i.i.i.i.c.c.c.2.3.{.{.~.!._ $.%._ _ ^ ^ { / ] ^ / ] ^ ^ y ^.V C 4.>.V C 4.C >.C C V C C >.z. ",
+" [+( / ] ^ ] { { / { { ] / / { / { ] ] ] ^ ^ { { ] ^ ^ _ ^ _ _ _ %.!.!.!.!.!.l.{.2.c.c.h.c.i.i.i.w.w.w.D.D.O.D.X.D. +W.}+.+.+.+|+|+1+-+'+-+]+'+'+]+]+]+<+<+2++ + + + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + + + + + %+ + +W.W.D.D.D.D.D.w.i.D.h.v.j.h.j.c.c.{.2.2.!.!.{._ _ l l _ J ] / ^ / ^ ] { { ^ 3 S.C C C C V >.C C C C C V V 4.C 3+[+ ",
+" t { ] { ^ ] ^ ] ^ ^ ] ] / { ] { ^ / ^ { / ] { ^ / { / ] ] _ _ _ %.%.{.!.{.{.2.c.c.c.j.c.h.h.w.w.i.i.D.D.D.D.W.X.W.W.W.-+X.$+-+-+-+-+:+-+]+:+]+<+'+<+2+2+]+]+4++ + + + + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + + + + + + 5+X..+.+O.{+O.O.D.D.D.D.K.K.i.h.v.c.h.c.2.2.2.!.{.!.~.%.$._ _ _ _ J ^ / ] ^ ^ / ] S [.C C >.V >.4.C V V C C 4.C C V C H. ",
+" j y { / ^ ^ ] { ] ] { ] ] { { ] { ] ^ { ] { { { / { { =.J _ _ _ %.%.%.{.2.2.{.c.c.2.c.h.h.i.h.h.w.D.x.D.O..+D.D..+.+X..+-+1+|+.+'+'+'+:+<+]+]+]+6+6+<+2+2+2+2+7+8++ + + + + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + + + + + 9+-+.+X.X..+ +O..+W.P.D.D.D.D.v.w.c.h.h.c.c.2.l.{.!.!.%.{.l _ _ _ / { =.^ { { ] ^ ] 0+a+C C C C C 4.>.V C >.>.C >.>.>.V b+o ",
+" c+/ ^ ] { ] { / / ^ ^ { { { / ^ ] ^ ^ { { ] / ] / { ] { ^ J _ _ _ #.!.d+{.2.7.c.c.c.i.h.h.i.w.D.w.w.D.D.D.D.W.X.X..+$+-+$+-+'+-+'+'+]+]+<+<+2+2+e+7+7+f+g+7+7+7+7+h++ + + + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + + + + + i+-+-+'+.+.+X.X.W.D.P.D.D.V.v.D.h.w.c.h.h.h.c.c.2.2.{.{.{.!.l l _ _ J ^ ^ ^ ^ ^ / { K >.V C C >.>.>.4.4.V 4.C C V V >.>.C j+ ",
+" k+{ ] ^ / ] { { ] { { / / { { ^ ] { ] ] { { ] ] ] ^ { { J _ _ _ #.#.l !.!.2.!.{.2.h.c.c.h.h.i.K.x.D.D.W.W.W. +.+X.W.-+l+-+-+-+'+)+'+m+]+6+<+]+2+2+2+7+g+7+7+7+n+n+7+o++ + + + + + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + + + + + + m+'+-+'+-+.+.+X..+.+ +D.D.D.V.x.w.w.h.h.h.2.c.c.2.2.7.%.%.%.$.%._ _ _ ` { / ] { ] { s C V >.C C 4.V V C >.V >.C V C 4.4.4.V p+ ",
+" `.^ { / { { { ^ / / ^ ^ { { ] ^ { ^ ] ] ^ { ^ ^ { ^ ] { _ ^ _ _ ~.%.{.{.2.2.2.{.c.j.h.h.h.h.w.w.x.D.O.W.X.W.X..+.+X..+1+-+'+'+<+]+]+]+]+f+<+]+<+7+7+7+7+n+7+7+q+r+r+s+q++ + + + + + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + + + + + + t+'+'+-+'+X.-+$+.+X. +.+W.W.D.D.w.K.D.i.j.c.h.2.c.2.3.!.!.!.~.!.%._ _ _ J ^ { ] { ^ ] u+V C >.V C V C C 4.C 4.V C C >.C C C V v+ ",
+" w+{ / ] / ] / ^ ^ { ] / ^ { ] ] ] / ^ ^ ^ ^ ] { { / { { _ / _ _ %.!.!.{.{.2.{.l.2.2.h.h.i.x.i.D.D.D.D..+W.W..+.+-+.+'+'+-+-+<+]+]+'+6+]+]+2+7+f+7+7+7+n+q+x+x+r+o+y+q+q+z++ + + + + + + + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + + + + + + + D.]+m+'+'+1+.+$+$+$+X..+X.D.D.D.D.D.D.i.h.v.i.c.2.c.l.{.{.{.{.!.l _ _ ^ { ^ ^ ^ { { ] A+C V V C C >.C V C >.C C C C 4.C C V C B+ ",
+" p+F.^ { { { ^ ] ] { ^ { ] ] / { ] ^ { { ] ] / { { ] { ^ ^ ^ J _ $.$.{.!.!.{.c.2.C.c.j.h.v.i.v.i.V.D.D.D.D.X.X..+.+.+'+-+'+'+'+'+]+<+]+<+<+7+g+7+7+7+7+y+r+y+s+n+q+C+s+s+D+C+E++ + + + + + + + . . . . . F+F+F+F+F+G+G+G+G+. . . . . . . . . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + + + + + + + H+'+:+-+'+-+-+.+-+.+-+.+O.X.W.D.D.D.D.D.h.w.i.h.h.2.c.{.2.{.{.{.!.~._ _ J _ _ { ] ] ] / ;.>.C C C C >.V C C V V 4.V 4.V >.V >.V n.I+ ",
+" F ^ ] { { { / { / { { ] ] ] { ] ] ] { { / ^ ] { ^ ] ] ^ / _ _ _ _ %.!.{.2.2.2.{.C.j.i.h.i.i.w.D.D.D.P.D.W.O..+X.X.X.'+'+-+:+]+]+2+6+]+f+2+7+7+7+x+7+s+q+n+s+q+s+J+J+s+D+s+C+K+L++ + + + + + + + . . . F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+M+. . . . . . . . . . . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + N+6+<+<+:+)+-+'+'+.+.+X..+X.W.O.D.D.D.D.i.i.i.i.c.c.c.2.g.{.!.!.%.$.$._ _ ^ { { ^ ^ { { O+C C C >.C 4.V >.V C 4.V C >.4.>.4.4.C 4.P+ ",
+" a { / { ^ ^ ] { ^ ^ ] { { { ] { { ^ ] ] ^ ] ^ ^ ^ { ] ^ J / _ !._ #.!.%.{.!.l.{.c.h.h.i.w.w.w.D.D.D.{+P.{+ +.+.+X.-+-+'+<+'+]+<+2+2+2+e+7+2+7+7+r+7+o+7+s+s+s+q+q+s+Q+s+C+C+D+D++ + + + + + + + + . . F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+. . . . . . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + 2+6+<+]+]+<+'+-+'+-+.+.+.+X.O.X.W.W.D.D.w.h.i.h.j.c.c.c.2.{.{.!.{.l $._ _ _ J ^ ] { { y [.V C 4.4.>.C >.C >.C C 4.V C C C V >.C 4.O ",
+" R+^ ] { / ] { ^ ] / ] ^ / { / { ] ] ] { { { ] { { / { ] ^ _ ^ _ #._ ~.~.{.3.2.2.j.c.h.w.h.w.D.D.D.D.D.D.W.X. +.+-+-+'+-+]+<+<+]+]+6+7+g+7+7+7+7+r+o+s+s+q+q+s+K+D+D+D+D+D+C+D+S+J++ + + + + + + + + G+G+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+. . . . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + T+7+2+]+]+]+]+m+:+'+'+-+-+.+.+.+O.W.D.D.D.K.D.x.i.h.h.2.c.2.2.2.{.!.!._ $.^ { J / / { / U+>.C C 4.C >.>.>.C C C C C C C C C C C V C V+ ",
+" ; ( ] ^ ^ { ] ^ { ^ ^ { ^ ] ^ { { ^ / { ] { ] { { / ^ { _ =._ _ _ !._ {.7.{.c.2.2.j.i.i.h.h.D.w.x.W.W.W.X. +X.$+-+$+'+'+:+<+'+6+2+<+7+7+2+7+n+n+y+s+s+q+C+s+s+K+s+D+D+D+C+S+S+S+W+X+Y++ + + + + + + + G+G+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+. . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + ]+7+7+2+2+<+:+:+Z+'+'+-+-+.+.+.+O.X.W..+D.D.i.v.w.i.h.2.2.c.2.!.{.!.!.%._ _ ` J / / ] ^ A+V C C C C C V V 4.>.4.>.C C 4.V >.C C C 4.`+ @ ",
+" .@] / ] / ^ ^ ^ ] { ^ / ^ / / ] { ^ { { / { ] ] { { ^ { { =._ _ _ _ _ {.{.{.2.2.c.h.c.i.w.K.i.D.D.D.D.{+X.X..+-+$+-+]+-+-+6+]+<+<+<+7+7+7+7+x+o+y+s+s+q+K+K+K+D+D++@C+D+D+S+X++@@@X+S+#@+ + + + + + + G+G+G+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+. . . . . . + + + + + + + + + + + + + + + + + + + + + + + + + + $@7+e+6+7+2+g+6+'+'+:+'+-+-+-+W..+X.X.W.D.D.x.D.v.v.h.c.r.j.7.2.2.{.!.#._ _ _ ^ ^ ^ { { / ;.4.V V V C C >.C C C 4.>.C >.V C C 4.4.V >.V %@ ",
+" &@^ ] { / ^ ^ ] ^ { { { ] ] / ^ ] ^ ] ] / ] ] ] ] { { ] { ^ _ _ _ $.%.%.{.!.2.2.2.c.j.h.w.D.D.i.D.P.D. +{+X..+-+$+-+'+]+'+<+2+2+e+7+2+7+7+y+y+7+x+s+s+s+C+C+D+D+C+C+D+S+@@*@@@@@@@@@=@-@;@+ + + + + + + G+G+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+. . . + + + + + + + + + + + + + + + + + + + + + + + + + + + + >@7+7+6+g+2+<+<+:+:+'+'+'+-+-+X.X..+D. +D.W.D.x.D.i.i.h.,@c.2.2.l.!.{.{.#._ _ ^ { ] { { y S.C >.V C >.>.C V C C V >.>.C 4.V C C C C >.V '@ ",
+" )@{ ^ ] ^ { / { { ] ^ { { { / / ^ ^ { ] / { { { ] { ] / ^ J ^ _ $._ {.~.!.2.2.2.c.j.h.h.v.i.w.w.D.P.P.W..+X.-+-+.+'+:+]+]+:+<+]+f+7+7+7+y+n+y+y+s+C+K+q+K+C+C+D+D+D+D+X+S+@@S+@@@@-@=@=@=@+ + + + + + + + G+G+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+. . . . + + + + + + + + + + + + + + + + + + + + + + + + + + + !@n+7+7+7+7+2+<+g+<+]+<+-+-+'+.+.+X.W.O.P.D.D.x.D.x.i.~@h.C.2.2.{.{.!.{.~.%.%._ J ^ =.] ] e V C >.C C C C 4.V C 4.4.4.V C >.V C 4.V C C >.{@ ",
+" ]@/ { ^ { ] { ] ] { ^ ] ] { ] / ] { / ] ] / { ] ^ ] ] ] { ^ ^ ^ ~.$._ ~.!.!.c.2.c.c.h.i.i.h.x.D.W.O.D..+X..+X.-+'+'+'+]+<+<+2+g+2+7+7+n+7+q+s+s+q+s+C+C+K+D+C++@S+X+S+@@W+X+@@@@=@^@=@=@/@(@+ + + + + + + + G+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+. _@:@+ + + + + + + + + + + + + + + + + + + + + + + + + + + <@n+n+x+7+7+7+f+]+2+2+]+]+'+'+'+'+.+.+W.W.O.D.D.D.D.i.i.h.h.2.2.{.l.!.~.%.$.l ^ ^ _ / { ] [@C V C V V C C >.V C C V >.C >.C V V V V V C >.}@ ",
+" _+/ { { / ] { ^ { { { ^ { ^ { / { { ] ] ] ] ^ { / / ] ] ^ J { _ _ l {.#.!.2.c.2.c.j.c.h.v.w.D.D.D.W.X.X.X.$+'+'+]+'+<+<+]+]+6+e+7+2+7+x+n+r+q+s+K+D+D+C+C+D+S+D+S+X+X+-@W+@@=@=@=@/@=@|@/@|@N++ + + + + + + G+G+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+1@2@3@+ + + + + + + + + + + + + + + + + + + + + + + + + G+4@y+s+n+7+7+7+7+<+]+6+<+Z+]+-+-+X..+X.X.O.D.D.D.V.w.v.v.h.j.h.c.2.2.2.!.~.!.%._ _ =.^ ^ ] ..>.V 4.>.V C C 4.V 4.>.C C 4.C >.C V >.C V V V z. ",
+" w+/ ^ / { ^ ] ] / ^ { ] ] { ] ] { ^ { ] { ^ { { { { { { _ ^ ^ _ %.%.%.%.7.{.c.2.h.j.i.i.i.D.D.D.D.{+X..+X.$+.+-+]+<+'+5@<+7+2+7+7+7+q+y+r+n+q+C+s+s+D+D+D+S+X+S+X+@@@@-@=@=@=@=@=@=@6@/@7@7@6@8@+ + + + + + G+G+G+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+9@0@+ + + + + + + + + + + + + + + + + + + + + + + + + a@q+s+y+s+7+7+7+<+g+<+<+b@'+'+'+'+|+X.X.P.X.P.D.D.i.v.i.w.h.r.C.c.2.!.!.!._ %.%._ ^ J ] { K C >.V >.V V >.C C V C C 4.4.>.4.V V V V V >.4.C c@ ",
+" d@^ ^ { / ] ] ^ / ] { ^ { { ] / { / ^ { ] { { / ^ ^ ^ / { ^ ^ _ _ %.{.{.{.{.2.2.c.c.h.w.w.i.w.D.D.X.X..+.+.+.+-+'+'+'+<+e+2+2+7+7+n+y+n+y+q+s+D+D+D+D+D+e@S+D+X+W+S+@@=@@@=@=@^@/@=@=@|@7@f@f@g@h@+ + + + + + G+G+G+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+i@j@+ + + + + + + + + + + + + + + + + + + + + + + G+k@q+y+y+o+7+7+n+7+g+2+]+<+]+]+]+'+-+$+.+W.X.P.X.D.D.K.x.h.j.j.r.c.2.c.!.%.{.%.%._ { { ] ^ L >.4.>.>.V 4.>.V V 4.C V C V C 4.>.V >.C C >.V C W ",
+" l@{ ^ { ^ ^ { ] ] { / ] ^ ] { ^ ] ] / { ^ { ^ ] { ] ^ { ^ _ _ _ _ $.{.{.2.{.c.2.r.i.i.h.x.x.D.D.O. +.+.+-+.+-+-+'+:+]+]+6+e+<+g+7+o+n+y+y+q+q+K+D+D+C+D+S+X+X+X+S+@@=@W+=@=@=@f@/@6@|@f@f@f@g@f@f@+ + + + + + G+G+G+G+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+m@n@+ + + + + + + + + + + + + + + + + + + + + + + o@C+s+q+s+n+7+y+7+7+7+e+<+<+'+]+-+-+'+-+-+.+{+ +O.D.D.K.i.i.h.h.2.2.c.l.{.{.!.!._ _ _ { J { O+>.V C >.>.4.C 4.C C C C C C V C C 4.V V V >.C C p@ ",
+" q@] { ^ { ^ ^ { ] ] ^ { { ] { ^ { ] { { { / { ] ] ] ^ ^ ] ] ^ _ l l l ~.7.3.c.i.c.j.h.i.i.D.D.D.D.D.X..+-+-+'+:+'+]+]+2+2+2+7+2+n+7+y+q+y+s+s+s+K+D+S++@X+X+X+S+W+=@@@=@r@=@/@f@|@f@f@f@s@g@t@f@t@(@+ + + + + + G+G+G+G+G+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+u@M++ + + + + + + + + + + + + + + + + + + + + + + v@s+C+q+s+n+7+y+7+7+e+7+7+]+<+:+'+'+$+-+.+X.X.P.D.D.D.w.v.i.i.h.j.c.c.!.2.%.!.%._ _ _ { ] -.C C 4.V C V C 4.C 4.V 4.4.C >.C C V V V >.C C C 4.w@ ",
+" d@] { / { { { ] ^ ] { ] { ] ^ ] { { { { ^ { { / ^ ] { / { ` _ ^ _ _ l {.{.{.c.c.h.i.h.h.v.x.x.P.{+.+W..+-+-+'+-+:+'+:+<+6+e+7+7+n+7+y+r+q+q+C+D+C+D+D+S+X+X+@@@@x@=@@@/@/@=@|@/@/@f@|@f@s@g@g@t@y@t@z@+ + + + + + G+G+G+G+G+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+A@B@C@+ + + + + + + + + + + + + + + + + + + + + + + q+C+J+s+s+o+q+n+y+7+2+2+g+]+]+]+'+'+'+-+.+$+X.X.O.O.D.V.w.i.h.h.r.c.2.{.7.!.!._ $.^ =.{ { ;.V V >.V C V >.4.4.>.C V 4.C V C V >.C >.>.>.C >.>.W ",
+" : { { { ] ^ { ] ^ { ^ ] { { ^ { / { ^ { ] / / { ] { ] { / J ] _ _ %.~.!.2.2.{.c.C.c.w.K.v.D.D.O.X.W.W..+.+.+-+'+'+]+6+2+]+]+7+n+7+q+y+q+J+s+D+C+C+D++@W+S+@@X+@@@@/@=@^@/@7@f@f@f@f@f@f@D@t@t@t@E@F@G@H@+ + + + + + G+G+G+G+G+G+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+I@J@+ + + + + + + + + + + + + + + + + + + + + + 8@C+K+C+K+s+s+x+y+7+7+7+7+6+<+]+]+'+'+-+-+.+X. +D.D.D.D.w.i.i.h.c.i.c.2.3.!.%.!.l %._ ^ _ S ^.V 4.>.C 4.C C V C 4.>.>.4.C 4.4.C 4.V V V C 4.V C K@ ",
+" u.{ ^ { / ^ { ^ / / ] ^ { { ^ ^ { ] ^ { { ] { ] ] ] ] { ] _ ^ _ _ l !.%.!.2.2.2.c.c.h.h.i.x.D.D.X.X.X..+.+-+-+Z+m+]+6+7+f+2+7+7+x+q+q+s+C+s+C+D+C+D+D+@@@@W+@@=@=@=@=@=@f@=@f@f@f@s@f@s@L@t@E@t@F@M@M@F@+ + + + + + + G+G+G+G+G+G+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+N@n@+ + + + + + + + + + + + + + + + + + + + + + O@D+C+K+s+K+q+q+s+y+7+7+2+2+<+2+:+'+-+-+-+.+$+O.X..+W.w.w.D.i.v.h.2.C.2.7.!.!.$._ _ _ _ ^ T V C C C C >.C C C C 4.>.>.V >.C C 4.V V >.4.V V 4.C z. ",
+" P@/ / { ] / { ^ ^ { ] ] { ] { ] / ] { ^ { / / ] { ] ] { ^ ^ { J _ $.!.%.{.{.{.2.c.h.i.h.w.V.w. +D.X.X.-+.+-+-+'+'+<+]+6+7+7+7+y+q+7+s+s+s+Q+C+D+D+S+X+S+X+@@=@=@@@/@7@/@|@f@f@s@t@g@f@t@s@y@t@E@Q@F@Q@Q@M@+ + + + + + + G+G+G+G+G+G+G+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+u@M++ + + + + + + + + + + + + + + + + + + + + ;@D++@D+C+C+s+q+q+s+r+7+n+7+g+2+<+<+'+'+'+.+'+.+ + +D.D.D.x.w.h.j.h.r.c.l.{.{.%.~.%._ _ { ^ +.V 4.C 4.C V C V >.C 4.V C C V V >.C C >.4.C C C V V R@ ",
+" S@{ { ^ { / { ^ { / { { { { / / / / ] { { { { ^ ] { { ^ ^ ] { ^ _ _ ~.~.~.{.c.c.h.h.h.i.D.w.x.D.O. +O..+X.-+'+-+'+'+<+e+7+g+7+7+o+q+s+s+J+D+K+D+S+X+S+T@X+@@=@=@=@^@r@f@f@f@f@f@f@t@t@t@t@G@E@U@M@Q@V@W@W@X@+ + + + + + + G+G+G+G+G+G+G+G+G+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+A@B@C@+ + + + + + + + + + + + + + + + + + + + + Y@T@C+D+C+K+K+s+s+q+q+7+n+7+6+2+:+]+]+'+'+$+X.$+ +D.P.D.x.w.i.h.i.h.r.2.{.2.!.#._ l _ _ J s V C V C C V 4.C V >.V V V V V 4.C V C 4.V C >.>.C C V !+ ",
+" Z@{ ] ] ] ^ ] { { ] / / / / { ^ ] ] { ^ / { ] { / ^ ^ { ] ] { _ _ %._ %.{.!.2.2.2.j.h.h.i.K.D.O.D.D. +X.|+.+'+'+:+'+<+g+7+g+7+7+x+y+q+q+D+K+D+C+S++@X+S+=@@@@@@@/@6@^@^@|@g@s@t@t@t@D@y@t@y@Q@F@F@V@Q@W@W@`@ #+ + + + + + + G+G+G+G+G+G+G+G+G+G+G+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+.#G+G+G+G+G+G+G++#@#+ + + + + + + + + + + + + + + + + + + + + @@X+D+D+C+C+C+q+q+q+q+n+7+<+2+2+e+<+'+-+-+-+.+X. +W.O.D.w.D.x.i.c.c.c.2.2.{.!.#.!.l _ ^ J G.C C C V C V V V >.V 4.V >.V >.>.C V 4.>.C C >.4.>.V V Y ",
+" ##^ ] ^ { { ] { { { ] ] { { ] { ^ ] { ^ / { { ] ^ { ^ { ^ ] ^ _ ^ $.!.#.{.2.2.3.j.2.h.v.i.V.D.W.D.W.X..+.+.+-+-+]+<+]+2+<+7+7+7+s+r+r+s+D+s+D+D+S++@W+x@=@=@@@=@/@^@|@^@f@s@t@s@g@t@t@t@F@Q@E@Q@Q@Q@Q@W@$#W@$#%#+ + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+&#+ + + + + + + + + + + + + + + + + + + + + *#W+T@+@D++@D+C+q+q+s+n+n+7+7+f+<+2+<+]+:+-+-+$+.+ +O.D.D.D.w.K.i.h.c.2.l.2.{.!.{.!._ J =.F.C V V C V V C 4.V C V >.C C C C V >.V V V 4.C 4.C C >.4.## ",
+" =#/ { { { / ] / { ] { ] { { ^ / { { { { ] ^ ] { { { { { { { ^ { _ _ l %.~.{.7.2.c.h.i.w.D.v.D.D.X.O.{+.+X.-+-+-+<+<+2+g+7+7+7+7+q+r+s+s+C+D+D+C++@T@@@=@=@@@=@r@6@f@|@|@f@f@f@t@D@t@t@t@U@Q@Q@Q@Q@Q@Q@$#`@-#-#`@+ + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+;#C@+ + + + + + + + + + + + + + + + + + + + >#@@S++@D+D+D+D+C+J+s+s+n+7+7+7+7+<+2+]+:+]+'+.+$+X.X.X.O.W.D.x.w.w.i.h.c.c.c.!.~.{._ _ _ { ,#C 4.>.V 4.>.C 4.C C >.C >.4.>.C 4.V >.C 4.V C >.V C >.V '# ",
+" y / { / { { { ^ ^ { ^ ^ ] ^ { ] ^ ] { / ] { ] / { ] ] ] { { ^ J _ $.$.!.{.{.c.c.2.c.i.v.x.D.D.W..+X..+X.-+-+:+]+<+]+2+<+7+7+q+n+o+q+q+s+D+D+D+X+X+@@@@@@=@/@/@=@|@f@|@f@s@t@g@y@t@y@F@Q@Q@F@Q@Q@Q@W@W@$#`@)#)#W@+ + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G++#@#+ + + + + + + + + + + + + + + + + + + + X@X+@@X+D++@D+D+C+s+q+r+s+y+7+7+6+2+<+'+'+'+'+'+.+ +W.W.W.P.x.i.h.h.h.h.2.g.2.{.{.~.#._ _ F.V C 4.V 4.V C C C >.C C 4.>.4.C C C >.V >.>.V >.>.C V V b+ ",
+" ).^ ] ^ ] { ] / ] / ] { / ^ ] { { { ^ ^ { ^ { ] / ] / ^ / { { J _ _ ~.!.!.{.{.c.h.c.w.w.D.x.D.D.D.X.W.-+$+-+'+<+]+]+<+2+7+7+n+q+r+s+s+C+C+C+D+S+X+@@S+@@=@/@6@/@|@f@g@f@t@t@t@t@t@y@F@F@M@Q@W@W@$#W@$#)#`@)#-#)#!#+ + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+~#G+G+G+G+G+G+G+{#+ + + + + + + + + + + + + + + + + + + + E.@@@@@@W+D+D+D+C+C+s+s+7+s+7+7+2+2+6+2+<+'+-+-+-+-+.+.+D.{+D.w.D.x.c.i.c.2.3.{.%.!.#.l _ J L C C 4.>.4.V C V C V V >.V C V C >.V 4.>.V 4.C C 4.>.>.>./. ",
+" ]#/ / { / / ^ ^ ] { { ] { ] { ] ] ^ / { ^ ^ ^ { { { ] / { { =._ _ _ {.~.{.{.{.2.c.h.h.v.h.h.D.O.D..+.+.+-+'+'+<+]+<+2+7+7+7+q+y+q+s+C+J+D+C+D+S+@@@@@@W+@@/@/@r@/@f@f@s@D@t@t@y@y@E@Q@Q@W@W@Q@W@$#$#)#`@^#)#/#/#(#_#+ + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+~#G+G+G+G+:#+ + + + + + + + + + + + + + + + + + + + =@@@X+x@S+D+D+X+C+s+C+s+y+n+n+y+2+g+g+]+<+]+'+'+|+-+W.W.X.D.D.w.i.i.c.h.2.c.l.{.{.%.%._ ^ y 4.V 4.V C V V C V C C C C V C C V C C C 4.V V V C 4.4.C V <# ",
+" [#{ ] { / ] { ] ] ^ { { { { { { ] { ^ / ] ] ] ] { { { ] { / ^ ] { _ l {.{.{.7.2.c.c.i.i.i.V.D.W.D.X.-+.+'+-+]+:+]+<+<+7+7+7+s+r+s+s+s+J+C+D+S+@@W+X+S+@@r@r@r@r@f@|@g@t@t@t@t@F@y@U@E@Q@Q@$#`@W@$#`@$#)#$#)#/#/#/#}#|#+ + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+:@+ + + + + + + + + + + + + + + + + + + 1#=@=@=@=@X+X+S+S+D+C+q+J+y+s+q+x+7+7+]+]+]+:+'+-+-+.+X.W.X.D.D.i.h.h.h.c.r.c.l.{.!.!._ _ _ T ^.C V V 4.C C >.C V >.4.V 4.C 4.C V C C C >.C 4.V C V C >.[# ",
+" 2#/ / { ^ / ^ ] { ] ^ / { { / ] / { ] ^ ^ { ] { / ] ] { { { ^ { _ _ _ l {.2.{.c.j.c.h.i.K.v.D.D.O. +X.X..+-+-+:+]+<+<+<+7+7+n+n+r+s+s+C+C+S+D+X+W+W+S+=@=@/@/@=@f@f@f@t@g@y@t@F@Q@Q@Q@W@Q@W@$#$#W@-#)#/#)#/#)#/#3#4#5#+ + + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+M++ + + + + + + + + + + + + + + + + + + + =@/@=@=@W+S+W+X++@D+K+D+s+y+7+7+7+e+2+e+]+]+<+-+-+-+.+.+D.D.D.D.w.D.i.c.c.c.l.!.{.~.l %._ ] >.>.4.>.V 4.>.4.V V V >.4.V C C 4.V V 4.4.V C C V C C V >.C 2# ",
+" ] { { ] / ^ ] ] { / { ^ ] / ] ^ ] ^ ] ] { / ] { { { { ^ { { { _ _ %.~.$.!.{.2.2.h.j.w.h.V.D.D.P.O.W..+$+$+'+'+]+]+7+f+g+7+7+q+q+q+s+s+D++@+@X+X+x@W+@@=@6@6@/@|@|@f@s@t@t@y@y@t@Q@Q@Q@Q@W@$#6#)#`@-#)#)#/#4#3#4#4#7#W@+ + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+8#:@+ + + + + + + + + + + + + + + + + 9#=@=@=@=@x@X+D+S+D+D+K+K+q+o+r+7+7+g+2+7+]+<+'+'+-+.+$+X.X.D.D.V.x.h.i.j.c.2.l.7.{.!.!._ _ 9.>.4.V V C >.V >.V V V V C C C 4.V 4.V C V V 4.4.V C >.4.C C ",
+" _+{ ^ ] { ^ { { ] { { { { ] ] { ] { ] { { / / / ] ] { { / { =.^ _ l %._ !.!.{.2.h.h.c.i.D.D.D.D.W..+.+$+-+-+]+]+]+f+f+2+7+n+y+y+y+K+Q+C+D+S+X+W+=@=@=@r@/@f@|@f@f@f@t@t@t@E@M@F@Q@W@Q@`@$#$#)#)#)#)#/#/#/#4#/#4#0#7#a#b#+ + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+~#G+G+G+G+G+G+c#d#:@+ + + + + + + + + + + + + + + + ;@^@=@/@=@@@=@X+X+X+D+D+D+s+J+y+n+7+7+7+7+<+<+'+'+-+-+.+.+P.D.W.D.D.i.w.i.j.h.2.{.{.!.$.~._ y ^.V C V C 4.C >.V C V V >.V V V 4.C C V C C V >.4.V V >.>.C e# ",
+" b.{ { ^ ] / { { { ^ { { ^ ] { { ] ^ ^ { { ] ] ] ^ / ^ { { ^ { ^ ^ _ _ _ #.{.2.2.2.h.c.w.h.D.D.D.{+P.-+X.$+-+'+'+<+<+7+7+7+n+n+y+s+s+K+D+D+D+X+X+@@=@@@/@/@f@^@f@f@s@y@t@U@t@Q@M@Q@W@$#$#`@6#`@`@`@/#/#/#4#4#4#a#0#0#7#f#g#+ + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+;#h#:@+ + + + + + + + + + + + + + + + i#r@r@=@/@=@W+X+D+S++@D+D+s+s+s+7+7+7+7+7+<+]+'+]+-+|+.+.+W.W.D.D.x.i.w.j.c.c.2.2.2.!.~._ _ j#V V V C 4.C 4.V >.V V >.C V V V V >.C C 4.C 4.4.V V 4.C C 4.b. ",
+" k#{ / / { { { / ] / / { { { { ^ ] / ^ ] ^ { ] { ] { { { { ] { { _ ^ _ $.l {.7.c.c.c.c.h.D.V.D.D.D.O.X.$+-+'+]+]+2+6+f+f+7+n+s+s+q+s+J+C++@D+S+W+-@X+@@/@=@/@f@s@f@t@s@t@y@E@U@Q@Q@Q@$#$#l#$#`@)#/#/#4#4#4#3#3#7#7#7#f#f#f#m#+ + + + + + + + G+n#G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+;#o#+ + + + + + + + + + + + + + + + H@/@f@f@=@/@=@@@S+*@D+D+D+D+s+s+r+n+7+7+f+g+7+]+'+-+'+-+$+X.X.D.D.x.w.i.w.h.r.c.2.{.{.!._ %.F.^.>.4.4.4.C >.4.4.C 4.C >.C C C C C V >.V C >.>.C 4.V 4.C C V p# ",
+" # ] { ] / ] { { ^ ] { ] { ] ] { { { ] { ^ ] ] { ] ] { / ^ { ^ _ _ _ %.$.!.!.l.c.c.h.h.v.i.D.D.O.X.X..+-+-+'+:+]+2+g+2+7+7+7+s+s+s+C+D+C+D+X+W+W+=@=@r@f@^@f@f@q#t@t@t@G@F@Q@Q@Q@r#$#`@W@`@-#`@)#/#)#/#3#4#7#f#s#f#f#f#t#u#+ + + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+v#j@+ + + + + + + + + + + + + + + + -@f@f@|@r@=@W+X+@@W+S+S+C+C+q+s+s+n+n+7+7+<+6+6+]+'+l+'+-+X.X.W.D.x.V.h.h.c.c.c.c.7.!.!.%._ G.4.>.>.C >.>.4.C >.C >.C C V V >.V V V 4.V C V V 4.C V >.>.V w# ",
+" x#] ^ ^ / ] / { ] { ^ ] / { { ^ ] ^ ^ / ^ / / / { ^ { / ^ ^ / ] ^ _ l _ ~.!.!.{.c.j.j.v.h.x.D.O.W.X.X.-+$+-+'+<+<+7+7+7+7+7+q+q+q+C+D+D+D+S+@@@@=@=@=@=@/@^@f@s@s@y@y@t@E@G@F@W@W@$#W@$#)#)#)#/#/#4#4#5#a#3#5#f#f#f#f#y#t#z#+ + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+M++ + + + + + + + + + + + + + + + A#|@f@f@/@/@=@X+=@X+X+D+D+K+K+s+q+r+n+7+7+<+g+]+'+'+-+-+.+X.W.X.O.D.D.V.h.j.2.c.c.7.~.{.l %.K ^.>.C >.V V C V C >.>.C C >.>.>.V 4.C 4.V C C C C >.C V 4.V 4.B# ",
+" C#^ / { { { { { { ^ ^ ] { ] ^ { ^ { { ^ { { { ^ ] ] / { ] { { { ^ _ _ ~.!.%.7.3.c.h.h.i.K.x.D.D.W. +X.$+.+'+'+<+]+]+7+7+7+y+y+q+C+q+C+D+D+S+@@S+=@/@6@^@|@f@|@s@f@s@y@t@E@Q@Q@Q@r#l#`@`@)#-#/#)#D#4#4#a#7#7#f#f#f#y#f#E#y#E#F#+ + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G++#+ + + + + + + + + + + + + + + + + t@|@r@^@6@=@=@@@W+@@D+X+D+K+C+s+s+s+y+7+2+g+2+:+:+]+'+-+1+W.D.O.D.x.v.i.i.h.c.2.2.!.{._ _ _ +.4.C V C C 4.4.>.>.>.C >.C >.>.>.>.>.V V >.V V V C V V C C V C G# ",
+" #./ { ^ ] { ^ ] { ^ / ^ ] { / ^ { { ^ { ^ { { ^ ] ] { { ^ ^ { ^ _ _ !.l {.{.!.c.2.j.j.w.h.i.D.D.D..+X.1+-+m+]+<+6+6+g+7+7+q+y+q+s+C+D+D+W+@@@@@@=@=@=@^@f@|@t@t@s@y@t@Q@M@Q@W@H#W@`@6#`@)#/#/#}#4#3#5#7#f#7#f#f#I#E#u#I#J#u#K#+ + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G++ + + + + + + + + + + + + + + + L#s@|@|@|@f@=@=@W+@@S+D+D+D+C+q+q+y+r+7+n+7+g+<+:+'+-+'+1+-+.+ +D.D.D.x.h.i.c.2.{.2.{.!.!._ u+C >.4.V V C >.4.C C C V C V V C V >.V >.V V C V C V C 4.C V >.,. ",
+" M#] { ] / { ] { ^ { { / / { ] ^ { ^ { { ] { ] { ] { { ^ ] ] { ^ ^ _ l !.l !.c.2.c.c.h.i.w.D.i.D..+{+X.-+'+'+m+]+]+]+2+7+y+x+r+s+s+Q+C+S+X+S+S+=@@@=@=@6@f@f@|@s@t@E@U@G@Q@Q@Q@r#W@W@$#`@`@)#4#D#4#3#3#f#3#f#y#t#y#y#u#E#N#u#O#P#+ + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G++ + + + + + + + + + + + + + + + |#t@g@f@/@f@|@=@=@=@W+X+X+D+D+s+s+s+7+7+7+7+7+2+6+<+'+:+-+.+.+X.X.W.D.i.x.i.c.c.c.c.2.{.$._ ] ^.>.B V >.4.4.>.V C V >.V C C C C 4.V 4.>.C 4.V C V C >.4.V C C Q# ",
+" / / ] { ^ ^ / { { { ] ] / ^ / { ^ / { ] { ] { { { / / ] { ^ { ] J _ _ !.{.{.2.2.,@h.h.w.v.D.D.W..+W.-+-+'+-+<+2+6+7+2+7+7+q+q+J+s+D+D+X+W+@@=@x@r@=@=@|@R#R#S#t@F@M@F@F@Q@Q@W@W@)#-#-#`@/#4#4#5#3#7#7#f#f#T#f#E#E#u#N#N#u#U#U#+ + + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G++ + + + + + + + + + + + + + + + i#f@g@s@f@f@/@V#=@=@W+X+D++@C+Q+C+s+x+s+7+7+6+e+]+]+-+-+-+.+X.X.W.D.D.v.D.w.i.r.c.c.2.{.$.%.j#^.W#C 4.C V >.C C C C C 4.C V 4.V C >.V C >.V C C V V C C >.V C ",
+" P / ] { { { ] { { ] { { ] ^ { ] ^ { ^ / ] ^ ^ ] ] { ^ { { ^ ] =.^ _ _ $._ 7.2.2.c.i.c.i.v.w.D.W.W.X..+-+-+:+<+<+6+2+7+7+y+q+q+q+C+D++@S+S+W+X+=@=@r@7@f@f@s@t@s@y@U@y@Q@Q@Q@Q@H#`@$#)#/#/#/#3#5#7#5#5#f#f#f#y#E#u#u#u#N#N#U#U#X#+ + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+~#G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G++ + + + + + + + + + + + + + + + Y#t@g@f@f@|@=@|@=@=@@@@@W+S+D+D+Z#s+q+o+7+x+e+7+2+<+<+'+-+-+.+X.O.W.D.w.i.K.i.h.c.c.{.{.%._ b ^.B C >.V C C 4.V V C 4.C 4.V V >.V >.C V C V >.>.V >.4.4.>.>.4.W ",
+" `#^ { { { ] / { { { ] { { { ] { ^ ^ ] { ^ ] ] { { ] { { { / ^ / =._ _ %.~.{.!.2.2.c.h.h.x.D.D.W.D.X. +.+'+'+]+]+]+g+<+7+7+n+q+s+C+D+D+S+@@@@-@-@=@r@6@|@R#g@t@y@E@y@F@Q@W@W@`@$#`@`@)#/#)#/#4#3#7#4#7#f#f#y#E#t#u#u#u#U# $.$+$@$#$+ + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G++ + + + + + + + + + + + + + + + f@y@g@g@f@^@^@/@=@x@S+@@W++@+@C+s+q+q+r+y+7+7+2+2+<+'+]+'+-+ + +O.D.D.D.w.i.c.h.2.c.2.!.%.~.+.$$$$>.C C C C V V V 4.C >.>.>.C C C C >.V V C C C C 4.V C C C V `# ",
+" %$] { { ] ] ] { { ] { ^ { { ] ] ^ { { / / ] { ] { { / ] / { { ^ J _ _ l {.{.!.{.h.i.i.w.w.w.D.D.P..+X.'+-+'+<+2+7+g+7+7+q+s+s+C+C+D+D+S+X+@@W+=@/@6@|@|@g@f@s@y@E@E@Q@Q@W@l#W@-#`@)#/#4#4#3#4#3#5#f#f#f#T#E#I#E#J#U#U#U#U# $ $&$*$+ + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+=$=$=$-$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G++ + + + + + + + + + + + + + + + ;$t@t@s@s@f@r@^@=@>$W+x@@@S+S+C+K+C+s+s+x+7+7+7+f+<+<+-+-+-+.+X.{+D.P.D.i.h.i.r.j.2.!.{.l {.e ^.^.C >.>.>.>.C C C 4.>.C >.V 4.C C 4.C 4.4.4.4.>.C C V >.C V >.,$ ",
+" '$^ ] ] ^ / ^ / { ] ] { ] { ^ ^ ^ { ] ] ] { ^ { ] ] { { ] ] ^ ] ^ _ $.%.l !.2.l.c.h.c.h.D.V.D.D.O..+-+$+-+]+'+b@<+g+7+7+7+r+s+s+s+s+D+S+@@=@@@=@=@/@/@^@|@g@s@t@t@y@U@Q@W@`@$#l#-#)#/#/#/#4#3#3#7#7#f#)$I#y#u#N#N#U#U# $U#!$@$.$~$+ + + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+{$]$-$=$=$=$A@^$=$=$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G++ + + + + + + + + + + + + + + + E@t@t@|@f@/@f@=@r@@@S+W+*@S++@D+J+s+q+s+7+7+7+<+]+]+<+-+-+-+$+X.W.D.D.D.i.i.c.c.c.c.!.{.~.] ^.$$>.C V 4.V 4.C V C V C V V 4.V V >.4.>.>.>.C 4.V >.C 4.4.V C V /$ ",
+" ] / ^ ^ / { { { ] / { ] ] / ] ^ { { ^ { ^ ] { ^ { ] { { { / ] ^ _ $.l ~.!.{.l.c.c.h.c.h.w.D.D.D.X.X.X..+-+:+]+]+<+2+7+n+y+s+s+D+D+D+D+X+@@($@@/@r@7@f@f@s@s@t@E@E@Q@Q@$#$#W@-#)#/#/#/#4#3#3#a#7#f#y#f#y#u#E#N#u#U#U#.$+$+$~$~$~$_$+ + + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+:${$<$[$}$:$}$-$[$=$A@=$=$]$=$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G++ + + + + + + + + + + + + + + + |$E@y@t@s@f@f@/@=@=@@@X+@@X++@C+D+s+q+y+q+y+7+2+6+]+6+]+-+-+.+.+W. +D.D.h.x.v.h.h.l.{.{.{.%.1$^.$$^.C C C C C >.V V C C C V V 4.>.C 4.C >.4.>.V C >.C 4.C V >.>. ",
+" 2$^ { { ^ ^ { { ] ] ] { ] ^ ] ] / { { ] ] ] ^ { ^ ] ^ / { ] { =.^ _ %.l _ {.{.2.c.c.h.v.D.D.D.W.D.X.$+-+'+-+'+<+]+e+7+y+7+s+q+D+C+e@D+D+X+X+x@@@/@r@/@|@f@t@t@U@t@M@Q@Q@$#W@W@$#)#)#4#3#5#0#3#f#f#f#E#y#u#E#u#O#O#U# $.$~$&$~$~$3$4$+ + + + + + + + + G+G+=$]$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+5$5$<$5$5${$}$:${$[$[$-$=$:$=$=$=$-$=$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G++ + + + + + + + + + + + + + + ;@E@t@t@s@f@g@f@/@^@=@=@X+S+S+S+D+D+s+s+r+q+7+7+e+6+]+'+'+-+.+X.W.X.P.W.D.v.x.i.r.2.c.{.{.{.K ^.^.$$C V >.>.C C >.C >.V C V V >.C C >.C C V C C >.>.>.V >.>.C V 6$ ",
+" =#] { / ^ { ^ / / { ^ { ] { { { { { ] { / / / ] ^ ] { ] ^ ] / { ] ^ _ _ ~.!.7.{.2.h.h.h.w.w.D.W.W.X..+X.-+m+'+6+6+]+2+7+y+s+y+s+Z#C+D+D+S+W+-@r@r@6@|@f@s@t@D@G@F@F@Q@Q@W@$#l#)#`@)#/#4#4#3#3#7#f#f#f#E#u#u#N#U#U#U#U#+$!$~$~$7$3$8$9$+ + + + + + + + + =$G+=$=$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+0$a$a$a$a$5$a$b$5$5$c$c$5$d$}${$=$:$-$=$=$=$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G++ + + + + + + + + + + + + + + + e$E@t@f@t@R#f@r@/@=@=@=@X+S+S+e@C+D+s+q+n+7+7+2+e+<+2+]+'+-+.+.+.+.+X.D.i.v.h.j.c.2.2.{.{.=...^.^.V C C C V C >.>.>.C 4.V V >.C 4.4.V C >.C >.4.C 4.C >.V C 4.4.'# ",
+" f$] { ^ ^ ] { { / ^ ^ ] { { / ] ^ { / ] { ] / ] ] ^ { { ^ ] { ] / _ _ #.{.g${.c.2.h.c.w.w.x.D.W. +W.X.'+-+-+<+6+7+2+7+7+q+q+s+C+C+D++@T@-@X+=@=@|@|@f@t@f@s@t@t@G@Q@W@Q@W@`@-#-#/#/#4#4#7#0#3#f#T#)$E#u#u#J#u#U#U#U#!$~$~$~$3$h$7$3$i$+ + + + + + + + =$=$-$]$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+j$k$k$k$k$a$l$0$a$a$a$a$5$a$5$5$5$<$[$}$A@:$[$-$=$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G++ + + + + + + + + + + + + + + H@Q@E@t@t@s@q#f@/@/@/@@@-@S+W+D+C+D+C+s+n+n+7+7+g+7+<+<+:+'+-+-+.+.+X.D.V.D.w.i.j.c.7.2.{.~.9.^.>.C 4.4.C V >.C C C >.V C 4.V V V >.C >.>.>.C C V V C C V >.>.>.m$ ",
+" n$^ { ] { { ^ { ] { / ] { { { ] ] ] ] ] { { ^ ] { / ] { ] ^ ] ^ { / ^ _ !.%.{.3.c.h.h.h.i.i.D.D.W..+-+-+'+'+]+:+7+2+g+7+q+q+s+C+J+D+S+X+@@@@=@=@r@f@f@f@|@f@t@E@E@E@W@W@Q@$#$#^#)#/#4#5#s#7#7#f#T#y#t#u#O#u#U#U# $@$&$@$~$7$7$_$_$3$o$+ + + + + + + + + [$}${$c$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+p$q$r$s$s$j$p$k$s$a$q$a$l$l$a$a$5$a$5$}$}$}$A@[$-$=$G+G+G+G+G+G+G+G+G+G+G+G+G+G+n#G+G+G++ + + + + + + + + + + + + + + + |@M@M@t@s@s@f@f@f@=@=@@@@@W+D++@C+D+s+s+s+7+7+2+6+2+]+'+]+-+1+$+W.O.W.D.D.w.h.i.h.c.{.{.{.t$^.^.^.4.>.C V C >.4.4.4.C C >.C >.V C V C >.>.C V C V >.V >.>.C C C n$ ",
+" l@{ ^ { / { ^ { ] { { / { { ^ ^ { ] ^ ^ ^ ^ ] ] ] ] { { { ] ^ / / _ _ _ %.{.{.2.2.c.h.h.V.D.D.X. +.+.+'+-+'+]+<+2+2+7+7+7+q+s+C+D+D+S+W+@@-@/@/@/@^@s@g@g@y@t@M@Q@M@W@W@`@-#)#)#D#D#3#4#3#f#f#f#E#E#u#u#O#U# $ $@$!$~$7$~$7$7$3$_$u$.$+ + + + + + + + + {$}$5$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+v$w$w$x$w$p$p$r$w$s$p$s$k$j$k$a$k$a$a$a$b$a$5$}$}$[$}$-$=$=$=$G+G+G+G+G+G+G+G+G+G+G+G+G+G++ + + + + + + + + + + + + + + + y$Q@F@y@t@t@s@g@f@f@=@r@=@@@W+S++@e@s+s+q+q+7+7+7+2+<+<+'+-+$+X.-+X.X.D.D.i.i.c.c.c.2.7.{._ ..a+^.>.C V 4.C C V V C >.C C C C V 4.C C >.C C >.V C 4.V V V C V >.w@ ",
+" z$] ] / ^ ] ^ ] ] { { { ] ] { { { { { ] / ^ { ^ / ^ / { { { ^ ^ ^ / _ l %.{.{.!.c.c.c.c.i.w.D.W.P. +.+.+'+'+:+]+<+7+7+7+n+s+s+s+C+D+D+S+X+@@=@=@/@|@f@f@t@t@t@M@y@W@Q@`@W@$#)#/#/#}#}#4#5#7#7#I#)$u#u#O#O#N#U#U#+$+$~$~$7$~$_$3$3$o$A$B$+ + + + + + + + 5$5$5$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+C$C$C$v$C$v$r$w$v$D$E$E$w$w$j$k$j$j$k$k$a$l$a$a$5$c$:$[$[$=$A@=$=$G+G+G+G+G+G+G+G+G+G+G+G+G++ + + + + + + + + + + + + + + + Q@Q@F@E@t@f@f@|@|@6@/@=@=@S+W++@C+C+C+s+r+y+n+7+g+7+]+]+'+-+-+X.X. +D.D.w.v.i.h.j.l.2.{.!.G...>.B C C V V C >.C C 4.C C C 4.C >.V >.>.C C V >.C C V >.V C C V 4.z$ ",
+" d@/ ] { { ^ ] { / { { ] { { / ^ { { ] ^ { ] ] { ^ ] ] / ] { ] { { _ _ l %.!.!.{.c.i.v.i.i.x.D.D..+ +-+-+-+]+]+]+<+7+7+y+q+s+s+D+C+C+X+@@W+@@r@/@7@|@f@t@s@t@y@F@Q@W@W@Q@`@-#/#)#/#/#3#4#0#f#f#T#y#u#E#u#U#U#U#+$~$~$~$7$_$3$3$3$F$F$F$G$+ + + + + + + + 5$a$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+C$H$C$C$C$C$I$C$C$v$v$v$v$w$D$w$p$E$k$k$j$k$a$a$a$a$5$5${$:$[$=$-$=$G+G+G+G+G+G+G+G+G+G+G+G++ + + + + + + + + + + + + + + + J$Q@E@t@t@t@t@f@|@|@/@/@=@-@X+X+X+C+s+s+y+q+y+7+7+<+f+]+]+m+-+X..+.+D.D.D.x.i.h.c.c.2.{.{.K M ^.>.>.V V C >.C C V 4.C 4.C C C V C C 4.C C V >.>.>.C >.V 4.C V C W ",
+" 2#{ ] / / ] { ] { / { { ] { / { ^ / ] ] ] ^ ] ] ^ ] { ] ] ] ] ] { _ _ _ !.{.{.c.c.c.h.i.D.D.D.O.P. +.+.+-+:+<+<+7+2+7+x+y+y+s+J+s++@W+X+W+@@=@6@^@f@f@f@g@t@F@t@Q@W@W@$#`@-#/#)#/#/#4#3#f#f#f#f#E#E#u#O#U#U#U# $&$~$~$7$3$3$A$_$_$A$F$K$L$+ + + + + + + a$a$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+M$N$O$P$H$O$O$O$C$C$C$v$C$v$v$v$v$Q$p$r$q$s$s$q$k$l$a$c$5$d$5$}$:$:$A@R$=$G+G+G+G+G+G+G+G+G++ + + + + + + + + + + + + + + + S$W@Q@U@t@y@t@g@|@|@7@/@=@=@S++@D+D+C+D+C+n+q+7+7+2+<+'+]+:+'+.+X.X. +D.D.w.v.i.h.h.c.2.{.T$[.a+^.B 4.C >.C V V >.C V >.C V C V 4.C C V >.V >.C C C C 4.V C C 4.>.2# ",
+" U$] ] { / ] { / ^ ] ^ { { ] / { / ] { ] ^ { { ^ ] ^ { ^ { ^ { / { { _ _ #.!.2.7.c.c.i.i.V.D.D.{+W.-+.+-+-+-+6+g+<+7+7+o+y+s+q+D+D+S+S+W+@@=@=@6@/@f@|@t@s@y@y@Q@W@W@$#W@$#$#^#4#/#4#7#a#f#y#y#f#u#V$O#N#U#.$@$@$&$7$_$7$3$o$A$F$A$W$W$X$m#+ + + + + + + a$k$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+Y$P$M$Z$M$M$M$P$O$M$I$C$C$H$C$C$v$v$v$r$w$r$p$r$k$j$k$a$a$5$a$5$d${$[$:$=$G+]$G+G+G+G+G+G+G++ + + + + + + + + + + + + + + + `$W@Q@E@E@E@t@g@s@|@f@|@=@=@S+W+@@S+C+s+C+s+x+q+7+7+2+6+<+'+]+-+.+.+D.W.D.D.w.i.i.2.c.2.{.{.j#^.^.W#>.W#>.4.V C V V C >.C V C >.>.V C >.V >.>.V V V C C V V >.C >.0. ",
+" { ^ ] ^ { { / ^ / { / ] { ^ / ] ] ] ] { ^ { / { { { / ] / ] ] / J _ _ _ !.!.{.c.2.h.i.v.i.D.X.X. +.+$+$+'+'+]+2+7+2+n+n+s+J+D+D+D+X+@@@@=@=@/@|@|@f@f@s@t@y@y@Q@W@W@l#l#`@)#/#4#/#3#7#7#f#f#E#E#E#U#O#U#.$U#.$~$7$7$3$3$3$A$F$A$F$W$W$ %+ + + + + + + + s$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+.%+%@%+%+%#%+%Y$N$Y$+%O$M$H$C$I$O$C$C$v$v$v$Q$w$v$p$k$q$j$a$a$a$a$5$}$[$:$]$=$=$G+G+G+G+G+G+G++ + + + + + + + + + + + + + + |#Q@Q@Q@Q@y@t@t@g@|@f@^@/@=@@@=@S+S+X+D+s+s+s+s+7+7+7+f+<+]+]+.+.+X.W.W.D.D.w.i.v.h.2.c.7.{.U+O+......^.$$$$$$4.C C C C C V C C V >.C V C >.C >.>.V C C C C C V C >. ",
+" $%{ ^ ^ { { ] { ^ ^ { ] ^ { / ] { { ^ ^ { / / ] ] ] ] { { { ^ { ^ ^ _ !.{.~.!.{.c.c.i.w.w.i.D.D. +.+1+-+'+'+'+2+e+7+7+y+s+r+J+K+D+D++@X+=@@@=@6@|@f@f@s@t@G@F@Q@Q@W@$#`@-#-#/#4#4#3#3#f#7#t#f#E#%%E#N#U# $@$@$~$h$7$3$3$_$&%A$A$K$W$K$ %*%+ + + + + + + s$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+=%@%-%;%@%@%Y$>%Y$Y$#%+%Y$N$Y$Z$M$O$C$C$,%v$v$C$Q$w$r$p$q$k$k$l$a$a$5$[$}${$[$-$=$=$G+G+G+G+G++ + + + + + + + + + + + + + + + l#Q@W@M@M@t@y@t@t@f@f@^@/@=@@@@@X+X+C+C+q+s+s+y+7+7+7+]+<+<+'+'+.+ +.+W.D.D.w.h.h.c.2.{.!.b '%......$$W#$$$$W#C $$>.4.V >.V C 4.V C C V C C C C 4.C V C C V 4.C C )% ",
+" { / { ] ] ] ^ ] { ] ] / ^ ^ { / { ^ { { ] ^ { { { { ^ / ^ ^ { ] ^ _ _ ~.$.{.2.7.c.c.h.w.D.x.D.X.D..+.+'+]+:+]+2+2+7+7+r+q+s+s+C+X+S+S+@@=@=@/@/@f@f@s@t@t@F@M@Q@W@W@)#$#`@)#D#/#7#7#5#f#f#y#E#u#E#U#U#U#!$&$~$~$7$7$_$_$_$A$!%W$F$W$ %X$~%+ + + + + + p$Q$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+{%]%-%{%{%{%-%-%@%@%@%@%.%Y$@%+%+%+%N$O$M$P$C$C$C$C$v$v$w$p$s$j$q$a$a$5$5$c$5$}$[$=$=$=$G+G+G+G++ + + + + + + + + + + + + + + + l#Q@Q@Q@U@E@G@t@f@f@|@r@=@=@@@W+X+X+D+C+J+s+r+r+7+7+7+6+<+:+'+'+-+.+ +W. +x.V.w.h.c.c.{.!.=.^%....../%$$W#W#$$^.W#$$$$C >.C V >.V 4.V C >.C >.>.>.C V V 4.C V V C >. ",
+" b.^ / { { { ] ^ { ] ^ ] / ] ] ] { { { ] { / ^ / { ] ] { ] ] ] ] ] _ _ $.l ~.d+2.c.h.i.i.V.D.D.W..+ +-+.+-+]+<+<+6+7+7+7+n+s+q+K+C++@S+@@X+@@/@/@f@|@f@s@y@M@y@Q@Q@W@$#$#-#/#/#/#4#7#5#f#f#E#u#E#E#O#O#U#.$~$@$7$~$_$_$3$A$_$(%K$ %W$X$ %_%:%+ + + + + + v$v$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+<%]%[%[%}%[%{%-%[%-%-%-%=%@%@%@%|%+%Z$#%+%M$#%I$M$C$C$C$C$Q$w$r$r$q$j$k$a$a$a$}$d$[$-$-$=$-$G+~#G++ + + + + + + + + + + + + + + 1%W@$#Q@Q@y@Q@t@t@f@|@|@|@^@=@=@@@W+S+C+C+C+q+y+o+7+7+]+<+]+]+'+-+-+X.X.W.D.V.i.h.h.r.2.{.2.~ 2%O+..^.B B W#B B ^.^.$$W#W#B V 4.>.C C 4.C V 4.4.4.C C >.V 4.>.C C C b. ",
+" 3%{ / / ] ] / ^ ] { { { ] { { { { ^ { ^ / / ] ] ] { / ^ { { { { { { _ _ !.{.!.2.2.c.i.h.w.D.D.O.W..+-+'+-+:+<+<+2+7+7+y+s+s+C+C+S+X+W+-@W+=@=@|@|@s@t@t@t@y@Q@M@W@Q@W@$#`@)#/#4#4#0#f#f#)$)$y#u#O#U# $@$.$~$~$h$~$3$3$_$A$W$W$K$ %X$X$_%4%5%+ + + + + + v$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+6%6%7%<%}%<%}%8%[%}%}%[%=%-%-%-%@%@%@%@%Y$+%+%+%N$O$O$H$C$C$v$v$w$E$E$q$q$k$a$5$c$d$[${$=$=$G+G+G++ + + + + + + + + + + + + + + 9%`@W@Q@Q@F@E@y@t@f@R#|@r@r@=@=@x@W+D+D+D+C+s+q+n+y+7+e+2+<+:+:+-+-+.+X.O.D.D.V.h.h.r.r.2.{.K M ..../%^.W#W#W#W#B B W#W#W#B $$C 4.>.4.V >.4.V C C V >.4.4.V C C V 4.0% ",
+" 2#] { ] { ] { { { { ] { { { { / ^ ] ^ ] { ^ { { { ^ ^ ] { ] ^ ] ^ =._ _ !.#.{.2.c.C.c.h.h.w.D.P.D.X.X.-+'+)+6+2+f+e+n+r+x+s+K+D+D+S++@@@W+=@r@|@=@f@s@s@t@E@Q@a%Q@Q@l#$#)#/#/#4#3#5#0#f#f#y#E#E#E#b% $@$.$~$~$~$7$3$A$A$A$F$W$!%W$c%X$_%4%_%d%+ + + + + C$M$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+e%7%f%g%6%e%7%f%8%8%6%f%8%[%]%-%}%-%=%h%@%@%@%+%Y$#%P$N$O$C$C$v$v$v$w$r$k$j$s$l$a$a$}$:${$]$=$G+n#+ + + + + + + + + + + + + + + L$$#$#Q@W@M@y@E@t@t@g@q#/@|@=@@@X+X+S+S+D+D+s+J+n+y+7+e+f+<+'+'+'+-+$+W.X.{+V.D.v.i.c.2.c.l.i%,#,#......^.^.W#W#$$$$$$W#W#^.^.W#$$C >.C C 4.4.>.C >.C V V >.>.4.C V C j% ",
+" a / { { { / { ] / ^ { { ] ] / ^ ] ] { { { ] { { ] ] ^ { { ] ] { J ^ _ _ %.{.{.2.c.h.h.h.v.D.D.D.W.-+.+'+:+]+<+6+6+7+n+q+s+C+K+C+D+D+D+@@@@=@/@|@f@|@s@t@y@F@M@W@Q@W@$#`@/#)#3#4#5#3#f#f#t#u#u#E#O#U# $~$.$~$~$_$_$A$A$A$W$F$F$K$X$X$_%k%4%4%l%+ + + + + H$M$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+m%n%e%m%e%m%e%e%7%e%e%e%f%8%<%]%}%[%]%o%=%-%-%@%@%+%@%#%N$Z$O$I$C$H$v$v$w$r$p$k$j$a$a$5$<$[$}$}$]$=$+ + + + + + + + + + + + + + + ;@)#$#r#l#Q@Q@t@E@y@L@s@f@|@r@@@x@@@W+S+D+C+D+q+r+y+7+7+g+]+6+]+'+-+-+X.X.D.D.D.i.i.c.c.2.l.{.2%^%..p%..^.B $$B $$^.^.$$B $$W#$$^.W#C V C >.C >.>.V >.C >.C >.>.4.>.C q% ",
+" ] ^ ^ { / ^ ] ] { ^ { ] { { ^ { { ^ { / { { { / ] { / ^ ^ ] ] { ^ _ _ l {.!.l.2.h.r.i.K.V.D.D.O..+X.-+-+:+]+]+7+6+x+n+q+q+C+D+D+X+S+S+W+=@^@7@f@f@g@t@y@t@Q@W@W@W@W@`@^#)#)#/#7#7#0#f#y#y#u#u#O#U#U#U#!$7$~$~$7$_$A$A$F$F$W$W$ %X$X$4%4%r%r%s%+ + + + + O$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+m%t%m%m%m%m%n%m%e%e%e%e%g%e%g%7%7%6%8%f%]%[%-%<%@%-%@%@%+%#%#%+%N$N$C$C$x$D$v$E$w$k$a$l$a$u%c$[$=$]$+ + + + + + + + + + + + + + + + -#$#`@Q@Q@Q@y@F@y@t@s@g@f@7@r@V#X+=@S++@D+K+s+q+q+y+7+7+2+]+]+]+-+$+X.X.X.D.D.h.w.c.h.c.2.!.M.2%....v%^.$$$$B W#$$W#^.W#$$^.W#W#$$$$V >.C C C V C C V V 4.>.4.>.4.C C ",
+" w%] { ^ { ^ { ^ ] ^ / ^ / { { { { ] ] { ] ] ^ ] { { { ^ ] ^ { { =.^ _ _ %.%.{.c.2.2.r.x%i.w.D.D.X..+.+-+'+Z+'+6+<+7+7+r+y+q+K+C+S+X+W+@@=@=@=@/@f@t@s@t@t@Q@Q@W@Q@l#$#`@^#4#4#/#4#7#7#T#I#E#N#u#u#U#U#+$&$~$y%7$z%_$F$A$F$!%X$X$_%_%A%A%r%r%B%+ + + + + + #%G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+C%D%D%E%F%G%m%H%m%m%m%m%n%e%e%e%e%e%7%8%7%6%[%]%=%]%-%@%@%@%#%Y$M$M$N$C$I$v$v$p$w$r$w$k$a$5$a$}$c$A@:$+ + + + + + + + + + + + + + + a%$#$#$#Q@W@E@Q@t@L@s@g@f@/@|@>$=@@@X+D+S+C+s+q+s+n+n+7+7+f+'+m+-+-+-+X.W.D.D.D.v.h.j.c.c.{.U+'%....p%..W#W#$$^.B W#$$^.W#$$W#$$^.$$^.B >.C V C C C >.C C >.>.C C 4.4.I% ",
+" J%^ { ] ^ { { / ] { ^ { / { ^ / { { ] ] { ] ^ ^ { ] { ] { { ^ ] ^ ^ _ %.$.#.{.c.2.2.h.h.w.D.D.O.W. +.+'+:+:+b@e+2+7+x+r+y+J+C+C+D++@@@x@=@=@=@|@f@t@f@t@F@F@Q@W@$#W@)#-#D#)#4#3#7#f#y#I#I#u#N#U#U#@$.$ $~$~$3$_$A$_$F$F$W$X$X$X$X$4%K%K%r%L%r%+ + + + + |%@%G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+C%M%G%N%F%M%O%G%F%G%E%E%E%m%E%H%m%e%e%e%e%e%7%6%8%<%[%[%{%-%@%@%@%+%+%M$M$O$H$C$v$v$E$w$j$s$0$a$5$<$:$:$+ + + + + + + + + + + + + + + P%/#-#$#$#Q@W@F@y@t@t@f@f@f@7@=@@@x@@@W+D++@C+q+s+n+o+7+2+2+]+'+'+'+.+-+D.X.D.D.i.w.i.c.2.!.] ,#......^.v%^.^.^.$$^.$$$$^.B $$W#B ^.$$B V C C >.4.C 4.>.4.C V V >.C 4.Q% ",
+" { ] / ^ ] { / ^ ] ^ { { ^ / { ] ^ { / / ] { ] ^ ^ ] { { ] ^ ] ^ ^ / ^ ~.l !.2.c.c.c.h.i.D.D.D.O..+X.$+-+]+2+]+6+e+7+x+q+q+q+D++@+@D+@@=@=@=@^@/@f@t@t@t@F@Q@W@W@$#l#`@)#/#4#5#0#f#f#T#y#E#O#E#U#U# $&$@$~$7$3$_$A$A$W$F$!%K$X$_%_%4%r%r%r%R%S%+ + + + + .%G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+C%T%C%T%T%C%T%M%N%O%C%N%F%D%F%E%m%m%H%n%e%e%e%7%f%6%f%6%{%{%-%-%@%@%+%@%+%Y$M$I$C$v$v$r$r$E$s$k$0$a$5$}$+ + + + + + + + + + + + + + + U%^#$#6#W@W@Q@Q@E@t@s@s@f@^@=@=@=@=@@@S+S++@C+C+q+s+y+7+<+2+<+]+'+-+X..+O.W.W.x.D.v.h.h.C.c._ '%'%2%..^.B B ^.$$W#^.W#$$$$W#^.W#$$$$W#W#B ^.V >.C V C 4.4.4.V C V V C V ",
+" [+{ ^ ] { ^ / ^ { { ^ ] ^ ] ^ ] ^ { ] ^ / { { ^ ^ ^ / / { ^ / ] { / ^ _ !.!.7.{.2.c.c.i.i.h.D.W.X..+-+$+)+]+]+2+]+2+n+y+s+J+C+C++@T@@@W+=@=@6@f@f@s@s@t@E@M@E@V%$#W@-#)#/#W%5#3#7#f#f#y#I#N#U#O#U#.$&$~$~$~$3$A$A$F$F$F$F$X$_%X$4%k%4%r%r%r%X%Y%+ + + + + {%G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+T%Z%`% &T%T%T%T%T%T%T%T%C%O%O%F%G%D%G%G%E%m%m%e%e%e%7%7%7%7%<%[%-%h%-%@%@%+%P$P$N$C$v$v$v$w$r$s$j$a$a$5$+ + + + + + + + + + + + + + + Y#)#.&)#`@W@r#Q@F@F@E@t@s@f@|@/@=@@@=@W++@D+C+D+s+q+n+x+7+g+<+]+:+-+-+.+X.X.W.D.x.D.h.h.c.2.7.+&..2%..../%$$$$^.W#$$W#W#W#W#W#$$$$$$W#W#$$B 4.C >.4.V C V 4.C C C V C V [+ ",
+" w+^ { { { ] / ] / ^ ] { ] ] ] ] ^ ] ] { / { { ^ / ] ^ ^ ] ^ { { ^ J ^ _ !.{.!.2.2.2.i.i.v.w.D.{+X.X..+'+'+]+]+7+e+7+7+y+s+s+C+D+D+@@@@=@@@/@^@|@f@R#s@t@t@Q@Q@`@$#6#`@-#/#W%}#3#5#f#y#I#E#O#U#N#U# $~$@$h$3$3$3$u$F$F$F$X$X$X$_%A%4%A%r%r%@&#&$&+ + + + + [%G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+%&&&`% &*&`%`%`%`%Z%`%=&T%-&C%T%O%D%F%C%E%E%m%t%m%n%e%e%e%7%8%<%o%{%-%-%@%@%Z$O$N$N$H$I$v$x$w$w$E$k$s$5$5$+ + + + + + + + + + + + + + h@/#)#-#`@$#Q@W@y@F@t@t@t@f@f@/@=@=@@@X+D+S+C+C+s+s+s+7+7+7+]+'+'+'+-+1+X.W. +D.D.w.i.h.h.2.2.U+'%2%......B W#$$$$$$$$^.$$W#W#^.$$^.^.W#^.^.$$$$4.4.V V >.4.>.>.>.C V C m$ ",
+" ] { { / ] { { { { { ^ / { ] { ] { { / ^ ^ { / / ^ / / ^ { ^ { ] ] =._ $.%.!.{.{.c.i.h.D.x.D.P.W.W..+X.'+)+'+]+2+7+n+n+s+q+C+C+D+S+*@@@=@=@/@f@f@f@t@t@E@U@W@Q@$#`@`@-#)#/#4#5#7#f#y#u#E#u#N#U#U# $&$@$~$h$_$A$_$F$F$!% %X$X$_%;&K%K%r%B%B%>&,&'&+ + + + <%G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+)&%&)&!&%&&&%&&& &~&*&*&`%`%T%T%T%C%C%C%M%M%F%G%m%n%n%e%e%7%7%6%[%}%<%<%-%@%@%|%Y$+%H$O$I$v$v$p$q$s$q$k$a$+ + + + + + + + + + + + + + + /#/#`@-#`@W@Q@Q@y@t@t@t@f@f@^@r@/@=@X+W++@+@K+q+q+y+o+7+7+f+]+]+]+-+$+.+.+.+D.D.w.i.i.h.c.{.{&]&+.......$$$$$$^.W#W#^.$$^.W#W#W#^.B $$$$^.^.B ^.V C >.C V C V >.>.C >.>. ",
+" ^&^ ^ { { { { ] / ] { ] { { / ] / { { { / { { ] ] { ] / ^ ] ] { { _ / _ %.l {.c.2.r.h.h.v.w.D.W.X.X..+-+-+<+:+2+2+7+7+n+q+s+D+D+C+W+X+x@=@=@|@f@|@f@f@t@U@U@W@l#`@`@)#)#/#3#3#a#a#f#y#T#y#u#U#U# $!$~$~$7$8$_$_$_$F$F$/&*%X$X$4%A%4%r%r%@&,&,&(&*$+ + + + 8%G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+_&_&&&_&_&&&&&)&)&&&%&%&)&*&~&~&T%T%T%T%C%M%M%F%G%G%m%m%:&m%e%g%f%7%}%[%{%{%-%@%|%#%N$M$I$C$C$v$w$p$r$l$k$+ + + + + + + + + + + + + + + 4$4#-#/#6#$#W@Q@F@E@y@t@g@f@f@=@=@=@-@@@D++@+@D+C+s+q+7+7+7+]+]+]+:+.+.+ +O.W.D.V.h.i.h.c.c.` 1$<&'%..^.$$^.^.W#W#W#$$W#^.B ^.^.W#$$$$$$$$B B C C >.V 4.C V V C C C V C %@ ",
+" [&/ { { ^ ^ { ^ ^ { { { ] ^ ^ { ^ { ^ { { ] / { { ] { { ] { { / { ^ _ _ _ !.2.{.c.j.h.i.x.w.D.D..+X..+-+]+:+'+]+7+7+x+s+q+q+s+D+D++@X+@@=@=@6@/@f@s@y@F@F@F@W@l#l#-#)#/#/#4#7#3#f#f#E#E#u#u#U#U#U#@$~$7$3$8$_$A$!%F$K$ %X$4%4%_%A%B%B%B%R%X%,&}&s%+ + + <%7%G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+|&_&|&|&|&1&_&_&2&3&&&!&!&&&)&`%!&`%Z%T%`%T%T%T%C%N%M%H%t%m%m%e%e%e%6%f%[%[%o%-%@%+%>%+%O$O$C$v$v$v$r$q$k$+ + + + + + + + + + + + + + + b#/#)#)#$#`@`@Q@M@y@t@t@s@f@f@|@/@=@@@@@X+D+C+D+C+q+n+y+7+6+6+]+:+]+-+1+X.O.O.D.D.h.i.c.i.c.!.]&2%M ......^.$$$$$$B $$W#B W#^.W#B W#W#$$W#$$$$W#C C >.>.V V C C C >.>.V 4& ",
+" f ^ { / { ^ / { ^ ^ / { ] { { ^ ^ / ^ ] { / { ] ^ ] / ] { ^ ] ] / ^ _ $.l !.{.2.2.h.h.i.i.D.W.O.X.-+l+-+'+'+<+2+g+7+y+s+s+s+D+D+S+X+@@=@=@=@^@f@g@t@t@t@F@Q@Q@$#$#-#-#/#4#3#3#f#f#u#)$u#u#N#U# $~$&$~$3$_$z%_$A$F$!%W$X$_%X$4%_%A%r%@&B%,&@&5&}&+ + + + e%8%G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+6&7&|&|&|&|&|&|&|&_&|&|&_&2&&&8&3&&&%&`% &`%`%`%=&C%O%M%G%G%m%n%m%m%e%7%7%7%[%}%-%-%@%@%@%#%+%O$H$v$v$p$w$r$+ + + + + + + + + + + + + + + y$/#/#$#`@$#W@W@Q@U@y@t@f@g@|@f@r@=@=@X+S+S+C+C+C+s+n+q+7+2+g+<+6+]+'+X..+W. +W.D.w.i.h.h.c.{.+&1$1$2%2%....$$p%W#^.$$$$W#$$W#^.W#^.^.W#$$B ^.^.W#V C C V >.C V C 4.C C `+ ",
+" { ^ / { { ] { / { ] { { { ] / ] { / / / ] / ] ^ ^ ] ] / ^ ^ { { { / _ _ !.{.l.{.2.i.h.x.x.w.D..+.+-+'+-+:+]+7+<+7+r+s+q+s+D+D+9&X+X+@@=@=@7@f@s@s@S#t@y@Q@Q@l#`@`@`@^#4#3#4#7#f#f#T#)$E#O#U#U#&$&$~$~$~$3$_$F$F$W$0&a&X$_%4%r%A%r%r%@&R%,&5&}&b&+ + + + g%G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+c&d&d&e&f&c&6&c&c&|&c&c&g&|&|&|&_&_&!&&&_&!&)&`%`%T%T%T%T%C%C%C%E%G%m%e%e%e%7%8%7%]%=%-%-%@%#%Z$P$O$O$C$Q$r$w$j$+ + + + + + + + + + + + + + h&}#4#)#`@$#r#W@F@Q@y@F@s@f@s@|@/@/@=@@@@@T@D+D+C+C+q+q+x+7+2+2+]+'+]+.+-+X.D.D.x.x.x.c.c.2.c.t$1$2%2%2%......v%^.B W#$$$$$$B $$$$$$^.$$W#^.$$$$W#W#C V 4.4.C >.V C V C C ",
+" F ^ ^ { ] { ^ { ] { ^ { { ] ^ { / ] ] / { { ] ] / ] { ] { { ] ^ ^ / ^ _ _ ~.{.l.2.2.h.h.h.D.D.W.P..+-+1+'+'+<+2+2+7+n+q+s+C+D+C+D+X+@@=@V#6@f@/@f@t@t@G@t@a%W@`@-#)#-#/#}#3#3#3#f#E#)$E#u#O#U#U#@$@$~$7$7$8$A$A$F$W$K$ %_%4%4%r%r%r%@&@&X%(&,&}&i&+ + + e%G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+j&j&f&j&e&f&j&6&6&7&6&7&7&|&|&g&|&|&|&2&_&)&8&_&~&%&`%*&T%T%C%C%F%O%F%m%n%m%e%8%7%8%[%-%o%-%|%+%#%P$O$O$C$v$x$r$+ + + + + + + + + + + + + + + 4#D#/#)#`@W@W@Q@E@t@t@t@t@f@f@7@^@/@=@X+S++@S+D+C+s+q+n+7+2+g+<+]+'+$+-+$+X.O.P.w.x.i.h.2.7.b 1$^%'%2%2%/%v%....^.B W#B B ^.B $$$$W#$$^.B ^.W#$$$$V >.>.>.C >.>.V V 4.4.Y ",
+" : / ^ { ] / / ] ^ ] { ] ] / ^ / ^ { { ^ { { ^ { { { ] ] { ^ ^ { ] _ J $.%.{.!.{.c.c.h.i.v.V.D.D.X..+|+-+<+'+2+6+<+x+y+q+q+s+C+D+D+W+X+=@=@^@^@s@s@s@t@E@E@Q@W@W@`@-#/#)#/#5#3#0#f#f#u#u#O#u#U#!$&$~$~$7$_$3$A$!%K$ %X$X$_%_%4%A%r%B%R%B%,&X%}&}&k&+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+l&l&l&l&l&l&m&f&j&j&l&n&f&e&e&n&6&7&|&c&|&|&_&_&&&&&)&)&*&`%`%T%T%C%C%C%D%G%m%n%e%e%8%<%<%o%-%@%@%.%+%M$O$O$C$D$w$+ + + + + + + + + + + + + + + 7#/#/#/#$#l#$#Q@Q@F@F@y@t@g@f@|@^@/@=@=@W+S+C+C+C+q+q+n+7+6+g+6+'+'+-+.+-+X.X.D.x.K.i.h.j.c.] 1$1$o&2%2%2%../%p%/%$$$$$$W#^.$$$$^.W#^.W#$$$$$$^.^.V V C >.4.V C >.V C 4.K@ ",
+" S ] / { { { { / { { { ] / ] { ^ ] ^ ^ { { ^ { { { ] { ] ^ ] { ^ / ^ _ _ %.%.2.2.2.c.h.v.D.D.D.D.X.$+.+-+]+'+]+2+7+7+n+y+s+K+e@+@+@W+x@=@/@/@|@s@t@f@t@G@F@Q@$#$#`@-#)#/#4#3#f#f#)$E#u#O#U#U# $U#&$~$7$_$_$A$F$F$!%W$X$X$_%4%r%A%r%B%X%}&}&}&}&p&q&+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+l&l&r&r&r&s&r&r&l&l&t&l&t&n&j&j&e&j&7&d&c&c&|&g&_&_&_&&&&&%&)&`%T%T%C%C%M%F%E%E%m%e%7%8%8%8%<%{%@%@%@%Z$Y$N$C$C$Q$+ + + + + + + + + + + + + + + u&4#/#)#$#v&`@W@W@Q@M@t@L@f@f@f@/@6@=@@@W+S+D++@C+q+s+n+7+2+7+g+<+)+-+.+.+.+O.D.D.D.x.h.i.c.%.1$<&'%o&2%../%/%p%/%p%p%^.$$$$$$$$$$$$^.^.^.W#$$$$$$W#>.V C >.>.V V C 4.C D ",
+" { ] { ^ / { / ] ] ^ / ] ] ^ ^ ] ^ { ] ] { ] { / ] { ^ { { / ] ^ { ^ _ #.!.!.2.3.c.j.c.w.D.w. +X.X.1+-+-+<+]+<+6+7+n+n+s+q+J+D+D+W+X+W+@@/@|@f@f@g@t@E@y@F@Q@W@$#`@)#/#4#4#4#7#f#)$I#E#u#U#U#.$@$~$~$_$_$o$_$F$F$F$X$X$_%_%4%4%r%B%,&X%}&}&}&}&w&x&+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+y&z&z&r&z&z&s&s&z&r&l&r&l&r&l&m&t&j&j&e&j&6&c&c&|&|&_&|&2&&&!&`%%&`%Z%C%C%C%G%E%n%n%m%e%e%7%}%]%=%-%@%@%+%N$O$C$v$+ + + + + + + + + + + + + + + #$4#4#/#)#)#$#`@W@Q@E@t@y@t@g@|@|@=@=@=@=@X++@C+D+q+s+q+x+7+7+7+]+m+-+X..+X.X.O.D.i.i.h.c.C.%.]&<&<&2%2%2%/%/%/%v%....p%$$B W#W#$$$$^.^.W#^.^.$$^.$$$$C 4.V C 4.>.C C V C ",
+" A&] / ^ ] ^ ] { { ] { / { { ] / ] { ] { ] ^ ^ ] / / / ] { ] ] ^ { ] _ _ l _ {.2.{.C.h.j.i.w.D.W.O.X..+-+'+]+<+7+g+7+y+q+s+C+D+D+X+D+X+=@=@^@/@g@f@f@t@t@Q@W@W@W@l#)#)#4#/#4#f#f#f#I#)$V$O#U#.$@$@$~$~$_$3$A$_$F$K$X$ %_%_%_%r%r%B%X%,&B&(&}&}&C&p&D&+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+y&E&F&G&F&z&y&H&z&z&y&z&s&r&I&r&r&r&f&j&j&j&j&6&c&c&c&|&J&|&!&_&%&&&T%T%T%M%C%E%D%F%m%e%e%e%8%8%[%[%h%@%+%Y$O$N$C$+ + + + + + + + + + + + + + + K&3#/#/#)#-#`@H#`@Q@Q@Q@t@t@f@|@|@/@=@W+x@W+D+D+D+C+s+s+r+7+2+6+]+'+'+'+.+.+.+W.O.x.i.i.i.c.2.L&<&o&2%2%/%/%../%/%..v%p%^.^.^.$$B $$$$B W#W#^.W#W#W#^.C C >.4.4.C C C >.C M& ",
+" [&{ { { ] ^ / / ] ] ^ ^ ^ ^ { / / ] { { { { ] ] / ] { { { / { ] ^ { ^ %.l {.{.7.2.c.c.i.h.D.O.D. +X.-+.+:+]+g+2+7+7+y+q+q+C+D+S+*@W+@@=@^@6@f@f@t@t@M@F@F@Q@W@W@-#`@4#}#3#4#7#f#y#E#E#N#N#U#U#@$&$7$7$3$3$A$F$!%/&K$X$_%A%r%r%r%B%B%@&N&}&w&b&p&p&O&+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+P&P&G&Q&P&F&P&F&P&G&F&R&y&z&H&z&z&r&S&l&r&l&f&l&f&e&c&c&c&c&|&_&3&)&&&!&~&`%T%T%C%G%F%G%m%e%e%7%8%6%<%-%-%@%@%Z$N$I$C$+ + + + + + + + + + + + + + T&3#3#4#D#)#)#$#Q@W@Q@M@F@t@g@g@|@=@=@@@=@X++@D+C+C+s+r+q+r+2+]+6+]+:+-+1+.+.+O.P.x.D.i.i.j.2.U+]&]&]&o&2%U&/%/%../%/%..$$B B ^.^.^.B ^.$$$$^.B $$W#$$$$V V 4.V >.C >.C V V& ",
+" _ ] { / / { { { { ] { { / { / / ] { ] ] { / ] ^ ] ] ^ { { { { ^ ^ ^ _ _ #.%.2.2.2.i.c.w.x.x.D.X. +$+-+'+-+2+]+2+7+7+q+s+C+C+D+S+S+W+@@@@=@|@|@f@s@y@E@Q@M@Q@W@W@`@-#)#/#3#0#7#f#E#E#E#U#O# $!$~$~$7$3$_$o$A$F$F$X$c%X$_%A%A%r%@&B%B&,&}&}&W&X&p&Y&+ + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+Z&Z&Z&Z&Z&P&Z&R&Z&G&Z&P&P&F&R&F&F&z&r&r&s&S&l&l&t&l&j&f&n&|&|&|&|&3&_&%&&&`%`%T%T%C%F%C%m%m%m%e%e%7%[%<%{%-%@%#%+%Y$H$+ + + + + + + + + + + + + + + 4#3#4#/#)#`@W@Q@W@M@Q@t@t@t@f@f@f@|@r@X+X+X+D+C+C+Z#s+r+7+7+7+]+]+'+-+-+-+X.W.D.D.v.i.c.2.c.U+1$<&1$2%2%2%/%../%p%v%../%$$$$W#$$$$^.W#$$W#$$$$^.B $$V C V 4.C >.C 4.C 4.B ",
+" { ^ / { ] ] { { ^ ] { { ] ^ ^ ] ^ { ^ ^ { ] { ^ ] { { { / / { / ] ^ ^ _ _ {.!.l.c.h.h.h.w.D.D.O..+-+.+'+'+'+<+2+7+n+o+s+J+s++@S+W+X+@@=@^@^@f@s@t@t@t@Q@M@$#$#v&`@-#D#3#4#7#f#f#t#E#O#U#U#.$!$@$~$h$7$_$u$!%K$ %X$X$_%k%r%r%r%`&B&@&,&}&b&}&p&p&p&+ + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+ * * * * * *Z&Z&Z& *Z&Z&Z&.*Z&P&G&H&H&z&E&z&s&r&l&l&l&t&n&d&f&|&g&|&_&_&2&%&~& &=&T%C%F%D%E%n%m%e%7%f%]%[%=%@%@%@%N$M$+ + + + + + + + + + + + + + + 7#5#4#)#/#/#`@W@Q@F@Q@t@t@t@R#|@^@/@=@@@@@S+D+C+D+C+s+q+n+7+g+f+'+]+'+'+.+.+W.D.D.w.w.h.c.2.( +*o&o&^%2%2%/%/%..v%v%p%../%W#$$$$^.^.B W#W#$$$$B W#B $$4.V >.C C C C 4.4.C ",
+" @*] / ] { { ^ ^ ] ] ^ { { { ] / { { ^ ] ^ ] / ] { { / { { ^ / { ] { ^ _ $.{.{.{.{.2.h.j.x.w.D.O..+X.-+-+m+<+]+2+2+7+x+q+q+s+K+D+S+T@W+@@=@/@/@f@g@t@y@M@Q@Q@l#l#-#-#)#)#4#5#a#f#)$E#I#u#U# $U#~$~$7$8$7$o$u$F$W$X$X$_%_%A%K%r%@&B%@&,&B&}&C&p&p&p&W$+ + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+#*$*%*%*&*%*$*#*$* * * *$* * *Z&Z&Z&P&P&R&R&R&H&r&r&r&l&l&j&j&7&n&c&**|&_&_&2&%&*&`%T%T%C%O%O%E%m%t%e%e%8%}%{%{%-%@%Y$Y$+ + + + + + + + + + + + + + + =*3#4#/#/#-#)#$#l#Q@F@U@y@g@f@f@f@r@=@=@S+X+@@S+D+Z#s+q+q+7+2+2+6+]+'+-+-+X.O.O.D.i.h.i.i.r.=.-*]&]&2%2%..../%/%..v%p%/%..$$B ^.$$B ^.^.W#W#^.^.$$$$B C C C V C C C C C 4.;* ",
+" >*^ ] { { { ^ ] { / ^ { ^ ] ] { ^ ] { ^ ] { { ] { ^ { ] / { { ] ^ _ _ _ ~.%.{.2.2.c.j.i.h.D.P.X.W.,*.+'+]+'+<+6+7+r+y+s+q+s+D+D+D+X+x@=@=@f@f@g@g@y@F@U@F@Q@$#W@$#)#/#3#'*4#5#f#f#u#E#u#U# $.$!$~$7$8$3$A$A$W$!%W$_%X$_%r%r%r%B%B&@&}&,&}&C&b&p&Y&)*+ + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+%*!*#*&*%*%*~*%*&*~*#*&*~*&* *$* * *.*Z&.*P&z&P&z&s&z&r&s&r&l&e&j&f&7&6&|&_&_&!&&&)&~&T%T%{*C%G%G%m%m%e%7%f%<%[%-%@%@%Y$]*+ + + + + + + + + + + + + + ^*3#4#/#)#)#-#$#$#Q@E@E@E@t@f@|@f@r@/@=@@@@@X+D+D+C+q+y+7+n+7+]+]+]+m+-+-+X.W.D.O.x.w.i.h.h./*+*-*]&'%2%U&U&/%/%....p%v%v%B $$$$^.$$^.$$^.$$W#$$^.^.$$V >.C 4.V >.4.>.4.V (* ",
+" _*{ ] ] { ] { ^ ] { ] / { / ^ { ^ ] { { ] ^ { { ] { ^ { ^ { { ^ { / ^ _ l {.{.2.c.c.c.i.w.v.D.W.X.-+-+'+'+]+]+<+7+7+7+y+C+C+D+e@X+W+@@=@=@/@|@f@t@t@y@E@F@W@$#$#$#)#/#4#4#3#0#y#f#t#u#U#U#@$U#@$~$h$y%o$u$F$W$W$X$c%4%_%A%A%B%B%X%X%}&b&p&w&p&:*<*[*+ + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+}*}*!*}*|*|*1*|*%*1*!*%*#*#*$* *2* * *3*Z&Z&Z&Q&G&F&R&z&s&s&r&r&j&e&j&n&c&c&|&|&&&&&!&`%T%T%C%C%G%H%m%m%e%7%7%<%-%-%@%+%4*+ + + + + + + + + + + + + + 5*f#5#4#4#)#)#$#W@Q@F@E@t@y@f@s@f@=@/@=@@@X+W+D+D+D+C+r+o+7+7+7+2+]+'+-+.+.+.+O.D.V.x.i.c.c.!.+*1$1$<&'%2%....../%/%../%v%p%..$$^.$$B ^.W#W#^.W#$$B B W#V >.C 4.C V V C C 6* ",
+" P { { { { ] { ^ / / ^ { { { { { / / { ] { ] ^ ^ ] ] ^ ^ / { ] { { J { _ {.!.{.2.2.c.c.h.D.D.O.X.X.-+.+'+)+:+<+7+7+7+q+s+s+K+D+D+@@=@=@=@=@|@f@|@g@t@G@F@Q@W@$#$#`@)#/#/#4#a#f#)$u#I#J#U#U# $+$~$~$7$3$3$&%W$W$W$X$X$_%K%r%r%B%@&X%5&}&}&X&C&p&:*Y&x&+ + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+7*}*7*7*7*7*7*7*}*7*|*|*}*1*!*%*%*~*2*&*#* * * *Z&.*Q&R&F&G&y&r&l&l&l&e&f&c&c&|&|&|&&&2& &*&`%T%C%C%G%H%t%m%e%e%6%[%{%-%@%8*+ + + + + + + + + + + + + + ;@3#5#3#/#)#`@$#V%r#Q@Q@t@t@s@g@f@=@=@=@=@x@D+S+D+D+J+s+s+7+7+2+]+<+'+-+-+.+.+X.O.D.D.v.i.r.c.+&]&1$2%2%..2%../%/%v%..p%..v%W#W#$$W#^.W#$$W#$$^.B $$$$$$$$V C C V V C C >.W ",
+" ] { ^ ] { { { { { { { { / ^ { / ] { { { { { ^ ^ ] ^ { { ] ] ^ / { / _ $.%.!.{.{.2.i.h.i.K.D.O.X.X.X.-+-+]+<+6+7+7+x+y+q+C+s++@D+W+@@@@=@r@/@f@9*s@y@F@F@W@$#W@)#^#/#4#4#7#0#y#E#I#u#u#O#U#~$~$~$7$7$8$o$A$F$K$ %X$_%4%r%r%K%B%X%@&X%0*W&b&w&p&<*Y&a*+ + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+b*c*b*d*e*b*f*b*b*b*g*7*7*7*7*7*}*}*1*~*%* * * * * *Z&P&Q&P&z&H&s&r&r&l&l&j&n&c&h*|&2&!&!&%& &`%T%T%N%F%G%H%m%7%7%]%]%<%-%i*+ + + + + + + + + + + + + + + 7#3#4#D#)#-#v&$#`@F@E@F@t@s@s@|@|@f@/@X+@@S+D+C+K+s+q+7+n+7+2+2+'+'+'+$+.+.+X. +w.D.i.h.c.c.L&]&]&'%<&2%/%../%....p%..v%..p%W#$$^.B ^.^.$$^.^.^.$$$$^.>.C C C 4.>.C C V V ",
+" { ] ^ ^ { { { ^ ] ^ { { ^ / { ] / { ^ { ] ] { { ] ] { { ] ] { ] J ^ J _ %.!.!.c.2.c.h.i.D.D.D. +X..+|+-+:+:+2+7+7+7+s+s+Z#D+D+X+W+@@-@^@=@f@f@g@t@t@F@Q@Q@$#W@)#-#D#4#4#4#a#y#y#f#E#N#U#U#~$@$~$3$7$A$A$A$F$W$K$X$k%4%K%r%`&X%X%,&}&}&w&w&p&Y&<*Y&j*+ + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+k*l*f*b*l*m*n*l*b*l*b*b*b*b*7*7*7*}*7*}*}*%*~*&*#*o* * *Z&R&P&z&z&y&r&r&l&l&n&c&c&**_&2&&&&&*&`%Z%T%C%C%D%m%p*e%f%6%}%{%-%q*+ + + + + + + + + + + + + + + -#7#5#3#/#)#)#`@W@Q@Q@E@t@t@g@s@=@/@=@x@W+W+D+D+K+C+s+7+q+7+7+7+]+'+'+-+X..+ +D.D.D.h.h.j.c.M.]&o&]&2%2%2%..../%..../%/%p%$$$$B $$$$W#^.B ^.^.W#W#^.$$4.C 4.>.C V >.C >.V ",
+" ] { ] { { ] { ^ { ^ { { { { { ^ / ] { { ] { { ^ ^ { { / { ] ^ ] J { _ %.#.{.!.2.2.c.w.i.D.D.D.X.X.|+-+'+:+]+7+7+7+q+r+s+C+D+S+W+X+=@=@/@^@f@s@g@t@y@E@Q@Q@`@$#`@)#)#4#4#4#f#y#y#u#%%O# $U#@$&$~$7$3$_$F$F$W$W$X$X$_%k%4%r%B%B%X%}&}&C&r*p&p&Y&s*s*t*+ + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+u*l*u*n*v*n*w*l*x*m*n*k*m*k*b*b*7*7*7*7*}*1*%*#*%*~* *2* * *Z&R&G&E&H&r&r&l&l&j&f&6&c&y*|&_&_&~&`%`%T%C%G%E%E%p*e%7%}%]%<%z*+ + + + + + + + + + + + + + + A*3#4#4#D#)#)#`@W@Q@F@t@t@t@s@f@f@=@=@@@S+W+D+D+C+K+s+n+q+7+7+<+2+'+'+-+$+.+P.D.D.D.h.h.h.c.B*1$]&]&2%2%..../%........v%../%$$B ^.$$B $$$$W#W#$$B ^.W#B 4.V C C C V C C C ",
+" C*{ { { / / ^ ^ { ^ { ] { / { ] ] ^ ^ ^ { { ] ] ^ ^ { ] ] ] ] ] { { _ 3%_ !.!.2.3.2.h.h.w.D.D.D.D..+.+-+'+]+2+2+<+q+x+q+q+K+s+S+S+@@@@>$r@r@f@f@f@t@E@M@F@W@W@`@-#)#/#4#5#5#3#f#y#E#O#u#U#U#@$~$~$7$3$A$F$F$W$X$X$X$4%D*r%r%B%R%5&X%}&C&r*C&p&Y&E*F*t*+ + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+w*w*w*G*w*w*w*u*w*v*w*v*x*w*l*n*l*m*l*f*b*b*7*7*}*|*%*~*#* * *Z&.*P&P&R&H&s&r&l&l&t&d&6&|&|&|&&&)&!&`%T%C%C%F%G%n%n%e%7%8%]%H*+ + + + + + + + + + + + + + + I*7#4#/#/#)#`@-#l#W@Q@F@M@t@f@q#f@^@=@@@W+@@S+S+C+s+s+s+y+7+7+<+<+]+'+-+.+.+ + +D.x.w.w.h.2.t$J*]&1$'%2%......../%....v%/%..$$$$$$^.$$W#^.$$W#W#W#$$B B >.C C C C V V C >.K* ",
+" L*{ ] { ^ { { { { ] ] ^ ^ / ^ { { { ] { ] ^ ] / / ^ ^ ] ] ] { ^ ] J _ _ _ $.{.{.c.c.i.i.K.D.D.D.W.-+$+-+'+6+<+2+7+7+y+r+C+C+C+D+X+@@@@/@=@/@f@g@t@y@G@Q@V@Q@`@-#)#/#D#3#3#4#f#f#f#E#N#u#U#@$~$7$8$7$_$_$A$K$X$W$X$4%_%A%K%B%@&@&,&}&}&}&W&M*Y&Y&N*N*O*+ + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G*G*G*G*G*G*G*G*w*G*G*G*w*w*w*v*x*u*u*n*l*f*b*b*7*7*}*!*}*!*&*2* *Z&Z&G&P&y&E&r&r&r&l&f&6&c&7&|&_&&&)&`%Z%T%C%C%M%m%n%e%e%f%<%<%+ + + + + + + + + + + + + + + L$0#4#/#/#)#)#`@`@r#Q@M@t@t@L@f@|@=@=@@@X+=@X+D+D+C+s+q+n+7+7+2+]+]+]+-+|+$+W.P.D.D.D.h.c.h.S 1$1$o&o&2%....../%....p%....p%B $$^.^.$$W#^.$$$$W#^.B B B V C V >.4.C C C V L* ",
+" P*{ { { { / { ] { ] { ^ { { / { ] / { { ^ ] { ^ { { { ] { ^ { ^ / ^ ^ _ !.%.2.!.2.c.i.i.v.v.D.{+D..+X.'+-+]+6+2+g+7+n+r+C+K+C+X+@@S+=@=@=@f@|@R#t@y@E@Q@Q@W@$#-#`@/#4#3#4#f#f#E#u#u#O#U#U#+$&$~$7$_$o$_$F$F$W$X$*%_%4%A%r%B%B%X%,&,&b&}&b&:*Y&:*E*Q*R*+ + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+S*T*G*U*S*S*S*S*S*G*T*G*S*G*G*w*w*w*w*x*v*x*l*b*b*e*b*7*}*|*~*}*~* * *Z&Z&F&z&E&r&l&l&l&t&f&c&c&_&_&&&&&`%T%T%M%F%G%H%e%m%f%}%[%V*+ + + + + + + + + + + + + + W*7#4#4#W%)#)#)#l#W@W@Q@M@t@t@s@f@|@=@=@@@S+S+D+D+s+C+q+q+r+7+g+<+<+-+-+-+X.O.X.D.D.V.h.h.j.H J*1$o&2%2%../%../%/%/%/%/%p%p%..$$^.$$W#$$$$B ^.W#^.^.B C C V >.C V C V C C X* ",
+" _*{ { ] { ] ^ ] ^ ] { ^ { ^ ] / { / ^ { ] ^ { ^ ] / { ] { { { { ^ ^ _ _ %.{.2.2.2.i.c.i.w.D.D. +.+W.X.'+]+:+]+<+7+o+y+s+s+K+D+D+S+X+@@=@6@r@|@s@s@t@F@M@Q@W@$#$#`@/#/#3#s#f#f#u#y#u#u# $.$~$~$~$y%7$A$3$F$W$K$a&X$4%4%K%4%B%#&,&5&}&}&w&w&:*Y&Y*s*Q*Z*+ + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+`*S*`*S* =`*`*.= =.=`*+= =S*S*S*+=G*G*G*G*u*u*v*x*x*k*b*b*7*7*}*}*}* *&* * *Z&P&R&H&S&l&l&m&j&d&6&|&_&8&_&&& &T%T%C%O%t%m%e%f%7%}%@=+ + + + + + + + + + + + + + + 3#a#4#3#/#)#$#$#W@Q@G@y@E@g@s@g@/@/@=@-@@@S+D+D+C+C+q+s+7+7+7+<+'+]+'+$+.+X.P.W.D.D.v.c.c./*-*1$<&'%2%/%..../%../%/%/%..p%^.^.B $$$$W#$$$$W#$$W#B W#^.>.>.4.C >.V V >.>.#= ",
+" _.^ { ^ / { ] / { { { ^ ] ] ] / { ^ ] { ] { ^ ] ] { { { ] ] / { / { ^ _ $.{.!.l.2.C.i.h.w.D.D.D.W..+.+]+]+6+f+<+7+7+q+q+C+C+S++@S+@@=@/@|@^@|@f@D@t@U@M@Q@Q@$#$#/#/#4#4#a#0#y#f#E#E#u#U#U#U#~$7$~$_$A$A$W$F$ %W$_%_%A%4%B%B%@&X%X%b&X&C&w&Y&:*N*s*N*$=+ + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G++=`*%=&=`*`*&=%=.=.=%=.=%=`*.= = =S*S*G*G*G*G*w*w*m*n*l*b*b*7*7*}*1*%* *o* *Z&Q&G&G&z&r&r&l&j&n&c&7&|&1&3&&&!&T%T%C%N%D%t%H%e%8%7%*=+ + + + + + + + + + + + + + + a%7#4#/#/#/#l#$#W@W@Q@t@y@t@f@g@f@/@=@=@@@X+X+D+D+C+s+o+n+7+2+7+<+]+-+$+.+ +X.D.D.x.v.c.r.` +*1$1$2%o&2%../%..../%....../%W#^.$$^.$$B ^.B $$^.$$W#W#W#>.C C 4.C >.C >.4.6$ ",
+" P ] ^ { / { { { ^ / ] { ] ] { ] { { { ^ ] { / ] ] ^ { { ] { ] ^ ^ J =._ %.!.{.2.c.j.j.i.D.w.D.W.X.$+-+'+<+<+]+g+7+y+q+q+s+D+D++@X+X+@@/@^@|@s@s@t@F@F@F@W@Q@`@$#)#)#}#4#3#7#f#I#u#E#N#b%+$.$~$~$8$7$&%F$F$W$W$X$4%4%r%L%B%B%X%B&,&}&b&p&p&:*Y&Y&Q*Q*+ + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+.===&=&=&=&=-=&=&=&=&===%=%=%=.=%=%=.=S*T*U*G*G*w*w*w*l*l*b*f*c*}*7*!*&*&*&* * *R&F&F&r&r&r&l&l&n&c&7&**|&)&)&%&T%T%C%N%F%m%m%g%7%;=+ + + + + + + + + + + + + + + >=7#3#4#/#)#v&l#H#Q@Q@M@U@g@s@f@f@/@=@=@@@W+X+D+C+s+q+y+r+7+g+]+'+-+m+.+X.X..+D.D.x.h.h.j.` +&]&,#,#o&2%/%/%/%v%/%v%p%....B W#^.^.$$W#B ^.$$W#$$$$$$$$4.4.4.4.4.C C 4.C W ",
+" {.] { ] { ] / ] ^ { ^ ] ^ { ] { / ] ] { ^ / { ^ { / ^ { / ^ / ^ ] { ^ $.%.{.{.3.c.h.j.i.v.D.D.W. +X.'+'+:+2+]+g+7+7+q+s+D+s+D+D+W+=@=@=@|@f@|@g@s@E@F@Q@W@$#$#`@)#/#}#3#a#f#f#y#E#E#u# $U#U#&$7$7$3$_$A$W$/&X$_%_%4%K%r%B%B%@&}&}&}&C&p&p&<*E*Y&Q*Q*+ + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+-=&=-=-=-=-=,='=-=-=,=-=&=)=&=&=)=%=`* =S*S*T*S*S*G*G*w*x*n*b*b*7*7*7*1*#*%*~* * *.*Q&R&z&z&r&m&j&n&7&c&_&3&&&!&~&`%T%C%C%G%m%e%7%!=+ + + + + + + + + + + + + + + A#f#4#4#)#-#)#$#`@Q@F@y@y@t@g@R#f@/@=@=@W+X+D+D+D+J+s+x+x+7+2+2+2+]+-+.+.+W.W.W.D.w.i.i.h.=.1$+*<&^%2%2%....../%v%../%p%W#B B B W#W#W#^.B W#$$W#$$^.C V C C V C V >.C C ~= ",
+" / / ] / { ] ] ] { ] { ^ { / / { { { ^ ] { ] ^ / ^ / ^ ] { ] { ^ ] _ ^ _ !.!.{.3.c.h.j.i.K.D.W.W..+$+1+)+'+<+]+7+7+7+n+C+q+D+C+S+X+-@@@=@7@f@|@s@y@U@G@Q@Q@$#)#)#/#)#3#4#7#f#f#u#u#E#O#U# $&$~$3$7$A$A$F$F$W$X$X$_%A%K%{=r%@&,&(&}&}&p&p&p&Y&E*F*N*Q*+ + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+-=-=]=]=]=]=,=,='=^=/=]=]=-=,=-=-=-=&=)=== =%=S* =T*G*G*G*w*w*w*n*b*7*7*7*}*}*#*o*$*Z&Q&R&y&y&r&l&j&f&6&c&|&_&_&!&%& &T%C%C%G%m%m%g%(=+ + + + + + + + + + + + + + + _=0#5#4#4#)#)#$#$#H#F@U@t@y@s@f@f@^@/@=@=@X+X+D+D+D+s+s+r+7+7+<+6+]+'+-+X..+P.D.D.w.w.h.h.!.+*1$]&o&2%2%../%......p%../%p%W#B $$^.$$^.^.$$$$^.B W#B >.>.>.>.>.C 4.C 4.C 4. ",
+" y { { ^ ] ] ] ] ^ { { { { ] / ] ^ { { ^ / ] { ] ^ ] / ] ] { { { / _ _ l !.{.7.2.c.h.h.D.v.D.W.D..+-+X.'+]+2+2+g+7+n+s+J+K+K+D+X+@@@@=@=@/@|@q#t@t@y@U@Q@W@`@l#)#-#/#7#s#f#f#f#)$u#E#O#U#!$!$:=8$h$3$A$F$F$/&W$X$_%A%4%r%r%R%B&,&,&X&p&p&p&E*Y&N*N*Q*+ + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+]=<=/=]=[=}=/=[=]=}=<=|=]=]=/=}=-=-=-=&=&=&=)=%=%=`*1=S*G*G*w*w*n*m*f*b*7*7*|*#*~*2*Z&Z&P&F&R&y&l&r&l&j&j&6&|&_&&&!& &=&T%C%C%D%H%e%2=+ + + + + + + + + + + + + + + + 7#5#4#}#)#-#v&$#Q@Q@Q@F@t@g@g@f@6@r@=@W+@@W+S+K+K+s+q+x+7+7+g+<+:+-+-+.+X..+D.D.i.h.c.c.%.+*+*1$'%o&2%........p%....p%$$^.B ^.^.W#$$$$W#^.W#B ^.B V >.C C C >.C 4.V V 3= ",
+" f / { { ^ ] ^ ] { ^ { { { ^ ^ { ] { { ] { { { { / / ^ ] ] { ] ] / ` _ %.!.{.!.c.2.c.i.i.v.D.W.O.X..+-+'+-+<+2+7+7+n+s+J+Z#D+D+D+W+@@@@/@^@f@g@t@y@t@M@a%Q@W@)#)#/#4#3#7#a#f#y#I#u#u#u#U#&$@$~$h$3$3$o$F$F$W$ %X$4%;&A%r%r%>&@&5&}&}&X&p&:*E*E*E*N*Q*+ + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+<=<=[=[=4=5=4=[=|=6=[=[=4=[=4=]=<=]=]='=-=-=-=)=%=)=%=S*S*G*G*w*w*l*l*g*b*7*7*}*|*#* * *Q&P&G&z&r&l&l&f&7&6&|&|&2&_&`%`%`%C%N%G%m%m%7=+ + + + + + + + + + + + + + + + 3#f#4#4#)#$#$#W@Q@M@E@y@t@s@s@f@7@=@=@@@X+X++@D+C+C+q+y+7+7+2+2+'+'+'+.+.+W.O.D.v.w.w.i.!.+&]&]&]&2%2%../%p%..p%v%v%$$$$W#W#^.^.$$$$$$W#^.B B $$W#4.V V C V C C V V C 8= ",
+" y { / ] { { ] / ^ ^ { / ^ { { ^ / ^ ] ^ { ] { { ^ ^ ] ] { ] { { J ^ _ l ~.~.l.c.c.j.i.i.D.D.D.X..+.+.+m+]+6+6+7+7+7+q+s+s+D+X+X+X+@@=@^@|@f@g@g@t@G@E@M@Q@W@`@)#)#4#4#7#3#f#f#I#E#u#U#U# $~$~$_$_$_$_$F$F$/& %X$_%k%4%r%r%X%X%,&}&r*b&p&Y&:*Y&E*Q*9=0=+ + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+a=6=5=6=b=6=6=6=6=6=6=6=6=4=6=b=4=[=<=[=<=,=]=]=-=-=&=&=%=`*+=S*G*G*w*u*m*b*k*7*7*|*!*~* *Z&P&P&P&H&z&l&l&m&n&7&**|&_&&&`%`%Z%C%O%n%m%c=+ + + + + + + + + + + + + + + + d=0#4#4#/#)#`@W@l#F@y@G@t@s@g@|@f@=@r@@@X+@@D+D+s+s+s+y+7+e+g+<+:+]+'+-+W.W.D.D.v.x.x%r.%.+&+*1$'%'%2%2%../%....v%..^.W#^.^.B W#$$$$^.^.$$^.$$W#V V >.V >.4.4.C V C C n. ",
+" ^ ^ ] ^ / ] ^ ] ^ ] ^ ] / ] / / { { { / ] ^ ] { / ] { ] ^ ] { ] ] ^ _ _ !.!.!.c.h.r.h.h.x.D.W.W.X.$+-+'+'+]+f+7+y+7+s+s+K+D+D+S+X+x@=@r@^@|@f@f@y@t@M@M@W@r#W@)#/#/#4#3#f#f#E#y#u#u#O#.$@$~$~$y%3$_$o$F$F$K$X$X$_%A%A%B%X%@&N&N&X&b&W&:*<*Y&E*s*Q*e=0=+ + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+6=f=f=f=f=g=f=f=f=f=f=f=f=f=6=6=b=[=h=[=|=]=/=-=]=]=-=&=)= =`*.=G*G*G*w*u*l*l*b*7*7*1*&*#* *Z&Z&P&z&r&S&l&i=e&j&d&|&|&)&%& &*&C%C%G%D%j=+ + + + + + + + + + + + + + + + M@5#4#4#)#/#`@`@W@Q@M@U@E@f@f@f@=@r@=@@@@@+@D+C+C+q+q+y+x+7+]+<+]+]+-+.+-+O.D.D.D.v.c.c.%.+*1$o&^%^%2%/%..p%p%v%p%p%$$W#B $$^.$$B ^.$$^.$$^.$$^.4.4.C C V C >.>.4.4.C C ",
+" ] { ] { { ] { { / / { ^ ^ { ] { ] ^ { { ] ] ] { { ^ { / / ^ ] / { ] _ $.l !.2.{.j.h.~@i.x.D.D..+X.|+'+m+'+2+7+7+n+o+s+s+K+C+D++@S+=@=@=@=@f@R#t@k=t@E@Q@W@W@$#.&/#4#4#7#f#f#I#E#E#O#O#U#&$~$&$7$3$A$&%F$K$W$_%_%4%A%A%r%@&R%B&(&}&w&C&p&Y&E*Y&Q*Q*l=+ + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+f=m=f=n=o=o=o=f=p=o=q=n=p=f=n=n=r=6=6=6=6=[=|=/=}=/=-=-=-===s=%=1=S*S*G*w*n*g*l*e*7*}*~*#*&* *Z&Z&F&H&z&r&l&j&e&d&|&_&&&2&%&`%T%C%N%E%H%+ + + + + + + + + + + + + + + + u&3#4#/#)#)#)#$#W@F@U@Q@t@g@f@f@f@6@=@S+X+X+D+e@C+C+q+y+n+7+6+6+]+-+'+.+W.W.D.D.w.i.h.h.!.J*1$1$o&2%2%2%..p%/%p%/%^.W#$$^.^.$$$$W#$$W#^.$$W#$$W#^.V V C V >.V C V C 4.C ",
+" ] { { / ^ / ] ^ ^ ^ / ] ^ ] ] { / ^ ] ^ { ^ ] ] ^ ] ^ { ^ ^ { { ] _ _ _ %.!.{.c.2.h.c.w.w.D.D.O..+.+-+'+'+]+e+7+7+q+q+C+C+D++@S+X+@@=@6@|@f@f@t@t@G@Q@Q@H#`@-#)#/#D#3#0#a#f#E#E#u#u#b%U#@$~$~$h$_$A$A$F$K$X$X$k%4%r%B%B%B%@&,&,&}&b&w&p&p&E*s*t=Q*u=+ + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+q=p=q=o=v=v=w=w=v=q=q=v=o=q=q=o=n=f=f=6=f=6=[=[=]=a=]=-=-=&=%=%=.=1=S*G*w*w*x=n*g*f*7*}*!*~* * *Z&R&G&s&s&r&m&j&6&|&|&J&)&)&~&T%C%N%F%m%+ + + + + + + + + + + + + + + + S+4#3#4#)#)#$#$#Q@Q@y@t@t@t@|@R#r@r@=@=@X+T@D+D+Z#s+s+7+7+7+6+]+]+:+-+.+X.X.D.D.D.i.i.2.%.y=1$o&1$'%2%2%z=..../%p%B W#B $$$$W#W#B B W#$$B W#$$^.V C >.C C 4.>.V V V C 4. ",
+" { { ] ] ^ ] ^ / ] ^ ^ ^ / { { / / ] ^ / { ^ / ^ { { { ] { ] ] { / { ^ _ l {.{.2.j.j.w.x.D.P. + +X.$+-+]+<+]+g+g+7+n+r+s+C+D+C+@@@@@@=@=@f@|@f@s@y@t@F@Q@W@$#l#`@/#)#4#5#7#f#)$y#E#U#N# $~$~$~$8$8$A$o$F$ % %_%X$A%k%r%r%R%B%,&}&}&r*p&:*Y*Y&N*N*Q*9=+ + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+o=o=w=A=B=C=D=E=A=A=A=A=C=F=G=w=o=p=p=p=m=p=f=6=6=5=6=4=a=/='=-=&= =.=S*S*G*u*w*x*b*b*7*7*}*|*%*o*Z&Z&y&y&H&r&l&l&f&7&**|&&&2&)&`%T%C%G%H%+ + + + + + + + + + + + + + + + 1%3#4#4#/#-#l#$#Q@M@U@E@y@g@g@|@^@r@/@@@@@*@D+C+s+s+s+n+7+7+7+6+<+'+'+-+.+X.W.D.w.K.h.h.c.+&1$1$2%2%2%../%/%p%/%B $$W#B ^.$$B $$W#$$B $$W#W#W#C V C 4.V V C 4.4.>.4.V C ",
+" y { ] ^ ^ { { { { ] ] { / ] ^ { ] ] / ] ^ { { { / { ] ] { ^ ^ ^ ^ J _ $.~.!.!.c.C.j.h.x.D.D.W..+.+.+'+]+:+<+7+2+n+n+y+s+C++@S+D+x@=@=@/@/@f@s@t@y@E@M@W@l#`@`@-#)#)#3#3#f#f#)$u#%%U#O#U# $!$7$~$3$A$o$F$W$W$ %_%k%4%B%r%@&@&,&}&}&X&p&p&E*E*E*N*Q*Q*+ + + + `%G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+A=C=E=E=A=E=E=E=E=E=E=E=E=H=A=A=E=C=w=w=v=n=f=n=f=6=[=[=<=]=/=-=&=&=)= =S*+=G*w*u*m*g*e*7*7*!*&*$*$*Z&Z&R&z&r&r&l&e&6&6&|&_&)&&&*&T%T%E%F%I=+ + + + + + + + + + + + + + + J=f#4#4#)#`@$#`@Q@M@Q@t@y@g@s@|@/@/@=@=@@@S+S+D+C+K+y+q+7+2+g+<+'+m+-+$+X.W.D.O.D.V.h.c.c.J*+&]&2%]&2%2%../%p%$$W#W#B ^.W#$$^.$$W#^.B B $$B W#C C >.C 4.C >.C C 4.V C n. ",
+" f { { ] { { { { ^ ] { ^ ] ^ ] ] ^ ^ { / { { { { ] { ^ { ] { ] / ^ J _ ~.%.!.l.2.c.c.h.K.x.{+W.W.X.'+-+'+]+<+<+7+7+s+q+C+q+C+D+@@@@@@=@^@|@f@f@t@F@M@F@Q@W@W@`@$#)#/#4#7#0#7#f#y#u#O#U#U#!$~$~$~$7$3$F$F$X$W$X$4%4%A%r%B%`&@&,&}&b&b&p&p&:*Y&E*N*Q*u=+ + + + G%G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+K=K=L=K=K=K=M=M=M=M=M=M=M=N=O=E=E=H=A=A=w=w=o=g=m=6=6=6=4=]=}=]=-=-=&=.=`*S*P=G*w*x*m*k*b*7*}*&*#*#* *Z&F&E&z&r&t&j&6&7&g&_&3&&&`%T%T%C%N%Q=+ + + + + + + + + + + + + + + R=5#4#3#)#^#$#$#W@Q@M@U@t@g@s@f@|@/@=@W+@@S+S++@q+q+y+7+7+7+6+2+:+]+-+$+$+W.W.D.D.x.h.j.c.+*]&<&<&'%'%2%..v%v%^.W#$$B $$W#$$W#^.^.$$W#$$W#B V C C C 4.C C 4.V C >.V C V ",
+" y { { ] ] { ^ ] ^ { { ] { / { ] ] { ^ ] { ^ { { ] { { ] ] { ] ^ { =._ _ ~.{.{.c.2.,@h.i.x.D.O.W.X.'+-+]+<+<+<+7+7+q+s+s+Q+D++@S+X+($=@=@^@f@f@f@t@t@F@Q@W@$#)#)#)#/#3#0#0#f#f#I#u#O#u#U#!$~$~$h$3$_$u$A$W$K$X$X$k%4%L%B%@&X%5&}&}&b&w&p&:*Y&N*Q*N*e=+ + + + 6%G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+K=K=M=S=S=T=U=V=W=X=W=V=Y=S=U=M=M=N=E=N=E=A=A=B=v=p=q=f=f=5=5=}=a=^='=&=%=%=S*S*+=G*u*u*b*f*b*7*|*}*~* *Z&R&F&z&r&l&t&f&c&g&|&_&&&!&`%Z%C%O%Z=+ + + + + + + + + + + + + + + `=4#3#/#)#)#`@W@W@Q@Q@y@t@s@g@f@^@^@=@X+X+S+D+C+C+s+n+q+7+7+g+2+]+'+-+-+.+X..+D.D.v.i.h.!.+*1$]&^%2%2%2%/%/%p%B B $$^.W#W#W#W#$$^.B W#W#^.W#V V >.C C 4.C 4.4.>.>.C V b+ ",
+" ^ { / ] ] ] { { / ] { ^ ] { { / { { { ^ ] ^ { / ^ ] ] / { ] { / { ^ _ %.{.!.7.{.c.j.i.i.V.D.W.X..+-+'+:+]+<+2+7+7+s+r+s+s+D+D+@@@@@@@@=@f@f@s@s@t@F@F@Q@W@$#`@`@)#}#5#f#f#f#f#E#E#N#N#@$ $.$7$7$3$_$F$!%!% %X$_%_%_%K%r%B%@&X%5&X&}&C&M*p&Y&E*Q*Q*l=+ + + 2*>%G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+S=X=U=W= -.-+-@-.-@-W=#-T=T=Y=V=S=$-S=M=E=N=E=E=D=F=v=o=q=6=6=4=a=a=]=%--=)=.=`*S*G*w*u*n*x*f*7*}*}*$* * *Z&P&y&z&l&t&e&c&c&|&2&3&)&*&`%T%C%&-+ + + + + + + + + + + + + + + d%3#3#4#/#`@$#`@W@Q@F@t@y@g@g@f@f@6@>$W+@@D+D++@s+q+q+o+7+7+2+<+'+-+-+-+X.W. +D.D.v.v.h.!.+*]&]&]&'%2%../%$$$$$$B ^.$$W#$$W#$$$$$$^.^.$$B >.>.4.>.C 4.C V C V V >.C V >. ",
+" Z ] { / ] { ^ ] { / / ^ { ] { ] { ^ ] { { ] ] { { { ] / ^ { { { / ^ _ %.%.!.!.2.j.h.w.w.w.D.W.W..+l+X.'+:+<+]+7+7+y+r+q+C+D+X+S+-@@@=@|@f@f@f@s@t@E@Q@Q@Q@Q@$#)#4#3#3#4#0#f#I#t#u#N#*-.$+$&$~$7$_$o$A$F$K$X$X$X$A%K%A%B%=-B&@&}&}&w&b&p&:*Y&E*N*Q*--+ + + 3&E$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+;->-.-,-'-)-'-'-)-'-'-'-)-!-'->-@-W=T=V=X=M=N=E=E=B=D=p=g=f=f=5=4=a=]=^=-=&=&=.=S*S*G*~-x*l*b*7*7*#*!* * *Z&P&y&y&r&l&l&f&6&c&_&_&&&*&T%{*M%{-+ + + + + + + + + + + + + + + ]-4#4#/#/#`@$#l#Q@Q@E@G@y@t@s@f@=@/@=@=@@@S+D+C+J+s+q+q+7+7+7+<+'+-+'+-+.+ +{+D.w.i.h.C.%.+*+*1$]&]&2%..v%$$^.^.B W#B W#^.B W#B W#$$^.^.$$V V C >.C >.>.V V >.C C V 4.+. ",
+" P { ^ / ] / { / { ^ { / ] ] ^ { / / ] / ^ ] { ] ] { ] ^ { { ^ ^ ^ _ _ %.%.{.g.2.h.2.h.v.h.D.D.W.W.-+.+-+]+6+g+7+7+7+q+s+s+C+D+W+X+@@r@=@6@f@s@t@t@y@Q@Q@H#$#$#)#)#)#4#7#3#f#t#t#u#N#N# $~$&$~$7$_$_$_$F$F$W$X$X$k%A%r%L%B%X%,&}&}&p&C&p&<*Y&E*Q*Q*@&+ + + 8%G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+,-'-!-^-^-^-/-/-/-/-/-(-!-!-!-_-:-<-.-Y=V=Y=X=N=E=E=C=C=q=o=f=6=6=[=]=<=^=-===&=%=+=[-w*w*n*b*b*7*}*|*#* * *P&P&E&s&l&l&j&c&|&|&_&)&!&*&T%T%C%+ + + + + + + + + + + + + + + }-3#/#/#)#)#-#l#$#F@M@t@t@t@f@f@/@=@=@-@@@X++@C+J+s+q+y+7+7+]+<+m+'+-+|+ +.+W.D.w.i.h.j.!.|-]&1$]&o&..^.p%$$W#B B $$$$$$B $$$$$$B W#B W#^.C V V C C >.V C >.4.4.C >.V W ",
+" 2${ ] ^ { { { ] ] ] / / { ^ ] ^ / { ] ^ { ] { { ] ^ / ^ ^ { { / ] _ _ l ~.{.!.{.2.h.h.h.D.D.W.O..+$+'+)+]+]+<+7+7+n+s+q+K+D++@X+X+=@=@=@7@f@f@g@t@F@M@F@Q@W@`@`@^#3#4#5#f#7#)$)$I#O#N#U#U#@$~$7$_$3$o$F$F$ % %X$_%A%K%B%B%X%@&}&b&p&p&M*Y&Y&Y&1-Q*,&+ + + E$G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+2-3-3-/-4-5-/-6-6-6-6-6-4-4-7-(-8-!-'-'-+-.-W=W=X=O=E=E=B=9-o=f=6=6=[=]='=-=&=%=.=S*[-G*G*x*m*g*7*}*1*%*2*Z&.*P&H&H&r&l&e&e&****|&!&)&*&`%T%M%+ + + + + + + + + + + + + + + 0-4#3#3#)#$#$#$#W@F@Q@y@y@f@s@|@f@=@=@@@X+X+S+D+C+s+q+q+7+e+g+]+'+'+-+.+.+.+{+D.D.v.h.c.!.+*-*<&'%..../%..$$$$W#^.$$W#^.B B $$B $$W#$$$$$$V C >.>.V V V V 4.4.>.>.C C a- ",
+" _*^ { / ] ] { / { { { { { / ] { { ^ ^ ^ ^ ^ ^ { { { / { { / ^ { J _ _ l !.!.{.2.r.h.i.i.x.D.D.X..+X.-+'+]+<+g+2+7+7+x+s+C+D+D+X+S+=@/@=@/@f@g@t@t@t@F@Q@$#$#)#)#)#4#7#7#7#f#y#t#u#u#U#U#U#&$~$h$b-_$o$F$!%K$X$X$4%4%A%r%@&X%,&,&,&}&C&p&p&:*E*Y&1-4%+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+7-6-c-c-d-c-d-e-e-f-e-e-d-g-h-6-6-/-(-(-!-<-i-V=U=S=M=E=D=A=9-f=f=6=[=[=a=/=-=-=.=1=S*G*G*u*l*n*c*7*}*|* *$*Z&R&P&z&r&l&l&f&6&c&_&_&!& &`%C%O%+ + + + + + + + + + + + + + + j-4#/#4#)#)#$#r#W@Q@U@t@t@g@s@f@=@/@=@@@X+X+X+C+s+q+n+q+x+g+6+<+'+-+-+.+-+.+{+D.w.i.h.j.d+]&+*]&M M ..^.$$$$$$^.$$^.$$^.B $$$$$$B W#$$C C C >.>.>.V V 4.>.C C >.C C >.#= ",
+" 1 ^ ] ^ / ] { ] ] { { ] ] ] { ^ ] / ] { / ^ ] ^ / { / ] { ] / ] ] _ ^ ~.l !.!.2.2.r.c.x.x.D.D.{+W.$+'+'+]+2+2+7+7+r+q+s+Q+D+S+S+X+W+=@/@=@|@g@t@t@t@M@Q@W@$#W@-#/#/#/#4#7#f#f#E#E#N#U#U#.$&$7$~$3$_$_$F$F$ %X$X$k-A%A%B%B%@&X%}&,&b&r*C&p&<*E*N*Q**%+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+c-l-m-n-o-n-p-q-r-s-t-r-n-u-o-v-w-g-6-4-(-^-!-+- -Y=U=K=E=A=D=9-p=f=5=[=4=]=-=&=%=.=.=T*G*v*v*f*b*7*}*}*&*&*Z&Z&z&z&r&l&l&j&n&g&|&_&8&*&=&T%T%+ + + + + + + + + + + + + + + $=7#4#4#)#)#`@W@Q@Q@M@t@t@s@f@f@/@=@=@=@S+X+D+D+s+C+y+x+7+7+6+2+]+-+-+.+X.P.D.D.D.w.h.,@$.1$1$,#O+2%..W#p%^.$$B W#^.$$B W#W#B W#B W#V C C >.C V V V V 4.4.C 4.V >.V >.X* ",
+" L*^ ] ] / { ] ^ { ] / { { / ] / { { ^ { { { { ] { { ] ] / { { ] =.{ _ ~._ l {.2.c.i.h.i.V.D.D.W..+.+-+-+]+]+7+7+7+y+q+s+K+D+D+W+W+@@=@=@^@|@f@f@t@G@F@W@W@l#l#)#^#4#4#7#7#f#T#)$u#N#u# $@$&$7$~$7$7$o$F$F$!% %X$_%D*A%A%r%@&,&5&}&W&C&p&p&:*N*E*t=*%+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+m-x-y-z-A-B-C-D-E-F-G-F-H-I-A-A-n-u-o-c-h-6-8-^-)-@-.-W=S=S=E=D=J-K-n=5=[=a=]=]=&===%=.=T*G*G*u*n*g*7*7*1*}* * *Z&L-y&y&r&t&f&6&c&|&_&)&)&*&T%T%+ + + + + + + + + + + + + + + M-7#3#D#/#-#)#W@Q@F@G@t@s@t@f@|@^@=@=@=@S++@e@s+C+q+y+7+7+7+g+:+<+'+-+.+.+W..+D.D.w.h.c.=.,#,#,#......p%^.B $$B B $$^.$$^.W#^.W#$$$$$$>.C 4.>.C >.C V >.4.C C V 4.V >.N- ",
+" O-] ^ ] / ] ] ] / { { / ^ { / / { { { ] { / ^ ] ] { { ] / ^ ^ ] / ^ ^ _ !.{.{.c.2.h.h.h.D.D.D.X.X.-+'+'+'+]+e+<+7+n+7+q+D+D+D+D+@@=@=@=@|@f@f@t@g@y@Q@Q@$#H#-#$#)#)#}#3#f#f#T#I#f#%%O#U# $U#@$7$y%o$A$A$!%F$W$ %4%K%A%A%B%@&@&,&,&}&p&p&:*E*:*s*N*P-+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+Q-R-S-E-T-U-U-V-W-X-Y-Y-U-Z-Z-I-I-A-R-n-u-e-w-6-(-^-'-i-S=U=M=A=J-K-F=6=6=[=4=]=-=&=&= =T*S*G*w*x*n*g*7*}*&*2* *`-Z&H&y&S&l&j&7&c&|&_&2&)&~&T%C%F%+ + + + + + + + + + + + + + m#7#D#/#)#/#W@$#Q@F@y@t@t@t@|@f@/@r@=@X+S++@D+K+C+s+o+q+7+<+g+]+'+'+-+-+ +X.D.D.D.h.i.r.=.1$'%..'%2%..$$W#$$$$W#$$W#$$^.$$$$$$W#$$4.V V V >.C >.4.V V V C V C V V >.V ; ",
+" ] ^ { { ] ^ { ] ] { ^ { ] ] ] ] ] ^ / ^ { ^ ] ] ] { ] ^ { ^ ] ] ^ _ #.#.{.{.2.c.j.c.i.i.x.D.O. +.+l+-+<+'+<+7+7+7+r+s+q+C+D+S+X+x@=@^@/@/@|@t@y@Q@U@F@Q@Q@$#$#/#/#/#7#3#f#f#t#E#u#N#O#.$.$~$7$7$3$_$A$A$F$X$X$X$k%4%4%B%@&,&}&,&}&b&p&M*Y*:*N*Q*P-+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+.;T-+;U-Y-Y-@;#;$;$;%;%;%;#;&;V-U-Z-I-A-s-o-m-6-6-(-*;=; - -M=K=A=K-v=m=6=h=<=/=-=-=)=`*+=S*G*w*x*l*b*7*-;1*%*2*Z&Z&G&E&S&r&l&f&7&c&|&_&%&%&`%C%C%+ + + + + + + + + + + + + + ;;3#4#D#)#)#$#l#W@Q@t@y@t@g@f@f@6@=@@@@@W+D++@D+C+r+y+y+7+7+6+6+'+-+.+.+X.D.D.V.D.w.j.2./ '%]&'%..2%^.^.$$$$$$$$B W#B W#B $$W#^.C C V C C >.4.C C 4.C 4.C 4.C V C V V ",
+" { { { { ^ { ] / ^ { { ^ { { / ] / ] { ] / { / ] { ^ ^ ] / ^ ^ / =.^ _ _ !.!.2.2.h.i.h.x.D.D..+W.$+'+-+'+6+<+7+7+n+s+q+s+C+D+S+X+@@@@=@/@f@R#f@t@t@y@E@Q@l#l#-#^#/#4#/#7#0#f#f#u#u#u#U#U#.$&$7$~$_$A$A$A$K$!%_%_%4%_%4%B%@&R%B&,&b&b&W&:*p&Y*E*s*J#+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+U-W->;,;';,;);!;~;{;];~;^;';/;(;%;&;_;U-I-H-n-l-c-6-/-!-:;<;U=M=L=B=K-[;f=6=[=<=}=-===&=%=+=G*w*l*n*f*b*7*1*&* * *Z&F&H&z&l&m&j&f&|&|&_&)&!&`%T%C%+ + + + + + + + + + + + + + + 4#4#4#)#)#`@Q@Q@Q@F@t@g@s@s@f@r@/@@@@@*@S+D+D+s+s+r+x+7+2+]+<+'+-+$+.+X.O.D.D.i.h.c.c.( +&,#^%O+M v%B $$B B $$^.$$^.W#$$W#$$>.V V V 4.C 4.C V 4.C >.>.V >.V C C V >. ",
+" ] / ] { ] / ^ { { / ^ ^ ^ { ^ ] ^ / { { / ^ ^ / / ^ ^ { { / { { J _ l ~.!.!.{.l.j.h.i.V.D.D.D.W..+-+-+]+<+<+2+7+n+o+r+s+D+D+S+T@X+=@=@=@|@f@f@t@E@y@M@Q@H#`@)#)#/#4#3#5#7#f#I#u#E#J#O#+$U#@$~$_$3$_$A$F$W$X$ %_%X$A%A%r%@&@&@&}&}&b&p&:*:*Y&Y&E*};+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+>;|;{;1;2;3;4;5;5;5;6;5;5;7;7;8;9;0;%;W-V-a;A-r-b;c-6-3-^-<-c;S=M=E=D=v=v=6=[=a=}=-=&=)=%=+=U*u*w*l*f*e*7*}*}*&* *Q&P&z&r&r&l&j&e&c&|&|&!&`% &T%O%+ + + + + + + + + + + + + + + 4#/#/#`@v&l#W@Q@E@t@t@t@s@f@^@|@r@=@@@S++@+@C+C+s+q+y+7+<+<+'+-+'+'+ +X.W.X.D.w.w.h.2.( U ,#'%^%....p%W#$$W#$$$$$$^.^.$$^.^.V C >.4.C 4.C C C V C C >.>.4.>.>.C C 4. ",
+" P ] ^ ^ ^ / ^ { ] { ] ] / ] { { { { { / ] ^ ] ] ^ ] { ^ { ^ { { _ _ l $.%.{.c.c.2.h.i.i.w.W.X.X..+.+'+:+:+2+2+7+7+q+q+s+s+D++@X+@@-@=@=@/@f@g@t@F@G@Q@Q@r#`@l#/#)#4#d;f#7#f#y#u#E#u#*- $U#~$~$7$3$o$A$F$F$F$X$*%_%4%A%B%@&@&,&}&}&X&p&w&p&E*Y&1-};+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+);e;f;g;h;i;j;k;k;k;k;l;l;m;n;5;3;o;';,;%;U-E-A-r-p;q;6-3-r;;-<;M=K=C=9-v=6=[=[=a=}=-=&=.=+=S*G*u*u*f*g*7*1*}*&*s;Z&R&G&H&r&t;j&n&7&|&_&%&`%`%T%M%D%+ + + + + + + + + + + + + + 4#4#/#-#)#l#Q@Q@Q@y@y@t@s@f@6@7@=@=@=@X+X+D+D+C+q+7+7+2+2+]+]+'+'+$+$+X.X.D.D.i.i.h.c.u;1$,#2%......^.W#$$$$W#$$$$^.$$$$W#4.V >.4.4.V >.V >.V 4.C C >.V >.V C >.V W ",
+" _*] ^ ] { ^ ] { / { { { { ] ] / { { ] ] ] ] ^ { { ^ { ^ { ^ ] / _ ^ $.~.{.{.2.c.2.r.h.w.w.W.P.O..+'+'+'+]+2+2+g+n+y+s+s+K+D++@X+W+@@=@^@|@|@f@g@s@M@Q@Q@Q@l#v&`@-#/#4#3#0#7#E#f#u#E#N#U# $!$~$7$7$_$o$A$F$W$W$X$k-4%A%r%B%@&@&N&B&X&}&p&p&:*Y&E*v;+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+w;3;i;x;y;z;z;A;A;B;A;A;C;D;l;l;5;h;3;E;,;%;W-U-I-o-m-q;6-^-r;<;$-M=F;D=J-G;h=|=a=-='=&=)=T*1=G*w*u*x*b*b*H;|*~* *Z&P&E&r&s&r&f&n&c&|&_&2&&&~&T%O%C%+ + + + + + + + + + + + + + /#3#/#-#`@$#Q@Q@M@t@t@s@g@f@|@=@=@=@W+X+S+D+C+D+q+q+q+2+2+<+:+]+'+l+$+.+X.D.x.v.i.h.c.U+1$^%M ......^.B B $$$$$$B W#W#^.4.C V 4.>.>.C >.C C >.V C V 4.4.C 4.>.4.V #= ",
+" >*/ ^ { { ] { { ] / { { ^ ^ { { ^ ^ / { { ^ ] ] ] ^ { / { { { / { _ _ %.{.7.{.2.c.c.h.x.x.D.P.X..+.+-+:+]+]+e+7+x+r+y+s+C+D+S+X+=@X+/@r@6@|@f@t@y@E@E@F@Q@$#`@`@)#4#4#3#3#f#f#y#E#u#u#U#.$.$~$7$~$o$u$F$W$W$ %X$_%A%4%A%r%B%@&@&5&,&w&C&p&:*<*E*4$+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+I;J;z;z;K;L;L;M;M;N;N;O;P;Q;R;D;z;S;5;T;8;U;|;W-+;A-o-V;q;5-W;'-X;M=M=J-9-v=g=6=<=]=,=&=&=.=S*G*v*w*m*g*7*}*1*~* * *P&E&H&S&r&f&e&d&|&_&3&%&`%`%T%C%E%+ + + + + + + + + + + + + 3#)#-#)#$#`@W@F@F@F@t@f@f@f@/@^@=@@@W++@D+D+C+q+q+o+7+]+<+]+]+m+-+-+ +D.W.W.D.h.h.h.c.e 1$,#,#2%../%$$$$$$W#$$$$W#$$4.>.V V >.C C >.>.C C V V V 4.4.C V V V V V 4.j ",
+" ;*/ ] ] { { { { ^ { { { { ^ / ] { ^ / ^ ] { / ] / / / { { { ] / ] ^ _ $.{.!.{.c.c.c.c.i.x.D.W.W.-+.+1+]+:+2+2+g+n+q+n+J+s+D++@S+@@($@@=@=@f@g@g@s@E@Q@Q@Q@l#`@`@/#)#/#4#0#f#I#f#I#V$O#u#.$+$&$7$3$_$_$o$W$W$K$X$_%_%D*r%r%B%X%@&,&}&b&C&b&p&Y&Y&Y;+ + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+Z;`;L;M; >.>+>@>#>$>%>+>&> >*>N;=>D;k;5;5;->);|;W-E-A-o-;>>>,>'-T=$-K=K=J-'>g=6=<=]=-=-=%=.=.=S*~-u*m*k*b*}*#*#*#*Z&Z&P&z&S&r&j&f&6&|&|&_&%&%& &T%C%D%+ + + + + + + + + + + + + /#D#/#`@l#l#Q@Q@U@y@t@f@s@f@r@|@=@W+@@+@)>D+C+s+y+n+7+7+<+]+m+-+'+|+X.D.D.w.x.i.i.h.c.J*1$'%M ....B ^.$$W#B $$$$>.4.>.C >.>.C 4.V 4.V C 4.C V V C 4.>.C C V V 4.4.!> ",
+" ] { { ] / ^ ] ] { ^ ] { / { { ] ] ] ] ] ^ { ^ { / { ^ / / ] { { ^ _ _ {.!.7.2.h.c.h.w.V.w.D.O. +.+.+'+]+<+]+6+7+y+q+q+C+K+C+X+X+@@=@/@/@^@|@s@t@t@E@G@W@W@$#-#/#)#4#}#4#f#f#)$I#u#U#O# $ $~$~$h$3$A$o$F$W$0&K$_%4%A%r%A%B%B%@&,&}&}&b&p&p&:*Y*~>+ + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+{>L;M;]>$>^>/>(>(>_>_>:>_>_>@><><>[>A;k;l;h;7;{;}>|>B-q-o-q;5-r;W;$-U=K=1>[;g=n=[=}=]=&=&=`*S*T*G*w*m*k*b*7*|*&* *Z&P&P&z&E&l&l&j&c&g&|&3&&&!&T%C%M%G%+ + + + + + + + + + + + + 3#/#`@)#W@H#Q@Q@Q@F@t@g@f@f@^@=@=@X+S+D+D+s+C+s+n+7+7+7+]+]+<+]+-+-+.+X.X.D.D.i.h.h.c.M.'%,#^%M ......^.W#^.V >.V V V C C C C V >.>.C V V >.>.V C C V C C V C 4.C ",
+" 2>{ ^ ^ ^ ^ { / { { { { { / / ] { ] ^ ] { ^ / ] / ] { { ] { { / ^ _ ~._ !.2.2.c.h.h.i.x.D.D.W..+.+1+)+:+]+f+7+2+r+o+s+J+Q+C+D+S+=@@@=@^@^@f@s@t@t@y@E@Q@W@W@$#)#/#4#4#7#f#f#)$y#u#E#O#U#+$U#~$7$7$A$A$A$W$F$X$_%_%4%4%A%`&@&@&,&X%}&}&b&w&:*Y*3>+ + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+4>5>6>7>7>(>8>9>0>a>a>a>9>b>_>/>@>c>d>A;k;l;h;e;);e>+;f>x-x-q;g>h>i>$-K=j>F=G;g=[=]=]=-=&= =S*G*G*w*x*x*k*7*}*#*~*3*Q&P&F&z&l&l&e&d&c&|&_&&&`%=&T%C%F%+ + + + + + + + + + + + + V@/#`@$#l#W@Q@Q@Q@y@t@|@|@|@6@=@=@=@S+D+D+s+J+s+y+n+7+7+]+]+:+-+-+.+X.W.D.x.D.v.v.C.c.1$,#^%M O+..^.B ^.$$V C >.>.C V V >.V >.>.V >.C >.V C V V V C V C C C V V k> ",
+" [&^ ] / { ^ / { ] { { ^ ] / ^ { ^ ] { ] / ] ] ^ ] ^ ^ { ] ] { / ^ _ _ {.!.!.2.c.c.j.w.w.V.D.W.X..+.+-+]+]+6+7+2+7+q+q+J+C+D+D+D+@@x@=@=@/@f@f@t@t@E@Q@Q@$#W@$#`@/#/#/#5#a#f#y#y#f#u#O#u#U#&$~$7$7$l>o$A$F$W$/&X$_%4%4%A%B%R%B%X%N&}&X&w&p&p&:*m>+ + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+n>o>p>q>r>s>s>t>t>u>v>w>x>s>9>y>_>$> >z>A;k;5;3;!;e>A>.;R-x-q;B>C>,-$-$-j>v=g=g=|=}=,=-=&=`*`*[-G*w*u*b*7*7*|*1* * *Z&F&F&E&l&m&f&c&|&g&_&)&&&T%C%C%F%+ + + + + + + + + + + + + t@)#$#)#$#r#Q@Q@F@E@t@f@f@f@|@=@@@=@W+X++@D+q+s+o+7+7+f+<+<+]+m+X.-+ +O.D.D.x.h.h.c.%.1$'%2%O++...B C V C V C C V V C V C V C >.4.C V V >.V 4.C 4.4.C >.>.V V V D> ",
+" 0 ^ ] ^ { ^ ] ] { { ^ ^ ] { ^ { ] ] ] ] { ] { ] { { ^ ] ^ ^ { ^ ^ _ _ $.{.{.2.2.c.i.v.i.w.D.D. +$+.+-+]+<+]+<+7+7+x+n+C+D+C+D+S+X+@@=@=@6@f@|@t@t@t@M@Q@r#r#-#)#)#)#4#7#5#f#f#y#E#u#O#O#U#+$!$~$~$3$_$F$A$W$/& %X$_%_%K%A%r%B%#&B&}&b&b&X&p&<*5%+ + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+E>7>r>r>F>G>H>H>I>I>I>I>J>w>x>K>9>/>6> >M;A;k;h;e;);L>M>A-N>O>w-P>,-$-Q>j>A=g=g=R>}=]=-=-=.=`*U*G*w*n*g*7*7*1*~*$* *Z&Z&R&H&r&l&f&n&**|&_&_&`%`%C%C%E%+ + + + + + + + + + + + + S>/#$#`@$#$#W@F@M@y@t@q#|@f@=@=@=@S++@D+D+C+s+y+q+7+7+<+<+]+'+-+-+.+X.D.D.D.D.i.h.c.=.1$o&+...^.^.$$V C >.C V >.V V V V 4.C C C C >.V 4.C 4.>.4.C V >.V >.V V C 0 ",
+" { { ] ^ / { { / ] ] { ] { { ] ] { ] { { ] { ] / / { { ^ / { ] ^ J l _ %.!.7.2.c.h.i.i.v.D. +.+.+-+'+'+<+2+7+e+7+q+q+s+C++@D+*@T@x@=@/@^@|@f@f@t@t@y@F@W@W@$#-#)#)#4#7#3#7#f#)$y#E#O#O# $ $~$~$~$7$3$A$F$F$X$W$K$_%4%4%K%r%`&X%X%(&,&b&b&W&:*T>+ + }*G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+U>V>W>G>X>Y>Z>`>`> ,., ,+,H>H>@,K>#,/>6>c>[>`;j;$,e;%,&,.;*,O>=,3-,--,;,K=j>v=g=>,[=<=-=)=%=+=T*U*w*m*m*b*7*}*#*&* *.*R&E&s&r&l&j&d&c&|&_&&&&&T%C%C%E%+ + + + + + + + + + + + + ,,)#)#l#r#Q@F@M@U@s@s@g@f@/@=@@@@@@@D+e@C+K+s+s+o+7+7+2+]+<+]+|+-+X..+D.D.K.h.c.2.2.( ,#M M O+^.C ^.V V >.V C >.V C >.C V C C C V V C 4.C C C >.C C C C C V >.4. ",
+" y ] ] { { { ] { { { ^ ] { ] { / / ] ] { ^ { ^ ^ ^ { { { { ] { { =._ _ {.{.2.2.C.i.i.w.x.D. +O..+.+1+]+:+<+<+7+7+7+y+q+C+D+D+D+@@@@=@/@^@|@f@t@t@y@Q@U@Q@W@W@)#)#)#}#4#7#3#f#)$)$u#N#N# $@$~$~$7$3$3$A$u$A$W$X$c%_%_%_%K%B%r%@&@&N&(&X&b&w&p&^*+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+',),G>!,Z>~,{,],^,^,/,(,/,],_,X>@,W>:,^>n>M;A;`;h;<,[,L>.;R-},|,3-1,-,X=;,j>K-g=g=4=]=-=2,%=+=G*G*w*x*l*e*7*1*#* * *L-R&y&r&r&l&m&j&g&|&_&%&*&=&T%M%M%+ + + + + + + + + + + + + 3,/#$#l#Q@Q@M@F@t@s@s@|@|@=@/@@@@@S+X+D+D+C+q+y+x+7+2+<+2+<+m+'+.+ + +{+D.D.w.c.i.h.F.+.O++...^.>.>.V C 4.V V V C 4.C 4.V C C C V C 4.V C >.C V V C >.>.4.C V 3= ",
+" : ] { ^ { { / ] ^ ] ^ { { { / / { { { { ] { ] { { ] / / { ^ { ] ^ _ l !.!.!.3.2.j.h.i.i.D.W..+X..+-+-+]+<+6+2+7+7+y+s+K+D+D+S+S+X+@@@@/@^@f@f@f@t@F@F@Q@Q@V%W@)#)#)#/#4#a#7#f#)$E#E#O#N#U#@$~$~$8$3$3$A$A$!%F$X$X$_%_%K%K%r%@&@&@&N&}&}&r*p&4,+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+5,6,!,7,8,9,0,a,b,c,d,a,/,/,],e,X>x>a>f,g,c>L;`;l;h,i,}>j,R-N>},B>P>-,k,Q>j>K-v=R>l,^=-===%= =S*G*w*v*g*g*7*7*~*&*$*Z&Z&H&s&r&t&m&6&7&|&2&&&`%T%T%C%D%+ + + + + + + + + + + + + m,)#`@Q@W@Q@Q@M@t@g@s@f@|@/@=@W+@@X+D+D+K+q+s+s+y+7+g+2+]+'+'+-+X.X.X.D.D.D.i.v.C.2.U++.M M ^.^.B >.V >.V >.V C C C >.C 4.>.V >.C 4.C V >.C C V C >.V >.4.>.>.n, ",
+" F ^ { / { ^ { { ] ^ { { / { ] ^ / ^ { { { / ] / { ] ] { ] { / ^ / ^ %.l !.{.2.c.i.w.h.x.D.{+W.X.X.-+'+]+<+]+2+7+7+y+o+s+s+D+D+S+X+@@=@/@6@f@f@t@y@E@M@Q@Q@W@$#)#)#)#/#}#a#a#f#u#E#u#E#U#U#.$@$@$~$3$3$3$&%F$W$W$_%_%_%K%r%r%`&@&@&}&,&}&X&p&9%+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+),o,8,9,d,p,q,r,q,s,t,u,v,w,x,y,Y>G>5,z,^>A,4>B,Z;h;C,D,E,f>Q-;>F,P>-,k,M=1>1>g=g=R>]=-=&=&=%=T*G*w*v*k*e*7*}*}*$* *Z&R&z&E&r&l&j&e&c&|&_&_&!&`%T%O%N%+ + + + + + + + + + + + + Y+$#$#$#W@Q@F@E@t@t@f@f@r@/@>$=@@@@@S+S+D+C+s+x+7+7+<+<+<+'+'+|+.+X.D.D.w.D.v.h.c.2.j#+.M ^.[.^.W#V C C >.V V >.C 4.>.>.4.C C 4.C C 4.C V C >.C C >.C >.C 4.C Y ",
+" { ] ^ ] ^ ^ ] ] ] ] { ] { { { ] ] ] ^ { { { { ^ ^ ^ { { ^ { ] J _ _ %.~.2.7.c.2.c.h.x.D.W.X.X..+X.'+m+'+]+2+g+y+7+s+s+C+D+D++@X+W+=@=@^@f@f@f@s@t@F@F@Q@l#$#v&)#/#4#4#a#f#f#y#T#u#E#N#O#U#U#@$h$~$_$_$3$F$W$K$K$_%_%k%K%K%B%`&X%X%(&}&}&b&i$+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G,H,I,J,K,L,M,M,K,N,s,s,u,u,/,O,P,X>x>5,7>Q,R,S,T,U,<,V,E,W,X,},Y,P>Z,`,K=j>1>g=r=R>]=,===)=+=S*G*v*n*m*7*7*}*|*#* *Z&Z&F&z&r&l&f&e&6&|&_&&&*&T%T%C%F%+ + + + + + + + + + + + + '$#`@l#M@F@F@t@t@s@f@f@f@^@@@X+@@W+S+C+s+s+s+x+y+e+e+<+<+-+-+.+.+W.X.D.V.i.w.h.2.c..',#+.M ^.^.>.>.>.4.C C V C 4.C V >.4.4.V V V 4.>.V C C V C C C V C C >.C ",
+" f { ^ { { ] { ] ^ ] ^ / { ^ / { / ^ ^ ] ] { ^ / ^ { ] / ] { { { _ _ _ !.{.{.c.,@c.i.i.w.D.W. +X..+'+]+<+<+2+7+7+x+q+s+D+D++@S+W+=@($/@6@=@f@g@f@y@t@F@Q@W@`@`@`@)#/#/#4#0#7#f#T#E#u#N#U#U#@$~$~$~$7$3$A$A$F$F$X$X$_%4%r%r%r%r%B%B&X%}&0*b&h@+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G++'I,J,@'#'$'%'&'*'='K,s,s,d,c,-'y,;'G>5,q>^>n>>'T,I;,'''E,.;*,)'V;B>Z,`,!'1>1>g=>,~'-=-=&=&=.=T*G*v*m*b*b*|*}*}*#*Z&Z&G&E&H&l&t&e&c&c&|&3&&&)&`%C%C%D%+ + + + + + + + + + + + + {'-#$#r#Q@M@F@y@s@9*f@7@|@/@@@=@X+D+D+C+C+C+y+7+y+2+7+2+:+'+-+.+X.W.X.D.x.x.h.r.c.!.U M ....^.^.4.V C V C >.C C >.4.>.C 4.V >.>.C 4.V V 4.C V >.V >.C C V 4.3+ ",
+" ]'{ ] ] / / ] ] { / { { / ^ / { ^ { ] { / ] ] ] ^ / { { ^ { ^ / ^ ^ %.!.{.2.2.j.r.i.w.w.D.W.{+.+1+'+'+'+]+<+g+7+y+y+s+s+D+S++@S+W+X+r@=@f@|@f@g@t@F@Q@Q@W@$#$#)#)#4#4#5#3#f#f#I#E#u#u#N#U# $@$~$7$7$l>A$A$F$F$W$K$*%_%4%A%r%r%r%@&@&X%(&X&+ + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+^'J,/'%'('_':'<'['}'|'N,s,r,b,x,8,Z>G>5,',1'5>2'`;I;,'''3'4'R-x-5'6'7';-!'j>1>g=R>8',=&===%=T*G*w*w*m*b*7*}*1*&*&* *Z&P&H&S&l&m&j&c&6&|&&&!& &~&T%O%G%+ + + + + + + + + + + + + 9'l#Q@r#F@U@t@t@t@f@f@f@=@@@@@S+X+D+D+Q+C+q+s+7+7+]+]+<+]+-+.+.+X.W.D.D.D.w.h.C.c.0'+.+.M ..^.B C >.C V >.C C C V V V C C V V V V V V C V 4.4.>.C V 4.>.C >.D> ",
+" a'/ { ^ { ] { / / { ] ^ { ] { ] { / ] ] ] { { { ] ^ { { ^ ^ ] { J _ _ %.{.2.{.c.j.~@x.x.x.D.W.{+-+-+-+m+<+]+2+7+7+q+r+s+D+D+S+S+S+=@@@=@r@f@g@s@t@t@F@F@Q@$#`@`@)#/#/#3#4#f#7#f#)$u#u#U#U#.$@$@$~$_$3$o$3$A$A$K$ %c%_%4%A%A%B%B%B%R%5&,&W$+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+b'c'd'e'f'f'g'h'i'%'j'k'N,r,l'm'8,n'G>),o'p'q'4>`;r'h,''e>4's'x-|,6'7't'u'K=1>>,R>~']=&=)=%=S*U*u*u*m*b*7*7*}*&* *Z&R&P&y&S&l&m&f&n&h*|&2&&&)&`%T%C%E%+ + + + + + + + + + + + + v'`@W@Q@M@Q@E@t@g@q#f@^@r@@@=@@@X+S+C+s+s+q+q+7+7+<+]+<+'+-+'+.+X.X.W.D.D.h.h.c.2.w'+...M ..^.4.V C V >.>.>.C 4.C V C V C V V 4.>.C 4.V V >.4.C >.4.V V C C %@ ",
+" / ] ] ] { ] ] { ] ] { / / { { { ] { / ] { ] ] ^ { ^ / ] { ] ] ^ _ _ %.%.{.2.c.i.i.h.w.i.D.D.X..+-+-+-+:+6+2+e+y+7+y+s+C+K+X+*@S+W+W+/@=@r@f@s@s@t@y@M@Q@Q@H#`@.&)#/#4#7#3#7#y#E#u#E#O#O#U#@$@$~$~$7$3$_$A$F$F$!%X$c%X$_%_%A%B%@&@&@&X%d=+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+x'y'z'A'B'B'C'D'E'F'='N,p,l'G'y,n'G>),r>^>q'4>H'I'$,''e>J'K'x-L'6'M't'N'j>O'R>6=l,-=-=)=%=+=G*w*w*m*b*7*7*%*#* *Z&Z&P&H&r&l&l&e&6&c&|&_&!&*&`%C%C%n%+ + + + + + + + + + + + + P'`@$#Q@F@y@t@t@f@|@/@=@=@=@X+W+D++@C+s+C+s+y+7+2+g+<+'+-+'+.+.+X.W.P.V.x.h.j.j.2.S +...^.^.^.^.W#C C >.V >.C C C C C 4.C C C >.C C C C >.4.C 4.V 4.C >.V >. ",
+" w+] ] ^ / / / ^ { / { ] ] { { ^ ] { ] ^ { ^ { / ] ^ / { ^ ] ^ { _ _ l %.{.3.c.2.h.v.w.D.D.{+O..+X.-+'+]+]+2+7+n+7+s+q+s+C+D+D+S+S+=@/@6@6@f@t@t@y@y@F@E@Q@l#`@6#)#/#)#'*7#7#f#f#t#E#%%u# $ $@$~$~$~$_$7$A$F$F$ %W$X$X$k-k%A%r%@&@&R%X%>=+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+Q'g'B'R'S'R'T'C'U'V'W'p,r,l'm'n'H,!,X'',Y'Z'2'H'`'h,'' ).)+)@)#)6'M'`,!'j>O'r=r=l,,=&=)=.=S*G*v*n*n*g*7*}*|*~* * *P&H&z&I&l&l&7&7&|&_&_&~&*&T%T%C%F%+ + + + + + + + + + + + + $)W@Q@Q@t@F@t@t@f@f@f@=@/@-@X++@X+C+C+q+q+x+x+7+2+2+'+]+-+-+-+.+.+P.D.D.K.v.h.c.2.e M O+^.^.^.W#C C C V C V V >.V C C C C C C C >.V >.4.V V >.4.C V C 4.V m$ ",
+" %){ { / ] { / { ^ { { ^ ] { ] { { / ^ ] { { / { / ^ { ^ ^ / { { J _ {.$.{.{.2.j.c.i.h.D.D.O.X.X.X.-+:+]+<+]+7+7+n+7+s+C+C+D+D+X+X+W+=@=@^@r@f@g@y@y@M@Q@Q@W@l#l#)#-#/#3#7#3#f#y#f#u#u#N#u# $~$~$&$~$7$8$o$F$A$F$X$*%X$X$A%4%r%r%r%R%@&'&+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+&)*)=)-);)>)R',)D'')))J,l'l'0,n'H,!,X'!)p'~){)H']),'''^)W,+)x-#)/)M'()!'1>O'R>[=[=-=&=.= =G*G*w*x*g*f*7*7*}*~* * *P&G&y&r&t;e&n&7&|&_&&&)&*&T%C%N%m%+ + + + + + + + + + + + + _)$#W@M@F@y@t@s@|@|@^@/@/@x@W+S+S+C+D+Z#q+s+r+7+2+<+<+'+-+l+.+.+X. +D.w.x.i.h.2.7.+&+.a+^.^.^.W#C V C V C C >.C V 4.C >.4.>.4.V C V 4.V >.>.>.V V C C 4.C [+ ",
+" { { / ] ] { ^ { { { ^ { ] / / ] / { { { ] { / ^ { ^ ^ / { { / ^ _ _ $.!.2.{.c.j.h.h.x.D.P.D.O..+-+'+-+<+<+<+<+7+s+r+J+K+C++@+@X+X+=@=@/@f@s@f@t@E@y@Q@Q@Q@$#W@-#)#4#3#4#5#7#7#I#E#u#%%O#U#@$U#&$~$~$_$o$:)F$F$W$K$_%X$_%4%r%B%L%`&R%<)+ + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+[)})|)1)2)1)R',)3)4)@'5)6)7)0,n'o,8)9)0)p'a){)b)]),'''c)d)X,@)#)e)Z,k,!'1>f)~'[=<=&===`* =[-G*w*n*f*e*7*|*&* * *Z&P&E&r&l&l&f&6&7&|&_&&&)&Z%T%C%E%E%+ + + + + + + + + + + + + _)Q@W@F@F@t@g@t@f@|@^@=@@@@@@@D++@D+J+q+n+y+7+7+7+6+]+]+-+-+.+X.D.D.i.v.h.i.c.c._ ,#+.^.a+^.4.V C C C 4.C C 4.V C C 4.V C V C >.V V V C >.>.>.4.V >.C C 4. ",
+" : ] ] { ^ ] / / ] { { { ^ { ] ] { { ] ^ / / ^ / / { { ^ ] / { ^ _ %.%.{.{.2.2.c.h.w.w.x.D.P.W.X.-+-+'+]+]+]+7+7+n+n+s+q+C+D+D+S+@@-@/@/@|@f@t@g@t@G@U@Q@W@$#l#`@`@/#/#3#3#0#7#f#y#I#u#N#U# $!$@$&$~$y%3$3$A$F$F$K$K$ %4%_%A%k%B%B%B%+ + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+g)z'h)i)1)j)k)*)l)m)n)o)7)0,p)q)G,r)9)0)s)t){)T,])u)v)w)x)y)},z)C>A)B)!'O'K-l,C)<=)=&= =+=G*G*w*m*b*7*}*~*~*$*2*Z&P&H&s&l&l&n&6&6&y*_&&& &`%T%C%D%D%+ + + + + + + + + + + + + D)Q@Q@F@E@t@f@f@f@=@/@=@X+=@@@S++@D+C+q+s+n+7+2+g+<+]+'+.+.+,*X.P.D.D.V.i.i.c.2.` +.M O+^.C ^.4.>.C C C >.V C V 4.C V >.C C V C C 4.V C C C C >.V C V V Q% ",
+" w%{ ] ^ ^ ] ^ ^ ^ ] { ] { { / { / / ] { ^ { / ] ^ / ] / ] / { ^ J %._ !.{.7.l.2.i.i.v.i.D.W.D.W.X..+-+'+2+6+<+7+y+s+r+C+C+C++@D+W+x@=@=@^@|@g@f@t@t@F@M@Q@r#W@`@E))#/#/#4#3#f#f#t#y#u#u#N#U#U#U#@$~$7$h$7$3$F$F$W$F$K$X$X$4%4%4%r%B%+ + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+x'F)})G)|)H)A'g'I)F'J)I,0,K)n'G,L)M)N)O)s)P)Q)R)S)T)U)4'V)Q-W)X)Z,-,N'1>O'Y)[=[=<=&=%=+=+=G*v*u*k*b*b*}*#*&*2* *Z&P&y&r&l&l&j&f&|&_&_&!&*&=&T%M%D%H%+ + + + + + + + + + + + + Z)Q@M@Q@y@s@s@s@|@^@r@@@@@@@X+D+C+J+s+s+x+7+7+g+7+]+:+:+'+.+.+X.D.D.i.i.j.i.h.2.F.M M a+^.^.>.4.C C C V V >.C 4.V C >.4.C V C >.4.C >.4.>.C C >.C >.4.V w% ",
+" ] { ] { / ] { ] ^ { ] ^ { ^ { ] ^ ] ] ^ { { { ] { ^ ] ] / ^ / { _ _ !.!.2.!.2.2.h.v.V.D.D. +X..+.+'+'+]+<+e+7+n+n+y+q+C+C+D+X+S+-@@@/@|@/@f@g@s@t@t@F@M@Q@$#W@$#)#)#}#4#3#7#7#I#y#y#V$u#O#U#!$@$~$7$_$3$o$A$F$(%!%K$K$_%_%4%4%A%3$+ + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+c'`)F)z' !.!+!@!m)#!$!0,%!&!G,*!=!9)-!;!~)>!b),!u)'! ))!V))'W)!!~!`,{!1>]!^!8'<=<=&=.=T*G*G*u*l*f*b*7*7*!*&* * *P&E&E&r&l&l&n&6&7&_&8&!&`%T%C%C%G%m%+ + + + + + + + + + + + + Z)F@y@y@y@t@f@|@=@6@=@=@W+@@W+D+C+K+J+7+y+7+2+2+]+:+'+-+-+.+X.O.D.x.D.i.i.c.r.{.u++.+.^.^.>.>.C V C C C >.>.4.>.>.4.4.V >.C 4.V V >.4.>.V >.4.>.4.C V V ",
+" ]'{ / { { ] / { { ^ ^ ] ^ { { { { ] ^ ] ^ { / / ^ ^ ^ ^ ^ { ^ _ ^ _ %.%.{.l.c.c.c.w.w.D.D.D..+-+-+-+-+]+2+g+7+x+s+n+r+K+K+C+D+X+S+=@@@=@^@f@|@f@t@t@F@Q@W@W@$#)#$#/#/#/#4#a#f#f#T#y#u#E#u#U#+$ $+$~$h$7$A$_$A$F$W$!%W$X$_%4%4%A%4$+ + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+/!x'(!_!:!<![!}!|!1!K)&!q)2!3!4!!);!5!P){)R)6!u)v)7!8!X,},9!0!~!a!!'1>b!c!<=^=&= =%=S*G*w*x*x*b*7*-;}*#*~*o*Z&R&H&I&s&m&j&n&|&|&2&_&`%`%*&O%F%E%n%+ + + + + + + + + + + + + d!F@U@E@t@f@g@7@f@r@=@@@W+S++@D+C+s+y+y+7+7+7+<+<+'+'+-+-+.+ +P.D.x.x.i.j.c.c.{.U +.M ^.^.^.>.4.>.C 4.4.C V V V C 4.4.V 4.C >.V C C C >.V C C C C 4.C e! ",
+" j%] ^ ] { ] { { { { / { / ^ { / { ] { ^ { ] / ] { ] ^ { { ^ { ^ _ _ ~._ {.{.c.2.h.h.w.D.D.W.D. +X.-+'+:+<+<+2+2+o+o+q+s+q++@D+S+@@@@@@r@=@f@f@f@t@t@F@U@F@W@`@`@)#-#/#/#4#3#s#f#f#)$u#V$O#N#O#@$ $@$~$h$_$_$o$o$A$K$K$X$X$X$_%4%b#+ + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+f!g!h!/!i!}!j!f!&!&!H,q)L)r)k!!)l!s)~)>!b)`'m!n!o!J'p!X,q!r!s!t!u!{!O'c!v!<=<=&=`*+=1=G*x=x=k*k*7*}*|*%* *Z&Z&R&y&r&r&m&j&6&c&_&2&_&*& &T%T%O%E%m%+ + + + + + + + + + + + + d!E@F@t@t@s@|@f@^@=@=@@@S++@D+e@C+s+s+q+7+7+2+]+'+:+-+'+-+.+X.D.D.x.i.i.c.c.c._ +.M ^.[.^.V V C C 4.V C V >.C C >.4.>.C >.V V V C C C V V >.4.>.C >.V 2# ",
+" 3%^ { ] { ] { ] { ] / ] ^ / ^ ] ^ ^ ] / ^ ^ { ] / ] ] { ^ { ^ ^ ^ _ _ {.{.2.2.c.h.w.D.D.D.D..+$+$+'+<+:+<+<+e+7+7+s+q+C+C+C+D+X+@@=@=@=@/@|@f@f@t@y@Q@Q@Q@Q@W@-#`@/#/#/#4#3#7#7#y#y#I#O#U#U#U# $~$~$7$7$8$3$o$F$K$W$X$_%c%_%A% #+ + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+w!x!y!b'b'z!K)x!2!2!2!A!=!B!C!l!s)~)>!D!R)E!F!v)c)W,V))'G!0!A)H!!'{!Y)Y)~'<=^=`*.=T*S*G*u*v*b*7*7*}*%*2* *Z&P&R&y&r&l&l&e&d&|&_&&&%&~&=&C%C%G%n%e%+ + + + + + + + + + + + + I!E@t@t@t@9*f@|@6@=@@@@@*@D+C+s+C+q+r+q+7+2+e+<+<+-+'+$+X.X..+D.D.i.h.v.c.C.c.3 M [.^.^.C V V 4.C V C >.V 4.V V V V >.V C C C 4.4.C V 4.C 4.>.C C >.0% ",
+" J!] / { ^ { { { { { { { ^ ^ ^ { { / { / ] ^ ] ] ^ { { ] { ^ { ^ _ _ {.{.{.l.c.c.h.i.w.D.D..+W.-+.+-+'+]+]+f+g+7+7+y+y+C+C+D++@X+X+X+@@r@=@f@q#q#s@y@M@Q@Q@Q@W@`@`@)#/#4#4#3#7#f#f#f#u#E#O#N#O# $ $~$~$3$7$3$_$F$F$F$!%!%W$X$_%K!+ + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+N)L!w!M!N!O!L)L)A!=!k!B!P!Q!R!s)P){)S!T!U!V!U)W!X!Y!G!Z!`! ~B).~.~c!+~<=<=%-%=T*S*G*w*v*n*b*c*}*|*~*$* *Z&P&G&S&r&l&t&j&c&|&_&)&&&`%T%C%M%F%n%m%+ + + + + + + + + + + + + + F@t@f@9*f@7@6@|@=@@@@@X+S+D+D+C+s+7+y+7+g+6+]+'+]+-+.+X.X.X.D.x.w.i.h.2.c.c.S O+[.^.^.^.C >.C C >.>.C C 4.4.>.C C C V C C C C C V >.C V V 4.C V V b. ",
+" ^ { ] ] ^ / ] { ^ / { { { ] ] ] { { / ] ^ { ] { ^ { ] { { { { ^ _ !.~.!.2.2.2.h.w.h.K.D.D.X..+.+-+-+:+]+6+f+2+7+x+n+s+K+D+D+D+X+W+=@=@/@^@f@s@g@s@y@F@M@F@l#W@`@`@`@)#4#4#7#f#f#f#u#u#E#N#N#U#U#U#&$7$~$3$3$_$A$F$F$W$/&X$_%+ + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+@~C!C!C!#~#~#~#~#~#~C!$~;!%~s)&~*~=~-~;~>~,~W!8!'~)~!~e)~~`,{!.~O'{~]~<=^=== =+=G*u*v*m*b*7*7*-;~*~* * *Q&P&z&z&r&l&e&d&6&**_&!&!&*&T%M%M%D%m%e%+ + + + + + + + + + + + + ^~y@s@s@f@f@|@=@=@@@@@X+S+X+D+D+s+n+7+x+7+2+6+]+'+-+'+.+.+X.D.D.D.x.i.h.c.c.c.J*......^.>.C C >.>.>.C C C 4.>.>.V 4.V 4.C C >.4.V V 4.V >.V >.C 4.V ",
+" $%] { ^ / ] / / { ^ { { { / ] { ] ^ ^ ] { ] / { / ] / { ^ ] J =._ _ !.!.{.c.2.h.h.x.w.x.W.X.W.X..+-+'+'+<+<+7+7+7+s+s+C+K+D+9&+@X+W+=@=@6@|@|@t@f@t@F@E@Q@W@Q@`@)#)#/#)#4#3#7#a#f#)$)$u#U#u# $U#!$!$~$~$h$_$3$o$F$A$W$!%X$X$+ + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+/~(~_~:~<~[~C!$~$~Q!}~s)|~1~2~3~4~-~u)5~6~7~8~'~'~9~F,s! ~B).~.~^!0~a~^=,=%=S*S*w*w*w*m*b*7*}*|*~* *3*.*G&H&z&r&r&j&e&6&g&|&3&&&~&Z%T%C%D%D%m%e%+ + + + + + + + + + + + + + t@g@g@f@|@6@r@@@@@X+*@X+D+K+K+q+o+q+7+7+<+6+:+Z+'+-+.+X.D.W.D.w.v.i.h.j.c.2.M +.[.^.>.V C C >.V C V V C C C >.V >.V C C V V C V V V >.V 4.>.V 4.)% ",
+" / ^ ] ] ^ { ^ { { { ^ / ] / { { ] { ^ { { { { ] { { ] ] / { _ _ l !.{.2.2.j.j.h.h.w.w.D.W.D.-+.+-+'+'+]+6+]+7+7+7+q+q+D+K+e@X+S+-@=@=@r@/@|@s@t@t@t@M@Q@Q@Q@l#$#$#/#)#}#4#3#5#f#f#f#I#u#N#U#U# $&$~$~$~$7$_$o$_$A$F$F$K$J#+ + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+&~b~s)/~c~d~R!(~e~R!f~g~h~i~=~j~-~k~T)6~7~l~p!y)m~n~0!o~B)N'.~]!+~~'<=p~%= =T*G*G*w*l*b*b*7*1*1*%* *Z&P&P&E&z&r&l&t&f&7&|&|&_&%&~&T%C%C%D%H%m%g%+ + + + + + + + + + + + + + t@f@q#|@|@=@=@=@x@X+D+D+C+D+s+y+7+7+7+6+]+<+]+'+|+.+$+W.D.D.D.x.i.j.,@c.2.` ..[.^.^.>.C C 4.C >.C V C 4.V C C C V V C C 4.V V V C C 4.>.>.V V V ",
+" U$] ] ] { { ] { ] ] { ] ^ ^ { ] ^ ] ] ^ / { / / ] / ^ ] / { ] _ !._ !.{.2.{.2.i.j.x.w.D.D.{+.+-+.+-+]+]+2+2+7+7+r+s+s+Z#D+D+D+S+S+X+@@/@f@|@|@q#t@t@t@M@M@W@Q@`@`@$#)#/#4#7#3#f#7#E#y#u#u#u#N#q~ $~$&$~$7$8$8$_$o$u$A$F$u&+ + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+r~&~s~s~b~t~b~g~u~r~h~*~4~`'T!k~v~'!7~l~p!w~5'x~0!t!y~a!.~z~A~0~~'^=p~S*S*G*w*w*n*n*b*7*H;}*#*$*Z&Z&P&E&H&s&l&l&e&f&c&|&_&&&%&`%T%T%M%t%m%m%e%+ + + + + + + + + + + + + + s@t@|@f@6@r@=@x@@@X++@C+C+K+s+y+x+7+7+6+2+5@<+'+'+-+ +{+D.D.w.w.h.h.c.2.2.U+^.O+^.^.C C C C C >.C C C V >.4.>.V V C 4.C >.C 4.>.C C V V 4.C 4.H. ",
+" 2#] / { / / ] ] { { { ] ] { ] { { ] { ] / { ] { / ] ^ { / / ^ _ _ _ %.~.{.c.c.h.h.h.h.D.D.W.X.$+.+-+'+Z+<+e+2+7+x+y+q+C+q+D+C+X+W+X+=@=@/@^@|@|@t@D@y@F@Q@Q@Q@l#`@)#)#)#/#4#5#s#f#f#t#)$u#u#N#O#U# $~$~$~$~$3$_$o$u$u$F$B~+ + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+4~D!*~*~i~h~h~h~=~C~S!D~E~k~F~'!G~H~I~8!J~K~L~0!~~t!M~N~z~]!0~a~a~'=.=S*[-w*u*n*l*b*b*7*}*~*&* * *Z&R&E&r&r&l&e&6&d&|&|&)&!&*&`%C%C%D%E%p*e%7%+ + + + + + + + + + + + + + t@q#f@/@=@=@@@@@@@D++@D+C+s+s+s+q+7+7+]+]+:+m+'+l+X. +D.O.D.w.w.h.j.c.7.g.j#+.^.^.>.W#V >.C C 4.V >.C V >.C 4.C V C V V >.C V 4.C V C 4.V V 4.2# ",
+" O~^ ^ ] ^ { { ] { { ^ / ] ] { ^ ^ ] ] ] { ^ { ] ^ ^ ] ^ { ^ _ _ _ _ !.!.{.2.2.h.h.K.V.D.W.X. +-+'+'+'+<+<+6+7+n+y+y+C+q+C+D++@X+X+=@=@=@|@^@f@s@g@t@t@F@Q@W@r#`@l#)#/#W%)#4#s#3#7#f#E#y#u#N#U#u#U# $@$~$~$~$3$_$3$F$A$P~+ + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+D~D~Q~S!S!R~R~R~D~S~E!E!F~T~'!U~V~W~X~Y~Z~!~0!`~t! {u!.~.{0~0~C)^=&=S*S*G*w*w*l*f*b*7*}*}*%*&*$*Z&R&H&z&r&r&l&f&c&7&|&2&3&%& &`%O%G%F%m%m%e%f%+ + + + + + + + + + + + + + t@|@|@/@/@=@@@W+X+S+D+K+s+s+r+y+7+2+<+6+]+Z+'+$+.+X..+{+D.V.V.x%i.2.c.2.=.+...[.^.C ^.>.V C C V C C 4.>.V V 4.V 4.C 4.C V V C C 4.V C >.>.V W ",
+" z$^ ] { ] { { ^ ] / ] ] ^ ^ / { / { / ^ ] ^ ^ ] ] / / ] ] ] { _ _ _ {.{.{.2.2.c.c.h.i.x.D.{+X.$+1+.+'+]+<+6+2+7+y+q+q+s+K+D+S+X+S+W+($r@r@f@|@f@g@t@F@U@Q@Q@W@$#W@)#-#/#/#4#d;7#7#f#y#)$f#u#U#u#U#U#&$~$~$~$h$3$_$_$A$+{+ + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+@{E!#{${#{#{@{E!%{&{v~*{={V~-{;{>{,{'{!~){`~t!H!N~z~!{A~~{a~{{p~`*S*G*w*v*x*l*b*7*7*1*|*&*$*Z&Z&P&z&z&l&l&j&j&d&c&|&&&!&*&`%T%C%C%F%m%e%e%<%+ + + + + + + + + + + + + + f@f@^@r@=@=@X+W++@X+D+s+J+s+q+n+7+7+]+]+'+<+-+$+-+X.D.P.D.D.i.i.h.2.2.7.F.O+M ^.C ^.V V >.4.>.C 4.C >.>.4.>.>.>.4.C V C C 4.>.>.V C V C >.C z$ ",
+" l@] ^ { / ] ] ] / { { ^ ^ ] { ] { ] { { ^ / ] { ^ ] ] ] { ] J _ l #.!.7.c.c.h.i.v.v.V.D.W.{+W.-+-+'+'+<+]+]+7+7+y+q+s+s+D+D+S++@X+-@=@=@6@|@f@g@t@s@t@y@F@Q@Q@$#W@)#)#)#/#4#4#5#s#a#T#f#E#u#E#N#O#.$U#+$~$7$7$8$_$_$+ + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+T~&{]{^{&{/{({]{6~_{G~:{<{[{X~>{}{Z~|{1{`~2{3{u!4{!{5{0~8'a~%=6{S*G*w*w*m*k*g*b*7*}*}*~* *Z&Z&G&H&s&r&l&l&j&c&|&|&2&2&!&`%T%M%N%C%H%H%e%7%8%+ + + + + + + + + + + + + + |@|@/@r@@@@@X+W++@D+Q+C+C+y+r+7+7+g+e+<+'+'+-+'+X.X.O.D.x.w.K.h.c.2.{.!.u+a+S.^.4.C V C >.V >.C C C V C C V >.>.C C V 4.C 4.C >.4.V V >.>.7{ ",
+" n${ { { { / { { ] { ^ ^ ] { / { { ] { ] / ] ^ { ] ^ ] ] ^ _ { _ _ l $.!.l.2.c.r.c.h.V.D.D.X.P.X.-+-+-+'+<+g+f+7+7+s+s+s+K+D++@S+@@S+=@=@=@^@^@f@f@t@t@y@M@F@W@W@$#-#)#`@/#4#'*5#7#7#y#I#t#u#%%N#N#U#.$+$!$&$~$7$8$3$+ + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+:{_{8{_{_{9{9{0{a{b{;{X~p!Y~c{Z~9~1{d{`~e{3{N~4{!{f{~{8'{{p~6{T*G*w*w*n*n*g*7*7*7*1*&*$*Z&Z&P&G&F&z&r&r&f&j&6&|&_&_&&&&&`%T%M%F%G%H%p*7%7%]%+ + + + + + + + + + + + + + |@7@f@=@=@S+@@S+D++@C+s+s+r+7+7+2+<+]+]+:+-+-+$+ +X.W.D.w.D.i.c.C.{.{.!.G.[.^.>.B 4.C C C C 4.C 4.V 4.C C V V >.V V C V C V C V C C V V 4.n$ ",
+" w+{ ^ ] { { ] ^ ] / ] ^ { ] ] ] { ] { ] ] { ^ { ] { ] ] { { _ _ %.!.{.2.2.2.c.i.h.w.D.D.D. +.+-+-+:+]+]+]+e+7+7+q+y+s+s+D+D+D+S+W+=@@@=@=@/@|@f@t@t@t@y@F@W@Q@W@$#`@)#)#)#4#4#f#4#f#f#T#E#u#E#N#u#U#U#+$~$&$7$7$f#+ + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+g{h{h{h{i{j{j{;{p!p!Y~c{k{9~l{d{m{t!H!n{N~4{!{]!o{~'{{{{%=S*G*G*w*n*m*f*7*7*7*}*1*#*Z& *Z&P&E&S&r&l&t&f&n&g&|&|&&& &`%T%T%O%M%H%:&e%7%6%[%+ + + + + + + + + + + + + + ^@=@/@@@@@X+X+9&C+s+C+s+x+n+7+2+2+<+'+'+'+1+X.X.P.O.P.x.x.v.i.h.2.c.2./ a+^.^.^.^.>.4.>.4.V C V 4.C V C >.>.>.C C C >.C V >.C C >.C >.V p{ ",
+" =#{ ] { { / { / ] / ] { { / ^ ^ / / ^ { ^ ^ { ] { { { ] ^ ] _ ^ l _ %.{.2.2.2.i.v.V.D.D.D.X.{+-+$+-+]+]+<+e+2+7+n+y+s+q+C+D+D+*@+@X+@@=@=@/@7@f@f@t@y@E@F@M@W@Q@r#$#-#/#/#4#4#4#a#7#7#f#f#I#E#N#N#N# $U#@$~$~$~$J$+ + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+q{r{X~X~>{>{>{c{c{c{s{!~!~1{){t{u{n{v{4{w{x{y{y{a~{{z{%=+=S*w*w*u*n*f*b*7*7*|*}* *$*Z&Z&Z&G&E&r&r&t&e&d&7&**_&3&2&*& &T%C%F%E%H%e%g%f%<%-%+ + + + + + + + + + + + + + =@/@r@@@X+@@S+D+C+q+s+s+o+n+7+g+g+]+]+m+'+-+$+.+W.D.D.D.x.v.j.r.c.2.!.U+..^.>.^.V C V C 4.C >.C V C V C V >.V V V >.C V C C >.C >.V C >.'# ",
+" _.] { ] ^ { / { { ^ ^ ^ { { / / ] ] ] ^ ^ { ] ^ ] { { { / ^ ^ _ %.l !.{.c.,@j.h.i.i.x.O.D.D.X.-+.+'+'+<+<+<+2+y+7+x+s+s+C+C+D+S+X+@@=@=@/@/@/@f@f@t@t@F@t@F@Q@Q@W@`@-#)#-#/#4#4#4#5#f#f#E#E#I#O#O#U#U#!$ $@$&$^*+ + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+k{A{B{C{C{C{C{D{x~E{E{F{`~G{H{3{I{v{w{J{]!y{y{K{z{z{L{1=G*v*u*v*n*b*7*b*7*-;}*~* *3*.*P&H&y&r&s&t&l&e&c&7&|&_&_&)&~&*&{*C%F%D%e%e%M{f%[%-%+ + + + + + + + + + + + + + /@=@@@@@@@S+D+C+D+D+y+q+q+x+7+<+]+]+'+'+'+.+.+X. +W.w.h.i.h.c.c.{.{.!.,#O+^.>.^.C 4.C V C V C C C C 4.C >.4.C C >.V V >.C C >.C >.C >.N{ ",
+" ^ { ] / ] / ] { { ] { ] ] { { ] ] { / / ] / ] { ^ / ^ { ^ { _ _ _ #.g$l.2.i.i.h.x.x.D.O.W. +$+-+'+:+<+5@<+<+7+x+y+r+s+C+C+S+D+D+@@W+@@=@^@|@f@f@t@y@t@E@Q@F@Q@Q@$#W@)#)#)#)#4#7#5#7#7#f#u#t#u#u#N#N#O#U#@$ $g#+ + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+O{l{P{Q{O{R{R{F{S{t{T{U{u{3{V{I{I{w{J{5{W{W{C)z{X{%=1=w*G*w*n*m*g*g*e*H;7*&*%* * *Z&R&G&H&H&r&r&j&f&f&c&|&_&&&&&)&`%T%C%F%G%m%e%7%8%<%[%-%+ + + + + + + + + + + + + + /@@@S+S+W+S+D+C+C+s+n+q+s+7+g+2+<+:+'+-+$+X.W.X.D.D.w.v.i.h.i.c.{.{.=.O+[.^.$$C 4.4.C >.4.V V C C >.C 4.C C V C C V >.C C V V V >.V V ",
+" Y{{ / / { ] ^ { { ^ ^ ^ { ^ / { ] { ^ ] { / { { { { { ] ] J _ _ _ #.%.{.c.2.j.h.h.D.x.D.P.X.X.$+-+'+]+<+<+f+7+7+o+r+s+q+s+D+D+S+S+X+=@^@|@f@f@|@f@g@t@G@y@M@Q@W@Q@$#`@`@`@4#/#}#5#f#7#f#f#u#u#E#u#E#U#U# $+$Z{+ + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+`{ ].]+] ].]u{@]U{3{n{n{#]I{$]J{J{!{y{W{W{z{%]&]p~G*w*w*u*x*m*l*f*7*}*}*%*~*2*$*Z&Z&R&H&y&r&*]l&m&c&7&**|&_&&&%&*&`%T%C%G%n%H%e%7%6%]%[%+ + + + + + + + + + + + + + + =@=@W+X+T@D+D+Q+q+s+q+y+7+g+g+6+]+]+'+-+1+.+{+O.D.D.x.h.i.2.c.c.2.!.-.^.^.^.C C >.C C >.V C V C 4.C V 4.>.C >.V C 4.C V V V >.V C >.=] ",
+" 3 / ] / { { { { { ] { ] { ^ ] / ^ { ^ ^ / { ] ^ { ] { { { _ _ #.%.!.2.2.2.c.c.i.i.D.w.D..+X.-+-+'+'+<+]+]+6+e+7+y+s+q+s+C+D+S+W+X+=@=@/@6@|@|@|@f@t@t@t@y@Q@Q@Q@W@l#$#)#)#)#4#3#3#s#0#7#y#y#E#E#J#u#U#U#U#+ + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+-];]H{H{-]>],]#]#]#]$]I{$]']J{!{y{)]!]<=^=%]~]L{G*w*w*l*n*n*f*f*7*}*|*#*~* * *Z&Q&Z&H&S&r&l&l&j&f&7&|&|&|&2&&& &`%C%C%D%F%n%m%e%f%[%[%-%+ + + + + + + + + + + + + + + =@=@@@S+D+D+C+s+q+q+r+7+7+<+7+<+'+'+'+.+$+W.D.W.D.i.i.h.h.,@2.2.{.!.+&^.^.>.>.>.4.4.C V >.V V >.4.>.V 4.V V V 4.C >.V C C V C C C ,$ ",
+" `#^ ^ { ] / ] { / ^ / ^ ^ { { ] { ^ { { { / ^ / { { ] ] ^ ^ ^ ~.%.!.{.2.2.c.C.h.i.i.D.D.X.D.X.-+.+'+]+:+<+g+7+7+7+y+q+J+C+C+C+S+@@X+x@=@=@=@^@f@f@t@t@t@t@y@Q@W@W@Q@$#`@.&)#/#/#4#4#5#7#f#f#y#E#E#u#u#O#*-+ + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+{]]]^]]]/]/]]](]_](]_]J{f{!{:]W{W{!]%]p~L{L{P=w*w*x*x*g*b*b*d*7*}*}*!*~* *Z& *Z&F&R&y&r&r&t&j&e&6&c&|&_&3&)&*&`%T%T%M%F%H%e%e%7%[%<%-%-%+ + + + + + + + + + + + + + + @@=@*@T@D+D+s+s+y+s+n+7+7+2+]+'+:+'+1+.+W.X.X.D.D.V.x.h.j.c.2.{.!._ a+^.C C 4.V C >.C >.C C V 4.>.V 4.4.>.C C C C V V >.C C C C 4.= ",
+" =+] { ] ^ ] ] ] { ^ ^ ] ] ] { { { ^ ] ] { { ] ] ] { / { / ^ _ $.!.!.~.{.c.2.c.i.x.i.D.W.X..+.+-+1+-+<+<+]+]+7+7+n+q+q+s+K+D+S+S+@@@@@@=@=@|@f@|@f@g@s@t@U@G@Q@$#Q@W@-#`@)#)#/#4#5#5#7#3#f#y#I#y#u#E#u#-#+ + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+']']<][][][][]}]x{!{x{|]1]!]W{a~X{%]L{~]2]G*w*w*n*n*l*g*e*b*H;}*}*|*~* * *Z&Q&G&y&z&s&r&m&t&e&f&c&|&_&_&!&%& &`%T%O%E%G%H%e%7%8%]%[%{%@%+ + + + + + + + + + + + + + + x@S+D++@D+C+J+q+r+x+7+7+7+2+<+'+'+'+-+-+X.X.X.D.D.i.w.i.2.c.c.!.!.K a+>.^.>.V V C V V C >.4.>.4.C 4.V 4.>.4.>.V C >.V C 4.C C 4.W ",
+" { { { ^ { { ] / { { { / ^ ] { ^ { { { / { ] { { / ] ^ { ^ _ ~.%.!.!.7.2.h.,@h.w.i.D.D.D.O.X.X.'+-+<+'+6+<+2+7+7+q+s+3]C+J+D+D+X+W+=@=@r@r@7@^@f@f@t@D@y@t@y@Q@Q@Q@W@$#`@-#/#/#/#4#5#4#f#7#f#)$u#E#u#4]+ + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+5]:]6]5]:]6]5]5]|]5]7]8]9]0]&]~]p~L{a]P=w*w*m*x*k*l*b*b*7*1*-;#*#*%* * *Z&Q&P&P&y&r&r&l&l&j&7&6&|&_&_&&&%&`%~&T%C%E%m%H%e%e%7%]%[%-%-%@%+ + + + + + + + + + + + + + b]X+S+9&D+D+C+q+y+n+n+7+2+6+'+'+]+-+.+.+.+.+O.D.D.i.h.i.i.2.g.g.{.~.;.^.^.^.C C V C >.V C C 4.>.V C V 4.C >.V C C V 4.>.V V >.>.V ",
+" c]{ ] ] ] { { { ] { / ^ ] ] { { ] / ^ ] { / { ] { { { { / _ _ _ {.{.!.7.2.r.j.i.i.w.D.D.W.X.W.-+-+'+'+]+<+6+g+7+y+o+q+C+s+D+D++@S+X+@@=@=@=@|@f@f@f@t@y@t@E@M@Q@r#l#$#`@)#)#)#)#3#5#s#7#3#f#f#)$)$u#d]+ + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+!]~{!]W{~{W{0]a~0]a~&]e]f]L{L{L{L{P=w*v*x*m*l*f*f*7*7*7*}*|*%*&*~* *$*Z&P&P&H&y&r&l&l&t&m&6&c&c&_&2&&&!&`% &T%C%M%D%t%n%e%7%6%]%[%-%.%+ + + + + + + + + + + + + + + g]S+S++@s+D+s+q+7+7+7+7+7+6+5@'+:+.+.+.+X.O.P.w.V.i.h.c.h.c.2.2.{.=.^.[.>.>.V >.C V 4.C C >.C C C V C V V 4.V C C C V 4.C 4.>.C Q# ",
+" #.^ { { { ^ { ^ / { ] ] { { ] { ] { ] ] ] ^ ^ ^ / { { ^ J { l _ !.{.2.7.c.c.i.D.w.D.W.W.W..+.+.+-+-+'+2+<+2+7+7+y+n+q+J+C+s+D+X+X+@@X+V#=@=@f@|@f@t@t@t@E@t@Q@Q@W@W@$#$#`@)#)#}#4#4#5#3#a#f#y#I#T#h]+ + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+&]&]&]&]&]&]i]&]&]&]L{L{2]2]j]P=P=x*x*l*n*g*g*e*b*7*}*H;|*%*~*%* *Z&.*G&F&z&r&I&r&r&j&t&j&7&|&|&_&_&!&~&T% &C%N%C%G%m%e%7%7%f%=%-%-%Z$+ + + + + + + + + + + + + + + k]S+D+D+C+Z#r+s+q+7+2+]+]+:+'+m+'+X.X..+D.{+D.w.v.i.h.i.2.2.2.{.!.T ^.^.W#C V C V V C C >.C C >.>.V V C V C 4.>.C >.C 4.C V V a+ ",
+" C#{ ] ^ / ^ ] / ] / / { ] { { ] / ] { / ^ { ] ] { ] ] / / _ _ _ $.!.{.2.2.j.c.v.w.D.D.D.{+.+W.-+-+'+]+<+2+<+7+2+7+r+s+q+C+C+C+S+S+X+-@=@=@=@7@f@f@f@t@t@t@E@F@Q@Q@W@`@`@$#)#)#)#)#/#4#4#7#3#f#f#E#O&+ + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+~]i]~]i]2]l]2]2]2]2]2]P=[-U*m]l*x*l*g*b*b*f*g*7*}*1*!*~*%*%* * *Z&Z&P&P&y&z&z&S&r&m&j&f&7&c&g&_&_&)&!&`%Z%C%O%O%D%m%e%7%e%7%]%=%@%@%+ + + + + + + + + + + + + + + + /*+@D+C+s+q+n+r+x+7+6+6+6+:+m+-+'+.+W.W.D.D.D.D.i.i.c.c.2.2.7.!.l ~=^.^.C V V C C >.>.C C C C C C V >.>.>.V C V C V C C V C C G# ",
+" n]^ ^ / { ] { ^ / / { / { / { ] ] ] ^ ^ ] { ] ^ { { ] ] ^ _ _ %.!.~.!.2.2.c.i.w.v.x.D.D.D. +X.1+-+-+]+]+<+2+7+7+7+o+x+s+K+C+S+D+X+S+X+X+/@^@|@|@f@s@s@y@t@t@F@F@a%l#Q@$#)#-#/#)#/#4#4#4#7#0#7#7#+ + + + + + + + + G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+w*G*U*o]w*o]U*o]o]o]o]w*m*m*m*f*b*b*b*7*7*7*-;}*1*|*#*&* * *2*Z&L-R&F&y&S&r&l&l&l&e&d&c&**|&_&_&%&!&*&T%T%M%M%E%t%m%e%8%7%[%[%p]|%#%+ + + + + + + + + + + + + + + + L#+@C+s+q+r+x+o+7+7+7+2+<+'+'+1+-+.+.+{+P.D.D.i.h.h.c.c.2.2.~.~.( ^.^.>.>.C V C >.4.>.C >.>.>.>.V V >.>.C V C C 4.>.C V V V B# ",
+" q]{ / ] ^ { { / ] { ^ ] { { ^ ] { ^ { / { / { ^ { / ] _ _ _ _ %.!.{.3.2.c.h.h.x.v.V.D.X. + +$+$+'+-+:+<+]+7+7+7+7+s+q+s+K+D+D++@X+@@@@@@=@=@7@^@f@g@f@t@t@t@F@Q@Q@Q@W@$#-#-#)#)#/#/#/#7#4#a#)#+ + + + + + + + r]G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+s]x*t]u]t]s]o]t]s]b*k*b*b*k*7*b*7*7*7*|*H;H;|*%*&*&*&*2* *Z&Z&G&P&z&E&H&r&r&m&l&j&7&6&c&|&_&)&)&`%&& &T%C%O%F%F%m%e%e%8%8%<%-%@%+%Y$+ + + + + + + + + + + + + + + + D+C+C+C+s+o+n+7+7+6+<+2+<+m+1+-+X..+ +O.D.x.V.v.h.h.c.{.{.!.l %.j#^.V >.4.V C C >.4.C C C 4.>.V V 4.C C C V V C C V V V 4.v] ",
+" p#] ] { { / ] / ^ ^ ] { / ] ^ { ^ { ] ^ ^ { { { { { ^ { / ^ l !._ ~.!.7.c.r.h.h.w.x.D.W.X..+.+.+-+'+'+:+<+<+7+7+x+y+s+J+s+D+D+D+S+X+X+@@=@/@/@|@f@|@g@t@y@t@E@F@M@Q@W@$#$#l#`@)#/#)#/#3#3#7#w]+ + + + + + + + x]G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+b*b*7*b*b*f*b*b*b*b*c*7*f*b*7*|*}*}*}*}*%*|*%*#*~* *2*Z&Z&Z&P&R&z&z&r&r&l&r&i=j&n&7&g&|&_&3&_&&& &=&T%C%G%C%E%m%m%M{7%6%-%{%@%@%#%y]+ + + + + + + + + + + + + + + + K+s+C+s+n+x+7+7+7+<+<+]+'+'+'+.+.+X.D.P.x.V.h.v.j.j.c.{.{.%.~.=.^.^.>.$$4.C C 4.>.V V C C V C 4.4.V 4.4.C V 4.C V 4.4.V >.k# ",
+" b.{ ^ ] { { ] { ^ { { ^ ^ / { ^ ] / ] { / ^ { ^ ^ { { ] _ _ _ !.{.!.7.c.c.h.j.i.D.D.D.P.W.O.X.$+|+'+'+2+]+g+e+7+7+7+q+s+s+D+C++@X+W+S+x@=@=@7@7@/@f@g@g@s@t@F@E@F@F@Q@W@$#$#)#`@-#/#/#4#4#U%+ + + + + + + z]A]G+G+G+G+G+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+7*7*7*7*7*7*7*7*7*7*}*}*7*|*1*1*~*1*1*&*&* *&*2* *Z&Z&.*G&P&E&H&E&S&r&l&l&j&f&n&6&d&|&1&_&%&)&`%T%Z%C%C%M%E%m%e%e%7%8%]%[%-%|%#%Z$B]C]+ + + + + + + + + + + + + + ^~D+C+C+q+y+x+7+2+<+]+'+]+'+-+-+.+X.W.D.D.D.v.i.h.,@2.l.{.!.%.l D]^.^.4.4.>.V C >.>.V V C C C >.C V C C 4.C C C >.C V V C b. ",
+" $ ] ] { ] { ] ] ] / { { ] ] { ] { ] ] ^ { / ^ { ] { { { _ ^ _ ~.{.{.2.l.2.h.h.h.w.w.D.D.W.X.$+-+-+'+'+<+]+]+e+7+n+s+q+s+s+K++@+@S+W+W+@@=@/@^@/@r@g@t@t@t@t@F@F@Q@Q@Q@$#$#$#6#)#^#/#)#D#E]+ + + + + + + F]`%G+G+G+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+}*|*|*!*}*}*}*|*|*}*}*}*}*|*~*&*#*%*~*&*2* *Z&Z&Z&Z&P&P&H&z&z&I&S&r&t&m&e&7&f&****|&J&&&)&&&`%T%T%C%M%M%G%E%e%e%8%8%[%-%-%@%.%Y$M$P$G]+ + + + + + + + + + + + + + H]K+q+q+s+7+y+<+6+2+<+]+-+'+1+.+X.{+D.D.D.i.h.i.c.i.c.2.{.{.!.#.+.^.>.C C C >.4.C C C V C V V C C 4.>.C 4.C V V V C 4.V I] ",
+" { ^ ] { ^ ] { ] { ] ^ { { { ^ / { { ^ { ^ ^ ] / / ] { J _ _ l $.{.2.2.c.j.j.i.x.w.w.D.P.X..+.+'+-+-+'+<+2+2+7+n+x+o+s+s+Z#D+D++@D+W+x@X+=@/@=@/@f@|@s@g@g@t@t@U@Q@Q@Q@Q@$#W@$#`@/#)#/#J]+ + + + + + + K]T%G+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+&*#*~*#*#*1*&*~*#*}*~*1*&*~*~*$*&* * * *$*Z&L]Z&Z&G&P&F&E&z&z&S&l&r&l&l&f&7&d&c&|&|&_&2&!&)&`%*&T%C%C%G%F%m%H%e%M{7%}%-%-%@%@%+%Z$H$I$P$+ + + + + + + + + + + + + + + q+s+s+q+7+7+g+<+6+:+<+'+.+$+X. +X.P.x.D.w.v.r.i.c.2.{.{.~.%.K >.^.C V C C >.C V 4.C >.C C V V 4.V C V V 4.C 4.V >.C V ",
+" 2#{ / { ^ ] { { { / ^ / { / / { { ^ ] { ] { ^ / ] { ] { J _ _ _ l {.7.7.2.c.h.h.K.K.D.W.W.W..+.+$+-+'+]+]+2+7+7+7+n+s+s+C+s+C+S+S++@@@-@-@=@=@r@^@|@f@s@t@t@y@U@E@M@Q@W@W@Q@$#W@`@-#/#+ + + + + + + + M]T%F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+ *2*~*~*o* *2*2*~*&* * * * *2* *$*Z& *Z&Z&G&G&R&P&R&P&H&H&r&r&r&l&m&j&e&7&c&c&|&_&_&&&%&!&`%=&T%T%D%E%F%H%m%e%7%}%f%<%-%-%+%.%Y$O$C$C$Q$+ + + + + + + + + + + + + + + + s+n+x+7+7+<+6+]+-+-+1+.+X..+O.W.D.w.x.h.j.r.c.2.l.{.l !.l G.>.4.4.4.C 4.C C C V C C C >.V V V >.>.V V V V 4.>.>.C 2# ",
+" [#{ ^ { / ^ ] ] ] / { ^ { / ] ] { ^ / ] / ] ^ { ^ { =.^ _ _ %.l {.{.2.c.c.c.v.h.K.D.D.X. + +.+X.-+'+'+]+2+2+<+7+y+x+s+q+C+D+D+e@X+S+@@=@X+=@r@r@/@f@R#s@g@g@t@y@F@M@Q@Q@r#r#$#`@`@y@+ + + + + + + + N]N%F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+Z&$*Z&Z&O] *Z& *2* * *Z&Z&Z&Z&Q&P&Z&.*.*P&P&R&H&z&y&H&r&r&r&m&l&m&j&7&6&c&|&|&2&2&_&)&*&*&T%T%C%F%O%H%E%H%e%7%}%}%[%-%@%@%+%+%M$O$C$C$v$+ + + + + + + + + + + + + + + + + 7+7+e+<+]+:+-+]+1+-+X..+O.W.D.D.x.h.i.c.C.2.{.{.%.{.l F.^.$$C V C 4.C 4.V C >.C C V C V C >.V C V V C C C V C [# ",
+" ]#^ { ^ / { ^ { ] { ^ / { { ] { ^ ] ^ { ] ^ / { ^ / { J _ $.#.%.%.2.c.C.h.i.h.h.v.x.D.W.W.W..+-+'+Z+]+]+]+2+6+7+7+o+q+s+s+C++@D++@S+X+@@=@=@=@/@|@f@f@g@g@s@t@t@F@Q@F@F@Q@H#W@W@4@+ + + + + + + P]t%F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+P&L-Q&Z&Z&Z&Z&Z&.*Z&Z&Z&Z&Z&Z&Z&Z&P&F&R&P&y&z&H&r&z&I&l&l&l&m&e&j&j&6&d&g&|&_&2&!&!&)&`%T%T%T%O%C%F%E%m%Q]e%7%7%}%<%=%@%@%.%#%M$C$C$R]v$r$+ + + + + + + + + + + + + + + + + + 2+2+]+<+'+'+-+.+.+.+X.D.D.v.x.i.h.h.2.c.2.{.!.%.$._ j#>.>.>.C V C 4.C >.V >.C >.C C >.C V >.>.C >.C C V C <# ",
+" )./ ^ ] { ] { ] { ^ ] ] ^ { / { ] { { { ] ] { ] { { =._ _ _ l l !.2.7.c.h.i.h.i.D.D.D.{+X.X.X..+'+-+]+6+2+7+7+7+n+q+s+s+s+s+C++@S+D+@@=@=@@@=@/@f@|@f@f@s@g@t@t@E@y@E@Q@Q@W@Q@i++ + + + + + + S]m%F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+y&P&R&P&F&G&P&Z&Z&G&G&L-P&F&F&P&G&F&E&y&E&H&S&z&r&S&l&r&l&l&j&e&e&n&6&|&**_&_&_&_&&&~& &=&T%T%O%M%F%m%n%m%e%g%7%<%<%T]@%@%+%+%O$I$I$C$v$w$E$+ + + + + + + + + + + + + + + + + + 2+<+]+]+]+-+1+X..+ +W.D.D.D.i.w.i.i.c.2.{.7.%.%._ ] B B C C >.>.4.C >.C C 4.>.C V V >.V V >.C 4.C V >.C /. ",
+" y { ] ] ] { ^ { / ] { { { { { ] / { { / { / { ] / / { _ _ l !.~.2.2.2.c.j.h.h.x.D.D.D.D.X.X..+1+'+'+'+6+]+7+7+7+7+y+q+J+C+K+C+9&D+X+X+S+=@=@/@r@|@/@f@f@g@s@y@t@t@F@U@Q@W@$#U]+ + + + + + + V]F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+H&H&H&H&R&y&y&z&F&y&H&E&H&E&F&y&z&H&H&H&r&S&S&l&r&l&l&l&l&t&e&f&c&c&**|&_&_&_&2&&&)&`%*&`%T%C%C%N%D%H%H%e%e%e%7%W]W]W]X]Y]+%M$+%O$C$v$Q$v$w$w$Z]+ + + + + + + + + + + + + + + + + <+]+'+)+-+-+.+.+.+D.P.D.D.x.i.i.h.C.c.2.2.{.l _ _ M.>.C C C V C 4.V V C >.>.V >.4.V V 4.>.V V V 4.V C b+ ",
+" =#/ { { { ^ { { { / { ] / ] / { ] { ^ ^ ] ] { { ^ / ^ { _ _ ~.%.!.2.{.2.h.h.w.x.D.w.D.W.D..+X.$+$+-+'+'+<+2+g+7+7+7+q+r+s+C+s+D+C+X+D+W+@@X+@@=@6@=@|@g@f@f@g@t@t@E@y@E@E@Q@`]+ + + + + + + ^F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+r&r&S&r&r&S&r&z&z&z&s&E&z&y&E&r&z&s&r&r&r&r&l&l&l&l&l&l&f&j&f&7&6&**|&|&|&|&3&&&)&!&`%`%T%M%C%M%G%G%m%m%e%e%M{W]W].^.^.^.^+^@^M$O$C$v$v$x$E$j$k$#^+ + + + + + + + + + + + + + + + + ]+]+m+'+'+-+X. +P.W.D.D.v.K.h.j.c.2.{.2.!.#._ _ ] 4.C C 4.V 4.V C V C >.C >.C C 4.V 4.C C >.C >.V C C '# ",
+" ##/ { ^ { ^ ^ ] ^ { ^ ] { ] { { { ^ { { { / { / { { ^ _ _ _ _ {.{.{.c.c.c.i.i.v.i.D.D.D..+.+.+.+-+]+<+6+6+<+g+7+7+7+o+r+s+s+C+D+D+S+@@X+@@=@@@=@^@/@f@f@f@f@t@t@t@t@t@F@Q@+ + + + + + + + $^F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+t&m&l&r&r&r&l&l&l&S&S&r&r&r&l&r&l&l&r&l&m&l&l&j&l&e&j&f&6&j&7&**h*c&|&_&_&_&!&&&%&`%*&Z%T%T%{*F%D%G%m%:&m%e%W]W]W]W].^.^.^.^.^W]W]W]W]v$w$w$k$a$a$%^+ + + + + + + + + + + + + + + + + + '+'+'+-+.+.+P.{+W.x.x.v.v.i.h.2.2.2.!.{.%._ _ T >.C V C C >.C C 4.C >.V C C 4.C 4.V V 4.V >.4.C 4.&^ ",
+" Z@/ { ] { ^ { ^ ^ ^ ] / { { { ^ ^ { ] ] { ] ^ ^ ] ^ ^ _ _ $.!.!.{.l.c.2.j.h.h.h.D.D.W.W..+X.X..+'+'+'+]+]+6+7+7+7+r+q+y+s+C+s+C+C++@X+X+@@X+@@@@/@r@=@f@f@g@f@s@s@E@t@S>+ + + + + + + + ]%F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+j&j&j&t&t&m&t&t&l&l&l&l&l&l&l&m&t&j&m&l&j&l&e&e&j&j&f&d&7&|&c&h*|&**_&_&_&&&)&!&%&*&`%T%T%C%C%E%G%G%H%m%e%W]W]W]W]W].^.^.^.^.^.^.^W]W]W]W]*^s$a$a$=^&#+ + + + + + + + + + + + + + + + + + '+'+'+$+X.O.W.D.D.w.K.h.h.i.h.2.7.%.%.%.~._ ] >.>.C >.V 4.V V C >.C C V C C C 4.V V C C 4.C C C -^ ",
+" '$^ ] { ] { { / ] / { ] / { ^ { ] ] { / ^ ] ^ / ^ / ^ _ $._ _ ~.7.!.c.c.i.h.i.x.i.D.W.O.X..+.+.+'+'+<+:+2+7+7+7+7+7+7+s+s+s+C+C+9&X+@@W+W+@@=@/@=@|@^@|@f@|@f@t@s@t@R=+ + + + + + + ;^-%F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+c&n&6&j&n&7&f&f&n&n&f&t&f&j&m&f&j&f&j&e&f&7&e&c&d&c&g&6&|&|&|&|&|&_&_&_&3&%&*&%&`%T%=&T%T%M%M%E%D%G%m%e%W]W]W]W]W]W].^.^.^.^.^.^>^>^>^W]W]W]W],^'^)^!^+ + + + + + + + + + + + + + + + + + + + .+.+.+X. +D.D.x.i.i.i.i.h.2.{.{.{.#.l #.=.T C >.C V >.C 4.C C 4.C >.V C V C 4.>.C V C C C V !+ ",
+" ~^] / { ^ { { ^ ] ] ] { / { ^ ] { ^ ] ^ ] / { ] ] { _ _ _ %.!.2.7.l.2.c.c.h.i.i.D.D.D.D.X.X..+'+.+<+]+<+2+g+<+7+7+y+s+7+s+s+K+D+D+D+X+W+@@@@=@=@=@7@/@f@f@t@f@g@g@K&+ + + + + + I={^=%G+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+|&|&|&c&|&**|&c&j&c&6&n&7&j&j&e&6&f&c&c&6&d&6&c&c&g&c&|&c&g&|&|&|&2&&&!&%&)&)&`%`%`%T%T%T%C%O%F%E%H%n%]^W]W]W]W]W]W]W].^.^.^.^.^>^>^>^^^>^.^W]W]W].^W]W]+ + + + + + + + + + + + + + + + + + + + + .+.+W.O.D.D.D.i.i.v.c.i.2.2.{.d+{.!.%._ ] 4.>.V C >.C C V V V >.4.V C V >.4.>.V V C C C 4.O ",
+" u.{ ] ] ^ ] ^ ^ ] { { { ^ / ] ] ^ { ] / / { ] / ` J J _ _ !.$.7.2.2.2.h.h.w.i.V.D.D.D.X..+X.-+-+-+'+]+<+6+2+<+7+7+n+o+s+q+J+q+C+D+D+X+X+@@@@=@=@=@/@6@^@f@f@f@t@/^+ + + + + + (^_^@%G+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+_&2&_&J&|&|&|&g&|&**|&|&|&6&g&c&7&c&c&**g&6&c&**|&|&|&|&|&|&J&2&_&3&2&&&&&)&`%=&`% &T%C%{*C%F%G%G%H%:^W]W]W]W]W]W]W]W]W]W].^.^>^>^>^>^>^.^>^.^.^W]>^.^W]W]+ + + + + + + + + + + + + + + + + + + + + $+X.D.W.D.w.D.h.c.h.c.c.2.l.!.!.!._ _ =.G.>.>.>.>.4.4.>.>.V V >.>.>.C V C C V >.4.C V C z. ",
+" <^] { ] { { ] ] / ^ { { { ] ] { ^ ^ / { ^ { ] ] { { ^ _ _ !.{.{.2.c.2.c.h.h.w.x.w.O.P.X.W..+-+'+'+'+]+]+]+2+2+2+7+7+7+q+s+s+s+D+D+D+S+X+@@X+@@@@=@=@|@|@/@f@|@+ + + + + + + {^[^}^G+G+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+%&&&!&_&&&3&_&2&_&3&|&_&|&_&|&_&|&|&_&|&|&|&_&_&|&|&J&_&|&_&_&2&&&&&!&&&!&~& &T%`%=&T%T%C%C%C%F%G%n%H%W]W]W]W]W]W]W]W].^.^.^W]W]>^>^>^>^>^.^W].^.^>^>^>^.^.^W]W]+ + + + + + + + + + + + + + + + + + + + .+P.D.D.D.D.V.h.h.j.c.2.2.2.~.{.l _ _ f >.>.>.4.>.>.C V >.4.C >.C 4.C C V C >.C >.>.V n, ",
+" d@^ ] { ] { { ] ] / / ^ ] { ^ ^ / { ] ^ { { { ^ { _ _ _ #.%.!.2.2.2.c.c.h.i.i.D.w.D.W.X.X.X.-+'+-+'+'+'+2+2+<+7+7+y+7+q+s+q+s+C+D+e@X+W+W+=@@@=@>$r@r@|@7@f@+ + + + + + + |^{^1^2^G+F+F+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+`%~&`%%&`%%&)&)&!&!&&&2&_&_&_&_&_&_&3&2&_&_&_&_&2&_&&&3&&&)&!&`%`%)&)&`%`%3^T%T%T%M%T%M%M%D%D%E%n%W]W]W]W]W].^.^.^.^.^4^5^6^7^8^9^0^a^b^c^d^e^W]W].^.^.^.^.^.^W]+ + + + + + + + + + + + + + + + + + + + P.O.D.D.w.w.h.h.h.c.c.2.{.!.#._ _ _ _ j#V V V C V V C 4.>.>.>.V V 4.4.V C C 4.V 4.4.W ",
+" f^/ { { ] / { ] ^ { { ] ^ ^ / ^ / ] ] { { { { ^ ^ _ _ l #.{.%.!.{.2.r.c.h.h.V.D.V.P.W.W.O.X.X.-+'+:+-+'+<+6+g+2+7+n+s+r+s+q+s+K+D+D+S+S++@@@=@@@@@=@=@6@s++ + + + + + + + + + g^h^G+F+F+F+F+F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+T%Z%*&`%~&`%*&!&)&)&)&)&)&&&%&)&&&3&%&&&!&)&!&!&&&!&)&!&)&%&`%*&`%Z%T%T%T%T%T%T%C%C%C%E%E%E%m%:^]^W]W]W].^.^.^.^.^i^7^j^k^l^+ + + + + + m^n^o^p^q^W].^.^.^.^.^W]W]W]+ + + + + + + + + + + + + + + + + + O.D.D.V.h.h.i.c.2.2.{.7.{.{.l _ _ ^ K V C C V V 4.V V V V 4.C C C 4.4.V >.C C V V p@ ",
+" l@{ ] ] ] ^ { { ^ { / / ^ { { { ^ ^ ] ] / / ] { ^ _ _ _ %.!.{.7.2.c.r.c.c.h.h.V.w.D.W.O.X..+-+l+-+-+'+]+]+2+2+<+7+n+n+r+s+s+s+C+K+D++@X+X+W+S+x@@@=@=@r^+ + + + + + + + + + + s^t^u^@%F+F+F+F+F+F+F+F+F+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+`%`%`%`%~&&&`%)&!&`%`%`%%&!&!&`%`%T%`%T%`%`%T%T%T%T%O%O%C%C%D%G%H%m%m%m%]^]^W]W]W]W].^.^.^v^w^x^y^W*+ + + + + + + + + + W*m^z^A^B^W].^W]W]W]W]W]W]W]+ + + + + + + + + + + + + + + + + x.w.v.h.c.c.c.2.{.2.~.l _ _ _ { =.O+V V V V C 4.V V C V C V C >.C >.>.V >.C 4.p@ ",
+" O~{ / { ^ ^ { ] ] ^ ] ] { ] { ^ ^ { ] ] ] { { ] { ^ _ %.{.!.%.{.c.2.c.h.h.i.h.D.D.D.W.W. +.+-+-+-+'+'+6+<+2+2+7+7+7+y+s+s+q+s+J+C+D+X+S+X+X+@@@@x@@@E]+ + + + + + + + + + + + C^D^g^E^F^F+F+F+F+F+8%G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+T%T%T%*&`%T%=&T%`%=&=& &T%`%Z%T%C%C%T%T%C%O%C%N%F%E%F%H%t%H%e%e%]^W]W]W]W]W].^.^.^G^j^y^W*+ + + + + + + + + + + + + + + + H^I^e^W]W]W]W]W]W]W]W]W]+ + + + + + + + + + + + + + + w.V.v.h.j.c.c.c.{.{.%.!._ _ _ / T V V C 4.>.C C C C C C C V C V >.C >.C V >.W ",
+" x { ] ^ / ] { / { ^ ^ ^ / ] { { { { ] ] { ] ^ ^ _ _ _ %.l !.{.2.2.2.c.c.i.w.x.D.x.D.P.X.O..+-+-+-+'+'+<+]+g+<+2+7+7+x+7+q+s+C+C+D+C+9&+@D+S+@@S+=@J^+ + + + + + + + + ;@+ + + + + + W]W]W]W]W]W]W][%G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+T%T%T%T%T%C%-&T%T%T%T%C%C%C%M%C%N%N%O%E%D%E%E%D%m%n%Q]m%W]W]W]W]W]W]W]W]W]W]i^d^K^W*+ + + + + + + + + + + + + + + + + + + + L^0^W]W]W]W]W]W]W]W]W]+ + + + + + + + + + + + + + w.h.i.i.c.2.l.{.{.!.l %._ _ J S ^.C V V 4.C C 4.C V V >.C >.V V >.V V C C B+ ",
+" _+^ ] / { { { ] { ^ ^ { ^ ] { ] { / ] { ] / { ^ ` _ $._ %.#.{.!.2.2.r.i.h.h.x.x.D.D.D.X..+X.l+'+-+'+]+:+2+<+2+2+7+7+q+y+r+n+J+K+C+D+D++@X++@S+@@+ + + + + + M^5+@@|@f@i++ + + + + W]W]W]W]W]W]W]W]W]G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+M%C%M%O%N%M%C%C%C%C%D%G%O%G%F%G%F%D%n%n%n%m%H%e%:^]^]^W]W]W]W]W]W]W]W]W]W]9^N^y^W*+ + + + + + + + + + + + + + + + + + + + + + m^O^K^P^k^Q^R^W]W]W]W]W]+ + + + + + + + + + + + i.h.r.c.c.2.{.{.!.$._ _ ^ ] _ G.V C V C C C V >.>.V >.V 4.4.C V >.>.C 4.z. ",
+" S^] ] { { { ] { { / { ^ ] / ^ { ] / ] ^ ] ^ { J J _ _ %.~.{.!.{.c.c.c.h.h.K.K.w.D.D.D.X.X..+-+-+'+'+'+-+2+6+e+2+2+7+x+q+o+y+q+C+D+C+D++@D++@X++ T^U^V^@@=@^@/@/@6@^@f@O@+ + + + + W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G%G%G%F%E%E%C%G%E%D%D%D%F%G%D%E%D%E%n%:^:^:^:^]^]^W^W]W]W]W]W]W]W]W]W]W]9^+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + W*y^W]W]W]W]W]+ + + + + + + + + + + + h.c.2.2.c.!.!.{.%._ _ ^ / U+C C C C >.V C V >.>.C 4.V V >.V C V >.V }@ ",
+" X^/ ] ] ^ ^ ] { ] { ] ] { { / { { { ^ ^ ^ ] ^ / J _ _ _ $.!.2.7.c.2.c.c.v.i.i.D.D.D.P.D. +-+.+X.-+-+'+:+]+2+2+2+7+7+x+7+n+r+s+s+C+s+D+D++@X+X+X+@@@@W+x@@@=@/@=@|@7@7@Y^+ + + + W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]Z^G+G+G+G+G+m%E%t%H%m%m%m%m%n%D%H%H%m%m%m%:^]^]^W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]B^+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + W]W]W]W]W]+ + + + + + + + + + + c.c.2.2.{.!.!._ _ _ _ _ ] M 4.4.4.V V C 4.C V 4.>.V >.>.C C >.C C `^ ",
+" /{ ^ { { ^ / ] ^ ^ { ^ { ] { { ^ ] { ^ { / { ^ _ _ _ #.%.~.2.2.2.c.h.h.w.h.v.D.D.D.W.P..+W.-+X.-+'+-+m+<+]+<+6+<+7+7+7+n+x+s+./s+s+C+K+D+X+X++@X+X+@@@@=@=@=@=@=@/@/@+ + + + + W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]j^+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + W]W]+ + + + + + + + + + + + + l.2.{.~.~._ %.^ _ ^ / j#V C 4.>.C C >.4.4.>.C C >.>.V 4.4.C C '@ ",
+" .@{ / ^ { { / { ^ { ^ ] ] ^ { ^ { ^ { / ] { ` J _ _ _ !.$.%.{.2.{.2.c.j.h.v.x.w.x.D.W.W..+.+$+.+'+'+'+]+]+:+2+g+<+7+7+y+7+n+q+s+s+C+D+Q+C+D+D++@X+W+X+x@=@=@=@@@=@|@+ + + + + + W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 7.!.!.~.l l _ ^ _ / K V V V C >.>.C >.V C >.V V V C C V V V a' ",
+" J.f ^ / ^ / ^ ] { ^ / { / ^ ] { ^ ] ] / ^ { ^ ^ { ^ _ %.{.%.{.{.{.C.j.c.h.h.h.D.D.W.D.O.X.W..+.+.+$+-+'+]+]+2+7+e+2+7+7+7+s+q+y+s+s+s+D+D+D+D+D+D+S+X+W+S+x@=@@@=@=@+ + + + + W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {.%.$.%._ _ _ ` ^ / ..V C >.V 4.V V 4.C C C C V C V V C V G# ",
+" +/] { { ^ ] { ^ ] / ] { ^ / ] / ^ ] { { ] ] J _ _ l {.#.$.{.c.2.c.c.h.i.w.v.i.D.D.D.W.W.O..+$+$+1+'+'+:+]+]+<+]+7+e+7+7+7+q+q+q+s+C+C+s+D+D+D+S++@D+W+X+x@=@@@=@@@+ + + + + + W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {.!._ _ _ _ ] { j#V C V 4.V 4.V >.C C >.C >.C V 4.>.@/ ",
+" a { ^ / { { ] ] ^ ^ ] / ] { { { { { ^ / ^ ^ ] ^ _ !.l $.{.2.{.2.2.c.c.c.i.D.w.D.D.D. +X.X. +.+-+-+'+m+:+]+]+2+7+<+e+7+7+7+7+q+s+q+q+C+K+C+K+D+C+D+X+*@S+W+W+X+=@W++ + + + + + + + W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ~._ _ ^ ^ ] / s C V V >.4.>.>.V >.V >.V V V 4.V >.#/ ",
+" F / { ] ] { ^ ] ^ { { ^ / / ] ] / ] ] { ^ J { _ _ $.%.l !.7.{.l.2.c.h.i.h.w.w.i.D.D.P.{+ +W.X.X.$+1+'+<+'+'+]+<+2+]+7+7+7+7+7+y+n+q+s+J+s+K+s+C+D+X+D+S+T@S+S+@@@@x@+ + + + + + + + + + + + W]W]W]W]W]W]W]W]W]W]+ W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]W]+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + %._ ^ _ J ^ y S.V >.>.V V C >.4.C >.C V C V C >.Y ",
+" $/F.{ { { { ] / ] { { { / ] { { / ] ^ { / { J _ _ _ ~.l {.!.2.2.2.c.c.i.i.v.x.w.x.D.D.X.X..+.+X.-+-+-+-+]+<+<+2+]+2+<+7+7+7+7+r+o+q+q+s+C+C+D+D+D+9&D+D++@W+X+S+W+@@+ + + + + + + + + + + + + + + + + + + + + + + + W]W]W]W]W]W]+ W]W]W]W]W]W]W]+ W]W]W]W]W]+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ^ J { { / { G.C >.V 4.>.C C C >.V C C >.V C ,$I+ ",
+" %// ] { / ] { / ] { { { { { ^ { ] { ] ] ^ _ _ _ _ !.~.%.{.l.2.2.,@c.i.i.i.i.D.D.D.D.W.X.X.X.$+.+-+.+-+-+:+<+<+6+2+7+7+7+7+7+q+n+n+r+s+J+q+C+K+D+D+D+C+D++@X+@@@@@@W+@@+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + _ ^ J { / { L >.V C C C V >.V C >.V V V V 4.&/ ",
+" `.] / / ] ^ { / { ^ ] { { { / ] ] ] ^ ] ^ ^ J _ _ #.l %.{.{.2.2.2.2.j.h.i.V.x.i.D.D.D.W. +X.X..+$+-+'+m+]+'+]+]+f+<+<+7+2+7+7+x+7+7+s+s+s+s+C+q+K+D+D+D+D+D+D+S+T@+@S++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + _ ^ _ ] ^ ^ s V V C V C V >.>.V C C 4.C 4.4.*/ ",
+" k+^ ] { { { ] { ] { { { { ] { / { { { / { { J _ _ !.!.~.!.!.!.7.2.2.h.v.v.v.K.V.D.D.W.D.O. +.+.+1+$+-+-+-+'+]+<+<+]+e+g+<+7+7+7+n+o+n+s+s+q+q+C+K+s+C+C+D+D+C++@S+S+@@+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + J J ] _ ^ { F.a+C >.C V V V V >.V V V C C C p+ ",
+" 2 ] / { ] / ^ ] ] ] { { { ] { { ^ ^ ^ { ^ ^ _ _ %.!.$.{.2.2.l.2.2.,@h.c.w.h.w.D.w.D.P.X.X..+ +X..+'+'+'+]+]+<+'+<+6+2+7+g+7+7+7+y+7+r+y+s+s+q+s+J+C+D+s+D+D+D+D+D+X+T@+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + j.r.2.c.l.2.!.!._ $.%.$._ _ ^ ] ] ^ ] +.V V C 4.V C C >.C V C C C j+ ",
+" j S ^ ] ^ ^ ] / { ] { { ] { ] ] { / { / ^ / _ _ _ $.{.{.{.{.l.c.c.c.c.h.i.i.w.w.D.D.D.O.O.O.X.W.$+.+$+-+'+-+'+<+]+<+]+g+6+7+7+7+n+n+7+r+o+r+q+s+s+s+q+C+s+C+D+K++@D+D++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + .+{+P. +D.D.D.K.D.i.i.c.c.c.r.c.{.{.{.{.%.!._ _ _ _ J { ] { / G.V 4.C C C C 4.C C >.>.C 3=j ",
+" =/{ ^ ^ ^ / ] ^ ^ { { { { / { / ] { / / J _ _ _ {.l !.~.{.2.c.c.h.h.h.i.i.w.D.D.x.D.D.O.W. + +.+.+.+.+'+-+<+'+'+<+<+2+2+g+2+7+7+7+n+7+n+n+n+r+q+q+q+s+J+J+C+D+D+D+C++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + W.X.W.P.D.x.w.D.V.h.v.i.c.c.c.2.2.{.7.%.%.%.$._ _ / ^ { ] { { L >.>.C V C C V V V >.C C c@ ",
+" -/( / { { ^ { ^ ] { ] { { ] { { ^ ^ { J { / _ _ %.%.!.g${.{.{.2.c.h.h.v.h.h.i.D.V.D.D.W.W.P..+.+-+.+.+-+'+'+<+]+<+]+]+]+f+<+7+2+7+7+7+y+o+q+q+q+q+s+s+q+C+q+q+C+C+J+C++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +X.D.D.D.D.i.v.w.h.j.2.c.c.2.c.7.{.!.~.!._ _ _ _ / { { ] { { T C V C V C >.4.C 4.>.C `+[+ ",
+" u./ / { { ] / { ^ ] / / ^ { ^ ] / ] ` { ^ _ _ _ _ %.!.{.l.{.2.c.h.i.h.i.V.x.h.D.D.D.D.P.W.X.W..+-+$+'+.+-+'+'+'+<+<+6+<+<+<+<+7+7+2+7+n+r+n+o+y+y+y+o+q+r+q+s+s+q+C+C++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +X.D.P.D.w.D.i.w.v.j.i.i.c.2.2.{.7.!.!.{.%._ _ _ ^ ^ / { / / / s C V >.V V 4.>.>.C C V z. ",
+" ;/] ] { ^ { { ] ] { { { { { ] / { / ^ { J _ _ _ ~.!.!.!.!.{.2.c.c.i.h.i.h.i.h.w.D.D.O.D.W..+X.X.X.-+$+-+.+-+m+'+'+'+<+'+]+<+e+<+2+2+7+7+7+7+n+n+y+r+o+s+s+s+s+y+C+s+s+s++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + X.X.P.W.{+D.D.w.x.h.h.i.h.h.2.2.2.{.2.!.#.%.l _ _ _ ^ ^ { { { ] ] R.4.C V 4.C 4.C >.4.V `+[ ",
+" >/^ { ^ { / ] ^ { { ] { { { ] { ^ ] _ J _ _ _ ~.%.!.{.%.{.2.c.c.2.c.i.c.v.h.w.w.w.D.P.{+P. +.+.+X.-+.+-+1+-+)+'+'+]+]+b@]+]+2+2+2+f+e+2+7+7+n+n+n+y+7+o+r+s+q+q+n+r+q+s+s++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + .+.+P.W.O.D.D.D.D.D.w.i.i.h.c.h.r.c.2.{.7.!.{.!.!._ _ J { =./ { { { ^ ,/^.C C >.C V 4.>.V C !+ ",
+" *+d@] ^ ] ^ ] ] ^ ] { { / ^ ] { ] / { ^ ^ _ _ _ {.%.~.{.!.c.l.2.h.c.h.i.~@v.h.v.x.w.D.D.O.X.W..+.+-+$+.+.+-+'+-+'+'+]+'+:+]+]+2+<+2+f+2+7+2+7+7+7+7+7+y+n+x+7+s+y+y+q+q+y+q+q++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + X.W.X.W.W.D.D.D.w.w.h.w.h.h.,@c.c.2.{.{.7.!.~.{._ l _ _ J { ^ / { { ] y [.C >.C C C C >.C '/>+ ",
+" )/] ^ { ] ] / { ] { { { / / / { ] ] ] ^ J _ l l !.~.{.{.!.2.2.2.i.c.c.h.v.i.i.w.w.w.D.D.W.W. +W. +X..+.+.+-+-+'+-+Z+]+'+'+<+'+<+]+6+<+e+g+e+e+7+g+7+7+7+7+y+7+n+7+n+n+x+s+q+s++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + .+.+W..+ +D.D.W.D.D.D.K.V.D.i.i.c.h.h.c.2.c.2.7.!.~.!.!.!.#._ _ _ _ ^ ^ ] ^ { ] 3 ^.C V >.V >.V >.V !/ ",
+" `.{ ^ { { { ^ { ] ^ ] ] ] { / { ] =.^ _ _ _ l %.%.{.{.{.{.2.c.c.c.i.h.v.i.K.x.h.w.w.D.D.W.W.P. +.+.+$+-+-+-+-+-+-+-+m+'+'+'+<+<+<+<+6+2+7+<+2+e+<+7+7+7+7+7+7+7+7+n+7+y+7+7+q+y+y+x+r++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -+X..+X.X..+X.X.X.W.W.D.w.D.w.i.i.i.h.c.j.c.j.c.l.{.2.{.!.{.%._ _ _ _ =.^ ^ ^ ^ ] { ^ S [.>.V C C 4.V V @+ ",
+" U.] { ^ / { ] { / { / { { { / ] / { ^ J _ _ _ !.!.{.{.{.{.c.c.c.h.c.c.c.i.i.i.V.x.D.D.D.D.{+D..+ +X..+$+-+.+.+-+'+'+]+:+'+'+m+<+]+]+]+2+]+]+g+<+f+e+<+2+f+7+7+e+7+7+7+7+2+7+7+7+7+7+7+7+7+7+7+7+7+7++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + -+.+1+.+.+ +.+W.W.{+O.P.P.D.D.w.x.i.K.h.h.v.i.h.c.c.c.c.7.!.%.{.%.~.!.l _ ^ J { { ] ] { ^ ] K ^.C C C >.>.V ~/ ",
+" N.] ] ] / ^ / { { / { / { { ^ { _ { ^ _ _ _ _ ~.{.!.{.!.l.!.c.c.h.c.i.h.h.h.h.w.w.D.D.D.P.O.D.D.W..+.+-+$+.+-+.+'+-+-+'+m+]+m+]+:+'+'+6+<+]+6+<+<+<+g+2+2+2+<+2+g+2+g+2+2+e+7+7+g+7+2+<+e+7+2+7+6+f+2+2+<+]+<+g+2+<+<+6+]+]+]+<+'+'+]+'+'+'+-+-+'+-+.+X.1+.+.+.+X. +{+{+ +D.D.D.D.x.w.i.x.v.w.h.h.c.c.c.c.2.7.2.{.{.{.~.$.%.$._ J ^ ` { ^ / ] { / ] R.a+C V 4.V >.}. ",
+" {/t { ^ ] { { ^ / ^ / / ] ] { { ^ { _ _ _ _ l %.!.!.!.2.{.{.2.2.2.h.i.h.~@i.h.w.w.D.K.D.D.D..+X.O.D..+.+ + +$+X..+-+$+-+-+-+-+-+'+-+'+<+'+]+'+'+]+6+]+<+<+<+]+6+<+g+<+2+f+<+2+]+g+6+e+g+]+2+6+<+2+6+]+]+2+<+]+:+'+6+]+]+]+'+:+'+-+'+]+'+-+-+1+.+.+.+.+.+-+X..+W.W.D.W.D.D.D.V.D.h.w.h.w.~@h.i.h.c.r.!.2.!.{.2.!.{.{.~.l _ ^ { / { / ] ^ ] { { { m.>.C >.V 4.H.{/ ",
+" ]/t / ] { ] ] ] ] { ^ { / / ] { J ^ _ _ _ l #.%.%.{.2.{.2.c.c.c.c.h.c.i.i.i.i.i.D.v.w.K.D.D.D.X.D.O.W.X..+.+X..+.+.+X.-+-+-+'+'+'+-+'+'+]+:+-+m+'+]+Z+]+'+'+'+]+:+]+]+<+]+]+:+<+'+<+]+b@'+:+]+<+]+'+]+:+:+'+]+]+-+m+]+'+'+'+-+-+-+1+.+-+.+-+X.W. +X.W.D.O.D.P.W.D.D.V.D.x.V.i.i.i.h.c.2.c.c.2.2.7.2.%.!.{.{.l %._ _ ^ { J ] ^ { { ^ { ] ^ M.>.C V >.H.I. ",
+" t.u.^ { / { ^ ] / ] { { ^ { { =.^ ^ J _ _ {.~.!.l !.{.!.{.2.c.2.i.h.h.h.c.i.h.i.h.V.D.D.w.D.W.D.D.P.X.O.X.X.W.X..+.+.+-+.+'+-+'+-+'+-+'+-+-+'+]+'+]+m+'+:+'+:+m+'+'+:+]+'+]+'+-+'+]+]+'+-+'+'+-+]+'+'+'+-+-+-+-+'+-+-+.+.+-+X.$+X..+X. +.+.+X.O.X.W.W.D.D.D.w.x.K.D.v.i.v.i.c.j.h.2.c.7.2.{.{.{.!.{.{._ _ _ ` ^ ^ ^ ] { { { ] { / / L >.V 4.z.A. ",
+" p.{ { ] { { ] ^ { ^ { / { ] { _ _ _ _ _ !._ !.!.!.{.!.7.{.c.c.c.c.h.j.j.i.h.h.w.w.V.V.D.w.D.D.D.D.O..+W.X.W.W..+X.X..+.+X.$+-+-+.+$+|+-+'+.+-+'+'+-+-+'+'+-+'+-+'+-+'+-+'+'+-+'+-+-+'+'+-+|+-+$+-+1+.+.+.+X..+$+.+$+W..+.+D.W.{+P.O.D.D.W.D.D.D.D.w.D.i.w.h.i.i.c.h.c.c.2.l.2.2.{.2.{.$.!.{._ %._ _ ^ { ^ ^ { ] ^ ] ] { ^ y ,#>.C s. ",
+" f.S { { / { ^ { ] ^ ] ] ] { ] J _ _ _ _ $.~._ ~.d+{.!.{.2.2.2.C.c.i.h.c.i.i.h.i.i.h.i.D.D.D.D.D.D.O.W. +O.W.X.X.W.W..+X.$+W.$+.+.+.+$+.+X..+.+'+$+-+.+'+-+-+1+.+'+'+'+.+-+'+-+-+.+.+X.$+X.X..+.+-+.+.+X.W.X..+X..+.+{+X.D.D.D.D.D.D.w.w.h.D.i.h.h.i.h.c.,@c.c.2.c.c.c.7.{.!.!.!.!.l l _ _ _ _ / { ] { ] { ^ { ] ] ^ K [.b+^/ ",
+" e.//] / { ^ ] { ^ { / { ] _ / J { _ _ %._ ~.{.!.~.~.{.{.2.c.c.c.c.c.c.c.c.h.h.h.h.D.w.x.x.D.w.D.D.W.D.D.O.W.W.O.W.X.D. + +X.X..+X.X.X.X.X..+.+X..+-+X.-+X.X.-+-+.+X..+.+X..+.+W.X..+X..+ +X.X.O.X.W.P.W.P.D.D.W.D.D.D.D.x.K.x.D.K.i.x.h.i.c.j.h.h.c.,@c.c.c.l.7.2.{.{.~.$.%.%.%.$.^ _ ^ ^ { { / { { ^ ] ^ { { M.^.e. ",
+" (/_// ] ] ^ { ] ^ ^ { ^ ] ^ J =._ _ l _ _ _ {.{.%.!.{.2.{.2.c.2.,@j.c.c.j.h.i.w.h.i.i.V.w.i.D.D.w.D.D.W.D.D.D.{+P.W.W.P.W.W.W.W.W.X. +X.X.X.{+X..+W.X..+.+W.W..+W..+ +W..+W.P.D.X.{+X..+D.W.D.W.D.W.D.D.D.D.D.x.w.D.D.i.w.h.w.i.i.c.j.c.j.2.h.2.{.{.{.g.!.{.$.#.!._ _ _ _ _ _ ^ { J { ^ ^ ^ ] { / { / S 4&a. ",
+" M#] ^ { / ] / { / / { ] ^ ^ _ _ _ _ $._ ~.!.%.!.{.{.2.!.2.c.2.2.2.c.c.c.h.h.h.i.i.h.i.v.x.v.w.i.D.i.V.D.D.D.D.D.D.O.O.P.W.P.W.W.D.X.W.O.X.W.O.P.X.D.W.D.X.X.O.W.O.{+D.W.W.D.{+D.O.D.D.D.D.D.D.D.D.w.i.D.h.w.i.v.w.i.i.h.h.c.c.c.h.c.{.{.2.7.2.{.!.!.!.l l l _ _ _ J { ^ J ^ ] ^ ] / ] ] ^ { { :/ ",
+" - _+] / / ^ { ^ ^ ] { / { ] ^ _ _ _ _ !.%.!.!.!.!.~.{.!.{.l.{.7.c.r.2.c.c.r.c.v.h.i.i.v.x.w.i.i.i.h.x.i.V.D.x.D.x.D.D.D.D.D.D.D.D. +D.X.O. +O.W.D.D.O.W.D.D.D.D.D.D.D.D.D.D.V.i.D.i.w.v.V.x.D.i.K.v.w.i.i.i.h.h.r.2.2.c.2.2.2.c.{.2.2.{.{.!._ ~.!._ _ _ =.^ _ J { / { { ] / / ^ ] ^ 2$(. ",
+" 0 ).] ] { { ] ] / ^ / ^ / ^ =._ _ _ _ _ l %.%.{.~.{.{.!.{.7.2.c.2.2.h.2.c.c.2.i.h.i.h.i.v.w.i.x.i.w.h.V.w.w.x.w.w.D.w.D.i.D.w.D.D.D.x.D.D.D.D.D.x.V.D.i.D.D.V.i.w.i.h.x.w.h.K.x.h.i.h.v.j.h.i.c.C.j.j.c.c.c.l.c.3.2.7.{.2.7.!.~.!.{.~.~.l _ ^ _ ^ / ^ ^ { { ^ / ] ^ ^ ^ ).0 ",
+" 1 #./ { { { ] / / ^ J =.^ J { _ _ _ _ %.l %.{.!.!.7.2.l.c.{.l.c.2.c.r.c.c.2.j.h.h.c.h.c.h.h.v.h.i.h.h.i.v.h.x.v.x.i.x.v.D.D.w.w.D.x.D.w.K.w.w.D.i.w.i.K.v.v.h.i.v.i.w.h.w.i.h.i.h.i.j.c.c.c.2.c.c.2.2.c.7.{.2.{.~.!.{.!.l _ #._ _ _ _ ^ J =./ / / ] ] { { { g </ ",
+" Y Z ] ^ { { / / { ] ^ / ` _ _ _ %._ %.#._ %.{.{.!.{.7.{.!.2.2.c.2.c.c.c.c.j.r.h.c.j.h.j.i.i.h.c.c.i.i.h.i.h.i.v.h.i.i.x.v.i.i.h.i.w.i.i.h.i.h.i.h.i.h.h.h.i.i.c.h.h.2.i.2.i.c.r.2.7.2.7.2.{.2.l.!.{.{.%.{.%.!.#._ $._ _ ^ _ ^ _ ^ { { ] { { / ^ q]Y ",
+" X O~/ ] ] / ] / ^ / _ ^ _ { _ _ l _ $.!.!.{.#.l {.{.!.2.{.{.!.{.7.2.2.c.c.2.h.c.2.c.,@c.c.c.h.c.j.i.c.c.c.i.h.j.h.c.h.h.c.j.h.c.w.i.h.h.h.c.c.h.i.c.h.2.c.c.i.2.c.{.c.2.2.2.2.{.2.7.!.{.{.{.%.~.!.%.$.!.$._ _ _ ^ ^ =.{ / ] ] ] ] { O~[/ ",
+" G a H { ] ] { ] / { _ ^ _ _ _ _ %._ !.!._ $.%.{.!.{.{.2.{.{.g.7.{.{.2.2.2.2.2.c.2.2.c.c.c.2.c.h.h.c.c.r.C.c.h.h.h.c.C.r.c.h.j.c.2.c.c.2.c.2.2.c.c.{.2.c.2.2.c.{.!.7.{.!.7.!.%.{.!.%.l %._ ~.l $._ _ _ _ / ] ^ ] / ^ ] ( a }/ ",
+" |/1/S { / ] ] { J J ^ _ _ _ _ %.!.%._ !.!.%.l %.!.{.{.!.{.!.{.2.{.2.!.l.2.c.{.2.2.c.c.2.2.c.c.c.2.2.2.c.2.2.2.2.c.c.2.c.2.{.2.c.l.l.{.c.c.7.{.!.{.{.{.%.{.~.~.%.%.$.!.~.$.$._ $._ _ _ { J J J ^ ] { { S 2/3/ ",
+" 4/* t ( { ] ^ { / =./ ^ _ _ _ _ l $.$.$.!.l {.!.!.{.!.!.{.7.{.{.{.{.{.2.{.{.g.{.2.2.{.2.2.{.2.c.{.{.7.2.{.2.2.2.{.2.{.{.!.{.2.7.~.{.g${.{.%.~.%.$.%.!.%._ _ $.~._ _ _ _ J J _ _ _ ^ ^ ^ b t * 5/ ",
+" 6/k 7/{ / ^ =.] J _ ^ / _ _ $._ _ _ _ l _ _ ~.!.!.l !.!.{.~.!.{.{.7.%.{.~.{.~.7.!.g${.!.{.%.~.2.{.{.!.{.!.{.!.!.!.{.{.!.~.!.%.~.$.$.$._ %._ _ _ _ ^ _ _ _ _ _ { ] ^ { #.k 6/ ",
+" i 0 h # ] ` ] ` J ^ J ^ _ _ _ _ _ l $.l _ _ !._ _ l %.~._ #.!.!.l %.{.!.#.~.%.{.!.!.l %.{.~.!.!.~.{.{._ $.%._ %.l {.l %._ l _ _ _ _ _ _ _ J ` _ J b q]h 0 i ",
+" 8/1 2 q]3 =._ ^ _ _ _ ^ _ _ _ _ %._ $.l _ _ #.!.%._ _ $.#.l ~._ !.$.~.$.!.~.!.!.{.%.~.!.!._ _ l _ l _ _ _ _ _ ^ _ ^ / ^ ^ { c.]'1 9/ ",
+" 0/[ ' < %/!.` ^ ^ ^ J ^ _ _ _ _ _ _ _ %.l _ $._ l $._ _ l l l _ _ _ _ _ _ _ _ _ _ ^ _ _ _ ^ ^ ( %.: < ' , > ",
+" 0/a/6/* b/< c/%/x%q]^ J ` ] ] _ ^ _ _ _ _ 3 { ` / ^ {.x%%/_.< b/* #+a/> ",
+" ",
+" ",
+" ",
+" ",
+" ",
+" "};
diff --git a/community/dante/PKGBUILD b/community/dante/PKGBUILD
index aed04d82a..de32dd748 100644
--- a/community/dante/PKGBUILD
+++ b/community/dante/PKGBUILD
@@ -1,15 +1,15 @@
-# $Id: PKGBUILD 50232 2011-06-27 10:23:04Z spupykin $
+# $Id: PKGBUILD 51686 2011-07-13 08:09:14Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Guillem Rieu <guillemr@gmx.net>
pkgname=dante
pkgver=1.3.1
-pkgrel=1
+pkgrel=2
pkgdesc="SOCKS v4 and v5 compatible proxy server and client"
url="http://www.inet.no/dante"
arch=(i686 x86_64 'mips64el')
license=('custom')
-depends=('tcp_wrappers' 'pam')
+depends=('pam')
backup=('etc/socks.conf'
'etc/sockd.conf')
options=('!libtool')
@@ -20,22 +20,19 @@ md5sums=('19b8a15860ce6b9e96453ddd7f1cbfe2'
build() {
cd ${srcdir}/${pkgname}-${pkgver}
-
- [ $NOEXTRACT -eq 1 ] || ./configure --prefix=/usr --sysconfdir=/etc
+ [ -f Makefile ] || ./configure --prefix=/usr --sysconfdir=/etc \
+ --disable-libwrap
make
}
package() {
cd ${srcdir}/${pkgname}-${pkgver}
make DESTDIR=${pkgdir} install
-
# Config files
mkdir -p ${pkgdir}/etc/conf.d
cp example/{socks,sockd}.conf ${pkgdir}/etc
-
# License
install -D -m644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
-
# rc-script
install -D -m755 ${srcdir}/sockd.rc ${pkgdir}/etc/rc.d/sockd
echo 'SOCKD_OPTS="-D"' >${pkgdir}/etc/conf.d/sockd.conf
diff --git a/community/dmenu/PKGBUILD b/community/dmenu/PKGBUILD
index 39157f110..a95131fcf 100644
--- a/community/dmenu/PKGBUILD
+++ b/community/dmenu/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 47199 2011-05-18 20:06:50Z jelle $
+# $Id: PKGBUILD 51710 2011-07-13 12:57:23Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Thorsten Töpper <atsutane-tu@freethoughts.de>
# Contributor: Thayer Williams <thayer@archlinux.org>
@@ -12,19 +12,16 @@ url="http://tools.suckless.org/dmenu/"
arch=('i686' 'x86_64' 'mips64el')
license=('MIT')
depends=('sh' 'libxinerama')
-#source=("http://dl.suckless.org/tools/$pkgname-$pkgver.tar.gz")
-source=("$pkgname-$pkgver.tar.gz::http://hg.suckless.org/dmenu/archive/tip.tar.gz")
-md5sums=('a0e253e2a38c96f7bfd80b23a9ba6a12')
+source=("http://dl.suckless.org/tools/$pkgname-$pkgver.tar.gz")
+md5sums=('6b619f6901bf4765442b4e410b1e5410')
build(){
-# cd $srcdir/$pkgname-$pkgver
- cd `find $srcdir -type d -name dmenu-\*`
+ cd $srcdir/$pkgname-$pkgver
make X11INC=/usr/include/X11 X11LIB=/usr/lib/X11
}
package() {
-# cd $srcdir/$pkgname-$pkgver
- cd `find $srcdir -type d -name dmenu-\*`
+ cd $srcdir/$pkgname-$pkgver
make PREFIX=/usr DESTDIR=$pkgdir install
install -m644 -D LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE
}
diff --git a/community/dopewars/PKGBUILD b/community/dopewars/PKGBUILD
index 2ce608fc2..4433977cc 100644
--- a/community/dopewars/PKGBUILD
+++ b/community/dopewars/PKGBUILD
@@ -1,16 +1,17 @@
-# $Id: PKGBUILD 19596 2008-11-28 02:08:18Z thayer $
+# $Id: PKGBUILD 51778 2011-07-14 18:25:43Z schuay $
# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
# Contributor: Jeff Mickey <jeff@archlinux.org>
-# Maintainer: Thayer Williams <thayer@archlinux.org>
+# Contributor: Thayer Williams <thayer@archlinux.org>
+# Maintainer: schuay <jakob.gruber@gmail.com
pkgname=dopewars
pkgver=1.5.12
-pkgrel=4
-pkgdesc="dopewars is a Drug dealing game set in New York"
+pkgrel=5
+pkgdesc="A drug dealing game set in New York"
url="http://dopewars.sourceforge.net/"
license=('GPL')
arch=('i686' 'x86_64' 'mips64el')
-depends=('gtk2>=2.12.11' 'alsa-lib' 'audiofile' 'esd' 'sdl_mixer' 'ncurses>=5.6-7')
+depends=('gtk2' 'alsa-lib' 'audiofile' 'esd' 'sdl_mixer' 'ncurses')
install='dopewars.install'
source=("http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz")
md5sums=('debf749de9053dc2fb2e74c37ae06206')
@@ -19,9 +20,13 @@ build() {
cd $srcdir/$pkgname-$pkgver
./configure --prefix=/usr --localstatedir=/var/games \
- --mandir=/usr/share/man || return 1
- make || return 1
- make DESTDIR=$pkgdir install || return 1
+ --mandir=/usr/share/man
+ make
+}
+package() {
+ cd $srcdir/$pkgname-$pkgver
+
+ make DESTDIR=$pkgdir install
# setup shortcut menu entries
mkdir -p $pkgdir/usr/share/applications
diff --git a/community/enigma/PKGBUILD b/community/enigma/PKGBUILD
index aaefc5878..d7923a073 100644
--- a/community/enigma/PKGBUILD
+++ b/community/enigma/PKGBUILD
@@ -1,25 +1,29 @@
-# $Id: PKGBUILD 9152 2008-08-17 04:18:00Z allan $
+# $Id: PKGBUILD 51773 2011-07-14 18:20:30Z schuay $
# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
-# Maintainer: Jason Chu <jason@archlinux.org>
+# Contributor: Jason Chu <jason@archlinux.org>
+# Maintainer: schuay <jakob.gruber@gmail.com>
pkgname=enigma
pkgver=1.04
-pkgrel=2
+pkgrel=3
pkgdesc=" Enigma is a puzzle game involving falling blocks"
arch=('i686' 'x86_64' 'mips64el')
url="http://www.chiark.greenend.org.uk/~sgtatham/enigma/"
license=('custom')
depends=('ncurses')
-source=(http://www.chiark.greenend.org.uk/~sgtatham/enigma/$pkgname-$pkgver.tar.gz)
+source=("http://www.chiark.greenend.org.uk/~sgtatham/$pkgname/$pkgname-$pkgver.tar.gz")
md5sums=('a54ee9ae40dae781560a3c2b1ce8f45d')
build() {
- cd $startdir/src/$pkgname-$pkgver
+ cd $srcdir/$pkgname-$pkgver
./configure --prefix=/usr --localstatedir=/var
sed -i "s/root\.games/root.root/" Makefile
- mkdir -p $startdir/pkg/usr/bin
- make || return 1
- make prefix=$startdir/pkg/usr localstatedir=$startdir/pkg/var install
- install -Dm644 LICENCE ${pkgdir}/usr/share/licenses/enigma/license
+ make
+}
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ mkdir -p $pkgdir/usr/bin
+ make prefix=$pkgdir/usr localstatedir=$pkgdir/var install
+ install -Dm644 LICENCE ${pkgdir}/usr/share/licenses/${pkgname}/license
}
diff --git a/community/freeradius/PKGBUILD b/community/freeradius/PKGBUILD
index bd2c102c0..b8b323ff3 100644
--- a/community/freeradius/PKGBUILD
+++ b/community/freeradius/PKGBUILD
@@ -1,23 +1,23 @@
-# $Id: PKGBUILD 47452 2011-05-23 15:07:24Z tdziedzic $
+# $Id: PKGBUILD 51749 2011-07-14 06:47:41Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Jason R Begley (jayray@digitalgoat.com>
pkgname=freeradius
-pkgver=2.1.10
-pkgrel=7
+pkgver=2.1.11
+pkgrel=1
pkgdesc="The premier open source RADIUS server"
arch=('i686' 'x86_64' 'mips64el')
url="http://www.freeradius.org/"
license=("GPL")
-depends=('openssl' 'krb5' 'pth' 'libldap>=2.4.18' 'net-snmp' 'pam' \
+depends=('openssl' 'krb5' 'pth' 'libldap>=2.4.18' 'net-snmp' 'pam'
'postgresql-libs>=9.0.3' 'libtool' 'libmysqlclient' 'gdbm' 'shadow')
optdepends=('libpcap' 'unixodbc' 'python2')
options=('!libtool' 'emptydirs' '!makeflags')
install=$pkgname.install
-source=(ftp://ftp.freeradius.org/pub/radius/freeradius-server-$pkgver.tar.bz2 \
+source=(ftp://ftp.freeradius.org/pub/radius/freeradius-server-$pkgver.tar.bz2
radiusd
krb5-build-fix.patch)
-md5sums=('8ea2bd39460a06212decf2c14fdf3fb8'
+md5sums=('96b21a95117d8ebde689c4c13c028d30'
'f1a6530b1b69d2fa793aa45b2de379bb'
'c6a61de7576933f59154a53bfc12a2d2')
diff --git a/community/gcc-avr/PKGBUILD b/community/gcc-avr/PKGBUILD
index 0fbb6721c..0b93f18f2 100644
--- a/community/gcc-avr/PKGBUILD
+++ b/community/gcc-avr/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 43891 2011-03-30 19:48:35Z bfanella $
+# $Id: PKGBUILD 51816 2011-07-15 23:03:40Z bfanella $
# Maintainer: Brad Fanella <bradfanella@archlinux.us>
# Contributor: Corrado Primier <bardo@aur.archlinux.org>
# Contributor: danst0 <danst0@west.de>
pkgname=gcc-avr
-pkgver=4.6.0
-pkgrel=3
+pkgver=4.6.1
+pkgrel=1
pkgdesc="The GNU avr Compiler Collection"
arch=('i686' 'x86_64' 'mips64el')
license=('GPL' 'LGPL' 'custom')
@@ -13,8 +13,8 @@ url="http://gcc.gnu.org/"
depends=('binutils-avr>=2.21' 'cloog' 'ppl' 'gcc-libs>=4.6.0' 'libmpc')
options=('!ccache' '!distcc' '!emptydirs' '!libtool' '!strip')
source=(http://ftp.gnu.org/gnu/gcc/${pkgname/-avr}-${pkgver}/gcc-{core,g++}-${pkgver}.tar.bz2)
-md5sums=('b1957f3209080b2f55bc3756d3a62b7c'
- 'a30090fa655d0db4c970740d353c81f1')
+md5sums=('0c0e7e35d2215e19de9c97efba507553'
+ '0d75ca7ca35b1e7f252223f9d23a6ad1')
build() {
export CFLAGS="-O2 -pipe"
diff --git a/community/gri/PKGBUILD b/community/gri/PKGBUILD
index 858420e56..b06e31849 100644
--- a/community/gri/PKGBUILD
+++ b/community/gri/PKGBUILD
@@ -3,17 +3,17 @@
# Maintainer: Stefan Husmann <stefan-husmann@t-online.de>
pkgname=gri
-pkgver=2.12.22
+pkgver=2.12.23
pkgrel=1
pkgdesc="A script-based language for scientific graphics programming."
arch=('i686' 'x86_64' 'mips64el')
license=('GPL')
url="http://gri.sourceforge.net/"
-depends=('imagemagick' 'texlive-core' 'perl')
-makedepends=('ghostscript' 'gzip')
+depends=('perl')
+makedepends=('ghostscript' 'gzip' 'imagemagick')
source=(http://downloads.sourceforge.net/gri/$pkgname-$pkgver.tar.gz)
-md5sums=('e719475161761fa9c7d2e2c2e94c2e76')
install=gri.install
+md5sums=('eabd37f80ac51f7aef83a89234fb6522')
build() {
cd $srcdir/$pkgname-$pkgver
diff --git a/community/gri/gri.install b/community/gri/gri.install
index 066fc98c7..9252cc494 100644
--- a/community/gri/gri.install
+++ b/community/gri/gri.install
@@ -1,5 +1,5 @@
infodir=/usr/share/info
-filelist=(gri.info)
+filelist=(gri.info.gz)
post_install() {
for file in ${filelist[@]}; do
diff --git a/community/mailutils/PKGBUILD b/community/mailutils/PKGBUILD
index c2f51937b..832d800cf 100644
--- a/community/mailutils/PKGBUILD
+++ b/community/mailutils/PKGBUILD
@@ -1,18 +1,19 @@
-# $Id: PKGBUILD 34299 2010-12-05 22:48:06Z spupykin $
+# $Id: PKGBUILD 51689 2011-07-13 08:09:55Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
pkgname=mailutils
pkgver=2.2
-pkgrel=1
+pkgrel=2
pkgdesc="MUA command line tool (mailx)"
arch=(i686 x86_64 'mips64el')
url="http://www.gnu.org/software/mailutils/"
license=('GPL')
-depends=(libldap tcp_wrappers pam gnutls guile)
-makedepends=('python2')
+depends=('libldap' 'pam' 'gnutls' 'guile')
+makedepends=('python2' 'emacs')
optdepends=('python2')
-conflicts=(libsieve)
+conflicts=('libsieve')
+install=mailutils.install
options=(zipman !emptydirs)
source=(http://ftp.gnu.org/gnu/mailutils/mailutils-$pkgver.tar.bz2)
md5sums=('834d2f616b922856127ecfe6c2de7d1a')
@@ -20,17 +21,24 @@ md5sums=('834d2f616b922856127ecfe6c2de7d1a')
build() {
cd "$srcdir/mailutils-$pkgver"
+ py2=`pacman -Q python2 | cut -d\ -f2 | cut -d. -f1-2`
+ py3=`pacman -Q python | cut -d\ -f2 | cut -d. -f1-2`
+
export PYTHON=/usr/bin/python2
export PYTHON_CONFIG=/usr/bin/python2-config
- [ -f Makefile ] || ./configure --prefix=/usr --with-gdbm --with-gnutls --libexecdir=/usr/lib/$pkgname --without-fribidi
+ export CFLAGS="$CFLAGS `pkg-config --cflags python-$py2`"
+ export LDFLAGS="$LDFLAGS `pkg-config --libs python-$py2`"
- py2=`pacman -Q python2 | cut -d\ -f2 | cut -d. -f1-2`
- py3=`pacman -Q python | cut -d\ -f2 | cut -d. -f1-2`
+ [ -f Makefile ] || ./configure --prefix=/usr --with-gdbm --with-gnutls \
+ --libexecdir=/usr/lib/$pkgname --without-fribidi \
+ --without-tcp-wrappers
# [ -z "$py3" ] || find -type f -name Makefile -exec sed -i "s|python$py3|python$py2|" {} \;
-
make -j1
- make -j1 DESTDIR=$pkgdir install
+}
+package() {
+ cd "$srcdir/mailutils-$pkgver"
+ make -j1 DESTDIR=$pkgdir install
rm -f $pkgdir/usr/share/info/dir
mv $pkgdir/usr/bin/mail $pkgdir/usr/bin/gnu-mail
mv $pkgdir/usr/share/man/man1/mail.1 $pkgdir/usr/share/man/man1/gnu-mail.1
diff --git a/community/mailutils/mailutils.install b/community/mailutils/mailutils.install
new file mode 100644
index 000000000..03b451b3e
--- /dev/null
+++ b/community/mailutils/mailutils.install
@@ -0,0 +1,20 @@
+infodir=usr/share/info
+filelist=(mailutils.info mailutils.info-1 mailutils.info-2)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
diff --git a/community/newton-dynamics/PKGBUILD b/community/newton-dynamics/PKGBUILD
new file mode 100644
index 000000000..93a578450
--- /dev/null
+++ b/community/newton-dynamics/PKGBUILD
@@ -0,0 +1,45 @@
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Josh Taylor (deficite) <joshtaylor.mail@gmail.com>
+# Contributor: Christophe Robin (bombstrike) <crobin@php.net>
+pkgname=newton-dynamics
+pkgver=2.33
+pkgrel=1
+pkgdesc="A simple physics API"
+arch=('i686' 'x86_64')
+url="http://www.newtondynamics.com"
+license=('custom')
+depends=()
+makedepends=('unrar')
+source=("http://newton-dynamics.googlecode.com/files/newton-dynamics-${pkgver}.rar"
+ 'assert-fix.patch')
+md5sums=('b8394c7c3f4e8a1bd41ffa07c5979a9e'
+ 'fa747c99d0516d66f03175fca1f1ba34')
+
+build() {
+ _srcdir="${srcdir}/newton-dynamics-${pkgver}"
+ [ "$CARCH" = "i686" ] && platform="linux32"
+ [ "$CARCH" = "x86_64" ] && platform="linux64"
+ builddir="${_srcdir}/coreLibrary_200/projets/${platform}"
+
+ # clean build directory
+ [ -d "${_srcdir}" ] && rm -Rf "${_srcdir}"
+
+ # decompress package
+ cd "${srcdir}"
+ unrar x "newton-dynamics-${pkgver}.rar"
+
+ # needed for building
+ mkdir -p "${_srcdir}/packages/${platform}"
+
+ # patch issue with an _ASSERT call instead of _ASSERTE
+ cd "${_srcdir}/coreLibrary_200"
+ patch -p0 < "${srcdir}/assert-fix.patch"
+
+ ## build lib
+ cd "${builddir}"
+ make
+
+ install -D -m644 "${builddir}/libNewton.a" "${pkgdir}/usr/lib/libNewton.a"
+ install -D -m755 "${builddir}/libNewton.so" "${pkgdir}/usr/lib/libNewton.so"
+ install -D -m644 "${_srcdir}/coreLibrary_200/source/newton/Newton.h" "${pkgdir}/usr/include/Newton.h"
+}
diff --git a/community/newton-dynamics/assert-fix.patch b/community/newton-dynamics/assert-fix.patch
new file mode 100644
index 000000000..83dfdd790
--- /dev/null
+++ b/community/newton-dynamics/assert-fix.patch
@@ -0,0 +1,13 @@
+Index: source/core/dgTypes.cpp
+===================================================================
+--- source/core/dgTypes.cpp (revision 506)
++++ source/core/dgTypes.cpp (working copy)
+@@ -515,7 +515,7 @@
+ return 0;
+ }
+ _ASSERTE (compareCount <= dgInt32 (strideInBytes / sizeof (dgFloat64)));
+- _ASSERT (strideInBytes == dgInt32 (sizeof (dgFloat64) * (strideInBytes / sizeof (dgFloat64))));
++ _ASSERTE (strideInBytes == dgInt32 (sizeof (dgFloat64) * (strideInBytes / sizeof (dgFloat64))));
+
+ dgInt32 stride = strideInBytes / dgInt32 (sizeof (dgFloat64));
+ dgInt32 stride2 = stride + 2;
diff --git a/community/nut/PKGBUILD b/community/nut/PKGBUILD
index 89970cf0e..b7fd809fa 100644
--- a/community/nut/PKGBUILD
+++ b/community/nut/PKGBUILD
@@ -3,7 +3,7 @@
pkgname=nut
pkgver=16.13
-pkgrel=1
+pkgrel=2
pkgdesc='Records what you eat and analyzes your meals for nutrient levels in terms of the Daily Value or DV which is the standard for food labeling in the US.'
url='http://nut.sourceforge.net/'
license=('GPL')
@@ -15,7 +15,9 @@ build() {
cd ${pkgname}-${pkgver}
# change install path to /usr instead of /usr/local
- sed -i 's#local/##' Makefile
+ sed \
+ -e 's#/local##' \
+ -i Makefile
make
}
diff --git a/community/pragha/PKGBUILD b/community/pragha/PKGBUILD
index 56d4472ae..5c63fe487 100755
--- a/community/pragha/PKGBUILD
+++ b/community/pragha/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 49091 2011-06-10 19:39:21Z ttopper $
+# $Id: PKGBUILD 51754 2011-07-14 08:47:32Z ttopper $
# Maintainer: Thorsten Töpper <atsutane-tu@freethoughts.de>
# Contributor: Alois Nespor <alois.nespor@gmail.com>
# Contributor: JerichoKru <jerichokru(AT)htomail.com>
pkgname=pragha
-pkgver=0.96.1
+pkgver=0.97.0
pkgrel=1
pkgdesc="A lightweight GTK+ music manager - fork of Consonance Music Manager."
arch=('i686' 'x86_64' 'mips64el')
@@ -18,7 +18,7 @@ optdepends=('notification-daemon: OSD notification')
replaces=('dissonance')
install=pragha.install
source=(http://dissonance.googlecode.com/files/$pkgname-$pkgver.tar.bz2)
-sha1sums=('0782f552cdf786290ab9b4defd1d65869c5ff08f')
+sha1sums=('e9cc474449cc38f5efa512adad979bd6f15b4309')
build() {
cd "$srcdir/$pkgname-$pkgver"
diff --git a/community/unbound/PKGBUILD b/community/unbound/PKGBUILD
index 1c312b3d5..8b86fed52 100644
--- a/community/unbound/PKGBUILD
+++ b/community/unbound/PKGBUILD
@@ -3,7 +3,7 @@
# Contributor: Massimiliano Torromeo <massimiliano DOT torromeo AT google mail service>
pkgname=unbound
-pkgver=1.4.10
+pkgver=1.4.12
pkgrel=1
pkgdesc='Validating, recursive, and caching DNS resolver'
arch=('i686' 'x86_64' 'mips64el')
@@ -17,7 +17,7 @@ backup=('etc/unbound/unbound.conf')
source=("http://unbound.net/downloads/$pkgname-$pkgver.tar.gz"
'unbound.conf'
'rc.d')
-sha1sums=('ac9ab61a51e147ade69ca8b043fee2ed76336a62'
+sha1sums=('c46c05d1fa2402a59c10f51864fd4c62d10a472f'
'5d473ec2943fd85367cdb653fcd58e186f07383f'
'a0c8c496d71d43ed9e09b170d3df836dfb096480')
diff --git a/community/virtualbox/PKGBUILD b/community/virtualbox/PKGBUILD
index 868d24f2a..914da9813 100644
--- a/community/virtualbox/PKGBUILD
+++ b/community/virtualbox/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 51016 2011-07-04 12:35:27Z ibiru $
+# $Id: PKGBUILD 51807 2011-07-15 20:01:05Z ibiru $
#Maintainer: Ionut Biru <ibiru@archlinux.org>
pkgbase=virtualbox
pkgname=('virtualbox' 'virtualbox-guest-additions' 'virtualbox-guest-modules' 'virtualbox-sdk')
-pkgver=4.0.10
-pkgrel=2
+pkgver=4.0.12
+pkgrel=1
arch=('i686' 'x86_64')
url='http://virtualbox.org'
license=('GPL' 'custom')
@@ -16,8 +16,7 @@ source=(http://download.virtualbox.org/virtualbox/${pkgver}/VirtualBox-${pkgver}
virtualbox-4-makeself-check.patch virtualbox-4-mkisofs-check.patch
10-vboxdrv.rules 60-vboxguest.rules vboxdrv-reference.patch LocalConfig.kmk vboxdrv.sh
18-system-xorg.patch
- change_default_driver_dir.patch
- usb-2.0.patch)
+ change_default_driver_dir.patch)
_kernver=2.6.39-LIBRE
build() {
@@ -26,9 +25,8 @@ build() {
patch -Np1 -i "$srcdir/virtualbox-4-makeself-check.patch"
patch -Np1 -i "$srcdir/virtualbox-4-mkisofs-check.patch"
patch -Np1 -i "$srcdir/vboxdrv-reference.patch"
- patch -Np1 -i "$srcdir/18-system-xorg.patch"
+# patch -Np1 -i "$srcdir/18-system-xorg.patch"
patch -Np1 -i "$srcdir/change_default_driver_dir.patch"
- patch -Np0 -i "$srcdir/usb-2.0.patch"
cp "$srcdir/LocalConfig.kmk" .
@@ -168,9 +166,9 @@ package_virtualbox-guest-additions(){
"$pkgdir"/usr/bin/VBoxClient-all
install -m755 -D "$srcdir"/VirtualBox-${pkgver}_OSE/src/VBox/Additions/x11/Installer/vboxclient.desktop \
"$pkgdir"/etc/xdg/autostart/vboxclient.desktop
- install -D vboxmouse_drv.so \
+ install -D vboxmouse_drv_110.so \
"$pkgdir/usr/lib/xorg/modules/input/vboxmouse.so"
- install -D vboxvideo_drv.so \
+ install -D vboxvideo_drv_110.so \
"$pkgdir/usr/lib/xorg/modules/drivers/vboxvideo.so"
install -d "$pkgdir/usr/lib/xorg/modules/dri"
install -m755 VBoxOGL*.so "$pkgdir/usr/lib"
@@ -207,8 +205,8 @@ package_virtualbox-guest-modules(){
sed -i -e "s/KERNEL_VERSION='.*'/KERNEL_VERSION='${_kernver}'/" "$startdir/virtualbox-guest-modules.install"
}
-md5sums=('956af570597850ab4d3275b54bbed049'
- '75cdbfe8621be72b67666187c5acf172'
+md5sums=('5b39b99c2a36c96a062913e8ac67c60f'
+ '34cfb9a430a231a274aba3550c3d0e00'
'44efb3c4be214daa453a317d527f1f30'
'32a232b43852b9a08cb11a7bcd64b347'
'5f85710e0b8606de967716ded7b2d351'
@@ -217,5 +215,4 @@ md5sums=('956af570597850ab4d3275b54bbed049'
'c1a07f044c476a190af8486fe78bee0f'
'47da2e88de582bb2bab14580a3aa47b1'
'8a22b33c9dfaf8fb79bb2d26304e650b'
- 'ac43f7cf44b934d8dbdbc3bb6f7879ad'
- '696002ad0017512fc27781b07259f37c')
+ 'ac43f7cf44b934d8dbdbc3bb6f7879ad')
diff --git a/community/zathura/PKGBUILD b/community/zathura/PKGBUILD
index 4adb2499a..8defcf362 100644
--- a/community/zathura/PKGBUILD
+++ b/community/zathura/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 43267 2011-03-24 12:25:34Z spupykin $
+# $Id: PKGBUILD 51680 2011-07-13 07:32:38Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: ML <neldoreth>
pkgname=zathura
-pkgver=0.0.8.3
+pkgver=0.0.8.4
pkgrel=1
pkgdesc="a PDF viewer"
arch=('i686' 'x86_64' 'mips64el')
@@ -13,19 +13,18 @@ depends=('poppler-glib' 'gtk2' 'cairo')
install=zathura.install
DLAGENTS=('http::/usr/bin/wget -c -t 3 --waitretry=3 --no-check-certificate -O %o %u'
'https::/usr/bin/wget -c -t 3 --waitretry=3 --no-check-certificate -O %o %u')
-source=(https://pwmt.org/download/zathura-$pkgver.tar.gz
- zathura.desktop
- zathura-poppler-0.16.patch)
-md5sums=('95b1d02593e7055f08da3825ad54954d'
- '53da4968621934e7d9812380a3a37ee1'
- 'fa9f43b1a785743b4f9b840d1f234bae')
+source=(https://pwmt.org/download/zathura-$pkgver.tar.gz)
+md5sums=('e3a7f82401059e591ed549d615f53ddd')
build() {
cd $srcdir/zathura-$pkgver
-# patch -Np1 -i $srcdir/zathura-poppler-0.16.patch
make
+}
+
+package() {
+ cd $srcdir/zathura-$pkgver
install -D -m775 zathura "$pkgdir/usr/bin/zathura"
install -D -m664 zathura.1 "$pkgdir/usr/share/man/man1/zathura.1"
install -D -m664 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
- install -D -m664 $srcdir/zathura.desktop "$pkgdir/usr/share/applications/zathura.desktop"
+ install -D -m664 zathura.desktop "$pkgdir/usr/share/applications/zathura.desktop"
}
diff --git a/core/file/PKGBUILD b/core/file/PKGBUILD
index 2038dd5b4..6b1d9377d 100644
--- a/core/file/PKGBUILD
+++ b/core/file/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 123963 2011-05-15 08:19:29Z tpowa $
+# $Id: PKGBUILD 131726 2011-07-14 01:54:47Z allan $
# Maintainer: Allan McRae <allan@archlinux.org>
# Contributor: Andreas Radke <andyrtr@archlinux.org>
pkgname=file
pkgver=5.07
-pkgrel=3
+pkgrel=4
pkgdesc="File type identification utility"
arch=('i686' 'x86_64' 'mips64el')
license=('custom')
@@ -13,19 +13,17 @@ url="http://www.darwinsys.com/file/"
depends=('glibc' 'zlib')
options=('!libtool')
source=(ftp://ftp.astron.com/pub/${pkgname}/${pkgname}-${pkgver}.tar.gz
- file-5.05-zip64.patch
file-5.07-zip-detect.patch)
md5sums=('b8d1f9a8a644067bd0a703cebf3f4858'
- '385f020467debd98bd2d8df6143f93d0'
- 'bcbf2e152f38003a2736298bbd0f37f8')
+ 'ac155cf89af6665dfee76738c27366d8')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
sed -i 's#\$(datadir)/misc#\$(datadir)#' configure
- # identify zip64 files
- patch -Np1 -i ${srcdir}/file-5.05-zip64.patch
+ # combined upstream patches to fix zip file detection
patch -Np1 -i ${srcdir}/file-5.07-zip-detect.patch
+
./configure --prefix=/usr --datadir=/usr/share/file
make
}
diff --git a/core/file/file-5.07-zip-detect.patch b/core/file/file-5.07-zip-detect.patch
index 3e8f128d8..ce433bb90 100644
--- a/core/file/file-5.07-zip-detect.patch
+++ b/core/file/file-5.07-zip-detect.patch
@@ -1,13 +1,40 @@
---- file-5.07/magic/Magdir/archive.old 2011-04-23 17:02:48.000000000 +0200
-+++ file-5.07/magic/Magdir/archive 2011-05-15 10:14:44.509271579 +0200
-@@ -654,6 +654,10 @@
+diff -Naur file-5.07-orig//magic/Magdir/archive file-5.07/magic/Magdir/archive
+--- file-5.07-orig//magic/Magdir/archive 2011-04-24 01:02:48.000000000 +1000
++++ file-5.07/magic/Magdir/archive 2011-07-14 11:55:11.821178049 +1000
+@@ -1,5 +1,5 @@
+ #------------------------------------------------------------------------------
+-# $File: archive,v 1.63 2011/04/23 15:02:48 christos Exp $
++# $File: archive,v 1.66 2011/05/25 17:45:54 christos Exp $
+ # archive: file(1) magic for archive formats (see also "msdos" for self-
+ # extracting compressed archives)
+ #
+@@ -654,12 +654,6 @@
>>>>78 string -template Template
!:mime application/vnd.oasis.opendocument.image-template
-+>26 byte x Zip archive data
+-# StarView Metafile
+-# From Pierre Ducroquet <pinaraf@pinaraf.info>
+-0 string VCLMTF StarView MetaFile
+->6 beshort x \b, version %d
+->8 belong x \b, size %d
+-
+ # EPUB (OEBPS) books using OCF (OEBPS Container Format)
+ # From: Adam Buchbinder <adam.buchbinder@gmail.com>
+ # http://www.idpf.org/ocf/ocf1.0/download/ocf10.htm, section 4.
+@@ -692,8 +686,15 @@
+ >>4 byte 0x09 \b, at least v0.9 to extract
+ >>4 byte 0x0a \b, at least v1.0 to extract
+ >>4 byte 0x0b \b, at least v1.1 to extract
+->>0x161 string WINZIP \b, WinZIP self-extracting
+ >>4 byte 0x14 \b, at least v2.0 to extract
++>>4 byte 0x2d \b, at least v3.0 to extract
++>>0x161 string WINZIP \b, WinZIP self-extracting
+
-+
-+
- # StarView Metafile
- # From Pierre Ducroquet <pinaraf@pinaraf.info>
- 0 string VCLMTF StarView MetaFile
++# StarView Metafile
++# From Pierre Ducroquet <pinaraf@pinaraf.info>
++0 string VCLMTF StarView MetaFile
++>6 beshort x \b, version %d
++>8 belong x \b, size %d
+
+ # Zoo archiver
+ 20 lelong 0xfdc4a7dc Zoo archive data
diff --git a/core/lvm2/PKGBUILD b/core/lvm2/PKGBUILD
index 35f1c7ae8..feac1a364 100644
--- a/core/lvm2/PKGBUILD
+++ b/core/lvm2/PKGBUILD
@@ -1,12 +1,12 @@
-# $Id: PKGBUILD 129975 2011-06-30 17:54:05Z thomas $
+# $Id: PKGBUILD 131232 2011-07-12 03:27:34Z eric $
# Maintainer: Eric Bélanger <eric@archlinux.org>
# Maintainer: Thomas Bächler <thomas@archlinux.org>
pkgbase=lvm2
pkgname=('lvm2' 'device-mapper')
-pkgver=2.02.85
+pkgver=2.02.86
_pkgverlvm=${pkgver}
-pkgrel=3
+pkgrel=1
arch=('i686' 'x86_64' 'mips64el')
url="http://sourceware.org/lvm2/"
license=('GPL2' 'LGPL2.1')
@@ -14,23 +14,19 @@ groups=('base')
source=(ftp://sources.redhat.com/pub/lvm2/LVM2.${_pkgverlvm}.tgz
lvm2_install
lvm2_hook
- Be-quiet-on-removing-cache-on-read-only-fs.diff
11-dm-initramfs.rules)
-md5sums=('91785ca438e5ce679dd3a386b183d552'
+md5sums=('3b42dec4d15ad106302a35149082a20e'
'dcb82506d732cc7b10159a89b579dba8'
'8d613b84a175cd85f752a75198e40e15'
- '6db89da27928d2415a8e26cd0a842712'
'69e40679cd8b3658bfc619e48baae125')
-sha1sums=('43ba2a3be84b2e897ae6b47b0b0be7e212216be7'
+sha1sums=('f435b389cc11c8f415244fe382f3839d1676770c'
'7f108b2f2056eb050fc898bf5190ecf9145aed8a'
'a0e0513c2efb183006e57e595d93ce18be297928'
- '6d7dd04be291d7537235704c816a701fd5beacc0'
'f6a554eea9557c3c236df2943bb6e7e723945c41')
build() {
cd "${srcdir}/LVM2.${_pkgverlvm}"
sed -i 's|/usr/bin/tr|/bin/tr|' scripts/lvmdump.sh
- patch -p1 -i ../Be-quiet-on-removing-cache-on-read-only-fs.diff
unset LDFLAGS
./configure --prefix= --sysconfdir=/etc --localstatedir=/var --datarootdir=/usr/share \
--includedir=/usr/include --with-usrlibdir=/usr/lib \
diff --git a/core/usbutils/PKGBUILD b/core/usbutils/PKGBUILD
index bab1e0b37..124e7189b 100644
--- a/core/usbutils/PKGBUILD
+++ b/core/usbutils/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 123172 2011-05-09 02:20:17Z allan $
+# $Id: PKGBUILD 130339 2011-07-05 15:17:16Z tpowa $
# Maintainer: Judd Vinet <jvinet@zeroflux.org>
# Contributor: Curtis Campbell <curtisjamescampbell@hotmail.com>
pkgname=usbutils
-pkgver=002
-pkgrel=3
+pkgver=003
+pkgrel=1
_usb_ids_date=2011.04.14
pkgdesc="USB Device Utilities"
arch=(i686 x86_64 'mips64el')
@@ -17,9 +17,6 @@ url="http://linux-usb.sourceforge.net/"
source=(http://www.kernel.org/pub/linux/utils/usb/$pkgname/$pkgname-$pkgver.tar.gz
fix-python2.patch
usb.ids-${_usb_ids_date}) # from http://linux-usb.sourceforge.net/usb.ids
-md5sums=('05610d15c3c8c8ada3d691c320ca784a'
- '45766196895b4cc50b53cd56e1bbf3d1'
- 'd64f120c208ca742d3a1d05d84e3f531')
build() {
cd $srcdir/$pkgname-$pkgver
@@ -38,3 +35,6 @@ package() {
install -dm755 $pkgdir/usr/lib
mv $pkgdir/usr/share/pkgconfig $pkgdir/usr/lib/
}
+md5sums=('94a1738fe92062cdd6a9642eeaccefc1'
+ '45766196895b4cc50b53cd56e1bbf3d1'
+ 'd64f120c208ca742d3a1d05d84e3f531')
diff --git a/extra/aspell/PKGBUILD b/extra/aspell/PKGBUILD
index 13f1144e2..a6e4e621d 100644
--- a/extra/aspell/PKGBUILD
+++ b/extra/aspell/PKGBUILD
@@ -1,36 +1,33 @@
-# $Id: PKGBUILD 107951 2011-01-28 03:53:36Z eric $
+# $Id: PKGBUILD 131851 2011-07-16 03:59:19Z eric $
# Contributor: Jochem Kossen <j.kossen@home.nl>
# Contributor: dorphell <dorphell@archlinux.org>
# Contributor: Thayer Williams <thayer@archlinux.org>
# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
pkgname=aspell
-pkgver=0.60.6
+pkgver=0.60.6.1
_pkgmajorver=0.60
-pkgrel=5
+pkgrel=1
pkgdesc="A spell checker designed to eventually replace Ispell"
url="http://aspell.net/"
arch=('i686' 'x86_64' 'mips64el')
license=('LGPL')
-depends=('gcc-libs' 'ncurses>=5.6-7')
+depends=('gcc-libs' 'ncurses')
optdepends=('perl: to import old dictionaries')
options=('!libtool')
install=aspell.install
source=(ftp://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz)
-md5sums=('bc80f0198773d5c05086522be67334eb')
-sha1sums=('335bcb560e00f59d89ec9e4c4114c325fb0e65f4')
+md5sums=('e66a9c9af6a60dc46134fdacf6ce97d7')
+sha1sums=('ff1190db8de279f950c242c6f4c5d5cdc2cbdc49')
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
-
- ./configure --prefix=/usr --sysconfdir=/etc
- make
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc
+ make
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
-
- make DESTDIR="${pkgdir}" install
- ln -s ${pkgname}-${_pkgmajorver} \
- "${pkgdir}/usr/lib/${pkgname}"
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ ln -s ${pkgname}-${_pkgmajorver} "${pkgdir}/usr/lib/${pkgname}"
}
diff --git a/extra/aspell/aspell.install b/extra/aspell/aspell.install
index 5a128ae41..4bb848e30 100644
--- a/extra/aspell/aspell.install
+++ b/extra/aspell/aspell.install
@@ -1,4 +1,4 @@
-infodir=/usr/share/info
+infodir=usr/share/info
filelist=(aspell.info aspell-dev.info)
post_install() {
diff --git a/extra/asymptote/PKGBUILD b/extra/asymptote/PKGBUILD
index 70b5fd9cf..9eabbf7e3 100644
--- a/extra/asymptote/PKGBUILD
+++ b/extra/asymptote/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 127783 2011-06-18 10:36:42Z remy $
+# $Id: PKGBUILD 131761 2011-07-14 17:10:17Z remy $
# Maintainer: Rémy Oudompheng <remy@archlinux.org>
# Contributor: Firmicus <francois.archlinux.org>
# Contributor: bender02 at gmx dot com
pkgname=asymptote
-pkgver=2.11
+pkgver=2.13
pkgrel=1
pkgdesc="A vector graphics language (like metapost)"
arch=('i686' 'x86_64' 'mips64el')
@@ -17,7 +17,7 @@ optdepends=('python2: for the xasy GUI'
'tix: for the xasy GUI')
source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.src.tgz)
install=texlive.install
-sha1sums=('fde16f05bddb9e86a4dd05f25369f35c771fb84b')
+sha1sums=('b4f2b72c0a4e7a02b716bfd0ad64bab45c567bbd')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/extra/bzr/PKGBUILD b/extra/bzr/PKGBUILD
index b96f0fae5..e00f2e0af 100644
--- a/extra/bzr/PKGBUILD
+++ b/extra/bzr/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 124960 2011-05-25 12:48:29Z andrea $
+# $Id: PKGBUILD 131892 2011-07-16 22:47:18Z eric $
# Maintainer :
# Contributor: Hugo Doria <hugo@archlinux.org>
pkgname=bzr
-pkgver=2.3.3
+pkgver=2.3.4
pkgrel=1
pkgdesc="A decentralized revision control system (bazaar)"
arch=('i686' 'x86_64' 'mips64el')
@@ -12,11 +12,13 @@ license=('GPL')
depends=('python2')
optdepends=('python-paramiko: for sftp support')
source=("http://launchpad.net/${pkgname}/${pkgver%.*}/${pkgver}/+download/${pkgname}-${pkgver}.tar.gz")
-md5sums=('a8ca30af0431c691ce7e71a74497e31d')
+md5sums=('2efb1350c69abd4d5bf7437f06f1fdb9')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
sed -i 's|man/man1|share/man/man1|' setup.py
+ sed -i 's|/usr/bin/env python|/usr/bin/env python2|' \
+ bzrlib/{plugins/bash_completion/bashcomp.py,tests/ssl_certs/create_ssls.py,patiencediff.py,_patiencediff_py.py}
python2 setup.py build
}
diff --git a/extra/cups/PKGBUILD b/extra/cups/PKGBUILD
index f8b644fa8..55f39eaa8 100644
--- a/extra/cups/PKGBUILD
+++ b/extra/cups/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 129509 2011-06-28 15:26:54Z andyrtr $
+# $Id: PKGBUILD 131768 2011-07-14 19:06:35Z andyrtr $
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
pkgbase="cups"
pkgname=('libcups' 'cups')
pkgver=1.4.7
-pkgrel=1
+pkgrel=2
arch=('i686' 'x86_64')
license=('GPL')
url="http://www.cups.org/"
@@ -104,7 +104,7 @@ optdepends=('php: for included phpcups.so module'
# kill the sysv stuff
rm -rf ${pkgdir}/etc/rc*.d
rm -rf ${pkgdir}/etc/init.d
- install -D -m755 ../cups ${pkgdir}/etc/rc.d/cups
+ install -D -m755 ../cups ${pkgdir}/etc/rc.d/cupsd
install -D -m644 ../cups.logrotate ${pkgdir}/etc/logrotate.d/cups
install -D -m644 ../cups.pam ${pkgdir}/etc/pam.d/cups
diff --git a/extra/cups/cups.install b/extra/cups/cups.install
index c4307912b..0b7245aa7 100644
--- a/extra/cups/cups.install
+++ b/extra/cups/cups.install
@@ -12,6 +12,11 @@ post_upgrade() {
if [ -x usr/bin/xdg-icon-resource ]; then
xdg-icon-resource forceupdate --theme hicolor 2> /dev/null
fi
+ if [ "`vercmp $2 1.4.7-2`" -lt 0 ]; then
+ # important upgrade notice
+ echo "daemon srcript has been renamed to /etc/rc.d/cupsd"
+ echo "change your entry in /etc/rc.conf"
+ fi
}
post_remove() {
diff --git a/extra/dvgrab/PKGBUILD b/extra/dvgrab/PKGBUILD
index 47592e746..37633a824 100644
--- a/extra/dvgrab/PKGBUILD
+++ b/extra/dvgrab/PKGBUILD
@@ -1,22 +1,28 @@
-# $Id: PKGBUILD 63911 2010-01-19 01:19:21Z andrea $
+# $Id: PKGBUILD 131663 2011-07-13 13:39:59Z giovanni $
# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: Jason Chu <jason@archlinux.org>
pkgname=dvgrab
pkgver=3.5
-pkgrel=2
+pkgrel=3
pkgdesc="Saves audio and video data from an IEEE (FireWire) digital source"
arch=('i686' 'x86_64' 'mips64el')
url="http://www.kinodv.org"
license=('GPL')
-depends=('libdv' 'libavc1394' 'libjpeg>=8' 'libiec61883' 'gcc-libs')
+depends=('libdv' 'libavc1394' 'libjpeg-turbo' 'libiec61883' 'gcc-libs')
makedepends=('pkgconfig')
-source=(http://downloads.sourceforge.net/kino/${pkgname}-${pkgver}.tar.gz)
+source=("http://downloads.sourceforge.net/kino/${pkgname}-${pkgver}.tar.gz")
md5sums=('b39a242ce63e80fc347ab59931f75649')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
+
./configure --prefix=/usr
- make || return 1
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
make DESTDIR="${pkgdir}" install
}
diff --git a/extra/gdm/PKGBUILD b/extra/gdm/PKGBUILD
index 9570d23d7..300eea479 100644
--- a/extra/gdm/PKGBUILD
+++ b/extra/gdm/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 125903 2011-05-31 16:34:54Z ibiru $
+# $Id: PKGBUILD 131658 2011-07-13 12:36:38Z ibiru $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=gdm
pkgver=3.0.4
-pkgrel=1
+pkgrel=2
pkgdesc="Gnome Display Manager (a reimplementation of xdm)"
arch=('i686' 'x86_64' 'mips64el')
license=('GPL')
@@ -10,7 +10,7 @@ url="http://www.gnome.org"
backup=('etc/pam.d/gdm' 'etc/pam.d/gdm-autologin' 'etc/gdm/custom.conf')
groups=('gnome-extra')
options=('!libtool')
-depends=('libcanberra' 'libxklavier' 'tcp_wrappers' 'gnome-session' 'upower' 'accountsservice' 'consolekit' 'xorg-xrdb')
+depends=('libcanberra' 'libxklavier' 'gnome-session' 'upower' 'accountsservice' 'consolekit' 'xorg-xrdb')
makedepends=('intltool' 'gnome-doc-utils' 'xorg-server')
conflicts=('fast-user-switch-applet')
replaces=('fast-user-switch-applet')
@@ -34,9 +34,12 @@ build() {
patch -Np1 -i "${srcdir}/gdm-vt-allocation-hack.patch"
./configure --prefix=/usr --sysconfdir=/etc \
- --libexecdir=/usr/lib/gdm --localstatedir=/var --disable-static \
+ --libexecdir=/usr/lib/gdm \
+ --localstatedir=/var \
--with-at-spi-registryd-directory=/usr/lib/at-spi \
- --disable-scrollkeeper
+ --disable-scrollkeeper \
+ --disable-static \
+ --without-tcp-wrappers
make
}
diff --git a/extra/gnome-python-extras/PKGBUILD b/extra/gnome-python-extras/PKGBUILD
index 47cf0a5c8..2e0627415 100644
--- a/extra/gnome-python-extras/PKGBUILD
+++ b/extra/gnome-python-extras/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 131183 2011-07-11 14:53:15Z ibiru $
+# $Id: PKGBUILD 131702 2011-07-13 15:39:40Z ibiru $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgbase=gnome-python-extras
pkgname=('gnome-python-extras' 'python2-egg' 'python2-gda' 'python2-gksu2' 'python2-gtkhtml2' 'python2-gtkspell')
pkgver=2.25.3
-pkgrel=9
+pkgrel=10
arch=('i686' 'x86_64' 'mips64el')
url="http://www.daa.com.au/~james/pygtk/"
license=('GPL' 'LGPL')
diff --git a/extra/help2man/PKGBUILD b/extra/help2man/PKGBUILD
index aa432f086..18157c3f9 100644
--- a/extra/help2man/PKGBUILD
+++ b/extra/help2man/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 124968 2011-05-25 13:58:20Z giovanni $
+# $Id: PKGBUILD 131671 2011-07-13 13:59:50Z giovanni $
# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: Paul Mattal <paul@mattal.com>
pkgname=help2man
-pkgver=1.39.4
+pkgver=1.40.4
pkgrel=1
pkgdesc="Conversion tool to create man files"
arch=('i686' 'x86_64' 'mips64el')
@@ -12,7 +12,7 @@ license=('GPL')
depends=('perl-locale-gettext')
install=help2man.install
source=("http://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz")
-md5sums=('6b1160697451ba87067231d172285840')
+md5sums=('4d79dc7cb7c20019c2a3650d35259c45')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/extra/kdeplasma-applets-networkmanagement/PKGBUILD b/extra/kdeplasma-applets-networkmanagement/PKGBUILD
index efed52681..9dcdac939 100644
--- a/extra/kdeplasma-applets-networkmanagement/PKGBUILD
+++ b/extra/kdeplasma-applets-networkmanagement/PKGBUILD
@@ -4,8 +4,8 @@
pkgname=kdeplasma-applets-networkmanagement
epoch=1
-pkgver=git20110620
-_commit=1a04682c18a6029132ab1c520b1fec2f4e609854
+pkgver=git20110713
+_commit=ac332a3e9f6e8ae7427e017b5826e51789437949
pkgrel=1
pkgdesc="KDE control panel and widget network connections"
arch=('i686' 'x86_64' 'mips64el')
@@ -16,7 +16,7 @@ makedepends=('cmake' 'python2' 'automoc4' 'mobile-broadband-provider-info')
optdepends=('mobile-broadband-provider-info: allow to add new mobile connection')
install=${pkgname}.install
source=("${pkgname}-${pkgver}.tar.gz"::"http://quickgit.kde.org/?p=networkmanagement.git&a=snapshot&h=${_commit}")
-md5sums=('5fc1d5300d04375dd8bfaf39fc590cca')
+md5sums=('e367743c72b072ae6d1b6988a3bc4406')
build() {
cd "${srcdir}"
diff --git a/extra/libmp3splt/PKGBUILD b/extra/libmp3splt/PKGBUILD
index f6e1c89a1..af01492ea 100644
--- a/extra/libmp3splt/PKGBUILD
+++ b/extra/libmp3splt/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 117351 2011-03-31 07:10:06Z tpowa $
+# $Id: PKGBUILD 131866 2011-07-16 10:20:18Z tpowa $
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
pkgname=libmp3splt
-pkgver=0.6.1a
+pkgver=0.7
pkgrel=1
arch=('i686' 'x86_64' 'mips64el')
pkgdesc="Library for splitting mp3 and ogg files without decoding"
@@ -24,4 +24,4 @@ package() {
cd $srcdir/$pkgname-$pkgver
make DESTDIR=$pkgdir/ install
}
-md5sums=('a6a00d83e49adf27abb7a0cb0ea384a4')
+md5sums=('dadb166361e2a28955032a1b9f10ed38')
diff --git a/extra/libproxy/PKGBUILD b/extra/libproxy/PKGBUILD
index 6f1016fc8..c82563fbc 100644
--- a/extra/libproxy/PKGBUILD
+++ b/extra/libproxy/PKGBUILD
@@ -2,40 +2,40 @@
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=libproxy
-pkgver=0.4.6
-pkgrel=7
+pkgver=0.4.7
+pkgrel=1
pkgdesc="A library that provides automatic proxy configuration management"
arch=(i686 x86_64 'mips64el')
license=('LGPL')
depends=('gcc-libs')
-optdepends=('gconf: GNOME configuration module'
+optdepends=('kdelibs: KDE configuration module'
'networkmanager: NetworkManager configuration module'
'perl: Perl bindings'
'python2: Python bindings')
-makedepends=('gconf' 'cmake' 'networkmanager' 'python2' 'perl')
+makedepends=('cmake' 'networkmanager' 'automoc4' 'python2' 'kdelibs' 'perl')
url="http://libproxy.googlecode.com"
source=(http://libproxy.googlecode.com/files/${pkgname}-${pkgver}.tar.gz)
options=('!libtool')
-md5sums=('199c6b120baf1f7258a55f38d5ec74f5')
+md5sums=('509e03a488a61cd62bfbaf3ab6a2a7a5')
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd "${srcdir}"
mkdir build
cd build
- cmake -DCMAKE_INSTALL_PREFIX=/usr \
+ cmake ../${pkgname}-${pkgver} \
+ -DCMAKE_INSTALL_PREFIX=/usr \
-DLIBEXEC_INSTALL_DIR=/usr/lib/libproxy \
-DCMAKE_SKIP_RPATH=ON \
-DPERL_VENDORINSTALL=yes \
- -DCMAKE_BUILD_TYPE=None \
+ -DCMAKE_BUILD_TYPE=Release \
-WITH_WEBKIT=OFF \
-WITH_MOZJS=OFF \
-DCMAKE_CXX_FLAGS="${CXXFLAGS}" \
- -DCMAKE_C_FLAGS="${CFLAGS}" \
- ..
+ -DCMAKE_C_FLAGS="${CFLAGS}"
make
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}/build"
+ cd "${srcdir}/build"
make DESTDIR="${pkgdir}" install
}
diff --git a/extra/live-media/PKGBUILD b/extra/live-media/PKGBUILD
index a7c7b4218..59430babe 100644
--- a/extra/live-media/PKGBUILD
+++ b/extra/live-media/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 129953 2011-06-30 15:40:13Z giovanni $
+# $Id: PKGBUILD 131676 2011-07-13 14:16:16Z giovanni $
# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: Gilles CHAUVIN <gcnweb@gmail.com>
@@ -37,4 +37,3 @@ package() {
install ${testprog} ${pkgdir}/usr/bin
done
}
-md5sums=('527ebb1061ed1c2b439b02bd26e52440')
diff --git a/extra/mp3splt/PKGBUILD b/extra/mp3splt/PKGBUILD
index ca768bd37..1c86b70cb 100644
--- a/extra/mp3splt/PKGBUILD
+++ b/extra/mp3splt/PKGBUILD
@@ -1,14 +1,14 @@
-# $Id: PKGBUILD 116963 2011-03-26 16:55:54Z tpowa $
+# $Id: PKGBUILD 131861 2011-07-16 10:18:13Z tpowa $
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
pkgname=mp3splt
-pkgver=2.3a
+pkgver=2.4
pkgrel=1
arch=('i686' 'x86_64' 'mips64el')
pkgdesc="Comandline tool for splitting mp3 and ogg files without decoding"
license=('GPL')
url="http://mp3splt.sourceforge.net"
-depends=('libmp3splt>=0.6.1a')
+depends=('libmp3splt')
source=(http://downloads.sourceforge.net/sourceforge/mp3splt/$pkgname-$pkgver.tar.gz)
options=(!libtool)
@@ -22,4 +22,4 @@ package() {
cd $srcdir/$pkgname-$pkgver
make DESTDIR=$pkgdir/ install
}
-md5sums=('1fe663f7de5a6949bbe5b6aa78fea79f')
+md5sums=('aa4dc3de6e789961c71d8b3daaac0623')
diff --git a/extra/ocaml/PKGBUILD b/extra/ocaml/PKGBUILD
index c321869aa..97c35d6d9 100644
--- a/extra/ocaml/PKGBUILD
+++ b/extra/ocaml/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 123206 2011-05-09 09:44:39Z jgc $
+# $Id: PKGBUILD 131871 2011-07-16 10:36:29Z tpowa $
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
pkgname=ocaml
-pkgver=3.12.0
-pkgrel=2
+pkgver=3.12.1
+pkgrel=1
pkgdesc="A functional language with OO extensions"
arch=('i686' 'x86_64' 'mips64el')
license=('LGPL2' 'custom: QPL-1.0')
diff --git a/extra/octave/PKGBUILD b/extra/octave/PKGBUILD
index b6e723f7c..0bc2c252d 100644
--- a/extra/octave/PKGBUILD
+++ b/extra/octave/PKGBUILD
@@ -1,38 +1,39 @@
-# $Id: PKGBUILD 131039 2011-07-09 20:49:15Z stephane $
+# $Id: PKGBUILD 131750 2011-07-14 12:35:49Z ronald $
# Maintainer: Ronald van Haren <ronald.archlinux.org>
# Contributor : shining <shiningxc.at.gmail.com>
# Contributor : cyberdune <cyberdune@gmail.com>
pkgname=octave
pkgver=3.4.2
-pkgrel=1
+pkgrel=2
pkgdesc="A high-level language, primarily intended for numerical computations."
arch=('i686' 'x86_64' 'mips64el')
url="http://www.octave.org"
license=('GPL')
depends=('fftw' 'pcre' 'curl' 'lapack' 'libx11' 'graphicsmagick' 'glpk' 'hdf5' 'gcc-libs' 'qhull')
-makedepends=('texinfo' 'graphicsmagick' 'gcc-fortran' 'umfpack')
+makedepends=('texinfo' 'graphicsmagick' 'gcc-fortran' 'umfpack' 'texlive-core')
optdepends=('texinfo: for help-support in octave'
'gnuplot: alternative plotting'
'umfpack: LU decomposition of some large sparse matrices')
-source=("ftp://ftp.gnu.org/gnu/octave/octave-$pkgver.tar.bz2")
+source=("ftp://ftp.gnu.org/gnu/octave/octave-$pkgver.tar.bz2" "curlfix.patch")
options=('!emptydirs')
-#install=octave.install
-sha1sums=('12cac29ef7d1ab8374980e1e2fd14637b2f15ba5')
-
+install=octave.install
+sha1sums=('12cac29ef7d1ab8374980e1e2fd14637b2f15ba5'
+ '3f856798f5f8aa15bce1200b8abd059154f3d909')
+
build() {
cd ${srcdir}/${pkgname}-${pkgver}
+ # remove curl/types.h include
+ patch -Np0 -i ${srcdir}/curlfix.patch
+
# http://www.nabble.com/Random-rounding-errors-td16010966.html
FFLAGS="-O -ffloat-store" \
- # Avoid build failure due to missing curl/types.h
- sed -i "/curl\/types.h/d" src/DLD-FUNCTIONS/urlwrite.cc
-
./configure --prefix=/usr --libexecdir=/usr/lib \
- --enable-shared --disable-static --disable-docs
+ --enable-shared --disable-static
- make
+ LANG=C make
}
package(){
diff --git a/extra/octave/curlfix.patch b/extra/octave/curlfix.patch
new file mode 100644
index 000000000..26f3d92f9
--- /dev/null
+++ b/extra/octave/curlfix.patch
@@ -0,0 +1,10 @@
+--- src/DLD-FUNCTIONS/urlwrite.cc.old 2011-07-02 16:39:22.466603778 +0200
++++ src/DLD-FUNCTIONS/urlwrite.cc 2011-07-02 16:39:54.543269859 +0200
+@@ -52,7 +52,6 @@
+
+ #include <curl/curl.h>
+ #include <curl/curlver.h>
+-#include <curl/types.h>
+ #include <curl/easy.h>
+
+ static int
diff --git a/extra/perl-fcgi/PKGBUILD b/extra/perl-fcgi/PKGBUILD
index 61784de7e..458065068 100644
--- a/extra/perl-fcgi/PKGBUILD
+++ b/extra/perl-fcgi/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 125303 2011-05-25 19:27:52Z remy $
+# $Id: PKGBUILD 131681 2011-07-13 14:35:40Z giovanni $
# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: François Charette <firmicus ατ gmx δοτ net>
pkgname=perl-fcgi
-pkgver=0.72
+pkgver=0.73
pkgrel=1
pkgdesc="Fast CGI"
arch=('i686' 'x86_64' 'mips64el')
@@ -12,7 +12,7 @@ license=('GPL' 'PerlArtistic')
depends=('perl>=5.14')
options=('!emptydirs')
source=(http://www.cpan.org/CPAN/authors/id/F/FL/FLORA/FCGI-${pkgver}.tar.gz)
-md5sums=('7b793e177caa93d972c6fb7ebe7c7ae1')
+md5sums=('b55c8b93ccd175b3c0e4473f1a6c0bdd')
build() {
cd "${srcdir}/FCGI-${pkgver}"
diff --git a/extra/perl-time-hires/PKGBUILD b/extra/perl-time-hires/PKGBUILD
index 196430b4c..3f80db457 100644
--- a/extra/perl-time-hires/PKGBUILD
+++ b/extra/perl-time-hires/PKGBUILD
@@ -1,25 +1,35 @@
-# $Id: PKGBUILD 125291 2011-05-25 19:23:52Z foutrelis $
+# $Id: PKGBUILD 131686 2011-07-13 14:46:13Z giovanni $
# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: mezcal <fila at pruda dot com>
pkgname=perl-time-hires
-pkgver=1.9721
-pkgrel=4
+pkgver=1.9724
+pkgrel=1
pkgdesc="Perl module: high resolution time, sleep, and alarm"
arch=('i686' 'x86_64' 'mips64el')
license=('PerlArtistic')
url="http://search.cpan.org/dist/Time-HiRes/"
depends=('perl')
options=(!emptydirs)
-source=(http://search.cpan.org/CPAN/authors/id/J/JH/JHI/Time-HiRes-${pkgver}.tar.gz)
-md5sums=('bf09911a36b9481537c8e0d28fbb3aaf')
+source=("http://search.cpan.org/CPAN/authors/id/Z/ZE/ZEFRAM/Time-HiRes-${pkgver}.tar.gz")
+md5sums=('6467b001de9ba5c01785ebbb8ea247cb')
build() {
cd "${srcdir}/Time-HiRes-${pkgver}"
- # install module in vendor directories.
- perl Makefile.PL INSTALLDIRS=vendor
- make
- make test
- make install DESTDIR="${pkgdir}"
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+
+ make
+}
+
+check() {
+ cd "${srcdir}/Time-HiRes-${pkgver}"
+
+ make test
+}
+
+package() {
+ cd "${srcdir}/Time-HiRes-${pkgver}"
+
+ make install DESTDIR="${pkgdir}"
}
diff --git a/extra/putty/PKGBUILD b/extra/putty/PKGBUILD
index de94d8303..addb040dc 100644
--- a/extra/putty/PKGBUILD
+++ b/extra/putty/PKGBUILD
@@ -1,26 +1,26 @@
-# $Id: PKGBUILD 57024 2009-10-31 09:56:01Z allan $
-# Maintainer: damir <damir@archlinux.org>
-# Contributor: Andreas Schweitzer <andy@bootblock.de>
-# with ideas by Michael Baehr
+# $Id: PKGBUILD 131725 2011-07-14 01:51:53Z eric $
+# Maintainer: Eric Bélanger <eric@archlinux.org>
pkgname=putty
-pkgver=0.60
-pkgrel=2
-pkgdesc="A terminal integrated SSH/Telnet client known from Windows."
+pkgver=0.61
+pkgrel=1
+pkgdesc="A terminal integrated SSH/Telnet client"
arch=('i686' 'x86_64' 'mips64el')
url="http://www.chiark.greenend.org.uk/~sgtatham/putty/"
-license=('custom')
-depends=('gtk')
-#source=(ftp://ftp.chiark.greenend.org.uk/users/sgtatham/putty-latest/$pkgname-$pkgver.tar.gz)
-source=("http://the.earth.li/~sgtatham/putty/latest/putty-$pkgver.tar.gz")
-md5sums=('07e65fd98b16d115ae38a180bfb242e2')
+license=('MIT')
+depends=('gtk2')
+source=(http://the.earth.li/~sgtatham/putty/${pkgver}/${pkgname}-${pkgver}.tar.gz)
+md5sums=('db0e37f6b82ea62f0ace87927d29b2a4')
+sha1sums=('cbb82fd392142e3455e859ca8bc7b1e61b246204')
build() {
- export CFLAGS="$CFLAGS -fno-strict-aliasing"
- cd $srcdir/$pkgname-$pkgver/unix
+ cd "${srcdir}/${pkgname}-${pkgver}/unix"
./configure --prefix=/usr
- make || return 1
- install -dm755 $pkgdir/usr/{bin,share/man/man1}
- make DESTDIR=$pkgdir install
- install -D -m644 ../LICENCE $pkgdir/usr/share/licenses/$pkgname/LICENSE
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}/unix"
+ make DESTDIR="${pkgdir}" install
+ install -D -m644 ../LICENCE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
diff --git a/extra/python/PKGBUILD b/extra/python/PKGBUILD
index 478a2dfcb..948c3f4eb 100644
--- a/extra/python/PKGBUILD
+++ b/extra/python/PKGBUILD
@@ -1,39 +1,41 @@
-# $Id: PKGBUILD 119805 2011-04-15 11:51:39Z stephane $
+# $Id: PKGBUILD 131166 2011-07-11 13:06:25Z stephane $
# Maintainer: Stéphane Gaudreault <stephane@archlinux.org>
# Maintainer: Allan McRae <allan@archlinux.org>
-# Contributer: Jason Chu <jason@archlinux.org>
+# Contributor: Jason Chu <jason@archlinux.org>
pkgname=python
-pkgver=3.2
-pkgrel=2
+pkgver=3.2.1
+pkgrel=1
_pybasever=3.2
pkgdesc="Next generation of the python high-level scripting language"
arch=('i686' 'x86_64' 'mips64el')
license=('custom')
url="http://www.python.org/"
depends=('expat' 'bzip2' 'gdbm' 'openssl' 'libffi' 'zlib')
+makedepends=('tk' 'sqlite3' 'valgrind')
+[ "$CARCH" = "mips64el" ] && \
makedepends=('tk' 'sqlite3')
-optdepends=('tk: for tkinter')
+optdepends=('tk: for tkinter' 'sqlite3')
provides=('python3')
replaces=('python3')
options=('!makeflags')
-source=(http://www.python.org/ftp/python/${_pybasever}/Python-${pkgver}.tar.xz
- CVE-2011-1521.patch)
-sha1sums=('55a3a9d39f31563370d0c494373bb6d38e4d1a00'
- '561161ce5ae3a91254352c09a33e3e4434444e14')
+source=(http://www.python.org/ftp/python/${pkgver%rc*}/Python-${pkgver}.tar.xz)
+sha1sums=('ab5cf4a4c21abe590dea87473a1dee6820699d79')
+
build() {
cd "${srcdir}/Python-${pkgver}"
+ # FS#23997
+ sed -i -e "s|^#.* /usr/local/bin/python|#!/usr/bin/python|" Lib/cgi.py
+
# Ensure that we are using the system copy of various libraries (expat, zlib and libffi),
# rather than copies shipped in the tarball
rm -r Modules/expat
rm -r Modules/zlib
rm -r Modules/_ctypes/{darwin,libffi}*
- # urllib Security Vulnerability
- # http://blog.python.org/2011/04/urllib-security-vulnerability-fixed.html
- patch -Np1 -i ../CVE-2011-1521.patch
+ if [ "$CARCH" = "mips64el" ]; then
./configure --prefix=/usr \
--enable-shared \
--with-threads \
@@ -43,6 +45,17 @@ build() {
--with-wide-unicode \
--with-system-expat \
--with-system-ffi
+ else
+ ./configure --prefix=/usr \
+ --enable-shared \
+ --with-threads \
+ --with-computed-gotos \
+ --enable-ipv6 \
+ --with-valgrind \
+ --with-wide-unicode \
+ --with-system-expat \
+ --with-system-ffi
+ fi
make
}
@@ -69,7 +82,7 @@ package() {
"${pkgdir}/usr/lib/python${_pybasever}/config-${_pybasever}mu/libpython${_pybasever}mu.so"
# Clean-up reference to build directory
- sed -i "s#$srcdir/Python-${pkgver}:##" "$pkgdir/usr/lib/python${_pybasever}/config-${_pybasever}mu/Makefile"
+ sed -i "s|$srcdir/Python-${pkgver}:||" "$pkgdir/usr/lib/python${_pybasever}/config-${_pybasever}mu/Makefile"
# License
install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
diff --git a/extra/qwtplot3d/PKGBUILD b/extra/qwtplot3d/PKGBUILD
index 197034720..8b1c1c067 100644
--- a/extra/qwtplot3d/PKGBUILD
+++ b/extra/qwtplot3d/PKGBUILD
@@ -1,42 +1,42 @@
-# $Id: PKGBUILD 64675 2010-01-21 21:29:39Z eric $
+# $Id: PKGBUILD 131790 2011-07-15 09:16:14Z ronald $
# Maintainer: damir <damir@archlinux.org>
pkgname=qwtplot3d
pkgver=0.2.7
-origver=0.2.7
-pkgrel=2
+pkgrel=3
pkgdesc="Qt/OpenGL-based C++ programming library containing 3d-widgets"
arch=("i686" "x86_64" 'mips64el')
license=('custom:zlib')
url="http://qwtplot3d.sourceforge.net/"
-depends=('qt>=4.3' 'qwt>=5.0.2')
-source=("http://downloads.sourceforge.net/sourceforge/qwtplot3d/qwtplot3d-$origver.tgz"
+depends=('qt' 'qwt' 'mesa')
+source=("http://downloads.sourceforge.net/sourceforge/qwtplot3d/qwtplot3d-$pkgver.tgz"
qwtplot3d-gcc44.patch)
-md5sums=('2f14660152e2e26bfeaaeec479ed9f2b' '92ad261ed5344bc773cba05b324cfe74')
sha1sums=('4463fafb8420a91825e165da7a296aaabd70abea' '52fa169b651a98550f8a8391ddf52e0eaeb2c215')
build() {
- cd $startdir/src/$pkgname
- patch -p1 < ../qwtplot3d-gcc44.patch || return 1
- # . /etc/profile.d/qt3.sh
+ cd ${srcdir}/${pkgname}
+ patch -p1 < ../qwtplot3d-gcc44.patch
+
# build qwt:
qmake qwtplot3d.pro
- make || return 1
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}
# install qwtplot3d: (by hand, because the Makefile do not provide a "install:")
- mkdir -p $startdir/pkg/usr/{include/qwtplot3d,lib}
- # mkdir -p $startdir/pkg/usr/man/man3 .. no manpages yet
+ install -d ${pkgdir}/usr/{include/qwtplot3d,lib}
for n in include/* ; do
- cp -d $n $startdir/pkg/usr/include/qwtplot3d || return 1
+ cp -d $n ${pkgdir}/usr/include/qwtplot3d
done
for n in lib/libqwtplot3d.so* ; do
- cp -d $n $startdir/pkg/usr/lib || return 1
+ cp -d $n ${pkgdir}/usr/lib
done
- # for n in doc/man/man3/*.3 ; do
- # install -m 644 $n $startdir/pkg/usr/man/man3
- # done
+ # install custom license
+ install -Dm644 ${srcdir}/${pkgname}/COPYING ${pkgdir}/usr/share/licenses/qwtplot3d/LICENSE
}
diff --git a/extra/ruby/PKGBUILD b/extra/ruby/PKGBUILD
index e4eb89384..a04846508 100644
--- a/extra/ruby/PKGBUILD
+++ b/extra/ruby/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 127449 2011-06-15 09:33:37Z eric $
+# $Id: PKGBUILD 131846 2011-07-16 03:10:20Z eric $
# Maintainer:
# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: John Proctor <jproctor@prium.net>
@@ -6,8 +6,8 @@
pkgbase=ruby
pkgname=('ruby' 'ruby-docs')
-pkgver=1.9.2_p180
-pkgrel=3
+pkgver=1.9.2_p290
+pkgrel=1
pkgdesc="An object-oriented language for quick and easy programming"
arch=('i686' 'x86_64' 'mips64el')
url="http://www.ruby-lang.org/en/"
@@ -17,16 +17,11 @@ makedepends=('openssl' 'tk' 'libffi' 'doxygen' 'graphviz')
makedepends=('openssl' 'tk' 'libffi' 'doxygen')
options=('!emptydirs')
source=("ftp://ftp.ruby-lang.org/pub/${pkgbase}/1.9/${pkgbase}-${pkgver//_/-}.tar.bz2")
-md5sums=('68510eeb7511c403b91fe5476f250538')
-sha1sums=('10824b44c8060c7b9b5afc0b3519a1e9f02f7fe5')
build() {
cd "${srcdir}/${pkgbase}-${pkgver//_/-}"
- ./configure --prefix=/usr \
- --sysconfdir=/etc \
- --enable-shared \
- --enable-pthread \
- --disable-rpath
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --enable-shared --enable-pthread --disable-rpath
make
}
@@ -43,7 +38,6 @@ package_ruby() {
package_ruby-docs() {
pkgdesc="Documentation files for ruby"
- depends=('ruby')
cd "${srcdir}/${pkgbase}-${pkgver//_/-}"
make DESTDIR="${pkgdir}" install-doc install-capi
diff --git a/extra/screen/PKGBUILD b/extra/screen/PKGBUILD
index 9d8ed79e2..1c6224652 100644
--- a/extra/screen/PKGBUILD
+++ b/extra/screen/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 114599 2011-03-14 13:43:00Z allan $
+# $Id: PKGBUILD 131720 2011-07-14 01:42:52Z allan $
# Maintainer: Allan McRae <allan@archlinux.org>
# Committer: dorphell <dorphell@gmx.net>
pkgname=screen
pkgver=4.0.3
-pkgrel=11
+pkgrel=12
_ptygroup=5 #the UID of our PTY/TTY group
pkgdesc="Full-screen window manager that multiplexes a physical terminal"
arch=('i686' 'x86_64' 'mips64el')
@@ -30,7 +30,8 @@ build() {
./configure --prefix=/usr --enable-pam \
--with-sys-screenrc=/etc/screenrc --enable-colors256 \
- --enable-rxvt_osc --with-pty-group=$_ptygroup \
+ --enable-rxvt_osc --enable-telnet \
+ --with-pty-group=$_ptygroup \
--mandir=/usr/share/man --infodir=/usr/share/info
make
}
diff --git a/extra/smb4k/PKGBUILD b/extra/smb4k/PKGBUILD
index 8492bf282..a44cc4263 100644
--- a/extra/smb4k/PKGBUILD
+++ b/extra/smb4k/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 116040 2011-03-22 16:37:49Z giovanni $
+# $Id: PKGBUILD 131691 2011-07-13 14:56:55Z giovanni $
# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: Emanuele Rampichini <emanuele.rampichini@gmail.com>
pkgname=smb4k
-pkgver=0.10.10
+pkgver=0.10.70
pkgrel=1
pkgdesc="A KDE program that browses samba shares"
arch=('i686' 'x86_64' 'mips64el')
@@ -13,7 +13,7 @@ depends=('kdebase-runtime')
makedepends=('cmake' 'automoc4' 'docbook-xsl')
install=smb4k.install
source=("http://download.berlios.de/smb4k/${pkgname}-${pkgver}.tar.bz2")
-md5sums=('637ca913ffe9ac24a4dd09d4eddf0dcf')
+md5sums=('30f916d8f72fc43a9eca8f344960b43a')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/extra/sshfs/PKGBUILD b/extra/sshfs/PKGBUILD
index 283ffe41c..64231d518 100644
--- a/extra/sshfs/PKGBUILD
+++ b/extra/sshfs/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 68119 2010-02-10 20:04:33Z giovanni $
+# $Id: PKGBUILD 131653 2011-07-13 12:06:33Z giovanni $
# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
pkgname=sshfs
-pkgver=2.2
-pkgrel=3
+pkgver=2.3
+pkgrel=1
pkgdesc="FUSE client based on the SSH File Transfer Protocol"
arch=('i686' 'x86_64' 'mips64el')
url="http://fuse.sourceforge.net/sshfs.html"
@@ -11,12 +11,17 @@ license=('GPL')
depends=('fuse' 'glib2' 'openssh')
makedepends=('pkgconfig')
source=(http://downloads.sourceforge.net/sourceforge/fuse/${pkgname}-fuse-${pkgver}.tar.gz)
-md5sums=('26e9206eb5169e87e6f95f54bc005a4f')
+md5sums=('f72f12fda186dbd92382f70d25662ed3')
build() {
cd "${srcdir}/${pkgname}-fuse-${pkgver}"
./configure --prefix=/usr
- make || return 1
- make DESTDIR="${pkgdir}" install || return 1
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-fuse-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
}
diff --git a/extra/vino/PKGBUILD b/extra/vino/PKGBUILD
index 4401b8086..d3fdb3962 100644
--- a/extra/vino/PKGBUILD
+++ b/extra/vino/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 122171 2011-05-02 16:51:49Z ibiru $
+# $Id: PKGBUILD 131782 2011-07-15 06:46:07Z ibiru $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=vino
-pkgver=3.0.2
+pkgver=3.0.3
pkgrel=1
pkgdesc="a VNC server for the GNOME desktop"
arch=('i686' 'x86_64' 'mips64el')
@@ -13,8 +13,8 @@ groups=('gnome-extra')
url="http://www.gnome.org"
options=(!emptydirs)
install=vino.install
-source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2)
-sha256sums=('ca2d72f70d2a94e31e63d0267ec41820aab168c6545954c355a609f3c6c31923')
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz)
+sha256sums=('0e58027d3c10649da61445cdd5205e31c4d1aa0b63f4911de3db4e7052d7bbfb')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/extra/vlc/PKGBUILD b/extra/vlc/PKGBUILD
index 43d28f429..654c7d390 100644
--- a/extra/vlc/PKGBUILD
+++ b/extra/vlc/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 129958 2011-06-30 16:26:39Z giovanni $
+# $Id: PKGBUILD 131876 2011-07-16 10:50:22Z giovanni $
# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: Sarah Hay <sarahhay@mb.sympatico.ca>
# Contributor: Martin Sandsmark <martin.sandsmark@kde.org>
pkgname=vlc
-pkgver=1.1.10
-pkgrel=6
+pkgver=1.1.11
+pkgrel=1
pkgdesc="A multi-platform MPEG, VCD/DVD, and DivX player"
arch=('i686' 'x86_64')
url="http://www.videolan.org/vlc/"
@@ -34,19 +34,14 @@ conflicts=('vlc-plugin')
replaces=('vlc-plugin')
options=('!libtool')
install=vlc.install
-source=("http://download.videolan.org/pub/videolan/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.bz2"
- vlc-1.1.10-libavformat.patch)
-md5sums=('066cb94b1e3aa848d828121354d6be4d'
- '9b82571a594e08e67fbae9c96c3f3ed7')
+source=("http://download.videolan.org/pub/videolan/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.bz2")
+md5sums=('a64846d6f21ea179ae8e8bfb6f9447fe')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
sed -i -e 's:truetype/freefont:TTF:g' modules/misc/freetype.c
- # FS#24872
- patch -Np1 -i ${srcdir}/vlc-1.1.10-libavformat.patch
-
./configure --prefix=/usr \
--disable-rpath \
--enable-faad \
diff --git a/multilib-testing/lib32-mesa/linking_fix.patch b/multilib-testing/lib32-mesa/linking_fix.patch
new file mode 100644
index 000000000..34ed7902d
--- /dev/null
+++ b/multilib-testing/lib32-mesa/linking_fix.patch
@@ -0,0 +1,22 @@
+From 5fe5d236c26b3b2428bc7395304e40cf21d3d3e1 Mon Sep 17 00:00:00 2001
+From: Chia-I Wu <olv@lunarg.com>
+Date: Wed, 13 Jul 2011 07:25:46 +0000
+Subject: targets/egl-static: fix a linking error
+
+rbug is always linked in and it needs libpthread.
+---
+diff --git a/src/gallium/targets/egl-static/Makefile b/src/gallium/targets/egl-static/Makefile
+index 832d7ba..69e7eec 100644
+--- a/src/gallium/targets/egl-static/Makefile
++++ b/src/gallium/targets/egl-static/Makefile
+@@ -42,7 +42,7 @@ egl_CPPFLAGS += \
+ -I$(TOP)/src/egl/main \
+ -D_EGL_MAIN=_eglMain
+ egl_LIBS += $(TOP)/src/gallium/state_trackers/egl/libegl.a
+-egl_SYS += $(LIBUDEV_LIBS) $(DLOPEN_LIBS) -lEGL -lm
++egl_SYS += $(LIBUDEV_LIBS) $(DLOPEN_LIBS) -lEGL -lm -lpthread
+
+ # EGL platforms
+ ifneq ($(findstring x11, $(EGL_PLATFORMS)),)
+--
+cgit v0.8.3-6-g21f6
diff --git a/staging/kdeplasma-addons/PKGBUILD b/staging/kdeplasma-addons/PKGBUILD
new file mode 100644
index 000000000..a100ad0a1
--- /dev/null
+++ b/staging/kdeplasma-addons/PKGBUILD
@@ -0,0 +1,609 @@
+# $Id: PKGBUILD 131799 2011-07-15 11:47:07Z ronald $
+# Maintainer: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Pierre Schmitz <pierre@archlinux.de>
+
+pkgbase=kdeplasma-addons
+pkgname=('kdeplasma-addons-applets-bball'
+ 'kdeplasma-addons-applets-binary-clock'
+ 'kdeplasma-addons-applets-blackboard'
+ 'kdeplasma-addons-applets-bookmarks'
+ 'kdeplasma-addons-applets-bubblemon'
+ 'kdeplasma-addons-applets-calculator'
+ 'kdeplasma-addons-applets-charselect'
+ 'kdeplasma-addons-applets-comic'
+ 'kdeplasma-addons-applets-community'
+ 'kdeplasma-addons-applets-dict'
+ 'kdeplasma-addons-applets-eyes'
+ 'kdeplasma-addons-applets-fifteenpuzzle'
+ 'kdeplasma-addons-applets-filewatcher'
+ 'kdeplasma-addons-applets-frame'
+ 'kdeplasma-addons-applets-fuzzy-clock'
+ 'kdeplasma-addons-applets-incomingmsg'
+ 'kdeplasma-addons-applets-kdeobservatory'
+ 'kdeplasma-addons-applets-kimpanel'
+ 'kdeplasma-addons-applets-knowledgebase'
+ 'kdeplasma-addons-applets-kolourpicker'
+ 'kdeplasma-addons-applets-konqprofiles'
+ 'kdeplasma-addons-applets-konsoleprofiles'
+ 'kdeplasma-addons-applets-lancelot'
+ 'kdeplasma-addons-applets-leavenote'
+ 'kdeplasma-addons-applets-life'
+ 'kdeplasma-addons-applets-luna'
+ 'kdeplasma-addons-applets-magnifique'
+ 'kdeplasma-addons-applets-mediaplayer'
+ 'kdeplasma-addons-applets-microblog'
+ 'kdeplasma-addons-applets-news'
+ 'kdeplasma-addons-applets-notes'
+ 'kdeplasma-addons-applets-nowplaying'
+ 'kdeplasma-addons-applets-paste'
+ 'kdeplasma-addons-applets-pastebin'
+ 'kdeplasma-addons-applets-plasmaboard'
+ 'kdeplasma-addons-applets-previewer'
+ 'kdeplasma-addons-applets-qalculate'
+ 'kdeplasma-addons-applets-rememberthemilk'
+ 'kdeplasma-addons-applets-rssnow'
+ 'kdeplasma-addons-applets-showdashboard'
+ 'kdeplasma-addons-applets-showdesktop'
+ 'kdeplasma-addons-applets-social-news'
+ 'kdeplasma-addons-applets-spellcheck'
+ 'kdeplasma-addons-applets-systemloadviewer'
+ 'kdeplasma-addons-applets-timer'
+ 'kdeplasma-addons-applets-unitconverter'
+ 'kdeplasma-addons-applets-weather'
+ 'kdeplasma-addons-applets-weatherstation'
+ 'kdeplasma-addons-applets-webslice'
+ 'kdeplasma-addons-containments'
+ 'kdeplasma-addons-libs'
+ 'kdeplasma-addons-runners-audioplayercontrol'
+ 'kdeplasma-addons-runners-browserhistory'
+ 'kdeplasma-addons-runners-characters'
+ 'kdeplasma-addons-runners-contacts'
+ 'kdeplasma-addons-runners-converter'
+ 'kdeplasma-addons-runners-datetime'
+ 'kdeplasma-addons-runners-events'
+ 'kdeplasma-addons-runners-katesessions'
+ 'kdeplasma-addons-runners-konquerorsessions'
+ 'kdeplasma-addons-runners-konsolesessions'
+ 'kdeplasma-addons-runners-kopete'
+ 'kdeplasma-addons-runners-mediawiki'
+ 'kdeplasma-addons-runners-spellchecker'
+ 'kdeplasma-addons-wallpapers-mandelbrot'
+ 'kdeplasma-addons-wallpapers-marble'
+ 'kdeplasma-addons-wallpapers-pattern'
+ 'kdeplasma-addons-wallpapers-virus'
+ 'kdeplasma-addons-wallpapers-weather')
+pkgver=4.6.5
+pkgrel=2
+arch=('i686' 'x86_64')
+url='http://www.kde.org'
+license=('GPL' 'LGPL')
+groups=('kde' 'kdeplasma-addons')
+makedepends=('pkgconfig' 'cmake' 'automoc4' 'kdebase-workspace' 'kdegraphics-libs'
+ 'kdeedu-marble' 'eigen' 'scim' 'qwt' 'boost')
+source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2"
+ "kdeobservatory-qwt6.patch")
+sha1sums=('3bce5e41160ec318dbea9128c3e9104a4428deb8'
+ '140b2611fb23aed583c2691a77870e5c48152409')
+
+build() {
+ cd ${srcdir}
+
+ # qwt 6.0.0 patch
+ patch -Np0 -i ${srcdir}/kdeobservatory-qwt6.patch
+
+ mkdir build
+ cd build
+ cmake ../${pkgbase}-${pkgver} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_SKIP_RPATH=ON \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package_kdeplasma-addons-applets-bball() {
+ pkgdesc='A bouncy ball for plasma'
+ depends=('kdebase-workspace')
+ install='kdeplasma-addons-applets.install'
+ cd $srcdir/build/applets/bball
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-binary-clock() {
+ pkgdesc='Time displayed in binary format'
+ depends=('kdebase-workspace')
+ cd $srcdir/build/applets/binary-clock
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-blackboard() {
+ pkgdesc='Black Board'
+ depends=('kdebase-workspace')
+ cd $srcdir/build/applets/blackboard
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-bookmarks() {
+ pkgdesc='Quick Access to the Bookmarks'
+ depends=('kdebase-workspace')
+ cd $srcdir/build/applets/bookmarks
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-bubblemon() {
+ pkgdesc='A pretty bubble that monitors your system.'
+ depends=('kdebase-workspace')
+ cd $srcdir/build/applets/bubblemon
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-calculator() {
+ pkgdesc='Calculate simple sums'
+ depends=('kdebase-workspace')
+ cd $srcdir/build/applets/calculator
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-charselect() {
+ pkgdesc='View, select, and copy characters from a font collection'
+ depends=('kdebase-workspace')
+ cd $srcdir/build/applets/charselect
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-comic() {
+ pkgdesc='View comic strips from the Internet'
+ depends=('kdebase-workspace' 'kdeplasma-addons-libs')
+ cd $srcdir/build/applets/comic
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-community() {
+ pkgdesc='Communicate using the Social Desktop'
+ depends=('kdebase-workspace')
+ cd $srcdir/build/applets/community
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-dict() {
+ pkgdesc='Look up the meaning of words and their translation into different languages'
+ depends=('kdebase-workspace')
+ cd $srcdir/build/applets/dict
+ make DESTDIR=$pkgdir install
+ # FIXME
+ # /usr/share/icons/oxygen/scalable/apps/accessories-dictionary.svgz
+ rm -rf $pkgdir/usr/share/icons
+}
+
+package_kdeplasma-addons-applets-eyes() {
+ pkgdesc='XEyes clone'
+ depends=('kdebase-workspace')
+ install='kdeplasma-addons-applets.install'
+ cd $srcdir/build/applets/eyes
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-fifteenpuzzle() {
+ pkgdesc='Put the pieces in order'
+ depends=('kdebase-workspace')
+ install='kdeplasma-addons-applets.install'
+ cd $srcdir/build/applets/fifteenPuzzle
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-filewatcher() {
+ pkgdesc='Watch for changes in specified files'
+ depends=('kdebase-workspace')
+ cd $srcdir/build/applets/fileWatcher
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-frame() {
+ pkgdesc='Display your favorite pictures'
+ depends=('kdebase-workspace' 'kdegraphics-libs')
+ cd $srcdir/build/applets/frame
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-fuzzy-clock() {
+ pkgdesc='Time displayed in a less precise format'
+ depends=('kdebase-workspace')
+ cd $srcdir/build/applets/fuzzy-clock
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-incomingmsg() {
+ pkgdesc='Notification of new messages'
+ depends=('kdebase-workspace')
+ cd $srcdir/build/applets/incomingmsg
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-kdeobservatory() {
+ pkgdesc='Visualize the KDE ecosystem'
+ depends=('kdebase-workspace' 'qwt')
+ install='kdeplasma-addons-applets.install'
+ cd $srcdir/build/applets/kdeobservatory
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-kimpanel() {
+ pkgdesc='A generic input method panel for Oriental languages'
+ depends=('kdebase-workspace')
+ optdepends=('scim: SCIM backend'
+ 'fcitx: FCITX backend')
+ cd $srcdir/build/applets/kimpanel
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-knowledgebase() {
+ pkgdesc='Opendesktop Knowledgebase'
+ depends=('kdebase-workspace')
+ cd $srcdir/build/applets/knowledgebase
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-kolourpicker() {
+ pkgdesc='Pick a color from the desktop'
+ depends=('kdebase-workspace')
+ cd $srcdir/build/applets/kolourpicker
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-konqprofiles() {
+ pkgdesc='List and launch Konqueror profiles'
+ depends=('kdebase-workspace')
+ cd $srcdir/build/applets/konqprofiles
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-konsoleprofiles() {
+ pkgdesc='List and launch Konsole profiles'
+ depends=('kdebase-workspace')
+ cd $srcdir/build/applets/konsoleprofiles
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-lancelot() {
+ pkgdesc='Launcher to start applications'
+ depends=('kdebase-workspace' 'kdeplasma-addons-libs')
+ replaces=('lancelot')
+ provides=('lancelot')
+ conflicts=('lancelot')
+ install='kdeplasma-addons-applets-lancelot.install'
+ cd $srcdir/build/applets/lancelot
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-leavenote() {
+ pkgdesc='Leave notes for users while they are away'
+ depends=('kdebase-workspace')
+ cd $srcdir/build/applets/leavenote
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-life() {
+ pkgdesc='Life'
+ depends=('kdebase-workspace')
+ install='kdeplasma-addons-applets.install'
+ cd $srcdir/build/applets/life
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-luna() {
+ pkgdesc='Display moon phases for your location'
+ depends=('kdebase-workspace')
+ install='kdeplasma-addons-applets.install'
+ cd $srcdir/build/applets/luna
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-magnifique() {
+ pkgdesc='A magnification glass for the Plasma desktop'
+ depends=('kdebase-workspace')
+ cd $srcdir/build/applets/magnifique
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-mediaplayer() {
+ pkgdesc='Widget that can play video and sound'
+ depends=('kdebase-workspace')
+ cd $srcdir/build/applets/mediaplayer
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-microblog() {
+ pkgdesc='Update and view your microblog status.'
+ depends=('kdebase-workspace' 'kdeplasma-addons-libs')
+ cd $srcdir/build/applets/microblog
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-news() {
+ pkgdesc='Show news from various sources'
+ depends=('kdebase-workspace')
+ cd $srcdir/build/applets/news
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-notes() {
+ pkgdesc='Desktop sticky notes'
+ depends=('kdebase-workspace')
+ cd $srcdir/build/applets/notes
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-nowplaying() {
+ pkgdesc='Displays currently playing audio'
+ depends=('kdebase-workspace')
+ cd $srcdir/build/applets/nowplaying
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-paste() {
+ pkgdesc='Paste text snippets'
+ depends=('kdebase-workspace')
+ cd $srcdir/build/applets/paste
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-pastebin() {
+ pkgdesc='Paste text/images to a remote server'
+ depends=('kdebase-workspace')
+ cd $srcdir/build/applets/pastebin
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-plasmaboard() {
+ pkgdesc='A virtual, on-screen keyboard'
+ depends=('kdebase-workspace')
+ cd $srcdir/build/applets/plasmaboard
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-previewer() {
+ pkgdesc='Preview This File'
+ depends=('kdebase-workspace')
+ install='kdeplasma-addons-applets.install'
+ cd $srcdir/build/applets/previewer
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-qalculate() {
+ pkgdesc='A powerful mathematical equation solver'
+ depends=('kdebase-workspace')
+ install='kdeplasma-addons-applets.install'
+ cd $srcdir/build/applets/qalculate
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-rememberthemilk() {
+ pkgdesc='Remember The Milk Todo list applet'
+ depends=('kdebase-workspace' 'kdeplasma-addons-libs')
+ cd $srcdir/build/applets/rememberthemilk
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-rssnow() {
+ pkgdesc='Show news from various sources'
+ depends=('kdebase-workspace')
+ cd $srcdir/build/applets/rssnow
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-showdashboard() {
+ pkgdesc='Show the Plasma widget dashboard above other windows'
+ depends=('kdebase-workspace')
+ cd $srcdir/build/applets/showdashboard
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-showdesktop() {
+ pkgdesc='Show the Plasma desktop'
+ depends=('kdebase-workspace')
+ cd $srcdir/build/applets/showdesktop
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-social-news() {
+ pkgdesc='Stay informed with the Social Desktop'
+ replaces=('kdeplasma-addons-applets-opendesktop' 'kdeplasma-addons-applets-opendesktop-activities')
+ conflicts=('kdeplasma-addons-applets-opendesktop' 'kdeplasma-addons-applets-opendesktop-activities')
+ depends=('kdebase-workspace')
+ cd $srcdir/build/applets/social-news
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-spellcheck() {
+ pkgdesc='Fast spell checking'
+ depends=('kdebase-workspace')
+ cd $srcdir/build/applets/spellcheck
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-systemloadviewer() {
+ pkgdesc='Tiny CPU/RAM/Swap monitor'
+ depends=('kdebase-workspace')
+ cd $srcdir/build/applets/systemloadviewer
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-timer() {
+ pkgdesc='Countdown over a specified time period'
+ depends=('kdebase-workspace')
+ cd $srcdir/build/applets/timer
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-unitconverter() {
+ pkgdesc='Plasmoid for converting units'
+ depends=('kdebase-workspace' 'kdeplasma-addons-libs')
+ cd $srcdir/build/applets/unitconverter
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-weather() {
+ pkgdesc='Displays Weather information'
+ depends=('kdebase-workspace' 'kdeplasma-addons-libs')
+ cd $srcdir/build/applets/weather
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-weatherstation() {
+ pkgdesc='Weather reports with an LCD display style'
+ depends=('kdebase-workspace' 'kdeplasma-addons-libs')
+ cd $srcdir/build/applets/weatherstation
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-applets-webslice() {
+ pkgdesc='Show a part of a webpage'
+ depends=('kdebase-workspace' 'kdeplasma-addons-libs')
+ cd $srcdir/build/applets/webslice
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-containments() {
+ pkgdesc='Activities types for Plasma shells'
+ depends=('kdebase-workspace')
+ cd $srcdir/build/containments
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-libs() {
+ pkgdesc='Plasma Addon Library'
+ depends=('kdebase-workspace')
+ groups=()
+ replaces=('kdeplasma-addons-dataengines')
+ provides=('kdeplasma-addons-dataengines')
+ conflicts=('kdeplasma-addons-dataengines')
+ cd $srcdir/build/libs
+ make DESTDIR=$pkgdir install
+ cd $srcdir/build/dataengines
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-runners-audioplayercontrol() {
+ pkgdesc='Allows to control MPRIS audio players (it is able to search through Amarok´s collection, too)'
+ depends=('kdebase-workspace')
+ cd $srcdir/build/runners/audioplayercontrol
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-runners-browserhistory() {
+ pkgdesc='Searches in Konqueror´s history'
+ depends=('kdebase-workspace')
+ cd $srcdir/build/runners/browserhistory
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-runners-characters() {
+ pkgdesc='special Characters'
+ depends=('kdebase-workspace')
+ cd $srcdir/build/runners/characters
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-runners-contacts() {
+ pkgdesc='Finds entries in your address book'
+ depends=('kdebase-workspace')
+ cd $srcdir/build/runners/contacts
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-runners-converter() {
+ pkgdesc='Convert values to different units'
+ depends=('kdebase-workspace' 'kdeplasma-addons-libs')
+ cd $srcdir/build/runners/converter
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-runners-datetime() {
+ pkgdesc='The current date and time, locally or in any timezone'
+ depends=('kdebase-workspace')
+ cd $srcdir/build/runners/datetime
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-runners-events() {
+ pkgdesc='Calendar Events runner'
+ depends=('kdebase-workspace')
+ cd $srcdir/build/runners/events
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-runners-katesessions() {
+ pkgdesc='Matches Kate Sessions'
+ depends=('kdebase-workspace')
+ cd $srcdir/build/runners/katesessions
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-runners-konquerorsessions() {
+ pkgdesc='Matches Konqueror Sessions'
+ depends=('kdebase-workspace')
+ cd $srcdir/build/runners/konquerorsessions
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-runners-konsolesessions() {
+ pkgdesc='Matches Konsole Sessions'
+ depends=('kdebase-workspace')
+ cd $srcdir/build/runners/konsolesessions
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-runners-kopete() {
+ pkgdesc='Kopete Contact runner'
+ depends=('kdebase-workspace')
+ cd $srcdir/build/runners/kopete
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-runners-mediawiki() {
+ pkgdesc='Search on Wikitravel'
+ depends=('kdebase-workspace')
+ cd $srcdir/build/runners/mediawiki
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-runners-spellchecker() {
+ pkgdesc='Check the spelling of a word'
+ depends=('kdebase-workspace')
+ cd $srcdir/build/runners/spellchecker
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-wallpapers-mandelbrot() {
+ pkgdesc='Mandelbrot'
+ depends=('kdebase-workspace')
+ cd $srcdir/build/wallpapers/mandelbrot
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-wallpapers-marble() {
+ pkgdesc='Globe'
+ depends=('kdebase-workspace' 'kdeedu-marble')
+ cd $srcdir/build/wallpapers/marble
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-wallpapers-pattern() {
+ pkgdesc='Pattern'
+ depends=('kdebase-workspace')
+ cd $srcdir/build/wallpapers/pattern
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-wallpapers-virus() {
+ pkgdesc='Virus'
+ depends=('kdebase-workspace')
+ cd $srcdir/build/wallpapers/virus
+ make DESTDIR=$pkgdir install
+}
+
+package_kdeplasma-addons-wallpapers-weather() {
+ pkgdesc='Weather'
+ depends=('kdebase-workspace' 'kdeplasma-addons-libs')
+ cd $srcdir/build/wallpapers/weather
+ make DESTDIR=$pkgdir install
+}
diff --git a/staging/kdeplasma-addons/kdeobservatory-qwt6.patch b/staging/kdeplasma-addons/kdeobservatory-qwt6.patch
new file mode 100644
index 000000000..46ba0345d
--- /dev/null
+++ b/staging/kdeplasma-addons/kdeobservatory-qwt6.patch
@@ -0,0 +1,12 @@
+diff -Naur kdeplasma-addons-4.6.5.bak/applets/kdeobservatory/src/commithistoryview.cpp kdeplasma-addons-4.6.5/applets/kdeobservatory/src/commithistoryview.cpp
+--- kdeplasma-addons-4.6.5.bak/applets/kdeobservatory/src/commithistoryview.cpp 2011-07-15 14:04:17.323188525 +0200
++++ kdeplasma-addons-4.6.5/applets/kdeobservatory/src/commithistoryview.cpp 2011-07-15 14:04:39.186521458 +0200
+@@ -124,7 +124,7 @@
+ plot->setCanvasBackground(QColor(0, 0, 140));
+
+ QwtPlotCurve *curve = new QwtPlotCurve;
+- curve->setData(x, y, j);
++ curve->setSamples(x, y, j);
+ delete []x;
+ delete []y;
+
diff --git a/staging/kdeplasma-addons/kdeplasma-addons-applets-lancelot.install b/staging/kdeplasma-addons/kdeplasma-addons-applets-lancelot.install
new file mode 100644
index 000000000..ce5c32e1b
--- /dev/null
+++ b/staging/kdeplasma-addons/kdeplasma-addons-applets-lancelot.install
@@ -0,0 +1,12 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-mime-database usr/share/mime &> /dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+} \ No newline at end of file
diff --git a/staging/kdeplasma-addons/kdeplasma-addons-applets.install b/staging/kdeplasma-addons/kdeplasma-addons-applets.install
new file mode 100644
index 000000000..c4ef46ba8
--- /dev/null
+++ b/staging/kdeplasma-addons/kdeplasma-addons-applets.install
@@ -0,0 +1,11 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+} \ No newline at end of file
diff --git a/staging/mysql/PKGBUILD b/staging/mysql/PKGBUILD
new file mode 100644
index 000000000..54248034e
--- /dev/null
+++ b/staging/mysql/PKGBUILD
@@ -0,0 +1,130 @@
+# $Id: PKGBUILD 131641 2011-07-13 07:03:22Z andrea $
+# Maintainer: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
+# Contributor: judd <jvinet@zeroflux.org>
+
+pkgbase=mysql
+pkgname=('libmysqlclient' 'mysql-clients' 'mysql')
+pkgver=5.5.14
+pkgrel=2
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://www.mysql.com/"
+makedepends=('cmake' 'openssl' 'zlib')
+options=('!libtool')
+source=("http://ftp.gwdg.de/pub/misc/mysql/Downloads/MySQL-5.5/${pkgbase}-${pkgver}.tar.gz"
+ 'mysqld'
+ 'my.cnf')
+md5sums=('19f43bb9c72b1b5f7ff86a7f921c9244'
+ '2234207625baa29b2ff7d7b4f088abce'
+ '1c949c0dbea5206af0db14942d9927b6')
+
+build() {
+ cd "${srcdir}"
+ mkdir build
+ cd build
+
+ # CFLAGS/CXXFLAGS as suggested upstream
+ CFLAGS="-fPIC ${CFLAGS} -fno-strict-aliasing -DBIG_JOINS=1 -fomit-frame-pointer" \
+ CXXFLAGS="-fPIC ${CXXFLAGS} -fno-strict-aliasing -DBIG_JOINS=1 -felide-constructors -fno-rtti" \
+
+ cmake ../${pkgbase}-${pkgver} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DSYSCONFDIR=/etc/mysql \
+ -DMYSQL_DATADIR=/var/lib/mysql \
+ -DMYSQL_UNIX_ADDR=/var/run/mysqld/mysqld.sock \
+ -DDEFAULT_CHARSET=utf8 \
+ -DDEFAULT_COLLATION=utf8_general_ci \
+ -DENABLED_LOCAL_INFILE=ON \
+ -DINSTALL_INFODIR=share/mysql/docs \
+ -DINSTALL_MANDIR=share/man \
+ -DINSTALL_PLUGINDIR=/usr/lib/mysql/plugin \
+ -DINSTALL_SCRIPTDIR=bin \
+ -DINSTALL_INCLUDEDIR=include/mysql \
+ -DINSTALL_DOCREADMEDIR=share/mysql \
+ -DINSTALL_SUPPORTFILESDIR=share/mysql \
+ -DINSTALL_MYSQLSHAREDIR=share/mysql \
+ -DINSTALL_DOCDIR=share/mysql/docs \
+ -DINSTALL_SHAREDIR=share/mysql \
+ -DWITH_READLINE=ON \
+ -DWITH_ZLIB=system \
+ -DWITH_SSL=system \
+ -DWITH_LIBWRAP=OFF \
+ -DWITH_MYSQLD_LDFLAGS="${LDFLAGS}" \
+ -DWITH_EXTRA_CHARSETS=complex \
+ -DWITH_EMBEDDED_SERVER=ON \
+ -DWITH_INNOBASE_STORAGE_ENGINE=1 \
+ -DWITH_PARTITION_STORAGE_ENGINE=1 \
+ -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
+ -DWITHOUT_ARCHIVE_STORAGE_ENGINE=1 \
+ -DWITHOUT_BLACKHOLE_STORAGE_ENGINE=1 \
+ -DWITHOUT_FEDERATED_STORAGE_ENGINE=1
+
+ make
+}
+
+package_libmysqlclient(){
+ pkgdesc="MySQL client libraries"
+ depends=('openssl')
+
+ cd "${srcdir}"/build
+ for dir in include libmysql libmysqld libservices; do
+ make -C ${dir} DESTDIR="${pkgdir}" install
+ done
+
+ install -d "${pkgdir}"/usr/bin
+ install -m755 scripts/mysql_config "${pkgdir}"/usr/bin/
+ install -d "${pkgdir}"/usr/share/man/man1
+ for man in mysql_config mysql_client_test_embedded mysqltest_embedded; do
+ install -m644 "${srcdir}"/${pkgbase}-${pkgver}/man/$man.1 "${pkgdir}"/usr/share/man/man1/$man.1
+ done
+}
+
+package_mysql-clients(){
+ pkgdesc="MySQL client tools"
+ depends=('libmysqlclient')
+
+ cd "${srcdir}"/build
+ make -C client DESTDIR="${pkgdir}" install
+
+ # install man pages
+ install -d "${pkgdir}"/usr/share/man/man1
+ for man in mysql mysqladmin mysqlcheck mysqldump mysqlimport mysqlshow mysqlslap; do
+ install -m644 "${srcdir}"/${pkgbase}-${pkgver}/man/$man.1 "${pkgdir}"/usr/share/man/man1/$man.1
+ done
+
+ # provided by mysql
+ rm "${pkgdir}"/usr/bin/{mysql_upgrade,mysqlbinlog,mysqltest}
+}
+
+package_mysql(){
+ pkgdesc="A fast SQL database server"
+ backup=('etc/mysql/my.cnf')
+ install=mysql.install
+ depends=('mysql-clients' 'net-tools')
+ optdepends=('perl-dbi' 'perl-dbd-mysql')
+ options=('emptydirs')
+
+ cd "${srcdir}"/build
+ make DESTDIR="${pkgdir}" install
+
+ install -Dm644 "${srcdir}"/my.cnf "${pkgdir}"/etc/mysql/my.cnf
+ install -Dm755 "${srcdir}"/mysqld "${pkgdir}"/etc/rc.d/mysqld
+
+ # provided by libmysqlclient
+ rm "${pkgdir}"/usr/bin/{mysql_config,mysql_client_test_embedded,mysqltest_embedded}
+ rm "${pkgdir}"/usr/lib/libmysql*
+ rm -r "${pkgdir}"/usr/include/
+ rm "${pkgdir}"/usr/share/man/man1/{mysql_config,mysql_client_test_embedded,mysqltest_embedded}.1
+
+ # provided by mysql-clients
+ rm "${pkgdir}"/usr/bin/{mysql,mysqladmin,mysqlcheck,mysqldump,mysqlimport,mysqlshow,mysqlslap}
+ rm "${pkgdir}"/usr/share/man/man1/{mysql,mysqladmin,mysqlcheck,mysqldump,mysqlimport,mysqlshow,mysqlslap}.1
+
+ # not needed
+ rm -r "${pkgdir}"/usr/{data,mysql-test,sql-bench}
+ rm "${pkgdir}"/usr/share/man/man1/mysql-test-run.pl.1
+
+ install -dm700 "${pkgdir}"/var/lib/mysql
+}
diff --git a/staging/mysql/my.cnf b/staging/mysql/my.cnf
new file mode 100644
index 000000000..9a41b4fc3
--- /dev/null
+++ b/staging/mysql/my.cnf
@@ -0,0 +1,145 @@
+# MySQL config file for medium systems.
+#
+# This is for a system with little memory (32M - 64M) where MySQL plays
+# an important part, or systems up to 128M where MySQL is used together with
+# other programs (such as a web server)
+#
+# MySQL programs look for option files in a set of
+# locations which depend on the deployment platform.
+# You can copy this option file to one of those
+# locations. For information about these locations, see:
+# http://dev.mysql.com/doc/mysql/en/option-files.html
+#
+# In this file, you can use all long options that a program supports.
+# If you want to know which options a program supports, run the program
+# with the "--help" option.
+
+# The following options will be passed to all MySQL clients
+[client]
+#password = your_password
+port = 3306
+socket = /var/run/mysqld/mysqld.sock
+
+# Here follows entries for some specific programs
+
+# The MySQL server
+[mysqld]
+port = 3306
+socket = /var/run/mysqld/mysqld.sock
+datadir = /var/lib/mysql
+skip-external-locking
+key_buffer_size = 16M
+max_allowed_packet = 1M
+table_open_cache = 64
+sort_buffer_size = 512K
+net_buffer_length = 8K
+read_buffer_size = 256K
+read_rnd_buffer_size = 512K
+myisam_sort_buffer_size = 8M
+
+# Don't listen on a TCP/IP port at all. This can be a security enhancement,
+# if all processes that need to connect to mysqld run on the same host.
+# All interaction with mysqld must be made via Unix sockets or named pipes.
+# Note that using this option without enabling named pipes on Windows
+# (via the "enable-named-pipe" option) will render mysqld useless!
+#
+skip-networking
+
+# Replication Master Server (default)
+# binary logging is required for replication
+log-bin=mysql-bin
+
+# binary logging format - mixed recommended
+binlog_format=mixed
+
+# required unique id between 1 and 2^32 - 1
+# defaults to 1 if master-host is not set
+# but will not function as a master if omitted
+server-id = 1
+
+# Replication Slave (comment out master section to use this)
+#
+# To configure this host as a replication slave, you can choose between
+# two methods :
+#
+# 1) Use the CHANGE MASTER TO command (fully described in our manual) -
+# the syntax is:
+#
+# CHANGE MASTER TO MASTER_HOST=<host>, MASTER_PORT=<port>,
+# MASTER_USER=<user>, MASTER_PASSWORD=<password> ;
+#
+# where you replace <host>, <user>, <password> by quoted strings and
+# <port> by the master's port number (3306 by default).
+#
+# Example:
+#
+# CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306,
+# MASTER_USER='joe', MASTER_PASSWORD='secret';
+#
+# OR
+#
+# 2) Set the variables below. However, in case you choose this method, then
+# start replication for the first time (even unsuccessfully, for example
+# if you mistyped the password in master-password and the slave fails to
+# connect), the slave will create a master.info file, and any later
+# change in this file to the variables' values below will be ignored and
+# overridden by the content of the master.info file, unless you shutdown
+# the slave server, delete master.info and restart the slaver server.
+# For that reason, you may want to leave the lines below untouched
+# (commented) and instead use CHANGE MASTER TO (see above)
+#
+# required unique id between 2 and 2^32 - 1
+# (and different from the master)
+# defaults to 2 if master-host is set
+# but will not function as a slave if omitted
+#server-id = 2
+#
+# The replication master for this slave - required
+#master-host = <hostname>
+#
+# The username the slave will use for authentication when connecting
+# to the master - required
+#master-user = <username>
+#
+# The password the slave will authenticate with when connecting to
+# the master - required
+#master-password = <password>
+#
+# The port the master is listening on.
+# optional - defaults to 3306
+#master-port = <port>
+#
+# binary logging - not required for slaves, but recommended
+#log-bin=mysql-bin
+
+# Uncomment the following if you are using InnoDB tables
+#innodb_data_home_dir = /var/lib/mysql
+#innodb_data_file_path = ibdata1:10M:autoextend
+#innodb_log_group_home_dir = /var/lib/mysql
+# You can set .._buffer_pool_size up to 50 - 80 %
+# of RAM but beware of setting memory usage too high
+#innodb_buffer_pool_size = 16M
+#innodb_additional_mem_pool_size = 2M
+# Set .._log_file_size to 25 % of buffer pool size
+#innodb_log_file_size = 5M
+#innodb_log_buffer_size = 8M
+#innodb_flush_log_at_trx_commit = 1
+#innodb_lock_wait_timeout = 50
+
+[mysqldump]
+quick
+max_allowed_packet = 16M
+
+[mysql]
+no-auto-rehash
+# Remove the next comment character if you are not familiar with SQL
+#safe-updates
+
+[myisamchk]
+key_buffer_size = 20M
+sort_buffer_size = 20M
+read_buffer = 2M
+write_buffer = 2M
+
+[mysqlhotcopy]
+interactive-timeout
diff --git a/staging/mysql/mysql.install b/staging/mysql/mysql.install
new file mode 100644
index 000000000..9a4479215
--- /dev/null
+++ b/staging/mysql/mysql.install
@@ -0,0 +1,26 @@
+post_install(){
+ groupadd -g 89 mysql &>/dev/null
+ useradd -u 89 -g mysql -d /var/lib/mysql -s /bin/false mysql &>/dev/null
+ usr/bin/mysql_install_db --user=mysql --basedir=/usr
+ chown -R mysql:mysql var/lib/mysql &>/dev/null
+}
+
+post_upgrade(){
+ getent group mysql >/dev/null 2>&1 || groupadd -g 89 mysql &>/dev/null
+ getent passwd mysql >/dev/null 2>&1 || useradd -u 89 -g mysql -d /var/lib/mysql -s /bin/false mysql &>/dev/null
+
+ if [ "$(vercmp $2 5.5)" -lt 0 ]; then
+ echo " >> "
+ echo " >> Major version update. Consider restart the service, and then running mysql_upgrade after it."
+ echo " >> "
+ fi
+}
+
+post_remove(){
+ if getent passwd mysql >/dev/null 2>&1; then
+ userdel mysql
+ fi
+ if getent group mysql >/dev/null 2>&1; then
+ groupdel mysql
+ fi
+}
diff --git a/staging/mysql/mysqld b/staging/mysql/mysqld
new file mode 100755
index 000000000..1ac88a7cc
--- /dev/null
+++ b/staging/mysql/mysqld
@@ -0,0 +1,77 @@
+#!/bin/bash
+
+# general config
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+getPID() {
+ echo $(pgrep -u mysql mysqld 2>/dev/null);
+}
+
+case "$1" in
+ start)
+ stat_busy "Starting MySQL Server"
+ [ ! -d /var/run/mysqld ] && install -d -g mysql -o mysql /var/run/mysqld &>/dev/null
+ if [ -z "$(getPID)" ]; then
+ /usr/bin/mysqld_safe --user=mysql &>/dev/null &
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 1
+ else
+ timeo=30
+ while [ $timeo -gt 0 ]; do
+ response=`/usr/bin/mysqladmin -uUNKNOWN_USER ping 2>&1` && break
+ echo "$response" | grep -q "mysqld is alive" && break
+ sleep 1
+ let timeo=${timeo}-1
+ done
+ if [ $timeo -eq 0 ]; then
+ stat_fail
+ exit 1
+ else
+ echo $(getPID) > /var/run/mysqld/mysqld.pid
+ add_daemon mysqld
+ stat_done
+ fi
+ fi
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+
+ stop)
+ stat_busy "Stopping MySQL Server"
+ if [ ! -z "$(getPID)" ]; then
+ timeo=30
+ kill $(getPID) &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 1
+ fi
+ while [ ! -z "$(getPID)" -a $timeo -gt 0 ]; do
+ sleep 1
+ let timeo=${timeo}-1
+ done
+ if [ -z "$(getPID)" ]; then
+ rm -f /var/run/mysqld/mysqld.pid &>/dev/null
+ rm_daemon mysqld
+ stat_done
+ else
+ stat_fail
+ exit 1
+ fi
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+
+ restart)
+ $0 stop
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/staging/net-snmp/PKGBUILD b/staging/net-snmp/PKGBUILD
new file mode 100644
index 000000000..a1f72cb01
--- /dev/null
+++ b/staging/net-snmp/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id: PKGBUILD 131650 2011-07-13 08:13:14Z andrea $
+# Maintainer: Eric Belanger <eric@archlinux.org>
+# Contributor: Dale Blount <dale@archlinux.org>
+
+pkgname=net-snmp
+pkgver=5.6.1
+pkgrel=3
+pkgdesc="A suite of applications used to implement SNMP v1, SNMP v2c and SNMP v3 using both IPv4 and IPv6"
+arch=('i686' 'x86_64')
+url="http://www.net-snmp.org/"
+license=('custom')
+depends=('openssl' 'libnl')
+makedepends=('setuptools')
+optdepends=('perl-term-readkey: for snmpcheck application'
+ 'perl-tk: for snmpcheck and tkmib applications'
+ 'python2: for the python modules')
+provides=('ucd-snmp')
+options=('!libtool' '!makeflags' '!emptydirs')
+source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz"
+ 'snmpd.rc')
+md5sums=('b4e30ead5783b0bb1d280172c6095ea4'
+ '9f0d13676ba1fae1eb7eb178edd85b43')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ sed -i -e "s:\(install --basedir=\$\$dir\):\1 --root='${pkgdir}':" Makefile.in
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --enable-ucd-snmp-compatibility \
+ --enable-ipv6 \
+ --with-python-modules \
+ --with-default-snmp-version="3" \
+ --with-sys-contact="root@localhost" \
+ --with-sys-location="Unknown" \
+ --with-logfile="/var/log/snmpd.log" \
+ --with-mib-modules="host misc/ipfwacc ucd-snmp/diskio tunnel ucd-snmp/dlmod" \
+ --with-persistent-directory="/var/net-snmp" \
+ PYTHONPROG=/usr/bin/python2
+ make NETSNMP_DONT_CHECK_VERSION=1 LDFLAGS+="-Wl,-rpath -Wl,/usr/lib/perl5/core_perl/CORE"
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" INSTALL_PREFIX="${pkgdir}" INSTALLDIRS=vendor install
+ install -D -m755 "${srcdir}/snmpd.rc" "${pkgdir}/etc/rc.d/snmpd"
+ install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/staging/net-snmp/libnl-2.patch b/staging/net-snmp/libnl-2.patch
new file mode 100644
index 000000000..7c140fe83
--- /dev/null
+++ b/staging/net-snmp/libnl-2.patch
@@ -0,0 +1,67 @@
+diff -Nur net-snmp-5.5.orig//agent/mibgroup/mibII/tcpTable.c net-snmp-5.5//agent/mibgroup/mibII/tcpTable.c
+--- net-snmp-5.5.orig//agent/mibgroup/mibII/tcpTable.c 2009-06-13 04:02:02.000000000 +0200
++++ net-snmp-5.5//agent/mibgroup/mibII/tcpTable.c 2011-01-15 10:31:03.579735957 +0100
+@@ -555,8 +555,10 @@
+ static int
+ tcpTable_load_netlink()
+ {
++ int err;
++
+ /* TODO: perhaps use permanent nl handle? */
+- struct nl_handle *nl = nl_handle_alloc();
++ struct nl_sock *nl = nl_socket_alloc();
+
+ if (nl == NULL) {
+ DEBUGMSGTL(("mibII/tcpTable", "Failed to allocate netlink handle\n"));
+@@ -564,10 +566,10 @@
+ return -1;
+ }
+
+- if (nl_connect(nl, NETLINK_INET_DIAG) < 0) {
+- DEBUGMSGTL(("mibII/tcpTable", "Failed to connect to netlink: %s\n", nl_geterror()));
+- snmp_log(LOG_ERR, "snmpd: Couldn't connect to netlink: %s\n", nl_geterror());
+- nl_handle_destroy(nl);
++ if ((err = nl_connect(nl, NETLINK_INET_DIAG)) < 0) {
++ DEBUGMSGTL(("mibII/tcpTable", "Failed to connect to netlink: %s\n", nl_geterror(err)));
++ snmp_log(LOG_ERR, "snmpd: Couldn't connect to netlink: %s\n", nl_geterror(err));
++ nl_socket_free(nl);
+ return -1;
+ }
+
+@@ -579,10 +581,10 @@
+ struct nl_msg *nm = nlmsg_alloc_simple(TCPDIAG_GETSOCK, NLM_F_ROOT|NLM_F_MATCH|NLM_F_REQUEST);
+ nlmsg_append(nm, &req, sizeof(struct inet_diag_req), 0);
+
+- if (nl_send_auto_complete(nl, nm) < 0) {
+- DEBUGMSGTL(("mibII/tcpTable", "nl_send_autocomplete(): %s\n", nl_geterror()));
+- snmp_log(LOG_ERR, "snmpd: nl_send_autocomplete(): %s\n", nl_geterror());
+- nl_handle_destroy(nl);
++ if ((err = nl_send_auto_complete(nl, nm)) < 0) {
++ DEBUGMSGTL(("mibII/tcpTable", "nl_send_autocomplete(): %s\n", nl_geterror(err)));
++ snmp_log(LOG_ERR, "snmpd: nl_send_autocomplete(): %s\n", nl_geterror(err));
++ nl_socket_free(nl);
+ return -1;
+ }
+ nlmsg_free(nm);
+@@ -593,9 +595,9 @@
+
+ while (running) {
+ if ((len = nl_recv(nl, &peer, &buf, NULL)) <= 0) {
+- DEBUGMSGTL(("mibII/tcpTable", "nl_recv(): %s\n", nl_geterror()));
+- snmp_log(LOG_ERR, "snmpd: nl_recv(): %s\n", nl_geterror());
+- nl_handle_destroy(nl);
++ DEBUGMSGTL(("mibII/tcpTable", "nl_recv(): %s\n", nl_geterror(len)));
++ snmp_log(LOG_ERR, "snmpd: nl_recv(): %s\n", nl_geterror(len));
++ nl_socket_free(nl);
+ return -1;
+ }
+
+@@ -644,7 +646,7 @@
+ free(buf);
+ }
+
+- nl_handle_destroy(nl);
++ nl_socket_free(nl);
+
+ if (tcp_head) {
+ DEBUGMSGTL(("mibII/tcpTable", "Loaded TCP Table using netlink\n"));
diff --git a/staging/net-snmp/snmpd.rc b/staging/net-snmp/snmpd.rc
new file mode 100644
index 000000000..9f1b83f64
--- /dev/null
+++ b/staging/net-snmp/snmpd.rc
@@ -0,0 +1,38 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pidof -o %PPID /usr/sbin/snmpd`
+case "$1" in
+ start)
+ stat_busy "Starting Net-SNMP"
+ [ -z "$PID" ] && /usr/sbin/snmpd
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ echo $PID > /var/run/snmpd.pid
+ add_daemon snmpd
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping Net-SNMP"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm /var/run/snmpd.pid
+ rm_daemon snmpd
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 2
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/staging/openssh/PKGBUILD b/staging/openssh/PKGBUILD
new file mode 100644
index 000000000..bf45e6396
--- /dev/null
+++ b/staging/openssh/PKGBUILD
@@ -0,0 +1,70 @@
+# $Id: PKGBUILD 131644 2011-07-13 07:48:58Z bisson $
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+# Contributor: Aaron Griffin <aaron@archlinux.org>
+# Contributor: judd <jvinet@zeroflux.org>
+
+pkgname=openssh
+pkgver=5.8p2
+pkgrel=9
+pkgdesc='Free version of the SSH connectivity tools'
+arch=('i686' 'x86_64')
+license=('custom:BSD')
+url='http://www.openssh.org/portable.html'
+backup=('etc/ssh/ssh_config' 'etc/ssh/sshd_config' 'etc/pam.d/sshd' 'etc/conf.d/sshd')
+depends=('krb5' 'openssl' 'libedit')
+source=("ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/${pkgname}-${pkgver}.tar.gz"
+ 'authfile.c.patch'
+ 'sshd.confd'
+ 'sshd.pam'
+ 'sshd')
+sha1sums=('64798328d310e4f06c9f01228107520adbc8b3e5'
+ '3669cb5ca6149f69015df5ce8e60b82c540eb0a4'
+ 'ec102deb69cad7d14f406289d2fc11fee6eddbdd'
+ '07fecd5880b1c4fdd8c94ddb2e89ddce88effdc1'
+ '6b7f8ebf0c1cc37137a7d9a53447ac8a0ee6a2b5')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ patch -p1 -i ../authfile.c.patch # fix FS#24693 using http://anoncvs.mindrot.org/index.cgi/openssh/authfile.c?revision=1.95
+
+ ./configure \
+ --prefix=/usr \
+ --libexecdir=/usr/lib/ssh \
+ --sysconfdir=/etc/ssh \
+ --with-privsep-user=nobody \
+ --with-md5-passwords \
+ --with-pam \
+ --with-mantype=man \
+ --mandir=/usr/share/man \
+ --with-xauth=/usr/bin/xauth \
+ --with-kerberos5=/usr \
+ --with-ssl-engine \
+ --with-libedit=/usr/lib \
+ --disable-strip # stripping is done by makepkg
+
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ install -Dm755 ../sshd "${pkgdir}"/etc/rc.d/sshd
+ install -Dm644 ../sshd.pam "${pkgdir}"/etc/pam.d/sshd
+ install -Dm644 ../sshd.confd "${pkgdir}"/etc/conf.d/sshd
+ install -Dm644 LICENCE "${pkgdir}/usr/share/licenses/${pkgname}/LICENCE"
+
+ rm "${pkgdir}"/usr/share/man/man1/slogin.1
+ ln -sf ssh.1.gz "${pkgdir}"/usr/share/man/man1/slogin.1.gz
+
+ # additional contrib scripts that we like
+ install -Dm755 contrib/findssl.sh "${pkgdir}"/usr/bin/findssl.sh
+ install -Dm755 contrib/ssh-copy-id "${pkgdir}"/usr/bin/ssh-copy-id
+ install -Dm644 contrib/ssh-copy-id.1 "${pkgdir}"/usr/share/man/man1/ssh-copy-id.1
+
+ # PAM is a common, standard feature to have
+ sed -i -e '/^#ChallengeResponseAuthentication yes$/c ChallengeResponseAuthentication no' \
+ -e '/^#UsePAM no$/c UsePAM yes' \
+ "${pkgdir}"/etc/ssh/sshd_config
+}
diff --git a/staging/openssh/authfile.c.patch b/staging/openssh/authfile.c.patch
new file mode 100644
index 000000000..6c18fe807
--- /dev/null
+++ b/staging/openssh/authfile.c.patch
@@ -0,0 +1,198 @@
+diff -aur old/authfile.c new/authfile.c
+--- old/authfile.c 2011-06-12 02:21:52.262338254 +0200
++++ new/authfile.c 2011-06-12 02:13:43.051467269 +0200
+@@ -1,4 +1,4 @@
+-/* $OpenBSD: authfile.c,v 1.87 2010/11/29 18:57:04 markus Exp $ */
++/* $OpenBSD: authfile.c,v 1.95 2011/05/29 11:42:08 djm Exp $ */
+ /*
+ * Author: Tatu Ylonen <ylo@cs.hut.fi>
+ * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
+@@ -69,6 +69,8 @@
+ #include "misc.h"
+ #include "atomicio.h"
+
++#define MAX_KEY_FILE_SIZE (1024 * 1024)
++
+ /* Version identification string for SSH v1 identity files. */
+ static const char authfile_id_string[] =
+ "SSH PRIVATE KEY FILE FORMAT 1.1\n";
+@@ -312,12 +314,12 @@
+ return pub;
+ }
+
+-/* Load the contents of a key file into a buffer */
+-static int
++/* Load a key from a fd into a buffer */
++int
+ key_load_file(int fd, const char *filename, Buffer *blob)
+ {
++ u_char buf[1024];
+ size_t len;
+- u_char *cp;
+ struct stat st;
+
+ if (fstat(fd, &st) < 0) {
+@@ -325,30 +327,45 @@
+ filename == NULL ? "" : filename,
+ filename == NULL ? "" : " ",
+ strerror(errno));
+- close(fd);
+ return 0;
+ }
+- if (st.st_size > 1*1024*1024) {
++ if ((st.st_mode & (S_IFSOCK|S_IFCHR|S_IFIFO)) == 0 &&
++ st.st_size > MAX_KEY_FILE_SIZE) {
++ toobig:
+ error("%s: key file %.200s%stoo large", __func__,
+ filename == NULL ? "" : filename,
+ filename == NULL ? "" : " ");
+- close(fd);
+ return 0;
+ }
+- len = (size_t)st.st_size; /* truncated */
+-
+ buffer_init(blob);
+- cp = buffer_append_space(blob, len);
+-
+- if (atomicio(read, fd, cp, len) != len) {
+- debug("%s: read from key file %.200s%sfailed: %.100s", __func__,
+- filename == NULL ? "" : filename,
+- filename == NULL ? "" : " ",
+- strerror(errno));
++ for (;;) {
++ if ((len = atomicio(read, fd, buf, sizeof(buf))) == 0) {
++ if (errno == EPIPE)
++ break;
++ debug("%s: read from key file %.200s%sfailed: %.100s",
++ __func__, filename == NULL ? "" : filename,
++ filename == NULL ? "" : " ", strerror(errno));
++ buffer_clear(blob);
++ bzero(buf, sizeof(buf));
++ return 0;
++ }
++ buffer_append(blob, buf, len);
++ if (buffer_len(blob) > MAX_KEY_FILE_SIZE) {
++ buffer_clear(blob);
++ bzero(buf, sizeof(buf));
++ goto toobig;
++ }
++ }
++ bzero(buf, sizeof(buf));
++ if ((st.st_mode & (S_IFSOCK|S_IFCHR|S_IFIFO)) == 0 &&
++ st.st_size != buffer_len(blob)) {
++ debug("%s: key file %.200s%schanged size while reading",
++ __func__, filename == NULL ? "" : filename,
++ filename == NULL ? "" : " ");
+ buffer_clear(blob);
+- close(fd);
+ return 0;
+ }
++
+ return 1;
+ }
+
+@@ -606,7 +623,7 @@
+ error("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
+ error("Permissions 0%3.3o for '%s' are too open.",
+ (u_int)st.st_mode & 0777, filename);
+- error("It is recommended that your private key files are NOT accessible by others.");
++ error("It is required that your private key files are NOT accessible by others.");
+ error("This private key will be ignored.");
+ return 0;
+ }
+@@ -626,6 +643,7 @@
+ case KEY_UNSPEC:
+ return key_parse_private_pem(blob, type, passphrase, commentp);
+ default:
++ error("%s: cannot parse key type %d", __func__, type);
+ break;
+ }
+ return NULL;
+@@ -670,11 +688,38 @@
+ }
+
+ Key *
++key_parse_private(Buffer *buffer, const char *filename,
++ const char *passphrase, char **commentp)
++{
++ Key *pub, *prv;
++ Buffer pubcopy;
++
++ buffer_init(&pubcopy);
++ buffer_append(&pubcopy, buffer_ptr(buffer), buffer_len(buffer));
++ /* it's a SSH v1 key if the public key part is readable */
++ pub = key_parse_public_rsa1(&pubcopy, commentp);
++ buffer_free(&pubcopy);
++ if (pub == NULL) {
++ prv = key_parse_private_type(buffer, KEY_UNSPEC,
++ passphrase, NULL);
++ /* use the filename as a comment for PEM */
++ if (commentp && prv)
++ *commentp = xstrdup(filename);
++ } else {
++ key_free(pub);
++ /* key_parse_public_rsa1() has already loaded the comment */
++ prv = key_parse_private_type(buffer, KEY_RSA1, passphrase,
++ NULL);
++ }
++ return prv;
++}
++
++Key *
+ key_load_private(const char *filename, const char *passphrase,
+ char **commentp)
+ {
+- Key *pub, *prv;
+- Buffer buffer, pubcopy;
++ Key *prv;
++ Buffer buffer;
+ int fd;
+
+ fd = open(filename, O_RDONLY);
+@@ -697,23 +742,7 @@
+ }
+ close(fd);
+
+- buffer_init(&pubcopy);
+- buffer_append(&pubcopy, buffer_ptr(&buffer), buffer_len(&buffer));
+- /* it's a SSH v1 key if the public key part is readable */
+- pub = key_parse_public_rsa1(&pubcopy, commentp);
+- buffer_free(&pubcopy);
+- if (pub == NULL) {
+- prv = key_parse_private_type(&buffer, KEY_UNSPEC,
+- passphrase, NULL);
+- /* use the filename as a comment for PEM */
+- if (commentp && prv)
+- *commentp = xstrdup(filename);
+- } else {
+- key_free(pub);
+- /* key_parse_public_rsa1() has already loaded the comment */
+- prv = key_parse_private_type(&buffer, KEY_RSA1, passphrase,
+- NULL);
+- }
++ prv = key_parse_private(&buffer, filename, passphrase, commentp);
+ buffer_free(&buffer);
+ return prv;
+ }
+@@ -737,13 +766,19 @@
+ case '\0':
+ continue;
+ }
++ /* Abort loading if this looks like a private key */
++ if (strncmp(cp, "-----BEGIN", 10) == 0)
++ break;
+ /* Skip leading whitespace. */
+ for (; *cp && (*cp == ' ' || *cp == '\t'); cp++)
+ ;
+ if (*cp) {
+ if (key_read(k, &cp) == 1) {
+- if (commentp)
+- *commentp=xstrdup(filename);
++ cp[strcspn(cp, "\r\n")] = '\0';
++ if (commentp) {
++ *commentp = xstrdup(*cp ?
++ cp : filename);
++ }
+ fclose(f);
+ return 1;
+ }
diff --git a/staging/openssh/sshd b/staging/openssh/sshd
new file mode 100755
index 000000000..2ee1091f0
--- /dev/null
+++ b/staging/openssh/sshd
@@ -0,0 +1,48 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/sshd
+
+PIDFILE=/var/run/sshd.pid
+PID=$(cat $PIDFILE 2>/dev/null)
+if ! readlink -q /proc/$PID/exe | grep -q '^/usr/sbin/sshd'; then
+ PID=
+ rm $PIDFILE 2>/dev/null
+fi
+
+case "$1" in
+ start)
+ stat_busy "Starting Secure Shell Daemon"
+ [ -f /etc/ssh/ssh_host_key ] || { /usr/bin/ssh-keygen -t rsa1 -N "" -f /etc/ssh/ssh_host_key >/dev/null; }
+ [ -f /etc/ssh/ssh_host_rsa_key ] || { /usr/bin/ssh-keygen -t rsa -N "" -f /etc/ssh/ssh_host_rsa_key >/dev/null; }
+ [ -f /etc/ssh/ssh_host_dsa_key ] || { /usr/bin/ssh-keygen -t dsa -N "" -f /etc/ssh/ssh_host_dsa_key >/dev/null; }
+ [ -f /etc/ssh/ssh_host_ecdsa_key ] || { /usr/bin/ssh-keygen -t ecdsa -N "" -f /etc/ssh/ssh_host_ecdsa_key >/dev/null; }
+ [ -d /var/empty ] || mkdir -p /var/empty
+ [ -z "$PID" ] && /usr/sbin/sshd $SSHD_ARGS
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon sshd
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping Secure Shell Daemon"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon sshd
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/staging/openssh/sshd.confd b/staging/openssh/sshd.confd
new file mode 100644
index 000000000..5ce7c0079
--- /dev/null
+++ b/staging/openssh/sshd.confd
@@ -0,0 +1,4 @@
+#
+# Parameters to be passed to sshd
+#
+SSHD_ARGS=""
diff --git a/staging/openssh/sshd.pam b/staging/openssh/sshd.pam
new file mode 100644
index 000000000..ff8829fe9
--- /dev/null
+++ b/staging/openssh/sshd.pam
@@ -0,0 +1,11 @@
+#%PAM-1.0
+#auth required pam_securetty.so #Disable remote root
+auth required pam_unix.so
+auth required pam_env.so
+account required pam_nologin.so
+account required pam_unix.so
+account required pam_time.so
+password required pam_unix.so
+session required pam_unix_session.so
+session required pam_limits.so
+-session optional pam_ck_connector.so nox11
diff --git a/staging/qwt/PKGBUILD b/staging/qwt/PKGBUILD
new file mode 100644
index 000000000..913a21ba7
--- /dev/null
+++ b/staging/qwt/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 131712 2011-07-13 18:32:34Z ronald $
+# Maintainer: Ronald van Haren <ronald.archlinux.org>
+
+pkgname=qwt
+pkgver=6.0.0
+pkgrel=1
+pkgdesc="Qt Widgets for Technical Applications"
+arch=('i686' 'x86_64')
+url="http://qwt.sourceforge.net/"
+depends=('qt')
+options=('!makeflags')
+license=("custom:$pkgname")
+source=("http://downloads.sourceforge.net/sourceforge/qwt/$pkgname-$pkgver.tar.bz2" \
+ "qwtconfig-archlinux.pri")
+sha1sums=('306957fc06c90f2049aec57e13a971f54c3cb21a'
+ 'aba0fc75f6d450237028b7b143bdcf05a79cabb3')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ # copy our config file to the right place
+ install -Dm644 ${srcdir}/qwtconfig-archlinux.pri \
+ ${srcdir}/${pkgname}-${pkgver}/qwtconfig.pri
+
+ # build qwt:
+ qmake qwt.pro
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ make INSTALL_ROOT=${pkgdir} QTDIR=/usr install
+
+ # Move man files to proper directory.
+ install -d ${pkgdir}/usr/share/man/man3
+ mv -f ${pkgdir}/usr/share/doc/qwt/man/man3/* ${pkgdir}/usr/share/man/man3
+
+ # install licence
+ install -Dm644 ${srcdir}/${pkgname}-${pkgver}/COPYING \
+ ${pkgdir}/usr/share/licenses/${pkgname}/license.txt
+}
diff --git a/staging/qwt/qwtconfig-archlinux.pri b/staging/qwt/qwtconfig-archlinux.pri
new file mode 100644
index 000000000..520e32d4b
--- /dev/null
+++ b/staging/qwt/qwtconfig-archlinux.pri
@@ -0,0 +1,118 @@
+################################################################
+# Qwt Widget Library
+# Copyright (C) 1997 Josef Wilgen
+# Copyright (C) 2002 Uwe Rathmann
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the Qwt License, Version 1.0
+################################################################
+
+QWT_VER_MAJ = 6
+QWT_VER_MIN = 1
+QWT_VER_PAT = 0
+QWT_VERSION = $${QWT_VER_MAJ}.$${QWT_VER_MIN}.$${QWT_VER_PAT}
+
+######################################################################
+# Install paths
+######################################################################
+
+QWT_INSTALL_PREFIX = $$[QT_INSTALL_PREFIX]
+
+unix {
+ QWT_INSTALL_PREFIX = /usr
+}
+
+win32 {
+ QWT_INSTALL_PREFIX = C:/Qwt
+}
+
+QWT_INSTALL_DOCS = $${QWT_INSTALL_PREFIX}/share/doc/qwt
+QWT_INSTALL_HEADERS = $${QWT_INSTALL_PREFIX}/include/qwt
+QWT_INSTALL_LIBS = $${QWT_INSTALL_PREFIX}/lib
+
+######################################################################
+# Designer plugin
+######################################################################
+
+#QWT_INSTALL_PLUGINS = $${QWT_INSTALL_PREFIX}/plugins/designer
+# QWT_INSTALL_PLUGINS = $${QT_INSTALL_PREFIX}/plugins/designer
+
+######################################################################
+# Features
+# When building a Qwt application with qmake you might want to load
+# the compiler/linker flags, that are required to build a Qwt application
+# from qwt.prf. Therefore all you need to do is to add "CONFIG += qwt"
+# to your project file and take care, that qwt.prf can be found by qmake.
+# ( see http://doc.trolltech.com/4.7/qmake-advanced-usage.html#adding-new-configuration-features )
+# I recommend not to install the Qwt features together with the
+# Qt features, because you will have to reinstall the Qwt features,
+# with every Qt upgrade.
+######################################################################
+
+#QWT_INSTALL_FEATURES = $${QWT_INSTALL_PREFIX}/features
+# QWT_INSTALL_FEATURES = $${QT_INSTALL_PREFIX}/features
+
+######################################################################
+# Build the static/shared libraries.
+# If QwtDll is enabled, a shared library is built, otherwise
+# it will be a static library.
+######################################################################
+
+QWT_CONFIG += QwtDll
+
+######################################################################
+# QwtPlot enables all classes, that are needed to use the QwtPlot
+# widget.
+######################################################################
+
+QWT_CONFIG += QwtPlot
+
+######################################################################
+# QwtWidgets enables all classes, that are needed to use the all other
+# widgets (sliders, dials, ...), beside QwtPlot.
+######################################################################
+
+QWT_CONFIG += QwtWidgets
+
+######################################################################
+# If you want to display svg images on the plot canvas, or
+# export a plot to a SVG document
+######################################################################
+
+QWT_CONFIG += QwtSvg
+
+######################################################################
+# You can use the MathML renderer of the Qt solutions package to
+# enable MathML support in Qwt. Because of license implications
+# the ( modified ) code of the MML Widget solution is included and
+# linked together with the QwtMathMLTextEngine into an own library.
+# To use it you will have to add "CONFIG += qwtmathml"
+# to your qmake project file.
+######################################################################
+
+#QWT_CONFIG += QwtMathML
+
+######################################################################
+# If you want to build the Qwt designer plugin,
+# enable the line below.
+# Otherwise you have to build it from the designer directory.
+######################################################################
+
+QWT_CONFIG += QwtDesigner
+
+######################################################################
+# If you want to auto build the examples, enable the line below
+# Otherwise you have to build them from the examples directory.
+######################################################################
+
+#QWT_CONFIG += QwtExamples
+
+######################################################################
+# When Qt has been built as framework qmake ( qtAddLibrary ) wants
+# to link frameworks instead of regular libs
+######################################################################
+
+macx:CONFIG(qt_framework, qt_framework|qt_no_framework) {
+
+ QWT_CONFIG += QwtFramework
+}
diff --git a/staging/qwtplot3d/PKGBUILD b/staging/qwtplot3d/PKGBUILD
new file mode 100644
index 000000000..5b4b28295
--- /dev/null
+++ b/staging/qwtplot3d/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 131787 2011-07-15 09:10:59Z ronald $
+# Maintainer: damir <damir@archlinux.org>
+
+pkgname=qwtplot3d
+pkgver=0.2.7
+pkgrel=2
+pkgdesc="Qt/OpenGL-based C++ programming library containing 3d-widgets"
+arch=("i686" "x86_64")
+license=('custom:zlib')
+url="http://qwtplot3d.sourceforge.net/"
+depends=('qt' 'qwt' 'mesa')
+source=("http://downloads.sourceforge.net/sourceforge/qwtplot3d/qwtplot3d-$pkgver.tgz"
+ qwtplot3d-gcc44.patch)
+sha1sums=('4463fafb8420a91825e165da7a296aaabd70abea' '52fa169b651a98550f8a8391ddf52e0eaeb2c215')
+
+build() {
+ cd ${srcdir}/${pkgname}
+ patch -p1 < ../qwtplot3d-gcc44.patch
+
+ # build qwt:
+ qmake qwtplot3d.pro
+ make
+}
+
+package() {
+ cd ${srcdir}/${pkgname}
+
+ # install qwtplot3d: (by hand, because the Makefile do not provide a "install:")
+ install -d ${pkgdir}/usr/{include/qwtplot3d,lib}
+
+ for n in include/* ; do
+ cp -d $n ${pkgdir}/usr/include/qwtplot3d
+ done
+
+ for n in lib/libqwtplot3d.so* ; do
+ cp -d $n ${pkgdir}/usr/lib
+ done
+
+ # install custom license
+ install -Dm644 ${srcdir}/${pkgname}/COPYING ${pkgdir}/usr/share/licenses/qwtplot3d/LICENSE
+}
+
diff --git a/staging/qwtplot3d/qwtplot3d-gcc44.patch b/staging/qwtplot3d/qwtplot3d-gcc44.patch
new file mode 100644
index 000000000..a76fe831a
--- /dev/null
+++ b/staging/qwtplot3d/qwtplot3d-gcc44.patch
@@ -0,0 +1,12 @@
+diff -ur qwtplot3d-orig/include/qwt3d_function.h qwtplot3d/include/qwt3d_function.h
+--- qwtplot3d-orig/include/qwt3d_function.h 2009-07-25 18:18:58.000000000 -0400
++++ qwtplot3d/include/qwt3d_function.h 2009-07-25 18:19:19.000000000 -0400
+@@ -2,6 +2,7 @@
+ #define qwt3d_function_h__2004_03_05_13_51_begin_guarded_code
+
+ #include "qwt3d_gridmapping.h"
++#include <cstdio>
+
+ namespace Qwt3D
+ {
+Only in qwtplot3d/tmp: qwt3d_function.o
diff --git a/staging/socat/PKGBUILD b/staging/socat/PKGBUILD
new file mode 100644
index 000000000..458009ce3
--- /dev/null
+++ b/staging/socat/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 131647 2011-07-13 08:01:50Z bisson $
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+# Contributor: Juergen Hoetzel <juergen@archlinux.org>
+# Contributor: John Proctor <jproctor@prium.net>
+
+pkgname=socat
+pkgver=1.7.1.3
+pkgrel=3
+pkgdesc='Multipurpose relay'
+url='http://www.dest-unreach.org/socat/'
+license=('GPL2')
+arch=('i686' 'x86_64')
+depends=('readline' 'openssl')
+source=("http://www.dest-unreach.org/socat/download/${pkgname}-${pkgver}.tar.gz")
+sha1sums=('5a42275da0d8a5182452b36535a74c3cdf21793b')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure \
+ --prefix=/usr \
+ --mandir=/usr/share/man \
+ --disable-libwrap # only required while base/base-devel uses tcp_wrappers
+
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/testing/ardour/PKGBUILD b/testing/ardour/PKGBUILD
new file mode 100644
index 000000000..5780fa159
--- /dev/null
+++ b/testing/ardour/PKGBUILD
@@ -0,0 +1,73 @@
+# $Id: PKGBUILD 131778 2011-07-14 23:39:36Z schiv $
+# Maintainer: tobias <tobias@archlinux.org>
+# Maintainer: Ray Rashif <schiv@archlinux.org>
+# Contributor: Giovanni Scafora <giovanni@archlinux.org>
+
+# ardour, liblrdf and raptor are heavily dependent on each other. Updating of
+# one package mostly will require an update of all the other packages. I vote
+# for fixed dependencies speaking in terms of versions
+
+pkgname=ardour
+pkgver=2.8.11
+pkgrel=5
+pkgdesc="A multichannel hard disk recorder and digital audio workstation"
+arch=('i686' 'x86_64')
+url="http://ardour.org/"
+license=('GPL')
+depends=('liblrdf>=0.4.0-8' 'liblo' 'aubio' 'libusb-compat'
+ 'libgnomecanvasmm' 'soundtouch' 'slv2>=0.6.6-6')
+ # -rubberband -libgnomecanvas(+libgnomecanvasmm)
+ # +soundtouch (these +/- changes are for SYSLIBS)
+ # liblrdf versioned for https://bugs.archlinux.org/task/25005
+ # slv2 versioned for https://bugs.archlinux.org/task/25060
+makedepends=('scons' 'boost' 'pkg-config')
+changelog=${pkgname}.changelog
+source=(ftp://ftp.archlinux.org/other/ardour/${pkgname}-${pkgver}.tar.bz2
+ ${pkgname}.desktop
+ gcc46.patch
+ raptor2.patch)
+md5sums=('f451a8d0abc133a1700c3932e07a5612'
+ '8aeaf433ebf781733db48e5a16b0c4da'
+ 'd709add59911d099c813162448e4db99'
+ 'a26a9bec0968fa0630c70f70c54f67de')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ # gcc 4.6 compatibility
+ # http://tracker.ardour.org/view.php?id=3771
+ patch -Np1 -i "$srcdir/gcc46.patch"
+
+ # raptor2 compatibility
+ # https://bugs.archlinux.org/task/25060
+ # http://tracker.ardour.org/view.php?id=4179
+ patch -Np0 -i "$srcdir/raptor2.patch"
+
+ sed -i '/-O3/d' SConstruct
+
+ # use syslibs until internal sigc++ issue w/ latest gcc (?) resolves
+ # TODO: report upstream
+ scons ${MAKEFLAGS} ARCH="${CFLAGS}" \
+ PREFIX="/usr" \
+ DIST_LIBDIR="lib" \
+ FREEDESKTOP=0 \
+ FREESOUND=1 \
+ SYSLIBS=1 \
+ DESTDIR="${pkgdir}"
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ scons PREFIX="/usr" \
+ FREEDESKTOP=0 \
+ FREESOUND=1 \
+ SYSLIBS=1 \
+ DESTDIR="${pkgdir}" install
+
+ # install some freedesktop.org compatibility
+ install -Dm644 "${srcdir}/${pkgname}.desktop" \
+ "${pkgdir}/usr/share/applications/${pkgname}.desktop"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/testing/ardour/ardour.changelog b/testing/ardour/ardour.changelog
new file mode 100644
index 000000000..47c111f01
--- /dev/null
+++ b/testing/ardour/ardour.changelog
@@ -0,0 +1,49 @@
+15 Jul 2011 (GMT+8) Ray Rashif <schiv@archlinux.org>
+
+ * 2.8.11-5:
+ Resolve previous issues with slv2 & redland/rasqal/raptor
+ - just needed rebuild of slv2 against latest redland suite [1]
+ - also needed ardour buildsystem patch for raptor2 [1][2]
+ - bring back support for slv2
+
+ [1] https://bugs.archlinux.org/task/25060
+ [2] http://tracker.ardour.org/view.php?id=4179
+
+9 Jul 2011 (GMT+8) Ray Rashif <schiv@archlinux.org>
+
+ * 2.8.11-4:
+ Fix build failures and runtime segfaults
+ - gcc 4.6 patch
+ - enable SYSLIBS due to ardour sigc++ issues
+ - remove slv2 dep due to ardour rasqal incompatibility [1][2]
+
+ [1] https://bugs.archlinux.org/task/25060
+ [2] https://ardour.org/node/4301
+
+22 Feb 2011 (GMT+8) Ray Rashif <schiv@archlinux.org>
+
+ * 2.8.11-2 :
+ raptor rebuild
+
+9 Aug 2010 (GMT+8) Ray Rashif <schiv@archlinux.org>
+
+ * 2.8.11-1 :
+ Testing build.
+ Removed libgnomecanvasmm depend (ardour internal).
+ Removed soundtouch makedepend (ardour internal, unneded).
+ Added new depends
+ - slv2 ("LV2" plug-ins support)
+ - rubberband (can "do more" than soundtouch)
+ - libgnomecanvas
+ Not using SYSLIBS because upstream does not support it.
+ Namcap warnings can be ignored; they're ardour internals.
+
+ * PKGBUILD :
+ Minor cosmetic ammendments.
+
+ * ardour.changelog :
+ Added this changelog.
+ Only important changes will be logged.
+
+ * ardour.install :
+ Removed install scriptlet; old and deprecated information.
diff --git a/testing/ardour/ardour.desktop b/testing/ardour/ardour.desktop
new file mode 100644
index 000000000..b50f6c952
--- /dev/null
+++ b/testing/ardour/ardour.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=Ardour
+Comment=Multitrack hard disk recorder
+Exec=ardour2
+Icon=/usr/share/ardour2/icons/ardour_icon_48px.png
+Terminal=false
+Type=Application
+X-MultipleArgs=false
+Categories=GTK;Audio;AudioVideoEditing;AudioVideo;Video;
diff --git a/testing/ardour/gcc46.patch b/testing/ardour/gcc46.patch
new file mode 100644
index 000000000..d01610d1d
--- /dev/null
+++ b/testing/ardour/gcc46.patch
@@ -0,0 +1,42 @@
+diff -rupN ardour-2.8.11.old/libs/ardour/enums.cc ardour-2.8.11/libs/ardour/enums.cc
+--- ardour-2.8.11.old/libs/ardour/enums.cc 2010-04-20 13:28:37.000000000 -0400
++++ ardour-2.8.11/libs/ardour/enums.cc 2011-02-13 11:23:02.000000000 -0500
+@@ -31,7 +31,8 @@
+
+ using namespace std;
+ using namespace PBD;
+-using namespace ARDOUR;
++namespace ARDOUR
++{
+
+ void
+ setup_enum_writer ()
+@@ -362,3 +363,5 @@ setup_enum_writer ()
+ REGISTER (_Track_FreezeState);
+
+ }
++
++}
+diff -rupN ardour-2.8.11.old/libs/rubberband/rubberband/RubberBandStretcher.h ardour-2.8.11/libs/rubberband/rubberband/RubberBandStretcher.h
+--- ardour-2.8.11.old/libs/rubberband/rubberband/RubberBandStretcher.h 2009-03-26 10:25:40.000000000 -0400
++++ ardour-2.8.11/libs/rubberband/rubberband/RubberBandStretcher.h 2011-02-09 21:41:04.000000000 -0500
+@@ -19,6 +19,7 @@
+ #define RUBBERBAND_API_MAJOR_VERSION 2
+ #define RUBBERBAND_API_MINOR_VERSION 0
+
++#include <cstddef>
+ #include <vector>
+
+ /**
+diff -rupN ardour-2.8.11.old/libs/surfaces/wiimote/wiimote.cc ardour-2.8.11/libs/surfaces/wiimote/wiimote.cc
+--- ardour-2.8.11.old/libs/surfaces/wiimote/wiimote.cc 2009-02-24 07:38:19.000000000 -0500
++++ ardour-2.8.11/libs/surfaces/wiimote/wiimote.cc 2011-02-13 11:23:24.000000000 -0500
+@@ -177,7 +177,7 @@ wiimote_discovery:
+ std::cerr << "Wiimote: discovering, press 1+2" << std::endl;
+
+ while (!wiimote_handle && !main_thread_quit) {
+- bdaddr = *BDADDR_ANY;
++ bdaddr = (bdaddr_t) {{0, 0, 0, 0, 0, 0}};
+ callback_thread_registered_for_ardour = false;
+ wiimote_handle = cwiid_open(&bdaddr, 0);
+
diff --git a/testing/ardour/raptor2.patch b/testing/ardour/raptor2.patch
new file mode 100644
index 000000000..fe7cacff3
--- /dev/null
+++ b/testing/ardour/raptor2.patch
@@ -0,0 +1,57 @@
+Index: SConstruct
+===================================================================
+--- SConstruct (revision 9877)
++++ SConstruct (revision 9878)
+@@ -431,7 +431,6 @@
+ 'gtk+-2.0' : '2.8.1',
+ 'libxml-2.0' : '2.6.0',
+ 'samplerate' : '0.1.0',
+- 'raptor' : '1.4.2',
+ 'lrdf' : '0.4.0',
+ 'jack' : '0.109.0',
+ 'libgnomecanvas-2.0' : '2.0',
+@@ -487,7 +486,10 @@
+
+ libraries['core'] = LibraryInfo (CCFLAGS = '-Ilibs')
+
+-conf = env.Configure (custom_tests = { 'CheckPKGExists' : CheckPKGExists } )
++conf = env.Configure (custom_tests = { 'CheckPKGExists' : CheckPKGExists,
++ 'CheckPKGVersion' : CheckPKGVersion }
++ )
++
+
+ if conf.CheckPKGExists ('fftw3f'):
+ libraries['fftw3f'] = LibraryInfo()
+@@ -501,6 +503,22 @@
+ libraries['aubio'] = LibraryInfo()
+ libraries['aubio'].ParseConfig('pkg-config --cflags --libs aubio')
+
++raptorOK = 0
++
++if conf.CheckPKGExists ('raptor2'):
++ libraries['raptor'] = LibraryInfo()
++ libraries['raptor'].ParseConfig('pkg-config --cflags --libs raptor2')
++ raptorOK = 1
++else:
++ if conf.CheckPKGExists ('raptor') and conf.CheckPKGVersion (pkg, '1.4.2'):
++ libraries['raptor'] = LibraryInfo()
++ libraries['raptor'].ParseConfig('pkg-config --cflags --libs raptor')
++ raptorOK = 1
++
++if raptorOK == 0:
++ print "Ardour requires either raptor or raptor2 to be available at build time"
++ Exit (1)
++
+ env = conf.Finish ()
+
+ if env['FFT_ANALYSIS']:
+@@ -570,9 +588,6 @@
+ libraries['lrdf'] = LibraryInfo()
+ libraries['lrdf'].ParseConfig('pkg-config --cflags --libs lrdf')
+
+-libraries['raptor'] = LibraryInfo()
+-libraries['raptor'].ParseConfig('pkg-config --cflags --libs raptor')
+-
+ libraries['sndfile'] = LibraryInfo()
+ libraries['sndfile'].ParseConfig ('pkg-config --cflags --libs sndfile')
+
diff --git a/testing/esound/PKGBUILD b/testing/esound/PKGBUILD
new file mode 100644
index 000000000..b6d035b22
--- /dev/null
+++ b/testing/esound/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id: PKGBUILD 131830 2011-07-16 00:02:10Z dreisner $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+pkgname=esound
+pkgver=0.2.41
+pkgrel=2
+pkgdesc="Enlightened Sound Daemon"
+arch=(i686 x86_64)
+license=('LGPL')
+depends=('audiofile' 'alsa-lib>=1.0.18')
+url="http://www.tux.org/~ricdude/EsounD.html"
+provides=("esd=${pkgver}")
+replaces=('esd')
+conflicts=('esd')
+backup=('etc/esd.conf')
+options=('!libtool')
+source=(http://ftp.gnome.org/pub/GNOME/sources/${pkgname}/0.2/${pkgname}-${pkgver}.tar.bz2
+ esd-0.2.38-alsa-drain.patch
+ esd)
+md5sums=('8d9aad3d94d15e0d59ba9dc0ea990c6c'
+ '3de93efcd1bc196a3585e6aef50eac48'
+ 'a4c76e7c7f75b201ea7ab6fb15b47472')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i "${srcdir}/esd-0.2.38-alsa-drain.patch"
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var --disable-static \
+ --with-audiofile --without-libwrap \
+ --enable-alsa --disable-artstest
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/etc/rc.d"
+ install -m755 "${srcdir}/esd" "${pkgdir}/etc/rc.d/esd"
+}
diff --git a/testing/esound/esd b/testing/esound/esd
new file mode 100755
index 000000000..d90ef55fa
--- /dev/null
+++ b/testing/esound/esd
@@ -0,0 +1,37 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pidof -o %PPID /usr/bin/esd`
+case "$1" in
+ start)
+ stat_busy "Starting Esound Daemon"
+ if [ -z "$PID" ]; then
+ /usr/bin/esd -nobeeps &
+ fi
+ if [ ! -z "$PID" -o $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon esd
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping Esound Daemon"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon esd
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
diff --git a/testing/esound/esd-0.2.38-alsa-drain.patch b/testing/esound/esd-0.2.38-alsa-drain.patch
new file mode 100644
index 000000000..f2fb716ba
--- /dev/null
+++ b/testing/esound/esd-0.2.38-alsa-drain.patch
@@ -0,0 +1,11 @@
+--- esound-0.2.38/audio_alsa09.c.old 2007-06-11 12:22:24.000000000 +0200
++++ esound-0.2.38/audio_alsa09.c 2007-06-11 12:22:49.000000000 +0200
+@@ -486,7 +486,7 @@ void esd_audio_flush(void)
+ }
+
+ if (alsa_playback_handle != NULL)
+- snd_pcm_drain( alsa_playback_handle );
++ snd_pcm_drop( alsa_playback_handle );
+
+ if (alsadbg)
+ print_state();
diff --git a/testing/file/PKGBUILD b/testing/file/PKGBUILD
new file mode 100644
index 000000000..2a5489e9d
--- /dev/null
+++ b/testing/file/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 131726 2011-07-14 01:54:47Z allan $
+# Maintainer: Allan McRae <allan@archlinux.org>
+# Contributor: Andreas Radke <andyrtr@archlinux.org>
+
+pkgname=file
+pkgver=5.07
+pkgrel=4
+pkgdesc="File type identification utility"
+arch=('i686' 'x86_64')
+license=('custom')
+groups=('base')
+url="http://www.darwinsys.com/file/"
+depends=('glibc' 'zlib')
+options=('!libtool')
+source=(ftp://ftp.astron.com/pub/${pkgname}/${pkgname}-${pkgver}.tar.gz
+ file-5.07-zip-detect.patch)
+md5sums=('b8d1f9a8a644067bd0a703cebf3f4858'
+ 'ac155cf89af6665dfee76738c27366d8')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ sed -i 's#\$(datadir)/misc#\$(datadir)#' configure
+
+ # combined upstream patches to fix zip file detection
+ patch -Np1 -i ${srcdir}/file-5.07-zip-detect.patch
+
+ ./configure --prefix=/usr --datadir=/usr/share/file
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR=${pkgdir} install
+ install -dm755 ${pkgdir}/usr/share/misc
+ ln -s ../file/magic.mgc ${pkgdir}/usr/share/misc
+
+ install -D -m644 COPYING ${pkgdir}/usr/share/licenses/${pkgname}/COPYING
+}
diff --git a/testing/file/file-5.07-zip-detect.patch b/testing/file/file-5.07-zip-detect.patch
new file mode 100644
index 000000000..ce433bb90
--- /dev/null
+++ b/testing/file/file-5.07-zip-detect.patch
@@ -0,0 +1,40 @@
+diff -Naur file-5.07-orig//magic/Magdir/archive file-5.07/magic/Magdir/archive
+--- file-5.07-orig//magic/Magdir/archive 2011-04-24 01:02:48.000000000 +1000
++++ file-5.07/magic/Magdir/archive 2011-07-14 11:55:11.821178049 +1000
+@@ -1,5 +1,5 @@
+ #------------------------------------------------------------------------------
+-# $File: archive,v 1.63 2011/04/23 15:02:48 christos Exp $
++# $File: archive,v 1.66 2011/05/25 17:45:54 christos Exp $
+ # archive: file(1) magic for archive formats (see also "msdos" for self-
+ # extracting compressed archives)
+ #
+@@ -654,12 +654,6 @@
+ >>>>78 string -template Template
+ !:mime application/vnd.oasis.opendocument.image-template
+
+-# StarView Metafile
+-# From Pierre Ducroquet <pinaraf@pinaraf.info>
+-0 string VCLMTF StarView MetaFile
+->6 beshort x \b, version %d
+->8 belong x \b, size %d
+-
+ # EPUB (OEBPS) books using OCF (OEBPS Container Format)
+ # From: Adam Buchbinder <adam.buchbinder@gmail.com>
+ # http://www.idpf.org/ocf/ocf1.0/download/ocf10.htm, section 4.
+@@ -692,8 +686,15 @@
+ >>4 byte 0x09 \b, at least v0.9 to extract
+ >>4 byte 0x0a \b, at least v1.0 to extract
+ >>4 byte 0x0b \b, at least v1.1 to extract
+->>0x161 string WINZIP \b, WinZIP self-extracting
+ >>4 byte 0x14 \b, at least v2.0 to extract
++>>4 byte 0x2d \b, at least v3.0 to extract
++>>0x161 string WINZIP \b, WinZIP self-extracting
++
++# StarView Metafile
++# From Pierre Ducroquet <pinaraf@pinaraf.info>
++0 string VCLMTF StarView MetaFile
++>6 beshort x \b, version %d
++>8 belong x \b, size %d
+
+ # Zoo archiver
+ 20 lelong 0xfdc4a7dc Zoo archive data
diff --git a/testing/inetutils/PKGBUILD b/testing/inetutils/PKGBUILD
new file mode 100644
index 000000000..19feb931e
--- /dev/null
+++ b/testing/inetutils/PKGBUILD
@@ -0,0 +1,62 @@
+# $Id: PKGBUILD 131824 2011-07-15 23:53:22Z dan $
+# Maintainer: Eric Belanger <eric@archlinux.org>
+
+pkgname=inetutils
+pkgver=1.8
+pkgrel=3
+pkgdesc="A collection of common network programs"
+arch=('i686' 'x86_64')
+url="http://www.gnu.org/software/inetutils/"
+license=('GPL')
+depends=('readline' 'ncurses' 'pam')
+provides=('netkit-ftp' 'netkit-rsh' 'netkit-telnet' 'netkit-ntalk')
+conflicts=('netkit-ftp' 'netkit-rsh' 'netkit-telnet' 'netkit-ntalk')
+replaces=('netkit-ftp' 'netkit-rsh' 'netkit-telnet' 'netkit-ntalk')
+backup=('etc/conf.d/ftpd' 'etc/xinetd.d/telnet' 'etc/xinetd.d/talk' \
+ 'etc/xinetd.d/rexec' 'etc/xinetd.d/rlogin' 'etc/xinetd.d/rsh')
+options=('!emptydirs')
+install=inetutils.install
+source=(http://ftp.gnu.org/gnu/inetutils/${pkgname}-${pkgver}.tar.gz \
+ ftpd.rc ftpd.conf telnet.xinetd talk.xinetd rexec.xinetd rlogin.xinetd rsh.xinetd)
+md5sums=('ad8fdcdf1797b9ca258264a6b04e48fd' 'c167200f6faeb64659e69ced2a9d672a'\
+ 'e6e6e5990a2e8159a276fef8fbf54c04' '8596208d119045543c5fb644e1d713d5'\
+ '2c3655985cf122591d71d031af84ff90' 'c490ea36751ac5f1d61d2c014959a3d1'\
+ 'c25d8382a994de84d9c6962d804f689b' 'c3aa508a9d1293a787341108cd49c1b7')
+sha1sums=('598445859b511f73681e4d74a41d65cd6ae0f83e' '84dc802b5e57b5e04c847572225a3b9612017155'\
+ '68a590083b45997dfdb80e666b2de762f494ba74' 'bfad98a4a62f1fff8779f076c6019ed07f9111af'\
+ '27d99b910eec0fc26bd79ccc2c1de26608330298' '87aa4f38ebee9dac5dcaa04cbc3f2f0906bec605'\
+ '81f10b3b688e3952f793b35bcef63b5bf257a92b' '81f4a8da823cf0bb14284fc71ee6108849691eda')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --libexec=/usr/sbin --localstatedir=/var \
+ --mandir=/usr/share/man --infodir=/usr/share/info \
+ --without-wrap --with-pam \
+ --enable-ftp --enable-ftpd \
+ --enable-telnet --enable-telnetd \
+ --enable-talk --enable-talkd \
+ --enable-rlogin --enable-rlogind \
+ --enable-rsh --enable-rshd \
+ --enable-rexec --enable-rexecd \
+ --enable-rcp \
+ --disable-tftp --disable-tftpd \
+ --disable-ping --disable-ping6 \
+ --disable-logger --disable-syslogd \
+ --disable-inetd --disable-whois \
+ --disable-uucpd --disable-hostname \
+ --disable-ifconfig --disable-traceroute
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ install -D -m755 "${srcdir}/ftpd.rc" "${pkgdir}/etc/rc.d/ftpd"
+ install -D -m644 "${srcdir}/ftpd.conf" "${pkgdir}/etc/conf.d/ftpd"
+ install -D -m644 "${srcdir}/telnet.xinetd" "${pkgdir}/etc/xinetd.d/telnet"
+ install -D -m644 "${srcdir}/talk.xinetd" "${pkgdir}/etc/xinetd.d/talk"
+ install -D -m644 "${srcdir}/rexec.xinetd" "${pkgdir}/etc/xinetd.d/rexec"
+ install -D -m644 "${srcdir}/rlogin.xinetd" "${pkgdir}/etc/xinetd.d/rlogin"
+ install -D -m644 "${srcdir}/rsh.xinetd" "${pkgdir}/etc/xinetd.d/rsh"
+}
diff --git a/testing/inetutils/ftpd.conf b/testing/inetutils/ftpd.conf
new file mode 100644
index 000000000..f660f0035
--- /dev/null
+++ b/testing/inetutils/ftpd.conf
@@ -0,0 +1,4 @@
+#
+# Parameters to be passed to ftpd
+#
+FTPD_ARGS=""
diff --git a/testing/inetutils/ftpd.rc b/testing/inetutils/ftpd.rc
new file mode 100644
index 000000000..3d0d34421
--- /dev/null
+++ b/testing/inetutils/ftpd.rc
@@ -0,0 +1,37 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/ftpd
+
+PID=$(pidof -o %PPID /usr/sbin/ftpd)
+case "$1" in
+ start)
+ stat_busy "Starting ftpd"
+ [ -z "$PID" ] && /usr/sbin/ftpd -D $FTPD_ARGS
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon ftpd
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping ftpd"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon ftpd
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/testing/inetutils/inetutils.install b/testing/inetutils/inetutils.install
new file mode 100644
index 000000000..b338fa498
--- /dev/null
+++ b/testing/inetutils/inetutils.install
@@ -0,0 +1,20 @@
+infodir=/usr/share/info
+filelist=(inetutils.info.gz)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file $infodir/dir 2> /dev/null
+ done
+}
diff --git a/testing/inetutils/rexec.xinetd b/testing/inetutils/rexec.xinetd
new file mode 100644
index 000000000..4659e4745
--- /dev/null
+++ b/testing/inetutils/rexec.xinetd
@@ -0,0 +1,10 @@
+service exec
+{
+ flags = REUSE
+ socket_type = stream
+ wait = no
+ user = root
+ server = /usr/sbin/rexecd
+ log_on_failure += USERID
+ disable = yes
+}
diff --git a/testing/inetutils/rlogin.xinetd b/testing/inetutils/rlogin.xinetd
new file mode 100644
index 000000000..5c72f86df
--- /dev/null
+++ b/testing/inetutils/rlogin.xinetd
@@ -0,0 +1,10 @@
+service login
+{
+ flags = REUSE
+ socket_type = stream
+ wait = no
+ user = root
+ server = /usr/sbin/rlogind
+ log_on_failure += USERID
+ disable = yes
+}
diff --git a/testing/inetutils/rsh.xinetd b/testing/inetutils/rsh.xinetd
new file mode 100644
index 000000000..a13738c31
--- /dev/null
+++ b/testing/inetutils/rsh.xinetd
@@ -0,0 +1,10 @@
+service shell
+{
+ flags = REUSE
+ socket_type = stream
+ wait = no
+ user = root
+ server = /usr/sbin/rshd
+ log_on_failure += USERID
+ disable = yes
+}
diff --git a/testing/inetutils/talk.xinetd b/testing/inetutils/talk.xinetd
new file mode 100644
index 000000000..6abef359c
--- /dev/null
+++ b/testing/inetutils/talk.xinetd
@@ -0,0 +1,10 @@
+service ntalk
+{
+ flags = REUSE
+ socket_type = dgram
+ wait = yes
+ user = root
+ server = /usr/sbin/talkd
+ log_on_failure += USERID
+ disable = yes
+}
diff --git a/testing/inetutils/telnet.xinetd b/testing/inetutils/telnet.xinetd
new file mode 100644
index 000000000..bd3a5e4b1
--- /dev/null
+++ b/testing/inetutils/telnet.xinetd
@@ -0,0 +1,10 @@
+service telnet
+{
+ flags = REUSE
+ socket_type = stream
+ wait = no
+ user = root
+ server = /usr/sbin/telnetd
+ log_on_failure += USERID
+ disable = yes
+}
diff --git a/testing/mesa/linking_fix.patch b/testing/mesa/linking_fix.patch
new file mode 100644
index 000000000..34ed7902d
--- /dev/null
+++ b/testing/mesa/linking_fix.patch
@@ -0,0 +1,22 @@
+From 5fe5d236c26b3b2428bc7395304e40cf21d3d3e1 Mon Sep 17 00:00:00 2001
+From: Chia-I Wu <olv@lunarg.com>
+Date: Wed, 13 Jul 2011 07:25:46 +0000
+Subject: targets/egl-static: fix a linking error
+
+rbug is always linked in and it needs libpthread.
+---
+diff --git a/src/gallium/targets/egl-static/Makefile b/src/gallium/targets/egl-static/Makefile
+index 832d7ba..69e7eec 100644
+--- a/src/gallium/targets/egl-static/Makefile
++++ b/src/gallium/targets/egl-static/Makefile
+@@ -42,7 +42,7 @@ egl_CPPFLAGS += \
+ -I$(TOP)/src/egl/main \
+ -D_EGL_MAIN=_eglMain
+ egl_LIBS += $(TOP)/src/gallium/state_trackers/egl/libegl.a
+-egl_SYS += $(LIBUDEV_LIBS) $(DLOPEN_LIBS) -lEGL -lm
++egl_SYS += $(LIBUDEV_LIBS) $(DLOPEN_LIBS) -lEGL -lm -lpthread
+
+ # EGL platforms
+ ifneq ($(findstring x11, $(EGL_PLATFORMS)),)
+--
+cgit v0.8.3-6-g21f6
diff --git a/testing/mysql/PKGBUILD b/testing/mysql/PKGBUILD
new file mode 100644
index 000000000..54248034e
--- /dev/null
+++ b/testing/mysql/PKGBUILD
@@ -0,0 +1,130 @@
+# $Id: PKGBUILD 131641 2011-07-13 07:03:22Z andrea $
+# Maintainer: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
+# Contributor: judd <jvinet@zeroflux.org>
+
+pkgbase=mysql
+pkgname=('libmysqlclient' 'mysql-clients' 'mysql')
+pkgver=5.5.14
+pkgrel=2
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://www.mysql.com/"
+makedepends=('cmake' 'openssl' 'zlib')
+options=('!libtool')
+source=("http://ftp.gwdg.de/pub/misc/mysql/Downloads/MySQL-5.5/${pkgbase}-${pkgver}.tar.gz"
+ 'mysqld'
+ 'my.cnf')
+md5sums=('19f43bb9c72b1b5f7ff86a7f921c9244'
+ '2234207625baa29b2ff7d7b4f088abce'
+ '1c949c0dbea5206af0db14942d9927b6')
+
+build() {
+ cd "${srcdir}"
+ mkdir build
+ cd build
+
+ # CFLAGS/CXXFLAGS as suggested upstream
+ CFLAGS="-fPIC ${CFLAGS} -fno-strict-aliasing -DBIG_JOINS=1 -fomit-frame-pointer" \
+ CXXFLAGS="-fPIC ${CXXFLAGS} -fno-strict-aliasing -DBIG_JOINS=1 -felide-constructors -fno-rtti" \
+
+ cmake ../${pkgbase}-${pkgver} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DSYSCONFDIR=/etc/mysql \
+ -DMYSQL_DATADIR=/var/lib/mysql \
+ -DMYSQL_UNIX_ADDR=/var/run/mysqld/mysqld.sock \
+ -DDEFAULT_CHARSET=utf8 \
+ -DDEFAULT_COLLATION=utf8_general_ci \
+ -DENABLED_LOCAL_INFILE=ON \
+ -DINSTALL_INFODIR=share/mysql/docs \
+ -DINSTALL_MANDIR=share/man \
+ -DINSTALL_PLUGINDIR=/usr/lib/mysql/plugin \
+ -DINSTALL_SCRIPTDIR=bin \
+ -DINSTALL_INCLUDEDIR=include/mysql \
+ -DINSTALL_DOCREADMEDIR=share/mysql \
+ -DINSTALL_SUPPORTFILESDIR=share/mysql \
+ -DINSTALL_MYSQLSHAREDIR=share/mysql \
+ -DINSTALL_DOCDIR=share/mysql/docs \
+ -DINSTALL_SHAREDIR=share/mysql \
+ -DWITH_READLINE=ON \
+ -DWITH_ZLIB=system \
+ -DWITH_SSL=system \
+ -DWITH_LIBWRAP=OFF \
+ -DWITH_MYSQLD_LDFLAGS="${LDFLAGS}" \
+ -DWITH_EXTRA_CHARSETS=complex \
+ -DWITH_EMBEDDED_SERVER=ON \
+ -DWITH_INNOBASE_STORAGE_ENGINE=1 \
+ -DWITH_PARTITION_STORAGE_ENGINE=1 \
+ -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
+ -DWITHOUT_ARCHIVE_STORAGE_ENGINE=1 \
+ -DWITHOUT_BLACKHOLE_STORAGE_ENGINE=1 \
+ -DWITHOUT_FEDERATED_STORAGE_ENGINE=1
+
+ make
+}
+
+package_libmysqlclient(){
+ pkgdesc="MySQL client libraries"
+ depends=('openssl')
+
+ cd "${srcdir}"/build
+ for dir in include libmysql libmysqld libservices; do
+ make -C ${dir} DESTDIR="${pkgdir}" install
+ done
+
+ install -d "${pkgdir}"/usr/bin
+ install -m755 scripts/mysql_config "${pkgdir}"/usr/bin/
+ install -d "${pkgdir}"/usr/share/man/man1
+ for man in mysql_config mysql_client_test_embedded mysqltest_embedded; do
+ install -m644 "${srcdir}"/${pkgbase}-${pkgver}/man/$man.1 "${pkgdir}"/usr/share/man/man1/$man.1
+ done
+}
+
+package_mysql-clients(){
+ pkgdesc="MySQL client tools"
+ depends=('libmysqlclient')
+
+ cd "${srcdir}"/build
+ make -C client DESTDIR="${pkgdir}" install
+
+ # install man pages
+ install -d "${pkgdir}"/usr/share/man/man1
+ for man in mysql mysqladmin mysqlcheck mysqldump mysqlimport mysqlshow mysqlslap; do
+ install -m644 "${srcdir}"/${pkgbase}-${pkgver}/man/$man.1 "${pkgdir}"/usr/share/man/man1/$man.1
+ done
+
+ # provided by mysql
+ rm "${pkgdir}"/usr/bin/{mysql_upgrade,mysqlbinlog,mysqltest}
+}
+
+package_mysql(){
+ pkgdesc="A fast SQL database server"
+ backup=('etc/mysql/my.cnf')
+ install=mysql.install
+ depends=('mysql-clients' 'net-tools')
+ optdepends=('perl-dbi' 'perl-dbd-mysql')
+ options=('emptydirs')
+
+ cd "${srcdir}"/build
+ make DESTDIR="${pkgdir}" install
+
+ install -Dm644 "${srcdir}"/my.cnf "${pkgdir}"/etc/mysql/my.cnf
+ install -Dm755 "${srcdir}"/mysqld "${pkgdir}"/etc/rc.d/mysqld
+
+ # provided by libmysqlclient
+ rm "${pkgdir}"/usr/bin/{mysql_config,mysql_client_test_embedded,mysqltest_embedded}
+ rm "${pkgdir}"/usr/lib/libmysql*
+ rm -r "${pkgdir}"/usr/include/
+ rm "${pkgdir}"/usr/share/man/man1/{mysql_config,mysql_client_test_embedded,mysqltest_embedded}.1
+
+ # provided by mysql-clients
+ rm "${pkgdir}"/usr/bin/{mysql,mysqladmin,mysqlcheck,mysqldump,mysqlimport,mysqlshow,mysqlslap}
+ rm "${pkgdir}"/usr/share/man/man1/{mysql,mysqladmin,mysqlcheck,mysqldump,mysqlimport,mysqlshow,mysqlslap}.1
+
+ # not needed
+ rm -r "${pkgdir}"/usr/{data,mysql-test,sql-bench}
+ rm "${pkgdir}"/usr/share/man/man1/mysql-test-run.pl.1
+
+ install -dm700 "${pkgdir}"/var/lib/mysql
+}
diff --git a/testing/mysql/my.cnf b/testing/mysql/my.cnf
new file mode 100644
index 000000000..9a41b4fc3
--- /dev/null
+++ b/testing/mysql/my.cnf
@@ -0,0 +1,145 @@
+# MySQL config file for medium systems.
+#
+# This is for a system with little memory (32M - 64M) where MySQL plays
+# an important part, or systems up to 128M where MySQL is used together with
+# other programs (such as a web server)
+#
+# MySQL programs look for option files in a set of
+# locations which depend on the deployment platform.
+# You can copy this option file to one of those
+# locations. For information about these locations, see:
+# http://dev.mysql.com/doc/mysql/en/option-files.html
+#
+# In this file, you can use all long options that a program supports.
+# If you want to know which options a program supports, run the program
+# with the "--help" option.
+
+# The following options will be passed to all MySQL clients
+[client]
+#password = your_password
+port = 3306
+socket = /var/run/mysqld/mysqld.sock
+
+# Here follows entries for some specific programs
+
+# The MySQL server
+[mysqld]
+port = 3306
+socket = /var/run/mysqld/mysqld.sock
+datadir = /var/lib/mysql
+skip-external-locking
+key_buffer_size = 16M
+max_allowed_packet = 1M
+table_open_cache = 64
+sort_buffer_size = 512K
+net_buffer_length = 8K
+read_buffer_size = 256K
+read_rnd_buffer_size = 512K
+myisam_sort_buffer_size = 8M
+
+# Don't listen on a TCP/IP port at all. This can be a security enhancement,
+# if all processes that need to connect to mysqld run on the same host.
+# All interaction with mysqld must be made via Unix sockets or named pipes.
+# Note that using this option without enabling named pipes on Windows
+# (via the "enable-named-pipe" option) will render mysqld useless!
+#
+skip-networking
+
+# Replication Master Server (default)
+# binary logging is required for replication
+log-bin=mysql-bin
+
+# binary logging format - mixed recommended
+binlog_format=mixed
+
+# required unique id between 1 and 2^32 - 1
+# defaults to 1 if master-host is not set
+# but will not function as a master if omitted
+server-id = 1
+
+# Replication Slave (comment out master section to use this)
+#
+# To configure this host as a replication slave, you can choose between
+# two methods :
+#
+# 1) Use the CHANGE MASTER TO command (fully described in our manual) -
+# the syntax is:
+#
+# CHANGE MASTER TO MASTER_HOST=<host>, MASTER_PORT=<port>,
+# MASTER_USER=<user>, MASTER_PASSWORD=<password> ;
+#
+# where you replace <host>, <user>, <password> by quoted strings and
+# <port> by the master's port number (3306 by default).
+#
+# Example:
+#
+# CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306,
+# MASTER_USER='joe', MASTER_PASSWORD='secret';
+#
+# OR
+#
+# 2) Set the variables below. However, in case you choose this method, then
+# start replication for the first time (even unsuccessfully, for example
+# if you mistyped the password in master-password and the slave fails to
+# connect), the slave will create a master.info file, and any later
+# change in this file to the variables' values below will be ignored and
+# overridden by the content of the master.info file, unless you shutdown
+# the slave server, delete master.info and restart the slaver server.
+# For that reason, you may want to leave the lines below untouched
+# (commented) and instead use CHANGE MASTER TO (see above)
+#
+# required unique id between 2 and 2^32 - 1
+# (and different from the master)
+# defaults to 2 if master-host is set
+# but will not function as a slave if omitted
+#server-id = 2
+#
+# The replication master for this slave - required
+#master-host = <hostname>
+#
+# The username the slave will use for authentication when connecting
+# to the master - required
+#master-user = <username>
+#
+# The password the slave will authenticate with when connecting to
+# the master - required
+#master-password = <password>
+#
+# The port the master is listening on.
+# optional - defaults to 3306
+#master-port = <port>
+#
+# binary logging - not required for slaves, but recommended
+#log-bin=mysql-bin
+
+# Uncomment the following if you are using InnoDB tables
+#innodb_data_home_dir = /var/lib/mysql
+#innodb_data_file_path = ibdata1:10M:autoextend
+#innodb_log_group_home_dir = /var/lib/mysql
+# You can set .._buffer_pool_size up to 50 - 80 %
+# of RAM but beware of setting memory usage too high
+#innodb_buffer_pool_size = 16M
+#innodb_additional_mem_pool_size = 2M
+# Set .._log_file_size to 25 % of buffer pool size
+#innodb_log_file_size = 5M
+#innodb_log_buffer_size = 8M
+#innodb_flush_log_at_trx_commit = 1
+#innodb_lock_wait_timeout = 50
+
+[mysqldump]
+quick
+max_allowed_packet = 16M
+
+[mysql]
+no-auto-rehash
+# Remove the next comment character if you are not familiar with SQL
+#safe-updates
+
+[myisamchk]
+key_buffer_size = 20M
+sort_buffer_size = 20M
+read_buffer = 2M
+write_buffer = 2M
+
+[mysqlhotcopy]
+interactive-timeout
diff --git a/testing/mysql/mysql.install b/testing/mysql/mysql.install
new file mode 100644
index 000000000..9a4479215
--- /dev/null
+++ b/testing/mysql/mysql.install
@@ -0,0 +1,26 @@
+post_install(){
+ groupadd -g 89 mysql &>/dev/null
+ useradd -u 89 -g mysql -d /var/lib/mysql -s /bin/false mysql &>/dev/null
+ usr/bin/mysql_install_db --user=mysql --basedir=/usr
+ chown -R mysql:mysql var/lib/mysql &>/dev/null
+}
+
+post_upgrade(){
+ getent group mysql >/dev/null 2>&1 || groupadd -g 89 mysql &>/dev/null
+ getent passwd mysql >/dev/null 2>&1 || useradd -u 89 -g mysql -d /var/lib/mysql -s /bin/false mysql &>/dev/null
+
+ if [ "$(vercmp $2 5.5)" -lt 0 ]; then
+ echo " >> "
+ echo " >> Major version update. Consider restart the service, and then running mysql_upgrade after it."
+ echo " >> "
+ fi
+}
+
+post_remove(){
+ if getent passwd mysql >/dev/null 2>&1; then
+ userdel mysql
+ fi
+ if getent group mysql >/dev/null 2>&1; then
+ groupdel mysql
+ fi
+}
diff --git a/testing/mysql/mysqld b/testing/mysql/mysqld
new file mode 100755
index 000000000..1ac88a7cc
--- /dev/null
+++ b/testing/mysql/mysqld
@@ -0,0 +1,77 @@
+#!/bin/bash
+
+# general config
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+getPID() {
+ echo $(pgrep -u mysql mysqld 2>/dev/null);
+}
+
+case "$1" in
+ start)
+ stat_busy "Starting MySQL Server"
+ [ ! -d /var/run/mysqld ] && install -d -g mysql -o mysql /var/run/mysqld &>/dev/null
+ if [ -z "$(getPID)" ]; then
+ /usr/bin/mysqld_safe --user=mysql &>/dev/null &
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 1
+ else
+ timeo=30
+ while [ $timeo -gt 0 ]; do
+ response=`/usr/bin/mysqladmin -uUNKNOWN_USER ping 2>&1` && break
+ echo "$response" | grep -q "mysqld is alive" && break
+ sleep 1
+ let timeo=${timeo}-1
+ done
+ if [ $timeo -eq 0 ]; then
+ stat_fail
+ exit 1
+ else
+ echo $(getPID) > /var/run/mysqld/mysqld.pid
+ add_daemon mysqld
+ stat_done
+ fi
+ fi
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+
+ stop)
+ stat_busy "Stopping MySQL Server"
+ if [ ! -z "$(getPID)" ]; then
+ timeo=30
+ kill $(getPID) &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 1
+ fi
+ while [ ! -z "$(getPID)" -a $timeo -gt 0 ]; do
+ sleep 1
+ let timeo=${timeo}-1
+ done
+ if [ -z "$(getPID)" ]; then
+ rm -f /var/run/mysqld/mysqld.pid &>/dev/null
+ rm_daemon mysqld
+ stat_done
+ else
+ stat_fail
+ exit 1
+ fi
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+
+ restart)
+ $0 stop
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/testing/net-snmp/PKGBUILD b/testing/net-snmp/PKGBUILD
new file mode 100644
index 000000000..a1f72cb01
--- /dev/null
+++ b/testing/net-snmp/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id: PKGBUILD 131650 2011-07-13 08:13:14Z andrea $
+# Maintainer: Eric Belanger <eric@archlinux.org>
+# Contributor: Dale Blount <dale@archlinux.org>
+
+pkgname=net-snmp
+pkgver=5.6.1
+pkgrel=3
+pkgdesc="A suite of applications used to implement SNMP v1, SNMP v2c and SNMP v3 using both IPv4 and IPv6"
+arch=('i686' 'x86_64')
+url="http://www.net-snmp.org/"
+license=('custom')
+depends=('openssl' 'libnl')
+makedepends=('setuptools')
+optdepends=('perl-term-readkey: for snmpcheck application'
+ 'perl-tk: for snmpcheck and tkmib applications'
+ 'python2: for the python modules')
+provides=('ucd-snmp')
+options=('!libtool' '!makeflags' '!emptydirs')
+source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz"
+ 'snmpd.rc')
+md5sums=('b4e30ead5783b0bb1d280172c6095ea4'
+ '9f0d13676ba1fae1eb7eb178edd85b43')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ sed -i -e "s:\(install --basedir=\$\$dir\):\1 --root='${pkgdir}':" Makefile.in
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --enable-ucd-snmp-compatibility \
+ --enable-ipv6 \
+ --with-python-modules \
+ --with-default-snmp-version="3" \
+ --with-sys-contact="root@localhost" \
+ --with-sys-location="Unknown" \
+ --with-logfile="/var/log/snmpd.log" \
+ --with-mib-modules="host misc/ipfwacc ucd-snmp/diskio tunnel ucd-snmp/dlmod" \
+ --with-persistent-directory="/var/net-snmp" \
+ PYTHONPROG=/usr/bin/python2
+ make NETSNMP_DONT_CHECK_VERSION=1 LDFLAGS+="-Wl,-rpath -Wl,/usr/lib/perl5/core_perl/CORE"
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" INSTALL_PREFIX="${pkgdir}" INSTALLDIRS=vendor install
+ install -D -m755 "${srcdir}/snmpd.rc" "${pkgdir}/etc/rc.d/snmpd"
+ install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/testing/net-snmp/libnl-2.patch b/testing/net-snmp/libnl-2.patch
new file mode 100644
index 000000000..7c140fe83
--- /dev/null
+++ b/testing/net-snmp/libnl-2.patch
@@ -0,0 +1,67 @@
+diff -Nur net-snmp-5.5.orig//agent/mibgroup/mibII/tcpTable.c net-snmp-5.5//agent/mibgroup/mibII/tcpTable.c
+--- net-snmp-5.5.orig//agent/mibgroup/mibII/tcpTable.c 2009-06-13 04:02:02.000000000 +0200
++++ net-snmp-5.5//agent/mibgroup/mibII/tcpTable.c 2011-01-15 10:31:03.579735957 +0100
+@@ -555,8 +555,10 @@
+ static int
+ tcpTable_load_netlink()
+ {
++ int err;
++
+ /* TODO: perhaps use permanent nl handle? */
+- struct nl_handle *nl = nl_handle_alloc();
++ struct nl_sock *nl = nl_socket_alloc();
+
+ if (nl == NULL) {
+ DEBUGMSGTL(("mibII/tcpTable", "Failed to allocate netlink handle\n"));
+@@ -564,10 +566,10 @@
+ return -1;
+ }
+
+- if (nl_connect(nl, NETLINK_INET_DIAG) < 0) {
+- DEBUGMSGTL(("mibII/tcpTable", "Failed to connect to netlink: %s\n", nl_geterror()));
+- snmp_log(LOG_ERR, "snmpd: Couldn't connect to netlink: %s\n", nl_geterror());
+- nl_handle_destroy(nl);
++ if ((err = nl_connect(nl, NETLINK_INET_DIAG)) < 0) {
++ DEBUGMSGTL(("mibII/tcpTable", "Failed to connect to netlink: %s\n", nl_geterror(err)));
++ snmp_log(LOG_ERR, "snmpd: Couldn't connect to netlink: %s\n", nl_geterror(err));
++ nl_socket_free(nl);
+ return -1;
+ }
+
+@@ -579,10 +581,10 @@
+ struct nl_msg *nm = nlmsg_alloc_simple(TCPDIAG_GETSOCK, NLM_F_ROOT|NLM_F_MATCH|NLM_F_REQUEST);
+ nlmsg_append(nm, &req, sizeof(struct inet_diag_req), 0);
+
+- if (nl_send_auto_complete(nl, nm) < 0) {
+- DEBUGMSGTL(("mibII/tcpTable", "nl_send_autocomplete(): %s\n", nl_geterror()));
+- snmp_log(LOG_ERR, "snmpd: nl_send_autocomplete(): %s\n", nl_geterror());
+- nl_handle_destroy(nl);
++ if ((err = nl_send_auto_complete(nl, nm)) < 0) {
++ DEBUGMSGTL(("mibII/tcpTable", "nl_send_autocomplete(): %s\n", nl_geterror(err)));
++ snmp_log(LOG_ERR, "snmpd: nl_send_autocomplete(): %s\n", nl_geterror(err));
++ nl_socket_free(nl);
+ return -1;
+ }
+ nlmsg_free(nm);
+@@ -593,9 +595,9 @@
+
+ while (running) {
+ if ((len = nl_recv(nl, &peer, &buf, NULL)) <= 0) {
+- DEBUGMSGTL(("mibII/tcpTable", "nl_recv(): %s\n", nl_geterror()));
+- snmp_log(LOG_ERR, "snmpd: nl_recv(): %s\n", nl_geterror());
+- nl_handle_destroy(nl);
++ DEBUGMSGTL(("mibII/tcpTable", "nl_recv(): %s\n", nl_geterror(len)));
++ snmp_log(LOG_ERR, "snmpd: nl_recv(): %s\n", nl_geterror(len));
++ nl_socket_free(nl);
+ return -1;
+ }
+
+@@ -644,7 +646,7 @@
+ free(buf);
+ }
+
+- nl_handle_destroy(nl);
++ nl_socket_free(nl);
+
+ if (tcp_head) {
+ DEBUGMSGTL(("mibII/tcpTable", "Loaded TCP Table using netlink\n"));
diff --git a/testing/net-snmp/snmpd.rc b/testing/net-snmp/snmpd.rc
new file mode 100644
index 000000000..9f1b83f64
--- /dev/null
+++ b/testing/net-snmp/snmpd.rc
@@ -0,0 +1,38 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pidof -o %PPID /usr/sbin/snmpd`
+case "$1" in
+ start)
+ stat_busy "Starting Net-SNMP"
+ [ -z "$PID" ] && /usr/sbin/snmpd
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ echo $PID > /var/run/snmpd.pid
+ add_daemon snmpd
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping Net-SNMP"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm /var/run/snmpd.pid
+ rm_daemon snmpd
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 2
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/testing/nfs-utils/PKGBUILD b/testing/nfs-utils/PKGBUILD
new file mode 100644
index 000000000..3adca96d4
--- /dev/null
+++ b/testing/nfs-utils/PKGBUILD
@@ -0,0 +1,72 @@
+# $Id: PKGBUILD 131837 2011-07-16 00:22:48Z dreisner $
+# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
+# Contributor: John Proctor <jproctor@prium.net>
+# Contributor: dibblethewrecker <dibblethewrecker.at.jiwe.org>
+# Contributor: abelstr <abel@pinklf.eu>
+# Contributor: Marco Lima <cipparello gmail com>
+
+pkgname=nfs-utils
+pkgver=1.2.3
+pkgrel=3
+pkgdesc="Support programs for Network File Systems"
+arch=('i686' 'x86_64')
+url='http://nfs.sourceforge.net'
+license=('GPL')
+backup=(etc/{exports,idmapd.conf} etc/conf.d/{nfs-common.conf,nfs-server.conf})
+depends=('glibc' 'e2fsprogs' 'rpcbind' 'libtirpc>=0.2.1' 'librpcsecgss>=0.19-2' 'nfsidmap' 'libevent>=2.0.10' 'libgssglue')
+makedepends=('pkgconfig' 'autoconf' 'automake')
+source=(http://downloads.sourceforge.net/project/nfs/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.bz2
+ nfs-common
+ nfs-common.conf
+ nfs-server
+ nfs-server.conf
+ exports
+ idmapd.conf
+ start-statd.patch
+ nfs-utils-1.1.4-mtab-sym.patch
+ nfs-utils-1.1.4-no-exec.patch)
+install=nfs-utils.install
+md5sums=('1131dc5f27c4f3905a6e7ee0d594fd4d'
+ 'fc508e10cdf5e8ddd80373b1b2bc99a1'
+ 'f73f197a16b02c3e248488ec35c4cf43'
+ '5ae080f6117cef3140f02bc162bdc755'
+ '2bf71def3263325643a09458635520f0'
+ 'ff585faf410a62c4333a027c50b56bae'
+ 'eb4f4027fab6fc1201f1ca04f5954c76'
+ 'e24f81a8c8657672e262c61235d34b4a'
+ '7674106eaaa4c149bccd4f05fe3604e9'
+ '4f4827dfc93008dfadd0a530ad0872b2')
+
+build() {
+ cd $srcdir/${pkgname}-${pkgver}
+ patch -Np1 -i ../nfs-utils-1.1.4-mtab-sym.patch
+ patch -Np1 -i ../nfs-utils-1.1.4-no-exec.patch
+
+ # arch specific patch
+ patch -Np0 -i $srcdir/start-statd.patch
+
+ ./configure --prefix=/usr --enable-nfsv3 --enable-nfsv4 --enable-gss \
+ --without-tcp-wrappers --with-statedir=/var/lib/nfs --enable-ipv6 --sysconfdir=/etc
+
+ make
+}
+
+package() {
+ cd $srcdir/${pkgname}-${pkgver}
+ make DESTDIR=$pkgdir install
+
+ # support python2 (FS#25120)
+ sed -i '1s/python$/python2/' "$pkgdir"/usr/sbin/{nfsiostat,mountstats}
+
+ # NFS & NFSv4 init scripts
+ install -D -m 755 ../nfs-common "$pkgdir/"etc/rc.d/nfs-common
+ install -D -m 755 ../nfs-server "$pkgdir/"etc/rc.d/nfs-server
+ # Configuration
+ install -D -m 644 ../exports "$pkgdir/"etc/exports
+ install -D -m 644 ../idmapd.conf "$pkgdir/"etc/idmapd.conf
+ install -D -m 644 ../nfs-common.conf "$pkgdir/"etc/conf.d/nfs-common.conf
+ install -D -m 644 ../nfs-server.conf "$pkgdir/"etc/conf.d/nfs-server.conf
+ # directories
+ mkdir "$pkgdir/"var/lib/nfs/rpc_pipefs
+ mkdir "$pkgdir/"var/lib/nfs/v4recovery
+}
diff --git a/testing/nfs-utils/exports b/testing/nfs-utils/exports
new file mode 100644
index 000000000..8f4aac598
--- /dev/null
+++ b/testing/nfs-utils/exports
@@ -0,0 +1,15 @@
+# /etc/exports
+#
+# List of directories exported to NFS clients. See exports(5).
+# Use exportfs -arv to reread.
+#
+# Example for NFSv2 and NFSv3:
+# /srv/home hostname1(rw,sync) hostname2(ro,sync)
+#
+# Example for NFSv4:
+# /srv/nfs4 hostname1(rw,sync,fsid=0)
+# /srv/nfs4/home hostname1(rw,sync,nohide)
+# Using Kerberos and integrity checking:
+# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt)
+# /srv/nfs4/home gss/krb5i(rw,sync,nohide)
+#
diff --git a/testing/nfs-utils/idmapd.conf b/testing/nfs-utils/idmapd.conf
new file mode 100644
index 000000000..b1b23afe9
--- /dev/null
+++ b/testing/nfs-utils/idmapd.conf
@@ -0,0 +1,14 @@
+[General]
+
+Verbosity = 0
+Pipefs-Directory = /var/lib/nfs/rpc_pipefs
+Domain = localdomain
+
+[Mapping]
+
+Nobody-User = nobody
+Nobody-Group = nobody
+
+[Translation]
+
+Method = nsswitch
diff --git a/testing/nfs-utils/nfs-common b/testing/nfs-utils/nfs-common
new file mode 100644
index 000000000..13742bde3
--- /dev/null
+++ b/testing/nfs-utils/nfs-common
@@ -0,0 +1,319 @@
+#!/bin/bash
+
+daemon_name=nfs-common
+
+# daemon dependencies
+DAEMON_DEPENDS=('rpcbind')
+
+NEED_STATD=
+STATD_OPTS=
+NEED_IDMAPD=
+IDMAPD_OPTS=
+NEED_GSSD=
+GSSD_OPTS=
+PIPEFS_MOUNTPOINT=
+PIPEFS_MOUNTOPTS=
+
+# rpc.statd daemon & binary location
+STATD_DAEMON_NAME=rpc.statd
+STATD="/usr/sbin/rpc.statd"
+
+# rpc.idmapd daemon & binary location
+IDMAPD_DAEMON_NAME=rpc.idmapd
+IDMAPD="/usr/sbin/rpc.idmapd"
+
+# rpc.gssd daemon & binary location
+GSSD_DAEMON_NAME=rpc.gssd
+GSSD="/usr/sbin/rpc.gssd"
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/$daemon_name.conf
+
+# Default mountpoint and options for rpc_pipefs filesystem
+[ -z "$PIPEFS_MOUNTPOINT" ] && PIPEFS_MOUNTPOINT="/var/lib/nfs/rpc_pipefs"
+[ -z "$PIPEFS_MOUNTOPTS" ] && PIPEFS_MOUNTOPTS="defaults"
+
+# Parse the fstab file, and determine whether we need idmapd and gssd. (The
+# /etc/conf.d/nfs-common settings, if any, will override our autodetection.)
+AUTO_NEED_IDMAPD=no
+AUTO_NEED_GSSD=no
+
+if [ -f /etc/fstab ]; then
+ exec 9<&0 </etc/fstab
+
+ while read DEV MTPT FSTYPE OPTS REST; do
+ if [ "$FSTYPE" = "nfs4" ]; then
+ AUTO_NEED_IDMAPD=yes
+ fi
+ case "$OPTS" in
+ sec=krb5|*,sec=krb5|sec=krb5,*|*,sec=krb5i,*|sec=krb5i|*,sec=krb5i|sec=krb5i,*|*,sec=krb5i,*|sec=krb5p|*,sec=krb5p|sec=krb5p,*|*,sec=krb5p,*)
+ AUTO_NEED_GSSD=yes
+ ;;
+ esac
+ done
+
+ exec 0<&9 9<&-
+fi
+
+# We also need idmapd if we run an NFSv4 server. It's fairly difficult
+# to autodetect whether there are NFSv4 exports or not, and idmapd is not a
+# particularily heavy daemon, so we auto-enable it if we find an /etc/exports
+# file. This does not mean that there are NFSv4 or other mounts active (or
+# even that nfs-kernel-server is installed), but it matches what the "start"
+# condition in nfs-kernel-server's init script does, which has a value in
+# itself.
+if [ -f /etc/exports ] && grep -q '^[[:space:]]*[^#]*/' /etc/exports; then
+ AUTO_NEED_IDMAPD=yes
+fi
+
+case "$NEED_STATD" in
+ yes|no)
+ ;;
+ *)
+ NEED_STATD=yes
+ ;;
+esac
+
+case "$NEED_IDMAPD" in
+ yes|no)
+ ;;
+ *)
+ NEED_IDMAPD=$AUTO_NEED_IDMAPD
+ ;;
+esac
+
+case "$NEED_GSSD" in
+ yes|no)
+ ;;
+ *)
+ NEED_GSSD=$AUTO_NEED_GSSD
+ ;;
+esac
+
+do_modprobe() {
+ if [ -x /sbin/modprobe -a -f /proc/modules ]; then
+ modprobe -q "$1" || true
+ fi
+}
+
+do_mount() {
+ if ! grep -E "$1\$" /proc/filesystems &> /dev/null ; then
+ return 1
+ fi
+
+ if grep -vw "$1" /proc/mounts &> /dev/null ; then
+ if ! mountpoint -q "$2" ; then
+ mount -t "$1" "$1" "$2" -o "$3"
+ return
+ fi
+ fi
+ return 0
+}
+
+do_umount() {
+ if mountpoint -q "$1" ; then
+ umount "$1"
+ fi
+ return 0
+}
+
+get_pid() {
+ pidof -o %PPID "$1"
+}
+
+case "$1" in
+ start)
+ ck_depends ${DAEMON_DEPENDS[@]}
+
+ rc=0
+ if [ "$NEED_STATD" = yes ]; then
+ stat_busy "Starting $STATD_DAEMON_NAME daemon"
+ PID=$(get_pid $STATD)
+ if [ -z "$PID" ]; then
+ [ -f /var/run/$STATD_DAEMON_NAME.pid ] && rm -f /var/run/$STATD_DAEMON_NAME.pid
+ # RUN
+ $STATD $STATD_OPTS
+ #
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ echo $(get_pid $STATD) > /var/run/$STATD_DAEMON_NAME.pid
+ stat_done
+ fi
+ else
+ stat_fail
+ exit 1
+ fi
+ # Run sm-notify
+ /usr/sbin/sm-notify $SMNOTIFY_OPTS
+ fi
+
+ if [ "$NEED_IDMAPD" = yes ] || [ "$NEED_GSSD" = yes ]; then
+ stat_busy "Mounting pipefs filesystem"
+ do_modprobe sunrpc
+ do_modprobe nfs
+ do_modprobe nfsd
+ do_mount rpc_pipefs "$PIPEFS_MOUNTPOINT" "$PIPEFS_MOUNTOPTS"
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ stat_done
+ fi
+
+ if [ "$NEED_IDMAPD" = yes ]; then
+ stat_busy "Starting $IDMAPD_DAEMON_NAME daemon"
+ PID=$(get_pid $IDMAPD)
+ if [ -z "$PID" ]; then
+ [ -f /var/run/$IDMAPD_DAEMON_NAME.pid ] && rm -f /var/run/$IDMAPD_DAEMON_NAME.pid
+ # RUN
+ $IDMAPD $IDMAPD_OPTS
+ #
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ echo $(get_pid $IDMAPD) > /var/run/$IDMAPD_DAEMON_NAME.pid
+ stat_done
+ fi
+ else
+ stat_fail
+ exit 1
+ fi
+ fi
+
+ if [ "$NEED_GSSD" = yes ]; then
+ do_modprobe rpcsec_gss_krb5
+ stat_busy "Starting $GSSD_DAEMON_NAME daemon"
+ PID=$(get_pid $GSSD)
+ if [ -z "$PID" ]; then
+ [ -f /var/run/$GSSD_DAEMON_NAME.pid ] && rm -f /var/run/$GSSD_DAEMON_NAME.pid
+ # RUN
+ $GSSD $GSSD_OPTS
+ #
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ echo $(get_pid $GSSD) > /var/run/$GSSD_DAEMON_NAME.pid
+ stat_done
+ fi
+ else
+ stat_fail
+ exit 1
+ fi
+ fi
+ fi
+
+ add_daemon $daemon_name
+ ;;
+
+ stop)
+ rc=0
+ if [ "$NEED_IDMAPD" = yes ] || [ "$NEED_GSSD" = yes ]; then
+
+ if [ "$NEED_GSSD" = yes ]; then
+ stat_busy "Stopping $GSSD_DAEMON_NAME daemon"
+ PID=$(get_pid $GSSD)
+ # KILL
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ #
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ rm -f /var/run/$GSSD_DAEMON_NAME.pid &> /dev/null
+ stat_done
+ fi
+ fi
+
+ if [ "$NEED_IDMAPD" = yes ]; then
+ stat_busy "Stopping $IDMAPD_DAEMON_NAME daemon"
+ PID=$(get_pid $IDMAPD)
+ # KILL
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ #
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ rm -f /var/run/$IDMAPD_DAEMON_NAME.pid &> /dev/null
+ stat_done
+ fi
+ fi
+ do_umount "$PIPEFS_MOUNTPOINT" 2>/dev/null || true
+ fi
+
+ if [ "$NEED_STATD" = yes ]; then
+ stat_busy "Stopping $STATD_DAEMON_NAME daemon"
+ PID=$(get_pid $STATD)
+ # KILL
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ #
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ rm -f /var/run/$STATD_DAEMON_NAME.pid &> /dev/null
+ stat_done
+ fi
+ fi
+
+ rm_daemon $daemon_name
+ ;;
+
+ status)
+ stat_busy "Checking $daemon_name status";
+ ck_status $daemon_name
+
+ if [ "$NEED_STATD" = yes ]; then
+ stat_busy "Daemon $STATD_DAEMON_NAME running"
+ PID=$(get_pid $STATD)
+ if [ -z "$PID" ]; then
+ stat_fail
+ else
+ stat_done
+ fi
+ fi
+
+ if [ "$NEED_GSSD" = yes ]; then
+ stat_busy "Daemon $GSSD_DAEMON_NAME running"
+ PID=$(get_pid $GSSD)
+ if [ -z "$PID" ]; then
+ stat_fail
+ else
+ stat_done
+ fi
+ fi
+
+ if [ "$NEED_IDMAPD" = yes ]; then
+ stat_busy "Daemon $IDMAPD_DAEMON_NAME running"
+ PID=$(get_pid $IDMAPD)
+ if [ -z "$PID" ]; then
+ stat_fail
+ else
+ stat_done
+ fi
+ fi
+ echo
+ ;;
+
+ restart)
+ $0 stop
+ sleep 3
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|status|restart}"
+esac
+exit 0
+
diff --git a/testing/nfs-utils/nfs-common.conf b/testing/nfs-utils/nfs-common.conf
new file mode 100644
index 000000000..12466b3e5
--- /dev/null
+++ b/testing/nfs-utils/nfs-common.conf
@@ -0,0 +1,40 @@
+# Parameters to be passed to nfs-common (nfs clients & server) init script.
+#
+
+# If you do not set values for the NEED_ options, they will be attempted
+# autodetected; this should be sufficient for most people. Valid alternatives
+# for the NEED_ options are "yes" and "no".
+
+# Do you want to start the statd daemon? It is not needed for NFSv4.
+NEED_STATD=""
+
+# Options to pass to rpc.statd.
+# See rpc.statd(8) for more details.
+# N.B. statd normally runs on both client and server, and run-time
+# options should be specified accordingly.
+# STATD_OPTS="-p 32765 -o 32766"
+STATD_OPTS=""
+
+# Options to pass to sm-notify
+# e.g. SMNOTIFY_OPTS="-p 32764"
+SMNOTIFY_OPTS=""
+
+# Do you want to start the idmapd daemon? It is only needed for NFSv4.
+NEED_IDMAPD=""
+
+# Options to pass to rpc.idmapd.
+# See rpc.idmapd(8) for more details.
+IDMAPD_OPTS=""
+
+# Do you want to start the gssd daemon? It is required for Kerberos mounts.
+NEED_GSSD=""
+
+# Options to pass to rpc.gssd.
+# See rpc.gssd(8) for more details.
+GSSD_OPTS=""
+
+# Where to mount rpc_pipefs filesystem; the default is "/var/lib/nfs/rpc_pipefs".
+PIPEFS_MOUNTPOINT=""
+
+# Options used to mount rpc_pipefs filesystem; the default is "defaults".
+PIPEFS_MOUNTOPTS=""
diff --git a/testing/nfs-utils/nfs-server b/testing/nfs-utils/nfs-server
new file mode 100644
index 000000000..9574cbc12
--- /dev/null
+++ b/testing/nfs-utils/nfs-server
@@ -0,0 +1,303 @@
+#!/bin/bash
+
+daemon_name=nfs-server
+
+# daemon dependencies
+DAEMON_DEPENDS=('nfs-common')
+
+NFSD_COUNT=
+NFSD_OPTS=
+NEED_SVCGSSD=
+SVCGSSD_OPTS=
+MOUNTD_OPTS=
+PROCNFSD_MOUNTPOINT=
+PROCNFSD_MOUNTOPTS=
+
+# rpc.nfsd daemon & binary location
+NFSD_PROCESS_NAME=nfsd
+NFSD_DAEMON_NAME=rpc.nfsd
+NFSD="/usr/sbin/rpc.nfsd"
+
+# rpc.svcgssd daemon & binary location
+SVCGSSD_DAEMON_NAME=rpc.svcgssd
+SVCGSSD="/usr/sbin/rpc.svcgssd"
+
+# rpc.idmapd daemon & binary location
+IDMAPD_DAEMON_NAME=rpc.idmapd
+IDMAPD="/usr/sbin/rpc.idmapd"
+
+# rpc.mountd daemon & binary location
+MOUNTD_DAEMON_NAME=rpc.mountd
+MOUNTD="/usr/sbin/rpc.mountd"
+
+# exortfs binary location
+EXPORTFS="/usr/sbin/exportfs"
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/$daemon_name.conf
+
+# Default number of nfsd servers
+[ -z "$NFSD_COUNT" ] && NFSD_COUNT=8
+
+# Default mountpoint and options for nfsd filesystem
+[ -z "$PROCNFSD_MOUNTPOINT" ] && PROCNFSD_MOUNTPOINT="/proc/fs/nfsd"
+[ -z "$PROCNFSD_MOUNTOPTS" ] && PROCNFSD_MOUNTOPTS="rw,nodev,noexec,nosuid"
+
+case "$NEED_SVCGSSD" in
+ yes|no)
+ ;;
+ *)
+ NEED_SVCGSSD=no
+ ;;
+esac
+
+do_modprobe() {
+ if [ -x /sbin/modprobe -a -f /proc/modules ]; then
+ modprobe -q "$1" || true
+ fi
+}
+
+do_mount() {
+ if ! grep -E "$1\$" /proc/filesystems &> /dev/null ; then
+ return 1
+ fi
+
+ if grep -vw "$1" /proc/mounts &> /dev/null ; then
+ if ! mountpoint -q "$2" ; then
+ mount -t "$1" "$1" "$2" -o "$3"
+ return
+ fi
+ fi
+ return 0
+}
+
+do_umount() {
+ if mountpoint -q "$1" ; then
+ umount "$1"
+ fi
+ return 0
+}
+
+get_pid() {
+ pidof -o %PPID "$1"
+}
+
+case "$1" in
+ start)
+ ck_depends ${DAEMON_DEPENDS[@]}
+
+ rc=0
+ stat_busy "Mounting nfsd filesystem"
+ do_modprobe nfsd
+ do_mount nfsd "$PROCNFSD_MOUNTPOINT" "$PROCNFSD_MOUNTOPTS"
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ stat_done
+ fi
+
+ stat_busy "Exporting all directories"
+ $EXPORTFS -r
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ stat_done
+ fi
+
+ stat_busy "Starting $NFSD_DAEMON_NAME daemon"
+ PID=$(get_pid $NFSD_PROCESS_NAME)
+ if [ -z "$PID" ]; then
+ [ -f /var/run/$NFSD_DAEMON_NAME.pid ] && rm -f /var/run/$NFSD_DAEMON_NAME.pid
+ # RUN
+ $NFSD $NFSD_OPTS $NFSD_COUNT
+ #
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ echo $(get_pid $NFSD_PROCESS_NAME) > /var/run/$NFSD_DAEMON_NAME.pid
+ stat_done
+ fi
+ else
+ stat_fail
+ exit 1
+ fi
+
+ if [ "$NEED_SVCGSSD" = yes ]; then
+ do_modprobe rpcsec_gss_krb5
+ stat_busy "Starting $SVCGSSD_DAEMON_NAME daemon"
+ PID=$(get_pid $SVCGSSD)
+ if [ -z "$PID" ]; then
+ [ -f /var/run/$SVCGSSD_DAEMON_NAME.pid ] && rm -f /var/run/$SVCGSSD_DAEMON_NAME.pid
+ # RUN
+ $SVCGSSD $SVCGSSD_OPTS
+ #
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ echo $(get_pid $SVCGSSD) > /var/run/$SVCGSSD_DAEMON_NAME.pid
+ stat_done
+ fi
+ else
+ stat_fail
+ exit 1
+ fi
+ fi
+
+ PID=$(get_pid $IDMAPD)
+ [ ! -z "$PID" ] && kill -SIGHUP $IDMAPD_DAEMON_NAME &> /dev/null
+
+ stat_busy "Starting $MOUNTD_DAEMON_NAME daemon"
+ PID=$(get_pid $MOUNTD)
+ if [ -z "$PID" ]; then
+ [ -f /var/run/$MOUNTD_DAEMON_NAME.pid ] && rm -f /var/run/$MOUNTD_DAEMON_NAME.pid
+ # RUN
+ $MOUNTD $MOUNTD_OPTS
+ #
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ echo $(get_pid $MOUNTD) > /var/run/$MOUNTD_DAEMON_NAME.pid
+ stat_done
+ fi
+ else
+ stat_fail
+ exit 1
+ fi
+
+ add_daemon $daemon_name
+ ;;
+
+ stop)
+ rc=0
+ stat_busy "Stopping $MOUNTD_DAEMON_NAME daemon"
+ PID=$(get_pid $MOUNTD)
+ # KILL
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ #
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ rm -f /var/run/$MOUNTD_DAEMON_NAME.pid &> /dev/null
+ stat_done
+ fi
+
+ if [ "$NEED_SVCGSSD" = yes ]; then
+ stat_busy "Stopping $SVCGSSD_DAEMON_NAME daemon"
+ PID=$(get_pid $SVCGSSD)
+ # KILL
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ #
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ rm -f /var/run/$SVCGSSD_DAEMON_NAME.pid &> /dev/null
+ stat_done
+ fi
+ fi
+
+ stat_busy "Stopping $NFSD_DAEMON_NAME daemon"
+ PID=$(get_pid $NFSD_PROCESS_NAME)
+ # KILL (SIGINT)
+ [ ! -z "$PID" ] && kill -2 $PID &> /dev/null
+ #
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ sleep 1
+ PID=$(get_pid $NFSD_PROCESS_NAME)
+ # KILL (KILL) - just to be sure
+ [ ! -z "$PID" ] && kill -9 $PID &> /dev/null
+ #
+ rm -f /var/run/$NFSD_DAEMON_NAME.pid &> /dev/null
+ stat_done
+ fi
+
+ stat_busy "Unexporting all directories"
+ $EXPORTFS -au
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ stat_done
+ fi
+
+ # flush everything out of the kernels export table
+ if mountpoint -q "$PROCNFSD_MOUNTPOINT" ; then
+ $EXPORTFS -f
+ fi
+ do_umount "$PROCNFSD_MOUNTPOINT" 2>/dev/null || true
+ rm_daemon $daemon_name
+ ;;
+
+ status)
+ stat_busy "Checking $daemon_name status";
+ ck_status $daemon_name
+
+ stat_busy "Daemon $NFSD_DAEMON_NAME running"
+ PID=$(get_pid $NFSD_PROCESS_NAME)
+ if [ -z "$PID" ]; then
+ stat_fail
+ else
+ stat_done
+ fi
+
+ stat_busy "Daemon $MOUNTD_DAEMON_NAME running"
+ PID=$(get_pid $MOUNTD)
+ if [ -z "$PID" ]; then
+ stat_fail
+ else
+ stat_done
+ fi
+
+ if [ "$NEED_SVCGSSD" = yes ]; then
+ stat_busy "Daemon $SVCGSSD_DAEMON_NAME running"
+ PID=$(get_pid $SVCGSSD)
+ if [ -z "$PID" ]; then
+ stat_fail
+ else
+ stat_done
+ fi
+ fi
+ echo
+ ;;
+
+ reload)
+ rc=0
+ stat_busy "Re-exporting all directories"
+ $EXPORTFS -r
+ rc=$(($rc+$?))
+ if [ $rc -gt 0 ]; then
+ stat_fail
+ exit $rc
+ else
+ stat_done
+ fi
+ ;;
+
+ restart)
+ $0 stop
+ sleep 3
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|status|reload|restart}"
+esac
+exit 0
diff --git a/testing/nfs-utils/nfs-server.conf b/testing/nfs-utils/nfs-server.conf
new file mode 100644
index 000000000..4054d6b88
--- /dev/null
+++ b/testing/nfs-utils/nfs-server.conf
@@ -0,0 +1,29 @@
+# Parameters to be passed to nfs-server init script.
+#
+
+# Options to pass to rpc.nfsd.
+# See rpc.nfsd(8) for more details.
+NFSD_OPTS=""
+
+# Number of servers to start up; the default is 8 servers.
+NFSD_COUNT=""
+
+# Where to mount nfsd filesystem; the default is "/proc/fs/nfsd".
+PROCNFSD_MOUNTPOINT=""
+
+# Options used to mount nfsd filesystem; the default is "rw,nodev,noexec,nosuid".
+PROCNFSD_MOUNTOPTS=""
+
+# Options for rpc.mountd.
+# If you have a port-based firewall, you might want to set up
+# a fixed port here using the --port option.
+# See rpc.mountd(8) for more details.
+MOUNTD_OPTS="--no-nfs-version 2"
+
+# Do you want to start the svcgssd daemon? It is only required for Kerberos
+# exports. Valid alternatives are "yes" and "no"; the default is "no".
+NEED_SVCGSSD=""
+
+# Options to pass to rpc.svcgssd.
+# See rpc.svcgssd(8) for more details.
+SVCGSSD_OPTS=""
diff --git a/testing/nfs-utils/nfs-utils-1.1.2-kerberos-ac.patch b/testing/nfs-utils/nfs-utils-1.1.2-kerberos-ac.patch
new file mode 100644
index 000000000..4a5a138e7
--- /dev/null
+++ b/testing/nfs-utils/nfs-utils-1.1.2-kerberos-ac.patch
@@ -0,0 +1,138 @@
+diff -NaurwB nfs-utils-1.1.2.orig/aclocal/kerberos5.m4 nfs-utils-1.1.2/aclocal/kerberos5.m4
+--- nfs-utils-1.1.2.orig/aclocal/kerberos5.m4 2008-03-14 16:46:29.000000000 +0100
++++ nfs-utils-1.1.2/aclocal/kerberos5.m4 2008-06-12 17:13:51.000000000 +0200
+@@ -1,112 +1,48 @@
+-dnl Checks for Kerberos
+-dnl NOTE: while we intend to do generic gss-api, currently we
+-dnl have a requirement to get an initial Kerberos machine
+-dnl credential. Thus, the requirement for Kerberos.
+-dnl The Kerberos gssapi library will be dynamically loaded?
+ AC_DEFUN([AC_KERBEROS_V5],[
++ K5CONFIG="krb5-config"
+ AC_MSG_CHECKING(for Kerberos v5)
+- AC_ARG_WITH(krb5,
+- [AC_HELP_STRING([--with-krb5=DIR], [use Kerberos v5 installation in DIR])],
++ AC_ARG_WITH(krb5-config,
++ [AC_HELP_STRING([--with-krb5-config=PATH], [Full Path to krb5-config.])],
+ [ case "$withval" in
+ yes|no)
+- krb5_with=""
++ K5CONFIG="krb5-config"
+ ;;
+ *)
+- krb5_with="$withval"
++ K5CONFIG="$withval"
+ ;;
+ esac ]
+ )
+
+- for dir in $krb5_with /usr /usr/kerberos /usr/local /usr/local/krb5 \
+- /usr/krb5 /usr/heimdal /usr/local/heimdal /usr/athena ; do
+- dnl This ugly hack brought on by the split installation of
+- dnl MIT Kerberos on Fedora Core 1
+- K5CONFIG=""
+- if test -f $dir/bin/krb5-config; then
+- K5CONFIG=$dir/bin/krb5-config
+- elif test -f "/usr/kerberos/bin/krb5-config"; then
+- K5CONFIG="/usr/kerberos/bin/krb5-config"
+- elif test -f "/usr/lib/mit/bin/krb5-config"; then
+- K5CONFIG="/usr/lib/mit/bin/krb5-config"
+- fi
+ if test "$K5CONFIG" != ""; then
+ KRBCFLAGS=`$K5CONFIG --cflags`
+ KRBLIBS=`$K5CONFIG --libs gssapi`
+- K5VERS=`$K5CONFIG --version | head -n 1 | awk '{split($(4),v,"."); if (v@<:@"3"@:>@ == "") v@<:@"3"@:>@ = "0"; print v@<:@"1"@:>@v@<:@"2"@:>@v@<:@"3"@:>@ }'`
+- AC_DEFINE_UNQUOTED(KRB5_VERSION, $K5VERS, [Define this as the Kerberos version number])
+- if test -f $dir/include/gssapi/gssapi_krb5.h -a \
+- \( -f $dir/lib/libgssapi_krb5.a -o \
+- -f $dir/lib64/libgssapi_krb5.a -o \
+- -f $dir/lib64/libgssapi_krb5.so -o \
+- -f $dir/lib/libgssapi_krb5.so \) ; then
++ if $K5CONFIG --version | grep -q -e heimdal; then
++ K5VERS=`$K5CONFIG --version | head -n 1 | cut -f2 -d ' ' | tr -d '.'`
++ AC_DEFINE(HAVE_HEIMDAL, 1, [Define this if you have Heimdal Kerberos libraries])
++ gssapi_lib=gssapi
++ KRBIMPL="heimdal"
++ elif $K5CONFIG --version | grep -q -e mit; then
++ K5VERS=`$K5CONFIG --version | head -n 1 | cut -f4 -d ' ' | tr -d '.'`
+ AC_DEFINE(HAVE_KRB5, 1, [Define this if you have MIT Kerberos libraries])
+- KRBDIR="$dir"
+- dnl If we are using MIT K5 1.3.1 and before, we *MUST* use the
+- dnl private function (gss_krb5_ccache_name) to get correct
+- dnl behavior of changing the ccache used by gssapi.
+- dnl Starting in 1.3.2, we *DO NOT* want to use
+- dnl gss_krb5_ccache_name, instead we want to set KRB5CCNAME
+- dnl to get gssapi to use a different ccache
+ if test $K5VERS -le 131; then
+ AC_DEFINE(USE_GSS_KRB5_CCACHE_NAME, 1, [Define this if the private function, gss_krb5_cache_name, must be used to tell the Kerberos library which credentials cache to use. Otherwise, this is done by setting the KRB5CCNAME environment variable])
+ fi
+ gssapi_lib=gssapi_krb5
+- break
+- dnl The following ugly hack brought on by the split installation
+- dnl of Heimdal Kerberos on SuSe
+- elif test \( -f $dir/include/heim_err.h -o\
+- -f $dir/include/heimdal/heim_err.h \) -a \
+- -f $dir/lib/libroken.a; then
+- AC_DEFINE(HAVE_HEIMDAL, 1, [Define this if you have Heimdal Kerberos libraries])
+- KRBDIR="$dir"
+- gssapi_lib=gssapi
+- break
+- fi
+- fi
+- done
+- dnl We didn't find a usable Kerberos environment
+- if test "x$KRBDIR" = "x"; then
+- if test "x$krb5_with" = "x"; then
+- AC_MSG_ERROR(Kerberos v5 with GSS support not found: consider --disable-gss or --with-krb5=)
++ KRBIMPL="mit-krb5"
+ else
+- AC_MSG_ERROR(Kerberos v5 with GSS support not found at $krb5_with)
+- fi
++ AC_MSG_ERROR(Unknown Kerberos 5 Implementation. Is neither heimdal or mit-krb5.)
++ KRBIMPL="unknown"
+ fi
+- AC_MSG_RESULT($KRBDIR)
+-
+- dnl Check if -rpath=$(KRBDIR)/lib is needed
+- echo "The current KRBDIR is $KRBDIR"
+- if test "$KRBDIR/lib" = "/lib" -o "$KRBDIR/lib" = "/usr/lib" \
+- -o "$KRBDIR/lib" = "//lib" -o "$KRBDIR/lib" = "/usr//lib" ; then
+- KRBLDFLAGS="";
+- elif /sbin/ldconfig -p | grep > /dev/null "=> $KRBDIR/lib/"; then
+- KRBLDFLAGS="";
+- else
+- KRBLDFLAGS="-Wl,-rpath=$KRBDIR/lib"
++ AC_DEFINE_UNQUOTED(KRB5_VERSION, $K5VERS, [Define this as the Kerberos version number])
+ fi
++ AC_MSG_RESULT($KRBIMPL)
+
+- dnl Now check for functions within gssapi library
+- AC_CHECK_LIB($gssapi_lib, gss_krb5_export_lucid_sec_context,
+- AC_DEFINE(HAVE_LUCID_CONTEXT_SUPPORT, 1, [Define this if the Kerberos GSS library supports gss_krb5_export_lucid_sec_context]), ,$KRBLIBS)
+- AC_CHECK_LIB($gssapi_lib, gss_krb5_set_allowable_enctypes,
+- AC_DEFINE(HAVE_SET_ALLOWABLE_ENCTYPES, 1, [Define this if the Kerberos GSS library supports gss_krb5_set_allowable_enctypes]), ,$KRBLIBS)
+- AC_CHECK_LIB($gssapi_lib, gss_krb5_ccache_name,
+- AC_DEFINE(HAVE_GSS_KRB5_CCACHE_NAME, 1, [Define this if the Kerberos GSS library supports gss_krb5_ccache_name]), ,$KRBLIBS)
+-
+- dnl Check for newer error message facility
+- AC_CHECK_LIB($gssapi_lib, krb5_get_error_message,
+- AC_DEFINE(HAVE_KRB5_GET_ERROR_MESSAGE, 1, [Define this if the function krb5_get_error_message is available]), ,$KRBLIBS)
++ AC_CHECK_LIB($gssapi_lib, gss_krb5_export_lucid_sec_context, AC_DEFINE(HAVE_LUCID_CONTEXT_SUPPORT, 1, [Define this if the Kerberos GSS library supports gss_krb5_export_lucid_sec_context]), ,$KRBLIBS)
++ AC_CHECK_LIB($gssapi_lib, gss_krb5_set_allowable_enctypes, AC_DEFINE(HAVE_SET_ALLOWABLE_ENCTYPES, 1, [Define this if the Kerberos GSS library supports gss_krb5_set_allowable_enctypes]), ,$KRBLIBS)
++ AC_CHECK_LIB($gssapi_lib, gss_krb5_ccache_name, AC_DEFINE(HAVE_GSS_KRB5_CCACHE_NAME, 1, [Define this if the Kerberos GSS library supports gss_krb5_ccache_name]), ,$KRBLIBS)
++ AC_CHECK_LIB($gssapi_lib, krb5_get_error_message, AC_DEFINE(HAVE_KRB5_GET_ERROR_MESSAGE, 1, [Define this if the function krb5_get_error_message is available]), ,$KRBLIBS)
++ AC_CHECK_LIB($gssapi_lib, krb5_get_init_creds_opt_set_addressless, AC_DEFINE(HAVE_KRB5_GET_INIT_CREDS_OPT_SET_ADDRESSLESS, 1, [Define this if the function krb5_get_init_creds_opt_set_addressless is available]), ,$KRBLIBS)
+
+- dnl Check for function to specify addressless tickets
+- AC_CHECK_LIB($gssapi_lib, krb5_get_init_creds_opt_set_addressless,
+- AC_DEFINE(HAVE_KRB5_GET_INIT_CREDS_OPT_SET_ADDRESSLESS, 1, [Define this if the function krb5_get_init_creds_opt_set_addressless is available]), ,$KRBLIBS)
+-
+- dnl If they specified a directory and it didn't work, give them a warning
+- if test "x$krb5_with" != "x" -a "$krb5_with" != "$KRBDIR"; then
+- AC_MSG_WARN(Using $KRBDIR instead of requested value of $krb5_with for Kerberos!)
+- fi
+-
+- AC_SUBST([KRBDIR])
+ AC_SUBST([KRBLIBS])
+ AC_SUBST([KRBCFLAGS])
+ AC_SUBST([KRBLDFLAGS])
diff --git a/testing/nfs-utils/nfs-utils-1.1.4-mtab-sym.patch b/testing/nfs-utils/nfs-utils-1.1.4-mtab-sym.patch
new file mode 100644
index 000000000..c9e60afc7
--- /dev/null
+++ b/testing/nfs-utils/nfs-utils-1.1.4-mtab-sym.patch
@@ -0,0 +1,39 @@
+ripped from Debian
+
+--- nfs-utils-1.1.4/utils/mount/fstab.c
++++ nfs-utils-1.1.4/utils/mount/fstab.c
+@@ -57,7 +57,7 @@ mtab_does_not_exist(void) {
+ return var_mtab_does_not_exist;
+ }
+
+-static int
++int
+ mtab_is_a_symlink(void) {
+ get_mtab_info();
+ return var_mtab_is_a_symlink;
+--- nfs-utils-1.1.4/utils/mount/fstab.h
++++ nfs-utils-1.1.4/utils/mount/fstab.h
+@@ -7,6 +7,7 @@
+ #define _PATH_FSTAB "/etc/fstab"
+ #endif
+
++int mtab_is_a_symlink(void);
+ int mtab_is_writable(void);
+ int mtab_does_not_exist(void);
+ void reset_mtab_info(void);
+--- nfs-utils-1.1.4/utils/mount/mount.c
++++ nfs-utils-1.1.4/utils/mount/mount.c
+@@ -230,6 +230,13 @@ create_mtab (void) {
+ int flags;
+ mntFILE *mfp;
+
++ /* Avoid writing if the mtab is a symlink to /proc/mounts, since
++ that would create a file /proc/mounts in case the proc filesystem
++ is not mounted, and the fchmod below would also fail. */
++ if (mtab_is_a_symlink()) {
++ return EX_SUCCESS;
++ }
++
+ lock_mtab();
+
+ mfp = nfs_setmntent (MOUNTED, "a+");
diff --git a/testing/nfs-utils/nfs-utils-1.1.4-no-exec.patch b/testing/nfs-utils/nfs-utils-1.1.4-no-exec.patch
new file mode 100644
index 000000000..ea50a21d8
--- /dev/null
+++ b/testing/nfs-utils/nfs-utils-1.1.4-no-exec.patch
@@ -0,0 +1,15 @@
+ripped from Debian
+
+--- nfs-utils-1.1.2/utils/mount/mount.c
++++ nfs-utils-1.1.2/utils/mount/mount.c
+@@ -381,10 +381,6 @@
+ mount_error(NULL, mount_point, ENOTDIR);
+ return 1;
+ }
+- if (access(mount_point, X_OK) < 0) {
+- mount_error(NULL, mount_point, errno);
+- return 1;
+- }
+
+ return 0;
+ }
diff --git a/testing/nfs-utils/nfs-utils-1.1.6-heimdal_functions.patch b/testing/nfs-utils/nfs-utils-1.1.6-heimdal_functions.patch
new file mode 100644
index 000000000..7f6c7a751
--- /dev/null
+++ b/testing/nfs-utils/nfs-utils-1.1.6-heimdal_functions.patch
@@ -0,0 +1,69 @@
+diff -Naur nfs-utils-1.1.6.orig/utils/gssd/krb5_util.c nfs-utils-1.1.6/utils/gssd/krb5_util.c
+--- utils/gssd/krb5_util.c 2009-04-20 19:32:50.000000000 +0200
++++ utils/gssd/krb5_util.c 2009-04-20 20:57:31.000000000 +0200
+@@ -940,9 +940,37 @@
+ {
+ krb5_error_code ret;
+ krb5_creds creds;
+- krb5_cc_cursor cur;
+ int found = 0;
+
++#ifdef HAVE_HEIMDAL
++ krb5_creds pattern;
++ krb5_realm *client_realm;
++
++ krb5_cc_clear_mcred(&pattern);
++
++ client_realm = krb5_princ_realm (context, principal);
++
++ ret = krb5_make_principal (context, &pattern.server,
++ *client_realm, KRB5_TGS_NAME, *client_realm,
++ NULL);
++ if (ret)
++ krb5_err (context, 1, ret, "krb5_make_principal");
++ pattern.client = principal;
++
++ ret = krb5_cc_retrieve_cred (context, ccache, 0, &pattern, &creds);
++ krb5_free_principal (context, pattern.server);
++ if (ret) {
++ if (ret == KRB5_CC_END)
++ return 1;
++ krb5_err (context, 1, ret, "krb5_cc_retrieve_cred");
++ }
++
++ found = creds.times.endtime > time(NULL);
++
++ krb5_free_cred_contents (context, &creds);
++#else
++ krb5_cc_cursor cur;
++
+ ret = krb5_cc_start_seq_get(context, ccache, &cur);
+ if (ret)
+ return 0;
+@@ -962,6 +990,7 @@
+ krb5_free_cred_contents(context, &creds);
+ }
+ krb5_cc_end_seq_get(context, ccache, &cur);
++#endif
+
+ return found;
+ }
+@@ -1008,6 +1037,9 @@
+ }
+ krb5_free_principal(context, principal);
+ err_princ:
++#ifdef HAVE_HEIMDAL
++#define KRB5_TC_OPENCLOSE 0x00000001
++#endif
+ krb5_cc_set_flags(context, ccache, KRB5_TC_OPENCLOSE);
+ krb5_cc_close(context, ccache);
+ err_cache:
+@@ -1262,7 +1294,7 @@
+ if (context != NULL) {
+ origmsg = krb5_get_error_message(context, code);
+ msg = strdup(origmsg);
+- krb5_free_error_message(context, origmsg);
++ krb5_free_error_string(context, origmsg);
+ }
+ #endif
+ if (msg != NULL)
diff --git a/testing/nfs-utils/nfs-utils-1.1.6-no_libgssapi.patch b/testing/nfs-utils/nfs-utils-1.1.6-no_libgssapi.patch
new file mode 100644
index 000000000..917136a8c
--- /dev/null
+++ b/testing/nfs-utils/nfs-utils-1.1.6-no_libgssapi.patch
@@ -0,0 +1,57 @@
+Index: nfs-utils-1.1.6/utils/gssd/context_lucid.c
+===================================================================
+--- nfs-utils-1.1.6.orig/utils/gssd/context_lucid.c
++++ nfs-utils-1.1.6/utils/gssd/context_lucid.c
+@@ -51,8 +51,10 @@
+ #include "context.h"
+
+ #ifndef OM_uint64
++#ifndef GSSAPI_GSSAPI_H_
+ typedef uint64_t OM_uint64;
+ #endif
++#endif
+
+ static int
+ write_lucid_keyblock(char **p, char *end, gss_krb5_lucid_key_t *key)
+@@ -177,10 +179,10 @@
+ int retcode = 0;
+
+ printerr(2, "DEBUG: serialize_krb5_ctx: lucid version!\n");
+- maj_stat = gss_export_lucid_sec_context(&min_stat, &ctx,
++ maj_stat = gss_krb5_export_lucid_sec_context(&min_stat, &ctx,
+ 1, &return_ctx);
+ if (maj_stat != GSS_S_COMPLETE) {
+- pgsserr("gss_export_lucid_sec_context",
++ pgsserr("gss_krb5_export_lucid_sec_context",
+ maj_stat, min_stat, &krb5oid);
+ goto out_err;
+ }
+@@ -204,9 +206,9 @@
+ else
+ retcode = prepare_krb5_rfc_cfx_buffer(lctx, buf, endtime);
+
+- maj_stat = gss_free_lucid_sec_context(&min_stat, ctx, return_ctx);
++ maj_stat = gss_krb5_free_lucid_sec_context(&min_stat, ctx);
+ if (maj_stat != GSS_S_COMPLETE) {
+- pgsserr("gss_export_lucid_sec_context",
++ pgsserr("gss_krb5_export_lucid_sec_context",
+ maj_stat, min_stat, &krb5oid);
+ printerr(0, "WARN: failed to free lucid sec context\n");
+ }
+Index: nfs-utils-1.1.6/utils/gssd/krb5_util.c
+===================================================================
+--- nfs-utils-1.1.6.orig/utils/gssd/krb5_util.c
++++ nfs-utils-1.1.6/utils/gssd/krb5_util.c
+@@ -332,10 +332,10 @@
+ return -1;
+ }
+
+- maj_stat = gss_set_allowable_enctypes(&min_stat, credh, &krb5oid,
++ maj_stat = gss_krb5_set_allowable_enctypes(&min_stat, credh,
+ num_enctypes, &enctypes);
+ if (maj_stat != GSS_S_COMPLETE) {
+- pgsserr("gss_set_allowable_enctypes",
++ pgsserr("gss_krb5_set_allowable_enctypes",
+ maj_stat, min_stat, &krb5oid);
+ gss_release_cred(&min_stat, &credh);
+ return -1;
diff --git a/testing/nfs-utils/nfs-utils.install b/testing/nfs-utils/nfs-utils.install
new file mode 100644
index 000000000..7dcdf9575
--- /dev/null
+++ b/testing/nfs-utils/nfs-utils.install
@@ -0,0 +1,32 @@
+## arg 1: the new package version
+post_install() {
+cat << 'EOM'
+ ==> PLEASE NOTE:
+ ==> Extended configuration options for NFS (clients & server) are available in
+ ==> /etc/conf.d/nfs-common.conf and in /etc/conf.d/nfs-server.conf
+ ==>
+ ==> Please refer to http://wiki.archlinux.org/index.php/Nfs
+ ==> for further information on NFS; for NFSv4, refer to
+ ==> http://wiki.archlinux.org/index.php/NFSv4
+EOM
+}
+
+## arg 1: the new package version
+## arg 2: the old package version
+post_upgrade() {
+ if [ "$(vercmp $2 1.2.0-2)" -lt 0 ]; then
+cat << 'EOM'
+ ==> IMPORTANT NFS UTILS CHANGES:
+ ==> This is a rather important upgrade, you are going to have to change config files.
+ ==> /etc/rc.conf daemons changes:
+ ==> Change portmap to rpcbind
+ ==> Change nfslock to nfs-common
+ ==> Change nfsd to nfs-server
+ ==>
+ ==> Extended configuration options for NFS (clients & server) are available in:
+ ==> /etc/conf.d/nfs-common
+ ==> /etc/conf.d/nfs-server
+ ==> Please change them to your needs.
+EOM
+ fi
+}
diff --git a/testing/nfs-utils/start-statd.patch b/testing/nfs-utils/start-statd.patch
new file mode 100644
index 000000000..38c60a784
--- /dev/null
+++ b/testing/nfs-utils/start-statd.patch
@@ -0,0 +1,22 @@
+--- utils/statd/start-statd 2007-05-11 04:40:57.000000000 +0100
++++ utils/statd/start-statd.new 2007-09-21 17:11:34.000000000 +0100
+@@ -1,9 +1,16 @@
+-#!/bin/sh -p
++#!/bin/sh
++
++# Original script provided by the NFS project
++# Modified for Arch Linux by Tom Killian
++
+ # nfsmount calls this script when mounting a filesystem with locking
+ # enabled, but when statd does not seem to be running (based on
+ # /var/run/rpc.statd.pid).
+ # It should run run statd with whatever flags are apropriate for this
+ # site.
+-PATH=/sbin:/usr/sbin
+-exec rpc.statd --no-notify
++
++# source application-specific settings
++[ -f /etc/conf.d/nfs-common.conf ] && . /etc/conf.d/nfs-common.conf
++
++exec /usr/sbin/rpc.statd $STATD_OPTS
+
diff --git a/testing/openssh/PKGBUILD b/testing/openssh/PKGBUILD
new file mode 100644
index 000000000..bf45e6396
--- /dev/null
+++ b/testing/openssh/PKGBUILD
@@ -0,0 +1,70 @@
+# $Id: PKGBUILD 131644 2011-07-13 07:48:58Z bisson $
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+# Contributor: Aaron Griffin <aaron@archlinux.org>
+# Contributor: judd <jvinet@zeroflux.org>
+
+pkgname=openssh
+pkgver=5.8p2
+pkgrel=9
+pkgdesc='Free version of the SSH connectivity tools'
+arch=('i686' 'x86_64')
+license=('custom:BSD')
+url='http://www.openssh.org/portable.html'
+backup=('etc/ssh/ssh_config' 'etc/ssh/sshd_config' 'etc/pam.d/sshd' 'etc/conf.d/sshd')
+depends=('krb5' 'openssl' 'libedit')
+source=("ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/${pkgname}-${pkgver}.tar.gz"
+ 'authfile.c.patch'
+ 'sshd.confd'
+ 'sshd.pam'
+ 'sshd')
+sha1sums=('64798328d310e4f06c9f01228107520adbc8b3e5'
+ '3669cb5ca6149f69015df5ce8e60b82c540eb0a4'
+ 'ec102deb69cad7d14f406289d2fc11fee6eddbdd'
+ '07fecd5880b1c4fdd8c94ddb2e89ddce88effdc1'
+ '6b7f8ebf0c1cc37137a7d9a53447ac8a0ee6a2b5')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ patch -p1 -i ../authfile.c.patch # fix FS#24693 using http://anoncvs.mindrot.org/index.cgi/openssh/authfile.c?revision=1.95
+
+ ./configure \
+ --prefix=/usr \
+ --libexecdir=/usr/lib/ssh \
+ --sysconfdir=/etc/ssh \
+ --with-privsep-user=nobody \
+ --with-md5-passwords \
+ --with-pam \
+ --with-mantype=man \
+ --mandir=/usr/share/man \
+ --with-xauth=/usr/bin/xauth \
+ --with-kerberos5=/usr \
+ --with-ssl-engine \
+ --with-libedit=/usr/lib \
+ --disable-strip # stripping is done by makepkg
+
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ install -Dm755 ../sshd "${pkgdir}"/etc/rc.d/sshd
+ install -Dm644 ../sshd.pam "${pkgdir}"/etc/pam.d/sshd
+ install -Dm644 ../sshd.confd "${pkgdir}"/etc/conf.d/sshd
+ install -Dm644 LICENCE "${pkgdir}/usr/share/licenses/${pkgname}/LICENCE"
+
+ rm "${pkgdir}"/usr/share/man/man1/slogin.1
+ ln -sf ssh.1.gz "${pkgdir}"/usr/share/man/man1/slogin.1.gz
+
+ # additional contrib scripts that we like
+ install -Dm755 contrib/findssl.sh "${pkgdir}"/usr/bin/findssl.sh
+ install -Dm755 contrib/ssh-copy-id "${pkgdir}"/usr/bin/ssh-copy-id
+ install -Dm644 contrib/ssh-copy-id.1 "${pkgdir}"/usr/share/man/man1/ssh-copy-id.1
+
+ # PAM is a common, standard feature to have
+ sed -i -e '/^#ChallengeResponseAuthentication yes$/c ChallengeResponseAuthentication no' \
+ -e '/^#UsePAM no$/c UsePAM yes' \
+ "${pkgdir}"/etc/ssh/sshd_config
+}
diff --git a/testing/openssh/authfile.c.patch b/testing/openssh/authfile.c.patch
new file mode 100644
index 000000000..6c18fe807
--- /dev/null
+++ b/testing/openssh/authfile.c.patch
@@ -0,0 +1,198 @@
+diff -aur old/authfile.c new/authfile.c
+--- old/authfile.c 2011-06-12 02:21:52.262338254 +0200
++++ new/authfile.c 2011-06-12 02:13:43.051467269 +0200
+@@ -1,4 +1,4 @@
+-/* $OpenBSD: authfile.c,v 1.87 2010/11/29 18:57:04 markus Exp $ */
++/* $OpenBSD: authfile.c,v 1.95 2011/05/29 11:42:08 djm Exp $ */
+ /*
+ * Author: Tatu Ylonen <ylo@cs.hut.fi>
+ * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
+@@ -69,6 +69,8 @@
+ #include "misc.h"
+ #include "atomicio.h"
+
++#define MAX_KEY_FILE_SIZE (1024 * 1024)
++
+ /* Version identification string for SSH v1 identity files. */
+ static const char authfile_id_string[] =
+ "SSH PRIVATE KEY FILE FORMAT 1.1\n";
+@@ -312,12 +314,12 @@
+ return pub;
+ }
+
+-/* Load the contents of a key file into a buffer */
+-static int
++/* Load a key from a fd into a buffer */
++int
+ key_load_file(int fd, const char *filename, Buffer *blob)
+ {
++ u_char buf[1024];
+ size_t len;
+- u_char *cp;
+ struct stat st;
+
+ if (fstat(fd, &st) < 0) {
+@@ -325,30 +327,45 @@
+ filename == NULL ? "" : filename,
+ filename == NULL ? "" : " ",
+ strerror(errno));
+- close(fd);
+ return 0;
+ }
+- if (st.st_size > 1*1024*1024) {
++ if ((st.st_mode & (S_IFSOCK|S_IFCHR|S_IFIFO)) == 0 &&
++ st.st_size > MAX_KEY_FILE_SIZE) {
++ toobig:
+ error("%s: key file %.200s%stoo large", __func__,
+ filename == NULL ? "" : filename,
+ filename == NULL ? "" : " ");
+- close(fd);
+ return 0;
+ }
+- len = (size_t)st.st_size; /* truncated */
+-
+ buffer_init(blob);
+- cp = buffer_append_space(blob, len);
+-
+- if (atomicio(read, fd, cp, len) != len) {
+- debug("%s: read from key file %.200s%sfailed: %.100s", __func__,
+- filename == NULL ? "" : filename,
+- filename == NULL ? "" : " ",
+- strerror(errno));
++ for (;;) {
++ if ((len = atomicio(read, fd, buf, sizeof(buf))) == 0) {
++ if (errno == EPIPE)
++ break;
++ debug("%s: read from key file %.200s%sfailed: %.100s",
++ __func__, filename == NULL ? "" : filename,
++ filename == NULL ? "" : " ", strerror(errno));
++ buffer_clear(blob);
++ bzero(buf, sizeof(buf));
++ return 0;
++ }
++ buffer_append(blob, buf, len);
++ if (buffer_len(blob) > MAX_KEY_FILE_SIZE) {
++ buffer_clear(blob);
++ bzero(buf, sizeof(buf));
++ goto toobig;
++ }
++ }
++ bzero(buf, sizeof(buf));
++ if ((st.st_mode & (S_IFSOCK|S_IFCHR|S_IFIFO)) == 0 &&
++ st.st_size != buffer_len(blob)) {
++ debug("%s: key file %.200s%schanged size while reading",
++ __func__, filename == NULL ? "" : filename,
++ filename == NULL ? "" : " ");
+ buffer_clear(blob);
+- close(fd);
+ return 0;
+ }
++
+ return 1;
+ }
+
+@@ -606,7 +623,7 @@
+ error("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
+ error("Permissions 0%3.3o for '%s' are too open.",
+ (u_int)st.st_mode & 0777, filename);
+- error("It is recommended that your private key files are NOT accessible by others.");
++ error("It is required that your private key files are NOT accessible by others.");
+ error("This private key will be ignored.");
+ return 0;
+ }
+@@ -626,6 +643,7 @@
+ case KEY_UNSPEC:
+ return key_parse_private_pem(blob, type, passphrase, commentp);
+ default:
++ error("%s: cannot parse key type %d", __func__, type);
+ break;
+ }
+ return NULL;
+@@ -670,11 +688,38 @@
+ }
+
+ Key *
++key_parse_private(Buffer *buffer, const char *filename,
++ const char *passphrase, char **commentp)
++{
++ Key *pub, *prv;
++ Buffer pubcopy;
++
++ buffer_init(&pubcopy);
++ buffer_append(&pubcopy, buffer_ptr(buffer), buffer_len(buffer));
++ /* it's a SSH v1 key if the public key part is readable */
++ pub = key_parse_public_rsa1(&pubcopy, commentp);
++ buffer_free(&pubcopy);
++ if (pub == NULL) {
++ prv = key_parse_private_type(buffer, KEY_UNSPEC,
++ passphrase, NULL);
++ /* use the filename as a comment for PEM */
++ if (commentp && prv)
++ *commentp = xstrdup(filename);
++ } else {
++ key_free(pub);
++ /* key_parse_public_rsa1() has already loaded the comment */
++ prv = key_parse_private_type(buffer, KEY_RSA1, passphrase,
++ NULL);
++ }
++ return prv;
++}
++
++Key *
+ key_load_private(const char *filename, const char *passphrase,
+ char **commentp)
+ {
+- Key *pub, *prv;
+- Buffer buffer, pubcopy;
++ Key *prv;
++ Buffer buffer;
+ int fd;
+
+ fd = open(filename, O_RDONLY);
+@@ -697,23 +742,7 @@
+ }
+ close(fd);
+
+- buffer_init(&pubcopy);
+- buffer_append(&pubcopy, buffer_ptr(&buffer), buffer_len(&buffer));
+- /* it's a SSH v1 key if the public key part is readable */
+- pub = key_parse_public_rsa1(&pubcopy, commentp);
+- buffer_free(&pubcopy);
+- if (pub == NULL) {
+- prv = key_parse_private_type(&buffer, KEY_UNSPEC,
+- passphrase, NULL);
+- /* use the filename as a comment for PEM */
+- if (commentp && prv)
+- *commentp = xstrdup(filename);
+- } else {
+- key_free(pub);
+- /* key_parse_public_rsa1() has already loaded the comment */
+- prv = key_parse_private_type(&buffer, KEY_RSA1, passphrase,
+- NULL);
+- }
++ prv = key_parse_private(&buffer, filename, passphrase, commentp);
+ buffer_free(&buffer);
+ return prv;
+ }
+@@ -737,13 +766,19 @@
+ case '\0':
+ continue;
+ }
++ /* Abort loading if this looks like a private key */
++ if (strncmp(cp, "-----BEGIN", 10) == 0)
++ break;
+ /* Skip leading whitespace. */
+ for (; *cp && (*cp == ' ' || *cp == '\t'); cp++)
+ ;
+ if (*cp) {
+ if (key_read(k, &cp) == 1) {
+- if (commentp)
+- *commentp=xstrdup(filename);
++ cp[strcspn(cp, "\r\n")] = '\0';
++ if (commentp) {
++ *commentp = xstrdup(*cp ?
++ cp : filename);
++ }
+ fclose(f);
+ return 1;
+ }
diff --git a/testing/openssh/sshd b/testing/openssh/sshd
new file mode 100755
index 000000000..2ee1091f0
--- /dev/null
+++ b/testing/openssh/sshd
@@ -0,0 +1,48 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/sshd
+
+PIDFILE=/var/run/sshd.pid
+PID=$(cat $PIDFILE 2>/dev/null)
+if ! readlink -q /proc/$PID/exe | grep -q '^/usr/sbin/sshd'; then
+ PID=
+ rm $PIDFILE 2>/dev/null
+fi
+
+case "$1" in
+ start)
+ stat_busy "Starting Secure Shell Daemon"
+ [ -f /etc/ssh/ssh_host_key ] || { /usr/bin/ssh-keygen -t rsa1 -N "" -f /etc/ssh/ssh_host_key >/dev/null; }
+ [ -f /etc/ssh/ssh_host_rsa_key ] || { /usr/bin/ssh-keygen -t rsa -N "" -f /etc/ssh/ssh_host_rsa_key >/dev/null; }
+ [ -f /etc/ssh/ssh_host_dsa_key ] || { /usr/bin/ssh-keygen -t dsa -N "" -f /etc/ssh/ssh_host_dsa_key >/dev/null; }
+ [ -f /etc/ssh/ssh_host_ecdsa_key ] || { /usr/bin/ssh-keygen -t ecdsa -N "" -f /etc/ssh/ssh_host_ecdsa_key >/dev/null; }
+ [ -d /var/empty ] || mkdir -p /var/empty
+ [ -z "$PID" ] && /usr/sbin/sshd $SSHD_ARGS
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon sshd
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping Secure Shell Daemon"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon sshd
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/testing/openssh/sshd.confd b/testing/openssh/sshd.confd
new file mode 100644
index 000000000..5ce7c0079
--- /dev/null
+++ b/testing/openssh/sshd.confd
@@ -0,0 +1,4 @@
+#
+# Parameters to be passed to sshd
+#
+SSHD_ARGS=""
diff --git a/testing/openssh/sshd.pam b/testing/openssh/sshd.pam
new file mode 100644
index 000000000..ff8829fe9
--- /dev/null
+++ b/testing/openssh/sshd.pam
@@ -0,0 +1,11 @@
+#%PAM-1.0
+#auth required pam_securetty.so #Disable remote root
+auth required pam_unix.so
+auth required pam_env.so
+account required pam_nologin.so
+account required pam_unix.so
+account required pam_time.so
+password required pam_unix.so
+session required pam_unix_session.so
+session required pam_limits.so
+-session optional pam_ck_connector.so nox11
diff --git a/testing/pygtk/PKGBUILD b/testing/pygtk/PKGBUILD
new file mode 100644
index 000000000..bc7c56efa
--- /dev/null
+++ b/testing/pygtk/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 131736 2011-07-14 11:07:45Z stephane $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Sarah Hay <sarahhay@mb.sympatico.ca>
+
+pkgname=pygtk
+pkgver=2.24.0
+pkgrel=2
+pkgdesc="Python bindings for the GTK widget set"
+arch=('i686' 'x86_64')
+license=('LGPL')
+depends=('libglade' 'python2-cairo' 'pygobject')
+makedepends=('python2-numpy' 'pygobject-devel')
+optdepends=('python2-numpy')
+options=('!libtool')
+url="http://www.pygtk.org/"
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2
+ python27.patch)
+sha256sums=('cd1c1ea265bd63ff669e92a2d3c2a88eb26bcd9e5363e0f82c896e649f206912'
+ '39a30456cba055a452bb55c74ef1ff2f5f7bfaad22855b4dd569ab009b56b682')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ #https://bugzilla.gnome.org/show_bug.cgi?id=623965
+ patch -Np1 -i "${srcdir}/python27.patch"
+
+ PYTHON=python2 ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -m644 gtk/gtk-extrafuncs.defs "${pkgdir}/usr/share/pygtk/2.0/defs/"
+
+ sed -i -e 's#env python$#env python2#' "${pkgdir}"/usr/lib/pygtk/2.0/{,demos/}*.py
+}
diff --git a/testing/pygtk/python27.patch b/testing/pygtk/python27.patch
new file mode 100644
index 000000000..9bbe2b5ae
--- /dev/null
+++ b/testing/pygtk/python27.patch
@@ -0,0 +1,50 @@
+diff --git a/gtk/gtkmodule.c b/gtk/gtkmodule.c
+index c0e1493..aa8cf10 100644
+--- a/gtk/gtkmodule.c
++++ b/gtk/gtkmodule.c
+@@ -227,8 +227,12 @@ init_gtk(void)
+ pygtk_add_stock_items(d);
+
+ /* extension API */
+- PyDict_SetItemString(d, "_PyGtk_API",
+- o=PyCObject_FromVoidPtr(&functions, NULL));
++#if PY_VERSION_HEX >= 0x02070000
++ o = PyCapsule_New(&functions, "gtk._gtk._PyGtk_API", NULL);
++#else
++ o = PyCObject_FromVoidPtr(&functions, NULL);
++#endif
++ PyDict_SetItemString(d, "_PyGtk_API", o);
+ Py_DECREF(o);
+
+ PyGtkDeprecationWarning = PyErr_NewException("gtk.GtkDeprecationWarning",
+diff --git a/gtk/pygtk.h b/gtk/pygtk.h
+index 573c3b9..e4c680f 100644
+--- a/gtk/pygtk.h
++++ b/gtk/pygtk.h
+@@ -60,6 +60,18 @@ struct _PyGtk_FunctionStruct *_PyGtk_API;
+
+
+ /* a function to initialise the pygtk functions */
++
++/* Python 2.7 introduced the PyCapsule API and deprecated the CObject API */
++#if PY_VERSION_HEX >= 0x02070000
++#define init_pygtk() G_STMT_START { \
++ void *capsule = PyCapsule_Import("gtk._gtk._PyGtk_API", 0); \
++ if (!capsule) { \
++ return; \
++ } \
++ _PyGtk_API = (struct _PyGtk_FunctionStruct*)capsule; \
++} G_STMT_END
++#else /* PY_VERSION_HEX */
++/* Python 2.6 and earlier use the CObject API */
+ #define init_pygtk() G_STMT_START { \
+ PyObject *pygtk = PyImport_ImportModule("gtk"); \
+ if (pygtk != NULL) { \
+@@ -79,6 +91,7 @@ struct _PyGtk_FunctionStruct *_PyGtk_API;
+ return; \
+ } \
+ } G_STMT_END
++#endif /* PY_VERSION_HEX */
+
+ #endif
+
diff --git a/testing/python-numpy/PKGBUILD b/testing/python-numpy/PKGBUILD
new file mode 100755
index 000000000..699137cf6
--- /dev/null
+++ b/testing/python-numpy/PKGBUILD
@@ -0,0 +1,61 @@
+# $Id: PKGBUILD 131668 2011-07-13 13:42:02Z stephane $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Douglas Soares de Andrade <dsa@aur.archlinux.org>
+# Contributor: Angel 'angvp' Velasquez <angvp[at]archlinux.com.ve>
+
+pkgbase=python-numpy
+pkgname=('python2-numpy' 'python-numpy')
+pkgver=1.6.0
+pkgrel=1
+pkgdesc="Scientific tools for Python"
+arch=('i686' 'x86_64')
+license=('custom')
+url="http://numpy.scipy.org/"
+makedepends=('lapack' 'python' 'python2' 'python-distribute' 'python2-distribute' 'gcc-fortran' 'python-nose')
+source=(http://downloads.sourceforge.net/numpy/numpy-${pkgver}.tar.gz)
+md5sums=('e0993c74cb8e83292e560eac1a9be8e9')
+
+build() {
+ cd "${srcdir}"
+ cp -a numpy-${pkgver} numpy-py2-${pkgver}
+
+ export Atlas=None
+ export LDFLAGS="$LDFLAGS -shared"
+
+ echo "Building Python2"
+ cd "${srcdir}/numpy-py2-${pkgver}"
+ python2 setup.py config_fc --fcompiler=gnu95 build
+
+ echo "Building Python3"
+ cd "${srcdir}/numpy-${pkgver}"
+ python setup.py config_fc --fcompiler=gnu95 build
+}
+
+package_python2-numpy() {
+ depends=('lapack' 'python2')
+ optdepends=('python-nose: testsuite')
+
+ cd "${srcdir}/numpy-py2-${pkgver}"
+ python2 setup.py config_fc --fcompiler=gnu95 install --prefix=/usr --root="${pkgdir}" --optimize=1
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/python2-numpy"
+ install -m644 LICENSE.txt "${pkgdir}/usr/share/licenses/python2-numpy/"
+
+ sed -i -e "s|#![ ]*/usr/bin/python$|#!/usr/bin/python2|" \
+ -e "s|#![ ]*/usr/bin/env python$|#!/usr/bin/env python2|" \
+ -e "s|#![ ]*/bin/env python$|#!/usr/bin/env python2|" \
+ $(find ${pkgdir} -name '*.py')
+}
+
+package_python-numpy() {
+ depends=('lapack' 'python')
+ provides=("python3-numpy=${pkgver}")
+ replaces=('python3-numpy')
+ conflicts=('python3-numpy')
+
+ cd "${srcdir}/numpy-${pkgver}"
+ python setup.py config_fc --fcompiler=gnu95 install --prefix=/usr --root="${pkgdir}" --optimize=1
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/python3-numpy"
+ install -m644 LICENSE.txt "${pkgdir}/usr/share/licenses/python3-numpy/"
+}
diff --git a/testing/quota-tools/LICENSE b/testing/quota-tools/LICENSE
new file mode 100644
index 000000000..4bae71589
--- /dev/null
+++ b/testing/quota-tools/LICENSE
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 1980, 1990 Regents of the University of California. All
+ * rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by Robert Elz at
+ * The University of Melbourne.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met: 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer. 2.
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution. 3. All advertising
+ * materials mentioning features or use of this software must display the
+ * following acknowledgement: This product includes software developed by the
+ * University of California, Berkeley and its contributors. 4. Neither the
+ * name of the University nor the names of its contributors may be used to
+ * endorse or promote products derived from this software without specific
+ * prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
diff --git a/testing/quota-tools/PKGBUILD b/testing/quota-tools/PKGBUILD
new file mode 100644
index 000000000..79bb209a4
--- /dev/null
+++ b/testing/quota-tools/PKGBUILD
@@ -0,0 +1,49 @@
+# $Id: PKGBUILD 131802 2011-07-15 11:55:43Z eric $
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+
+pkgname=quota-tools
+pkgver=4.00_pre1
+pkgrel=1
+pkgdesc="Tools to manage kernel-level quotas in Linux"
+arch=('i686' 'x86_64')
+url="http://sourceforge.net/projects/linuxquota/"
+license=('GPL' 'BSD')
+depends=('e2fsprogs')
+backup=('etc/warnquota.conf' 'etc/quotatab' 'etc/quotagrpadmins')
+options=('!emptydirs')
+source=(http://downloads.sourceforge.net/sourceforge/linuxquota/quota-${pkgver/_/-}.tar.gz LICENSE \
+ quotaon.diff system_inodes.diff repquota.diff nulls.diff)
+md5sums=('ef9d66e8a968ecffd2d9df648fa8ada2'
+ 'dd792440e684043e4e4ef80963d0237b'
+ '9ac7ca4746de1ad057baee21474b7906'
+ '92d9f2a4b3e5e3adf2977051391785a7'
+ 'd1d70d4167e53d1414079b4391f1cfb8'
+ '094bce5226c4fd1c383bd0b75405ee2c')
+sha1sums=('adf29b49dab449078eb6ffdfe8af51fe85419e28'
+ '57297bdc9e638c500506169bbbe12eb89bcf7d07'
+ '2304f03cddd06d8791167f621683f7ef54610673'
+ 'e2a33f1f95a3ff8c741a2067058e898f6054af09'
+ '8b00e7c4f7af2188ad49a50a616c1d71eee20459'
+ '0527f761aa869f5d9e463ceab4a3bf82881d05c2')
+
+build() {
+ cd "${srcdir}/${pkgname}"
+ patch -p1 -i "${srcdir}/quotaon.diff"
+ patch -p1 -i "${srcdir}/system_inodes.diff"
+ patch -p1 -i "${srcdir}/repquota.diff"
+ patch -p1 -i "${srcdir}/nulls.diff"
+ ./configure --prefix=/usr --sysconfdir=/etc
+ sed -i -e 's/#define HOSTS_ACCESS 1//' -e 's/HOSTS_ACCESS//' config.h
+ sed -i 's/-lwrap//' Makefile
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}"
+ make ROOTDIR="${pkgdir}" install
+ install -D -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+
+# remove conflicts with glibc and man-pages
+ rm "${pkgdir}"/usr/include/rpcsvc/rquota.{h,x}
+ rm "${pkgdir}/usr/share/man/man2/quotactl.2"
+}
diff --git a/testing/quota-tools/nulls.diff b/testing/quota-tools/nulls.diff
new file mode 100644
index 000000000..97c5bc482
--- /dev/null
+++ b/testing/quota-tools/nulls.diff
@@ -0,0 +1,20 @@
+#Description: Avoid memory corruption of NULL address
+#Author: Petr Pisar
+
+--- quota/quotasys.c 2010-02-18 09:44:11.000000000 +0100
++++ quota-tools/quotasys.c 2010-05-05 08:02:53.000000000 +0200
+@@ -746,9 +746,12 @@
+ kernel_qfmt_num = 0;
+ if (!stat("/proc/fs/xfs/stat", &st))
+ kernel_qfmt[kernel_qfmt_num++] = QF_XFS;
+- else
+- if (!quotactl(QCMD(Q_XGETQSTAT, 0), NULL, 0, NULL) || (errno != EINVAL && errno != ENOSYS))
++ else {
++ fs_quota_stat_t dummy;
++
++ if (!quotactl(QCMD(Q_XGETQSTAT, 0), "/dev/root", 0, (void *)&dummy) || (errno != EINVAL && errno != ENOSYS))
+ kernel_qfmt[kernel_qfmt_num++] = QF_XFS;
++ }
+ /* Detect new kernel interface; Assume generic interface unless we can prove there is not one... */
+ if (!stat("/proc/sys/fs/quota", &st) || errno != ENOENT) {
+ kernel_iface = IFACE_GENERIC;
diff --git a/testing/quota-tools/quotaon.diff b/testing/quota-tools/quotaon.diff
new file mode 100644
index 000000000..6a43cee6c
--- /dev/null
+++ b/testing/quota-tools/quotaon.diff
@@ -0,0 +1,216 @@
+# Description: Fix quotaon to work with XFS and print all informational messages only in verbose mode
+# Author: Jan Kara
+
+diff -u quota/quotaon.c quota-tools/quotaon.c
+--- quota/quotaon.c 2010-07-28 11:14:02.000000000 +0200
++++ quota-tools/quotaon.c 2010-06-15 10:11:30.000000000 +0200
+@@ -42,6 +42,7 @@
+ #include <getopt.h>
+ #include <string.h>
+ #include <stdlib.h>
++#include <stdarg.h>
+
+ #include "quotaon.h"
+ #include "quota.h"
+@@ -145,6 +146,19 @@
+ }
+ }
+
++int pinfo(char *fmt, ...)
++{
++ va_list arg;
++ int ret;
++
++ if (!(flags & FL_VERBOSE))
++ return 0;
++ va_start(arg, fmt);
++ ret = vprintf(fmt, arg);
++ va_end(arg);
++ return ret;
++}
++
+ /*
+ * Enable/disable rsquash on given filesystem
+ */
+@@ -171,10 +185,10 @@
+ errstr(_("set root_squash on %s: %s\n"), quotadev, strerror(errno));
+ return 1;
+ }
+- if ((flags & STATEFLAG_VERBOSE) && (flags & STATEFLAG_OFF))
+- printf(_("%s: %s root_squash turned off\n"), quotadev, type2name(type));
+- else if ((flags & STATEFLAG_VERBOSE) && (flags & STATEFLAG_ON))
+- printf(_("%s: %s root_squash turned on\n"), quotadev, type2name(type));
++ if (flags & STATEFLAG_OFF)
++ pinfo(_("%s: %s root_squash turned off\n"), quotadev, type2name(type));
++ else if (flags & STATEFLAG_ON)
++ pinfo(_("%s: %s root_squash turned on\n"), quotadev, type2name(type));
+ #endif
+ return 0;
+ }
+@@ -195,8 +209,7 @@
+ errstr(_("quotactl on %s [%s]: %s\n"), quotadev, quotadir, strerror(errno));
+ return 1;
+ }
+- if (flags & STATEFLAG_VERBOSE)
+- printf(_("%s [%s]: %s quotas turned off\n"), quotadev, quotadir, type2name(type));
++ pinfo(_("%s [%s]: %s quotas turned off\n"), quotadev, quotadir, type2name(type));
+ return 0;
+ }
+ if (kernel_iface == IFACE_GENERIC) {
+@@ -218,8 +231,7 @@
+ errstr(_("Quota format not supported in kernel.\n"));
+ return 1;
+ }
+- if (flags & STATEFLAG_VERBOSE)
+- printf(_("%s [%s]: %s quotas turned on\n"), quotadev, quotadir, type2name(type));
++ pinfo(_("%s [%s]: %s quotas turned on\n"), quotadev, quotadir, type2name(type));
+ return 0;
+ }
+
+@@ -268,8 +280,6 @@
+ int sflags, ret = 0;
+
+ sflags = flags & FL_OFF ? STATEFLAG_OFF : STATEFLAG_ON;
+- if (flags & FL_VERBOSE)
+- sflags |= STATEFLAG_VERBOSE;
+ if (flags & FL_ALL)
+ sflags |= STATEFLAG_ALL;
+
+@@ -281,10 +291,7 @@
+ errstr(_("Cannot change state of XFS quota. It's not compiled in kernel.\n"));
+ return 1;
+ }
+- if ((flags & FL_OFF && (kern_quota_on(mnt->mnt_fsname, USRQUOTA, QF_XFS) != -1
+- || kern_quota_on(mnt->mnt_fsname, GRPQUOTA, QF_XFS) != -1))
+- || (!(flags & FL_OFF) && kern_quota_on(mnt->mnt_fsname, type, QF_XFS) == -1))
+- ret = xfs_newstate(mnt, type, extra, sflags);
++ ret = xfs_newstate(mnt, type, extra, sflags);
+ }
+ else if (meta_qf_fstype(mnt->mnt_type)) {
+ if (!hasquota(mnt, type, 0))
+@@ -376,7 +383,7 @@
+ while ((mnt = get_next_mount())) {
+ if (nfs_fstype(mnt->mnt_type)) {
+ if (!(flags & FL_ALL))
+- fprintf(stderr, "%s: Quota cannot be turned on on NFS filesystem\n", mnt->mnt_fsname);
++ errstr(_("%s: Quota cannot be turned on on NFS filesystem\n"), mnt->mnt_fsname);
+ continue;
+ }
+
+diff -u quota/quotaon.h quota-tools/quotaon.h
+--- quota/quotaon.h 2010-02-18 09:44:11.000000000 +0100
++++ quota-tools/quotaon.h 2010-06-12 12:06:08.000000000 +0200
+@@ -13,7 +13,7 @@
+ #define STATEFLAG_ON 0x01
+ #define STATEFLAG_OFF 0x02
+ #define STATEFLAG_ALL 0x04
+-#define STATEFLAG_VERBOSE 0x08
+
+ typedef int (newstate_t) (struct mntent * mnt, int type, char *file, int flags);
+ extern int xfs_newstate(struct mntent *mnt, int type, char *file, int flags);
++extern int pinfo(char *fmt, ...);
+diff -u quota/quotaon_xfs.c quota-tools/quotaon_xfs.c
+--- quota/quotaon_xfs.c 2010-07-26 18:48:24.000000000 +0200
++++ quota-tools/quotaon_xfs.c 2010-06-15 10:11:30.000000000 +0200
+@@ -59,8 +59,8 @@
+ return 1;
+ case Q_XFS_QUOTAON:
+ if (roothack) {
+- printf(_("Enabling %s quota on root filesystem"
+- " (reboot to take effect)\n"), type2name(type));
++ pinfo(_("Enabling %s quota on root filesystem"
++ " (reboot to take effect)\n"), type2name(type));
+ return 1;
+ }
+ errstr(_("Enable XFS %s quota accounting during mount\n"),
+@@ -79,12 +79,12 @@
+ return -1;
+ case Q_XFS_QUOTAON:
+ if (roothack) {
+- printf(_("Enabling %s quota on root filesystem"
+- " (reboot to take effect)\n"), type2name(type));
++ pinfo(_("Enabling %s quota on root filesystem"
++ " (reboot to take effect)\n"), type2name(type));
+ return 1;
+ }
+ if (xopts & XFS_QUOTA_UDQ_ENFD || xopts & XFS_QUOTA_GDQ_ENFD) {
+- printf(_("Enabling %s quota enforcement on %s\n"), type2name(type), dev);
++ pinfo(_("Enabling %s quota enforcement on %s\n"), type2name(type), dev);
+ return 1;
+ }
+ errstr(_("Already accounting %s quota on %s\n"),
+@@ -92,7 +92,7 @@
+ return -1;
+ case Q_XFS_QUOTAOFF:
+ if (xopts & XFS_QUOTA_UDQ_ACCT || xopts & XFS_QUOTA_GDQ_ACCT) {
+- printf(_("Disabling %s quota accounting on %s\n"),
++ pinfo(_("Disabling %s quota accounting on %s\n"),
+ type2name(type), dev);
+ return 1;
+ }
+@@ -121,9 +121,9 @@
+ return -1;
+ }
+ if (xopts & XFS_QUOTA_UDQ_ACCT || xopts & XFS_QUOTA_GDQ_ACCT)
+- acctstr = _("and accounting ");
+- printf(_("Disabling %s quota enforcement %son %s\n"),
+- type2name(type), acctstr, dev);
++ acctstr = _("and accounting ");
++ pinfo(_("Disabling %s quota enforcement %son %s\n"),
++ type2name(type), acctstr, dev);
+ return 1;
+ }
+ break;
+@@ -146,10 +146,10 @@
+ errstr(_("quotactl on %s: %s\n"), dev, strerror(errno));
+ return 1;
+ }
+- if ((flags & STATEFLAG_VERBOSE) && qoff)
+- printf(_("%s: %s quotas turned off\n"), dev, type2name(type));
+- else if ((flags & STATEFLAG_VERBOSE) && !qoff)
+- printf(_("%s: %s quotas turned on\n"), dev, type2name(type));
++ if (qoff)
++ pinfo(_("%s: %s quotas turned off\n"), dev, type2name(type));
++ else
++ pinfo(_("%s: %s quotas turned on\n"), dev, type2name(type));
+ return 0;
+ }
+
+@@ -168,8 +168,7 @@
+ return 1;
+ }
+
+- if (flags & STATEFLAG_VERBOSE)
+- printf(_("%s: deleted %s quota blocks\n"), dev, type2name(type));
++ pinfo(_("%s: deleted %s quota blocks\n"), dev, type2name(type));
+ return 0;
+ }
+
+@@ -208,16 +207,12 @@
+ }
+ #endif /* XFS_ROOTHACK */
+
+- if (xarg == NULL) { /* both acct & enfd on/off */
+- xopts |= (type == USRQUOTA) ?
+- (XFS_QUOTA_UDQ_ACCT | XFS_QUOTA_UDQ_ENFD) :
+- (XFS_QUOTA_GDQ_ACCT | XFS_QUOTA_GDQ_ENFD);
++ if (xarg == NULL) { /* only enfd on/off */
++ xopts |= (type == USRQUOTA) ? XFS_QUOTA_UDQ_ENFD :
++ XFS_QUOTA_GDQ_ENFD;
+ err = xfs_onoff((char *)dev, type, flags, roothack, xopts);
+ }
+ else if (strcmp(xarg, "account") == 0) {
+- /* only useful if we want root accounting only */
+- if (!roothack || !(flags & STATEFLAG_ON))
+- goto done;
+ xopts |= (type == USRQUOTA) ? XFS_QUOTA_UDQ_ACCT : XFS_QUOTA_GDQ_ACCT;
+ err = xfs_onoff((char *)dev, type, flags, roothack, xopts);
+ }
+@@ -231,7 +226,6 @@
+ }
+ else
+ die(1, _("Invalid argument \"%s\"\n"), xarg);
+- done:
+ free((char *)dev);
+ return err;
+ }
diff --git a/testing/quota-tools/repquota.diff b/testing/quota-tools/repquota.diff
new file mode 100644
index 000000000..3d79497d9
--- /dev/null
+++ b/testing/quota-tools/repquota.diff
@@ -0,0 +1,91 @@
+# Description: fix repquota to get latest quota info header
+# Author: Jan Kara
+
+diff -u quota/quotaio.c quota-tools/quotaio.c
+--- quota/quotaio.c 2010-07-28 11:14:02.000000000 +0200
++++ quota-tools/quotaio.c 2010-05-28 09:05:21.000000000 +0200
+@@ -147,6 +147,15 @@
+ }
+ }
+ if (!QIO_ENABLED(h) || flags & IOI_OPENFILE) { /* Need to open file? */
++ if (QIO_ENABLED(h)) { /* Kernel uses same file? */
++ unsigned int cmd =
++ (kernel_iface == IFACE_GENERIC) ? Q_SYNC : Q_6_5_SYNC;
++ if (quotactl(QCMD(cmd, h->qh_type), h->qh_quotadev,
++ 0, NULL) < 0) {
++ die(4, _("Cannot sync quotas on device %s: %s\n"),
++ h->qh_quotadev, strerror(errno));
++ }
++ }
+ /* We still need to open file for operations like 'repquota' */
+ if ((fd = open(qfname, QIO_RO(h) ? O_RDONLY : O_RDWR)) < 0) {
+ errstr(_("Cannot open quotafile %s: %s\n"),
+diff -u quota/quotaio_v1.c quota-tools/quotaio_v1.c
+--- quota/quotaio_v1.c 2010-07-26 18:48:24.000000000 +0200
++++ quota-tools/quotaio_v1.c 2010-05-28 09:05:23.000000000 +0200
+@@ -348,11 +348,6 @@
+ struct dquot *dquot = get_empty_dquot();
+ qid_t id = 0;
+
+- if (QIO_ENABLED(h)) /* Kernel uses same file? */
+- if (quotactl(QCMD((kernel_iface == IFACE_GENERIC) ? Q_SYNC : Q_6_5_SYNC, h->qh_type),
+- h->qh_quotadev, 0, NULL) < 0)
+- die(4, _("Cannot sync quotas on device %s: %s\n"), h->qh_quotadev,
+- strerror(errno));
+ memset(dquot, 0, sizeof(*dquot));
+ dquot->dq_h = h;
+ lseek(h->qh_fd, 0, SEEK_SET);
+diff -u quota/quotaio_v2.c quota-tools/quotaio_v2.c
+--- quota/quotaio_v2.c 2010-02-18 09:44:11.000000000 +0100
++++ quota-tools/quotaio_v2.c 2010-05-28 09:05:23.000000000 +0200
+@@ -484,11 +484,6 @@
+
+ static int v2_scan_dquots(struct quota_handle *h, int (*process_dquot) (struct dquot *, char *))
+ {
+- if (QIO_ENABLED(h)) /* Kernel uses same file? */
+- if (quotactl(QCMD((kernel_iface == IFACE_GENERIC) ? Q_SYNC : Q_6_5_SYNC, h->qh_type),
+- h->qh_quotadev, 0, NULL) < 0)
+- die(4, _("Cannot sync quotas on device %s: %s\n"), h->qh_quotadev,
+- strerror(errno));
+ return qtree_scan_dquots(h, process_dquot);
+ }
+
+diff -u quota/quotasys.c quota-tools/quotasys.c
+--- quota/quotasys.c 2010-07-28 11:14:02.000000000 +0200
++++ quota-tools/quotasys.c 2010-06-15 10:11:30.000000000 +0200
+@@ -861,22 +861,23 @@
+ if (kernel_iface == IFACE_GENERIC) {
+ int actfmt;
+
+- if (quotactl(QCMD(Q_GETFMT, type), dev, 0, (void *)&actfmt) < 0)
+- return -1;
+- actfmt = kern2utilfmt(actfmt);
+- if (actfmt < 0)
+- return -1;
+- return actfmt;
++ if (quotactl(QCMD(Q_GETFMT, type), dev, 0,
++ (void *)&actfmt) >= 0) {
++ actfmt = kern2utilfmt(actfmt);
++ if (actfmt >= 0)
++ return actfmt;
++ }
++ } else {
++ if ((fmt == -1 || fmt == QF_VFSV0) &&
++ v2_kern_quota_on(dev, type)) /* VFSv0 quota format */
++ return QF_VFSV0;
++ if ((fmt == -1 || fmt == QF_VFSOLD) &&
++ v1_kern_quota_on(dev, type)) /* Old quota format */
++ return QF_VFSOLD;
+ }
+- if ((fmt == -1 || fmt == QF_VFSV0) &&
+- v2_kern_quota_on(dev, type)) /* VFSv0 quota format */
+- return QF_VFSV0;
+ if ((fmt == -1 || fmt == QF_XFS) &&
+ xfs_kern_quota_on(dev, type)) /* XFS quota format */
+ return QF_XFS;
+- if ((fmt == -1 || fmt == QF_VFSOLD) &&
+- v1_kern_quota_on(dev, type)) /* Old quota format */
+- return QF_VFSOLD;
+ return -1;
+ }
+
diff --git a/testing/quota-tools/system_inodes.diff b/testing/quota-tools/system_inodes.diff
new file mode 100644
index 000000000..94f4d66da
--- /dev/null
+++ b/testing/quota-tools/system_inodes.diff
@@ -0,0 +1,18 @@
+# Description: Do not count system inodes into quota for ext[234]
+# Author: Jan Kara
+
+--- quota/quotacheck.c 2010-02-18 09:44:10.000000000 +0100
++++ quota-tools//quotacheck.c 2010-05-22 16:47:53.000000000 +0200
+@@ -455,8 +455,10 @@
+ return -1;
+ }
+
+- while ((long)i_num) {
+- if (inode.i_links_count) {
++ while (i_num) {
++ if ((i_num == EXT2_ROOT_INO ||
++ i_num >= EXT2_FIRST_INO(fs->super)) &&
++ inode.i_links_count) {
+ debug(FL_DEBUG, _("Found i_num %ld, blocks %ld\n"), (long)i_num, (long)inode.i_blocks);
+ if (flags & FL_VERBOSE)
+ blit(NULL);
diff --git a/testing/rrdtool/PKGBUILD b/testing/rrdtool/PKGBUILD
new file mode 100644
index 000000000..2395df342
--- /dev/null
+++ b/testing/rrdtool/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 131818 2011-07-15 23:27:54Z dan $
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+
+pkgname=rrdtool
+pkgver=1.4.5
+pkgrel=3
+pkgdesc="Data logging and graphing application"
+arch=('i686' 'x86_64')
+url="http://www.rrdtool.org"
+license=('GPL' 'custom')
+depends=('libpng' 'libxml2' 'pango')
+makedepends=('intltool' 'ruby' 'python2' 'tcl' 'lua')
+optdepends=('tcl: to use corresponding binding' \
+ 'python2: to use corresponding binding' \
+ 'ruby: to use corresponding binding' \
+ 'lua: to use corresponding binding')
+options=('!libtool' '!emptydirs' '!makeflags')
+source=(http://oss.oetiker.ch/rrdtool/pub/rrdtool-${pkgver}.tar.gz)
+md5sums=('4d116dba9a0888d8aaac179e35d3980a')
+sha1sums=('56638e8aedd5d5522152e86746e382b75dc48c35')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ sed -i 's|-lrrd|-lrrd -L/usr/lib/perl5/core_perl/CORE/ -lperl -Wl,-E -Wl,-rpath,/usr/lib/perl5/core_perl/CORE |' \
+ bindings/perl-shared/Makefile.PL
+ ./configure --prefix=/usr --localstatedir=/var --disable-rpath \
+ --enable-perl --enable-perl-site-install --with-perl-options='INSTALLDIRS=vendor' \
+ --enable-ruby --enable-ruby-site-install --enable-python \
+ --enable-lua --enable-lua-site-install --enable-tcl --disable-libwrap
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -D -m644 COPYRIGHT "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/testing/slv2/PKGBUILD b/testing/slv2/PKGBUILD
new file mode 100644
index 000000000..3005cd313
--- /dev/null
+++ b/testing/slv2/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 131701 2011-07-13 15:39:04Z schiv $
+# Maintainer: Ray Rashif <schiv@archlinux.org>
+# Contributor: Leslie P. Polzer <polzer@stardawn.org>
+
+pkgname=slv2
+pkgver=0.6.6
+pkgrel=6
+pkgdesc="Library for LV2 hosts"
+arch=('i686' 'x86_64')
+url="http://drobilla.net/software/slv2"
+license=('GPL')
+depends=('redland>=1.0.13' 'lv2core' 'jack')
+makedepends=('python2')
+install=$pkgname.install
+changelog=$pkgname.changelog
+source=(http://download.drobilla.net/$pkgname-$pkgver.tar.bz2)
+md5sums=('b8e8e0e82dd04324fcd533e8acd1ce85')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ python2 waf configure --prefix=/usr
+ python2 waf build $MAKEFLAGS
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ python2 waf install --destdir="$pkgdir/"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/testing/slv2/slv2.changelog b/testing/slv2/slv2.changelog
new file mode 100644
index 000000000..f394a5067
--- /dev/null
+++ b/testing/slv2/slv2.changelog
@@ -0,0 +1,23 @@
+22 Feb 2011 (GMT+8) Ray Rashif <schiv@archlinux.org>
+
+ * 0.6.6-3:
+ raptor rebuild
+
+24 Nov 2010 (GMT+8) Ray Rashif <schiv@archlinux.org>
+
+ * PKGBUILD :
+ Get rid of sed and use python2 directly for waf.
+ waf fix for python transition already included previously (unlogged).
+ Release only (no need binary update; no runtime python requirement).
+
+9 Aug 2010 (GMT+8) Ray Rashif <schiv@archlinux.org>
+
+ * 0.6.6-2 :
+ Brought into extra from community for ardour
+ - adds "LV2" plug-ins support
+
+ * PKGBUILD :
+ Minor cosmetic ammendments.
+
+ * slv2.changelog :
+ Added this changelog.
diff --git a/testing/slv2/slv2.install b/testing/slv2/slv2.install
new file mode 100644
index 000000000..c980ddfab
--- /dev/null
+++ b/testing/slv2/slv2.install
@@ -0,0 +1,14 @@
+post_install() {
+ echo "Updating Shared Library Links"
+ /sbin/ldconfig
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/testing/socat/PKGBUILD b/testing/socat/PKGBUILD
new file mode 100644
index 000000000..458009ce3
--- /dev/null
+++ b/testing/socat/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 131647 2011-07-13 08:01:50Z bisson $
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+# Contributor: Juergen Hoetzel <juergen@archlinux.org>
+# Contributor: John Proctor <jproctor@prium.net>
+
+pkgname=socat
+pkgver=1.7.1.3
+pkgrel=3
+pkgdesc='Multipurpose relay'
+url='http://www.dest-unreach.org/socat/'
+license=('GPL2')
+arch=('i686' 'x86_64')
+depends=('readline' 'openssl')
+source=("http://www.dest-unreach.org/socat/download/${pkgname}-${pkgver}.tar.gz")
+sha1sums=('5a42275da0d8a5182452b36535a74c3cdf21793b')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure \
+ --prefix=/usr \
+ --mandir=/usr/share/man \
+ --disable-libwrap # only required while base/base-devel uses tcp_wrappers
+
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/testing/tftp-hpa/LICENSE b/testing/tftp-hpa/LICENSE
new file mode 100644
index 000000000..6dade6984
--- /dev/null
+++ b/testing/tftp-hpa/LICENSE
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 1983, 1993
+ * The Regents of the University of California. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
diff --git a/testing/tftp-hpa/PKGBUILD b/testing/tftp-hpa/PKGBUILD
new file mode 100644
index 000000000..72034141e
--- /dev/null
+++ b/testing/tftp-hpa/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 131856 2011-07-16 06:36:05Z tpowa $
+# Maintainer: dorphell <dorphell@archlinux.org>
+# Contributor: Jose Javier <jojapa@terra.es>
+pkgname=tftp-hpa
+pkgver=5.1
+pkgrel=1
+pkgdesc="Official tftp server"
+arch=('i686' 'x86_64')
+url="http://www.kernel.org/pub/software/network/tftp/"
+license=('BSD')
+depends=('readline>=6.0.00')
+conflicts=('netkit-tftp')
+backup=('etc/conf.d/tftpd')
+source=(http://www.kernel.org/pub/software/network/tftp/$pkgname-$pkgver.tar.gz tftpd.rc tftpd.conf LICENSE)
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --mandir=/usr/share/man --without-tcpwrappers
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make INSTALLROOT="${pkgdir}" install
+ install -d "${pkgdir}/etc/rc.d"
+ install -d "${pkgdir}/var/tftpboot"
+ install -m755 "${srcdir}/tftpd.rc" "${pkgdir}/etc/rc.d/tftpd"
+ install -D -m644 "${srcdir}/tftpd.conf" "${pkgdir}/etc/conf.d/tftpd"
+ rm "${pkgdir}/usr/share/man/man8/tftpd.8"
+ install -D -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
+md5sums=('d086b1bd6e5ed6375ad407e273afccdf'
+ '83fbb6f52205d95951a3c059e5351ca2'
+ '414a79dc891bced056d99a9bb790fc9e'
+ '6ce21e27b6fdc1a1adf85c81e42aeecf')
diff --git a/testing/tftp-hpa/tftpd.conf b/testing/tftp-hpa/tftpd.conf
new file mode 100644
index 000000000..4705cc3a9
--- /dev/null
+++ b/testing/tftp-hpa/tftpd.conf
@@ -0,0 +1,4 @@
+#
+# Parameters to be passed to TFTPD
+#
+TFTPD_ARGS="-l -s /var/tftpboot"
diff --git a/testing/tftp-hpa/tftpd.rc b/testing/tftp-hpa/tftpd.rc
new file mode 100755
index 000000000..0222d1693
--- /dev/null
+++ b/testing/tftp-hpa/tftpd.rc
@@ -0,0 +1,38 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+TFTPD_ARGS=
+[ -f /etc/conf.d/tftpd ] && . /etc/conf.d/tftpd
+
+PID=$(pidof -o %PPID /usr/sbin/in.tftpd)
+case "$1" in
+ start)
+ stat_busy "Starting TFTPD"
+ [ -z "$PID" ] && /usr/sbin/in.tftpd ${TFTPD_ARGS}
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon tftpd
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping TFTPD"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon tftpd
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/testing/vsftpd/PKGBUILD b/testing/vsftpd/PKGBUILD
new file mode 100644
index 000000000..c35fe02de
--- /dev/null
+++ b/testing/vsftpd/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 131827 2011-07-15 23:59:43Z dreisner $
+# Maintainer: Andreas Radke <andyrtr@archlinux.org>
+# Contributor: judd <jvinet@zeroflux.org>
+
+pkgname=vsftpd
+pkgver=2.3.4
+pkgrel=2
+pkgdesc="Very Secure FTP daemon"
+arch=('i686' 'x86_64')
+url="https://security.appspot.com/vsftpd.html"
+license=('GPL2')
+depends=('openssl')
+backup=('etc/vsftpd.conf' 'etc/xinetd.d/vsftpd')
+install=vsftpd.install
+source=("https://security.appspot.com/downloads/${pkgname}-${pkgver}.tar.gz"
+ 'vsftpd.xinetd' 'vsftpd.d')
+md5sums=('2ea5d19978710527bb7444d93b67767a'
+ 'b07fd4609c70063c1d6b20142910c1a6'
+ '60060a6c7db3b3b7baa1561a302e6923')
+sha1sums=('b774cc6b4c50e20f4fe9ca7f6aa74169ce7fe5ea'
+ 'c87b4ce56dac15223694a6e86c01ea813b877596'
+ '24f268956c24e78be0c234c6d31f41487922eafe')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ # build-time config
+ sed \
+ -e 's|^#undef VSF_BUILD_SSL$|#define VSF_BUILD_SSL|' \
+ -i builddefs.h
+ make CFLAGS="${CFLAGS}"
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ install -D -m755 vsftpd "${pkgdir}/usr/sbin/vsftpd"
+ install -D -m644 vsftpd.conf "${pkgdir}/etc/vsftpd.conf"
+ install -D -m644 vsftpd.8 "${pkgdir}/usr/share/man/man8/vsftpd.8"
+ install -D -m644 vsftpd.conf.5 "${pkgdir}/usr/share/man/man5/vsftpd.conf.5"
+ install -D -m644 "${srcdir}/vsftpd.xinetd" "${pkgdir}/etc/xinetd.d/vsftpd"
+ install -D -m755 "${srcdir}/vsftpd.d" "${pkgdir}/etc/rc.d/vsftpd"
+
+ install -d -m755 "${pkgdir}/usr/share/empty"
+}
diff --git a/testing/vsftpd/vsftpd.d b/testing/vsftpd/vsftpd.d
new file mode 100644
index 000000000..27310855c
--- /dev/null
+++ b/testing/vsftpd/vsftpd.d
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+daemon_name=vsftpd
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+get_pid() {
+ pidof -o %PPID $daemon_name
+}
+
+case "$1" in
+ start)
+ stat_busy "Starting $daemon_name daemon"
+
+ PID=$(get_pid)
+ if [ -z "$PID" ]; then
+ [ -f /var/run/$daemon_name.pid ] && rm -f /var/run/$daemon_name.pid
+ # RUN
+ $daemon_name &
+ #
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 1
+ else
+ echo $(get_pid) > /var/run/$daemon_name.pid
+ add_daemon $daemon_name
+ stat_done
+ fi
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+
+ stop)
+ stat_busy "Stopping $daemon_name daemon"
+ PID=$(get_pid)
+ # KILL
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ #
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 1
+ else
+ rm -f /var/run/$daemon_name.pid &> /dev/null
+ rm_daemon $daemon_name
+ stat_done
+ fi
+ ;;
+
+ restart)
+ $0 stop
+ sleep 3
+ $0 start
+ ;;
+
+ status)
+ stat_busy "Checking $daemon_name status";
+ ck_status $daemon_name
+ ;;
+
+ *)
+ echo "usage: $0 {start|stop|restart|status}"
+esac
+
+exit 0
diff --git a/testing/vsftpd/vsftpd.install b/testing/vsftpd/vsftpd.install
new file mode 100644
index 000000000..48f134e24
--- /dev/null
+++ b/testing/vsftpd/vsftpd.install
@@ -0,0 +1,17 @@
+# arg 1: the new package version
+post_install() {
+ if [ -f lib/modules/`uname -r`/kernel/security/capability.ko ]; then
+ echo ">>> It appears that your current kernel has linux security"
+ echo ">>> capabilities built as a module. vsftpd requires this"
+ echo ">>> functionality to operate."
+ echo ">>>"
+ echo ">>> To activate the module, please load it now (modprobe capability)."
+ echo ">>> Also, you should add it to your MODULES array in rc.conf, so"
+ echo ">>> it will be activated automatically at boot-up."
+ fi
+}
+
+post_upgrade() {
+ post_install $1
+}
+
diff --git a/testing/vsftpd/vsftpd.xinetd b/testing/vsftpd/vsftpd.xinetd
new file mode 100644
index 000000000..eff2eb3db
--- /dev/null
+++ b/testing/vsftpd/vsftpd.xinetd
@@ -0,0 +1,10 @@
+service ftp
+{
+ socket_type = stream
+ wait = no
+ user = root
+ server = /usr/sbin/vsftpd
+ log_on_success += HOST DURATION
+ log_on_failure += HOST
+ disable = yes
+}
diff --git a/testing/xinetd/PKGBUILD b/testing/xinetd/PKGBUILD
new file mode 100644
index 000000000..27bf3b2a0
--- /dev/null
+++ b/testing/xinetd/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 131821 2011-07-15 23:50:00Z dan $
+# Maintainer:
+# Contributor: Judd <jvinet@zeroflux.org>
+
+pkgname=xinetd
+pkgver=2.3.14
+pkgrel=7
+pkgdesc="A secure replacement for inetd"
+arch=('i686' 'x86_64')
+url="http://www.xinetd.org/"
+license=('custom')
+optdepends=('perl: for xconv.pl script')
+backup=('etc/xinetd.conf' 'etc/xinetd.d/servers' 'etc/xinetd.d/services')
+source=(http://www.xinetd.org/xinetd-$pkgver.tar.gz
+ xinetd.conf
+ xinetd
+ servers
+ services)
+md5sums=('567382d7972613090215c6c54f9b82d9'
+ 'f109f699a07bc8cfb5791060f5e87f9e'
+ 'ea37a2794f202e6b953d9b6956dad16a'
+ '21f47b4aa20921cfaddddd9f9a407f81'
+ '9fa2061dc7dd738c8424251deb86f81e')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ sed -i "s#${prefix}/man#${prefix}/share/man#" configure
+ ./configure --prefix=/usr --without-libwrap
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make prefix=$pkgdir/usr install
+
+ install -Dm755 $srcdir/xinetd $pkgdir/etc/rc.d/xinetd
+ install -Dm644 $srcdir/xinetd.conf $pkgdir/etc/xinetd.conf
+ install -Dm644 $srcdir/servers $pkgdir/etc/xinetd.d/servers
+ install -Dm644 $srcdir/services $pkgdir/etc/xinetd.d/services
+
+ # install license
+ install -Dm644 COPYRIGHT $pkgdir/usr/share/licenses/$pkgname/COPYRIGHT
+}
diff --git a/testing/xinetd/servers b/testing/xinetd/servers
new file mode 100644
index 000000000..f064c8d7a
--- /dev/null
+++ b/testing/xinetd/servers
@@ -0,0 +1,10 @@
+service servers
+{
+ type = INTERNAL UNLISTED
+ port = 9099
+ socket_type = stream
+ protocol = tcp
+ wait = no
+ disable = yes
+ only_from = 127.0.0.1
+}
diff --git a/testing/xinetd/services b/testing/xinetd/services
new file mode 100644
index 000000000..4ea304c4f
--- /dev/null
+++ b/testing/xinetd/services
@@ -0,0 +1,10 @@
+service services
+{
+ type = INTERNAL UNLISTED
+ port = 9098
+ socket_type = stream
+ protocol = tcp
+ wait = no
+ disable = yes
+ only_from = 127.0.0.1
+}
diff --git a/testing/xinetd/xinetd b/testing/xinetd/xinetd
new file mode 100755
index 000000000..4b8fa369a
--- /dev/null
+++ b/testing/xinetd/xinetd
@@ -0,0 +1,38 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pidof -o %PPID /usr/sbin/xinetd`
+case "$1" in
+ start)
+ stat_busy "Starting xinetd"
+ [ -z "$PID" ] && /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ echo $PID > /var/run/xinetd.pid
+ add_daemon xinetd
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping xinetd"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm -f /var/run/xinetd.pid
+ rm_daemon xinetd
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/testing/xinetd/xinetd.conf b/testing/xinetd/xinetd.conf
new file mode 100644
index 000000000..b15d9f649
--- /dev/null
+++ b/testing/xinetd/xinetd.conf
@@ -0,0 +1,14 @@
+#
+# /etc/xinetd.conf
+#
+
+defaults
+{
+ instances = 60
+ log_type = SYSLOG authpriv
+ log_on_success = HOST PID
+ log_on_failure = HOST
+ cps = 25 30
+}
+
+includedir /etc/xinetd.d