pioneers-15.5/0000755000175000017500000000000013252243610010267 500000000000000pioneers-15.5/AUTHORS0000644000175000017500000000071110471013525011256 00000000000000Dave Cole Andy Heroff Roman Hodek Dan Egnor Steve Langasek Bibek Sahu Roderick Schertler Jeff Breidenbach David Fallon Matt Waggoner Geoff Hanson Bas Wijnen Roland Clobus Brian Wellington pioneers-15.5/README.Cygwin0000644000175000017500000000302412162522655012335 00000000000000Short guide to install Pioneers in Cygwin Install Cygwin ============== 1) Get 'setup.exe' from the Cygwin site (www.cygwin.com) 2) Select (additional packages will automatically be selected): gcc4 gettext-devel gnome-common gvim intltool libgtk2.0-devel libtool make netpbm patch patchutils rsvg subversion twm xinit gdk-pixbuf2.0-svg 3) Download and install gob2 (at least 2.0.18) http://ftp.5z.com/pub/gob (./configure --prefix=/usr; make all install) You now have the setup needed to build and run Pioneers. Build Pioneers from the repository ================================== If you only want to use released versions, skip to the 'Install Pioneers' section. 1) Get the code from the Subversion repository svn checkout svn://svn.code.sf.net/p/pio/code/trunk/pioneers pioneers 2) Go to the pioneers directory 3) Run automake, build and install ./autogen.sh make make install Install Pioneers ================ 1) Download the source tarball to your Cygwin home directory (c:\cygwin\home\%username%) 2) Start the Cygwin shell 3) Expand the source tarball (tar xvzf pioneers-%versionnumber%.tar.gz) 4) Enter the source directory (cd pioneers-%versionnumber%) 5) Configure, build and install ./configure make make install Play Pioneers ============= 6) Start the X server (startx) 7) Start Pioneers from the XTerm (pioneers) Known limitations ================= * The help is not built * The metaserver does not work (not ported to MS Windows) Roland Clobus 2013-06-17 (Pioneers 15.1) pioneers-15.5/depcomp0000755000175000017500000005601713252243604011600 00000000000000#! /bin/sh # depcomp - compile a program generating dependencies as side-effects scriptversion=2016-01-11.22; # UTC # Copyright (C) 1999-2017 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Alexandre Oliva . case $1 in '') echo "$0: No command. Try '$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: depcomp [--help] [--version] PROGRAM [ARGS] Run PROGRAMS ARGS to compile a file, generating dependencies as side-effects. Environment variables: depmode Dependency tracking mode. source Source file read by 'PROGRAMS ARGS'. object Object file output by 'PROGRAMS ARGS'. DEPDIR directory where to store dependencies. depfile Dependency file to output. tmpdepfile Temporary file to use when outputting dependencies. libtool Whether libtool is used (yes/no). Report bugs to . EOF exit $? ;; -v | --v*) echo "depcomp $scriptversion" exit $? ;; esac # Get the directory component of the given path, and save it in the # global variables '$dir'. Note that this directory component will # be either empty or ending with a '/' character. This is deliberate. set_dir_from () { case $1 in */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;; *) dir=;; esac } # Get the suffix-stripped basename of the given path, and save it the # global variable '$base'. set_base_from () { base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'` } # If no dependency file was actually created by the compiler invocation, # we still have to create a dummy depfile, to avoid errors with the # Makefile "include basename.Plo" scheme. make_dummy_depfile () { echo "#dummy" > "$depfile" } # Factor out some common post-processing of the generated depfile. # Requires the auxiliary global variable '$tmpdepfile' to be set. aix_post_process_depfile () { # If the compiler actually managed to produce a dependency file, # post-process it. if test -f "$tmpdepfile"; then # Each line is of the form 'foo.o: dependency.h'. # Do two passes, one to just change these to # $object: dependency.h # and one to simply output # dependency.h: # which is needed to avoid the deleted-header problem. { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile" sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile" } > "$depfile" rm -f "$tmpdepfile" else make_dummy_depfile fi } # A tabulation character. tab=' ' # A newline character. nl=' ' # Character ranges might be problematic outside the C locale. # These definitions help. upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ lower=abcdefghijklmnopqrstuvwxyz digits=0123456789 alpha=${upper}${lower} if test -z "$depmode" || test -z "$source" || test -z "$object"; then echo "depcomp: Variables source, object and depmode must be set" 1>&2 exit 1 fi # Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. depfile=${depfile-`echo "$object" | sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} rm -f "$tmpdepfile" # Avoid interferences from the environment. gccflag= dashmflag= # Some modes work just like other modes, but use different flags. We # parameterize here, but still list the modes in the big case below, # to make depend.m4 easier to write. Note that we *cannot* use a case # here, because this file can only contain one case statement. if test "$depmode" = hp; then # HP compiler uses -M and no extra arg. gccflag=-M depmode=gcc fi if test "$depmode" = dashXmstdout; then # This is just like dashmstdout with a different argument. dashmflag=-xM depmode=dashmstdout fi cygpath_u="cygpath -u -f -" if test "$depmode" = msvcmsys; then # This is just like msvisualcpp but w/o cygpath translation. # Just convert the backslash-escaped backslashes to single forward # slashes to satisfy depend.m4 cygpath_u='sed s,\\\\,/,g' depmode=msvisualcpp fi if test "$depmode" = msvc7msys; then # This is just like msvc7 but w/o cygpath translation. # Just convert the backslash-escaped backslashes to single forward # slashes to satisfy depend.m4 cygpath_u='sed s,\\\\,/,g' depmode=msvc7 fi if test "$depmode" = xlc; then # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information. gccflag=-qmakedep=gcc,-MF depmode=gcc fi case "$depmode" in gcc3) ## gcc 3 implements dependency tracking that does exactly what ## we want. Yay! Note: for some reason libtool 1.4 doesn't like ## it if -MD -MP comes after the -MF stuff. Hmm. ## Unfortunately, FreeBSD c89 acceptance of flags depends upon ## the command line argument order; so add the flags where they ## appear in depend2.am. Note that the slowdown incurred here ## affects only configure: in makefiles, %FASTDEP% shortcuts this. for arg do case $arg in -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; *) set fnord "$@" "$arg" ;; esac shift # fnord shift # $arg done "$@" stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi mv "$tmpdepfile" "$depfile" ;; gcc) ## Note that this doesn't just cater to obsosete pre-3.x GCC compilers. ## but also to in-use compilers like IMB xlc/xlC and the HP C compiler. ## (see the conditional assignment to $gccflag above). ## There are various ways to get dependency output from gcc. Here's ## why we pick this rather obscure method: ## - Don't want to use -MD because we'd like the dependencies to end ## up in a subdir. Having to rename by hand is ugly. ## (We might end up doing this anyway to support other compilers.) ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like ## -MM, not -M (despite what the docs say). Also, it might not be ## supported by the other compilers which use the 'gcc' depmode. ## - Using -M directly means running the compiler twice (even worse ## than renaming). if test -z "$gccflag"; then gccflag=-MD, fi "$@" -Wp,"$gccflag$tmpdepfile" stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" # The second -e expression handles DOS-style file names with drive # letters. sed -e 's/^[^:]*: / /' \ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" ## This next piece of magic avoids the "deleted header file" problem. ## The problem is that when a header file which appears in a .P file ## is deleted, the dependency causes make to die (because there is ## typically no way to rebuild the header). We avoid this by adding ## dummy dependencies for each header file. Too bad gcc doesn't do ## this for us directly. ## Some versions of gcc put a space before the ':'. On the theory ## that the space means something, we add a space to the output as ## well. hp depmode also adds that space, but also prefixes the VPATH ## to the object. Take care to not repeat it in the output. ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; sgi) if test "$libtool" = yes; then "$@" "-Wp,-MDupdate,$tmpdepfile" else "$@" -MDupdate "$tmpdepfile" fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files echo "$object : \\" > "$depfile" # Clip off the initial element (the dependent). Don't try to be # clever and replace this with sed code, as IRIX sed won't handle # lines with more than a fixed number of characters (4096 in # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; # the IRIX cc adds comments like '#:fec' to the end of the # dependency line. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \ | tr "$nl" ' ' >> "$depfile" echo >> "$depfile" # The second pass generates a dummy entry for each header file. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ >> "$depfile" else make_dummy_depfile fi rm -f "$tmpdepfile" ;; xlc) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; aix) # The C for AIX Compiler uses -M and outputs the dependencies # in a .u file. In older versions, this file always lives in the # current directory. Also, the AIX compiler puts '$object:' at the # start of each line; $object doesn't have directory information. # Version 6 uses the directory in both cases. set_dir_from "$object" set_base_from "$object" if test "$libtool" = yes; then tmpdepfile1=$dir$base.u tmpdepfile2=$base.u tmpdepfile3=$dir.libs/$base.u "$@" -Wc,-M else tmpdepfile1=$dir$base.u tmpdepfile2=$dir$base.u tmpdepfile3=$dir$base.u "$@" -M fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" do test -f "$tmpdepfile" && break done aix_post_process_depfile ;; tcc) # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26 # FIXME: That version still under development at the moment of writing. # Make that this statement remains true also for stable, released # versions. # It will wrap lines (doesn't matter whether long or short) with a # trailing '\', as in: # # foo.o : \ # foo.c \ # foo.h \ # # It will put a trailing '\' even on the last line, and will use leading # spaces rather than leading tabs (at least since its commit 0394caf7 # "Emit spaces for -MD"). "$@" -MD -MF "$tmpdepfile" stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'. # We have to change lines of the first kind to '$object: \'. sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile" # And for each line of the second kind, we have to emit a 'dep.h:' # dummy dependency, to avoid the deleted-header problem. sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile" rm -f "$tmpdepfile" ;; ## The order of this option in the case statement is important, since the ## shell code in configure will try each of these formats in the order ## listed in this file. A plain '-MD' option would be understood by many ## compilers, so we must ensure this comes after the gcc and icc options. pgcc) # Portland's C compiler understands '-MD'. # Will always output deps to 'file.d' where file is the root name of the # source file under compilation, even if file resides in a subdirectory. # The object file name does not affect the name of the '.d' file. # pgcc 10.2 will output # foo.o: sub/foo.c sub/foo.h # and will wrap long lines using '\' : # foo.o: sub/foo.c ... \ # sub/foo.h ... \ # ... set_dir_from "$object" # Use the source, not the object, to determine the base name, since # that's sadly what pgcc will do too. set_base_from "$source" tmpdepfile=$base.d # For projects that build the same source file twice into different object # files, the pgcc approach of using the *source* file root name can cause # problems in parallel builds. Use a locking strategy to avoid stomping on # the same $tmpdepfile. lockdir=$base.d-lock trap " echo '$0: caught signal, cleaning up...' >&2 rmdir '$lockdir' exit 1 " 1 2 13 15 numtries=100 i=$numtries while test $i -gt 0; do # mkdir is a portable test-and-set. if mkdir "$lockdir" 2>/dev/null; then # This process acquired the lock. "$@" -MD stat=$? # Release the lock. rmdir "$lockdir" break else # If the lock is being held by a different process, wait # until the winning process is done or we timeout. while test -d "$lockdir" && test $i -gt 0; do sleep 1 i=`expr $i - 1` done fi i=`expr $i - 1` done trap - 1 2 13 15 if test $i -le 0; then echo "$0: failed to acquire lock after $numtries attempts" >&2 echo "$0: check lockdir '$lockdir'" >&2 exit 1 fi if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" # Each line is of the form `foo.o: dependent.h', # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process this invocation # correctly. Breaking it into two sed invocations is a workaround. sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp2) # The "hp" stanza above does not work with aCC (C++) and HP's ia64 # compilers, which have integrated preprocessors. The correct option # to use with these is +Maked; it writes dependencies to a file named # 'foo.d', which lands next to the object file, wherever that # happens to be. # Much of this is similar to the tru64 case; see comments there. set_dir_from "$object" set_base_from "$object" if test "$libtool" = yes; then tmpdepfile1=$dir$base.d tmpdepfile2=$dir.libs/$base.d "$@" -Wc,+Maked else tmpdepfile1=$dir$base.d tmpdepfile2=$dir$base.d "$@" +Maked fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile" # Add 'dependent.h:' lines. sed -ne '2,${ s/^ *// s/ \\*$// s/$/:/ p }' "$tmpdepfile" >> "$depfile" else make_dummy_depfile fi rm -f "$tmpdepfile" "$tmpdepfile2" ;; tru64) # The Tru64 compiler uses -MD to generate dependencies as a side # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'. # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put # dependencies in 'foo.d' instead, so we check for that too. # Subdirectories are respected. set_dir_from "$object" set_base_from "$object" if test "$libtool" = yes; then # Libtool generates 2 separate objects for the 2 libraries. These # two compilations output dependencies in $dir.libs/$base.o.d and # in $dir$base.o.d. We have to check for both files, because # one of the two compilations can be disabled. We should prefer # $dir$base.o.d over $dir.libs/$base.o.d because the latter is # automatically cleaned when .libs/ is deleted, while ignoring # the former would cause a distcleancheck panic. tmpdepfile1=$dir$base.o.d # libtool 1.5 tmpdepfile2=$dir.libs/$base.o.d # Likewise. tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504 "$@" -Wc,-MD else tmpdepfile1=$dir$base.d tmpdepfile2=$dir$base.d tmpdepfile3=$dir$base.d "$@" -MD fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" do test -f "$tmpdepfile" && break done # Same post-processing that is required for AIX mode. aix_post_process_depfile ;; msvc7) if test "$libtool" = yes; then showIncludes=-Wc,-showIncludes else showIncludes=-showIncludes fi "$@" $showIncludes > "$tmpdepfile" stat=$? grep -v '^Note: including file: ' "$tmpdepfile" if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" # The first sed program below extracts the file names and escapes # backslashes for cygpath. The second sed program outputs the file # name when reading, but also accumulates all include files in the # hold buffer in order to output them again at the end. This only # works with sed implementations that can handle large buffers. sed < "$tmpdepfile" -n ' /^Note: including file: *\(.*\)/ { s//\1/ s/\\/\\\\/g p }' | $cygpath_u | sort -u | sed -n ' s/ /\\ /g s/\(.*\)/'"$tab"'\1 \\/p s/.\(.*\) \\/\1:/ H $ { s/.*/'"$tab"'/ G p }' >> "$depfile" echo >> "$depfile" # make sure the fragment doesn't end with a backslash rm -f "$tmpdepfile" ;; msvc7msys) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; #nosideeffect) # This comment above is used by automake to tell side-effect # dependency tracking mechanisms from slower ones. dashmstdout) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout, regardless of -o. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # Remove '-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done test -z "$dashmflag" && dashmflag=-M # Require at least two characters before searching for ':' # in the target name. This is to cope with DOS-style filenames: # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise. "$@" $dashmflag | sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process this sed invocation # correctly. Breaking it into two sed invocations is a workaround. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; dashXmstdout) # This case only exists to satisfy depend.m4. It is never actually # run, as this mode is specially recognized in the preamble. exit 1 ;; makedepend) "$@" || exit $? # Remove any Libtool call if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # X makedepend shift cleared=no eat=no for arg do case $cleared in no) set ""; shift cleared=yes ;; esac if test $eat = yes; then eat=no continue fi case "$arg" in -D*|-I*) set fnord "$@" "$arg"; shift ;; # Strip any option that makedepend may not understand. Remove # the object too, otherwise makedepend will parse it as a source file. -arch) eat=yes ;; -*|$object) ;; *) set fnord "$@" "$arg"; shift ;; esac done obj_suffix=`echo "$object" | sed 's/^.*\././'` touch "$tmpdepfile" ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" rm -f "$depfile" # makedepend may prepend the VPATH from the source file name to the object. # No need to regex-escape $object, excess matching of '.' is harmless. sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process the last invocation # correctly. Breaking it into two sed invocations is a workaround. sed '1,2d' "$tmpdepfile" \ | tr ' ' "$nl" \ | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" "$tmpdepfile".bak ;; cpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # Remove '-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done "$@" -E \ | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ | sed '$ s: \\$::' > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" cat < "$tmpdepfile" >> "$depfile" sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; msvisualcpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi IFS=" " for arg do case "$arg" in -o) shift ;; $object) shift ;; "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") set fnord "$@" shift shift ;; *) set fnord "$@" "$arg" shift shift ;; esac done "$@" -E 2>/dev/null | sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile" echo "$tab" >> "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" rm -f "$tmpdepfile" ;; msvcmsys) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; none) exec "$@" ;; *) echo "Unknown depmode $depmode" 1>&2 exit 1 ;; esac exit 0 # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: pioneers-15.5/missing0000755000175000017500000001533013252243604011613 00000000000000#! /bin/sh # Common wrapper for a few potentially missing GNU programs. scriptversion=2013-10-28.13; # UTC # Copyright (C) 1996-2014 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. if test $# -eq 0; then echo 1>&2 "Try '$0 --help' for more information" exit 1 fi case $1 in --is-lightweight) # Used by our autoconf macros to check whether the available missing # script is modern enough. exit 0 ;; --run) # Back-compat with the calling convention used by older automake. shift ;; -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due to PROGRAM being missing or too old. Options: -h, --help display this help and exit -v, --version output version information and exit Supported PROGRAM values: aclocal autoconf autoheader autom4te automake makeinfo bison yacc flex lex help2man Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and 'g' are ignored when checking the name. Send bug reports to ." exit $? ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) echo "missing $scriptversion (GNU Automake)" exit $? ;; -*) echo 1>&2 "$0: unknown '$1' option" echo 1>&2 "Try '$0 --help' for more information" exit 1 ;; esac # Run the given program, remember its exit status. "$@"; st=$? # If it succeeded, we are done. test $st -eq 0 && exit 0 # Also exit now if we it failed (or wasn't found), and '--version' was # passed; such an option is passed most likely to detect whether the # program is present and works. case $2 in --version|--help) exit $st;; esac # Exit code 63 means version mismatch. This often happens when the user # tries to use an ancient version of a tool on a file that requires a # minimum version. if test $st -eq 63; then msg="probably too old" elif test $st -eq 127; then # Program was missing. msg="missing on your system" else # Program was found and executed, but failed. Give up. exit $st fi perl_URL=http://www.perl.org/ flex_URL=http://flex.sourceforge.net/ gnu_software_URL=http://www.gnu.org/software program_details () { case $1 in aclocal|automake) echo "The '$1' program is part of the GNU Automake package:" echo "<$gnu_software_URL/automake>" echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" echo "<$gnu_software_URL/autoconf>" echo "<$gnu_software_URL/m4/>" echo "<$perl_URL>" ;; autoconf|autom4te|autoheader) echo "The '$1' program is part of the GNU Autoconf package:" echo "<$gnu_software_URL/autoconf/>" echo "It also requires GNU m4 and Perl in order to run:" echo "<$gnu_software_URL/m4/>" echo "<$perl_URL>" ;; esac } give_advice () { # Normalize program name to check for. normalized_program=`echo "$1" | sed ' s/^gnu-//; t s/^gnu//; t s/^g//; t'` printf '%s\n' "'$1' is $msg." configure_deps="'configure.ac' or m4 files included by 'configure.ac'" case $normalized_program in autoconf*) echo "You should only need it if you modified 'configure.ac'," echo "or m4 files included by it." program_details 'autoconf' ;; autoheader*) echo "You should only need it if you modified 'acconfig.h' or" echo "$configure_deps." program_details 'autoheader' ;; automake*) echo "You should only need it if you modified 'Makefile.am' or" echo "$configure_deps." program_details 'automake' ;; aclocal*) echo "You should only need it if you modified 'acinclude.m4' or" echo "$configure_deps." program_details 'aclocal' ;; autom4te*) echo "You might have modified some maintainer files that require" echo "the 'autom4te' program to be rebuilt." program_details 'autom4te' ;; bison*|yacc*) echo "You should only need it if you modified a '.y' file." echo "You may want to install the GNU Bison package:" echo "<$gnu_software_URL/bison/>" ;; lex*|flex*) echo "You should only need it if you modified a '.l' file." echo "You may want to install the Fast Lexical Analyzer package:" echo "<$flex_URL>" ;; help2man*) echo "You should only need it if you modified a dependency" \ "of a man page." echo "You may want to install the GNU Help2man package:" echo "<$gnu_software_URL/help2man/>" ;; makeinfo*) echo "You should only need it if you modified a '.texi' file, or" echo "any other file indirectly affecting the aspect of the manual." echo "You might want to install the Texinfo package:" echo "<$gnu_software_URL/texinfo/>" echo "The spurious makeinfo call might also be the consequence of" echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might" echo "want to install GNU make:" echo "<$gnu_software_URL/make/>" ;; *) echo "You might have modified some files without having the proper" echo "tools for further handling them. Check the 'README' file, it" echo "often tells you about the needed prerequisites for installing" echo "this package. You may also peek at any GNU archive site, in" echo "case some other package contains this missing '$1' program." ;; esac } give_advice "$1" | sed -e '1s/^/WARNING: /' \ -e '2,$s/^/ /' >&2 # Propagate the correct exit status (expected to be 127 for a program # not found, 63 for a program that failed due to version mismatch). exit $st # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: pioneers-15.5/config.sub0000755000175000017500000010645013252243604012203 00000000000000#! /bin/sh # Configuration validation subroutine script. # Copyright 1992-2018 Free Software Foundation, Inc. timestamp='2018-02-22' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, see . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that # program. This Exception is an additional permission under section 7 # of the GNU General Public License, version 3 ("GPLv3"). # Please send patches to . # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. # You can get the latest version of this script from: # https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. # Each package is responsible for reporting which valid configurations # it does not support. The user should be able to distinguish # a failure to support a valid configuration from a meaningless # configuration. # The goal of this file is to map all the various variations of a given # machine specification into a single specification in the form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or in some cases, the newer four-part form: # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS Canonicalize a configuration name. Options: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.sub ($timestamp) Copyright 1992-2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" exit 1 ;; *local*) # First pass through any local machine types. echo "$1" exit ;; * ) break ;; esac done case $# in 0) echo "$me: missing argument$help" >&2 exit 1;; 1) ;; *) echo "$me: too many arguments$help" >&2 exit 1;; esac # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ kopensolaris*-gnu* | cloudabi*-eabi* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; android-linux) os=-linux-android basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown ;; *) basic_machine=`echo "$1" | sed 's/-[^-]*$//'` if [ "$basic_machine" != "$1" ] then os=`echo "$1" | sed 's/.*-/-/'` else os=; fi ;; esac ### Let's recognize common machines as not being operating systems so ### that things like config.sub decstation-3100 work. We also ### recognize some manufacturers as not being operating systems, so we ### can provide default operating systems below. case $os in -sun*os*) # Prevent following clause from handling this invalid input. ;; -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -apple | -axis | -knuth | -cray | -microblaze*) os= basic_machine=$1 ;; -bluegene*) os=-cnk ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 ;; -scout) ;; -wrs) os=-vxworks basic_machine=$1 ;; -chorusos*) os=-chorusos basic_machine=$1 ;; -chorusrdb) os=-chorusrdb basic_machine=$1 ;; -hiux*) os=-hiuxwe2 ;; -sco6) os=-sco5v6 basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -sco5) os=-sco3.2v5 basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -sco4) os=-sco3.2v4 basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -sco3.2.[4-9]*) os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -sco3.2v[4-9]*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -sco5v6*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -sco*) os=-sco3.2v2 basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -udk*) basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -isc) os=-isc2.2 basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -clix*) basic_machine=clipper-intergraph ;; -isc*) basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` ;; -lynx*178) os=-lynxos178 ;; -lynx*5) os=-lynxos5 ;; -lynx*) os=-lynxos ;; -ptx*) basic_machine=`echo "$1" | sed -e 's/86-.*/86-sequent/'` ;; -psos*) os=-psos ;; -mint | -mint[0-9]*) basic_machine=m68k-atari os=-mint ;; esac # Decode aliases for certain CPU-COMPANY combinations. case $basic_machine in # Recognize the basic CPU types without company name. # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ | aarch64 | aarch64_be \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ | arc | arceb \ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ | avr | avr32 \ | ba \ | be32 | be64 \ | bfin \ | c4x | c8051 | clipper \ | d10v | d30v | dlx | dsp16xx \ | e2k | epiphany \ | fido | fr30 | frv | ft32 \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | hexagon \ | i370 | i860 | i960 | ia16 | ia64 \ | ip2k | iq2000 \ | k1om \ | le32 | le64 \ | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ | mips64octeon | mips64octeonel \ | mips64orion | mips64orionel \ | mips64r5900 | mips64r5900el \ | mips64vr | mips64vrel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa32r6 | mipsisa32r6el \ | mipsisa64 | mipsisa64el \ | mipsisa64r2 | mipsisa64r2el \ | mipsisa64r6 | mipsisa64r6el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipsr5900 | mipsr5900el \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | moxie \ | mt \ | msp430 \ | nds32 | nds32le | nds32be \ | nios | nios2 | nios2eb | nios2el \ | ns16k | ns32k \ | open8 | or1k | or1knd | or32 \ | pdp10 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle \ | pru \ | pyramid \ | riscv32 | riscv64 \ | rl78 | rx \ | score \ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | spu \ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ | ubicom32 \ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ | visium \ | wasm32 \ | x86 | xc16x | xstormy16 | xtensa \ | z8k | z80) basic_machine=$basic_machine-unknown ;; c54x) basic_machine=tic54x-unknown ;; c55x) basic_machine=tic55x-unknown ;; c6x) basic_machine=tic6x-unknown ;; leon|leon[3-9]) basic_machine=sparc-$basic_machine ;; m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) basic_machine=$basic_machine-unknown os=-none ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65) ;; ms1) basic_machine=mt-unknown ;; strongarm | thumb | xscale) basic_machine=arm-unknown ;; xgate) basic_machine=$basic_machine-unknown os=-none ;; xscaleeb) basic_machine=armeb-unknown ;; xscaleel) basic_machine=armel-unknown ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. i*86 | x86_64) basic_machine=$basic_machine-pc ;; # Object if more than one company name word. *-*-*) echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 exit 1 ;; # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ | aarch64-* | aarch64_be-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ | ba-* \ | be32-* | be64-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* \ | c8051-* | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | e2k-* | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | hexagon-* \ | i*86-* | i860-* | i960-* | ia16-* | ia64-* \ | ip2k-* | iq2000-* \ | k1om-* \ | le32-* | le64-* \ | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ | microblaze-* | microblazeel-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ | mips64octeon-* | mips64octeonel-* \ | mips64orion-* | mips64orionel-* \ | mips64r5900-* | mips64r5900el-* \ | mips64vr-* | mips64vrel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa32r6-* | mipsisa32r6el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64r6-* | mipsisa64r6el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipsr5900-* | mipsr5900el-* \ | mipstx39-* | mipstx39el-* \ | mmix-* \ | mt-* \ | msp430-* \ | nds32-* | nds32le-* | nds32be-* \ | nios-* | nios2-* | nios2eb-* | nios2el-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | open8-* \ | or1k*-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ | pru-* \ | pyramid-* \ | riscv32-* | riscv64-* \ | rl78-* | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ | tahoe-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tile*-* \ | tron-* \ | ubicom32-* \ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ | vax-* \ | visium-* \ | wasm32-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* \ | xstormy16-* | xtensa*-* \ | ymp-* \ | z8k-* | z80-*) ;; # Recognize the basic CPU types without company name, with glob match. xtensa*) basic_machine=$basic_machine-unknown ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) basic_machine=i386-pc os=-bsd ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) basic_machine=m68000-att ;; 3b*) basic_machine=we32k-att ;; a29khif) basic_machine=a29k-amd os=-udi ;; abacus) basic_machine=abacus-unknown ;; adobe68k) basic_machine=m68010-adobe os=-scout ;; alliant | fx80) basic_machine=fx80-alliant ;; altos | altos3068) basic_machine=m68k-altos ;; am29k) basic_machine=a29k-none os=-bsd ;; amd64) basic_machine=x86_64-pc ;; amd64-*) basic_machine=x86_64-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; amdahl) basic_machine=580-amdahl os=-sysv ;; amiga | amiga-*) basic_machine=m68k-unknown ;; amigaos | amigados) basic_machine=m68k-unknown os=-amigaos ;; amigaunix | amix) basic_machine=m68k-unknown os=-sysv4 ;; apollo68) basic_machine=m68k-apollo os=-sysv ;; apollo68bsd) basic_machine=m68k-apollo os=-bsd ;; aros) basic_machine=i386-pc os=-aros ;; asmjs) basic_machine=asmjs-unknown ;; aux) basic_machine=m68k-apple os=-aux ;; balance) basic_machine=ns32k-sequent os=-dynix ;; blackfin) basic_machine=bfin-unknown os=-linux ;; blackfin-*) basic_machine=bfin-`echo "$basic_machine" | sed 's/^[^-]*-//'` os=-linux ;; bluegene*) basic_machine=powerpc-ibm os=-cnk ;; c54x-*) basic_machine=tic54x-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; c55x-*) basic_machine=tic55x-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; c6x-*) basic_machine=tic6x-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; c90) basic_machine=c90-cray os=-unicos ;; cegcc) basic_machine=arm-unknown os=-cegcc ;; convex-c1) basic_machine=c1-convex os=-bsd ;; convex-c2) basic_machine=c2-convex os=-bsd ;; convex-c32) basic_machine=c32-convex os=-bsd ;; convex-c34) basic_machine=c34-convex os=-bsd ;; convex-c38) basic_machine=c38-convex os=-bsd ;; cray | j90) basic_machine=j90-cray os=-unicos ;; craynv) basic_machine=craynv-cray os=-unicosmp ;; cr16 | cr16-*) basic_machine=cr16-unknown os=-elf ;; crds | unos) basic_machine=m68k-crds ;; crisv32 | crisv32-* | etraxfs*) basic_machine=crisv32-axis ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; crx) basic_machine=crx-unknown os=-elf ;; da30 | da30-*) basic_machine=m68k-da30 ;; decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) basic_machine=mips-dec ;; decsystem10* | dec10*) basic_machine=pdp10-dec os=-tops10 ;; decsystem20* | dec20*) basic_machine=pdp10-dec os=-tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) basic_machine=m68k-motorola ;; delta88) basic_machine=m88k-motorola os=-sysv3 ;; dicos) basic_machine=i686-pc os=-dicos ;; djgpp) basic_machine=i586-pc os=-msdosdjgpp ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx ;; dpx2*) basic_machine=m68k-bull os=-sysv3 ;; e500v[12]) basic_machine=powerpc-unknown os=$os"spe" ;; e500v[12]-*) basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` os=$os"spe" ;; ebmon29k) basic_machine=a29k-amd os=-ebmon ;; elxsi) basic_machine=elxsi-elxsi os=-bsd ;; encore | umax | mmax) basic_machine=ns32k-encore ;; es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson os=-ose ;; fx2800) basic_machine=i860-alliant ;; genix) basic_machine=ns32k-ns ;; gmicro) basic_machine=tron-gmicro os=-sysv ;; go32) basic_machine=i386-pc os=-go32 ;; h3050r* | hiux*) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; h8300hms) basic_machine=h8300-hitachi os=-hms ;; h8300xray) basic_machine=h8300-hitachi os=-xray ;; h8500hms) basic_machine=h8500-hitachi os=-hms ;; harris) basic_machine=m88k-harris os=-sysv3 ;; hp300-*) basic_machine=m68k-hp ;; hp300bsd) basic_machine=m68k-hp os=-bsd ;; hp300hpux) basic_machine=m68k-hp os=-hpux ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) basic_machine=m68000-hp ;; hp9k3[2-9][0-9]) basic_machine=m68k-hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) basic_machine=hppa1.1-hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) basic_machine=hppa1.1-hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) basic_machine=hppa1.0-hp ;; hppaosf) basic_machine=hppa1.1-hp os=-osf ;; hppro) basic_machine=hppa1.1-hp os=-proelf ;; i370-ibm* | ibm*) basic_machine=i370-ibm ;; i*86v32) basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` os=-sysv32 ;; i*86v4*) basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` os=-sysv4 ;; i*86v) basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` os=-sysv ;; i*86sol2) basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` os=-solaris2 ;; i386mach) basic_machine=i386-mach os=-mach ;; vsta) basic_machine=i386-unknown os=-vsta ;; iris | iris4d) basic_machine=mips-sgi case $os in -irix*) ;; *) os=-irix4 ;; esac ;; isi68 | isi) basic_machine=m68k-isi os=-sysv ;; leon-*|leon[3-9]-*) basic_machine=sparc-`echo "$basic_machine" | sed 's/-.*//'` ;; m68knommu) basic_machine=m68k-unknown os=-linux ;; m68knommu-*) basic_machine=m68k-`echo "$basic_machine" | sed 's/^[^-]*-//'` os=-linux ;; magnum | m3230) basic_machine=mips-mips os=-sysv ;; merlin) basic_machine=ns32k-utek os=-sysv ;; microblaze*) basic_machine=microblaze-xilinx ;; mingw64) basic_machine=x86_64-pc os=-mingw64 ;; mingw32) basic_machine=i686-pc os=-mingw32 ;; mingw32ce) basic_machine=arm-unknown os=-mingw32ce ;; miniframe) basic_machine=m68000-convergent ;; *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) basic_machine=m68k-atari os=-mint ;; mips3*-*) basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'` ;; mips3*) basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`-unknown ;; monitor) basic_machine=m68k-rom68k os=-coff ;; morphos) basic_machine=powerpc-unknown os=-morphos ;; moxiebox) basic_machine=moxie-unknown os=-moxiebox ;; msdos) basic_machine=i386-pc os=-msdos ;; ms1-*) basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'` ;; msys) basic_machine=i686-pc os=-msys ;; mvs) basic_machine=i370-ibm os=-mvs ;; nacl) basic_machine=le32-unknown os=-nacl ;; ncr3000) basic_machine=i486-ncr os=-sysv4 ;; netbsd386) basic_machine=i386-unknown os=-netbsd ;; netwinder) basic_machine=armv4l-rebel os=-linux ;; news | news700 | news800 | news900) basic_machine=m68k-sony os=-newsos ;; news1000) basic_machine=m68030-sony os=-newsos ;; news-3600 | risc-news) basic_machine=mips-sony os=-newsos ;; necv70) basic_machine=v70-nec os=-sysv ;; next | m*-next) basic_machine=m68k-next case $os in -nextstep* ) ;; -ns2*) os=-nextstep2 ;; *) os=-nextstep3 ;; esac ;; nh3000) basic_machine=m68k-harris os=-cxux ;; nh[45]000) basic_machine=m88k-harris os=-cxux ;; nindy960) basic_machine=i960-intel os=-nindy ;; mon960) basic_machine=i960-intel os=-mon960 ;; nonstopux) basic_machine=mips-compaq os=-nonstopux ;; np1) basic_machine=np1-gould ;; neo-tandem) basic_machine=neo-tandem ;; nse-tandem) basic_machine=nse-tandem ;; nsr-tandem) basic_machine=nsr-tandem ;; nsv-tandem) basic_machine=nsv-tandem ;; nsx-tandem) basic_machine=nsx-tandem ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf ;; openrisc | openrisc-*) basic_machine=or32-unknown ;; os400) basic_machine=powerpc-ibm os=-os400 ;; OSE68000 | ose68000) basic_machine=m68000-ericsson os=-ose ;; os68k) basic_machine=m68k-none os=-os68k ;; pa-hitachi) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; paragon) basic_machine=i860-intel os=-osf ;; parisc) basic_machine=hppa-unknown os=-linux ;; parisc-*) basic_machine=hppa-`echo "$basic_machine" | sed 's/^[^-]*-//'` os=-linux ;; pbd) basic_machine=sparc-tti ;; pbb) basic_machine=m68k-tti ;; pc532 | pc532-*) basic_machine=ns32k-pc532 ;; pc98) basic_machine=i386-pc ;; pc98-*) basic_machine=i386-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; pentiumpro | p6 | 6x86 | athlon | athlon_*) basic_machine=i686-pc ;; pentiumii | pentium2 | pentiumiii | pentium3) basic_machine=i686-pc ;; pentium4) basic_machine=i786-pc ;; pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) basic_machine=i586-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; pentium4-*) basic_machine=i786-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; pn) basic_machine=pn-gould ;; power) basic_machine=power-ibm ;; ppc | ppcbe) basic_machine=powerpc-unknown ;; ppc-* | ppcbe-*) basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) basic_machine=powerpcle-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; ppc64) basic_machine=powerpc64-unknown ;; ppc64-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; ppc64le | powerpc64little) basic_machine=powerpc64le-unknown ;; ppc64le-* | powerpc64little-*) basic_machine=powerpc64le-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; ps2) basic_machine=i386-ibm ;; pw32) basic_machine=i586-unknown os=-pw32 ;; rdos | rdos64) basic_machine=x86_64-pc os=-rdos ;; rdos32) basic_machine=i386-pc os=-rdos ;; rom68k) basic_machine=m68k-rom68k os=-coff ;; rm[46]00) basic_machine=mips-siemens ;; rtpc | rtpc-*) basic_machine=romp-ibm ;; s390 | s390-*) basic_machine=s390-ibm ;; s390x | s390x-*) basic_machine=s390x-ibm ;; sa29200) basic_machine=a29k-amd os=-udi ;; sb1) basic_machine=mipsisa64sb1-unknown ;; sb1el) basic_machine=mipsisa64sb1el-unknown ;; sde) basic_machine=mipsisa32-sde os=-elf ;; sei) basic_machine=mips-sei os=-seiux ;; sequent) basic_machine=i386-sequent ;; sh5el) basic_machine=sh5le-unknown ;; simso-wrs) basic_machine=sparclite-wrs os=-vxworks ;; sps7) basic_machine=m68k-bull os=-sysv2 ;; spur) basic_machine=spur-unknown ;; st2000) basic_machine=m68k-tandem ;; stratus) basic_machine=i860-stratus os=-sysv4 ;; strongarm-* | thumb-*) basic_machine=arm-`echo "$basic_machine" | sed 's/^[^-]*-//'` ;; sun2) basic_machine=m68000-sun ;; sun2os3) basic_machine=m68000-sun os=-sunos3 ;; sun2os4) basic_machine=m68000-sun os=-sunos4 ;; sun3os3) basic_machine=m68k-sun os=-sunos3 ;; sun3os4) basic_machine=m68k-sun os=-sunos4 ;; sun4os3) basic_machine=sparc-sun os=-sunos3 ;; sun4os4) basic_machine=sparc-sun os=-sunos4 ;; sun4sol2) basic_machine=sparc-sun os=-solaris2 ;; sun3 | sun3-*) basic_machine=m68k-sun ;; sun4) basic_machine=sparc-sun ;; sun386 | sun386i | roadrunner) basic_machine=i386-sun ;; sv1) basic_machine=sv1-cray os=-unicos ;; symmetry) basic_machine=i386-sequent os=-dynix ;; t3e) basic_machine=alphaev5-cray os=-unicos ;; t90) basic_machine=t90-cray os=-unicos ;; tile*) basic_machine=$basic_machine-unknown os=-linux-gnu ;; tx39) basic_machine=mipstx39-unknown ;; tx39el) basic_machine=mipstx39el-unknown ;; toad1) basic_machine=pdp10-xkl os=-tops20 ;; tower | tower-32) basic_machine=m68k-ncr ;; tpf) basic_machine=s390x-ibm os=-tpf ;; udi29k) basic_machine=a29k-amd os=-udi ;; ultra3) basic_machine=a29k-nyu os=-sym1 ;; v810 | necv810) basic_machine=v810-nec os=-none ;; vaxv) basic_machine=vax-dec os=-sysv ;; vms) basic_machine=vax-dec os=-vms ;; vpp*|vx|vx-*) basic_machine=f301-fujitsu ;; vxworks960) basic_machine=i960-wrs os=-vxworks ;; vxworks68) basic_machine=m68k-wrs os=-vxworks ;; vxworks29k) basic_machine=a29k-wrs os=-vxworks ;; w65*) basic_machine=w65-wdc os=-none ;; w89k-*) basic_machine=hppa1.1-winbond os=-proelf ;; x64) basic_machine=x86_64-pc ;; xbox) basic_machine=i686-pc os=-mingw32 ;; xps | xps100) basic_machine=xps100-honeywell ;; xscale-* | xscalee[bl]-*) basic_machine=`echo "$basic_machine" | sed 's/^xscale/arm/'` ;; ymp) basic_machine=ymp-cray os=-unicos ;; none) basic_machine=none-none os=-none ;; # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. w89k) basic_machine=hppa1.1-winbond ;; op50n) basic_machine=hppa1.1-oki ;; op60c) basic_machine=hppa1.1-oki ;; romp) basic_machine=romp-ibm ;; mmix) basic_machine=mmix-knuth ;; rs6000) basic_machine=rs6000-ibm ;; vax) basic_machine=vax-dec ;; pdp11) basic_machine=pdp11-dec ;; we32k) basic_machine=we32k-att ;; sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; cydra) basic_machine=cydra-cydrome ;; orion) basic_machine=orion-highlevel ;; orion105) basic_machine=clipper-highlevel ;; mac | mpw | mac-mpw) basic_machine=m68k-apple ;; pmac | pmac-mpw) basic_machine=powerpc-apple ;; *-unknown) # Make sure to match an already-canonicalized machine name. ;; *) echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 exit 1 ;; esac # Here we canonicalize certain aliases for manufacturers. case $basic_machine in *-digital*) basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/'` ;; *-commodore*) basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cbm/'` ;; *) ;; esac # Decode manufacturer-specific aliases for certain operating systems. if [ x"$os" != x"" ] then case $os in # First match some system type aliases that might get confused # with valid system types. # -solaris* is a basic system type, with this one exception. -auroraux) os=-auroraux ;; -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; -solaris) os=-solaris2 ;; -unixware*) os=-sysv4.2uw ;; -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; # es1800 is here to avoid being matched by es* (a different OS) -es1800*) os=-ose ;; # Now accept the basic system types. # The portable systems comes first. # Each alternative MUST end in a * to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ | -sym* | -kopensolaris* | -plan9* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* | -aros* | -cloudabi* | -sortix* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -knetbsd* | -mirbsd* | -netbsd* \ | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ | -linux-newlib* | -linux-musl* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox* | -bme* \ | -midnightbsd*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) case $basic_machine in x86-* | i*86-*) ;; *) os=-nto$os ;; esac ;; -nto-qnx*) ;; -nto*) os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -xray | -os68k* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo "$os" | sed -e 's|mac|macos|'` ;; -linux-dietlibc) os=-linux-dietlibc ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; -sunos5*) os=`echo "$os" | sed -e 's|sunos5|solaris2|'` ;; -sunos6*) os=`echo "$os" | sed -e 's|sunos6|solaris3|'` ;; -opened*) os=-openedition ;; -os400*) os=-os400 ;; -wince*) os=-wince ;; -utek*) os=-bsd ;; -dynix*) os=-bsd ;; -acis*) os=-aos ;; -atheos*) os=-atheos ;; -syllable*) os=-syllable ;; -386bsd) os=-bsd ;; -ctix* | -uts*) os=-sysv ;; -nova*) os=-rtmk-nova ;; -ns2) os=-nextstep2 ;; -nsk*) os=-nsk ;; # Preserve the version number of sinix5. -sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; -sinix*) os=-sysv4 ;; -tpf*) os=-tpf ;; -triton*) os=-sysv3 ;; -oss*) os=-sysv3 ;; -svr4*) os=-sysv4 ;; -svr3) os=-sysv3 ;; -sysvr4) os=-sysv4 ;; # This must come after -sysvr4. -sysv*) ;; -ose*) os=-ose ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; -zvmoe) os=-zvmoe ;; -dicos*) os=-dicos ;; -pikeos*) # Until real need of OS specific support for # particular features comes up, bare metal # configurations are quite functional. case $basic_machine in arm*) os=-eabi ;; *) os=-elf ;; esac ;; -nacl*) ;; -ios) ;; -none) ;; *) # Get rid of the `-' at the beginning of $os. os=`echo $os | sed 's/[^-]*-//'` echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2 exit 1 ;; esac else # Here we handle the default operating systems that come with various machines. # The value should be what the vendor currently ships out the door with their # machine or put another way, the most popular os provided with the machine. # Note that if you're going to try to match "-MANUFACTURER" here (say, # "-sun"), then you have to tell the case statement up towards the top # that MANUFACTURER isn't an operating system. Otherwise, code above # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. case $basic_machine in score-*) os=-elf ;; spu-*) os=-elf ;; *-acorn) os=-riscix1.2 ;; arm*-rebel) os=-linux ;; arm*-semi) os=-aout ;; c4x-* | tic4x-*) os=-coff ;; c8051-*) os=-elf ;; hexagon-*) os=-elf ;; tic54x-*) os=-coff ;; tic55x-*) os=-coff ;; tic6x-*) os=-coff ;; # This must come before the *-dec entry. pdp10-*) os=-tops20 ;; pdp11-*) os=-none ;; *-dec | vax-*) os=-ultrix4.2 ;; m68*-apollo) os=-domain ;; i386-sun) os=-sunos4.0.2 ;; m68000-sun) os=-sunos3 ;; m68*-cisco) os=-aout ;; mep-*) os=-elf ;; mips*-cisco) os=-elf ;; mips*-*) os=-elf ;; or32-*) os=-coff ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; sparc-* | *-sun) os=-sunos4.1.1 ;; pru-*) os=-elf ;; *-be) os=-beos ;; *-ibm) os=-aix ;; *-knuth) os=-mmixware ;; *-wec) os=-proelf ;; *-winbond) os=-proelf ;; *-oki) os=-proelf ;; *-hp) os=-hpux ;; *-hitachi) os=-hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) os=-sysv ;; *-cbm) os=-amigaos ;; *-dg) os=-dgux ;; *-dolphin) os=-sysv3 ;; m68k-ccur) os=-rtu ;; m88k-omron*) os=-luna ;; *-next) os=-nextstep ;; *-sequent) os=-ptx ;; *-crds) os=-unos ;; *-ns) os=-genix ;; i370-*) os=-mvs ;; *-gould) os=-sysv ;; *-highlevel) os=-bsd ;; *-encore) os=-bsd ;; *-sgi) os=-irix ;; *-siemens) os=-sysv4 ;; *-masscomp) os=-rtu ;; f30[01]-fujitsu | f700-fujitsu) os=-uxpv ;; *-rom68k) os=-coff ;; *-*bug) os=-coff ;; *-apple) os=-macos ;; *-atari*) os=-mint ;; *) os=-none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. vendor=unknown case $basic_machine in *-unknown) case $os in -riscix*) vendor=acorn ;; -sunos*) vendor=sun ;; -cnk*|-aix*) vendor=ibm ;; -beos*) vendor=be ;; -hpux*) vendor=hp ;; -mpeix*) vendor=hp ;; -hiux*) vendor=hitachi ;; -unos*) vendor=crds ;; -dgux*) vendor=dg ;; -luna*) vendor=omron ;; -genix*) vendor=ns ;; -mvs* | -opened*) vendor=ibm ;; -os400*) vendor=ibm ;; -ptx*) vendor=sequent ;; -tpf*) vendor=ibm ;; -vxsim* | -vxworks* | -windiss*) vendor=wrs ;; -aux*) vendor=apple ;; -hms*) vendor=hitachi ;; -mpw* | -macos*) vendor=apple ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) vendor=atari ;; -vos*) vendor=stratus ;; esac basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendor/"` ;; esac echo "$basic_machine$os" exit # Local variables: # eval: (add-hook 'write-file-functions 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: pioneers-15.5/Makefile.am0000644000175000017500000001360013250006172012241 00000000000000# Pioneers - Implementation of the excellent Settlers of Catan board game. # Go buy a copy. # # Copyright (C) 1999 Dave Cole # Copyright (C) 2003, 2006 Bas Wijnen # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # some settings console_cflags = \ -I$(top_srcdir)/common \ -I$(top_builddir)/common \ -I$(includedir) \ $(GLIB2_CFLAGS) \ $(GIO2_CFLAGS) \ $(WARNINGS) \ $(DEBUGGING) \ $(GLIB_DEPRECATION) \ -DDATADIR=\""$(pioneers_datadir)"\" \ -DTHEMEDIR=\""$(pioneers_themedir_embed)"\" \ -DLOCALEDIR=\""$(pioneers_localedir)"\" \ -DPIONEERS_DIR_DEFAULT=\""$(pioneers_datadir)/games/pioneers"\" \ -DPIONEERS_SERVER_CONSOLE_PROGRAM_NAME=\""pioneers-server-console$(EXEEXT)"\" \ -DPIONEERS_SERVER_GTK_PROGRAM_NAME=\""pioneers-server-gtk$(EXEEXT)"\" \ -DPIONEERS_CLIENT_GTK_PROGRAM_NAME=\""pioneers$(EXEEXT)"\" \ -DPIONEERS_AI_PROGRAM_NAME=\""pioneersai$(EXEEXT)"\" avahi_cflags = \ $(AVAHI_CLIENT_CFLAGS) \ $(AVAHI_GLIB_CFLAGS) gtk_cflags = \ $(console_cflags) \ -I$(top_srcdir)/common/gtk \ $(GTK_CFLAGS) \ $(GTK_DEPRECATION) # The Fink port needs an explicit reference to driver.o console_libs = \ libpioneers.a \ $(top_builddir)/common/libpioneers_a-driver.o \ $(GLIB2_LIBS) \ $(GIO2_LIBS) avahi_libs = \ $(AVAHI_CLIENT_LIBS) \ $(AVAHI_GLIB_LIBS) gtk_libs = \ $(console_libs) \ libpioneers_gtk.a \ $(GTK_LIBS) configdir = $(datadir)/games/pioneers icondir = $(datadir)/pixmaps pixmapdir = $(datadir)/pixmaps/pioneers actionsdir = $(pioneers_iconthemedir)/scalable/actions desktopdir = $(datadir)/applications # Let object files be generated in their own subdirectories AUTOMAKE_OPTIONS = subdir-objects foreign # set up these variables so the included Makefile.ams can use += SUBDIRS = bin_PROGRAMS = noinst_PROGRAMS = noinst_LIBRARIES = man_MANS = config_DATA = icon_DATA = pixmap_DATA = actions_DATA = desktop_in_files = CLEANFILES = DISTCLEANFILES = MAINTAINERCLEANFILES = EXTRA_DIST = autogen.sh pioneers.spec README.Cygwin README.MinGW Doxyfile BUILT_SOURCES = icons = # Use GOB to create new classes %.gob.stamp %.c %.h %-private.h: %.gob $(MKDIR_P) $(dir $@) $(GOB2) --output-dir $(dir $@) $< touch $@ # creating icons %.png: %.svg $(MKDIR_P) $(dir $@) $(svg_renderer_path) $(svg_renderer_width)256$(svg_renderer_height)256 $< $(svg_renderer_output) $@ if USE_WINDOWS_ICON # Will be used in Windows builds %.res: %.rc %.ico $(MKDIR_P) $(dir $@) windres -I$(top_srcdir) -O coff -o $@ $< endif if BUILD_CLIENT include client/Makefile.am endif include server/Makefile.am if BUILD_METASERVER include metaserver/Makefile.am endif if BUILD_EDITOR include editor/Makefile.am endif if BUILD_HELP # yelp-tools doesn't use automake, but creates its own Makefile SUBDIRS += client/help endif include MinGW/Makefile.am include common/Makefile.am include docs/Makefile.am desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) @INTLTOOL_DESKTOP_RULE@ # Make use of some of the variables that were filled in by the included # Makefile.ams MAINTAINERCLEANFILES += $(icon_DATA) DISTCLEANFILES += $(desktop_in_files:.desktop.in=.desktop) intltool-extract intltool-merge intltool-update EXTRA_DIST += \ $(man_MANS) \ $(desktop_in_files) \ $(config_DATA) \ $(pixmap_DATA) \ $(icon_DATA) \ $(subst png,svg,$(icon_DATA)) \ $(actions_DATA) # po doesn't use automake, but creates its own Makefile SUBDIRS += po clean-local: find $(top_srcdir) -name "*~" -type f -delete rm -rf html distclean-local: rm -f *~ rm -rf autom4te.cache # Reformat the code. reindent: find . -name '*.[ch]' -exec indent -kr -i8 '{}' ';' find . -name '*.[ch]' -exec indent -kr -i8 '{}' ';' restorepo: svn revert po/*.po po/pioneers.pot # Find and fix common misspellings in the code codespell: find . -name '*.[ch]' -exec codespell -d -i3 -w '{}' ';' # Remove ALL generated files pristine: maintainer-clean rm -fr m4 svn status --no-ignore | awk '$$1=="I" { print substr($$0, 9, 255) }' | tr '\n' '\0' | xargs -0 rm # Application icons, in various sizes BUILT_SOURCES += $(subst .svg,.48x48_apps.png,$(icons)) EXTRA_DIST += $(icons) $(subst .svg,.48x48_apps.png,$(icons)) %.48x48_apps.png: %.svg $(MKDIR_P) $(dir $@) $(svg_renderer_path) $(svg_renderer_width)48$(svg_renderer_height)48 $< $(svg_renderer_output) $@ install-icons: $(MKDIR_P) $(DESTDIR)$(pioneers_iconthemedir)/48x48/apps $(MKDIR_P) $(DESTDIR)$(pioneers_iconthemedir)/scalable/apps for icon in $(icons); do \ ICONNAME=`echo $$icon | $(AWK) '{ c = split($$0, a, "/"); print substr(a[c], 1, index(a[c], ".") - 1) }'`; \ INPUTNAME=`echo $$icon | $(AWK) '{ gsub(".svg", ""); print }'`; \ $(INSTALL_DATA) $(srcdir)/$$INPUTNAME.48x48_apps.png $(DESTDIR)$(pioneers_iconthemedir)/48x48/apps/$$ICONNAME.png; \ $(INSTALL_DATA) $(srcdir)/$$INPUTNAME.svg $(DESTDIR)$(pioneers_iconthemedir)/scalable/apps/$$ICONNAME.svg; \ done; uninstall-icons: -for icon in $(icons); do \ ICONNAME=`echo $$icon | $(AWK) '{ c = split($$0, a, "/"); print substr(a[c], 1, index(a[c], ".") - 1) }'`; \ rm -f $(DESTDIR)$(pioneers_iconthemedir)/48x48/apps/$$ICONNAME.png; \ rm -f $(DESTDIR)$(pioneers_iconthemedir)/scalable/apps/$$ICONNAME.svg; \ done; install-data-hook: install-icons uninstall-hook: uninstall-icons dist-hook: $(MAKE) -C "$(srcdir)/po" "${GETTEXT_PACKAGE}.pot" cp "$(srcdir)/po/${GETTEXT_PACKAGE}.pot" "$(distdir)/po/" pioneers-15.5/ltmain.sh0000644000175000017500000117147413252243600012045 00000000000000#! /bin/sh ## DO NOT EDIT - This file generated from ./build-aux/ltmain.in ## by inline-source v2014-01-03.01 # libtool (GNU libtool) 2.4.6 # Provide generalized library-building support services. # Written by Gordon Matzigkeit , 1996 # Copyright (C) 1996-2015 Free Software Foundation, Inc. # This is free software; see the source for copying conditions. There is NO # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # GNU Libtool is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # As a special exception to the GNU General Public License, # if you distribute this file as part of a program or library that # is built using GNU Libtool, you may include this file under the # same distribution terms that you use for the rest of that program. # # GNU Libtool is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . PROGRAM=libtool PACKAGE=libtool VERSION="2.4.6 Debian-2.4.6-2" package_revision=2.4.6 ## ------ ## ## Usage. ## ## ------ ## # Run './libtool --help' for help with using this script from the # command line. ## ------------------------------- ## ## User overridable command paths. ## ## ------------------------------- ## # After configure completes, it has a better idea of some of the # shell tools we need than the defaults used by the functions shared # with bootstrap, so set those here where they can still be over- # ridden by the user, but otherwise take precedence. : ${AUTOCONF="autoconf"} : ${AUTOMAKE="automake"} ## -------------------------- ## ## Source external libraries. ## ## -------------------------- ## # Much of our low-level functionality needs to be sourced from external # libraries, which are installed to $pkgauxdir. # Set a version string for this script. scriptversion=2015-01-20.17; # UTC # General shell script boiler plate, and helper functions. # Written by Gary V. Vaughan, 2004 # Copyright (C) 2004-2015 Free Software Foundation, Inc. # This is free software; see the source for copying conditions. There is NO # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # As a special exception to the GNU General Public License, if you distribute # this file as part of a program or library that is built using GNU Libtool, # you may include this file under the same distribution terms that you use # for the rest of that program. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNES FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # Please report bugs or propose patches to gary@gnu.org. ## ------ ## ## Usage. ## ## ------ ## # Evaluate this file near the top of your script to gain access to # the functions and variables defined here: # # . `echo "$0" | ${SED-sed} 's|[^/]*$||'`/build-aux/funclib.sh # # If you need to override any of the default environment variable # settings, do that before evaluating this file. ## -------------------- ## ## Shell normalisation. ## ## -------------------- ## # Some shells need a little help to be as Bourne compatible as possible. # Before doing anything else, make sure all that help has been provided! DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi # NLS nuisances: We save the old values in case they are required later. _G_user_locale= _G_safe_locale= for _G_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES do eval "if test set = \"\${$_G_var+set}\"; then save_$_G_var=\$$_G_var $_G_var=C export $_G_var _G_user_locale=\"$_G_var=\\\$save_\$_G_var; \$_G_user_locale\" _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\" fi" done # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # Make sure IFS has a sensible default sp=' ' nl=' ' IFS="$sp $nl" # There are apparently some retarded systems that use ';' as a PATH separator! if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi ## ------------------------- ## ## Locate command utilities. ## ## ------------------------- ## # func_executable_p FILE # ---------------------- # Check that FILE is an executable regular file. func_executable_p () { test -f "$1" && test -x "$1" } # func_path_progs PROGS_LIST CHECK_FUNC [PATH] # -------------------------------------------- # Search for either a program that responds to --version with output # containing "GNU", or else returned by CHECK_FUNC otherwise, by # trying all the directories in PATH with each of the elements of # PROGS_LIST. # # CHECK_FUNC should accept the path to a candidate program, and # set $func_check_prog_result if it truncates its output less than # $_G_path_prog_max characters. func_path_progs () { _G_progs_list=$1 _G_check_func=$2 _G_PATH=${3-"$PATH"} _G_path_prog_max=0 _G_path_prog_found=false _G_save_IFS=$IFS; IFS=${PATH_SEPARATOR-:} for _G_dir in $_G_PATH; do IFS=$_G_save_IFS test -z "$_G_dir" && _G_dir=. for _G_prog_name in $_G_progs_list; do for _exeext in '' .EXE; do _G_path_prog=$_G_dir/$_G_prog_name$_exeext func_executable_p "$_G_path_prog" || continue case `"$_G_path_prog" --version 2>&1` in *GNU*) func_path_progs_result=$_G_path_prog _G_path_prog_found=: ;; *) $_G_check_func $_G_path_prog func_path_progs_result=$func_check_prog_result ;; esac $_G_path_prog_found && break 3 done done done IFS=$_G_save_IFS test -z "$func_path_progs_result" && { echo "no acceptable sed could be found in \$PATH" >&2 exit 1 } } # We want to be able to use the functions in this file before configure # has figured out where the best binaries are kept, which means we have # to search for them ourselves - except when the results are already set # where we skip the searches. # Unless the user overrides by setting SED, search the path for either GNU # sed, or the sed that truncates its output the least. test -z "$SED" && { _G_sed_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ for _G_i in 1 2 3 4 5 6 7; do _G_sed_script=$_G_sed_script$nl$_G_sed_script done echo "$_G_sed_script" 2>/dev/null | sed 99q >conftest.sed _G_sed_script= func_check_prog_sed () { _G_path_prog=$1 _G_count=0 printf 0123456789 >conftest.in while : do cat conftest.in conftest.in >conftest.tmp mv conftest.tmp conftest.in cp conftest.in conftest.nl echo '' >> conftest.nl "$_G_path_prog" -f conftest.sed conftest.out 2>/dev/null || break diff conftest.out conftest.nl >/dev/null 2>&1 || break _G_count=`expr $_G_count + 1` if test "$_G_count" -gt "$_G_path_prog_max"; then # Best one so far, save it but keep looking for a better one func_check_prog_result=$_G_path_prog _G_path_prog_max=$_G_count fi # 10*(2^10) chars as input seems more than enough test 10 -lt "$_G_count" && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out } func_path_progs "sed gsed" func_check_prog_sed $PATH:/usr/xpg4/bin rm -f conftest.sed SED=$func_path_progs_result } # Unless the user overrides by setting GREP, search the path for either GNU # grep, or the grep that truncates its output the least. test -z "$GREP" && { func_check_prog_grep () { _G_path_prog=$1 _G_count=0 _G_path_prog_max=0 printf 0123456789 >conftest.in while : do cat conftest.in conftest.in >conftest.tmp mv conftest.tmp conftest.in cp conftest.in conftest.nl echo 'GREP' >> conftest.nl "$_G_path_prog" -e 'GREP$' -e '-(cannot match)-' conftest.out 2>/dev/null || break diff conftest.out conftest.nl >/dev/null 2>&1 || break _G_count=`expr $_G_count + 1` if test "$_G_count" -gt "$_G_path_prog_max"; then # Best one so far, save it but keep looking for a better one func_check_prog_result=$_G_path_prog _G_path_prog_max=$_G_count fi # 10*(2^10) chars as input seems more than enough test 10 -lt "$_G_count" && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out } func_path_progs "grep ggrep" func_check_prog_grep $PATH:/usr/xpg4/bin GREP=$func_path_progs_result } ## ------------------------------- ## ## User overridable command paths. ## ## ------------------------------- ## # All uppercase variable names are used for environment variables. These # variables can be overridden by the user before calling a script that # uses them if a suitable command of that name is not already available # in the command search PATH. : ${CP="cp -f"} : ${ECHO="printf %s\n"} : ${EGREP="$GREP -E"} : ${FGREP="$GREP -F"} : ${LN_S="ln -s"} : ${MAKE="make"} : ${MKDIR="mkdir"} : ${MV="mv -f"} : ${RM="rm -f"} : ${SHELL="${CONFIG_SHELL-/bin/sh}"} ## -------------------- ## ## Useful sed snippets. ## ## -------------------- ## sed_dirname='s|/[^/]*$||' sed_basename='s|^.*/||' # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. sed_quote_subst='s|\([`"$\\]\)|\\\1|g' # Same as above, but do not quote variable references. sed_double_quote_subst='s/\(["`\\]\)/\\\1/g' # Sed substitution that turns a string into a regex matching for the # string literally. sed_make_literal_regex='s|[].[^$\\*\/]|\\&|g' # Sed substitution that converts a w32 file name or path # that contains forward slashes, into one that contains # (escaped) backslashes. A very naive implementation. sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' # Re-'\' parameter expansions in output of sed_double_quote_subst that # were '\'-ed in input to the same. If an odd number of '\' preceded a # '$' in input to sed_double_quote_subst, that '$' was protected from # expansion. Since each input '\' is now two '\'s, look for any number # of runs of four '\'s followed by two '\'s and then a '$'. '\' that '$'. _G_bs='\\' _G_bs2='\\\\' _G_bs4='\\\\\\\\' _G_dollar='\$' sed_double_backslash="\ s/$_G_bs4/&\\ /g s/^$_G_bs2$_G_dollar/$_G_bs&/ s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g s/\n//g" ## ----------------- ## ## Global variables. ## ## ----------------- ## # Except for the global variables explicitly listed below, the following # functions in the '^func_' namespace, and the '^require_' namespace # variables initialised in the 'Resource management' section, sourcing # this file will not pollute your global namespace with anything # else. There's no portable way to scope variables in Bourne shell # though, so actually running these functions will sometimes place # results into a variable named after the function, and often use # temporary variables in the '^_G_' namespace. If you are careful to # avoid using those namespaces casually in your sourcing script, things # should continue to work as you expect. And, of course, you can freely # overwrite any of the functions or variables defined here before # calling anything to customize them. EXIT_SUCCESS=0 EXIT_FAILURE=1 EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. # Allow overriding, eg assuming that you follow the convention of # putting '$debug_cmd' at the start of all your functions, you can get # bash to show function call trace with: # # debug_cmd='eval echo "${FUNCNAME[0]} $*" >&2' bash your-script-name debug_cmd=${debug_cmd-":"} exit_cmd=: # By convention, finish your script with: # # exit $exit_status # # so that you can set exit_status to non-zero if you want to indicate # something went wrong during execution without actually bailing out at # the point of failure. exit_status=$EXIT_SUCCESS # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh # is ksh but when the shell is invoked as "sh" and the current value of # the _XPG environment variable is not equal to 1 (one), the special # positional parameter $0, within a function call, is the name of the # function. progpath=$0 # The name of this program. progname=`$ECHO "$progpath" |$SED "$sed_basename"` # Make sure we have an absolute progpath for reexecution: case $progpath in [\\/]*|[A-Za-z]:\\*) ;; *[\\/]*) progdir=`$ECHO "$progpath" |$SED "$sed_dirname"` progdir=`cd "$progdir" && pwd` progpath=$progdir/$progname ;; *) _G_IFS=$IFS IFS=${PATH_SEPARATOR-:} for progdir in $PATH; do IFS=$_G_IFS test -x "$progdir/$progname" && break done IFS=$_G_IFS test -n "$progdir" || progdir=`pwd` progpath=$progdir/$progname ;; esac ## ----------------- ## ## Standard options. ## ## ----------------- ## # The following options affect the operation of the functions defined # below, and should be set appropriately depending on run-time para- # meters passed on the command line. opt_dry_run=false opt_quiet=false opt_verbose=false # Categories 'all' and 'none' are always available. Append any others # you will pass as the first argument to func_warning from your own # code. warning_categories= # By default, display warnings according to 'opt_warning_types'. Set # 'warning_func' to ':' to elide all warnings, or func_fatal_error to # treat the next displayed warning as a fatal error. warning_func=func_warn_and_continue # Set to 'all' to display all warnings, 'none' to suppress all # warnings, or a space delimited list of some subset of # 'warning_categories' to display only the listed warnings. opt_warning_types=all ## -------------------- ## ## Resource management. ## ## -------------------- ## # This section contains definitions for functions that each ensure a # particular resource (a file, or a non-empty configuration variable for # example) is available, and if appropriate to extract default values # from pertinent package files. Call them using their associated # 'require_*' variable to ensure that they are executed, at most, once. # # It's entirely deliberate that calling these functions can set # variables that don't obey the namespace limitations obeyed by the rest # of this file, in order that that they be as useful as possible to # callers. # require_term_colors # ------------------- # Allow display of bold text on terminals that support it. require_term_colors=func_require_term_colors func_require_term_colors () { $debug_cmd test -t 1 && { # COLORTERM and USE_ANSI_COLORS environment variables take # precedence, because most terminfo databases neglect to describe # whether color sequences are supported. test -n "${COLORTERM+set}" && : ${USE_ANSI_COLORS="1"} if test 1 = "$USE_ANSI_COLORS"; then # Standard ANSI escape sequences tc_reset='' tc_bold=''; tc_standout='' tc_red=''; tc_green='' tc_blue=''; tc_cyan='' else # Otherwise trust the terminfo database after all. test -n "`tput sgr0 2>/dev/null`" && { tc_reset=`tput sgr0` test -n "`tput bold 2>/dev/null`" && tc_bold=`tput bold` tc_standout=$tc_bold test -n "`tput smso 2>/dev/null`" && tc_standout=`tput smso` test -n "`tput setaf 1 2>/dev/null`" && tc_red=`tput setaf 1` test -n "`tput setaf 2 2>/dev/null`" && tc_green=`tput setaf 2` test -n "`tput setaf 4 2>/dev/null`" && tc_blue=`tput setaf 4` test -n "`tput setaf 5 2>/dev/null`" && tc_cyan=`tput setaf 5` } fi } require_term_colors=: } ## ----------------- ## ## Function library. ## ## ----------------- ## # This section contains a variety of useful functions to call in your # scripts. Take note of the portable wrappers for features provided by # some modern shells, which will fall back to slower equivalents on # less featureful shells. # func_append VAR VALUE # --------------------- # Append VALUE onto the existing contents of VAR. # We should try to minimise forks, especially on Windows where they are # unreasonably slow, so skip the feature probes when bash or zsh are # being used: if test set = "${BASH_VERSION+set}${ZSH_VERSION+set}"; then : ${_G_HAVE_ARITH_OP="yes"} : ${_G_HAVE_XSI_OPS="yes"} # The += operator was introduced in bash 3.1 case $BASH_VERSION in [12].* | 3.0 | 3.0*) ;; *) : ${_G_HAVE_PLUSEQ_OP="yes"} ;; esac fi # _G_HAVE_PLUSEQ_OP # Can be empty, in which case the shell is probed, "yes" if += is # useable or anything else if it does not work. test -z "$_G_HAVE_PLUSEQ_OP" \ && (eval 'x=a; x+=" b"; test "a b" = "$x"') 2>/dev/null \ && _G_HAVE_PLUSEQ_OP=yes if test yes = "$_G_HAVE_PLUSEQ_OP" then # This is an XSI compatible shell, allowing a faster implementation... eval 'func_append () { $debug_cmd eval "$1+=\$2" }' else # ...otherwise fall back to using expr, which is often a shell builtin. func_append () { $debug_cmd eval "$1=\$$1\$2" } fi # func_append_quoted VAR VALUE # ---------------------------- # Quote VALUE and append to the end of shell variable VAR, separated # by a space. if test yes = "$_G_HAVE_PLUSEQ_OP"; then eval 'func_append_quoted () { $debug_cmd func_quote_for_eval "$2" eval "$1+=\\ \$func_quote_for_eval_result" }' else func_append_quoted () { $debug_cmd func_quote_for_eval "$2" eval "$1=\$$1\\ \$func_quote_for_eval_result" } fi # func_append_uniq VAR VALUE # -------------------------- # Append unique VALUE onto the existing contents of VAR, assuming # entries are delimited by the first character of VALUE. For example: # # func_append_uniq options " --another-option option-argument" # # will only append to $options if " --another-option option-argument " # is not already present somewhere in $options already (note spaces at # each end implied by leading space in second argument). func_append_uniq () { $debug_cmd eval _G_current_value='`$ECHO $'$1'`' _G_delim=`expr "$2" : '\(.\)'` case $_G_delim$_G_current_value$_G_delim in *"$2$_G_delim"*) ;; *) func_append "$@" ;; esac } # func_arith TERM... # ------------------ # Set func_arith_result to the result of evaluating TERMs. test -z "$_G_HAVE_ARITH_OP" \ && (eval 'test 2 = $(( 1 + 1 ))') 2>/dev/null \ && _G_HAVE_ARITH_OP=yes if test yes = "$_G_HAVE_ARITH_OP"; then eval 'func_arith () { $debug_cmd func_arith_result=$(( $* )) }' else func_arith () { $debug_cmd func_arith_result=`expr "$@"` } fi # func_basename FILE # ------------------ # Set func_basename_result to FILE with everything up to and including # the last / stripped. if test yes = "$_G_HAVE_XSI_OPS"; then # If this shell supports suffix pattern removal, then use it to avoid # forking. Hide the definitions single quotes in case the shell chokes # on unsupported syntax... _b='func_basename_result=${1##*/}' _d='case $1 in */*) func_dirname_result=${1%/*}$2 ;; * ) func_dirname_result=$3 ;; esac' else # ...otherwise fall back to using sed. _b='func_basename_result=`$ECHO "$1" |$SED "$sed_basename"`' _d='func_dirname_result=`$ECHO "$1" |$SED "$sed_dirname"` if test "X$func_dirname_result" = "X$1"; then func_dirname_result=$3 else func_append func_dirname_result "$2" fi' fi eval 'func_basename () { $debug_cmd '"$_b"' }' # func_dirname FILE APPEND NONDIR_REPLACEMENT # ------------------------------------------- # Compute the dirname of FILE. If nonempty, add APPEND to the result, # otherwise set result to NONDIR_REPLACEMENT. eval 'func_dirname () { $debug_cmd '"$_d"' }' # func_dirname_and_basename FILE APPEND NONDIR_REPLACEMENT # -------------------------------------------------------- # Perform func_basename and func_dirname in a single function # call: # dirname: Compute the dirname of FILE. If nonempty, # add APPEND to the result, otherwise set result # to NONDIR_REPLACEMENT. # value returned in "$func_dirname_result" # basename: Compute filename of FILE. # value retuned in "$func_basename_result" # For efficiency, we do not delegate to the functions above but instead # duplicate the functionality here. eval 'func_dirname_and_basename () { $debug_cmd '"$_b"' '"$_d"' }' # func_echo ARG... # ---------------- # Echo program name prefixed message. func_echo () { $debug_cmd _G_message=$* func_echo_IFS=$IFS IFS=$nl for _G_line in $_G_message; do IFS=$func_echo_IFS $ECHO "$progname: $_G_line" done IFS=$func_echo_IFS } # func_echo_all ARG... # -------------------- # Invoke $ECHO with all args, space-separated. func_echo_all () { $ECHO "$*" } # func_echo_infix_1 INFIX ARG... # ------------------------------ # Echo program name, followed by INFIX on the first line, with any # additional lines not showing INFIX. func_echo_infix_1 () { $debug_cmd $require_term_colors _G_infix=$1; shift _G_indent=$_G_infix _G_prefix="$progname: $_G_infix: " _G_message=$* # Strip color escape sequences before counting printable length for _G_tc in "$tc_reset" "$tc_bold" "$tc_standout" "$tc_red" "$tc_green" "$tc_blue" "$tc_cyan" do test -n "$_G_tc" && { _G_esc_tc=`$ECHO "$_G_tc" | $SED "$sed_make_literal_regex"` _G_indent=`$ECHO "$_G_indent" | $SED "s|$_G_esc_tc||g"` } done _G_indent="$progname: "`echo "$_G_indent" | $SED 's|.| |g'`" " ## exclude from sc_prohibit_nested_quotes func_echo_infix_1_IFS=$IFS IFS=$nl for _G_line in $_G_message; do IFS=$func_echo_infix_1_IFS $ECHO "$_G_prefix$tc_bold$_G_line$tc_reset" >&2 _G_prefix=$_G_indent done IFS=$func_echo_infix_1_IFS } # func_error ARG... # ----------------- # Echo program name prefixed message to standard error. func_error () { $debug_cmd $require_term_colors func_echo_infix_1 " $tc_standout${tc_red}error$tc_reset" "$*" >&2 } # func_fatal_error ARG... # ----------------------- # Echo program name prefixed message to standard error, and exit. func_fatal_error () { $debug_cmd func_error "$*" exit $EXIT_FAILURE } # func_grep EXPRESSION FILENAME # ----------------------------- # Check whether EXPRESSION matches any line of FILENAME, without output. func_grep () { $debug_cmd $GREP "$1" "$2" >/dev/null 2>&1 } # func_len STRING # --------------- # Set func_len_result to the length of STRING. STRING may not # start with a hyphen. test -z "$_G_HAVE_XSI_OPS" \ && (eval 'x=a/b/c; test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ && _G_HAVE_XSI_OPS=yes if test yes = "$_G_HAVE_XSI_OPS"; then eval 'func_len () { $debug_cmd func_len_result=${#1} }' else func_len () { $debug_cmd func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` } fi # func_mkdir_p DIRECTORY-PATH # --------------------------- # Make sure the entire path to DIRECTORY-PATH is available. func_mkdir_p () { $debug_cmd _G_directory_path=$1 _G_dir_list= if test -n "$_G_directory_path" && test : != "$opt_dry_run"; then # Protect directory names starting with '-' case $_G_directory_path in -*) _G_directory_path=./$_G_directory_path ;; esac # While some portion of DIR does not yet exist... while test ! -d "$_G_directory_path"; do # ...make a list in topmost first order. Use a colon delimited # list incase some portion of path contains whitespace. _G_dir_list=$_G_directory_path:$_G_dir_list # If the last portion added has no slash in it, the list is done case $_G_directory_path in */*) ;; *) break ;; esac # ...otherwise throw away the child directory and loop _G_directory_path=`$ECHO "$_G_directory_path" | $SED -e "$sed_dirname"` done _G_dir_list=`$ECHO "$_G_dir_list" | $SED 's|:*$||'` func_mkdir_p_IFS=$IFS; IFS=: for _G_dir in $_G_dir_list; do IFS=$func_mkdir_p_IFS # mkdir can fail with a 'File exist' error if two processes # try to create one of the directories concurrently. Don't # stop in that case! $MKDIR "$_G_dir" 2>/dev/null || : done IFS=$func_mkdir_p_IFS # Bail out if we (or some other process) failed to create a directory. test -d "$_G_directory_path" || \ func_fatal_error "Failed to create '$1'" fi } # func_mktempdir [BASENAME] # ------------------------- # Make a temporary directory that won't clash with other running # libtool processes, and avoids race conditions if possible. If # given, BASENAME is the basename for that directory. func_mktempdir () { $debug_cmd _G_template=${TMPDIR-/tmp}/${1-$progname} if test : = "$opt_dry_run"; then # Return a directory name, but don't create it in dry-run mode _G_tmpdir=$_G_template-$$ else # If mktemp works, use that first and foremost _G_tmpdir=`mktemp -d "$_G_template-XXXXXXXX" 2>/dev/null` if test ! -d "$_G_tmpdir"; then # Failing that, at least try and use $RANDOM to avoid a race _G_tmpdir=$_G_template-${RANDOM-0}$$ func_mktempdir_umask=`umask` umask 0077 $MKDIR "$_G_tmpdir" umask $func_mktempdir_umask fi # If we're not in dry-run mode, bomb out on failure test -d "$_G_tmpdir" || \ func_fatal_error "cannot create temporary directory '$_G_tmpdir'" fi $ECHO "$_G_tmpdir" } # func_normal_abspath PATH # ------------------------ # Remove doubled-up and trailing slashes, "." path components, # and cancel out any ".." path components in PATH after making # it an absolute path. func_normal_abspath () { $debug_cmd # These SED scripts presuppose an absolute path with a trailing slash. _G_pathcar='s|^/\([^/]*\).*$|\1|' _G_pathcdr='s|^/[^/]*||' _G_removedotparts=':dotsl s|/\./|/|g t dotsl s|/\.$|/|' _G_collapseslashes='s|/\{1,\}|/|g' _G_finalslash='s|/*$|/|' # Start from root dir and reassemble the path. func_normal_abspath_result= func_normal_abspath_tpath=$1 func_normal_abspath_altnamespace= case $func_normal_abspath_tpath in "") # Empty path, that just means $cwd. func_stripname '' '/' "`pwd`" func_normal_abspath_result=$func_stripname_result return ;; # The next three entries are used to spot a run of precisely # two leading slashes without using negated character classes; # we take advantage of case's first-match behaviour. ///*) # Unusual form of absolute path, do nothing. ;; //*) # Not necessarily an ordinary path; POSIX reserves leading '//' # and for example Cygwin uses it to access remote file shares # over CIFS/SMB, so we conserve a leading double slash if found. func_normal_abspath_altnamespace=/ ;; /*) # Absolute path, do nothing. ;; *) # Relative path, prepend $cwd. func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath ;; esac # Cancel out all the simple stuff to save iterations. We also want # the path to end with a slash for ease of parsing, so make sure # there is one (and only one) here. func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ -e "$_G_removedotparts" -e "$_G_collapseslashes" -e "$_G_finalslash"` while :; do # Processed it all yet? if test / = "$func_normal_abspath_tpath"; then # If we ascended to the root using ".." the result may be empty now. if test -z "$func_normal_abspath_result"; then func_normal_abspath_result=/ fi break fi func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \ -e "$_G_pathcar"` func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ -e "$_G_pathcdr"` # Figure out what to do with it case $func_normal_abspath_tcomponent in "") # Trailing empty path component, ignore it. ;; ..) # Parent dir; strip last assembled component from result. func_dirname "$func_normal_abspath_result" func_normal_abspath_result=$func_dirname_result ;; *) # Actual path component, append it. func_append func_normal_abspath_result "/$func_normal_abspath_tcomponent" ;; esac done # Restore leading double-slash if one was found on entry. func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result } # func_notquiet ARG... # -------------------- # Echo program name prefixed message only when not in quiet mode. func_notquiet () { $debug_cmd $opt_quiet || func_echo ${1+"$@"} # A bug in bash halts the script if the last line of a function # fails when set -e is in force, so we need another command to # work around that: : } # func_relative_path SRCDIR DSTDIR # -------------------------------- # Set func_relative_path_result to the relative path from SRCDIR to DSTDIR. func_relative_path () { $debug_cmd func_relative_path_result= func_normal_abspath "$1" func_relative_path_tlibdir=$func_normal_abspath_result func_normal_abspath "$2" func_relative_path_tbindir=$func_normal_abspath_result # Ascend the tree starting from libdir while :; do # check if we have found a prefix of bindir case $func_relative_path_tbindir in $func_relative_path_tlibdir) # found an exact match func_relative_path_tcancelled= break ;; $func_relative_path_tlibdir*) # found a matching prefix func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir" func_relative_path_tcancelled=$func_stripname_result if test -z "$func_relative_path_result"; then func_relative_path_result=. fi break ;; *) func_dirname $func_relative_path_tlibdir func_relative_path_tlibdir=$func_dirname_result if test -z "$func_relative_path_tlibdir"; then # Have to descend all the way to the root! func_relative_path_result=../$func_relative_path_result func_relative_path_tcancelled=$func_relative_path_tbindir break fi func_relative_path_result=../$func_relative_path_result ;; esac done # Now calculate path; take care to avoid doubling-up slashes. func_stripname '' '/' "$func_relative_path_result" func_relative_path_result=$func_stripname_result func_stripname '/' '/' "$func_relative_path_tcancelled" if test -n "$func_stripname_result"; then func_append func_relative_path_result "/$func_stripname_result" fi # Normalisation. If bindir is libdir, return '.' else relative path. if test -n "$func_relative_path_result"; then func_stripname './' '' "$func_relative_path_result" func_relative_path_result=$func_stripname_result fi test -n "$func_relative_path_result" || func_relative_path_result=. : } # func_quote_for_eval ARG... # -------------------------- # Aesthetically quote ARGs to be evaled later. # This function returns two values: # i) func_quote_for_eval_result # double-quoted, suitable for a subsequent eval # ii) func_quote_for_eval_unquoted_result # has all characters that are still active within double # quotes backslashified. func_quote_for_eval () { $debug_cmd func_quote_for_eval_unquoted_result= func_quote_for_eval_result= while test 0 -lt $#; do case $1 in *[\\\`\"\$]*) _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;; *) _G_unquoted_arg=$1 ;; esac if test -n "$func_quote_for_eval_unquoted_result"; then func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg" else func_append func_quote_for_eval_unquoted_result "$_G_unquoted_arg" fi case $_G_unquoted_arg in # Double-quote args containing shell metacharacters to delay # word splitting, command substitution and variable expansion # for a subsequent eval. # Many Bourne shells cannot handle close brackets correctly # in scan sets, so we specify it separately. *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") _G_quoted_arg=\"$_G_unquoted_arg\" ;; *) _G_quoted_arg=$_G_unquoted_arg ;; esac if test -n "$func_quote_for_eval_result"; then func_append func_quote_for_eval_result " $_G_quoted_arg" else func_append func_quote_for_eval_result "$_G_quoted_arg" fi shift done } # func_quote_for_expand ARG # ------------------------- # Aesthetically quote ARG to be evaled later; same as above, # but do not quote variable references. func_quote_for_expand () { $debug_cmd case $1 in *[\\\`\"]*) _G_arg=`$ECHO "$1" | $SED \ -e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;; *) _G_arg=$1 ;; esac case $_G_arg in # Double-quote args containing shell metacharacters to delay # word splitting and command substitution for a subsequent eval. # Many Bourne shells cannot handle close brackets correctly # in scan sets, so we specify it separately. *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") _G_arg=\"$_G_arg\" ;; esac func_quote_for_expand_result=$_G_arg } # func_stripname PREFIX SUFFIX NAME # --------------------------------- # strip PREFIX and SUFFIX from NAME, and store in func_stripname_result. # PREFIX and SUFFIX must not contain globbing or regex special # characters, hashes, percent signs, but SUFFIX may contain a leading # dot (in which case that matches only a dot). if test yes = "$_G_HAVE_XSI_OPS"; then eval 'func_stripname () { $debug_cmd # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are # positional parameters, so assign one to ordinary variable first. func_stripname_result=$3 func_stripname_result=${func_stripname_result#"$1"} func_stripname_result=${func_stripname_result%"$2"} }' else func_stripname () { $debug_cmd case $2 in .*) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%\\\\$2\$%%"`;; *) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%$2\$%%"`;; esac } fi # func_show_eval CMD [FAIL_EXP] # ----------------------------- # Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is # not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP # is given, then evaluate it. func_show_eval () { $debug_cmd _G_cmd=$1 _G_fail_exp=${2-':'} func_quote_for_expand "$_G_cmd" eval "func_notquiet $func_quote_for_expand_result" $opt_dry_run || { eval "$_G_cmd" _G_status=$? if test 0 -ne "$_G_status"; then eval "(exit $_G_status); $_G_fail_exp" fi } } # func_show_eval_locale CMD [FAIL_EXP] # ------------------------------------ # Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is # not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP # is given, then evaluate it. Use the saved locale for evaluation. func_show_eval_locale () { $debug_cmd _G_cmd=$1 _G_fail_exp=${2-':'} $opt_quiet || { func_quote_for_expand "$_G_cmd" eval "func_echo $func_quote_for_expand_result" } $opt_dry_run || { eval "$_G_user_locale $_G_cmd" _G_status=$? eval "$_G_safe_locale" if test 0 -ne "$_G_status"; then eval "(exit $_G_status); $_G_fail_exp" fi } } # func_tr_sh # ---------- # Turn $1 into a string suitable for a shell variable name. # Result is stored in $func_tr_sh_result. All characters # not in the set a-zA-Z0-9_ are replaced with '_'. Further, # if $1 begins with a digit, a '_' is prepended as well. func_tr_sh () { $debug_cmd case $1 in [0-9]* | *[!a-zA-Z0-9_]*) func_tr_sh_result=`$ECHO "$1" | $SED -e 's/^\([0-9]\)/_\1/' -e 's/[^a-zA-Z0-9_]/_/g'` ;; * ) func_tr_sh_result=$1 ;; esac } # func_verbose ARG... # ------------------- # Echo program name prefixed message in verbose mode only. func_verbose () { $debug_cmd $opt_verbose && func_echo "$*" : } # func_warn_and_continue ARG... # ----------------------------- # Echo program name prefixed warning message to standard error. func_warn_and_continue () { $debug_cmd $require_term_colors func_echo_infix_1 "${tc_red}warning$tc_reset" "$*" >&2 } # func_warning CATEGORY ARG... # ---------------------------- # Echo program name prefixed warning message to standard error. Warning # messages can be filtered according to CATEGORY, where this function # elides messages where CATEGORY is not listed in the global variable # 'opt_warning_types'. func_warning () { $debug_cmd # CATEGORY must be in the warning_categories list! case " $warning_categories " in *" $1 "*) ;; *) func_internal_error "invalid warning category '$1'" ;; esac _G_category=$1 shift case " $opt_warning_types " in *" $_G_category "*) $warning_func ${1+"$@"} ;; esac } # func_sort_ver VER1 VER2 # ----------------------- # 'sort -V' is not generally available. # Note this deviates from the version comparison in automake # in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a # but this should suffice as we won't be specifying old # version formats or redundant trailing .0 in bootstrap.conf. # If we did want full compatibility then we should probably # use m4_version_compare from autoconf. func_sort_ver () { $debug_cmd printf '%s\n%s\n' "$1" "$2" \ | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n -k 5,5n -k 6,6n -k 7,7n -k 8,8n -k 9,9n } # func_lt_ver PREV CURR # --------------------- # Return true if PREV and CURR are in the correct order according to # func_sort_ver, otherwise false. Use it like this: # # func_lt_ver "$prev_ver" "$proposed_ver" || func_fatal_error "..." func_lt_ver () { $debug_cmd test "x$1" = x`func_sort_ver "$1" "$2" | $SED 1q` } # Local variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC" # time-stamp-time-zone: "UTC" # End: #! /bin/sh # Set a version string for this script. scriptversion=2014-01-07.03; # UTC # A portable, pluggable option parser for Bourne shell. # Written by Gary V. Vaughan, 2010 # Copyright (C) 2010-2015 Free Software Foundation, Inc. # This is free software; see the source for copying conditions. There is NO # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # Please report bugs or propose patches to gary@gnu.org. ## ------ ## ## Usage. ## ## ------ ## # This file is a library for parsing options in your shell scripts along # with assorted other useful supporting features that you can make use # of too. # # For the simplest scripts you might need only: # # #!/bin/sh # . relative/path/to/funclib.sh # . relative/path/to/options-parser # scriptversion=1.0 # func_options ${1+"$@"} # eval set dummy "$func_options_result"; shift # ...rest of your script... # # In order for the '--version' option to work, you will need to have a # suitably formatted comment like the one at the top of this file # starting with '# Written by ' and ending with '# warranty; '. # # For '-h' and '--help' to work, you will also need a one line # description of your script's purpose in a comment directly above the # '# Written by ' line, like the one at the top of this file. # # The default options also support '--debug', which will turn on shell # execution tracing (see the comment above debug_cmd below for another # use), and '--verbose' and the func_verbose function to allow your script # to display verbose messages only when your user has specified # '--verbose'. # # After sourcing this file, you can plug processing for additional # options by amending the variables from the 'Configuration' section # below, and following the instructions in the 'Option parsing' # section further down. ## -------------- ## ## Configuration. ## ## -------------- ## # You should override these variables in your script after sourcing this # file so that they reflect the customisations you have added to the # option parser. # The usage line for option parsing errors and the start of '-h' and # '--help' output messages. You can embed shell variables for delayed # expansion at the time the message is displayed, but you will need to # quote other shell meta-characters carefully to prevent them being # expanded when the contents are evaled. usage='$progpath [OPTION]...' # Short help message in response to '-h' and '--help'. Add to this or # override it after sourcing this library to reflect the full set of # options your script accepts. usage_message="\ --debug enable verbose shell tracing -W, --warnings=CATEGORY report the warnings falling in CATEGORY [all] -v, --verbose verbosely report processing --version print version information and exit -h, --help print short or long help message and exit " # Additional text appended to 'usage_message' in response to '--help'. long_help_message=" Warning categories include: 'all' show all warnings 'none' turn off all the warnings 'error' warnings are treated as fatal errors" # Help message printed before fatal option parsing errors. fatal_help="Try '\$progname --help' for more information." ## ------------------------- ## ## Hook function management. ## ## ------------------------- ## # This section contains functions for adding, removing, and running hooks # to the main code. A hook is just a named list of of function, that can # be run in order later on. # func_hookable FUNC_NAME # ----------------------- # Declare that FUNC_NAME will run hooks added with # 'func_add_hook FUNC_NAME ...'. func_hookable () { $debug_cmd func_append hookable_fns " $1" } # func_add_hook FUNC_NAME HOOK_FUNC # --------------------------------- # Request that FUNC_NAME call HOOK_FUNC before it returns. FUNC_NAME must # first have been declared "hookable" by a call to 'func_hookable'. func_add_hook () { $debug_cmd case " $hookable_fns " in *" $1 "*) ;; *) func_fatal_error "'$1' does not accept hook functions." ;; esac eval func_append ${1}_hooks '" $2"' } # func_remove_hook FUNC_NAME HOOK_FUNC # ------------------------------------ # Remove HOOK_FUNC from the list of functions called by FUNC_NAME. func_remove_hook () { $debug_cmd eval ${1}_hooks='`$ECHO "\$'$1'_hooks" |$SED "s| '$2'||"`' } # func_run_hooks FUNC_NAME [ARG]... # --------------------------------- # Run all hook functions registered to FUNC_NAME. # It is assumed that the list of hook functions contains nothing more # than a whitespace-delimited list of legal shell function names, and # no effort is wasted trying to catch shell meta-characters or preserve # whitespace. func_run_hooks () { $debug_cmd case " $hookable_fns " in *" $1 "*) ;; *) func_fatal_error "'$1' does not support hook funcions.n" ;; esac eval _G_hook_fns=\$$1_hooks; shift for _G_hook in $_G_hook_fns; do eval $_G_hook '"$@"' # store returned options list back into positional # parameters for next 'cmd' execution. eval _G_hook_result=\$${_G_hook}_result eval set dummy "$_G_hook_result"; shift done func_quote_for_eval ${1+"$@"} func_run_hooks_result=$func_quote_for_eval_result } ## --------------- ## ## Option parsing. ## ## --------------- ## # In order to add your own option parsing hooks, you must accept the # full positional parameter list in your hook function, remove any # options that you action, and then pass back the remaining unprocessed # options in '_result', escaped suitably for # 'eval'. Like this: # # my_options_prep () # { # $debug_cmd # # # Extend the existing usage message. # usage_message=$usage_message' # -s, --silent don'\''t print informational messages # ' # # func_quote_for_eval ${1+"$@"} # my_options_prep_result=$func_quote_for_eval_result # } # func_add_hook func_options_prep my_options_prep # # # my_silent_option () # { # $debug_cmd # # # Note that for efficiency, we parse as many options as we can # # recognise in a loop before passing the remainder back to the # # caller on the first unrecognised argument we encounter. # while test $# -gt 0; do # opt=$1; shift # case $opt in # --silent|-s) opt_silent=: ;; # # Separate non-argument short options: # -s*) func_split_short_opt "$_G_opt" # set dummy "$func_split_short_opt_name" \ # "-$func_split_short_opt_arg" ${1+"$@"} # shift # ;; # *) set dummy "$_G_opt" "$*"; shift; break ;; # esac # done # # func_quote_for_eval ${1+"$@"} # my_silent_option_result=$func_quote_for_eval_result # } # func_add_hook func_parse_options my_silent_option # # # my_option_validation () # { # $debug_cmd # # $opt_silent && $opt_verbose && func_fatal_help "\ # '--silent' and '--verbose' options are mutually exclusive." # # func_quote_for_eval ${1+"$@"} # my_option_validation_result=$func_quote_for_eval_result # } # func_add_hook func_validate_options my_option_validation # # You'll alse need to manually amend $usage_message to reflect the extra # options you parse. It's preferable to append if you can, so that # multiple option parsing hooks can be added safely. # func_options [ARG]... # --------------------- # All the functions called inside func_options are hookable. See the # individual implementations for details. func_hookable func_options func_options () { $debug_cmd func_options_prep ${1+"$@"} eval func_parse_options \ ${func_options_prep_result+"$func_options_prep_result"} eval func_validate_options \ ${func_parse_options_result+"$func_parse_options_result"} eval func_run_hooks func_options \ ${func_validate_options_result+"$func_validate_options_result"} # save modified positional parameters for caller func_options_result=$func_run_hooks_result } # func_options_prep [ARG]... # -------------------------- # All initialisations required before starting the option parse loop. # Note that when calling hook functions, we pass through the list of # positional parameters. If a hook function modifies that list, and # needs to propogate that back to rest of this script, then the complete # modified list must be put in 'func_run_hooks_result' before # returning. func_hookable func_options_prep func_options_prep () { $debug_cmd # Option defaults: opt_verbose=false opt_warning_types= func_run_hooks func_options_prep ${1+"$@"} # save modified positional parameters for caller func_options_prep_result=$func_run_hooks_result } # func_parse_options [ARG]... # --------------------------- # The main option parsing loop. func_hookable func_parse_options func_parse_options () { $debug_cmd func_parse_options_result= # this just eases exit handling while test $# -gt 0; do # Defer to hook functions for initial option parsing, so they # get priority in the event of reusing an option name. func_run_hooks func_parse_options ${1+"$@"} # Adjust func_parse_options positional parameters to match eval set dummy "$func_run_hooks_result"; shift # Break out of the loop if we already parsed every option. test $# -gt 0 || break _G_opt=$1 shift case $_G_opt in --debug|-x) debug_cmd='set -x' func_echo "enabling shell trace mode" $debug_cmd ;; --no-warnings|--no-warning|--no-warn) set dummy --warnings none ${1+"$@"} shift ;; --warnings|--warning|-W) test $# = 0 && func_missing_arg $_G_opt && break case " $warning_categories $1" in *" $1 "*) # trailing space prevents matching last $1 above func_append_uniq opt_warning_types " $1" ;; *all) opt_warning_types=$warning_categories ;; *none) opt_warning_types=none warning_func=: ;; *error) opt_warning_types=$warning_categories warning_func=func_fatal_error ;; *) func_fatal_error \ "unsupported warning category: '$1'" ;; esac shift ;; --verbose|-v) opt_verbose=: ;; --version) func_version ;; -\?|-h) func_usage ;; --help) func_help ;; # Separate optargs to long options (plugins may need this): --*=*) func_split_equals "$_G_opt" set dummy "$func_split_equals_lhs" \ "$func_split_equals_rhs" ${1+"$@"} shift ;; # Separate optargs to short options: -W*) func_split_short_opt "$_G_opt" set dummy "$func_split_short_opt_name" \ "$func_split_short_opt_arg" ${1+"$@"} shift ;; # Separate non-argument short options: -\?*|-h*|-v*|-x*) func_split_short_opt "$_G_opt" set dummy "$func_split_short_opt_name" \ "-$func_split_short_opt_arg" ${1+"$@"} shift ;; --) break ;; -*) func_fatal_help "unrecognised option: '$_G_opt'" ;; *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;; esac done # save modified positional parameters for caller func_quote_for_eval ${1+"$@"} func_parse_options_result=$func_quote_for_eval_result } # func_validate_options [ARG]... # ------------------------------ # Perform any sanity checks on option settings and/or unconsumed # arguments. func_hookable func_validate_options func_validate_options () { $debug_cmd # Display all warnings if -W was not given. test -n "$opt_warning_types" || opt_warning_types=" $warning_categories" func_run_hooks func_validate_options ${1+"$@"} # Bail if the options were screwed! $exit_cmd $EXIT_FAILURE # save modified positional parameters for caller func_validate_options_result=$func_run_hooks_result } ## ----------------- ## ## Helper functions. ## ## ----------------- ## # This section contains the helper functions used by the rest of the # hookable option parser framework in ascii-betical order. # func_fatal_help ARG... # ---------------------- # Echo program name prefixed message to standard error, followed by # a help hint, and exit. func_fatal_help () { $debug_cmd eval \$ECHO \""Usage: $usage"\" eval \$ECHO \""$fatal_help"\" func_error ${1+"$@"} exit $EXIT_FAILURE } # func_help # --------- # Echo long help message to standard output and exit. func_help () { $debug_cmd func_usage_message $ECHO "$long_help_message" exit 0 } # func_missing_arg ARGNAME # ------------------------ # Echo program name prefixed message to standard error and set global # exit_cmd. func_missing_arg () { $debug_cmd func_error "Missing argument for '$1'." exit_cmd=exit } # func_split_equals STRING # ------------------------ # Set func_split_equals_lhs and func_split_equals_rhs shell variables after # splitting STRING at the '=' sign. test -z "$_G_HAVE_XSI_OPS" \ && (eval 'x=a/b/c; test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ && _G_HAVE_XSI_OPS=yes if test yes = "$_G_HAVE_XSI_OPS" then # This is an XSI compatible shell, allowing a faster implementation... eval 'func_split_equals () { $debug_cmd func_split_equals_lhs=${1%%=*} func_split_equals_rhs=${1#*=} test "x$func_split_equals_lhs" = "x$1" \ && func_split_equals_rhs= }' else # ...otherwise fall back to using expr, which is often a shell builtin. func_split_equals () { $debug_cmd func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'` func_split_equals_rhs= test "x$func_split_equals_lhs" = "x$1" \ || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'` } fi #func_split_equals # func_split_short_opt SHORTOPT # ----------------------------- # Set func_split_short_opt_name and func_split_short_opt_arg shell # variables after splitting SHORTOPT after the 2nd character. if test yes = "$_G_HAVE_XSI_OPS" then # This is an XSI compatible shell, allowing a faster implementation... eval 'func_split_short_opt () { $debug_cmd func_split_short_opt_arg=${1#??} func_split_short_opt_name=${1%"$func_split_short_opt_arg"} }' else # ...otherwise fall back to using expr, which is often a shell builtin. func_split_short_opt () { $debug_cmd func_split_short_opt_name=`expr "x$1" : 'x-\(.\)'` func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'` } fi #func_split_short_opt # func_usage # ---------- # Echo short help message to standard output and exit. func_usage () { $debug_cmd func_usage_message $ECHO "Run '$progname --help |${PAGER-more}' for full usage" exit 0 } # func_usage_message # ------------------ # Echo short help message to standard output. func_usage_message () { $debug_cmd eval \$ECHO \""Usage: $usage"\" echo $SED -n 's|^# || /^Written by/{ x;p;x } h /^Written by/q' < "$progpath" echo eval \$ECHO \""$usage_message"\" } # func_version # ------------ # Echo version message to standard output and exit. func_version () { $debug_cmd printf '%s\n' "$progname $scriptversion" $SED -n ' /(C)/!b go :more /\./!{ N s|\n# | | b more } :go /^# Written by /,/# warranty; / { s|^# || s|^# *$|| s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2| p } /^# Written by / { s|^# || p } /^warranty; /q' < "$progpath" exit $? } # Local variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC" # time-stamp-time-zone: "UTC" # End: # Set a version string. scriptversion='(GNU libtool) 2.4.6' # func_echo ARG... # ---------------- # Libtool also displays the current mode in messages, so override # funclib.sh func_echo with this custom definition. func_echo () { $debug_cmd _G_message=$* func_echo_IFS=$IFS IFS=$nl for _G_line in $_G_message; do IFS=$func_echo_IFS $ECHO "$progname${opt_mode+: $opt_mode}: $_G_line" done IFS=$func_echo_IFS } # func_warning ARG... # ------------------- # Libtool warnings are not categorized, so override funclib.sh # func_warning with this simpler definition. func_warning () { $debug_cmd $warning_func ${1+"$@"} } ## ---------------- ## ## Options parsing. ## ## ---------------- ## # Hook in the functions to make sure our own options are parsed during # the option parsing loop. usage='$progpath [OPTION]... [MODE-ARG]...' # Short help message in response to '-h'. usage_message="Options: --config show all configuration variables --debug enable verbose shell tracing -n, --dry-run display commands without modifying any files --features display basic configuration information and exit --mode=MODE use operation mode MODE --no-warnings equivalent to '-Wnone' --preserve-dup-deps don't remove duplicate dependency libraries --quiet, --silent don't print informational messages --tag=TAG use configuration variables from tag TAG -v, --verbose print more informational messages than default --version print version information -W, --warnings=CATEGORY report the warnings falling in CATEGORY [all] -h, --help, --help-all print short, long, or detailed help message " # Additional text appended to 'usage_message' in response to '--help'. func_help () { $debug_cmd func_usage_message $ECHO "$long_help_message MODE must be one of the following: clean remove files from the build directory compile compile a source file into a libtool object execute automatically set library path, then run a program finish complete the installation of libtool libraries install install libraries or executables link create a library or an executable uninstall remove libraries from an installed directory MODE-ARGS vary depending on the MODE. When passed as first option, '--mode=MODE' may be abbreviated as 'MODE' or a unique abbreviation of that. Try '$progname --help --mode=MODE' for a more detailed description of MODE. When reporting a bug, please describe a test case to reproduce it and include the following information: host-triplet: $host shell: $SHELL compiler: $LTCC compiler flags: $LTCFLAGS linker: $LD (gnu? $with_gnu_ld) version: $progname $scriptversion Debian-2.4.6-2 automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` Report bugs to . GNU libtool home page: . General help using GNU software: ." exit 0 } # func_lo2o OBJECT-NAME # --------------------- # Transform OBJECT-NAME from a '.lo' suffix to the platform specific # object suffix. lo2o=s/\\.lo\$/.$objext/ o2lo=s/\\.$objext\$/.lo/ if test yes = "$_G_HAVE_XSI_OPS"; then eval 'func_lo2o () { case $1 in *.lo) func_lo2o_result=${1%.lo}.$objext ;; * ) func_lo2o_result=$1 ;; esac }' # func_xform LIBOBJ-OR-SOURCE # --------------------------- # Transform LIBOBJ-OR-SOURCE from a '.o' or '.c' (or otherwise) # suffix to a '.lo' libtool-object suffix. eval 'func_xform () { func_xform_result=${1%.*}.lo }' else # ...otherwise fall back to using sed. func_lo2o () { func_lo2o_result=`$ECHO "$1" | $SED "$lo2o"` } func_xform () { func_xform_result=`$ECHO "$1" | $SED 's|\.[^.]*$|.lo|'` } fi # func_fatal_configuration ARG... # ------------------------------- # Echo program name prefixed message to standard error, followed by # a configuration failure hint, and exit. func_fatal_configuration () { func__fatal_error ${1+"$@"} \ "See the $PACKAGE documentation for more information." \ "Fatal configuration error." } # func_config # ----------- # Display the configuration for all the tags in this script. func_config () { re_begincf='^# ### BEGIN LIBTOOL' re_endcf='^# ### END LIBTOOL' # Default configuration. $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath" # Now print the configurations for the tags. for tagname in $taglist; do $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath" done exit $? } # func_features # ------------- # Display the features supported by this script. func_features () { echo "host: $host" if test yes = "$build_libtool_libs"; then echo "enable shared libraries" else echo "disable shared libraries" fi if test yes = "$build_old_libs"; then echo "enable static libraries" else echo "disable static libraries" fi exit $? } # func_enable_tag TAGNAME # ----------------------- # Verify that TAGNAME is valid, and either flag an error and exit, or # enable the TAGNAME tag. We also add TAGNAME to the global $taglist # variable here. func_enable_tag () { # Global variable: tagname=$1 re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$" re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$" sed_extractcf=/$re_begincf/,/$re_endcf/p # Validate tagname. case $tagname in *[!-_A-Za-z0-9,/]*) func_fatal_error "invalid tag name: $tagname" ;; esac # Don't test for the "default" C tag, as we know it's # there but not specially marked. case $tagname in CC) ;; *) if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then taglist="$taglist $tagname" # Evaluate the configuration. Be careful to quote the path # and the sed script, to avoid splitting on whitespace, but # also don't use non-portable quotes within backquotes within # quotes we have to do it in 2 steps: extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` eval "$extractedcf" else func_error "ignoring unknown tag $tagname" fi ;; esac } # func_check_version_match # ------------------------ # Ensure that we are using m4 macros, and libtool script from the same # release of libtool. func_check_version_match () { if test "$package_revision" != "$macro_revision"; then if test "$VERSION" != "$macro_version"; then if test -z "$macro_version"; then cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, but the $progname: definition of this LT_INIT comes from an older release. $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION $progname: and run autoconf again. _LT_EOF else cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, but the $progname: definition of this LT_INIT comes from $PACKAGE $macro_version. $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION $progname: and run autoconf again. _LT_EOF fi else cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, $progname: but the definition of this LT_INIT comes from revision $macro_revision. $progname: You should recreate aclocal.m4 with macros from revision $package_revision $progname: of $PACKAGE $VERSION and run autoconf again. _LT_EOF fi exit $EXIT_MISMATCH fi } # libtool_options_prep [ARG]... # ----------------------------- # Preparation for options parsed by libtool. libtool_options_prep () { $debug_mode # Option defaults: opt_config=false opt_dlopen= opt_dry_run=false opt_help=false opt_mode= opt_preserve_dup_deps=false opt_quiet=false nonopt= preserve_args= # Shorthand for --mode=foo, only valid as the first argument case $1 in clean|clea|cle|cl) shift; set dummy --mode clean ${1+"$@"}; shift ;; compile|compil|compi|comp|com|co|c) shift; set dummy --mode compile ${1+"$@"}; shift ;; execute|execut|execu|exec|exe|ex|e) shift; set dummy --mode execute ${1+"$@"}; shift ;; finish|finis|fini|fin|fi|f) shift; set dummy --mode finish ${1+"$@"}; shift ;; install|instal|insta|inst|ins|in|i) shift; set dummy --mode install ${1+"$@"}; shift ;; link|lin|li|l) shift; set dummy --mode link ${1+"$@"}; shift ;; uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) shift; set dummy --mode uninstall ${1+"$@"}; shift ;; esac # Pass back the list of options. func_quote_for_eval ${1+"$@"} libtool_options_prep_result=$func_quote_for_eval_result } func_add_hook func_options_prep libtool_options_prep # libtool_parse_options [ARG]... # --------------------------------- # Provide handling for libtool specific options. libtool_parse_options () { $debug_cmd # Perform our own loop to consume as many options as possible in # each iteration. while test $# -gt 0; do _G_opt=$1 shift case $_G_opt in --dry-run|--dryrun|-n) opt_dry_run=: ;; --config) func_config ;; --dlopen|-dlopen) opt_dlopen="${opt_dlopen+$opt_dlopen }$1" shift ;; --preserve-dup-deps) opt_preserve_dup_deps=: ;; --features) func_features ;; --finish) set dummy --mode finish ${1+"$@"}; shift ;; --help) opt_help=: ;; --help-all) opt_help=': help-all' ;; --mode) test $# = 0 && func_missing_arg $_G_opt && break opt_mode=$1 case $1 in # Valid mode arguments: clean|compile|execute|finish|install|link|relink|uninstall) ;; # Catch anything else as an error *) func_error "invalid argument for $_G_opt" exit_cmd=exit break ;; esac shift ;; --no-silent|--no-quiet) opt_quiet=false func_append preserve_args " $_G_opt" ;; --no-warnings|--no-warning|--no-warn) opt_warning=false func_append preserve_args " $_G_opt" ;; --no-verbose) opt_verbose=false func_append preserve_args " $_G_opt" ;; --silent|--quiet) opt_quiet=: opt_verbose=false func_append preserve_args " $_G_opt" ;; --tag) test $# = 0 && func_missing_arg $_G_opt && break opt_tag=$1 func_append preserve_args " $_G_opt $1" func_enable_tag "$1" shift ;; --verbose|-v) opt_quiet=false opt_verbose=: func_append preserve_args " $_G_opt" ;; # An option not handled by this hook function: *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;; esac done # save modified positional parameters for caller func_quote_for_eval ${1+"$@"} libtool_parse_options_result=$func_quote_for_eval_result } func_add_hook func_parse_options libtool_parse_options # libtool_validate_options [ARG]... # --------------------------------- # Perform any sanity checks on option settings and/or unconsumed # arguments. libtool_validate_options () { # save first non-option argument if test 0 -lt $#; then nonopt=$1 shift fi # preserve --debug test : = "$debug_cmd" || func_append preserve_args " --debug" case $host in # Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452 # see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788 *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*) # don't eliminate duplications in $postdeps and $predeps opt_duplicate_compiler_generated_deps=: ;; *) opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps ;; esac $opt_help || { # Sanity checks first: func_check_version_match test yes != "$build_libtool_libs" \ && test yes != "$build_old_libs" \ && func_fatal_configuration "not configured to build any kind of library" # Darwin sucks eval std_shrext=\"$shrext_cmds\" # Only execute mode is allowed to have -dlopen flags. if test -n "$opt_dlopen" && test execute != "$opt_mode"; then func_error "unrecognized option '-dlopen'" $ECHO "$help" 1>&2 exit $EXIT_FAILURE fi # Change the help message to a mode-specific one. generic_help=$help help="Try '$progname --help --mode=$opt_mode' for more information." } # Pass back the unparsed argument list func_quote_for_eval ${1+"$@"} libtool_validate_options_result=$func_quote_for_eval_result } func_add_hook func_validate_options libtool_validate_options # Process options as early as possible so that --help and --version # can return quickly. func_options ${1+"$@"} eval set dummy "$func_options_result"; shift ## ----------- ## ## Main. ## ## ----------- ## magic='%%%MAGIC variable%%%' magic_exe='%%%MAGIC EXE variable%%%' # Global variables. extracted_archives= extracted_serial=0 # If this variable is set in any of the actions, the command in it # will be execed at the end. This prevents here-documents from being # left over by shells. exec_cmd= # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $1 _LTECHO_EOF' } # func_generated_by_libtool # True iff stdin has been generated by Libtool. This function is only # a basic sanity check; it will hardly flush out determined imposters. func_generated_by_libtool_p () { $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 } # func_lalib_p file # True iff FILE is a libtool '.la' library or '.lo' object file. # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_lalib_p () { test -f "$1" && $SED -e 4q "$1" 2>/dev/null | func_generated_by_libtool_p } # func_lalib_unsafe_p file # True iff FILE is a libtool '.la' library or '.lo' object file. # This function implements the same check as func_lalib_p without # resorting to external programs. To this end, it redirects stdin and # closes it afterwards, without saving the original file descriptor. # As a safety measure, use it only where a negative result would be # fatal anyway. Works if 'file' does not exist. func_lalib_unsafe_p () { lalib_p=no if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then for lalib_p_l in 1 2 3 4 do read lalib_p_line case $lalib_p_line in \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; esac done exec 0<&5 5<&- fi test yes = "$lalib_p" } # func_ltwrapper_script_p file # True iff FILE is a libtool wrapper script # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_ltwrapper_script_p () { test -f "$1" && $lt_truncate_bin < "$1" 2>/dev/null | func_generated_by_libtool_p } # func_ltwrapper_executable_p file # True iff FILE is a libtool wrapper executable # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_ltwrapper_executable_p () { func_ltwrapper_exec_suffix= case $1 in *.exe) ;; *) func_ltwrapper_exec_suffix=.exe ;; esac $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 } # func_ltwrapper_scriptname file # Assumes file is an ltwrapper_executable # uses $file to determine the appropriate filename for a # temporary ltwrapper_script. func_ltwrapper_scriptname () { func_dirname_and_basename "$1" "" "." func_stripname '' '.exe' "$func_basename_result" func_ltwrapper_scriptname_result=$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper } # func_ltwrapper_p file # True iff FILE is a libtool wrapper script or wrapper executable # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_ltwrapper_p () { func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" } # func_execute_cmds commands fail_cmd # Execute tilde-delimited COMMANDS. # If FAIL_CMD is given, eval that upon failure. # FAIL_CMD may read-access the current command in variable CMD! func_execute_cmds () { $debug_cmd save_ifs=$IFS; IFS='~' for cmd in $1; do IFS=$sp$nl eval cmd=\"$cmd\" IFS=$save_ifs func_show_eval "$cmd" "${2-:}" done IFS=$save_ifs } # func_source file # Source FILE, adding directory component if necessary. # Note that it is not necessary on cygwin/mingw to append a dot to # FILE even if both FILE and FILE.exe exist: automatic-append-.exe # behavior happens only for exec(3), not for open(2)! Also, sourcing # 'FILE.' does not work on cygwin managed mounts. func_source () { $debug_cmd case $1 in */* | *\\*) . "$1" ;; *) . "./$1" ;; esac } # func_resolve_sysroot PATH # Replace a leading = in PATH with a sysroot. Store the result into # func_resolve_sysroot_result func_resolve_sysroot () { func_resolve_sysroot_result=$1 case $func_resolve_sysroot_result in =*) func_stripname '=' '' "$func_resolve_sysroot_result" func_resolve_sysroot_result=$lt_sysroot$func_stripname_result ;; esac } # func_replace_sysroot PATH # If PATH begins with the sysroot, replace it with = and # store the result into func_replace_sysroot_result. func_replace_sysroot () { case $lt_sysroot:$1 in ?*:"$lt_sysroot"*) func_stripname "$lt_sysroot" '' "$1" func_replace_sysroot_result='='$func_stripname_result ;; *) # Including no sysroot. func_replace_sysroot_result=$1 ;; esac } # func_infer_tag arg # Infer tagged configuration to use if any are available and # if one wasn't chosen via the "--tag" command line option. # Only attempt this if the compiler in the base compile # command doesn't match the default compiler. # arg is usually of the form 'gcc ...' func_infer_tag () { $debug_cmd if test -n "$available_tags" && test -z "$tagname"; then CC_quoted= for arg in $CC; do func_append_quoted CC_quoted "$arg" done CC_expanded=`func_echo_all $CC` CC_quoted_expanded=`func_echo_all $CC_quoted` case $@ in # Blanks in the command may have been stripped by the calling shell, # but not from the CC environment variable when configure was run. " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;; # Blanks at the start of $base_compile will cause this to fail # if we don't check for them as well. *) for z in $available_tags; do if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then # Evaluate the configuration. eval "`$SED -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" CC_quoted= for arg in $CC; do # Double-quote args containing other shell metacharacters. func_append_quoted CC_quoted "$arg" done CC_expanded=`func_echo_all $CC` CC_quoted_expanded=`func_echo_all $CC_quoted` case "$@ " in " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) # The compiler in the base compile command matches # the one in the tagged configuration. # Assume this is the tagged configuration we want. tagname=$z break ;; esac fi done # If $tagname still isn't set, then no tagged configuration # was found and let the user know that the "--tag" command # line option must be used. if test -z "$tagname"; then func_echo "unable to infer tagged configuration" func_fatal_error "specify a tag with '--tag'" # else # func_verbose "using $tagname tagged configuration" fi ;; esac fi } # func_write_libtool_object output_name pic_name nonpic_name # Create a libtool object file (analogous to a ".la" file), # but don't create it if we're doing a dry run. func_write_libtool_object () { write_libobj=$1 if test yes = "$build_libtool_libs"; then write_lobj=\'$2\' else write_lobj=none fi if test yes = "$build_old_libs"; then write_oldobj=\'$3\' else write_oldobj=none fi $opt_dry_run || { cat >${write_libobj}T </dev/null` if test "$?" -eq 0 && test -n "$func_convert_core_file_wine_to_w32_tmp"; then func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" | $SED -e "$sed_naive_backslashify"` else func_convert_core_file_wine_to_w32_result= fi fi } # end: func_convert_core_file_wine_to_w32 # func_convert_core_path_wine_to_w32 ARG # Helper function used by path conversion functions when $build is *nix, and # $host is mingw, cygwin, or some other w32 environment. Relies on a correctly # configured wine environment available, with the winepath program in $build's # $PATH. Assumes ARG has no leading or trailing path separator characters. # # ARG is path to be converted from $build format to win32. # Result is available in $func_convert_core_path_wine_to_w32_result. # Unconvertible file (directory) names in ARG are skipped; if no directory names # are convertible, then the result may be empty. func_convert_core_path_wine_to_w32 () { $debug_cmd # unfortunately, winepath doesn't convert paths, only file names func_convert_core_path_wine_to_w32_result= if test -n "$1"; then oldIFS=$IFS IFS=: for func_convert_core_path_wine_to_w32_f in $1; do IFS=$oldIFS func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f" if test -n "$func_convert_core_file_wine_to_w32_result"; then if test -z "$func_convert_core_path_wine_to_w32_result"; then func_convert_core_path_wine_to_w32_result=$func_convert_core_file_wine_to_w32_result else func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result" fi fi done IFS=$oldIFS fi } # end: func_convert_core_path_wine_to_w32 # func_cygpath ARGS... # Wrapper around calling the cygpath program via LT_CYGPATH. This is used when # when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2) # $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or # (2), returns the Cygwin file name or path in func_cygpath_result (input # file name or path is assumed to be in w32 format, as previously converted # from $build's *nix or MSYS format). In case (3), returns the w32 file name # or path in func_cygpath_result (input file name or path is assumed to be in # Cygwin format). Returns an empty string on error. # # ARGS are passed to cygpath, with the last one being the file name or path to # be converted. # # Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH # environment variable; do not put it in $PATH. func_cygpath () { $debug_cmd if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null` if test "$?" -ne 0; then # on failure, ensure result is empty func_cygpath_result= fi else func_cygpath_result= func_error "LT_CYGPATH is empty or specifies non-existent file: '$LT_CYGPATH'" fi } #end: func_cygpath # func_convert_core_msys_to_w32 ARG # Convert file name or path ARG from MSYS format to w32 format. Return # result in func_convert_core_msys_to_w32_result. func_convert_core_msys_to_w32 () { $debug_cmd # awkward: cmd appends spaces to result func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null | $SED -e 's/[ ]*$//' -e "$sed_naive_backslashify"` } #end: func_convert_core_msys_to_w32 # func_convert_file_check ARG1 ARG2 # Verify that ARG1 (a file name in $build format) was converted to $host # format in ARG2. Otherwise, emit an error message, but continue (resetting # func_to_host_file_result to ARG1). func_convert_file_check () { $debug_cmd if test -z "$2" && test -n "$1"; then func_error "Could not determine host file name corresponding to" func_error " '$1'" func_error "Continuing, but uninstalled executables may not work." # Fallback: func_to_host_file_result=$1 fi } # end func_convert_file_check # func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH # Verify that FROM_PATH (a path in $build format) was converted to $host # format in TO_PATH. Otherwise, emit an error message, but continue, resetting # func_to_host_file_result to a simplistic fallback value (see below). func_convert_path_check () { $debug_cmd if test -z "$4" && test -n "$3"; then func_error "Could not determine the host path corresponding to" func_error " '$3'" func_error "Continuing, but uninstalled executables may not work." # Fallback. This is a deliberately simplistic "conversion" and # should not be "improved". See libtool.info. if test "x$1" != "x$2"; then lt_replace_pathsep_chars="s|$1|$2|g" func_to_host_path_result=`echo "$3" | $SED -e "$lt_replace_pathsep_chars"` else func_to_host_path_result=$3 fi fi } # end func_convert_path_check # func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG # Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT # and appending REPL if ORIG matches BACKPAT. func_convert_path_front_back_pathsep () { $debug_cmd case $4 in $1 ) func_to_host_path_result=$3$func_to_host_path_result ;; esac case $4 in $2 ) func_append func_to_host_path_result "$3" ;; esac } # end func_convert_path_front_back_pathsep ################################################## # $build to $host FILE NAME CONVERSION FUNCTIONS # ################################################## # invoked via '$to_host_file_cmd ARG' # # In each case, ARG is the path to be converted from $build to $host format. # Result will be available in $func_to_host_file_result. # func_to_host_file ARG # Converts the file name ARG from $build format to $host format. Return result # in func_to_host_file_result. func_to_host_file () { $debug_cmd $to_host_file_cmd "$1" } # end func_to_host_file # func_to_tool_file ARG LAZY # converts the file name ARG from $build format to toolchain format. Return # result in func_to_tool_file_result. If the conversion in use is listed # in (the comma separated) LAZY, no conversion takes place. func_to_tool_file () { $debug_cmd case ,$2, in *,"$to_tool_file_cmd",*) func_to_tool_file_result=$1 ;; *) $to_tool_file_cmd "$1" func_to_tool_file_result=$func_to_host_file_result ;; esac } # end func_to_tool_file # func_convert_file_noop ARG # Copy ARG to func_to_host_file_result. func_convert_file_noop () { func_to_host_file_result=$1 } # end func_convert_file_noop # func_convert_file_msys_to_w32 ARG # Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic # conversion to w32 is not available inside the cwrapper. Returns result in # func_to_host_file_result. func_convert_file_msys_to_w32 () { $debug_cmd func_to_host_file_result=$1 if test -n "$1"; then func_convert_core_msys_to_w32 "$1" func_to_host_file_result=$func_convert_core_msys_to_w32_result fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_msys_to_w32 # func_convert_file_cygwin_to_w32 ARG # Convert file name ARG from Cygwin to w32 format. Returns result in # func_to_host_file_result. func_convert_file_cygwin_to_w32 () { $debug_cmd func_to_host_file_result=$1 if test -n "$1"; then # because $build is cygwin, we call "the" cygpath in $PATH; no need to use # LT_CYGPATH in this case. func_to_host_file_result=`cygpath -m "$1"` fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_cygwin_to_w32 # func_convert_file_nix_to_w32 ARG # Convert file name ARG from *nix to w32 format. Requires a wine environment # and a working winepath. Returns result in func_to_host_file_result. func_convert_file_nix_to_w32 () { $debug_cmd func_to_host_file_result=$1 if test -n "$1"; then func_convert_core_file_wine_to_w32 "$1" func_to_host_file_result=$func_convert_core_file_wine_to_w32_result fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_nix_to_w32 # func_convert_file_msys_to_cygwin ARG # Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. # Returns result in func_to_host_file_result. func_convert_file_msys_to_cygwin () { $debug_cmd func_to_host_file_result=$1 if test -n "$1"; then func_convert_core_msys_to_w32 "$1" func_cygpath -u "$func_convert_core_msys_to_w32_result" func_to_host_file_result=$func_cygpath_result fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_msys_to_cygwin # func_convert_file_nix_to_cygwin ARG # Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed # in a wine environment, working winepath, and LT_CYGPATH set. Returns result # in func_to_host_file_result. func_convert_file_nix_to_cygwin () { $debug_cmd func_to_host_file_result=$1 if test -n "$1"; then # convert from *nix to w32, then use cygpath to convert from w32 to cygwin. func_convert_core_file_wine_to_w32 "$1" func_cygpath -u "$func_convert_core_file_wine_to_w32_result" func_to_host_file_result=$func_cygpath_result fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_nix_to_cygwin ############################################# # $build to $host PATH CONVERSION FUNCTIONS # ############################################# # invoked via '$to_host_path_cmd ARG' # # In each case, ARG is the path to be converted from $build to $host format. # The result will be available in $func_to_host_path_result. # # Path separators are also converted from $build format to $host format. If # ARG begins or ends with a path separator character, it is preserved (but # converted to $host format) on output. # # All path conversion functions are named using the following convention: # file name conversion function : func_convert_file_X_to_Y () # path conversion function : func_convert_path_X_to_Y () # where, for any given $build/$host combination the 'X_to_Y' value is the # same. If conversion functions are added for new $build/$host combinations, # the two new functions must follow this pattern, or func_init_to_host_path_cmd # will break. # func_init_to_host_path_cmd # Ensures that function "pointer" variable $to_host_path_cmd is set to the # appropriate value, based on the value of $to_host_file_cmd. to_host_path_cmd= func_init_to_host_path_cmd () { $debug_cmd if test -z "$to_host_path_cmd"; then func_stripname 'func_convert_file_' '' "$to_host_file_cmd" to_host_path_cmd=func_convert_path_$func_stripname_result fi } # func_to_host_path ARG # Converts the path ARG from $build format to $host format. Return result # in func_to_host_path_result. func_to_host_path () { $debug_cmd func_init_to_host_path_cmd $to_host_path_cmd "$1" } # end func_to_host_path # func_convert_path_noop ARG # Copy ARG to func_to_host_path_result. func_convert_path_noop () { func_to_host_path_result=$1 } # end func_convert_path_noop # func_convert_path_msys_to_w32 ARG # Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic # conversion to w32 is not available inside the cwrapper. Returns result in # func_to_host_path_result. func_convert_path_msys_to_w32 () { $debug_cmd func_to_host_path_result=$1 if test -n "$1"; then # Remove leading and trailing path separator characters from ARG. MSYS # behavior is inconsistent here; cygpath turns them into '.;' and ';.'; # and winepath ignores them completely. func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" func_to_host_path_result=$func_convert_core_msys_to_w32_result func_convert_path_check : ";" \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" fi } # end func_convert_path_msys_to_w32 # func_convert_path_cygwin_to_w32 ARG # Convert path ARG from Cygwin to w32 format. Returns result in # func_to_host_file_result. func_convert_path_cygwin_to_w32 () { $debug_cmd func_to_host_path_result=$1 if test -n "$1"; then # See func_convert_path_msys_to_w32: func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"` func_convert_path_check : ";" \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" fi } # end func_convert_path_cygwin_to_w32 # func_convert_path_nix_to_w32 ARG # Convert path ARG from *nix to w32 format. Requires a wine environment and # a working winepath. Returns result in func_to_host_file_result. func_convert_path_nix_to_w32 () { $debug_cmd func_to_host_path_result=$1 if test -n "$1"; then # See func_convert_path_msys_to_w32: func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" func_to_host_path_result=$func_convert_core_path_wine_to_w32_result func_convert_path_check : ";" \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" fi } # end func_convert_path_nix_to_w32 # func_convert_path_msys_to_cygwin ARG # Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. # Returns result in func_to_host_file_result. func_convert_path_msys_to_cygwin () { $debug_cmd func_to_host_path_result=$1 if test -n "$1"; then # See func_convert_path_msys_to_w32: func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" func_cygpath -u -p "$func_convert_core_msys_to_w32_result" func_to_host_path_result=$func_cygpath_result func_convert_path_check : : \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" : "$1" fi } # end func_convert_path_msys_to_cygwin # func_convert_path_nix_to_cygwin ARG # Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a # a wine environment, working winepath, and LT_CYGPATH set. Returns result in # func_to_host_file_result. func_convert_path_nix_to_cygwin () { $debug_cmd func_to_host_path_result=$1 if test -n "$1"; then # Remove leading and trailing path separator characters from # ARG. msys behavior is inconsistent here, cygpath turns them # into '.;' and ';.', and winepath ignores them completely. func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result" func_to_host_path_result=$func_cygpath_result func_convert_path_check : : \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" : "$1" fi } # end func_convert_path_nix_to_cygwin # func_dll_def_p FILE # True iff FILE is a Windows DLL '.def' file. # Keep in sync with _LT_DLL_DEF_P in libtool.m4 func_dll_def_p () { $debug_cmd func_dll_def_p_tmp=`$SED -n \ -e 's/^[ ]*//' \ -e '/^\(;.*\)*$/d' \ -e 's/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p' \ -e q \ "$1"` test DEF = "$func_dll_def_p_tmp" } # func_mode_compile arg... func_mode_compile () { $debug_cmd # Get the compilation command and the source file. base_compile= srcfile=$nonopt # always keep a non-empty value in "srcfile" suppress_opt=yes suppress_output= arg_mode=normal libobj= later= pie_flag= for arg do case $arg_mode in arg ) # do not "continue". Instead, add this to base_compile lastarg=$arg arg_mode=normal ;; target ) libobj=$arg arg_mode=normal continue ;; normal ) # Accept any command-line options. case $arg in -o) test -n "$libobj" && \ func_fatal_error "you cannot specify '-o' more than once" arg_mode=target continue ;; -pie | -fpie | -fPIE) func_append pie_flag " $arg" continue ;; -shared | -static | -prefer-pic | -prefer-non-pic) func_append later " $arg" continue ;; -no-suppress) suppress_opt=no continue ;; -Xcompiler) arg_mode=arg # the next one goes into the "base_compile" arg list continue # The current "srcfile" will either be retained or ;; # replaced later. I would guess that would be a bug. -Wc,*) func_stripname '-Wc,' '' "$arg" args=$func_stripname_result lastarg= save_ifs=$IFS; IFS=, for arg in $args; do IFS=$save_ifs func_append_quoted lastarg "$arg" done IFS=$save_ifs func_stripname ' ' '' "$lastarg" lastarg=$func_stripname_result # Add the arguments to base_compile. func_append base_compile " $lastarg" continue ;; *) # Accept the current argument as the source file. # The previous "srcfile" becomes the current argument. # lastarg=$srcfile srcfile=$arg ;; esac # case $arg ;; esac # case $arg_mode # Aesthetically quote the previous argument. func_append_quoted base_compile "$lastarg" done # for arg case $arg_mode in arg) func_fatal_error "you must specify an argument for -Xcompile" ;; target) func_fatal_error "you must specify a target with '-o'" ;; *) # Get the name of the library object. test -z "$libobj" && { func_basename "$srcfile" libobj=$func_basename_result } ;; esac # Recognize several different file suffixes. # If the user specifies -o file.o, it is replaced with file.lo case $libobj in *.[cCFSifmso] | \ *.ada | *.adb | *.ads | *.asm | \ *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \ *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup) func_xform "$libobj" libobj=$func_xform_result ;; esac case $libobj in *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;; *) func_fatal_error "cannot determine name of library object from '$libobj'" ;; esac func_infer_tag $base_compile for arg in $later; do case $arg in -shared) test yes = "$build_libtool_libs" \ || func_fatal_configuration "cannot build a shared library" build_old_libs=no continue ;; -static) build_libtool_libs=no build_old_libs=yes continue ;; -prefer-pic) pic_mode=yes continue ;; -prefer-non-pic) pic_mode=no continue ;; esac done func_quote_for_eval "$libobj" test "X$libobj" != "X$func_quote_for_eval_result" \ && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ && func_warning "libobj name '$libobj' may not contain shell special characters." func_dirname_and_basename "$obj" "/" "" objname=$func_basename_result xdir=$func_dirname_result lobj=$xdir$objdir/$objname test -z "$base_compile" && \ func_fatal_help "you must specify a compilation command" # Delete any leftover library objects. if test yes = "$build_old_libs"; then removelist="$obj $lobj $libobj ${libobj}T" else removelist="$lobj $libobj ${libobj}T" fi # On Cygwin there's no "real" PIC flag so we must build both object types case $host_os in cygwin* | mingw* | pw32* | os2* | cegcc*) pic_mode=default ;; esac if test no = "$pic_mode" && test pass_all != "$deplibs_check_method"; then # non-PIC code in shared libraries is not supported pic_mode=default fi # Calculate the filename of the output object if compiler does # not support -o with -c if test no = "$compiler_c_o"; then output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.$objext lockfile=$output_obj.lock else output_obj= need_locks=no lockfile= fi # Lock this critical section if it is needed # We use this script file to make the link, it avoids creating a new file if test yes = "$need_locks"; then until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do func_echo "Waiting for $lockfile to be removed" sleep 2 done elif test warn = "$need_locks"; then if test -f "$lockfile"; then $ECHO "\ *** ERROR, $lockfile exists and contains: `cat $lockfile 2>/dev/null` This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support '-c' and '-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi func_append removelist " $output_obj" $ECHO "$srcfile" > "$lockfile" fi $opt_dry_run || $RM $removelist func_append removelist " $lockfile" trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 func_to_tool_file "$srcfile" func_convert_file_msys_to_w32 srcfile=$func_to_tool_file_result func_quote_for_eval "$srcfile" qsrcfile=$func_quote_for_eval_result # Only build a PIC object if we are building libtool libraries. if test yes = "$build_libtool_libs"; then # Without this assignment, base_compile gets emptied. fbsd_hideous_sh_bug=$base_compile if test no != "$pic_mode"; then command="$base_compile $qsrcfile $pic_flag" else # Don't build PIC code command="$base_compile $qsrcfile" fi func_mkdir_p "$xdir$objdir" if test -z "$output_obj"; then # Place PIC objects in $objdir func_append command " -o $lobj" fi func_show_eval_locale "$command" \ 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' if test warn = "$need_locks" && test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then $ECHO "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` but it should contain: $srcfile This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support '-c' and '-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi # Just move the object if needed, then go on to compile the next one if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then func_show_eval '$MV "$output_obj" "$lobj"' \ 'error=$?; $opt_dry_run || $RM $removelist; exit $error' fi # Allow error messages only from the first compilation. if test yes = "$suppress_opt"; then suppress_output=' >/dev/null 2>&1' fi fi # Only build a position-dependent object if we build old libraries. if test yes = "$build_old_libs"; then if test yes != "$pic_mode"; then # Don't build PIC code command="$base_compile $qsrcfile$pie_flag" else command="$base_compile $qsrcfile $pic_flag" fi if test yes = "$compiler_c_o"; then func_append command " -o $obj" fi # Suppress compiler output if we already did a PIC compilation. func_append command "$suppress_output" func_show_eval_locale "$command" \ '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' if test warn = "$need_locks" && test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then $ECHO "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` but it should contain: $srcfile This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support '-c' and '-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi # Just move the object if needed if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then func_show_eval '$MV "$output_obj" "$obj"' \ 'error=$?; $opt_dry_run || $RM $removelist; exit $error' fi fi $opt_dry_run || { func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" # Unlock the critical section if it was locked if test no != "$need_locks"; then removelist=$lockfile $RM "$lockfile" fi } exit $EXIT_SUCCESS } $opt_help || { test compile = "$opt_mode" && func_mode_compile ${1+"$@"} } func_mode_help () { # We need to display help for each of the modes. case $opt_mode in "") # Generic help is extracted from the usage comments # at the start of this file. func_help ;; clean) $ECHO \ "Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... Remove files from the build directory. RM is the name of the program to use to delete files associated with each FILE (typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed to RM. If FILE is a libtool library, object or program, all the files associated with it are deleted. Otherwise, only FILE itself is deleted using RM." ;; compile) $ECHO \ "Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE Compile a source file into a libtool library object. This mode accepts the following additional options: -o OUTPUT-FILE set the output file name to OUTPUT-FILE -no-suppress do not suppress compiler output for multiple passes -prefer-pic try to build PIC objects only -prefer-non-pic try to build non-PIC objects only -shared do not build a '.o' file suitable for static linking -static only build a '.o' file suitable for static linking -Wc,FLAG pass FLAG directly to the compiler COMPILE-COMMAND is a command to be used in creating a 'standard' object file from the given SOURCEFILE. The output file name is determined by removing the directory component from SOURCEFILE, then substituting the C source code suffix '.c' with the library object suffix, '.lo'." ;; execute) $ECHO \ "Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]... Automatically set library path, then run a program. This mode accepts the following additional options: -dlopen FILE add the directory containing FILE to the library path This mode sets the library path environment variable according to '-dlopen' flags. If any of the ARGS are libtool executable wrappers, then they are translated into their corresponding uninstalled binary, and any of their required library directories are added to the library path. Then, COMMAND is executed, with ARGS as arguments." ;; finish) $ECHO \ "Usage: $progname [OPTION]... --mode=finish [LIBDIR]... Complete the installation of libtool libraries. Each LIBDIR is a directory that contains libtool libraries. The commands that this mode executes may require superuser privileges. Use the '--dry-run' option if you just want to see what would be executed." ;; install) $ECHO \ "Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND... Install executables or libraries. INSTALL-COMMAND is the installation command. The first component should be either the 'install' or 'cp' program. The following components of INSTALL-COMMAND are treated specially: -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation The rest of the components are interpreted as arguments to that command (only BSD-compatible install options are recognized)." ;; link) $ECHO \ "Usage: $progname [OPTION]... --mode=link LINK-COMMAND... Link object files or libraries together to form another library, or to create an executable program. LINK-COMMAND is a command using the C compiler that you would use to create a program from several object files. The following components of LINK-COMMAND are treated specially: -all-static do not do any dynamic linking at all -avoid-version do not add a version suffix if possible -bindir BINDIR specify path to binaries directory (for systems where libraries must be found in the PATH setting at runtime) -dlopen FILE '-dlpreopen' FILE if it cannot be dlopened at runtime -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) -export-symbols SYMFILE try to export only the symbols listed in SYMFILE -export-symbols-regex REGEX try to export only the symbols matching REGEX -LLIBDIR search LIBDIR for required installed libraries -lNAME OUTPUT-FILE requires the installed library libNAME -module build a library that can dlopened -no-fast-install disable the fast-install mode -no-install link a not-installable executable -no-undefined declare that a library does not refer to external symbols -o OUTPUT-FILE create OUTPUT-FILE from the specified objects -objectlist FILE use a list of object files found in FILE to specify objects -os2dllname NAME force a short DLL name on OS/2 (no effect on other OSes) -precious-files-regex REGEX don't remove output files matching REGEX -release RELEASE specify package release information -rpath LIBDIR the created library will eventually be installed in LIBDIR -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries -shared only do dynamic linking of libtool libraries -shrext SUFFIX override the standard shared library file extension -static do not do any dynamic linking of uninstalled libtool libraries -static-libtool-libs do not do any dynamic linking of libtool libraries -version-info CURRENT[:REVISION[:AGE]] specify library version info [each variable defaults to 0] -weak LIBNAME declare that the target provides the LIBNAME interface -Wc,FLAG -Xcompiler FLAG pass linker-specific FLAG directly to the compiler -Wl,FLAG -Xlinker FLAG pass linker-specific FLAG directly to the linker -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) All other options (arguments beginning with '-') are ignored. Every other argument is treated as a filename. Files ending in '.la' are treated as uninstalled libtool libraries, other files are standard or library object files. If the OUTPUT-FILE ends in '.la', then a libtool library is created, only library objects ('.lo' files) may be specified, and '-rpath' is required, except when creating a convenience library. If OUTPUT-FILE ends in '.a' or '.lib', then a standard library is created using 'ar' and 'ranlib', or on Windows using 'lib'. If OUTPUT-FILE ends in '.lo' or '.$objext', then a reloadable object file is created, otherwise an executable program is created." ;; uninstall) $ECHO \ "Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... Remove libraries from an installation directory. RM is the name of the program to use to delete files associated with each FILE (typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed to RM. If FILE is a libtool library, all the files associated with it are deleted. Otherwise, only FILE itself is deleted using RM." ;; *) func_fatal_help "invalid operation mode '$opt_mode'" ;; esac echo $ECHO "Try '$progname --help' for more information about other modes." } # Now that we've collected a possible --mode arg, show help if necessary if $opt_help; then if test : = "$opt_help"; then func_mode_help else { func_help noexit for opt_mode in compile link execute install finish uninstall clean; do func_mode_help done } | $SED -n '1p; 2,$s/^Usage:/ or: /p' { func_help noexit for opt_mode in compile link execute install finish uninstall clean; do echo func_mode_help done } | $SED '1d /^When reporting/,/^Report/{ H d } $x /information about other modes/d /more detailed .*MODE/d s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/' fi exit $? fi # func_mode_execute arg... func_mode_execute () { $debug_cmd # The first argument is the command name. cmd=$nonopt test -z "$cmd" && \ func_fatal_help "you must specify a COMMAND" # Handle -dlopen flags immediately. for file in $opt_dlopen; do test -f "$file" \ || func_fatal_help "'$file' is not a file" dir= case $file in *.la) func_resolve_sysroot "$file" file=$func_resolve_sysroot_result # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$file" \ || func_fatal_help "'$lib' is not a valid libtool archive" # Read the libtool library. dlname= library_names= func_source "$file" # Skip this library if it cannot be dlopened. if test -z "$dlname"; then # Warn if it was a shared library. test -n "$library_names" && \ func_warning "'$file' was not linked with '-export-dynamic'" continue fi func_dirname "$file" "" "." dir=$func_dirname_result if test -f "$dir/$objdir/$dlname"; then func_append dir "/$objdir" else if test ! -f "$dir/$dlname"; then func_fatal_error "cannot find '$dlname' in '$dir' or '$dir/$objdir'" fi fi ;; *.lo) # Just add the directory containing the .lo file. func_dirname "$file" "" "." dir=$func_dirname_result ;; *) func_warning "'-dlopen' is ignored for non-libtool libraries and objects" continue ;; esac # Get the absolute pathname. absdir=`cd "$dir" && pwd` test -n "$absdir" && dir=$absdir # Now add the directory to shlibpath_var. if eval "test -z \"\$$shlibpath_var\""; then eval "$shlibpath_var=\"\$dir\"" else eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" fi done # This variable tells wrapper scripts just to set shlibpath_var # rather than running their programs. libtool_execute_magic=$magic # Check if any of the arguments is a wrapper script. args= for file do case $file in -* | *.la | *.lo ) ;; *) # Do a test to see if this is really a libtool program. if func_ltwrapper_script_p "$file"; then func_source "$file" # Transform arg to wrapped name. file=$progdir/$program elif func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" func_source "$func_ltwrapper_scriptname_result" # Transform arg to wrapped name. file=$progdir/$program fi ;; esac # Quote arguments (to preserve shell metacharacters). func_append_quoted args "$file" done if $opt_dry_run; then # Display what would be done. if test -n "$shlibpath_var"; then eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" echo "export $shlibpath_var" fi $ECHO "$cmd$args" exit $EXIT_SUCCESS else if test -n "$shlibpath_var"; then # Export the shlibpath_var. eval "export $shlibpath_var" fi # Restore saved environment variables for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES do eval "if test \"\${save_$lt_var+set}\" = set; then $lt_var=\$save_$lt_var; export $lt_var else $lt_unset $lt_var fi" done # Now prepare to actually exec the command. exec_cmd=\$cmd$args fi } test execute = "$opt_mode" && func_mode_execute ${1+"$@"} # func_mode_finish arg... func_mode_finish () { $debug_cmd libs= libdirs= admincmds= for opt in "$nonopt" ${1+"$@"} do if test -d "$opt"; then func_append libdirs " $opt" elif test -f "$opt"; then if func_lalib_unsafe_p "$opt"; then func_append libs " $opt" else func_warning "'$opt' is not a valid libtool archive" fi else func_fatal_error "invalid argument '$opt'" fi done if test -n "$libs"; then if test -n "$lt_sysroot"; then sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"` sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;" else sysroot_cmd= fi # Remove sysroot references if $opt_dry_run; then for lib in $libs; do echo "removing references to $lt_sysroot and '=' prefixes from $lib" done else tmpdir=`func_mktempdir` for lib in $libs; do $SED -e "$sysroot_cmd s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \ > $tmpdir/tmp-la mv -f $tmpdir/tmp-la $lib done ${RM}r "$tmpdir" fi fi if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then for libdir in $libdirs; do if test -n "$finish_cmds"; then # Do each command in the finish commands. func_execute_cmds "$finish_cmds" 'admincmds="$admincmds '"$cmd"'"' fi if test -n "$finish_eval"; then # Do the single finish_eval. eval cmds=\"$finish_eval\" $opt_dry_run || eval "$cmds" || func_append admincmds " $cmds" fi done fi # Exit here if they wanted silent mode. $opt_quiet && exit $EXIT_SUCCESS if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then echo "----------------------------------------------------------------------" echo "Libraries have been installed in:" for libdir in $libdirs; do $ECHO " $libdir" done echo echo "If you ever happen to want to link against installed libraries" echo "in a given directory, LIBDIR, you must either use libtool, and" echo "specify the full pathname of the library, or use the '-LLIBDIR'" echo "flag during linking and do at least one of the following:" if test -n "$shlibpath_var"; then echo " - add LIBDIR to the '$shlibpath_var' environment variable" echo " during execution" fi if test -n "$runpath_var"; then echo " - add LIBDIR to the '$runpath_var' environment variable" echo " during linking" fi if test -n "$hardcode_libdir_flag_spec"; then libdir=LIBDIR eval flag=\"$hardcode_libdir_flag_spec\" $ECHO " - use the '$flag' linker flag" fi if test -n "$admincmds"; then $ECHO " - have your system administrator run these commands:$admincmds" fi if test -f /etc/ld.so.conf; then echo " - have your system administrator add LIBDIR to '/etc/ld.so.conf'" fi echo echo "See any operating system documentation about shared libraries for" case $host in solaris2.[6789]|solaris2.1[0-9]) echo "more information, such as the ld(1), crle(1) and ld.so(8) manual" echo "pages." ;; *) echo "more information, such as the ld(1) and ld.so(8) manual pages." ;; esac echo "----------------------------------------------------------------------" fi exit $EXIT_SUCCESS } test finish = "$opt_mode" && func_mode_finish ${1+"$@"} # func_mode_install arg... func_mode_install () { $debug_cmd # There may be an optional sh(1) argument at the beginning of # install_prog (especially on Windows NT). if test "$SHELL" = "$nonopt" || test /bin/sh = "$nonopt" || # Allow the use of GNU shtool's install command. case $nonopt in *shtool*) :;; *) false;; esac then # Aesthetically quote it. func_quote_for_eval "$nonopt" install_prog="$func_quote_for_eval_result " arg=$1 shift else install_prog= arg=$nonopt fi # The real first argument should be the name of the installation program. # Aesthetically quote it. func_quote_for_eval "$arg" func_append install_prog "$func_quote_for_eval_result" install_shared_prog=$install_prog case " $install_prog " in *[\\\ /]cp\ *) install_cp=: ;; *) install_cp=false ;; esac # We need to accept at least all the BSD install flags. dest= files= opts= prev= install_type= isdir=false stripme= no_mode=: for arg do arg2= if test -n "$dest"; then func_append files " $dest" dest=$arg continue fi case $arg in -d) isdir=: ;; -f) if $install_cp; then :; else prev=$arg fi ;; -g | -m | -o) prev=$arg ;; -s) stripme=" -s" continue ;; -*) ;; *) # If the previous option needed an argument, then skip it. if test -n "$prev"; then if test X-m = "X$prev" && test -n "$install_override_mode"; then arg2=$install_override_mode no_mode=false fi prev= else dest=$arg continue fi ;; esac # Aesthetically quote the argument. func_quote_for_eval "$arg" func_append install_prog " $func_quote_for_eval_result" if test -n "$arg2"; then func_quote_for_eval "$arg2" fi func_append install_shared_prog " $func_quote_for_eval_result" done test -z "$install_prog" && \ func_fatal_help "you must specify an install program" test -n "$prev" && \ func_fatal_help "the '$prev' option requires an argument" if test -n "$install_override_mode" && $no_mode; then if $install_cp; then :; else func_quote_for_eval "$install_override_mode" func_append install_shared_prog " -m $func_quote_for_eval_result" fi fi if test -z "$files"; then if test -z "$dest"; then func_fatal_help "no file or destination specified" else func_fatal_help "you must specify a destination" fi fi # Strip any trailing slash from the destination. func_stripname '' '/' "$dest" dest=$func_stripname_result # Check to see that the destination is a directory. test -d "$dest" && isdir=: if $isdir; then destdir=$dest destname= else func_dirname_and_basename "$dest" "" "." destdir=$func_dirname_result destname=$func_basename_result # Not a directory, so check to see that there is only one file specified. set dummy $files; shift test "$#" -gt 1 && \ func_fatal_help "'$dest' is not a directory" fi case $destdir in [\\/]* | [A-Za-z]:[\\/]*) ;; *) for file in $files; do case $file in *.lo) ;; *) func_fatal_help "'$destdir' must be an absolute directory name" ;; esac done ;; esac # This variable tells wrapper scripts just to set variables rather # than running their programs. libtool_install_magic=$magic staticlibs= future_libdirs= current_libdirs= for file in $files; do # Do each installation. case $file in *.$libext) # Do the static libraries later. func_append staticlibs " $file" ;; *.la) func_resolve_sysroot "$file" file=$func_resolve_sysroot_result # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$file" \ || func_fatal_help "'$file' is not a valid libtool archive" library_names= old_library= relink_command= func_source "$file" # Add the libdir to current_libdirs if it is the destination. if test "X$destdir" = "X$libdir"; then case "$current_libdirs " in *" $libdir "*) ;; *) func_append current_libdirs " $libdir" ;; esac else # Note the libdir as a future libdir. case "$future_libdirs " in *" $libdir "*) ;; *) func_append future_libdirs " $libdir" ;; esac fi func_dirname "$file" "/" "" dir=$func_dirname_result func_append dir "$objdir" if test -n "$relink_command"; then # Determine the prefix the user has applied to our future dir. inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"` # Don't allow the user to place us outside of our expected # location b/c this prevents finding dependent libraries that # are installed to the same prefix. # At present, this check doesn't affect windows .dll's that # are installed into $libdir/../bin (currently, that works fine) # but it's something to keep an eye on. test "$inst_prefix_dir" = "$destdir" && \ func_fatal_error "error: cannot install '$file' to a directory not ending in $libdir" if test -n "$inst_prefix_dir"; then # Stick the inst_prefix_dir data into the link command. relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` else relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"` fi func_warning "relinking '$file'" func_show_eval "$relink_command" \ 'func_fatal_error "error: relink '\''$file'\'' with the above command before installing it"' fi # See the names of the shared library. set dummy $library_names; shift if test -n "$1"; then realname=$1 shift srcname=$realname test -n "$relink_command" && srcname=${realname}T # Install the shared library and build the symlinks. func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \ 'exit $?' tstripme=$stripme case $host_os in cygwin* | mingw* | pw32* | cegcc*) case $realname in *.dll.a) tstripme= ;; esac ;; os2*) case $realname in *_dll.a) tstripme= ;; esac ;; esac if test -n "$tstripme" && test -n "$striplib"; then func_show_eval "$striplib $destdir/$realname" 'exit $?' fi if test "$#" -gt 0; then # Delete the old symlinks, and create new ones. # Try 'ln -sf' first, because the 'ln' binary might depend on # the symlink we replace! Solaris /bin/ln does not understand -f, # so we also need to try rm && ln -s. for linkname do test "$linkname" != "$realname" \ && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })" done fi # Do each command in the postinstall commands. lib=$destdir/$realname func_execute_cmds "$postinstall_cmds" 'exit $?' fi # Install the pseudo-library for information purposes. func_basename "$file" name=$func_basename_result instname=$dir/${name}i func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' # Maybe install the static library, too. test -n "$old_library" && func_append staticlibs " $dir/$old_library" ;; *.lo) # Install (i.e. copy) a libtool object. # Figure out destination file name, if it wasn't already specified. if test -n "$destname"; then destfile=$destdir/$destname else func_basename "$file" destfile=$func_basename_result destfile=$destdir/$destfile fi # Deduce the name of the destination old-style object file. case $destfile in *.lo) func_lo2o "$destfile" staticdest=$func_lo2o_result ;; *.$objext) staticdest=$destfile destfile= ;; *) func_fatal_help "cannot copy a libtool object to '$destfile'" ;; esac # Install the libtool object if requested. test -n "$destfile" && \ func_show_eval "$install_prog $file $destfile" 'exit $?' # Install the old object if enabled. if test yes = "$build_old_libs"; then # Deduce the name of the old-style object file. func_lo2o "$file" staticobj=$func_lo2o_result func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?' fi exit $EXIT_SUCCESS ;; *) # Figure out destination file name, if it wasn't already specified. if test -n "$destname"; then destfile=$destdir/$destname else func_basename "$file" destfile=$func_basename_result destfile=$destdir/$destfile fi # If the file is missing, and there is a .exe on the end, strip it # because it is most likely a libtool script we actually want to # install stripped_ext= case $file in *.exe) if test ! -f "$file"; then func_stripname '' '.exe' "$file" file=$func_stripname_result stripped_ext=.exe fi ;; esac # Do a test to see if this is really a libtool program. case $host in *cygwin* | *mingw*) if func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" wrapper=$func_ltwrapper_scriptname_result else func_stripname '' '.exe' "$file" wrapper=$func_stripname_result fi ;; *) wrapper=$file ;; esac if func_ltwrapper_script_p "$wrapper"; then notinst_deplibs= relink_command= func_source "$wrapper" # Check the variables that should have been set. test -z "$generated_by_libtool_version" && \ func_fatal_error "invalid libtool wrapper script '$wrapper'" finalize=: for lib in $notinst_deplibs; do # Check to see that each library is installed. libdir= if test -f "$lib"; then func_source "$lib" fi libfile=$libdir/`$ECHO "$lib" | $SED 's%^.*/%%g'` if test -n "$libdir" && test ! -f "$libfile"; then func_warning "'$lib' has not been installed in '$libdir'" finalize=false fi done relink_command= func_source "$wrapper" outputname= if test no = "$fast_install" && test -n "$relink_command"; then $opt_dry_run || { if $finalize; then tmpdir=`func_mktempdir` func_basename "$file$stripped_ext" file=$func_basename_result outputname=$tmpdir/$file # Replace the output file specification. relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` $opt_quiet || { func_quote_for_expand "$relink_command" eval "func_echo $func_quote_for_expand_result" } if eval "$relink_command"; then : else func_error "error: relink '$file' with the above command before installing it" $opt_dry_run || ${RM}r "$tmpdir" continue fi file=$outputname else func_warning "cannot relink '$file'" fi } else # Install the binary that we compiled earlier. file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"` fi fi # remove .exe since cygwin /usr/bin/install will append another # one anyway case $install_prog,$host in */usr/bin/install*,*cygwin*) case $file:$destfile in *.exe:*.exe) # this is ok ;; *.exe:*) destfile=$destfile.exe ;; *:*.exe) func_stripname '' '.exe' "$destfile" destfile=$func_stripname_result ;; esac ;; esac func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?' $opt_dry_run || if test -n "$outputname"; then ${RM}r "$tmpdir" fi ;; esac done for file in $staticlibs; do func_basename "$file" name=$func_basename_result # Set up the ranlib parameters. oldlib=$destdir/$name func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 tool_oldlib=$func_to_tool_file_result func_show_eval "$install_prog \$file \$oldlib" 'exit $?' if test -n "$stripme" && test -n "$old_striplib"; then func_show_eval "$old_striplib $tool_oldlib" 'exit $?' fi # Do each command in the postinstall commands. func_execute_cmds "$old_postinstall_cmds" 'exit $?' done test -n "$future_libdirs" && \ func_warning "remember to run '$progname --finish$future_libdirs'" if test -n "$current_libdirs"; then # Maybe just do a dry run. $opt_dry_run && current_libdirs=" -n$current_libdirs" exec_cmd='$SHELL "$progpath" $preserve_args --finish$current_libdirs' else exit $EXIT_SUCCESS fi } test install = "$opt_mode" && func_mode_install ${1+"$@"} # func_generate_dlsyms outputname originator pic_p # Extract symbols from dlprefiles and create ${outputname}S.o with # a dlpreopen symbol table. func_generate_dlsyms () { $debug_cmd my_outputname=$1 my_originator=$2 my_pic_p=${3-false} my_prefix=`$ECHO "$my_originator" | $SED 's%[^a-zA-Z0-9]%_%g'` my_dlsyms= if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then if test -n "$NM" && test -n "$global_symbol_pipe"; then my_dlsyms=${my_outputname}S.c else func_error "not configured to extract global symbols from dlpreopened files" fi fi if test -n "$my_dlsyms"; then case $my_dlsyms in "") ;; *.c) # Discover the nlist of each of the dlfiles. nlist=$output_objdir/$my_outputname.nm func_show_eval "$RM $nlist ${nlist}S ${nlist}T" # Parse the name list into a source file. func_verbose "creating $output_objdir/$my_dlsyms" $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ /* $my_dlsyms - symbol resolution table for '$my_outputname' dlsym emulation. */ /* Generated by $PROGRAM (GNU $PACKAGE) $VERSION */ #ifdef __cplusplus extern \"C\" { #endif #if defined __GNUC__ && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4)) #pragma GCC diagnostic ignored \"-Wstrict-prototypes\" #endif /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ #if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE /* DATA imports from DLLs on WIN32 can't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs. */ # define LT_DLSYM_CONST #elif defined __osf__ /* This system does not cope well with relocations in const data. */ # define LT_DLSYM_CONST #else # define LT_DLSYM_CONST const #endif #define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) /* External symbol declarations for the compiler. */\ " if test yes = "$dlself"; then func_verbose "generating symbol list for '$output'" $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" # Add our own program objects to the symbol list. progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP` for progfile in $progfiles; do func_to_tool_file "$progfile" func_convert_file_msys_to_w32 func_verbose "extracting global C symbols from '$func_to_tool_file_result'" $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'" done if test -n "$exclude_expsyms"; then $opt_dry_run || { eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' } fi if test -n "$export_symbols_regex"; then $opt_dry_run || { eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' } fi # Prepare the list of exported symbols if test -z "$export_symbols"; then export_symbols=$output_objdir/$outputname.exp $opt_dry_run || { $RM $export_symbols eval "$SED -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' case $host in *cygwin* | *mingw* | *cegcc* ) eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' ;; esac } else $opt_dry_run || { eval "$SED -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' case $host in *cygwin* | *mingw* | *cegcc* ) eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' ;; esac } fi fi for dlprefile in $dlprefiles; do func_verbose "extracting global C symbols from '$dlprefile'" func_basename "$dlprefile" name=$func_basename_result case $host in *cygwin* | *mingw* | *cegcc* ) # if an import library, we need to obtain dlname if func_win32_import_lib_p "$dlprefile"; then func_tr_sh "$dlprefile" eval "curr_lafile=\$libfile_$func_tr_sh_result" dlprefile_dlbasename= if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then # Use subshell, to avoid clobbering current variable values dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"` if test -n "$dlprefile_dlname"; then func_basename "$dlprefile_dlname" dlprefile_dlbasename=$func_basename_result else # no lafile. user explicitly requested -dlpreopen . $sharedlib_from_linklib_cmd "$dlprefile" dlprefile_dlbasename=$sharedlib_from_linklib_result fi fi $opt_dry_run || { if test -n "$dlprefile_dlbasename"; then eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"' else func_warning "Could not compute DLL name from $name" eval '$ECHO ": $name " >> "$nlist"' fi func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe | $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'" } else # not an import lib $opt_dry_run || { eval '$ECHO ": $name " >> "$nlist"' func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" } fi ;; *) $opt_dry_run || { eval '$ECHO ": $name " >> "$nlist"' func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" } ;; esac done $opt_dry_run || { # Make sure we have at least an empty file. test -f "$nlist" || : > "$nlist" if test -n "$exclude_expsyms"; then $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T $MV "$nlist"T "$nlist" fi # Try sorting and uniquifying the output. if $GREP -v "^: " < "$nlist" | if sort -k 3 /dev/null 2>&1; then sort -k 3 else sort +2 fi | uniq > "$nlist"S; then : else $GREP -v "^: " < "$nlist" > "$nlist"S fi if test -f "$nlist"S; then eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"' else echo '/* NONE */' >> "$output_objdir/$my_dlsyms" fi func_show_eval '$RM "${nlist}I"' if test -n "$global_symbol_to_import"; then eval "$global_symbol_to_import"' < "$nlist"S > "$nlist"I' fi echo >> "$output_objdir/$my_dlsyms" "\ /* The mapping between symbol names and symbols. */ typedef struct { const char *name; void *address; } lt_dlsymlist; extern LT_DLSYM_CONST lt_dlsymlist lt_${my_prefix}_LTX_preloaded_symbols[];\ " if test -s "$nlist"I; then echo >> "$output_objdir/$my_dlsyms" "\ static void lt_syminit(void) { LT_DLSYM_CONST lt_dlsymlist *symbol = lt_${my_prefix}_LTX_preloaded_symbols; for (; symbol->name; ++symbol) {" $SED 's/.*/ if (STREQ (symbol->name, \"&\")) symbol->address = (void *) \&&;/' < "$nlist"I >> "$output_objdir/$my_dlsyms" echo >> "$output_objdir/$my_dlsyms" "\ } }" fi echo >> "$output_objdir/$my_dlsyms" "\ LT_DLSYM_CONST lt_dlsymlist lt_${my_prefix}_LTX_preloaded_symbols[] = { {\"$my_originator\", (void *) 0}," if test -s "$nlist"I; then echo >> "$output_objdir/$my_dlsyms" "\ {\"@INIT@\", (void *) <_syminit}," fi case $need_lib_prefix in no) eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms" ;; *) eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" ;; esac echo >> "$output_objdir/$my_dlsyms" "\ {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt_${my_prefix}_LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif\ " } # !$opt_dry_run pic_flag_for_symtable= case "$compile_command " in *" -static "*) ;; *) case $host in # compiling the symbol table file with pic_flag works around # a FreeBSD bug that causes programs to crash when -lm is # linked before any other PIC object. But we must not use # pic_flag when linking with -static. The problem exists in # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; *-*-hpux*) pic_flag_for_symtable=" $pic_flag" ;; *) $my_pic_p && pic_flag_for_symtable=" $pic_flag" ;; esac ;; esac symtab_cflags= for arg in $LTCFLAGS; do case $arg in -pie | -fpie | -fPIE) ;; *) func_append symtab_cflags " $arg" ;; esac done # Now compile the dynamic symbol file. func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' # Clean up the generated files. func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T" "${nlist}I"' # Transform the symbol file into the correct name. symfileobj=$output_objdir/${my_outputname}S.$objext case $host in *cygwin* | *mingw* | *cegcc* ) if test -f "$output_objdir/$my_outputname.def"; then compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` else compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` fi ;; *) compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` ;; esac ;; *) func_fatal_error "unknown suffix for '$my_dlsyms'" ;; esac else # We keep going just in case the user didn't refer to # lt_preloaded_symbols. The linker will fail if global_symbol_pipe # really was required. # Nullify the symbol file. compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"` finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"` fi } # func_cygming_gnu_implib_p ARG # This predicate returns with zero status (TRUE) if # ARG is a GNU/binutils-style import library. Returns # with nonzero status (FALSE) otherwise. func_cygming_gnu_implib_p () { $debug_cmd func_to_tool_file "$1" func_convert_file_msys_to_w32 func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'` test -n "$func_cygming_gnu_implib_tmp" } # func_cygming_ms_implib_p ARG # This predicate returns with zero status (TRUE) if # ARG is an MS-style import library. Returns # with nonzero status (FALSE) otherwise. func_cygming_ms_implib_p () { $debug_cmd func_to_tool_file "$1" func_convert_file_msys_to_w32 func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'` test -n "$func_cygming_ms_implib_tmp" } # func_win32_libid arg # return the library type of file 'arg' # # Need a lot of goo to handle *both* DLLs and import libs # Has to be a shell function in order to 'eat' the argument # that is supplied when $file_magic_command is called. # Despite the name, also deal with 64 bit binaries. func_win32_libid () { $debug_cmd win32_libid_type=unknown win32_fileres=`file -L $1 2>/dev/null` case $win32_fileres in *ar\ archive\ import\ library*) # definitely import win32_libid_type="x86 archive import" ;; *ar\ archive*) # could be an import, or static # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD. if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then case $nm_interface in "MS dumpbin") if func_cygming_ms_implib_p "$1" || func_cygming_gnu_implib_p "$1" then win32_nmres=import else win32_nmres= fi ;; *) func_to_tool_file "$1" func_convert_file_msys_to_w32 win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" | $SED -n -e ' 1,100{ / I /{ s|.*|import| p q } }'` ;; esac case $win32_nmres in import*) win32_libid_type="x86 archive import";; *) win32_libid_type="x86 archive static";; esac fi ;; *DLL*) win32_libid_type="x86 DLL" ;; *executable*) # but shell scripts are "executable" too... case $win32_fileres in *MS\ Windows\ PE\ Intel*) win32_libid_type="x86 DLL" ;; esac ;; esac $ECHO "$win32_libid_type" } # func_cygming_dll_for_implib ARG # # Platform-specific function to extract the # name of the DLL associated with the specified # import library ARG. # Invoked by eval'ing the libtool variable # $sharedlib_from_linklib_cmd # Result is available in the variable # $sharedlib_from_linklib_result func_cygming_dll_for_implib () { $debug_cmd sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"` } # func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs # # The is the core of a fallback implementation of a # platform-specific function to extract the name of the # DLL associated with the specified import library LIBNAME. # # SECTION_NAME is either .idata$6 or .idata$7, depending # on the platform and compiler that created the implib. # # Echos the name of the DLL associated with the # specified import library. func_cygming_dll_for_implib_fallback_core () { $debug_cmd match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"` $OBJDUMP -s --section "$1" "$2" 2>/dev/null | $SED '/^Contents of section '"$match_literal"':/{ # Place marker at beginning of archive member dllname section s/.*/====MARK====/ p d } # These lines can sometimes be longer than 43 characters, but # are always uninteresting /:[ ]*file format pe[i]\{,1\}-/d /^In archive [^:]*:/d # Ensure marker is printed /^====MARK====/p # Remove all lines with less than 43 characters /^.\{43\}/!d # From remaining lines, remove first 43 characters s/^.\{43\}//' | $SED -n ' # Join marker and all lines until next marker into a single line /^====MARK====/ b para H $ b para b :para x s/\n//g # Remove the marker s/^====MARK====// # Remove trailing dots and whitespace s/[\. \t]*$// # Print /./p' | # we now have a list, one entry per line, of the stringified # contents of the appropriate section of all members of the # archive that possess that section. Heuristic: eliminate # all those that have a first or second character that is # a '.' (that is, objdump's representation of an unprintable # character.) This should work for all archives with less than # 0x302f exports -- but will fail for DLLs whose name actually # begins with a literal '.' or a single character followed by # a '.'. # # Of those that remain, print the first one. $SED -e '/^\./d;/^.\./d;q' } # func_cygming_dll_for_implib_fallback ARG # Platform-specific function to extract the # name of the DLL associated with the specified # import library ARG. # # This fallback implementation is for use when $DLLTOOL # does not support the --identify-strict option. # Invoked by eval'ing the libtool variable # $sharedlib_from_linklib_cmd # Result is available in the variable # $sharedlib_from_linklib_result func_cygming_dll_for_implib_fallback () { $debug_cmd if func_cygming_gnu_implib_p "$1"; then # binutils import library sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"` elif func_cygming_ms_implib_p "$1"; then # ms-generated import library sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"` else # unknown sharedlib_from_linklib_result= fi } # func_extract_an_archive dir oldlib func_extract_an_archive () { $debug_cmd f_ex_an_ar_dir=$1; shift f_ex_an_ar_oldlib=$1 if test yes = "$lock_old_archive_extraction"; then lockfile=$f_ex_an_ar_oldlib.lock until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do func_echo "Waiting for $lockfile to be removed" sleep 2 done fi func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \ 'stat=$?; rm -f "$lockfile"; exit $stat' if test yes = "$lock_old_archive_extraction"; then $opt_dry_run || rm -f "$lockfile" fi if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then : else func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" fi } # func_extract_archives gentop oldlib ... func_extract_archives () { $debug_cmd my_gentop=$1; shift my_oldlibs=${1+"$@"} my_oldobjs= my_xlib= my_xabs= my_xdir= for my_xlib in $my_oldlibs; do # Extract the objects. case $my_xlib in [\\/]* | [A-Za-z]:[\\/]*) my_xabs=$my_xlib ;; *) my_xabs=`pwd`"/$my_xlib" ;; esac func_basename "$my_xlib" my_xlib=$func_basename_result my_xlib_u=$my_xlib while :; do case " $extracted_archives " in *" $my_xlib_u "*) func_arith $extracted_serial + 1 extracted_serial=$func_arith_result my_xlib_u=lt$extracted_serial-$my_xlib ;; *) break ;; esac done extracted_archives="$extracted_archives $my_xlib_u" my_xdir=$my_gentop/$my_xlib_u func_mkdir_p "$my_xdir" case $host in *-darwin*) func_verbose "Extracting $my_xabs" # Do not bother doing anything if just a dry run $opt_dry_run || { darwin_orig_dir=`pwd` cd $my_xdir || exit $? darwin_archive=$my_xabs darwin_curdir=`pwd` func_basename "$darwin_archive" darwin_base_archive=$func_basename_result darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` if test -n "$darwin_arches"; then darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` darwin_arch= func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" for darwin_arch in $darwin_arches; do func_mkdir_p "unfat-$$/$darwin_base_archive-$darwin_arch" $LIPO -thin $darwin_arch -output "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" "$darwin_archive" cd "unfat-$$/$darwin_base_archive-$darwin_arch" func_extract_an_archive "`pwd`" "$darwin_base_archive" cd "$darwin_curdir" $RM "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" done # $darwin_arches ## Okay now we've a bunch of thin objects, gotta fatten them up :) darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$sed_basename" | sort -u` darwin_file= darwin_files= for darwin_file in $darwin_filelist; do darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP` $LIPO -create -output "$darwin_file" $darwin_files done # $darwin_filelist $RM -rf unfat-$$ cd "$darwin_orig_dir" else cd $darwin_orig_dir func_extract_an_archive "$my_xdir" "$my_xabs" fi # $darwin_arches } # !$opt_dry_run ;; *) func_extract_an_archive "$my_xdir" "$my_xabs" ;; esac my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP` done func_extract_archives_result=$my_oldobjs } # func_emit_wrapper [arg=no] # # Emit a libtool wrapper script on stdout. # Don't directly open a file because we may want to # incorporate the script contents within a cygwin/mingw # wrapper executable. Must ONLY be called from within # func_mode_link because it depends on a number of variables # set therein. # # ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR # variable will take. If 'yes', then the emitted script # will assume that the directory where it is stored is # the $objdir directory. This is a cygwin/mingw-specific # behavior. func_emit_wrapper () { func_emit_wrapper_arg1=${1-no} $ECHO "\ #! $SHELL # $output - temporary wrapper script for $objdir/$outputname # Generated by $PROGRAM (GNU $PACKAGE) $VERSION # # The $output program cannot be directly executed until all the libtool # libraries that it depends on are installed. # # This wrapper script should never be moved out of the build directory. # If it is, it will not operate correctly. # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. sed_quote_subst='$sed_quote_subst' # Be Bourne compatible if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac fi BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH relink_command=\"$relink_command\" # This environment variable determines our operation mode. if test \"\$libtool_install_magic\" = \"$magic\"; then # install mode needs the following variables: generated_by_libtool_version='$macro_version' notinst_deplibs='$notinst_deplibs' else # When we are sourced in execute mode, \$file and \$ECHO are already set. if test \"\$libtool_execute_magic\" != \"$magic\"; then file=\"\$0\"" qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"` $ECHO "\ # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF \$1 _LTECHO_EOF' } ECHO=\"$qECHO\" fi # Very basic option parsing. These options are (a) specific to # the libtool wrapper, (b) are identical between the wrapper # /script/ and the wrapper /executable/ that is used only on # windows platforms, and (c) all begin with the string "--lt-" # (application programs are unlikely to have options that match # this pattern). # # There are only two supported options: --lt-debug and # --lt-dump-script. There is, deliberately, no --lt-help. # # The first argument to this parsing function should be the # script's $0 value, followed by "$@". lt_option_debug= func_parse_lt_options () { lt_script_arg0=\$0 shift for lt_opt do case \"\$lt_opt\" in --lt-debug) lt_option_debug=1 ;; --lt-dump-script) lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\` test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=. lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\` cat \"\$lt_dump_D/\$lt_dump_F\" exit 0 ;; --lt-*) \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2 exit 1 ;; esac done # Print the debug banner immediately: if test -n \"\$lt_option_debug\"; then echo \"$outputname:$output:\$LINENO: libtool wrapper (GNU $PACKAGE) $VERSION\" 1>&2 fi } # Used when --lt-debug. Prints its arguments to stdout # (redirection is the responsibility of the caller) func_lt_dump_args () { lt_dump_args_N=1; for lt_arg do \$ECHO \"$outputname:$output:\$LINENO: newargv[\$lt_dump_args_N]: \$lt_arg\" lt_dump_args_N=\`expr \$lt_dump_args_N + 1\` done } # Core function for launching the target application func_exec_program_core () { " case $host in # Backslashes separate directories on plain windows *-*-mingw | *-*-os2* | *-cegcc*) $ECHO "\ if test -n \"\$lt_option_debug\"; then \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir\\\\\$program\" 1>&2 func_lt_dump_args \${1+\"\$@\"} 1>&2 fi exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} " ;; *) $ECHO "\ if test -n \"\$lt_option_debug\"; then \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir/\$program\" 1>&2 func_lt_dump_args \${1+\"\$@\"} 1>&2 fi exec \"\$progdir/\$program\" \${1+\"\$@\"} " ;; esac $ECHO "\ \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 exit 1 } # A function to encapsulate launching the target application # Strips options in the --lt-* namespace from \$@ and # launches target application with the remaining arguments. func_exec_program () { case \" \$* \" in *\\ --lt-*) for lt_wr_arg do case \$lt_wr_arg in --lt-*) ;; *) set x \"\$@\" \"\$lt_wr_arg\"; shift;; esac shift done ;; esac func_exec_program_core \${1+\"\$@\"} } # Parse options func_parse_lt_options \"\$0\" \${1+\"\$@\"} # Find the directory that this script lives in. thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\` test \"x\$thisdir\" = \"x\$file\" && thisdir=. # Follow symbolic links until we get to the real thisdir. file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\` while test -n \"\$file\"; do destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\` # If there was a directory component, then change thisdir. if test \"x\$destdir\" != \"x\$file\"; then case \"\$destdir\" in [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; *) thisdir=\"\$thisdir/\$destdir\" ;; esac fi file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\` file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\` done # Usually 'no', except on cygwin/mingw when embedded into # the cwrapper. WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1 if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then # special case for '.' if test \"\$thisdir\" = \".\"; then thisdir=\`pwd\` fi # remove .libs from thisdir case \"\$thisdir\" in *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;; $objdir ) thisdir=. ;; esac fi # Try to get the absolute directory name. absdir=\`cd \"\$thisdir\" && pwd\` test -n \"\$absdir\" && thisdir=\"\$absdir\" " if test yes = "$fast_install"; then $ECHO "\ program=lt-'$outputname'$exeext progdir=\"\$thisdir/$objdir\" if test ! -f \"\$progdir/\$program\" || { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | $SED 1q\`; \\ test \"X\$file\" != \"X\$progdir/\$program\"; }; then file=\"\$\$-\$program\" if test ! -d \"\$progdir\"; then $MKDIR \"\$progdir\" else $RM \"\$progdir/\$file\" fi" $ECHO "\ # relink executable if necessary if test -n \"\$relink_command\"; then if relink_command_output=\`eval \$relink_command 2>&1\`; then : else \$ECHO \"\$relink_command_output\" >&2 $RM \"\$progdir/\$file\" exit 1 fi fi $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || { $RM \"\$progdir/\$program\"; $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; } $RM \"\$progdir/\$file\" fi" else $ECHO "\ program='$outputname' progdir=\"\$thisdir/$objdir\" " fi $ECHO "\ if test -f \"\$progdir/\$program\"; then" # fixup the dll searchpath if we need to. # # Fix the DLL searchpath if we need to. Do this before prepending # to shlibpath, because on Windows, both are PATH and uninstalled # libraries must come first. if test -n "$dllsearchpath"; then $ECHO "\ # Add the dll search path components to the executable PATH PATH=$dllsearchpath:\$PATH " fi # Export our shlibpath_var if we have one. if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then $ECHO "\ # Add our own library path to $shlibpath_var $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" # Some systems cannot cope with colon-terminated $shlibpath_var # The second colon is a workaround for a bug in BeOS R4 sed $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\` export $shlibpath_var " fi $ECHO "\ if test \"\$libtool_execute_magic\" != \"$magic\"; then # Run the actual program with our arguments. func_exec_program \${1+\"\$@\"} fi else # The program doesn't exist. \$ECHO \"\$0: error: '\$progdir/\$program' does not exist\" 1>&2 \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 exit 1 fi fi\ " } # func_emit_cwrapperexe_src # emit the source code for a wrapper executable on stdout # Must ONLY be called from within func_mode_link because # it depends on a number of variable set therein. func_emit_cwrapperexe_src () { cat < #include #ifdef _MSC_VER # include # include # include #else # include # include # ifdef __CYGWIN__ # include # endif #endif #include #include #include #include #include #include #include #include #define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) /* declarations of non-ANSI functions */ #if defined __MINGW32__ # ifdef __STRICT_ANSI__ int _putenv (const char *); # endif #elif defined __CYGWIN__ # ifdef __STRICT_ANSI__ char *realpath (const char *, char *); int putenv (char *); int setenv (const char *, const char *, int); # endif /* #elif defined other_platform || defined ... */ #endif /* portability defines, excluding path handling macros */ #if defined _MSC_VER # define setmode _setmode # define stat _stat # define chmod _chmod # define getcwd _getcwd # define putenv _putenv # define S_IXUSR _S_IEXEC #elif defined __MINGW32__ # define setmode _setmode # define stat _stat # define chmod _chmod # define getcwd _getcwd # define putenv _putenv #elif defined __CYGWIN__ # define HAVE_SETENV # define FOPEN_WB "wb" /* #elif defined other platforms ... */ #endif #if defined PATH_MAX # define LT_PATHMAX PATH_MAX #elif defined MAXPATHLEN # define LT_PATHMAX MAXPATHLEN #else # define LT_PATHMAX 1024 #endif #ifndef S_IXOTH # define S_IXOTH 0 #endif #ifndef S_IXGRP # define S_IXGRP 0 #endif /* path handling portability macros */ #ifndef DIR_SEPARATOR # define DIR_SEPARATOR '/' # define PATH_SEPARATOR ':' #endif #if defined _WIN32 || defined __MSDOS__ || defined __DJGPP__ || \ defined __OS2__ # define HAVE_DOS_BASED_FILE_SYSTEM # define FOPEN_WB "wb" # ifndef DIR_SEPARATOR_2 # define DIR_SEPARATOR_2 '\\' # endif # ifndef PATH_SEPARATOR_2 # define PATH_SEPARATOR_2 ';' # endif #endif #ifndef DIR_SEPARATOR_2 # define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) #else /* DIR_SEPARATOR_2 */ # define IS_DIR_SEPARATOR(ch) \ (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) #endif /* DIR_SEPARATOR_2 */ #ifndef PATH_SEPARATOR_2 # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) #else /* PATH_SEPARATOR_2 */ # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) #endif /* PATH_SEPARATOR_2 */ #ifndef FOPEN_WB # define FOPEN_WB "w" #endif #ifndef _O_BINARY # define _O_BINARY 0 #endif #define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) #define XFREE(stale) do { \ if (stale) { free (stale); stale = 0; } \ } while (0) #if defined LT_DEBUGWRAPPER static int lt_debug = 1; #else static int lt_debug = 0; #endif const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */ void *xmalloc (size_t num); char *xstrdup (const char *string); const char *base_name (const char *name); char *find_executable (const char *wrapper); char *chase_symlinks (const char *pathspec); int make_executable (const char *path); int check_executable (const char *path); char *strendzap (char *str, const char *pat); void lt_debugprintf (const char *file, int line, const char *fmt, ...); void lt_fatal (const char *file, int line, const char *message, ...); static const char *nonnull (const char *s); static const char *nonempty (const char *s); void lt_setenv (const char *name, const char *value); char *lt_extend_str (const char *orig_value, const char *add, int to_end); void lt_update_exe_path (const char *name, const char *value); void lt_update_lib_path (const char *name, const char *value); char **prepare_spawn (char **argv); void lt_dump_script (FILE *f); EOF cat <= 0) && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) return 1; else return 0; } int make_executable (const char *path) { int rval = 0; struct stat st; lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n", nonempty (path)); if ((!path) || (!*path)) return 0; if (stat (path, &st) >= 0) { rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); } return rval; } /* Searches for the full path of the wrapper. Returns newly allocated full path name if found, NULL otherwise Does not chase symlinks, even on platforms that support them. */ char * find_executable (const char *wrapper) { int has_slash = 0; const char *p; const char *p_next; /* static buffer for getcwd */ char tmp[LT_PATHMAX + 1]; size_t tmp_len; char *concat_name; lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n", nonempty (wrapper)); if ((wrapper == NULL) || (*wrapper == '\0')) return NULL; /* Absolute path? */ #if defined HAVE_DOS_BASED_FILE_SYSTEM if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':') { concat_name = xstrdup (wrapper); if (check_executable (concat_name)) return concat_name; XFREE (concat_name); } else { #endif if (IS_DIR_SEPARATOR (wrapper[0])) { concat_name = xstrdup (wrapper); if (check_executable (concat_name)) return concat_name; XFREE (concat_name); } #if defined HAVE_DOS_BASED_FILE_SYSTEM } #endif for (p = wrapper; *p; p++) if (*p == '/') { has_slash = 1; break; } if (!has_slash) { /* no slashes; search PATH */ const char *path = getenv ("PATH"); if (path != NULL) { for (p = path; *p; p = p_next) { const char *q; size_t p_len; for (q = p; *q; q++) if (IS_PATH_SEPARATOR (*q)) break; p_len = (size_t) (q - p); p_next = (*q == '\0' ? q : q + 1); if (p_len == 0) { /* empty path: current directory */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", nonnull (strerror (errno))); tmp_len = strlen (tmp); concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); } else { concat_name = XMALLOC (char, p_len + 1 + strlen (wrapper) + 1); memcpy (concat_name, p, p_len); concat_name[p_len] = '/'; strcpy (concat_name + p_len + 1, wrapper); } if (check_executable (concat_name)) return concat_name; XFREE (concat_name); } } /* not found in PATH; assume curdir */ } /* Relative path | not found in path: prepend cwd */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", nonnull (strerror (errno))); tmp_len = strlen (tmp); concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); if (check_executable (concat_name)) return concat_name; XFREE (concat_name); return NULL; } char * chase_symlinks (const char *pathspec) { #ifndef S_ISLNK return xstrdup (pathspec); #else char buf[LT_PATHMAX]; struct stat s; char *tmp_pathspec = xstrdup (pathspec); char *p; int has_symlinks = 0; while (strlen (tmp_pathspec) && !has_symlinks) { lt_debugprintf (__FILE__, __LINE__, "checking path component for symlinks: %s\n", tmp_pathspec); if (lstat (tmp_pathspec, &s) == 0) { if (S_ISLNK (s.st_mode) != 0) { has_symlinks = 1; break; } /* search backwards for last DIR_SEPARATOR */ p = tmp_pathspec + strlen (tmp_pathspec) - 1; while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) p--; if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) { /* no more DIR_SEPARATORS left */ break; } *p = '\0'; } else { lt_fatal (__FILE__, __LINE__, "error accessing file \"%s\": %s", tmp_pathspec, nonnull (strerror (errno))); } } XFREE (tmp_pathspec); if (!has_symlinks) { return xstrdup (pathspec); } tmp_pathspec = realpath (pathspec, buf); if (tmp_pathspec == 0) { lt_fatal (__FILE__, __LINE__, "could not follow symlinks for %s", pathspec); } return xstrdup (tmp_pathspec); #endif } char * strendzap (char *str, const char *pat) { size_t len, patlen; assert (str != NULL); assert (pat != NULL); len = strlen (str); patlen = strlen (pat); if (patlen <= len) { str += len - patlen; if (STREQ (str, pat)) *str = '\0'; } return str; } void lt_debugprintf (const char *file, int line, const char *fmt, ...) { va_list args; if (lt_debug) { (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line); va_start (args, fmt); (void) vfprintf (stderr, fmt, args); va_end (args); } } static void lt_error_core (int exit_status, const char *file, int line, const char *mode, const char *message, va_list ap) { fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode); vfprintf (stderr, message, ap); fprintf (stderr, ".\n"); if (exit_status >= 0) exit (exit_status); } void lt_fatal (const char *file, int line, const char *message, ...) { va_list ap; va_start (ap, message); lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap); va_end (ap); } static const char * nonnull (const char *s) { return s ? s : "(null)"; } static const char * nonempty (const char *s) { return (s && !*s) ? "(empty)" : nonnull (s); } void lt_setenv (const char *name, const char *value) { lt_debugprintf (__FILE__, __LINE__, "(lt_setenv) setting '%s' to '%s'\n", nonnull (name), nonnull (value)); { #ifdef HAVE_SETENV /* always make a copy, for consistency with !HAVE_SETENV */ char *str = xstrdup (value); setenv (name, str, 1); #else size_t len = strlen (name) + 1 + strlen (value) + 1; char *str = XMALLOC (char, len); sprintf (str, "%s=%s", name, value); if (putenv (str) != EXIT_SUCCESS) { XFREE (str); } #endif } } char * lt_extend_str (const char *orig_value, const char *add, int to_end) { char *new_value; if (orig_value && *orig_value) { size_t orig_value_len = strlen (orig_value); size_t add_len = strlen (add); new_value = XMALLOC (char, add_len + orig_value_len + 1); if (to_end) { strcpy (new_value, orig_value); strcpy (new_value + orig_value_len, add); } else { strcpy (new_value, add); strcpy (new_value + add_len, orig_value); } } else { new_value = xstrdup (add); } return new_value; } void lt_update_exe_path (const char *name, const char *value) { lt_debugprintf (__FILE__, __LINE__, "(lt_update_exe_path) modifying '%s' by prepending '%s'\n", nonnull (name), nonnull (value)); if (name && *name && value && *value) { char *new_value = lt_extend_str (getenv (name), value, 0); /* some systems can't cope with a ':'-terminated path #' */ size_t len = strlen (new_value); while ((len > 0) && IS_PATH_SEPARATOR (new_value[len-1])) { new_value[--len] = '\0'; } lt_setenv (name, new_value); XFREE (new_value); } } void lt_update_lib_path (const char *name, const char *value) { lt_debugprintf (__FILE__, __LINE__, "(lt_update_lib_path) modifying '%s' by prepending '%s'\n", nonnull (name), nonnull (value)); if (name && *name && value && *value) { char *new_value = lt_extend_str (getenv (name), value, 0); lt_setenv (name, new_value); XFREE (new_value); } } EOF case $host_os in mingw*) cat <<"EOF" /* Prepares an argument vector before calling spawn(). Note that spawn() does not by itself call the command interpreter (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") : ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); GetVersionEx(&v); v.dwPlatformId == VER_PLATFORM_WIN32_NT; }) ? "cmd.exe" : "command.com"). Instead it simply concatenates the arguments, separated by ' ', and calls CreateProcess(). We must quote the arguments since Win32 CreateProcess() interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a special way: - Space and tab are interpreted as delimiters. They are not treated as delimiters if they are surrounded by double quotes: "...". - Unescaped double quotes are removed from the input. Their only effect is that within double quotes, space and tab are treated like normal characters. - Backslashes not followed by double quotes are not special. - But 2*n+1 backslashes followed by a double quote become n backslashes followed by a double quote (n >= 0): \" -> " \\\" -> \" \\\\\" -> \\" */ #define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" #define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" char ** prepare_spawn (char **argv) { size_t argc; char **new_argv; size_t i; /* Count number of arguments. */ for (argc = 0; argv[argc] != NULL; argc++) ; /* Allocate new argument vector. */ new_argv = XMALLOC (char *, argc + 1); /* Put quoted arguments into the new argument vector. */ for (i = 0; i < argc; i++) { const char *string = argv[i]; if (string[0] == '\0') new_argv[i] = xstrdup ("\"\""); else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL) { int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL); size_t length; unsigned int backslashes; const char *s; char *quoted_string; char *p; length = 0; backslashes = 0; if (quote_around) length++; for (s = string; *s != '\0'; s++) { char c = *s; if (c == '"') length += backslashes + 1; length++; if (c == '\\') backslashes++; else backslashes = 0; } if (quote_around) length += backslashes + 1; quoted_string = XMALLOC (char, length + 1); p = quoted_string; backslashes = 0; if (quote_around) *p++ = '"'; for (s = string; *s != '\0'; s++) { char c = *s; if (c == '"') { unsigned int j; for (j = backslashes + 1; j > 0; j--) *p++ = '\\'; } *p++ = c; if (c == '\\') backslashes++; else backslashes = 0; } if (quote_around) { unsigned int j; for (j = backslashes; j > 0; j--) *p++ = '\\'; *p++ = '"'; } *p = '\0'; new_argv[i] = quoted_string; } else new_argv[i] = (char *) string; } new_argv[argc] = NULL; return new_argv; } EOF ;; esac cat <<"EOF" void lt_dump_script (FILE* f) { EOF func_emit_wrapper yes | $SED -n -e ' s/^\(.\{79\}\)\(..*\)/\1\ \2/ h s/\([\\"]\)/\\\1/g s/$/\\n/ s/\([^\n]*\).*/ fputs ("\1", f);/p g D' cat <<"EOF" } EOF } # end: func_emit_cwrapperexe_src # func_win32_import_lib_p ARG # True if ARG is an import lib, as indicated by $file_magic_cmd func_win32_import_lib_p () { $debug_cmd case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in *import*) : ;; *) false ;; esac } # func_suncc_cstd_abi # !!ONLY CALL THIS FOR SUN CC AFTER $compile_command IS FULLY EXPANDED!! # Several compiler flags select an ABI that is incompatible with the # Cstd library. Avoid specifying it if any are in CXXFLAGS. func_suncc_cstd_abi () { $debug_cmd case " $compile_command " in *" -compat=g "*|*\ -std=c++[0-9][0-9]\ *|*" -library=stdcxx4 "*|*" -library=stlport4 "*) suncc_use_cstd_abi=no ;; *) suncc_use_cstd_abi=yes ;; esac } # func_mode_link arg... func_mode_link () { $debug_cmd case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) # It is impossible to link a dll without this setting, and # we shouldn't force the makefile maintainer to figure out # what system we are compiling for in order to pass an extra # flag for every libtool invocation. # allow_undefined=no # FIXME: Unfortunately, there are problems with the above when trying # to make a dll that has undefined symbols, in which case not # even a static library is built. For now, we need to specify # -no-undefined on the libtool link line when we can be certain # that all symbols are satisfied, otherwise we get a static library. allow_undefined=yes ;; *) allow_undefined=yes ;; esac libtool_args=$nonopt base_compile="$nonopt $@" compile_command=$nonopt finalize_command=$nonopt compile_rpath= finalize_rpath= compile_shlibpath= finalize_shlibpath= convenience= old_convenience= deplibs= old_deplibs= compiler_flags= linker_flags= dllsearchpath= lib_search_path=`pwd` inst_prefix_dir= new_inherited_linker_flags= avoid_version=no bindir= dlfiles= dlprefiles= dlself=no export_dynamic=no export_symbols= export_symbols_regex= generated= libobjs= ltlibs= module=no no_install=no objs= os2dllname= non_pic_objects= precious_files_regex= prefer_static_libs=no preload=false prev= prevarg= release= rpath= xrpath= perm_rpath= temp_rpath= thread_safe=no vinfo= vinfo_number=no weak_libs= single_module=$wl-single_module func_infer_tag $base_compile # We need to know -static, to get the right output filenames. for arg do case $arg in -shared) test yes != "$build_libtool_libs" \ && func_fatal_configuration "cannot build a shared library" build_old_libs=no break ;; -all-static | -static | -static-libtool-libs) case $arg in -all-static) if test yes = "$build_libtool_libs" && test -z "$link_static_flag"; then func_warning "complete static linking is impossible in this configuration" fi if test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; -static) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=built ;; -static-libtool-libs) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; esac build_libtool_libs=no build_old_libs=yes break ;; esac done # See if our shared archives depend on static archives. test -n "$old_archive_from_new_cmds" && build_old_libs=yes # Go through the arguments, transforming them on the way. while test "$#" -gt 0; do arg=$1 shift func_quote_for_eval "$arg" qarg=$func_quote_for_eval_unquoted_result func_append libtool_args " $func_quote_for_eval_result" # If the previous option needs an argument, assign it. if test -n "$prev"; then case $prev in output) func_append compile_command " @OUTPUT@" func_append finalize_command " @OUTPUT@" ;; esac case $prev in bindir) bindir=$arg prev= continue ;; dlfiles|dlprefiles) $preload || { # Add the symbol object into the linking commands. func_append compile_command " @SYMFILE@" func_append finalize_command " @SYMFILE@" preload=: } case $arg in *.la | *.lo) ;; # We handle these cases below. force) if test no = "$dlself"; then dlself=needless export_dynamic=yes fi prev= continue ;; self) if test dlprefiles = "$prev"; then dlself=yes elif test dlfiles = "$prev" && test yes != "$dlopen_self"; then dlself=yes else dlself=needless export_dynamic=yes fi prev= continue ;; *) if test dlfiles = "$prev"; then func_append dlfiles " $arg" else func_append dlprefiles " $arg" fi prev= continue ;; esac ;; expsyms) export_symbols=$arg test -f "$arg" \ || func_fatal_error "symbol file '$arg' does not exist" prev= continue ;; expsyms_regex) export_symbols_regex=$arg prev= continue ;; framework) case $host in *-*-darwin*) case "$deplibs " in *" $qarg.ltframework "*) ;; *) func_append deplibs " $qarg.ltframework" # this is fixed later ;; esac ;; esac prev= continue ;; inst_prefix) inst_prefix_dir=$arg prev= continue ;; mllvm) # Clang does not use LLVM to link, so we can simply discard any # '-mllvm $arg' options when doing the link step. prev= continue ;; objectlist) if test -f "$arg"; then save_arg=$arg moreargs= for fil in `cat "$save_arg"` do # func_append moreargs " $fil" arg=$fil # A libtool-controlled object. # Check to see that this really is a libtool object. if func_lalib_unsafe_p "$arg"; then pic_object= non_pic_object= # Read the .lo file func_source "$arg" if test -z "$pic_object" || test -z "$non_pic_object" || test none = "$pic_object" && test none = "$non_pic_object"; then func_fatal_error "cannot find name of object for '$arg'" fi # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir=$func_dirname_result if test none != "$pic_object"; then # Prepend the subdirectory the object is found in. pic_object=$xdir$pic_object if test dlfiles = "$prev"; then if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then func_append dlfiles " $pic_object" prev= continue else # If libtool objects are unsupported, then we need to preload. prev=dlprefiles fi fi # CHECK ME: I think I busted this. -Ossama if test dlprefiles = "$prev"; then # Preload the old-style object. func_append dlprefiles " $pic_object" prev= fi # A PIC object. func_append libobjs " $pic_object" arg=$pic_object fi # Non-PIC object. if test none != "$non_pic_object"; then # Prepend the subdirectory the object is found in. non_pic_object=$xdir$non_pic_object # A standard non-PIC object func_append non_pic_objects " $non_pic_object" if test -z "$pic_object" || test none = "$pic_object"; then arg=$non_pic_object fi else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object=$pic_object func_append non_pic_objects " $non_pic_object" fi else # Only an error if not doing a dry-run. if $opt_dry_run; then # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir=$func_dirname_result func_lo2o "$arg" pic_object=$xdir$objdir/$func_lo2o_result non_pic_object=$xdir$func_lo2o_result func_append libobjs " $pic_object" func_append non_pic_objects " $non_pic_object" else func_fatal_error "'$arg' is not a valid libtool object" fi fi done else func_fatal_error "link input file '$arg' does not exist" fi arg=$save_arg prev= continue ;; os2dllname) os2dllname=$arg prev= continue ;; precious_regex) precious_files_regex=$arg prev= continue ;; release) release=-$arg prev= continue ;; rpath | xrpath) # We need an absolute path. case $arg in [\\/]* | [A-Za-z]:[\\/]*) ;; *) func_fatal_error "only absolute run-paths are allowed" ;; esac if test rpath = "$prev"; then case "$rpath " in *" $arg "*) ;; *) func_append rpath " $arg" ;; esac else case "$xrpath " in *" $arg "*) ;; *) func_append xrpath " $arg" ;; esac fi prev= continue ;; shrext) shrext_cmds=$arg prev= continue ;; weak) func_append weak_libs " $arg" prev= continue ;; xcclinker) func_append linker_flags " $qarg" func_append compiler_flags " $qarg" prev= func_append compile_command " $qarg" func_append finalize_command " $qarg" continue ;; xcompiler) func_append compiler_flags " $qarg" prev= func_append compile_command " $qarg" func_append finalize_command " $qarg" continue ;; xlinker) func_append linker_flags " $qarg" func_append compiler_flags " $wl$qarg" prev= func_append compile_command " $wl$qarg" func_append finalize_command " $wl$qarg" continue ;; *) eval "$prev=\"\$arg\"" prev= continue ;; esac fi # test -n "$prev" prevarg=$arg case $arg in -all-static) if test -n "$link_static_flag"; then # See comment for -static flag below, for more details. func_append compile_command " $link_static_flag" func_append finalize_command " $link_static_flag" fi continue ;; -allow-undefined) # FIXME: remove this flag sometime in the future. func_fatal_error "'-allow-undefined' must not be used because it is the default" ;; -avoid-version) avoid_version=yes continue ;; -bindir) prev=bindir continue ;; -dlopen) prev=dlfiles continue ;; -dlpreopen) prev=dlprefiles continue ;; -export-dynamic) export_dynamic=yes continue ;; -export-symbols | -export-symbols-regex) if test -n "$export_symbols" || test -n "$export_symbols_regex"; then func_fatal_error "more than one -exported-symbols argument is not allowed" fi if test X-export-symbols = "X$arg"; then prev=expsyms else prev=expsyms_regex fi continue ;; -framework) prev=framework continue ;; -inst-prefix-dir) prev=inst_prefix continue ;; # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* # so, if we see these flags be careful not to treat them like -L -L[A-Z][A-Z]*:*) case $with_gcc/$host in no/*-*-irix* | /*-*-irix*) func_append compile_command " $arg" func_append finalize_command " $arg" ;; esac continue ;; -L*) func_stripname "-L" '' "$arg" if test -z "$func_stripname_result"; then if test "$#" -gt 0; then func_fatal_error "require no space between '-L' and '$1'" else func_fatal_error "need path for '-L' option" fi fi func_resolve_sysroot "$func_stripname_result" dir=$func_resolve_sysroot_result # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) ;; *) absdir=`cd "$dir" && pwd` test -z "$absdir" && \ func_fatal_error "cannot determine absolute directory name of '$dir'" dir=$absdir ;; esac case "$deplibs " in *" -L$dir "* | *" $arg "*) # Will only happen for absolute or sysroot arguments ;; *) # Preserve sysroot, but never include relative directories case $dir in [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;; *) func_append deplibs " -L$dir" ;; esac func_append lib_search_path " $dir" ;; esac case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'` case :$dllsearchpath: in *":$dir:"*) ;; ::) dllsearchpath=$dir;; *) func_append dllsearchpath ":$dir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; ::) dllsearchpath=$testbindir;; *) func_append dllsearchpath ":$testbindir";; esac ;; esac continue ;; -l*) if test X-lc = "X$arg" || test X-lm = "X$arg"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) # These systems don't actually have a C or math library (as such) continue ;; *-*-os2*) # These systems don't actually have a C library (as such) test X-lc = "X$arg" && continue ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) # Do not include libc due to us having libc/libc_r. test X-lc = "X$arg" && continue ;; *-*-rhapsody* | *-*-darwin1.[012]) # Rhapsody C and math libraries are in the System framework func_append deplibs " System.ltframework" continue ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype test X-lc = "X$arg" && continue ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work test X-lc = "X$arg" && continue ;; esac elif test X-lc_r = "X$arg"; then case $host in *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) # Do not include libc_r directly, use -pthread flag. continue ;; esac fi func_append deplibs " $arg" continue ;; -mllvm) prev=mllvm continue ;; -module) module=yes continue ;; # Tru64 UNIX uses -model [arg] to determine the layout of C++ # classes, name mangling, and exception handling. # Darwin uses the -arch flag to determine output architecture. -model|-arch|-isysroot|--sysroot) func_append compiler_flags " $arg" func_append compile_command " $arg" func_append finalize_command " $arg" prev=xcompiler continue ;; -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) func_append compiler_flags " $arg" func_append compile_command " $arg" func_append finalize_command " $arg" case "$new_inherited_linker_flags " in *" $arg "*) ;; * ) func_append new_inherited_linker_flags " $arg" ;; esac continue ;; -multi_module) single_module=$wl-multi_module continue ;; -no-fast-install) fast_install=no continue ;; -no-install) case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) # The PATH hackery in wrapper scripts is required on Windows # and Darwin in order for the loader to find any dlls it needs. func_warning "'-no-install' is ignored for $host" func_warning "assuming '-no-fast-install' instead" fast_install=no ;; *) no_install=yes ;; esac continue ;; -no-undefined) allow_undefined=no continue ;; -objectlist) prev=objectlist continue ;; -os2dllname) prev=os2dllname continue ;; -o) prev=output ;; -precious-files-regex) prev=precious_regex continue ;; -release) prev=release continue ;; -rpath) prev=rpath continue ;; -R) prev=xrpath continue ;; -R*) func_stripname '-R' '' "$arg" dir=$func_stripname_result # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) ;; =*) func_stripname '=' '' "$dir" dir=$lt_sysroot$func_stripname_result ;; *) func_fatal_error "only absolute run-paths are allowed" ;; esac case "$xrpath " in *" $dir "*) ;; *) func_append xrpath " $dir" ;; esac continue ;; -shared) # The effects of -shared are defined in a previous loop. continue ;; -shrext) prev=shrext continue ;; -static | -static-libtool-libs) # The effects of -static are defined in a previous loop. # We used to do the same as -all-static on platforms that # didn't have a PIC flag, but the assumption that the effects # would be equivalent was wrong. It would break on at least # Digital Unix and AIX. continue ;; -thread-safe) thread_safe=yes continue ;; -version-info) prev=vinfo continue ;; -version-number) prev=vinfo vinfo_number=yes continue ;; -weak) prev=weak continue ;; -Wc,*) func_stripname '-Wc,' '' "$arg" args=$func_stripname_result arg= save_ifs=$IFS; IFS=, for flag in $args; do IFS=$save_ifs func_quote_for_eval "$flag" func_append arg " $func_quote_for_eval_result" func_append compiler_flags " $func_quote_for_eval_result" done IFS=$save_ifs func_stripname ' ' '' "$arg" arg=$func_stripname_result ;; -Wl,*) func_stripname '-Wl,' '' "$arg" args=$func_stripname_result arg= save_ifs=$IFS; IFS=, for flag in $args; do IFS=$save_ifs func_quote_for_eval "$flag" func_append arg " $wl$func_quote_for_eval_result" func_append compiler_flags " $wl$func_quote_for_eval_result" func_append linker_flags " $func_quote_for_eval_result" done IFS=$save_ifs func_stripname ' ' '' "$arg" arg=$func_stripname_result ;; -Xcompiler) prev=xcompiler continue ;; -Xlinker) prev=xlinker continue ;; -XCClinker) prev=xcclinker continue ;; # -msg_* for osf cc -msg_*) func_quote_for_eval "$arg" arg=$func_quote_for_eval_result ;; # Flags to be passed through unchanged, with rationale: # -64, -mips[0-9] enable 64-bit mode for the SGI compiler # -r[0-9][0-9]* specify processor for the SGI compiler # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler # +DA*, +DD* enable 64-bit mode for the HP compiler # -q* compiler args for the IBM compiler # -m*, -t[45]*, -txscale* architecture-specific flags for GCC # -F/path path to uninstalled frameworks, gcc on darwin # -p, -pg, --coverage, -fprofile-* profiling flags for GCC # -fstack-protector* stack protector flags for GCC # @file GCC response files # -tp=* Portland pgcc target processor selection # --sysroot=* for sysroot support # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization # -specs=* GCC specs files # -stdlib=* select c++ std lib with clang # -fsanitize=* Clang/GCC memory and address sanitizer -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \ -specs=*|-fsanitize=*) func_quote_for_eval "$arg" arg=$func_quote_for_eval_result func_append compile_command " $arg" func_append finalize_command " $arg" func_append compiler_flags " $arg" continue ;; -Z*) if test os2 = "`expr $host : '.*\(os2\)'`"; then # OS/2 uses -Zxxx to specify OS/2-specific options compiler_flags="$compiler_flags $arg" func_append compile_command " $arg" func_append finalize_command " $arg" case $arg in -Zlinker | -Zstack) prev=xcompiler ;; esac continue else # Otherwise treat like 'Some other compiler flag' below func_quote_for_eval "$arg" arg=$func_quote_for_eval_result fi ;; # Some other compiler flag. -* | +*) func_quote_for_eval "$arg" arg=$func_quote_for_eval_result ;; *.$objext) # A standard object. func_append objs " $arg" ;; *.lo) # A libtool-controlled object. # Check to see that this really is a libtool object. if func_lalib_unsafe_p "$arg"; then pic_object= non_pic_object= # Read the .lo file func_source "$arg" if test -z "$pic_object" || test -z "$non_pic_object" || test none = "$pic_object" && test none = "$non_pic_object"; then func_fatal_error "cannot find name of object for '$arg'" fi # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir=$func_dirname_result test none = "$pic_object" || { # Prepend the subdirectory the object is found in. pic_object=$xdir$pic_object if test dlfiles = "$prev"; then if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then func_append dlfiles " $pic_object" prev= continue else # If libtool objects are unsupported, then we need to preload. prev=dlprefiles fi fi # CHECK ME: I think I busted this. -Ossama if test dlprefiles = "$prev"; then # Preload the old-style object. func_append dlprefiles " $pic_object" prev= fi # A PIC object. func_append libobjs " $pic_object" arg=$pic_object } # Non-PIC object. if test none != "$non_pic_object"; then # Prepend the subdirectory the object is found in. non_pic_object=$xdir$non_pic_object # A standard non-PIC object func_append non_pic_objects " $non_pic_object" if test -z "$pic_object" || test none = "$pic_object"; then arg=$non_pic_object fi else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object=$pic_object func_append non_pic_objects " $non_pic_object" fi else # Only an error if not doing a dry-run. if $opt_dry_run; then # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir=$func_dirname_result func_lo2o "$arg" pic_object=$xdir$objdir/$func_lo2o_result non_pic_object=$xdir$func_lo2o_result func_append libobjs " $pic_object" func_append non_pic_objects " $non_pic_object" else func_fatal_error "'$arg' is not a valid libtool object" fi fi ;; *.$libext) # An archive. func_append deplibs " $arg" func_append old_deplibs " $arg" continue ;; *.la) # A libtool-controlled library. func_resolve_sysroot "$arg" if test dlfiles = "$prev"; then # This library was specified with -dlopen. func_append dlfiles " $func_resolve_sysroot_result" prev= elif test dlprefiles = "$prev"; then # The library was specified with -dlpreopen. func_append dlprefiles " $func_resolve_sysroot_result" prev= else func_append deplibs " $func_resolve_sysroot_result" fi continue ;; # Some other compiler argument. *) # Unknown arguments in both finalize_command and compile_command need # to be aesthetically quoted because they are evaled later. func_quote_for_eval "$arg" arg=$func_quote_for_eval_result ;; esac # arg # Now actually substitute the argument into the commands. if test -n "$arg"; then func_append compile_command " $arg" func_append finalize_command " $arg" fi done # argument parsing loop test -n "$prev" && \ func_fatal_help "the '$prevarg' option requires an argument" if test yes = "$export_dynamic" && test -n "$export_dynamic_flag_spec"; then eval arg=\"$export_dynamic_flag_spec\" func_append compile_command " $arg" func_append finalize_command " $arg" fi oldlibs= # calculate the name of the file, without its directory func_basename "$output" outputname=$func_basename_result libobjs_save=$libobjs if test -n "$shlibpath_var"; then # get the directories listed in $shlibpath_var eval shlib_search_path=\`\$ECHO \"\$$shlibpath_var\" \| \$SED \'s/:/ /g\'\` else shlib_search_path= fi eval sys_lib_search_path=\"$sys_lib_search_path_spec\" eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" # Definition is injected by LT_CONFIG during libtool generation. func_munge_path_list sys_lib_dlsearch_path "$LT_SYS_LIBRARY_PATH" func_dirname "$output" "/" "" output_objdir=$func_dirname_result$objdir func_to_tool_file "$output_objdir/" tool_output_objdir=$func_to_tool_file_result # Create the object directory. func_mkdir_p "$output_objdir" # Determine the type of output case $output in "") func_fatal_help "you must specify an output file" ;; *.$libext) linkmode=oldlib ;; *.lo | *.$objext) linkmode=obj ;; *.la) linkmode=lib ;; *) linkmode=prog ;; # Anything else should be a program. esac specialdeplibs= libs= # Find all interdependent deplibs by searching for libraries # that are linked more than once (e.g. -la -lb -la) for deplib in $deplibs; do if $opt_preserve_dup_deps; then case "$libs " in *" $deplib "*) func_append specialdeplibs " $deplib" ;; esac fi func_append libs " $deplib" done if test lib = "$linkmode"; then libs="$predeps $libs $compiler_lib_search_path $postdeps" # Compute libraries that are listed more than once in $predeps # $postdeps and mark them as special (i.e., whose duplicates are # not to be eliminated). pre_post_deps= if $opt_duplicate_compiler_generated_deps; then for pre_post_dep in $predeps $postdeps; do case "$pre_post_deps " in *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;; esac func_append pre_post_deps " $pre_post_dep" done fi pre_post_deps= fi deplibs= newdependency_libs= newlib_search_path= need_relink=no # whether we're linking any uninstalled libtool libraries notinst_deplibs= # not-installed libtool libraries notinst_path= # paths that contain not-installed libtool libraries case $linkmode in lib) passes="conv dlpreopen link" for file in $dlfiles $dlprefiles; do case $file in *.la) ;; *) func_fatal_help "libraries can '-dlopen' only libtool libraries: $file" ;; esac done ;; prog) compile_deplibs= finalize_deplibs= alldeplibs=false newdlfiles= newdlprefiles= passes="conv scan dlopen dlpreopen link" ;; *) passes="conv" ;; esac for pass in $passes; do # The preopen pass in lib mode reverses $deplibs; put it back here # so that -L comes before libs that need it for instance... if test lib,link = "$linkmode,$pass"; then ## FIXME: Find the place where the list is rebuilt in the wrong ## order, and fix it there properly tmp_deplibs= for deplib in $deplibs; do tmp_deplibs="$deplib $tmp_deplibs" done deplibs=$tmp_deplibs fi if test lib,link = "$linkmode,$pass" || test prog,scan = "$linkmode,$pass"; then libs=$deplibs deplibs= fi if test prog = "$linkmode"; then case $pass in dlopen) libs=$dlfiles ;; dlpreopen) libs=$dlprefiles ;; link) libs="$deplibs %DEPLIBS%" test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" ;; esac fi if test lib,dlpreopen = "$linkmode,$pass"; then # Collect and forward deplibs of preopened libtool libs for lib in $dlprefiles; do # Ignore non-libtool-libs dependency_libs= func_resolve_sysroot "$lib" case $lib in *.la) func_source "$func_resolve_sysroot_result" ;; esac # Collect preopened libtool deplibs, except any this library # has declared as weak libs for deplib in $dependency_libs; do func_basename "$deplib" deplib_base=$func_basename_result case " $weak_libs " in *" $deplib_base "*) ;; *) func_append deplibs " $deplib" ;; esac done done libs=$dlprefiles fi if test dlopen = "$pass"; then # Collect dlpreopened libraries save_deplibs=$deplibs deplibs= fi for deplib in $libs; do lib= found=false case $deplib in -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) if test prog,link = "$linkmode,$pass"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else func_append compiler_flags " $deplib" if test lib = "$linkmode"; then case "$new_inherited_linker_flags " in *" $deplib "*) ;; * ) func_append new_inherited_linker_flags " $deplib" ;; esac fi fi continue ;; -l*) if test lib != "$linkmode" && test prog != "$linkmode"; then func_warning "'-l' is ignored for archives/objects" continue fi func_stripname '-l' '' "$deplib" name=$func_stripname_result if test lib = "$linkmode"; then searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" else searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" fi for searchdir in $searchdirs; do for search_ext in .la $std_shrext .so .a; do # Search the libtool library lib=$searchdir/lib$name$search_ext if test -f "$lib"; then if test .la = "$search_ext"; then found=: else found=false fi break 2 fi done done if $found; then # deplib is a libtool library # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, # We need to do some special things here, and not later. if test yes = "$allow_libtool_libs_with_static_runtimes"; then case " $predeps $postdeps " in *" $deplib "*) if func_lalib_p "$lib"; then library_names= old_library= func_source "$lib" for l in $old_library $library_names; do ll=$l done if test "X$ll" = "X$old_library"; then # only static version available found=false func_dirname "$lib" "" "." ladir=$func_dirname_result lib=$ladir/$old_library if test prog,link = "$linkmode,$pass"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs" fi continue fi fi ;; *) ;; esac fi else # deplib doesn't seem to be a libtool library if test prog,link = "$linkmode,$pass"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs" fi continue fi ;; # -l *.ltframework) if test prog,link = "$linkmode,$pass"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" if test lib = "$linkmode"; then case "$new_inherited_linker_flags " in *" $deplib "*) ;; * ) func_append new_inherited_linker_flags " $deplib" ;; esac fi fi continue ;; -L*) case $linkmode in lib) deplibs="$deplib $deplibs" test conv = "$pass" && continue newdependency_libs="$deplib $newdependency_libs" func_stripname '-L' '' "$deplib" func_resolve_sysroot "$func_stripname_result" func_append newlib_search_path " $func_resolve_sysroot_result" ;; prog) if test conv = "$pass"; then deplibs="$deplib $deplibs" continue fi if test scan = "$pass"; then deplibs="$deplib $deplibs" else compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" fi func_stripname '-L' '' "$deplib" func_resolve_sysroot "$func_stripname_result" func_append newlib_search_path " $func_resolve_sysroot_result" ;; *) func_warning "'-L' is ignored for archives/objects" ;; esac # linkmode continue ;; # -L -R*) if test link = "$pass"; then func_stripname '-R' '' "$deplib" func_resolve_sysroot "$func_stripname_result" dir=$func_resolve_sysroot_result # Make sure the xrpath contains only unique directories. case "$xrpath " in *" $dir "*) ;; *) func_append xrpath " $dir" ;; esac fi deplibs="$deplib $deplibs" continue ;; *.la) func_resolve_sysroot "$deplib" lib=$func_resolve_sysroot_result ;; *.$libext) if test conv = "$pass"; then deplibs="$deplib $deplibs" continue fi case $linkmode in lib) # Linking convenience modules into shared libraries is allowed, # but linking other static libraries is non-portable. case " $dlpreconveniencelibs " in *" $deplib "*) ;; *) valid_a_lib=false case $deplibs_check_method in match_pattern*) set dummy $deplibs_check_method; shift match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \ | $EGREP "$match_pattern_regex" > /dev/null; then valid_a_lib=: fi ;; pass_all) valid_a_lib=: ;; esac if $valid_a_lib; then echo $ECHO "*** Warning: Linking the shared library $output against the" $ECHO "*** static library $deplib is not portable!" deplibs="$deplib $deplibs" else echo $ECHO "*** Warning: Trying to link with static lib archive $deplib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have" echo "*** because the file extensions .$libext of this argument makes me believe" echo "*** that it is just a static archive that I should not use here." fi ;; esac continue ;; prog) if test link != "$pass"; then deplibs="$deplib $deplibs" else compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" fi continue ;; esac # linkmode ;; # *.$libext *.lo | *.$objext) if test conv = "$pass"; then deplibs="$deplib $deplibs" elif test prog = "$linkmode"; then if test dlpreopen = "$pass" || test yes != "$dlopen_support" || test no = "$build_libtool_libs"; then # If there is no dlopen support or we're linking statically, # we need to preload. func_append newdlprefiles " $deplib" compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else func_append newdlfiles " $deplib" fi fi continue ;; %DEPLIBS%) alldeplibs=: continue ;; esac # case $deplib $found || test -f "$lib" \ || func_fatal_error "cannot find the library '$lib' or unhandled argument '$deplib'" # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$lib" \ || func_fatal_error "'$lib' is not a valid libtool archive" func_dirname "$lib" "" "." ladir=$func_dirname_result dlname= dlopen= dlpreopen= libdir= library_names= old_library= inherited_linker_flags= # If the library was installed with an old release of libtool, # it will not redefine variables installed, or shouldnotlink installed=yes shouldnotlink=no avoidtemprpath= # Read the .la file func_source "$lib" # Convert "-framework foo" to "foo.ltframework" if test -n "$inherited_linker_flags"; then tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'` for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do case " $new_inherited_linker_flags " in *" $tmp_inherited_linker_flag "*) ;; *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";; esac done fi dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` if test lib,link = "$linkmode,$pass" || test prog,scan = "$linkmode,$pass" || { test prog != "$linkmode" && test lib != "$linkmode"; }; then test -n "$dlopen" && func_append dlfiles " $dlopen" test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen" fi if test conv = "$pass"; then # Only check for convenience libraries deplibs="$lib $deplibs" if test -z "$libdir"; then if test -z "$old_library"; then func_fatal_error "cannot find name of link library for '$lib'" fi # It is a libtool convenience library, so add in its objects. func_append convenience " $ladir/$objdir/$old_library" func_append old_convenience " $ladir/$objdir/$old_library" tmp_libs= for deplib in $dependency_libs; do deplibs="$deplib $deplibs" if $opt_preserve_dup_deps; then case "$tmp_libs " in *" $deplib "*) func_append specialdeplibs " $deplib" ;; esac fi func_append tmp_libs " $deplib" done elif test prog != "$linkmode" && test lib != "$linkmode"; then func_fatal_error "'$lib' is not a convenience library" fi continue fi # $pass = conv # Get the name of the library we link against. linklib= if test -n "$old_library" && { test yes = "$prefer_static_libs" || test built,no = "$prefer_static_libs,$installed"; }; then linklib=$old_library else for l in $old_library $library_names; do linklib=$l done fi if test -z "$linklib"; then func_fatal_error "cannot find name of link library for '$lib'" fi # This library was specified with -dlopen. if test dlopen = "$pass"; then test -z "$libdir" \ && func_fatal_error "cannot -dlopen a convenience library: '$lib'" if test -z "$dlname" || test yes != "$dlopen_support" || test no = "$build_libtool_libs" then # If there is no dlname, no dlopen support or we're linking # statically, we need to preload. We also need to preload any # dependent libraries so libltdl's deplib preloader doesn't # bomb out in the load deplibs phase. func_append dlprefiles " $lib $dependency_libs" else func_append newdlfiles " $lib" fi continue fi # $pass = dlopen # We need an absolute path. case $ladir in [\\/]* | [A-Za-z]:[\\/]*) abs_ladir=$ladir ;; *) abs_ladir=`cd "$ladir" && pwd` if test -z "$abs_ladir"; then func_warning "cannot determine absolute directory name of '$ladir'" func_warning "passing it literally to the linker, although it might fail" abs_ladir=$ladir fi ;; esac func_basename "$lib" laname=$func_basename_result # Find the relevant object directory and library name. if test yes = "$installed"; then if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then func_warning "library '$lib' was moved." dir=$ladir absdir=$abs_ladir libdir=$abs_ladir else dir=$lt_sysroot$libdir absdir=$lt_sysroot$libdir fi test yes = "$hardcode_automatic" && avoidtemprpath=yes else if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then dir=$ladir absdir=$abs_ladir # Remove this search path later func_append notinst_path " $abs_ladir" else dir=$ladir/$objdir absdir=$abs_ladir/$objdir # Remove this search path later func_append notinst_path " $abs_ladir" fi fi # $installed = yes func_stripname 'lib' '.la' "$laname" name=$func_stripname_result # This library was specified with -dlpreopen. if test dlpreopen = "$pass"; then if test -z "$libdir" && test prog = "$linkmode"; then func_fatal_error "only libraries may -dlpreopen a convenience library: '$lib'" fi case $host in # special handling for platforms with PE-DLLs. *cygwin* | *mingw* | *cegcc* ) # Linker will automatically link against shared library if both # static and shared are present. Therefore, ensure we extract # symbols from the import library if a shared library is present # (otherwise, the dlopen module name will be incorrect). We do # this by putting the import library name into $newdlprefiles. # We recover the dlopen module name by 'saving' the la file # name in a special purpose variable, and (later) extracting the # dlname from the la file. if test -n "$dlname"; then func_tr_sh "$dir/$linklib" eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname" func_append newdlprefiles " $dir/$linklib" else func_append newdlprefiles " $dir/$old_library" # Keep a list of preopened convenience libraries to check # that they are being used correctly in the link pass. test -z "$libdir" && \ func_append dlpreconveniencelibs " $dir/$old_library" fi ;; * ) # Prefer using a static library (so that no silly _DYNAMIC symbols # are required to link). if test -n "$old_library"; then func_append newdlprefiles " $dir/$old_library" # Keep a list of preopened convenience libraries to check # that they are being used correctly in the link pass. test -z "$libdir" && \ func_append dlpreconveniencelibs " $dir/$old_library" # Otherwise, use the dlname, so that lt_dlopen finds it. elif test -n "$dlname"; then func_append newdlprefiles " $dir/$dlname" else func_append newdlprefiles " $dir/$linklib" fi ;; esac fi # $pass = dlpreopen if test -z "$libdir"; then # Link the convenience library if test lib = "$linkmode"; then deplibs="$dir/$old_library $deplibs" elif test prog,link = "$linkmode,$pass"; then compile_deplibs="$dir/$old_library $compile_deplibs" finalize_deplibs="$dir/$old_library $finalize_deplibs" else deplibs="$lib $deplibs" # used for prog,scan pass fi continue fi if test prog = "$linkmode" && test link != "$pass"; then func_append newlib_search_path " $ladir" deplibs="$lib $deplibs" linkalldeplibs=false if test no != "$link_all_deplibs" || test -z "$library_names" || test no = "$build_libtool_libs"; then linkalldeplibs=: fi tmp_libs= for deplib in $dependency_libs; do case $deplib in -L*) func_stripname '-L' '' "$deplib" func_resolve_sysroot "$func_stripname_result" func_append newlib_search_path " $func_resolve_sysroot_result" ;; esac # Need to link against all dependency_libs? if $linkalldeplibs; then deplibs="$deplib $deplibs" else # Need to hardcode shared library paths # or/and link against static libraries newdependency_libs="$deplib $newdependency_libs" fi if $opt_preserve_dup_deps; then case "$tmp_libs " in *" $deplib "*) func_append specialdeplibs " $deplib" ;; esac fi func_append tmp_libs " $deplib" done # for deplib continue fi # $linkmode = prog... if test prog,link = "$linkmode,$pass"; then if test -n "$library_names" && { { test no = "$prefer_static_libs" || test built,yes = "$prefer_static_libs,$installed"; } || test -z "$old_library"; }; then # We need to hardcode the library path if test -n "$shlibpath_var" && test -z "$avoidtemprpath"; then # Make sure the rpath contains only unique directories. case $temp_rpath: in *"$absdir:"*) ;; *) func_append temp_rpath "$absdir:" ;; esac fi # Hardcode the library path. # Skip directories that are in the system default run-time # search path. case " $sys_lib_dlsearch_path " in *" $absdir "*) ;; *) case "$compile_rpath " in *" $absdir "*) ;; *) func_append compile_rpath " $absdir" ;; esac ;; esac case " $sys_lib_dlsearch_path " in *" $libdir "*) ;; *) case "$finalize_rpath " in *" $libdir "*) ;; *) func_append finalize_rpath " $libdir" ;; esac ;; esac fi # $linkmode,$pass = prog,link... if $alldeplibs && { test pass_all = "$deplibs_check_method" || { test yes = "$build_libtool_libs" && test -n "$library_names"; }; }; then # We only need to search for static libraries continue fi fi link_static=no # Whether the deplib will be linked statically use_static_libs=$prefer_static_libs if test built = "$use_static_libs" && test yes = "$installed"; then use_static_libs=no fi if test -n "$library_names" && { test no = "$use_static_libs" || test -z "$old_library"; }; then case $host in *cygwin* | *mingw* | *cegcc* | *os2*) # No point in relinking DLLs because paths are not encoded func_append notinst_deplibs " $lib" need_relink=no ;; *) if test no = "$installed"; then func_append notinst_deplibs " $lib" need_relink=yes fi ;; esac # This is a shared library # Warn about portability, can't link against -module's on some # systems (darwin). Don't bleat about dlopened modules though! dlopenmodule= for dlpremoduletest in $dlprefiles; do if test "X$dlpremoduletest" = "X$lib"; then dlopenmodule=$dlpremoduletest break fi done if test -z "$dlopenmodule" && test yes = "$shouldnotlink" && test link = "$pass"; then echo if test prog = "$linkmode"; then $ECHO "*** Warning: Linking the executable $output against the loadable module" else $ECHO "*** Warning: Linking the shared library $output against the loadable module" fi $ECHO "*** $linklib is not portable!" fi if test lib = "$linkmode" && test yes = "$hardcode_into_libs"; then # Hardcode the library path. # Skip directories that are in the system default run-time # search path. case " $sys_lib_dlsearch_path " in *" $absdir "*) ;; *) case "$compile_rpath " in *" $absdir "*) ;; *) func_append compile_rpath " $absdir" ;; esac ;; esac case " $sys_lib_dlsearch_path " in *" $libdir "*) ;; *) case "$finalize_rpath " in *" $libdir "*) ;; *) func_append finalize_rpath " $libdir" ;; esac ;; esac fi if test -n "$old_archive_from_expsyms_cmds"; then # figure out the soname set dummy $library_names shift realname=$1 shift libname=`eval "\\$ECHO \"$libname_spec\""` # use dlname if we got it. it's perfectly good, no? if test -n "$dlname"; then soname=$dlname elif test -n "$soname_spec"; then # bleh windows case $host in *cygwin* | mingw* | *cegcc* | *os2*) func_arith $current - $age major=$func_arith_result versuffix=-$major ;; esac eval soname=\"$soname_spec\" else soname=$realname fi # Make a new name for the extract_expsyms_cmds to use soroot=$soname func_basename "$soroot" soname=$func_basename_result func_stripname 'lib' '.dll' "$soname" newlib=libimp-$func_stripname_result.a # If the library has no export list, then create one now if test -f "$output_objdir/$soname-def"; then : else func_verbose "extracting exported symbol list from '$soname'" func_execute_cmds "$extract_expsyms_cmds" 'exit $?' fi # Create $newlib if test -f "$output_objdir/$newlib"; then :; else func_verbose "generating import library for '$soname'" func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' fi # make sure the library variables are pointing to the new library dir=$output_objdir linklib=$newlib fi # test -n "$old_archive_from_expsyms_cmds" if test prog = "$linkmode" || test relink != "$opt_mode"; then add_shlibpath= add_dir= add= lib_linked=yes case $hardcode_action in immediate | unsupported) if test no = "$hardcode_direct"; then add=$dir/$linklib case $host in *-*-sco3.2v5.0.[024]*) add_dir=-L$dir ;; *-*-sysv4*uw2*) add_dir=-L$dir ;; *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ *-*-unixware7*) add_dir=-L$dir ;; *-*-darwin* ) # if the lib is a (non-dlopened) module then we cannot # link against it, someone is ignoring the earlier warnings if /usr/bin/file -L $add 2> /dev/null | $GREP ": [^:]* bundle" >/dev/null; then if test "X$dlopenmodule" != "X$lib"; then $ECHO "*** Warning: lib $linklib is a module, not a shared library" if test -z "$old_library"; then echo echo "*** And there doesn't seem to be a static archive available" echo "*** The link will probably fail, sorry" else add=$dir/$old_library fi elif test -n "$old_library"; then add=$dir/$old_library fi fi esac elif test no = "$hardcode_minus_L"; then case $host in *-*-sunos*) add_shlibpath=$dir ;; esac add_dir=-L$dir add=-l$name elif test no = "$hardcode_shlibpath_var"; then add_shlibpath=$dir add=-l$name else lib_linked=no fi ;; relink) if test yes = "$hardcode_direct" && test no = "$hardcode_direct_absolute"; then add=$dir/$linklib elif test yes = "$hardcode_minus_L"; then add_dir=-L$absdir # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case $libdir in [\\/]*) func_append add_dir " -L$inst_prefix_dir$libdir" ;; esac fi add=-l$name elif test yes = "$hardcode_shlibpath_var"; then add_shlibpath=$dir add=-l$name else lib_linked=no fi ;; *) lib_linked=no ;; esac if test yes != "$lib_linked"; then func_fatal_configuration "unsupported hardcode properties" fi if test -n "$add_shlibpath"; then case :$compile_shlibpath: in *":$add_shlibpath:"*) ;; *) func_append compile_shlibpath "$add_shlibpath:" ;; esac fi if test prog = "$linkmode"; then test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" test -n "$add" && compile_deplibs="$add $compile_deplibs" else test -n "$add_dir" && deplibs="$add_dir $deplibs" test -n "$add" && deplibs="$add $deplibs" if test yes != "$hardcode_direct" && test yes != "$hardcode_minus_L" && test yes = "$hardcode_shlibpath_var"; then case :$finalize_shlibpath: in *":$libdir:"*) ;; *) func_append finalize_shlibpath "$libdir:" ;; esac fi fi fi if test prog = "$linkmode" || test relink = "$opt_mode"; then add_shlibpath= add_dir= add= # Finalize command for both is simple: just hardcode it. if test yes = "$hardcode_direct" && test no = "$hardcode_direct_absolute"; then add=$libdir/$linklib elif test yes = "$hardcode_minus_L"; then add_dir=-L$libdir add=-l$name elif test yes = "$hardcode_shlibpath_var"; then case :$finalize_shlibpath: in *":$libdir:"*) ;; *) func_append finalize_shlibpath "$libdir:" ;; esac add=-l$name elif test yes = "$hardcode_automatic"; then if test -n "$inst_prefix_dir" && test -f "$inst_prefix_dir$libdir/$linklib"; then add=$inst_prefix_dir$libdir/$linklib else add=$libdir/$linklib fi else # We cannot seem to hardcode it, guess we'll fake it. add_dir=-L$libdir # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case $libdir in [\\/]*) func_append add_dir " -L$inst_prefix_dir$libdir" ;; esac fi add=-l$name fi if test prog = "$linkmode"; then test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" test -n "$add" && finalize_deplibs="$add $finalize_deplibs" else test -n "$add_dir" && deplibs="$add_dir $deplibs" test -n "$add" && deplibs="$add $deplibs" fi fi elif test prog = "$linkmode"; then # Here we assume that one of hardcode_direct or hardcode_minus_L # is not unsupported. This is valid on all known static and # shared platforms. if test unsupported != "$hardcode_direct"; then test -n "$old_library" && linklib=$old_library compile_deplibs="$dir/$linklib $compile_deplibs" finalize_deplibs="$dir/$linklib $finalize_deplibs" else compile_deplibs="-l$name -L$dir $compile_deplibs" finalize_deplibs="-l$name -L$dir $finalize_deplibs" fi elif test yes = "$build_libtool_libs"; then # Not a shared library if test pass_all != "$deplibs_check_method"; then # We're trying link a shared library against a static one # but the system doesn't support it. # Just print a warning and add the library to dependency_libs so # that the program can be linked against the static library. echo $ECHO "*** Warning: This system cannot link to static lib archive $lib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have." if test yes = "$module"; then echo "*** But as you try to build a module library, libtool will still create " echo "*** a static module, that should work as long as the dlopening application" echo "*** is linked with the -dlopen flag to resolve symbols at runtime." if test -z "$global_symbol_pipe"; then echo echo "*** However, this would only work if libtool was able to extract symbol" echo "*** lists from a program, using 'nm' or equivalent, but libtool could" echo "*** not find such a program. So, this module is probably useless." echo "*** 'nm' from GNU binutils and a full rebuild may help." fi if test no = "$build_old_libs"; then build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi fi else deplibs="$dir/$old_library $deplibs" link_static=yes fi fi # link shared/static library? if test lib = "$linkmode"; then if test -n "$dependency_libs" && { test yes != "$hardcode_into_libs" || test yes = "$build_old_libs" || test yes = "$link_static"; }; then # Extract -R from dependency_libs temp_deplibs= for libdir in $dependency_libs; do case $libdir in -R*) func_stripname '-R' '' "$libdir" temp_xrpath=$func_stripname_result case " $xrpath " in *" $temp_xrpath "*) ;; *) func_append xrpath " $temp_xrpath";; esac;; *) func_append temp_deplibs " $libdir";; esac done dependency_libs=$temp_deplibs fi func_append newlib_search_path " $absdir" # Link against this library test no = "$link_static" && newdependency_libs="$abs_ladir/$laname $newdependency_libs" # ... and its dependency_libs tmp_libs= for deplib in $dependency_libs; do newdependency_libs="$deplib $newdependency_libs" case $deplib in -L*) func_stripname '-L' '' "$deplib" func_resolve_sysroot "$func_stripname_result";; *) func_resolve_sysroot "$deplib" ;; esac if $opt_preserve_dup_deps; then case "$tmp_libs " in *" $func_resolve_sysroot_result "*) func_append specialdeplibs " $func_resolve_sysroot_result" ;; esac fi func_append tmp_libs " $func_resolve_sysroot_result" done if test no != "$link_all_deplibs"; then # Add the search paths of all dependency libraries for deplib in $dependency_libs; do path= case $deplib in -L*) path=$deplib ;; *.la) func_resolve_sysroot "$deplib" deplib=$func_resolve_sysroot_result func_dirname "$deplib" "" "." dir=$func_dirname_result # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) absdir=$dir ;; *) absdir=`cd "$dir" && pwd` if test -z "$absdir"; then func_warning "cannot determine absolute directory name of '$dir'" absdir=$dir fi ;; esac if $GREP "^installed=no" $deplib > /dev/null; then case $host in *-*-darwin*) depdepl= eval deplibrary_names=`$SED -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` if test -n "$deplibrary_names"; then for tmp in $deplibrary_names; do depdepl=$tmp done if test -f "$absdir/$objdir/$depdepl"; then depdepl=$absdir/$objdir/$depdepl darwin_install_name=`$OTOOL -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` if test -z "$darwin_install_name"; then darwin_install_name=`$OTOOL64 -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` fi func_append compiler_flags " $wl-dylib_file $wl$darwin_install_name:$depdepl" func_append linker_flags " -dylib_file $darwin_install_name:$depdepl" path= fi fi ;; *) path=-L$absdir/$objdir ;; esac else eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` test -z "$libdir" && \ func_fatal_error "'$deplib' is not a valid libtool archive" test "$absdir" != "$libdir" && \ func_warning "'$deplib' seems to be moved" path=-L$absdir fi ;; esac case " $deplibs " in *" $path "*) ;; *) deplibs="$path $deplibs" ;; esac done fi # link_all_deplibs != no fi # linkmode = lib done # for deplib in $libs if test link = "$pass"; then if test prog = "$linkmode"; then compile_deplibs="$new_inherited_linker_flags $compile_deplibs" finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" else compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` fi fi dependency_libs=$newdependency_libs if test dlpreopen = "$pass"; then # Link the dlpreopened libraries before other libraries for deplib in $save_deplibs; do deplibs="$deplib $deplibs" done fi if test dlopen != "$pass"; then test conv = "$pass" || { # Make sure lib_search_path contains only unique directories. lib_search_path= for dir in $newlib_search_path; do case "$lib_search_path " in *" $dir "*) ;; *) func_append lib_search_path " $dir" ;; esac done newlib_search_path= } if test prog,link = "$linkmode,$pass"; then vars="compile_deplibs finalize_deplibs" else vars=deplibs fi for var in $vars dependency_libs; do # Add libraries to $var in reverse order eval tmp_libs=\"\$$var\" new_libs= for deplib in $tmp_libs; do # FIXME: Pedantically, this is the right thing to do, so # that some nasty dependency loop isn't accidentally # broken: #new_libs="$deplib $new_libs" # Pragmatically, this seems to cause very few problems in # practice: case $deplib in -L*) new_libs="$deplib $new_libs" ;; -R*) ;; *) # And here is the reason: when a library appears more # than once as an explicit dependence of a library, or # is implicitly linked in more than once by the # compiler, it is considered special, and multiple # occurrences thereof are not removed. Compare this # with having the same library being listed as a # dependency of multiple other libraries: in this case, # we know (pedantically, we assume) the library does not # need to be listed more than once, so we keep only the # last copy. This is not always right, but it is rare # enough that we require users that really mean to play # such unportable linking tricks to link the library # using -Wl,-lname, so that libtool does not consider it # for duplicate removal. case " $specialdeplibs " in *" $deplib "*) new_libs="$deplib $new_libs" ;; *) case " $new_libs " in *" $deplib "*) ;; *) new_libs="$deplib $new_libs" ;; esac ;; esac ;; esac done tmp_libs= for deplib in $new_libs; do case $deplib in -L*) case " $tmp_libs " in *" $deplib "*) ;; *) func_append tmp_libs " $deplib" ;; esac ;; *) func_append tmp_libs " $deplib" ;; esac done eval $var=\"$tmp_libs\" done # for var fi # Add Sun CC postdeps if required: test CXX = "$tagname" && { case $host_os in linux*) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 func_suncc_cstd_abi if test no != "$suncc_use_cstd_abi"; then func_append postdeps ' -library=Cstd -library=Crun' fi ;; esac ;; solaris*) func_cc_basename "$CC" case $func_cc_basename_result in CC* | sunCC*) func_suncc_cstd_abi if test no != "$suncc_use_cstd_abi"; then func_append postdeps ' -library=Cstd -library=Crun' fi ;; esac ;; esac } # Last step: remove runtime libs from dependency_libs # (they stay in deplibs) tmp_libs= for i in $dependency_libs; do case " $predeps $postdeps $compiler_lib_search_path " in *" $i "*) i= ;; esac if test -n "$i"; then func_append tmp_libs " $i" fi done dependency_libs=$tmp_libs done # for pass if test prog = "$linkmode"; then dlfiles=$newdlfiles fi if test prog = "$linkmode" || test lib = "$linkmode"; then dlprefiles=$newdlprefiles fi case $linkmode in oldlib) if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then func_warning "'-dlopen' is ignored for archives" fi case " $deplibs" in *\ -l* | *\ -L*) func_warning "'-l' and '-L' are ignored for archives" ;; esac test -n "$rpath" && \ func_warning "'-rpath' is ignored for archives" test -n "$xrpath" && \ func_warning "'-R' is ignored for archives" test -n "$vinfo" && \ func_warning "'-version-info/-version-number' is ignored for archives" test -n "$release" && \ func_warning "'-release' is ignored for archives" test -n "$export_symbols$export_symbols_regex" && \ func_warning "'-export-symbols' is ignored for archives" # Now set the variables for building old libraries. build_libtool_libs=no oldlibs=$output func_append objs "$old_deplibs" ;; lib) # Make sure we only generate libraries of the form 'libNAME.la'. case $outputname in lib*) func_stripname 'lib' '.la' "$outputname" name=$func_stripname_result eval shared_ext=\"$shrext_cmds\" eval libname=\"$libname_spec\" ;; *) test no = "$module" \ && func_fatal_help "libtool library '$output' must begin with 'lib'" if test no != "$need_lib_prefix"; then # Add the "lib" prefix for modules if required func_stripname '' '.la' "$outputname" name=$func_stripname_result eval shared_ext=\"$shrext_cmds\" eval libname=\"$libname_spec\" else func_stripname '' '.la' "$outputname" libname=$func_stripname_result fi ;; esac if test -n "$objs"; then if test pass_all != "$deplibs_check_method"; then func_fatal_error "cannot build libtool library '$output' from non-libtool objects on this host:$objs" else echo $ECHO "*** Warning: Linking the shared library $output against the non-libtool" $ECHO "*** objects $objs is not portable!" func_append libobjs " $objs" fi fi test no = "$dlself" \ || func_warning "'-dlopen self' is ignored for libtool libraries" set dummy $rpath shift test 1 -lt "$#" \ && func_warning "ignoring multiple '-rpath's for a libtool library" install_libdir=$1 oldlibs= if test -z "$rpath"; then if test yes = "$build_libtool_libs"; then # Building a libtool convenience library. # Some compilers have problems with a '.al' extension so # convenience libraries should have the same extension an # archive normally would. oldlibs="$output_objdir/$libname.$libext $oldlibs" build_libtool_libs=convenience build_old_libs=yes fi test -n "$vinfo" && \ func_warning "'-version-info/-version-number' is ignored for convenience libraries" test -n "$release" && \ func_warning "'-release' is ignored for convenience libraries" else # Parse the version information argument. save_ifs=$IFS; IFS=: set dummy $vinfo 0 0 0 shift IFS=$save_ifs test -n "$7" && \ func_fatal_help "too many parameters to '-version-info'" # convert absolute version numbers to libtool ages # this retains compatibility with .la files and attempts # to make the code below a bit more comprehensible case $vinfo_number in yes) number_major=$1 number_minor=$2 number_revision=$3 # # There are really only two kinds -- those that # use the current revision as the major version # and those that subtract age and use age as # a minor version. But, then there is irix # that has an extra 1 added just for fun # case $version_type in # correct linux to gnu/linux during the next big refactor darwin|freebsd-elf|linux|osf|windows|none) func_arith $number_major + $number_minor current=$func_arith_result age=$number_minor revision=$number_revision ;; freebsd-aout|qnx|sunos) current=$number_major revision=$number_minor age=0 ;; irix|nonstopux) func_arith $number_major + $number_minor current=$func_arith_result age=$number_minor revision=$number_minor lt_irix_increment=no ;; *) func_fatal_configuration "$modename: unknown library version type '$version_type'" ;; esac ;; no) current=$1 revision=$2 age=$3 ;; esac # Check that each of the things are valid numbers. case $current in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) func_error "CURRENT '$current' must be a nonnegative integer" func_fatal_error "'$vinfo' is not valid version information" ;; esac case $revision in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) func_error "REVISION '$revision' must be a nonnegative integer" func_fatal_error "'$vinfo' is not valid version information" ;; esac case $age in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) func_error "AGE '$age' must be a nonnegative integer" func_fatal_error "'$vinfo' is not valid version information" ;; esac if test "$age" -gt "$current"; then func_error "AGE '$age' is greater than the current interface number '$current'" func_fatal_error "'$vinfo' is not valid version information" fi # Calculate the version variables. major= versuffix= verstring= case $version_type in none) ;; darwin) # Like Linux, but with the current version available in # verstring for coding it into the library header func_arith $current - $age major=.$func_arith_result versuffix=$major.$age.$revision # Darwin ld doesn't like 0 for these options... func_arith $current + 1 minor_current=$func_arith_result xlcverstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" # On Darwin other compilers case $CC in nagfor*) verstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" ;; *) verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" ;; esac ;; freebsd-aout) major=.$current versuffix=.$current.$revision ;; freebsd-elf) func_arith $current - $age major=.$func_arith_result versuffix=$major.$age.$revision ;; irix | nonstopux) if test no = "$lt_irix_increment"; then func_arith $current - $age else func_arith $current - $age + 1 fi major=$func_arith_result case $version_type in nonstopux) verstring_prefix=nonstopux ;; *) verstring_prefix=sgi ;; esac verstring=$verstring_prefix$major.$revision # Add in all the interfaces that we are compatible with. loop=$revision while test 0 -ne "$loop"; do func_arith $revision - $loop iface=$func_arith_result func_arith $loop - 1 loop=$func_arith_result verstring=$verstring_prefix$major.$iface:$verstring done # Before this point, $major must not contain '.'. major=.$major versuffix=$major.$revision ;; linux) # correct to gnu/linux during the next big refactor func_arith $current - $age major=.$func_arith_result versuffix=$major.$age.$revision ;; osf) func_arith $current - $age major=.$func_arith_result versuffix=.$current.$age.$revision verstring=$current.$age.$revision # Add in all the interfaces that we are compatible with. loop=$age while test 0 -ne "$loop"; do func_arith $current - $loop iface=$func_arith_result func_arith $loop - 1 loop=$func_arith_result verstring=$verstring:$iface.0 done # Make executables depend on our current version. func_append verstring ":$current.0" ;; qnx) major=.$current versuffix=.$current ;; sco) major=.$current versuffix=.$current ;; sunos) major=.$current versuffix=.$current.$revision ;; windows) # Use '-' rather than '.', since we only want one # extension on DOS 8.3 file systems. func_arith $current - $age major=$func_arith_result versuffix=-$major ;; *) func_fatal_configuration "unknown library version type '$version_type'" ;; esac # Clear the version info if we defaulted, and they specified a release. if test -z "$vinfo" && test -n "$release"; then major= case $version_type in darwin) # we can't check for "0.0" in archive_cmds due to quoting # problems, so we reset it completely verstring= ;; *) verstring=0.0 ;; esac if test no = "$need_version"; then versuffix= else versuffix=.0.0 fi fi # Remove version info from name if versioning should be avoided if test yes,no = "$avoid_version,$need_version"; then major= versuffix= verstring= fi # Check to see if the archive will have undefined symbols. if test yes = "$allow_undefined"; then if test unsupported = "$allow_undefined_flag"; then if test yes = "$build_old_libs"; then func_warning "undefined symbols not allowed in $host shared libraries; building static only" build_libtool_libs=no else func_fatal_error "can't build $host shared library unless -no-undefined is specified" fi fi else # Don't allow undefined symbols. allow_undefined_flag=$no_undefined_flag fi fi func_generate_dlsyms "$libname" "$libname" : func_append libobjs " $symfileobj" test " " = "$libobjs" && libobjs= if test relink != "$opt_mode"; then # Remove our outputs, but don't remove object files since they # may have been created when compiling PIC objects. removelist= tempremovelist=`$ECHO "$output_objdir/*"` for p in $tempremovelist; do case $p in *.$objext | *.gcno) ;; $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/$libname$release.*) if test -n "$precious_files_regex"; then if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 then continue fi fi func_append removelist " $p" ;; *) ;; esac done test -n "$removelist" && \ func_show_eval "${RM}r \$removelist" fi # Now set the variables for building old libraries. if test yes = "$build_old_libs" && test convenience != "$build_libtool_libs"; then func_append oldlibs " $output_objdir/$libname.$libext" # Transform .lo files to .o files. oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; $lo2o" | $NL2SP` fi # Eliminate all temporary directories. #for path in $notinst_path; do # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"` # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"` # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"` #done if test -n "$xrpath"; then # If the user specified any rpath flags, then add them. temp_xrpath= for libdir in $xrpath; do func_replace_sysroot "$libdir" func_append temp_xrpath " -R$func_replace_sysroot_result" case "$finalize_rpath " in *" $libdir "*) ;; *) func_append finalize_rpath " $libdir" ;; esac done if test yes != "$hardcode_into_libs" || test yes = "$build_old_libs"; then dependency_libs="$temp_xrpath $dependency_libs" fi fi # Make sure dlfiles contains only unique files that won't be dlpreopened old_dlfiles=$dlfiles dlfiles= for lib in $old_dlfiles; do case " $dlprefiles $dlfiles " in *" $lib "*) ;; *) func_append dlfiles " $lib" ;; esac done # Make sure dlprefiles contains only unique files old_dlprefiles=$dlprefiles dlprefiles= for lib in $old_dlprefiles; do case "$dlprefiles " in *" $lib "*) ;; *) func_append dlprefiles " $lib" ;; esac done if test yes = "$build_libtool_libs"; then if test -n "$rpath"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) # these systems don't actually have a c library (as such)! ;; *-*-rhapsody* | *-*-darwin1.[012]) # Rhapsody C library is in the System framework func_append deplibs " System.ltframework" ;; *-*-netbsd*) # Don't link with libc until the a.out ld.so is fixed. ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc due to us having libc/libc_r. ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work ;; *) # Add libc to deplibs on all other systems if necessary. if test yes = "$build_libtool_need_lc"; then func_append deplibs " -lc" fi ;; esac fi # Transform deplibs into only deplibs that can be linked in shared. name_save=$name libname_save=$libname release_save=$release versuffix_save=$versuffix major_save=$major # I'm not sure if I'm treating the release correctly. I think # release should show up in the -l (ie -lgmp5) so we don't want to # add it in twice. Is that correct? release= versuffix= major= newdeplibs= droppeddeps=no case $deplibs_check_method in pass_all) # Don't check for shared/static. Everything works. # This might be a little naive. We might want to check # whether the library exists or not. But this is on # osf3 & osf4 and I'm not really sure... Just # implementing what was already the behavior. newdeplibs=$deplibs ;; test_compile) # This code stresses the "libraries are programs" paradigm to its # limits. Maybe even breaks it. We compile a program, linking it # against the deplibs as a proxy for the library. Then we can check # whether they linked in statically or dynamically with ldd. $opt_dry_run || $RM conftest.c cat > conftest.c </dev/null` $nocaseglob else potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null` fi for potent_lib in $potential_libs; do # Follow soft links. if ls -lLd "$potent_lib" 2>/dev/null | $GREP " -> " >/dev/null; then continue fi # The statement above tries to avoid entering an # endless loop below, in case of cyclic links. # We might still enter an endless loop, since a link # loop can be closed while we follow links, # but so what? potlib=$potent_lib while test -h "$potlib" 2>/dev/null; do potliblink=`ls -ld $potlib | $SED 's/.* -> //'` case $potliblink in [\\/]* | [A-Za-z]:[\\/]*) potlib=$potliblink;; *) potlib=`$ECHO "$potlib" | $SED 's|[^/]*$||'`"$potliblink";; esac done if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | $SED -e 10q | $EGREP "$file_magic_regex" > /dev/null; then func_append newdeplibs " $a_deplib" a_deplib= break 2 fi done done fi if test -n "$a_deplib"; then droppeddeps=yes echo $ECHO "*** Warning: linker path does not have real file for library $a_deplib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have" echo "*** because I did check the linker path looking for a file starting" if test -z "$potlib"; then $ECHO "*** with $libname but no candidates were found. (...for file magic test)" else $ECHO "*** with $libname and none of the candidates passed a file format test" $ECHO "*** using a file magic. Last file checked: $potlib" fi fi ;; *) # Add a -L argument. func_append newdeplibs " $a_deplib" ;; esac done # Gone through all deplibs. ;; match_pattern*) set dummy $deplibs_check_method; shift match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` for a_deplib in $deplibs; do case $a_deplib in -l*) func_stripname -l '' "$a_deplib" name=$func_stripname_result if test yes = "$allow_libtool_libs_with_static_runtimes"; then case " $predeps $postdeps " in *" $a_deplib "*) func_append newdeplibs " $a_deplib" a_deplib= ;; esac fi if test -n "$a_deplib"; then libname=`eval "\\$ECHO \"$libname_spec\""` for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do potential_libs=`ls $i/$libname[.-]* 2>/dev/null` for potent_lib in $potential_libs; do potlib=$potent_lib # see symlink-check above in file_magic test if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \ $EGREP "$match_pattern_regex" > /dev/null; then func_append newdeplibs " $a_deplib" a_deplib= break 2 fi done done fi if test -n "$a_deplib"; then droppeddeps=yes echo $ECHO "*** Warning: linker path does not have real file for library $a_deplib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have" echo "*** because I did check the linker path looking for a file starting" if test -z "$potlib"; then $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" else $ECHO "*** with $libname and none of the candidates passed a file format test" $ECHO "*** using a regex pattern. Last file checked: $potlib" fi fi ;; *) # Add a -L argument. func_append newdeplibs " $a_deplib" ;; esac done # Gone through all deplibs. ;; none | unknown | *) newdeplibs= tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'` if test yes = "$allow_libtool_libs_with_static_runtimes"; then for i in $predeps $postdeps; do # can't use Xsed below, because $i might contain '/' tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s|$i||"` done fi case $tmp_deplibs in *[!\ \ ]*) echo if test none = "$deplibs_check_method"; then echo "*** Warning: inter-library dependencies are not supported in this platform." else echo "*** Warning: inter-library dependencies are not known to be supported." fi echo "*** All declared inter-library dependencies are being dropped." droppeddeps=yes ;; esac ;; esac versuffix=$versuffix_save major=$major_save release=$release_save libname=$libname_save name=$name_save case $host in *-*-rhapsody* | *-*-darwin1.[012]) # On Rhapsody replace the C library with the System framework newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'` ;; esac if test yes = "$droppeddeps"; then if test yes = "$module"; then echo echo "*** Warning: libtool could not satisfy all declared inter-library" $ECHO "*** dependencies of module $libname. Therefore, libtool will create" echo "*** a static module, that should work as long as the dlopening" echo "*** application is linked with the -dlopen flag." if test -z "$global_symbol_pipe"; then echo echo "*** However, this would only work if libtool was able to extract symbol" echo "*** lists from a program, using 'nm' or equivalent, but libtool could" echo "*** not find such a program. So, this module is probably useless." echo "*** 'nm' from GNU binutils and a full rebuild may help." fi if test no = "$build_old_libs"; then oldlibs=$output_objdir/$libname.$libext build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi else echo "*** The inter-library dependencies that have been dropped here will be" echo "*** automatically added whenever a program is linked with this library" echo "*** or is declared to -dlopen it." if test no = "$allow_undefined"; then echo echo "*** Since this library must not contain undefined symbols," echo "*** because either the platform does not support them or" echo "*** it was explicitly requested with -no-undefined," echo "*** libtool will only create a static version of it." if test no = "$build_old_libs"; then oldlibs=$output_objdir/$libname.$libext build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi fi fi fi # Done checking deplibs! deplibs=$newdeplibs fi # Time to change all our "foo.ltframework" stuff back to "-framework foo" case $host in *-*-darwin*) newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` ;; esac # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $deplibs " in *" -L$path/$objdir "*) func_append new_libs " -L$path/$objdir" ;; esac ;; esac done for deplib in $deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) func_append new_libs " $deplib" ;; esac ;; *) func_append new_libs " $deplib" ;; esac done deplibs=$new_libs # All the library-specific variables (install_libdir is set above). library_names= old_library= dlname= # Test again, we may have decided not to build it any more if test yes = "$build_libtool_libs"; then # Remove $wl instances when linking with ld. # FIXME: should test the right _cmds variable. case $archive_cmds in *\$LD\ *) wl= ;; esac if test yes = "$hardcode_into_libs"; then # Hardcode the library paths hardcode_libdirs= dep_rpath= rpath=$finalize_rpath test relink = "$opt_mode" || rpath=$compile_rpath$rpath for libdir in $rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then func_replace_sysroot "$libdir" libdir=$func_replace_sysroot_result if test -z "$hardcode_libdirs"; then hardcode_libdirs=$libdir else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" func_append dep_rpath " $flag" fi elif test -n "$runpath_var"; then case "$perm_rpath " in *" $libdir "*) ;; *) func_append perm_rpath " $libdir" ;; esac fi done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir=$hardcode_libdirs eval "dep_rpath=\"$hardcode_libdir_flag_spec\"" fi if test -n "$runpath_var" && test -n "$perm_rpath"; then # We should set the runpath_var. rpath= for dir in $perm_rpath; do func_append rpath "$dir:" done eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" fi test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" fi shlibpath=$finalize_shlibpath test relink = "$opt_mode" || shlibpath=$compile_shlibpath$shlibpath if test -n "$shlibpath"; then eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" fi # Get the real and link names of the library. eval shared_ext=\"$shrext_cmds\" eval library_names=\"$library_names_spec\" set dummy $library_names shift realname=$1 shift if test -n "$soname_spec"; then eval soname=\"$soname_spec\" else soname=$realname fi if test -z "$dlname"; then dlname=$soname fi lib=$output_objdir/$realname linknames= for link do func_append linknames " $link" done # Use standard objects if they are pic test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP` test "X$libobjs" = "X " && libobjs= delfiles= if test -n "$export_symbols" && test -n "$include_expsyms"; then $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" export_symbols=$output_objdir/$libname.uexp func_append delfiles " $export_symbols" fi orig_export_symbols= case $host_os in cygwin* | mingw* | cegcc*) if test -n "$export_symbols" && test -z "$export_symbols_regex"; then # exporting using user supplied symfile func_dll_def_p "$export_symbols" || { # and it's NOT already a .def file. Must figure out # which of the given symbols are data symbols and tag # them as such. So, trigger use of export_symbols_cmds. # export_symbols gets reassigned inside the "prepare # the list of exported symbols" if statement, so the # include_expsyms logic still works. orig_export_symbols=$export_symbols export_symbols= always_export_symbols=yes } fi ;; esac # Prepare the list of exported symbols if test -z "$export_symbols"; then if test yes = "$always_export_symbols" || test -n "$export_symbols_regex"; then func_verbose "generating symbol list for '$libname.la'" export_symbols=$output_objdir/$libname.exp $opt_dry_run || $RM $export_symbols cmds=$export_symbols_cmds save_ifs=$IFS; IFS='~' for cmd1 in $cmds; do IFS=$save_ifs # Take the normal branch if the nm_file_list_spec branch # doesn't work or if tool conversion is not needed. case $nm_file_list_spec~$to_tool_file_cmd in *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*) try_normal_branch=yes eval cmd=\"$cmd1\" func_len " $cmd" len=$func_len_result ;; *) try_normal_branch=no ;; esac if test yes = "$try_normal_branch" \ && { test "$len" -lt "$max_cmd_len" \ || test "$max_cmd_len" -le -1; } then func_show_eval "$cmd" 'exit $?' skipped_export=false elif test -n "$nm_file_list_spec"; then func_basename "$output" output_la=$func_basename_result save_libobjs=$libobjs save_output=$output output=$output_objdir/$output_la.nm func_to_tool_file "$output" libobjs=$nm_file_list_spec$func_to_tool_file_result func_append delfiles " $output" func_verbose "creating $NM input file list: $output" for obj in $save_libobjs; do func_to_tool_file "$obj" $ECHO "$func_to_tool_file_result" done > "$output" eval cmd=\"$cmd1\" func_show_eval "$cmd" 'exit $?' output=$save_output libobjs=$save_libobjs skipped_export=false else # The command line is too long to execute in one step. func_verbose "using reloadable object file for export list..." skipped_export=: # Break out early, otherwise skipped_export may be # set to false by a later but shorter cmd. break fi done IFS=$save_ifs if test -n "$export_symbols_regex" && test : != "$skipped_export"; then func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' func_show_eval '$MV "${export_symbols}T" "$export_symbols"' fi fi fi if test -n "$export_symbols" && test -n "$include_expsyms"; then tmp_export_symbols=$export_symbols test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' fi if test : != "$skipped_export" && test -n "$orig_export_symbols"; then # The given exports_symbols file has to be filtered, so filter it. func_verbose "filter symbol list for '$libname.la' to tag DATA exports" # FIXME: $output_objdir/$libname.filter potentially contains lots of # 's' commands, which not all seds can handle. GNU sed should be fine # though. Also, the filter scales superlinearly with the number of # global variables. join(1) would be nice here, but unfortunately # isn't a blessed tool. $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter func_append delfiles " $export_symbols $output_objdir/$libname.filter" export_symbols=$output_objdir/$libname.def $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols fi tmp_deplibs= for test_deplib in $deplibs; do case " $convenience " in *" $test_deplib "*) ;; *) func_append tmp_deplibs " $test_deplib" ;; esac done deplibs=$tmp_deplibs if test -n "$convenience"; then if test -n "$whole_archive_flag_spec" && test yes = "$compiler_needs_object" && test -z "$libobjs"; then # extract the archives, so we have objects to list. # TODO: could optimize this to just extract one archive. whole_archive_flag_spec= fi if test -n "$whole_archive_flag_spec"; then save_libobjs=$libobjs eval libobjs=\"\$libobjs $whole_archive_flag_spec\" test "X$libobjs" = "X " && libobjs= else gentop=$output_objdir/${outputname}x func_append generated " $gentop" func_extract_archives $gentop $convenience func_append libobjs " $func_extract_archives_result" test "X$libobjs" = "X " && libobjs= fi fi if test yes = "$thread_safe" && test -n "$thread_safe_flag_spec"; then eval flag=\"$thread_safe_flag_spec\" func_append linker_flags " $flag" fi # Make a backup of the uninstalled library when relinking if test relink = "$opt_mode"; then $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? fi # Do each of the archive commands. if test yes = "$module" && test -n "$module_cmds"; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then eval test_cmds=\"$module_expsym_cmds\" cmds=$module_expsym_cmds else eval test_cmds=\"$module_cmds\" cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then eval test_cmds=\"$archive_expsym_cmds\" cmds=$archive_expsym_cmds else eval test_cmds=\"$archive_cmds\" cmds=$archive_cmds fi fi if test : != "$skipped_export" && func_len " $test_cmds" && len=$func_len_result && test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then : else # The command line is too long to link in one step, link piecewise # or, if using GNU ld and skipped_export is not :, use a linker # script. # Save the value of $output and $libobjs because we want to # use them later. If we have whole_archive_flag_spec, we # want to use save_libobjs as it was before # whole_archive_flag_spec was expanded, because we can't # assume the linker understands whole_archive_flag_spec. # This may have to be revisited, in case too many # convenience libraries get linked in and end up exceeding # the spec. if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then save_libobjs=$libobjs fi save_output=$output func_basename "$output" output_la=$func_basename_result # Clear the reloadable object creation command queue and # initialize k to one. test_cmds= concat_cmds= objlist= last_robj= k=1 if test -n "$save_libobjs" && test : != "$skipped_export" && test yes = "$with_gnu_ld"; then output=$output_objdir/$output_la.lnkscript func_verbose "creating GNU ld script: $output" echo 'INPUT (' > $output for obj in $save_libobjs do func_to_tool_file "$obj" $ECHO "$func_to_tool_file_result" >> $output done echo ')' >> $output func_append delfiles " $output" func_to_tool_file "$output" output=$func_to_tool_file_result elif test -n "$save_libobjs" && test : != "$skipped_export" && test -n "$file_list_spec"; then output=$output_objdir/$output_la.lnk func_verbose "creating linker input file list: $output" : > $output set x $save_libobjs shift firstobj= if test yes = "$compiler_needs_object"; then firstobj="$1 " shift fi for obj do func_to_tool_file "$obj" $ECHO "$func_to_tool_file_result" >> $output done func_append delfiles " $output" func_to_tool_file "$output" output=$firstobj\"$file_list_spec$func_to_tool_file_result\" else if test -n "$save_libobjs"; then func_verbose "creating reloadable object files..." output=$output_objdir/$output_la-$k.$objext eval test_cmds=\"$reload_cmds\" func_len " $test_cmds" len0=$func_len_result len=$len0 # Loop over the list of objects to be linked. for obj in $save_libobjs do func_len " $obj" func_arith $len + $func_len_result len=$func_arith_result if test -z "$objlist" || test "$len" -lt "$max_cmd_len"; then func_append objlist " $obj" else # The command $test_cmds is almost too long, add a # command to the queue. if test 1 -eq "$k"; then # The first file doesn't have a previous command to add. reload_objs=$objlist eval concat_cmds=\"$reload_cmds\" else # All subsequent reloadable object files will link in # the last one created. reload_objs="$objlist $last_robj" eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\" fi last_robj=$output_objdir/$output_la-$k.$objext func_arith $k + 1 k=$func_arith_result output=$output_objdir/$output_la-$k.$objext objlist=" $obj" func_len " $last_robj" func_arith $len0 + $func_len_result len=$func_arith_result fi done # Handle the remaining objects by creating one last # reloadable object file. All subsequent reloadable object # files will link in the last one created. test -z "$concat_cmds" || concat_cmds=$concat_cmds~ reload_objs="$objlist $last_robj" eval concat_cmds=\"\$concat_cmds$reload_cmds\" if test -n "$last_robj"; then eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" fi func_append delfiles " $output" else output= fi ${skipped_export-false} && { func_verbose "generating symbol list for '$libname.la'" export_symbols=$output_objdir/$libname.exp $opt_dry_run || $RM $export_symbols libobjs=$output # Append the command to create the export file. test -z "$concat_cmds" || concat_cmds=$concat_cmds~ eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\" if test -n "$last_robj"; then eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" fi } test -n "$save_libobjs" && func_verbose "creating a temporary reloadable object file: $output" # Loop through the commands generated above and execute them. save_ifs=$IFS; IFS='~' for cmd in $concat_cmds; do IFS=$save_ifs $opt_quiet || { func_quote_for_expand "$cmd" eval "func_echo $func_quote_for_expand_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test relink = "$opt_mode"; then ( cd "$output_objdir" && \ $RM "${realname}T" && \ $MV "${realname}U" "$realname" ) fi exit $lt_exit } done IFS=$save_ifs if test -n "$export_symbols_regex" && ${skipped_export-false}; then func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' func_show_eval '$MV "${export_symbols}T" "$export_symbols"' fi fi ${skipped_export-false} && { if test -n "$export_symbols" && test -n "$include_expsyms"; then tmp_export_symbols=$export_symbols test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' fi if test -n "$orig_export_symbols"; then # The given exports_symbols file has to be filtered, so filter it. func_verbose "filter symbol list for '$libname.la' to tag DATA exports" # FIXME: $output_objdir/$libname.filter potentially contains lots of # 's' commands, which not all seds can handle. GNU sed should be fine # though. Also, the filter scales superlinearly with the number of # global variables. join(1) would be nice here, but unfortunately # isn't a blessed tool. $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter func_append delfiles " $export_symbols $output_objdir/$libname.filter" export_symbols=$output_objdir/$libname.def $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols fi } libobjs=$output # Restore the value of output. output=$save_output if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then eval libobjs=\"\$libobjs $whole_archive_flag_spec\" test "X$libobjs" = "X " && libobjs= fi # Expand the library linking commands again to reset the # value of $libobjs for piecewise linking. # Do each of the archive commands. if test yes = "$module" && test -n "$module_cmds"; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then cmds=$module_expsym_cmds else cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then cmds=$archive_expsym_cmds else cmds=$archive_cmds fi fi fi if test -n "$delfiles"; then # Append the command to remove temporary files to $cmds. eval cmds=\"\$cmds~\$RM $delfiles\" fi # Add any objects from preloaded convenience libraries if test -n "$dlprefiles"; then gentop=$output_objdir/${outputname}x func_append generated " $gentop" func_extract_archives $gentop $dlprefiles func_append libobjs " $func_extract_archives_result" test "X$libobjs" = "X " && libobjs= fi save_ifs=$IFS; IFS='~' for cmd in $cmds; do IFS=$sp$nl eval cmd=\"$cmd\" IFS=$save_ifs $opt_quiet || { func_quote_for_expand "$cmd" eval "func_echo $func_quote_for_expand_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test relink = "$opt_mode"; then ( cd "$output_objdir" && \ $RM "${realname}T" && \ $MV "${realname}U" "$realname" ) fi exit $lt_exit } done IFS=$save_ifs # Restore the uninstalled library and exit if test relink = "$opt_mode"; then $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? if test -n "$convenience"; then if test -z "$whole_archive_flag_spec"; then func_show_eval '${RM}r "$gentop"' fi fi exit $EXIT_SUCCESS fi # Create links to the real library. for linkname in $linknames; do if test "$realname" != "$linkname"; then func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' fi done # If -module or -export-dynamic was specified, set the dlname. if test yes = "$module" || test yes = "$export_dynamic"; then # On all known operating systems, these are identical. dlname=$soname fi fi ;; obj) if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then func_warning "'-dlopen' is ignored for objects" fi case " $deplibs" in *\ -l* | *\ -L*) func_warning "'-l' and '-L' are ignored for objects" ;; esac test -n "$rpath" && \ func_warning "'-rpath' is ignored for objects" test -n "$xrpath" && \ func_warning "'-R' is ignored for objects" test -n "$vinfo" && \ func_warning "'-version-info' is ignored for objects" test -n "$release" && \ func_warning "'-release' is ignored for objects" case $output in *.lo) test -n "$objs$old_deplibs" && \ func_fatal_error "cannot build library object '$output' from non-libtool objects" libobj=$output func_lo2o "$libobj" obj=$func_lo2o_result ;; *) libobj= obj=$output ;; esac # Delete the old objects. $opt_dry_run || $RM $obj $libobj # Objects from convenience libraries. This assumes # single-version convenience libraries. Whenever we create # different ones for PIC/non-PIC, this we'll have to duplicate # the extraction. reload_conv_objs= gentop= # if reload_cmds runs $LD directly, get rid of -Wl from # whole_archive_flag_spec and hope we can get by with turning comma # into space. case $reload_cmds in *\$LD[\ \$]*) wl= ;; esac if test -n "$convenience"; then if test -n "$whole_archive_flag_spec"; then eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" test -n "$wl" || tmp_whole_archive_flags=`$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'` reload_conv_objs=$reload_objs\ $tmp_whole_archive_flags else gentop=$output_objdir/${obj}x func_append generated " $gentop" func_extract_archives $gentop $convenience reload_conv_objs="$reload_objs $func_extract_archives_result" fi fi # If we're not building shared, we need to use non_pic_objs test yes = "$build_libtool_libs" || libobjs=$non_pic_objects # Create the old-style object. reload_objs=$objs$old_deplibs' '`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; /\.lib$/d; $lo2o" | $NL2SP`' '$reload_conv_objs output=$obj func_execute_cmds "$reload_cmds" 'exit $?' # Exit if we aren't doing a library object file. if test -z "$libobj"; then if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi exit $EXIT_SUCCESS fi test yes = "$build_libtool_libs" || { if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi # Create an invalid libtool object if no PIC, so that we don't # accidentally link it into a program. # $show "echo timestamp > $libobj" # $opt_dry_run || eval "echo timestamp > $libobj" || exit $? exit $EXIT_SUCCESS } if test -n "$pic_flag" || test default != "$pic_mode"; then # Only do commands if we really have different PIC objects. reload_objs="$libobjs $reload_conv_objs" output=$libobj func_execute_cmds "$reload_cmds" 'exit $?' fi if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi exit $EXIT_SUCCESS ;; prog) case $host in *cygwin*) func_stripname '' '.exe' "$output" output=$func_stripname_result.exe;; esac test -n "$vinfo" && \ func_warning "'-version-info' is ignored for programs" test -n "$release" && \ func_warning "'-release' is ignored for programs" $preload \ && test unknown,unknown,unknown = "$dlopen_support,$dlopen_self,$dlopen_self_static" \ && func_warning "'LT_INIT([dlopen])' not used. Assuming no dlopen support." case $host in *-*-rhapsody* | *-*-darwin1.[012]) # On Rhapsody replace the C library is the System framework compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'` finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'` ;; esac case $host in *-*-darwin*) # Don't allow lazy linking, it breaks C++ global constructors # But is supposedly fixed on 10.4 or later (yay!). if test CXX = "$tagname"; then case ${MACOSX_DEPLOYMENT_TARGET-10.0} in 10.[0123]) func_append compile_command " $wl-bind_at_load" func_append finalize_command " $wl-bind_at_load" ;; esac fi # Time to change all our "foo.ltframework" stuff back to "-framework foo" compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` ;; esac # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $compile_deplibs " in *" -L$path/$objdir "*) func_append new_libs " -L$path/$objdir" ;; esac ;; esac done for deplib in $compile_deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) func_append new_libs " $deplib" ;; esac ;; *) func_append new_libs " $deplib" ;; esac done compile_deplibs=$new_libs func_append compile_command " $compile_deplibs" func_append finalize_command " $finalize_deplibs" if test -n "$rpath$xrpath"; then # If the user specified any rpath flags, then add them. for libdir in $rpath $xrpath; do # This is the magic to use -rpath. case "$finalize_rpath " in *" $libdir "*) ;; *) func_append finalize_rpath " $libdir" ;; esac done fi # Now hardcode the library paths rpath= hardcode_libdirs= for libdir in $compile_rpath $finalize_rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then hardcode_libdirs=$libdir else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" func_append rpath " $flag" fi elif test -n "$runpath_var"; then case "$perm_rpath " in *" $libdir "*) ;; *) func_append perm_rpath " $libdir" ;; esac fi case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) testbindir=`$ECHO "$libdir" | $SED -e 's*/lib$*/bin*'` case :$dllsearchpath: in *":$libdir:"*) ;; ::) dllsearchpath=$libdir;; *) func_append dllsearchpath ":$libdir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; ::) dllsearchpath=$testbindir;; *) func_append dllsearchpath ":$testbindir";; esac ;; esac done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir=$hardcode_libdirs eval rpath=\" $hardcode_libdir_flag_spec\" fi compile_rpath=$rpath rpath= hardcode_libdirs= for libdir in $finalize_rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then hardcode_libdirs=$libdir else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" func_append rpath " $flag" fi elif test -n "$runpath_var"; then case "$finalize_perm_rpath " in *" $libdir "*) ;; *) func_append finalize_perm_rpath " $libdir" ;; esac fi done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir=$hardcode_libdirs eval rpath=\" $hardcode_libdir_flag_spec\" fi finalize_rpath=$rpath if test -n "$libobjs" && test yes = "$build_old_libs"; then # Transform all the library objects into standard objects. compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP` finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP` fi func_generate_dlsyms "$outputname" "@PROGRAM@" false # template prelinking step if test -n "$prelink_cmds"; then func_execute_cmds "$prelink_cmds" 'exit $?' fi wrappers_required=: case $host in *cegcc* | *mingw32ce*) # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway. wrappers_required=false ;; *cygwin* | *mingw* ) test yes = "$build_libtool_libs" || wrappers_required=false ;; *) if test no = "$need_relink" || test yes != "$build_libtool_libs"; then wrappers_required=false fi ;; esac $wrappers_required || { # Replace the output file specification. compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'` link_command=$compile_command$compile_rpath # We have no uninstalled library dependencies, so finalize right now. exit_status=0 func_show_eval "$link_command" 'exit_status=$?' if test -n "$postlink_cmds"; then func_to_tool_file "$output" postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` func_execute_cmds "$postlink_cmds" 'exit $?' fi # Delete the generated files. if test -f "$output_objdir/${outputname}S.$objext"; then func_show_eval '$RM "$output_objdir/${outputname}S.$objext"' fi exit $exit_status } if test -n "$compile_shlibpath$finalize_shlibpath"; then compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" fi if test -n "$finalize_shlibpath"; then finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" fi compile_var= finalize_var= if test -n "$runpath_var"; then if test -n "$perm_rpath"; then # We should set the runpath_var. rpath= for dir in $perm_rpath; do func_append rpath "$dir:" done compile_var="$runpath_var=\"$rpath\$$runpath_var\" " fi if test -n "$finalize_perm_rpath"; then # We should set the runpath_var. rpath= for dir in $finalize_perm_rpath; do func_append rpath "$dir:" done finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " fi fi if test yes = "$no_install"; then # We don't need to create a wrapper script. link_command=$compile_var$compile_command$compile_rpath # Replace the output file specification. link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'` # Delete the old output file. $opt_dry_run || $RM $output # Link the executable and exit func_show_eval "$link_command" 'exit $?' if test -n "$postlink_cmds"; then func_to_tool_file "$output" postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` func_execute_cmds "$postlink_cmds" 'exit $?' fi exit $EXIT_SUCCESS fi case $hardcode_action,$fast_install in relink,*) # Fast installation is not supported link_command=$compile_var$compile_command$compile_rpath relink_command=$finalize_var$finalize_command$finalize_rpath func_warning "this platform does not like uninstalled shared libraries" func_warning "'$output' will be relinked during installation" ;; *,yes) link_command=$finalize_var$compile_command$finalize_rpath relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'` ;; *,no) link_command=$compile_var$compile_command$compile_rpath relink_command=$finalize_var$finalize_command$finalize_rpath ;; *,needless) link_command=$finalize_var$compile_command$finalize_rpath relink_command= ;; esac # Replace the output file specification. link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` # Delete the old output files. $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname func_show_eval "$link_command" 'exit $?' if test -n "$postlink_cmds"; then func_to_tool_file "$output_objdir/$outputname" postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` func_execute_cmds "$postlink_cmds" 'exit $?' fi # Now create the wrapper script. func_verbose "creating $output" # Quote the relink command for shipping. if test -n "$relink_command"; then # Preserve any variables that may affect compiler behavior for var in $variables_saved_for_relink; do if eval test -z \"\${$var+set}\"; then relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else func_quote_for_eval "$var_value" relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" fi done relink_command="(cd `pwd`; $relink_command)" relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` fi # Only actually do things if not in dry run mode. $opt_dry_run || { # win32 will think the script is a binary if it has # a .exe suffix, so we strip it off here. case $output in *.exe) func_stripname '' '.exe' "$output" output=$func_stripname_result ;; esac # test for cygwin because mv fails w/o .exe extensions case $host in *cygwin*) exeext=.exe func_stripname '' '.exe' "$outputname" outputname=$func_stripname_result ;; *) exeext= ;; esac case $host in *cygwin* | *mingw* ) func_dirname_and_basename "$output" "" "." output_name=$func_basename_result output_path=$func_dirname_result cwrappersource=$output_path/$objdir/lt-$output_name.c cwrapper=$output_path/$output_name.exe $RM $cwrappersource $cwrapper trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 func_emit_cwrapperexe_src > $cwrappersource # The wrapper executable is built using the $host compiler, # because it contains $host paths and files. If cross- # compiling, it, like the target executable, must be # executed on the $host or under an emulation environment. $opt_dry_run || { $LTCC $LTCFLAGS -o $cwrapper $cwrappersource $STRIP $cwrapper } # Now, create the wrapper script for func_source use: func_ltwrapper_scriptname $cwrapper $RM $func_ltwrapper_scriptname_result trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 $opt_dry_run || { # note: this script will not be executed, so do not chmod. if test "x$build" = "x$host"; then $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result else func_emit_wrapper no > $func_ltwrapper_scriptname_result fi } ;; * ) $RM $output trap "$RM $output; exit $EXIT_FAILURE" 1 2 15 func_emit_wrapper no > $output chmod +x $output ;; esac } exit $EXIT_SUCCESS ;; esac # See if we need to build an old-fashioned archive. for oldlib in $oldlibs; do case $build_libtool_libs in convenience) oldobjs="$libobjs_save $symfileobj" addlibs=$convenience build_libtool_libs=no ;; module) oldobjs=$libobjs_save addlibs=$old_convenience build_libtool_libs=no ;; *) oldobjs="$old_deplibs $non_pic_objects" $preload && test -f "$symfileobj" \ && func_append oldobjs " $symfileobj" addlibs=$old_convenience ;; esac if test -n "$addlibs"; then gentop=$output_objdir/${outputname}x func_append generated " $gentop" func_extract_archives $gentop $addlibs func_append oldobjs " $func_extract_archives_result" fi # Do each command in the archive commands. if test -n "$old_archive_from_new_cmds" && test yes = "$build_libtool_libs"; then cmds=$old_archive_from_new_cmds else # Add any objects from preloaded convenience libraries if test -n "$dlprefiles"; then gentop=$output_objdir/${outputname}x func_append generated " $gentop" func_extract_archives $gentop $dlprefiles func_append oldobjs " $func_extract_archives_result" fi # POSIX demands no paths to be encoded in archives. We have # to avoid creating archives with duplicate basenames if we # might have to extract them afterwards, e.g., when creating a # static archive out of a convenience library, or when linking # the entirety of a libtool archive into another (currently # not supported by libtool). if (for obj in $oldobjs do func_basename "$obj" $ECHO "$func_basename_result" done | sort | sort -uc >/dev/null 2>&1); then : else echo "copying selected object files to avoid basename conflicts..." gentop=$output_objdir/${outputname}x func_append generated " $gentop" func_mkdir_p "$gentop" save_oldobjs=$oldobjs oldobjs= counter=1 for obj in $save_oldobjs do func_basename "$obj" objbase=$func_basename_result case " $oldobjs " in " ") oldobjs=$obj ;; *[\ /]"$objbase "*) while :; do # Make sure we don't pick an alternate name that also # overlaps. newobj=lt$counter-$objbase func_arith $counter + 1 counter=$func_arith_result case " $oldobjs " in *[\ /]"$newobj "*) ;; *) if test ! -f "$gentop/$newobj"; then break; fi ;; esac done func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" func_append oldobjs " $gentop/$newobj" ;; *) func_append oldobjs " $obj" ;; esac done fi func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 tool_oldlib=$func_to_tool_file_result eval cmds=\"$old_archive_cmds\" func_len " $cmds" len=$func_len_result if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then cmds=$old_archive_cmds elif test -n "$archiver_list_spec"; then func_verbose "using command file archive linking..." for obj in $oldobjs do func_to_tool_file "$obj" $ECHO "$func_to_tool_file_result" done > $output_objdir/$libname.libcmd func_to_tool_file "$output_objdir/$libname.libcmd" oldobjs=" $archiver_list_spec$func_to_tool_file_result" cmds=$old_archive_cmds else # the command line is too long to link in one step, link in parts func_verbose "using piecewise archive linking..." save_RANLIB=$RANLIB RANLIB=: objlist= concat_cmds= save_oldobjs=$oldobjs oldobjs= # Is there a better way of finding the last object in the list? for obj in $save_oldobjs do last_oldobj=$obj done eval test_cmds=\"$old_archive_cmds\" func_len " $test_cmds" len0=$func_len_result len=$len0 for obj in $save_oldobjs do func_len " $obj" func_arith $len + $func_len_result len=$func_arith_result func_append objlist " $obj" if test "$len" -lt "$max_cmd_len"; then : else # the above command should be used before it gets too long oldobjs=$objlist if test "$obj" = "$last_oldobj"; then RANLIB=$save_RANLIB fi test -z "$concat_cmds" || concat_cmds=$concat_cmds~ eval concat_cmds=\"\$concat_cmds$old_archive_cmds\" objlist= len=$len0 fi done RANLIB=$save_RANLIB oldobjs=$objlist if test -z "$oldobjs"; then eval cmds=\"\$concat_cmds\" else eval cmds=\"\$concat_cmds~\$old_archive_cmds\" fi fi fi func_execute_cmds "$cmds" 'exit $?' done test -n "$generated" && \ func_show_eval "${RM}r$generated" # Now create the libtool archive. case $output in *.la) old_library= test yes = "$build_old_libs" && old_library=$libname.$libext func_verbose "creating $output" # Preserve any variables that may affect compiler behavior for var in $variables_saved_for_relink; do if eval test -z \"\${$var+set}\"; then relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else func_quote_for_eval "$var_value" relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" fi done # Quote the link command for shipping. relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` if test yes = "$hardcode_automatic"; then relink_command= fi # Only create the output if not a dry run. $opt_dry_run || { for installed in no yes; do if test yes = "$installed"; then if test -z "$install_libdir"; then break fi output=$output_objdir/${outputname}i # Replace all uninstalled libtool libraries with the installed ones newdependency_libs= for deplib in $dependency_libs; do case $deplib in *.la) func_basename "$deplib" name=$func_basename_result func_resolve_sysroot "$deplib" eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result` test -z "$libdir" && \ func_fatal_error "'$deplib' is not a valid libtool archive" func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name" ;; -L*) func_stripname -L '' "$deplib" func_replace_sysroot "$func_stripname_result" func_append newdependency_libs " -L$func_replace_sysroot_result" ;; -R*) func_stripname -R '' "$deplib" func_replace_sysroot "$func_stripname_result" func_append newdependency_libs " -R$func_replace_sysroot_result" ;; *) func_append newdependency_libs " $deplib" ;; esac done dependency_libs=$newdependency_libs newdlfiles= for lib in $dlfiles; do case $lib in *.la) func_basename "$lib" name=$func_basename_result eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib` test -z "$libdir" && \ func_fatal_error "'$lib' is not a valid libtool archive" func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name" ;; *) func_append newdlfiles " $lib" ;; esac done dlfiles=$newdlfiles newdlprefiles= for lib in $dlprefiles; do case $lib in *.la) # Only pass preopened files to the pseudo-archive (for # eventual linking with the app. that links it) if we # didn't already link the preopened objects directly into # the library: func_basename "$lib" name=$func_basename_result eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib` test -z "$libdir" && \ func_fatal_error "'$lib' is not a valid libtool archive" func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name" ;; esac done dlprefiles=$newdlprefiles else newdlfiles= for lib in $dlfiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;; *) abs=`pwd`"/$lib" ;; esac func_append newdlfiles " $abs" done dlfiles=$newdlfiles newdlprefiles= for lib in $dlprefiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;; *) abs=`pwd`"/$lib" ;; esac func_append newdlprefiles " $abs" done dlprefiles=$newdlprefiles fi $RM $output # place dlname in correct position for cygwin # In fact, it would be nice if we could use this code for all target # systems that can't hard-code library paths into their executables # and that have no shared library path variable independent of PATH, # but it turns out we can't easily determine that from inspecting # libtool variables, so we have to hard-code the OSs to which it # applies here; at the moment, that means platforms that use the PE # object format with DLL files. See the long comment at the top of # tests/bindir.at for full details. tdlname=$dlname case $host,$output,$installed,$module,$dlname in *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) # If a -bindir argument was supplied, place the dll there. if test -n "$bindir"; then func_relative_path "$install_libdir" "$bindir" tdlname=$func_relative_path_result/$dlname else # Otherwise fall back on heuristic. tdlname=../bin/$dlname fi ;; esac $ECHO > $output "\ # $outputname - a libtool library file # Generated by $PROGRAM (GNU $PACKAGE) $VERSION # # Please DO NOT delete this file! # It is necessary for linking the library. # The name that we can dlopen(3). dlname='$tdlname' # Names of this library. library_names='$library_names' # The name of the static archive. old_library='$old_library' # Linker flags that cannot go in dependency_libs. inherited_linker_flags='$new_inherited_linker_flags' # Libraries that this one depends upon. dependency_libs='$dependency_libs' # Names of additional weak libraries provided by this library weak_library_names='$weak_libs' # Version information for $libname. current=$current age=$age revision=$revision # Is this an already installed library? installed=$installed # Should we warn about portability when linking against -modules? shouldnotlink=$module # Files to dlopen/dlpreopen dlopen='$dlfiles' dlpreopen='$dlprefiles' # Directory that this library needs to be installed in: libdir='$install_libdir'" if test no,yes = "$installed,$need_relink"; then $ECHO >> $output "\ relink_command=\"$relink_command\"" fi done } # Do a symbolic link so that the libtool archive can be found in # LD_LIBRARY_PATH before the program is installed. func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?' ;; esac exit $EXIT_SUCCESS } if test link = "$opt_mode" || test relink = "$opt_mode"; then func_mode_link ${1+"$@"} fi # func_mode_uninstall arg... func_mode_uninstall () { $debug_cmd RM=$nonopt files= rmforce=false exit_status=0 # This variable tells wrapper scripts just to set variables rather # than running their programs. libtool_install_magic=$magic for arg do case $arg in -f) func_append RM " $arg"; rmforce=: ;; -*) func_append RM " $arg" ;; *) func_append files " $arg" ;; esac done test -z "$RM" && \ func_fatal_help "you must specify an RM program" rmdirs= for file in $files; do func_dirname "$file" "" "." dir=$func_dirname_result if test . = "$dir"; then odir=$objdir else odir=$dir/$objdir fi func_basename "$file" name=$func_basename_result test uninstall = "$opt_mode" && odir=$dir # Remember odir for removal later, being careful to avoid duplicates if test clean = "$opt_mode"; then case " $rmdirs " in *" $odir "*) ;; *) func_append rmdirs " $odir" ;; esac fi # Don't error if the file doesn't exist and rm -f was used. if { test -L "$file"; } >/dev/null 2>&1 || { test -h "$file"; } >/dev/null 2>&1 || test -f "$file"; then : elif test -d "$file"; then exit_status=1 continue elif $rmforce; then continue fi rmfiles=$file case $name in *.la) # Possibly a libtool archive, so verify it. if func_lalib_p "$file"; then func_source $dir/$name # Delete the libtool libraries and symlinks. for n in $library_names; do func_append rmfiles " $odir/$n" done test -n "$old_library" && func_append rmfiles " $odir/$old_library" case $opt_mode in clean) case " $library_names " in *" $dlname "*) ;; *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;; esac test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i" ;; uninstall) if test -n "$library_names"; then # Do each command in the postuninstall commands. func_execute_cmds "$postuninstall_cmds" '$rmforce || exit_status=1' fi if test -n "$old_library"; then # Do each command in the old_postuninstall commands. func_execute_cmds "$old_postuninstall_cmds" '$rmforce || exit_status=1' fi # FIXME: should reinstall the best remaining shared library. ;; esac fi ;; *.lo) # Possibly a libtool object, so verify it. if func_lalib_p "$file"; then # Read the .lo file func_source $dir/$name # Add PIC object to the list of files to remove. if test -n "$pic_object" && test none != "$pic_object"; then func_append rmfiles " $dir/$pic_object" fi # Add non-PIC object to the list of files to remove. if test -n "$non_pic_object" && test none != "$non_pic_object"; then func_append rmfiles " $dir/$non_pic_object" fi fi ;; *) if test clean = "$opt_mode"; then noexename=$name case $file in *.exe) func_stripname '' '.exe' "$file" file=$func_stripname_result func_stripname '' '.exe' "$name" noexename=$func_stripname_result # $file with .exe has already been added to rmfiles, # add $file without .exe func_append rmfiles " $file" ;; esac # Do a test to see if this is a libtool program. if func_ltwrapper_p "$file"; then if func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" relink_command= func_source $func_ltwrapper_scriptname_result func_append rmfiles " $func_ltwrapper_scriptname_result" else relink_command= func_source $dir/$noexename fi # note $name still contains .exe if it was in $file originally # as does the version of $file that was added into $rmfiles func_append rmfiles " $odir/$name $odir/${name}S.$objext" if test yes = "$fast_install" && test -n "$relink_command"; then func_append rmfiles " $odir/lt-$name" fi if test "X$noexename" != "X$name"; then func_append rmfiles " $odir/lt-$noexename.c" fi fi fi ;; esac func_show_eval "$RM $rmfiles" 'exit_status=1' done # Try to remove the $objdir's in the directories where we deleted files for dir in $rmdirs; do if test -d "$dir"; then func_show_eval "rmdir $dir >/dev/null 2>&1" fi done exit $exit_status } if test uninstall = "$opt_mode" || test clean = "$opt_mode"; then func_mode_uninstall ${1+"$@"} fi test -z "$opt_mode" && { help=$generic_help func_fatal_help "you must specify a MODE" } test -z "$exec_cmd" && \ func_fatal_help "invalid operation mode '$opt_mode'" if test -n "$exec_cmd"; then eval exec "$exec_cmd" exit $EXIT_FAILURE fi exit $exit_status # The TAGs below are defined such that we never get into a situation # where we disable both kinds of libraries. Given conflicting # choices, we go for a static library, that is the most portable, # since we can't tell whether shared libraries were disabled because # the user asked for that or because the platform doesn't support # them. This is particularly important on AIX, because we don't # support having both static and shared libraries enabled at the same # time on that platform, so we default to a shared-only configuration. # If a disable-shared tag is given, we'll fallback to a static-only # configuration. But we'll never go from static-only to shared-only. # ### BEGIN LIBTOOL TAG CONFIG: disable-shared build_libtool_libs=no build_old_libs=yes # ### END LIBTOOL TAG CONFIG: disable-shared # ### BEGIN LIBTOOL TAG CONFIG: disable-static build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` # ### END LIBTOOL TAG CONFIG: disable-static # Local Variables: # mode:shell-script # sh-indentation:2 # End: pioneers-15.5/server/0000755000175000017500000000000013252243610011575 500000000000000pioneers-15.5/server/henjes.game0000644000175000017500000000207611755241465013645 00000000000000title SmallEurope domestic-trade num-players 4 sevens-rule 0 victory-points 18 num-roads 20 num-bridges 0 num-ships 15 num-settlements 8 num-cities 6 num-city-walls 0 resource-count 20 develop-road 4 develop-monopoly 4 develop-plenty 4 develop-chapel 1 develop-university 1 develop-governor 1 develop-library 1 develop-market 1 develop-soldier 15 # created 11/2003 desc by Robert Henjes chits 3,5,6,3,4,3,11,11,10,11,9,10,2,5,4,3,6,3,12,8,8,11,12,8,2,5,6,2,9,3,12,11,10,11,6,11,2,5,4,10,6,3,4,9,3,12,9,12,2,5,11,8,4,3,3,11,8,11,9,8,2,5,2,3,11,8,10,3,10,11,9,12,4,12,4,3,6,3,6,11,10,5,9,11 map s,g0+,p1,s,s,s,s,m2,t3,t4,h5,t6 s,s?1,s,s,s,s,m7,t8,t9,h10,t11,g12+ s,s,s,s,s,m13,m14,t15,sl0,t16,f17,t18 s,s,p19,s,s,s,t20,s,t21,f22,h23,t24 s,s,sw0,p25,s,p26,sl5,s,t27,h28,t29,f30 s,s,s?5,s,s?5,p31,t32,h33,t34,p35,h36,p37 s,s,t38,t39,f40,t41,f42,t43,f44,m45,m46,f47 s,s,h48,f49,h50,t51,t52,m53,f54,p55,m56,t57 s,m58,m59,m60,p61,m62,m63,m64,f65,h66,m67,s f68,t69,h70,f71,s,s,f72,s,m73,p74,s,s s,f75,f76,f77,sg2,s,s,f78,s,f79,t80,m81 s,s,s,s,s,g82+,s,s,s,s?1,d83,g84+ . pioneers-15.5/server/star.game0000644000175000017500000000122210466566006013331 00000000000000title Star domestic-trade num-players 2 victory-points 8 num-roads 15 num-settlements 4 num-cities 5 resource-count 24 develop-road 2 develop-monopoly 2 develop-plenty 2 develop-chapel 1 develop-university 1 develop-governor 1 develop-library 1 develop-market 1 develop-soldier 10 chits 2, 12, 3, 11, 4, 10, 5, 9, 6, 8, 12, 11, 10, 9, 8, 6, 5, 4, 3, 2, 8, 9, 10, 11, 12, 2 map - -,-,m1,-,-,-,-,t2,-,- -,-,-,f3,-,-,-,p4,-,- -,-,-,h5,-,-,h6,-,-,- -,-,-,-, t7,-,m8,-,-,-,- -,-,-,-, p9,f10,-,-,-,-, h11,f12,m13,p15,t16,d27+,h17,f18,m19,p20,t21 -,-,-,-,-,m22,-,-,-,- -,-,-,-,-,-,f23,-,-,- -,-,-,-,-,-,h24,-,-,- -,-,-,-,-,-,-,t25,-,- -,-,-,-,-,-,-,p26 -,- . pioneers-15.5/server/lobby.game0000644000175000017500000000152311755241465013474 00000000000000title Lobby strict-trade domestic-trade num-players 8 sevens-rule 0 victory-points 99 num-roads 0 num-bridges 0 num-ships 0 num-settlements 0 num-cities 1 num-city-walls 0 resource-count 1 develop-road 0 develop-monopoly 0 develop-plenty 0 develop-chapel 0 develop-university 0 develop-governor 0 develop-library 0 develop-market 0 develop-soldier 0 desc This is the lobby. desc People can gather here to meet, and to talk about games to start. chits 2,2,2,2,2,2,2,2,2,2,2,4,4,4,4,4,4,4,4,4,6,6,8,6,8,6,8,6,8,9,9,9,9,9,9,9,9,12,12,12,12,12,12,12,12,12,12,12,12,12 map h0,s,s,s,f1,f2,s,m3,m4,m5,s,p6,p7,p8,s,t9,s,s,t10 h11,s,s,f12,s,f13,s,m14,s,m15,s,p16,s,p17,s,t18,s,t19,- h20,s,s,f21,s,s,f22,s,m23,m24,s,s,p25,p26,s,s,t27,t28,s h29,s,s,f30,s,f31,s,m32,s,m33,s,p34,s,p35,s,s,t36,s,- h37,h38,h39,s,f40,f41,s,m42,m43,m44,s,p45,p46,p47,s,s,t48,s,g49 . pioneers-15.5/server/lorindol.game0000644000175000017500000000701011755241465014204 00000000000000title CentralEurope domestic-trade num-players 4 sevens-rule 0 victory-points 40 num-roads 80 num-bridges 0 num-ships 20 num-settlements 5 num-cities 30 num-city-walls 0 resource-count 30 develop-road 30 develop-monopoly 2 develop-plenty 30 develop-chapel 5 develop-university 5 develop-governor 5 develop-library 0 develop-market 5 develop-soldier 30 # created 10/2003 # desc by Martin Brotzeller desc desc This is a map of Europe, cut down a bit at the eastern part because it desc did not fit with the 0.7/0.8 servers. The only resource available is desc grain, the only types of ports are grain ports. The reason, obviously, desc is to conquer a large-enough part of Europe. desc Strategy: Grab a harbor from the start of the game, and look out for desc an area where you can connect fast to build your empire. chits 8,9,2,3,2,2,12,2,10,5,6,3,8,3,12,5,9,10,8,4,11,11,4,12,2,12,5,9,8,2,3,9,10,6,4,5,6,2,10,8,4,9,10,11,12,2,9,2,3,3,4,5,6,8,9,10,11,12,2,2,2,2,6,12,5,6,8,9,3,10,11,4,2,2,3,4,5,6,8,9,11,10,11,12,2,2,3,10,4,2,5,6,8,9,10,11,12,2,2,4,5,4,6,8,9,10,11,2,2,3,4,5,6,9,10,11,11,12,2,6,4,5,6,3,8,12,3,2,3,2,3,4,8,9,10,11,12,5,10,2,6,2,4,8,9,10,11,12,5,2,5,6,5,6,3,9,8,2,11,12,2,11,12,4,8 map s,f0,d1+,f2,sg3,s,s,s,s,s,s,s,sg5,f3,d4+,f5,d6+,f7,d8+,d9+,f10,d11+,s,d12+,d13+ s,f14,f15,f16,s,s,s,s,s,s,s,s,f17,d18+,f19,s,d20+,f21,d22+,d23+,f24,sg0,f25,f26,d27+ s,d28+,f29,s,s,s,s,s,s,s,s,s,f30,d31+,f32,s,d33+,f34,d35+,f36,d37+,s,d38+,d39+,f40 s,s,s,s,s,s,s,s,s,s,s,f41,d42+,f43,f44,s,f45,d46+,s,f47,d48+,f49,d50+,f51,d52+ s,s,s,s,s,s,f53,s,s,s,s,s,f54,d55+,f56,s,s,f57,s,d58+,f59,d60+,f61,d62+,d63+ s,s,s,s,s,s,s,s,s,s,s,f64,d65+,f66,d67+,s,s,s,f68,d69+,f70,d71+,f72,d73+,d74+ s,s,s,s,s,s,s,f75,s,s,s,s,s,s,d76+,d77+,s,s,d78+,d79+,d80+,d81+,d82+,d83+,f84 s,s,s,s,sg5,s,s,f85,s,sg5,s,d86+,f87,s,f88,s,s,d89+,f90,f91,d92+,f93,d94+,f95,d96+ s,s,s,s,s,f97,s,f98,d99+,s,f100,s,f101,s,s,s,s,d102+,f103,d104+,f105,d106+,d107+,d108+,s s,s,s,s,d109+,f110,s,f111,s,s,s,s,f112,s,s,f113,d114+,d115+,d116+,f117,d118+,f119,d120+,f121,d122+ s,s,s,s,f123,f124,s,f125,d126+,s,s,f127,d128+,f129,s,f130,d131+,f132,d133+,d134+,f135,d136+,f137,d138+,d139+ s,s,s,s,s,s,f140,d141+,f142,s,f143,d144+,f145,d146+,d147+,f148,d149+,d150+,d151+,d152+,f153,d154+,f155,f156,d157+ s,s,s,s,s,s,sg1,s,s,s,f158,d159+,f160,d161+,f162,d163+,d164+,f165,d166+,f167,d168+,f169,d170+,d171+,f172 s,s,s,s,s,s,d173+,f174,d175+,d176+,f177,f178,d179+,f180,f181,d182+,f183,d184+,f185,d186+,f187,d188+,f189,d190+,d191+ s,s,s,s,s,s,f192,d193+,f194,d195+,f196,d197+,f198,d199+,f200,d201+,d202+,d203+,d204+,d205+,f206,d207+,d208+,s,f209 s,s,s,s,s,s,s,d210+,f211,d212+,f213,d214+,f215,d216+,d217+,f218,d219+,d220+,f221,d222+,f223,s,s,sg1,s s,s,s,s,s,s,s,f224,d225+,f226,d227+,d228+,f229,d230+,d231+,f232,d233+,f234,d235+,f236,d237+,d238+,s,s,s s,s,s,s,s,s,s,d239+,f240,d241+,f242,d243+,f244,d245+,s,d246+,f247,d248+,d249+,d250+,d251+,f252,s,s,s s,s,s,s,f253,d254+,f255,d256+,d257+,f258,d259+,f260,d261+,d262+,d263+,s,f264,d265+,d266+,f267,f268,d269+,s,s,s s,s,s,f270,d271+,d272+,f273,d274+,s,s,s,s,s,f275,f276,s,s,f277,d278+,d279+,d280+,f281,s,d282+,f283 s,s,s,f284,d285+,f286,d287+,d288+,f289,s,s,sg5,d290+,s,f291,d292+,s,s,f293,d294+,f295,s,s,f296,f297 s,s,s,d298+,f299,d300+,f301,s,s,sg4,s,f302,d303+,s,d304+,f305,s,s,f306,d307+,s,f308,d309+,f310,f311 s,s,s,sg0,f312,d313+,f314,s,s,f315,s,s,f316,s,s,f317,d318+,s,f319,d320+,f321,s,f322,d323+,f324 s,s,s,s,s,s,s,s,s,sg5,f325,s,s,f326,d327+,s,f328,s,sg0,f329,d330+,s,sg2,s,s s,s,s,s,f331,f332,s,s,s,s,f333,d334+,s,s,s,s,s,s,s,s,f335,s,s,s,s . pioneers-15.5/server/Cube.game0000644000175000017500000000257211755241465013250 00000000000000title Cube domestic-trade num-players 4 sevens-rule 0 victory-points 12 num-roads 20 num-bridges 0 num-ships 10 num-settlements 5 num-cities 4 num-city-walls 0 resource-count 20 develop-road 2 develop-monopoly 2 develop-plenty 2 develop-chapel 1 develop-university 1 develop-governor 1 develop-library 1 develop-market 1 develop-soldier 11 # v1.0, 2/07/2003 # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA desc Copyright 2003 LT-P desc desc Please provide some feedback ;) chits 8,12,2,10,4,8,4,11,12,9,9,2,5,3,6,10,11,6,5,3 map s,s,s,s,s,s,s,s,s,s s,s,s,s,p0,p1,s,s,s,s s,s,s,s?5,p2,p3,s,s,s,s s,m4,m5,d6,d7,f8,f9,t10,t11,s s,m12,m13,d14,d15,f16,f17,t18,t19,s s,s,h20,h21,s?2,s,s,s,s,s s,s,h22,h23,s,s,s,s,s,s s,s,s,s,s,s,s,s,s,s . pioneers-15.5/server/x.game0000644000175000017500000000140510466566006012632 00000000000000title X Marks the Spot domestic-trade num-players 3 victory-points 18 num-roads 30 num-ships 20 num-settlements 7 num-cities 5 resource-count 24 develop-road 4 develop-monopoly 2 develop-plenty 1 develop-chapel 1 develop-university 1 develop-governor 1 develop-library 1 develop-market 1 develop-soldier 15 use-pirate chits 4,9,3,6,6,10,2,5,11,8,9,8,4,12,10,4,9,3,6,6,4,9,3,6,6,10,2,5,11,8,9,8,4,12,10,4,9,3,6,6,8,4,12,10,4,9,3,6,6 map s,s,s,s,s,s,s,s,s,s,s,s s,p0,t1,s,s,h2,t3,s,s,s,s,s s,t4,t5,s,s,h6,h7,p8,p9,f10,s,s s,t11,p12,s,s,s,p13,f14,f15,m16,s,s s,p17,p18,s,f19,p20,p21,h22,h23,m24,s,s s,m25,m26,s,f27,f28,p29,s,s,f30,m31,s s,m49,d32,h33,h34,m35,m36,m37,s,s,s,s s,m38,h39,h40,f41,s,s,f42,t43,t44,s,s s,s,s,p45,p46,s,s,t47,t48,s,s,s s,s,s,s,s,s,s,s,s,s,s . pioneers-15.5/server/canyon.game0000644000175000017500000000136011755241465013653 00000000000000title Talon Canyon domestic-trade num-players 2 sevens-rule 0 victory-points 10 num-roads 15 num-bridges 0 num-ships 0 num-settlements 6 num-cities 3 num-city-walls 0 resource-count 20 develop-road 2 develop-monopoly 2 develop-plenty 2 develop-chapel 1 develop-university 1 develop-governor 1 develop-library 1 develop-market 1 develop-soldier 13 chits 8,4,9,8,10,10,6,4,5,5,3,11,4,9,6,8,2,10,3,9,6,11,12,5,12,9,11,2,3,3,4,2,6,10,8,5,11 map -,h0,-,-,-,-,-,-,-,-,- f1,m2,-,-,-,-,-,-,-,-,- -,p3,t4,-,-,-,-,f5,p6,f7,m8 -,f9,h10,-,-,-,h11,t12,m13,t14,- -,-,m15,t16,-,-,p17,-,-,-,- -,-,h18,t19,f20,h21,-,-,-,-,- -,-,-,p22,d23+,m24,m25,-,-,-,- -,-,-,h26,f27,t28,p29,-,-,-,- -,-,-,-,-,t30,h31,f32,-,-,- -,-,-,-,-,-,m33,t34,f35,-,- -,-,-,-,-,-,-,p36,h37,-,- . pioneers-15.5/server/admin.h0000644000175000017500000000256613252223516012772 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * Copyright (C) 2013 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef __admin_h #define __admin_h #include "server.h" /** Set up the administration interface. * @param port Port to listen on * @param game The game to administrate * @return TRUE on success */ gboolean admin_init(const gchar * port, Game ** game); /** Get the dice roll that was determined by the administrator. * @return 0 when not fixed, otherwise the dice roll */ gint admin_get_dice_roll(void); #endif /* __admin_h */ pioneers-15.5/server/glib-driver.c0000644000175000017500000000412213252223516014071 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include "server.h" #include "glib-driver.h" /* callbacks for the server */ void srv_glib_player_added(G_GNUC_UNUSED void *data) { #ifdef PRINT_INFO Player *player = (Player *) data; g_print("Player %d added: %s (from host %s)\n", player->num, player->name, player->location); #endif } void srv_glib_player_renamed(G_GNUC_UNUSED void *data) { #ifdef PRINT_INFO Player *player = (Player *) data; g_print("Player %d renamed to %s (at host %s)\n", player->num, player->name, player->location); #endif } void srv_player_removed(G_GNUC_UNUSED void *data) { #ifdef PRINT_INFO Player *player = (Player *) data; g_print("Player %d removed: %s (at host %s)\n", player->num, player->name, player->location); #endif } void srv_player_change(G_GNUC_UNUSED void *data) { #ifdef PRINT_INFO GList *current; Game *game = (Game *) data; g_print("Players connected:\n"); playerlist_inc_use_count(game); for (current = game->player_list; current != NULL; current = g_list_next(current)) { Player *p = (Player *) current->data; g_print("Player %d: %s (at host %s) is %s connected\n", p->num, p->name, p->location, p->disconnected ? "not" : ""); } playerlist_dec_use_count(game); #endif } pioneers-15.5/server/archipel_gold.game0000644000175000017500000000273511755241465015167 00000000000000title Archipelago with Gold domestic-trade num-players 4 sevens-rule 0 victory-points 12 num-roads 5 num-bridges 0 num-ships 20 num-settlements 5 num-cities 3 num-city-walls 0 resource-count 19 develop-road 4 develop-monopoly 1 develop-plenty 3 develop-chapel 1 develop-university 1 develop-governor 1 develop-library 1 develop-market 1 develop-soldier 13 use-pirate # v1.0, added to Pioneers 2005-04-09 # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA desc Copyright 2005 Blyx desc desc Please provide some feedback ;) chits 10,4,6,5,9,8,10,12,5,10,4,3,9,5,3,4,9,11,8,11,6,2 map -,s,s,s,s,s,s,s,s,- s,p0,s,s,s,s,s,p1,sl4,- s,t2,sl3,f3,s,s,t4,s,t5,s s,s,m6,s,s,h7,f8,s,s,s s,s,s,s,m9,sg3,s,s,s,s s,m10,s,s,s,s,s,s,g11,s s,s,s,f12,s?3,s,s?5,h13,s,s s,t14,sw4,t15,s,s,p16,sw5,t17,s -,s,p18,s,s,m19,s,s,p20,f21 -,s,s,s,s,s,s,s,s,- . pioneers-15.5/server/Makefile.am0000644000175000017500000000463213243741130013556 00000000000000# Pioneers - Implementation of the excellent Settlers of Catan board game. # Go buy a copy. # # Copyright (C) 1999 Dave Cole # Copyright (C) 2006 Bas Wijnen # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA if BUILD_SERVER if HAVE_GTK include server/gtk/Makefile.am endif bin_PROGRAMS += pioneers-server-console noinst_LIBRARIES += libpioneers_server.a pioneers_server_console_CPPFLAGS = $(console_cflags) libpioneers_server_a_CPPFLAGS = $(console_cflags) $(avahi_cflags) libpioneers_server_a_SOURCES = \ server/admin.c \ server/admin.h \ server/avahi.c \ server/avahi.h \ server/buildutil.c \ server/develop.c \ server/discard.c \ server/gold.c \ server/meta.c \ server/player.c \ server/pregame.c \ server/resource.c \ server/robber.c \ server/server.c \ server/server.h \ server/trade.c \ server/turn.c pioneers_server_console_SOURCES = \ server/main.c \ server/glib-driver.c \ server/glib-driver.h pioneers_server_console_LDADD = libpioneers_server.a $(console_libs) $(avahi_libs) endif # BUILD_SERVER config_DATA += \ server/default.game \ server/5-6-player.game \ server/four-islands.game \ server/seafarers.game \ server/seafarers-gold.game \ server/small.game \ server/archipel_gold.game \ server/canyon.game \ server/coeur.game \ server/conquest.game \ server/conquest+ports.game \ server/crane_island.game \ server/iles.game \ server/pond.game \ server/square.game \ server/star.game \ server/x.game \ server/Cube.game \ server/Another_swimming_pool_in_the_wall.game \ server/Evil_square.game \ server/GuerreDe100ans.game \ server/Mini_another_swimming_pool_in_the_wall.game \ server/henjes.game \ server/lorindol.game \ server/lobby.game \ server/south_africa.game \ server/ubuntuland.game \ server/north_america.game pioneers-15.5/server/default.game0000644000175000017500000000114411755241465014010 00000000000000title Default random-terrain strict-trade domestic-trade num-players 4 sevens-rule 0 victory-points 10 num-roads 15 num-bridges 0 num-ships 0 num-settlements 5 num-cities 4 num-city-walls 0 resource-count 19 develop-road 2 develop-monopoly 2 develop-plenty 2 develop-chapel 1 develop-university 1 develop-governor 1 develop-library 1 develop-market 1 develop-soldier 13 desc Default board layout for 3 or 4 players chits 11,12,9,4,6,5,10,3,11,4,8,8,10,9,3,5,2,6 map -,-,sw5,s,s?4,s,- -,s,t0,p1,f2,sg4,- -,s?0,h3,m4,h5,p6,s s,d7,t8,f9,t10,f11,sl3 -,s?0,h12,p13,p14,m15,s -,s,m16,f17,t18,s?2,- -,-,so1,s,sb2,s,- . pioneers-15.5/server/resource.c0000644000175000017500000000563113252223516013520 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include #include "cost.h" #include "server.h" gboolean resource_available(Player * player, gint * resources, gint * num_in_bank) { Game *game = player->game; gint idx; if (num_in_bank != NULL) *num_in_bank = 0; for (idx = 0; idx < NO_RESOURCE; idx++) { if (resources[idx] > game->bank_deck[idx]) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR no-cards %r\n", idx); return FALSE; } if (num_in_bank != NULL) *num_in_bank += game->bank_deck[idx]; } return TRUE; } void resource_start(Game * game) { GList *list; for (list = player_first_real(game); list != NULL; list = player_next_real(list)) { Player *player = list->data; memcpy(player->prev_assets, player->assets, sizeof(player->assets)); player->gold = 0; } } void resource_end(Game * game, const gchar * action, gint mult) { GList *list; for (list = player_first_real(game); list != NULL; list = player_next_real(list)) { Player *player = list->data; gint resource[NO_RESOURCE]; guint idx; gboolean send_message = FALSE; for (idx = 0; idx < G_N_ELEMENTS(player->assets); idx++) { gint num; num = player->assets[idx] - player->prev_assets[idx]; if (game->bank_deck[idx] - num < 0) { num = game->bank_deck[idx]; player->assets[idx] = player->prev_assets[idx] + num; } resource[idx] = num; if (num != 0) send_message = TRUE; game->bank_deck[idx] -= num; } if (send_message) { for (idx = 0; idx < NO_RESOURCE; idx++) resource[idx] *= mult; player_broadcast(player, PB_ALL, FIRST_VERSION, LATEST_VERSION, "%s %R\n", action, resource); } } } void resource_spend(Player * player, const gint * cost) { Game *game = player->game; resource_start(game); cost_buy(cost, player->assets); resource_end(game, "spent", -1); } void resource_refund(Player * player, const gint * cost) { Game *game = player->game; resource_start(game); cost_refund(cost, player->assets); resource_end(game, "refund", 1); } pioneers-15.5/server/iles.game0000644000175000017500000000273011755241465013322 00000000000000title Islands domestic-trade num-players 3 sevens-rule 0 victory-points 10 num-roads 10 num-bridges 2 num-ships 15 num-settlements 4 num-cities 4 num-city-walls 0 resource-count 15 develop-road 2 develop-monopoly 2 develop-plenty 2 develop-chapel 1 develop-university 1 develop-governor 1 develop-library 1 develop-market 1 develop-soldier 11 use-pirate island-discovery-bonus 1 # v1.0, 2004-02-19 Initial version # v1.1, 2006-09-10 Added island-discovery-bonus # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA desc Copyright 2004, 2006 LT-P desc desc Please provide some feedback ;) chits 2,6,2,4,6,3,5,10,8,10,4,9,11,12,8,12,3,5,9,11 map s,s,s,s,s,s,s,s,s s,p0,h1,s,s,m2,p3,f4,s s,f5,m6,sb5,m7,sl3,t8,h9,s s,t10,sw2,t11,f12,so0,p13,s,s s,s,s,p14,h15,s,s,s,s s,s,s,s,s?0,m16,f17,s,s s,s,d18,s,s,h19,t20,s,s s,s,s,s,s,s,s,s,s . pioneers-15.5/server/gold.c0000644000175000017500000001725413252223516012622 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003-2005 Bas Wijnen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include "server.h" #include "random.h" /* Player should be idle - I will tell them when to do something */ gboolean mode_wait_for_gold_choosing_players(Player * player, G_GNUC_UNUSED gint event) { StateMachine *sm = player->sm; sm_state_name(sm, "mode_wait_for_gold_choosing_players"); return FALSE; } /** Create a limited bank. * @param game The game * @param limit The amount of resources that will be distributed * @retval limited_bank Returns a bank limited by limit. An amount of * limit+1 means that the bank cannot be emptied * @return TRUE if the gold can be distributed in only one way */ gboolean gold_limited_bank(const Game * game, int limit, gint * limited_bank) { gint idx; gint total_in_bank = 0; gint resources_available = 0; for (idx = 0; idx < NO_RESOURCE; ++idx) { if (game->bank_deck[idx] <= limit) { limited_bank[idx] = game->bank_deck[idx]; } else { limited_bank[idx] = limit + 1; } if (game->bank_deck[idx] > 0) ++resources_available; total_in_bank += game->bank_deck[idx]; }; return (resources_available <= 1) || (total_in_bank <= limit); } /* this function distributes resources until someone who receives gold is * found. It is called again when that person chose his/her gold and * continues the distribution */ static void distribute_next(GList * list) { Player *player = list->data; Game *game = player->game; gint idx; gboolean in_setup = FALSE; /* give resources until someone should choose gold */ for (; list != NULL; list = next_player_loop(list, player)) { gint resource[NO_RESOURCE], wanted[NO_RESOURCE]; gboolean send_message = FALSE; Player *scan = list->data; /* calculate what resources to give */ for (idx = 0; idx < NO_RESOURCE; ++idx) { gint num; num = scan->assets[idx] - scan->prev_assets[idx]; wanted[idx] = num; if (game->bank_deck[idx] - num < 0) { num = game->bank_deck[idx]; scan->assets[idx] = scan->prev_assets[idx] + num; } game->bank_deck[idx] -= num; resource[idx] = num; /* don't let a player receive the resources twice */ scan->prev_assets[idx] = scan->assets[idx]; if (wanted[idx] > 0) send_message = TRUE; } if (send_message) player_broadcast(scan, PB_ALL, FIRST_VERSION, LATEST_VERSION, "receives %R %R\n", resource, wanted); /* give out gold (and return so gold-done is not broadcast) */ if (scan->gold > 0) { gint limited_bank[NO_RESOURCE]; gboolean only_one_way = gold_limited_bank(game, scan->gold, limited_bank); /* disconnected players get random gold */ if (scan->disconnected || only_one_way) { gint totalbank = 0; gint choice; /* count the number of resources in the bank */ for (idx = 0; idx < NO_RESOURCE; ++idx) { resource[idx] = 0; totalbank += game->bank_deck[idx]; } while ((scan->gold > 0) && (totalbank > 0)) { /* choose one of them */ choice = random_guint(totalbank); /* find out which resource it is */ for (idx = 0; idx < NO_RESOURCE; ++idx) { choice -= game->bank_deck[idx]; if (choice < 0) break; } ++resource[idx]; --scan->gold; ++scan->assets[idx]; ++scan->prev_assets[idx]; --game->bank_deck[idx]; --totalbank; } scan->gold = 0; player_broadcast(scan, PB_ALL, FIRST_VERSION, LATEST_VERSION, "receive-gold %R\n", resource); } else { player_send(scan, FIRST_VERSION, LATEST_VERSION, "choose-gold %d %R\n", scan->gold, limited_bank); sm_push(scan->sm, (StateFunc) mode_choose_gold); return; } } /* no player is choosing gold, give resources to next player */ } /* end loop over all players */ /* tell everyone the resource distribution is finished */ player_broadcast(player, PB_SILENT, FIRST_VERSION, LATEST_VERSION, "done-resources\n"); /* pop everyone back to the state before we started giving out * resources */ for (list = player_first_real(game); list != NULL; list = player_next_real(list)) { Player *p = list->data; /* spectators were not pushed, they should not be popped */ if (player_is_spectator(game, p->num)) continue; sm_pop(p->sm); /* this is a hack to get the next setup player. I'd like to * do it differently, but I don't know how. */ if (sm_current(p->sm) == (StateFunc) mode_setup) { sm_goto(p->sm, (StateFunc) mode_idle); in_setup = TRUE; } } if (in_setup) next_setup_player(game); } gboolean mode_choose_gold(Player * player, gint event) { StateMachine *sm = player->sm; Game *game = player->game; gint resources[NO_RESOURCE]; gint idx, num; GList *list; sm_state_name(sm, "mode_choose_gold"); if (event != SM_RECV) return FALSE; if (!sm_recv(sm, "chose-gold %R", resources)) return FALSE; /* check if the bank can take it */ num = 0; for (idx = 0; idx < NO_RESOURCE; ++idx) { num += resources[idx]; if (game->bank_deck[idx] < resources[idx]) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR wrong-gold\n"); return FALSE; } } /* see if the right amount was taken */ if (num != player->gold) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR wrong-gold\n"); return FALSE; } /* give the gold */ player->gold = 0; for (idx = 0; idx < NO_RESOURCE; ++idx) { player->assets[idx] += resources[idx]; /* don't give them again when resources are dealt */ player->prev_assets[idx] += resources[idx]; /* take it out of the bank */ game->bank_deck[idx] -= resources[idx]; } player_broadcast(player, PB_ALL, FIRST_VERSION, LATEST_VERSION, "receive-gold %R\n", resources); /* pop back to mode_idle */ sm_pop(sm); list = next_player_loop(list_from_player(player), player); distribute_next(list); return TRUE; } /* this function is called by mode_turn to let resources and gold be * distributed */ void distribute_first(GList * list) { GList *looper; Player *player = list->data; Game *game = player->game; /* tell everybody who's receiving gold */ for (looper = list; looper != NULL; looper = next_player_loop(looper, player)) { Player *scan = looper->data; /* leave the spectators out of this */ if (player_is_spectator(game, scan->num)) continue; if (scan->gold > 0) { player_broadcast(scan, PB_ALL, FIRST_VERSION, LATEST_VERSION, "prepare-gold %d\n", scan->gold); } /* push everyone to idle, so nothing happens while giving out * gold after the distribution of resources is done, they are * all popped off again. This does not matter for most * players, since they were idle anyway, but it can matter for * the player who has the turn or is setting up. */ sm_push(scan->sm, (StateFunc) mode_wait_for_gold_choosing_players); } /* start giving out resources */ distribute_next(list); } pioneers-15.5/server/buildutil.c0000644000175000017500000002602013252223516013661 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include "buildrec.h" #include "cost.h" #include "server.h" void check_longest_road(Game * game) { Map *map = game->params->map; guint road_length[MAX_PLAYERS]; gint num_have_longest; guint longest_length; gboolean tie; guint i; map_longest_road(map, road_length, game->params->num_players); num_have_longest = -1; longest_length = 0; tie = FALSE; for (i = 0; i < game->params->num_players; i++) { if (road_length[i] >= 5) { if (road_length[i] > longest_length) { num_have_longest = (gint) i; longest_length = road_length[i]; tie = FALSE; } else if (road_length[i] == longest_length) { tie = TRUE; if (game->longest_road != NULL && (gint) i == game->longest_road->num) { /* Current owner in the tie */ num_have_longest = (gint) i; } } } } if (num_have_longest == -1) { /* All roads are too short */ if (game->longest_road != NULL) { /* Revoke the longest road */ player_broadcast(player_none(game), PB_ALL, FIRST_VERSION, LATEST_VERSION, "longest-road\n"); game->longest_road = NULL; } } else if (!tie) { /* One player has the longest road */ if (game->longest_road == NULL || game->longest_road->num != num_have_longest) { /* Reassign the longest road */ game->longest_road = player_by_num(game, num_have_longest); player_broadcast(game->longest_road, PB_ALL, FIRST_VERSION, LATEST_VERSION, "longest-road\n"); } } else { /* Several players have the longest road */ if (game->longest_road == NULL || game->longest_road->num != num_have_longest) { /* If the current owner does not have the longest road, nobody will have the extra points. */ player_broadcast(player_none(game), PB_ALL, FIRST_VERSION, LATEST_VERSION, "longest-road\n"); game->longest_road = NULL; } } } /* build something on a node */ void node_add(Player * player, BuildType type, int x, int y, int pos, gboolean paid_for, Points * points) { Game *game = player->game; Map *map = game->params->map; Node *node = map_node(map, x, y, pos); BuildRec *rec; /* administrate the built number of structures */ if (type == BUILD_SETTLEMENT) player->num_settlements++; else if (type == BUILD_CITY) { if (node->type == BUILD_SETTLEMENT) player->num_settlements--; player->num_cities++; } else if (type == BUILD_CITY_WALL) { player->num_city_walls++; } /* fill the backup struct */ rec = buildrec_new(type, x, y, pos); rec->prev_status = node->type; rec->longest_road = game->longest_road ? game->longest_road->num : -1; rec->special_points_id = -1; /* compute the cost */ if (paid_for) { if (type == BUILD_CITY) if (node->type == BUILD_SETTLEMENT) rec->cost = cost_upgrade_settlement(); else rec->cost = cost_city(); else if (type == BUILD_SETTLEMENT) rec->cost = cost_settlement(); else if (type == BUILD_CITY_WALL) rec->cost = cost_city_wall(); resource_spend(player, rec->cost); } else rec->cost = NULL; if (points != NULL) { rec->special_points_id = points->id; } /* put the struct in the undo list */ player->build_list = g_list_append(player->build_list, rec); /* update the node information */ node->owner = player->num; if (type == BUILD_CITY_WALL) { node->city_wall = TRUE; /* Older clients see an extension message */ player_broadcast_extension(player, PB_RESPOND, FIRST_VERSION, V0_10, "built city wall\n"); player_broadcast(player, PB_RESPOND, V0_11, LATEST_VERSION, "built %B %d %d %d\n", type, x, y, pos); } else { node->type = type; player_broadcast(player, PB_RESPOND, FIRST_VERSION, LATEST_VERSION, "built %B %d %d %d\n", type, x, y, pos); } if (points != NULL) { player->special_points = g_list_append(player->special_points, points); player_broadcast(player, PB_ALL, FIRST_VERSION, LATEST_VERSION, "get-point %d %d %s\n", points->id, points->points, points->name); } /* see if the longest road was cut */ check_longest_road(game); } /* build something on an edge */ void edge_add(Player * player, BuildType type, int x, int y, int pos, gboolean paid_for) { Game *game = player->game; Map *map = game->params->map; Edge *edge = map_edge(map, x, y, pos); BuildRec *rec; /* fill the undo struct */ rec = buildrec_new(type, x, y, pos); rec->longest_road = game->longest_road ? game->longest_road->num : -1; /* take the money if needed */ if (paid_for) { switch (type) { case BUILD_ROAD: rec->cost = cost_road(); break; case BUILD_SHIP: rec->cost = cost_ship(); break; case BUILD_BRIDGE: rec->cost = cost_bridge(); break; case BUILD_MOVE_SHIP: case BUILD_SETTLEMENT: case BUILD_CITY: case BUILD_CITY_WALL: case BUILD_NONE: log_message(MSG_ERROR, "In buildutils.c::edge_add() - Invalid build type.\n"); break; } resource_spend(player, rec->cost); } else rec->cost = NULL; /* put the struct in the undo list */ player->build_list = g_list_append(player->build_list, rec); /* update the pieces */ switch (type) { case BUILD_ROAD: player->num_roads++; break; case BUILD_BRIDGE: player->num_bridges++; break; case BUILD_SHIP: player->num_ships++; break; case BUILD_MOVE_SHIP: case BUILD_SETTLEMENT: case BUILD_CITY: case BUILD_CITY_WALL: case BUILD_NONE: log_message(MSG_ERROR, "In buildutils.c::edge_add() - Invalid build type.\n"); break; } /* update the board */ edge->owner = player->num; edge->type = type; player_broadcast(player, PB_RESPOND, FIRST_VERSION, LATEST_VERSION, "built %B %d %d %d\n", type, x, y, pos); /* perhaps the longest road changed owner */ check_longest_road(game); } static gint find_points_by_id(gconstpointer a, gconstpointer b) { const Points *points = a; gint id = GPOINTER_TO_INT(b); return points->id == id ? 0 : points->id < id ? -1 : +1; } /* undo a build action */ gboolean perform_undo(Player * player) { Game *game = player->game; Map *map = game->params->map; GList *list; BuildRec *rec; Hex *hex; int longest_road; /* If the player hasn't built anything, the undo fails */ if (player->build_list == NULL) return FALSE; /* Fill some convenience variables */ list = g_list_last(player->build_list); rec = list->data; hex = map_hex(map, rec->x, rec->y); /* Remove the entry from the list (doesn't remove the data itself) */ player->build_list = g_list_remove_link(player->build_list, list); g_list_free_1(list); /* Do structure-specific things */ switch (rec->type) { case BUILD_NONE: g_error("BUILD_NONE in perform_undo()"); break; case BUILD_ROAD: player->num_roads--; player_broadcast(player, PB_RESPOND, FIRST_VERSION, LATEST_VERSION, "remove %B %d %d %d\n", BUILD_ROAD, rec->x, rec->y, rec->pos); hex->edges[rec->pos]->owner = -1; hex->edges[rec->pos]->type = BUILD_NONE; break; case BUILD_BRIDGE: player->num_bridges--; player_broadcast(player, PB_RESPOND, FIRST_VERSION, LATEST_VERSION, "remove %B %d %d %d\n", BUILD_BRIDGE, rec->x, rec->y, rec->pos); hex->edges[rec->pos]->owner = -1; hex->edges[rec->pos]->type = BUILD_NONE; break; case BUILD_SHIP: player->num_ships--; player_broadcast(player, PB_RESPOND, FIRST_VERSION, LATEST_VERSION, "remove %B %d %d %d\n", BUILD_SHIP, rec->x, rec->y, rec->pos); hex->edges[rec->pos]->owner = -1; hex->edges[rec->pos]->type = BUILD_NONE; break; case BUILD_CITY: player->num_cities--; player->num_settlements++; player_broadcast(player, PB_RESPOND, FIRST_VERSION, LATEST_VERSION, "remove %B %d %d %d\n", BUILD_CITY, rec->x, rec->y, rec->pos); hex->nodes[rec->pos]->type = BUILD_SETTLEMENT; if (rec->prev_status == BUILD_SETTLEMENT) break; /* Remove the settlement too */ /* Fall through */ case BUILD_SETTLEMENT: player->num_settlements--; player_broadcast(player, PB_RESPOND, FIRST_VERSION, LATEST_VERSION, "remove %B %d %d %d\n", BUILD_SETTLEMENT, rec->x, rec->y, rec->pos); hex->nodes[rec->pos]->type = BUILD_NONE; hex->nodes[rec->pos]->owner = -1; break; case BUILD_CITY_WALL: player->num_city_walls--; /* Older clients see an extension message */ player_broadcast_extension(player, PB_RESPOND, FIRST_VERSION, V0_10, "remove city wall\n"); player_broadcast(player, PB_RESPOND, V0_11, LATEST_VERSION, "remove %B %d %d %d\n", BUILD_CITY_WALL, rec->x, rec->y, rec->pos); hex->nodes[rec->pos]->city_wall = FALSE; break; case BUILD_MOVE_SHIP: hex->edges[rec->pos]->owner = -1; hex->edges[rec->pos]->type = BUILD_NONE; hex = map_hex(map, rec->prev_x, rec->prev_y); hex->edges[rec->prev_pos]->owner = player->num; hex->edges[rec->prev_pos]->type = BUILD_SHIP; map->has_moved_ship = FALSE; player_broadcast(player, PB_RESPOND, FIRST_VERSION, LATEST_VERSION, "move-back %d %d %d %d %d %d\n", rec->prev_x, rec->prev_y, rec->prev_pos, rec->x, rec->y, rec->pos); break; } /* Give back the money, if any */ if (rec->cost != NULL) resource_refund(player, rec->cost); /* If the longest road changed, change it back */ longest_road = game->longest_road ? game->longest_road->num : -1; if (longest_road != rec->longest_road) { if (rec->longest_road >= 0) { game->longest_road = player_by_num(game, rec->longest_road); player_broadcast(game->longest_road, PB_ALL, FIRST_VERSION, LATEST_VERSION, "longest-road\n"); } else { game->longest_road = NULL; player_broadcast(player_none(game), PB_ALL, FIRST_VERSION, LATEST_VERSION, "longest-road\n"); } } if (rec->special_points_id != -1) { GList *points; if (game->params->island_discovery_bonus != NULL) { if (!map_is_island_discovered (map, map_node(map, rec->x, rec->y, rec->pos), player->num)) { player->islands_discovered--; } } player_broadcast(player, PB_ALL, FIRST_VERSION, LATEST_VERSION, "lose-point %d\n", rec->special_points_id); points = g_list_find_custom(player->special_points, GINT_TO_POINTER (rec->special_points_id), find_points_by_id); if (points != NULL) { points_free(points->data); player->special_points = g_list_remove(player->special_points, points->data); } } /* free the memory */ g_free(rec); return TRUE; } pioneers-15.5/server/gtk/0000755000175000017500000000000013252243610012362 500000000000000pioneers-15.5/server/gtk/pioneers-server-gtk.desktop.in0000644000175000017500000000037213250013742020216 00000000000000[Desktop Entry] Version=1.0 _Name=Pioneers Server _Comment=Host a game of Pioneers _Keywords=game;board;server;host;Pioneers;Settlers; Exec=pioneers-server-gtk Icon=pioneers-server Terminal=false Type=Application Categories=Game;BoardGame;GNOME;GTK; pioneers-15.5/server/gtk/Makefile.am0000644000175000017500000000267713250013742014351 00000000000000# Pioneers - Implementation of the excellent Settlers of Catan board game. # Go buy a copy. # # Copyright (C) 1999 Dave Cole # Copyright (C) 2006 Bas Wijnen # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA icon_DATA += server/gtk/pioneers-server.png desktop_in_files += server/gtk/pioneers-server-gtk.desktop.in bin_PROGRAMS += pioneers-server-gtk icons += server/gtk/pioneers-server.svg pioneers_server_gtk_CPPFLAGS = $(gtk_cflags) $(avahi_cflags) -I $(srcdir)/server pioneers_server_gtk_LDADD = libpioneers_server.a $(gtk_libs) $(avahi_libs) pioneers_server_gtk_SOURCES = \ server/gtk/main.c \ server/gtk/pioneers-server.ico \ server/gtk/pioneers-server.rc if USE_WINDOWS_ICON pioneers_server_gtk_LDADD += server/gtk/pioneers-server.res CLEANFILES += server/gtk/pioneers-server.res endif pioneers-15.5/server/gtk/main.c0000644000175000017500000011354713252223516013410 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * Copyright (C) 2004-2007 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include "version.h" #ifdef HAVE_LOCALE_H #include #endif #include #include #include #include "aboutbox.h" #include "game.h" #include "game-list.h" #include "common_gtk.h" #include "config-gnome.h" #include "server.h" #include "select-game.h" /* Custom widget */ #include "game-settings.h" /* Custom widget */ #include "game-rules.h" #include "theme.h" #include "metaserver.h" /* Custom widget */ #define MAINICON_FILE "pioneers-server.png" static GtkWidget *toplevel; /* top level window */ static GtkWidget *settings_notebook; /* relevant settings */ static GtkWidget *select_game; /* select game type */ static GtkWidget *game_settings; /* the settings of the game */ static GtkWidget *game_rules; /* the rules of the game */ static GtkWidget *meta_entry; /* name of metaserver */ static GtkWidget *overridden_hostname_entry; /* name of server (allows masquerading) */ static GtkWidget *start_btn; /* start/stop the server */ static GtkListStore *store; /* shows player connection status */ static gchar *overridden_hostname; /* override reported hostname */ static gchar *server_port = NULL; /* port of the game */ static gboolean register_server = TRUE; /* Register at the metaserver */ static gboolean want_ai_chat = TRUE; static gboolean random_order = TRUE; /* random seating order */ static gboolean enable_debug = FALSE; static gboolean show_version = FALSE; /* Local function prototypes */ static void add_game_to_list(gpointer name, gpointer user_data); static void check_vp_cb(GObject * caller, gpointer main_window); static void quit_cb(void); static void help_about_cb(void); enum { PLAYER_COLUMN_CONNECTED, PLAYER_COLUMN_NAME, PLAYER_COLUMN_LOCATION, PLAYER_COLUMN_NUMBER, PLAYER_COLUMN_ISSPECTATOR, PLAYER_COLUMN_LAST }; /* Normal items */ static GtkActionEntry entries[] = { {"GameMenu", NULL, /* Menu entry */ N_("_Game"), NULL, NULL, NULL}, {"HelpMenu", NULL, /* Menu entry */ N_("_Help"), NULL, NULL, NULL}, {"GameCheckVP", NULL, /* Menu entry */ N_("_Check Victory Point Target"), NULL, /* Tooltop for Check Victory Point Target menu entry */ N_("Check whether the game can be won"), G_CALLBACK(check_vp_cb)}, {"GameQuit", NULL, /* Menu entry */ N_("_Quit"), "Q", /* Tooltop for Quit menu entry */ N_("Quit the program"), quit_cb}, {"HelpAbout", NULL, /* Menu entry */ N_("_About Pioneers Server"), NULL, /* Tooltop for About Pioneers Server menu entry */ N_("Information about Pioneers Server"), help_about_cb} }; /* *INDENT-OFF* */ static const char *ui_description = "" " " " " " " " " " " " " " " " " " " " " ""; /* *INDENT-ON* */ static void port_entry_changed_cb(GtkWidget * widget, G_GNUC_UNUSED gpointer user_data) { const gchar *text; text = gtk_entry_get_text(GTK_ENTRY(widget)); if (server_port) g_free(server_port); server_port = g_strstrip(g_strdup(text)); } static void register_toggle_cb(GtkToggleButton * toggle, G_GNUC_UNUSED gpointer user_data) { register_server = gtk_toggle_button_get_active(toggle); gtk_widget_set_sensitive(meta_entry, register_server); gtk_widget_set_sensitive(overridden_hostname_entry, register_server); } static void random_toggle_cb(GtkToggleButton * toggle, G_GNUC_UNUSED gpointer user_data) { random_order = gtk_toggle_button_get_active(toggle); } static void chat_toggle_cb(GtkToggleButton * toggle, G_GNUC_UNUSED gpointer user_data) { want_ai_chat = gtk_toggle_button_get_active(toggle); } /* The server does not need to respond to changed game settings directly * RC: Leaving this code here, for when the admin-interface will be built static void game_settings_change_cb(GameSettings *gs, G_GNUC_UNUSED gpointer user_data) { printf("Settings: %d %d %d %d\n", game_settings_get_terrain(gs), game_settings_get_players(gs), game_settings_get_victory_points(gs), game_settings_get_sevens_rule(gs) ); } */ static void update_game_settings(const GameParams * params) { if (params == NULL) { return; } /* Update the UI */ game_settings_set_players(GAMESETTINGS(game_settings), (guint) params->num_players); game_settings_set_victory_points(GAMESETTINGS(game_settings), (guint) params->victory_points); game_rules_set_victory_at_end_of_turn(GAMERULES(game_rules), params-> check_victory_at_end_of_turn); game_rules_set_random_terrain(GAMERULES(game_rules), params->random_terrain); game_rules_set_sevens_rule(GAMERULES(game_rules), (guint) params->sevens_rule); game_rules_set_use_dice_deck(GAMERULES(game_rules), params->use_dice_deck); game_rules_set_num_dice_decks(GAMERULES(game_rules), params->num_dice_decks); game_rules_set_num_removed_dice_cards(GAMERULES(game_rules), params->num_removed_dice_cards); game_rules_set_domestic_trade(GAMERULES(game_rules), params->domestic_trade); game_rules_set_strict_trade(GAMERULES(game_rules), params->strict_trade); game_rules_set_use_pirate(GAMERULES(game_rules), params->use_pirate, params->num_build_type[BUILD_SHIP]); game_rules_set_island_discovery_bonus(GAMERULES(game_rules), params->island_discovery_bonus); } static void game_activate(GtkWidget * widget, G_GNUC_UNUSED gpointer user_data) { const GameParams *params; params = select_game_get_active_game(SELECTGAME(widget)); update_game_settings(params); } static void gui_set_server_state(gboolean running) { gtk_widget_set_sensitive(gtk_notebook_get_nth_page (GTK_NOTEBOOK(settings_notebook), 0), !running); if (running) gtk_widget_show(gtk_notebook_get_nth_page (GTK_NOTEBOOK(settings_notebook), 1)); else gtk_widget_hide(gtk_notebook_get_nth_page (GTK_NOTEBOOK(settings_notebook), 1)); gtk_notebook_set_current_page(GTK_NOTEBOOK(settings_notebook), running ? 1 : 0); gtk_button_set_label(GTK_BUTTON(start_btn), running ? _("Stop Server") : _("Start Server")); gtk_widget_set_tooltip_text(start_btn, running ? _("Stop the server") : _("Start the server")); } static void start_clicked_cb(G_GNUC_UNUSED GtkButton * widget, gpointer user_data) { Game **game = user_data; if (server_is_running(*game)) { server_stop(*game); gui_set_server_state(server_is_running(*game)); } else { /* not running */ GameParams *params; gchar *metaserver_name; params = params_copy(select_game_get_active_game (SELECTGAME(select_game))); cfg_set_num_players(params, (gint) game_settings_get_players(GAMESETTINGS (game_settings))); cfg_set_victory_points(params, (gint) game_settings_get_victory_points (GAMESETTINGS(game_settings))); params->check_victory_at_end_of_turn = game_rules_get_victory_at_end_of_turn(GAMERULES (game_rules)); cfg_set_sevens_rule(params, (gint) game_rules_get_sevens_rule(GAMERULES (game_rules))); cfg_set_use_dice_deck(params, game_rules_get_use_dice_deck (GAMERULES(game_rules))); cfg_set_num_dice_decks(params, game_rules_get_num_dice_decks (GAMERULES(game_rules))); cfg_set_num_removed_dice_cards(params, game_rules_get_num_removed_dice_cards (GAMERULES(game_rules))); cfg_set_terrain_type(params, game_rules_get_random_terrain (GAMERULES(game_rules))); params->strict_trade = game_rules_get_strict_trade(GAMERULES(game_rules)); params->use_pirate = game_rules_get_use_pirate(GAMERULES(game_rules)); params->domestic_trade = game_rules_get_domestic_trade(GAMERULES(game_rules)); if (params->island_discovery_bonus) { g_array_free(params->island_discovery_bonus, TRUE); } params->island_discovery_bonus = game_rules_get_island_discovery_bonus(GAMERULES (game_rules)); update_game_settings(params); metaserver_name = metaserver_get(METASERVER(meta_entry)); g_assert(server_port != NULL); if (*game != NULL) game_free(*game); *game = server_start(params, overridden_hostname, server_port, register_server, metaserver_name, random_order); if (server_is_running(*game)) { gui_set_server_state(TRUE); config_set_string("server/metaserver", metaserver_name); config_set_string("server/port", server_port); config_set_int("server/register", register_server); config_set_string("server/overridden-hostname", overridden_hostname); config_set_int("server/random-seating-order", random_order); config_set_string("game/name", params->title); config_set_int("game/random-terrain", params->random_terrain); config_set_int("game/num-players", params->num_players); config_set_int("game/victory-points", (gint) params->victory_points); config_set_int("game/check-victory-at-end-of-turn", params-> check_victory_at_end_of_turn); config_set_int("game/sevens-rule", params->sevens_rule); config_set_int("game/use_dice-deck", params->use_dice_deck); config_set_int("game/num-dice-decks", params->num_dice_decks); config_set_int("game/num-removed_cards", params->num_removed_dice_cards); config_set_int("game/use-pirate", params->use_pirate); config_set_int("game/strict-trade", params->strict_trade); config_set_int("game/domestic-trade", params->domestic_trade); } params_free(params); g_free(metaserver_name); } } static void launchclient_clicked_cb(G_GNUC_UNUSED GtkButton * widget, G_GNUC_UNUSED gpointer user_data) { gchar *child_argv[7]; GSpawnFlags child_flags = G_SPAWN_STDOUT_TO_DEV_NULL | G_SPAWN_STDERR_TO_DEV_NULL | G_SPAWN_SEARCH_PATH; GError *error = NULL; gint i; g_assert(server_port != NULL); /* Populate argv. */ child_argv[0] = g_strdup(PIONEERS_CLIENT_GTK_PROGRAM_NAME); child_argv[1] = g_strdup(PIONEERS_CLIENT_GTK_PROGRAM_NAME); child_argv[2] = g_strdup("-s"); child_argv[3] = g_strdup("localhost"); child_argv[4] = g_strdup("-p"); child_argv[5] = g_strdup(server_port); child_argv[6] = NULL; /* Spawn the child. */ if (!g_spawn_async(NULL, child_argv, NULL, child_flags, NULL, NULL, NULL, &error)) { /* Error message when program %1 is started, reason is %2 */ log_message(MSG_ERROR, _("Error starting %s: %s\n"), child_argv[0], error->message); g_error_free(error); } /* Clean up after ourselves. */ for (i = 0; child_argv[i] != NULL; i++) { g_free(child_argv[i]); } } static void addcomputer_clicked_cb(G_GNUC_UNUSED GtkButton * widget, gpointer user_data) { Game **game = user_data; g_assert(server_port != NULL); add_computer_player(*game, want_ai_chat); config_set_int("ai/enable-chat", want_ai_chat); } static void gui_player_add(void *data_in) { Player *player = data_in; log_message(MSG_INFO, _("Player %s from %s entered\n"), player->name, player->location); } static void gui_player_remove(void *data) { Player *player = data; log_message(MSG_INFO, _("Player %s from %s left\n"), player->name, player->location); } static void gui_player_rename(void *data) { Player *player = data; log_message(MSG_INFO, _("Player %d is now %s\n"), player->num, player->name); } static gboolean everybody_left(gpointer data) { Game *game = data; server_stop(game); gui_set_server_state(server_is_running(game)); return FALSE; } static void gui_player_change(void *data) { Game *game = data; GList *current; guint number_of_players = 0; gtk_list_store_clear(store); playerlist_inc_use_count(game); for (current = game->player_list; current != NULL; current = g_list_next(current)) { GtkTreeIter iter; Player *p = current->data; gboolean isSpectator; isSpectator = player_is_spectator(p->game, p->num); if (!isSpectator && !p->disconnected) number_of_players++; gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, PLAYER_COLUMN_NAME, p->name, PLAYER_COLUMN_LOCATION, p->location, PLAYER_COLUMN_NUMBER, p->num, PLAYER_COLUMN_CONNECTED, !p->disconnected, PLAYER_COLUMN_ISSPECTATOR, isSpectator, -1); } playerlist_dec_use_count(game); if (number_of_players == 0 && game->is_game_over) { g_timeout_add(100, everybody_left, game); } } static void add_game_to_list(gpointer name, G_GNUC_UNUSED gpointer user_data) { GameParams *a = (GameParams *) name; select_game_add_details(SELECTGAME(select_game), a); } static void overridden_hostname_changed_cb(GtkEntry * widget, G_GNUC_UNUSED gpointer user_data) { const gchar *text; text = gtk_entry_get_text(widget); while (*text != '\0' && isspace(*text)) text++; if (overridden_hostname) g_free(overridden_hostname); overridden_hostname = g_strdup(text); } /** Builds the composite game settings frame widget. * @param main_window The top-level window. * @return Returns the composite widget. */ static GtkWidget *build_game_settings(GtkWindow * main_window) { GtkWidget *vbox; vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 3); gtk_widget_show(vbox); gtk_container_set_border_width(GTK_CONTAINER(vbox), 3); select_game = select_game_new(); gtk_widget_show(select_game); g_signal_connect(G_OBJECT(select_game), "activate", G_CALLBACK(game_activate), NULL); gtk_box_pack_start(GTK_BOX(vbox), select_game, FALSE, FALSE, 0); game_settings = game_settings_new(TRUE); gtk_widget_show(game_settings); gtk_box_pack_start(GTK_BOX(vbox), game_settings, TRUE, TRUE, 0); g_signal_connect(G_OBJECT(game_settings), "check", G_CALLBACK(check_vp_cb), main_window); return vbox; } /** Builds the composite game rules frame widget. * @return Returns the composite widget. */ static GtkWidget *build_game_rules(void) { GtkWidget *vbox; vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 3); gtk_widget_show(vbox); gtk_container_set_border_width(GTK_CONTAINER(vbox), 3); game_rules = game_rules_new(); gtk_widget_show(game_rules); gtk_box_pack_start(GTK_BOX(vbox), game_rules, TRUE, TRUE, 0); return vbox; } /** Builds the composite server frame widget. * @return Returns the composite widget. */ static GtkWidget *build_server_frame(void) { /* table */ /* server port label */ /* - port entry */ /* register toggle */ /* metaserver label */ /* - meta entry */ /* hostname label */ /* - hostname entry */ /* random toggle */ GtkWidget *table; GtkWidget *label; GtkWidget *toggle; GtkWidget *port_entry; gint novar; gchar *metaserver_name; /* table */ table = gtk_table_new(6, 2, FALSE); gtk_widget_show(table); gtk_container_set_border_width(GTK_CONTAINER(table), 3); gtk_table_set_row_spacings(GTK_TABLE(table), 3); gtk_table_set_col_spacings(GTK_TABLE(table), 5); /* server port label */ label = gtk_label_new(_("Server port")); gtk_widget_show(label); gtk_table_attach(GTK_TABLE(table), label, 0, 1, 0, 1, GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); /* port entry */ port_entry = gtk_entry_new(); g_signal_connect(G_OBJECT(port_entry), "changed", G_CALLBACK(port_entry_changed_cb), NULL); gtk_widget_show(port_entry); gtk_table_attach(GTK_TABLE(table), port_entry, 1, 2, 0, 1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); gtk_widget_set_tooltip_text(port_entry, _("The port for the game server")); /* initialize server port */ server_port = config_get_string("server/port=" PIONEERS_DEFAULT_GAME_PORT, &novar); gtk_entry_set_text(GTK_ENTRY(port_entry), server_port); /* register_toggle */ toggle = gtk_check_button_new_with_label(_("Register server")); gtk_widget_show(toggle); gtk_table_attach(GTK_TABLE(table), toggle, 0, 2, 1, 2, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); g_signal_connect(G_OBJECT(toggle), "toggled", G_CALLBACK(register_toggle_cb), NULL); gtk_widget_set_tooltip_text(toggle, _("" "Register this game at the metaserver")); register_server = config_get_int_with_default("server/register", TRUE); /* metaserver label */ label = gtk_label_new(_("Metaserver")); gtk_widget_show(label); gtk_table_attach(GTK_TABLE(table), label, 0, 1, 2, 3, GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); /* meta entry */ meta_entry = metaserver_new(); gtk_widget_show(meta_entry); gtk_table_attach(GTK_TABLE(table), meta_entry, 1, 2, 2, 3, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); gtk_widget_set_sensitive(meta_entry, register_server); /* initialize meta entry */ novar = 0; metaserver_name = config_get_string("server/metaserver", &novar); if (novar || !strlen(metaserver_name) || !strncmp(metaserver_name, "gnocatan.debian.net", strlen(metaserver_name) + 1)) metaserver_name = get_metaserver_name(TRUE); metaserver_add(METASERVER(meta_entry), metaserver_name); g_free(metaserver_name); /* hostname label */ label = gtk_label_new(_("Reported hostname")); gtk_widget_show(label); gtk_table_attach(GTK_TABLE(table), label, 0, 1, 3, 4, GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); /* hostname entry */ overridden_hostname_entry = gtk_entry_new(); g_signal_connect(G_OBJECT(overridden_hostname_entry), "changed", G_CALLBACK(overridden_hostname_changed_cb), NULL); gtk_widget_show(overridden_hostname_entry); gtk_table_attach(GTK_TABLE(table), overridden_hostname_entry, 1, 2, 3, 4, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); gtk_widget_set_tooltip_text(overridden_hostname_entry, _("" "The public name of this computer " "(needed when playing behind a firewall)")); gtk_widget_set_sensitive(overridden_hostname_entry, register_server); /* initialize overridden hostname */ novar = 0; overridden_hostname = config_get_string("server/overridden-hostname", &novar); if (novar) overridden_hostname = g_strdup(""); gtk_entry_set_text(GTK_ENTRY(overridden_hostname_entry), overridden_hostname); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toggle), register_server); /* random toggle */ toggle = gtk_check_button_new_with_label(_("Random turn order")); gtk_widget_show(toggle); gtk_table_attach(GTK_TABLE(table), toggle, 0, 2, 4, 5, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); g_signal_connect(G_OBJECT(toggle), "toggled", G_CALLBACK(random_toggle_cb), NULL); gtk_widget_set_tooltip_text(toggle, _("Randomize turn order")); random_order = config_get_int_with_default("server/random-seating-order", TRUE); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toggle), random_order); return table; } static void my_cell_player_spectator_to_text(G_GNUC_UNUSED GtkTreeViewColumn * tree_column, GtkCellRenderer * cell, GtkTreeModel * tree_model, GtkTreeIter * iter, gpointer data) { gboolean b; /* Get the value from the model. */ gtk_tree_model_get(tree_model, iter, GPOINTER_TO_INT(data), &b, -1); g_object_set(cell, "text", b ? /* Role of the player: spectator */ _("Spectator") : /* Role of the player: player */ _("Player"), NULL); } /** Builds the composite player tree view widget. * @return returns the composite widget. */ static GtkWidget *build_connected_tree_view(void) { /* scrolled window */ /* tree_view */ /* connected column */ /* name column */ /* location column */ /* number column */ /* role column */ GtkWidget *scroll_win; GtkWidget *tree_view; GtkCellRenderer *renderer; GtkTreeViewColumn *column; /* scroll_win */ scroll_win = gtk_scrolled_window_new(NULL, NULL); gtk_widget_show(scroll_win); gtk_container_set_border_width(GTK_CONTAINER(scroll_win), 3); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll_win), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); /* tree_view */ /* Create model */ store = gtk_list_store_new(PLAYER_COLUMN_LAST, G_TYPE_BOOLEAN, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INT, G_TYPE_BOOLEAN); /* Create graphical representation of the model */ tree_view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store)); /* The theme should decide if hints are used */ /* gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(tree_view), TRUE); */ gtk_container_add(GTK_CONTAINER(scroll_win), tree_view); gtk_widget_set_tooltip_text(tree_view, /* Tooltip for server connection overview */ _("" "Shows all players and spectators connected to the server")); column = /* Label for column Connected */ gtk_tree_view_column_new_with_attributes(_("Connected"), gtk_cell_renderer_toggle_new (), "active", PLAYER_COLUMN_CONNECTED, NULL); gtk_tree_view_append_column(GTK_TREE_VIEW(tree_view), column); /* Tooltip for column Connected */ set_tooltip_on_column(column, _("" "Is the player currently connected?")); column = /* Label for column Name */ gtk_tree_view_column_new_with_attributes(_("Name"), gtk_cell_renderer_text_new (), "text", PLAYER_COLUMN_NAME, NULL); gtk_tree_view_append_column(GTK_TREE_VIEW(tree_view), column); /* Tooltip for column Name */ set_tooltip_on_column(column, _("Name of the player")); column = /* Label for column Location */ gtk_tree_view_column_new_with_attributes(_("Location"), gtk_cell_renderer_text_new (), "text", PLAYER_COLUMN_LOCATION, NULL); gtk_tree_view_append_column(GTK_TREE_VIEW(tree_view), column); /* Tooltip for column Location */ set_tooltip_on_column(column, _("Host name of the player")); renderer = gtk_cell_renderer_text_new(); column = /* Label for column Number */ gtk_tree_view_column_new_with_attributes(_("Number"), renderer, "text", PLAYER_COLUMN_NUMBER, NULL); g_object_set(renderer, "xalign", 1.0f, NULL); gtk_tree_view_append_column(GTK_TREE_VIEW(tree_view), column); /* Tooltip for column Number */ set_tooltip_on_column(column, _("Player number")); renderer = gtk_cell_renderer_text_new(); column = /* Label for column Role */ gtk_tree_view_column_new_with_attributes(_("Role"), renderer, NULL); gtk_tree_view_append_column(GTK_TREE_VIEW(tree_view), column); /* Tooltip for column Role */ set_tooltip_on_column(column, _("Player or spectator")); gtk_tree_view_column_set_cell_data_func(column, renderer, my_cell_player_spectator_to_text, GINT_TO_POINTER (PLAYER_COLUMN_ISSPECTATOR), NULL); gtk_widget_show(tree_view); return scroll_win; } /** Builds the composite player frame widget. * @return returns the composite widget. */ static GtkWidget *build_player_connected_frame(void) { /* vbox */ /* connected tree_view */ /* launch client button */ GtkWidget *vbox; GtkWidget *button; gchar *fullname; /* vbox */ vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5); gtk_widget_show(vbox); /* connected tree_view */ gtk_box_pack_start(GTK_BOX(vbox), build_connected_tree_view(), TRUE, TRUE, 0); /* launch client button */ button = gtk_button_new_with_label( /* Button text */ _("" "Launch Pioneers Client")); gtk_widget_show(button); fullname = g_find_program_in_path(PIONEERS_CLIENT_GTK_PROGRAM_NAME); gtk_widget_set_sensitive(button, fullname != NULL); g_free(fullname); gtk_box_pack_start(GTK_BOX(vbox), button, FALSE, FALSE, 0); g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(launchclient_clicked_cb), NULL); gtk_widget_set_tooltip_text(button, /* Tooltip */ _("Launch the Pioneers client")); return vbox; } /** Builds the composite ai frame widget. * @return returns the composite widget. */ static GtkWidget *build_ai_frame(Game ** game) { /* ai vbox */ /* ai chat toggle */ /* add ai button */ GtkWidget *vbox; GtkWidget *toggle; GtkWidget *button; gchar *fullname; /* ai vbox */ vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5); gtk_widget_show(vbox); fullname = g_find_program_in_path(PIONEERS_AI_PROGRAM_NAME); gtk_widget_set_sensitive(vbox, fullname != NULL); g_free(fullname); /* ai chat toggle */ toggle = gtk_check_button_new_with_label(_("Enable chat")); gtk_widget_show(toggle); gtk_box_pack_start(GTK_BOX(vbox), toggle, TRUE, TRUE, 0); g_signal_connect(G_OBJECT(toggle), "toggled", G_CALLBACK(chat_toggle_cb), NULL); gtk_widget_set_tooltip_text(toggle, /* Tooltip */ _("Enable chat messages")); want_ai_chat = config_get_int_with_default("ai/enable-chat", TRUE); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toggle), want_ai_chat); /* add ai button */ button = gtk_button_new_with_label( /* Button text */ _("" "Add Computer Player")); gtk_widget_show(button); gtk_box_pack_start(GTK_BOX(vbox), button, FALSE, FALSE, 0); g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(addcomputer_clicked_cb), game); gtk_widget_set_tooltip_text(button, /* Tooltip */ _("" "Add a computer player to the game")); return vbox; } /** Builds the composite message frame widget. * @return returns the composite widget. */ static GtkWidget *build_message_frame(void) { /* scrolled window */ /* text view */ GtkWidget *scroll_win; GtkWidget *message_text; /* scrolled window */ scroll_win = gtk_scrolled_window_new(NULL, NULL); gtk_widget_show(scroll_win); gtk_container_set_border_width(GTK_CONTAINER(scroll_win), 3); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll_win), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); /* text view */ message_text = gtk_text_view_new(); gtk_widget_show(message_text); gtk_container_add(GTK_CONTAINER(scroll_win), message_text); gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(message_text), GTK_WRAP_WORD); gtk_widget_set_tooltip_text(message_text, /* Tooltip */ _("Messages from the server")); message_window_set_text(message_text, NULL); return scroll_win; } /** Builds the composite interface widget. * @param main_window The top-level window. * @return returns the composite widget. */ static GtkWidget *build_interface(GtkWindow * main_window, Game ** game) { GtkWidget *vbox; GtkWidget *hbox_settings; GtkWidget *vbox_settings; GtkWidget *stop_game_button_on_tab; GtkWidget *label_with_close_button; /* vbox */ vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5); gtk_widget_show(vbox); gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); /* settings_notebook */ settings_notebook = gtk_notebook_new(); gtk_widget_show(settings_notebook); gtk_notebook_set_show_border(GTK_NOTEBOOK(settings_notebook), FALSE); gtk_box_pack_start(GTK_BOX(vbox), settings_notebook, FALSE, TRUE, 0); /* settings tab hbox */ hbox_settings = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5); gtk_widget_show(hbox_settings); gtk_notebook_append_page(GTK_NOTEBOOK(settings_notebook), hbox_settings, gtk_label_new(_("Game settings"))); /* left part in settings tab */ vbox_settings = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5); gtk_widget_show(vbox_settings); /* Game settings frame */ build_frame(vbox_settings, _("Game parameters"), build_game_settings(main_window), FALSE); /* server frame */ build_frame(vbox_settings, _("Server parameters"), build_server_frame(), FALSE); gtk_box_pack_start(GTK_BOX(hbox_settings), vbox_settings, FALSE, FALSE, 0); /* right part in settings tab */ vbox_settings = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5); gtk_widget_show(vbox_settings); /* Rules frame */ build_frame(vbox_settings, _("Rules"), build_game_rules(), FALSE); gtk_box_pack_start(GTK_BOX(hbox_settings), vbox_settings, TRUE, TRUE, 0); /* game tab label */ label_with_close_button = create_label_with_close_button( /* Tab name */ _ ("" "Running game"), /* Tab tooltip */ _ ("" "Stop the server"), &stop_game_button_on_tab); g_signal_connect(G_OBJECT(stop_game_button_on_tab), "clicked", G_CALLBACK(start_clicked_cb), game); /* game tab vbox */ vbox_settings = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5); gtk_notebook_append_page(GTK_NOTEBOOK(settings_notebook), vbox_settings, label_with_close_button); /* player connected frame */ build_frame(vbox_settings, _("Players connected"), build_player_connected_frame(), TRUE); /* ai frame */ build_frame(vbox_settings, _("Computer players"), build_ai_frame(game), FALSE); /* start button */ start_btn = gtk_button_new(); gtk_widget_show(start_btn); gtk_box_pack_start(GTK_BOX(vbox), start_btn, FALSE, FALSE, 0); g_signal_connect(G_OBJECT(start_btn), "clicked", G_CALLBACK(start_clicked_cb), game); /* message frame */ build_frame(vbox, _("Messages"), build_message_frame(), TRUE); gui_set_server_state(FALSE); return vbox; } /** Sets the widgets in the interface to the options that were saved in the * registry the last time a game was started. */ static void load_last_game_params(void) { /* Fill the GUI with the saved settings */ gchar *gamename; gint temp; gboolean default_returned; GameParams *params; gamename = config_get_string("game/name=Default", &default_returned); params = cfg_set_game(gamename); if (params == NULL) params = cfg_set_game("Default"); select_game_set_default(SELECTGAME(select_game), gamename); game_list_foreach(add_game_to_list, NULL); g_free(gamename); /* If a setting is not found, don't override the settings that came * with the game */ g_assert(params != NULL); temp = config_get_int("game/random-terrain", &default_returned); if (!default_returned) cfg_set_terrain_type(params, temp); temp = config_get_int("game/num-players", &default_returned); if (!default_returned) cfg_set_num_players(params, temp); temp = config_get_int("game/victory-points", &default_returned); if (!default_returned) cfg_set_victory_points(params, temp); temp = config_get_int("game/victory-at-end-of-turn", &default_returned); if (!default_returned) params->check_victory_at_end_of_turn = temp; temp = config_get_int("game/sevens-rule", &default_returned); if (!default_returned) cfg_set_sevens_rule(params, temp); temp = config_get_int("game/use-dice-deck", &default_returned); if (!default_returned) cfg_set_use_dice_deck(params, temp); temp = config_get_int("game/num-dice-decks", &default_returned); if (!default_returned) cfg_set_num_dice_decks(params, temp); temp = config_get_int("game/num-removed_cards", &default_returned); if (!default_returned) cfg_set_num_removed_dice_cards(params, temp); temp = config_get_int("game/use-pirate", &default_returned); if (!default_returned) params->use_pirate = temp; temp = config_get_int("game/strict-trade", &default_returned); if (!default_returned) params->strict_trade = temp; temp = config_get_int("game/domestic-trade", &default_returned); if (!default_returned) params->domestic_trade = temp; update_game_settings(params); params_free(params); } static void check_vp_cb(G_GNUC_UNUSED GObject * caller, gpointer main_window) { GameParams *params; params = params_copy(select_game_get_active_game (SELECTGAME(select_game))); cfg_set_num_players(params, (gint) game_settings_get_players(GAMESETTINGS (game_settings))); cfg_set_victory_points(params, (gint) game_settings_get_victory_points (GAMESETTINGS(game_settings))); params->check_victory_at_end_of_turn = game_rules_get_victory_at_end_of_turn(GAMERULES(game_rules)); cfg_set_sevens_rule(params, (gint) game_rules_get_sevens_rule(GAMERULES (game_rules))); cfg_set_use_dice_deck(params, game_rules_get_use_dice_deck(GAMERULES (game_rules))); cfg_set_num_dice_decks(params, game_rules_get_num_dice_decks(GAMERULES (game_rules))); cfg_set_num_removed_dice_cards(params, game_rules_get_num_removed_dice_cards (GAMERULES(game_rules))); cfg_set_terrain_type(params, (gint) game_rules_get_random_terrain(GAMERULES (game_rules))); params->strict_trade = game_rules_get_strict_trade(GAMERULES(game_rules)); params->use_pirate = game_rules_get_use_pirate(GAMERULES(game_rules)); params->domestic_trade = game_rules_get_domestic_trade(GAMERULES(game_rules)); if (params->island_discovery_bonus) { g_array_free(params->island_discovery_bonus, TRUE); } params->island_discovery_bonus = game_rules_get_island_discovery_bonus(GAMERULES(game_rules)); update_game_settings(params); check_victory_points(params, main_window); } static void quit_cb(void) { gtk_main_quit(); } static void help_about_cb(void) { aboutbox_display(GTK_WINDOW(toplevel), /* Caption of about box */ _("About the Pioneers Game Server")); } void game_is_over(G_GNUC_UNUSED Game * game) { /* Wait for all players to disconnect, * then enable the UI */ log_message(MSG_INFO, _("The game is over.\n")); } void request_server_stop(Game * game) { server_stop(game); gui_set_server_state(server_is_running(game)); } static GOptionEntry commandline_entries[] = { {"debug", '\0', 0, G_OPTION_ARG_NONE, &enable_debug, /* Commandline option of server-gtk: enable debug logging */ N_("Enable debug messages"), NULL}, {"version", '\0', 0, G_OPTION_ARG_NONE, &show_version, /* Commandline option of server-gtk: version */ N_("Show version information"), NULL}, {NULL, '\0', 0, 0, NULL, NULL, NULL} }; int main(int argc, char *argv[]) { gchar *icon_file; GtkWidget *vbox; GtkWidget *menubar; GtkActionGroup *action_group; GtkUIManager *ui_manager; GtkAccelGroup *accel_group; GError *error = NULL; GOptionContext *context; Game *game; net_init(); /* set the UI driver to GTK_Driver, since we're using gtk */ set_ui_driver(>K_Driver); /* flush out the rest of the driver with the server callbacks */ driver->player_added = gui_player_add; driver->player_renamed = gui_player_rename; driver->player_removed = gui_player_remove; driver->player_change = gui_player_change; /* Initialize frontend inspecific things */ server_init(); #ifdef ENABLE_NLS setlocale(LC_ALL, ""); /* Gtk+ handles the locale, we must bind the translations */ bindtextdomain(PACKAGE, LOCALEDIR); textdomain(PACKAGE); bind_textdomain_codeset(PACKAGE, "UTF-8"); #endif /* Long description in the commandline for server-gtk: help */ context = g_option_context_new(_("- Host a game of Pioneers")); g_option_context_add_main_entries(context, commandline_entries, PACKAGE); g_option_context_add_group(context, gtk_get_option_group(TRUE)); g_option_context_parse(context, &argc, &argv, &error); if (error != NULL) { g_print("%s\n", error->message); g_error_free(error); return 1; } if (show_version) { g_print(_("Pioneers version:")); g_print(" "); g_print(FULL_VERSION); g_print("\n"); return 0; } set_enable_debug(enable_debug); prepare_gtk_for_close_button_on_tab(); toplevel = gtk_window_new(GTK_WINDOW_TOPLEVEL); /* Name in the titlebar of the server */ gtk_window_set_title(GTK_WINDOW(toplevel), _("Pioneers Server")); vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); gtk_container_add(GTK_CONTAINER(toplevel), vbox); action_group = gtk_action_group_new("MenuActions"); gtk_action_group_set_translation_domain(action_group, PACKAGE); gtk_action_group_add_actions(action_group, entries, G_N_ELEMENTS(entries), toplevel); ui_manager = gtk_ui_manager_new(); gtk_ui_manager_insert_action_group(ui_manager, action_group, 0); accel_group = gtk_ui_manager_get_accel_group(ui_manager); gtk_window_add_accel_group(GTK_WINDOW(toplevel), accel_group); error = NULL; if (!gtk_ui_manager_add_ui_from_string (ui_manager, ui_description, -1, &error)) { /* Error message */ g_message(_("Building menus failed: %s"), error->message); g_error_free(error); return 1; } config_init("pioneers-server"); themes_init(); icon_file = g_build_filename(DATADIR, "pixmaps", MAINICON_FILE, NULL); if (g_file_test(icon_file, G_FILE_TEST_EXISTS)) { gtk_window_set_default_icon_from_file(icon_file, NULL); } else { g_warning("Pixmap not found: %s", icon_file); } g_free(icon_file); menubar = gtk_ui_manager_get_widget(ui_manager, "/MainMenu"); gtk_box_pack_start(GTK_BOX(vbox), menubar, FALSE, FALSE, 0); game = NULL; gtk_box_pack_start(GTK_BOX(vbox), build_interface(GTK_WINDOW(toplevel), &game), TRUE, TRUE, 0); /* in theory, all windows are created now... * set logging to message window */ log_set_func_message_window(); game_list_prepare(); load_last_game_params(); gtk_widget_show_all(toplevel); gui_set_server_state(FALSE); g_signal_connect(G_OBJECT(toplevel), "delete_event", G_CALLBACK(quit_cb), NULL); gtk_main(); log_set_func_default(); game_free(game); config_finish(); net_finish(); g_option_context_free(context); game_list_cleanup(); themes_cleanup(); return 0; } pioneers-15.5/server/gtk/pioneers-server.svg0000644000175000017500000020657412422471006016171 00000000000000 image/svg+xmlRoland ClobusIcon for the Pioneers server. The colours are similar to the colours in the Classic theme.The computer is taken from the image 'computer.svg' from the GNOME icon theme 'Gorilla' (https://download.gnome.org/teams/art.gnome.org/themes/icon/ICON-Gorilla.tar.bz2) which is created by Jakub Steiner and relicensed to CC-BY-SA 4.0. 8 4 9 8 4 9 pioneers-15.5/server/gtk/pioneers-server.48x48_apps.png0000644000175000017500000001051013252243610017756 00000000000000‰PNG  IHDR00Wù‡bKGDÿÿÿ ½§“ýIDAThµš{pÔ×uÇ?¿×¾%­Vi…„,ñ&ÂÇ€VÉÛ±¢¦ÓÔ“ÖuS“¦mÚÔIÜÚñÔž¦uÒÄŒ™Á %$˜@ð˜Úز] AB£â¡×¢×®vµoíïÑ?~Òqrf~³Òêüî=ß{¿çÜsΕÀÍe!ðP$àМ™üŒÜàÝvø1@6-¿e®O$ÂMþVt3~ËýÀGÀiLPCvø þè³àxR¼‘‚'à-°Û’›xøïšš^yåt]'™LF >|˜Ó§O3<<<íË^ }Ðj;d xQ…ç€ôÀ÷€øÖ·¾Åw¾ót]·UU …BD"’É$áp˜H$Bww7---œ.ùßûÇŒ3(((àØ‘óä{=$ÓÙ%§ÛAÅœRmˆÂá3ÔxFñ=ôgLhNB£Q‚ÁqZO¾Ï>¿ƒÂB_ÿçûi¸½ UU‘e™ÞÞ^ÊË˧†u|\ão  ¦¦€Ó­),Ê'‘ºâgºaÐp7¶‹” ]Ân „_D¿ïQæÔ/`Δ²a‹&9òH‚`QLEDQ$ …¦´Ïß2µµµ\8?Œ§ ï*ãá eG÷“gè9/–‡Ýû#.Ýù0%Kî±¾í60 º¶”l6‹ªªhš†,ËŒŽŽ^Ž»n€¸²—/Gp¸$R–B´·‹êIãÅ;—RÿÀZºOu’ØýÅé$‘Ö·HÞ¶UÕ E†ÈNhä8ÑuY6§N$„ÃaFFF¦†>wËD£)òf¿ŠBFøÊÖø•ÜU[ ¬ãé¶³Ðu‰”­€K§{Ŭ3³Ì@*•BEdY&“É`ÆÕ;¸, †A&­ã%’)cRÁµ”Okç®Ñ0Ê2´¡0¦:IFÓȲbéUÎ)ÀétZÒuA®Þþ߀̹sçÅ‘$ U×Ñ}Ì”zggJäk=?ÙÃ7+ËÐÂ<ѧ›Ý–3p]ý, à ›Í"I’õD"&&&AÓ‡CìF*§ßïÇétÒÝÕ‹b“q†Q[fÕ""· ±¿p)ýïžÅŸHÂù^Àœýc>…b»-ç ©›gæ…º®“J¥ðx<Äãq†††¦VNÏ Ÿ @ÿ/^E$Ä_¯ á²Iæ4“rÿ²|ÚŠ—rü7]$âã´×朓%1yüF»¿°ÂÒŸ9+A°Ûí(ŠB:& åøíŸ@Níí SèˆOçS…xfT1ØžÅùã,­´Ó³²‚«ÛÑó¬XŽZœ"pç~2F¨—6àp(Ø2ãããVøÔ4d2yËäìÀÐpœ"™€ERëü½xïi§Ì‚2 ÅråkÕE±vcŠÿ:°áAç˨|×|ó·‹tÍï³oTWWóä“Ob i©¤Š¦TóÑe(ƒdT#ýy¼?0‡QçC0‡¡L™‚ƒÅaŽ;º±™ëitó÷&V®šE*•DÓ4R)“rýýýœ8q‚@ @ÜŽÁý$¹‰ÆG|ŒÄîÚÈá¿¢H<ô¹ù<ð`=ªªÑÑÑÀ[¿~‡Ñ1ÙWBž™Pë^/1“çÄÐÜs`€+XHeb sXNaE>’$àr¹ÐuEQ'›ÍZÌ#ÔKps7ûØCŠvÒ|³ið±øªªª®SE… K˜7ïóèºÎà`‚“'éíf(UæòùÌwyÿìvФJÝ‹=ß@¡÷ʉl†aX)D08Ù¤˜uÕdÕÀßàæ8Ëy‡1ØA–o2›\K!xbllŒÕ«WSZZzݤS?»\2Õs Xú©bŠq»%ÐeÊ”eÌt×!KWr …“òrGÎû𦠅øå/i&{`tÒ‚|@üˆ,C!ÍBFø[ ÁñI­ë,wÛåŠ,ø†GBâ¶mÛØ¹s'¤R)***eÙ2 w%aÆ 'uõ44á÷»ÐuƒdJCÍê,X˜G~¾d½#Š"étšsçÎñÖ[o¡( zB7;FÀaL@1Ì@ЀL-6‚¬d‚GÑ8ôLð{ìòOœ6é»O®¯-ÿ—?^ y] ƒÑ =ÁZ[[Ù»w/[¶láСCD"JKKÉËËËYÑ«¹\³+],\˜ÏüyäçËÂUU¡½½ãdzxñb~úÓŸZÔ Ñ£ºÙ§8´bÆÇ‡°1‹".Ñ„@#·Cþð³Kg.ù«Æ¹²]¹Z#iÞîbϱFc¹íÊÊJÖ­[Gcc#+V¬@Åëº×¶\¦žX,FOO¯¿þ:{÷îÅçóÑÜÜlÕʼnD‚ÇsàÀš››˜ä"ðe̘û6*§8%¸”SÿÖ´hñâÙ9&'4v¾ßî£}L¨fµzõjAàĉD£WüÉëõ²råJîºë.ñù|74^×uº»»I§Ólݺ•––$IâÍ7ߤ¾¾›-7عs'Ï>û¬9çàv øíÓ4Ú‡Ør ›pÂ,!×®]Ë3ÏÙl– .000@0DdYFUUÁ`ŸýìgfÚ}'P|3.@OOOÎäWjš†¦i†$I8Nü~¿E±d2I:¶bþT `³Ùp8¸\.«+×ÓÓƒaœ:uŠT*…¢(¨ªjuÀ?Ξ={L^ÜÃu’ ¬ÐtñsçÎYÍ×é@LI&“± µÛíȲŒ¢(8N<E»kE×u£«« Ã0°ÙlLLL`³ÙH&“ìÛ·ƒš½ê/b:ï4’àÎÚ"Iddd„uëÖ±yófÖ­[‡$]›´æRU•L&ƒ “™ª‹‰‰ $I"‘Hàõz-'œºz D"+Aœª†‡‡Ù¾}»Iã™À€ëÏ6Kr¨, T•¸9v>Ìù‹=ìÞ½›;v …¨¬¬$???Ç¡§>“É$;wî$‹áv»ÑuD"A"‘Àf³¡i‚@(âèÑ£9”™ÑÖÖÆË/¿l¶Ú?4žX>F%»,=^Vè,]à/ªJÜÜ»¨—Mf œb8åÈ‘#lÛ¶£Gb³Ù¨®®¶V{ÊÁçÏŸO:æƒ>àÜ9ó0EUUGEœN'ÍÍÍV4SUÕ¢ÎÞ½{Ù³gY#kæ;k¹¾Z±¶øƒàÓ.›üc¿ÏéÿÇëòêfåYzºapòb„×O9Ø9‚¦›´)..fãÆ455QYY™“´)ŠB<çòåËœ?ž‚‚êêêp¹\Øl6:d9·aŒñÊ+¯˜a²`’2åÓY=)A`qÂô“ᱩ֥ ÁŸËŠøƒUu%öÍ÷Õ8}žÜ¬p$–aÿÉËìo½Ì`ôÊï¢E‹hjjbÆ Øív Ì”c‚™OµÏœ9c­~WW[·n%‰ÀmÀÃ\—*X’Þ%M*O£óC@»ö’Ïíŧ ¯ÿɧ+”Gï®’)7{Ò ƒcçÃì;q™ºFQ'wÅãñÐØØÈ† X±bÅu©´$I„Ãa†††PU•÷Þ{Ÿÿü稺 k€ÕLå¨ÇÑx‡‰ÉÚøŸ€ñ©?ßè–rnžCþ‘MWm}­gíüéÿÛ`$–á?~М †qe¬Ûn»x€û×kE¬žžÂá0Û·o§¥¥Å¬{¿Àd+m¹¼N‚4í¤Ùœ½Våf÷Ä÷¸ìÒ¶êÏŒocÏî9žYïþ1Þ9N³;Þ=cí{=ã±HI–i[–DK)²I3‡ÎÝh4Ð\¨œï½ûÇW·P9 4›èºU· ÷{¿7<ïó*Üx©Êßw±uÈÀ-ÀÍÀx/g×7Âbòí@0 Œ>6®Ít $°¬`9÷s0wÞ.Ã0ð³ÀÏÀw€'gôûx]»¸Žx? €øIà'€C@bá+5~Ç,ø®#v¬0px x8Ÿû÷**ø]ø'€ŸîÔ‚c+À×€§Ÿçîg·‹ÁýÀBˆ›l;¾ Äε œþø]à³ÀAÄ/_‡÷v£B>|ˆRýsÔsÀ¿Gx»ØÅ¶A~˜@,ØíZüÕ B2L?þà_w{'7F´Ó¸ø?yJ>'?˜}`ÊåŸ_ø>ðE„g¶‹!®÷Íÿ Àïñþí,&Â(„kÀE„·p6÷ó56¼’ö?ƒp÷Qà9nÑM@p8…øJ¾‰ ~ˆøüvñ!Áõ4 vàƒ×ñ5ŽÈ¬“ˆµp‘K˜A„´ì¸x±ðlÖ؇Xøã€–{Üd#v:ƒÈ¨ÀáÃSˆ\Ë.>¸^  ø¯ÀO]Ç×Ü,,/!‚p™/°±.. ª!Dˆq£AF,ø/"}Þƒ½ÀÑÜ—·ìWt„Õ;‰x³©âÃpø2ðuÄ糋0®×bü5Äîï¸N¯·Ý(ô¬õq±F®pcx GŽ(ëõSð·õG»~ýÑSlX¾iÊb¢4ðÂ<Ä·xí»xŸp= @;Âu|ä:½Þõ@%/áíÜ÷KÀ"Ïp=x =Àç»þ-Äù6àbáS»¾Z &â žFä–ÊO ‡à¼Äéí¢®Ç‚ü à¯h"“ìp8°Ûí„B¡»ªí‡å%¬SˆÍó=„A¸Âö3íœÀ'qþc€Ý: CÀ1DÂe«n—•°²¥‘òÃ3ÀWr_ç·ør»¸ŽØi`C¸þÿS#¯e³Ùxâ‰'øÔ§>…Ýnç»ßý.o¿ý6×®]#“Í~ Ð&Adѯ"JŸï!jìçk*Bó^‚Œ(c~øi µð`'bᣘN¹ȲaÙ&o®:‚<ô$ð4"W²‹;m1â±z'Úl6~çw~‡ßþíߦµUÜÓ‰D‚µµ5¦§§¹páçÎãüùóLLL°²²B<Ç4?P;Ag^F„ÖgØð¦©ï%Œ"büŸE$óó?7"Î?†àTïä6‰°b'YÊòIà{ˆjÁwsÿÞÅ Š6Gd‹ëºÿ_øÂøÓ?ýSü~?†!BII’о à ³°°Àää$gΜáÌ™3LLL033C8&™ü@Ýo…^Âbc=…X_繄(ЂØí¸“‚p^Æ „b^ïN_x‘8‰°\%XExO¯ñááV|¨°Óàß¿_ïuºººø‹¿ø {ì±¢ÝúÙú^h dYF’$2™ ¡PˆÙÙY._¾Ì{ï½Çùó癜œäÚµkD£ÑZè`y K¯` èFÄýyìE$ø®ë{y˜ˆøæ"?/?<Á`êú^Ý.êa' € ø3à—j^€$ñ¿ñüáþ!ªZ¼•€RãPhEA’ÄÛI¥R¬­­199É… 8yò$LOO³¼¼L"ñ~Wì¶ ±øïF$û4Þÿ&‡,"Ž9™û^’ØÐWI§Ýœ»¸°“À Þ_뤖–¾ò•¯ðÐC=^˨öPddYF–et]'3??Ï¥K—8sæ §NbjjŠ™™B¡™LIJë‡ÂFuÂEhGdݹãïGÍ5έøjåÃßFxß§,¸‹ë¼Göÿ˜û^###<óÌ3 =Þ¬¨tÌ‚e B:& 155ÅÄÄgΜáüùó\ºt‰……‰ºþÁ‘ž€aºr_íˆÌõô,Z±Å–Ÿ²ü5¼s.k°“ààï ¬ª¸ï¾ûxúé§ñûýEo‡¨æ%XFÀ2 Š"rj‰D‚ååe&&&¸xñ"§OŸæâÅ‹LMMH¥Jˆ±78T„7`y ]ˆ2a+"™ ²³7€¨XYÍ’ô¬‰p¾‚ÈÌíà¥ì¢ v2i<ŽðRkbdd·ÛÝÔ×*ýÕ+ 𦉮ëE‰A+©¨( }}}ìÝ»—G}”l6K$annމ‰ Î;ÇéÓ§™œœdnnŽX,vC‡YU/„Ⱦɶќщ:žƒ =¶í€ŒÈQô!˜ˆ§€Ëäé‚‚¾ü‡ÞÀ7(ãíb'±S€‚è?ÿ­Z'ɲÌÿñóë¿þëÈr±ƒºÕ]+ÏQ˜GPUUóáC2™$055ÅÅ‹ó¥H+Á˜L&óeÌ,/¡á)ô <…Dea;½„bË?‰`A• ŒÈ= ¼À®¼ÛuÁN'"Æûl­“Ün7_ýêWyì±ÇÊŽ.P+ã½ @¥Ç¬Á2ªª¢ª*¦i‰DXZZbbb‚ .pêÔ).^¼Èìì,Á`túƒ#±gy „‡ÐÉFèàcë^‚‰¨oZù ´âYĽó•Üi»ØAì”èC°Áj2ûûûyæ™g8tèPÙ1káÍÌÌðï|‡ááaFFFèîîÆáp (ÊŽ€j‰EË YaƒªªØl6TUÍ'ƒÁ`QèpòäI&''ó Æ7ÁòÚØ¨8t!†Íz ‚äp Á‹.1‘&"9øÂTpv±Ø)ðà÷IUÜ|óÍ|ë[ߢ««ü4kçÿæ7¿É/ýÒ/¡ivº»»a||œãÇsðàAöìÙƒËåÊs¶s±7óXaØPh,£FY]]åòåËLLLpêÔ)Μ9Õ+Wò Æ ­¹ÐKhGx=ãPXqh¦íø=DÇT…¶ã ‚oóþ·\è°SIÀýTלÈcxx¸,û_Šééi2™ nw ¦açÌé ^ý¾üWOáoñ100Àøø‡âÈ‘# ÒÒÒ‚¦i5Ÿw»aš&†a ë:ét:o Ã…îînöìÙÃ>ˆaƒA˜˜˜àüùóœlØiPï|ËK° ‚ÝnÏ'%I"³ººÊÌÌLÞK8}ú4³³³¬®®’J¥>0ܰ³QyP^Ä"eY@‹uü4¼Én~ )ìD0@‰JM%ìÙ³‡––ê,aÓ4™™™!ãrzQ”òKÝ;°Y’ƒÄãq²Y½bsõ]Óìhš[Èd³Y2™ÑHœ'^ç?x›M¡­­•áá!>ÌáÇٿ?===Û6l&ÿ`†aN§‰ÅDdl… –‡ÐÕÕE?÷Þ{/¦i …òÜËK°ŒÁ`]/ÿ¬ndÌE Ólx nXƒ"6a'ð¯Ôó§ü™ër±ì„§öôF(À—/_&›Í¢ÙÈr±³ÒÞÑÎ=÷ÞËå" …Y]]emuõõ È¢§+ÇÇ–Q°ÙlØl6œN7­­ù°!•Jrúôo¾ñ.F.lèëëåСC>|˜ƒÒ×ׇßï/ka¾ÞL–l6›om.M.ÚívöíÛÇØØŸùÌgH§Ó®^½Ê¹sç8uê§OŸæÊ•+,//‹ÅnX/ÁÊ'€XñZî{Ao„?üÝ„'b¥áëx™Hl÷Ýk ÔÔÜ&EáàÁƒeôßB¤R).]º„išØµò ^>¯·ÛªŠDŸßïgïÞ=†A"‘ Žä B`mh4ZÕ¶ ‚¢¨(ŠŠÃáÂçk͇ éLŠù««L^úû·ßÈ… Œå:::Ð4-ÿ|׫ڢb¢ë:©TŠh4š¯8¨ªŠÝnÇápÐÒÒBgg'·Ýv¦i‹ÅX^^fzzš3gÎpòäIΟ?ÏÕ«W ùræìÛ7YIMDEx·"‚çØm;®Ší6D·&œN'###u+SSSȲŒ£ `Áãõ–+VöxÌèè(===øýþ²<Âõj|*}¬°i‡Ã¦iùÐ&•J±²²ÂÜÜ\ÞK8{öl>Á˜H$nˆÐABÄÊhÅ…ÓŒ¾†Ð"ØEÛíì¥ý §§‡ŽŽŽŠÇ¬ÔJV©6ªZÌêSŸ¯~I°Ö®nÅÈ­m­ìÛ·L6#òÁ«««¬®®\‹Å«6òl„ ŠâÄápâó„ éWç–¹t銜:»6ª ¤¿¿Ÿ¶¶¶ëÆZ,uç ‰Jñ¸Pó³ÂMÓp:8¢JÒ××ÇÝwß®ëD£Q¸|ùržÒ|á®]»Æúú:Ùlöº‡&¢b0‚ "M“Oʲá²|‹"žÑ/¶ÛìC¸_µOÚ·Ÿ¯ºP°išLOO“J¥p»|e»ÝŽÛãÞž›LÉ@¿ß¿ÅÏÀຮ‹ùÉO’Ífó ÆóçÏçÂÔÔËËËD"‘ëâ%Ì!\ÐÏ"JOR4ÍȆ0w"…O/òcÞv¼À¢×ÜÎdYfll¬föÜ4M&''«V\n'‡Ã,üÛŸSsùHUÎÊ­kY‘q{ܸ=nzû{1 ƒd2E$ammµÕ5ÖÖD#ÑšýÿÖ"VUªjÃépÑÚÒ‰ad³iR©§O]à­7EµÁçóÒß/ª `tt”îîn|>_Óy„Í& +… ¢\ºá%H’”ç$¸\.œN'>ŸãÇsë­·æ±ËËË\¹r%ÏK°Œkkk;&ß~Q¸ A+¶¦ºFÅa ADüE›ÐšftnG.æ€í4«K«¹ÃÅãq&''*V<7ŠªT^xHHµ³=ek $ œN;N§®îŽ\M>C4%ä=„p(RSK°4l°Ûxsaƒ®gI¥’ÌÍ.siâ —ý&N§îž.FGG9pàcccô÷÷ÓÚÚZ6lÇb¯…R£`š&Éd’d2I8ο'+lp:¸\.úûû⠛͇™ŸŸÏË­={6¯Áhq¶ŠÂýïÍ}uQL+Ε$DÿÑ¿Cxÿ¡Züc‡íô3»€ï·Õ:©££ƒo~ó›Üv[åÓLÓd~~žÇœóçϳoøP¾ ÈÂÑc‡¹õö[ª‘Š6áR—ŸYûw­Œ»H,ó! O$Èfš¡æš˜¦(ëe2)’É8ñx”t&‰¢Htt´3<<ÄÁƒehhˆööv\®bêÅû•X´ Ër>l°¼§Ó™g0š¦I*•"033“÷.\¸Àôô4+++D£Ñ&>· ìGLQ±ÈCVé°Ê4£,Â#øÊ¦^ìŽíôús_5ÑÙÙIwwwÍsVVVXYYAQT4­¸©P’%<>¦i î·’Å)UY®fÉIU žZ-T¨EUð·øð·øÚKV×IÄ„B!ÖV낱KÔQ’$ò-ÄN§›–– Ó ›ÉJ%8ùÞÞxã݂ކ~!ÃþýûéêêÂçó½oy(Î%„B¡|ÅÁ ¼^/^¯¸ö={öp÷Ýw“Íf‰Çã,..réÒ%~ðƒðÚk¯1??ÏââbÃÂÂå·î‹Ix3",xx"Îð‡ejuÓØN0ˆˆ¯jb`` &`vv–p8œ ¡** Ã,uÿ%ñW4(ö–ÙŒ‚ ÂUŸ¨²Ñ)<]Qd<^7¯›þþ>tà ™L GX]]c=•†h¼®ˆ$I(’‚bW°Ûx½-ù°!N23³ÈÅ —ÉêžžnÆÇÇgß¾}ôõõ½/ …(ä%ÄãqÖÖÖp:´··ÓÝÝ÷ü~?š¦±ººÊøø8­­­ÄãqÞ}÷]Nœ8Ñ2s ”Ö™$G}b–ûG¨mç°`Œ&QŽŽÖ¤›¦ÉÔÔ™LÛUVÐì—SÄÿåë°ì§Ê/R|†Yíü:™ÄüáF'“ɰº²B"ghß~œ.']=ºÈ#D"Ö×Ö ¬­ †ˆD¢¤’µ›w6Æ£iØln·/'H¢“N§®ÇyáùWøþ÷Ÿ/ 8À¾}û¢µµµ,lØ 6[‰1M“x\?›ÍF{{;’$‘L&yñÅyûí·1 EQðz½Üu×]ƒAÞz뭺ϭS{"éív_ÛelP3U­ª*ããã5]SÃ0˜œœD×u4»Y.&Í8]N4͆ie«®¾—/åÿßÐm[%ĨüÏŸ’É«++Ì\™fòÒ%®L“J§¹÷áG¸ïþ±åºøìv »½ŽŽv ÓÈ”â׃¬­ŠB8&™HÕu…‹­âtn„ fî9EØpž7^¿ßËž=ýŒ322’g-ºÝî†DS¶º®‰DhooÇ4MNž<É;ï¼Sfm6û÷ïçäÉ“u•’Lv¹¿b» €^Õ>)W?®e¢Ñh¾à°ç(À’D.àÇív!«2ºi”/>‰üyE+<ÿzfáÙMCBªhtLÄn¶¸°Àì•+LN^bíêUœ‘0=†Á}õÛ×¾û$qxèœNgÙóÛl*-­>ZZ} w9'ŠX \…IÄ“u‹ÂKP°WRé$W¦9nÝÈârÚééífÿþýŒ1<?/§Ï4¹Q†r!nFp¦ÓüÓ¾O2•âÁ‡©I†PTŸß‹ÏïeÏÞÞA)I$!°$!‹“ÍÔfß•† ž\Ø :™tеµ8ss¯òÜ~„ªÊtt¶çIJ>ø`UæævÀbYZZbyy¹êy™L¦¡D`aûð.jc» À ¢/»&úúúhoo¯yÎÒÒ@@dŒíÅM@²¬àöº111‹R¹¿Ú®*äQ‡H$ w5š›43=Åìô" ×hM&Ùƒ@êFÜ|¥;„ƒ£'^ü©TŠ~˜öŽzÛ†Ñ)$(õôw£ë"Ó G ®‡r!’o…6ŒÚ»²$I¨ŠŒê-Ñ-þ\ØÍJÆy÷Ýsœ;7Áøø"°ÝáÃáÀ4Mkz6–Z=h4@Gݰ}`?%³ë+add¤î®wåÊ"‘ªjG³Ù)\Šªªâr;1M]$Þ$ŠŽ7’þ¯¾Ï›åÿ’@Ïê„‚Aæfg™žºÌüÌ ‰åe:ÓiF͈öÔz>„E•´™&'^ý'¾—Lòà#ÐÓÛWtNÙ/]]Aà#K8œN9‚R&!‰E„A†‰Db¤Siôšt\AŸ’$»¦`×ø|m´´úèîî©óÎ6Y–q¹\†ÁòòrUãbš&+++ y~„<ù.êc; €Œ­ù\ÍP€u]Çír ¨¶"@³kØÚF‚¨VÖ¯Îj¬U1Èd3¬¯­17;Ë•©)®ÍÌ¢¯­ÑÍr ؃Э³Õ™Š¯»±K½ôî;<›JñÀ#00("(³ô M©¤jQÝÛ‘$Ðì6Úí­´w´b›d²YâÑ8áp4ï!„CRɺn”?A‰!ìîꤥeç–“ÕšœH$ªë{¦ÓéšáA!ÚØ Åv; P€m6###5Ÿ(“ÉpéÒ% ÃÀnw¢ÈJƒÏá²£j*FÅ]¢²Ÿ_¶ç—í¨fþµW––˜›efjš…ÙY”Pˆ^]çvÄ¢oA,úíÀ^ÄDÌçÎòl:Å?ÌþÑÑÒË,¸ÊÊ} •‘«vH"±èoõáoõ±g°=«%ˆ„£„‚ÂÁ0áp”X$žÛ}%LëÉMèîî,ãbl'6›@ P“ùÇkˆBt³³So?LØŽÏ© Ñ„U>Ÿ¡¡¡º" ÓÓÓ8î`î†tºHu–I…?Ö ÃàÄ /ðÞëoàˆDè5 îE,zByf'jÇ=ˆŽ”““|?æþ‡b<7&­ÜC)¹ð/¨4³!+2ŸÏMïžnt]'™H13u•K¦0 sãó’ ·¯UÝ9ùt§Ó‰,Ëù¡Â…ƒùîÄZP ÝZcذ—(ÀÝÝÝu)À@€ÅÅEQpn´Äš¹Ê½ÓíITÊQ}‡4k¥ý$ˆÇcLœ¿À¡PˆÛƒ+®×Ä€v„xev–ç¾û=’É$G/0”U¶ú Wòv*d6ŠO‘%œn½{º˜ž'•Ü`Ú¹\Nöìé+ûü³m1(I.— Ó4Y^^ÎöJF`mm­¡ ±#í¢1l‡BH»×>ih¨.x~~žõõuEÅnwæÝ Qp¹í%å¿Z¨Õ/µ¹' ‡B¤‚AFnþõ†¸ø§ÅE^|öY’É$·|ä#·7áíTƒ¬ˆéÇ…!—Ûí¢­­®Àó¦!zœd³YVVVŠŽ+A؈ç×Ân°l‡EäªB’$ÆÆÆ*’_,X" ‰DMs¢ÙìE7³ª*Øö =ùW)ù©ÂÞWeA¬,/#ÇãïËâ·àDØiu^ýþH§ÒÜ~÷UdÈ7ïíT{ŽL:‹Qèþ]]yå¥J»}&“!‹ågX\ƒFa <‰ÅbƒÁòkÎf€Ô¹wQ„­ A®ùWW…ÑÑÑš7‡išLLL °æ2`Eš]ÝpÿK[ö¤Ò´^-lÜæ¦a²¸°@‹®××2ßaØ\-åÍçž#•Nq×=ŦÕKÂ5îílœQü)%â ²Y½è3ïîé¬ÿG"fggiiiapp0ßðcšfžÜSëony‡ÃÄb±Š®¿$IÄbB¿±$DOú. °qlÕxh€ìr¹®y3$“I&''1M‡Ã…,+E»‘Ý¡¡¨òF —±nŒÖS+«žÉ¤Y^X¼a2Ç b¶º-•âµç_ Jr×}÷ât•zORÁÿ÷vª!Käʹç•%úúºËÂÂÞÿT*…$Iøý~ÚÚÚò N“ÉdH§Óù$š¦•=—ËåB’¤üô"¨ÿ¯¯¯ç¢Ô‚ŠÈ©ì&ÇVïù^D°&ÚÚÚjR€B¡³³³8QÜØ IDAT$Y.úCÚfYÀ¬ø#R¥› ¼°¢÷ p7ÎÎ!#z×5]畯J¥¹ûc÷àó庭%°®¿o§j>Ñ4‰G“âÜÀãvÓ×W›ÔÒÒ‚ÇãÁétæ‚­?KFÌ2û÷ïχ °A²€¥£Ð ÿ½¶¶ÖZ³5Jlc«`atkÂR¿­…ÕÕU–——‘e§£\ÓîÔÀ4«Æ¸¥ŒÀò³*—ÑBëAÌH´¬w|30 ¾¤‚¯Í@šiòòëoð£TŠ»?víM TþÄ ÏÐuƒd"UàþKx½îš +ƒo©[m»étšH$B("FéììÄï÷õò[ŒÒé4+++e‹Þú·a,--5”l¥lô.аU°Ÿr.cccuU€çææ…B(Š »ÃUäþËŠ„ÃeÃÄ(ˆek'ýjCÊûÉËKËØS)šß@X–…¸ÝFVQ2<é,݆A›#Iˆ « xù½“ü(æ®ÝCOong®RÕ‹ Ï­GˆG“e @§6£^tŠqçÖ$"EQhkk£««‹}ûö‘L&˦.ƒPvVU•P(”׬dR©Tà ÀNê(Òî¢ [1 "Xó9Eall¬æPMÓ4¹|ù2ét‡Ý-dÀ nEU±ÙÕ¢ @ùÍÜü^kË t˜æ¦¨£&BŠzµ»ƒ=wãã7bß`ÍF(çâÔï¼qŠÉ·Î03°‰«”I xéÜy^ÊdxôÓŸÀ×â/ÍìÕ}¢R“©gu"¡8×fVH¥²EeמžÎ¦¡ZÆ@×uÒét‘AP¥LÍét¢( ¡P(?¹Ê@$©X!(…Ìnp3ØŠp"<€š°ÙlìÛW{Z˜a\¼x1/¢ªZÑndÓT›\Á ,¼¥ëtV@2™duy…£4ãÀ9UaèS÷óÅŸzŒ;Ä®mô.˜¦É§¸ƒÐç?Á÷_~›øÛääËosSs—˜G?bÜÒ+««d³™*d¨JØà> §Ç$™È D ¢D‚qÒ©lÑç­(2½}Ý[Ò,4eW” @è?–| @ (2Õ`c7þß ¶b:h€ì÷ûëR€ãñ8—/_Àét  ‚ómvI‘ŠzJÝ~³ì‡”ÔÀ% ŽGè.=\&pQU¸õ—?Ç¿ø•Ÿ¢£µ\ Ñz¿->?ý‰û8:6ÌÿûgÍÙoýÃM¾ž…$àöû…$ZÃ@ ›Ñ‰…“„1BÉx3×.,IÅ2ꯛޞÚmÊ[a*Š‚ÓéÌ|*Á2««« %}ì€Í`+`ÑwQÝÝÝtvÖ¾™‚Á ×®]Àéô"KrÑ Ñ*HfÑ®Wñþ+cÂVcʼnÄX`u 9žhš´ùéó/í ´úJÒNé Äà°ƒ]p$IâàÈ¿ñ¯þÿ9bõÄ[õÅJ «€·Õ¬Ê5‹` Ï*KÄ ¯Ç‰GSèÙB-ÜòŽ¿ÏƒÏ¿‘Ùîþk¨H*•bmm-w)åå?]×YZZjèõ[i`&ý.ʰ0LƒcÀêQ€———Y[[§I. ±Kä@fþFÈw­–UöЍ^1L“Õåe|ÙlSâÀè ŸúÂ'ËÿÅiøúwanZ|pçMð™!Gä9°o/ÿüÇùê©‹´‡"M…i„Üu[ H’ð*56éÂÅÄBIb‘™´ŽÔRD°ÐÙÕŽÓÙXVd3ÆÁáp ª*Á`°¨°Ô$‰2Šp5t²}š?NØŠ°ÔU!Iãããu)ÀW®\ÉË€;n 3V²"asÈÅ.¯Õ_vïU¸¹Ëûc¡C·º´BO½7Q‚°ïÞÛ86^’×HgÄâ_[‡þXXo<º?ýñünûè=·ñ£;Žûþ+MUâ@ܦÒÚÖŠiz¥&†I*‘%J %IDÓbÑ[ÓúYsP9$ z{+'·Ë°@ëëëeñ}¡°Ê‰õ  €» æ±Yà@ˆÛÔüÌUU­«`š&—.]"›ÍâtzÑ4GQ¾@QdTM.KzUÎüW¸AÍⳬ3â±8áÀ:Ç뽉$\Ž|ä(ŠR²¤R°oîËM=š˜†ÓðøC"Ü.‡n=Â»Ï½Š·‰™! k·ãñ{1LC7I%2ÄÂiâáÉX†LZ/^¤ò.õÞ«MUèí­>ày;:­ ÁRø©Æht† Ýø³Ø¬ðÑ@Ðår14Tû4]×™˜˜È‰€¸°Ù4 oSE“‘U*&½ò|þ"Zl9*9 áP3£³ÆïU‚áv±·¿BêCUaO/üãË"àv•yxìÞ|âæä]—3oøµ×ÍãÆÌ*,Ï…‰‡Ó¤âY²…1=RãЪ¬c·ÇEggunW4%“Éàp8òÌ>Ó4®¨ªŠÃá@×õºî}3`ïg#×›5 koo§¿¿¿a§Ó#z +6ràü£ùÊÖ† ØømHÏ8°²Š=•nš$i*ZisŽiÂSß‚Wß…Û‚a‹oÂÁýð¹GËvb·Ë\C­&"þ7 ˳‰¼L˜x?¥yâϤú©üp[«_in#Ã0XYY! áp8ËËt†QdªýÍív;6›D"QÔàSêd³Ù†€»`›Çf À ݽ{÷Ö¥[" .—I’‹Ö‹j—0%£˜ÞkV¹É«QÝrÇDÈ,a«Ë«t˜f}%Ó¤)ÂÑxñƒkAxþuøÄÇàóŸ/þÂëðä·`öŒ žH¤³Ù†wÿ ¢àtzrï½b³PJöiÞ]ïênÇn¯Ì§Ëf³9OÍŽÏçÃï÷£( ¦i曬F ÑÕ©•åœN'ªªFË| 9ñxœÕÕÕ†®¹“£‘냈Í~n#4ÀºÇã©ÍÎ^\\d}}YVq¹¼E;‡$¢‰¡ž²õpñº(éÈeS©ÁÕµM€¤hœK—g¹íØøÆƒ†º.Ü~YI†á=Š@°XÆÊ4M¦'gâõc[ $É´»ý2i ]-`6L”$Á¬&D¢ª*}}}¨ªŠ¦i$“É<ß¿´ (“É0>>žŸlÁ"Õ’“$‰H$’§ׂ M‡q»ØÀf €5¬&OÔÒ¨§<55E,ËU<Å@–„ÐéŬæHä%âÑ©ptS™c_:Ã{¯ä'?ù1ÖNÙÞ w‡o='ŒAW;<ÿt´Âžâ|A,‘dò­3M%#@Rµáry7qÅV^ ¾°ÛmôövVÕå+ìà³Z-—Þívçm</’û¶`€,‰ïj`ÖñFîJ€m ›1n„Pš¦1<<\óÃ0¸pẮãpxÐì±{˜&Š*¡Øš½á«{Ö‘Ðz%žd3bW-À¹—ßæ¹WÞáÓÞ)Tdøå'àï½ðÂk‰Cw;üÚ €Qgš&Ͻô&×^?Y?ƒZ€uÀÔØíå]’£~H $ÀêxÎÃêÖò>;:Ä|Ã0°Ùle€š¦‘Ífó üÕ¸ÿ ¸!$[i`$õ.ªb3 “4,•˜Z°dÀMÓÄnwcS dÀ$ Y<€í„iš¬¯ð6I² í+¾ý×ßat¨Ÿñ}¹Â킟û,<ñ$Ó"pl4Jš¦É¹ÉYN|ý{t# ïã&ìNšf¯iê»úµ@{»H–îÆÕ_Ï,û·õ˜,Ëe;¸å-D£Q‚Á`U÷?N³´´TïÍb÷ß•Û<6Ó<5HcÀz{{éêª^O!277€Ëå-’‘’$ U“ᨴů èºÁúê:Ýl¾u´üè þË—¾Ê{ç/oÜÄ’$ A{KÑâx÷Ü$O~é+_y§)ʪEv8½È²Zá½m|~vÕ¿äªÇº»ÛËÆ±[Ø¥`… P¹ZÇË<„JØíÜ*6ã ÓÀ°áááºcÀ,w>Áey j’ o¦)4ïËk,Í/²8wn6“#Ï_G€SÏ<Ï,,óØò‰û>BwGKQÍ0L–ÖÖyöÅ79ñô³ð[‚S@ ¯Û߸JpTZË @yGFƒ€ %À¬c…¯YJ®†Ý[G³@¢ ‹ìpÔ®ÎÎÏÏçD@Ô| °ð•TÍÚÙê_Xé-kê±hŒÀò*Ë Ë¬,,¡¦b ¶Ùùè~?§&×x%¥sw½7Sp Xxë OžàÛGF9xüÃýxÜ.bñW¦¯2uò±³“Œ$S›ŠU£@\UéqûÙ®[Ý’ý*„Ëe§§gg'[C@+•÷ @£ À] °­£Ù{ßE`k X=àÉÉI‰6›‡ÃSÜ&¬6Çl3th8ÊÊâ2Kó‹¬/¯à0RŒv9y訟#{÷0Ðî¦Ê|ë­y¾þÊ,éHš{Ø‘Dú€îTšõ·Ï2õöYN« º$¡™&¾¬NbÐÈf–® Ýf:‰[èϯtõ…ÅU—ÛY•´Ð4 MÓH§ÓUÝ{I’š’kƒ-)9í¢yÐB`·Û]7¨ë:/^Ìe‹ØíÎ2V[6 zQ«tœ ‡YYZféê"¡•U¼r†ñ77ÝÞÁ¡~}mNìª\´€žøÈšÂ×^žå…@‚²ù Âí̬È\o×R]lšV<*½!'½.pƒPÕÙт׻sÀ"ƒÁª`©Tªá 5 u›G³ ‘«‰ÎÎκ*ÀÉd2/âp¸±ÙÊ3Üñ$C¹Å_`2™4±h`p™µµ’Ñí8Üãæø½=è÷Ñíw ©ÕcfY–øÔñ^\šÂS'fy~)Ê=°eqÐíÜ£Mr @—77 ³˜ç·}c%+K€oœNaÀêI€5:`Wl{Ь¦¯kïÞ½´¶Ö®²ƒA®^½  p^¨àž3uA°“L&E8 \f=°H6µN¿_æî>/7 ìå@¿v†ZÚ¥W’$ñÀ¡.œšÂ—OÌðü\˜{Zç7Ràrû‘deÓÆ¥Þ2–%èíí¨b˜¦I0$“Éàv»±ÛE…£ÑD–å¢`% 0ëuÖ××JÚh@ŽzuѬhˆ<66†Û]»Ên‰€€„ÇÓš›°Áq#¡’„B+ƒKƒK˜éƒí6î÷rtïã}^ü. e •I’¸s¤§MN­sBîèýFˆ**žÖÚ‹ms}?y¸Ýººª/'«s/222‚ÃáÈýÐuY–ó" •`u†‘OVc.//74ÔËnp;ÐŒ°#t)kn±¸ž¢ìÌÌ ápEQp¹‹+±h¹¹óƒKÈÙû:í|숣{÷3ÒãÅëT‘·1!&ILJZqh _¶ÍðË«ÜKtÇFȨš¨ÔZÆ[ü(<'`'TZ”–ì·ßï§µµ§Ó‰Ãá(š”J¥ò½ýG±¦ƒEJ§ÓË®@n&¸+¶u4c¼4 l·Û¢_ºt‰L&ƒÍæ2`wñÒÒRÁK|þæŽìíe··½\[~»q Ïǯ>8Ì“6™çÏ,“AX¼ë]g6îÿ< ÛÝ S€ŽØÍâ³;:Zp»«/'MÓ@UU$I"‹ÅˆD"Äãñ|óO:fhhÇSDãµ$À+¹÷…F ™L6œì`·p;ÐÌgØEmmm U,Ms`/Èpë†N8²Æ#­|ᮽMÅôÛá.¿úà>¾bWyák¤MQïßi#`"T—³f«@»¯]ˆ¤”äG*¡‰œßÆÙôô¶#×£$IBÓDä'Œ¶ÖÖV<‰DBŒW …0 ¯×[¦îcu®¯¯WTø±Œ€E®Kl7¸u4c†h ïÒ××W—‹Åò" §[Á L&E"d¤«mK±ýVÐÛêäWÆ©)<÷ÆUÒºÉ-ÔiÜLDœ¿Ì ý’ q‚lŸG<ÅëiiÊ 5ê (ŠDOw{ÃÞ•Å÷·Ä?\.‡žžžœ¬›³ˆÄ#ËržfI|W‹ÿ×ÖÖjg7¸]hÆì£¾‹áááº@€……Ü.?ЬæC€d2†ûº¶Òù¶u´º5~écC8l2ϼ:G:cp[w; ýÄn¿¨@‹ð¯sßÛ%X:1 `dôZZºKž©:ìÆãqÑѱ™¾È X1{¥ k ®ëE JF`yy¹á»`ÛƒFïg™4$Ibll,_&ª†………\­WÂëmËO6ht¿º[Þ‘'—]å‹÷áÔþö•YÒ‰,¥ù&"±è€i„k¿¬B¢…âEßZòäƒâßK/M£_È02z+¿B*‹åËЀýôzœ¸ÝÍê"5K<™L–¹÷…F@×uâ´Ó@3Ê.B£ÀCù°F)ÀSSSD"‘\ eã|"á5Ûøœ7FŠGSe¾p×.Må«¯Ì ¥¸‡úh!å]´èmlC4S ½ŸÚ…^à!X=q•ìÅ £úmtwçÃø†5+Á„ÎΖŠ3¶S\–e"‘±X¬¢0ˆ`£3:ØþpìÇ®²6({½Þº @« æºpT²zšpxáîëžü«E–xü¶>œšÂS/Ïðüjœ{(wCuÄ¢¿L!ýšÉÄn>€XÐ>šË`uBðå%.\| =›¥¿¤ÂÚI}Á2 EE¢·N°è×›4 …€…ß•ÜÿFg¨ìÎØN4jö >÷šèîî®KÎf³LNN ͉fw怩T#ewߦëü¦iOé,“¬EÓ¤³›L§ÏN·ßSÛÜÞ!IëÆ©)<ùò ?¼á^„;EìôSÀœkvHw!Ò¦{ÔØÂPgó¢`’$ñ‘}mÈ’Ä}ûSþ”h`#;µ“þ©Ü)[Œ‹o #°ßÍ%J>Å­¾Õà÷»q$+I|m¨žX6›eqq±á»`Û‡F €8HVUÕ†(ÀW¯^Íß ^_{n°„aè„Ã+ÜÒålÚMo&HPëç§?ÿwÞ|°,|$‰Ÿ‡û>r”;ä«Ï¼À‰Ï#cp“FÀmWIÉÜÅõ§ ªÀ]q¤˜ø§×ÉfÓŒŽ~›mciH äº:[°—9)@$!‰`·Ûñz½5ž+¡–XábovÀ“ú࣑¿¨Á¨‰F(À¦irùòeb±²¬âv·äcØL&E4`ÿQ_S ¥P’¨½—Ÿøìg82:Tó\I’°k6~ñ‰G°k*¯üð{tm2/0·'ªdß¿Œ” ܺ–eòå·ÐÏg¿#7\ÕBÎT’“%zzÚjVl"‘‹‹‹È²Ìp¹\yÝKùW–å<)¨ð¹,ß§Óéâ×/ðÂápC34v€ÛFŒi tÈvtt00P»P ë:—.]ʉ€Øq¹|Âý—$’ɪ‘hŠdš&W n¾ý£5¿iš¬‡"ãÅ%>ÿɱïð­¼~y½iW×4M¦—cdZÌ÷W’&'Nh>`2•~sç^& Q,*CÎË*üÒ4•ήê]†º®cn·›ÖÖVZ[[q¹\x½Þ|K°$IÄb1æççY]]-JòÙl¶¼¨ÿÆ7°²²R6%¸\°))÷]TG#`ˆˆWýýýu)Àét:/b·»ò*7bÌ^»A¿qÐj$¿w?Üy¼ê9¦iòÍü¿óŸþWæó«ŠÂãÞGØôÊ6>¤ ™1˜Z‰ÝCé%DâA˜•Ïrîì ¡•ºjÀn·¿¯zø£( ===Œ1<<Œªªù]?“ɇY\\dnnŽååå2Àn·£ª*™L&/ðQÉØ˜¦ÉÂÂBÃ3v%À¶„ûià6®«P*¢i,75ZaO›¿«ñ5L3ø‘ýh¶ÊoÃ0 ¾üÍçøÒSßF7 ¼%Œ·¡=Ýtíf5r™=mWÖci®ãpˆÃ•ÕÌ¿E[‹—cãÃh¶âýC’$ÚÛZ0¥æn«ÙÕ8I¾µ€Ôêÿ]E4þÏ#f€§ØüÀ¤£auÏgÏàÚü@‘û/Ë2]Ý­ù^C—[¡D¨ë:©TŠD"Q´û—&+)üX÷J("‰”/…¦Ñì¢iÔ :,Àšh†œL&Ë*ñx‡œfo»«©@=›%]rs¥3þèÏ¿ÎÔìÿáßü‡i43},£\^Ša´²9-qXí²ÊP²›½Zm.†a² 2“^æª{cÔ™—Í„mä¨Ã‹œ=‚¬žepðpþÉœ•ŽŽútšÍò4MÃn·cF>XK¬’F@)Üìvîꀽ4àèöööÒß_[+D×õ<XÓ¸\þüM ­Ðæ’i÷6Nñ$ ôó‹+Œ mبÕõ0ç/ϱ¸à÷ÿë×phÑxE.W2M“Å¥M”·cÉ,3«1AjÖ5@>/q¿r?uǽ°e•QË´ÒÀ0‡ÃÁÐPÝÓ¸|ù2‘HI’ñù;Å ‰ ylYz6©tïæ/¼Í—žú6ét±p9ìüÖ/ü$?|wQü Gùòߟ¶¶6TUÍ×ý3™ Ùl¶l*+XM Èq?º›Ü9Ôú\J ÕÕˆF£y‡Ó‹ÝîBBB’FÇn'›Mó—/½E<­óÙ[ú6%æÔT~ò¶>®­'8yåMž|çR¦ ’ŒŠW3ëròÙÃ>¼ÎÍJgWã$FS )+Ñáô£”ŒÍr¹Œ öñö™Klš#Çÿ3éêôWœÐ(¬ò ¥ PˆB54´ðXábO&“y]Èzèd{:3ÀEà$p™¢‚Šü:‚jõ$ð bŽËª€¨¼ âóÕ.d2™<X³;q»üuG]Åf³óÚéH{„/åÕ³[ÏäKUUY FðÌøhõÒ6êe`&DʇË}‚ò3Ç8ÒÕÝÈ“OGá l¯œ€¡²)þxðùOÿÏG”ªùäYœ€Ê\d‰IóKE~8Ïöà…EP~~FãÚ s°l2 ÙâO‡ ƒæ\\\LØàCúü~Z@Ù,ů"*µ"ìü ÆEp¨%qVQp‘ûúhCtg°_E<õ¿þhâçÄ?ˆ*ICó:rä……éçÄ*ŠB~~>/½ôW®\a~~žŽŽîܹÃ/ˆ_èVD ð¦+JvÞꨨdê¤ËåâÙgŸåÙgŸå×~í×èî©‰7éêü€˜jÃí>BII%y®Î“ÉʹÛ@ å—˱%™î‰Æ˜[Ñ3¹ÄÏÝËL-°:K()©åâ™cäåcµ¦^‰ PTtœ‹O½…©Õ‚çêCAŒdõÕ Àl[ö¬l-ÛÒá°“üú¤Ä6™Lë4Ùê;‰hŸp8ŒÁ`Xçü•À`0¸AºëS€·: ÑGqüV„½‰ß a>C„l·û\̈vlGXcšµ±F„®ð4ð‚>fM—ûÜ ~ç!,¡M‘•••V p2lfWæææR__Ï¥K—øÎw¾C__MMM444ÐÙù±˜·»œ’’Jà ?j¹‰?äá[Ï!;Kô±GU¦t/Ò:ì¥kb…ù {Î!J_æxáQrr WçlõäÁˆ§žú2æV+ýŸÞE ©{?0¢ˆ W©HZ­t¹ìdeY’Þ÷¬¬,Ž?Ž¢(X,XYYÑ>Á`H$¢9r—k-¡KÚÿ²]x"ˆöïÑm·[å6ZvDFß:ØY³óËÈܳp—XóÆŠòú¹b¦Wx4²@Ϥ¥ˆÜü#”TVr¦è(ÙÙn̦ä.ü´žÚê‹•“[ÈŧßÂÔj¥ûÚMÔpTHý$Õ WE)²ã2 dk=Áh4âp8´Á&“‰ÜÜ\¢Ñ(+++,..òäÉæççq8ë’¿ŒF£V êõzµ/l$ú•••´†€Xï\bÍ7·!v`B­kÁ»Ý =/³ft!Z¸‹o¿³ºÅ^ý¤ÇtûŒx8FšcÀJKwž:½•°Svv6uuu\¸p_þå_f``€¦¦&yðàÿÒò˜†®ƒPRvšòꊋ“íÆ`Œ—%‰±Õµëpäqñ©/a~d¡£¡h(,¼ÉûÕ¼nÌ>y¹kIEäç;ÚÿzÈÁrø‡$»ÝNNN‡&  ×UùÉ @éÔ«÷ñÇœŸŸOËhC¬·b=I`ç—³fçïöXvÏõb¹KGá 2¯X. ô×Ù„ÿ¤îy¶X?T^¤H¤Œr§“¼›p8œ;w޳gÏòþûï388ÈíÛ·ill¤µõáH€¥¥Y²³Ý¢ÿ€Á(<ù€ö–¤Û;Å÷V«ƒºº71™­´Ý¼J8*ã^v°Pêÿ8Ì.Qˆ‚ X-\ù[k¨-›èûùɪ@£Ñ¸Ž¤PVÆCO“““i usÀ}l( s!þ9„ç~/µ.±BÎ"2 Û µ¦š˜ð ð‚Hà®8п¦F—¦T¢***RŽÛ È”3gÎpúôi¾õ­o1<<ÌÝ»w¹yóííŸÒÞÃå:LÙ¡jÜîCX­¡¯v$JyŒ4ÎÃd¶rþük˜MVÝýxI<þݼE*â•zŒŠaÔDañ¬6ÇjÅ¥ŠÝaÆáHíO¥Äb±„Î;iÿƒA¼^oÒðŸ´ÿÓ™0\EŸ“³ "k¯‘¢³Ÿm‚D~Á³¬ÏX^÷í¯"œ…ÿA]ûp¦›BO9¤™|äÈ‘”)À{ I§N¢ººšo|ã sïÞ=îܹCë£:Ú¸òË)+;‰Û}[–sÍVNŠô4“ÑÌÙs/c±dñðáÏX ÍŠÒ’L†ùT„Ý9‹¨iÓŒ•¥â Š/§¸¤B$S­n_àv`ÏÊdAíâ+e‡ßD$‡Ón&ÎnDØ÷µõ MU¹³E¬™ÝÈ ÉÇZþÀßé•Bîô`G\ƦPeˉ"ÛÁN'ÕØl6Nž<ɉ'xï½÷áþýûܺu›G®ÓÞ"?¿œÒU2ÈÊÊNBiê—Š(g®>õf³‡­2aÂXK1DÐ{±èG,ó6rÍÅ”WQr±·û0vGî†óW Pàvn ëTÒ>]È @}~< ,//§å\¹¸j’ßÁþGZ’Áˆ €Ã¬Á0Ò?`êW"ý?á”ë ÀFÍ®Âá0ããã «½"$aUUUQYYÉ×¾ö5ÆÆÆhnnæöíÛ´´4ÒÞæ'ß%È   œ,{²þvPQy³ÙÊÇ2uuP€›ô_Þ°‚ˆ{ ƒ2¢`Y²ã²–RZz’’S•« KÙ›ž£Á.×Îj%#«ÕŠÅ"‹óóóL= ÌÍÍ¥5TC"ž_‹ˆ üWMœ£µÌÃ)ŠVDÙñóÀÿ‹ ‚Ûl­ßsF¡'€h:'¢ª*÷îÝÃëõ¦ÿwÛù.ûЇÍf3ÇçØ±c¼óÎ;ŒñðáCîܹCsóm::®âr•SRZEAÁ«’u+d ( åGj0™-´¶üŒ±«]‚JIü"«ˆ;¿„ ƒ2j ËŸM¾ã¥¥U”\8¡%,¥6[²²Œ›ÀNŠ`c`2û_¶Og(F„s¯ád;X–fzP±4™$¶¾HA&ÿ&kfÁß ò›öz‡Ÿø&i˜“““9r„ÚÚÚÏ… F£—ËÅ©S§¸rå ¯¼ò2'O']¤¿¯™žž{ÌÎŽD0™Ì¢—Áêx­TP§3Ÿ:ÓÈô‹› 999œ8q‚/|á ¼òÊËœ9sEñ3ÐßBw÷=¦§‡ ‡ü˜LLfkBÉ'‘••MAA9‘ÙOZÆ1u›É)äˆåg*®P{þuNœ¸LQÑ1ìöŒÆô¦ðlz œL~~V«=-¢Ü.œj˱Ùv'hž——G^^‘H„ÎÎNÍߨØÃ‡iooO½S'BÎbÍ=}p_A: +æAÑ»LÕ¾-DhãVÿbI‘;E<Vþ:[lljD˜™™¡¹¹yø|>œN§Fû‰Lú v»ãÇóÜsÏñꫯrîÜ̦0£#twßeb¼Ÿ``£Ij†=K rç[9sºdÑDت6¦( 8N–––èììLÚ,rûömÆÆÆRïØ‡pˆz2/†PŒ%‡ý<’á ¬@È{zÿ€qõ›×Wÿ]FddL}Nôvx© çÙæ-D"LOOÓÜÜ̇~ÈÕ«WéííÅçóifB&Èà ˜ÂÙçàèÑ£<û쳂 ΞÆlŽ09ÑCw÷]ÆÇúW0M˜ÍÖ夂ªª?žGeÅÆ–E™¸g&“‰ââb¬V+SSSôõõ%µÿý~?Ÿ}öÙ†QáI!%á0"£nhõç?ßd`AYýÿEdµ¡üö<Â?P„H K/­2@း@¦¥ÈÐ{÷îñÁpõêUúûû ëÌ=2ñ’îF¤ }HÍàÈ‘#<óÌ3¼úê«Ôž¯Áb‰21ÞMO÷]FFzW0L˜ÌÖ]°ÿN*¤¸xkÀtï‹Íf£¸¸ƒÁÀÈȈÖö=Qð™™ÒˈG±FÝ?I5!„‰`FÁÏ (À1ÖÚÍÍ£ïF”¨>xáI%Ak„­ ™~8ŒÈE{† Žf“dp÷î]>øà>ûì3ðûý)5ƒý”öÛ=¶œ–[^^Î3Ï<Ã+¯¼B]Ýyl6xü¸î®&FFº ø—1Œ˜Í6ŒÆÇìMÆçÏ•’““<±s'!×ììlÜn7ªªÒÛÛ».¼ÿü¸{÷nZ]€6Eñª!B¨}ˆ ¼â-6#j?d`@dT *Cè{›+ˆž/#¢„ž´­nD›ˆm¨eëópR"óøñcšššøàƒhhh`hhˆ`0ˆÓéÄnO¿Šf·¥}& ( 6›C‡Q__ÏË/¿Ì… çp8ŒÌÌ ÒÕÙÄÈp~ÿòjÆâöÉ 'ÇÂ…ÚÃX,»“är¹ÈÉÉ! ÑÕÕ¥Iè‚Ü¿Ÿ®® ÁŶòcD¿¾^D».e´°õiÊ&„&PÐ VV?FDiÔÁ‹Ð¶ô§ò5#”£l},fÚ‡ÃLNNrçÎ>øà®_¿¾ ’u™Ñã ,öDˆ?7›ÍFYY—.]⥗^¢®î<ÙÙæU2¸Ã°§¿i• ¬ éçeqªºãj³ÔLÞƒÁ@QQv»¯×Kgg'‘H$¡ú/gLLLdìø "´€„±‡5ÅXE‰Ï/(w|9¢ÐÈŒÐÖâ6„¹þ2"ƒb’ ’“!JÙÌV„sPZ^»™e(É ±±‘ááaÂáð2Ø ìµÿAöá+++ãé§ŸæÊ•+<õT¹¹6fg‡è켃ÇÓ‰oE„‚-Û¦d ª1*+ò9vtw²iL&%%%˜Íf?~ÌÀÀÀºZ =VVVøì³Ï´IÁ»±0æJqÂ¥-ˆ–ÕÏç‘ ¤àÉÒŠóEF—¤à!Áˆ„x¤ÛAm ¡dEø)÷ä†B!ÆÇǹsç~ø!7oÞdxx˜P(Dvv¶V‹þó«ÕJII /^äÊ•¹xñyyY‰%Í À­’”L ƒtvvâ÷ûjaªªr÷î]z{{ӿнB ‘R3Ð Qõ bEXø|‚Xü2­Ø„ÐxÖâvÄì‚ñ„1„á°n‰ð4ð+ˆòàuÙ$e.oœ+æó%ÚΘª²è Ó=±Ä£‘ÚF½ô?^f9¸wsE!77—ÚÚZž}öY._¾ÌÙ³gÉÉÉI8¡&Ñ¿;ùÝnoŸl~¿ŸÁÁA†‡‡q» (((âØ±òu×¼Ýóˆ'£ÑHUU¹¹¹LMMññǯSïõÛ‡B!þüÏÿœ––R¡°°ååå´†î*ŒˆxW9bQF,›Ï‹1‚ ´Gˆ0éúån"zü«DYG÷ƒ“Ïè¿Ï¶™x¹¦7Εp®<C’™|‰È ïñ2+{Lyyy\¸pË—/S__ϹsçÈÎN<o¿ïN÷±Õýîä|@D.ª««±Z­ôõõqóæÍ ñ}ù7óóóüñÿ1ãã 5O ‹…?ú£?¢¨¨ˆ¦¦&ZZZ´z’}…át+G¨Ù¥ˆRÞ,¾v°‚h@²~š‘„ø|¤_ÅÕÀÿˆ+j¦É¨P_áâó%¼P]€Õœþä…ƒ¢¸\.êêêxæ™g¨¯¯çôéÓëÈàó°P3±œ?û¿ªª ƒÁÀýû÷ikkKh&¨ªÊÀÀú§º!G EEEüíßþ-gÏž%‰077ǃ¸wï< ³³“………ý ñÊŽ.D0 ¾Œ IDAT¼|õ“ÃÁ% Ü8ÍH~ûøßôð<‚òå/N”8ùâùb^;[L¾skÝhâSU¼¾0=K´.ÐØý„Á™½eyEQp»ÝÔÖÖrùòe._¾ÌéÓ§q:׆!TØïý”””P^^N$áÚµkZ p¢ÅyãÆ þæoþ&e`UU?úÑ6 š‰Åb,,,ÐÑÑAss3MMM´µµñäÉ“gî&D­^%¢}Î!vg"Q&CDA!f®Èüƒþ´ßbµ1èkg‹øí7ªx¡º»uç *ED rífVBôO-3»”ñêÆ”ðù| ÑØØÈ'Ÿ|BKK “““ ²³³weÞÁfÒk»ßez© ( ………8|>]]]Z~ü»F¹sç©ÛÜE£Q._¾¼¡³”l9~ôèQ._¾Ìo¼Á‹/¾È©S§ÈÊÊÂçóö' ˆ#ˆh¢”ù v-Vš‹ Ž¡O"êLJ_®+å…ꂌÅÙý¡=³üõa~twœÇÞ}Š ëàóùàÆ\½z•ææf&''1™Lääälyú1dnÁí×þ“A&Y,fffèëëKÚ,ÓÐÐÀôtêö÷Á`¼¼<^z饤¥Ò²³sYY/^äõ×_ç•W^¡¦¦†œœ‚Á >Ÿo4ƒ bQÉtˆB¦6`DT7útâÎ]`ŠÄx04ÏÕö)nö>a)pð&$©ªªyµ¯^½JQQuuuÔ××S__OUU•6s§ÇÙÎw™ØÿN!‡†ªªÊ“'O´‘âúcÊŸ—––˜™™I{ß·nÝbrr’òòò”ÛÊÒëššΜ9Ã/þâ/266FKK MMMÜ¿ŸÁÁÁ½(L ¢í^D Ý礫Ѯ@$£}ÔËÕŽi®wÏ2·¼÷êþv‹Åxüø1|ð?ûÙÏ´Ø{}}=—/_¦ªªJË3ØmÕ~?ìÜL&F£‘p8¼N²'"'Ož¤5Tb||Ç“è!5ƒÊÊJ*++y÷Ýw™œœ¤µµ•{÷îiyËËË{sσ@#ÂÏ~… „Ù#dœbªÊàÔ2µMñYÇtÆU}—ËEQQ»þ`c±“““LNNòÑGQZZÊ… 4ÍàøñãX­ÖÏm:òVHJÀüüü†æñ9ããã[’ÀËËËô÷÷ó /ìè^šL&ÊËË)//ç­·Þbff†ŽŽîÝ»Gcc#===,..î®ß@E”Ð ¹»“™1dŒTUeb>ÀÕŽ)>mŸf`:³þœœÞ|óM¾öµ¯qæÌ:::hll¤±±‘VVVv ÆÇÇçÃ?¤¤¤D#ƒË—/sôèÑ=™¶_0›E+ž'Ožhýÿ©ÿ±XŒ‰‰‰-= I±X £13´l[^\\ÌË/¿Ìw¿û]z{{¹ÿ>7nÜ ³³sÃ8óŒâÂ1øn¨ €ªªÌ-‡¸Ö9Ã'íStŒ/’Éuèp8xíµ×x÷Ýwy饗°Ùløý~Î;GUU_ùÊWèëëãáÇܿOÈ ®#ƒC‡ifÂ¥K—8räÈ#ƒš$rØôô´&A‘@(J{¨þø^¯wמ™ìaèv»yöÙgùÕ_ýUWgEÞ¢µµ•©©)mzFî!òh«9xÑUìˆV®wÏðqÛ-ž"±Ì=@«Õʾð¾þõ¯óúë¯ãp8ðûýš’/‹Ûí&??ŸË—/óo|c_È`dd„‘‘~úÓŸjdpùòe.]ºDyyù–B‹)ô§‡ÅbÑî¿ñ$°¸¸¸% Ä^„ó¤y‘——ÇÅ‹©««ãý÷ßÇãñpïÞ=nÞ¼ÉÇ™˜˜X7ètÛXFÓ—s`‚Û"€P$ÆÝ'|ôhŠÛ}O„3÷ðL&Ï<ó _ýêWù⿈ÛíN¸ðõV’A}}½F---üã?þcúM)w=|ðÁ>|X3.^¼ÈáÇw%Ï`+Ø9 ÌfsÒŸz˜žžN™ý—ûáG‰(|ó›ßdtt”{÷îqëÖ-îß¿Ïøø8Š¢l¿¤Yv,ºÀÔ¶DјJïä¶>泎iæ}`ÉU Î;Ç×¾ö5¾ò•¯PZZšrá'‚ìÃ/É ¶¶–ŽŽššš2v®é ‰àñxðx<üä'?áСC\¸pgžy†§žzв²2Í®N„déÀ›m·•ï¶I³³³IÕdýÐí,–íä\d2ñH?R~xx˜»wïÒÜÜÌ;wÜú= ÊO#Út0¤}×½¾ÿt‚OÚ§ð̤l4’6Eáĉ|õ«_åwÞáøñã-/üdûÞl0‰Á`Àb± wÕLˆD" 3<<ÌOúS>L]]—/_æÂ… )É`¿a4‰F£){¢Ñè–€ ž“É´ólÓLA†OžÇŽã~áxçw8}ú4Á`¹¹¹/|= Gb¬´´”W_}•ééi<###øýþ]%ƒp8ÌÐÐCCCüøÇ?æðáÃ\¼x‘gžy†ÚÚZJKK“zÂ÷+·Àd2±²²’°ù‡@`Ë@‰Lyÿ3 ƒÁ@^^õõõÔÖÖrôèQþäOþ$­,G ~D¢Ð‘Ý:Ëí#%x}¡ÕôÝÌ-þââbÞ~ûm¾öµ¯QWWG8f~~~WŸlb™ËËËóôÓOc6›™žž¦­­¶¶6FGG÷œ ÊË˹xñ"õõõœ?^¾¹WØ, haa!¥j???ÏìlÚý(7ã Cvuþ…_ø:::øè£Ò›v "7`8`—¹éé<^ðW7†ùéÃÉŒ,þ¼¼<Þ|óM¾þõ¯óì³Ïb2™XZZbyy9³!L&Ç×ÔX=–––èé顬¬ ‹Å™3g¸pá^¯ÇãGhmmettt{ƒ-¶€P(ÄÀÀüó?ÿ3ååå<ýôÓZc“âââ}“’ƒÉÉÉ”d833³í:~ymªªS \.'Oždhhˆ•••ôß‹9D¦à#€¤Å@Ç í4õÏñÓ‡w<ˆ,++‹/~ñ‹üà?à{ßû'Nœ ‹áõzw?3 ñRݸqcÃxjUU ‡ÃœAætuu%œRXXX   €üü|¢Ñ¨fÛéIÀh4bµZ±ÙlØl6òó󩬬¤¶¶–'N——ˆ÷Œd’m‚H$Âìì,mmm444¬ëŒœŒ ¶sÏC¡PZR®¯¯Ï>ûl[9'Ožä½÷ÞKXr­'¿ßO(ÒÈ`¯ÌÙ¦¬¥¥…ååeí]ç•Öä£, ÑZl¿°›pèÐ!¾ýíoó»¿û»¼ýöÛäåå%|7µ%w v»U­ªIj¯×ËÂÂyyyäççkR= iqjX‹YK0˜Ífòóó9yò$µµµTUUí ÔÈ`rr’h4ªk2¬¬¬àñx%+++é°•®®.~ò“ŸlËöW…wß}—/}éK;ŠjH2ÐkÒ‰»U"ƒôôôhR3a¥( é™ÅˆaÞû™ï´ (À{À—H³z¹¦¦†?üÃ?äë_ÿú– \¤‡w¿ŸŸË墯¯/©jë÷û`qq‘ììlrsÅtt=Ä«Ÿz?ÅbѤ­ÙlÆd2a±X(((àĉœ?^‹&ÈB“Ý&ƒP(¤‘ACC<àñãÇÈ 3;;‹Çãazz“ɤ™<úŤª*mmmüøÇ?N«ùg"œ?žï~÷»dn©ôßH¢6™Li‘‹¬cxðàmmm ‹žâ‹ÅhooO/+° Q°Ÿ½€TH cÀÒRPŽ9Âïÿþïóå/™h4º¥B›Í¶ëI5©Îá¹çžcee…?û³?K±îܹƒÇ㡾¾ž .àr¹Ä$¤XŒ@ @ XgX,-„(Æz›1›ÍZ£ŒH$B("ãr¹¨©©aii‰±±1ºººbbbbC¾B&¡ª*ËËË´´´ððáCœN''Nœ ¦¦†üü|àìv;v»‹ÅB(" i“™5­bK)±:äææòÞ{ïQQQ‘á+ƒƒAN§séáóùèíí¥«« ¯×›¶Ö‹ÅÒï|dç@6‘Wú&ð·WŦ°X,üûÿïùíßþm-Ž¿ïr8Öòý÷ªªòñÇóñ)%˜Ñh¤²²’ºº:jjjÈÎÎÞÐÂZo X,í#%ÜFß:+jaÇP(Äââ"CCCtww300Àøøø®’A¢ë”×#IÍf³a±X´üƒÁ€×ëevvvÛ¦œÅbá7~ã7øµ_ûµ=Én4™L8NœNç†ãIòõx< Cĉ MŽååeþîïþ.µ   Úƒ½Àþ-!æ­•küƒ ÁK_@ BJ‰·ß~›_ÿõ_ß¶“Åd2‘M4Ýuµw3(ŠÂ믿ŽÝnç¯ÿú¯yðàAÒm£Ñ(½½½ ÒÚÚÊùóç9}ú´¦Â«ªª}¤ * AªÐ’ ôIF²Ó®T¿óóó)//ç¹çžcqq‘ááa:::èííÅãñìzî„ÞÞD"»’¨e2™ø¥_ú%¾õ­oíYjs$aaaAk±XX^^¦··—îîn–––64llvkaÉ`0ÈÒÒRz€‚hvaDô.ýïsN6Enn.ðÀ¥K—Ö%eÈ—?Hï©ÙlÖ$à~AFNžŸO#¹tÕ\½!IB~¢Ñ¨ö1™L¸Ýnªªª¨©©áرcšsò ’Á¥K—øîw¿ËW¾ò•}+û£­­¡¡!Âá°æÏ€Í“‡$IƒAL&yyyšé×ßßOGGGêwÖ<ÍþfBÒ(@iÄþÝn7—/_&®c<}޶ì°c±X4ÕW~’±¤¢(Z*>ÿ{¯É@Qêëë9uêuuuÚìÀtœ]Ñh”™™fff4ïzii)‡æÐ¡C“——‡ÅbÙ±í+ï‹ÝnçÔ©STWW³¼¼Ìèè(‡ááaÆÆÆö~:Nòóóyë­·x÷Ýw9zôèž_F,†††ÐÔ}Yª'£x{_J}îu:dggcµZ ƒ„B!æææÒs„ÚØß ÀM`Ž‘F€¢¼¼œŠŠŠ„,mÝh4ªÞÁ¥÷t'S÷ 6› «Õª•ÝÊxû^KµœœÞ{ï=žþym\XwwwÚ^ïh4Š×ëÅëõÒÝÝ­y¡Ýn7EEE”””PPP€ËåÒ^*éÔc+U|‡C#ŸÏÇØØƒƒƒx<ÍDÙ+Øl6^xáÞ|óMžþù}“úÃÃÃôõõ1;;»AÊë« %$ D"Í/#¥¾ôYÈd°h4šV® €¬€„‰4]n·;-ÇÞ4d O&‘¼‰ñ&…ÉdÂn·kŽé|ÙË,ÂÒÒR~åW~…—_~™7npýúuÚÚÚ¶\Ë ½Ð hæÝn'''‡ÜÜ\òòòÈÉÉ!''§Ó¹.'M¬Í2ÛôæƒÁ`àСCR]]ÍÀÀ}}}Œíj†ÅbáÒ¥K¼öÚk¼øâ‹Â¥{ƒÁÀƒƒƒšº¯/’Ä©/ý–ÐKýh4ŠÃáÐZÿ{Y'’V 8 -M¤™œ(“[Ò…$@#½‰••¥A2AQÍÉèt:×9ÌöÊD‘‚o}ë[¼ñÆ455qóæMZZZxòäɶÎA¾h¡PhCŸ=© ˜L&¬V«vý’å'ž dD%‰hÚ˜<†¼Ç»µøsssyê©§øÂ¾ÀsÏ=§ù$öªª288H?sss)C{Ò¬KÒ2™LäææjO ©éƒA–——Ó“Ð$ VFŽ,ÃÜ*ô /zó ^å—7?Ñ–RJÅý0d´à­·Þâ•W^¡··—ææfîß¿OWWWÆÈÅ+«Þ*l6<ýôÓÔ××söìY-Sp¯a4yòä‰Ö_1&Tíã–¡WùþÉ´h™9/õåÏ‘HD3qå l<ÁݺòÄèYª’ öûN =Ú’ ŒF£ö‘‹;Þ_d&‚¾V|7!‰¨¶¶–óçÏóÕ¯~•ÞÞ^ÚÚÚhiia``€………ý™U¿Ë°Ûí”——S[[ËÅ‹©©©¡¨¨hÇíɶ 9êïï§¿¿Ÿ………„R_nÿ;™Í'ßÅììlœN‘±#ë ä;+²Kð–:WàWÁ„fœáp8mЧ»êÿÕ/ÕUY@#§ÏÊüy½¿@2u<ô&‚ÃáÐbµ{e"(Š‚ËåâòåËÔ×׳´´Äèè(ÝÝÝtwwÓÓÓÃØØ>ŸïsGÒOár¹8~ü8555œ>}šS§Náv»÷½‹¯Édbff†FFF4¿“Äf$ ¥¿6n·›ììlí“R>^êgee‘Ýn§··—¹¹¹ôÞ±ƒ™Õ åUl…RAÓ¤¯@ÖÛëm\½‰ ÷$z°z-Bo"Èä݆¢(äääPSSCMM ‘H„¹¹9FGG¢¿¿Ÿ¡¡!?~Ì‚¦rîWÞƒò¾;Nòóó9|ø0'Nœ ¢¢‚ãÇS\\¼¡³Ó~žk4¥¯¯¾¾¾u =©¤¾Ì¯BÅ`0`·Û5G_¼Ô—þEQÈËËÓj ÀÖ: GICÇÞìŠ ©ÂZñæ$ùÿ‰üñЛYYY ›FìL&EEEñÔSOFµáSSSLNN211ÁÄÄ?æÉ“'¬¬¬h}dRÔNMé,”þ›Í†Ýn'77—‚‚JJJ8|ø0eee”””¬“†aÁëa6›™šš¢¿¿_k>º©/%~,Ãjµâp8´¸¾|÷¤v ¥¾Íf#;;[{—|>‘H„¥¥¥ôŸ¹øa½`SdRHf"èX.~™U'=âñ嵉¤¼>ê 7ô]g÷ F£Q ó9"FÄÈ—-°²²Âââ¢Ödrqq‘ÅÅEÍÛìóù4;TzúõcºeÁ‘üX­VMºeggkáE}¨QjXu*„Ñh$‰ÐÓÓC__ߦEQéH}‡Ã¡ÕoÈä3éñ—÷XQrss5©¯O RUukNßý»)ÒÖ2áLú+}2Súe&3`-íØf³m)î—}.}‹…œœJKKÄ>¹àå'‘¤Ó‡[…mšDOf³™ÉÉI­<:l&õív»¦Iê;9ËôíH$‚Õj]'õã»7É<€ôNfõ@dÊŸvMH&ÝÓù›De˜z­@&ÉÈH‚Œ"H"ˆ—òrH-Âápìy!$Z¸ûåiß/˜L&Âá0ÝÝÝôõõ­ë‹*ô–ŽÔ—¤ ·“C¤v$¥~|š<ö–úY„€aD·M;¢5¸•a˜‹R¾õé@&ÕêDûÒ³z Ð4‚xAª×ɲå"KEØ‹~}ÿ†ÄчÉÉIúûûO»VÖG˜¢ÑèºÆ&Ò9,µDùI[_šGÑhtÝ;¬`0˜rPª#bá‡W?‹ˆUgc l«Ûí˜ü”R–7k»ØŽFêoUUÕ*µäâ— Z¯^§Ê:Œ"á_Ìf3¡PˆÎÎNúúú´Æ*É¿0õeÖŠ¢¬“úúp² ïÉ÷Ùétb·Û1™L ¥~ü±™œœLï¢llì³–W?F„6 É ‹µº= ‚—R¾áÒ)—)ì„A²~ ÐÌéà’™‡ú(B²Â$)d¢‘´õ!¢Cf!MºÉÉIúúú´Å•ŽÔ×ðD"m¾c¼Ô—ßI‚ˆF£ë:9Ë–õ²ŸC²cÍÌÌÐÜÜœþ”6¯µ"¼p>ÄQ ‚ì2Ä]"©¤Ôíe#̃€ÍÈCï+ðù|HÇ¡ô$òè!ÕN}-B|¹ò¿ag÷W¶âîëëÛ°°6#½£OJlÙÙh4&”úò9˦§Ò× 5C)({ii‰ÆÆFúúúÒ¼@D©]ºA–ÂY` ìˆb¢ì-ìg HÛÐËJÛqfÊDžsÙzKš²i‰Œ"È©À[1ä½¹ÿf"l2¢311Aoo/?ÖwN’HF2?‹iyV«UÜ*m}%’Õr¨ª4!õd‰D´NUúcMMMÑØØHsssúiòÙžôVÞ¹ °€Ð$ ÈxS‘´ @ÞÔÍiµ>SÐû VVV°X,Z©­¾!ݬCAˆ7ö2Ñèó )aÝÝÝô÷÷'4-7“üú.I€FÌRšKSM¯ò«ªªI}ékHDöÒT¹±XŒ®®.îܹCÿÖ.ÖMfÚ€©€¡!"£¥ÅiûÒ!€TØIH0SÚ„ôðúýþu3þ¤ãPšV«u]aR|Úî¿™[‡ ÛÆK}HÚ“ÐgìÉçg±XÖIóøH€Ô⥾<^<¹„ÃaŒF#Á`¦¦&nß¾¾×_”Ù>ˈv^)»w¦-iÛõìD*îFXQ_ …X^^Ö´)Iô&B|!‘‡8¾¢Q_®ü¯ÝDiÜ>ŸÎÎNúûû“¦q'ÊÛq}½Ô×?+éË‘æ€\üªªj ßl6kÛ%ë=¡/fff¸{÷.---Û{~ùˆq`™„JÆ+ ¥°§NÀÝ ¦ó7ÉH+“~dflΑª×a|!>Ñè_“‰ ï›ÑhdllŒÞÞ^¦¦Ö¦R¤[À£·õ%ÑZ­Ö Ò\jÑht!CzƒYe&`GG>L;ópã…ålsÎö&!à „Xü)õÕL˜É°_¾ƒDÇ“ [jz lˆ"$ëu(MIÿšLI‚V«UÀ188¨ÅçÓ íÅ{øeRO¼Ôt!ä IDATÊ”_³Ùœ²œ\l¯×KKK ­­­;v%[=Ó¡»\vÅ %MH'`¯s&^’‰@‹‹‹šV`³ÙÖÍþÓ7>Ý,¤o"èûþ<™2Úb4ñx<ôõõm˜œŠ¤Ê¯wÈÉÂ%`]\_n'¥¾ÃáØ õ7{7ä±iiiÙº£/Yˆ6»™îœ‹ˆd8#\jiÑ,L6'SØk!Õþdù§^+ƒ3ež~|H1™äч¬EÐ'}^M9ÙjµjCS’j:ÉH ‘Ô—¶¾>œ§ßNUUm;9Ç0YÓY=dn@kk+<غ£of³ÐHTÑd¿d[»I ŸϮ4•=Ójo:>>®µþN™X»]_´™x"ûÃ% )&òÄ›ÙÙÙšž~ ¢Jé<44Doo/³³³)ïu|Rtô%’úÒÌÒ·•Óo'¥~¢ð^"3CÆö[ZZèèèØV¥«¢(äáóY G„ä¯ sª¿µPâ.fú ÒèYÒÙÙÉÌÌ eeeÛ>à^ÂnOö“‹× l6›–Jºœ1¨obrM½o2™˜ŸŸ§¿¿_³õå6éÜw½£„Ô—ûM$õåÿËû.³úL¿ÍÌŒh4JOOÍÍÍÛvô¹r..ÀçòxfÊ€d¦ö_\ˆÅ/Kˆw FÄÂ?`¼©hŸžž¦¨¨ˆúúú})O=¨f†Œ"¬¬¬43Iú ô}õiɉŽ/·ÕW±é“RdÏFWâÑ£GŒ%­ºL„DR_:]eO¢ðž$K‡Ã¡¥ü& ï%*«öz½455qëÖ-æææ¶uý§+Ë9T\ÀÂâ2ƒ£…Ê‘­·ÓÅjŠ€B™drñ'™ âÔ¿J þŠÅb´µµa49qâYYY ð~¦ï›í+Õq¤M)‡zJ›^OrÇW.JûW©EèYÈ!¬ûAú*¥~{{;]]]Z—žDïC²w$^êKi.ÎñI=Rêë xôU}‰Ž¥Ï%äæÍ›>žRòê'¯MJ~Ù§P_À£—úú>‘YYY8Ž )¿ÉŽ%hnnææÍ›LLLlë¸r(-Ì'ŽÐÖë! ‰¹Ú§…:™XüDòÐnMÚ„–.ŒçHãR"‘ÝÝÝ|üñÇܽ{—……òòò6L„ù<ÚûÛ9îfûlee…ååe­¿€,QNF’(‘ÞD¶2dÞD‰€Šˆ`¾Ã.)‰0<<̧Ÿ~Êõë×'++‹ÂÂÂMûÆïWŽÀNÌŒLü̦”>“™RÚK2ØÌ_o" †›rá뛆F"iooO(õåù$ûYßËPJ}}*¯tv꿾‹ñV¥~4¥­­7n000°£w.¦ÆðCD18‚ú‡È|yn ±-÷|¦›Ëã›l#QUUfff¸uëW¯^¥··—X,Fqq±Æ‘Ûm»•𳕿‘‰Péz·7;^8Æçó±´´¤µšŽoæ©÷Hç¡t&3ô™‹Š¢liö@¢…0??Ogg'ÝÝÝëzá§²÷åqõ‹_š1RêËÞ zŸ€ÞÃo³Ù4í •Ô—¿›››ãöíÛܺu+ýž›ÁŠXðÕµßÁîyæ¬ué4‘Ù¾)àð-v˜Á¼¸¸Hkk+}ô=bee…ÂÂB²³³7l{Ѐ›!‹199É‚V¾Ù´Þt Õ{9lRšR+Лñd /ÏM"Q!•‰¯êK ‡Ã ÒÑÑÁÄÄDÂ{ÊÞ׈•R_jñR_N÷‘>ø”ßTfF,£¯¯ëׯÓÞÞ¾³ð© Š;‚Xøˆxü^¿"ˆEêCäéʾ;%‚½ ‰`0H__Ÿ|ò MMMLOO“››K~~~Êâ^/îtާª*óóó,,,hýú¥DÚ꘬dÇ‘áD™u(ûÓÇ›Rõ$ÀF2Hd"Hi¬ÿ.Þï0??OWW×–¥¾¼>½­/Ó¥õ¶¾^êËm¥#“z¤Ôßì¹Èc¯¬¬pïÞ=×m NDHïBÒW¥‰¿M™ÃïœaÈNÂÛEÐ?¹çA$b6*„£™[€Š¢PUUÅ¿øEÞ|óMžzê)²²×$³Õõ>Õ6™ø›ÍöFñx°Î'U~©…Èh°Î'êØáp˜––®_¿ŽÇãÙÞ3¶#¼ùÕ¬%òÄÅÂ?`dû>ˆ­˜_½tˆ·ëJQU•ñ9Fµ••:::¸zõ*÷ïßÇëõâv»ÉÉÉÙ4±h;Ž·í~Ÿh{IÒÁ4::Êâ⢶ÀTUeyy™¥¥%ü~¿–ݶӬIy®r¾ ×ëÕL@«CH‡ ôf„ì¤ãóù ½½ÉÉɤ÷&ÙBÔ;ùd}C|³}õžŒèË{ãSy7;¶ªªÌÎÎróæMnß¾Íâââönl1£ŒÝ ½e¶Ÿw°¸\•ϕӅ<]á¢Ì•E åÉrˆH,sD …ðx<\»v›7o266†Ãá    ­yu{Ö“à÷ûµvV>Ÿ‰‰ †‡‡™%kN.½V my¹P3q>rÿ^¯—••mN¼æ¡_ðñ*z{{;>Ü õ!~!êu*©/·‹/ôIÖ\%ѱe¾††:;;·çè3³–ÄãæàJüxÈ;{C5‡s0›ŒT;¸T™Oe±³Qan9D œ¹¤“X,ÆÔÔwîÜáÚµkô÷÷£( ………X, žL:ÓÕ.ôÐßßÏÔÔ”&i#‘óó󌎎211ÁòòòºŠÀ••-Ü·­ ™oBV'J2ÝoS‘¨ªª óðáC–––€Í“jôˆ—ú²¥Z¼4—ÛH¿ÜÎl6',àÙ KKKܹs‡7nlè16\À)„ƒo³~ý.DO€íæl‡¤ôȲ˜¨(rr¹ÊÍéC9dÛL,ú#,"© n2ŒxõêU=z„Ï磰°pÓùô»5ˆßW,ÓJ€ 4›_€ßïgzzšññqæççµ6ÓÒÞ^ZZÒ’€ôþ^ƒô¨ûý~¼^/@@K$Jvß|>---ÌÏϯK°I·€ЈN:'õÒ<™O@¿]¢ä¦DÇ¢¡¡lo@µ$žöÇ«¿HàNL•í€f£CùY\ªtqáXE9Vü¡( ¾0´ô÷÷óé§ŸÒÔÔÄÌÌ ¹¹¹äååmYzfÊw`³Ù(//çüùó\¾|™S§N‘››K0Äçói¶­Á` âõzyüø1333ø|>­iF,Ó´™¬ë§{Λ‘†l0"C|‰þ¶¿¿Ÿîîn`­Û®D"SE¯òÇÛú2E7ÞÖ—úúí’Kÿs0¤¹¹™ëׯ322’òž$„áä«F„ú>/*?¢r³3ï¿D&@;/EÁí´rþH.OWæsÄmžäåPF†Ñh”‰‰ ¹qã«ÕJAAÁº›»¡(Š¢£X,åååÔÖÖR[[KYYF£‘ååe-´&t0dnnŽééi-Œ(µ‚@ °A+Hä+Ø‚Á Š¢$t®†B!=z„×ëÕ4xɟГHš' ïI[_¯¤êÊ©©)®_¿ÎíÛ·×Õl ¥©„µ™{Ÿ˜Y+ ÎĹo… ²-T•8qZ7E!Ûfædi6ÏT¹9YšÕd`~%D ”ÙFsss>ûì3Z[[·×ÑE,þ">Ž>ÂË_„ˆPìdñ«ˆÅÞ 4=`íÛàõ0ÜA4-gµÇI$¦28½ÂÏÏ@ °N«ÑÏPÔ'õèIBÚú²¢ÞÖO•A"rÒÔÔDCCÃö‡qd#lýj¶'ßOX¶~;·÷ƒ@bá?@Ô¬ÿöCàþ2þ š®åÇYU¢|¡(c‹tŽ/E)ɳ‘eI/ÝUQVUÅNž9áætYY ¾0¾ û ¤yðÙgŸÑÒÒ‚×ë%777i–áfØNô@ƶåX0}çZ—ËÅñãÇ©®®æðáÃÚÈ1©èçÒK3@Ÿ¯/¡Ô äÔãTÚŽ$ ˜žž¦¿¿]®½üÈsŽ·áõR_¯Èžd¶¾<~²ŸGFF¸víMMMÛkØ¡ JuO#òùwa„ö®ÃŽÈJÜ©½/íüÀmÄj^C ¡ü¯ÀÿÜ"‰n— x€O€~„%r”Õ[;·âgÁé ”¹²0Ó;kEQ°˜D±¾ÒÍ…£y¸V‚Q3F ‡ÃŒŒŒpãÆ nݺÅää$YYYë$ánBUU­»¯ßï_§8JJJ¨ªª¢¢¢Bë¤$Ÿ^+MDô£Åd_@UUq¹\)¯G€¬Æ]gÿëãú’„ô¶~¼Ô×{øõå½É¤~"„ÃaÍ¡»í†VD;ÛSd®'ß^#±øwbï«À4B¿Œ Ÿ!¨£ÀÿüOÀOÐÅ6ãË0ÐŽ ‚Ç«§Y (ª ãs~î Ì3±àÇi5R”kŦ„~…Â+Žæq©ÒEY~јÊ|†ÓeÞøýû÷µ,CøÿË;óç&ÏíŽ^ÙÖjm6Þˆc 1Yî%Ém“´7 “;mh§ëÜ6L{§ÓÞN·ig:ýá¶3öv½m¸“äbdˆ0pð‚Mlƒ/xö,,ÉÖöö‡£Gz%lk±ä%ùÎxX,[Ò«÷9Ï9ßó=߇ô‚¨t÷ÀÈ„Ãáô ¼1+8pà477c±X²vQc½¯fèU hooçÙgŸÍ{Œ•¦iÔ××§ÀØØXš`Su¼±†W‹Ü(Ö1‚¹»~®1§zÎþ=77ÇåË—ñûý¥v4 µþAÊcŽÝ0Öû¥•:²”o!éþF†_GæÿþøSà_0ΦPH¾D’Š0’ 8-–й;¢÷A€åpŒ}N n{MQ©¶¦i¸l5¼´ßÉ›‡ëéhrR]•j#–Qn ¢Ü¢««‹[·n q»Ý8Ίv¢k<,TÕÚ*+hjjâàÁƒ´µµ¥Kã®j,t]çÈ‘#¸\®¬yýõ 2«ÕJ"‘`tt4=@£ÚvF‹.uRQîØ®QÃ_UU•.w6ÒãçÞÉd’ÁÁA|>_é†UÈ¢?BEŽÊÚ˜‘…¿•z?†´ô.7‘¥žýÝ‹HªÿW¸îb*¦bšº€2ƒ`e-ÁÀÄ2w‰'tZ¼V,ÕÅ1Õš¦a­©¢½ÁÎõ}ÖÓVM0+»Ü82>>ŽßïO—й/”XÛ*T+1g1ü6› ÇCkk+ííí444¤u*`¨¡Ÿ_|«Õš7éFI×ÛJà¤ø Œn=9 @M9Í îååeü~?]]]ÌÍÍ•vÑÜHºÿ<Ò¬Þ‹)¿Yü¥ÖûIà!à® ©¿žõÝào]ÿ yÎý,önO÷€óÝàBÚ†&€ÇO¢ôÜ_âþ\ˆš*-+Õò š¦Q]e¢ÅcãäA/¯ôÒರKE)£Èd2™Õ=!SWW—6+)[-âñ8‘H„p8œN¥•Ú°±±‘¶¶6ZZZp8iR°£££  i^¯«ÕÊêêjÚÒ2v`* ©@c´&3šu¨“zÔî/È+ÍÏ磧§§4¿2ì8‚×ïE¢¶VïëÀ"BÝ]FV_<ë»3À?#uþÏÈÍ 6ÀVæŠúÒ>lF-©ÃÄB„›cKÌWqZ«ipVkçÂdÒ¨«5s¬ÍÍ›‡ë9ÐàÀ¤ÁR(ÊZÛˆé¨ò àt:q»Ý%Ër‹-á·QVÐÒÒÂ3Ï<ƒ×ëÅl6ÓÜÜŒÙl.8Øl6‚Á £££Y-HÅQ½ù”A]¤‰¾Bx@Ú{×®]£³³“‰‰‰‚¯ElÈŽ_®“wv[©÷uÄ$´I÷RÿÎ üð#àŸ€Éb^ÚVciá®#A¡T|‹Æ“ O¯Ð?¾ÌÊZœ§§­4»¦iØSmÄ7Ë4¢Í\E0#´Zü /›!399Iww7ÝÝÝLMMQ]]îC– EÀ…Ãá§²‚ÚÚZöíÛGss3N§3}æÀfÐ4 ·ÛÝngaad)óÖséQçæJ~¿3÷9Œ¯rr’®®.®^½ZÏÀºhBvývöžŽ_a+ýý80‚ìø×éN ¤á÷çÀ‘ÐP4©RŽdJGíDxH3ÂÔ#qz™~BR×iñÚ0WWQʦªi5Õ&Zëì|÷P'Ú=Ô;-¬ÆBåm#êºcöööÒÕÕÅðð0Ñh¯×[´…ÙzrâB¡Rsuî ê ¨“tÔ÷òÁãñàp8˜™™ÉšªS]•Ò+†ßl6§EMÕúëxeÌi4ëXÏ£o#ÃŽ¡¡!.^¼Hií=eØqY8{±½O×û…bQÝt!ìZvL_~ŽÈwÿé”e—«$Ÿº„Ô(=HvÐŽ4AX%šzÂÀÄ2‘h‚—§uk®Œjñ@ƒƒ×;ê8ÞæÁe«&´š ‰•µ¨ìÁúúúңɑH§Ó‰ËåÚÒï-öñ…¦ØN§›ÍÆèèhÖl½šÞSfFQªýsa Á`¿ßOggçÖüøŸGZ|•~¿¿t›®ô/Gn÷¥Ôßíì­v_±ýý5¤Ov™õÆtcÀgˆ|÷o °â7ÇN%]ÉÐ mC+@8š``"Èàä2«ñ$ÍîÂÇŽóAÓ•¡×ÆÉC^Nª£Ùc%©ëÂ1âeîÄãq=zÄõë×¹zõjºÿîñx²NM.[É"l6Ñh”‡üóF¯ÀX,F__.\(ý.Ic{‘[?Óà‹ ’ÖdQÙÙý$`1ýý$2_ëGZ{ó—¶ŽŒóü5ðgHQPþ]iìdեƎ;Äð&€ÅPŒ[÷ÜŸaÒ4ö{mEËŠ7ƒIÓð8ÌmuñÆáz5:0WiBQ"eBÒu`0ÈÐÐ~¿ŸÁÁAVVVÒçý­¾*•X,Âá0ÓÓÓEýœ¦iLOOsñâE|>_©6]:Òþøo„ï^A:äÒ(S³kó#nf÷¶•ž?__'c³sáî³Çt'õÞŸ ×f‹)UñØ ´KQ1u!û@©±ã¤“‹zÆ™]^Ãa©¢Ñe- ?  ÊƒCµœê¨çh«·½†ÐZ¼ìÝÒpbb‚k×®qýúuÆÇÇÓsý¥d…@µú”a¡H&“ôööòñÇÓÓÓ³á±]yGÔ¢ÿƒÌ­%Rp˜Œ¢=Ó4K %ÁBê;6D´[ÒóoÖß7Žév‘;¦ Ùcº?Atü;‚Ý‚H‚ô%rùÚ‘±c¢ ‘™n=X"‰³¯Ö\ôØq!¨Qå¡{Oy”ÓËdq-..200À•+W" ¦O.ç{S""e)V.\àܹs¥êø•påcdw[/õXDÌ«!‰t#ꞌ¦~ZÙ¨#ºw*Úß!t÷e$Üe›p&åÞ_ cºwØ`Lw»°›€Â 2Ë<ˆ|ÜÏ‘’¯¬%è_æëGA¢ ý^+Öšò¿…ÜîÁ¡&æjSÙDSX[[c||<¨çõz 27Í]× …B¬¬¬äm×éºÎðð0çÎÃçó•fÓ%‹¿™J»ÌæRÕ$†½¿£‘wÉ CHˆØ ¿¿Bêý$Rät#÷,¹uþ ðwˆ˜ç[ï–»1€\λ?0ŽÌ=KªâšO?SmÒJ;.™òÀÁõiuá±×^‹‹Õy™ë5pûöítV°°°€ÅbI[ž—¬­­Ò³!‰àóù8wîÃÃÃ¥ò+ˆün§à—™zü0B Ö¡–»r¸O=ÊÂöÙ}ç«÷Õ˜®’ïŽaÓ ?Aêüÿ"“Óì ì–Ê*Ú¦¾^ÄðºÝ¶j¾ÿr#§7s¤ÕUV~`=$’:S‹a®ß[äêè·'‚e765Âd2ÑÒÒÂÉ“'9uê'Nœ ®®®(£ÅÅE=z”öÌ…®ëŒãóùèîî.Í’[–Â]Dôu•ÜeP4äs~ 8EJAš†=Kê‹ Áƒ(V62 #yKBçe_Ú"ßýiï•`„PyìÖ ¤‰r¹‘ªµx’¯=a`<@h-A£ËB­µ)Õ¦K9Ñü<õUnÕZ‘’!ËÝ…ìÿ²$C?FjórØ„m¦çWƒïjL÷¹òÝ{ȰÎ2¨"òÝrb¯”ëað»À#ibzµ[ªMüÒóõœ>ÞÌ©çê¨)Ã|«ÑWFóYÿ 7î-åÎÄ8¼Î6œLçv»ioo§££ƒ£GrðàAœN'@€¹¹¹§êþH$ÂÔÔ7nÜ`pp°Ô§M ÙçÁµhCÊ‚ï‘knGJ‚6R–µ%üv;Böåþ¼â úS_óOýä"RߟE>ûeö‹Á^ /„ðíÞS}­™ï¿ÜÈû¯4ÓÑ\»e~ ‘Ô¹=±Ì/úf¸tgž'ÙnDŠé=‹Ìj€7€¤¾±µÓÝ ‚Ùl¦¾¾žÃ‡ÓÖÖ–601™Li%`__>,ÍŸO@:5”a&½H˜€£H 8IJAš†— ?PŒ¬BÕû¹^/«H³®õ†pÕ);g€ORÞSø&›â—‘làw3ç¼w¬‰÷Ž7•äO¨ë:S‹>ëŸáÂí9¦ŸÊìf‘Eÿ!²+Q…Z§ßD²GQ/ D¨3ýŒîAÁ`p+ _GÒñóÈ8K¥w:Ýðšá $áÿð6r}3õž Iã ƒF›IuMȯ';<'F¿éKdWx DÍÙùKœƒÞy|S€‚ ø àà= {€Iƒ×Ú½œ>ÞÄ;/5`·6u Çèœå|ÿ,ƒ“Á\¢/ŒÔ¾gš/ÐŒì\ï§^ß3ì~Õ»Bit]¤HãÉEªû¤”J"Ÿ¥ iºÈÌ6o" ã=mF®ðÖ·«A É:2Ÿ‚:e§Éç²… ü4õ÷­@CnÍ_Aʃ·Ù]çÝÄQ–ÏÑ ?×*’tQ §=’ñ©@ЈÐw¯"YÖ r «GøÉh4$ßøI÷ï“»´£HÖs8‡á\½o¾é¤6üU$ü6©ù…Zœœ>ÖȻǚˆÅ“œ˜åÂÀ,æŸ2Ú\þIÿº)ÿ¬¶¹iO#¤áKìlVðYø> _¥@íúwYONSLdl9šŸ‰·€wãCMY< ¼†Ð²“È¿C®87‰¤øg~§ÒeÏŽàÛœÀo!eÁÛ(Ÿj“ÆË­.âI;SÁ\{qÅôžENV­´†Û„ìOï åÁÛH»]š$²$.¤þ¬”)…Ž\Ëbwý|¨A’~7²ÔßGÿŒ÷»  ä y@ €Ÿ"Á¾§L¯kWâÛÚ€?D:GØø$ÿ,2ºYâv[‚IißK}£8£éb±†´öÎSÙ÷[Ž]¿P¨Ñ݈w“džÉÅ‘ìgÛŒ9v ߯ò¾O"Aà÷‘úQ] Ez)¦wh'^`4$½ý.R"¼‹$°årÒK *Ë/¿RYŽq׿Çö`Øžåà×ÈV Äùî„èÛU;•Ä·5(Ô ê¤}Cn€³ÈbØîDðô=¤LxÉjJq‰#Ó–7‘lg†ò²ÛÉÔsD‘6âRê9fØ¿» Ðüü#è,bÄù`‡^ÓŽáÿW;Ç‹ ¤¾IEND®B`‚(0`   p+/-I">cu fVZY]X††„E˜bT…¿¨©¨ÈËÊçêèÿÿÿÿÿñõÿÿððÿÿÿÿôDÿÿÿÿÿÿÿÿÿÿ[»Qˆ0Df@ÿÿÿÿÿÿðõ»»Q8ÍܘððDDDf@ÿÿÿÿÿÿ»µP‰ÝÝÝ̃DDDFdOÿÿÿõ»µŒÝÝÝÝÉ™0DDDDfdÿÿÿ»µÝÝÜÍÞÉ™˜DDDFfdñ[UÍîíÉ™ÍÞÉ™™ƒDDDDFfdU8ÎîîÙœÝÝîÙ™™™€DDDDfdð9ÞîîîÜÝÞîîÜ™™™˜0DDDfd<îîîîîîîîíÝÝÜ™™™ƒDFfdðŽîîîîîîîÝÝÝÝÝÉ™™™€DDfdžîîîîîîÝÝÝÝÝÝÝÉ™™˜0DfdðžîîîîíÝÝÜÌÌÝÝÝÜ™™™ffdžîîîÝÝܘ38œÝÝÜ™™“ffdðžîîÝÝÙ€3ˆˆ0ŒÝÝÉ™“ffd=îÝÝÝ€8œ˜030ÍÝÝÉ“ffdðÎÝÝÙɃ‰ÌÈÝîíÃffdñÍÝÓ808ÝÝÉ0=îîîÃffdõµÌ‰ÝÝÝÝÜ0=îíÈ0ffd»µ8îÝÝÝÝÜ€>܃Fffdñ[U‰ÞîîÝÜÝÝÜ€80Ffff@ÿ8îîîíÉwÍÝÝDffffDð‰ÞîîîÜ—wwÝÝ“Fffffdÿÿ îîîíÉwtHw}ÝÝÃffffdÿÿð>îîì—wwFfd}ÝÝÈDffdÿÿÿÿÿ îÉuµ‡tfffŒÝÝÈ!FdOÿÿÿÿð éw[»»FjÊfIÝÝÙ"!@ÿÿÿÿÿÿ çu»»»VlͦiÝÝÙ0""ÿÿÿÿÿÿé{»Ì»¶jÌfgÝÝÙ0""ÿÿÿÿÿÿÿì{»Ý»¶fffGÍÝÜ€"ÿÿÿÿÿÿðÝ{»»»´ffdwÍÝÜ€"ÿÿÿÿÿÿÿÍu»»»"%DGwÝÝ"ÿÿÿÿÿÿðžw[»²"""ww}ÝÝ“"ÿÿÿÿÿÿÿއˆ…""""ww}ÝÝ“"ÿÿÿÿÿÿð>—ˆˆ"+»"w|ÝÝÈ"ÿÿÿÿÿÿÿð>lj˜R+»"XwyÝÝÈ"ÿÿÿÿÿÿð ׉™R+²"Y˜yÝÝÙ"ÿÿÿÿÿÿÿÿ 牙‚""%‰™—ÝÝÙ0"ÿÿÿÿÿÿÿ èy™•""Y™˜wÍÝÙ0"ÿÿÿÿÿÿÿÿéy™™™w‡ww™ÝÝÜ0ÿÿÿÿÿÿÿóé9ÌÉ—wwœÍÝÝÉ“ÿÿÿÿÿÿÿÿÜ9—wxœÝîÝɃÿÿÿÿÿÿÿÿðÍ7yÍÞîܘ3ðÿÿÿÿÿÿÿÿÿžÍîîܘ0""ÿÿÿÿÿÿÿÿÿðŽíÙƒñ"""ñÿÿÿÿÿÿÿÿÿÿÿðƒ""!ÿÿÿÿÿÿÿÿÿÿÿðððÿÿÿÿñÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿëè?ãÿÿÀ@þ€ ?üøÀ€€€€€€€€€À€€ÿÀÿ€ÿÀÿÀÿÀÿàÿÀÿàÿÀÿàÿàÿàÿðÿðÿðÿøÿðÿø¿ÿðÿø ÿÿøTÿÿø+þ?ÿÿýÿÿÿ( @   p+/-I">cu fVZY]X††„E˜bT…¿¨©¨ÈËÊçêèÿÿÿõõððÿÿôDÿÿÿÿÿÿ[µ9Ì“DFDÿÿõ[µŒÝÝÉ€DDfDÿÿUUÝÜÝɘ0DDDfOõSîÌÍÞÙ™“DDFd8ÎîíÍîîÜ™™€DFfóÎîîîîíÝÝÉ™˜0FfîîîîíÝÝÝÝÉ™˜FfóîîîÝɘˆœÝÜ™™4ffîíÝÈ3ˆ09ÝÜ™4ffðÝ݈™ƒ‰0ÞÜ0ffÙ808ÍÝ=îì4ffûUƒœÝÝÝÃŽÙƒffõU9ÍîÝÍÝÃ8ffdðœîîÜ—|ÝØFffdÿžîíÉxH|ÝØffdOÿðÞì™w†fiÝÙFdÿÿÿðx»µfªhÝÜ2%OÿÿÿðŒ{»»jÊhÍÜ1"ÿÿÿÿÿ‹½»ffhÍÝ"ÿÿÿÿ={»»Tf‡Ý"ÿÿÿÿÿ u»²"#wÝ‘"ÿÿÿÿü˜ˆ"»"w}ÝÃ"ÿÿÿÿÿ ǘR»"w|ÝÃÿÿÿÿø×™R"%™ŒÝÈÿÿÿÿÿ×™•"Y˜‰ÝØÿÿÿÿð×™™—w™ÍÝÈÿÿÿÿÿðÉyw™ÍܘƒÿÿÿÿðœœÝܘ1ñÿÿÿÿÿÿðŽÙƒ0""ÿÿÿÿÿÿðÿÿò"ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ¨>?üàÀ€€€€€€€€?€€ÿÀÀÿÀàÿÀàÿÀàÿàà ÿàÿà>?ÿõÿ(    p+/-I">cu fVZY]X††„E˜bT…¿¨©¨ÈËÊçêèÿõS‰ƒôDÿÿUœÝÈ4DFøíÝܘ4F îíÜÍɃFü홃8ÌÃfœˆ‰ÈÃfõ8ÜÜ8Df ÝɈÜ4fOù›ºªÍ2ÿÿø›´¤‚/ÿø›"W’ÿÿó˜R'•/ÿð™rYœÁÿÿÿ™™™˜1ÿÿ‰ˆñ"ÿÿÿÿÿ/ÿÿÿà#À€€€€€€€€ÀÂ?×(0`   .(3;D LV^ bk!m Bue~%x€ +*1!$" ‡!5#B&(&$A2e:p+-,A,B z031H))\B/D&(f‹KB ;69N6974RB-S8W,„Q:G=@>XI@@N@BUA?54v>_^*0”]CFb3T$FIGOHHMFTS>CBh-[iiJI%Gnh*`VMMaMNl ]OLo"dNPOF]2tiVFoRS'OxSVT]UU{ n)cZZ>J£TZi€[^\*VˆEYv>Zvr\_[cUiaWNab„_]#ejY\w€mcdhf^4_dge_j]Ba‹’ecKZ­jli2d™2b£gs[+jŽvml†nksoqitgopwrur9p¥Œxq9p­xzxy€nz~u~{~^nº†}|7“O£|xz|}€ƒBy¸=z¼†}…‡…B~ÅJ›eˆ‹‰ŽŒ„‘ŒŽ£ŒŒŽTœyžŽXŠÂ–”’•“›”•€“°˜›™d•Ê œŸ§ž žn™É¶ŸŸ}•×€£¶yª¥¤¦¥}–ÿ±­¬„§Ð¬¯­¹¯®“­ÊФþ³¶´¹¶µ­ë¹¼ºÂ½¼¾Á¿ÉÆÄÃÇÅÇËÉÐÍÈËÎÌÐÓÑÓÖÔØÛÙÜßÝáäâæéçéìêîòïóöôõùöÔÔÔÔÔÔÔÔÔÔÔÔ@ÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔ#!ÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔ@ƒŸŸo&ÔCnn2ÔÔ#;JJ/ÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔeœŸœ|@ .}±ÄÆ»ªfÔÔ !8???D\J,ÔÔÔÔÔÔÔÔÔÔÔÔ&W›Ÿ›e0OžÂÉÇÆÆÄ±­n(/???????Uh?#ÔÔÔÔÔÔÔÔÔIƒŸW $}·ÉÊÊÊÊÊÆÊ·ª¡ŒC!8???????Mbb3ÔÔÔÔÔÔ=|œƒ@C™ÄÌËËÌÆ»±ÂÆÌ·¥¡žžf",???????J^mU,ÔÔ eo0 f­ÊÍÍÌË¿ª¡ª¿ÆÇÏ»¡ž¡žž}2!;??????D\mmJ#=e&$‚»ÎÎÎÍÍ™™·ÄÇÉËÎÓÆ¡šžšššO/???????Umm?Ô<šÇÐÐÏÏÎÍÍÇ¿ÉËËÎÐÑÐÍÌ¿ªšššš™™n( !/????J^mm?.­ÍÑÑÐÐÏÏÎÍÍÌÌÎÐÑÐÍËÉÇÇÉÄ·š™™™™™‚<#???Ummm?Ô}ÓÒÑÑÐÐÏÏÎÎÎÐÑÑÎÌÊÇÇÇÇÇÇÇÉ»¥™™™`"#??D^mm?ÓÒÒÑÑÐÏÏÐÑÑÏÍÊÇÇÇÇÇÇÇÇÇÇÇÇı™}2;?DUmm?ÔšÓÒÒÑÑÑÑÑÐÍËÉÇÇÆÂ¿»»»¿ÄÆÇÇÇÇÇ»¡ŒšŒ?^hmmm?¡ÓÓÒÒÑÑÎÌÊÇÇÆ±ŒO.""""".`Œ·ÆÇÇÇ­Œ™š™"Mmmmmm?ÔÓÒÑÏÍËÉÇÇÇ¡O$Cf}}f.f·ÇÇÇÇ»¡™š™.Jmmmmm?CÉÐÎÊÇÇÇÇÇ}<‚ª­šn2"..2±ÇÇÇÉÉ»¡™<;mmmmm?ÔO±ÌÇÇÇÇÇn­žn2$f¡¿¿±}`ÆÊÌÎÏÏÆ±<3mmmmm?Ô &n±ÉÇÇÄC2n<$f¡ÂÉÉÇÇ¿¥".ÊÏÏÏÏÏÏ·"8mmmmm?Ô@ƒ@ n··Œ$f¥ÂËËÊÊÉÇÇÆ­<.ËÏÏÏË·‚. Mmmmmm?=œŸ|0"f¥ÄÌÌÌËËÊÊÉÇÇÊ·`CÍÉ­}.;mmmmmm8Ô I|W0"f¥ÆÎÎÍÍÌÌËŹÅÉÇÇË»‚.f$ !8Ummmmmb3ÔÔ"fªÇÏÏÏÎÎÍÍȹ§ˆv³ÉÇÇÊ™#;\hmmmmmh?#ÔÔfªÊÐÑÐÐÏÏÎʹ§ˆv€€€¤ÈÉÇÉÆ¥"#?^hmmmmmmmJ,ÔÔÔÔ»ÑÓÒÑÑÐÐ˼§ˆvdT_ac€—ÅÉÇÇÊ­</hmmmmmmm^/ÔÔÔÔÔÔ$ÍÓÓÒÑÍ»žˆv€€cYmmh^_tÃÉÇÆË·`*Jmmmmh8ÔÔÔÔÔÔÔÔÔÔÄÓÍçzxrc_mmyymha¼ÆÆÆË»‚,UhD#ÔÔÔÔÔÔÔÔÔԱ·vrŸŸŸœRmm µ¶ymY¤ÉÇÇÊ™  ÔÔÔÔÔÔÔÔÔÔÔÔÑz[Ÿœ¨¨ŸŸwhm¶¬½–mXŽÇÆÆÆÆ¡$ÔÔÔÔÔÔÔÔÔÔÔÔÔfÑ“QœŸ®½½®Ÿ†bm¦½¶ymUtÃÆÇÆÊª<ÔÔÔÔÔÔÔÔÔÔÔÔÔÔ2ϯFŸ²½½²ŸimhyymbTdÀÇÉÆË±f ÔÔÔÔÔÔÔÔÔÔÔÔÔÔÊÂG|Ÿ¨ºº¨Ÿ>Mhmm^NVd°ÆÆÆÊ»‚ÔÔÔÔÔÔÔÔÔÔÔÔÔÔ»ËFpŸŸœœŸA)9DNVVV§ÉÇÆÉÂÔÔÔÔÔÔÔÔÔÔÔÔÔÔ¡ÏgQqƒœŸ„ABVVVˆÅÆÄÆÆž(ÔÔÔÔÔÔÔÔÔÔÔÔÔÔ}щ]s~uq1Kk75LLLrÃÆÆÆÉ¥CÔÔÔÔÔÔÔÔÔÔÔÔÔÔCУG~……s-7´¾´%'LLL[¹ÆÆÄʱf ÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔ$̹G‚ŠŠŠ67Á¸´74t]GG«ÆÆÆÊ»}ÔÔÔÔÔÔÔÔÔÔÔÔÔÔÄÆF{‘‘‘S”k4’’‰j•ÇÆÆÇÂÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔ­ÌEtl6‚zÆÆÆÆÆš(ÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔŒÐgg¢¢¢’S+H¢¢˜‰jPÀÆÆÆÉ¥C ÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔ`щP¢©©©©¢‹SS‰‡jPPg‰£ÆÇÆÆÌ·C ÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔ.ΣE£««««•‡gPZj“¯ÀÆÊÊÊÆ¿ªŒC ÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÉÀ:••‡gZg‰£¹ÆËÌÌËÄ·šf2ÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔ»É:Zj“¯ÃËÎÎÍÊ¿¥‚C" ÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔ¡ÑÀÈÎÐÐÍÆ·`.  ÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔnÒÑÌÂ¥}<ÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔnO$ÔÔÔ ÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔ ÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÿëè?ãÿÿÀ@þ€ ?üøÀ€€€€€€€€€À€€ÿÀÿ€ÿÀÿÀÿÀÿàÿÀÿàÿÀÿàÿàÿàÿðÿðÿðÿøÿðÿø¿ÿðÿø ÿÿøTÿÿø+þ?ÿÿýÿÿÿ( @   .(3*D LV^ bk!mu~%x€D*1!$" ‡!5&(&2e:p+-,A,B&)F z031H0U&(f‹KN6974RB-S8W=@>XUA?54v>_^78r*0”]CFbBP/FIGCBhiiJI%GnhOH^*`VMMaMNl ]OLoNPOF]2KXBt'Ox]VOSR`SVT]UUsRb8{ n)cZZJi6€[^\*Vˆ{_OEYvr\_Nab„_]Y\w€mcdhf^4_dge_j]’ecKZ­jli2d™2b£gs[$‡/vmlDk„soq_l„itgooopwrur9p¥9p­xzxz~u~{~‹{~^nº†}|7“Oz|}€ƒBy¸Œ…z=z¼…ƒ†…‡…J›eˆ‹‰ŽŒ„z‰œ‘ŒŽ£ŒŒl~ÓŽTœyžŽg—ŠXŠÂ–”’•“˜›™ œŸ žn™É¶ŸŸ}•פ¦¥±­¬¬¯­¹¯®“­Ê³¶´¹¶µ¹¼ºÂ½¼¾Á¿¢¼ÜÉÆÄÃÇÅÍÉÇÇËÉÐÍÈËÎÌÐÓÑÓÖÔØÛÙÜßÝáäâæéçéìêîòïóöôõùöÁÁÁÁÁÁÁ@ÁXÁÁ+ÁÁÁÁÁ"1,ÁÁÁÁÁÁÁÁÁÁÁÁX‚K<ƒ¨«‹7 )::E6)ÁÁÁÁÁÁ%X‚u;!d ²¶¶´¦“G ,::::AI:"ÁÁÁÁKee- 7ƒ­¹·­¨­·¨™‘d& )::::ASI5ÁÁ@K%TŸ·º¹¦ ¢­¶»­‘‘‘€<5::::Ic:!p¨»¼»º¸¨´¹»¼¼·¦‘ŒŒ‹[!"6::I_QÁ#«¾¾½¼»»»¼¼»¹·´´¶«Ÿ‹‹‹p06:ScQ7¼¿¾½½½½¼º·´´´´´´´¯¢‹ƒƒ€G"=I_QÁ7½¿¾¾½»¸¶«Ÿƒpdpƒ ­´´¨™€ƒŒ& W_cQ7¼¾¼¹·´«p<<[[70€´´¯ Œ‹0 _ccQÁŒ¹·´´­[[‹€G#7p€<€´·¹²¢7_ccQ%G“²´‹&G#7t¢²´­ŒG¹¼¼¼¨0_ccQÁoe-G[!7€¦´¸·¶´´¢!Gº²™[#6cccIÁ;X87€¨¸ºº¸±©µ´·«7&T!)AcccI1Á <ƒ«º¼¼º³©—~r©¶¶­T,A_cccS6ÁÁ™¼¿¾½µ©—~UN^f¤¶´²t 6cccc_:)ÁÁÁÁ­À¹©•|hjbSc_LŽ´²´‘ 'IcAÁÁÁÁÁÁÁŸ®hk‚zQxœ’_w±´¶ ! "ÁÁÁÁÁÁÁÁt¬Z£]‰ªšcb®²´¨7ÁÁÁÁÁÁÁÁÁÁG±Z£°£`cxlLV©´´­T ÁÁÁÁÁÁÁÁÁ&´av29ELFJ›´²²pÁÁÁÁÁÁÁÁÁÁ¯ygov/.JJ†²²²Œ  ÁÁÁÁÁÁÁÁÁÁ¦ˆYqi*s‡4(>Dh±²´ ! ÁÁÁÁÁÁÁÁÁÁ‹¡Y}}3$˜¥4*\RP§²´¨7 ÁÁÁÁÁÁÁÁÁÁ[®O„„H4C?„„n¡²²«TÁÁÁÁÁÁÁÁÁÁ7±\Š”B*?ƒŠtY–²²¯p ÁÁÁÁÁÁÁÁÁÁ!²aŽžž”{Mam{¡®²­¦[ÁÁÁÁÁÁÁÁÁÁÁ«{yyyy…¡¬²´«™tG# ÁÁÁÁÁÁÁÁÁÁÁ™§–§±·²¦‹[0 ÁÁÁÁÁÁÁÁÁÁÁÁÁÁdº¯Ÿt?üàÀ€€€€€€€€?€€ÿÀÀÿÀàÿÀàÿÀàÿàà ÿàÿà>?ÿõÿ(  *DL^ BD +1#B&(&:2A *X+17031;69EN)6E4RS79K,„8B6=@>XI@@54v^78r*0”FIGi%GnOH^"dNPOKXBtSR`SVTBSd{+JšfFWX`Ji6>J£TZi[^\*Vˆhf^dge,}8jlijf~gs[vmlDk„soqopwrurxzxy€n~{~kx‘‹{~Tw¡†}|z|}…ƒ†…‡…J›eŽŒ„‘ŒŽŽ–”’•“•” ˜›™d•Ê ž¤¦¥¬¯­¹¯®³¶´¹¶µ¹¼ºÂ½¼¾Á¿ÃÇÅÇËÉÐÍÈËÎÌÐÓÑÓÖÔØÛÙÜßÝáäâéìêîòïlll8'7N<lllll/DY^aZ< ""l6TehbdgaVL%,Zkjif`Z\^XL7,lXifRD.7XZV&0 /DV%.:NZ<:gZ&0l_Z0&llKUII;O;Z` lllll9GWW2;)Sa3llll*M@1 HaDlllllM<#5$(?_T llllMD=!!AK]Y llllllFJQQQPB-lllll:M<*llllllllllllllllllllà#À€€€€€€€€ÀÂ?×(0` > $›:Zó9Xï”6TâþÿÿþÇYYW: 4‡%Ù4þ'¶Y% ‚6Tà0_’ÿAÃÿ@~Âÿ.Z‹ÿ!3Ø¡¾öÿÿ<<<ÿbbbÿ]]]ÿ222ÿÿâŸ\YYWŒÓ3þOÿ]ÿ_ÿ@ô?i.FÆ*Rÿ?{¾ÿAÃÿ>z¼ÿ/]ÿ7Tÿ ÿÿÿ---ÿgggÿŸŸŸÿÂÂÂÿÈÈÈÿ±±±ÿ”””ÿSSSÿÿüºv‡Ã*úIÿSÿSÿSÿXÿlÿ`ÿ7á ƒ&P!5­#Flü;t²ÿAÃÿ;t²ÿ)P|ÿ*Aÿ ÿÿÿJJJÿ‡‡‡ÿ½½½ÿÍÍÍÿËËËÿÉÉÉÿÉÉÉÿÃÃÃÿ   ÿœœœÿaaaÿ'''ÿÿæðAÿSÿSÿSÿSÿSÿSÿSÿgÿxÿTÿ/Çj7•=^ï5h ÿ@~Âÿ6k¤ÿ#Ejÿ.ÿÿÿ$$$ÿdddÿ¤¤¤ÿÏÏÏÿÒÒÒÿÐÐÐÿÒÒÒÿÑÑÑÿÐÐÐÿÉÉÉÿÐÐÐÿ£££ÿ———ÿŠŠŠÿuuuÿ<<<ÿÿÿ'ÿJÿSÿSÿSÿSÿSÿSÿSÿbÿvÿuÿGü#®Q |4RÙ/\ÿ?|¾ÿ1`”ÿ9Xÿ ÿÿÿ===ÿÿ¿¿¿ÿÚÚÚÿØØØÿÖÖÖÿÙÙÙÿÈÈÈÿ¯¯¯ÿ   ÿºººÿÉÉÉÿÛÛÛÿ¦¦¦ÿÿ‰‰‰ÿ‡‡‡ÿ………ÿSSSÿÿÿÿ;ÿSÿSÿSÿSÿSÿSÿSÿ]ÿqÿ€ÿjÿ>ð–9-´(Ozþ:r°ÿ+Uƒÿ.Gÿ ÿÿÿTTTÿ™™™ÿÓÓÓÿàààÿÝÝÝÿÛÛÛÿÖÖÖÿ³³³ÿ–––ÿˆˆˆÿ———ÿ³³³ÿÆÆÆÿËËËÿèèèÿ®®®ÿŠŠŠÿ†††ÿˆˆˆÿ………ÿ………ÿhhhÿ333ÿÿ ÿ-ÿOÿSÿSÿSÿSÿSÿSÿXÿlÿÿÿ]ÿ/×'1Læ&Ktÿ$8ÿÿÿ$$$ÿlllÿ²²²ÿãããÿåååÿãããÿàààÿÞÞÞÿ½½½ÿ~~~ÿ|||ÿ£££ÿÁÁÁÿÌÌÌÿÎÎÎÿÖÖÖÿåååÿýýýÿÇÇÇÿˆˆˆÿƒƒƒÿ………ÿƒƒƒÿ„„„ÿ‚‚‚ÿ{{{ÿGGGÿÿÿÿBÿSÿSÿSÿSÿSÿSÿSÿjÿÿ€ÿRû' æÿÿ:::ÿƒƒƒÿËËËÿíííÿëëëÿèèèÿæææÿãããÿáááÿÞÞÞÿÌÌÌÿ¶¶¶ÿÏÏÏÿÔÔÔÿØØØÿâââÿìììÿñññÿëëëÿáááÿÚÚÚÿ¶¶¶ÿ–––ÿ‚‚‚ÿ‚‚‚ÿ‚‚‚ÿƒƒƒÿÿ€€€ÿ[[[ÿ'''ÿÿÿ*ÿBÿSÿSÿSÿSÿ\ÿnÿ€ÿ€ÿUûCô***ÿ™™™ÿàààÿóóóÿðððÿîîîÿëëëÿéééÿæææÿäääÿáááÿßßßÿÛÛÛÿÜÜÜÿãããÿëëëÿðððÿíííÿáááÿÖÖÖÿÎÎÎÿËËËÿËËËÿÍÍÍÿÂÂÂÿ¤¤¤ÿƒƒƒÿ~~~ÿ€€€ÿ}}}ÿ~~~ÿ}}}ÿoooÿ;;;ÿ ÿÿÿ4 ÿSÿSÿTÿjÿ€ÿ€ÿ€ÿUûdþhhhÿ÷÷÷ÿöööÿóóóÿñññÿîîîÿìììÿéééÿçççÿäääÿâââÿåååÿëëëÿïïïÿïïïÿåååÿÙÙÙÿÐÐÐÿËËËÿËËËÿËËËÿËËËÿËËËÿËËËÿËËËÿÍÍÍÿ±±±ÿ‘‘‘ÿ}}}ÿ}}}ÿ{{{ÿ}}}ÿyyyÿzzzÿOOOÿÿÿÿ3ÿSÿSÿYÿnÿ€ÿ€ÿUûnþxxxÿ÷÷÷ÿöööÿôôôÿñññÿïïïÿìììÿêêêÿéééÿíííÿïïïÿðððÿéééÿÝÝÝÿÓÓÓÿÌÌÌÿËËËÿËËËÿËËËÿËËËÿËËËÿËËËÿËËËÿËËËÿËËËÿËËËÿËËËÿ¿¿¿ÿ   ÿÿyyyÿzzzÿwwwÿxxxÿxxxÿiiiÿ333ÿÿÿLÿSÿWÿkÿÿ€ÿUûsþÿ÷÷÷ÿöööÿôôôÿòòòÿðððÿñññÿñññÿñññÿìììÿàààÿÖÖÖÿÎÎÎÿËËËÿËËËÿÈÈÈÿ¾¾¾ÿµµµÿ­­­ÿ¬¬¬ÿ®®®ÿ¶¶¶ÿ¿¿¿ÿÈÈÈÿËËËÿËËËÿËËËÿËËËÿËËËÿ®®®ÿŒŒŒÿwwwÿwwwÿuuuÿzzzÿ„„„ÿrrrÿÿÿQÿmÿxÿÿ€ÿ€ÿUûÿˆˆˆÿøøøÿ÷÷÷ÿöööÿõõõÿóóóÿïïïÿäääÿÙÙÙÿÑÑÑÿËËËÿËËËÿÄÄÄÿžžžÿqqqÿJJJÿ---ÿ!!!ÿÿÿÿÿ...ÿMMMÿvvvÿ¦¦¦ÿÉÉÉÿËËËÿËËËÿËËËÿ½½½ÿœœœÿ{{{ÿsssÿ|||ÿƒƒƒÿ}}}ÿ ÿÿaÿ€ÿ€ÿ€ÿ€ÿ€ÿUûzÿzzzÿøøøÿöööÿòòòÿéééÿÝÝÝÿÔÔÔÿÍÍÍÿËËËÿËËËÿËËËÿŒŒŒÿGGGÿÿ"""ÿ>>>ÿVVVÿgggÿiiiÿUUUÿ...ÿ ÿÿÿÿÿWWWÿ¤¤¤ÿËËËÿËËËÿËËËÿÊÊÊÿ­­­ÿ‹‹‹ÿÿƒƒƒÿ~~~ÿ+++ÿÿ\ÿ€ÿ€ÿ€ÿ€ÿ€ÿUûSùAAAÿÏÏÏÿëëëÿäääÿÓÓÓÿËËËÿËËËÿËËËÿËËËÿÊÊÊÿgggÿÿ;;;ÿoooÿ”””ÿšššÿƒƒƒÿ\\\ÿ222ÿÿÿÿ!!!ÿ///ÿ///ÿÿÿ333ÿžžžÿËËËÿËËËÿËËËÿÍÍÍÿÍÍÍÿ²²²ÿŠŠŠÿ~~~ÿ555ÿÿPÿ€ÿ€ÿ€ÿ€ÿ€ÿUû(æÿJJJÿ   ÿÜÜÜÿËËËÿËËËÿËËËÿËËËÿËËËÿyyyÿÿ```ÿ›››ÿ†††ÿ]]]ÿ222ÿÿÿÿ"""ÿVVVÿ‰‰‰ÿµµµÿµµµÿŸŸŸÿhhhÿ ÿÿRRRÿÉÉÉÿÑÑÑÿÙÙÙÿâââÿêêêÿêêêÿÉÉÉÿžžžÿ666ÿÿHÿ€ÿ€ÿ€ÿ€ÿ€ÿUû'-æ0ÿÿ ÿZZZÿžžžÿÎÎÎÿËËËÿËËËÿÂÂÂÿ===ÿ000ÿ\\\ÿ666ÿÿÿÿ"""ÿVVVÿ‹‹‹ÿºººÿÏÏÏÿÎÎÎÿËËËÿÊÊÊÿµµµÿ’’’ÿÿÿ---ÿÒÒÒÿçççÿêêêÿêêêÿêêêÿêêêÿêêêÿ¦¦¦ÿ ÿÿKÿ€ÿ€ÿ€ÿ€ÿ€ÿUû'8Wæ4fÿ8Wÿ ÿÿÿ___ÿ¥¥¥ÿ¨¨¨ÿrrrÿÿÿÿÿ"""ÿWWWÿÿ¾¾¾ÿÕÕÕÿÕÕÕÿÒÒÒÿÐÐÐÿÎÎÎÿÌÌÌÿÊÊÊÿÅÅÅÿœœœÿ666ÿÿ***ÿÖÖÖÿêêêÿêêêÿèèèÿÔÔÔÿ¤¤¤ÿjjjÿ,,,ÿÿÿcÿ€ÿ€ÿ€ÿ€ÿ€ÿUû'3Oæ@~Áÿ@~Âÿ0^ÿ-Fÿÿÿÿÿÿÿ!!!ÿXXXÿÿÃÃÃÿÛÛÛÿÛÛÛÿÙÙÙÿ×××ÿÕÕÕÿÓÓÓÿÐÐÐÿÎÎÎÿÌÌÌÿÊÊÊÿÓÓÓÿ¦¦¦ÿQQQÿÿCCCÿÝÝÝÿÍÍÍÿšššÿcccÿ,,,ÿÿÿÿÿMÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿKû ’<]ô0]ÿ%Ipÿ'<ÿÿÿÿ!!!ÿXXXÿ’’’ÿÇÇÇÿâââÿâââÿàààÿÞÞÞÿÜÜÜÿÙÙÙÿ×××ÿÈÇÇÿ³®®ÿÆÃÂÿÎÎÎÿÌÌÌÿÊÊÊÿ×××ÿ±±±ÿkkkÿÿ+++ÿVVVÿ$$$ÿÿÿÿÿ,ÿJÿiÿ€ÿ€ÿ€ÿ€ÿ€ÿvÿGü!¯&Æ ÿÿÿ ÿYYYÿ•••ÿÌÌÌÿèèèÿéééÿçççÿåååÿãããÿàààÿÞÞÞÿÎÍÍÿ±¬¬ÿœŒ‹ÿ‹onÿˆa`ÿ´žžÿÏÏÏÿÌÌÌÿÊÊÊÿÓÓÓÿ¾¾¾ÿ€€€ÿÿÿÿÿÿ1ÿOÿlÿ}ÿ€ÿ€ÿ€ÿ€ÿ€ÿ}ÿTÿ/Èk•ÿÿYYYÿ———ÿÐÐÐÿîîîÿðððÿîîîÿìììÿéééÿçççÿåååÿÔÓÓÿ·±±ÿ ÿ‚ihÿ[Yÿ’dbÿ–geÿ–geÿ©Œ‹ÿÎÍÍÿÍÍÍÿËËËÿÎÎÎÿÉÉÉÿÿ!!!ÿÿ1ÿTÿpÿ~ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿÿ`ÿ7á „&!ßÿ¬¬¬ÿóóóÿ÷÷÷ÿõõõÿóóóÿðððÿîîîÿìììÿØØØÿº³³ÿ£‘‘ÿrpÿŠcaÿqQLÿ0^ ÿ$bÿI\1ÿlYIÿ‰_\ÿ {zÿÊÇÇÿÍÍÍÿËËËÿÊÊÊÿÑÑÑÿšššÿ999ÿÿCÿzÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿmÿ@ô@×$$$ÿÝÝÝÿøøøÿ÷÷÷ÿõõõÿóóóÿÞÝÝÿ¬­¯ÿ‰‰ÿ€hhÿ‡`^ÿcaÿ“ecÿnYJÿ&bÿ€ÿ€ÿ|ÿpÿ bÿm_Pÿû»ÿÍÍÍÿÌÌÌÿÅÅÅÿÕÕÕÿ£££ÿRRRÿÿÿ-ÿ\ÿÿ€ÿ€ÿ€ÿxÿKþ'·Z ¸ÿÃÃÃÿøøøÿàààÿÀ¹¹ÿ£’’ÿmbiÿA^…ÿ;m¥ÿFaŠÿXZrÿlV^ÿbQBÿ"fÿ€ÿÿÿ }ÿ€ÿ}ÿEZ0ÿ¸ªªÿÈÈÈÿÇÇÇÿÅÅÅÿÔÔÔÿ¯¯¯ÿkkkÿÿ*ÿaÿ 4ÿ9ÿhÿ~ÿWÿ2Ðrÿ¡¡¡ÿåååÿ}qqÿZYÿhRZÿIeÿAÃÿAÃÿAÃÿ?|¿ÿy»ÿV†¼ÿU†½ÿ@}ÁÿAÃÿ#ejÿyÿ€ ÿ}®¬ÿ~”®ÿ˜³Òÿ8‘Nÿ€ÿd ÿ‹xtÿËËËÿÆÆÆÿÅÅÅÿÇÇÇÿÇÇÇÿ‹‹‹ÿ###ÿ ÿeÿ€ÿ€ÿgÿ¯BóTTTÿóóóÿ…ÿKFUÿ=w·ÿAÃÿi—Éÿ«Èÿ‘¬Êÿh˜ÌÿAÃÿ.kÿsÿÿT uÿ«Âÿu¡¢ÿƒ(ÿ€ÿmÿmdWÿÅÂÂÿÇÇÇÿÊÊÊÿÉÉÉÿÐÐÐÿ–––ÿ;;;ÿÿQÿ€ÿ€ÿnÿ«#à222ÿæææÿ žžÿM?Eÿÿ=bÿAÃÿV‰Âÿ†«Õÿ£ÌÿQ…¾ÿAÃÿ8nªÿ J8ÿfÿzÿ€ÿ€ÿpÿ1S"ÿeHGÿrRQÿªŸžÿÈÈÈÿÈÈÈÿÆÆÆÿÓÓÓÿ­­­ÿjjjÿÿ%ÿ{ÿ€ÿnÿ«¡ÿ±±±ÿ×××ÿTEDÿBWyÿAÃÿAÃÿA{»ÿ@{»ÿAÃÿ8oªÿ0‚ÿnÿ `ÿ#AÿB"ÿW ÿ4T%ÿhKJÿkLLÿkLLÿ–‡†ÿÍÍÍÿÊÊÊÿÇÇÇÿÏÏÏÿ»»»ÿ{{{ÿÿÿqÿ€ÿnÿ«xÿŒŒŒÿêêêÿ_TTÿKCMÿ?Z}ÿ:jžÿ=w¸ÿAÃÿ6i¢ÿ-…ÿ|ÿ€ÿÿ€ÿyÿ XÿR;DÿeIIÿeIIÿeIIÿ‚ooÿÈÇÇÿÇÇÇÿÂÂÂÿÆÆÆÿÆÆÆÿ‡‡‡ÿ&&&ÿÿaÿ€ÿnÿ«Qùfffÿòòòÿqkkÿ^MIÿ`dWÿTbZÿH_gÿ;Yrÿ"tÿÿ€ÿ&-Œÿ>Iÿ%‰ÿ€ÿtÿ@/Cÿ`FFÿ_FEÿ_EEÿoYYÿÀ½½ÿÈÈÈÿÉÉÉÿÉÉÉÿÎÎÎÿ’’’ÿ<<<ÿÿLÿ€ÿnÿ«/ê@@@ÿíííÿŒ‰‰ÿSC@ÿdm^ÿeraÿeraÿVaWÿ gÿ€ÿˆÿ{‘Õÿ‹¤þÿwŒÎÿ „ÿ{ÿ/#GÿZBBÿZBBÿZBBÿ_IIÿ°««ÿÈÈÈÿÆÆÆÿÂÂÂÿÒÒÒÿžžžÿSSSÿÿ5ÿÿnÿ«Ñ###ÿÛÛÛÿª©©ÿK;:ÿhl`ÿmwhÿmwhÿiseÿ!aÿ€ÿ%Žÿ’¬ëÿ~•ÿÿƒš×ÿ‡ÿ€ÿ$#Yÿc\Vÿ]OLÿWCBÿT?@ÿš’’ÿÇÇÇÿÈÈÈÿÅÅÅÿÑÑÑÿ«««ÿhhhÿÿ ÿyÿnÿ«°ÿÀÀÀÿÆÆÆÿH;;ÿji`ÿv}qÿv~qÿw~qÿ7:`ÿ}ÿ~ÿJX©ÿ`q·ÿ>Iœÿ€ÿ€ÿ,._ÿtyoÿx}rÿqohÿcYUÿƒxxÿËËËÿÈÈÈÿÇÇÇÿÌÌÌÿºººÿwwwÿÿÿnÿnÿ«‰ÿÿÜÜÜÿMCCÿgb\ÿ€„zÿ€„zÿ…{ÿSUgÿtÿ€ÿÿ}ÿ€ÿÿ,,jÿijgÿ„‡~ÿ„‡~ÿ…‡~ÿzyrÿnccÿÄÄÄÿÆÆÆÿÄÄÄÿÆÆÆÿÅÅÅÿƒƒƒÿ(((ÿÿ\ÿnÿ«aüvvvÿíííÿ\VVÿ`WTÿ‰ŠƒÿŠ‹ƒÿ‹‹„ÿ|}vÿAAjÿjÿqÿ|ÿzÿ55qÿzztÿ†ÿ‰ˆ‚ÿ€~xÿrniÿaYWÿSHHÿ¹··ÿÉÉÉÿÉÉÉÿÉÉÉÿÍÍÍÿÿ>>>ÿÿGÿnÿ«;ñPPPÿñññÿvrrÿSIHÿˆÿ”’ÿ•’ÿ•’ÿ•“Žÿ‹ˆ…ÿolxÿKIoÿC@fÿrmkÿtmkÿbZXÿRIHÿPGGÿ[STÿtnoÿŽ‹‹ÿÆÆÆÿÊÊÊÿÉÉÉÿÉÉÉÿÚÚÚÿ¦¦¦ÿ@@@ÿÿ:ÿnÿ«Ü///ÿåååÿ“‘‘ÿF<<ÿ•‹ÿ ™—ÿ ™—ÿŸ˜–ÿ—ÿ‰ÿvmlÿaWWÿPFFÿTKKÿe^^ÿ€{|ÿ››ÿ¸··ÿÈÈÈÿÑÑÑÿÑÑÑÿÐÐÐÿÈÈÈÿ´´´ÿ–––ÿsssÿ@@@ÿ ÿÿ3ÿ=ñ{ ¿ÿÍÍÍÿ²±±ÿ@66ÿ„zyÿ‰ÿukkÿ`VVÿUKKÿZRSÿpjjÿŽŠŠÿ­¬¬ÿÆÆÆÿÖÖÖÿÛÛÛÿÛÛÛÿÔÔÔÿÃÃÃÿ¦¦¦ÿÿYYYÿ333ÿÿÿÿÿÿý°S˜ÿ­­­ÿÍÍÍÿA9:ÿUKLÿaZZÿ}xxÿššÿ½¼¼ÿÕÕÕÿâââÿäääÿàààÿÑÑÑÿ···ÿ‘‘‘ÿjjjÿAAAÿÿ ÿÿÿÿÿ"ÿ6ÿ#ÿ Ékqþ‰‰‰ÿñññÿ¹¸¸ÿÎÍÍÿãããÿîîîÿìììÿàààÿÈÈÈÿ¥¥¥ÿ{{{ÿQQQÿ,,,ÿÿÿÿÿ ÿÿ-ÿEÿ\ÿnÿ[ÿ8â …'IöZZZÿöööÿïïïÿÙÙÙÿ¹¹¹ÿŽŽŽÿcccÿ999ÿÿÿÿþôÞæÿPÿfÿuÿ}ÿ€ÿnÿAõž@"Õ ÿ[[[ÿLLLÿ$$$ÿ ÿÿÿûëÍ£tF"?@ômÿ€ÿxÿKþ'·ZuêúúôÞºŒ]2Y'¶;þ2Ðs6QRB! O-ÿáàÃÿÿ€ÿÿ?üðà€€€€€€€€€€€€€€€À€€€€ÿ€ÿÀÿÀÿÀÿÀÿÀÿàÿàÿàÿàÿàÿàÿðÿðÿðÿðÿðÿøÿÿøÿÿøxÿÿüþ?ÿÿÿÿÿÿÿÿ( @  K?b¨,W†ú(Ozá 2„^Ÿåþ---ÿþÈ‚YHB‡/×FþCº]23Q*R~ì=x¹ÿ7l¦ÿ$Flÿ ÿ ö@@@ÿxxxÿ«««ÿµµµÿÿ:::ÿ㟓'Ð>þSÿSÿbÿPö<¡C$7w&LuÔ7k¥ÿ1`”ÿ9Xÿ ÿ ÿ^^^ÿšššÿÈÈÈÿÏÏÏÿÍÍÍÿÊÊÊÿ¨¨¨ÿŒŒŒÿJJJÿýøAÿSÿSÿSÿSÿ_ÿkÿQå0ˆ*^#Ej».ZŠÿ+Uƒÿ.Gÿ ÿ777ÿzzzÿ¹¹¹ÿÙÙÙÿÓÓÓÿºººÿ®®®ÿ½½½ÿÒÒÒÿ­­­ÿÿ†††ÿ___ÿ(((ÿÿ6ÿSÿSÿSÿSÿZÿoÿkÿKÌ o 7?`ê%Hoÿ$7ÿÿOOOÿ•••ÿÑÑÑÿàààÿÛÛÛÿ¥¥¥ÿœœœÿ¢¢¢ÿºººÿÎÎÎÿäääÿ¾¾¾ÿ‡‡‡ÿ………ÿ………ÿvvvÿ===ÿ ÿ&ÿJÿSÿSÿSÿUÿiÿ€ÿUþ?ó ÿhhhÿ¯¯¯ÿåååÿèèèÿåååÿáááÿÕÕÕÿ²²²ÿÌÌÌÿÜÜÜÿäääÿèèèÿæææÿÑÑÑÿ¨¨¨ÿ†††ÿÿÿ~~~ÿSSSÿÿÿ1ÿLÿSÿSÿfÿ}ÿlþ_%%%þ¸¸¸ÿóóóÿðððÿíííÿéééÿåååÿâââÿãããÿçççÿèèèÿåååÿÚÚÚÿÐÐÐÿËËËÿËËËÿÍÍÍÿ³³³ÿ“““ÿÿ}}}ÿ}}}ÿeeeÿ222ÿÿ#ÿLÿUÿmÿ€ÿlþp777ÿêêêÿõõõÿñññÿíííÿëëëÿìììÿìììÿèèèÿÞÞÞÿÓÓÓÿÌÌÌÿËËËÿËËËÿËËËÿËËËÿËËËÿËËËÿÀÀÀÿ   ÿÿyyyÿxxxÿvvvÿKKKÿ ÿ1ÿWÿeÿ|ÿlþz:::ÿìììÿöööÿóóóÿñññÿëëëÿâââÿÖÖÖÿÎÎÎÿ¸¸¸ÿ———ÿyyyÿgggÿ```ÿhhhÿ{{{ÿ™™™ÿºººÿËËËÿËËËÿ¯¯¯ÿÿvvvÿ{{{ÿ‚‚‚ÿ&&&ÿ-ÿvÿ~ÿ€ÿlþv555ÿêêêÿòòòÿçççÿÚÚÚÿÐÐÐÿËËËÿ¶¶¶ÿgggÿAAAÿCCCÿTTTÿVVVÿ888ÿÿÿ ÿ111ÿuuuÿËËËÿËËËÿ¿¿¿ÿÿ„„„ÿ€€€ÿ111ÿ+ÿ~ÿ€ÿ€ÿlþP ö„„„ÿÙÙÙÿÑÑÑÿËËËÿËËËÿºººÿWWWÿSSSÿ~~~ÿqqqÿKKKÿ"""ÿÿ888ÿeeeÿrrrÿAAAÿÿsssÿÌÌÌÿÒÒÒÿÜÜÜÿÉÉÉÿ   ÿ888ÿ"ÿzÿ€ÿ€ÿlþ;"5ó ÿHHHÿŠŠŠÿÇÇÇÿËËËÿ|||ÿ'''ÿKKKÿ"""ÿÿ777ÿmmmÿ   ÿÄÄÄÿËËËÿ¾¾¾ÿÿ ÿDDDÿÚÚÚÿçççÿêêêÿæææÿ°°°ÿ000ÿ&ÿzÿ€ÿ€ÿlþ;/]ó,V„ÿ)@ÿ ÿHHHÿUUUÿ ÿÿ999ÿqqqÿ¦¦¦ÿÌÌÌÿÖÖÖÿÒÒÒÿÏÏÏÿÌÌÌÿËËËÿžžžÿÿHHHÿÝÝÝÿÇÇÇÿ’’’ÿYYYÿ###ÿ ÿLÿ€ÿ€ÿ€ÿjþ":X¸&Ktÿ5Qÿÿÿ;;;ÿuuuÿ®®®ÿÖÖÖÿàààÿÝÝÝÿØØØÿÆÃÃÿ¸¯®ÿËÊÊÿÌÌÌÿÐÐÐÿ³³³ÿ666ÿ(((ÿPPPÿÿ ÿÿ=ÿ^ÿ€ÿ€ÿ€ÿdÿF¿ ¥ ÿ===ÿzzzÿµµµÿßßßÿêêêÿçççÿáááÿÎËËÿµª©ÿˆ‡ÿ‘omÿ’igÿ¿´³ÿÍÍÍÿÍÍÍÿ¾¾¾ÿPPPÿÿ"ÿAÿ`ÿwÿ€ÿ€ÿ€ÿpÿMØ'z5 ñÿçççÿõõõÿñññÿëëëÿÔÑÑÿ·¬«ÿ£‹Šÿ“pnÿG`1ÿ0c ÿTa8ÿy_Qÿµ¡ ÿÍÍÍÿËËËÿÆÆÆÿjjjÿÿOÿÿ€ÿ€ÿ€ÿzÿSï5”7+ 纺ºÿ÷÷÷ÿÝÚÚÿ½²±ÿz‰ÿ_k„ÿo[eÿ†^_ÿIb1ÿoÿ ÿ{ÿkÿІxÿÊÊÊÿÆÆÆÿÊÊÊÿ†††ÿÿ )ÿ7ÿfÿÿ\ûA¬ OÍ”””ÿÀ»»ÿ}a`ÿZ`zÿ8o«ÿ@{»ÿ@u±ÿ9fwÿnÿ!….ÿf—ÿMŸkÿzÿfsTÿÈÆÆÿÊÊÊÿÍÍÍÿœœœÿ ÿFÿnÿ?ÿ.×g«nnnÿº··ÿTQbÿwµÿk˜Èÿ ¼Ýÿh•Çÿ=y·ÿn-ÿÿ$ˆ2ÿ}ÿj ÿOV9ÿ³©©ÿËËËÿÊÊÊÿ»»»ÿOOOÿÿwÿyÿ2’Z)))ûÌÌÌÿ`X]ÿ@o¦ÿG~»ÿ`ÆÿF}ºÿ0_¢ÿ 0VÿB+ÿaÿ fÿCP0ÿmNMÿ ’’ÿÊÊÊÿÆÆÆÿÄÄÄÿiiiÿÿjÿyÿ2’6îÂÂÂÿtiiÿJZrÿ@j–ÿ>v²ÿ0^£ÿ€ÿ|ÿ|ÿkÿ$(GÿeIIÿeIIÿ‰xxÿÈÈÈÿÄÄÄÿÈÈÈÿƒƒƒÿÿWÿyÿ2’Ù§§§ÿŒ„„ÿ_YPÿ]j]ÿNbeÿ"nÿ{ÿN\±ÿ\l»ÿƒÿ^ÿYBBÿ]DDÿr_^ÿÃÂÂÿÈÈÈÿÊÊÊÿ™™™ÿ!!!ÿAÿyÿ2’ º€€€ÿ¤  ÿYTMÿmwhÿkugÿ'*gÿ†ÿm€Ñÿƒ›âÿ!'“ÿmÿZSSÿ^OMÿ_MMÿ³¯¯ÿÇÇÇÿËËËÿ¬¬¬ÿ888ÿ*ÿwÿ2’’XXXÿ½»»ÿYPMÿztÿ{vÿCFkÿ}ÿ!'Žÿ(/“ÿ€ÿ12nÿw{rÿ}€wÿmfaÿ¡œœÿÇÇÇÿÇÇÇÿ···ÿMMMÿÿnÿ2’l666þÉÈÈÿZRQÿ„ƒ|ÿŠ‹„ÿrsvÿ88sÿsÿxÿ87uÿxwqÿ€~xÿqmiÿa[XÿŠ‹ÿÈÈÈÿÇÇÇÿÃÃÃÿhhhÿÿ`ÿ2’DôÅÅÅÿb[[ÿŠ„ÿš–’ÿš•’ÿ“ŠÿwquÿQK_ÿaZYÿibbÿvppÿŠ……ÿ£ ¡ÿ¿¾¾ÿÉÉÉÿºººÿ¥¥¥ÿSSSÿ ÿHÿ.% â³³³ÿtooÿtiiÿ{qqÿrjiÿskkÿƒ}}ÿš––ÿ¶´´ÿÈÈÈÿÊÊÊÿ´´´ÿ’’’ÿkkkÿEEEÿ$$$ÿ ÿÿÞ€ Çÿ¨¦¦ÿŠŠÿ«¨¨ÿÊÈÉÿÒÒÒÿÉÉÉÿ¨¨¨ÿ€€€ÿVVVÿ000ÿÿÿÿ/ÿCÿ2óš= ```ÿàààÿÀÀÀÿ•••ÿjjjÿ???ÿþ óÜÉöQÿgÿwÿ\þB³ V`ó)))ýúéÊžpB ]E»XþKÌoH`P/O)þ?øðÀ€€€€€€€€€€€€€€€€ÀÀÀÀÀààÿàÿàÿàÿð>?ÿÿÿÿÿ(  AdY+U„·&Jrÿ*6Dß]]]凇‡ÿlllÿ'''È­>ÔTÿP¿Ia ##Elž9UôDViÿxz|ÿ¤¤¤ÿ¹¹¹ÿÈÈÈÿ±±±ÿnnnÿ6@6þ0ÿPÿXÿ[ø_¦ ^T_kû“””ÿÒÒÒÿßßßÿÌÌÌÿÎÎÎÿÚÚÚÿÅÅÅÿ™™™ÿ~~~ÿHHHÿ4ÿ>ÿXÿsÿs±±±ÿñññÿìììÿãããÿÖÖÖÿ¿¿¿ÿ®®®ÿ···ÿ¾¾¾ÿ¡¡¡ÿÿZZZÿ.ÿXÿrÿn   ÿäääÿ×××ÿ’’’ÿ{{{ÿXXXÿ444ÿ???ÿaaaÿŸŸŸÿ²²²ÿšššÿ7C7ÿhÿzÿ*Y@O_û{{{ÿœœœÿGGGÿUUUÿfffÿ………ÿ«««ÿkkkÿgggÿÙÙÙÿ¯¯¯ÿ9C9ÿfÿzÿ6Q87Së*19ÿoooÿ’’’ÿ¼»»ÿ¼¼ÿ½±±ÿÍÌÌÿ˜˜˜ÿ333ÿHZHÿEÿQÿ|ÿfÍ GqrsûÌÌÌÿÇÊÏÿ²¦¨ÿ~„lÿPo>ÿltSÿÆÁÀÿ¯¯¯ÿ2ÿQÿ~ÿiæXˆ*?~~ò””¡ÿZ}¨ÿPs–ÿ+w:ÿC—\ÿ35ÿ¯±©ÿ¿¿¿ÿ99LÿHÿ3Á0E dccßnyÿ_Äÿ]ŽÃÿfGÿ)‚<ÿ(f ÿš–ÿÆÆÆÿXX_ÿ_ÿJ OOOÀ€‡ÿMp‘ÿ)K˜ÿ'„ÿ)XÿKBBÿÿÈÈÈÿxxxÿMÿJ222‰…ƒÿhmbÿ39pÿ@L®ÿ.6™ÿNFZÿ{pnÿÂÁÁÿ•••ÿBÿJt…‚‚ÿzxsÿgf|ÿ44~ÿ;9uÿusnÿ„€}ÿ¹¸¸ÿ¤¤¤ÿ;ÿ<‹ Mwuvøzzÿ”Žÿ”‘ÿ“ÿ‰ˆˆÿsruÿWWcÿ11>ü ®"C*eee凅…ÿjjjòQQQØ///µ +ÉKÿIÇ:iWc>BQ&à€€€€€€€€€€€ÀÀÀ?ÿÿpioneers-15.5/server/gtk/pioneers-server.png0000644000175000017500000010233213252243607016147 00000000000000‰PNG  IHDR\r¨fbKGDÿÿÿ ½§“ IDATxœìw|õýÿŸwšÞ{o;ÎÞ!„B€°Ã*”Ý–¶è ”Zúí·ãGßïº m¶Ð…¥ìUÂJX ÙÃÙÓ¶–­aIÖ¸»ß)’%Ë'[²•įÇC8Ü}ü¹Î÷yÝ{¿ŽNˆ@'Ð þÿ¡‡ÿí < Ìq·ßF½w÷ÿpMä¢&1‰T€ó‡P7²2ŠOØ<|8¨Ï/1ÁO=$Þ;ê=ÑMØê&1‰a0 x“Ñmz-ðp7pp:P>.ßlü°XÃÈ÷bÍ᱓˜DNàbÀIö6ªO7ð ðKàFà$T•ãhBªÄ#“ÞwhÿåNbGp`b6ªÏà9à€O ¼,݃Ñ"øàeôßÓ{xŽüq]ù$&º©rqó$1<üU×^Äøƒ\ìi½ù‡?#;<×5‡çžÄ1„\ýƒ¢ê¢S'z!@è6›€-ÀF`7 eøZ _§¦$ €3ÿ{%ð޶Å|€j(|glËœD® W à×ÀW&zY†ØÊbˆÃÞQÌUêÆ»™¬ømÀr fÈq;ð°cäk)Àßo½i¯t9…\$€*`¹§S<ÀvT2Øósêæ‹…øðC $Õ¤åÀYÀ¬.¾x°¼N/p'ªº38òðIä"r‘~Ü>Ñ‹ÈA8Qc¶ ªG&T#iJ5ÉœŒê×Ók¼„*뿎¦½øðOÓO"‡k ’(¡Nb˜‡éT8Êß÷¡G|€êC¯_CµoLâ(A®À9ÀËéü‚(ŠÜyç|úÓŸÆjµÒÛÛ‹,««×ë% 100@?6›;w²mÛ6¶oßÎàà±+¹¡†8VÕ‡?Uh—bѼˆª—€0ðgà{hÒ"&1ÑÈ5øð­ƒu:O>ù$ýèG£ÇE! ¡( ²,‡‘$ I’P”#*´$IìÛ·-[¶°uëV¶nÝÊ–-[Ø»w/’”iã|n@Ê8B5‡V -þ· Õ>àyh?ª]â÷Læ^ä4r6³µþÙÏ~Æ-·Ü‚Ñh@„èTé @Y–‘$)J±Ä …ؽ{7]]]tuu±~ýz¶mÛÆþýûãÆKQ-ˆi¡ Uz¨$1Ë*¼‡—yêmÀ­¨¼1‰D.€UíÔ$¥ÎŸ?Ÿwß}7é¹ÈFUQ£¤!„ȱ‚AõQŽH rˆÝðn·›={öDI¡««‹M›6áp8Fó] PI šx5¢5½ò?ÀzmS=‹jØ•…eNb È%èDuiºuë˜1cFÒ·r,ÄþŒýw„"ŸÈÿÇÃpªDÄÆ`±X¢6…mÛ¶E âX¶/˜8"-˜PÝþjÚñ÷Qùc9€\"€ PãëGÄÂ… yçwRnþاsLEt:‚ $üŒ #Ër‚*!†p8Ì¡C‡âTˆíÛ·³}ûö8ò8Ö ¨=¨®ÞûÉ|$ä$ÒÄhŒÂÙ­Ï;Léã‘MA¬Ä ÓéÐétQIÁh4ÆÙ"$ Ë2EEEL:•óÏ??:_0dÏž=Q¢««‹uëÖa±X²ò]Æÿ"uÀQ˜¾ ¼½Mb$•0kÖHñlÚ¡•H";¢D~7"1Ä’ƒÁ`Àd2Å]#¢>”––2wîܨÔàt:TˆM›6áõz3ö=só€·+ðj~A$òñØÕŸr ¹¤¼€¦>"Þ}÷]æÏŸŸô\º*ÀXU†áÎ ‚€^¯G¯×Ç„N§‹kW게µ/DT‰­[·F–Ç($Ôˆäɓ،j MຎIäì@£`³Ù(**Jz.Û›}¬óŠ¢%…Xr0 qã#ªH¬A’$‚Á`œ›2B]]]Ǭ›ò0b³*7r$«r“¶„Q#W@³ °®®Ž={ö {~"Þö™8‘ CA¤"†X‚p»ÝQbˆ•l¶c> /’U‘Ö f8Oª+ Ùxê©§òÊ+¯ {>—Þö™˜#bSJ‘à§b=‰!ÓßßU!"RÆ ðûýÉnß±‚AT‰2óÿ»€UÀÓ¨žˆI; Ùxýõ×s÷Ýw{>²y~úƒGðzÕ‚B9e&s´ÑÐX‘0.×U†áŽE$£ÑG f³9î~ÄÚ"îË@ Àþýû£„‘vîÜy̆AÇ ܇¡˜àµL8rÅ  Ù0eÊÈCûûøý¯ž‰þÿ_ïU%^GiYÍÍUÌœÓÂ)§ÍdöÜVš[ª²¦?gbÞdsȲL0$ &• F£1J yyñå*++™7o^œÁï÷³sçÎ8IaÛ¶mìÛ§! èèÕy ðE y8éq‚\‘~Ü¢eàc=—ü3Š¢°þÃÝ\pæ÷4_\oÐQYYL[{-³çµð‘¥3˜3¯•òŠ#†ÆcAbˆ¸'#¡×ë1›ÍqANCm áp§ÓɦM›â"7mÚD__ßp·ôhAøêów\"W@³ píڵ̘1cØóŠ¢ðï'ÞáK7üvÌ‹2õTUÓ9½y Ú8ié fÍn&¿À½V²Ÿc96Þ$ hŠ%½^O~~~1 U', 7nŒËèêê:àoBÍD=î+ É(Š"}}} zn,Eá7w>ÅÿÜñX&׳Ù@Mmíu,ùÈT/é¤sZFÓêh12w,Vbˆ%†‚‚‚8bP%Nƒtww³~ýzÖ­[%…;vär´LGMk8®  ÙØÚÚʶmÛRŽQ…[oþ#>ôF†–§ ‚ Ÿo¤¾¡‚©ÓXpB;KNžNk{5:][²Ÿ™>6ƒÉdÂl6c0ÐétÆ…E+J|ÕÀÀ»víbݺulݺ•íÛ·³víZ¬VkªÛ:žx¸d¢1ÞÈÐì<ûì³yöÙgSŽQ…+.ü1ï¬Üšp®½³žs.X„ÛåÅÚëÄjéÇÚëÄnu!IÙy;‰‚@aqõå̘Õ̉'u2cVµ ëŽý©õX®HÄ+a6›£Rƒ^¯§°°0!ú1–\.»víbõêÕlݺu¢Ã ¯ˆ Or4»oºé&~ùË_{>ò0ž0óËôt'¨®ûÂr›*ŽK’ŒÃáÆÖëÄÒÛÕâÄfuâêÏÞC¨Óë()ͧ±±‚i39é”i,XÔNEåð†Ç\ÙìéÌ1Tbˆ¨C‰ˆ3<öõõ±qãFV¯^ͦM›èêê0è­ÀÌl^ × ðÔ>#â®»îâæ›oö¼¢(CL©¿YNtÝú+ÈÏÞ~0ƒƒA¬§úééÇféÇjuÌ^HºÞ £¢¼æÖjæÌoañILÑ@yyaÎlöḺ1äååEU ƒÁ@qq1z}¼6ÝÛÛ˶mÛx÷ÝwY½zu6ª5ˆZõ¸@.€fà¿ÿýoÎ;ï¼aÏ+ŠÂŽ®C,[r[Â9Sž‘Û¾{Õ¨‹«Õ‰Ýæ¢ç`v««Å•Õ “É@eu1­mÕÌšÛÌâ“:™1³sÞ‘ˆÀ‰~Ûgj^£ÑˆÙl&??£ÑˆÑhLJ UÂçó±ÿ~6oÞÌo¼ÁöíÛñz½twwsðàÁ„{9¾ˆš®|\ @³ póæÍttt {^Q^yñC®»æÎ„suõåÜð¥ F½È‘ I2}}lÕ¦ÐÛ݇Í⢿ߓµk‚J õ e´O©eöüNXÜA[G F“>gÞö£™#ùw5QTTDkkkB½ÇعœN'ï¿ÿ><ðo½õVº$ðkÔòeÇr!PS Ñh¤¥¥eÄqûö$/®QZ‘<{0SÐéDªªJ¨ªŠoÐã÷°ÛÜØ­Nl=Ý}Xzú3S,7±g·•=»­üçå ÀDM])Óg6²`Q³æ6ÓÒV…(¦Çù­ÇŒ@ €,ËìÛ·ÒÒRJKKã\’ ~÷½{÷²zõj¦M›† <õÔSø|>­—Y”ñ…ç0&š hìAßÚÚš &Ãþ}ɳßÊÊ Q´Ö¬É ÌyF›+ilŽ7>¸éév`³¹°[\ôv;°ÛÜÙpŠ¢àõؽÓÂîžz ã‘h(cÊ´:–œ<•é3¨«OÜH™D&I$ a³Ù°Ùl”––ÒÙÙ·ö7F=E¢(2}út–-[ÆóÏ?¯õÕ[ìQ€‰&€V­kèììÔ4á°@Y²”;o³üõttÖGI²DŸc€Þî>ìVv›‹îC|™‰¬“·Ë‡ÛåcÛ–C<û¯Õèô"ÅÅù46•3uFóµ2w~ åé÷O‰Áétb·Û©ªªÀãñðâ‹/&Œ›3g¯¾úªVBrÝâÅD€¶]vØ; • %ñ äDÊ+Š)¯(F–eú6*ÊkôqØ]ôöôa·¸pØÝôv;‡3» …eúûèï`ãúý<ñµû·Þ £¬¬€ÆæJfÎVƒ›:§×RR’Ÿ‘ëfáðUêÝwßM† ©®®Öj 8®Z›5Êø,+ØŸ\())œÐPT­Ôcµäõo°~Íë øX¾üZN9åBj*¨mˆIg–}6› K¯‡Õ…ËåÍØ[8’°YÝØ¬nÖ®ÞÍC} £QOEUÍ-•LŸÕÀÂÅmLV‡ÉlaÆÌ#Öó2\”h Ф>Æ¡±¯êèÁDÀÈ»ú0´H½=}á„úÔ:H~9g%¯×͆ +Y·fÝÖ4é œaž}é!,½û¹ø£7¢ÓÅÿ¹Ê+Š(¯(bÊôÆè±` „ÃæÂnsã°»±ööc³8 eÈè Iôv;éívòþ;;yð¾7È/0S[WBû”jNXÒÁÌ9ÔÖ•¦œk¬d‘<Ngò¦eUUUé„wiAG&š2ªìÛcU»!Ä98KÊŠPñ5h§¾X8b×®¬ÿðu¶mÿBQÇœpˆËŠð‘@£Yæ‘ +ù³õ ×|â6ò ŠSΫ3è©®¯ º¾"î¸`Ko?}v7}7Ö^'ý}” ’¢Ï`÷N+»wZyõÅM\rÅbnþú¹›?"%ÓR•V÷ù|éx¶Œ}UG&š4¹óòò¨««qÜþ}Ö¤ÖìÒÒä,Åú§‹žž=¬_ÿ&׿…1M–ù¤"Ó&ËIƒ2j¥0ÿèÝǽø¿öÛTU5¤}]s¾‰–öZZÚä H²‚»ko?}}7ö^'^ofŒŽmñõl °Züí‡^'Í„£ÍZÚQ‰$Í.À)S¦ ø‹}{­¢ðò-.)`"n·ƒM›V±nõ«ô»´‰:ΓÂÌ@-O3Š€ÏJažöº¸ïÞïñ±Ëo¡sê±/L(./¢¸<>F"Òïðà°8és¸éwx°Û\„CéE:¶uT}) B´:tì&!ŽÒ jIòãI­Z¯¯Õ°Ÿ AAˆßíEeDÝÌ2D àcûöÙ¸öuöè¢Jo`a8Ä| PJ_ד%VÊ2ÿ|ì—,;ãJ>ò‘‹2ºæŒ=5µeÔÔ–EÉ( ¸ü8û<ج.\}núûpö $}³ ‚@skbâU&a6›£ EC7y, ¤Qy¢â8a" @³þ¯¥ ¢(ØkCâ…é‚¢|¤¡i$E‘Ù·o+›6¼A×¶0 ³ÂaÎêÂcO €¥(”+ ÿzýŸ8ì=œwþõˆ¢nÄß; Šò)(ʧ¡¥&z4 ³wg+Wlˆ]]SLAiè$EIJ/ËrÒòdHCØ”¹Õ8fàÀ;b‚.]XœŸ4;pÌ8<¥Ý~ˆÍ›ÞfÓú× ýLCà Y¢“ìD•ÌÊe™‡7¯âaÛ!.½âVòóÓÚÉtz‘ú¦JÄ!¶—tÅÿÑØ"¥Ñ’$%ˆþ ’@Àq¥ÿÃÄ€æJÀZTÛÛåKxA  0/NÈ„Ã!þþ—ïáè·Ð¢ÓqÎa½>»ï=ãà#Ö}<ôÀÿãcWÞFyÅȆÒl@ÕöƒÖöìGÔF*§Òÿ=O:=&%€qDFKG=C^ÿæ<¢ND΂ÚáèÆÞßË-@Å(ôú±¢¸^ ó¯'=x;_úZZ4N/»§³ß›à}ii­ft$WÁËÞ½{),,¤¨¨ˆ¢¢¢„!#¡¤DM¼ú†õLzR#çU€’’’h¬w*ìßkKê,*Î#[@«õ Å:ÒÄõ¬4W6>ùø]œ¼ôrN8qiÏc` g¿'áÞ$ø|>@NÇž={¢Vý¢¢"ÊËËSFïétº`2ñ?ÖëÀ~­ƒL€f-5{öÛD‘¡Ñ>Eù(Yb»íÕa8ã`™¢ðÔÊ'põõ²ì¬OgÄ8¨åÛy\~õÞ†N'ÒФz†Óí#¿ªªŠ9sæàõz±ÙlX,vìØ­T]]MYYYÉÄV†Ž¼å“‘@šúÿÄÿ1ÇEm¨$0"´ÀÁýö¤*@~Q^¢ #°[öÑ8¢ÿp˜…j|dÛ;<å´°üâ[0™ ²xEõ¾z\ñ*@cS9Cjò)(( ¼¼œÒÒRü~?áp˜P(„Ùl¦©©‰úúzl6¡PˆiÓ¦át: …ŽHZé àv»£ÇÇpÜéÿ0q©šõ-I@ €(‚÷É+0#)dè£Ä|dúìr.y¼Õ8îÝÍ?ºG_7²"gé£ Ë ^Q¢ŸÖ¶‘ýÿeeeäçç  ˆ¢H~~>%%%ˆ¢H?6›ššE‰Ëúµ:$ÃÇ’QpÜéÿ0q@æ]€ `ò Ìw ôãñ{rŽ@5~V ó¤×É“ÿø1ç\øe‡ï¦4tï± „ãî}s àPD6÷з{SSmmmèt:ü~‚h¯Eÿw¹\ét)š$€qDF]€Á`›Í… Cƒ1ç›ÆDÃý¦Ývª1¨2jC„-€UÌŠªËwsÑfÞ«e™×ä Ïÿû—œvæg˜:í#£^ëPH’‚å mö$¸[4H0¼} B Cßú±êHFizŽK ç @‹ Ð}Ð,“`ÐéEôCVÒ€Žƒ”ëôèGéØ ¼ ×a K”0cJ eÅô9=lض›>?+DSe…S]õV8 …^,=»˜Ò9<h½C@€Þ½6íSßü@‚ä•íàH¥`HŒ€#Ä’89ÎÒ€#Èi ªªŠÒÒÔùäZüφÿ ÏqˆetÞ…ÕÀ ‚À© gñÐÍŸ`Ù‰ó¢íÃÂ’Äëïmà§÷<«ï­ç€ p¥¢ŒúÕ'ê˜ZÞ0ê{¡(à´»é=`ÇÑÛSÛ?Ñ„d2¨ªN,ÀšÉLÀˆþjàPL†kÇD@Æ]€8gÆ“@^~Ù*ä´îešœ~€­ÀK:‘{~ø>wÕùIÇèu:Î>ygŸ¼€?=ú<·üð÷<-I\6ŠMúå0¥¥õi‡C‡ÃŽž~º÷Ùð‰¦KU@´¹¥œ,ÖŽxÜn7ƒƒƒ™ˆ8.õ˜ÈŠ P„1Ö”gBRä¬xwû½i½À3=ßõm®X~ª¦ßùüÕPQZÌU_¹ƒ@º¦<;j1ТÒ:ͪ×åÃÖíÀÑãD>LrZˉ§ŠÌ"1±€¡$ (Êd€Ld4 û`_Òc¾­Rúˆ[#f€ßçb04HÍð£“â£_´,ùæß¾zl0”ċЗŸ·”[>u þã9fÓ³9Xs!CAJi( áèíÇÑÓGÀˆO·\xcsyZãGƒd5 ž"ÒFLªãˆŒ»t.£Ù”•,Àþ¾ƒè‘²4l2°Y§ãÑ[?›xò®?Ó/ôvøæÿÀ¯¾ §Äü¸ý–Oqï?ž£ÕׯV ¤´åðZcq;Üô[œxœÞhåXz¤ãŒ û@l»Ýžô¼¢(éˆÿ0)Œ+2êT…žçaƒTüƒd0é³R ¸¿ÿ•¢1ã`jsõÕC6H¿ x ^ù3ÔT oÂ]I €²’B.8}1{^Y•XD=ÅMªø/€"ƒ×åÅesâ²{¢÷G"ÿIí„Ð4‚ …e9jÅO±E@l6[‚åTHÃDåÉã9K‚ ÐÞÞ>â8»ÍM`0”à‹½Ñ•R`ξnjäôB€íÀ¢yÓO¸½`ÐCÕab¨,ƒä,—ž8—ÇÞøÒP,L+©gÀéÃåpãqxÂGŒ—É,ù£EQ‘™’Ò¼”ot»ÝΡC‡âš~–””ÄÅö§B¤èÐ" CmiH.­Eä¬ ÐÐÐ@~þÈa0‡"ú?û¦2˜ôÈJb}ÀD¤ÏnÇ>¦¦i‘÷¥eI*ú¶ÔÃ’¹ðŸÃé‹áÁ§à’3“ÎQ[UŽb0h&€à–¸{%m¢Ç³Õ¬¹udýßçó¡Óéhll¤¢¢·ÛM___´joaa!eeeF‚Á ƒ!®d„"E@bKiH»oȸ ðÐA¢˜Xò[Õÿ3/þ+Š‚ÛcOÛ`öèM<ñÛ¿ÁÖ]°xüñQ(+†/}"é.cŠè¸¡°]v{ÿEÉŒ ™k®®®ŽŽŽL&’$Q\\Lqqqtl0Äï÷300@(¢¬¬,Îïy)DÄÿd×ey’4b¼ @³ P«0^8½É•¯ÇNX§MeÀ«‡›n¸çðÆß ª$ >y<ý\rVÂ+ß]OE@S;,@ž¡½n|:ö45—¥<¯( yyªŠ £º¼×ëÅåraµZñxjùÎ$\ÎC˜EÅi5–>'o¯ÙÄÒE³œ06ˆétÐP ÖÄè6¯g_ŸÒ¸¦0™«Æåí#c!ËrT„7™LTWWS[[K8Æív300 êt: ÕÚ‡©bÒ̘”Æo:œ õY©àruS%ˆ@z`f(ðõÝÍ»OþN ý--†+χkoƒŽ~Xù!Üz}Âïßyï?i–eÒÉîïô˜Í55ô Ahh9l;dYFEJKK“†€GjBê2`iºµ‹TÇ Æ»@惀ºUZ@Ô%2þñô¢v” @§Kë»öðõŸþáÈÁÛo†¯}zm êà±_«R@ ^Yù!?ûÃ#œâO¯c …¥(Œ•+P`,E7.]ƒ±h&P\¬ÆQ¤ v:éxŽ{Œ'dÜØÝÝ ŠCºH°ÈX1èwÑsp ÖïãrÛ˜ÝTNK{9OíêÃ.+,ÃÜÀM²ÂN``íµÓÓk'˜LZÃÒ¨4ÌuÄÿÌåX €#Áh4Æ©HžãK7öt;“fŠ&]ŠœôÔ¼,…±ön¢wÿûX-]Ô–ð±ù,Ÿ·„ú²<Z¹Ÿ{_ÛÍ!>9†\cU'ÒìI½¢Žü¼êqñˆ¢@MMv[“%+2©ÿãIwötGT€øM­Ó뎥‚¢(8ûöгÿz~ˆ^„³fW±|ù|æ4•Ä‘‰ ÀµK›i,ÏãGOná÷ŠÀçdYS›ïñ‚ؙμêqÑÿkëŠÑP EüïééÁáp`2™0 RRR­î;"Ä‘JüE Àqœ#“ÉDccãˆãÂa »Í“Ô yHf=Š"€|Ä:¬È ဗ^Ëì½âp £¦„Ï.­æìÙ3)+Hï=ÞY[ÈýŸ?o=¼‘ûì^. ËLKk†ìÀ D&sɸ\¯¾qäëøý~tAÛ‹Z IDAT:3fÌ //·ÛË墷·EQ¢B"Õ€‹‹‹ãÈ+1çåI3 ð¸GΩššDZz](Jb%`P#Êü6OÌÿK8]»°÷­ÇÞ·â|Ì«â‚Kh®mám•E&þpÃB~úïm<¶ÅÊRYáŒ1Í8vX€Â¼Ä–ÝÙB2 vsJ’Dcc#yyyäçç …0TVVRQQ¢(„B!<f³9i–_²" CI ¯¯`ð¸ìKãEš]€iS`ÀÛƒÕ¶{ßF$9ÈÉ\zþ\¶•ftsõ"·_6“)5…ÜûÚnz…glöô° µê°Á?.@€ºúÄ*À±Ðét”””D“€DQÓðz½8Nl6ƒƒƒ„Ãa–.]Jqqq\&çÐ" ±ˆ%Iñ?}Œd¼ho3Z 8~++ì;ø&6Ç:|~' Û+¸þä6N›Q…IŸ½ 1Ö•šùÉS[¹[Ïɲ¶/=FØ€×€:°¤@•öÝìïy›–mÅGG £QGyyzR”,ËÑ·zaa! ø|>Ün7………ÑÚDܺ’$át:æ›ÔÿGñ"€Ì{’»ì9°‚ÏŸÙÎ fRQ8¾öù³fWS_f涇7ð«\/Éd£NnX ¬Õ xdò€ŠjX¡ÀØûÏ øz™9åcˆbv¨¨®¡d̡Ƃ PPP@AA>Ÿ/A·D…öõõEÉË€M@ú¯d Œ»{»]I“U¼~+fƒžk—¶Œûæ`FC1ýâbê*óù“^d{çÞÜ#ÀÏuð¦<3O·ç@”m:A¹AÆØÆ‡[þL(ìÍlRÐáO}}’*Gc@2Ã^ªàXôö&)¸2‰”/ȼЫª à³ÒZ]”"h|PYdâ7.â”iU<& ¼>†¹~¤ƒ'°6 (¾\®@;ÉÃj@þ¢„·ØÂûëÏ€·'ãP7 H7\8b® PdÎÉ€ô‘S*@aa!55#§Ú( Ø,’Uöù,,nÊKþ‹ã £^ä—ÏäÏoäñÀ›{±*p•Æßuo›õƒaE-)´˜Ja(äÏH„žñ±zã½Ì™v U•ÉÛ‹Œ†3ëRÀXst:]4VÀn·àp8&=£Àx€&¹¾³³SSàŠ³ßK FµÆ÷û{i¯În\z:¸aY­UÜñ¯-‡ƒJRã ¼ | 8QÀÌQ`é5 =(SPê$Ö¿ô-gÐÑzö&<‚ÚÚÔ€±"6r0U À¤þ?:ŒdÜØÛ늆ÇnE‘ðxûh«nH•YÆY³ª©-1ó­‡7ð›Ä a™MmÞé÷昆šÔIf•´“¨€Ýÿ|¯ßÆœéW!Š£ò ›âRq3Hðàà ÑãCI`Rÿƃ2î´ôº’†{}$Y¢½zl‰)ûì>ÞÝáàP¿ŸÁDi¾‘éõE,î(§È<ú[6«±˜¿Þ´˜oþ}w;|ÔJ2‡ôRXAhP*00e/¥–NP®—±>´…÷7ü‰E³¯ÃhHŽ«A¨AüÏ"I@©R€a’F‹ñ €Œ{{\I]€> %ùfJóGçòÚzÈÍï^Ùņ}ª¯Y¯Ó!Érô!3t\²¨žëNo5T޼ù/kÙi÷ œ¦ÀÛe@oÇ¿+ÃH¨ùsaÜæC¼ñî] x-Ã@MíÈöI’ƒÑÖ_‡¯×‹Ùl¦µµ•¥K—rê©§²xñ⸠D$€Xñ? h•r#<,·íG0ã…@-½nµèÒ3ÐKuIyFíÖæv;¹îŠåÊý.— ?÷}ºö`δքó_¸æBÖî¶ã¦W&x—ÕK° mËÜ@ð°Ø ¤×µ<E‡ƒíÞxçX¬[’@$(]ß¿,˃ÁhöŸ$IäååáõzÆÆFÆ"²†´@úÖšcÙ6j6jްx’¾Üž:ªÓ3n· rÝ ³“žóú¹èóÿk/9‹7ïdFG¢ Ó\_M[}=ÎÁ´T®nJõÜ~;A|SD> 'ÄBˆFy®§£-¤å2i…Ì{oÝǹgÞN~~¼}F‹ Š¢$ ïxǰ!À’$iöL@"²MwÚ¬‡Ë€ !Ÿ÷ÓÓ#—/DUybØp âÒ›~ÀÇ/ZÆì©­Li©ÇdL.È´4Táòi·@K²Bw¿_MÛMaÐ=-"m™3³có¦·SU^‚Çëgóν<ÿú¼ðÖäKd5°h4P”oC^^IéV¥I¶é"¶Hª*À}}}„5¶LŸT‘3@G‡6“¸Õêahp¹{h«nMci Ë ý®øîÐ’$sÕWÂ'ÍãKŸ¼˜ß?ô4s¦µ ;G ¤Ð¬ýÑ:àð!ÉJúµÀ%0>d Ô[ÀŸîþ—œý‘„!Ë–ÌåæO~”Û÷ðùïÿŠwÿ¹ .†·o¦†ò‹ÊÚ‹‹¢@Eåè¶“V•!R`h¡$ÐÓÓ£i>=äTåæ\A¶mš ®®.šò9lVjùŽ|B!/¾AoÚ€Úë¶îŽ;¶fó^~{ {XøÍƒOñÒ[k˜Úš<·@Qv°P]¢Ý¾¼ËêU+§Ù`Ðð²ŽV} ëþuOÒÍ‹9SÛxãïwñÉ‹ÏDü·¨V  ¬PZԔд²*½†êJcÉ ˆTЉÅhôÿJ&Ý€ÉmÐôžÓ*þK’L_ŸO5Å\_Áår100€ßŸH¶ÉŠ€$‹HGÿŸô$Ç„@sss\ÖW*ØìÞ„Ž>¢¨£0¿„Ÿ=½Ÿ^=3-‹|,jKÍÜsýBÞî²óâú^V­ÞÀËo¯À¨×1³±˜[/˜Ê êFÝ`d·Õ‹’n8Z1l_u0é©¶ÆZV=öKþòÄËx¼~Î;uE‰ªÐþn¡üôôqÑ¢§¬¡1¡æå@:Žââbt::½^íó± X­Vl6@ iÈdú?Œ>`RüÙ$€Œºv‚_¤°°‚åËoçÍ7ÍZËÿ}bVZ AC±tZ%K§©"·/(Ii7 ]=„JÓóP==}lݵ?!ùìÏ|›þ÷›üì×3àó3íÜxì7ßM˜â‰oáiJ®Ö$… ²C¢lVCÛ‹ ëÄüGŽ ‚€N§£¦¦††5®Âív'øøáHðáôÿtË€MÀðÈ– ã.@'@ N0 ‚HA~9çžó= Ëgó¹ûÖ²j{býøÑ ß¨ËØæ5 0íê¾&0tê¹ãž‡Nµ7Õráç¾Ïw?Ì™Ÿúg<ŸSΊs ÇÆ ¯^í>PÂ2eeM —‘ €ÃAQÂá0~¿ǃÛ펒B, C\¡–8BZûLº‡G¶ ã.@›m e~º^odé)71{ö¥|çÑM<´rÿXÖŸq¸|!<þ´¦ÿ»ƒK‚<òÌë<÷úûqÇÿð£¯ò­Ï]…Çëç럽Œþ綸ó²¬pÝwïDZ §oƒ9üüÒ„û\÷ý_±ªk ÁÒôÇ[¡¬¬!ÁýiÎÓ‘_ ­–ßhɈx b1ñßd¿vñÑ‹lIï•Ä‘?mmK¸ð‚Ûys»—[Ø€3l½la·u£Q7êŒùb…@yˆs>ûm¾ÿ«pyóç#X»e'§~ò<ôâk ^L;V´ê¨,mK|ûRü@ qÄIœŽP|À¾äCæ1úÄé£*Fš›5™ T  ’X 49*+Z¹ð‚ñŸ×îä ÷¯çÿ>1“æŠì¦°¦BWÏá¼1¼9 }ZFxî¸ûa~󷧸hÙN=a5•¥Cavíïæ™ïòÞºmèju„¯— }o%‚EGùôD`eeöï_Äÿ‡« •ªP[§¿ S‚¥Øüøjƒ¦ãJmmm uà†ƒÃáKÚ $ +¸ð‚ðÆ›wóùûÖrÇ•39¡=½Øý±Àî ðÊF ϯ·±×êF0‹`!½PàXA¹Xî·}<òüë<üÌŠ¸!ºzå"/F'ß…@êQ^Þœð®¨Ô.JŒFM!i#Ðd$ •6 ©HRð+Ô>Ë_Eí¼~\ [q Ý‰K¡Ï'9e0æqöÙ·²æÃ'øÆCÿâ–s;¸bI¢ï9S†eVn·óüz+ïïtPTPB[û2®<í4ÖmxŠ]÷¿ƒ|™ÓÇp‘võ£•Pü¨Ên9HÅc,5f…òò¦„€ŠŠì–Õ4™L E@"ˆm "I’f@šÖE¨Â³À-¨EÖŽidƒ2î %¼‡«ÂŽÊž'p¢+)+käîWïf·ÕÇ­4ʊ¦n^Ü`áÕVAGsób.X~ ³‰,úÌÓ¿LUE;ï<ú7µ#P¢í.=˜Ðx§Ó€òŠJ0™âc)ax òvŽ$æ”””DÃyÓADÿ‡ÃQ7a2ñßjµ"IY•Ô/Îþø?TÂ1‰l@Æ]€ƒÈ—oYÊÚ±qc/n÷à¨6¥ãdŠŠªxååÿ¥Û¹‰;®œAázýíwøxu£…ÖÛ°º|46Ìä#'_J{ûIèõÉ­}sç\HiI=/¿ö $GåRyüz4k*Ê[ÄÿÂ"=Cj¢··—ÁÁA$I¢   XVV¦)Ú3BýýýÑ?–à¤0¡vc2+P¥§äÈ~\| xŒ´УÙxô2î)•Lé¬äÊ«çáq²y³…Õdß>'á°ö·AmÍT.»ìy饟qýáÈÁ–4Œ[žÁ0+6[y~½-ú(/«£sÚ¥œ?myyڌɭ- ¹ü£?á™—~J௤k¹›c‚΢§º¼=ÁXYyÄ?Ÿ @Y–Ñétäåå±téR¼^/n·›DQÄ`0ÐßßÏàà`Bp¤x¦B€08‡#÷zª¶ÿ©LÍÀ?€[QíïŽî⹉l8È¿ŠjP»v튆…¦ƒØ‡A’döíëgÍênº¶Yq:µ…¼†B^{íWôölä'WÎ`aÛðÆÁ$óþ®>^Xoce—•ü¼"ÚÚNfúŒ3©¬hM{ý*=<ûÒO± ìAþx8ý(Á,@w§3OúS;O;>A'.©Œ»÷±mÁ%IB–eDQD§ÓÀëõ‡£I@’$á÷ûY¸pa4T8‚™3gRXXȪU«X¿~}ÂÚ"×»÷Þ{Y·nö/Õœ gú±/;FœIþŽ*íˆ'LÈËË£®nìO¼( ´µ•ÓÚZÌÂáð±m«• ë{9pÀ…$%cy,_þmÞÿà1¾þ÷ÇùÊy\~büÒÕãáÅõ½¼¼Q­ýßÚºˆóÎû,­- \d£A^^1—]üc^Yñ[vÿõ]äË%˜:æiG?H!*’xÊËS#‰?¢(¢×ëÉËË£²RÍ©p¹\Øl6, ‡ƒÊÊJ CÄéëëVÿWE»`FÝøsIýª«> ì^@5„&‡€ê)¸ ¸øж˜ÜÄ„À”)S’vƒ+ÊËó8ù”N>¥…`0̾}NÖ¯ïeÛ^ïЀ %'^CII-¿{ùnô rå’†¨^ßÓ便i'ríKÐë3o×ëœέ|°úqÞûÇ?PÎNgUÓlÝ:²(Q^Þ˜„FŽ`ŠÄû‡Ãá8é@§ÓÑÐÐ@sssôÜÐ(¿Ø" ©Ê€§ãàrÒ«¾Ü|µÑÊëÀð¦¦àvTÚøðÏ4®’SÈd´àX`0è˜2¥‚ŽŽr¸ úûýlÙlcýú^z{eõáš1ý JKêxþ…ŸòÄ{¨®ldêŒËY>í4 FI“6N<ñ*Ê+šxé•_¢Ø$ä‹dH³†GZ»@\¯CéR0ç2sêYÌ:ûlô†øÍ.PRª’A’$$IJ Œ«ëþÕÓ,ƒ0)êµ ‹ƒµkó\à T2þrSPƒ¯_6ŽâŠŠL@Æ{¦BºÁ&eeyœ|J'ŸÒD0(±Ÿ“µë,ìèrPß0ƒ«¯þƒƒTUi+P’itN9™²ÒzþõÌüëò5aõ]“ItëÄ:İHGûIÌüèY47 /'—–Ðé2g.Jöwš8fñ¿±Ý»|Tõa>ð"ÃÆÆ™À‡ÀŸï‘J‰È1dš2îÌ ‘Ž)å´w¨Æ?›ÍǦV¶nµã°û‘³˜ð2±[«ºªk¯þÿzö‡ôÝwé㡱§³¹PEüµz¤>‰†¦™Ì^zSNÆ`Ù=WQ‘8&Ó A‘2à™ ÎXpðYÔŒ/ÎaGêÏW?~ÏØ;5f™&€Œ/TUå³ìŒ–Ñ‚Ïb÷n'›6ÙØ¿×E0˜Fži °°‚O\y/¾ú+vÜ·R5NKs’A  të H»C”TÔ2wÆyÌœyfÚjMyEö{ê$+2–àŒçOCµ¼¼ ‡Y†êû"ªëð… ¯$£8®@ë[+/OϬY•ÌšU‰,ËX,>¶l¶Óµ½W`\¢Aô¢‘‹Î¿÷?hãíGÿ†r¦ KGø%Ø Â:a«Z#aZçi̺ú,FÛ$JKFWf-©î½^¯Sb1”º»»µ]0U@ ¨ƒ¹ÀP;2éÀó¨aÅ_CM8Ê9dš4íê’’’¨‹([È”ˆª¶Â. ¦&Ÿ3ÎlÆç ±g·‹ ìt ,eS:XrâU”•ÖóÜ‹w¢ôIÈ&1Z  [§GThi™ÏìåçÒ9å$DqìâÒ²±@*DÄEQâúF!p8¬ÝÍ* ÅÀÇ€QßïÉK6Fpppð}Ô¦î9ƒL@»–A¹&þ‡d$’—§gæ¬ fΪ@’d¬V›6:ر³ŸOvêLº”ÒÒzêû >0€|uX}Ûoýz#áž •5­Ì]|.3fœI^ž¶>‹Z × ¦çŽH—|#!Àn·›p8œ`ù‡#9š=ãQ¬¸5åð``Ø‘à+¨ö÷“#iÇ™&M·]k'`­Èf…šTÅ#ÒÁYg7áó…ÙÞÕÇ–-}X,~¤ JÕÕí|ú¿áñ§þ}¿?ˆâ—(*­bîÌó˜yÑ™gç•WRjHY<ˆä -:jñ¿˜ñë. †ÏV¡æoú«þˆj,üÚáÑŠL€¦˜mñ4ȉäçë™7¿Šyó«$™în/›6:ط߃w`ìÒAaaŸ¼ú¬ùð)ZšçQW7–œbm(/KmÌÄ}Z$±$0¡úÿH0Ë8bØœrô"TSâãÀmŒädÌ"2M-ƒL­4¥ÂD½íµ vm¢(ÐØXHCƒúp»]Aº¶÷³s‡ «Õ BJƒ‰“–\‘õjAiYöS#@3<‘U@ËQýE¨ùÃïáðÈ ßwJ‰È2ý×ý¸x¤A+V¬ÀëõF™¼1$R\b䄪9á„jÂa™ƒغÕÉþ½üƒ¹ë..-=bÌÄ}KV8Rª¿_mÐ: h–Ö£ÚH¦¡†¥MDºu;ð`-jœàð%óÿB +þ.ð7Æ1í8ÓÁ¦•ÀU# FN;í´ _>ÙÚìc™W ´ÔDGG1‹N¨búŒ2òòtøÃøý9aŠbÑ¢RôúìÙ ©¨¨ óÞ{ïEµ;„B!žxâ m÷=B%‚wPëúxPíãùÎPÑ¢ÚzHµµ#¾…å¨!ʼnM³€L€|YËÀU«V±`Á‚£Â#m‰ÁlÖQ__Àœ9,\XAm]>’¤à!RUÈL&‘ù F_0WË}+**¢¬¬ ‡ÃÁ¶mÛâÎÅ’@ww7o¼ñFú‹~ÔL¿PIÁ†º!‹éÀ€ê Ÿux-‰¦ŽX4¢!™‚jV^vÈ2Mà 4ha²,óÄO ×ëY´h‘æâ ©p´ØRAJKMtv–°pQ%Ó¦• Ó‰øý!ñý~UÕ&::²ûʬªª¢°°C‡±ÿþ¤]€A`ëÖ­¬]»vìD}oAÝ^]¨Ò5 ›|T#ajNÆ!Ä–+ IDATð¥+"¾…/¢Ö0J]²d ÈF¾™¸TË@Y–Y±b÷ÝwÛ·oG’$£™a\#³YGcS>sç–3o~å&‚A ¿Oµ!Q+ššòhhÐV x´÷­¡¡£ÑÈŽ;¢5“¹W¯^ÍŽ#WìH êæß ¬9ü±¢ªEhÌj*P á©¶vÄ·p5j’-™^J¦ `*ð ÒËÂÆçó±nÝ:üq~ñ‹_ðꫯb³Ù(++£ª*¹O'×6j,²µ6Q¨¨01mZ –ÓÞ^„ Â`@"È|DbçÔB*²˜ Š"--jýÁ 6àñx¢ç†’Àk¯½6¶Z€ZDÝf[Q¥ƒ¨‰T:TBȤt ¢ ûóc®;<*P=KQÍŠÖL-#S_©ø6ðuFÝû&9ÚÚÚ8óÌ3¹ð 9묳¢ÒÁp¥©Ò9–‰9²5oºã™Ý»ÜìÜ1€ÅæG „ο šª*SÖî[AA³f©ÍL~øa|¾Ä⻑ñßûÞ÷¢„Àˆºa§¢Fù—fxþnÔ´ã‘[Z†QÓŽ¿‹ZÌlL+ˆÀµ¨¥“³î}ÍÏÏçŒ3ÎàüóÏgùòåÔ׫ަš­9bÿ-Ë2v{mÛ\ØçÃëKßÍ(põ5  G‘L¯·¼¼œ)S¦à÷ûyøá‡ÎG ¹å–[´‡ªP{ u-dæµ§  ù¯*í8‚>àGŒ±›ÑX,oËPÓçaŽ´àóùxî¹çxî¹ç˜1c\pçŸ>K–,I²š v.ahÜ|U•‰ÊÊ*X ƒƒ»vzعk»=ˆ¢Áv_ Ãh³zß"ÒÜH)À½½½¹µùAõ$ØPk‹@-ªï*ÐÄè^­ª§`*jµâ•¨öˆä(GÝ_@•¼_ÅGehBe_ ~ía1·¹„¾PÖŠkØívÞyç|ðAî½÷^Ö¬YC  ¹¹9š^šk˜ÑëEªªLL›VÌܹ%44æ¡(à÷I„‡QjjÌ´µe·`uu5ùùùìß¿ŸC‡Ž¸½#–ÿ2æÈ"ÆÄý¨ú¨"ý jÜAšÍYÑ¡¶‘ŸjRO_[…*…Ÿ€Z­ ?ÝKiE>ªÞñ(j ã°è¬-äGWÌâúem4V䳲ˑõ ;>ŸmÛ¶ñÌ3Ïðë_ÿš×^{ »ÝŽÙl¦¶6%O%ÅÑò¶O‚……zZZ ˜=§˜©S‹Ðé!ã ‰Í-ùÔÕ¥û䦷¶ææfôz=]]]Ãæ¼ÿþûìܹsÄùÚÛÛinnÆbÑ‘ž=„P¥ƒí¨ÂfT]A5&jÝu&Ô$£)¨f¿Ô‰ÄS›P a«kYJ$fùiàR¨ %y¾pvßþètêJÕt¬öê>ÒYÁêÝýxÆ)äUQ<ÈŠ+øË_þÂ#<¶mÛ¦¦¦hÿ¹ñXG®"²6£Q¤®ÎÌôEÌ™SLE…‰òr5Õ& ‹²%£×ëijj`ýúõø|¾aÛÿç?ÿÑ´©¯»î:þô§?qÕUW1mÚ4Ìf3===\¹Û‡Z3`#ªGÏácy¨¯Õ‘P ,@ú’ª‘X|5¯`-#„¤©œü89Õ ½(péân<£Sò‡Æ3æÁ7÷òï5Ýøƒîš——Çé§ŸÎòåË9÷Üs©««;¦¼GËÚŠ‹‹™>}:Š¢ðàƒÆõúJœÿýßÿ­©ÈÝwßÍW\w,³yóf^~ùe^~ùe6lØ[Ä\êU8 U: A´¤G°5íxØnÇÃ@=jÝó¡Éô íe|ey'mUÚ"ÆÜþO~pˆç×öÐã]¿LbúôéœwÞy,_¾œÅ‹'-FqÒY¡aµÉÑÝïgåv«¶ÛY·×IxãÞ***XºtiT:()Qãà† u´­­±±‘úúzöîÝËŠ+’npEQØ·o?þñÎ%ý÷ÞËôéÓikkÓM*Ë27näÍ7ßä7ÞàwÞIhX2î0¢¦-Ô8~7jüÀÈ!>TwýωiyK£ºR–õ*4ë¹vi WÔˆA—¹Î>nˆ5{úYÙå`åv;œ"«ÓéX¼x1çž{.§vóæÍ˹ •­yÇcmS§N¥´´”µk×Fûü%#U«Vqÿý÷'O†ÓN;ïÿû˜L&¦L™’v~‰×ëeåÊ•¼üòËüç?ÿ‰óLŒ;æ¡V Ð_ ëP ‘ŒÜÈüjï‚á܃šx0,DA࣋ê¹ñŒ6Jò³[$RV6p³j»·»ìì³O|{öææf–-[ƹçžËé§Ÿž‘x¬nÔlÍ1þ|ŒÆÿßÞ»ÇGUßùÿϹf2™I&@!(ˆˆ(rõ†ZïÔK[·[»_[[Ûn­¿ÝíeûÕý¶ÛǶÕj×Öª«‹UQä~7@îD·$ä~™Ìýüþ8ýÏLærf2·¸}=y@&g朙9Ÿ÷ç}y½_o3›7oæÜ¹`ÏT}Ü»ï¾ËÚµÚ”µM&þóŸ±Ùläåå1vìØ~É™ÕÔÔ°uëV6oÞÌž={ú 3M9†_E[¢ä¾Á­Èª±i¯OŠOg ò”°˜^VÈwo»‚±Å™™am¡Bnn®â,Y²$f"q /ÔT¼®Á``ÆŒH’Ä;ï¼4 ,ô9/¾øbØIÁ‘ðÌ3ÏpË-·àp8=z´æçFCoo/Ÿ~ú)Û·ogÇŽq]S¿0ÙÄCki@ ÎF=j-pGT04?‡'”sÛÔøëè©B¶… &L`ñâÅÜtÓMÜpà J™q /ÔT½†ÅbaÊ”)´¶¶òá‡ö9^ý¼gŸ}–æfí”÷ë®»ŽçŸ^ù}øðáÊúƒºº:ÅlÛ¶ÎΪ}A¦úÄ[½>ŽlÂSƒ¢€ÙãóÜCWa6&‚o2à HüeÏ^ßvgËŠ¡4hsæÌañâÅ,^¼˜üüü»PSõº¢ ¨ªªŠO?ý´Ïq‡'Ÿ|2¬qˆ„Áƒ³bÅ åwNÇ„ RÊ MK©ñ&`a"‡LÝëÛI½¸#b–¤ÄaÉÚÅ_YÛÂËNfEn ­­­|ôÑG|ôÑG &OžÌ¢E‹X´hS¦LÑôɸy’~&ñu…‡ªñN<Þóµ¶¶âóù” $Iœ;w.¥ÊSF£‘©S§2uêTžyæ™Ô”w"óFÄ{qÈÃÊ¢üyÀ ®ÙÉo×ײçdtM¥lßïçÈ‘#9r„_ýêWŒ5Š›nº‰E‹qã7’“““²…š ¤êÚL&@ l{¯Ú$’…—$‰––Š‹‹•ÇœN'­­­ ”ŽQï2Çáî»ïæî»ïæ¿ø‡fóæÍ|üñÇTW'¨é@æâþ’ªK0 @G¯—7¶eÕ¾úŒ'ûƒsçα|ùr–/_ŽÅbáÚk¯eÑ¢EÜzë­Jks"hF$''‡Ë—/G¬¹‹Ì}¢e¸¶¶¶ ÐÔÔDaaaʇœ„Â`00}út¦OŸÎ~ð–-[Æûï¿ÏÁƒÃ&?£¢ø ¹? IÈjà H¼·÷ÿ½ýlRû, 7ß|3>Ÿ;vd„üár¹¨¨¨ ¢¢‚ý×eüøñ,\¸9sæpýõ×§­_A FDtÆ‚fð„kv»Ýtttàp$[ÉC; _ûÚט:u*øÃ8vìµµµA4è˜ØÉÿPq¼™ßm<Åù–äÅù:Žû￟Ÿüä'ÊŽ{þüy>þøcvïÞÍ®]»mútãĉœ8q‚ÿú¯ÿ¢°°Ù³g³hÑ"æÏŸ¯0aàíö¡ðù|Øl6MC>’MÄijjʨ¸æškxâ‰'xõÕW)--¥¢¢—K#-þ²¨iIr®%ë ÀÉÆn~»þ$Î$w!Θ1ƒçž{Žk¯½6èq§ÓÉìÙ³™={6O?ý4'Ožd÷îÝìÞ½›'N$õ´¢­­5kÖ°fÍ 'NdáÂ…,X°€I“&õÛͤñûýèõú˜¥=·Û¶E¸?èííÅår)³3‰iÓ¦1iÒ$ª««™7o[·nÕÞµx’/žhíöðêÖÓ¬9ØT퀒’~ò“ŸðÀôY8'ÈòêõzÆÏøñãùêW¿J}}½b Ž9Ÿ«–$øý~Ž;ƱcÇxá…(--åÆodΜ9Ì;W­n$jDôz=1?Ëúúú”ªŽŽŽ¬0Ó§O§ºº›ÍÆ´iÓØ½{·¶'Ö"—“€Œ·/ÀŸ+ϳ¬¢.©õüÜÜ\¾ýíoóï|'â"éîŽ>ŠmĈÜÿýÜÿýìß¿ŸgŸ}6i×—(.\¸ÀŠ+X±b‹…éÓ§³`Á-Z6‘˜m%E£Ñ¨ÉýO4þ…îîî> ÂLAŒE¹9jРAÚ¼ž‹€DRª3’[ªšxeÓ):’׬Óé¸çž{øéOJiiiÔc{z´]),ŒRLÍ\.»víb×®]<÷ÜsŒ9’ùóç3þ|fΜ™”a+É‚0"F£QÓâîOüm‡§<œ)„–G­Íø‡Š$ÁùËÈRSßÉ‹ëNrìBGR_wêÔ©<ÿüóÌš5KÓññ4wD£“Î;—¢¢"Nž_fèÉçÏŸç­·Þâ­·Þ¢  @Ém,\¸Áƒµµm§2? Iz½^ÓMÞ`èÐÈÕ@¯×´ûfgÏž¥££ƒñãÇã÷û¹|ù2Ç×®}ØÅÀ3­Ý^Úp’ÍÇš’ç6Œgžy†Ç{ ½^;{1`·Û±X,a³µíííÜÿý,^¼˜‚‚:ħŸ~ʾ}ûRË‚ŽŽÖ­[Ǻuëø·û7®¼òJæÍ›Ç¼yó˜8qbJëᑌˆ×ëÅãñh22‰z¹¹¹Ê¸ñHȤÐét477sñâŠͫ՗Gª¡íWÒf.´öòô›iêLž>[NNßúÖ·øÞ÷¾—P2,ÞÝnèСaë×555 ©£»»›9sæpã78~ü8;wîdïÞ½ÚçÛ'~¿Ÿªª*ªªªxùå—>|¸Â7¸ñÆÓ6¦ÝívkÊt_¾|9á €–ø>É\1çðرc}‹©˜$šHZ @·ËÇþt(©‹ÿÖ[oåùçŸïW»g¼`æÌ™a €×ëeÿþýÌ™3§ÓISSEEEèõz&NœÈĉyüñÇ©­­åÓO?U ™ .^¼ÈÊ•+Y¹r%999LŸ>›o¾™ Ä­ Ïgèr¹b&^¶oßžp(ZæÍèt:ü~?999¬X±"¢¾a\^I’z›Rnü‰ÿ·ê³¤éÿ;–çž{ŽE‹õûµâ æÍ›V¿`íÚµLŸ>ÜÜ\zzzðx<+nžÑhdâĉ”••±xñbº»»©©©áèÑ£;vLÓÂHÜn7•••TVVòóŸÿœqãÆ1wî\æÎË”)S‚>£þæ\.WLúkss3›7oNøóçÏyL¼ß{`6›1™L´¶¶²lÙ²¨IÈŽŽ8rbÁ$‰çÞ¯aÇg±]cÁjµòÔSOñôÓO'mz°ÑhŒ+på•W2lذ°C*»»»ùðÃYºt)’$áõz©¯¯§°°‚‚%æÎÍÍ%77§Ó©Ô%IâÌ™3;vŒ£GfTŠª¶¶–ÚÚZ^{í5 ˜5k³fÍâæ›oÖœHŒ„ÎÎΘӛþøÇ?jgÅ… ¤¤DS×_:âN‡Ñh¤  €}ûö±aƘÓâªP$ɈHâQB&úN‘ß/ÁO€_­©eÍ¡þŽ:Ž¥K—²|ùrn¹å–¤rä{zzâºÙt:z½ž½{÷†ýû… °ÙlŒ5Jy¬··§Ó‰Éd ºñL&v»]é´ÛíL˜0¹sçrà 70tèPmmm‹åv»9uê;vì`Ù²eìÙ³‡––l6[BuUUUƈåÉ÷ߟ]»v%|½÷wÇ•W^õNGIIIJ“ f³™œœ¬V+kÖ¬¡¢¢Bñž¢÷ìÙ³ÚG /D; è»§œ–§ÌToæå ±§¹DÔ)Sxã7xâ‰'R’¨òxù¿âþá4y‡©ªxFÌf3yyyœŸ––ZZZ°X,äåå‘——§ÜÀƒ›Í†ÍfSˆ+n·ÇCyy9eeeÜu×]´¶¶*yƒ'NdLÓÞív³sçNvî”Д••QVVÆàÁƒÉËËcôèÑA’\ÝÝÝÔÕÕQYYÉÞ½{ûâÜyçš³ÿ©¸¯rss±Z­èõz*++Ù¶m[Ô¯†ÓéÄív“››«ýsHbûGÒ @mC7[«bO)ÅìÙ³ùÏÿüÏ”J7…CAA¦±S¡øÎw¾Ã¹sç‚v75$Ibûöíœ>}šÇ{Œâââ°7…ËåÂårÑÖÖ†ÙlÆb±››KNNŽ’sÈÉÉQH0z<ìv;ÇgþüùôööU2E@ÙK9{ö¬ò»N§Ãf³QPP€Ï磽½=áD_(®¾új¾ýíok:VìÐÉ‚ÑhTbýÞÞ^>øàΜ9£ü=tÑ«a¡$I8‡önÀl6ol?}aüð‡?ä_þå_2R2dÍÍÍq—¸ŒF#?ûÙÏxê©§ÂVΟ?ÏüÇ0gÎî¸ã,KXC”¡££CɈ„’H"êt:åq5ü~?¥¥¥ÌŸ?ŸÏǹsçØ¿?‡æÔ©Sm–$‰®®®¸ó-±0lØ0~úÓŸjîy2dHÒ’¢šc0¸téï½÷^X£Îˆr¨ÑhdðàÁäææâóù´íl N7õPñ™v g€'Ÿ|’ÿ÷OúÍ¡f³‡Ã‘ˆÃáà׿þ5?úÑ8þ|Äãü~?;vìàèÑ£ÜvÛm̘1£Ñ@ßBx:“ɤdÒÅÁ`@¯×+;È;ãÕW_ ȵõ½{÷²wï^Ž=š±Db21jÔ(~þóŸkø0 IÑÔëõŠËpèÐ!6lØ ° £Åû@€ÞÞ^¼^/¹¹¹ 2ƒÁ€Ûí¦··WûÈV`Í¡Kqíþ%%%üò—¿Äï÷g¬Ô2Å7Q% ¢¢"~ó›ßðOÿôO1DÚÚÚøŸÿù6lØÀÂ… ™9sfÄšt¤˜ÑãñÄ\Àz½½^¯„ ÷žÏ˜1·ÛMMM ‡æÈ‘#ñ‘O²&LàùçŸRJŠ…Áƒ÷»„,B±œœ¼^/6làèÑ£šâ}ŸÏGOOBùµÛíH’DOO’»Ñ¬˜D ieÀ€$ñ‹ÇÕÓÿÒK/1sæLzzz2jŒF#~¿?áVQ‹ÅÂüùóill Š#¡··—ªª****hiiaðàÁØíŸÏb ç¦ÆãºŠÝÆï÷ãóù”¯×‹$I 4ˆI“&1oÞ<&OžLAA.—+c^XŸM¸ïH’$º»» Øív ÑëõŠ4™xžÏçãòåËÚó4ÙT_ˆ/ëüÿøÊ‡š——‡ÛíÎè §×ë)--åôéÓýzÅ‹så•Wòâ‹/jîí–$‰S§NqêÔ)Þ{ï=ÊËË™¯×ËÆƒª>Ѳü^¯—ÞÞ^Åå·ÙlŠAPoxn·[)šL&mk  Àñ‹ÚÝGƒÁÀã?®ün±X°X,}jÞé†Ýn§¸¸¸ß“\FŽÉ/ùK*++y饗âz½@ ÀÉ“'™ ‹ÚzII ƒ!V# Vî™4i“&MB’$êëë©®®¦ºº:ez}¡°Ùl<ùä“ʰÏxa±Xš· ×ë1™LJ˜ÑÚÚʪU«Â–‹Ãíü½½½x<rrr‡ƒS§NiOf›èìõr!ýþ¯~õ«AÙQÊåÁòx=esù„‹V¥Ñ_!Œ---¬^½:츲P# r$BãoРA † Ý\'nV«‡ÃD8›8^³Y>!$ÅäçÆ÷2çÏŸgâDí#NC³Ò‚Õ&¼ñ#ZMH†12d¹¹¹ÔÕÕ¥<YXXÈÂ… Y¸p! —¡jjj¨©©áøñãœ>}:ë(¼‡ƒ1cÆpå•W*?ÉàÞÇ‚¨‚haù j´šB\]]ͦM›4eù}>Ÿ²k‹|^öS÷÷»\.t:‡»Ý®¸ü¡9%ñÚšÃÌQ±‰I1Öø4ÖÎ;—W®òz½Š1Í1¡žA¨1p¹\ -â¼¼<ÆϹsçÒJ›4hsæÌaΜ9ÊcÔÕÕQWWÇ… ¸|ù2—/_¦±±‘ÖÖÖ¤{*‚ÐR\\LQQEEE”––2jÔ(ÊÊÊ&Û$ “ÉĨQ£4{’&“ ½^¯dùÝn7›6mâøñ¾ÂÀ—$¸ IDAT5¡F@’$¥C¸òf³YÙåÕ.¿Hô™L& •îO§Ó‰Çã ›Kðz½Ú’·FBûýGR €É Çj6hîèoÂ+ÜͭΈÎ8ñ¥ $ƒg`4)//§³³“úúúŒuÖåççuü©áóùèèè ««‹îîn¥7Ôø bŠØÉL&999˜Ífìv»"Jb·Û)((ÈšQcƒVQZ ×ë±ÛíÊñ |üñÇA^T$VŸèÊ”$ «ÕJAAz½^Éò ø|>%°Z­b0‚\~5ÔçÛµk—¶û¨œ¤–!‰D |«I³Ф{¦‘v9±¸…10›Ía=5Ï ^cŸŸO^^ ´´´dUÒNô™kѾ˦뎅ÜÜ\JKK5gùçAý9Ѳü.—‹@  ¸òê^hm?““CAA¢ò,ò¡¯­¦oݺ•M›6i3¹d·ˆ' Ôd“X¤H:N¥ËK‹1ˆåX­VÊËËééé¡¡¡!cC>¾h01dÈÍÝ|B…Y]q8þ<ëÖ­ Kê ·ë õâÜÜ\Åå-½êãÄïBîL¯×+ŒÀ@ ÑÀ¸\.V®\IUU•öãFd5à$#y W»HV Z,ªHöôô(^A=ƒ¼¼<ÆŽKww7MMMóDNNC† aРAqµñ µ$‘ TVV²oß¾°ªKb×÷xk×®¥¢¢"î÷Ç,d !©IÀxpþüù„&û¦Ãˆc…z«(&ê %+ïñxèì줽½=iF F£QáÎÛíö„¥ºDÛ­(Oz<¶mÛÆgŸ}öøÐ$œØõ ƒ’À ÝÍÅ}àóù0 8¥¶¯6‘B‹¶¶6–/_žXØ;¸5þ§Åƒäyqä ÿy€tø<Ûët:1 å84„Q¿ß¯„êœÙlfÈ! 2D‘ïêêR4⿨°X,Øl6òóó±Ùlý’ç6 ø|>Š‹‹•ÇX¿~}ÔÚ¾xÌï÷ãv»‘$ ‹Å¢4çˆÝ\½s‡'†¼¨ó‘ÎwòäIÞ~ûíÄ’Â%À@ŠgÌHV% †ä›¢»»›îîî ‰èP’ŒÁ`ˆéäää0tèPehOOBÚ7Þ@…PÔnu²&òŠù{j.ÀáÇ©¨¨ˆYÛ.¿0Èv»]Ià©wsáˆïJm´DI’¤¨ ÅíÛ·³víÚľë»IYܯFF’€^.@*ž+Xb‚i'’‡áŒ–0A°Õ¥V$œÄOOOöÉ1i†ðŠ„1ÌÍÍMXÉ't:n·›#F(uww³qãÆ ‰Ñ¥×ëÅï÷+!ˆ˜ÍÐÛÛ«ñý%4uù£eùN'o¿ývXŠqLèÈ%¿4!#I@Ð$º0EÎ'Æuuvvb2™%žPºªÖ¢^¯Wf ˆ°Âår)á…x~ª••£RP…E>$Ü”¢dÃ`0`42dˆòØ©S§Øºu«ÒtmQúý~E€Æb±(Í@¡.¿ ýêt:EaITÔF"Òùêëëyë­·S|ÊCvùÇÄÿÔþ c!@<9€dàóámmmÊΨˆWöLV„;¿ÏçSnvñuµZlE¸°âuÅõˆR¨Xtá¬Ò!¦¡.ïù|>***‚úöű¡‹2(ŸƒèÌ•aDás—ßçó)†Wíò‹Ò_´óíÞ½›U«V%fˆ‡KísN’†¤“AO®Ù@o Aê›P š!”JBkk«¢>#&ɪ¡Ö3Ps´6‰…+B‘D®5› Â(µZPkk+6l ¥¥%jÛ.D1Ž]ô¨;ø„W%Žs8J¢OMçt>ÇÃûï¿ÏÞ½{{£×w’¢9ݱ‘ÔÓXMš @oo/ÍÍÍ%Yá Ò}³‡;ŸˆçŽW‹s T”¥Ò)ˆšiˆ…æp8‚>—#Gްk×® BU¤E©Nô©Ã(Ñ )IR] AûžƒÚåt¾¦¦&Þ|óͨÃa#ÂÜ‚\çÏ ’jå™57 €Lïêý}®$IJòP¯×cµZ±ÙlaA8Ï@üdóžÄôcµ`Goo/[·n 7®Fè®/däôz=6›MqùÕ»¹$IJ˜$ŽUáòGËò V߻ロXbÖ<ÄOƒI:’j óâK%¢“¯Æ@7 Çå¢ôg0°ÙlŠg µg nb& dc ”B)À.\`Ë–-Auôhµ}ŸÏ‡$I˜L&E…G-៻ü s2DhŸç¢%}>«W¯fÇŽ‰½Ùäx?5êhq#© ßßË:uŠÙ³g÷û¼_CòÍ%t÷F£B9 —e:öf³9ˆÒ*JX"á¨V 8p@i≖廾xÏV«5ÈåÔëP—_LãÆCm$"¯­­7ß|3qÛà.ÒRß׊¤‡5>`åÊ•<öØcaÿ–M 3çóù|´¶¶ÒÚÚª(ô&Z(Ô À¼¼<¥$™ÍÆ@0›Í”moogÓ¦M}ÆpEãòK’¤xO¢¶/”Ô~¢¶o³Ù”D©Úåv¾ªª*Þ~ûmíâj€Û€™ñ?5ÕHª¸b˜v¥_€õë×óöÛoóÈ#D<&Ûf&Î'êý—/_VÆTçççG”Ä g D¦;`6›®„555ìܹŸÏ3Ë/Ê›’$‘““£p.BE;BC‡Ã¡„jy´h¡Åš5kزeKbßs>r¼ßw^V ©`Úèø›o~ó›;vŒÿøÇQ¥ž²qafâ|N§“žž:Úˆ0!Ä¡p ÏÐü†ËåbÇŽœ9s&jü-óù|Šà†ÝnW}‚$Áe@NT Õït¾öövÞ|óMΜ9“Ø.C&÷Ä·/¦b y”½Ñ‰#ò™=.¶¦œy9Fv|ÖL[v¡L!ÚðöÛoãv»¹âŠ+¢*½fëÂÌÄù<]]]477+nl¨¨‰bê­¨*ˆZ{:<Ámù­¯¯gÍš5Êìƒp%Qï —ßn·+ùu–_Ð~ÕÇY­Ö°\þPˆÇjkkyå•WµvpIñLµ@}ŸGOË“j z;OÄ¡vòWtvv²uëV~ûÛß²sçNrss7n\Ä-›fºÏ'ʃ´¶¶*â&ÑŒQý ¢—lc x÷b0©€ßïgß¾}TTT„ÕÎ ý]°ú@n¢|jÕ]a ÔÇ(Ä5û/Ò¹$IbóæÍ,_¾<±ŸÙåŸ $Þð˜\D1Iç-¾º˜ßo>M‡31ÒŠßïgË–-lÙ²…áÇóðÃóÄO„'Ù½0c=§©©Iaž%ë|~¿Ÿ¶¶6ÚÚÚÉ*õ‹pPWìv{P1Qƒ (µáX‰mmmlÙ²E‘ÅŠ﫳ü"„ÈÉÉQXxꤜz”œhL!ƒšÎ)¡ØÝÝÍŸþô§ˆz11 xHý<”¤!é€Ñ gH~;j.Ç>8ººº¨¬¬äw¿û»víÂb±Dô š!$‰ÚÚZ._¾LWW—2j*™¨ ƒàóùn4 Ìf³¢ª+vn-±H#U,Ž;ÆæÍ›ÃNÈ áÊ :o(MWÝé'Î/:øÔF"œQãôéÓ¼üòËÔ×÷Ý*5a*ðe²3ÞO§pËÕÅT|ÖÌÖêäÌ´ lݺ•­[·2lØ0yä¾þõ¯‡Uh†dÉêîîn.^¼H^^………³ü‰žOŒohh 77‡Ã¡L¸‰a0„&¾ð“N}œ0á³ÓédûöíJën¬]_dùEÍ^°$…Ë/ž+v}« yyy †>tÞhmÂ;vìàƒ>HÌÛ1"kö]ÿS³I÷¦—²»¶…¶žäò×»»»©¬¬ä•W^¡²²‹ÅÂW\Ñgç†@pÈwíÚ…Á` //ÇCGGÍÍÍJkj¸EÚŸ÷çóùèêêR¼¡k«ãO0ö„w ÜqÑàd4Ã.þºº:Ö¯_ßgÂr¤]_dùÕ5{±›«³ü"î×ét :Tš;ÚùœN'o¼ñÛ·oOì»/¾BJôú“Št&,&ó'eï©Ö¸ªZ!IgÏžåƒ>Pz°GÝgm6a>úè#vîÜIUUGaÿ¹\.ÚÛÛc zòû{­êçˆäacc#H’,¥¥ýW§Ó)-đγoß>víÚ´‡¾†€:Ñ'ò"\c¶Cyáy„ŠyF:ßùóçyùå—#öÄÄxà1d#íÈ„Ù,˜<”æ.7§S'€)¼‚?üáTVV’““Cyyy †@€O?ý§Ó‰ÛíæÂ… :tˆsçÎ)Ã,õz½Ë·´´(C*Õ1v2r‡öövšššp:Šûˆ~Ÿ$É“o" ß ý]]³ú j—_ìæâ8³ü6›-Èå×1z¾;vðúë¯'&Ê*T{–U”ިȔÈ1¸yb“K 8r¾ƒnWê(Â+XµjÿýßÿMss3#GŽ SM† ÔˆU¯×ãt:9sæ GŽ¡½½]é $–––:::”I´ÂØ%ãý‰$[kk+ ¸Ýn C\²Ýû÷ïW²éÑêí"¯(C=„Ñ4ÝÐãDŸÈ „ºü‘Îçr¹øÓŸþ¤}W(¬È<×=%>-Ȥ(”Ë]Ó‡ã HœnìÆëOm÷šÓédïÞ½¼úꫬ_¿€ &(.e6‚††¬V+EEEœ8qBiO?:NG{{;gΜQŽÉ6!PÚÜÜLWW—BÒëõI{Âà477ÓÑÑä–GÂåË—ùä“O‚ ·(Ckûb7H,xum_­çŸ³ÿbeùxùå—9qâDÔkˆ‘À×»ù¢ñ)­nWÿõ¾™#øþãSr==në4òÑþ‹œlLß½ÂÂBzè!¾ò•¯0a ¯Ï¿‰“ptÞp9Œ¦¦&þøÇ?I†Ç…!Ȭ¾¡‰==+à>¶}YÍk;"ÒA¹|û–+¸qÂpN Î^îaÝá>:p‰ÎÞôéàM›6G}”{ï½7¨31†PGnnn1p:?~œõë×sôèш!‚ á>œ¢¢¢ A,*»ÝŽÃáP>±®)£GšÌ#Žûí·û¨ê„2õÄÜá ˆ!(¢! V@yQû…ú±ƒòÖ[o•ã•È<)Ç6|l"+”k3ÓÇòÝ[¯`lqú¸Ž_€õ öŸn#µÂç°X,,^¼˜Ç{Œ›nºIy<݆@\‹hØQgÎ;;;©ªªbóæÍœ={¶Pÿ›ŸŸOqq1………ŠAçSnÕ= Z @QQcƋط´´ðᇽw‘ÀžK^^ž"Ú¡V=V3út:]Ð4!µ˜gè窆ßïgÕªUlܸ1±ð,ƒ9’Žf`=²ÛA`ðrcDô:î¹v_ŸW÷,Àþ¢®ÙÉÚC—X}ðRÂF‰`üøñ<øàƒ<ú裊Xe: Aèc"YfµZû¸Þ9r„M›6ÑÜÜÑF 4hâ]¨Ï'†a8e‘FBAA’H8yò¤’ý‹_Ôösrr”²zÌ6ä1ïD šæ¡ú±ööv^}õUN:ñš£"¹wTbOÏ8z‘]ý}@ìtÇ'ÀÓÀÁÐ,Í]Ȇ ê|»ÅÈ£7Žæ¡ëK1Ò›ñúTO¿W““£xsæÌ‰+†Nv^AP_Cûë%I¢¥¥…ªª*vìØA{{{Ÿ\ø¿ÉdRzB“ “'OËWÃf³1iÒ¤ ÇŽ=ªèø‰F‘œUum_è“$)H,D”ÕÉ»HFàøñã¼öÚktvvF¼Þ¨(#ë…;""¶±yMõÀ?yé„K çßþ°‡ù»‚Qƒ­|˜={öàr¹"† bò­Õj¥´´”«¯¾š .D5¹¹¹\}õÕAíÝ»—êêje — ö¦ž³ (ÇÀçÕAf.èû÷ylذ>ø qíÛ€ù Ì,ÿ`[³Ä üxª»G« þ2ã9jýèÚòB¾wûxF‰,é•JdÊ+0›ÍÜrË-<òÈ#Ì™3Gy<†>ŸÈ+:âü~?õõõ=z”#GŽ(ºùá ÂC=D^^^Ìá­&“‰iÓ¦=¶uëVêêê˜L&¥ÁHÌÜ}ýê]_ƒ C­Óú~Õ¿wwwóúë¯SUUõ:#Â|‰ìoä ‡V`3 í­¯¾œ ÷G-…á™ÈaATýn£^Ç=3GðùcÈËÉМ# ©ÓÍÆ£¼·÷M雦;vìX–.]Êý÷߯ÔÈ3e$IRòêU’dbÍÅ‹©®®¦ººZéºàÁÄf³Å4:Ž™3ƒen?øàÚÛÛ•Å(Â"ðùN‘Ì´ÙlJh Œ„(ÿ…BýX]]¯¼òŠ"(7JK|¡‘G ° ¨b3êßCŽ÷#B+3D‡Üøø dÝ“ˆ(°šøÚÜ2î¿núšH’…€$qàL;î¿ÈŽÏ.ã¤Ç/0 Ìž=›‡~˜[o½U¡¶Bf º¹F4Øx½^¨ªªâøñãq€3f—eË–á÷ûÕ_1ÎL$…›.F¡‹çªÛ|CßSèc;vì`ÅŠ‰‹šÎ@®wenŠpØHˆÍÈ®þKÈL€¨ˆw…æÏÏ£J:¾ÄÎwo»‚©£2?år—› GùàÓz:¬ '€¡C‡rß}÷±téRFQC(ê¸áƹ\.Î;Gqq1F£Q“P“º»»y÷Ýw”˜_’$E“_œKpþ%IR\~A÷ …ú1—ËÅ›o¾É¾}ûb^WX˜‘SÜWÇ:0ËPçÇþ:¼À?4gCÝ¢¯þYþ0*n?˜ïß>žaŽÌ³*2å\uÕU<üðÃÜ}÷ÝAä–hÿj9&Ñç eÆ€ÚH’̱×b&Mš¤Ð™ëëëÙ¸qcÐ5¨kû‚œ¤vùCÇnG2—.]â•W^áâÅ‹1¯),"«¯9Î?¬éèMȉûšxOÓ_}ðkä¡Ga1¸ÿº|mn¹æì訸Üåæã—øøà¥´zv»%K–ðå/™É“'™5ðy^kh5ãÇWXjjjسgò7u–_Ôö…‘Qç¢eùvîÜɲeËo䙊ܻßЪÌÁ ìAŽÜc§°Ž?@&ò%„déFàëÈqGÔQ¿Eö¾¹°œ[§ #ƒé ¨½‚O>»Œ/^Á¸qã¸çž{xðÁq87’$OÙ1›ÍšjêcÆŒQ¦;ïÞ½[éÿW‹v:¯:Ë¿‡3^¯—¿üå/lÚ´)æu„Å@Ôê;ŽìîÇn…iCÎÇý95˜0’¹ ¾EŒËÄù<}Û8&—æ'ñôýGk·‡µ‡øhÿEêÛ˜— Ìf3 .䡇 –šIC #Gޤ¤Dnß°aƒâ¢‹˜^­ ²ü"ö…ú±¦¦&~÷»ßiòB¢Ù周ÓÓŽKÈ ¿.æ‘`9ð@ÿe·I®ÉàWÀÑÒët,¾º˜oÝ2–AqŽOŽ_êâÃýY¸·/}6KJJ¸óÎ;yøá‡•Å•)C åZż†•+W*[@@ ”qdjD2‡âµ×^S¦úÆ È<}§«gœÀv䎽طØàûÈõ€¤!•Žø"àEbP-DÛñWnvZ±´;½rÂKœkIð¦Lz½^ÑX¸pa7?]† DCßïgÙ²eAϽ‚êãï½÷k×®Õ|þ è‘ï¸Ùd¿\—hÓÝÄN?þ X™ŠKIeFî4ð ¸SÒ|‰Cuíl>ÖÄ`»™1E‘'Ød“«GpßÌR¦)Äï—8ßÚ›ò ‚$I\¸põë׳råJ:thX!ŽDLB‹,f³™ÁƒÓÞÞÞGüS¯×ÇO.’‚mmm¼ð AIĸ<\Eö/þÓÀ;ÈÙýèT†d&î#$y×W#]×äúä·‰atfŒ)ä»·£|hv5º\>6i`õKi•4¹Qç`É’%ˉáKÄ#ˆÑtöìY¶mÛ–Ðû©©©á÷¿ÿ= =Ÿrà~d†J6£¹M7¶$¡,~4¤ö¢Òo/§#ÓŠ£v\ô:–L+á› Ê)°f·öòñK]¬>p‰Géq§oä¶ÍfcÁ‚Üu×]Ìš5 H¾!ˆ‹Å”)S8|ø0Œëú%IbíÚµüå/I¬‘GÌn&»y\ÈÔÝJ4ðòø¹M·2µõ92å0Ý…œ(‹vP~®‰Ço.ã¾™#0è³Û·sûl«n⣗8Rמ¶†$€òòrî¾ûnî¹ç ÓR™?0cÆ >ù䓸úð{{{yíµ×Ø¿¿æçÁ ܇LGËVHÈŽûjÓM2¹ª¬È]J?&F'öè!V¾së8f]10Æ®^híåプX{è-ÝÉŸŠ f³™ pï½÷2sæÌ vŸ@2 Àµ×^Ëš5khnnÖtü¥K—x饗gõ•"óO {zZp¹¬ÛïEÞŸºRzM Ûj)2­8fÛñ ãóômã^8j<²¶áóÔðÙÅô·C‡eÉ’%|éK_bÔ(Yæ&™)S¦ðÞ{ïõ)ó…Þ={xã7`ܸXLöÊsw ë´ÑwW#ÓwϤðŠb" €À,à7Äàn™ z¾tíðŒ·GC·ËDzŠ:þ¼û^ú8‘0qâDî¼óNn¿ýv 4­(++cÍšèLT¿ßÏŠ+gõ€;‘…ë²^`'ZÛt"·éîHíEiC6Ó9ÿG;p°ÍÌ×çáÎé%m;V# Il8ÒÈï6žÒ2µùÖN Êl63wî\–,Y 7ܤ8œ¨((( ²2rΪ³³“W^y…šš¸ûT‚‘‹œð»ŽìIúI@5rœ»ˆÑü_4¶é¦ Ù±rúÂüøÿˆÀ˜PbçéÛÇqõÈÌ…϶óâºZ-eAð rîC< ü=pmj¯0C‡åöÛogÉ’%”••)ÇkœNgÄ »µµµ¼üòˉ—øÂ¡¸•Ì'/"ëêjoÓý)ZÌDš‘­@`r‚$jÛ±˜7i(ߺe,à ÒÛvÜÔéæ›O³áHƒ–ôm´¸o*²!xHk¶óª«®âŽ;îà–[n Rä…@ @eeeØy»víâ7ÞH\¸#Æ# {¤[Õ§ ™Áw-ùúMÈî~‚ºe©G¶…Èù«¢$hÅÞ8šœO3ryý¼½óËwžÃ»WàœÕC_IDATò°]ÃK[Rý=i–«4\wÝu,\¸›o¾9¦18{ö,µµµ¸Ýn†ŽÉdÂëõ²~ýzV­Z•(Û°ø7à)ä¼Pdý¦Äð“€èSvBq¹M÷ãÔ^Tÿ1P |Þvü<2³0"Šòsøæ‚Ô´Kl«iâå §hŒ­#Њ|3'÷•<Ž\-IL&³fÍbÑ¢EÌ;WÊ)páÂ…>q½×ëåã?N\µÞE6|Ä‘ÂÌC¦™¥âŽÖÞ¦Ûüœ$´é¦ É ~††¶ãkF;øîmã7,9‚ïŸ]ìâÅuµ=3”qßÏoŠþ€ùþ=2‰*­ôH³ÙÌõ×_Ïu×]ǰaÃðxú4£'šyqÝI.ÆVqßoÐ’J ò{⾆ gK¥<üÈßÕshÙcû„œ‰™¢9I85Æ+žFŽóc;ðNà—ÈßyúÄ$S„/Š(A–%û1ÁµårÛq¨þ@]³“ß®¯eÏÉÈs•ÿ ÷=ƒ–áLéÃ(à«ý—ák ‡&äRg‚´À ˆ|PÌ6sʃÅЩ-ÈôÝØ›„œ¤ü!p.Þ ýÒ‹ÈÄL)ÚQ¯“˜U*­}ö&éãÝ(=0«T2èuQŸóןmÄÞS²sEYÚ‰ýžÒñs„Ô(õMDÞ¿£Ÿ_‡ÄT$žA⟑˜‡„QÓuŠ,jó7 ˆiFõÄø‚V“d·µÜgçÈ4ä"3×!³Õ3±øcªTðòwýZr‘ÈÓtÍõÈ÷ÐÍSþ_r¬ØKâ7o7ò´äÌO7é?F Ov:Jz~9Q–®$¥ù»êîÇ5÷"ß3q`øß¥È7b€ønÞ?£3p½éÀ$亊Ô,þä±™Àpà÷È Çx®ù#bT”þ†ùÈ5ÛX7ÂÖX‰þb2rµšþ/üNäªH6 ãºù»Œu͇‘ï¿áôÈYòFúÞo’ý¥´Tâ*dc°™ÛŒÜmu ¨úÙ§×£CæJÔÞKyšì•ùRŸ×sÝÈTÔìW”]p Ïœ\i™,ÓQÆÀX@VdÃÖ‹L?þ=±x_püÿ{i‡=OŒÿ‹IEND®B`‚pioneers-15.5/server/gtk/pioneers-server.rc0000644000175000017500000000006410503067130015755 000000000000001 ICON DISCARDABLE "server/gtk/pioneers-server.ico" pioneers-15.5/server/seafarers-gold.game0000644000175000017500000000137711755241465015272 00000000000000title Seafarers with gold strict-trade domestic-trade num-players 4 sevens-rule 0 victory-points 10 num-roads 15 num-bridges 0 num-ships 15 num-settlements 5 num-cities 4 num-city-walls 0 resource-count 19 develop-road 2 develop-monopoly 2 develop-plenty 2 develop-chapel 1 develop-university 1 develop-governor 1 develop-library 1 develop-market 1 develop-soldier 13 use-pirate desc Two big islands with gold chits 5,2,6,3,8,12,9,12,11,4,8,10,2,4,5,6,3,11,5,2,6,3,8,10,9,12,11,4,8,10,9,4,5,6,3,11,12,6 map s,s,sw5,s,s,sg4,s,s?5,s s,g0+,m1,h2,h3,h4,f5,g6+,s s,s?0,t7,m8,p9,f10,t11,p12,sw3 s,f13,s?1,s,s,sg2,s,m14,s s,sb1,s,f15,m16,f17,p18,s,so2 s,m19,t20,t21,f22,p23,m24,h25,s s,sb0,t26,p27,d28,h29,f30,f31,s s,t32,p33,h34,m35,p36,m37,h38,s?3 s,s,s,sl1,s,s,s?2,s,s . pioneers-15.5/server/meta.c0000644000175000017500000002023113252223516012610 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include #include #include #include "server.h" #include "network.h" static Session *meta_session; static enum { MODE_SIGNON, MODE_REDIRECT, MODE_SERVER_LIST, MODE_REDIRECT_OVERFLOW } meta_mode; static gint metaserver_version_major; static gint metaserver_version_minor; static gint num_redirects; /** TRUE when the server disconnects, FALSE when the other end disconnects */ static gboolean disconnect_initiated; /** GSource identifier for the reconnect timer */ static guint reconnect_timer = 0; /** Reconnect interval in seconds */ static guint reconnect_interval; static gchar *reconnect_server; static gchar *reconnect_port; static gboolean timed_out(gpointer data); static gboolean meta_connect(Game * game); static void meta_redirect(const gchar * server, const gchar * port, Game * game); static void start_reconnect_timer(Game * game) { if (reconnect_timer == 0) { /* Only the first time */ log_message(MSG_ERROR, _("" "The connection to the metaserver is lost.\n")); } log_message(MSG_INFO, /* The connection to the metaserver was lost */ ngettext ("An attempt to reconnect is scheduled in %u second.\n", "An attempt to reconnect is scheduled in %u seconds.\n", reconnect_interval), reconnect_interval); reconnect_timer = g_timeout_add(reconnect_interval * 1000, timed_out, game); } static void stop_reconnect_timer(void) { if (reconnect_timer != 0) { g_source_remove(reconnect_timer); } reconnect_timer = 0; } static gboolean timed_out(gpointer data) { Game *game = data; log_message(MSG_INFO, _("Attempting to reconnect to the metaserver.\n")); reconnect_interval *= 2; if (!meta_connect(game)) { start_reconnect_timer(game); } disconnect_initiated = FALSE; return FALSE; } gchar *get_server_name(void) { gchar *server_name; server_name = g_strdup(g_getenv("PIONEERS_SERVER_NAME")); if (!server_name) server_name = g_strdup(g_getenv("GNOCATAN_SERVER_NAME")); if (!server_name) server_name = g_strdup(g_get_host_name()); return server_name; } void meta_start_game(void) { #ifdef CLOSE_META_AT_START if (ses != NULL) { net_printf(ses, "begin\n"); net_free(&ses); } #endif } void meta_report_num_players(guint num_players) { if (meta_session != NULL && meta_mode == MODE_SERVER_LIST) net_printf(meta_session, "curr=%d\n", num_players); } static void meta_send_details(Session * ses, Game * game) { net_printf(ses, "server\n" "port=%s\n" "version=%s\n" "max=%d\n" "curr=%d\n", game->server_port, client_version_type_to_string(LATEST_VERSION), game->params->num_players, game->num_players); /* If no hostname is set, let the metaserver figure out our name */ if (game->hostname) { net_printf(ses, "host=%s\n", game->hostname); } if (metaserver_version_major >= 1) { net_printf(ses, "vpoints=%d\n" "sevenrule=%s\n" "terrain=%s\n" "title=%s\n", game->params->victory_points, game->params->sevens_rule == 0 ? "normal" : game->params->sevens_rule == 1 ? "reroll first 2" : "reroll all", game->params-> random_terrain ? "random" : "default", game->params->title); } else { net_printf(ses, "map=%s\n" "comment=%s\n", game->params-> random_terrain ? "random" : "default", game->params->title); } } static void meta_free_session(Session * ses) { disconnect_initiated = TRUE; if (ses == meta_session) { meta_session = NULL; } net_free(&ses); } /* Developer note: very similar code exists in client/gtk/connect.c * Keep both routines up-to-date */ static void meta_event(Session * ses, NetEvent event, const gchar * line, gpointer user_data) { Game *game = (Game *) user_data; switch (event) { case NET_READ: if (ses != meta_session) { log_message(MSG_ERROR, _("Receiving data from inactive " "session: %s\n"), line); return; } switch (meta_mode) { case MODE_SIGNON: case MODE_REDIRECT: if (strncmp(line, "goto ", 5) == 0) { gchar **split_result; const gchar *port; meta_mode = MODE_REDIRECT; meta_free_session(ses); if (num_redirects++ >= 10) { log_message(MSG_ERROR, _("" "Too many metaserver redirects.\n")); meta_mode = MODE_REDIRECT_OVERFLOW; return; } split_result = g_strsplit(line, " ", 0); g_assert(split_result[0] != NULL); g_assert(!strcmp(split_result[0], "goto")); if (split_result[1]) { port = PIONEERS_DEFAULT_META_PORT; if (split_result[2]) port = split_result[2]; meta_redirect(split_result[1], port, game); } else { log_message(MSG_ERROR, _("" "Bad redirect line: %s\n"), line); }; g_strfreev(split_result); break; } disconnect_initiated = FALSE; reconnect_interval = 5; stop_reconnect_timer(); metaserver_version_major = 0; metaserver_version_minor = 0; if (strncmp(line, "welcome ", 8) == 0) { char *p = strstr(line, "version "); if (p) { p += 8; metaserver_version_major = atoi(p); p += strspn(p, "0123456789"); if (*p == '.') metaserver_version_minor = atoi(p + 1); } } net_printf(ses, "version %s\n", META_PROTOCOL_VERSION); meta_send_details(ses, game); meta_mode = MODE_SERVER_LIST; break; default: log_message(MSG_ERROR, _("" "Unknown message from the metaserver: %s\n"), line); break; } break; case NET_CLOSE: /* During a reconnect, different sessions might co-exist */ if (ses == meta_session && meta_mode != MODE_REDIRECT_OVERFLOW) { if (!disconnect_initiated) { start_reconnect_timer(game); } } meta_free_session(ses); break; case NET_CONNECT: net_set_check_connection_alive(ses, 480u); break; case NET_CONNECT_FAIL: if (!disconnect_initiated) { start_reconnect_timer(game); }; meta_free_session(ses); break; } } static gboolean meta_connect(Game * game) { if (meta_session != NULL) net_free(&meta_session); meta_session = net_new(meta_event, game); if (net_connect(meta_session, reconnect_server, reconnect_port)) { meta_mode = MODE_SIGNON; return TRUE; } else { net_free(&meta_session); return FALSE; } } static void meta_prepare_connection(const gchar * server, const gchar * port, Game * game) { g_free(reconnect_server); g_free(reconnect_port); reconnect_server = g_strdup(server); reconnect_port = g_strdup(port); disconnect_initiated = TRUE; meta_connect(game); } static void meta_redirect(const gchar * server, const gchar * port, Game * game) { if (strcmp(port, PIONEERS_DEFAULT_META_PORT) == 0) { log_message(MSG_INFO, _("Redirected to the " "metaserver at %s.\n"), server); } else { log_message(MSG_INFO, _("Redirected to the " "metaserver at %s, port %s.\n"), server, port); } meta_prepare_connection(server, port, game); } void meta_register(const gchar * server, Game * game) { log_message(MSG_INFO, _("Register with the metaserver at %s.\n"), server); num_redirects = 0; meta_prepare_connection(server, PIONEERS_DEFAULT_META_PORT, game); } void meta_unregister(void) { disconnect_initiated = TRUE; if (meta_session != NULL) { log_message(MSG_INFO, _("Unregister from the metaserver.\n")); net_free(&meta_session); stop_reconnect_timer(); } } pioneers-15.5/server/admin.c0000644000175000017500000003313112303064272012753 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003, 2006 Bas Wijnen * Copyright (C) 2007, 2013 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ /* Pioneers Console Server Administrator interface * * The strings in the admin interface are intentionally not translated. * They would otherwise reflect the language of the server that is * running the server, instead of the language of the connecting user. */ #include "config.h" #include #include #include "admin.h" #include "game.h" #include "server.h" #include "network.h" #include "version.h" /* network administration functions */ static Game **admin_game; static gint admin_dice_roll = 0; static gchar *server_port = NULL; static gboolean register_server = TRUE; static GameParams *params = NULL; static Service *service = NULL; typedef enum { BADCOMMAND, SETPORT, STARTSERVER, STOPSERVER, REGISTERSERVER, NUMPLAYERS, SEVENSRULE, DICEDECK, NUMDICEDECKS, NUMREMOVEDDICECARDS, VICTORYPOINTS, RANDOMTERRAIN, SETGAME, QUIT, MESSAGE, HELP, INFO, FIXDICE, GETBANK, SETBANK, GETASSETS, SETASSETS } AdminCommandType; typedef enum { NONEED, NEEDPARAMS, NEEDGAME } AdminRequirementType; typedef struct { AdminCommandType type; const gchar *command; gboolean need_argument; gboolean stop_server; AdminRequirementType requirement; } AdminCommand; /* *INDENT-OFF* */ static AdminCommand admin_commands[] = { { BADCOMMAND, "", FALSE, FALSE, NONEED }, { SETPORT, "set-port", TRUE, TRUE, NEEDPARAMS }, { STARTSERVER, "start-server", FALSE, TRUE, NEEDPARAMS }, { STOPSERVER, "stop-server", FALSE, TRUE, NONEED }, { REGISTERSERVER, "set-register-server", TRUE, TRUE, NONEED }, { NUMPLAYERS, "set-num-players", TRUE, TRUE, NEEDPARAMS }, { SEVENSRULE, "set-sevens-rule", TRUE, TRUE, NEEDPARAMS }, { DICEDECK, "set-dice-deck", TRUE, TRUE, NEEDPARAMS }, { NUMDICEDECKS, "set-num-dice-decks", TRUE, TRUE, NEEDPARAMS }, { NUMREMOVEDDICECARDS, "set-num-removed-dice-cards", TRUE, TRUE, NEEDPARAMS }, { VICTORYPOINTS, "set-victory-points", TRUE, TRUE, NEEDPARAMS }, { RANDOMTERRAIN, "set-random-terrain", TRUE, TRUE, NEEDPARAMS }, { SETGAME, "set-game", TRUE, TRUE, NONEED }, { QUIT, "quit", FALSE, FALSE, NONEED }, { MESSAGE, "send-message", TRUE, FALSE, NEEDGAME }, { HELP, "help", FALSE, FALSE, NONEED }, { INFO, "info", FALSE, FALSE, NONEED }, { FIXDICE, "fix-dice", TRUE, FALSE, NEEDGAME }, { GETBANK, "get-bank", FALSE, FALSE, NEEDGAME }, { SETBANK, "set-bank", TRUE, FALSE, NEEDGAME }, { GETASSETS, "get-assets", TRUE, FALSE, NEEDGAME }, { SETASSETS, "set-assets", TRUE, FALSE, NEEDGAME }, }; /* *INDENT-ON* */ /* parse 'line' and run the command requested */ static void admin_run_command(Session * admin_session, const gchar * line) { const gchar *command_start; gchar *command; gchar *argument; guint command_number; if (!g_str_has_prefix(line, "admin")) { net_printf(admin_session, "no admin prefix in command: '%s'\n", line); return; } line += 5; /* length of "admin" */ while (*line && g_ascii_isspace(*line)) ++line; if (!*line) { net_printf(admin_session, "no command found: '%s'\n", line); return; } /* parse the line down into command and argument */ command_start = line; while (*line && !g_ascii_isspace(*line)) ++line; command = g_strndup(command_start, (gsize) (line - command_start)); if (*line) { while (*line && g_ascii_isspace(*line)) ++line; argument = g_strdup(line); } else { argument = NULL; } /* command[0] is the fall-back */ for (command_number = 1; command_number < G_N_ELEMENTS(admin_commands); ++command_number) { if (!strcmp (command, admin_commands[command_number].command)) { break; } } if (command_number == G_N_ELEMENTS(admin_commands)) { command_number = 0; } if (admin_commands[command_number].need_argument && NULL == argument) { net_printf(admin_session, "ERROR command '%s' needs an argument\n", command); } else if (admin_commands[command_number].requirement == NEEDPARAMS && NULL == params) { net_printf(admin_session, "ERROR command '%s' needs valid game parameters\n", command); } else if (admin_commands[command_number].requirement == NEEDGAME && (NULL == *admin_game || !server_is_running(*admin_game))) { net_printf(admin_session, "ERROR command '%s' needs a valid game\n", command); } else { if (admin_commands[command_number].stop_server && server_is_running(*admin_game)) { server_stop(*admin_game); game_free(*admin_game); *admin_game = NULL; net_write(admin_session, "INFO server stopped\n"); } switch (admin_commands[command_number].type) { case BADCOMMAND: net_printf(admin_session, "ERROR unrecognized command: '%s'\n", command); break; case SETPORT: if (server_port) g_free(server_port); server_port = g_strdup(argument); break; case STARTSERVER: { gchar *metaserver_name = get_metaserver_name(TRUE); if (!server_port) server_port = g_strdup (PIONEERS_DEFAULT_GAME_PORT); if (*admin_game != NULL) game_free(*admin_game); *admin_game = server_start(params, get_server_name(), server_port, register_server, metaserver_name, TRUE); g_free(metaserver_name); } break; case STOPSERVER: server_stop(*admin_game); break; case REGISTERSERVER: register_server = atoi(argument); break; case NUMPLAYERS: cfg_set_num_players(params, atoi(argument)); break; case SEVENSRULE: cfg_set_sevens_rule(params, atoi(argument)); break; case DICEDECK: cfg_set_use_dice_deck(params, atoi(argument)); break; case NUMDICEDECKS: cfg_set_num_dice_decks(params, atoi(argument)); break; case NUMREMOVEDDICECARDS: cfg_set_num_removed_dice_cards(params, atoi(argument)); break; case VICTORYPOINTS: cfg_set_victory_points(params, atoi(argument)); break; case RANDOMTERRAIN: cfg_set_terrain_type(params, atoi(argument)); break; case SETGAME: if (params) params_free(params); params = cfg_set_game(argument); if (!params) { net_printf(admin_session, "ERROR game '%s' not set\n", argument); } break; case QUIT: net_close(admin_session); /* Quit the server if the admin leaves */ if (!server_is_running(*admin_game)) exit(0); break; case MESSAGE: g_strdelimit(argument, "|", '_'); if (server_is_running(*admin_game)) admin_broadcast(*admin_game, argument); break; case HELP: for (command_number = 1; command_number < G_N_ELEMENTS(admin_commands); ++command_number) { if (admin_commands [command_number].need_argument) { net_printf(admin_session, "INFO %s argument\n", admin_commands [command_number]. command); } else { net_printf(admin_session, "INFO %s\n", admin_commands [command_number]. command); } } break; case INFO: net_printf(admin_session, "INFO server-port %s\n", server_port ? server_port : PIONEERS_DEFAULT_GAME_PORT); net_printf(admin_session, "INFO register-server %d\n", register_server); net_printf(admin_session, "INFO server running %d\n", server_is_running(*admin_game)); if (params) { net_printf(admin_session, "INFO game %s\n", params->title); net_printf(admin_session, "INFO players %d\n", params->num_players); net_printf(admin_session, "INFO victory-points %d\n", params->victory_points); net_printf(admin_session, "INFO random-terrain %d\n", params->random_terrain); net_printf(admin_session, "INFO sevens-rule %d\n", params->sevens_rule); if (server_is_running(*admin_game)) { gchar *s = game_printf("INFO bank %R\n", (*admin_game)->bank_deck); net_printf(admin_session, "%s", s); g_free(s); playerlist_inc_use_count (*admin_game); GList *player = player_first_real(*admin_game); while (player) { Player *p = (Player *) player->data; if (player_is_spectator (*admin_game, p->num)) { s = game_printf ("INFO spectator %d\n", p->num); } else { s = game_printf ("INFO player %d assets %R\n", p->num, p->assets); } net_printf(admin_session, "%s", s); g_free(s); player = player_next_real (player); } playerlist_dec_use_count (*admin_game); } } else { net_printf(admin_session, "INFO no game set\n"); } if (admin_dice_roll != 0) net_printf(admin_session, "INFO dice fixed to %d\n", admin_dice_roll); break; case FIXDICE: admin_dice_roll = CLAMP(atoi(argument), 0, 12); if (admin_dice_roll == 1) admin_dice_roll = 0; if (admin_dice_roll != 0) { (*admin_game)->is_manipulated = TRUE; net_printf(admin_session, "INFO dice fixed to %d\n", admin_dice_roll); } else net_printf(admin_session, "INFO dice rolled normally\n"); break; case SETBANK: { game_scanf(argument, "%R", &(*admin_game)->bank_deck); (*admin_game)->is_manipulated = TRUE; } // FALL THROUGH case GETBANK: { gchar *s = game_printf("INFO bank %R\n", (*admin_game)->bank_deck); net_printf(admin_session, "%s", s); g_free(s); } break; case SETASSETS: { gint player_num; gint assets[NO_RESOURCE]; Player *player; gint i; game_scanf(argument, "%d %R", &player_num, &assets); player = player_by_num(*admin_game, player_num); if (player != NULL && !player_is_spectator(*admin_game, player_num)) { for (i = 0; i < NO_RESOURCE; i++) { (*admin_game)->bank_deck[i] += player->assets[i] - assets[i]; player->assets[i] = assets[i]; } } (*admin_game)->is_manipulated = TRUE; } // FALL THROUGH case GETASSETS: { gint player_num; Player *player; game_scanf(argument, "%d", &player_num); player = player_by_num(*admin_game, player_num); if (player != NULL) { if (player_is_spectator (*admin_game, player_num)) { net_printf(admin_session, "INFO player %d is spectator\n", player_num); } else { gchar *s = game_printf ("INFO player %d assets %R\n", player_num, player->assets); net_printf(admin_session, "%s", s); g_free(s); } } else { net_printf(admin_session, "INFO player %d not found\n", player_num); } } break; } } g_free(command); if (argument) g_free(argument); } /* network event handler */ static void admin_event(Session * ses, NetEvent event, const gchar * line, G_GNUC_UNUSED gpointer user_data) { #ifdef PRINT_INFO g_print ("admin_event: event = %#x, admin_session = %p, line = %s\n", event, ses, line); #endif switch (event) { case NET_READ: /* there is data to be read */ #ifdef PRINT_INFO g_print("admin_event: NET_READ: line = '%s'\n", line); #endif admin_run_command(ses, line); break; case NET_CLOSE: /* connection has been closed */ #ifdef PRINT_INFO g_print("admin_event: NET_CLOSE\n"); #endif net_free(&ses); break; case NET_CONNECT: /* new connection was made */ net_printf(ses, "welcome to the pioneers admin connection, " "version %s\n", FULL_VERSION); net_set_check_connection_alive(ses, 0); #ifdef PRINT_INFO g_print("admin_event: NET_CONNECT\n"); #endif break; case NET_CONNECT_FAIL: /* connect() failed -- shouldn't get here */ #ifdef PRINT_INFO g_print("admin_event: NET_CONNECT_FAIL\n"); #endif net_free(&ses); break; } } /* set up the administration port */ gboolean admin_init(const gchar * port, Game ** game) { gchar *error_message; admin_game = game; if (*admin_game != NULL) { params = params_copy((*admin_game)->params); server_port = g_strdup((*admin_game)->server_port); } service = net_service_new(atoi(port), admin_event, NULL, &error_message); if (!service) { log_message(MSG_ERROR, "%s\n", error_message); g_free(error_message); return FALSE; } return TRUE; } gint admin_get_dice_roll(void) { return admin_dice_roll; } pioneers-15.5/server/main.c0000644000175000017500000002604613252223516012620 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ /* Pioneers Console Server */ #include "config.h" #include "version.h" #ifdef HAVE_LOCALE_H #include #endif #include #include #include #include #include #include #include #include #include "driver.h" #include "game.h" #include "cards.h" #include "map.h" #include "network.h" #include "log.h" #include "buildrec.h" #include "server.h" #include "common_glib.h" #include "glib-driver.h" #include "admin.h" static GMainLoop *event_loop; static gint num_players = 0; static gint num_points = 0; static gint sevens_rule = -1; static gint use_dice_deck = -1; static gint num_dice_decks = -1; static gint num_removed_dice_cards = -1; static gint terrain = -1; static guint timeout = 0; static gint num_ai_players = 0; static gchar *server_port = NULL; static gchar *admin_port = NULL; static gchar *game_title = NULL; static gchar *game_file = NULL; static gboolean disable_game_start = FALSE; static gint tournament_time = -1; static gboolean quit_when_done = FALSE; static gchar *hostname = NULL; static gboolean register_server = FALSE; static gchar *metaserver_name = NULL; static gboolean fixed_seating_order = FALSE; static gboolean enable_debug = FALSE; static gboolean show_version = FALSE; static GOptionEntry commandline_game_entries[] = { {"game-title", 'g', 0, G_OPTION_ARG_STRING, &game_title, /* Commandline server-console: game-title */ N_("Game title to use"), NULL}, {"file", 0, 0, G_OPTION_ARG_STRING, &game_file, /* Commandline server-console: file */ N_("Game file to use"), NULL}, {"port", 'p', 0, G_OPTION_ARG_STRING, &server_port, /* Commandline server-console: port */ N_("Port to listen on"), PIONEERS_DEFAULT_GAME_PORT}, {"players", 'P', 0, G_OPTION_ARG_INT, &num_players, /* Commandline server-console: players */ N_("Override number of players"), NULL}, {"points", 'v', 0, G_OPTION_ARG_INT, &num_points, /* Commandline server-console: points */ N_("Override number of points needed to win"), NULL}, {"seven-rule", 'R', 0, G_OPTION_ARG_INT, &sevens_rule, /* Commandline server-console: seven-rule */ N_("Override seven-rule handling"), "0|1|2"}, {"use-dice-deck", 'd', 0, G_OPTION_ARG_INT, &use_dice_deck, /* Commandline server-console: dice-deck */ N_("Override dice-deck handling"), "0|1"}, {"dice-deck", 'D', 0, G_OPTION_ARG_INT, &num_dice_decks, /* Commandline server-console: num-dice-decks */ N_("Override num-dice-decks handling"), "0|1"}, {"num-removed-dice-cards", 'C', 0, G_OPTION_ARG_INT, &num_removed_dice_cards, /* Commandline server-console: num-removed-dice-cards */ N_("Override num-removed-dice-cards handling"), NULL}, {"terrain", 'T', 0, G_OPTION_ARG_INT, &terrain, /* Commandline server-console: terrain */ N_("Override terrain type, 0=default 1=random"), "0|1"}, {"computer-players", 'c', 0, G_OPTION_ARG_INT, &num_ai_players, /* Commandline server-console: computer-players */ N_("Add N computer players"), "N"}, {"version", '\0', 0, G_OPTION_ARG_NONE, &show_version, /* Commandline option of server-console: version */ N_("Show version information"), NULL}, {NULL, '\0', 0, 0, NULL, NULL, NULL} }; static GOptionEntry commandline_meta_entries[] = { {"register", 'r', 0, G_OPTION_ARG_NONE, ®ister_server, /* Commandline server-console: register */ N_("Register server with metaserver"), NULL}, {"metaserver", 'm', 0, G_OPTION_ARG_STRING, &metaserver_name, /* Commandline server-console: metaserver */ N_("Register at metaserver name (implies -r)"), PIONEERS_DEFAULT_METASERVER}, {"hostname", 'n', 0, G_OPTION_ARG_STRING, &hostname, /* Commandline server-console: hostname */ N_("Use this hostname when registering"), NULL}, {NULL, '\0', 0, 0, NULL, NULL, NULL} }; static GOptionEntry commandline_other_entries[] = { {"auto-quit", 'x', 0, G_OPTION_ARG_NONE, &quit_when_done, /* Commandline server-console: auto-quit */ N_("Quit after a player has won"), NULL}, {"empty-timeout", 'k', 0, G_OPTION_ARG_INT, &timeout, /* Commandline server-console: empty-timeout */ N_("Quit after N seconds with no players"), "N"}, {"tournament", 't', 0, G_OPTION_ARG_INT, &tournament_time, /* Commandline server-console: tournament */ N_("Tournament mode, computer players added after N minutes"), "N"}, {"admin-port", 'a', 0, G_OPTION_ARG_STRING, &admin_port, /* Commandline server-console: admin-port */ N_("Admin port to listen on"), PIONEERS_DEFAULT_ADMIN_PORT}, {"admin-wait", 's', 0, G_OPTION_ARG_NONE, &disable_game_start, /* Commandline server-console: admin-wait */ N_("" "Don't start game immediately, wait for a command on admin port"), NULL}, {"fixed-seating-order", 0, 0, G_OPTION_ARG_NONE, &fixed_seating_order, /* Commandline server-console: fixed-seating-order */ N_("" "Give players numbers according to the order they enter the game"), NULL}, {"debug", '\0', 0, G_OPTION_ARG_NONE, &enable_debug, /* Commandline option of server: enable debug logging */ N_("Enable debug messages"), NULL}, {NULL, '\0', 0, 0, NULL, NULL, NULL} }; int main(int argc, char *argv[]) { int i; GOptionContext *context; GOptionGroup *context_group; GError *error = NULL; GameParams *params; Game *game = NULL; /* set the UI driver to Glib_Driver, since we're using glib */ set_ui_driver(&Glib_Driver); driver->player_added = srv_glib_player_added; driver->player_renamed = srv_glib_player_renamed; driver->player_removed = srv_player_removed; driver->player_change = srv_player_change; g_type_init(); #ifdef ENABLE_NLS setlocale(LC_ALL, ""); bindtextdomain(PACKAGE, LOCALEDIR); textdomain(PACKAGE); /* have gettext return strings in UTF-8 */ bind_textdomain_codeset(PACKAGE, "UTF-8"); #endif server_init(); /* Long description in the commandline for server-console: help */ context = g_option_context_new(_("- Host a game of Pioneers")); g_option_context_add_main_entries(context, commandline_game_entries, PACKAGE); context_group = g_option_group_new("meta", /* Commandline server-console: Short description of meta group */ _("Metaserver Options"), /* Commandline server-console: Long description of meta group */ _("" "Options for the metaserver"), NULL, NULL); g_option_group_set_translation_domain(context_group, PACKAGE); g_option_group_add_entries(context_group, commandline_meta_entries); g_option_context_add_group(context, context_group); context_group = g_option_group_new("misc", /* Commandline server-console: Short description of misc group */ _("Miscellaneous Options"), /* Commandline server-console: Long description of misc group */ _("Miscellaneous options"), NULL, NULL); g_option_group_set_translation_domain(context_group, PACKAGE); g_option_group_add_entries(context_group, commandline_other_entries); g_option_context_add_group(context, context_group); g_option_context_parse(context, &argc, &argv, &error); if (error != NULL) { g_print("%s\n", error->message); g_error_free(error); return 1; } if (show_version) { g_print(_("Pioneers version:")); g_print(" "); g_print(FULL_VERSION); g_print("\n"); return 0; } set_enable_debug(enable_debug); if (server_port == NULL) server_port = g_strdup(PIONEERS_DEFAULT_GAME_PORT); if (game_title && game_file) { /* server-console commandline error */ g_print(_("" "Cannot set game title and filename at the same time\n")); return 2; } if (game_file == NULL) { if (game_title == NULL) { if (num_players > 4) params = cfg_set_game("5/6-player"); else params = cfg_set_game("Default"); } else params = cfg_set_game(game_title); } else { params = cfg_set_game_file(game_file); } if (params == NULL) { /* server-console commandline error */ g_print(_("Cannot load the parameters for the game\n")); return 3; } if (metaserver_name != NULL) register_server = TRUE; if (register_server && metaserver_name == NULL) metaserver_name = get_metaserver_name(TRUE); g_assert(server_port != NULL); if (num_players) cfg_set_num_players(params, num_players); if (sevens_rule != -1) cfg_set_sevens_rule(params, sevens_rule); if (use_dice_deck != -1) cfg_set_use_dice_deck(params, use_dice_deck); if (num_dice_decks != -1) cfg_set_num_dice_decks(params, num_dice_decks); if (num_removed_dice_cards != -1) cfg_set_num_removed_dice_cards(params, num_removed_dice_cards); if (num_points > 0) cfg_set_victory_points(params, num_points); if (tournament_time != -1) cfg_set_tournament_time(params, tournament_time); cfg_set_quit(params, quit_when_done); if (terrain != -1) cfg_set_terrain_type(params, terrain ? 1 : 0); net_init(); if (!disable_game_start) { game = server_start(params, hostname, server_port, register_server, metaserver_name, !fixed_seating_order); if (game != NULL) { if (admin_port != NULL) { if (!admin_init(admin_port, &game)) { /* Error message */ g_print(_("The network port (%s) " "for the admin " "interface is not " "available.\n"), admin_port); } } game->no_player_timeout = timeout; num_ai_players = CLAMP(num_ai_players, 0, (gint) game->params->num_players); for (i = 0; i < num_ai_players; ++i) add_computer_player(game, TRUE); } } else { if (admin_port == NULL) admin_port = g_strdup(PIONEERS_DEFAULT_ADMIN_PORT); if (!admin_init(admin_port, &game)) { /* Error message */ g_print(_("The network port (%s) for the admin " "interface is not available.\n"), admin_port); return 5; } } if (disable_game_start || game != NULL) { event_loop = g_main_loop_new(NULL, FALSE); g_main_loop_run(event_loop); g_main_loop_unref(event_loop); game_free(game); game = NULL; } net_finish(); g_free(hostname); g_free(server_port); g_free(admin_port); g_option_context_free(context); params_free(params); return 0; } static gboolean exit_func(G_GNUC_UNUSED gpointer data) { g_main_loop_quit(event_loop); return TRUE; } void game_is_over(Game * game) { /* quit in ten seconds if configured */ if (game->params->quit_when_done) { g_timeout_add(10 * 1000, &exit_func, NULL); } } void request_server_stop(Game * game) { if (server_stop(game)) { g_main_loop_quit(event_loop); } } pioneers-15.5/server/develop.c0000644000175000017500000002712713252223516013333 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include #include "buildrec.h" #include "cost.h" #include "server.h" #include "random.h" void develop_shuffle(Game * game) { GameParams *params; gint idx; guint shuffle_idx; gint shuffle_counts[NUM_DEVEL_TYPES]; params = game->params; memcpy(shuffle_counts, params->num_develop_type, sizeof(shuffle_counts)); game->num_develop = 0; for (idx = 0; idx < NUM_DEVEL_TYPES; idx++) game->num_develop += shuffle_counts[idx]; if (game->develop_deck != NULL) g_free(game->develop_deck); game->develop_deck = g_malloc0((gsize) game->num_develop * sizeof(*game->develop_deck)); for (idx = 0; idx < game->num_develop; idx++) { gint card_idx; card_idx = random_guint(game->num_develop - idx); for (shuffle_idx = 0; shuffle_idx < G_N_ELEMENTS(shuffle_counts); shuffle_idx++) { card_idx -= shuffle_counts[shuffle_idx]; if (card_idx < 0) { shuffle_counts[shuffle_idx]--; game->develop_deck[idx] = shuffle_idx; break; } } } /* Check that the deck was shuffled correctly */ memcpy(shuffle_counts, params->num_develop_type, sizeof(shuffle_counts)); for (idx = 0; idx < game->num_develop; idx++) shuffle_counts[game->develop_deck[idx]]--; for (shuffle_idx = 0; shuffle_idx < G_N_ELEMENTS(shuffle_counts); shuffle_idx++) if (shuffle_counts[shuffle_idx] != 0) { log_message(MSG_ERROR, "Bad shuffle\n"); break; } game->develop_next = 0; } void develop_buy(Player * player) { Game *game = player->game; DevelType card; if (!game->rolled_dice) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR roll-dice\n"); return; } if (!cost_can_afford(cost_development(), player->assets)) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR too-expensive\n"); return; } if (game->develop_next >= game->num_develop) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR no-cards\n"); return; } /* Clear the build list to prevent undo after buying * development card */ player->build_list = buildrec_free(player->build_list); resource_spend(player, cost_development()); player_broadcast(player, PB_OTHERS, FIRST_VERSION, LATEST_VERSION, "bought-develop\n"); game->bought_develop = TRUE; card = game->develop_deck[game->develop_next++]; deck_add_guint(player->devel, card); player_send(player, FIRST_VERSION, LATEST_VERSION, "bought-develop %d\n", card); } gboolean mode_road_building(Player * player, gint event) { StateMachine *sm = player->sm; Game *game = player->game; Map *map = game->params->map; BuildType type; gint x, y, pos; GList *rb_build_rec; sm_state_name(sm, "mode_road_building"); if (event != SM_RECV) return FALSE; if (sm_recv(sm, "done")) { /* Make sure we have built the right number of roads */ gint num_built; num_built = buildrec_count_edges(player->build_list); if (num_built < 2 && ((player->num_roads < game->params->num_build_type[BUILD_ROAD] && map_can_place_road(map, player->num)) || (player->num_ships < game->params->num_build_type[BUILD_SHIP] && map_can_place_ship(map, player->num)) || (player->num_bridges < game->params->num_build_type[BUILD_BRIDGE] && map_can_place_bridge(map, player->num)))) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR expected-build\n"); return TRUE; } /* We have the right number, now make sure that all * roads are connected to buildings */ if (!buildrec_is_valid (player->build_list, map, player->num)) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR unconnected\n"); return TRUE; } /* Player has finished road building */ /* Remove the roads built from the player's build_list. * If we don't, trading will fail when it shouldn't. */ if (num_built >= 2) { num_built = 2; } for (; num_built >= 0; num_built--) { rb_build_rec = g_list_last(player->build_list); player->build_list = g_list_remove_link(player->build_list, rb_build_rec); g_list_free_1(rb_build_rec); } /* Send ack to client, check for victory, and quit. */ player_send(player, FIRST_VERSION, LATEST_VERSION, "OK\n"); sm_pop(sm); check_victory(player); return TRUE; } if (sm_recv(sm, "build %B %d %d %d", &type, &x, &y, &pos)) { if (buildrec_count_type(player->build_list, type) == 2) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR too-many\n"); return TRUE; } /* Building a road / ship / bridge, make sure it is * correctly placed */ if (!map_road_vacant(map, x, y, pos)) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR bad-pos\n"); return TRUE; } switch (type) { case BUILD_ROAD: if (map_road_connect_ok (map, player->num, x, y, pos)) break; player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR bad-pos\n"); return TRUE; case BUILD_SHIP: if (map_ship_connect_ok (map, player->num, x, y, pos)) break; player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR bad-pos\n"); return TRUE; case BUILD_BRIDGE: if (map_bridge_connect_ok (map, player->num, x, y, pos)) break; player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR bad-pos\n"); return TRUE; default: player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR expected-road\n"); return TRUE; } edge_add(player, type, x, y, pos, FALSE); return TRUE; } if (sm_recv(sm, "undo")) { if (!perform_undo(player)) player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR bad-pos\n"); return TRUE; } return FALSE; } gboolean mode_plenty_resources(Player * player, gint event) { StateMachine *sm = player->sm; Game *game = player->game; int idx; int num; int num_in_bank; int plenty[NO_RESOURCE]; sm_state_name(sm, "mode_plenty_resources"); if (event != SM_RECV) return FALSE; if (!sm_recv(sm, "plenty %R", plenty)) return FALSE; num = 0; for (idx = 0; idx < NO_RESOURCE; idx++) num += plenty[idx]; if (!resource_available(player, plenty, &num_in_bank)) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR plenty-no-resources\n"); return TRUE; } if ((num_in_bank < 2 && num != num_in_bank) || (num_in_bank >= 2 && num != 2)) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR wrong-plenty\n"); return TRUE; } /* Give the resources to the player */ resource_start(game); cost_refund(plenty, player->assets); resource_end(game, "plenty", 1); player_send(player, FIRST_VERSION, LATEST_VERSION, "OK\n"); sm_pop(sm); return TRUE; } /* monopoly */ gboolean mode_monopoly(Player * player, gint event) { StateMachine *sm = player->sm; Game *game = player->game; GList *list; Resource type; sm_state_name(sm, "mode_monopoly"); if (event != SM_RECV) return FALSE; if (!sm_recv(sm, "monopoly %r", &type)) return FALSE; /* Now inform the various parties of the monopoly. */ for (list = player_first_real(game); list != NULL; list = player_next_real(list)) { Player *scan = list->data; if (scan == player) continue; player_broadcast(player, PB_ALL, FIRST_VERSION, LATEST_VERSION, "monopoly %d %r from %d\n", scan->assets[type], type, scan->num); /* Alter the assets of the respective players */ player->assets[type] += scan->assets[type]; scan->assets[type] = 0; } player_send(player, FIRST_VERSION, LATEST_VERSION, "OK\n"); sm_pop(sm); return TRUE; } static void check_largest_army(Game * game) { GList *list; Player *new_largest; new_largest = NULL; for (list = player_first_real(game); list != NULL; list = player_next_real(list)) { Player *player = list->data; /* Only 3 or more soldiers can earn largest army */ if (player->num_soldiers < 3) continue; if (new_largest == NULL) new_largest = player; else if (player->num_soldiers > new_largest->num_soldiers) /* Only get the largest if exceed the current * largest */ new_largest = player; } if (new_largest == NULL) return; /* Now change the largest army owner if necessary */ if (game->largest_army == NULL) { game->largest_army = new_largest; player_broadcast(game->largest_army, PB_ALL, FIRST_VERSION, LATEST_VERSION, "largest-army\n"); return; } /* Did largest army owner change? */ if (new_largest != game->largest_army && new_largest->num_soldiers > game->largest_army->num_soldiers) { game->largest_army = new_largest; player_broadcast(game->largest_army, PB_ALL, FIRST_VERSION, LATEST_VERSION, "largest-army\n"); } } void develop_play(Player * player, guint idx) { StateMachine *sm = player->sm; Game *game = player->game; DevelType card; if (idx >= deck_count(player->devel)) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR no-card\n"); return; } card = deck_get_guint(player->devel, idx); if (!deck_card_play(player->devel, game->num_playable_cards, idx)) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR wrong-time\n"); return; } if (!is_victory_card(card)) game->num_playable_cards = 0; /* Cannot undo after playing development card */ player->build_list = buildrec_free(player->build_list); player_broadcast(player, PB_RESPOND, FIRST_VERSION, LATEST_VERSION, "play-develop %d %D\n", idx, card); switch (card) { case DEVEL_ROAD_BUILDING: /* Place 2 new roads as if you had just built them. */ sm_push(sm, (StateFunc) mode_road_building); break; case DEVEL_MONOPOLY: /* When you play this card, announce one type of * resource. All other players must give you all * their resource cards of that type. */ sm_push(sm, (StateFunc) mode_monopoly); break; case DEVEL_YEAR_OF_PLENTY: /* Take any 2 resource cards from the bank and add * them to your hand. They can be two different * resources or two of the same resource. They may * immediately be used to build. */ player_send(player, FIRST_VERSION, LATEST_VERSION, "plenty %R\n", game->bank_deck); sm_push(sm, (StateFunc) mode_plenty_resources); break; case DEVEL_CHAPEL: case DEVEL_UNIVERSITY: case DEVEL_GOVERNORS_HOUSE: case DEVEL_LIBRARY: case DEVEL_MARKET: switch (card) { case DEVEL_CHAPEL: ++player->chapel_played; break; case DEVEL_UNIVERSITY: ++player->univ_played; break; case DEVEL_GOVERNORS_HOUSE: ++player->gov_played; break; case DEVEL_LIBRARY: ++player->libr_played; break; case DEVEL_MARKET: ++player->market_played; break; default: ; } /* One victory point */ player->develop_points++; break; case DEVEL_SOLDIER: /* Move the robber. Steal one resource card from the * owner of an adjacent settlement or city. */ player->num_soldiers++; check_largest_army(game); robber_place(player); break; } } pioneers-15.5/server/player.c0000644000175000017500000010447713252223516013175 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003-2007 Bas Wijnen * Copyright (C) 2005-2010 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include #include #include #include "server.h" #include "network.h" #include "random.h" /* Local function prototypes */ static gboolean mode_check_version(Player * player, gint event); static gboolean mode_check_status(Player * player, gint event); static gboolean mode_bad_version(Player * player, gint event); static gboolean mode_global(Player * player, gint event); static gboolean mode_unhandled(Player * player, gint event); static void player_setup(Player * player, gint playernum, const gchar * name, gboolean force_spectator); static Player *player_by_name(Game * game, char *name); #define tournament_minute 1000 * 60 #define time_to_wait_for_players 30 * 60 * 1000 /** Is the game a tournament game? * @param game The game * @return TRUE if this game is a tournament game */ static gboolean is_tournament_game(const Game * game) { return game->params->tournament_time > 0; } /** Find a free number for a connecting player. * The number has not been used before. * @param game The game * @param force_spectator The connecting player must be a spectator */ static gint next_free_player_num(Game * game, gboolean force_spectator) { gint idx; if (!force_spectator) { GList *list; gboolean player_taken[MAX_PLAYERS]; guint available = game->params->num_players; memset(player_taken, 0, sizeof(player_taken)); playerlist_inc_use_count(game); for (list = game->player_list; list != NULL; list = g_list_next(list)) { Player *player = list->data; if (player->num >= 0 && !player_is_spectator(game, player->num)) { player_taken[player->num] = TRUE; --available; } } playerlist_dec_use_count(game); if (available > 0) { guint skip; if (game->random_order) { skip = random_guint(available); } else { skip = 0; } idx = 0; while (player_taken[idx] || skip-- != 0) ++idx; return idx; } } /* No players available/wanted, look for a spectator number */ idx = (gint) game->params->num_players; while (player_by_num(game, idx) != NULL) ++idx; return idx; } static gboolean mode_global(Player * player, gint event) { StateMachine *sm = player->sm; Game *game = player->game; gchar *text; switch (event) { case SM_FREE: if (player->name != NULL) g_free(player->name); if (player->style != NULL) g_free(player->style); if (player->location != NULL) g_free(player->location); if (player->devel != NULL) deck_free(player->devel, NULL); if (player->num >= 0 && !player_is_spectator(game, player->num) && !player->disconnected) { game->num_players--; meta_report_num_players(game->num_players); } g_list_free(player->build_list); g_list_free(player->special_points); g_free(player); return TRUE; case SM_NET_CLOSE: player_remove(player); if (player->num >= 0) { player_broadcast(player, PB_OTHERS, FIRST_VERSION, LATEST_VERSION, "has quit\n"); player_archive(player); } else { player_free(player); } driver->player_change(game); return TRUE; case SM_RECV: if (sm_recv(sm, "chat %S", &text)) { if (strlen(text) > MAX_CHAT) player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR %s\n", _("chat too long")); else player_broadcast(player, PB_ALL, FIRST_VERSION, LATEST_VERSION, "chat %s\n", text); g_free(text); return TRUE; } if (sm_recv(sm, "name %S", &text)) { if (text[0] == '\0') player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR invalid-name\n"); else if (strlen(text) > MAX_NAME_LENGTH) player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR %s\n", _("name too long")); else player_set_name(player, text); g_free(text); return TRUE; } if (sm_recv(sm, "style %S", &text)) { if (player->style) g_free(player->style); player->style = text; player_broadcast(player, PB_ALL, V0_11, LATEST_VERSION, "style %s\n", text); return TRUE; } break; default: break; } return FALSE; } static gboolean mode_unhandled(Player * player, gint event) { StateMachine *sm = player->sm; gchar *text; switch (event) { case SM_RECV: if (sm_recv(sm, "extension %S", &text)) { player_send(player, FIRST_VERSION, LATEST_VERSION, "NOTE %s\n", N_("ignoring unknown extension")); log_message(MSG_INFO, "ignoring unknown extension from %s: %s\n", player->name, text); g_free(text); return TRUE; } break; default: break; } return FALSE; } /* Called to start the game (if it hasn't been yet). Add computer * players to fill any empty spots * */ static gboolean tournament_start_cb(gpointer data) { guint i; Game *game = (Game *) data; GList *player; gboolean human_player_present; g_source_remove(game->tournament_timer); game->tournament_timer = 0; /* if game already started */ if (game->num_players == game->params->num_players) return FALSE; if (game->num_players == 0) { player_broadcast(player_none(game), PB_SILENT, FIRST_VERSION, LATEST_VERSION, "NOTE %s\n", N_ ("The last player left, the " "tournament timer is reset.")); game->tournament_countdown = game->params->tournament_time; return FALSE; } /* remove all disconnected players */ playerlist_inc_use_count(game); for (player = game->player_list; player != NULL; player = g_list_next(player)) { Player *p = player->data; if (p->disconnected && !sm_get_use_cache(p->sm)) { player_free(p); } } playerlist_dec_use_count(game); /* if no human players are present, quit */ playerlist_inc_use_count(game); human_player_present = FALSE; for (player = game->player_list; player != NULL && !human_player_present; player = g_list_next(player)) { Player *p = player->data; if (!player_is_spectator(game, p->num) && determine_player_type(p->style) == PLAYER_HUMAN) { human_player_present = TRUE; } } playerlist_dec_use_count(game); if (!human_player_present) { player_broadcast(player_none(game), PB_SILENT, FIRST_VERSION, LATEST_VERSION, "NOTE %s\n", N_("No human players present. Bye.")); request_server_stop(game); return FALSE; } player_broadcast(player_none(game), PB_SILENT, FIRST_VERSION, LATEST_VERSION, "NOTE %s\n", N_("Game starts, adding computer players.")); /* add computer players to start game */ for (i = game->num_players; i < game->params->num_players; i++) { add_computer_player(game, TRUE); } return FALSE; } /* * Keep players notified about when the tournament game is going to start * */ static gboolean talk_about_tournament_cb(gpointer data) { Game *game = (Game *) data; const gchar *message; /* if game already started */ if (game->num_players == game->params->num_players) return FALSE; if (game->num_players == 0) { if (game->tournament_timer != 0) { player_broadcast(player_none(game), PB_SILENT, FIRST_VERSION, LATEST_VERSION, "NOTE %s\n", N_ ("The last player left, the " "tournament timer is reset.")); game->tournament_countdown = game->params->tournament_time; g_source_remove(game->tournament_timer); game->tournament_timer = 0; } return FALSE; } /* ngettext can not be used here, * because the string must be sent untranslated */ message = game->tournament_countdown != 1 ? N_("The game starts in %s minutes.") : N_("The game starts in %s minute."); player_broadcast(player_none(game), PB_SILENT, FIRST_VERSION, LATEST_VERSION, "NOTE1 %d|%s\n", game->tournament_countdown, message); game->tournament_countdown--; if (game->tournament_countdown > 0) g_timeout_add(tournament_minute, &talk_about_tournament_cb, game); return FALSE; } /** Generate a name for a computer player. * The name will be unique for the game. */ static gchar *generate_name_for_computer_player(Game * game) { gchar *filename; FILE *stream; gchar *line; gchar *name = NULL; int num = 1; filename = g_build_filename(get_pioneers_dir(), "computer_names", NULL); stream = fopen(filename, "r"); if (!stream) { g_warning("Unable to open %s", filename); /* Default name for the AI when the computer_names file * is not found or empty. */ } else { while (read_line_from_file(&line, stream)) { if (player_by_name(game, line) == NULL) { if (g_random_int_range(0, num) == 0) { if (name) g_free(name); name = g_strdup(line); } num++; } } fclose(stream); if (num == 1) { g_warning("Empty file or all names taken: %s", filename); } } g_free(filename); if (name == NULL) { gint counter = 2; /* Default name for the AI when the computer_names file * is not found or empty. */ name = g_strdup(_("Computer Player")); while (player_by_name(game, name) != NULL) { g_free(name); name = g_strdup_printf("%s (%d)", _("Computer Player"), counter++); } } return name; } /** Add a new computer player (disconnected) */ gchar *player_new_computer_player(Game * game) { Player *player; gchar *name; /* Reserve the name, so the names of the computer players will be unique */ name = generate_name_for_computer_player(game); player = player_new(game, name); player->disconnected = TRUE; sm_goto(player->sm, (StateFunc) mode_idle); return name; } /** Allocate a new Player struct. * The StateMachine is not initialized. * */ Player *player_new(Game * game, const gchar * name) { Player *player; StateMachine *sm; player = g_malloc0(sizeof(*player)); sm = player->sm = sm_new(player); sm_global_set(sm, (StateFunc) mode_global); sm_unhandled_set(sm, (StateFunc) mode_unhandled); player->game = game; player->location = g_strdup("not connected"); player->devel = deck_new(); game->player_list = g_list_append(game->player_list, player); player->num = -1; player->chapel_played = 0; player->univ_played = 0; player->gov_played = 0; player->libr_played = 0; player->market_played = 0; player->islands_discovered = 0; player->disconnected = FALSE; player->name = g_strdup(name); player->style = NULL; player->special_points = NULL; player->special_points_next_id = 0; driver->player_change(game); return player; } Player *player_new_connection(Game * game, Session * ses) { gchar name[100]; size_t i; Player *player; StateMachine *sm; GError *error; gchar *location; gchar *port; error = NULL; if (!net_get_peer_name(ses, &location, &port, &error)) { /* %s = error message */ log_message(MSG_ERROR, _("Unable to determine the " "hostname of the player: %s"), error->message); g_error_free(error); } /* give player a name, some functions need it */ strcpy(name, "connecting"); for (i = strlen(name); i < G_N_ELEMENTS(name) - 1; ++i) { if (player_by_name(game, name) == NULL) break; name[i] = '_'; name[i + 1] = 0; } if (i == G_N_ELEMENTS(name) - 1) { /* there are too many pending connections */ net_write(ses, "ERR Too many connections\n"); g_free(location); g_free(port); return NULL; } if (game->is_game_over) { /* The game is over, don't accept new players */ /* Message to send to the client when the game is already over * when a connection is made. */ net_printf(ses, "NOTE %s\n", N_("Sorry, game is over.")); log_message(MSG_INFO, _("Player from %s is refused: game is over\n"), location); g_free(location); g_free(port); return NULL; } player = player_new(game, name); sm = player->sm; sm_set_session(sm, ses); net_set_check_connection_alive(ses, 30); g_free(player->location); player->location = g_strdup(location); /* Cache messages of the game in progress until all initial * messages have been sent */ sm_set_use_cache(sm, TRUE); sm_goto(sm, (StateFunc) mode_check_version); driver->player_change(game); return player; } /* set the player name. Most of the time, player_set_name is called instead, * which calls this function with public set to TRUE. Only player_setup calls * this with public == FALSE, because it doesn't want the broadcast. */ static void player_set_name_real(Player * player, gchar * name, gboolean public) { Game *game = player->game; Player *player_temp; g_assert(name[0] != 0); if (((player_temp = player_by_name(game, name)) != NULL) && (player_temp != player)) { /* make it a note, not an error, so nothing bad happens * (on error the AI would disconnect) */ player_send(player, FIRST_VERSION, LATEST_VERSION, "NOTE %s\n", N_("" "Name not changed: new name is already in use")); return; } if (player->name != name) { g_free(player->name); player->name = g_strdup(name); } if (public) player_broadcast(player, PB_ALL, FIRST_VERSION, LATEST_VERSION, "is %s\n", player->name); driver->player_renamed(player); driver->player_change(game); } static void player_setup(Player * player, gint playernum, const gchar * name, gboolean force_spectator) { gchar nm[MAX_NAME_LENGTH + 1]; Game *game = player->game; StateMachine *sm = player->sm; Player *other; player->num = playernum; if (player->num < 0) { player->num = next_free_player_num(game, force_spectator); } if (!player_is_spectator(game, player->num)) { game->num_players++; meta_report_num_players(game->num_players); } player->num_roads = 0; player->num_bridges = 0; player->num_ships = 0; player->num_settlements = 0; player->num_cities = 0; /* give the player her new name */ if (name == NULL) { if (player_is_spectator(game, player->num)) { gint num = 1; do { sprintf(nm, _("Spectator %d"), num++); } while (player_by_name(game, nm) != NULL); } else { sprintf(nm, _("Player %d"), player->num); } } else { strncpy(nm, name, G_N_ELEMENTS(nm)); nm[G_N_ELEMENTS(nm) - 1] = '\0'; } /* if the new name exists, try padding it with underscores */ other = player_by_name(game, nm); if (other != player && other != NULL) { size_t i; /* add underscores until the name is unique */ for (i = strlen(nm); i < G_N_ELEMENTS(nm) - 1; ++i) { if (player_by_name(game, nm) == NULL) break; nm[i] = '_'; nm[i + 1] = 0; } /* Adding underscores was not enough to make the name unique. * While staying within the maximum name length, * create numbers at the end of the name. * Repeat until an unique name has been found. */ while (player_by_name(game, nm)) { gint digit = 10; i = G_N_ELEMENTS(nm) - 1; while (digit == 10 && i > 0) { /* Digit will be: 0..10 */ --i; digit = g_ascii_digit_value(nm[i]) + 1; nm[i] = (gchar) ('0' + digit % 10); } } } /* copy the (possibly new) name to dynamic memory */ /* don't broadcast the name. This is done by mode_pre_game, after * telling the user how many players are in the game. * That should keep things easier for the client. */ player_set_name_real(player, nm, FALSE); /* add the info in the output device */ driver->player_added(player); driver->player_change(game); if (playernum < 0) sm_goto(sm, (StateFunc) mode_pre_game); } void player_free(Player * player) { Game *game = player->game; if (game->player_list_use_count > 0) { game->dead_players = g_list_append(game->dead_players, player); player->disconnected = TRUE; return; } game->player_list = g_list_remove(game->player_list, player); driver->player_change(game); sm_free(player->sm); } static gboolean timed_out(gpointer data) { Game *game = data; log_message(MSG_INFO, _("" "Was hanging around for too long without players... bye.\n")); player_broadcast(player_none(game), PB_SILENT, FIRST_VERSION, LATEST_VERSION, "NOTE %s\n", N_("No human players present. Bye.")); request_server_stop(game); return FALSE; } void player_archive(Player * player) { StateFunc state; Game *game = player->game; gboolean human_player_present; GList *pl; /* If this was a spectator, forget about him */ if (player_is_spectator(game, player->num)) { player_free(player); return; } /* If this game can't be started, forget old players */ if (params_game_is_unstartable(game->params)) { player_free(player); return; } /* If the player was in the middle of a trade, pop the state machine and inform others as necessary */ state = sm_current(player->sm); if (state == (StateFunc) mode_domestic_quote_rejected) { /* No special actions needed */ } else if (state == (StateFunc) mode_domestic_quote) { /* Retract all quotes */ for (;;) { QuoteInfo *quote; quote = quotelist_find_domestic(game->quotes, player->num, -1); if (quote == NULL) break; quotelist_delete(game->quotes, quote); player_broadcast(player, PB_RESPOND, FIRST_VERSION, LATEST_VERSION, "domestic-quote delete %d\n", quote->var.d.quote_num); } } else if (state == (StateFunc) mode_domestic_initiate) { /* End the trade */ trade_finish_domestic(player); } /* If the player was robbing something, auto-undo to robber * placement. */ if (state == (StateFunc) mode_select_robbed || state == (StateFunc) mode_select_pirated) robber_undo(player); /* Mark the player as disconnected */ player->disconnected = TRUE; game->num_players--; meta_report_num_players(game->num_players); /* if no human players are present, start timer */ playerlist_inc_use_count(game); human_player_present = FALSE; for (pl = game->player_list; pl != NULL && !human_player_present; pl = g_list_next(pl)) { Player *p = pl->data; if (!player_is_spectator(game, p->num) && !p->disconnected && determine_player_type(p->style) == PLAYER_HUMAN) { human_player_present = TRUE; } } playerlist_dec_use_count(game); if (!human_player_present && game->no_humans_timer == 0 && is_tournament_game(game)) { game->no_humans_timer = g_timeout_add(time_to_wait_for_players, timed_out, game); player_broadcast(player_none(game), PB_SILENT, FIRST_VERSION, LATEST_VERSION, "NOTE %s\n", N_ ("The last human player left. Waiting for the return of a player.")); } } /* Try to revive the player newp: Player* attempt to revive this player name: The player wants to have this name, if possible */ void player_revive(Player * newp, char *name) { Game *game = newp->game; GList *current = NULL; Player *p = NULL; gboolean reviving_player_in_setup; gchar *safe_name; if (game->no_humans_timer != 0) { g_source_remove(game->no_humans_timer); game->no_humans_timer = 0; player_broadcast(player_none(game), PB_SILENT, FIRST_VERSION, LATEST_VERSION, "NOTE %s\n", N_("Resuming the game.")); } /* first see if a player with the given name exists */ if (name) { playerlist_inc_use_count(game); for (current = game->player_list; current != NULL; current = g_list_next(current)) { p = current->data; if (!strcmp(name, p->name)) if (p->disconnected && !sm_get_use_cache(p->sm) && p != newp) break; } playerlist_dec_use_count(game); } /* if not, try to find an unused player number */ if (current == NULL) { gint num; num = next_free_player_num(game, FALSE); if (num < (gint) game->params->num_players) { player_setup(newp, -1, name, FALSE); return; } } /* if not, try to take over another disconnected player */ if (current == NULL) { playerlist_inc_use_count(game); for (current = game->player_list; current != NULL; current = g_list_next(current)) { p = current->data; if (p->disconnected && !sm_get_use_cache(p->sm) && p != newp) break; } playerlist_dec_use_count(game); } /* if still no player is found, do a normal setup */ if (current == NULL) { player_setup(newp, -1, name, FALSE); return; } /* Reviving the player that is currently in the setup phase */ reviving_player_in_setup = (game->setup_player && game->setup_player->data == p); /* remove the disconnected player from the player list, it's memory will be freed at the end of this routine */ game->player_list = g_list_remove(game->player_list, p); /* initialize the player */ player_setup(newp, p->num, name, FALSE); /* mark the player as a reconnect */ newp->disconnected = TRUE; /* Don't use the old player's name */ /* copy over all the data from p */ g_assert(newp->build_list == NULL); newp->build_list = p->build_list; p->build_list = NULL; /* prevent deletion */ memcpy(newp->prev_assets, p->prev_assets, sizeof(newp->prev_assets)); memcpy(newp->assets, p->assets, sizeof(newp->assets)); newp->gold = p->gold; /* take over the development deck */ deck_free(newp->devel, NULL); newp->devel = p->devel; p->devel = NULL; g_assert(newp->special_points == NULL); newp->special_points = p->special_points; p->special_points = NULL; /* prevent deletion */ newp->discard_num = p->discard_num; newp->num_roads = p->num_roads; newp->num_bridges = p->num_bridges; newp->num_ships = p->num_ships; newp->num_settlements = p->num_settlements; newp->num_cities = p->num_cities; newp->num_soldiers = p->num_soldiers; newp->develop_points = p->develop_points; newp->chapel_played = p->chapel_played; newp->univ_played = p->univ_played; newp->gov_played = p->gov_played; newp->libr_played = p->libr_played; newp->market_played = p->market_played; /* Not copied: sm, game, location, num, client_version */ sm_copy_stack(newp->sm, p->sm); if (sm_current(newp->sm) != (StateFunc) mode_pre_game) sm_push(newp->sm, (StateFunc) mode_pre_game); else sm_goto(newp->sm, (StateFunc) mode_pre_game); /* Copy longest road and largest army */ if (game->longest_road == p) game->longest_road = newp; if (game->largest_army == p) game->largest_army = newp; if (reviving_player_in_setup) { /* Restore the pointer */ game->setup_player = game->player_list; while (game->setup_player && game->setup_player->data != newp) { game->setup_player = g_list_next(game->setup_player); } g_assert(game->setup_player != NULL); } p->num = -1; /* prevent the number of players from getting decremented */ player_free(p); /* Make sure the name in the broadcast doesn't contain the separator */ safe_name = g_strdup(newp->name); g_strdelimit(safe_name, "|", '_'); player_broadcast(newp, PB_SILENT, FIRST_VERSION, LATEST_VERSION, "NOTE1 %s|%s\n", safe_name, /* %s is the name of the reconnecting player */ N_("%s has reconnected.")); g_free(safe_name); return; } gboolean mode_spectator(Player * player, gint event) { gint num; Game *game = player->game; StateMachine *sm = player->sm; Player *other; sm_state_name(sm, "mode_spectator"); if (event != SM_RECV) return FALSE; /* first see if this is a valid event for this mode */ if (sm_recv(sm, "play")) { /* try to be the first available player */ num = next_free_player_num(game, FALSE); if (num >= (gint) game->params->num_players) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR game-full"); return TRUE; } } else if (sm_recv(sm, "play %d", &num)) { /* try to be the specified player number */ if (num >= (gint) game->params->num_players || num < 0 || !player_by_num(game, num)->disconnected) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR invalid-player"); return TRUE; } } else /* input was not what we expected, * see if mode_unhandled likes it */ return FALSE; other = player_by_num(game, num); if (other == NULL) { player_send(player, FIRST_VERSION, LATEST_VERSION, "Ok\n"); player_broadcast(player, PB_ALL, FIRST_VERSION, LATEST_VERSION, "was spectator %d\n", player->num); sm_set_use_cache(player->sm, TRUE); player_setup(player, -1, player->name, FALSE); sm_goto(sm, (StateFunc) mode_pre_game); return TRUE; } sm_set_use_cache(player->sm, TRUE); player_revive(player, player->name); return TRUE; } static gboolean mode_bad_version(Player * player, gint event) { StateMachine *sm = player->sm; sm_state_name(sm, "mode_bad_version"); switch (event) { case SM_ENTER: player_send_uncached(player, FIRST_VERSION, LATEST_VERSION, "ERR sorry, version conflict\n"); player_free(player); break; } return FALSE; } static gboolean mode_check_version(Player * player, gint event) { StateMachine *sm = player->sm; gchar *version; sm_state_name(sm, "mode_check_version"); switch (event) { case SM_ENTER: player_send_uncached(player, UNKNOWN_VERSION, UNKNOWN_VERSION, "version report\n"); break; case SM_RECV: if (sm_recv(sm, "version %S", &version)) { ClientVersionType cvt = client_version_type_from_string(version); player->version = cvt; if (can_client_connect_to_server (cvt, LATEST_VERSION)) { sm_goto(sm, (StateFunc) mode_check_status); } else { gchar *mismatch = g_strdup_printf("%s <-> %s", client_version_type_to_string (LATEST_VERSION), version); /* Make sure the argument does not contain the separator */ g_strdelimit(mismatch, "|", '_'); player_send_uncached(player, cvt, cvt, "NOTE1 %s|%s\n", mismatch, N_("" "Version mismatch: %s")); g_free(mismatch); sm_goto(sm, (StateFunc) mode_bad_version); } g_free(version); return TRUE; } break; default: break; } return FALSE; } static void start_tournament_mode(Player * player) { Game *game = player->game; if (is_tournament_game(game)) { /* if first player in and this is a tournament start the timer */ if (game->num_players == 1) { game->tournament_countdown = game->params->tournament_time; game->tournament_timer = g_timeout_add(game->tournament_countdown * tournament_minute + 500, &tournament_start_cb, game); g_timeout_add(1000, &talk_about_tournament_cb, game); } else { if (game->tournament_timer != 0 && game->num_players != game->params->num_players) { player_send(player, FIRST_VERSION, LATEST_VERSION, "NOTE %s\n", N_ ("This game will start soon.")); } } } } static gboolean mode_check_status(Player * player, gint event) { StateMachine *sm = player->sm; gchar *playername; sm_state_name(sm, "mode_check_status"); switch (event) { case SM_ENTER: player_send_uncached(player, FIRST_VERSION, LATEST_VERSION, "status report\n"); break; case SM_RECV: if (sm_recv(sm, "status newplayer")) { player_setup(player, -1, NULL, FALSE); start_tournament_mode(player); return TRUE; } if (sm_recv(sm, "status reconnect %S", &playername)) { /* if possible, try to revive the player */ player_revive(player, playername); g_free(playername); start_tournament_mode(player); return TRUE; } if (sm_recv(sm, "status newviewer")) { player_setup(player, -1, NULL, TRUE); return TRUE; } if (sm_recv(sm, "status viewer %S", &playername)) { player_setup(player, -1, playername, TRUE); g_free(playername); return TRUE; } break; default: break; } return FALSE; } /* Returns a GList* to player 0 */ GList *player_first_real(Game * game) { GList *list; /* search for player 0 */ playerlist_inc_use_count(game); for (list = game->player_list; list != NULL; list = g_list_next(list)) { Player *player = list->data; if (player->num == 0) break; } playerlist_dec_use_count(game); return list; } /* Returns a GList * to a player with a number one higher than last */ GList *player_next_real(GList * last) { Player *player; Game *game; guint numplayers; gint nextnum; GList *list; if (!last) return NULL; player = last->data; game = player->game; numplayers = game->params->num_players; nextnum = player->num + 1; if (nextnum >= (gint) numplayers) return NULL; playerlist_inc_use_count(game); for (list = game->player_list; list != NULL; list = g_list_next(list)) { Player *scan = list->data; if (scan->num == nextnum) break; } playerlist_dec_use_count(game); return list; } static Player *player_by_name(Game * game, char *name) { GList *list; playerlist_inc_use_count(game); for (list = game->player_list; list != NULL; list = g_list_next(list)) { Player *player = list->data; if (player->name != NULL && strcmp(player->name, name) == 0) { playerlist_dec_use_count(game); return player; } } playerlist_dec_use_count(game); return NULL; } Player *player_by_num(Game * game, gint num) { GList *list; playerlist_inc_use_count(game); for (list = game->player_list; list != NULL; list = g_list_next(list)) { Player *player = list->data; if (player->num == num) { playerlist_dec_use_count(game); return player; } } playerlist_dec_use_count(game); return NULL; } gboolean player_is_spectator(Game * game, gint player_num) { return (gint) game->params->num_players <= player_num; } /* Returns a player that's not part of the game. */ Player *player_none(Game * game) { static Player player; player.game = game; player.num = -1; player.disconnected = TRUE; return &player; } /** Broadcast a message to all players and spectators - prepend "player %d " to * all players except the one generating the message. * Also prepend 'extension' when this message is a protocol extension. * * send to PB_SILENT PB_RESPOND PB_ALL PB_OTHERS * player - - + ** * other - + + + * ** = don't send to the player * + = prepend 'player %d' to the message * - = don't alter the message */ static void player_broadcast_internal(Player * player, BroadcastType type, const gchar * message, gboolean is_extension, ClientVersionType first_supported_version, ClientVersionType last_supported_version) { Game *game = player->game; GList *list; playerlist_inc_use_count(game); for (list = game->player_list; list != NULL; list = g_list_next(list)) { Player *scan = list->data; if ((scan->disconnected && !sm_get_use_cache(scan->sm)) || scan->num < 0 || scan->version < first_supported_version || scan->version > last_supported_version) continue; if (type == PB_SILENT || (scan == player && type == PB_RESPOND)) { if (is_extension) { player_send(scan, first_supported_version, last_supported_version, "extension %s", message); } else { player_send(scan, first_supported_version, last_supported_version, "%s", message); } } else if (scan != player || type == PB_ALL) { if (is_extension) { player_send(scan, first_supported_version, last_supported_version, "extension player %d %s", player->num, message); } else { player_send(scan, first_supported_version, last_supported_version, "player %d %s", player->num, message); } } } playerlist_dec_use_count(game); } /** As player_broadcast, but will add the 'extension' keyword */ void player_broadcast_extension(Player * player, BroadcastType type, ClientVersionType first_supported_version, ClientVersionType last_supported_version, const char *fmt, ...) { gchar *buff; va_list ap; va_start(ap, fmt); buff = game_vprintf(fmt, ap); va_end(ap); player_broadcast_internal(player, type, buff, TRUE, first_supported_version, last_supported_version); g_free(buff); } /** Broadcast a message to all players and spectators */ void player_broadcast(Player * player, BroadcastType type, ClientVersionType first_supported_version, ClientVersionType last_supported_version, const char *fmt, ...) { gchar *buff; va_list ap; va_start(ap, fmt); buff = game_vprintf(fmt, ap); va_end(ap); player_broadcast_internal(player, type, buff, FALSE, first_supported_version, last_supported_version); g_free(buff); } /** Send a message to one player */ void player_send(Player * player, ClientVersionType first_supported_version, ClientVersionType last_supported_version, const char *fmt, ...) { gchar *buff; va_list ap; if (player->version < first_supported_version || player->version > last_supported_version) return; va_start(ap, fmt); buff = game_vprintf(fmt, ap); va_end(ap); sm_write(player->sm, buff); g_free(buff); } /** Send a message to one player, even when caching is turned on */ void player_send_uncached(Player * player, ClientVersionType first_supported_version, ClientVersionType last_supported_version, const char *fmt, ...) { gchar *buff; va_list ap; if (player->version < first_supported_version || player->version > last_supported_version) return; va_start(ap, fmt); buff = game_vprintf(fmt, ap); va_end(ap); sm_write_uncached(player->sm, buff); g_free(buff); } void player_set_name(Player * player, gchar * name) { player_set_name_real(player, name, TRUE); } void player_remove(Player * player) { driver->player_removed(player); } GList *list_from_player(Player * player) { GList *list; for (list = player_first_real(player->game); list != NULL; list = player_next_real(list)) if (list->data == player) break; g_assert(list != NULL); return list; } GList *next_player_loop(GList * current, Player * first) { current = player_next_real(current); if (current == NULL) current = player_first_real(first->game); if (current->data == first) return NULL; return current; } void playerlist_inc_use_count(Game * game) { game->player_list_use_count++; } void playerlist_dec_use_count(Game * game) { game->player_list_use_count--; if (game->player_list_use_count == 0) { GList *current; GList *all_dead_players; current = game->dead_players; all_dead_players = game->dead_players; /* Remember this for g_list_free */ game->dead_players = NULL; /* Clear the list */ for (; current != NULL; current = g_list_next(current)) { Player *p = current->data; player_free(p); } g_list_free(all_dead_players); } } pioneers-15.5/server/server.c0000644000175000017500000002427313252223516013202 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include #include "server.h" #include "network.h" #include "avahi.h" #include "game-list.h" #include "random.h" #define TERRAIN_DEFAULT 0 #define TERRAIN_RANDOM 1 static gboolean timed_out(gpointer data) { Game *game = data; log_message(MSG_INFO, _("" "Was hanging around for too long without players... bye.\n")); request_server_stop(game); return FALSE; } void start_timeout(Game * game) { if (!game->no_player_timeout) return; game->no_player_timer = g_timeout_add(game->no_player_timeout * 1000, timed_out, game); } void stop_timeout(Game * game) { if (game->no_player_timer != 0) { g_source_remove(game->no_player_timer); game->no_player_timer = 0; } } Game *game_new(const GameParams * params) { Game *game; guint idx; game = g_malloc0(sizeof(*game)); game->service = NULL; game->is_running = FALSE; game->is_game_over = FALSE; game->is_manipulated = FALSE; game->params = params_copy(params); game->curr_player = -1; for (idx = 0; idx < G_N_ELEMENTS(game->bank_deck); idx++) game->bank_deck[idx] = game->params->resource_count; develop_shuffle(game); if (params->random_terrain) map_shuffle_terrain(game->params->map); return game; } void game_free(Game * game) { if (game == NULL) return; server_stop(game); g_assert(game->player_list_use_count == 0); if (game->server_port != NULL) g_free(game->server_port); params_free(game->params); net_service_free(game->service); game->service = NULL; g_free(game); } gint add_computer_player(Game * game, gboolean want_chat) { gchar *child_argv[10]; GError *error = NULL; gint ret = 0; gint n = 0; gint i; child_argv[n++] = g_strdup(PIONEERS_AI_PROGRAM_NAME); child_argv[n++] = g_strdup(PIONEERS_AI_PROGRAM_NAME); child_argv[n++] = g_strdup("-s"); child_argv[n++] = g_strdup(PIONEERS_DEFAULT_GAME_HOST); child_argv[n++] = g_strdup("-p"); child_argv[n++] = g_strdup(game->server_port); child_argv[n++] = g_strdup("-n"); child_argv[n++] = player_new_computer_player(game); if (!want_chat) child_argv[n++] = g_strdup("-c"); child_argv[n] = NULL; g_assert(n < 10); if (!g_spawn_async (NULL, child_argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, &error)) { log_message(MSG_ERROR, _("Error starting %s: %s\n"), child_argv[0], error->message); g_error_free(error); ret = -1; } for (i = 0; child_argv[i] != NULL; i++) g_free(child_argv[i]); return ret; } static void player_connect(Session * ses, NetEvent event, G_GNUC_UNUSED const gchar * line, gpointer user_data) { Game *game = (Game *) user_data; switch (event) { case NET_READ: /* there is data to be read */ break; case NET_CLOSE: /* connection has been closed */ net_free(&ses); break; case NET_CONNECT: /* new connection was made */ if (player_new_connection(game, ses) != NULL) { stop_timeout(game); } else { net_close(ses); } break; case NET_CONNECT_FAIL: /* connect failed */ net_free(&ses); break; } } static gboolean game_server_start(Game * game, gboolean register_server, const gchar * metaserver_name) { gchar *error_message; game->service = net_service_new(atoi(game->server_port), player_connect, game, &error_message); if (game->service == NULL) { log_message(MSG_ERROR, "%s\n", error_message); g_free(error_message); return FALSE; } game->is_running = TRUE; start_timeout(game); if (register_server) { g_assert(metaserver_name != NULL); meta_register(metaserver_name, game); } avahi_register_game(game); return TRUE; } /** Try to start a new server. * @param params The parameters of the game * @param hostname The hostname that will be visible in the metaserver * @param port The port to listen to * @param register_server Register at the metaserver * @param metaserver_name The hostname of the metaserver * @param random_order Randomize the player number * @return A pointer to the new game, or NULL */ Game *server_start(const GameParams * params, const gchar * hostname, const gchar * port, gboolean register_server, const gchar * metaserver_name, gboolean random_order) { Game *game; guint32 randomseed; g_return_val_if_fail(params != NULL, NULL); g_return_val_if_fail(port != NULL, NULL); #ifdef PRINT_INFO g_print("game type: %s\n", params->title); g_print("num players: %u\n", params->num_players); g_print("victory points: %u\n", params->victory_points); g_print("terrain type: %s\n", (params->random_terrain) ? "random" : "default"); g_print("Tournament time: %u\n", params->tournament_time); g_print("Quit when done: %d\n", params->quit_when_done); #endif /* create new random seed, to be able to reproduce games */ randomseed = random_init(); log_message(MSG_INFO, "%s #%" G_GUINT32_FORMAT ".%s.%03u\n", /* Server: preparing game #..... */ _("Preparing game"), randomseed, "G", random_guint(1000)); game = game_new(params); g_assert(game->server_port == NULL); game->server_port = g_strdup(port); g_assert(game->hostname == NULL); if (hostname && strlen(hostname) > 0) { game->hostname = g_strdup(hostname); } game->random_order = random_order; if (!game_server_start(game, register_server, metaserver_name)) { game_free(game); game = NULL; } return game; } /** Stop the server. * @param game A game * @return TRUE if the game changed from running to stopped */ gboolean server_stop(Game * game) { GList *current; if (!server_is_running(game)) return FALSE; meta_unregister(); avahi_unregister_game(); game->is_running = FALSE; net_service_free(game->service); game->service = NULL; playerlist_inc_use_count(game); current = game->player_list; while (current != NULL) { Player *player = current->data; if (!player->disconnected) { player_remove(player); } player_free(player); current = g_list_next(current); } playerlist_dec_use_count(game); return TRUE; } /** Return true if a game is running */ gboolean server_is_running(Game * game) { if (game != NULL) return game->is_running; return FALSE; } /* game configuration functions / callbacks */ void cfg_set_num_players(GameParams * params, gint num_players) { #ifdef PRINT_INFO g_print("cfg_set_num_players: %d\n", num_players); #endif g_return_if_fail(params != NULL); params->num_players = (guint) CLAMP(num_players, 2, MAX_PLAYERS); } void cfg_set_sevens_rule(GameParams * params, gint sevens_rule) { #ifdef PRINT_INFO g_print("cfg_set_sevens_rule: %d\n", sevens_rule); #endif g_return_if_fail(params != NULL); params->sevens_rule = CLAMP(sevens_rule, 0, 2); } void cfg_set_use_dice_deck(GameParams * params, gboolean use_dice_deck) { #ifdef PRINT_INFO g_print("cfg_set_dice_deck: %d\n", use_dice_deck); #endif g_return_if_fail(params != NULL); params->use_dice_deck = use_dice_deck; } void cfg_set_num_dice_decks(GameParams * params, gint num_dice_decks) { #ifdef PRINT_INFO g_print("cfg_set_num-dice-decks: %d\n", num_dice_decks); #endif g_return_if_fail(params != NULL); params->num_dice_decks = CLAMP(num_dice_decks, 1, 5); } void cfg_set_num_removed_dice_cards(GameParams * params, gint num_removed_dice_cards) { #ifdef PRINT_INFO g_print("cfg_set_dice_deck: %d\n", num_removed_dice_cards); #endif g_return_if_fail(params != NULL); params->num_removed_dice_cards = CLAMP(num_removed_dice_cards, 0, 30); } void cfg_set_victory_points(GameParams * params, gint victory_points) { #ifdef PRINT_INFO g_print("cfg_set_victory_points: %d\n", victory_points); #endif g_return_if_fail(params != NULL); params->victory_points = (guint) MAX(3, victory_points); } GameParams *cfg_set_game(const gchar * game) { #ifdef PRINT_INFO g_print("cfg_set_game: %s\n", game); #endif if (game_list_is_empty()) { game_list_prepare(); GameParams *param = params_copy(game_list_find_item(game)); game_list_cleanup(); return param; } else { return params_copy(game_list_find_item(game)); } } GameParams *cfg_set_game_file(const gchar * game_filename) { #ifdef PRINT_INFO g_print("cfg_set_game_file: %s\n", game_filename); #endif return params_load_file(game_filename); } void cfg_set_terrain_type(GameParams * params, gint terrain_type) { #ifdef PRINT_INFO g_print("cfg_set_terrain_type: %d\n", terrain_type); #endif g_return_if_fail(params != NULL); params->random_terrain = (terrain_type == TERRAIN_RANDOM) ? 1 : 0; } void cfg_set_tournament_time(GameParams * params, gint tournament_time) { #ifdef PRINT_INFO g_print("cfg_set_tournament_time: %d\n", tournament_time); #endif g_return_if_fail(params != NULL); params->tournament_time = (guint) MAX(0, tournament_time); } void cfg_set_quit(GameParams * params, gboolean quitdone) { #ifdef PRINT_INFO g_print("cfg_set_quit: %d\n", quitdone); #endif g_return_if_fail(params != NULL); params->quit_when_done = quitdone; } void admin_broadcast(Game * game, const gchar * message) { /* The message that is sent must not be translated */ player_broadcast(player_none(game), PB_SILENT, FIRST_VERSION, LATEST_VERSION, "NOTE1 %s|%s\n", message, "%s"); } /* server initialization */ void server_init(void) { /* Broken pipes can happen when multiple players disconnect * simultaneously. This mostly happens to AI's, which disconnect * when the game is over. */ /* SIGPIPE does not exist for G_OS_WIN32 */ #ifndef G_OS_WIN32 struct sigaction sa; sa.sa_flags = 0; sigemptyset(&sa.sa_mask); sa.sa_handler = SIG_IGN; sigaction(SIGPIPE, &sa, NULL); #endif /* G_OS_WIN32 */ } pioneers-15.5/server/robber.c0000644000175000017500000002735213252223516013150 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include "server.h" #include "random.h" static Hex *previous_robber_hex; static void move_pirate(Player * player, Hex * hex, gboolean is_undo) { Map *map = hex->map; previous_robber_hex = map->pirate_hex; map->pirate_hex = hex; /* 0.10 didn't know about undo for movement, so move happens * only after stealing has been done. */ if (is_undo) { player_broadcast(player, PB_ALL, V0_11, LATEST_VERSION, "unmoved-pirate %d %d\n", hex->x, hex->y); } else { player_broadcast(player, PB_ALL, V0_11, LATEST_VERSION, "moved-pirate %d %d\n", hex->x, hex->y); } } static void move_robber(Player * player, Hex * hex, gboolean is_undo) { Map *map = hex->map; previous_robber_hex = map->robber_hex; if (map->robber_hex) map->robber_hex->robber = FALSE; map->robber_hex = hex; map->robber_hex->robber = TRUE; /* 0.10 didn't know about undo for movement, so move happens * only after stealing has been done. */ if (is_undo) { player_broadcast(player, PB_ALL, V0_11, LATEST_VERSION, "unmoved-robber %d %d\n", hex->x, hex->y); } else { player_broadcast(player, PB_ALL, V0_11, LATEST_VERSION, "moved-robber %d %d\n", hex->x, hex->y); } } static void steal_card_from(Player * player, Player * victim) { Game *game = player->game; guint idx; gint num; gint steal; GList *list; /* Work out how many cards the victim has */ num = 0; for (idx = 0; idx < G_N_ELEMENTS(victim->assets); idx++) num += victim->assets[idx]; if (num == 0) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR no-resources\n"); return; } /* Work out which card to steal from the victim */ steal = random_guint(num); for (idx = 0; idx < G_N_ELEMENTS(victim->assets); idx++) { steal -= victim->assets[idx]; if (steal < 0) break; } /* Now inform the various parties of the theft. All * interested parties find out which card was stolen, the * others just hear about the theft. */ for (list = game->player_list; list != NULL; list = g_list_next(list)) { Player *scan = list->data; if (scan->num >= 0 && !scan->disconnected) { if (scan == player || scan == victim) { player_send(scan, FIRST_VERSION, LATEST_VERSION, "player %d stole %r from %d\n", player->num, idx, victim->num); } else player_send(scan, FIRST_VERSION, LATEST_VERSION, "player %d stole from %d\n", player->num, victim->num); } } /* Alter the assets of the respective players */ player->assets[idx]++; victim->assets[idx]--; } static void done_robbing_pre_steal(Player * player) { Game *game = player->game; Map *map = game->params->map; Hex *hex = map_robber_hex(map); if (hex) { player_broadcast(player, PB_RESPOND, FIRST_VERSION, V0_10, "moved-robber %d %d\n", hex->x, hex->y); } } static void done_robbing_post_steal(Player * player) { sm_pop(player->sm); player_send(player, V0_11, LATEST_VERSION, "robber-done\n"); } static void do_select_robbed(Player * player, Hex * hex, gint victim_num) { Game *game = player->game; Player *owner; Resource resource; guint idx; /* Check if the victim has any resources */ owner = player_by_num(game, victim_num); if (!owner) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR bad-player: not found\n"); return; } for (resource = 0; resource < NO_RESOURCE; resource++) if (owner->assets[resource] != 0) break; if (resource == NO_RESOURCE) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR bad-player: no resources\n"); return; } for (idx = 0; idx < G_N_ELEMENTS(hex->nodes); idx++) { Node *node = hex->nodes[idx]; if (node->type == BUILD_NONE || node->owner != victim_num) continue; /* Victim has resources and has a building there: steal. */ done_robbing_pre_steal(player); steal_card_from(player, owner); done_robbing_post_steal(player); return; } player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR bad-player: no buildings\n"); } /* Wait for the player to select a building to rob */ gboolean mode_select_robbed(Player * player, gint event) { StateMachine *sm = player->sm; Game *game = player->game; Map *map = game->params->map; gint victim_num; Hex *hex; sm_state_name(sm, "mode_select_robbed"); hex = map_robber_hex(map); if (event == SM_ENTER) { player_send(player, FIRST_VERSION, LATEST_VERSION, "rob %d %d\n", hex->x, hex->y); return TRUE; } if (event != SM_RECV) return FALSE; if (sm_recv(sm, "undo")) { robber_undo(player); return TRUE; } if (!sm_recv(sm, "rob %d", &victim_num)) return FALSE; do_select_robbed(player, hex, victim_num); return TRUE; } static void do_select_pirated(Player * player, Hex * hex, gint victim_num) { Game *game = player->game; Player *owner; Resource resource; guint idx; /* Check if the victim has any resources */ owner = player_by_num(game, victim_num); if (!owner) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR bad-player: not found\n"); return; } for (resource = 0; resource < NO_RESOURCE; resource++) if (owner->assets[resource] != 0) break; if (resource == NO_RESOURCE) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR bad-player: no resources\n"); return; } for (idx = 0; idx < G_N_ELEMENTS(hex->edges); ++idx) { Edge *edge = hex->edges[idx]; if (edge->type != BUILD_SHIP || edge->owner != victim_num) continue; /* Victim has resources and has a ship there: steal. */ done_robbing_pre_steal(player); steal_card_from(player, owner); done_robbing_post_steal(player); return; } player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR bad-player: no ships\n"); } /* Wait for the player to select a ship to rob */ gboolean mode_select_pirated(Player * player, gint event) { StateMachine *sm = player->sm; Game *game = player->game; Map *map = game->params->map; gint victim_num; Hex *hex; sm_state_name(sm, "mode_select_pirated"); hex = map_pirate_hex(map); if (event == SM_ENTER) { player_send(player, FIRST_VERSION, LATEST_VERSION, "rob %d %d\n", hex->x, hex->y); return TRUE; } if (event != SM_RECV) return FALSE; if (sm_recv(sm, "undo")) { robber_undo(player); return TRUE; } if (!sm_recv(sm, "rob %d", &victim_num)) return FALSE; do_select_pirated(player, hex, victim_num); return TRUE; } /* Wait for the player to place the robber */ gboolean mode_place_robber(Player * player, gint event) { StateMachine *sm = player->sm; Game *game = player->game; Map *map = game->params->map; gint x, y; Hex *hex; guint idx; gint one_victim; gint victim_num = -1; gboolean old_style; sm_state_name(sm, "mode_place_robber"); if (event != SM_RECV) return FALSE; if (sm_recv(sm, "move-robber %d %d %d", &x, &y, &victim_num)) old_style = TRUE; else if (sm_recv(sm, "move-robber %d %d", &x, &y)) old_style = FALSE; else return FALSE; hex = map_hex(map, x, y); if (hex == NULL || !can_robber_or_pirate_be_moved(hex)) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR bad-pos\n"); return TRUE; } /* check if the pirate was moved. */ if (hex->terrain == SEA_TERRAIN) { move_pirate(player, hex, FALSE); /* If there is no-one to steal from, or the players have no * resources, we cannot steal resources. */ one_victim = -1; for (idx = 0; idx < G_N_ELEMENTS(hex->edges); ++idx) { Edge *edge = hex->edges[idx]; Player *owner; Resource resource; if (edge->type != BUILD_SHIP || edge->owner == player->num) /* Can't steal from myself */ continue; /* Check if the node owner has any resources */ owner = player_by_num(game, edge->owner); for (resource = 0; resource < NO_RESOURCE; resource++) if (owner->assets[resource] != 0) break; if (resource == NO_RESOURCE) continue; /* Has resources - we can steal */ if (one_victim == owner->num) /* We already knew about this player. */ continue; if (one_victim >= 0) /* This is the second victim, which means * there is choice. That's all we need to * know. */ break; one_victim = owner->num; } if (idx != G_N_ELEMENTS(hex->edges)) { /* There is choice for stealing. Wait for the * user to choose. */ if (old_style) { /* The user already chose. */ do_select_pirated(player, hex, victim_num); } else sm_goto(sm, (StateFunc) mode_select_pirated); return TRUE; } if (one_victim < 0) { /* No one to steal from - resume turn */ done_robbing_pre_steal(player); done_robbing_post_steal(player); return TRUE; } /* Only one victim: automatically steal. */ done_robbing_pre_steal(player); steal_card_from(player, player_by_num(game, one_victim)); done_robbing_post_steal(player); return TRUE; } /* It wasn't the pirate; it was the robber. */ move_robber(player, hex, FALSE); /* If there is no-one to steal from, or the players have no * resources, we cannot steal resources. */ one_victim = -1; for (idx = 0; idx < G_N_ELEMENTS(hex->nodes); idx++) { Node *node = hex->nodes[idx]; Player *owner; Resource resource; if (node->type == BUILD_NONE || node->owner == player->num) /* Can't steal from myself */ continue; /* Check if the node owner has any resources */ owner = player_by_num(game, node->owner); for (resource = 0; resource < NO_RESOURCE; resource++) if (owner->assets[resource] != 0) break; if (resource == NO_RESOURCE) continue; /* Has resources - we can steal */ if (one_victim == owner->num) /* We already knew about this player. */ continue; if (one_victim >= 0) /* This is the second victim, which means * there is choice. That's all we need to * know. */ break; one_victim = owner->num; } if (idx != G_N_ELEMENTS(hex->nodes)) { /* There is choice for stealing. Wait for the user to choose. */ if (old_style) { /* The user already chose. */ do_select_robbed(player, hex, victim_num); } else sm_goto(sm, (StateFunc) mode_select_robbed); return TRUE; } if (one_victim < 0) { /* No one to steal from - resume turn */ done_robbing_pre_steal(player); done_robbing_post_steal(player); return TRUE; } /* Only one victim: automatically steal. */ done_robbing_pre_steal(player); steal_card_from(player, player_by_num(game, one_victim)); done_robbing_post_steal(player); return TRUE; } void robber_place(Player * player) { StateMachine *sm = player->sm; player_broadcast(player, PB_OTHERS, FIRST_VERSION, LATEST_VERSION, "is-robber\n"); player_send(player, FIRST_VERSION, LATEST_VERSION, "you-are-robber\n"); sm_push(sm, (StateFunc) mode_place_robber); } void robber_undo(Player * player) { if (previous_robber_hex->terrain == SEA_TERRAIN) move_pirate(player, previous_robber_hex, TRUE); else move_robber(player, previous_robber_hex, TRUE); sm_goto(player->sm, (StateFunc) mode_place_robber); player_send(player, V0_11, LATEST_VERSION, "undo-robber\n"); } pioneers-15.5/server/discard.c0000644000175000017500000001254013252223516013277 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include "cost.h" #include "server.h" #include "random.h" static void check_finished_discard(Game * game, gboolean was_discard) { GList *list; /* is everyone finished yet? */ for (list = player_first_real(game); list != NULL; list = player_next_real(list)) if (((Player *) list->data)->discard_num > 0) break; if (list != NULL) return; /* tell players the discarding phase is over, but only if there * actually was a discarding phase */ if (was_discard) player_broadcast(player_none(game), PB_SILENT, FIRST_VERSION, LATEST_VERSION, "discard-done\n"); /* everyone is done discarding, pop all the state machines to their * original state and push the robber to whoever wants it. */ for (list = player_first_real(game); list != NULL; list = player_next_real(list)) { Player *scan = list->data; sm_pop(scan->sm); if (sm_current(scan->sm) == (StateFunc) mode_turn) robber_place(scan); } } /* Player should be idle - I will tell them when to do something */ gboolean mode_wait_for_other_discarding_players(Player * player, G_GNUC_UNUSED gint event) { StateMachine *sm = player->sm; sm_state_name(sm, "mode_wait_for_other_discarding_players"); return FALSE; } gboolean mode_discard_resources(Player * player, gint event) { StateMachine *sm = player->sm; Game *game = player->game; int idx; int num; int discards[NO_RESOURCE]; sm_state_name(sm, "mode_discard_resources"); if (event != SM_RECV) return FALSE; if (!sm_recv(sm, "discard %R", discards)) return FALSE; num = 0; for (idx = 0; idx < NO_RESOURCE; idx++) num += discards[idx]; if (num != player->discard_num || !cost_can_afford(discards, player->assets)) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR wrong-discard\n"); return TRUE; } /* Discard the resources */ player->discard_num = 0; resource_start(game); cost_buy(discards, player->assets); resource_end(game, "discarded", -1); /* wait for other to finish discarding too. The state will be * popped from check_finished_discard. */ sm_goto(sm, (StateFunc) mode_wait_for_other_discarding_players); check_finished_discard(game, TRUE); return TRUE; } /* Find all players that have exceeded the 7 resource card limit and * get them to discard. */ void discard_resources(Game * game) { GList *list; gboolean have_discard = FALSE; for (list = player_first_real(game); list != NULL; list = player_next_real(list)) { Player *scan = list->data; gint num; guint idx; gint num_types; num = 0; num_types = 0; for (idx = 0; idx < G_N_ELEMENTS(scan->assets); idx++) { num += scan->assets[idx]; if (scan->assets[idx] > 0) ++num_types; } if (num > 7 + scan->num_city_walls * 2) { scan->discard_num = num / 2; /* discard random resources of disconnected players */ /* also do auto-discard if there is no choice */ if (scan->disconnected || num_types == 1) { gint total = 0, resource[NO_RESOURCE]; for (idx = 0; idx < NO_RESOURCE; idx++) { resource[idx] = 0; total += scan->assets[idx]; } while (scan->discard_num) { gint choice = random_guint(total); for (idx = 0; idx < NO_RESOURCE; idx++) { choice -= scan->assets[idx]; if (choice < 0) break; } ++resource[idx]; --total; --scan->discard_num; --scan->assets[idx]; ++game->bank_deck[idx]; } player_broadcast(scan, PB_ALL, FIRST_VERSION, LATEST_VERSION, "discarded %R\n", resource); /* push idle to be popped off when all * players are finished discarding. */ sm_push(scan->sm, (StateFunc) mode_wait_for_other_discarding_players); } else { have_discard = TRUE; sm_push(scan->sm, (StateFunc) mode_discard_resources); player_broadcast(scan, PB_ALL, FIRST_VERSION, LATEST_VERSION, "must-discard %d\n", scan->discard_num); } } else { scan->discard_num = 0; /* nothing to do, but we need to push, because there * will be a pop in check_finished_discard. * The reason we cannot leave out both is that there * really is nothing to do, so it shouldn't react * on input. mode_idle does just that. All players * except the one whose turn it is were idle anyway, * so it only changes things for that player (he cannot * just start playing, which is good). */ sm_push(scan->sm, (StateFunc) mode_wait_for_other_discarding_players); } } check_finished_discard(game, have_discard); } pioneers-15.5/server/avahi.c0000644000175000017500000001602413252223516012757 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * Copyright (C) 2004-2010 Avahi http://avahi.org * Copyright (C) 2010 Andreas Steinel * Copyright (C) 2010 Roland Clobus * * This file is originally based on client-publish-service.c last committed on * 2006-01-27 20:34:22Z by lennart. * It got adapted to glib instead from pure avahi * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ /* Translation note: the Avahi error messages are not translated, * because the strings returned by Avahi aren't either */ #include "config.h" #include "avahi.h" #include "network.h" #include "log.h" #include #ifdef HAVE_AVAHI #include #include #include #include #include #include #include #include static AvahiEntryGroup *group = NULL; static AvahiGLibPoll *glib_poll = NULL; static AvahiClient *client = NULL; static char *name = NULL; static void create_services(AvahiClient * c, Game * game); static void entry_group_callback(AvahiEntryGroup * g, AvahiEntryGroupState state, void *userdata) { Game *game = (Game *) userdata; /* Called whenever the entry group state changes */ switch (state) { case AVAHI_ENTRY_GROUP_ESTABLISHED: /* The entry group has been established successfully */ log_message(MSG_INFO, _("Avahi registration successful.\n")); break; case AVAHI_ENTRY_GROUP_COLLISION:{ /* A service name collision happened. Let's pick a new name */ gchar *n = avahi_alternative_service_name(name); avahi_free(name); name = n; log_message(MSG_INFO, _ ("Avahi service name collision, renaming service to '%s'.\n"), name); /* And recreate the services */ create_services(avahi_entry_group_get_client(g), game); break; } case AVAHI_ENTRY_GROUP_FAILURE: /* Some kind of failure happened while we were registering */ log_message(MSG_ERROR, _("Avahi error: %s\n"), "Some kind of failure happened while we were registering"); break; case AVAHI_ENTRY_GROUP_UNCOMMITED: case AVAHI_ENTRY_GROUP_REGISTERING: break; } } static void create_services(AvahiClient * c, Game * game) { const gchar *hostname; gchar *servicename; AvahiStringList *sl; int ret; g_assert(c != NULL); /* If this is the first time we're called, let's create a new entry group */ if (!group) { if (! (group = avahi_entry_group_new(c, entry_group_callback, NULL))) { log_message(MSG_ERROR, _("Avahi error: %s, %s\n"), "avahi_entry_group_new() failed", avahi_strerror(avahi_client_errno(c))); avahi_glib_poll_free(glib_poll); return; } } sl = avahi_string_list_new(NULL, NULL); sl = avahi_string_list_add_printf(sl, "version=%s", client_version_type_to_string (LATEST_VERSION)); sl = avahi_string_list_add_printf(sl, "title=%s", game->params->title); /* Add the service for IPP */ hostname = game->hostname ? game->hostname : g_get_host_name(); servicename = g_strdup_printf("%s [%s]", hostname, game->server_port); ret = avahi_entry_group_add_service_strlst(group, AVAHI_IF_UNSPEC, AVAHI_NETWORK_PROTOCOL, 0, servicename, AVAHI_ANNOUNCE_NAME, NULL, NULL, (uint16_t) atoi(game->server_port), sl); g_free(servicename); if (ret < 0) { gchar *msg = g_strdup_printf("Failed to add '%s' service", AVAHI_ANNOUNCE_NAME); log_message(MSG_ERROR, _("Avahi error: %s, %s\n"), msg, avahi_strerror(ret)); g_free(msg); avahi_string_list_free(sl); avahi_glib_poll_free(glib_poll); return; } /* Tell the server to register the service */ if ((ret = avahi_entry_group_commit(group)) < 0) { log_message(MSG_ERROR, _("Avahi error: %s, %s\n"), "Failed to commit entry_group", avahi_strerror(ret)); avahi_string_list_free(sl); avahi_glib_poll_free(glib_poll); return; } avahi_string_list_free(sl); return; } static void client_callback(AvahiClient * c, AvahiClientState state, AVAHI_GCC_UNUSED void *userdata) { Game *game = (Game *) userdata; g_assert(c != NULL); /* Called whenever the client or server state changes */ switch (state) { case AVAHI_CLIENT_S_RUNNING: /* The server has startup successfully and registered its host * name on the network, so it's time to create our services */ if (!group) create_services(c, game); break; case AVAHI_CLIENT_S_COLLISION: /* Let's drop our registered services. When the server is back * in AVAHI_SERVER_RUNNING state we will register them * again with the new host name. */ if (group) avahi_entry_group_reset(group); break; case AVAHI_CLIENT_FAILURE: log_message(MSG_ERROR, _("Avahi error: %s, %s\n"), "Client failure", avahi_strerror(avahi_client_errno(c))); avahi_glib_poll_free(glib_poll); break; case AVAHI_CLIENT_CONNECTING: case AVAHI_CLIENT_S_REGISTERING: ; } } #endif /* HAVE_AVAHI */ void avahi_register_game(Game * game) { #ifdef HAVE_AVAHI const AvahiPoll *poll_api; int error; glib_poll = avahi_glib_poll_new(NULL, G_PRIORITY_DEFAULT); poll_api = avahi_glib_poll_get(glib_poll); /* Allocate main loop object */ if (!poll_api) { log_message(MSG_ERROR, _("Avahi error: %s, %s\n"), _("Unable to register Avahi server"), "Failed to create glib poll object"); avahi_unregister_game(); return; } name = avahi_strdup(game->params->title); /* Allocate a new client */ client = avahi_client_new(poll_api, 0, client_callback, game, &error); /* Check whether creating the client object succeeded */ if (!client) { log_message(MSG_ERROR, _("Avahi error: %s, %s\n"), _("Unable to register Avahi server"), avahi_strerror(error)); avahi_unregister_game(); } #endif /* HAVE_AVAHI */ } void avahi_unregister_game(void) { #ifdef HAVE_AVAHI /* Cleanup things */ if (group) { avahi_entry_group_free(group); group = NULL; } if (client) { avahi_client_free(client); client = NULL; } if (glib_poll) { avahi_glib_poll_free(glib_poll); glib_poll = NULL; } if (name) { avahi_free(name); name = NULL; } log_message(MSG_INFO, _("Unregistering Avahi.\n")); #endif /* HAVE_AVAHI */ } pioneers-15.5/server/south_africa.game0000644000175000017500000000123211755241465015031 00000000000000title South Africa domestic-trade num-players 4 sevens-rule 0 victory-points 10 num-roads 15 num-bridges 0 num-ships 0 num-settlements 5 num-cities 4 num-city-walls 0 resource-count 40 develop-road 2 develop-monopoly 2 develop-plenty 2 develop-chapel 1 develop-university 1 develop-governor 1 develop-library 1 develop-market 1 develop-soldier 13 use-pirate # south_africa.game # v1.0, 2008-03-16 desc Created by Petri Jooste chits 2,4,4,8,5,11,3,10,6,10,9,11,12,11,3,6,8,9,5 map -,-,-,-,-,h0,t1,so3 -,-,-,-,f2,g3,t4,s s,-,-,-,m5,m6,p7,sb2 sl0,m8,d9+,f10,f11,t12,s?3,s s,s,p13,h14,p15,p16,s,s s,s?0,f17,t18,h19,sg2,s,- -,s,s,sw1,s,s?2,s,- . pioneers-15.5/server/avahi.h0000644000175000017500000000221413252223516012760 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 2010 Andreas Steinel * Copyright (C) 2010 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef __avahi_h #define __avahi_h #include "server.h" /** * Register the Avahi service */ void avahi_register_game(Game * game); /** * Unregister the Avahi service */ void avahi_unregister_game(void); #endif pioneers-15.5/server/Mini_another_swimming_pool_in_the_wall.game0000644000175000017500000000324511755241465022314 00000000000000title Mini another swimming pool in the wall domestic-trade num-players 3 sevens-rule 0 victory-points 16 num-roads 20 num-bridges 4 num-ships 4 num-settlements 6 num-cities 5 num-city-walls 0 resource-count 20 develop-road 4 develop-monopoly 2 develop-plenty 4 develop-chapel 1 develop-university 1 develop-governor 1 develop-library 1 develop-market 1 develop-soldier 13 # v1.1, 4/08/2003 # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA desc Copyright 2003 LT-P desc desc Please provide some feedback ;) chits 11,12,11,9,10,5,3,4,12,10,4,9,2,10,12,4,3,8,5,11,10,6,3,9,2,4,5,11,12,11,9,10,5,3,4,12,10,4,9,2,10,12,4,3,8,5,11,10,6,3,9,2,4,5,11,12,11,9,10,5,3,4,12,10,4,9,2,10,12,4,3 map p0,p1,t2,p3,t4,p5,p6,f7,p8,f9,- t10,d11,d12,h13,f14,s,p15,p16,-,-,m17 h18,d19,m20,d21,p22,t23,m24,s,s,p25,h26 p27,d28,d29,f30,h31,s,-,p32,f33,d34,p35 h36,p37,h38,p39,m40,s,p41,h42,p43,t44,m45 t46,p47,f48,-,s,p49,t50,p51,s,s,p52 p53,h54,s,-,p55,f56,m57,p58,s,s,t59 -,s,p60,t61,p62,s,p63,f64,p65,p66,f67 -,p68,f69,h70,p71,m72,m73,h74,p75,t76,p77 . pioneers-15.5/server/trade.c0000644000175000017500000002746313252223516012777 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include #include "cost.h" #include "server.h" void trade_perform_maritime(Player * player, gint ratio, Resource supply, Resource receive) { Game *game = player->game; const Map *map = game->params->map; gint check[NO_RESOURCE]; MaritimeInfo info; if ((!game->rolled_dice) || ((player->build_list != NULL || game->bought_develop) && game->params->strict_trade)) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR wrong-time\n"); return; } if (ratio < 2 || ratio > 4) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR trade bad-ratio\n"); return; } /* Now check that the trade can actually be performed. */ map_maritime_info(map, &info, player->num); switch (ratio) { case 4: if (player->assets[supply] < 4) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR maritime trade, not 4 resources\n"); return; } break; case 3: if (!info.any_resource || player->assets[supply] < 3) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR maritime trade, not 3 resources\n"); return; } break; case 2: if (!info.specific_resource[supply] || player->assets[supply] < 2) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR maritime trade, not 2 resources\n"); return; } break; } memset(check, 0, sizeof(check)); check[receive] = 1; if (!resource_available(player, check, NULL)) return; game->bank_deck[supply] += ratio; game->bank_deck[receive]--; player->assets[supply] -= ratio; player->assets[receive]++; player_broadcast(player, PB_RESPOND, FIRST_VERSION, LATEST_VERSION, "maritime-trade %d supply %r receive %r\n", ratio, supply, receive); } /* The current player has rejected the trade, * wait for the initiating player to make a new request. */ gboolean mode_domestic_quote_rejected(Player * player, G_GNUC_UNUSED gint event) { StateMachine *sm = player->sm; sm_state_name(sm, "mode_domestic_quote_rejected"); return FALSE; } gboolean mode_domestic_quote(Player * player, gint event) { StateMachine *sm = player->sm; Game *game = player->game; gint quote_num; gint supply[NO_RESOURCE]; gint receive[NO_RESOURCE]; sm_state_name(sm, "mode_domestic_quote"); if (event != SM_RECV) return FALSE; if (sm_recv(sm, "domestic-quote finish")) { /* Player has rejected domestic trade - remove all * quotes from that player */ for (;;) { QuoteInfo *quote; quote = quotelist_find_domestic(game->quotes, player->num, -1); if (quote == NULL) break; player_broadcast(player, PB_ALL, FIRST_VERSION, LATEST_VERSION, "domestic-quote delete %d\n", quote->var.d.quote_num); quotelist_delete(game->quotes, quote); } player_broadcast(player, PB_RESPOND, FIRST_VERSION, LATEST_VERSION, "domestic-quote finish\n"); sm_goto(sm, (StateFunc) mode_domestic_quote_rejected); return TRUE; } if (sm_recv(sm, "domestic-quote delete %d", "e_num)) { /* Player wants to retract a quote */ QuoteInfo *quote; quote = quotelist_find_domestic(game->quotes, player->num, quote_num); if (quote == NULL) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR quote already deleted\n"); return TRUE; } quotelist_delete(game->quotes, quote); player_broadcast(player, PB_RESPOND, FIRST_VERSION, LATEST_VERSION, "domestic-quote delete %d\n", quote_num); return TRUE; } if (sm_recv(sm, "domestic-quote quote %d supply %R receive %R", "e_num, supply, receive)) { /* Make sure that quoting party can satisfy the trade */ if (!cost_can_afford(supply, player->assets)) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR quote not enough resources\n"); return TRUE; } /* Make sure that the quote does not already exist */ if (quotelist_find_domestic (game->quotes, player->num, quote_num) != NULL) { player_send(player, FIRST_VERSION, LATEST_VERSION, "INFO duplicate quote\n"); return TRUE; } quotelist_add_domestic(game->quotes, player->num, quote_num, supply, receive); player_broadcast(player, PB_RESPOND, FIRST_VERSION, LATEST_VERSION, "domestic-quote quote %d supply %R receive %R\n", quote_num, supply, receive); return TRUE; } return FALSE; } /* Initiating player wants to end domestic trade */ void trade_finish_domestic(Player * player) { StateMachine *sm = player->sm; Game *game = player->game; GList *list; player_broadcast(player, PB_RESPOND, FIRST_VERSION, LATEST_VERSION, "domestic-trade finish\n"); sm_pop(sm); for (list = player_first_real(game); list != NULL; list = player_next_real(list)) { Player *scan = list->data; if (scan != player && !player_is_spectator(game, scan->num)) sm_pop(scan->sm); } quotelist_free(&game->quotes); } void trade_accept_domestic(Player * player, gint partner_num, gint quote_num, gint * supply, gint * receive) { Game *game = player->game; QuoteInfo *quote; Player *partner; /* Check for valid trade scenario */ if ((!game->rolled_dice) || (((player->build_list != NULL) || (game->bought_develop)) && (game->params->strict_trade))) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR wrong-time\n"); return; } /* Initiating player accepted a quote */ quote = quotelist_find_domestic(game->quotes, partner_num, quote_num); if (quote == NULL) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR quote not found\n"); return; } /* Make sure that both parties can satisfy the trade */ if (!cost_can_afford(quote->var.d.receive, player->assets)) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR quote cannot afford\n"); return; } partner = player_by_num(game, partner_num); if (!cost_can_afford(quote->var.d.supply, partner->assets)) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR quote partner cannot afford\n"); return; } /* Finally - we do the trade! */ cost_refund(quote->var.d.receive, partner->assets); cost_buy(quote->var.d.supply, partner->assets); cost_refund(quote->var.d.supply, player->assets); cost_buy(quote->var.d.receive, player->assets); player_broadcast(player, PB_RESPOND, FIRST_VERSION, LATEST_VERSION, "domestic-trade accept player %d quote %d supply %R receive %R\n", partner_num, quote_num, supply, receive); /* Remove the quote just processed. * The client should remove the quote too. */ quotelist_delete(game->quotes, quote); /* Remove all other quotes from the partner that are no * longer valid */ quote = quotelist_find_domestic(game->quotes, partner_num, -1); while (quote != NULL && quote->var.d.player_num == partner_num) { QuoteInfo *tmp = quote; quote = quotelist_next(quote); if (!cost_can_afford(tmp->var.d.supply, partner->assets)) { player_broadcast(partner, PB_ALL, FIRST_VERSION, LATEST_VERSION, "domestic-quote delete %d\n", tmp->var.d.quote_num); quotelist_delete(game->quotes, tmp); } } } static void process_call_domestic(Player * player, gint * supply, gint * receive) { Game *game = player->game; GList *list; gint i; for (i = 0; i < NO_RESOURCE; i++) { game->quote_supply[i] = supply[i]; game->quote_receive[i] = receive[i]; } player_broadcast(player, PB_RESPOND, FIRST_VERSION, LATEST_VERSION, "domestic-trade call supply %R receive %R\n", supply, receive); /* make sure all the others are back in quote mode. They may have * gone to monitor mode (after rejecting), but they should be able * to reply to the new call */ for (list = player_first_real(game); list != NULL; list = player_next_real(list)) { Player *scan = list->data; if (!player_is_spectator(game, scan->num) && scan != player) { sm_goto(scan->sm, (StateFunc) mode_domestic_quote); } } } static void call_domestic(Player * player, gint * supply, gint * receive) { Game *game = player->game; Player *partner; gint num_supply, num_receive; gint idx; QuoteInfo *quote; /* Check that the player actually has the specified resources */ num_supply = num_receive = 0; for (idx = 0; idx < NO_RESOURCE; idx++) { if (supply[idx]) { if (player->assets[idx] == 0) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR not enough resources for this quote\n"); return; } num_supply++; } if (receive[idx] > 0) ++num_receive; } if (num_supply == 0 && num_receive == 0) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR empty quote\n"); return; } quote = quotelist_first(game->quotes); while (quote != NULL) { QuoteInfo *curr = quote; quote = quotelist_next(quote); if (!curr->is_domestic) continue; /* Is the current quote valid? */ for (idx = 0; idx < NO_RESOURCE; idx++) { if (!receive[idx] && curr->var.d.supply[idx] != 0) break; if (!supply[idx] && curr->var.d.receive[idx] != 0) break; } if (idx < NO_RESOURCE) { partner = player_by_num(game, curr->var.d.player_num); player_broadcast(partner, PB_ALL, FIRST_VERSION, LATEST_VERSION, "domestic-quote delete %d\n", curr->var.d.quote_num); quotelist_delete(game->quotes, curr); } } process_call_domestic(player, supply, receive); } gboolean mode_domestic_initiate(Player * player, gint event) { StateMachine *sm = player->sm; Game *game = player->game; gint partner_num; gint quote_num; gint ratio; Resource supply_type; Resource receive_type; gint supply[NO_RESOURCE]; gint receive[NO_RESOURCE]; sm_state_name(sm, "mode_domestic_initiate"); if (event != SM_RECV) return FALSE; if (sm_recv(sm, "maritime-trade %d supply %r receive %r", &ratio, &supply_type, &receive_type)) { trade_perform_maritime(player, ratio, supply_type, receive_type); return TRUE; } if (sm_recv(sm, "domestic-trade finish")) { trade_finish_domestic(player); return TRUE; } if (sm_recv (sm, "domestic-trade accept player %d quote %d supply %R receive %R", &partner_num, "e_num, supply, receive)) { trade_accept_domestic(player, partner_num, quote_num, supply, receive); return TRUE; } if (sm_recv(sm, "domestic-trade call supply %R receive %R", supply, receive)) { if (!game->params->domestic_trade) return FALSE; call_domestic(player, supply, receive); return TRUE; } return FALSE; } void trade_begin_domestic(Player * player, gint * supply, gint * receive) { Game *game = player->game; GList *list; sm_push(player->sm, (StateFunc) mode_domestic_initiate); quotelist_new(&game->quotes); /* push all others to quote mode. process_call_domestic pops and * repushes them all, so this is needed to keep the state stack * from corrupting. */ for (list = player_first_real(game); list != NULL; list = player_next_real(list)) { Player *scan = list->data; if (!player_is_spectator(game, scan->num) && scan != player) sm_push(scan->sm, (StateFunc) mode_domestic_quote); } process_call_domestic(player, supply, receive); } pioneers-15.5/server/conquest.game0000644000175000017500000000375311755241465014235 00000000000000title Conquest domestic-trade num-players 4 sevens-rule 0 victory-points 16 num-roads 20 num-bridges 0 num-ships 16 num-settlements 6 num-cities 5 num-city-walls 0 resource-count 20 develop-road 2 develop-monopoly 2 develop-plenty 2 develop-chapel 1 develop-university 1 develop-governor 1 develop-library 1 develop-market 1 develop-soldier 13 use-pirate island-discovery-bonus 1 desc Travel to the smaller islands from the central island chits 8,3,2,10,12,9,9,5,3,4,9,5,8,10,6,4,3,11,4,4,10,11,5,6,5,9,10,12,5,4,10,6,2,9,2,4,10,11,5,6,5,9,12,9,11,10,4,9,8,3,4,2,5,8 map -,-,s,s,s,s,s,s,s,s,s,s,s,- -,s,h0,s,s,m1,f2,p3,h4,s,s,f5,s,- -,s,p6,f7,s,t8,m9,s,p10,m11,s,t12,m13,s s,t14,m15,s,f16,h17,h18,m19,t20,t21,s,p22,h23,s -,s,s,s,t24,p25,f26,d27,t28,f29,m30,s,s,s s,m31,h32,s,m33,f34,m35,p36,h37,f38,s,f39,t40,s -,s,p41,f42,s,h43,m44,s,t45,h46,s,m47,p48,s -,s,t49,s,s,f50,p51,m52,h53,s,s,h54,s,- -,-,s,s,s,s,s,s,s,s,s,s,s,- . nosetup 0 3 0 nosetup 0 3 5 nosetup 0 5 0 nosetup 0 5 5 nosetup 1 1 0 nosetup 1 1 4 nosetup 1 1 5 nosetup 1 2 5 nosetup 1 3 0 nosetup 1 3 4 nosetup 1 3 5 nosetup 1 4 5 nosetup 1 5 0 nosetup 1 5 4 nosetup 1 5 5 nosetup 1 6 5 nosetup 1 7 0 nosetup 1 7 5 nosetup 2 0 5 nosetup 2 1 0 nosetup 2 1 4 nosetup 2 1 5 nosetup 2 2 5 nosetup 2 3 0 nosetup 2 3 4 nosetup 2 3 5 nosetup 2 4 5 nosetup 2 5 0 nosetup 2 5 4 nosetup 2 5 5 nosetup 2 6 5 nosetup 2 7 0 nosetup 2 7 4 nosetup 2 7 5 nosetup 3 1 4 nosetup 3 2 5 nosetup 3 5 4 nosetup 3 6 5 nosetup 10 1 0 nosetup 10 1 4 nosetup 10 1 5 nosetup 10 2 5 nosetup 10 3 0 nosetup 10 3 5 nosetup 10 5 0 nosetup 10 5 4 nosetup 10 5 5 nosetup 10 6 5 nosetup 10 7 0 nosetup 10 7 5 nosetup 11 0 5 nosetup 11 1 0 nosetup 11 1 4 nosetup 11 1 5 nosetup 11 2 5 nosetup 11 3 0 nosetup 11 3 4 nosetup 11 3 5 nosetup 11 4 5 nosetup 11 5 0 nosetup 11 5 4 nosetup 11 5 5 nosetup 11 6 5 nosetup 11 7 0 nosetup 11 7 4 nosetup 11 7 5 nosetup 12 1 4 nosetup 12 2 5 nosetup 12 3 0 nosetup 12 3 4 nosetup 12 3 5 nosetup 12 4 5 nosetup 12 5 0 nosetup 12 5 4 nosetup 12 5 5 nosetup 12 6 5 pioneers-15.5/server/ubuntuland.game0000644000175000017500000001035411755241465014550 00000000000000title Ubuntuland strict-trade domestic-trade num-players 6 sevens-rule 0 victory-points 40 num-roads 24 num-bridges 12 num-ships 48 num-settlements 6 num-cities 12 num-city-walls 12 resource-count 80 develop-road 30 develop-monopoly 5 develop-plenty 30 develop-chapel 10 develop-university 10 develop-governor 10 develop-library 10 develop-market 10 develop-soldier 30 use-pirate island-discovery-bonus 3 # created September 24, 2010 # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. desc by Matt Perry desc desc This map was made to show support for Ubuntu Linux and the basic map layout desc was built to resemble the Ubuntu Linux 'circle of friends' logo. It is a map desc that supports 6 players with uneven island/port distributions and therefore desc requires strategy to play and succeed as it is possible that the game may desc not have a winner due to the reduced number of available settlement/city desc pieces. I hope that you enjoy this map, even if it is a frustrating one and desc that you try Ubuntu Linux if you do not use it already. desc Please provide some feedback. chits 2,5,4,6,3,9,8,11,11,10,6,3,8,4,8,10,11,12,8,6,10,5,4,9,5,9,12,3,2,6,6,8,6,8,6,2,5,4,6,6,8,6,6,8,3,9,8,11,8,6,11,10,6,3,8,4,8,10,11,12,10,5,4,9,5,9,12,3,2,6,2,5,4,6,3,9,8,11,11,10,6,3,8,4,8,10,11,12,10,5,4,9,5,9,12,3,2,6,2,5,4,6,3,9,8,11,11,10,6,3,8,4,8,2,10,11,12,10,5,4,9,5,9,12,6,8,10,6,8,6,8,6 map s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s s,s,s,s,sb5,h0,f1,m2,p3,s,t4,h5,f6,m7,sg4,s,s,s,s,- s,s,s,s,t8,t9,p10,m11,f12,s,s,m13,p14,t15,h16,p17,s,s,s,s s,g18,g19,s,h20,f21,m22,h23,f24,s,h25,f26,m27,h28,f29,s,g30,g31,s,- s,g32,g33,g34,s,p35,t36,s,so2,s,s,sw1,s,p37,t38,s,g39,g40,g41,s s,g42,g43,s,t44,p45,sw2,s,s,s,s,s,s?1,t46,p47,s,g48,g49,s,- s,s,s,s,h50,m51,s,s,s,s,s,s,s,s,h52,m53,s,s,s,s s,p54,m55,f56,f57,s,s,s,s,s,s,s,s,s,f58,f59,m60,t61,s,- s,s?0,p62,t63,h64,sg3,s,s,s,s,s,s,s,s,sb0,m65,h66,p67,sl3,s s,m68,h69,t70,s,s,s,s,s,s,s,s,s,s,s,p71,t72,h73,s,- s,s,f74,f75,p76,sl3,s,s,s,s,s,s,s,s,so0,t77,h78,f79,s,s s,s,h80,m81,m82,s,s,s,s,s,s,s,s,s,h83,t84,m85,s,s,- s,s,s,t86,s,s,s,s,s,s,s,s,s,s,s,s,p87,s,s,s s,s,s,s,s,f88,sw4,s,s,s,s,s,sb5,f89,s,s,s,s,s,- s,s,s,s,p90,m91,h92,s,sg4,s,s,so5,s,m93,p94,t95,s,s,s,s s,s,s,s,m96,f97,t98,p99,m100,f101,h102,t103,p104,m105,h106,s,s,s,s,- s,s,s,s,s,f107,h108,m109,p110,f111,t112,m113,h114,f115,f116,s,s,s,s,s s,s,s,s,s,h117,p118,p119,s,s,s,p120,t121,m122,s,s,s,s,s,- s,s,s,s,s,s,sl1,t123,s,g124,g125,s,p126,s?2,s,s,s,s,s,s s,s,s,s,s,s,s,s,g127,g128,g129,s,s,s,s,s,s,s,s,- s,s,s,s,s,s,s,s,s,g130,g131,s,s,s,s,s,s,s,s,s s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,- . nosetup 0 3 0 nosetup 0 3 4 nosetup 0 3 5 nosetup 0 4 5 nosetup 0 5 0 nosetup 0 5 5 nosetup 1 2 5 nosetup 1 3 0 nosetup 1 3 4 nosetup 1 3 5 nosetup 1 4 5 nosetup 1 5 0 nosetup 1 5 4 nosetup 1 5 5 nosetup 2 2 5 nosetup 2 3 0 nosetup 2 3 4 nosetup 2 3 5 nosetup 2 4 5 nosetup 2 5 0 nosetup 2 5 4 nosetup 2 5 5 nosetup 3 3 4 nosetup 3 4 5 nosetup 7 19 0 nosetup 7 19 5 nosetup 8 17 4 nosetup 8 17 5 nosetup 8 18 5 nosetup 8 19 0 nosetup 8 19 4 nosetup 8 19 5 nosetup 8 20 5 nosetup 8 21 0 nosetup 9 17 4 nosetup 9 17 5 nosetup 9 18 5 nosetup 9 19 0 nosetup 9 19 4 nosetup 9 19 5 nosetup 9 20 5 nosetup 9 21 0 nosetup 10 17 4 nosetup 10 18 5 nosetup 10 19 0 nosetup 10 19 4 nosetup 10 19 5 nosetup 10 20 5 nosetup 15 3 0 nosetup 15 3 4 nosetup 15 3 5 nosetup 15 4 5 nosetup 15 5 0 nosetup 15 5 5 nosetup 16 2 5 nosetup 16 3 0 nosetup 16 3 4 nosetup 16 3 5 nosetup 16 4 5 nosetup 16 5 0 nosetup 16 5 4 nosetup 16 5 5 nosetup 17 2 5 nosetup 17 3 0 nosetup 17 3 4 nosetup 17 3 5 nosetup 17 4 5 nosetup 17 5 0 nosetup 17 5 4 nosetup 17 5 5 nosetup 18 3 4 nosetup 18 4 5 pioneers-15.5/server/server.h0000644000175000017500000002576213252223516013213 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003-2007 Bas Wijnen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef __server_h #define __server_h #include "game.h" #include "cards.h" #include "map.h" #include "quoteinfo.h" #include "state.h" #include "network.h" #define TERRAIN_DEFAULT 0 #define TERRAIN_RANDOM 1 typedef struct Game Game; typedef struct { StateMachine *sm; /* state machine for this player */ Game *game; /* game that player belongs to */ gchar *location; /* reverse lookup player hostname */ gint num; /* number each player */ char *name; /* give each player a name */ gchar *style; /* description of the player icon */ ClientVersionType version; /* version, so adapted messages can be sent */ GList *build_list; /* list of building that can be undone */ gint prev_assets[NO_RESOURCE]; /* remember previous resources */ gint assets[NO_RESOURCE]; /* our resources */ gint gold; /* how much gold will we receive? */ Deck *devel; /* development cards we own */ GList *special_points; /* points from special actions */ gint special_points_next_id; /* Next id for the special points */ gint discard_num; /* number of resources we must discard */ gint num_roads; /* number of roads available */ gint num_bridges; /* number of bridges available */ gint num_ships; /* number of ships available */ gint num_settlements; /* settlements available */ gint num_cities; /* cities available */ gint num_city_walls; /* city walls available */ gint num_soldiers; /* number of soldiers played */ gint develop_points; /* number of development card victory points */ gint chapel_played; /* number of Chapel cards played */ gint univ_played; /* number of University cards played */ gint gov_played; /* number of Governors cards played */ gint libr_played; /* number of Library cards played */ gint market_played; /* number of Market cards played */ guint islands_discovered; /* number of islands discovered */ gboolean disconnected; } Player; struct Game { GameParams *params; /* game parameters */ gchar *hostname; /* reported hostname */ Service *service; /* network service */ GList *player_list; /* all players in the game */ GList *dead_players; /* all players that should be removed when player_list_use_count == 0 */ gint player_list_use_count; /* # functions is in use by */ guint num_players; /* current number of players in the game */ guint tournament_countdown; /* number of remaining minutes before AIs are added */ guint tournament_timer; /* timer id */ gboolean double_setup; gboolean reverse_setup; GList *setup_player; gboolean is_game_over; /* is the game over? */ Player *longest_road; /* who holds longest road */ Player *largest_army; /* who has largest army */ QuoteList *quotes; /* domestic trade quotes */ gint quote_supply[NO_RESOURCE]; /* only valid when trading */ gint quote_receive[NO_RESOURCE]; /* only valid when trading */ gint curr_player; /* whose turn is it? */ gint curr_turn; /* current turn number */ gboolean rolled_dice; /* has dice been rolled in turn yet? */ gint die1, die2; /* latest dice values */ guint dice_cards[36]; /* remaining dice cards */ guint num_dice_cards; /* total remaining dice cards */ gboolean bought_develop; /* has devel. card been bought in turn? */ guint num_playable_cards; /* number of playable development cards */ gint bank_deck[NO_RESOURCE]; /* resource card bank */ gint num_develop; /* number of development cards */ gint *develop_deck; /* development cards */ gint develop_next; /* next development card to deal */ gboolean is_running; /* is the server currently running? */ gchar *server_port; /* port to run game on */ gboolean random_order; /* is turn order randomized? */ gboolean is_manipulated; /* has the game been manipulated by the admin? */ guint no_player_timeout; /* time to wait for players */ guint no_player_timer; /* glib timer identifier */ guint no_humans_timer; /* timer id: no human players are present */ }; /**** global variables ****/ /* buildutil.c */ void check_longest_road(Game * game); void node_add(Player * player, BuildType type, int x, int y, int pos, gboolean paid_for, Points * special_points); void edge_add(Player * player, BuildType type, int x, int y, int pos, gboolean paid_for); gboolean perform_undo(Player * player); /* develop.c */ void develop_shuffle(Game * game); void develop_buy(Player * player); void develop_play(Player * player, guint idx); gboolean mode_road_building(Player * player, gint event); gboolean mode_plenty_resources(Player * player, gint event); gboolean mode_monopoly(Player * player, gint event); /* discard.c */ void discard_resources(Game * player); gboolean mode_discard_resources(Player * player, gint event); gboolean mode_wait_others_place_robber(Player * player, gint event); gboolean mode_discard_resources_place_robber(Player * player, gint event); /* meta.c */ gchar *get_server_name(void); void meta_register(const gchar * server, Game * game); void meta_unregister(void); void meta_start_game(void); void meta_report_num_players(guint num_players); /* player.c */ typedef enum { PB_ALL, PB_RESPOND, PB_SILENT, PB_OTHERS } BroadcastType; gchar *player_new_computer_player(Game * game); Player *player_new(Game * game, const gchar * name); Player *player_new_connection(Game * game, Session * ses); Player *player_by_num(Game * game, gint num); void player_set_name(Player * player, gchar * name); Player *player_none(Game * game); void player_broadcast(Player * player, BroadcastType type, ClientVersionType first_supported_version, ClientVersionType last_supported_version, const char *fmt, ...); void player_broadcast_extension(Player * player, BroadcastType type, ClientVersionType first_supported_version, ClientVersionType last_supported_version, const char *fmt, ...); void player_send(Player * player, ClientVersionType first_supported_version, ClientVersionType last_supported_version, const char *fmt, ...); void player_send_uncached(Player * player, ClientVersionType first_supported_version, ClientVersionType last_supported_version, const char *fmt, ...); void player_remove(Player * player); void player_free(Player * player); void player_archive(Player * player); void player_revive(Player * newp, char *name); GList *player_first_real(Game * game); GList *player_next_real(GList * last); GList *list_from_player(Player * player); GList *next_player_loop(GList * current, Player * first); gboolean mode_spectator(Player * player, gint event); void playerlist_inc_use_count(Game * game); void playerlist_dec_use_count(Game * game); gboolean player_is_spectator(Game * game, gint player_num); /* pregame.c */ gboolean mode_pre_game(Player * player, gint event); gboolean mode_setup(Player * player, gint event); gboolean send_gameinfo_uncached(const Hex * hex, void *player); void next_setup_player(Game * game); /* resource.c */ gboolean resource_available(Player * player, gint * resources, gint * num_in_bank); void resource_maritime_trade(Player * player, Resource supply, Resource receive, gint ratio); void resource_start(Game * game); void resource_end(Game * game, const gchar * action, gint mult); void resource_spend(Player * player, const gint * cost); void resource_refund(Player * player, const gint * cost); /* robber.c */ void robber_place(Player * player); gboolean mode_place_robber(Player * player, gint event); gboolean mode_select_pirated(Player * player, gint event); gboolean mode_select_robbed(Player * player, gint event); void robber_undo(Player * player); /* server.c */ void start_timeout(Game * game); void stop_timeout(Game * game); Game *game_new(const GameParams * params); void game_free(Game * game); gint add_computer_player(Game * game, gboolean want_chat); Game *server_start(const GameParams * params, const gchar * hostname, const gchar * port, gboolean register_server, const gchar * metaserver_name, gboolean random_order); gboolean server_stop(Game * game); gboolean server_is_running(Game * game); gint accept_connection(gint in_fd, gchar ** location); /**** callbacks to set parameters ****/ GameParams *cfg_set_game(const gchar * game); GameParams *cfg_set_game_file(const gchar * game_filename); void cfg_set_num_players(GameParams * params, gint num_players); void cfg_set_sevens_rule(GameParams * params, gint sevens_rule); void cfg_set_use_dice_deck(GameParams * params, gboolean use_dice_deck); void cfg_set_num_dice_decks(GameParams * params, gint num_dice_decks); void cfg_set_num_removed_dice_cards(GameParams * params, gint num_removed_dice_cards); void cfg_set_victory_points(GameParams * params, gint victory_points); void cfg_set_terrain_type(GameParams * params, gint terrain_type); void cfg_set_tournament_time(GameParams * params, gint tournament_time); void cfg_set_quit(GameParams * params, gboolean quitdone); void admin_broadcast(Game * game, const gchar * message); /* initialize the server */ void server_init(void); void game_is_over(Game * game); void request_server_stop(Game * game); /* trade.c */ void trade_perform_maritime(Player * player, gint ratio, Resource supply, Resource receive); gboolean mode_domestic_quote_rejected(Player * player, gint event); gboolean mode_domestic_quote(Player * player, gint event); void trade_finish_domestic(Player * player); void trade_accept_domestic(Player * player, gint partner_num, gint quote_num, gint * supply, gint * receive); gboolean mode_domestic_initiate(Player * player, gint event); void trade_begin_domestic(Player * player, gint * supply, gint * receive); /* turn.c */ gboolean mode_idle(Player * player, gint event); gboolean mode_turn(Player * player, gint event); void turn_next_player(Game * game); /** Check whether this player has won the game. * If so, return TRUE and set all state machines to idle * @param player Has this player won? * @return TRUE if the given player has won */ gboolean check_victory(Player * player); /* gold.c */ gboolean gold_limited_bank(const Game * game, int limit, gint * limited_bank); void distribute_first(GList * list); gboolean mode_choose_gold(Player * player, gint event); gboolean mode_wait_for_gold_choosing_players(Player * player, gint event); /* discard.c */ gboolean mode_wait_for_other_discarding_players(Player * player, gint event); #endif pioneers-15.5/server/turn.c0000644000175000017500000004414712726612741012675 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * Copyright (C) 2006 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include #include "buildrec.h" #include "cost.h" #include "server.h" #include "admin.h" #include "random.h" static void build_add(Player * player, BuildType type, gint x, gint y, gint pos) { Game *game = player->game; Map *map = game->params->map; Points *special_points; if (!game->rolled_dice) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR roll-dice\n"); return; } /* Add settlement/city/road */ if (type == BUILD_ROAD) { /* Building a road, make sure it is next to a * settlement/city/road */ if (!map_road_vacant(map, x, y, pos) || !map_road_connect_ok(map, player->num, x, y, pos)) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR bad-pos\n"); return; } /* Make sure the player can afford the road */ if (!cost_can_afford(cost_road(), player->assets)) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR too-expensive\n"); return; } /* Make sure that there are some roads left to use! */ if (player->num_roads == game->params->num_build_type[BUILD_ROAD]) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR too-many road\n"); return; } edge_add(player, BUILD_ROAD, x, y, pos, TRUE); return; } if (type == BUILD_BRIDGE) { /* Building a bridge, make sure it is next to a * settlement/city/road */ if (!map_road_vacant(map, x, y, pos) || !map_bridge_connect_ok(map, player->num, x, y, pos)) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR bad-pos\n"); return; } /* Make sure the player can afford the bridge */ if (!cost_can_afford(cost_bridge(), player->assets)) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR too-expensive\n"); return; } /* Make sure that there are some roads left to use! */ if (player->num_bridges == game->params->num_build_type[BUILD_BRIDGE]) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR too-many bridge\n"); return; } edge_add(player, BUILD_BRIDGE, x, y, pos, TRUE); return; } if (type == BUILD_SHIP) { /* Building a ship, make sure it is next to a * settlement/city/ship */ if (!map_ship_vacant(map, x, y, pos) || !map_ship_connect_ok(map, player->num, x, y, pos)) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR bad-pos\n"); return; } /* Make sure the player can afford the ship */ if (!cost_can_afford(cost_ship(), player->assets)) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR too-expensive\n"); return; } /* Make sure that there are some roads left to use! */ if (player->num_ships == game->params->num_build_type[BUILD_SHIP]) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR too-many ship\n"); return; } edge_add(player, BUILD_SHIP, x, y, pos, TRUE); return; } if (type == BUILD_CITY_WALL) { if (!can_city_wall_be_built(map_node(map, x, y, pos), player->num)) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR bad-pos\n"); return; } /* Make sure that there are some city walls left to use! */ if (player->num_city_walls == game->params->num_build_type[BUILD_CITY_WALL]) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR too-many city wall\n"); return; } if (!cost_can_afford(cost_city_wall(), player->assets)) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR too-expensive\n"); return; } node_add(player, type, x, y, pos, TRUE, NULL); return; } /* Build the settlement/city */ if (!map_building_vacant(map, type, x, y, pos) || !map_building_spacing_ok(map, player->num, type, x, y, pos)) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR bad-pos\n"); return; } if (type == BUILD_CITY && can_settlement_be_upgraded(map_node(map, x, y, pos), player->num)) { /* Make sure that there are some cities left to use! */ if (player->num_cities == game->params->num_build_type[BUILD_CITY]) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR too-many city\n"); return; } if (!cost_can_afford(cost_upgrade_settlement(), player->assets)) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR too-expensive\n"); return; } } else { /* New building: make sure it connects to a road */ if (!map_building_connect_ok(map, player->num, x, y, pos)) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR bad-pos\n"); return; } /* Make sure that there are some settlements left to use! * Also when building a city, there must be an intermediate * settlement. */ if (player->num_settlements == game->params->num_build_type[BUILD_SETTLEMENT]) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR too-many settlement\n"); return; } /* Make sure the player can afford the building */ if (type == BUILD_SETTLEMENT) { if (!cost_can_afford (cost_settlement(), player->assets)) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR too-expensive\n"); return; } } else { /* Make sure that there are some cities left to use! */ if (player->num_cities == game->params->num_build_type[BUILD_CITY]) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR too-many city\n"); return; } if (!cost_can_afford(cost_city(), player->assets)) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR too-expensive\n"); return; } } } special_points = NULL; if (game->params->island_discovery_bonus != NULL) { if (!map_is_island_discovered (map, map_node(map, x, y, pos), player->num)) { gboolean first_island; gint points; first_island = (player->islands_discovered == 0); /* Use the last entry in island_discovery_bonus, * or the current island */ points = g_array_index(game->params-> island_discovery_bonus, gint, MIN(game->params-> island_discovery_bonus->len - 1, player->islands_discovered)); if (points != 0) special_points = points_new (player->special_points_next_id++, first_island ? N_("Island Discovery Bonus") : N_("Additional Island Bonus"), points); player->islands_discovered++; } } node_add(player, type, x, y, pos, TRUE, special_points); } static void build_remove(Player * player) { /* Remove the settlement/road we just built */ if (!perform_undo(player)) player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR bad-undo\n"); } static void build_move(Player * player, gint sx, gint sy, gint spos, gint dx, gint dy, gint dpos) { Game *game = player->game; Map *map = game->params->map; Edge *from = map_edge(map, sx, sy, spos), *to = map_edge(map, dx, dy, dpos); BuildRec *rec; /* Allow only one move per turn */ if (map->has_moved_ship) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR already-moved\n"); return; } /* Check if the ship is allowed to move away */ if (from->owner != player->num || from->type != BUILD_SHIP || to->owner >= 0 || !can_ship_be_moved(map_edge(map, sx, sy, spos), player->num)) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR bad-pos\n"); return; } if (map->pirate_hex != NULL) { guint idx; /* check that the pirate is not on the from hexes */ for (idx = 0; idx < G_N_ELEMENTS(from->hexes); ++idx) { if (map->pirate_hex == from->hexes[idx]) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR has-pirate\n"); return; } } /* checking of destination for pirate is done in * can_ship_be_built */ } /* Move it away */ from->owner = -1; from->type = BUILD_NONE; /* Check if it is allowed to move to the other place */ if ((sx == dx && sy == dy && spos == dpos) || !can_ship_be_built(to, player->num)) { from->owner = player->num; from->type = BUILD_SHIP; player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR bad-pos\n"); return; } /* everything is fine, tell everybode the ship has moved */ player_broadcast(player, PB_RESPOND, FIRST_VERSION, LATEST_VERSION, "move %d %d %d %d %d %d\n", sx, sy, spos, dx, dy, dpos); /* put the move in the undo information */ rec = buildrec_new(BUILD_MOVE_SHIP, dx, dy, dpos); rec->cost = NULL; rec->prev_x = sx; rec->prev_y = sy; rec->prev_pos = spos; rec->longest_road = game->longest_road ? game->longest_road->num : -1; player->build_list = g_list_append(player->build_list, rec); map->has_moved_ship = TRUE; /* check the longest road while the ship is moving */ check_longest_road(game); /* administrate the arrival of the ship */ to->owner = player->num; to->type = BUILD_SHIP; /* check the longest road again */ check_longest_road(game); } typedef struct { Game *game; int roll; } GameRoll; static gboolean distribute_resources(const Hex * hex, gpointer closure) { guint idx; GameRoll *data = closure; if (hex->roll != data->roll || hex->robber) /* return false so the traverse function continues */ return FALSE; for (idx = 0; idx < G_N_ELEMENTS(hex->nodes); idx++) { const Node *node = hex->nodes[idx]; Player *player; gint num; if (node->type == BUILD_NONE) continue; player = player_by_num(data->game, node->owner); if (player != NULL) { num = (node->type == BUILD_CITY) ? 2 : 1; if (hex->terrain == GOLD_TERRAIN) player->gold += num; else player->assets[hex->terrain] += num; } else { /* This should be fixed at some point. */ log_message(MSG_ERROR, _("" "Tried to assign resources to NULL player.\n")); } } /* return false so the traverse function continues */ return FALSE; } gboolean check_victory(Player * player) { Game *game = player->game; GList *list; gint points; /* can be negative, due to island bonuses */ if (player->num != game->curr_player) /* Only the player that has the turn can win */ return FALSE; points = player->num_settlements + player->num_cities * 2 + player->develop_points; if (game->longest_road == player) points += 2; if (game->largest_army == player) points += 2; list = player->special_points; while (list) { Points *point = list->data; points += point->points; list = g_list_next(list); } if (points >= (gint) game->params->victory_points) { player_broadcast(player, PB_ALL, FIRST_VERSION, LATEST_VERSION, "won with %d\n", points); game->is_game_over = TRUE; /* Set all state machines to idle, to make sure nothing * happens. */ for (list = player_first_real(game); list != NULL; list = player_next_real(list)) { Player *scan = list->data; sm_pop_all_and_goto(scan->sm, (StateFunc) mode_idle); } meta_unregister(); game_is_over(game); return TRUE; } return FALSE; } /** Rolls the dice. * @param player The player who rolled the dice. */ static void roll_dice(Player * player) { Game *game = player->game; const Map *map = game->params->map; GameRoll data; gint roll; if (game->rolled_dice) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR already-rolled\n"); return; } roll = admin_get_dice_roll(); if (roll == 0) { /* roll the dice until we like it */ while (TRUE) { if (game->params->use_dice_deck) { /* dice deck */ gint i; gint card; if (game->num_dice_cards <= game->params->num_removed_dice_cards) { /* shuffle deck */ for (i = 0; i < 36; i++) { game->dice_cards[i] = game-> params->num_dice_decks; } game->num_dice_cards = game->params->num_dice_decks * 36; player_broadcast(player, PB_ALL, V15, LATEST_VERSION, "shuffled-dice-deck\n"); } card = random_guint(game->num_dice_cards); i = -1; while (card >= 0) { i++; card -= game->dice_cards[i]; } game->dice_cards[i]--; game->num_dice_cards--; game->die1 = i % 6 + 1; game->die2 = i / 6 + 1; } else { /* two dice */ game->die1 = random_guint(6) + 1; game->die2 = random_guint(6) + 1; } roll = game->die1 + game->die2; /* sevens_rule == 1: reroll first two turns */ if (game->params->sevens_rule == 1) if (roll == 7 && game->curr_turn <= 2) continue; /* sevens_rule == 2: reroll all sevens */ if (game->params->sevens_rule == 2) if (roll == 7) continue; /* sevens_rule == 0: don't reroll anything */ break; } } else { /* The administrator can override the dice */ game->die1 = roll > 6 ? 6 : 1; game->die2 = roll - game->die1; player_broadcast(player, PB_SILENT, FIRST_VERSION, LATEST_VERSION, "NOTE %s\n", /* Cheat mode has been activated */ N_("" "The dice roll has been determined by the administrator.")); } game->rolled_dice = TRUE; g_assert(roll == game->die1 + game->die2); /* let people know what we rolled */ player_broadcast(player, PB_RESPOND, FIRST_VERSION, LATEST_VERSION, "rolled %d %d\n", game->die1, game->die2); if (roll == 7) { /* Find all players with more than 7 cards - * they must discard half (rounded down) */ discard_resources(game); /* there are no resources to distribute on a 7 */ return; } resource_start(game); data.game = game; data.roll = roll; map_traverse_const(map, distribute_resources, &data); /* distribute resources and gold (includes resource_end) */ distribute_first(list_from_player(player)); return; } /* Handle all actions that a player may perform in a turn */ gboolean mode_turn(Player * player, gint event) { StateMachine *sm = player->sm; Game *game = player->game; BuildType build_type; DevelType devel_type; gint x, y, pos; guint idx; gint ratio; Resource supply_type, receive_type; gint supply[NO_RESOURCE], receive[NO_RESOURCE]; gint sx, sy, spos, dx, dy, dpos; sm_state_name(sm, "mode_turn"); if (event == SM_INIT) { if (!game->params->check_victory_at_end_of_turn) check_victory(player); return TRUE; } if (event != SM_RECV) return FALSE; if (sm_recv(sm, "roll")) { roll_dice(player); return TRUE; } /* try to end a turn */ if (sm_recv(sm, "done")) { if (!game->rolled_dice) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR roll-dice\n"); return TRUE; } /* Ok, finish turn */ player_send(player, FIRST_VERSION, LATEST_VERSION, "OK\n"); if (!check_victory(player)) { /* game isn't over, so pop the state machine back to idle */ sm_pop(sm); turn_next_player(game); } return TRUE; } if (sm_recv(sm, "buy-develop")) { develop_buy(player); return TRUE; } if (sm_recv(sm, "play-develop %u", &idx, &devel_type)) { develop_play(player, idx); if (!game->params->check_victory_at_end_of_turn) check_victory(player); return TRUE; } if (sm_recv(sm, "maritime-trade %d supply %r receive %r", &ratio, &supply_type, &receive_type)) { trade_perform_maritime(player, ratio, supply_type, receive_type); return TRUE; } if (sm_recv(sm, "domestic-trade call supply %R receive %R", supply, receive)) { if (!game->params->domestic_trade) return FALSE; trade_begin_domestic(player, supply, receive); return TRUE; } if (sm_recv(sm, "build %B %d %d %d", &build_type, &x, &y, &pos)) { build_add(player, build_type, x, y, pos); if (!game->params->check_victory_at_end_of_turn) check_victory(player); return TRUE; } if (sm_recv (sm, "move %d %d %d %d %d %d", &sx, &sy, &spos, &dx, &dy, &dpos)) { build_move(player, sx, sy, spos, dx, dy, dpos); if (!game->params->check_victory_at_end_of_turn) check_victory(player); return TRUE; } if (sm_recv(sm, "undo")) { build_remove(player); return TRUE; } return FALSE; } /* Player should be idle - I will tell them when to do something */ gboolean mode_idle(Player * player, G_GNUC_UNUSED gint event) { StateMachine *sm = player->sm; sm_state_name(sm, "mode_idle"); return FALSE; } void turn_next_player(Game * game) { Player *player = NULL; GList *list = NULL; /* the first time this is called there is no curr_player yet */ if (game->curr_player >= 0) { player = player_by_num(game, game->curr_player); game->curr_player = -1; g_assert(player != NULL); list = list_from_player(player); } do { /* next player */ if (list) list = player_next_real(list); /* See if it's the first player's turn again */ if (list == NULL) { list = player_first_real(game); game->curr_turn++; } /* sanity check */ g_assert(list != NULL && list->data != NULL); player = list->data; /* disconnected players don't take turns */ } while (player->disconnected); /* reset variables */ game->curr_player = player->num; game->rolled_dice = FALSE; game->bought_develop = FALSE; game->num_playable_cards = deck_count(player->devel); player->build_list = buildrec_free(player->build_list); game->params->map->has_moved_ship = FALSE; /* tell everyone what's happening */ player_broadcast(player, PB_RESPOND, FIRST_VERSION, LATEST_VERSION, "turn %d\n", game->curr_turn); if (game->is_manipulated) { /* Intentionally not translated */ admin_broadcast(game, "The administrator has " "manipulated this game."); } /* put the player in the right state */ sm_push(player->sm, (StateFunc) mode_turn); } pioneers-15.5/server/small.game0000644000175000017500000000077111755241465013501 00000000000000title Small random-terrain strict-trade num-players 2 sevens-rule 0 victory-points 16 num-roads 15 num-bridges 0 num-ships 0 num-settlements 5 num-cities 4 num-city-walls 0 resource-count 19 develop-road 2 develop-monopoly 2 develop-plenty 2 develop-chapel 1 develop-university 1 develop-governor 1 develop-library 1 develop-market 1 develop-soldier 13 desc A small map for two players chits 9,10,8,12,11,4,3,5,2,6 map -,s,s?5,s,so4,- s?0,t0,p1,m2,s,- s,h3,t4,m5,f6,sb3 sl0,h7,p8,f9,s,- -,s,sw1,s,sg2,- . pioneers-15.5/server/pregame.c0000644000175000017500000006420613252223516013314 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003-2005 Bas Wijnen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include #include #include "buildrec.h" #include "server.h" #include "version.h" static void build_add(Player * player, BuildType type, gint x, gint y, gint pos) { Game *game = player->game; Map *map = game->params->map; gint num; gint num_allowed; num_allowed = game->double_setup ? 2 : 1; /* Add settlement/road */ num = buildrec_count_type(player->build_list, type); if (num == num_allowed) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR too-many\n"); return; } if (type == BUILD_ROAD) { /* Make sure that there are some roads left to use */ if (player->num_roads == game->params->num_build_type[BUILD_ROAD]) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR too-many road\n"); return; } /* Building a road, make sure it is next to a * settlement/road */ if (!buildrec_can_setup_road (player->build_list, map_edge(map, x, y, pos), game->double_setup)) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR bad-pos\n"); return; } edge_add(player, BUILD_ROAD, x, y, pos, FALSE); return; } if (type == BUILD_BRIDGE) { /* Make sure that there are some bridges left to use */ if (player->num_bridges == game->params->num_build_type[BUILD_BRIDGE]) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR too-many bridge\n"); return; } /* Building a bridge, make sure it is next to a * settlement/road */ if (!buildrec_can_setup_bridge (player->build_list, map_edge(map, x, y, pos), game->double_setup)) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR bad-pos\n"); return; } edge_add(player, BUILD_BRIDGE, x, y, pos, FALSE); return; } if (type == BUILD_SHIP) { /* Make sure that there are some ships left to use */ if (player->num_ships == game->params->num_build_type[BUILD_SHIP]) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR too-many ship\n"); return; } /* Building a ship, make sure it is next to a * settlement/ship */ if (!buildrec_can_setup_ship (player->build_list, map_edge(map, x, y, pos), game->double_setup)) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR bad-pos\n"); return; } edge_add(player, BUILD_SHIP, x, y, pos, FALSE); return; } if (type != BUILD_SETTLEMENT) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR expected-road-or-settlement\n"); return; } /* Build the settlement */ if (!buildrec_can_setup_settlement (player->build_list, map_node(map, x, y, pos), game->double_setup)) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR bad-pos\n"); return; } node_add(player, BUILD_SETTLEMENT, x, y, pos, FALSE, NULL); } static void build_remove(Player * player) { /* Remove the settlement/road we just built */ if (!perform_undo(player)) player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR bad-pos\n"); } static void start_setup_player(Player * player) { StateMachine *sm = player->sm; Game *game = player->game; player->build_list = buildrec_free(player->build_list); if (game->double_setup) player_broadcast(player, PB_RESPOND, FIRST_VERSION, LATEST_VERSION, "setup-double\n"); else player_broadcast(player, PB_RESPOND, FIRST_VERSION, LATEST_VERSION, "setup %d\n", game->reverse_setup); sm_goto(sm, (StateFunc) mode_setup); } static void allocate_resources(Player * player, BuildRec * rec) { Game *game = player->game; Map *map = game->params->map; Node *node; guint idx; node = map_node(map, rec->x, rec->y, rec->pos); resource_start(game); for (idx = 0; idx < G_N_ELEMENTS(node->hexes); idx++) { Hex *hex = node->hexes[idx]; if (hex && hex->roll > 0) { if (hex->terrain == GOLD_TERRAIN) ++player->gold; else ++player->assets[hex->terrain]; } } /* give out the gold */ distribute_first(list_from_player(player)); return; } /* Player tried to finish setup mode */ static void try_setup_done(Player * player) { StateMachine *sm = player->sm; Game *game = player->game; Map *map = game->params->map; gint num_allowed; num_allowed = game->double_setup ? 2 : 1; /* Make sure we have built the right number of * settlements/roads */ if (buildrec_count_edges(player->build_list) != num_allowed || buildrec_count_type(player->build_list, BUILD_SETTLEMENT) != num_allowed) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR expected-build-or-remove\n"); return; } /* We have the right number, now make sure that all roads are * connected to buildings and vice-versa */ if (!buildrec_is_valid(player->build_list, map, player->num)) { player_send(player, FIRST_VERSION, LATEST_VERSION, "ERR unconnected\n"); return; } /* Player has finished setup phase - give resources for second * settlement */ player_send(player, FIRST_VERSION, LATEST_VERSION, "OK\n"); if (game->double_setup) allocate_resources(player, buildrec_get(player->build_list, BUILD_SETTLEMENT, 1)); else if (game->reverse_setup) allocate_resources(player, buildrec_get(player->build_list, BUILD_SETTLEMENT, 0)); else { sm_goto(sm, (StateFunc) mode_idle); next_setup_player(game); } } /* find next player to do setup. */ void next_setup_player(Game * game) { if (game->reverse_setup) { /* Going back for second setup phase */ GList *prev = NULL, *list; for (list = player_first_real(game); list != NULL; list = player_next_real(list)) { if (list == game->setup_player) break; prev = list; } game->setup_player = prev; game->double_setup = FALSE; if (game->setup_player != NULL) { start_setup_player(game->setup_player->data); } else { /* Start the game!!! */ turn_next_player(game); } } else { /* First setup phase */ game->setup_player = player_next_real(game->setup_player); /* Last player gets double setup */ game->double_setup = player_next_real(game->setup_player) == NULL; /* Prepare to go backwards next time */ game->reverse_setup = game->double_setup; start_setup_player(game->setup_player->data); } } /* Player must place exactly one settlement and one road which connect * to each other. If last player, then perform a double setup. */ gboolean mode_setup(Player * player, gint event) { StateMachine *sm = player->sm; BuildType type; gint x, y, pos; sm_state_name(sm, "mode_setup"); if (event != SM_RECV) return FALSE; if (sm_recv(sm, "done")) { try_setup_done(player); return TRUE; } if (sm_recv(sm, "build %B %d %d %d", &type, &x, &y, &pos)) { build_add(player, type, x, y, pos); return TRUE; } if (sm_recv(sm, "undo")) { build_remove(player); return TRUE; } return FALSE; } static void try_start_game(Game * game) { GList *list; guint num; int numturn; num = 0; numturn = 0; for (list = player_first_real(game); list != NULL; list = player_next_real(list)) { Player *player = list->data; if (sm_current(player->sm) == (StateFunc) mode_idle) num++; if (sm_current(player->sm) == (StateFunc) mode_turn || sm_current(player->sm) == (StateFunc) mode_discard_resources || sm_current(player->sm) == (StateFunc) mode_place_robber || sm_current(player->sm) == (StateFunc) mode_road_building || sm_current(player->sm) == (StateFunc) mode_monopoly || sm_current(player->sm) == (StateFunc) mode_plenty_resources) { /* looks like this player got disconnected and now it's his turn. */ num++; numturn++; } } if (num != game->params->num_players) return; if (params_game_is_unstartable(game->params)) { /* this game cannot be started, don't enter the setup phase */ return; } if (numturn > 0) { /* someone got disconnected. Now everyone's back. Let's continue the game... */ return; } /* All players have connected, and are ready to begin */ if (game->tournament_timer != 0) { g_source_remove(game->tournament_timer); game->tournament_timer = 0; } meta_start_game(); game->setup_player = player_first_real(game); while (((Player *) game->setup_player->data)->num < 0) game->setup_player = game->setup_player->next; game->double_setup = game->reverse_setup = FALSE; start_setup_player(game->setup_player->data); } /* Send the player list to the client */ static void send_player_list(Player * player) { Game *game = player->game; GList *list; player_send_uncached(player, FIRST_VERSION, LATEST_VERSION, "players follow\n"); for (list = game->player_list; list != NULL; list = g_list_next(list)) { Player *scan = list->data; if (player == scan || scan->num < 0) continue; player_send_uncached(player, FIRST_VERSION, LATEST_VERSION, "player %d is %s\n", scan->num, scan->name); player_send_uncached(player, V0_11, LATEST_VERSION, "player %d style %s\n", scan->num, scan->style); if (scan->disconnected) player_send_uncached(player, FIRST_VERSION, LATEST_VERSION, "player %d has quit\n", scan->num); } player_send_uncached(player, FIRST_VERSION, LATEST_VERSION, ".\n"); } /* Send the game parameters to the player (uncached) */ static void send_game_line(gpointer player, const gchar * str) { player_send_uncached((Player *) player, FIRST_VERSION, LATEST_VERSION, "%s\n", str); } gboolean send_gameinfo_uncached(const Hex * hex, void *data) { guint i; Player *player = data; for (i = 0; i < G_N_ELEMENTS(hex->nodes); i++) { if (!hex->nodes[i] || hex->nodes[i]->x != hex->x || hex->nodes[i]->y != hex->y) continue; if (hex->nodes[i]->owner >= 0) { switch (hex->nodes[i]->type) { case BUILD_SETTLEMENT: player_send_uncached(player, FIRST_VERSION, LATEST_VERSION, "S%d,%d,%d,%d\n", hex->x, hex->y, i, hex->nodes[i]->owner); break; case BUILD_CITY: player_send_uncached(player, FIRST_VERSION, LATEST_VERSION, "C%d,%d,%d,%d\n", hex->x, hex->y, i, hex->nodes[i]->owner); break; default: ; } if (hex->nodes[i]->city_wall) { /* Older clients see an extension message */ player_send_uncached(player, FIRST_VERSION, V0_10, "extension city wall\n"); player_send_uncached(player, V0_11, LATEST_VERSION, "W%d,%d,%d,%d\n", hex->x, hex->y, i, hex->nodes[i]->owner); } } } for (i = 0; i < G_N_ELEMENTS(hex->edges); i++) { if (!hex->edges[i] || hex->edges[i]->x != hex->x || hex->edges[i]->y != hex->y) continue; if (hex->edges[i]->owner >= 0) { switch (hex->edges[i]->type) { case BUILD_ROAD: player_send_uncached(player, FIRST_VERSION, LATEST_VERSION, "R%d,%d,%d,%d\n", hex->x, hex->y, i, hex->edges[i]->owner); break; case BUILD_SHIP: player_send_uncached(player, FIRST_VERSION, LATEST_VERSION, "SH%d,%d,%d,%d\n", hex->x, hex->y, i, hex->edges[i]->owner); break; case BUILD_BRIDGE: player_send_uncached(player, FIRST_VERSION, LATEST_VERSION, "B%d,%d,%d,%d\n", hex->x, hex->y, i, hex->edges[i]->owner); break; default: ; } } } if (hex->robber) { player_send_uncached(player, FIRST_VERSION, LATEST_VERSION, "RO%d,%d\n", hex->x, hex->y); } if (hex == hex->map->pirate_hex) { player_send_uncached(player, FIRST_VERSION, LATEST_VERSION, "P%d,%d\n", hex->x, hex->y); } return FALSE; } /* Player setup phase */ gboolean mode_pre_game(Player * player, gint event) { StateMachine *sm = player->sm; Game *game = player->game; Map *map = game->params->map; StateFunc state; const gchar *prevstate; guint i; GList *next; gint longestroadpnum = -1; gint largestarmypnum = -1; static gboolean recover_from_plenty = FALSE; guint stack_offset; gchar *player_style; if (game->longest_road) { longestroadpnum = game->longest_road->num; } if (game->largest_army) { largestarmypnum = game->largest_army->num; } sm_state_name(sm, "mode_pre_game"); switch (event) { case SM_ENTER: player_send_uncached(player, FIRST_VERSION, LATEST_VERSION, "player %d of %d, welcome to pioneers server %s\n", player->num, game->params->num_players, FULL_VERSION); /* Tell the player that he exists. This is not done in * player_set_name, because at that point the client doesn't * know how many players are in the game, and therefore if * he is a player or a spectator. */ /* Tell the other players about this player */ player_broadcast(player, PB_OTHERS, FIRST_VERSION, LATEST_VERSION, "is %s\n", player->name); /* Tell this player his own name */ player_send_uncached(player, FIRST_VERSION, LATEST_VERSION, "player %d is %s\n", player->num, player->name); break; case SM_RECV: if (sm_recv(sm, "style %S", &player_style)) { if (player->style) g_free(player->style); player->style = player_style; player_broadcast(player, PB_OTHERS, V0_11, LATEST_VERSION, "style %s\n", player_style); player_send_uncached(player, V0_11, LATEST_VERSION, "player %d style %s\n", player->num, player_style); return TRUE; } if (sm_recv(sm, "players")) { send_player_list(player); return TRUE; } if (sm_recv(sm, "game")) { player_send_uncached(player, FIRST_VERSION, LATEST_VERSION, "game\n"); params_write_lines(game->params, player->version, FALSE, send_game_line, player); player_send_uncached(player, FIRST_VERSION, LATEST_VERSION, "end\n"); return TRUE; } if (sm_recv(sm, "gameinfo")) { GList *list; player_send_uncached(player, FIRST_VERSION, LATEST_VERSION, "gameinfo\n"); map_traverse_const(map, send_gameinfo_uncached, player); player_send_uncached(player, FIRST_VERSION, LATEST_VERSION, ".\n"); /* Notify old clients about new features */ if (game->params->num_build_type[BUILD_CITY_WALL] > 0) { player_send_uncached(player, FIRST_VERSION, V0_10, "extension city wall\n"); } /* now, send state info */ player_send_uncached(player, FIRST_VERSION, LATEST_VERSION, "turn num %d\n", game->curr_turn); if (game->curr_player >= 0) { Player *playerturn = player_by_num(game, game->curr_player); player_send_uncached(player, FIRST_VERSION, LATEST_VERSION, "player turn: %d\n", playerturn->num); } if (game->rolled_dice) { player_send_uncached(player, FIRST_VERSION, LATEST_VERSION, "dice rolled: %d %d\n", game->die1, game->die2); } else if (game->die1 + game->die2 > 1) { player_send_uncached(player, FIRST_VERSION, LATEST_VERSION, "dice value: %d %d\n", game->die1, game->die2); } if (game->bought_develop) { player_send_uncached(player, FIRST_VERSION, LATEST_VERSION, "bought develop\n"); } if (player->disconnected) { player_send_uncached(player, FIRST_VERSION, V0_12, "player disconnected\n"); } stack_offset = 1; state = sm_stack_inspect(sm, stack_offset); while ((state == (StateFunc) mode_choose_gold) || (state == (StateFunc) mode_wait_for_gold_choosing_players)) { ++stack_offset; state = sm_stack_inspect(sm, stack_offset); } if (state == (StateFunc) mode_idle) prevstate = "IDLE"; else if (state == (StateFunc) mode_turn) prevstate = "TURN"; else if (state == (StateFunc) mode_discard_resources) prevstate = "DISCARD"; else if (state == (StateFunc) mode_wait_for_other_discarding_players) prevstate = "DISCARD"; else if (state == (StateFunc) mode_place_robber) prevstate = "YOUAREROBBER"; else if (state == (StateFunc) mode_road_building) prevstate = "ROADBUILDING"; else if (state == (StateFunc) mode_monopoly) prevstate = "MONOPOLY"; else if (state == (StateFunc) mode_plenty_resources) { recover_from_plenty = TRUE; prevstate = "PLENTY"; } else if (state == (StateFunc) mode_setup) { if (game->double_setup) prevstate = "SETUPDOUBLE"; else if (game->reverse_setup) prevstate = "RSETUP"; else prevstate = "SETUP"; /* If player is selecting gold, the state * should be IDLE instead */ if (stack_offset != 1) prevstate = "IDLE"; } else prevstate = "PREGAME"; player_send_uncached(player, FIRST_VERSION, LATEST_VERSION, "state %s\n", prevstate); /* Send the bank, so the client can count remaining * resources */ player_send_uncached(player, FIRST_VERSION, LATEST_VERSION, "bank %R\n", game->bank_deck); /* Send the number of development cards played, so the * client knows how many are left. */ player_send_uncached(player, FIRST_VERSION, LATEST_VERSION, "development-bought %d\n", game->develop_next); /* Send player info about what he has: resources, dev cards, roads, # roads, # bridges, # ships, # settles, # cities, # soldiers, road len, dev points, who has longest road/army, spectators will receive an empty list */ player_send_uncached(player, FIRST_VERSION, LATEST_VERSION, "playerinfo: resources: %R\n", player->assets); player_send_uncached(player, FIRST_VERSION, LATEST_VERSION, "playerinfo: numdevcards: %d\n", deck_count(player->devel)); for (i = 0; i < deck_count(player->devel); i++) { player_send_uncached(player, FIRST_VERSION, V14, "playerinfo: devcard: %d %d\n", (gint) deck_get_guint (player->devel, i), i < game->num_playable_cards ? -1 : game-> curr_turn); player_send_uncached(player, V15, LATEST_VERSION, "playerinfo: devcard: %d %d\n", (gint) deck_get_guint (player->devel, i), i < game->num_playable_cards ? 0 : 1); } player_send_uncached(player, V14, LATEST_VERSION, "playerinfo: %d %d %d %d %d %d %d %d %d %d %d %d %d\n", player->num_roads, player->num_bridges, player->num_ships, player->num_settlements, player->num_cities, player->num_soldiers, player->chapel_played, player->univ_played, player->gov_played, player->libr_played, player->market_played, (player->num == longestroadpnum), (player->num == largestarmypnum)); player_send_uncached(player, FIRST_VERSION, V0_12, "playerinfo: %d %d %d %d %d %d %d %d %d %d %d %d %d %d\n", player->num_roads, player->num_bridges, player->num_ships, player->num_settlements, player->num_cities, player->num_soldiers, 0, player->chapel_played, player->univ_played, player->gov_played, player->libr_played, player->market_played, (player->num == longestroadpnum), (player->num == largestarmypnum)); /* Send special points */ list = player->special_points; while (list) { Points *points = list->data; player_send_uncached(player, FIRST_VERSION, LATEST_VERSION, "get-point %d %d %d %s\n", player->num, points->id, points->points, points->name); list = g_list_next(list); } /* Send info about other players */ for (next = player_first_real(game); next != NULL; next = player_next_real(next)) { Player *p = (Player *) next->data; gint numassets = 0; if (p->num == player->num) continue; for (i = 0; i < NO_RESOURCE; i++) { numassets += p->assets[i]; } player_send_uncached(player, FIRST_VERSION, LATEST_VERSION, "otherplayerinfo: %d %d %d %d %d %d %d %d %d %d %d\n", p->num, numassets, deck_count(p->devel), p->num_soldiers, p->chapel_played, p->univ_played, p->gov_played, p->libr_played, p->market_played, (p->num == longestroadpnum), (p->num == largestarmypnum)); /* Send special points */ list = p->special_points; while (list) { Points *points = list->data; player_send_uncached(player, FIRST_VERSION, LATEST_VERSION, "get-point %d %d %d %s\n", p->num, points->id, points-> points, points->name); list = g_list_next(list); } } /* Send build info for the current player - what builds the player was in the process of building when he disconnected */ for (next = player->build_list; next != NULL; next = g_list_next(next)) { BuildRec *build = (BuildRec *) next->data; player_send_uncached(player, FIRST_VERSION, LATEST_VERSION, "buildinfo: %B %d %d %d\n", build->type, build->x, build->y, build->pos); } player_send_uncached(player, FIRST_VERSION, LATEST_VERSION, "end\n"); return TRUE; } if (sm_recv(sm, "start")) { player_send_uncached(player, FIRST_VERSION, LATEST_VERSION, "OK\n"); /* Some player was in the setup phase */ if (game->setup_player != NULL && (Player *) game->setup_player->data != player) { gint num = ((Player *) (game->setup_player-> data))->num; if (game->double_setup) player_send_uncached(player, FIRST_VERSION, LATEST_VERSION, "player %d setup-double\n", num); else player_send_uncached(player, FIRST_VERSION, LATEST_VERSION, "player %d setup %d\n", num, game-> reverse_setup); } if (recover_from_plenty) { player_send_uncached(player, FIRST_VERSION, LATEST_VERSION, "plenty %R\n", game->bank_deck); recover_from_plenty = FALSE; } /* send discard and gold info for all players */ for (next = player_first_real(game); next != NULL; next = player_next_real(next)) { Player *p = (Player *) next->data; if (p->discard_num > 0) { player_send_uncached(player, FIRST_VERSION, LATEST_VERSION, "player %d must-discard %d\n", p->num, p-> discard_num); } if (p->gold > 0) { player_send_uncached(player, FIRST_VERSION, LATEST_VERSION, "player %d prepare-gold %d\n", p->num, p->gold); } } /* The current player was choosing gold */ state = sm_stack_inspect(sm, 1); if (state == (StateFunc) mode_choose_gold) { gint limited_bank[NO_RESOURCE]; gold_limited_bank(game, player->gold, limited_bank); player_send_uncached(player, FIRST_VERSION, LATEST_VERSION, "choose-gold %d %R\n", player->gold, limited_bank); } /* Trade was in progress */ if (game->curr_player != -1 && (StateFunc) mode_domestic_initiate == sm_stack_inspect(player_by_num (game, game->curr_player)->sm, 0)) { QuoteInfo *quote = quotelist_first(game->quotes); player_send_uncached(player, FIRST_VERSION, LATEST_VERSION, "player %d domestic-trade call supply %R receive %R\n", game->curr_player, game->quote_supply, game->quote_receive); while (quote) { if (quote->is_domestic) { player_send_uncached (player, FIRST_VERSION, LATEST_VERSION, "player %d domestic-quote quote %d supply %R receive %R\n", quote->var.d. player_num, quote->var.d. quote_num, quote->var.d.supply, quote->var.d.receive); } quote = quotelist_next(quote); } /* The player already rejected all quotes, * send reject again */ if (state == (StateFunc) mode_domestic_quote_rejected) { player_send_uncached(player, FIRST_VERSION, LATEST_VERSION, "player %d domestic-quote finish\n", player->num); } } sm_set_use_cache(sm, FALSE); if (player->disconnected) { player->disconnected = FALSE; driver->player_change(game); if (!sm_is_connected(sm)) /* This happens when the connection is * dropped when the cache is sent */ sm_goto(sm, (StateFunc) mode_spectator); else { if (sm_stack_inspect(sm, 1) != NULL) { sm_pop(sm); } else { /* During the previous * connection attempt, the * connection was lost too * soon */ sm_goto(sm, (StateFunc) mode_idle); } } } else { if (!player_is_spectator (game, player->num)) sm_goto(sm, (StateFunc) mode_idle); else sm_goto(sm, (StateFunc) mode_spectator); } try_start_game(game); return TRUE; } break; default: break; } return FALSE; } pioneers-15.5/server/square.game0000644000175000017500000000074710227532546013670 00000000000000title Square strict-trade num-players 2 victory-points 8 num-roads 15 num-settlements 5 num-cities 4 resource-count 19 develop-road 2 develop-monopoly 2 develop-plenty 2 develop-chapel 1 develop-university 1 develop-governor 1 develop-library 1 develop-market 1 develop-soldier 13 chits 6,2,8,12,6,5,3,9,11,5,4,4,10,10,4,3,5,11,9,3,2,6,12,8,2 map s,s,s,s,s,s,s s,m0,t1,p2,h3,f4,s s,m5,t6,p7,h8,f9,s s,m10,t11,p12,h13,f14,s s,m15,t16,p17,h18,f19,s s,m20,t21,p22,h23,f24,s s,s,s,s,s,s,s . pioneers-15.5/server/north_america.game0000644000175000017500000000451611755241465015205 00000000000000title North America random-terrain domestic-trade num-players 6 sevens-rule 0 victory-points 16 num-roads 40 num-bridges 0 num-ships 40 num-settlements 10 num-cities 5 num-city-walls 0 resource-count 20 develop-road 4 develop-monopoly 4 develop-plenty 4 develop-chapel 2 develop-university 2 develop-governor 2 develop-library 2 develop-market 2 develop-soldier 30 # 1/31/2004 # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. desc by Ron Yorgason desc desc Please provide some feedback ;) chits 3,11,6,2,3,11,9,8,9,4,11,10,9,12,11,9,4,9,4,11,4,4,5,5,11,6,9,8,12,2,10,9,6,5,11,5,9,2,11,6,12,12,4,11,8,8,2,6,3,3,9,12,2,8,10,10,4,8,12,4,2,4,8,5,11,9,3,12,2,6,6,12,8,11,5,8,6,6,12,10,10,11,11,8,2,5,9,8,12,2,8,10,9,5,12,6,12,12,9,4,12,2,12,8,10,11,6,9,12,6,11,10,12,5,3,8,6,8,3,4,4,8,3,12,5 map s,s,s,s,s,s,s,s,s,s,s,s,h0,s,s,f1,d2,d3,h4 s,s,f5,m6,d7,s,s,s,s,s,s,t8,s,f9,s,f10,t11,h12,t13 s,s,f14,m15,h16,t17,f18,s,s,s,s,s,s,s,s,s,s,sg0,p19 s,s,m20,f21,p22,f23,t24,t25,f26,t27,f28,s,p29,f30,f31,s,h32,s,s s,s,s,s,s?1,t33,p34,f35,h36,h37,t38,s,s?0,f39,t40,p41,s?2,s,s s,s,s,s,s,t42,f43,h44,m45,f46,p47,f48,h49,t50,p51,f52,s,s,s s,s,s,s,s,h53,f54,m55,p56,f57,t58,t59,t60,h61,t62,so2,s,s,s s,s,s,s,sl0,h63,t64,m65,f66,f67,s,s,s,t68,h69,s,s,s,s s?5,s,s,s,s,t70,t71,m72,h73,f74,p75,p76,s,h77,t78,sw3,s,s,s p79,s,s,s,sg0,f80,m81,h82,p83,f84,f85,t86,h87,t88,s,s,s,s,s t89,m90,s,s,s,p91,t92,m93,h94,f95,f96,t97,h98,f99,s?2,s,s,s,s s,s,s,s,sw0,f100,h101,t102,f103,f104,p105,f106,p107,s,s,s,s,s,s s,s,s,s,s,s,f108,h109,p110,t111,sg2,s,sb1,p112,sl4,s,s,s,s s,s,s,s,s,s113,p114,h115,h116,f117,s,s,s,f118,s,s,s,s,s s,s,s,s,s,s,s,s,f119,p120,t121,h122,s,s,s,s?4,s,s,s s,s,s,s,s,s,s,sb1,s,s,f123,p124,s,s,t125,f126,p127,s,s . pioneers-15.5/server/coeur.game0000644000175000017500000000323411755241465013503 00000000000000title Heart domestic-trade num-players 3 sevens-rule 0 victory-points 14 num-roads 15 num-bridges 2 num-ships 10 num-settlements 4 num-cities 4 num-city-walls 0 resource-count 19 develop-road 3 develop-monopoly 3 develop-plenty 3 develop-chapel 1 develop-university 1 develop-governor 1 develop-library 1 develop-market 1 develop-soldier 14 use-pirate # v1.0, 15/02/2004 # v1.1, 02/08/2006 Gold excluded from shuffle # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA desc Copyright 2004 LT-P desc desc Please provide some feedback ;) chits 5,12,11,9,12,8,3,5,2,11,6,2,10,4,4,10,4,11,5,9,3,4,10,4,10,6,3,9,8,2,10,12 map s,s,s,s,s,s,s,s,s,s s,p0,m1,s,s,s,p2,m3,s,s s,f4,t5,t6,h7,h8,f9,f10,t11,s s,f12,t13,s,g14+,s,f15,t16,s,s s,s,t17,m18,s,s,p19,f20,s,s s,s,p21,m22,s,p23,m24,s,s,s s,s,s,m25,h26,h27,p28,s,s,s s,s,s,h29,g30+,h31,s,s,s,s s,s,s,s,s,s,s,s,s,s . nosetup 3 3 0 nosetup 3 3 5 nosetup 3 7 0 nosetup 3 7 5 nosetup 4 2 5 nosetup 4 3 0 nosetup 4 3 4 nosetup 4 3 5 nosetup 4 6 5 nosetup 4 7 0 nosetup 4 7 4 nosetup 4 7 5 pioneers-15.5/server/Evil_square.game0000644000175000017500000000262111755241465014644 00000000000000title Evil square domestic-trade num-players 4 sevens-rule 0 victory-points 12 num-roads 16 num-bridges 0 num-ships 0 num-settlements 4 num-cities 4 num-city-walls 0 resource-count 40 develop-road 3 develop-monopoly 3 develop-plenty 3 develop-chapel 0 develop-university 0 develop-governor 0 develop-library 0 develop-market 0 develop-soldier 9 # v1.3, 14/09/2003 # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA desc Copyright 2003 LT-P desc desc Please provide some feedback ;) chits 3,9,2,5,11,4,6,10,4,8,10,5,11,12,3,9,2,12,3,9,2,5,11,4,6,10,4,8,10,5,11,12,3,9 map s,s,s,s,s,s,s,s s,p0,p1,p2,p3,p4,s,s s,p5,f6,p7,p8,t9,p10,s s,p11,p12,p13,p14,p15,p16,s s,p17,p18,p19,p20,p21,p22,s s,p23,h24,p25,p26,m27,p28,s s,s,p29,p30,p31,p32,p33,s s,s,s,s,s,s,s,s . pioneers-15.5/server/crane_island.game0000644000175000017500000000366011755241465015013 00000000000000title Crane Island domestic-trade num-players 4 sevens-rule 0 victory-points 16 num-roads 15 num-bridges 0 num-ships 15 num-settlements 6 num-cities 4 num-city-walls 0 resource-count 20 develop-road 2 develop-monopoly 2 develop-plenty 2 develop-chapel 1 develop-university 1 develop-governor 1 develop-library 1 develop-market 1 develop-soldier 13 # v1.0, added to Pioneers 2005-04-09 # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA desc Copyright 2005 Yusei desc desc Please provide some feedback ;) chits 8,6,4,10,6,5,10,9,2,4,4,11,5,3,9,10,8,3,12,4,4,3,9,5,8,6,8,9,6,5 map s,s,s,s,s,s,s,s,s,s sl0,m0,s,t1,h2,t3,s,m4,sg3,- s,s,s,t5,f6,p7,f8,s,s,s s,s,f9,s,p10,s,t11,s,s,- s,s,h12,m13,t14,h15,f16,p17,s,s s,s,s?2,f18,s,p19,s?1,s,s,- s,s,s,h20,p21,t22,f23,s,s,s s,s,s,d24,d25,d26,s,s,s,- sw0,f27,m28,s,p29,t30,s,m31,h32,sb3 s,s,s,s,s,s,s,s,s,- . nosetup 0 1 0 nosetup 0 1 5 nosetup 0 7 4 nosetup 0 7 5 nosetup 0 8 5 nosetup 0 9 0 nosetup 1 0 5 nosetup 1 1 0 nosetup 1 1 4 nosetup 1 1 5 nosetup 1 7 4 nosetup 1 7 5 nosetup 1 8 5 nosetup 1 9 0 nosetup 2 7 4 nosetup 2 8 5 nosetup 6 1 0 nosetup 6 1 5 nosetup 6 7 4 nosetup 6 7 5 nosetup 6 8 5 nosetup 6 9 0 nosetup 7 0 5 nosetup 7 1 0 nosetup 7 1 4 nosetup 7 1 5 nosetup 7 7 4 nosetup 7 7 5 nosetup 7 8 5 nosetup 7 9 0 nosetup 8 7 4 nosetup 8 8 5 pioneers-15.5/server/5-6-player.game0000644000175000017500000000126311755241465014167 00000000000000title 5/6-player random-terrain domestic-trade num-players 5 sevens-rule 0 victory-points 10 num-roads 15 num-bridges 0 num-ships 0 num-settlements 5 num-cities 4 num-city-walls 0 resource-count 24 develop-road 3 develop-monopoly 3 develop-plenty 3 develop-chapel 1 develop-university 1 develop-governor 1 develop-library 1 develop-market 1 develop-soldier 19 desc Default layout for 5 or 6 players chits 2,5,4,8,10,11,6,4,9,12,12,3,8,5,6,3,10,9,3,9,2,5,8,4,11,6,10,11 map -,-,s?5,s,sw4,s,-,- -,s,m0,m1,m2,sw4,-,- -,s?5,m3,m4,m5,h6,s,- s,h7,h8,h9,h10,h11,sg3,- s?0,p12,p13,p14,p15,p16,p17,s s,f18,f19,f20,f21,f22,sl3,- -,s?1,d23,d24,t25,t26,s,- -,s,t27,t28,t29,s?2,-,- -,-,so1,s,sb2,s,-,- . pioneers-15.5/server/GuerreDe100ans.game0000644000175000017500000000467311755241465015023 00000000000000title La guerre de 100 ans domestic-trade num-players 4 sevens-rule 0 victory-points 16 num-roads 40 num-bridges 0 num-ships 40 num-settlements 10 num-cities 5 num-city-walls 0 resource-count 20 develop-road 4 develop-monopoly 4 develop-plenty 4 develop-chapel 2 develop-university 2 develop-governor 2 develop-library 2 develop-market 2 develop-soldier 30 use-pirate island-discovery-bonus 1 # v1.0, 2003-07-02 Initial version # v1.1, 2006-09-10 Added pirate and island-discovery # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # desc Copyright 2003, 2006 LT-P desc desc Please provide some feedback ;) chits 8,9,5,6,4,9,8,10,5,6,10,6,5,9,8,5,6,4,9,8,3,2,10,12,3,4,9,5,3,11,4,4,10,11,5,9,10,12,5,4,2,9,2,4,10,11,12,9,11,10,3,4,2,5,8,9,5,6,4,9,8,10,5,6,10,6,5,9,8,5,6,4,9,8,3,2,10,12,3,4,9,5,3,11,4,4,10,11,5,9,10,12,5,4,2,9,2,4,10,11,12,9,11,10,3,12,4,2,5,8,9,5,6,4,9,8,5,10,5,6,10,6,5,9,8,5,6,4,9,8,3,2,4,10,12,3,4,9,5,3,11,4,4,10,11,5,9,10 map s,s,s,t0,t1,t2,t3,p4,h5,h6,h7,p8,p9,p10,f11,f12 s,s,s,s,p13,p14,t15,p16,f17,p18,f19,t20,t21,f22,f23,s s,s,s,s,s,p24,p25,sw1,f26,p27,h28,f29,p30,f31,f32,sg3 s,s,s,p33,s,s,s,t34,t35,h36,f37,m38,m39,p40,f41,p42 s,s,s,p43,f44,p45,f46,p47,h48,t49,m50,m51,s?0,m52,m53,m54 s,p55,t56,t57,m58,h59,f60,f61,h62,t63,s,s,s,s,sl0,s s,p64,m65,m66,f67,m68,m69,s?0,t70,s,s,s,s,s,s,p71 s,t72,sl0,p73,p74,sw0,p75,s,s,s,s,s,s,s,sb0,m76 s,s,s,s,s,s,s,s,s,s,s,s,s,h77,m78,h79 s,s,s,s,s,s,s,s,s,p80,h81,t82,sg0,f83,f84,t85 s,s,s,s,s,s,s,s,s,h86,t87,p88,p89,s,t90,p91 s,s,s,s,s,s,s,p92,s,m93,f94,f95,f96,s,s,p97 s,s,sl5,s,s,s,s,m98,s,p99,f100,t101,f102,p103,f104,s?4 m105,m106,t107,m108,s,s,so0,s,s?5,m109,p110,p111,t112,t113,p114,f115 p116,p117,h118,p119,f120,p121,f122,m123,m124,m125,f126,f127,t128,t129,t130,p131 t132,t133,t134,h135,t136,t137,h138,t139,t140,f141,p142,f143,h144,p145,f146,f147 . pioneers-15.5/server/seafarers.game0000644000175000017500000000135111755241465014337 00000000000000title Seafarers strict-trade domestic-trade num-players 4 sevens-rule 0 victory-points 10 num-roads 15 num-bridges 0 num-ships 15 num-settlements 5 num-cities 4 num-city-walls 0 resource-count 19 develop-road 2 develop-monopoly 2 develop-plenty 2 develop-chapel 1 develop-university 1 develop-governor 1 develop-library 1 develop-market 1 develop-soldier 13 use-pirate desc Two big islands chits 5,2,6,3,8,10,9,12,11,4,8,10,9,4,5,6,3,11,5,2,6,3,8,10,9,12,11,4,8,10,9,4,5,6,3,11,12,6 map s,s,sw5,s,s,sg4,s,s?5,s s,p0,m1,h2,h3,h4,f5,t6,s s,s?0,t7,m8,p9,f10,t11,p12,sw3 s,f13,s?1,s,s,sg2,s,m14,s s,sb1,s,f15,m16,f17,p18,s,so2 s,m19,t20,t21,f22,p23,m24,h25,s s,sb0,t26,p27,d28,h29,f30,f31,s s,t32,p33,h34,m35,p36,m37,h38,s?3 s,s,s,sl1,s,s,s?2,s,s . pioneers-15.5/server/pond.game0000644000175000017500000000107010466566006013321 00000000000000title The Pond num-players 2 victory-points 12 domestic-trade num-roads 20 num-settlements 10 num-cities 8 resource-count 20 develop-road 2 develop-monopoly 2 develop-plenty 2 develop-chapel 1 develop-university 1 develop-governor 1 develop-library 1 develop-market 1 develop-soldier 13 chits 6, 9, 4, 10, 11, 8, 2, 9, 2, 5, 4, 8, 4, 10, 4, 3, 6, 3, 5, 2, 9, 12, 6, 4, 3, 10, 5, 8 map -, -, h0, m1, f2, p3, m4, t5 m6, p7,sw2, s,s?1, s, p8, f9,p10 h11,f12,h13, s, s,d28+, s,t14,m15,t16 m17,f18,p19, s,s?4, s,sg5,p20,f21 -, -,h22,p23,f24,m25,f26,t27 . pioneers-15.5/server/four-islands.game0000644000175000017500000000105310471112741014755 00000000000000title The Four Islands strict-trade domestic-trade num-players 3 victory-points 12 num-roads 15 num-ships 15 num-settlements 5 num-cities 4 resource-count 19 develop-road 2 develop-monopoly 2 develop-plenty 2 develop-chapel 1 develop-university 1 develop-governor 1 develop-library 1 develop-market 1 develop-soldier 13 use-pirate island-discovery-bonus 1,2 chits 4,9,3,6,6,10,2,5,11,8,9,8,4,12,10 map -,s,s,s,s,s,s s,p0,t1,s,s,f2,s -,s,f3,s,s,t4,s s,s,s,s,h5,m6,s -,s,s,s,s,s,s s,h7,t8,s,s,s,s -,s,p9,h10,s,m11,s s,m12,f13,s,s,p14,s -,s,s,s,s,s,s . pioneers-15.5/server/Another_swimming_pool_in_the_wall.game0000644000175000017500000000350211755241465021274 00000000000000title Another swimming pool in the wall domestic-trade num-players 6 sevens-rule 0 victory-points 16 num-roads 24 num-bridges 4 num-ships 8 num-settlements 6 num-cities 5 num-city-walls 0 resource-count 20 develop-road 4 develop-monopoly 2 develop-plenty 4 develop-chapel 1 develop-university 1 develop-governor 1 develop-library 1 develop-market 1 develop-soldier 13 # v1.1, 4/08/2003 # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA desc Copyright 2003 LT-P desc desc Please provide some feedback ;) chits 5,12,11,9,5,8,3,4,12,6,10,9,2,10,12,4,3,8,5,11,3,10,2,9,6,4,11,5,12,11,9,5,8,3,4,12,6,10,9,2,10,12,4,3,8,5,11,3,10,2,9,6,4,11,5,12,11,9,5,8,3,4,12,6,10,9,2,10,12,4,3,8,5,11,3,10,2,9,6,4,11,5,12,11,9,5,8,3,4,12,6,10,9,2,10,12 map t0,p1,p2,t3,p4,t5,p6,p7,p8,f9,p10,f11,-,f12 m13,t14,d15,d16,h17,f18,s,h19,p20,p21,-,-,m22,t23 p24,h25,d26,m27,d28,p29,t30,p31,m32,s,s,p33,h34,p35 p36,p37,d38,d39,f40,h41,t42,-,-,p43,f44,p45,d46,f47 f48,h49,p50,h51,p52,m53,s,s,p54,h55,p56,t57,m58,p59 p60,t61,p62,f63,-,s,p64,h65,t66,p67,s,s,p68,m69 m70,p71,h72,s,-,p73,f74,p75,m76,p77,s,s,t78,p79 f80,-,s,p81,t82,p83,s,s,p84,f85,p86,p87,f88,p89 p90,-,p91,f92,h93,p94,m95,p96,m97,h98,p99,t100,p101,h102 . pioneers-15.5/server/conquest+ports.game0000644000175000017500000000406011755241465015370 00000000000000title Conquest w/ Ports domestic-trade num-players 4 sevens-rule 0 victory-points 16 num-roads 20 num-bridges 0 num-ships 16 num-settlements 6 num-cities 5 num-city-walls 0 resource-count 20 develop-road 2 develop-monopoly 2 develop-plenty 2 develop-chapel 1 develop-university 1 develop-governor 1 develop-library 1 develop-market 1 develop-soldier 13 use-pirate island-discovery-bonus 1 desc Travel to the smaller islands from the central island. Use the ports for better deals when trading. chits 8,3,2,10,12,9,9,5,3,4,9,5,8,10,6,4,3,11,4,4,10,11,5,6,5,9,10,12,5,4,10,6,2,9,2,4,10,11,5,6,5,9,12,9,11,10,4,9,8,3,4,2,5,8 map -,-,s,s,s,s,sw4,s,s,s,s,s,s,- -,s,h0,s,s,m1,f2,p3,h4,sg4,s,f5,s,- -,s,p6,f7,s,t8,m9,s,p10,m11,s,t12,m13,s s,t14,m15,s?5,f16,h17,h18,m19,t20,t21,s,p22,h23,s -,s,s,s,t24,p25,f26,d27,t28,f29,m30,s?3,s,s s,m31,h32,s,m33,f34,m35,p36,h37,f38,s,f39,t40,s -,s,p41,f42,sb0,h43,m44,s,t45,h46,s,m47,p48,s -,s,t49,s,s,f50,p51,m52,h53,sl3,s,h54,s,- -,-,s,s,s,s,so2,s,s,s,s,s,s,- . nosetup 0 3 0 nosetup 0 3 5 nosetup 0 5 0 nosetup 0 5 5 nosetup 1 1 0 nosetup 1 1 4 nosetup 1 1 5 nosetup 1 2 5 nosetup 1 3 0 nosetup 1 3 4 nosetup 1 3 5 nosetup 1 4 5 nosetup 1 5 0 nosetup 1 5 4 nosetup 1 5 5 nosetup 1 6 5 nosetup 1 7 0 nosetup 1 7 5 nosetup 2 0 5 nosetup 2 1 0 nosetup 2 1 4 nosetup 2 1 5 nosetup 2 2 5 nosetup 2 3 0 nosetup 2 3 4 nosetup 2 3 5 nosetup 2 4 5 nosetup 2 5 0 nosetup 2 5 4 nosetup 2 5 5 nosetup 2 6 5 nosetup 2 7 0 nosetup 2 7 4 nosetup 2 7 5 nosetup 3 1 4 nosetup 3 2 5 nosetup 3 5 4 nosetup 3 6 5 nosetup 10 1 0 nosetup 10 1 4 nosetup 10 1 5 nosetup 10 2 5 nosetup 10 3 0 nosetup 10 3 5 nosetup 10 5 0 nosetup 10 5 4 nosetup 10 5 5 nosetup 10 6 5 nosetup 10 7 0 nosetup 10 7 5 nosetup 11 0 5 nosetup 11 1 0 nosetup 11 1 4 nosetup 11 1 5 nosetup 11 2 5 nosetup 11 3 0 nosetup 11 3 4 nosetup 11 3 5 nosetup 11 4 5 nosetup 11 5 0 nosetup 11 5 4 nosetup 11 5 5 nosetup 11 6 5 nosetup 11 7 0 nosetup 11 7 4 nosetup 11 7 5 nosetup 12 1 4 nosetup 12 2 5 nosetup 12 3 0 nosetup 12 3 4 nosetup 12 3 5 nosetup 12 4 5 nosetup 12 5 0 nosetup 12 5 4 nosetup 12 5 5 nosetup 12 6 5 pioneers-15.5/server/glib-driver.h0000644000175000017500000000216413252223516014102 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef __glib_driver_h #define __glib_driver_h void srv_glib_player_added(void *data); void srv_glib_player_renamed(void *data); void srv_player_removed(void *data); void srv_player_change(void *data); #endif /* __glib_driver_h */ pioneers-15.5/configure.ac0000644000175000017500000003767113250006172012511 00000000000000# Pioneers - Implementation of the excellent Settlers of Catan board game. # Go buy a copy. # # Copyright (C) 1999 Dave Cole # Copyright (C) 2003-2007 Bas Wijnen # Copyright (C) 2004-2014 Roland Clobus # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA AC_PREREQ([2.68]) AC_INIT([pioneers],[15.5],[pio-develop@lists.sourceforge.net]) AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_AUX_DIR([.]) AM_INIT_AUTOMAKE([1.11]) AC_CONFIG_SRCDIR([client]) AC_CONFIG_HEADERS([config.h]) META_PROTOCOL_VERSION=1.3 PIONEERS_DEFAULT_GAME_PORT=5556 PIONEERS_DEFAULT_GAME_HOST=localhost PIONEERS_DEFAULT_ADMIN_PORT=5555 PIONEERS_DEFAULT_META_PORT=5557 PIONEERS_DEFAULT_METASERVER=pioneers.debian.net GLIB_REQUIRED_VERSION=2.26 GIO_REQUIRED_VERSION=2.28 GTK_REQUIRED_VERSION=3.22 GTK_OPTIMAL_VERSION=3.22 LIBNOTIFY_REQUIRED_VERSION=0.7.4 AC_SUBST(GLIB_REQUIRED_VERSION) AC_SUBST(GTK_REQUIRED_VERSION) AM_MAINTAINER_MODE LT_INIT AC_PATH_PROG(ECHO, echo) AC_PROG_CC AM_PROG_CC_C_O AC_PROG_MKDIR_P AC_HEADER_STDC # The Windows ports (Cygwin and MinGW) are client-only pioneers_is_mingw_port=no; case $host in *-*-cygwin*) pioneers_is_windows_port=yes;; *-*-mingw*) pioneers_is_windows_port=yes; pioneers_is_mingw_port=yes;; *) pioneers_is_windows_port=no;; esac if test $USE_MAINTAINER_MODE = yes; then GOB2_CHECK([[2.0.0]]) fi # Try to find a suitable renderer for the svg images AC_SUBST(whitespace_trick, [" "]) AC_PATH_PROG(svg_renderer_path, rsvg-convert) if test x$svg_renderer_path != x; then AC_SUBST(svg_renderer_width, ["--width \$(whitespace_trick)"]) AC_SUBST(svg_renderer_height, ["\$(whitespace_trick) --height \$(whitespace_trick)"]) AC_SUBST(svg_renderer_output, ["\$(whitespace_trick) -o \$(whitespace_trick)"]) else AC_PATH_PROG(svg_renderer_path, rsvg) if test x$svg_renderer_path != x; then AC_SUBST(svg_renderer_width, ["--width \$(whitespace_trick)"]) AC_SUBST(svg_renderer_height, ["\$(whitespace_trick) --height \$(whitespace_trick)"]) AC_SUBST(svg_renderer_output, ["\$(whitespace_trick)"]) else AC_PATH_PROG(svg_renderer_path, convert) if test x$svg_renderer_path != x; then AC_SUBST(svg_renderer_width, ["-background \"\#000001\" -transparent \"\#000001\" -resize \$(whitespace_trick)"]) AC_SUBST(svg_renderer_height, ["x"]) AC_SUBST(svg_renderer_output, ["\$(whitespace_trick)"]) else # Add other SVG rendering programs here # Don't let configure fail, in the distributed tarballs is already # a current .png file AC_SUBST(svg_renderer_path, [false]) fi fi fi AC_ARG_ENABLE([warnings], AS_HELP_STRING([--enable-warnings], [Compile with check for compiler warnings (gcc-only).]), [case "${enableval}" in full) pioneers_warnings=full;; yes) pioneers_warnings=yes ;; "") pioneers_warnings=yes ;; *) pioneers_warnings=no ;; esac], [pioneers_warnings=$USE_MAINTAINER_MODE]) AC_ARG_ENABLE([debug], AS_HELP_STRING([--enable-debug], [Enable debug information.]), [case "${enableval}" in yes) pioneers_debug=yes ;; "") pioneers_debug=yes ;; *) pioneers_debug=no ;; esac], [pioneers_debug=$USE_MAINTAINER_MODE]) AC_ARG_ENABLE([deprecation-checks], AS_HELP_STRING([--enable-deprecation-checks], [Enable strict deprecation checks.]), [case "${enableval}" in yes) pioneers_deprecationChecks=yes ;; "") pioneers_deprecationChecks=yes ;; *) pioneers_deprecationChecks=no ;; esac], [pioneers_deprecationChecks=$USE_MAINTAINER_MODE]) AC_ARG_ENABLE([help], AS_HELP_STRING([--enable-help], [Enable help in the programs that support it.]), [case "${enableval}" in yes) enable_help=yes ;; "") enable_help=yes ;; *) enable_help=no ;; esac], [enable_help=yes]) AC_ARG_ENABLE([hardening], AS_HELP_STRING([--enable-hardening], [Enable hardening compiler options.]), [case "${enableval}" in yes) enable_hardening=yes ;; "") enable_hardening=yes ;; *) enable_hardening=no ;; esac], [enable_hardening=$USE_MAINTAINER_MODE]) AC_ARG_WITH([gtk], AS_HELP_STRING([--with-gtk], [Use GTK+ for the graphical programs.]), [case "${withval}" in yes) with_gtk=yes ;; "") with_gtk=yes ;; *) with_gtk=no ;; esac], [with_gtk=yes]) AC_ARG_WITH([avahi], AS_HELP_STRING([--with-avahi], [Use AVAHI for discovering games.]), [case "${withval}" in yes) with_avahi=yes ;; "") with_avahi=yes ;; *) with_avahi=no ;; esac], [with_avahi=yes]) AC_ARG_WITH([notify], AS_HELP_STRING([--with-notify], [Use LIBNOTIFY to notify the player during the game.]), [case "${withval}" in yes) with_notify=yes ;; "") with_notify=yes ;; *) with_notify=no ;; esac], [with_notify=yes]) if test "x$GCC" = xyes && test $enable_hardening = yes; then if test "$pioneers_is_windows_port" = "no"; then # Flags from Debian hardening (dpkg-buildflags --get CFLAGS) AC_SUBST(AM_CFLAGS, ["$AM_CFLAGS -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security"]) AC_SUBST(AM_CFLAGS, ["$AM_CFLAGS -D_FORTIFY_SOURCE=2"]) AC_SUBST(AM_CFLAGS, ["$AM_CFLAGS -pie -fPIE"]) # Flags from Debian hardening (dpkg-buildflags --get LDFLAGS) AC_SUBST(AM_LDFLAGS, ["$AM_LDFLAGS -Wl,-z,relro"]) AC_SUBST(AM_LDFLAGS, ["$AM_LDFLAGS -Wl,-z,now"]) else enable_hardening="no, disabled for MS Windows" fi fi ## The warnings are in the same order as in 'man gcc' if test "x$GCC" = xyes; then # Only link the directly needed libraries AC_SUBST(AM_CFLAGS, ["$AM_CFLAGS -Wl,--as-needed"]) if test "$pioneers_warnings" = yes -o "$pioneers_warnings" = full; then AC_SUBST(WARNINGS, "-Wall") AC_SUBST(WARNINGS, "$WARNINGS -W") AC_SUBST(WARNINGS, "$WARNINGS -Wpointer-arith") AC_SUBST(WARNINGS, "$WARNINGS -Wwrite-strings") AC_SUBST(WARNINGS, "$WARNINGS -Wsign-compare") AC_SUBST(WARNINGS, "$WARNINGS -Waggregate-return") AC_SUBST(WARNINGS, "$WARNINGS -Wstrict-prototypes") AC_SUBST(WARNINGS, "$WARNINGS -Wmissing-prototypes") AC_SUBST(WARNINGS, "$WARNINGS -Wmissing-declarations") AC_SUBST(WARNINGS, "$WARNINGS -Wredundant-decls") AC_SUBST(WARNINGS, "$WARNINGS -Wnested-externs") AC_SUBST(WARNINGS, "$WARNINGS -O") if test "$pioneers_deprecationChecks" = no; then AC_SUBST(WARNINGS, "$WARNINGS -Wno-deprecated-declarations") fi fi if test "$pioneers_warnings" = full; then flags="-Wfloat-equal" flags="$flags -Wdeclaration-after-statement" flags="$flags -Wundef" flags="$flags -Wendif-labels" flags="$flags -Wshadow" flags="$flags -Wbad-function-cast" flags="$flags -Wconversion" flags="$flags -Wold-style-definition" flags="$flags -Wunreachable-code" flags="$flags -Wcast-qual" flags="$flags -pedantic" # This for loop comes from gnome-compiler-flags.m4 for option in $flags; do SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $option" AC_MSG_CHECKING([whether gcc understands $option]) AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],[has_option=yes],[has_option=no]) CFLAGS="$SAVE_CFLAGS" AC_MSG_RESULT($has_option) if test $has_option = yes; then AC_SUBST(WARNINGS, "$WARNINGS $option") fi unset has_option unset SAVE_CFLAGS done unset option unset flags fi fi AC_SUBST(WARNINGS) if test "$pioneers_debug" = yes; then AC_SUBST(DEBUGGING, "-ggdb3") fi AC_SUBST(DEBUGGING) if test "$pioneers_deprecationChecks" = yes; then AC_SUBST(GLIB_DEPRECATION, "-DG_DISABLE_DEPRECATED") AC_SUBST(GLIB_DEPRECATION, "$GLIB_DEPRECATION -DG_DISABLE_SINGLE_INCLUDES") AC_SUBST(GTK_DEPRECATION, "-DGDK_DISABLE_DEPRECATED") AC_SUBST(GTK_DEPRECATION, "$GTK_DEPRECATION -DGTK_DISABLE_DEPRECATED") AC_SUBST(GTK_DEPRECATION, "$GTK_DEPRECATION -DGDK_DISABLE_SINGLE_INCLUDES") AC_SUBST(GTK_DEPRECATION, "$GTK_DEPRECATION -DGTK_DISABLE_SINGLE_INCLUDES") AC_SUBST(GTK_DEPRECATION, "$GTK_DEPRECATION -DGSEAL_ENABLE") fi AC_SUBST(GLIB_DEPRECATION) AC_SUBST(GTK_DEPRECATION) if test "$enable_help" = no; then pioneers_help="no, disabled in configure" else if test "$pioneers_is_windows_port" = "no"; then # The help system is optional, it comes from yelp-tools m4_ifndef([YELP_HELP_INIT], enable_help=no) if test "$enable_help" = no; then pioneers_help="no, yelp-tools is not installed" else pioneers_help="yes" YELP_HELP_INIT fi else pioneers_help="no, disabled for MS Windows" fi fi AM_CONDITIONAL(BUILD_HELP, [test "$pioneers_help" = "yes"]) if test "$pioneers_help" = "yes"; then AC_DEFINE(HAVE_HELP, 1, [Defined when online help is present]) fi # glib is always needed PKG_CHECK_MODULES(GLIB2, glib-2.0 >= $GLIB_REQUIRED_VERSION) PKG_CHECK_MODULES(GOBJECT2, gobject-2.0 >= $GLIB_REQUIRED_VERSION) PKG_CHECK_MODULES(GIO2, gio-2.0 >= $GIO_REQUIRED_VERSION) # # Check for libnotify # if test $with_notify = no; then have_libnotify="no, disabled in configure" else PKG_CHECK_MODULES(LIBNOTIFY, libnotify >= $LIBNOTIFY_REQUIRED_VERSION, [have_libnotify=yes], [have_libnotify="no, libnotify not installed or too old"]) if test "$have_libnotify" = "yes"; then AC_DEFINE(HAVE_NOTIFY, 1, [Defined if libnotify is present]) fi fi # GTK+ support # if test $with_gtk = no; then have_gtk="no, disabled in configure" else PKG_CHECK_MODULES(GTK, gtk+-3.0 >= $GTK_REQUIRED_VERSION, have_gtk=yes, [PKG_CHECK_EXISTS(gtk+-3.0, [have_gtk="no, GTK+ version too old"], [have_gtk="no, GTK+ not installed"]) AC_MSG_RESULT($have_gtk) ]) fi if test "$have_gtk" = "yes"; then PKG_CHECK_MODULES(GTK_OPTIMAL_VERSION, gtk+-3.0 >= $GTK_OPTIMAL_VERSION, [], AC_DEFINE(HAVE_OLD_GTK, [1], [Defined if an older version of GTK+ is available])) fi have_graphical=$have_gtk; AM_CONDITIONAL(HAVE_GTK, [test "$have_graphical" = "yes"]) # Avahi support if test $with_avahi = no; then have_avahi="no, disabled in configure" else PKG_CHECK_MODULES(AVAHI_CLIENT, avahi-client, [PKG_CHECK_MODULES(AVAHI_GLIB, avahi-glib, [have_avahi="yes" AC_DEFINE(HAVE_AVAHI, [1], [Define if AVAHI available]) AC_DEFINE(AVAHI_ANNOUNCE_NAME, ["_pioneers._tcp"], [The name of the Avahi service])], [have_avahi="no, avahi-glib is missing" AC_MSG_RESULT($have_avahi)])], [have_avahi="no, avahi-client is missing" AC_MSG_RESULT($have_avahi)]) fi AC_ARG_ENABLE([admin-gtk], AS_HELP_STRING([--enable-admin-gtk], [Turn on (unstable) network administration support.]), [case "${enableval}" in yes) admin_gtk_support=yes ;; "") admin_gtk_support=yes ;; *) admin_gtk_support=no ;; esac], [admin_gtk_support=no]) AM_CONDITIONAL(ADMIN_GTK_SUPPORT, [test x$admin_gtk_support = xyes]) AC_ARG_ENABLE([protocol], AS_HELP_STRING([--enable-protocol], [Specify the network protocol for Avahi (IPv4/unspecified)]), [case "${enableval}" in IPv4) avahi_network_protocol=AVAHI_PROTO_INET;; *) avahi_network_protocol=AVAHI_PROTO_UNSPEC;; esac], [avahi_network_protocol=AVAHI_PROTO_UNSPEC]) AC_DEFINE_UNQUOTED([AVAHI_NETWORK_PROTOCOL],[$avahi_network_protocol], [The Avahi network protocol value]) AC_CHECK_HEADERS([fcntl.h]) AC_CHECK_HEADERS([syslog.h], [pioneers_have_syslog=yes;], [pioneers_have_syslog=no;]) AC_HEADER_TIME AC_C_CONST # Functions AC_FUNC_FORK # Mathematics AC_CHECK_FUNC(rint, AC_DEFINE(HAVE_RINT, 1, [Define to 1 if you have the rint function.]), AC_CHECK_LIB(m, rint, [ AC_DEFINE(HAVE_RINT) LIBS="$LIBS -lm"])) AC_CHECK_FUNCS([sqrt]) # String functions AC_CHECK_FUNCS([strchr strspn strstr strcspn]) AC_CHECK_FUNCS([memmove memset]) # Functions needed to support NLS AC_CHECK_FUNCS([setlocale]) # Data types AC_STRUCT_TM AC_TYPE_PID_T AC_TYPE_SIZE_T # Defines, accessible for all source files AC_DEFINE_UNQUOTED(META_PROTOCOL_VERSION, "$META_PROTOCOL_VERSION", [Protocol version used by the metaserver]) AC_DEFINE_UNQUOTED(PIONEERS_DEFAULT_GAME_PORT, "$PIONEERS_DEFAULT_GAME_PORT", [The default port for a new game]) AC_DEFINE_UNQUOTED(PIONEERS_DEFAULT_GAME_HOST, "$PIONEERS_DEFAULT_GAME_HOST", [The default host for a new game]) AC_DEFINE_UNQUOTED(PIONEERS_DEFAULT_ADMIN_PORT, "$PIONEERS_DEFAULT_ADMIN_PORT", [The default port for the admin interface]) AC_DEFINE_UNQUOTED(PIONEERS_DEFAULT_META_PORT, "$PIONEERS_DEFAULT_META_PORT", [The port for the metaserver]) AC_DEFINE_UNQUOTED(PIONEERS_DEFAULT_METASERVER, "$PIONEERS_DEFAULT_METASERVER", [The default metaserver]) ## internationalization support IT_PROG_INTLTOOL([0.35]) AM_NLS if test $USE_NLS = yes; then AC_DEFINE(ENABLE_NLS, 1, [Enable NLS]) fi GETTEXT_PACKAGE=pioneers AC_SUBST(GETTEXT_PACKAGE) AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [The gettext package name]) if test $pioneers_is_mingw_port = yes; then # No console window for the graphical applications AC_SUBST(GTK_LIBS, "$GTK_LIBS -mwindows") # Don't use bin, lib and share subdirectories datadir='${prefix}' bindir='${prefix}' libdir='${prefix}' pioneers_datadir=. pioneers_iconthemedir=$datadir/share/icons/hicolor pioneers_themedir=$datadir/themes pioneers_themedir_embed=themes pioneers_localedir=locale DATADIRNAME=. else pioneers_datadir=$datadir pioneers_iconthemedir=$datadir/icons/hicolor pioneers_themedir=$datadir/games/pioneers/themes pioneers_themedir_embed=$pioneers_themedir pioneers_localedir=$datadir/locale fi AC_SUBST(pioneers_datadir) AC_SUBST(pioneers_iconthemedir) AC_SUBST(pioneers_themedir) AC_SUBST(pioneers_themedir_embed) AC_SUBST(pioneers_localedir) # All checks are completed. # Determine which executables cannot be built pioneers_build_client_ai=yes; pioneers_build_client_gtk=yes; pioneers_build_editor=yes; pioneers_build_server_console=yes; pioneers_build_server_gtk=yes; pioneers_build_metaserver=yes; if test "$pioneers_have_syslog" = "no"; then pioneers_build_metaserver=no; fi if test "$have_graphical" != "yes"; then pioneers_build_client_gtk=$have_graphical; pioneers_build_editor=$have_graphical; pioneers_build_server_gtk=$have_graphical; fi # The metaserver functionality is not ported to MS Windows if test "$pioneers_is_windows_port" = "yes"; then pioneers_build_metaserver="no, not implemented for MS Windows"; fi AM_CONDITIONAL(USE_WINDOWS_ICON, [test $pioneers_is_windows_port = yes]) AM_CONDITIONAL(BUILD_CLIENT, [test "$pioneers_build_client_gtk" = "yes" -o "$pioneers_build_client_ai" = yes]) AM_CONDITIONAL(BUILD_EDITOR, [test "$pioneers_build_editor" = "yes"]) AM_CONDITIONAL(BUILD_SERVER, [test "$pioneers_build_server_gtk" = "yes" -o "$pioneers_build_server_console" = "yes"]) AM_CONDITIONAL(BUILD_METASERVER, [test "$pioneers_build_metaserver" = "yes"]) AM_CONDITIONAL(IS_MINGW_PORT, [test "$pioneers_is_mingw_port" = "yes"]) AC_CONFIG_FILES([Makefile]) AC_CONFIG_FILES([pioneers.spec]) AC_CONFIG_FILES([Doxyfile]) AC_CONFIG_FILES([MinGW/pioneers.nsi]) AC_CONFIG_FILES([po/Makefile.in]) AC_CONFIG_FILES([client/help/Makefile]) AC_OUTPUT AC_MSG_NOTICE([ $PACKAGE v$VERSION configuration: Source code location: ${srcdir} Install location: ${prefix} Compiler: ${CC} Build graphical client $pioneers_build_client_gtk Build computer player $pioneers_build_client_ai Build game editor $pioneers_build_editor Build graphical server $pioneers_build_server_gtk Build console server $pioneers_build_server_console Build metaserver $pioneers_build_metaserver Build help $pioneers_help AVAHI support $have_avahi LIBNOTIFY support $have_libnotify Developers only: Use compiler warnings $pioneers_warnings Add debug information $pioneers_debug Enable deprecation checks $pioneers_deprecationChecks Hardening compiler flags $enable_hardening ]) pioneers-15.5/configure0000755000175000017500000207010713252243603012127 00000000000000#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.69 for pioneers 15.5. # # Report bugs to . # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. # # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # Use a proper internal environment variable to ensure we don't fall # into an infinite loop, continuously re-executing ourselves. if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then _as_can_reexec=no; export _as_can_reexec; # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 as_fn_exit 255 fi # We don't want this to propagate to other subprocesses. { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi " as_required="as_fn_return () { (exit \$1); } as_fn_success () { as_fn_return 0; } as_fn_failure () { as_fn_return 1; } as_fn_ret_success () { return 0; } as_fn_ret_failure () { return 1; } exitcode=0 as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : else exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1 test -x / || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || ( ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO PATH=/empty FPATH=/empty; export PATH FPATH test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1 test \$(( 1 + 1 )) = 2 || exit 1" if (eval "$as_required") 2>/dev/null; then : as_have_required=yes else as_have_required=no fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. as_shell=$as_dir/$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : CONFIG_SHELL=$as_shell as_have_required=yes if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : break 2 fi fi done;; esac as_found=false done $as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : CONFIG_SHELL=$SHELL as_have_required=yes fi; } IFS=$as_save_IFS if test "x$CONFIG_SHELL" != x; then : export CONFIG_SHELL # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 exit 255 fi if test x$as_have_required = xno; then : $as_echo "$0: This script requires a shell more modern than all" $as_echo "$0: the shells that I found on your system." if test x${ZSH_VERSION+set} = xset ; then $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" $as_echo "$0: be upgraded to zsh 4.3.4 or later." else $as_echo "$0: Please tell bug-autoconf@gnu.org and $0: pio-develop@lists.sourceforge.net about your system, $0: including any error possibly output before this $0: message. Then install a modern shell, or manually run $0: the script under such a shell if you do have one." fi exit 1 fi fi fi SHELL=${CONFIG_SHELL-/bin/sh} export SHELL # Unset more variables known to interfere with behavior of common tools. CLICOLOR_FORCE= GREP_OPTIONS= unset CLICOLOR_FORCE GREP_OPTIONS ## --------------------- ## ## M4sh Shell Functions. ## ## --------------------- ## # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits as_lineno_1=$LINENO as_lineno_1a=$LINENO as_lineno_2=$LINENO as_lineno_2a=$LINENO eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # If we had to re-execute with $CONFIG_SHELL, we're ensured to have # already done that, so ensure we don't try to do so again and fall # in an infinite loop. This has already happened in practice. _as_can_reexec=no; export _as_can_reexec # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" SHELL=${CONFIG_SHELL-/bin/sh} test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= # Identity of this package. PACKAGE_NAME='pioneers' PACKAGE_TARNAME='pioneers' PACKAGE_VERSION='15.5' PACKAGE_STRING='pioneers 15.5' PACKAGE_BUGREPORT='pio-develop@lists.sourceforge.net' PACKAGE_URL='' ac_unique_file="client" # Factoring default headers for most tests. ac_includes_default="\ #include #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef STDC_HEADERS # include # include #else # ifdef HAVE_STDLIB_H # include # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif #ifdef HAVE_STRINGS_H # include #endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif #ifdef HAVE_UNISTD_H # include #endif" ac_subst_vars='am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS LIBOBJS IS_MINGW_PORT_FALSE IS_MINGW_PORT_TRUE BUILD_METASERVER_FALSE BUILD_METASERVER_TRUE BUILD_SERVER_FALSE BUILD_SERVER_TRUE BUILD_EDITOR_FALSE BUILD_EDITOR_TRUE BUILD_CLIENT_FALSE BUILD_CLIENT_TRUE USE_WINDOWS_ICON_FALSE USE_WINDOWS_ICON_TRUE pioneers_localedir pioneers_themedir_embed pioneers_themedir pioneers_iconthemedir pioneers_datadir GETTEXT_PACKAGE ALL_LINGUAS INTLTOOL_PERL GMSGFMT MSGFMT MSGMERGE XGETTEXT INTLTOOL_POLICY_RULE INTLTOOL_SERVICE_RULE INTLTOOL_THEME_RULE INTLTOOL_SCHEMAS_RULE INTLTOOL_CAVES_RULE INTLTOOL_XML_NOMERGE_RULE INTLTOOL_XML_RULE INTLTOOL_KBD_RULE INTLTOOL_XAM_RULE INTLTOOL_UI_RULE INTLTOOL_SOUNDLIST_RULE INTLTOOL_SHEET_RULE INTLTOOL_SERVER_RULE INTLTOOL_PONG_RULE INTLTOOL_OAF_RULE INTLTOOL_PROP_RULE INTLTOOL_KEYS_RULE INTLTOOL_DIRECTORY_RULE INTLTOOL_DESKTOP_RULE intltool__v_merge_options_0 intltool__v_merge_options_ INTLTOOL_V_MERGE_OPTIONS INTLTOOL__v_MERGE_0 INTLTOOL__v_MERGE_ INTLTOOL_V_MERGE INTLTOOL_EXTRACT INTLTOOL_MERGE INTLTOOL_UPDATE USE_NLS ADMIN_GTK_SUPPORT_FALSE ADMIN_GTK_SUPPORT_TRUE AVAHI_GLIB_LIBS AVAHI_GLIB_CFLAGS AVAHI_CLIENT_LIBS AVAHI_CLIENT_CFLAGS HAVE_GTK_FALSE HAVE_GTK_TRUE GTK_OPTIMAL_VERSION_LIBS GTK_OPTIMAL_VERSION_CFLAGS GTK_LIBS GTK_CFLAGS LIBNOTIFY_LIBS LIBNOTIFY_CFLAGS GIO2_LIBS GIO2_CFLAGS GOBJECT2_LIBS GOBJECT2_CFLAGS GLIB2_LIBS GLIB2_CFLAGS PKG_CONFIG_LIBDIR PKG_CONFIG_PATH PKG_CONFIG BUILD_HELP_FALSE BUILD_HELP_TRUE YELP_HELP_RULES XMLLINT ITSTOOL HELP_DIR YELP_LC_DIST YELP_LC_MEDIA_LINKS GTK_DEPRECATION GLIB_DEPRECATION DEBUGGING WARNINGS AM_LDFLAGS AM_CFLAGS svg_renderer_output svg_renderer_height svg_renderer_width svg_renderer_path whitespace_trick GOB2 ECHO CPP LT_SYS_LIBRARY_PATH OTOOL64 OTOOL LIPO NMEDIT DSYMUTIL MANIFEST_TOOL RANLIB ac_ct_AR AR DLLTOOL OBJDUMP LN_S NM ac_ct_DUMPBIN DUMPBIN LD FGREP EGREP GREP SED am__fastdepCC_FALSE am__fastdepCC_TRUE CCDEPMODE am__nodep AMDEPBACKSLASH AMDEP_FALSE AMDEP_TRUE am__quote am__include DEPDIR OBJEXT EXEEXT ac_ct_CC CPPFLAGS LDFLAGS CFLAGS CC host_os host_vendor host_cpu host build_os build_vendor build_cpu build LIBTOOL MAINT MAINTAINER_MODE_FALSE MAINTAINER_MODE_TRUE GTK_REQUIRED_VERSION GLIB_REQUIRED_VERSION AM_BACKSLASH AM_DEFAULT_VERBOSITY AM_DEFAULT_V AM_V am__untar am__tar AMTAR am__leading_dot SET_MAKE AWK mkdir_p MKDIR_P INSTALL_STRIP_PROGRAM STRIP install_sh MAKEINFO AUTOHEADER AUTOMAKE AUTOCONF ACLOCAL VERSION PACKAGE CYGPATH_W am__isrc INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM target_alias host_alias build_alias LIBS ECHO_T ECHO_N ECHO_C DEFS mandir localedir libdir psdir pdfdir dvidir htmldir infodir docdir oldincludedir includedir runstatedir localstatedir sharedstatedir sysconfdir datadir datarootdir libexecdir sbindir bindir program_transform_name prefix exec_prefix PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking enable_silent_rules enable_maintainer_mode enable_shared enable_static with_pic enable_fast_install with_aix_soname enable_dependency_tracking with_gnu_ld with_sysroot enable_libtool_lock enable_warnings enable_debug enable_deprecation_checks enable_help enable_hardening with_gtk with_avahi with_notify with_help_dir enable_admin_gtk enable_protocol enable_nls ' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS LT_SYS_LIBRARY_PATH CPP ITSTOOL XMLLINT PKG_CONFIG PKG_CONFIG_PATH PKG_CONFIG_LIBDIR GLIB2_CFLAGS GLIB2_LIBS GOBJECT2_CFLAGS GOBJECT2_LIBS GIO2_CFLAGS GIO2_LIBS LIBNOTIFY_CFLAGS LIBNOTIFY_LIBS GTK_CFLAGS GTK_LIBS GTK_OPTIMAL_VERSION_CFLAGS GTK_OPTIMAL_VERSION_LIBS AVAHI_CLIENT_CFLAGS AVAHI_CLIENT_LIBS AVAHI_GLIB_CFLAGS AVAHI_GLIB_LIBS' # Initialize some variables set by options. ac_init_help= ac_init_version=false ac_unrecognized_opts= ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' runstatedir='${localstatedir}/run' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *=) ac_optarg= ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -runstatedir | --runstatedir | --runstatedi | --runstated \ | --runstate | --runstat | --runsta | --runst | --runs \ | --run | --ru | --r) ac_prev=runstatedir ;; -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ | --run=* | --ru=* | --r=*) runstatedir=$ac_optarg ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) as_fn_error $? "unrecognized option: \`$ac_option' Try \`$0 --help' for more information" ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi # Check all directory arguments for consistency. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir runstatedir do eval ac_val=\$$ac_var # Remove trailing slashes. case $ac_val in */ ) ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` eval $ac_var=\$ac_val;; esac # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$as_myself" || $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures pioneers 15.5 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/pioneers] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of pioneers 15.5:";; esac cat <<\_ACEOF Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-silent-rules less verbose build output (undo: "make V=1") --disable-silent-rules verbose build output (undo: "make V=0") --enable-maintainer-mode enable make rules and dependencies not useful (and sometimes confusing) to the casual installer --enable-shared[=PKGS] build shared libraries [default=yes] --enable-static[=PKGS] build static libraries [default=yes] --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --enable-dependency-tracking do not reject slow dependency extractors --disable-dependency-tracking speeds up one-time build --disable-libtool-lock avoid locking (might break parallel builds) --enable-warnings Compile with check for compiler warnings (gcc-only). --enable-debug Enable debug information. --enable-deprecation-checks Enable strict deprecation checks. --enable-help Enable help in the programs that support it. --enable-hardening Enable hardening compiler options. --enable-admin-gtk Turn on (unstable) network administration support. --enable-protocol Specify the network protocol for Avahi (IPv4/unspecified) --disable-nls do not use Native Language Support Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use both] --with-aix-soname=aix|svr4|both shared library versioning (aka "SONAME") variant to provide on AIX, [default=aix]. --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-sysroot[=DIR] Search for dependent libraries within DIR (or the compiler's sysroot if not specified). --with-gtk Use GTK+ for the graphical programs. --with-avahi Use AVAHI for discovering games. --with-notify Use LIBNOTIFY to notify the player during the game. --with-help-dir=DIR path where help files are installed Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory LT_SYS_LIBRARY_PATH User-defined run-time library search path. CPP C preprocessor ITSTOOL Path to the `itstool` command XMLLINT Path to the `xmllint` command PKG_CONFIG path to pkg-config utility PKG_CONFIG_PATH directories to add to pkg-config's search path PKG_CONFIG_LIBDIR path overriding pkg-config's built-in search path GLIB2_CFLAGS C compiler flags for GLIB2, overriding pkg-config GLIB2_LIBS linker flags for GLIB2, overriding pkg-config GOBJECT2_CFLAGS C compiler flags for GOBJECT2, overriding pkg-config GOBJECT2_LIBS linker flags for GOBJECT2, overriding pkg-config GIO2_CFLAGS C compiler flags for GIO2, overriding pkg-config GIO2_LIBS linker flags for GIO2, overriding pkg-config LIBNOTIFY_CFLAGS C compiler flags for LIBNOTIFY, overriding pkg-config LIBNOTIFY_LIBS linker flags for LIBNOTIFY, overriding pkg-config GTK_CFLAGS C compiler flags for GTK, overriding pkg-config GTK_LIBS linker flags for GTK, overriding pkg-config GTK_OPTIMAL_VERSION_CFLAGS C compiler flags for GTK_OPTIMAL_VERSION, overriding pkg-config GTK_OPTIMAL_VERSION_LIBS linker flags for GTK_OPTIMAL_VERSION, overriding pkg-config AVAHI_CLIENT_CFLAGS C compiler flags for AVAHI_CLIENT, overriding pkg-config AVAHI_CLIENT_LIBS linker flags for AVAHI_CLIENT, overriding pkg-config AVAHI_GLIB_CFLAGS C compiler flags for AVAHI_GLIB, overriding pkg-config AVAHI_GLIB_LIBS linker flags for AVAHI_GLIB, overriding pkg-config Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to . _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF pioneers configure 15.5 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi ## ------------------------ ## ## Autoconf initialization. ## ## ------------------------ ## # ac_fn_c_try_compile LINENO # -------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_compile # ac_fn_c_try_link LINENO # ----------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || test -x conftest$ac_exeext }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_link # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists and can be compiled using the include files in # INCLUDES, setting the cache variable VAR accordingly. ac_fn_c_check_header_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_compile # ac_fn_c_try_cpp LINENO # ---------------------- # Try to preprocess conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_cpp () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_cpp # ac_fn_c_try_run LINENO # ---------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes # that executables *can* be run. ac_fn_c_try_run () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then : ac_retval=0 else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=$ac_status fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_run # ac_fn_c_check_func LINENO FUNC VAR # ---------------------------------- # Tests whether FUNC exists, setting the cache variable VAR accordingly ac_fn_c_check_func () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Define $2 to an innocuous variant, in case declares $2. For example, HP-UX 11i declares gettimeofday. */ #define $2 innocuous_$2 /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $2 (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $2 /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $2 (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$2 || defined __stub___$2 choke me #endif int main () { return $2 (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_func # ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists, giving a warning if it cannot be compiled using # the include files in INCLUDES and setting the cache variable VAR # accordingly. ac_fn_c_check_header_mongrel () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if eval \${$3+:} false; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } else # Is the header compilable? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 $as_echo_n "checking $2 usability... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_header_compiler=yes else ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 $as_echo "$ac_header_compiler" >&6; } # Is the header present? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 $as_echo_n "checking $2 presence... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <$2> _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : ac_header_preproc=yes else ac_header_preproc=no fi rm -f conftest.err conftest.i conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 $as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( yes:no: ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 $as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ;; no:yes:* ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 $as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 $as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ( $as_echo "## ------------------------------------------------ ## ## Report this to pio-develop@lists.sourceforge.net ## ## ------------------------------------------------ ##" ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=\$ac_header_compiler" fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_mongrel # ac_fn_c_check_type LINENO TYPE VAR INCLUDES # ------------------------------------------- # Tests whether TYPE exists after having included INCLUDES, setting cache # variable VAR accordingly. ac_fn_c_check_type () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=no" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { if (sizeof ($2)) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { if (sizeof (($2))) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else eval "$3=yes" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_type cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by pioneers $as_me 15.5, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. $as_echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) as_fn_append ac_configure_args1 " '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done { ac_configure_args0=; unset ac_configure_args0;} { ac_configure_args1=; unset ac_configure_args1;} # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo $as_echo "## ---------------- ## ## Cache variables. ## ## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo $as_echo "## ----------------- ## ## Output variables. ## ## ----------------- ##" echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then $as_echo "## ------------------- ## ## File substitutions. ## ## ------------------- ##" echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then $as_echo "## ----------- ## ## confdefs.h. ## ## ----------- ##" echo cat confdefs.h echo fi test "$ac_signal" != 0 && $as_echo "$as_me: caught signal $ac_signal" $as_echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h $as_echo "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_URL "$PACKAGE_URL" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then # We do not want a PATH search for config.site. case $CONFIG_SITE in #(( -*) ac_site_file1=./$CONFIG_SITE;; */*) ac_site_file1=$CONFIG_SITE;; *) ac_site_file1=./$CONFIG_SITE;; esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site else ac_site_file1=$ac_default_prefix/share/config.site ac_site_file2=$ac_default_prefix/etc/config.site fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file See \`config.log' for more details" "$LINENO" 5; } fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then # differences in whitespace do not lead to failure. ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## ## -------------------- ## ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_aux_dir= for ac_dir in . "$srcdir"/.; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then as_fn_error $? "cannot find install-sh, install.sh, or shtool in . \"$srcdir\"/." "$LINENO" 5 fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. am__api_version='1.15' # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then if ${ac_cv_path_install+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in #(( ./ | .// | /[cC]/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else rm -rf conftest.one conftest.two conftest.dir echo one > conftest.one echo two > conftest.two mkdir conftest.dir if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi fi done done ;; esac done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 $as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 $as_echo_n "checking whether build environment is sane... " >&6; } # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[\\\"\#\$\&\'\`$am_lf]*) as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; esac case $srcdir in *[\\\"\#\$\&\'\`$am_lf\ \ ]*) as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; esac # Do 'set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( am_has_slept=no for am_try in 1 2; do echo "timestamp, slept: $am_has_slept" > conftest.file set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". as_fn_error $? "ls -t appears to fail. Make sure there is not a broken alias in your environment" "$LINENO" 5 fi if test "$2" = conftest.file || test $am_try -eq 2; then break fi # Just in case. sleep 1 am_has_slept=yes done test "$2" = conftest.file ) then # Ok. : else as_fn_error $? "newly created file is older than distributed files! Check your system clock" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } # If we didn't sleep, we still need to ensure time stamps of config.status and # generated files are strictly newer. am_sleep_pid= if grep 'slept: no' conftest.file >/dev/null 2>&1; then ( sleep 1 ) & am_sleep_pid=$! fi rm -f conftest.file test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s&\$&$program_suffix&;$program_transform_name" # Double any \ or $. # By default was `s,x,x', remove it if useless. ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` # Expand $ac_aux_dir to an absolute path. am_aux_dir=`cd "$ac_aux_dir" && pwd` if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --is-lightweight"; then am_missing_run="$MISSING " else am_missing_run= { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 $as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} fi if test x"${install_sh+set}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi # Installed binaries are usually stripped using 'strip' when the user # run "make install-strip". However 'strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the 'STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 $as_echo_n "checking for a thread-safe mkdir -p... " >&6; } if test -z "$MKDIR_P"; then if ${ac_cv_path_mkdir+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext break 3;; esac done done done IFS=$as_save_IFS fi test -d ./--version && rmdir ./--version if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. MKDIR_P="$ac_install_sh -d" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 $as_echo "$MKDIR_P" >&6; } for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_AWK+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AWK="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 $as_echo "$AWK" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$AWK" && break done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } SET_MAKE= else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null # Check whether --enable-silent-rules was given. if test "${enable_silent_rules+set}" = set; then : enableval=$enable_silent_rules; fi case $enable_silent_rules in # ((( yes) AM_DEFAULT_VERBOSITY=0;; no) AM_DEFAULT_VERBOSITY=1;; *) AM_DEFAULT_VERBOSITY=1;; esac am_make=${MAKE-make} { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 $as_echo_n "checking whether $am_make supports nested variables... " >&6; } if ${am_cv_make_support_nested_variables+:} false; then : $as_echo_n "(cached) " >&6 else if $as_echo 'TRUE=$(BAR$(V)) BAR0=false BAR1=true V=1 am__doit: @$(TRUE) .PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then am_cv_make_support_nested_variables=yes else am_cv_make_support_nested_variables=no fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 $as_echo "$am_cv_make_support_nested_variables" >&6; } if test $am_cv_make_support_nested_variables = yes; then AM_V='$(V)' AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' else AM_V=$AM_DEFAULT_VERBOSITY AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY fi AM_BACKSLASH='\' if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi # Define the identity of the package. PACKAGE='pioneers' VERSION='15.5' cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" _ACEOF cat >>confdefs.h <<_ACEOF #define VERSION "$VERSION" _ACEOF # Some tools Automake needs. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} # For better backward compatibility. To be removed once Automake 1.9.x # dies out for good. For more background, see: # # mkdir_p='$(MKDIR_P)' # We need awk for the "check" target (and possibly the TAP driver). The # system "awk" is bad on some platforms. # Always define AMTAR for backward compatibility. Yes, it's still used # in the wild :-( We should find a proper way to deprecate it ... AMTAR='$${TAR-tar}' # We'll loop over all known methods to create a tar archive until one works. _am_tools='gnutar pax cpio none' am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' # POSIX will say in a future version that running "rm -f" with no argument # is OK; and we want to be able to make that assumption in our Makefile # recipes. So use an aggressive probe to check that the usage we want is # actually supported "in the wild" to an acceptable degree. # See automake bug#10828. # To make any issue more visible, cause the running configure to be aborted # by default if the 'rm' program in use doesn't match our expectations; the # user can still override this though. if rm -f && rm -fr && rm -rf; then : OK; else cat >&2 <<'END' Oops! Your 'rm' program seems unable to run without file operands specified on the command line, even when the '-f' option is present. This is contrary to the behaviour of most rm programs out there, and not conforming with the upcoming POSIX standard: Please tell bug-automake@gnu.org about your system, including the value of your $PATH and any error possibly output before this message. This can help us improve future automake versions. END if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then echo 'Configuration will proceed anyway, since you have set the' >&2 echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 echo >&2 else cat >&2 <<'END' Aborting the configuration process, to ensure you take notice of the issue. You can download and install GNU coreutils to get an 'rm' implementation that behaves properly: . If you want to complete the configuration process using your problematic 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM to "yes", and re-run configure. END as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 fi fi ac_config_headers="$ac_config_headers config.h" META_PROTOCOL_VERSION=1.3 PIONEERS_DEFAULT_GAME_PORT=5556 PIONEERS_DEFAULT_GAME_HOST=localhost PIONEERS_DEFAULT_ADMIN_PORT=5555 PIONEERS_DEFAULT_META_PORT=5557 PIONEERS_DEFAULT_METASERVER=pioneers.debian.net GLIB_REQUIRED_VERSION=2.26 GIO_REQUIRED_VERSION=2.28 GTK_REQUIRED_VERSION=3.22 GTK_OPTIMAL_VERSION=3.22 LIBNOTIFY_REQUIRED_VERSION=0.7.4 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5 $as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; } # Check whether --enable-maintainer-mode was given. if test "${enable_maintainer_mode+set}" = set; then : enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval else USE_MAINTAINER_MODE=no fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5 $as_echo "$USE_MAINTAINER_MODE" >&6; } if test $USE_MAINTAINER_MODE = yes; then MAINTAINER_MODE_TRUE= MAINTAINER_MODE_FALSE='#' else MAINTAINER_MODE_TRUE='#' MAINTAINER_MODE_FALSE= fi MAINT=$MAINTAINER_MODE_TRUE case `pwd` in *\ * | *\ *) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 $as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; esac macro_version='2.4.6' macro_revision='2.4.6' ltmain=$ac_aux_dir/ltmain.sh # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 $as_echo_n "checking build system type... " >&6; } if ${ac_cv_build+:} false; then : $as_echo_n "(cached) " >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' set x $ac_cv_build shift build_cpu=$1 build_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: build_os=$* IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 $as_echo_n "checking host system type... " >&6; } if ${ac_cv_host+:} false; then : $as_echo_n "(cached) " >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' set x $ac_cv_host shift host_cpu=$1 host_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: host_os=$* IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac # Backslashify metacharacters that are still active within # double-quoted strings. sed_quote_subst='s/\(["`$\\]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\(["`\\]\)/\\\1/g' # Sed substitution to delay expansion of an escaped shell variable in a # double_quote_subst'ed string. delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' # Sed substitution to delay expansion of an escaped single quote. delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' # Sed substitution to avoid accidental globbing in evaled expressions no_glob_subst='s/\*/\\\*/g' ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 $as_echo_n "checking how to print strings... " >&6; } # Test print first, because it will be a builtin if present. if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='print -r --' elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='printf %s\n' else # Use this function as a fallback that always works. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $1 _LTECHO_EOF' } ECHO='func_fallback_echo' fi # func_echo_all arg... # Invoke $ECHO with all args, space-separated. func_echo_all () { $ECHO "" } case $ECHO in printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 $as_echo "printf" >&6; } ;; print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 $as_echo "print -r" >&6; } ;; *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 $as_echo "cat" >&6; } ;; esac DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 $as_echo_n "checking for style of include used by $am_make... " >&6; } am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # Ignore all kinds of additional output from 'make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include am__quote= _am_result=GNU ;; esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=.include am__quote="\"" _am_result=BSD ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 $as_echo "$_am_result" >&6; } rm -f confinc confmf # Check whether --enable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then : enableval=$enable_dependency_tracking; fi if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' am__nodep='_no' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_FALSE= fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 $as_echo_n "checking whether the C compiler works... " >&6; } ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { { ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link_default") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi if test -z "$ac_file"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "C compiler cannot create executables See \`config.log' for more details" "$LINENO" 5; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 $as_echo_n "checking for C compiler default output file name... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 $as_echo "$ac_file" >&6; } ac_exeext=$ac_cv_exeext rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 $as_echo_n "checking for suffix of executables... " >&6; } if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 $as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { FILE *f = fopen ("conftest.out", "w"); return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF ac_clean_files="$ac_clean_files conftest.out" # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 $as_echo_n "checking whether we are cross compiling... " >&6; } if test "$cross_compiling" != yes; then { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if { ac_try='./conftest$ac_cv_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details" "$LINENO" 5; } fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 $as_echo "$cross_compiling" >&6; } rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } if ${ac_cv_objext+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 $as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if ${ac_cv_c_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } if ${ac_cv_prog_cc_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include struct stat; /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac if test "x$ac_cv_prog_cc_c89" != xno; then : fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 $as_echo_n "checking whether $CC understands -c and -o together... " >&6; } if ${am_cv_prog_cc_c_o+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF # Make sure it works both with $CC and with simple cc. # Following AC_PROG_CC_C_O, we do the test twice because some # compilers refuse to overwrite an existing .o file with -o, # though they will create one. am_cv_prog_cc_c_o=yes for am_i in 1 2; do if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } \ && test -f conftest2.$ac_objext; then : OK else am_cv_prog_cc_c_o=no break fi done rm -f core conftest* unset am_i fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 $as_echo "$am_cv_prog_cc_c_o" >&6; } if test "$am_cv_prog_cc_c_o" != yes; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__CC in this case, # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" CC="$am_aux_dir/compile $CC" fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CC" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if ${am_cv_CC_dependencies_compiler_type+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named 'D' -- because '-MD' means "put the output # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with # Solaris 10 /bin/sh. echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle '-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # After this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 $as_echo_n "checking for a sed that does not truncate output... " >&6; } if ${ac_cv_path_SED+:} false; then : $as_echo_n "(cached) " >&6 else ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ for ac_i in 1 2 3 4 5 6 7; do ac_script="$ac_script$as_nl$ac_script" done echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed { ac_script=; unset ac_script;} if test -z "$SED"; then ac_path_SED_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_SED" || continue # Check for GNU ac_path_SED and select it if it is found. # Check for GNU $ac_path_SED case `"$ac_path_SED" --version 2>&1` in *GNU*) ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo '' >> "conftest.nl" "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_SED_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_SED="$ac_path_SED" ac_path_SED_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_SED_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_SED"; then as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 fi else ac_cv_path_SED=$SED fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 $as_echo "$ac_cv_path_SED" >&6; } SED="$ac_cv_path_SED" rm -f conftest.sed test -z "$SED" && SED=sed Xsed="$SED -e 1s/^X//" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } if ${ac_cv_path_GREP+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_GREP" || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_GREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_GREP=$GREP fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 $as_echo "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } if ${ac_cv_path_EGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else if test -z "$EGREP"; then ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_EGREP" || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 $as_echo "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 $as_echo_n "checking for fgrep... " >&6; } if ${ac_cv_path_FGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 then ac_cv_path_FGREP="$GREP -F" else if test -z "$FGREP"; then ac_path_FGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in fgrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_FGREP" || continue # Check for GNU ac_path_FGREP and select it if it is found. # Check for GNU $ac_path_FGREP case `"$ac_path_FGREP" --version 2>&1` in *GNU*) ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'FGREP' >> "conftest.nl" "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_FGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_FGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_FGREP"; then as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_FGREP=$FGREP fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 $as_echo "$ac_cv_path_FGREP" >&6; } FGREP="$ac_cv_path_FGREP" test -z "$GREP" && GREP=grep # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then : withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes else with_gnu_ld=no fi ac_prog=ld if test yes = "$GCC"; then # Check if gcc -print-prog-name=ld gives a path. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 $as_echo_n "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return, which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | ?:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD=$ac_prog ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test yes = "$with_gnu_ld"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 $as_echo_n "checking for GNU ld... " >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi if ${lt_cv_path_LD+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$LD"; then lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD=$ac_dir/$ac_prog # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 $as_echo "$LD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if ${lt_cv_prog_gnu_ld+:} false; then : $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 $as_echo "$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } if ${lt_cv_path_NM+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM=$NM else lt_nm_to_check=${ac_tool_prefix}nm if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. tmp_nm=$ac_dir/$lt_tmp_nm if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then # Check to see if the nm accepts a BSD-compat flag. # Adding the 'sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored # Tru64's nm complains that /dev/null is an invalid object file # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty case $build_os in mingw*) lt_bad_file=conftest.nm/nofile ;; *) lt_bad_file=/dev/null ;; esac case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in *$lt_bad_file* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break 2 ;; *) case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break 2 ;; *) lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but continue # so that we can try to find one that supports BSD flags ;; esac ;; esac fi done IFS=$lt_save_ifs done : ${lt_cv_path_NM=no} fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 $as_echo "$lt_cv_path_NM" >&6; } if test no != "$lt_cv_path_NM"; then NM=$lt_cv_path_NM else # Didn't find any BSD compatible name lister, look for dumpbin. if test -n "$DUMPBIN"; then : # Let the user override the test. else if test -n "$ac_tool_prefix"; then for ac_prog in dumpbin "link -dump" do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_DUMPBIN+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$DUMPBIN"; then ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DUMPBIN=$ac_cv_prog_DUMPBIN if test -n "$DUMPBIN"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 $as_echo "$DUMPBIN" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$DUMPBIN" && break done fi if test -z "$DUMPBIN"; then ac_ct_DUMPBIN=$DUMPBIN for ac_prog in dumpbin "link -dump" do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DUMPBIN"; then ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN if test -n "$ac_ct_DUMPBIN"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 $as_echo "$ac_ct_DUMPBIN" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_DUMPBIN" && break done if test "x$ac_ct_DUMPBIN" = x; then DUMPBIN=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DUMPBIN=$ac_ct_DUMPBIN fi fi case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in *COFF*) DUMPBIN="$DUMPBIN -symbols -headers" ;; *) DUMPBIN=: ;; esac fi if test : != "$DUMPBIN"; then NM=$DUMPBIN fi fi test -z "$NM" && NM=nm { $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 $as_echo_n "checking the name lister ($NM) interface... " >&6; } if ${lt_cv_nm_interface+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&5 (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&5 (eval echo "\"\$as_me:$LINENO: output\"" >&5) cat conftest.out >&5 if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 $as_echo "$lt_cv_nm_interface" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 $as_echo_n "checking whether ln -s works... " >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 $as_echo "no, using $LN_S" >&6; } fi # find the maximum length of command line arguments { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 $as_echo_n "checking the maximum length of command line arguments... " >&6; } if ${lt_cv_sys_max_cmd_len+:} false; then : $as_echo_n "(cached) " >&6 else i=0 teststring=ABCD case $build_os in msdosdjgpp*) # On DJGPP, this test can blow up pretty badly due to problems in libc # (any single argument exceeding 2000 bytes causes a buffer overrun # during glob expansion). Even if it were fixed, the result of this # check would be larger than it should be. lt_cv_sys_max_cmd_len=12288; # 12K is about right ;; gnu*) # Under GNU Hurd, this test is not required because there is # no limit to the length of command line arguments. # Libtool will interpret -1 as no limit whatsoever lt_cv_sys_max_cmd_len=-1; ;; cygwin* | mingw* | cegcc*) # On Win9x/ME, this test blows up -- it succeeds, but takes # about 5 minutes as the teststring grows exponentially. # Worse, since 9x/ME are not pre-emptively multitasking, # you end up with a "frozen" computer, even though with patience # the test eventually succeeds (with a max line length of 256k). # Instead, let's just punt: use the minimum linelength reported by # all of the supported platforms: 8192 (on NT/2K/XP). lt_cv_sys_max_cmd_len=8192; ;; mint*) # On MiNT this can take a long time and run out of memory. lt_cv_sys_max_cmd_len=8192; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; os2*) # The test takes a long time on OS/2. lt_cv_sys_max_cmd_len=8192 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len" && \ test undefined != "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else # Make teststring a little bigger before we do anything with it. # a 1K string should be a reasonable start. for i in 1 2 3 4 5 6 7 8; do teststring=$teststring$teststring done SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. while { test X`env echo "$teststring$teststring" 2>/dev/null` \ = "X$teststring$teststring"; } >/dev/null 2>&1 && test 17 != "$i" # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done # Only check the string length outside the loop. lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` teststring= # Add a significant safety factor because C++ compilers can tack on # massive amounts of additional arguments before passing them to the # linker. It appears as though 1/2 is a usable value. lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` fi ;; esac fi if test -n "$lt_cv_sys_max_cmd_len"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 $as_echo "$lt_cv_sys_max_cmd_len" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 $as_echo "none" >&6; } fi max_cmd_len=$lt_cv_sys_max_cmd_len : ${CP="cp -f"} : ${MV="mv -f"} : ${RM="rm -f"} if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then lt_unset=unset else lt_unset=false fi # test EBCDIC or ASCII case `echo X|tr X '\101'` in A) # ASCII based system # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr lt_SP2NL='tr \040 \012' lt_NL2SP='tr \015\012 \040\040' ;; *) # EBCDIC based system lt_SP2NL='tr \100 \n' lt_NL2SP='tr \r\n \100\100' ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 $as_echo_n "checking how to convert $build file names to $host format... " >&6; } if ${lt_cv_to_host_file_cmd+:} false; then : $as_echo_n "(cached) " >&6 else case $host in *-*-mingw* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 ;; *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 ;; * ) # otherwise, assume *nix lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 ;; esac ;; *-*-cygwin* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin ;; *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_noop ;; * ) # otherwise, assume *nix lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin ;; esac ;; * ) # unhandled hosts (and "normal" native builds) lt_cv_to_host_file_cmd=func_convert_file_noop ;; esac fi to_host_file_cmd=$lt_cv_to_host_file_cmd { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 $as_echo "$lt_cv_to_host_file_cmd" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 $as_echo_n "checking how to convert $build file names to toolchain format... " >&6; } if ${lt_cv_to_tool_file_cmd+:} false; then : $as_echo_n "(cached) " >&6 else #assume ordinary cross tools, or native build. lt_cv_to_tool_file_cmd=func_convert_file_noop case $host in *-*-mingw* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 ;; esac ;; esac fi to_tool_file_cmd=$lt_cv_to_tool_file_cmd { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 $as_echo "$lt_cv_to_tool_file_cmd" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 $as_echo_n "checking for $LD option to reload object files... " >&6; } if ${lt_cv_ld_reload_flag+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_ld_reload_flag='-r' fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 $as_echo "$lt_cv_ld_reload_flag" >&6; } reload_flag=$lt_cv_ld_reload_flag case $reload_flag in "" | " "*) ;; *) reload_flag=" $reload_flag" ;; esac reload_cmds='$LD$reload_flag -o $output$reload_objs' case $host_os in cygwin* | mingw* | pw32* | cegcc*) if test yes != "$GCC"; then reload_cmds=false fi ;; darwin*) if test yes = "$GCC"; then reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs' else reload_cmds='$LD$reload_flag -o $output$reload_objs' fi ;; esac if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. set dummy ${ac_tool_prefix}objdump; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_OBJDUMP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$OBJDUMP"; then ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OBJDUMP=$ac_cv_prog_OBJDUMP if test -n "$OBJDUMP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 $as_echo "$OBJDUMP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OBJDUMP"; then ac_ct_OBJDUMP=$OBJDUMP # Extract the first word of "objdump", so it can be a program name with args. set dummy objdump; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OBJDUMP"; then ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_OBJDUMP="objdump" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP if test -n "$ac_ct_OBJDUMP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 $as_echo "$ac_ct_OBJDUMP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OBJDUMP" = x; then OBJDUMP="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OBJDUMP=$ac_ct_OBJDUMP fi else OBJDUMP="$ac_cv_prog_OBJDUMP" fi test -z "$OBJDUMP" && OBJDUMP=objdump { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 $as_echo_n "checking how to recognize dependent libraries... " >&6; } if ${lt_cv_deplibs_check_method+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_file_magic_cmd='$MAGIC_CMD' lt_cv_file_magic_test_file= lt_cv_deplibs_check_method='unknown' # Need to set the preceding variable on all platforms that support # interlibrary dependencies. # 'none' -- dependencies not supported. # 'unknown' -- same as none, but documents that we really don't know. # 'pass_all' -- all dependencies passed with no checks. # 'test_compile' -- check by making test program. # 'file_magic [[regex]]' -- check by looking for files in library path # that responds to the $file_magic_cmd with a given extended regex. # If you have 'file' or equivalent on your system and you're not sure # whether 'pass_all' will *always* work, you probably want this one. case $host_os in aix[4-9]*) lt_cv_deplibs_check_method=pass_all ;; beos*) lt_cv_deplibs_check_method=pass_all ;; bsdi[45]*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' lt_cv_file_magic_cmd='/usr/bin/file -L' lt_cv_file_magic_test_file=/shlib/libc.so ;; cygwin*) # func_win32_libid is a shell function defined in ltmain.sh lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' ;; mingw* | pw32*) # Base MSYS/MinGW do not provide the 'file' command needed by # func_win32_libid shell function, so use a weaker test based on 'objdump', # unless we find 'file', for example because we are cross-compiling. if ( file / ) >/dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else # Keep this pattern in sync with the one in func_win32_libid. lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; cegcc*) # use the weaker test based on 'objdump'. See mingw*. lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' lt_cv_file_magic_cmd='$OBJDUMP -f' ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac else lt_cv_deplibs_check_method=pass_all fi ;; haiku*) lt_cv_deplibs_check_method=pass_all ;; hpux10.20* | hpux11*) lt_cv_file_magic_cmd=/usr/bin/file case $host_cpu in ia64*) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so ;; hppa*64*) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]' lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl ;; *) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library' lt_cv_file_magic_test_file=/usr/lib/libc.sl ;; esac ;; interix[3-9]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) lt_cv_deplibs_check_method=pass_all ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' fi ;; newos6*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; *nto* | *qnx*) lt_cv_deplibs_check_method=pass_all ;; openbsd* | bitrig*) if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) case $host_vendor in motorola) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` ;; ncr) lt_cv_deplibs_check_method=pass_all ;; sequent) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;; sni) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" lt_cv_file_magic_test_file=/lib/libc.so ;; siemens) lt_cv_deplibs_check_method=pass_all ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; tpf*) lt_cv_deplibs_check_method=pass_all ;; os2*) lt_cv_deplibs_check_method=pass_all ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 $as_echo "$lt_cv_deplibs_check_method" >&6; } file_magic_glob= want_nocaseglob=no if test "$build" = "$host"; then case $host_os in mingw* | pw32*) if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then want_nocaseglob=yes else file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` fi ;; esac fi file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method test -z "$deplibs_check_method" && deplibs_check_method=unknown if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. set dummy ${ac_tool_prefix}dlltool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_DLLTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$DLLTOOL"; then ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DLLTOOL=$ac_cv_prog_DLLTOOL if test -n "$DLLTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 $as_echo "$DLLTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_DLLTOOL"; then ac_ct_DLLTOOL=$DLLTOOL # Extract the first word of "dlltool", so it can be a program name with args. set dummy dlltool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DLLTOOL"; then ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_DLLTOOL="dlltool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL if test -n "$ac_ct_DLLTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 $as_echo "$ac_ct_DLLTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_DLLTOOL" = x; then DLLTOOL="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DLLTOOL=$ac_ct_DLLTOOL fi else DLLTOOL="$ac_cv_prog_DLLTOOL" fi test -z "$DLLTOOL" && DLLTOOL=dlltool { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 $as_echo_n "checking how to associate runtime and link libraries... " >&6; } if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_sharedlib_from_linklib_cmd='unknown' case $host_os in cygwin* | mingw* | pw32* | cegcc*) # two different shell functions defined in ltmain.sh; # decide which one to use based on capabilities of $DLLTOOL case `$DLLTOOL --help 2>&1` in *--identify-strict*) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib ;; *) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback ;; esac ;; *) # fallback: assume linklib IS sharedlib lt_cv_sharedlib_from_linklib_cmd=$ECHO ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 $as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO if test -n "$ac_tool_prefix"; then for ac_prog in ar do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_AR+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AR="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AR=$ac_cv_prog_AR if test -n "$AR"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 $as_echo "$AR" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$AR" && break done fi if test -z "$AR"; then ac_ct_AR=$AR for ac_prog in ar do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_AR+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_AR"; then ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_AR="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_AR=$ac_cv_prog_ac_ct_AR if test -n "$ac_ct_AR"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 $as_echo "$ac_ct_AR" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_AR" && break done if test "x$ac_ct_AR" = x; then AR="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac AR=$ac_ct_AR fi fi : ${AR=ar} : ${AR_FLAGS=cru} { $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 $as_echo_n "checking for archiver @FILE support... " >&6; } if ${lt_cv_ar_at_file+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_ar_at_file=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : echo conftest.$ac_objext > conftest.lst lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 (eval $lt_ar_try) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if test 0 -eq "$ac_status"; then # Ensure the archiver fails upon bogus file names. rm -f conftest.$ac_objext libconftest.a { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 (eval $lt_ar_try) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if test 0 -ne "$ac_status"; then lt_cv_ar_at_file=@ fi fi rm -f conftest.* libconftest.a fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 $as_echo "$lt_cv_ar_at_file" >&6; } if test no = "$lt_cv_ar_at_file"; then archiver_list_spec= else archiver_list_spec=$lt_cv_ar_at_file fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi test -z "$STRIP" && STRIP=: if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 $as_echo "$RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_RANLIB="ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 $as_echo "$ac_ct_RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_RANLIB" = x; then RANLIB=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB fi else RANLIB="$ac_cv_prog_RANLIB" fi test -z "$RANLIB" && RANLIB=: # Determine commands to create old-style static archives. old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' old_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in bitrig* | openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" fi case $host_os in darwin*) lock_old_archive_extraction=yes ;; *) lock_old_archive_extraction=no ;; esac # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # Check for command to grab the raw symbol name followed by C symbol from nm. { $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } if ${lt_cv_sys_global_symbol_pipe+:} false; then : $as_echo_n "(cached) " >&6 else # These are sane defaults that work on at least a few old systems. # [They come from Ultrix. What could be older than Ultrix?!! ;)] # Character class describing NM global symbol codes. symcode='[BCDEGRST]' # Regexp to match symbols that can be accessed directly from C. sympat='\([_A-Za-z][_A-Za-z0-9]*\)' # Define system-specific variables. case $host_os in aix*) symcode='[BCDT]' ;; cygwin* | mingw* | pw32* | cegcc*) symcode='[ABCDGISTW]' ;; hpux*) if test ia64 = "$host_cpu"; then symcode='[ABCDEGRST]' fi ;; irix* | nonstopux*) symcode='[BCDEGRST]' ;; osf*) symcode='[BCDEGQRST]' ;; solaris*) symcode='[BDRT]' ;; sco3.2v5*) symcode='[DT]' ;; sysv4.2uw2*) symcode='[DT]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[ABDT]' ;; sysv4) symcode='[DFNSTU]' ;; esac # If we're using GNU nm, then use its standard symbol codes. case `$NM -V 2>&1` in *GNU* | *'with BFD'*) symcode='[ABCDGIRSTW]' ;; esac if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Gets list of data symbols to import. lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" # Adjust the below global symbol transforms to fixup imported variables. lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" lt_c_name_lib_hook="\ -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" else # Disable hooks by default. lt_cv_sys_global_symbol_to_import= lt_cdecl_hook= lt_c_name_hook= lt_c_name_lib_hook= fi # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. lt_cv_sys_global_symbol_to_cdecl="sed -n"\ $lt_cdecl_hook\ " -e 's/^T .* \(.*\)$/extern int \1();/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address lt_cv_sys_global_symbol_to_c_name_address="sed -n"\ $lt_c_name_hook\ " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" # Transform an extracted symbol line into symbol name with lib prefix and # symbol address. lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ $lt_c_name_lib_hook\ " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ " -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" # Handle CRLF in mingw tool chain opt_cr= case $build_os in mingw*) opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;; esac # Try without a prefix underscore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # Write the raw and C identifiers. if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Fake it for dumpbin and say T for any non-static function, # D for any global variable and I for any imported variable. # Also find C++ and __fastcall symbols from MSVC++, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK '"\ " {last_section=section; section=\$ 3};"\ " /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ " /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ " /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ " /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ " \$ 0!~/External *\|/{next};"\ " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ " {if(hide[section]) next};"\ " {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ " {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ " s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ " s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ " ' prfx=^$ac_symprfx" else lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" # Check to see that the pipe works correctly. pipe_works=no rm -f conftest* cat > conftest.$ac_ext <<_LT_EOF #ifdef __cplusplus extern "C" { #endif char nm_test_var; void nm_test_func(void); void nm_test_func(void){} #ifdef __cplusplus } #endif int main(){nm_test_var='a';nm_test_func();return(0);} _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then # Now try to grab the symbols. nlist=conftest.nm if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" else rm -f "$nlist"T fi # Make sure that we snagged all the symbols we need. if $GREP ' nm_test_var$' "$nlist" >/dev/null; then if $GREP ' nm_test_func$' "$nlist" >/dev/null; then cat <<_LT_EOF > conftest.$ac_ext /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ #if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE /* DATA imports from DLLs on WIN32 can't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs. */ # define LT_DLSYM_CONST #elif defined __osf__ /* This system does not cope well with relocations in const data. */ # define LT_DLSYM_CONST #else # define LT_DLSYM_CONST const #endif #ifdef __cplusplus extern "C" { #endif _LT_EOF # Now generate the symbol file. eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' cat <<_LT_EOF >> conftest.$ac_ext /* The mapping between symbol names and symbols. */ LT_DLSYM_CONST struct { const char *name; void *address; } lt__PROGRAM__LTX_preloaded_symbols[] = { { "@PROGRAM@", (void *) 0 }, _LT_EOF $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext cat <<\_LT_EOF >> conftest.$ac_ext {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt__PROGRAM__LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif _LT_EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext lt_globsym_save_LIBS=$LIBS lt_globsym_save_CFLAGS=$CFLAGS LIBS=conftstm.$ac_objext CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then pipe_works=yes fi LIBS=$lt_globsym_save_LIBS CFLAGS=$lt_globsym_save_CFLAGS else echo "cannot find nm_test_func in $nlist" >&5 fi else echo "cannot find nm_test_var in $nlist" >&5 fi else echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 fi else echo "$progname: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -rf conftest* conftst* # Do not use the global_symbol_pipe unless it works. if test yes = "$pipe_works"; then break else lt_cv_sys_global_symbol_pipe= fi done fi if test -z "$lt_cv_sys_global_symbol_pipe"; then lt_cv_sys_global_symbol_to_cdecl= fi if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 $as_echo "failed" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 $as_echo "ok" >&6; } fi # Response file support. if test "$lt_cv_nm_interface" = "MS dumpbin"; then nm_file_list_spec='@' elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then nm_file_list_spec='@' fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 $as_echo_n "checking for sysroot... " >&6; } # Check whether --with-sysroot was given. if test "${with_sysroot+set}" = set; then : withval=$with_sysroot; else with_sysroot=no fi lt_sysroot= case $with_sysroot in #( yes) if test yes = "$GCC"; then lt_sysroot=`$CC --print-sysroot 2>/dev/null` fi ;; #( /*) lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` ;; #( no|'') ;; #( *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5 $as_echo "$with_sysroot" >&6; } as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 $as_echo "${lt_sysroot:-no}" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 $as_echo_n "checking for a working dd... " >&6; } if ${ac_cv_path_lt_DD+:} false; then : $as_echo_n "(cached) " >&6 else printf 0123456789abcdef0123456789abcdef >conftest.i cat conftest.i conftest.i >conftest2.i : ${lt_DD:=$DD} if test -z "$lt_DD"; then ac_path_lt_DD_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in dd; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_lt_DD" || continue if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then cmp -s conftest.i conftest.out \ && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: fi $ac_path_lt_DD_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_lt_DD"; then : fi else ac_cv_path_lt_DD=$lt_DD fi rm -f conftest.i conftest2.i conftest.out fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 $as_echo "$ac_cv_path_lt_DD" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 $as_echo_n "checking how to truncate binary pipes... " >&6; } if ${lt_cv_truncate_bin+:} false; then : $as_echo_n "(cached) " >&6 else printf 0123456789abcdef0123456789abcdef >conftest.i cat conftest.i conftest.i >conftest2.i lt_cv_truncate_bin= if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then cmp -s conftest.i conftest.out \ && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" fi rm -f conftest.i conftest2.i conftest.out test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 $as_echo "$lt_cv_truncate_bin" >&6; } # Calculate cc_basename. Skip known compiler wrappers and cross-prefix. func_cc_basename () { for cc_temp in $*""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` } # Check whether --enable-libtool-lock was given. if test "${enable_libtool_lock+set}" = set; then : enableval=$enable_libtool_lock; fi test no = "$enable_libtool_lock" || enable_libtool_lock=yes # Some flags need to be propagated to the compiler or linker for good # libtool support. case $host in ia64-*-hpux*) # Find out what ABI is being produced by ac_compile, and set mode # options accordingly. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE=32 ;; *ELF-64*) HPUX_IA64_MODE=64 ;; esac fi rm -rf conftest* ;; *-*-irix6*) # Find out what ABI is being produced by ac_compile, and set linker # options accordingly. echo '#line '$LINENO' "configure"' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then if test yes = "$lt_cv_prog_gnu_ld"; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; *N32*) LD="${LD-ld} -melf32bmipn32" ;; *64-bit*) LD="${LD-ld} -melf64bmip" ;; esac else case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; *N32*) LD="${LD-ld} -n32" ;; *64-bit*) LD="${LD-ld} -64" ;; esac fi fi rm -rf conftest* ;; mips64*-*linux*) # Find out what ABI is being produced by ac_compile, and set linker # options accordingly. echo '#line '$LINENO' "configure"' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then emul=elf case `/usr/bin/file conftest.$ac_objext` in *32-bit*) emul="${emul}32" ;; *64-bit*) emul="${emul}64" ;; esac case `/usr/bin/file conftest.$ac_objext` in *MSB*) emul="${emul}btsmip" ;; *LSB*) emul="${emul}ltsmip" ;; esac case `/usr/bin/file conftest.$ac_objext` in *N32*) emul="${emul}n32" ;; esac LD="${LD-ld} -m $emul" fi rm -rf conftest* ;; x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # Find out what ABI is being produced by ac_compile, and set linker # options accordingly. Note that the listed cases only cover the # situations where additional linker options are needed (such as when # doing 32-bit compilation for a host where ld defaults to 64-bit, or # vice versa); the common cases where no linker options are needed do # not appear in the list. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) case `/usr/bin/file conftest.o` in *x86-64*) LD="${LD-ld} -m elf32_x86_64" ;; *) LD="${LD-ld} -m elf_i386" ;; esac ;; powerpc64le-*linux*) LD="${LD-ld} -m elf32lppclinux" ;; powerpc64-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) LD="${LD-ld} -m elf_s390" ;; sparc64-*linux*) LD="${LD-ld} -m elf32_sparc" ;; esac ;; *64-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; powerpcle-*linux*) LD="${LD-ld} -m elf64lppc" ;; powerpc-*linux*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*|s390*-*tpf*) LD="${LD-ld} -m elf64_s390" ;; sparc*-*linux*) LD="${LD-ld} -m elf64_sparc" ;; esac ;; esac fi rm -rf conftest* ;; *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS=$CFLAGS CFLAGS="$CFLAGS -belf" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 $as_echo_n "checking whether the C compiler needs -belf... " >&6; } if ${lt_cv_cc_needs_belf+:} false; then : $as_echo_n "(cached) " >&6 else ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_cv_cc_needs_belf=yes else lt_cv_cc_needs_belf=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 $as_echo "$lt_cv_cc_needs_belf" >&6; } if test yes != "$lt_cv_cc_needs_belf"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS=$SAVE_CFLAGS fi ;; *-*solaris*) # Find out what ABI is being produced by ac_compile, and set linker # options accordingly. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) case $host in i?86-*-solaris*|x86_64-*-solaris*) LD="${LD-ld} -m elf_x86_64" ;; sparc*-*-solaris*) LD="${LD-ld} -m elf64_sparc" ;; esac # GNU ld 2.21 introduced _sol2 emulations. Use them if available. if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then LD=${LD-ld}_sol2 fi ;; *) if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then LD="${LD-ld} -64" fi ;; esac ;; esac fi rm -rf conftest* ;; esac need_locks=$enable_libtool_lock if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. set dummy ${ac_tool_prefix}mt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_MANIFEST_TOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$MANIFEST_TOOL"; then ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL if test -n "$MANIFEST_TOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 $as_echo "$MANIFEST_TOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_MANIFEST_TOOL"; then ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL # Extract the first word of "mt", so it can be a program name with args. set dummy mt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_MANIFEST_TOOL"; then ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL if test -n "$ac_ct_MANIFEST_TOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 $as_echo "$ac_ct_MANIFEST_TOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_MANIFEST_TOOL" = x; then MANIFEST_TOOL=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL fi else MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" fi test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 $as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } if ${lt_cv_path_mainfest_tool+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_path_mainfest_tool=no echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out cat conftest.err >&5 if $GREP 'Manifest Tool' conftest.out > /dev/null; then lt_cv_path_mainfest_tool=yes fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 $as_echo "$lt_cv_path_mainfest_tool" >&6; } if test yes != "$lt_cv_path_mainfest_tool"; then MANIFEST_TOOL=: fi case $host_os in rhapsody* | darwin*) if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_DSYMUTIL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$DSYMUTIL"; then ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DSYMUTIL=$ac_cv_prog_DSYMUTIL if test -n "$DSYMUTIL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 $as_echo "$DSYMUTIL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_DSYMUTIL"; then ac_ct_DSYMUTIL=$DSYMUTIL # Extract the first word of "dsymutil", so it can be a program name with args. set dummy dsymutil; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DSYMUTIL"; then ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL if test -n "$ac_ct_DSYMUTIL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 $as_echo "$ac_ct_DSYMUTIL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_DSYMUTIL" = x; then DSYMUTIL=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DSYMUTIL=$ac_ct_DSYMUTIL fi else DSYMUTIL="$ac_cv_prog_DSYMUTIL" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. set dummy ${ac_tool_prefix}nmedit; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_NMEDIT+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$NMEDIT"; then ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi NMEDIT=$ac_cv_prog_NMEDIT if test -n "$NMEDIT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 $as_echo "$NMEDIT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_NMEDIT"; then ac_ct_NMEDIT=$NMEDIT # Extract the first word of "nmedit", so it can be a program name with args. set dummy nmedit; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_NMEDIT"; then ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_NMEDIT="nmedit" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT if test -n "$ac_ct_NMEDIT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 $as_echo "$ac_ct_NMEDIT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_NMEDIT" = x; then NMEDIT=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac NMEDIT=$ac_ct_NMEDIT fi else NMEDIT="$ac_cv_prog_NMEDIT" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. set dummy ${ac_tool_prefix}lipo; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_LIPO+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$LIPO"; then ac_cv_prog_LIPO="$LIPO" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_LIPO="${ac_tool_prefix}lipo" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi LIPO=$ac_cv_prog_LIPO if test -n "$LIPO"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 $as_echo "$LIPO" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_LIPO"; then ac_ct_LIPO=$LIPO # Extract the first word of "lipo", so it can be a program name with args. set dummy lipo; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_LIPO+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_LIPO"; then ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_LIPO="lipo" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO if test -n "$ac_ct_LIPO"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 $as_echo "$ac_ct_LIPO" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_LIPO" = x; then LIPO=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac LIPO=$ac_ct_LIPO fi else LIPO="$ac_cv_prog_LIPO" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. set dummy ${ac_tool_prefix}otool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_OTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$OTOOL"; then ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_OTOOL="${ac_tool_prefix}otool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OTOOL=$ac_cv_prog_OTOOL if test -n "$OTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 $as_echo "$OTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OTOOL"; then ac_ct_OTOOL=$OTOOL # Extract the first word of "otool", so it can be a program name with args. set dummy otool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_OTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OTOOL"; then ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_OTOOL="otool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL if test -n "$ac_ct_OTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 $as_echo "$ac_ct_OTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OTOOL" = x; then OTOOL=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OTOOL=$ac_ct_OTOOL fi else OTOOL="$ac_cv_prog_OTOOL" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. set dummy ${ac_tool_prefix}otool64; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_OTOOL64+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$OTOOL64"; then ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OTOOL64=$ac_cv_prog_OTOOL64 if test -n "$OTOOL64"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 $as_echo "$OTOOL64" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OTOOL64"; then ac_ct_OTOOL64=$OTOOL64 # Extract the first word of "otool64", so it can be a program name with args. set dummy otool64; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OTOOL64"; then ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_OTOOL64="otool64" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 if test -n "$ac_ct_OTOOL64"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 $as_echo "$ac_ct_OTOOL64" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OTOOL64" = x; then OTOOL64=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OTOOL64=$ac_ct_OTOOL64 fi else OTOOL64="$ac_cv_prog_OTOOL64" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 $as_echo_n "checking for -single_module linker flag... " >&6; } if ${lt_cv_apple_cc_single_mod+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_apple_cc_single_mod=no if test -z "$LT_MULTI_MODULE"; then # By default we will add the -single_module flag. You can override # by either setting the environment variable LT_MULTI_MODULE # non-empty at configure time, or by adding -multi_module to the # link flags. rm -rf libconftest.dylib* echo "int foo(void){return 1;}" > conftest.c echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c" >&5 $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err _lt_result=$? # If there is a non-empty error log, and "single_module" # appears in it, assume the flag caused a linker warning if test -s conftest.err && $GREP single_module conftest.err; then cat conftest.err >&5 # Otherwise, if the output was created with a 0 exit code from # the compiler, it worked. elif test -f libconftest.dylib && test 0 = "$_lt_result"; then lt_cv_apple_cc_single_mod=yes else cat conftest.err >&5 fi rm -rf libconftest.dylib* rm -f conftest.* fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 $as_echo "$lt_cv_apple_cc_single_mod" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } if ${lt_cv_ld_exported_symbols_list+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_ld_exported_symbols_list=no save_LDFLAGS=$LDFLAGS echo "_main" > conftest.sym LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_cv_ld_exported_symbols_list=yes else lt_cv_ld_exported_symbols_list=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 $as_echo_n "checking for -force_load linker flag... " >&6; } if ${lt_cv_ld_force_load+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_ld_force_load=no cat > conftest.c << _LT_EOF int forced_loaded() { return 2;} _LT_EOF echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 echo "$AR cru libconftest.a conftest.o" >&5 $AR cru libconftest.a conftest.o 2>&5 echo "$RANLIB libconftest.a" >&5 $RANLIB libconftest.a 2>&5 cat > conftest.c << _LT_EOF int main() { return 0;} _LT_EOF echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err _lt_result=$? if test -s conftest.err && $GREP force_load conftest.err; then cat conftest.err >&5 elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then lt_cv_ld_force_load=yes else cat conftest.err >&5 fi rm -f conftest.err libconftest.a conftest conftest.c rm -rf conftest.dSYM fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 $as_echo "$lt_cv_ld_force_load" >&6; } case $host_os in rhapsody* | darwin1.[012]) _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; darwin1.*) _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; darwin*) # darwin 5.x on # if running on 10.5 or later, the deployment target defaults # to the OS version, if on x86, and 10.4, the deployment # target defaults to 10.4. Don't you love it? case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 10.0,*86*-darwin8*|10.0,*-darwin[91]*) _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; 10.[012][,.]*) _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; 10.*) _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; esac ;; esac if test yes = "$lt_cv_apple_cc_single_mod"; then _lt_dar_single_mod='$single_module' fi if test yes = "$lt_cv_ld_exported_symbols_list"; then _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' else _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' fi if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then _lt_dsymutil='~$DSYMUTIL $lib || :' else _lt_dsymutil= fi ;; esac # func_munge_path_list VARIABLE PATH # ----------------------------------- # VARIABLE is name of variable containing _space_ separated list of # directories to be munged by the contents of PATH, which is string # having a format: # "DIR[:DIR]:" # string "DIR[ DIR]" will be prepended to VARIABLE # ":DIR[:DIR]" # string "DIR[ DIR]" will be appended to VARIABLE # "DIRP[:DIRP]::[DIRA:]DIRA" # string "DIRP[ DIRP]" will be prepended to VARIABLE and string # "DIRA[ DIRA]" will be appended to VARIABLE # "DIR[:DIR]" # VARIABLE will be replaced by "DIR[ DIR]" func_munge_path_list () { case x$2 in x) ;; *:) eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\" ;; x:*) eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\" ;; *::*) eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\" ;; *) eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" ;; esac } ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 $as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if ${ac_cv_prog_CPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 $as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : else ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then $as_echo "#define STDC_HEADERS 1" >>confdefs.h fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in dlfcn.h do : ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default " if test "x$ac_cv_header_dlfcn_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_DLFCN_H 1 _ACEOF fi done # Set options enable_dlopen=no enable_win32_dll=no # Check whether --enable-shared was given. if test "${enable_shared+set}" = set; then : enableval=$enable_shared; p=${PACKAGE-default} case $enableval in yes) enable_shared=yes ;; no) enable_shared=no ;; *) enable_shared=no # Look at the argument we got. We use all the common list separators. lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for pkg in $enableval; do IFS=$lt_save_ifs if test "X$pkg" = "X$p"; then enable_shared=yes fi done IFS=$lt_save_ifs ;; esac else enable_shared=yes fi # Check whether --enable-static was given. if test "${enable_static+set}" = set; then : enableval=$enable_static; p=${PACKAGE-default} case $enableval in yes) enable_static=yes ;; no) enable_static=no ;; *) enable_static=no # Look at the argument we got. We use all the common list separators. lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for pkg in $enableval; do IFS=$lt_save_ifs if test "X$pkg" = "X$p"; then enable_static=yes fi done IFS=$lt_save_ifs ;; esac else enable_static=yes fi # Check whether --with-pic was given. if test "${with_pic+set}" = set; then : withval=$with_pic; lt_p=${PACKAGE-default} case $withval in yes|no) pic_mode=$withval ;; *) pic_mode=default # Look at the argument we got. We use all the common list separators. lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for lt_pkg in $withval; do IFS=$lt_save_ifs if test "X$lt_pkg" = "X$lt_p"; then pic_mode=yes fi done IFS=$lt_save_ifs ;; esac else pic_mode=default fi # Check whether --enable-fast-install was given. if test "${enable_fast_install+set}" = set; then : enableval=$enable_fast_install; p=${PACKAGE-default} case $enableval in yes) enable_fast_install=yes ;; no) enable_fast_install=no ;; *) enable_fast_install=no # Look at the argument we got. We use all the common list separators. lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for pkg in $enableval; do IFS=$lt_save_ifs if test "X$pkg" = "X$p"; then enable_fast_install=yes fi done IFS=$lt_save_ifs ;; esac else enable_fast_install=yes fi shared_archive_member_spec= case $host,$enable_shared in power*-*-aix[5-9]*,yes) { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 $as_echo_n "checking which variant of shared library versioning to provide... " >&6; } # Check whether --with-aix-soname was given. if test "${with_aix_soname+set}" = set; then : withval=$with_aix_soname; case $withval in aix|svr4|both) ;; *) as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5 ;; esac lt_cv_with_aix_soname=$with_aix_soname else if ${lt_cv_with_aix_soname+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_with_aix_soname=aix fi with_aix_soname=$lt_cv_with_aix_soname fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 $as_echo "$with_aix_soname" >&6; } if test aix != "$with_aix_soname"; then # For the AIX way of multilib, we name the shared archive member # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, # the AIX toolchain works better with OBJECT_MODE set (default 32). if test 64 = "${OBJECT_MODE-32}"; then shared_archive_member_spec=shr_64 else shared_archive_member_spec=shr fi fi ;; *) with_aix_soname=aix ;; esac # This can be used to rebuild libtool when needed LIBTOOL_DEPS=$ltmain # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' test -z "$LN_S" && LN_S="ln -s" if test -n "${ZSH_VERSION+set}"; then setopt NO_GLOB_SUBST fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 $as_echo_n "checking for objdir... " >&6; } if ${lt_cv_objdir+:} false; then : $as_echo_n "(cached) " >&6 else rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null if test -d .libs; then lt_cv_objdir=.libs else # MS-DOS does not allow filenames that begin with a dot. lt_cv_objdir=_libs fi rmdir .libs 2>/dev/null fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 $as_echo "$lt_cv_objdir" >&6; } objdir=$lt_cv_objdir cat >>confdefs.h <<_ACEOF #define LT_OBJDIR "$lt_cv_objdir/" _ACEOF case $host_os in aix3*) # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test set != "${COLLECT_NAMES+set}"; then COLLECT_NAMES= export COLLECT_NAMES fi ;; esac # Global variables: ofile=libtool can_build_shared=yes # All known linkers require a '.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a with_gnu_ld=$lt_cv_prog_gnu_ld old_CC=$CC old_CFLAGS=$CFLAGS # Set sane defaults for various variables test -z "$CC" && CC=cc test -z "$LTCC" && LTCC=$CC test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS test -z "$LD" && LD=ld test -z "$ac_objext" && ac_objext=o func_cc_basename $compiler cc_basename=$func_cc_basename_result # Only perform the check for file, if the check method requires it test -z "$MAGIC_CMD" && MAGIC_CMD=file case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } if ${lt_cv_path_MAGIC_CMD+:} false; then : $as_echo_n "(cached) " >&6 else case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD=$MAGIC_CMD lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/${ac_tool_prefix}file"; then lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD=$lt_cv_path_MAGIC_CMD if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS=$lt_save_ifs MAGIC_CMD=$lt_save_MAGIC_CMD ;; esac fi MAGIC_CMD=$lt_cv_path_MAGIC_CMD if test -n "$MAGIC_CMD"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 $as_echo "$MAGIC_CMD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 $as_echo_n "checking for file... " >&6; } if ${lt_cv_path_MAGIC_CMD+:} false; then : $as_echo_n "(cached) " >&6 else case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD=$MAGIC_CMD lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/file"; then lt_cv_path_MAGIC_CMD=$ac_dir/"file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD=$lt_cv_path_MAGIC_CMD if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS=$lt_save_ifs MAGIC_CMD=$lt_save_MAGIC_CMD ;; esac fi MAGIC_CMD=$lt_cv_path_MAGIC_CMD if test -n "$MAGIC_CMD"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 $as_echo "$MAGIC_CMD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi else MAGIC_CMD=: fi fi fi ;; esac # Use C for the default configuration in the libtool script lt_save_CC=$CC ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o objext=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # Save the default compiler, since it gets overwritten when the other # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. compiler_DEFAULT=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then lt_prog_compiler_no_builtin_flag= if test yes = "$GCC"; then case $cc_basename in nvcc*) lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; *) lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_rtti_exceptions=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_rtti_exceptions=yes fi fi $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 $as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" else : fi fi lt_prog_compiler_wl= lt_prog_compiler_pic= lt_prog_compiler_static= if test yes = "$GCC"; then lt_prog_compiler_wl='-Wl,' lt_prog_compiler_static='-static' case $host_os in aix*) # All AIX code is PIC. if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' fi lt_prog_compiler_pic='-fPIC' ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support lt_prog_compiler_pic='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the '-m68020' flag to GCC prevents building anything better, # like '-m68040'. lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic='-DDLL_EXPORT' case $host_os in os2*) lt_prog_compiler_static='$wl-static' ;; esac ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic='-fno-common' ;; haiku*) # PIC is the default for Haiku. # The "-static" flag exists, but is broken. lt_prog_compiler_static= ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) # +Z the default ;; *) lt_prog_compiler_pic='-fPIC' ;; esac ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared=no enable_shared=no ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic='-fPIC -shared' ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic=-Kconform_pic fi ;; *) lt_prog_compiler_pic='-fPIC' ;; esac case $cc_basename in nvcc*) # Cuda Compiler Driver 2.2 lt_prog_compiler_wl='-Xlinker ' if test -n "$lt_prog_compiler_pic"; then lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" fi ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl='-Wl,' if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' else lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' fi ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic='-fno-common' case $cc_basename in nagfor*) # NAG Fortran compiler lt_prog_compiler_wl='-Wl,-Wl,,' lt_prog_compiler_pic='-PIC' lt_prog_compiler_static='-Bstatic' ;; esac ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic='-DDLL_EXPORT' case $host_os in os2*) lt_prog_compiler_static='$wl-static' ;; esac ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static='$wl-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static='-non_shared' ;; linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in # old Intel for x86_64, which still supported -KPIC. ecc*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-static' ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fPIC' lt_prog_compiler_static='-static' ;; # Lahey Fortran 8.1. lf95*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='--shared' lt_prog_compiler_static='--static' ;; nagfor*) # NAG Fortran compiler lt_prog_compiler_wl='-Wl,-Wl,,' lt_prog_compiler_pic='-PIC' lt_prog_compiler_static='-Bstatic' ;; tcc*) # Fabrice Bellard et al's Tiny C Compiler lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fPIC' lt_prog_compiler_static='-static' ;; pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fpic' lt_prog_compiler_static='-Bstatic' ;; ccc*) lt_prog_compiler_wl='-Wl,' # All Alpha code is PIC. lt_prog_compiler_static='-non_shared' ;; xl* | bgxl* | bgf* | mpixl*) # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-qpic' lt_prog_compiler_static='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='' ;; *Sun\ F* | *Sun*Fortran*) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='-Qoption ld ' ;; *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='-Wl,' ;; *Intel*\ [CF]*Compiler*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fPIC' lt_prog_compiler_static='-static' ;; *Portland\ Group*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fpic' lt_prog_compiler_static='-Bstatic' ;; esac ;; esac ;; newsos6) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic='-fPIC -shared' ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static='-non_shared' ;; rdos*) lt_prog_compiler_static='-non_shared' ;; solaris*) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' case $cc_basename in f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) lt_prog_compiler_wl='-Qoption ld ';; *) lt_prog_compiler_wl='-Wl,';; esac ;; sunos4*) lt_prog_compiler_wl='-Qoption ld ' lt_prog_compiler_pic='-PIC' lt_prog_compiler_static='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic='-Kconform_pic' lt_prog_compiler_static='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; unicos*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_can_build_shared=no ;; uts4*) lt_prog_compiler_pic='-pic' lt_prog_compiler_static='-Bstatic' ;; *) lt_prog_compiler_can_build_shared=no ;; esac fi case $host_os in # For platforms that do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic= ;; *) lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 $as_echo_n "checking for $compiler option to produce PIC... " >&6; } if ${lt_cv_prog_compiler_pic+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_pic=$lt_prog_compiler_pic fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 $as_echo "$lt_cv_prog_compiler_pic" >&6; } lt_prog_compiler_pic=$lt_cv_prog_compiler_pic # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } if ${lt_cv_prog_compiler_pic_works+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_pic_works=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic -DPIC" ## exclude from sc_useless_quotes_in_assignment # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_pic_works=yes fi fi $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 $as_echo "$lt_cv_prog_compiler_pic_works" >&6; } if test yes = "$lt_cv_prog_compiler_pic_works"; then case $lt_prog_compiler_pic in "" | " "*) ;; *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; esac else lt_prog_compiler_pic= lt_prog_compiler_can_build_shared=no fi fi # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } if ${lt_cv_prog_compiler_static_works+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_static_works=no save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_static_works=yes fi else lt_cv_prog_compiler_static_works=yes fi fi $RM -r conftest* LDFLAGS=$save_LDFLAGS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 $as_echo "$lt_cv_prog_compiler_static_works" >&6; } if test yes = "$lt_cv_prog_compiler_static_works"; then : else lt_prog_compiler_static= fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if ${lt_cv_prog_compiler_c_o+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 $as_echo "$lt_cv_prog_compiler_c_o" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if ${lt_cv_prog_compiler_c_o+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 $as_echo "$lt_cv_prog_compiler_c_o" >&6; } hard_links=nottested if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then # do not overwrite the value of need_locks provided by the user { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 $as_echo_n "checking if we can lock with hard links... " >&6; } hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 $as_echo "$hard_links" >&6; } if test no = "$hard_links"; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 $as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } runpath_var= allow_undefined_flag= always_export_symbols=no archive_cmds= archive_expsym_cmds= compiler_needs_object=no enable_shared_with_static_runtimes=no export_dynamic_flag_spec= export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' hardcode_automatic=no hardcode_direct=no hardcode_direct_absolute=no hardcode_libdir_flag_spec= hardcode_libdir_separator= hardcode_minus_L=no hardcode_shlibpath_var=unsupported inherit_rpath=no link_all_deplibs=unknown module_cmds= module_expsym_cmds= old_archive_from_new_cmds= old_archive_from_expsyms_cmds= thread_safe_flag_spec= whole_archive_flag_spec= # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list include_expsyms= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ' (' and ')$', so one must not match beginning or # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', # as well as any symbol that contains 'd'. exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. # Exclude shared library initialization/finalization symbols. extract_expsyms_cmds= case $host_os in cygwin* | mingw* | pw32* | cegcc*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test yes != "$GCC"; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd* | bitrig*) with_gnu_ld=no ;; linux* | k*bsd*-gnu | gnu*) link_all_deplibs=no ;; esac ld_shlibs=yes # On some targets, GNU ld is compatible enough with the native linker # that we're better off using the native interface for both. lt_use_gnu_ld_interface=no if test yes = "$with_gnu_ld"; then case $host_os in aix*) # The AIX port of GNU ld has always aspired to compatibility # with the native linker. However, as the warning in the GNU ld # block says, versions before 2.19.5* couldn't really create working # shared libraries, regardless of the interface used. case `$LD -v 2>&1` in *\ \(GNU\ Binutils\)\ 2.19.5*) ;; *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; *\ \(GNU\ Binutils\)\ [3-9]*) ;; *) lt_use_gnu_ld_interface=yes ;; esac ;; *) lt_use_gnu_ld_interface=yes ;; esac fi if test yes = "$lt_use_gnu_ld_interface"; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='$wl' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' export_dynamic_flag_spec='$wl--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' else whole_archive_flag_spec= fi supports_anon_versioning=no case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in *GNU\ gold*) supports_anon_versioning=yes ;; *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # See if GNU ld supports shared libraries. case $host_os in aix[3-9]*) # On AIX/PPC, the GNU linker is very broken if test ia64 != "$host_cpu"; then ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: the GNU linker, at least up to release 2.19, is reported *** to be unable to reliably create shared libraries on AIX. *** Therefore, libtool is disabling shared libraries support. If you *** really care for shared libraries, you may want to install binutils *** 2.20 or above, or modify your PATH so that a non-GNU linker is found. *** You will then need to restart the configuration process. _LT_EOF fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds='' ;; m68k) archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; esac ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then allow_undefined_flag=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' else ld_shlibs=no fi ;; cygwin* | mingw* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' export_dynamic_flag_spec='$wl--export-all-symbols' allow_undefined_flag=unsupported always_export_symbols=no enable_shared_with_static_runtimes=yes export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file, use it as # is; otherwise, prepend EXPORTS... archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs=no fi ;; haiku*) archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' link_all_deplibs=yes ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes allow_undefined_flag=unsupported shrext_cmds=.dll archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ prefix_cmds="$SED"~ if test EXPORTS = "`$SED 1q $export_symbols`"; then prefix_cmds="$prefix_cmds -e 1d"; fi~ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' enable_shared_with_static_runtimes=yes ;; interix[3-9]*) hardcode_direct=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='$wl-rpath,$libdir' export_dynamic_flag_spec='$wl-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) tmp_diet=no if test linux-dietlibc = "$host_os"; then case $cc_basename in diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) esac fi if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ && test no = "$tmp_diet" then tmp_addflag=' $pic_flag' tmp_sharedflag='-shared' case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group f77 and f90 compilers whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; lf95*) # Lahey Fortran 8.1 whole_archive_flag_spec= tmp_sharedflag='--shared' ;; nagfor*) # NAGFOR 5.3 tmp_sharedflag='-Wl,-shared' ;; xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) tmp_sharedflag='-qmkshrobj' tmp_addflag= ;; nvcc*) # Cuda Compiler Driver 2.2 whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' compiler_needs_object=yes ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' compiler_needs_object=yes tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; esac archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' if test yes = "$supports_anon_versioning"; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' fi case $cc_basename in tcc*) export_dynamic_flag_spec='-rdynamic' ;; xlf* | bgf* | bgxlf* | mpixlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' if test yes = "$supports_anon_versioning"; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi ;; esac else ld_shlibs=no fi ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; esac ;; sunos4*) archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct=yes hardcode_shlibpath_var=no ;; *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; esac if test no = "$ld_shlibs"; then runpath_var= hardcode_libdir_flag_spec= export_dynamic_flag_spec= whole_archive_flag_spec= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) allow_undefined_flag=unsupported always_export_symbols=yes archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L=yes if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=unsupported fi ;; aix[4-9]*) if test ia64 = "$host_cpu"; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag= else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to GNU nm, but means don't demangle to AIX nm. # Without the "-l" option, or with the "-B" option, AIX nm treats # weak defined symbols like other global defined symbols, whereas # GNU nm marks them as "W". # While the 'weak' keyword is ignored in the Export File, we need # it in the Import File for the 'aix-soname' feature, so we have # to replace the "-B" option with "-P" for AIX nm. if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # have runtime linking enabled, and use it for executables. # For shared libraries, we enable/disable runtime linking # depending on the kind of the shared library created - # when "with_aix_soname,aix_use_runtimelinking" is: # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables # "aix,yes" lib.so shared, rtl:yes, for executables # lib.a static archive # "both,no" lib.so.V(shr.o) shared, rtl:yes # lib.a(lib.so.V) shared, rtl:no, for executables # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables # lib.a(lib.so.V) shared, rtl:no # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables # lib.a static archive case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) for ld_flag in $LDFLAGS; do if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then aix_use_runtimelinking=yes break fi done if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then # With aix-soname=svr4, we create the lib.so.V shared archives only, # so we don't have lib.a shared libs to link our executables. # We have to force runtime linking in this case. aix_use_runtimelinking=yes LDFLAGS="$LDFLAGS -Wl,-brtl" fi ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. archive_cmds='' hardcode_direct=yes hardcode_direct_absolute=yes hardcode_libdir_separator=':' link_all_deplibs=yes file_list_spec='$wl-f,' case $with_aix_soname,$aix_use_runtimelinking in aix,*) ;; # traditional, no import file svr4,* | *,yes) # use import file # The Import File defines what to hardcode. hardcode_direct=no hardcode_direct_absolute=no ;; esac if test yes = "$GCC"; then case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`$CC -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 hardcode_direct=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi ;; esac shared_flag='-shared' if test yes = "$aix_use_runtimelinking"; then shared_flag="$shared_flag "'$wl-G' fi # Need to ensure runtime linking is disabled for the traditional # shared library, or the linker may eventually find shared libraries # /with/ Import File - we do not want to mix them. shared_flag_aix='-shared' shared_flag_svr4='-shared $wl-G' else # not using gcc if test ia64 = "$host_cpu"; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test yes = "$aix_use_runtimelinking"; then shared_flag='$wl-G' else shared_flag='$wl-bM:SRE' fi shared_flag_aix='$wl-bM:SRE' shared_flag_svr4='$wl-G' fi fi export_dynamic_flag_spec='$wl-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols=yes if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. allow_undefined_flag='-berok' # Determine the default libpath from the value encoded in an # empty executable. if test set = "${lt_cv_aix_libpath+set}"; then aix_libpath=$lt_cv_aix_libpath else if ${lt_cv_aix_libpath_+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }' lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_=/usr/lib:/lib fi fi aix_libpath=$lt_cv_aix_libpath_ fi hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag else if test ia64 = "$host_cpu"; then hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib' allow_undefined_flag="-z nodefs" archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. if test set = "${lt_cv_aix_libpath+set}"; then aix_libpath=$lt_cv_aix_libpath else if ${lt_cv_aix_libpath_+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }' lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_=/usr/lib:/lib fi fi aix_libpath=$lt_cv_aix_libpath_ fi hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. no_undefined_flag=' $wl-bernotok' allow_undefined_flag=' $wl-berok' if test yes = "$with_gnu_ld"; then # We only use this code for GNU lds that support --whole-archive. whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec='$convenience' fi archive_cmds_need_lc=yes archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' # -brtl affects multiple linker settings, -berok does not and is overridden later compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' if test svr4 != "$with_aix_soname"; then # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' fi if test aix != "$with_aix_soname"; then archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' else # used by -dlpreopen to get the symbols archive_expsym_cmds="$archive_expsym_cmds"'~$MV $output_objdir/$realname.d/$soname $output_objdir' fi archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d' fi fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' archive_expsym_cmds='' ;; m68k) archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; esac ;; bsdi[45]*) export_dynamic_flag_spec=-rdynamic ;; cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. case $cc_basename in cl*) # Native MSVC hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported always_export_symbols=yes file_list_spec='@' # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=.dll # FIXME: Setting linknames here is a bad hack. archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then cp "$export_symbols" "$output_objdir/$soname.def"; echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; else $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; fi~ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, )='true' enable_shared_with_static_runtimes=yes exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' # Don't use ranlib old_postinstall_cmds='chmod 644 $oldlib' postlink_cmds='lt_outputfile="@OUTPUT@"~ lt_tool_outputfile="@TOOL_OUTPUT@"~ case $lt_outputfile in *.exe|*.EXE) ;; *) lt_outputfile=$lt_outputfile.exe lt_tool_outputfile=$lt_tool_outputfile.exe ;; esac~ if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; $RM "$lt_outputfile.manifest"; fi' ;; *) # Assume MSVC wrapper hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=.dll # FIXME: Setting linknames here is a bad hack. archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. old_archive_from_new_cmds='true' # FIXME: Should let the user specify the lib program. old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' enable_shared_with_static_runtimes=yes ;; esac ;; darwin* | rhapsody*) archive_cmds_need_lc=no hardcode_direct=no hardcode_automatic=yes hardcode_shlibpath_var=unsupported if test yes = "$lt_cv_ld_force_load"; then whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' else whole_archive_flag_spec='' fi link_all_deplibs=yes allow_undefined_flag=$_lt_dar_allow_undefined case $cc_basename in ifort*|nagfor*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test yes = "$_lt_dar_can_shared"; then output_verbose_link_cmd=func_echo_all archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" archive_expsym_cmds="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" module_expsym_cmds="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" else ld_shlibs=no fi ;; dgux*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2.*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; hpux9*) if test yes = "$GCC"; then archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' else archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' fi hardcode_libdir_flag_spec='$wl+b $wl$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes export_dynamic_flag_spec='$wl-E' ;; hpux10*) if test yes,no = "$GCC,$with_gnu_ld"; then archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test no = "$with_gnu_ld"; then hardcode_libdir_flag_spec='$wl+b $wl$libdir' hardcode_libdir_separator=: hardcode_direct=yes hardcode_direct_absolute=yes export_dynamic_flag_spec='$wl-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes fi ;; hpux11*) if test yes,no = "$GCC,$with_gnu_ld"; then case $host_cpu in hppa*64*) archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) # Older versions of the 11.00 compiler do not understand -b yet # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 $as_echo_n "checking if $CC understands -b... " >&6; } if ${lt_cv_prog_compiler__b+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler__b=no save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -b" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler__b=yes fi else lt_cv_prog_compiler__b=yes fi fi $RM -r conftest* LDFLAGS=$save_LDFLAGS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 $as_echo "$lt_cv_prog_compiler__b" >&6; } if test yes = "$lt_cv_prog_compiler__b"; then archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi ;; esac fi if test no = "$with_gnu_ld"; then hardcode_libdir_flag_spec='$wl+b $wl$libdir' hardcode_libdir_separator=: case $host_cpu in hppa*64*|ia64*) hardcode_direct=no hardcode_shlibpath_var=no ;; *) hardcode_direct=yes hardcode_direct_absolute=yes export_dynamic_flag_spec='$wl-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test yes = "$GCC"; then archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' # Try to use the -exported_symbol ld option, if it does not # work, assume that -exports_file does not work either and # implicitly export all symbols. # This should be the same for all languages, so no per-tag cache variable. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 $as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } if ${lt_cv_irix_exported_symbol+:} false; then : $as_echo_n "(cached) " >&6 else save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int foo (void) { return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_cv_irix_exported_symbol=yes else lt_cv_irix_exported_symbol=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 $as_echo "$lt_cv_irix_exported_symbol" >&6; } if test yes = "$lt_cv_irix_exported_symbol"; then archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' fi link_all_deplibs=no else archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib' fi archive_cmds_need_lc='no' hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' hardcode_libdir_separator=: inherit_rpath=yes link_all_deplibs=yes ;; linux*) case $cc_basename in tcc*) # Fabrice Bellard et al's Tiny C Compiler ld_shlibs=yes archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; newsos6) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' hardcode_libdir_separator=: hardcode_shlibpath_var=no ;; *nto* | *qnx*) ;; openbsd* | bitrig*) if test -f /usr/libexec/ld.so; then hardcode_direct=yes hardcode_shlibpath_var=no hardcode_direct_absolute=yes if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec='$wl-rpath,$libdir' export_dynamic_flag_spec='$wl-E' else archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='$wl-rpath,$libdir' fi else ld_shlibs=no fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes allow_undefined_flag=unsupported shrext_cmds=.dll archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ prefix_cmds="$SED"~ if test EXPORTS = "`$SED 1q $export_symbols`"; then prefix_cmds="$prefix_cmds -e 1d"; fi~ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' enable_shared_with_static_runtimes=yes ;; osf3*) if test yes = "$GCC"; then allow_undefined_flag=' $wl-expect_unresolved $wl\*' archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' fi archive_cmds_need_lc='no' hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test yes = "$GCC"; then allow_undefined_flag=' $wl-expect_unresolved $wl\*' archive_cmds='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi archive_cmds_need_lc='no' hardcode_libdir_separator=: ;; solaris*) no_undefined_flag=' -z defs' if test yes = "$GCC"; then wlarc='$wl' archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' else case `$CC -V 2>&1` in *"Compilers 5.0"*) wlarc='' archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' ;; *) wlarc='$wl' archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' ;; esac fi hardcode_libdir_flag_spec='-R$libdir' hardcode_shlibpath_var=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands '-z linker_flag'. GCC discards it without '$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test yes = "$GCC"; then whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' else whole_archive_flag_spec='-z allextract$convenience -z defaultextract' fi ;; esac link_all_deplibs=yes ;; sunos4*) if test sequent = "$host_vendor"; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; sysv4) case $host_vendor in sni) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds='$CC -r -o $output$reload_objs' hardcode_direct=no ;; motorola) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var=no ;; sysv4.3*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no export_dynamic_flag_spec='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag='$wl-z,text' archive_cmds_need_lc=no hardcode_shlibpath_var=no runpath_var='LD_RUN_PATH' if test yes = "$GCC"; then archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We CANNOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag='$wl-z,text' allow_undefined_flag='$wl-z,nodefs' archive_cmds_need_lc=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='$wl-R,$libdir' hardcode_libdir_separator=':' link_all_deplibs=yes export_dynamic_flag_spec='$wl-Bexport' runpath_var='LD_RUN_PATH' if test yes = "$GCC"; then archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; *) ld_shlibs=no ;; esac if test sni = "$host_vendor"; then case $host in sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) export_dynamic_flag_spec='$wl-Blargedynsym' ;; esac fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 $as_echo "$ld_shlibs" >&6; } test no = "$ld_shlibs" && can_build_shared=no with_gnu_ld=$with_gnu_ld # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc" in x|xyes) # Assume -lc should be added archive_cmds_need_lc=yes if test yes,yes = "$GCC,$enable_shared"; then case $archive_cmds in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } if ${lt_cv_archive_cmds_need_lc+:} false; then : $as_echo_n "(cached) " >&6 else $RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl pic_flag=$lt_prog_compiler_pic compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag allow_undefined_flag= if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then lt_cv_archive_cmds_need_lc=no else lt_cv_archive_cmds_need_lc=yes fi allow_undefined_flag=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 $as_echo "$lt_cv_archive_cmds_need_lc" >&6; } archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc ;; esac fi ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 $as_echo_n "checking dynamic linker characteristics... " >&6; } if test yes = "$GCC"; then case $host_os in darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; *) lt_awk_arg='/^libraries:/' ;; esac case $host_os in mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;; *) lt_sed_strip_eq='s|=/|/|g' ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` case $lt_search_path_spec in *\;*) # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` ;; *) lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` ;; esac # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary... lt_tmp_lt_search_path_spec= lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` # ...but if some path component already ends with the multilib dir we assume # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). case "$lt_multi_os_dir; $lt_search_path_spec " in "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) lt_multi_os_dir= ;; esac for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" elif test -n "$lt_multi_os_dir"; then test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' BEGIN {RS = " "; FS = "/|\n";} { lt_foo = ""; lt_count = 0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo = "/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[lt_foo]++; } if (lt_freq[lt_foo] == 1) { print lt_foo; } }'` # AWK program above erroneously prepends '/' to C:/dos/paths # for these hosts. case $host_os in mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ $SED 's|/\([A-Za-z]:\)|\1|g'` ;; esac sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=.so postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='$libname$release$shared_ext$major' ;; aix[4-9]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no hardcode_into_libs=yes if test ia64 = "$host_cpu"; then # AIX 5 supports IA64 library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line '#! .'. This would cause the generated library to # depend on '.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[01] | aix4.[01].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac # Using Import Files as archive members, it is possible to support # filename-based versioning of shared library archives on AIX. While # this would work for both with and without runtime linking, it will # prevent static linking of such archives. So we do filename-based # shared library versioning with .so extension only, which is used # when both runtime linking and shared linking is enabled. # Unfortunately, runtime linking may impact performance, so we do # not want this to be the default eventually. Also, we use the # versioned .so libs for executables only if there is the -brtl # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. # To allow for filename-based versioning support, we need to create # libNAME.so.V as an archive file, containing: # *) an Import File, referring to the versioned filename of the # archive as well as the shared archive member, telling the # bitwidth (32 or 64) of that shared object, and providing the # list of exported symbols of that shared object, eventually # decorated with the 'weak' keyword # *) the shared object with the F_LOADONLY flag set, to really avoid # it being seen by the linker. # At run time we better use the real file rather than another symlink, # but for link time we create the symlink libNAME.so -> libNAME.so.V case $with_aix_soname,$aix_use_runtimelinking in # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. aix,yes) # traditional libtool dynamic_linker='AIX unversionable lib.so' # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ;; aix,no) # traditional AIX only dynamic_linker='AIX lib.a(lib.so.V)' # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='$libname$release.a $libname.a' soname_spec='$libname$release$shared_ext$major' ;; svr4,*) # full svr4 only dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' # We do not specify a path in Import Files, so LIBPATH fires. shlibpath_overrides_runpath=yes ;; *,yes) # both, prefer svr4 dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' # unpreferred sharedlib libNAME.a needs extra handling postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' # We do not specify a path in Import Files, so LIBPATH fires. shlibpath_overrides_runpath=yes ;; *,no) # both, prefer aix dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" library_names_spec='$libname$release.a $libname.a' soname_spec='$libname$release$shared_ext$major' # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' ;; esac shlibpath_var=LIBPATH fi ;; amigaos*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; beos*) library_names_spec='$libname$shared_ext' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[45]*) version_type=linux # correct to gnu/linux during the next big refactor need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32* | cegcc*) version_type=windows shrext_cmds=.dll need_version=no need_lib_prefix=no case $GCC,$cc_basename in yes,*) # gcc library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \$file`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' ;; esac dynamic_linker='Win32 ld.exe' ;; *,cl*) # Native MSVC libname_spec='$name' soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' library_names_spec='$libname.dll.lib' case $build_os in mingw*) sys_lib_search_path_spec= lt_save_ifs=$IFS IFS=';' for lt_path in $LIB do IFS=$lt_save_ifs # Let DOS variable expansion print the short 8.3 style file name. lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" done IFS=$lt_save_ifs # Convert to MSYS style. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` ;; cygwin*) # Convert to unix form, then to dos form, then back to unix form # but this time dos style (no spaces!) so that the unix form looks # like /cygdrive/c/PROGRA~1:/cygdr... sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` ;; *) sys_lib_search_path_spec=$LIB if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then # It is most probably a Windows format PATH. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # FIXME: find the short name or the path components, as spaces are # common. (e.g. "Program Files" -> "PROGRA~1") ;; esac # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \$file`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes dynamic_linker='Win32 link.exe' ;; *) # Assume MSVC wrapper library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' dynamic_linker='Win32 ld.exe' ;; esac # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' soname_spec='$libname$release$major$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[23].*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2.*) shlibpath_overrides_runpath=yes ;; freebsd3.[01]* | freebsdelf3.[01]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; haiku*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no dynamic_linker="$host_os runtime_loader" library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LIBRARY_PATH shlibpath_overrides_runpath=no sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' if test 32 = "$HPUX_IA64_MODE"; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" sys_lib_dlsearch_path_spec=/usr/lib/hpux32 else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" sys_lib_dlsearch_path_spec=/usr/lib/hpux64 fi ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555, ... postinstall_cmds='chmod 555 $lib' # or fails outright, so override atomically: install_override_mode=555 ;; interix[3-9]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test yes = "$lt_cv_prog_gnu_ld"; then version_type=linux # correct to gnu/linux during the next big refactor else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='$libname$release$shared_ext$major' library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; linux*android*) version_type=none # Android doesn't support versioned libraries. need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext' soname_spec='$libname$release$shared_ext' finish_cmds= shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes dynamic_linker='Android linker' # Don't embed -rpath directories since the linker doesn't support them. hardcode_libdir_flag_spec='-L$libdir' ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # Some binutils ld are patched to set DT_RUNPATH if ${lt_cv_shlibpath_overrides_runpath+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_shlibpath_overrides_runpath=no save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : lt_cv_shlibpath_overrides_runpath=yes fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS libdir=$save_libdir fi shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # Ideally, we could use ldconfig to report *all* directores which are # searched for libraries, however this is still not possible. Aside from not # being certain /sbin/ldconfig is available, command # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, # even though it is searched at run-time. Try to do the best guess by # appending ld.so.conf contents (and includes) to the search path. if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsdelf*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='NetBSD ld.elf_so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; *nto* | *qnx*) version_type=qnx need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd* | bitrig*) version_type=sunos sys_lib_dlsearch_path_spec=/usr/lib need_lib_prefix=no if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then need_version=no else need_version=yes fi library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; os2*) libname_spec='$name' version_type=windows shrext_cmds=.dll need_version=no need_lib_prefix=no # OS/2 can only load a DLL with a base name of 8 characters or less. soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; v=$($ECHO $release$versuffix | tr -d .-); n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); $ECHO $n$v`$shared_ext' library_names_spec='${libname}_dll.$libext' dynamic_linker='OS/2 ld.exe' shlibpath_var=BEGINLIBPATH sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec postinstall_cmds='base_file=`basename \$file`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='$libname$release$shared_ext$major' library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test yes = "$with_gnu_ld"; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec; then version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' soname_spec='$libname$shared_ext.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=sco need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test yes = "$with_gnu_ld"; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 $as_echo "$dynamic_linker" >&6; } test no = "$dynamic_linker" && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test yes = "$GCC"; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec fi if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec fi # remember unaugmented sys_lib_dlsearch_path content for libtool script decls... configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec # ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" # to be used as default LT_SYS_LIBRARY_PATH value in generated libtool configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 $as_echo_n "checking how to hardcode library paths into programs... " >&6; } hardcode_action= if test -n "$hardcode_libdir_flag_spec" || test -n "$runpath_var" || test yes = "$hardcode_automatic"; then # We can hardcode non-existent directories. if test no != "$hardcode_direct" && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" && test no != "$hardcode_minus_L"; then # Linking always hardcodes the temporary library directory. hardcode_action=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action=unsupported fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 $as_echo "$hardcode_action" >&6; } if test relink = "$hardcode_action" || test yes = "$inherit_rpath"; then # Fast installation is not supported enable_fast_install=no elif test yes = "$shlibpath_overrides_runpath" || test no = "$enable_shared"; then # Fast installation is not necessary enable_fast_install=needless fi if test yes != "$enable_dlopen"; then enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown else lt_cv_dlopen=no lt_cv_dlopen_libs= case $host_os in beos*) lt_cv_dlopen=load_add_on lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; mingw* | pw32* | cegcc*) lt_cv_dlopen=LoadLibrary lt_cv_dlopen_libs= ;; cygwin*) lt_cv_dlopen=dlopen lt_cv_dlopen_libs= ;; darwin*) # if libdl is installed we need to link against it { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } if ${ac_cv_lib_dl_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dl_dlopen=yes else ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = xyes; then : lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl else lt_cv_dlopen=dyld lt_cv_dlopen_libs= lt_cv_dlopen_self=yes fi ;; tpf*) # Don't try to run any link tests for TPF. We know it's impossible # because TPF is a cross-compiler, and we know how we open DSOs. lt_cv_dlopen=dlopen lt_cv_dlopen_libs= lt_cv_dlopen_self=no ;; *) ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" if test "x$ac_cv_func_shl_load" = xyes; then : lt_cv_dlopen=shl_load else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 $as_echo_n "checking for shl_load in -ldld... " >&6; } if ${ac_cv_lib_dld_shl_load+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char shl_load (); int main () { return shl_load (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dld_shl_load=yes else ac_cv_lib_dld_shl_load=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 $as_echo "$ac_cv_lib_dld_shl_load" >&6; } if test "x$ac_cv_lib_dld_shl_load" = xyes; then : lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld else ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" if test "x$ac_cv_func_dlopen" = xyes; then : lt_cv_dlopen=dlopen else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } if ${ac_cv_lib_dl_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dl_dlopen=yes else ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = xyes; then : lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 $as_echo_n "checking for dlopen in -lsvld... " >&6; } if ${ac_cv_lib_svld_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsvld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_svld_dlopen=yes else ac_cv_lib_svld_dlopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 $as_echo "$ac_cv_lib_svld_dlopen" >&6; } if test "x$ac_cv_lib_svld_dlopen" = xyes; then : lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 $as_echo_n "checking for dld_link in -ldld... " >&6; } if ${ac_cv_lib_dld_dld_link+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dld_link (); int main () { return dld_link (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dld_dld_link=yes else ac_cv_lib_dld_dld_link=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 $as_echo "$ac_cv_lib_dld_dld_link" >&6; } if test "x$ac_cv_lib_dld_dld_link" = xyes; then : lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld fi fi fi fi fi fi ;; esac if test no = "$lt_cv_dlopen"; then enable_dlopen=no else enable_dlopen=yes fi case $lt_cv_dlopen in dlopen) save_CPPFLAGS=$CPPFLAGS test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" save_LDFLAGS=$LDFLAGS wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS=$LIBS LIBS="$lt_cv_dlopen_libs $LIBS" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 $as_echo_n "checking whether a program can dlopen itself... " >&6; } if ${lt_cv_dlopen_self+:} false; then : $as_echo_n "(cached) " >&6 else if test yes = "$cross_compiling"; then : lt_cv_dlopen_self=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF #line $LINENO "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif /* When -fvisibility=hidden is used, assume the code has been annotated correspondingly for the symbols needed. */ #if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) int fnord () __attribute__((visibility("default"))); #endif int fnord () { return 42; } int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else { if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; else puts (dlerror ()); } /* dlclose (self); */ } else puts (dlerror ()); return status; } _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; esac else : # compilation failed lt_cv_dlopen_self=no fi fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 $as_echo "$lt_cv_dlopen_self" >&6; } if test yes = "$lt_cv_dlopen_self"; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } if ${lt_cv_dlopen_self_static+:} false; then : $as_echo_n "(cached) " >&6 else if test yes = "$cross_compiling"; then : lt_cv_dlopen_self_static=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF #line $LINENO "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif /* When -fvisibility=hidden is used, assume the code has been annotated correspondingly for the symbols needed. */ #if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) int fnord () __attribute__((visibility("default"))); #endif int fnord () { return 42; } int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else { if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; else puts (dlerror ()); } /* dlclose (self); */ } else puts (dlerror ()); return status; } _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; esac else : # compilation failed lt_cv_dlopen_self_static=no fi fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 $as_echo "$lt_cv_dlopen_self_static" >&6; } fi CPPFLAGS=$save_CPPFLAGS LDFLAGS=$save_LDFLAGS LIBS=$save_LIBS ;; esac case $lt_cv_dlopen_self in yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; *) enable_dlopen_self=unknown ;; esac case $lt_cv_dlopen_self_static in yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; *) enable_dlopen_self_static=unknown ;; esac fi striplib= old_striplib= { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 $as_echo_n "checking whether stripping libraries is possible... " >&6; } if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" test -z "$striplib" && striplib="$STRIP --strip-unneeded" { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else # FIXME - insert some real tests, host_os isn't really good enough case $host_os in darwin*) if test -n "$STRIP"; then striplib="$STRIP -x" old_striplib="$STRIP -S" { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi ;; *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } ;; esac fi # Report what library types will actually be built { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 $as_echo_n "checking if libtool supports shared libraries... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 $as_echo "$can_build_shared" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 $as_echo_n "checking whether to build shared libraries... " >&6; } test no = "$can_build_shared" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test yes = "$enable_shared" && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[4-9]*) if test ia64 != "$host_cpu"; then case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in yes,aix,yes) ;; # shared object as lib.so file only yes,svr4,*) ;; # shared object as lib.so archive member only yes,*) enable_static=no ;; # shared object in lib.a archive as well esac fi ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 $as_echo "$enable_shared" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 $as_echo_n "checking whether to build static libraries... " >&6; } # Make sure either enable_shared or enable_static is yes. test yes = "$enable_shared" || enable_static=yes { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 $as_echo "$enable_static" >&6; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC=$lt_save_CC ac_config_commands="$ac_config_commands libtool" # Only expand once: # Extract the first word of "echo", so it can be a program name with args. set dummy echo; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_ECHO+:} false; then : $as_echo_n "(cached) " >&6 else case $ECHO in [\\/]* | ?:[\\/]*) ac_cv_path_ECHO="$ECHO" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_ECHO="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi ECHO=$ac_cv_path_ECHO if test -n "$ECHO"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ECHO" >&5 $as_echo "$ECHO" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if ${ac_cv_c_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } if ${ac_cv_prog_cc_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include struct stat; /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac if test "x$ac_cv_prog_cc_c89" != xno; then : fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 $as_echo_n "checking whether $CC understands -c and -o together... " >&6; } if ${am_cv_prog_cc_c_o+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF # Make sure it works both with $CC and with simple cc. # Following AC_PROG_CC_C_O, we do the test twice because some # compilers refuse to overwrite an existing .o file with -o, # though they will create one. am_cv_prog_cc_c_o=yes for am_i in 1 2; do if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } \ && test -f conftest2.$ac_objext; then : OK else am_cv_prog_cc_c_o=no break fi done rm -f core conftest* unset am_i fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 $as_echo "$am_cv_prog_cc_c_o" >&6; } if test "$am_cv_prog_cc_c_o" != yes; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__CC in this case, # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" CC="$am_aux_dir/compile $CC" fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CC" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if ${am_cv_CC_dependencies_compiler_type+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named 'D' -- because '-MD' means "put the output # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with # Solaris 10 /bin/sh. echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle '-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # After this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : else ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then $as_echo "#define STDC_HEADERS 1" >>confdefs.h fi # The Windows ports (Cygwin and MinGW) are client-only pioneers_is_mingw_port=no; case $host in *-*-cygwin*) pioneers_is_windows_port=yes;; *-*-mingw*) pioneers_is_windows_port=yes; pioneers_is_mingw_port=yes;; *) pioneers_is_windows_port=no;; esac if test $USE_MAINTAINER_MODE = yes; then # Extract the first word of "gob2", so it can be a program name with args. set dummy gob2; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_GOB2+:} false; then : $as_echo_n "(cached) " >&6 else case $GOB2 in [\\/]* | ?:[\\/]*) ac_cv_path_GOB2="$GOB2" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_GOB2="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi GOB2=$ac_cv_path_GOB2 if test -n "$GOB2"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GOB2" >&5 $as_echo "$GOB2" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test ! x$GOB2 = x; then if test ! x2.0.0 = x; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gob-2 >= 2.0.0" >&5 $as_echo_n "checking for gob-2 >= 2.0.0... " >&6; } g_r_ve=`echo 2.0.0|sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'` g_r_ma=`echo 2.0.0|sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'` g_r_mi=`echo 2.0.0|sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\3/'` g_ve=`$GOB2 --version 2>&1|sed 's/Gob version \([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'` g_ma=`$GOB2 --version 2>&1|sed 's/Gob version \([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'` g_mi=`$GOB2 --version 2>&1|sed 's/Gob version \([0-9]*\).\([0-9]*\).\([0-9]*\)/\3/'` if test $g_ve -eq $g_r_ve; then if test $g_ma -ge $g_r_ma; then if test $g_mi -ge $g_r_mi; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 $as_echo "ok" >&6; } else if test $g_ma -gt $g_r_ma; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 $as_echo "ok" >&6; } else as_fn_error $? "\"found $g_ve.$g_ma.$g_mi requires $g_r_ve.$g_r_ma.$g_r_mi\"" "$LINENO" 5 fi fi else as_fn_error $? "\"found $g_ve.$g_ma.$g_mi requires $g_r_ve.$g_r_ma.$g_r_mi\"" "$LINENO" 5 fi else if test $g_ve -gt $g_r_ve; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 $as_echo "ok" >&6; } else as_fn_error $? "major version $g_ve found but $g_r_ve required" "$LINENO" 5 fi fi unset gob_version unset g_ve unset g_ma unset g_mi unset g_r_ve unset g_r_ma unset g_r_mi fi else as_fn_error $? "Cannot find GOB-2, check http://www.5z.com/jirka/gob.html" "$LINENO" 5 fi fi # Try to find a suitable renderer for the svg images whitespace_trick=" " # Extract the first word of "rsvg-convert", so it can be a program name with args. set dummy rsvg-convert; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_svg_renderer_path+:} false; then : $as_echo_n "(cached) " >&6 else case $svg_renderer_path in [\\/]* | ?:[\\/]*) ac_cv_path_svg_renderer_path="$svg_renderer_path" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_svg_renderer_path="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi svg_renderer_path=$ac_cv_path_svg_renderer_path if test -n "$svg_renderer_path"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $svg_renderer_path" >&5 $as_echo "$svg_renderer_path" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test x$svg_renderer_path != x; then svg_renderer_width="--width \$(whitespace_trick)" svg_renderer_height="\$(whitespace_trick) --height \$(whitespace_trick)" svg_renderer_output="\$(whitespace_trick) -o \$(whitespace_trick)" else # Extract the first word of "rsvg", so it can be a program name with args. set dummy rsvg; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_svg_renderer_path+:} false; then : $as_echo_n "(cached) " >&6 else case $svg_renderer_path in [\\/]* | ?:[\\/]*) ac_cv_path_svg_renderer_path="$svg_renderer_path" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_svg_renderer_path="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi svg_renderer_path=$ac_cv_path_svg_renderer_path if test -n "$svg_renderer_path"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $svg_renderer_path" >&5 $as_echo "$svg_renderer_path" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test x$svg_renderer_path != x; then svg_renderer_width="--width \$(whitespace_trick)" svg_renderer_height="\$(whitespace_trick) --height \$(whitespace_trick)" svg_renderer_output="\$(whitespace_trick)" else # Extract the first word of "convert", so it can be a program name with args. set dummy convert; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_svg_renderer_path+:} false; then : $as_echo_n "(cached) " >&6 else case $svg_renderer_path in [\\/]* | ?:[\\/]*) ac_cv_path_svg_renderer_path="$svg_renderer_path" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_svg_renderer_path="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi svg_renderer_path=$ac_cv_path_svg_renderer_path if test -n "$svg_renderer_path"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $svg_renderer_path" >&5 $as_echo "$svg_renderer_path" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test x$svg_renderer_path != x; then svg_renderer_width="-background \"\#000001\" -transparent \"\#000001\" -resize \$(whitespace_trick)" svg_renderer_height="x" svg_renderer_output="\$(whitespace_trick)" else # Add other SVG rendering programs here # Don't let configure fail, in the distributed tarballs is already # a current .png file svg_renderer_path=false fi fi fi # Check whether --enable-warnings was given. if test "${enable_warnings+set}" = set; then : enableval=$enable_warnings; case "${enableval}" in full) pioneers_warnings=full;; yes) pioneers_warnings=yes ;; "") pioneers_warnings=yes ;; *) pioneers_warnings=no ;; esac else pioneers_warnings=$USE_MAINTAINER_MODE fi # Check whether --enable-debug was given. if test "${enable_debug+set}" = set; then : enableval=$enable_debug; case "${enableval}" in yes) pioneers_debug=yes ;; "") pioneers_debug=yes ;; *) pioneers_debug=no ;; esac else pioneers_debug=$USE_MAINTAINER_MODE fi # Check whether --enable-deprecation-checks was given. if test "${enable_deprecation_checks+set}" = set; then : enableval=$enable_deprecation_checks; case "${enableval}" in yes) pioneers_deprecationChecks=yes ;; "") pioneers_deprecationChecks=yes ;; *) pioneers_deprecationChecks=no ;; esac else pioneers_deprecationChecks=$USE_MAINTAINER_MODE fi # Check whether --enable-help was given. if test "${enable_help+set}" = set; then : enableval=$enable_help; case "${enableval}" in yes) enable_help=yes ;; "") enable_help=yes ;; *) enable_help=no ;; esac else enable_help=yes fi # Check whether --enable-hardening was given. if test "${enable_hardening+set}" = set; then : enableval=$enable_hardening; case "${enableval}" in yes) enable_hardening=yes ;; "") enable_hardening=yes ;; *) enable_hardening=no ;; esac else enable_hardening=$USE_MAINTAINER_MODE fi # Check whether --with-gtk was given. if test "${with_gtk+set}" = set; then : withval=$with_gtk; case "${withval}" in yes) with_gtk=yes ;; "") with_gtk=yes ;; *) with_gtk=no ;; esac else with_gtk=yes fi # Check whether --with-avahi was given. if test "${with_avahi+set}" = set; then : withval=$with_avahi; case "${withval}" in yes) with_avahi=yes ;; "") with_avahi=yes ;; *) with_avahi=no ;; esac else with_avahi=yes fi # Check whether --with-notify was given. if test "${with_notify+set}" = set; then : withval=$with_notify; case "${withval}" in yes) with_notify=yes ;; "") with_notify=yes ;; *) with_notify=no ;; esac else with_notify=yes fi if test "x$GCC" = xyes && test $enable_hardening = yes; then if test "$pioneers_is_windows_port" = "no"; then # Flags from Debian hardening (dpkg-buildflags --get CFLAGS) AM_CFLAGS="$AM_CFLAGS -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security" AM_CFLAGS="$AM_CFLAGS -D_FORTIFY_SOURCE=2" AM_CFLAGS="$AM_CFLAGS -pie -fPIE" # Flags from Debian hardening (dpkg-buildflags --get LDFLAGS) AM_LDFLAGS="$AM_LDFLAGS -Wl,-z,relro" AM_LDFLAGS="$AM_LDFLAGS -Wl,-z,now" else enable_hardening="no, disabled for MS Windows" fi fi ## The warnings are in the same order as in 'man gcc' if test "x$GCC" = xyes; then # Only link the directly needed libraries AM_CFLAGS="$AM_CFLAGS -Wl,--as-needed" if test "$pioneers_warnings" = yes -o "$pioneers_warnings" = full; then WARNINGS="-Wall" WARNINGS="$WARNINGS -W" WARNINGS="$WARNINGS -Wpointer-arith" WARNINGS="$WARNINGS -Wwrite-strings" WARNINGS="$WARNINGS -Wsign-compare" WARNINGS="$WARNINGS -Waggregate-return" WARNINGS="$WARNINGS -Wstrict-prototypes" WARNINGS="$WARNINGS -Wmissing-prototypes" WARNINGS="$WARNINGS -Wmissing-declarations" WARNINGS="$WARNINGS -Wredundant-decls" WARNINGS="$WARNINGS -Wnested-externs" WARNINGS="$WARNINGS -O" if test "$pioneers_deprecationChecks" = no; then WARNINGS="$WARNINGS -Wno-deprecated-declarations" fi fi if test "$pioneers_warnings" = full; then flags="-Wfloat-equal" flags="$flags -Wdeclaration-after-statement" flags="$flags -Wundef" flags="$flags -Wendif-labels" flags="$flags -Wshadow" flags="$flags -Wbad-function-cast" flags="$flags -Wconversion" flags="$flags -Wold-style-definition" flags="$flags -Wunreachable-code" flags="$flags -Wcast-qual" flags="$flags -pedantic" # This for loop comes from gnome-compiler-flags.m4 for option in $flags; do SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $option" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gcc understands $option" >&5 $as_echo_n "checking whether gcc understands $option... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : has_option=yes else has_option=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CFLAGS="$SAVE_CFLAGS" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $has_option" >&5 $as_echo "$has_option" >&6; } if test $has_option = yes; then WARNINGS="$WARNINGS $option" fi unset has_option unset SAVE_CFLAGS done unset option unset flags fi fi if test "$pioneers_debug" = yes; then DEBUGGING="-ggdb3" fi if test "$pioneers_deprecationChecks" = yes; then GLIB_DEPRECATION="-DG_DISABLE_DEPRECATED" GLIB_DEPRECATION="$GLIB_DEPRECATION -DG_DISABLE_SINGLE_INCLUDES" GTK_DEPRECATION="-DGDK_DISABLE_DEPRECATED" GTK_DEPRECATION="$GTK_DEPRECATION -DGTK_DISABLE_DEPRECATED" GTK_DEPRECATION="$GTK_DEPRECATION -DGDK_DISABLE_SINGLE_INCLUDES" GTK_DEPRECATION="$GTK_DEPRECATION -DGTK_DISABLE_SINGLE_INCLUDES" GTK_DEPRECATION="$GTK_DEPRECATION -DGSEAL_ENABLE" fi if test "$enable_help" = no; then pioneers_help="no, disabled in configure" else if test "$pioneers_is_windows_port" = "no"; then # The help system is optional, it comes from yelp-tools if test "$enable_help" = no; then pioneers_help="no, yelp-tools is not installed" else pioneers_help="yes" YELP_LC_MEDIA_LINKS=true YELP_LC_DIST=true for yelpopt in ; do case $yelpopt in lc-media-links) YELP_LC_MEDIA_LINKS=true ;; no-lc-media-links) YELP_LC_MEDIA_LINKS= ;; lc-dist) YELP_LC_DIST=true ;; no-lc-dist) YELP_LC_DIST= ;; *) as_fn_error $? "Unrecognized YELP_HELP_INIT option $yelpopt\"" "$LINENO" 5 ;; esac done; # Check whether --with-help-dir was given. if test "${with_help_dir+set}" = set; then : withval=$with_help_dir; else with_help_dir='${datadir}/help' fi HELP_DIR="$with_help_dir" # Extract the first word of "itstool", so it can be a program name with args. set dummy itstool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ITSTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ITSTOOL"; then ac_cv_prog_ITSTOOL="$ITSTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ITSTOOL="itstool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ITSTOOL=$ac_cv_prog_ITSTOOL if test -n "$ITSTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ITSTOOL" >&5 $as_echo "$ITSTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test x"$ITSTOOL" = x; then as_fn_error $? "itstool not found" "$LINENO" 5 fi # Extract the first word of "xmllint", so it can be a program name with args. set dummy xmllint; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_XMLLINT+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$XMLLINT"; then ac_cv_prog_XMLLINT="$XMLLINT" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_XMLLINT="xmllint" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi XMLLINT=$ac_cv_prog_XMLLINT if test -n "$XMLLINT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XMLLINT" >&5 $as_echo "$XMLLINT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test x"$XMLLINT" = x; then as_fn_error $? "xmllint not found" "$LINENO" 5 fi YELP_HELP_RULES=' HELP_ID ?= HELP_POT ?= HELP_FILES ?= HELP_EXTRA ?= HELP_MEDIA ?= HELP_LINGUAS ?= _HELP_LINGUAS = $(if $(filter environment,$(origin LINGUAS)),$(filter $(LINGUAS),$(HELP_LINGUAS)),$(HELP_LINGUAS)) _HELP_POTFILE = $(if $(HELP_POT),$(HELP_POT),$(if $(HELP_ID),$(HELP_ID).pot)) _HELP_POFILES = $(if $(HELP_ID),$(foreach lc,$(_HELP_LINGUAS),$(lc)/$(lc).po)) _HELP_MOFILES = $(patsubst %.po,%.mo,$(_HELP_POFILES)) _HELP_C_FILES = $(foreach f,$(HELP_FILES),C/$(f)) _HELP_C_EXTRA = $(foreach f,$(HELP_EXTRA),C/$(f)) _HELP_C_MEDIA = $(foreach f,$(HELP_MEDIA),C/$(f)) _HELP_LC_FILES = $(foreach lc,$(_HELP_LINGUAS),$(foreach f,$(HELP_FILES),$(lc)/$(f))) _HELP_LC_STAMPS = $(foreach lc,$(_HELP_LINGUAS),$(lc)/$(lc).stamp) _HELP_DEFAULT_V = $(if $(AM_DEFAULT_VERBOSITY),$(AM_DEFAULT_VERBOSITY),1) _HELP_V = $(if $(V),$(V),$(_HELP_DEFAULT_V)) _HELP_LC_VERBOSE = $(_HELP_LC_VERBOSE_$(_HELP_V)) _HELP_LC_VERBOSE_ = $(_HELP_LC_VERBOSE_$(_HELP_DEFAULT_V)) _HELP_LC_VERBOSE_0 = @echo " GEN "$(dir $@); all: $(_HELP_C_FILES) $(_HELP_C_EXTRA) $(_HELP_C_MEDIA) $(_HELP_LC_FILES) $(_HELP_POFILES) .PHONY: pot pot: $(_HELP_POTFILE) $(_HELP_POTFILE): $(_HELP_C_FILES) $(_HELP_C_EXTRA) $(_HELP_C_MEDIA) $(AM_V_GEN)if test -d "C"; then d=; else d="$(srcdir)/"; fi; \ $(ITSTOOL) -o "$@" $(foreach f,$(_HELP_C_FILES),"$${d}$(f)") .PHONY: repo repo: $(_HELP_POTFILE) $(AM_V_at)for po in $(_HELP_POFILES); do \ if test "x$(_HELP_V)" = "x0"; then echo " GEN $${po}"; fi; \ msgmerge -q -o "$${po}" "$${po}" "$(_HELP_POTFILE)"; \ done $(_HELP_POFILES): $(AM_V_at)if ! test -d "$(dir $@)"; then mkdir "$(dir $@)"; fi $(AM_V_at)if test ! -f "$@" -a -f "$(srcdir)/$@"; then cp "$(srcdir)/$@" "$@"; fi $(AM_V_GEN)if ! test -f "$@"; then \ (cd "$(dir $@)" && \ $(ITSTOOL) -o "$(notdir $@).tmp" $(_HELP_C_FILES) && \ mv "$(notdir $@).tmp" "$(notdir $@)"); \ else \ (cd "$(dir $@)" && \ $(ITSTOOL) -o "$(notdir $@).tmp" $(_HELP_C_FILES) && \ msgmerge -o "$(notdir $@)" "$(notdir $@)" "$(notdir $@).tmp" && \ rm "$(notdir $@).tmp"); \ fi $(_HELP_MOFILES): %.mo: %.po $(AM_V_at)if ! test -d "$(dir $@)"; then mkdir "$(dir $@)"; fi $(AM_V_GEN)msgfmt -o "$@" "$<" $(_HELP_LC_FILES): $(_HELP_LINGUAS) $(_HELP_LINGUAS): $(_HELP_LC_STAMPS) $(_HELP_LC_STAMPS): %.stamp: %.mo $(_HELP_LC_STAMPS): $(_HELP_C_FILES) $(_HELP_C_EXTRA) $(AM_V_at)if ! test -d "$(dir $@)"; then mkdir "$(dir $@)"; fi $(_HELP_LC_VERBOSE)if test -d "C"; then d="../"; else d="$(abs_srcdir)/"; fi; \ mo="$(dir $@)$(patsubst %/$(notdir $@),%,$@).mo"; \ if test -f "$${mo}"; then mo="../$${mo}"; else mo="$(abs_srcdir)/$${mo}"; fi; \ (cd "$(dir $@)" && $(ITSTOOL) -m "$${mo}" $(foreach f,$(_HELP_C_FILES),$${d}/$(f))) && \ touch "$@" .PHONY: clean-help mostlyclean-am: $(if $(HELP_ID),clean-help) clean-help: rm -f $(_HELP_LC_FILES) $(_HELP_LC_STAMPS) $(_HELP_MOFILES) EXTRA_DIST ?= EXTRA_DIST += $(_HELP_C_EXTRA) $(_HELP_C_MEDIA) EXTRA_DIST += $(if $(YELP_LC_DIST),$(foreach lc,$(HELP_LINGUAS),$(lc)/$(lc).stamp)) EXTRA_DIST += $(foreach lc,$(HELP_LINGUAS),$(lc)/$(lc).po) EXTRA_DIST += $(foreach f,$(HELP_MEDIA),$(foreach lc,$(HELP_LINGUAS),$(wildcard $(lc)/$(f)))) distdir: distdir-help-files distdir-help-files: $(_HELP_LC_FILES) @for lc in C $(if $(YELP_LC_DIST),$(HELP_LINGUAS)) ; do \ $(MKDIR_P) "$(distdir)/$$lc"; \ for file in $(HELP_FILES); do \ if test -f "$$lc/$$file"; then d=./; else d=$(srcdir)/; fi; \ cp -p "$$d$$lc/$$file" "$(distdir)/$$lc/" || exit 1; \ done; \ done; \ .PHONY: check-help check: check-help check-help: for lc in C $(_HELP_LINGUAS); do \ if test -d "$$lc"; \ then d=; \ xmlpath="$$lc"; \ else \ d="$(srcdir)/"; \ xmlpath="$$lc:$(srcdir)/$$lc"; \ fi; \ for page in $(HELP_FILES); do \ echo "$(XMLLINT) --nonet --noout --noent --path $$xmlpath --xinclude $$d$$lc/$$page"; \ $(XMLLINT) --nonet --noout --noent --path "$$xmlpath" --xinclude "$$d$$lc/$$page"; \ done; \ done .PHONY: install-help install-data-am: $(if $(HELP_ID),install-help) install-help: $(_HELP_LC_FILES) @for lc in C $(_HELP_LINGUAS); do \ $(mkinstalldirs) "$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)" || exit 1; \ done @for lc in C $(_HELP_LINGUAS); do for f in $(HELP_FILES); do \ if test -f "$$lc/$$f"; then d=; else d="$(srcdir)/"; fi; \ helpdir="$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)/"; \ if ! test -d "$$helpdir"; then $(mkinstalldirs) "$$helpdir"; fi; \ echo "$(INSTALL_DATA) $$d$$lc/$$f $$helpdir`basename $$f`"; \ $(INSTALL_DATA) "$$d$$lc/$$f" "$$helpdir`basename $$f`" || exit 1; \ done; done @for f in $(_HELP_C_EXTRA); do \ lc=`dirname "$$f"`; lc=`basename "$$lc"`; \ if test -f "$$f"; then d=; else d="$(srcdir)/"; fi; \ helpdir="$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)/"; \ if ! test -d "$$helpdir"; then $(mkinstalldirs) "$$helpdir"; fi; \ echo "$(INSTALL_DATA) $$d$$f $$helpdir`basename $$f`"; \ $(INSTALL_DATA) "$$d$$f" "$$helpdir`basename $$f`" || exit 1; \ done @for f in $(HELP_MEDIA); do \ for lc in C $(_HELP_LINGUAS); do \ if test -f "$$lc$$f"; then d=; else d="$(srcdir)/"; fi; \ helpdir="$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)/"; \ mdir=`dirname "$$f"`; \ if test "x$mdir" = "x."; then mdir=""; fi; \ if ! test -d "$$helpdir$$mdir"; then $(mkinstalldirs) "$$helpdir$$mdir"; fi; \ if test -f "$$d$$lc/$$f"; then \ echo "$(INSTALL_DATA) $$d$$lc/$$f $$helpdir$$f"; \ $(INSTALL_DATA) "$$d$$lc/$$f" "$$helpdir$$f" || exit 1; \ elif test "x$$lc" != "xC"; then \ if test "x$(YELP_LC_MEDIA_LINKS)" != "x"; then \ echo "$(LN_S) -f $(HELP_DIR)/C/$(HELP_ID)/$$f $$helpdir$$f"; \ dname="$$f"; \ pars="../"; \ while test "$$dname" != "." -a "$$dname" != "/"; do \ pars="../$$pars"; \ dname=$$(dirname "$$dname"); \ done; \ $(LN_S) -f $$pars"C/$(HELP_ID)/$$f" "$$helpdir$$f" || exit 1; \ fi; \ fi; \ done; \ done .PHONY: uninstall-help uninstall-am: $(if $(HELP_ID),uninstall-help) uninstall-help: for lc in C $(_HELP_LINGUAS); do for f in $(HELP_FILES); do \ helpdir="$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)/"; \ echo "rm -f $$helpdir`basename $$f`"; \ rm -f "$$helpdir`basename $$f`"; \ done; done @for f in $(_HELP_C_EXTRA); do \ lc=`dirname "$$f"`; lc=`basename "$$lc"`; \ helpdir="$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)/"; \ echo "rm -f $$helpdir`basename $$f`"; \ rm -f "$$helpdir`basename $$f`"; \ done @for f in $(HELP_MEDIA); do \ for lc in C $(_HELP_LINGUAS); do \ helpdir="$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)/"; \ echo "rm -f $$helpdir$$f"; \ rm -f "$$helpdir$$f"; \ done; \ done; ' fi else pioneers_help="no, disabled for MS Windows" fi fi if test "$pioneers_help" = "yes"; then BUILD_HELP_TRUE= BUILD_HELP_FALSE='#' else BUILD_HELP_TRUE='#' BUILD_HELP_FALSE= fi if test "$pioneers_help" = "yes"; then $as_echo "#define HAVE_HELP 1" >>confdefs.h fi # glib is always needed if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_PKG_CONFIG+:} false; then : $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG if test -n "$PKG_CONFIG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 $as_echo "$PKG_CONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_path_PKG_CONFIG"; then ac_pt_PKG_CONFIG=$PKG_CONFIG # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then : $as_echo_n "(cached) " >&6 else case $ac_pt_PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG if test -n "$ac_pt_PKG_CONFIG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 $as_echo "$ac_pt_PKG_CONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_pt_PKG_CONFIG" = x; then PKG_CONFIG="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac PKG_CONFIG=$ac_pt_PKG_CONFIG fi else PKG_CONFIG="$ac_cv_path_PKG_CONFIG" fi fi if test -n "$PKG_CONFIG"; then _pkg_min_version=0.9.0 { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 $as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } PKG_CONFIG="" fi fi pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GLIB2" >&5 $as_echo_n "checking for GLIB2... " >&6; } if test -n "$GLIB2_CFLAGS"; then pkg_cv_GLIB2_CFLAGS="$GLIB2_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= \$GLIB_REQUIRED_VERSION\""; } >&5 ($PKG_CONFIG --exists --print-errors "glib-2.0 >= $GLIB_REQUIRED_VERSION") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GLIB2_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0 >= $GLIB_REQUIRED_VERSION" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$GLIB2_LIBS"; then pkg_cv_GLIB2_LIBS="$GLIB2_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= \$GLIB_REQUIRED_VERSION\""; } >&5 ($PKG_CONFIG --exists --print-errors "glib-2.0 >= $GLIB_REQUIRED_VERSION") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GLIB2_LIBS=`$PKG_CONFIG --libs "glib-2.0 >= $GLIB_REQUIRED_VERSION" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then GLIB2_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "glib-2.0 >= $GLIB_REQUIRED_VERSION" 2>&1` else GLIB2_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "glib-2.0 >= $GLIB_REQUIRED_VERSION" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GLIB2_PKG_ERRORS" >&5 as_fn_error $? "Package requirements (glib-2.0 >= $GLIB_REQUIRED_VERSION) were not met: $GLIB2_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables GLIB2_CFLAGS and GLIB2_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables GLIB2_CFLAGS and GLIB2_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details" "$LINENO" 5; } else GLIB2_CFLAGS=$pkg_cv_GLIB2_CFLAGS GLIB2_LIBS=$pkg_cv_GLIB2_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GOBJECT2" >&5 $as_echo_n "checking for GOBJECT2... " >&6; } if test -n "$GOBJECT2_CFLAGS"; then pkg_cv_GOBJECT2_CFLAGS="$GOBJECT2_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gobject-2.0 >= \$GLIB_REQUIRED_VERSION\""; } >&5 ($PKG_CONFIG --exists --print-errors "gobject-2.0 >= $GLIB_REQUIRED_VERSION") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GOBJECT2_CFLAGS=`$PKG_CONFIG --cflags "gobject-2.0 >= $GLIB_REQUIRED_VERSION" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$GOBJECT2_LIBS"; then pkg_cv_GOBJECT2_LIBS="$GOBJECT2_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gobject-2.0 >= \$GLIB_REQUIRED_VERSION\""; } >&5 ($PKG_CONFIG --exists --print-errors "gobject-2.0 >= $GLIB_REQUIRED_VERSION") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GOBJECT2_LIBS=`$PKG_CONFIG --libs "gobject-2.0 >= $GLIB_REQUIRED_VERSION" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then GOBJECT2_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gobject-2.0 >= $GLIB_REQUIRED_VERSION" 2>&1` else GOBJECT2_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gobject-2.0 >= $GLIB_REQUIRED_VERSION" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GOBJECT2_PKG_ERRORS" >&5 as_fn_error $? "Package requirements (gobject-2.0 >= $GLIB_REQUIRED_VERSION) were not met: $GOBJECT2_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables GOBJECT2_CFLAGS and GOBJECT2_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables GOBJECT2_CFLAGS and GOBJECT2_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details" "$LINENO" 5; } else GOBJECT2_CFLAGS=$pkg_cv_GOBJECT2_CFLAGS GOBJECT2_LIBS=$pkg_cv_GOBJECT2_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GIO2" >&5 $as_echo_n "checking for GIO2... " >&6; } if test -n "$GIO2_CFLAGS"; then pkg_cv_GIO2_CFLAGS="$GIO2_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gio-2.0 >= \$GIO_REQUIRED_VERSION\""; } >&5 ($PKG_CONFIG --exists --print-errors "gio-2.0 >= $GIO_REQUIRED_VERSION") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GIO2_CFLAGS=`$PKG_CONFIG --cflags "gio-2.0 >= $GIO_REQUIRED_VERSION" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$GIO2_LIBS"; then pkg_cv_GIO2_LIBS="$GIO2_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gio-2.0 >= \$GIO_REQUIRED_VERSION\""; } >&5 ($PKG_CONFIG --exists --print-errors "gio-2.0 >= $GIO_REQUIRED_VERSION") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GIO2_LIBS=`$PKG_CONFIG --libs "gio-2.0 >= $GIO_REQUIRED_VERSION" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then GIO2_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gio-2.0 >= $GIO_REQUIRED_VERSION" 2>&1` else GIO2_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gio-2.0 >= $GIO_REQUIRED_VERSION" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GIO2_PKG_ERRORS" >&5 as_fn_error $? "Package requirements (gio-2.0 >= $GIO_REQUIRED_VERSION) were not met: $GIO2_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables GIO2_CFLAGS and GIO2_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables GIO2_CFLAGS and GIO2_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details" "$LINENO" 5; } else GIO2_CFLAGS=$pkg_cv_GIO2_CFLAGS GIO2_LIBS=$pkg_cv_GIO2_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi # # Check for libnotify # if test $with_notify = no; then have_libnotify="no, disabled in configure" else pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBNOTIFY" >&5 $as_echo_n "checking for LIBNOTIFY... " >&6; } if test -n "$LIBNOTIFY_CFLAGS"; then pkg_cv_LIBNOTIFY_CFLAGS="$LIBNOTIFY_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libnotify >= \$LIBNOTIFY_REQUIRED_VERSION\""; } >&5 ($PKG_CONFIG --exists --print-errors "libnotify >= $LIBNOTIFY_REQUIRED_VERSION") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LIBNOTIFY_CFLAGS=`$PKG_CONFIG --cflags "libnotify >= $LIBNOTIFY_REQUIRED_VERSION" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$LIBNOTIFY_LIBS"; then pkg_cv_LIBNOTIFY_LIBS="$LIBNOTIFY_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libnotify >= \$LIBNOTIFY_REQUIRED_VERSION\""; } >&5 ($PKG_CONFIG --exists --print-errors "libnotify >= $LIBNOTIFY_REQUIRED_VERSION") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LIBNOTIFY_LIBS=`$PKG_CONFIG --libs "libnotify >= $LIBNOTIFY_REQUIRED_VERSION" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then LIBNOTIFY_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libnotify >= $LIBNOTIFY_REQUIRED_VERSION" 2>&1` else LIBNOTIFY_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libnotify >= $LIBNOTIFY_REQUIRED_VERSION" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$LIBNOTIFY_PKG_ERRORS" >&5 have_libnotify="no, libnotify not installed or too old" elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } have_libnotify="no, libnotify not installed or too old" else LIBNOTIFY_CFLAGS=$pkg_cv_LIBNOTIFY_CFLAGS LIBNOTIFY_LIBS=$pkg_cv_LIBNOTIFY_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } have_libnotify=yes fi if test "$have_libnotify" = "yes"; then $as_echo "#define HAVE_NOTIFY 1" >>confdefs.h fi fi # GTK+ support # if test $with_gtk = no; then have_gtk="no, disabled in configure" else pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GTK" >&5 $as_echo_n "checking for GTK... " >&6; } if test -n "$GTK_CFLAGS"; then pkg_cv_GTK_CFLAGS="$GTK_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-3.0 >= \$GTK_REQUIRED_VERSION\""; } >&5 ($PKG_CONFIG --exists --print-errors "gtk+-3.0 >= $GTK_REQUIRED_VERSION") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GTK_CFLAGS=`$PKG_CONFIG --cflags "gtk+-3.0 >= $GTK_REQUIRED_VERSION" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$GTK_LIBS"; then pkg_cv_GTK_LIBS="$GTK_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-3.0 >= \$GTK_REQUIRED_VERSION\""; } >&5 ($PKG_CONFIG --exists --print-errors "gtk+-3.0 >= $GTK_REQUIRED_VERSION") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GTK_LIBS=`$PKG_CONFIG --libs "gtk+-3.0 >= $GTK_REQUIRED_VERSION" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then GTK_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gtk+-3.0 >= $GTK_REQUIRED_VERSION" 2>&1` else GTK_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gtk+-3.0 >= $GTK_REQUIRED_VERSION" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GTK_PKG_ERRORS" >&5 if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-3.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "gtk+-3.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then have_gtk="no, GTK+ version too old" else have_gtk="no, GTK+ not installed" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_gtk" >&5 $as_echo "$have_gtk" >&6; } elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-3.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "gtk+-3.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then have_gtk="no, GTK+ version too old" else have_gtk="no, GTK+ not installed" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_gtk" >&5 $as_echo "$have_gtk" >&6; } else GTK_CFLAGS=$pkg_cv_GTK_CFLAGS GTK_LIBS=$pkg_cv_GTK_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } have_gtk=yes fi fi if test "$have_gtk" = "yes"; then pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GTK_OPTIMAL_VERSION" >&5 $as_echo_n "checking for GTK_OPTIMAL_VERSION... " >&6; } if test -n "$GTK_OPTIMAL_VERSION_CFLAGS"; then pkg_cv_GTK_OPTIMAL_VERSION_CFLAGS="$GTK_OPTIMAL_VERSION_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-3.0 >= \$GTK_OPTIMAL_VERSION\""; } >&5 ($PKG_CONFIG --exists --print-errors "gtk+-3.0 >= $GTK_OPTIMAL_VERSION") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GTK_OPTIMAL_VERSION_CFLAGS=`$PKG_CONFIG --cflags "gtk+-3.0 >= $GTK_OPTIMAL_VERSION" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$GTK_OPTIMAL_VERSION_LIBS"; then pkg_cv_GTK_OPTIMAL_VERSION_LIBS="$GTK_OPTIMAL_VERSION_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-3.0 >= \$GTK_OPTIMAL_VERSION\""; } >&5 ($PKG_CONFIG --exists --print-errors "gtk+-3.0 >= $GTK_OPTIMAL_VERSION") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GTK_OPTIMAL_VERSION_LIBS=`$PKG_CONFIG --libs "gtk+-3.0 >= $GTK_OPTIMAL_VERSION" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then GTK_OPTIMAL_VERSION_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gtk+-3.0 >= $GTK_OPTIMAL_VERSION" 2>&1` else GTK_OPTIMAL_VERSION_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gtk+-3.0 >= $GTK_OPTIMAL_VERSION" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GTK_OPTIMAL_VERSION_PKG_ERRORS" >&5 $as_echo "#define HAVE_OLD_GTK 1" >>confdefs.h elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } $as_echo "#define HAVE_OLD_GTK 1" >>confdefs.h else GTK_OPTIMAL_VERSION_CFLAGS=$pkg_cv_GTK_OPTIMAL_VERSION_CFLAGS GTK_OPTIMAL_VERSION_LIBS=$pkg_cv_GTK_OPTIMAL_VERSION_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi fi have_graphical=$have_gtk; if test "$have_graphical" = "yes"; then HAVE_GTK_TRUE= HAVE_GTK_FALSE='#' else HAVE_GTK_TRUE='#' HAVE_GTK_FALSE= fi # Avahi support if test $with_avahi = no; then have_avahi="no, disabled in configure" else pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for AVAHI_CLIENT" >&5 $as_echo_n "checking for AVAHI_CLIENT... " >&6; } if test -n "$AVAHI_CLIENT_CFLAGS"; then pkg_cv_AVAHI_CLIENT_CFLAGS="$AVAHI_CLIENT_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"avahi-client\""; } >&5 ($PKG_CONFIG --exists --print-errors "avahi-client") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_AVAHI_CLIENT_CFLAGS=`$PKG_CONFIG --cflags "avahi-client" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$AVAHI_CLIENT_LIBS"; then pkg_cv_AVAHI_CLIENT_LIBS="$AVAHI_CLIENT_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"avahi-client\""; } >&5 ($PKG_CONFIG --exists --print-errors "avahi-client") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_AVAHI_CLIENT_LIBS=`$PKG_CONFIG --libs "avahi-client" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then AVAHI_CLIENT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "avahi-client" 2>&1` else AVAHI_CLIENT_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "avahi-client" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$AVAHI_CLIENT_PKG_ERRORS" >&5 have_avahi="no, avahi-client is missing" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_avahi" >&5 $as_echo "$have_avahi" >&6; } elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } have_avahi="no, avahi-client is missing" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_avahi" >&5 $as_echo "$have_avahi" >&6; } else AVAHI_CLIENT_CFLAGS=$pkg_cv_AVAHI_CLIENT_CFLAGS AVAHI_CLIENT_LIBS=$pkg_cv_AVAHI_CLIENT_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for AVAHI_GLIB" >&5 $as_echo_n "checking for AVAHI_GLIB... " >&6; } if test -n "$AVAHI_GLIB_CFLAGS"; then pkg_cv_AVAHI_GLIB_CFLAGS="$AVAHI_GLIB_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"avahi-glib\""; } >&5 ($PKG_CONFIG --exists --print-errors "avahi-glib") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_AVAHI_GLIB_CFLAGS=`$PKG_CONFIG --cflags "avahi-glib" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$AVAHI_GLIB_LIBS"; then pkg_cv_AVAHI_GLIB_LIBS="$AVAHI_GLIB_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"avahi-glib\""; } >&5 ($PKG_CONFIG --exists --print-errors "avahi-glib") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_AVAHI_GLIB_LIBS=`$PKG_CONFIG --libs "avahi-glib" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then AVAHI_GLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "avahi-glib" 2>&1` else AVAHI_GLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "avahi-glib" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$AVAHI_GLIB_PKG_ERRORS" >&5 have_avahi="no, avahi-glib is missing" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_avahi" >&5 $as_echo "$have_avahi" >&6; } elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } have_avahi="no, avahi-glib is missing" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_avahi" >&5 $as_echo "$have_avahi" >&6; } else AVAHI_GLIB_CFLAGS=$pkg_cv_AVAHI_GLIB_CFLAGS AVAHI_GLIB_LIBS=$pkg_cv_AVAHI_GLIB_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } have_avahi="yes" $as_echo "#define HAVE_AVAHI 1" >>confdefs.h $as_echo "#define AVAHI_ANNOUNCE_NAME \"_pioneers._tcp\"" >>confdefs.h fi fi fi # Check whether --enable-admin-gtk was given. if test "${enable_admin_gtk+set}" = set; then : enableval=$enable_admin_gtk; case "${enableval}" in yes) admin_gtk_support=yes ;; "") admin_gtk_support=yes ;; *) admin_gtk_support=no ;; esac else admin_gtk_support=no fi if test x$admin_gtk_support = xyes; then ADMIN_GTK_SUPPORT_TRUE= ADMIN_GTK_SUPPORT_FALSE='#' else ADMIN_GTK_SUPPORT_TRUE='#' ADMIN_GTK_SUPPORT_FALSE= fi # Check whether --enable-protocol was given. if test "${enable_protocol+set}" = set; then : enableval=$enable_protocol; case "${enableval}" in IPv4) avahi_network_protocol=AVAHI_PROTO_INET;; *) avahi_network_protocol=AVAHI_PROTO_UNSPEC;; esac else avahi_network_protocol=AVAHI_PROTO_UNSPEC fi cat >>confdefs.h <<_ACEOF #define AVAHI_NETWORK_PROTOCOL $avahi_network_protocol _ACEOF for ac_header in fcntl.h do : ac_fn_c_check_header_mongrel "$LINENO" "fcntl.h" "ac_cv_header_fcntl_h" "$ac_includes_default" if test "x$ac_cv_header_fcntl_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_FCNTL_H 1 _ACEOF fi done for ac_header in syslog.h do : ac_fn_c_check_header_mongrel "$LINENO" "syslog.h" "ac_cv_header_syslog_h" "$ac_includes_default" if test "x$ac_cv_header_syslog_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SYSLOG_H 1 _ACEOF pioneers_have_syslog=yes; else pioneers_have_syslog=no; fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5 $as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; } if ${ac_cv_header_time+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include int main () { if ((struct tm *) 0) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_time=yes else ac_cv_header_time=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_time" >&5 $as_echo "$ac_cv_header_time" >&6; } if test $ac_cv_header_time = yes; then $as_echo "#define TIME_WITH_SYS_TIME 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 $as_echo_n "checking for an ANSI C-conforming const... " >&6; } if ${ac_cv_c_const+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __cplusplus /* Ultrix mips cc rejects this sort of thing. */ typedef int charset[2]; const charset cs = { 0, 0 }; /* SunOS 4.1.1 cc rejects this. */ char const *const *pcpcc; char **ppc; /* NEC SVR4.0.2 mips cc rejects this. */ struct point {int x, y;}; static struct point const zero = {0,0}; /* AIX XL C 1.02.0.0 rejects this. It does not let you subtract one const X* pointer from another in an arm of an if-expression whose if-part is not a constant expression */ const char *g = "string"; pcpcc = &g + (g ? g-g : 0); /* HPUX 7.0 cc rejects these. */ ++pcpcc; ppc = (char**) pcpcc; pcpcc = (char const *const *) ppc; { /* SCO 3.2v4 cc rejects this sort of thing. */ char tx; char *t = &tx; char const *s = 0 ? (char *) 0 : (char const *) 0; *t++ = 0; if (s) return 0; } { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ int x[] = {25, 17}; const int *foo = &x[0]; ++foo; } { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ typedef const int *iptr; iptr p = 0; ++p; } { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ struct s { int j; const int *ap[3]; } bx; struct s *b = &bx; b->j = 5; } { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ const int foo = 10; if (!foo) return 0; } return !cs[0] && !zero.x; #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_const=yes else ac_cv_c_const=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 $as_echo "$ac_cv_c_const" >&6; } if test $ac_cv_c_const = no; then $as_echo "#define const /**/" >>confdefs.h fi # Functions ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default" if test "x$ac_cv_type_pid_t" = xyes; then : else cat >>confdefs.h <<_ACEOF #define pid_t int _ACEOF fi for ac_header in vfork.h do : ac_fn_c_check_header_mongrel "$LINENO" "vfork.h" "ac_cv_header_vfork_h" "$ac_includes_default" if test "x$ac_cv_header_vfork_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_VFORK_H 1 _ACEOF fi done for ac_func in fork vfork do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done if test "x$ac_cv_func_fork" = xyes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working fork" >&5 $as_echo_n "checking for working fork... " >&6; } if ${ac_cv_func_fork_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : ac_cv_func_fork_works=cross else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int main () { /* By Ruediger Kuhlmann. */ return fork () < 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_fork_works=yes else ac_cv_func_fork_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_fork_works" >&5 $as_echo "$ac_cv_func_fork_works" >&6; } else ac_cv_func_fork_works=$ac_cv_func_fork fi if test "x$ac_cv_func_fork_works" = xcross; then case $host in *-*-amigaos* | *-*-msdosdjgpp*) # Override, as these systems have only a dummy fork() stub ac_cv_func_fork_works=no ;; *) ac_cv_func_fork_works=yes ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&5 $as_echo "$as_me: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&2;} fi ac_cv_func_vfork_works=$ac_cv_func_vfork if test "x$ac_cv_func_vfork" = xyes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working vfork" >&5 $as_echo_n "checking for working vfork... " >&6; } if ${ac_cv_func_vfork_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : ac_cv_func_vfork_works=cross else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Thanks to Paul Eggert for this test. */ $ac_includes_default #include #ifdef HAVE_VFORK_H # include #endif /* On some sparc systems, changes by the child to local and incoming argument registers are propagated back to the parent. The compiler is told about this with #include , but some compilers (e.g. gcc -O) don't grok . Test for this by using a static variable whose address is put into a register that is clobbered by the vfork. */ static void #ifdef __cplusplus sparc_address_test (int arg) # else sparc_address_test (arg) int arg; #endif { static pid_t child; if (!child) { child = vfork (); if (child < 0) { perror ("vfork"); _exit(2); } if (!child) { arg = getpid(); write(-1, "", 0); _exit (arg); } } } int main () { pid_t parent = getpid (); pid_t child; sparc_address_test (0); child = vfork (); if (child == 0) { /* Here is another test for sparc vfork register problems. This test uses lots of local variables, at least as many local variables as main has allocated so far including compiler temporaries. 4 locals are enough for gcc 1.40.3 on a Solaris 4.1.3 sparc, but we use 8 to be safe. A buggy compiler should reuse the register of parent for one of the local variables, since it will think that parent can't possibly be used any more in this routine. Assigning to the local variable will thus munge parent in the parent process. */ pid_t p = getpid(), p1 = getpid(), p2 = getpid(), p3 = getpid(), p4 = getpid(), p5 = getpid(), p6 = getpid(), p7 = getpid(); /* Convince the compiler that p..p7 are live; otherwise, it might use the same hardware register for all 8 local variables. */ if (p != p1 || p != p2 || p != p3 || p != p4 || p != p5 || p != p6 || p != p7) _exit(1); /* On some systems (e.g. IRIX 3.3), vfork doesn't separate parent from child file descriptors. If the child closes a descriptor before it execs or exits, this munges the parent's descriptor as well. Test for this by closing stdout in the child. */ _exit(close(fileno(stdout)) != 0); } else { int status; struct stat st; while (wait(&status) != child) ; return ( /* Was there some problem with vforking? */ child < 0 /* Did the child fail? (This shouldn't happen.) */ || status /* Did the vfork/compiler bug occur? */ || parent != getpid() /* Did the file descriptor bug occur? */ || fstat(fileno(stdout), &st) != 0 ); } } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_vfork_works=yes else ac_cv_func_vfork_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_vfork_works" >&5 $as_echo "$ac_cv_func_vfork_works" >&6; } fi; if test "x$ac_cv_func_fork_works" = xcross; then ac_cv_func_vfork_works=$ac_cv_func_vfork { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&5 $as_echo "$as_me: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&2;} fi if test "x$ac_cv_func_vfork_works" = xyes; then $as_echo "#define HAVE_WORKING_VFORK 1" >>confdefs.h else $as_echo "#define vfork fork" >>confdefs.h fi if test "x$ac_cv_func_fork_works" = xyes; then $as_echo "#define HAVE_WORKING_FORK 1" >>confdefs.h fi # Mathematics ac_fn_c_check_func "$LINENO" "rint" "ac_cv_func_rint" if test "x$ac_cv_func_rint" = xyes; then : $as_echo "#define HAVE_RINT 1" >>confdefs.h else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for rint in -lm" >&5 $as_echo_n "checking for rint in -lm... " >&6; } if ${ac_cv_lib_m_rint+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lm $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char rint (); int main () { return rint (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_m_rint=yes else ac_cv_lib_m_rint=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_rint" >&5 $as_echo "$ac_cv_lib_m_rint" >&6; } if test "x$ac_cv_lib_m_rint" = xyes; then : $as_echo "#define HAVE_RINT 1" >>confdefs.h LIBS="$LIBS -lm" fi fi for ac_func in sqrt do : ac_fn_c_check_func "$LINENO" "sqrt" "ac_cv_func_sqrt" if test "x$ac_cv_func_sqrt" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SQRT 1 _ACEOF fi done # String functions for ac_func in strchr strspn strstr strcspn do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done for ac_func in memmove memset do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done # Functions needed to support NLS for ac_func in setlocale do : ac_fn_c_check_func "$LINENO" "setlocale" "ac_cv_func_setlocale" if test "x$ac_cv_func_setlocale" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SETLOCALE 1 _ACEOF fi done # Data types { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 $as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } if ${ac_cv_struct_tm+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { struct tm tm; int *p = &tm.tm_sec; return !p; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_struct_tm=time.h else ac_cv_struct_tm=sys/time.h fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_tm" >&5 $as_echo "$ac_cv_struct_tm" >&6; } if test $ac_cv_struct_tm = sys/time.h; then $as_echo "#define TM_IN_SYS_TIME 1" >>confdefs.h fi ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default" if test "x$ac_cv_type_pid_t" = xyes; then : else cat >>confdefs.h <<_ACEOF #define pid_t int _ACEOF fi ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" if test "x$ac_cv_type_size_t" = xyes; then : else cat >>confdefs.h <<_ACEOF #define size_t unsigned int _ACEOF fi # Defines, accessible for all source files cat >>confdefs.h <<_ACEOF #define META_PROTOCOL_VERSION "$META_PROTOCOL_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PIONEERS_DEFAULT_GAME_PORT "$PIONEERS_DEFAULT_GAME_PORT" _ACEOF cat >>confdefs.h <<_ACEOF #define PIONEERS_DEFAULT_GAME_HOST "$PIONEERS_DEFAULT_GAME_HOST" _ACEOF cat >>confdefs.h <<_ACEOF #define PIONEERS_DEFAULT_ADMIN_PORT "$PIONEERS_DEFAULT_ADMIN_PORT" _ACEOF cat >>confdefs.h <<_ACEOF #define PIONEERS_DEFAULT_META_PORT "$PIONEERS_DEFAULT_META_PORT" _ACEOF cat >>confdefs.h <<_ACEOF #define PIONEERS_DEFAULT_METASERVER "$PIONEERS_DEFAULT_METASERVER" _ACEOF ## internationalization support { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5 $as_echo_n "checking whether NLS is requested... " >&6; } # Check whether --enable-nls was given. if test "${enable_nls+set}" = set; then : enableval=$enable_nls; USE_NLS=$enableval else USE_NLS=yes fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 $as_echo "$USE_NLS" >&6; } case "$am__api_version" in 1.01234) as_fn_error $? "Automake 1.5 or newer is required to use intltool" "$LINENO" 5 ;; *) ;; esac INTLTOOL_REQUIRED_VERSION_AS_INT=`echo 0.35 | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` INTLTOOL_APPLIED_VERSION=`intltool-update --version | head -1 | cut -d" " -f3` INTLTOOL_APPLIED_VERSION_AS_INT=`echo $INTLTOOL_APPLIED_VERSION | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` if test -n "0.35"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for intltool >= 0.35" >&5 $as_echo_n "checking for intltool >= 0.35... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_APPLIED_VERSION found" >&5 $as_echo "$INTLTOOL_APPLIED_VERSION found" >&6; } test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT" || as_fn_error $? "Your intltool is too old. You need intltool 0.35 or later." "$LINENO" 5 fi # Extract the first word of "intltool-update", so it can be a program name with args. set dummy intltool-update; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_INTLTOOL_UPDATE+:} false; then : $as_echo_n "(cached) " >&6 else case $INTLTOOL_UPDATE in [\\/]* | ?:[\\/]*) ac_cv_path_INTLTOOL_UPDATE="$INTLTOOL_UPDATE" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_INTLTOOL_UPDATE="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi INTLTOOL_UPDATE=$ac_cv_path_INTLTOOL_UPDATE if test -n "$INTLTOOL_UPDATE"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_UPDATE" >&5 $as_echo "$INTLTOOL_UPDATE" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "intltool-merge", so it can be a program name with args. set dummy intltool-merge; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_INTLTOOL_MERGE+:} false; then : $as_echo_n "(cached) " >&6 else case $INTLTOOL_MERGE in [\\/]* | ?:[\\/]*) ac_cv_path_INTLTOOL_MERGE="$INTLTOOL_MERGE" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_INTLTOOL_MERGE="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi INTLTOOL_MERGE=$ac_cv_path_INTLTOOL_MERGE if test -n "$INTLTOOL_MERGE"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_MERGE" >&5 $as_echo "$INTLTOOL_MERGE" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "intltool-extract", so it can be a program name with args. set dummy intltool-extract; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_INTLTOOL_EXTRACT+:} false; then : $as_echo_n "(cached) " >&6 else case $INTLTOOL_EXTRACT in [\\/]* | ?:[\\/]*) ac_cv_path_INTLTOOL_EXTRACT="$INTLTOOL_EXTRACT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_INTLTOOL_EXTRACT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi INTLTOOL_EXTRACT=$ac_cv_path_INTLTOOL_EXTRACT if test -n "$INTLTOOL_EXTRACT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_EXTRACT" >&5 $as_echo "$INTLTOOL_EXTRACT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test -z "$INTLTOOL_UPDATE" -o -z "$INTLTOOL_MERGE" -o -z "$INTLTOOL_EXTRACT"; then as_fn_error $? "The intltool scripts were not found. Please install intltool." "$LINENO" 5 fi if test -z "$AM_DEFAULT_VERBOSITY"; then AM_DEFAULT_VERBOSITY=1 fi INTLTOOL_V_MERGE='$(INTLTOOL__v_MERGE_$(V))' INTLTOOL__v_MERGE_='$(INTLTOOL__v_MERGE_$(AM_DEFAULT_VERBOSITY))' INTLTOOL__v_MERGE_0='@echo " ITMRG " $@;' INTLTOOL_V_MERGE_OPTIONS='$(intltool__v_merge_options_$(V))' intltool__v_merge_options_='$(intltool__v_merge_options_$(AM_DEFAULT_VERBOSITY))' intltool__v_merge_options_0='-q' INTLTOOL_DESKTOP_RULE='%.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_DIRECTORY_RULE='%.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_KEYS_RULE='%.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_PROP_RULE='%.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_OAF_RULE='%.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -o -p $(top_srcdir)/po $< $@' INTLTOOL_PONG_RULE='%.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_SERVER_RULE='%.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_SHEET_RULE='%.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_SOUNDLIST_RULE='%.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_UI_RULE='%.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_XML_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' if test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge 5000; then INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u --no-translations $< $@' else INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; $(INTLTOOL_V_MERGE)_it_tmp_dir=tmp.intltool.$$RANDOM && mkdir $$_it_tmp_dir && LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u $$_it_tmp_dir $< $@ && rmdir $$_it_tmp_dir' fi INTLTOOL_XAM_RULE='%.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_KBD_RULE='%.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_CAVES_RULE='%.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_SCHEMAS_RULE='%.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_THEME_RULE='%.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_SERVICE_RULE='%.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_POLICY_RULE='%.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' # Check the gettext tools to make sure they are GNU # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_XGETTEXT+:} false; then : $as_echo_n "(cached) " >&6 else case $XGETTEXT in [\\/]* | ?:[\\/]*) ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_XGETTEXT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi XGETTEXT=$ac_cv_path_XGETTEXT if test -n "$XGETTEXT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5 $as_echo "$XGETTEXT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "msgmerge", so it can be a program name with args. set dummy msgmerge; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_MSGMERGE+:} false; then : $as_echo_n "(cached) " >&6 else case $MSGMERGE in [\\/]* | ?:[\\/]*) ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_MSGMERGE="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi MSGMERGE=$ac_cv_path_MSGMERGE if test -n "$MSGMERGE"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5 $as_echo "$MSGMERGE" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_MSGFMT+:} false; then : $as_echo_n "(cached) " >&6 else case $MSGFMT in [\\/]* | ?:[\\/]*) ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_MSGFMT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi MSGFMT=$ac_cv_path_MSGFMT if test -n "$MSGFMT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5 $as_echo "$MSGFMT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_GMSGFMT+:} false; then : $as_echo_n "(cached) " >&6 else case $GMSGFMT in [\\/]* | ?:[\\/]*) ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" ;; esac fi GMSGFMT=$ac_cv_path_GMSGFMT if test -n "$GMSGFMT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5 $as_echo "$GMSGFMT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test -z "$XGETTEXT" -o -z "$MSGMERGE" -o -z "$MSGFMT"; then as_fn_error $? "GNU gettext tools not found; required for intltool" "$LINENO" 5 fi xgversion="`$XGETTEXT --version|grep '(GNU ' 2> /dev/null`" mmversion="`$MSGMERGE --version|grep '(GNU ' 2> /dev/null`" mfversion="`$MSGFMT --version|grep '(GNU ' 2> /dev/null`" if test -z "$xgversion" -o -z "$mmversion" -o -z "$mfversion"; then as_fn_error $? "GNU gettext tools not found; required for intltool" "$LINENO" 5 fi # Extract the first word of "perl", so it can be a program name with args. set dummy perl; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_INTLTOOL_PERL+:} false; then : $as_echo_n "(cached) " >&6 else case $INTLTOOL_PERL in [\\/]* | ?:[\\/]*) ac_cv_path_INTLTOOL_PERL="$INTLTOOL_PERL" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_INTLTOOL_PERL="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi INTLTOOL_PERL=$ac_cv_path_INTLTOOL_PERL if test -n "$INTLTOOL_PERL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_PERL" >&5 $as_echo "$INTLTOOL_PERL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test -z "$INTLTOOL_PERL"; then as_fn_error $? "perl not found" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for perl >= 5.8.1" >&5 $as_echo_n "checking for perl >= 5.8.1... " >&6; } $INTLTOOL_PERL -e "use 5.8.1;" > /dev/null 2>&1 if test $? -ne 0; then as_fn_error $? "perl 5.8.1 is required for intltool" "$LINENO" 5 else IT_PERL_VERSION=`$INTLTOOL_PERL -e "printf '%vd', $^V"` { $as_echo "$as_me:${as_lineno-$LINENO}: result: $IT_PERL_VERSION" >&5 $as_echo "$IT_PERL_VERSION" >&6; } fi if test "x" != "xno-xml"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XML::Parser" >&5 $as_echo_n "checking for XML::Parser... " >&6; } if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 $as_echo "ok" >&6; } else as_fn_error $? "XML::Parser perl module is required for intltool" "$LINENO" 5 fi fi # Substitute ALL_LINGUAS so we can use it in po/Makefile { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5 $as_echo_n "checking whether NLS is requested... " >&6; } # Check whether --enable-nls was given. if test "${enable_nls+set}" = set; then : enableval=$enable_nls; USE_NLS=$enableval else USE_NLS=yes fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 $as_echo "$USE_NLS" >&6; } if test $USE_NLS = yes; then $as_echo "#define ENABLE_NLS 1" >>confdefs.h fi GETTEXT_PACKAGE=pioneers cat >>confdefs.h <<_ACEOF #define GETTEXT_PACKAGE "$GETTEXT_PACKAGE" _ACEOF if test $pioneers_is_mingw_port = yes; then # No console window for the graphical applications GTK_LIBS="$GTK_LIBS -mwindows" # Don't use bin, lib and share subdirectories datadir='${prefix}' bindir='${prefix}' libdir='${prefix}' pioneers_datadir=. pioneers_iconthemedir=$datadir/share/icons/hicolor pioneers_themedir=$datadir/themes pioneers_themedir_embed=themes pioneers_localedir=locale DATADIRNAME=. else pioneers_datadir=$datadir pioneers_iconthemedir=$datadir/icons/hicolor pioneers_themedir=$datadir/games/pioneers/themes pioneers_themedir_embed=$pioneers_themedir pioneers_localedir=$datadir/locale fi # All checks are completed. # Determine which executables cannot be built pioneers_build_client_ai=yes; pioneers_build_client_gtk=yes; pioneers_build_editor=yes; pioneers_build_server_console=yes; pioneers_build_server_gtk=yes; pioneers_build_metaserver=yes; if test "$pioneers_have_syslog" = "no"; then pioneers_build_metaserver=no; fi if test "$have_graphical" != "yes"; then pioneers_build_client_gtk=$have_graphical; pioneers_build_editor=$have_graphical; pioneers_build_server_gtk=$have_graphical; fi # The metaserver functionality is not ported to MS Windows if test "$pioneers_is_windows_port" = "yes"; then pioneers_build_metaserver="no, not implemented for MS Windows"; fi if test $pioneers_is_windows_port = yes; then USE_WINDOWS_ICON_TRUE= USE_WINDOWS_ICON_FALSE='#' else USE_WINDOWS_ICON_TRUE='#' USE_WINDOWS_ICON_FALSE= fi if test "$pioneers_build_client_gtk" = "yes" -o "$pioneers_build_client_ai" = yes; then BUILD_CLIENT_TRUE= BUILD_CLIENT_FALSE='#' else BUILD_CLIENT_TRUE='#' BUILD_CLIENT_FALSE= fi if test "$pioneers_build_editor" = "yes"; then BUILD_EDITOR_TRUE= BUILD_EDITOR_FALSE='#' else BUILD_EDITOR_TRUE='#' BUILD_EDITOR_FALSE= fi if test "$pioneers_build_server_gtk" = "yes" -o "$pioneers_build_server_console" = "yes"; then BUILD_SERVER_TRUE= BUILD_SERVER_FALSE='#' else BUILD_SERVER_TRUE='#' BUILD_SERVER_FALSE= fi if test "$pioneers_build_metaserver" = "yes"; then BUILD_METASERVER_TRUE= BUILD_METASERVER_FALSE='#' else BUILD_METASERVER_TRUE='#' BUILD_METASERVER_FALSE= fi if test "$pioneers_is_mingw_port" = "yes"; then IS_MINGW_PORT_TRUE= IS_MINGW_PORT_FALSE='#' else IS_MINGW_PORT_TRUE='#' IS_MINGW_PORT_FALSE= fi ac_config_files="$ac_config_files Makefile" ac_config_files="$ac_config_files pioneers.spec" ac_config_files="$ac_config_files Doxyfile" ac_config_files="$ac_config_files MinGW/pioneers.nsi" ac_config_files="$ac_config_files po/Makefile.in" ac_config_files="$ac_config_files client/help/Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else case $cache_file in #( */* | ?:*) mv -f confcache "$cache_file"$$ && mv -f "$cache_file"$$ "$cache_file" ;; #( *) mv -f confcache "$cache_file" ;; esac fi fi else { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs { $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 $as_echo_n "checking that generated files are newer than configure... " >&6; } if test -n "$am_sleep_pid"; then # Hide warnings about reused PIDs. wait $am_sleep_pid 2>/dev/null fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 $as_echo "done" >&6; } if test -n "$EXEEXT"; then am__EXEEXT_TRUE= am__EXEEXT_FALSE='#' else am__EXEEXT_TRUE='#' am__EXEEXT_FALSE= fi if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then as_fn_error $? "conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_HELP_TRUE}" && test -z "${BUILD_HELP_FALSE}"; then as_fn_error $? "conditional \"BUILD_HELP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${HAVE_GTK_TRUE}" && test -z "${HAVE_GTK_FALSE}"; then as_fn_error $? "conditional \"HAVE_GTK\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${ADMIN_GTK_SUPPORT_TRUE}" && test -z "${ADMIN_GTK_SUPPORT_FALSE}"; then as_fn_error $? "conditional \"ADMIN_GTK_SUPPORT\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi ac_config_commands="$ac_config_commands po/stamp-it" if test -z "${USE_WINDOWS_ICON_TRUE}" && test -z "${USE_WINDOWS_ICON_FALSE}"; then as_fn_error $? "conditional \"USE_WINDOWS_ICON\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_CLIENT_TRUE}" && test -z "${BUILD_CLIENT_FALSE}"; then as_fn_error $? "conditional \"BUILD_CLIENT\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_EDITOR_TRUE}" && test -z "${BUILD_EDITOR_FALSE}"; then as_fn_error $? "conditional \"BUILD_EDITOR\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_SERVER_TRUE}" && test -z "${BUILD_SERVER_FALSE}"; then as_fn_error $? "conditional \"BUILD_SERVER\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${BUILD_METASERVER_TRUE}" && test -z "${BUILD_METASERVER_FALSE}"; then as_fn_error $? "conditional \"BUILD_METASERVER\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${IS_MINGW_PORT_TRUE}" && test -z "${IS_MINGW_PORT_FALSE}"; then as_fn_error $? "conditional \"IS_MINGW_PORT\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi : "${CONFIG_STATUS=./config.status}" ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 ## ----------------------------------- ## ## Main body of $CONFIG_STATUS script. ## ## ----------------------------------- ## _ASEOF test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by pioneers $as_me 15.5, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac case $ac_config_headers in *" "*) set x $ac_config_headers; shift; ac_config_headers=$*;; esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers" config_commands="$ac_config_commands" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ \`$as_me' instantiates files and other configuration actions from templates according to the current configuration. Unless the files and actions are specified as TAGs, all are instantiated by default. Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Configuration commands: $config_commands Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ pioneers config.status 15.5 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" Copyright (C) 2012 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' AWK='$AWK' test -n "\$AWK" || AWK=awk _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; --*=) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg= ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append CONFIG_HEADERS " '$ac_optarg'" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header as_fn_error $? "ambiguous option: \`$1' Try \`$0 --help' for more information.";; --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX $as_echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # # INIT-COMMANDS # AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH sed_quote_subst='$sed_quote_subst' double_quote_subst='$double_quote_subst' delay_variable_subst='$delay_variable_subst' macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`' SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`' nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`' objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`' configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`' hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' LTCC='$LTCC' LTCFLAGS='$LTCFLAGS' compiler='$compiler_DEFAULT' # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF \$1 _LTECHO_EOF' } # Quote evaled strings. for var in SHELL \ ECHO \ PATH_SEPARATOR \ SED \ GREP \ EGREP \ FGREP \ LD \ NM \ LN_S \ lt_SP2NL \ lt_NL2SP \ reload_flag \ OBJDUMP \ deplibs_check_method \ file_magic_cmd \ file_magic_glob \ want_nocaseglob \ DLLTOOL \ sharedlib_from_linklib_cmd \ AR \ AR_FLAGS \ archiver_list_spec \ STRIP \ RANLIB \ CC \ CFLAGS \ compiler \ lt_cv_sys_global_symbol_pipe \ lt_cv_sys_global_symbol_to_cdecl \ lt_cv_sys_global_symbol_to_import \ lt_cv_sys_global_symbol_to_c_name_address \ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ lt_cv_nm_interface \ nm_file_list_spec \ lt_cv_truncate_bin \ lt_prog_compiler_no_builtin_flag \ lt_prog_compiler_pic \ lt_prog_compiler_wl \ lt_prog_compiler_static \ lt_cv_prog_compiler_c_o \ need_locks \ MANIFEST_TOOL \ DSYMUTIL \ NMEDIT \ LIPO \ OTOOL \ OTOOL64 \ shrext_cmds \ export_dynamic_flag_spec \ whole_archive_flag_spec \ compiler_needs_object \ with_gnu_ld \ allow_undefined_flag \ no_undefined_flag \ hardcode_libdir_flag_spec \ hardcode_libdir_separator \ exclude_expsyms \ include_expsyms \ file_list_spec \ variables_saved_for_relink \ libname_spec \ library_names_spec \ soname_spec \ install_override_mode \ finish_eval \ old_striplib \ striplib; do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[\\\\\\\`\\"\\\$]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done # Double-quote double-evaled strings. for var in reload_cmds \ old_postinstall_cmds \ old_postuninstall_cmds \ old_archive_cmds \ extract_expsyms_cmds \ old_archive_from_new_cmds \ old_archive_from_expsyms_cmds \ archive_cmds \ archive_expsym_cmds \ module_cmds \ module_expsym_cmds \ export_symbols_cmds \ prelink_cmds \ postlink_cmds \ postinstall_cmds \ postuninstall_cmds \ finish_cmds \ sys_lib_search_path_spec \ configure_time_dlsearch_path \ configure_time_lt_sys_library_path; do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[\\\\\\\`\\"\\\$]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done ac_aux_dir='$ac_aux_dir' # See if we are running on zsh, and set the options that allow our # commands through without removal of \ escapes INIT. if test -n "\${ZSH_VERSION+set}"; then setopt NO_GLOB_SUBST fi PACKAGE='$PACKAGE' VERSION='$VERSION' RM='$RM' ofile='$ofile' _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "pioneers.spec") CONFIG_FILES="$CONFIG_FILES pioneers.spec" ;; "Doxyfile") CONFIG_FILES="$CONFIG_FILES Doxyfile" ;; "MinGW/pioneers.nsi") CONFIG_FILES="$CONFIG_FILES MinGW/pioneers.nsi" ;; "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; "client/help/Makefile") CONFIG_FILES="$CONFIG_FILES client/help/Makefile" ;; "po/stamp-it") CONFIG_COMMANDS="$CONFIG_COMMANDS po/stamp-it" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= ac_tmp= trap 'exit_status=$? : "${ac_tmp:=$tmp}" { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ' 0 trap 'as_fn_exit 1' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 ac_tmp=$tmp # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. # This happens for instance with `./config.status config.h'. if test -n "$CONFIG_FILES"; then ac_cr=`echo X | tr X '\015'` # On cygwin, bash can eat \r inside `` if the user requested igncr. # But we know of no other shell where ac_cr would be empty at this # point, so we can use a bashism as a fallback. if test "x$ac_cr" = x; then eval ac_cr=\$\'\\r\' fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi echo 'BEGIN {' >"$ac_tmp/subs1.awk" && _ACEOF { echo "cat >conf$$subs.awk <<_ACEOF" && echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h s/^/S["/; s/!.*/"]=/ p g s/^[^!]*!// :repl t repl s/'"$ac_delim"'$// t delim :nl h s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p n b repl :more1 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t nl :delim h s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p b :more2 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t delim ' >$CONFIG_STATUS || ac_write_fail=1 rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" } { line = $ 0 nfields = split(line, field, "@") substed = 0 len = length(field[1]) for (i = 2; i < nfields; i++) { key = field[i] keylen = length(key) if (S_is_set[key]) { value = S[key] line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) len += length(value) + length(field[++i]) substed = 1 } else len += 1 + keylen } print line } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF # VPATH may cause trouble with some makes, so we remove sole $(srcdir), # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ h s/// s/^/:/ s/[ ]*$/:/ s/:\$(srcdir):/:/g s/:\${srcdir}:/:/g s/:@srcdir@:/:/g s/^:*// s/:*$// x s/\(=[ ]*\).*/\1/ G s/\n// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" # Set up the scripts for CONFIG_HEADERS section. # No need to generate them if there are no CONFIG_HEADERS. # This happens for instance with `./config.status Makefile'. if test -n "$CONFIG_HEADERS"; then cat >"$ac_tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF # Transform confdefs.h into an awk script `defines.awk', embedded as # here-document in config.status, that substitutes the proper values into # config.h.in to produce config.h. # Create a delimiter string that does not exist in confdefs.h, to ease # handling of long lines. ac_delim='%!_!# ' for ac_last_try in false false :; do ac_tt=`sed -n "/$ac_delim/p" confdefs.h` if test -z "$ac_tt"; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done # For the awk script, D is an array of macro values keyed by name, # likewise P contains macro parameters if any. Preserve backslash # newline sequences. ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* sed -n ' s/.\{148\}/&'"$ac_delim"'/g t rset :rset s/^[ ]*#[ ]*define[ ][ ]*/ / t def d :def s/\\$// t bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3"/p s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p d :bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3\\\\\\n"\\/p t cont s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p t cont d :cont n s/.\{148\}/&'"$ac_delim"'/g t clear :clear s/\\$// t bsnlc s/["\\]/\\&/g; s/^/"/; s/$/"/p d :bsnlc s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p b cont ' >$CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 for (key in D) D_is_set[key] = 1 FS = "" } /^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { line = \$ 0 split(line, arg, " ") if (arg[1] == "#") { defundef = arg[2] mac1 = arg[3] } else { defundef = substr(arg[1], 2) mac1 = arg[2] } split(mac1, mac2, "(") #) macro = mac2[1] prefix = substr(line, 1, index(line, defundef) - 1) if (D_is_set[macro]) { # Preserve the white space surrounding the "#". print prefix "define", macro P[macro] D[macro] next } else { # Replace #undef with comments. This is necessary, for example, # in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. if (defundef == "undef") { print "/*", prefix defundef, macro, "*/" next } } } { print } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 fi # test -n "$CONFIG_HEADERS" eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" shift for ac_tag do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$ac_tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) ac_sed_conf_input=`$as_echo "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac case $ac_tag in *:-:* | *:-) cat >"$ac_tmp/stdin" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= ac_sed_dataroot=' /datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_sed_extra="$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s|@configure_input@|$ac_sed_conf_input|;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@top_build_prefix@&$ac_top_build_prefix&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ "$ac_tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$ac_tmp/stdin" case $ac_file in -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; esac \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; :H) # # CONFIG_HEADER # if test x"$ac_file" != x-; then { $as_echo "/* $configure_input */" \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" } >"$ac_tmp/config.h" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$ac_tmp/config.h" "$ac_file" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else $as_echo "/* $configure_input */" \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ || as_fn_error $? "could not create -" "$LINENO" 5 fi # Compute "$ac_file"'s index in $config_headers. _am_arg="$ac_file" _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || $as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$_am_arg" : 'X\(//\)[^/]' \| \ X"$_am_arg" : 'X\(//\)$' \| \ X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$_am_arg" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'`/stamp-h$_am_stamp_count ;; :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 $as_echo "$as_me: executing $ac_file commands" >&6;} ;; esac case $ac_file$ac_mode in "depfiles":C) test x"$AMDEP_TRUE" != x"" || { # Older Autoconf quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named 'Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`$as_dirname -- "$mf" || $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)$' \| \ X"$mf" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running 'make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "$am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`$as_dirname -- "$file" || $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$file" : 'X\(//\)[^/]' \| \ X"$file" : 'X\(//\)$' \| \ X"$file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir=$dirpart/$fdir; as_fn_mkdir_p # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done } ;; "libtool":C) # See if we are running on zsh, and set the options that allow our # commands through without removal of \ escapes. if test -n "${ZSH_VERSION+set}"; then setopt NO_GLOB_SUBST fi cfgfile=${ofile}T trap "$RM \"$cfgfile\"; exit 1" 1 2 15 $RM "$cfgfile" cat <<_LT_EOF >> "$cfgfile" #! $SHELL # Generated automatically by $as_me ($PACKAGE) $VERSION # NOTE: Changes made to this file will be lost: look at ltmain.sh. # Provide generalized library-building support services. # Written by Gordon Matzigkeit, 1996 # Copyright (C) 2014 Free Software Foundation, Inc. # This is free software; see the source for copying conditions. There is NO # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # GNU Libtool is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of of the License, or # (at your option) any later version. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program or library that is built # using GNU Libtool, you may include this file under the same # distribution terms that you use for the rest of that program. # # GNU Libtool is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # The names of the tagged configurations supported by this script. available_tags='' # Configured defaults for sys_lib_dlsearch_path munging. : \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} # ### BEGIN LIBTOOL CONFIG # Which release of libtool.m4 was used? macro_version=$macro_version macro_revision=$macro_revision # Whether or not to build shared libraries. build_libtool_libs=$enable_shared # Whether or not to build static libraries. build_old_libs=$enable_static # What type of objects to build. pic_mode=$pic_mode # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # Shared archive member basename,for filename based shared library versioning on AIX. shared_archive_member_spec=$shared_archive_member_spec # Shell to use when invoking shell scripts. SHELL=$lt_SHELL # An echo program that protects backslashes. ECHO=$lt_ECHO # The PATH separator for the build system. PATH_SEPARATOR=$lt_PATH_SEPARATOR # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # A sed program that does not truncate output. SED=$lt_SED # Sed that helps us avoid accidentally triggering echo(1) options like -n. Xsed="\$SED -e 1s/^X//" # A grep program that handles long lines. GREP=$lt_GREP # An ERE matcher. EGREP=$lt_EGREP # A literal string matcher. FGREP=$lt_FGREP # A BSD- or MS-compatible name lister. NM=$lt_NM # Whether we need soft or hard links. LN_S=$lt_LN_S # What is the maximum length of a command? max_cmd_len=$max_cmd_len # Object file suffix (normally "o"). objext=$ac_objext # Executable file suffix (normally ""). exeext=$exeext # whether the shell understands "unset". lt_unset=$lt_unset # turn spaces into newlines. SP2NL=$lt_lt_SP2NL # turn newlines into spaces. NL2SP=$lt_lt_NL2SP # convert \$build file names to \$host format. to_host_file_cmd=$lt_cv_to_host_file_cmd # convert \$build files to toolchain format. to_tool_file_cmd=$lt_cv_to_tool_file_cmd # An object symbol dumper. OBJDUMP=$lt_OBJDUMP # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method # Command to use when deplibs_check_method = "file_magic". file_magic_cmd=$lt_file_magic_cmd # How to find potential files when deplibs_check_method = "file_magic". file_magic_glob=$lt_file_magic_glob # Find potential files using nocaseglob when deplibs_check_method = "file_magic". want_nocaseglob=$lt_want_nocaseglob # DLL creation program. DLLTOOL=$lt_DLLTOOL # Command to associate shared and link libraries. sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd # The archiver. AR=$lt_AR # Flags to create an archive. AR_FLAGS=$lt_AR_FLAGS # How to feed a file listing to the archiver. archiver_list_spec=$lt_archiver_list_spec # A symbol stripping program. STRIP=$lt_STRIP # Commands used to install an old-style archive. RANLIB=$lt_RANLIB old_postinstall_cmds=$lt_old_postinstall_cmds old_postuninstall_cmds=$lt_old_postuninstall_cmds # Whether to use a lock for old archive extraction. lock_old_archive_extraction=$lock_old_archive_extraction # A C compiler. LTCC=$lt_CC # LTCC compiler flags. LTCFLAGS=$lt_CFLAGS # Take the output of nm and produce a listing of raw symbols and C names. global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe # Transform the output of nm in a proper C declaration. global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl # Transform the output of nm into a list of symbols to manually relocate. global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import # Transform the output of nm in a C name address pair. global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address # Transform the output of nm in a C name address pair when lib prefix is needed. global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix # The name lister interface. nm_interface=$lt_lt_cv_nm_interface # Specify filename containing input files for \$NM. nm_file_list_spec=$lt_nm_file_list_spec # The root where to search for dependent libraries,and where our libraries should be installed. lt_sysroot=$lt_sysroot # Command to truncate a binary pipe. lt_truncate_bin=$lt_lt_cv_truncate_bin # The name of the directory that contains temporary libtool files. objdir=$objdir # Used to examine libraries when file_magic_cmd begins with "file". MAGIC_CMD=$MAGIC_CMD # Must we lock files when doing compilation? need_locks=$lt_need_locks # Manifest tool. MANIFEST_TOOL=$lt_MANIFEST_TOOL # Tool to manipulate archived DWARF debug symbol files on Mac OS X. DSYMUTIL=$lt_DSYMUTIL # Tool to change global to local symbols on Mac OS X. NMEDIT=$lt_NMEDIT # Tool to manipulate fat objects and archives on Mac OS X. LIPO=$lt_LIPO # ldd/readelf like tool for Mach-O binaries on Mac OS X. OTOOL=$lt_OTOOL # ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. OTOOL64=$lt_OTOOL64 # Old archive suffix (normally "a"). libext=$libext # Shared library suffix (normally ".so"). shrext_cmds=$lt_shrext_cmds # The commands to extract the exported symbol list from a shared archive. extract_expsyms_cmds=$lt_extract_expsyms_cmds # Variables whose values should be saved in libtool wrapper scripts and # restored at link time. variables_saved_for_relink=$lt_variables_saved_for_relink # Do we need the "lib" prefix for modules? need_lib_prefix=$need_lib_prefix # Do we need a version for libraries? need_version=$need_version # Library versioning type. version_type=$version_type # Shared library runtime path variable. runpath_var=$runpath_var # Shared library path variable. shlibpath_var=$shlibpath_var # Is shlibpath searched before the hard-coded library search path? shlibpath_overrides_runpath=$shlibpath_overrides_runpath # Format of library name prefix. libname_spec=$lt_libname_spec # List of archive names. First name is the real one, the rest are links. # The last name is the one that the linker finds with -lNAME library_names_spec=$lt_library_names_spec # The coded name of the library, if different from the real name. soname_spec=$lt_soname_spec # Permission mode override for installation of shared libraries. install_override_mode=$lt_install_override_mode # Command to use after installation of a shared archive. postinstall_cmds=$lt_postinstall_cmds # Command to use after uninstallation of a shared archive. postuninstall_cmds=$lt_postuninstall_cmds # Commands used to finish a libtool library installation in a directory. finish_cmds=$lt_finish_cmds # As "finish_cmds", except a single script fragment to be evaled but # not shown. finish_eval=$lt_finish_eval # Whether we should hardcode library paths into libraries. hardcode_into_libs=$hardcode_into_libs # Compile-time system search path for libraries. sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Detected run-time system search path for libraries. sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path # Explicit LT_SYS_LIBRARY_PATH set during ./configure time. configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path # Whether dlopen is supported. dlopen_support=$enable_dlopen # Whether dlopen of programs is supported. dlopen_self=$enable_dlopen_self # Whether dlopen of statically linked programs is supported. dlopen_self_static=$enable_dlopen_self_static # Commands to strip libraries. old_striplib=$lt_old_striplib striplib=$lt_striplib # The linker used to build libraries. LD=$lt_LD # How to create reloadable object files. reload_flag=$lt_reload_flag reload_cmds=$lt_reload_cmds # Commands used to build an old-style archive. old_archive_cmds=$lt_old_archive_cmds # A language specific compiler. CC=$lt_compiler # Is the compiler the GNU compiler? with_gcc=$GCC # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic # How to pass a linker flag through the compiler. wl=$lt_lt_prog_compiler_wl # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$archive_cmds_need_lc # Whether or not to disallow shared libs when runtime libs are static. allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec # Whether the compiler copes with passing no objects directly. compiler_needs_object=$lt_compiler_needs_object # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds # Commands used to build a shared archive. archive_cmds=$lt_archive_cmds archive_expsym_cmds=$lt_archive_expsym_cmds # Commands used to build a loadable module if different from building # a shared archive. module_cmds=$lt_module_cmds module_expsym_cmds=$lt_module_expsym_cmds # Whether we are building with GNU ld or not. with_gnu_ld=$lt_with_gnu_ld # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_allow_undefined_flag # Flag that enforces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec # Whether we need a single "-rpath" flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes # DIR into the resulting binary. hardcode_direct=$hardcode_direct # Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes # DIR into the resulting binary and the resulting library dependency is # "absolute",i.e impossible to change by setting \$shlibpath_var if the # library is relocated. hardcode_direct_absolute=$hardcode_direct_absolute # Set to "yes" if using the -LDIR flag during linking hardcodes DIR # into the resulting binary. hardcode_minus_L=$hardcode_minus_L # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR # into the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var # Set to "yes" if building a shared library automatically hardcodes DIR # into the library and all subsequent libraries and executables linked # against it. hardcode_automatic=$hardcode_automatic # Set to yes if linker adds runtime paths of dependent libraries # to runtime path list. inherit_rpath=$inherit_rpath # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs # Set to "yes" if exported symbols are required. always_export_symbols=$always_export_symbols # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_exclude_expsyms # Symbols that must always be exported. include_expsyms=$lt_include_expsyms # Commands necessary for linking programs (against libraries) with templates. prelink_cmds=$lt_prelink_cmds # Commands necessary for finishing linking programs. postlink_cmds=$lt_postlink_cmds # Specify filename containing input files. file_list_spec=$lt_file_list_spec # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action # ### END LIBTOOL CONFIG _LT_EOF cat <<'_LT_EOF' >> "$cfgfile" # ### BEGIN FUNCTIONS SHARED WITH CONFIGURE # func_munge_path_list VARIABLE PATH # ----------------------------------- # VARIABLE is name of variable containing _space_ separated list of # directories to be munged by the contents of PATH, which is string # having a format: # "DIR[:DIR]:" # string "DIR[ DIR]" will be prepended to VARIABLE # ":DIR[:DIR]" # string "DIR[ DIR]" will be appended to VARIABLE # "DIRP[:DIRP]::[DIRA:]DIRA" # string "DIRP[ DIRP]" will be prepended to VARIABLE and string # "DIRA[ DIRA]" will be appended to VARIABLE # "DIR[:DIR]" # VARIABLE will be replaced by "DIR[ DIR]" func_munge_path_list () { case x$2 in x) ;; *:) eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\" ;; x:*) eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\" ;; *::*) eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\" ;; *) eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" ;; esac } # Calculate cc_basename. Skip known compiler wrappers and cross-prefix. func_cc_basename () { for cc_temp in $*""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` } # ### END FUNCTIONS SHARED WITH CONFIGURE _LT_EOF case $host_os in aix3*) cat <<\_LT_EOF >> "$cfgfile" # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test set != "${COLLECT_NAMES+set}"; then COLLECT_NAMES= export COLLECT_NAMES fi _LT_EOF ;; esac ltmain=$ac_aux_dir/ltmain.sh # We use sed instead of cat because bash on DJGPP gets confused if # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? sed '$q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) mv -f "$cfgfile" "$ofile" || (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") chmod +x "$ofile" ;; "po/stamp-it":C) if ! grep "^# INTLTOOL_MAKEFILE$" "po/Makefile.in" > /dev/null ; then as_fn_error $? "po/Makefile.in.in was not created by intltoolize." "$LINENO" 5 fi rm -f "po/stamp-it" "po/stamp-it.tmp" "po/POTFILES" "po/Makefile.tmp" >"po/stamp-it.tmp" sed '/^#/d s/^[[].*] *// /^[ ]*$/d '"s|^| $ac_top_srcdir/|" \ "$srcdir/po/POTFILES.in" | sed '$!s/$/ \\/' >"po/POTFILES" sed '/^POTFILES =/,/[^\\]$/ { /^POTFILES =/!d r po/POTFILES } ' "po/Makefile.in" >"po/Makefile" rm -f "po/Makefile.tmp" mv "po/stamp-it.tmp" "po/stamp-it" ;; esac done # for ac_tag as_fn_exit 0 _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi { $as_echo "$as_me:${as_lineno-$LINENO}: $PACKAGE v$VERSION configuration: Source code location: ${srcdir} Install location: ${prefix} Compiler: ${CC} Build graphical client $pioneers_build_client_gtk Build computer player $pioneers_build_client_ai Build game editor $pioneers_build_editor Build graphical server $pioneers_build_server_gtk Build console server $pioneers_build_server_console Build metaserver $pioneers_build_metaserver Build help $pioneers_help AVAHI support $have_avahi LIBNOTIFY support $have_libnotify Developers only: Use compiler warnings $pioneers_warnings Add debug information $pioneers_debug Enable deprecation checks $pioneers_deprecationChecks Hardening compiler flags $enable_hardening " >&5 $as_echo "$as_me: $PACKAGE v$VERSION configuration: Source code location: ${srcdir} Install location: ${prefix} Compiler: ${CC} Build graphical client $pioneers_build_client_gtk Build computer player $pioneers_build_client_ai Build game editor $pioneers_build_editor Build graphical server $pioneers_build_server_gtk Build console server $pioneers_build_server_console Build metaserver $pioneers_build_metaserver Build help $pioneers_help AVAHI support $have_avahi LIBNOTIFY support $have_libnotify Developers only: Use compiler warnings $pioneers_warnings Add debug information $pioneers_debug Enable deprecation checks $pioneers_deprecationChecks Hardening compiler flags $enable_hardening " >&6;} pioneers-15.5/ChangeLog0000644000175000017500000103162013252242740011767 000000000000002018-03-14 Roland Clobus * Released 15.5. 2018-03-14 Roland Clobus * all: Removed trailing whitespace in comments. * client/gtk/interface.c: Allow trade after a road building development card (in strict_trade). Fixes SF bug #298 2018-03-07 Roland Clobus * Makefile.am, client/Makefile.am, client/gtk/gui.c, client/help/Makefile.am, client/help/C/*, omf.make, xmldocs.make: Use yelp-tools for the help system. * po/POTFILES.in, server/gtk/Makefile.am, server/gtk/pioneers-server.desktop.in: Fix missing icon when using Alt-Tab in GNOME. 2018-02-27 Roland Clobus * README.subversion, client/Makefile.am, configure.ac: Removed dependency on scrollkeeper (rarian-compat). 2018-02-25 Roland Clobus * common/map.c: Fixed potential memory leak in error path. Found by scan-build-6.0 2018-02-23 Roland Clobus * Makefile.am, client/Makefile.am, client/gtk/gui.c, client/gtk/offline.c, common/Makefile.am, configure.ac, editor/Makefile.am, server/Makefile.am: Removed dependency on libgnome for displaying the help. 2018-02-21 Roland Clobus * client/common/client.c: Removed dead (duplicated) code, fixes a compiler warning (-Wimplicit-fallthrough) 2018-01-07 Roland CLobus * server/buildutil.c: Fixed compiler warning about fall through. 2018-01-05 Roland Clobus * common/network.c: Reduced includes, as found by iwyu. 2016-09-15 Roland Clobus * MinGW/Makefile.am: Added README.txt to the tarball. 2016-08-28 Roland Clobus * configure.ac: Work version is 15.5. 2016-08-28 Roland Clobus * Released 15.4. 2016-08-28 Roland Clobus * configure.ac, editor/gtk/editor.c, metaserver/main.c, server/main.c: Use and obey ENABLE_NLS, for all remaining executables. * autogen.sh: Per default, no deprecation checks should be run. * NEWS, client/ai/lobbybot.c: Prepare for the release of 15.4. 2016-08-04 Roland Clobus * macros, configure.ac, Makefile.am, autogen.sh: Replaced embedded copy of th gnome-autogen.sh, because 'gnome-common' will be deprecated. 2016-07-28 Roland Clobus * editor/gtk/editor.c: Corrected the define for the translation domain. 2016-07-06 Roland Clobus * common/state.c: Fixed CID55644 by adding fall through clarification in switch statement. 2016-07-05 Roland Clobus * common/gtk/player-icon.c, common/gtk/player-icon.h: Fixed CID74385 by using gdouble instead of gint for cairo_arc. 2016-07-03 Roland Clobus * client/gtk/data/themes/Makefile.am, client/gtk/data/themes/Nouvellia: Added new theme by Brian Mansberger . * MinGW/pioneers.nsi.in: Integrated the Nouvellia theme in the Windows installer. * docs/README.release: Extended release procedure to include the Debian debconf translators. 2016-06-21 Roland Clobus * client/gtk/chat.c: Removed unnecessary NULL check, found by cppcheck. * client/ai/greedy.c: Fixed use of uninitialzed variable, found by cppcheck. 2016-06-13 Roland Clobus * common/map.c: Removed double assignment, found by cppcheck. 2016-06-11 Roland Clobus * Makefile.am, MinGW/Makefile.am, MinGW/pioneers.nsi.in, configure.ac: Fixed missing icons for the MinGW port. Fixed File|Open crash in the editor for the MinGW port. 2016-06-10 Roland Clobus * server/turn.c: Apply patch #679 which fixes #290: Check for the winning condition at the beginning of the turn. This way to win will only occur when someone cuts the longest road in your favour. * macros/gnome-autogen.sh: MinGW requires automake 1.11.1 * MinGW/loaders.cache: Regenerated 2016-03-21 Roland Clobus * Moved compiler warnings -Wcast-qual to --enable-warnings=full, because the GTK library issues this warning a lot. 2015-12-09 Roland Clobus * editor/gtk/editor.c: Fixed a message shown by scan-build (clang). The variable 'last_key' could be NULL. * client/gtk/monopoly.c, server/player.c: Fixed a message shown by scan-build (clang). The value stored in the variable was never read. 2015-05-31 Roland Clobus * Doxyfile.in: Fixed typo, as found by codespell. * client/gtk/data/themes/ccFlickr/board.png: Fixed rendering issues by adding an alpha layer to the image. 2015-05-30 Roland Clobus * client/ai/Makefile.am, client/ai/genetic.c, client/ai/genetic_core.c, client/ai/genetic_core.h: Created a header file for genetic_core.h. The core does not depend on functionality from Pioneers any more. Some whitespace changes. * client/gtk/connect.c: Removed the tooltips on the buttons, they were in the wrong order again. (See r1935, 2013-06-06) * Makefile.am, client/gtk/connect.c, client/gtk/discard.c, client/gtk/gameover.c, client/gtk/gold.c, client/gtk/gui.c, client/gtk/histogram.c, client/gtk/legend.c, client/gtk/monopoly.c, client/gtk/name.c, client/gtk/plenty.c, client/gtk/quote-view.c, client/gtk/quote.c, client/gtk/settingscreen.c, client/gtk/trade.c, common/gtk/Makefile.am, common/gtk/common_gtk.c, common/gtk/game-rules.c, common/gtk/game-settings.c, common/gtk/pioneers-checkmark.svg, common/gtk/pioneers-cross.svg, editor/gtk/editor.c, server/gtk/main.c: Replaced all GTK_STOCK_* items. This make the code build without compiler warings when the deprecation checks are turned off, on Debian 8. Two new icons were added to replace GTK_STOCK_APPLY and GTK_STOCK_CANCEL. 2015-04-26 Roland Clobus * common/gtk/select-game.c: Fixed a memory leak. 2015-04-19 Roland Clobus * ChangeLog, client/ai/genetic.c, client/ai/genetic_core.c, debian/changelog, debian/copyright, debian/po/pt.po: Fixed spelling mistakes that were found by 'codespell'. 2015-03-27 Roland Clobus * client/gtk/develop.c: Fix for bug #285 part 2, when the selection in the combobox changes to another development card type because the currently selected development card is not available any more, correctly update the 'Play Development Card' button status. 2015-03-11 Roland Clobus * client/callback.h, client/gtk/gui.c, common/gtk/aboutbox.c, common/gtk/aboutbox.h, editor/gtk/editor.c, server/gtk/main.c: Use the about dialog from Gtk+3. * common/gtk/aboutbox.c: Translation update: use translator-credits instead of translator_credits. 2014-10-26 Roland Clobus * editor/gtk/editor.c: Fix for Coverity CID 74389: Use the right size for the ToolbarButtonData element. * client/ai/genetic.c: Fix for Coverity CID 74390: Close the chromosome file when an error occurs. * client/ai/genetic.c: Fix for Coverity CID 74383: Report the warning before returning from the function. 2014-10-26 Roland Clobus * configure.ac: Work version is 15.4. 2014-10-26 Roland Clobus * Released 15.3. 2014-10-26 Roland Clobus * editor/gtk/editor.c: Fixed a read beyond the array size. * NEWS, client/ai/lobbybot.c: Prepare for the release of 15.3. 2014-10-24 Roland Clobus * docs/Relicense question about icons from the Gorilla theme.eml: Email about the relicensing of derived work from the Gorilla theme. With many thanks to Jakub Steiner for allowing his work to be relicensed. * client/gtk/data/style-ai.svg, server/gtk/pioneers-server.svg, editor/gtk/pioneers-editor.svg, client/gtk/data/pioneers.svg: Relicensed as CC-BY-SA 4.0 2014-07-07 Roland Clobus * configure.ac: Work version is 15.3. 2014-07-07 Roland Clobus * Released 15.2. 2014-07-07 Roland Clobus * NEWS, client/ai/lobbybot.c: Prepare for the release of 15.2. 2014-05-20 Roland Clobus * client/ai/ai.c: Added translator comment. * client/help/C/pioneers.xml, docs/pioneersai.6: Documented the new algorithm. * macros/gnome-autogen.sh: Synchronised from gnome-common 3.12.0-1. 2014-05-14 Roland Clobus * client/ai/ai.c, client/ai/ai.h, client/ai/genetic.c, client/ai/greedy.c: Moved the duplicated chat code to ai.c. 2014-05-11 Roland Clobus * configure.ac: Removed override for scrollkeeper. The successor, rarian, behaves correctly. 'automake -Wall' is now empty. * configure.ac: Documented all options in the configure script. With thanks to the Gentoo porter Julian Ospald for pointing me to the suitable macros. 2014-04-20 Roland Clobus * MinGW/README.txt: Added instructions for GNU indent. 2014-04-19 Roland Clobus * client/gtk/chat.c, client/gtk/discard.c, client/gtk/frontend.h, client/gtk/gold.c, client/gtk/name.c, client/gtk/player.c, client/gtk/quote-view.c, client/gtk/quote.c, common/gtk/guimap.c, common/gtk/player-icon.c, common/gtk/player-icon.h: Use cairo_recording_surface_create instead of gdk_window_create_similar_surface to avoid crashes in the client due to preparing images for widgets that were not fully shown. * server/pregame.c: Fixed a possible DoS route. 2014-04-18 Roland Clobus * client/ai/genetic.c: Replaced sleep(1) by ai_wait(). This fixes the Windows build. 2014-04-12 Roland Clobus * client/gtk/gui.c, client/gtk/legend.c: Fixed the sizing of the legend tab page in 4:3 mode, which could hide the tabs. 2014-04-09 Rodrigo Espiga Gómez * client/ai/ai.h, client/ai/ai.c, client/ai/genetic.c, client/ai/genetic_core.c: Accept a chromosome file from the command line. Updated the default chromosome. 2014-04-06 Roland Clobus * common/gtk/common_gtk.c: Ported the button on the notebook page to GTK+3. 2014-03-11 Rodrigo Espiga Gómez * client/ai/genetic.c: Corrected some bugs that made it, under certain circumstances, try to get resources not available in the bank. 2014-03-08 Roland Clobus * client/gtk/resource-view.gob: Replaced deprecated function. * common/gtk/guimap.c: Simplified event arguments. * client/gtk/gui.c, common/gtk/common_gtk.c, common/gtk/common_gtk.h, common/gtk/guimap.c, common/gtk/guimap.h, editor/gtk/editor.c: The GuiMap widget maintains the last known mouse pointer position. 2014-03-07 Rodrigo Espiga Gómez * client/ai/genetic.c, client/ai/genetic_core.c: Genetic Player, now it values ports and depreciates strategies that let it ending the turn with too many resources. 2014-02-25 Roland Clobus * Makefile.am, client/gtk/chat.c, client/gtk/connect.c, client/gtk/develop.c, client/gtk/discard.c, client/gtk/frontend.c, client/gtk/gameover.c, client/gtk/gold.c, client/gtk/gui.c, client/gtk/histogram.c, client/gtk/identity.c, client/gtk/legend.c, client/gtk/monopoly.c, client/gtk/name.c, client/gtk/player.c, client/gtk/plenty.c, client/gtk/quote-view.c, client/gtk/quote.c, client/gtk/resource-table.c, client/gtk/resource-view.gob, client/gtk/resource.c, client/gtk/settingscreen.c, client/gtk/trade.c, common/gtk/Makefile.am, common/gtk/colors.c, common/gtk/common_gtk.c, common/gtk/common_gtk.h, common/gtk/game-rules.c, common/gtk/game-rules.h, common/gtk/game-settings.c, common/gtk/guimap.c, common/gtk/map-icons.c, common/gtk/metaserver.c, common/gtk/player-icon.c, common/gtk/select-game.c, common/gtk/theme.c, common/gtk/theme.h, configure.ac, editor/gtk/editor.c, server/gtk/main.c: Only use GTK+3 instead of GTK+2. * common/gtk/gtkbugs.c, common/gtk/gtkbugs.h, common/gtk/gtkcompat.h: Removed, because they are GTK+2-only. * MinGW/Makefile.am, MinGW/README.txt, MinGW/loaders.cache, MinGW/pioneers.nsi.in: Updated the MinGW port for GTK+3. * server/admin.c, server/server.c, server/server.h, server/turn.c: Added game manipulation for the admin interface. 2014-02-21 Roland Clobus * client/ai/Makefile.am: Treat genetic_core as a 'header'. * po/POTFILES.in: Added genetic.c, because it contains texts. 2014-02-17 Rodrigo Espiga Gómez * client/ai/genetic.c, client/ai/genetic_core.c: Working genetic player with testing chromosome. 2014-02-09 Roland Clobus * client/common/main.c: Do not start the main loop when the computer player cannot connect to the given port. * client/gtk/frontend.h, client/gtk/gui.c, client/gtk/offline.c, client/gtk/state.c: Do not quit when the client cannot connect to the given port. * client/ai/Makefile.am, client/ai/genetic_core.c: Basic integration. 2014-02-08 Roland Clobus * autogen.sh: Pass along the arguments when the embedded copy of gnome-common is used. 2014-01-29 Rodrigo Espiga Gómez * client/ai/genetic_core.c: Basic functions that will rule how the genetic player decides its next action. 2014-01-13 Roland Clobus * client/callback.h, client/common/player.c, client/gtk/identity.c, common/gtk/theme.c, server/admin.c, server/avahi.c, server/player.c, server/server.h: Fixed misspellings found by 'make codespell'. * Makefile.am: Added new tool, codespell, to fix common misspellings. 2014-01-11 Roland Clobus * client/gtk/chat.c, client/gtk/connect.c, client/gtk/develop.c, client/gtk/discard.c, client/gtk/gameover.c, client/gtk/gold.c, client/gtk/gui.c, client/gtk/legend.c, client/gtk/monopoly.c, client/gtk/name.c, client/gtk/player.c, client/gtk/plenty.c, client/gtk/quote.c, client/gtk/resource.c, client/gtk/settingscreen.c, client/gtk/trade.c, common/gtk/common_gtk.c, common/gtk/game-rules.c, common/gtk/game-settings.c, common/gtk/gtkcompat.h, configure.ac, editor/gtk/editor.c, server/gtk/main.c: Fixed GTK3 deprecation warnings for [hv]box and similar functions. 2014-01-10 Roland Clobus * common/gtk/config-gnome.c: Recoded to UTF8. 2014-01-03 Roland Clobus * client/gtk/develop.c: Play more than one development card of the same type. 2013-12-19 Roland Clobus * client/gtk/histogram.c, client/gtk/identity.c, client/gtk/player.c, client/gtk/resource-view.gob, common/gtk/map-icons.c, editor/gtk/editor.c: Added support for the Gtk+3 'draw' event. 2013-12-16 Micah Bunting * common/deck.c: Maintains deck order by using g_ptr_array_remove_index() instead of g_ptr_array_remove_index_fast(). 2013-12-08 Micah Bunting * common/deck.h, common/deck.c, common/cards.h, common/cards.c, common/Makefile.am, server/turn.c, server/pregame.c, server/server.h, server/player.c, server/develop.c, client/ai/greedy.c, client/common/develop.c, client/callback.h: Changed deck data structure to have a faster algorithm, encapsulation, and storage of gpointer. 2013-11-21 Roland Clobus * client/gtk/quote-view.c: Replaced GdkPixmap by cairo_surface_t. * client/gtk/settingscreen.c, client/gtk/plenty.c: Replaced GTK_OBJECT by G_OBJECT for signal handlers. * client/gtk/gui.c: Gtk+3 does not require resize grips. 2013-11-19 Roland Clobus * common/Makefile.am: Build version.h when needed. * client/gtk/connect.c: GtkObject->GtkAdjustment (for Gtk+3). * common/gtk/theme.c: Fixed compiler warning (due to Gtk+3 port). 2013-11-17 Roland Clobus * configure.ac: Enable (experimental) support for Gtk+3. * client/gtk/frontend.c, common/gtk/colors.c, common/gtk/common_gtk.h, common/gtk/player-icon.c, common/gtk/theme.c, common/gtk/theme.h: Ported colormap to Gtk+3. Fixed a keycode. * client/gtk/gui.c, common/gtk/guimap.c, common/gtk/guimap.h, common/gtk/select-game.c: Replaced pixmap in guimap. 2013-10-30 Roland Clobus * MinGW/pioneers.nsi.in: Fixed installing style-ai.svg, see 2013-06-07. 2013-10-26 Roland Clobus * autogen.sh: Fixed --fhs argument handling. 2013-10-12 Roland Clobus * configure.ac: Work version is 15.2 2013-10-12 Roland Clobus * Released 15.1. 2013-10-12 Roland Clobus * client/help/C/Makefile.am, client/help/C/pioneers.xml: Use xmllint to reformat the xml help file. * client/help/C/pioneers.xml: Updated the sections about: - Port forwarding - The computer player - The server * NEWS, client/ai/lobbybot.c, docs/README.release: Prepare for the release. 2013-10-03 Roland Clobus * client/gtk/discard.c: Fixed compiler warning. * macros/gnome-autogen.sh: Synchronised from gnome-common 3.10.0-1, which adds support for automake 1.14. * autogen.sh: Added --fhs command line option to set the FHS paths. * client/help/C/Makefile.am: Updated the targets to build and clean the help files (simplehtml and yelphtml). * client/help/C/pioneers.xml: Updated Q&A section. Updated admin protocol. 2013-09-24 Micah Bunting * client/common/client.c, server/pregame.c: Simplified the "devcard" protocol. 2013-09-23 Roland Clobus * server/turn.c: Fixed 'admin fix-dice' command. * server/pregame.c: Fixed protocol incompatibility during reconnect. 2013-09-08 Micah Bunting * server/turn.c, server/server.h, server/pregame.c, server/develop.c, common/cards.c, common/cards.h, client/common/develop.c, client/common/client.c, client/common/client.h: Removed the variable played_develop and the corresponding protocol. * client/common/develop.c, client/ai/greedy.c, server/pregame.c, server/develop.c, common/cards.c, common/cards.h: Removed struct DevelCard and replaced with enum DevelType. 2013-09-08 Roland Clobus * server/meta.c, server/player.c, client/common/client.c, editor/gtk/editor.c: Added hints for translators. * server/gtk/pioneers-server.desktop.in, client/gtk/pioneers.desktop.in, editor/gtk/pioneers-editor.desktop.in: Removed trademarked word. * pioneers.spec.in: Make more similar to Redhat version. * editor/gtk/editor.c: Fixed spelling a/an in tooltips. * common/network.c: Fixed spelling error. 2013-09-03 Roland Clobus * docs/pioneers-metaserver.6, metaserver/main.c: Use Ctrl-C instead of SIGUSR1 to stop the metaserver. * configure.ac: Substitute all variables in pioneers.spec.in. Fixes the building of rpm on openSUSE. 2013-09-02 Micah Bunting * server/develop.c, server/server.h, server/turn.c, server/pregame.c, common/cards.c, common/cards.h, client/common/client.c, client/common/client.h, client/common/develop.c: Removes gint turn_bought from DevelCard and replaces it with two guint num_playable_cards. 2013-08-27 Roland Clobus * metaserver/main.c, common/network.c: Fixed memory leaks in the metaserver. 2013-06-28 Roland Clobus * server/meta.c: Check whether the metaserver is still alive. * server/meta.c, server/server.c, server/server.h: Reconnect to the metaserver when the connection is broken. 2013-06-27 Roland Clobus * autogen.sh, configure.ac: Set required version of autoconf back to 2.68, to build on Ubuntu Precise again. 2013-06-26 Roland Clobus * configure.ac, Makefile.am, autogen.sh, client/gtk/data/Makefile.am, common/Makefile.am: Minimum required version for automake is 1.11, fixed warnings for automake 1.13. * common/network.h, server/player.c, metaserver/main.c: Initialised GError for net_get_peer_name. * configure.ac, server/main.c, Makefile.am, metaserver/main.c, common/network.c: Switched from POSIX to GIO for the network communication, which adds full IPv6 support. * docs/pioneers-metaserver.6: The metaserver checks for used ports. * autogen.sh, macros/Makefile.am, macros/type_socklen_t.m4: TYPE_SOCKLEN_T is no longer required due to GIO. * MinGW/pioneers.nsi.in, MinGW/Makefile.am: Activated the server. * README.Cygwin: Updated building instructions. * server/gtk/pioneers-server.desktop.in, client/gtk/pioneers.desktop.in, editor/gtk/pioneers-editor.desktop.in: Added the field Keywords. 2013-06-17 Micah Bunting * client/gtk/legend.c, editor/gtk/editor.c, common/gtk/theme.h, common/gtk/map-icons.c, common/gtk/Makefile.am, common/gtk/theme.c: Moved terrain icon functions to common/gtk/map-icons.c. 2013-06-14 Micah Bunting * editor/gtk/editor.c: Removed extra if statement in build_terrain_menu. 2013-06-13 Micah Bunting * client/common/develop.c client/ai/greedy.c server/pregame.c server/develop.c common/cards.c common/cards.h: Hides the DevelDeck structure and adds accessor functions. 2013-06-13 Roland Clobus * server/server.c: Don't log about leaving players twice. * Makefile.am: Make clean cleans results of make reindent and doxygen. 2013-06-10 Roland Clobus * configure.ac, common/gtk/player-icon.c: Take ownership of the pointer to fix the bug introduced on 2013-06-07. * client/gtk/notification.c, client/gtk/notification.h, client/gtk/offline.c, client/gtk/interface.c, configure.ac: Show at most one message in the notification area. Support for old versions of libnotify is no longer required. Fixed memory leak for each notification. * Doxyfile.in, configure.ac, Makefile.am: Added Doxygen support. * common/set.h, common/set.c: Doxygen documentation. * client/gtk/player.c: Removed unused array. 2013-06-09 Roland Clobus * omf.make, macros/gnome-autogen.sh: Synchronised from gnome-common 3.7.4-1, which adds support for automake 1.13. 2013-06-07 Roland Clobus * common/map.c, common/map.h, client/ai/greedy.c: Map the resource to the terrain and vice versa. * common/gtk/common_gtk.c, common/gtk/common_gtk.h: Added code from Gtk+3 to make the port from Gtk+2 easier. * client/gtk/data/style-ai.png, client/gtk/data/style-ai.svg, client/gtk/data/Makefile.am: Replaced the png by a svg (with proper credits to Jakub Steiner) * common/gtk/player-icon.c, common/gtk/player-icon.h, client/gtk/player.c, client/gtk/name.c: Update to the player icon code. Set a minimum size on the slider in the 'Change Player Name' dialog. Use a larger icon. 2013-06-06 Roland Clobus * client/gtk/connect.c: Matched the tooltips to the buttons in the 'Join a Public Game' dialog. 2013-06-05 Micah Bunting * server/player.c, server/robber.c, server/develop.c, server/gold.c, server/turn.c, server/server.c, server/server.h, server/discard.c, common/map.c, common/map.h, common/random.c, common/random.h, common/Makefile.am: Moved random functions to common/random.c and common/random.h. 2013-06-05 Roland Clobus * admin-scripts/meta.sh: Updated to set the PATH variable. 2013-06-04 Roland Clobus * server/gtk/main.c, server/server.c, Makefile.am, metaserver/main.c, client/gtk/connect.c, docs/pioneers-metaserver.6: Use $PATH to locate the programs instead of hardcoded paths. 2013-05-31 Roland Clobus * docs/README.message_flow, common/gtk/select-game.c, common/gtk/select-game.h, common/game.c, common/game.h, server/gtk/main.c, metaserver/main.c, metaserver/README.protocol, client/gtk/offline.c, client/gtk/connect.c: Show game details in the client for games from the metaserver. Updated documentation of the metaserver protocol. 2013-05-30 Roland Clobus * editor/gtk/Makefile.am, server/gtk/Makefile.am, Makefile.am, client/gtk/data/Makefile.am: Don't remove the *.ico files in the make maintainer-clean target. 2013-05-21 Roland Clobus * Makefile.am: Use icons of 256x256, to show sharp icons on Alt-Tab. 2013-05-20 Roland Clobus * MinGW/README.txt: The MinGW build works from a clean svn checkout. * client/gtk/data/pioneers.svg, server/gtk/pioneers-server.svg, editor/gtk/pioneers-editor.svg: Resized to 48x48, thicker lines, refreshed computer icon, added attribution for the selections of the Gorilla theme by Jakub Steiner. 2013-05-19 Roland Clobus * client/gtk/quote-view.c, client/gtk/histogram.c, editor/gtk/editor.c, common/gtk/theme.h, common/gtk/guimap.c, common/gtk/theme.c: Removed the use of GdkPixmap in theme.c (needed for Gtk+3). 2013-05-18 Micah Bunting * editor/gtk/editor.c, common/gtk/guimap.c, common/gtk/guimap.h: Added a toolbar to the map editor. 2013-05-13 Roland Clobus * common/network.c: Fixed FTBFS on Windows, introduced on 2013-04-24. 2013-05-10 Roland Clobus * common/gtk/select-game.c: Fixed some memory leaks. * client/ai/greedy.c: Fixed some warnings when compiling with clang. 2013-05-08 Micah Bunting * docs/README.server_protocol_version: Clarifies and fixes spelling. * common/gtk/guimap.c: Adds some doxegen comments to guimap.c. 2013-05-07 Roland Clobus * docs/README.message_flow: Description of the message flow between the programs, along with proposals for modification. * macros/gnome-autogen.sh: Synchronised from gnome-common 3.4.0.1-1, which adds support for automake 1.11. 2013-05-06 Micah Bunting * common/gtk/game-rules.c: Right aligns the dice deck spin buttons. 2013-05-02 Micah Bunting * common/gtk/guimap.c, common/gtk/guimap.h: Added guimap_find_edge() to have access to find_edge() outside of guimap.c. 2013-05-02 Roland Clobus * common/game.c: Don't complain about dice deck related parameters in clients before V15. 2013-05-01 Micah Bunting * server/admin.c, server/gtk/main.c server/server.c, server/server.h, server/turn.c, server/main.c, editor/gtk/editor.c, common/gtk/game-rules.c, common/gtk/game-rules.h, common/game.c, common/game.h, client/gtk/settingscreen.c, client/common/client.c: Added option to use a deck of 36 cards instead of the dice. * configure.ac, common/game.c, common/game.h: Incremented protocol version to V15. 2013-04-30 Roland Clobus * docs/README.server_protocol_version: Instructions how the server protocol versioning works. * common/network.c: net_service_free is allowed to be called with null. 2013-04-28 Roland Clobus * editor/gtk/editor.c: Added a correct focus handler, thus removing the need for the ugly hack of 2013-04-26, with thanks to Micah Bunting for pointing me in the right direction. * common/gtk/scrollable-text-view.gob: Reverted the ugly hack for the keyboard focus. * common/game-list.c, common/game-list.h, common/Makefile.am, server/server.c, server/server.h, server/gtk/main.c: Moved code from server to game-list. * server/gtk/main.c: Connect the log earlier, game-list messages are now shown. * server/server.h, server/pregame.c, server/player.c, server/server.c, common/game.c, common/game.h: Move game_is_unstartable. * common/game-list.c, metaserver/main.c: Don't send unstartable games. * admin-scripts/locallobby.sh: Delay a bit, to allow the metaserver to start. 2013-04-26 Roland Clobus * editor/gtk/editor.c: Fixed setting the title of the game. Fixed i18n issues: double keyboard shortcut and unmarked translatable text. * common/gtk/scrollable-text-view.gob: Turned off TAB. 'Fixed' click on the widget to regain focus, by using a ugly hack. 2013-04-25 Roland Clobus * client/gtk/audio.c: The beep works again. 2013-04-24 Roland Clobus * admin-scripts/meta.sh: Use the correct name of the executable. * client/ai/lobbybot.c: Corrected the version number of the release. 2013-04-24 Roland Clobus * metaserver/main.c, client/gtk/connect.c, common/state.c, common/common_glib.c, common/state.h, common/network.c, common/common_glib.h, common/driver.c, common/network.h, common/driver.h, common/gtk/common_gtk.c, server/server.h, server/main.c, server/glib-driver.c, server/glib-driver.h, server/meta.c, server/admin.c, server/player.c, server/server.c: Moved all network related code to network.[ch]; fixed memory leak in net_io_channel_wrapper (formerly called evl_glib_input functions); the metaserver uses network.c too; fixed handling of metaserver redirects; enabled the ok-button in the client dialogs only when all data is available; the metaserver checks the availability of the port when starting a new server. 2013-04-21 Roland Clobus * common/set.c, common/set.h: Added set_size, added documentation. 2013-04-20 Roland Clobus * common/set.c, common/set.h, common/Makefile.am: Added algorithm Set. 2013-04-15 Micah Bunting * client/gtk/frontend.c, client/gtk/frontend.h, client/gtk/identity.c: Resize the height of the identity panel. 2013-04-05 Roland Clobus * client/ai/Makefile.am, client/ai/ai.c, client/ai/ai.h, client/ai/genetic.c: Added stub for a new computer player. 2013-03-19 Roland Clobus * configure.ac, Makefile.am, MinGW/README.txt, MinGW/iconify2.scm, client/gtk/data/pioneers.ico, server/gtk/pioneers-server.ico, editor/gtk/pioneers-editor.ico: Store hard to regenerate MSWindows icons in the repository again. (Icons are now also 256x256) 2013-03-17 Roland Clobus * server/avahi.c, server/meta.c, common/network.c, common/network.h: Replaced copy of code from g_get_host_name by glib function. 2013-03-15 Roland Clobus * common/gtk/colors.c, common/gtk/gtkbugs.c, common/gtk/polygon.c, server/avahi.h: Fixed FTBFS on Debian 6 due to missing include of config.h. Checked all files to include config.h in the c-file. 2013-03-07 Roland Clobus * metaserver/main.c: Use the regular log functions. 2013-02-26 Roland Clobus * server/meta.c, server/admin.c, server/server.h, client/gtk/connect.c, common/network.h, common/state.c, common/network.c: Added Session to callbacks. Fixed handling of the metaserver protocol. * common/gtk/common_gtk.c, common/gtk/common_gtk.h, server/gtk/main.c, client/gtk/gui.c: Show the log when something is logged. * common/state.c: Fixed the bug introduced on 2013-02-15 which crashed the server when a connection was closed. 2013-02-24 Roland Clobus * configure.ac, server/server.c, server/server.h, server/main.c, server/admin.c, server/admin.h, server/gtk/main.c, server/meta.c, Makefile.am, metaserver/README.protocol, metaserver/meta-report, metaserver/main.c, metaserver/Makefile.am, client/gtk/admin-gtk.c, client/gtk/frontend.h, client/gtk/offline.c, client/gtk/connect.c, client/help/C/pioneers.xml, po/POTFILES.in, ChangeLog, docs/pioneers-server-gtk.6, docs/pioneers-meta-server.6, docs/pioneers-metaserver.6, docs/pioneers.6, docs/Makefile.am, docs/pioneers-server-console.6, common/network.c, common/network.h, common/gtk/metaserver.c: Fixed variants of the spelling of meta[- _]server to metaserver. 2013-02-23 Roland Clobus * server/server.c, server/admin.c, server/admin.h: Used the correct port in the admin interface. 2013-02-19 Roland Clobus * configure.ac, server/meta.c, server/avahi.c, server/player.c, client/common/client.c, common/game.c, common/game.h: Moved the #define of PROTOCOL_VERSION to the enum ClientVersionType for a single location to keep the PROTOCOL_VERSION. 2013-02-17 Roland Clobus * admin-scripts/list.sh: Works for 5/6-player game too. 2013-02-15 Roland Clobus * server/admin.c, server/admin.h, server/meta.c, client/gtk/connect.c, common/state.c, common/network.c, common/network.h: Removed function casts for NetNotifyFunc. * server/admin.c, common/network.c, common/network.h: Revert of the change on 2012-04-03, now the admin interface works again. * server/turn.c, server/admin.c, server/admin.h, server/main.c: The admin interface uses the current game. Cleanup of private functions. 2013-02-12 Roland Clobus * editor/gtk/editor.c: Better logic for the +/- buttons for columns when the limit is reached. * client/gtk/frontend.h, client/gtk/interface.c, client/gtk/callbacks.c: Close the game over dialog when a new game starts. 2013-02-10 Roland Clobus * server/buildutil.c: Fixed warning from --enable-warnings=full. 2013-02-09 Roland Clobus * Makefile.am: Distribute pioneers.pot in the tarball again. 2013-02-08 Roland Clobus * server/main.c, server/gtk/main.c, server/server.c: Moved avahi related code to central location. * server/gtk/main.c: Fixed crash after quit. 2013-01-27 Roland Clobus * editor/gtk/editor.c, common/cards.c, common/map_query.c, common/gtk/player-icon.c, common/gtk/guimap.c, common/gtk/player-icon.h, common/gtk/colors.c, common/gtk/theme.c, common/gtk/config-gnome.c, common/game.c, common/state.c, common/network.c, common/buildrec.c, meta-server/main.c, configure.ac, server/admin.c, server/buildutil.c, server/resource.c, server/turn.c, server/player.c, server/develop.c, server/server.c, server/discard.c, server/robber.c, server/pregame.c, server/main.c, client/gtk/trade.c, client/gtk/settingscreen.c, client/gtk/name.c, client/gtk/gui.c, client/gtk/player.c, client/gtk/interface.c, client/common/stock.c, client/common/callback.c, client/common/player.c, client/ai/ai.c, client/ai/greedy.c, client/callback.h: Enable -Wsign-compare, fix all warnings, resulting in a working game again (was broken due to signed/unsigned issues). * server/server.c: Reverted change on 2012-12-18: #define PRINT_INFO. 2013-01-26 Roland Clobus * common/map.c: Fix signed/unsigned issue resulting in crash. * client/gtk/develop.c, client/gtk/frontend.h: Fixed compiler warning introduced 2012-12-18. * client/ai/greedy.c: Fixed random chat messages (behaviour matches the function name again). 2013-01-19 Roland Clobus * client/gtk/connect.c: Clear the list of games and set focus to the dialog with the list of games when changing the metaserver. 2013-01-18 Roland Clobus * client/ai/ai.c, client/ai/greedy.c, common/gtk/theme.h: Cleanup of some warnings generated by --enable-warnings=full. 2013-01-17 Roland Clobus * common/game.h: Fixed building due to missing ssize_t on armel. 2012-12-18 Roland Clobus * server/main.c, server/avahi.c, server/develop.c, server/meta.c, server/turn.c, server/admin.c, server/player.c, server/buildutil.c, server/gtk/main.c, server/server.c, server/server.h, client/gtk/interface.c, client/gtk/resource-table.c, client/gtk/resource-table.h, client/gtk/resource-view.gob, client/gtk/frontend.h, client/gtk/avahi.c, client/gtk/audio.h, client/gtk/avahi-browser.c, client/gtk/settingscreen.c, client/gtk/connect.c, client/common/callback.c, client/common/client.c, client/common/develop.c, client/common/client.h, client/common/stock.c, client/common/main.c, client/ai/ai.c, client/ai/greedy.c, client/callback.h, editor/gtk/editor.c, common/gtk/game-rules.c, common/gtk/game-settings.c, common/gtk/guimap.c, common/quoteinfo.c, common/game.c, common/map.c, common/game.h, common/state.c, common/log.c, common/map.h, common/state.h, common/log.h, common/network.c, common/cards.c, common/network.h, common/cards.h, common/map_query.c: Cleanup of some warnings generated by --enable-warnings=full. No need for time(NULL) initialization of random seed anymore as Glib takes care of that now. Moved debug function to log.h. Moved private definition of StateMachine to code file. Fixed datatype in ai code for better evaluation of opponents hex tiles. 2012-11-01 Roland Clobus * admin-scripts/list.sh, admin-scripts/kill-game.sh, admin-scripts/locallobby.sh, admin-scripts/remotelobby.sh, admin-scripts/meta.sh, admin-scripts/locallobbybot.sh, admin-scripts/remotelobbybot.sh: Use #!/bin/sh instead of dash. * admin-scripts/list.sh: Better display. * docs/README.release: No gaps in time for the version numbers. 2012-08-07 Roland Clobus * common/gtk/config-gnome.c: Use g_open instead of open, to allow users with non-ascii username under Windows to save their preferences. 2012-07-06 Roland Clobus * MinGW/pioneers.nsi.in: Show installation size, updated homepage. 2012-06-03 Roland Clobus * Taken from the 14.1 branch (for the Windows installer): * MinGW/pioneers.nsi.in: Added missing dll. * configure.ac: LDFLAGS for hardening don't work under Windows. 2012-06-01 Roland Clobus * commmon/gtk/game-rules.c, po/*: Fixed typo. 2012-05-28 Roland Clobus * configure.ac: Work version is 14.2. * docs/README.release: Updated release script. 2012-05-28 Roland Clobus * Released 14.1. 2012-05-28 Roland Clobus * common/gtk/theme.c: Removed deprecated warning. * common/gtk/config-gnome.c, server/player.c: Suppress warnings for the use of write. * server/pregame.c, client/common/client.c: Deprecated the 'player disconnected' message. * common/network.c: Fixed memory leak in debug code. * docs/README.release: Updated location of ClientVersionType. * client/gtk/data/splash.svg: Updated for protocol 14. * NEWS: Release notes for 14.1. * TODO: Referred to the Feature Request page on SourceForge. * client/ai/lobbybot.c: Mentioned 14.1. 2012-05-19 Roland Clobus * editor/gtk/editor.c, common/gtk/game-rules.c: Translator hints. 2012-05-17 Roland Clobus * server/Evil_square.game, server/ubuntuland.game, server/default.game, server/crane_island.game, server/GuerreDe100ans.game, server/Mini_another_swimming_pool_in_the_wall.game, server/canyon.game, server/archipel_gold.game, server/iles.game, server/conquest.game, server/conquest+ports.game, server/small.game, server/seafarers.game, server/north_america.game, server/coeur.game, server/lorindol.game, server/seafarers-gold.game, server/5-6-player.game, server/lobby.game, server/south_africa.game, server/Another_swimming_pool_in_the_wall.game, server/henjes.game, server/Cube.game: Use the new descriptions. All games are saved by the editor. 2012-04-27 Roland Clobus * server/gtk/main.c, client/gtk/offline.c, editor/gtk/editor.c, common/gtk/theme.c, common/gtk/theme.h: Cleanup themes for valgrind. * common/gtk/guimap.c, common/gtk/theme.c, common/gtk/select-game.c, common/gtk/select-game.h: More cleanup for valgrind. * common/gtk/theme.c: Removed double rendering. * editor/gtk/editor.c: Reenabled the context menu on right-click which was disabled on 2011-02-23. 2012-04-06 Roland Clobus * editor/gtk/editor.c: Added a file filter. 2012-04-05 Roland Clobus * editor/gtk/editor.c: Use default folder in file dialogs. * common/map.c: Correctly handle NULL for chits, as introduced on 2012-03-21. 2012-04-03 Roland Clobus * common/network.c, common/network.h, server/admin.c: Restrict knowledge of the Session struct to network.c 2012-03-28 Roland Clobus * client/gtk/callbacks.c, client/common/client.c: Show and hide nosetup nodes for the viewer too. * common/game.c: Don't send strings twice in game settings. 2012-03-21 Roland Clobus * editor/gtk/editor.c, common/gtk/game-rules.c, common/gtk/game-rules.h, common/game.c, common/game.h, server/gtk/main.c: Added island discovery bonus widget. Cleanup of params in the editor (with thanks to Micah Bunting for the initial version). 2012-02-24 Roland Clobus * common/game.c, common/map.c: Moved NULL check to map_free. 2012-02-12 Roland Clobus * Makefile.am: Added 'pristine' target to remove svn:ignore files. * configure.ac: Split AC_CONFIG_FILES. Needed for MinGW builds. * client/gtk/resource-view.gob: Fixed layout bug introduced 2011-11-12. 2012-02-10 Roland Clobus * configure.ac, Makefile.am, client/gtk/data/Makefile.am: The script rsvg is deprecated. Using rsvg-convert which was called by rsvg. * MinGW/Makefile.am: MinGW port requires libssp-0.dll too. Also use the install-hook to automagically install the DLLs. 2012-02-09 Roland Clobus * configure.ac: Use the same flags as for Debian hardening and also use the minimal linking flags. * common/game.c, common/game.h, server/server.c: Find duplicate games. 2012-02-02 Roland Clobus * Makefile.am: Don't include source files in BUILT_SOURCES. * common/Makefile.am, common/gtk/Makefile.am, client/gtk/Makefile.am: Better marking for gob related files. 2012-01-30 Roland Clobus * editor/gtk/Makefile.am, server/gtk/Makefile.am, Makefile.am, client/gtk/data/Makefile.am: Created the large icons for the GNOME 3 desktop. * editor/gtk/pioneers-editor.desktop.in, server/gtk/pioneers-server.desktop.in, client/gtk/pioneers.desktop.in: Removed the obsolete UTF-8 encoding tag and removed the filename extension from the Icon tag. 2012-01-17 Roland Clobus * client/common/client.c: Fixed string building function. * server/gtk/main.c: Fixed the bug introduced on 2011-11-06, which did not correctly disabled the entries related to 'Register server'. 2012-01-13 Roland Clobus * client/gtk/trade.c: Fixed the bug introduced on 2011-08-18, which broke the trade in games without interplayer trade (it worked in 0.12.4). * client/gtk/gui.c, client/gtk/interface.c: Remove the quote tab when leaving a game. * client/gtk/trade.c: Invalidate offers that are not interesting anymore. * server/turn.c, server/player.c, server/server.h, server/pregame.c, server/buildutil.c, client/common/client.c: Simpler longest road check. 2012-01-09 Roland Clobus * docs/pioneers-server-gtk.6, docs/pioneers-meta-server.6, docs/pioneersai.6, docs/pioneers.6, docs/pioneers-server-console.6, docs/pioneers-editor.6: Updated man pages. 2012-01-06 Roland Clobus * client/gtk/offline.c: Send the new avatar style (it worked in 0.12.3). 2012-01-05 Roland Clobus * editor/gtk/editor.c: Fixed a crash when a game needs logging. 2011-12-11 Roland Clobus * client/gtk/connect.c, server/gtk/main.c, server/server.c: Added newline to log messages about errors starting a program. 2011-12-10 Roland Clobus * meta-server/main.c: Replaced strerror 2x by g_strerror, as found by autoscan. 2011-12-07 Roland Clobus * editor/gtk/editor.c, common/gtk/scrollable-text-view.gob, common/gtk/Makefile.am, common/game.c, common/game.h: Store the comments in the editor. With many thanks to Micah Bunting for the initial versions of this patch. 2011-12-02 Roland Clobus * pioneers.nsi.in, README.MinGW, MinGW/pioneers.nsi.in, MinGW/README.txt, configure.ac: Moved MinGW related stuff to MinGW directory. New instructions in the README.txt. 2011-12-01 Roland Clobus * server/lobby.game, server/theme_preview.game: Removed obsolete rule. 2011-11-29 Roland Clobus * server/pregame.c, server/player.c, server/server.h, common/game.c, common/game.h: Allow versioned rules. * common/state.c: Easier debugging of the state machine. 2011-11-28 Roland Clobus * client/ai/ai.c: Removed old debug line. * pioneers.nsi.in, MinGW/gdk-pixbuf.loaders, MinGW/Makefile.am, MinGW/loaders.cache, README.MinGW: Release of 0.12.5 for Windows. Code from the 0.12.5 branch. 2011-11-26 Roland Clobus * Makefile.am: Remove incorrect guard for BUILD_SERVER. 2011-11-21 Roland Clobus * common/gtk/theme.c, common/gtk/theme.h: Speedup of server-gtk by not rescaling the theme when it is not necessary. 2011-11-12 Roland Clobus * editor/gtk/editor.c, common/gtk/gtkcompat.h, common/gtk/theme.c, common/gtk/common_gtk.h, common/gtk/guimap.c, common/gtk/player-icon.c, common/gtk/select-game.c, common/gtk/common_gtk.c, configure.ac, server/gtk/main.c, client/gtk/plenty.c, client/gtk/name.c, client/gtk/resource-view.gob, client/gtk/gold.c, client/gtk/player.c, client/gtk/legend.c, client/gtk/quote-view.c, client/gtk/gameover.c, client/gtk/discard.c, client/gtk/monopoly.c, client/gtk/settingscreen.c, client/gtk/gui.c, client/gtk/identity.c, client/gtk/connect.c, client/gtk/histogram.c: Enable GSEAL_ENABLE. 2011-11-07 Roland Clobus * editor/gtk/game-resources.c, editor/gtk/game-devcards.c, editor/gtk/game-buildings.c, editor/gtk/game-settings.c, common/gtk/aboutbox.c, server/gtk/main.c: Some preparation for Gtk+3. 2011-11-06 Roland Clobus * server/gtk/main.c: Removed Gtk-CRITICAL messages by setting the togglebutton after the items to be disabled have been created. 2011-10-30 Roland Clobus * configure.ac: Work version is 14.1 2011-10-30 Roland Clobus * Released 0.12.5 2011-10-30 Roland Clobus * server/player.c, server/server.c, server/server.h, server/pregame.c: Forget players in the lobby when they disconnect. Don't start the lobby game. * admin-scripts/meta.sh: Allow more games to be hosted. * client/gtk/resource-view.gob: Don't request more space for the single resource view. * common/gtk/guimap.c, server/gtk/main.c, server/turn.c, server/pregame.c, client/gtk/frontend.c, client/gtk/gui.c, client/gtk/connect.c, client/common/client.c, client/ai/greedy.c: Fixed some shadowed variable names. * client/ai/greedy.c: Fixed a datatype when finding the best road. * client/gtk/gui.c: Used a simpler routine to build the icons for the toolbar. * server/develop.c: Added extra check to see if the development card that is being played is valid. With thanks to miton for reporting this issue. * server/develop.c: Fixed a bug that would stop the server on an assert when the road building action was used to win the game before the dice were rolled. * NEWS: Release notes for 0.12.5 * TODO: Remove one old and one implemented feature. * client/ai/lobbybot.c: Mention 0.12.5 2011-10-27 Roland Clobus * client/gtk/frontend.h, client/gtk/notification.c, client/gtk/notification.h, client/gtk/quote.c, client/gtk/trade.c, client/gtk/interface.c: Use the toolbar icons in the notification messages. * client/gtk/data/Makefile.am, client/gtk/data/*.svg, client/gtk/data/*.png: Replaced PNG bitmaps of the toolbar items by SVG vector images. * server/theme_preview.game: Included bridges and ship in the preview. * client/common/client.c: Removed old stack dump. 2011-10-22 Roland Clobus * common/gtk/game-rules.c, common/gtk/game-rules.h, common/game.c, common/game.h, server/gtk/main.c, client/gtk/identify.c: Removed the colored dice patch which was written early after the release of 0.12.4 to have a last release in the 0.12-series. * common/gtk/Makefile.am: Added gtkcompat.h for make distcheck. * client/gtk/resource-view.gob: Removed compiler warnings. * common/gtk/theme.c, client/gtk/name.c: Removed compiler warnings for -Wbad-function-cast. 2011-10-21 Roland Clobus * client/gtk/quote.c, client/gtk/trade.c: Fixed comment for translators. * client/gtk/connect.c: Fixed a typo. 2011-10-20 Roland Clobus * client/gtk/trade.c: make reindent. * meta-server/main.c: Fixed a memory leak. * docs/pioneers-meta-server.6, meta-server/main.c: Allow graceful shutdown of the metaserver by sending SIGUSR1. * editor/gtk/game-resources.c, editor/gtk/editor.c, editor/gtk/game-building.c: Fixed a few warnings with --enable-warnings=full. 2011-10-18 Roland Clobus * common/gtk/game-rules.c: Turn off pirate when there are no ships. * client/gtk/trade.c: Fix compiler warning. * configure.ac, client/gtk/notification.c: Backport of libnotify for Debian Stable. 2011-10-17 Roland Clobus * configure.ac, client/gtk/interface.c, client/gtk/notification.c, client/gtk/notification.h, client/gtk/quote.c, client/gtk/trade.c, client/gtk/offline.c, client/gtk/gui.c, client/gtk/Makefile.am: Added notifications. Many thanks to Patrick who wrote the basis for the patch. 2011-09-18 Roland Clobus * server/robber.c: Fix a crash when moving the pirate before a robber was visible. 2011-09-10 Roland Clobus * server/gtk/main.c: Fit the server in 1024x768. 2011-08-18 Micah Bunting * client/gtk/trade.c: Follow GNOME HIG (no frames) * editor/gtk/editor.c, common/gtk/common_gtk.c, common/gtk/common_gtk.h: Move build_frames to common location. * server/gtk/main.c: Follow GNOME HIG (no frames) * client/gtk/identity.c: Code simplification. 2011-08-10 Micah Bunting * server/gtk/main.c: Code cleanup. 2011-08-05 Micah Bunting * editor/gtk/editor.c: Follow GNOME HIG (no frames) 2011-08-03 Roland Clobus * client/ai/greedy.c: Fix compiler warnings about mixed enums. 2011-07-25 Micah Bunting * editor/gtk/editor.c, client/gtk/gui.c: Add fullscreen. 2011-07-25 Roland Clobus * Makefile.am, client/gtk/frontend.h, client/gtk/resource-view.gob, client/gtk/resource.c, client/gtk/legend.c, client/gtk/gui.c, client/gtk/Makefile.am, client/gtk/gui.h: Move all display functions of resources to resource-view.gob. Also fix the .gob make rules. Also use cairo for the display of the resources, which allows for fractional coordinates and smooth resizing. 2011-07-20 Roland Clobus * common/notifying-string.gob: make reindent 2011-07-14 Roland Clobus * common/gtk/theme.c, common/gtk/gtkcompat.h: Restore compatibility with Debian Stable. 2011-07-06 Roland Clobus * common/gtk/player-icon.c, common/gtk/polygon.c, common/gtk/polygon.h, client/gtk/player.c, client/gtk/quote-view.c: Replace GdkGC. 2011-07-01 Roland Clobus * common/gtk/theme.c: Replace GDK deprecated functions. * client/gtk/identity.c: Replace GDK deprecated functions. 2011-06-26 Roland Clobus * MinGW/Makefile.am, pioneers.nsi.in: Fix the Windows installer. (Taken from the 0.12.4 branch) 2011-06-13 Roland Clobus * common/gtk/player-icon.c, common/gtk/player-icon.h, common/gtk/common_gtk.c, common/log.c, common/log.h, server/gtk/main.c, server/gold.c, server/player.c, server/trade.c, server/server.h, server/pregame.c, NEWS, client/callback.h, client/gtk/callbacks.c, client/gtk/name.c, client/gtk/frontend.h, client/gtk/player.c, client/gtk/quote.c, client/gtk/chat.c, client/gtk/offline.c, client/gtk/gui.c, client/gtk/identity.c, client/gtk/connect.c, client/common/client.c, client/common/client.h, client/common/callback.c, client/common/player.c, client/help/C/pioneers.xml, client/ai/ai.c, client/ai/lobbybot.c: Change 'viewer' to 'spectator'. * meta-server/main.c, server/pregame.c, client/gtk/offline.c, client/common/player.c: Remove unused variables. Thanks to gcc-4.6 for finding them. 2011-06-05 Roland Clobus * configure.ac, client/callback.h, client/gtk/callbacks.c, client/gtk/name.c, client/gtk/frontend.h, client/gtk/offline.c, client/gtk/Makefile.am, client/gtk/connect.c, client/common/client.c, client/common/client.h, client/common/callback.c, client/ai/ai.h, client/ai/greedy.c, client/ai/Makefile.am, client/ai/ai.c, client/ai/lobbybot.c: Use NotifyingString as the only place to store the name and style of the player. Fix a race condition in connect.c which whould result in a crash when the dialog was shown after a failed connection. To be able to use NotifyingString, the initialisation of glib is split from the other init functions. * editor/gtk/editor.c: Fix compiler warning 2011-06-04 Roland Clobus * common/gtk/guimap.c, common/gtk/guimap.h, common/map.c, common/map.h: Replace detection of the location of the cursor on the map with GdkRegion by mathematics. 2011-05-31 Roland Clobus * common/gtk/gtkcompat.h, configure.ac, client/gtk/gui.c, client/gtk/connect.c: Restore compatibility with Debian Stable. 2011-05-20 Roland Clobus * common/gtk/guimap.c: Prefer bridge over settlement. 2011-05-14 Roland Clobus * common/gtk/guimap.c, common/gtk/guimap.h, common/gtk/polygon.c, common/gtk/polygon.h, client/gtk/identity.c: Use cairo in guimap.c 2011-05-04 Roland Clobus * editor/gtk/editor.c: Upgrade to GTK 2.24 2011-05-03 Roland Clobus * common/gtk/guimap.c, common/gtk/guimap.h, client/gtk/histogram.c: Migrate histogram.c to cairo. 2011-04-30 Roland Clobus * client/gtk/resource.c, client/gtk/legend.c, client/gtk/gui.c, client/gtk/gui.h: Upgrade gui.c to GTK 2.24 2011-04-29 Roland Clobus * common/gtk/guimap.c, client/gtk/resource.c: Replace gdk_draw_drawable. * client/gtk/connect.c, configure.ac: Upgrade to GTK 2.24 2011-02-23 Micah Bunting * editor/gtk/editor.c, common/gtk/guimap.c, common/gtk/guimap.h, client/gtk/gui.c: Add pan and zoom for the scroll wheel. 2011-02-23 Roland Clobus * common/gtk/theme.c, common/gtk/theme.h, common/gtk/guimap.c, common/gtk/guimap.h, client/gtk/legend.c, client/gtk/quote-view.c, client/gtk/histogram.c: Move terrain drawing code to theme. 2011-02-21 Micah Bunting and Roland Clobus * editor/gtk/editor.c, common/map.c, common/map.h: Resize the map with insert and remove at both ends. 2011-02-18 Micah Bunting * common/map.c: Use new accessor functions. 2011-02-16 Micah Bunting * common/map.c: Fixed infinite loop for large maps. 2011-02-15 Roland Clobus * client/gtk/gameover.c: Remove second log entry about winning. 2011-02-13 Roland Clobus * client/common/player.c: Translate the name of the additional points. 2011-02-05 Roland Clobus * client/gtk/identity.c: Use array for dice. 2011-02-05 Matt Zagrabelny * common/game.c, common/game.h, common/gtk/game-rules.c, common/gtk/game-rules.h: Added checkbox to enable experimental Cities and Knights expansion rules. * server/gtk/main.c: Store the value of the checkbox. * common/gtk/colors.c, common/gtk/colors.h, client/gtk/identity.c: Use colored dice for Cities and Knights. 2011-01-26 Roland Clobus * configure.ac: Work version is 0.12.5. 2011-01-26 Roland Clobus * Released 0.12.4. 2011-01-26 Roland Clobus * MinGW/gdk-pixbuf.loaders, MinGW/Makefile.am, pioneers.nsi.in, macros/type_socklen_t.m4, configure.ac, Makefile.am, README.MinGW: Fixed the MinGW port. * client/ai/lobbybot.c: Mention 0.12.4. * docs/README.release: Use the tag for the release build. 2011-01-23 Roland Clobus * client/gtk/data/themes/ccFlickr/Makefile.am: Fix typo in path. 2011-01-15 Roland Clobus * NEWS: Updated for release of 0.12.4 * Makefile.am: Remove intltool-*.in, fixes 'make distcheck' on Debian stable 2011-01-10 Roland Clobus * common/Makefile.am: Fix build for Mac OSX (don't use echo -n), with thanks to Camillo Lugaresi (camillol@users.sourceforge.net) for reporting and testing. 2011-01-08 Roland Clobus * README.Cygwin: Added information about gob2 2010-12-29 Roland Clobus * client/common/client.c, client/ai/ai.c: Added a logbot, as suggested by Andreas Steinel * common/gtk/gtkbugs.c: Fixed and explained the guard around Gtk bug 56070. 2010-12-10 Roland Clobus * client/common/client.c: Don't process zero num_soldiers on reconnect, to avoid setting statistics for viewers. 2010-12-08 Roland Clobus * common/gtk/gtkbugs.c, common/gtk/gtkbugs.h, client/gtk/gold.c, client/gtk/player.c, client/gtk/discard.c: Remove code for column resizing (was needed only for Gtk+ 2.6) 2010-12-07 Roland Clobus * common/gtk/gtkbugs.c, common/gtk/gtkbugs.h: Remove workaround for tooltips, because 2.12 is the minimum required version in configure.ac 2010-11-24 Ron Yorgason * pioneers.nsi.in, server/Makefile.am, server/north_america.game: After nearly six years, this map finally moved from the contrib section on the website to the distributed version. 2010-11-10 Matt Perry * pioneers.nsi.in, server/Makefile.am, server/ubuntuland.game: New layout in the shape of the Ubuntu logo. 2010-11-07 Roland Clobus * client/gtk/plenty.c: Show the right amount to select in the year of plenty dialog after the dialog was closed. 2010-10-31 Roland Clobus * server/develop.c, client/ai/greedy.c: Let computer player trade after playing a monopoly development card. Play development card when the required resource can be got or when it can be obtained by trade. 2010-10-26 Roland Clobus * configure.ac: Add -lm when needed (rint, sqrt). * editor/gtk/editor.c, common/gtk/game-rules.c, common/gtk/common_gtk.c, common/state.c, common/log.c, common/cards.c, server/gtk/main.c, server/turn.c, client/gtk/plenty.c, client/gtk/resource-table.c, client/gtk/name.c, client/gtk/gold.c, client/gtk/resource.c, client/gtk/quote.c, client/gtk/develop.c, client/gtk/legend.c, client/gtk/gameover.c, client/gtk/avahi-browser.c, client/gtk/discard.c, client/gtk/monopoly.c, client/gtk/settingscreen.c, client/gtk/chat.c, client/gtk/gui.c, client/gtk/connect.c, client/gtk/histogram.c, client/common/develop.c, client/common/player.c, client/ai/greedy.c, client/ai/ai.c, client/ai/lobbybot.c: Update and reenable translator hints. 2010-10-25 Roland Clobus * admin-scripts: Added various scripts to automate the metaserver. * getVersions.sh, kill-game.sh: Moved to admin-scripts. 2010-10-24 Roland Clobus * common/state.c: Fix bug introduced on 2010-10-20 * common/state.c: g_return_if_fail was not required. 2010-10-20 Roland Clobus * common/game.c, common/game.h, common/state.c, common/state.h, server/player.c: Renamed sm_vformat to game_vprintf and try_recv to game_vscanf, for better generic location. 2010-10-15 Roland Clobus * configure.ac: Extra quotes for GOB2 check, needed for Debian Stable. 2010-10-14 Roland Clobus * server/gold.c: Set gold counter to zero after automatic distribution of gold. 2010-10-13 Roland Clobus * server/player.c, server/server.h, server/main.c: Automatically quit a game that is started on the metaserver that has no human player for 30 minutes. * pioneers.nsi.in: Adding en_GB and gl. 2010-10-07 Roland Clobus * common/notifying-string.gob, common/Makefile.am, configure.ac, Makefile.am, client/gtk/name.c, client/gtk/frontend.h, client/gtk/offline.c, client/gtk/connect.c: Ensure that the name of the player is always up to date in any view. 2010-10-06 Roland Clobus * configure.ac: Make $(ECHO) work on Cygwin too * README.Cygwin: Updated to match Cygwin 1.7 * configure.ac: Server appears to work in Cygwin 2010-10-05 Roland Clobus * client/gtk/gui.c, server/gtk/main.c, common/gtk/common_gtk.c, common/gtk/common_gtk.h: Added a close button on tab pages. Based on a patch by Anti Sullin and layout suggestions from http://www.gtkforums.com/about4027.html 2010-09-22 Roland Clobus * common/gtk/gtkbugs.c, common/gtk/guimap.c, client/gtk/histogram.c: Build with full deprecation checks on Gtk+ 2.20.1 2010-09-21 Roland Clobus * server/theme_preview.game: Game to test the look of a new theme. 2010-09-02 Roland Clobus * common/network.c: Return CONNECT_FAIL when connection fails. 2010-09-01 Roland Clobus * client/gtk/avahi.c: Stop attempt to register Avahi on error. 2010-06-26 Roland Clobus * server/main.c, server/admin.c, server/admin.h: Quit when socket is not available. * server/player.c: Quit when only computer players are present. 2010-06-14 Roland Clobus * meta-server/main.c: Fixed leak of open sockets when out of games. 2010-06-12 Roland Clobus * bash_completion: Completion rules for bash. 2010-06-08 Roland Clobus * client/gtk/connect.c: Use row variable to add elements to the table. * debian/control, debian/changelog, configure.ac, server/gtk/main.c, server/gtk/Makefile.am, server/avahi.c, server/avahi.h, server/main.c, server/Makefile.am, Makefile.am, po/POTFILES.in, client/gtk/avahi.c, client/gtk/avahi.h, client/gtk/avahi-browser.c, client/gtk/avahi-browser.h, client/gtk/Makefile.am, client/gtk/connect.c: Added Avahi support. Many thanks to Andreas Steinel who provided the ground work. * client/gtk/avahi.c, client/gtk/avahi-browser.c, client/gtk/avahi-browser.h: Use resolved IP-address for Avahi. 2010-06-06 Roland Clobus * client/gtk/discard.c, client/gtk/gold.c: Replace fixes size buffer, use ngettext. 2010-05-25 Roland Clobus * server/server.c, server/meta.c: Fill Game.hostname at the right place. 2010-05-14 Roland Clobus * client/gtk/connect.c: Fix capitalization again. 2010-05-13 Roland Clobus * client/gtk/connect.c: Add ordering to connect dialog. * server/pregame.c: Fix compiler warning. * common/gtk/player-icon.c, common/game.c, common/game.h, server/player.c, server/server.h, client/gtk/name.c, client/gtk/offline.c, client/common/player.c: Add function determine_player_type and variable default_player_style. * client/gtk/offline.c: Show better message when not connected. * client/common/client.c: Don't show 'Waiting for your turn' for viewers. Added full stop for several instructions. * editor/gtk/game-resources.c, editor/gtk/editor.c, editor/gtk/game-buildings.c, common/gtk/game-rules.c, common/gtk/game-settings.c, common/cards.c, server/gtk/main.c, client/gtk/interface.c, client/gtk/name.c, client/gtk/gold.c, client/gtk/player.c, client/gtk/quote.c, client/gtk/develop.c, client/gtk/legend.c, client/gtk/trade.c, client/gtk/gameover.c, client/gtk/discard.c, client/gtk/settingscreen.c, client/gtk/offline.c, client/gtk/gui.c, client/gtk/connect.c: Adjust capitalization. * common/gtk/common_gtk.c: Add caption to dialog. 2010-04-27 Roland Clobus * server/player.c: Don't show 'This game starts soon' for the last player to enter the game. * server/pregame.c: When all players are present, stop the tournament timer. * server/pregame.c: Reset the statistics for viewers. * client/common/player.c: Added a missing full stop. 2010-04-07 Roland Clobus * client/ai/greedy.c: Play soldier before starting the turn when own resource is blocked. 2010-03-27 Roland Clobus * client/gtk/monopoly.c, client/common/player.c: Use en_US spelling 2010-03-11 Roland Clobus * client/gtk/data/themes/FreeCIV-like/theme.cfg, client/gtk/data/themes/Wesnoth-like/theme.cfg: Fix the themes to avoid drawing black letters on a black background. (Fixes Ubuntu bug #530988) * client/gtk/data/themes/ccFlickr: Added a new theme written by Aaron Williamson 2010-03-09 Roland Clobus * editor/gtk/game-devcards.c, editor/gtk/game-devcards.h, common/cards.h, common/cards.c, po/POTFILES.in, client/callback.h, client/gtk/develop.c, client/common/develop.c: Add tooltip with description of the development cards. (Many thanks to aaron@copiesofcopies.org who wrote the basis for the patch 2008-04-12) 2010-03-02 Roland Clobus * client/ai/greedy.c: Let the AI select only available resources. * configure.ac: Upgrade to GTK+ to 2.12 and glib to 2.16. * configure.ac, common/Makefile.am: Fixes the previous patch to common/Makefile.am. The newest version of libtool.m4 did not publish ECHO. 2010-02-28 Roland Clobus * meta-server/main.c: Fix some memory leaks. * common/Makefile.am: Use variables for sed and echo. (Thanks to Hans Fugal who wrote the initial patch) 2010-02-16 Roland Clobus * kill-game.sh: Added maintenance script for the metaserver. * server/player.c: Stop and deregister the tournament timer when the time has passed. Cleanup all players that disconnected during the registration persiod, to fix the bug that the added computer players would leave the game thinking that they are viewers. With the timer still running, and even restarting this would cause a fork bomb. 2010-02-10 Roland Clobus * getVersions.sh: Update for many distributors * meta-server/main.c: Fix a resource leak which would cause the meta- server to stop sending the names of the games eventually. 2010-01-10 Roland Clobus * pioneers.nsi.in: Update the Windows installer to include all DLLs. * Makefile.am: Invoke indent twice to fix unstable reindents. 2009-12-31 Roland Clobus * common/network.c: Fix FTBFS for Windows. 2009-11-29 Roland Clobus * editor/gtk/editor.c: Use the correct size for the icons in the context menu. * editor/gtk/editor.c, common/gtk/guimap.c, common/gtk/guimap.h: The editor can set/unset nosetup nodes. 2009-11-04 Roland Clobus * configure.ac: Work version is 0.12.4 2009-11-04 Roland Clobus * Released 0.12.3 2009-11-04 Roland Clobus * docs/README.release: Mention the .in files * client/ai/lobbybot.c: Mention 0.12.3 * NEWS: Release notes for 0.12.3 2009-10-25 Roland Clobus * xmldocs.make, omf.make: Synchronized with gnome-common, to remove warnings. * pioneers.nsi.in: Theme pixmaps have moved. 2009-10-15 Roland Clobus * client/gtk/interface.c: No beep after the robber has moved. * client/gtk/gui.c: Fix double keyboard shortcut in Game menu. * common/gtk/theme.c, client/gtk/data/themes/Iceland/theme.cfg, client/gtk/data/themes/FreeCIV-like/theme.cfg, client/gtk/data/themes/Makefile.am: Remove special handling of old default theme. * client/gtk/data/themes/*.png: Removed, because not used anymore. 2009-09-30 Roland Clobus * client/gtk/gui.h: Add extra debug information. 2009-09-26 Roland Clobus * common/gtk/theme.c: Only add the default theme when no other theme has been added. * client/gtk/data/themes/FreeCIV-like/Makefile.am, client/gtk/data/themes/FreeCIV-like/gold.png, client/gtk/data/themes/Iceland.am, client/gtk/data/themes/Iceland/board.png, client/gtk/data/themes/Iceland/sea.png: Add and mention the images that are shared from the (old) default theme. * client/gtk/data/themes/Makefile.am: Mention the Classic theme. * client/gtk/data/themes/Classic/*: Added the Classic theme (the images are from client/gtk/data/themes) 2009-09-22 Roland Clobus * editor/gtk/game-resources.c, editor/gtk/game-devcards.c, editor/gtk/game-buildings.c, common/gtk/game-settings.c, client/gtk/admin-gtk.c, client/gtk/connect.c: Set sensible page increment and set page_size to zero for all GtkAdjustments, to avoid warnings on the console. * docs/pioneers-meta-server.6: Added all commandline options, updated the BUGS section. * meta-server/main.c: Write a pid file, based on patch #2813162, written by Bas Wijnen. 2009-09-16 Roland Clobus * common/gtk/theme.c, docs/pioneers.6: Scan for user themes in $XDG_DATA_HOME/pioneers/themes, based on patch #1939885 written by Aaron (hasqldiesel@users.sourceforge.net) 2009-09-14 Roland Clobus * client/gtk/connect.c: Fixed a memory leak that was reported by cppcheck. 2009-09-13 Bas Wijnen * Makefile.am: Suppress GNU make specific warnings. 2009-09-06 Roland Clobus * common/network.c, common/network.h: Use all available protocols when connecting to a server. Fixes Debian bug #530032, Ubuntu bug #375745. * meta-server/main.c: Use a format string for the call to syslog. 2009-08-29 Roland Clobus * editor/gtk/game-resources.c, editor/gtk/game-devcards.c, editor/gtk/game-resources.h, editor/gtk/game-buildings.c, editor/gtk/game-devcards.h, editor/gtk/game-buildings.h, common/gtk/game-rules.c, common/gtk/game-rules.h, common/gtk/game-settings.c, common/gtk/game-settings.h, common/gtk/metaserver.c, common/gtk/metaserver.h, common/gtk/select-game.c, common/gtk/select-game.h, configure.ac, client/gtk/plenty.c, client/gtk/resource-table.c, client/gtk/resource-table.h, client/gtk/player.c, client/gtk/quote-view.h, client/gtk/settingscreen.c, client/gtk/chat.c, client/gtk/gui.c, client/gtk/connect.c: Prepare for GTK3 by implementing more strict deprecation rules. * po/fr.po: Fixed a typo (thanks to Olivier Berger for reporting) 2009-08-27 Roland * client/gtk/gui.c, client/gtk/legend.c: Show legend dialog without scrollbars when it is shown as a separate window. * macros/gnome-autogen.sh: Synchronized with gnome-common, to add support for automake-1.10. * editor/gtk/editor.c, common/gtk/game-rules.c, common/gtk/theme.c, common/gtk/guimap.c, common/game.c, common/map.c, server/gtk/main.c, server/meta.c, server/turn.c, server/pregame.c, server/admin.c, server/buildutil.c, client/gtk/player.c, client/gtk/legend.c, client/gtk/trade.c, client/gtk/quote-view.c, client/gtk/settingscreen.c, client/gtk/gui.c, client/gtk/connect.c, client/common/client.c, client/ai/greedy.c, client/ai/ai.c: make reindent * common/gtk/metaserver.c: Reenable support for Gtk 2.6. * configure.ac, pioneers.nsi.in: Fixes for Windows. 2009-07-08 Steve Langasek * server/main.c: If no game file is specified and there are more than 4 players, use the 5/6 player board by default. 2008-06-27 Bas Wijnen * docs/pioneers-editor.6, docs/Makefile.am: Add manual page for pioneers-editor. 2008-05-04 Roland Clobus * docs/pioneers-server-gtk.6, docs/pioneers-server-console.6, server/gtk/main.c, server/server.c, server/server.h, server/main.c, client/help/C/pioneers.xml: Use less memory for server-console. Add support for games in $XDG_DATA_HOME/pioneers. 2008-05-01 Roland Clobus * configure.ac: Work version is 0.12.3 2008-05-01 Roland Clobus * Released version 0.12.2 2008-05-01 Roland Clobus * server/player.c: The tournament minute has 60 seconds again, instead of only one. (Fix for 2008-03-24) * client/common/callback.c: Client send rejected quote again. (Fix for 2008-04-23) * NEWS: Release notes for 0.12.2 * client/ai/lobbybot.c: Mention 0.12.2 2008-04-27 Roland Clobus * configure.ac: Work version is 0.12.2 2008-04-27 Roland Clobus * Released version 0.12.1 2008-04-27 Roland Clobus * server/player.c, server/server.h: Added version 0.12. * client/gtk/data/splash.svg: Version 0.12. * docs/README.release: Added note for protocol changes. * configure.ac, README.subversion: Fix for previous change, the options are now 'IPv4' and 'unspecified'. IPv6 does not work, the name 'localhost' is not a IPv6 name. * common/network.c: Remove debug code from previous commit. * NEWS: Release notes for 0.12.1 * docs/README.release: Updated the release notes * client/ai/lobbybot.c: Mention 0.12.1 2008-04-23 Roland Clobus * configure.ac, README.subversion, common/network.c: Specify IPv4 or IPv6 for sockets. * server/turn.c, server/player.c, server/trade.c, server/server.h, server/pregame.c, client/common/client.c, client/common/callback.c, docs/server_states_trade.dot: Simplified the state machine for trade, this fixes a bug that could overflow the stack when a client did not acknowledge that the trade has ended. * configure.ac: Protocol to 0.12.1, due to the change in trade. * server/south_africa.game: New map, created by Petri Jooste 2008-03-26 Roland Clobus * common/gtk/aboutbox.c: Add translator_credits. * String freeze for 0.11.4 2008-03-24 Roland Clobus * server/player.c, server/server.h: Tournament timer improvements: Only start the timer on players, not viewers, reset the time when the last player left. 2008-03-23 Roland Clobus * configure.ac, autogen.sh: After running autoupdate, the minimum version for autoconf is 2.61, and intltool 0.35. * configure.ac, po/LINGUAS: Upgrade intltool to 0.35. * client/callback.h, client/gtk/offline.c, client/common/main.c, client/common/Makefile.am: Removed commandline argument to override the language. * client/common/i18n.c: No longer in use. * common/state.c: Removed compiler warning. * client/gtk/interface.c, client/gtk/player.c, client/gtk/audio.c, client/gtk/audio.h, client/gtk/chat.c, client/gtk/gui.c, client/gtk/Makefile.am, client/gtk/gui.h: Added silent mode, as requested by Mike Pater (SF #1655951) * common/gtk/metaserver.c, common/gtk/metaserver.h, common/gtk/Makefile.am, server/gtk/main.c, client/gtk/connect.c: Easier selection for metaservers (by using a combo box) * docs/pioneers-meta-server.6, meta-server/main.c: When -p is not specified, the metaserver will not be able to create games. * meta-server/main.c: Add tournament mode to games created on the metaserver. * configure.ac: No need to attempt to create MS icons when Gtk+ is not present. * editor/gtk/game-devcards.c: Remove some warnings when all warnings are turned on. * server/gtk/main.c: Use consistent capitalisation for Start/Stop Server. * client/help/C/pioneers.xml: Use menuchoice tags, update for the meta- server combo. 2008-03-12 Roland Clobus * server/gtk/main.c, server/player.c, server/server.c, server/server.h, server/main.c, server/admin.c, client/ai/ai.c: Make all names for the computer players unique. Based on a patch by chrysn@users.sourceforge.net 2008-02-13 Roland Clobus * server/turn.c, server/admin.c, server/admin.h: Added 'admin fix-dice' to fix the dice roll. * editor/gtk/pioneers-editor.desktop -> editor/gtk/pioneers-editor.desktop.in, editor/gtk/Makefile.am, configure.ac, server/gtk/pioneers-server.desktop -> server/gtk/pioneers-server.desktop.in, server/gtk/Makefile.am, Makefile.am, po/POTFILES.in, client/gtk/data/pioneers.desktop -> client/gtk/pioneers.desktop.in, client/gtk/data/Makefile.am, client/gtk/Makefile.am: Added i18n support for *.desktop files. pioneers.desktop had to be moved, to keep 'make distcheck' happy. * po/POTFILES.skip: Added the very old, unmaintained admin-gtk.c to the list of excluded files for i18n. * common/network.c: Only use AF_UNSPEC (instead of PF_UNSPEC too). 2008-01-22 Roland Clobus * client/help/C/Makefile.am: Create Yelp like output. * client/help/C/pioneers.xml: Add index to the FAQ entries. * common/state.c, common/state.h: More stack information for push and pop. * server/player.c: When reviving a player that was previously reconnecting, do not push an extra mde_pre_game, otherwise an assert will be triggered. * editor/gtk/editor.c, common/buildrec.h, common/map_query.c, common/gtk/guimap.c, common/game.c, common/map.c, common/map.h, common/buildrec.c, server/gtk/main.c, server/turn.c, server/trade.c, server/server.h, server/pregame.c, client/callback.h, client/gtk/interface.c, client/gtk/callbacks.c, client/gtk/frontend.h, client/gtk/quote-view.c, client/gtk/gui.c, client/common/client.c, client/common/build.c, client/common/setup.c, client/common/client.h, client/common/turn.c, client/common/robber.c, client/common/callback.c, client/common/player.c, client/ai/greedy.c, client/ai/ai.c: Refactoring of the map code. In the server code: use the map members of the hex/edge/node instead of passing a map pointer. In the client code: remove the static map object for the Gtk+ part, to fix a crash when running on OpenBSD. * server/player.c: When (re)connecting, reuse the disconnected players when there are no empty players slots available. 2007-12-25 Roland Clobus * common/gtk/game-rules.c, common/gtk/game-settings.c, common/game.c, common/state.c, common/network.c, server/gtk/main.c, server/meta.c, server/turn.c, server/player.c, server/server.c, server/main.c, client/gtk/resource-table.c, client/gtk/develop.c, client/gtk/monopoly.c, client/gtk/gui.c, client/gtk/connect.c, client/common/client.c, client/common/develop.c, client/common/player.c, client/ai/greedy.c, client/ai/lobbybot.c: Reactivate comments for translators that were deactivated by 'make reindent'. 2007-12-16 Roland Clobus * editor/gtk/game-resources.c, editor/gtk/game-devcards.c, editor/gtk/game-buildings.c, common/gtk/game-rules.c, common/gtk/gtkbugs.c, common/gtk/game-rules.h, common/gtk/game-settings.c, common/gtk/gtkbugs.h, common/gtk/select-game.c, server/gtk/main.c, client/gtk/resource-table.c, client/gtk/resource-table.h, client/gtk/resource.c, client/gtk/gui.c, client/gtk/connect.c: Added support for the new tooltip API of GTK+ 2.12 2007-11-22 Roland Clobus * client/ai/greedy.c: Don't attempt to buy a development card when the stock is empty. 2007-11-22 Roland Clobus and Bas Wijnen * The patches 2007-11-22 and 2007-09-16 fix CVE-2007-5933. (Both fixed bugs would cause a DoS by crashing the server) 2007-11-22 Bas Wijnen * common/state.c: Fix for an assert when a connection is broken before the state machine has been properly initialized. 2007-10-30 Roland Clobus * client/gtk/quote.c, client/gtk/legend.c, client/gtk/trade.c, client/gtk/offline.c, client/gtk/gui.c, client/gtk/gui.h: Use scrollbars where needed. The splash screen hides the chat. 2007-10-23 Roland Clobus * common/gtk/game-rules.c, common/gtk/game-rules.h, common/game.c, common/game.h, server/gtk/main.c, server/turn.c, server/server.h, client/gtk/settingscreen.c: Check for victory either at the end of the turn, or when a point is scored. Many thanks to Lalo Martins for the original patch. 2007-10-14 Roland Clobus * editor/gtk/pioneers-editor.desktop, server/gtk/pioneers-server.desktop, client/gtk/data/pioneers.desktop: Removed double menu entry (Reported by Jussi Schultink on launchpad.net) 2007-10-07 Roland Clobus * configure.ac: Work version is 0.11.4 2007-10-07 Roland Clobus * Released version 0.11.3 2007-10-07 Roland Clobus * common/state.c: Purge cache when disconnecting. * server/player.c: Cached players must receive broadcasts. * common/network.c: Log when a connection has a time out. 2007-10-03 Roland Clobus * configure.ac, server/server.c: Use sigaction instead signal. 2007-09-16 Roland Clobus * common/network.h, common/state.c, common/network.c: The server could crash when a SIGPIPE was received. 2007-08-11 Roland Clobus * common/network.c: Added net_would_block and net_write_error to help porting the server to MS Windows (based on a patch by Keishi Suenaga). * server/player.c: When a player is still connecting, don't reuse the player number. 2007-08-08 Roland Clobus * getVersions.sh: Updated for SF 2007-08-05 Roland Clobus * configure.ac: Work version is 0.11.3 * docs/README.release: updated svn branch command. 2007-08-05 Roland Clobus * Released version 0.11.2 2007-08-05 Roland Clobus * server/robber.c: Do not use sm_send in the server, but player_send. * common/network.c: Added \n after a log message. * pioneers.spec.in: Corrected download location, changed packager name. * docs/README.release: Updated release script * README, NEWS, client/ai/lobbybot.c: Prepare for release 0.11.2 2007-08-05 Bas Wijnen * client/common/client.c: Fixed OK button in discard dialog 2007-08-04 Roland Clobus * common/map_query.c: Added checks against NULL pointers, based on the patch by ffaadd (#1767378), which could crash the server. 2007-08-01 Roland Clobus * client/help/C/pioneers.xml, client/help/C/images/quote.png, client/help/C/images/trade.png, client/help/C/images/server-create.png, client/help/C/images/plenty-dialog.png, client/help/C/images/sea.png, client/help/C/images/monopoly-dialog.png, client/help/C/images/map.png, client/help/C/images/pasture.png, client/help/C/images/field.png, client/help/C/images/desert.png, client/help/C/images/player-summary.png, client/help/C/images/hill.png, client/help/C/images/identity.png, client/help/C/images/brick.png, client/help/C/images/grain.png, client/help/C/images/actions.png, client/help/C/images/forest.png, client/help/C/images/gameover-dialog.png, client/help/C/images/join-private-dialog.png, client/help/C/images/discard-dialog.png, client/help/C/images/resources.png, client/help/C/images/client.png, client/help/C/images/wool.png, client/help/C/images/gold.png, client/help/C/images/ore.png, client/help/C/images/connect-dialog.png, client/help/C/images/servers-dialog.png, client/help/C/images/lumber.png, client/help/C/images/mountain.png, client/help/C/images/legend-dialog.png: Updated the manual * docs/README.release: Added a note about the manual 2007-07-29 Roland Clobus * pioneers.nsi.in: Added city_wall.png 2007-07-22 Roland Clobus * configure.ac: Work version is 0.11.2 * NEWS: Fixed a typo * client/common/client.c, client/common/gui.c: Fixed for gcc-2.95 * client/gtk/name.c: make reindent 2007-07-22 Roland Clobus * Released version 0.11.1 2007-07-22 Roland Clobus * pioneers.spec.in: Updated. It works for openSUSE 10.2. * server/gtk/main.c: Cosmetic changes. * server/server.c, server/server.h, server/admin.c, server/admin.h: Added 'send-message', 'help', 'info' to the admin commands. The addition of 'send-message' is based on a patch by David Hall * common/gtk/theme.c: The default theme is now 'Tiny'. * common/gtk/guimap.c: Use the full size for the map. The font size in the server was effectively always 1pt. * pioneers.nsi.in: Added Afrikaans and Japanese. * pioneers.nsi.in: Added style-*.png * client/ai/computer_names: Corrected spelling of 'Gödel' * README, NEWS: Updated for 0.11.1 * client/gtk/data/splash.svg: Updated to 0.11 * client/ai/lobbybot.c: Updated to 0.11 2007-07-21 Roland Clobus * server/server.h: Added robber undo in 0.11 change list. 2007-07-21 Roland Clobus * common/gtk/player-icon.c, common/gtk/player-icon.h, common/gtk/Makefile.am, server/player.c, server/server.h, server/pregame.c, client/callback.h, client/gtk/callbacks.c, client/gtk/name.c, client/gtk/frontend.h, client/gtk/data/Makefile.am, client/gtk/player.c, client/gtk/quote-view.c, client/gtk/chat.c, client/gtk/offline.c, client/gtk/connect.c, client/common/client.c, client/common/client.h, client/common/callback.c, client/common/player.c, client/ai/ai.c: Added a customizable player icon. Based on a patch by Giancarlo Capella . 2007-07-21 Bas Wijnen * common/map.c, server/player.c, server/robber.c, server/server.h, client/callback.h, client/gtk/interface.c, client/gtk/callbacks.c, client/gtk/frontend.h, client/common/client.c, client/common/client.h, client/common/robber.c, client/common/callback.c, client/ai/greedy.c: Show the robber in the new place when choosing who to steal from. 2007-07-21 Roland Clobus * configure.ac, pioneers.nsi.in: Add minimum required Gtk+ version from configure.ac in the installer builder script. 2007-07-21 Bas Wijnen * ChangeLog, docs/README.game, common/gtk/gtkbugs.c, common/state.c, configure.ac, po/ChangeLog, client/gtk/quote.c, client/help/C/custom.xsl: Clean up whitespace. 2007-07-20 Roland Clobus * common/state.c, common/state.h, configure.ac, server/gold.c, server/resource.c, server/turn.c, server/player.c, server/develop.c, server/trade.c, server/discard.c, server/robber.c, server/server.h, server/pregame.c, server/buildutil.c, client/common/client.c: Updating the protocol to 0.11. All messages sent by the server are versioned. Based on a patch by Bas Wijnen . 2007-07-19 Roland Clobus * common/gtk/guimap.c: gmap->area was unref'd too often. * client/callback.h, client/gtk/player.c: Cleanup of player->user_data. * server/gtk/main.c: Allow themes. 2007-06-05 Roland Clobus * common/gtk/gtkbugs.c: action_set_sensitive is still (Gtk+-2.10) not fixed, so the version check is disabled. * client/gtk/connect.c: Removed a debug message. 2007-05-13 Roland Clobus * editor/gtk/game-parameters.h, editor/gtk/editor.c, editor/gtk/Makefile.am, editor/gtk/game-parameters.c, common/map-query.c, common/gtk/common_gtk.h, common/gtk/game-settings.c, common/gtk/game-settings.h, common/gtk/Makefile.am, common/gtk/commmon_gtk.c, common/game.c, common/map.c, common/game.h, common/map.h, server/gtk/main.c, client/gtk/connect.c: Added victory point check. Game rules are split from game settings. * editor/gtk/game-settings.c -> common/gtk/game-rules.c, editor/gtk/game-settings.h -> common/gtk/game-rules.h: Renamed * pioneers.spec.in: Sorted the language list, added af and ja. 2007-05-13 Brian Wellington * editor/gtk/game-buildings.c, common/map_query.c, common/gtk/guimap.c, common/gtk/guimap.h, common/cost.c, common/game.c, common/cost.h, common/state.c, common/map.h, common/buildrec.h, server/turn.c, server/discard.c, server/server.h, server/pregame.c, server/buildutil.c, client/callback.h, client/gtk/interface.c, client/gtk/frontend.c, client/gtk/frontend.h, client/gtk/data/Makefile.am, client/gtk/data/city_wall.png, client/gtk/player.c, client/gtk/legend.c, client/gtk/settingscreen.c, client/gtk/gui.c, client/gtk/identity.c, client/common/client.c, client/common/client.h, client/common/stock.c, client/common/callback.c, client/common/player.c: Added support for city walls (using 'extension' in the protocol) 2005-05-13 Roland Clobus * server/player.c, server/server.h: Use 'extension' for broadcasts. 2007-05-08 Roland Clobus * editor/gtk/editor.c, common/gtk/guimap.c, common/gtk/select-game.c, common/gtk/guimap.h, common/gtk/select-game.h, server/gtk/main.c, client/gtk/gui.c: Map preview in the server. 2007-04-29 Brian Wellington * common/gtk/polygon.c, common/gtk/polygon.h, common/gtk/guimap.c: Add the poly_draw_with_border() function to draw bordered polygons. 2007-04-29 Brian Wellington * client/gtk/gui.c: Add support for NULL pointer for shortcuts. 2007-04-29 Roland Clobus * common/gtk/guimap.c: Simplified code to handle better updates. 2007-04-29 Brian Wellington * client/gtk/gui.c: Add a workaround for gtk bug #434261 that causes strings like (Fn) in toolbar labels to be mishandled. 2007-04-29 Roland Clobus * client/gtk/gui.c: Upgraded the code to 2.6, and allow for toolbuttons without shortcut keys. * common/network.c: Don't log the keepalive messages. 2007-04-28 Roland Clobus * common/gtk/guimap.c, common/gtk/guimap.h, client/gtk/interface.c, client/gtk/frontend.c: Single click actions are set enabled with the same mechanism as the GtkActions. 2007-04-17 Roland Clobus * common/state.c, server/pregame.c: Disconnect during mode_pregame could crash the server. 2007-04-15 Bernd Ernesti * editor/gtk/editor.c, meta-server/main.c, server/gtk/main.c, server/main.c: #include where needed. 2007-04-09 Roland Clobus * pioneers.nsi.in: Added a better check for the Gtk+ runtime, and allow the installer to continue, even when no runtime is found. 2007-04-08 Roland Clobus * configure.ac: Reorder the language codes (now alphabetical) 2007-03-04 Roland CLobus * common/gtk/guimap.c, common/gtk/guimap.h, client/gtk/identify.c: Fix for #1589423. Sets a minimum size, to avoid drawing a polygon with only (0,0) as coordinates. 2007-02-18 Roland Clobus * server/player.c: Fix for #1473765. Don't recycle player objects when a (re)connect is in progress. * common/game.c, common/game.h, common/state.h, common/cards.c, server/develop.c, client/callback.h, client/gtk/settingscreen.c, client/common/client.c, client/common/develop.c: Renamed STAT_UNIVERSITY enum. * client/gtk/develop.c: Cluster development cards of the same type. 2006-11-18 Roland Clobus * client/ai/computer_names: Fixed a typo (present since 2000 :-) 2006-10-14 Roland Clobus * client/gtk/gui.c: Move the chat panel to the right or the bottom of the screen. Based on a patch by Rich Harkins which required a restart. * ChangeLog: Enabled a BOM, so the comment about utf-8 is no longer required. * configure.ac, server/gtk/main.c, server/server.c, server/server.h, server/main.c: Replaced alarm with g_timeout_add. * common/network.c: Added wrapper functions for reporting error messages. 2006-10-01 Rich Harkins * Makefile.am, server/gtk/main.c: Launch the client from the server. 2006-09-16 Roland Clobus * configure.ac: Subversion repository is at 0.10.3. * server/gtk/Makefile.am, server/gtk/pioneers-server.rc: Add Windows icon for the server. 2006-09-16 Roland Clobus * Released version 0.10.2 2006-09-16 Roland Clobus * editor/gtk/editor.c, server/gtk/main.c, server/main.c, client/gtk/offline.c, client/ai/ai.c: Added --version. * common/network.h, common/network.c, meta-server/main.c, server/player.c, server/server.c, server/server.h, server/admin.c: Use net_closesocket to close a socket (Windows port closes sockets differently). * common/gtk/gtkbugs.c: Cannot press a button twice without moving the cursor out and in again. The workaround depends on the runtime version of Gtk+, not the version at compile time. (Refinement of the patch 2006-09-03) * server/meta.c: Log when unknown messages are sent from the meta- server. * Makefile.am: Add 48x48 icons (for Windows XP, Thumbnail view). 2006-09-12 Stefan Walter * common/Makefile.am: Creation of version.h compatible with FreeBSD. 2006-09-12 Roland Clobus * server/meta.c, meta-server/main.c: Meta server disconnects unresponsive servers. Server shows a message when the metaserver disconnects. * client/gtk/interface.c: Don't change GUI state when a second quote is issued. * common/game.c: Return NULL pointer when game not found. 2006-09-10 Bas Wijnen * common/game.c: Treat errors in files as end-of-file, and an incomplete line at the end as a complete line. 2006-09-10 LT-P * server/iles.game, server/GuerreDe100ans.game: Added island-discovery-bonus. 2006-09-10 Roland Clobus * configure.ac, meta-server/main.c: Added glib commandline parsing, --debug, --syslog-debug, --version. Fixed a bug for the current number of players. Added the servername to the syslog output. * client/gtk/data/Makefile.am: Added splash.svg to the tarball. * common/state.c, server/player.c, server/trade.c, server/server.h, server/pregame.c: Reconnect during trade. 2006-09-07 Roland Clobus * client/gtk/data/Makefile.am: Add rule for splash.png 2006-09-03 Thomas Schürger * common/gtk/gtkbugs.c: Enabled workaround for toolbuttons that could not be pressed twice. 2006-09-03 Roland Clobus * client/gtk/data/Makefile.am, editor/gtk/Makefile.am: Remove the *.res files from the tarball (partly revert 2006-09-01) * Changed ChangeLog to utf8. 2006-09-02 Roland Clobus * client/gtk/data/splash.png: Removed, replaced by splash.svg * configure.ac, Makefile.am, client/gtk/Makefile.am, client/gtk/data/Makefile.am: Fix themedir for Windows. * pioneers.nsi.in, client/gtk/data/tick.png, client/gtk/data/cross.png: Images are no longer in use. * configure.ac: Nicer feedback from configure script when Gtk not present. 2006-09-01 Roland Clobus * editor/gtk/Makefile.am, client/gtk/data/Makefile.am, Makefile.am: Add the resource files for Microsoft Windows to the tarball. 2006-08-31 Roland Clobus * client/gtk/data/splash.svg: Version 0.10 is shown now. * docs/README.release: What to do extra when the protocol changes. * README.Cygwin: Found more Cygwin packages. 2006-08-26 Roland Clobus * configure.ac: Subversion repository is at 0.10.2. * docs/README.release: Added the command for tagging the repository. 2006-08-26 Roland Clobus * Released version 0.10.1 2006-08-26 Roland Clobus * client/ai/lobbybot.c: Make it build with gcc-2.95 again. * server/gtk/main.c, server/meta.c: Changed reported hostname to overridden hostname. If it is left empty, the metaserver will do a hostname lookup. * common/network.h: Include time.h too. * client/help/C/pioneers.xml: Rename AI -> computer player. * client/common/client.c, server/develop.c: Year of Plenty communicates with "plenty %R" instead of "receives %R". * client/gtk/interface.c: Disable single click cursor until all players have discarded or chosen gold. * common/network.c, common/network.h: Cleanup the timer when the session is closed. * client/help/C/pioneers.xml: Updated the FAQ. * server/conquest.game, server/conquest+ports.game: Added nosetup for the smaller islands. 2006-08-26 Bas Wijnen * common/network.h, common/state.c, common/state.h, common/network.c, server/player.c, server/admin.c: Send keepalive packets when connection is idle, and disconnect when no reply is received. * client/gtk/player.c: Don't beep for players which are seen during connecting. * client/gtk/trade.c, client/gtk/quote-view.c, client/gtk/quote-view.h: Show maritime trades only when they match the supply, or no supply is specified. 2006-08-21 Bas Wijnen * common/gtk/config-gnome.c: Added include file. * server/gold.c, client/callback.h, client/common/client.c, client/ai/greedy.c: Notify players when resources are not distributed due to empty bank. 2006-08-17 Roland Clobus * server/player.c: Use ERR as prefix when too many connections are made. * server/gtk/main.c, server/server.c, server/server.h, server/main.c, server/admin.c: No global GameParams object. Added --file to server-console. * docs/README.game, common/buildrec.h, common/map_query.c, common/game.c, common/game.h, common/map.h, common/buildrec.c, server/turn.c, server/conquest.game, server/conquest+ports.game, server/player.c, server/server.h, server/pregame.c, server/four-islands.game, server/buildutil.c, client/callback.h, client/gtk/callbacks.c, client/gtk/frontend.h, client/gtk/player.c, client/gtk/settingscreen.c, client/common/client.c, client/common/build.c, client/common/client.h, client/common/player.c: Added island-discovery-bonus keyword. 2006-08-17 Bas Wijnen * AUTHORS, editor/gtk/editor.c: Show full authorlist in editor's help->about, and add Brian to the full list. 2006-08-15 Roland Clobus * client/gtk/connect.c: Don't connect to a new game at the metaserver as a viewer. * common/network.h, common/log.c, common/network.c, README.subversion, configure.ac, server/gtk/main.c, server/main.c, client/gtk/callbacks.c, client/gtk/state.c, client/gtk/offline.c, client/gtk/gui.h, client/ai/ai.c: Added --debug for debug messages, instead of --enable-logging in configure. * Makefile.am: Added dependency for icons. * editor/gtk/Makefile.am, client/gtk/data/Makefile.am: Cleanup the *-icon.o files. (Enables 'make distcheck' on Cygwin) * common/gtk/aboutbox.c: Added homepage, and cleanup. * README.subversion, configure.ac: Added --without-help. * configure.ac, server/admin.c, client/gtk/player.c, common/gtk/config-gnome.c: Cleanup configure.ac. * Makefile.am: Remove trailing slash. 2006-08-14 Bas Wijnen * client/gtk/data/Makefile.am, editor/gtk/Makefile.am: Remove incorrect direct dependency on *.rc files by executables. 2006-08-14 Roland Clobus * editor/gtk/Makefile.am, README.subversion, configure.ac, Makefile.am, client/gtk/data/Makefile.am, client/gtk/Makefile.am: Reduce the need for netpbm. * client/gtk/connect.c: Translate the data from the metaserver. * server/lobby.game: Tournament-time is not a keyword anymore. * client/gtk/interface.c: No build cursor during trade. * server/gtk/main.c, server/server.c, server/server.h, server/main.c, server/admin.c: Fix regression of random seating order dd 2006-08-10 2006-08-14 Bas Wijnen * client/callback.h, client/gtk/offline.h, client/common/client.c, client/common/main.c, client/ai/ai.h, client/ai/greedy.c, client/ai/ai/c: Make AI quit nicely instead of calling exit. Also quit nicely if setup is impossible instead of crashing. 2006-08-11 Roland Clobus * client/common/client.c: Marked a string for translation. * client/gtk/interface.c: More robust gui_state changes. 2006-08-10 Roland Clobus * client/common/client.c: Don't say 'A is now A' in the client. * server/serer.c: Fix for a scope bug made 2006-08-05. * server/player.c, client/common/client.c: i18n for NOTE messages, close connection when a bad version is encountered, clearer message when entering a tournament game. * configure.ac: Protocol is now 0.10 * common/game.c, common/game.h: Don't broadcast tournament-time. * docs/README.game: Information about *.game files * editor/gtk/editor.c, common/game.c, common/map.c, common/game.h, common/map.h, server/x.game, server/star.game, server/canyon.game, server/pond.game, server/seafarers.game, server/lorindol.game, server/seafarers-gold.game: Deserts need chit sequence numbers, chit length must be correct. * server/gtk/main.c, server/server.c, server/server.h: Replace global 'random_order'. 2006-08-05 Roland Clobus * server/gtk/main.c, server/meta.c, server/server.c, server/server.h, server/main.c, server/admin.c: Replaced a variable of global scope with a variable of file scope to make -r implied when -m is specified. * common/gtk/guimap.c: Use gmap->area when it exists. * editor/gtk/editor.c, client/ai/lobbybot.c: Added translator comments. 2006-08-05 Bas Wijnen * client/gtk/connect.c: Avoid use of comma-operator. * client/ai/greedy.c: Fix possible infinite loop after playing monopoly card. * docs/README.states, docs/client_states.fig: Updated to new situation (the changes below, and changes which had been made before). * common/state.c, common/state.h, client/common/client.c, client/common/callback.c: Improved state handling. 2006-08-04 Roland Clobus * client/gtk/interface.c: Enable roll dice for the second game of the same instance of the client. * client/common/client.c: Don't show waiting for your turn for viewers. * client/ai/greedy.c: AI can trade lumber again. * server/turn.c: Unregister from the metaserver at game over. * server/coeur.game: Don't shuffle gold tiles. * client/gtk/gui.c: Settings used wrong variable. * README.subversion: Information about building from the subversion repository. * editor/gtk/editor.c, common/gtk/guimap.c, common/gtk/guimap.h, client/gtk/callbacks.c, client/gtk/gui.c, client/gtk/gui.h: Show nosetup nodes in the editor and in the client (for players only). * client/common/resource.c: Fix regression of 2006-07-27. * docs/README.release, client/callback.h, client/gtk/interface.c, client/gtk/callbacks.c, client/gtk/frontend.h, client/gtk/chat.c, client/common/client.c, client/common/client.h, client/common/Makefile.am, client/common/player.c, client/common/chat.c, client/ai/ai.h, client/ai/greedy.c, client/ai/Makefile.am, client/ai/ai.c, client/ai/lobbybot.c: Added robot for the lobby. * client/gtk/interface.c, client/gtk/frontend.h, client/gtk/discard.c, client/gtk/state.c, client/gtk/offline.c, client/gtk/gui.c: Leave a game without quitting the client. 2006-08-01 Bas Wijnen * configure.ac: Mention install root in notification. * configure.ac, Makefile.am: Let configure.ac not touch AM_* variables. 2006-07-29 Roland Clobus * editor/gtk/editor.c: Added keyboard shortcuts to the editor * client/common/client.c: Allow a player to initiate trade when he has no resources 2006-07-27 Bas Wijnen * editor/gtk/editor.c, common/gtk/theme.c, common/gtk/select-game.c, common/game.c, common/map.c, common/game.h, common/state.c, common/log.c, common/map.h, common/state.h, common/network.c, meta-server/main.c, server/player.c, server/pregame.c, client/gtk/callbacks.c, client/gtk/player.c, client/gtk/settingscreen.c, client/gtk/state.c, client/gtk/gui.c, client/gtk/connect.c, client/common/develop.c, client/common/robber.c, client/common/client.c, client/common/client.h, client/common/resource.c, client/common/player.c, client/ai/ai.c: Use dynamic instead of static memory to allow arbitrary large strings in most situations. Still use static strings for network traffic, to avoid denial of service opportunities. * server/gtk/main.c: Show all authors. 2006-07-27 Bas Wijnen * macros/Makefile.am, editor/gtk/Makefile.am, editor/gtk/pioneers-editor.rc, editor/Makefile.am, docs/Makefile.am, common/gtk/aboutbox.c, common/gtk/Makefile.am, common/Makefile.am, meta-server/Makefile.am, configure.ac, server/gtk/Makefile.am, server/pregame.c, server/Makefile.am, Makefile.am, autogen.sh, client/gtk/pioneers.rc, client/gtk/data/themes/Tiny/Makefile.am, client/gtk/data/themes/Iceland/Makefile.am, client/gtk/data/themes/FreeCIV-like/Makefile.am, client/gtk/data/themes/Wesnoth-like/Makefile.am, client/gtk/data/themes/Makefile.am, client/gtk/data/Makefile.am, client/gtk/offline.c, client/gtk/Makefile.am, client/common/Makefile.am, client/help/Makefile.am, client/ai/Makefile.am, client/Makefile.am: Move to a single-Makefile system. * server/pregame.c: Remove unused static variable. 2006-07-25 Roland Clobus * server/lobby.game: New, non-empty map * server/main.c: create a listening admin socket only when requested from the command line * client/gtk/player.c, client/gtk/gui.c, client/gtk/gui.h: Announce new players and viewers when they enter 2006-07-05 Roland Clobus * editor/gtk/editor.c, common/gtk/theme.c, common/gtk/config-gnome.c, common/game.c, common/state.c, common/network.c, server/gtk/main.c, client/gtk/offline.c, client/gtk/gui.c, client/common/client.c, client/common/player.c: Removed translation tags in g_error and g_warning * docs/README.release: Update steps for a release * server/lobby.game: Added an empty map, for the lobby * editor/gtk/editor.c, common/gtk/config-gnome.c, configure.ac, server/gtk/main.c, client/gtk/offline.c, client/gtk/gui.c, client/ai/ai.c: Removed Glib 2.6 #ifdef code 2006-06-23 Roland Clobus * getVersions.sh: View the versions in the various distributions 2006-06-06 Roland Clobus * Released version 0.9.64 * Subversion commit date: 2006-06-19 2006-06-06 Roland Clobus * server/main.c: Allow games with more than 3 victory points, when started from the commandline * server/trade.c: Restored to 0.9.52 version * Subversion commit date: 2006-06-19 2006-05-30 Roland Clobus * Released version 0.9.63 2006-05-30 Roland Clobus * configure.ac, client/gtk/quote.c, client/gtk/offline.c, client/common/client.h, client/common/callback.c: Minimum requirement is Glib 2.6 and Gtk+ 2.6. Remove use of Gtk+ 2.8 icon. Fixed compiler warnings 2006-05-28 Roland Clobus * Released version 0.9.62 2006-05-28 Roland Clobus * client/gtk/interface.c, client/gtk/frontend.h, client/gtk/player.c, client/gtk/quote.c, client/gtk/trade.c, client/gtk/quote-view.c, client/gtk/quote-view.h: Rewrite of quote.c * server/trade.c: Throw away the quotes before ending the trade 2006-05-28 Bas Wijnen * client/callback.h, client/gtk/name.c, client/gtk/frontend.h, client/gtk/offline.c, client/gtk/connect.c, client/common/client.c, client/common/client.h, client/common/callback.c, client/common/player.c, client/ai/ai.c: Separate requested name and viewerness from actual values during the game, add commandline-option to select metaserver in gtk client. 2006-05-27 Roland Clobus * client/gtk/gui.c: Moved legend, game settings and dice histgram from help to game menu. * client/gtk/offline.c, client/gtk/gui.c: Fixed the help. When an error occurs, show it in the chat log. 2006-05-26 Bas Wijnen * common/network.c: Write logged escaped bytes as bytes, now words. * common/gtk/theme.c: Allow scaling scalable themes to 0. 2006-05-26 Roland CLobus * editor/gtk/editor.c, server/gtk/main.c, server/main.c, client/gtk/offline.c, client/ai/ai.c: Quit when unknown commandline options are passed * client/help/C/pioneers.xml: Describe all chat commands 2006-05-25 Bas Wijnen * common/state.c, common/state.h, server/player.c: Make server handle broken pipe correctly. 2006-05-25 Roland Clobus * common/gtk/common_gtk.c, common/log.c, common/log.h, client/common/chat.c: Better layout for the log to the console 2006-05-24 Roland Clobus * configure.ac: Nicer feedback when something is not built 2006-05-23 Roland Clobus * editor/gtk/editor.c, server/gtk/main.c, server/main.c, client/gtk/offline.c: Updates comments for translators * client/common/client.c: Removed g_warning() text from translations 2006-05-21 Giancarlo Capella * client/gtk/frontend.h, client/gtk/resource.c, client/gtk/data/grain.png, client/gtk/data/wool.png, client/gtk/data/ore.png, client/gtk/data/Makefile.am, client/gtk/data/lumber.png, client/gtk/data/brick.png, client/gtk/legend.c, client/gtk/gui.c, client/gtk/gui.h: Visual display of the resources in the resources panel and the legend 2006-05-20 Roland Clobus * common/quoteinfo.c, common/game.c, common/quoteinfo.h, client/callback.h, client/gtk/interface.c, client/gtk/plenty.c, client/gtk/frontend.h, client/gtk/gold.c, client/gtk/quote.c, client/gtk/legend.c, client/gtk/trade.c, client/gtk/discard.c, client/gtk/chat.c, client/common/client.c, client/common/client.h, client/common/resource.c, client/common/callback.c, client/common/player.c: Added const for resources * client/gtk/Makefile.am: Added quote-view.c and quote-view.h * client/gtk/trade.c, client/gtk/quote-view.c, client/gtk/quote-view.h: Moved code from trade.c to quote-view.c and replaced frames * client/gtk/player.c, client/gtk/discard.c: More descriptive asserts * client/gtk/resource-table.c, client/gtk/resource-table.h: New functions added for trade and quote * meta-server/main.c, client/gtk/gui.c: Signed->unsigned cleanup 2006-05-17 Bas Wijnen * client/ai/greedy.c: Fix for AI segfault. * client/gtk/interface.c: Allow reuse of client after winning by playing a soldier. 2006-05-14 Bas Wijnen * server/pregame.c, client/common/client.c: Fix reconnect procedure, add RSETUP state command. 2006-05-13 Roland Clobus * client/help/C/custom.xsl, client/help/C/pioneers.xml, client/help/C/Makefile.am: Manual updates. Manual conversion to html and htmlhelp added. 2006-05-09 Bas Wijnen * docs/pioneers-meta-server.6: Updated. 2006-05-02 Bas Wijnen * client/gtk/interface.c, client/gtk/plenty.c, client/gtk/frontend.h: Disable Ok button in Year of Plenty dialog when too few resources are selected. * server/pregame.c, client/callback.h, client/gtk/name.c, client/gtk/frontend.h, client/gtk/offline.c, client/gtk/connect.c, client/gtk/identity.c, client/common/client.c, client/common/client.h, client/common/callback.c, client/ai/ai.c: Allow players to connect as viewer. 2006-04-30 Roland Clobus * editor/gtk/editor.c, server/gtk/main.c, server/main.c, po/POTFILES.in, client/gtk/offline.c, client/ai/ai.c: Use GOptionContext for command line parsing * editor/gtk/editor.c: Make the last loaded/saved game persistent 2006-04-25 Roland Clobus * README.Cygwin: Updated for Subversion * client/gtk/gui.c: Message window as editable 2006-04-23 Roland Clobus * docs/README.release: Added a small guide for the steps needed to make a release 2006-04-21 Roland Clobus * common/gtk/common_gtk.h, common/gtk/common_gtk.c, client/gtk/callbacks.c, client/gtk/frontend.h, client/gtk/player.c, client/gtk/trade.c, client/gtk/chat.c: Easier /beep * client/gtk/player.c: Make disconnected icon symmetrical. 2006-04-18 Roland Clobus * common/gtk/guimap.c, common/gtk/common_gtk.c, common/cost.c, common/game.c, common/map.c, server/gtk/main.c, server/meta.c, server/server.c, client/gtk/interface.c, client/gtk/resource-table.c, client/gtk/frontend.c, client/gtk/name.c, client/gtk/gold.c, client/gtk/resource.c, client/gtk/player.c, client/gtk/develop.c, client/gtk/legend.c, client/gtk/discard.c, client/gtk/offline.c, client/gtk/gui.c, client/gtk/identity.c, client/gtk/histogram.c, client/common/develop.c, client/common/build.c, client/common/setup.c, client/common/client.c, client/common/stock.c, client/common/resource.c, client/common/turn.c, client/common/player.c, client/common/callback.c: Remove old-style function definition warnings. 2006-04-14 Roland CLobus * common/network.c: Add the time to the logged network traffic. 2006-04-09 Roland Clobus * Released version 0.9.61 2006-04-09 Bas Wijnen * client/callback.h, client/gtk/plenty.c, client/gtk/monopoly.c, client/common/client.c: If somehow the dialog was closed, show it again 2006-04-09 Roland Clobus * client/help/C/pioneers.xml, client/help/C/images/discards.png, client/help/C/images/place-robber.png, client/help/C/images/quote.png, client/help/C/images/trade.png, client/help/C/images/messages.png, client/help/C/images/plenty-dialog.png, client/help/C/images/monopoly-dialog.png, client/help/C/images/steal-from.png, client/help/C/images/map.png, client/help/C/images/chat.png, client/help/C/images/player-summary.png, client/help/C/images/identity.png, client/help/C/images/actions.png, client/help/C/images/gameover-dialog.png, client/help/C/images/join-private-dialog.png, client/help/C/images/discard-dialog.png, client/help/C/images/resources.png, client/help/C/images/client.png, client/help/C/images/status.png, client/help/C/images/servers-dialog.png, client/help/C/images/connect-dialog.png, client/help/C/images/develop-cards.png client/help/C/images/legend-dialog.png: Updated screenshots for 0.9.61 * docs/pioneers.6, docs/pioneers-server-console.6, docs/pioneers-server-gtk.6: Updated the man pages * common/gtk/config-gnome.c: Fixed the regression of 0.9.23 * server/admin.c: Fixed the assert when a connection is made to the admin interface 2006-04-08 Roland Clobus * client/gtk/gui.c: Disable the unused menu item 'Leave Game' 2006-04-06 Bas Wijnen * common/game.c: Remove compiler warnings. 2006-04-03 Roland Clobus * common/gtk/guimap.c, common/gtk/guimap.h, client/gtk/interface.c, client/gtk/gui.c, client/gtk/gui.h: Implemented 'single click build' for the movement of ships. (Click anywhere to cancel) * client/gtk/gui.c: Always show the map after a (re)connect. * Makefile.am: let 'make restorepo' work with Subversion. * configure.ac, Makefile.am, macros/Makefile.am: add the macros subdirectory in the tarball (without the .svn directory) * client/common/player.c: Remove compiler warnings 2006-04-02 0.9.61 Bas Wijnen * server/gtk/main.c: Split interface for running and non-running state. * client/common/develop.c: Disallow road building if there's no place to build it. * client/ai/greedy.c: Do a proper check for roadbuilding. 2006-03-30 0.9.57 Roland Clobus * client/help/C/pioneers.xml: Updated documentation. Corrected spelling to en_us. * client/callback.h, client/common/chat.c, client/common/client.h, client/common/player.c: Fixed a crash in the client when a /beep is sent when not all players are present yet. * server/meta.c, server/server.c, server/server.h: Unregister from the metaserver when the server stops. * client/gtk/gui.c: Activate the map page when trade tabs have been shown. Also hide the legend tab page after a connect (when turned off in the preferences). 2006-03-30 Samual Wright * client/help/C/pioneers.xml: Fixed a typo 2006-03-30 Repository converted from cvs to svn 2006-03-14 0.9.56 Roland Clobus * server/pregame.c: Show disconnected players when reconnecting 2006-02-09 0.9.55 Roland Clobus * configure.ac, meta-server/README.protocol: New version for the meta- server * meta-server/main.c: Partly reverse the patch for 0.9.54, disable the 'create' command globally, instead of per connection. 2006-02-08 Roland Clobus * client/gtk/data/.cvsignore, editor/gtk/.cvsignore: Ignore icons 2006-02-07 0.9.54 Roland Clobus * pioneers.nsi.in: Added Swedish translation to installer. * client/gtk/connect.c, client/gtk/gui.c, editor/gtk/editor.c, server/server.c, server/gtk/main.c: Initialize GError * to NULL * meta-server/main.c: Fixes crashes in the metaserver that did allow the creation of new servers even when the metaserver does not support it. * common/gtk/guimap.c (calc_edge_poly): Apply gravity to ships and bridges. 2006-02-04 0.9.53 Roland Clobus * server/main.c, server/player.c, server/server.c, server/server.h, server/turn.c, server/gtk/main.c: Fixed memory leaks, at game over the GTK server will enable its interface when all players have left. * server/trade.c: Fixed a memory leak (based on a patch by Bas Wijnen ) * common/gtk/guimap.c (guimap_cursor_move): Implemented single click build for ship/bridge situations * README.Cygwin, configure.ac, client/gtk/data/Makefile.am, editor/gtk/Makefile.am: The icons for Microsoft Windows executables are generated using netpbm. * client/gtk/data/pioneers.ico, editor/gtk/pioneers-editor.ico: Removed, they are now generated from the corresponding SVG files. 2006-02-02 0.9.52 Roland Clobus * client/gtk/callbacks.c (frontend_new_bank): Removed compiler warning. * autogen.sh: Require automake1.7 as minimum version. 2006-01-27 0.9.51 Stefan Walter * client/gtk/settingscreen.c: Patch for gcc-2.95 2006-01-26 0.9.50 Brian Wellington * pioneers.spec.in: Added Swedish translation 2006-01-25 0.9.49 Roland Clobus * client/gtk/frontend.c, common/gtk/gtkbugs.c, common/gtk/gtkbugs.h: For Gtk+-2.6, don't disconnect the shortcut keys when the action is set to insensitive. * pioneers.nsi.in: Added Wesnoth-like theme * NEWS, README.Cygwin: Updated for the release 2006-01-22 0.9.48 Roland Clobus * configure.ac: Scrollkeeper only built when present, and when libgnome is present. Protect script variables with "" * configure.ac: Added AC_CONFIG_AUX_DIR * pioneers.nsi.in: Check the presence of the Gtk+ runtime before installing. 2006-01-17 0.9.47 Bas Wijnen * (Almost) all files: Change FSF postal address, change my e-mail address, fixed copyright statements. * server/server.h, server/player.c (player_by_name): Make player_by_name a static function. 2006-01-15 0.9.46 Roland Clobus * client/common/chat.c, client/gtk/chat.c, client/gtk/connect.c, client/gtk/name.c, common/game.h, server/player.c, server/server.h: Limit the maximum length for the chat and player name. 2006-01-13 0.9.45 Roland Clobus * configure.ac: Added Swedish translation, fixed locale dir * debian/control, debian/pioneers-client.install, debian/pioneers-client.menu, debian/pioneers-server-gtk.install, debian/pioneers-server-gtk.menu, debian/rules: Updated Debian files * debian/copyright: Updated download URL 2006-01-03 0.9.44 Roland Clobus * configure.ac, client/gtk/data/Makefile.am, editor/gtk/Makefile.am, server/gtk/Makefile.am: The svg renderer is called with width and height. * client/gtk/Makefile.am: Reverted Fink patch of 0.9.40 * editor/gtk/Makefile.am: Patch for Fink 2006-01-02 0.9.43 Roland Clobus * configure.ac: Build online help only when both libgnome and scrollkeeper are present. * macros/gnome-autogen.sh: Added bootstrap script from gnome-common 2.12.0-1 * macros/ChangeLog, macros/Makefile.am, macros/aclocal-include.m4, macros/autogen.sh, macros/compiler-flags.m4, macros/curses.m4, macros/gnome-bonobo-check.m4, macros/gnome-common.m4, macroos/gnome-cxx-check.m4, macros/gnome-fileutils.m4, macros/gnome-gettext.m4, macros/gnome-ghttp-check.m4, macros/gnome-gnorba-check.m4, macros/gnome-guile-checks.m4, macros/gnome-libgtop-check.m4, macros/gnome-objc-checks.m4, macros/gnome-orbit-check.m4, macros/gnome-print-check.m4, macros/gnome-pthread-check.m4, macros/gnome-support.m4, macros/gnome-undelfs.m4, macros/gnome-vfs.m4, macros/gnome-x-checks.m4, macros/gnome-xml-check.m4, macros/gnome.m4, macros/linger.m4, macros/macros.dep, macros/need-declaration.m4, macros/.cvsignore: Remove the old GNOME1 macros. * autogen.sh: Use the gnome-autogen.sh from the macros directory if gnome-common not installed. * client/gtk/data/gnome-pioneers.png: Removed, is replaced by pioneers.png 2006-01-01 0.9.42 Roland Clobus * client/gtk/callbacks.c, client/gtk/frontend.h, client/gtk/gui.c, client/gtk/gui.h, client/gtk/histogram.c, client/gtk/histogram.h, client/gtk/legend.c, client/gtk/offline.c, client/gtk/settingscreen.c, client/gtk/trade.c, common/gtk/theme.c, common/gtk/theme.h: Update all images when the theme changes. Update the rules in the legend when a new game is started. 2005-12-30 Brian Wellington * Add theme based on Battle of Wesnoth artwork (patch from Phil Ezolt). 2005-12-30 0.9.41 Roland Clobus * common/gtk/config-gnome.c (config_get_string, config_get_int): Set the default_used flag in all code paths. 2005-12-29 Stephen Jacob * pioneers.spec.in: Added the new icons and desktop files 2005-12-25 Roland Clobus * client/gtk/guic, common/network.c, common/state.c, common/state.h, common/gtk/config-gnome.c, editor/gtk/editor.c, server/player.c, server/pregame.c, server/gtk/main.c: make reindent 2005-12-21 0.9.40 Roland Clobus * configure.ac, pioneers.nsi.in: Windows installer script. (nsis.sf.net) * client/gtk/Makefile.am, meta-server/Makefile.am: Added extra include for driver.o (needed for Fink port, based on the patch by Tristan Thiede) * configure.ac, client/gtk/data/Makefile.am, editor/gtk/Makefile.am, server/gtk/Makefile.am: Configurable SVG renderer. * .cvsignore: Ignore pioneers.nsi. * client/gt/data/pioneers.ico: Updated to match the icons of 0.9.38. * editor/gtk/Makefile.am, editor/gtk/pioneers-editor.ico, editor/gtk/pioneers-editor.rc: Windows icon for the editor. * NEWS: Updated for the release 2005-12-18 0.9.39 Roland Clobus * client/common/callback.c, client/gtk/interface.c: Fixed a crash when a robber could be placed in a game with more than six players. * common/network.h, common/state.c, common/state.h, server/player.c, server/pregame.c, server/server.h: Allow many connections to the server at once. 2005-12-11 0.9.38 Roland Clobus * client/gtk/Makefile.am, client/gtk/gui.c, client/gtk/data/Makefile.am, client/gtk/data/pioneers.desktop, editor/gtk/Makefile.am, editor/gtk/editor.c, editor/gtk/pioneers-editor.desktop, server/gtk/Makefile.am, server/gtk/main.c, server/gtk/pioneer-server.desktop: Use the new icons (automatically rendered from the svg files from 0.9.37) * client/gtk/data/.cvsignore, editor/gtk/.cvsignore, server/gtk/.cvsignore: Ignore the generated .png files 2005-12-05 0.9.37 Roland Clobus * client/gtk/data/pioneers.svg, editor/gtk/pioneers-editor.svg, server/gtk/pioneers-server.svg: Added icon files. 2005-11-23 0.9.36 Roland Clobus * configure.ac: No console window for graphical applications in MinGW port. 2005-11-15 0.9.35 Roland Clobus [Windows native port] * rules.make: Removed, functionality moved to configure.ac * client/gtk/pioneers.rc, client/gtk/data/pioneers.ico: Windows icon. * Makefile.am, configure.ac, client/Makefile.am, client/ai/Makefile.am, client/common/Makefile.am, client/gtk/Makfile.am, client/gtk/data/Makefile.am, client/gtk/data/themes/Makefile.am, client/gtk/data/themes/FreeCIV-like/Makefile.am, client/gtk/data/themes/Iceland/Makefile.am, client/gtk/data/themes/Tiny/Makefile.am, client/help/Makefile.am, client/help/C/Makefile.am, common/Makefile.am, common/gtk/Makefile.am, docs/Makefile.am, editor/Makefile.am, editor/gtk/Makefile.am, meta-server/Makefile.am, server/Makefile.am, server/gtk/Makefile.am: Stop using rules.make, all is managed from configure.ac * client/gtk/gui.c: Don't use gtk_icon_source_set_filename anymore, it does not allow relative paths, as needed for Windows and klik. * configure.ac: Use pio-develop@lists.sourceforge.net as contact email address. 2005-11-14 Brian Wellington * editor/gtk/editor.c: After a 'save as', remember the filename. 2005-11-09 Brian Wellington * editor/gtk/editor.c: File|New resets/redraws the map. Use the 'Save as' icon. Don't show the robber in the editor. 2005-10-23 0.9.34 Bas Wijnen * client/common/callback.c: Removed some debug text. 2005-10-23 Roland Clobus * Makefile.am, configure.ac: Whether the client, server, metaserver or editor are built is controlled from the configure script. * Makefile.am, README.MinGW: Added README.Cygwin and README.MinGW to the distributed tarball. * configure.ac, client/common/i18n.c, common/network.c, common/network.h: The code can be configured and built from the MinGW environment. Use send and recv instead of write and read. 2005-10-02 0.9.33 Roland Clobus * configure.ac: Enable debug, enable deprecation-check and enable logging were always active. 2005-10-02 0.9.32 Roland Clobus * configure.ac, client/gtk/offline.c, common/gtk/config-gnome.c, common/gtk/config-gnome.h, editor/gtk/editor.c, server/gtk/main.c: Added optional support for GLib-2.6 (g_key_file). For environments that cannot build the help, libgnome is no longer a build requirement. * client/callback.h, client/ai/greedy.c, client/common/setup.c, client/gtk/interface.c, common/map.h, common/map_query.c, common/gtk/guimap.h, server/robber.c: Replaced all casts to CheckFunc by functions with the correct prototype. This allows player of the PPC to play Pioneers again. Cleanup of unused arguments in the used functions. * configure.ac, common/network.c, meta-server/main.c: Replace the last uses of strerror by g_strerror. 2005-10-02 Bas Wijnen * client/ai/greedy.c: Do not trade if the wanted resource is not in the bank. (Fixes Debian bug #328880) 2005-09-25 0.9.31 Roland Clobus * configure.ac, rules.make, client/ai/Makefile.am, client/common/Makefile.am, client/gtk/Makefile.am, common/Makefile.am, common/gtk/Makefile.am, editor/gtk/Makefile.am, meta-server/Makefile.am, server/Makefile.am, server/gtk/Makefile.am: Moved $(debug_includes) from rules.make to configure.ac. There are now four new commandline options to ./configure. All four are per default enabled when --enable-maintainer-mode is given. The four are: --enable-warnings, --enable-debug, --enable-logging, --enable-deprecation-checks. This patch is based on a patch by Bas Wijnen. 2005-09-17 0.9.30 Roland Clobus * client/gtk/quote.c, common/gtk/config-gnome.c: Removed the definition of *_DISABLED_DEPRECATED to make the source build again 2005-09-17 Roland Clobus * README.Cygwin: Added gettext-devel as required package 2005-09-16 0.9.29 Roland Clobus * client/gtk/gui.c: Add #ifdef HAVE_HELP around static declaration * configure.ac, client/ai/Makefile.am, client/common/Makefile.am, common/Makefile.am, meta-server/Makefile.am, server/Makefile.am: Use GLib includes in Makefile.am where needed 2005-09-14 0.9.28 Bas Wijnen * client/gtk/frontend.c: Apply workaround for Gtk bug to action buttons. 2005-09-14 0.9.27 Bas Wijnen * editor/gtk/editor.c: Warn instead of crash when clearing nonexistant hex. Set minimum map size to 1, not 2. Set sensitivity of correct buttons when resize limits are hit. Let ports disappear correctly. * client/gtk/gold.c, client/gtk/discard.c: Reindented. 2005-09-13 0.9.26 Roland Clobus , based on the patch by Ferenc Bánhidi * configure.ac, client/gtk/gui.c, editor/gtk/editor.c: Disable online help if it cannot be built * client/ai/ai.c (ai_start_game), client/common/i18n.c (change_nls), client/gtk/connect.c (meta_create_notify): Use glib functions * client/common/main.c (run_main), common/network.c, common/network.h, meta-server/main.c (main), server/main.c (main) serverk/gtk/main.c (main): Use new functions net_init and net_cleanup, as preparation for the Windows native port 2005-09-13 Bas Wijnen * client/callback.h, client/ai/greedy.c, client/common/client.c, client/gtk/frontend.h, client/gtk/interface.c, client/gtk/plenty.c, client/gtk/resource-table.c, client/gtk/resource-table.h: Made function prototype with const bank * client/gtk/discard.c, client/gtk/gold.c: If somehow the dialog was closed, show it again 2005-09-13 Roland Clobus * common/gtk/gtkbugs.c, common/gtk/gtkbugs.h, common/gtk/Makefile.am, client/gtk/discard.c, client/gtk/gold.c, client/gtk/player.c: Moved fix for bug in Gtk-2.6 to gtkbugs.c 2005-09-09 0.9.25 Ferenc Bánhidi * configure.ac, client/common/i18n.c, po/hu.po: Added Hungarian translation 2005-09-09 Roland Clobus * client/common/client.c (mode_build_response): Remove debug code 2005-09-01 0.9.24 Roland Clobus * client/gtk/connect.c (meta_dlg_cb), client/gtk/frontend.c (gui_free), common/network.c (net_connect, net_free): Fixed memory leaks 2005-08-17 0.9.23 Roland Clobus * client/gtk/frontend.c (set_sensitive): Disable the hotkeys when the GtkAction is disabled 2005-08-14 0.9.22 Roland Clobus * client/gtk/connect.c: Fixed buffer overrun * client/gtk/gui.c: Fix for crash at startup with toolbar hidden 2005-08-05 0.9.21 Stefan Walter * meta-server/main.c: Added missing #includes for FreeBSD 2005-08-01 0.9.20 Roland Clobus * client/gtk/player.c (player_build_summary): Add missing line in summary for Gtk+-2.6 * common/gtk/aboutbox.c (aboutbox_display): Add close button to about dialog 2005-07-14 0.9.19 Roland Clobus * README.cygwin: Added instructions for building from CVS. * autogen.sh: Added automake-1.9 * configure.ac, client/gtk/Makefile.am, client/gtk/frontend.c, client/gtk/frontend.h, client/gtk/gui.c, client/gtk/offline.c, common/gtk/Makefile.am, editor/gtk/Makefile.am, server/gtk/Makefile.am: use libgnome+gtk instead of libgnomeui * Makefile.am: Renamed indent make target to reindent 2005-07-09 0.9.18 Roland Clobus * common/gtk/guimap.c: Single click build: when a ship and road can be built, a ship is chosen when the cursor is at sea, a road is chosen when the cursor is over land. 2005-07-07 Roland Clobus * client/common/gnocatan.c renamed to main.c * meta-server/gnocatan-meta-server.c renamed to main.c * server/server.c renamed to main.c * server/gnocatan-server.c renamed to admin.c, contains only admin code * server/gnocatan-server.h renamed to admin.h, contains only admin code * server/gtk/gnocatan-server-gtk.c renamed to main.c * server/server.c, server/server.h: moved server code from admin.c and admin.h to these files * client/common/Makefile.am, meta-server/Makefile.am, po/POTFILES.in, server/Makefile.am, server/gtk/Makefile.am: use the renamed files * pioneers.spec.in: Updated home page 2005-07-03 Roland Clobus * common/gtk/guimap.c, editor/gtk/editor.c: Use the Q_() macro for the short translatable strings 2005-07-02 Roland Clobus * client/help/C/pioneers.xml: Updated link to homepage * client/common/client.c: fixed the hello string (protocol change) 2005-06-29 Roland Clobus * client/help/C/pioneers-C.omf, client/help/C/pioneers.xml: updated help pages * docs/pioneers-meta-server.6, docs/pioneers-server-console.6, docs/pioneers-server-gtk.6, docs/pioneers.6, docs/pioneersai.6: updated man pages * client/gtk/offline: use Pioneers settings * docs/README.states: fix use of "Gnocatan" * client/gtk/gameover.c: Last translatable string with Gnocatan. * README, README.Cygwin, client/ai/ai.c, common/network.c, common/network.h, editor/gtk/editor.c, meta-server/README.protocol, meta-server/gnocatan-meta-server.c, server/archipel_gold.game, server/crane_island.game, server/gnocatan-server.c, server/pregame.c, server/gtk/gnocatan-server-gtk.c: Use "Pioneers" in the README files, renamed 'get_gnocatan_dir' to 'get_pioneers_dir', updated protocol for the hello message, use settings for Pioneers. * server/buildutil.c, server/develop.c, server/discard.c, server/glib-driver.c, server/glib-driver.h, server/gnocatan-server.h, server/gold.c, server/player.c, server/pregame.c, server/resource.c, server/robber.c, server/server.h, server/trade.c, server/turn.c, common/buildrec.c, common/buildrec.h, common/cards.c, common/cards.h, common/common_glib.c, common/common_glib.h, common/cost.c, common/cost.h, common/driver.c, common/driver.h, common/game.c, common/game.h, common/log.c, common/log.h, common/map.c, common/map.h, common/map_query.c, common/quoteinfo.c, common/quoteinfo.h, common/state.c, common/state.h, common/gtk/colors.c, common/gtk/colors.h, common/gtk/common_gtk.c, common/gtk/common_gtk.h, common/gtk/config-gnome.c, common/gtk/config-gnome.h, common/gtk/game-settings.c, common/gtk/game-settings.h, common/gtk/guimap.c, common/gtk/guimap.h, common/gtk/polygon.c, common/gtk/polygon.h, common/gtk/select-game.c, common/gtk/select-game.h, common/gtk/theme.c, common/gtk/theme.h, client/gtk/admin-gtk.c, client/gtk/callbacks.c, client/gtk/chat.c, client/gtk/develop.c, client/gtk/discard.c, client/gtk/frontend.c, client/gtk/frontend.h, client/gtk/gameover.c, client/gtk/gold.c, client/gtk/gui.h, client/gtk/histogram.c, client/gtk/histogram.h, client/gtk/identity.c, client/gtk/interface.c, client/gtk/legend.c, client/gtk/monopoly.c, client/gtk/name.c, client/gtk/player.c, client/gtk/plenty.c, client/gtk/quote.c, client/gtk/resource-table.c, client/gtk/resource-table.h, client/gtk/resource.c, client/gtk/settingscreen.c, client/gtk/state.c, client/gtk/trade.c, client/callback.h, client/ai/ai.h, client/ai/greedy.c, client/common/build.c, client/common/callback.c, client/common/chat.c, client/common/client.c, client/common/client.h, client/common/develop.c, client/common/gnocatan.c, client/common/i18n.c, client/common/player.c, client/common/resource.c, client/common/robber.c, client/common/setup.c, client/common/stock.c, client/common/turn.c: fix uses of the name "Gnocatan" in the header comments 2005-06-28 Roland Clobus * client/common/develop.c, client/gtk/player.c, client/gtk/settingscreen.c, editor/gtk/game-devcards.c: change the development card to 'Pioneer University' 2005-06-26 Steve Langasek * client/gtk/connect.c, server/gtk/gnocatan-server-gtk.c: Auto-migrate metaserver values from 'gnocatan.debian.net' to 'pioneers.debian.net' (done in a pretty ugly, hard-coded fashion, but this should be just a temporary hack) 2005-06-26 Roland Clobus * client/gtk/data/splash.svg, client/gtk/data/splash.png: Set name to Pioneers * client/gtk/gui.c: Use the correct splash image 2005-06-25 Steve Langasek * autogen.sh: tested with automake-1.8, so allow the package to be built using that version * macros/autogen.sh: fix broken references to configure.in (should now be configure.ac). * Makefile.am: drop the dist hook for debian/, it doesn't belong in the tarball * configure.ac, rules.make, client/Makefile.am, client/ai/Makefile.am, client/common/Makefile.am, client/gtk/Makefile.am, client/gtk/connect.c, client/gtk/gui.c, client/gtk/data/Makefile.am, client/gtk/data/themes/Makefile.am, client/gtk/data/themes/FreeCIV-like/Makefile.am, client/gtk/data/themes/Iceland/Makefile.am, client/gtk/data/themes/Tiny/Makefile.am, client/help/Makfile.am, client/help/C/Makefile.am, common/Makefile.am, common/gtk/Makefile.am, editor/Makefile.am, meta-server/gnocatan-meta-server.c, server/Makefile.am, server/gnocatan-server-console.c, server/gnocatan-server.c, server/gtk/Makefile.am, server/gtk/gnocatan-server-gtk.c: fix uses of the name "Gnocatan" in the source * configure.ac: change the PACKAGE name to "pioneers" * configure.ac, client/help/C/gnocatan.xml, meta-server/meta-report: change the default metaserver to pioneers.debian.net * client/ai/Makefile.am, client/common/Makefile.am, client/gtk/Makefile.am, common/Makefile.am, common/gtk/Makefile.am, editor/gtk/Makefile.am, meta-server/Makefile.am, server/Makefile.am, server/gtk/Makefile.am: change the names of the binaries being built * docs/Makefile.am, docs/pioneers.6, docs/pioneers-server-gtk.6, docs/pioneers-server-console.6, docs/pioneersai.6, docs/pioneers-meta-server.6: rename the manpages to match * rules.make, server/gnocatan-server-console.c: fix up all embedded paths to binaries to use the new names * client/gtk/connect.c, client/gtk/gui.c, common/gtk/aboutbox.c, editor/gtk/editor.c, meta-server/gnocatan-meta-server.c, server/gtk/gnocatan-server-gtk.c: fix names embedded in the GUI * client/gtk/data/gnocatan.desktop, server/gtk/gnocatan-server.desktop: fix both the display names and the paths to the binaries * Makefile.am, configure.ac, pioneers.spec.in: fix up the RPM packaging to match * client/gtk/data/pioneers.desktop, client/help/C/pioneers-C.omf, client/gtk/data/gnome-pioneers.png, client/help/C/pioneers.xml, server/gtk/pioneers-server.desktop, server/gtk/Makefile.am, client/gtk/data/Makefile.am, client/help/C/Makefile.am, client/gtk/gui.c, server/gtk/gnocatan-server-gtk.c: fix the names of installed data files * rules.make, editor/gtk/Makefile.am, common/gtk/aboutbox.c, client/ai/Makefile.am, client/gtk/Makefile.am, client/gtk/data/Makefile.am, client/gtk/data/themes/Makefile.am, client/gtk/data/themes/FreeCIV-like/Makefile.am, client/gtk/data/themes/Iceland/Makefile.am, client/gtk/data/themes/Tiny/Makefile.am, server/Makefile.am, server/gtk/Makefile.am, common/gtk/Makefile.am: fix remaining paths where data files are installed * configure.ac, rules.make, client/ai/ai.c, client/gtk/connect.c, client/gtk/gui.c, client/gtk/offline.c, common/network.c, common/network.h, meta-server/gnocatan-meta-server.c, meta-server/meta-report, server/gnocatan-server-console.c, server/gnocatan-server.c, server/meta.c, server/server.c, server/gtk/gnocatan-server-gtk.c: fix up all variables in the source, including environmental variables; support using old env variable names as fallbacks. 2005-06-05 Brian Wellington * common/game.c, common/game.h, common/map.c, common/map.h, editor/gtk/editor.c: Remove the chits field in the GameParams structure. 2005-06-05 0.9.17 Roland Clobus * configure.ac: Require GLib minimum version 2.4 * common/log.h: Use glib/gi18n.h 2005-05-26 0.9.16 Roland Clobus * common/game.c, common/game.h: Constness for params_copy. * common/map.c (layout_chits), server/server.c (game_free), server/gtk/gnocatan-server-gtk.c (build_game_settings): Fixed memory leaks. * common/gtk/guimap.c: Implemented the todo in the single click building. The cursor will switch between node and edge, whichever is closest. 2005-05-25 Brian Wellington * client/common/client.c, server/pregame.c: Send the number of development cards that have been bought to connecting clients, so that the client's state is correct after a reconnect. 2005-05-22 Roland Clobus * apply 'make indent' again 2005-05-19 0.9.15 Roland Clobus * nearly all: replaced numElems and UNUSED macros by the GLib macros G_N_ELEMENTS and G_GNUC_UNUSED 2005-05-17 0.9.14 Roland Clobus * client/ai/greedy.c (resource_desire): Fixed a typo from 0.9.13 2005-05-16 0.9.13 Roland Clobus * client/ai/greedy.c (resource_desire): Don't consider resources that have no value (fixes monopoly deadlock) 2005-05-15 Brian Wellington * client/ai/greedy.c: Rework the AI's maritime trading code to reduce the number of pointless trades and increase the effectiveness of trades. 2005-05-15 0.9.12 Roland Clobus * common/gtk/common_gtk.c: Removed GTK compatibility code. It is not needed since 2.4 is required. * common/gtk/guimap.c: Moved comments back that were moved by a make indent, such that the translators see them again. 2005-05-01 0.9.11 Roland Clobus * server/gtk/gnocatan-server-gtk.c (main): Enabled translations in the menu. * editor/gtk/editor.c: Use GINT_TO_POINTER and GPOINTER_TO_INT * editor/gtk/editor.c, editor/gtk/game-buildings.c, editor/gtk/game-devcards.c: Enabled some translations. * client/gtk/settingsscreen.c: Fixed a string 2005-04-24 Brian Wellington * common/map.[ch]: Add map_add_hex(). * client/gtk/gui.c, common/gtk/guimap.[ch]: Move map widget and event handling code to guimap.c 2005-04-24 Brian Wellington * common/gtk/guimap.[ch]: Add guimap_find_hex(). 2005-04-20 Brian Wellington * client/ai/greedy.c: Fix a problem with the AI's monopoly card support. * client/gtk/guimap.[ch], client/gtk/Makefile.am, common/gtk/guimap.[ch], common/gtk/Makefile.am: Move map display code to common/gtk. 2005-04-21 0.9.10 Roland Clobus * client/callback.h, client/common/resource.c, common/buildrec.h, common/cost.c, common/cost.h, server/resource.c, server/server.h: Add const for function prototypes. * client/ai/greedy.c: Use cost_* functions 2005-04-20 Brian Wellington * client/gtk/frontend.h, client/gtk/gui.c, client/gtk/guimap.c, client/gtk/guimap.h, client/gtk/player.c, common/gtk/Makefile.am, common/gtk/colors.c, common/gtk/colors.h: Move non-client-specific code to common/gtk. 2005-04-20 0.9.9 Roland Clobus * rules.make, server/gnocatan-server-console.c: Add G_DISABLE_DEPRECATED, and replace the old functions. * server/gtk/gnocatan-server-gtk.c: Replace libgnomeui calls with libgnome and Gtk+ calls. * client/common/callback.c, client/gtk/gui.c, client/gtk/interface.c: No direct build of a city in the client. First a settlement has to be built. * common/network.c, meta-server/gnocatan-meta-server.c: Added code that will allow the tarball to be built under Cygwin. The client uses IPv4 functions, the server will not create listening sockets, and the metaserver will not create new games. 2005-04-19 Brian Wellington * configure.ac, Makefile.am, editor: Add gnocatan-editor. 2005-04-18 Brian Wellington * client/gtk/plenty.c: Remove duplicated and deprecated code by using the resource table widget. * server/gnocatan-server-console.c, server/player.c, server/server.c, server/server.h, server/gtk/gnocatan-server-gtk.c: Add the ability to disable AI chatting from gnocatan-server-gtk. * client/gtk/polygon.[ch], client/gtk/theme.[ch], client/gtk/Makefile.am, common/gtk/polygon.[ch], common/gtk/theme.[ch], common/gtk/Makefile.am: Move theme and polygon code from client/gtk to common/gtk. * client/ai/greedy.c: The AI can now play monopoly cards. 2005-04-17 Stephen Jacob * client/callback.h, client/ai/greedy.c, client/common/callback.c, client/common/player.c, client/gtk/player.c: The AI now holds VP dev cards until it has enough points to win. 2005-04-14 Brian Wellington * common/game.c, server/pregame.c: Make params_write_file() create a valid game file. 2004-04-14 0.9.8 Roland Clobus * server/server.c (accept_connection): Used wrong file descriptor, bug was introduced in 0.9.6 * common/game.c (params_copy), common/map.c (disconnect_hex), server/square.game: Fixed the core dump which resulted in the incomplete file. Added some descriptions of the errors. * client/ai/greedy.c (greedy_turn): Fix for bug introduced in 0.9.6. * client/ai/greedy.c (trade_desired, greedy_consider_quote): Let the AI accept free offers during trade. * common/map.c (layout_chits): Use at most one robber per map. * common/map.c (map_copy): Use robber and pirate hex from the copied map, not the original map. * configure.ac: Do not use Gtk+ for console-only applications. 2005-04-09 0.9.7 Daniel * server/gnocatan-server.c: When duplicate game titles exist, a number is added to the title. 2005-04-09 Yusei * crane_island.game: Added a new map 2005-04-09 LT-P * iles.game, coeur.game: Added new maps * Evil_square.game: Updated the map 2005-04-09 Blyx * archipel_gold.game: Added a new map 2005-04-06 Stephen Jacob * common/gtk/common-gtk.c: Change the text color of player 3's messages, since light gray on white is really hard to read. 2005-04-06 0.9.6 Roland Clobus * configure.ac, common/network.c, common/network.h, meta-server/gnocatan-meta-server.c, server/gnocatan-server-console.c, server/gnocatan-server.c, server/gnocatan-server.h, server/meta.c, server/server.c, server/server.h, server/gtk/gnocatan-server-gtk.c: Removed global variables for serverhostname and port. Moved duplicate code of server and metaserver to common/network.c. All ports are now strings (service names), there are no conversions to integers left. Upgraded metaserver protocol to 1.2. * rules.make, client/gtk/connect.c, client/gtk/plenty.c, client/gtk/quote.c: Added GTK_DISABLE_DEPRECATED for developer-only builds. Marked the files that still use deprecated calls. 2005-04-03 Brian Wellington * configure.ac, common/Makefile.am, common/map.[ch], common/mt_rand.[ch], server/server.c: Remove the old random number generator. 2005-04-03 0.9.5 Roland Clobus * client/ai/greedy.c: AI can use gold (and prefer it) during setup. The nosetup nodes are honoured. Year of Plenty will only be played when the bank has at least 2 resources left. 2005-04-02 Brian Wellington * client/gtk/gui.c, client/gtk/guimap.c, client/gtk/legend.c, client/gtk/offline.c, client/gtk/theme.c, client/gtk/theme.h: Cleanups to the theme code. * client/gtk/connect.c, meta-server/gnocatan-meta-server.c, server/server.c: Use g_spawn_async instead of open-coded fork()/exec(). 2005-04-02 0.9.4 Roland Clobus * client/ai/greedy.c: When receiving gold, the AI must choose something, even when it has enough resources. 2005-03-31 Brian Wellington * client/ai/ai.c: The AI should not stay in a game if it is full. 2005-03-28 Brian Wellington * client/gtk/connect.c, client/gtk/gui.c, client/gtk/theme.c, client/gtk/theme.h, common/gtk/select-game.c, common/gtk/select-game.h: Replace deprecated GtkOptionMenus with GtkComboBoxes. 2005-03-28 0.9.3 Roland Clobus * Makefile.am: Added target 'restorepo', to make it easier to remove the changes to the *.po files when make distcheck has been used, but no new translations have been added. * client/gtk/data/splash.svg, client/gtk/data/splash.png: Updated splash screen image to version 0.9 * configure.ac: Require Gtk+-2.4. Added checks, which 'autoscan' did recommend. 2005-03-26 0.9.2 Roland Clobus * client/callback.h, client/ai/greedy.c, client/common/client.c, client/common/client.h, client/common/player.c, client/common/resource.c, client/gtk/callbacks.c, client/gtk/connect.c, client/gtk/gui.c, client/gtk/gui.h, client/gtk/legend.c, client/gtk/settingscreen.c, client/gtk/trade.c, common/log.c, common/log.h, common/gtk/common_gtk.c: Made several gchar* arguments const gchar* argument. 2005-03-24 Brian Wellington * client/gtk/connect.c: Remove static buffers. 2005-03-23 Brian Wellington * client/ai/greedy.c: Add gold support to the AI. * server/player.c: The patch to enable random seating ordered caused gtk assertions when connecting to a full game. * Makefile.am, configure.ac, client/ai/Makefile.am, ai/: Remove the old AI; enable the new AI. 2005-03-23 0.9.1 Roland Clobus * New version numbering: only 3 digits. The first two match the protocol version, and the third is the build number. * client/gtk/frontend.h, client/gtk/offline.c, client/gtk/theme.h: Moved declaration of init_themes to theme.h * server/player.c: Version check to only two digits. Added message when version does not match. * client/common/client.c, common/game.c, common/game.h, common/map.c, common/map.h, server/pregame.c: Small protocol change, to avoid sending unused data. Added option to send secrets of the map. * client/ai/ai.c: Code cleanup to random_name. Randomizer needs to be initialized only once. * po/POTFILES.in: Added client/ai/ai.c * client/gtk/connect.c: Made metaserver redirects insensitive to buffer overflows. 2005-03-23 Bas Wijnen * client/common/client.c, server/gold.c, server/pregame.c: Fixed race condition for client after rolling dice. 2005-03-22 Brian Wellington * meta-server/gnocatan-meta-server.c: Removed compiler warnings when compiling with -pedantic. 2005-03-20 0.8.1.59 Roland Clobus * common/game.c: The automatic indent did break the sending of gameinfo. 2005-03-20 0.8.1.58 Roland Clobus * ALL: Applied 'make indent' 2005-03-20 0.8.1.57 Roland Clobus * server/gnocatan-server.c: Made random seating order the default. * server/gtk/gnocatan-server-gtk.c: Made random order setting persistent. * Makefile.am: Added 'make indent' target. 2005-03-16 Brian Wellington * common/game.c, common/game.h, server/meta.c, server/player.c, server/server.c, server/server.h: Move the register-server, server-port, and random-order fields from the GameParams object to the Game object. * client/gtk/resource-table.c (resource_table_new): Removed the use of a fixed-size buffer. 2005-03-14 0.8.1.56 Brian Wellington * common/gtk/aboutbox.c, common/gtk/aboutbox.h, common/gtk/Makefile.am, client/gtk/gui.c, server/gtk/gnocatan-server-gtk.c: Add common code for displaying about boxes; make the client and server use it. * common/game.c, common/game.h, server/gnocatan-server.c: Add params_load_file()/params_write_file() helper functions. * common/game.h, server/gnocatan-server.c, server/gnocatan-server.h, server/player.c, server/pregame.c, server/server.c, server/server.h, server/gtk/gnocatan-server-gtk.c: Add the ability to randomize seating order. * client/gtk/guimap.c, client/gtk/guimap.h, client/gtk/gui.c, client/gtk/gui.h, client/gtk/callbacks.c: When starting a new game, clear the highlighted chits, pointed out by Arjan Schrijver. Gnocatan is joined by a new developer: Brian Wellington 2005-03-12 0.8.1.55 Roland Clobus * configure.ac, added gnocatan.spec.in, removed gnocatan.spec: The spec is automatically generated and uses the current version. * ai/ai.c, client/ai/ai.c, client/gtk/connect.c, common/network.c, common/network.h, meta-server/Makefile.am, meta-server/gnocatan-meta-server.c, server/gnocatan-server-console.c, server/gnocatan-server.c, server/gnocatan-server.h, server/meta.c, server/server.c, server/server.h, server/gtk/gnocatan-server-gtk.c: More consistent use of the environment variables GNOCATAN_DIR, GNOCATAN_META_SERVER, GNOCATAN_SERVER_CONSOLE and GNOCATAN_SERVER_NAME. Moved common code to common/network.c. * docs/gnocatan-meta-server.6, docs/gnocatan-server-console.6, docs/gnocatan-server-gtk.6, docs/gnocatan.6, docs/gnocatanai.6: Added ENVIRONMENT section and FILES section. Added documentation of some new commandline options. * meta-server/gnocatan-meta-server.c (client_create_new_server): Use -m and -n commandline options instead of the environment variable. The server-console started from the metaserver will use the same hostname as the metaserver. * server/gnocatan-server-console.c (main): Correctly initialise hostname. 2005-03-12 Arjan Schrijver * meta-server/gnocatan-meta-server.c: Added commandline options to limit the portrange of the metaserver, and to set the hostname. 2005-03-02 0.8.1.54 Roland Clobus * client/gtk/interface.c: Reversal of the patch in 0.8.1.48, because it would set the client to the state turn when performing a maritime trade. Added a reset of the have_turn flag when game over is reached. 2005-03-02 Brian Wellington * client/gtk/interface.c: Disable the reject button when the trade was already rejected. 2005-02-05 0.8.1.53 Roland Clobus * server/gnocatan-server.c, meta-server/gnocatan-meta-server.c: Forgot the NULL termination of g_build_filename, pointed out by Brian Wellington. 2005-02-05 Brian Wellington * gnocatan.spec: Updated to version 0.8.1 2005-02-03 0.8.1.52 Roland Clobus * client/gtk/gui.c, server/gtk/gnocatan-server-gtk.c: Fix for crash in about dialog. Also reintroduces the version number. * client/gtk/gui.c, client/gtk/guimap.c, client/gtk/guimap.h, client/gtk/theme.c, client/gtk/theme.h, server/gtk/gnocatan-server-gtk.c: Theme.c rewrite, using g_build_filename instead of gnome_program_locate_file. * client/gtk/trade.c: Fixed a memory leak. * common/game.c, common/game.h, common/map.c, server/gnocatan-server.c, server/gnocatan-server.h: Server will not crash on invalid/unreadable games. * configure.ac, rules.make, client/gtk/connect.c, client/help/C/gnocatan.xml, client/help/C/images/connect-dialog.png, client/help/C/images/server-create.png, client/help/C/images/server-create.png, client/help/C/images/servers-dialog.png, meta-server/gnocatan-meta-server.c: Meta server protocol updated to 1.1. New keyword: capability. When 'create games' is sent, the metaserver is capable of locally creating new game. Updated the documentation to reflect the change. * server/gtk/gnocatan-server-gtk.c(game_activate): Disabled the 'Add Computer Player' button when gnocatanai is not installed. 2005-01-25 0.8.1.51 Roland Clobus * common/gtk/common_gtk.c: Added stub for gtk_alignment_set_padding, allowing to code to build with Gtk+-2.0 and 2.2 again. * client/gtk/gold.c(gold_choose_player_must): Replaced the last Gtk+ deprecated funcion call in this file. 2005-01-25 Stefan Walter * common/network.c, meta-server/gnocatan-meta-server.c, server/server.c: Restored the include files needed for FreeBSD that disappeared in 0.8.1.48 2005-01-23 0.8.1.50 Roland Clobus * client/common/client.c: Removed unused variables from recovery_info_t, does not show turn 0 anymore. * common/map.c: Added default case * common/state.c, common/state.h, server/gold.c, server/pregame.c, server/server.h: Fixed reconnect during distribution of gold. * client/common/client.c, client/common/client.h, client/common/develop.c: Removed unused function road_building_begin. * client/gtk/gold.c, client/gtk/resource-table.c, client/gtk/resource-table.h: Replaced gtk_clist. * server/player.c, server/pregame.c, server/server.h: Server crashed when the player who is in the setup phase reconnected with another name. 2005-01-15 Roland Clobus * INSTALL, .cvsignore: Removed INSTALL from CVS. It is generated * README: Added information from the old INSTALL 2005-01-15 0.8.1.49 Daniel * common/map.c, common/map.h: Patch #1100340: Added the option to mark a tile such that it will never be shuffled, by adding a + (plus) after the number in the .game file. All gold tiles will now be shuffled, unless they are marked. * server/henjes.game, server/seafarers-gold.game: Patch #1101870: Marked all gold tiles such that they will not be shuffled, when random map is turned on. 2005-01-09 0.8.1.48 Roland Clobus * common/buildrec.c, common/map.h, common/map_query.c: Bug #1094484: Disallow the building of a road during setup phase when the settlement cannot be built. * common/network.c, meta-server/gnocatan-meta-server.c: Minimal system include files. * server/buildutil.c, server/develop.c, server/discard.c, server/gold.c, server/meta.c, server/player.c, server/pregame.c, server/resource.c, server/robber.c, server/server.c, server/trade.c, server/turn.c: Minimal list of include files. * client/gtk/interface.c: Bug #1027642, Bug #942472: Player did not get a turn after the setup phase in a second game with the same client. * client/gtk/gui.c: Minor spelling change, to make text in about boxes of client and server the same. 2004-12-25 0.8.1.47 Etan Reisner * server/gtk/gnocatan-server-gtk.c, client/gtk/gui.c: Replaced GNOME about dialog with Gtk code. 2004-12-25 Roland Clobus * client/gtk/discard.c, client/gtk/resource.c, client/common/client.c: Removed usused variable * server/player.c: Removed unused code. * common/state.c, common/state.h: Added stack dump code. * server/player.c: Added stack names when restoring the disconnect player. 2004-12-21 0.8.1.46 Roland Clobus * configure.ac: Renamed configure.in to the more modern configure.ac * autogen.sh: Changed configure.in to configure.ac 2004-12-19 Etan Reisner * ai/client.c, common/gtk/select-game.c, meta-server/gnocatan-meta-server.c, server/gtk/gnocatan-server-gtk.c: Using g_strdup instead of strdup * client/common/callback.c, server/gnocatan-server-console.c: Removing unused/duplicate #include lines 004-12-03 0.8.1.45 Roland Clobus * client/gtk/resource-table.c, client/gtk/resource-table.h, client/gtk/Makefile.am: Added a simple way to add a selection for resources in the client. * client/gtk/frontend.c: Reenabled the workaround for a Gtk+ bug. * client/common/player.c: A leaving player is a normal message, not an error message. * client/common/client.c, client/gtk/interface.c, server/discard.c, server/pregame.c, server/server.h: Fixed reconnect in state DISCARD and YOUAREROBBER. * client/gtk/discard.c: Using the new resource-table widget, and removed deprecated gtk_clist. * client/gtk/frontend.h, client/gtk/player.c: Made player_create_icon accessible to other source files. * client/gtk/gui.c(gui_set_game_params): Initially the map pixmap was too small. (Debian bug #284063) 2004-11-28 0.8.1.44 Roland Clobus * client/gtk/gui.h: Fix for the macro that would have bad side effects when used in if statements * client/common/client.c, server/pregame.c: Enable sending the bank by the server * client/gtk/gui.c(gui_highlight_chits), client/gtk/guimap.c(guimap_highlight_chits): Enable highlighted chits when reconnected. * client/gtk/monopoly.c(monopoly_create_dlg): Only show one dialog when reconnecting. * client/common/client.c, client/gtk/guimap.c: Fix for crash when reconnecting during RoadBuilding card that was played before a dice roll. * client/common/develop.c(develop_bought_turn): Development cards can be played when reconnected. * client/common/client.c, server/pregame.c: Dialog did not show when reconnecting when a Year of Plenty card has been played. 2004-11-21 0.8.1.43 Roland Clobus * client/gtk/offline.c(frontend_offline): Game|Connect incorrectly available when client is started with a commandline with server and port * client/gtk/guimap.c(guimap_cursor_move): Crash when leaving the map with a cursor active * client/gtk/chat.c, client/gtk/develop.c, client/gtk/discard.c, client/gtk/gold.c, client/gtk/gui.c, client/gtk/player.c, client/gtk/resource.c: Main screen consistent again, now without frames * client/common/callback.c, client/gtk/connect.c, client/gtk/develop.c, client/gtk/discard.c, client/gtk/frontend.c, client/gtk/frontend.h, client/gtk/gameover.c, client/gtk/gold.c, client/gtk/gui.c, client/gtk/gui.h, client/gtk/guimap.c, client/gtk/guimap.h, client/gtk/histogram.c, client/gtk/identity.c, client/gtk/legend.c, client/gtk/monopoly.c, client/gtk/offline.c, client/gtk/player.c, client/gtk/plenty.c, client/gtk/quote.c, client/gtk/resource.c, client/gtk/settingscreen.c, client/gtk/state.c, client/gtk/trade.c: Preparations for 'Leave Game', added some constness, chat disabled when offline, frontend_gui_register_* can handle more than one widget, removed toolbar hack (not needed anymore) * client/gtk/guimap.c: Removed compiler warnings when compiling with --pedantic * ai/client.c, ai/client.h: Removed dead code * client/common/client.c, common/common_glib.c, common/driver.h, common/state.c, common/state.h, common/gtk/common_gtk.c: Removed reference to widget from StateMachine. The code was moved to the gtk directory in 0.8.0 2004-11-12 Roland Clobus * Actually updated the build number to 0.8.1.42 2004-11-05 0.8.1.42 Roland Clobus * client/gtk/resource.c: Translation was not active * client/callback.h, client/ai/greedy.c, client/common/client.c, client/common/develop.c, client/gtk/frontend.h, common/cards.c, common/cards.h: More const in prototypes * client/gtk/develop.c: Rewrite without deprecated GTK calls * client/common/callbacks.c: Reset development cards when a new game starts 2004-10-27 0.8.1.41 Roland Clobus * client/common/client.c: Added dummy callsbacks to remove compiler warnings * common/common_glib.c, common/common_glib.h, common/driver.h, common/network.c, server/gnocatan-server.c, server/server.c: Using the new typedef InputFunc * rules.make: When compiling with --enable-debug, GNOME_DISABLE_DEPRECATED can be used * ai/ai.c, ai/client.c, ai/computer.c, ai/player.c, ai/resource.c, ai/trade.c: gnome.h previously included string.h, now we must do it ourselves * client/gtk/gui.c: Rewrite of Preference dialog. It uses instant-apply. Toolbar settings removed, because GNOME already saves it * client/common/chat.c, common/log.c, common/log.h, common/gtk/common_gtk.c: Chat color separate from use of color of messages * client/gtk/identity.c: Removed compiler warnings 2004-10-24 0.8.1.40 Roland Clobus * client/gtk/gui.c, client/gtk/gui.h, client/gtk/trade.c: Removed the second global variable map. (The other is client/common/client.[ch]) * client/gtk/guimap.c, client/gtk/guimap.h, client/gtk/histogram.c: Reenabled the dots that indicate the probability (when enough space in the hex/chit is available) * client/common/callback.c(can_move_ship), common/buildrec.c(can_setup_settlement): Removed the compiler warnings about losing const-ness, introduced in 0.8.1.39 (It is still cheating: a temporary non-const pointer is used to temporarily modify the map) * common/common_glib.c, common/common_glib.h, common/driver.h: Removed compiler warning: ISO C forbids passing arg 2 of pointer to function between function pointer and `void *' 2004-10-17 0.8.1.39 Roland Clobus * common/map.h, common/map_query.c: Fixed longest road detection * client/gtk/monopoly.c: No longer uses deprecated calls. Removed frame * client/callback.h, client/common/build.c, client/common/client.h, client/common/resource.c, client/common/setup.c, client/gtk/frontend.h, client/gtk/gui.c, client/gtk/guimap.c, client/gtk/guimap.h, client/gtk/interface.c, common/buildrec.c, common/buildrec.h, common/map.h, common/map_query.c: Many pointers are now const * client/common/robber.c: Removed unused code * client/gtk/frontend.c, client/gtk/gameover.c, client/gtk/resource.c: Replaced deprecated calls * client/gtk/gui.c, client/gtk/guimap.c, client/gtk/guimap.h: Single click building * common/log.c, common/log.h, common/gtk/common_gtk.c, common/gtk/common_gtk.h: Log uses less memory * server/player.c: Fix for lost longest road on reconnect 2004-10-08 0.8.1.38 Roland Clobus * All *.c: Added #include "config.h" * configure.in, ai/ai.c, client/ai/ai.c, client/gtk/connect.c, client/gtk/offline.c, common/Makefile.am, meta-server/gnocatan-meta-server.c, server/gnocatan-server-console.c, server/gnocatan-server.c, server/gtk/gnocatan-server-gtk.c, server/meta.c, server/server.c: Moved contents of meta.h and port numbers to configure.in * common/meta.h: Replaced by contents in configure.in * client/callback.h, client/common/i18n.c, client/gtk/offline.c: Added commandline to gnocatan client * rules.make, client/common/resource.c, client/gtk/callbacks.c, client/gtk/gui.c, client/gtk/guimap.c, client/gtk/histogram.c, client/gtk/player.c, client/gtk/trade.c, common/game.c, common/network.c: Added -pedantic to --enable-debug, and resolving many warnings * client/gtk/develop.c, client/gtk/connect.c, client/gtk/discard.c, client/gtk/frontend.c, client/gtk/gameover.c, client/gtk/gold.c, client/gtk/monopoly.c, client/gtk/plenty.c, client/gtk/polygon.c, client/gtk/quote.c, client/gtk/settingscreen.c: Replace gnome.h includes with gtk and/or gdk * client/gtk/gui.c: Removed language setting in GUI. Override is now only possible with the normal environment variables, and the commandline * client/gtk/name.c: Added per default the current name * common/gtk/game-settings.c, common/gtk/common_gtk.c: Added some stub functions for compatibility with versions of Gtk before 2.4 * client/help/C/gnocatan.xml: Added technical chapter * server/gnocatan-server.c, server/server.c, server/server.h: Enabled server-stop for administrator, added a few checks to admin interface 2004-10-01 0.8.1.37 Roland Clobus * client/help/C/gnocatan-C.omf: Added line with DTD to make xmllint happy. * ai/computer_names: moved to client/ai * server/gnocatan-server-gtk.c, server/gnocatan-server.desktop: moved to server/gtk * common/select-game.c, common/select-game.h, common/config-gnome.c, common/config-gnome.h, common/common_gtk.c, common/common_gtk.h, common/game-settings.c, common/game-settings.h: moved to common/gtk. All gtk related code is now in separate subdirectories. * server/gtk/.cvsignore, server/gtk/Makefile.am, common/gtk/.cvsignore, common/gtk/Makefile.am: Initial versions, based on the parent directories. * Makefile.am: Don't try to build ai, if no gnome found * ai/Makefile.am: Removed dependency on gtk libraries, installation of computer_names move to client/ai/Makefile.am * client/ai/Makefile.am: Now installs computer_names * configure.in, client/gtk/Makefile.am, common/Makefile.am, server/.cvsignore, server/Makefile.am: Adjustment for the new directories. * common/.cvsignore: Removed gnocatan-path.h * po/ChangeLog: Add changes regarding the po directory will be loggged in po/ChangeLog, and not in this file. * configure.in, ai/Makefile.am, client/ai/Makefile.am, ai/ai.c: Added option to install new or old ai. Current default: old ai 2004-09-26 0.8.1.36 Roland Clobus * Makefile.am, autogen.sh, configure.in, omf.make, rules.make, xmldocs.make, ai/Makefile.am, client/Makefile.am, client/ai/Makefile.am, client/common/Makefile.am, common/Makefile.am, meta-server/Makefile.am, client/gtk/Makefile.am, server/Makefile.am, server/gnocatan-server-gtk.c: New autogen.sh script, with optional Gnome/Gtk and scrollkeeper. * ai/ai.c, client/ai/ai.h, meta-server/gnocatan-meta-server.c, server/gnocatan-server.h, server/server.c: Removed the need for the generated file gnocatan-path.h * client/callback.h, client/ai/ai.c, client/common/gnocatan.c, client/common/i18n.c, client/gtk/callbacks.c, client/gtk/offline.c: The new frontend_init uses the argc and argv, instead of set_callbacks * client/ai/greedy.c, client/common/resource.c: Removed unneeded Gnome dependency * .cvsignore, common/.cvsignore: updated for removed files * depcomp, install-sh, missing, mkinstalldirs, stamp.h.in, po/Makefile.in.in: Removed (autogenerated files) * common/gnocatan-path.h.in: Removed (replaced by rules.make) * intl/*, ABOUT-NLS: Removed (using glib-gettext instead) * macros/type_socklen_t.m4: Added check for struct socklen_t 2004-09-06 0.8.1.35 Roland Clobus * client/gtk/gui.c, client/gtk/gui.h: Made left pane resizable. * client/gtk/identity.c: Made identity panel resizable. * client/gtk/player.c: Player summary uses Gtk2 widget, is resizable. * client/gtk/resource.c(resource_build_panel): Resource panel resizable. 2004-09-03 Jeff Breidenbach * debian/changelog: sync Debian & upstream versioning. 2004-08-29 0.8.1.34 Roland Clobus * ai/client.c: Added global flag 'played_soldier_card' to fix stack overflow. * server/gnocatan-server-gtk.c(start_clicked_cb): Remembered game did start with wrong map. * client/common/resource.c(resource_modify), client/gtk/frontend.h: Argument contains absolute value, not a difference. * client/gtk/resource.c(resource_build_panel, frontend_resource_change): Fixed size of resource counter to 2 positions. 2004-08-21 Jeff Breidenbach * debian/control: added yelp dependency for gnocatan-help * Released as Debian package, 0.8.1-6. 2004-08-07 0.8.1.33 Roland Clobus * common/game.c: changed server-port parameter to string, fixed memory leak in params_free. * server/gnocatan-server.c(start_server), server/gnocatan-server.h, server/server.c(server_startup), server/server.h: added const in the parameters. * server/server.c, server/server.h: removed server_restart (not used). 2004-08-07 Claudio Fontana (sick_soul@users.sourceforge.net> * client/common/client.c: Removed deprecated lvalue casts. 2004-07-31 0.8.1.32 Roland Clobus * common/game-settings.c: more specific include files. * common/select-game.c (select_game_add), server/gnocatan-server-gtk.c (start_clicked_cb): Fixed bug that 'Default' game would be started instead of preselected game. * client/common/player.c, client/gtk/trade.c, common/game-settings.c, common/select-game.c, server/gnocatan-server-gtk.c, server/server.c: Added comments for translations. * common/game-settings.c(game_settings_init): Spin button right aligns, this code is disabled until the build requires Gtk2.4 * po/POTFILES.in: enabled translation for common/game-settings and commong/select-game. * po/nl.po: Updated translations 2004-07-31 Hans Fugal * client/gtk/interface.c: Quick fix for 'Second click on reject trade crashes the server'. 2004-07-31 Giancarlo Capella * po/it.po: Updated italian translation 2004-07-24 0.8.1.31 Roland Clobus * configure.in, client/common/i18n.c: Enabled italian in the UI, made some checks more strict. * ai/greedy.c, client/ai/greedy.c, client/common/chat.c, TODO: Enabled translated chats for the AI * client/gtk/legend.c, client/gtk/theme.c: Fixed display of tiles in the legend dialog/tabpage. (Foundation laid by Giancarlo Capella) Replaced deprecated function calls. * client/gtk/theme.c: Fixed crash on theme change before a game is started. * rules.make, client/gtk/gui.c, common/common_gtk.c: Enabled GDK_DISABLE_DEPRECATED check in --enable-debug mode, all deprecated functions are replaced. * client/callback.h: Removed prototypes for static functions * client/common/callback.c(pirate_count_victims): Fixed small memory leak. * client/gtk/guimap.c, client/gtk/guimap.h, client/gtk/histogram.c: Dynamic scaling of the font in the chit, removed duplicate code * client/gtk/interface.c: Removed the need for some global variables. Fixed bug that a ship to steal from could not be selected. * client/gtk/polygon.c, client/gtk/polygon.h: Added some const correctness. * client/gtk/theme.c, client/gtk/theme.h: Port tiles are now always centered. 2004-07-24 Giancarlo Capella * po/it.po: Added italian translation 2004-07-08 Jeff Breidenbach * Released as Debian package, 0.8.1-5. 2004-07-08 0.8.1.30 Roland Clobus * client/gtk/histogram.c: Added more margins, last dice roll is shown * ai/client.c, ai/greedy.c, client/ai/greedy.c, client/gtk/gui.c, common/game.c, common/game.h, server/develop.c, server/gnocatan-server-console.c, server/gnocatan-server-gtk.c, server/gnocatan-server.c, server/gnocatan-server.h, server/turn.c: Replaced all references to Exit with Quit * ai/greedy.c (score_hex_hurt_opponents), client/ai/greedy.c (score_hex_hurt_opponents): AI does not try to move the robber onto water * NEWS: Updated to reflect the release on SF * rules.make: removed GTK_ITEM_FACTORY define, it will no longer work with Gtk 2.4 * po/nl.po: Updated some translations 2004-07-02 Jeff Breidenbach * Released as Debian package, 0.8.1-4. 2004-07-01 Roland Clobus * server/pregame.c, ai/client.c: Oops, forgot a ; 2004-06-29 0.8.1.29 Roland Clobus * ai/client.c, ai/trade.c, client/common/client.c, client/gtk/frontend.h, client/gtk/interface.c, client/gtk/quote.c, client/common/quoteinfo.c, common/quoteinfo.h, server/pregame.h: Various changes. quotelist_new and quotelist_delete changed prototypes to allow for checks on 'quote-leaks'. * ai/greedy.c (trade_desired), client/ai/greedy.c (trade_desired): Fix for AI losing resources during trade. * client/callback.h, client/gtk/identity.c, client/gtk/player.c: Removed unused color field, added player_or_viewer_color. * client/gtk/chat.c, client/gtk/gui.c: Added flag to indicate whether the focus can be grabbed. * client/gtk/trade.c: Gtk2 widgets for trade page. Redesign. * common/network.c: Removed an obsolete FIXME. * server/trade.c: More informative error messages. Duplicate quote is now a note, not an error. 2004-05-30 0.8.1.28 Roland Clobus * client/ai/greedy.c (greedy_year_of_plenty), ai/client.h (mode_year_of_plenty), ai/computer.h, ai/greedy.c (greedy_year_of_plenty): Fix year of plenty bug, AI will now always choose available resources 2004-05-26 Jeff Breidenbach * 0.8.1.27 Released as Debian package, 0.8.1-3. 2004-05-23 0.8.1.27 Roland Clobus * client/gtk/chat.c, client/gtk/connect.c, client/gtk/histogram.c, client/gtk/name.c, common/game-settings.c, common/select-game.c, server/gnocatan-server-gtk.c: Removed *_DISABLE_DEPRECATED defines to allow the code to build with Gtk 2.4. * client/gtk/frontend.c, common/common_gtk.c: Replaced casts to gpointer with more portable GINT_TO_POINTER. * server/gnocatan-server-gtk.c: Added #include , needed when building with gcc flag -O0. * po/nl.po: Added dutch translations. 2004-05-04 Roland Clobus * po/de.po, po/es.po, po/nl.po, po/fr.po, po/gnocatan.pot: Updated translation files to reflect current texts. (No changes to translated texts) 2004-04-25 0.8.1.26 Released as Debian package, 0.8.1-2 2004-04-25 0.8.1.26 Roland Clobus * client/common/build.c (build_add), client/common/client.c (mode_load_gameinfo), client/common/client.h (build_add), common/buildrec.h (struct BuildRec), server/pregame.c (mode_pre_game): Reconnect fix when something was built in the current turn. * common/game-settings.c, common/game-settings.h, common/select-game.c, common/select-game.h, common/Makefile.am: New Gtk widgets for server and client. * client/gtk/connect.c: New connection scheme. * client/gtk/frontend.h: Cleanup connect_get_port_str. * client/gtk/gui.c: Replaced some deprecated icons. * client/gtk/name.c: Replaced deprecated code. * client/gtk/offline.c: Moved code regarding settings to client/gtk/connect.c. * meta-server/gnocatan-meta-server.c (debug): Prototype fix. * server/gnocatan-server-gtk.c: Replaced deprecated code, added tooltips, used new widgets * server/player.c, server/server.h: Some cleanup. 2004-04-25 0.8.1.26 Tobias Jakobs * client/gtk/data/splash.png: New image (400x400 pixels) * client/gtk/data/splash.svg: Source for splash.png 2004-04-25 0.8.1.25 Bas Wijnen * client/callback.h (struct callbacks), client/common/client.c (client_init, check_other_players), client/common/player.c (player_stole_from), client/ai/greedy.c (greedy_new_statistics, greedy_player_robbed, greedy_get_rolled_resources, greedy_played_develop, greedy_init): added and used new callbacks for ai chatting. * client/gtk/callbacks.c (frontend_error, frontend_set_callbacks): gtk client callback cleanup. 2004-03-28 0.8.1.24 Roland Clobus * ai/client.c (mode_play_develop_response), ai/develop.c (can_play_develop), client/common/client.c (mode_play_develop_response), client/common/develop.c (can_play_develop): Less stringent check if Road building development card can be played. * client/common/callback.c (road_building_can_finish)m client/common/client.c (mode_road_building): Road building can be aborted when nothing can be built anymore. * client/common/develop.c (develop_played): Out of resource is a warning instead of an error. 2004-03-23 0.8.1.23 Roland Clobus * client/gtk/state.c (route_gui_event): Added #ifdef DEBUG 2004-02-29 0.8.1.22 Roland Clobus * client/common.client.c (mode_load_gameinfo): Fixed textual error. * server/pregame.c (mode_pre_game): Fixed bugs for viewers with ID >= MAX_PLAYERS. * server/gnocatan-server-gtk.c (gui_player_change), server/gold.c (distribute_next, distribute_first), server/player.c (next_player_num, player_setup, player_free, player_archive, player_is_viewer), server/pregame.c (mode_pre_game), server/server.h, server/trade.c (trade_finish_domestic, process_call_domestic, trade_begin_domestic): new function player_is_viewer. * common/state.c (sm_pop): Fixed too relaxed assertion. * client/gtk/chat.c (chat_build_panel, chat_set_focus): Avoided selection of chat entry text on every gui update. 2004-02-28 0.8.1.21 Bas Wijnen * client/common/client.c (client_init): added initialisation for init and new_bank * client/common/resource.c (resource_format_type): added 'nothing' when nothing is offered in a trade 2004-02-08 0.8.1.20 Bas Wijnen * client/common/player.c, client/gtk/gameover.c, common/common_gtk.c, common/log.c, common/log.h: Removed MSG_NAMEANON, added prefixes to log_message_string_console. * client/common/develop.c: Removed selected_card_idx that was originally used for the gtk interface. * client/gtk/state.c, common/log.c, common/network.c, common/network.h, common/state.c: Renamed LOG defines to DEBUG. Made the log more readable. * client/callback.h, client/common/client.c, client/gtk/callbacks.c, client/gtk/frontend.h, client/gtk/player.c, client/common/player.c: Added rename for viewers, viewers are shown in Player Summary again. * client/callback.h, client/common/callback.c, client/common/client.c, client/common/client.h, client/common/player.c, client/common/resource.c, client/gtk/callbacks.c: Added support in the client to count the resources in the bank. * client/gtk/player.c: Added plurals for several development cards. 2004-02-08 0.8.1.19 Bas Wijnen , Roland Clobus * client/common/client.c (mode_road_building): Changed interpretation of argument of callbacks.roadbuilding to facilitate AI programs. 2004-02-08 0.8.1.18 Bas Wijnen * client/callback.h, client/common/callback.c, common/state.c, common/state.h: Added cb_disconnect and sm_close 2004-02-06 0.8.1.17 Roland Clobus * client/gtk/player.c (player_show_connected_at_row): Fixed bug displaying random line below player icon. 2004-01-26 0.8.1.16 Roland Clobus * server/server.c (game_server_start): Show random seed in the server. 2004-01-25 0.8.1.15 Bas Wijnen * common/state.c, common/state.h: Added a stackdump when overflow occurs. * client/common/client.c, common/state.c, common/state.h: Added sm_push_noenter, sm_pop_noenter, sm_goto_noenter, needed for the AI. * client/gtk/histogram.c: Added enter after last line 2004-01-15 Jeff Breidenbach * doc/Makefile.am, doc/gnocatan-meta-server.6, debian/gnocatan-meta-server.files: Added metaserver manpage. 2004-01-11 0.8.1.14 Roland Clobus * client/callback.h, client/common/client.c, client/common/turn.c, client/gtk/callbacks.c: renamed callbacks.dice to callbacks.rolled_dice. * client/gtk/callbacks.c, client/gtk/frontend.h, client/gtk/interface.c: renamed frontend_dice to frontend_rolled_dice. * client/gtk/callbacks.c (frontend_init_game): added histogram_init. * client/gtk/guimap.c, client/gtk/guimap.h: add color lightblue. * client/gtk/histogram.c, client/gtk/histogram.h: complete rewrite of the histogram diagram. Now fully scalable. * client/common/resource.c (resource_format_num): support "no resources" situation. 2004-01-11 0.8.1.13 Bas Wijnen * client/callback.h, client/common/client.c, client/gtk/callbacks.c, client/gtk/frontend.c, client/gtk/ftontend.h, client/gtk/trade.c: Fixes bug with maritime trade * client/common/callback.c, client/gtk/offline.c: Fix for unknown host bug * ai/client.c: AI can handle auto-discard * configure.in, client/Makefile.am, client/callback.h, client/common/callback.c, client/ai/Makefile.am, client/ai/ai.c, client/ai/ai.h, client/ai/greedy.c: Added first version of the AI in the new structure. 2004-01-02 0.8.1.12 Roland Clobus * client/callback.h (struct callbacks), client/common/client.c (mode_start, mode_load_game, mode_load_gameinfo, mode_start_response), client/common/client.h, client/common/player.c (player_reset, player_reset_statistic), client/gtk/callbacks.c (frontend_init_game, forntend_start_game), client/gtk/frontend.h, client/gtk/player.c (player_clear_summary): Fix bug #866431: Play several games with same client. * client/gtk/callbacks.c (frontend_start_game), client/gtk/frontend.h, client/gtk/identity.c (top level, draw_building_and_count, expose_identity_area_cb, identity_draw, identity_set_dice, identity_build_panel, identity_reset): Fixed bug #824624: Polygons in identity panel disappear under dice. 2004-01-02 0.8.1.12 Bas Wijnen * configure.in, Makefile.am, ai/Makefile.am, client/Makefile.am, client/common/Makefile.am, client/gtk/Makefile.am, client/gtk/data/Makefile.am, client/gtk/data/themes/Makefile.am, client/gtk/data/themes/FreeCIV-like/Makefile.am, client/gtk/data/themes/Iceland/Makefile.am, client/gtk/data/themes/Tiny/Makefile.am, client/help/Makefile.am, client/help/C/Makefile.am, common/Makefile.am, docs/Makefile.am, macros/Makefile.am, meta-server/Makefile.am, server/Makefile.am, rules.make (new file): Added support for --enable-debug to autogen.sh. * common/network.c, client/gtk/state.c: Give debugging output when --enable-debug is specified. 2004-01-02 0.8.1.11 Bas Wijnen * common/Makefile.am, common/Makefile.am, common/authors.h: Moved authors.h from client/common to common * client/common/i18n.c, client/common/gnocatan.c, client/common/i18n.h: Removed i18n.h and merged into client/callback.h * client/gtk/Makefile.am, client/gtk/frontend.h, client/gtk/gui.c: Removed directories in #include statements * client/Makefile.am, client/common/Makefile.am, client/callback.h: Moved callback.h from client/common to client 2004-01-02 0.8.1.10 Roland Clobus * client/gtk/legend.c (legend_create_dlg): The legend dialog now has a close button, like the other dialogs. * client/gtk/quote.c (top level, quote_build_page): The translation now works. * client/gtk/settingscreen.c (top level, add_setting_val, settings_create_dlg): Shuffled the boxed around in game settings dialog, for better layout, numbers (where possible) right aligned. * po/de.po, po/es.po, po/fr.po, po/nl.po, po/gnocatan.pot: Translations modified for the new string 'Reject Domestic Trade'. (still marked fuzzy, because I'm not a native speaker.) 2004-01-01 0.8.1.9 Bas Wijnen * (nearly) all files: Removed compiler warnings when compiling with -Wall -W -Wpointer-arith -Wcast-qual -Wno-sign-compare -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wnested-externs -Wwrite-strings. * client/common/modes.h: Removed 2003-12-30 0.8.1.8 Bas Wijnen * client/common/build.c, client/common/callback.h, * client/common/client.c, client/common/setup.c, * client/gtk/frontend.h, client/gtk/interface.c: Removed dependency on BuildRec, modified prototype of callbacks.setup. 2003-12-29 0.8.1.7 Bas Wijnen * client/common/build.c (build_move), client/common/callback.h * (top level, struct callbacks), client/common/client.c (top level, * client_init, mode_domestic_trade), client/gtk/callbacks.c * (frontend_trade, frontend_set_callbacks), client/gtk/trade.c * (trade_update, trade_perform_maritime, trade_perform_domestic): Fixed bug #863901: maritime quote doesn't disappear when resources are no longer available. * client/common/client.c (mode_discard, mode_domestic_trade), * client/common/player.c (player_build_add, player_build_remove): Code cleanup. * Added can_play_any_develop, get_devel_deck, get_bank, get_map, * callbacks.error, frontend_error: Preparation for new AI structure. * cb_place_robber, client_start, frontend_init: Changed prototype. 2003-12-28 0.8.1.6 Roland Clobus * client/common/player.c (player_has_quit): Fix for (null) receives... (Bug #865870). * clinet/gtk/player.c (calc_statistic_row): Fix for viewers. * client/gtk/name.c (name_create_dlg): Remove scrolling from name change dialog. 2003-12-25 Jeff Breidenbach * docs/Makefile.am: registered gnocatanai manpage 2003-12-21 0.8.1.5 Roland Clobus * po/nl.po: Improved translation. 2003-12-21 0.8.1.4 Bas Wijnen * client/gtk/interface.c (frontend_discard_remove), client/gtk/discard.c (discard_player_did): Removed warning at automatic discard. 2003-12-21 0.8.1.3 Roland Clobus * ai/client.c, ai/greedy.c, ai/trade.c, client/common/callback.c, client/common/client.h, client/common/gnocatan.c, client/common/player.c, client/gtk/frontend.h, client/gtk/gui.c, client/gtk/player.c, common/game.c, server/gold.c, server/player.c, server/pregame.c, server/turn.c: Code cleanup. 2003-12-21 0.8.1.2 Roland Clobus * client/gtk/guimap.c (guimap_draw_hex): Fixed bug #230252; draw complete hex, not only robber/pirate area. 2003-12-21 0.8.1.1 Bas Wijnen * client/common/callback.h: Added comments * client/common/callback.h, client/common/client.c (client_start), * client/common/gnocatan.c, client/gtk/callbacks.c, * client/gtk/frontend.h, client/gtk/offline.c: Changes to frontend intialisation 2003-12-21 0.8.1.1 Bas Wijnen * client/common/Makefile.am: Generalized file generation for authors.h. * client/gtk/develop.c: Removed debugging statements. * client/gtk/interface.c (global, frontend_discard_remove, place_robber, frontend_robber): Fixed state bug (#863836). 2003-12-20 Bas Wijnen and Roland Clobus * theme/*/Makefile.am: Added Makefile.am in all directories * client/gtk/data/Makefile.am, client/gtk/theme.c, * client/gtk/guimap.c: renamed images directory to themes directory. splash.png moved to pixmap directory * po/fr.po, po/de.po: removed some obvious wrong fuzzy translations 2003-12-17 Roland Clobus * client/common/i18n.c, po/fr.po: Added french translation by Arnaud MALON * client/common/i18n.c, client/gtk/gui.c: The untranslated language strings will be converted to UTF-8. 2003-12-16 Bas Wijnen * All files except ai: Added proper copyright notice. * client/admin-gtk.c, client/build.c, client/client.c, client/client.h, client/chat.c, client/connect.c, client/develop.c, client/discard.c, gameover.c, gnocatan.c, gold.c, gui.c, gui.h, guimap.c, guimap.h, histogram.c, histogram.h, i18n.c, i18n.h, identity.c, legend.c, monopoly.c, name.c, player.c, player.h, plenty.c, polygon.c, polygon.h, quote.c, resource.c, road_building.c, robber.c, setup.c, settingscreen.c, stock.c, theme.c, theme.h, trade.c, turn.c: removed. * client/common/authors.h, client/common/build.c, client/common/callback.c, client/common/callback.h, client/common/chat.c, client/common/client.c, client/common/client.h, client/common/develop.c, client/common/gnocatan.c, client/common/i18n.c, client/common/i18n.h, client/common/modes.h, client/common/player.c, client/common/resource.c, client/common/robber.c, client/common/setup.c, client/common/stock.c, client/common/turn.c, client/gtk/admin-gtk.c, client/gtk/frontend.h, client/gtk/gui.h, client/gtk/guimap.h, client/gtk/histogram.h, client/gtk/polygon.h, client/gtk/theme.h, client/gtk/callbacks.c, client/gtk/chat.c, client/gtk/connect.c, client/gtk/develop.c, client/gtk/discard.c, client/gtk/frontend.c, client/gtk/gameover.c, client/gtk/gold.c, client/gtk/gui.c, client/gtk/guimap.c, client/gtk/histogram.c, client/gtk/identity.c, client/gtk/interface.c, client/gtk/legend.c, client/gtk/monopoly.c, client/gtk/name.c, client/gtk/offline.c, client/gtk/plenty.c, client/gtk/polygon.c, client/gtk/player.c, client/gtk/quote.c, client/gtk/resource.c, client/gtk/settingscreen.c, client/gtk/state.c, client/gtk/theme.c, client/gtk/trade.c: Added. Separated gui from network in client as a preparation to other clients, including the AI. 2003-12-02 Roland Clobus * client/gui.c, client/guimap.c: When applying a new theme, the tiles were not scaled correctly. * legend.c: When showing the legend tabpage, the client would crash when a scaled theme was active. * client/theme.c: the extra colors of the tile for gold were not correctly used. * client/theme.c: the board tile in the theme is never scaled, but tiled. * client/theme.h: the size of arrays in the struct MapTheme was defined by digits, not by constants in variable names. 2003-12-02 Roland Clobus * seafarers.game, seafarers-gold.game: removed unknown keyword. * Cube.game, Another_swimming_in_the_wall.game, Evil_square.game, 2003-12-06 Roland Clobus * client/client.c, client/player.c, common/common-gtk.c, * common/driver.h, common/game.c, common/state.c, common/state.h, * server/buildutil.c, server/glib-driver.c, server/glib-driver.h, * server/gnocatan-server-console.c, server/gnocatan-server-gtk.c, * server/gold.c, server/player.c, server/pregame.c, server/server.c, * server/server.h, server/turn.c: Fixed reconnect (excluding gold), client does not crash when added lots of viewers, some variable declarations moved for gcc-2.95 compatibility, replace the clist widget in server-gtk, removed calls to player_name, fixed server crash when reconnecting, server now keeps the current player by number, not by name. 2003-12-02 Roland Clobus * seafarers.game, seafarers-gold.game: removed unknown keyword. * Cube.game, Another_swimming_in_the_wall.game, Evil_square.game, 2003-12-11 Bas Wijnen * server/trade.c: Fixed bug #848386, state stack overflow. Allow asking for free resources in server. 2003-12-10 Roland Clobus * ai/greedy.c: Fixed AI to build only on land. * common/map_query.c: Fixed AI placing robber in water. 2003-12-05 Bas Wijnen * common/build_rec.h, common/cards.h, common/common_gtk.h, common/cost.h: Added some #include statements * common/network.h, common/state.h: Removed the comma after the last value in the enum. 2003-12-02 Roland Clobus * seafarers.game, seafarers-gold.game: removed unknown keyword. * Cube.game, Another_swimming_in_the_wall.game, Evil_square.game, GuerreDe100ans.game, Mini_another_swimming_pool_in_the_wall.game: Added games by LT-P * henjes.game: Added game by Robert Henjes * lorindol.game: Added game by Martin Brotzeller * server/Makefile.am: changed to add the new games * server/gnocatan-server-gtk.c: raised the limit for victory points 2003-11-16 Roland Clobus * client/gui.c: Reduced startup window size for smaller displays. * client/player.c (player_build_add), server/pregame.c (send_gameinfo): Fixed bridges. 2003-11-05 Roland Clobus * server/gnocatan-server-gtk.c: Fixed bug 816848 2003-11-05 Roland Clobus * client/chat.c, client/player.c, common/log.c, common/log.h: Bug #826894: First message is not time stamped. 2003-11-05 Roland Clobus * ai/client.c, server/player.c, server/server.c: Refuse connection when a game is over. * common/game.c, common/game.h, server/gnocatan-server-gtk.c, server/server.c, server/server.h: Repaired -x option, implemented rudimentary restart. * client/Makefile.am, common/Makefile.am, */config-gnome.c, */config-gnome.h: Moved config-gnome.* from client/ to common/ * server/gnocatan-server-gtk.c: Added save settings. * server/gnocatan-server.c, server/gnocatan-server.h: Ordered the names of the games. 2003-10-29 Roman Hodek * po/de.po: removed fuzzy tags, cared for two untranslated msgs, made some items sound better in German. * ai/monopoly.c (monopoly_player), client/monopoly.c (monopoly_create_dlg): joined the two messages for better translations, needed a tmp string for that. 2003-10-28 Roman Hodek * server/gnocatan-server-console.c (main): New option -n to set hostname reported to metaserver (analogous field in GTK server). * meta-server/README.protocol: updated 2003-10-26 Jeff Breidenbach * docs/gnocatan*.6: added gnocatanai man page 2003-10-25 Roman Hodek * server/meta.c (meta_send_details): send PROTOCOL_VERSION, not program VERSION. * meta-server/README.protocol: new file 2003-10-25 Roland Clobus * gnocatan.spec: Applied patch 829404 by Daniel Jensen * client/gui.c: Removed compiler warning introduced at 2003-10-19 2003-10-24 Jeff Breidenbach * debian/*: More scrollkeeper packaging fixes. 2003-10-20 Jeff Breidenbach * debian/rules, debian/control: Better scrollkeeper-ing. 2003-10-19 Roland Clobus * client/gui.c: Added word wrap to client messages window. 2003-10-17 Roland Clobus * ai/player.c, client/player.c, po/de.po, po/es.po, po/gnocatan.pot: Updated german translations. 2003-10-17 Bas Wijnen * client/client.c, client/player.c, client/player.h: Fixed reconnect bug. * common/network.c, server/gnocatan-server.c: Fixed broken pipe bug. 2003-10-17 Bas Wijnen * po/de.po, po/es.po, po/gnocatan.pot: Updated. * server/gnocatan-server-gtk.c: Improved code. * server/gnocatan-server.c: Ignored broken pipe. 2003-10-15 Bas Wijnen 2003-10-14 Jason Long * INSTALL: removed note about requiring the Gnome prefix. * client/gui.c, server/gnocatan-server-gtk.c: replace gnome_pixmap_file with gnome_program_locate_file, which uses the application-specific pixmap directory instead of Gnome's pixmap directory. * server/Makefile.am: make DATADIR available to gnocatan-server-gtk. * client/trade.c: Fixed reconnect bug. * po/de.po, po/es.po, po/gnocatan.pot: Updated. * server/conquest+ports.game, server/conquest.game, server/four-islands.game, server/seafarers-gold.game, server/seafarers.game, server/x.game: Added pirate. 2003-10-15 Bas Wijnen * README: Changed version number. * client/player.c: bugfix. * po/de.po, po/es.po, po/gnocatan.pot: updated. 2003-10-15 Bas Wijnen * ai/client.c: Use new disconnect protocol. * client/build.c: Fixed ship move undo bug. * server/gold.c, server/robber.c, server/trade.c: Fixed viewer bugs. * po/de.po, po/es.po, po/gnocatan.pot: Updated. 2003-10-13 Bas Wijnen * client/client.c, server/pregame.c: Added pirate position to reconnect info. * common/game.c, server/player.c, server/pregame.c, server/server.h: Bugfixes. * common/game.c, server/player.c, server/pregame.c: Bugfixes. 2003-10-12 Roland Clobus * client/admin_gtk.c, client/connect.c, common/network.c, common/network.h, common/state.c, meta-server/gnocatan-meta-server.c, server/gnocatan-server.c, server/meta.c: Changed net_free to NULLify the session, changed the metaserver connection dialog, fixed bug #717982, added metaserver redirections without port-number. 2003-10-12 Bas Wijnen * AUTHORS: Added my name. * Makefile.am: Fixed make distcheck bug. * po/de.po, po/es.po, po/gnocatan.pot: Updated. 2003-10-12 Bas Wijnen * ai/client.c, client/client.c: Fixed version conflict bug. * po/de.po, po/es.po, po/gnocatan.pot: Updated. 2003-10-10 Jason Long * Removed client/help/C/images/*.gif client/help/C/gnocatan.sgml, client/help/C/topic.dat; added xmldocs.make, omf.make, client/help/C/gnocatan.xml, client/help/C/gnocatan-C.omf, client/help/C/legal.xml, client/help/C/images/*.png; changed client/help/C/Makefile.am, Makefile.am, client/Makefile.am, client/gnocatan.c: bring Gnocatan help system up to Gnome2 standards. 2003-10-04 Roland Clobus * client/client.c,client/config-gnome.c,client/config-gnome.h, client/connect.c,client/gui.c,client/i18n.c: Settings dialog uses config-gnome.c. Removed French and Italian, due to unavailable translations. 2003-10-04 Roland Clobus * client/gui.c,server/gnocatan-server-gtk.c: The application icons are now shown. 2003-10-12 Bas Wijnen * common/game.c, common/map.c, common/map.h, common/map_query.c: Added support for nodes where setup is not allowed. 2003-10-12 Bas Wijnen * client/client.c, client/player.c, client/player.h, common/game.h, server/server.h: Added arbitrary point tokens. 2003-10-12 Bas Wijnen * client/identity.c, client/player.c, client/player.h, server/player.c, server/pregame.c: Finished viewer support. * common/map_query.c: Fixed bug with pirate. 2003-10-12 Bas Wijnen * server/develop.c, server/player.c, server/server.h: Allowed multiple development cards of the same type. * client/client.c, server/discard.c, server/gold.c, server/robber.c, server/server.c, server/player.c, server/pregame.c, server/server.h, server/turn.c: Added support for viewers and disconnected players. * server/develop.c, server/player.c, server/pregame.c, server/resource.c, server/robber.c, server/turn.c: Cleanup. 2003-10-12 Jeff Breidenbach * debian/control, debian/changelog: prepare for 0.8.0 package 2003-10-11 Bas Wijnen * ai/greedy.c, client/client.c, client/client.h, client/guimap.c, client/robber.c, common/map.c, common/map.h, common/map_query.c, server/robber.c: Prepared client for pirates, bugfixes. * client/build.c, client/client.c. client/guimap.c, client/robber.c, client/turn.c, common/map.h, common/map_query.c, server/buildutil.c, server/robber.c server/server.h server/turn.c: Completed pirates in server and client. Bugfixes. * common/log.c: Code cleanup. * server/gnocatan-server-gtk.c: Used message window for log. 2003-10-10 Bas Wijnen * common/game.c, common/game.h, common/map.c, common/map.h, common/map_query.c, server/robber.c, server/turn.c: prepared server for pirates. 2003-10-10 Bas Wijnen * ai/client.c: Fixed AI naming bug. * client/gui.c: Made code nicer, fixed bugs. * client/robber.c: Fixed language bug. * client/theme.c: Made code nicer, fixed scaling bugs. 2003-10-03 Roland Clobus * client/gold.c: Cosmetic change for the Choose Gold dialog. 2003-10-03 Bas Wijnen * server/player.c: Bugfix. * server/buildutil.c: Fixed bug #817465. * server/gold.c: Removed debugging statement. * client/gui.c: Inserted startsize patch (fixes bug #722641). 2003-10-03 Bas Wijnen * server/player.c: Bugfix. 2003-10-01 Bas Wijnen * ai/client.c, client/client.c, server/player.c, server/pregame.c, server/server.c, server/server.h: Changed protocol for sending initial player name. * ai/client.c, client/client.c, server/player.c: Added extensions to protocol, to allow future features without needing a minor version change (which would break compatibility). 2003-09-30 Bas Wijnen * many files, didn't record which: Fixed const<->non-const warnings introduced by previous 2 patches. * client/theme.c: Bugfixes in scaling tiles. * client/guimap.c: Improved code. * client/gui.c: Fixed settings update bug. 2003-08-17 Jason Long * client/admin-gtk.c, client/connect.c, client/discard.c, client/gameover.c, client/gui.c, client/histogram.c, client/legend.c, client/monopoly.c, client/name.c, client/plenty.c, client/settingscreen.c: use GtkDialog instead of deprecated GnomeDialog 2003-08-17 Jason Long * configure.in: remove references to macros directory and add checks for Gnome2 * client/Makefile.am, common/Makefile.am, server/Makefile.am, ai/Makefile.am, meta-server/Makefile.am: use GNOME2_CFLAGS and GNOME2_LIBS or GLIB2_LIBS for INCLUDES and LDADD * client/connect.c: don't destroy cserver_dlg a second time * client/gui.c (gui_draw_hex, gui_draw_edge, gui_highlight_chits, expose_map_cb), client/guimap.c (redraw_node): fixed some drawing issues (Gnocatan was trying to draw to the backing store before it was created) * client/gui.c (build_messages_panel), common/common_gtk.c, server/gnocatan-server-gtk.c (build_interface): use GtkTextView instead of deprecated GtkText * client/gui.c (register_gnocatan_pixmaps): use GtkIconFactory instead of deprecated gnome_stock_pixmap_register * client/guimap.c (guimap_terrain), client/theme.c: use GdkPixbuf instead of Imlib * client/config-gnome.c, client/gui.c, client/i18n.c, client/identity.c, server/gnocatan-server-gtk.c: miscellaneous changes for Gnome2 2003-09-29 Bas Wijnen * ai/client.c, client/client.c, server/turn.c: made ship move back more logical in protocol. * server/buildutil.c, server/buildutil.c: bugfixes. * common/map_query.c: Made query more general. 2003-09-29 Bas Wijnen * server/buildutil.c, server/server.h, server/turn.c: Fixed longest road bug. * ai/client.h: Fixed bug. * client/client.c, server/buildutil.c, server/develop.c, server/pregame.c, server/server.h, server/turn.c: Changed undo protocol to let the server do the thinking. * server/turn.c: Fixed bug #698611 2003-09-28 Bas Wijnen * server/gnocatan-server-gtk.c: Fixed UI bug in sevens rule. 2003-09-28 Bas Wijnen * ai/ai.c, ai/client.h, ai/greedy.c: Chat when aborting a game with gold. Function is not actually implemented yet. * client/client.c, client/client.h, client/gold.c: Fixed bugs in gold and changed some states from goto to push/pop. * common/buildrec.h: Preparing to fix longest road undo bug. * common/map_query.c, server/buildutil.c: Fixed longest road bug. * server/develop.c, server/discard.c, server/gold.c, server/player.c, server/pregame.c, server/robber.c, server/server.h, server/trade.c, server/turn.c: Fixed bugs and changed most states from goto to push/pop. * docs/server_states.fig, docs/client_states.fig, docs/README.states: New files documenting the (new) state model of server and client. 2003-09-26 Bas Wijnen * ai/client.c, ai/computer.h, ai/greedy.c: AI crashed when there was gold in the game. Now it exits gracefully. 2003-08-15 Roland Clobus * common/Makefile.am, meta-server/Makefile.am, po/Makefile.in.in: 'make distcheck' aborted with an error. Removed reference to non-existing po/Changelog and updated the generation of common/gnocatan-path.h * po/de.po, po/es.po, po/gnocatan.pot: Changed automatically (line numbers in comments) by make distcheck. 2003-09-25 Bas Wijnen * ai/greedy.c: Fixed bug. * server/player.c, client/player.c, client/client.c: Fixed bug. * common/map_query.c, server/gold.c: Fixed incorrect C. 2003-08-15 Yusei * server/player.c: fixed a bug with anonymous players that caused the first player to get their turn. 2003-08-15 Roland Clobus * client/legend.c: fixed text-display for gold in legend-dialog 2003-09-25 Bas Wijnen * ai/client.c: Let ai prefer 2:1 trade. 2003-08-18 Roland Clobus * client/client.c, server/resource.c, ai/client.c, ai/greedy.c, ai/client.h: Fixed bug 652707. The ai now correctly handles the out-of-resource-card situation. Also the client is fixed. As a side effect, I enabled the 2:1 trade for the AI. Applied with minor changes by Bas Wijnen. 2003-09-25 Bas Wijnen * po/de.po: Fixed a translation. 2003-08-14 Bas Wijnen * server/gold.c, client/gold.c: fixed bug that gold was not taken out of the bank. Added support for giving out gold during setup. Fixed display of gold choosing dialog (update bank etc). 2003-08-14 Bas Wijnen * server/pregame.c server/gold.c server/server.h: gold is now also given out in setup phase. 2003-08-14 Bas Wijnen * client/themes/Iceland/theme.cfg: Made the Iceland theme use its gold tile. 2003-08-14 Yusei * new file client/ship_move.c; common/game.c, client/gui.c, client/Makefile.am, common/common_gtk.c: Fixed truncated long lines from server, added a ship move icon, added possibility to make message window a fifo. 2003-08-09 Roland Clobus * client/player.c: Keep showing the names and scores of disconnected players. Now you can see the scores of the other players at the end of the game. 2003-08-03 Roland Clobus * client/client.c, client/client.h, client/develop.c, client/player.c, client/player.h, client/resource.c: Fixed bug 600765. The client can now play several consecutive games, restart is not needed anymore. 2003-08-02 Bas Wijnen * new files client/gold.c, client/gold.png, server/gold.c, server/seafarers-gold.game; configure.in, client/Makefile.am, client/admin-gtk.c, client/client.c, client/client.h, client/gui.c, client/gui.h, client/guimap.c, client/legend.c, client/resource.c, client/theme.c, client/theme.h, common/map.c, common/map.h, common/network.h, po/Makefile.in.in, server/Makefile.am, server/glib-driver.c, server/gnocatan-server.c, server/player.c, server/pregame.c, server/resource.c, server/server.h, server/turn.c: Some bugfixes, added support for gold terrain. Set version to 0.8.0 due to changes in the protocol. 2003-07-26 Bas Wijnen * ai/client.c, ai/player.c, ai/player.h, client/build.c, client/client.c, client/client.h, client/gui.c, client/guimap.c, client/player.c, client/player.h, client/turn.c, common/buildrec.c, common/map.h, common/map_query.c, common/state.c, server/buildutil.c, server/server.h, server/turn.c: Added sailing of ships. * Fixed bug that ships may disappear on reconnect. 2003-07-19 Bas Wijnen * ai/greedy.c: Fixed ai building bug 772865 * server/gnocatan-server-gtk.c, server/meta.c, server/server.h: Added "Send hostname" for metaserver to allow masqueraded hosts to show correctly (they need a forwarded port). * server/player.c, server/pregame.c: Fixed bug 770314. * common/map_query.c: New longest road algorithm, fixes bugs #762927 and #774107. 2003-07-04 Bas Wijnen * client/gui.c: Added hotkey support for standard actions 2003-05-31 Jeff Breidenbach * Security fixes courtesy of Bas Wijnen 2003-02-21 Jeff Breidenbach * debian/rules: Adjusted .deb build rules to Steve's suggestion. Allows debuild to run from pristine CVS checkout while still allowing debian/ tweakers to avoid some build latency. 2003-02-14 Andy Heroff * server/player.c: Fixed several GList usage issues in player reconnection code. Need to always store the return value from an append or remove, also don't need to allocate a list node when the GList pointer is NULL. NULL is considered the empty list value. * server/turn.c: Check for NULL player when trying to hand out resources after a roll. We can run into this if a player drops and a roll occurs while he is disconnected. Fixes bug 621358, but creates bug 686956. 2003-02-13 Andy Heroff * Batch fix of bugs 205475, 480328, 482336, 482744. Cleaned up compiler warnings. * ai/ai.c: Removed goto. Added warning when the computer names file can't be found. * server/gnocatan-server-console.c: Added printing of usage information if attempt to start server returns FALSE. * server/gnocatan-server.c: Added missing CR to log message. Changed g_error call to g_critical call when game params are not found to prevent server from exiting at that point, also allowing the call to return FALSE in that case. 2003-02-11 Andy Heroff * server/trade.c: Fixed SF bug 660814 regarding server crash during trading. Wrong quote list nodes were being deleted when a new quote was issued which removed a request for a resource for which there was already a quote on the table. 2003-01-24 Steve Langasek * client/settingscreen.c, po/gnocatan.pot, po/de.po: fix misspelling. * po/es.po: translation improvements. Although only 60% of the gettext strings are translated, the game is now almost completely playable in Spanish. * debian/rules: tweak Debian build script so that we can skip certain developer-only tasks, and so we don't end up with an extra changelog in the directory. 2003-01-23 Steve Langasek * client/connect.c, common/meta.h: automatically upgrade the metaserver setting to one that works if the old metaserver is saved in the client settings. 2003-01-21 Steve Langasek * client/client.h, client/resource.c, client/monopoly.c, client/player.c: use caller-provided buffer for resource_cards(), to eliminate the previous kludge :) 2003-01-21 Roman Hodek * po/de.po: Fixed a few German translations after Steves changes below. * client/resource.c (resource_cards): let it use two alternating static buffers, because this function is sometimes called twice as function argument. 2003-01-21 Steve Langasek * client/client.c, client/client.h, client/player.c, client/resource.c, client/trade.c: extensive reworking of string handling for better i18n support. The code still needs some work to not depend on English-style plural rules, but the game should now be sanely translatable to a wide range of languages. * po/de.po, po/es.po, po/gnocatan.pot: update the Spanish and German translations in accordance with the above. 2003-01-19 Roman Hodek * po/gnocatan.pot: rebuilt * po/de.po, po/es.po: updated from new .pot; de is fixed already (not many changes...), es still needs more translations * ai/greedy.c: AI chat spelling fixes by Tril * client/trade.c (is_domestic_trade_allowed): patch by Tril : allow trade even if nobody has the resource in question, in case somebody wants to give away for free :) * gnocatan.spec: applied patch by Daniel Jensen , adding manpages and fixing images (release 3) 2003-01-16 Steve Langasek * common/meta.h, meta-server/meta-report: change to using gnocatan.debian.net as the default metaserver instead of the defunct term1.dccs.com.au. 2003-01-15 Jeff Breidenbach * themes.c: incorporate string terminator patch from Hal Eisen 2003-01-15 Steve Langasek * gnocatan.spec: RPM packaging updates from Daniel Jensen 2003-01-14 Steve Langasek * client/Makefile.am: add an explicit dependency on authors.h to make sure it's generated when we need it. 2003-01-12 Jeff Breidenbach * AUTHORS: adjust my email 2003-01-12 Steve Langasek * ai/Makefile.am: don't link GNOME libs for a binary that has no gui. 2003-01-11 Steve Langasek * client/Makefile.am, client/guimap.c, client/theme.c, debian/rules: further refine the placement of image files. * configure.in, ai/client.c, ai/develop.c, ai/player.c, ai/resource.c, client/chat.c, client/client.c, client/develop.c, client/player.c, client/resource.c, client/settingscreen.c, po/de.po, po/es.po, po/gnocatan.pot: Gettext enhancements: don't construct strings by concatenation, don't mark strings for translation with _N() that are non-translatable (such as '%s'). Add Spanish to the list of supported languages and begin localizing. Revert accidental breakage of the de.po file. * server/Makefile.am, server/gnocatan-server-gtk.c: fix the directory lookup for game themes 2003-01-10 Steve Langasek * docs/Makefile.am, docs/gnocatan.6, docs/gnocatan-server-gtk.6, docs/gnocatan-server-console.6, Makefile.am, configure.in, docs/.cvsignore, debian/gnocatan-server-console.files, debian/gnocatan-server-gtk.files, debian/rules: add preliminary manpages. * debian/gnocatan-server-console.undocumented, debian/gnocatan-server-gtk.undocumented, debian/gnocatan-client.undocumented: Not undocumented anymore. 2003-01-09 Steve Langasek * AUTHORS, client/Makefile.am, client/gui.c, po/gnocatan.pot, po/de.po: bring the AUTHORS file up-to-date, and autogenerate the about box list from this file. * client/Makefile.am: s/pixmap_DATA/image_DATA/, to please automake. 2003-01-08 Steve Langasek * client/theme.c: use a more portable variadic macro syntax, to address OS X concerns * server/gnocatan-server.desktop, server/Makefile.am: add a GNOME desktop entry for the GTK server, so it's easier to start from the menu. * ai/Makefile.am, client/Makefile.am, common/gnocatan-path.h.in, server/Makefile.am, debian/dirs, debian/gnocatan-ai.files, debian/gnocatan-server-data.files, debian/rules, gnocatan.spec, server/gnocatan-server.c: move /usr/share/gnocatan to /usr/share/games/gnocatan, per the FHS; move things-that-are-not-pixmaps out of /usr/share/pixmaps. 2003-01-01 Jeff Breidenbach * debian/gnocatan-meta-server.init: privilige reduction * debian/control: adjust dependencies, add co-maintainers. * debian/changelong: prepare for upload to Debian 2002-12-25 Roman Hodek * configure.in: Some changes to make it work with autoconf2.50 and automake-1.7. Set version to 0.7.1.90 [internal snapshot] * depcomp, po/ChangeLog: new * acconfig.h: removed obsolete file * Makefile.am (distclean-local): remove some more stuff * gnocatan.spec: applied patch by Brian Wellington * client/player.c (player_has_quit): remove player also from internal list for a more meaningful message on reconnection. * server/player.c, server/pregame.c, server/server.h: remove redundant is_game_full variable and replace by game->num_players == game->params->num_players * server/player.c (player_revive): send an explicit note to players that a reconnection has happened * server/player.c (player_set_name): explicitly tell if name was already in use and so why one is 'anonymous' 2002-07-22 Roman Hodek * client/Makefile.am (install-data-hook): fix silly thinko. 2002-07-21 Roman Hodek * 0.7.1 released!! * debian/changelog, gnocatan.spec: bump version number to 0.7.1. * client/gui.c (menu_settings_cb): use GTK_EXPAND attribute in x dir (looks better). Delay signal_connect calls for language buttons to avoid gtk assertion failures. * client/Makefile.am: omit CVS dirs for theme file installing and exporting * client/help/C/Makefile.am: $(DESTDIR) was missing 2002-07-09 Roman Hodek * ai/greedy.c: Introduce better, situation-related chat messages. * ai/client.c (client_chat): obey chatty parameter, call computer_funcs.chat() with occasion parameters * ai/client.c: added hooks for client_chat() * ai/client.h, ai/computer: changed prototypes for client_chat() et al. * po/de.po: updated 2002-07-06 Jeff Breidenbach * debian/rules: package upstream changelog, readme 2002-07-06 Roman Hodek * theme.c, theme.h: new files for theme handling * client/Makefile.am: added theme.[ch], added hook for installing theme data * client/gnocatan.c: call init_themes() * client/gui.c (menu_settings_cb, settings_apply_cb): new option menu to select theme added to setting dialog * client/guimap.c: in many places replace hardcoded pixmaps/colors by what's defined in current theme * client/guimap.h: New parameter 'terrain' for draw_dice_roll(). * client/histogram.c: pass new parameter to draw_dice_roll(). * po/de.po: updated 2002-06-19 Jeff Breidenbach * debian/rules: adapt to non-temporary Makefile.in files 2002-06-17 Roman Hodek * ai/ai.c (main): result of getopt must be stored in an int. * client/connect.c (connect_create_dlg): saved_meta_server must be strdup-ped if coming from env or fixed str. 2002-06-12 Jeff Breidenbach * debian/control: package description tweaks 2002-06-09 Roman Hodek * ai/greedy.c (greedy_consider_quote, trade_desired), ai/trade.c, ai/client.c: new functions to make AI respond to trade requests; maybe not really clever yet, but at least a start. Again removed some unnecessary printf()s. * ai/greedy.c (best_road_to_road_spot): don't set up roads on sea. * ai/client.c (mode_year_of_plenty): send plenty selection _after_ receiving what is in bank to avoid protocol error. * client/client.c (mode_game_over): accept all messages in mode_game_over to avoid error messages. * client/monopoly.c: added #include "config.h" before gnome.h to make gettext work * common/state.c (sm_pop_all_and_goto): new func to avoid undefined state after sm_pop_all(). * client/client.c (check_other_players): when receiving game won message, use sm_pop_all_and_goto(), otherwise it can happen that the NET_CLOSE event is already received during processing of the sm_goto() and the state is undefined and an assertion fails. * server/gnocatan-server.c (cfg_set_*): check for params != NULL. 2002-06-07 Jeff Breidenbach * debian/contol: merge debian packaging update 2002-06-06 Roman Hodek * configure.in, acconfig.h: export ALL_LINGUAS to config.h * client/i18n.[ch]: new files for language setting handling handles available languages, initializing NLS from saved setting or environment, and changing language * client/Makefile.am: added i18n.[ch] * client/gnocatan.c (main): call init_nls() instead of doing stuff itself * client/gui.c: make settings dialog have separate pages, now that the number of setting grows... new page for language setting (TODO: dynamic GUI switch!) * po/de.po: updated 2002-06-03 Roman Hodek * client/gui.c (splash_build_page): use a viewport widget around the splash pixmap to avoid it is drawn over the tab area if space is too small for it. * po/.cvsignore, intl/.cvsignore: new 2002-06-02 Roman Hodek * configure.in: bumped version to 0.7.1 (prelim.), enabled NLS * client/chat.c (chat_set_focus): new function to grab focus for chat entry window (to not have to type on it all the time...) client/client.c: call chat_set_focus in various places * everywhere: run gettextize to create po/ subdir, change configure.in and Makefiles for gettext, created German translation, add more _() marks in a bunch of places, include config.h where needed before gnome.h * ai/client.c: one more exit fix, remove some unnecessary printfs. * ai/*.c: started to prepare AI player for domestic trade * client/histogram.c: Force histogram_dlg and table to NULL if dialog is closed. * maintained */.cvsignore 2002-05-31 Roman Hodek * meta-server/gnocatan-meta-server.c (client_create_new_server): revert -m localhost to -r 2002-05-28 Andy Heroff * client/chat.c: Fixed parsing of /me command in chat. 2002-05-27 Roman Hodek * 0.7.0 released!! * configure.in, gnocatan.spec, debian/changelog: bumped version to 0.7.0. * server/pregame.c, ai/greedy.c, common/map_query.c: catched a bunch of NULL pointer accesses revealed by 'The Pond' that isn't totally surrounded by sea. * INSTALL, README: modernized a bit * server/Makefile.am: added $(includedir) to INCLUDES so that gdk_imlib.h is found in all cases. 2002-05-24 Roman Hodek * configure.in: set default prefix to output of gnome-config --prefix (if available) * common/Makefile.am: new rule to generate gnocatan-path.h from gnocatan-path.h.in with datadir and bindir substituted 2002-05-23 Roman Hodek * client/histogram.c: if new value is registered, update the graph; this revealed that the drawing worked only by incident, the curve area overlayed the bars... solution was to draw bars and curve in the same expose callback. * common/common_gtk.c (check_gtk_widget): Work around a GTK bug: if mouse is inside a toolbar button that becomes sensitive (e.g. the "Roll Dice" button), you had to move out and in the mouse before you could click. * server/gnocatan-server-console.c (main): added new option -m to set metaserver name * server/gnocatan-server-gtk.c (build_interface): added new field for metaserver name * server/meta.c: make name of metaserver to connect to a global var * client/connect.c (create_server_dlg): remove "start server" button in create server dialog, and use standard OK/Cancel buttons instead. (I finally found out how to do this :) 2002-05-22 Roman Hodek * client/gui.c: new option to show legend as a page besides the map (someone with lack of screen space for the dialog suggested that) * client/legend.c (legend_create_content): separated out from legend_create_dialog so legend page can use same code * client/gui.c: two new checkboxes in the settings dialog to disable use of colors in the message window and player summary. * common/common_gtk.c (log_set_func_message_color_enable): new interface to en/disable colors in message window (message_window_log_message_string): if msg_colors is false, use black * client/player.c (player_modify_statistic): obey color_summary_enabled 2002-05-21 Roman Hodek * client/help/C/gnocatan.sgml: Updated with respect to recent developments/changes, updated some images to match current looking. * meta-server/gnocatan-meta-server.c (client_create_new_server): Pass full hostname to created servers in environment. Otherwise the server will register to the metaserver as running on "localhost" and it won't be reachable from outside. * debian/gnocatan-ai.menu: Fix typo ('-' too much again) * debian/gnocatan-meta-server.conffiles: init.d files is a conffile 2002-05-20 Jeff Breidenbach * Fix splash screen packaging bug. 2002-05-20 Roman Hodek * client/gui.[ch], client/client.c: on startup show a splash screen that disappears on the first connect. Image contributed by Tobias Jakobs. * client/gui.c (help_about_cb): collected more names from the ChangeLog and added them to the about box. * client/histogram.c: paint chips as x axis labelling like on map; probability is a triangle rather Gaussian!! fix drawing. * client/guimap.c (display_hex): separate out drawing of dice chip into draw_dice_roll (needed by histogram also now). * ai/client.c (global_filter): if net connection was close, print message and exit. * client/client.c (global_filter): likewise, but set status to offline. * client/histogram.c: added y axis labelling, draw normal distribution * server/server.c (new_computer_player): close inherited fd's, use _exit normally to avoid GTK atexit procedures running. * deian/gnocatan-ai.menu: fix typo 2002-05-19 Roman Hodek * Release 0.6.99 here as beta for 0.7.0. * client/connect.c (build_create_interface): new spin for number of ai players. * ai/ai.c (random_name): don't open computer_names in rw mode; added srand to avoid rather likely case that two ai players started closely together choose the same name. * server/player.c: made tournament mode work; Added PB_SILENT mode for player_broadcast. * server/server.c (new_computer_player): new argument 'server' (for completeness), simplify a bit, start a second child to avoid zombies * server/gnocatan-server-console.c: new -c option to start a number of computer players * meta-server/gnocatan-meta-server.c (client_create_new_server): parse number of ai players and pass it on to server * ai/Makefile.am: remove admin-gtk stuff, obviously copied from client/Makefile.am * Makefile.am (dist-hook): added spec file, autogen.sh, and debian files to dist tarball * server/Makefile.am: added new games * common/Makefile.am: added gnocatan-path.h * client/help/C/Makefile.am (dist-hook): add images to dist tarball * gnocatan.spec: best-effort try to implement same sub packages scheme as for Debian, but untested * debian/control: added Recommends: gnocatan-ai to both server packages, as they can start ai clients 2002-05-16 Roman Hodek * client/chat.c (chat_parser): Fix /me. * meta-server/gnocatan-meta-server.c (client_create_new_server): Emit an syslog error message if server cannot be exec-ed. * Make everything compile also with -Werror. * debian subdir: New package layout: - merge -data into -client, data are too small to justify a separate Arch: all package - split -server into -server-gtk, -server-console (much less dependencies!), and -server-data (common stuff) - new -meta-server and -ai packages A few debian/rules cleanups. 2002-05-13 Roman Hodek * client/connect.c (show_waiting_box, close_waiting_box): new dialog box indicating the we're waiting for an answer from a meta- server add net functions for querying metaserver about game types and creating a new server (meta_notify): parse welcome line for protocol version, send own version, parse proto 1.0 data (create_server_dlg): new dialog for creating a new game server via metaserver (create_meta_dlg): add proto 1.0 data (victory points, sevens rule) and a button to create a new server (if proto >= 1.0) * client/client.c: implemented server notes (not used yet). * client/chat.c: implemented IRC-compatible /me. * ai/ai.c: use gnocatan-path.h * server/player.c (check_versions): ignore rightmost number (after final '.') because patchlevel changes shouldn't make protocol incompatible, otherwise simplify (mode_bad_version, mode_game_full): send ERR to client (mode_global): call start_timeout * server/server.c (game_server_start): pass Game* to meta_send_details implemented timeout to exit server after some time without players. * server/server.h (struct Game): add client_version (prototypes): pass Game* to meta_send_details * server/gnocatan-server.h: use gnocatan-path.h * server/meta.c (meta_send_details): send proto 1.0 data if server can take it, need Game* as argument for current number of players (meta_event): parse welcome message for version, send own version generally pass Game* instead of GameParams* to meta_send_details * server/gnocatan-server.c (cfg_set_timeout): new * server/gnocatan-server-console.c (main): new options -k (kill server after some with no players), -T (terrain type), remove unneeded optarg for -r (usage): clean up * meta-server/gnocatan-meta-server.c (struct Client): add protocol_{major,minor} (client_list_servers): send more data for proto 1.0 clients (client_list_types): new function to list available game types (client_create_new_server): new function to start a game server on client request (try_make_server_complete): cope with proto 0 clients (client_process_line): process proto 1.0 requests and version info coming from client (select_loop): call new reap_children to get rid of zombie servers (setup_accept_sock): loop over addrinfos to not miss the IPv4 one :) (setmyhostname): new, hostname needed when starting a server (general): undefine LOG (general): do some logging via syslog * meta-server/meta-report: New calling syntax: meta-report [request [server [protocol]]] defaults: request=client, server=$GNOCATAN_META_SERVER, protocol=1.0 * meta-server/Makefile.am: also include from common/ * common/network.c: (write_ready, net_write): protect against closed sessions. PF_UNSPEC cleaner than AF_UNSPEC. Undefine LOG. * configure.in: introduce META_PROTOCOL_VERSION, bump version to 0.6.99 (beta for 0.7.0) * acconfig.h: added META_PROTOCOL_VERSION 2002-05-06 Roman Hodek * ai/greedy.c, ai/client.h: Fix "no prototype for foobar" warnings by introducing some statics and a new prototype. * Merged in latest Debian version (0.6.1-6), including: - IPv6 support by using getaddrinfo() - my connect dialog changes that add a new field for naming the metaserver to contact * Added new games in server/, contributed by : canyon.game conquest.game pond.game square.game star.game x.game And one extended by me to have ports: conquest+ports.game 2002-03-10 Steve Langasek * clean up the SGML handling so that it matches the behavior of the Debian tools (which everyone seems to be using). 2002-03-10 Andy Heroff * Modified call to execv, as per SF bug 482743. 2002-03-10 Steve Langasek * Begin cleaning up the source to make it usable again. * Bump the protocol version, since, well, that's what you're supposed to do when you change the bloody protocol. 2001-05-29 David Fallon * Added Geoff Hanson's reconnect patch. The short version of how this works is when someone disconnects, instead of the usual cleanup, player_archive is called which saves the names of the disconnected individuals. On all connects, the player name is searched for to see if this is a player that has been archived, and if so, the player_revive function is called to bring them back. There's also a new gameinfo struct that is used to pass the game state back to the client. Note, if we ever have a gnocatan tournament, we'll have some security problems, but that's okay as there's no other security anyways. * Changed client/build.c, client.c, client.h, develop.c, player.c, player.h * Changed server/develop.c, discard.c, player.c, pregame.c, robber.c, server.h, trade.c, turn.c 2001-03-09 Matt Waggoner * One of the official rule variants for Settlers of Catan is to disallow rolling a 7 on the first two rounds. This has been added as a feature of gnocatan, as well as an additional variant: always reroll 7s. These are accessed from the console server with the "-R n" parameter (n = 0 is normal, n = 1 is no 7s on first 2 turns, and n = 2 is reroll all 7s), and via radio buttons in the GTK+ server. 2001-03-06 Matt Waggoner * Changed some more chat text colors; added a color for the beep message. 2001-03-03 Dave Cole * client/client.c: Fixed bad explanation in comment. 2001-03-02 Matt Waggoner * client/connect.c: fixed a minor bug with the server MRU list. 2001-03-01 Matt Waggoner * client/connect.c and client/client.c: Changed the server MRU list so that it also handles the user name, not just the server and port values. 2001-03-01 Dave Cole * common/state.c (sm_vnformat): Caught a segfault which appeared to be a buffer overrun in sm_vnformat(). Added code to actaully limit formatting to buffer length and abort if overrun to allow real bug to be found. 2001-02-28 David Falllon * Changed client/client.h, client/gui.h, client/gnocatan.c to fix misc. compiler warnings. :) It offended my sensibilities. 2001-02-28 Matt Waggoner * Changed client/connect.c and client/client.c to add a "Recent Servers" drop-box to the connection dialog. It saves the last 100 servers connected to, moving the most recently used one to the top of the list. There's not currently any way to delete an entry from the list, but you can manually edit your ~/.gnome/gnocatan file if you feel so inclined. Only servers that you actually successfully connect to, will be added to the MRU list. 2001-02-27 Matt Waggoner * Changed client/gui.c to have the Game > Settings dialog box include an option regarding whether or not each user's chat text appears in their text color. Added a global config var to client/gui.h and appropriate checking code to client/chat.c. 2001-02-23 Matt Waggoner * Changed client/chat.c to intercept chat text that begins with a slash. This could be the start of a general-purpose slash-command syntax. The only command that is intercepted now is /beep NAME, where NAME is a name of one of the players in the game. If you are the player whose name is NAME, a beep sound is generated; otherwise, it is ignored. The purpose of this command is for players to be able to get someone's attention. * Changed client/histogram.c to include number of times each value was rolled, percentage of the time each value was rolled, and text labels along the left side. 2001-02-22 David Fallon * Added walrusmonkey's port background patch. (SF Patch #103768) I like this patch... One change might be to make the port icons a little larger, but all in all, the more I use it, the more I prefer it over the old tiles. * client/guimap.c: Changes how the port background rendering works. I changed the radius from 13 to 15 and the x/y offsets to make the circle a bit bigger (so the "type" is easier to figure out) and the 2:1/3:1 be centered. (in addition to the raw patch) 2001-02-22 Matt Waggoner * Added a chat window message when someone wins. In shiny purple! 2001-02-16 David Fallon * Added Jeff Breidenbach's histogram patch. (SF Patch # 103459, 103460, 103461) * client/Makefile.am: Added histogram.[ch] to sources * client/histogram.c: Added the file - it handles the dice recording and the actual histogram dialog generation * client/histogram.h: Added the file - heade file for histogram.c * client/gui.c - Added help_histogram_cb function, added "Dice Histogram" menu option to the Help menu. * client/turn.c - Added call to "dice_histogram" function to record dice rolls for the histogram generation. 2001-02-16 Matt Waggoner * A whole bunch of changes to various files, implementing multiple message colors (i.e. resource gain messages are now blue), chat messages are in the player's color, a timestamp before each message in the window, and the player summary box has each line in a different color now! Also note that because SourceForge is broken at the moment, I was not able to make these commits using my regular account (dirtside), which is why they show up under dfallon. List of files changed: * common/log.h: added several new MSG_* defines and a global log_timestamp variable * common/log.c: added a timestamp to each log message * common/common_gtk.c: added many new colors and associated those colors with the new MSG types defined in log.h * client/develop.c: changed several MSG_INFO to MSG_DEVCARD * client/player.h: changed the definition of the statistics struct to contain a pointer to a GdkColor object * client/player.c: added several new color types, associated those colors with items in the statistics array, made the statistic update function use the colors, and also changed many many MSG_INFO messages to various other MSG types * client/resource.c: changed MSG_INFO to MSG_RESOURCE * client/turn.c: changed MSG_INFO to MSG_DICE 2001-02-16 David Fallon * client/build.c: Fixed SF Bug #108981 2000-09-03 Jeff Breidenbach * debian/gnocatan-server.menu: Fix Debian bug #70831 2000-09-18 Andy Heroff * server/5-6-player.game: Set default number of players to 5. * server/buildutil.c: Fixed bug where any edge build (road, ship bridge) would count against total number of roads. 2000-09-03 Jeff Breidenbach * debian/copyright: Added link to Gnocatan website 2000-08-26 Andy Heroff * Version 0.6.1 released! * configure.in: Version update to 0.6.1. * server/develop.c: In Road Building dev card code, modified code so that when RB is complete, edges build during process are removed from the build list. Affects ability to trade. * server/trade.c: In domestic trade code, added check for valid trade conditions (No trade before the roll, and if strict trade is active, no trade after building or buying a dev card). * client/help/C/gnocatan.sgml: Started to update help code. This is by no means a finished product. 2000-08-25 Jeff Breidenbach * debian/control, debian/changelog: preparation for point release 2000-08-24 Daniel Kobras * configure.in: Fix handling of 'PROTOCOL_VERSION' so it shows up as a string in config.h, not as an int. 2000-08-21 Andy Heroff * client/settingscreen.c: Modified justifications. Added i8n calls to all text. 2000-08-21 Steve Langasek * server/player.c, client/client.c, acconfig.h, configure.in: Use a distinct protocol version number for client-server negotiation, so that versions of the client and server that behave compatibly will be able to connect to one another. 2000-08-18 Andy Heroff * client/settingscreen.c, client/gui.c, client/client.h, client/Makefile.am: Added file. Added game settings screen. 2000-08-06 Jeff Breidenbach * debian/control: Tweak build dependencies (Debian bug #68516) 2000-08-01 Andy Heroff * client/gui.c: Quick change to VP target text to make less ambiguous. * server/turn.c: Added debug for 'too-many' error. In the future, all errors should be unique in some way (An identifier after the description) so we can track the source of bugs. 2000-07-31 Andy Heroff * client/gui.c: Fixed resize bug once and for all. Added VP target listing in the status bar. 2000-07-30 Jeff Breidenbach * debian/rules: Explicitly clean client/help/C/gnocatan to fix Debian bug #67287 (problem with the debian build of gnocatan-help). This is a non-beautiful solution. 2000-07-19 Bibek Sahu * client/client.c, client/config-gnome.c, client/config-gnome.h, client/connect.c, client/gnocatan.c, client/gui.c: Abstracted getting/setting configuration values to be platform-agnostic. Still based on gnome-config, though; perhaps we want to stratify the 'config path' into its various components? 2000-07-17 Andy Heroff * server/turn.c, server/develop.c, server/server.h: Fixed bug in which the server would not check for a player victory after a road building card had been played. 2000-07-09 Jeff Breidenbach * debian/control: First pass at Build-Depends: field. (presumably useful for the Debian autobuilders.) 2000-07-08 Andy Heroff * client/gui.c: Changed notebook tabs from left to top to fix the client resizing bug seen going in and out of trade. 2000-06-23 Jeff Breidenbach * debian/README.debian: removed as recommended by http://www.debian.org/doc/maint-guide/ch-dother.html#s-readme 2000-06-21 Andy Heroff * server/player.c: Fixed a bug where a player with an older client that doesn't report its version would have a player number of 0. 2000-06-19 Jeff Breidenbach * debian/control, debian/changelog: update maintainer name, version numbers for debian packages. 2000-06-19 Dave Cole * client/connect.c (connect_create_dlg): Removed code which forced uppercase first character on gnome config player name. 2000-06-18 Andy Heroff * Version 0.6.0 released for general consumption! * client/player.c: Added a couple clauses for BUILD_BRIDGE to remove compile time warnings. 2000-06-18 Bibek Sahu * configure.in, client/Makefile.am, client/gui.c: Made network administration code optional in client. * server/gnocatan-server.[ch]: Code cleanups to remove warnings. Also changed some comments in gnocatan-server.h to make section breaks stand out more. 2000-06-18 Andy Heroff * debian/control, debian/rules, debian/gnocatan-server.undocumented, debian/gnocatan-client.undocumented: Applied patches submitted by Jeff Breidenbach to bring Debian build files up to compliance for submission to the Debian release group. We're going to be a part of the official distro! Yay! * server/STATES, server/player.c, server/server.h, client/client.c: Added version checking to the connect sequence. Also added connection error messages. 2000-06-15 Steve Langasek * gnocatan.spec: cleaned up RedHat build to not include files twice. 2000-06-15 Andy Heroff * Bumped version again to 0.5.6, just in case, to prepare for another package release, mostly to get Gnocatan in the Debian distro. 2000-06-12 Andy Heroff * debian/gnocatan-server.files: Applied patch from Aaron Denney that fixes build problems with the Debian packages. 2000-06-08 Bibek Sahu * common/network.c: changed net_write() to queue data on in-progress connections. The queueing logic was already there; just fixed that bit of logic. * client/admin-gtk.c: made the system clean up after a failed admin connection (same code as closing an admin connection). 2000-06-07 Steve Langasek * common/game.h: Removed redundant 'VERSION' define in header. We have config.h, let's start using it. 2000-06-07 Dave Cole * client/legend.c (legend_create_dlg): Fixed segfault dereferencing NULL game_params before game connection established. 2000-06-06 Andy Heroff * Changed version number to 0.5.5 to prevent CVS users from using incompatible versions. 2000-06-06 Roderick Schertler * client/resource.c: add a 'total' field to your list of resources. 2000-06-04 Steve Langasek * server/into-the-desert.map, server/greater-catan.map: Removed old-style .map files; these have been obsoleted by the .game files. 2000-06-01 Steve Langasek * gnocatan.spec: RPM layout fixed up to conform with the rest of Gnome packages. 2000-05-30 Bibek Sahu * server/gnocatan-server.c: Fixed a minor bug where the game was no longer being set to the first one loaded. 2000-05-30 Steve Langasek * acconfig.h, configure.in, common/map.[ch], server/server.c: Added support for new glib g_rand functions. Untested. 2000-05-28 Dave Cole * client/client.c (mode_start): Goto mode_offline after sm_pop_all(), prevents stack underflow. 2000-05-28 Bibek Sahu * client/Makefile.am client/gui.c client/gui.h client/admin-gtk.c server/gnocatan-server.c: Added a basic network administration interface (stole the interface from the gtk server). Needs work. 2000-05-27 Steve Langasek * common/map.c, server/server.c: Converted common/map.c to use the Mersenne Twister PRNG; further tweaks in g_rand() (non)support. * server/mt_rand.[ch], server/Makefile.am, common/mt_rand.[ch], common/Makefile.am: Moved Mersenne Twister to the common/ subdir, as it's needed elsewhere. 2000-05-27 Andy Heroff * client/gui.c: Added total functionality to what is in the settings dialog. What's there works. More settings will be added as needed. * server/.cvsignore: Readded gnocatan-server to the ignore list for now for those with dirty build directories. Will remove later. 2000-05-27 Bibek Sahu * server/gnocatan-server.c: added a little debugging output. Will be useful soon for network configuration. * server/Makefile.am, server/gnocatan-server.c, server/gnocatan-server.h, server/gnocatan-server-gtk.c, server/gnocatan-server-console.c: Made as much code as possible common between the two servers. Added rudimentary network administration functions. * server/server.c: separated networking code from player connection code so I could use it elsewhere w/o having to rewrite it. * server/Makefile.am: removed line where console server was being linked against common gtk code. 2000-05-27 Steve Langasek * server/server.c, server/mt_rand.[ch], server/Makefile.am, configure.in: Switched to using the Mersenne Twister for our PRNG; should give better dice rolls. 2000-05-25 Steve Langasek * configure.in, acconfig.h: Set up for the use of glib's grand() function as a better PRNG. * client/client.c: Squashed that nasty robber bug. If it comes back to life, we know it's a roach. 2000-05-22 Andy Heroff * server/buildutils.c: Removed longest road debug define to prevent spamming the server's console. The debug code is still in there. * client/gui.c: Built a settings dialog. It only has one setting, and it doesn't work yet. That's next. 2000-05-22 Roderick Schertler * client/player.c: Added player's total victory points to the stat window * common/network.c: Fixed name resolution code to honor hostnames that begin with a digit 2000-05-18 Steve Langasek * server/gnocatan-server-console.c: Plugged in getopt() support so that the user has (some) control over the game settings in the console server. Documentation later. 2000-05-17 Bibek Sahu * server/gnocatan-server-console.c: removed game_list_item_t structure. The params structure stores a title, so just use that instead. Original filename is not all that relevant; if it becomes relevant, we can add it to GameParams later. Also added a function to lookup parameters by title. Changed hash table to store/lookup by string, rather than pointer address. 2000-05-17 Bibek Sahu * server/gnocatan-server-console.c: filled in global variables, and added a function to stuff all the game types in a hash. This will be relevant later when it can be changed over the network. ----> Made the console-only server work. :-) 2000-05-17 Steve Langasek * common/driver.c, server/glib-driver.c: Finished moving glib driver to the common/ subdirectory. * common/common_gtk.c: Removed gdk-dependent input functions. * server/gnocatan-server-console.c: Moved some initialization code for the console server's UI driver into the main loop. * server/server.h: Polished the include list to eliminate redundancies. * common/Makefile.am: Added common_glib.c, common_glib.h to file list. * common/common_glib.[ch]: Added generic glib driver for common code. * common/driver.h: Fixed prototypes within the UI driver to use guint in place of gint. * common/common_gtk.h: Changed __common_gui_h to __common_gtk_h. * server/glib-driver.c: Used the G_PRIORITY_DEFAULT define in place of constant as argument. 2000-05-17 Bibek Sahu * server/Makefile.am: Added glib-driver.c and glib-driver.h, which are used by the console server. * server/glib-driver.[ch]: Functions necessary for the console server. * server/gnocatan-server-console.c: Added some muscle to the skeleton: Implemented some of the stuff necessary for a console server. * server/server.h: Added some headers that it depended on, so it didn't scream at me when I tried to include it just for the Player structure. 2000-05-17 Bibek Sahu * configure.in: added GLIB configuration. * common/common_gtk.c, common/driver.h: Added hooks for input read/write callbacks and [server] player update callbacks. Actually put the input read/write callbacks into common/common_gtk.c. * common/network.c, server/server.c: Switched to using driver's input read/write callbacks. * server/server.c, server/player.c: Switched to using driver's player update callbacks. * server/Makefile.am: Added preliminary files for gui-less server. * server/gnocatan-server.c: Connect the server player-update functions. * server/gnocatan-server-console.c: Preliminary skeleton code for gui-less server. 2000-05-15 Steve Langasek * client/connect.c: Set reasonable defaults for the connect dialog if there isn't a saved config (shuts up GTK, too). * common/Makefile.am, client/Makefile.am, server/Makefile.am: Changed library name from libgnocatan_gui.a to libgnocatan_gtk.a, allowing for the possibility of multiple front-ends 2000-05-13 Bibek Sahu * common/driver.[ch], client/gnocatan.c, server/gnocatan-server.c: Moved the global driver definition to driver.c, and added a function set_ui_driver( UIDriver* ). Moved logging into the driver structure. Note that the gtk driver starts by logging to the console and must be told to move that to a window later on. 2000-05-12 Steve Langasek * common/common_gtk.c, common/state.c: Pulled all GTK-specific code out of state.c, moving it to common_gtk.c. * client/gnocatan.c, server/gnocatan-server.c: Changed main() loops to initialize an appropriate UIDriver. * common/state.h: Exported [inc,dec]_use_count() so that they're available to the interface drivers. * common/driver.h, common/game.h, common/state.h: Fixed some header files so that they automatically include headers on which they depend, instead of expecting the c file to take care of it all. * common/driver.h, common_gtk.h: Began creating the structure for independent interface drivers (GTK, console). 2000-05-12 Bibek Sahu * common/common_gui.[ch], common/common_gtk.[ch]: Renamed common/common_gui.[ch] -> common/common_gtk.[ch] per Steve's request. More appropriate, considering its function. 2000-05-12 Steve Langasek * common/state.[ch], server/buildutil.c, server/develop.c, server/discard.c, server/meta.c, server/player.c, server/pregame.c, server/resource.c, server/robber.c, server/server.c, server/trade.c, server/turn.c: Made the 'widget' within the StateMachine an opaque pointer, so that code that depends on the StateMachine is not bound to any one GUI. * configure.in, meta-server/gnocatan-meta-server.c: Included autoconf fix for cross-platform getopt support 2000-05-12 Bibek Sahu * Moved the common gui stuff into a separate library, so a non-gui program won't depend on the gui functions. 2000-05-12 Dave Cole * client/client.c, common/state.c, common/state.h, server/develop.c, server/discard.c, server/player.c, server/pregame.c, server/robber.c, server/trade.c, server/turn.c: Removed all of the sm_resp_{ok,err,handler}() API from the state machine. Simplified each entry on the state stack down to a single StateFunc. Modified client state machine to use simplified state machine API. * client/client.c, client/trade.c, client/turn.c: Fixed (untested) bug where could not trade after playing road building card before rolling dice. Altered is_maritime_trade_allowed() to look at the strict_trade flag. 2000-05-12 Bibek Sahu * Completely rewrote logging setup. It's now very modular in design, and the main logging stuff does not depend on gtk/gnome (which is the reason it was done). Most files that did logging were moderately modified -- the following functions were converted: log_error(...) -> log_message( MSG_ERROR, ... ) log_info(...) -> log_message( MSG_INFO, ... ) log_color(...) -> log_message( MSG_CHAT, ... ) * The client's initialization sequence now logs to the console until all the windows are set up, then switches logging to the message window. This is step 1 on the road to a server that doesn't require a gui... 2000-05-11 Dave Cole * client/client.c, common/state.[ch]: Removed all of the resphook from the state machine API code and replaced it with some wrappers to sm_resp_{ok,err,handler}() in client.c. First stage in reducing the client state machine complexity. Moved a lot of code around in client.c in an effort to partition the functionality so the stack overflow bug can be found. 2000-05-10 Steve Langasek * common/buildrec.c, common/cards.c, common/cost.c, common/game.c, common/map.c, common/map_query.c, common/network.c, common/quoteinfo.c, common/state.c, server/buildutil.c, server/develop.c, server/discard.c, server/meta.c, server/player.c, server/pregame.c, server/resource.c, server/robber.c, server/server.c, server/trade.c, server/turn.c: Removed includes where they aren't necessary, to ease the transition to a gui-less or gtk-only server. * common/log.h: Internationalization definitions handled internally, so we don't have to include to get them. 2000-05-08 Dave Cole * common/map.h: Changed the visited attribute in Edge and Node to gint for new longest road algorithm. * common/map_query.c: Implemented new longest road algorithm which can handle edge cycles. * server/develop.c: Fixed "ERR wrong-plenty" bug. Was using variable before it received a value in resource_available(). 2000-05-07 Andy Heroff * common/log.c, common/log.h: Added log to console if use_console boolean is set by call to log_set_use_console_bool(). 2000-05-07 Dave Cole * common/cost.c: Fixed cost of bridges. * client/legend.c: Show cost of ships and bridges when appropriate. * client/setup.c: Check num_build_type[] in setup_can_build_*(). 2000-05-06 Dave Cole * client/Makefile.am: Added bridge.png, removed ship_building.c * gnocatan.spec, debian/gnocatan-server.files, server/four-islands.game: Added basic Seafarers game and bridge.png. * client/road.png: Rotated road bitmap to match drawing in identity panel. * client/bridge.png: Added bridge bitmap. * client/build.c, client/stock.c, client/turn.c, client/identity.c: Added bridge support. * client/client.c: Added bridge support. Fixed setup statusbar prompts. Merged road/ship/bridge setup code. Fixed road building development to allow ships and bridges and removed ship building development. * client/ship_building.c: Deleted file - code was obsolete. * client/client.h, client/develop.c: Fixed road building development to allow ships and bridges and removed ship building development. * client/gui.c: Added bridge toolbar button. * client/guimap.c, client/guimap.h: Added polygon for bridge shape. Added bridge drawing and cursor BRIDGE_CURSOR. * client/road_building.c: Fix road building to build ships and bridges in games which use them. * client/setup.c: Add support for ships and bridges in games which use them. * common/buildrec.c: Almost complete rewrite/restructure to fix setup support for ships and bridges. * common/buildrec.h: Added buildrec_get_edge() * common/cost.c, common/cost.h: Added cost_bridge(). * common/game.c (params_load_finish): Set have_bridges flag in map if game with bridges. * common/game.h: Removed DEVEL_SHIP_BUILDING. * common/map.c, common/map.h: Added map pointer to owner Map in Hex, Node, and Edge structures. * common/map.h, common/map_query.c: Added node_has_ship_owned_by(), node_has_bridge_owned_by(), can_bridge_be_setup(), can_bridge_be_built(), map_can_place_bridge(), map_bridge_vacant(), map_bridge_connect_ok(). Fixed is_node_spacing_ok(), is_road_valid(), can_settlement_be_built(), can_city_be_built(), map_building_connect_ok() to handle bridges. * common/state.h: Fixed comments; removed DEVEL_SHIP_BUILDING, added BUILD_BRIDGE. * server/buildutil.c, server/server.h: Merged road_add() and ship_add() into edge_add() which handles bridges as well. * server/develop.c (mode_road_building): Fixed road building to support ships and bridges as well. * server/pregame.c: Added support for bridge building. * server/turn.c (build_add): Added bridge building support. * server/Makefile.am: Added basic Seafarers game. 2000-05-06 Andy Heroff * client/client.c, client/connect.c: Connect dialogue now 'remembers' your last server, port, and name. 2000-05-04 Andy Heroff * client/player.c: Modified all colors to less intense shades. Changed first four colors to match those of the board game. 2000-05-02 Andy Heroff * Project imported into the SourceForge CVS server. * INSTALL: Added 'simple' instructions for building Debian and Red Hat binary packages. * Updated all version references to 0.5.0 for release. * Released version 0.5.0. 2000-04-28 Andy Heroff * client/connect.c, client/name.c: Added " closes dialog" functionality to both of the above files/dialogs. * client/chat.c, client/client.c: Added chat parser with posing (:) and semi-posing (;) functionality. 1999-12-22 Dan Egnor * server/STATES: Attempt at documenting the server state machine. * server/trade.c: Fixed? a possible trade race condition. Actually, the fix was already there, I just think it wasn't quite right, since it didn't reset the player's state properly. This should be reviewed. * server/5-6-player.game: New game file for 5/6 player expansion (from tlau@cs.washington.edu). * client/turn.c, server/trade.c: Implemented option to remove build/trade order restriction, as per 5/6 player expansion rules (from tlau@cs.washington.edu). * server/gnocatan-server.c, meta-server/gnocatan-meta-server.c: Portability fixes (e.g. for Solaris). * client/Makefile.am, meta-server/Makefile.am, server/Makefile.am: Removed silly setgid "games" from install target. * client/help/C/gnocatan.sgml: Fixed some errors in the SGML help-file source. (Too bad this help file is getting out of date anyway...) * macros/Makefile.in: removed from CVS, since it's generated. 1999-12-16 Dan Egnor * Fixed bug which prevented anyone who didn't build a ship during setup from building a ship later (the check to see if the user was out of ships was incorrect). * "make dist" works now, and has the right version number. * Fixed bug #2 (the "domestic-trade delete" bug). * Added .cvsignore files to kill those pesky ?'s. * client/player.c: Beep when it's your turn. Is this a good idea? I know I'm often distracted and don't notice when my turn comes up. It should probably be an option, but I hate to get into the business of having "gnocatan preferences"... * server/gnocatan-server.c: Fix some problems with the terrain randomization toggle; clean up (?) the UI enable/disable logic some (the UI is now fully disabled when you start a game). * server/seafarers.game: Added chit placement numbers to the tiles. Without this, there are no chits, which makes this map a little less useful. I'm pretty sure the numbers aren't in the right places (there are lots of neighboring 8's and such); I'll get out our copy of Seafarers and do the right thing at some point. At least this way we can start testing. * server/server.c: setsockopt(SO_REUSEADDR) *before* bind(). 1999-12-16 Dave Cole * client/gui.c: Added gui_set_game_params() to notify gui code when map is available, and to pass game parameters. Hide toolbar buttons that are not used in the game. * client/identity.c: Do not display shapes that are not used in the game. 1999-11-20 Dave Cole * client/guimap.c: Replaced all of the bogus hand building of ships, roads, settlements and cities with a single shape for each which is scaled and rotated as required. * client/chat.c: Small code reformat. 1999-09-04 Dave Cole * gnocatan.spec, debian/gnocatan-server.files, server/Makefile.am, server/small.game: Added small.game. * server/gnocatan-server.c (build_interface): Call load_game_types() to after creating all widgets. * client/trade.c, common/game.c, common/game.h, server/default.game, seafarers.game, server/trade.c, server/turn.c: Added domestic_trade flag to allow domestic trading to be disabled for in a game. When disabled, the domestic trading GUI is not shown. * server/robber.c (mode_place_robber): Fixed core dump in games where the robber is not initially displayed (small.game). * client/client.c, client/client.h, client/develop.c: Dynamically allocate the development card deck when the game parameters have been received from the server. Fixes bug where DevelDeck.max_cards was not being initialised for player. * server/develop.c, server/player.c, server/server.h: Dynamically allocate the development card deck for each player when allocated. Fixes bug where DevelDeck.max_cards was not being initialised for player. 1999-09-03 Dave Cole * common/game.[ch]: Added params_copy() to create an independent copy of a GameParams structure. * common/map.[ch]: Added map_copy() to create an independent copy of a Map structure. * server/buildutil.c, server/develop.c, server/player.c, server/pregame.c, server/robber.c, server/server.c, server/server.h, server/trade.c, server/turn.c: Changed game->params into a pointer to a copy of the GameParams loaded from the game file. This enables the map to be reinitialised properly on game restart. Removed unused game->map and use game->params->map instead. * common/map.c (layout_chits): Fixed bug which assumed that the number of terrain hexes equaled the number of chits in the layout sequence. * README: Updated version number to 0.4.0 * gnocatan.spec, client/Makefile.am, server/Makefile.am, debian/changelog, debian/control, debian/gnocatan-server.files: Updated to include new 0.4.0 files. 1999-09-02 Dave Cole * client/client.c: Removed global Map @game_map and replaced it with GameParams @game_params, which includes the game map. Removed mode_map(), mode_map_load() and replaced them with mode_load_game() which encapsulates the entire game loading. * client/client.h: Removed global Map @game_map and replaced it with GameParams @game_params, which includes the game map. * client/develop.c, common/cards.[ch]: Renamed card_*() functions to deck_card_*(). * client/develop.c (can_play_develop): Rearranged logic to improve clarity. * common/cards.[ch]: Added deck_new(), deck_free(). Development card decks are now dynamically allocated. * client/gui.c (gui_build_interface): Moved call to stock_init() to client.c (mode_load_game). * client/guimap.c (display_hex): Fixed inconsistent indentation. * client/guimap.c, client/player.c, client/robber.c, client/setup.c, common/buildrec.c, common/map_query.c, server/buildutil.c, server/pregame.c, server/robber.c, server/turn.c, common/game.h, common/map.h, server/server.h: Removed EdgeType and Building enums, expanded BuildType enum to describe all types of building. Renamed Node.building to Node.type to be consistent with Edge.type. * client/guimap.c: Deleted find_ship(), build_ship_regions() as they were identical to find_road(), build_road_regions(). Renamed find_road(), build_road_regions() to find_edge(), build_edge_regions(). * client/player.[ch], client/quote.c, client/trade.c: Replaced max_players/num_players() with game_params->num_players. * client/quote.c, common/game.h, server/server.c: Replaced RESOURCE_LIMIT with game_params->resource_count. * client/stock.c, common/game.h: Replaced DEF_MAX_ROADS, DEF_MAX_SHIPS, DEF_MAX_SETTLEMENTS, DEF_MAX_CITIES with game_params->num_build_type[BUILD_*]. Replaced NUM_DEVELOP with total of game_params->num_develop_type[]. * common/Makefile.am: Added game.c. * common/buildrec.c (ship_has_place_for_settlement): Added check is_node_on_land(). Fixed formatting of a lot of code. * common/buildrec.h, common/map.h: Moved enum BuildType, enum Terrain, enum Resources to common/map.h * common/game.h: Removed NUM_DEVELOP. Expanded GameParams to make all previously static game parameters dynamic. Added params_*() functions to encapsulate GameParams loading / saving / parsing. * server/develop.c, server/server.h: Replaced static description of development card deck with dynamic description from game_params. * common/map.[ch]: Removed static chat_values[] chit layout sequence and replaced it with dynamically defined sequence in GameParams. Added map_set_chits() to bind a chit sequence to a map. * server/buildutil.c, server/player.c, server/turn.c: Made player->num_* count the number of each type that the player has built, instead of store the number of each type the player has left to build. * server/gnocatan-server.c: Almost completely reworked GUI handling code. * server/pregame.c: Removed send_game_map() as this task is now performed during GameParam transfer. * server/resource.c, server/robber.c, server/server.h, server/trade.c: Removed obsolete FIND_STUPID_RESOURCE_BUG code. 1999-06-29 JT * server/*.c: Made sure the server reset features were correct. 1999-06-16 JT * server/server.c (close_player): Fixed bug where server was reporting to the metaserver, players leaving the game who had never joined it. It was possible to make the metaserver report -ve player counts. 1999-06-08 Dave Cole * Released 0.3.3 * client/help/C/gnocatan.sgml: Updated help to include description of the tick / cross in the trade list. * client/help/C/images: Replaced trade.gif and quote.gif * gnocatan.spec: Bumped version number and added new pixmap files. * debian/control: Fixed bogus Recommend field to be Recommends. Changed gnocatan-client to depend on gnocatan-data >= 0.3.3. * client/tick.png, client/cross.png: Added new pixmaps for domestic trade list. * client/guimap.[ch] (load_pixmap): Made function global and added mask parameter to return pixmap mask from gdk_imlib_load_file_to_pixmap(). * client/player.c (player_set_name): When changing player name, report player by previous name when possible. * client/quote.c (quote_finish): Do not clear quote_list, as we need to be able to interpret quotes accepted even after we have rejected domestic trade. * client/quote.c (add_reject_row, remove_reject_rows): Pasted these functions from trade.c. Should clean up trading code for 0.4.x. * client/trade.c (quote_trade_call, quote_trade_reject): Add player rejected trade row to indicate that other players are rejecting domestic trade. * client/quote.c (quote_trade_accept): Monitor domestic trade activity even after we have rejected trade. This allows us to maintain correct resource counts in the player summary. * client/trade.c (is_good_quote, load_pixmaps, check_domestic_trades, trade_domestic_quote): Added pixmaps for tick and cross to indicate validity of each quote from other players. * common/game.h: Bumped version number to 0.3.3. * server/server.c, server/server.h (get_rand): Modified random number generation to match the technique described in the rand() man page. * server/robber.c, server/turn.c: Use new get_rand() function for all random numbers. 1999-05-29 Dave Cole * Released 0.3.2 1999-05-28 Dave Cole * ChangeLog: Started on a real ChangeLog since I just received the first code contribution. * client/chat.c (chat_cb): Strip '\n' out of message text * client/client.c (is_player_status), client.h, client/resource.c (resource_player_check), server/develop.c (monopoly_mode), server/resource.c (resource_debug, resource_maritime_trade, resource_end), server/robber.c (steal_card_from), server/server.h, server/trade.c (domestic_initiate_mode): Added debug code to check that the client and server have the same resource counts for each player. This was to help find a reported bug, but no luck so far. * client/connect.c (connect_create_dlg): Removed term1.dccs.com.au as the default server host. Set input focus to the server textfield on initialisation. * client/name.c (name_create_dlg): Set input focus to the name textfield on initialisation. * client/quote.c (more_resource_cb): Limit the number of resources in a quote to RESOURCE_LIMIT. * client/trade.c (mode_domestic_response, accept_trade_cb): Eliminate the trade_quote static variable. * common/game.h: Bumped game version to "0.3.2" * debian/changelog: Bumped game version to 0.32-1 * gnocatan.spec: Changed homepage. Bumped version to 0.32 * server/trade.c (domestic_initiate_mode): After a domestic trade has been performed, remove all trades that the quoting player can no longer accommodate. 1999-05-23 Thomas Koester * client/player.c (player_domestic_trade): Fixed trading where one party does not supply anything 1999-05-23 Preben Randhol * gnocatan.spec: Sent file to Dave for integration with distribution. pioneers-15.5/editor/0000755000175000017500000000000013252243610011555 500000000000000pioneers-15.5/editor/Makefile.am0000644000175000017500000000161013243741130013527 00000000000000# Pioneers - Implementation of the excellent Settlers of Catan board game. # Go buy a copy. # # Copyright (C) 2003, 2006 Bas Wijnen # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA if HAVE_GTK include editor/gtk/Makefile.am endif pioneers-15.5/editor/gtk/0000755000175000017500000000000013252243610012342 500000000000000pioneers-15.5/editor/gtk/pioneers-editor.48x48_apps.png0000644000175000017500000000644013252243610017725 00000000000000‰PNG  IHDR00Wù‡bKGDÿÿÿ ½§“ ÕIDAThµ™y\Tç¹Ç¿gÎÌœöETªT­ u£*z?A¢7éu‰ÍâGk’õ6^-Æ”Ø5F«KìMŒi’&7¶Ñ$­h0Z¢^MÜÚ¸E@„aöyïgd“Ðßç3œÃsž÷9¿ßû>ïzà_‡~ ìV`7ÐïËj'¯[ÀGÀb ±w)¶ƒrµÐ4ìàÐEkC7ÊÏJÑÁï H´üéEdëa{gC`˜×x8Í%`sÂràO^2m1ø 66†ÿyíiú†I^¶³gÿòÅf³µø>|Ð[`»¾÷0uàtȃ& \´Á"à\—ÃÀ¤ßüòi^øInG3Eg®ø*Æ~ì? /æn8 ¤[á ¬ðD&(é ÑtQ@¨¬Å~°y`¯–ÕÀàŒ¢è©¾²½t›Šrw*k}e ¦ÂÃB:e3€t¹‡Äu:xF†¼á0r>ăÔÚ€ÒAç¤ Xª²á+^˜ÍÔqàAKÙå*D«D ‹‚d½BxŸdþ~¤@Òö€ü4ÞŠ†¨l0F÷ €ÈÃp`¼X K *h¬x<÷ØK’ŒNÔ㦌õ½u؃ ˆ—aß@ŸÜCâm c)ðȪUå~~Á‘©x¬×øüÈõóÿu•²m!€½;äÀ à*ê(ÔÜÀ?½÷¿~) „ »#›Õåç Þh6þá`‹ùO=I¡N!€c’ÄW V·ÛgOÕi™îtÚÆ¿U`bB,ƒšÁUå·ý|´J08ʸZ¥Ðp·àpáA[ Kä+z®DGðÖºԜڅõB§>Þʰ̱¼«èihãÊ{ÝðÊãà±àzêý|B"“ÀÕ ÀïŸn1¿Ы®w£#8³÷MæÇõ!"w3†ÿú-cúFñÑÖ\–/žÃ!S Ïÿê:! ÐÀ¿e`®±û<zTò.)„]=`þÒë.†óÎÆÂBLpø4äü¦‡Ò›ü|É|ì¡ÁX¼þ'½×ÜUsÑr¸]áŸ>ÆÐ„½€cgšZÌ̽.Àªè;b°úÏätXþ*üïHˆ@’$fNÏmÔ¼¿èµ-œÿµ¼UÁépûÅ4…$ ë_÷uÞwZnzU€¦õ<üéAØù{Xûß°ïˆÏ¬(:<¨¹ïæÎÎ$ØP@e›¡SÖ•˜­!•Ü5ë þ%d»ƒ’kjs3näüþð!LãóÉ?tŠPÔu2@îÊLÜ…Æz«_¼ ˆ$„Kíл>»Úb~U; ®»{ Iæçl `çF´3&ÁŒI~Ï?Ì;DCe5×f mh }@@ÍmË}ñ :—JUc`óö¿·˜?híÓ«-æT—\cÒœå|ýͽU¤¹¡‰_lyŸÅ/n$³ÑBË@¸á•9 ldîTÝñ'oŒû-JʵX,v€c¨]LJ^m xÔj#¿è £ÿýyƒM(z*kë‰ÐÊÌs8in!!AL­M2n—Ç/–18œêþú»'ZÌïн>ë™.ëw›pS€x‡øÐë÷›_ÌCuTÞ¼åCÒhщ„’—Àìú¶2\²&ðªÛCRŽÞ_kÔ—Y–™7+¨Âå2`µ8üü‚ÂâÁ¥ŽH‡O×µ˜wþS4ÝïÉFE[¬ý±±qšÝz™·e»³EZ{8‰ºVZøtFÝm@¢¦Æ}ŸŸA¯Ò’$™õ[}÷Ýöbvµ1ôš—„à§óÆ÷×?™/ëd w­N¶Qêþü\•œàâGBH]íŒìÀï½×+ç×y)h&²ak=wŠh¸skc9¡M Üܱ„1&k ¨»Ñ$ÀÓ6nG)¤‘eù ­FlšeX6}!ܨ÷= б⇩òÌQ±¬ÛsQ¼VÛ,2nÍ÷;Pè%?~Üwé¦ÙHÚP$I&ÀÔƒ1†ˆ°7ߤæüZþœWÒR¼„*»=éFEûvLˆ!þg¤š†ÄwH*9ÆÄŽÅ£5_^ªa}^‰8nwyuzäíø¶$ozúH„i:I’}?p"„Y GVÂp»llÛQ ÒŽ&ƒzа³8Ú‘€X“¢Ý,k˜þüCÉYÃb¤nmr )‘ìþi¸ôñ©[üñð5éöx清lò>oÎkðàAÓdq"IZ•8êUB¸}W]P"gÿYŒÍî‚à))!…<öãäv¢¦Z Р×.Gˆœì‘ýô &Çëô¾××ÉæŽë/OK‹æ‚«l+ªiN7z¾Ò!D0P 6»Ã¯æ%IÆãqx¸½زc‡x„÷©@"œ ƒ£|ƒàMœ¼¬5*ÚüáBǬx8% *Xy`âm¤ðóYCäÂÑ üú“bQa³ Gâ6{Áfµû‘Bø‘ÂM^Á.Òº–€ t CÇ^žå£4ZY ?q@·È7Ú\T˜­8\÷ ÷!-.„¬á1}è/YímZÀ«Ÿ›Çžuù¼`æC„Vw^1 p¸<„©>ø[Ù™c1øù„…˜°¹Ú;êo_€Óé$**ŠÔ”TêÌTVVa±43qÔPÊ«îðéÁ/©17øbãì¼t* O°žçŠ8~¶˜]ùGùêë"ö÷ù;}޾Áíuí °Û¤¦¤Rv£ EÑQVv“”ø8–>9‹mk–09}cû¨ï‘{[”0ÔuσÀÛ5d—ÓÓðååÚ©7k­"­ˆ®'K鶸TÙÈ‹;/4)«¯tZD=ÅÈÄ¢„ZÃáôüo°;ǰàduK£A«Y-$^˜;®¿î©ÄkuòƒŸy5X¼}èší³³•.§›—=ÏÔ}ì“èØD* YÐŤÝ.ÜÀiÜ|Á{8Y4´­‡AAíE§ÉX–•lš2¤{Ÿð\Á'§ËÝ;¾¸æ‚÷lN÷*¸ï[†=«¼Àxôd wûP§؃ç±±(nyÔQCf*ò[‰Q¦è•Ù©¦ÄèŽWSÿ(5³>ï¢¥Ñæ:ßds-Šº 3[БA&†vâYìÅB%fì<ƒ÷+~kt–‰ZF³H+K¯NI‹Vž›–d ¼7ãÞ¬mfã¾K–⊻æf»»Ýà] …DÅØèÓê‰8ŠÓ¸¬ÅÅÔá G3*ÚMzÙ²4k{ïʉbîøþVƒNnÔk5«QO{ -žEG=ßÃÊJ³ð` =ïQß"ö}H3´Çeä TäÜrømÂ4¸0pu°íþúÉéhÛ:$IEND®B`‚pioneers-15.5/editor/gtk/pioneers-editor.ico0000644000175000017500000015035212122040702016064 00000000000000  \n¦00ho èju(Rx00¨zy ¨"ˆhÊ00 ¨%2–  ¨Ú» h‚̉PNG  IHDR\r¨f IDATxœì½wx\÷yçû9gú D!ØI`obo ©^b[ÝN±ãĉ“ÝlÊÍnòìnrwç&{olË%.±%ËE²%Dz­.±ˆI±¤(vˆF½L=÷w€ð; †Àù>8àÌ93ƒ™ó{Ë÷}ßïO#‰»S€nàUàæ};ãàr,Àt7€À wìÝ ë~IÜv¤Oë°xx¹P“P‡˜ l6óL@G>ËFà<ðp¸ºÏw'Þlw/¬À6à@âbÿXŽx³$†† X|8KÔÃÇû ~$8|ø"òYç Æ"‰$† àŸ€ZäbêB=ü 0펼ӱ°øW 0øç9Ôçìê=Àÿ|˜¤‘4ÀIŒ ?ŽÒïBµƒ1ŒR0ô¨xxI’P |‹á ©ÙŸÐ\~üp/P8ùG%-ÍÄ„!øžArS{ø¹ªÊ‘ÄÕœª€ëŸ§!_Þ ~·!Ø <Šp%“Hüº „«ÈWs8†p Œâ÷4 :Bì=\°±æ# !}ݺ$§'€S@kßç4PõEàGÈ…x7 ñøÛbïN­?ÂÛ\އ‘ïáRa1’`â`>ðdèg*1ßm°X„Á¾ôârŽŸž¾‘`á‡ÀÏ€šQ|ïc ¹Y^ø©Œ­ub „›Ài„Cx8ôš}²±ô‡%12äÏK‘² 4õl„œûÀ0ð"L`’”>ü.RMøRëžÈDȸõH5ÖGh^¾‹”•1þÀ$âÉä¤O‡n#d‘†„HX0É@€*Äí×<¤ø9Ò?°›vb\a ð$mJ¹Ãïe¤0ÔàŸ‘M ªN!‰± ¹`ÿ)×-!¦¡+X l¦#QÀH_ć~l@}º„HV±9ô²uˆ'o¸øG`1dé8„LA¾“&„ÎI0¾0ø¤L´ Sq[‹õ¤f5á†$Á%H®a ¬S0úpp° 6®0~Ò‚MÀÿDÞû¨Eٙ̚5ÇK0x[ƒ£ÄöŸD§I¦ãÙHxú4âý#†ÛÌBÂýY$¾·»øI ®0 ¹Ýƒ´?üšR·“šþÃŒÒ:ÈÍĶ­ëÙ°r2kîYEý ƒOÎ_çè±ÓTUâÒ¥jZ[[1Œ„À·/3€Ë틤Û°#žþià>b<>@²ðô Á0t *ôscà!7‘<ôy¤ÿ}Ì Á ­¸ÿIen “'ç³sç6|p+*2ñµ¼¯·ƒöŽ”)ØSŠéñ§q¥¶›“§/sìø)ªªNríÚ5ºº,5!} ¯uPÒŒ],Eþgê]YH=¿ îÔ—h -qUHÂÙ=ðáóDû.ÜÞw7$ #lÿˆ1uêvÝ»‡ÜÉÊeÓpjW0zÏô5q­º…¶–h¤[ØÝ¹¸Ó§auÑÖíàBu Ç«ÎrâÄIªªª¨¯¯ÇëµY,ø& :x”4cS'zþb¾#'Âê—‡+$~d¥W…nûµ©€ýˆx‰±1vü,²8FÔf;cÆtî¿¿’¨diy>vªÁ{‚Ò“ÓÑÞËÕ‹-øýƒäþšŽÅêÆ•Vˆ+mØ'S#À'ê9zô$U'OræÌ'´´´Fö .!©ãñÁH€±ƒð˜î“9Éóu¤Žnß)³Ÿht#)UÀµ÷¯!mÅwrì8éa0•ûkšÆÜ¹3C ;åó2±/£yσÑ9Î0 ®_kãFƒzh¯iV¬Ž4\iSq¤á#‹+µÝœ9_Ñ#Uœ:uŠ .ÑÙÙi–?ð‹L,Æm3Ï–DB`AúõŸB÷"(@òü2Æ^KZ<ˆ‹óqúT€Ÿ †ÀTÓÊ(¡‰FrT¶Xt,˜Ãƒîäþû¶0o– ‹ÿø.‚Ñ5àûðôú¨¾p“Þž‘·ëkº »3Wz1VW!]¾.V·rú“Ë9RÅÛo¿Kg§²Ù |)Ó|­¿Ë$FåˆÇáô"ßG:Ò³_ޔ߯ÛD¢€*$*èW0bÂŽàÊmz[6àÿEÀa?R›ÍÊ—¿ü<þø}Ì.±¡û/¡ù.ƒÑ÷dÃ0hnì¢öZÛ¨ÒžºÕ‰Ã•KJöLÜyëøÇÿõ5¾þõS=½ ø=à§ñLöÜ€ÔóÃC;%]†Ôó—0~‡Ã5dz¦qµ~dÈȈ>œ‡ô+-B²œK S²,Bš§²U^²d!ÿðß¿ÀŒ‚kèÞ#èz4üƒ~Á€Ac}ÞÞ[ÊÛÀúñ{Û±93É-\€Åêâ7ߥ§G©ÊjC>×ßgŠ0in/ÜÈ‚ÿoÀç‘Î- ¢cºë€ÕHkÝx\øýaAVútĘu!-Æ!„ÿì-H“S' $¢sFGŒîC(|´š¦ñ¹Ï}š]›rÑ}'Ð&p;Û{¹ÑÐEBÊüšÎ¤âõÐ{…I9œ:ÛÀÙ³ç•ÎDzö§1(inÂcº üÝG>û“Hɳ!ô3š(F±"•ƒKgLã¯þâ ³ªÑŒÎa7‚7ºèêL ·éH) §p½M{±Û4<ÚdÞ~g€’­LA*¶»û?4‰Ç\àO‘‹o3Ò¥ ©· ÷çÇ>0An+žŽ› $a úpÒé¸ ‰–®Ð'`¸%|øŠöõ±Çîã‰Çʰ΢)$ô½=>ë:Óó”5yN»Ž§¥Š€¯¼¢ì?tŽúz%;þèߤŸÜÃDt6c“€O!Í<+ˆ)ÛtLw¢@G¸)Èß׋™/XŒP!ÛnÂ_2 ÏÈ2¡¥aŸœœ,îݵ;×Ð>Ÿ7 ƒŽ6^ÏèæþaèV)YÓñv 'yÙ7Ùºe-ÇŽU©>M‾×ç¹Gù½&!áìÃÀ¿ÿ‚x3¢cº;‘¾ÞÙÜ}‹?¤ÊñBäõ}؆|TÏ_§_o„IlÖ¢H«¬]·’UË ÐüµJOî÷éhKÜØƒ;cv«Ž¯3Z,ñµŸeãêéä qf8‘Ë®O™ùn¾þF:Âßý2ªÛgL7Ó]x¿±ÚÌs'àDô"äsi¥O— –Ö#Üèu⎠ðŸïfXàt:øÓ?ùË˂踥óhoí¥¹©;1ä]´K°_çåèA/¹y“¹Pàô鳪O•‹ÌfDž(iF%À—€ÿŠ4š¤ºØ\Híi#Âr™™Û qMá±ã bbÒ‚,dìx9²¨/£–,CŒr¦ÊûX¾b1ÿùË“nýM¡Y1"ÿzº³Ï‡Ý•CNáR¼7cúþ¹zðë“xûýãøýJG.Äx¾C¨"›4·† ¤ƒïïÉ«HÏŽ˜ƒ¸­•ÈÕ›\øÃCGŠô3Û‹H… !ÂV„7õ"†`°«_þ‘Øöã×u?øý'غ. =P­ô}uwyiªë LŒûOÏ« %ŧåý»‹Œ ‡Üü)ý¸•k×âh:D¸=ãmBQT’ìH>õoÈÓ°,K%Â:Í#É´š…†Äý‹‘¢ý&ôí:êàÛHgßâ_Ë¥ d{gÍ*açö¥Xü—•N“>_b?4ÝFjV ÞŽó Ö‘éhbÓšhš²{™…Œ˜I`:’ÛYü3ŠŸ‰ÔòBâÔHĈŽû×"Ÿé2ú”J5Ä.|a¶ÿYð±Ø…°ßJؾ}³¦ëTXôy %ÿ\iSp8ø:«=Æðµ±nÙ$¦N-T}Zå@20ƒ)ˆpäßeS#í»á.– ÆÇÐÎxB¸A a±Hÿ@L[ñ$$ÛZ‚\Ó—¯áo7,òò'ñ—ñ»”4 ­ÃŸ´¶ôpóÆ­T'‡FVá lZ¾Î‹C—™n£úºªÓWUŸz²ÙÈùdt:ôáÌž3“Ê­‹Ðý+—þ:Û<ôö&n£ä´ìÙàkÐø3.^i¥EÝ0y_Òò’7öÙ6—hžŸA2ܨE¶ÑU¦iìܹ‰Ò¢ øÔ6Ù ‚´·õ&Lè\·ºp§OÆÛfN-Í0Øsè:]Êš* @÷Ýn–_CjÅ‘õ‚x“rb;’óèΡ¾6'OÎg׎ÕXƒÕJ#¿]Þ„Íü¸Ó§bÓtõš“C¸VߡÇâìàAD±õn7iÈŠBûÏFþL’|ã ‘I!UlÙº–EóÓÐ'”Ž :Úz &hæ4R³gàᆰLþ…qàhÕ×Ôúðÿ L^ã1X†ú$½þxƒñþª™yZZ*÷îÜ€S¯ ÚYž^퉓-´¹²qºÒñ4™ ÿ»zì;|¿š:À'ˆH¶‡¡!9rñO\%fÆU«W/åž•ÅhZS}ÿ‰ýHÍš‰lÇð›A:}¾•C'ÔF—‘ðÿMB[7$ @ãÄû÷(o·ÛصkY)Í`¨å÷…È¿AÓm¤¤âí0·ƒšaÀG¸qS¹bÐ ¼Ehº(i’÷hÀ\íÁ‚9lÝT†¸¢íuvxèîJÌÌ?€3­›MÃߣLäÐÜæãÀQSçކÿ“4IŒk„w U+âÉÌÿΛ™6Ù A¥†™ùg$hæ4Ò²fì­Ã\ÁÁã œü¤Qõp²-[äãJ€$Æ5Úð_ÅÅ…ì¨\Ž% ^úëéöÒ™@òÏjOÅ•’ÙWòK>¿ÁÞÃuôô*G&×€÷bïH€$Æ- $ô7oÛ¶ž…s\hR{‹~¸3KÐ.‚>Õ&Á•ë=|xL¹_ÀÞG*$ @ã½Hø¯ÊËgf¦³kç:ìÔ(É}ƒˆ~$’üC³’QŒ¯ë2fÚ ­WíûáHߢ߮ÌÉ>€»¤NÞ\ ^¢BS:ÒOï ýØûOÕ¡UˆÜ÷d4ÿJLJ§þz$ø àpçâ°ÛèmU.ãRûß{øºêÎ@§€}ýïL€ YäS^‡lÝÝŽ?QŸ£!ƒ Ù™8,@ú#Œ­þ?âýU3s‡Ãν»6‘îlŸÚYò/QÜš= ÃÛ†9#Su¶…Ã'Lµþ¾ŒJôAÒL@‘…~iŽ©A|ØWX,:V‹›Å‚n‘,0âh h¹ŒD.d¢Q?Êaläu˜+ý-^\Ʀõ³ÑýÇDñ7‘äŸnuáNÍÆ×vØÔyAöm ¥Mµó›ÄHÇ"i& ÄÛŸF˜ž¦Ð}»éù9Ì))bNI1%ÅLÎË&;= ‡C„Ì<^-mÔ56s©¦ž³—k8w¹†šúœóú8Ds=î|î\D.ý©ŽüZ,:»vmfJnxUÏò/Q{ý¸Ó‹±Ð‹Ï«œÇÐØìaÿG¦R†À±x$ ÀA7¢‘waÅ-ºÎÌâ6¬(gÊr–-œÍ”üÜN'ËÐ><ÒÝÛËõ†f>:užÝ‡ªØ}¨Š‹WëØ rQK)G&'o7nb®ôWR2•m[– .)-O¯ŸöÖ’h¤dN%Ð}³³Å‡N4òñyå͑µÿ¸–/iÆ9 ¤þâõ ]cé¼™<¶s÷n\Áœ’"ì6sr¥‹NZŠ›9¥næ”ó;;×sîr ¿Ù}ˆ—^ßËÑÓçy+hp Ùõt·/—þ”[_€ÊÊMÌ›iCó©-Ã0èl÷àñ$NôÃæÊÆápâm63¿^ŸÔþ{=ÊœA5Rþ‹‹¤Ç"‚˜"^Ú”|žyp ß¿‰¹¥Åf6‹v›•²ÙÓY0knYÍ_{Ÿ¾ú6×ÔÓŒì~ZÁíáºï¯Ê}çäd±£r56ã*šâY€!Þ?‘ä_f)Z ‚æÈ¿K׺ÌÌýÀ»HÆI0N]ºÎ£ÛÖð‡Ÿ¹—M« ⚦1§´˜ÿö¥'Y¿¼Œoþä×üâx'¤Ù %‘”¸³k&ÎÙ¸i +ç¢ùÕ’Ã0èêô$TôCÓm¸Rsðuž4už8VÏõ冡.¤ö?¨•I€qˆ2̽Ð]NþÓ÷ñ§Ïóv»ÿñÕØßÜJ*¢©8š"¹—âñ‹…{ïÝLAvxÕ6 à=Á¢V{*‡ 뀞œ! Íý·u(§&ú þÄÃXèéHBõáçw;ù«?ø_|üÎ.þ0t]ç Ÿ¹—¿úü§ ¦¸øiÔMÜÀ\éoΜlÝTŽæWŸù÷û‚t$´ôîŒièF'FÐ\”Q×ØË¾LU >@R€!q篞$”àEBÿMãŸz€?zòþ„‘}#E×ùâ÷ñ¥§¤V×8‚z®>Â¥¿fçìØ±‘YÓ54Å~ ÃÑöýkšwZ.î+¦Ï=t¢‘s•?/þËŽ+(‰!ñ Rò{pëjþøÉp9ÇÞ%N‡?~ò~Þv'‘te4ЪsAA•ÛWb \Qžù7 ,úvw.6 Ù¹Ù,+›=òÑ^Ã€Ž˜ÚœLp Aì¹›ýG'øGÖ«iKËf1)/‡FÔ³fä¾·n[Oż´€ú¶Úž^bgêd¬š#`j]Fjÿ^ŸògÅÚ,’`ŒÂ@š¹§PT0iäO¤iÃÁ·vDKñàñÉ1a¤¥Œ¸ÒPR\@ê3üáҟ꥟‘‘ÎŽÊ{phµÊrßaòÏÓ›8ÑÐHI/ÄðšàÜåv75÷ÿæD’¤³ð"û7•àÊc›Ì=Aœ¯†O0(ëõÑI83s7o†<ÇárÚ)-žL j­Áa…#3ͲëÖ¯díÊ)h~õ0;"ú‘@Xì©Øm^3úEbœö©§©Yuô‰6¤öo:TK€1 Ð L-ÌÃz+=ÿšWšPQK;|ïexëI ‚A¡›;»áÝá;/EK…KH‰ðŽ,ºÎÔÂ<ºB•"Äû«.M»ÝÎŽÊõdº›Ñ”Ï‚®NÝêìúˆàN/F7ºP}Ím>Þû°ÖŒ&ÁaLÔþc‘,ŽQø¿¦‘—~«S' »o…£Ã¥(›Åb$jêáÔy¸R¨]VŸÿ”†·]×ÉËÎ  ëøª fwú]¼x[6ÎCóW>'ïL â¯¦Yp¹ÓôšÛïÏNœiáÔYå’añþff¥"H€1 ? [-¤¦¸nýÉ4 VV@NüË÷ÅÓ·¶KÝ?Þ±ë—ÁŸVÂÿQÐLMq¡[-¼C€pãjÉPÓ4*+7R”×kBî<½‰ïû—ÁŸ¿r / Ù¾êéêVŽN®c²ö‹d 0FahÚèÍûw÷¡*iõªëÅ0 ® >:]æ˜ëÁ`±XдáçòZ ê—KJ¦R¹m)z@}æß0Äû'RôÀ^~õ~„0®^ïfßae.ÃvæÄcŒÆ(tÀñްß-íÒü³ß@OÈóÍž.­À…yâåëš$øäœ«†ú.T×Â=! C·¯Ï émÂ?êE<ؾ}= f;Ð|êv~޶ÄzÝêÄa·è6KþÉàÏåk¦kÿ#f3“`ŒÂ þ­†1ò>Ÿ?: ‚ÝO?UÂÔÂh‰ÏèàoÂ^•á ýJz¾ü´L ކaÐÖÞIÐòbëAÈ?srßk°5Êrßí‰ýp¥MÁ¢y梌^o=‡®ãWoLú‰FŒd 0FaC6äl¸Ñrk µÇ>†_¼%‹_Óà‰ûàKOÁŒ©RÞÓ4ù±YaúñøO?(Ì¿aÀ+oÉèð ÔÝhÁn ÖË8"¹ï«Y½,ßTé/”±ßDŠ~€ŽËŽa²ôðÉ¥vŽœTŽÂšÿf>¶H€1 "¤q¥¶`„i@0(5ÿúPˆ\<ÞC‹N‡ž=¸Ñ"³‘åÌþ@€êšzÒ`P0¹ï;Ö“joD3!<ÖÓí¥+ÁäŸÍ™‰Íjô+k÷bœö®£ù¦2ïÒ‚løyK}ÌI0FaCvâ½xµŽ¶冾ðàrŒƒ(™Ó ‡?¯(_"„0.׌x ½³›‹WëÈK"ê07ó¿lY›×ÏFó«· …É¿DŠ~¸ÓòÑæ?Hí÷ÁZ‚êc‰†~n I0†1 ¨­käÂsûÇE`Ñ`y«íc³J p]=¢&4\ºVǵÚòy<ˆxÕ%£ë:•;6ŸÕf¨FŸ7pòOÓí8vsc¿pì㛜Qßð3€xs;‹ÄAÒŒQhÈÜ7ÛØwä4ÆHÖ5­ïBni¯æñE‚@ Ǻ Ãàƒ#§i¿Ù:èvâ7bãº8˜=»”Ê­‹M{ÿ„‹~ÎÔøÈtíTD—“` Ô‡ŽÂc#ø¾uV”C^¶ü¿þ¼ü†{ƒ¡¥M”€®…ä«2Òä9,æ'W}ÂÁŸP ¸ã<Þ…¹Ò_AA;w„wúU_ÍÝÞ„nö `±§a·á3'}"z-õ\­iþ`Að&ÒpËH€1 ˜ô´´ñêÛûñ¨„ïýQ>*×EÿÿÊ[ðÏ߃#§ »ü~!øº{àÈiyì§¿¶ãm] Ëš~Y¯ÏÏ+oí§ãF % ÿÃrgfd26n\ͲŠl4¿º¶^Xñ×Dm}Dp¥æaQV/Œ¢»7ÈîCuøÕ9–SÀÓ/4’@cÀ àµ÷òhå:¶®1) î°‹ÂïõFxç€y?öƒÙ%"þaÐÔ"a] uÏé Á<ÂGNó«w?d09Îã>Äû«š´ÔÔvî\OŠ­^YîDô#áäŸfÁépôšSý8s±c§LÕþßcw^K€10xµþ/üòmVVÌ!-%^@=JŠàËψè¯w‹ H]SßÅÞçE­°ý•SDgwÏÿòm®7²šøY-¨båÊÅl¼§ÍPùÃ0èhK´èØÝ9ج†Ï\„ ì>XËÍVåÈáþZ8“4㥈xùõ}¬^<ŸÏz—ùÖ๥ð7_€% àÍ}Ò÷ßÑ%Z ‚!)n˜W ÛîëF4`?ýõn^~}/sCï½ÿ; zfvú­¬Ü@NzšW=Ì‚t$Xò ÀéJŸ¹í¾šZ¼ì>Xk¦Âó!ð‘éI0`*€êž^¾ùã_³`æ4Ö.+3ÿDið©âݯÖIï{§¤é¡­Á¦Š*ðgû˜oþø5¬]=T¿ùçæfþ,˜ÍŽm¦ä¾º:¼t%XôC·:±Û,>sÍ?†GNÝäÜ%eÃáGæþÍ ,‰¤'˜ ,Þ=s‘ùþÏ)ÈÍf¦JW_S{]ÒÓ};È?p8ìàWÎá#hlö²ïðuÕÁ$©ý«kž›DÒŒchH¾½ÈŽúüúýCì>|’Í«qÿ¦•l^½ˆâɹXCʼf`þ@€Úú¼ûá ~õsà]=d!Lÿâ~±Ïü«Ö,Dî{Sò¼`¢¾éûO°è‡Õž‚ݦcøÍšÃUMœ»¬L܆5ÿÍi‹›@ÒL¸5@â*>éêá?Þ9Àë{3§¤ˆµKËX½d>‹æ–R›EjŠ»Õ: ògàóûéèê¦þF UŸ\bÿÑ3ì;rг—kðx}8‘¦¤EÀ4ÔÊH혛ù/))f׎åX‚Õ¦J·CôÀáÊÀŠÇ4ùçñeÃO¯2¡yþH’`‚@Go ‘¶á3À%ŸŸSçª9y®šï¾ü¹ÙæeST0‰Â¼r²ÒqÚí A¯ÇKsK;×oRSßD]ÓMšn¶áñúЀT`.0)Cªj‡gþÍìô»eËZÌr¡Ìmªy;D?4Í‚ÃnÅð›/¿^¼ÚÉÁcÊs<á¹3ji¦‘4 v„ ,E4ö/#Š»M>õ 7¨m¸Áá“ç¤÷-š¸``DrS Ú!ž¾Q(²2t®ß½H÷ŠºÜw&»v®Å®]SÞé àÞÑ›3 ›%&Ç‹ ö®£¦N¹“·xõÉ!i& 4d~ ˜,GÄãšB?7N|b¼ ñôÙ@nè'‘')•x)ÿ©bíÚ•¬ZV`®ôtwyéL°è€ÃîD šOÉ;º|p¤ÞÌàÏ F¸á§$ À‡8]|$®4·ˆù¿NÔh1?·2õ§š•;víÜ@š£ |ê‹9Lþ,úa±:qØ-¦;ÿª>i¡êe±Ð ’û›ËF€¤¸‹»¨Í |™G=æfþ/.cÓúÙèþ£¦ŒÏíý°;Ó°ê~õVÆüƒ÷?¬¡µMy”¹xƒÕþc‘œH"!"Þ_µR®ë:;vldrN7æBìŽöÄ‹~€†Ãn…€ù=š½ì?jŠüÛT™~¡ i’HZ07ó?cÆ4vl_Ѝ6åýý!ò/ѰÚÝØ¬#qÊoäüeåÉM²áçèlÍ< ’ ‰QGxæ_µy]Ó`ûö Ì)± ͕׺:< Wüp8œX ó†¦×dï¡ëø|¦jÿï™~¡"i’ut#W±*ß››Ã½»î É}«{ØðfŸ·´yª4݆Ãnü¡9_ÝÁá¦Âÿw‘ÊímAÒ$1ê¸ Ô˜8~ãÆ5,«ÈA ˜i ‰~ÜòÏáÆf1¯-`°ûàujë•Û™Ûò/Ñ„Fw»èó÷ß¶O}#<ó¯ê+Ýn»vmÀm«ÃLÏKDôC½­vİÛ,hAóšÿí~5eÔŽê²Ç£€»Ù”#½/iuÛP{™À0+÷½lYÖ”¢û¯™#ÿn“è‡ÔþuFrUý¸™“gMmøù`~o±[ÀÝØP| xXLL¿K¸g½ Ñޛ̭7ÃÜMOý©ñ¬V ÷Þ»‰Imà3AzÐÙî¡;ÁŠ¿v‡‹æS'4Bð Þ;PK{‡2qx‘ýJp3s_ÜMÀ <<l#fžE#ú©w ý—‘©·…@IC ³rß³çÌ`ûÖEXgL}¾Á`ö¶Ä÷ýüÑ ó¹ëWÿ ``N÷|p7X<<äÄ>Xš—Âü)é\¹ÑÅ©kíCЈ b_Br…y¨OÀÝOý©Æ¯š¦±£r#¥EAð™S7î¾M¢6›»Å¼•1Úÿ¥+Ê2æ^Äû›'nÝÌžžB¦e#Ž&'ÕΖ²<¶—0» •Ú–Þ:ÙÀ['¸Ö,ßCXÅö’×.DFaïfâd0tbNî{òä~Òë’TÅÜ}ü@ñþfä¾wíÚHvJ3øϲ€k9vg9…Y~o'=µô´_£«õ½µø<­ÁÑiå²XíØG¸2>:ÙÄ©³Êsÿ~DõG}ÓÃQÆx6«ÿ4"Kq·Y4VÍÌaGE>«få`·Ž|ú]Ó4¦ç¦ð»KXV’ÅëUõì>ÓDWhÛ©^Ä„W#$aÅÝÃ4`®ôWV6‡­›ÊÐý'>#eà\Šf+BÓt4‹†Ý= ‡;—ÌüÅ^|½7én»Jw[µ„Î:¾. cdQµÃnÅ¢›7&~¿ÁîCµtv)s5HóÏm­ýÇb<;°Yø÷£J­i0J:•åùlœŸGVÊèî,ºÆâ’,æNIgÅŒl^?QÏG—Zð‡QnUp,Gøר½úØD¸ô§ZÄÓu;71m²|ÃhãiiàZ Î%hzJtóRM  MÓ°XXÒŠp¥“St~o7žîFzÚ¯ÒÙr®ÖKxº<` _9‹~Ž$ü¿Z×Çêá¿l÷õ‰éEŒ' !jÔÏ"y~ŸF½‚L'• óÙº0Ÿi“FoCŒþpÙ-l^æxýD=º"&üÒÒæf1¾>d3hÜÜwQq!•Û—a ^ºôg-‘ÅoŸ…¦…£·X=£°˜©ÜklŽtìÎ Ò²g3iêF|½­ôtÖÒÝVMgËyzÚ¯âë½I0à#žãµÙlØF\ûoàJ­òf!½Hí?ñ%!0^®ÍB$Ïq°‘Õâ°°a^.;* ¨˜š‰®'>øÖ4ÜtŸZUÌ’éY¼QUÏÛ§iÍ¥³~X€X­ávÎo÷H(ºÛ¶®cá7Z ~Žl`G9šs Xs@ 1*¯ßg¹‡ï aˆ¹Õu vW66g&铿ôJºÐ^#éÂÍóôv^Çï툤 v›Ž¦™ÿ»{ì=\‡_]—ð °Çô 2ƺHA¾Mļ_«®±|F;* X3{«åV·¸7 MÓ˜59’¼VÌÌæ ìù¤‰ÞP“J7BïV#ü@9¢²;–ûVͲ33ÓÙ¹c-­&®Ü·¡ç‚s 8Ë@³wQkZÌ­Ü11)Bä9䩆ÔöÝyØ]¹dæWà÷uáí¹áz;®á0LÉ‘‡qú|«™¹ÿ âýÍLM'cÕXHßþƒÄ´ãkÀÌ‚TvT°yA9©ö„…ûª°Zt–—f³`JËgdñú‰zŽ_i‹lÿÜ„H¼„ùùÄ4(ŒS\ÁœjÅÚµ+X½¼ÍßWéÚ@Ûlp.[q?¯ß×Ûk}b¨¾iŽ0¢·á¡ð­f€›—µgÚ²¦¬ÀÛYC{õ ô˜Ó%0 Øw¤ž7•gZòŽE°!øG*k}Úw·-̧²<Ÿù©w|áÇBÓ4RœV*Ë X4-“·N6ðFUWnÈEa ¦†hÙ°”Û£Î;Ú uÕäÕá°³k×2\Mà‹žeh)ŽEଢoP¯O¯5‘È æ\YëFÈ „ÅÏC¿ïÓа» °¹§˜6Í­>3µ šz‘a,€|à3H¸¿„˜’ºË¦³n®äù‹§gFÚwÇ"4M£ ÓÅ“k§±,ÔVüΩFZ»…Uö§Z†‚|Æ?àCʪ¨X´€Mëæ û«"“—†¥H¼¾}hÂ]‹½…Èb'ô¿¾9ôˆ0 (ˆYÜFÔÄ#òXŒAÐtl)Sém>†ç|ðD#§ÍÕþwskÿ± ÀÜxýíÄ ÝYtEÓ2ØQQÀº¹¹¸íæw¸½SÐ5ySÒ™™Ÿ™/øà\3ÞI;Ž/He|‚NÔ¯^]×¹w×fŠò{ÀÛŽ Ã>ÃQf ùû/tˆŸë÷÷úñ¼äßþi@L:ÐÇ‘#­î"4« ï&ÿíóì;|nõöd  oFHÀ;*Du' €ÙÔöàQ„‹\ÿÓ'¹©,ÏgÛÂò2ãfá÷‡Íª³fv §f°ìãF^?QÏéšvÂ:– È0—#0—±?vÜŠºfuII1Û¶,B÷WƒžMÐQŽ1DŸÖÏëÇK·ƒÖú¯oÄ.î~é@$ ˆœ€Õ‘…Å9 §š¨®í6Ûú«#ƒj«çÍ<ÁhâN€ÙH¨ÿ$2aùö2Ý6¶”å±£¢€Ù“ÓL·ïŽEhšFºËÆýK YR’Å›U ¼QUÏõ5 "ÝtW‰òª[oß ´ î¶ÖoXÅüYN02 :bØŠÑúx}úþ&ÿ‑(a@éoò/rW¯óx82ýhV7¶”büW†ýÛ ­çêuåÚ0øK`+b~‚º’ú¨áv€úŽéF80»UçžÙ9ì¨(`yi66ëX½üGMÓ"cÇËJ³BcÇMtôޝ±ãnÔ2d]×™R˜‹ÅžOÐ2ôÔ¾‹:‹ß÷–A¼þÀ’ßÀð?|;ùgô Œè‘6w=šŒ¡Í\g·Ÿ½‡ëÔeÉÓ€t¤SLNÑeH•x+ðCà5Áq» €Ø,ü]ÄtÉê”gPYžÏ¦ùy¤:­ã6ÜW…E×(ŸšÉìÉi,+~ààÅ›øû‡£2ÀÍØ1ªïÃ0 ü~ÚÓÑû ¡¥¬õOÂÇÄü¨’}Âÿþ9~¿r`ì}1†Áê*@·¥ôÝä\u¶…ªL„ÿ‹€¥ \E¬¿w <Ø=ÀKHDp€ÛP&L´ЈŽé~Ó 8[Æt·—«éN48m6-ÈcÑ´LÞ9-eóףcÇ׎ lf36X[+DØü¡`¯p2í÷ú±i@䌾¿Å!ýú†¡K~}½~l5€È1º=‹3oH`°ÿH-ª~ººo²ÌK‘ ÀOQº!ø< ¼üsÝÖ¦‘Èë©‘ãz¹v#ßRºËʦùyTV°`JúmißËÈJµó芢HÙðí“Ô·I@ô¢® åHòx'?13½ ^OX¹×Œ×ý'Eàõtþ åõû“ý ƒ!·šnÇ–:_ûà"g7Mmø Eô^)òCP…|Éþȇ0ø[¢iÁËȼ٨# iß}㌶ïZ4VÎȦ²¢€5³rpØÆcLb;þ½%,/•iÃÝgšèöFǎЗÈæÎ‚PÕ^i†Õëõa†,X-žçŽçõû—Cÿ¨’áEnÄñúÄóúý‰C«k2è6Æ—ÿðXgÎ+jþëÀL$Ð…Q°˜Š¸Ë*b…Á¬H¬°Ø‚¤o¢¾çŠFÓX¹í§öÝ”ØçOIcÛÂ|¶–å“9Šcº V‹Î’’,æMIciIož¬çÈ¥Bô-Hñø2’„ÛŠo§!0c¶=/Á€A¸wKÙë0ñÈ¿è¹;ÿ·j^¿`uæb±gèØòäõìý¨Ž^b-$“~µ®~p!Ü@88I¬¼²!Î7!•‚NBEæqhŒ–X‚,ü'À&ò§NÎt²µLÂý©9‰ÓhpÙ­TV°´4+¢V|¾^tæ ÄQÄŽÏäöµÇ.Ùáàõz Á˜³âxý!æU†$ÿÂ÷Åëüëëõcë_ú#rdL`KÅêž×\ªéâà1ä_ ýÄèã@CBºõHpéˆR ¹À—'ûCÄ\Vñq«×L1BZü=ÂbF†vR¶–åóÙ ÓÙ¹¨€¬”ñÛÌs'ávX)+J§¬(§M§¡­7’‘A£‹Hg¡›ÄnbDR“¨¬gÍšÁ}÷oÇf³zèÐÐÐC |«¦‡–wø¸èñ‘Ç"Çh1ý0(ù^óqIÀØsû>‡}øÚ/ël ^{÷*¯½sQmcÒòÓÇ- I¢K£áG:¯¢okb&…þ™[ÐiŠ,øg‘–ƈ&¦E‡¥%Yl//`ýÜI¸F*®–Dš¦1³ /䦰4¤VüÁ¹‘±ãà}ˆ}Ú*o²àO ‹_y¯[B@Ð`@_) ˆ>6 *—ü“ÕÒ€ð±1i@älùÝ➌fqb¢}í~ö¼®^ûϧßH›"lë;hÙ°¶Ï£›‘ [8"x—´›]`Ò¾û0ÒÖÁ¬‚T¶—Kž?Æt'lÕ³&±°8“åg²x£ªWZ#mÅ7« lærëcÇÈ~U'0'þ†Çë% —³ÕÈ¿AIÀ>ç†ÿëõ˜[ò¾¿Ç¤{&gþ®¨8ñÉMŽž21 5 ËFŠd™Ï j£ƒ©HÚ½ ø1Bž0óôf À¢y~›–›æ`KYÞ˜ÓˆHuZÙµh²„U ¼y²ïØñedì8Ì”b¾­Ø‡T¦N„žg¤)^`À0Eþ…ï`TÐï…:ù70b[ÍêÂê.Âßu € û6Цºá§ÉÿoáÀÑþ3„ )*þ9ÑjÁOQܧEÅä#Mn¤¥K¦Ò|ˆ³¨&ªF¤2v&O ž@r™…ä³—B/2 ¼ñ"€ùg®ß?ü{_ò/ükoÇëBþk¢g`q€f#@]c/|t}ø?:Œ©@ÃèªÐƒ2…hÅàaë¬#¼À|¢óÿAl›Q e\À}ȯ$¦Š©k°hZ&ÛËóÙ8/g2Ï¿SÐuùEÌ ïfTUÏó7ûŒ璘Zqzœç1ÊS¸ 5 Ή\ZåH"x%àñ„8€¸=¡ÛA½~ÌcCˆ~ NþõóúáÛAÉ?£Ÿ±«+ÝšJÐׯÁ œ»¤Ø®ý'¢âm'ºQåIäK«ïóèNdÒ6lö0Hoåj¡“ûìdÇ>8-2¦›O~†3îØ­ÖÍÍ¥|j&ï…ÚŠO×Dw;®'ÚVÜì¸ ñöUĩӑü³iZ±#d€b°ç‰)ÆO·ñÈ?b Bè¶ÏõZÔƒŽýcúÞöMúzýØãt[W.=]­ì9T‡Ç«È³e##‰ZÂ-¬¦oÿ@”¡Í>‡$/"ý$Èû€ÙȈîãˆýмýL·­eyl+/`náÄÓˆÈpÛxpÙ––fófU=ožlˆŒÈØqx·ãr¤ÃðÒp>@ ³€hY!–ÈÒQ6>¯@ 6ˆ—ÈcÉ¿^?.ù¾J죿.à€4€ùM!݆Å]Ä…«Ç9xÜdí?{Ø£nò=åΎδнƒD?Bú"òEa,ú§›ùzÃcºÛæ³jf΄ÓhÐ4â7ŸÛP²ÒlÞ<ÙÀ»§é {€cˆ1ðg[¯t¢ÄA¼úµ ðûï?€ü ßF^#ŽèŠ¿ñK~qrü>GÇzýx†$ò"X\y8ÑLƒê†Ÿvn¿à£Ù„¢˜h[q5á¿EVU"zxXC>|á-ù>¥³½<ŸÍ òIwMü1݉]ר˜–ÉÜÂ4OËäÍ“õ¾ÝÍh@=ߎäå ]:0e‚ø}á°y`çß ä_°ï‘ñ¼~Ü`ùÇÀÛ8ä_ÃP]ççMêµÿd!Þ 8‘e>(?Yp«©ó·ÂÀdbJÆ…YN¶‡vÓ-N¶ïŽ{8l¶.ÌgñôLÞ>%»Ÿ«ïçÍJ‘…?C+ýaÁt·Ž?ùgZñ7.ù×_ôcˆ!ù>·­­ƒo~ó'8xFíÖä9e¸ ©Ö¬#Êœ&¶Ch‹Š$`¦ÛÆn™Á†y¹wý˜îDCNšƒO­*bþ”4þ÷œåjs¨Á¥ÙeQu¼Ðd àóûoÑëÇ'ÿSü}¬Ïñ1Æb``¿ã üÛ·_äùç_QûcA~ jŸc¢¡!cÈH’ÿz|]ÆR“‹bBÓ4¦d»qÚb¾z'’÷«~å:Êùm Äï÷GŸ<Þ&Ÿƒ’q¼¬×ÝÓ·¾ß?×Wÿ9?öÜ—^ú5ßøÆóx½&&p§" c VÄçÇù~“Œ^æa"ø}áÀ,ù~(æÊH~A|¯›DN"r´ùg{öä«_ý>7n˜Ðá°"u4ÛpŽ$ @æ¡¡$ˆ–üúåøC¦ácÃ^}k?Î7qº¦óu<²b ¹é·ª¿;Î`*ðÀÀeº‰“„sä_èÅ¢ÇGn>váÂ%¾öµïqÊl§È0M ÂþO€íƽ¨¹ÙÍOö_ã7Çë0ÐypËjž}d•k—áv 7תMÓp»œl\YΚ%óyxÛ=üû+oñÒo÷ðâþ«ÔÜìáÓ«‹YP”~w¤¦R€0^É/òœqBŠ¿ñÅ>bŽݶ´´ñÕý.¯¿þžúجVJŠó9_}ãuC¶ê\EÌF÷ããÚœ«ëà‡{¯°çLÓ¦äó‡ßËç­$7;#a Ñn³²qeËÎfí’|óǯñþé ´t{yzí4VÌȾ;Œ€â¡aÈæ C•üâ)þö÷úƒ(þRò‹5>ŸŸoûyž7Iúiüñ“÷óì#ÛxþÕ·ùîËoж· º‘™ûx*«ããÖœ«ëà»ï_fÿ¹f6¬XÈŸöîÛ´‹åöÄe©n¿÷;;˜;£˜ÿóý_ðÊ[ðÝ÷.c°ræ]`̤^oL`Û<°ä׿ôóLÈ?õ’ŸÜÿ“¿Â7žûw|>s¤ß#Û×òåÏ>Ìô)ùÌ--fþÌiüó÷^æÌG×DHq#ãÖŒKPÓÜÍó{«Ù®™6¯â¯¿ðiV-šwÛ¦i¬]ZFÁ¤l²3ÒøÞËoðýWp;,”Oͼ­ïå¶ÃŠRa0ÖDMAÔëÇ"O<´âo¯§äï½÷_Î|§ßêEóøÏ¿û(Ó§È¿Óaçw«$'+ÿý­ŸrðØ'2þ»‰[߆é`Ü€Î^??ýðÁ#ÛïáïÿäiÊç”ÜÑ÷4sZ!ÿóÏžÅn·ñ_ãÇû¯’“jgJö8 3–ì ÄbÑ£‹<ŽèGØ0qu|Åßøõ'ÿΟ¿Ì×¾öÓ¤ßÔÂ\þì³³jѼ>÷kšÆƒ[V“ârò÷ÿúC>#S€ëwÍõãêí ƒ_©å×ÇêØ¾v ûÅ'îøâ£ 7›ÿë?Ã3m僳ÍüâP-^ÿ¡í‰ƒ0 ¯×C Þ€>·1,`ô„°×PÞ3xý>¿ÑÛðñ-­müë¿~›7ÞxßÔŸçrØùò3óØŽuq#KMÓØv\ƒe3¦Ãad;o…ˆh,a\EÇ.·ðGë˜S:ÿòû¿Ã’ckþrJþ$þâ÷£¶á¿>RŬɩT–LL>ÀDÙ!8¦äÚ-žîz{="®iØívRRÜ- üc€äß@ÃàóùøÖ·~ÀóÏ¿dêOÓ4/|æ^¾ðø½èúÐ>r׆å4Ýlå/¿òš·‰þÞ$S/wG1n @g¯×ŽÕÑÖ ÿõ©زzñ~KqQ6{:_~ö!.\½ÎkGë(+Ê (g¦&"€p  ! [555?^EUÕINŸþ˜ëׯÓÙÙ‰®[ÈÍÍeþüù,Y²˜¥K1cF)V«…áÉ¿ð«ECÿ_ü9ßxîû¡qdu{çÛ{sì\1=F3a¡Ü7sªÇ×Z½x>ß~æÿöú&\ªç¥E™cÏ ðàÉ1›Íôô9sú<{öîc_Áç”––ÑÓÓãPú˜Lƒ¢¢" ˜0aË—/eÙ²‡˜:5ÛÉ‚ü;pàK6¼á9é÷À¬éüì•gÈL|eO­FÍ?<·ŠSJÙ[tZ4èÈôè²£†€0mÝ×3>=•—Ÿ~dP–Ù(ŠÂÖ]ùÿù'šÛ:Yv_>[ÿßÿ$"Ì3µ‡Z­býS+8x²ˆËxpJ×껸RÓ>¶¼zÜ ’$¹­ø½Áa4 f³“É„ÑhäïßÉ›øÍ--î䟢°eóv6lø³ÇJ¿˜HžÕ6¶ðÇ­»)½^åõgyhÁ ÎÎk©°ŸÃ¯ €¢(”TµcAêÅsÑj‡‡²(8r† ›w`ò4/ü.°ï'&ÄS|«Ý§çuøÐÐh4ΕßÅý×ëôȲŒÉdÂd49ŒÀÆMð§·ßíí8$júíߘ×_›¦&ÏI¿þþ äõêIN]æ£}Geù.90¢ÂÃXvÿLÔ *—&Üþ ¿66Y¡¤ªƒ¬ŒTæäN–kTT׳aËN®Þ¬&9!†¬´dŸžRÆ8fçLâ­6G{î1ÚƒÝ ýb# R«Ää·¿z@gg'o¾ù;>ý ¸r¥ŒßýþmŠ‹=«é—1.‘Ÿ¾ò4?ÿÖ3|÷ùÕè´dY¡àÈZÚÙ |€Ï³hN.É1‚ðs§Ï¯ @‡ÑJYm3§N .*Âçç7[¬lؼƒ]‡N V«øÁ7¾Æ¢¹9>½†A¯cNN6U-Fš:½'ý>ò´Z­Óåw1:½Ù&c2›0šŒMF‡!0›ÍTW×ò×w·pår)¿ûý[ì+ð,| 5èùÙ+Oóô# Q©T<öÐ&OàÒÕ ÊnxL?Ž©YéPƒHòcøµhé2ÓÔiaÆT»ÄwP…mŸæ­m»‘e…gV.â{/<†ÆÇÙ„’$1'7ÔZjZc‡ð R©«ßø_­R‹ØßèôŒ&#F£ÑãKÀ† ï°iã^Wâ{/<ÊwŸÔ¡ôKŠ!+]xÍ­\ºZá="øªFÀäÕ)F ~mš:ÌHjÓ&¦û\Hsæb6í ¥­“üixõÅljòé5ìÈ—DDx8õmÆa9ÿ¨ÀÀ@±¿^¯G¯Óc³Ùú¹þöÕ_Qrr¦ÅGíðBé÷ ?}åB ΂1:­Æ¡÷°Úl”ߪòe¯>—š)Yi¨»UÐãÕ)F ~kE¡µÛ‚Á g\BœOÏÝÖÑŽ[~á¡!¼úâã<87×§×pEtd±Ñ4tøùrà †hT*•“ìëc$•4 ëo2™°Z­ÄÄD3eJ6EEÅ×ô[8{:?}ù)ÒSÜþßl±ÒÑ圭Uu½ LÞ!35 ƒJ4CAG…°ÐÂB}§ü[~{xçA$ ¾õì#¬{|Ù°JuCôzÂÃBiï¶ø;'4x 1ÐjµŽ‰ïjt:6«M¬úFw×ßl6£R©X²d!ÍÍ-”””ztÍÌÔ$~úÊÓ*ý*k¹VQíø½¥­EñÞÄÇD¡“4àç´_£Å†^§õÙöŸ¢†÷›wb2[XþÀl^]÷¸›+8ÐhÔ„èu-òØá†° `_ýRýI’Xýrÿ­V+Ë—?„ÕjåС#]34DÏO_~ЧV,ìgìeYæÃϾpÛÿï1™±Ù¼«°=•Zõã!÷ë\EI%ݱ„·'¸Y]Ï›wpµ¢šŒ”~¸v Ù™©>9÷ I¢½˜¬(Œ•ù„ס}õïËþkµZûfþçÍ›…F£aï^»øóò¦°vÍÒ~é½=FïýýsÞØô)V›“²—eyH€J¥rknæ¯ðk QKج6l6ï³Åʶìd÷¡“h5j~°v k–-‘,=Y–±XmhÕwîGPð°2°}%¿½Á!ý•$©ßÊowÿÇK&**ŠãÇOz¬ô8Yt…_üæmV-ž+¶û$¸z£Š‚£gù¨à­í]„†èéîÿèˆ5™-t÷IÑ«¾•”¼øú±÷_«ÕbµZþ¨Õj²³'róæ-š›=#ýô:-&³Å±Òoßó¥ƒSêê6ÒmþÁ¹¹DG„±ëðIdYÁ`Ð )來£ ‹bõýxÌýÚ>E…héê­cHç¹på:¶ì¤¥­“Ù9“øáÚ5ÄFû^Xt;tõiëè$6LçÏÏ‚gð ;jµ½®ëßËþK8™W#`6™™3g&]]Ý”–^õèzYiIüäå§xdált½YQ¸r½Òñ{mC3ooÛMˆ^ŒâܼÉÌÍÍöøÁ¨oj¥¥µƒÄœD¯?ƒßÁ  ÕjÞUøãXý]ÝþÞ×ÌYy|õÕ)®bàÇß|Š|é *kÙwô,GÎ\äJy%Ý=„ôLŸ”ÁÒù¬^2ŸØ¨pÞý¨ÀAÒŽKŒõÚP…k·j0I¿oâ· 6\‡N’¹XzÃ!ÙôöæV›Ïcÿ±s·}¯+GWrí¿ø¿o9~ÿÕ?®cNŽKešA¢äÚ-ŒÆ’£ c«2OO¿t_—õÏÊÊIâ豯<º-I’øÁÚ¯9”~ãùÖ³+Y÷ÄÃttuc±ÚШUD†‡¡Ój$‰ŽÎnnÕ4ôÞ«Š¬ôäÞº„žÃl±r¥üDá÷¥ÂýÚD‡jI‹ ¡èJ9=&³Ï*yBÄ+·ýep°Úlœ¾PJ„^"!ÂÏŸOà¡àªù7è  âß‹Åâ¶êFBB  z.—\Áê¡ÒïùGó£õO¸mïJ’„^§E¯XíY×ÜÊêz¢#™6ÁûÔó†æVŠËnŠ¡ÁÀ{„èÔLOäÐårÊ+j)›žbêÄt¾õìÊ»¿QÃ§Š¸VQ@b\4«Ïs¬³¦Oô˜ÐimïäÔ…+LL '6| ô“¶Ã à&úéõwâ¯w¿?==“ÚÚ:I¿…³§óão>E}S+7ªê‰´äxƧ&ÝÖûR…SE¥Üª +-‰‰)]×ç.]ãzM-Lǯ @ðs0u\$ž¬æðÉ äNï• ýðý³Xº`æ]ß'+2ßý—× ';“×þ儇Š@ÎM©¢R.—W°þþd´j?<…ON«ëçþkÔÌó€®WWׯßðèv&¤'ó³o=KÞ”,^ý××ùtÿq¾þè~÷¿~è û¢»ÇÄîC'è1 ÙÞÂ99ÄÅx×ëËjaf»ª¼·!#¿Þ$‰IÉádÄØ{ä4m]^ŸG­VÝõ¥R©úÅ÷*•Ëq'¿Åbeסhd3yéÃ×°tTà I:½®Ÿî_Q7ÑÑh$## “ÉDQÑEn'<ÔÀÖ?É“Ë D¯gbF -í´´w²ûÐI(P…) ÁâÓ‚gˆ‹ŽdÕƒóÐj¼[¯ÝªáàWç!€îp~mâÂuÜ—ÇÑ3Åì?~{òÎqþr9GÎ0;+†Œø°Ñ¾ßà¯ä×û»n÷EFFÐÝÝíñä¤ß¾÷Âc¨T*•Ä#‹æ01],Á·jøíŸÿÆþãç„@G–±É2m]üyû^þãím´wŠú]O®x€çy—¦( Ÿî?Î¥›0 ¡ðsø} Ió'Ʋë\ ì:ÌÃ÷Ï":ÒÿKl[¬V¶î±Œ_oxY–)8r†+×+Y4'‡ñ©IMf.–ÝàØÙKŽ,ÀEsrùþ yM6—ݨbûž/±%Ë0Þ«SŒ8üÞLN‰`ñÔxv~qŠí{¾äÛÏ­ò{wúàW…lß{„yc˜ã÷÷ë<è,©$gì¯Ñ`4ºèüM&ÂÂB©­­£µµÕ£[X8;‡Ÿ¼ü4iÉîé½µš®]C}S+ï|¸‹ÕÆÍª:nVÕ¡’$QKØ%$X2ÿôݯ‹â-^À&Ëlúô§.]ÀÈé̆„€0j•ÄÒœDŽ•5ñ— ¸oæTr'OSÐ99Ù4µ åáìé=ÞóQ]öímŸÑÚÜÌŠ…S7Ä×ì9ëôVî¶Çþ®…>&#QÑQ444PYéY® é)üüÛÏ0/oàz‘Iñ1üú§/3>5™÷wäJù-L«˜ø’„F£&51ŽÇ¾Ÿo?·ŠS²¼6Ô{¿8ÍÆ¿Ž’ LÅïÙ;æÉœžÉêüdÞ9TÂë›vð›_~›è߯Õj•Šï>ÿ(ßy~µãÿtZÏ9«ÕÆ·îâã}Gybv ÷OŽ›«?8›ƒÜÅPPƒÞ€J­Âhtîù‡‡‡ÓØØÀÕ«×<ºtDX?þæ“<±ü;~¿qÑ‘üòžå™•‹8_r«7«éèê&4Ä@Zr`/»QÅë›>åFS<†ÆH’Īüd.Wwð× È—È/¿óœÏkø ¥ö€¢(lüäs6lÞAvRÎLF§ñ{žÕ{xøÕët½…>{·ü$I¢¥¥ÙãÉï¦ô„qU©TLÊÇÄŒEqx¾h2ÓÒÞÉkï}Ìg_œ‚ˆÕ?€POgB¤§æ¥’©å·þ|—×õÛ} EQøxß1þëOÛ1÷tñìüT&§H è-ìÀ I*•ÊÑäÃj±ÒÓÝÍ­[•Ølž•Τߓn¤Ÿ'÷ V«}2ù»&~ûÎvÞÚº&s æßeædÅðÂéÈ–~ý‡÷ùãÖÝ>©0(ŠÂ'ûóë ›¹v³’g¤ñpîí•gcxjµÚù·X-Ô7ÔÓÑáY¦g\t˘͸DßÖ‰ôÝ=üç[Ûøï?ÿ K¬ îîúg~‡€ ì¡@ í=VÞýâ¿zí=Ú;»yu݇bo$a³ÙØøÉ~þãím”–ßâùûÒynA/I 4ª?I%Q[[K]]½g×Ó@Sk?ùœä„V/ž7*F¶²¶ÿþóGlزS˜!<€DÀ»ÏÎOÃ&+l9ZÁ¿þ~#•µ ¼ºîq¦d¥ØCQÛØÂßßÉë›>¥µ­ƒg¤ñ⢠Bõùµz €ùWd…ªªJªªC±Yxát^Z”Idˆo=fû.Ô9;Å9x^á§ ¸ "‹ŠŠ"::šêš*ÊËË=/ŽzðX ñr»0-$ÇÇœ;¬†¿±¥¿~TÀÿyc ûCI–3ŒÉß”`+ø¸ÐK•V­âéy©Ä„iÙ~¢’ýÇÏs¶ø*O¯\ÄÚ5Ky`Öt‰¢;Áj³QXRÎû;òÁîÃTÖ6’ÊÓóSùÚ¬qc›ñ”·Z­Ô××SQqËsÎ&a´@ °ˆ„®SFÞ|GNó5KynõƒLÌçÓº‹íÝì;z–-;°ûðIŒ& L齟ñÆä¿Ú€hó´,'‘Œ¸P>=[; u¼óá>;|ŠÕ‹çòèCóy`Öt⢽b~E¡¥­ƒÓËØóåivV.šCNv&á¡!^‹Åj¥º®‰C'ŠØyèŸ;Kk{D"¶úæP{ýwBÀÄ`vJ¯®˜Dnzû.ÔqîF3ïlßË»¿`ÆÔ,îŸ9¹y“ÉÍÎ$%!ŽÐ=µJJ%!Ë ²,cµÙ0šÌÔ7µRr­‚³ÅW9vîg‹¯ÒÜÖJ¢¤yI,ÏM$*Ôÿ]þaƒ¶÷5ˆî7^tÛELþqS#<ƒ4 leN_,ãLñUÞÚº‹¹ySX8{:ùS'09+¸èHô:Û ¢(Øl2f«•ÎînU7p±ì_/áDáJ®Uˆ–ñzDœ?˜€Oº"û Æ„°Ã SóH^2ó&Äp¬´‰/¯4r¡¢cg/qìì% :- qѤ%Ç3.!ŽøØ("ÂBÐi5X­6:{Œ4µ´SÓÐLemµ-Ž2Ñ­Š™™Q,œÏâ) ¤ÄŒ±ò^Þ Ú‡áÜ:œÂšÛ}Í"$XŒpËK@)U¨nhæÓýÇÙyð+ÂCCHIŒ%-)žä„Xb£" Ñ£R©0™,´wvQßÔJu}•µ4·u`¶W ë=ïTDvŸŸW÷ñcÊHĆëylV K¦%P\ÙÎù›­W¶q½¡‹šºFGí·;A­’Ѫ˜6.‚i©‘ÌM^z±áºàÄ·#±÷]ããóJÀ<„«=˜¯Z…(¾‘Ì*€ W+´·vÓ~½›+å•w:ƒ€ñ™Æ#òù3{Ï;†¼1gì$‰ˆ-÷eÇ1R,=*»¹ÕÜCUs7õí&Ú»­ô˜mXeµJ U¢%>BGjLiq¡Œ%:L‡Zœôý FL–bÀ31ß‘ƒ Ù<}:Uˆ°!t @ÐÒû»°·™P#&w("¦ë}Å"Vû{`ÈǬp…J’ˆ Õ‘—¡#/#EQ°Ê 6YéÕ†’xŸJ’Ðô•â.˜4à¦Î™IÒÏhy¢lÄÆ—ýeß”p¶8SqOLø¾¸' @_H’„V-¡CdΨ!ÈG„C턃Xù"ý†Š!¶3«~%A ‚!ŸÇÐVÐp`!•K?4A Zà„Tט$‹h ÿIDAT¯*¡ª›Mpò0îÉ ˆa@BP œFnwƒ„`Ûç!ˆ¿àr4†|ÂH.W†À†;ñ¦{ìSÌ{på @¾…„ï¦!Vö 0õ El³Å#¼†àÄU hlžfjPPP¼isèTV?f¸/Ä p›ü«~QWk·…=çk¸^ßåyÊf~ EQ¨o7²ë\ 5­Fçz ¡éùØ‚ŒPF^Â)€r½ÀƒVR(®l§¤º£E&%Ú€A«Ê_Ý&+Šëy÷‹›ì:WƒÉê²$˜€r áÆ$ä Byø‚¾B-øpIÝûV-BõœAïFNc‡™³×[¸ÑØF%‘ro”¹c°ÚdÎÞhaã‘›l=^ÉÍÆn×EÞn$dD¼~è@Äçácô@ƒ‚ð䊀ý?ݳ5»€O€í@ƒëð¦//!”ÔŽÙ®W³dz«ò“ÉKê⊢P^ßÅÞ¢Z>¿XGC»›LOA8†Ÿ"h¹'Ôœs`Ÿ<„N>8äþ+bçå"÷>h÷GFD‘ÏBÁ§ô;º1æ»4ï€ìŽG<ëÚ-ÇßE…hX–“Ȫüd¦Ž‹ ¦ÑŽ EáVS7{‹êØw¡Î}kO<5Àûˆ ˆÁoò©uvÖO#¦¾s`“F  ˜g¤aCìØW軵gN!&þˆ};“¡S!Ò=^¾Ngf|(ä%±"/‰äè`¹¬á„¢(´÷X8x©=…µ\ªj§d£ Øx>gÀàA! A¾,õñ• Q ±$XK¬€ƒÔ"ÌøDq÷£×1þ&„i¼™¥z`5buX i¤’`FF4«ò“Y2-aì¶ÅE˜­2_•5±§°–¯®6a±¹Í|+p'Óë«j})Rø%DiLg¼§G 3C0ô-Äd¿€Xõëúµ“ºï_âam¦¡,Ó±ÀsC°jH¯U±pr«òS˜;!mP?0dȲ¥ªvöÕr ¸žö«ëa‘~³ ØŒïêó¸BBLþõ²p®ÏOtïÑ<„Î?èfĨ"Öww ÏìCLüôåþ _ Ód7°Q4Ùqθpç&²rF2“’Ã}Ú°á^¢(Ô´Ùw¡Ž‚¢Z*šÜT ‚ûýñ œbP}z†-¢5Çz` BG VB˜…™ˆôÞ‚†ÀÈÀ ÄÄ/¡o¥%±Ó¿AêÖåR¾5b—à›ÒÈM:211Œ•ùÉ<œ›HB„>È Š]& ‡KDœ_Tцܟéý 1ñ?ãLï0!1Öë„¡ssP¨Ã—ßû3  BióÛú­D{{ß1äÌ _ÏÄΰ¡#pTV«$füÀ¢)ñ÷NM/`µÉœ*oaOa G¯4¹ëöÅ ðâ!ØÆ ˜ÞaF&b‡èEà|¦BžÀ D€ Ý ‚¶-F¬úý7j;ªÍwƒ®Ç'®!IBFëèSè)T§fÉ´Væ'1+3&¸mèEQ(­é àBû/Ö;›wö®áÜÖ+{¼ TˆìÿõÀ³Q‘s`ãpò1  ‚²+E8õ×H¾{áå}Œ0>ÅpE‚9~ž>k@R¤ž3’X‘›DVbØ=ÔµÙ±Ž½Eu”×÷ëŸ×‚“é=Šo«ðûö¢—€Gé++NGðÓÞÁ½ {6ÆÄÊßÓïèEĶÞfàÖpÝÆHÌ: ¢ZÜzà úT|Ÿ’ÎêüdÊI$.üÞ›w™¬¹"ä»çn´Ð§q®w¦w]øü±­ÈKˆBßî²âÉ~`"÷ž¬Ø.нˆp÷û×N¬ÁIêže˜+4Œä²<…0Kè#+ž?1–UùÉÜŸ‡þ(Øo“ÎÝhaoQ-_”4Òmv[ÔÄàoÂLï(b2‚X‹˜îÎç-!+žPÜ `7¢0G!‚ÎSúÝ…˜ø ½Ë 0_{‚xñ8î!2DÃÒ鉬ÈK"/=jLòö4Ý}„|·¾Ý¼WîÞVDœq4îÑÇP!vˆ^Bä•ĺMD\„–`,†HÓ-DÄûîž CŒ÷‡ ®ž²Ï0Z3LBƒvYqŠëÁq1VÎHfynÒ˜J;nê0q ¸ž=Eµ”Öôk—ÝŽÈÒ{Áôúkœï-B€ÇÄð#¸¶ÜTáL;žÊØI;VŒ~”wõ;ZŠ u7!(ÀÇhÏ,âax ‘vj?`O;^™ŸÌÒé D†hÖ˜,6Ž–6²·°Ž“åÍXûËw!V€aazý ɈÂ3/Ò·ÿ¯AÎ@¤ª€TATB¶ÇùýÞÑ„Xí7ÇÅJŒþ2£bÛGëî¢cèuLŽcåŒ$LŒC@iDz¬páV+ê8XÜ@‡±Ÿ|÷"‚å}Á ßKÈÅYxÆ=í8±4"øËSz7(9ÖíÓtMˆ4ÝMˆxÔI]ûj'â•dãr1aZ–å$òH^2SS#üZV¬( •M=\¨¥ ¨Žj÷4]Lïˆá̈ߠÿ@ <„ðŸBL}'Rpòþ^ŸÐ†Ðë! €{þ¥Œè—´ÁïÔðÝÝþø•JˆÑëp¦;ÊÊö´cÿÛLnë¶p ¸ž‚¢ZŠ+Ûûúv݈í¼MÀ^¼OÓk°ï­Cl;e¢ö´ã~ÀßÒŽD†ž]¾ÛÑïèMœiº%#|ww…?; ^`° jH%ÁÌÌh™‘ÄCÓ óƒ´c³UæÄÕ& Šê8VÖ„Ù]¾kC0½›¦7€ŽØ2\‹œÏ§!+ÎÃÒŽ;“¾ˆ6jÛ)ÙöÚ‹~Iêú³°#¡$\GŸZu­Š§Æ³rF2s²bF¥l¹¬(\®j§ ¨ŽýÅõ´v»-êv¦wsï«|Äo0011Þ/Ðg‡ˆœüÀhõ´§é!F´šî~„±ÿ;ýk/úÁØ1 +®¥i¡cyn+󓘘>"»Š¢P×f¤àBEuÜlì—ŽmOÓ݈HÞ öÜñ Zœ;Dö´c'ÒÛ†9ýŽ d„C_„ô¸ç_*½G6!Hݪº«!! 8kÕ½„3íØìäpÉKby^qáz†Ët-ºÔÀÞ¢:Š*Zo—¦»±÷g?0ƒ­1iÇvùn!Âåoí÷Žjœâ­óÃtÂ@3v„ãL;^FŸ´ã9Y1¬œ‘Ä¢©ñ„ê|÷TXl2gÊ[ØSXËÑÒFŒ–~qþiœiº >»p ¨ÀµCà¶CD(ÂÈG$ñe$؅ج-b 5ÝÞeg#¢ö¢ÏÒtG jìHÃYË>—¡Ó«Y+¬åËËvÙ)BLümÓ{`:N~ 7#;?àæº Q”£ˆÙ=ÙîF„ŒwDÒtG cÑØ‘…ØGþ&b-è—v¼*?™é©¢›‘¢(T4u‹8ÿbý@]vjq*ºŠé½G Büu¯Àm‡ˆ$œeÉì‚c+‰?Ï@iº6D?½÷­´û§ôá÷= ~‡`å×Wz\ˆò­%ã•¿~žò£•“”iã"©Ï{m6"ö¤G_rÄÝŠ †í=ñœc)¡0…§Pø Pï7Þ2BÕÿ¿âã Æt^`;"^w ¸$¡¤ÆZêû ˜yù¯Ðw5 "üÕÛp[ Ñý&¾‚¨°ü6¢b•?ˆƒð1âï!tùVú?ö øgDD`c&ð_±ŽÌÀcnB¹_gät…AŒ"¦ÿ†¨ÂâúPÔ!Â…Œm~ä^ƒX‰ào:pŽ·]¼õEÄ=BZúG?ð!¢dÕÝ÷ƒTD"Há¾ÿ7ˆj÷,þ??@ñLöÁ;IEND®B`‚(0` %}`=7Y[0S|z A|Â]nÿM•¤v’³^¿Ø¯ÐöãðñÿÿÿÿÿñfÿÿÿÿÿÿÿÿÿÿôðÿÿÿÿÿÿÿÿÿÿhˆaÿÿÿÿÿÿÿGwOÿÿÿÿÿÿÿðfˆˆˆaÿÿÿÿÿÿôGwwtðÿÿÿÿÿˆˆˆˆ†oÿÿÿGwwwwtÿÿÿÿöˆˆˆˆˆˆ†ÿÿÿð÷wwwwwwtÿÿÿhˆˆˆˆˆˆˆ†ÿDwwwwwwwwDñhˆˆˆˆˆˆˆˆˆ†wwwwwwwwww@ˆˆˆˆˆˆˆˆˆˆˆGwDGwwwwwwwtöˆˆˆˆ†fhˆˆˆˆGtwtGwwwwtˆˆˆ†½Ý»ˆˆˆˆGtE½ÛWwwwtöˆˆˆkÝÝݸˆˆˆGt Û½Úwwwtˆˆˆ½ÝÛݸˆˆˆGtP»»Ýwwwtöˆˆˆ½Û±½ÛˆˆˆGt[»Ý§wwtˆˆˆÝÛµÝÛˆˆˆGtµÝ·wwtöˆˆˆ½ÝµÝÛˆˆˆGp[ݧwwtˆˆˆ½ÝÛݸˆˆˆGp¾P ÝwwwtöˆˆˆkÝÝÛ¸ˆˆˆGp îîåºwwwtˆˆˆ†»Û¶ˆˆˆˆGpîîîPwwwtöˆˆˆˆ†fˆˆˆˆˆGpîîî°wwwtˆˆˆˆˆˆˆˆˆˆˆGpîîîëwwwtñhˆˆˆˆˆˆˆˆˆf@îîîîPGww@ÿhˆˆˆˆˆˆˆ†3#îîîî wDÿÿöhˆˆˆˆˆ†3""!îîîíÁDÿÿÿÿÿˆˆˆˆ†3"""! îîîíÅÿÿÿÿÿðöˆˆ†c""""! ÎîîÜÊÿÿÿÿÿÿÿÿfˆc2""""#ÌÝÌÌÌPÿÿÿÿÿÿÿð2""""""¬ÌÌÌÌ ÿÿÿÿÿÿÿÿÿ"""""""0\ÌÌÌÌÀÿÿÿÿÿÿÿÿò""""#3"! ÌÌÌÌÅÿÿÿÿÿÿÿÿ"""#k»c!ÌÌÌÌÊÿÿÿÿÿÿÿÿò""";ÝÝÛ3ÌÌÌÌÌPÿÿÿÿÿÿÿÿ"""mٙݲ\ÌÌÌÌPÿÿÿÿÿÿÿò"""½ÙÙÝÓ0 ÌÌÌÌ ÿÿÿÿÿÿÿÿ""#ÝÙ™ÝÓ! ÌÌÌÌÅÿÿÿÿÿÿÿò"""ÝÙÙÝÓ#ÌÌÌÌÊÿÿÿÿÿÿÿ"""½Ù™Ý²"¬ÌÌÌÌÿÿÿÿÿÿò""";ÝÝÝb"0\ÌÌÌÌPÿÿÿÿÿÿÿ"""#½Ý¶""0 ÌÌÌÌ ÿÿÿÿÿÿò""""332""!ÌÌÌÌÅÿÿÿÿÿÿ"""""""""#ÌÌÌÌÅÿÿÿÿÿÿó""""""""""¬ÌÌÌÊÿÿÿÿÿÿÿ""""""""#\ÌÌÌÌÿÿÿÿÿÿÿð""""""#ðð ÌÌÌÅÿÿÿÿÿÿÿÿ3""""#ÿÌÌÌ¥ÿÿÿÿÿÿÿÿÿñò""#ñÿÿÿðZÊ¥Pÿÿÿÿÿÿÿÿÿÿÿ2"1ÿÿÿPÿÿÿÿÿÿÿÿÿÿÿñ1ÿÿÿÿÿÿððÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿãÿÿëÿÿÀÿÿþ?þ¿ôðøèÀÀ€€€€€€€€Àøüþ€?ÿÀÿà?ÿðÿøÿðÿøÿðÿøÿðÿøÿðÿøÿðÿøÿðÿøÿüÿþ ÿÿ@pÿÿè øÿÿððÿÿþ?þ/ÿÿÿÿ_( @ %}`=7Y[0S|z A|Â]nÿM•¤v’³^¿Ø¯ÐöãðñÿÿÿöfÿÿÿÿÿÿôôÿÿÿÿÿhˆfÿÿÿwwOÿÿÿñhˆˆˆfÿÿôwwww@ÿÿhˆˆˆˆˆoGwwwwwOöˆˆˆˆˆˆ†÷twwwwwtˆˆˆ¶ˆˆˆG@wwwwwøˆˆ½Ý¸ˆˆG@]ÛwwwˆˆÝ»ÛˆˆG@[½×wwøˆ‹Û[ÛˆˆG@»×wwˆ‹Ý»ÛˆˆG@P[×wwøˆˆ½Ý؈ˆG@»å §wwˆˆ‹»¸ˆˆGEîîPGwwøˆˆˆˆˆˆˆGîîàGwwhˆˆˆˆˆ†îîëwtÿöˆˆˆˆ†3#îîítÿÿÿfˆˆ†3""îîìPOÿÿÿÿöˆc"""0ÍíÌ ÿÿÿÿÿÿc""""0¬ÌÌÅÿÿÿÿÿò""""!\ÌÌÊÿÿÿÿÿ"";»3 ÌÌÌÿÿÿÿÿò"#½³ÌÌÌPÿÿÿÿÿ"&Ø™Û0¬ÌÌ ÿÿÿÿò"&Ù™Û!\ÌÌÅÿÿÿÿÿ"#Ý™Ö# ÌÌÅÿÿÿÿò""mݲ#ÌÌÊÿÿÿÿ""#3""ÌÌÌPÿÿÿÿó""""""0¬ÌÌ ÿÿÿÿ2"""""0\ÌÌ ÿÿÿÿÿóò"""ñð ÌÌPÿÿÿÿÿÿ2"3ÿª¥ÿÿÿÿÿÿÿó3ÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?þ¿ôðààÀ@€€€€€€àðþÿÿ€ÿÿ€ÿÿ€ÿÿ€ÿÿ€ÿ@ÿè ÿôÿþ?ƒÿÿ×(  %}`=7Y[0S|z A|Â]nÿM•¤v’³^¿Ø¯Ðöãðñÿöˆÿÿ÷wÿÿˆˆ†Owwwøˆ¸ˆDGwwh»ˆDºwø»ˆDZwhˆ»ˆDîTwöˆˆ†`îäwÿhˆ"#ÞÕOÿÿò"#¬Êÿÿÿ2#flÌ_ÿÿò+›:Ì ÿÿ2+‹6Ì¡ÿÿò"c#¬Åÿÿ""#\Åÿÿÿó#ÿõUÿÿÿÿ?ÿããÀ@€€€Àøðøðøôþ8ÿu(0`%+ 3;ADLT](Xk ds  Gwo%€, #, k e3v%-L&<*+:***90!&+16@07;.EG444!0PN1Z#*n&9>0:C6==$,~9X4>GA?@Z-BFDM` Agd7KN@IX%GomJON8CŠc*%Mvt)T`c‹3{E2eš8e˜;n{Aox@h”5f¡gpqWgŸ3j¦6u‡G~f8o¬@r©cxŒ@}ƒ³¸³ŽQ!!!–°›››ª¬†ÐÐÐÐÐÐÐÐÐÐÐÐÐÐ!!!!!!!!>>>& !!!! j¿ ›››¨§ 5ÐÐÐÐÐÐÐÐÐÐÐÐ!!!!!!!!!! !!!!!!!!-¯Â°›››¡¨¬dÐÐÐÐÐÐÐÐÐÐÐÐÐ !!!!!!!!!!!!!!!!!!wµ››››¯¬ÐÐÐÐÐÐÐÐÐÐÐÐÐÐ!!!!!!!!!!!!!!! ?¹¿£›››¡§—ÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐ  !!!!!!!!!!!Ðе›››¡¯iÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐ !!!!!!!!  ÐÐÐÐVÁ¿£›››¢?ÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐ!!!!!ÐÐÐÐÐÐÐÐ\•ª–‹jLÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐ! ÐÐÐÐÐÐÐ?-ÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐ ÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÿãÿÿëÿÿÀÿÿþ?þ¿ôðøèÀÀ€€€€€€€€Àøüþ€?ÿÀÿà?ÿðÿøÿðÿøÿðÿøÿðÿøÿðÿøÿðÿøÿðÿøÿüÿþ ÿÿ@pÿÿè øÿÿððÿÿþ?þ/ÿÿÿÿ_( @%+ 3;ADL]Xk ds wo%€1, #, e3%-*+:***@ g07.EG444!0P077N,o%<<0:C$,~9X H+Z-BFDM` Ag[d?u@IX%GomJON8CŠ@O_%Mvt3UY)T`:Dšyq*R‚~X]]:^e€+Wˆ t1|Nb`Q_q0cpIWž2^0ix3{E2ešAoxgpq-†@WgŸ3j¦Ve«6u‡8o¬:‹R@r©cxŒY}@}TH³³³³³³³³³³³³³3³*³³³³³³³³³³³Tqtt[>³³³³³³³ .@SSM3³³³³³³³³-HltttttqT8³³³³³*:SSSSSSD3³³³³C^tttttttttlH³³3MSSSSSSSSS=.³³Ottttttttttttt^³DP:@SSSSSSSSSS3 cttttnhoofttttq9S.:NU]NSSSSS@³ctttny”¥›„htttq9S(jŸ›‹gSSSS@ ctttsŸ£|vªyqttq9P%/B|v•”VSSS@³ctttyª‹Xpª„qttq9P#)!6i‚¥gSSS@ ctttyªªvpª„qttq9P#/EG‹£aSSS@³cttth‹ª£››stttq9M/r°`|ISSS@ ctttts~‹€yttttq9MQ²²±¢E'?SSSS@³ctttttllltttttq9M`±²±°š2%MSSS@C^tttttttttttfA.`°²²±¯x:SS=*³³³HftttttttqO+`°±²±¯ž,(D3³³³³³³8Oqtttt[4W¬±²²® Y³³³³³³³³³³[t^A &ž­¬«ž–}³³³³³³³³³³³³1$k¨™ŠŠ––<³³³³³³³³³³³³;¡œŠŠŒ–e³³³³³³³³³³³ 7mm7{§ŠŠ–†"³³³³³³³³³³³³0‡Ž“ˆ7J¨œŠŠ’–K³³³³³³³³³³ Zª‰ƒ‰¦b …¡ŠŠŒ–u³³³³³³³³³³dªƒzzªm_©˜ŠŠ–,³³³³³³³³³³ L¥“ƒŽªZ '™œŠŠŒ–\³³³³³³³³³³bŸ¦£mk§‘ŠŒ—}³³³³³³³³ 7F7 5¤œŠŠ’–<³³³³³³³³³{§ŒŠŒ–e³³³³³³³³³J¨˜ŠŠ—u³³³³³³³³³³³ ³³ ³…¡ŠŠR³³³³³³³³³³³³³ ³³³;w…kR³³³³³³³³³³³³³³³³ ³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³þ?þ¿ôðààÀ@€€€€€€àðþÿÿ€ÿÿ€ÿÿ€ÿÿ€ÿÿ€ÿ@ÿè ÿôÿþ?ƒÿÿ×( % DLTds Gwo€, k3L:U0!6†07! 4HN!#‰&9>H6==9XZDM5ˆ` Agd7KN#Y4mJON*Mc8CŠ@O_t`?:Dšy&Xe€+Wˆ t1|0cp6dk,Y™.`”2eš;n{5f¡gpq3j¦Ve«6u‡8o¬:‹RG<" _dc6eeeeee D`YLeeeeee /?+^TU!eeeeee QSQIZX@eeee KWK*]TPeeeee / LX[1eeeee 7]U6eeeeeee eee;;eeeeeeeeeeeeeããÀ@€€€Àøðøðøôþ8ÿu(0` L!1ª7Uú2LÑs* ‡5å7ð–84‘<\í4fÿAÃÿ=x¸ÿ&Ksþ'=·Zo0ÌVÿ~ÿÿ]ÿ5Ú|x3PÕ.ZŠÿ@~ÂÿAÃÿAÃÿAÃÿAÃÿ7m§ÿ!@cõ (žAV%³Iýwÿ€ÿ€ÿ€ÿ€ÿ{ÿPÿ+Àc _*A¼'Mwþ>yºÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿ1`”ÿ8Vâ …'=š@òlÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿrÿDù§JE+£"Cg÷9o«ÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿ?|¿ÿ+Tÿ.HÉl# 7Þ_ÿÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿfÿ;ëŽ1, ‰9Xç2c˜ÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿ`ñÍGûtÿ€ÿÿzÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿyÿMþ°S(OzúAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿ:r¯ÿ :ÿ}ÿ€ÿuÿ<ÿ#ÿCÿ~ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿÿ9çS*S€úAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿ6i¢ÿ:bŽÿ@cŠÿ=cŒÿ5c–ÿ?{½ÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿ:r°ÿ ;ÿ}ÿ€ÿGÿÿÿÿ@ÿ€ÿvÿ dÿc*ÿ d,ÿbÿqÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿÿ;çS*S€úAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿ>g•ÿm‰¨ÿš¶ÕÿªÉëÿ¥Âãÿ~—³ÿTwŸÿ8oªÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿ:r°ÿ ;ÿ}ÿ~ÿ2ÿÿÿÿÿ;ÿI~eÿˆ£»ÿ¨Æèÿ©ÈêÿŽ©ÅÿR‚qÿ`ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿÿ;çS*S€úAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿ=išÿ}˜·ÿ¹Úÿÿ¹Úÿÿ¹Úÿÿ ¼Ýÿ¹Úÿÿ ½ÝÿZ¨ÿ?{½ÿAÃÿAÃÿAÃÿAÃÿAÃÿ:r°ÿ ;ÿ}ÿ~ÿ-ÿÿ+++ÿ!!!ÿÿÿƒš´ÿ¹ÚÿÿªÇÿ’­Êÿ¹Úÿÿ¸Ùþÿc‰ÿgÿ€ÿ€ÿ€ÿ€ÿ€ÿÿ;çS*S€úAÃÿAÃÿAÃÿAÃÿAÃÿ=x¸ÿk³ÿ¹Úÿÿ¹Úÿÿ§ÅçÿŸ¼Üÿcu‰ÿ¡¾Þÿ¹Úÿÿ¨Çÿ?o£ÿAÃÿAÃÿAÃÿAÃÿAÃÿ:r°ÿ ;ÿ}ÿ}ÿ*ÿÿ)()ÿ@@@ÿÿÿ3=Gÿl•ÿdvŠÿj}“ÿ}”­ÿ¹Úÿÿ±Ñõÿ;€Rÿÿ€ÿ€ÿ€ÿ€ÿÿ;çS*S€úAÃÿAÃÿAÃÿAÃÿAÃÿ?s­ÿ­Îÿ¹Úÿÿ°Ïóÿew‹ÿgzŽÿ$+2ÿŠ£¿ÿ¸Ùþÿ²ÒõÿRz§ÿAÃÿAÃÿAÃÿAÃÿAÃÿ:r°ÿ ;ÿ}ÿ|ÿ&ÿÿÿA@Aÿ...ÿ ÿÿ?JWÿuŠ¢ÿn‚˜ÿgyŽÿ¸Ùýÿ¹Úÿÿh–ÿxÿ€ÿ€ÿ€ÿ€ÿÿ;çS*S€úAÃÿAÃÿAÃÿAÃÿAÃÿBu­ÿœ»Ýÿ¹Úÿÿ¹Úÿÿ•¯ÿq†œÿSbsÿ¬Ëîÿ¹Úÿÿ¶ÖûÿX©ÿ@~ÂÿAÃÿAÃÿAÃÿAÃÿ:r°ÿ ;ÿ}ÿ{ÿ#ÿÿÿ,+,ÿ>=>ÿÿÿÿ6?Jÿr‡žÿLZjÿµÖúÿ¹Úÿÿy£§ÿwÿ€ÿ€ÿ€ÿ€ÿÿ;çS*S€úAÃÿAÃÿAÃÿAÃÿAÃÿ>t®ÿ‰§Èÿ¹Úÿÿ¹Úÿÿ¸ÙþÿtˆŸÿ6@Kÿ­Ìîÿ¹Úÿÿ¯ÏòÿPy§ÿAÃÿAÃÿAÃÿAÃÿAÃÿ:r°ÿ ;ÿ}ÿzÿ ÿÿÿÿ@?@ÿ)))ÿMSRÿÿ ÿSbsÿm—ÿ¸Ùþÿ¹Úÿÿb’‡ÿxÿ€ÿ€ÿ€ÿ€ÿÿ;çS*S€úAÃÿAÃÿAÃÿAÃÿAÃÿ>z¼ÿdˆ¯ÿ¸Ùýÿ¹Úÿÿ¹Úÿÿ©Çéÿoƒ™ÿ­Ìïÿ¹ÚÿÿƒŸ¾ÿ=n¥ÿAÃÿAÃÿAÃÿAÃÿAÃÿ:r°ÿ ;ÿ}ÿyÿÿÿ233ÿ ÿIIIÿ›  ÿè÷öÿmuuÿÿÿoƒ™ÿ¹Úÿÿ©Çéÿ1zDÿ€ÿ€ÿ€ÿ€ÿ€ÿÿ;çS*S€úAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿ7e˜ÿw”´ÿ¸Ùþÿ¹Úÿÿ¹Úÿÿ²Òöÿ¹Úÿÿ§ÃÿPw¢ÿ@~ÂÿAÃÿAÃÿAÃÿAÃÿAÃÿ:r°ÿ ;ÿ}ÿxÿÿ ÿ°¶µÿÖÚÚÿÞààÿôûûÿìùøÿÒâáÿRZYÿÿ3yºÿAÃÿAÃÿAÃÿAÃÿ1`“ÿ1YÿEÿkÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿyÿ&ÿÿI|ƒÿ˜êöÿÍó÷ÿïùùÿ÷üüÿõúûÿÞðôÿ·ßèÿuÉáÿ]ÃàÿJš°ÿÿæ2w3OÔ-Y‰ÿ@~Âÿ7l§ÿ>dÿGÿ^ÿÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿLÿÿ&68ÿpÐßÿ…ç÷ÿ®êóÿ¤Õáÿ„Æ×ÿg¸ÎÿV°ÉÿY¹Óÿ]ÃàÿZ½Ùÿ BKÿþx3)@ô LÿQÿ|ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿqÿÿÿS™ÿnä÷ÿlÜïÿW·ÏÿS¯ÈÿS¯ÈÿS¯ÈÿW³Íÿ]ÁÝÿ]Ãàÿ9wˆÿÿ¿¨aÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ@ÿÿ2KNÿsÜíÿmãöÿ^ÆÜÿS¯ÈÿS¯ÈÿS¯ÈÿT¯Èÿ\½Øÿ]ÃàÿRªÃÿ %ÿóL kÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿvÿhÿ gÿ hÿrÿ€ÿgÿÿ ÿ]¥°ÿnä÷ÿfÕêÿT²ËÿS¯ÈÿS¯ÈÿS¯ÈÿZ¸Ñÿ]Ãßÿ\Âßÿ(T`ÿÿ‘ kÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ cÿKX‹ÿ}“³ÿ“­Ìÿ…¼ÿWf”ÿiÿÿ4ÿÿ<`eÿsãõÿláõÿ[¿×ÿS¯ÈÿS¯ÈÿS¯ÈÿW²Ëÿ`ÁÜÿ]ÃàÿBŠžÿ ÿÖ! kÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿjÿp…¬ÿ¸Øýÿ·×ÿÿ¥Ãÿÿ±Ñÿÿ¸Ùþÿ–´ÿ!'wÿ[ÿÿÿgºÇÿnä÷ÿcÏäÿS¯ÈÿS¯ÈÿS¯ÈÿS¯Èÿ^¼Õÿ]ÃàÿW¶Ñÿ29ÿüe kÿ€ÿ€ÿ€ÿ€ÿ€ÿxÿVfžÿ¸ÙþÿµÕÿÿfxÿÿ\lÿÿgyÿÿ©Çÿÿ¹Úÿÿl€­ÿlÿ)ÿÿFu|ÿpäöÿkÞñÿX¹ÑÿS¯ÈÿS¯ÈÿS¯Èÿ\¶Ïÿ`Ãßÿ]Ãàÿ3hxÿÿª kÿ€ÿ€ÿ€ÿ€ÿ€ÿ vÿ¨Íÿ¹ÚÿÿŸ¼ÿÿQ`ÿÿ·Øÿÿ]nÿÿŒ¥ÿÿ¹Úÿÿ¥Ãæÿ#|ÿOÿÿ"/1ÿoÌÛÿnä÷ÿ`ÈÞÿS¯ÈÿS¯ÈÿS¯ÈÿV±Éÿa¿Úÿ]ÃàÿLžµÿ ÿé7 kÿ€ÿ€ÿ€ÿ€ÿ€ÿ|ÿ¤Âåÿ¹Úÿÿ·ØÿÿSaÿÿVeÿÿM[ÿÿªÉÿÿ¹Úÿÿ±Ñôÿ,4„ÿtÿÿÿPŠ“ÿnäöÿhØìÿU³ÌÿS¯ÈÿS¯ÈÿS¯Èÿ`ºÓÿ_Ãàÿ[¾Úÿ"EOÿÿ} kÿ€ÿ€ÿ€ÿ€ÿ€ÿyÿš¶Úÿ¹Úÿÿ¯Îÿÿarÿÿ¦ÿÿXhÿÿ ½ÿÿ¹Úÿÿ¬Ëîÿ%+ÿ€ÿDÿÿ/EHÿrÙéÿmâõÿ\ÂØÿS¯ÈÿS¯ÈÿS¯Èÿ\´ÍÿdÃÞÿ]Ãàÿ;{ÿÿÄ kÿ€ÿ€ÿ€ÿ€ÿ€ÿtÿi|«ÿ¹Úÿÿ·ØÿÿgzÿÿYiÿÿcuÿÿ®Íÿÿ¹Úÿÿ˜¼ÿ rÿ€ÿjÿÿ ÿZŸ©ÿnä÷ÿdÑæÿS°ÉÿS¯ÈÿS¯ÈÿT¯Èÿb¾×ÿ]ÃàÿR¬Æÿ#(ÿõP kÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ%,{ÿŠ£¿ÿ¹Úÿÿ·×ÿÿ ¼ÿÿ°Ïÿÿ¹ÚÿÿŸ¼Üÿ;EŠÿÿ€ÿÿ8ÿÿ9Z_ÿsáòÿkßóÿY»ÓÿS¯ÈÿS¯ÈÿS¯Èÿa¹ÑÿcÄàÿ]Âßÿ*Xeÿÿ– kÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿÿ)0yÿr†¨ÿ¤Âãÿ°Ïòÿ©Çéÿ}“±ÿ9C„ÿpÿ€ÿ€ÿ€ÿ_ÿ ÿÿe´Áÿnä÷ÿaËàÿS¯ÈÿS¯ÈÿS¯ÈÿZ²ÊÿgÃÜÿ]ÃàÿD¢ÿ ÿÙ% kÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿÿfÿ!iÿ*1mÿ &jÿ dÿ|ÿ€ÿ€ÿ€ÿ€ÿ|ÿ,ÿÿCouÿqäöÿiÚîÿVµÍÿS¯ÈÿS¯ÈÿS¯Èÿe½Õÿ^ÃàÿX¸Ôÿ6>ÿýj kÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ~ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿSÿÿ*+ÿnÈÖÿmãöÿ]ÄÛÿS¯ÈÿS¯ÈÿS¯Èÿa·ÎÿgÅßÿ]Ãàÿ3k{ÿÿ®v=ólÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿvÿÿÿM„ŒÿnäöÿeÓèÿT±ÊÿS¯ÈÿS¯ÈÿW°ÉÿiÁÚÿ]ÃàÿM¡¸ÿ ÿêW&´Jþwÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿnÿAõ Ìÿ,?BÿqÖåÿlàôÿZ½ÕÿS¯ÈÿS¯ÈÿS¯Èÿg¼ÓÿcÅàÿS¨Àÿÿðp0ÍVÿ~ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿyÿLþ'¹[*ÔÿW™£ÿnä÷ÿbÍâÿS¯ÈÿS¯ÈÿS¯Èÿ^µÌÿmÅÞÿ>qÿÿ·+ ˆ9æcÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ~ÿXÿ3Ñt‡ÿ6TXÿzÞîÿjÜðÿW·ÏÿS¯ÈÿS¯ÈÿS¯Èÿt¸Êÿ);?ÿþnD¡Böoÿ€ÿ€ÿ€ÿ€ÿ€ÿeÿ;é09æÿ@aeÿe«¶ÿeÂ×ÿY¨½ÿV“¤ÿEo{ÿ8JOÿÿÖ%](»Mþyÿ€ÿqÿCø¦H}íÿÿ':?ÿ!-0ÿÿÿþïww3Ô@þ*¿a G›éþ÷Ü®y?2W:bN"ÿãÿÿÃÿÿ€ÿÿÿÿ?þüøðàÀÀ€€€€€€€€€€€€€€€àðüÿ?ÿÀ?ÿàÿðÿðÿðÿðÿðÿðÿðÿðÿðÿðÿðÿðÿðÿøÿüÿÿ`ÿÿ€àÿÿàðÿÿøøÿÿþ?üÿÿÿÿÿÿ( @  V"Bf³+Uƒþ%KsÌ -o(}NÚU÷>¤G<8Wš+U‚ò>{½ÿAÃÿAÃÿ0^þ"Bg³ V cGÁeÿ€ÿ€ÿxÿRè3‹.#+A€(NxÞ:s°ÿAÃÿAÃÿAÃÿAÃÿAÃÿ?{½ÿ+U‚ó8Wš=J@§[ùÿ€ÿ€ÿ€ÿ€ÿ€ÿmÿLÐ!s %g$HoÄ4fÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿ;s±ÿ(NxÞ+CC4ŽRëyÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ`ÿD·Z+X+Sù@~ÂÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿ3dšÿ <'élÿ|ÿYÿaÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ}ÿMé.c6k¥ýAÃÿAÃÿAÃÿAÃÿ=w·ÿEr¤ÿOv¡ÿIs¢ÿ9n©ÿAÃÿAÃÿAÃÿAÃÿ=y¹ÿG-ÿ~ÿIÿÿÿXÿp ÿ'v6ÿ.w?ÿqÿÿ€ÿ€ÿ€ÿ€ÿdó.c6k¥ýAÃÿAÃÿAÃÿq©ÿAÃÿAÃÿAÃÿ=y¹ÿG-ÿ}ÿ6ÿ ÿÿÿ[~ÿ¤Âãÿ¡¾Þÿ’°ÉÿD^ÿÿ€ÿ€ÿ€ÿdó.c6k¥ýAÃÿAÃÿAÃÿR€³ÿ¥Ãåÿ­Ëîÿ~”­ÿv‹£ÿ¸Ùþÿj‘½ÿ@}ÀÿAÃÿAÃÿ=y¹ÿG-ÿ|ÿ0ÿÿ212ÿ ÿ>IVÿ–¯ÿwŒ¤ÿŸ»Ûÿ–¶Îÿ{$ÿ€ÿ€ÿ€ÿdó.c6k¥ýAÃÿAÃÿ@~Âÿg¼ÿ¹Úÿÿ–±ÏÿRaqÿj}’ÿ¸Ùþÿ‚£Èÿ?y¸ÿAÃÿAÃÿ=y¹ÿG-ÿ|ÿ,ÿÿ///ÿ$%%ÿ ÿ1:DÿgyŽÿ‡ŸºÿµÕúÿ6ŠKÿ€ÿ€ÿ€ÿdó.c6k¥ýAÃÿAÃÿAÃÿa‹ºÿ·×üÿ¹Úÿÿx¥ÿm—ÿ¹ÚÿÿzžÆÿ?z»ÿAÃÿAÃÿ=y¹ÿG-ÿ|ÿ*ÿÿÿ323ÿJNNÿÿBN\ÿ•¯Íÿ°Ðóÿ.†?ÿ€ÿ€ÿ€ÿdó.c6k¥ýAÃÿAÃÿAÃÿEw­ÿ®Òÿ¹Úÿÿ¯Ïòÿ¡¾ßÿŸ¼ÜÿY†·ÿAÃÿAÃÿAÃÿ=y¹ÿG-ÿ{ÿ(ÿ455ÿ‚……ÿ¬¯¯ÿê÷÷ÿfnmÿÿ•¯ÿpŸ›ÿv ÿ€ÿ€ÿ€ÿdó.c6k¥ýAÃÿAÃÿAÃÿAÃÿM|®ÿs“¸ÿ­Îÿz˜ºÿYƒ²ÿ@~ÂÿAÃÿAÃÿAÃÿ=y¹ÿG-ÿyÿ#ÿ\``ÿôùùÿùüüÿïúùÿËÚÚÿKRRÿ'&ÿ[ÿ€ÿ€ÿ€ÿ€ÿdó.c6j¤ýAÃÿAÃÿAÃÿAÃÿAÃÿ;t²ÿ?t¯ÿ~'NwÛ:q®ÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿ>z¼ÿ(Oÿ!fÿaÿÿYÿÿgqpÿè÷÷ÿóûúÿúýýÿòúúÿæ÷öÿ‹ÈÖÿ-3ÿ7ÿkÿKÍp97V—*Sñ>z¼ÿAÃÿAÃÿAÃÿAÃÿ/\Žÿ.mÿ[ÿ}ÿ€ÿ€ÿxÿÿPabÿÎóöÿîùùÿøüüÿöüûÿÞóõÿyÍäÿ0drÿþ%* S!Ae°/\ýAÃÿ5i¡ÿ:tÿ [ÿwÿ€ÿ€ÿ€ÿ€ÿ€ÿ;ÿ,.ÿ‚ÎÙÿ½ñøÿÏéïÿ¯Úåÿ‰ÊÛÿ\¿ÛÿI™°ÿûc*k0OØ aÿkÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿbÿ ÿJ†ÿráôÿdÂ×ÿS¯ÈÿS¯ÈÿYºÕÿZ½Ùÿ@Iÿ«0“xÿ€ÿ€ÿ€ÿ€ÿ€ÿwÿtÿuÿ}ÿ/ÿ)AEÿm×èÿbÌâÿS¯ÈÿS¯ÈÿXµÎÿ]ÂÞÿ9v‡ÿè51xÿ€ÿ€ÿ€ÿ€ÿ$*ƒÿar¦ÿ€—¼ÿfx©ÿ*1ÿVÿ ÿT›¦ÿiÛïÿW¶ÎÿS¯ÈÿU°Éÿ]¾ÙÿQ©Âÿ$ÿ|1xÿ€ÿ€ÿ€ÿ~ÿ‡ŸËÿœ¸ÿÿŠ£ÿÿ“®ÿÿ¦Æÿ&-}ÿ$ÿ2V[ÿoßñÿ^ÆÜÿS¯ÈÿS¯ÈÿZ¹Óÿ^Ãàÿ(TaÿÃ1xÿ€ÿ€ÿÿKX ÿ¸Ùþÿ„œÿÿyŽÿÿ‚™ÿÿ¶Öÿÿ^o­ÿGÿÿ^°½ÿfÕéÿT²ÊÿS¯ÈÿX³Ìÿ`ÂÝÿAˆœÿ õO1xÿ€ÿ€ÿ~ÿVe¥ÿ¹Úÿÿ}“ÿÿj}ÿÿm€ÿÿ¹Úÿÿm€¶ÿnÿÿÿ&(ÿgÄÓÿcÎäÿS¯ÈÿS¯Èÿ\·Ðÿ`Ãßÿ1gvÿÙ$1xÿ€ÿ€ÿ€ÿrÿZkªÿ¦Äæÿ¬Ëúÿ«Êìÿew­ÿpÿ€ÿeÿ ÿF€ˆÿjÝñÿX¸ÐÿS¯ÈÿX²ÊÿcÁÜÿK´ÿ ýi1xÿ€ÿ€ÿ€ÿ€ÿsÿ"({ÿ6@‡ÿ'.~ÿnÿ€ÿ€ÿ~ÿ3ÿ%;>ÿlÓãÿ_ÈÞÿS¯ÈÿS¯Èÿ`¼Õÿ[¾Úÿ CMÿ®,eÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿÿ€ÿ€ÿ€ÿ€ÿ€ÿYÿ ÿR– ÿg×ìÿU³ÌÿS¯Èÿ]¶ÎÿcÃÞÿ:z‹ÿë",ƒOáuÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿnÿKÕÙ.OTÿnÜíÿ\ÁØÿS¯ÈÿV°ÉÿeÀÙÿF¡ÿ ù?:œVô|ÿ€ÿ€ÿ€ÿ€ÿ€ÿyÿRë4Ž1c û\©¶ÿdÑæÿS°ÉÿS¯Èÿf¼Óÿ5[eÿÉYC¶_þ€ÿ€ÿÿZù@§JÃ+CGÿS“žÿY¦¹ÿH€ÿ8[dÿÿ}qKÎ[ÿGÀc O®öþïÍ‹,T Ka<þ?þ?øøààÀ€€€€€€€€€€€àðüÿÿÿÿÿÿÿÿÿÿ€ÿ€ÿàÿøÿþ?ÿÿÿÿ(  #Fl^2b—»;s±ÿ3c›Ç&MwiNreÏsþ_µ@W "-/]¡7m©÷AÃÿAÃÿAÃÿ9q®ü0`”® 6`¶nÿ€ÿ€ÿ€ÿló]›#Ekk=y¹ÿAÃÿNƒ¾ÿ_Œ¾ÿN€¶ÿAÃÿ?}¿ÿ^<ûLÿ6ÿr*ÿ7‡Lÿ|ÿ€ÿzû"Bgo=y¹ÿE€¿ÿŒ³Þÿ§Ãÿƒ£ÆÿI€½ÿ?}¿ÿa?ÿ<ÿÿ;KPÿ‹¤Àÿj¤’ÿ~ÿzû"Bgo=y¹ÿG½ÿ—¹àÿ¨Åÿ©ÉÿMƒ¿ÿ?}¿ÿa?ÿ7ÿ:;;ÿKOOÿDQ_ÿ|°¬ÿ ‚ÿzû"Bgo=y¹ÿAÃÿa‘ÅÿyžÇÿcÀÿAÃÿ?}¿ÿ`?ÿHÿ³··ÿêôôÿjvvÿ$_2ÿ€ÿzû5UH3e›Ï?{½ÿAÃÿ@|½ÿAÃÿ@~Âÿ-Y™ÿ 3Iÿ/ÿÊÓÓÿôûûÿ¾ÐÑÿ%S5ÿqÿeÇ --,X†Š4h çAÃÿ3d ÿ6‡ÿoÿ~ÿIÿ©ÇÊÿëöøÿ¸ãíÿ6grÿ-¢'3PF4m tÿ}ÿ€ÿ|ÿQÿG|ˆÿ|Ñãÿc¹ÐÿH–¬ÿ "’J~ÿ€ÿ9D›ÿWg°ÿIžÿ!'‡ÿ€ÿ IÿPœªÿV¶Îÿ]ºÔÿ+[ié%Da°rý€ÿ€ÿ€ÿqúAÀ5dló`ÅÛÿY´Íÿ5guþLkdÈwÿdÁIe"#–:ozý;p~û%;BÄ'FS YW*ã €€€€€Àðððððøþ0ÿÿpioneers-15.5/editor/gtk/game-buildings.c0000644000175000017500000000435311656052403015326 00000000000000#include "config.h" #include "game.h" #include #include #include #include "game-buildings.h" static const gchar *building_names[NUM_BUILD_TYPES] = { NULL, N_("Road"), N_("Bridge"), N_("Ship"), N_("Settlement"), N_("City"), N_("City wall") }; static void game_buildings_init(GameBuildings * gb); /* Register the class */ GType game_buildings_get_type(void) { static GType gb_type = 0; if (!gb_type) { static const GTypeInfo gb_info = { sizeof(GameBuildingsClass), NULL, /* base_init */ NULL, /* base_finalize */ NULL, /* class init */ NULL, /* class_finalize */ NULL, /* class_data */ sizeof(GameBuildings), 0, (GInstanceInitFunc) game_buildings_init, NULL }; gb_type = g_type_register_static(GTK_TYPE_TABLE, "GameBuildings", &gb_info, 0); } return gb_type; } /* Build the composite widget */ static void game_buildings_init(GameBuildings * gb) { GtkWidget *label; GtkWidget *spin; GtkAdjustment *adjustment; guint row; gtk_table_resize(GTK_TABLE(gb), NUM_BUILD_TYPES - 1, 2); gtk_table_set_row_spacings(GTK_TABLE(gb), 3); gtk_table_set_col_spacings(GTK_TABLE(gb), 5); gtk_table_set_homogeneous(GTK_TABLE(gb), TRUE); for (row = 1; row < NUM_BUILD_TYPES; row++) { label = gtk_label_new(gettext(building_names[row])); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); gtk_table_attach_defaults(GTK_TABLE(gb), label, 0, 1, row - 1, row); adjustment = GTK_ADJUSTMENT(gtk_adjustment_new(0, 0, 100, 1, 5, 0)); spin = gtk_spin_button_new(GTK_ADJUSTMENT(adjustment), 1, 0); gtk_entry_set_alignment(GTK_ENTRY(spin), 1.0); gtk_table_attach_defaults(GTK_TABLE(gb), spin, 1, 2, row - 1, row); gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(spin), TRUE); gb->num_buildings[row] = GTK_SPIN_BUTTON(spin); } } /* Create a new instance of the widget */ GtkWidget *game_buildings_new(void) { return GTK_WIDGET(g_object_new(game_buildings_get_type(), NULL)); } void game_buildings_set_num_buildings(GameBuildings * gb, gint type, gint num) { gtk_spin_button_set_value(gb->num_buildings[type], num); } gint game_buildings_get_num_buildings(GameBuildings * gb, gint type) { return gtk_spin_button_get_value_as_int(gb->num_buildings[type]); } pioneers-15.5/editor/gtk/game-devcards.h0000644000175000017500000000216711345354413015150 00000000000000#ifndef __GAMEDEVCARDS_H__ #define __GAMEDEVCARDS_H__ #include #include #include #include "cards.h" G_BEGIN_DECLS #define GAMEDEVCARDS_TYPE (game_devcards_get_type ()) #define GAMEDEVCARDS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMEDEVCARDS_TYPE, GameDevCards)) #define GAMEDEVCARDS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMEDEVCARDS_TYPE, GameDevCardsClass)) #define IS_GAMEDEVCARDS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMEDEVCARDS_TYPE)) #define IS_GAMEDEVCARDS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMEDEVCARDS_TYPE)) typedef struct _GameDevCards GameDevCards; typedef struct _GameDevCardsClass GameDevCardsClass; struct _GameDevCards { GtkTable table; GtkSpinButton *num_cards[NUM_DEVEL_TYPES]; }; struct _GameDevCardsClass { GtkTableClass parent_class; }; GType game_devcards_get_type(void); GtkWidget *game_devcards_new(void); void game_devcards_set_num_cards(GameDevCards * gd, DevelType type, gint num); gint game_devcards_get_num_cards(GameDevCards * gd, DevelType type); G_END_DECLS #endif /* __GAMEDEVCARDS_H__ */ pioneers-15.5/editor/gtk/Makefile.am0000644000175000017500000000313212151722612014316 00000000000000# Pioneers - Implementation of the excellent Settlers of Catan board game. # Go buy a copy. # # Copyright (C) 1999 Dave Cole # Copyright (C) 2003, 2006 Bas Wijnen # Copyright (C) 2006 Roland Clobus # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA icon_DATA += editor/gtk/pioneers-editor.png desktop_in_files += editor/gtk/pioneers-editor.desktop.in bin_PROGRAMS += pioneers-editor icons += editor/gtk/pioneers-editor.svg pioneers_editor_CPPFLAGS = $(gtk_cflags) pioneers_editor_SOURCES = \ editor/gtk/editor.c \ editor/gtk/game-devcards.c \ editor/gtk/game-devcards.h \ editor/gtk/game-buildings.c \ editor/gtk/game-buildings.h \ editor/gtk/game-resources.c \ editor/gtk/game-resources.h \ editor/gtk/pioneers-editor.ico \ editor/gtk/pioneers-editor.rc pioneers_editor_LDADD = $(gtk_libs) if USE_WINDOWS_ICON pioneers_editor_LDADD += editor/gtk/pioneers-editor.res CLEANFILES += editor/gtk/pioneers-editor.res endif pioneers-15.5/editor/gtk/pioneers-editor.rc0000644000175000017500000000006410462166770015733 000000000000001 ICON DISCARDABLE "editor/gtk/pioneers-editor.ico" pioneers-15.5/editor/gtk/game-devcards.c0000644000175000017500000000416111656052403015136 00000000000000#include "config.h" #include "game.h" #include #include #include #include "game-devcards.h" static void game_devcards_init(GameDevCards * gd); /* Register the class */ GType game_devcards_get_type(void) { static GType gd_type = 0; if (!gd_type) { static const GTypeInfo gd_info = { sizeof(GameDevCardsClass), NULL, /* base_init */ NULL, /* base_finalize */ NULL, /* class init */ NULL, /* class_finalize */ NULL, /* class_data */ sizeof(GameDevCards), 0, (GInstanceInitFunc) game_devcards_init, NULL }; gd_type = g_type_register_static(GTK_TYPE_TABLE, "GameDevCards", &gd_info, 0); } return gd_type; } /* Build the composite widget */ static void game_devcards_init(GameDevCards * gd) { GtkWidget *label; GtkWidget *spin; GtkAdjustment *adjustment; guint row; gtk_table_resize(GTK_TABLE(gd), NUM_DEVEL_TYPES, 2); gtk_table_set_row_spacings(GTK_TABLE(gd), 3); gtk_table_set_col_spacings(GTK_TABLE(gd), 5); gtk_table_set_homogeneous(GTK_TABLE(gd), TRUE); for (row = 0; row < NUM_DEVEL_TYPES; row++) { label = gtk_label_new(get_devel_name(row)); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); gtk_table_attach_defaults(GTK_TABLE(gd), label, 0, 1, row, row + 1); adjustment = GTK_ADJUSTMENT(gtk_adjustment_new(0, 0, 100, 1, 5, 0)); spin = gtk_spin_button_new(GTK_ADJUSTMENT(adjustment), 1, 0); gtk_widget_set_tooltip_text(spin, get_devel_description(row)); gtk_entry_set_alignment(GTK_ENTRY(spin), 1.0); gtk_table_attach_defaults(GTK_TABLE(gd), spin, 1, 2, row, row + 1); gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(spin), TRUE); gd->num_cards[row] = GTK_SPIN_BUTTON(spin); } } /* Create a new instance of the widget */ GtkWidget *game_devcards_new(void) { return GTK_WIDGET(g_object_new(game_devcards_get_type(), NULL)); } void game_devcards_set_num_cards(GameDevCards * gd, DevelType type, gint num) { gtk_spin_button_set_value(gd->num_cards[type], num); } gint game_devcards_get_num_cards(GameDevCards * gd, DevelType type) { return gtk_spin_button_get_value_as_int(gd->num_cards[type]); } pioneers-15.5/editor/gtk/pioneers-editor.png0000644000175000017500000005515113252243607016115 00000000000000‰PNG  IHDR\r¨fbKGDÿÿÿ ½§“ IDATxœìw|SÕûÇß7iºw)PöÞ*‚ 2DTLEEd¹p}__÷ƽqoq¢¢¢(²·ìMKiéLš&÷÷ÇiÚìÜ“&mRòyÓÜ{î¹ç9Ïü< œÎYñþC­ÞEÝ@0è4â“ÀV`%°0ÖÚÝEÚŸjÅk йVï(|Ñx (¢êßÓÝ«ø ¸ è èjãf#8½‘<€X‰œÐ2à9 µ¶n.ÌÐx(ÇûÄ÷ôÊAáé@‹š½õN7èÚq|?˜Ç+ÆêkåNC€o+þM|O¯ÝÀ«Àx ­Æ¾Muƒ€uÈ?[áµp¿¡ŠS)“ÞÓ«X< bjàûEPÇÐG;ßß×§ç:¡ {«©™‰ïéUŒ>w½+î+‚Ü"xátòú`5¨xùWq®+Î}: ˜ l¡v'¾§×Qà=`*¤ƒ Â~܇(Ô Þêý Ž5AÛƒwᨫì`°‡ÚŸäZ_fàk ?_8¢JÔ ôžEØ©¡CÄŸÎC©íaþV! Pø¸ øSúNC“G€Æµ}#~ ¼€3–i=("ÂYˆ°Þ5øðÚ·Fõ}œ0X ìô}mø˜ð=á 0a—'{˜ A>Ëgð#í{h1ð$Âcn™n1ˆ¯yn-ßG ñ p BH{E$Ö~ˆCOÀKx(8¸hèÇEÒ€^Sá^Í‚hÄšŠP 6øq¹Ú«ÀØ@žP¯×3qÂXn™w#õëg’Ÿ_@^^^ /¡í²ûo_#@ø ð4Uùûn¡Ý€ói@ ðâi²úþ Â?°1@—†"BkAt´ñãÇpûí³°y¤Ôdôq]HnГbS ®\òe¿òý÷?päÈÑ@]Ör–@¡·AúHCØù3á)h‚°ó›éFŽ"ôåý¾‡Zþ VD­`5зº'‰‰‰fҤ˸ë®[iÒ$•’£_­ÛÇу§ÈÍf¸NMbZ[’2»’Ù•ã¹*ß/ú‘ï¾ûž?þXÑ4Ëéào" tLþ‡Xo2³ߚùAw Å6x ñjöL×ΖWçII‰Lz·Î›MÃúqPú7ׂZŽÅ¢²uýQ¬V÷&xTtI™H©×˜äö¬Y÷/K—þÌÒ¥KY·nV«=Kv!Ì'Œ€ÐÄDX¯«·ADíé@„!^“0#–Ðß“ïá;«Ñ¢ Þ”v|ŽpH###3®bÖìkHKŒ«Á¸û9–s¼˜#ò5Ÿ3&¡)™ÝH®×³.‹å¬®?³wï>nÓÃðbêD@h¡ ð0"¡Ç+ÚPû¥{…ÀR4{þ–7"ê j Í…7^Í)gÔ¯_9s®eÆŒ«HŒ-ã?`ÚŠ»ÅuǦlŒF³_7§(:âSš“\¯3I™É9ͲeËùùç_X¶ìWNž”v(.Ä‹£3"B ˆŽ;ñQø‘…ð6«›’Áa„YpÐ÷P3ð2pp*¨7å·kܲU3n¹e'Œ#&êJéß(f[¢ +Š MìÞ~"@· :} ‰imHÌìDbZ{¶þ›ÃôésÙºu»ÖS”#œ‡Ü팄k 0Ö»/«R¢4oµ¿ê»C2"˰>Bx1 ôË床akЯâ9ôΉîÇDZvíÎêÓCÙ2t¥+P¬ÞWà#‡ 0•jÈ¥ÔUµ`*É¡ðÄV rÖÓcÀ †h¾ÿ~±ÖSèd%¿zÚAí /"•ö¼„êm³e6"ß7”0‘p4 ‘àCÇÎ@ø9þB8åjS*®« &Ž%=áºÂOP̾cåf+y¥Õ¹?¯Èhr6¥'þâÊ+.&-Mj¸á2rAD¨y4^æ#¸ã<¢"Û§’k-C ¸é”"F¼ ¸8Á§Ý{&‘ò«©zNQ^ý êǯ«¦¬ZrŽQT Á%ê'švBáþÏ‰ŽŽ%§ š¿ÿ^«õÐ$D^†‹ï%””º†8D=÷vDá‰GÿK=`"bò§×È­)ÀDŠ`ßÃ/D< ¸&{œàïÓ„¡CÏ¡Cë(÷!¾* ªpò„6AáÓÛ¢³`1 ðè2¦_7E‘ráÝàncDÔ F£ááŽC$òÌD°vÖ´DÔØŽÁ'¡€½œB`Ô7Ê ž9ëjÓ:Íã óK)3Y¤oJ+2šžMqöJ¬eù4ËÈcàÀ³dN1‘Mꀈ.z!N¾Á ñ£aßÏúS7aÌFÔ,û°=#|#«ÿ$ÕE[„lÕ„Ö­[pÞà^(æÝš/p"'x«¿>*†¤z1åWeWý…ë§O‘9‚è‹ÏZ( Á°ëÓÁÕ¸¡"œt;qˆ$üФ娥ïâ_M“ 7"ñ¬Ïž}5Qe@Õ–‘g2•SDÛ?­Q?ÊòÖ£Z«4 ‹)—aÒ¨‘Ô?ËU8=f'``aæ ’/áå¡KG½,Ú 'Ä#œ›Í€#ˆ‚#°)7 W2ºv2°Äš))ɼþڣĘA5 }´ˆ’¢àe:7é<’£‹±–9l·c‰íÂ￯ÒzªX`/Pé=ŒhÃP`="´•âi­vv&‘N ˆJf ôóXïC€ûÍhÈ”´ÃµøàL°ÇÔ©—‘`ت¶pžÕªÕù›ØC”•òÒc.û,¦\®™ØƒA*Fä`D4€ê£=BEý?|„˜º#<ûíˆH^{茽kîQ¼f¥#À@ݹ·jC=ð>yöõz=¯¿ñéÑ¡¨^t;äå–’2x±ÿ­Gb-ÞNyÉ·û£ÔSì<’ÈŽšýI›‡!òVi¯þFDZ¾G4FpváôT÷µ"‘æ|šxȇ TÙWñ,x/B¸Y4aÔ¨¡´jª¢X´§òæfùä'EOjƒîOz®´°³¹å†a²§® F€*–„”,N’í¶¦ðô«¿Ë° "Q€‘ÀKx©Ô39¡òGR'Cä&¿~½èÓ³ JÁošÉÍ.A "YZ£¾s|6ôqA©5•ßWjæ „ ¦àÓ]\‹—Éoë²3ŒÓ£R/ܱZr|Uâ¶­ª*¹AÌûHoÒ¢=oK·è7×Z/P!"<¢%»¯É&‚@°Mb|£F =zJÉ;š)û8`ðà³éÒ1ʵ{ÍóO–b)XÇ^bR1è¬X̲…Ç_üEæ€}8uEŽ€Â²¡¿™3§¢3ileZàgþMiŽf^¿JšÓX³nÌ!oãÔÍ48`r€@^Åç2Ä`ÍLEd<ÖGc½ZÄI`§ÄøV­š3|X_”¢š)-1SZ<ÂOPH©ß‘S;~•>ò»_¤j"U=š" Žã"G~/‚}WF‘­È‡è€È– µÚñÕȹÌfΜJ”y“fºo€A¤üHÌh‡¥`'ÒF} O¾ø•ÌË“" ÂŒ -ú9ûØÙ¯ÕšãˆF¥¡ ˜ðIâ€ÄÄ&M¼Ť¹^‹ÅJ~nðòþ2šœII¶æN¿•Ø<–Ü“…¾Va»P‡`ALÖ?ý ‰SÀoRþÞJÞ¸_C뙨üÔ©—‘sJ´{óóN”ÈzØ¥ Š%.6“YžXäÕþ‘^|énGDÔì¾GØ÷ÁDBlD45© ÎC ˜ét:f̘ŒbúCê:Ávþ¥5êKé ùПU—ÌÇ_J9 ?ÁCªD$ æ°¿"{òÛ£ø QQ\%Ù;\‰ñ#F¦U3ÝwQ “Ñ_šmHkØSÁéãþÜ ­™,ð´#"ÂEÀ[Ä$5¯Ø 毎¯A²³Y3¯B1jOüà¯þ±IQM‡¥’(:{a©Ì;J›[DL€0E"¦#³ÆDèѱ5[7£u³,2ÓSHˆ‹%*JOAQ ùEì9xŒûñÏæ)(Òf/ç#ÌW|^Äl„¹£:µcÐ9Q ÞÕ|L°I?ê5=‹R? N™RÙ´õ Ì!oãe}ˆ€0DâW-Ð063=… £‡0zH?ÎêÙ‰¸XM=2±X¬ü³å_ýöïý3»õ:Þ¼LD¢^ýg]R¶™hnvqPI?]ñ‰édŸ”>váâ}2íÀ^ïEúê¾ÆÚoè \\;÷¢ ŵß×Êß«sîœ~9—œ†¨êÉyUUYþ÷&}í~\¾ÆëØDê¬j]Ñ=J§ÑÎú“––Âο`þEÕF°©ª*Û6Çl^ÝjÃÞ¤&EaÌÓ^€.†®Ã? °H³vò>ÚÖE|a ‚óÎÛäoѸ _ºŸ¾Èø‘«=ùEaPßnüðÆC¬þ|>}ºzfE4ø0$Àä(¿®¹v ú½š'?@A¾1¨“ -«¦ü­ÒÇý{$ZfòƒçŸ FøÏ 1Eá–«/eË¢×¹d¨WFój¡o·ö¬úl>óïIlŒû†]…ˆ s µh+BhET”žë®&©Zù ;ÿ 1©èÕî–’È7¯ü—§îšN|œ6¿:ÐéæL¾˜•Ÿ>K›æÜŽÙƒ׳ØŠHFÒŠK.I“&kžæcL¦rР䏸e! d ˜Á¬¤²ð{ÈGhÈ•Š€0€a̹CVf:¿¼÷îW“·@Ž­Yýù|ÎìéžCéD„ uþÍô'ôw<¸«?($¥da1Églü¾V:[P³hD„Và>ɧqƒz¬øäºwhUÓ·T‰ô”$~zûú÷pfà§\ãr½{õêJ¿ÞÍPʵ‡Ë¬V•¼ 6ûQøS^ C]* (:~v‰Ì!›¥ >!îUéô”$¿õ0-›4¬é[rAb|ß½ö [7sÙ·Q‘XÈš³çL«ýi÷Bäç—ô ½Ñóå|¹%)ìÚã= ëͼâ‘<€Ç߸¦Ú*ŠÂ[ÜJç¶~¤ÝXUXú',ú 6l‡“ùbžd¤B÷0â6trâŒÔd¾~ùÎ;Û%èwDçPˆ"Z‘•UŸK.Œb|Oê:Á.ûÕâˆÑ—Qf•wþ}òÝ.™áåˆ@Œ&D@Ê{Æ››¯ËÅCÏ”?á¾CpÓ#°ÕÍuø¸x-ú :¶†gî‚VM¥Nß¶Ec^¼6“o{Üa»Í—"ÇüÝ÷u×M$† j––˜)- ^³O¨(üÉ•ªàÐÅ1ÿu©Ôßï‘Pº"&@cvô­hÖ¨>Þ4Å“„Ënvü)Iâem»áò›a·l:˜tñyŒØÇa›Š¨”E9rtß11Ñ\}õeò”_ǃ»ú$§·¤¼TÞÚv@Oi©#‘T[¡ˆa¸{ŒŸºs: q’ É­*Üô0äW$GEÁœÉ°âcøûsñúóc¸q *”ÂS…pó#`‘·‹Ÿ¹{QzÇ.Šþ€MÈ%]~ÅÅÔOÍ—¢û¶X¬äŸ nÞlRcÔRy¾€HÅ?²E2D@ˆÂJEï&;tlÝŒ±ÃÈŸlÙ*ØnÇõô0gd¦Um«—³&Â3ÿ©Ú¶}ü"OVÙ¾e.5Èa[r…K Oø9cÆ ºo>é@z£~OÊÝ€IMã»ÅÚ;#òþ¥l™ˆQÅ5‹cÞ5ãÐI:çXnG:asôy°³Á>¤÷›§Ïñq1Œ9п“É®ú»[{ßã{tp¬ztlMŽ­¶ÉùÄŸ©RÍ> k€ô#¥AwÊò¥Vq%ŠGž“â ü9šD "BÎëØÈ}HJð“…/ÚPõ·u×~ˆÞÿGdüHGMC늞Ýw³æ9¼?ŠYæ(È rè ¥^;ÌŇ¥Ë)LâÀ!)£I¾§8²pþé‡ôïáÿÉZ5©úûo %¨kìÆ4sŸë¯Î÷œ‡¶ÞjäèËo¸a*Ë)vAú¼fŸ†Ø4tˆìñÞWRƒeÞ?iD@BÅU¸KµÕŒK‡W%öìÜ |ëyì'‹`‹]¨ð¢!~_¶w—¶DªRM¬!à eÆ_­HHˆgê”±(¦ÍR÷v"§$¨¤ûa:)­•£êxå-©–__ã'%dD„ Ê*^6(ŠB»–ý?aË&póÕUŸ|îy6ÿ ¦2ñÚ² î}î›_5nÂ…Ú|`ˆŠ¢USGj_J÷zäè¾'OGJìPµçñ«ªÊÉ ;ÿ@!.>«E^ËØ¸G¥Ì,å›ðKý‡H&`HÂ9í#=%‰Äøj²ð_9¤$ÂC¯ˆ ÿéâå:f\)òª‰fê³}OUQŽ·b[¹N¿Š¢0ýúIèLråµ5Aú‘˜ÑK¡<éÀü7VÈ ?B5j®"@Ây’øíüsÆÈpÎÆ ‚™@©>cœó½{ËiÛ…œ;lø Ú·Œ‹\¤"Ø¡?€´ú(+’Ϥ,µ¦ñóoRæÌ»ÈeK; "BΦ©¾žøJ¬Û£®…@6¤$A—vеc:ð÷¿ÂÅ3a—üì ç{÷æ¦ó§æ_W&ú3ƒOú¡7Ä¥j¡luÅO+¤ ÖµÓ»AÄA8mW3UuÛn¸êN(­°GÛ4ƒÿÌ€³zU9­*¬\½,&þî0áVøôhÑÄó¹}À¹2Ð_Q.‚õH+:thÃA]¡P®ê/·&Vÿ¬30åËgþ¡DñØüïdŽX È Ø!¢„ œ'ÉÉüBY§P¬*ÜöDÕäïÜ>Ÿz;–üê8»—Ø×¥­Ø–_ó§:îòã'9ܳÊ×üßpÃTôe‘ Z­*'ƒLú˜Tk¹üuç%rä˜v 3ªáü³!"BÑ€})M¹ÅÂîGü;ÙŸkEè„MÿØ<ðæPŒƒGçUÙÿwÀjJy„·}ç^G.w…K‘+JMMáÊ+.D)“[üòsK‚Nú—Ôk‰s‡6¼û…”í_ |æ×…ì!î´íŸÍþ=T¬¶‹Cwl í4´íh×Bh 6¬)Ê­Âö=).u ƒ9/%¿2¯WO»œDÃ^PåBl5áüKm؃²BùÊ?UŸÈ›ï/—9ä @¹!Š §ÏËVùaS·ó«·È%hig÷õ¯ÀùžSp5dé¾õz=×^s%å´’’âà“~(º(b£Êð‡}ív3ååRÎüÒqƒˆQÔwúüý¯a.÷Ãm7å¬ê¯ýÃhðÏWüÕG"sçï°ßÙö¸è¢a´hdA±ÊµÕª‰¼ÿÔÝ1åÉgþÂS¯ü&sÀ~érµ!ŠNŸ³só}¶år‹¬Ìª¿í9|Á~lƒzÒ—=tì„‹ÐÂÍ8éÐ߬©„ŸÚQ¤I©YXËåM‘%•?ÿ’2ñÞA®\Â#" DÑ ×íüw¿’?Ñ™=«þÞwViX¡Vo{ç]ÿîÒ—ÿîW.DÎÞ‡£€L¦A9³ok³Tw\NæôÛ†j’»/ý*åàU©fìߢˆÂuÅ\úç:V­— ûöè(œz6Üõ$ó’ow$îx¢êsóFЧ«Ô%Oäâ•ãÙ‰€3¹üêŠq²6vnNðCézb.bïÐEóÄóR™¼¿!—2áýò:QG77ÛæþßKr«™N»gTÅügØYðáwg×m&'Þý .™UE¢(p×õàÄïç w?½À%y©+Ž[1°E✙™Œ3Å,' OƒNú ±Ñ:üqþ8GN®TÖàé‹xA$0„Ñá5·‘ý½i'¯}²ˆWŽÒ~¢3{½³D ªBn><ð¼x%%ç »lÃÛ®!ý¥îùϵ[yã3×"#gaö7‚õW+¦OŸDœ²E‚îàDv $þd´Ã|JFœUáͤüEˆð_ÀÑBÑ@O7Ûo~ø6È8ô&ކׄL§H|a±ëäÏH…îƒkåÚyä1iÞc.JSÀ¾(Ø‚\è/&&š«§]†N²æßl¶Px*øÎ¿”ôæXÍÒ½û°è’yïS©Ê¿O pçõˆâ8 1Yì#ÄFSWÜô0+>y†tgNoÔ~y¾þ~Y-zœ¬xpÓ’EòÏÀ>pÉPˆ•ë2\n±0ñÖÇØ{È•gÓçÍÈ=ÅãÆ¢az!ËM²Üœâ “~è qè­'ü*Ç[½¹TÖ9¹ÀËxED„8RZ€óй}ÏA.œ~/K<&×<ÚãGˆW€ ª*Óïy–E¿¹Öå7Ú8m“mŽ=ýúÉèŒrñuAú|õ?­aÊ 4Ь¹@áÉ—–ɰøÃ yEÄ Á}ýÊuÛ2åvNäÉ«Ÿ‚Åbåú{Ÿãí/\=Ù à,fö2™gu½º7D±ÈkäŸô >6NŠ‹Ð†‚²4ÖnØ'sÈ›øãeôˆÄçyØ·zÃvO¾]ûý,ªòNqÑŒûyݳPo„`Ùf3g]…^²ÕÔLÞ\Rc,ÅrLÄ6|ýó~™áV@®îY#" LÐ hçaßæûè=fŸ,’J'­V­ßF¯KfºUûêܶB¤þjE³fuÁY(f¹B(ci9E…Á%ýHÉl‹¥L.%] O¿´D戥ÈåLi¿•`œ4‚ÀCÆ©ö•pÅM3úúûÜ:â…ü‚"nüßË ¸òövÏ^\ŠkáÏ_Èå¯N¿~Ñ–m ÊÅñOæ?ï_ÑEí§C~ϱhòò¥4”~]H" Œ\ŽgV€ï~YMÇ×2óç=NPwªˆÿ>ÿ>­Ï»Šùï~…ÅCÓP› ÊrÚnFŽî;>>Ž©S.EW&ú³ZUNž¾ó/¥AÌ…;ü:öå÷¤j:N!h¿ƒ‚H Ì\èéi]4•™yùÃïxí“E ;»7“.>Qçö%%)AêZFS¿¬ÞÀß,cá’””úV«GÝlßÈLË Æ– %r¶|ÞÉR,– Çþ€ÄødÊOÉ;Ë•d>ûJ*òrÿtRˆ€0DKàJD+oD‹•–ÿÍËÿF¯×qF—vœÕ«í[6¡}˦¤$ÅW …¢#EÅ¥ìÜwˆ{óׯü¹n+¥Fm¶´ÍãßÏÍ>9矢(̸a ú²$ލ‰²_ClV“”¯+ÖKß_µi¿¼!"­©ˆåAË#e±XY½a;«7È¿U IDAT¸á´! ¡ö»[ùAT®äHœoèÐsèÐ& åL˜’â2J‹ƒKúÚ Öb~êxìù¥2Gì@>mB @£1pBÔ2€kñ<ùA>ôwÃÌ)Ò‰?P3¡?PˆÕùa8YšÊÖRù oúu! D@˜#˜  >Æ Ð˜Žk™¯=r ?´¢uëœ7¸J¹\­ƒÅ¢rª&H?ÒÛRîgìÿóERåÂåÀû~]H @ º zDm#)cvh†°÷µô ^-y/³fO%ʼI:»®&H?S2Q ùè ],Ͻ&¥þÿˆk—ø€#"êRË€lDÒøVäJn½AZ!^a@´8“QäSR’™8á"teò®ss‚¯þë ñèÌGü*üÙy(Šâb)Ó!¨Î?" ¢>0‰¨¼Û D^èê}D=¿§$$OøïÍ@1uê8£€YŽî»° &H? %³#£x^X å ɾ÷ëB’ˆ€:Œ8„Þ‘ˆs8†xºò%L=¦â•ŠpìeÍX?¯mE~h…^¯çºë&¡”ɼÕD»/€¸°È40¨@©|óƒTo…“~#"Nª»Võ½ºØÝ÷¨QçѲ©ŠR$ÓÌeåä®Ä%6ÂZâ߯K× Ôˆú‘(@A‚|ÕßTt~Týåæ” ›õHJkŒêÇò¯(z—‹ýoüì#ˆˆ àÈöIŒïܹÎl‡b–Ë®SU8YŒ¿:])}¦ ÙÅIìÚ+•Ðô†_òAÀ!ÛéwΜi~Ñ}ŸÊ+­Ò¤z°”úÇ·ðñ7R9eˆäÎCDDP#tX­¨W/qㆣ”ɧ(×”ó/>ÎÏ+}/¾ñ³Ìß!—5]mœÎ -‚sÓ[´Uø‡5È…¯¹öJb•](RýÁXj®Òè¸t”RÿžˆM{uMRáÉsþÙp: €TàiD_ —,VâWx‹ó/Ÿ° bÿZa0D1mÚåèLr~!üHNkŽÕ*——`Ãü×¥BšÇÅ~]¨8€˜‚`¥º©ó€§€/ PÆÓ[™7—^z3KQ¬r¤¦V«ÊÉÜPÿƒÎ¿eÀ¤¦±äW)2“wé5ŠÓ%`ð,ÐCæ ؈#¼|x†lèoÆŒ)èLò¯¼Ü’š!ýHk…j”c#¶aÉŸÒ¦|PH?}¡®k-€Ï€_‘œüö(¾AHÿ‡ºƒÈýÛôëד3z6A)—÷®×DÞ?@|‚ƒR%”(/¥Íÿ…œï4`¨«@‡6z#š'ÞŠ—µ(Â…½ñðå]éÕ2 E©’:E¡}£$.ì•EY¹•íG =®*¢X{Ž(ž9]ñ;r¡Óyóf0°O4J¹Õ½>kühˆjŽ¢‹¢¼ìª5x€©i)P^(}œªOàê›b±jv†(þ©Ô xÁLåÕ§qF«4æ oK«úÚl»ý'J˜ÿã¿üµÛ·:—Làôfà´ÓÖÆÅŲcǯdF}V-vâz¢KºPt ª”¤àÄ6 s¶PtrVk`Lƒ¸¤F¤ÄœÂZ•µ»c{Õë2‡ Gð¸Ô ÂYD#(ñ’½ l’ÇôóZ1¸S}¿.´bç æÿ¸‹#yÞ)§?ße¸6Ũ«øøVbüÕW_ÎóOMA_¢ÁI¦Ä£$F‰n(Úš¥ò]ÕRFQÞ. s6s*gÅùûð—©^£.D•ù£þ+Lœ·Š«5§ÿF˜ªÁÏgö€p£NùVÞÅEë¹â̦L>§9}õf‹•¯Öáe{()óþ{éÌ9ƒ«uÅðÀˈ ­X¹ê[º·ØˆRîã(CK”¤Ñ O©œäâ½bò£ (¶w'Á€ByY…'¶r*g#ùÇ×SVª­ÌX§¢~½4°ÈGJ,it:w¾Ì!÷H_(€·(@„Æéµ·µNQ8¿kfkMzB`Öbƒ^Çø~MÜ)“·ÛÇwkbõP†j~CÄv.ÚäB{›üƒŸE×)(E^ŽRôw&JüÀŠIUë”Rõ·âºM±½+ †˜TÒŸIZ£~€Š±è'6q*g9›°˜Ýks‰i­ÀâçðÃré–lµû·G¸héÀýÀL|­ÍS™;¢-m&õ†¶)ä¹ÿeóAßYl g¶ÍàÃø`ÅÊÊ݇T]÷£w-´Â ²tß7Ü0™¨ò-.“_Ub aÄtªTáA©øÏ¦ˆmŠÝ>ñ§½P1Æaõ§â.íÿ¦B¨Ú¦3đҠÉõ;‘½n#Örùþo"UÐTŒÿÕ:BQh< Œ÷6HÎíTŸ™ÃZÓ0%4rò² L¼öóoôm & :ý6 ú]åÀ“ˆ -HLLàß%Õú¨UCÕÐ.ppô‰‰îfÕ×lØVï«~Õ¾ªm*Vòÿ}cždGb]"mÎyE¦/Á»ˆÎnµŽPÒ€Û€;ñÞ›öYIÌÑ–nÍB˪®ŸÃ=c:2ªgóü—]Ç=ǹ‹ú_DZqp=Ån´O~tßÉч¡Ô6ùÔ¸þ¨qg¢TDvë¼»U_£ó¯ ÞW}µò]­Ø,¶D'·•k¶™d›’|*u "ÌQ0N¾/B)#1šÙÃÚpë…íh˜«¾;d¥ÆrQïF4N‹cóÁŒ^h« Z…†’PTÉœ±Qü£:Ž7Þ|’Œ˜5(j è’±&^ 1]*|XõÝ9ÿ§9¡Ú „Šm¶ªŠGÉñÿ sÿûGåKÃpõÄ‚ÛÄÉ'j[è‹H#ïïmP”Ná’>¹vpKbjû–µA§(ŒèÞíëñþûùtÕ!ÌÏþå`Ã9Í¡ ™G}ĈsiÕT‡Rt5º-Öø¡(Š­>KrÕW<­ú6¿€B•Ío·²W¼;¯ÿc*¶éc2ÐÇd`1åjú~…æTþY¿Wã¿F%2y,S€›ZAm•7FØA«ð1ùÏj—Áû³ûq㈶a3ùí‘ÅŒ¡­yç†>œÙ6ÃëØ2„ôrñõš† y×ĉcЕmÃ?kÂ(%¶j²VNZ‡}ŠÍ«ý8Žów«¿V3Àq_LrÍßïÛeþå T °ñ³·¨Î‰üEM›ñÀ-¨^4Þæõâ¹gLG®Ô’dIC)ñÎïÚ€nÍRÙy´|/Õ†F„n¸: 5±· Ô‚ .¡Uû~`h‚˜¨ÞÂ{îÌ€ª}.!?7Î?ûUß‹à$ l‚@¥ÓI ^}] SoþšR£í‚ѸHB,ŠÕ>¡VÔ¤0Áõ(^|^ÉqæŽhË;7ô¥ï+f8âŒVi¼5£s5h4û€ÇE5qcH¥Æ2­TÃ~Õw]ÅÝ›¶ÝžWýJÛ_jÕw5*‰­EF¢ì;ÃÉ< Ê0¯®mâ€;TS¨!wPM›šó ^Ô½Ná¢Þø`v?Æ÷k‚^î0ÿ¥S߯ ŸÜØŸqýšTò¸ƒ‘Rü(‚±8 #ŒF• :Põ®TM`Gaàh¸˜Š›ñ€Ãª¯zYõÝ9ÿìÌ%*CBcŸßíÕ$(Pc€Yˆ"ï²¥1ðÌã@ ˜ aÎþœãm`ï–i¼u}n»°=©ñá¯îkEJœG´åégн¹÷Þ»F„Ýô<5Lï2Àd,Ó¶ê+þ8ÿlCì„@廳óOÅ›ó'aaHnëõ{YuI|ôÅ*ï_Þ]5«C5¬ÞOÂAþ'ÂWæÂ^(C€áâ¹x‘wMÒãxp|gžÒCs~]DÛ†‰¼pUO½²+Y>›¹ÀKÀ‡Ô…l¤€Ih«¾ÇU\ÞùgûÛíªöU¿j¿xNjíõ{ý¹A’–Üž‘²0¡è{'P!ò]Î ïF„´p(ð5â¦=>ɱ=“ÏiÎã:ÓºA8¥ÀÍ2â¹èŒÆÄÇD±õPf/Ì·¹ˆåjÞ}¼Ñj\ {&ýû÷FñPÇï;ïßÕùW™ àÕùgÛ¢}Õ¯ 7$Pš½ ·”eŠŽY÷.#;G# zbf8[ziˆ˜o<âÔ3ÁQ4p."gì´¥´¾–< R€áÝòÉÜþL;·eµkôë"b¢tL<»ïÏî' ›¼Œµ¿ …»jæöÉ”/-5¹YõíÿöÕ×äüs1¨Zõí2]ƒžè¤–n¿S¾1…M[µ¦B!È#=ýz„¥?Q â}J´AX‚?ã£FF+ª;Óþ©ÀÞvlœÌË×ôæž1IO<]ørüGf’H+~õºÞtiâ=å¹xx¹Æ²( ×»ºÌd‹hùrþQeë+ö¢À¦P¹OÊùçÖ  òoûUßY<˜_þ(‘ø£ mªÆ#ëðAg À`-ð*Õd¡ó×°Oßæí<™I1Ü|A;nÙŽú)7aê<2“bÕ3‹Fiql9T@©6¢"„ëø8БÀ©wVààsä²z÷îÁÐó☠kx+ÿ…À9ÿª´ P¢b1æ8žëb˜rÓ×”•i$$m‹ÈxÑŠ$„Æ…0 <]èÄ5ˆ´â𣉕?9&ƒiŒÝ¼ ЉÒ1®_¦lA\t(”„/Ftoȹ2¥Êއ!÷ì¹ÃzD‚¿™)UN@yçŸkèÏYsYõµ9ÿªÞTô1ièbÒ°šª»ÿ=Ma‘„äo;šö»Ո ºç 1g ’ì~¹ŒÌ"Ñ ’X†ÉV» ÞŸÕC[G&kÐ3íÜ–¼sC_Ÿ§f„Sæ DŸCYEÄp¿¢zii"rÜ…üœÍ»mU¡?\Çˬúî2U/f€ªäH;ùâ‰(qT΀Ș t÷9ºBV‹à¦Õ-³3¸øu*í²’øïøÎLÐœÄØPK`­;HŽ30¸s}z4OåßcEä{ž¢fDõÞ.D¾©/ïK)ð ›ë_O\GtèØ–‹/¾ÀIµwGõeo¸7œÍ·¤ ?ΉÀœNf”S–'œîf%…Yw}­ýË÷"0„1›®-/GO;D¦A=D Èko@AD*}–é¦Ä¸~hk=Y©^;qE@d¥Å1ºW#2“cØz¨£Ù³ ¨¥ìxBÊû¬ƒ‹F3‘u›Ö-7n´ƒ]_eT§ü×µjÎ{ï¹lóáü£b¨è¢“0f¯T~ýÇÄ7?J0ÿŒBØôB2Â?Žðx–ûzDLá*ÄO¾Gï§Ã@w胠,šƒ—¼ý(ÂØ¾Mx䊮ôhžêôÃDP°u3Ý» ÈJ=±ƒPíW"Ôº¬Šm›Íévãá)±AA¨¢ýŽ hÑ¢)W\1ÖuÕ¯ŒÈ­úrÎ?ªþ’Zõ«ö)è)+ÜZ^Äuw.Ñžû_á«4D^àˆÙ{o®¿$D Î…ˆÜkÐyUo„ðMÂsäE-7ŽhK‹ÌÓ7ƒ/”TQv|AÏ,^X¼‹•ÿz^ÇmÝŽGŸÝŒ\ƒ(áêë„?¼¦í4Ý»waåªÅîvf€£­ïÎ ¨2ltßÄž•à蘒ZÞ+ŽqÚfO êx.1~Ó†-œwÞMcÿI»5 ‚HâW´¤k~Œ³ý´ñžFÙÊt¯Ü’”:@Ìq:Á iÅ#»7äÕŸ÷ðã†c^ý@•žuA  ¬¬¬rõ÷f8®úÞÊíTzw«~Å_ÕsþQ¹-/ï'ݤ}òƒÿ±ÿêÂæúëŠÈ÷ž>~Ê^-Ò˜;¢M¤`'Ì‘žÍ]wàÒ¾™ÿã.6ðÏ×aç7õqB)ÀˆÃä®EÆ_Î?ÕY„ˆm‹…iWÏcß> Ú¯´”úñE¿Â,ø×óP‰@ú6๩="“¿¡]VÏ_ÕÓ½ÿ& Ñ`Ý×ä)PZjË&ðgÕ÷íü“aüõèüsò'ØÎ{Ï=óóÏhÿ² œr¡’ûf+;öâð("‰ýä[^|áí_Ôv‹¡Héì%5'R<$€¨‡‰¬¸Yõ+Ǹú l£ÁøëkÕ• ·1gî½Ú¿¤ ñÑÁ2ôÈCV¨ô«9Mnw«¾ÁÙùWµêkuþ¹†üÜ­ú'Oæ1qÂlJK$¡cM Øg–——3yÒ\öï÷ƒë4aÙÿý´6ô‹Œå”š+sèã¢õ$ÇE…e’GšëŒF#1±±hvþ¹8íVýj2þVí·{¯8÷Ýÿy”åË%ªýlt–?,pÚ<éÙ&ÖîÍcݾ|öfs ·„b±Ý¤Ø(šfÄÓ¦a"=[¤Ò«EZ„ÅÈQø¨3«‚É–  ÕùW¹úÛŽq^ýrŒ¿îÌ€O>ù†—^’tú¨ÙFÎ ¡N €S¥f–n:Îâ ÇÙvD;YV¡±œ­‡ Øz¸€oþ9‚tm–ˆî Ò¹~DCy?€Î?Ûß'ýptþmظ•¹sîÑþ…lHÆÖ†t|’O—ñéʃ|ñ×a¯yµB68ÅÆ§x~ñ.FõÌbÒ€ædœÎZAur¼8ÿ\I?Ü9ÿl[$W}7€'só˜0a&%%2T§ˆbœ+ñ’C¨S ¬ÜÊûì÷J™U]”–Yø|õ!¾_w”«µ`|ÿ¦D޵2¡@û‚ «~P+œåååLš4›ý2™~6\Œ¨Œ sÔ°ùÐ)þ÷å6çIJr?QZfá¥%»ùqÃ1îÛéô˘”M1Æ_€;ïøË—Kt÷±¡aëôsF[/ª ýy€9o¯«±Éo=ÙÅ\ÿÆ?|·V¢V¼.@*ÈžºFkÞ¿}æŸíݳóÏqÕwg8†ü>þx!¯¼ò®ö/aMVÕ×ÀÐGXk«Êãßî`Ñzÿ&_Vf:‰ q$' CîTa1E%dçÊ‘_›Ê­<öívöŸ(fæùmPN‹@R6ã/ö#}„ü6lØìŸÓÏ ¢È&ÁµÆËhØ ³ÅÊ}ŸmášølHKIdHÿ é߃~Ý;Юe’Ü'Iç±sßaV®ÛʲUøeÕz ‹}k¯€ ß¾Âè!ýÝî·ª*ÿ[¸Ü¢êôÕ aH €à0þRuLÅ>µrLÕ¸ ¶0gδßpZ6iÈGÏÜ…^¯ã‚A}YÿÍË\1ê\Ï|„™Ì+ðÄw;Ü’[êt ÏÞ=ƒ÷ž¸ÄøškL’ž’Ä×/?À}³'ºÝŸW\Æü½ð1…3üqz[õœ€N«~åêï&äç±üWì;ž}‚ñã®±ËFÔ†Äø8¾yå¿d¤&WnKJˆã£gîâ©»¦»ïaBôc #„Xºù8k÷ºYGéõ¼÷ÄÜ8uL-Ü•x€ÿ;w /Þ?ÛíC±lKvÝ4dˆAMUµÎ€ªªrøðöîÙË()±Ñ˜»‰çKqÿÙ\ΔÉ39|X.L¬( o=r ]Úµp»ÿ–«/åÝÇoC¯w3}vV¦@XDÌ+//Ùí²]Q^ûßML=¸îÊ3'ަÄhâ¶Ç^wÙ÷âO»è3£oÝÊöˆU_UUVþ¹Š¯¾ú†?þXÁÆ›*ˆCâããéÙ³ç 9‹/M÷‚ÐÎÆßÛn»ß/§ßÝ7\Éø‘½Ž™tñyËʘ~Ïsv‹ ,APƒ‡Ah0,ÀâÇÉ.p­=½ö$®¾tX@¯uàH6k·î`Ä9g£½àgÞ5ãØwè8/~ðÃö=ÙÅü±ãçt3¾(oŠ”Rf6óÁûóøãO±k—«0!Ð ä‹/¿dÉ’¥ôés×ϘF»öm‘qþ}øÁ¼öš¼ÓoØ€Þ<0g²¦±×ŽÉþÃÙüï¥wä ~w  äMU…W¸6¸zVOîåÞööeær.¾áÆÌü/cfþ—yÚKˆmxê®éœÑÅ5à½?öâC`Ó¦-tìÐéÓgzœü±±±ÄÆÄSùÚ·o?>ò4ï½óååå.€îœë×obΜ;¥¿RëføäÙÿ¸Wí=à9“ÜßMïî„EªpÈ €õûó9˜ëØÞ*)!ŽÍCà*¼ûž{‡õÛ@B\,o<|sÀΠмq}Î9ñ1Û¦òêeHBBx3­bcÝ«þ111Fõßþe±X˜={Çg„éN¤#¾‘”ÇõòVIDAT—/ÞWi¦ êÛ­rߟë¶b”<ˆÌБû8n qG`H €}'½æ#œÿq«‰iw=En¾2OÿçzZ7mÐóƒÈ%°Çþ§Ÿ à’(c;ET”£ÃÏN¨ªZ9Ù+…€±jò t6“&^ïg¦ß­tnÛ¼r[fzJ¥¶f±Xùwÿa©sÚ0b SŠ6ºŠZCÈ €²r+Ù§“õõÒæT/¼ÿ ?._Àƒú2ýò vn{œÛ¯›Ã烹%x˜á) À=3³GÏLŒ{Õ¿Bôï߇ÂÂBþøCÞéwß쉌qŽÃ¶’R“ƒ¦²cD¡À¹ýœrNîÛO„BVÍ7bµ›)±1Ñ´iæ£.[#¶ï9Èí¿@Fj2o>|K@Îë]Úµpð‚—”YÈ/©‚À¶bÛÃ`0xôü[­VGÕßè¨ú7hPŸqã.â­·>¾íÑCús߬I.ÛWoØîðÙŸH@›f³G­ˆÌÀEÈ €'ïëfYIü1——3yÞã”Vä§¿ú7Ò03­Úçõ„Äø8Ös<±©ú½ j ¼ÜõûÊzþm¯¨¨(î½wwßýÒ·lsú¹{ŽžYð¥Ãç"?)Ãôz­š6tܨ±ƒRm t€SÙoZrR@ÎûßçßgÍæL¾ä<.> çõ†ôTÇ{/uSÒvŽÂÜ`0xôü[,‡ŸÍóoµZ¹ûžy<üð3ÒN¿ÄxáôKIJpÙ÷ÄŸñí2GS¢ØLB\žÕVøB¶ȹ£O|\LµÏ¹rÝ6}íš5ªÏó÷Ϊö9µ !.Öás©f³Ùá³'Õ?&&†¢¢"·ª¿ÉdâÒK/bé’_9rD>Ó/>.†­»öÓªiCâbų´~Ûný3>úî—ñΩÜ2Hˆwü½1» Yå˜>êOXÆE%¥L¾í1,+Š¢°àÑynWƒ` Äè¨ÆBVñÒ=Ž»¼À^ˆŽŽvUý+„€ÙlvqøÙ„@Û¶­IHL`Å ?yÙ¹ù\vãCDéõ¤§&QX\Zi ìÓ•ã'òرW8ÿªC,SRê¤ó‡ì, a >ÆQä*ªÖùnzèv+ÇMWq_Á$ä8Þ{|tŠk¶?žƒ!ŠË.ûïÈçéwnÛÜ!9§Üb!;7ßaòO=˜EoüÏÁé\_èô¬†p É•MΓdÏÁ£¨ªê3¯Ü¾^º’7?û€Nmšñð-Wäµ ÔhâHv®Ã¶:Ó]8 )õÖ¡ÒÏéUVVæ1éç®»ná‘Gž’¾½ö-›°âãg((*᥿eñïÿ°÷Ð1J&²2Ó9»wg®?²2Tk¿È4náé´^¡ª*{:}Ußz BöIl˜ë a—Ù$›å;2^ŸÈö3DEñÞwH‘|TÛvtˆ/ÇDéHMl-C­AòéqñüÛÙÿŽžÿ -`Ê”+yíµ~fúÝOJR)I ýô‹Ê¢Íç·sú\yṕûÞY¸„_V¹ççÚwø83*œÄ“.BVfºÔµA„ýSÇÑ@éSÕ(BZDGé8»½c8f×þ#,ø2ô;1Î÷kŽŸp$ÿÜ)ó´í ˜èàù×ëõ.꣬†9r$ N¿©cϯÔÞ¬V•±³äí/~ªLÒ).5²àËŸè{éœÊŸ¬Ìt»íZ©kÛðÖç‹+óL*Ñž×±C\ ïÖÐeÛO¼é² 5<šãÊ ïîú]Âw|||U€ѧí¥×ëÈjÔ•+ÿ’¾oœêâôKˆ‹eÁcó0D‰›Ì/(bÚ]O‘Òk é}.%±ûÅ\}çS•“?91žÏŸ¿—Ìôéëçæp÷Ó \wÔ\®™ßyзu:™ÉŽ™¹ùÌ|à…Zº#ï°ZU®¾ó)[°ef×! H €¸ø8DŸ&£‰ÎâóÏJßÂÅCÏä?3®p»ï¼3{òÕË÷“–Rev•[,.Y¥Ú4cù‡OqV¯NÒ×WU•é÷<ëº ¥­¤OWãy ×)\y–k<÷³–»tà <øâûü¼rËö‰´Ç¤Ã~æ8«þƒÎÀ‚ïI_¾C«¦¼ûøí^³C/Ô——¼Ís&sF—v$'Æ¥×Ó ^ÃôæÍ‡oaý7/Ó½ƒ³uþ»_ñåO+\wœEÌ®·PF÷Êâ½ß÷“Wì˜ vãÿ^&+3ƒ±ÃÎÈuf¦¡î\ì÷ñ~û ¾àJRÑ(-Ž¡]ä˜B2 :K¬Å…è³uë–|ûÝ"ÊÊä2ý’ãùòÅûHNôW‘‘šÌýs&qÿW"êàÛe«˜÷¨›hE"Ð+ — Â@F‰¬Àiç¶pÙn±X™4ï1–þéºâÖ4.YÁUw<é–ÿnÆÐVèÜÅ($ !löžÿøø88ÈQI§Ÿ¢(|ôÌ]tl]{ZÕ’k¹ü¦‡]¼ &¤³ÿìà¢ÞèØÈÕ†.5šuÝ=‰5W?þžñsÿ‡¹Ü•ü­oëtwª_ wUé¤×9}–™ËȨ—ÎÚµòÂ[Qp)°ªI|ôÝ/\8ý^‡ŠÂJ4!lV# Sn݃›Æeær®¼ùnü ·“0X(5š¸þÞç˜qß|·¹ ñÑznåÚ(´Î@BT†ý*TÿnÝ:³pá×~]ÖjU¹îîg™ùÀóÕæ‰¹¼œ[y‰·>F™ÙÍs\ˆàI„hÛ0‘YÃZ»Ý§ª*O¼ñ®¸¥Ú >µ`ÅÚ-ô7—×>YäqÌí£;Ð8Íÿºò‡„0›Í•ª›v­yï=×0©,^þð;ú›ËªõÛª}._X»eg]v3O¿ý…Gšs†aé +piß&^jmÜÁcg3ë¿/pèXàIÙw8ÊUw<É9WÞÊæû¼Þçy]ê¨êoƒ„(++Ãd4‘–žÊÏK—I;ý_Ìû_ÿì^Ý·G+àb¿.UëK`Ðëxèò.Ìû`#›zÎ,3—óæg?òæg?ÒºY£ÎíÇþ=è×½ƒO*ðÃÇO°rÝ6–­ZÏ÷¿þÅ#Ùšî­oëtîÛ©îÔü{ƒÄÓc4IHL`ñO~¤qŸô>¼Xwå ïý3ïý3ÍÕgÔ`ñ{÷ïÑÁg;ùc9y¬Ú°e+Åï½ç ÆÈD3àrGbÂö”.JìÆöiÌÍ„¶Ëh¶pßg[Xù¯¼G8%)VM³ÈHM")!UU)*)%;7Ÿ½‡ŽQX,Ï ?¬kƒ[Ge(áÁ/·²d“S7äTà&Ém>Ñ64--•¼näI¯—–_,&š«ØŒëÿróCœÎePR÷W^ÁÍãsyes›ö´žWë=ĸ]Ü0ú2æMÉ¿¨faT2ØäÏœ ¢$s€k͈o صb\ˆ¢ˆîtûP’•ÊÃßEã‘NÞÚÕÌšOZΫ.Ùƒ™}u7^“MöàDõ¢…r`Áë7±¯ýa(p b||ÌÀ;ò¦#±ý±˜sʱ¹h\>$™»g³`F»›ÚÙUŒ] Ǩ;t‚#'ô¯Ø¡é _šJYá`Ê 3(ÍJ‹.ŸQ’gØÛAø¬Ëû:Ðï9Ù®šz hÚïMCœŽ@!¢;ˆ‚õŽè @Ãír1*o£ò1ª4|8ÙÕCó±Óœìꡳ«— ’ãcIIˆ!'#‰¤Hiß ÊFà³|F*Þ~àrú_Úiâ І´êÖƒñˆ‘¥»÷˜ITlÞHIˆeøeT 3œ¸€›‘°ÜîÞŸÌCnD³ˆ'"mø1Q‡0‹vfãŸ0f°9~;„œ¨=8˜€ ˜„D¶ŸÞ”ÚqH(m"¥uÎà|R™ý¯6à0bwÇ"Å2/Źò,‚Ïeèî nüÜÁ:t{k¬bÖrg`®mï F'yUsu(9÷5ÍÔî䪼tRí:8ÜÞÅoÕ°þS/™]ÀWHI«®aUtk€^Z ¬òyg{€ »±½öwLÍçÛ“†Y>ËÍÁ;§»{Yµ¥‘nk¤«GG*·‰OFÂgÁÉ9„žÄ³ ¥@K“:¼ܤ70'#‰E³Š©¸2°¾é¡Çãw>máÏk÷û¯„LGløÑD… &b؃<õ½×Ê9—7¯kK› üX„¢´AYAKç §Ø‰¡[š½Í¬¨ª¡ºq€-Ôr½½ÅÛ\G=­@r°×§Xüh¹poš¡œC7ð,ð ÔeO.b æaÀoùª“K‡pïÜR§œ–Ÿ8zŠç×Õ±a·²1‰a»oöQ„tšptcþÑŽØùýrܸf°ÎæÓ0Ò½A ±n¾9!;* Hv*îèrº»—lmdå–FïÉ;çã—ÝÆ#ë­ë"ñMCqNt ñÒïŸ?$…Ø‚iœ»‘º.¢(ï04-3Š˜=&Ë©³w¬®>ȳk÷sTQ·³vß‹èæ|™‚æz•N0q%–ã” ñÆ^äVV2= <<ƒw ̸ý2ßÀ}(ÒIF䤳tîpFå9ò2€=Mí,¯ªá³JSn@v_1ì" æ›?)[ÐŒÈwÕ[ððR]!h˜ùü-þˆ"ÉÈ̓ŊÉLNYñáŽ.ž[[ÇšêƒFÜõ¶ûL°?ˆRàF¤a4Ò‰ˆrÉw×!ÓO̘J(à3‘0’nîĸ¾3yó¦äçÄ®ž>^{ÿ/ojàÔå >hvŸÉò‡”« zÒŽ{‘›~#pZ9ºøgåÚ¦* ܰÌ4/3‰3Š˜vUdW‰Üº¯•'ß®áà1å•І|oA³ûB€æz U é+0†ÈN;®C¶nõþ$ò½y“kPå†e¦e…"+.º4²äeûš;XQUËÇJiv_1ì" æ™?©ÒŠèök”#=ÀJà~à ¹“:K¸öܱˆY0UoPŒÛÅMc³ùÁô"'[½ »>ÇOuó·wø÷MFÒt×#v¾)v_¸ñݨy5pRXÔΜ¶ïa$>ó"×Þnî¤.&܇®J`ÒÉ'i‰±|ïúBnŸKŒ;ÜSö?ÓtCb÷…Cþ [§kòÝ5Èa^Ÿ&d½*×+ÜMšÌôûþåC’Yl£´ãëD¾ÛpXy%hvß#qÙãiÇ™ˆ@¿Ju¨GÂzê4ÝSȃ/˜r퀰 ‘‹8>桘׸¢ î[jÙöÜG$M÷½ešnXì>‹9iÇÆÓtA¸K¶¥aÇJ€Æxä˜8IoÓŽ;N÷°j˼ºý€ùîÄî{Ïü™Yš2$l¨ëÂxަc´cÿÒtw"~ÍæNÊ?¬¸€Ìk>RÉ$Koà ä8î¬oÚqŸÇÚêþôÎ~ÚN*å»a·û,Š!IHÃpÊŠýKÓ=‚TÕzšÐ˵•XuÐ0,3-ÍNcÙœÆ\ZYñΆ6VTÕ²¿Ey%XÆî³0†ýAaK;nBìü/•#5¹öƒxïh ¬¾h ~‡ôŸÕeréî›[J–ÉiLJڻx~]«« ™î–²ûl€a¥ˆ Óäù—¦»1ïi–Rì²hLGìÅÑzƒãb¸µ<—;+ H rÚ±–¦»jk#gôºì»»oSP'=”#þ ‰º£´´ãé@Bg ¥énƈ.o/"×~+ȳ0 »m ‘áï#Gi]™éÐôLNÚ±Ç÷â™5ûi9®ŒÔYÚýA¤×#ÎÂ`øö"Ç}u—6d~O`$›ßBØqÐÈ@rᢋ\•›ÎÒ9%ŒÌKèíùªUµ|ú¥Ò”³…ÝgS4ÐOQ=çs³@·j¥ÆÓtµjË?¦rm;oW"2Ó¹zƒ´nF g“i°›QkG}·Áh—ÛØ}6ǰ?ˆ‘ˆ¬ØhÚ±iºó®Úà§[’HØ4*‘#X±Þ ¤ønŸ4ŒùSó}v3êîíã?~Å ëëèT§éîCì¾7˜³CàÌ@Ö[×DR­øký÷†iº_"QŠWŒNÔÊDÒge¦!‰¦>ñ•v¼u_+Ëß®¡Y¦{ ‘îÚÎî‹ 4Ðo‘À o|¥×!Ç}eÍÕ¨’kÛžlà9DŸåÑ{][˜áyùžrÏÊE<åÅ™ºcû_½ÈîÙ ìE&-èFµ~x¸KðPª\kb ¼ŠÓÙ–ŒGÄšº‹ëvyÜ.—‘‹aª#§C8¬‘þ:ºñcèæß†\C6§áYto¯FàŽPOÚ!`*‘Ôê@×» YïH3‘£šdDRÜñ ájtªÚÛ8$*sãëÝ‰ØøúÝlM>bÓ©ì¾—‘ˆ²ƒ½ÉAÖ²ý5§`yT1)Átá…°UÇ;r-’¸{ázïDÕ9‚ù?€kT…À.IEND®B`‚pioneers-15.5/editor/gtk/game-resources.c0000644000175000017500000000363311656052403015360 00000000000000#include "config.h" #include "game.h" #include #include #include #include "game-resources.h" static void game_resources_init(GameResources * gr); /* Register the class */ GType game_resources_get_type(void) { static GType gr_type = 0; if (!gr_type) { static const GTypeInfo gr_info = { sizeof(GameResourcesClass), NULL, /* base_init */ NULL, /* base_finalize */ NULL, /* class init */ NULL, /* class_finalize */ NULL, /* class_data */ sizeof(GameResources), 0, (GInstanceInitFunc) game_resources_init, NULL }; gr_type = g_type_register_static(GTK_TYPE_TABLE, "GameResources", &gr_info, 0); } return gr_type; } /* Build the composite widget */ static void game_resources_init(GameResources * gr) { GtkWidget *label; GtkWidget *spin; GtkAdjustment *adjustment; gtk_table_resize(GTK_TABLE(gr), 1, 2); gtk_table_set_row_spacings(GTK_TABLE(gr), 3); gtk_table_set_col_spacings(GTK_TABLE(gr), 5); gtk_table_set_homogeneous(GTK_TABLE(gr), TRUE); label = gtk_label_new(_("Resource count")); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); gtk_table_attach_defaults(GTK_TABLE(gr), label, 0, 1, 0, 1); adjustment = GTK_ADJUSTMENT(gtk_adjustment_new(0, 0, 100, 1, 5, 0)); spin = gtk_spin_button_new(GTK_ADJUSTMENT(adjustment), 1, 0); gtk_entry_set_alignment(GTK_ENTRY(spin), 1.0); gtk_table_attach_defaults(GTK_TABLE(gr), spin, 1, 2, 0, 1); gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(spin), TRUE); gr->num_resources = GTK_SPIN_BUTTON(spin); } /* Create a new instance of the widget */ GtkWidget *game_resources_new(void) { return GTK_WIDGET(g_object_new(game_resources_get_type(), NULL)); } void game_resources_set_num_resources(GameResources * gr, gint num) { gtk_spin_button_set_value(gr->num_resources, num); } gint game_resources_get_num_resources(GameResources * gr) { return gtk_spin_button_get_value_as_int(gr->num_resources); } pioneers-15.5/editor/gtk/editor.c0000644000175000017500000015367213252223516013735 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 2005 Brian Wellington * Copyright (C) 2005,2011 Roland Clobus * Copyright (C) 2005,2006 Bas Wijnen * Copyright (C) 2011-2013 Micah Bunting * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include "version.h" #ifdef HAVE_LOCALE_H #include #endif #include #include "aboutbox.h" #include "config-gnome.h" #include "game.h" #include "game-settings.h" #include "game-rules.h" #include "game-devcards.h" #include "game-buildings.h" #include "game-resources.h" #include "scrollable-text-view.h" #include "guimap.h" #include "theme.h" #include "map-icons.h" #include "colors.h" #include "common_gtk.h" #include "cards.h" #include "network.h" #define MAINICON_FILE "pioneers-editor.png" #define MAP_WIDTH 550 /* default map width */ #define MAP_HEIGHT 400 /* default map height */ #define BUTTON_HEIGHT 24 /* height of the toolbar buttons */ #define TERRAIN_BUTTON_WIDTH 27 /* width of the terrain toolbar buttons */ static GtkWidget *toplevel; static gchar *default_game; static gchar *window_title; static gchar *open_filename; static GameSettings *game_settings; static GameRules *game_rules; static GameDevCards *game_devcards; static GameBuildings *game_buildings; static GameResources *game_resources; static GtkWidget *game_title; static GtkWidget *game_description; static GtkWidget *game_comments; static GtkWidget *terrain_menu; static GtkWidget *roll_menu; static GtkWidget *roll_numbers[12 + 1]; static GtkCheckMenuItem *shuffle_tile; static GtkWidget *port_menu; static GtkWidget *port_directions[6]; static GtkWidget *hresize_buttons[4]; static GtkWidget *vresize_buttons[4]; typedef enum { RESIZE_INSERT_LEFT, RESIZE_REMOVE_LEFT, RESIZE_INSERT_RIGHT, RESIZE_REMOVE_RIGHT } hresize_type; /* order of vresize must match order of hresize */ typedef enum { RESIZE_INSERT_TOP, RESIZE_REMOVE_TOP, RESIZE_INSERT_BOTTOM, RESIZE_REMOVE_BOTTOM } vresize_type; static GuiMap *gmap; static Hex *current_hex; typedef enum { TERRAIN_TOOLBAR_BUTTON_TYPE, CHIT_TOOLBAR_BUTTON_TYPE, PORT_TOOLBAR_BUTTON_TYPE, NO_TOOLBAR_BUTTON_TYPE } ToolbarButtonType; typedef struct { ToolbarButtonType type; union { Terrain terrain; gint chit; Resource port; } element; } ToolbarButtonData; static ToolbarButtonData selected_toolbar_button; static const gchar *terrain_names[] = { /* Use an unique shortcut key for each resource */ N_("_Hill"), /* Use an unique shortcut key for each resource */ N_("_Field"), /* Use an unique shortcut key for each resource */ N_("_Mountain"), /* Use an unique shortcut key for each resource */ N_("_Pasture"), /* Use an unique shortcut key for each resource */ N_("F_orest"), /* Use an unique shortcut key for each resource */ N_("_Desert"), /* Use an unique shortcut key for each resource */ N_("_Sea"), /* Use an unique shortcut key for each resource */ N_("_Gold"), /* Use an unique shortcut key for each resource */ N_("_None") }; static const gchar *port_names[] = { /* Use an unique shortcut key for each port type */ N_("_Brick (2:1)"), /* Use an unique shortcut key for each port type */ N_("_Grain (2:1)"), /* Use an unique shortcut key for each port type */ N_("_Ore (2:1)"), /* Use an unique shortcut key for each port type */ N_("_Wool (2:1)"), /* Use an unique shortcut key for each port type */ N_("_Lumber (2:1)"), /* Use an unique shortcut key for each port type */ N_("_None"), /* Use an unique shortcut key for each port type */ N_("_Any (3:1)") }; static const gchar *port_direction_names[] = { /* East */ N_("East|E"), /* North east */ N_("North East|NE"), /* North west */ N_("North West|NW"), /* West */ N_("West|W"), /* South west */ N_("South West|SW"), /* South east */ N_("South East|SE") }; static void check_vp_cb(GObject * caller, gpointer main_window); static void set_window_title(const gchar * title); static void error_dialog(const char *fmt, ...) { GtkWidget *dialog; gchar *buf; va_list ap; va_start(ap, fmt); buf = g_strdup_vprintf(fmt, ap); va_end(ap); dialog = gtk_message_dialog_new(GTK_WINDOW(toplevel), GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, "%s", buf); g_free(buf); gtk_dialog_run(GTK_DIALOG(dialog)); gtk_widget_destroy(dialog); } static void fill_map(Map * map) { gint x, y; for (y = 0; y < map->y_size; y++) { for (x = 0; x < map->x_size; x++) { if (x == 0 && y % 2 == 0 && map->shrink_left) { continue; } if (x == map->x_size - 1 && y % 2 == 1 && map->shrink_right) { continue; } if (map->grid[y][x] != NULL) { continue; } /* Add a default hex on the empty spot */ map_reset_hex(map, x, y); } } } static void canonicalize_map(Map * map) { Hex *hex; gint x, y; gint sequence_number; if (map->chits != NULL) g_array_free(map->chits, TRUE); map->chits = g_array_new(FALSE, FALSE, sizeof(gint)); sequence_number = 0; for (y = 0; y < map->y_size; y++) { for (x = 0; x < map->x_size; x++) { hex = map->grid[y][x]; if (hex == NULL) continue; if (hex->roll > 0) { g_array_append_val(map->chits, hex->roll); hex->chit_pos = sequence_number++; } else if (hex->terrain == DESERT_TERRAIN) { hex->chit_pos = sequence_number++; } } } } static gboolean terrain_has_chit(Terrain terrain) { if (terrain == HILL_TERRAIN || terrain == FIELD_TERRAIN || terrain == MOUNTAIN_TERRAIN || terrain == PASTURE_TERRAIN || terrain == FOREST_TERRAIN || terrain == GOLD_TERRAIN) return TRUE; return FALSE; } /** Changes the terrain of a hex to terrain. * @param hex The hex to change the terrain of. * @param terrain The terrain to change the hex terrain to. */ static void change_terrain(Hex * hex, Terrain terrain) { Hex *adjacent; gint i; if (terrain == hex->terrain) return; hex->terrain = terrain; if (terrain_has_chit(terrain)) { if (hex->roll == 0) hex->roll = 2; } else hex->roll = 0; if (terrain != SEA_TERRAIN) hex->resource = NO_RESOURCE; /* If terrain is not land, * remove all ports on adjacent hexes that point to hex */ if (terrain == SEA_TERRAIN || terrain == LAST_TERRAIN) { for (i = 0; i < 6; i++) { adjacent = hex_in_direction(hex, i); if (adjacent != NULL && adjacent->resource != NO_RESOURCE && adjacent->facing == (i + 3) % 6) { adjacent->resource = NO_RESOURCE; adjacent->facing = 0; guimap_draw_hex(gmap, adjacent); } } } guimap_draw_hex(gmap, hex); return; } /** Draws the chit in the exposed area. * @param widget The widget to draw on * @param cr The cairo context * @param chip_number The chit number of the hex. * @return TRUE if event is handled. */ static gboolean draw_chit_cb(GtkWidget * widget, cairo_t * cr, gpointer chip_number) { PangoLayout *layout; layout = gtk_widget_create_pango_layout(widget, ""); draw_dice_roll(layout, cr, 12, 10, 15, GPOINTER_TO_INT(chip_number), GOLD_TERRAIN, FALSE); g_object_unref(layout); return TRUE; } /** Draws the port in the exposed area. * @param widget The widget to draw on * @param cr The cairo context * @param port_type The type of the port. * @return TRUE if event is handled. */ static gboolean draw_port_cb(GtkWidget * widget, cairo_t * cr, gpointer port_type) { PangoLayout *layout; MapTheme *theme; gint width; gint height; layout = gtk_widget_create_pango_layout(widget, ""); theme = theme_get_current(); width = gdk_pixbuf_get_width(theme->terrain_tiles[SEA_TERRAIN]); height = gdk_pixbuf_get_height(theme->terrain_tiles[SEA_TERRAIN]); gdk_cairo_set_source_pixbuf(cr, theme->terrain_tiles[SEA_TERRAIN], BUTTON_HEIGHT / 2 - width / 2, BUTTON_HEIGHT / 2 - height / 2); cairo_pattern_set_extend(cairo_get_source(cr), CAIRO_EXTEND_REPEAT); cairo_paint(cr); draw_port_indicator(layout, cr, BUTTON_HEIGHT / 2, BUTTON_HEIGHT / 2, 11, GPOINTER_TO_INT(port_type)); g_object_unref(layout); return TRUE; } /** Draws the unselect button. * @param widget The widget to draw on * @param cr The cairo context * @param user_data Not used * @return TRUE if event is handled */ static gboolean draw_unselect_cb(G_GNUC_UNUSED GtkWidget * widget, cairo_t * cr, G_GNUC_UNUSED gpointer user_data) { gdk_cairo_set_source_color(cr, &white); cairo_paint(cr); return TRUE; } /** Selects the toolbar button that was clicked. * @param button The GtkButton that was clicked. * @param user_data A ToolbarButtonData to set selected_toolbar_button to. * @return TRUE if event is handled. */ static gboolean toolbar_click(G_GNUC_UNUSED GtkButton * button, G_GNUC_UNUSED gpointer user_data) { ToolbarButtonData *toolbar_data = user_data; selected_toolbar_button = *toolbar_data; return TRUE; } /** The tooltips for the terrain toolbar buttons. */ static const gchar *TERRAIN_TOOLBAR_TOOLTIP[] = { N_("Place a hill hex"), N_("Place a field hex"), N_("Place a mountain hex"), N_("Place a pasture hex"), N_("Place a forest hex"), N_("Place a desert hex"), N_("Place a sea hex"), N_("Place a gold hex"), N_("Clear the hex") }; /** The tooltips for the chit toolbar buttons. */ static const gchar *CHIT_TOOLBAR_TOOLTIP[] = { NULL, NULL, N_("Place a 2 chit"), N_("Place a 3 chit"), N_("Place a 4 chit"), N_("Place a 5 chit"), N_("Place a 6 chit"), NULL, N_("Place an 8 chit"), N_("Place a 9 chit"), N_("Place a 10 chit"), N_("Place an 11 chit"), N_("Place a 12 chit") }; /** The tooltips for the port toolbar buttons. */ static const gchar *PORT_TOOLBAR_TOOLTIP[] = { N_("Place a brick 2:1 port"), N_("Place a grain 2:1 port"), N_("Place an ore 2:1 port"), N_("Place a wool 2:1 port"), N_("Place a lumber 2:1 port"), /* Tooltip to remove a port tile in the editor */ N_("Remove a port"), N_("Place a 3:1 port") }; /** Builds toolbars for selecting terrains, chits, and ports. Places toolbar in * the table at the top. * @param table The table to place toolbar in. */ static void build_select_bars(GtkWidget * table) { GtkWidget *box; GtkWidget *area; GtkWidget *button; GSList *group; GtkWidget *vsep; gint i; ToolbarButtonData *toolbar_button_data; box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); /* upper bar */ area = gtk_drawing_area_new(); gtk_widget_show(area); gtk_widget_set_size_request(area, BUTTON_HEIGHT, TERRAIN_BUTTON_WIDTH); g_signal_connect(G_OBJECT(area), "draw", G_CALLBACK(draw_unselect_cb), GINT_TO_POINTER(1)); button = GTK_WIDGET(gtk_radio_tool_button_new(NULL)); gtk_tool_button_set_icon_widget(GTK_TOOL_BUTTON(button), area); gtk_box_pack_start(GTK_BOX(box), button, FALSE, TRUE, 0); gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM(button), _ ("Select the terrain type with the context " "menu on the left click or toggle a node to " "exclude it from being used during the setup " "phase")); toolbar_button_data = g_malloc(sizeof(*toolbar_button_data)); toolbar_button_data->type = NO_TOOLBAR_BUTTON_TYPE; g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(toolbar_click), toolbar_button_data); /* initialize selected toolbar button to not selected. */ selected_toolbar_button.type = NO_TOOLBAR_BUTTON_TYPE; gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(button), TRUE); /* Line between unselect and terrains */ vsep = gtk_separator_new(GTK_ORIENTATION_VERTICAL); gtk_widget_show(vsep); gtk_widget_set_size_request(vsep, 10, 0); gtk_box_pack_start(GTK_BOX(box), vsep, FALSE, TRUE, 0); /* terrain toolbar buttons */ for (i = 0; i <= LAST_TERRAIN; i++) { area = terrain_icon_new(i); group = gtk_radio_tool_button_get_group(GTK_RADIO_TOOL_BUTTON (button)); button = GTK_WIDGET(gtk_radio_tool_button_new(group)); gtk_tool_button_set_icon_widget(GTK_TOOL_BUTTON(button), area); gtk_box_pack_start(GTK_BOX(box), button, FALSE, TRUE, 0); gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM(button), _(TERRAIN_TOOLBAR_TOOLTIP [i])); toolbar_button_data = g_malloc(sizeof(*toolbar_button_data)); toolbar_button_data->type = TERRAIN_TOOLBAR_BUTTON_TYPE; toolbar_button_data->element.terrain = i; g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(toolbar_click), toolbar_button_data); } gtk_table_attach(GTK_TABLE(table), box, 0, 2, 0, 1, GTK_FILL, GTK_FILL, 0, 0); box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); /* lower bar */ /* chit toolbar buttons */ for (i = 2; i <= 12; i++) { if (i == 7) { continue; } area = gtk_drawing_area_new(); gtk_widget_show(area); gtk_widget_set_size_request(area, BUTTON_HEIGHT, BUTTON_HEIGHT); g_signal_connect(G_OBJECT(area), "draw", G_CALLBACK(draw_chit_cb), GINT_TO_POINTER(i)); group = gtk_radio_tool_button_get_group(GTK_RADIO_TOOL_BUTTON (button)); button = GTK_WIDGET(gtk_radio_tool_button_new(group)); gtk_tool_button_set_icon_widget(GTK_TOOL_BUTTON(button), area); gtk_box_pack_start(GTK_BOX(box), button, FALSE, TRUE, 0); gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM(button), _(CHIT_TOOLBAR_TOOLTIP[i])); toolbar_button_data = g_malloc(sizeof(*toolbar_button_data)); toolbar_button_data->type = CHIT_TOOLBAR_BUTTON_TYPE; toolbar_button_data->element.chit = i; g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(toolbar_click), toolbar_button_data); } /* Line between chit and port */ vsep = gtk_separator_new(GTK_ORIENTATION_VERTICAL); gtk_widget_show(vsep); gtk_widget_set_size_request(vsep, 10, 0); gtk_box_pack_start(GTK_BOX(box), vsep, FALSE, TRUE, 0); /* port toolbar buttons */ for (i = 0; i <= ANY_RESOURCE; i++) { area = gtk_drawing_area_new(); gtk_widget_show(area); gtk_widget_set_size_request(area, BUTTON_HEIGHT, BUTTON_HEIGHT); g_signal_connect(G_OBJECT(area), "draw", G_CALLBACK(draw_port_cb), GINT_TO_POINTER(i)); group = gtk_radio_tool_button_get_group(GTK_RADIO_TOOL_BUTTON (button)); button = GTK_WIDGET(gtk_radio_tool_button_new(group)); gtk_tool_button_set_icon_widget(GTK_TOOL_BUTTON(button), area); gtk_box_pack_start(GTK_BOX(box), button, FALSE, TRUE, 0); gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM(button), _(PORT_TOOLBAR_TOOLTIP[i])); toolbar_button_data = g_malloc(sizeof(*toolbar_button_data)); toolbar_button_data->type = PORT_TOOLBAR_BUTTON_TYPE; toolbar_button_data->element.port = i; g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(toolbar_click), toolbar_button_data); } gtk_table_attach(GTK_TABLE(table), box, 0, 2, 1, 2, GTK_FILL, GTK_FILL, 0, 0); } static void build_map_resize(GtkWidget * table, guint col, guint row, GtkOrientation dir, GtkWidget ** buttons, GCallback resize_callback) { /* symbols[] must match order of hresize_type and vresize_type; */ static const gchar *symbols[] = { "list-add", "list-remove", "list-add", "list-remove" }; /* The order must match hresize_type and vresize_type, and also depends on the orientation */ static const gchar *tooltip[] = { N_("Insert a row"), N_("Delete a row"), N_("Insert a column"), N_("Delete a column") }; GtkWidget *box; gint i; box = gtk_box_new(dir, 0); for (i = 0; i < 4; i++) { buttons[i] = GTK_WIDGET(gtk_tool_button_new(NULL, NULL)); gtk_tool_button_set_icon_name(GTK_TOOL_BUTTON(buttons[i]), symbols[i]); gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM(buttons[i]), _(tooltip [i % 2 + (dir == GTK_ORIENTATION_VERTICAL ? 0 : 2)])); if (i < 2) { gtk_box_pack_start(GTK_BOX(box), buttons[i], FALSE, TRUE, 0); } else { gtk_box_pack_end(GTK_BOX(box), buttons[i], FALSE, TRUE, 0); } g_signal_connect(G_OBJECT(buttons[i]), "clicked", resize_callback, GINT_TO_POINTER(i)); } gtk_box_pack_start(GTK_BOX(box), gtk_fixed_new(), TRUE, TRUE, 0); gtk_table_attach(GTK_TABLE(table), box, col, col + 1, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); } static void scale_map(GuiMap * gmap) { GtkAllocation allocation; gtk_widget_get_allocation(gmap->area, &allocation); guimap_scale_to_size(gmap, allocation.width, allocation.height); gtk_widget_queue_draw(gmap->area); } static gboolean enter_notify_map_cb(GtkWidget * widget, GdkEventCrossing * event, G_GNUC_UNUSED gpointer user_data) { if (event->mode != GDK_CROSSING_GTK_UNGRAB) { /* Do not grab the focus when a ScrollableTextView * is focussed on another tab page */ gtk_widget_grab_focus(widget); } return FALSE; } static gint button_press_map_cb(GtkWidget * area, GdkEventButton * event, gpointer user_data) { GuiMap *gmap = user_data; GtkWidget *menu; const Hex *adjacent; gboolean port_ok; gint num_ports; gint i; guint idx; if (gtk_widget_get_window(area) == NULL || gmap->map == NULL) return FALSE; current_hex = guimap_get_current_hex(gmap); if (current_hex == NULL) return TRUE; menu = NULL; if (event->button == 1) { MapElement element; Node *current_node; gint distance_node; gint distance_hex; switch (selected_toolbar_button.type) { case TERRAIN_TOOLBAR_BUTTON_TYPE: change_terrain(current_hex, selected_toolbar_button. element.terrain); return TRUE; case CHIT_TOOLBAR_BUTTON_TYPE: if (terrain_has_chit(current_hex->terrain)) { current_hex->roll = selected_toolbar_button.element.chit; guimap_draw_hex(gmap, current_hex); } return TRUE; case PORT_TOOLBAR_BUTTON_TYPE: if (current_hex->terrain == SEA_TERRAIN) { /* If selected resource is NO_RESOURCE, * remove port from hex regardless of * nearest edge. */ if (selected_toolbar_button.element.port == NO_RESOURCE) { current_hex->resource = NO_RESOURCE; guimap_draw_hex(gmap, current_hex); return TRUE; } /* Find nearest edge. This determines the * direction of the port. */ const Edge *edge; edge = guimap_get_current_edge(gmap); gint i; for (i = 0; i < 6; i++) if (current_hex->edges[i] == edge) break; /* Verify adjacent hex is a land hex */ adjacent = hex_in_direction(current_hex, i); if (adjacent != NULL && adjacent->terrain != LAST_TERRAIN && adjacent->terrain != SEA_TERRAIN) { /* change hex resources and direction */ current_hex->facing = i; current_hex->resource = selected_toolbar_button. element.port; guimap_draw_hex(gmap, current_hex); } } return TRUE; case NO_TOOLBAR_BUTTON_TYPE: break; } current_node = guimap_get_current_node(gmap); element.node = current_node; distance_node = guimap_distance_cursor(gmap, &element, MAP_NODE); element.hex = current_hex; distance_hex = guimap_distance_cursor(gmap, &element, MAP_HEX); if (distance_node < distance_hex) { current_node->no_setup = !current_node->no_setup; for (idx = 0; idx < G_N_ELEMENTS(current_node->hexes); idx++) { guimap_draw_hex(gmap, current_node->hexes[idx]); } return TRUE; } else { menu = terrain_menu; } } else if (event->button == 3 && current_hex->roll > 0) { menu = roll_menu; for (i = 2; i <= 12; i++) { if (roll_numbers[i] != NULL) gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM(roll_numbers[i]), current_hex->roll == i); } gtk_check_menu_item_set_active(shuffle_tile, current_hex->shuffle); } else if (event->button == 3 && current_hex->terrain == SEA_TERRAIN) { num_ports = 0; for (i = 0; i < 6; i++) { adjacent = hex_in_direction(current_hex, i); port_ok = FALSE; if (adjacent != NULL && adjacent->terrain != LAST_TERRAIN && adjacent->terrain != SEA_TERRAIN) { num_ports++; if (current_hex->resource != NO_RESOURCE) port_ok = TRUE; } gtk_widget_set_sensitive(port_directions[i], port_ok); gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM (port_directions [i]), current_hex->facing == i && port_ok); } if (num_ports > 0) menu = port_menu; } if (menu != NULL) gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, event->button, event->time); return TRUE; } static gint key_press_map_cb(GtkWidget * area, GdkEventKey * event, gpointer user_data) { static Hex *last_hex = NULL; static gchar *last_key = NULL; GuiMap *gmap = user_data; gboolean plus10; if (gtk_widget_get_window(area) == NULL || gmap->map == NULL) return FALSE; get_mouse_position(area, &gmap->last_x, &gmap->last_y); last_hex = current_hex; current_hex = guimap_get_current_hex(gmap); if (current_hex == NULL || !terrain_has_chit(current_hex->terrain)) return TRUE; if (last_hex == current_hex && g_strcmp0(last_key, "1") == 0) plus10 = TRUE; else plus10 = FALSE; if (!plus10 && strcmp(event->string, "2") == 0) current_hex->roll = 2; else if (strcmp(event->string, "3") == 0) current_hex->roll = 3; else if (strcmp(event->string, "4") == 0) current_hex->roll = 4; else if (strcmp(event->string, "5") == 0) current_hex->roll = 5; else if (strcmp(event->string, "6") == 0) current_hex->roll = 6; else if (strcmp(event->string, "8") == 0) current_hex->roll = 8; else if (strcmp(event->string, "9") == 0) current_hex->roll = 9; else if (plus10 && strcmp(event->string, "0") == 0) current_hex->roll = 10; else if (plus10 && strcmp(event->string, "1") == 0) current_hex->roll = 11; else if (plus10 && strcmp(event->string, "2") == 0) current_hex->roll = 12; guimap_draw_hex(gmap, current_hex); g_free(last_key); last_key = g_strdup(event->string); return TRUE; } static void update_resize_buttons(void) { gboolean can_insert_left; gboolean can_insert_right; gtk_widget_set_sensitive(hresize_buttons[RESIZE_REMOVE_LEFT], gmap->map->x_size > 1 || !(gmap->map->shrink_right || gmap->map->shrink_left)); gtk_widget_set_sensitive(hresize_buttons[RESIZE_REMOVE_RIGHT], gmap->map->x_size > 1 || !(gmap->map->shrink_right || gmap->map->shrink_left)); /* Logic table: * x ? SIZE shrink result * < X T (not max) * = F F (completely full) * = T shrink (only on one side) */ if (gmap->map->x_size < MAP_SIZE) { /* Not at maximum size */ can_insert_left = TRUE; can_insert_right = TRUE; } else if (!(gmap->map->shrink_left || gmap->map->shrink_right)) { /* Completely full */ can_insert_left = FALSE; can_insert_right = FALSE; } else { /* Only room on one side */ can_insert_left = gmap->map->shrink_left; can_insert_right = gmap->map->shrink_right; } gtk_widget_set_sensitive(hresize_buttons[RESIZE_INSERT_LEFT], can_insert_left); gtk_widget_set_sensitive(hresize_buttons[RESIZE_INSERT_RIGHT], can_insert_right); gtk_widget_set_sensitive(vresize_buttons[RESIZE_REMOVE_TOP], gmap->map->y_size > 1 && (gmap->map->x_size < MAP_SIZE || gmap->map->shrink_left)); gtk_widget_set_sensitive(vresize_buttons[RESIZE_REMOVE_BOTTOM], gmap->map->y_size > 1); gtk_widget_set_sensitive(vresize_buttons[RESIZE_INSERT_TOP], gmap->map->y_size < MAP_SIZE && (gmap->map->x_size < MAP_SIZE || gmap->map->shrink_left)); gtk_widget_set_sensitive(vresize_buttons[RESIZE_INSERT_BOTTOM], gmap->map->y_size < MAP_SIZE); scale_map(gmap); guimap_display(gmap); } static void change_height(G_GNUC_UNUSED GtkWidget * menu, gpointer user_data) { switch (GPOINTER_TO_INT(user_data)) { case RESIZE_REMOVE_BOTTOM: map_modify_row_count(gmap->map, MAP_MODIFY_REMOVE, MAP_MODIFY_ROW_BOTTOM); break; case RESIZE_INSERT_BOTTOM: map_modify_row_count(gmap->map, MAP_MODIFY_INSERT, MAP_MODIFY_ROW_BOTTOM); break; case RESIZE_REMOVE_TOP: map_modify_row_count(gmap->map, MAP_MODIFY_REMOVE, MAP_MODIFY_ROW_TOP); break; case RESIZE_INSERT_TOP: map_modify_row_count(gmap->map, MAP_MODIFY_INSERT, MAP_MODIFY_ROW_TOP); break; } update_resize_buttons(); } static void change_width(G_GNUC_UNUSED GtkWidget * menu, gpointer user_data) { switch (GPOINTER_TO_INT(user_data)) { case RESIZE_REMOVE_RIGHT: map_modify_column_count(gmap->map, MAP_MODIFY_REMOVE, MAP_MODIFY_COLUMN_RIGHT); break; case RESIZE_INSERT_RIGHT: map_modify_column_count(gmap->map, MAP_MODIFY_INSERT, MAP_MODIFY_COLUMN_RIGHT); break; case RESIZE_REMOVE_LEFT: map_modify_column_count(gmap->map, MAP_MODIFY_REMOVE, MAP_MODIFY_COLUMN_LEFT); break; case RESIZE_INSERT_LEFT: map_modify_column_count(gmap->map, MAP_MODIFY_INSERT, MAP_MODIFY_COLUMN_LEFT); break; } update_resize_buttons(); } static GtkWidget *build_map(void) { GtkWidget *table; GtkWidget *area; table = gtk_table_new(4, 2, FALSE); gmap = guimap_new(); guimap_set_show_no_setup_nodes(gmap, TRUE); area = guimap_build_drawingarea(gmap, MAP_WIDTH, MAP_HEIGHT); gtk_widget_set_can_focus(area, TRUE); gtk_widget_add_events(gmap->area, GDK_ENTER_NOTIFY_MASK | GDK_BUTTON_PRESS_MASK | GDK_KEY_PRESS_MASK); g_signal_connect(G_OBJECT(gmap->area), "enter_notify_event", G_CALLBACK(enter_notify_map_cb), gmap); g_signal_connect(G_OBJECT(gmap->area), "button_press_event", G_CALLBACK(button_press_map_cb), gmap); g_signal_connect(G_OBJECT(gmap->area), "key_press_event", G_CALLBACK(key_press_map_cb), gmap); gtk_table_attach(GTK_TABLE(table), gmap->area, 0, 1, 2, 3, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); build_select_bars(table); build_map_resize(table, 1, 2, GTK_ORIENTATION_VERTICAL, vresize_buttons, G_CALLBACK(change_height)); build_map_resize(table, 0, 3, GTK_ORIENTATION_HORIZONTAL, hresize_buttons, G_CALLBACK(change_width)); return table; } static gboolean update_title(GtkWidget * widget, G_GNUC_UNUSED GdkEvent event, G_GNUC_UNUSED gpointer user_data) { set_window_title(gtk_entry_get_text(GTK_ENTRY(widget))); return FALSE; } /** Builds the comments tab. * @return The comments tab. */ static GtkWidget *build_comments(void) { GtkWidget *vbox; GtkWidget *widget; vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5); /* Label */ widget = gtk_label_new_with_mnemonic(_("_Title")); gtk_widget_show(widget); gtk_misc_set_alignment(GTK_MISC(widget), 0.0, 0.5); gtk_box_pack_start(GTK_BOX(vbox), widget, FALSE, FALSE, 0); game_title = gtk_entry_new(); gtk_widget_show(game_title); gtk_box_pack_start(GTK_BOX(vbox), game_title, FALSE, FALSE, 0); gtk_label_set_mnemonic_widget(GTK_LABEL(widget), game_title); g_signal_connect(G_OBJECT(game_title), "focus-out-event", G_CALLBACK(update_title), NULL); /* Label */ widget = gtk_label_new_with_mnemonic(_("_Description")); gtk_widget_show(widget); gtk_misc_set_alignment(GTK_MISC(widget), 0.0, 0.5); gtk_box_pack_start(GTK_BOX(vbox), widget, FALSE, FALSE, 0); game_description = scrollable_text_view_new(); gtk_widget_show(game_description); gtk_box_pack_start(GTK_BOX(vbox), game_description, FALSE, FALSE, 0); gtk_label_set_mnemonic_widget(GTK_LABEL(widget), scrollable_text_view_get_for_mnemonic (SCROLLABLE_TEXT_VIEW (game_description))); scrollable_text_view_set_text(SCROLLABLE_TEXT_VIEW (game_description), ""); /* Label */ widget = gtk_label_new_with_mnemonic(_("_Comments")); gtk_widget_show(widget); gtk_misc_set_alignment(GTK_MISC(widget), 0.0, 0.5); gtk_box_pack_start(GTK_BOX(vbox), widget, FALSE, FALSE, 0); game_comments = scrollable_text_view_new(); gtk_widget_show(game_comments); gtk_box_pack_start(GTK_BOX(vbox), game_comments, TRUE, TRUE, 0); gtk_label_set_mnemonic_widget(GTK_LABEL(widget), scrollable_text_view_get_for_mnemonic (SCROLLABLE_TEXT_VIEW (game_comments))); return vbox; } static gint select_terrain_cb(G_GNUC_UNUSED GtkWidget * menu, gpointer user_data) { Terrain terrain = GPOINTER_TO_INT(user_data); change_terrain(current_hex, terrain); return TRUE; } static GtkWidget *build_terrain_menu(void) { gint i; GtkWidget *menu; GtkWidget *item; GdkPixbuf *pixbuf; GtkWidget *image; gint width; gint height; MapTheme *theme = theme_get_current(); menu = gtk_menu_new(); for (i = 0; i <= LAST_TERRAIN; i++) { item = gtk_image_menu_item_new_with_mnemonic(gettext (terrain_names [i])); gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); g_signal_connect(G_OBJECT(item), "activate", G_CALLBACK(select_terrain_cb), GINT_TO_POINTER(i)); if (i == LAST_TERRAIN) continue; /* Use the default size, or smaller */ gtk_icon_size_lookup(GTK_ICON_SIZE_MENU, &width, &height); if (height > width / theme->scaledata[i].aspect) { height = width / theme->scaledata[i].aspect; } else { width = height * theme->scaledata[i].aspect; } pixbuf = gdk_pixbuf_scale_simple(theme-> scaledata[i].native_image, width, height, GDK_INTERP_BILINEAR); image = gtk_image_new_from_pixbuf(pixbuf); gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), image); } gtk_widget_show_all(menu); return menu; } static void select_roll_cb(GtkCheckMenuItem * menu_item, gpointer user_data) { if (gtk_check_menu_item_get_active(menu_item)) { current_hex->roll = GPOINTER_TO_INT(user_data); guimap_draw_hex(gmap, current_hex); } } static void select_shuffle_cb(GtkCheckMenuItem * menu_item, G_GNUC_UNUSED gpointer user_data) { current_hex->shuffle = gtk_check_menu_item_get_active(menu_item); } static GtkWidget *build_roll_menu(void) { GtkWidget *menu; gint i; gchar buffer[128]; MapTheme *theme = theme_get_current(); THEME_COLOR tcolor; GdkColor *color; GtkWidget *item; GtkWidget *label; menu = gtk_menu_new(); for (i = 2; i <= 12; i++) { if (i == 7) continue; tcolor = (i == 6 || i == 8) ? TC_CHIP_H_FG : TC_CHIP_FG; color = &theme->colors[tcolor].color; sprintf(buffer, "%d", color->red, color->green, color->blue, i); item = gtk_check_menu_item_new(); label = gtk_label_new(""); gtk_label_set_markup(GTK_LABEL(label), buffer); gtk_container_add(GTK_CONTAINER(item), label); gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); g_signal_connect(G_OBJECT(item), "toggled", G_CALLBACK(select_roll_cb), GINT_TO_POINTER(i)); gtk_check_menu_item_set_draw_as_radio(GTK_CHECK_MENU_ITEM (item), TRUE); roll_numbers[i] = item; } gtk_menu_shell_append(GTK_MENU_SHELL(menu), gtk_separator_menu_item_new()); /* Menu item */ item = gtk_check_menu_item_new_with_label(_("Shuffle")); gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); g_signal_connect(G_OBJECT(item), "toggled", G_CALLBACK(select_shuffle_cb), NULL); shuffle_tile = GTK_CHECK_MENU_ITEM(item); gtk_widget_show_all(menu); return menu; } static gint select_port_resource_cb(G_GNUC_UNUSED GtkWidget * menu, gpointer user_data) { gint i; if (current_hex->resource == NO_RESOURCE) { for (i = 0; i < 6; i++) { const Hex *adjacent; adjacent = hex_in_direction(current_hex, i); if (adjacent != NULL && adjacent->terrain != LAST_TERRAIN && adjacent->terrain != SEA_TERRAIN) { current_hex->facing = i; break; } } } current_hex->resource = GPOINTER_TO_INT(user_data); guimap_draw_hex(gmap, current_hex); return TRUE; } static void select_port_direction_cb(GtkCheckMenuItem * menu_item, gpointer user_data) { if (gtk_check_menu_item_get_active(menu_item)) { current_hex->facing = GPOINTER_TO_INT(user_data); guimap_draw_hex(gmap, current_hex); } } static GtkWidget *build_port_menu(void) { gint i; GtkWidget *item; GdkPixbuf *pixbuf; GtkWidget *image; GtkWidget *menu; MapTheme *theme = theme_get_current(); menu = gtk_menu_new(); for (i = 0; i <= ANY_RESOURCE; i++) { item = gtk_image_menu_item_new_with_mnemonic(gettext (port_names[i])); gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); g_signal_connect(G_OBJECT(item), "activate", G_CALLBACK(select_port_resource_cb), GINT_TO_POINTER(i)); if (i >= NO_RESOURCE) continue; pixbuf = theme->port_tiles[i]; if (pixbuf == NULL) continue; image = gtk_image_new_from_pixbuf(pixbuf); gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), image); } gtk_menu_shell_append(GTK_MENU_SHELL(menu), gtk_separator_menu_item_new()); for (i = 0; i < 6; i++) { item = gtk_check_menu_item_new_with_label(Q_ (port_direction_names [i])); gtk_check_menu_item_set_draw_as_radio(GTK_CHECK_MENU_ITEM (item), TRUE); gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); g_signal_connect(G_OBJECT(item), "toggled", G_CALLBACK(select_port_direction_cb), GINT_TO_POINTER(i)); port_directions[i] = item; } gtk_widget_show_all(menu); return menu; } static GtkWidget *build_settings(GtkWindow * main_window) { /* vbox */ /* outer_hbox */ /* inner_hbox */ /* lvbox */ /* fix */ /* inner_hbox */ /* vsep */ /* rvbox */ GtkWidget *vbox; GtkWidget *outer_hbox; GtkWidget *inner_hbox; GtkWidget *lvbox; GtkWidget *fix; GtkWidget *vsep; GtkWidget *rvbox; /* vbox */ vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); /*outer_hbox */ outer_hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_set_homogeneous(GTK_BOX(outer_hbox), TRUE); gtk_box_pack_start(GTK_BOX(vbox), outer_hbox, TRUE, TRUE, 0); /* inner_hbox */ inner_hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5); gtk_box_pack_start(GTK_BOX(outer_hbox), inner_hbox, TRUE, TRUE, 0); /* lvbox */ lvbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 10); gtk_box_pack_start(GTK_BOX(inner_hbox), lvbox, TRUE, TRUE, 0); /* fix */ fix = gtk_fixed_new(); gtk_box_pack_start(GTK_BOX(inner_hbox), fix, FALSE, TRUE, 0); /* inner_hbox */ inner_hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5); gtk_box_pack_start(GTK_BOX(outer_hbox), inner_hbox, TRUE, TRUE, 0); /* vsep */ vsep = gtk_separator_new(GTK_ORIENTATION_VERTICAL); gtk_widget_show(vsep); gtk_box_pack_start(GTK_BOX(inner_hbox), vsep, FALSE, FALSE, 0); /* rvbox */ rvbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 10); gtk_box_pack_start(GTK_BOX(inner_hbox), rvbox, TRUE, TRUE, 0); /* get elements */ game_settings = GAMESETTINGS(game_settings_new(TRUE)); game_rules = GAMERULES(game_rules_new()); game_resources = GAMERESOURCES(game_resources_new()); game_devcards = GAMEDEVCARDS(game_devcards_new()); game_buildings = GAMEBUILDINGS(game_buildings_new()); /* Caption */ build_frame(lvbox, _("Game parameters"), GTK_WIDGET(game_settings), FALSE); /* Caption */ build_frame(lvbox, _("Rules"), GTK_WIDGET(game_rules), FALSE); /* Caption */ build_frame(lvbox, _("Resources"), GTK_WIDGET(game_resources), FALSE); /* Caption */ build_frame(rvbox, _("Buildings"), GTK_WIDGET(game_buildings), FALSE); /* Caption */ build_frame(rvbox, _("Development cards"), GTK_WIDGET(game_devcards), FALSE); g_signal_connect(G_OBJECT(game_settings), "check", G_CALLBACK(check_vp_cb), main_window); return vbox; } void set_window_title(const gchar * title) { gchar *str; g_free(window_title); if (title == NULL) { /* The game in the editor does not have a name yet */ title = _("Untitled"); window_title = NULL; } else window_title = g_strdup(title); /* Application caption */ str = g_strdup_printf("%s: %s", _("Pioneers Editor"), title); gtk_window_set_title(GTK_WINDOW(toplevel), str); g_free(str); gtk_entry_set_text(GTK_ENTRY(game_title), window_title); } static void apply_params(const GameParams * params) { gint i; set_window_title(params->title); game_rules_set_random_terrain(game_rules, params->random_terrain); game_rules_set_strict_trade(game_rules, params->strict_trade); game_rules_set_domestic_trade(game_rules, params->domestic_trade); game_settings_set_players(game_settings, params->num_players); game_rules_set_sevens_rule(game_rules, params->sevens_rule); game_rules_set_use_dice_deck(game_rules, params->use_dice_deck); game_rules_set_num_dice_decks(game_rules, params->num_dice_decks); game_rules_set_num_removed_dice_cards(game_rules, params->num_removed_dice_cards); game_settings_set_victory_points(game_settings, params->victory_points); /* check_victory_at_end_of_turn not needed in the editor */ for (i = 1; i < NUM_BUILD_TYPES; i++) game_buildings_set_num_buildings(game_buildings, i, params->num_build_type [i]); game_resources_set_num_resources(game_resources, params->resource_count); for (i = 0; i < NUM_DEVEL_TYPES; i++) game_devcards_set_num_cards(game_devcards, i, params->num_develop_type[i]); /* Do not disable the pirate rule if currently no ships are present */ game_rules_set_use_pirate(game_rules, params->use_pirate, 1); game_rules_set_island_discovery_bonus(game_rules, params->island_discovery_bonus); scrollable_text_view_set_text(SCROLLABLE_TEXT_VIEW(game_comments), params->comments); scrollable_text_view_set_text(SCROLLABLE_TEXT_VIEW (game_description), params->description); map_free(gmap->map); gmap->map = map_copy(params->map); } /** Returns params found in game_rules, game_settings, and other settings. * @return Params found in settings. */ static GameParams *get_params(void) { GameParams *params = params_new(); gint i; params->title = g_strdup(window_title); params->random_terrain = game_rules_get_random_terrain(game_rules); params->strict_trade = game_rules_get_strict_trade(game_rules); params->domestic_trade = game_rules_get_domestic_trade(game_rules); params->num_players = game_settings_get_players(game_settings); params->sevens_rule = game_rules_get_sevens_rule(game_rules); params->use_dice_deck = game_rules_get_use_dice_deck(game_rules); params->num_dice_decks = game_rules_get_num_dice_decks(game_rules); params->num_removed_dice_cards = game_rules_get_num_removed_dice_cards(game_rules); params->victory_points = game_settings_get_victory_points(game_settings); /* check_victory_at_end_of_turn not needed in the editor */ for (i = 1; i < NUM_BUILD_TYPES; i++) params->num_build_type[i] = game_buildings_get_num_buildings(game_buildings, i); params->resource_count = game_resources_get_num_resources(game_resources); for (i = 0; i < NUM_DEVEL_TYPES; i++) params->num_develop_type[i] = game_devcards_get_num_cards(game_devcards, i); params->use_pirate = game_rules_get_use_pirate(game_rules); params->island_discovery_bonus = game_rules_get_island_discovery_bonus(game_rules); params->comments = scrollable_text_view_get_text(SCROLLABLE_TEXT_VIEW (game_comments)); params->description = scrollable_text_view_get_text(SCROLLABLE_TEXT_VIEW (game_description)); params->map = map_copy(gmap->map); return params; } static void load_game(const gchar * file, gboolean is_reload) { const gchar *gamefile; GameParams *params; gchar *new_filename; gint i; if (file == NULL) gamefile = default_game; else gamefile = file; params = params_load_file(gamefile); if (params == NULL) { error_dialog(_("Failed to load '%s'"), file); return; } if (file == NULL) { g_free(params->title); params->title = g_strdup("Untitled"); map_free(params->map); params->map = map_new(); for (i = 0; i < 6; i++) { map_modify_row_count(params->map, MAP_MODIFY_INSERT, MAP_MODIFY_ROW_BOTTOM); } for (i = 0; i < 11; i++) { map_modify_column_count(params->map, MAP_MODIFY_INSERT, MAP_MODIFY_COLUMN_RIGHT); } /* Chits array will be constructed later */ params->map->chits = NULL; new_filename = NULL; } else { new_filename = g_strdup(file); config_set_string("editor/last-game", new_filename); } guimap_reset(gmap); apply_params(params); params_free(params); if (open_filename != NULL) g_free(open_filename); open_filename = new_filename; map_move_robber(gmap->map, -1, -1); fill_map(gmap->map); if (is_reload) { scale_map(gmap); guimap_display(gmap); } update_resize_buttons(); } static void save_game(const gchar * file) { GameParams *params = get_params(); canonicalize_map(params->map); if (!params_write_file(params, file)) error_dialog(_("Failed to save to '%s'"), file); else config_set_string("editor/last-game", file); params_free(params); } static void new_game_menu_cb(void) { load_game(NULL, TRUE); } static void add_file_filter(GtkFileChooser * file_chooser) { GtkFileFilter *filter; filter = gtk_file_filter_new(); /* Name of the file filter: show only games */ gtk_file_filter_set_name(filter, _("Games")); gtk_file_filter_add_pattern(filter, "*.game"); gtk_file_chooser_add_filter(file_chooser, filter); filter = gtk_file_filter_new(); /* Name of the file filter: show all files */ gtk_file_filter_set_name(filter, _("Unfiltered")); gtk_file_filter_add_pattern(filter, "*"); gtk_file_chooser_add_filter(file_chooser, filter); } static void load_game_menu_cb(void) { GtkWidget *dialog; gchar *directory; dialog = gtk_file_chooser_dialog_new( /* Dialog caption */ _("Open Game"), GTK_WINDOW(toplevel), GTK_FILE_CHOOSER_ACTION_OPEN, /* Button text */ _("_Cancel"), GTK_RESPONSE_CANCEL, /* Button text */ _("_Open"), GTK_RESPONSE_OK, NULL); directory = g_build_filename(g_get_user_data_dir(), "pioneers", NULL); gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog), directory); gtk_file_chooser_add_shortcut_folder(GTK_FILE_CHOOSER(dialog), directory, NULL); gtk_file_chooser_add_shortcut_folder(GTK_FILE_CHOOSER(dialog), get_pioneers_dir(), NULL); g_free(directory); gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(dialog), default_game); add_file_filter(GTK_FILE_CHOOSER(dialog)); if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_OK) { char *file; file = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER (dialog)); load_game(file, TRUE); g_free(file); scale_map(gmap); guimap_display(gmap); } gtk_widget_destroy(dialog); } static void save_as_menu_cb(void) { GtkWidget *dialog; gchar *directory; dialog = gtk_file_chooser_dialog_new( /* Dialog caption */ _("Save As..."), GTK_WINDOW(toplevel), GTK_FILE_CHOOSER_ACTION_SAVE, /* Button text */ _("_Cancel"), GTK_RESPONSE_CANCEL, /* Button text */ _("Save _As"), GTK_RESPONSE_ACCEPT, NULL); directory = g_build_filename(g_get_user_data_dir(), "pioneers", NULL); gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog), directory); gtk_file_chooser_add_shortcut_folder(GTK_FILE_CHOOSER(dialog), directory, NULL); g_free(directory); add_file_filter(GTK_FILE_CHOOSER(dialog)); gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT); if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) { char *file; file = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER (dialog)); save_game(file); if (open_filename == NULL) open_filename = file; else g_free(file); } gtk_widget_destroy(dialog); } static void save_game_menu_cb(void) { if (open_filename == NULL) save_as_menu_cb(); else save_game(open_filename); } static void change_title_menu_cb(void) { GtkWidget *dialog, *vbox, *hbox, *label, *entry; dialog = gtk_dialog_new_with_buttons( /* Dialog caption */ _("Change Title"), GTK_WINDOW(toplevel), GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, /* Button text */ _("_Cancel"), GTK_RESPONSE_CANCEL, /* Button text */ _("_OK"), GTK_RESPONSE_OK, NULL); gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_OK); g_signal_connect(G_OBJECT(dialog), "destroy", G_CALLBACK(gtk_widget_destroyed), &dialog); gtk_widget_realize(dialog); gdk_window_set_functions(gtk_widget_get_window(dialog), GDK_FUNC_MOVE | GDK_FUNC_CLOSE); vbox = gtk_dialog_get_content_area(GTK_DIALOG(dialog)); hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, TRUE, 0); gtk_container_set_border_width(GTK_CONTAINER(hbox), 5); /* Label */ label = gtk_label_new(_("New title:")); gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, TRUE, 0); gtk_misc_set_alignment(GTK_MISC(label), 1, 0.5); /* Update the window_title before is it shown */ set_window_title(gtk_entry_get_text(GTK_ENTRY(game_title))); entry = gtk_entry_new(); gtk_entry_set_max_length(GTK_ENTRY(entry), 60); gtk_box_pack_start(GTK_BOX(hbox), entry, TRUE, TRUE, 0); gtk_entry_set_text(GTK_ENTRY(entry), window_title); gtk_entry_set_activates_default(GTK_ENTRY(entry), TRUE); gtk_widget_show_all(dialog); if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_OK) set_window_title(gtk_entry_get_text(GTK_ENTRY(entry))); gtk_widget_destroy(dialog); } static void check_vp_cb(G_GNUC_UNUSED GObject * caller, gpointer main_window) { GameParams *params; params = get_params(); check_victory_points(params, main_window); params_free(params); } static void exit_cb(void) { gtk_main_quit(); } #ifdef HAVE_HELP /* Commented out, until the help is written static void contents_menu_cb(void) { GtkWidget *dialog; dialog = gtk_message_dialog_new(GTK_WINDOW(toplevel), GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_WARNING, GTK_BUTTONS_CLOSE, _("There is no help")); gtk_dialog_run(GTK_DIALOG(dialog)); gtk_widget_destroy(dialog); } */ #endif static void about_menu_cb(void) { aboutbox_display(GTK_WINDOW(toplevel), /* Caption of about box */ _("About Pioneers Game Editor")); } /** Toggles full screen mode. * @param GtkToggleAction The calling action. * @param main_window The window to toggle full screen mode. */ static void toggle_full_screen_cb(GtkToggleAction * caller, gpointer main_window) { if (gtk_toggle_action_get_active(caller)) { gtk_window_fullscreen(GTK_WINDOW(main_window)); } else { gtk_window_unfullscreen(GTK_WINDOW(main_window)); } } static void zoom_normal_cb(void) { guimap_zoom_normal(gmap); } static void zoom_center_map_cb(void) { guimap_zoom_center_map(gmap); } static GtkActionEntry entries[] = { {"FileMenu", NULL, /* Menu entry */ N_("_File"), NULL, NULL, NULL}, {"ViewMenu", NULL, /* Menu entry */ N_("_View"), NULL, NULL, NULL}, {"HelpMenu", NULL, /* Menu entry */ N_("_Help"), NULL, NULL, NULL}, {"New", NULL, /* Menu entry */ N_("_New"), "N", N_("Create a new game"), new_game_menu_cb}, {"Open", NULL, /* Menu entry */ N_("_Open..."), "O", /* Tooltip for Open menu entry */ N_("Open an existing game"), load_game_menu_cb}, {"Save", NULL, /* Menu entry */ N_("_Save"), "S", /* Tooltip for Save menu entry */ N_("Save game"), save_game_menu_cb}, {"SaveAs", NULL, /* Menu entry */ N_("Save _As..."), "S", /* Tooltip for Save As menu entry */ N_("Save as"), save_as_menu_cb}, {"ChangeTitle", NULL, /* Menu entry */ N_("Change _Title"), "T", /* Tooltip for Change Title menu entry */ N_("Change game title"), change_title_menu_cb}, {"CheckVP", NULL, /* Menu entry */ N_("_Check Victory Point Target"), NULL, /* Tooltip for Check Victory Point Target menu entry */ N_("Check whether the game can be won"), G_CALLBACK(check_vp_cb)}, {"Quit", NULL, /* Menu entry */ N_("_Quit"), "Q", /* Tooltip for Quit menu entry */ N_("Quit"), exit_cb}, {"Full", NULL, /* Menu entry */ N_("_Reset"), "0", /* Tooltip for Reset menu entry */ N_("View the full map"), zoom_normal_cb}, {"Center", NULL, /* Menu entry */ N_("_Center"), NULL, /* Tooltip for Center menu entry */ N_("Center the map"), zoom_center_map_cb}, #ifdef HAVE_HELP /* Disable this item, until the help is written {"Contents", NULL, N_("_Contents"), "F1", N_("Contents"), contents_menu_cb}, */ #endif {"About", NULL, /* Menu entry */ N_("_About Pioneers Editor"), NULL, /* Tooltip for About Pioneers Editor menu entry */ N_("Information about Pioneers Editor"), about_menu_cb}, }; static GtkToggleActionEntry toggle_entries[] = { {"FullScreen", NULL, /* Menu entry */ N_("_Fullscreen"), "Return", /* Tooltip for Fullscreen menu entry */ N_("Set window to full screen mode"), G_CALLBACK(toggle_full_screen_cb), FALSE} }; /* *INDENT-OFF* */ static const char *ui_description = "" " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " #ifdef HAVE_HELP /* Disable this menu item, until the help is written " " " " */ #endif " " " " " " ""; /* *INDENT-ON* */ gchar **filenames; gboolean show_version = FALSE; static GOptionEntry commandline_entries[] = { {G_OPTION_REMAINING, '\0', 0, G_OPTION_ARG_FILENAME_ARRAY, &filenames, /* Long help for commandline option (editor): filename */ N_("Open this file"), /* Commandline option for editor: filename */ N_("filename")}, {"version", '\0', 0, G_OPTION_ARG_NONE, &show_version, /* Commandline option of editor: version */ N_("Show version information"), NULL}, {NULL, '\0', 0, 0, NULL, NULL, NULL} }; int main(int argc, char *argv[]) { gchar *filename; gboolean default_used; GtkWidget *notebook; GtkActionGroup *action_group; GtkUIManager *ui_manager; GtkWidget *vbox; GtkWidget *menubar; GtkAccelGroup *accel_group; GError *error = NULL; gchar *icon_file; GOptionContext *context; default_game = g_build_filename(get_pioneers_dir(), "default.game", NULL); /* set the UI driver to GTK_Driver, since we're using gtk */ set_ui_driver(>K_Driver); #if ENABLE_NLS /* Gtk+ handles the locale, we must bind the translations */ setlocale(LC_ALL, ""); bindtextdomain(PACKAGE, LOCALEDIR); textdomain(PACKAGE); bind_textdomain_codeset(PACKAGE, "UTF-8"); #endif context = /* Long description in the command line: --help */ g_option_context_new(_("- Editor for games of Pioneers")); g_option_context_add_main_entries(context, commandline_entries, PACKAGE); g_option_context_add_group(context, gtk_get_option_group(TRUE)); g_option_context_parse(context, &argc, &argv, &error); if (error != NULL) { g_print("%s\n", error->message); g_error_free(error); return 1; } if (show_version) { g_print(_("Pioneers version:")); g_print(" "); g_print(FULL_VERSION); g_print("\n"); return 0; } if (filenames != NULL) filename = g_strdup(filenames[0]); else filename = NULL; toplevel = gtk_window_new(GTK_WINDOW_TOPLEVEL); g_signal_connect(G_OBJECT(toplevel), "delete_event", G_CALLBACK(exit_cb), NULL); action_group = gtk_action_group_new("MenuActions"); gtk_action_group_set_translation_domain(action_group, PACKAGE); gtk_action_group_add_actions(action_group, entries, G_N_ELEMENTS(entries), toplevel); gtk_action_group_add_toggle_actions(action_group, toggle_entries, G_N_ELEMENTS(toggle_entries), toplevel); ui_manager = gtk_ui_manager_new(); gtk_ui_manager_insert_action_group(ui_manager, action_group, 0); accel_group = gtk_ui_manager_get_accel_group(ui_manager); gtk_window_add_accel_group(GTK_WINDOW(toplevel), accel_group); error = NULL; if (!gtk_ui_manager_add_ui_from_string(ui_manager, ui_description, -1, &error)) { g_message(_("Building menus failed: %s"), error->message); g_error_free(error); return 1; } config_init("pioneers-editor"); icon_file = g_build_filename(DATADIR, "pixmaps", MAINICON_FILE, NULL); if (g_file_test(icon_file, G_FILE_TEST_EXISTS)) { gtk_window_set_default_icon_from_file(icon_file, NULL); } else { /* Missing pixmap, main icon file */ g_warning("Pixmap not found: %s", icon_file); } g_free(icon_file); themes_init(); colors_init(); notebook = gtk_notebook_new(); gtk_notebook_set_tab_pos(GTK_NOTEBOOK(notebook), GTK_POS_TOP); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), build_map(), /* Tab page name */ gtk_label_new(_("Map"))); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), build_settings(GTK_WINDOW(toplevel)), /* Tab page name */ gtk_label_new(_("Settings"))); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), build_comments(), /* Tab page name */ gtk_label_new(_("Comments"))); terrain_menu = build_terrain_menu(); roll_menu = build_roll_menu(); port_menu = build_port_menu(); vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); gtk_container_add(GTK_CONTAINER(toplevel), vbox); menubar = gtk_ui_manager_get_widget(ui_manager, "/MainMenu"); gtk_box_pack_start(GTK_BOX(vbox), menubar, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox), notebook, TRUE, TRUE, 0); if (filename == NULL) { filename = config_get_string("editor/last-game", &default_used); if (default_used || !g_file_test(filename, G_FILE_TEST_EXISTS)) { g_free(filename); filename = NULL; } } load_game(filename, FALSE); g_free(filename); gtk_widget_show_all(toplevel); gtk_main(); config_finish(); guimap_delete(gmap); g_free(default_game); g_option_context_free(context); themes_cleanup(); return 0; } pioneers-15.5/editor/gtk/pioneers-editor.svg0000644000175000017500000002137212422471006016120 00000000000000 image/svg+xmlRoland ClobusThe pencil is taken from the image 'edit-find-replace.svg' from the GNOME icon theme 'Gorilla' (https://download.gnome.org/teams/art.gnome.org/themes/icon/ICON-Gorilla.tar.bz2) which is created by Jakub Steiner and relicensed to CC-BY-SA 4.0.Icon for the Pioneers editor. The colours are similar to the colours in the Classic theme. 8 4 9 pioneers-15.5/editor/gtk/game-buildings.h0000644000175000017500000000220611246205071015322 00000000000000#ifndef __GAMEBUILDINGS_H__ #define __GAMEBUILDINGS_H__ #include #include #include G_BEGIN_DECLS #define GAMEBUILDINGS_TYPE (game_buildings_get_type ()) #define GAMEBUILDINGS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMEBUILDINGS_TYPE, GameBuildings)) #define GAMEBUILDINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMEBUILDINGS_TYPE, GameBuildingsClass)) #define IS_GAMEBUILDINGS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMEBUILDINGS_TYPE)) #define IS_GAMEBUILDINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMEBUILDINGS_TYPE)) typedef struct _GameBuildings GameBuildings; typedef struct _GameBuildingsClass GameBuildingsClass; struct _GameBuildings { GtkTable table; GtkSpinButton *num_buildings[NUM_BUILD_TYPES]; }; struct _GameBuildingsClass { GtkTableClass parent_class; }; GType game_buildings_get_type(void); GtkWidget *game_buildings_new(void); void game_buildings_set_num_buildings(GameBuildings * gb, gint type, gint num); gint game_buildings_get_num_buildings(GameBuildings * gb, gint type); G_END_DECLS #endif /* __GAMEBUILDINGS_H__ */ pioneers-15.5/editor/gtk/game-resources.h0000644000175000017500000000212511246205071015354 00000000000000#ifndef __GAMERESOURCES_H__ #define __GAMERESOURCES_H__ #include #include #include G_BEGIN_DECLS #define GAMERESOURCES_TYPE (game_resources_get_type ()) #define GAMERESOURCES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMERESOURCES_TYPE, GameResources)) #define GAMERESOURCES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMERESOURCES_TYPE, GameResourcesClass)) #define IS_GAMERESOURCES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMERESOURCES_TYPE)) #define IS_GAMERESOURCES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMERESOURCES_TYPE)) typedef struct _GameResources GameResources; typedef struct _GameResourcesClass GameResourcesClass; struct _GameResources { GtkTable table; GtkSpinButton *num_resources; }; struct _GameResourcesClass { GtkTableClass parent_class; }; GType game_resources_get_type(void); GtkWidget *game_resources_new(void); void game_resources_set_num_resources(GameResources * gr, gint num); gint game_resources_get_num_resources(GameResources * gr); G_END_DECLS #endif /* __GAMERESOURCES_H__ */ pioneers-15.5/editor/gtk/pioneers-editor.desktop.in0000644000175000017500000000040712213111213017360 00000000000000[Desktop Entry] Version=1.0 _Name=Pioneers Editor _Comment=Create your own game for Pioneers _Keywords=game;board;create;edit;layout;Pioneers;Settlers; Exec=pioneers-editor Icon=pioneers-editor Terminal=false Type=Application Categories=Game;BoardGame;GNOME;GTK; pioneers-15.5/common/0000755000175000017500000000000013252243610011557 500000000000000pioneers-15.5/common/map_query.c0000644000175000017500000007716513252223516013670 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * Copyright (C) 2006 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include #include #include #include #include "game.h" #include "map.h" /* Local function prototypes */ gboolean node_has_edge_owned_by(const Node * node, gint owner, BuildType type); gboolean is_road_valid(const Edge * edge, gint owner); gboolean is_ship_valid(const Edge * edge, gint owner); gboolean is_bridge_valid(const Edge * edge, gint owner); /* This file is broken into a number of sections: * * Simple Checks: * * Most map queries require a number of checks to be performed. The * results of the checks are combined to provide a more complex * answer. * * Cursor Checks: * * When interacting with the user, the GUI needs to establish whether * or not to draw a cursor over a specific edge, node or hex. Cursor * check functions are designed to be passed as the check_func * parameter to the gui_map_set_cursor() function. * * Queries: * * Provides an answer to a specific question about the entire map. */ /* Return whether or not an edge is adjacent to a node */ gboolean is_edge_adjacent_to_node(const Edge * edge, const Node * node) { g_return_val_if_fail(edge != NULL, FALSE); g_return_val_if_fail(node != NULL, FALSE); return edge->nodes[0] == node || edge->nodes[1] == node; } /* Return whether or not an edge is on land or coast */ gboolean is_edge_on_land(const Edge * edge) { guint idx; g_return_val_if_fail(edge != NULL, FALSE); for (idx = 0; idx < G_N_ELEMENTS(edge->hexes); idx++) { Hex *hex = edge->hexes[idx]; if (hex != NULL && hex->terrain != SEA_TERRAIN) return TRUE; } return FALSE; } /* Return whether or not an edge is on sea or coast (used only for ships) */ gboolean is_edge_on_sea(const Edge * edge) { guint idx; g_return_val_if_fail(edge != NULL, FALSE); /* If the pirate is currently next to the edge, then specific sea * actions should not be possible (building ships is the only * specific sea action). */ for (idx = 0; idx < G_N_ELEMENTS(edge->hexes); idx++) { Hex *hex = edge->hexes[idx]; if (hex && edge->map->pirate_hex == hex) return FALSE; } /* The pirate is not next to the edge, return true if there is sea */ for (idx = 0; idx < G_N_ELEMENTS(edge->hexes); idx++) { Hex *hex = edge->hexes[idx]; if (hex != NULL && hex->terrain == SEA_TERRAIN) return TRUE; } /* There is no sea */ return FALSE; } /* Return whether or not a node is on land */ gboolean is_node_on_land(const Node * node) { guint idx; g_return_val_if_fail(node != NULL, FALSE); for (idx = 0; idx < G_N_ELEMENTS(node->hexes); idx++) { Hex *hex = node->hexes[idx]; if (hex != NULL && hex->terrain != SEA_TERRAIN) return TRUE; } return FALSE; } /* Check if a node has a adjacent road/ship/bridge owned by the * specified player */ gboolean node_has_edge_owned_by(const Node * node, gint owner, BuildType type) { guint idx; g_return_val_if_fail(node != NULL, FALSE); for (idx = 0; idx < G_N_ELEMENTS(node->edges); idx++) if (node->edges[idx] != NULL && node->edges[idx]->owner == owner && node->edges[idx]->type == type) return TRUE; return FALSE; } /* Check if a node has a adjacent road owned by the specified player */ gboolean node_has_road_owned_by(const Node * node, gint owner) { g_return_val_if_fail(node != NULL, FALSE); return node_has_edge_owned_by(node, owner, BUILD_ROAD); } /* Check if a node has a adjacent ship owned by the specified player */ gboolean node_has_ship_owned_by(const Node * node, gint owner) { g_return_val_if_fail(node != NULL, FALSE); return node_has_edge_owned_by(node, owner, BUILD_SHIP); } /* Check if a node has a adjacent bridge owned by the specified player */ gboolean node_has_bridge_owned_by(const Node * node, gint owner) { g_return_val_if_fail(node != NULL, FALSE); return node_has_edge_owned_by(node, owner, BUILD_BRIDGE); } /* Check node proximity to other buildings. A building can be * constructed on a node if none of the adjacent nodes have buildings * on them. There is an exception when bridges are being used - two * buildings may be on adjacent nodes if separated by water. */ gboolean is_node_spacing_ok(const Node * node) { guint idx; g_return_val_if_fail(node != NULL, FALSE); for (idx = 0; idx < G_N_ELEMENTS(node->edges); idx++) { Edge *edge = node->edges[idx]; guint idx2; if (edge == NULL) continue; if (node->map->have_bridges && !is_edge_on_land(edge)) continue; else for (idx2 = 0; idx2 < G_N_ELEMENTS(edge->nodes); ++idx2) { Node *scan = edge->nodes[idx2]; if (scan == node) continue; if (scan->type != BUILD_NONE) return FALSE; } } return TRUE; } /* Check if the specified node is next to the hex with the robber */ gboolean is_node_next_to_robber(const Node * node) { guint idx; g_return_val_if_fail(node != NULL, FALSE); for (idx = 0; idx < G_N_ELEMENTS(node->hexes); idx++) if (node->hexes[idx]->robber) return TRUE; return FALSE; } /* Check if a road has been positioned properly */ gboolean is_road_valid(const Edge * edge, gint owner) { guint idx; g_return_val_if_fail(edge != NULL, FALSE); /* Can only build road if edge is adjacent to a land hex */ if (!is_edge_on_land(edge)) return FALSE; /* Road can be build adjacent to building we own, or a road we * own that is not separated by a building owned by someone else */ for (idx = 0; idx < G_N_ELEMENTS(edge->nodes); idx++) { Node *node = edge->nodes[idx]; if (node->owner == owner) return TRUE; if (node->owner >= 0) continue; if (node_has_road_owned_by(node, owner) || node_has_bridge_owned_by(node, owner)) return TRUE; } return FALSE; } /* Check if a ship has been positioned properly */ gboolean is_ship_valid(const Edge * edge, gint owner) { guint idx; g_return_val_if_fail(edge != NULL, FALSE); /* Can only build ship if edge is adjacent to a sea hex */ if (!is_edge_on_sea(edge)) return FALSE; /* Ship can be build adjacent to building we own, or a ship we * own that is not separated by a building owned by someone else */ for (idx = 0; idx < G_N_ELEMENTS(edge->nodes); idx++) { Node *node = edge->nodes[idx]; if (node->owner == owner) return TRUE; if (node->owner >= 0) continue; if (node_has_ship_owned_by(node, owner)) return TRUE; } return FALSE; } /* Check if a bridge has been positioned properly */ gboolean is_bridge_valid(const Edge * edge, gint owner) { guint idx; g_return_val_if_fail(edge != NULL, FALSE); /* Can only build bridge if edge is not on land */ if (is_edge_on_land(edge)) return FALSE; /* Bridge can be build adjacent to building we own, or a road we * own that is not separated by a building owned by someone else */ for (idx = 0; idx < G_N_ELEMENTS(edge->nodes); idx++) { Node *node = edge->nodes[idx]; if (node->owner == owner) return TRUE; if (node->owner >= 0) continue; if (node_has_road_owned_by(node, owner) || node_has_bridge_owned_by(node, owner)) return TRUE; } return FALSE; } /* Returns TRUE if one of the nodes can be used for setup, * or if it already has been used. * A full check (to see if the owner of the road matches the owner * of the settlement) is performed in another function */ static gboolean can_adjacent_settlement_be_built(const Edge * edge) { g_return_val_if_fail(edge != NULL, FALSE); return can_settlement_be_setup(edge->nodes[0]) || can_settlement_be_setup(edge->nodes[1]) || edge->nodes[0]->owner >= 0 || edge->nodes[1]->owner >= 0; } /* Edge cursor check function. * * Determine whether or not a road can be built in this edge by the * specified player during the setup phase. Perform the following checks: * * 1 - Edge must not currently have a road on it. * 2 - Edge must be adjacent to a land hex. * 3 - At least one node must available for a settlement * * The checks are not as strict as for normal play. This allows the * player to try a few different configurations without layout * restrictions. The server will enfore correct placement at the end * of the setup phase. */ gboolean can_road_be_setup(const Edge * edge) { g_return_val_if_fail(edge != NULL, FALSE); return edge->owner < 0 && is_edge_on_land(edge) && can_adjacent_settlement_be_built(edge); } /* Edge cursor check function. * * Determine whether or not a ship can be built in this edge by the * specified player during the setup phase. Perform the following checks: * * 1 - Edge must not currently have a ship on it. * 2 - Edge must be adjacent to a sea hex. * 3 - At least one node must available for a settlement * * The checks are not as strict as for normal play. This allows the * player to try a few different configurations without layout * restrictions. The server will enfore correct placement at the end * of the setup phase. */ gboolean can_ship_be_setup(const Edge * edge) { g_return_val_if_fail(edge != NULL, FALSE); return edge->owner < 0 && is_edge_on_sea(edge) && can_adjacent_settlement_be_built(edge); } /* Edge cursor check function. * * Determine whether or not a bridge can be built in this edge by the * specified player during the setup phase. Perform the following checks: * * 1 - Edge must not currently have a road on it. * 2 - Edge must not be adjacent to a land hex. * 3 - At least one node must available for a settlement * * The checks are not as strict as for normal play. This allows the * player to try a few different configurations without layout * restrictions. The server will enfore correct placement at the end * of the setup phase. */ gboolean can_bridge_be_setup(const Edge * edge) { g_return_val_if_fail(edge != NULL, FALSE); return edge->owner < 0 && !is_edge_on_land(edge) && can_adjacent_settlement_be_built(edge); } /* Edge cursor check function. * * Determine whether or not a road can be built on this edge by the * specified player. Perform the following checks: * * 1 - Edge must not currently have a road on it. * 2 - Edge must be adjacent to a land hex. * 3 - Edge must be adjacent to a building that is owned by the * specified player, or must be adjacent to another road segment * owned by the specifed player, but not separated by a building * owned by a different player. */ gboolean can_road_be_built(const Edge * edge, gint owner) { g_return_val_if_fail(edge != NULL, FALSE); return edge->owner < 0 && is_road_valid(edge, owner); } /* Edge cursor check function. * * Determine whether or not a ship can be built on this edge by the * specified player. Perform the following checks: * * 1 - Edge must not currently have a road or ship on it. * 2 - Edge must be adjacent to a sea hex. * 3 - Edge must be adjacent to a building that is owned by the * specified player, or must be adjacent to another ship segment * owned by the specifed player, but not separated by a building * owned by a different player. */ gboolean can_ship_be_built(const Edge * edge, gint owner) { g_return_val_if_fail(edge != NULL, FALSE); return edge->owner < 0 && is_ship_valid(edge, owner); } /* Helper function for can_ship_be_moved */ static gboolean can_ship_be_moved_node(const Node * node, gint owner, const Edge * not) { guint idx; g_return_val_if_fail(node != NULL, FALSE); g_return_val_if_fail(not != NULL, FALSE); /* if a building of a different player is on it, it is * unconnected */ if (node->type != BUILD_NONE && node->owner != owner) return TRUE; /* if there is a building of the player, it is connected */ if (node->type != BUILD_NONE) return FALSE; /* no buildings: check all edges for ships */ for (idx = 0; idx < G_N_ELEMENTS(node->edges); idx++) { Edge *edge = node->edges[idx]; /* If this is a ship of the player, it is connected */ if (edge && edge->owner == owner && edge != not && edge->type == BUILD_SHIP) return FALSE; } return TRUE; } /* Edge cursor check function. * * Determine whether or not a ship can be moved from this edge by the * specified player. Perform the following checks: * * 1 - Edge must currently have a ship on it. * 2 - On one side, there must be neither a building, nor a ship of the * specified player. A ship is allowed, if there is building of a * different player in between. */ gboolean can_ship_be_moved(const Edge * edge, gint owner) { guint idx; g_return_val_if_fail(edge != NULL, FALSE); /* edge must be a ship of the correct user */ if (edge->owner != owner || edge->type != BUILD_SHIP) return FALSE; /* if the pirate is next to the edge, it is not allowed to move */ if (!is_edge_on_sea(edge)) return FALSE; /* check all nodes, until one is found that is not connected */ for (idx = 0; idx < G_N_ELEMENTS(edge->nodes); idx++) if (can_ship_be_moved_node(edge->nodes[idx], owner, edge)) return TRUE; return FALSE; } /* Edge cursor check function. * * Determine whether or not a bridge can be built on this edge by the * specified player. Perform the following checks: * * 1 - Edge must not currently have a road on it. * 2 - Edge must not be adjacent to a land hex. * 3 - Edge must be adjacent to a building that is owned by the * specified player, or must be adjacent to another road/bridge * segment owned by the specifed player, but not separated by a * building owned by a different player. */ gboolean can_bridge_be_built(const Edge * edge, gint owner) { g_return_val_if_fail(edge != NULL, FALSE); return edge->owner < 0 && is_bridge_valid(edge, owner); } /* Node cursor check function. * * Determine whether or not a settlement can be built on this node by * the specified player during the setup phase. Perform the following * checks: * * 1 - Node must not be in the no-setup list. * 2 - Node must be vacant. * 3 - Node must be adjacent to a land hex. * 4 - Node must not be within one node of another building. * * The checks are not as strict as for normal play. This allows the * player to try a few different configurations without layout * restrictions. The server will enfore correct placement at the end * of the setup phase. */ gboolean can_settlement_be_setup(const Node * node) { g_return_val_if_fail(node != NULL, FALSE); return !node->no_setup && node->owner < 0 && is_node_on_land(node) && is_node_spacing_ok(node); } /* Node cursor check function. * * Determine whether or not a settlement can be built on this node by the * specified player. Perform the following checks: * * 1 - Node must be vacant. * 2 - Node must be adjacent to a road owned by the specified player * 3 - Node must be adjacent to a land hex. * 4 - Node must not be within one node of another building. */ gboolean can_settlement_be_built(const Node * node, gint owner) { g_return_val_if_fail(node != NULL, FALSE); return node->owner < 0 && (node_has_road_owned_by(node, owner) || node_has_ship_owned_by(node, owner) || node_has_bridge_owned_by(node, owner)) && is_node_on_land(node) && is_node_spacing_ok(node); } /* Node cursor check function. * * Determine whether or not a settlement can be upgraded to a city by * the specified player. */ gboolean can_settlement_be_upgraded(const Node * node, gint owner) { g_return_val_if_fail(node != NULL, FALSE); return node->owner == owner && node->type == BUILD_SETTLEMENT; } /* Node cursor check function. * * Determine whether or not a city can be built on this node by the * specified player. Perform the following checks: * * 1 - Node must either be vacant, or have settlement owned by the * specified player on it. * 2 - If vacant, node must be adjacent to a road owned by the * specified player * 3 - If vacant, node must be adjacent to a land hex. * 4 - If vacent, node must not be within one node of another * building. */ gboolean can_city_be_built(const Node * node, gint owner) { g_return_val_if_fail(node != NULL, FALSE); if (can_settlement_be_upgraded(node, owner)) return TRUE; return node->owner < 0 && (node_has_road_owned_by(node, owner) || node_has_ship_owned_by(node, owner) || node_has_bridge_owned_by(node, owner)) && is_node_on_land(node) && is_node_spacing_ok(node); } /* Node cursor check function. * * Determine whether or not a city wall can be built by * the specified player. */ gboolean can_city_wall_be_built(const Node * node, gint owner) { g_return_val_if_fail(node != NULL, FALSE); return node->owner == owner && node->type == BUILD_CITY && !node->city_wall; } /* Hex cursor check function. * * Determine whether or not the robber be moved to the specified hex. * * Can only move the robber to hex which produces resources (roll > * 0). We cannot move the robber to the same hex it is already on. * Also check if pirate can be moved. */ gboolean can_robber_or_pirate_be_moved(const Hex * hex) { g_return_val_if_fail(hex != NULL, FALSE); if (hex->terrain == SEA_TERRAIN) return (hex->map->has_pirate) && (hex != hex->map->pirate_hex); else return (hex->roll > 0) && (!hex->robber); } /* Iterator function for map_can_place_road() query */ static gboolean can_place_road_check(const Hex * hex, void *closure) { guint idx; gint *owner = closure; g_return_val_if_fail(hex != NULL, FALSE); g_return_val_if_fail(owner != NULL, FALSE); for (idx = 0; idx < G_N_ELEMENTS(hex->edges); idx++) if (can_road_be_built(hex->edges[idx], *owner)) return TRUE; return FALSE; } /* Iterator function for map_can_place_ship() query */ static gboolean can_place_ship_check(const Hex * hex, void *closure) { guint idx; gint *owner = closure; g_return_val_if_fail(hex != NULL, FALSE); g_return_val_if_fail(owner != NULL, FALSE); for (idx = 0; idx < G_N_ELEMENTS(hex->edges); idx++) if (can_ship_be_built(hex->edges[idx], *owner)) return TRUE; return FALSE; } /* Iterator function for map_can_place_bridge() query */ static gboolean can_place_bridge_check(const Hex * hex, void *closure) { guint idx; gint *owner = closure; g_return_val_if_fail(hex != NULL, FALSE); g_return_val_if_fail(owner != NULL, FALSE); for (idx = 0; idx < G_N_ELEMENTS(hex->edges); idx++) if (can_bridge_be_built(hex->edges[idx], *owner)) return TRUE; return FALSE; } /* Query. * * Determine if there are any edges on the map where a player can * place a road. */ gboolean map_can_place_road(const Map * map, gint owner) { g_return_val_if_fail(map != NULL, FALSE); return map_traverse_const(map, can_place_road_check, &owner); } /* Query. * * Determine if there are any edges on the map where a player can * place a ship. */ gboolean map_can_place_ship(const Map * map, gint owner) { g_return_val_if_fail(map != NULL, FALSE); return map_traverse_const(map, can_place_ship_check, &owner); } /* Query. * * Determine if there are any edges on the map where a player can * place a bridge. */ gboolean map_can_place_bridge(const Map * map, gint owner) { g_return_val_if_fail(map != NULL, FALSE); return map_traverse_const(map, can_place_bridge_check, &owner); } /* Iterator function for map_can_place_settlement() query */ static gboolean can_place_settlement_check(const Hex * hex, void *closure) { guint idx; gint *owner = (gint *) closure; g_return_val_if_fail(hex != NULL, FALSE); g_return_val_if_fail(owner != NULL, FALSE); for (idx = 0; idx < G_N_ELEMENTS(hex->nodes); idx++) if (can_settlement_be_built(hex->nodes[idx], *owner)) return TRUE; return FALSE; } /* Query. * * Determine if there are any nodes on the map where a player can * place a settlement */ gboolean map_can_place_settlement(const Map * map, gint owner) { g_return_val_if_fail(map != NULL, FALSE); return map_traverse_const(map, can_place_settlement_check, &owner); } /* Iterator function for map_can_upgrade_settlement() query */ static gboolean can_upgrade_settlement_check(const Hex * hex, void *closure) { guint idx; gint *owner = closure; g_return_val_if_fail(hex != NULL, FALSE); g_return_val_if_fail(owner != NULL, FALSE); for (idx = 0; idx < G_N_ELEMENTS(hex->nodes); idx++) if (can_settlement_be_upgraded(hex->nodes[idx], *owner)) return TRUE; return FALSE; } /* Query. * * Determine if there are any nodes on the map where a player can * upgrade a settlement */ gboolean map_can_upgrade_settlement(const Map * map, gint owner) { g_return_val_if_fail(map != NULL, FALSE); return map_traverse_const(map, can_upgrade_settlement_check, &owner); } /* Iterator function for map_can_place_city_wall() query */ static gboolean can_place_city_wall_check(const Hex * hex, void *closure) { guint idx; gint *owner = closure; g_return_val_if_fail(hex != NULL, FALSE); g_return_val_if_fail(owner != NULL, FALSE); for (idx = 0; idx < G_N_ELEMENTS(hex->nodes); idx++) if (can_city_wall_be_built(hex->nodes[idx], *owner)) return TRUE; return FALSE; } /* Query. * * Determine if there are any nodes on the map where a player can * place a settlement */ gboolean map_can_place_city_wall(const Map * map, gint owner) { g_return_val_if_fail(map != NULL, FALSE); return map_traverse_const(map, can_place_city_wall_check, &owner); } /* Ignoring road connectivity, decide whether or not a settlement/city * can be placed at the specified location. */ gboolean map_building_spacing_ok(Map * map, gint owner, BuildType type, gint x, gint y, gint pos) { Node *node; g_return_val_if_fail(map != NULL, FALSE); node = map_node(map, x, y, pos); if (node == NULL) return FALSE; if (node->type == BUILD_NONE) /* Node is vacant. Make sure that all adjacent nodes * are also vacant */ return is_node_spacing_ok(node); /* Node is not vacant, make sure I am the current owner, and I * am trying to upgrade a settlement to a city. */ return node->owner == owner && node->type == BUILD_SETTLEMENT && type == BUILD_CITY; } /* Ignoring building spacing, check if the building connects to a road. */ gboolean map_building_connect_ok(const Map * map, gint owner, gint x, gint y, gint pos) { const Node *node; g_return_val_if_fail(map != NULL, FALSE); node = map_node_const(map, x, y, pos); if (node == NULL) return FALSE; return node_has_road_owned_by(node, owner) || node_has_ship_owned_by(node, owner) || node_has_bridge_owned_by(node, owner); } gboolean map_building_vacant(Map * map, BuildType type, gint x, gint y, gint pos) { Node *node; g_return_val_if_fail(map != NULL, FALSE); node = map_node(map, x, y, pos); if (node == NULL) return FALSE; switch (type) { case BUILD_NONE: case BUILD_SETTLEMENT: return node->type == BUILD_NONE; case BUILD_CITY: return node->type == BUILD_NONE || node->type == BUILD_SETTLEMENT; case BUILD_ROAD: case BUILD_SHIP: case BUILD_MOVE_SHIP: case BUILD_BRIDGE: g_error("map_building_vacant() called with edge"); return FALSE; case BUILD_CITY_WALL: g_error("map_building_vacant() called with city wall"); return FALSE; } return FALSE; } gboolean map_road_vacant(Map * map, gint x, gint y, gint pos) { Edge *edge; g_return_val_if_fail(map != NULL, FALSE); edge = map_edge(map, x, y, pos); return edge != NULL && edge->owner < 0; } gboolean map_ship_vacant(Map * map, gint x, gint y, gint pos) { Edge *edge; g_return_val_if_fail(map != NULL, FALSE); edge = map_edge(map, x, y, pos); return edge != NULL && edge->owner < 0; } gboolean map_bridge_vacant(Map * map, gint x, gint y, gint pos) { Edge *edge; g_return_val_if_fail(map != NULL, FALSE); edge = map_edge(map, x, y, pos); return edge != NULL && edge->owner < 0; } /* Ignoring whether or not a road already exists at this point, check * that it has the right connectivity. */ gboolean map_road_connect_ok(const Map * map, gint owner, gint x, gint y, gint pos) { const Edge *edge; g_return_val_if_fail(map != NULL, FALSE); edge = map_edge_const(map, x, y, pos); if (edge == NULL) return FALSE; return is_road_valid(edge, owner); } /* Ignoring whether or not a ship already exists at this point, check * that it has the right connectivity. */ gboolean map_ship_connect_ok(const Map * map, gint owner, gint x, gint y, gint pos) { const Edge *edge; g_return_val_if_fail(map != NULL, FALSE); edge = map_edge_const(map, x, y, pos); if (edge == NULL) return FALSE; return is_ship_valid(edge, owner); } /* Ignoring whether or not a bridge already exists at this point, check * that it has the right connectivity. */ gboolean map_bridge_connect_ok(const Map * map, gint owner, gint x, gint y, gint pos) { const Edge *edge; g_return_val_if_fail(map != NULL, FALSE); edge = map_edge_const(map, x, y, pos); if (edge == NULL) return FALSE; return is_bridge_valid(edge, owner); } static BuildType bridge_as_road(BuildType type) { if (type == BUILD_BRIDGE) return BUILD_ROAD; else return type; } /* calculate the longest road */ static gint find_longest_road_recursive(Edge * edge) { gint len = 0; guint nodeidx; guint edgeidx; g_return_val_if_fail(edge != NULL, 0); edge->visited = TRUE; /* check all nodes to see which one make the longer road. */ for (nodeidx = 0; nodeidx < G_N_ELEMENTS(edge->nodes); nodeidx++) { Node *node = edge->nodes[nodeidx]; /* don't go back to where we came from */ if (node->visited) continue; /* don't continue counting if someone else's building is on * the node. */ if (node->type != BUILD_NONE && node->owner != edge->owner) continue; /* don't let other go back here */ node->visited = TRUE; /* try all edges */ for (edgeidx = 0; edgeidx < G_N_ELEMENTS(node->edges); edgeidx++) { Edge *here = node->edges[edgeidx]; if (here && !here->visited && here->owner == edge->owner) { /* don't allow ships to extend roads, except * if there is a construction in between */ /* bridges are treated as roads */ if (node->type != BUILD_NONE || bridge_as_road(here->type) == bridge_as_road(edge->type)) { gint thislen = find_longest_road_recursive (here); /* take the maximum of all paths */ if (thislen > len) len = thislen; } } } /* Allow other roads to use this node again. */ node->visited = FALSE; } edge->visited = FALSE; return len + 1; } static gboolean find_longest_road(Hex * hex, gpointer closure) { guint idx; gint *lengths = closure; g_return_val_if_fail(hex != NULL, FALSE); g_return_val_if_fail(lengths != NULL, FALSE); for (idx = 0; idx < G_N_ELEMENTS(hex->edges); idx++) { Edge *edge = hex->edges[idx]; gint len; /* skip unowned edges, and edges that will be handled by * other hexes */ if (edge->owner < 0 || edge->x != hex->x || edge->y != hex->y) continue; len = find_longest_road_recursive(edge); if (len > lengths[edge->owner]) lengths[edge->owner] = len; } return FALSE; } /* Zero the visited attribute for all edges and nodes. */ static gboolean zero_visited(Hex * hex, G_GNUC_UNUSED gpointer closure) { guint idx; g_return_val_if_fail(hex != NULL, FALSE); for (idx = 0; idx < G_N_ELEMENTS(hex->edges); idx++) { Edge *edge = hex->edges[idx]; edge->visited = FALSE; } for (idx = 0; idx < G_N_ELEMENTS(hex->nodes); idx++) { Node *node = hex->nodes[idx]; node->visited = FALSE; } return FALSE; } /* Finding the longest road: * 1 - set the visited attribute of all edges and nodes to FALSE * 2 - for every edge, find the longest road using this one as a tail */ void map_longest_road(Map * map, guint * lengths, guint num_players) { g_return_if_fail(map != NULL); g_return_if_fail(lengths != NULL); g_return_if_fail(num_players > 0); map_traverse(map, zero_visited, NULL); memset(lengths, 0, num_players * sizeof(*lengths)); map_traverse(map, find_longest_road, lengths); } static gboolean map_island_recursive(Map * map, Node * node, gint owner) { guint idx; gboolean discovered; g_return_val_if_fail(map != NULL, FALSE); if (node == NULL) return FALSE; if (node->owner == owner) return TRUE; /* Already discovered */ if (node->visited) return FALSE; /* Not discovered */ node->visited = TRUE; discovered = FALSE; for (idx = 0; idx < G_N_ELEMENTS(node->edges) && !discovered; idx++) { gint num_sea; guint idx2; Edge *edge = node->edges[idx]; if (edge == NULL) continue; if (edge->visited) continue; edge->visited = TRUE; /* If the edge points into the sea, or along the border, * don't follow it */ num_sea = 0; for (idx2 = 0; idx2 < G_N_ELEMENTS(edge->hexes); idx2++) { const Hex *hex = edge->hexes[idx2]; if (hex == NULL) { num_sea++; continue; } if (hex->terrain == SEA_TERRAIN) num_sea++; } if (num_sea == G_N_ELEMENTS(edge->hexes)) continue; /* Follow the other node */ for (idx2 = 0; idx2 < G_N_ELEMENTS(edge->nodes) && !discovered; ++idx2) { Node *node2 = edge->nodes[idx2]; if (node == node2) continue; discovered |= map_island_recursive(map, node2, owner); } } return discovered; } /* Has anything be built by this player on this island */ gboolean map_is_island_discovered(Map * map, Node * node, gint owner) { g_return_val_if_fail(map != NULL, FALSE); g_return_val_if_fail(node != NULL, FALSE); map_traverse(map, zero_visited, NULL); return map_island_recursive(map, node, owner); } /* Determine the maritime trading capabilities for the specified player */ static gboolean find_maritime(const Hex * hex, gpointer closure) { MaritimeInfo *info = closure; g_return_val_if_fail(hex != NULL, FALSE); g_return_val_if_fail(info != NULL, FALSE); if (hex->terrain != SEA_TERRAIN || hex->resource == NO_RESOURCE) return FALSE; if (hex->nodes[hex->facing]->owner != info->owner && hex->nodes[(hex->facing + 5) % 6]->owner != info->owner) return FALSE; if (hex->resource == ANY_RESOURCE) info->any_resource = TRUE; else info->specific_resource[hex->resource] = TRUE; return FALSE; } /* Determine the maritime trading capacity of the specified player */ void map_maritime_info(const Map * map, MaritimeInfo * info, gint owner) { g_return_if_fail(map != NULL); g_return_if_fail(info != NULL); memset(info, 0, sizeof(*info)); info->owner = owner; map_traverse_const(map, find_maritime, info); } typedef struct { gboolean visited[MAP_SIZE][MAP_SIZE]; guint count; guint recursion_level; } IslandCount; static gboolean count_islands(const Hex * hex, gpointer info) { IslandCount *count = info; HexDirection direction; if (hex == NULL) return FALSE; g_return_val_if_fail(hex->map != NULL, FALSE); if (count->visited[hex->y][hex->x]) return FALSE; if (hex->terrain == SEA_TERRAIN) return FALSE; count->visited[hex->y][hex->x] = TRUE; count->recursion_level++; for (direction = 0; direction < 6; direction++) { count_islands(hex_in_direction(hex, direction), count); } count->recursion_level--; if (count->recursion_level == 0) count->count++; return FALSE; } guint map_count_islands(const Map * map) { IslandCount island_count; g_return_val_if_fail(map != NULL, 0u); memset(island_count.visited, 0, sizeof(island_count.visited)); island_count.count = 0; island_count.recursion_level = 0; map_traverse_const(map, count_islands, &island_count); return island_count.count; } pioneers-15.5/common/cards.h0000644000175000017500000000253313252223516012752 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef __cards_h #define __cards_h #include "deck.h" #include "game.h" gboolean is_victory_card(DevelType type); const gchar *get_devel_name(DevelType type); const gchar *get_devel_description(DevelType description); gboolean deck_card_playable(const Deck * deck, guint num_playable_cards, guint idx); gboolean deck_card_play(Deck * deck, guint num_playable_cards, guint idx); gint deck_card_amount(const Deck * deck, DevelType type); gint deck_card_oldest_card(const Deck * deck, DevelType type); #endif pioneers-15.5/common/deck.c0000644000175000017500000000555613252223516012567 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2011-2013 Micah Bunting * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include "deck.h" #include "random.h" struct _Deck { GPtrArray *array; }; Deck *deck_new() { Deck *deck = g_malloc0(sizeof(*deck)); deck->array = g_ptr_array_new(); return deck; } void deck_free(Deck * deck, GDestroyNotify element_free_func) { if (deck == NULL) { return; } g_ptr_array_set_free_func(deck->array, element_free_func); g_ptr_array_free(deck->array, TRUE); g_free(deck); } void deck_add(Deck * deck, gpointer card) { g_assert(deck != NULL); g_ptr_array_add(deck->array, card); } void deck_add_guint(Deck * deck, guint card) { deck_add(deck, GUINT_TO_POINTER(card)); } void deck_add_amount(Deck * deck, guint amount, gpointer card) { guint idx; for (idx = 0; idx < amount; idx++) { deck_add(deck, card); } } void deck_add_amount_guint(Deck * deck, guint amount, guint card) { deck_add_amount(deck, amount, GUINT_TO_POINTER(card)); } gpointer deck_get(const Deck * deck, guint index) { g_return_val_if_fail(deck != NULL, NULL); g_return_val_if_fail(index < deck_count(deck), NULL); return g_ptr_array_index(deck->array, index); } guint deck_get_guint(const Deck * deck, guint index) { return GPOINTER_TO_UINT(deck_get(deck, index)); } gpointer deck_remove(Deck * deck, guint index) { g_return_val_if_fail(deck != NULL, NULL); g_return_val_if_fail(deck_count(deck) != 0, NULL); return g_ptr_array_remove_index(deck->array, index); } guint deck_remove_guint(Deck * deck, guint index) { return GPOINTER_TO_UINT(deck_remove(deck, index)); } gpointer deck_remove_random(Deck * deck) { return deck_remove(deck, random_guint(deck_count(deck))); } guint deck_remove_random_guint(Deck * deck) { return GPOINTER_TO_UINT(deck_remove_random(deck)); } guint deck_count(const Deck * deck) { g_assert(deck != NULL); return deck->array->len; } void deck_combine(Deck * source, Deck * destination) { g_assert(source != NULL); g_assert(destination != NULL); while (deck_count(source) != 0) { deck_add(destination, deck_remove(source, 0)); } } pioneers-15.5/common/notifying-string.gob.stamp0000644000175000017500000000000013252243607016621 00000000000000pioneers-15.5/common/network.c0000644000175000017500000003445113223654464013356 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003, 2006 Bas Wijnen * Copyright (C) 2005-2013 Roland Clobus * Copyright (C) 2005 Keishi Suenaga * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include #include #include "network.h" #include "log.h" struct _Service { GSocketListener *listener; GCancellable *cancellable; NetNotifyFunc notify_func; gpointer user_data; GSList *sessions; gboolean delayed_free; }; struct _Session { GSocketConnection *connection; GCancellable *input_cancel; time_t last_response; /* used for activity detection. */ guint timer_id; gboolean timed_out; gpointer user_data; Service *service; /**< Associated service, when applicable */ gchar *host; guint16 port; char read_buff[16 * 1024]; size_t read_len; gboolean entered; NetNotifyFunc notify_func; guint period; /**< Period in s for keep-alive checks */ }; static void notify(Session * ses, NetEvent event, const gchar * line) { if (ses->notify_func != NULL) ses->notify_func(ses, event, line, ses->user_data); } static gboolean net_close_internal(Session * ses) { if (ses->timer_id != 0) { g_source_remove(ses->timer_id); ses->timer_id = 0; } if (ses->input_cancel != NULL && !g_cancellable_is_cancelled(ses->input_cancel)) { g_cancellable_cancel(ses->input_cancel); } if (ses->connection != NULL) { g_io_stream_close(G_IO_STREAM(ses->connection), NULL, NULL); g_object_unref(ses->connection); ses->connection = NULL; } return !ses->entered; } void net_close(Session * ses) { if (net_close_internal(ses)) notify(ses, NET_CLOSE, NULL); } static gboolean ping_function(gpointer s) { Session *ses = (Session *) s; double interval = difftime(time(NULL), ses->last_response); /* Ask for activity every ses->period seconds, but don't ask if there * was activity anyway. */ if (interval >= 2 * ses->period) { /* There was no response to the ping in time. The connection * should be considered dead. */ log_message(MSG_ERROR, "No activity and no response to ping. Closing connection\n"); debug("(%p) --> %s", ses->connection, "no response"); ses->timed_out = TRUE; net_close(ses); } else if (interval >= ses->period) { /* There was no activity. * Send a ping (but don't update activity time). */ net_write(ses, "hello\n"); ses->timer_id = g_timeout_add(ses->period * 1000, ping_function, s); } else { /* Everything is fine. Reschedule this check. */ ses->timer_id = g_timeout_add((guint) ((ses->period - interval) * 1000), ping_function, s); } /* Return FALSE to not reschedule this timeout. If it needed to be * rescheduled, it has been done explicitly above (with a different * timeout). */ return FALSE; } void net_write(Session * ses, const gchar * data) { g_return_if_fail(ses != NULL); if (ses->connection != NULL) { size_t len; gssize num; GError *error; len = strlen(data); error = NULL; num = g_output_stream_write(g_io_stream_get_output_stream (G_IO_STREAM(ses->connection)), data, len, NULL, &error); if (num < 0) { log_message(MSG_ERROR, _("Error writing to socket: %s\n"), error->message); g_error_free(error); net_close(ses); return; } if (strcmp(data, "yes\n") && strcmp(data, "hello\n")) { debug("(%p) --> %s", ses->connection, data); } if ((size_t) num != len) { log_message(MSG_ERROR, _("Could not send all data\n")); net_close(ses); return; } return; } } void net_printf(Session * ses, const gchar * fmt, ...) { char *buff; va_list ap; va_start(ap, fmt); buff = g_strdup_vprintf(fmt, ap); va_end(ap); net_write(ses, buff); g_free(buff); } static ssize_t find_line(char *buff, size_t len) { size_t idx; for (idx = 0; idx < len; idx++) if (buff[idx] == '\n') return (ssize_t) idx; return -1; } static gboolean input_ready(GObject * pollable_stream, gpointer user_data) { Session *ses = (Session *) user_data; gssize num; size_t offset; GError *error; /* There is data from this connection: record the time. */ ses->last_response = time(NULL); if (ses->read_len == sizeof(ses->read_buff)) { /* We are in trouble now - the application has not * been processing the data we have been * reading. Assume something has gone wrong and * disconnect */ log_message(MSG_ERROR, _("Read buffer overflow - disconnecting\n")); net_close(ses); return FALSE; } error = NULL; num = g_pollable_input_stream_read_nonblocking (G_POLLABLE_INPUT_STREAM(pollable_stream), ses->read_buff + ses->read_len, sizeof(ses->read_buff) - ses->read_len, ses->input_cancel, &error); if (g_cancellable_is_cancelled(ses->input_cancel)) { g_error_free(error); return FALSE; } if (num == 0) { net_close(ses); return FALSE; } if (num < 0) { log_message(MSG_ERROR, _("Error reading socket: %s\n"), error->message); g_error_free(error); net_close(ses); return FALSE; } ses->read_len += (size_t) num; if (ses->entered) { return TRUE; } ses->entered = TRUE; offset = 0; while (ses->connection != NULL && offset < ses->read_len) { gchar *line = ses->read_buff + offset; ssize_t len = find_line(line, ses->read_len - offset); if (len < 0) break; line[len] = '\0'; offset += (size_t) (len + 1); if (!strcmp(line, "hello")) { net_write(ses, "yes\n"); continue; } if (!strcmp(line, "yes")) { continue; /* Don't notify the program */ } debug("(%p) <-- %s", ses->connection, line); notify(ses, NET_READ, line); } if (offset < ses->read_len) { /* Did not process all data in buffer - discard * processed data and copy remaining data to beginning * of buffer until next time */ memmove(ses->read_buff, ses->read_buff + offset, ses->read_len - offset); ses->read_len -= offset; } else /* Processed all data in buffer, discard it */ ses->read_len = 0; ses->entered = FALSE; if (ses->connection == NULL) { net_close(ses); } return TRUE; /* Keep the source */ } Session *net_new(NetNotifyFunc notify_func, gpointer user_data) { Session *ses; ses = g_malloc0(sizeof(*ses)); ses->notify_func = notify_func; ses->user_data = user_data; ses->connection = NULL; ses->timed_out = FALSE; return ses; } void net_set_user_data(Session * ses, gpointer user_data) { g_return_if_fail(ses != NULL); g_return_if_fail(ses->notify_func != NULL); ses->user_data = user_data; } void net_set_notify_func(Session * ses, NetNotifyFunc notify_func, gpointer user_data) { g_return_if_fail(ses != NULL); ses->notify_func = notify_func; ses->user_data = user_data; } void net_set_check_connection_alive(Session * ses, guint period) { ses->period = period; if (period > 0) { ses->last_response = time(NULL); if (ses->timer_id != 0) { g_source_remove(ses->timer_id); } ses->timer_id = g_timeout_add(period * 1000, ping_function, ses); } else { if (ses->timer_id != 0) { g_source_remove(ses->timer_id); ses->timer_id = 0; } } } gboolean net_get_connection_timed_out(Session * ses) { return ses->timed_out; } gboolean net_connected(Session * ses) { return (ses->connection != NULL); } /** Start listening on the connection in the session */ static void net_start_listening(Session * ses) { GSource *input_source; g_assert(ses->connection != NULL); ses->input_cancel = g_cancellable_new(); input_source = g_pollable_input_stream_create_source(G_POLLABLE_INPUT_STREAM (g_io_stream_get_input_stream (G_IO_STREAM (ses->connection))), ses->input_cancel); g_source_set_callback(input_source, (GSourceFunc) input_ready, ses, NULL); g_source_attach(input_source, NULL); g_source_unref(input_source); } gboolean net_connect(Session * ses, const gchar * host, const gchar * port) { GSocketClient *client; GError *error; g_return_val_if_fail(ses->host == NULL, FALSE); g_return_val_if_fail(ses->connection == NULL, FALSE); client = g_socket_client_new(); ses->host = g_strdup(host); ses->port = atoi(port); error = NULL; ses->connection = g_socket_client_connect_to_host(client, host, ses->port, NULL, &error); if (ses->connection == NULL) { log_message(MSG_ERROR, _("Error connecting to %s: %s\n"), host, error->message); g_error_free(error); return FALSE; } net_start_listening(ses); return TRUE; } static gboolean net_delayed_free(gpointer user_data) { Session *ses = user_data; g_free(ses); return FALSE; } /* Free and NULL-ify the session *ses */ void net_free(Session ** ses) { g_return_if_fail(ses != NULL); /* If the sessions is still in use, do not free it */ if (!net_close_internal(*ses)) { g_warning("Request to free session %p was denied, this " "programming error results in a memory leak\n", *ses); return; } if ((*ses)->service != NULL) { Service *service = (*ses)->service; service->sessions = g_slist_remove(service->sessions, *ses); if (service->delayed_free && service->sessions == NULL) { g_free(service); } } g_free((*ses)->host); if ((*ses)->input_cancel != NULL) { g_object_unref((*ses)->input_cancel); g_idle_add(net_delayed_free, *ses); } else { g_free(*ses); } *ses = NULL; } gchar *get_metaserver_name(gboolean use_default) { gchar *temp; temp = g_strdup(g_getenv("PIONEERS_METASERVER")); if (!temp) temp = g_strdup(g_getenv("GNOCATAN_META_SERVER")); if (!temp) { if (use_default) temp = g_strdup(PIONEERS_DEFAULT_METASERVER); else { temp = g_strdup(g_get_host_name()); } } return temp; } const gchar *get_pioneers_dir(void) { const gchar *pioneers_dir = g_getenv("PIONEERS_DIR"); if (!pioneers_dir) pioneers_dir = g_getenv("GNOCATAN_DIR"); if (!pioneers_dir) pioneers_dir = PIONEERS_DIR_DEFAULT; return pioneers_dir; } static void net_service_incoming(GObject * object, GAsyncResult * result, gpointer user_data) { GSocketListener *listener = G_SOCKET_LISTENER(object); Service *service = user_data; GSocketConnection *connection; GError *error = NULL; Session *ses; connection = g_socket_listener_accept_finish(listener, result, NULL, &error); if (error) { if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED)) { g_error_free(error); return; } g_warning("fail: %s", error->message); g_error_free(error); } else { g_assert(service->listener == listener); ses = net_new(service->notify_func, service->user_data); ses->service = service; ses->connection = connection; service->sessions = g_slist_append(service->sessions, ses); net_start_listening(ses); notify(ses, NET_CONNECT, NULL); } g_cancellable_reset(service->cancellable); /* requeue */ g_socket_listener_accept_async(listener, service->cancellable, net_service_incoming, service); } Service *net_service_new(guint16 port, NetNotifyFunc notify_func, gpointer user_data, gchar ** error_message) { Service *service; GSocketListener *socket_listener; GError *error; socket_listener = g_socket_listener_new(); error = NULL; if (!g_socket_listener_add_inet_port (socket_listener, port, NULL, &error)) { *error_message = g_strdup(error->message); g_error_free(error); g_socket_listener_close(socket_listener); g_object_unref(socket_listener); return NULL; } service = g_malloc0(sizeof(*service)); service->listener = socket_listener; service->cancellable = g_cancellable_new(); service->notify_func = notify_func; service->user_data = user_data; service->sessions = NULL; service->delayed_free = FALSE; g_socket_listener_accept_async(socket_listener, service->cancellable, net_service_incoming, service); return service; } void net_service_free(Service * service) { GSList *list; gboolean delayed_free; if (service == NULL) { return; } g_cancellable_cancel(service->cancellable); g_object_unref(service->cancellable); service->cancellable = NULL; g_object_unref(service->listener); service->listener = NULL; /* Make a copy of all service related data, * because net_free will remove the session * and free the service (when applicable) */ list = g_slist_copy(service->sessions); /* Close all remaining sessions */ delayed_free = FALSE; while (list != NULL) { service->delayed_free = TRUE; delayed_free = TRUE; Session *ses = list->data; net_close(ses); list = g_slist_remove(list, ses); } /* Delay freeing the memory, to allow the callbacks to finish */ if (!delayed_free) { g_free(service); } } gboolean net_get_peer_name(Session * ses, gchar ** hostname, gchar ** servname, GError ** error) { GInetAddress *inet_address; GSocketAddress *remote_address; GResolver *resolver; gchar *name; *hostname = g_strdup(_("unknown")); *servname = g_strdup(_("unknown")); g_return_val_if_fail(error == NULL || *error == NULL, FALSE); remote_address = g_socket_connection_get_remote_address(ses->connection, error); if (error != NULL && *error != NULL) { g_object_unref(remote_address); return FALSE; } g_free(*servname); *servname = g_strdup_printf("%u", g_inet_socket_address_get_port (G_INET_SOCKET_ADDRESS(remote_address))); inet_address = g_inet_socket_address_get_address(G_INET_SOCKET_ADDRESS (remote_address)); g_object_unref(remote_address); resolver = g_resolver_get_default(); name = g_resolver_lookup_by_address(resolver, inet_address, NULL, error); g_object_unref(resolver); if (error != NULL && *error != NULL) { return FALSE; } g_free(*hostname); *hostname = name; return TRUE; } void net_init(void) { /* Do nothing thanks to GIO */ } void net_finish(void) { /* Do nothing thanks to GIO */ } pioneers-15.5/common/cost.h0000644000175000017500000000251113252223516012622 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef __cost_h #define __cost_h #include const gint *cost_road(void); const gint *cost_ship(void); const gint *cost_bridge(void); const gint *cost_settlement(void); const gint *cost_upgrade_settlement(void); const gint *cost_city(void); const gint *cost_city_wall(void); const gint *cost_development(void); gboolean cost_buy(const gint * cost, gint * assets); void cost_refund(const gint * cost, gint * assets); gboolean cost_can_afford(const gint * cost, const gint * assets); #endif pioneers-15.5/common/random.c0000644000175000017500000000344313252223516013132 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * Copyright (C) 2013 Micah Bunting * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ /** @file random.c * Contains the functions to randomly generate numbers. * * The random number generator need to be initialized with random_init() before * any other functions are called. * * To obtain a random number, use random_guint(). */ #include "random.h" /** The seed for the random number generator. */ GRand *g_rand_ctx = NULL; /** Initializes the seed to the random number generator. * @return The seed to the random number generator. */ guint32 random_init(void) { guint32 randomseed; g_rand_ctx = g_rand_new(); randomseed = g_rand_int(g_rand_ctx); g_rand_set_seed(g_rand_ctx, randomseed); return randomseed; } /** * Returns a random number from 0 to range - 1. * @param range The range of the random number generator. * @return The random number. */ guint random_guint(guint range) { return g_rand_int_range(g_rand_ctx, 0, range); } pioneers-15.5/common/game-list.h0000644000175000017500000000224613252223516013541 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003-2007 Bas Wijnen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef __game_list_h #define __game_list_h #include "game.h" void game_list_prepare(void); const GameParams *game_list_find_item(const gchar * title); void game_list_foreach(GFunc func, gpointer user_data); void game_list_cleanup(void); gboolean game_list_is_empty(void); #endif pioneers-15.5/common/log.c0000644000175000017500000001401113252223516012424 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include #include #include #include #include "log.h" #include "driver.h" static gboolean debug_enabled = FALSE; /* The default function to use to write messages, when nothing else has been * specified. */ #define LOG_FUNC_DEFAULT log_message_string_console void log_set_func(LogFunc func) { if (func != NULL) driver->log_write = func; else driver->log_write = LOG_FUNC_DEFAULT; } void log_set_func_default(void) { driver->log_write = LOG_FUNC_DEFAULT; } void log_message_string_console(gint msg_type, const gchar * text) { const gchar *prefix = NULL; switch (msg_type) { case MSG_ERROR: /* Log prefix */ prefix = _("*ERROR* "); break; case MSG_INFO: /* Log prefix for info message */ prefix = "- "; break; case MSG_CHAT: /* Log prefix */ prefix = _("Chat: "); break; case MSG_RESOURCE: /* Log prefix */ prefix = _("Resource: "); break; case MSG_BUILD: /* Log prefix */ prefix = _("Build: "); break; case MSG_DICE: /* Log prefix */ prefix = _("Dice: "); break; case MSG_STEAL: /* Log prefix */ prefix = _("Steal: "); break; case MSG_TRADE: /* Log prefix */ prefix = _("Trade: "); break; case MSG_DEVCARD: /* Log prefix */ prefix = _("Development: "); break; case MSG_LARGESTARMY: /* Log prefix */ prefix = _("Army: "); break; case MSG_LONGESTROAD: /* Log prefix */ prefix = _("Road: "); break; case MSG_BEEP: /* Log prefix */ prefix = _("*BEEP* "); break; case MSG_TIMESTAMP: break; /* No prefix */ case MSG_PLAYER1: /* Log prefix */ prefix = _("Player 1: "); break; case MSG_PLAYER2: /* Log prefix */ prefix = _("Player 2: "); break; case MSG_PLAYER3: /* Log prefix */ prefix = _("Player 3: "); break; case MSG_PLAYER4: /* Log prefix */ prefix = _("Player 4: "); break; case MSG_PLAYER5: /* Log prefix */ prefix = _("Player 5: "); break; case MSG_PLAYER6: /* Log prefix */ prefix = _("Player 6: "); break; case MSG_PLAYER7: /* Log prefix */ prefix = _("Player 7: "); break; case MSG_PLAYER8: /* Log prefix */ prefix = _("Player 8: "); break; case MSG_SPECTATOR_CHAT: /* Log prefix */ prefix = _("Spectator: "); break; default: /* Log prefix */ prefix = _("** UNKNOWN MESSAGE TYPE ** "); } if (prefix) fprintf(stderr, "%s%s", prefix, text); else fprintf(stderr, "%s", text); } static const char *debug_type(int type) { switch (type) { case MSG_ERROR: return "ERROR"; case MSG_INFO: return "INFO"; case MSG_CHAT: return "CHAT"; case MSG_RESOURCE: return "RESOURCE"; case MSG_BUILD: return "BUILD"; case MSG_DICE: return "DICE"; case MSG_STEAL: return "STEAL"; case MSG_TRADE: return "TRADE"; case MSG_DEVCARD: return "DEVCARD"; case MSG_LARGESTARMY: return "LARGESTARMY"; case MSG_LONGESTROAD: return "LONGESTROAD"; case MSG_BEEP: return "BEEP"; case MSG_PLAYER1: return "PLAYER1"; case MSG_PLAYER2: return "PLAYER2"; case MSG_PLAYER3: return "PLAYER3"; case MSG_PLAYER4: return "PLAYER4"; case MSG_PLAYER5: return "PLAYER5"; case MSG_PLAYER6: return "PLAYER6"; case MSG_PLAYER7: return "PLAYER7"; case MSG_PLAYER8: return "PLAYER8"; case MSG_SPECTATOR_CHAT: return "SPECTATOR_CHAT"; default: return "*UNKNOWN MESSAGE TYPE*"; } } void log_message_chat(const gchar * player_name, const gchar * joining_text, gint msg_type, const gchar * chat) { if (driver->log_write && driver->log_write != LOG_FUNC_DEFAULT) { log_message(MSG_INFO, "%s%s", player_name, joining_text); debug("[%s] %s", debug_type(msg_type), chat); /* No timestamp here: */ driver->log_write(msg_type, chat); driver->log_write(msg_type, "\n"); } else { log_message(msg_type, "%s%s%s\n", player_name, joining_text, chat); } } void log_message(gint msg_type, const gchar * fmt, ...) { gchar *text; gchar *timestamp; va_list ap; time_t t; struct tm *alpha; va_start(ap, fmt); text = g_strdup_vprintf(fmt, ap); va_end(ap); debug("[%s] %s", debug_type(msg_type), text); t = time(NULL); alpha = localtime(&t); timestamp = g_strdup_printf("%02d:%02d:%02d ", alpha->tm_hour, alpha->tm_min, alpha->tm_sec); if (driver->log_write) { driver->log_write(MSG_TIMESTAMP, timestamp); driver->log_write(msg_type, text); } else { LOG_FUNC_DEFAULT(MSG_TIMESTAMP, timestamp); LOG_FUNC_DEFAULT(msg_type, text); } g_free(text); g_free(timestamp); } void set_enable_debug(gboolean enabled) { debug_enabled = enabled; } void debug(const gchar * fmt, ...) { va_list ap; gchar *buff; gint idx; time_t t; struct tm *alpha; if (!debug_enabled) return; va_start(ap, fmt); buff = g_strdup_vprintf(fmt, ap); va_end(ap); t = time(NULL); alpha = localtime(&t); g_print("%02d:%02d:%02d ", alpha->tm_hour, alpha->tm_min, alpha->tm_sec); for (idx = 0; buff[idx] != '\0'; idx++) { if (isprint(buff[idx])) g_print("%c", buff[idx]); else switch (buff[idx]) { case '\n': g_print("\\n"); break; case '\r': g_print("\\r"); break; case '\t': g_print("\\t"); break; default: g_print("\\x%02x", (buff[idx] & 0xff)); break; } } g_print("\n"); g_free(buff); } pioneers-15.5/common/Makefile.am0000644000175000017500000000636413243741130013544 00000000000000# Pioneers - Implementation of the excellent Settlers of Catan board game. # Go buy a copy. # # Copyright (C) 1999 Dave Cole # Copyright (C) 2003, 2006 Bas Wijnen # Copyright (C) 2004, 2010 Roland Clobus # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA noinst_LIBRARIES += libpioneers.a if HAVE_GTK include common/gtk/Makefile.am endif libpioneers_a_CPPFLAGS = $(console_cflags) libpioneers_a_SOURCES = \ common/authors.h \ common/buildrec.c \ common/buildrec.h \ common/cards.c \ common/cards.h \ common/common_glib.c \ common/common_glib.h \ common/cost.c \ common/cost.h \ common/deck.c \ common/deck.h \ common/driver.c \ common/driver.h \ common/game.c \ common/game.h \ common/game-list.c \ common/game-list.h \ common/log.c \ common/log.h \ common/map.c \ common/map.h \ common/map_query.c \ common/network.c \ common/network.h \ common/notifying-string.gob \ common/notifying-string.gob.stamp \ common/notifying-string.c \ common/notifying-string.h \ common/notifying-string-private.h \ common/quoteinfo.c \ common/quoteinfo.h \ common/random.c \ common/random.h \ common/set.c \ common/set.h \ common/state.c \ common/state.h \ common/version.h common/authors.h: AUTHORS $(MKDIR_P) common printf '#define AUTHORLIST ' > $@ $(SED) -e's/ <.*//; s/$$/", \\/; s/^/"/; /^"[[:space:]]*", \\$$/d' $< >> $@ printf 'NULL\n' >> $@ common/version.h: build_version # This target is not called common/version.h (although it builds that file), # because it must be PHONY, but should only be rebuilt once. build_version: $(MKDIR_P) common printf '#define FULL_VERSION "$(VERSION)' > common/version.new if svn info > /dev/null 2>&1; then \ svn info | \ $(AWK) '$$1 == "Revision:" { printf ".r%s", $$2 }' \ >> common/version.new ;\ if svn status | $(GREP) -vq ^\? ; then \ printf '.M' >> common/version.new ;\ fi ;\ fi printf '"\n' >> common/version.new if diff common/version.h common/version.new > /dev/null 2>&1; then \ rm common/version.new ;\ else \ mv common/version.new common/version.h ;\ fi BUILT_SOURCES += \ common/authors.h \ common/notifying-string.gob.stamp \ common/notifying-string.c \ common/notifying-string.h \ common/notifying-string-private.h \ common/version.h CLEANFILES += common/authors.h common/version.h MAINTAINERCLEANFILES += \ common/notifying-string.gob.stamp \ common/notifying-string.c \ common/notifying-string.h \ common/notifying-string-private.h # always try to rebuild version.h .PHONY: build_version pioneers-15.5/common/state.h0000644000175000017500000001245013252223516012775 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003, 2006 Bas Wijnen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef __state_h #define __state_h #include #include "network.h" /* sm_ API: * * The server output is handled one line at a time. For each line * received, the current state is called with the SM_RECV event. The * [fmt] format string is modelled on the printf format string, * see game_printf and game_scanf for details. * * sm_recv(fmt, ...) * Match the entire current line from the start position. * Returns TRUE if there is a match * * sm_recv_prefix(fmt, ...) * Match a prefix of the current line from the start position. * Returns TRUE if there is a match, and sets the start position * to the character following the prefix. If the prefix does not * match, the function returns FALSE, and does not alter the * start position. * * sm_cancel_prefix() * Set start position in current line back to beginning. * * sm_send(fmt, ...) * Send data back to the server. * * The sm_ API maintains a record of the current state, and a stack of * previous states. Code can move to new states using the following * functions. * * sm_goto(new_state) * Set the current state to [new_state] * * sm_push(new_state) * Save the current state on the stack, then set the current * state to [new_state] * * sm_pop() * Pop the top state off the stack and make it the current state. * * sm_multipop() * Pop a number of states off the stack and set a new current state * accordingly. * * sm_pop_all_and_goto(new_state) * Clear the state stack, set the current state to [new_state] * * sm_stack_inspect() * Return the state at offset from the top of the stack. */ typedef enum { SM_NET_CONNECT = 10000, SM_NET_CONNECT_FAIL, SM_NET_CLOSE, SM_ENTER, SM_INIT, SM_RECV, SM_FREE } EventType; typedef struct StateMachine StateMachine; /* All state functions look like this */ typedef gboolean(*StateFunc) (StateMachine * sm, gint event); StateMachine *sm_new(gpointer user_data); void sm_free(StateMachine * sm); void sm_close(StateMachine * sm); /** Copy the stack to another state machine. * @dest Destination * @src Source */ void sm_copy_stack(StateMachine * dest, const StateMachine * src); const gchar *sm_current_name(StateMachine * sm); void sm_state_name(StateMachine * sm, const gchar * name); gboolean sm_recv(StateMachine * sm, const gchar * fmt, ...); gboolean sm_recv_prefix(StateMachine * sm, const gchar * fmt, ...); void sm_cancel_prefix(StateMachine * sm); void sm_write(StateMachine * sm, const gchar * str); /** Send the data, even when caching is turned on */ void sm_write_uncached(StateMachine * sm, const gchar * str); void sm_send(StateMachine * sm, const gchar * fmt, ...); /** Cache the messages that are sent. * When the caching is turned off, all cached data is sent. * @param sm The statemachine * @param use_cache Turn the caching on/off */ void sm_set_use_cache(StateMachine * sm, gboolean use_cache); /** Check whether messages are cached. * @param sm The statemachine * @return TRUE when the caching of messages is active */ gboolean sm_get_use_cache(const StateMachine * sm); void sm_debug(const gchar * function, const gchar * state); #define sm_goto(a, b) do { sm_debug("sm_goto", #b); sm_goto_nomacro(a, b); } while (0) void sm_goto_nomacro(StateMachine * sm, StateFunc new_state); #define sm_goto_noenter(a, b) do { sm_debug("sm_goto_noenter", #b); sm_goto_noenter_nomacro(a, b); } while (0) void sm_goto_noenter_nomacro(StateMachine * sm, StateFunc new_state); #define sm_push(a, b) do { sm_debug("sm_push", #b); sm_push_nomacro(a, b); } while (0) void sm_push_nomacro(StateMachine * sm, StateFunc new_state); #define sm_push_noenter(a, b) do { sm_debug("sm_push_noenter", #b); sm_push_noenter_nomacro(a, b); } while (0) void sm_push_noenter_nomacro(StateMachine * sm, StateFunc new_state); void sm_pop(StateMachine * sm); void sm_multipop(StateMachine * sm, gint depth); void sm_pop_all_and_goto(StateMachine * sm, StateFunc new_state); StateFunc sm_current(StateMachine * sm); StateFunc sm_stack_inspect(const StateMachine * sm, guint offset); void sm_global_set(StateMachine * sm, StateFunc state); void sm_unhandled_set(StateMachine * sm, StateFunc state); gboolean sm_is_connected(StateMachine * sm); gboolean sm_connect(StateMachine * sm, const gchar * host, const gchar * port); void sm_set_session(StateMachine * sm, Session * ses); void sm_dec_use_count(StateMachine * sm); void sm_inc_use_count(StateMachine * sm); /** Dump the stack */ void sm_stack_dump(const StateMachine * sm); #endif pioneers-15.5/common/authors.h0000644000175000017500000000043213252243607013342 00000000000000#define AUTHORLIST "Dave Cole", \ "Andy Heroff", \ "Roman Hodek", \ "Dan Egnor", \ "Steve Langasek", \ "Bibek Sahu", \ "Roderick Schertler", \ "Jeff Breidenbach", \ "David Fallon", \ "Matt Waggoner", \ "Geoff Hanson", \ "Bas Wijnen", \ "Roland Clobus", \ "Brian Wellington", \ NULL pioneers-15.5/common/gtk/0000755000175000017500000000000013252243610012344 500000000000000pioneers-15.5/common/gtk/metaserver.c0000644000175000017500000001041212303062653014605 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 2008 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include #include #include #include "network.h" #include "config-gnome.h" #include "metaserver.h" static void metaserver_class_init(MetaServerClass * klass); static void metaserver_init(MetaServer * ms); /* Register the class */ GType metaserver_get_type(void) { static GType sg_type = 0; if (!sg_type) { static const GTypeInfo sg_info = { sizeof(MetaServerClass), NULL, /* base_init */ NULL, /* base_finalize */ (GClassInitFunc) metaserver_class_init, NULL, /* class_finalize */ NULL, /* class_data */ sizeof(MetaServer), 0, (GInstanceInitFunc) metaserver_init, NULL }; sg_type = g_type_register_static(GTK_TYPE_TABLE, "MetaServer", &sg_info, 0); } return sg_type; } static void metaserver_class_init(G_GNUC_UNUSED MetaServerClass * klass) { } /* Build the composite widget */ static void metaserver_init(MetaServer * ms) { GtkTreeIter iter; GtkCellRenderer *cell; gchar *default_metaserver_name; gchar *custom_metaserver_name; gboolean novar; /* Create model */ ms->data = gtk_list_store_new(1, G_TYPE_STRING); ms->combo_box = gtk_combo_box_new_with_model(GTK_TREE_MODEL(ms->data)); cell = gtk_cell_renderer_text_new(); gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(ms->combo_box), cell, TRUE); gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(ms->combo_box), cell, "text", 0, NULL); gtk_widget_show(ms->combo_box); gtk_widget_set_tooltip_text(ms->combo_box, /* Tooltip for the list of metaservers */ _("Select a metaserver")); gtk_table_resize(GTK_TABLE(ms), 1, 1); gtk_table_attach_defaults(GTK_TABLE(ms), ms->combo_box, 0, 1, 0, 1); /* Default metaserver */ default_metaserver_name = get_metaserver_name(TRUE); metaserver_add(ms, default_metaserver_name); g_free(default_metaserver_name); /* Custom metaserver */ custom_metaserver_name = config_get_string ("server/custom-metaserver=pioneers.game-host.org", &novar); metaserver_add(ms, custom_metaserver_name); g_free(custom_metaserver_name); /* Select the first item. * When later metaserver_add is called, it will set the current metaserver */ gtk_tree_model_get_iter_first(GTK_TREE_MODEL(ms->data), &iter); gtk_combo_box_set_active_iter(GTK_COMBO_BOX(ms->combo_box), &iter); } /* Create a new instance of the widget */ GtkWidget *metaserver_new(void) { return GTK_WIDGET(g_object_new(metaserver_get_type(), NULL)); } void metaserver_add(MetaServer * ms, const gchar * text) { GtkTreeIter iter; if (gtk_tree_model_get_iter_first(GTK_TREE_MODEL(ms->data), &iter)) { gchar *old; gboolean found = FALSE; gboolean atend = FALSE; do { gtk_tree_model_get(GTK_TREE_MODEL(ms->data), &iter, 0, &old, -1); if (!strcmp(text, old)) found = TRUE; else atend = !gtk_tree_model_iter_next (GTK_TREE_MODEL(ms->data), &iter); g_free(old); } while (!found && !atend); if (!found) gtk_list_store_insert_with_values(ms->data, &iter, 999, 0, text, -1); } else { /* Was empty */ gtk_list_store_insert_with_values(ms->data, &iter, 999, 0, text, -1); } gtk_combo_box_set_active_iter(GTK_COMBO_BOX(ms->combo_box), &iter); } gchar *metaserver_get(MetaServer * ms) { GtkTreeIter iter; gchar *text; gtk_combo_box_get_active_iter(GTK_COMBO_BOX(ms->combo_box), &iter); gtk_tree_model_get(GTK_TREE_MODEL(ms->data), &iter, 0, &text, -1); return text; } pioneers-15.5/common/gtk/map-icons.h0000644000175000017500000000244412157646531014343 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * Copyright (C) 2005, 2009 Roland Clobus * Copyright (C) 2013 Micah Bunting * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef __map_icons_h #define __map_icons_h #include #include "map.h" /** Creates a widget with a view of a terrain. * @param Terrain The terrain in the view. * @return The GtkWidget containing the view of the terrain. */ GtkWidget *terrain_icon_new(Terrain terrain); #endif pioneers-15.5/common/gtk/common_gtk.c0000644000175000017500000003050613252223516014574 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include #include #include "game.h" #include "state.h" #include "common_gtk.h" #include "cards.h" static GtkCssProvider *small_button_style_provider; static GtkWidget *message_txt; static GtkWidget *message_container; static gboolean msg_colors = TRUE; /* Local function prototypes */ static void gtk_event_cleanup(void); static void message_window_log_message_string(gint msg_type, const gchar * text); /* Set the default logging function to write to the message window. */ void log_set_func_message_window(void) { driver->log_write = message_window_log_message_string; } void log_set_func_message_color_enable(gboolean enable) { msg_colors = enable; } /* Write a message string to the console, setting its color based on its * type. */ void message_window_log_message_string(gint msg_type, const gchar * text) { GtkTextBuffer *buffer; GtkTextIter iter; GtkTextMark *end_mark; const gchar *tagname; if (message_txt == NULL) return; /* No widget set */ /* First determine if the requested color is for chat. * Chat colors are separately turned on/off */ switch (msg_type) { case MSG_PLAYER1: tagname = "player1"; break; case MSG_PLAYER2: tagname = "player2"; break; case MSG_PLAYER3: tagname = "player3"; break; case MSG_PLAYER4: tagname = "player4"; break; case MSG_PLAYER5: tagname = "player5"; break; case MSG_PLAYER6: tagname = "player6"; break; case MSG_PLAYER7: tagname = "player7"; break; case MSG_PLAYER8: tagname = "player8"; break; default: /* Not chat related, check whether other messages * use color */ if (!msg_colors) tagname = "black"; else switch (msg_type) { case MSG_ERROR: tagname = "red"; break; case MSG_TIMESTAMP: case MSG_INFO: tagname = "info"; break; case MSG_CHAT: tagname = "chat"; break; case MSG_SPECTATOR_CHAT: tagname = "chat"; break; case MSG_RESOURCE: tagname = "resource"; break; case MSG_BUILD: tagname = "build"; break; case MSG_DICE: tagname = "dice"; break; case MSG_STEAL: tagname = "steal"; break; case MSG_TRADE: tagname = "trade"; break; case MSG_DEVCARD: tagname = "devcard"; break; case MSG_LARGESTARMY: tagname = "largest"; break; case MSG_LONGESTROAD: tagname = "longest"; break; case MSG_BEEP: tagname = "beep"; break; default: tagname = "green"; }; break; } if (message_container != NULL) { gtk_widget_show(message_container); } buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(message_txt)); /* insert text at the end */ gtk_text_buffer_get_end_iter(buffer, &iter); gtk_text_buffer_insert_with_tags_by_name(buffer, &iter, text, -1, tagname, NULL); /* move cursor to the end */ gtk_text_buffer_get_end_iter(buffer, &iter); gtk_text_buffer_place_cursor(buffer, &iter); end_mark = gtk_text_buffer_get_mark(buffer, "end-mark"); g_assert(end_mark != NULL); gtk_text_view_scroll_to_mark(GTK_TEXT_VIEW(message_txt), end_mark, 0.0, FALSE, 0.0, 0.0); } /* set the text widget. */ void message_window_set_text(GtkWidget * textWidget, GtkWidget * container) { GtkTextBuffer *buffer; GtkTextIter iter; message_txt = textWidget; message_container = container; /* Prepare all tags */ buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(message_txt)); gtk_text_buffer_create_tag(buffer, "black", "foreground", "black", NULL); gtk_text_buffer_create_tag(buffer, "red", "foreground", "red", NULL); gtk_text_buffer_create_tag(buffer, "green", "foreground", "green", NULL); gtk_text_buffer_create_tag(buffer, "build", "foreground", "#BB0000", NULL); gtk_text_buffer_create_tag(buffer, "chat", "foreground", "#0000FF", NULL); gtk_text_buffer_create_tag(buffer, "devcard", "foreground", "#C6C613", NULL); gtk_text_buffer_create_tag(buffer, "dice", "foreground", "#00AA00", NULL); gtk_text_buffer_create_tag(buffer, "info", "foreground", "#000000", NULL); gtk_text_buffer_create_tag(buffer, "largest", "foreground", "#1CB5ED", NULL); gtk_text_buffer_create_tag(buffer, "longest", "foreground", "#1CB5ED", NULL); gtk_text_buffer_create_tag(buffer, "resource", "foreground", "#0000FF", NULL); gtk_text_buffer_create_tag(buffer, "steal", "foreground", "#A613C6", NULL); gtk_text_buffer_create_tag(buffer, "trade", "foreground", "#006600", NULL); gtk_text_buffer_create_tag(buffer, "beep", "foreground", "#B7AE07", NULL); gtk_text_buffer_create_tag(buffer, "player1", "foreground", "#CD0000", NULL); gtk_text_buffer_create_tag(buffer, "player2", "foreground", "#1E90FF", NULL); gtk_text_buffer_create_tag(buffer, "player3", "foreground", "#808080", NULL); gtk_text_buffer_create_tag(buffer, "player4", "foreground", "#FF7F00", NULL); gtk_text_buffer_create_tag(buffer, "player5", "foreground", "#AEAE00", NULL); gtk_text_buffer_create_tag(buffer, "player6", "foreground", "#8EB5BE", NULL); gtk_text_buffer_create_tag(buffer, "player7", "foreground", "#D15FBE", NULL); gtk_text_buffer_create_tag(buffer, "player8", "foreground", "#00BE76", NULL); /* Set the mark that will mark the end of the text */ gtk_text_buffer_get_end_iter(buffer, &iter); gtk_text_buffer_create_mark(buffer, "end-mark", &iter, FALSE); } static void gtk_event_cleanup(void) { while (gtk_events_pending()) gtk_main_iteration(); } UIDriver GTK_Driver = { gtk_event_cleanup, /* initially log to the console; change it to the message window after * the message window is created. */ log_message_string_console, /* callbacks for the server; NULL for now -- let the server set them */ NULL, /* player added */ NULL, /* player renamed */ NULL, /* player removed */ NULL /* player renamed */ }; struct TFindData { GtkTreeIter iter; enum TFindResult result; gint column; gint number; }; static gboolean find_integer_cb(GtkTreeModel * model, G_GNUC_UNUSED GtkTreePath * path, GtkTreeIter * iter, gpointer user_data) { struct TFindData *data = (struct TFindData *) user_data; int wanted = data->number; int current; gtk_tree_model_get(model, iter, data->column, ¤t, -1); if (current > wanted) { data->result = FIND_MATCH_INSERT_BEFORE; data->iter = *iter; return TRUE; } else if (current == wanted) { data->result = FIND_MATCH_EXACT; data->iter = *iter; return TRUE; } return FALSE; } enum TFindResult find_integer_in_tree(GtkTreeModel * model, GtkTreeIter * iter, gint column, gint number) { struct TFindData data; data.column = column; data.number = number; data.result = FIND_NO_MATCH; gtk_tree_model_foreach(model, find_integer_cb, &data); if (data.result != FIND_NO_MATCH) *iter = data.iter; return data.result; } void check_victory_points(GameParams * params, GtkWindow * main_window) { gchar *win_message; gchar *point_specification; WinnableState state; GtkMessageType message_type; GtkWidget *dialog; state = params_check_winnable_state(params, &win_message, &point_specification); switch (state) { case PARAMS_WINNABLE: message_type = GTK_MESSAGE_INFO; break; case PARAMS_WIN_BUILD_ALL: message_type = GTK_MESSAGE_INFO; break; case PARAMS_WIN_PERHAPS: message_type = GTK_MESSAGE_WARNING; break; case PARAMS_NO_WIN: message_type = GTK_MESSAGE_ERROR; break; default: message_type = GTK_MESSAGE_ERROR; break; /* Avoid a GCC warning about message_type being possibly uninitialized */ } dialog = gtk_message_dialog_new(main_window, GTK_DIALOG_DESTROY_WITH_PARENT, message_type, GTK_BUTTONS_OK, "%s", win_message); gtk_window_set_title(GTK_WINDOW(dialog), /* Caption for result of checking victory points */ _("Victory Point Analysis")); gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG(dialog), "%s", point_specification); gtk_dialog_run(GTK_DIALOG(dialog)); gtk_widget_destroy(dialog); g_free(win_message); g_free(point_specification); } void prepare_gtk_for_close_button_on_tab(void) { /* The code for adding the button is based on the code on * http://www.micahcarrick.com/gtk-notebook-tabs-with-close-button.html * by Micah Carrick */ const gchar *data = ".button {\n" "-GtkButton-default-border : 0px;\n" "-GtkButton-default-outside-border : 0px;\n" "-GtkButton-inner-border: 0px;\n" "-GtkWidget-focus-line-width : 0px;\n" "-GtkWidget-focus-padding : 0px;\n" "padding: 0px;\n" "}"; small_button_style_provider = gtk_css_provider_new(); gtk_css_provider_load_from_data(small_button_style_provider, data, -1, NULL); } GtkWidget *create_label_with_close_button(const gchar * label_text, const gchar * tooltip_text, GtkWidget ** button) { GtkWidget *hbox; GtkWidget *lbl; GtkWidget *close_image; hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 4); lbl = gtk_label_new(label_text); gtk_box_pack_start(GTK_BOX(hbox), lbl, FALSE, FALSE, 0); close_image = gtk_image_new_from_icon_name("window-close", GTK_ICON_SIZE_MENU); *button = gtk_button_new(); gtk_button_set_relief(GTK_BUTTON(*button), GTK_RELIEF_NONE); gtk_button_set_focus_on_click(GTK_BUTTON(*button), FALSE); gtk_container_add(GTK_CONTAINER(*button), close_image); gtk_widget_set_tooltip_text(*button, tooltip_text); gtk_box_pack_start(GTK_BOX(hbox), *button, FALSE, FALSE, 0); /* Apply the style, to make the button smaller */ gtk_style_context_add_provider(gtk_widget_get_style_context (*button), GTK_STYLE_PROVIDER (small_button_style_provider), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); gtk_widget_show_all(hbox); return hbox; } void build_frame(GtkWidget * parent, const gchar * title, GtkWidget * element, gboolean extend) { /* vbox */ /* label */ /* hbox */ /* fix */ /* element */ GtkWidget *vbox; GtkWidget *label; GtkWidget *hbox; GtkWidget *fix; gchar *title_with_markup; vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 3); gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); gtk_box_pack_start(GTK_BOX(parent), vbox, extend, TRUE, 0); label = gtk_label_new(NULL); title_with_markup = g_strdup_printf("%s", title); gtk_label_set_markup(GTK_LABEL(label), title_with_markup); g_free(title_with_markup); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); gtk_widget_show(label); gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, TRUE, 0); hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE, 0); fix = gtk_fixed_new(); gtk_box_pack_start(GTK_BOX(hbox), fix, FALSE, TRUE, 6); gtk_box_pack_start(GTK_BOX(hbox), element, TRUE, TRUE, 0); } void set_tooltip_on_column(GtkTreeViewColumn * column, const gchar * tooltip) { GtkWidget *label; label = gtk_label_new(gtk_tree_view_column_get_title(column)); gtk_widget_set_tooltip_text(label, tooltip); gtk_widget_show(label); gtk_tree_view_column_set_widget(column, label); } /* Code based on gtk_widget_get_pointer in gtkwidget.c */ void get_mouse_position(GtkWidget * widget, gdouble * x, gdouble * y) { gint xi; gint yi; g_return_if_fail(GTK_IS_WIDGET(widget)); xi = -1; yi = -1; if (gtk_widget_get_realized(widget)) { gdk_window_get_device_position(gtk_widget_get_window (widget), gdk_device_manager_get_client_pointer (gdk_display_get_device_manager (gtk_widget_get_display (widget))), &xi, &yi, NULL); } if (x) *x = xi; if (y) *y = yi; } pioneers-15.5/common/gtk/theme.c0000644000175000017500000004377413252223516013554 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * Copyright (C) 2005, 2009 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include #include #include #include #include "game.h" #include "theme.h" #include "config-gnome.h" /* Description of theme.cfg: ------------------------- A theme.cfg file is a series of definitions, one per line. Lines starting with '#' are comments. A definition looks like VARIABLE = VALUE There are three types of variables: pixmaps, colors, and the scaling mode. The value for a pixmap is a filename, relative to the theme directory. A color can be either 'none' or 'transparent' (both equivalent), or '#rrggbb'. (It's also allowed to use 1, 3, or 4 digits per color component.) Pixmaps can be defined for hex backgrounds (hill-tile, field-tile, mountain-tile, pasture-tile, forest-tile, desert-tile, sea-tile, board-tile) and port backgrounds (brick-port-tile, grain-port-tile, ore-port-tile, wool-port-tile, and lumber-port-tile). If a hex tile is not defined, the pixmap from the default theme will be used. If a port tile is not given, the corresponding 2:1 ports will be painted in solid background color. chip-bg-color, chip-fg-color, and chip-bd-color are the colors for the dice roll chips in the middle of a hex. port-{bg,fg,bd}-color are the same for ports. chip-hi-bg-color is used as background for chips that correspond to the current roll, chip-hi-fg-color is chips showing 6 or 8. You can also define robber-{fg,bg}-color for the robber and hex-bd-color for the border of hexes (around the background image). If any color is not defined, the default color will be used. If a color is 'none' the corresponding element won't be painted at all. The five chip colors can also be different for each terrain type. To override the general colors, add color definitions after the name of the pixmap, e.g.: field-tile = field_grain.png none #d0d0d0 none #303030 #ffffff The order is bg, fg, bd, hi-bg, hi-fg. Sorry, you can't skip definitions at the beginning... Normally, all pixmaps are used in their native size and repeat over their area as needed (tiling). This doesn't look good for photo-like images, so you can add "scaling = always" in that case. Then images will always be scaled to the current size of a hex. (BTW, the height should be 1/cos(pi/6) (~ 1.1547) times the width of the image.) Two other available modes are 'only-downscale' and 'only-upscale' to make images only smaller or larger, resp. (in case it's needed sometimes...) */ #define TCOL_INIT(r,g,b) { TRUE, FALSE, { 0, r, g, b } } #define TCOL_TRANSP() { TRUE, TRUE, { 0, 0, 0, 0 } } #define TCOL_UNSET() { FALSE, FALSE, { 0, 0, 0, 0 } } #define TSCALE { NULL, NULL, 0, 0.0 } static TColor default_colors[] = { TCOL_INIT(0xff00, 0xda00, 0xb900), TCOL_INIT(0, 0, 0), TCOL_INIT(0, 0, 0), TCOL_INIT(0, 0xff00, 0), TCOL_INIT(0xff00, 0, 0), TCOL_INIT(0, 0, 0xff00), TCOL_INIT(0xff00, 0xff00, 0xff00), TCOL_INIT(0, 0, 0), TCOL_INIT(0, 0, 0), TCOL_INIT(0xff00, 0xff00, 0xff00), TCOL_INIT(0xff00, 0xda00, 0xb900) }; #define offs(elem) ((size_t)(&(((MapTheme *)0)->elem))) #define telem(type,theme,tv) (*((type *)((char *)theme + tv->offset))) typedef enum { FNAME, STR, COL, SCMODE } vartype; static struct tvars { const char *name; gboolean optional; vartype type; int override; size_t offset; } theme_vars[] = { { "name", TRUE, STR, -1, offs(name)}, { "hill-tile", FALSE, FNAME, HILL_TILE, offs(terrain_tile_names[HILL_TILE])}, { "field-tile", FALSE, FNAME, FIELD_TILE, offs(terrain_tile_names[FIELD_TILE])}, { "mountain-tile", FALSE, FNAME, MOUNTAIN_TILE, offs(terrain_tile_names[MOUNTAIN_TILE])}, { "pasture-tile", FALSE, FNAME, PASTURE_TILE, offs(terrain_tile_names[PASTURE_TILE])}, { "forest-tile", FALSE, FNAME, FOREST_TILE, offs(terrain_tile_names[FOREST_TILE])}, { "desert-tile", FALSE, FNAME, -1, offs(terrain_tile_names[DESERT_TILE])}, { "sea-tile", FALSE, FNAME, -1, offs(terrain_tile_names[SEA_TILE])}, { "gold-tile", FALSE, FNAME, GOLD_TILE, offs(terrain_tile_names[GOLD_TILE])}, { "board-tile", FALSE, FNAME, -1, offs(terrain_tile_names[BOARD_TILE])}, { "brick-port-tile", TRUE, FNAME, -1, offs(port_tile_names[HILL_PORT_TILE])}, { "grain-port-tile", TRUE, FNAME, -1, offs(port_tile_names[FIELD_PORT_TILE])}, { "ore-port-tile", TRUE, FNAME, -1, offs(port_tile_names[MOUNTAIN_PORT_TILE])}, { "wool-port-tile", TRUE, FNAME, -1, offs(port_tile_names[PASTURE_PORT_TILE])}, { "lumber-port-tile", TRUE, FNAME, -1, offs(port_tile_names[FOREST_PORT_TILE])}, { "nores-port-tile", TRUE, FNAME, -1, offs(port_tile_names[ANY_PORT_TILE])}, { "chip-bg-color", TRUE, COL, -1, offs(colors[TC_CHIP_BG])}, { "chip-fg-color", TRUE, COL, -1, offs(colors[TC_CHIP_FG])}, { "chip-bd-color", TRUE, COL, -1, offs(colors[TC_CHIP_BD])}, { "chip-hi-bg-color", TRUE, COL, -1, offs(colors[TC_CHIP_H_BG])}, { "chip-hi-fg-color", TRUE, COL, -1, offs(colors[TC_CHIP_H_FG])}, { "port-bg-color", TRUE, COL, -1, offs(colors[TC_PORT_BG])}, { "port-fg-color", TRUE, COL, -1, offs(colors[TC_PORT_FG])}, { "port-bd-color", TRUE, COL, -1, offs(colors[TC_PORT_BD])}, { "robber-fg-color", TRUE, COL, -1, offs(colors[TC_ROBBER_FG])}, { "robber-bd-color", TRUE, COL, -1, offs(colors[TC_ROBBER_BD])}, { "hex-bd-color", TRUE, COL, -1, offs(colors[TC_HEX_BD])}, { "scaling", FALSE, SCMODE, -1, offs(scaling)} }; static GList *theme_list = NULL; static MapTheme *current_theme = NULL; static GList *callback_list = NULL; static gboolean theme_initialize(MapTheme * t); static void theme_cleanup(MapTheme * t); static void theme_scan_dir(const gchar * themes_path); static gint getvar(gchar ** p, const gchar * filename, gint lno); static char *getval(char **p, const gchar * filename, int lno); static gboolean parsecolor(char *p, TColor * tc, const gchar * filename, int lno); static MapTheme *theme_config_parse(const gchar * themename, const gchar * subdir); static gboolean theme_load_pixbuf(const gchar * file, const gchar * themename, GdkPixbuf ** pixbuf); /** Find a theme with the given name */ static gint theme_list_locate(gconstpointer item, gconstpointer data) { const MapTheme *theme = item; const gchar *name = data; return strcmp(theme->name, name); } /** Insert the theme alphabetically in the list */ static gint theme_insert_sorted(gconstpointer new, gconstpointer first) { const MapTheme *newTheme = new; const MapTheme *firstTheme = first; return strcmp(newTheme->name, firstTheme->name); } void themes_init(void) { gchar *path; MapTheme *t; gint novar; gchar *user_theme; g_assert(theme_list == NULL); /* scan global theme directory */ theme_scan_dir(THEMEDIR); /* scan user theme directory */ path = g_build_filename(g_get_user_data_dir(), "pioneers", "themes", NULL); theme_scan_dir(path); if (theme_list == NULL) { g_error("No theme found: %s or %s", THEMEDIR, path); } g_free(path); t = NULL; user_theme = config_get_string("settings/theme=Tiny", &novar); if (!(!user_theme || !*user_theme)) { GList *result = g_list_find_custom(theme_list, user_theme, theme_list_locate); if (result) t = result->data; } g_free(user_theme); if (!t) { t = g_list_first(theme_list)->data; } current_theme = t; } void themes_cleanup(void) { GList *list = theme_list; while (list) { theme_cleanup(list->data); list = g_list_next(list); } g_list_free(theme_list); g_list_free(callback_list); } void theme_scan_dir(const gchar * themes_path) { GDir *dir; const gchar *dirname; gchar *fname; MapTheme *t; /* scan image dir for theme descriptor files */ if (!(dir = g_dir_open(themes_path, 0, NULL))) return; while ((dirname = g_dir_read_name(dir))) { fname = g_build_filename(themes_path, dirname, NULL); if (g_file_test(fname, G_FILE_TEST_IS_DIR)) { if ((t = theme_config_parse(dirname, fname))) { if (theme_initialize(t)) { theme_list = g_list_insert_sorted (theme_list, t, theme_insert_sorted); } else { g_warning ("Theme %s not loaded due to errors.", t->name); } } else { g_warning ("Theme %s not loaded due to errors.", dirname); } } g_free(fname); } g_dir_close(dir); } void theme_set_current(MapTheme * t) { GList *list = callback_list; current_theme = t; while (list) { G_CALLBACK(list->data) (); list = g_list_next(list); } } MapTheme *theme_get_current(void) { return current_theme; } GList *theme_get_list(void) { return theme_list; } /** Load a pixbuf. * If loading fails, no objects need to be freed. * @return TRUE if successful */ gboolean theme_load_pixbuf(const gchar * file, const gchar * themename, GdkPixbuf ** pixbuf) { g_return_val_if_fail(themename != NULL, FALSE); g_return_val_if_fail(pixbuf != NULL, FALSE); g_return_val_if_fail(file != NULL, FALSE); *pixbuf = NULL; /* check that file exists */ if (!g_file_test(file, G_FILE_TEST_EXISTS)) { g_warning ("Could not find \'%s\' pixmap file in theme \'%s\'.", file, themename); return FALSE; } /* load pixmap/mask */ *pixbuf = gdk_pixbuf_new_from_file(file, NULL); /* check result */ if (*pixbuf == NULL) { g_warning ("Could not load \'%s\' pixmap file in theme \'%s\'.", file, themename); return FALSE; } return TRUE; } /** Initialize the theme. * @return TRUE if successful */ static gboolean theme_initialize(MapTheme * t) { guint i; /* load terrain tiles */ for (i = 0; i < G_N_ELEMENTS(t->terrain_tiles); ++i) { GdkPixbuf *pixbuf; GdkPixbuf *pixbuf_copy; if (!theme_load_pixbuf (t->terrain_tile_names[i], t->name, &pixbuf)) { g_error("Could not find pixmap file: %s", t->terrain_tile_names[i]); }; t->terrain_tiles[i] = pixbuf; pixbuf_copy = gdk_pixbuf_copy(pixbuf); if (pixbuf_copy == NULL) { return FALSE; } t->scaledata[i].native_image = pixbuf_copy; t->scaledata[i].native_width = gdk_pixbuf_get_width(pixbuf); t->scaledata[i].aspect = 1.0 * gdk_pixbuf_get_width(pixbuf) / gdk_pixbuf_get_height(pixbuf); } /* load port tiles */ for (i = 0; i < G_N_ELEMENTS(t->port_tiles); ++i) { /* if a theme doesn't define a port tile, it will be drawn with * its resource letter instead */ if (t->port_tile_names[i]) { if (theme_load_pixbuf (t->port_tile_names[i], t->name, &(t->port_tiles[i]))) { t->port_tiles_width[i] = gdk_pixbuf_get_width(t->port_tiles[i]); t->port_tiles_height[i] = gdk_pixbuf_get_height(t->port_tiles [i]); } } else t->port_tiles[i] = NULL; } for (i = 0; i < G_N_ELEMENTS(t->colors); ++i) { TColor *tc = &(t->colors[i]); if (!tc->set) *tc = default_colors[i]; } return TRUE; } static void theme_cleanup(MapTheme * t) { guint i; /* terrain tiles */ for (i = 0; i < G_N_ELEMENTS(t->terrain_tiles); ++i) { g_object_unref(t->terrain_tiles[i]); g_object_unref(t->scaledata[i].native_image); } /* port tiles */ for (i = 0; i < G_N_ELEMENTS(t->port_tiles); ++i) { if (t->port_tiles[i] != NULL) { g_object_unref(t->port_tiles[i]); } } for (i = 0; i < G_N_ELEMENTS(theme_vars); i++) { switch (theme_vars[i].type) { case STR: case FNAME: g_free(telem(char *, t, (&theme_vars[i]))); break; default: /* No action required */ break; } } g_free(t); } void theme_rescale(int new_width) { guint i; switch (current_theme->scaling) { case NEVER: return; case ONLY_DOWNSCALE: if (new_width > current_theme->scaledata[0].native_width) new_width = current_theme->scaledata[0].native_width; break; case ONLY_UPSCALE: if (new_width < current_theme->scaledata[0].native_width) new_width = current_theme->scaledata[0].native_width; break; case ALWAYS: break; } /* if the size is 0, gdk_pixbuf_scale_simple fails */ if (new_width <= 0) new_width = 1; /* no need to scale again */ if (new_width == current_theme->current_width) { return; } current_theme->current_width = new_width; for (i = 0; i < G_N_ELEMENTS(current_theme->terrain_tiles); ++i) { int new_height; if (i == BOARD_TILE) continue; /* Don't scale the board-tile */ new_height = new_width / current_theme->scaledata[i].aspect; /* gdk_pixbuf_scale_simple cannot handle 0 height */ if (new_height <= 0) new_height = 1; /* rescale the pixbuf */ g_object_unref(current_theme->terrain_tiles[i]); current_theme->terrain_tiles[i] = gdk_pixbuf_scale_simple(current_theme->scaledata[i]. native_image, new_width, new_height, GDK_INTERP_BILINEAR); } } #define ERR1(formatstring, argument) \ g_warning("While reading %s at line %d:", filename, lno); \ g_warning(formatstring, argument); #define ERR0(string) \ ERR1("%s", string); /** * Find a variable name in the file. * @retval p The line to parse (returns the remainder) * @param filename Filename for the error message * @param lno Line number for the error message * @return -1 on error, otherwise the index in theme_vars */ static gint getvar(gchar ** p, const gchar * filename, int lno) { char *q, qsave; struct tvars *tv; guint idx; gboolean found; *p += strspn(*p, " \t"); if (!**p || **p == '\n') return -1; /* empty line */ q = *p + strcspn(*p, " \t=\n"); if (q == *p) { ERR1("variable name missing: %s", *p); return -1; } qsave = *q; *q++ = '\0'; idx = 0; found = FALSE; for (tv = theme_vars; idx < G_N_ELEMENTS(theme_vars); ++tv, ++idx) { if (strcmp(*p, tv->name) == 0) { found = TRUE; break; } } if (!found) { ERR1("unknown config variable '%s'", *p); return -1; } *p = q; if (qsave != '=') { *p += strspn(*p, " \t"); if (**p != '=') { ERR1("'=' missing: %s", *p); return -1; } ++*p; } *p += strspn(*p, " \t"); return idx; } static char *getval(char **p, const gchar * filename, int lno) { char *q; q = *p; *p += strcspn(*p, " \t\n"); if (q == *p) { ERR0("missing value"); return FALSE; } if (**p) { *(*p)++ = '\0'; *p += strspn(*p, " \t"); } return q; } static gboolean checkend(const char *p) { p += strspn(p, " \t"); return !*p || *p == '\n'; } static gboolean parsecolor(char *p, TColor * tc, const gchar * filename, int lno) { if (strcmp(p, "none") == 0 || strcmp(p, "transparent") == 0) { tc->set = TRUE; tc->transparent = TRUE; return TRUE; } tc->transparent = FALSE; if (!gdk_color_parse(p, &tc->color)) { ERR1("invalid color: %s", p); return FALSE; } tc->set = TRUE; return TRUE; } static MapTheme *theme_config_parse(const gchar * themename, const gchar * subdir) { FILE *f; char *line = NULL; gchar *p, *q; gint lno; MapTheme *t; struct tvars *tv; gboolean ok = TRUE; gboolean *used; guint idx; gint var; gchar *filename; filename = g_build_filename(subdir, "theme.cfg", NULL); if (!(f = fopen(filename, "r"))) { g_warning("could not open '%s'", filename); g_free(filename); return NULL; } t = g_malloc0(sizeof(MapTheme)); /* Initially the theme name is equal to the directory name */ t->name = g_strdup(themename); t->current_width = -1; used = g_malloc0(G_N_ELEMENTS(theme_vars) * sizeof(gboolean)); lno = 0; while (read_line_from_file(&line, f)) { ++lno; if (line[0] == '#') { g_free(line); continue; } p = line; var = getvar(&p, filename, lno); if ((var == -1) || !(q = getval(&p, filename, lno))) { ok = FALSE; g_free(line); continue; } idx = var; tv = &theme_vars[idx]; switch (tv->type) { case STR: if (telem(char *, t, tv)) { g_free(telem(char *, t, tv)); } telem(char *, t, tv) = g_strdup(q); break; case FNAME: telem(char *, t, tv) = g_build_filename(subdir, q, NULL); if (tv->override >= 0 && !checkend(p)) { int terrain = tv->override; int i; for (i = 0; i < TC_MAX_OVERRIDE; ++i) { if (checkend(p)) break; if (! (q = getval(&p, filename, lno))) { ok = FALSE; break; } if (!parsecolor (q, &(t->ovr_colors[terrain][i]), filename, lno)) { ok = FALSE; break; } } } break; case COL: if (!parsecolor (q, &telem(TColor, t, tv), filename, lno)) { ok = FALSE; g_free(line); continue; } break; case SCMODE: if (strcmp(q, "never") == 0) t->scaling = NEVER; else if (strcmp(q, "always") == 0) t->scaling = ALWAYS; else if (strcmp(q, "only-downscale") == 0) t->scaling = ONLY_DOWNSCALE; else if (strcmp(q, "only-upscale") == 0) t->scaling = ONLY_UPSCALE; else { ERR1("bad scaling mode '%s'", q); ok = FALSE; } break; } used[idx] = TRUE; if (!checkend(p)) { ERR1("unexpected rest at end of line: '%s'", p); ok = FALSE; } g_free(line); } fclose(f); for (idx = 0; idx < G_N_ELEMENTS(theme_vars); idx++) { if (!used[idx] && !theme_vars[idx].optional) { ERR1("option '%s' missing", theme_vars[idx].name); ok = FALSE; } }; g_free(used); g_free(filename); if (ok) return t; g_free(t->name); g_free(t); return NULL; } void theme_register_callback(GCallback callback) { callback_list = g_list_append(callback_list, callback); } GdkPixbuf *theme_get_terrain_pixbuf(Terrain terrain) { return theme_get_current()->terrain_tiles[terrain]; } pioneers-15.5/common/gtk/scrollable-text-view.gob0000644000175000017500000000511713252223516017040 00000000000000requires 2.0.0 %alltop{ /* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 2011 Micah Bunting * Copyright (C) 2011 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ %} %headertop{ #include #include "config.h" %} %privateheader{ %} class Scrollable:Text:View from Gtk:Scrolled:Window { public GtkWidget *new(void) { return (GtkWidget *) GET_NEW; } init(self) { GtkScrolledWindow *sw = GTK_SCROLLED_WINDOW(self); GtkWidget *text_view; gtk_scrolled_window_set_hadjustment(sw, NULL); gtk_scrolled_window_set_vadjustment(sw, NULL); gtk_scrolled_window_set_policy(sw, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); text_view = gtk_text_view_new(); gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(text_view), FALSE); gtk_text_view_set_cursor_visible(GTK_TEXT_VIEW(text_view), TRUE); gtk_text_view_set_accepts_tab(GTK_TEXT_VIEW(text_view), FALSE); gtk_container_add(GTK_CONTAINER(self), text_view); } public void set_text(self, const gchar * text) { GtkTextBuffer *buffer; GtkTextIter start; GtkTextIter end; buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW (gtk_bin_get_child (GTK_BIN(self)))); gtk_text_buffer_get_bounds(buffer, &start, &end); gtk_text_buffer_set_text(buffer, text ? text : "", -1); gtk_text_buffer_get_bounds(buffer, &start, &end); gtk_text_buffer_place_cursor(buffer, &start); } public gchar *get_text(self) { GtkTextBuffer *buffer; GtkTextIter start; GtkTextIter end; buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW (gtk_bin_get_child (GTK_BIN(self)))); gtk_text_buffer_get_bounds(buffer, &start, &end); return gtk_text_buffer_get_text(buffer, &start, &end, FALSE); } public GtkWidget *get_for_mnemonic(self) { return gtk_bin_get_child(GTK_BIN(self)); } } pioneers-15.5/common/gtk/game-settings.h0000644000175000017500000000343711246205071015213 00000000000000/* A custom widget for adjusting the game settings. * * The code is based on the TICTACTOE example * www.gtk.oorg/tutorial/app-codeexamples.html#SEC-TICTACTOE * * Adaptation for Pioneers: 2004 Roland Clobus * */ #ifndef __GAMESETTINGS_H__ #define __GAMESETTINGS_H__ #include #include #include G_BEGIN_DECLS #define GAMESETTINGS_TYPE (game_settings_get_type ()) #define GAMESETTINGS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMESETTINGS_TYPE, GameSettings)) #define GAMESETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMESETTINGS_TYPE, GameSettingsClass)) #define IS_GAMESETTINGS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMESETTINGS_TYPE)) #define IS_GAMESETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMESETTINGS_TYPE)) typedef struct _GameSettings GameSettings; typedef struct _GameSettingsClass GameSettingsClass; struct _GameSettings { GtkTable table; GtkWidget *victory_spin; /* victory point target */ GtkWidget *players_spin; /* number of players */ GtkWidget *check_button; /* check whether the game can be won */ guint players; /* The number of players */ guint victory_points; /* The points needed to win */ }; struct _GameSettingsClass { GtkTableClass parent_class; void (*change) (GameSettings * gs); void (*change_players) (GameSettings * gs); void (*check) (GameSettings * gs); }; GType game_settings_get_type(void); GtkWidget *game_settings_new(gboolean with_check_button); void game_settings_set_players(GameSettings * gs, guint players); guint game_settings_get_players(GameSettings * gs); void game_settings_set_victory_points(GameSettings * gs, guint victory_points); guint game_settings_get_victory_points(GameSettings * gs); G_END_DECLS #endif /* __GAMESETTINGS_H__ */ pioneers-15.5/common/gtk/game-rules.h0000644000175000017500000000474512303062653014512 00000000000000#ifndef __GAMERULES_H__ #define __GAMERULES_H__ #include #include #include G_BEGIN_DECLS #define GAMERULES_TYPE (game_rules_get_type ()) #define GAMERULES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMERULES_TYPE, GameRules)) #define GAMERULES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAMERULES_TYPE, GameRulesClass)) #define IS_GAMERULES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAMERULES_TYPE)) #define IS_GAMERULES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAMERULES_TYPE)) typedef struct _GameRules GameRules; typedef struct _GameRulesClass GameRulesClass; struct _GameRules { GtkTable table; GtkCheckButton *random_terrain; GtkWidget *radio_sevens[3]; /* radio buttons for sevens rules */ GtkCheckButton *use_dice_deck; GtkSpinButton *num_dice_decks; GtkSpinButton *num_removed_dice_cards; GtkCheckButton *use_pirate; GtkCheckButton *strict_trade; GtkCheckButton *domestic_trade; GtkCheckButton *check_victory_at_end_of_turn; GtkEntry *island_bonus; }; struct _GameRulesClass { GtkTableClass parent_class; }; GType game_rules_get_type(void); GtkWidget *game_rules_new(void); GtkWidget *game_rules_new_metaserver(void); void game_rules_set_random_terrain(GameRules * gr, gboolean val); gboolean game_rules_get_random_terrain(GameRules * gr); void game_rules_set_sevens_rule(GameRules * gr, guint sevens_rule); guint game_rules_get_sevens_rule(GameRules * gr); void game_rules_set_use_dice_deck(GameRules * gr, gboolean val); gboolean game_rules_get_use_dice_deck(GameRules * gr); void game_rules_set_num_dice_decks(GameRules * gr, guint val); guint game_rules_get_num_dice_decks(GameRules * gr); void game_rules_set_num_removed_dice_cards(GameRules * gr, guint val); guint game_rules_get_num_removed_dice_cards(GameRules * gr); void game_rules_set_use_pirate(GameRules * gr, gboolean val, gint num_ships); gboolean game_rules_get_use_pirate(GameRules * gr); void game_rules_set_strict_trade(GameRules * gr, gboolean val); gboolean game_rules_get_strict_trade(GameRules * gr); void game_rules_set_domestic_trade(GameRules * gr, gboolean val); gboolean game_rules_get_domestic_trade(GameRules * gr); void game_rules_set_victory_at_end_of_turn(GameRules * gr, gboolean val); gboolean game_rules_get_victory_at_end_of_turn(GameRules * gr); void game_rules_set_island_discovery_bonus(GameRules * gr, GArray * val); GArray *game_rules_get_island_discovery_bonus(GameRules * gr); G_END_DECLS #endif /* __GAMERULES_H__ */ pioneers-15.5/common/gtk/polygon.c0000644000175000017500000000456713252223516014136 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include #include #include "polygon.h" void poly_offset(Polygon * poly, gint x_offset, gint y_offset) { int idx; GdkPoint *points; for (idx = 0, points = poly->points; idx < poly->num_points; idx++, points++) { points->x += x_offset; points->y += y_offset; } } void poly_bound_rect(const Polygon * poly, int pad, GdkRectangle * rect) { int idx; GdkPoint tl; GdkPoint br; GdkPoint *points; points = poly->points; tl = points[0]; br = points[0]; for (idx = 1, points++; idx < poly->num_points; idx++, points++) { if (points->x < tl.x) tl.x = points->x; else if (points->x > br.x) br.x = points->x; if (points->y < tl.y) tl.y = points->y; else if (points->y > br.y) br.y = points->y; } rect->x = tl.x - pad; rect->y = tl.y - pad; rect->width = br.x - tl.x + pad + 1; rect->height = br.y - tl.y + pad + 1; } void poly_draw(cairo_t * cr, gboolean filled, const Polygon * poly) { gint i; if (poly->num_points > 0) { cairo_move_to(cr, poly->points[poly->num_points - 1].x, poly->points[poly->num_points - 1].y); for (i = 0; i < poly->num_points; i++) { cairo_line_to(cr, poly->points[i].x, poly->points[i].y); } if (filled) { cairo_fill(cr); } else { cairo_stroke(cr); } } } void poly_draw_with_border(cairo_t * cr, const GdkColor * border_color, const Polygon * poly) { poly_draw(cr, TRUE, poly); gdk_cairo_set_source_color(cr, border_color); poly_draw(cr, FALSE, poly); } pioneers-15.5/common/gtk/Makefile.am0000644000175000017500000000423112532372026014324 00000000000000# Pioneers - Implementation of the excellent Settlers of Catan board game. # Go buy a copy. # # Copyright (C) 1999 Dave Cole # Copyright (C) 2003, 2006 Bas Wijnen # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA noinst_LIBRARIES += libpioneers_gtk.a libpioneers_gtk_a_CPPFLAGS = $(gtk_cflags) libpioneers_gtk_a_SOURCES = \ common/gtk/aboutbox.c \ common/gtk/aboutbox.h \ common/gtk/colors.c \ common/gtk/colors.h \ common/gtk/common_gtk.c \ common/gtk/common_gtk.h \ common/gtk/config-gnome.c \ common/gtk/config-gnome.h \ common/gtk/game-rules.c \ common/gtk/game-rules.h \ common/gtk/game-settings.c \ common/gtk/game-settings.h \ common/gtk/guimap.c \ common/gtk/guimap.h \ common/gtk/map-icons.c \ common/gtk/map-icons.h \ common/gtk/metaserver.c \ common/gtk/metaserver.h \ common/gtk/player-icon.c \ common/gtk/player-icon.h \ common/gtk/polygon.c \ common/gtk/polygon.h \ common/gtk/scrollable-text-view.gob \ common/gtk/scrollable-text-view.gob.stamp \ common/gtk/scrollable-text-view.c \ common/gtk/scrollable-text-view.h \ common/gtk/select-game.c \ common/gtk/select-game.h \ common/gtk/theme.c \ common/gtk/theme.h BUILT_SOURCES += \ common/gtk/scrollable-text-view.gob.stamp \ common/gtk/scrollable-text-view.c \ common/gtk/scrollable-text-view.h MAINTAINERCLEANFILES += \ common/gtk/scrollable-text-view.gob.stamp \ common/gtk/scrollable-text-view.c \ common/gtk/scrollable-text-view.h actions_DATA += \ common/gtk/pioneers-checkmark.svg \ common/gtk/pioneers-cross.svg pioneers-15.5/common/gtk/pioneers-cross.svg0000644000175000017500000000625612532372026015775 00000000000000 A red cross image/svg+xml A red cross Roland Clobus <rclobus@rclobus.nl> pioneers-15.5/common/gtk/pioneers-checkmark.svg0000644000175000017500000000600512532372026016564 00000000000000 A green checkmark image/svg+xml A green checkmark Roland Clobus <rclobus@rclobus.nl> pioneers-15.5/common/gtk/map-icons.c0000644000175000017500000000466512303062653014333 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * Copyright (C) 2005, 2009 Roland Clobus * Copyright (C) 2013 Micah Bunting * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include "map-icons.h" #include "theme.h" /** Callback to draw a terrain. * @param widget The widget to draw on * @param cr The cairo context * @param terrain_data The Terrain enumeration value. */ static gboolean draw_terrain_cb(GtkWidget * widget, cairo_t * cr, gpointer terrain_data) { MapTheme *theme = theme_get_current(); GdkPixbuf *p; gint height; GtkAllocation allocation; Terrain terrain = GPOINTER_TO_INT(terrain_data); gtk_widget_get_allocation(widget, &allocation); height = allocation.width / theme->scaledata[terrain].aspect; p = gdk_pixbuf_scale_simple(theme->scaledata[terrain].native_image, allocation.width, height, GDK_INTERP_BILINEAR); gdk_cairo_set_source_pixbuf(cr, p, 0, 0); cairo_rectangle(cr, 0, 0, allocation.width, height); cairo_fill(cr); g_object_unref(p); return TRUE; } GtkWidget *terrain_icon_new(Terrain terrain) { GtkWidget *area; gint width; gint height; MapTheme *theme = theme_get_current(); gtk_icon_size_lookup(GTK_ICON_SIZE_DND, &width, &height); if (height > width / theme->scaledata[terrain].aspect) { height = width / theme->scaledata[terrain].aspect; } else { width = height * theme->scaledata[terrain].aspect; } area = gtk_drawing_area_new(); gtk_widget_show(area); gtk_widget_set_size_request(area, width, height); g_signal_connect(G_OBJECT(area), "draw", G_CALLBACK(draw_terrain_cb), GINT_TO_POINTER(terrain)); return area; } pioneers-15.5/common/gtk/game-rules.c0000644000175000017500000003031213252223516014473 00000000000000#include "config.h" #include "game.h" #include #include #include #include "game-rules.h" #include "game.h" static void game_rules_init(GameRules * sg, gboolean show_all_rules); static void verify_island_discovery_bonus(GtkButton * button, gpointer user_data); static void dice_deck_toggled_callback(GtkToggleButton * dice_deck, gpointer user_data) { GameRules *gr = user_data; gtk_widget_set_sensitive(GTK_WIDGET(gr->num_dice_decks), gtk_toggle_button_get_active(dice_deck)); gtk_widget_set_sensitive(GTK_WIDGET(gr->num_removed_dice_cards), gtk_toggle_button_get_active(dice_deck)); } /* Register the class */ GType game_rules_get_type(void) { static GType gp_type = 0; if (!gp_type) { static const GTypeInfo gp_info = { sizeof(GameRulesClass), NULL, /* base_init */ NULL, /* base_finalize */ NULL, /* class init */ NULL, /* class_finalize */ NULL, /* class_data */ sizeof(GameRules), 0, NULL, NULL }; gp_type = g_type_register_static(GTK_TYPE_TABLE, "GameRules", &gp_info, 0); } return gp_type; } static void add_row(GameRules * gr, const gchar * name, const gchar * tooltip, guint row, GtkCheckButton ** check) { GtkWidget *check_btn; check_btn = gtk_check_button_new_with_label(name); gtk_widget_show(check_btn); gtk_table_attach_defaults(GTK_TABLE(gr), check_btn, 0, 2, row, row + 1); *check = GTK_CHECK_BUTTON(check_btn); gtk_widget_set_tooltip_text(check_btn, tooltip); } /* Build the composite widget */ static void game_rules_init(GameRules * gr, gboolean show_all_rules) { GtkWidget *label; GtkWidget *vbox_sevens; GtkWidget *hbox; GtkWidget *widget; gint idx; guint row; gtk_table_resize(GTK_TABLE(gr), show_all_rules ? 6 : 3, 2); gtk_table_set_row_spacings(GTK_TABLE(gr), 3); gtk_table_set_col_spacings(GTK_TABLE(gr), 5); row = 0; /* Label */ label = gtk_label_new(_("Sevens rule")); gtk_widget_show(label); gtk_table_attach(GTK_TABLE(gr), label, 0, 1, row, row + 1, GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); gtk_misc_set_alignment(GTK_MISC(label), 0, 0); gr->radio_sevens[0] = gtk_radio_button_new_with_label(NULL, /* Sevens rule: normal */ _("Normal")); gr->radio_sevens[1] = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON (gr->radio_sevens [0]), /* Sevens rule: reroll on 1st 2 turns */ _("" "Reroll on 1st 2 turns")); gr->radio_sevens[2] = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON (gr->radio_sevens [0]), /* Sevens rule: reroll all 7s */ _("" "Reroll all 7s")); vbox_sevens = gtk_box_new(GTK_ORIENTATION_VERTICAL, 2); gtk_box_set_homogeneous(GTK_BOX(vbox_sevens), TRUE); gtk_widget_show(vbox_sevens); gtk_widget_set_tooltip_text(gr->radio_sevens[0], /* Tooltip for sevens rule normal */ _("" "All sevens move the robber or pirate")); gtk_widget_set_tooltip_text(gr->radio_sevens[1], /* Tooltip for sevens rule reroll on 1st 2 turns */ _("" "In the first two turns all sevens are rerolled")); gtk_widget_set_tooltip_text(gr->radio_sevens[2], /* Tooltip for sevens rule reroll all */ _("All sevens are rerolled")); for (idx = 0; idx < 3; ++idx) { gtk_widget_show(gr->radio_sevens[idx]); gtk_box_pack_start(GTK_BOX(vbox_sevens), gr->radio_sevens[idx], TRUE, TRUE, 0); } gtk_table_attach(GTK_TABLE(gr), vbox_sevens, 1, 2, row, row + 1, GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); row++; add_row(gr, _("Randomize terrain"), _("Randomize the terrain"), row++, &gr->random_terrain); if (show_all_rules) { add_row(gr, _("Use pirate"), _("Use the pirate to block ships"), row++, &gr->use_pirate); add_row(gr, _("Strict trade"), _("Allow trade only before building or buying"), row++, &gr->strict_trade); add_row(gr, _("Domestic trade"), _("Allow trade between players"), row++, &gr->domestic_trade); add_row(gr, _("Victory at end of turn"), _("Check for victory only at end of turn"), row++, &gr->check_victory_at_end_of_turn); add_row(gr, _("Use dice deck"), _ ("Use a deck of 36 dice cards instead of real dice"), row++, &gr->use_dice_deck); g_signal_connect(G_OBJECT(gr->use_dice_deck), "toggled", G_CALLBACK(dice_deck_toggled_callback), gr); /* Label */ label = gtk_label_new(_("Number of dice decks")); gtk_widget_show(label); gtk_table_attach(GTK_TABLE(gr), label, 0, 1, row, row + 1, GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); gr->num_dice_decks = GTK_SPIN_BUTTON(gtk_spin_button_new_with_range (1, 5, 1)); gtk_entry_set_alignment(GTK_ENTRY(gr->num_dice_decks), 1.0); gtk_widget_show(GTK_WIDGET(gr->num_dice_decks)); gtk_widget_set_sensitive(GTK_WIDGET(gr->num_dice_decks), gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (gr->use_dice_deck))); gtk_widget_set_tooltip_text(GTK_WIDGET(gr->num_dice_decks), _ ("The number of dice decks (of 36 cards each)")); gtk_table_attach(GTK_TABLE(gr), GTK_WIDGET(gr->num_dice_decks), 1, 2, row, row + 1, GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); row++; /* Label */ label = gtk_label_new(_("Number of removed dice cards")); gtk_widget_show(label); gtk_table_attach(GTK_TABLE(gr), label, 0, 1, row, row + 1, GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); gr->num_removed_dice_cards = GTK_SPIN_BUTTON(gtk_spin_button_new_with_range (0, 30, 1)); gtk_entry_set_alignment(GTK_ENTRY (gr->num_removed_dice_cards), 1.0); gtk_widget_show(GTK_WIDGET(gr->num_removed_dice_cards)); gtk_widget_set_sensitive(GTK_WIDGET (gr->num_removed_dice_cards), gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (gr->use_dice_deck))); gtk_widget_set_tooltip_text(GTK_WIDGET (gr->num_removed_dice_cards), _ ("The number of dice cards that are removed after shuffling the deck")); gtk_table_attach(GTK_TABLE(gr), GTK_WIDGET(gr->num_removed_dice_cards), 1, 2, row, row + 1, GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); row++; /* Label */ label = gtk_label_new(_("Island discovery bonuses")); gtk_widget_show(label); gtk_table_attach(GTK_TABLE(gr), label, 0, 1, row, row + 1, GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 3); gr->island_bonus = GTK_ENTRY(gtk_entry_new()); gtk_widget_show(GTK_WIDGET(gr->island_bonus)); gtk_widget_set_tooltip_text(GTK_WIDGET(gr->island_bonus), /* Tooltip for island bonus */ _("" "A comma separated list of " "bonus points for discovering " "islands")); gtk_box_pack_start(GTK_BOX(hbox), GTK_WIDGET(gr->island_bonus), TRUE, TRUE, 0); widget = gtk_button_new(); gtk_button_set_image(GTK_BUTTON(widget), gtk_image_new_from_icon_name ("pioneers-checkmark", GTK_ICON_SIZE_BUTTON)); g_signal_connect(G_OBJECT(widget), "clicked", G_CALLBACK(verify_island_discovery_bonus), (gpointer) gr); gtk_widget_set_tooltip_text(widget, /* Tooltip for the check button */ _("Check and correct island " "discovery bonuses")); gtk_box_pack_end(GTK_BOX(hbox), widget, FALSE, FALSE, 0); gtk_table_attach(GTK_TABLE(gr), GTK_WIDGET(hbox), 1, 2, row, row + 1, GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); row++; } else { gr->use_pirate = NULL; gr->strict_trade = NULL; gr->domestic_trade = NULL; gr->check_victory_at_end_of_turn = NULL; gr->island_bonus = NULL; } } /* Create a new instance of the widget */ GtkWidget *game_rules_new(void) { GameRules *widget = GAMERULES(g_object_new(game_rules_get_type(), NULL)); game_rules_init(widget, TRUE); return GTK_WIDGET(widget); } /* Create a new instance with only the changes that can be applied by the metaserver */ GtkWidget *game_rules_new_metaserver(void) { GameRules *widget = GAMERULES(g_object_new(game_rules_get_type(), NULL)); game_rules_init(widget, FALSE); return GTK_WIDGET(widget); } void game_rules_set_random_terrain(GameRules * gr, gboolean val) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gr->random_terrain), val); } gboolean game_rules_get_random_terrain(GameRules * gr) { return gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (gr->random_terrain)); } /* Set the sevens rule * 0 = Normal * 1 = Reroll first two turns * 2 = Reroll all */ void game_rules_set_sevens_rule(GameRules * gr, guint sevens_rule) { g_return_if_fail(sevens_rule < G_N_ELEMENTS(gr->radio_sevens)); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (gr->radio_sevens[sevens_rule]), TRUE); } /* Get the sevens rule */ guint game_rules_get_sevens_rule(GameRules * gr) { guint idx; for (idx = 0; idx < G_N_ELEMENTS(gr->radio_sevens); idx++) if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(gr->radio_sevens[idx]))) return idx; return 0; } void game_rules_set_use_dice_deck(GameRules * gr, gboolean val) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gr->use_dice_deck), val); } gboolean game_rules_get_use_dice_deck(GameRules * gr) { return gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (gr->use_dice_deck)); } void game_rules_set_num_dice_decks(GameRules * gr, guint val) { gtk_spin_button_set_value(gr->num_dice_decks, val); } guint game_rules_get_num_dice_decks(GameRules * gr) { return gtk_spin_button_get_value_as_int(gr->num_dice_decks); } void game_rules_set_num_removed_dice_cards(GameRules * gr, guint val) { gtk_spin_button_set_value(gr->num_removed_dice_cards, val); } guint game_rules_get_num_removed_dice_cards(GameRules * gr) { return gtk_spin_button_get_value_as_int(gr->num_removed_dice_cards); } void game_rules_set_use_pirate(GameRules * gr, gboolean val, gint num_ships) { if (num_ships == 0) { gtk_toggle_button_set_inconsistent(GTK_TOGGLE_BUTTON (gr->use_pirate), TRUE); gtk_widget_set_sensitive(GTK_WIDGET(gr->use_pirate), FALSE); } else { gtk_toggle_button_set_inconsistent(GTK_TOGGLE_BUTTON (gr->use_pirate), FALSE); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (gr->use_pirate), val); gtk_widget_set_sensitive(GTK_WIDGET(gr->use_pirate), TRUE); } } gboolean game_rules_get_use_pirate(GameRules * gr) { return gtk_toggle_button_get_inconsistent(GTK_TOGGLE_BUTTON (gr->use_pirate)) ? FALSE : gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (gr->use_pirate)); } void game_rules_set_strict_trade(GameRules * gr, gboolean val) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gr->strict_trade), val); } gboolean game_rules_get_strict_trade(GameRules * gr) { return gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (gr->strict_trade)); } void game_rules_set_domestic_trade(GameRules * gr, gboolean val) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gr->domestic_trade), val); } gboolean game_rules_get_domestic_trade(GameRules * gr) { return gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (gr->domestic_trade)); } void game_rules_set_victory_at_end_of_turn(GameRules * gr, gboolean val) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (gr->check_victory_at_end_of_turn), val); } gboolean game_rules_get_victory_at_end_of_turn(GameRules * gr) { return gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (gr-> check_victory_at_end_of_turn)); } void game_rules_set_island_discovery_bonus(GameRules * gr, GArray * val) { gchar *text; text = format_int_list(NULL, val); if (text != NULL) { gtk_entry_set_text(gr->island_bonus, text); } else { gtk_entry_set_text(gr->island_bonus, ""); } g_free(text); } GArray *game_rules_get_island_discovery_bonus(GameRules * gr) { return build_int_list(gtk_entry_get_text(gr->island_bonus)); } static void verify_island_discovery_bonus(G_GNUC_UNUSED GtkButton * button, gpointer user_data) { GameRules *gr = GAMERULES(user_data); GArray *bonuses; bonuses = game_rules_get_island_discovery_bonus(gr); game_rules_set_island_discovery_bonus(gr, bonuses); g_array_free(bonuses, TRUE); } pioneers-15.5/common/gtk/select-game.c0000644000175000017500000002247013252223516014626 00000000000000/* A custom widget for selecting a game from a list of games. * * The code is based on the TICTACTOE example * www.gtk.oorg/tutorial/app-codeexamples.html#SEC-TICTACTOE * * Adaptation for Pioneers: 2004 Roland Clobus * */ #include "config.h" #include "game.h" #include #include #include "guimap.h" #include "common_gtk.h" #include "select-game.h" /* The signals */ enum { ACTIVATE, LAST_SIGNAL }; static const gint MAP_WIDTH = 64; static const gint MAP_HEIGHT = 48; static void select_game_class_init(SelectGameClass * klass); static void select_game_init(SelectGame * sg); static void select_game_finalize(GObject * object); static void select_game_item_changed(GtkWidget * widget, SelectGame * sg); /* All signals */ static guint select_game_signals[LAST_SIGNAL] = { 0 }; /* Register the class */ GType select_game_get_type(void) { static GType sg_type = 0; if (!sg_type) { static const GTypeInfo sg_info = { sizeof(SelectGameClass), NULL, /* base_init */ NULL, /* base_finalize */ (GClassInitFunc) select_game_class_init, NULL, /* class_finalize */ NULL, /* class_data */ sizeof(SelectGame), 0, (GInstanceInitFunc) select_game_init, NULL }; sg_type = g_type_register_static(GTK_TYPE_TABLE, "SelectGame", &sg_info, 0); } return sg_type; } /* Clean up after the widget is no longer in use */ static void select_game_finalize(GObject * object) { SelectGame *sg = SELECTGAME(object); /* sg->combo_box is already handled */ GtkTreeIter iter; gtk_tree_model_get_iter_first(GTK_TREE_MODEL(sg->data), &iter); do { GameParams *params; GdkPixbuf *pixbuf; gtk_tree_model_get(GTK_TREE_MODEL(sg->data), &iter, 2, ¶ms, 1, &pixbuf, -1); g_object_unref(pixbuf); params_free(params); } while (gtk_list_store_remove(sg->data, &iter)); gtk_list_store_clear(sg->data); g_ptr_array_unref(sg->game_names); g_free(sg->default_game); } /* Register the signals. * SelectGame will emit one signal: 'activate' with the text of the * active game in user_data */ static void select_game_class_init(SelectGameClass * klass) { GObjectClass *object_class = G_OBJECT_CLASS(klass); select_game_signals[ACTIVATE] = g_signal_new("activate", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION, G_STRUCT_OFFSET (SelectGameClass, activate), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); object_class->finalize = select_game_finalize; } /* Build the composite widget */ static void select_game_init(SelectGame * sg) { GtkCellRenderer *cell; /* Create model */ sg->data = gtk_list_store_new(3, G_TYPE_STRING, GDK_TYPE_PIXBUF, G_TYPE_POINTER); sg->combo_box = gtk_combo_box_new_with_model(GTK_TREE_MODEL(sg->data)); cell = gtk_cell_renderer_text_new(); gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(sg->combo_box), cell, TRUE); gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(sg->combo_box), cell, "text", 0, NULL); cell = gtk_cell_renderer_pixbuf_new(); gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(sg->combo_box), cell, FALSE); gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(sg->combo_box), cell, "pixbuf", 1, NULL); sg->game_names = g_ptr_array_new_with_free_func(g_free); gtk_widget_show(sg->combo_box); gtk_widget_set_tooltip_text(sg->combo_box, /* Tooltip for the list of games */ _("Select a game")); gtk_table_resize(GTK_TABLE(sg), 1, 1); gtk_table_attach_defaults(GTK_TABLE(sg), sg->combo_box, 0, 1, 0, 1); sg->default_game = g_strdup("Default"); g_signal_connect(G_OBJECT(sg->combo_box), "changed", G_CALLBACK(select_game_item_changed), sg); } /* Create a new instance of the widget */ GtkWidget *select_game_new(void) { return GTK_WIDGET(g_object_new(select_game_get_type(), NULL)); } /* Set the default game */ void select_game_set_default(SelectGame * sg, const gchar * game_title) { if (sg->default_game) g_free(sg->default_game); sg->default_game = g_strdup(game_title); } /** Add a game title to the list. The default game will be the active item. * @param sg The SelectGame * @param game_title Title * @param[out] iter The iter for the new entry */ static void select_game_add_internal(SelectGame * sg, const gchar * game_title, GtkTreeIter * iter) { g_ptr_array_add(sg->game_names, g_strdup(game_title)); gtk_list_store_append(sg->data, iter); gtk_list_store_set(sg->data, iter, 0, game_title, 1, NULL, 2, NULL, -1); if (!strcmp(game_title, sg->default_game)) { gtk_combo_box_set_active(GTK_COMBO_BOX(sg->combo_box), sg->game_names->len - 1); } else if (sg->game_names->len == 1) { /* Activate the first item */ gtk_combo_box_set_active(GTK_COMBO_BOX(sg->combo_box), 0); } } /** Add a game title to the list. The default game will be the active item. * @param sg The SelectGame * @param game_title Title */ void select_game_add(SelectGame * sg, const gchar * game_title) { GtkTreeIter iter; select_game_add_internal(sg, game_title, &iter); } /** Render the map. * @param base_widget Base widget * @param map The map * @return A GdkPixbuf with ref count = 1 */ static GdkPixbuf *render_map(GtkWidget * base_widget, const Map * map) { GdkPixbuf *pixbuf; GuiMap *gmap; gmap = guimap_new(); cairo_rectangle_t extent = { 0.0, 0.0, MAP_WIDTH, MAP_HEIGHT }; gmap->surface = cairo_recording_surface_create(CAIRO_CONTENT_COLOR_ALPHA, &extent); gmap->width = MAP_WIDTH; gmap->height = MAP_HEIGHT; gmap->area = base_widget; g_object_ref(gmap->area); gmap->map = map_copy(map); guimap_scale_to_size(gmap, MAP_WIDTH, MAP_HEIGHT); guimap_display(gmap); pixbuf = gdk_pixbuf_get_from_surface(gmap->surface, 0, 0, gmap->width, gmap->height); guimap_delete(gmap); return pixbuf; } static void select_game_item_changed(G_GNUC_UNUSED GtkWidget * widget, SelectGame * sg) { g_signal_emit(G_OBJECT(sg), select_game_signals[ACTIVATE], 0); } /** Locate a title. * @param sg The SelectGame * @param title The title to locate * @param[out] iter The iter (when found), only valid when found * @return TRUE if found */ static gboolean select_game_locate_title(SelectGame * sg, const gchar * locate_title, GtkTreeIter * iter) { gboolean valid; gboolean found; valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(sg->data), iter); found = FALSE; while (valid && !found) { gchar *title; gtk_tree_model_get(GTK_TREE_MODEL(sg->data), iter, 0, &title, -1); if (!strcmp(title, locate_title)) { found = TRUE; } else { valid = gtk_tree_model_iter_next(GTK_TREE_MODEL (sg->data), iter); } g_free(title); } return found; } struct TMapRenderer { SelectGame *sg; GameParams *params; }; /** Render a map during the idle loop. * @param user_data Information about the map to render * @return FALSE to automatically remove the GSource. */ static gboolean select_game_render_map(gpointer user_data) { GtkTreeIter iter; struct TMapRenderer *map_render_data; SelectGame *sg; GdkPixbuf *pixbuf; map_render_data = user_data; sg = map_render_data->sg; g_return_val_if_fail(select_game_locate_title (sg, map_render_data->params->title, &iter), FALSE); pixbuf = render_map(sg->combo_box, map_render_data->params->map); gtk_list_store_set(sg->data, &iter, 1, pixbuf, -1); g_object_unref(pixbuf); g_free(map_render_data); return FALSE; } /** Add a detailed entry. * @param sg SelectGame * @param params The full parameters of the game */ void select_game_add_details(SelectGame * sg, const GameParams * params) { GtkTreeIter iter; gboolean found; struct TMapRenderer *map_render_data; found = select_game_locate_title(sg, params->title, &iter); if (!found) { select_game_add_internal(sg, params->title, &iter); } map_render_data = g_malloc(sizeof(*map_render_data)); map_render_data->sg = sg; map_render_data->params = params_copy(params); if (strcmp(select_game_get_active_title(sg), params->title)) { /* Inactive item */ GdkPixbuf *pixbuf; /* Create a placeholder of the right size */ pixbuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, FALSE, 8, MAP_WIDTH, MAP_HEIGHT); gtk_list_store_set(sg->data, &iter, 1, pixbuf, 2, map_render_data->params, -1); g_object_unref(pixbuf); /* Render later */ g_idle_add(select_game_render_map, map_render_data); } else { /* Send an update when the details are known for * the active item */ gtk_list_store_set(sg->data, &iter, 2, map_render_data->params, -1); select_game_render_map(map_render_data); select_game_item_changed(NULL, sg); } } /** Return the selected title. * @param sg SelectGame * @return The title, or NULL when nothing is selected */ const gchar *select_game_get_active_title(SelectGame * sg) { gint idx = gtk_combo_box_get_active(GTK_COMBO_BOX(sg->combo_box)); return g_ptr_array_index(sg->game_names, idx); } /** Return the details of the game. * @param sg SelectGame * @return The details game description, or NULL when nothing is selected */ const GameParams *select_game_get_active_game(SelectGame * sg) { GtkTreeIter iter; GameParams *params; if (gtk_combo_box_get_active_iter (GTK_COMBO_BOX(sg->combo_box), &iter)) { gtk_tree_model_get(GTK_TREE_MODEL(sg->data), &iter, 2, ¶ms, -1); return params; } else { return NULL; } } pioneers-15.5/common/gtk/common_gtk.h0000644000175000017500000000613613252223516014603 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef __common_gtk_h #define __common_gtk_h #include "driver.h" #include "log.h" #include /* Set the default logging function to write to the message window. */ void log_set_func_message_window(void); /* Set if colors in message window are enabled */ void log_set_func_message_color_enable(gboolean enable); /* set the text widget. */ void message_window_set_text(GtkWidget * textWidget, GtkWidget * container); enum TFindResult { FIND_MATCH_EXACT, FIND_MATCH_INSERT_BEFORE, FIND_NO_MATCH }; enum TFindResult find_integer_in_tree(GtkTreeModel * model, GtkTreeIter * iter, gint column, gint number); /** Check whether the game can be won, and display a messagebox * about the distribution of the points. * @param param The game * @param main_window The main window for the dialog */ void check_victory_points(GameParams * param, GtkWindow * main_window); extern UIDriver GTK_Driver; /** Prepare Gtk for close buttons on tabs. * Needs to be called once */ void prepare_gtk_for_close_button_on_tab(void); /** Create a label with a close button. * @param label_text Text for the label * @param tooltip_text Tooltip for the close button * @retval button The close button * @return Composite widget with label and close button */ GtkWidget *create_label_with_close_button(const gchar * label_text, const gchar * tooltip_text, GtkWidget ** button); /** Places a title above the element and adds the title and element to parent. * @param parent The parent to add the tital and element to. * @param title The title for the element. * @param element The element to add to parent. * @param extend True if element will take remaining space in parent. */ void build_frame(GtkWidget * parent, const gchar * title, GtkWidget * element, gboolean extend); /** Add a tooltip to a column in a TreeView * @param column The column * @param tooltip The text in the tooltip (the result of _()) */ void set_tooltip_on_column(GtkTreeViewColumn * column, const gchar * tooltip); /** Get the current mouse position of a widget * @param widget The widget * @param[out] x The x-coordinate * @param[out] y The y-coordinate */ void get_mouse_position(GtkWidget * widget, gdouble * x, gdouble * y); #endif /* __common_gtk_h */ pioneers-15.5/common/gtk/scrollable-text-view.h0000644000175000017500000000604013252243607016517 00000000000000/* Generated by GOB (v2.0.20) (do not edit directly) */ /* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 2011 Micah Bunting * Copyright (C) 2011 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #include "config.h" #ifndef __SCROLLABLE_TEXT_VIEW_H__ #define __SCROLLABLE_TEXT_VIEW_H__ #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ /* * Type checking and casting macros */ #define SCROLLABLE_TYPE_TEXT_VIEW (scrollable_text_view_get_type()) #define SCROLLABLE_TEXT_VIEW(obj) G_TYPE_CHECK_INSTANCE_CAST((obj), scrollable_text_view_get_type(), ScrollableTextView) #define SCROLLABLE_TEXT_VIEW_CONST(obj) G_TYPE_CHECK_INSTANCE_CAST((obj), scrollable_text_view_get_type(), ScrollableTextView const) #define SCROLLABLE_TEXT_VIEW_CLASS(klass) G_TYPE_CHECK_CLASS_CAST((klass), scrollable_text_view_get_type(), ScrollableTextViewClass) #define SCROLLABLE_IS_TEXT_VIEW(obj) G_TYPE_CHECK_INSTANCE_TYPE((obj), scrollable_text_view_get_type ()) #define SCROLLABLE_TEXT_VIEW_GET_CLASS(obj) G_TYPE_INSTANCE_GET_CLASS((obj), scrollable_text_view_get_type(), ScrollableTextViewClass) /* * Main object structure */ #ifndef __TYPEDEF_SCROLLABLE_TEXT_VIEW__ #define __TYPEDEF_SCROLLABLE_TEXT_VIEW__ typedef struct _ScrollableTextView ScrollableTextView; #endif struct _ScrollableTextView { GtkScrolledWindow __parent__; }; /* * Class definition */ typedef struct _ScrollableTextViewClass ScrollableTextViewClass; struct _ScrollableTextViewClass { GtkScrolledWindowClass __parent__; }; /* * Public methods */ GType scrollable_text_view_get_type (void) G_GNUC_CONST; #line 36 "common/gtk/scrollable-text-view.gob" GtkWidget * scrollable_text_view_new (void); #line 79 "scrollable-text-view.h" #line 59 "common/gtk/scrollable-text-view.gob" void scrollable_text_view_set_text (ScrollableTextView * self, const gchar * text); #line 83 "scrollable-text-view.h" #line 74 "common/gtk/scrollable-text-view.gob" gchar * scrollable_text_view_get_text (ScrollableTextView * self); #line 86 "scrollable-text-view.h" #line 88 "common/gtk/scrollable-text-view.gob" GtkWidget * scrollable_text_view_get_for_mnemonic (ScrollableTextView * self); #line 89 "scrollable-text-view.h" #ifdef __cplusplus } #endif /* __cplusplus */ #endif pioneers-15.5/common/gtk/guimap.h0000644000175000017500000001556512307105565013741 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * Copyright (C) 2004-2014 Roland Clobus * Copyright (C) 2013 Micah Bunting * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef __guimap_h #define __guimap_h #include "polygon.h" #include #define MAX_POINTS 32 /* maximum points in a polygon */ #define MIN_HEX_RADIUS 3 /* minimum hex_radius */ typedef enum { NO_CURSOR, ROAD_CURSOR, SHIP_CURSOR, BRIDGE_CURSOR, SETTLEMENT_CURSOR, CITY_CURSOR, CITY_WALL_CURSOR, STEAL_BUILDING_CURSOR, STEAL_SHIP_CURSOR, ROBBER_CURSOR } CursorType; typedef enum { MAP_EDGE, MAP_NODE, MAP_HEX } MapElementType; typedef union { const Hex *hex; const Node *node; const Edge *edge; gconstpointer pointer; } MapElement; typedef gboolean(*CheckFunc) (const MapElement element, gint owner, const MapElement user_data); typedef void (*SelectFunc) (const MapElement obj, const MapElement user_data); typedef void (*CancelFunc) (void); typedef struct _Mode Mode; typedef struct { GtkWidget *area; /**< render map in this drawing area */ cairo_surface_t *surface; /**< off screen surface for drawing */ cairo_t *cr; /**< cairo for map drawing */ PangoLayout *layout; /**< layout object for rendering text */ gint initial_font_size; /**< initial font size */ Map *map; /**< map that is displayed */ gboolean show_nosetup_nodes; /**< show the nosetup nodes */ CursorType cursor_type; /**< current cursor type */ gint cursor_owner; /**< owner of the cursor */ CheckFunc check_func; /**< check object under cursor */ SelectFunc check_select; /**< when user selects cursor */ CancelFunc check_cancel; /**< when user clicks in illegal position */ MapElement user_data; /**< passed to callback functions */ MapElement cursor; /**< current GUI mode edge/node/hex cursor */ gdouble last_x; /**< last known cursor position */ gdouble last_y; /**< last known cursor position */ gint highlight_chit; /**< chit number to highlight */ gint chit_radius; /**< radius of the chit */ gint hex_radius; /**< size of hex on display */ gint x_point; /**< x offset of node 0 from centre */ gint y_point; /**< y offset of node 0 from centre */ gboolean is_custom_view; /**< false if all hexes are shown and centered */ gint x_margin; /**< margin to leave empty */ gint y_margin; /**< margin to leave empty */ gint width; /**< pixel width of map */ gint height; /**< pixel height of map */ gint player_num; /**< player displaying this map */ } GuiMap; GuiMap *guimap_new(void); void guimap_delete(GuiMap * gmap); void guimap_reset(GuiMap * gmap); GtkWidget *guimap_build_drawingarea(GuiMap * gmap, gint width, gint height); void guimap_road_polygon(const GuiMap * gmap, const Edge * edge, Polygon * poly); void guimap_ship_polygon(const GuiMap * gmap, const Edge * edge, Polygon * poly); void guimap_bridge_polygon(const GuiMap * gmap, const Edge * edge, Polygon * poly); void guimap_city_polygon(const GuiMap * gmap, const Node * node, Polygon * poly); void guimap_settlement_polygon(const GuiMap * gmap, const Node * node, Polygon * poly); void guimap_city_wall_polygon(const GuiMap * gmap, const Node * node, Polygon * poly); gint guimap_get_chit_radius(PangoLayout * layout, gboolean show_dots); void draw_port_indicator(PangoLayout * layout, cairo_t * cr, gdouble x_offset, gdouble y_offset, gdouble chit_radius, gint resource); void draw_dice_roll(PangoLayout * layout, cairo_t * cr, gdouble x_offset, gdouble y_offset, gdouble radius, gint n, gint terrain, gboolean highlight); void guimap_scale_with_radius(GuiMap * gmap, gint radius); void guimap_scale_to_size(GuiMap * gmap, gint width, gint height); void guimap_display(GuiMap * gmap); void guimap_zoom_normal(GuiMap * gmap); void guimap_zoom_center_map(GuiMap * gmap); void guimap_highlight_chits(GuiMap * gmap, gint roll); void guimap_draw_edge(GuiMap * gmap, const Edge * edge); void guimap_draw_node(GuiMap * gmap, const Node * node); void guimap_draw_hex(GuiMap * gmap, const Hex * hex); Edge *guimap_get_current_edge(GuiMap * gmap); Node *guimap_get_current_node(GuiMap * gmap); Hex *guimap_get_current_hex(GuiMap * gmap); gint guimap_distance_cursor(const GuiMap * gmap, const MapElement * element, MapElementType type); void guimap_cursor_set(GuiMap * gmap, CursorType cursor_type, gint owner, CheckFunc check_func, SelectFunc select_func, CancelFunc cancel_func, const MapElement * user_data, gboolean set_by_single_click); /* Single click building. * Single click building is aborted by explicitly setting the cursor * CheckFunc: check function for a certain resource type * SelectFunc: function to call when the resource is selected */ void guimap_single_click_set_functions(CheckFunc road_check_func, SelectFunc road_select_func, CheckFunc ship_check_func, SelectFunc ship_select_func, CheckFunc bridge_check_func, SelectFunc bridge_select_func, CheckFunc settlement_check_func, SelectFunc settlement_select_func, CheckFunc city_check_func, SelectFunc city_select_func, CheckFunc city_wall_check_func, SelectFunc city_wall_select_func, CheckFunc ship_move_check_func, SelectFunc ship_move_select_func, CancelFunc ship_move_cancel_func); /* guimap_single_click_set_*_mask: * mask to determine whether the CheckFunc or SelectFunc can be used */ void guimap_single_click_set_road_mask(gboolean mask); void guimap_single_click_set_ship_mask(gboolean mask); void guimap_single_click_set_bridge_mask(gboolean mask); void guimap_single_click_set_settlement_mask(gboolean mask); void guimap_single_click_set_city_mask(gboolean mask); void guimap_single_click_set_city_wall_mask(gboolean mask); void guimap_single_click_set_ship_move_mask(gboolean mask); void guimap_cursor_select(GuiMap * gmap); void guimap_set_show_no_setup_nodes(GuiMap * gmap, gboolean show); #endif pioneers-15.5/common/gtk/config-gnome.c0000644000175000017500000001524413252223516015011 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 2000 Dave Cole * Copyright (C) 2003 Bas Wijnen * Copyright (C) 2005 Roland Clobus * Copyright (C) 2005 Ferenc Bánhidi * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ /* config-gnome.c -- configuration via. gnome-config * initial draft * * 19 July 2000 * Bibek Sahu */ /* Functions that need mapping (so far): // get gnome_config_get_string_with_default( path, default_used_bool ) gnome_config_get_int_with_default( path, default_used_bool ) // set gnome_config_set_string( path, string ) gnome_config_set_int( path, int ) // sync gnome_config_sync() [?] ---- To simplify a cross-platform API, we'll just demand that all configuration sets be synchronous. This is what most people expect, anyway. Also, all the paths used for getting/setting items will be made relative, and a config prefix will be pushed on the stack by config_init(). The API is essentially mimics a subset of the gnome_config API, but I believe it's similar (at least in spirit) to the Windows Registry, at least on the surface. */ /* The config API will contain the following items (for now): void config_init( string absolute_path_prefix ) string config_get_string( string relative_path, pointer_to_bool default_used ) int config_get_int( string relative_path, pointer_to_bool default_used ) // all config_set_* functions must be synchronous void config_set_string( string relative_path, string value ) void config_set_int( string relative_path, int value ) */ #include "config.h" #include #include #include #include #include #include #include #include "config-gnome.h" /* initialize configuration setup */ static GKeyFile *keyfile = NULL; static gchar *filename = NULL; static void config_sync(void) { gsize length; GError *error = NULL; gchar *data; g_return_if_fail(filename != NULL); data = g_key_file_to_data(keyfile, &length, &error); if (!error) { int f = g_open(filename, O_WRONLY | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR); if (f == -1) { /* Create the config dir, if it is missing */ /* Access mode: 0700 (drwx------) */ g_mkdir(g_get_user_config_dir(), S_IRWXU); f = g_open(filename, O_WRONLY | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR); }; if (f != -1) { if (write(f, data, length) < (ssize_t) length) { g_warning ("Incomplete settings file written"); } close(f); } else { g_warning("Could not write settings file"); } } else { g_warning("Could not write settings file: %s", error->message); g_error_free(error); } } /* set the prefix in some static manner so that we don't need to hard-code * it in the main code. Thus, different architectures can have different * prefixes depending on what's relevant for said arch. */ void config_init(const gchar * path_prefix) { GError *error = NULL; /* Don't initialize more than once */ g_return_if_fail(keyfile == NULL); keyfile = g_key_file_new(); filename = g_build_filename(g_get_user_config_dir(), path_prefix, NULL); g_key_file_load_from_file(keyfile, filename, G_KEY_FILE_KEEP_COMMENTS | G_KEY_FILE_KEEP_TRANSLATIONS, &error); if (error != NULL) { g_warning("Error while loading settings: %s", error->message); g_error_free(error); } } void config_finish(void) { g_free(filename); g_key_file_free(keyfile); } /* get configuration settings */ /* get a string. If a default is sent as part of the path, and the default * is returned, set *default_used to TRUE. */ gchar *config_get_string(const gchar * path, gboolean * default_used) { gchar **tokens; gchar *value; GError *error = NULL; g_return_val_if_fail(keyfile != NULL, g_strdup("")); tokens = g_strsplit_set(path, "/=", 3); value = g_key_file_get_string(keyfile, tokens[0], tokens[1], &error); if (error != NULL) { if (tokens[2] == NULL) { value = g_strdup(""); } else { value = g_strdup(tokens[2]); } *default_used = TRUE; g_error_free(error); } else { *default_used = FALSE; } g_strfreev(tokens); return value; } /* get an integer. If a default is sent as part of the path, and the * default is returned, set *default_used to TRUE. */ gint config_get_int(const gchar * path, gboolean * default_used) { gchar **tokens; gint value; GError *error = NULL; g_return_val_if_fail(keyfile != NULL, 0); tokens = g_strsplit_set(path, "/=", 3); value = g_key_file_get_integer(keyfile, tokens[0], tokens[1], &error); if (error != NULL) { if (tokens[2] == NULL) { value = 0; } else { value = atoi(tokens[2]); } *default_used = TRUE; g_error_free(error); } else { *default_used = FALSE; } g_strfreev(tokens); return value; } /* get an integer. If the setting is not found, return the default value */ gint config_get_int_with_default(const gchar * path, gint default_value) { gboolean default_used; gchar *temp; gint value; temp = g_strdup_printf("%s=%d", path, default_value); value = config_get_int(temp, &default_used); g_free(temp); return value; } /* set configuration settings */ /* these MUST be synchronous */ /* set a string; make sure the configuration set is sync'd afterwards. */ void config_set_string(const gchar * path, const gchar * value) { gchar **tokens; g_return_if_fail(keyfile != NULL); tokens = g_strsplit_set(path, "/", 2); if (tokens[1] == NULL) { g_warning("Key is missing"); } else { g_key_file_set_string(keyfile, tokens[0], tokens[1], value); } g_strfreev(tokens); config_sync(); } /* set an int; make sure the configuration set is sync'd afterwards. */ void config_set_int(const gchar * path, gint value) { gchar **tokens; g_return_if_fail(keyfile != NULL); tokens = g_strsplit_set(path, "/", 2); if (tokens[1] == NULL) { g_warning("Key is missing"); } else { g_key_file_set_integer(keyfile, tokens[0], tokens[1], value); } g_strfreev(tokens); config_sync(); } pioneers-15.5/common/gtk/colors.c0000644000175000017500000000356712303062653013746 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2005 Brian Wellington * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include #include "colors.h" #include "game.h" GdkColor black = { 0, 0, 0, 0 }; GdkColor white = { 0, 0xff00, 0xff00, 0xff00 }; GdkColor red = { 0, 0xff00, 0, 0 }; GdkColor green = { 0, 0, 0xff00, 0 }; GdkColor blue = { 0, 0, 0, 0xff00 }; GdkColor lightblue = { 0, 0xbe00, 0xbe00, 0xff00 }; GdkColor ck_die_red = { 0, 0x8800, 0x0200, 0x0200 }; GdkColor ck_die_yellow = { 0, 0xab00, 0xbd00, 0x1300 }; static GdkColor token_colors[MAX_PLAYERS] = { {0, 0xCD00, 0x0000, 0x0000}, /* red */ {0, 0x1E00, 0x9000, 0xFF00}, /* blue */ {0, 0xE800, 0xE800, 0xE800}, /* white */ {0, 0xFF00, 0x7F00, 0x0000}, /* orange */ {0, 0xEE00, 0xEE00, 0x0000}, /* yellow */ {0, 0x8E00, 0xE500, 0xEE00}, /* cyan */ {0, 0xD100, 0x5F00, 0xEE00}, /* magenta */ {0, 0x0000, 0xEE00, 0x7600} /* green */ }; void colors_init(void) { } GdkColor *colors_get_player(gint player_num) { g_assert(player_num >= 0); g_assert(player_num < MAX_PLAYERS); return &token_colors[player_num]; } pioneers-15.5/common/gtk/metaserver.h0000644000175000017500000000355511246205071014622 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 2008 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef __METASERVER_H__ #define __METASERVER_H__ #include #include #include G_BEGIN_DECLS #define METASERVER_TYPE (metaserver_get_type ()) #define METASERVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), METASERVER_TYPE, MetaServer)) #define METASERVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), METASERVER_TYPE, MetaServerClass)) #define IS_METASERVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), METASERVER_TYPE)) #define IS_METASERVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), METASERVER_TYPE)) typedef struct _MetaServer MetaServer; typedef struct _MetaServerClass MetaServerClass; struct _MetaServer { GtkTable table; GtkWidget *combo_box; GtkListStore *data; }; struct _MetaServerClass { GtkComboBoxClass parent_class; }; GType metaserver_get_type(void); GtkWidget *metaserver_new(void); void metaserver_add(MetaServer * ms, const gchar * text); gchar *metaserver_get(MetaServer * ms); G_END_DECLS #endif /* __METASERVER_H__ */ pioneers-15.5/common/gtk/theme.h0000644000175000017500000000524713252223516013552 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef __theme_h #define __theme_h #include typedef struct { gboolean set; gboolean transparent; GdkColor color; } TColor; typedef struct { GdkPixbuf *native_image; gint native_width; gdouble aspect; } TScaleData; typedef enum { TC_CHIP_BG = 0, TC_CHIP_FG, TC_CHIP_BD, TC_CHIP_H_BG, TC_CHIP_H_FG, TC_PORT_BG, TC_PORT_FG, TC_PORT_BD, TC_ROBBER_FG, TC_ROBBER_BD, TC_HEX_BD, TC_MAX } THEME_COLOR; #define TC_MAX_OVERRIDE (TC_CHIP_H_FG+1) /* The order of the TERRAIN_TILES enum is EXTREMELY important! The order * must match the resources indicated in enum Terrain. */ typedef enum { HILL_TILE = 0, FIELD_TILE, MOUNTAIN_TILE, PASTURE_TILE, FOREST_TILE, DESERT_TILE, SEA_TILE, GOLD_TILE, BOARD_TILE, TERRAIN_TILE_MAX } TERRAIN_TILES; #define TC_MAX_OVRTILE (GOLD_TILE+1) typedef enum { HILL_PORT_TILE = 0, FIELD_PORT_TILE, MOUNTAIN_PORT_TILE, PASTURE_PORT_TILE, FOREST_PORT_TILE, ANY_PORT_TILE, PORT_TILE_MAX } PORT_TILES; typedef enum { NEVER, ALWAYS, ONLY_DOWNSCALE, ONLY_UPSCALE } SCALEMODE; typedef struct _MapTheme { gchar *name; SCALEMODE scaling; gint current_width; const gchar *terrain_tile_names[TERRAIN_TILE_MAX]; const gchar *port_tile_names[PORT_TILE_MAX]; GdkPixbuf *terrain_tiles[TERRAIN_TILE_MAX]; GdkPixbuf *port_tiles[PORT_TILE_MAX]; gint port_tiles_width[PORT_TILE_MAX]; gint port_tiles_height[PORT_TILE_MAX]; TScaleData scaledata[TERRAIN_TILE_MAX]; TColor colors[TC_MAX]; TColor ovr_colors[TC_MAX_OVRTILE][TC_MAX_OVERRIDE]; } MapTheme; void theme_rescale(int radius); void theme_set_current(MapTheme * t); MapTheme *theme_get_current(void); GList *theme_get_list(void); void themes_init(void); void theme_register_callback(GCallback callback); void themes_cleanup(void); GdkPixbuf *theme_get_terrain_pixbuf(Terrain terrain); #endif pioneers-15.5/common/gtk/aboutbox.h0000644000175000017500000000212513252223516014263 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 2015 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ /* * Common code for displaying an about box. */ #ifndef PIONEERS_ABOUTBOX_H #define PIONEERS_ABOUTBOX_H #include void aboutbox_display(GtkWindow * parent, const gchar * title); #endif /* PIONEERS_ABOUTBOX_H */ pioneers-15.5/common/gtk/scrollable-text-view.c0000644000175000017500000001715213252243607016520 00000000000000/* Generated by GOB (v2.0.20) (do not edit directly) */ /* End world hunger, donate to the World Food Programme, http://www.wfp.org */ #line 3 "common/gtk/scrollable-text-view.gob" /* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 2011 Micah Bunting * Copyright (C) 2011 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #line 30 "scrollable-text-view.c" #define GOB_VERSION_MAJOR 2 #define GOB_VERSION_MINOR 0 #define GOB_VERSION_PATCHLEVEL 20 #define selfp (self->_priv) #include /* memset() */ #include "scrollable-text-view.h" #ifdef G_LIKELY #define ___GOB_LIKELY(expr) G_LIKELY(expr) #define ___GOB_UNLIKELY(expr) G_UNLIKELY(expr) #else /* ! G_LIKELY */ #define ___GOB_LIKELY(expr) (expr) #define ___GOB_UNLIKELY(expr) (expr) #endif /* G_LIKELY */ #line 31 "common/gtk/scrollable-text-view.gob" #line 52 "scrollable-text-view.c" /* self casting macros */ #define SELF(x) SCROLLABLE_TEXT_VIEW(x) #define SELF_CONST(x) SCROLLABLE_TEXT_VIEW_CONST(x) #define IS_SELF(x) SCROLLABLE_IS_TEXT_VIEW(x) #define TYPE_SELF SCROLLABLE_TYPE_TEXT_VIEW #define SELF_CLASS(x) SCROLLABLE_TEXT_VIEW_CLASS(x) #define SELF_GET_CLASS(x) SCROLLABLE_TEXT_VIEW_GET_CLASS(x) /* self typedefs */ typedef ScrollableTextView Self; typedef ScrollableTextViewClass SelfClass; /* here are local prototypes */ static void scrollable_text_view_class_init (ScrollableTextViewClass * c) G_GNUC_UNUSED; #line 39 "common/gtk/scrollable-text-view.gob" static void scrollable_text_view_init (ScrollableTextView * self) G_GNUC_UNUSED; #line 70 "scrollable-text-view.c" /* pointer to the class of our parent */ static GtkScrolledWindowClass *parent_class = NULL; /* Short form macros */ #define self_new scrollable_text_view_new #define self_set_text scrollable_text_view_set_text #define self_get_text scrollable_text_view_get_text #define self_get_for_mnemonic scrollable_text_view_get_for_mnemonic GType scrollable_text_view_get_type (void) { static GType type = 0; if ___GOB_UNLIKELY(type == 0) { static const GTypeInfo info = { sizeof (ScrollableTextViewClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) scrollable_text_view_class_init, (GClassFinalizeFunc) NULL, NULL /* class_data */, sizeof (ScrollableTextView), 0 /* n_preallocs */, (GInstanceInitFunc) scrollable_text_view_init, NULL }; type = g_type_register_static (GTK_TYPE_SCROLLED_WINDOW, "ScrollableTextView", &info, (GTypeFlags)0); } return type; } /* a macro for creating a new object of our type */ #define GET_NEW ((ScrollableTextView *)g_object_new(scrollable_text_view_get_type(), NULL)) /* a function for creating a new object of our type */ #include static ScrollableTextView * GET_NEW_VARG (const char *first, ...) G_GNUC_UNUSED; static ScrollableTextView * GET_NEW_VARG (const char *first, ...) { ScrollableTextView *ret; va_list ap; va_start (ap, first); ret = (ScrollableTextView *)g_object_new_valist (scrollable_text_view_get_type (), first, ap); va_end (ap); return ret; } static void scrollable_text_view_class_init (ScrollableTextViewClass * c G_GNUC_UNUSED) { #define __GOB_FUNCTION__ "Scrollable:Text:View::class_init" parent_class = g_type_class_ref (GTK_TYPE_SCROLLED_WINDOW); } #undef __GOB_FUNCTION__ #line 39 "common/gtk/scrollable-text-view.gob" static void scrollable_text_view_init (ScrollableTextView * self G_GNUC_UNUSED) { #line 135 "scrollable-text-view.c" #define __GOB_FUNCTION__ "Scrollable:Text:View::init" { #line 39 "common/gtk/scrollable-text-view.gob" GtkScrolledWindow *sw = GTK_SCROLLED_WINDOW(self); GtkWidget *text_view; gtk_scrolled_window_set_hadjustment(sw, NULL); gtk_scrolled_window_set_vadjustment(sw, NULL); gtk_scrolled_window_set_policy(sw, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); text_view = gtk_text_view_new(); gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(text_view), FALSE); gtk_text_view_set_cursor_visible(GTK_TEXT_VIEW(text_view), TRUE); gtk_text_view_set_accepts_tab(GTK_TEXT_VIEW(text_view), FALSE); gtk_container_add(GTK_CONTAINER(self), text_view); #line 158 "scrollable-text-view.c" } } #undef __GOB_FUNCTION__ #line 36 "common/gtk/scrollable-text-view.gob" GtkWidget * scrollable_text_view_new (void) { #line 168 "scrollable-text-view.c" #define __GOB_FUNCTION__ "Scrollable:Text:View::new" { #line 36 "common/gtk/scrollable-text-view.gob" return (GtkWidget *) GET_NEW; }} #line 175 "scrollable-text-view.c" #undef __GOB_FUNCTION__ #line 59 "common/gtk/scrollable-text-view.gob" void scrollable_text_view_set_text (ScrollableTextView * self, const gchar * text) { #line 183 "scrollable-text-view.c" #define __GOB_FUNCTION__ "Scrollable:Text:View::set_text" #line 59 "common/gtk/scrollable-text-view.gob" g_return_if_fail (self != NULL); #line 59 "common/gtk/scrollable-text-view.gob" g_return_if_fail (SCROLLABLE_IS_TEXT_VIEW (self)); #line 189 "scrollable-text-view.c" { #line 59 "common/gtk/scrollable-text-view.gob" GtkTextBuffer *buffer; GtkTextIter start; GtkTextIter end; buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW (gtk_bin_get_child (GTK_BIN(self)))); gtk_text_buffer_get_bounds(buffer, &start, &end); gtk_text_buffer_set_text(buffer, text ? text : "", -1); gtk_text_buffer_get_bounds(buffer, &start, &end); gtk_text_buffer_place_cursor(buffer, &start); }} #line 206 "scrollable-text-view.c" #undef __GOB_FUNCTION__ #line 74 "common/gtk/scrollable-text-view.gob" gchar * scrollable_text_view_get_text (ScrollableTextView * self) { #line 213 "scrollable-text-view.c" #define __GOB_FUNCTION__ "Scrollable:Text:View::get_text" #line 74 "common/gtk/scrollable-text-view.gob" g_return_val_if_fail (self != NULL, (gchar * )0); #line 74 "common/gtk/scrollable-text-view.gob" g_return_val_if_fail (SCROLLABLE_IS_TEXT_VIEW (self), (gchar * )0); #line 219 "scrollable-text-view.c" { #line 74 "common/gtk/scrollable-text-view.gob" GtkTextBuffer *buffer; GtkTextIter start; GtkTextIter end; buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW (gtk_bin_get_child (GTK_BIN(self)))); gtk_text_buffer_get_bounds(buffer, &start, &end); return gtk_text_buffer_get_text(buffer, &start, &end, FALSE); }} #line 235 "scrollable-text-view.c" #undef __GOB_FUNCTION__ #line 88 "common/gtk/scrollable-text-view.gob" GtkWidget * scrollable_text_view_get_for_mnemonic (ScrollableTextView * self) { #line 242 "scrollable-text-view.c" #define __GOB_FUNCTION__ "Scrollable:Text:View::get_for_mnemonic" #line 88 "common/gtk/scrollable-text-view.gob" g_return_val_if_fail (self != NULL, (GtkWidget * )0); #line 88 "common/gtk/scrollable-text-view.gob" g_return_val_if_fail (SCROLLABLE_IS_TEXT_VIEW (self), (GtkWidget * )0); #line 248 "scrollable-text-view.c" { #line 88 "common/gtk/scrollable-text-view.gob" return gtk_bin_get_child(GTK_BIN(self)); }} #line 254 "scrollable-text-view.c" #undef __GOB_FUNCTION__ pioneers-15.5/common/gtk/player-icon.c0000644000175000017500000002705112736760141014670 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game * Go buy a copy. * * Copyright (C) 2007 Giancarlo Capella * Copyright (C) 2007 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include "colors.h" #include "player-icon.h" #include "game.h" #include #include #include #include static gboolean load_pixbuf(const gchar * name, GdkPixbuf ** pixbuf); static void replace_colors(GdkPixbuf * pixbuf, const GdkColor * replace_this, const GdkColor * replace_with); GdkColor default_face_color = { 0, 0xd500, 0x7f00, 0x2000 }; GdkColor default_variant_color = { 0, 0, 0, 0 }; GSList *player_avatar; gpointer ai_avatar_data; gsize ai_avatar_size; static gchar *build_image_filename(const gchar * name) { return g_build_filename(DATADIR, "pixmaps", "pioneers", name, NULL); } static gboolean load_pixbuf(const gchar * name, GdkPixbuf ** pixbuf) { gchar *filename; filename = build_image_filename(name); if (g_file_test(filename, G_FILE_TEST_EXISTS)) { GError *error = NULL; *pixbuf = gdk_pixbuf_new_from_file(filename, &error); if (error != NULL) { g_warning("Error loading image %s\n", filename); g_error_free(error); g_free(filename); return FALSE; } g_free(filename); return TRUE; } else { g_free(filename); return FALSE; } } void playericon_init(void) { gint idx; gboolean good; gchar *filename; player_avatar = NULL; idx = 1; do { gchar *name; GdkPixbuf *pixbuf; name = g_strdup_printf("style-human-%d.png", idx); good = load_pixbuf(name, &pixbuf); if (good) { player_avatar = g_slist_append(player_avatar, pixbuf); } ++idx; g_free(name); } while (good); filename = build_image_filename("style-ai.svg"); if (g_file_test(filename, G_FILE_TEST_EXISTS)) { GError *error = NULL; GFile *file; GMemoryOutputStream *os; GFileInputStream *is; os = G_MEMORY_OUTPUT_STREAM(g_memory_output_stream_new (NULL, 0, g_realloc, g_free)); file = g_file_new_for_path(filename); is = g_file_read(file, NULL, &error); g_output_stream_splice(G_OUTPUT_STREAM(os), G_INPUT_STREAM(is), G_OUTPUT_STREAM_SPLICE_NONE, NULL, &error); g_input_stream_close(G_INPUT_STREAM(is), NULL, &error); g_output_stream_close(G_OUTPUT_STREAM(os), NULL, &error); ai_avatar_size = g_memory_output_stream_get_data_size(os); ai_avatar_data = g_memory_output_stream_steal_data(os); g_object_unref(is); g_object_unref(os); g_object_unref(file); } g_free(filename); } guint playericon_human_style_count(void) { return g_slist_length(player_avatar); } /** Replace colours in SVG data. * @param original_data The SVG data stream * @param size The size of the data stream * @param replace_this The old colour * @param replace_with The new colour * @return Newly allocated data, with the colour replaced. Free with g_free() */ static gchar *replace_colors_in_svg_data(gconstpointer original_data, gsize size, const GdkColor * replace_this, const GdkColor * replace_with) { gchar *replace_here; gchar *data; gchar *color_old; gchar *color_new; gsize counter; data = g_malloc(size); memcpy(data, original_data, size); color_old = g_strdup_printf("fill:#%02x%02x%02x", (replace_this->red >> 8) & 0xFF, (replace_this->green >> 8) & 0xFF, (replace_this->blue >> 8) & 0xFF); color_new = g_strdup_printf("fill:#%02x%02x%02x", (replace_with->red >> 8) & 0xFF, (replace_with->green >> 8) & 0xFF, (replace_with->blue >> 8) & 0xFF); g_assert(strlen(color_old) == 12); g_assert(strlen(color_new) == 12); replace_here = data; counter = 0; while (counter < size) { if (strncmp(replace_here, color_old, 12) == 0) { memcpy(replace_here, color_new, 12); } else { counter++; replace_here++; } } g_free(color_old); g_free(color_new); return data; } static void replace_colors(GdkPixbuf * pixbuf, const GdkColor * replace_this, const GdkColor * replace_with) { gint i; guint new_color; guint old_color; guint *pixel; g_assert(gdk_pixbuf_get_colorspace(pixbuf) == GDK_COLORSPACE_RGB); g_assert(gdk_pixbuf_get_bits_per_sample(pixbuf) == 8); g_assert(gdk_pixbuf_get_has_alpha(pixbuf)); g_assert(gdk_pixbuf_get_n_channels(pixbuf) == 4); pixel = (guint *) gdk_pixbuf_get_pixels(pixbuf); new_color = 0xff000000 | ((replace_with->red >> 8) & 0xff) | ((replace_with->green >> 8) & 0xff) << 8 | ((replace_with->blue >> 8) & 0xff) << 16; old_color = 0xff000000 | ((replace_this->red >> 8) & 0xff) | ((replace_this->green >> 8) & 0xff) << 8 | ((replace_this->blue >> 8) & 0xff) << 16; for (i = 0; i < (gdk_pixbuf_get_rowstride(pixbuf) / 4 * gdk_pixbuf_get_height(pixbuf)); i++) { if (*pixel == old_color) *pixel = new_color; pixel++; } } cairo_surface_t *playericon_create_icon(const gchar * style, GdkColor * color, gboolean spectator, gboolean connected, gdouble width, gdouble height) { PlayerType player_type; cairo_surface_t *surface; cairo_t *cr; player_type = determine_player_type(style); /* Human players are allowed to have the square icon */ if (player_type == PLAYER_HUMAN && !strcmp(style, default_player_style)) { player_type = PLAYER_UNKNOWN; } cairo_rectangle_t extent = { 0.0, 0.0, width, height }; surface = cairo_recording_surface_create(CAIRO_CONTENT_COLOR_ALPHA, &extent); cr = cairo_create(surface); switch (player_type) { case PLAYER_COMPUTER:{ /* This is an AI */ GError *error; GInputStream *is; GdkPixbuf *pixbuf; gchar *data; /* Replace the chromakey color with the player color */ data = replace_colors_in_svg_data(ai_avatar_data, ai_avatar_size, &blue, color); error = NULL; is = g_memory_input_stream_new_from_data(data, ai_avatar_size, NULL); pixbuf = gdk_pixbuf_new_from_stream_at_scale(is, width, height, TRUE, NULL, &error); g_input_stream_close(is, NULL, &error); g_object_unref(is); g_assert(pixbuf != NULL); g_assert(error == NULL); gdk_cairo_set_source_pixbuf(cr, pixbuf, 0.0, 0.0); cairo_rectangle(cr, 0, 0, width, height); cairo_fill(cr); g_object_unref(pixbuf); g_free(data); } break; case PLAYER_HUMAN:{ /* Draw a bust */ guint variant; GdkColor face_color; gdouble face_radius; GdkColor variant_color; GdkPixbuf *pixbuf; GdkPixbuf *pixbuf_scaled; playericon_parse_human_style(style, &face_color, &variant, &variant_color); gdk_cairo_set_source_color(cr, color); cairo_set_line_width(cr, 1.0); cairo_arc_negative(cr, width / 2, height, width / 2, 0.0, M_PI); cairo_fill(cr); gdk_cairo_set_source_color(cr, &black); cairo_arc_negative(cr, width / 2, height, width / 2, 0.0, M_PI); cairo_move_to(cr, 0.0, height - 0.5); cairo_line_to(cr, width, height - 0.5); cairo_stroke(cr); gdk_cairo_set_source_color(cr, &face_color); face_radius = 25.0 / 64.0 * height / 2.0; cairo_arc(cr, width / 2 + 0.5, height / 2 - face_radius, face_radius, 0.0, 2 * M_PI); cairo_fill(cr); gdk_cairo_set_source_color(cr, &black); cairo_arc(cr, width / 2 + 0.5, height / 2 - face_radius, face_radius, 0.0, 2 * M_PI); cairo_stroke(cr); pixbuf = gdk_pixbuf_copy(g_slist_nth (player_avatar, variant)->data); replace_colors(pixbuf, &blue, &variant_color); pixbuf_scaled = gdk_pixbuf_scale_simple(pixbuf, width, height, GDK_INTERP_BILINEAR); gdk_cairo_set_source_pixbuf(cr, pixbuf_scaled, 0.0, 0.0); cairo_rectangle(cr, 0.0, 0.0, width, height); cairo_fill(cr); g_object_unref(pixbuf_scaled); g_object_unref(pixbuf); } break; default: /* Unknown or square */ if (spectator) { /* Spectators have a transparent icon */ cairo_set_source_rgba(cr, 0.0, 0.0, 0.0, 0.0); cairo_rectangle(cr, 0, 0, width, height); cairo_fill(cr); } else { gdk_cairo_set_source_color(cr, color); cairo_rectangle(cr, 0, 0, width, height); cairo_fill(cr); gdk_cairo_set_source_color(cr, &black); cairo_set_line_width(cr, 1.0); cairo_rectangle(cr, 0.5, 0.5, width - 1, height - 1); cairo_stroke(cr); if (!connected) { cairo_rectangle(cr, 3.5, 3.5, width - 7, height - 7); cairo_rectangle(cr, 6.5, 6.5, width - 13, height - 13); cairo_stroke(cr); /* Don't draw the other emblem */ connected = TRUE; } } } if (!connected) { /* Slightly transparent red */ cairo_set_source_rgba(cr, 1.0, 0.0, 0.0, 0.8); cairo_move_to(cr, width / 2, height / 2); cairo_arc(cr, width * 3 / 4, height / 4, width / 4, 0.0, 2 * M_PI); cairo_fill(cr); gdk_cairo_set_source_color(cr, &white); cairo_rectangle(cr, width / 2 + 2, height / 4 - height / 16, width / 2 - 4, height / 8); cairo_fill(cr); } cairo_destroy(cr); return surface; } gchar *playericon_create_human_style(const GdkColor * face_color, gint variant, const GdkColor * variant_color) { gchar *c1; gchar *c2; gchar *style; c1 = color_to_string(*face_color); c2 = color_to_string(*variant_color); style = g_strdup_printf("human %s %d %s", c1, variant, c2); g_free(c1); g_free(c2); return style; } gboolean playericon_parse_human_style(const gchar * style, GdkColor * face_color, guint * variant, GdkColor * variant_color) { gchar **style_parts; gboolean parse_ok; /* Determine the style for the player/spectator */ style_parts = g_strsplit(style, " ", 0); parse_ok = FALSE; if (!strcmp(style_parts[0], "human")) { parse_ok = style_parts[1] != NULL && string_to_color(style_parts[1], face_color); if (parse_ok) { parse_ok = style_parts[2] != NULL; } if (parse_ok) { *variant = atoi(style_parts[2]); parse_ok = *variant <= g_slist_length(player_avatar); } if (parse_ok) { parse_ok = style_parts[3] != NULL && string_to_color(style_parts[3], variant_color); } } if (!parse_ok) { /* Something was wrong, revert to the default */ *face_color = default_face_color; *variant = 0; *variant_color = default_variant_color; } g_strfreev(style_parts); return parse_ok; } gboolean string_to_color(const gchar * spec, GdkColor * color) { PangoColor pango_color; if (pango_color_parse(&pango_color, spec)) { color->red = pango_color.red; color->green = pango_color.green; color->blue = pango_color.blue; return TRUE; } return FALSE; } gchar *color_to_string(GdkColor color) { return g_strdup_printf("#%04x%04x%04x", color.red, color.green, color.blue); /** @todo RC Enable this code when the minimum Gtk+ version is high enough PangoColor pango_color; pango_color.red = color.red; pango_color.green = color.green; pango_color.blue = color.blue; return pango_color_to_string(&pango_color); */ } pioneers-15.5/common/gtk/select-game.h0000644000175000017500000000304512152060410014616 00000000000000/* A custom widget for selecting a game from a list of games. * * The code is based on the TICTACTOE example * www.gtk.oorg/tutorial/app-codeexamples.html#SEC-TICTACTOE * * Adaptation for Pioneers: 2004 Roland Clobus * */ #ifndef __SELECTGAME_H__ #define __SELECTGAME_H__ #include #include #include G_BEGIN_DECLS #define SELECTGAME_TYPE (select_game_get_type ()) #define SELECTGAME(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SELECTGAME_TYPE, SelectGame)) #define SELECTGAME_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SELECTGAME_TYPE, SelectGameClass)) #define IS_SELECTGAME(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SELECTGAME_TYPE)) #define IS_SELECTGAME_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SELECTGAME_TYPE)) typedef struct _SelectGame SelectGame; typedef struct _SelectGameClass SelectGameClass; struct _SelectGame { GtkTable table; GtkWidget *combo_box; GtkListStore *data; GPtrArray *game_names; gchar *default_game; }; struct _SelectGameClass { GtkTableClass parent_class; void (*activate) (SelectGame * sg); }; GType select_game_get_type(void); GtkWidget *select_game_new(void); void select_game_set_default(SelectGame * sg, const gchar * game_title); void select_game_add(SelectGame * sg, const gchar * game_title); void select_game_add_details(SelectGame * sg, const GameParams * params); const gchar *select_game_get_active_title(SelectGame * sg); const GameParams *select_game_get_active_game(SelectGame * sg); G_END_DECLS #endif /* __SELECTGAME_H__ */ pioneers-15.5/common/gtk/polygon.h0000644000175000017500000000242213252223516014127 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef __polygon_h #define __polygon_h #include typedef struct { GdkPoint *points; gint num_points; } Polygon; void poly_offset(Polygon * poly, gint x_offset, gint y_offset); void poly_bound_rect(const Polygon * poly, int pad, GdkRectangle * rect); void poly_draw(cairo_t * cr, gboolean filled, const Polygon * poly); void poly_draw_with_border(cairo_t * cr, const GdkColor * border_color, const Polygon * poly); #endif pioneers-15.5/common/gtk/config-gnome.h0000644000175000017500000000654213252223516015017 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 2000 Dave Cole * Copyright (C) 2003 Bas Wijnen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ /* config-gnome.h -- configuration via. gnome-config (header) * initial draft * * 19 July 2000 * Bibek Sahu */ /*************************** description ******************************* To simplify a cross-platform API, we'll just demand that all configuration sets be synchronous. This is what most people expect, anyway. Also, all the paths used for getting/setting items will be made relative, and a config prefix will be pushed on the stack by config_init(). The API is essentially mimics a subset of the gnome_config API, but I believe it's similar (at least in spirit) to the Windows Registry, at least on the surface. The config API will contain the following items (for now): void config_init( string absolute_path_prefix ) string config_get_string( string relative_path, pointer_to_bool default_used ) int config_get_int( string relative_path, pointer_to_bool default_used ) // all config_set_* functions must be synchronous void config_set_string( string relative_path, string value ) void config_set_int( string relative_path, int value ) ************************* end description *****************************/ /* necessary headers */ #include /******************************* functions **************************/ /**** initialize configuration setup ****/ /* set the prefix in some static manner so that we don't need to hard-code * it in the main code. Thus, different architectures can have different * prefixes depending on what's relevant for said arch. */ void config_init(const gchar * path_prefix); /** Free resources */ void config_finish(void); /**** get configuration settings ****/ /* get a string. If a default is sent as part of the path, and the default * is returned, set *default_used to 1. */ gchar *config_get_string(const gchar * path, gboolean * default_used); /* get an integer. If a default is sent as part of the path, and the * default is returned, set *default_used to 1. */ gint config_get_int(const gchar * path, gboolean * default_used); /* get an integer. If the setting is not found, return the default value */ gint config_get_int_with_default(const gchar * path, gint default_value); /**** set configuration settings ****/ /* these MUST be synchronous */ /* set a string; make sure the configuration set is sync'd afterwards. */ void config_set_string(const gchar * path, const gchar * value); /* set an int; make sure the configuration set is sync'd afterwards. */ void config_set_int(const gchar * path, gint value); pioneers-15.5/common/gtk/guimap.c0000644000175000017500000015163413252223516013727 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * Copyright (C) 2004-2014 Roland Clobus * Copyright (C) 2013 Micah Bunting * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ /** @file guimap.c */ #include "config.h" #include #include #include #include #include "game.h" #include "map.h" #include "colors.h" #include "guimap.h" #include "log.h" #include "theme.h" #define ZOOM_AMOUNT 3 static gboolean single_click_build_active = FALSE; typedef struct { GuiMap *gmap; gint old_highlight; } HighlightInfo; /* Local function prototypes */ static void calc_edge_poly(const GuiMap * gmap, const Edge * edge, const Polygon * shape, Polygon * poly); static void calc_node_poly(const GuiMap * gmap, const Node * node, const Polygon * shape, Polygon * poly); static void calc_hex_poly(const GuiMap * gmap, const Hex * hex, const Polygon * shape, Polygon * poly, double scale_factor, gint x_shift); static void guimap_cursor_move(GuiMap * gmap, MapElement * element); /* Square */ static gint sqr(gint a) { return a * a; } /** Creates a new GuiMap. * @return A newly allocated GuiMap. */ GuiMap *guimap_new(void) { GuiMap *gmap; gmap = g_malloc0(sizeof(*gmap)); gmap->highlight_chit = -1; gmap->initial_font_size = -1; gmap->show_nosetup_nodes = FALSE; return gmap; } /** Frees a GuiMap. * @param gmap The GuiMap to free. */ void guimap_delete(GuiMap * gmap) { if (gmap->area != NULL) { g_object_unref(gmap->area); gmap->area = NULL; } if (gmap->surface != NULL) { cairo_surface_destroy(gmap->surface); gmap->surface = NULL; } if (gmap->cr != NULL) { cairo_destroy(gmap->cr); gmap->cr = NULL; } if (gmap->layout) { /* Restore the font size */ PangoContext *pc; PangoFontDescription *pfd; pc = pango_layout_get_context(gmap->layout); pfd = pango_context_get_font_description(pc); if (gmap->initial_font_size != -1) { pango_font_description_set_size(pfd, gmap-> initial_font_size); } g_object_unref(gmap->layout); gmap->layout = NULL; } if (gmap->map) { map_free(gmap->map); gmap->map = NULL; } g_free(gmap); } void guimap_reset(GuiMap * gmap) { gmap->highlight_chit = -1; gmap->player_num = -1; } static gboolean draw_map_cb(GtkWidget * area, cairo_t * cr, gpointer user_data) { GuiMap *gmap = user_data; GtkAllocation allocation; if (gmap->map == NULL) { return FALSE; } gtk_widget_get_allocation(area, &allocation); if (gmap->surface == NULL) { cairo_rectangle_t extent = { 0.0, 0.0, allocation.width, allocation.height }; gmap->surface = cairo_recording_surface_create (CAIRO_CONTENT_COLOR_ALPHA, &extent); guimap_display(gmap); } cairo_set_source_surface(cr, gmap->surface, 0.0, 0.0); cairo_rectangle(cr, 0.0, 0.0, allocation.width, allocation.height); cairo_fill(cr); return FALSE; } static gint configure_map_cb(GtkWidget * area, G_GNUC_UNUSED GdkEventConfigure * event, gpointer user_data) { GuiMap *gmap = user_data; GtkAllocation allocation; if (gtk_widget_get_window(area) == NULL || gmap->map == NULL) return FALSE; if (gmap->surface != NULL) { cairo_surface_destroy(gmap->surface); gmap->surface = NULL; } gtk_widget_get_allocation(area, &allocation); guimap_scale_to_size(gmap, allocation.width, allocation.height); gtk_widget_queue_draw(area); return FALSE; } static gboolean motion_notify_map_cb(GtkWidget * area, GdkEventMotion * event, gpointer user_data) { GuiMap *gmap = user_data; gdouble x; gdouble y; GdkModifierType state; MapElement dummyElement; g_assert(area != NULL); if (gtk_widget_get_window(area) == NULL || gmap->map == NULL) return FALSE; x = event->x; y = event->y; state = event->state; if (state & GDK_BUTTON2_MASK) { gmap->is_custom_view = TRUE; gmap->x_margin += x - gmap->last_x; gmap->y_margin += y - gmap->last_y; guimap_display(gmap); gtk_widget_queue_draw(gmap->area); } gmap->last_x = x; gmap->last_y = y; dummyElement.pointer = NULL; guimap_cursor_move(gmap, &dummyElement); return FALSE; } static gboolean zoom_map_cb(GtkWidget * area, GdkEventScroll * event, gpointer user_data) { GuiMap *gmap = user_data; GtkAllocation allocation; gint radius; if (gtk_widget_get_window(area) == NULL || gmap->map == NULL) return FALSE; radius = gmap->hex_radius; gmap->is_custom_view = TRUE; if (event->direction == GDK_SCROLL_UP) { radius += ZOOM_AMOUNT; gmap->x_margin -= (event->x - gmap->x_margin) * ZOOM_AMOUNT / radius; gmap->y_margin -= (event->y - gmap->y_margin) * ZOOM_AMOUNT / radius; } else if (event->direction == GDK_SCROLL_DOWN) { gint old_radius = radius; radius -= ZOOM_AMOUNT; if (radius < MIN_HEX_RADIUS) radius = MIN_HEX_RADIUS; gmap->x_margin += (event->x - gmap->x_margin) * (old_radius - radius) / radius; gmap->y_margin += (event->y - gmap->y_margin) * (old_radius - radius) / radius; } gmap->hex_radius = radius; gtk_widget_get_allocation(gmap->area, &allocation); guimap_scale_to_size(gmap, allocation.width, allocation.height); guimap_display(gmap); gtk_widget_queue_draw(gmap->area); return FALSE; } /** Builds the drawing area for gmap. * @param gmap The GuiMap to build the drawing area for. * @param width The requested width of the drawing area. * @param Height The requested height of the drawing area. * @return The newly created drawing area for gmap. */ GtkWidget *guimap_build_drawingarea(GuiMap * gmap, gint width, gint height) { gmap->area = gtk_drawing_area_new(); g_object_ref(gmap->area); gtk_widget_set_events(gmap->area, GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK); gtk_widget_set_size_request(gmap->area, width, height); g_signal_connect(G_OBJECT(gmap->area), "draw", G_CALLBACK(draw_map_cb), gmap); g_signal_connect(G_OBJECT(gmap->area), "configure_event", G_CALLBACK(configure_map_cb), gmap); g_signal_connect(G_OBJECT(gmap->area), "motion_notify_event", G_CALLBACK(motion_notify_map_cb), gmap); g_signal_connect(G_OBJECT(gmap->area), "scroll_event", G_CALLBACK(zoom_map_cb), gmap); gtk_widget_show(gmap->area); return gmap->area; } static GdkPoint settlement_points[] = { {20, 20}, {20, -8}, {0, -28}, {-20, -8}, {-20, 20}, {20, 20} }; static Polygon settlement_poly = { settlement_points, G_N_ELEMENTS(settlement_points) }; static GdkPoint city_points[] = { {40, 20}, {40, -16}, {2, -16}, {2, -28}, {-19, -48}, {-40, -28}, {-40, 20}, {40, 20} }; static Polygon city_poly = { city_points, G_N_ELEMENTS(city_points) }; static GdkPoint city_wall_points[] = { {50, 36}, {50, -64}, {-50, -64}, {-50, 36} }; static Polygon city_wall_poly = { city_wall_points, G_N_ELEMENTS(city_wall_points) }; static GdkPoint nosetup_points[] = { {0, 30}, {26, 15}, {26, -15}, {0, -30}, {-26, -15}, {-26, 15}, {0, 30} }; static Polygon nosetup_poly = { nosetup_points, G_N_ELEMENTS(nosetup_points) }; /* Update this when a node polygon is changed */ #define NODE_MIN_X -50 #define NODE_MAX_X 50 #define NODE_MIN_Y -64 #define NODE_MAX_Y 36 static GdkPoint largest_node_points[] = { {NODE_MIN_X, NODE_MIN_Y}, {NODE_MIN_X, NODE_MAX_Y}, {NODE_MAX_X, NODE_MAX_Y}, {NODE_MAX_X, NODE_MIN_Y} }; static Polygon largest_node_poly = { largest_node_points, G_N_ELEMENTS(largest_node_points) }; static GdkPoint road_points[] = { {10, 40}, {10, -40}, {-10, -40}, {-10, 40}, {10, 40} }; static Polygon road_poly = { road_points, G_N_ELEMENTS(road_points) }; static GdkPoint ship_points[] = { {10, 32}, {10, 8}, {24, 18}, {42, 8}, {48, 0}, {50, -12}, {10, -12}, {10, -32}, {2, -32}, {-6, -26}, {-10, -16}, {-10, 16}, {-6, 26}, {2, 32}, {10, 32} }; static Polygon ship_poly = { ship_points, G_N_ELEMENTS(ship_points) }; static GdkPoint bridge_points[] = { {13, 40}, {-14, 40}, {-14, 30}, {-1, 15}, {-1, -15}, {-14, -30}, {-14, -40}, {13, -40}, {13, 40} }; static Polygon bridge_poly = { bridge_points, G_N_ELEMENTS(bridge_points) }; /* Update this when an edge polygon is changed */ #define EDGE_MIN_X -14 #define EDGE_MAX_X 50 #define EDGE_MIN_Y -40 #define EDGE_MAX_Y 40 static GdkPoint largest_edge_points[] = { {EDGE_MIN_X, EDGE_MIN_Y}, {EDGE_MIN_X, EDGE_MAX_Y}, {EDGE_MAX_X, EDGE_MAX_Y}, {EDGE_MAX_X, EDGE_MIN_Y} }; static Polygon largest_edge_poly = { largest_edge_points, G_N_ELEMENTS(largest_edge_points) }; static GdkPoint robber_points[] = { {30, 60}, {30, 4}, {28, -6}, {22, -15}, {12, -20}, {22, -32}, {22, -48}, {10, -60}, {-10, -60}, {-22, -48}, {-22, -32}, {-12, -20}, {-22, -15}, {-28, -6}, {-30, 4}, {-30, 60}, {30, 60} }; static Polygon robber_poly = { robber_points, G_N_ELEMENTS(robber_points) }; static GdkPoint pirate_points[] = { {42, 15}, {18, 15}, {28, 1}, {18, -17}, {10, -23}, {-2, -25}, {-2, 15}, {-22, 15}, {-22, 23}, {-16, 31}, {-6, 35}, {26, 35}, {36, 31}, {42, 23}, {42, 15} }; static Polygon pirate_poly = { pirate_points, G_N_ELEMENTS(pirate_points) }; static gint chances[13] = { 0, 0, 1, 2, 3, 4, 5, 6, 5, 4, 3, 2, 1 }; static void reverse_calc_hex_pos(const GuiMap * gmap, gint x_coor, gint y_coor, gint * hex_x, gint * hex_y) { gint relx; gint rely; y_coor -= gmap->y_margin + gmap->hex_radius; y_coor += gmap->hex_radius; *hex_y = y_coor / (gmap->hex_radius + gmap->y_point); x_coor -= gmap->x_margin + gmap->x_point + ((*hex_y % 2) ? gmap->x_point : 0); if (gmap->map->shrink_left) x_coor += gmap->x_point; x_coor += gmap->x_point; *hex_x = x_coor / (gmap->x_point * 2); /* The (0,0) will be on the upper left corner of the hex, * outside the hex */ relx = x_coor - *hex_x * (gmap->x_point * 2); rely = y_coor - *hex_y * (gmap->hex_radius + gmap->y_point); /* Choice between various hexes possible */ if (rely < gmap->y_point) { if (relx < gmap->x_point) { /* At the left side of the hex */ /* If point (relx, rely)) above the line from * (0, y_point) to (x_point, 0) then it is the * hex to NW, else it is the current hex */ if (-relx * (gdouble) gmap->y_point / gmap->x_point + gmap->y_point > rely) { map_move_in_direction(HEX_DIR_NW, hex_x, hex_y); } } else { /* At the right side of the hex */ /* If point (relx, rely)) above the line from * (x_point, 0) to (2*x_point, y_point) then * it is the hex to NE, else it is the current hex */ if (relx * (gdouble) gmap->y_point / gmap->x_point - gmap->y_point > rely) { map_move_in_direction(HEX_DIR_NE, hex_x, hex_y); } } } } static void calc_hex_pos(const GuiMap * gmap, gint x, gint y, gint * x_offset, gint * y_offset) { *x_offset = gmap->x_margin + gmap->x_point + ((y % 2) ? gmap->x_point : 0) + x * gmap->x_point * 2; if (gmap->map->shrink_left) *x_offset -= gmap->x_point; *y_offset = gmap->y_margin + gmap->hex_radius + y * (gmap->hex_radius + gmap->y_point); } static void get_hex_polygon(const GuiMap * gmap, Polygon * poly) { GdkPoint *points; g_assert(poly->num_points >= 6); poly->num_points = 6; points = poly->points; points[0].x = gmap->x_point; points[0].y = -gmap->y_point; points[1].x = 0; points[1].y = -gmap->hex_radius; points[2].x = -gmap->x_point; points[2].y = -gmap->y_point; points[3].x = -gmap->x_point; points[3].y = gmap->y_point; points[4].x = 0; points[4].y = gmap->hex_radius; points[5].x = gmap->x_point; points[5].y = gmap->y_point; } static void calc_edge_poly(const GuiMap * gmap, const Edge * edge, const Polygon * shape, Polygon * poly) { gint idx; GdkPoint *poly_point, *shape_point; double theta, cos_theta, sin_theta, scale; g_assert(poly->num_points >= shape->num_points); poly->num_points = shape->num_points; /* Determine the angle for the polygon: * Polygons on edges are rotated 0, 60 or 120 degrees CCW * Polygons without edges are rotated 90 degrees CCW */ theta = 2 * M_PI * (edge != NULL ? 1 - (edge->pos % 3) / 6.0 : -0.25); cos_theta = cos(theta); sin_theta = sin(theta); scale = (2 * gmap->y_point) / 120.0; /* Rotate / scale all points */ poly_point = poly->points; shape_point = shape->points; for (idx = 0; idx < shape->num_points; idx++, shape_point++, poly_point++) { poly_point->x = rint(scale * shape_point->x); poly_point->y = rint(scale * shape_point->y); if (edge == NULL || edge->pos % 3 > 0) { gint x = poly_point->x; gint y = poly_point->y; poly_point->x = rint(x * cos_theta - y * sin_theta); poly_point->y = rint(x * sin_theta + y * cos_theta); } } /* Offset shape to hex & edge */ if (edge != NULL) { gint x_offset, y_offset; /* Recalculate the angle for the position of the edge */ theta = 2 * M_PI * (1 - edge->pos / 6.0); cos_theta = cos(theta); sin_theta = sin(theta); calc_hex_pos(gmap, edge->x, edge->y, &x_offset, &y_offset); x_offset += gmap->x_point * cos_theta; y_offset += gmap->x_point * sin_theta; poly_offset(poly, x_offset, y_offset); } } static void calc_node_poly(const GuiMap * gmap, const Node * node, const Polygon * shape, Polygon * poly) { gint idx; GdkPoint *poly_point, *shape_point; double scale; g_assert(poly->num_points >= shape->num_points); poly->num_points = shape->num_points; scale = (2 * gmap->y_point) / 120.0; /* Scale all points */ poly_point = poly->points; shape_point = shape->points; for (idx = 0; idx < shape->num_points; idx++, shape_point++, poly_point++) { poly_point->x = rint(scale * shape_point->x); poly_point->y = rint(scale * shape_point->y); } /* Offset shape to hex & node */ if (node != NULL) { gint x_offset, y_offset; double theta; calc_hex_pos(gmap, node->x, node->y, &x_offset, &y_offset); theta = 2 * M_PI / 6.0 * node->pos + M_PI / 6.0; theta = 2 * M_PI - theta; x_offset += gmap->hex_radius * cos(theta); y_offset += gmap->hex_radius * sin(theta); poly_offset(poly, x_offset, y_offset); } } static void calc_hex_poly(const GuiMap * gmap, const Hex * hex, const Polygon * shape, Polygon * poly, double scale_factor, gint x_shift) { GdkPoint *poly_point, *shape_point; double scale; gint x_offset, y_offset; gint idx; g_assert(poly->num_points >= shape->num_points); poly->num_points = shape->num_points; scale = (2 * gmap->y_point) / scale_factor; if (hex != NULL) { calc_hex_pos(gmap, hex->x, hex->y, &x_offset, &y_offset); x_offset += rint(scale * x_shift); } else x_offset = y_offset = 0; /* Scale all points, offset to right */ poly_point = poly->points; shape_point = shape->points; for (idx = 0; idx < shape->num_points; idx++, shape_point++, poly_point++) { poly_point->x = x_offset + rint(scale * shape_point->x); poly_point->y = y_offset + rint(scale * shape_point->y); } } void guimap_road_polygon(const GuiMap * gmap, const Edge * edge, Polygon * poly) { calc_edge_poly(gmap, edge, &road_poly, poly); } void guimap_ship_polygon(const GuiMap * gmap, const Edge * edge, Polygon * poly) { calc_edge_poly(gmap, edge, &ship_poly, poly); } void guimap_bridge_polygon(const GuiMap * gmap, const Edge * edge, Polygon * poly) { calc_edge_poly(gmap, edge, &bridge_poly, poly); } void guimap_city_polygon(const GuiMap * gmap, const Node * node, Polygon * poly) { calc_node_poly(gmap, node, &city_poly, poly); } void guimap_settlement_polygon(const GuiMap * gmap, const Node * node, Polygon * poly) { calc_node_poly(gmap, node, &settlement_poly, poly); } void guimap_city_wall_polygon(const GuiMap * gmap, const Node * node, Polygon * poly) { calc_node_poly(gmap, node, &city_wall_poly, poly); } static void guimap_nosetup_polygon(const GuiMap * gmap, const Node * node, Polygon * poly) { calc_node_poly(gmap, node, &nosetup_poly, poly); } static void guimap_robber_polygon(const GuiMap * gmap, const Hex * hex, Polygon * poly) { calc_hex_poly(gmap, hex, &robber_poly, poly, 140.0, 50); } static void guimap_pirate_polygon(const GuiMap * gmap, const Hex * hex, Polygon * poly) { calc_hex_poly(gmap, hex, &pirate_poly, poly, 80.0, 0); } void draw_port_indicator(PangoLayout * layout, cairo_t * cr, gdouble x_offset, gdouble y_offset, gdouble chit_radius, gint resource) { MapTheme *theme = theme_get_current(); if (resource != NO_RESOURCE && chit_radius > 0) { const gchar *str = ""; gint width, height; gint tileno = resource == ANY_RESOURCE ? ANY_PORT_TILE : resource; gboolean drawit; gboolean typeind; /* Fill/tile port indicator */ if (theme->port_tiles[tileno]) { gdk_cairo_set_source_pixbuf(cr, theme->port_tiles [tileno], x_offset - theme->port_tiles_width [tileno] / 2, y_offset - theme->port_tiles_height [tileno] / 2); cairo_pattern_set_extend(cairo_get_source(cr), CAIRO_EXTEND_REPEAT); typeind = TRUE; drawit = TRUE; } else if (!theme->colors[TC_PORT_BG].transparent) { gdk_cairo_set_source_color(cr, &theme->colors [TC_PORT_BG].color); typeind = FALSE; drawit = TRUE; } else { typeind = FALSE; drawit = FALSE; } if (drawit) { cairo_arc(cr, x_offset, y_offset, chit_radius, 0.0, 2 * M_PI); cairo_fill(cr); } /* Outline port indicator */ if (!theme->colors[TC_PORT_BD].transparent) { gdk_cairo_set_source_color(cr, &theme->colors [TC_PORT_BD].color); cairo_arc(cr, x_offset, y_offset, chit_radius, 0.0, 2 * M_PI); cairo_stroke(cr); } /* Print trading ratio */ if (!theme->colors[TC_PORT_FG].transparent) { if (typeind) { if (resource < NO_RESOURCE) /* Port indicator for a resource: trade 2 for 1 */ str = _("2:1"); else /* Port indicator: trade 3 for 1 */ str = _("3:1"); } else { switch (resource) { case BRICK_RESOURCE: /* Port indicator for brick */ str = Q_("Brick port|B"); break; case GRAIN_RESOURCE: /* Port indicator for grain */ str = Q_("Grain port|G"); break; case ORE_RESOURCE: /* Port indicator for ore */ str = Q_("Ore port|O"); break; case WOOL_RESOURCE: /* Port indicator for wool */ str = Q_("Wool port|W"); break; case LUMBER_RESOURCE: /* Port indicator for lumber */ str = Q_("Lumber port|L"); break; default: /* General port indicator */ str = _("3:1"); break; } } pango_layout_set_markup(layout, str, -1); pango_layout_get_pixel_size(layout, &width, &height); gdk_cairo_set_source_color(cr, &theme->colors [TC_PORT_FG].color); cairo_move_to(cr, x_offset - width / 2, y_offset - height / 2); pango_cairo_show_layout(cr, layout); } } } void draw_dice_roll(PangoLayout * layout, cairo_t * cr, gdouble x_offset, gdouble y_offset, gdouble radius, gint n, gint terrain, gboolean highlight) { gchar num[10]; gint height; gint width; gdouble x; gdouble y; gint idx; MapTheme *theme = theme_get_current(); THEME_COLOR col; TColor *tcol; gint width_sqr; #define col_or_ovr(ter,cno) \ ((terrain < TC_MAX_OVRTILE && theme->ovr_colors[ter][cno].set) ? \ &(theme->ovr_colors[ter][cno]) : \ &(theme->colors[cno])) cairo_set_line_width(cr, 1.0); col = highlight ? TC_CHIP_H_BG : TC_CHIP_BG; tcol = col_or_ovr(terrain, col); if (!tcol->transparent) { gdk_cairo_set_source_color(cr, &(tcol->color)); cairo_move_to(cr, x_offset + radius, y_offset); cairo_arc(cr, x_offset, y_offset, radius, 0.0, 2 * M_PI); cairo_fill(cr); } tcol = col_or_ovr(terrain, TC_CHIP_BD); if (!tcol->transparent) { gdk_cairo_set_source_color(cr, &(tcol->color)); cairo_move_to(cr, x_offset + radius, y_offset); cairo_arc(cr, x_offset, y_offset, radius, 0.0, 2 * M_PI); cairo_stroke(cr); } col = (n == 6 || n == 8) ? TC_CHIP_H_FG : TC_CHIP_FG; tcol = col_or_ovr(terrain, col); if (!tcol->transparent) { sprintf(num, "%d", n); pango_layout_set_markup(layout, num, -1); pango_layout_get_pixel_size(layout, &width, &height); gdk_cairo_set_source_color(cr, &(tcol->color)); cairo_move_to(cr, x_offset - width / 2, y_offset - height / 2); pango_cairo_show_layout(cr, layout); width_sqr = sqr(radius) - sqr(height / 2); if (width_sqr >= sqr(6 * 2)) { /* Enough space available for the dots */ x = x_offset - chances[n] * 4 / 2.0; y = y_offset - 1 + height / 2.0; for (idx = 0; idx < chances[n]; idx++) { cairo_arc(cr, x + 2, y + 2, 1.0, 0.0, 2 * M_PI); cairo_fill(cr); x += 4; } } } } static gboolean display_hex(const Hex * hex, gpointer closure) { gint x_offset, y_offset; GdkPoint points[MAX_POINTS]; Polygon poly; guint idx; const MapTheme *theme = theme_get_current(); const GuiMap *gmap = closure; calc_hex_pos(gmap, hex->x, hex->y, &x_offset, &y_offset); cairo_set_line_width(gmap->cr, 1.0); /* Fill the hex with the nice pattern */ poly.points = points; poly.num_points = G_N_ELEMENTS(points); get_hex_polygon(gmap, &poly); poly_offset(&poly, x_offset, y_offset); /* Draw the hex */ gdk_cairo_set_source_pixbuf(gmap->cr, theme_get_terrain_pixbuf(hex->terrain), x_offset - gmap->x_point, y_offset - gmap->hex_radius); cairo_pattern_set_extend(cairo_get_source(gmap->cr), CAIRO_EXTEND_REPEAT); poly_draw(gmap->cr, TRUE, &poly); /* Draw border around hex */ if (!theme->colors[TC_HEX_BD].transparent) { gdk_cairo_set_source_color(gmap->cr, &theme-> colors[TC_HEX_BD].color); poly_draw(gmap->cr, FALSE, &poly); } /* Draw the dice roll */ if (hex->roll > 0 && gmap->chit_radius > 0) { g_assert(gmap->layout); draw_dice_roll(gmap->layout, gmap->cr, x_offset, y_offset, gmap->chit_radius, hex->roll, hex->terrain, !hex->robber && hex->roll == gmap->highlight_chit); } /* Draw ports */ if (hex->resource != NO_RESOURCE && gmap->chit_radius > 0) { const double dashes[] = { 4.0 }; /* Draw lines from port to shore */ gdk_cairo_set_source_color(gmap->cr, &white); cairo_set_dash(gmap->cr, dashes, G_N_ELEMENTS(dashes), 0.0); cairo_move_to(gmap->cr, x_offset, y_offset); cairo_line_to(gmap->cr, points[(hex->facing + 5) % 6].x, points[(hex->facing + 5) % 6].y); cairo_move_to(gmap->cr, x_offset, y_offset); cairo_line_to(gmap->cr, points[hex->facing].x, points[hex->facing].y); cairo_stroke(gmap->cr); cairo_set_dash(gmap->cr, NULL, 0, 0.0); draw_port_indicator(gmap->layout, gmap->cr, x_offset, y_offset, gmap->chit_radius, hex->resource); } cairo_set_line_width(gmap->cr, 1.0); /* Draw all roads and ships */ for (idx = 0; idx < G_N_ELEMENTS(hex->edges); idx++) { const Edge *edge = hex->edges[idx]; if (edge->owner < 0) continue; poly.num_points = G_N_ELEMENTS(points); switch (edge->type) { case BUILD_ROAD: guimap_road_polygon(gmap, edge, &poly); break; case BUILD_SHIP: guimap_ship_polygon(gmap, edge, &poly); break; case BUILD_BRIDGE: guimap_bridge_polygon(gmap, edge, &poly); break; default: g_assert_not_reached(); break; } gdk_cairo_set_source_color(gmap->cr, colors_get_player(edge->owner)); poly_draw_with_border(gmap->cr, &black, &poly); } /* Draw all buildings */ for (idx = 0; idx < G_N_ELEMENTS(hex->nodes); idx++) { const Node *node = hex->nodes[idx]; const GdkColor *color; if (node->owner < 0 && !gmap->show_nosetup_nodes) continue; if (node->owner < 0) { if (!node->no_setup) continue; color = &white; poly.num_points = G_N_ELEMENTS(points); guimap_nosetup_polygon(gmap, node, &poly); } else { color = colors_get_player(node->owner); /* If there are city walls, draw them. */ if (node->city_wall) { poly.num_points = G_N_ELEMENTS(points); guimap_city_wall_polygon(gmap, node, &poly); gdk_cairo_set_source_color(gmap->cr, color); poly_draw_with_border(gmap->cr, &black, &poly); } /* Draw the building */ color = colors_get_player(node->owner); poly.num_points = G_N_ELEMENTS(points); if (node->type == BUILD_CITY) guimap_city_polygon(gmap, node, &poly); else guimap_settlement_polygon(gmap, node, &poly); } gdk_cairo_set_source_color(gmap->cr, color); poly_draw_with_border(gmap->cr, &black, &poly); } /* Draw the robber */ if (hex->robber) { poly.num_points = G_N_ELEMENTS(points); guimap_robber_polygon(gmap, hex, &poly); cairo_set_line_width(gmap->cr, 1.0); if (!theme->colors[TC_ROBBER_FG].transparent) { gdk_cairo_set_source_color(gmap->cr, &theme->colors [TC_ROBBER_FG].color); poly_draw(gmap->cr, TRUE, &poly); } if (!theme->colors[TC_ROBBER_BD].transparent) { gdk_cairo_set_source_color(gmap->cr, &theme->colors [TC_ROBBER_BD].color); poly_draw(gmap->cr, FALSE, &poly); } } /* Draw the pirate */ if (hex == hex->map->pirate_hex) { poly.num_points = G_N_ELEMENTS(points); guimap_pirate_polygon(gmap, hex, &poly); cairo_set_line_width(gmap->cr, 1.0); if (!theme->colors[TC_ROBBER_FG].transparent) { gdk_cairo_set_source_color(gmap->cr, &theme->colors [TC_ROBBER_FG].color); poly_draw(gmap->cr, TRUE, &poly); } if (!theme->colors[TC_ROBBER_BD].transparent) { gdk_cairo_set_source_color(gmap->cr, &theme->colors [TC_ROBBER_BD].color); poly_draw(gmap->cr, FALSE, &poly); } } return FALSE; } void guimap_scale_with_radius(GuiMap * gmap, gint radius) { if (radius < MIN_HEX_RADIUS) radius = MIN_HEX_RADIUS; gmap->hex_radius = radius; gmap->x_point = radius * cos(M_PI / 6.0); gmap->y_point = radius * sin(M_PI / 6.0); gmap->x_margin = gmap->y_margin = 0; if (gmap->map == NULL) return; gmap->width = gmap->map->x_size * 2 * gmap->x_point + gmap->x_point; gmap->height = (gmap->map->y_size - 1) * (gmap->hex_radius + gmap->y_point) + 2 * gmap->hex_radius; if (gmap->map->shrink_left) gmap->width -= gmap->x_point; if (gmap->map->shrink_right) gmap->width -= gmap->x_point; if (gmap->cr != NULL) { cairo_destroy(gmap->cr); gmap->cr = NULL; } gmap->chit_radius = 15; theme_rescale(2 * gmap->x_point); } void guimap_scale_to_size(GuiMap * gmap, gint width, gint height) { const gint reserved_width = 0; const gint reserved_height = 0; gint width_radius; gint height_radius; if (gmap->is_custom_view) { gint x_margin = gmap->x_margin; gint y_margin = gmap->y_margin; guimap_scale_with_radius(gmap, gmap->hex_radius); gmap->x_margin = x_margin; gmap->y_margin = y_margin; gmap->width = width; gmap->height = height; return; } width_radius = (width - reserved_width) / ((gmap->map->x_size * 2 + 1 - gmap->map->shrink_left - gmap->map->shrink_right) * cos(M_PI / 6.0)); height_radius = (height - reserved_height) / ((gmap->map->y_size - 1) * (sin(M_PI / 6.0) + 1) + 2); if (width_radius < height_radius) guimap_scale_with_radius(gmap, width_radius); else guimap_scale_with_radius(gmap, height_radius); gmap->x_margin += (width - gmap->width) / 2; gmap->y_margin += (height - gmap->height) / 2; gmap->width = width; gmap->height = height; } /** @return The radius of the chit for the current font size */ gint guimap_get_chit_radius(PangoLayout * layout, gboolean show_dots) { gint width, height; gint size_for_99_sqr; gint size_for_port_sqr; gint size_for_text_sqr; /* Calculate the maximum size of the text in the chits */ pango_layout_set_markup(layout, "99", -1); pango_layout_get_pixel_size(layout, &width, &height); size_for_99_sqr = sqr(width) + sqr(height); pango_layout_set_markup(layout, "3:1", -1); pango_layout_get_pixel_size(layout, &width, &height); size_for_port_sqr = sqr(width) + sqr(height); size_for_text_sqr = MAX(size_for_99_sqr, size_for_port_sqr); if (show_dots) { gint size_with_dots = sqr(height / 2 + 2) + sqr(6 * 2); if (size_with_dots * 4 > size_for_text_sqr) return sqrt(size_with_dots); } /* Divide: calculations should have been sqr(width/2)+sqr(height/2) */ return sqrt(size_for_text_sqr) / 2; } void guimap_display(GuiMap * gmap) { gint maximum_size; gint size_for_text; PangoContext *pc; PangoFontDescription *pfd; gint font_size; if (gmap->surface == NULL) return; if (gmap->cr != NULL) { cairo_destroy(gmap->cr); } gmap->cr = cairo_create(gmap->surface); gdk_cairo_set_source_pixbuf(gmap->cr, theme_get_current()->terrain_tiles [BOARD_TILE], 0, 0); cairo_pattern_set_extend(cairo_get_source(gmap->cr), CAIRO_EXTEND_REPEAT); cairo_rectangle(gmap->cr, 0, 0, gmap->width, gmap->height); cairo_fill(gmap->cr); if (gmap->layout != NULL) g_object_unref(gmap->layout); gmap->layout = gtk_widget_create_pango_layout(gmap->area, ""); /* Manipulate the font size */ pc = pango_layout_get_context(gmap->layout); pfd = pango_context_get_font_description(pc); /* Store the initial font size, since it is remembered for the area */ if (gmap->initial_font_size == -1) { font_size = pango_font_description_get_size(pfd); gmap->initial_font_size = font_size; } else { font_size = gmap->initial_font_size; } /* The radius of the chit is at most 67% of the tile, * so the terrain can be seen. */ maximum_size = gmap->hex_radius * 2 / 3; /* First attempt to fit the text and the dots in the chit */ pango_font_description_set_size(pfd, font_size); pango_layout_set_font_description(gmap->layout, pfd); size_for_text = guimap_get_chit_radius(gmap->layout, TRUE); /* Shrink the font size until the letters fit in the chit */ while (maximum_size < size_for_text && font_size > 0) { pango_font_description_set_size(pfd, font_size); pango_layout_set_font_description(gmap->layout, pfd); font_size -= PANGO_SCALE; size_for_text = guimap_get_chit_radius(gmap->layout, FALSE); }; if (font_size <= 0) { gmap->chit_radius = 0; } else { gmap->chit_radius = size_for_text; } map_traverse_const(gmap->map, display_hex, gmap); } void guimap_zoom_normal(GuiMap * gmap) { GtkAllocation allocation; gmap->is_custom_view = FALSE; gtk_widget_get_allocation(gmap->area, &allocation); guimap_scale_to_size(gmap, allocation.width, allocation.height); guimap_display(gmap); gtk_widget_queue_draw(gmap->area); } void guimap_zoom_center_map(GuiMap * gmap) { GtkAllocation allocation; gint width; gint height; if (!gmap->is_custom_view) return; width = gmap->map->x_size * 2 * gmap->x_point + gmap->x_point; if (gmap->map->shrink_left) width -= gmap->x_point; if (gmap->map->shrink_right) width -= gmap->x_point; gtk_widget_get_allocation(gmap->area, &allocation); gmap->x_margin = allocation.width / 2 - width / 2; height = (gmap->map->y_size - 1) * (gmap->hex_radius + gmap->y_point) + 2 * gmap->hex_radius; gmap->y_margin = allocation.height / 2 - height / 2; guimap_display(gmap); gtk_widget_queue_draw(gmap->area); } /** Finds the closest edge to the last known cursor position. * @param gmap The GuiMap containing the edge. * @return The closest edge. */ Edge *guimap_get_current_edge(GuiMap * gmap) { Hex *hex = guimap_get_current_hex(gmap); if (hex) { gint center_x; gint center_y; gdouble angle; gint idx; calc_hex_pos(gmap, hex->x, hex->y, ¢er_x, ¢er_y); angle = atan2(gmap->last_y - center_y, gmap->last_x - center_x); idx = (gint) (floor(-angle / 2.0 / M_PI * 6 + 0.5) + 6) % 6; return hex->edges[idx]; } else { return NULL; } } /** Finds the closest edge to the last known cursor position. * @param gmap The GuiMap containing the edge. * @param[out] element The MapElement to return the edge in. */ static void find_edge(GuiMap * gmap, MapElement * element) { element->edge = guimap_get_current_edge(gmap); } /** Finds the closest node to the last known cursor position. * @param gmap The GuiMap containing the node. * @return The closest node. */ Node *guimap_get_current_node(GuiMap * gmap) { Hex *hex = guimap_get_current_hex(gmap); if (hex) { gint center_x; gint center_y; gdouble angle; gint idx; calc_hex_pos(gmap, hex->x, hex->y, ¢er_x, ¢er_y); angle = atan2(gmap->last_y - center_y, gmap->last_x - center_x); idx = (gint) (floor(-angle / 2.0 / M_PI * 6) + 6) % 6; return hex->nodes[idx]; } return NULL; } /** Finds the closest node to the last known cursor position. * @param gmap The GuiMap containing the node. * @param[out] element The MapElement to return the node in. */ static void find_node(GuiMap * gmap, MapElement * element) { element->node = guimap_get_current_node(gmap); } /** Finds the closest hex to the last known cursor position. * @param gmap The GuiMap containing the hex. * @return The closest hex. */ Hex *guimap_get_current_hex(GuiMap * gmap) { gint x_hex; gint y_hex; reverse_calc_hex_pos(gmap, gmap->last_x, gmap->last_y, &x_hex, &y_hex); return map_hex(gmap->map, x_hex, y_hex); } /** Finds the closest hex to the last known cursor position. * @param gmap The GuiMap containing the hex. * @param[out] element The MapElement to return the hex in. */ static void find_hex(GuiMap * gmap, MapElement * element) { element->hex = guimap_get_current_hex(gmap); } void guimap_draw_edge(GuiMap * gmap, const Edge * edge) { GdkRectangle rect; guint idx; Polygon poly; GdkPoint points[MAX_POINTS]; g_return_if_fail(edge != NULL); g_return_if_fail(gmap->surface != NULL); poly.num_points = G_N_ELEMENTS(points); poly.points = points; calc_edge_poly(gmap, edge, &largest_edge_poly, &poly); poly_bound_rect(&poly, 1, &rect); gdk_cairo_set_source_pixbuf(gmap->cr, theme_get_current()->terrain_tiles [BOARD_TILE], 0, 0); cairo_pattern_set_extend(cairo_get_source(gmap->cr), CAIRO_EXTEND_REPEAT); cairo_rectangle(gmap->cr, rect.x, rect.y, rect.width, rect.height); cairo_fill(gmap->cr); for (idx = 0; idx < G_N_ELEMENTS(edge->hexes); idx++) if (edge->hexes[idx] != NULL) display_hex(edge->hexes[idx], gmap); gdk_window_invalidate_rect(gtk_widget_get_window(gmap->area), &rect, FALSE); } static void draw_cursor(GuiMap * gmap, gint owner, const Polygon * poly) { GdkRectangle rect; g_return_if_fail(gmap->cursor.pointer != NULL); cairo_set_line_width(gmap->cr, 3.0); gdk_cairo_set_source_color(gmap->cr, colors_get_player(owner)); poly_draw_with_border(gmap->cr, &green, poly); poly_bound_rect(poly, 1, &rect); gdk_window_invalidate_rect(gtk_widget_get_window(gmap->area), &rect, FALSE); } static void erase_edge_cursor(GuiMap * gmap) { g_return_if_fail(gmap->cursor.pointer != NULL); guimap_draw_edge(gmap, gmap->cursor.edge); } static void draw_road_cursor(GuiMap * gmap) { GdkPoint points[MAX_POINTS]; Polygon poly; g_return_if_fail(gmap->cursor.pointer != NULL); poly.points = points; poly.num_points = G_N_ELEMENTS(points); guimap_road_polygon(gmap, gmap->cursor.edge, &poly); draw_cursor(gmap, gmap->cursor_owner, &poly); } static void draw_ship_cursor(GuiMap * gmap) { GdkPoint points[MAX_POINTS]; Polygon poly; g_return_if_fail(gmap->cursor.pointer != NULL); poly.points = points; poly.num_points = G_N_ELEMENTS(points); guimap_ship_polygon(gmap, gmap->cursor.edge, &poly); draw_cursor(gmap, gmap->cursor_owner, &poly); } static void draw_bridge_cursor(GuiMap * gmap) { GdkPoint points[MAX_POINTS]; Polygon poly; g_return_if_fail(gmap->cursor.pointer != NULL); poly.points = points; poly.num_points = G_N_ELEMENTS(points); guimap_bridge_polygon(gmap, gmap->cursor.edge, &poly); draw_cursor(gmap, gmap->cursor_owner, &poly); } void guimap_draw_node(GuiMap * gmap, const Node * node) { GdkRectangle rect; guint idx; Polygon poly; GdkPoint points[MAX_POINTS]; g_return_if_fail(node != NULL); g_return_if_fail(gmap->surface != NULL); poly.num_points = G_N_ELEMENTS(points); poly.points = points; calc_node_poly(gmap, node, &largest_node_poly, &poly); poly_bound_rect(&poly, 1, &rect); gdk_cairo_set_source_pixbuf(gmap->cr, theme_get_current()->terrain_tiles [BOARD_TILE], 0, 0); cairo_pattern_set_extend(cairo_get_source(gmap->cr), CAIRO_EXTEND_REPEAT); cairo_rectangle(gmap->cr, rect.x, rect.y, rect.width, rect.height); cairo_fill(gmap->cr); for (idx = 0; idx < G_N_ELEMENTS(node->hexes); idx++) if (node->hexes[idx] != NULL) display_hex(node->hexes[idx], gmap); gdk_window_invalidate_rect(gtk_widget_get_window(gmap->area), &rect, FALSE); } static void erase_node_cursor(GuiMap * gmap) { g_return_if_fail(gmap->cursor.pointer != NULL); guimap_draw_node(gmap, gmap->cursor.node); } static void draw_settlement_cursor(GuiMap * gmap) { GdkPoint points[MAX_POINTS]; Polygon poly; g_return_if_fail(gmap->cursor.pointer != NULL); poly.points = points; poly.num_points = G_N_ELEMENTS(points); guimap_settlement_polygon(gmap, gmap->cursor.node, &poly); draw_cursor(gmap, gmap->cursor_owner, &poly); } static void draw_city_cursor(GuiMap * gmap) { GdkPoint points[MAX_POINTS]; Polygon poly; g_return_if_fail(gmap->cursor.pointer != NULL); poly.points = points; poly.num_points = G_N_ELEMENTS(points); guimap_city_polygon(gmap, gmap->cursor.node, &poly); draw_cursor(gmap, gmap->cursor_owner, &poly); } static void draw_city_wall_cursor(GuiMap * gmap) { GdkPoint points[MAX_POINTS]; Polygon poly; g_return_if_fail(gmap->cursor.pointer != NULL); poly.points = points; poly.num_points = G_N_ELEMENTS(points); guimap_city_wall_polygon(gmap, gmap->cursor.node, &poly); draw_cursor(gmap, gmap->cursor_owner, &poly); poly.points = points; poly.num_points = G_N_ELEMENTS(points); guimap_city_polygon(gmap, gmap->cursor.node, &poly); draw_cursor(gmap, gmap->cursor_owner, &poly); } static void draw_steal_building_cursor(GuiMap * gmap) { GdkPoint points[MAX_POINTS]; Polygon poly; const Node *node; g_return_if_fail(gmap->cursor.pointer != NULL); poly.points = points; poly.num_points = G_N_ELEMENTS(points); node = gmap->cursor.node; switch (node->type) { case BUILD_SETTLEMENT: guimap_settlement_polygon(gmap, node, &poly); draw_cursor(gmap, node->owner, &poly); break; case BUILD_CITY: guimap_city_polygon(gmap, node, &poly); draw_cursor(gmap, node->owner, &poly); break; default: g_assert_not_reached(); break; } } static void draw_steal_ship_cursor(GuiMap * gmap) { GdkPoint points[MAX_POINTS]; Polygon poly; const Edge *edge; g_return_if_fail(gmap->cursor.pointer != NULL); poly.points = points; poly.num_points = G_N_ELEMENTS(points); edge = gmap->cursor.edge; switch (edge->type) { case BUILD_SHIP: guimap_ship_polygon(gmap, edge, &poly); draw_cursor(gmap, edge->owner, &poly); break; default: g_assert_not_reached(); break; } } static void erase_robber_cursor(GuiMap * gmap) { const Hex *hex = gmap->cursor.hex; GdkPoint points[MAX_POINTS]; Polygon poly; GdkRectangle rect; if (hex == NULL) return; poly.points = points; poly.num_points = G_N_ELEMENTS(points); if (hex->terrain == SEA_TERRAIN) guimap_pirate_polygon(gmap, hex, &poly); else guimap_robber_polygon(gmap, hex, &poly); poly_bound_rect(&poly, 1, &rect); display_hex(hex, gmap); gdk_window_invalidate_rect(gtk_widget_get_window(gmap->area), &rect, FALSE); } static void draw_robber_cursor(GuiMap * gmap) { const Hex *hex = gmap->cursor.hex; GdkPoint points[MAX_POINTS]; Polygon poly; GdkRectangle rect; if (hex == NULL) return; poly.points = points; poly.num_points = G_N_ELEMENTS(points); if (hex->terrain == SEA_TERRAIN) guimap_pirate_polygon(gmap, hex, &poly); else guimap_robber_polygon(gmap, hex, &poly); poly_bound_rect(&poly, 1, &rect); cairo_set_line_width(gmap->cr, 2.0); gdk_cairo_set_source_color(gmap->cr, &green); poly_draw(gmap->cr, FALSE, &poly); gdk_window_invalidate_rect(gtk_widget_get_window(gmap->area), &rect, FALSE); } static gboolean highlight_chits(const Hex * hex, gpointer closure) { HighlightInfo *highlight_info = closure; GuiMap *gmap = highlight_info->gmap; GdkPoint points[6]; Polygon poly; gint x_offset, y_offset; GdkRectangle rect; if (hex->roll != highlight_info->old_highlight && hex->roll != gmap->highlight_chit) return FALSE; display_hex(hex, gmap); poly.points = points; poly.num_points = G_N_ELEMENTS(points); get_hex_polygon(gmap, &poly); calc_hex_pos(gmap, hex->x, hex->y, &x_offset, &y_offset); poly_offset(&poly, x_offset, y_offset); poly_bound_rect(&poly, 1, &rect); gdk_window_invalidate_rect(gtk_widget_get_window(gmap->area), &rect, FALSE); return FALSE; } void guimap_highlight_chits(GuiMap * gmap, gint roll) { HighlightInfo closure; if (roll == gmap->highlight_chit) return; closure.gmap = gmap; closure.old_highlight = gmap->highlight_chit; gmap->highlight_chit = roll; if (gmap->surface != NULL) map_traverse_const(gmap->map, highlight_chits, &closure); } void guimap_draw_hex(GuiMap * gmap, const Hex * hex) { GdkPoint points[MAX_POINTS]; Polygon poly; GdkRectangle rect; gint x_offset, y_offset; if (hex == NULL) return; display_hex(hex, gmap); poly.points = points; poly.num_points = G_N_ELEMENTS(points); get_hex_polygon(gmap, &poly); calc_hex_pos(gmap, hex->x, hex->y, &x_offset, &y_offset); poly_offset(&poly, x_offset, y_offset); poly_bound_rect(&poly, 1, &rect); gdk_window_invalidate_rect(gtk_widget_get_window(gmap->area), &rect, FALSE); } typedef struct { void (*find) (GuiMap * gmap, MapElement * element); void (*erase_cursor) (GuiMap * gmap); void (*draw_cursor) (GuiMap * gmap); } ModeCursor; /* This array must follow the enum CursorType */ static ModeCursor cursors[] = { {NULL, NULL, NULL}, /* NO_CURSOR */ {find_edge, erase_edge_cursor, draw_road_cursor}, /* ROAD_CURSOR */ {find_edge, erase_edge_cursor, draw_ship_cursor}, /* SHIP_CURSOR */ {find_edge, erase_edge_cursor, draw_bridge_cursor}, /* BRIDGE_CURSOR */ {find_node, erase_node_cursor, draw_settlement_cursor}, /* SETTLEMENT_CURSOR */ {find_node, erase_node_cursor, draw_city_cursor}, /* CITY_CURSOR */ {find_node, erase_node_cursor, draw_city_wall_cursor}, /* CITY_WALL_CURSOR */ {find_node, erase_node_cursor, draw_steal_building_cursor}, /* STEAL_BUILDING_CURSOR */ {find_edge, erase_edge_cursor, draw_steal_ship_cursor}, /* STEAL_SHIP_CURSOR */ {find_hex, erase_robber_cursor, draw_robber_cursor} /* ROBBER_CURSOR */ }; gboolean roadM, shipM, bridgeM, settlementM, cityM, cityWallM, shipMoveM; CheckFunc roadF, shipF, bridgeF, settlementF, cityF, cityWallF, shipMoveF; SelectFunc roadS, shipS, bridgeS, settlementS, cityS, cityWallS, shipMoveS; CancelFunc shipMoveC; /** Calculate the distance between the element and the last known position * of the cursor. * @param gmap The GuiMap * @param element A MapElement * @param type The type of the MapElement * @return The square of the distance */ gint guimap_distance_cursor(const GuiMap * gmap, const MapElement * element, MapElementType type) { static GdkPoint single_point = { 0, 0 }; static const Polygon simple_poly = { &single_point, 1 }; GdkPoint translated_point; Polygon poly; poly.num_points = 1; poly.points = &translated_point; switch (type) { case MAP_EDGE: calc_edge_poly(gmap, element->edge, &simple_poly, &poly); break; case MAP_NODE: calc_node_poly(gmap, element->node, &simple_poly, &poly); break; case MAP_HEX: calc_hex_poly(gmap, element->hex, &simple_poly, &poly, 120.0, 0); break; } return sqr(gmap->last_x - poly.points[0].x) + sqr(gmap->last_y - poly. points[0].y); } void guimap_cursor_move(GuiMap * gmap, MapElement * element) { ModeCursor *mode; if (single_click_build_active) { MapElement dummyElement; gboolean can_build_road = FALSE; gboolean can_build_ship = FALSE; gboolean can_build_bridge = FALSE; gboolean can_build_settlement = FALSE; gboolean can_build_city = FALSE; gboolean can_build_city_wall = FALSE; gboolean can_move_ship = FALSE; gboolean can_build_edge = FALSE; gboolean can_build_node = FALSE; gint distance_edge = 0; gint distance_node = 0; dummyElement.pointer = NULL; find_edge(gmap, element); if (element->pointer) { can_build_road = (roadM && roadF(*element, gmap->player_num, dummyElement)); can_build_ship = (shipM && shipF(*element, gmap->player_num, dummyElement)); can_build_bridge = (bridgeM && bridgeF(*element, gmap->player_num, dummyElement)); can_move_ship = (shipMoveM && shipMoveF(*element, gmap->player_num, dummyElement)); /* When both a road and a ship can be built, * build a road when the cursor is over land, * build a ship when the cursor is over sea */ if (can_build_road && can_build_ship) { MapElement hex1, hex2; gint distance1, distance2; hex1.hex = element->edge->hexes[0]; hex2.hex = element->edge->hexes[1]; distance1 = guimap_distance_cursor(gmap, &hex1, MAP_HEX); distance2 = guimap_distance_cursor(gmap, &hex2, MAP_HEX); if (distance1 == distance2) can_build_ship = FALSE; else { if (distance2 < distance1) hex1.hex = hex2.hex; if (hex1.hex->terrain == SEA_TERRAIN) can_build_road = FALSE; else can_build_ship = FALSE; } } /* When both a ship and a bridge can be built, * divide the edge in four segments. * The two segments near the nodes are for the * bridge (the pillars). * The two segments in the middle are for the * ship (open sea). */ if (can_build_ship && can_build_bridge) { MapElement node1, node2; gint distanceNode, distanceEdge; node1.node = element->edge->nodes[0]; node2.node = element->edge->nodes[1]; distanceNode = MIN(guimap_distance_cursor (gmap, &node1, MAP_NODE), guimap_distance_cursor(gmap, &node2, MAP_NODE)); distanceEdge = guimap_distance_cursor(gmap, element, MAP_EDGE); if (distanceNode < distanceEdge) can_build_ship = FALSE; else can_build_bridge = FALSE; } can_build_edge = can_build_road || can_build_ship || can_build_bridge || can_move_ship; if (can_build_edge) distance_edge = guimap_distance_cursor(gmap, element, MAP_EDGE); } find_node(gmap, element); if (element->pointer) { can_build_settlement = (settlementM && settlementF(*element, gmap-> player_num, dummyElement)); can_build_city = (cityM && cityF(*element, gmap->player_num, dummyElement)); can_build_city_wall = (cityWallM && cityWallF(*element, gmap-> player_num, dummyElement)); can_build_node = can_build_settlement || can_build_city || can_build_city_wall; if (can_build_node) distance_node = guimap_distance_cursor(gmap, element, MAP_NODE); } /* When both edge and node can be built, * build closest to the cursor. * When equidistant, prefer the node. */ if (can_build_edge && can_build_node) { if (can_build_bridge) { /* Prefer bridge over node */ can_build_node = FALSE; } else if (distance_node <= distance_edge) { can_build_edge = FALSE; } else { can_build_node = FALSE; } } /* Prefer the most special road segment, if possible */ if (can_build_bridge && can_build_edge) guimap_cursor_set(gmap, BRIDGE_CURSOR, gmap->player_num, bridgeF, bridgeS, NULL, NULL, TRUE); else if (can_build_ship && can_build_edge) guimap_cursor_set(gmap, SHIP_CURSOR, gmap->player_num, shipF, shipS, NULL, NULL, TRUE); else if (can_build_road && can_build_edge) guimap_cursor_set(gmap, ROAD_CURSOR, gmap->player_num, roadF, roadS, NULL, NULL, TRUE); else if (can_build_settlement && can_build_node) guimap_cursor_set(gmap, SETTLEMENT_CURSOR, gmap->player_num, settlementF, settlementS, NULL, NULL, TRUE); else if (can_build_city && can_build_node) guimap_cursor_set(gmap, CITY_CURSOR, gmap->player_num, cityF, cityS, NULL, NULL, TRUE); else if (can_build_city_wall && can_build_node) guimap_cursor_set(gmap, CITY_WALL_CURSOR, gmap->player_num, cityWallF, cityWallS, NULL, NULL, TRUE); else if (can_move_ship && can_build_edge) guimap_cursor_set(gmap, SHIP_CURSOR, gmap->player_num, shipMoveF, shipMoveS, NULL, NULL, TRUE); else guimap_cursor_set(gmap, NO_CURSOR, gmap->player_num, NULL, NULL, NULL, NULL, TRUE); } if (gmap->cursor_type == NO_CURSOR) { element->pointer = NULL; return; } mode = cursors + gmap->cursor_type; mode->find(gmap, element); if (element->pointer != gmap->cursor.pointer) { if (gmap->cursor.pointer != NULL) mode->erase_cursor(gmap); if (gmap->check_func == NULL || (element->pointer != NULL && gmap->check_func(*element, gmap->cursor_owner, gmap->user_data))) { gmap->cursor = *element; mode->draw_cursor(gmap); } else { gmap->cursor.pointer = NULL; } } } /** Select the active cursor */ void guimap_cursor_select(GuiMap * gmap) { MapElement cursor; SelectFunc check_select; MapElement user_data; guimap_cursor_move(gmap, &cursor); if (cursor.pointer == NULL) return; if (gmap->check_func != NULL && !gmap->check_func(cursor, gmap->cursor_owner, gmap->user_data)) { if (gmap->check_cancel != NULL) gmap->check_cancel(); return; } if (gmap->check_select != NULL) { /* Before processing the select, clear the cursor */ check_select = gmap->check_select; user_data.pointer = gmap->user_data.pointer; if (gmap->cursor.pointer != NULL) cursors[gmap->cursor_type].erase_cursor(gmap); gmap->cursor_owner = -1; gmap->check_func = NULL; gmap->cursor_type = NO_CURSOR; gmap->cursor.pointer = NULL; gmap->user_data.pointer = NULL; gmap->check_select = NULL; check_select(cursor, user_data); } } void guimap_cursor_set(GuiMap * gmap, CursorType cursor_type, gint owner, CheckFunc check_func, SelectFunc check_select, CancelFunc cancel_func, const MapElement * user_data, gboolean set_by_single_click) { single_click_build_active = set_by_single_click; if (cursor_type != NO_CURSOR) g_assert(owner >= 0); if (gmap->check_cancel != NULL) gmap->check_cancel(); gmap->cursor_owner = owner; gmap->check_func = check_func; gmap->check_select = check_select; gmap->check_cancel = cancel_func; if (user_data != NULL) { gmap->user_data.pointer = user_data->pointer; } else { gmap->user_data.pointer = NULL; } if (cursor_type == gmap->cursor_type) return; if (gmap->cursor.pointer != NULL) { g_assert(gmap->cursor_type != NO_CURSOR); cursors[gmap->cursor_type].erase_cursor(gmap); } gmap->cursor_type = cursor_type; gmap->cursor.pointer = NULL; } void guimap_single_click_set_functions(CheckFunc road_check_func, SelectFunc road_select_func, CheckFunc ship_check_func, SelectFunc ship_select_func, CheckFunc bridge_check_func, SelectFunc bridge_select_func, CheckFunc settlement_check_func, SelectFunc settlement_select_func, CheckFunc city_check_func, SelectFunc city_select_func, CheckFunc city_wall_check_func, SelectFunc city_wall_select_func, CheckFunc ship_move_check_func, SelectFunc ship_move_select_func, CancelFunc ship_move_cancel_func) { roadF = road_check_func; roadS = road_select_func; shipF = ship_check_func; shipS = ship_select_func; bridgeF = bridge_check_func; bridgeS = bridge_select_func; settlementF = settlement_check_func; settlementS = settlement_select_func; cityF = city_check_func; cityS = city_select_func; cityWallF = city_wall_check_func; cityWallS = city_wall_select_func; shipMoveF = ship_move_check_func; shipMoveS = ship_move_select_func; shipMoveC = ship_move_cancel_func; single_click_build_active = TRUE; } void guimap_single_click_set_road_mask(gboolean mask) { roadM = mask; } void guimap_single_click_set_ship_mask(gboolean mask) { shipM = mask; } void guimap_single_click_set_bridge_mask(gboolean mask) { bridgeM = mask; } void guimap_single_click_set_settlement_mask(gboolean mask) { settlementM = mask; } void guimap_single_click_set_city_mask(gboolean mask) { cityM = mask; } void guimap_single_click_set_city_wall_mask(gboolean mask) { cityWallM = mask; } void guimap_single_click_set_ship_move_mask(gboolean mask) { shipMoveM = mask; } void guimap_set_show_no_setup_nodes(GuiMap * gmap, gboolean show) { gboolean old_show = gmap->show_nosetup_nodes; gmap->show_nosetup_nodes = show; if (old_show != show) { /* Repaint and redraw the map */ guimap_display(gmap); if (gmap->area) gtk_widget_queue_draw(gmap->area); } } pioneers-15.5/common/gtk/scrollable-text-view.gob.stamp0000644000175000017500000000000013252243607020150 00000000000000pioneers-15.5/common/gtk/aboutbox.c0000644000175000017500000000417213252223516014262 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 2015 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ /* * Common code for displaying an about box. * */ #include "config.h" #include #include #include "aboutbox.h" #include "authors.h" /* defines AUTHORLIST, as a char **, NULL-ended */ #include "version.h" void aboutbox_display(GtkWindow * parent, const gchar * title) { GdkPixbuf *logo; gchar *filename; const gchar *authors[] = { AUTHORLIST }; filename = g_build_filename(DATADIR, "pixmaps", "pioneers", "splash.png", NULL); logo = gdk_pixbuf_new_from_file(filename, NULL); g_free(filename); /* *INDENT-OFF* */ gtk_show_about_dialog( parent, "authors", authors, "comments", _("Pioneers is based upon the excellent\n" "Settlers of Catan board game.\n"), // "copyright", _("Copyright \xc2\xa9 2002 the Free Software Foundation"), "license-type", GTK_LICENSE_GPL_2_0, "logo", logo, "title", title, /* Translators: add your name here. Keep the list * alphabetically, do not remove any names, and add * \n after your name (except the last name). */ "translator-credits", _("translator-credits"), "version", FULL_VERSION, "website", "http://pio.sourceforge.net", "website-label", "pio.sourceforge.net", NULL); /* *INDENT-ON* */ if (logo) g_object_unref(logo); } pioneers-15.5/common/gtk/game-settings.c0000644000175000017500000001760312532372026015212 00000000000000/* A custom widget for adjusting the game settings. * * The code is based on the TICTACTOE example * www.gtk.org/tutorial/app-codeexamples.html#SEC-TICTACTOE * * Adaptation for Pioneers: 2004 Roland Clobus * */ #include "config.h" #include #include #include "game-settings.h" #include "game.h" /* The signals */ enum { CHANGE, CHANGE_PLAYERS, CHECK, LAST_SIGNAL }; static void game_settings_class_init(GameSettingsClass * klass); static void game_settings_init(GameSettings * sg); static void game_settings_change_players(GtkSpinButton * widget, GameSettings * gs); static void game_settings_change_victory_points(GtkSpinButton * widget, GameSettings * gs); static void game_settings_check(GtkButton * widget, GameSettings * gs); static void game_settings_update(GameSettings * gs); /* All signals */ static guint game_settings_signals[LAST_SIGNAL] = { 0, 0 }; /* Register the class */ GType game_settings_get_type(void) { static GType gs_type = 0; if (!gs_type) { static const GTypeInfo gs_info = { sizeof(GameSettingsClass), NULL, /* base_init */ NULL, /* base_finalize */ (GClassInitFunc) game_settings_class_init, NULL, /* class_finalize */ NULL, /* class_data */ sizeof(GameSettings), 0, (GInstanceInitFunc) game_settings_init, NULL }; gs_type = g_type_register_static(GTK_TYPE_TABLE, "GameSettings", &gs_info, 0); } return gs_type; } /* Register the signals. * GameSettings will emit two signals: * 'change' when any change to one of the controls occurs. * 'change-players' when the amount of player has changed. */ static void game_settings_class_init(GameSettingsClass * klass) { game_settings_signals[CHANGE] = g_signal_new("change", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION, G_STRUCT_OFFSET (GameSettingsClass, change), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); game_settings_signals[CHANGE_PLAYERS] = g_signal_new("change-players", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION, G_STRUCT_OFFSET(GameSettingsClass, change_players), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); game_settings_signals[CHECK] = g_signal_new("check", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION, G_STRUCT_OFFSET(GameSettingsClass, check), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); } /* Build the composite widget */ static void game_settings_init(GameSettings * gs) { GtkWidget *label; GtkWidget *hbox; GtkAdjustment *adj; gtk_table_resize(GTK_TABLE(gs), 4, 2); gtk_table_set_row_spacings(GTK_TABLE(gs), 3); gtk_table_set_col_spacings(GTK_TABLE(gs), 5); /* Label text for customising a game */ label = gtk_label_new(_("Number of players")); gtk_widget_show(label); gtk_table_attach(GTK_TABLE(gs), label, 0, 1, 1, 2, GTK_FILL, GTK_FILL, 0, 0); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5f); adj = GTK_ADJUSTMENT(gtk_adjustment_new(0, 2, MAX_PLAYERS, 1, 4, 0)); gs->players_spin = gtk_spin_button_new(GTK_ADJUSTMENT(adj), 1, 0); gtk_entry_set_alignment(GTK_ENTRY(gs->players_spin), 1.0); gtk_widget_show(gs->players_spin); gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(gs->players_spin), TRUE); gtk_table_attach(GTK_TABLE(gs), gs->players_spin, 1, 2, 1, 2, GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0); g_signal_connect(G_OBJECT(gs->players_spin), "value-changed", G_CALLBACK(game_settings_change_players), gs); gtk_widget_set_tooltip_text(gs->players_spin, /* Tooltip for 'Number of Players' */ _("The number of players")); /* Label for customising a game */ label = gtk_label_new(_("Victory point target")); gtk_widget_show(label); gtk_table_attach(GTK_TABLE(gs), label, 0, 1, 2, 3, GTK_FILL, GTK_FILL, 0, 0); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5f); hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 3); adj = GTK_ADJUSTMENT(gtk_adjustment_new(10, 3, 99, 1, 5, 0)); gs->victory_spin = gtk_spin_button_new(GTK_ADJUSTMENT(adj), 1, 0); gtk_entry_set_alignment(GTK_ENTRY(gs->victory_spin), 1.0); gtk_widget_show(gs->victory_spin); gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(gs->victory_spin), TRUE); gtk_box_pack_start(GTK_BOX(hbox), gs->victory_spin, TRUE, TRUE, 0); g_signal_connect(G_OBJECT(gs->victory_spin), "value-changed", G_CALLBACK(game_settings_change_victory_points), gs); gtk_widget_set_tooltip_text(gs->victory_spin, /* Tooltip for Victory Point Target */ _("" "The points needed to win the game")); gs->check_button = gtk_button_new(); gtk_button_set_image(GTK_BUTTON(gs->check_button), gtk_image_new_from_icon_name ("pioneers-checkmark", GTK_ICON_SIZE_BUTTON)); gtk_widget_show(gs->check_button); gtk_box_pack_start(GTK_BOX(hbox), gs->check_button, FALSE, FALSE, 0); g_signal_connect(G_OBJECT(gs->check_button), "clicked", G_CALLBACK(game_settings_check), gs); gtk_widget_set_tooltip_text(gs->check_button, /* Tooltip for the check button */ _("Is it possible to win this game?")); gtk_table_attach(GTK_TABLE(gs), hbox, 1, 2, 2, 3, GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0); gtk_widget_show(hbox); gs->players = 4; gs->victory_points = 10; game_settings_update(gs); } /* Create a new instance of the widget */ GtkWidget *game_settings_new(gboolean with_check_button) { GtkWidget *widget = GTK_WIDGET(g_object_new(game_settings_get_type(), NULL)); if (with_check_button) gtk_widget_show(GAMESETTINGS(widget)->check_button); else gtk_widget_hide(GAMESETTINGS(widget)->check_button); return widget; } /* Emits 'change-players' when the number of players has changed */ static void game_settings_change_players(GtkSpinButton * widget, GameSettings * gs) { gs->players = (guint) gtk_spin_button_get_value_as_int(widget); game_settings_update(gs); g_signal_emit(G_OBJECT(gs), game_settings_signals[CHANGE_PLAYERS], 0); g_signal_emit(G_OBJECT(gs), game_settings_signals[CHANGE], 0); } /* Callback when the points needed to win have changed */ static void game_settings_change_victory_points(GtkSpinButton * widget, GameSettings * gs) { gs->victory_points = (guint) gtk_spin_button_get_value_as_int(widget); game_settings_update(gs); g_signal_emit(G_OBJECT(gs), game_settings_signals[CHANGE], 0); } /* Set the number of players */ void game_settings_set_players(GameSettings * gs, guint players) { gs->players = players; game_settings_update(gs); } /* Get the number of players */ guint game_settings_get_players(GameSettings * gs) { return gs->players; } /* Set the points needed to win */ void game_settings_set_victory_points(GameSettings * gs, guint victory_points) { gs->victory_points = victory_points; game_settings_update(gs); } /* Get the points needed to win */ guint game_settings_get_victory_points(GameSettings * gs) { return gs->victory_points; } static void game_settings_check(G_GNUC_UNUSED GtkButton * widget, GameSettings * gs) { g_signal_emit(G_OBJECT(gs), game_settings_signals[CHECK], 0); } /* Update the display to the current state */ static void game_settings_update(GameSettings * gs) { /* Disable signals, to avoid recursive updates */ g_signal_handlers_block_matched(G_OBJECT(gs->players_spin), G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, gs); g_signal_handlers_block_matched(G_OBJECT(gs->victory_spin), G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, gs); gtk_spin_button_set_value(GTK_SPIN_BUTTON(gs->players_spin), gs->players); gtk_spin_button_set_value(GTK_SPIN_BUTTON(gs->victory_spin), gs->victory_points); /* Reenable the signals */ g_signal_handlers_unblock_matched(G_OBJECT(gs->players_spin), G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, gs); g_signal_handlers_unblock_matched(G_OBJECT(gs->victory_spin), G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, gs); } pioneers-15.5/common/gtk/colors.h0000644000175000017500000000225111523321540013734 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef __colors_h #define __colors_h #include extern GdkColor black; extern GdkColor white; extern GdkColor red; extern GdkColor green; extern GdkColor blue; extern GdkColor lightblue; extern GdkColor ck_die_red; extern GdkColor ck_die_yellow; void colors_init(void); GdkColor *colors_get_player(gint player_num); #endif pioneers-15.5/common/gtk/player-icon.h0000644000175000017500000000570612736760141014700 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 2007 Giancarlo Capella * Copyright (C) 2007 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef __playericon_h #define __playericon_h #include /** Initialize the player icons */ void playericon_init(void); guint playericon_human_style_count(void); /** Create an icon to represent a player. * @param style The style of the icon * @param color The base color of the player * @param spectator TRUE if a spectator icon is requested * @param connected Is the player currently connected * @param width The width * @param height The height * @return The icon for the player. Call cairo_surface_destroy() * when not needed anymore. */ cairo_surface_t *playericon_create_icon(const gchar * style, GdkColor * color, gboolean spectator, gboolean connected, gdouble width, gdouble height); /** Create a style string for the player. * @param face_color The color of the face * @param variant The variant * @param variant_color The color of the variant * @return The style string. Call g_free() when not needed anymore. */ gchar *playericon_create_human_style(const GdkColor * face_color, gint variant, const GdkColor * variant_color); /** Parse the style string in its components. * @param style The style * @retval face_color The color of the face * @retval variant The variant * @retval variant_color The color of the variant * @return TRUE if the style could be parsed. When FALSE, the return values contain the default values */ gboolean playericon_parse_human_style(const gchar * style, GdkColor * face_color, guint * variant, GdkColor * variant_color); /** Convert a string to a color. * The color is allocated in the system colormap. * @param spec The name of the color * @retval color The color * @return TRUE if the conversion succeeded. */ gboolean string_to_color(const gchar * spec, GdkColor * color); /** Convert a color to a string. * After use, the string must be freed with g_free() * @param color The color * @return the string */ gchar *color_to_string(GdkColor color); #endif pioneers-15.5/common/notifying-string.gob0000644000175000017500000000063411611553240015505 00000000000000requires 2.0.0 class Notifying:String from G:Object { private gchar *value = { NULL } destroywith g_free; signal last NONE(NONE) void changed(self) { } public GObject *new(void) { return (GObject *) GET_NEW; } public void set(self, const gchar * value) { self->_priv->value = g_strdup(value); self_changed(self); } public gchar *get(self) { return g_strdup(self->_priv->value); } } pioneers-15.5/common/state.c0000644000175000017500000002723113252223516012773 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003, 2006 Bas Wijnen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include #include #include #include #include #include #include "game.h" #include "log.h" #include "state.h" #include "network.h" struct StateMachine { gpointer user_data; /* parameter for mode functions */ /* FIXME RC 2004-11-13 in practice: * it is NULL or a Player* * the value is set by sm_new. * Why? Can the player not be bound to a * StateMachine otherwise? */ StateFunc global; /* global state - test after current state */ StateFunc unhandled; /* global state - process unhandled states */ StateFunc stack[16]; /* handle sm_push() to save context */ const gchar *stack_name[16]; /* state names used for a stack dump */ gint stack_ptr; /* stack index */ const gchar *current_state; /* name of current state */ gchar *line; /* line passed in from network event */ size_t line_offset; /* line prefix handling */ Session *ses; /* network session feeding state machine */ gint use_count; /* # functions is in use by */ gboolean is_dead; /* is this machine waiting to be killed? */ gboolean use_cache; /* cache the data that is sent */ GList *cache; /* cache for the delayed data */ }; static void route_event(StateMachine * sm, gint event); void sm_inc_use_count(StateMachine * sm) { sm->use_count++; } void sm_dec_use_count(StateMachine * sm) { if (!--sm->use_count && sm->is_dead) sm_free(sm); } const gchar *sm_current_name(StateMachine * sm) { return sm->current_state; } void sm_state_name(StateMachine * sm, const gchar * name) { sm->current_state = name; sm->stack_name[sm->stack_ptr] = name; } gboolean sm_is_connected(StateMachine * sm) { return sm->ses != NULL && net_connected(sm->ses); } static void route_event(StateMachine * sm, gint event) { StateFunc curr_state; gpointer user_data; if (sm->stack_ptr >= 0) curr_state = sm_current(sm); else curr_state = NULL; user_data = sm->user_data; if (user_data == NULL) user_data = sm; /* send death notification even when dead */ if (event == SM_FREE) { /* send death notifications only to global handler */ if (sm->global !=NULL) sm->global (user_data, event); return; } if (sm->is_dead) return; switch (event) { case SM_ENTER: if (curr_state != NULL) curr_state(user_data, event); break; case SM_INIT: if (curr_state != NULL) curr_state(user_data, event); if (!sm->is_dead && sm->global !=NULL) sm->global (user_data, event); break; case SM_RECV: sm_cancel_prefix(sm); if (curr_state != NULL && curr_state(user_data, event)) break; sm_cancel_prefix(sm); if (!sm->is_dead && sm->global !=NULL && sm->global (user_data, event)) break; sm_cancel_prefix(sm); if (!sm->is_dead && sm->unhandled != NULL) sm->unhandled(user_data, event); break; case SM_NET_CLOSE: sm_close(sm); /* fall through */ default: if (curr_state != NULL) curr_state(user_data, event); if (!sm->is_dead && sm->global !=NULL) sm->global (user_data, event); break; } } void sm_cancel_prefix(StateMachine * sm) { sm->line_offset = 0; } static void net_event(Session * ses, NetEvent event, const gchar * line, gpointer user_data) { StateMachine *sm = (StateMachine *) user_data; g_assert(ses == sm->ses); sm_inc_use_count(sm); switch (event) { case NET_CONNECT: route_event(sm, SM_NET_CONNECT); break; case NET_CONNECT_FAIL: route_event(sm, SM_NET_CONNECT_FAIL); break; case NET_CLOSE: route_event(sm, SM_NET_CLOSE); break; case NET_READ: if (sm->line) g_free(sm->line); sm->line = g_strdup(line); /* Only handle data if there is a context. Fixes bug that * clients starting to send data immediately crash the * server */ if (sm->stack_ptr != -1) route_event(sm, SM_RECV); else { sm_dec_use_count(sm); return; } break; } route_event(sm, SM_INIT); sm_dec_use_count(sm); } gboolean sm_connect(StateMachine * sm, const gchar * host, const gchar * port) { if (sm->ses != NULL) net_free(&(sm->ses)); sm->ses = net_new(net_event, sm); log_message(MSG_INFO, _("Connecting to %s, port %s\n"), host, port); if (net_connect(sm->ses, host, port)) return TRUE; net_free(&(sm->ses)); return FALSE; } void sm_set_session(StateMachine * sm, Session * ses) { sm_inc_use_count(sm); if (sm->ses != NULL) net_free(&(sm->ses)); sm->ses = ses; net_set_notify_func(sm->ses, net_event, sm); sm_dec_use_count(sm); }; gboolean sm_recv(StateMachine * sm, const gchar * fmt, ...) { va_list ap; ssize_t offset; va_start(ap, fmt); offset = game_vscanf(sm->line + sm->line_offset, fmt, ap); va_end(ap); return offset > 0 && sm->line[sm->line_offset + (size_t) offset] == '\0'; } gboolean sm_recv_prefix(StateMachine * sm, const gchar * fmt, ...) { va_list ap; ssize_t offset; va_start(ap, fmt); offset = game_vscanf(sm->line + sm->line_offset, fmt, ap); va_end(ap); if (offset < 0) return FALSE; sm->line_offset += (size_t) offset; return TRUE; } void sm_write(StateMachine * sm, const gchar * str) { if (sm->use_cache) { /* Protect against strange/slow connects */ if (g_list_length(sm->cache) > 1000) { net_write(sm->ses, "ERR connection too slow\n"); net_close(sm->ses); } else { sm->cache = g_list_append(sm->cache, g_strdup(str)); } } else net_write(sm->ses, str); } void sm_write_uncached(StateMachine * sm, const gchar * str) { g_assert(sm->ses); g_assert(sm->use_cache); net_write(sm->ses, str); } void sm_send(StateMachine * sm, const gchar * fmt, ...) { va_list ap; gchar *buff; if (!sm->ses) return; va_start(ap, fmt); buff = game_vprintf(fmt, ap); va_end(ap); sm_write(sm, buff); g_free(buff); } void sm_set_use_cache(StateMachine * sm, gboolean use_cache) { if (sm->use_cache == use_cache) return; if (!use_cache) { /* The cache is turned off, send the delayed data */ GList *list = sm->cache; while (list) { gchar *data = list->data; net_write(sm->ses, data); list = g_list_remove(list, data); g_free(data); } sm->cache = NULL; } else { /* Be sure that the cache is empty */ g_assert(!sm->cache); } sm->use_cache = use_cache; } gboolean sm_get_use_cache(const StateMachine * sm) { return sm->use_cache; } void sm_global_set(StateMachine * sm, StateFunc state) { sm->global = state; } void sm_unhandled_set(StateMachine * sm, StateFunc state) { sm->unhandled = state; } static void push_new_state(StateMachine * sm) { ++sm->stack_ptr; /* check for stack overflows */ if (sm->stack_ptr >= (gint) G_N_ELEMENTS(sm->stack)) { log_message(MSG_ERROR, /* Error message */ _("" "State stack overflow. Stack dump sent to standard error.\n")); sm_stack_dump(sm); g_error("State stack overflow"); } sm->stack[sm->stack_ptr] = NULL; sm->stack_name[sm->stack_ptr] = NULL; } static void do_goto(StateMachine * sm, StateFunc new_state, gboolean enter) { sm_inc_use_count(sm); if (sm->stack_ptr < 0) { /* Wait until the application window is fully * displayed before starting state machine. */ if (driver != NULL && driver->event_queue != NULL) driver->event_queue(); push_new_state(sm); } sm->stack[sm->stack_ptr] = new_state; if (enter) route_event(sm, SM_ENTER); route_event(sm, SM_INIT); #ifdef STACK_DEBUG debug("sm_goto -> %d:%s", sm->stack_ptr, sm->current_state); #endif sm_dec_use_count(sm); } void sm_debug(G_GNUC_UNUSED const gchar * function, G_GNUC_UNUSED const gchar * state) { #ifdef STACK_DEBUG debug("Call %s with %s\n", function, state); #endif } void sm_goto_nomacro(StateMachine * sm, StateFunc new_state) { do_goto(sm, new_state, TRUE); } void sm_goto_noenter_nomacro(StateMachine * sm, StateFunc new_state) { do_goto(sm, new_state, FALSE); } static void do_push(StateMachine * sm, StateFunc new_state, gboolean enter) { sm_inc_use_count(sm); push_new_state(sm); sm->stack[sm->stack_ptr] = new_state; if (enter) route_event(sm, SM_ENTER); route_event(sm, SM_INIT); #ifdef STACK_DEBUG debug("sm_push -> %d:%s (enter=%d)", sm->stack_ptr, sm->current_state, enter); #endif sm_dec_use_count(sm); } void sm_push_nomacro(StateMachine * sm, StateFunc new_state) { do_push(sm, new_state, TRUE); } void sm_push_noenter_nomacro(StateMachine * sm, StateFunc new_state) { do_push(sm, new_state, FALSE); } void sm_pop(StateMachine * sm) { sm_inc_use_count(sm); g_assert(sm->stack_ptr > 0); sm->stack_ptr--; route_event(sm, SM_ENTER); #ifdef STACK_DEBUG debug("sm_pop -> %d:%s", sm->stack_ptr, sm->current_state); #endif route_event(sm, SM_INIT); sm_dec_use_count(sm); } void sm_multipop(StateMachine * sm, gint depth) { sm_inc_use_count(sm); g_assert(sm->stack_ptr >= depth - 1); sm->stack_ptr -= depth; route_event(sm, SM_ENTER); #ifdef STACK_DEBUG debug("sm_multipop -> %d:%s", sm->stack_ptr, sm->current_state); #endif route_event(sm, SM_INIT); sm_dec_use_count(sm); } void sm_pop_all_and_goto(StateMachine * sm, StateFunc new_state) { sm_inc_use_count(sm); sm->stack_ptr = 0; sm->stack[sm->stack_ptr] = new_state; sm->stack_name[sm->stack_ptr] = NULL; route_event(sm, SM_ENTER); route_event(sm, SM_INIT); sm_dec_use_count(sm); } /** Return the state at offset from the top of the stack. * @param sm The StateMachine * @param offset Offset from the top (0=top, 1=previous) * @return The StateFunc, or NULL if the stack contains * less than offset entries */ StateFunc sm_stack_inspect(const StateMachine * sm, guint offset) { if (sm->stack_ptr >= (gint) offset) return sm->stack[(guint) sm->stack_ptr - offset]; else return NULL; } StateFunc sm_current(StateMachine * sm) { g_assert(sm->stack_ptr >= 0); return sm->stack[sm->stack_ptr]; } /* Build a new state machine instance */ StateMachine *sm_new(gpointer user_data) { StateMachine *sm = g_malloc0(sizeof(*sm)); sm->user_data = user_data; sm->stack_ptr = -1; return sm; } /* Free a state machine */ void sm_free(StateMachine * sm) { g_free(sm->line); sm->line = NULL; if (sm->ses != NULL) { net_free(&(sm->ses)); return; } if (sm->use_count > 0) sm->is_dead = TRUE; else { route_event(sm, SM_FREE); g_free(sm); } } void sm_close(StateMachine * sm) { net_free(&(sm->ses)); if (sm->use_cache) { /* Purge the cache */ GList *list = sm->cache; sm->cache = NULL; sm_set_use_cache(sm, FALSE); while (list) { gchar *data = list->data; list = g_list_remove(list, data); g_free(data); } } } void sm_copy_stack(StateMachine * dest, const StateMachine * src) { memcpy(dest->stack, src->stack, sizeof(dest->stack)); memcpy(dest->stack_name, src->stack_name, sizeof(dest->stack_name)); dest->stack_ptr = src->stack_ptr; dest->current_state = src->current_state; } void sm_stack_dump(const StateMachine * sm) { gint sp; fprintf(stderr, "Stack dump for %p\n", (const void *) sm); for (sp = 0; sp <= sm->stack_ptr; ++sp) { fprintf(stderr, "Stack %2d: %s\n", sp, sm->stack_name[sp]); } } pioneers-15.5/common/buildrec.h0000644000175000017500000000506613252223516013453 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef __buildrec_h #define __buildrec_h #include "map.h" /** information about building. Used for undo */ typedef struct { BuildType type; /**< type of building performed */ int x; /**< x-pos of hex of build action */ int y; /**< x-pos of hex of build action */ int pos; /**< location on hex of build action */ BuildType prev_status; /**< build city without settlement only: previous status of node */ const gint *cost; /**< resources spent */ int prev_x; /**< moving ships only: previous x hex */ int prev_y; /**< moving ships only: previous y hex */ int prev_pos; /**< moving ships only: previous position */ /* this is an int, because only the server uses it, and the client * doesn't know about Players. */ int longest_road; /**< who had the longest road before this build */ int special_points_id; /**< Id of the special points or -1 */ } BuildRec; int buildrec_count_type(GList * list, BuildType type); BuildRec *buildrec_get(GList * list, BuildType type, gint idx); BuildRec *buildrec_get_edge(GList * list, gint idx); BuildRec *buildrec_new(BuildType type, gint x, gint y, gint pos); GList *buildrec_free(GList * list); gboolean buildrec_is_valid(GList * list, const Map * map, gint owner); gboolean buildrec_can_setup_road(GList * list, const Edge * edge, gboolean is_double); gboolean buildrec_can_setup_ship(GList * list, const Edge * edge, gboolean is_double); gboolean buildrec_can_setup_settlement(GList * list, const Node * node, gboolean is_double); gboolean buildrec_can_setup_bridge(GList * list, const Edge * edge, gboolean is_double); gint buildrec_count_edges(GList * list); #endif pioneers-15.5/common/version.h0000644000175000017500000000003413252243607013340 00000000000000#define FULL_VERSION "15.5" pioneers-15.5/common/driver.c0000644000175000017500000000205113252223516013137 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 2000 Bibek Sahu * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ /* * Implementation of generic driver-manipulation functions. * Creation of relevant globals. */ #include "config.h" #include "driver.h" UIDriver *driver; void set_ui_driver(UIDriver * d) { driver = d; } pioneers-15.5/common/quoteinfo.c0000644000175000017500000001040413252223516013656 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include #include #include #include #include "game.h" #include "quoteinfo.h" void quotelist_new(QuoteList ** list) { g_assert(*list == NULL); quotelist_free(list); *list = g_malloc0(sizeof(**list)); } void quotelist_free(QuoteList ** list) { if (*list == NULL) return; /* Already free */ while ((*list)->quotes != NULL) { QuoteInfo *quote = (*list)->quotes->data; (*list)->quotes = g_list_remove((*list)->quotes, quote); g_free(quote); } g_free(*list); *list = NULL; } static gint sort_quotes(QuoteInfo * a, QuoteInfo * b) { gint res; res = a->is_domestic - b->is_domestic; if (res != 0) return res; if (a->is_domestic) { res = a->var.d.player_num - b->var.d.player_num; if (res != 0) return res; return a->var.d.quote_num - b->var.d.quote_num; } res = a->var.m.ratio - b->var.m.ratio; if (res != 0) return res; res = (gint) a->var.m.receive - (gint) b->var.m.receive; if (res != 0) return res; return (gint) a->var.m.supply - (gint) b->var.m.supply; } QuoteInfo *quotelist_add_maritime(QuoteList * list, gint ratio, Resource supply, Resource receive) { QuoteInfo *quote; quote = g_malloc0(sizeof(*quote)); quote->is_domestic = FALSE; quote->var.m.ratio = ratio; quote->var.m.supply = supply; quote->var.m.receive = receive; list->quotes = g_list_insert_sorted(list->quotes, quote, (GCompareFunc) sort_quotes); quote->list = g_list_find(list->quotes, quote); return quote; } QuoteInfo *quotelist_add_domestic(QuoteList * list, gint player_num, gint quote_num, const gint * supply, const gint * receive) { QuoteInfo *quote; quote = g_malloc0(sizeof(*quote)); quote->is_domestic = TRUE; quote->var.d.player_num = player_num; quote->var.d.quote_num = quote_num; memcpy(quote->var.d.supply, supply, sizeof(quote->var.d.supply)); memcpy(quote->var.d.receive, receive, sizeof(quote->var.d.receive)); list->quotes = g_list_insert_sorted(list->quotes, quote, (GCompareFunc) sort_quotes); quote->list = g_list_find(list->quotes, quote); return quote; } QuoteInfo *quotelist_find_domestic(QuoteList * list, gint player_num, gint quote_num) { GList *scan; for (scan = list->quotes; scan != NULL; scan = g_list_next(scan)) { QuoteInfo *quote = scan->data; if (!quote->is_domestic) continue; if (quote->var.d.player_num != player_num) continue; if (quote->var.d.quote_num == quote_num || quote_num < 0) return quote; } return NULL; } QuoteInfo *quotelist_first(QuoteList * list) { if (list == NULL || list->quotes == NULL) return NULL; return list->quotes->data; } QuoteInfo *quotelist_prev(const QuoteInfo * quote) { GList *list = g_list_previous(quote->list); if (list == NULL) return NULL; return list->data; } QuoteInfo *quotelist_next(const QuoteInfo * quote) { GList *list = g_list_next(quote->list); if (list == NULL) return NULL; return list->data; } gboolean quotelist_is_player_first(const QuoteInfo * quote) { const QuoteInfo *prev = quotelist_prev(quote); return prev == NULL || !prev->is_domestic || prev->var.d.player_num != quote->var.d.player_num; } void quotelist_delete(QuoteList * list, QuoteInfo * quote) { GList *scan; for (scan = list->quotes; scan != NULL; scan = g_list_next(scan)) { if (scan->data == quote) { list->quotes = g_list_remove_link(list->quotes, scan); g_list_free_1(scan); g_free(quote); return; } } } pioneers-15.5/common/set.h0000644000175000017500000000536713252223516012461 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 2013 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ /* Implementation of a Set, using a Hash. Based on the glib documentation for HashTables */ #ifndef include_set_h #define include_set_h #include /** An unordered collection of elements. * Each element occurs only once. */ typedef struct _Set Set; /** Create a new Set. * @memberof _Set * @param hash_func a function to create a hash value from the element * @param equal_func a function to check two elements for equality * @param destroy a function to free the memory allocated for the element, * or NULL if you don't want to supply such a function. * @return a new Set. Free this Set with set_free */ Set *set_new(GHashFunc hash_func, GEqualFunc equal_func, GDestroyNotify destroy); /** Add a new element to the Set. * @memberof _Set * @param set a Set * @param element the element to add */ void set_add(Set * set, gpointer element); /** Check whether an element is in the Set. * @memberof _Set * @param set a Set * @param element the element to check * @return TRUE if the element is in the Set */ gboolean set_contains(Set * set, gpointer element); /** Remove an element from the Set. * @memberof _Set * @param set a Set * @param element the element to remove * @return TRUE if the element was in the Set */ gboolean set_remove(Set * set, gpointer element); /** Returns the number of elements in the Set. * @memberof _Set * @param set a Set * @return The number of elements in the Set. */ guint set_size(Set * set); /** Free the memory associated with the Set. * @memberof _Set * @param set a Set */ void set_free(Set * set); typedef void (*SetForEachFunc) (gpointer element, gpointer user_data); /** Iterate through all elements in the Set. * @memberof _Set * @param set a Set * @param func a function to call for each element * @param user_data the argument to the function func */ void set_foreach(Set * set, SetForEachFunc func, gpointer user_data); #endif pioneers-15.5/common/random.h0000644000175000017500000000223112153653160013132 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * Copyright (C) 2013 Micah Bunting * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ /** @file random.h * Contains the prototypes for the functions to generate random numbers. */ #ifndef __rand_h #define __rand_h #include guint32 random_init(void); guint random_guint(guint range); #endif pioneers-15.5/common/game-list.c0000644000175000017500000000750113252223516013533 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include #include "game-list.h" #include "log.h" #include "network.h" static GSList *_game_list = NULL; /* The list of GameParams, ordered by title */ static gint sort_function(gconstpointer a, gconstpointer b) { return (strcmp(((const GameParams *) a)->title, ((const GameParams *) b)->title)); } static gboolean game_list_add_item(GameParams * item) { /* check for name collisions */ if (item->title && game_list_find_item(item->title)) { gchar *nt; gint i; if (params_is_equal (item, game_list_find_item(item->title))) { return FALSE; } /* append a number */ for (i = 1; i <= INT_MAX; i++) { nt = g_strdup_printf("%s%d", item->title, i); if (!game_list_find_item(nt)) { g_free(item->title); item->title = nt; break; } g_free(nt); } /* give up and skip this game */ if (item->title != nt) { g_free(nt); return FALSE; } } _game_list = g_slist_insert_sorted(_game_list, item, sort_function); return TRUE; } /** Returns TRUE if the game list is empty */ gboolean game_list_is_empty(void) { return _game_list == NULL; } static gint game_list_locate(gconstpointer param, gconstpointer argument) { const GameParams *data = param; const gchar *title = argument; return strcmp(data->title, title); } const GameParams *game_list_find_item(const gchar * title) { GSList *result; if (!_game_list) { return NULL; } result = g_slist_find_custom(_game_list, title, game_list_locate); if (result) return result->data; else return NULL; } void game_list_foreach(GFunc func, gpointer user_data) { if (_game_list) { g_slist_foreach(_game_list, func, user_data); } } static void game_list_prepare_directory(const gchar * directory) { GDir *dir; const gchar *fname; gchar *fullname; log_message(MSG_INFO, _("Looking for games in '%s'\n"), directory); if ((dir = g_dir_open(directory, 0, NULL)) == NULL) { log_message(MSG_INFO, _("Game directory '%s' not found\n"), directory); return; } while ((fname = g_dir_read_name(dir))) { GameParams *params; size_t len = strlen(fname); if (len < 6 || strcmp(fname + len - 5, ".game") != 0) continue; fullname = g_build_filename(directory, fname, NULL); params = params_load_file(fullname); if (params) { if (!game_list_add_item(params)) params_free(params); } else { log_message(MSG_ERROR, _("Unable to load game: '%s'\n"), fullname); } g_free(fullname); } g_dir_close(dir); } void game_list_prepare(void) { gchar *directory; directory = g_build_filename(g_get_user_data_dir(), "pioneers", NULL); game_list_prepare_directory(directory); g_free(directory); game_list_prepare_directory(get_pioneers_dir()); if (game_list_is_empty()) log_message(MSG_ERROR, _("No games available\n")); } void game_list_cleanup(void) { GSList *games = _game_list; while (games) { params_free(games->data); games = g_slist_next(games); } g_slist_free(_game_list); } pioneers-15.5/common/set.c0000644000175000017500000000446713252223516012454 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 2013 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include "set.h" struct _Set { GHashTable *hash; /**< @private A Set is implemented by a hash table */ }; Set *set_new(GHashFunc hash_func, GEqualFunc equal_func, GDestroyNotify destroy) { Set *set = g_malloc0(sizeof(*set)); set->hash = g_hash_table_new_full(hash_func, equal_func, destroy, NULL); return set; } void set_add(Set * set, gpointer element) { g_hash_table_replace(set->hash, element, element); } gboolean set_contains(Set * set, gpointer element) { return g_hash_table_lookup_extended(set->hash, element, NULL, NULL); } gboolean set_remove(Set * set, gpointer element) { return g_hash_table_remove(set->hash, element); } guint set_size(Set * set) { return g_hash_table_size(set->hash); } void set_free(Set * set) { g_hash_table_destroy(set->hash); g_free(set); } /** Data for the g_hash_table_foreach function */ struct SetForEachData { SetForEachFunc func; /**< The function to call */ gpointer user_data; /**< The argument to that function */ }; /** Invoke the foreach function. * @private @memberof _Set */ static void set_foreach_func(gpointer key, G_GNUC_UNUSED gpointer value, gpointer user_data) { struct SetForEachData *data = user_data; data->func(key, data->user_data); } void set_foreach(Set * set, SetForEachFunc func, gpointer user_data) { struct SetForEachData data; data.func = func; data.user_data = user_data; g_hash_table_foreach(set->hash, set_foreach_func, &data); } pioneers-15.5/common/log.h0000644000175000017500000000507413252223516012442 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * Copyright (C) 2006 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef __log_h #define __log_h #include #include /** Type of logging functions */ typedef void (*LogFunc) (gint msg_type, const gchar * text); /* Message Types */ #define MSG_ERROR 1 #define MSG_INFO 2 #define MSG_CHAT 3 #define MSG_RESOURCE 4 #define MSG_BUILD 5 #define MSG_DICE 6 #define MSG_STEAL 7 #define MSG_TRADE 8 #define MSG_DEVCARD 9 #define MSG_LARGESTARMY 10 #define MSG_LONGESTROAD 11 #define MSG_BEEP 12 #define MSG_TIMESTAMP 13 #define MSG_PLAYER1 101 #define MSG_PLAYER2 102 #define MSG_PLAYER3 103 #define MSG_PLAYER4 104 #define MSG_PLAYER5 105 #define MSG_PLAYER6 106 #define MSG_PLAYER7 107 #define MSG_PLAYER8 108 #define MSG_SPECTATOR_CHAT 199 /** Set the logging function to 'func'. */ void log_set_func(LogFunc func); /** Set the logging function to the system default (stderr) */ void log_set_func_default(void); /** Write a message string to the console, adding a prefix depending on * its type. */ void log_message_string_console(gint msg_type, const gchar * text); /** Log a message after turning the params into a single string. */ void log_message(gint msg_type, const gchar * fmt, ...); /** Log a chat message. * When the log function is not the default, only the chat is shown * with msg_type, the other parts are shown with MSG_INFO. * This means that player_name and joining_text are shown black, * and the chat is in the colour of the player. */ void log_message_chat(const gchar * player_name, const gchar * joining_text, gint msg_type, const gchar * chat); void set_enable_debug(gboolean enabled); void debug(const gchar * fmt, ...); #endif /* __log_h */ pioneers-15.5/common/network.h0000644000175000017500000001000113252223516013334 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003, 2006 Bas Wijnen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef __network_h #define __network_h #include typedef enum { NET_CONNECT, NET_CONNECT_FAIL, NET_CLOSE, NET_READ } NetEvent; typedef struct _Service Service; typedef struct _Session Session; typedef void (*NetNotifyFunc) (Session * ses, NetEvent event, const gchar * line, gpointer user_data); /** Initialize the network drivers */ void net_init(void); /* Finish the network drivers */ void net_finish(void); Session *net_new(NetNotifyFunc notify_func, gpointer user_data); void net_free(Session ** ses); void net_set_user_data(Session * ses, gpointer user_data); void net_set_notify_func(Session * ses, NetNotifyFunc notify_func, gpointer user_data); gboolean net_connect(Session * ses, const gchar * host, const gchar * port); gboolean net_connected(Session * ses); /** Check whether the connection is alive by sending messages. * @param ses The session * @param period Interval in seconds, use 0 to stop checking */ void net_set_check_connection_alive(Session * ses, guint period); /** Check whether the connection is has timed out. * @param ses The session * @return TRUE when the connection timed out */ gboolean net_get_connection_timed_out(Session * ses); /** Create a service that listens on the mentioned port. * @param port The port * @param notify_func The notification function for new Sessions * @param user_data The user data in new Sessions * @retval error_message If opening fails, a description of the error * You should g_free the error_message * @return The service, or NULL on error */ Service *net_service_new(guint16 port, NetNotifyFunc notify_func, gpointer user_data, gchar ** error_message); /** Free the service that was created by net_service_new. * @param service The service to free */ void net_service_free(Service * service); /** Get peer name * @param ses The session * @retval hostname The resolved hostname (free with g_free) * @retval servname The resolved port name/service name (free with g_free) * @retval error The error when it fails, or NULL to ignore * @return TRUE is successful */ gboolean net_get_peer_name(Session * ses, gchar ** hostname, gchar ** servname, GError ** error); /** Close a session after the pending data was sent. * @param ses The session to close */ void net_close(Session * ses); void net_printf(Session * ses, const gchar * fmt, ...); /** Write data. * @param ses The session * @param data The data to send */ void net_write(Session * ses, const gchar * data); /** Get the name of the metaserver. * First the environment variable PIONEERS_METASERVER is queried * If it is not set, the use_default flag is used. * @param use_default If true, return the default metaserver if the * environment variable is not set. * If false, return the hostname of this computer. * @return The hostname of the metaserver */ gchar *get_metaserver_name(gboolean use_default); /** Get the directory of the game related files. * First the environment variable PIONEERS_DIR is queried * If it is not set, the default value is returned */ const gchar *get_pioneers_dir(void); #endif pioneers-15.5/common/quoteinfo.h0000644000175000017500000000430513252223516013666 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef __quoteinfo_h #define __quoteinfo_h typedef struct { GList *list; /* list entry which owns the quote */ gboolean is_domestic; /* is this a maritime trade? */ union { struct { gint player_num; /* player who make the quote */ gint quote_num; /* quote identifier */ gint supply[NO_RESOURCE]; /* resources supplied in the quote */ gint receive[NO_RESOURCE]; /* resources received in the quote */ } d; struct { gint ratio; Resource supply; Resource receive; } m; } var; } QuoteInfo; typedef struct { GList *quotes; } QuoteList; /** Create a new quote list, and remove the old list if needed */ void quotelist_new(QuoteList ** list); /** Free the QuoteList (if needed), and set it to NULL */ void quotelist_free(QuoteList ** list); QuoteInfo *quotelist_add_domestic(QuoteList * list, gint player_num, gint quote_num, const gint * supply, const gint * receive); QuoteInfo *quotelist_add_maritime(QuoteList * list, gint ratio, Resource supply, Resource receive); QuoteInfo *quotelist_first(QuoteList * list); QuoteInfo *quotelist_prev(const QuoteInfo * quote); QuoteInfo *quotelist_next(const QuoteInfo * quote); gboolean quotelist_is_player_first(const QuoteInfo * quote); QuoteInfo *quotelist_find_domestic(QuoteList * list, gint player_num, gint quote_num); void quotelist_delete(QuoteList * list, QuoteInfo * quote); #endif pioneers-15.5/common/notifying-string-private.h0000644000175000017500000000063213252243607016641 00000000000000/* Generated by GOB (v2.0.20) (do not edit directly) */ #ifndef __NOTIFYING_STRING_PRIVATE_H__ #define __NOTIFYING_STRING_PRIVATE_H__ #include "notifying-string.h" #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ struct _NotifyingStringPrivate { #line 4 "common/notifying-string.gob" gchar * value; #line 16 "notifying-string-private.h" }; #ifdef __cplusplus } #endif /* __cplusplus */ #endif pioneers-15.5/common/map.c0000644000175000017500000010662113252223516012431 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * Copyright (C) 2011 Micah Bunting * Copyright (C) 2011 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include #include #include #include "game.h" #include "random.h" #include "map.h" /* The numbering of the hexes, nodes and edges: * * /\ /\ * /1\/0 \ / 0\/1\ * / \1 0\ /0 1/ \ * /2 1\ 1/\ /\1 /2 1\ * / \/1 0 0\/ \ * /2 0\1 2 2/2 0\ * | |---| | * | | 0 | | * |3 0|1 0|3 0| * | | 1 | | * | |---| | * \3 5/1 0 0\3 5/ * /\ /\1 2 2/\ / * /1\/0 \4 5/ 0\/1\/0 \4 5/ * / \1 0\ /0 1/ \1 0\ / * /2 1\ 1/\4/\1 /2 1\ 1/\4/ * / \/1 0 0\/ \/ * /2 0\1 2 2/2 0\ * | |---| | * | | 0 | | * |3 0|1 0|3 0| * | | 1 | | * | |---| | * \3 5/1 0 0\3 5/ * \ /\1 2 2/\ / * \4 5/ 0\/ \/0 \4 5/ * \ /1 0/ \1 0\ / * \4/\1 / \ 1/\4/ * \/ \/ */ /* The accessor functions: * /\ * * / \ * * / \ * * / \ * * / \ * * | | * * | | * * | cc_ | * * | hex | * * | | * * \ / * * /\ /\ * * / \ / \ * * /\/ cc_\ /op_ \/\ * /\ /\/\ /\ * / \edge/\4/\edge/ \ * / \ / \ / \ * / 1\ 5/2 1 0\3 / \ * / \ / cc_ \ / \ * / \/ node \/ \ * / \/ node \/ \ * / \3 4 5/ \ * / \ 4 / \ * | 0|-----|2 | * | 0|------| | * | hex | 1 | cw_ | * | hex | 1 | op_ | * | 0| cw_ | hex | * | 0|3edge0|3 hex | * | | edge| | * | | 4 | | * | |-----| | * | 5|------| | * \ / \ / * \ / 1 \ / * \ / \ / * \ /\ cw_ /\ / * \ / \ / * \ / \ node / \ / * \ / \ / * \ / \ / \ / * \/ \/ * \/ \/\/ \/ * */ /* Function of shrink_left and shrink_right: * * / \ / \ / \ / \ / \ / \ * | A | B | | A | B | | B | | B | * \ / \ / \ \ / \ / / \ / \ / \ / * | C | D | | C | | C | D | | C | * \ / \ / \ / \ / \ / \ / * 2 2 F F 2 2 F T 2 2 T F 2 2 T T * * The numbers below the map are: * x_size, y_size, shrink_left, shrink_right */ static Hex *move_hex(Hex * hex, HexDirection direction); static Node *get_node(Hex * hex, int dir) { g_assert(hex != NULL && dir < 6 && dir >= 0); return hex->nodes[dir]; } static void set_node(Hex * hex, int dir, Node * node) { g_assert(hex != NULL && dir < 6 && dir >= 0); hex->nodes[dir] = node; } static Hex *get_cc_hex(Hex * hex, int dir) { g_assert(hex != NULL && dir < 6 && dir >= 0); return hex_in_direction(hex, (dir + 1) % 6); } static Node *get_cc_hex_node(Hex * hex, int dir) { g_assert(get_cc_hex(hex, dir) != NULL); return get_cc_hex(hex, dir)->nodes[(dir + 4) % 6]; } static Hex *get_cw_hex(Hex * hex, int dir) { g_assert(hex != NULL && dir < 6 && dir >= 0); return hex_in_direction(hex, dir); } static Node *get_cw_hex_node(Hex * hex, int dir) { g_assert(get_cw_hex(hex, dir) != NULL); return get_cw_hex(hex, dir)->nodes[(dir + 2) % 6]; } static void set_node_hex(Hex * hex, int dir, Hex * new_hex) { g_assert(get_node(hex, dir) != NULL); get_node(hex, dir)->hexes[(dir + 3) / 2 % 3] = new_hex; } static void set_node_cc_edge(Hex * hex, int dir, Edge * edge) { g_assert(get_node(hex, dir) != NULL); get_node(hex, dir)->edges[(dir + 2) / 2 % 3] = edge; } static void set_node_cw_edge(Hex * hex, int dir, Edge * edge) { g_assert(get_node(hex, dir) != NULL); get_node(hex, dir)->edges[(dir + 4) / 2 % 3] = edge; } static Edge *get_cc_edge(Hex * hex, int dir) { g_assert(hex != NULL && dir < 6 && dir >= 0); return hex->edges[(dir + 1) % 6]; } static Edge *get_cw_edge(Hex * hex, int dir) { g_assert(hex != NULL && dir < 6 && dir >= 0); return hex->edges[dir]; } static Edge *get_edge(Hex * hex, int dir) { g_assert(hex != NULL && dir < 6 && dir >= 0); return hex->edges[dir]; } static void set_edge(Hex * hex, int dir, Edge * edge) { g_assert(hex != NULL && dir < 6 && dir >= 0); hex->edges[dir] = edge; } static Hex *get_op_hex(Hex * hex, int dir) { g_assert(hex != NULL && dir < 6 && dir >= 0); return hex_in_direction(hex, dir); } static Edge *get_op_hex_edge(Hex * hex, int dir) { g_assert(get_op_hex(hex, dir) != NULL); return get_op_hex(hex, dir)->edges[(dir + 3) % 6]; } static Node *get_cc_node(Hex * hex, int dir) { g_assert(hex != NULL && dir < 6 && dir >= 0); return hex->nodes[dir]; } static void set_cc_node_edge(Hex * hex, int dir, Edge * edge) { g_assert(get_cc_node(hex, dir) != NULL); get_cc_node(hex, dir)->edges[(dir + 4) / 2 % 3] = edge; } static Node *get_cw_node(Hex * hex, int dir) { g_assert(hex != NULL && dir < 6 && dir >= 0); return hex->nodes[(dir + 5) % 6]; } static void set_cw_node_edge(Hex * hex, int dir, Edge * edge) { g_assert(get_cw_node(hex, dir) != NULL); get_cw_node(hex, dir)->edges[(dir + 1) / 2 % 3] = edge; } static void set_edge_cc_node(Hex * hex, int dir, Node * node) { g_assert(get_edge(hex, dir) != NULL); get_edge(hex, dir)->nodes[(dir + 1) / 3 % 2] = node; } static void set_edge_cw_node(Hex * hex, int dir, Node * node) { g_assert(get_edge(hex, dir) != NULL); get_edge(hex, dir)->nodes[(dir + 4) / 3 % 2] = node; } static void set_edge_hex(Hex * hex, int dir, Hex * new_hex) { g_assert(get_edge(hex, dir) != NULL); get_edge(hex, dir)->hexes[(dir + 3) / 3 % 2] = new_hex; } Resource terrain_to_resource(Terrain terrain) { switch (terrain) { case HILL_TERRAIN: return BRICK_RESOURCE; case FIELD_TERRAIN: return GRAIN_RESOURCE; case MOUNTAIN_TERRAIN: return ORE_RESOURCE; case PASTURE_TERRAIN: return WOOL_RESOURCE; case FOREST_TERRAIN: return LUMBER_RESOURCE; case DESERT_TERRAIN: return NO_RESOURCE; case SEA_TERRAIN: return NO_RESOURCE; case GOLD_TERRAIN: return GOLD_RESOURCE; case LAST_TERRAIN: return NO_RESOURCE; } g_assert_not_reached(); } Terrain resource_to_terrain(Resource resource) { switch (resource) { case BRICK_RESOURCE: return HILL_TERRAIN; case GRAIN_RESOURCE: return FIELD_TERRAIN; case ORE_RESOURCE: return MOUNTAIN_TERRAIN; case WOOL_RESOURCE: return PASTURE_TERRAIN; case LUMBER_RESOURCE: return FOREST_TERRAIN; case NO_RESOURCE: return SEA_TERRAIN; case ANY_RESOURCE: return SEA_TERRAIN; case GOLD_RESOURCE: return GOLD_TERRAIN; } g_assert_not_reached(); } Hex *map_hex(Map * map, gint x, gint y) { if (x < 0 || x >= map->x_size || y < 0 || y >= map->y_size) return NULL; return map->grid[y][x]; } const Hex *map_hex_const(const Map * map, gint x, gint y) { if (x < 0 || x >= map->x_size || y < 0 || y >= map->y_size) return NULL; return map->grid[y][x]; } /** Returns the hex in the given direction, or NULL */ Hex *hex_in_direction(const Hex * hex, HexDirection direction) { gint x = hex->x; gint y = hex->y; map_move_in_direction(direction, &x, &y); return map_hex(hex->map, x, y); } /** Move the hex coordinate in the given direction. * @param direction Move in this direction * @retval x x-coordinate of the hex to move * @retval y y-coordinate of the hex to move */ void map_move_in_direction(HexDirection direction, gint * x, gint * y) { switch (direction) { case HEX_DIR_E: (*x)++; break; case HEX_DIR_NE: if (*y % 2 == 1) (*x)++; (*y)--; break; case HEX_DIR_NW: if (*y % 2 == 0) (*x)--; (*y)--; break; case HEX_DIR_W: (*x)--; break; case HEX_DIR_SW: if (*y % 2 == 0) (*x)--; (*y)++; break; case HEX_DIR_SE: if (*y % 2 == 1) (*x)++; (*y)++; break; } } Node *map_node(Map * map, gint x, gint y, gint pos) { Hex *hex; if (x < 0 || x >= map->x_size || y < 0 || y >= map->y_size || pos < 0 || pos >= 6) return NULL; hex = map->grid[y][x]; if (hex == NULL) return NULL; return hex->nodes[pos]; } const Node *map_node_const(const Map * map, gint x, gint y, gint pos) { const Hex *hex; if (x < 0 || x >= map->x_size || y < 0 || y >= map->y_size || pos < 0 || pos >= 6) return NULL; hex = map->grid[y][x]; if (hex == NULL) return NULL; return hex->nodes[pos]; } Edge *map_edge(Map * map, gint x, gint y, gint pos) { Hex *hex; if (x < 0 || x >= map->x_size || y < 0 || y >= map->y_size || pos < 0 || pos >= 6) return NULL; hex = map->grid[y][x]; if (hex == NULL) return NULL; return hex->edges[pos]; } const Edge *map_edge_const(const Map * map, gint x, gint y, gint pos) { const Hex *hex; if (x < 0 || x >= map->x_size || y < 0 || y >= map->y_size || pos < 0 || pos >= 6) return NULL; hex = map->grid[y][x]; if (hex == NULL) return NULL; return hex->edges[pos]; } /** Traverse the map and perform processing at a each node. * * If the callback function returns TRUE, stop traversal immediately * and return TRUE to caller, */ gboolean map_traverse(Map * map, HexFunc func, gpointer closure) { gint x; for (x = 0; x < map->x_size; x++) { gint y; for (y = 0; y < map->y_size; y++) { Hex *hex; hex = map->grid[y][x]; if (hex != NULL && func(hex, closure)) return TRUE; } } return FALSE; } /** Traverse the map and perform processing at a each node. * The map is unmodified. * * If the callback function returns TRUE, stop traversal immediately * and return TRUE to caller, */ gboolean map_traverse_const(const Map * map, ConstHexFunc func, gpointer closure) { gint x; for (x = 0; x < map->x_size; x++) { gint y; for (y = 0; y < map->y_size; y++) { const Hex *hex; hex = map->grid[y][x]; if (hex != NULL && func(hex, closure)) return TRUE; } } return FALSE; } /* To expand the grid to a network, we build a chain of nodes and * edges around the current node. Before allocating a new node or * edge, we must check if the node or edge has already been created by * processing an adjacent hex. * * Each node has three adjacent hexes, so we must check two other * hexes to see if the node has already been created. Once we have * found or created the node for a specific position, we must attach * this hex to a specific position on that node. * * Each edge has only two adjacent hexes, so we check the other hex to * see if the edge exists before creating it. */ /* Build ring of nodes and edges around the current hex */ static gboolean build_network(Hex * hex, G_GNUC_UNUSED gpointer closure) { gint idx; for (idx = 0; idx < 6; idx++) { Node *node = NULL; Edge *edge = NULL; if (get_cc_hex(hex, idx) != NULL) node = get_cc_hex_node(hex, idx); if (node == NULL && get_cw_hex(hex, idx) != NULL) node = get_cw_hex_node(hex, idx); if (node == NULL) { node = g_malloc0(sizeof(*node)); node->map = hex->map; node->owner = -1; node->x = hex->x; node->y = hex->y; node->pos = idx; } set_node(hex, idx, node); set_node_hex(hex, idx, hex); if (get_op_hex(hex, idx) != NULL) edge = get_op_hex_edge(hex, idx); if (edge == NULL) { edge = g_malloc0(sizeof(*edge)); edge->map = hex->map; edge->owner = -1; edge->x = hex->x; edge->y = hex->y; edge->pos = idx; } set_edge(hex, idx, edge); set_edge_hex(hex, idx, hex); } return FALSE; } /* Connect all of the adjacent nodes and edges to each other. * * A node connects to three edges, but we only bother connecting the * edges that are adjacent to this hex. Once the entire grid of hexes * has been processed, all nodes (which require them) will have three * edges. */ /* Connect the the ring of nodes and edges to each other */ static gboolean connect_network(Hex * hex, G_GNUC_UNUSED gpointer closure) { gint idx; for (idx = 0; idx < 6; idx++) { /* Connect current edge to adjacent nodes */ set_edge_cc_node(hex, idx, get_cc_node(hex, idx)); set_edge_cw_node(hex, idx, get_cw_node(hex, idx)); /* Connect current node to adjacent edges */ set_node_cc_edge(hex, idx, get_cc_edge(hex, idx)); set_node_cw_edge(hex, idx, get_cw_edge(hex, idx)); } return FALSE; } /* Layout the dice chits on the map according to the order specified. * When laying out the chits, we do not place one on the desert hex. * The maps only specify the layout sequence. When loading the map, * the program when performs the layout, skipping the desert hex. * * By making the program perform the layout, we have the ability to * shuffle the terrain hexes and then lay the chits out accounting for * the new position of the desert. * Returns TRUE if the chits could be distributed without errors */ static gboolean layout_chits(Map * map) { Hex **hexes; guint num_chits; gint x, y; guint idx; guint chit_idx; guint num_deserts; g_return_val_if_fail(map != NULL, FALSE); g_return_val_if_fail(map->chits != NULL, FALSE); g_return_val_if_fail(map->chits->len > 0, FALSE); /* Count the number of hexes that have chits on them */ num_chits = 0; num_deserts = 0; for (x = 0; x < map->x_size; x++) for (y = 0; y < map->y_size; y++) { Hex *hex = map->grid[y][x]; if (hex != NULL && hex->chit_pos >= (gint) num_chits) num_chits = (guint) (hex->chit_pos + 1); if (hex != NULL && hex->terrain == DESERT_TERRAIN) num_deserts++; } /* Traverse the map and build an array of hexes in chit layout * sequence. */ hexes = g_malloc0(num_chits * sizeof(*hexes)); for (x = 0; x < map->x_size; x++) for (y = 0; y < map->y_size; y++) { Hex *hex = map->grid[y][x]; if (hex == NULL || hex->chit_pos < 0) continue; if (hexes[hex->chit_pos] != NULL) { g_warning("Sequence number %d used again", hex->chit_pos); g_free(hexes); return FALSE; } hexes[hex->chit_pos] = hex; } /* Check the number of chits */ if (num_chits < map->chits->len + num_deserts) { g_warning("More chits (%u + %u) than available tiles (%u)", map->chits->len, num_deserts, num_chits); g_free(hexes); return FALSE; } /* If less chits are defined than tiles that need chits, * the sequence is used again */ /* Now layout the chits in the sequence specified, skipping * the desert hex. */ chit_idx = 0; for (idx = 0; idx < num_chits; idx++) { Hex *hex = hexes[idx]; if (hex == NULL) continue; if (hex->terrain == DESERT_TERRAIN) { /* Robber always starts in the desert */ hex->roll = 0; if (map->robber_hex == NULL) { hex->robber = TRUE; map->robber_hex = hex; } } else { hex->robber = FALSE; hex->roll = g_array_index(map->chits, gint, chit_idx); chit_idx++; if (chit_idx == map->chits->len) chit_idx = 0; } } g_free(hexes); return TRUE; } /* Randomise a map. We do this by shuffling all of the land hexes, * and randomly reassigning port types. This is the procedure * described in the board game rules. */ void map_shuffle_terrain(Map * map) { gint terrain_count[LAST_TERRAIN]; gint port_count[ANY_RESOURCE + 1]; gint x, y; gint num_terrain; gint num_port; /* Remove robber, because the desert will probably move. * It will be restored by layout_chits. */ if (map->robber_hex) { map->robber_hex->robber = FALSE; map->robber_hex = NULL; } /* Count number of each terrain type */ memset(terrain_count, 0, sizeof(terrain_count)); memset(port_count, 0, sizeof(port_count)); num_terrain = num_port = 0; for (x = 0; x < map->x_size; x++) { for (y = 0; y < map->y_size; y++) { Hex *hex = map->grid[y][x]; if (hex == NULL || hex->shuffle == FALSE) continue; if (hex->terrain == SEA_TERRAIN) { if (hex->resource == NO_RESOURCE) continue; port_count[hex->resource]++; num_port++; } else { terrain_count[hex->terrain]++; num_terrain++; } } } /* Shuffle the terrain / port types */ for (x = 0; x < map->x_size; x++) { for (y = 0; y < map->y_size; y++) { Hex *hex = map->grid[y][x]; gint num; guint idx; if (hex == NULL || hex->shuffle == FALSE) continue; if (hex->terrain == SEA_TERRAIN) { if (hex->resource == NO_RESOURCE) continue; num = random_guint(num_port); for (idx = 0; idx < G_N_ELEMENTS(port_count); idx++) { num -= port_count[idx]; if (num < 0) break; } port_count[idx]--; num_port--; hex->resource = idx; } else { num = random_guint(num_terrain); for (idx = 0; idx < G_N_ELEMENTS(terrain_count); idx++) { num -= terrain_count[idx]; if (num < 0) break; } terrain_count[idx]--; num_terrain--; hex->terrain = idx; } } } /* Fix the chits - the desert probably moved */ layout_chits(map); } Hex *map_robber_hex(Map * map) { return map->robber_hex; } Hex *map_pirate_hex(Map * map) { return map->pirate_hex; } void map_move_robber(Map * map, gint x, gint y) { if (map->robber_hex != NULL) map->robber_hex->robber = FALSE; map->robber_hex = map_hex(map, x, y); if (map->robber_hex != NULL) map->robber_hex->robber = TRUE; } void map_move_pirate(Map * map, gint x, gint y) { map->pirate_hex = map_hex(map, x, y); } /* Allocate a new map */ Map *map_new(void) { return g_malloc0(sizeof(Map)); } static Hex *hex_new(Map * map, gint x, gint y) { Hex *hex; g_assert(map != NULL); g_assert(x >= 0); g_assert(x < map->x_size); g_assert(y >= 0); g_assert(y < map->y_size); g_assert(map->grid[y][x] == NULL); hex = g_malloc0(sizeof(*hex)); map->grid[y][x] = hex; hex->map = map; hex->x = x; hex->y = y; build_network(hex, NULL); connect_network(hex, NULL); return hex; } /** Copy a hex. * @param map The new owner * @param hex The original hex * @return A copy of the original hex, with the new owner. * The copy is not connected (nodes and edges are NULL) */ static Hex *copy_hex(Map * map, const Hex * hex) { Hex *copy; if (hex == NULL) return NULL; copy = g_malloc0(sizeof(*copy)); copy->map = map; copy->y = hex->y; copy->x = hex->x; copy->terrain = hex->terrain; copy->resource = hex->resource; copy->facing = hex->facing; copy->chit_pos = hex->chit_pos; copy->roll = hex->roll; copy->robber = hex->robber; copy->shuffle = hex->shuffle; return copy; } static gboolean set_nosetup_nodes(const Hex * hex, gpointer closure) { guint idx; Map *copy = closure; for (idx = 0; idx < G_N_ELEMENTS(hex->nodes); ++idx) { const Node *node = hex->nodes[idx]; /* only handle nodes which are owned by the hex, to * prevent doing every node three times */ if (hex->x != node->x || hex->y != node->y) continue; g_assert(map_node(copy, node->x, node->y, node->pos) != NULL); map_node(copy, node->x, node->y, node->pos)->no_setup = node->no_setup; } return FALSE; } static GArray *copy_int_list(GArray * array) { GArray *copy; guint idx; if (array == NULL) { return NULL; } copy = g_array_new(FALSE, FALSE, sizeof(gint)); for (idx = 0; idx < array->len; idx++) g_array_append_val(copy, g_array_index(array, gint, idx)); return copy; } /* Make a copy of an existing map */ Map *map_copy(const Map * map) { Map *copy = map_new(); int x, y; copy->y = map->y; copy->x_size = map->x_size; copy->y_size = map->y_size; for (y = 0; y < MAP_SIZE; y++) for (x = 0; x < MAP_SIZE; x++) copy->grid[y][x] = copy_hex(copy, map->grid[y][x]); map_traverse(copy, build_network, NULL); map_traverse(copy, connect_network, NULL); map_traverse_const(map, set_nosetup_nodes, copy); if (map->robber_hex == NULL) copy->robber_hex = NULL; else copy->robber_hex = copy->grid[map->robber_hex->y][map->robber_hex->x]; if (map->pirate_hex == NULL) copy->pirate_hex = NULL; else copy->pirate_hex = copy->grid[map->pirate_hex->y][map->pirate_hex->x]; copy->shrink_left = map->shrink_left; copy->shrink_right = map->shrink_right; copy->has_moved_ship = map->has_moved_ship; copy->have_bridges = map->have_bridges; copy->has_pirate = map->has_pirate; copy->chits = copy_int_list(map->chits); return copy; } /* Maps are sent from the server to the client a line at a time. This * routine formats a line of a map for just that purpose. * It returns an allocated buffer, which must be freed by the caller. */ gchar *map_format_line(Map * map, gboolean write_secrets, gint y) { gchar *line = NULL; gchar buffer[20]; /* Buffer for the info about one hex */ gint x; for (x = 0; x < map->x_size; x++) { gchar *bufferpos = buffer; Hex *hex = map->grid[y][x]; if (x > 0) *bufferpos++ = ','; if (hex == NULL) { *bufferpos++ = '-'; } else { switch (hex->terrain) { case HILL_TERRAIN: *bufferpos++ = 'h'; break; case FIELD_TERRAIN: *bufferpos++ = 'f'; break; case MOUNTAIN_TERRAIN: *bufferpos++ = 'm'; break; case PASTURE_TERRAIN: *bufferpos++ = 'p'; break; case FOREST_TERRAIN: *bufferpos++ = 't'; /* tree */ break; case DESERT_TERRAIN: *bufferpos++ = 'd'; break; case GOLD_TERRAIN: *bufferpos++ = 'g'; break; case SEA_TERRAIN: *bufferpos++ = 's'; if (hex == map->pirate_hex) *bufferpos++ = 'R'; if (hex->resource == NO_RESOURCE) break; switch (hex->resource) { case BRICK_RESOURCE: *bufferpos++ = 'b'; break; case GRAIN_RESOURCE: *bufferpos++ = 'g'; break; case ORE_RESOURCE: *bufferpos++ = 'o'; break; case WOOL_RESOURCE: *bufferpos++ = 'w'; break; case LUMBER_RESOURCE: *bufferpos++ = 'l'; break; case ANY_RESOURCE: *bufferpos++ = '?'; break; case NO_RESOURCE: break; case GOLD_RESOURCE: g_assert_not_reached(); } *bufferpos++ = (gchar) (hex->facing + '0'); break; case LAST_TERRAIN: *bufferpos++ = '-'; break; default: g_assert_not_reached(); break; } if (hex->chit_pos >= 0) { sprintf(bufferpos, "%d", hex->chit_pos); bufferpos += strlen(bufferpos); } if (write_secrets && !hex->shuffle) { *bufferpos++ = '+'; } } *bufferpos = '\0'; if (line) { gchar *old = line; line = g_strdup_printf("%s%s", line, buffer); g_free(old); } else { line = g_strdup(buffer); } } return line; } /* Read a map line into the grid */ gboolean map_parse_line(Map * map, const gchar * line) { gint x = 0; for (;;) { Hex *hex; switch (*line++) { case '\0': case '\n': map->y++; return TRUE; case '-': x++; continue; case ',': case ' ': case '\t': continue; } if (x >= MAP_SIZE || map->y >= MAP_SIZE) continue; --line; hex = g_malloc0(sizeof(*hex)); hex->map = map; hex->y = map->y; hex->x = x; hex->terrain = SEA_TERRAIN; hex->resource = NO_RESOURCE; hex->facing = 0; hex->chit_pos = -1; hex->shuffle = TRUE; switch (*line++) { case 's': /* sea */ hex->terrain = SEA_TERRAIN; if (*line == 'R') { ++line; map->pirate_hex = hex; map->has_pirate = TRUE; } switch (*line++) { case 'b': hex->resource = BRICK_RESOURCE; break; case 'g': hex->resource = GRAIN_RESOURCE; break; case 'o': hex->resource = ORE_RESOURCE; break; case 'w': hex->resource = WOOL_RESOURCE; break; case 'l': hex->resource = LUMBER_RESOURCE; break; case 'm': /* mine */ hex->resource = GOLD_RESOURCE; break; case '?': hex->resource = ANY_RESOURCE; break; default: hex->resource = NO_RESOURCE; --line; break; } hex->facing = 0; if (hex->resource != NO_RESOURCE) { if (isdigit(*line)) hex->facing = *line++ - '0'; } break; case 't': /* tree */ hex->terrain = FOREST_TERRAIN; break; case 'p': hex->terrain = PASTURE_TERRAIN; break; case 'f': hex->terrain = FIELD_TERRAIN; break; case 'h': hex->terrain = HILL_TERRAIN; break; case 'm': hex->terrain = MOUNTAIN_TERRAIN; break; case 'd': hex->terrain = DESERT_TERRAIN; break; case 'g': hex->terrain = GOLD_TERRAIN; break; default: g_free(hex); continue; } /* Read the chit sequence number */ if (isdigit(*line)) { hex->chit_pos = 0; while (isdigit(*line)) hex->chit_pos = hex->chit_pos * 10 + *line++ - '0'; } /* Check if hex can be randomly shuffled */ if (*line == '+') { hex->shuffle = FALSE; line++; } if (hex->chit_pos < 0 && hex->terrain != SEA_TERRAIN) { g_warning ("Land tile without chit sequence number"); g_free(hex); return FALSE; } map->grid[map->y][x] = hex; if (x >= map->x_size) map->x_size = x + 1; if (map->y >= map->y_size) map->y_size = map->y + 1; x++; } return TRUE; } /* Finalise the map loading by building a network of nodes, edges and * hexes. Since every second row of hexes is offset, we might be able * to shrink the left / right margins depending on the distribution of * hexes. * Returns true if the map could be finalised. */ gboolean map_parse_finish(Map * map) { gint y; gboolean success; success = layout_chits(map); map_traverse(map, build_network, NULL); map_traverse(map, connect_network, NULL); map->shrink_left = TRUE; map->shrink_right = TRUE; for (y = 0; y < map->y_size; y += 2) if (map->grid[y][0] != NULL) { map->shrink_left = FALSE; break; } for (y = 1; y < map->y_size; y += 2) if (map->grid[y][map->x_size - 1] != NULL) { map->shrink_right = FALSE; break; } return success; } /** Free a hex. * Disconnect the hex from the grid. */ static void hex_free(Hex * hex) { gint idx; g_assert(hex != NULL); /* Transfer ownership of edges to adjacent hexes. */ for (idx = 0; idx < 6; idx++) { Edge *edge = get_edge(hex, idx); g_assert(edge != NULL); if (edge->pos == idx) { /* if edge owned by hex */ if (get_op_hex(hex, idx) != NULL) { /* change owner */ edge->x = get_op_hex(hex, idx)->x; edge->y = get_op_hex(hex, idx)->y; edge->pos = (edge->pos + 3) % 6; } else { set_cc_node_edge(hex, idx, NULL); set_cw_node_edge(hex, idx, NULL); g_free(edge); continue; } } set_edge_hex(hex, idx, NULL); } /* Transfer ownership of nodes to adjacent hexes. */ for (idx = 0; idx < 6; idx++) { Node *node = get_node(hex, idx); g_assert(node != NULL); if (node->pos == idx) { if (get_cc_hex(hex, idx) != NULL) { /* change owner */ node->x = get_cc_hex(hex, idx)->x; node->y = get_cc_hex(hex, idx)->y; node->pos = (node->pos + 4) % 6; } else if (get_cw_hex(hex, idx) != NULL) { /* change owner */ node->x = get_cw_hex(hex, idx)->x; node->y = get_cw_hex(hex, idx)->y; node->pos = (node->pos + 2) % 6; } else { g_free(node); continue; } } set_node_hex(hex, idx, NULL); } /* Remove from the grid */ if (hex->map->grid[hex->y][hex->x] == hex) hex->map->grid[hex->y][hex->x] = NULL; g_free(hex); } static gboolean free_hex(Hex * hex, G_GNUC_UNUSED gpointer closure) { hex_free(hex); return FALSE; } /* Free a map */ void map_free(Map * map) { if (map == NULL) { return; } map_traverse(map, free_hex, NULL); if (map->chits != NULL) { g_array_free(map->chits, TRUE); } g_free(map); } void map_reset_hex(Map * map, gint x, gint y) { Hex *hex; Hex *adjacent; int i; if (x < 0 || x >= map->x_size || y < 0 || y >= map->y_size) { g_assert_not_reached(); return; } hex = map_hex(map, x, y); if (!hex) { /* Create a new hex on the previously empty place */ hex = hex_new(map, x, y); } g_return_if_fail(hex != NULL); hex->terrain = LAST_TERRAIN; hex->resource = NO_RESOURCE; hex->chit_pos = -1; hex->roll = 0; hex->shuffle = TRUE; /* Clear any ports that face this hex */ for (i = 0; i < 6; i++) { adjacent = hex_in_direction(hex, i); if (adjacent != NULL && adjacent->terrain == SEA_TERRAIN && adjacent->resource != NO_RESOURCE && adjacent->facing == (i + 3) % 6) { adjacent->resource = NO_RESOURCE; adjacent->facing = 0; }; }; } void map_modify_row_count(Map * map, MapModify type, MapModifyRowLocation location) { gint x; gint y; gint max; gint min; Hex *shift_hex; if (type == MAP_MODIFY_INSERT && location == MAP_MODIFY_ROW_TOP) { /* Shift the map to the right, if needed */ map->shrink_left = !map->shrink_left; if (map->shrink_left) { map->x_size++; for (y = 0; y < map->y_size; y++) { shift_hex = map->grid[y][0]; while (shift_hex != NULL) { shift_hex = move_hex(shift_hex, HEX_DIR_E); }; }; }; map->y_size++; /* Move all except the top row */ min = map->shrink_right ? 2 : 1; for (y = min; y < map->y_size - 1; y += 2) { shift_hex = map->grid[y][map->x_size - 1]; while (shift_hex != NULL) { shift_hex = move_hex(shift_hex, HEX_DIR_SW); }; }; /* Move the top row */ min = 1; max = map->x_size; for (x = min; x < max; x++) { shift_hex = map->grid[0][x]; while (shift_hex != NULL) { shift_hex = move_hex(shift_hex, HEX_DIR_SW); }; }; /* Remove column, if needed */ if (map->shrink_right) { map->x_size--; } map->shrink_right = !map->shrink_right; /* Create the new hexes */ min = map->shrink_left ? 1 : 0; max = map->x_size; for (x = min; x < max; x++) { map_reset_hex(map, x, 0); }; } else if (type == MAP_MODIFY_INSERT && location == MAP_MODIFY_ROW_BOTTOM) { map->y_size++; if (map->y_size % 2 == 0) { min = 0; max = map->shrink_right ? map->x_size - 1 : map->x_size; } else { min = map->shrink_left ? 1 : 0; max = map->x_size; }; for (x = min; x < max; x++) { map_reset_hex(map, x, map->y_size - 1); }; } else if (type == MAP_MODIFY_REMOVE && location == MAP_MODIFY_ROW_TOP) { /* Remove the top row */ min = map->shrink_left ? 1 : 0; max = map->x_size; for (x = min; x < max; x++) { map_reset_hex(map, x, 0); hex_free(map->grid[0][x]); }; /* Shift the map to the right, if needed */ map->shrink_left = !map->shrink_left; if (map->shrink_left) { map->x_size++; for (y = 1; y < map->y_size; y++) { shift_hex = map->grid[y][0]; while (shift_hex != NULL) { shift_hex = move_hex(shift_hex, HEX_DIR_E); }; }; }; /* Move all except the bottom row */ min = map->shrink_right ? 2 : 1; for (y = min; y < map->y_size - 1; y += 2) { shift_hex = map->grid[y][map->x_size - 1]; while (shift_hex != NULL) { shift_hex = move_hex(shift_hex, HEX_DIR_NW); }; }; /* Move the bottom row */ if (map->y_size % 2 == 0) { min = 0; max = map->shrink_right ? map->x_size - 1 : map->x_size; } else { min = map->shrink_left ? 1 : 0; max = map->x_size; }; for (x = min; x < max; x++) { shift_hex = map->grid[map->y_size - 1][x]; while (shift_hex != NULL) { shift_hex = move_hex(shift_hex, HEX_DIR_NW); }; }; /* Remove column, if needed */ if (map->shrink_right) { map->x_size--; }; map->shrink_right = !map->shrink_right; map->y_size--; } else { if (map->y_size % 2 == 0) { min = 0; max = map->shrink_right ? map->x_size - 1 : map->x_size; } else { min = map->shrink_left ? 1 : 0; max = map->x_size; }; for (x = min; x < max; x++) { map_reset_hex(map, x, map->y_size - 1); hex_free(map->grid[map->y_size - 1][x]); }; map->y_size--; } } void map_modify_column_count(Map * map, MapModify type, MapModifyColumnLocation location) { gint x; gint y; Hex *shift_hex; if (type == MAP_MODIFY_INSERT && location == MAP_MODIFY_COLUMN_LEFT) { map->shrink_left = !map->shrink_left; if (map->shrink_left) { map->x_size++; for (y = 0; y < map->y_size; y++) { shift_hex = map->grid[y][0]; while (shift_hex != NULL) { shift_hex = move_hex(shift_hex, HEX_DIR_E); }; }; }; for (y = map->shrink_left ? 1 : 0; y < map->y_size; y += 2) { map_reset_hex(map, 0, y); }; } else if (type == MAP_MODIFY_INSERT && location == MAP_MODIFY_COLUMN_RIGHT) { if (map->shrink_right) { y = 1; } else { y = 0; map->x_size++; }; x = map->x_size - 1; while (y < map->y_size) { map_reset_hex(map, x, y); y += 2; }; map->shrink_right = !map->shrink_right; } else if (type == MAP_MODIFY_REMOVE && location == MAP_MODIFY_COLUMN_LEFT) { /* Clear the hexes */ for (y = map->shrink_left ? 1 : 0; y < map->y_size; y += 2) { map_reset_hex(map, 0, y); hex_free(map->grid[y][0]); }; if (map->shrink_left) { /* The map was already shrunk, so move all to the left */ for (y = 0; y < map->y_size; y++) { x = (map->shrink_right && y % 2 == 1) ? map->x_size - 2 : map->x_size - 1; shift_hex = map->grid[y][x]; while (shift_hex != NULL) { shift_hex = move_hex(shift_hex, HEX_DIR_W); }; }; map->x_size--; }; map->shrink_left = !map->shrink_left; } else { x = map->x_size - 1; for (y = map->shrink_right ? 0 : 1; y < map->y_size; y += 2) { map_reset_hex(map, x, y); hex_free(map->grid[y][x]); }; if (map->shrink_right) { map->x_size--; }; map->shrink_right = !map->shrink_right; } } /** Move a hex in the given direction. * This function must be called for all hexes on the grid, * it cannot be use for single hexes. * All related edges and nodes are moved too. * @param hex Hex to move. * @param direction Direction to move the hex to. * @return The hex that was at the pointed position. */ static Hex *move_hex(Hex * hex, HexDirection direction) { Hex *ret_hex; int idx; if (hex->map->grid[hex->y][hex->x] == hex) { hex->map->grid[hex->y][hex->x] = NULL; }; switch (direction) { case HEX_DIR_E: hex->x++; break; case HEX_DIR_NE: if (hex->y % 2 == 1) { hex->x++; }; hex->y--; break; case HEX_DIR_NW: if (hex->y % 2 == 0) { hex->x--; }; hex->y--; break; case HEX_DIR_W: hex->x--; break; case HEX_DIR_SW: if (hex->y % 2 == 0) { hex->x--; }; hex->y++; break; case HEX_DIR_SE: if (hex->y % 2 == 1) { hex->x++; }; hex->y++; break; } ret_hex = map_hex(hex->map, hex->x, hex->y); hex->map->grid[hex->y][hex->x] = hex; for (idx = 0; idx < 6; idx++) { Edge *edge = hex->edges[idx]; Node *node = hex->nodes[idx]; if (edge != NULL && edge->pos == idx) { edge->x = hex->x; edge->y = hex->y; }; if (node != NULL && node->pos == idx) { node->x = hex->x; node->y = hex->y; }; }; return ret_hex; } pioneers-15.5/common/deck.h0000644000175000017500000001077013252223516012566 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2011-2013 Micah Bunting * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ /** @file deck.h * A deck that contains cards. Cards can be pointers or guints.
*
* To add a card to the deck, use deck_add(), or deck_add_guint().
* To add multiple of cards of the same type to the deck, use deck_add_amount(), or deck_add_amount_guint().
* To look at a specific card in the deck, use deck_get().
* To remove or draw a specific card from the deck use deck_remove(), or deck_remove_guint().
* To remove or draw a random card from the deck, use deck_remove_random(), or deck_remove_random_guint().
* To access the amount of cards in the deck, use deck_count().
* To move all cards from one deck to another, use deck_combine(). */ #ifndef __deck_h #define __deck_h #include /** A deck that contains cards. */ typedef struct _Deck Deck; /** Creates a new empty Deck. * @return The newly allocated Deck. */ Deck *deck_new(void); /** Frees the memory allocated for the Deck. * @param deck The Deck to free. * @param element_free_func The function to free all of the cards in the deck. */ void deck_free(Deck * deck, GDestroyNotify element_free_func); /** Add single card to the deck. @param deck The deck to add a card to. @param card The card to add to the deck. */ void deck_add(Deck * deck, gpointer card); /** Add single card to the deck. @param deck The deck to add a card to. @param card The card to add to the deck. */ void deck_add_guint(Deck * deck, guint card); /** Add multiple cards to the deck. @param deck The deck to add a card to. @param amount The amount of cards to add. @param card The cards to add to the deck. */ void deck_add_amount(Deck * deck, guint amount, gpointer card); /** Add multiple cards to the deck. @param deck The deck to add a card to. @param amount The amount of cards to add. @param card The cards to add to the deck. */ void deck_add_amount_guint(Deck * deck, guint amount, guint card); /** Gets the card at position index in the deck. * @param deck The Deck containing the card. * @param index The position of the card in the deck. * @return The card in the deck at position index. */ gpointer deck_get(const Deck * deck, guint index); /** Gets the card at position index in the deck. * @param deck The Deck containing the card. * @param index The position of the card in the deck. * @return The card in the deck at position index. */ guint deck_get_guint(const Deck * deck, guint index); /** Removes a specific card from the deck. * @param deck The Deck to remove card from. * @param index The position of the card in the deck. * @return The card that was removed from the deck. */ gpointer deck_remove(Deck * deck, guint index); /** Removes a specific card from the deck. * @param deck The Deck to remove card from. * @param index The position of the card in the deck. * @return The card that was removed from the deck. */ guint deck_remove_guint(Deck * deck, guint index); /** Removes a random card from the deck * @param deck The Deck to remove card from. * @return The card that was removed from the deck. */ gpointer deck_remove_random(Deck * deck); /** Removes a random card from the deck * @param deck The Deck to remove card from. * @return The card that was removed from the deck. */ guint deck_remove_random_guint(Deck * deck); /** Gets the number of cards in a deck. * @param deck The Deck to return the count of. * @return The number of the cards in the deck. */ guint deck_count(const Deck * deck); /** Moves all cards in source Deck to destination Deck. * @param source The source Deck. * @param destination The destination Deck. */ void deck_combine(Deck * source, Deck * destination); #endif pioneers-15.5/common/common_glib.h0000644000175000017500000000170013252223516014136 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef __common_glib_h #define __common_glib_h #include "driver.h" extern UIDriver Glib_Driver; #endif pioneers-15.5/common/game.h0000644000175000017500000002217613252223516012574 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * Copyright (C) 2006 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef __game_h #define __game_h #ifdef HAVE_UNISTD_H #include #endif #include #include "map.h" #include "driver.h" typedef enum { DEVEL_ROAD_BUILDING, DEVEL_MONOPOLY, DEVEL_YEAR_OF_PLENTY, DEVEL_CHAPEL, DEVEL_UNIVERSITY, DEVEL_GOVERNORS_HOUSE, DEVEL_LIBRARY, DEVEL_MARKET, DEVEL_SOLDIER } DevelType; #define NUM_DEVEL_TYPES (DEVEL_SOLDIER + 1) #define MAX_PLAYERS 8 /* maximum number of players supported */ #define MAX_CHAT 496 /* maximum chat message size * (512 - strlen("player 0 chat \n") - 1) */ #define MAX_NAME_LENGTH 30 /* maximum length for the name of a player */ /* Supported versions. These are ordered, so that it is possible to see * if versions are greater or smaller than each other. The actual values do * not matter and will change when older versions stop being supported. No * part of the program may depend on their exact value, all comparisons must * always be done with the symbols. */ /* Names for the versions are defined in common/game.c, and must be * changed when the enum changes. */ typedef enum { UNKNOWN_VERSION, /** Unknown version */ V0_10, /**< Lowest supported version */ V0_11, /**< City walls, player style, robber undo */ V0_12, /**< Trade protocol simplified */ V14, /**< More rules */ V15, /**< Dice deck */ FIRST_VERSION = V0_10, LATEST_VERSION = V15 } ClientVersionType; /** Convert to a ClientVersionType. * @param cvt The text to analyze * @return The version. */ ClientVersionType client_version_type_from_string(const gchar * cvt); /** Convert from a ClientVersionType. * @param cvt The version * @return The string. */ const gchar *client_version_type_to_string(ClientVersionType cvt); /** Will it be possible for a client to connect to a server? * @param client_version The version of the client * @param server_version The version of the server * @return TRUE when the client can connect to the server */ gboolean can_client_connect_to_server(ClientVersionType client_version, ClientVersionType server_version); typedef struct { gchar *title; /* title of the game */ gboolean random_terrain; /* shuffle terrain location? */ gboolean strict_trade; /* trade only before build/buy? */ gboolean domestic_trade; /* player trading allowed? */ guint num_players; /* number of players in the game */ gint sevens_rule; /* what to do when a seven is rolled */ /* 0 = normal, 1 = no 7s on first 2 turns (official rule variant), * 2 = all 7s rerolled */ gboolean use_dice_deck; /* use dice deck instead of dice */ guint num_dice_decks; /* amount of dice decks to use */ guint num_removed_dice_cards; /* minimum amount of dice cards before reshuffling */ guint victory_points; /* target number of victory points */ gboolean check_victory_at_end_of_turn; /* check victory only at end of turn */ gint num_build_type[NUM_BUILD_TYPES]; /* number of each build type */ gint resource_count; /* number of each resource */ guint num_develop_type[NUM_DEVEL_TYPES]; /* number of each development */ Map *map; /* the game map */ gboolean parsing_map; /* currently parsing map? *//* Not in game_params[] */ guint tournament_time; /* time to start tournament time in minutes *//* Not in game_params[] */ gboolean quit_when_done; /* server quits after someone wins *//* Not in game_params[] */ gboolean use_pirate; /* is there a pirate in this game? */ GArray *island_discovery_bonus; /* list of VPs for discovering an island */ gchar *comments; /* information regarding the map */ gchar *description; /* description of the map */ } GameParams; typedef struct { gint id; /* identification for client-server communication */ gchar *name; /* name of the item */ gint points; /* number of points */ } Points; typedef enum { PARAMS_WINNABLE, /* the game can be won */ PARAMS_WIN_BUILD_ALL, /* the game can be won by building all */ PARAMS_WIN_PERHAPS, /* the game could be won */ PARAMS_NO_WIN /* the game cannot be won */ } WinnableState; typedef enum { PLAYER_HUMAN, /* the player is a human */ PLAYER_COMPUTER, /* the player is a computer player */ PLAYER_UNKNOWN /* it is unknown who is controlling the player */ } PlayerType; #define NUM_PLAYER_TYPES (PLAYER_UNKNOWN + 1) typedef void (*WriteLineFunc) (gpointer user_data, const gchar *); /** Default style for a player. */ const gchar *default_player_style; GameParams *params_new(void); GameParams *params_copy(const GameParams * params); GameParams *params_load_file(const gchar * fname); gboolean params_is_equal(const GameParams * params1, const GameParams * params2); void params_free(GameParams * params); void params_write_lines(const GameParams * params, ClientVersionType version, gboolean write_secrets, WriteLineFunc func, gpointer user_data); gboolean params_write_file(const GameParams * params, const gchar * fname); gboolean params_load_line(GameParams * params, const gchar * line); gboolean params_load_finish(GameParams * params); gboolean read_line_from_file(gchar ** line, FILE * f); /** Check whether, in theory, the game could be won by a player. * @param params The game parameters * @retval win_message A message describing how/when the game can be won * @retval point_specification A message describing how the points are distributed * @return Whether the game can be won */ WinnableState params_check_winnable_state(const GameParams * params, gchar ** win_message, gchar ** point_specification); /** Check whether the game cannot be started. * @param params The game parameters * @return TRUE if the game cannot be started */ gboolean params_game_is_unstartable(const GameParams * params); /** Determine the type of the player, by analysing the style. */ PlayerType determine_player_type(const gchar * style); Points *points_new(gint id, const gchar * name, gint points); void points_free(Points * points); /* Communication format * * The commands sent to and from the server use the following * format specifiers: * %S - string from current position to end of line * this takes a gchar ** argument, in which an allocated buffer * is returned. It must be freed by the caller. * %d - integer * %B - build type: * 'road' = BUILD_ROAD * 'ship' = BUILD_SHIP * 'bridge' = BUILD_BRIDGE * 'settlement' = BUILD_SETTLEMENT * 'city' = BUILD_CITY * %R - list of 5 integer resource counts: * brick, grain, ore, wool, lumber * %D - development card type: * 0 = DEVEL_ROAD_BUILDING * 1 = DEVEL_MONOPOLY * 2 = DEVEL_YEAR_OF_PLENTY * 3 = DEVEL_CHAPEL * 4 = DEVEL_UNIVERSITY * 5 = DEVEL_GOVERNORS_HOUSE * 6 = DEVEL_LIBRARY * 7 = DEVEL_MARKET * 8 = DEVEL_SOLDIER * %r - resource type: * 'brick' = BRICK_RESOURCE * 'grain' = GRAIN_RESOURCE * 'ore' = ORE_RESOURCE * 'wool' = WOOL_RESOURCE * 'lumber' = LUMBER_RESOURCE */ /** Parse a line. * @param line Line to parse * @param fmt Format of the line, see communication format * @retval ap Result of the parse * @return -1 if the line could not be parsed, otherwise the offset in the line */ ssize_t game_vscanf(const gchar * line, const gchar * fmt, va_list ap); /** Parse a line. * @param line Line to parse * @param fmt Format of the line, see communication format * @return -1 if the line could not be parsed, otherwise the offset in the line */ ssize_t game_scanf(const gchar * line, const gchar * fmt, ...); /** Print a line. * @param fmt Format of the line, see communication format * @param ap Arguments to the format * @return A string (you must use g_free to free the string) */ gchar *game_vprintf(const gchar * fmt, va_list ap); /** Print a line. * @param fmt Format of the line, see communication format * @return A string (you must use g_free to free the string) */ gchar *game_printf(const gchar * fmt, ...); /** Convert a string to an array of integers. * @param str A comma separated list of integers * @return An array of integers. If the array has length zero, NULL is returned. (you must use g_array_free to free the array) */ GArray *build_int_list(const gchar * str); /** Convert an array of integers to a string. * @param name Prefix before the list of integers * @param array Array of integers * @return A string with a comma separated list of integers and name prefixed. (you must use g_free to free the string) */ gchar *format_int_list(const gchar * name, GArray * array); #endif pioneers-15.5/common/buildrec.c0000644000175000017500000003265213252223516013447 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include #include #include #include "game.h" #include "map.h" #include "buildrec.h" /* Local function prototypes. */ static gboolean buildrec_can_setup_edge(GList * list, const Edge * edge, gboolean is_double); BuildRec *buildrec_new(BuildType type, gint x, gint y, gint pos) { BuildRec *rec = g_malloc0(sizeof(*rec)); rec->type = type; rec->x = x; rec->y = y; rec->pos = pos; rec->special_points_id = -1; return rec; } GList *buildrec_free(GList * list) { while (list != NULL) { BuildRec *rec = list->data; list = g_list_remove(list, rec); g_free(rec); } return NULL; } gint buildrec_count_type(GList * list, BuildType type) { gint num = 0; while (list != NULL) { BuildRec *rec = list->data; list = g_list_next(list); if (rec->type == type) num++; } return num; } gint buildrec_count_edges(GList * list) { gint num = 0; while (list != NULL) { BuildRec *rec = list->data; list = g_list_next(list); if (rec->type == BUILD_ROAD || rec->type == BUILD_SHIP || rec->type == BUILD_BRIDGE) num++; } return num; } BuildRec *buildrec_get(GList * list, BuildType type, gint idx) { while (list != NULL) { BuildRec *rec = list->data; list = g_list_next(list); if (rec->type == type && idx-- == 0) return rec; } return NULL; } BuildRec *buildrec_get_edge(GList * list, gint idx) { while (list != NULL) { BuildRec *rec = list->data; list = g_list_next(list); if ((rec->type == BUILD_ROAD || rec->type == BUILD_SHIP || rec->type == BUILD_BRIDGE) && idx-- == 0) return rec; } return NULL; } gboolean buildrec_is_valid(GList * list, const Map * map, gint owner) { while (list != NULL) { BuildRec *rec = list->data; list = g_list_next(list); switch (rec->type) { case BUILD_NONE: g_warning("BUILD_NONE in buildrec_is_valid"); continue; case BUILD_ROAD: /* Roads have to be adjacent to buildings / road */ if (!map_road_connect_ok(map, owner, rec->x, rec->y, rec->pos)) return FALSE; continue; case BUILD_BRIDGE: /* Bridges have to be adjacent to buildings / * road, and they have to be over water. */ if (!map_bridge_connect_ok(map, owner, rec->x, rec->y, rec->pos)) return FALSE; continue; case BUILD_SHIP: case BUILD_MOVE_SHIP: /* ships have to be adjacent to buildings / * ships, and they have to be over water / * coast. */ if (!map_ship_connect_ok(map, owner, rec->x, rec->y, rec->pos)) return FALSE; continue; case BUILD_SETTLEMENT: case BUILD_CITY: case BUILD_CITY_WALL: /* Buildings must be adjacent to a road */ if (!map_building_connect_ok (map, owner, rec->x, rec->y, rec->pos)) return FALSE; continue; } } return TRUE; } static gboolean edge_has_place_for_settlement(const Edge * edge) { guint idx; for (idx = 0; idx < G_N_ELEMENTS(edge->nodes); idx++) { const Node *node = edge->nodes[idx]; if (node->type == BUILD_NONE && is_node_on_land(node) && is_node_spacing_ok(node)) return TRUE; } return FALSE; } /* Check if we can place this edge with 0 existing settlements during setup */ static gboolean can_setup_edge_0(GList * list, const Edge * edge) { BuildRec *rec = buildrec_get_edge(list, 0); const Edge *other_edge; guint idx; if (rec == NULL) /* This is the only edge - it can only placed if one * of its nodes is a legal location for a new * settlement. */ return edge_has_place_for_settlement(edge); /* There is already one edge placed. We can only place this * edge if it creates a second legal place for settlements. * If I place a settlement on one of the edges, make sure * there is still a place where the second settlement can be * placed. */ other_edge = map_edge(edge->map, rec->x, rec->y, rec->pos); for (idx = 0; idx < G_N_ELEMENTS(edge->nodes); idx++) { Node *node = edge->nodes[idx]; if (node->type == BUILD_NONE && is_node_spacing_ok(node)) { gboolean ok; node->type = BUILD_SETTLEMENT; ok = edge_has_place_for_settlement(other_edge); node->type = BUILD_NONE; if (ok) return TRUE; } } return FALSE; } /* Check if we can place this edge with 1 existing settlement during setup */ static gboolean can_setup_edge_1(GList * list, const Edge * edge) { BuildRec *rec = buildrec_get(list, BUILD_SETTLEMENT, 0); const Node *node = map_node_const(edge->map, rec->x, rec->y, rec->pos); const Edge *other_edge; rec = buildrec_get_edge(list, 0); if (rec == NULL) /* No other edges placed yet, we can either place this * edge next to the existing settlement, or somewhere * which has a legal place for an additional * settlement. */ return is_edge_adjacent_to_node(edge, node) || edge_has_place_for_settlement(edge); /* This is the second edge, we must ensure that one of the * edges is adjacent to the settlement, and the other has a * place for the second settlement. */ other_edge = map_edge_const(edge->map, rec->x, rec->y, rec->pos); return (is_edge_adjacent_to_node(edge, node) && edge_has_place_for_settlement(other_edge)) || (is_edge_adjacent_to_node(other_edge, node) && edge_has_place_for_settlement(edge)); } /* Check if we can place this edge with 2 existing settlements during setup */ static gboolean can_setup_edge_2(GList * list, const Edge * edge) { BuildRec *rec = buildrec_get(list, BUILD_SETTLEMENT, 0); const Node *node = map_node_const(edge->map, rec->x, rec->y, rec->pos); const Node *other_node; const Edge *other_edge; rec = buildrec_get(list, BUILD_SETTLEMENT, 1); other_node = map_node_const(edge->map, rec->x, rec->y, rec->pos); rec = buildrec_get_edge(list, 0); if (rec == NULL) /* No other edges placed yet, we must place this edge * next to either settlement. */ return is_edge_adjacent_to_node(edge, node) || is_edge_adjacent_to_node(edge, other_node); /* Two settlements and one edge placed, we must make sure that * we place this edge next to a settlement and both * settlements then have an adjacent edge. If we have * bridges, it is possible to have both settlements adjacent * to a single bridge. */ other_edge = map_edge_const(edge->map, rec->x, rec->y, rec->pos); if (is_edge_adjacent_to_node(other_edge, node) && is_edge_adjacent_to_node(other_edge, other_node)) /* other_edge is a bridge connecting both settlements * -> edge can connect to either settlement. */ return is_edge_adjacent_to_node(edge, node) || is_edge_adjacent_to_node(edge, other_node); if (is_edge_adjacent_to_node(edge, node) && is_edge_adjacent_to_node(edge, other_node) && !is_edge_on_land(edge)) /* This edge is a bridge connecting both settlements */ return TRUE; /* No bridges -> edge must be adjacent to the settlement which * other_edge is not adjacent to. */ if (is_edge_adjacent_to_node(other_edge, other_node)) return is_edge_adjacent_to_node(edge, node); else return is_edge_adjacent_to_node(edge, other_node); } static gboolean buildrec_can_setup_edge(GList * list, const Edge * edge, gboolean is_double) { if (!is_double) { BuildRec *rec = buildrec_get(list, BUILD_SETTLEMENT, 0); if (rec != NULL) { /* We have placed a settlement, the edge must * be placed adjacent to that settlement. */ const Node *node = map_node(edge->map, rec->x, rec->y, rec->pos); return is_edge_adjacent_to_node(edge, node); } /* We have not placed a settlement yet, the edge can * only placed if one of its nodes is a legal location * for a new settlement. */ return edge_has_place_for_settlement(edge); } /* Double setup is more difficult - there are a lot more * situations to be handled. */ switch (buildrec_count_type(list, BUILD_SETTLEMENT)) { case 0: return can_setup_edge_0(list, edge); case 1: return can_setup_edge_1(list, edge); case 2: return can_setup_edge_2(list, edge); } g_warning("more than 2 settlements in setup!!!"); return FALSE; } gboolean buildrec_can_setup_road(GList * list, const Edge * edge, gboolean is_double) { if (!can_road_be_setup(edge)) return FALSE; return buildrec_can_setup_edge(list, edge, is_double); } gboolean buildrec_can_setup_ship(GList * list, const Edge * edge, gboolean is_double) { if (!can_ship_be_setup(edge)) return FALSE; return buildrec_can_setup_edge(list, edge, is_double); } gboolean buildrec_can_setup_bridge(GList * list, const Edge * edge, gboolean is_double) { if (!can_bridge_be_setup(edge)) return FALSE; return buildrec_can_setup_edge(list, edge, is_double); } /* Check if we can place this settlement with 0 existing edges during setup */ static gboolean can_setup_settlement_0(G_GNUC_UNUSED GList * list, G_GNUC_UNUSED const Node * node) { return TRUE; } /* Check if we can place this settlement with 1 existing edge during setup */ static gboolean can_setup_settlement_1(GList * list, const Node * node) { BuildRec *rec = buildrec_get_edge(list, 0); const Edge *edge = map_edge_const(node->map, rec->x, rec->y, rec->pos); const Node *other_node; /* Make sure that we place one settlement next to the existing edge. */ rec = buildrec_get(list, BUILD_SETTLEMENT, 0); if (rec == NULL) /* No other settlements placed yet. */ return TRUE; /* There is one edge and one settlement placed. One of the * settlements must be placed next to the edge. */ other_node = map_node_const(node->map, rec->x, rec->y, rec->pos); return is_edge_adjacent_to_node(edge, node) || is_edge_adjacent_to_node(edge, other_node); } /* Check if we can place this settlement with 2 existing edges during setup */ static gboolean can_setup_settlement_2(GList * list, const Node * node) { BuildRec *rec = buildrec_get_edge(list, 0); const Edge *edge = map_edge_const(node->map, rec->x, rec->y, rec->pos); const Edge *other_edge; const Node *other_node; Node *try_build_here; rec = buildrec_get_edge(list, 1); other_edge = map_edge_const(node->map, rec->x, rec->y, rec->pos); /* Two edges placed, we must make sure that we place this * settlement adjacent to an edge. */ if (!is_edge_adjacent_to_node(edge, node) && !is_edge_adjacent_to_node(other_edge, node)) return FALSE; rec = buildrec_get(list, BUILD_SETTLEMENT, 0); if (rec == NULL) { /* No settlements placed yet, place the settlement and * make sure that there is still a valid place for the * second settlement. */ gboolean is_ok = FALSE; try_build_here = map_node(node->map, node->x, node->y, node->pos); /* Copy to non-const pointer */ try_build_here->type = BUILD_SETTLEMENT; try_build_here->owner = edge->owner; if (is_edge_adjacent_to_node(edge, node)) { if (is_edge_adjacent_to_node(other_edge, node)) /* Node is adjacent to both edges - * make sure there is still a valid * location on either edge. */ is_ok = edge_has_place_for_settlement(edge) || edge_has_place_for_settlement (other_edge); else /* Node is adjacent to edge, make sure * other edge has location for * settlement. */ is_ok = edge_has_place_for_settlement (other_edge); } else /* Node is adjacent to other edge - make sure * edge has location for settlement. */ is_ok = edge_has_place_for_settlement(edge); try_build_here->type = BUILD_NONE; try_build_here->owner = -1; return is_ok; } /* Two edges and one settlement placed, ensure that each edge * is adjacent to at least one settlement. */ other_node = map_node_const(node->map, rec->x, rec->y, rec->pos); if (is_edge_adjacent_to_node(edge, other_node)) { if (is_edge_adjacent_to_node(other_edge, other_node)) return TRUE; else return is_edge_adjacent_to_node(edge, other_node); } else return is_edge_adjacent_to_node(edge, node); } gboolean buildrec_can_setup_settlement(GList * list, const Node * node, gboolean is_double) { if (!can_settlement_be_setup(node)) return FALSE; if (!is_double) { BuildRec *rec = buildrec_get_edge(list, 0); if (rec != NULL) { /* We have placed an edge, the settlement must * be placed adjacent to that edge. */ const Edge *edge = map_edge_const(node->map, rec->x, rec->y, rec->pos); return is_edge_adjacent_to_node(edge, node); } /* We have not placed an edge yet, the settlement is OK. */ return TRUE; } /* Double setup is more difficult - there are a lot more * situations to be handled. */ switch (buildrec_count_edges(list)) { case 0: return can_setup_settlement_0(list, node); case 1: return can_setup_settlement_1(list, node); case 2: return can_setup_settlement_2(list, node); } g_warning("more than 2 settlements in setup!!!"); return FALSE; } pioneers-15.5/common/cards.c0000644000175000017500000000753213252223516012751 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include #include #include "game.h" #include "cards.h" gboolean is_victory_card(DevelType type) { return type == DEVEL_CHAPEL || type == DEVEL_UNIVERSITY || type == DEVEL_GOVERNORS_HOUSE || type == DEVEL_LIBRARY || type == DEVEL_MARKET; } gboolean deck_card_playable(const Deck * deck, guint num_playable_cards, guint idx) { if (idx >= deck_count(deck)) return FALSE; if (is_victory_card(deck_get_guint(deck, idx))) return TRUE; return idx < num_playable_cards; } gboolean deck_card_play(Deck * deck, guint num_playable_cards, guint idx) { if (!deck_card_playable(deck, num_playable_cards, idx)) { return FALSE; } deck_remove(deck, idx); return TRUE; } gint deck_card_amount(const Deck * deck, DevelType type) { guint idx; gint amount = 0; for (idx = 0; idx < deck_count(deck); ++idx) if (deck_get_guint(deck, idx) == type) ++amount; return amount; } gint deck_card_oldest_card(const Deck * deck, DevelType type) { guint idx; for (idx = 0; idx < deck_count(deck); ++idx) if (deck_get_guint(deck, idx) == type) return idx; return -1; } const gchar *get_devel_name(DevelType type) { switch (type) { case DEVEL_ROAD_BUILDING: /* Name of the development card */ return _("Road building"); case DEVEL_MONOPOLY: /* Name of the development card */ return _("Monopoly"); case DEVEL_YEAR_OF_PLENTY: /* Name of the development card */ return _("Year of plenty"); case DEVEL_CHAPEL: /* Name of the development card */ return _("Chapel"); case DEVEL_UNIVERSITY: /* Name of the development card */ return _("Pioneer university"); case DEVEL_GOVERNORS_HOUSE: /* Name of the development card */ return _("Governor's house"); case DEVEL_LIBRARY: /* Name of the development card */ return _("Library"); case DEVEL_MARKET: /* Name of the development card */ return _("Market"); case DEVEL_SOLDIER: /* Name of the development card */ return _("Soldier"); } g_assert_not_reached(); return ""; } const gchar *get_devel_description(DevelType type) { switch (type) { case DEVEL_ROAD_BUILDING: /* Description of the 'Road Building' development card */ return _("Build two new roads"); case DEVEL_MONOPOLY: /* Description of the 'Monopoly' development card */ return _("Select a resource type and take every card of " "that type held by all other players"); case DEVEL_YEAR_OF_PLENTY: /* Description of the 'Year of Plenty' development card */ return _("Take two resource cards of any type from the " "bank (cards may be of the same or different " "types)"); case DEVEL_CHAPEL: case DEVEL_UNIVERSITY: case DEVEL_GOVERNORS_HOUSE: case DEVEL_LIBRARY: case DEVEL_MARKET: /* Description of a development card of 1 victory point */ return _("One victory point"); case DEVEL_SOLDIER: /* Description of the 'Soldier' development card */ return _("Move the robber to a different space and take " "one resource card from another player adjacent " "to that space"); } g_assert_not_reached(); return ""; } pioneers-15.5/common/game.c0000644000175000017500000007543612152060410012564 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * Copyright (C) 2006 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include #include #include #include #include #include #include "game.h" #include "cards.h" #include "log.h" /* The macro is a modification of the macro in the glib source * The modification allows for const pointers */ #ifndef G_STRUCT_MEMBER_CONST #define G_STRUCT_MEMBER_CONST(member_type, struct_p, struct_offset) \ (*(member_type const *) ((gconstpointer) ((const guint8*) (struct_p) + (glong) (struct_offset)))) #endif const gchar *default_player_style = "square"; typedef enum { PARAM_SINGLE_LINE, PARAM_MULTIPLE_LINES, PARAM_INT, PARAM_BOOL, PARAM_INTLIST, PARAM_OBSOLETE_DATA } ParamType; typedef struct { const gchar *name; /**< Text version of the parameter */ ClientVersionType first_version; /**< First version with this parameter */ ParamType type; /**< Data type */ int offset; /**< Offset in the struct */ } Param; #define PARAM(name, first, type, var) #name, first, type, G_STRUCT_OFFSET(GameParams, var) #define PARAM_OBSOLETE(var) #var, UNKNOWN_VERSION, PARAM_OBSOLETE_DATA, -1 /* *INDENT-OFF* */ static Param game_params[] = { {PARAM(title, FIRST_VERSION, PARAM_SINGLE_LINE, title)}, {PARAM_OBSOLETE(variant)}, {PARAM(random-terrain, FIRST_VERSION, PARAM_BOOL, random_terrain)}, {PARAM(strict-trade, FIRST_VERSION, PARAM_BOOL, strict_trade)}, {PARAM(domestic-trade, FIRST_VERSION, PARAM_BOOL, domestic_trade)}, {PARAM(num-players, FIRST_VERSION, PARAM_INT, num_players)}, {PARAM(sevens-rule, FIRST_VERSION, PARAM_INT, sevens_rule)}, {PARAM(use-dice-deck, V15, PARAM_BOOL, use_dice_deck)}, {PARAM(num-dice-decks, V15, PARAM_INT, num_dice_decks)}, {PARAM(num-removed-dice-cards, V15, PARAM_INT, num_removed_dice_cards)}, {PARAM(victory-points, FIRST_VERSION, PARAM_INT, victory_points)}, {PARAM(check-victory-at-end-of-turn, FIRST_VERSION, PARAM_BOOL, check_victory_at_end_of_turn)}, {PARAM(num-roads, FIRST_VERSION, PARAM_INT, num_build_type[BUILD_ROAD])}, {PARAM(num-bridges, FIRST_VERSION, PARAM_INT, num_build_type[BUILD_BRIDGE])}, {PARAM(num-ships, FIRST_VERSION, PARAM_INT, num_build_type[BUILD_SHIP])}, {PARAM(num-settlements, FIRST_VERSION, PARAM_INT, num_build_type[BUILD_SETTLEMENT])}, {PARAM(num-cities, FIRST_VERSION, PARAM_INT, num_build_type[BUILD_CITY])}, {PARAM(num-city-walls, V0_11, PARAM_INT, num_build_type[BUILD_CITY_WALL])}, {PARAM(resource-count, FIRST_VERSION, PARAM_INT, resource_count)}, {PARAM(develop-road, FIRST_VERSION, PARAM_INT, num_develop_type[DEVEL_ROAD_BUILDING])}, {PARAM(develop-monopoly, FIRST_VERSION, PARAM_INT, num_develop_type[DEVEL_MONOPOLY])}, {PARAM(develop-plenty, FIRST_VERSION, PARAM_INT, num_develop_type[DEVEL_YEAR_OF_PLENTY])}, {PARAM(develop-chapel, FIRST_VERSION, PARAM_INT, num_develop_type[DEVEL_CHAPEL])}, {PARAM(develop-university, FIRST_VERSION, PARAM_INT, num_develop_type[DEVEL_UNIVERSITY])}, {PARAM(develop-governor, FIRST_VERSION, PARAM_INT, num_develop_type[DEVEL_GOVERNORS_HOUSE])}, {PARAM(develop-library, FIRST_VERSION, PARAM_INT, num_develop_type[DEVEL_LIBRARY])}, {PARAM(develop-market, FIRST_VERSION, PARAM_INT, num_develop_type[DEVEL_MARKET])}, {PARAM(develop-soldier, FIRST_VERSION, PARAM_INT, num_develop_type[DEVEL_SOLDIER])}, {PARAM(use-pirate, FIRST_VERSION, PARAM_BOOL, use_pirate)}, {PARAM(island-discovery-bonus, FIRST_VERSION, PARAM_INTLIST, island_discovery_bonus)}, {PARAM(#, FIRST_VERSION, PARAM_MULTIPLE_LINES, comments)}, {PARAM(desc, V14, PARAM_MULTIPLE_LINES, description)}, }; /* *INDENT-ON* */ GameParams *params_new(void) { GameParams *params; params = g_malloc0(sizeof(*params)); params->num_dice_decks = 2; params->num_removed_dice_cards = 5; return params; } void params_free(GameParams * params) { guint idx; gchar *str; GArray *int_list; if (params == NULL) return; for (idx = 0; idx < G_N_ELEMENTS(game_params); idx++) { Param *param = game_params + idx; switch (param->type) { case PARAM_SINGLE_LINE: case PARAM_MULTIPLE_LINES: str = G_STRUCT_MEMBER(gchar *, params, param->offset); g_free(str); break; case PARAM_INT: case PARAM_BOOL: break; case PARAM_INTLIST: int_list = G_STRUCT_MEMBER(GArray *, params, param->offset); if (int_list != NULL) g_array_free(int_list, TRUE); break; case PARAM_OBSOLETE_DATA: /* Obsolete rule: do nothing */ break; } } map_free(params->map); g_free(params); } static const gchar *skip_space(const gchar * str) { while (isspace(*str)) str++; return str; } static gboolean match_word(const gchar ** str, const gchar * word) { size_t word_len; word_len = strlen(word); if (strncmp(*str, word, word_len) == 0) { *str += word_len; *str = skip_space(*str); return TRUE; } return FALSE; } GArray *build_int_list(const gchar * str) { GArray *array = g_array_new(FALSE, FALSE, sizeof(gint)); while (*str != '\0') { gint num; gint sign = +1; /* Skip leading space */ while (isspace(*str)) str++; if (*str == '\0') break; /* Get the next number and add it to the array */ num = 0; if (*str == '-') { sign = -1; str++; } while (isdigit(*str)) num = num * 10 + *str++ - '0'; num *= sign; g_array_append_val(array, num); /* Skip the non-digits */ while (!isdigit(*str) && *str != '-' && *str != '\0') str++; } if (array->len == 0) { g_array_free(array, FALSE); array = NULL; } return array; } gchar *format_int_list(const gchar * name, GArray * array) { gchar *old; gchar *str; guint idx; if (array == NULL) return NULL; if (array->len == 0) { return g_strdup(name); } if (name == NULL || strlen(name) == 0) { str = g_strdup(""); } else { str = g_strdup_printf("%s ", name); }; for (idx = 0; idx < array->len; idx++) { old = str; if (idx == 0) str = g_strdup_printf("%s%d", str, g_array_index(array, gint, idx)); else str = g_strdup_printf("%s,%d", str, g_array_index(array, gint, idx)); g_free(old); } return str; } struct nosetup_t { WriteLineFunc func; gpointer user_data; }; static gboolean find_no_setup(const Hex * hex, gpointer closure) { guint idx; struct nosetup_t *data = closure; for (idx = 0; idx < G_N_ELEMENTS(hex->nodes); ++idx) { const Node *node = hex->nodes[idx]; if (node->no_setup) { gchar buff[50]; if (node->x != hex->x || node->y != hex->y) continue; snprintf(buff, sizeof(buff), "nosetup %d %d %d", node->x, node->y, node->pos); data->func(data->user_data, buff); } } return FALSE; } void params_write_lines(const GameParams * params, ClientVersionType version, gboolean write_secrets, WriteLineFunc func, gpointer user_data) { guint idx; gint y; gchar *buff; const gchar *str; for (idx = 0; idx < G_N_ELEMENTS(game_params); idx++) { Param *param = game_params + idx; if (param->first_version > version) { /* This rule is too new for the recipient */ /* Only notify the recipient when the rule is not in use */ switch (param->type) { case PARAM_SINGLE_LINE: case PARAM_MULTIPLE_LINES: str = G_STRUCT_MEMBER_CONST(gchar *, params, param->offset); if (!str || strlen(str) < 1) { continue; }; break; case PARAM_INT: if (G_STRUCT_MEMBER_CONST (gint, params, param->offset) < 1) { continue; }; /* Sub-parameters to use-dice-deck need never * to be sent to older clients, the message * about use-dice-deck will suffice */ if (!strcmp(param->name, "num-dice-decks") || !strcmp(param->name, "num-removed-dice-cards")) { continue; } break; case PARAM_BOOL: if (!G_STRUCT_MEMBER_CONST (gboolean, params, param->offset)) { continue; } break; case PARAM_INTLIST: buff = format_int_list(param->name, G_STRUCT_MEMBER_CONST (GArray *, params, param->offset)); if (buff == NULL) { continue; }; g_free(buff); break; case PARAM_OBSOLETE_DATA: /* Obsolete rule: go to the next rule */ continue; } buff = g_strdup_printf("new-rule %s", param->name); func(user_data, buff); g_free(buff); continue; } switch (param->type) { case PARAM_SINGLE_LINE: str = G_STRUCT_MEMBER_CONST(gchar *, params, param->offset); if (!str) continue; buff = g_strdup_printf("%s %s", param->name, str); func(user_data, buff); g_free(buff); break; case PARAM_MULTIPLE_LINES: str = G_STRUCT_MEMBER_CONST(gchar *, params, param->offset); if (str) { gchar **strv; gchar **strv_it; strv = g_strsplit(str, "\n", 0); strv_it = strv; while (*strv_it) { buff = g_strdup_printf("%s %s", param->name, *strv_it); func(user_data, buff); g_free(buff); strv_it++; } g_strfreev(strv); } break; case PARAM_INT: buff = g_strdup_printf("%s %d", param->name, G_STRUCT_MEMBER_CONST(gint, params, param-> offset)); func(user_data, buff); g_free(buff); break; case PARAM_BOOL: if (G_STRUCT_MEMBER_CONST (gboolean, params, param->offset)) { func(user_data, param->name); } break; case PARAM_INTLIST: buff = format_int_list(param->name, G_STRUCT_MEMBER_CONST(GArray *, params, param-> offset)); /* Don't send empty intlists */ if (buff != NULL) { func(user_data, buff); g_free(buff); } break; case PARAM_OBSOLETE_DATA: /* Obsolete rule: do nothing */ break; } } buff = format_int_list("chits", params->map->chits); func(user_data, buff); g_free(buff); func(user_data, "map"); for (y = 0; y < params->map->y_size; y++) { buff = map_format_line(params->map, write_secrets, y); func(user_data, buff); g_free(buff); } func(user_data, "."); if (params->map) { struct nosetup_t tmp; tmp.user_data = user_data; tmp.func = func; map_traverse_const(params->map, find_no_setup, &tmp); } } gboolean params_load_line(GameParams * params, const gchar * line) { guint idx; if (params->map == NULL) params->map = map_new(); if (params->parsing_map) { if (strcmp(line, ".") == 0) { params->parsing_map = FALSE; if (!map_parse_finish(params->map)) { map_free(params->map); params->map = NULL; return FALSE; } } else return map_parse_line(params->map, line); return TRUE; } line = skip_space(line); if (*line == 0) return TRUE; if (match_word(&line, "map")) { params->parsing_map = TRUE; return TRUE; } if (match_word(&line, "chits")) { if (params->map->chits != NULL) g_array_free(params->map->chits, TRUE); params->map->chits = build_int_list(line); if (params->map->chits == NULL) { g_warning("Zero length chits array"); return FALSE; } return TRUE; } if (match_word(&line, "nosetup")) { gint x = 0, y = 0, pos = 0; Node *node; /* don't tolerate invalid game descriptions */ g_assert(params->map != NULL); sscanf(line, "%d %d %d", &x, &y, &pos); node = map_node(params->map, x, y, pos); if (node) { node->no_setup = TRUE; } else { g_warning ("Nosetup node %d %d %d is not in the map", x, y, pos); } return TRUE; } for (idx = 0; idx < G_N_ELEMENTS(game_params); idx++) { Param *param = game_params + idx; gchar *str; GArray *array; if (!match_word(&line, param->name)) continue; switch (param->type) { case PARAM_SINGLE_LINE: str = G_STRUCT_MEMBER(gchar *, params, param->offset); if (str) g_free(str); str = g_strchomp(g_strdup(line)); G_STRUCT_MEMBER(gchar *, params, param->offset) = str; return TRUE; case PARAM_MULTIPLE_LINES: str = G_STRUCT_MEMBER(gchar *, params, param->offset); if (str) { gchar *copy; gchar *line2 = g_strdup(line); copy = g_strconcat(str, "\n", g_strchomp(line2), NULL); g_free(line2); g_free(str); str = copy; } else { str = g_strchomp(g_strdup(line)); } G_STRUCT_MEMBER(gchar *, params, param->offset) = str; return TRUE; case PARAM_INT: G_STRUCT_MEMBER(gint, params, param->offset) = atoi(line); return TRUE; case PARAM_BOOL: G_STRUCT_MEMBER(gboolean, params, param->offset) = TRUE; return TRUE; case PARAM_INTLIST: array = G_STRUCT_MEMBER(GArray *, params, param->offset); if (array != NULL) g_array_free(array, TRUE); array = build_int_list(line); if (array == NULL) { g_warning("Zero length array for %s", param->name); } G_STRUCT_MEMBER(GArray *, params, param->offset) = array; return array != NULL; case PARAM_OBSOLETE_DATA: log_message(MSG_ERROR, _("Obsolete rule: '%s'\n"), param->name); return TRUE; } } if (match_word(&line, "new-rule")) { log_message(MSG_INFO, _("The game uses the new rule '%s', which " "is not yet supported. " "Consider upgrading.\n"), line); return TRUE; } g_warning("Unknown keyword: %s", line); return FALSE; } /* read a line from a file. The memory needed is allocated. The returned line * is unbounded. Returns FALSE if no (partial) line could be read */ gboolean read_line_from_file(gchar ** line, FILE * f) { gchar part[512]; size_t len; if (fgets(part, sizeof(part), f) == NULL) return FALSE; len = strlen(part); g_assert(len > 0); *line = g_strdup(part); while ((*line)[len - 1] != '\n') { gchar *oldline; if (fgets(part, sizeof(part), f) == NULL) break; oldline = *line; *line = g_strdup_printf("%s%s", *line, part); g_free(oldline); len = strlen(*line); } /* In case of error or EOF, just return the part we have. * Otherwise, strip the newline. */ if ((*line)[len - 1] == '\n') (*line)[len - 1] = '\0'; return TRUE; } GameParams *params_load_file(const gchar * fname) { FILE *fp; gchar *line; GameParams *params; if ((fp = fopen(fname, "r")) == NULL) { g_warning("could not open '%s'", fname); return NULL; } params = params_new(); while (read_line_from_file(&line, fp) && params) { if (!params_load_line(params, line)) { params_free(params); params = NULL; } g_free(line); } fclose(fp); if (params && !params_load_finish(params)) { params_free(params); return NULL; } return params; } GameParams *params_copy(const GameParams * params) { GameParams *copy; guint idx; gchar *buff; if (params == NULL) return NULL; copy = params_new(); copy->map = map_copy(params->map); for (idx = 0; idx < G_N_ELEMENTS(game_params); idx++) { Param *param = game_params + idx; switch (param->type) { case PARAM_SINGLE_LINE: case PARAM_MULTIPLE_LINES: G_STRUCT_MEMBER(gchar *, copy, param->offset) = g_strdup(G_STRUCT_MEMBER_CONST (gchar *, params, param->offset)); break; case PARAM_INT: G_STRUCT_MEMBER(gint, copy, param->offset) = G_STRUCT_MEMBER_CONST(gint, params, param->offset); break; case PARAM_BOOL: G_STRUCT_MEMBER(gboolean, copy, param->offset) = G_STRUCT_MEMBER_CONST(gboolean, params, param->offset); break; case PARAM_INTLIST: buff = format_int_list("", G_STRUCT_MEMBER_CONST(GArray *, params, param-> offset)); if (buff != NULL) { G_STRUCT_MEMBER(GArray *, copy, param->offset) = build_int_list(buff); g_free(buff); } break; case PARAM_OBSOLETE_DATA: /* Obsolete rule: do nothing */ break; } } copy->quit_when_done = params->quit_when_done; copy->tournament_time = params->tournament_time; return copy; } static void append_to_string(gpointer base, const gchar * additional_text) { gchar **b = base; gchar *old = *b; if (*b == NULL) { *b = g_strdup(additional_text); } else { *b = g_strdup_printf("%s\n%s", old, additional_text); } g_free(old); } gboolean params_is_equal(const GameParams * params1, const GameParams * params2) { gint i; guint idx; gchar *buff1; gchar *buff2; gboolean is_different; struct nosetup_t tmp; /* Compare the map */ if (params1->map->y_size != params2->map->y_size) { return FALSE; }; for (i = 0; i < params1->map->y_size; i++) { buff1 = map_format_line(params1->map, TRUE, i); buff2 = map_format_line(params2->map, TRUE, i); is_different = g_strcmp0(buff1, buff2) != 0; g_free(buff1); g_free(buff2); if (is_different) { return FALSE; } } buff1 = format_int_list("", params1->map->chits); buff2 = format_int_list("", params2->map->chits); is_different = g_strcmp0(buff1, buff2) != 0; g_free(buff1); g_free(buff2); if (is_different) { return FALSE; } buff1 = NULL; tmp.user_data = &buff1; tmp.func = append_to_string; map_traverse_const(params1->map, find_no_setup, &tmp); buff2 = NULL; tmp.user_data = &buff2; map_traverse_const(params2->map, find_no_setup, &tmp); is_different = g_strcmp0(buff1, buff2) != 0; g_free(buff1); g_free(buff2); if (is_different) { return FALSE; } /* Compare the game parameters */ for (idx = 0; idx < G_N_ELEMENTS(game_params); idx++) { const Param *param = game_params + idx; switch (param->type) { case PARAM_SINGLE_LINE: case PARAM_MULTIPLE_LINES: if (g_strcmp0 (G_STRUCT_MEMBER_CONST (gchar *, params1, param->offset), G_STRUCT_MEMBER_CONST(gchar *, params2, param->offset)) != 0) { return FALSE; } break; case PARAM_INT: if (G_STRUCT_MEMBER_CONST (gint, params1, param->offset) != G_STRUCT_MEMBER_CONST(gint, params2, param->offset)) { return FALSE; } break; case PARAM_BOOL: if (G_STRUCT_MEMBER_CONST (gboolean, params1, param->offset) != G_STRUCT_MEMBER_CONST(gboolean, params2, param->offset)) { return FALSE; } break; case PARAM_INTLIST: buff1 = format_int_list("", G_STRUCT_MEMBER_CONST (GArray *, params1, param->offset)); buff2 = format_int_list("", G_STRUCT_MEMBER_CONST(GArray *, params2, param->offset)); is_different = g_strcmp0(buff1, buff2) != 0; g_free(buff1); g_free(buff2); if (is_different) { return FALSE; } break; case PARAM_OBSOLETE_DATA: /* Obsolete rule: do nothing */ break; } } return TRUE; } /** Returns TRUE if the params are valid */ gboolean params_load_finish(GameParams * params) { if (!params->map) { g_warning("Missing map"); return FALSE; } if (params->parsing_map) { g_warning("Map not complete. Missing . after the map?"); return FALSE; } if (!params->map->chits) { g_warning("No chits defined"); return FALSE; } if (params->map->chits->len < 1) { g_warning("At least one chit must be defined"); return FALSE; } if (!params->title) { g_warning("Game has no title"); return FALSE; } params->map->have_bridges = params->num_build_type[BUILD_BRIDGE] > 0; params->map->has_pirate = params->use_pirate; return TRUE; } static void write_one_line(gpointer user_data, const gchar * line) { FILE *fp = user_data; fprintf(fp, "%s\n", line); } gboolean params_write_file(const GameParams * params, const gchar * fname) { FILE *fp; if ((fp = fopen(fname, "w")) == NULL) { g_warning("could not open '%s'", fname); return FALSE; } params_write_lines(params, LATEST_VERSION, TRUE, write_one_line, fp); fclose(fp); return TRUE; } /* Conversions for ClientVersionType. Keep the newest version on top. */ static struct ClientVersionTypeConversion { ClientVersionType type; const gchar *string; } client_version_type_conversions[] = { { V15, "15"}, { V14, "14"}, { V0_12, "0.12"}, { V0_11, "0.11"}, { V0_10, "0.10"} }; ClientVersionType client_version_type_from_string(const gchar * cvt) { guint i; for (i = 0; i < G_N_ELEMENTS(client_version_type_conversions); i++) { if (!strcmp (cvt, client_version_type_conversions[i].string)) { return client_version_type_conversions[i].type; } } return UNKNOWN_VERSION; } const gchar *client_version_type_to_string(ClientVersionType cvt) { guint i; for (i = 0; i < G_N_ELEMENTS(client_version_type_conversions); i++) { if (cvt == client_version_type_conversions[i].type) { return client_version_type_conversions[i].string; } } return "unknown"; } gboolean can_client_connect_to_server(ClientVersionType client_version, ClientVersionType server_version) { if (client_version == UNKNOWN_VERSION) { return FALSE; } else if (server_version == UNKNOWN_VERSION) { return FALSE; } else if (client_version > server_version) { /* By design the server must be the newest */ return FALSE; } else if (client_version == server_version) { return TRUE; } else { /* In compatibility mode */ /* If somehow the backwards compatibility needs to be broken, this function should return FALSE here */ return TRUE; } } WinnableState params_check_winnable_state(const GameParams * params, gchar ** win_message, gchar ** point_specification) { guint target; guint building; guint development; guint road; guint army; guint idx; WinnableState return_value; gint total_island; guint max_island; guint number_of_islands; if (params == NULL) { *win_message = g_strdup("Error: no GameParams provided"); *point_specification = g_strdup(""); return PARAMS_NO_WIN; } /* Check whether the game is winnable at all */ target = params->victory_points; building = params->num_build_type[BUILD_SETTLEMENT] + (params->num_build_type[BUILD_SETTLEMENT] > 0 ? params->num_build_type[BUILD_CITY] * 2 : 0); road = (params->num_build_type[BUILD_ROAD] + params->num_build_type[BUILD_SHIP] + params->num_build_type[BUILD_BRIDGE]) >= 5 ? 2 : 0; army = params->num_develop_type[DEVEL_SOLDIER] >= 3 ? 2 : 0; development = 0; for (idx = 0; idx < NUM_DEVEL_TYPES; idx++) { if (is_victory_card(idx)) development += params->num_develop_type[idx]; } number_of_islands = map_count_islands(params->map); if (number_of_islands == 0) { *win_message = g_strdup(_("This game cannot be won.")); *point_specification = g_strdup(_("There is no land.")); return PARAMS_NO_WIN; } /* It is not guaranteed that the islands can be reached */ total_island = 0; max_island = 0; if (params->island_discovery_bonus != NULL && params->island_discovery_bonus->len > 0 && (params->num_build_type[BUILD_SHIP] + params->num_build_type[BUILD_BRIDGE] > 0)) { guint i; for (i = 0; i < number_of_islands - 1; i++) { total_island += g_array_index(params->island_discovery_bonus, gint, MIN (params-> island_discovery_bonus->len - 1, i)); /* The island score can be negative */ if ((gint) max_island < total_island) max_island = total_island; } } if (target > building) { if (target > building + development + road + army + max_island) { *win_message = g_strdup(_("This game cannot be won.")); return_value = PARAMS_NO_WIN; } else { *win_message = g_strdup(_("" "It is possible that this " "game cannot be won.")); return_value = PARAMS_WIN_PERHAPS; } } else { *win_message = g_strdup(_("This game can be won by only " "building all settlements and " "cities.")); return_value = PARAMS_WIN_BUILD_ALL; } *point_specification = g_strdup_printf(_("" "Required victory points: %d\n" "Points obtained by building all: %d\n" "Points in development cards: %u\n" "Longest road/largest army: %d+%d\n" "Maximum island discovery bonus: %d\n" "Total: %d"), target, building, development, road, army, max_island, building + (gint) development + road + army + max_island); return return_value; } gboolean params_game_is_unstartable(const GameParams * params) { return params->num_build_type[BUILD_SETTLEMENT] < 2; } PlayerType determine_player_type(const gchar * style) { gchar **style_parts; PlayerType type; if (style == NULL) return PLAYER_UNKNOWN; style_parts = g_strsplit(style, " ", 0); if (!strcmp(style_parts[0], "ai")) { type = PLAYER_COMPUTER; } else if (!strcmp(style_parts[0], "human") || !strcmp(style, default_player_style)) { type = PLAYER_HUMAN; } else { type = PLAYER_UNKNOWN; } g_strfreev(style_parts); return type; } Points *points_new(gint id, const gchar * name, gint points) { Points *p = g_malloc0(sizeof(Points)); p->id = id; p->name = g_strdup(name); p->points = points; return p; } void points_free(Points * points) { g_free(points->name); } /* Not translated, these strings are parts of the communication protocol */ static const gchar *resource_types[] = { "brick", "grain", "ore", "wool", "lumber" }; static ssize_t get_num(const gchar * str, gint * num) { ssize_t len = 0; gboolean is_negative = FALSE; if (*str == '-') { is_negative = TRUE; str++; len++; } *num = 0; while (isdigit(*str)) { *num = *num * 10 + *str++ - '0'; len++; } if (is_negative) *num = -*num; return len; } static ssize_t get_unum(const gchar * str, guint * num) { ssize_t len = 0; *num = 0; while (isdigit(*str)) { *num = *num * 10 + (guint) (*str++ - '0'); len++; } return len; } ssize_t game_scanf(const gchar * line, const gchar * fmt, ...) { va_list ap; ssize_t offset; va_start(ap, fmt); offset = game_vscanf(line, fmt, ap); va_end(ap); return offset; } ssize_t game_vscanf(const gchar * line, const gchar * fmt, va_list ap) { ssize_t offset = 0; while (*fmt != '\0' && line[offset] != '\0') { gchar **str; gint *num; guint *unum; gint idx; ssize_t len; BuildType *build_type; Resource *resource; if (*fmt != '%') { if (line[offset] != *fmt) return -1; fmt++; offset++; continue; } fmt++; switch (*fmt++) { case 'S': /* string from current position to end of line */ str = va_arg(ap, gchar **); *str = g_strdup(line + offset); offset += (ssize_t) strlen(*str); break; case 'd': /* integer */ num = va_arg(ap, gint *); len = get_num(line + offset, num); if (len == 0) return -1; offset += len; break; case 'u': /* unsigned integer */ unum = va_arg(ap, guint *); len = get_unum(line + offset, unum); if (len == 0) return -1; offset += len; break; case 'B': /* build type */ build_type = va_arg(ap, BuildType *); if (strncmp(line + offset, "road", 4) == 0) { *build_type = BUILD_ROAD; offset += 4; } else if (strncmp(line + offset, "bridge", 6) == 0) { *build_type = BUILD_BRIDGE; offset += 6; } else if (strncmp(line + offset, "ship", 4) == 0) { *build_type = BUILD_SHIP; offset += 4; } else if (strncmp(line + offset, "settlement", 10) == 0) { *build_type = BUILD_SETTLEMENT; offset += 10; } else if (strncmp(line + offset, "city_wall", 9) == 0) { *build_type = BUILD_CITY_WALL; offset += 9; } else if (strncmp(line + offset, "city", 4) == 0) { *build_type = BUILD_CITY; offset += 4; } else return -1; break; case 'R': /* list of 5 integer resource counts */ num = va_arg(ap, gint *); for (idx = 0; idx < NO_RESOURCE; idx++) { while (line[offset] == ' ') offset++; len = get_num(line + offset, num); if (len == 0) return -1; offset += len; num++; } break; case 'D': /* development card type */ num = va_arg(ap, gint *); len = get_num(line + offset, num); if (len == 0) return -1; offset += len; break; case 'r': /* resource type */ resource = va_arg(ap, Resource *); for (idx = 0; idx < NO_RESOURCE; idx++) { const gchar *type = resource_types[idx]; len = (ssize_t) strlen(type); if (strncmp (line + offset, type, (size_t) len) == 0) { offset += len; *resource = idx; break; } } if (idx == NO_RESOURCE) return -1; break; } } if (*fmt != '\0') return -1; return offset; } #define buff_append(result, format, value) \ do { \ gchar *old = result; \ result = g_strdup_printf("%s" format, result, value); \ g_free(old); \ } while (0) gchar *game_printf(const gchar * fmt, ...) { va_list ap; gchar *result; va_start(ap, fmt); result = game_vprintf(fmt, ap); va_end(ap); return result; } gchar *game_vprintf(const gchar * fmt, va_list ap) { /* initialize result to an allocated empty string */ gchar *result = g_strdup(""); while (*fmt != '\0') { gchar *pos = strchr(fmt, '%'); gchar *text_without_format; if (pos == NULL) { buff_append(result, "%s", fmt); break; } /* add format until next % to result */ text_without_format = g_strndup(fmt, (gsize) (pos - fmt)); buff_append(result, "%s", text_without_format); g_free(text_without_format); fmt = pos + 1; switch (*fmt++) { BuildType build_type; const gint *num; gint idx; case 's': /* string */ buff_append(result, "%s", va_arg(ap, gchar *)); break; case 'd': /* integer */ case 'D': /* development card type */ buff_append(result, "%d", va_arg(ap, gint)); break; case 'u': /* unsigned integer */ buff_append(result, "%u", va_arg(ap, guint)); break; case 'B': /* build type */ build_type = va_arg(ap, BuildType); switch (build_type) { case BUILD_ROAD: buff_append(result, "%s", "road"); break; case BUILD_BRIDGE: buff_append(result, "%s", "bridge"); break; case BUILD_SHIP: buff_append(result, "%s", "ship"); break; case BUILD_SETTLEMENT: buff_append(result, "%s", "settlement"); break; case BUILD_CITY: buff_append(result, "%s", "city"); break; case BUILD_CITY_WALL: buff_append(result, "%s", "city_wall"); break; case BUILD_NONE: g_error ("BUILD_NONE passed to game_printf"); break; case BUILD_MOVE_SHIP: g_error ("BUILD_MOVE_SHIP passed to game_printf"); break; } break; case 'R': /* list of 5 integer resource counts */ num = va_arg(ap, gint *); for (idx = 0; idx < NO_RESOURCE; idx++) { if (idx > 0) buff_append(result, " %d", num[idx]); else buff_append(result, "%d", num[idx]); } break; case 'r': /* resource type */ buff_append(result, "%s", resource_types[va_arg(ap, Resource)]); break; } } return result; } pioneers-15.5/common/common_glib.c0000644000175000017500000000237713252223516014144 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * Copyright (C) 2013 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include #include "common_glib.h" #include "log.h" UIDriver Glib_Driver = { NULL, /* event_queue */ log_message_string_console, /* log_write */ NULL, /* player just added */ NULL, /* player just renamed */ NULL, /* player just removed */ NULL /* player just renamed */ }; pioneers-15.5/common/driver.h0000644000175000017500000000303013252223516013142 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 2000 Steve Langasek * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef __driver_h #define __driver_h #include "log.h" typedef struct { /* function for clearing the event queue */ void (*event_queue) (void); /* Function to write logs and data to the system display */ LogFunc log_write; /* ==> void log_write( gint msg_type, gchar *text ); */ /* callbacks for the server */ void (*player_added) (void *player); /* these really should be ... */ void (*player_renamed) (void *player); /* ... `Player *player', but */ void (*player_removed) (void *player); /* that requires more headers */ void (*player_change) (void *game); /* Should be Game *game */ } UIDriver; extern UIDriver *driver; void set_ui_driver(UIDriver * d); #endif /* __driver_h */ pioneers-15.5/common/notifying-string.c0000644000175000017500000001512113252243607015163 00000000000000/* Generated by GOB (v2.0.20) (do not edit directly) */ /* End world hunger, donate to the World Food Programme, http://www.wfp.org */ #define GOB_VERSION_MAJOR 2 #define GOB_VERSION_MINOR 0 #define GOB_VERSION_PATCHLEVEL 20 #define selfp (self->_priv) #include /* memset() */ #include "notifying-string.h" #include "notifying-string-private.h" #ifdef G_LIKELY #define ___GOB_LIKELY(expr) G_LIKELY(expr) #define ___GOB_UNLIKELY(expr) G_UNLIKELY(expr) #else /* ! G_LIKELY */ #define ___GOB_LIKELY(expr) (expr) #define ___GOB_UNLIKELY(expr) (expr) #endif /* G_LIKELY */ /* self casting macros */ #define SELF(x) NOTIFYING_STRING(x) #define SELF_CONST(x) NOTIFYING_STRING_CONST(x) #define IS_SELF(x) NOTIFYING_IS_STRING(x) #define TYPE_SELF NOTIFYING_TYPE_STRING #define SELF_CLASS(x) NOTIFYING_STRING_CLASS(x) #define SELF_GET_CLASS(x) NOTIFYING_STRING_GET_CLASS(x) /* self typedefs */ typedef NotifyingString Self; typedef NotifyingStringClass SelfClass; /* here are local prototypes */ static void notifying_string_init (NotifyingString * o) G_GNUC_UNUSED; static void notifying_string_class_init (NotifyingStringClass * c) G_GNUC_UNUSED; /* * Signal connection wrapper macro shortcuts */ #define self_connect__changed(object,func,data) notifying_string_connect__changed((object),(func),(data)) #define self_connect_after__changed(object,func,data) notifying_string_connect_after__changed((object),(func),(data)) #define self_connect_data__changed(object,func,data,destroy_data,flags) notifying_string_connect_data__changed((object),(func),(data),(destroy_data),(flags)) enum { CHANGED_SIGNAL, LAST_SIGNAL }; static guint object_signals[LAST_SIGNAL] = {0}; /* pointer to the class of our parent */ static GObjectClass *parent_class = NULL; /* Short form macros */ #define self_changed notifying_string_changed #define self_new notifying_string_new #define self_set notifying_string_set #define self_get notifying_string_get GType notifying_string_get_type (void) { static GType type = 0; if ___GOB_UNLIKELY(type == 0) { static const GTypeInfo info = { sizeof (NotifyingStringClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) notifying_string_class_init, (GClassFinalizeFunc) NULL, NULL /* class_data */, sizeof (NotifyingString), 0 /* n_preallocs */, (GInstanceInitFunc) notifying_string_init, NULL }; type = g_type_register_static (G_TYPE_OBJECT, "NotifyingString", &info, (GTypeFlags)0); } return type; } /* a macro for creating a new object of our type */ #define GET_NEW ((NotifyingString *)g_object_new(notifying_string_get_type(), NULL)) /* a function for creating a new object of our type */ #include static NotifyingString * GET_NEW_VARG (const char *first, ...) G_GNUC_UNUSED; static NotifyingString * GET_NEW_VARG (const char *first, ...) { NotifyingString *ret; va_list ap; va_start (ap, first); ret = (NotifyingString *)g_object_new_valist (notifying_string_get_type (), first, ap); va_end (ap); return ret; } static void ___finalize(GObject *obj_self) { #define __GOB_FUNCTION__ "Notifying:String::finalize" NotifyingString *self G_GNUC_UNUSED = NOTIFYING_STRING (obj_self); gpointer priv G_GNUC_UNUSED = self->_priv; #line 5 "common/notifying-string.gob" if(self->_priv->value) { g_free ((gpointer) self->_priv->value); self->_priv->value = NULL; } #line 115 "notifying-string.c" if(G_OBJECT_CLASS(parent_class)->finalize) \ (* G_OBJECT_CLASS(parent_class)->finalize)(obj_self); } #undef __GOB_FUNCTION__ static void notifying_string_init (NotifyingString * o G_GNUC_UNUSED) { #define __GOB_FUNCTION__ "Notifying:String::init" o->_priv = G_TYPE_INSTANCE_GET_PRIVATE(o,NOTIFYING_TYPE_STRING,NotifyingStringPrivate); #line 4 "common/notifying-string.gob" o->_priv->value = NULL ; #line 128 "notifying-string.c" } #undef __GOB_FUNCTION__ static void notifying_string_class_init (NotifyingStringClass * c G_GNUC_UNUSED) { #define __GOB_FUNCTION__ "Notifying:String::class_init" GObjectClass *g_object_class G_GNUC_UNUSED = (GObjectClass*) c; g_type_class_add_private(c,sizeof(NotifyingStringPrivate)); parent_class = g_type_class_ref (G_TYPE_OBJECT); object_signals[CHANGED_SIGNAL] = g_signal_new ("changed", G_TYPE_FROM_CLASS (g_object_class), (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION), G_STRUCT_OFFSET (NotifyingStringClass, changed), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); c->changed = NULL; g_object_class->finalize = ___finalize; } #undef __GOB_FUNCTION__ #line 7 "common/notifying-string.gob" void notifying_string_changed (NotifyingString * self) { #line 161 "notifying-string.c" GValue ___param_values[1]; GValue ___return_val; memset (&___return_val, 0, sizeof (___return_val)); memset (&___param_values, 0, sizeof (___param_values)); #line 7 "common/notifying-string.gob" g_return_if_fail (self != NULL); #line 7 "common/notifying-string.gob" g_return_if_fail (NOTIFYING_IS_STRING (self)); #line 172 "notifying-string.c" ___param_values[0].g_type = 0; g_value_init (&___param_values[0], G_TYPE_FROM_INSTANCE (self)); g_value_set_instance (&___param_values[0], (gpointer) self); g_signal_emitv (___param_values, object_signals[CHANGED_SIGNAL], 0 /* detail */, &___return_val); g_value_unset (&___param_values[0]); } #line 12 "common/notifying-string.gob" GObject * notifying_string_new (void) { #line 190 "notifying-string.c" #define __GOB_FUNCTION__ "Notifying:String::new" { #line 12 "common/notifying-string.gob" return (GObject *) GET_NEW; }} #line 197 "notifying-string.c" #undef __GOB_FUNCTION__ #line 16 "common/notifying-string.gob" void notifying_string_set (NotifyingString * self, const gchar * value) { #line 204 "notifying-string.c" #define __GOB_FUNCTION__ "Notifying:String::set" #line 16 "common/notifying-string.gob" g_return_if_fail (self != NULL); #line 16 "common/notifying-string.gob" g_return_if_fail (NOTIFYING_IS_STRING (self)); #line 210 "notifying-string.c" { #line 16 "common/notifying-string.gob" self->_priv->value = g_strdup(value); self_changed(self); }} #line 217 "notifying-string.c" #undef __GOB_FUNCTION__ #line 21 "common/notifying-string.gob" gchar * notifying_string_get (NotifyingString * self) { #line 224 "notifying-string.c" #define __GOB_FUNCTION__ "Notifying:String::get" #line 21 "common/notifying-string.gob" g_return_val_if_fail (self != NULL, (gchar * )0); #line 21 "common/notifying-string.gob" g_return_val_if_fail (NOTIFYING_IS_STRING (self), (gchar * )0); #line 230 "notifying-string.c" { #line 21 "common/notifying-string.gob" return g_strdup(self->_priv->value); }} #line 236 "notifying-string.c" #undef __GOB_FUNCTION__ pioneers-15.5/common/notifying-string.h0000644000175000017500000000731013252243607015171 00000000000000/* Generated by GOB (v2.0.20) (do not edit directly) */ #include #include #ifndef __NOTIFYING_STRING_H__ #define __NOTIFYING_STRING_H__ #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ /* * Type checking and casting macros */ #define NOTIFYING_TYPE_STRING (notifying_string_get_type()) #define NOTIFYING_STRING(obj) G_TYPE_CHECK_INSTANCE_CAST((obj), notifying_string_get_type(), NotifyingString) #define NOTIFYING_STRING_CONST(obj) G_TYPE_CHECK_INSTANCE_CAST((obj), notifying_string_get_type(), NotifyingString const) #define NOTIFYING_STRING_CLASS(klass) G_TYPE_CHECK_CLASS_CAST((klass), notifying_string_get_type(), NotifyingStringClass) #define NOTIFYING_IS_STRING(obj) G_TYPE_CHECK_INSTANCE_TYPE((obj), notifying_string_get_type ()) #define NOTIFYING_STRING_GET_CLASS(obj) G_TYPE_INSTANCE_GET_CLASS((obj), notifying_string_get_type(), NotifyingStringClass) /* Private structure type */ typedef struct _NotifyingStringPrivate NotifyingStringPrivate; /* * Main object structure */ #ifndef __TYPEDEF_NOTIFYING_STRING__ #define __TYPEDEF_NOTIFYING_STRING__ typedef struct _NotifyingString NotifyingString; #endif struct _NotifyingString { GObject __parent__; /*< private >*/ NotifyingStringPrivate *_priv; }; /* * Class definition */ typedef struct _NotifyingStringClass NotifyingStringClass; struct _NotifyingStringClass { GObjectClass __parent__; /*signal*/void (* changed) (NotifyingString * self); }; /* * Public methods */ GType notifying_string_get_type (void) G_GNUC_CONST; #line 7 "common/notifying-string.gob" void notifying_string_changed (NotifyingString * self); #line 57 "notifying-string.h" #line 12 "common/notifying-string.gob" GObject * notifying_string_new (void); #line 60 "notifying-string.h" #line 16 "common/notifying-string.gob" void notifying_string_set (NotifyingString * self, const gchar * value); #line 64 "notifying-string.h" #line 21 "common/notifying-string.gob" gchar * notifying_string_get (NotifyingString * self); #line 67 "notifying-string.h" /* * Signal connection wrapper macros */ #if defined(__GNUC__) && !defined(__STRICT_ANSI__) #define notifying_string_connect__changed(object,func,data) g_signal_connect(NOTIFYING_STRING(__extension__ ({NotifyingString *___object = (object); ___object; })),"changed",(GCallback) __extension__ ({void (* ___changed) (NotifyingString * ___fake___self, gpointer ___data ) = (func); ___changed; }), (data)) #define notifying_string_connect_after__changed(object,func,data) g_signal_connect_after(NOTIFYING_STRING(__extension__ ({NotifyingString *___object = (object); ___object; })),"changed",(GCallback) __extension__ ({void (* ___changed) (NotifyingString * ___fake___self, gpointer ___data ) = (func); ___changed; }), (data)) #define notifying_string_connect_data__changed(object,func,data,destroy_data,flags) g_signal_connect_data(NOTIFYING_STRING(__extension__ ({NotifyingString *___object = (object); ___object; })),"changed",(GCallback) __extension__ ({void (* ___changed) (NotifyingString * ___fake___self, gpointer ___data ) = (func); ___changed; }), (data), (destroy_data), (GConnectFlags)(flags)) #else /* __GNUC__ && !__STRICT_ANSI__ */ #define notifying_string_connect__changed(object,func,data) g_signal_connect(NOTIFYING_STRING(object),"changed",(GCallback)(func),(data)) #define notifying_string_connect_after__changed(object,func,data) g_signal_connect_after(NOTIFYING_STRING(object),"changed",(GCallback)(func),(data)) #define notifying_string_connect_data__changed(object,func,data,destroy_data,flags) g_signal_connect_data(NOTIFYING_STRING(object),"changed",(GCallback)(func),(data),(destroy_data),(GConnectFlags)(flags)) #endif /* __GNUC__ && !__STRICT_ANSI__ */ #ifdef __cplusplus } #endif /* __cplusplus */ #endif pioneers-15.5/common/map.h0000644000175000017500000002432013252223516012431 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * Copyright (C) 2011 Micah Bunting * Copyright (C) 2011 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef __map_h #define __map_h #include /* The order of the Terrain enums is EXTREMELY important! The order * must match the resources indicated in enum Resource. */ typedef enum { HILL_TERRAIN, FIELD_TERRAIN, MOUNTAIN_TERRAIN, PASTURE_TERRAIN, FOREST_TERRAIN, DESERT_TERRAIN, SEA_TERRAIN, GOLD_TERRAIN, LAST_TERRAIN /* New terrain types go before this */ } Terrain; /* The order of the Resource enums up to NO_RESOURCE is EXTREMELY important! * The numbers are used to index arrays in cost_*(), and to identify * resource accumulators in player statistics. The NO_RESOURCE marks * the end of the actual resources. */ typedef enum { BRICK_RESOURCE, GRAIN_RESOURCE, ORE_RESOURCE, WOOL_RESOURCE, LUMBER_RESOURCE, NO_RESOURCE, /* All normal producing resources go before this */ ANY_RESOURCE, /* Used for 3:1 ports */ GOLD_RESOURCE /* Gold */ } Resource; /** Maps a Terrain to a Resource. * This does not take ports into account. * @param terrain The terrain * @return The resource the terrain produces */ Resource terrain_to_resource(Terrain terrain); /** Maps a Resource to a Terrain. * @param resource The resource * @return The terrain that produces this resource */ Terrain resource_to_terrain(Resource resource); /* Types of structure that can be built */ typedef enum { BUILD_NONE, /* vacant node/edge */ BUILD_ROAD, /* road was built */ BUILD_BRIDGE, /* bridge was built */ BUILD_SHIP, /* ship was built */ BUILD_SETTLEMENT, /* settlement was built */ BUILD_CITY, /* city was built */ BUILD_CITY_WALL, /* city wall was built */ BUILD_MOVE_SHIP /* a ship was moved (only used for undo list) */ } BuildType; #define NUM_BUILD_TYPES (BUILD_CITY_WALL + 1) /* Maps are built up from a network of hexes, edges, and nodes. * * Each hex has connections to six edges, and six nodes. Each node * connects to three hexes and three edges, and each edge connects to * two hexes and two nodes. */ typedef struct _Node Node; typedef struct _Edge Edge; typedef struct _Hex Hex; typedef struct _Map Map; struct _Hex { Map *map; /* owner map */ gint x; /* x-pos on grid */ gint y; /* y-pos on grid */ Node *nodes[6]; /* adjacent nodes */ Edge *edges[6]; /* adjacent edges */ Terrain terrain; /* type of terrain for this hex */ Resource resource; /* resource at this port */ gint facing; /* direction port is facing */ gint chit_pos; /* position in chit layout sequence */ gint roll; /* 2..12 number allocated to hex */ gboolean robber; /* is the robber here */ gboolean shuffle; /* can the hex be shuffled? */ }; struct _Node { Map *map; /* owner map */ gint x; /* x-pos of owner hex */ gint y; /* y-pos of owner hex */ gint pos; /* location of node on hex */ Hex *hexes[3]; /* adjacent hexes */ Edge *edges[3]; /* adjacent edges */ gint owner; /* building owner, -1 == no building */ BuildType type; /* type of node (if owner defined) */ gboolean visited; /* used for longest road */ gboolean no_setup; /* setup is not allowed on this node */ gboolean city_wall; /* has city wall */ }; struct _Edge { Map *map; /* owner map */ gint x; /* x-pos of owner hex */ gint y; /* y-pos of owner hex */ gint pos; /* location of edge on hex */ Hex *hexes[2]; /* adjacent hexes */ Node *nodes[2]; /* adjacent nodes */ gint owner; /* road owner, -1 == no road */ BuildType type; /* type of edge (if owner defined) */ gboolean visited; /* used for longest road */ }; /* All of the hexes are stored in a 2 dimensional array laid out as * shown in map.c */ #define MAP_SIZE 32 /* maximum map dimension */ struct _Map { gint y; /* current y-pos during parse */ gboolean have_bridges; /* are bridges legal on map? */ gboolean has_pirate; /* is the pirate allowed in this game? */ gint x_size; /* number of hexes across map */ gint y_size; /* number of hexes down map */ Hex *grid[MAP_SIZE][MAP_SIZE]; /* hexes arranged onto a grid */ Hex *robber_hex; /* which hex is the robber on */ Hex *pirate_hex; /* which hex is the pirate on */ gboolean has_moved_ship; /* has the player moved a ship already? */ gboolean shrink_left; /* shrink left x-margin? */ gboolean shrink_right; /* shrink right x-margin? */ GArray *chits; /* chit number sequence */ }; typedef struct { gint owner; gboolean any_resource; gboolean specific_resource[NO_RESOURCE]; } MaritimeInfo; typedef enum { HEX_DIR_E, HEX_DIR_NE, HEX_DIR_NW, HEX_DIR_W, HEX_DIR_SW, HEX_DIR_SE } HexDirection; /* map.c */ Hex *map_hex(Map * map, gint x, gint y); const Hex *map_hex_const(const Map * map, gint x, gint y); Hex *hex_in_direction(const Hex * hex, HexDirection direction); void map_move_in_direction(HexDirection direction, gint * x, gint * y); Edge *map_edge(Map * map, gint x, gint y, gint pos); const Edge *map_edge_const(const Map * map, gint x, gint y, gint pos); Node *map_node(Map * map, gint x, gint y, gint pos); const Node *map_node_const(const Map * map, gint x, gint y, gint pos); typedef gboolean(*HexFunc) (Hex * hex, gpointer closure); gboolean map_traverse(Map * map, HexFunc func, gpointer closure); typedef gboolean(*ConstHexFunc) (const Hex * hex, gpointer closure); gboolean map_traverse_const(const Map * map, ConstHexFunc func, gpointer closure); void map_shuffle_terrain(Map * map); Hex *map_robber_hex(Map * map); Hex *map_pirate_hex(Map * map); void map_move_robber(Map * map, gint x, gint y); void map_move_pirate(Map * map, gint x, gint y); Map *map_new(void); Map *map_copy(const Map * map); gchar *map_format_line(Map * map, gboolean write_secrets, gint y); gboolean map_parse_line(Map * map, const gchar * line); gboolean map_parse_finish(Map * map); void map_free(Map * map); typedef enum { MAP_MODIFY_INSERT, MAP_MODIFY_REMOVE } MapModify; typedef enum { MAP_MODIFY_ROW_TOP, MAP_MODIFY_ROW_BOTTOM } MapModifyRowLocation; typedef enum { MAP_MODIFY_COLUMN_LEFT, MAP_MODIFY_COLUMN_RIGHT } MapModifyColumnLocation; /** Modify the amount of rows. * @param map The map to modify. * @param type Insert or delete. * @param location At the top or the bottom. */ void map_modify_row_count(Map * map, MapModify type, MapModifyRowLocation location); /** Modify the amount of columns. * @param map The map to modify. * @param type Insert or delete. * @param location At left or right. */ void map_modify_column_count(Map * map, MapModify type, MapModifyColumnLocation location); /** Reset the hex to the default values. * @param map The map to modify. * @param x X coordinate. * @param y Y coordinate. */ void map_reset_hex(Map * map, gint x, gint y); /* map_query.c */ /* simple checks */ gboolean is_edge_adjacent_to_node(const Edge * edge, const Node * node); gboolean is_edge_on_land(const Edge * edge); gboolean is_edge_on_sea(const Edge * edge); gboolean is_node_on_land(const Node * node); gboolean node_has_road_owned_by(const Node * node, gint owner); gboolean node_has_ship_owned_by(const Node * node, gint owner); gboolean node_has_bridge_owned_by(const Node * node, gint owner); gboolean is_node_spacing_ok(const Node * node); gboolean is_node_proximity_ok(const Node * node); gboolean is_node_next_to_robber(const Node * node); /* cursor checks */ gboolean can_road_be_setup(const Edge * edge); gboolean can_road_be_built(const Edge * edge, gint owner); gboolean can_ship_be_setup(const Edge * edge); gboolean can_ship_be_built(const Edge * edge, gint owner); gboolean can_ship_be_moved(const Edge * edge, gint owner); gboolean can_bridge_be_setup(const Edge * edge); gboolean can_bridge_be_built(const Edge * edge, gint owner); gboolean can_settlement_be_setup(const Node * node); gboolean can_settlement_be_built(const Node * node, gint owner); gboolean can_settlement_be_upgraded(const Node * node, gint owner); gboolean can_city_be_built(const Node * node, int owner); gboolean can_city_wall_be_built(const Node * node, int owner); gboolean can_robber_or_pirate_be_moved(const Hex * hex); /* map global queries */ gboolean map_can_place_road(const Map * map, gint owner); gboolean map_can_place_ship(const Map * map, gint owner); gboolean map_can_place_bridge(const Map * map, gint owner); gboolean map_can_place_settlement(const Map * map, gint owner); gboolean map_can_place_city_wall(const Map * map, gint owner); gboolean map_can_upgrade_settlement(const Map * map, gint owner); gboolean map_building_spacing_ok(Map * map, gint owner, BuildType type, gint x, gint y, gint pos); gboolean map_building_connect_ok(const Map * map, gint owner, gint x, gint y, gint pos); gboolean map_building_vacant(Map * map, BuildType type, gint x, gint y, gint pos); gboolean map_road_vacant(Map * map, gint x, gint y, gint pos); gboolean map_road_connect_ok(const Map * map, gint owner, gint x, gint y, gint pos); gboolean map_ship_vacant(Map * map, gint x, gint y, gint pos); gboolean map_ship_connect_ok(const Map * map, gint owner, gint x, gint y, gint pos); gboolean map_bridge_vacant(Map * map, gint x, gint y, gint pos); gboolean map_bridge_connect_ok(const Map * map, gint owner, gint x, gint y, gint pos); /* information gathering */ void map_longest_road(Map * map, guint * lengths, guint num_players); gboolean map_is_island_discovered(Map * map, Node * node, gint owner); void map_maritime_info(const Map * map, MaritimeInfo * info, gint owner); guint map_count_islands(const Map * map); #endif pioneers-15.5/common/cost.c0000644000175000017500000000553013252223516012621 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include #include #include "game.h" #include "cost.h" const gint *cost_road(void) { static gint cost[NO_RESOURCE] = { 1, /* brick */ 0, /* grain */ 0, /* ore */ 0, /* wool */ 1 /* lumber */ }; return cost; } const gint *cost_ship(void) { static gint cost[NO_RESOURCE] = { 0, /* brick */ 0, /* grain */ 0, /* ore */ 1, /* wool */ 1 /* lumber */ }; return cost; } const gint *cost_bridge(void) { static gint cost[NO_RESOURCE] = { 1, /* brick */ 0, /* grain */ 0, /* ore */ 1, /* wool */ 1 /* lumber */ }; return cost; } const gint *cost_settlement(void) { static gint cost[NO_RESOURCE] = { 1, /* brick */ 1, /* grain */ 0, /* ore */ 1, /* wool */ 1 /* lumber */ }; return cost; } const gint *cost_upgrade_settlement(void) { static gint cost[NO_RESOURCE] = { 0, /* brick */ 2, /* grain */ 3, /* ore */ 0, /* wool */ 0 /* lumber */ }; return cost; } const gint *cost_city(void) { static gint cost[NO_RESOURCE] = { 1, /* brick */ 3, /* grain */ 3, /* ore */ 1, /* wool */ 1 /* lumber */ }; return cost; } const gint *cost_city_wall(void) { static gint cost[NO_RESOURCE] = { 2, /* brick */ 0, /* grain */ 0, /* ore */ 0, /* wool */ 0 /* lumber */ }; return cost; } const gint *cost_development(void) { static gint cost[NO_RESOURCE] = { 0, /* brick */ 1, /* grain */ 1, /* ore */ 1, /* wool */ 0 /* lumber */ }; return cost; } gboolean cost_buy(const gint * cost, gint * assets) { gint idx; for (idx = 0; idx < NO_RESOURCE; idx++) { assets[idx] -= cost[idx]; if (assets[idx] < 0) return FALSE; } return TRUE; } void cost_refund(const gint * cost, gint * assets) { gint idx; for (idx = 0; idx < NO_RESOURCE; idx++) assets[idx] += cost[idx]; } gboolean cost_can_afford(const gint * cost, const gint * assets) { gint tmp[NO_RESOURCE]; gint idx; for (idx = 0; idx < NO_RESOURCE; idx++) tmp[idx] = assets[idx]; return cost_buy(cost, tmp); } pioneers-15.5/README.MinGW0000644000175000017500000000013011666260063012051 00000000000000Instructions for building Pioneers in the MinGW environment are in the MinGW directory. pioneers-15.5/TODO0000644000175000017500000000012313252242740010676 00000000000000Feature requests are located here: https://sourceforge.net/p/pio/feature-requests/ pioneers-15.5/aclocal.m40000644000175000017500000012605713252243603012064 00000000000000# generated automatically by aclocal 1.15.1 -*- Autoconf -*- # Copyright (C) 1996-2017 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, [m4_warning([this file was generated for autoconf 2.69. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically 'autoreconf'.])]) # Copyright (C) 2002-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.15' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. m4_if([$1], [1.15.1], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) # _AM_AUTOCONF_VERSION(VERSION) # ----------------------------- # aclocal traces this macro to find the Autoconf version. # This is a private macro too. Using m4_define simplifies # the logic in aclocal, which can simply ignore this definition. m4_define([_AM_AUTOCONF_VERSION], []) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.15.1])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- # Copyright (C) 2001-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to # '$srcdir', '$srcdir/..', or '$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and # therefore $ac_aux_dir as well) can be either absolute or relative, # depending on how configure is run. This is pretty annoying, since # it makes $ac_aux_dir quite unusable in subdirectories: in the top # source directory, any form will work fine, but in subdirectories a # relative path needs to be adjusted first. # # $ac_aux_dir/missing # fails when called from a subdirectory if $ac_aux_dir is relative # $top_srcdir/$ac_aux_dir/missing # fails if $ac_aux_dir is absolute, # fails when called from a subdirectory in a VPATH build with # a relative $ac_aux_dir # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually # harmless because $srcdir is '.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, # iff we strip the leading $srcdir from $ac_aux_dir. That would be: # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` # and then we would define $MISSING as # MISSING="\${SHELL} $am_aux_dir/missing" # This will work as long as MISSING is not called from configure, because # unfortunately $(top_srcdir) has no meaning in configure. # However there are other variables, like CC, which are often used in # configure, and could therefore not use this "fixed" $ac_aux_dir. # # Another solution, used here, is to always expand $ac_aux_dir to an # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. AC_DEFUN([AM_AUX_DIR_EXPAND], [AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl # Expand $ac_aux_dir to an absolute path. am_aux_dir=`cd "$ac_aux_dir" && pwd` ]) # AM_CONDITIONAL -*- Autoconf -*- # Copyright (C) 1997-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ([2.52])dnl m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE])dnl AC_SUBST([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl _AM_SUBST_NOTMAKE([$1_FALSE])dnl m4_define([_AM_COND_VALUE_$1], [$2])dnl if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([[conditional "$1" was never defined. Usually this means the macro was only invoked conditionally.]]) fi])]) # Copyright (C) 1999-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, # will think it sees a *use*, and therefore will trigger all it's # C support machinery. Also note that it means that autoscan, seeing # CC etc. in the Makefile, will ask for an AC_PROG_CC use... # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. # NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC". # We try a few techniques and use that to set a single cache variable. # # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular # dependency, and given that the user is not expected to run this macro, # just rely on AC_PROG_CC. AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl AC_REQUIRE([AM_MAKE_INCLUDE])dnl AC_REQUIRE([AM_DEP_TRACK])dnl m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], [$1], [CXX], [depcc="$CXX" am_compiler_list=], [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], [$1], [UPC], [depcc="$UPC" am_compiler_list=], [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], [depcc="$$1" am_compiler_list=]) AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type], [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named 'D' -- because '-MD' means "put the output # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_$1_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` fi am__universal=false m4_case([$1], [CC], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac], [CXX], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac]) for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with # Solaris 10 /bin/sh. echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle '-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # After this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_$1_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_$1_dependencies_compiler_type=none fi ]) AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) AM_CONDITIONAL([am__fastdep$1], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) ]) # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. # This macro is AC_REQUIREd in _AM_DEPENDENCIES. AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ]) # AM_DEP_TRACK # ------------ AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE([dependency-tracking], [dnl AS_HELP_STRING( [--enable-dependency-tracking], [do not reject slow dependency extractors]) AS_HELP_STRING( [--disable-dependency-tracking], [speeds up one-time build])]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' am__nodep='_no' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH])dnl _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl AC_SUBST([am__nodep])dnl _AM_SUBST_NOTMAKE([am__nodep])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- # Copyright (C) 1999-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [{ # Older Autoconf quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named 'Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`AS_DIRNAME("$mf")` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running 'make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "$am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`AS_DIRNAME(["$file"])` AS_MKDIR_P([$dirpart/$fdir]) # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done } ])# _AM_OUTPUT_DEPENDENCY_COMMANDS # AM_OUTPUT_DEPENDENCY_COMMANDS # ----------------------------- # This macro should only be invoked once -- use via AC_REQUIRE. # # This code is only required when automatic dependency tracking # is enabled. FIXME. This creates each '.P' file that we will # need in order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O. m4_define([AC_PROG_CC], m4_defn([AC_PROG_CC]) [_AM_PROG_CC_C_O ]) # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- # The call with PACKAGE and VERSION arguments is the old style # call (pre autoconf-2.50), which is being phased out. PACKAGE # and VERSION should now be passed to AC_INIT and removed from # the call to AM_INIT_AUTOMAKE. # We support both call styles for the transition. After # the next Automake release, Autoconf can make the AC_INIT # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.65])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl # test to see if srcdir already configured if test -f $srcdir/config.status; then AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi AC_SUBST([CYGPATH_W]) # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], [AC_DIAGNOSE([obsolete], [$0: two- and three-arguments forms are deprecated.]) m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. m4_if( m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), [ok:ok],, [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl _AM_IF_OPTION([no-define],, [AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) AM_MISSING_PROG([AUTOCONF], [autoconf]) AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) AM_MISSING_PROG([AUTOHEADER], [autoheader]) AM_MISSING_PROG([MAKEINFO], [makeinfo]) AC_REQUIRE([AM_PROG_INSTALL_SH])dnl AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl # For better backward compatibility. To be removed once Automake 1.9.x # dies out for good. For more background, see: # # AC_SUBST([mkdir_p], ['$(MKDIR_P)']) # We need awk for the "check" target (and possibly the TAP driver). The # system "awk" is bad on some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], [_AM_DEPENDENCIES([CC])], [m4_define([AC_PROG_CC], m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], [_AM_DEPENDENCIES([CXX])], [m4_define([AC_PROG_CXX], m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJC], [_AM_DEPENDENCIES([OBJC])], [m4_define([AC_PROG_OBJC], m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], [_AM_DEPENDENCIES([OBJCXX])], [m4_define([AC_PROG_OBJCXX], m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl ]) AC_REQUIRE([AM_SILENT_RULES])dnl dnl The testsuite driver may need to know about EXEEXT, so add the dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. AC_CONFIG_COMMANDS_PRE(dnl [m4_provide_if([_AM_COMPILER_EXEEXT], [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl # POSIX will say in a future version that running "rm -f" with no argument # is OK; and we want to be able to make that assumption in our Makefile # recipes. So use an aggressive probe to check that the usage we want is # actually supported "in the wild" to an acceptable degree. # See automake bug#10828. # To make any issue more visible, cause the running configure to be aborted # by default if the 'rm' program in use doesn't match our expectations; the # user can still override this though. if rm -f && rm -fr && rm -rf; then : OK; else cat >&2 <<'END' Oops! Your 'rm' program seems unable to run without file operands specified on the command line, even when the '-f' option is present. This is contrary to the behaviour of most rm programs out there, and not conforming with the upcoming POSIX standard: Please tell bug-automake@gnu.org about your system, including the value of your $PATH and any error possibly output before this message. This can help us improve future automake versions. END if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then echo 'Configuration will proceed anyway, since you have set the' >&2 echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 echo >&2 else cat >&2 <<'END' Aborting the configuration process, to ensure you take notice of the issue. You can download and install GNU coreutils to get an 'rm' implementation that behaves properly: . If you want to complete the configuration process using your problematic 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM to "yes", and re-run configure. END AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) fi fi dnl The trailing newline in this macro's definition is deliberate, for dnl backward compatibility and to allow trailing 'dnl'-style comments dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841. ]) dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further dnl mangled by Autoconf and run in a shell conditional statement. m4_define([_AC_COMPILER_EXEEXT], m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the # loop where config.status creates the headers, so we can generate # our stamp files there. AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. _am_arg=$1 _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) # Copyright (C) 2001-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl if test x"${install_sh+set}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi AC_SUBST([install_sh])]) # Copyright (C) 2003-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) # Add --enable-maintainer-mode option to configure. -*- Autoconf -*- # From Jim Meyering # Copyright (C) 1996-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_MAINTAINER_MODE([DEFAULT-MODE]) # ---------------------------------- # Control maintainer-specific portions of Makefiles. # Default is to disable them, unless 'enable' is passed literally. # For symmetry, 'disable' may be passed as well. Anyway, the user # can override the default with the --enable/--disable switch. AC_DEFUN([AM_MAINTAINER_MODE], [m4_case(m4_default([$1], [disable]), [enable], [m4_define([am_maintainer_other], [disable])], [disable], [m4_define([am_maintainer_other], [enable])], [m4_define([am_maintainer_other], [enable]) m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])]) AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) dnl maintainer-mode's default is 'disable' unless 'enable' is passed AC_ARG_ENABLE([maintainer-mode], [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode], am_maintainer_other[ make rules and dependencies not useful (and sometimes confusing) to the casual installer])], [USE_MAINTAINER_MODE=$enableval], [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes])) AC_MSG_RESULT([$USE_MAINTAINER_MODE]) AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes]) MAINT=$MAINTAINER_MODE_TRUE AC_SUBST([MAINT])dnl ] ) # Check to see how 'make' treats includes. -*- Autoconf -*- # Copyright (C) 2001-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_MAKE_INCLUDE() # ----------------- # Check to see how make treats includes. AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. AC_MSG_CHECKING([for style of include used by $am_make]) am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # Ignore all kinds of additional output from 'make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include am__quote= _am_result=GNU ;; esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=.include am__quote="\"" _am_result=BSD ;; esac fi AC_SUBST([am__include]) AC_SUBST([am__quote]) AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) # AM_MISSING_HAS_RUN # ------------------ # Define MISSING if not defined so far and test if it is modern enough. # If it is, set am_missing_run to use it, otherwise, to nothing. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --is-lightweight"; then am_missing_run="$MISSING " else am_missing_run= AC_MSG_WARN(['missing' script is too old or missing]) fi ]) # Helper functions for option handling. -*- Autoconf -*- # Copyright (C) 2001-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) # -------------------- # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), [1])]) # _AM_SET_OPTIONS(OPTIONS) # ------------------------ # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # Copyright (C) 1999-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_PROG_CC_C_O # --------------- # Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC # to automatically call this. AC_DEFUN([_AM_PROG_CC_C_O], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([compile])dnl AC_LANG_PUSH([C])dnl AC_CACHE_CHECK( [whether $CC understands -c and -o together], [am_cv_prog_cc_c_o], [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) # Make sure it works both with $CC and with simple cc. # Following AC_PROG_CC_C_O, we do the test twice because some # compilers refuse to overwrite an existing .o file with -o, # though they will create one. am_cv_prog_cc_c_o=yes for am_i in 1 2; do if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ && test -f conftest2.$ac_objext; then : OK else am_cv_prog_cc_c_o=no break fi done rm -f core conftest* unset am_i]) if test "$am_cv_prog_cc_c_o" != yes; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__CC in this case, # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" CC="$am_aux_dir/compile $CC" fi AC_LANG_POP([C])]) # For backward compatibility. AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) # Copyright (C) 2001-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_RUN_LOG(COMMAND) # ------------------- # Run COMMAND, save the exit status in ac_status, and log it. # (This has been adapted from Autoconf's _AC_RUN_LOG macro.) AC_DEFUN([AM_RUN_LOG], [{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD (exit $ac_status); }]) # Check to make sure that the build environment is sane. -*- Autoconf -*- # Copyright (C) 1996-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[[\\\"\#\$\&\'\`$am_lf]]*) AC_MSG_ERROR([unsafe absolute working directory name]);; esac case $srcdir in *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; esac # Do 'set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( am_has_slept=no for am_try in 1 2; do echo "timestamp, slept: $am_has_slept" > conftest.file set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$[*]" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi if test "$[*]" != "X $srcdir/configure conftest.file" \ && test "$[*]" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken alias in your environment]) fi if test "$[2]" = conftest.file || test $am_try -eq 2; then break fi # Just in case. sleep 1 am_has_slept=yes done test "$[2]" = conftest.file ) then # Ok. : else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi AC_MSG_RESULT([yes]) # If we didn't sleep, we still need to ensure time stamps of config.status and # generated files are strictly newer. am_sleep_pid= if grep 'slept: no' conftest.file >/dev/null 2>&1; then ( sleep 1 ) & am_sleep_pid=$! fi AC_CONFIG_COMMANDS_PRE( [AC_MSG_CHECKING([that generated files are newer than configure]) if test -n "$am_sleep_pid"; then # Hide warnings about reused PIDs. wait $am_sleep_pid 2>/dev/null fi AC_MSG_RESULT([done])]) rm -f conftest.file ]) # Copyright (C) 2009-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_SILENT_RULES([DEFAULT]) # -------------------------- # Enable less verbose build rules; with the default set to DEFAULT # ("yes" being less verbose, "no" or empty being verbose). AC_DEFUN([AM_SILENT_RULES], [AC_ARG_ENABLE([silent-rules], [dnl AS_HELP_STRING( [--enable-silent-rules], [less verbose build output (undo: "make V=1")]) AS_HELP_STRING( [--disable-silent-rules], [verbose build output (undo: "make V=0")])dnl ]) case $enable_silent_rules in @%:@ ((( yes) AM_DEFAULT_VERBOSITY=0;; no) AM_DEFAULT_VERBOSITY=1;; *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; esac dnl dnl A few 'make' implementations (e.g., NonStop OS and NextStep) dnl do not support nested variable expansions. dnl See automake bug#9928 and bug#10237. am_make=${MAKE-make} AC_CACHE_CHECK([whether $am_make supports nested variables], [am_cv_make_support_nested_variables], [if AS_ECHO([['TRUE=$(BAR$(V)) BAR0=false BAR1=true V=1 am__doit: @$(TRUE) .PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then am_cv_make_support_nested_variables=yes else am_cv_make_support_nested_variables=no fi]) if test $am_cv_make_support_nested_variables = yes; then dnl Using '$V' instead of '$(V)' breaks IRIX make. AM_V='$(V)' AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' else AM_V=$AM_DEFAULT_VERBOSITY AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY fi AC_SUBST([AM_V])dnl AM_SUBST_NOTMAKE([AM_V])dnl AC_SUBST([AM_DEFAULT_V])dnl AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl AC_SUBST([AM_DEFAULT_VERBOSITY])dnl AM_BACKSLASH='\' AC_SUBST([AM_BACKSLASH])dnl _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl ]) # Copyright (C) 2001-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_STRIP # --------------------- # One issue with vendor 'install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we # always use install-sh in "make install-strip", and initialize # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl # Installed binaries are usually stripped using 'strip' when the user # run "make install-strip". However 'strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the 'STRIP' environment variable to overrule this program. dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) # Copyright (C) 2006-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. # This macro is traced by Automake. AC_DEFUN([_AM_SUBST_NOTMAKE]) # AM_SUBST_NOTMAKE(VARIABLE) # -------------------------- # Public sister of _AM_SUBST_NOTMAKE. AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- # Copyright (C) 2004-2017 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_PROG_TAR(FORMAT) # -------------------- # Check how to create a tarball in format FORMAT. # FORMAT should be one of 'v7', 'ustar', or 'pax'. # # Substitute a variable $(am__tar) that is a command # writing to stdout a FORMAT-tarball containing the directory # $tardir. # tardir=directory && $(am__tar) > result.tar # # Substitute a variable $(am__untar) that extract such # a tarball read from stdin. # $(am__untar) < result.tar # AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. Yes, it's still used # in the wild :-( We should find a proper way to deprecate it ... AC_SUBST([AMTAR], ['$${TAR-tar}']) # We'll loop over all known methods to create a tar archive until one works. _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' m4_if([$1], [v7], [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], [m4_case([$1], [ustar], [# The POSIX 1988 'ustar' format is defined with fixed-size fields. # There is notably a 21 bits limit for the UID and the GID. In fact, # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 # and bug#13588). am_max_uid=2097151 # 2^21 - 1 am_max_gid=$am_max_uid # The $UID and $GID variables are not portable, so we need to resort # to the POSIX-mandated id(1) utility. Errors in the 'id' calls # below are definitely unexpected, so allow the users to see them # (that is, avoid stderr redirection). am_uid=`id -u || echo unknown` am_gid=`id -g || echo unknown` AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) if test $am_uid -le $am_max_uid; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) _am_tools=none fi AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) if test $am_gid -le $am_max_gid; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) _am_tools=none fi], [pax], [], [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) # Go ahead even if we have the value already cached. We do so because we # need to set the values for the 'am__tar' and 'am__untar' variables. _am_tools=${am_cv_prog_tar_$1-$_am_tools} for _am_tool in $_am_tools; do case $_am_tool in gnutar) for _am_tar in tar gnutar gtar; do AM_RUN_LOG([$_am_tar --version]) && break done am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' am__untar="$_am_tar -xf -" ;; plaintar) # Must skip GNU tar: if it does not support --format= it doesn't create # ustar tarball either. (tar --version) >/dev/null 2>&1 && continue am__tar='tar chf - "$$tardir"' am__tar_='tar chf - "$tardir"' am__untar='tar xf -' ;; pax) am__tar='pax -L -x $1 -w "$$tardir"' am__tar_='pax -L -x $1 -w "$tardir"' am__untar='pax -r' ;; cpio) am__tar='find "$$tardir" -print | cpio -o -H $1 -L' am__tar_='find "$tardir" -print | cpio -o -H $1 -L' am__untar='cpio -i -H $1 -d' ;; none) am__tar=false am__tar_=false am__untar=false ;; esac # If the value was cached, stop now. We just wanted to have am__tar # and am__untar set. test -n "${am_cv_prog_tar_$1}" && break # tar/untar a dummy directory, and stop if the command works. rm -rf conftest.dir mkdir conftest.dir echo GrepMe > conftest.dir/file AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) rm -rf conftest.dir if test -s conftest.tar; then AM_RUN_LOG([$am__untar /dev/null 2>&1 && break fi done rm -rf conftest.dir AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) AC_MSG_RESULT([$am_cv_prog_tar_$1])]) AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR m4_include([m4/gob2.m4]) m4_include([m4/intltool.m4]) m4_include([m4/libtool.m4]) m4_include([m4/ltoptions.m4]) m4_include([m4/ltsugar.m4]) m4_include([m4/ltversion.m4]) m4_include([m4/lt~obsolete.m4]) m4_include([m4/nls.m4]) m4_include([m4/pkg.m4]) m4_include([m4/yelp.m4]) pioneers-15.5/m4/0000755000175000017500000000000013252243610010607 500000000000000pioneers-15.5/m4/ltoptions.m40000644000175000017500000003426213252243600013032 00000000000000# Helper functions for option handling. -*- Autoconf -*- # # Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software # Foundation, Inc. # Written by Gary V. Vaughan, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # serial 8 ltoptions.m4 # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) # _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) # ------------------------------------------ m4_define([_LT_MANGLE_OPTION], [[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) # _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) # --------------------------------------- # Set option OPTION-NAME for macro MACRO-NAME, and if there is a # matching handler defined, dispatch to it. Other OPTION-NAMEs are # saved as a flag. m4_define([_LT_SET_OPTION], [m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), _LT_MANGLE_DEFUN([$1], [$2]), [m4_warning([Unknown $1 option '$2'])])[]dnl ]) # _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) # ------------------------------------------------------------ # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. m4_define([_LT_IF_OPTION], [m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) # _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) # ------------------------------------------------------- # Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME # are set. m4_define([_LT_UNLESS_OPTIONS], [m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), [m4_define([$0_found])])])[]dnl m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 ])[]dnl ]) # _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) # ---------------------------------------- # OPTION-LIST is a space-separated list of Libtool options associated # with MACRO-NAME. If any OPTION has a matching handler declared with # LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about # the unknown option and exit. m4_defun([_LT_SET_OPTIONS], [# Set options m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), [_LT_SET_OPTION([$1], _LT_Option)]) m4_if([$1],[LT_INIT],[ dnl dnl Simply set some default values (i.e off) if boolean options were not dnl specified: _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no ]) _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no ]) dnl dnl If no reference was made to various pairs of opposing options, then dnl we run the default mode handler for the pair. For example, if neither dnl 'shared' nor 'disable-shared' was passed, we enable building of shared dnl archives by default: _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], [_LT_ENABLE_FAST_INSTALL]) _LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4], [_LT_WITH_AIX_SONAME([aix])]) ]) ])# _LT_SET_OPTIONS ## --------------------------------- ## ## Macros to handle LT_INIT options. ## ## --------------------------------- ## # _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) # ----------------------------------------- m4_define([_LT_MANGLE_DEFUN], [[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) # LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) # ----------------------------------------------- m4_define([LT_OPTION_DEFINE], [m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl ])# LT_OPTION_DEFINE # dlopen # ------ LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes ]) AU_DEFUN([AC_LIBTOOL_DLOPEN], [_LT_SET_OPTION([LT_INIT], [dlopen]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the 'dlopen' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) # win32-dll # --------- # Declare package support for building win32 dll's. LT_OPTION_DEFINE([LT_INIT], [win32-dll], [enable_win32_dll=yes case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) AC_CHECK_TOOL(AS, as, false) AC_CHECK_TOOL(DLLTOOL, dlltool, false) AC_CHECK_TOOL(OBJDUMP, objdump, false) ;; esac test -z "$AS" && AS=as _LT_DECL([], [AS], [1], [Assembler program])dnl test -z "$DLLTOOL" && DLLTOOL=dlltool _LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl test -z "$OBJDUMP" && OBJDUMP=objdump _LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl ])# win32-dll AU_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_REQUIRE([AC_CANONICAL_HOST])dnl _LT_SET_OPTION([LT_INIT], [win32-dll]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the 'win32-dll' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) # _LT_ENABLE_SHARED([DEFAULT]) # ---------------------------- # implement the --enable-shared flag, and supports the 'shared' and # 'disable-shared' LT_INIT options. # DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. m4_define([_LT_ENABLE_SHARED], [m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([shared], [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_shared=yes ;; no) enable_shared=no ;; *) enable_shared=no # Look at the argument we got. We use all the common list separators. lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for pkg in $enableval; do IFS=$lt_save_ifs if test "X$pkg" = "X$p"; then enable_shared=yes fi done IFS=$lt_save_ifs ;; esac], [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) _LT_DECL([build_libtool_libs], [enable_shared], [0], [Whether or not to build shared libraries]) ])# _LT_ENABLE_SHARED LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) # Old names: AC_DEFUN([AC_ENABLE_SHARED], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) ]) AC_DEFUN([AC_DISABLE_SHARED], [_LT_SET_OPTION([LT_INIT], [disable-shared]) ]) AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_ENABLE_SHARED], []) dnl AC_DEFUN([AM_DISABLE_SHARED], []) # _LT_ENABLE_STATIC([DEFAULT]) # ---------------------------- # implement the --enable-static flag, and support the 'static' and # 'disable-static' LT_INIT options. # DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. m4_define([_LT_ENABLE_STATIC], [m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([static], [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_static=yes ;; no) enable_static=no ;; *) enable_static=no # Look at the argument we got. We use all the common list separators. lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for pkg in $enableval; do IFS=$lt_save_ifs if test "X$pkg" = "X$p"; then enable_static=yes fi done IFS=$lt_save_ifs ;; esac], [enable_static=]_LT_ENABLE_STATIC_DEFAULT) _LT_DECL([build_old_libs], [enable_static], [0], [Whether or not to build static libraries]) ])# _LT_ENABLE_STATIC LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) # Old names: AC_DEFUN([AC_ENABLE_STATIC], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) ]) AC_DEFUN([AC_DISABLE_STATIC], [_LT_SET_OPTION([LT_INIT], [disable-static]) ]) AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_ENABLE_STATIC], []) dnl AC_DEFUN([AM_DISABLE_STATIC], []) # _LT_ENABLE_FAST_INSTALL([DEFAULT]) # ---------------------------------- # implement the --enable-fast-install flag, and support the 'fast-install' # and 'disable-fast-install' LT_INIT options. # DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. m4_define([_LT_ENABLE_FAST_INSTALL], [m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([fast-install], [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_fast_install=yes ;; no) enable_fast_install=no ;; *) enable_fast_install=no # Look at the argument we got. We use all the common list separators. lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for pkg in $enableval; do IFS=$lt_save_ifs if test "X$pkg" = "X$p"; then enable_fast_install=yes fi done IFS=$lt_save_ifs ;; esac], [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) _LT_DECL([fast_install], [enable_fast_install], [0], [Whether or not to optimize for fast installation])dnl ])# _LT_ENABLE_FAST_INSTALL LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) # Old names: AU_DEFUN([AC_ENABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the 'fast-install' option into LT_INIT's first parameter.]) ]) AU_DEFUN([AC_DISABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], [disable-fast-install]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the 'disable-fast-install' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) # _LT_WITH_AIX_SONAME([DEFAULT]) # ---------------------------------- # implement the --with-aix-soname flag, and support the `aix-soname=aix' # and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT # is either `aix', `both' or `svr4'. If omitted, it defaults to `aix'. m4_define([_LT_WITH_AIX_SONAME], [m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl shared_archive_member_spec= case $host,$enable_shared in power*-*-aix[[5-9]]*,yes) AC_MSG_CHECKING([which variant of shared library versioning to provide]) AC_ARG_WITH([aix-soname], [AS_HELP_STRING([--with-aix-soname=aix|svr4|both], [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])], [case $withval in aix|svr4|both) ;; *) AC_MSG_ERROR([Unknown argument to --with-aix-soname]) ;; esac lt_cv_with_aix_soname=$with_aix_soname], [AC_CACHE_VAL([lt_cv_with_aix_soname], [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT) with_aix_soname=$lt_cv_with_aix_soname]) AC_MSG_RESULT([$with_aix_soname]) if test aix != "$with_aix_soname"; then # For the AIX way of multilib, we name the shared archive member # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, # the AIX toolchain works better with OBJECT_MODE set (default 32). if test 64 = "${OBJECT_MODE-32}"; then shared_archive_member_spec=shr_64 else shared_archive_member_spec=shr fi fi ;; *) with_aix_soname=aix ;; esac _LT_DECL([], [shared_archive_member_spec], [0], [Shared archive member basename, for filename based shared library versioning on AIX])dnl ])# _LT_WITH_AIX_SONAME LT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])]) LT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])]) LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])]) # _LT_WITH_PIC([MODE]) # -------------------- # implement the --with-pic flag, and support the 'pic-only' and 'no-pic' # LT_INIT options. # MODE is either 'yes' or 'no'. If omitted, it defaults to 'both'. m4_define([_LT_WITH_PIC], [AC_ARG_WITH([pic], [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@], [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], [lt_p=${PACKAGE-default} case $withval in yes|no) pic_mode=$withval ;; *) pic_mode=default # Look at the argument we got. We use all the common list separators. lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, for lt_pkg in $withval; do IFS=$lt_save_ifs if test "X$lt_pkg" = "X$lt_p"; then pic_mode=yes fi done IFS=$lt_save_ifs ;; esac], [pic_mode=m4_default([$1], [default])]) _LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl ])# _LT_WITH_PIC LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) # Old name: AU_DEFUN([AC_LIBTOOL_PICMODE], [_LT_SET_OPTION([LT_INIT], [pic-only]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the 'pic-only' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) ## ----------------- ## ## LTDL_INIT Options ## ## ----------------- ## m4_define([_LTDL_MODE], []) LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], [m4_define([_LTDL_MODE], [nonrecursive])]) LT_OPTION_DEFINE([LTDL_INIT], [recursive], [m4_define([_LTDL_MODE], [recursive])]) LT_OPTION_DEFINE([LTDL_INIT], [subproject], [m4_define([_LTDL_MODE], [subproject])]) m4_define([_LTDL_TYPE], []) LT_OPTION_DEFINE([LTDL_INIT], [installable], [m4_define([_LTDL_TYPE], [installable])]) LT_OPTION_DEFINE([LTDL_INIT], [convenience], [m4_define([_LTDL_TYPE], [convenience])]) pioneers-15.5/m4/ltversion.m40000644000175000017500000000127313252243600013020 00000000000000# ltversion.m4 -- version numbers -*- Autoconf -*- # # Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc. # Written by Scott James Remnant, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # @configure_input@ # serial 4179 ltversion.m4 # This file is part of GNU Libtool m4_define([LT_PACKAGE_VERSION], [2.4.6]) m4_define([LT_PACKAGE_REVISION], [2.4.6]) AC_DEFUN([LTVERSION_VERSION], [macro_version='2.4.6' macro_revision='2.4.6' _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) _LT_DECL(, macro_revision, 0) ]) pioneers-15.5/m4/pkg.m40000644000175000017500000002400513252243573011563 00000000000000dnl pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- dnl serial 11 (pkg-config-0.29) dnl dnl Copyright © 2004 Scott James Remnant . dnl Copyright © 2012-2015 Dan Nicholson dnl dnl This program is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by dnl the Free Software Foundation; either version 2 of the License, or dnl (at your option) any later version. dnl dnl This program is distributed in the hope that it will be useful, but dnl WITHOUT ANY WARRANTY; without even the implied warranty of dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU dnl General Public License for more details. dnl dnl You should have received a copy of the GNU General Public License dnl along with this program; if not, write to the Free Software dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA dnl 02111-1307, USA. dnl dnl As a special exception to the GNU General Public License, if you dnl distribute this file as part of a program that contains a dnl configuration script generated by Autoconf, you may include it under dnl the same distribution terms that you use for the rest of that dnl program. dnl PKG_PREREQ(MIN-VERSION) dnl ----------------------- dnl Since: 0.29 dnl dnl Verify that the version of the pkg-config macros are at least dnl MIN-VERSION. Unlike PKG_PROG_PKG_CONFIG, which checks the user's dnl installed version of pkg-config, this checks the developer's version dnl of pkg.m4 when generating configure. dnl dnl To ensure that this macro is defined, also add: dnl m4_ifndef([PKG_PREREQ], dnl [m4_fatal([must install pkg-config 0.29 or later before running autoconf/autogen])]) dnl dnl See the "Since" comment for each macro you use to see what version dnl of the macros you require. m4_defun([PKG_PREREQ], [m4_define([PKG_MACROS_VERSION], [0.29]) m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1, [m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])]) ])dnl PKG_PREREQ dnl PKG_PROG_PKG_CONFIG([MIN-VERSION]) dnl ---------------------------------- dnl Since: 0.16 dnl dnl Search for the pkg-config tool and set the PKG_CONFIG variable to dnl first found in the path. Checks that the version of pkg-config found dnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is dnl used since that's the first version where most current features of dnl pkg-config existed. AC_DEFUN([PKG_PROG_PKG_CONFIG], [m4_pattern_forbid([^_?PKG_[A-Z_]+$]) m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$]) m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$]) AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility]) AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path]) AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path]) if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) fi if test -n "$PKG_CONFIG"; then _pkg_min_version=m4_default([$1], [0.9.0]) AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) PKG_CONFIG="" fi fi[]dnl ])dnl PKG_PROG_PKG_CONFIG dnl PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) dnl ------------------------------------------------------------------- dnl Since: 0.18 dnl dnl Check to see whether a particular set of modules exists. Similar to dnl PKG_CHECK_MODULES(), but does not set variables or print errors. dnl dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) dnl only at the first occurence in configure.ac, so if the first place dnl it's called might be skipped (such as if it is within an "if", you dnl have to call PKG_CHECK_EXISTS manually AC_DEFUN([PKG_CHECK_EXISTS], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl if test -n "$PKG_CONFIG" && \ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then m4_default([$2], [:]) m4_ifvaln([$3], [else $3])dnl fi]) dnl _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) dnl --------------------------------------------- dnl Internal wrapper calling pkg-config via PKG_CONFIG and setting dnl pkg_failed based on the result. m4_define([_PKG_CONFIG], [if test -n "$$1"; then pkg_cv_[]$1="$$1" elif test -n "$PKG_CONFIG"; then PKG_CHECK_EXISTS([$3], [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes]) else pkg_failed=untried fi[]dnl ])dnl _PKG_CONFIG dnl _PKG_SHORT_ERRORS_SUPPORTED dnl --------------------------- dnl Internal check to see if pkg-config supports short errors. AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], [AC_REQUIRE([PKG_PROG_PKG_CONFIG]) if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi[]dnl ])dnl _PKG_SHORT_ERRORS_SUPPORTED dnl PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], dnl [ACTION-IF-NOT-FOUND]) dnl -------------------------------------------------------------- dnl Since: 0.4.0 dnl dnl Note that if there is a possibility the first call to dnl PKG_CHECK_MODULES might not happen, you should be sure to include an dnl explicit call to PKG_PROG_PKG_CONFIG in your configure.ac AC_DEFUN([PKG_CHECK_MODULES], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl pkg_failed=no AC_MSG_CHECKING([for $1]) _PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) _PKG_CONFIG([$1][_LIBS], [libs], [$2]) m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS and $1[]_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.]) if test $pkg_failed = yes; then AC_MSG_RESULT([no]) _PKG_SHORT_ERRORS_SUPPORTED if test $_pkg_short_errors_supported = yes; then $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1` else $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD m4_default([$4], [AC_MSG_ERROR( [Package requirements ($2) were not met: $$1_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. _PKG_TEXT])[]dnl ]) elif test $pkg_failed = untried; then AC_MSG_RESULT([no]) m4_default([$4], [AC_MSG_FAILURE( [The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. _PKG_TEXT To get pkg-config, see .])[]dnl ]) else $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS $1[]_LIBS=$pkg_cv_[]$1[]_LIBS AC_MSG_RESULT([yes]) $3 fi[]dnl ])dnl PKG_CHECK_MODULES dnl PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], dnl [ACTION-IF-NOT-FOUND]) dnl --------------------------------------------------------------------- dnl Since: 0.29 dnl dnl Checks for existence of MODULES and gathers its build flags with dnl static libraries enabled. Sets VARIABLE-PREFIX_CFLAGS from --cflags dnl and VARIABLE-PREFIX_LIBS from --libs. dnl dnl Note that if there is a possibility the first call to dnl PKG_CHECK_MODULES_STATIC might not happen, you should be sure to dnl include an explicit call to PKG_PROG_PKG_CONFIG in your dnl configure.ac. AC_DEFUN([PKG_CHECK_MODULES_STATIC], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl _save_PKG_CONFIG=$PKG_CONFIG PKG_CONFIG="$PKG_CONFIG --static" PKG_CHECK_MODULES($@) PKG_CONFIG=$_save_PKG_CONFIG[]dnl ])dnl PKG_CHECK_MODULES_STATIC dnl PKG_INSTALLDIR([DIRECTORY]) dnl ------------------------- dnl Since: 0.27 dnl dnl Substitutes the variable pkgconfigdir as the location where a module dnl should install pkg-config .pc files. By default the directory is dnl $libdir/pkgconfig, but the default can be changed by passing dnl DIRECTORY. The user can override through the --with-pkgconfigdir dnl parameter. AC_DEFUN([PKG_INSTALLDIR], [m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])]) m4_pushdef([pkg_description], [pkg-config installation directory @<:@]pkg_default[@:>@]) AC_ARG_WITH([pkgconfigdir], [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],, [with_pkgconfigdir=]pkg_default) AC_SUBST([pkgconfigdir], [$with_pkgconfigdir]) m4_popdef([pkg_default]) m4_popdef([pkg_description]) ])dnl PKG_INSTALLDIR dnl PKG_NOARCH_INSTALLDIR([DIRECTORY]) dnl -------------------------------- dnl Since: 0.27 dnl dnl Substitutes the variable noarch_pkgconfigdir as the location where a dnl module should install arch-independent pkg-config .pc files. By dnl default the directory is $datadir/pkgconfig, but the default can be dnl changed by passing DIRECTORY. The user can override through the dnl --with-noarch-pkgconfigdir parameter. AC_DEFUN([PKG_NOARCH_INSTALLDIR], [m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])]) m4_pushdef([pkg_description], [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@]) AC_ARG_WITH([noarch-pkgconfigdir], [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],, [with_noarch_pkgconfigdir=]pkg_default) AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir]) m4_popdef([pkg_default]) m4_popdef([pkg_description]) ])dnl PKG_NOARCH_INSTALLDIR dnl PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE, dnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) dnl ------------------------------------------- dnl Since: 0.28 dnl dnl Retrieves the value of the pkg-config variable for the given module. AC_DEFUN([PKG_CHECK_VAR], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl _PKG_CONFIG([$1], [variable="][$3]["], [$2]) AS_VAR_COPY([$1], [pkg_cv_][$1]) AS_VAR_IF([$1], [""], [$5], [$4])dnl ])dnl PKG_CHECK_VAR pioneers-15.5/m4/ltsugar.m40000644000175000017500000001044013252243600012450 00000000000000# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- # # Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software # Foundation, Inc. # Written by Gary V. Vaughan, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # serial 6 ltsugar.m4 # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) # lt_join(SEP, ARG1, [ARG2...]) # ----------------------------- # Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their # associated separator. # Needed until we can rely on m4_join from Autoconf 2.62, since all earlier # versions in m4sugar had bugs. m4_define([lt_join], [m4_if([$#], [1], [], [$#], [2], [[$2]], [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) m4_define([_lt_join], [m4_if([$#$2], [2], [], [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) # lt_car(LIST) # lt_cdr(LIST) # ------------ # Manipulate m4 lists. # These macros are necessary as long as will still need to support # Autoconf-2.59, which quotes differently. m4_define([lt_car], [[$1]]) m4_define([lt_cdr], [m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], [$#], 1, [], [m4_dquote(m4_shift($@))])]) m4_define([lt_unquote], $1) # lt_append(MACRO-NAME, STRING, [SEPARATOR]) # ------------------------------------------ # Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'. # Note that neither SEPARATOR nor STRING are expanded; they are appended # to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). # No SEPARATOR is output if MACRO-NAME was previously undefined (different # than defined and empty). # # This macro is needed until we can rely on Autoconf 2.62, since earlier # versions of m4sugar mistakenly expanded SEPARATOR but not STRING. m4_define([lt_append], [m4_define([$1], m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) # lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) # ---------------------------------------------------------- # Produce a SEP delimited list of all paired combinations of elements of # PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list # has the form PREFIXmINFIXSUFFIXn. # Needed until we can rely on m4_combine added in Autoconf 2.62. m4_define([lt_combine], [m4_if(m4_eval([$# > 3]), [1], [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl [[m4_foreach([_Lt_prefix], [$2], [m4_foreach([_Lt_suffix], ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) # lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) # ----------------------------------------------------------------------- # Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited # by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. m4_define([lt_if_append_uniq], [m4_ifdef([$1], [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], [lt_append([$1], [$2], [$3])$4], [$5])], [lt_append([$1], [$2], [$3])$4])]) # lt_dict_add(DICT, KEY, VALUE) # ----------------------------- m4_define([lt_dict_add], [m4_define([$1($2)], [$3])]) # lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) # -------------------------------------------- m4_define([lt_dict_add_subkey], [m4_define([$1($2:$3)], [$4])]) # lt_dict_fetch(DICT, KEY, [SUBKEY]) # ---------------------------------- m4_define([lt_dict_fetch], [m4_ifval([$3], m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) # lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) # ----------------------------------------------------------------- m4_define([lt_if_dict_fetch], [m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], [$5], [$6])]) # lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) # -------------------------------------------------------------- m4_define([lt_dict_filter], [m4_if([$5], [], [], [lt_join(m4_quote(m4_default([$4], [[, ]])), lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl ]) pioneers-15.5/m4/lt~obsolete.m40000644000175000017500000001377413252243600013356 00000000000000# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- # # Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software # Foundation, Inc. # Written by Scott James Remnant, 2004. # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # serial 5 lt~obsolete.m4 # These exist entirely to fool aclocal when bootstrapping libtool. # # In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN), # which have later been changed to m4_define as they aren't part of the # exported API, or moved to Autoconf or Automake where they belong. # # The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN # in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us # using a macro with the same name in our local m4/libtool.m4 it'll # pull the old libtool.m4 in (it doesn't see our shiny new m4_define # and doesn't know about Autoconf macros at all.) # # So we provide this file, which has a silly filename so it's always # included after everything else. This provides aclocal with the # AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything # because those macros already exist, or will be overwritten later. # We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. # # Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. # Yes, that means every name once taken will need to remain here until # we give up compatibility with versions before 1.7, at which point # we need to keep only those names which we still refer to. # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])]) m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])]) m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])]) m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])]) m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])]) m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])]) m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])]) pioneers-15.5/m4/gob2.m40000644000175000017500000000304613252243573011635 00000000000000dnl dnl GOB_HOOK(script if found, fail) dnl if fail = "failure", abort if GOB not found dnl AC_DEFUN([GOB2_HOOK],[ AC_PATH_PROG(GOB2,gob2) if test ! x$GOB2 = x; then if test ! x$1 = x; then AC_MSG_CHECKING(for gob-2 >= $1) g_r_ve=`echo $1|sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` g_r_ma=`echo $1|sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` g_r_mi=`echo $1|sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` g_ve=`$GOB2 --version 2>&1|sed 's/Gob version \([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` g_ma=`$GOB2 --version 2>&1|sed 's/Gob version \([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` g_mi=`$GOB2 --version 2>&1|sed 's/Gob version \([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` if test $g_ve -eq $g_r_ve; then if test $g_ma -ge $g_r_ma; then if test $g_mi -ge $g_r_mi; then AC_MSG_RESULT(ok) else if test $g_ma -gt $g_r_ma; then AC_MSG_RESULT(ok) else AC_MSG_ERROR("found $g_ve.$g_ma.$g_mi requires $g_r_ve.$g_r_ma.$g_r_mi") fi fi else AC_MSG_ERROR("found $g_ve.$g_ma.$g_mi requires $g_r_ve.$g_r_ma.$g_r_mi") fi else if test $g_ve -gt $g_r_ve; then AC_MSG_RESULT(ok) else AC_MSG_ERROR(major version $g_ve found but $g_r_ve required) fi fi unset gob_version unset g_ve unset g_ma unset g_mi unset g_r_ve unset g_r_ma unset g_r_mi fi AC_SUBST(GOB2) $2 else $3 fi ]) AC_DEFUN([GOB2_CHECK],[ GOB2_HOOK($1,[],[AC_MSG_ERROR([Cannot find GOB-2, check http://www.5z.com/jirka/gob.html])]) ]) pioneers-15.5/m4/yelp.m40000644000175000017500000001754113252243573011762 00000000000000AC_DEFUN([YELP_HELP_INIT], [ AC_REQUIRE([AC_PROG_LN_S]) m4_pattern_allow([AM_V_at]) m4_pattern_allow([AM_V_GEN]) m4_pattern_allow([AM_DEFAULT_VERBOSITY]) YELP_LC_MEDIA_LINKS=true YELP_LC_DIST=true for yelpopt in [$1]; do case $yelpopt in lc-media-links) YELP_LC_MEDIA_LINKS=true ;; no-lc-media-links) YELP_LC_MEDIA_LINKS= ;; lc-dist) YELP_LC_DIST=true ;; no-lc-dist) YELP_LC_DIST= ;; *) AC_MSG_ERROR([Unrecognized [YELP_HELP_INIT] option $yelpopt"]) ;; esac done; AC_SUBST([YELP_LC_MEDIA_LINKS]) AC_SUBST([YELP_LC_DIST]) AC_ARG_WITH([help-dir], AS_HELP_STRING([--with-help-dir=DIR], [path where help files are installed]),, [with_help_dir='${datadir}/help']) HELP_DIR="$with_help_dir" AC_SUBST(HELP_DIR) AC_ARG_VAR([ITSTOOL], [Path to the `itstool` command]) AC_CHECK_PROG([ITSTOOL], [itstool], [itstool]) if test x"$ITSTOOL" = x; then AC_MSG_ERROR([itstool not found]) fi AC_ARG_VAR([XMLLINT], [Path to the `xmllint` command]) AC_CHECK_PROG([XMLLINT], [xmllint], [xmllint]) if test x"$XMLLINT" = x; then AC_MSG_ERROR([xmllint not found]) fi YELP_HELP_RULES=' HELP_ID ?= HELP_POT ?= HELP_FILES ?= HELP_EXTRA ?= HELP_MEDIA ?= HELP_LINGUAS ?= _HELP_LINGUAS = $(if $(filter environment,$(origin LINGUAS)),$(filter $(LINGUAS),$(HELP_LINGUAS)),$(HELP_LINGUAS)) _HELP_POTFILE = $(if $(HELP_POT),$(HELP_POT),$(if $(HELP_ID),$(HELP_ID).pot)) _HELP_POFILES = $(if $(HELP_ID),$(foreach lc,$(_HELP_LINGUAS),$(lc)/$(lc).po)) _HELP_MOFILES = $(patsubst %.po,%.mo,$(_HELP_POFILES)) _HELP_C_FILES = $(foreach f,$(HELP_FILES),C/$(f)) _HELP_C_EXTRA = $(foreach f,$(HELP_EXTRA),C/$(f)) _HELP_C_MEDIA = $(foreach f,$(HELP_MEDIA),C/$(f)) _HELP_LC_FILES = $(foreach lc,$(_HELP_LINGUAS),$(foreach f,$(HELP_FILES),$(lc)/$(f))) _HELP_LC_STAMPS = $(foreach lc,$(_HELP_LINGUAS),$(lc)/$(lc).stamp) _HELP_DEFAULT_V = $(if $(AM_DEFAULT_VERBOSITY),$(AM_DEFAULT_VERBOSITY),1) _HELP_V = $(if $(V),$(V),$(_HELP_DEFAULT_V)) _HELP_LC_VERBOSE = $(_HELP_LC_VERBOSE_$(_HELP_V)) _HELP_LC_VERBOSE_ = $(_HELP_LC_VERBOSE_$(_HELP_DEFAULT_V)) _HELP_LC_VERBOSE_0 = @echo " GEN "$(dir [$]@); all: $(_HELP_C_FILES) $(_HELP_C_EXTRA) $(_HELP_C_MEDIA) $(_HELP_LC_FILES) $(_HELP_POFILES) .PHONY: pot pot: $(_HELP_POTFILE) $(_HELP_POTFILE): $(_HELP_C_FILES) $(_HELP_C_EXTRA) $(_HELP_C_MEDIA) $(AM_V_GEN)if test -d "C"; then d=; else d="$(srcdir)/"; fi; \ $(ITSTOOL) -o "[$]@" $(foreach f,$(_HELP_C_FILES),"$${d}$(f)") .PHONY: repo repo: $(_HELP_POTFILE) $(AM_V_at)for po in $(_HELP_POFILES); do \ if test "x[$](_HELP_V)" = "x0"; then echo " GEN $${po}"; fi; \ msgmerge -q -o "$${po}" "$${po}" "$(_HELP_POTFILE)"; \ done $(_HELP_POFILES): $(AM_V_at)if ! test -d "$(dir [$]@)"; then mkdir "$(dir [$]@)"; fi $(AM_V_at)if test ! -f "[$]@" -a -f "$(srcdir)/[$]@"; then cp "$(srcdir)/[$]@" "[$]@"; fi $(AM_V_GEN)if ! test -f "[$]@"; then \ (cd "$(dir [$]@)" && \ $(ITSTOOL) -o "$(notdir [$]@).tmp" $(_HELP_C_FILES) && \ mv "$(notdir [$]@).tmp" "$(notdir [$]@)"); \ else \ (cd "$(dir [$]@)" && \ $(ITSTOOL) -o "$(notdir [$]@).tmp" $(_HELP_C_FILES) && \ msgmerge -o "$(notdir [$]@)" "$(notdir [$]@)" "$(notdir [$]@).tmp" && \ rm "$(notdir [$]@).tmp"); \ fi $(_HELP_MOFILES): %.mo: %.po $(AM_V_at)if ! test -d "$(dir [$]@)"; then mkdir "$(dir [$]@)"; fi $(AM_V_GEN)msgfmt -o "[$]@" "$<" $(_HELP_LC_FILES): $(_HELP_LINGUAS) $(_HELP_LINGUAS): $(_HELP_LC_STAMPS) $(_HELP_LC_STAMPS): %.stamp: %.mo $(_HELP_LC_STAMPS): $(_HELP_C_FILES) $(_HELP_C_EXTRA) $(AM_V_at)if ! test -d "$(dir [$]@)"; then mkdir "$(dir [$]@)"; fi $(_HELP_LC_VERBOSE)if test -d "C"; then d="../"; else d="$(abs_srcdir)/"; fi; \ mo="$(dir [$]@)$(patsubst %/$(notdir [$]@),%,[$]@).mo"; \ if test -f "$${mo}"; then mo="../$${mo}"; else mo="$(abs_srcdir)/$${mo}"; fi; \ (cd "$(dir [$]@)" && $(ITSTOOL) -m "$${mo}" $(foreach f,$(_HELP_C_FILES),$${d}/$(f))) && \ touch "[$]@" .PHONY: clean-help mostlyclean-am: $(if $(HELP_ID),clean-help) clean-help: rm -f $(_HELP_LC_FILES) $(_HELP_LC_STAMPS) $(_HELP_MOFILES) EXTRA_DIST ?= EXTRA_DIST += $(_HELP_C_EXTRA) $(_HELP_C_MEDIA) EXTRA_DIST += $(if $(YELP_LC_DIST),$(foreach lc,$(HELP_LINGUAS),$(lc)/$(lc).stamp)) EXTRA_DIST += $(foreach lc,$(HELP_LINGUAS),$(lc)/$(lc).po) EXTRA_DIST += $(foreach f,$(HELP_MEDIA),$(foreach lc,$(HELP_LINGUAS),$(wildcard $(lc)/$(f)))) distdir: distdir-help-files distdir-help-files: $(_HELP_LC_FILES) @for lc in C $(if $(YELP_LC_DIST),$(HELP_LINGUAS)) ; do \ $(MKDIR_P) "$(distdir)/$$lc"; \ for file in $(HELP_FILES); do \ if test -f "$$lc/$$file"; then d=./; else d=$(srcdir)/; fi; \ cp -p "$$d$$lc/$$file" "$(distdir)/$$lc/" || exit 1; \ done; \ done; \ .PHONY: check-help check: check-help check-help: for lc in C $(_HELP_LINGUAS); do \ if test -d "$$lc"; \ then d=; \ xmlpath="$$lc"; \ else \ d="$(srcdir)/"; \ xmlpath="$$lc:$(srcdir)/$$lc"; \ fi; \ for page in $(HELP_FILES); do \ echo "$(XMLLINT) --nonet --noout --noent --path $$xmlpath --xinclude $$d$$lc/$$page"; \ $(XMLLINT) --nonet --noout --noent --path "$$xmlpath" --xinclude "$$d$$lc/$$page"; \ done; \ done .PHONY: install-help install-data-am: $(if $(HELP_ID),install-help) install-help: $(_HELP_LC_FILES) @for lc in C $(_HELP_LINGUAS); do \ $(mkinstalldirs) "$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)" || exit 1; \ done @for lc in C $(_HELP_LINGUAS); do for f in $(HELP_FILES); do \ if test -f "$$lc/$$f"; then d=; else d="$(srcdir)/"; fi; \ helpdir="$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)/"; \ if ! test -d "$$helpdir"; then $(mkinstalldirs) "$$helpdir"; fi; \ echo "$(INSTALL_DATA) $$d$$lc/$$f $$helpdir`basename $$f`"; \ $(INSTALL_DATA) "$$d$$lc/$$f" "$$helpdir`basename $$f`" || exit 1; \ done; done @for f in $(_HELP_C_EXTRA); do \ lc=`dirname "$$f"`; lc=`basename "$$lc"`; \ if test -f "$$f"; then d=; else d="$(srcdir)/"; fi; \ helpdir="$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)/"; \ if ! test -d "$$helpdir"; then $(mkinstalldirs) "$$helpdir"; fi; \ echo "$(INSTALL_DATA) $$d$$f $$helpdir`basename $$f`"; \ $(INSTALL_DATA) "$$d$$f" "$$helpdir`basename $$f`" || exit 1; \ done @for f in $(HELP_MEDIA); do \ for lc in C $(_HELP_LINGUAS); do \ if test -f "$$lc$$f"; then d=; else d="$(srcdir)/"; fi; \ helpdir="$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)/"; \ mdir=`dirname "$$f"`; \ if test "x$mdir" = "x."; then mdir=""; fi; \ if ! test -d "$$helpdir$$mdir"; then $(mkinstalldirs) "$$helpdir$$mdir"; fi; \ if test -f "$$d$$lc/$$f"; then \ echo "$(INSTALL_DATA) $$d$$lc/$$f $$helpdir$$f"; \ $(INSTALL_DATA) "$$d$$lc/$$f" "$$helpdir$$f" || exit 1; \ elif test "x$$lc" != "xC"; then \ if test "x$(YELP_LC_MEDIA_LINKS)" != "x"; then \ echo "$(LN_S) -f $(HELP_DIR)/C/$(HELP_ID)/$$f $$helpdir$$f"; \ dname="$$f"; \ pars="../"; \ while test "$$dname" != "." -a "$$dname" != "/"; do \ pars="../$$pars"; \ dname=$$(dirname "$$dname"); \ done; \ $(LN_S) -f $$pars"C/$(HELP_ID)/$$f" "$$helpdir$$f" || exit 1; \ fi; \ fi; \ done; \ done .PHONY: uninstall-help uninstall-am: $(if $(HELP_ID),uninstall-help) uninstall-help: for lc in C $(_HELP_LINGUAS); do for f in $(HELP_FILES); do \ helpdir="$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)/"; \ echo "rm -f $$helpdir`basename $$f`"; \ rm -f "$$helpdir`basename $$f`"; \ done; done @for f in $(_HELP_C_EXTRA); do \ lc=`dirname "$$f"`; lc=`basename "$$lc"`; \ helpdir="$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)/"; \ echo "rm -f $$helpdir`basename $$f`"; \ rm -f "$$helpdir`basename $$f`"; \ done @for f in $(HELP_MEDIA); do \ for lc in C $(_HELP_LINGUAS); do \ helpdir="$(DESTDIR)$(HELP_DIR)/$$lc/$(HELP_ID)/"; \ echo "rm -f $$helpdir$$f"; \ rm -f "$$helpdir$$f"; \ done; \ done; ' AC_SUBST([YELP_HELP_RULES]) m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([YELP_HELP_RULES])]) ]) pioneers-15.5/m4/intltool.m40000644000175000017500000002636113252243574012656 00000000000000## intltool.m4 - Configure intltool for the target system. -*-Shell-script-*- ## Copyright (C) 2001 Eazel, Inc. ## Author: Maciej Stachowiak ## Kenneth Christiansen ## ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation; either version 2 of the License, or ## (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program; if not, write to the Free Software ## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ## ## As a special exception to the GNU General Public License, if you ## distribute this file as part of a program that contains a ## configuration script generated by Autoconf, you may include it under ## the same distribution terms that you use for the rest of that program. dnl IT_PROG_INTLTOOL([MINIMUM-VERSION], [no-xml]) # serial 42 IT_PROG_INTLTOOL AC_DEFUN([IT_PROG_INTLTOOL], [ AC_PREREQ([2.50])dnl AC_REQUIRE([AM_NLS])dnl case "$am__api_version" in 1.[01234]) AC_MSG_ERROR([Automake 1.5 or newer is required to use intltool]) ;; *) ;; esac INTLTOOL_REQUIRED_VERSION_AS_INT=`echo $1 | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` INTLTOOL_APPLIED_VERSION=`intltool-update --version | head -1 | cut -d" " -f3` INTLTOOL_APPLIED_VERSION_AS_INT=`echo $INTLTOOL_APPLIED_VERSION | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` if test -n "$1"; then AC_MSG_CHECKING([for intltool >= $1]) AC_MSG_RESULT([$INTLTOOL_APPLIED_VERSION found]) test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT" || AC_MSG_ERROR([Your intltool is too old. You need intltool $1 or later.]) fi AC_PATH_PROG(INTLTOOL_UPDATE, [intltool-update]) AC_PATH_PROG(INTLTOOL_MERGE, [intltool-merge]) AC_PATH_PROG(INTLTOOL_EXTRACT, [intltool-extract]) if test -z "$INTLTOOL_UPDATE" -o -z "$INTLTOOL_MERGE" -o -z "$INTLTOOL_EXTRACT"; then AC_MSG_ERROR([The intltool scripts were not found. Please install intltool.]) fi if test -z "$AM_DEFAULT_VERBOSITY"; then AM_DEFAULT_VERBOSITY=1 fi AC_SUBST([AM_DEFAULT_VERBOSITY]) INTLTOOL_V_MERGE='$(INTLTOOL__v_MERGE_$(V))' INTLTOOL__v_MERGE_='$(INTLTOOL__v_MERGE_$(AM_DEFAULT_VERBOSITY))' INTLTOOL__v_MERGE_0='@echo " ITMRG " [$]@;' AC_SUBST(INTLTOOL_V_MERGE) AC_SUBST(INTLTOOL__v_MERGE_) AC_SUBST(INTLTOOL__v_MERGE_0) INTLTOOL_V_MERGE_OPTIONS='$(intltool__v_merge_options_$(V))' intltool__v_merge_options_='$(intltool__v_merge_options_$(AM_DEFAULT_VERBOSITY))' intltool__v_merge_options_0='-q' AC_SUBST(INTLTOOL_V_MERGE_OPTIONS) AC_SUBST(intltool__v_merge_options_) AC_SUBST(intltool__v_merge_options_0) INTLTOOL_DESKTOP_RULE='%.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_DIRECTORY_RULE='%.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_KEYS_RULE='%.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_PROP_RULE='%.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_OAF_RULE='%.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -o -p $(top_srcdir)/po $< [$]@' INTLTOOL_PONG_RULE='%.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_SERVER_RULE='%.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_SHEET_RULE='%.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_SOUNDLIST_RULE='%.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_UI_RULE='%.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_XML_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' if test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge 5000; then INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u --no-translations $< [$]@' else INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; $(INTLTOOL_V_MERGE)_it_tmp_dir=tmp.intltool.[$][$]RANDOM && mkdir [$][$]_it_tmp_dir && LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u [$][$]_it_tmp_dir $< [$]@ && rmdir [$][$]_it_tmp_dir' fi INTLTOOL_XAM_RULE='%.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_KBD_RULE='%.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_CAVES_RULE='%.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_SCHEMAS_RULE='%.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_THEME_RULE='%.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_SERVICE_RULE='%.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_POLICY_RULE='%.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' _IT_SUBST(INTLTOOL_DESKTOP_RULE) _IT_SUBST(INTLTOOL_DIRECTORY_RULE) _IT_SUBST(INTLTOOL_KEYS_RULE) _IT_SUBST(INTLTOOL_PROP_RULE) _IT_SUBST(INTLTOOL_OAF_RULE) _IT_SUBST(INTLTOOL_PONG_RULE) _IT_SUBST(INTLTOOL_SERVER_RULE) _IT_SUBST(INTLTOOL_SHEET_RULE) _IT_SUBST(INTLTOOL_SOUNDLIST_RULE) _IT_SUBST(INTLTOOL_UI_RULE) _IT_SUBST(INTLTOOL_XAM_RULE) _IT_SUBST(INTLTOOL_KBD_RULE) _IT_SUBST(INTLTOOL_XML_RULE) _IT_SUBST(INTLTOOL_XML_NOMERGE_RULE) _IT_SUBST(INTLTOOL_CAVES_RULE) _IT_SUBST(INTLTOOL_SCHEMAS_RULE) _IT_SUBST(INTLTOOL_THEME_RULE) _IT_SUBST(INTLTOOL_SERVICE_RULE) _IT_SUBST(INTLTOOL_POLICY_RULE) # Check the gettext tools to make sure they are GNU AC_PATH_PROG(XGETTEXT, xgettext) AC_PATH_PROG(MSGMERGE, msgmerge) AC_PATH_PROG(MSGFMT, msgfmt) AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) if test -z "$XGETTEXT" -o -z "$MSGMERGE" -o -z "$MSGFMT"; then AC_MSG_ERROR([GNU gettext tools not found; required for intltool]) fi xgversion="`$XGETTEXT --version|grep '(GNU ' 2> /dev/null`" mmversion="`$MSGMERGE --version|grep '(GNU ' 2> /dev/null`" mfversion="`$MSGFMT --version|grep '(GNU ' 2> /dev/null`" if test -z "$xgversion" -o -z "$mmversion" -o -z "$mfversion"; then AC_MSG_ERROR([GNU gettext tools not found; required for intltool]) fi AC_PATH_PROG(INTLTOOL_PERL, perl) if test -z "$INTLTOOL_PERL"; then AC_MSG_ERROR([perl not found]) fi AC_MSG_CHECKING([for perl >= 5.8.1]) $INTLTOOL_PERL -e "use 5.8.1;" > /dev/null 2>&1 if test $? -ne 0; then AC_MSG_ERROR([perl 5.8.1 is required for intltool]) else IT_PERL_VERSION=`$INTLTOOL_PERL -e "printf '%vd', $^V"` AC_MSG_RESULT([$IT_PERL_VERSION]) fi if test "x$2" != "xno-xml"; then AC_MSG_CHECKING([for XML::Parser]) if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then AC_MSG_RESULT([ok]) else AC_MSG_ERROR([XML::Parser perl module is required for intltool]) fi fi # Substitute ALL_LINGUAS so we can use it in po/Makefile AC_SUBST(ALL_LINGUAS) IT_PO_SUBDIR([po]) ]) # IT_PO_SUBDIR(DIRNAME) # --------------------- # All po subdirs have to be declared with this macro; the subdir "po" is # declared by IT_PROG_INTLTOOL. # AC_DEFUN([IT_PO_SUBDIR], [AC_PREREQ([2.53])dnl We use ac_top_srcdir inside AC_CONFIG_COMMANDS. dnl dnl The following CONFIG_COMMANDS should be executed at the very end dnl of config.status. AC_CONFIG_COMMANDS_PRE([ AC_CONFIG_COMMANDS([$1/stamp-it], [ if [ ! grep "^# INTLTOOL_MAKEFILE$" "$1/Makefile.in" > /dev/null ]; then AC_MSG_ERROR([$1/Makefile.in.in was not created by intltoolize.]) fi rm -f "$1/stamp-it" "$1/stamp-it.tmp" "$1/POTFILES" "$1/Makefile.tmp" >"$1/stamp-it.tmp" [sed '/^#/d s/^[[].*] *// /^[ ]*$/d '"s|^| $ac_top_srcdir/|" \ "$srcdir/$1/POTFILES.in" | sed '$!s/$/ \\/' >"$1/POTFILES" ] [sed '/^POTFILES =/,/[^\\]$/ { /^POTFILES =/!d r $1/POTFILES } ' "$1/Makefile.in" >"$1/Makefile"] rm -f "$1/Makefile.tmp" mv "$1/stamp-it.tmp" "$1/stamp-it" ]) ])dnl ]) # _IT_SUBST(VARIABLE) # ------------------- # Abstract macro to do either _AM_SUBST_NOTMAKE or AC_SUBST # AC_DEFUN([_IT_SUBST], [ AC_SUBST([$1]) m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([$1])]) ] ) # deprecated macros AU_ALIAS([AC_PROG_INTLTOOL], [IT_PROG_INTLTOOL]) # A hint is needed for aclocal from Automake <= 1.9.4: # AC_DEFUN([AC_PROG_INTLTOOL], ...) pioneers-15.5/m4/nls.m40000644000175000017500000000230713252243573011577 00000000000000# nls.m4 serial 5 (gettext-0.18) dnl Copyright (C) 1995-2003, 2005-2006, 2008-2014, 2016 Free Software dnl Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2003. AC_PREREQ([2.50]) AC_DEFUN([AM_NLS], [ AC_MSG_CHECKING([whether NLS is requested]) dnl Default is enabled NLS AC_ARG_ENABLE([nls], [ --disable-nls do not use Native Language Support], USE_NLS=$enableval, USE_NLS=yes) AC_MSG_RESULT([$USE_NLS]) AC_SUBST([USE_NLS]) ]) pioneers-15.5/m4/libtool.m40000644000175000017500000112617113252243600012445 00000000000000# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- # # Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. m4_define([_LT_COPYING], [dnl # Copyright (C) 2014 Free Software Foundation, Inc. # This is free software; see the source for copying conditions. There is NO # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # GNU Libtool is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of of the License, or # (at your option) any later version. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program or library that is built # using GNU Libtool, you may include this file under the same # distribution terms that you use for the rest of that program. # # GNU Libtool is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . ]) # serial 58 LT_INIT # LT_PREREQ(VERSION) # ------------------ # Complain and exit if this libtool version is less that VERSION. m4_defun([LT_PREREQ], [m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, [m4_default([$3], [m4_fatal([Libtool version $1 or higher is required], 63)])], [$2])]) # _LT_CHECK_BUILDDIR # ------------------ # Complain if the absolute build directory name contains unusual characters m4_defun([_LT_CHECK_BUILDDIR], [case `pwd` in *\ * | *\ *) AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; esac ]) # LT_INIT([OPTIONS]) # ------------------ AC_DEFUN([LT_INIT], [AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl AC_BEFORE([$0], [LT_LANG])dnl AC_BEFORE([$0], [LT_OUTPUT])dnl AC_BEFORE([$0], [LTDL_INIT])dnl m4_require([_LT_CHECK_BUILDDIR])dnl dnl Autoconf doesn't catch unexpanded LT_ macros by default: m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 dnl unless we require an AC_DEFUNed macro: AC_REQUIRE([LTOPTIONS_VERSION])dnl AC_REQUIRE([LTSUGAR_VERSION])dnl AC_REQUIRE([LTVERSION_VERSION])dnl AC_REQUIRE([LTOBSOLETE_VERSION])dnl m4_require([_LT_PROG_LTMAIN])dnl _LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) dnl Parse OPTIONS _LT_SET_OPTIONS([$0], [$1]) # This can be used to rebuild libtool when needed LIBTOOL_DEPS=$ltmain # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' AC_SUBST(LIBTOOL)dnl _LT_SETUP # Only expand once: m4_define([LT_INIT]) ])# LT_INIT # Old names: AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_PROG_LIBTOOL], []) dnl AC_DEFUN([AM_PROG_LIBTOOL], []) # _LT_PREPARE_CC_BASENAME # ----------------------- m4_defun([_LT_PREPARE_CC_BASENAME], [ # Calculate cc_basename. Skip known compiler wrappers and cross-prefix. func_cc_basename () { for cc_temp in @S|@*""; do case $cc_temp in compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; \-*) ;; *) break;; esac done func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` } ])# _LT_PREPARE_CC_BASENAME # _LT_CC_BASENAME(CC) # ------------------- # It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME, # but that macro is also expanded into generated libtool script, which # arranges for $SED and $ECHO to be set by different means. m4_defun([_LT_CC_BASENAME], [m4_require([_LT_PREPARE_CC_BASENAME])dnl AC_REQUIRE([_LT_DECL_SED])dnl AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl func_cc_basename $1 cc_basename=$func_cc_basename_result ]) # _LT_FILEUTILS_DEFAULTS # ---------------------- # It is okay to use these file commands and assume they have been set # sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'. m4_defun([_LT_FILEUTILS_DEFAULTS], [: ${CP="cp -f"} : ${MV="mv -f"} : ${RM="rm -f"} ])# _LT_FILEUTILS_DEFAULTS # _LT_SETUP # --------- m4_defun([_LT_SETUP], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl _LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl dnl _LT_DECL([], [host_alias], [0], [The host system])dnl _LT_DECL([], [host], [0])dnl _LT_DECL([], [host_os], [0])dnl dnl _LT_DECL([], [build_alias], [0], [The build system])dnl _LT_DECL([], [build], [0])dnl _LT_DECL([], [build_os], [0])dnl dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([LT_PATH_LD])dnl AC_REQUIRE([LT_PATH_NM])dnl dnl AC_REQUIRE([AC_PROG_LN_S])dnl test -z "$LN_S" && LN_S="ln -s" _LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl dnl AC_REQUIRE([LT_CMD_MAX_LEN])dnl _LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl _LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_CHECK_SHELL_FEATURES])dnl m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl m4_require([_LT_CMD_RELOAD])dnl m4_require([_LT_CHECK_MAGIC_METHOD])dnl m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl m4_require([_LT_CMD_OLD_ARCHIVE])dnl m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl m4_require([_LT_WITH_SYSROOT])dnl m4_require([_LT_CMD_TRUNCATE])dnl _LT_CONFIG_LIBTOOL_INIT([ # See if we are running on zsh, and set the options that allow our # commands through without removal of \ escapes INIT. if test -n "\${ZSH_VERSION+set}"; then setopt NO_GLOB_SUBST fi ]) if test -n "${ZSH_VERSION+set}"; then setopt NO_GLOB_SUBST fi _LT_CHECK_OBJDIR m4_require([_LT_TAG_COMPILER])dnl case $host_os in aix3*) # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test set != "${COLLECT_NAMES+set}"; then COLLECT_NAMES= export COLLECT_NAMES fi ;; esac # Global variables: ofile=libtool can_build_shared=yes # All known linkers require a '.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a with_gnu_ld=$lt_cv_prog_gnu_ld old_CC=$CC old_CFLAGS=$CFLAGS # Set sane defaults for various variables test -z "$CC" && CC=cc test -z "$LTCC" && LTCC=$CC test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS test -z "$LD" && LD=ld test -z "$ac_objext" && ac_objext=o _LT_CC_BASENAME([$compiler]) # Only perform the check for file, if the check method requires it test -z "$MAGIC_CMD" && MAGIC_CMD=file case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then _LT_PATH_MAGIC fi ;; esac # Use C for the default configuration in the libtool script LT_SUPPORTED_TAG([CC]) _LT_LANG_C_CONFIG _LT_LANG_DEFAULT_CONFIG _LT_CONFIG_COMMANDS ])# _LT_SETUP # _LT_PREPARE_SED_QUOTE_VARS # -------------------------- # Define a few sed substitution that help us do robust quoting. m4_defun([_LT_PREPARE_SED_QUOTE_VARS], [# Backslashify metacharacters that are still active within # double-quoted strings. sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\([["`\\]]\)/\\\1/g' # Sed substitution to delay expansion of an escaped shell variable in a # double_quote_subst'ed string. delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' # Sed substitution to delay expansion of an escaped single quote. delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' # Sed substitution to avoid accidental globbing in evaled expressions no_glob_subst='s/\*/\\\*/g' ]) # _LT_PROG_LTMAIN # --------------- # Note that this code is called both from 'configure', and 'config.status' # now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, # 'config.status' has no value for ac_aux_dir unless we are using Automake, # so we pass a copy along to make sure it has a sensible value anyway. m4_defun([_LT_PROG_LTMAIN], [m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl _LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) ltmain=$ac_aux_dir/ltmain.sh ])# _LT_PROG_LTMAIN ## ------------------------------------- ## ## Accumulate code for creating libtool. ## ## ------------------------------------- ## # So that we can recreate a full libtool script including additional # tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS # in macros and then make a single call at the end using the 'libtool' # label. # _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) # ---------------------------------------- # Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. m4_define([_LT_CONFIG_LIBTOOL_INIT], [m4_ifval([$1], [m4_append([_LT_OUTPUT_LIBTOOL_INIT], [$1 ])])]) # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_INIT]) # _LT_CONFIG_LIBTOOL([COMMANDS]) # ------------------------------ # Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. m4_define([_LT_CONFIG_LIBTOOL], [m4_ifval([$1], [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], [$1 ])])]) # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) # _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) # ----------------------------------------------------- m4_defun([_LT_CONFIG_SAVE_COMMANDS], [_LT_CONFIG_LIBTOOL([$1]) _LT_CONFIG_LIBTOOL_INIT([$2]) ]) # _LT_FORMAT_COMMENT([COMMENT]) # ----------------------------- # Add leading comment marks to the start of each line, and a trailing # full-stop to the whole comment if one is not present already. m4_define([_LT_FORMAT_COMMENT], [m4_ifval([$1], [ m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) )]) ## ------------------------ ## ## FIXME: Eliminate VARNAME ## ## ------------------------ ## # _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) # ------------------------------------------------------------------- # CONFIGNAME is the name given to the value in the libtool script. # VARNAME is the (base) name used in the configure script. # VALUE may be 0, 1 or 2 for a computed quote escaped value based on # VARNAME. Any other value will be used directly. m4_define([_LT_DECL], [lt_if_append_uniq([lt_decl_varnames], [$2], [, ], [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], [m4_ifval([$1], [$1], [$2])]) lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) m4_ifval([$4], [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) lt_dict_add_subkey([lt_decl_dict], [$2], [tagged?], [m4_ifval([$5], [yes], [no])])]) ]) # _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) # -------------------------------------------------------- m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) # lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) # ------------------------------------------------ m4_define([lt_decl_tag_varnames], [_lt_decl_filter([tagged?], [yes], $@)]) # _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) # --------------------------------------------------------- m4_define([_lt_decl_filter], [m4_case([$#], [0], [m4_fatal([$0: too few arguments: $#])], [1], [m4_fatal([$0: too few arguments: $#: $1])], [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], [lt_dict_filter([lt_decl_dict], $@)])[]dnl ]) # lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) # -------------------------------------------------- m4_define([lt_decl_quote_varnames], [_lt_decl_filter([value], [1], $@)]) # lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) # --------------------------------------------------- m4_define([lt_decl_dquote_varnames], [_lt_decl_filter([value], [2], $@)]) # lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) # --------------------------------------------------- m4_define([lt_decl_varnames_tagged], [m4_assert([$# <= 2])dnl _$0(m4_quote(m4_default([$1], [[, ]])), m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) m4_define([_lt_decl_varnames_tagged], [m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) # lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) # ------------------------------------------------ m4_define([lt_decl_all_varnames], [_$0(m4_quote(m4_default([$1], [[, ]])), m4_if([$2], [], m4_quote(lt_decl_varnames), m4_quote(m4_shift($@))))[]dnl ]) m4_define([_lt_decl_all_varnames], [lt_join($@, lt_decl_varnames_tagged([$1], lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl ]) # _LT_CONFIG_STATUS_DECLARE([VARNAME]) # ------------------------------------ # Quote a variable value, and forward it to 'config.status' so that its # declaration there will have the same value as in 'configure'. VARNAME # must have a single quote delimited value for this to work. m4_define([_LT_CONFIG_STATUS_DECLARE], [$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`']) # _LT_CONFIG_STATUS_DECLARATIONS # ------------------------------ # We delimit libtool config variables with single quotes, so when # we write them to config.status, we have to be sure to quote all # embedded single quotes properly. In configure, this macro expands # each variable declared with _LT_DECL (and _LT_TAGDECL) into: # # ='`$ECHO "$" | $SED "$delay_single_quote_subst"`' m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], [m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) # _LT_LIBTOOL_TAGS # ---------------- # Output comment and list of tags supported by the script m4_defun([_LT_LIBTOOL_TAGS], [_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl available_tags='_LT_TAGS'dnl ]) # _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) # ----------------------------------- # Extract the dictionary values for VARNAME (optionally with TAG) and # expand to a commented shell variable setting: # # # Some comment about what VAR is for. # visible_name=$lt_internal_name m4_define([_LT_LIBTOOL_DECLARE], [_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [description])))[]dnl m4_pushdef([_libtool_name], m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), [0], [_libtool_name=[$]$1], [1], [_libtool_name=$lt_[]$1], [2], [_libtool_name=$lt_[]$1], [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl ]) # _LT_LIBTOOL_CONFIG_VARS # ----------------------- # Produce commented declarations of non-tagged libtool config variables # suitable for insertion in the LIBTOOL CONFIG section of the 'libtool' # script. Tagged libtool config variables (even for the LIBTOOL CONFIG # section) are produced by _LT_LIBTOOL_TAG_VARS. m4_defun([_LT_LIBTOOL_CONFIG_VARS], [m4_foreach([_lt_var], m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) # _LT_LIBTOOL_TAG_VARS(TAG) # ------------------------- m4_define([_LT_LIBTOOL_TAG_VARS], [m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) # _LT_TAGVAR(VARNAME, [TAGNAME]) # ------------------------------ m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) # _LT_CONFIG_COMMANDS # ------------------- # Send accumulated output to $CONFIG_STATUS. Thanks to the lists of # variables for single and double quote escaping we saved from calls # to _LT_DECL, we can put quote escaped variables declarations # into 'config.status', and then the shell code to quote escape them in # for loops in 'config.status'. Finally, any additional code accumulated # from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. m4_defun([_LT_CONFIG_COMMANDS], [AC_PROVIDE_IFELSE([LT_OUTPUT], dnl If the libtool generation code has been placed in $CONFIG_LT, dnl instead of duplicating it all over again into config.status, dnl then we will have config.status run $CONFIG_LT later, so it dnl needs to know what name is stored there: [AC_CONFIG_COMMANDS([libtool], [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], dnl If the libtool generation code is destined for config.status, dnl expand the accumulated commands and init code now: [AC_CONFIG_COMMANDS([libtool], [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) ])#_LT_CONFIG_COMMANDS # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], [ # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH sed_quote_subst='$sed_quote_subst' double_quote_subst='$double_quote_subst' delay_variable_subst='$delay_variable_subst' _LT_CONFIG_STATUS_DECLARATIONS LTCC='$LTCC' LTCFLAGS='$LTCFLAGS' compiler='$compiler_DEFAULT' # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF \$[]1 _LTECHO_EOF' } # Quote evaled strings. for var in lt_decl_all_varnames([[ \ ]], lt_decl_quote_varnames); do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[[\\\\\\\`\\"\\\$]]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done # Double-quote double-evaled strings. for var in lt_decl_all_varnames([[ \ ]], lt_decl_dquote_varnames); do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[[\\\\\\\`\\"\\\$]]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done _LT_OUTPUT_LIBTOOL_INIT ]) # _LT_GENERATED_FILE_INIT(FILE, [COMMENT]) # ------------------------------------ # Generate a child script FILE with all initialization necessary to # reuse the environment learned by the parent script, and make the # file executable. If COMMENT is supplied, it is inserted after the # '#!' sequence but before initialization text begins. After this # macro, additional text can be appended to FILE to form the body of # the child script. The macro ends with non-zero status if the # file could not be fully written (such as if the disk is full). m4_ifdef([AS_INIT_GENERATED], [m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])], [m4_defun([_LT_GENERATED_FILE_INIT], [m4_require([AS_PREPARE])]dnl [m4_pushdef([AS_MESSAGE_LOG_FD])]dnl [lt_write_fail=0 cat >$1 <<_ASEOF || lt_write_fail=1 #! $SHELL # Generated by $as_me. $2 SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$1 <<\_ASEOF || lt_write_fail=1 AS_SHELL_SANITIZE _AS_PREPARE exec AS_MESSAGE_FD>&1 _ASEOF test 0 = "$lt_write_fail" && chmod +x $1[]dnl m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT # LT_OUTPUT # --------- # This macro allows early generation of the libtool script (before # AC_OUTPUT is called), incase it is used in configure for compilation # tests. AC_DEFUN([LT_OUTPUT], [: ${CONFIG_LT=./config.lt} AC_MSG_NOTICE([creating $CONFIG_LT]) _LT_GENERATED_FILE_INIT(["$CONFIG_LT"], [# Run this file to recreate a libtool stub with the current configuration.]) cat >>"$CONFIG_LT" <<\_LTEOF lt_cl_silent=false exec AS_MESSAGE_LOG_FD>>config.log { echo AS_BOX([Running $as_me.]) } >&AS_MESSAGE_LOG_FD lt_cl_help="\ '$as_me' creates a local libtool stub from the current configuration, for use in further configure time tests before the real libtool is generated. Usage: $[0] [[OPTIONS]] -h, --help print this help, then exit -V, --version print version number, then exit -q, --quiet do not print progress messages -d, --debug don't remove temporary files Report bugs to ." lt_cl_version="\ m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) configured by $[0], generated by m4_PACKAGE_STRING. Copyright (C) 2011 Free Software Foundation, Inc. This config.lt script is free software; the Free Software Foundation gives unlimited permision to copy, distribute and modify it." while test 0 != $[#] do case $[1] in --version | --v* | -V ) echo "$lt_cl_version"; exit 0 ;; --help | --h* | -h ) echo "$lt_cl_help"; exit 0 ;; --debug | --d* | -d ) debug=: ;; --quiet | --q* | --silent | --s* | -q ) lt_cl_silent=: ;; -*) AC_MSG_ERROR([unrecognized option: $[1] Try '$[0] --help' for more information.]) ;; *) AC_MSG_ERROR([unrecognized argument: $[1] Try '$[0] --help' for more information.]) ;; esac shift done if $lt_cl_silent; then exec AS_MESSAGE_FD>/dev/null fi _LTEOF cat >>"$CONFIG_LT" <<_LTEOF _LT_OUTPUT_LIBTOOL_COMMANDS_INIT _LTEOF cat >>"$CONFIG_LT" <<\_LTEOF AC_MSG_NOTICE([creating $ofile]) _LT_OUTPUT_LIBTOOL_COMMANDS AS_EXIT(0) _LTEOF chmod +x "$CONFIG_LT" # configure is writing to config.log, but config.lt does its own redirection, # appending to config.log, which fails on DOS, as config.log is still kept # open by configure. Here we exec the FD to /dev/null, effectively closing # config.log, so it can be properly (re)opened and appended to by config.lt. lt_cl_success=: test yes = "$silent" && lt_config_lt_args="$lt_config_lt_args --quiet" exec AS_MESSAGE_LOG_FD>/dev/null $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false exec AS_MESSAGE_LOG_FD>>config.log $lt_cl_success || AS_EXIT(1) ])# LT_OUTPUT # _LT_CONFIG(TAG) # --------------- # If TAG is the built-in tag, create an initial libtool script with a # default configuration from the untagged config vars. Otherwise add code # to config.status for appending the configuration named by TAG from the # matching tagged config vars. m4_defun([_LT_CONFIG], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl _LT_CONFIG_SAVE_COMMANDS([ m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl m4_if(_LT_TAG, [C], [ # See if we are running on zsh, and set the options that allow our # commands through without removal of \ escapes. if test -n "${ZSH_VERSION+set}"; then setopt NO_GLOB_SUBST fi cfgfile=${ofile}T trap "$RM \"$cfgfile\"; exit 1" 1 2 15 $RM "$cfgfile" cat <<_LT_EOF >> "$cfgfile" #! $SHELL # Generated automatically by $as_me ($PACKAGE) $VERSION # NOTE: Changes made to this file will be lost: look at ltmain.sh. # Provide generalized library-building support services. # Written by Gordon Matzigkeit, 1996 _LT_COPYING _LT_LIBTOOL_TAGS # Configured defaults for sys_lib_dlsearch_path munging. : \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} # ### BEGIN LIBTOOL CONFIG _LT_LIBTOOL_CONFIG_VARS _LT_LIBTOOL_TAG_VARS # ### END LIBTOOL CONFIG _LT_EOF cat <<'_LT_EOF' >> "$cfgfile" # ### BEGIN FUNCTIONS SHARED WITH CONFIGURE _LT_PREPARE_MUNGE_PATH_LIST _LT_PREPARE_CC_BASENAME # ### END FUNCTIONS SHARED WITH CONFIGURE _LT_EOF case $host_os in aix3*) cat <<\_LT_EOF >> "$cfgfile" # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test set != "${COLLECT_NAMES+set}"; then COLLECT_NAMES= export COLLECT_NAMES fi _LT_EOF ;; esac _LT_PROG_LTMAIN # We use sed instead of cat because bash on DJGPP gets confused if # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? sed '$q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) mv -f "$cfgfile" "$ofile" || (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") chmod +x "$ofile" ], [cat <<_LT_EOF >> "$ofile" dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded dnl in a comment (ie after a #). # ### BEGIN LIBTOOL TAG CONFIG: $1 _LT_LIBTOOL_TAG_VARS(_LT_TAG) # ### END LIBTOOL TAG CONFIG: $1 _LT_EOF ])dnl /m4_if ], [m4_if([$1], [], [ PACKAGE='$PACKAGE' VERSION='$VERSION' RM='$RM' ofile='$ofile'], []) ])dnl /_LT_CONFIG_SAVE_COMMANDS ])# _LT_CONFIG # LT_SUPPORTED_TAG(TAG) # --------------------- # Trace this macro to discover what tags are supported by the libtool # --tag option, using: # autoconf --trace 'LT_SUPPORTED_TAG:$1' AC_DEFUN([LT_SUPPORTED_TAG], []) # C support is built-in for now m4_define([_LT_LANG_C_enabled], []) m4_define([_LT_TAGS], []) # LT_LANG(LANG) # ------------- # Enable libtool support for the given language if not already enabled. AC_DEFUN([LT_LANG], [AC_BEFORE([$0], [LT_OUTPUT])dnl m4_case([$1], [C], [_LT_LANG(C)], [C++], [_LT_LANG(CXX)], [Go], [_LT_LANG(GO)], [Java], [_LT_LANG(GCJ)], [Fortran 77], [_LT_LANG(F77)], [Fortran], [_LT_LANG(FC)], [Windows Resource], [_LT_LANG(RC)], [m4_ifdef([_LT_LANG_]$1[_CONFIG], [_LT_LANG($1)], [m4_fatal([$0: unsupported language: "$1"])])])dnl ])# LT_LANG # _LT_LANG(LANGNAME) # ------------------ m4_defun([_LT_LANG], [m4_ifdef([_LT_LANG_]$1[_enabled], [], [LT_SUPPORTED_TAG([$1])dnl m4_append([_LT_TAGS], [$1 ])dnl m4_define([_LT_LANG_]$1[_enabled], [])dnl _LT_LANG_$1_CONFIG($1)])dnl ])# _LT_LANG m4_ifndef([AC_PROG_GO], [ ############################################################ # NOTE: This macro has been submitted for inclusion into # # GNU Autoconf as AC_PROG_GO. When it is available in # # a released version of Autoconf we should remove this # # macro and use it instead. # ############################################################ m4_defun([AC_PROG_GO], [AC_LANG_PUSH(Go)dnl AC_ARG_VAR([GOC], [Go compiler command])dnl AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl _AC_ARG_VAR_LDFLAGS()dnl AC_CHECK_TOOL(GOC, gccgo) if test -z "$GOC"; then if test -n "$ac_tool_prefix"; then AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo]) fi fi if test -z "$GOC"; then AC_CHECK_PROG(GOC, gccgo, gccgo, false) fi ])#m4_defun ])#m4_ifndef # _LT_LANG_DEFAULT_CONFIG # ----------------------- m4_defun([_LT_LANG_DEFAULT_CONFIG], [AC_PROVIDE_IFELSE([AC_PROG_CXX], [LT_LANG(CXX)], [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) AC_PROVIDE_IFELSE([AC_PROG_F77], [LT_LANG(F77)], [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) AC_PROVIDE_IFELSE([AC_PROG_FC], [LT_LANG(FC)], [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal dnl pulling things in needlessly. AC_PROVIDE_IFELSE([AC_PROG_GCJ], [LT_LANG(GCJ)], [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], [LT_LANG(GCJ)], [AC_PROVIDE_IFELSE([LT_PROG_GCJ], [LT_LANG(GCJ)], [m4_ifdef([AC_PROG_GCJ], [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) m4_ifdef([A][M_PROG_GCJ], [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) m4_ifdef([LT_PROG_GCJ], [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) AC_PROVIDE_IFELSE([AC_PROG_GO], [LT_LANG(GO)], [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])]) AC_PROVIDE_IFELSE([LT_PROG_RC], [LT_LANG(RC)], [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) ])# _LT_LANG_DEFAULT_CONFIG # Obsolete macros: AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_CXX], []) dnl AC_DEFUN([AC_LIBTOOL_F77], []) dnl AC_DEFUN([AC_LIBTOOL_FC], []) dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) dnl AC_DEFUN([AC_LIBTOOL_RC], []) # _LT_TAG_COMPILER # ---------------- m4_defun([_LT_TAG_COMPILER], [AC_REQUIRE([AC_PROG_CC])dnl _LT_DECL([LTCC], [CC], [1], [A C compiler])dnl _LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl _LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl _LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC ])# _LT_TAG_COMPILER # _LT_COMPILER_BOILERPLATE # ------------------------ # Check for compiler boilerplate output or warnings with # the simple compiler test code. m4_defun([_LT_COMPILER_BOILERPLATE], [m4_require([_LT_DECL_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ])# _LT_COMPILER_BOILERPLATE # _LT_LINKER_BOILERPLATE # ---------------------- # Check for linker boilerplate output or warnings with # the simple link test code. m4_defun([_LT_LINKER_BOILERPLATE], [m4_require([_LT_DECL_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* ])# _LT_LINKER_BOILERPLATE # _LT_REQUIRED_DARWIN_CHECKS # ------------------------- m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ case $host_os in rhapsody* | darwin*) AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) AC_CHECK_TOOL([LIPO], [lipo], [:]) AC_CHECK_TOOL([OTOOL], [otool], [:]) AC_CHECK_TOOL([OTOOL64], [otool64], [:]) _LT_DECL([], [DSYMUTIL], [1], [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) _LT_DECL([], [NMEDIT], [1], [Tool to change global to local symbols on Mac OS X]) _LT_DECL([], [LIPO], [1], [Tool to manipulate fat objects and archives on Mac OS X]) _LT_DECL([], [OTOOL], [1], [ldd/readelf like tool for Mach-O binaries on Mac OS X]) _LT_DECL([], [OTOOL64], [1], [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], [lt_cv_apple_cc_single_mod=no if test -z "$LT_MULTI_MODULE"; then # By default we will add the -single_module flag. You can override # by either setting the environment variable LT_MULTI_MODULE # non-empty at configure time, or by adding -multi_module to the # link flags. rm -rf libconftest.dylib* echo "int foo(void){return 1;}" > conftest.c echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err _lt_result=$? # If there is a non-empty error log, and "single_module" # appears in it, assume the flag caused a linker warning if test -s conftest.err && $GREP single_module conftest.err; then cat conftest.err >&AS_MESSAGE_LOG_FD # Otherwise, if the output was created with a 0 exit code from # the compiler, it worked. elif test -f libconftest.dylib && test 0 = "$_lt_result"; then lt_cv_apple_cc_single_mod=yes else cat conftest.err >&AS_MESSAGE_LOG_FD fi rm -rf libconftest.dylib* rm -f conftest.* fi]) AC_CACHE_CHECK([for -exported_symbols_list linker flag], [lt_cv_ld_exported_symbols_list], [lt_cv_ld_exported_symbols_list=no save_LDFLAGS=$LDFLAGS echo "_main" > conftest.sym LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], [lt_cv_ld_exported_symbols_list=yes], [lt_cv_ld_exported_symbols_list=no]) LDFLAGS=$save_LDFLAGS ]) AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load], [lt_cv_ld_force_load=no cat > conftest.c << _LT_EOF int forced_loaded() { return 2;} _LT_EOF echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD cat > conftest.c << _LT_EOF int main() { return 0;} _LT_EOF echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err _lt_result=$? if test -s conftest.err && $GREP force_load conftest.err; then cat conftest.err >&AS_MESSAGE_LOG_FD elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then lt_cv_ld_force_load=yes else cat conftest.err >&AS_MESSAGE_LOG_FD fi rm -f conftest.err libconftest.a conftest conftest.c rm -rf conftest.dSYM ]) case $host_os in rhapsody* | darwin1.[[012]]) _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; darwin1.*) _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; darwin*) # darwin 5.x on # if running on 10.5 or later, the deployment target defaults # to the OS version, if on x86, and 10.4, the deployment # target defaults to 10.4. Don't you love it? case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; 10.[[012]][[,.]]*) _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; 10.*) _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; esac ;; esac if test yes = "$lt_cv_apple_cc_single_mod"; then _lt_dar_single_mod='$single_module' fi if test yes = "$lt_cv_ld_exported_symbols_list"; then _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' else _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' fi if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then _lt_dsymutil='~$DSYMUTIL $lib || :' else _lt_dsymutil= fi ;; esac ]) # _LT_DARWIN_LINKER_FEATURES([TAG]) # --------------------------------- # Checks for linker and compiler features on darwin m4_defun([_LT_DARWIN_LINKER_FEATURES], [ m4_require([_LT_REQUIRED_DARWIN_CHECKS]) _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported if test yes = "$lt_cv_ld_force_load"; then _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes], [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes]) else _LT_TAGVAR(whole_archive_flag_spec, $1)='' fi _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined case $cc_basename in ifort*|nagfor*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test yes = "$_lt_dar_can_shared"; then output_verbose_link_cmd=func_echo_all _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" m4_if([$1], [CXX], [ if test yes != "$lt_cv_apple_cc_single_mod"; then _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil" _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil" fi ],[]) else _LT_TAGVAR(ld_shlibs, $1)=no fi ]) # _LT_SYS_MODULE_PATH_AIX([TAGNAME]) # ---------------------------------- # Links a minimal program and checks the executable # for the system default hardcoded library path. In most cases, # this is /usr/lib:/lib, but when the MPI compilers are used # the location of the communication and MPI libs are included too. # If we don't find anything, use the default library path according # to the aix ld manual. # Store the results from the different compilers for each TAGNAME. # Allow to override them for all tags through lt_cv_aix_libpath. m4_defun([_LT_SYS_MODULE_PATH_AIX], [m4_require([_LT_DECL_SED])dnl if test set = "${lt_cv_aix_libpath+set}"; then aix_libpath=$lt_cv_aix_libpath else AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])], [AC_LINK_IFELSE([AC_LANG_PROGRAM],[ lt_aix_libpath_sed='[ /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }]' _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi],[]) if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib fi ]) aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1]) fi ])# _LT_SYS_MODULE_PATH_AIX # _LT_SHELL_INIT(ARG) # ------------------- m4_define([_LT_SHELL_INIT], [m4_divert_text([M4SH-INIT], [$1 ])])# _LT_SHELL_INIT # _LT_PROG_ECHO_BACKSLASH # ----------------------- # Find how we can fake an echo command that does not interpret backslash. # In particular, with Autoconf 2.60 or later we add some code to the start # of the generated configure script that will find a shell with a builtin # printf (that we can use as an echo command). m4_defun([_LT_PROG_ECHO_BACKSLASH], [ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO AC_MSG_CHECKING([how to print strings]) # Test print first, because it will be a builtin if present. if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='print -r --' elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='printf %s\n' else # Use this function as a fallback that always works. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $[]1 _LTECHO_EOF' } ECHO='func_fallback_echo' fi # func_echo_all arg... # Invoke $ECHO with all args, space-separated. func_echo_all () { $ECHO "$*" } case $ECHO in printf*) AC_MSG_RESULT([printf]) ;; print*) AC_MSG_RESULT([print -r]) ;; *) AC_MSG_RESULT([cat]) ;; esac m4_ifdef([_AS_DETECT_SUGGESTED], [_AS_DETECT_SUGGESTED([ test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || ( ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO PATH=/empty FPATH=/empty; export PATH FPATH test "X`printf %s $ECHO`" = "X$ECHO" \ || test "X`print -r -- $ECHO`" = "X$ECHO" )])]) _LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) _LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) ])# _LT_PROG_ECHO_BACKSLASH # _LT_WITH_SYSROOT # ---------------- AC_DEFUN([_LT_WITH_SYSROOT], [AC_MSG_CHECKING([for sysroot]) AC_ARG_WITH([sysroot], [AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@], [Search for dependent libraries within DIR (or the compiler's sysroot if not specified).])], [], [with_sysroot=no]) dnl lt_sysroot will always be passed unquoted. We quote it here dnl in case the user passed a directory name. lt_sysroot= case $with_sysroot in #( yes) if test yes = "$GCC"; then lt_sysroot=`$CC --print-sysroot 2>/dev/null` fi ;; #( /*) lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` ;; #( no|'') ;; #( *) AC_MSG_RESULT([$with_sysroot]) AC_MSG_ERROR([The sysroot must be an absolute path.]) ;; esac AC_MSG_RESULT([${lt_sysroot:-no}]) _LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl [dependent libraries, and where our libraries should be installed.])]) # _LT_ENABLE_LOCK # --------------- m4_defun([_LT_ENABLE_LOCK], [AC_ARG_ENABLE([libtool-lock], [AS_HELP_STRING([--disable-libtool-lock], [avoid locking (might break parallel builds)])]) test no = "$enable_libtool_lock" || enable_libtool_lock=yes # Some flags need to be propagated to the compiler or linker for good # libtool support. case $host in ia64-*-hpux*) # Find out what ABI is being produced by ac_compile, and set mode # options accordingly. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE=32 ;; *ELF-64*) HPUX_IA64_MODE=64 ;; esac fi rm -rf conftest* ;; *-*-irix6*) # Find out what ABI is being produced by ac_compile, and set linker # options accordingly. echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then if test yes = "$lt_cv_prog_gnu_ld"; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; *N32*) LD="${LD-ld} -melf32bmipn32" ;; *64-bit*) LD="${LD-ld} -melf64bmip" ;; esac else case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; *N32*) LD="${LD-ld} -n32" ;; *64-bit*) LD="${LD-ld} -64" ;; esac fi fi rm -rf conftest* ;; mips64*-*linux*) # Find out what ABI is being produced by ac_compile, and set linker # options accordingly. echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then emul=elf case `/usr/bin/file conftest.$ac_objext` in *32-bit*) emul="${emul}32" ;; *64-bit*) emul="${emul}64" ;; esac case `/usr/bin/file conftest.$ac_objext` in *MSB*) emul="${emul}btsmip" ;; *LSB*) emul="${emul}ltsmip" ;; esac case `/usr/bin/file conftest.$ac_objext` in *N32*) emul="${emul}n32" ;; esac LD="${LD-ld} -m $emul" fi rm -rf conftest* ;; x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # Find out what ABI is being produced by ac_compile, and set linker # options accordingly. Note that the listed cases only cover the # situations where additional linker options are needed (such as when # doing 32-bit compilation for a host where ld defaults to 64-bit, or # vice versa); the common cases where no linker options are needed do # not appear in the list. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) case `/usr/bin/file conftest.o` in *x86-64*) LD="${LD-ld} -m elf32_x86_64" ;; *) LD="${LD-ld} -m elf_i386" ;; esac ;; powerpc64le-*linux*) LD="${LD-ld} -m elf32lppclinux" ;; powerpc64-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) LD="${LD-ld} -m elf_s390" ;; sparc64-*linux*) LD="${LD-ld} -m elf32_sparc" ;; esac ;; *64-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; powerpcle-*linux*) LD="${LD-ld} -m elf64lppc" ;; powerpc-*linux*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*|s390*-*tpf*) LD="${LD-ld} -m elf64_s390" ;; sparc*-*linux*) LD="${LD-ld} -m elf64_sparc" ;; esac ;; esac fi rm -rf conftest* ;; *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS=$CFLAGS CFLAGS="$CFLAGS -belf" AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, [AC_LANG_PUSH(C) AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) AC_LANG_POP]) if test yes != "$lt_cv_cc_needs_belf"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS=$SAVE_CFLAGS fi ;; *-*solaris*) # Find out what ABI is being produced by ac_compile, and set linker # options accordingly. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) case $host in i?86-*-solaris*|x86_64-*-solaris*) LD="${LD-ld} -m elf_x86_64" ;; sparc*-*-solaris*) LD="${LD-ld} -m elf64_sparc" ;; esac # GNU ld 2.21 introduced _sol2 emulations. Use them if available. if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then LD=${LD-ld}_sol2 fi ;; *) if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then LD="${LD-ld} -64" fi ;; esac ;; esac fi rm -rf conftest* ;; esac need_locks=$enable_libtool_lock ])# _LT_ENABLE_LOCK # _LT_PROG_AR # ----------- m4_defun([_LT_PROG_AR], [AC_CHECK_TOOLS(AR, [ar], false) : ${AR=ar} : ${AR_FLAGS=cru} _LT_DECL([], [AR], [1], [The archiver]) _LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], [lt_cv_ar_at_file=no AC_COMPILE_IFELSE([AC_LANG_PROGRAM], [echo conftest.$ac_objext > conftest.lst lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD' AC_TRY_EVAL([lt_ar_try]) if test 0 -eq "$ac_status"; then # Ensure the archiver fails upon bogus file names. rm -f conftest.$ac_objext libconftest.a AC_TRY_EVAL([lt_ar_try]) if test 0 -ne "$ac_status"; then lt_cv_ar_at_file=@ fi fi rm -f conftest.* libconftest.a ]) ]) if test no = "$lt_cv_ar_at_file"; then archiver_list_spec= else archiver_list_spec=$lt_cv_ar_at_file fi _LT_DECL([], [archiver_list_spec], [1], [How to feed a file listing to the archiver]) ])# _LT_PROG_AR # _LT_CMD_OLD_ARCHIVE # ------------------- m4_defun([_LT_CMD_OLD_ARCHIVE], [_LT_PROG_AR AC_CHECK_TOOL(STRIP, strip, :) test -z "$STRIP" && STRIP=: _LT_DECL([], [STRIP], [1], [A symbol stripping program]) AC_CHECK_TOOL(RANLIB, ranlib, :) test -z "$RANLIB" && RANLIB=: _LT_DECL([], [RANLIB], [1], [Commands used to install an old-style archive]) # Determine commands to create old-style static archives. old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' old_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in bitrig* | openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" fi case $host_os in darwin*) lock_old_archive_extraction=yes ;; *) lock_old_archive_extraction=no ;; esac _LT_DECL([], [old_postinstall_cmds], [2]) _LT_DECL([], [old_postuninstall_cmds], [2]) _LT_TAGDECL([], [old_archive_cmds], [2], [Commands used to build an old-style archive]) _LT_DECL([], [lock_old_archive_extraction], [0], [Whether to use a lock for old archive extraction]) ])# _LT_CMD_OLD_ARCHIVE # _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, # [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) # ---------------------------------------------------------------- # Check whether the given compiler option works AC_DEFUN([_LT_COMPILER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_SED])dnl AC_CACHE_CHECK([$1], [$2], [$2=no m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$3" ## exclude from sc_useless_quotes_in_assignment # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&AS_MESSAGE_LOG_FD echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then $2=yes fi fi $RM conftest* ]) if test yes = "[$]$2"; then m4_if([$5], , :, [$5]) else m4_if([$6], , :, [$6]) fi ])# _LT_COMPILER_OPTION # Old name: AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) # _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, # [ACTION-SUCCESS], [ACTION-FAILURE]) # ---------------------------------------------------- # Check whether the given linker option works AC_DEFUN([_LT_LINKER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_SED])dnl AC_CACHE_CHECK([$1], [$2], [$2=no save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS $3" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&AS_MESSAGE_LOG_FD $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then $2=yes fi else $2=yes fi fi $RM -r conftest* LDFLAGS=$save_LDFLAGS ]) if test yes = "[$]$2"; then m4_if([$4], , :, [$4]) else m4_if([$5], , :, [$5]) fi ])# _LT_LINKER_OPTION # Old name: AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) # LT_CMD_MAX_LEN #--------------- AC_DEFUN([LT_CMD_MAX_LEN], [AC_REQUIRE([AC_CANONICAL_HOST])dnl # find the maximum length of command line arguments AC_MSG_CHECKING([the maximum length of command line arguments]) AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl i=0 teststring=ABCD case $build_os in msdosdjgpp*) # On DJGPP, this test can blow up pretty badly due to problems in libc # (any single argument exceeding 2000 bytes causes a buffer overrun # during glob expansion). Even if it were fixed, the result of this # check would be larger than it should be. lt_cv_sys_max_cmd_len=12288; # 12K is about right ;; gnu*) # Under GNU Hurd, this test is not required because there is # no limit to the length of command line arguments. # Libtool will interpret -1 as no limit whatsoever lt_cv_sys_max_cmd_len=-1; ;; cygwin* | mingw* | cegcc*) # On Win9x/ME, this test blows up -- it succeeds, but takes # about 5 minutes as the teststring grows exponentially. # Worse, since 9x/ME are not pre-emptively multitasking, # you end up with a "frozen" computer, even though with patience # the test eventually succeeds (with a max line length of 256k). # Instead, let's just punt: use the minimum linelength reported by # all of the supported platforms: 8192 (on NT/2K/XP). lt_cv_sys_max_cmd_len=8192; ;; mint*) # On MiNT this can take a long time and run out of memory. lt_cv_sys_max_cmd_len=8192; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; os2*) # The test takes a long time on OS/2. lt_cv_sys_max_cmd_len=8192 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len" && \ test undefined != "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else # Make teststring a little bigger before we do anything with it. # a 1K string should be a reasonable start. for i in 1 2 3 4 5 6 7 8; do teststring=$teststring$teststring done SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. while { test X`env echo "$teststring$teststring" 2>/dev/null` \ = "X$teststring$teststring"; } >/dev/null 2>&1 && test 17 != "$i" # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done # Only check the string length outside the loop. lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` teststring= # Add a significant safety factor because C++ compilers can tack on # massive amounts of additional arguments before passing them to the # linker. It appears as though 1/2 is a usable value. lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` fi ;; esac ]) if test -n "$lt_cv_sys_max_cmd_len"; then AC_MSG_RESULT($lt_cv_sys_max_cmd_len) else AC_MSG_RESULT(none) fi max_cmd_len=$lt_cv_sys_max_cmd_len _LT_DECL([], [max_cmd_len], [0], [What is the maximum length of a command?]) ])# LT_CMD_MAX_LEN # Old name: AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) # _LT_HEADER_DLFCN # ---------------- m4_defun([_LT_HEADER_DLFCN], [AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl ])# _LT_HEADER_DLFCN # _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, # ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) # ---------------------------------------------------------------- m4_defun([_LT_TRY_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl if test yes = "$cross_compiling"; then : [$4] else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF [#line $LINENO "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif /* When -fvisibility=hidden is used, assume the code has been annotated correspondingly for the symbols needed. */ #if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) int fnord () __attribute__((visibility("default"))); #endif int fnord () { return 42; } int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else { if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; else puts (dlerror ()); } /* dlclose (self); */ } else puts (dlerror ()); return status; }] _LT_EOF if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) $1 ;; x$lt_dlneed_uscore) $2 ;; x$lt_dlunknown|x*) $3 ;; esac else : # compilation failed $3 fi fi rm -fr conftest* ])# _LT_TRY_DLOPEN_SELF # LT_SYS_DLOPEN_SELF # ------------------ AC_DEFUN([LT_SYS_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl if test yes != "$enable_dlopen"; then enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown else lt_cv_dlopen=no lt_cv_dlopen_libs= case $host_os in beos*) lt_cv_dlopen=load_add_on lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; mingw* | pw32* | cegcc*) lt_cv_dlopen=LoadLibrary lt_cv_dlopen_libs= ;; cygwin*) lt_cv_dlopen=dlopen lt_cv_dlopen_libs= ;; darwin*) # if libdl is installed we need to link against it AC_CHECK_LIB([dl], [dlopen], [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[ lt_cv_dlopen=dyld lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ]) ;; tpf*) # Don't try to run any link tests for TPF. We know it's impossible # because TPF is a cross-compiler, and we know how we open DSOs. lt_cv_dlopen=dlopen lt_cv_dlopen_libs= lt_cv_dlopen_self=no ;; *) AC_CHECK_FUNC([shl_load], [lt_cv_dlopen=shl_load], [AC_CHECK_LIB([dld], [shl_load], [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld], [AC_CHECK_FUNC([dlopen], [lt_cv_dlopen=dlopen], [AC_CHECK_LIB([dl], [dlopen], [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl], [AC_CHECK_LIB([svld], [dlopen], [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld], [AC_CHECK_LIB([dld], [dld_link], [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld]) ]) ]) ]) ]) ]) ;; esac if test no = "$lt_cv_dlopen"; then enable_dlopen=no else enable_dlopen=yes fi case $lt_cv_dlopen in dlopen) save_CPPFLAGS=$CPPFLAGS test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" save_LDFLAGS=$LDFLAGS wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS=$LIBS LIBS="$lt_cv_dlopen_libs $LIBS" AC_CACHE_CHECK([whether a program can dlopen itself], lt_cv_dlopen_self, [dnl _LT_TRY_DLOPEN_SELF( lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) ]) if test yes = "$lt_cv_dlopen_self"; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" AC_CACHE_CHECK([whether a statically linked program can dlopen itself], lt_cv_dlopen_self_static, [dnl _LT_TRY_DLOPEN_SELF( lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) ]) fi CPPFLAGS=$save_CPPFLAGS LDFLAGS=$save_LDFLAGS LIBS=$save_LIBS ;; esac case $lt_cv_dlopen_self in yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; *) enable_dlopen_self=unknown ;; esac case $lt_cv_dlopen_self_static in yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; *) enable_dlopen_self_static=unknown ;; esac fi _LT_DECL([dlopen_support], [enable_dlopen], [0], [Whether dlopen is supported]) _LT_DECL([dlopen_self], [enable_dlopen_self], [0], [Whether dlopen of programs is supported]) _LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], [Whether dlopen of statically linked programs is supported]) ])# LT_SYS_DLOPEN_SELF # Old name: AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) # _LT_COMPILER_C_O([TAGNAME]) # --------------------------- # Check to see if options -c and -o are simultaneously supported by compiler. # This macro does not hard code the compiler like AC_PROG_CC_C_O. m4_defun([_LT_COMPILER_C_O], [m4_require([_LT_DECL_SED])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_TAG_COMPILER])dnl AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&AS_MESSAGE_LOG_FD echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes fi fi chmod u+w . 2>&AS_MESSAGE_LOG_FD $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* ]) _LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], [Does compiler simultaneously support -c and -o options?]) ])# _LT_COMPILER_C_O # _LT_COMPILER_FILE_LOCKS([TAGNAME]) # ---------------------------------- # Check to see if we can do hard links to lock some files if needed m4_defun([_LT_COMPILER_FILE_LOCKS], [m4_require([_LT_ENABLE_LOCK])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl _LT_COMPILER_C_O([$1]) hard_links=nottested if test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; then # do not overwrite the value of need_locks provided by the user AC_MSG_CHECKING([if we can lock with hard links]) hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no AC_MSG_RESULT([$hard_links]) if test no = "$hard_links"; then AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe]) need_locks=warn fi else need_locks=no fi _LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) ])# _LT_COMPILER_FILE_LOCKS # _LT_CHECK_OBJDIR # ---------------- m4_defun([_LT_CHECK_OBJDIR], [AC_CACHE_CHECK([for objdir], [lt_cv_objdir], [rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null if test -d .libs; then lt_cv_objdir=.libs else # MS-DOS does not allow filenames that begin with a dot. lt_cv_objdir=_libs fi rmdir .libs 2>/dev/null]) objdir=$lt_cv_objdir _LT_DECL([], [objdir], [0], [The name of the directory that contains temporary libtool files])dnl m4_pattern_allow([LT_OBJDIR])dnl AC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/", [Define to the sub-directory where libtool stores uninstalled libraries.]) ])# _LT_CHECK_OBJDIR # _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) # -------------------------------------- # Check hardcoding attributes. m4_defun([_LT_LINKER_HARDCODE_LIBPATH], [AC_MSG_CHECKING([how to hardcode library paths into programs]) _LT_TAGVAR(hardcode_action, $1)= if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || test -n "$_LT_TAGVAR(runpath_var, $1)" || test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then # We can hardcode non-existent directories. if test no != "$_LT_TAGVAR(hardcode_direct, $1)" && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" && test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then # Linking always hardcodes the temporary library directory. _LT_TAGVAR(hardcode_action, $1)=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. _LT_TAGVAR(hardcode_action, $1)=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. _LT_TAGVAR(hardcode_action, $1)=unsupported fi AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) if test relink = "$_LT_TAGVAR(hardcode_action, $1)" || test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then # Fast installation is not supported enable_fast_install=no elif test yes = "$shlibpath_overrides_runpath" || test no = "$enable_shared"; then # Fast installation is not necessary enable_fast_install=needless fi _LT_TAGDECL([], [hardcode_action], [0], [How to hardcode a shared library path into an executable]) ])# _LT_LINKER_HARDCODE_LIBPATH # _LT_CMD_STRIPLIB # ---------------- m4_defun([_LT_CMD_STRIPLIB], [m4_require([_LT_DECL_EGREP]) striplib= old_striplib= AC_MSG_CHECKING([whether stripping libraries is possible]) if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" test -z "$striplib" && striplib="$STRIP --strip-unneeded" AC_MSG_RESULT([yes]) else # FIXME - insert some real tests, host_os isn't really good enough case $host_os in darwin*) if test -n "$STRIP"; then striplib="$STRIP -x" old_striplib="$STRIP -S" AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) fi ;; *) AC_MSG_RESULT([no]) ;; esac fi _LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) _LT_DECL([], [striplib], [1]) ])# _LT_CMD_STRIPLIB # _LT_PREPARE_MUNGE_PATH_LIST # --------------------------- # Make sure func_munge_path_list() is defined correctly. m4_defun([_LT_PREPARE_MUNGE_PATH_LIST], [[# func_munge_path_list VARIABLE PATH # ----------------------------------- # VARIABLE is name of variable containing _space_ separated list of # directories to be munged by the contents of PATH, which is string # having a format: # "DIR[:DIR]:" # string "DIR[ DIR]" will be prepended to VARIABLE # ":DIR[:DIR]" # string "DIR[ DIR]" will be appended to VARIABLE # "DIRP[:DIRP]::[DIRA:]DIRA" # string "DIRP[ DIRP]" will be prepended to VARIABLE and string # "DIRA[ DIRA]" will be appended to VARIABLE # "DIR[:DIR]" # VARIABLE will be replaced by "DIR[ DIR]" func_munge_path_list () { case x@S|@2 in x) ;; *:) eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" ;; x:*) eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" ;; *::*) eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\" ;; *) eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\" ;; esac } ]])# _LT_PREPARE_PATH_LIST # _LT_SYS_DYNAMIC_LINKER([TAG]) # ----------------------------- # PORTME Fill in your ld.so characteristics m4_defun([_LT_SYS_DYNAMIC_LINKER], [AC_REQUIRE([AC_CANONICAL_HOST])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_OBJDUMP])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_CHECK_SHELL_FEATURES])dnl m4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl AC_MSG_CHECKING([dynamic linker characteristics]) m4_if([$1], [], [ if test yes = "$GCC"; then case $host_os in darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; *) lt_awk_arg='/^libraries:/' ;; esac case $host_os in mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;; *) lt_sed_strip_eq='s|=/|/|g' ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` case $lt_search_path_spec in *\;*) # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` ;; *) lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` ;; esac # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary... lt_tmp_lt_search_path_spec= lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` # ...but if some path component already ends with the multilib dir we assume # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). case "$lt_multi_os_dir; $lt_search_path_spec " in "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) lt_multi_os_dir= ;; esac for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" elif test -n "$lt_multi_os_dir"; then test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' BEGIN {RS = " "; FS = "/|\n";} { lt_foo = ""; lt_count = 0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo = "/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[[lt_foo]]++; } if (lt_freq[[lt_foo]] == 1) { print lt_foo; } }'` # AWK program above erroneously prepends '/' to C:/dos/paths # for these hosts. case $host_os in mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;; esac sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi]) library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=.so postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown AC_ARG_VAR([LT_SYS_LIBRARY_PATH], [User-defined run-time library search path.]) case $host_os in aix3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='$libname$release$shared_ext$major' ;; aix[[4-9]]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no hardcode_into_libs=yes if test ia64 = "$host_cpu"; then # AIX 5 supports IA64 library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line '#! .'. This would cause the generated library to # depend on '.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[[01]] | aix4.[[01]].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac # Using Import Files as archive members, it is possible to support # filename-based versioning of shared library archives on AIX. While # this would work for both with and without runtime linking, it will # prevent static linking of such archives. So we do filename-based # shared library versioning with .so extension only, which is used # when both runtime linking and shared linking is enabled. # Unfortunately, runtime linking may impact performance, so we do # not want this to be the default eventually. Also, we use the # versioned .so libs for executables only if there is the -brtl # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. # To allow for filename-based versioning support, we need to create # libNAME.so.V as an archive file, containing: # *) an Import File, referring to the versioned filename of the # archive as well as the shared archive member, telling the # bitwidth (32 or 64) of that shared object, and providing the # list of exported symbols of that shared object, eventually # decorated with the 'weak' keyword # *) the shared object with the F_LOADONLY flag set, to really avoid # it being seen by the linker. # At run time we better use the real file rather than another symlink, # but for link time we create the symlink libNAME.so -> libNAME.so.V case $with_aix_soname,$aix_use_runtimelinking in # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. aix,yes) # traditional libtool dynamic_linker='AIX unversionable lib.so' # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ;; aix,no) # traditional AIX only dynamic_linker='AIX lib.a[(]lib.so.V[)]' # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='$libname$release.a $libname.a' soname_spec='$libname$release$shared_ext$major' ;; svr4,*) # full svr4 only dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]" library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' # We do not specify a path in Import Files, so LIBPATH fires. shlibpath_overrides_runpath=yes ;; *,yes) # both, prefer svr4 dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]" library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' # unpreferred sharedlib libNAME.a needs extra handling postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' # We do not specify a path in Import Files, so LIBPATH fires. shlibpath_overrides_runpath=yes ;; *,no) # both, prefer aix dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]" library_names_spec='$libname$release.a $libname.a' soname_spec='$libname$release$shared_ext$major' # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' ;; esac shlibpath_var=LIBPATH fi ;; amigaos*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; beos*) library_names_spec='$libname$shared_ext' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[[45]]*) version_type=linux # correct to gnu/linux during the next big refactor need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32* | cegcc*) version_type=windows shrext_cmds=.dll need_version=no need_lib_prefix=no case $GCC,$cc_basename in yes,*) # gcc library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \$file`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' m4_if([$1], [],[ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' ;; esac dynamic_linker='Win32 ld.exe' ;; *,cl*) # Native MSVC libname_spec='$name' soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' library_names_spec='$libname.dll.lib' case $build_os in mingw*) sys_lib_search_path_spec= lt_save_ifs=$IFS IFS=';' for lt_path in $LIB do IFS=$lt_save_ifs # Let DOS variable expansion print the short 8.3 style file name. lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" done IFS=$lt_save_ifs # Convert to MSYS style. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` ;; cygwin*) # Convert to unix form, then to dos form, then back to unix form # but this time dos style (no spaces!) so that the unix form looks # like /cygdrive/c/PROGRA~1:/cygdr... sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` ;; *) sys_lib_search_path_spec=$LIB if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then # It is most probably a Windows format PATH. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # FIXME: find the short name or the path components, as spaces are # common. (e.g. "Program Files" -> "PROGRA~1") ;; esac # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \$file`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes dynamic_linker='Win32 link.exe' ;; *) # Assume MSVC wrapper library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib' dynamic_linker='Win32 ld.exe' ;; esac # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' soname_spec='$libname$release$major$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' m4_if([$1], [],[ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[[23]].*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2.*) shlibpath_overrides_runpath=yes ;; freebsd3.[[01]]* | freebsdelf3.[[01]]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; haiku*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no dynamic_linker="$host_os runtime_loader" library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LIBRARY_PATH shlibpath_overrides_runpath=no sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' if test 32 = "$HPUX_IA64_MODE"; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" sys_lib_dlsearch_path_spec=/usr/lib/hpux32 else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" sys_lib_dlsearch_path_spec=/usr/lib/hpux64 fi ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555, ... postinstall_cmds='chmod 555 $lib' # or fails outright, so override atomically: install_override_mode=555 ;; interix[[3-9]]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test yes = "$lt_cv_prog_gnu_ld"; then version_type=linux # correct to gnu/linux during the next big refactor else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='$libname$release$shared_ext$major' library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; linux*android*) version_type=none # Android doesn't support versioned libraries. need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext' soname_spec='$libname$release$shared_ext' finish_cmds= shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes dynamic_linker='Android linker' # Don't embed -rpath directories since the linker doesn't support them. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # Some binutils ld are patched to set DT_RUNPATH AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath], [lt_cv_shlibpath_overrides_runpath=no save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], [lt_cv_shlibpath_overrides_runpath=yes])]) LDFLAGS=$save_LDFLAGS libdir=$save_libdir ]) shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # Ideally, we could use ldconfig to report *all* directores which are # searched for libraries, however this is still not possible. Aside from not # being certain /sbin/ldconfig is available, command # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, # even though it is searched at run-time. Try to do the best guess by # appending ld.so.conf contents (and includes) to the search path. if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsdelf*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='NetBSD ld.elf_so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; *nto* | *qnx*) version_type=qnx need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd* | bitrig*) version_type=sunos sys_lib_dlsearch_path_spec=/usr/lib need_lib_prefix=no if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then need_version=no else need_version=yes fi library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; os2*) libname_spec='$name' version_type=windows shrext_cmds=.dll need_version=no need_lib_prefix=no # OS/2 can only load a DLL with a base name of 8 characters or less. soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; v=$($ECHO $release$versuffix | tr -d .-); n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); $ECHO $n$v`$shared_ext' library_names_spec='${libname}_dll.$libext' dynamic_linker='OS/2 ld.exe' shlibpath_var=BEGINLIBPATH sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec postinstall_cmds='base_file=`basename \$file`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='$libname$release$shared_ext$major' library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test yes = "$with_gnu_ld"; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec; then version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' soname_spec='$libname$shared_ext.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=sco need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test yes = "$with_gnu_ld"; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' soname_spec='$libname$release$shared_ext$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac AC_MSG_RESULT([$dynamic_linker]) test no = "$dynamic_linker" && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test yes = "$GCC"; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec fi if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec fi # remember unaugmented sys_lib_dlsearch_path content for libtool script decls... configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec # ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" # to be used as default LT_SYS_LIBRARY_PATH value in generated libtool configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH _LT_DECL([], [variables_saved_for_relink], [1], [Variables whose values should be saved in libtool wrapper scripts and restored at link time]) _LT_DECL([], [need_lib_prefix], [0], [Do we need the "lib" prefix for modules?]) _LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) _LT_DECL([], [version_type], [0], [Library versioning type]) _LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) _LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) _LT_DECL([], [shlibpath_overrides_runpath], [0], [Is shlibpath searched before the hard-coded library search path?]) _LT_DECL([], [libname_spec], [1], [Format of library name prefix]) _LT_DECL([], [library_names_spec], [1], [[List of archive names. First name is the real one, the rest are links. The last name is the one that the linker finds with -lNAME]]) _LT_DECL([], [soname_spec], [1], [[The coded name of the library, if different from the real name]]) _LT_DECL([], [install_override_mode], [1], [Permission mode override for installation of shared libraries]) _LT_DECL([], [postinstall_cmds], [2], [Command to use after installation of a shared archive]) _LT_DECL([], [postuninstall_cmds], [2], [Command to use after uninstallation of a shared archive]) _LT_DECL([], [finish_cmds], [2], [Commands used to finish a libtool library installation in a directory]) _LT_DECL([], [finish_eval], [1], [[As "finish_cmds", except a single script fragment to be evaled but not shown]]) _LT_DECL([], [hardcode_into_libs], [0], [Whether we should hardcode library paths into libraries]) _LT_DECL([], [sys_lib_search_path_spec], [2], [Compile-time system search path for libraries]) _LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2], [Detected run-time system search path for libraries]) _LT_DECL([], [configure_time_lt_sys_library_path], [2], [Explicit LT_SYS_LIBRARY_PATH set during ./configure time]) ])# _LT_SYS_DYNAMIC_LINKER # _LT_PATH_TOOL_PREFIX(TOOL) # -------------------------- # find a file program that can recognize shared library AC_DEFUN([_LT_PATH_TOOL_PREFIX], [m4_require([_LT_DECL_EGREP])dnl AC_MSG_CHECKING([for $1]) AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, [case $MAGIC_CMD in [[\\/*] | ?:[\\/]*]) lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD=$MAGIC_CMD lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR dnl $ac_dummy forces splitting on constant user-supplied paths. dnl POSIX.2 word splitting is done only on the output of word expansions, dnl not every word. This closes a longstanding sh security hole. ac_dummy="m4_if([$2], , $PATH, [$2])" for ac_dir in $ac_dummy; do IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$1"; then lt_cv_path_MAGIC_CMD=$ac_dir/"$1" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD=$lt_cv_path_MAGIC_CMD if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS=$lt_save_ifs MAGIC_CMD=$lt_save_MAGIC_CMD ;; esac]) MAGIC_CMD=$lt_cv_path_MAGIC_CMD if test -n "$MAGIC_CMD"; then AC_MSG_RESULT($MAGIC_CMD) else AC_MSG_RESULT(no) fi _LT_DECL([], [MAGIC_CMD], [0], [Used to examine libraries when file_magic_cmd begins with "file"])dnl ])# _LT_PATH_TOOL_PREFIX # Old name: AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) # _LT_PATH_MAGIC # -------------- # find a file program that can recognize a shared library m4_defun([_LT_PATH_MAGIC], [_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) else MAGIC_CMD=: fi fi ])# _LT_PATH_MAGIC # LT_PATH_LD # ---------- # find the pathname to the GNU or non-GNU linker AC_DEFUN([LT_PATH_LD], [AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_PROG_ECHO_BACKSLASH])dnl AC_ARG_WITH([gnu-ld], [AS_HELP_STRING([--with-gnu-ld], [assume the C compiler uses GNU ld @<:@default=no@:>@])], [test no = "$withval" || with_gnu_ld=yes], [with_gnu_ld=no])dnl ac_prog=ld if test yes = "$GCC"; then # Check if gcc -print-prog-name=ld gives a path. AC_MSG_CHECKING([for ld used by $CC]) case $host in *-*-mingw*) # gcc leaves a trailing carriage return, which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [[\\/]]* | ?:[[\\/]]*) re_direlt='/[[^/]][[^/]]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD=$ac_prog ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test yes = "$with_gnu_ld"; then AC_MSG_CHECKING([for GNU ld]) else AC_MSG_CHECKING([for non-GNU ld]) fi AC_CACHE_VAL(lt_cv_path_LD, [if test -z "$LD"; then lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD=$ac_dir/$ac_prog # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &1 conftest.i cat conftest.i conftest.i >conftest2.i : ${lt_DD:=$DD} AC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd], [if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then cmp -s conftest.i conftest.out \ && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: fi]) rm -f conftest.i conftest2.i conftest.out]) ])# _LT_PATH_DD # _LT_CMD_TRUNCATE # ---------------- # find command to truncate a binary pipe m4_defun([_LT_CMD_TRUNCATE], [m4_require([_LT_PATH_DD]) AC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin], [printf 0123456789abcdef0123456789abcdef >conftest.i cat conftest.i conftest.i >conftest2.i lt_cv_truncate_bin= if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then cmp -s conftest.i conftest.out \ && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" fi rm -f conftest.i conftest2.i conftest.out test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"]) _LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1], [Command to truncate a binary pipe]) ])# _LT_CMD_TRUNCATE # _LT_CHECK_MAGIC_METHOD # ---------------------- # how to check for library dependencies # -- PORTME fill in with the dynamic library characteristics m4_defun([_LT_CHECK_MAGIC_METHOD], [m4_require([_LT_DECL_EGREP]) m4_require([_LT_DECL_OBJDUMP]) AC_CACHE_CHECK([how to recognize dependent libraries], lt_cv_deplibs_check_method, [lt_cv_file_magic_cmd='$MAGIC_CMD' lt_cv_file_magic_test_file= lt_cv_deplibs_check_method='unknown' # Need to set the preceding variable on all platforms that support # interlibrary dependencies. # 'none' -- dependencies not supported. # 'unknown' -- same as none, but documents that we really don't know. # 'pass_all' -- all dependencies passed with no checks. # 'test_compile' -- check by making test program. # 'file_magic [[regex]]' -- check by looking for files in library path # that responds to the $file_magic_cmd with a given extended regex. # If you have 'file' or equivalent on your system and you're not sure # whether 'pass_all' will *always* work, you probably want this one. case $host_os in aix[[4-9]]*) lt_cv_deplibs_check_method=pass_all ;; beos*) lt_cv_deplibs_check_method=pass_all ;; bsdi[[45]]*) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' lt_cv_file_magic_cmd='/usr/bin/file -L' lt_cv_file_magic_test_file=/shlib/libc.so ;; cygwin*) # func_win32_libid is a shell function defined in ltmain.sh lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' ;; mingw* | pw32*) # Base MSYS/MinGW do not provide the 'file' command needed by # func_win32_libid shell function, so use a weaker test based on 'objdump', # unless we find 'file', for example because we are cross-compiling. if ( file / ) >/dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else # Keep this pattern in sync with the one in func_win32_libid. lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; cegcc*) # use the weaker test based on 'objdump'. See mingw*. lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' lt_cv_file_magic_cmd='$OBJDUMP -f' ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac else lt_cv_deplibs_check_method=pass_all fi ;; haiku*) lt_cv_deplibs_check_method=pass_all ;; hpux10.20* | hpux11*) lt_cv_file_magic_cmd=/usr/bin/file case $host_cpu in ia64*) lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so ;; hppa*64*) [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'] lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl ;; *) lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library' lt_cv_file_magic_test_file=/usr/lib/libc.sl ;; esac ;; interix[[3-9]]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) lt_cv_deplibs_check_method=pass_all ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' fi ;; newos6*) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; *nto* | *qnx*) lt_cv_deplibs_check_method=pass_all ;; openbsd* | bitrig*) if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) case $host_vendor in motorola) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` ;; ncr) lt_cv_deplibs_check_method=pass_all ;; sequent) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;; sni) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" lt_cv_file_magic_test_file=/lib/libc.so ;; siemens) lt_cv_deplibs_check_method=pass_all ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; tpf*) lt_cv_deplibs_check_method=pass_all ;; os2*) lt_cv_deplibs_check_method=pass_all ;; esac ]) file_magic_glob= want_nocaseglob=no if test "$build" = "$host"; then case $host_os in mingw* | pw32*) if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then want_nocaseglob=yes else file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"` fi ;; esac fi file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method test -z "$deplibs_check_method" && deplibs_check_method=unknown _LT_DECL([], [deplibs_check_method], [1], [Method to check whether dependent libraries are shared objects]) _LT_DECL([], [file_magic_cmd], [1], [Command to use when deplibs_check_method = "file_magic"]) _LT_DECL([], [file_magic_glob], [1], [How to find potential files when deplibs_check_method = "file_magic"]) _LT_DECL([], [want_nocaseglob], [1], [Find potential files using nocaseglob when deplibs_check_method = "file_magic"]) ])# _LT_CHECK_MAGIC_METHOD # LT_PATH_NM # ---------- # find the pathname to a BSD- or MS-compatible name lister AC_DEFUN([LT_PATH_NM], [AC_REQUIRE([AC_PROG_CC])dnl AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, [if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM=$NM else lt_nm_to_check=${ac_tool_prefix}nm if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS=$lt_save_ifs test -z "$ac_dir" && ac_dir=. tmp_nm=$ac_dir/$lt_tmp_nm if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then # Check to see if the nm accepts a BSD-compat flag. # Adding the 'sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored # Tru64's nm complains that /dev/null is an invalid object file # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty case $build_os in mingw*) lt_bad_file=conftest.nm/nofile ;; *) lt_bad_file=/dev/null ;; esac case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in *$lt_bad_file* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break 2 ;; *) case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break 2 ;; *) lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but continue # so that we can try to find one that supports BSD flags ;; esac ;; esac fi done IFS=$lt_save_ifs done : ${lt_cv_path_NM=no} fi]) if test no != "$lt_cv_path_NM"; then NM=$lt_cv_path_NM else # Didn't find any BSD compatible name lister, look for dumpbin. if test -n "$DUMPBIN"; then : # Let the user override the test. else AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in *COFF*) DUMPBIN="$DUMPBIN -symbols -headers" ;; *) DUMPBIN=: ;; esac fi AC_SUBST([DUMPBIN]) if test : != "$DUMPBIN"; then NM=$DUMPBIN fi fi test -z "$NM" && NM=nm AC_SUBST([NM]) _LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], [lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&AS_MESSAGE_LOG_FD (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&AS_MESSAGE_LOG_FD (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) cat conftest.out >&AS_MESSAGE_LOG_FD if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" fi rm -f conftest*]) ])# LT_PATH_NM # Old names: AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_PROG_NM], []) dnl AC_DEFUN([AC_PROG_NM], []) # _LT_CHECK_SHAREDLIB_FROM_LINKLIB # -------------------------------- # how to determine the name of the shared library # associated with a specific link library. # -- PORTME fill in with the dynamic library characteristics m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB], [m4_require([_LT_DECL_EGREP]) m4_require([_LT_DECL_OBJDUMP]) m4_require([_LT_DECL_DLLTOOL]) AC_CACHE_CHECK([how to associate runtime and link libraries], lt_cv_sharedlib_from_linklib_cmd, [lt_cv_sharedlib_from_linklib_cmd='unknown' case $host_os in cygwin* | mingw* | pw32* | cegcc*) # two different shell functions defined in ltmain.sh; # decide which one to use based on capabilities of $DLLTOOL case `$DLLTOOL --help 2>&1` in *--identify-strict*) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib ;; *) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback ;; esac ;; *) # fallback: assume linklib IS sharedlib lt_cv_sharedlib_from_linklib_cmd=$ECHO ;; esac ]) sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO _LT_DECL([], [sharedlib_from_linklib_cmd], [1], [Command to associate shared and link libraries]) ])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB # _LT_PATH_MANIFEST_TOOL # ---------------------- # locate the manifest tool m4_defun([_LT_PATH_MANIFEST_TOOL], [AC_CHECK_TOOL(MANIFEST_TOOL, mt, :) test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool], [lt_cv_path_mainfest_tool=no echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out cat conftest.err >&AS_MESSAGE_LOG_FD if $GREP 'Manifest Tool' conftest.out > /dev/null; then lt_cv_path_mainfest_tool=yes fi rm -f conftest*]) if test yes != "$lt_cv_path_mainfest_tool"; then MANIFEST_TOOL=: fi _LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl ])# _LT_PATH_MANIFEST_TOOL # _LT_DLL_DEF_P([FILE]) # --------------------- # True iff FILE is a Windows DLL '.def' file. # Keep in sync with func_dll_def_p in the libtool script AC_DEFUN([_LT_DLL_DEF_P], [dnl test DEF = "`$SED -n dnl -e '\''s/^[[ ]]*//'\'' dnl Strip leading whitespace -e '\''/^\(;.*\)*$/d'\'' dnl Delete empty lines and comments -e '\''s/^\(EXPORTS\|LIBRARY\)\([[ ]].*\)*$/DEF/p'\'' dnl -e q dnl Only consider the first "real" line $1`" dnl ])# _LT_DLL_DEF_P # LT_LIB_M # -------- # check for math library AC_DEFUN([LT_LIB_M], [AC_REQUIRE([AC_CANONICAL_HOST])dnl LIBM= case $host in *-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) # These system don't have libm, or don't need it ;; *-ncr-sysv4.3*) AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw) AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") ;; *) AC_CHECK_LIB(m, cos, LIBM=-lm) ;; esac AC_SUBST([LIBM]) ])# LT_LIB_M # Old name: AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_CHECK_LIBM], []) # _LT_COMPILER_NO_RTTI([TAGNAME]) # ------------------------------- m4_defun([_LT_COMPILER_NO_RTTI], [m4_require([_LT_TAG_COMPILER])dnl _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= if test yes = "$GCC"; then case $cc_basename in nvcc*) _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;; *) _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;; esac _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], lt_cv_prog_compiler_rtti_exceptions, [-fno-rtti -fno-exceptions], [], [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) fi _LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], [Compiler flag to turn off builtin functions]) ])# _LT_COMPILER_NO_RTTI # _LT_CMD_GLOBAL_SYMBOLS # ---------------------- m4_defun([_LT_CMD_GLOBAL_SYMBOLS], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([LT_PATH_NM])dnl AC_REQUIRE([LT_PATH_LD])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_TAG_COMPILER])dnl # Check for command to grab the raw symbol name followed by C symbol from nm. AC_MSG_CHECKING([command to parse $NM output from $compiler object]) AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], [ # These are sane defaults that work on at least a few old systems. # [They come from Ultrix. What could be older than Ultrix?!! ;)] # Character class describing NM global symbol codes. symcode='[[BCDEGRST]]' # Regexp to match symbols that can be accessed directly from C. sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' # Define system-specific variables. case $host_os in aix*) symcode='[[BCDT]]' ;; cygwin* | mingw* | pw32* | cegcc*) symcode='[[ABCDGISTW]]' ;; hpux*) if test ia64 = "$host_cpu"; then symcode='[[ABCDEGRST]]' fi ;; irix* | nonstopux*) symcode='[[BCDEGRST]]' ;; osf*) symcode='[[BCDEGQRST]]' ;; solaris*) symcode='[[BDRT]]' ;; sco3.2v5*) symcode='[[DT]]' ;; sysv4.2uw2*) symcode='[[DT]]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[[ABDT]]' ;; sysv4) symcode='[[DFNSTU]]' ;; esac # If we're using GNU nm, then use its standard symbol codes. case `$NM -V 2>&1` in *GNU* | *'with BFD'*) symcode='[[ABCDGIRSTW]]' ;; esac if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Gets list of data symbols to import. lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" # Adjust the below global symbol transforms to fixup imported variables. lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" lt_c_name_lib_hook="\ -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" else # Disable hooks by default. lt_cv_sys_global_symbol_to_import= lt_cdecl_hook= lt_c_name_hook= lt_c_name_lib_hook= fi # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. lt_cv_sys_global_symbol_to_cdecl="sed -n"\ $lt_cdecl_hook\ " -e 's/^T .* \(.*\)$/extern int \1();/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address lt_cv_sys_global_symbol_to_c_name_address="sed -n"\ $lt_c_name_hook\ " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" # Transform an extracted symbol line into symbol name with lib prefix and # symbol address. lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ $lt_c_name_lib_hook\ " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ " -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" # Handle CRLF in mingw tool chain opt_cr= case $build_os in mingw*) opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;; esac # Try without a prefix underscore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # Write the raw and C identifiers. if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Fake it for dumpbin and say T for any non-static function, # D for any global variable and I for any imported variable. # Also find C++ and __fastcall symbols from MSVC++, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK ['"\ " {last_section=section; section=\$ 3};"\ " /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ " /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ " /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ " /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ " \$ 0!~/External *\|/{next};"\ " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ " {if(hide[section]) next};"\ " {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ " {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ " s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ " s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ " ' prfx=^$ac_symprfx]" else lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" # Check to see that the pipe works correctly. pipe_works=no rm -f conftest* cat > conftest.$ac_ext <<_LT_EOF #ifdef __cplusplus extern "C" { #endif char nm_test_var; void nm_test_func(void); void nm_test_func(void){} #ifdef __cplusplus } #endif int main(){nm_test_var='a';nm_test_func();return(0);} _LT_EOF if AC_TRY_EVAL(ac_compile); then # Now try to grab the symbols. nlist=conftest.nm if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" else rm -f "$nlist"T fi # Make sure that we snagged all the symbols we need. if $GREP ' nm_test_var$' "$nlist" >/dev/null; then if $GREP ' nm_test_func$' "$nlist" >/dev/null; then cat <<_LT_EOF > conftest.$ac_ext /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ #if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE /* DATA imports from DLLs on WIN32 can't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs. */ # define LT@&t@_DLSYM_CONST #elif defined __osf__ /* This system does not cope well with relocations in const data. */ # define LT@&t@_DLSYM_CONST #else # define LT@&t@_DLSYM_CONST const #endif #ifdef __cplusplus extern "C" { #endif _LT_EOF # Now generate the symbol file. eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' cat <<_LT_EOF >> conftest.$ac_ext /* The mapping between symbol names and symbols. */ LT@&t@_DLSYM_CONST struct { const char *name; void *address; } lt__PROGRAM__LTX_preloaded_symbols[[]] = { { "@PROGRAM@", (void *) 0 }, _LT_EOF $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext cat <<\_LT_EOF >> conftest.$ac_ext {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt__PROGRAM__LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif _LT_EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext lt_globsym_save_LIBS=$LIBS lt_globsym_save_CFLAGS=$CFLAGS LIBS=conftstm.$ac_objext CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then pipe_works=yes fi LIBS=$lt_globsym_save_LIBS CFLAGS=$lt_globsym_save_CFLAGS else echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD fi else echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD fi else echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD fi else echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD cat conftest.$ac_ext >&5 fi rm -rf conftest* conftst* # Do not use the global_symbol_pipe unless it works. if test yes = "$pipe_works"; then break else lt_cv_sys_global_symbol_pipe= fi done ]) if test -z "$lt_cv_sys_global_symbol_pipe"; then lt_cv_sys_global_symbol_to_cdecl= fi if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then AC_MSG_RESULT(failed) else AC_MSG_RESULT(ok) fi # Response file support. if test "$lt_cv_nm_interface" = "MS dumpbin"; then nm_file_list_spec='@' elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then nm_file_list_spec='@' fi _LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], [Take the output of nm and produce a listing of raw symbols and C names]) _LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], [Transform the output of nm in a proper C declaration]) _LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1], [Transform the output of nm into a list of symbols to manually relocate]) _LT_DECL([global_symbol_to_c_name_address], [lt_cv_sys_global_symbol_to_c_name_address], [1], [Transform the output of nm in a C name address pair]) _LT_DECL([global_symbol_to_c_name_address_lib_prefix], [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], [Transform the output of nm in a C name address pair when lib prefix is needed]) _LT_DECL([nm_interface], [lt_cv_nm_interface], [1], [The name lister interface]) _LT_DECL([], [nm_file_list_spec], [1], [Specify filename containing input files for $NM]) ]) # _LT_CMD_GLOBAL_SYMBOLS # _LT_COMPILER_PIC([TAGNAME]) # --------------------------- m4_defun([_LT_COMPILER_PIC], [m4_require([_LT_TAG_COMPILER])dnl _LT_TAGVAR(lt_prog_compiler_wl, $1)= _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)= m4_if([$1], [CXX], [ # C++ specific cases for pic, static, wl, etc. if test yes = "$GXX"; then _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' case $host_os in aix*) # All AIX code is PIC. if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the '-m68020' flag to GCC prevents building anything better, # like '-m68040'. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) case $host_os in os2*) _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' ;; esac ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' ;; *djgpp*) # DJGPP does not support shared libraries at all _LT_TAGVAR(lt_prog_compiler_pic, $1)= ;; haiku*) # PIC is the default for Haiku. # The "-static" flag exists, but is broken. _LT_TAGVAR(lt_prog_compiler_static, $1)= ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic fi ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac else case $host_os in aix[[4-9]]*) # All AIX code is PIC. if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' else _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' fi ;; chorus*) case $cc_basename in cxch68*) # Green Hills C++ Compiler # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" ;; esac ;; mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; dgux*) case $cc_basename in ec++*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ;; ghcx*) # Green Hills C++ Compiler _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; *) ;; esac ;; freebsd* | dragonfly*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' if test ia64 != "$host_cpu"; then _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' fi ;; aCC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ;; esac ;; *) ;; esac ;; interix*) # This is c89, which is MS Visual C++ (no shared libs) # Anyone wants to do a port? ;; irix5* | irix6* | nonstopux*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' # CC pic flag -KPIC is the default. ;; *) ;; esac ;; linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in KCC*) # KAI C++ Compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; ecpc* ) # old Intel C++ for x86_64, which still supported -KPIC. _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; icpc* ) # Intel C++, used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; pgCC* | pgcpp*) # Portland Group C++ compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; cxx*) # Compaq C++ # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL 8.0, 9.0 on PPC and BlueGene _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; esac ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' ;; *) ;; esac ;; netbsd* | netbsdelf*-gnu) ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' ;; RCC*) # Rational C++ 2.4.1 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; cxx*) # Digital/Compaq C++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; *) ;; esac ;; psos*) ;; solaris*) case $cc_basename in CC* | sunCC*) # Sun C++ 4.2, 5.x and Centerline C++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; gcx*) # Green Hills C++ Compiler _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' ;; *) ;; esac ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; lcc*) # Lucid _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; *) ;; esac ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ;; *) ;; esac ;; vxworks*) ;; *) _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; esac fi ], [ if test yes = "$GCC"; then _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' case $host_os in aix*) # All AIX code is PIC. if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the '-m68020' flag to GCC prevents building anything better, # like '-m68040'. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) case $host_os in os2*) _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' ;; esac ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' ;; haiku*) # PIC is the default for Haiku. # The "-static" flag exists, but is broken. _LT_TAGVAR(lt_prog_compiler_static, $1)= ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no enable_shared=no ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic fi ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac case $cc_basename in nvcc*) # Cuda Compiler Driver 2.2 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker ' if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)" fi ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' if test ia64 = "$host_cpu"; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' else _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' fi ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' case $cc_basename in nagfor*) # NAG Fortran compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; esac ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) case $host_os in os2*) _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' ;; esac ;; hpux9* | hpux10* | hpux11*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # PIC (with -KPIC) is the default. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in # old Intel for x86_64, which still supported -KPIC. ecc*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; # Lahey Fortran 8.1. lf95*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' ;; nagfor*) # NAG Fortran compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; tcc*) # Fabrice Bellard et al's Tiny C Compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; ccc*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # All Alpha code is PIC. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; xl* | bgxl* | bgf* | mpixl*) # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) # Sun Fortran 8.3 passes all unrecognized flags to the linker _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='' ;; *Sun\ F* | *Sun*Fortran*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; *Sun\ C*) # Sun C 5.9 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ;; *Intel*\ [[CF]]*Compiler*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; *Portland\ Group*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; esac ;; esac ;; newsos6) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; osf3* | osf4* | osf5*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # All OSF/1 code is PIC. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; rdos*) _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; solaris*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' case $cc_basename in f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; *) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; esac ;; sunos4*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; unicos*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; uts4*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; *) _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; esac fi ]) case $host_os in # For platforms that do not support PIC, -DPIC is meaningless: *djgpp*) _LT_TAGVAR(lt_prog_compiler_pic, $1)= ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" ;; esac AC_CACHE_CHECK([for $compiler option to produce PIC], [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)], [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) _LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1) # # Check to make sure the PIC flag actually works. # if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in "" | " "*) ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; esac], [_LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) fi _LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], [Additional compiler flags for building library objects]) _LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], [How to pass a linker flag through the compiler]) # # Check to make sure the static flag actually works. # wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), $lt_tmp_static_flag, [], [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) _LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], [Compiler flag to prevent dynamic linking]) ])# _LT_COMPILER_PIC # _LT_LINKER_SHLIBS([TAGNAME]) # ---------------------------- # See if the linker supports building shared libraries. m4_defun([_LT_LINKER_SHLIBS], [AC_REQUIRE([LT_PATH_LD])dnl AC_REQUIRE([LT_PATH_NM])dnl m4_require([_LT_PATH_MANIFEST_TOOL])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl m4_require([_LT_TAG_COMPILER])dnl AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) m4_if([$1], [CXX], [ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] case $host_os in aix[[4-9]]*) # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to GNU nm, but means don't demangle to AIX nm. # Without the "-l" option, or with the "-B" option, AIX nm treats # weak defined symbols like other global defined symbols, whereas # GNU nm marks them as "W". # While the 'weak' keyword is ignored in the Export File, we need # it in the Import File for the 'aix-soname' feature, so we have # to replace the "-B" option with "-P" for AIX nm. if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' fi ;; pw32*) _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds ;; cygwin* | mingw* | cegcc*) case $cc_basename in cl*) _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' ;; *) _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] ;; esac ;; linux* | k*bsd*-gnu | gnu*) _LT_TAGVAR(link_all_deplibs, $1)=no ;; *) _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; esac ], [ runpath_var= _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_cmds, $1)= _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(compiler_needs_object, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(old_archive_from_new_cmds, $1)= _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= _LT_TAGVAR(thread_safe_flag_spec, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list _LT_TAGVAR(include_expsyms, $1)= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ' (' and ')$', so one must not match beginning or # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', # as well as any symbol that contains 'd'. _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. # Exclude shared library initialization/finalization symbols. dnl Note also adjust exclude_expsyms for C++ above. extract_expsyms_cmds= case $host_os in cygwin* | mingw* | pw32* | cegcc*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test yes != "$GCC"; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd* | bitrig*) with_gnu_ld=no ;; linux* | k*bsd*-gnu | gnu*) _LT_TAGVAR(link_all_deplibs, $1)=no ;; esac _LT_TAGVAR(ld_shlibs, $1)=yes # On some targets, GNU ld is compatible enough with the native linker # that we're better off using the native interface for both. lt_use_gnu_ld_interface=no if test yes = "$with_gnu_ld"; then case $host_os in aix*) # The AIX port of GNU ld has always aspired to compatibility # with the native linker. However, as the warning in the GNU ld # block says, versions before 2.19.5* couldn't really create working # shared libraries, regardless of the interface used. case `$LD -v 2>&1` in *\ \(GNU\ Binutils\)\ 2.19.5*) ;; *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;; *\ \(GNU\ Binutils\)\ [[3-9]]*) ;; *) lt_use_gnu_ld_interface=yes ;; esac ;; *) lt_use_gnu_ld_interface=yes ;; esac fi if test yes = "$lt_use_gnu_ld_interface"; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='$wl' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' else _LT_TAGVAR(whole_archive_flag_spec, $1)= fi supports_anon_versioning=no case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in *GNU\ gold*) supports_anon_versioning=yes ;; *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # See if GNU ld supports shared libraries. case $host_os in aix[[3-9]]*) # On AIX/PPC, the GNU linker is very broken if test ia64 != "$host_cpu"; then _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: the GNU linker, at least up to release 2.19, is reported *** to be unable to reliably create shared libraries on AIX. *** Therefore, libtool is disabling shared libraries support. If you *** really care for shared libraries, you may want to install binutils *** 2.20 or above, or modify your PATH so that a non-GNU linker is found. *** You will then need to restart the configuration process. _LT_EOF fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='' ;; m68k) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; cygwin* | mingw* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file, use it as # is; otherwise, prepend EXPORTS... _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; haiku*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(link_all_deplibs, $1)=yes ;; os2*) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(allow_undefined_flag, $1)=unsupported shrext_cmds=.dll _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ prefix_cmds="$SED"~ if test EXPORTS = "`$SED 1q $export_symbols`"; then prefix_cmds="$prefix_cmds -e 1d"; fi~ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ;; interix[[3-9]]*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) tmp_diet=no if test linux-dietlibc = "$host_os"; then case $cc_basename in diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) esac fi if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ && test no = "$tmp_diet" then tmp_addflag=' $pic_flag' tmp_sharedflag='-shared' case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group f77 and f90 compilers _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; lf95*) # Lahey Fortran 8.1 _LT_TAGVAR(whole_archive_flag_spec, $1)= tmp_sharedflag='--shared' ;; nagfor*) # NAGFOR 5.3 tmp_sharedflag='-Wl,-shared' ;; xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) tmp_sharedflag='-qmkshrobj' tmp_addflag= ;; nvcc*) # Cuda Compiler Driver 2.2 _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; esac _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' if test yes = "$supports_anon_versioning"; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' fi case $cc_basename in tcc*) _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic' ;; xlf* | bgf* | bgxlf* | mpixlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' if test yes = "$supports_anon_versioning"; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi ;; esac else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; sunos4*) _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then runpath_var= _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=yes _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. _LT_TAGVAR(hardcode_minus_L, $1)=yes if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. _LT_TAGVAR(hardcode_direct, $1)=unsupported fi ;; aix[[4-9]]*) if test ia64 = "$host_cpu"; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag= else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to GNU nm, but means don't demangle to AIX nm. # Without the "-l" option, or with the "-B" option, AIX nm treats # weak defined symbols like other global defined symbols, whereas # GNU nm marks them as "W". # While the 'weak' keyword is ignored in the Export File, we need # it in the Import File for the 'aix-soname' feature, so we have # to replace the "-B" option with "-P" for AIX nm. if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # have runtime linking enabled, and use it for executables. # For shared libraries, we enable/disable runtime linking # depending on the kind of the shared library created - # when "with_aix_soname,aix_use_runtimelinking" is: # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables # "aix,yes" lib.so shared, rtl:yes, for executables # lib.a static archive # "both,no" lib.so.V(shr.o) shared, rtl:yes # lib.a(lib.so.V) shared, rtl:no, for executables # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables # lib.a(lib.so.V) shared, rtl:no # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables # lib.a static archive case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) for ld_flag in $LDFLAGS; do if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then aix_use_runtimelinking=yes break fi done if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then # With aix-soname=svr4, we create the lib.so.V shared archives only, # so we don't have lib.a shared libs to link our executables. # We have to force runtime linking in this case. aix_use_runtimelinking=yes LDFLAGS="$LDFLAGS -Wl,-brtl" fi ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. _LT_TAGVAR(archive_cmds, $1)='' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(file_list_spec, $1)='$wl-f,' case $with_aix_soname,$aix_use_runtimelinking in aix,*) ;; # traditional, no import file svr4,* | *,yes) # use import file # The Import File defines what to hardcode. _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no ;; esac if test yes = "$GCC"; then case $host_os in aix4.[[012]]|aix4.[[012]].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`$CC -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 _LT_TAGVAR(hardcode_direct, $1)=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)= fi ;; esac shared_flag='-shared' if test yes = "$aix_use_runtimelinking"; then shared_flag="$shared_flag "'$wl-G' fi # Need to ensure runtime linking is disabled for the traditional # shared library, or the linker may eventually find shared libraries # /with/ Import File - we do not want to mix them. shared_flag_aix='-shared' shared_flag_svr4='-shared $wl-G' else # not using gcc if test ia64 = "$host_cpu"; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test yes = "$aix_use_runtimelinking"; then shared_flag='$wl-G' else shared_flag='$wl-bM:SRE' fi shared_flag_aix='$wl-bM:SRE' shared_flag_svr4='$wl-G' fi fi _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. _LT_TAGVAR(always_export_symbols, $1)=yes if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. _LT_TAGVAR(allow_undefined_flag, $1)='-berok' # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag else if test ia64 = "$host_cpu"; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib' _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok' _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok' if test yes = "$with_gnu_ld"; then # We only use this code for GNU lds that support --whole-archive. _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' fi _LT_TAGVAR(archive_cmds_need_lc, $1)=yes _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' # -brtl affects multiple linker settings, -berok does not and is overridden later compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`' if test svr4 != "$with_aix_soname"; then # This is similar to how AIX traditionally builds its shared libraries. _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' fi if test aix != "$with_aix_soname"; then _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' else # used by -dlpreopen to get the symbols _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir' fi _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d' fi fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='' ;; m68k) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac ;; bsdi[[45]]*) _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic ;; cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. case $cc_basename in cl*) # Native MSVC _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=yes _LT_TAGVAR(file_list_spec, $1)='@' # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=.dll # FIXME: Setting linknames here is a bad hack. _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then cp "$export_symbols" "$output_objdir/$soname.def"; echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; else $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; fi~ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' # Don't use ranlib _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ lt_tool_outputfile="@TOOL_OUTPUT@"~ case $lt_outputfile in *.exe|*.EXE) ;; *) lt_outputfile=$lt_outputfile.exe lt_tool_outputfile=$lt_tool_outputfile.exe ;; esac~ if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; $RM "$lt_outputfile.manifest"; fi' ;; *) # Assume MSVC wrapper _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=.dll # FIXME: Setting linknames here is a bad hack. _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' # FIXME: Should let the user specify the lib program. _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ;; esac ;; darwin* | rhapsody*) _LT_DARWIN_LINKER_FEATURES($1) ;; dgux*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2.*) _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; hpux9*) if test yes = "$GCC"; then _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' else _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_direct, $1)=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' ;; hpux10*) if test yes,no = "$GCC,$with_gnu_ld"; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test no = "$with_gnu_ld"; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes fi ;; hpux11*) if test yes,no = "$GCC,$with_gnu_ld"; then case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) m4_if($1, [], [ # Older versions of the 11.00 compiler do not understand -b yet # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) _LT_LINKER_OPTION([if $CC understands -b], _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b], [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])], [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags']) ;; esac fi if test no = "$with_gnu_ld"; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test yes = "$GCC"; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' # Try to use the -exported_symbol ld option, if it does not # work, assume that -exports_file does not work either and # implicitly export all symbols. # This should be the same for all languages, so no per-tag cache variable. AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol], [lt_cv_irix_exported_symbol], [save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" AC_LINK_IFELSE( [AC_LANG_SOURCE( [AC_LANG_CASE([C], [[int foo (void) { return 0; }]], [C++], [[int foo (void) { return 0; }]], [Fortran 77], [[ subroutine foo end]], [Fortran], [[ subroutine foo end]])])], [lt_cv_irix_exported_symbol=yes], [lt_cv_irix_exported_symbol=no]) LDFLAGS=$save_LDFLAGS]) if test yes = "$lt_cv_irix_exported_symbol"; then _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' fi _LT_TAGVAR(link_all_deplibs, $1)=no else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(inherit_rpath, $1)=yes _LT_TAGVAR(link_all_deplibs, $1)=yes ;; linux*) case $cc_basename in tcc*) # Fabrice Bellard et al's Tiny C Compiler _LT_TAGVAR(ld_shlibs, $1)=yes _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; newsos6) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *nto* | *qnx*) ;; openbsd* | bitrig*) if test -f /usr/libexec/ld.so; then _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=yes if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' fi else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; os2*) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(allow_undefined_flag, $1)=unsupported shrext_cmds=.dll _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ prefix_cmds="$SED"~ if test EXPORTS = "`$SED 1q $export_symbols`"; then prefix_cmds="$prefix_cmds -e 1d"; fi~ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ;; osf3*) if test yes = "$GCC"; then _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' else _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test yes = "$GCC"; then _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' else _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp' # Both c and cxx compiler support -rpath directly _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_separator, $1)=: ;; solaris*) _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' if test yes = "$GCC"; then wlarc='$wl' _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' else case `$CC -V 2>&1` in *"Compilers 5.0"*) wlarc='' _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' ;; *) wlarc='$wl' _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' ;; esac fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands '-z linker_flag'. GCC discards it without '$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test yes = "$GCC"; then _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' else _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' fi ;; esac _LT_TAGVAR(link_all_deplibs, $1)=yes ;; sunos4*) if test sequent = "$host_vendor"; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; sysv4) case $host_vendor in sni) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' _LT_TAGVAR(hardcode_direct, $1)=no ;; motorola) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; sysv4.3*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes _LT_TAGVAR(ld_shlibs, $1)=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' if test yes = "$GCC"; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We CANNOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport' runpath_var='LD_RUN_PATH' if test yes = "$GCC"; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(ld_shlibs, $1)=no ;; esac if test sni = "$host_vendor"; then case $host in sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym' ;; esac fi fi ]) AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no _LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld _LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl _LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl _LT_DECL([], [extract_expsyms_cmds], [2], [The commands to extract the exported symbol list from a shared archive]) # # Do we need to explicitly link libc? # case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in x|xyes) # Assume -lc should be added _LT_TAGVAR(archive_cmds_need_lc, $1)=yes if test yes,yes = "$GCC,$enable_shared"; then case $_LT_TAGVAR(archive_cmds, $1) in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. AC_CACHE_CHECK([whether -lc should be explicitly linked in], [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1), [$RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if AC_TRY_EVAL(ac_compile) 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) _LT_TAGVAR(allow_undefined_flag, $1)= if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) then lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no else lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes fi _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $RM conftest* ]) _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1) ;; esac fi ;; esac _LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], [Whether or not to add -lc for building shared libraries]) _LT_TAGDECL([allow_libtool_libs_with_static_runtimes], [enable_shared_with_static_runtimes], [0], [Whether or not to disallow shared libs when runtime libs are static]) _LT_TAGDECL([], [export_dynamic_flag_spec], [1], [Compiler flag to allow reflexive dlopens]) _LT_TAGDECL([], [whole_archive_flag_spec], [1], [Compiler flag to generate shared objects directly from archives]) _LT_TAGDECL([], [compiler_needs_object], [1], [Whether the compiler copes with passing no objects directly]) _LT_TAGDECL([], [old_archive_from_new_cmds], [2], [Create an old-style archive from a shared archive]) _LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], [Create a temporary old-style archive to link instead of a shared archive]) _LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) _LT_TAGDECL([], [archive_expsym_cmds], [2]) _LT_TAGDECL([], [module_cmds], [2], [Commands used to build a loadable module if different from building a shared archive.]) _LT_TAGDECL([], [module_expsym_cmds], [2]) _LT_TAGDECL([], [with_gnu_ld], [1], [Whether we are building with GNU ld or not]) _LT_TAGDECL([], [allow_undefined_flag], [1], [Flag that allows shared libraries with undefined symbols to be built]) _LT_TAGDECL([], [no_undefined_flag], [1], [Flag that enforces no undefined symbols]) _LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], [Flag to hardcode $libdir into a binary during linking. This must work even if $libdir does not exist]) _LT_TAGDECL([], [hardcode_libdir_separator], [1], [Whether we need a single "-rpath" flag with a separated argument]) _LT_TAGDECL([], [hardcode_direct], [0], [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_direct_absolute], [0], [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes DIR into the resulting binary and the resulting library dependency is "absolute", i.e impossible to change by setting $shlibpath_var if the library is relocated]) _LT_TAGDECL([], [hardcode_minus_L], [0], [Set to "yes" if using the -LDIR flag during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_shlibpath_var], [0], [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_automatic], [0], [Set to "yes" if building a shared library automatically hardcodes DIR into the library and all subsequent libraries and executables linked against it]) _LT_TAGDECL([], [inherit_rpath], [0], [Set to yes if linker adds runtime paths of dependent libraries to runtime path list]) _LT_TAGDECL([], [link_all_deplibs], [0], [Whether libtool must link a program against all its dependency libraries]) _LT_TAGDECL([], [always_export_symbols], [0], [Set to "yes" if exported symbols are required]) _LT_TAGDECL([], [export_symbols_cmds], [2], [The commands to list exported symbols]) _LT_TAGDECL([], [exclude_expsyms], [1], [Symbols that should not be listed in the preloaded symbols]) _LT_TAGDECL([], [include_expsyms], [1], [Symbols that must always be exported]) _LT_TAGDECL([], [prelink_cmds], [2], [Commands necessary for linking programs (against libraries) with templates]) _LT_TAGDECL([], [postlink_cmds], [2], [Commands necessary for finishing linking programs]) _LT_TAGDECL([], [file_list_spec], [1], [Specify filename containing input files]) dnl FIXME: Not yet implemented dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], dnl [Compiler flag to generate thread safe objects]) ])# _LT_LINKER_SHLIBS # _LT_LANG_C_CONFIG([TAG]) # ------------------------ # Ensure that the configuration variables for a C compiler are suitably # defined. These variables are subsequently used by _LT_CONFIG to write # the compiler configuration to 'libtool'. m4_defun([_LT_LANG_C_CONFIG], [m4_require([_LT_DECL_EGREP])dnl lt_save_CC=$CC AC_LANG_PUSH(C) # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' _LT_TAG_COMPILER # Save the default compiler, since it gets overwritten when the other # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. compiler_DEFAULT=$CC # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then _LT_COMPILER_NO_RTTI($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) LT_SYS_DLOPEN_SELF _LT_CMD_STRIPLIB # Report what library types will actually be built AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test no = "$can_build_shared" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test yes = "$enable_shared" && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test ia64 != "$host_cpu"; then case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in yes,aix,yes) ;; # shared object as lib.so file only yes,svr4,*) ;; # shared object as lib.so archive member only yes,*) enable_static=no ;; # shared object in lib.a archive as well esac fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test yes = "$enable_shared" || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_CONFIG($1) fi AC_LANG_POP CC=$lt_save_CC ])# _LT_LANG_C_CONFIG # _LT_LANG_CXX_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for a C++ compiler are suitably # defined. These variables are subsequently used by _LT_CONFIG to write # the compiler configuration to 'libtool'. m4_defun([_LT_LANG_CXX_CONFIG], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_PATH_MANIFEST_TOOL])dnl if test -n "$CXX" && ( test no != "$CXX" && ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) || (test g++ != "$CXX"))); then AC_PROG_CXXCPP else _lt_caught_CXX_error=yes fi AC_LANG_PUSH(C++) _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(compiler_needs_object, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for C++ test sources. ac_ext=cpp # Object file extension for compiled C++ test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the CXX compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test yes != "$_lt_caught_CXX_error"; then # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_LD=$LD lt_save_GCC=$GCC GCC=$GXX lt_save_with_gnu_ld=$with_gnu_ld lt_save_path_LD=$lt_cv_path_LD if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx else $as_unset lt_cv_prog_gnu_ld fi if test -n "${lt_cv_path_LDCXX+set}"; then lt_cv_path_LD=$lt_cv_path_LDCXX else $as_unset lt_cv_path_LD fi test -z "${LDCXX+set}" || LD=$LDCXX CC=${CXX-"c++"} CFLAGS=$CXXFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) if test -n "$compiler"; then # We don't want -fno-exception when compiling C++ code, so set the # no_builtin_flag separately if test yes = "$GXX"; then _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' else _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= fi if test yes = "$GXX"; then # Set up default GNU C++ configuration LT_PATH_LD # Check if GNU C++ uses GNU ld as the underlying linker, since the # archiving commands below assume that GNU ld is being used. if test yes = "$with_gnu_ld"; then _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' # If archive_cmds runs LD, not CC, wlarc should be empty # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to # investigate it a little bit more. (MM) wlarc='$wl' # ancient GNU ld didn't support --whole-archive et. al. if eval "`$CC -print-prog-name=ld` --help 2>&1" | $GREP 'no-whole-archive' > /dev/null; then _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' else _LT_TAGVAR(whole_archive_flag_spec, $1)= fi else with_gnu_ld=no wlarc= # A generic and very simple default shared library creation # command for GNU C++ for the case where it uses the native # linker, instead of GNU ld. If possible, this setting should # overridden to take advantage of the native linker features on # the platform it is being used on. _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' fi # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' else GXX=no with_gnu_ld=no wlarc= fi # PORTME: fill in a description of your system's C++ link characteristics AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) _LT_TAGVAR(ld_shlibs, $1)=yes case $host_os in aix3*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aix[[4-9]]*) if test ia64 = "$host_cpu"; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag= else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # have runtime linking enabled, and use it for executables. # For shared libraries, we enable/disable runtime linking # depending on the kind of the shared library created - # when "with_aix_soname,aix_use_runtimelinking" is: # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables # "aix,yes" lib.so shared, rtl:yes, for executables # lib.a static archive # "both,no" lib.so.V(shr.o) shared, rtl:yes # lib.a(lib.so.V) shared, rtl:no, for executables # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables # lib.a(lib.so.V) shared, rtl:no # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables # lib.a static archive case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) for ld_flag in $LDFLAGS; do case $ld_flag in *-brtl*) aix_use_runtimelinking=yes break ;; esac done if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then # With aix-soname=svr4, we create the lib.so.V shared archives only, # so we don't have lib.a shared libs to link our executables. # We have to force runtime linking in this case. aix_use_runtimelinking=yes LDFLAGS="$LDFLAGS -Wl,-brtl" fi ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. _LT_TAGVAR(archive_cmds, $1)='' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(file_list_spec, $1)='$wl-f,' case $with_aix_soname,$aix_use_runtimelinking in aix,*) ;; # no import file svr4,* | *,yes) # use import file # The Import File defines what to hardcode. _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no ;; esac if test yes = "$GXX"; then case $host_os in aix4.[[012]]|aix4.[[012]].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`$CC -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 _LT_TAGVAR(hardcode_direct, $1)=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)= fi esac shared_flag='-shared' if test yes = "$aix_use_runtimelinking"; then shared_flag=$shared_flag' $wl-G' fi # Need to ensure runtime linking is disabled for the traditional # shared library, or the linker may eventually find shared libraries # /with/ Import File - we do not want to mix them. shared_flag_aix='-shared' shared_flag_svr4='-shared $wl-G' else # not using gcc if test ia64 = "$host_cpu"; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test yes = "$aix_use_runtimelinking"; then shared_flag='$wl-G' else shared_flag='$wl-bM:SRE' fi shared_flag_aix='$wl-bM:SRE' shared_flag_svr4='$wl-G' fi fi _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to # export. _LT_TAGVAR(always_export_symbols, $1)=yes if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. # The "-G" linker flag allows undefined symbols. _LT_TAGVAR(no_undefined_flag, $1)='-bernotok' # Determine the default libpath from the value encoded in an empty # executable. _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag else if test ia64 = "$host_cpu"; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib' _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok' _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok' if test yes = "$with_gnu_ld"; then # We only use this code for GNU lds that support --whole-archive. _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' fi _LT_TAGVAR(archive_cmds_need_lc, $1)=yes _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' # -brtl affects multiple linker settings, -berok does not and is overridden later compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`' if test svr4 != "$with_aix_soname"; then # This is similar to how AIX traditionally builds its shared # libraries. Need -bnortl late, we may have -brtl in LDFLAGS. _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' fi if test aix != "$with_aix_soname"; then _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' else # used by -dlpreopen to get the symbols _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir' fi _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d' fi fi ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; chorus*) case $cc_basename in *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; cygwin* | mingw* | pw32* | cegcc*) case $GXX,$cc_basename in ,cl* | no,cl*) # Native MSVC # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=yes _LT_TAGVAR(file_list_spec, $1)='@' # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=.dll # FIXME: Setting linknames here is a bad hack. _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then cp "$export_symbols" "$output_objdir/$soname.def"; echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; else $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; fi~ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes # Don't use ranlib _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ lt_tool_outputfile="@TOOL_OUTPUT@"~ case $lt_outputfile in *.exe|*.EXE) ;; *) lt_outputfile=$lt_outputfile.exe lt_tool_outputfile=$lt_tool_outputfile.exe ;; esac~ func_to_tool_file "$lt_outputfile"~ if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; $RM "$lt_outputfile.manifest"; fi' ;; *) # g++ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file, use it as # is; otherwise, prepend EXPORTS... _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; darwin* | rhapsody*) _LT_DARWIN_LINKER_FEATURES($1) ;; os2*) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(allow_undefined_flag, $1)=unsupported shrext_cmds=.dll _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ $ECHO EXPORTS >> $output_objdir/$libname.def~ prefix_cmds="$SED"~ if test EXPORTS = "`$SED 1q $export_symbols`"; then prefix_cmds="$prefix_cmds -e 1d"; fi~ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ emximp -o $lib $output_objdir/$libname.def' _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ;; dgux*) case $cc_basename in ec++*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; ghcx*) # Green Hills C++ Compiler # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; freebsd2.*) # C++ shared libraries reported to be fairly broken before # switch to ELF _LT_TAGVAR(ld_shlibs, $1)=no ;; freebsd-elf*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; freebsd* | dragonfly*) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions _LT_TAGVAR(ld_shlibs, $1)=yes ;; haiku*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(link_all_deplibs, $1)=yes ;; hpux9*) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, # but as the default # location of the library. case $cc_basename in CC*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aCC*) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test yes = "$GXX"; then _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; hpux10*|hpux11*) if test no = "$with_gnu_ld"; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) ;; *) _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' ;; esac fi case $host_cpu in hppa*64*|ia64*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, # but as the default # location of the library. ;; esac case $cc_basename in CC*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aCC*) case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test yes = "$GXX"; then if test no = "$with_gnu_ld"; then case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac fi else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; interix[[3-9]]*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in CC*) # SGI C++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' # Archives containing C++ object files must be created using # "CC -ar", where "CC" is the IRIX C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' ;; *) if test yes = "$GXX"; then if test no = "$with_gnu_ld"; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib' fi fi _LT_TAGVAR(link_all_deplibs, $1)=yes ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(inherit_rpath, $1)=yes ;; linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; icpc* | ecpc* ) # Intel C++ with_gnu_ld=yes # version 8.0 and above of icpc choke on multiply defined symbols # if we add $predep_objects and $postdep_objects, however 7.1 and # earlier do not add the objects themselves. case `$CC -V 2>&1` in *"Version 7."*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer tmp_idyn= case $host_cpu in ia64*) tmp_idyn=' -i_dynamic';; esac _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ;; esac _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' ;; pgCC* | pgcpp*) # Portland Group C++ compiler case `$CC -V` in *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*) _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ $RANLIB $oldlib' _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 6 and above use weak symbols _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' ;; cxx*) # Compaq C++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols' runpath_var=LD_RUN_PATH _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' ;; xl* | mpixl* | bgxl*) # IBM XL 8.0 on PPC, with GNU ld _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' if test yes = "$supports_anon_versioning"; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' fi ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes # Not sure whether something based on # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 # would be better. output_verbose_link_cmd='func_echo_all' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' ;; esac ;; esac ;; lynxos*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; m88k*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; mvs*) case $cc_basename in cxx*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' wlarc= _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no fi # Workaround some broken pre-1.5 toolchains output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' ;; *nto* | *qnx*) _LT_TAGVAR(ld_shlibs, $1)=yes ;; openbsd* | bitrig*) if test -f /usr/libexec/ld.so; then _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib' _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' fi output_verbose_link_cmd=func_echo_all else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Archives containing C++ object files must be created using # the KAI C++ compiler. case $host in osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; esac ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; cxx*) case $host in osf3*) _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' ;; *) _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ echo "-hidden">> $lib.exp~ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~ $RM $lib.exp' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' ;; esac _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test yes,no = "$GXX,$with_gnu_ld"; then _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' case $host in osf3*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; psos*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; lcc*) # Lucid # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; solaris*) case $cc_basename in CC* | sunCC*) # Sun C++ 4.2, 5.x and Centerline C++ _LT_TAGVAR(archive_cmds_need_lc,$1)=yes _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands '-z linker_flag'. # Supported since Solaris 2.6 (maybe 2.5.1?) _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; esac _LT_TAGVAR(link_all_deplibs, $1)=yes output_verbose_link_cmd='func_echo_all' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' ;; gcx*) # Green Hills C++ Compiler _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' # The C++ compiler must be used to create the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' ;; *) # GNU C++ compiler with Solaris linker if test yes,no = "$GXX,$with_gnu_ld"; then _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs' if $CC --version | $GREP -v '^2\.7' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' else # g++ 2.7 appears to require '-G' NOT '-shared' on this # platform. _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir' case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' ;; esac fi ;; esac ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We CANNOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport' runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~ '"$_LT_TAGVAR(old_archive_cmds, $1)" _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~ '"$_LT_TAGVAR(reload_cmds, $1)" ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; vxworks*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no _LT_TAGVAR(GCC, $1)=$GXX _LT_TAGVAR(LD, $1)=$LD ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_SYS_HIDDEN_LIBDEPS($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS LDCXX=$LD LD=$lt_save_LD GCC=$lt_save_GCC with_gnu_ld=$lt_save_with_gnu_ld lt_cv_path_LDCXX=$lt_cv_path_LD lt_cv_path_LD=$lt_save_path_LD lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld fi # test yes != "$_lt_caught_CXX_error" AC_LANG_POP ])# _LT_LANG_CXX_CONFIG # _LT_FUNC_STRIPNAME_CNF # ---------------------- # func_stripname_cnf prefix suffix name # strip PREFIX and SUFFIX off of NAME. # PREFIX and SUFFIX must not contain globbing or regex special # characters, hashes, percent signs, but SUFFIX may contain a leading # dot (in which case that matches only a dot). # # This function is identical to the (non-XSI) version of func_stripname, # except this one can be used by m4 code that may be executed by configure, # rather than the libtool script. m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl AC_REQUIRE([_LT_DECL_SED]) AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH]) func_stripname_cnf () { case @S|@2 in .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;; *) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;; esac } # func_stripname_cnf ])# _LT_FUNC_STRIPNAME_CNF # _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) # --------------------------------- # Figure out "hidden" library dependencies from verbose # compiler output when linking a shared library. # Parse the compiler output and extract the necessary # objects, libraries and library flags. m4_defun([_LT_SYS_HIDDEN_LIBDEPS], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl # Dependencies to place before and after the object being linked: _LT_TAGVAR(predep_objects, $1)= _LT_TAGVAR(postdep_objects, $1)= _LT_TAGVAR(predeps, $1)= _LT_TAGVAR(postdeps, $1)= _LT_TAGVAR(compiler_lib_search_path, $1)= dnl we can't use the lt_simple_compile_test_code here, dnl because it contains code intended for an executable, dnl not a library. It's possible we should let each dnl tag define a new lt_????_link_test_code variable, dnl but it's only used here... m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF int a; void foo (void) { a = 0; } _LT_EOF ], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF class Foo { public: Foo (void) { a = 0; } private: int a; }; _LT_EOF ], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF subroutine foo implicit none integer*4 a a=0 return end _LT_EOF ], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF subroutine foo implicit none integer a a=0 return end _LT_EOF ], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF public class foo { private int a; public void bar (void) { a = 0; } }; _LT_EOF ], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF package foo func foo() { } _LT_EOF ]) _lt_libdeps_save_CFLAGS=$CFLAGS case "$CC $CFLAGS " in #( *\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; *\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; *\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; esac dnl Parse the compiler output and extract the necessary dnl objects, libraries and library flags. if AC_TRY_EVAL(ac_compile); then # Parse the compiler output and extract the necessary # objects, libraries and library flags. # Sentinel used to keep track of whether or not we are before # the conftest object file. pre_test_object_deps_done=no for p in `eval "$output_verbose_link_cmd"`; do case $prev$p in -L* | -R* | -l*) # Some compilers place space between "-{L,R}" and the path. # Remove the space. if test x-L = "$p" || test x-R = "$p"; then prev=$p continue fi # Expand the sysroot to ease extracting the directories later. if test -z "$prev"; then case $p in -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; esac fi case $p in =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; esac if test no = "$pre_test_object_deps_done"; then case $prev in -L | -R) # Internal compiler library paths should come after those # provided the user. The postdeps already come after the # user supplied libs so there is no need to process them. if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p else _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $prev$p" fi ;; # The "-l" case would never come before the object being # linked, so don't bother handling this case. esac else if test -z "$_LT_TAGVAR(postdeps, $1)"; then _LT_TAGVAR(postdeps, $1)=$prev$p else _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p" fi fi prev= ;; *.lto.$objext) ;; # Ignore GCC LTO objects *.$objext) # This assumes that the test object file only shows up # once in the compiler output. if test "$p" = "conftest.$objext"; then pre_test_object_deps_done=yes continue fi if test no = "$pre_test_object_deps_done"; then if test -z "$_LT_TAGVAR(predep_objects, $1)"; then _LT_TAGVAR(predep_objects, $1)=$p else _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" fi else if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then _LT_TAGVAR(postdep_objects, $1)=$p else _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" fi fi ;; *) ;; # Ignore the rest. esac done # Clean up. rm -f a.out a.exe else echo "libtool.m4: error: problem compiling $1 test program" fi $RM -f confest.$objext CFLAGS=$_lt_libdeps_save_CFLAGS # PORTME: override above test on systems where it is broken m4_if([$1], [CXX], [case $host_os in interix[[3-9]]*) # Interix 3.5 installs completely hosed .la files for C++, so rather than # hack all around it, let's just trust "g++" to DTRT. _LT_TAGVAR(predep_objects,$1)= _LT_TAGVAR(postdep_objects,$1)= _LT_TAGVAR(postdeps,$1)= ;; esac ]) case " $_LT_TAGVAR(postdeps, $1) " in *" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; esac _LT_TAGVAR(compiler_lib_search_dirs, $1)= if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | $SED -e 's! -L! !g' -e 's!^ !!'` fi _LT_TAGDECL([], [compiler_lib_search_dirs], [1], [The directories searched by this compiler when creating a shared library]) _LT_TAGDECL([], [predep_objects], [1], [Dependencies to place before and after the objects being linked to create a shared library]) _LT_TAGDECL([], [postdep_objects], [1]) _LT_TAGDECL([], [predeps], [1]) _LT_TAGDECL([], [postdeps], [1]) _LT_TAGDECL([], [compiler_lib_search_path], [1], [The library search path used internally by the compiler when linking a shared library]) ])# _LT_SYS_HIDDEN_LIBDEPS # _LT_LANG_F77_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for a Fortran 77 compiler are # suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to 'libtool'. m4_defun([_LT_LANG_F77_CONFIG], [AC_LANG_PUSH(Fortran 77) if test -z "$F77" || test no = "$F77"; then _lt_disable_F77=yes fi _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for f77 test sources. ac_ext=f # Object file extension for compiled f77 test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the F77 compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test yes != "$_lt_disable_F77"; then # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_GCC=$GCC lt_save_CFLAGS=$CFLAGS CC=${F77-"f77"} CFLAGS=$FFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) GCC=$G77 if test -n "$compiler"; then AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test no = "$can_build_shared" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test yes = "$enable_shared" && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test ia64 != "$host_cpu"; then case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in yes,aix,yes) ;; # shared object as lib.so file only yes,svr4,*) ;; # shared object as lib.so archive member only yes,*) enable_static=no ;; # shared object in lib.a archive as well esac fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test yes = "$enable_shared" || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_TAGVAR(GCC, $1)=$G77 _LT_TAGVAR(LD, $1)=$LD ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" GCC=$lt_save_GCC CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS fi # test yes != "$_lt_disable_F77" AC_LANG_POP ])# _LT_LANG_F77_CONFIG # _LT_LANG_FC_CONFIG([TAG]) # ------------------------- # Ensure that the configuration variables for a Fortran compiler are # suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to 'libtool'. m4_defun([_LT_LANG_FC_CONFIG], [AC_LANG_PUSH(Fortran) if test -z "$FC" || test no = "$FC"; then _lt_disable_FC=yes fi _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for fc test sources. ac_ext=${ac_fc_srcext-f} # Object file extension for compiled fc test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the FC compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test yes != "$_lt_disable_FC"; then # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_GCC=$GCC lt_save_CFLAGS=$CFLAGS CC=${FC-"f95"} CFLAGS=$FCFLAGS compiler=$CC GCC=$ac_cv_fc_compiler_gnu _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) if test -n "$compiler"; then AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test no = "$can_build_shared" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test yes = "$enable_shared" && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test ia64 != "$host_cpu"; then case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in yes,aix,yes) ;; # shared object as lib.so file only yes,svr4,*) ;; # shared object as lib.so archive member only yes,*) enable_static=no ;; # shared object in lib.a archive as well esac fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test yes = "$enable_shared" || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu _LT_TAGVAR(LD, $1)=$LD ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_SYS_HIDDEN_LIBDEPS($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" GCC=$lt_save_GCC CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS fi # test yes != "$_lt_disable_FC" AC_LANG_POP ])# _LT_LANG_FC_CONFIG # _LT_LANG_GCJ_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for the GNU Java Compiler compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to 'libtool'. m4_defun([_LT_LANG_GCJ_CONFIG], [AC_REQUIRE([LT_PROG_GCJ])dnl AC_LANG_SAVE # Source file extension for Java test sources. ac_ext=java # Object file extension for compiled Java test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="class foo {}" # Code to be used in simple link tests lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_GCC=$GCC GCC=yes CC=${GCJ-"gcj"} CFLAGS=$GCJFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_TAGVAR(LD, $1)=$LD _LT_CC_BASENAME([$compiler]) # GCJ did not exist at the time GCC didn't implicitly link libc in. _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then _LT_COMPILER_NO_RTTI($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi AC_LANG_RESTORE GCC=$lt_save_GCC CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS ])# _LT_LANG_GCJ_CONFIG # _LT_LANG_GO_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for the GNU Go compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to 'libtool'. m4_defun([_LT_LANG_GO_CONFIG], [AC_REQUIRE([LT_PROG_GO])dnl AC_LANG_SAVE # Source file extension for Go test sources. ac_ext=go # Object file extension for compiled Go test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="package main; func main() { }" # Code to be used in simple link tests lt_simple_link_test_code='package main; func main() { }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_GCC=$GCC GCC=yes CC=${GOC-"gccgo"} CFLAGS=$GOFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_TAGVAR(LD, $1)=$LD _LT_CC_BASENAME([$compiler]) # Go did not exist at the time GCC didn't implicitly link libc in. _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then _LT_COMPILER_NO_RTTI($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi AC_LANG_RESTORE GCC=$lt_save_GCC CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS ])# _LT_LANG_GO_CONFIG # _LT_LANG_RC_CONFIG([TAG]) # ------------------------- # Ensure that the configuration variables for the Windows resource compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to 'libtool'. m4_defun([_LT_LANG_RC_CONFIG], [AC_REQUIRE([LT_PROG_RC])dnl AC_LANG_SAVE # Source file extension for RC test sources. ac_ext=rc # Object file extension for compiled RC test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' # Code to be used in simple link tests lt_simple_link_test_code=$lt_simple_compile_test_code # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_GCC=$GCC GCC= CC=${RC-"windres"} CFLAGS= compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes if test -n "$compiler"; then : _LT_CONFIG($1) fi GCC=$lt_save_GCC AC_LANG_RESTORE CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS ])# _LT_LANG_RC_CONFIG # LT_PROG_GCJ # ----------- AC_DEFUN([LT_PROG_GCJ], [m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], [AC_CHECK_TOOL(GCJ, gcj,) test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2" AC_SUBST(GCJFLAGS)])])[]dnl ]) # Old name: AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_GCJ], []) # LT_PROG_GO # ---------- AC_DEFUN([LT_PROG_GO], [AC_CHECK_TOOL(GOC, gccgo,) ]) # LT_PROG_RC # ---------- AC_DEFUN([LT_PROG_RC], [AC_CHECK_TOOL(RC, windres,) ]) # Old name: AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_RC], []) # _LT_DECL_EGREP # -------------- # If we don't have a new enough Autoconf to choose the best grep # available, choose the one first in the user's PATH. m4_defun([_LT_DECL_EGREP], [AC_REQUIRE([AC_PROG_EGREP])dnl AC_REQUIRE([AC_PROG_FGREP])dnl test -z "$GREP" && GREP=grep _LT_DECL([], [GREP], [1], [A grep program that handles long lines]) _LT_DECL([], [EGREP], [1], [An ERE matcher]) _LT_DECL([], [FGREP], [1], [A literal string matcher]) dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too AC_SUBST([GREP]) ]) # _LT_DECL_OBJDUMP # -------------- # If we don't have a new enough Autoconf to choose the best objdump # available, choose the one first in the user's PATH. m4_defun([_LT_DECL_OBJDUMP], [AC_CHECK_TOOL(OBJDUMP, objdump, false) test -z "$OBJDUMP" && OBJDUMP=objdump _LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) AC_SUBST([OBJDUMP]) ]) # _LT_DECL_DLLTOOL # ---------------- # Ensure DLLTOOL variable is set. m4_defun([_LT_DECL_DLLTOOL], [AC_CHECK_TOOL(DLLTOOL, dlltool, false) test -z "$DLLTOOL" && DLLTOOL=dlltool _LT_DECL([], [DLLTOOL], [1], [DLL creation program]) AC_SUBST([DLLTOOL]) ]) # _LT_DECL_SED # ------------ # Check for a fully-functional sed program, that truncates # as few characters as possible. Prefer GNU sed if found. m4_defun([_LT_DECL_SED], [AC_PROG_SED test -z "$SED" && SED=sed Xsed="$SED -e 1s/^X//" _LT_DECL([], [SED], [1], [A sed program that does not truncate output]) _LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], [Sed that helps us avoid accidentally triggering echo(1) options like -n]) ])# _LT_DECL_SED m4_ifndef([AC_PROG_SED], [ ############################################################ # NOTE: This macro has been submitted for inclusion into # # GNU Autoconf as AC_PROG_SED. When it is available in # # a released version of Autoconf we should remove this # # macro and use it instead. # ############################################################ m4_defun([AC_PROG_SED], [AC_MSG_CHECKING([for a sed that does not truncate output]) AC_CACHE_VAL(lt_cv_path_SED, [# Loop through the user's path and test for sed and gsed. # Then use that list of sed's as ones to test for truncation. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for lt_ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" fi done done done IFS=$as_save_IFS lt_ac_max=0 lt_ac_count=0 # Add /usr/xpg4/bin/sed as it is typically found on Solaris # along with /bin/sed that truncates output. for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do test ! -f "$lt_ac_sed" && continue cat /dev/null > conftest.in lt_ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >conftest.in # Check for GNU sed and select it if it is found. if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then lt_cv_path_SED=$lt_ac_sed break fi while true; do cat conftest.in conftest.in >conftest.tmp mv conftest.tmp conftest.in cp conftest.in conftest.nl echo >>conftest.nl $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break cmp -s conftest.out conftest.nl || break # 10000 chars as input seems more than enough test 10 -lt "$lt_ac_count" && break lt_ac_count=`expr $lt_ac_count + 1` if test "$lt_ac_count" -gt "$lt_ac_max"; then lt_ac_max=$lt_ac_count lt_cv_path_SED=$lt_ac_sed fi done done ]) SED=$lt_cv_path_SED AC_SUBST([SED]) AC_MSG_RESULT([$SED]) ])#AC_PROG_SED ])#m4_ifndef # Old name: AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_SED], []) # _LT_CHECK_SHELL_FEATURES # ------------------------ # Find out whether the shell is Bourne or XSI compatible, # or has some other useful features. m4_defun([_LT_CHECK_SHELL_FEATURES], [if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then lt_unset=unset else lt_unset=false fi _LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl # test EBCDIC or ASCII case `echo X|tr X '\101'` in A) # ASCII based system # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr lt_SP2NL='tr \040 \012' lt_NL2SP='tr \015\012 \040\040' ;; *) # EBCDIC based system lt_SP2NL='tr \100 \n' lt_NL2SP='tr \r\n \100\100' ;; esac _LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl _LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl ])# _LT_CHECK_SHELL_FEATURES # _LT_PATH_CONVERSION_FUNCTIONS # ----------------------------- # Determine what file name conversion functions should be used by # func_to_host_file (and, implicitly, by func_to_host_path). These are needed # for certain cross-compile configurations and native mingw. m4_defun([_LT_PATH_CONVERSION_FUNCTIONS], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl AC_MSG_CHECKING([how to convert $build file names to $host format]) AC_CACHE_VAL(lt_cv_to_host_file_cmd, [case $host in *-*-mingw* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 ;; *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 ;; * ) # otherwise, assume *nix lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 ;; esac ;; *-*-cygwin* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin ;; *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_noop ;; * ) # otherwise, assume *nix lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin ;; esac ;; * ) # unhandled hosts (and "normal" native builds) lt_cv_to_host_file_cmd=func_convert_file_noop ;; esac ]) to_host_file_cmd=$lt_cv_to_host_file_cmd AC_MSG_RESULT([$lt_cv_to_host_file_cmd]) _LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd], [0], [convert $build file names to $host format])dnl AC_MSG_CHECKING([how to convert $build file names to toolchain format]) AC_CACHE_VAL(lt_cv_to_tool_file_cmd, [#assume ordinary cross tools, or native build. lt_cv_to_tool_file_cmd=func_convert_file_noop case $host in *-*-mingw* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 ;; esac ;; esac ]) to_tool_file_cmd=$lt_cv_to_tool_file_cmd AC_MSG_RESULT([$lt_cv_to_tool_file_cmd]) _LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd], [0], [convert $build files to toolchain format])dnl ])# _LT_PATH_CONVERSION_FUNCTIONS pioneers-15.5/NEWS0000644000175000017500000002366113252242740010721 00000000000000Subversion release 15.5 * Fix for #298: Allow trade after a road building development card * Use more modern helper libraries for the inline help * Minor code quality improvements Subversion release 15.4 * New theme Nouvellia, by Brian Mansberger * Fixed rendering issues in ccFlickr theme * Improvements for the MinGW port * Fix for #290: check for the winning condiation at the beginning of the turn * Fix for #285part2: Fixed unplayable development card * Use the default about dialog * Framework change: replaced glib-gettextize by intltool * GTK+3 deprecation checks are turned off per default * Minor code quality improvements Subversion release 15.3 * Relicense of the desktop icons to CC-BY-SA-4.0 Subversion release 15.2 * Ported from GTK+2 to GTK+3 * A new computer player, by Rodrigo Espiga Gómez Subversion release 15.1 * Full IPv6 support * More graphics are in vector format instead of bitmaps * A map preview is shown when creating a game from the client * A toolbar is added to the editor * Added a dice deck instead of rolling the dice completely randomly * The computer player uses more various chat messages * Code cleanup, including fixed memory leaks * The Microsoft Windows port now also has a server Subversion release 14.1 * New features: * Added the game comments to the editor. With thanks to Micah Bunting * Added island discovery bonus in the editor. With thanks to Micah Bunting * Spectators see the nosetup nodes * Editor uses shortcuts for games folders * Large icons for the GNOME3 desktop * Bugfixes: * Speedup of server-gtk * Setting the avatar icon works again * Trade is possible again in games without interplayer trade * Right-click in the editor shows the menu again * Code cleanup (Preparation for Gtk+3, hardening flags, memory leaks, ...) Subversion release 0.12.5 * New features: * These features were written by Micah Bunting: * The maps in the editor can be manipulated more easily * The map can be zoomed * Full screen mode * Notifications. With thanks to Patrick * Bugfixes: * Cosmetic fixes to the way the map is drawn * Fixed some crashes involving the pirate * Fixed some memory leaks in the meta server Subversion release 0.12.4 * New features: * Added a logbot type computer player. With thanks to Andreas Steinel * New map: North Americ by Ron Yorgason * New map: Ubuntuland by Matt Perry * Added a close button on tab pages. With thanks to Anti Sullin * Use AVAHI, With thanks to Andreas Steinel * In the connect dialog, the games can be sorted * Computer player uses the soldier cards and monopoly cards better * New theme ccFlickr, by Aaron Williamson * Tooltips for the development cards. With thanks to Aaron Williamson * The editor can set/unset nosetup nodes * Bugfixes * Fixed the FreeCIV-like and Wesnoth-like themes * The computer player is more stable * The meta-server is more stable * Use the correct size for the icons in the context menu in the editor Subversion release 0.12.3 * New feature: Look in $XDG_DATA_HOME/pioneers/themes for themes * New feature: Look in $XDG_DATA_HOME/pioneers for games * Fixed IPv4 vs IPv6 connection issues when adding local computer players * Some cosmetic changes Subversion Snapshot release 0.12.2 * Bugfix: Rejected trade was not sent * Bugfix: Tournament mode used seconds instead of minutes * Translation updates Subversion Snapshot release 0.12.1 * Removed double menu entries * New feature: the moment of checking for victory can be influenced. With thanks to Lalo Martins. * Use scrollbars, so Pioneers will work correctly on smaller screens. * Fixes for DoS that could stop the server. * The computer player will not attempt to buy development cards when none are available. * Changed the order of distributing player numbers when (re)connecting. * Fixes for the new OpenBSD port. * All names of the computer players are unique. With thanks to chrysn@users.sourceforge.net * Easier selection of meta servers. * Games created by the meta server will automatically add computer players after a minute. * Tournament mode: the timer will only be started when a player enters the game, and the timer will be reset when the last player leaves before the time has elapsed. * Fixed a crash that could occur after many trades. * A new command line option to ./configure: '--enable-protocol=IPv4'. When this is given (needed for the *BSD ports), only connections on IPv4 are made. * New language: Czech * New board: South Africa Subversion Snapshot release 0.11.3 * Update for the server only: resolved issues for servers that run for a long time. Subversion Snapshot release 0.11.2 * Fixed a bug: It as not possible to press the OK button when discard cards after a seven was rolled Subversion Snapshot release 0.11.1 * New languages: Afrikaans and Japanese * Added customizable player icons * Added winnable check in the server and editor * New game feature: city walls * Map preview in the server * Cluster development cards of the same type * The chat panel can be moved to the right * Lauch the client from the server * Cosmetic changes * Various bugfixes * The 0.11 server can also handle 0.10 clients Subversion Snapshot release 0.10.2 * Added --version for all executables * Workaround for a Gtk+ bug * The metaserver unregisters inactive servers * The contents of the tarball is more complete * Various bugfixes Subversion Snapshot release 0.10.1 * Build script updated for easier building * Switch between games without quitting the client * Victory points for discovering an island * More strings are translatable * Announce new players when they enter the game * Lobby + robot * Better handling for disconnected players * Register games with the correct hostname at the metaserver * Various bugfixes Subversion Snapshot release 0.9.64 * Fix for the bugs introduced in 0.9.63 and 0.9.62 Subversion Snapshot release 0.9.63 * Minimum required versions: Glib 2.6, Gtk+ 2.6 * Does not use Gtk+ 2.8 icons anymore Subversion Snapshot release 0.9.62 * Several cosmetic changes * You can now choose to connect as a spectator * Several small fixes * Visual display of the resources * New quote tab page Subversion Snapshot release 0.9.61 * Manual updated * Several small fixes Security release 0.9.55 * Fixes the meta server for meta servers that do allow the creation of new games Security release 0.9.54 [revoked] * Fixes crashes in the public meta server CVS Snapshot release 0.9.49 * New theme, based on Battle of Wesnoth * Configure script updated * Added Swedish translation * Client and server chat length limited to safer lengths * Windows installer checks for the Gtk+ runtime * Several small bugs fixed, code cleanup CVS Snapshot release 0.9.40 * Released Microsoft Windows Native port, requires Gtk+ runtime libraries * Fink port patches integrated * New icons * Fixed the server to allow connections of many players at once * Several small bugs fixed CVS Snapshot release 0.9.33 * Fixed infinite loop when AI tries to trade for something that is not in the bank anymore * Fixed PPC: the cursor on the map is now working again * Introduced extra options to ./configure * Workaround for Gtk-bug with button * Added Hungarian translation * Several small bugs fixed * Added several portability patches CVS Snapshot release 0.9.23 * Fixed: Several bug fixes * New: Left panel shows information during the game First release of Pioneers 0.9.19 * An editor has been added * The AI is stronger, can also play on maps with gold * We have a new name: Pioneers * Pioneers client runs under Cygwin (server not yet implemented) * New maps have been added * Bug fixes, and code cleanup CVS Snapshot release 0.8.1.59 Random player seating order Metaserver can serve a limited number of games Updated man pages CVS Snapshot release 0.8.1.54 Fix for maritime trade CVS Snapshot release 0.8.1.53 Update of gnocatan.spec Fixed about dialog Less severe errors when writing new themes or games Disabled 'Add Computer Player' button in server when gnocatanai is not installed New functionality in meta server: it will tell whether it supports creation of new games CVS Snapshot release 0.8.1.51 Restored compatibility with Gtk+-2.0 and 2.2 Restored compatibility with FreeBSD CVS Snapshot release 0.8.1.50 Fixed reconnect during distribution of gold Tiles can be excluded from shuffling CVS Snapshot release 0.8.1.48 New about dialog Player did not get a turn when playing a second game with the same client Made rules for building roads near 'nosetup' nodes more strict CVS Snapshot release 0.8.1.45 Reconnect fixed when robber active Cosmetic fix on initial size of the map CVS Snapshot release 0.8.1.43 Bugfixes Fixed crash with cursor on the border of a map CVS Snapshot release 0.8.1.42 New preference dialog Development cards cleared when playing second game CVS Snapshot release 0.8.1.40 New again: probability dots are back Code cleanup CVS Snapshot release 0.8.1.39 New: single click building Fixed: longest road detection CVS Snapshot release 0.8.1.38 New: commandline for the client New: compiles with Gtk-2.0, 2.2 and 2.4 Fixed: replaces 127.0.0.1 with localhost CVS Snapshot release 0.8.1.37 What's new/fixed: * Gnocatan can now build the console-only applications if GNOME2/Gtk+ is not found * Several cosmetic changes in the client * Fixed a bug in the ai when playing too many soldier cards * Server-gtk remembers the previous map * Quick fix applied for crash after pressing 'Reject Trade' * Italian translation added * Removed a few memory leaks Release 0.8.1.30 What's new/fixed: * Fixed many bugs regarding the 'Trade Page' * Fixed AI losing resources when offering a trade * Fixed AI choosing unavailable resources when playing the Year of Plenty card * New connection scheme * Added tooltips in the server-gtk * New image for the splash screen, provided by Tobias Jakobs * Fixed bugs regarding the Road Building card * Connection as spectator in a game with more than 8 players+spectators is possible * Updated the log in the console * Minor user interface issues Release 0.8.1.16 Previous release on SF pioneers-15.5/MinGW/0000755000175000017500000000000013252243610011250 500000000000000pioneers-15.5/MinGW/pioneers.nsi.in0000644000175000017500000007556512736147716014176 00000000000000; Script generated with the aid of the HM NIS Edit Script Wizard. ; Adapted for Pioneers by Roland Clobus ; HM NIS Edit Wizard helper defines !define PRODUCT_NAME "Pioneers" !define PRODUCT_VERSION "@VERSION@" !define PRODUCT_WEB_SITE "http://pio.sourceforge.net" !define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\pioneers.exe" !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" !define PRODUCT_UNINST_ROOT_KEY "HKLM" !define PRODUCT_STARTMENU_REGVAL "NSIS:StartMenuDir" SetCompressor bzip2 !include "MUI2.nsh" !include "FileFunc.nsh" ; MUI Settings !define MUI_ABORTWARNING !define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico" !define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico" ; Language Selection Dialog Settings !define MUI_LANGDLL_ALLLANGUAGES !define MUI_LANGDLL_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}" !define MUI_LANGDLL_REGISTRY_KEY "${PRODUCT_UNINST_KEY}" !define MUI_LANGDLL_REGISTRY_VALUENAME "NSIS:Language" ; Welcome page !insertmacro MUI_PAGE_WELCOME ; License page !insertmacro MUI_PAGE_LICENSE "../COPYING" ; Components page !insertmacro MUI_PAGE_COMPONENTS ; Directory page !insertmacro MUI_PAGE_DIRECTORY ; Start menu page var ICONS_GROUP !define MUI_STARTMENUPAGE_NODISABLE !define MUI_STARTMENUPAGE_DEFAULTFOLDER "Pioneers" !define MUI_STARTMENUPAGE_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}" !define MUI_STARTMENUPAGE_REGISTRY_KEY "${PRODUCT_UNINST_KEY}" !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "${PRODUCT_STARTMENU_REGVAL}" !insertmacro MUI_PAGE_STARTMENU Application $ICONS_GROUP ; Instfiles page !insertmacro MUI_PAGE_INSTFILES ; Finish page !define MUI_FINISHPAGE_RUN "$INSTDIR\pioneers.exe" !insertmacro MUI_PAGE_FINISH ; Uninstaller pages !insertmacro MUI_UNPAGE_CONFIRM !insertmacro MUI_UNPAGE_INSTFILES ; Language files !insertmacro MUI_LANGUAGE "English" ;first language is the default !insertmacro MUI_LANGUAGE "Afrikaans" !insertmacro MUI_LANGUAGE "Czech" !insertmacro MUI_LANGUAGE "Danish" !insertmacro MUI_LANGUAGE "Dutch" !insertmacro MUI_LANGUAGE "French" !insertmacro MUI_LANGUAGE "Galician" !insertmacro MUI_LANGUAGE "German" !insertmacro MUI_LANGUAGE "Hungarian" !insertmacro MUI_LANGUAGE "Italian" !insertmacro MUI_LANGUAGE "Japanese" !insertmacro MUI_LANGUAGE "Portuguese" !insertmacro MUI_LANGUAGE "Spanish" !insertmacro MUI_LANGUAGE "Swedish" ;Reserve Files ;If you are using solid compression, files that are required before ;the actual installation should be stored first in the data block, ;because this will make your installer start faster. !insertmacro MUI_RESERVEFILE_LANGDLL ; MUI end ------ Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" OutFile "Pioneers-${PRODUCT_VERSION}-setup.exe" InstallDir "$PROGRAMFILES\Pioneers" InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" "" ShowInstDetails show ShowUnInstDetails show ;Request application privileges for Windows Vista RequestExecutionLevel admin Function .onInit !insertmacro MUI_LANGDLL_DISPLAY FunctionEnd Section "!Minimal install" SEC01 SetOutPath "$INSTDIR" SetOverwrite ifnewer File "..\..\..\..\local\pioneers.exe" File "..\..\..\..\local\libatk-1.0-0.dll" File "..\..\..\..\local\libcairo-2.dll" File "..\..\..\..\local\libcairo-gobject-2.dll" File "..\..\..\..\local\libcroco-0.6-3.dll" File "..\..\..\..\local\libffi-6.dll" File "..\..\..\..\local\libfontconfig-1.dll" File "..\..\..\..\local\libfreetype-6.dll" File "..\..\..\..\local\libgcc_s_dw2-1.dll" File "..\..\..\..\local\libgdk-3-0.dll" File "..\..\..\..\local\libgdk_pixbuf-2.0-0.dll" File "..\..\..\..\local\libgio-2.0-0.dll" File "..\..\..\..\local\libglib-2.0-0.dll" File "..\..\..\..\local\libgmodule-2.0-0.dll" File "..\..\..\..\local\libgobject-2.0-0.dll" File "..\..\..\..\local\libgtk-3-0.dll" File "..\..\..\..\local\libiconv-2.dll" File "..\..\..\..\local\libintl-8.dll" File "..\..\..\..\local\liblzma-5.dll" File "..\..\..\..\local\libpango-1.0-0.dll" File "..\..\..\..\local\libpangocairo-1.0-0.dll" File "..\..\..\..\local\libpangoft2-1.0-0.dll" File "..\..\..\..\local\libpangowin32-1.0-0.dll" File "..\..\..\..\local\libpixbufloader-svg.dll" File "..\..\..\..\local\libpixman-1-0.dll" File "..\..\..\..\local\libpng15-15.dll" File "..\..\..\..\local\librsvg-2-2.dll" File "..\..\..\..\local\libssp-0.dll" File "..\..\..\..\local\libxml2-2.dll" File "..\..\..\..\local\pthreadGC2.dll" File "..\..\..\..\local\zlib1.dll" File "..\..\..\..\local\gspawn-win32-helper.exe" File "..\..\..\..\local\gspawn-win32-helper-console.exe" SetOutPath "$INSTDIR\lib\gdk-pixbuf-2.0\2.10.0" File "..\..\..\..\local\lib\gdk-pixbuf-2.0\2.10.0\loaders.cache" SetOverwrite TRY ; Translations SetOutPath "$INSTDIR\locale\af\LC_MESSAGES" File "..\..\..\..\local\locale\af\LC_MESSAGES\pioneers.mo" SetOutPath "$INSTDIR\locale\cs\LC_MESSAGES" File "..\..\..\..\local\locale\cs\LC_MESSAGES\pioneers.mo" SetOutPath "$INSTDIR\locale\da\LC_MESSAGES" File "..\..\..\..\local\locale\da\LC_MESSAGES\pioneers.mo" SetOutPath "$INSTDIR\locale\de\LC_MESSAGES" File "..\..\..\..\local\locale\de\LC_MESSAGES\pioneers.mo" SetOutPath "$INSTDIR\locale\en_GB\LC_MESSAGES" File "..\..\..\..\local\locale\en_GB\LC_MESSAGES\pioneers.mo" SetOutPath "$INSTDIR\locale\es\LC_MESSAGES" File "..\..\..\..\local\locale\es\LC_MESSAGES\pioneers.mo" SetOutPath "$INSTDIR\locale\fr\LC_MESSAGES" File "..\..\..\..\local\locale\fr\LC_MESSAGES\pioneers.mo" SetOutPath "$INSTDIR\locale\gl\LC_MESSAGES" File "..\..\..\..\local\locale\gl\LC_MESSAGES\pioneers.mo" SetOutPath "$INSTDIR\locale\hu\LC_MESSAGES" File "..\..\..\..\local\locale\hu\LC_MESSAGES\pioneers.mo" SetOutPath "$INSTDIR\locale\it\LC_MESSAGES" File "..\..\..\..\local\locale\it\LC_MESSAGES\pioneers.mo" SetOutPath "$INSTDIR\locale\ja\LC_MESSAGES" File "..\..\..\..\local\locale\ja\LC_MESSAGES\pioneers.mo" SetOutPath "$INSTDIR\locale\nl\LC_MESSAGES" File "..\..\..\..\local\locale\nl\LC_MESSAGES\pioneers.mo" SetOutPath "$INSTDIR\locale\pt\LC_MESSAGES" File "..\..\..\..\local\locale\pt\LC_MESSAGES\pioneers.mo" SetOutPath "$INSTDIR\locale\sv\LC_MESSAGES" File "..\..\..\..\local\locale\sv\LC_MESSAGES\pioneers.mo" ; No man pages for Windows native distribution ; SetOutPath "$INSTDIR\man\man6" ; File "..\..\..\..\local\man\man6\pioneers-meta-server.6" ; File "..\..\..\..\local\man\man6\pioneers-server-console.6" ; File "..\..\..\..\local\man\man6\pioneers-server-gtk.6" ; File "..\..\..\..\local\man\man6\pioneers.6" ; File "..\..\..\..\local\man\man6\pioneersai.6" ; Main icon SetOutPath "$INSTDIR\pixmaps" File "..\..\..\..\local\pixmaps\pioneers.png" ; Main toolbar icons SetOutPath "$INSTDIR\pixmaps\pioneers" File "..\..\..\..\local\pixmaps\pioneers\bridge.svg" File "..\..\..\..\local\pixmaps\pioneers\city.svg" File "..\..\..\..\local\pixmaps\pioneers\city_wall.svg" File "..\..\..\..\local\pixmaps\pioneers\develop.svg" File "..\..\..\..\local\pixmaps\pioneers\dice.svg" File "..\..\..\..\local\pixmaps\pioneers\finish.svg" File "..\..\..\..\local\pixmaps\pioneers\road.svg" File "..\..\..\..\local\pixmaps\pioneers\settlement.svg" File "..\..\..\..\local\pixmaps\pioneers\ship.svg" File "..\..\..\..\local\pixmaps\pioneers\ship_move.svg" File "..\..\..\..\local\pixmaps\pioneers\splash.png" File "..\..\..\..\local\pixmaps\pioneers\trade.svg" File "..\..\..\..\local\pixmaps\pioneers\brick.png" File "..\..\..\..\local\pixmaps\pioneers\grain.png" File "..\..\..\..\local\pixmaps\pioneers\ore.png" File "..\..\..\..\local\pixmaps\pioneers\wool.png" File "..\..\..\..\local\pixmaps\pioneers\lumber.png" File "..\..\..\..\local\pixmaps\pioneers\style-ai.svg" File "..\..\..\..\local\pixmaps\pioneers\style-human.png" File "..\..\..\..\local\pixmaps\pioneers\style-human-1.png" File "..\..\..\..\local\pixmaps\pioneers\style-human-2.png" File "..\..\..\..\local\pixmaps\pioneers\style-human-3.png" File "..\..\..\..\local\pixmaps\pioneers\style-human-4.png" File "..\..\..\..\local\pixmaps\pioneers\style-human-5.png" File "..\..\..\..\local\pixmaps\pioneers\style-human-6.png" File "..\..\..\..\local\pixmaps\pioneers\style-human-7.png" ; Other icons SetOutPath "$INSTDIR\share\icons\hicolor" File "..\..\..\..\local\share\icons\hicolor\index.theme" SetOutPath "$INSTDIR\share\icons\hicolor\scalable\actions" File "..\..\..\..\local\share\icons\hicolor\scalable\actions\pioneers-checkmark.svg" File "..\..\..\..\local\share\icons\hicolor\scalable\actions\pioneers-cross.svg" SetOutPath "$INSTDIR\share\icons\hicolor\24x24\actions" File "..\..\..\..\local\share\icons\hicolor\24x24\actions\edit-undo.png" ; GSettings file (for File|Open) SetOutPath "$INSTDIR\share\glib-2.0\schemas" File "..\..\..\..\local\share\glib-2.0\schemas\gschemas.compiled" ; Themes SetOutPath "$INSTDIR\themes" SetOutPath "$INSTDIR\themes\ccFlickr" File "..\..\..\..\local\themes\ccFlickr\ATTRIB" File "..\..\..\..\local\themes\ccFlickr\board.png" File "..\..\..\..\local\themes\ccFlickr\brick.png" File "..\..\..\..\local\themes\ccFlickr\desert.png" File "..\..\..\..\local\themes\ccFlickr\gold.png" File "..\..\..\..\local\themes\ccFlickr\grain.png" File "..\..\..\..\local\themes\ccFlickr\lumber.png" File "..\..\..\..\local\themes\ccFlickr\ore.png" File "..\..\..\..\local\themes\ccFlickr\port-brick.png" File "..\..\..\..\local\themes\ccFlickr\port-gold.png" File "..\..\..\..\local\themes\ccFlickr\port-grain.png" File "..\..\..\..\local\themes\ccFlickr\port-lumber.png" File "..\..\..\..\local\themes\ccFlickr\port-ore.png" File "..\..\..\..\local\themes\ccFlickr\port-wool.png" File "..\..\..\..\local\themes\ccFlickr\sea.png" File "..\..\..\..\local\themes\ccFlickr\theme.cfg" File "..\..\..\..\local\themes\ccFlickr\wool.png" SetOutPath "$INSTDIR\themes\Classic" File "..\..\..\..\local\themes\Classic\board.png" File "..\..\..\..\local\themes\Classic\desert.png" File "..\..\..\..\local\themes\Classic\field.png" File "..\..\..\..\local\themes\Classic\forest.png" File "..\..\..\..\local\themes\Classic\gold.png" File "..\..\..\..\local\themes\Classic\hill.png" File "..\..\..\..\local\themes\Classic\mountain.png" File "..\..\..\..\local\themes\Classic\pasture.png" File "..\..\..\..\local\themes\Classic\sea.png" File "..\..\..\..\local\themes\Classic\theme.cfg" SetOutPath "$INSTDIR\themes\FreeCIV-like" File "..\..\..\..\local\themes\FreeCIV-like\board.png" File "..\..\..\..\local\themes\FreeCIV-like\desert.png" File "..\..\..\..\local\themes\FreeCIV-like\field.png" File "..\..\..\..\local\themes\FreeCIV-like\forest.png" File "..\..\..\..\local\themes\FreeCIV-like\gold.png" File "..\..\..\..\local\themes\FreeCIV-like\hill.png" File "..\..\..\..\local\themes\FreeCIV-like\mountain.png" File "..\..\..\..\local\themes\FreeCIV-like\pasture.png" File "..\..\..\..\local\themes\FreeCIV-like\sea.png" File "..\..\..\..\local\themes\FreeCIV-like\theme.cfg" SetOutPath "$INSTDIR\themes\Iceland" File "..\..\..\..\local\themes\Iceland\board.png" File "..\..\..\..\local\themes\Iceland\desert.png" File "..\..\..\..\local\themes\Iceland\field_grain.png" File "..\..\..\..\local\themes\Iceland\forest_lumber.png" File "..\..\..\..\local\themes\Iceland\gold.png" File "..\..\..\..\local\themes\Iceland\hill_brick.png" File "..\..\..\..\local\themes\Iceland\mountain_ore.png" File "..\..\..\..\local\themes\Iceland\pasture_wool.png" File "..\..\..\..\local\themes\Iceland\sea.png" File "..\..\..\..\local\themes\Iceland\theme.cfg" SetOutPath "$INSTDIR\themes\Nouvellia" File "..\..\..\..\local\themes\Nouvellia\ATTRIB" File "..\..\..\..\local\themes\Nouvellia\board.svg" File "..\..\..\..\local\themes\Nouvellia\brick.svg" File "..\..\..\..\local\themes\Nouvellia\desert.svg" File "..\..\..\..\local\themes\Nouvellia\gold.svg" File "..\..\..\..\local\themes\Nouvellia\grain.svg" File "..\..\..\..\local\themes\Nouvellia\lumber.svg" File "..\..\..\..\local\themes\Nouvellia\port-brick.svg" File "..\..\..\..\local\themes\Nouvellia\port-grain.svg" File "..\..\..\..\local\themes\Nouvellia\port-lumber.svg" File "..\..\..\..\local\themes\Nouvellia\port-ore.svg" File "..\..\..\..\local\themes\Nouvellia\port-wool.svg" File "..\..\..\..\local\themes\Nouvellia\ore.svg" File "..\..\..\..\local\themes\Nouvellia\sea.svg" File "..\..\..\..\local\themes\Nouvellia\theme.cfg" File "..\..\..\..\local\themes\Nouvellia\wool.svg" SetOutPath "$INSTDIR\themes\Tiny" File "..\..\..\..\local\themes\Tiny\board.png" File "..\..\..\..\local\themes\Tiny\brick-lorindol.png" File "..\..\..\..\local\themes\Tiny\brick-port.png" File "..\..\..\..\local\themes\Tiny\desert-lorindol.png" File "..\..\..\..\local\themes\Tiny\gold-lorindol.png" File "..\..\..\..\local\themes\Tiny\grain-lorindol.png" File "..\..\..\..\local\themes\Tiny\grain-port.png" File "..\..\..\..\local\themes\Tiny\lumber-lorindol.png" File "..\..\..\..\local\themes\Tiny\lumber-port.png" File "..\..\..\..\local\themes\Tiny\ore-lorindol.png" File "..\..\..\..\local\themes\Tiny\ore-port.png" File "..\..\..\..\local\themes\Tiny\sea-lorindol.png" File "..\..\..\..\local\themes\Tiny\theme.cfg" File "..\..\..\..\local\themes\Tiny\wool-lorindol.png" File "..\..\..\..\local\themes\Tiny\wool-port.png" SetOutPath "$INSTDIR\themes\Wesnoth-like" File "..\..\..\..\local\themes\Wesnoth-like\board.png" File "..\..\..\..\local\themes\Wesnoth-like\desert.png" File "..\..\..\..\local\themes\Wesnoth-like\field.png" File "..\..\..\..\local\themes\Wesnoth-like\forest.png" File "..\..\..\..\local\themes\Wesnoth-like\gold.png" File "..\..\..\..\local\themes\Wesnoth-like\hill.png" File "..\..\..\..\local\themes\Wesnoth-like\mountain.png" File "..\..\..\..\local\themes\Wesnoth-like\pasture.png" File "..\..\..\..\local\themes\Wesnoth-like\sea.png" File "..\..\..\..\local\themes\Wesnoth-like\theme.cfg" ; Shortcuts SetOutPath "$INSTDIR" !insertmacro MUI_STARTMENU_WRITE_BEGIN Application CreateDirectory "$SMPROGRAMS\$ICONS_GROUP" CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Pioneers.lnk" "$INSTDIR\pioneers.exe" CreateShortCut "$DESKTOP\Pioneers.lnk" "$INSTDIR\pioneers.exe" !insertmacro MUI_STARTMENU_WRITE_END SectionEnd Section /o "Additional programs" SEC02 SetOutPath "$INSTDIR" SetOverwrite ifnewer File "..\..\..\..\local\pioneersai.exe" File "..\..\..\..\local\pioneers-editor.exe" File "..\..\..\..\local\pioneers-server-console.exe" File "..\..\..\..\local\pioneers-server-gtk.exe" SetOutPath "$INSTDIR\pixmaps" File "..\..\..\..\local\pixmaps\pioneers-editor.png" File "..\..\..\..\local\pixmaps\pioneers-server.png" SetOverwrite TRY SetOutPath "$INSTDIR\games\pioneers" ; Names for the AI File "..\..\..\..\local\games\pioneers\computer_names" ; Games for the editor (and server) File "..\..\..\..\local\games\pioneers\5-6-player.game" File "..\..\..\..\local\games\pioneers\Another_swimming_pool_in_the_wall.game" File "..\..\..\..\local\games\pioneers\archipel_gold.game" File "..\..\..\..\local\games\pioneers\canyon.game" File "..\..\..\..\local\games\pioneers\coeur.game" File "..\..\..\..\local\games\pioneers\conquest+ports.game" File "..\..\..\..\local\games\pioneers\conquest.game" File "..\..\..\..\local\games\pioneers\crane_island.game" File "..\..\..\..\local\games\pioneers\Cube.game" File "..\..\..\..\local\games\pioneers\default.game" File "..\..\..\..\local\games\pioneers\Evil_square.game" File "..\..\..\..\local\games\pioneers\four-islands.game" File "..\..\..\..\local\games\pioneers\GuerreDe100ans.game" File "..\..\..\..\local\games\pioneers\henjes.game" File "..\..\..\..\local\games\pioneers\iles.game" File "..\..\..\..\local\games\pioneers\lorindol.game" File "..\..\..\..\local\games\pioneers\Mini_another_swimming_pool_in_the_wall.game" File "..\..\..\..\local\games\pioneers\north_america.game" File "..\..\..\..\local\games\pioneers\pond.game" File "..\..\..\..\local\games\pioneers\seafarers-gold.game" File "..\..\..\..\local\games\pioneers\seafarers.game" File "..\..\..\..\local\games\pioneers\small.game" File "..\..\..\..\local\games\pioneers\south_africa.game" File "..\..\..\..\local\games\pioneers\square.game" File "..\..\..\..\local\games\pioneers\star.game" File "..\..\..\..\local\games\pioneers\ubuntuland.game" File "..\..\..\..\local\games\pioneers\x.game" ; Shortcuts SetOutPath "$INSTDIR" !insertmacro MUI_STARTMENU_WRITE_BEGIN Application CreateDirectory "$SMPROGRAMS\$ICONS_GROUP" CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Pioneers Editor.lnk" "$INSTDIR\pioneers-editor.exe" CreateShortCut "$DESKTOP\Pioneers Editor.lnk" "$INSTDIR\pioneers-editor.exe" CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Pioneers Server.lnk" "$INSTDIR\pioneers-server-gtk.exe" !insertmacro MUI_STARTMENU_WRITE_END SectionEnd Section -AdditionalIcons !insertmacro MUI_STARTMENU_WRITE_BEGIN Application WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}" CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url" CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Uninstall.lnk" "$INSTDIR\uninst.exe" !insertmacro MUI_STARTMENU_WRITE_END SectionEnd Section -Post WriteUninstaller "$INSTDIR\uninst.exe" WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\pioneers.exe" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\pioneers.exe" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}" WriteRegDWORD ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "NoModify" "1" WriteRegDWORD ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "NoRepair" "1" ; Installed size ${GetSize} "$INSTDIR" "/S=0K" $0 $1 $2 IntFmt $0 "0x%08X" $0 WriteRegDWORD ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "EstimatedSize" "$0" SectionEnd ; Section descriptions !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN !insertmacro MUI_DESCRIPTION_TEXT ${SEC01} "Play games of Pioneers" !insertmacro MUI_DESCRIPTION_TEXT ${SEC02} "Install a server, a game editor and a computer player" !insertmacro MUI_FUNCTION_DESCRIPTION_END Function un.onUninstSuccess HideWindow MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was successfully removed from your computer." FunctionEnd Function un.onInit !insertmacro MUI_UNGETLANGUAGE MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to completely remove $(^Name) and all of its components?" IDYES +2 Abort FunctionEnd Section Uninstall !insertmacro MUI_STARTMENU_GETFOLDER "Application" $ICONS_GROUP Delete "$INSTDIR\${PRODUCT_NAME}.url" Delete "$INSTDIR\uninst.exe" Delete "$INSTDIR\pioneers-server-gtk.exe" Delete "$INSTDIR\pioneers-server-console.exe" Delete "$INSTDIR\pioneers-editor.exe" Delete "$INSTDIR\pioneersai.exe" Delete "$INSTDIR\pioneers.exe" Delete "$INSTDIR\libatk-1.0-0.dll" Delete "$INSTDIR\libcairo-2.dll" Delete "$INSTDIR\libcairo-gobject-2.dll" Delete "$INSTDIR\libcroco-0.6-3.dll" Delete "$INSTDIR\libffi-6.dll" Delete "$INSTDIR\libfontconfig-1.dll" Delete "$INSTDIR\libfreetype-6.dll" Delete "$INSTDIR\libgcc_s_dw2-1.dll" Delete "$INSTDIR\libgdk-3-0.dll" Delete "$INSTDIR\libgdk_pixbuf-2.0-0.dll" Delete "$INSTDIR\libgio-2.0-0.dll" Delete "$INSTDIR\libglib-2.0-0.dll" Delete "$INSTDIR\libgmodule-2.0-0.dll" Delete "$INSTDIR\libgobject-2.0-0.dll" Delete "$INSTDIR\libgtk-3-0.dll" Delete "$INSTDIR\libiconv-2.dll" Delete "$INSTDIR\libintl-8.dll" Delete "$INSTDIR\liblzma-5.dll" Delete "$INSTDIR\libpango-1.0-0.dll" Delete "$INSTDIR\libpangocairo-1.0-0.dll" Delete "$INSTDIR\libpangoft2-1.0-0.dll" Delete "$INSTDIR\libpangowin32-1.0-0.dll" Delete "$INSTDIR\libpixbufloader-svg.dll" Delete "$INSTDIR\libpixman-1-0.dll" Delete "$INSTDIR\libpng15-15.dll" Delete "$INSTDIR\librsvg-2-2.dll" Delete "$INSTDIR\libssp-0.dll" Delete "$INSTDIR\libxml2-2.dll" Delete "$INSTDIR\pthreadGC2.dll" Delete "$INSTDIR\zlib1.dll" Delete "$INSTDIR\gspawn-win32-helper.exe" Delete "$INSTDIR\gspawn-win32-helper-console.exe" Delete "$INSTDIR\lib\gdk-pixbuf-2.0\2.10.0\loaders.cache" Delete "$INSTDIR\themes\Wesnoth-like\theme.cfg" Delete "$INSTDIR\themes\Wesnoth-like\sea.png" Delete "$INSTDIR\themes\Wesnoth-like\pasture.png" Delete "$INSTDIR\themes\Wesnoth-like\mountain.png" Delete "$INSTDIR\themes\Wesnoth-like\hill.png" Delete "$INSTDIR\themes\Wesnoth-like\gold.png" Delete "$INSTDIR\themes\Wesnoth-like\forest.png" Delete "$INSTDIR\themes\Wesnoth-like\field.png" Delete "$INSTDIR\themes\Wesnoth-like\desert.png" Delete "$INSTDIR\themes\Wesnoth-like\board.png" Delete "$INSTDIR\themes\Tiny\wool-port.png" Delete "$INSTDIR\themes\Tiny\wool-lorindol.png" Delete "$INSTDIR\themes\Tiny\theme.cfg" Delete "$INSTDIR\themes\Tiny\sea-lorindol.png" Delete "$INSTDIR\themes\Tiny\ore-port.png" Delete "$INSTDIR\themes\Tiny\ore-lorindol.png" Delete "$INSTDIR\themes\Tiny\lumber-port.png" Delete "$INSTDIR\themes\Tiny\lumber-lorindol.png" Delete "$INSTDIR\themes\Tiny\grain-port.png" Delete "$INSTDIR\themes\Tiny\grain-lorindol.png" Delete "$INSTDIR\themes\Tiny\gold-lorindol.png" Delete "$INSTDIR\themes\Tiny\desert-lorindol.png" Delete "$INSTDIR\themes\Tiny\brick-port.png" Delete "$INSTDIR\themes\Tiny\brick-lorindol.png" Delete "$INSTDIR\themes\Tiny\board.png" Delete "$INSTDIR\themes\Nouvellia\wool.svg" Delete "$INSTDIR\themes\Nouvellia\theme.cfg" Delete "$INSTDIR\themes\Nouvellia\sea.svg" Delete "$INSTDIR\themes\Nouvellia\port-wool.svg" Delete "$INSTDIR\themes\Nouvellia\port-ore.svg" Delete "$INSTDIR\themes\Nouvellia\port-lumber.svg" Delete "$INSTDIR\themes\Nouvellia\port-grain.svg" Delete "$INSTDIR\themes\Nouvellia\port-brick.svg" Delete "$INSTDIR\themes\Nouvellia\ore.svg" Delete "$INSTDIR\themes\Nouvellia\lumber.svg" Delete "$INSTDIR\themes\Nouvellia\grain.svg" Delete "$INSTDIR\themes\Nouvellia\gold.svg" Delete "$INSTDIR\themes\Nouvellia\desert.svg" Delete "$INSTDIR\themes\Nouvellia\brick.svg" Delete "$INSTDIR\themes\Nouvellia\board.svg" Delete "$INSTDIR\themes\Nouvellia\ATTRIB" Delete "$INSTDIR\themes\Iceland\theme.cfg" Delete "$INSTDIR\themes\Iceland\sea.png" Delete "$INSTDIR\themes\Iceland\pasture_wool.png" Delete "$INSTDIR\themes\Iceland\mountain_ore.png" Delete "$INSTDIR\themes\Iceland\hill_brick.png" Delete "$INSTDIR\themes\Iceland\gold.png" Delete "$INSTDIR\themes\Iceland\forest_lumber.png" Delete "$INSTDIR\themes\Iceland\field_grain.png" Delete "$INSTDIR\themes\Iceland\desert.png" Delete "$INSTDIR\themes\Iceland\board.png" Delete "$INSTDIR\themes\FreeCIV-like\theme.cfg" Delete "$INSTDIR\themes\FreeCIV-like\sea.png" Delete "$INSTDIR\themes\FreeCIV-like\pasture.png" Delete "$INSTDIR\themes\FreeCIV-like\mountain.png" Delete "$INSTDIR\themes\FreeCIV-like\hill.png" Delete "$INSTDIR\themes\FreeCIV-like\gold.png" Delete "$INSTDIR\themes\FreeCIV-like\forest.png" Delete "$INSTDIR\themes\FreeCIV-like\field.png" Delete "$INSTDIR\themes\FreeCIV-like\desert.png" Delete "$INSTDIR\themes\FreeCIV-like\board.png" Delete "$INSTDIR\themes\Classic\theme.cfg" Delete "$INSTDIR\themes\Classic\sea.png" Delete "$INSTDIR\themes\Classic\pasture.png" Delete "$INSTDIR\themes\Classic\mountain.png" Delete "$INSTDIR\themes\Classic\hill.png" Delete "$INSTDIR\themes\Classic\gold.png" Delete "$INSTDIR\themes\Classic\forest.png" Delete "$INSTDIR\themes\Classic\field.png" Delete "$INSTDIR\themes\Classic\desert.png" Delete "$INSTDIR\themes\Classic\board.png" Delete "$INSTDIR\themes\ccFlickr\wool.png" Delete "$INSTDIR\themes\ccFlickr\theme.cfg" Delete "$INSTDIR\themes\ccFlickr\sea.png" Delete "$INSTDIR\themes\ccFlickr\port-wool.png" Delete "$INSTDIR\themes\ccFlickr\port-ore.png" Delete "$INSTDIR\themes\ccFlickr\port-lumber.png" Delete "$INSTDIR\themes\ccFlickr\port-grain.png" Delete "$INSTDIR\themes\ccFlickr\port-gold.png" Delete "$INSTDIR\themes\ccFlickr\port-brick.png" Delete "$INSTDIR\themes\ccFlickr\ore.png" Delete "$INSTDIR\themes\ccFlickr\lumber.png" Delete "$INSTDIR\themes\ccFlickr\grain.png" Delete "$INSTDIR\themes\ccFlickr\gold.png" Delete "$INSTDIR\themes\ccFlickr\desert.png" Delete "$INSTDIR\themes\ccFlickr\brick.png" Delete "$INSTDIR\themes\ccFlickr\board.png" Delete "$INSTDIR\themes\ccFlickr\ATTRIB" Delete "$INSTDIR\pixmaps\pioneers\style-human-7.png" Delete "$INSTDIR\pixmaps\pioneers\style-human-6.png" Delete "$INSTDIR\pixmaps\pioneers\style-human-5.png" Delete "$INSTDIR\pixmaps\pioneers\style-human-4.png" Delete "$INSTDIR\pixmaps\pioneers\style-human-3.png" Delete "$INSTDIR\pixmaps\pioneers\style-human-2.png" Delete "$INSTDIR\pixmaps\pioneers\style-human-1.png" Delete "$INSTDIR\pixmaps\pioneers\style-human.png" Delete "$INSTDIR\pixmaps\pioneers\style-ai.svg" Delete "$INSTDIR\pixmaps\pioneers\brick.png" Delete "$INSTDIR\pixmaps\pioneers\grain.png" Delete "$INSTDIR\pixmaps\pioneers\ore.png" Delete "$INSTDIR\pixmaps\pioneers\wool.png" Delete "$INSTDIR\pixmaps\pioneers\lumber.png" Delete "$INSTDIR\pixmaps\pioneers\trade.svg" Delete "$INSTDIR\pixmaps\pioneers\splash.png" Delete "$INSTDIR\pixmaps\pioneers\ship_move.svg" Delete "$INSTDIR\pixmaps\pioneers\ship.svg" Delete "$INSTDIR\pixmaps\pioneers\settlement.svg" Delete "$INSTDIR\pixmaps\pioneers\road.svg" Delete "$INSTDIR\pixmaps\pioneers\finish.svg" Delete "$INSTDIR\pixmaps\pioneers\dice.svg" Delete "$INSTDIR\pixmaps\pioneers\develop.svg" Delete "$INSTDIR\pixmaps\pioneers\city_wall.svg" Delete "$INSTDIR\pixmaps\pioneers\city.svg" Delete "$INSTDIR\pixmaps\pioneers\bridge.svg" Delete "$INSTDIR\pixmaps\pioneers.png" Delete "$INSTDIR\pixmaps\pioneers-server.png" Delete "$INSTDIR\pixmaps\pioneers-editor.png" Delete "$INSTDIR\share\glib-2.0\schemas\gschemas.compiled" Delete "$INSTDIR\share\icons\hicolor\index.theme" Delete "$INSTDIR\share\icons\hicolor\24x24\actions\edit-undo.png" Delete "$INSTDIR\share\icons\hicolor\scalable\actions\pioneers-cross.svg" Delete "$INSTDIR\share\icons\hicolor\scalable\actions\pioneers-checkmark.svg" ; Delete "$INSTDIR\man\man6\pioneersai.6" ; Delete "$INSTDIR\man\man6\pioneers.6" ; Delete "$INSTDIR\man\man6\pioneers-server-gtk.6" ; Delete "$INSTDIR\man\man6\pioneers-server-console.6" ; Delete "$INSTDIR\man\man6\pioneers-meta-server.6" Delete "$INSTDIR\locale\sv\LC_MESSAGES\pioneers.mo" Delete "$INSTDIR\locale\pt\LC_MESSAGES\pioneers.mo" Delete "$INSTDIR\locale\nl\LC_MESSAGES\pioneers.mo" Delete "$INSTDIR\locale\ja\LC_MESSAGES\pioneers.mo" Delete "$INSTDIR\locale\it\LC_MESSAGES\pioneers.mo" Delete "$INSTDIR\locale\hu\LC_MESSAGES\pioneers.mo" Delete "$INSTDIR\locale\gl\LC_MESSAGES\pioneers.mo" Delete "$INSTDIR\locale\fr\LC_MESSAGES\pioneers.mo" Delete "$INSTDIR\locale\es\LC_MESSAGES\pioneers.mo" Delete "$INSTDIR\locale\en_GB\LC_MESSAGES\pioneers.mo" Delete "$INSTDIR\locale\de\LC_MESSAGES\pioneers.mo" Delete "$INSTDIR\locale\da\LC_MESSAGES\pioneers.mo" Delete "$INSTDIR\locale\cs\LC_MESSAGES\pioneers.mo" Delete "$INSTDIR\locale\af\LC_MESSAGES\pioneers.mo" Delete "$INSTDIR\games\pioneers\x.game" Delete "$INSTDIR\games\pioneers\ubuntuland.game" Delete "$INSTDIR\games\pioneers\star.game" Delete "$INSTDIR\games\pioneers\square.game" Delete "$INSTDIR\games\pioneers\south_africa.game" Delete "$INSTDIR\games\pioneers\small.game" Delete "$INSTDIR\games\pioneers\seafarers.game" Delete "$INSTDIR\games\pioneers\seafarers-gold.game" Delete "$INSTDIR\games\pioneers\pond.game" Delete "$INSTDIR\games\pioneers\north_america.game" Delete "$INSTDIR\games\pioneers\Mini_another_swimming_pool_in_the_wall.game" Delete "$INSTDIR\games\pioneers\lorindol.game" Delete "$INSTDIR\games\pioneers\iles.game" Delete "$INSTDIR\games\pioneers\henjes.game" Delete "$INSTDIR\games\pioneers\GuerreDe100ans.game" Delete "$INSTDIR\games\pioneers\four-islands.game" Delete "$INSTDIR\games\pioneers\Evil_square.game" Delete "$INSTDIR\games\pioneers\default.game" Delete "$INSTDIR\games\pioneers\Cube.game" Delete "$INSTDIR\games\pioneers\crane_island.game" Delete "$INSTDIR\games\pioneers\conquest.game" Delete "$INSTDIR\games\pioneers\conquest+ports.game" Delete "$INSTDIR\games\pioneers\computer_names" Delete "$INSTDIR\games\pioneers\coeur.game" Delete "$INSTDIR\games\pioneers\canyon.game" Delete "$INSTDIR\games\pioneers\archipel_gold.game" Delete "$INSTDIR\games\pioneers\Another_swimming_pool_in_the_wall.game" Delete "$INSTDIR\games\pioneers\5-6-player.game" Delete "$SMPROGRAMS\$ICONS_GROUP\Uninstall.lnk" Delete "$SMPROGRAMS\$ICONS_GROUP\Website.lnk" Delete "$DESKTOP\Pioneers.lnk" Delete "$DESKTOP\Pioneers Editor.lnk" Delete "$SMPROGRAMS\$ICONS_GROUP\Pioneers.lnk" Delete "$SMPROGRAMS\$ICONS_GROUP\Pioneers Editor.lnk" Delete "$SMPROGRAMS\$ICONS_GROUP\Pioneers Server.lnk" RMDir "$SMPROGRAMS\$ICONS_GROUP" RMDir "$INSTDIR\themes\Wesnoth-like" RMDir "$INSTDIR\themes\Tiny" RMDir "$INSTDIR\themes\Nouvellia" RMDir "$INSTDIR\themes\Iceland" RMDir "$INSTDIR\themes\FreeCIV-like" RMDir "$INSTDIR\themes\Classic" RMDir "$INSTDIR\themes\ccFlickr" RMDir "$INSTDIR\themes" RMDir "$INSTDIR\pixmaps\pioneers" RMDir "$INSTDIR\pixmaps" RMDir "$INSTDIR\locale\sv\LC_MESSAGES" RMDir "$INSTDIR\locale\sv" RMDir "$INSTDIR\locale\pt\LC_MESSAGES" RMDir "$INSTDIR\locale\pt" RMDir "$INSTDIR\locale\nl\LC_MESSAGES" RMDir "$INSTDIR\locale\nl" RMDir "$INSTDIR\locale\ja\LC_MESSAGES" RMDir "$INSTDIR\locale\ja" RMDir "$INSTDIR\locale\it\LC_MESSAGES" RMDir "$INSTDIR\locale\it" RMDir "$INSTDIR\locale\hu\LC_MESSAGES" RMDir "$INSTDIR\locale\hu" RMDir "$INSTDIR\locale\gl\LC_MESSAGES" RMDir "$INSTDIR\locale\gl" RMDir "$INSTDIR\locale\fr\LC_MESSAGES" RMDir "$INSTDIR\locale\fr" RMDir "$INSTDIR\locale\es\LC_MESSAGES" RMDir "$INSTDIR\locale\es" RMDir "$INSTDIR\locale\en_GB\LC_MESSAGES" RMDir "$INSTDIR\locale\en_GB" RMDir "$INSTDIR\locale\de\LC_MESSAGES" RMDir "$INSTDIR\locale\de" RMDir "$INSTDIR\locale\da\LC_MESSAGES" RMDir "$INSTDIR\locale\da" RMDir "$INSTDIR\locale\cs\LC_MESSAGES" RMDir "$INSTDIR\locale\cs" RMDir "$INSTDIR\locale\af\LC_MESSAGES" RMDir "$INSTDIR\locale\af" RMDir "$INSTDIR\locale" RMDir "$INSTDIR\lib\gdk-pixbuf-2.0\2.10.0" RMDir "$INSTDIR\lib\gdk-pixbuf-2.0" RMDir "$INSTDIR\lib" RMDir "$INSTDIR\share\glib-2.0\schemas" RMDir "$INSTDIR\share\glib-2.0" RMDir "$INSTDIR\share\icons\hicolor\scalable\actions" RMDir "$INSTDIR\share\icons\hicolor\scalable" RMDir "$INSTDIR\share\icons\hicolor\24x24\actions" RMDir "$INSTDIR\share\icons\hicolor\24x24" RMDir "$INSTDIR\share\icons\hicolor" RMDir "$INSTDIR\share\icons" RMDir "$INSTDIR\share" RMDir "$INSTDIR\games\pioneers" RMDir "$INSTDIR\games" RMDir "$INSTDIR\games" RMDir "$INSTDIR" DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}" SetAutoClose true SectionEnd pioneers-15.5/MinGW/Makefile.am0000644000175000017500000000567612766603702013255 00000000000000# Pioneers - Implementation of the excellent Settlers of Catan board game. # Go buy a copy. # # Copyright (C) 2011 Roland Clobus # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA if IS_MINGW_PORT install-exec-hook: install-MinGW install-MinGW: cp /mingw/bin/libatk-1.0-0.dll /usr/local cp /mingw/bin/libcairo-2.dll /usr/local cp /mingw/bin/libcairo-gobject-2.dll /usr/local cp /mingw/bin/libcroco-0.6-3.dll /usr/local cp /mingw/bin/libffi-6.dll /usr/local cp /mingw/bin/libfontconfig-1.dll /usr/local cp /mingw/bin/libfreetype-6.dll /usr/local cp /mingw/bin/libgcc_s_dw2-1.dll /usr/local cp /mingw/bin/libgdk-3-0.dll /usr/local cp /mingw/bin/libgdk_pixbuf-2.0-0.dll /usr/local cp /mingw/bin/libgio-2.0-0.dll /usr/local cp /mingw/bin/libglib-2.0-0.dll /usr/local cp /mingw/bin/libgmodule-2.0-0.dll /usr/local cp /mingw/bin/libgobject-2.0-0.dll /usr/local cp /mingw/bin/libgtk-3-0.dll /usr/local cp /mingw/bin/libiconv-2.dll /usr/local cp /mingw/bin/libintl-8.dll /usr/local cp /mingw/bin/liblzma-5.dll /usr/local cp /mingw/bin/libpango-1.0-0.dll /usr/local cp /mingw/bin/libpangocairo-1.0-0.dll /usr/local cp /mingw/bin/libpangoft2-1.0-0.dll /usr/local cp /mingw/bin/libpangowin32-1.0-0.dll /usr/local cp /mingw/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.dll /usr/local cp /mingw/bin/libpixman-1-0.dll /usr/local cp /mingw/bin/libpng15-15.dll /usr/local cp /mingw/bin/librsvg-2-2.dll /usr/local cp /mingw/bin/libssp-0.dll /usr/local cp /mingw/bin/libxml2-2.dll /usr/local cp /mingw/bin/pthreadGC2.dll /usr/local cp /mingw/bin/zlib1.dll /usr/local cp /mingw/bin/gspawn-win32-helper.exe /usr/local cp /mingw/bin/gspawn-win32-helper-console.exe /usr/local mkdir -p /usr/local/lib/gdk-pixbuf-2.0/2.10.0 cp $(srcdir)/MinGW/loaders.cache /usr/local/lib/gdk-pixbuf-2.0/2.10.0 mkdir -p /usr/local/share/icons/hicolor cp /mingw/share/icons/hicolor/index.theme /usr/local/share/icons/hicolor mkdir -p /usr/local/share/icons/hicolor/24x24/actions cp /mingw/share/gtk-doc/html/gtk3/edit-undo-ltr.png /usr/local/share/icons/hicolor/24x24/actions/edit-undo.png mkdir -p /usr/local/share/glib-2.0/schemas cp /mingw/share/glib-2.0/schemas/gschemas.compiled /usr/local/share/glib-2.0/schemas endif # IS_MINGW_PORT EXTRA_DIST += \ $(srcdir)/MinGW/loaders.cache \ $(srcdir)/MinGW/README.txt pioneers-15.5/MinGW/README.txt0000644000175000017500000000457712325007013012676 00000000000000Short guide to build Pioneers from source in MinGW Prepare the build environment ============================= * Download mingw-get-setup.exe from http://www.mingw.org/wiki/Getting_Started - Install with the default settings - In the MinGW Installation Manager, select: - mingw-developer-toolkit, mingw32-base - Installation | Apply * Download the all-in-one bundle from http://www.gtk.org/download/win32.php - Extract to C:\MinGW * Download from http://ftp.gnome.org/pub/GNOME/binaries/win32: - From the folder intltool: intltool_0.40.4-1_win32.zip - From the folder librsvg: librsvg_2.32.1-1_win32.zip and librsvg-dev_2.32.1-1_win32.zip - Extract all to C:\MinGW and overwrite existing files * Download GNU Indent from ftp://ftp.gnu.org/gnu/indent/ - In src/Makefile.in add 'wildexp.${OBJEXT)' to the variable am_indent_OBJECTS (line 62) - ./configure --prefix=/MinGW - make - make install * Download the GOB2 tarball from http://www.jirka.org/gob.html - ./configure --prefix=/mingw - make - make install * In MSYS shell: - vim /MinGW/bin/intltool-* - Adjust all first lines to point to /bin/perl instead of /opt/perl/bin/perl - gdk-pixbuf-query-loaders --update-cache - cp /MinGW/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache MinGW/loaders.cache - vim MinGW/loaders.cache - Remove all directories before the filename part of the DLL If any of the downloads cannot be found, a newer version will probably work. Build and install Pioneers ========================== 1) Download the source tarball to your home directory (c:\MinGW\msys\1.0\home\%username%) 2) Start the MinGW shell 3) Expand the source tarball (tar xvzf pioneers-%versionnumber%.tar.gz) 4) Enter the source directory (cd pioneers-%versionnumber%) 5) Configure, build and install ./configure make make install make install-MinGW Start Pioneers ============== a) Start Pioneers by double clicking on the executable (found in C:\MinGW\msys\1.0\local) b) or start pioneers.exe from /usr/local in the shell Rebuild the icons ================= a) Load the svg file at 768x768 in Gimp 2.8 (768=least common multiple(48,256)) b) Execute the Script-Fu script "Iconify2.scm" c) Export as *.ico Known limitations ================= * The online help is not built * The metaserver is not built. It is recommended to use the existing metaservers Roland Clobus 2014-03-07 Pioneers-15.2 pioneers-15.5/MinGW/loaders.cache0000644000175000017500000000075012726625243013623 00000000000000# GdkPixbuf Image Loader Modules file # Automatically generated file, do not edit # Created by gdk-pixbuf-query-loaders.exe from gdk-pixbuf-2.26.5 # # LoaderDir = C:\MinGW/lib/gdk-pixbuf-2.0/2.10.0/loaders # "libpixbufloader-svg.dll" "svg" 2 "gdk-pixbuf" "Scalable Vector Graphics" "LGPL" "image/svg+xml" "image/svg" "image/svg-xml" "image/vnd.adobe.svg+xml" "text/xml-svg" "image/svg+xml-compressed" "" "svg" "svgz" "svg.gz" "" " . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that # program. This Exception is an additional permission under section 7 # of the GNU General Public License, version 3 ("GPLv3"). # # Originally written by Per Bothner; maintained since 2000 by Ben Elliston. # # You can get the latest version of this script from: # https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess # # Please send patches to . me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. Options: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright 1992-2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; esac done if test $# != 0; then echo "$me: too many arguments$help" >&2 exit 1 fi trap 'exit 1' 1 2 15 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a # headache to deal with in a portable fashion. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. # Portable tmp directory creation inspired by the Autoconf team. set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; dummy=$tmp/dummy ; tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int x;" > "$dummy.c" ; for c in cc gcc c89 c99 ; do if ($c -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac ; set_cc_for_build= ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) if (test -f /.attbin/uname) >/dev/null 2>&1 ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown case "$UNAME_SYSTEM" in Linux|GNU|GNU/*) # If the system lacks a compiler, then just pick glibc. # We could probably try harder. LIBC=gnu eval "$set_cc_for_build" cat <<-EOF > "$dummy.c" #include #if defined(__UCLIBC__) LIBC=uclibc #elif defined(__dietlibc__) LIBC=dietlibc #else LIBC=gnu #endif EOF eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`" # If ldd exists, use it to detect musl libc. if command -v ldd >/dev/null && \ ldd --version 2>&1 | grep -q ^musl then LIBC=musl fi ;; esac # Note: order is significant - the case branches are not exclusive. case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. # # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ "/sbin/$sysctl" 2>/dev/null || \ "/usr/sbin/$sysctl" 2>/dev/null || \ echo unknown)` case "$UNAME_MACHINE_ARCH" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; earmv*) arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` machine="${arch}${endian}"-unknown ;; *) machine="$UNAME_MACHINE_ARCH"-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently (or will in the future) and ABI. case "$UNAME_MACHINE_ARCH" in earm*) os=netbsdelf ;; arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval "$set_cc_for_build" if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ELF__ then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? os=netbsd else os=netbsdelf fi ;; *) os=netbsd ;; esac # Determine ABI tags. case "$UNAME_MACHINE_ARCH" in earm*) expr='s/^earmv[0-9]/-eabi/;s/eb$//' abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` ;; esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. case "$UNAME_VERSION" in Debian*) release='-gnu' ;; *) release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "$machine-${os}${release}${abi}" exit ;; *:Bitrig:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE" exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE" exit ;; *:LibertyBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE" exit ;; *:MidnightBSD:*:*) echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE" exit ;; *:ekkoBSD:*:*) echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE" exit ;; *:SolidBSD:*:*) echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE" exit ;; macppc:MirBSD:*:*) echo powerpc-unknown-mirbsd"$UNAME_RELEASE" exit ;; *:MirBSD:*:*) echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE" exit ;; *:Sortix:*:*) echo "$UNAME_MACHINE"-unknown-sortix exit ;; *:Redox:*:*) echo "$UNAME_MACHINE"-unknown-redox exit ;; mips:OSF1:*.*) echo mips-dec-osf1 exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ;; *5.*) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") UNAME_MACHINE=alpha ;; "EV4.5 (21064)") UNAME_MACHINE=alpha ;; "LCA4 (21066/21068)") UNAME_MACHINE=alpha ;; "EV5 (21164)") UNAME_MACHINE=alphaev5 ;; "EV5.6 (21164A)") UNAME_MACHINE=alphaev56 ;; "EV5.6 (21164PC)") UNAME_MACHINE=alphapca56 ;; "EV5.7 (21164PC)") UNAME_MACHINE=alphapca57 ;; "EV6 (21264)") UNAME_MACHINE=alphaev6 ;; "EV6.7 (21264A)") UNAME_MACHINE=alphaev67 ;; "EV6.8CB (21264C)") UNAME_MACHINE=alphaev68 ;; "EV6.8AL (21264B)") UNAME_MACHINE=alphaev68 ;; "EV6.8CX (21264D)") UNAME_MACHINE=alphaev68 ;; "EV6.9A (21264/EV69A)") UNAME_MACHINE=alphaev69 ;; "EV7 (21364)") UNAME_MACHINE=alphaev7 ;; "EV7.9 (21364A)") UNAME_MACHINE=alphaev79 ;; esac # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`" # Reset EXIT trap before exiting to avoid spurious non-zero exit code. exitcode=$? trap '' 0 exit $exitcode ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit ;; *:[Aa]miga[Oo][Ss]:*:*) echo "$UNAME_MACHINE"-unknown-amigaos exit ;; *:[Mm]orph[Oo][Ss]:*:*) echo "$UNAME_MACHINE"-unknown-morphos exit ;; *:OS/390:*:*) echo i370-ibm-openedition exit ;; *:z/VM:*:*) echo s390-ibm-zvmoe exit ;; *:OS400:*:*) echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix"$UNAME_RELEASE" exit ;; arm*:riscos:*:*|arm*:RISCOS:*:*) echo arm-unknown-riscos exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then echo pyramid-pyramid-sysv3 else echo pyramid-pyramid-bsd fi exit ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit ;; DRS?6000:unix:4.0:6*) echo sparc-icl-nx6 exit ;; DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7; exit ;; esac ;; s390x:SunOS:*:*) echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" exit ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`" exit ;; i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) echo i386-pc-auroraux"$UNAME_RELEASE" exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) eval "$set_cc_for_build" SUN_ARCH=i386 # If there is a compiler, see if it is configured for 64-bit objects. # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. # This test works for both compilers. if [ "$CC_FOR_BUILD" != no_compiler_found ]; then if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then SUN_ARCH=x86_64 fi fi echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`" exit ;; sun3*:SunOS:*:*) echo m68k-sun-sunos"$UNAME_RELEASE" exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos"$UNAME_RELEASE" ;; sun4) echo sparc-sun-sunos"$UNAME_RELEASE" ;; esac exit ;; aushp:SunOS:*:*) echo sparc-auspex-sunos"$UNAME_RELEASE" exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor # > m68000). The system name ranges from "MiNT" over "FreeMiNT" # to the lowercase version "mint" (or "freemint"). Finally # the system name "TOS" denotes a system which is actually not # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint"$UNAME_RELEASE" exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint"$UNAME_RELEASE" exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint"$UNAME_RELEASE" exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint"$UNAME_RELEASE" exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint"$UNAME_RELEASE" exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint"$UNAME_RELEASE" exit ;; m68k:machten:*:*) echo m68k-apple-machten"$UNAME_RELEASE" exit ;; powerpc:machten:*:*) echo powerpc-apple-machten"$UNAME_RELEASE" exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix"$UNAME_RELEASE" exit ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix"$UNAME_RELEASE" exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix"$UNAME_RELEASE" exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval "$set_cc_for_build" sed 's/^ //' << EOF > "$dummy.c" #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF $CC_FOR_BUILD -o "$dummy" "$dummy.c" && dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && SYSTEM_NAME=`"$dummy" "$dummyarg"` && { echo "$SYSTEM_NAME"; exit; } echo mips-mips-riscos"$UNAME_RELEASE" exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax exit ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax exit ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` if [ "$UNAME_PROCESSOR" = mc88100 ] || [ "$UNAME_PROCESSOR" = mc88110 ] then if [ "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx ] || \ [ "$TARGET_BINARY_INTERFACE"x = x ] then echo m88k-dg-dgux"$UNAME_RELEASE" else echo m88k-dg-dguxbcs"$UNAME_RELEASE" fi else echo i586-dg-dgux"$UNAME_RELEASE" fi exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit ;; *:IRIX*:*:*) echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`" exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" fi echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV" exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval "$set_cc_for_build" sed 's/^ //' << EOF > "$dummy.c" #include main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` then echo "$SYSTEM_NAME" else echo rs6000-ibm-aix3.2.5 fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi exit ;; *:AIX:*:[4567]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi if [ -x /usr/bin/lslpp ] ; then IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` else IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" fi echo "$IBM_ARCH"-ibm-aix"$IBM_REV" exit ;; *:AIX:*:*) echo rs6000-ibm-aix exit ;; ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) echo romp-ibm-bsd4.4 exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd"$UNAME_RELEASE" # 4.3 with uname added to exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'` case "$UNAME_MACHINE" in 9000/31?) HP_ARCH=m68000 ;; 9000/[34]??) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "$sc_cpu_version" in 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "$sc_kernel_bits" in 32) HP_ARCH=hppa2.0n ;; 64) HP_ARCH=hppa2.0w ;; '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 esac ;; esac fi if [ "$HP_ARCH" = "" ]; then eval "$set_cc_for_build" sed 's/^ //' << EOF > "$dummy.c" #define _HPUX_SOURCE #include #include int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); #endif long cpu = sysconf (_SC_CPU_VERSION); switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; default: puts ("hppa2.0"); break; } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; #endif default: puts ("hppa1.0"); break; } exit (0); } EOF (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac if [ "$HP_ARCH" = hppa2.0w ] then eval "$set_cc_for_build" # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler # generating 64-bit code. GNU and HP use different nomenclature: # # $ CC_FOR_BUILD=cc ./config.guess # => hppa2.0w-hp-hpux11.23 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | grep -q __LP64__ then HP_ARCH=hppa2.0w else HP_ARCH=hppa64 fi fi echo "$HP_ARCH"-hp-hpux"$HPUX_REV" exit ;; ia64:HP-UX:*:*) HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux"$HPUX_REV" exit ;; 3050*:HI-UX:*:*) eval "$set_cc_for_build" sed 's/^ //' << EOF > "$dummy.c" #include int main () { long cpu = sysconf (_SC_CPU_VERSION); /* The order matters, because CPU_IS_HP_MC68K erroneously returns true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct results, however. */ if (CPU_IS_PA_RISC (cpu)) { switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; default: puts ("hppa-hitachi-hiuxwe2"); break; } } else if (CPU_IS_HP_MC68K (cpu)) puts ("m68k-hitachi-hiuxwe2"); else puts ("unknown-hitachi-hiuxwe2"); exit (0); } EOF $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 exit ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) echo hppa1.1-hp-bsd exit ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) echo hppa1.1-hp-osf exit ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo "$UNAME_MACHINE"-unknown-osf1mk else echo "$UNAME_MACHINE"-unknown-osf1 fi exit ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*[A-Z]90:*:*:*) echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; *:UNICOS/mp:*:*) echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE" exit ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi"$UNAME_RELEASE" exit ;; *:BSD/OS:*:*) echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE" exit ;; *:FreeBSD:*:*) UNAME_PROCESSOR=`/usr/bin/uname -p` case "$UNAME_PROCESSOR" in amd64) UNAME_PROCESSOR=x86_64 ;; i386) UNAME_PROCESSOR=i586 ;; esac echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" exit ;; i*:CYGWIN*:*) echo "$UNAME_MACHINE"-pc-cygwin exit ;; *:MINGW64*:*) echo "$UNAME_MACHINE"-pc-mingw64 exit ;; *:MINGW*:*) echo "$UNAME_MACHINE"-pc-mingw32 exit ;; *:MSYS*:*) echo "$UNAME_MACHINE"-pc-msys exit ;; i*:PW*:*) echo "$UNAME_MACHINE"-pc-pw32 exit ;; *:Interix*:*) case "$UNAME_MACHINE" in x86) echo i586-pc-interix"$UNAME_RELEASE" exit ;; authenticamd | genuineintel | EM64T) echo x86_64-unknown-interix"$UNAME_RELEASE" exit ;; IA64) echo ia64-unknown-interix"$UNAME_RELEASE" exit ;; esac ;; i*:UWIN*:*) echo "$UNAME_MACHINE"-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) echo x86_64-unknown-cygwin exit ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`" exit ;; *:GNU:*:*) # the GNU system echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`" exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC" exit ;; i*86:Minix:*:*) echo "$UNAME_MACHINE"-pc-minix exit ;; aarch64:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; aarch64_be:Linux:*:*) UNAME_MACHINE=aarch64_be echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; PCA57) UNAME_MACHINE=alphapca56 ;; EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC=gnulibc1 ; fi echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; arc:Linux:*:* | arceb:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; arm*:Linux:*:*) eval "$set_cc_for_build" if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" else if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_PCS_VFP then echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi else echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf fi fi exit ;; avr32*:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; cris:Linux:*:*) echo "$UNAME_MACHINE"-axis-linux-"$LIBC" exit ;; crisv32:Linux:*:*) echo "$UNAME_MACHINE"-axis-linux-"$LIBC" exit ;; e2k:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; frv:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; hexagon:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; i*86:Linux:*:*) echo "$UNAME_MACHINE"-pc-linux-"$LIBC" exit ;; ia64:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; k1om:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; m32r*:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; m68*:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; mips:Linux:*:* | mips64:Linux:*:*) eval "$set_cc_for_build" sed 's/^ //' << EOF > "$dummy.c" #undef CPU #undef ${UNAME_MACHINE} #undef ${UNAME_MACHINE}el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=${UNAME_MACHINE}el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=${UNAME_MACHINE} #else CPU= #endif #endif EOF eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU'`" test "x$CPU" != x && { echo "$CPU-unknown-linux-$LIBC"; exit; } ;; mips64el:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; openrisc*:Linux:*:*) echo or1k-unknown-linux-"$LIBC" exit ;; or32:Linux:*:* | or1k*:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; padre:Linux:*:*) echo sparc-unknown-linux-"$LIBC" exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-"$LIBC" exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;; PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;; *) echo hppa-unknown-linux-"$LIBC" ;; esac exit ;; ppc64:Linux:*:*) echo powerpc64-unknown-linux-"$LIBC" exit ;; ppc:Linux:*:*) echo powerpc-unknown-linux-"$LIBC" exit ;; ppc64le:Linux:*:*) echo powerpc64le-unknown-linux-"$LIBC" exit ;; ppcle:Linux:*:*) echo powerpcle-unknown-linux-"$LIBC" exit ;; riscv32:Linux:*:* | riscv64:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo "$UNAME_MACHINE"-ibm-linux-"$LIBC" exit ;; sh64*:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; sh*:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; tile*:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; vax:Linux:*:*) echo "$UNAME_MACHINE"-dec-linux-"$LIBC" exit ;; x86_64:Linux:*:*) if objdump -f /bin/sh | grep -q elf32-x86-64; then echo "$UNAME_MACHINE"-pc-linux-"$LIBC"x32 else echo "$UNAME_MACHINE"-pc-linux-"$LIBC" fi exit ;; xtensa*:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" exit ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 exit ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION" exit ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo "$UNAME_MACHINE"-pc-os2-emx exit ;; i*86:XTS-300:*:STOP) echo "$UNAME_MACHINE"-unknown-stop exit ;; i*86:atheos:*:*) echo "$UNAME_MACHINE"-unknown-atheos exit ;; i*86:syllable:*:*) echo "$UNAME_MACHINE"-pc-syllable exit ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) echo i386-unknown-lynxos"$UNAME_RELEASE" exit ;; i*86:*DOS:*:*) echo "$UNAME_MACHINE"-pc-msdosdjgpp exit ;; i*86:*:4.*:*) UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL" else echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL" fi exit ;; i*86:*:5:[678]*) # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}{$UNAME_VERSION}" exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL" else echo "$UNAME_MACHINE"-pc-sysv32 fi exit ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i586. # Note: whatever this is, it MUST be the same as what config.sub # prints for the "djgpp" host, or else GDB configure will decide that # this is a cross-build. echo i586-pc-msdosdjgpp exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit ;; paragon:*:*:*) echo i860-intel-osf1 exit ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv"$UNAME_RELEASE" # Unknown i860-SVR4 fi exit ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv exit ;; M680?0:D-NIX:5.3:*) echo m68k-diab-dnix exit ;; M68*:*:R3V[5678]*:*) test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; NCR*:*:4.2:* | MPRAS*:*:4.2:*) OS_REL='.3' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos"$UNAME_RELEASE" exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos"$UNAME_RELEASE" exit ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos"$UNAME_RELEASE" exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) echo powerpc-unknown-lynxos"$UNAME_RELEASE" exit ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv"$UNAME_RELEASE" exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` echo "$UNAME_MACHINE"-sni-sysv4 else echo ns32k-sni-sysv fi exit ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. echo "$UNAME_MACHINE"-stratus-vos exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit ;; mc68*:A/UX:*:*) echo m68k-apple-aux"$UNAME_RELEASE" exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv"$UNAME_RELEASE" else echo mips-unknown-sysv"$UNAME_RELEASE" fi exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit ;; BePC:Haiku:*:*) # Haiku running on Intel PC compatible. echo i586-pc-haiku exit ;; x86_64:Haiku:*:*) echo x86_64-unknown-haiku exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux"$UNAME_RELEASE" exit ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux"$UNAME_RELEASE" exit ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux"$UNAME_RELEASE" exit ;; SX-7:SUPER-UX:*:*) echo sx7-nec-superux"$UNAME_RELEASE" exit ;; SX-8:SUPER-UX:*:*) echo sx8-nec-superux"$UNAME_RELEASE" exit ;; SX-8R:SUPER-UX:*:*) echo sx8r-nec-superux"$UNAME_RELEASE" exit ;; SX-ACE:SUPER-UX:*:*) echo sxace-nec-superux"$UNAME_RELEASE" exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody"$UNAME_RELEASE" exit ;; *:Rhapsody:*:*) echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE" exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown eval "$set_cc_for_build" if test "$UNAME_PROCESSOR" = unknown ; then UNAME_PROCESSOR=powerpc fi if test "`echo "$UNAME_RELEASE" | sed -e 's/\..*//'`" -le 10 ; then if [ "$CC_FOR_BUILD" != no_compiler_found ]; then if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then case $UNAME_PROCESSOR in i386) UNAME_PROCESSOR=x86_64 ;; powerpc) UNAME_PROCESSOR=powerpc64 ;; esac fi # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_PPC >/dev/null then UNAME_PROCESSOR=powerpc fi fi elif test "$UNAME_PROCESSOR" = i386 ; then # Avoid executing cc on OS X 10.9, as it ships with a stub # that puts up a graphical alert prompting to install # developer tools. Any system running Mac OS X 10.7 or # later (Darwin 11 and later) is required to have a 64-bit # processor. This is not true of the ARM version of Darwin # that Apple uses in portable devices. UNAME_PROCESSOR=x86_64 fi echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE" exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = x86; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE" exit ;; *:QNX:*:4*) echo i386-pc-qnx exit ;; NEO-*:NONSTOP_KERNEL:*:*) echo neo-tandem-nsk"$UNAME_RELEASE" exit ;; NSE-*:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk"$UNAME_RELEASE" exit ;; NSR-*:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk"$UNAME_RELEASE" exit ;; NSV-*:NONSTOP_KERNEL:*:*) echo nsv-tandem-nsk"$UNAME_RELEASE" exit ;; NSX-*:NONSTOP_KERNEL:*:*) echo nsx-tandem-nsk"$UNAME_RELEASE" exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit ;; DS/*:UNIX_System_V:*:*) echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE" exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. if test "$cputype" = 386; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi echo "$UNAME_MACHINE"-unknown-plan9 exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit ;; *:ITS:*:*) echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) echo mips-sei-seiux"$UNAME_RELEASE" exit ;; *:DragonFly:*:*) echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`" exit ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` case "$UNAME_MACHINE" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; V*) echo vax-dec-vms ; exit ;; esac ;; *:XENIX:*:SysV) echo i386-pc-xenix exit ;; i*86:skyos:*:*) echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`" exit ;; i*86:rdos:*:*) echo "$UNAME_MACHINE"-pc-rdos exit ;; i*86:AROS:*:*) echo "$UNAME_MACHINE"-pc-aros exit ;; x86_64:VMkernel:*:*) echo "$UNAME_MACHINE"-unknown-esx exit ;; amd64:Isilon\ OneFS:*:*) echo x86_64-unknown-onefs exit ;; esac echo "$0: unable to guess system type" >&2 case "$UNAME_MACHINE:$UNAME_SYSTEM" in mips:Linux | mips64:Linux) # If we got here on MIPS GNU/Linux, output extra information. cat >&2 <&2 </dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` /bin/uname -X = `(/bin/uname -X) 2>/dev/null` hostinfo = `(hostinfo) 2>/dev/null` /bin/universe = `(/bin/universe) 2>/dev/null` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` /bin/arch = `(/bin/arch) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = "$UNAME_MACHINE" UNAME_RELEASE = "$UNAME_RELEASE" UNAME_SYSTEM = "$UNAME_SYSTEM" UNAME_VERSION = "$UNAME_VERSION" EOF exit 1 # Local variables: # eval: (add-hook 'write-file-functions 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: pioneers-15.5/install-sh0000755000175000017500000003546313252243604012231 00000000000000#!/bin/sh # install - install a program, script, or datafile scriptversion=2014-09-12.12; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the # following copyright and license. # # Copyright (C) 1994 X Consortium # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to # deal in the Software without restriction, including without limitation the # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or # sell copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # # Except as contained in this notice, the name of the X Consortium shall not # be used in advertising or otherwise to promote the sale, use or other deal- # ings in this Software without prior written authorization from the X Consor- # tium. # # # FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent # 'make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. tab=' ' nl=' ' IFS=" $tab$nl" # Set DOITPROG to "echo" to test this script. doit=${DOITPROG-} doit_exec=${doit:-exec} # Put in absolute file names if you don't have them in your path; # or use environment vars. chgrpprog=${CHGRPPROG-chgrp} chmodprog=${CHMODPROG-chmod} chownprog=${CHOWNPROG-chown} cmpprog=${CMPPROG-cmp} cpprog=${CPPROG-cp} mkdirprog=${MKDIRPROG-mkdir} mvprog=${MVPROG-mv} rmprog=${RMPROG-rm} stripprog=${STRIPPROG-strip} posix_mkdir= # Desired mode of installed file. mode=0755 chgrpcmd= chmodcmd=$chmodprog chowncmd= mvcmd=$mvprog rmcmd="$rmprog -f" stripcmd= src= dst= dir_arg= dst_arg= copy_on_change=false is_target_a_directory=possibly usage="\ Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE or: $0 [OPTION]... SRCFILES... DIRECTORY or: $0 [OPTION]... -t DIRECTORY SRCFILES... or: $0 [OPTION]... -d DIRECTORIES... In the 1st form, copy SRCFILE to DSTFILE. In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. In the 4th, create DIRECTORIES. Options: --help display this help and exit. --version display version info and exit. -c (ignored) -C install only if different (preserve the last data modification time) -d create directories instead of installing files. -g GROUP $chgrpprog installed files to GROUP. -m MODE $chmodprog installed files to MODE. -o USER $chownprog installed files to USER. -s $stripprog installed files. -t DIRECTORY install into DIRECTORY. -T report an error if DSTFILE is a directory. Environment variables override the default commands: CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG " while test $# -ne 0; do case $1 in -c) ;; -C) copy_on_change=true;; -d) dir_arg=true;; -g) chgrpcmd="$chgrpprog $2" shift;; --help) echo "$usage"; exit $?;; -m) mode=$2 case $mode in *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*) echo "$0: invalid mode: $mode" >&2 exit 1;; esac shift;; -o) chowncmd="$chownprog $2" shift;; -s) stripcmd=$stripprog;; -t) is_target_a_directory=always dst_arg=$2 # Protect names problematic for 'test' and other utilities. case $dst_arg in -* | [=\(\)!]) dst_arg=./$dst_arg;; esac shift;; -T) is_target_a_directory=never;; --version) echo "$0 $scriptversion"; exit $?;; --) shift break;; -*) echo "$0: invalid option: $1" >&2 exit 1;; *) break;; esac shift done # We allow the use of options -d and -T together, by making -d # take the precedence; this is for compatibility with GNU install. if test -n "$dir_arg"; then if test -n "$dst_arg"; then echo "$0: target directory not allowed when installing a directory." >&2 exit 1 fi fi if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. # Otherwise, the last argument is the destination. Remove it from $@. for arg do if test -n "$dst_arg"; then # $@ is not empty: it contains at least $arg. set fnord "$@" "$dst_arg" shift # fnord fi shift # arg dst_arg=$arg # Protect names problematic for 'test' and other utilities. case $dst_arg in -* | [=\(\)!]) dst_arg=./$dst_arg;; esac done fi if test $# -eq 0; then if test -z "$dir_arg"; then echo "$0: no input file specified." >&2 exit 1 fi # It's OK to call 'install-sh -d' without argument. # This can happen when creating conditional directories. exit 0 fi if test -z "$dir_arg"; then if test $# -gt 1 || test "$is_target_a_directory" = always; then if test ! -d "$dst_arg"; then echo "$0: $dst_arg: Is not a directory." >&2 exit 1 fi fi fi if test -z "$dir_arg"; then do_exit='(exit $ret); exit $ret' trap "ret=129; $do_exit" 1 trap "ret=130; $do_exit" 2 trap "ret=141; $do_exit" 13 trap "ret=143; $do_exit" 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. case $mode in # Optimize common cases. *644) cp_umask=133;; *755) cp_umask=22;; *[0-7]) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw='% 200' fi cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; *) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw=,u+rw fi cp_umask=$mode$u_plus_rw;; esac fi for src do # Protect names problematic for 'test' and other utilities. case $src in -* | [=\(\)!]) src=./$src;; esac if test -n "$dir_arg"; then dst=$src dstdir=$dst test -d "$dstdir" dstdir_status=$? else # Waiting for this to be detected by the "$cpprog $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if test ! -f "$src" && test ! -d "$src"; then echo "$0: $src does not exist." >&2 exit 1 fi if test -z "$dst_arg"; then echo "$0: no destination specified." >&2 exit 1 fi dst=$dst_arg # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. if test -d "$dst"; then if test "$is_target_a_directory" = never; then echo "$0: $dst_arg: Is a directory" >&2 exit 1 fi dstdir=$dst dst=$dstdir/`basename "$src"` dstdir_status=0 else dstdir=`dirname "$dst"` test -d "$dstdir" dstdir_status=$? fi fi obsolete_mkdir_used=false if test $dstdir_status != 0; then case $posix_mkdir in '') # Create intermediate dirs using mode 755 as modified by the umask. # This is like FreeBSD 'install' as of 1997-10-28. umask=`umask` case $stripcmd.$umask in # Optimize common cases. *[2367][2367]) mkdir_umask=$umask;; .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; *[0-7]) mkdir_umask=`expr $umask + 22 \ - $umask % 100 % 40 + $umask % 20 \ - $umask % 10 % 4 + $umask % 2 `;; *) mkdir_umask=$umask,go-w;; esac # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then mkdir_mode=-m$mode else mkdir_mode= fi posix_mkdir=false case $umask in *[123567][0-7][0-7]) # POSIX mkdir -p sets u+wx bits regardless of umask, which # is incompatible with FreeBSD 'install' when (umask & 300) != 0. ;; *) # $RANDOM is not portable (e.g. dash); use it when possible to # lower collision chance tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0 # As "mkdir -p" follows symlinks and we work in /tmp possibly; so # create the $tmpdir first (and fail if unsuccessful) to make sure # that nobody tries to guess the $tmpdir name. if (umask $mkdir_umask && $mkdirprog $mkdir_mode "$tmpdir" && exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1 then if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or # other-writable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. test_tmpdir="$tmpdir/a" ls_ld_tmpdir=`ls -ld "$test_tmpdir"` case $ls_ld_tmpdir in d????-?r-*) different_mode=700;; d????-?--*) different_mode=755;; *) false;; esac && $mkdirprog -m$different_mode -p -- "$test_tmpdir" && { ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"` test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" } } then posix_mkdir=: fi rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" else # Remove any dirs left behind by ancient mkdir implementations. rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null fi trap '' 0;; esac;; esac if $posix_mkdir && ( umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" ) then : else # The umask is ridiculous, or mkdir does not conform to POSIX, # or it failed possibly due to a race condition. Create the # directory the slow way, step by step, checking for races as we go. case $dstdir in /*) prefix='/';; [-=\(\)!]*) prefix='./';; *) prefix='';; esac oIFS=$IFS IFS=/ set -f set fnord $dstdir shift set +f IFS=$oIFS prefixes= for d do test X"$d" = X && continue prefix=$prefix$d if test -d "$prefix"; then prefixes= else if $posix_mkdir; then (umask=$mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break # Don't fail if two instances are running concurrently. test -d "$prefix" || exit 1 else case $prefix in *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; *) qprefix=$prefix;; esac prefixes="$prefixes '$qprefix'" fi fi prefix=$prefix/ done if test -n "$prefixes"; then # Don't fail if two instances are running concurrently. (umask $mkdir_umask && eval "\$doit_exec \$mkdirprog $prefixes") || test -d "$dstdir" || exit 1 obsolete_mkdir_used=true fi fi fi if test -n "$dir_arg"; then { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 else # Make a couple of temp file names in the proper directory. dsttmp=$dstdir/_inst.$$_ rmtmp=$dstdir/_rm.$$_ # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 # Copy the file name to the temp name. (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && # and set any options; do chmod last to preserve setuid bits. # # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $cpprog $src $dsttmp" command. # { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && # If -C, don't bother to copy if it wouldn't change the file. if $copy_on_change && old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && set -f && set X $old && old=:$2:$4:$5:$6 && set X $new && new=:$2:$4:$5:$6 && set +f && test "$old" = "$new" && $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 then rm -f "$dsttmp" else # Rename the file to the real destination. $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || # The rename failed, perhaps because mv can't rename something else # to itself, or perhaps because mv is so ancient that it does not # support -f. { # Now remove or move aside any old file at destination location. # We try this two ways since rm can't unlink itself on some # systems and the destination file might be busy for other # reasons. In this case, the final cleanup might fail but the new # file should still install successfully. { test ! -f "$dst" || $doit $rmcmd -f "$dst" 2>/dev/null || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } } || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 } } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dst" } fi || exit 1 trap '' 0 fi done # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: pioneers-15.5/pioneers.spec.in0000644000175000017500000001166412213111213013311 00000000000000Name: @PACKAGE_NAME@ Summary: Playable implementation of the Settlers of Catan Version: @VERSION@ Release: 1 Group: Amusements/Games License: GPL Url: http://pio.sourceforge.net/ Packager: The Pioneers developers Source: http://downloads.sourceforge.net/pio/@PACKAGE_TARNAME@-@VERSION@.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: libgnome-devel, scrollkeeper BuildRequires: gtk2-devel >= @GTK_REQUIRED_VERSION@ BuildRequires: glib2-devel >= @GLIB_REQUIRED_VERSION@ Requires(post): scrollkeeper %description Pioneers is a computerized version of a well known strategy board game. The goal of the game is to colonize an island. The players play the first colonists, hence the name Pioneers. This is the client software to play the game. %package ai Summary: Pioneers AI Player Group: Amusements/Games %description ai Pioneers is a computerized version of a well known strategy board game. The goal of the game is to colonize an island. The players play the first colonists, hence the name Pioneers. This package contains a computer player that can take part in Pioneers games. %package server-console Summary: Pioneers Console Server Group: Amusements/Games Requires: pioneers-server-data %description server-console Pioneers is a computerized version of a well known strategy board game. The goal of the game is to colonize an island. The players play the first colonists, hence the name Pioneers. The packages contains the server. %package server-gtk Summary: Pioneers GTK Server Group: Amusements/Games Requires: pioneers, pioneers-server-data %description server-gtk Pioneers is a computerized version of a well known strategy board game. The goal of the game is to colonize an island. The players play the first colonists, hence the name Pioneers. The server has a user interface in which you can customise the game parameters. Once you are happy with the game parameters, press the Start Server button, and the server will start listening for client connections. %package server-data Summary: Pioneers Data Group: Amusements/Games %description server-data Pioneers is a computerized version of a well known strategy board game. The goal of the game is to colonize an island. The players play the first colonists, hence the name Pioneers. This package contains the data files for a game server. %package metaserver Summary: Pioneers Metaserver Group: Amusements/Games %description metaserver Pioneers is a computerized version of a well known strategy board game. The goal of the game is to colonize an island. The players play the first colonists, hence the name Pioneers. The metaserver registers available game servers and offers them to new players. It can also create new servers on client request. %package editor Summary: Pioneers Game Editor Group: Amusements/Games Requires: pioneers, pioneers-server-data %description editor Pioneers is a computerized version of a well known strategy board game. The goal of the game is to colonize an island. The players play the first colonists, hence the name Pioneers. The game editor allows maps and game descriptions to be created and edited graphically. %prep %setup -q %build %configure make %install make install DESTDIR="%buildroot" rm -rf %{buildroot}%{localstatedir}/scrollkeeper/ %find_lang %{name} %clean rm -rf %{buildroot} %files -f %name.lang %defattr(-,root,root) %doc AUTHORS COPYING ChangeLog INSTALL README NEWS %doc %_mandir/man6/pioneers.6.gz %{_bindir}/pioneers %{_datadir}/applications/pioneers.desktop %{_datadir}/pixmaps/pioneers.png %{_datadir}/pixmaps/pioneers/* %{_datadir}/games/pioneers/themes/* %{_datadir}/gnome/help/pioneers/C/*.xml %{_datadir}/gnome/help/pioneers/C/images/* %{_datadir}/omf/pioneers/pioneers-C.omf %post scrollkeeper-update -q -o %{_datadir}/omf/pioneers %postun scrollkeeper-update -q %files ai %defattr(-,root,root) %doc AUTHORS COPYING ChangeLog INSTALL README NEWS %doc %_mandir/man6/pioneersai.6.gz %{_bindir}/pioneersai %{_datadir}/games/pioneers/computer_names %files server-console %defattr(-,root,root) %doc AUTHORS COPYING ChangeLog INSTALL README NEWS %doc %_mandir/man6/pioneers-server-console.6.gz %{_bindir}/pioneers-server-console %files server-gtk %defattr(-,root,root) %doc AUTHORS COPYING ChangeLog INSTALL README NEWS %doc %_mandir/man6/pioneers-server-gtk.6.gz %{_bindir}/pioneers-server-gtk %{_datadir}/pixmaps/pioneers-server.png %{_datadir}/applications/pioneers-server.desktop %files server-data %defattr(-,root,root) %doc AUTHORS COPYING ChangeLog INSTALL README NEWS %{_datadir}/games/pioneers/*.game %files metaserver %defattr(-,root,root) %doc %_mandir/man6/pioneers-metaserver.6.gz %doc AUTHORS COPYING ChangeLog INSTALL README NEWS %{_bindir}/pioneers-metaserver %files editor %defattr(-,root,root) %doc AUTHORS COPYING ChangeLog INSTALL README NEWS %{_bindir}/pioneers-editor %{_datadir}/pixmaps/pioneers-editor.png %{_datadir}/applications/pioneers-editor.desktop pioneers-15.5/metaserver/0000755000175000017500000000000013252243610012444 500000000000000pioneers-15.5/metaserver/Makefile.am0000644000175000017500000000200712112512661014416 00000000000000# Pioneers - Implementation of the excellent Settlers of Catan board game. # Go buy a copy. # # Copyright (C) 2006 Bas Wijnen # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA bin_PROGRAMS += pioneers-metaserver pioneers_metaserver_CPPFLAGS = $(console_cflags) pioneers_metaserver_LDADD = $(console_libs) pioneers_metaserver_SOURCES = \ metaserver/main.c pioneers-15.5/metaserver/main.c0000644000175000017500000004663712760601304013475 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003-2009 Bas Wijnen * Copyright (C) 2006,2013 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #ifdef HAVE_LOCALE_H #include #endif #include #include #include #include #include #include #include #include #include "network.h" #include "game.h" #include "version.h" #include "log.h" #include "common_glib.h" #include "game-list.h" typedef enum { META_UNKNOWN, META_CLIENT, META_SERVER_ALMOST, META_SERVER } ClientType; typedef struct _Client Client; struct _Client { ClientType type; Session *session; gint protocol_major; gint protocol_minor; /* The rest of the structure is only used for METASERVER clients */ gchar *host; gchar *port; gchar *version; gint max; gint curr; gint previous_curr; gchar *terrain; gchar *title; gchar *vpoints; gchar *sevenrule; }; static GMainLoop *event_loop; static Service *service; static gchar *redirect_location = NULL; static gchar *myhostname = NULL; static gboolean can_create_games; static int port_low = 0; static int port_high = 0; static GList *client_list; /* Command line data */ static gboolean make_daemon = FALSE; static gchar *pidfile = NULL; static gchar *port_range = NULL; static gboolean enable_debug = FALSE; static gboolean enable_syslog_debug = FALSE; static gboolean show_version = FALSE; static void log_to_syslog(gint msg_type, const gchar * text) { int priority; gboolean to_syslog; to_syslog = TRUE; switch (msg_type) { case MSG_ERROR: priority = LOG_ERR; break; case MSG_INFO: priority = LOG_INFO; break; case MSG_TIMESTAMP: to_syslog = FALSE; break; default: priority = LOG_DEBUG; break; } if (to_syslog) { syslog(priority, "%s", text); } if (enable_syslog_debug) { if (msg_type == MSG_TIMESTAMP) { log_message_string_console(msg_type, text); } else { gchar *t = g_strdup_printf("%s\n", text); log_message_string_console(msg_type, t); g_free(t); } } } static void client_free(Client * client) { if (client->session != NULL) { net_free(&client->session); } if (client->host != NULL) g_free(client->host); if (client->port != NULL) g_free(client->port); if (client->version != NULL) g_free(client->version); if (client->terrain != NULL) g_free(client->terrain); if (client->title != NULL) g_free(client->title); if (client->vpoints != NULL) g_free(client->vpoints); if (client->sevenrule != NULL) g_free(client->sevenrule); g_free(client); } static void client_list_servers(Client * client) { GList *list; for (list = client_list; list != NULL; list = g_list_next(list)) { Client *scan = list->data; if (scan->type != META_SERVER) continue; net_printf(client->session, "server\n" "host=%s\n" "port=%s\n" "version=%s\n" "max=%d\n" "curr=%d\n", scan->host, scan->port, scan->version, scan->max, scan->curr); if (client->protocol_major == 0) { net_printf(client->session, "map=%s\n" "comment=%s\n", scan->terrain, scan->title); } else if (client->protocol_major >= 1) { net_printf(client->session, "vpoints=%s\n" "sevenrule=%s\n" "terrain=%s\n" "title=%s\n", scan->vpoints, scan->sevenrule, scan->terrain, scan->title); } net_printf(client->session, "end\n"); } } /** Send the title and free the associated memory. */ static void client_send_type(gpointer data, gpointer user_data) { GameParams *params = data; Session *ses = user_data; if (!params_game_is_unstartable(params)) { net_printf(ses, "title=%s\n", params->title); } } static void client_list_types(Client * client) { game_list_foreach(client_send_type, client->session); } static void client_list_capability(Session * ses) { if (can_create_games) { net_printf(ses, "create games\n"); } net_printf(ses, "deregister dead connections\n"); net_printf(ses, "end\n"); } static const gchar *get_server_path(void) { const gchar *console_server; if (!(console_server = g_getenv("PIONEERS_SERVER_CONSOLE"))) if (! (console_server = g_getenv("GNOCATAN_SERVER_CONSOLE"))) console_server = PIONEERS_SERVER_CONSOLE_PROGRAM_NAME; return console_server; } static void client_create_new_server(Client * client, const gchar * line) { gint free_port; gboolean found_free_port; const char *console_server; unsigned int n; GList *list; GSpawnFlags spawn_flags = G_SPAWN_STDOUT_TO_DEV_NULL | G_SPAWN_STDERR_TO_DEV_NULL | G_SPAWN_SEARCH_PATH; gchar *child_argv[34]; GError *error = NULL; gchar **split; split = g_strsplit(line, " ", 6); if (split[0] != NULL && split[1] != NULL && split[2] != NULL && split[3] != NULL && split[4] != NULL && split[5] != NULL) { /* Data is present, but not validated */ /* 0: terrain * 1: number of players * 2: number of points * 3: sevens rule * 4: number of computer players * 5: title */ } else { net_printf(client->session, "Badly formatted request\n"); g_strfreev(split); return; } console_server = get_server_path(); /* Find a free port */ found_free_port = FALSE; for (free_port = port_low; free_port <= port_high; free_port++) { gboolean in_use = FALSE; for (list = client_list; list != NULL; list = g_list_next(list)) { Client *scan = list->data; if ((scan->port != NULL) && (atoi(scan->port) == free_port)) { in_use = TRUE; } } if (!in_use) { /* Check whether the port is already in use */ Service *test_available; gchar *error_message; test_available = net_service_new(free_port, NULL, NULL, &error_message); if (test_available != NULL) { net_service_free(test_available); found_free_port = TRUE; break; } g_free(error_message); } } if (!found_free_port) { net_printf(client->session, "Starting server failed: " "no port available\n"); g_strfreev(split); return; } n = 0; child_argv[n++] = g_strdup(console_server); child_argv[n++] = g_strdup(console_server); child_argv[n++] = g_strdup("-g"); child_argv[n++] = g_strdup(split[5]); child_argv[n++] = g_strdup("-P"); child_argv[n++] = g_strdup(split[1]); child_argv[n++] = g_strdup("-v"); child_argv[n++] = g_strdup(split[2]); child_argv[n++] = g_strdup("-R"); child_argv[n++] = g_strdup(split[3]); child_argv[n++] = g_strdup("-T"); child_argv[n++] = g_strdup(split[0]); child_argv[n++] = g_strdup("-p"); child_argv[n++] = g_strdup_printf("%d", free_port); child_argv[n++] = g_strdup("-c"); child_argv[n++] = g_strdup(split[4]); child_argv[n++] = g_strdup("-k"); child_argv[n++] = g_strdup("1200"); child_argv[n++] = g_strdup("-m"); child_argv[n++] = g_strdup(myhostname); child_argv[n++] = g_strdup("-n"); child_argv[n++] = g_strdup(myhostname); child_argv[n++] = g_strdup("-x"); child_argv[n++] = g_strdup("-t"); child_argv[n++] = g_strdup("1"); child_argv[n++] = g_strdup("-r"); child_argv[n] = NULL; g_assert(n < 34); g_strfreev(split); if (!g_spawn_async(NULL, child_argv, NULL, spawn_flags, NULL, NULL, NULL, &error)) { log_message(MSG_ERROR, "cannot exec %s: %s", child_argv[0], error->message); g_error_free(error); } for (n = 0; child_argv[n] != NULL; n++) g_free(child_argv[n]); net_printf(client->session, "host=%s\n", myhostname); net_printf(client->session, "port=%d\n", free_port); net_printf(client->session, "started\n"); log_message(MSG_INFO, "new local server started on port %d, " "requested by %s", free_port, client->host); return; } static gboolean check_str_info(const gchar * line, const gchar * prefix, gchar ** data) { guint len = strlen(prefix); if (strncmp(line, prefix, len) != 0) return FALSE; if (*data != NULL) g_free(*data); *data = g_strdup(line + len); return TRUE; } static gboolean check_int_info(const gchar * line, const gchar * prefix, gint * data) { guint len = strlen(prefix); if (strncmp(line, prefix, len) != 0) return FALSE; *data = atoi(line + len); return TRUE; } static void try_make_server_complete(Client * client) { gboolean ok = FALSE; if (client->type == META_SERVER) { if (client->curr != client->previous_curr) { log_message(MSG_INFO, "server %s on port %s: " "now %d of %d players", client->host, client->port, client->curr, client->max); client->previous_curr = client->curr; } return; } if (client->host != NULL && client->port != NULL && client->version != NULL && client->max >= 0 && client->curr >= 0 && client->terrain != NULL && client->title != NULL) { if (client->protocol_major < 1) { if (!client->vpoints) client->vpoints = g_strdup("?"); if (!client->sevenrule) client->sevenrule = g_strdup("?"); ok = TRUE; } else { if (client->vpoints != NULL && client->sevenrule != NULL) ok = TRUE; } } if (ok) { client->type = META_SERVER; log_message(MSG_INFO, "server %s on port %s registered", client->host, client->port); net_set_check_connection_alive(client->session, 480u); } } static void client_process_line(Client * client, const gchar * line) { GError *error = NULL; switch (client->type) { case META_UNKNOWN: case META_CLIENT: if (strncmp(line, "version ", 8) == 0) { const gchar *p = line + 8; client->protocol_major = atoi(p); p += strspn(p, "0123456789"); if (*p == '.') client->protocol_minor = atoi(p + 1); } else if (strcmp(line, "listservers") == 0 || /* still accept "client" request from proto 0 clients * so we don't have to distinguish between client versions */ strcmp(line, "client") == 0) { client->type = META_CLIENT; client_list_servers(client); net_close(client->session); } else if (strcmp(line, "listtypes") == 0) { client->type = META_CLIENT; client_list_types(client); net_close(client->session); } else if (strncmp(line, "create ", 7) == 0 && can_create_games) { client->type = META_CLIENT; if (!net_get_peer_name (client->session, &client->host, &client->port, &error)) { log_message(MSG_ERROR, "%s", error->message); g_error_free(error); } client_create_new_server(client, line + 7); net_close(client->session); } else if (strcmp(line, "server") == 0) { client->type = META_SERVER_ALMOST; client->max = -1; client->curr = -1; client->previous_curr = -1; if (!net_get_peer_name (client->session, &client->host, &client->port, &error)) { log_message(MSG_ERROR, "%s", error->message); g_error_free(error); } } else if (strcmp(line, "capability") == 0) { client->type = META_CLIENT; client_list_capability(client->session); } else { net_printf(client->session, "bad command\n"); net_close(client->session); } break; case META_SERVER: case META_SERVER_ALMOST: if (check_str_info(line, "host=", &client->host) || check_str_info(line, "port=", &client->port) || check_str_info(line, "version=", &client->version) || check_int_info(line, "max=", &client->max) || check_int_info(line, "curr=", &client->curr) || check_str_info(line, "terrain=", &client->terrain) || check_str_info(line, "title=", &client->title) || check_str_info(line, "vpoints=", &client->vpoints) || check_str_info(line, "sevenrule=", &client->sevenrule) /* meta-protocol 0.0 compat */ || check_str_info(line, "map=", &client->terrain) || check_str_info(line, "comment=", &client->title)) try_make_server_complete(client); else if (strcmp(line, "begin") == 0) net_close(client->session); break; } } static void log_about_closed_server(Client * client) { if (client->host != NULL && client->port != NULL) { if (net_get_connection_timed_out(client->session)) { log_message(MSG_INFO, "server %s on port %s did not respond, " "deregistering", client->host, client->port); } else { log_message(MSG_INFO, "server %s on port %s unregistered", client->host, client->port); } } } static void meta_event(Session * ses, NetEvent event, const gchar * line, gpointer user_data) { Client *client = (Client *) user_data; switch (event) { case NET_READ: /* there is data to be read */ client_process_line(client, line); break; case NET_CLOSE: /* connection has been closed */ if (client != NULL) { switch (client->type) { case META_UNKNOWN: case META_CLIENT: /* No logging required */ break; case META_SERVER_ALMOST: case META_SERVER: log_about_closed_server(client); break; } client_list = g_list_remove(client_list, client); client_free(client); } else { net_free(&ses); } break; case NET_CONNECT: if (redirect_location != NULL) { net_printf(ses, "goto %s\n", redirect_location); net_close(ses); } else { net_printf(ses, "welcome to the pioneers-metaserver " "version %s\n", META_PROTOCOL_VERSION); client = g_malloc0(sizeof(*client)); client->type = META_UNKNOWN; client->protocol_major = 0; client->protocol_minor = 0; client->session = ses; client_list = g_list_append(client_list, client); net_set_user_data(ses, client); net_set_check_connection_alive(ses, 30u); } break; case NET_CONNECT_FAIL: net_free(&ses); break; } } static void convert_to_daemon(void) { pid_t pid; pid = fork(); if (pid < 0) { log_message(MSG_ERROR, "could not fork: %s", g_strerror(errno)); exit(1); } if (pid != 0) { /* Write the pidfile if required. */ if (pidfile) { FILE *f = fopen(pidfile, "w"); if (!f) { fprintf(stderr, "Unable to open pidfile '%s': %s\n", pidfile, g_strerror(errno)); } else { int r = fprintf(f, "%d\n", pid); if (r <= 0) { fprintf(stderr, "Unable to write to pidfile " "'%s': %s\n", pidfile, g_strerror(errno)); } fclose(f); } } /* I am the parent, if I exit then init(8) will become * the parent of the child process */ exit(0); } /* Create a new session to become a process group leader */ if (setsid() < 0) { log_message(MSG_ERROR, "could not setsid: %s", g_strerror(errno)); exit(1); } if (chdir("/") < 0) { log_message(MSG_ERROR, "could not chdir to /: %s", g_strerror(errno)); exit(1); } umask(0); } static GOptionEntry commandline_entries[] = { {"daemon", 'd', 0, G_OPTION_ARG_NONE, &make_daemon, /* Commandline metaserver: daemon */ N_("Daemonize the metaserver on start"), NULL}, {"pidfile", 'P', 0, G_OPTION_ARG_STRING, &pidfile, /* Commandline metaserver: pidfile */ N_("Pidfile to create when daemonizing (implies -d)"), /* Commandline metaserver: pidfile argument */ N_("filename")}, {"redirect", 'r', 0, G_OPTION_ARG_STRING, &redirect_location, /* Commandline metaserver: redirect */ N_("Redirect clients to another metaserver"), NULL}, {"servername", 's', 0, G_OPTION_ARG_STRING, &myhostname, /* Commandline metaserver: server */ N_("Use this hostname when creating new games"), /* Commandline metaserver: server argument */ N_("hostname")}, {"port-range", 'p', 0, G_OPTION_ARG_STRING, &port_range, /* Commandline metaserver: port-range */ N_("Use this port range when creating new games"), /* Commandline metaserver: port-range argument */ N_("from-to")}, {"debug", '\0', 0, G_OPTION_ARG_NONE, &enable_debug, /* Commandline option of metaserver: enable debug logging */ N_("Enable debug messages"), NULL}, {"syslog-debug", '\0', 0, G_OPTION_ARG_NONE, &enable_syslog_debug, /* Commandline option of metaserver: syslog-debug */ N_("Debug syslog messages"), NULL}, {"version", '\0', 0, G_OPTION_ARG_NONE, &show_version, /* Commandline option of metaserver: version */ N_("Show version information"), NULL}, {NULL, '\0', 0, 0, NULL, NULL, NULL} }; static gboolean handle_break_quit_request(G_GNUC_UNUSED gpointer user_data) { g_main_loop_quit(event_loop); return FALSE; } static void handle_break_signal(G_GNUC_UNUSED int signal) { /* Cancelling the service is asynchronous, the event queue must be * processed before g_main_loop_quit can be called. */ net_service_free(service); service = NULL; g_idle_add(handle_break_quit_request, NULL); } int main(int argc, char *argv[]) { GOptionContext *context; GError *error = NULL; gchar *error_message; set_ui_driver(&Glib_Driver); g_type_init(); #ifdef ENABLE_NLS setlocale(LC_ALL, ""); bindtextdomain(PACKAGE, LOCALEDIR); textdomain(PACKAGE); /* have gettext return strings in UTF-8 */ bind_textdomain_codeset(PACKAGE, "UTF-8"); #endif /* Long description in the commandline for metaserver: help */ context = g_option_context_new(_("- Metaserver for Pioneers")); g_option_context_add_main_entries(context, commandline_entries, PACKAGE); g_option_context_parse(context, &argc, &argv, &error); g_option_context_free(context); if (error != NULL) { g_print("%s\n", error->message); g_error_free(error); return 1; }; if (show_version) { g_print(_("Pioneers version:")); g_print(" "); g_print(FULL_VERSION); g_print(", "); g_print(_("metaserver protocol:")); g_print(" "); g_print(META_PROTOCOL_VERSION); g_print("\n"); return 0; } log_set_func(log_to_syslog); set_enable_debug(enable_debug); if (port_range) { gint count; count = sscanf(port_range, "%d-%d", &port_low, &port_high); if ((count != 2) || (port_low < 0) || (port_low > port_high)) { g_print("Port range '%s' is not valid\n", port_range); return 1; } } net_init(); openlog("pioneers-metaserver", LOG_PID, LOG_USER); if (make_daemon || pidfile) convert_to_daemon(); can_create_games = FALSE; game_list_prepare(); if (!game_list_is_empty()) { gchar *server_name = g_find_program_in_path(get_server_path()); if (server_name) { can_create_games = TRUE; } g_free(server_name); } can_create_games = can_create_games && (port_range != NULL); if (!myhostname) myhostname = get_metaserver_name(FALSE); service = net_service_new(atoi(PIONEERS_DEFAULT_META_PORT), meta_event, NULL, &error_message); if (!service) { log_message(MSG_ERROR, "%s", error_message); g_free(error_message); return 1; } struct sigaction break_action; struct sigaction old_break_action; break_action.sa_handler = handle_break_signal; break_action.sa_flags = 0; sigemptyset(&break_action.sa_mask); sigaction(SIGINT, &break_action, &old_break_action); log_message(MSG_INFO, "Pioneers metaserver started."); event_loop = g_main_loop_new(NULL, FALSE); g_main_loop_run(event_loop); g_main_loop_unref(event_loop); sigaction(SIGINT, &old_break_action, NULL); g_free(pidfile); g_free(redirect_location); g_free(myhostname); g_free(port_range); net_service_free(service); game_list_cleanup(); net_finish(); return 0; } pioneers-15.5/compile0000755000175000017500000001624513252243604011600 00000000000000#! /bin/sh # Wrapper for compilers which do not understand '-c -o'. scriptversion=2012-10-14.11; # UTC # Copyright (C) 1999-2014 Free Software Foundation, Inc. # Written by Tom Tromey . # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # This file is maintained in Automake, please report # bugs to or send patches to # . nl=' ' # We need space, tab and new line, in precisely that order. Quoting is # there to prevent tools from complaining about whitespace usage. IFS=" "" $nl" file_conv= # func_file_conv build_file lazy # Convert a $build file to $host form and store it in $file # Currently only supports Windows hosts. If the determined conversion # type is listed in (the comma separated) LAZY, no conversion will # take place. func_file_conv () { file=$1 case $file in / | /[!/]*) # absolute file, and not a UNC file if test -z "$file_conv"; then # lazily determine how to convert abs files case `uname -s` in MINGW*) file_conv=mingw ;; CYGWIN*) file_conv=cygwin ;; *) file_conv=wine ;; esac fi case $file_conv/,$2, in *,$file_conv,*) ;; mingw/*) file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` ;; cygwin/*) file=`cygpath -m "$file" || echo "$file"` ;; wine/*) file=`winepath -w "$file" || echo "$file"` ;; esac ;; esac } # func_cl_dashL linkdir # Make cl look for libraries in LINKDIR func_cl_dashL () { func_file_conv "$1" if test -z "$lib_path"; then lib_path=$file else lib_path="$lib_path;$file" fi linker_opts="$linker_opts -LIBPATH:$file" } # func_cl_dashl library # Do a library search-path lookup for cl func_cl_dashl () { lib=$1 found=no save_IFS=$IFS IFS=';' for dir in $lib_path $LIB do IFS=$save_IFS if $shared && test -f "$dir/$lib.dll.lib"; then found=yes lib=$dir/$lib.dll.lib break fi if test -f "$dir/$lib.lib"; then found=yes lib=$dir/$lib.lib break fi if test -f "$dir/lib$lib.a"; then found=yes lib=$dir/lib$lib.a break fi done IFS=$save_IFS if test "$found" != yes; then lib=$lib.lib fi } # func_cl_wrapper cl arg... # Adjust compile command to suit cl func_cl_wrapper () { # Assume a capable shell lib_path= shared=: linker_opts= for arg do if test -n "$eat"; then eat= else case $1 in -o) # configure might choose to run compile as 'compile cc -o foo foo.c'. eat=1 case $2 in *.o | *.[oO][bB][jJ]) func_file_conv "$2" set x "$@" -Fo"$file" shift ;; *) func_file_conv "$2" set x "$@" -Fe"$file" shift ;; esac ;; -I) eat=1 func_file_conv "$2" mingw set x "$@" -I"$file" shift ;; -I*) func_file_conv "${1#-I}" mingw set x "$@" -I"$file" shift ;; -l) eat=1 func_cl_dashl "$2" set x "$@" "$lib" shift ;; -l*) func_cl_dashl "${1#-l}" set x "$@" "$lib" shift ;; -L) eat=1 func_cl_dashL "$2" ;; -L*) func_cl_dashL "${1#-L}" ;; -static) shared=false ;; -Wl,*) arg=${1#-Wl,} save_ifs="$IFS"; IFS=',' for flag in $arg; do IFS="$save_ifs" linker_opts="$linker_opts $flag" done IFS="$save_ifs" ;; -Xlinker) eat=1 linker_opts="$linker_opts $2" ;; -*) set x "$@" "$1" shift ;; *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) func_file_conv "$1" set x "$@" -Tp"$file" shift ;; *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) func_file_conv "$1" mingw set x "$@" "$file" shift ;; *) set x "$@" "$1" shift ;; esac fi shift done if test -n "$linker_opts"; then linker_opts="-link$linker_opts" fi exec "$@" $linker_opts exit 1 } eat= case $1 in '') echo "$0: No command. Try '$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: compile [--help] [--version] PROGRAM [ARGS] Wrapper for compilers which do not understand '-c -o'. Remove '-o dest.o' from ARGS, run PROGRAM with the remaining arguments, and rename the output as expected. If you are trying to build a whole package this is not the right script to run: please start by reading the file 'INSTALL'. Report bugs to . EOF exit $? ;; -v | --v*) echo "compile $scriptversion" exit $? ;; cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) func_cl_wrapper "$@" # Doesn't return... ;; esac ofile= cfile= for arg do if test -n "$eat"; then eat= else case $1 in -o) # configure might choose to run compile as 'compile cc -o foo foo.c'. # So we strip '-o arg' only if arg is an object. eat=1 case $2 in *.o | *.obj) ofile=$2 ;; *) set x "$@" -o "$2" shift ;; esac ;; *.c) cfile=$1 set x "$@" "$1" shift ;; *) set x "$@" "$1" shift ;; esac fi shift done if test -z "$ofile" || test -z "$cfile"; then # If no '-o' option was seen then we might have been invoked from a # pattern rule where we don't need one. That is ok -- this is a # normal compilation that the losing compiler can handle. If no # '.c' file was seen then we are probably linking. That is also # ok. exec "$@" fi # Name of file we expect compiler to create. cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` # Create the lock directory. # Note: use '[/\\:.-]' here to ensure that we don't use the same name # that we are using for the .o file. Also, base the name on the expected # object file name, since that is what matters with a parallel build. lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d while true; do if mkdir "$lockdir" >/dev/null 2>&1; then break fi sleep 1 done # FIXME: race condition here if user kills between mkdir and trap. trap "rmdir '$lockdir'; exit 1" 1 2 15 # Run the compile. "$@" ret=$? if test -f "$cofile"; then test "$cofile" = "$ofile" || mv "$cofile" "$ofile" elif test -f "${cofile}bj"; then test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" fi rmdir "$lockdir" exit $ret # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: pioneers-15.5/client/0000755000175000017500000000000013252243610011545 500000000000000pioneers-15.5/client/ai/0000755000175000017500000000000013252243610012136 500000000000000pioneers-15.5/client/ai/greedy.c0000644000175000017500000011203713252223516013510 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * Copyright (C) 2005,2010 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include "ai.h" #include "cost.h" #include #include /* * This is a rudimentary AI for Pioneers. * * What it does _NOT_ do: * * -Make roads explicitly to get the longest road card * -Initiate trade with other players * -Do anything seafarers * */ typedef struct resource_values_s { float value[NO_RESOURCE]; MaritimeInfo info; gint ports[NO_RESOURCE]; } resource_values_t; static int quote_num; /* things we can buy, in the order that we want them. */ typedef enum { BUY_CITY, BUY_SETTLEMENT, BUY_ROAD, BUY_DEVEL_CARD, BUY_LAST } BuyType; /* * Forward declarations */ static Edge *best_road_to_road_spot(Node * n, float *score, const resource_values_t * resval); static Edge *best_road_to_road(const resource_values_t * resval); static Edge *best_road_spot(const resource_values_t * resval); static Node *best_city_spot(const resource_values_t * resval); static Node *best_settlement_spot(gboolean during_setup, const resource_values_t * resval); static int places_can_build_settlement(void); static gint determine_monopoly_resource(void); /* * Functions to keep track of what nodes we've visited */ typedef struct node_seen_set_s { Node *seen[MAP_SIZE * MAP_SIZE]; int size; } node_seen_set_t; static void nodeset_reset(node_seen_set_t * set) { set->size = 0; } static void nodeset_set(node_seen_set_t * set, Node * n) { int i; for (i = 0; i < set->size; i++) if (set->seen[i] == n) return; set->seen[set->size] = n; set->size++; } static int nodeset_isset(node_seen_set_t * set, Node * n) { int i; for (i = 0; i < set->size; i++) if (set->seen[i] == n) return 1; return 0; } typedef void iterate_node_func_t(Node * n, void *rock); /* * Iterate over all the nodes on the map calling func() with 'rock' * */ static void for_each_node(iterate_node_func_t * func, void *rock) { Map *map; int i, j, k; map = callbacks.get_map(); for (i = 0; i < map->x_size; i++) { for (j = 0; j < map->y_size; j++) { for (k = 0; k < 6; k++) { Node *n = map_node(map, i, j, k); if (n) func(n, rock); } } } } /** Determine the required resources. * @param assets The resources that are available * @param cost The cost to buy something * @retval need The additional resources required to buy this * @return TRUE if the assets are enough */ static gboolean can_pay_for(const gint assets[NO_RESOURCE], const gint cost[NO_RESOURCE], gint need[NO_RESOURCE]) { gint i; gboolean have_enough; have_enough = TRUE; for (i = 0; i < NO_RESOURCE; i++) { if (assets[i] >= cost[i]) need[i] = 0; else { need[i] = cost[i] - assets[i]; have_enough = FALSE; } } return have_enough; } /* How much does this cost to build? */ static const gint *cost_of(BuyType bt) { switch (bt) { case BUY_CITY: return cost_upgrade_settlement(); case BUY_SETTLEMENT: return cost_settlement(); case BUY_ROAD: return cost_road(); case BUY_DEVEL_CARD: return cost_development(); default: g_assert(0); return NULL; } } /* * Do I have the resources to buy this, is it available, and do I want it? */ static gboolean should_buy(const gint assets[NO_RESOURCE], BuyType bt, const resource_values_t * resval, gint need[NO_RESOURCE]) { if (!can_pay_for(assets, cost_of(bt), need)) return FALSE; switch (bt) { case BUY_CITY: return (stock_num_cities() > 0 && best_city_spot(resval) != NULL); case BUY_SETTLEMENT: return (stock_num_settlements() > 0 && best_settlement_spot(FALSE, resval) != NULL); case BUY_ROAD: /* don't sprawl :) */ return (stock_num_roads() > 0 && places_can_build_settlement() <= 2 && (best_road_spot(resval) != NULL || best_road_to_road(resval) != NULL)); case BUY_DEVEL_CARD: return (stock_num_develop() > 0 && can_buy_develop()); default: /* xxx bridge, ship */ return FALSE; } } /* * If I buy this, what will I have left? Note that some values in need[] * can be negative if I can't afford it. */ static void leftover_resources(const gint assets[NO_RESOURCE], BuyType bt, gint need[NO_RESOURCE]) { gint i; const gint *cost = cost_of(bt); for (i = 0; i < NO_RESOURCE; i++) need[i] = assets[i] - cost[i]; } /* * Probability of a dice roll */ static float dice_prob(gint roll) { switch (roll) { case 2: case 12: return 3; case 3: case 11: return 6; case 4: case 10: return 8; case 5: case 9: return 11; case 6: case 8: return 14; default: return 0; } } /* * By default how valuable is this terrain? */ static float default_score_terrain(Terrain terrain) { float score; switch (terrain) { case GOLD_TERRAIN: /* gold */ score = 1.25f; break; case HILL_TERRAIN: /* brick */ score = 1.1f; break; case FIELD_TERRAIN: /* grain */ score = 1.0f; break; case MOUNTAIN_TERRAIN: /* rock */ score = 1.05f; break; case PASTURE_TERRAIN: /* sheep */ score = 1.0f; break; case FOREST_TERRAIN: /* wood */ score = 1.1f; break; case DESERT_TERRAIN: case SEA_TERRAIN: default: score = 0.0f; break; } return score; } /* For each node I own see how much i produce with it. keep a * tally with 'produce' */ static void reevaluate_iterator(Node * n, void *rock) { float *produce = (float *) rock; /* if i own this node */ if ((n) && (n->owner == my_player_num())) { int l; for (l = 0; l < 3; l++) { Hex *h = n->hexes[l]; float mult = 1.0; if (n->type == BUILD_CITY) mult = 2.0; if (h && h->terrain < DESERT_TERRAIN) { produce[h->terrain] += mult * default_score_terrain(h->terrain) * dice_prob(h->roll); } } } } /* * Reevaluate the value of all the resources to us */ static void reevaluate_resources(resource_values_t * outval) { float produce[NO_RESOURCE]; int i; for (i = 0; i < NO_RESOURCE; i++) { produce[i] = 0; } for_each_node(&reevaluate_iterator, (void *) produce); /* Now invert all the positive numbers and give any zeros a weight of 2 * */ for (i = 0; i < NO_RESOURCE; i++) { if (produce[i] == 0) { outval->value[i] = default_score_terrain(resource_to_terrain(i)); } else { outval->value[i] = 1.0f / produce[i]; } } /* * Save the maritime info too so we know if we can do port trades */ map_maritime_info(callbacks.get_map(), &outval->info, my_player_num()); for (i = 0; i < NO_RESOURCE; i++) { if (outval->info.specific_resource[i]) outval->ports[i] = 2; else if (outval->info.any_resource) outval->ports[i] = 3; else outval->ports[i] = 4; } } /* * */ static float resource_value(Resource resource, const resource_values_t * resval) { if (resource < NO_RESOURCE) return resval->value[resource]; else if (resource == GOLD_RESOURCE) return default_score_terrain(GOLD_TERRAIN); else return 0.0; } /* * How valuable is this hex to me? */ static float score_hex(Hex * hex, const resource_values_t * resval) { float score; if (hex == NULL) return 0; /* multiple resource value by dice probability */ score = resource_value(terrain_to_resource(hex->terrain), resval) * dice_prob(hex->roll); /* if we don't have a 3 for 1 port yet and this is one it's valuable! */ if (!resval->info.any_resource) { if (hex->resource == ANY_RESOURCE) score += 0.5f; } return score; } /* * How valuable is this hex to others */ static float default_score_hex(Hex * hex) { float score; if (hex == NULL) return 0; /* multiple resource value by dice probability */ score = default_score_terrain(hex->terrain) * dice_prob(hex->roll); return score; } /* * Give a numerical score to how valuable putting a settlement/city on this spot is * */ static float score_node(const Node * node, gboolean city, const resource_values_t * resval) { int i; float score = 0; /* if not a node, how did this happen? */ g_assert(node != NULL); /* if already occupied, in water, or too close to others give a score of -1 */ if (is_node_on_land(node) == FALSE) return -1; if (is_node_spacing_ok(node) == FALSE) return -1; if (!city) { if (node->owner != -1) return -1; } for (i = 0; i < 3; i++) { score += score_hex(node->hexes[i], resval); } return score; } /* * Road connects here */ static int road_connects(Node * n) { int i; if (n == NULL) return 0; for (i = 0; i < 3; i++) { Edge *e = n->edges[i]; if ((e) && (e->owner == my_player_num())) return 1; } return 0; } /** Find the best spot for a settlement * @param during_setup Build a settlement during the setup phase? * During setup: no connected road is required, * and the no_setup must be taken into account * Normal play: settlement must be next to a road we own. */ static Node *best_settlement_spot(gboolean during_setup, const resource_values_t * resval) { int i, j, k; Node *best = NULL; float bestscore = -1.0; float score; Map *map = callbacks.get_map(); for (i = 0; i < map->x_size; i++) { for (j = 0; j < map->y_size; j++) { for (k = 0; k < 6; k++) { Node *n = map_node(map, i, j, k); if (!n) continue; if (during_setup) { if (n->no_setup) continue; } else { if (!road_connects(n)) continue; } score = score_node(n, FALSE, resval); if (score > bestscore) { best = n; bestscore = score; } } } } return best; } /* * What is the best settlement to upgrade to a city? * */ static Node *best_city_spot(const resource_values_t * resval) { int i, j, k; Node *best = NULL; float bestscore = -1.0; Map *map = callbacks.get_map(); for (i = 0; i < map->x_size; i++) { for (j = 0; j < map->y_size; j++) { for (k = 0; k < 6; k++) { Node *n = map_node(map, i, j, k); if (!n) continue; if ((n->owner == my_player_num()) && (n->type == BUILD_SETTLEMENT)) { float score = score_node(n, TRUE, resval); if (score > bestscore) { best = n; bestscore = score; } } } } } return best; } /* * Return the opposite end of this node, edge * */ static Node *other_node(Edge * e, Node * n) { if (e->nodes[0] == n) return e->nodes[1]; else return e->nodes[0]; } /* * * */ static Edge *traverse_out(Node * n, node_seen_set_t * set, float *score, const resource_values_t * resval) { float bscore = 0.0; Edge *best = NULL; int i; /* mark this node as seen */ nodeset_set(set, n); for (i = 0; i < 3; i++) { Edge *e = n->edges[i]; Edge *cur_e = NULL; Node *othernode; float cur_score; if (!e) continue; othernode = other_node(e, n); g_assert(othernode != NULL); /* if our road traverse it */ if (e->owner == my_player_num()) { if (!nodeset_isset(set, othernode)) cur_e = traverse_out(othernode, set, &cur_score, resval); } else if (can_road_be_built(e, my_player_num())) { /* no owner, how good is the other node ? */ cur_e = e; cur_score = score_node(othernode, FALSE, resval); /* umm.. can we build here? */ /*if (!can_settlement_be_built(othernode, my_player_num ())) cur_e = NULL; */ } /* is this the best edge we've seen? */ if ((cur_e != NULL) && (cur_score > bscore)) { best = cur_e; bscore = cur_score; } } *score = bscore; return best; } /* * Best road to a road * */ static Edge *best_road_to_road_spot(Node * n, float *score, const resource_values_t * resval) { float bscore = -1.0; Edge *best = NULL; int i, j; for (i = 0; i < 3; i++) { Edge *e = n->edges[i]; if (e) { Node *othernode = other_node(e, n); if (can_road_be_built(e, my_player_num())) { for (j = 0; j < 3; j++) { Edge *e2 = othernode->edges[j]; if (e2 == NULL) continue; /* We need to look further, temporarily mark this edge as having our road on it. */ e->owner = my_player_num(); e->type = BUILD_ROAD; if (can_road_be_built (e2, my_player_num())) { float nscore = score_node(other_node (e2, othernode), FALSE, resval); if (nscore > bscore) { bscore = nscore; best = e; } } /* restore map to its real state */ e->owner = -1; e->type = BUILD_NONE; } } } } *score = bscore; return best; } /* * Best road to road on whole map * */ static Edge *best_road_to_road(const resource_values_t * resval) { int i, j, k; Edge *best = NULL; float bestscore = -1.0; Map *map = callbacks.get_map(); for (i = 0; i < map->x_size; i++) { for (j = 0; j < map->y_size; j++) { for (k = 0; k < 6; k++) { Node *n = map_node(map, i, j, k); Edge *e; float score; if ((n) && (n->owner == my_player_num())) { e = best_road_to_road_spot(n, &score, resval); if (score > bestscore) { best = e; bestscore = score; } } } } } return best; } /* * Best road spot * */ static Edge *best_road_spot(const resource_values_t * resval) { int i, j, k; Edge *best = NULL; float bestscore = -1.0; node_seen_set_t nodeseen; Map *map = callbacks.get_map(); /* * For every node that we're the owner of traverse out to find the best * node we're one road away from and build that road * * * xxx loops */ for (i = 0; i < map->x_size; i++) { for (j = 0; j < map->y_size; j++) { for (k = 0; k < 6; k++) { Node *n = map_node(map, i, j, k); if ((n != NULL) && (n->owner == my_player_num())) { float score = -1.0; Edge *e; nodeset_reset(&nodeseen); e = traverse_out(n, &nodeseen, &score, resval); if (score > bestscore) { best = e; bestscore = score; } } } } } return best; } /* * Any road at all that's valid for us to build */ static void rand_road_iterator(Node * n, void *rock) { int i; Edge **out = (Edge **) rock; if (n == NULL) return; for (i = 0; i < 3; i++) { Edge *e = n->edges[i]; if ((e) && (can_road_be_built(e, my_player_num()))) *out = e; } } /* * Find any road we can legally build * */ static Edge *find_random_road(void) { Edge *e = NULL; for_each_node(&rand_road_iterator, &e); return e; } static void places_can_build_iterator(Node * n, void *rock) { int *count = (int *) rock; if (can_settlement_be_built(n, my_player_num())) (*count)++; } static int places_can_build_settlement(void) { int count = 0; for_each_node(&places_can_build_iterator, (void *) &count); return count; } /* * How many resource cards does player have? * */ static int num_assets(gint assets[NO_RESOURCE]) { int i; int count = 0; for (i = 0; i < NO_RESOURCE; i++) { count += assets[i]; } return count; } static int player_get_num_resource(int player) { return player_get(player)->statistics[STAT_RESOURCES]; } /* * Does this resource list contain one element? If so return it * otherwise return NO_RESOURCE */ static int which_one(gint assets[NO_RESOURCE]) { int i; int res = NO_RESOURCE; int tot = 0; for (i = 0; i < NO_RESOURCE; i++) { if (assets[i] > 0) { tot += assets[i]; res = i; } } if (tot == 1) return res; return NO_RESOURCE; } /* * Does this resource list contain just one kind of element? If so return it * otherwise return NO_RESOURCE */ static int which_resource(gint assets[NO_RESOURCE]) { int i; int res = NO_RESOURCE; int n_nonzero = 0; for (i = 0; i < NO_RESOURCE; i++) { if (assets[i] > 0) { n_nonzero++; res = i; } } if (n_nonzero == 1) return res; return NO_RESOURCE; } /* * What resource do we want the most? * * NOTE: If a resource is not available (players or bank), the * resval->value[resource] should be zero. */ static int resource_desire(gint assets[NO_RESOURCE], const resource_values_t * resval) { int i; BuyType bt; int res = NO_RESOURCE; float value = 0.0; gint need[NO_RESOURCE]; /* do i need just 1 more for something? */ for (bt = 0; bt < BUY_LAST; bt++) { if (should_buy(assets, bt, resval, need)) continue; res = which_one(need); if (res == NO_RESOURCE || resval->value[res] == 0) continue; return res; } /* desire the one we don't produce the most */ res = NO_RESOURCE; for (i = 0; i < NO_RESOURCE; i++) { if ((resval->value[i] > value) && (assets[i] < 2)) { res = i; value = resval->value[i]; } } return res; } static void findit_iterator(Node * n, void *rock) { Node **node = (Node **) rock; int i; if (!n) return; if (n->owner != my_player_num()) return; /* if i own this node */ for (i = 0; i < 3; i++) { if (n->edges[i] == NULL) continue; if (n->edges[i]->owner == my_player_num()) return; } *node = n; } /* Find the settlement with no roads yet * */ static Node *void_settlement(void) { Node *ret = NULL; for_each_node(&findit_iterator, (void *) &ret); return ret; } /* * Game setup * Build one house and one road */ static void greedy_setup_house(void) { Node *node; resource_values_t resval; reevaluate_resources(&resval); if (stock_num_settlements() == 0) { ai_panic(N_("No settlements in stock to use for setup")); return; } node = best_settlement_spot(TRUE, &resval); if (node == NULL) { ai_panic(N_("There is no place to setup a settlement")); return; } /*node_add(player, BUILD_SETTLEMENT, node->x, node->y, node->pos, FALSE); */ cb_build_settlement(node); } /* * Game setup * Build one house and one road */ static void greedy_setup_road(void) { Node *node; Edge *e = NULL; guint i; resource_values_t resval; float tmp; reevaluate_resources(&resval); if (stock_num_roads() == 0) { ai_panic(N_("No roads in stock to use for setup")); return; } node = void_settlement(); e = best_road_to_road_spot(node, &tmp, &resval); /* if didn't find one just pick one randomly */ if (e == NULL) { for (i = 0; i < G_N_ELEMENTS(node->edges); i++) { if (is_edge_on_land(node->edges[i])) { e = node->edges[i]; break; } } if (e == NULL) { ai_panic(N_("There is no place to setup a road")); return; } } cb_build_road(e); } /* * Determine if there are any trades that I can do which will give me * enough to buy something. */ static gboolean find_optimal_trade(gint assets[NO_RESOURCE], const resource_values_t * resval, gint * amount, Resource * trade_away, Resource * want_resource) { Resource res = NO_RESOURCE; Resource temp; gint need[NO_RESOURCE]; BuyType bt; for (bt = 0; bt < BUY_LAST; bt++) { /* If we should buy something, why haven't we bought it? */ if (should_buy(assets, bt, resval, need)) continue; /* See what we need, and if we can get it. */ res = which_one(need); if (res == NO_RESOURCE || get_bank()[res] == 0) continue; /* See what we have left after we buy this (one value * will be negative), and whether we have enough of something * to trade for what's missing. */ leftover_resources(assets, bt, need); for (temp = 0; temp < NO_RESOURCE; temp++) { if (temp == res) continue; if (need[temp] > resval->ports[temp]) { *amount = resval->ports[temp]; *trade_away = temp; *want_resource = res; return TRUE; } } } return FALSE; } /** I am allowed to do a maritime trade, but will I do it? * @param assets The resources I already have * @param resval The value of the resources * @retval amount The amount to trade * @retval trade_away The resource to trade away * @retval want_resource The resource I want to have * @return TRUE if I want to do the trade */ static gboolean will_do_maritime_trade(gint assets[NO_RESOURCE], const resource_values_t * resval, gint * amount, Resource * trade_away, Resource * want_resource) { Resource res, want, discard; /* See if we can trade at all. */ for (res = 0; res < NO_RESOURCE; res++) { if (assets[res] >= resval->ports[res]) break; } if (res == NO_RESOURCE) return FALSE; /* See if we can do a single trade that allows us to buy something. */ if (find_optimal_trade(assets, resval, amount, trade_away, want_resource)) return TRUE; /* * We can trade, but we won't be able to buy anything. * * Try a simple heuristic - if there's a resource we can trade away * and still have at least 1 left, and we need something (and we can * get it), do the trade. Try to use the best port for this. */ want = resource_desire(assets, resval); if (want == NO_RESOURCE || get_bank()[want] == 0) return FALSE; discard = NO_RESOURCE; for (res = 0; res < NO_RESOURCE; res++) { if (res == want) continue; if (assets[res] > resval->ports[res] && (discard == NO_RESOURCE || resval->ports[discard] > resval->ports[res])) discard = res; } if (discard != NO_RESOURCE) { *trade_away = discard; *want_resource = want; *amount = resval->ports[discard]; return TRUE; } return FALSE; } /** I can play the card, but will I do it? * @param cardtype The type of card to consider * @return TRUE if the card is to be played */ static gboolean will_play_development_card(DevelType cardtype) { gint amount, i; if (is_victory_card(cardtype)) { return TRUE; } switch (cardtype) { case DEVEL_SOLDIER: return TRUE; case DEVEL_YEAR_OF_PLENTY: /* only when the bank is full enough */ amount = 0; for (i = 0; i < NO_RESOURCE; i++) amount += get_bank()[i]; if (amount >= 2) { return TRUE; } break; case DEVEL_ROAD_BUILDING: /* don't if don't have two roads left */ if (stock_num_roads() < 2) break; return TRUE; case DEVEL_MONOPOLY: return determine_monopoly_resource() != NO_RESOURCE; default: break; } return FALSE; } /* * What to do? what to do? * */ static void greedy_turn(void) { resource_values_t resval; guint i; gint need[NO_RESOURCE], assets[NO_RESOURCE]; /* play soldier card before the turn when an own resource is blocked */ Hex *hex = map_robber_hex(callbacks.get_map()); if (hex && !have_rolled_dice() && can_play_any_develop()) { const Deck *deck = get_devel_deck(); for (i = 0; i < deck_count(deck); i++) { DevelType cardtype = deck_get_guint(deck, i); if (cardtype == DEVEL_SOLDIER && can_play_develop(i)) { int j; for (j = 0; j < 6; j++) { if (hex->nodes[j]->owner == my_player_num()) { cb_play_develop(i); return; } } } } } if (!have_rolled_dice()) { cb_roll(); return; } /* Don't wait before the dice roll, that will take too long */ ai_wait(); for (i = 0; i < NO_RESOURCE; ++i) assets[i] = resource_asset(i); reevaluate_resources(&resval); /* if can then buy city */ if (should_buy(assets, BUY_CITY, &resval, need)) { Node *n = best_city_spot(&resval); if (n != NULL) { cb_build_city(n); return; } } /* if can then buy settlement */ if (should_buy(assets, BUY_SETTLEMENT, &resval, need)) { Node *n = best_settlement_spot(FALSE, &resval); if (n != NULL) { cb_build_settlement(n); return; } } if (should_buy(assets, BUY_ROAD, &resval, need)) { Edge *e = best_road_spot(&resval); if (e == NULL) { e = best_road_to_road(&resval); } if (e != NULL) { cb_build_road(e); return; } } /* if we can buy a development card and there are some left */ if (should_buy(assets, BUY_DEVEL_CARD, &resval, need)) { cb_buy_develop(); return; } /* if we have a lot of cards see if we can trade anything */ if (num_assets(assets) >= 3) { if (can_trade_maritime()) { gint amount; Resource trade_away, want_resource; if (will_do_maritime_trade (assets, &resval, &amount, &trade_away, &want_resource)) { cb_maritime(amount, trade_away, want_resource); return; } } } /* play development cards */ if (can_play_any_develop()) { const Deck *deck = get_devel_deck(); gint num_victory_cards = 0; gint victory_point_target, my_points; for (i = 0; i < deck_count(deck); i++) { DevelType cardtype = deck_get_guint(deck, i); /* if it's a vp card, note this for later */ if (is_victory_card(cardtype)) { num_victory_cards++; continue; } /* can't play card we just bought */ if (can_play_develop(i)) { if (will_play_development_card(cardtype)) { cb_play_develop(i); return; } } } /* if we have enough victory cards to win, then play them */ victory_point_target = game_victory_points(); my_points = player_get_score(my_player_num()); if (num_victory_cards + my_points >= victory_point_target) { for (i = 0; i < deck_count(deck); i++) { DevelType cardtype = deck_get_guint(deck, i); if (is_victory_card(cardtype)) { cb_play_develop(i); return; } } } } cb_end_turn(); } static float score_node_hurt_opponents(Node * node) { /* no building there */ if (node->owner == -1) return 0; /* do I have a house there? */ if (my_player_num() == node->owner) { if (node->type == BUILD_SETTLEMENT) { return -2.0; } else { return -3.5; } } /* opponent has house there */ if (node->type == BUILD_SETTLEMENT) { return 1.5; } else { return 2.5; } } /* * How much does putting the robber here hurt my opponents? */ static float score_hex_hurt_opponents(Hex * hex) { int i; float score = 0; if (hex == NULL) return -1000; /* don't move the pirate. */ if (!can_robber_or_pirate_be_moved(hex) || hex->terrain == SEA_TERRAIN) return -1000; for (i = 0; i < 6; i++) { score += score_node_hurt_opponents(hex->nodes[i]); } /* multiply by resource/roll value */ score *= default_score_hex(hex); return score; } /* * Find the best (worst for opponents) place to put the robber * */ static void greedy_place_robber(void) { int i, j; float bestscore = -1000; Hex *besthex = NULL; Map *map = callbacks.get_map(); ai_wait(); for (i = 0; i < map->x_size; i++) { for (j = 0; j < map->y_size; j++) { Hex *hex = map_hex(map, i, j); float score = score_hex_hurt_opponents(hex); if (score > bestscore) { bestscore = score; besthex = hex; } } } cb_place_robber(besthex); } static void greedy_steal_building(void) { int i; int victim = -1; int victim_resources = -1; Hex *hex = map_robber_hex(callbacks.get_map()); /* which opponent to steal from */ for (i = 0; i < 6; i++) { int numres = 0; /* if has owner (and isn't me) */ if ((hex->nodes[i]->owner != -1) && (hex->nodes[i]->owner != my_player_num())) { numres = player_get_num_resource(hex->nodes[i]->owner); } if (numres > victim_resources) { victim = hex->nodes[i]->owner; victim_resources = numres; } } cb_rob(victim); ai_chat_self_moved_robber(); } /* * A devel card game us two free roads. let's build them * */ static void greedy_free_road(void) { Edge *e; resource_values_t resval; reevaluate_resources(&resval); e = best_road_spot(&resval); if (e == NULL) { e = best_road_to_road(&resval); } if (e == NULL) { e = find_random_road(); } if (e != NULL) { cb_build_road(e); return; } else { log_message(MSG_ERROR, "unable to find spot to build free road\n"); cb_disconnect(); } } /* * We played a year of plenty card. pick the two resources we most need */ static void greedy_year_of_plenty(const gint bank[NO_RESOURCE]) { gint want[NO_RESOURCE]; gint assets[NO_RESOURCE]; int i; int r1, r2; resource_values_t resval; ai_wait(); for (i = 0; i < NO_RESOURCE; i++) { want[i] = 0; assets[i] = resource_asset(i); } /* what two resources do we desire most */ reevaluate_resources(&resval); r1 = resource_desire(assets, &resval); /* If we don't desire anything anymore, ask for a road. * This happens if we have at least 2 of each resource */ if (r1 == NO_RESOURCE) r1 = BRICK_RESOURCE; assets[r1]++; reevaluate_resources(&resval); r2 = resource_desire(assets, &resval); if (r2 == NO_RESOURCE) r2 = LUMBER_RESOURCE; assets[r1]--; /* If we want something that is not in the bank, request something else */ /* WARNING: This code can cause a lockup if the bank is empty, but * then the year of plenty must not have been playable */ while (bank[r1] < 1) r1 = (r1 + 1) % NO_RESOURCE; while (bank[r2] < (r1 == r2 ? 2 : 1)) r2 = (r2 + 1) % NO_RESOURCE; want[r1]++; want[r2]++; cb_choose_plenty(want); } /* * We played a monopoly card. Pick a resource */ static gint other_players_have(Resource res) { return game_resources() - get_bank()[res] - resource_asset(res); } static float monopoly_wildcard_value(const resource_values_t * resval, const gint assets[NO_RESOURCE], gint resource) { return (float) (other_players_have(resource) + assets[resource]) / resval->ports[resource]; } /** Determine the best resource to get with a monopoly card. * @return the resource */ static gint determine_monopoly_resource(void) { gint assets[NO_RESOURCE]; int i; gint most_desired; gint most_wildcards; resource_values_t resval; for (i = 0; i < NO_RESOURCE; i++) assets[i] = resource_asset(i); /* order resources by preference */ reevaluate_resources(&resval); /* try to get something we need */ most_desired = resource_desire(assets, &resval); /* try to get the optimal maritime trade. */ most_wildcards = 0; for (i = 1; i < NO_RESOURCE; i++) { if (monopoly_wildcard_value(&resval, assets, i) > monopoly_wildcard_value(&resval, assets, most_wildcards)) most_wildcards = i; } /* choose the best */ if (most_desired != NO_RESOURCE && other_players_have(most_desired) > monopoly_wildcard_value(&resval, assets, most_wildcards)) { return most_desired; } else if (monopoly_wildcard_value(&resval, assets, most_wildcards) >= 1.0) { return most_wildcards; } else { return NO_RESOURCE; } } static void greedy_monopoly(void) { ai_wait(); cb_choose_monopoly(determine_monopoly_resource()); } /* * Of these resources which is least valuable to us * * Get rid of the one we have the most of * if there's a tie let resource_values_t settle it */ static int least_valuable(gint assets[NO_RESOURCE], const resource_values_t * resval) { int ret = NO_RESOURCE; int res; int most = 0; float mostval = -1; for (res = 0; res < NO_RESOURCE; res++) { if (assets[res] > most) { if (resval->value[res] > mostval) { ret = res; most = assets[res]; mostval = resval->value[res]; } } } return ret; } /* * Which resource do we desire the least? */ static int resource_desire_least(gint my_assets[NO_RESOURCE], const resource_values_t * resval) { BuyType bt; int res; gint assets[NO_RESOURCE]; gint need[NO_RESOURCE]; int leastval; /* make copy of what we got */ for (res = 0; res != NO_RESOURCE; res++) { assets[res] = my_assets[res]; } /* eliminate things we need to build stuff */ for (bt = 0; bt < BUY_LAST; bt++) { if (should_buy(assets, bt, resval, need)) { cost_buy(cost_of(bt), assets); } } /* of what's left what do do we care for least */ leastval = least_valuable(assets, resval); if (leastval != NO_RESOURCE) return leastval; /* otherwise least valuable of what we have in total */ leastval = least_valuable(my_assets, resval); if (leastval != NO_RESOURCE) return leastval; /* last resort just pick something */ for (res = 0; res < NO_RESOURCE; res++) { if (my_assets[res] > 0) return res; } /* Should never get here */ g_assert_not_reached(); return 0; } /* * A seven was rolled. we need to discard some resources :( * */ static void greedy_discard(int num) { int res; gint todiscard[NO_RESOURCE]; int i; resource_values_t resval; gint assets[NO_RESOURCE]; /* zero out */ for (res = 0; res != NO_RESOURCE; res++) { todiscard[res] = 0; assets[res] = resource_asset(res); } for (i = 0; i < num; i++) { reevaluate_resources(&resval); res = resource_desire_least(assets, &resval); todiscard[res]++; assets[res]--; } cb_discard(todiscard); } /* * Domestic Trade * */ static int quote_next_num(void) { return quote_num++; } static void greedy_quote_start(void) { quote_num = 0; } static int trade_desired(gint assets[NO_RESOURCE], gint give, gint take, gboolean free_offer) { int i, n; int res = NO_RESOURCE; resource_values_t resval; float value = 0.0; gint need[NO_RESOURCE]; if (!free_offer) { /* don't give away cards we have only once */ if (assets[give] <= 1) { return 0; } /* make it as if we don't have what we're trading away */ assets[give] -= 1; } reevaluate_resources(&resval); for (n = 1; n <= 3; ++n) { /* do i need something more for something? */ if (!should_buy(assets, BUY_CITY, &resval, need)) { if ((res = which_resource(need)) == take && need[res] == n) break; } if (!should_buy(assets, BUY_SETTLEMENT, &resval, need)) { if ((res = which_resource(need)) == take && need[res] == n) break; } if (!should_buy(assets, BUY_ROAD, &resval, need)) { if ((res = which_resource(need)) == take && need[res] == n) break; } if (!should_buy(assets, BUY_DEVEL_CARD, &resval, need)) { if ((res = which_resource(need)) == take && need[res] == n) break; } } if (!free_offer) assets[give] += 1; if (n <= 3) return n; /* desire the one we don't produce the most */ for (i = 0; i < NO_RESOURCE; i++) { if ((resval.value[i] > value) && (assets[i] < 2)) { res = i; value = resval.value[i]; } } if (res == take && assets[give] > 2) { return 1; } return 0; } static void greedy_consider_quote(G_GNUC_UNUSED gint partner, gint we_receive[NO_RESOURCE], gint we_supply[NO_RESOURCE]) { gint give, take, ntake; gint give_res[NO_RESOURCE], take_res[NO_RESOURCE], my_assets[NO_RESOURCE]; gint i; gboolean free_offer; free_offer = TRUE; for (i = 0; i < NO_RESOURCE; ++i) { my_assets[i] = resource_asset(i); free_offer &= we_supply[i] == 0; } for (give = 0; give < NO_RESOURCE; give++) { /* A free offer is always accepted */ if (!free_offer) { if (we_supply[give] == 0) continue; if (my_assets[give] == 0) continue; } for (take = 0; take < NO_RESOURCE; take++) { /* Don't do stupid offers */ if (!free_offer && take == give) continue; if (we_receive[take] == 0) continue; if ((ntake = trade_desired(my_assets, give, take, free_offer)) > 0) goto doquote; } } /* Do not decline anything for free, just take it all */ if (free_offer) { cb_quote(quote_next_num(), we_supply, we_receive); log_message(MSG_INFO, "Taking the whole free offer.\n"); return; } log_message(MSG_INFO, _("Rejecting trade.\n")); cb_end_quote(); return; doquote: for (i = 0; i < NO_RESOURCE; ++i) { give_res[i] = (give == i && !free_offer) ? 1 : 0; take_res[i] = take == i ? ntake : 0; } cb_quote(quote_next_num(), give_res, take_res); log_message(MSG_INFO, "Quoting.\n"); } static void greedy_setup(gint num_settlements, gint num_roads) { ai_wait(); if (num_settlements > 0) greedy_setup_house(); else if (num_roads > 0) greedy_setup_road(); else cb_end_turn(); } static void greedy_roadbuilding(gint num_roads) { ai_wait(); if (num_roads > 0) greedy_free_road(); else cb_end_turn(); } static void greedy_discard_add(gint player_num, gint discard_num) { ai_chat_discard(player_num, discard_num); if (player_num == my_player_num()) { ai_wait(); greedy_discard(discard_num); } } static void greedy_gold_choose(gint gold_num, const gint * bank) { resource_values_t resval; gint assets[NO_RESOURCE]; gint want[NO_RESOURCE]; gint my_bank[NO_RESOURCE]; gint i; int r1; for (i = 0; i < NO_RESOURCE; i++) { want[i] = 0; assets[i] = resource_asset(i); my_bank[i] = bank[i]; } for (i = 0; i < gold_num; i++) { gint j; reevaluate_resources(&resval); /* If the bank has been emptied, don't desire it */ for (j = 0; j < NO_RESOURCE; j++) { if (my_bank[j] == 0) { resval.value[j] = 0; } } r1 = resource_desire(assets, &resval); /* If we don't want anything, start emptying the bank */ if (r1 == NO_RESOURCE) { r1 = 0; /* Potential deadlock, but bank is always full enough */ while (my_bank[r1] == 0) r1++; } want[r1]++; assets[r1]++; my_bank[r1]--; } cb_choose_gold(want); } void greedy_init(void) { callbacks.setup = &greedy_setup; callbacks.turn = &greedy_turn; callbacks.robber = &greedy_place_robber; callbacks.steal_building = &greedy_steal_building; callbacks.roadbuilding = &greedy_roadbuilding; callbacks.plenty = &greedy_year_of_plenty; callbacks.monopoly = &greedy_monopoly; callbacks.discard_add = &greedy_discard_add; callbacks.quote_start = &greedy_quote_start; callbacks.quote = &greedy_consider_quote; callbacks.gold_choose = &greedy_gold_choose; } pioneers-15.5/client/ai/Makefile.am0000644000175000017500000000254112532441753014124 00000000000000# Pioneers - Implementation of the excellent Settlers of Catan board game. # Go buy a copy. # # Copyright (C) 1999 Dave Cole # Copyright (C) 2003, 2006 Bas Wijnen # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA bin_PROGRAMS += pioneersai pioneersai_CPPFLAGS = -I$(top_srcdir)/client -I$(top_srcdir)/client/common $(console_cflags) $(GOBJECT2_CFLAGS) -DINTEGRATE_GENETIC_ALGORITHM pioneersai_SOURCES = \ client/callback.h \ client/ai/ai.h \ client/ai/ai.c \ client/ai/genetic.c \ client/ai/genetic_core.h \ client/ai/genetic_core.c \ client/ai/greedy.c \ client/ai/lobbybot.c pioneersai_LDADD = libpioneersclient.a $(console_libs) $(GOBJECT2_LIBS) config_DATA += \ client/ai/computer_names pioneers-15.5/client/ai/lobbybot.c0000644000175000017500000001153413252242740014045 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 2006 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include "ai.h" #include "cost.h" #include #include /* * This is a chatty AI for Pioneers. * * It is intended to populate the lobby and to give help to new players. * When used in other games, it will leave the game when it starts. */ static GHashTable *players = NULL; static gboolean chatting = FALSE; struct _PlayerInfo { /** Name of the player */ gchar *name; }; typedef struct _PlayerInfo PlayerInfo; static PlayerInfo *player_info_new(const gchar * name) { PlayerInfo *object = g_malloc(sizeof(PlayerInfo)); object->name = g_strdup(name); return object; } static void player_info_free(PlayerInfo * player_info) { g_return_if_fail(player_info != NULL); g_free(player_info->name); g_free(player_info); } static void player_info_set_name(PlayerInfo * player_info, const gchar * name) { g_return_if_fail(player_info != NULL); if (player_info->name != NULL) g_free(player_info->name); player_info->name = g_strdup(name); } static void lobbybot_player_name_changed(gint player_num, const gchar * name) { PlayerInfo *info = g_hash_table_lookup(players, GINT_TO_POINTER(player_num)); if (info) { player_info_set_name(info, name); } else { info = player_info_new(name); g_hash_table_insert(players, GINT_TO_POINTER(player_num), info); if (my_player_num() != player_num && chatting) /* Translators: don't translate '/help' */ ai_chat(N_("Hello, welcome to the lobby. I am a " "simple robot. Type '/help' in the chat " "to see the list of commands I know.")); } } static void lobbybot_player_quit(gint player_num) { gboolean did_remove = g_hash_table_remove(players, GINT_TO_POINTER(player_num)); g_return_if_fail(did_remove); } static void lobbybot_chat_parser(gint player_num, const gchar * chat) { PlayerInfo *info; if (player_num == my_player_num()) { /* Don't log own responses */ return; } info = g_hash_table_lookup(players, GINT_TO_POINTER(player_num)); g_assert(info != NULL); if (!strncmp(chat, "/help", 5)) { /* Translators: don't translate '/help' */ ai_chat(N_("'/help' shows this message again")); /* Translators: don't translate '/why' */ ai_chat(N_("'/why' explains the purpose of this strange " "board layout")); /* Translators: don't translate '/news' */ ai_chat(N_("'/news' tells the last released version")); return; } if (!strncmp(chat, "/why", 4)) { /* AI chat that explains '/why' */ ai_chat(N_("This board is not intended to be a game that " "can be played. Instead, players can find " "eachother here, and decide which board they " "want to play. Then, one of the players will " "host the proposed game by starting a server, " "and registers it at the metaserver. The other " "players can subsequently disconnect from the " "lobby, and enter that game.")); return; } if (!strncmp(chat, "/news", 5)) { ai_chat(N_("The last released version of Pioneers is")); /* Update this string when releasing a new version */ ai_chat("15.5"); return; } } static void hash_data_free(gpointer data) { player_info_free((PlayerInfo *) data); } static void lobbybot_turn(G_GNUC_UNUSED gint player_num) { ai_chat( /* The lobbybot leaves when a game is starting */ N_("" "The game is starting. I'm not needed anymore. Goodbye.")); cb_disconnect(); } static void lobbybot_start_game(void) { /* The rules are known, enable chat */ chatting = TRUE; } void lobbybot_init(void) { g_assert(players == NULL); players = g_hash_table_new_full(g_direct_hash, g_direct_equal, NULL, hash_data_free); /* Don't chat before the rules are known */ chatting = FALSE; callbacks.spectator_name = &lobbybot_player_name_changed; callbacks.player_name = &lobbybot_player_name_changed; callbacks.spectator_quit = &lobbybot_player_quit; callbacks.player_quit = &lobbybot_player_quit; callbacks.incoming_chat = &lobbybot_chat_parser; callbacks.player_turn = &lobbybot_turn; callbacks.start_game = &lobbybot_start_game; } pioneers-15.5/client/ai/computer_names0000644000175000017500000000046110650727022015026 00000000000000Computer Dude Napoleon Gorbachev Bob Dole Abraham Lincoln Joan of Arc Gödel Escher Bach Pikachu Richard Nixon Checkers Saddam Hussein Kermit the Frog Ernie and Bert Jesse 'The Body' Ventura Winston Churchill Attila the Hun Chairman Mao Richard Stallman Coolio Rupert Murdoch Commander Taco Godzilla Jaws pioneers-15.5/client/ai/genetic_core.c0000644000175000017500000005753112532443420014664 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 2013 Rodrigo Espiga Gómez * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #include #include "genetic_core.h" static int totalResources(const struct gameState_t *myGameState); static float totalAverageResourceSupplyPerTurn(const struct gameState_t *myGameState); static float depreciateStrategyValue(int num_resources, int num_players, float ARSperTurn); static float depreciationFunction(float k, int actualARS, int port); static int enoughResources(int sim, int act, struct simulationsData_t *Data); static void updateSimulation(int sim, float probability, struct simulationsData_t *Data); static void updateConditionsMet(float probability, struct simulationsData_t *Data); static void updateTurnsToAction(float probability, int currentTurn, struct simulationsData_t *Data); //static void outputSims(int number, int turn, struct simulationsData_t *Data); static void set_timeCombinedAction(struct simulationsData_t *Data); static void numberOfTurnsForProbability(float probability, struct simulationsData_t *Data, struct gameState_t myGameState, int showSimulation); static float strategyProfit(float time_a, float time_b, float turn, strategy_t oneStrategy, struct gameState_t myGameState, int myTurn, int num_players); static int resourcesNeededForAction[NUM_ACTIONS][5] = { /*Resources of every type needed to perform every action possible */ {1, 1, 0, 1, 1}, /*SET*/ {0, 2, 3, 0, 0}, /*CIT*/ {0, 1, 1, 1, 0}, /*DEV*/ {2, 1, 0, 1, 2}, /*RSET*/ {3, 1, 0, 1, 3}, /*RRSET*/ {2, 2, 0, 2, 2}, /*SET+SET */ {1, 3, 3, 1, 1}, /*SET+CIT */ {1, 2, 1, 2, 1}, /*SET+DEV */ {3, 2, 0, 2, 3}, /*SET+RSET */ {4, 2, 0, 2, 4}, /*SET+RRSET */ {0, 4, 6, 0, 0}, /*CIT+CIT */ {0, 3, 4, 1, 0}, /*CIT+DEV */ {2, 3, 3, 1, 2}, /*CIT+RSET */ {3, 3, 3, 1, 3}, /*CIT+RRSET */ {0, 2, 2, 2, 0}, /*DEV+DEV */ {2, 2, 1, 2, 2}, /*DEV+RSET */ {3, 2, 1, 2, 3}, /*DEV+RRSET */ {4, 2, 0, 2, 4}, /*RSET+RSET */ {5, 2, 0, 2, 5}, /*RSET+RRSET */ {6, 2, 0, 2, 6} /*RRSET+RRSET */ }; /*First index is the action, second index the kind of resource */ int totalResources(const struct gameState_t *myGameState) { int i, total; total = 0; for (i = 0; i < 5; i++) { total += myGameState->resourcesAlreadyHave[i]; } return (total); } int actualAverageResourcesSupply(int resource, const struct gameState_t *myGameState) { /*returns the ARS of a particular resource looking at resourcesSupply matrix */ int i, total, multiplier; total = 0; for (i = 0; i <= 10; i++) { /*possible dice rolls */ switch (i) { case 0: /*rolls 2 or 12, the odds are 1 each 36 turns */ case 10: multiplier = 1; break; case 1: /*rolls 3 or 11, the odds are 2 each 36 turns, etc. */ case 9: multiplier = 2; break; case 2: case 8: multiplier = 3; break; case 3: case 7: multiplier = 4; break; case 4: case 6: multiplier = 5; break; case 5: multiplier = 0; break; } total += (myGameState->resourcesSupply[i][resource]) * multiplier; } return (total); } float totalAverageResourceSupplyPerTurn(const struct gameState_t *myGameState) { int i; int totalActualARS = 0; float total; for (i = 0; i < 5; i++) { totalActualARS += actualAverageResourcesSupply(i, myGameState); } total = totalActualARS / 36.0; return (total); } float depreciateStrategyValue(int num_resources, int num_players, float ARSperTurn) { /*If a strategy requires ending my turn with too many resources, the risk of being affected by the thief has to be taken in account. */ /*If I already have 8 or more resources, the thief could affect me num_players times. But if I am close to that limit there is also a chance tto be affected too */ int thief_oportunity = 0; /*number of times the apparition of the thief could catch me with too many resources in my hand */ float probabilityNoThief; int i; for (i = 0; i < num_players; i++) { if ((num_resources + (i * ARSperTurn)) >= 8) { thief_oportunity = num_players - i; break; } } /*Alternate way: * thief_oportunity=floor((8-num_resources)/ARSperTurn) */ probabilityNoThief = pow(5.0 / 6.0, thief_oportunity); /*I will assume for simplicity that the best strategy I would be able to do with half my resources has half the value. */ return ((1 * probabilityNoThief) + (0.5 * (1 - probabilityNoThief))); /*For a typical 4 player game, ending my turn having 8 or more resources means a depreciation of 1*0.482 + 0.5*0.517 = 0.741 of the calculated strategy */ } float depreciationFunction(float k, int actualARS, int port) /*depreciation of the value of a resource depending on genetic value k and my actual supply of that resource * k=0 means no depreciation at all no matter my actualARS, and the higher the k and my actualARS the closer it will get to 0.25 (for port=4, bank trade) * It considers that this should be the maximum depreciation a resource could suffer * having in mind that you could always trade any resource on a 4:1 basis. port is the trading ratio I have for that resource, and marks the maximum depreciation a resource could suffer no matter the amount of it I already have*/ { return ((k * actualARS + 1) / (port * k * actualARS + 1)); } float resourcesIncrementValue(int increment, int resource, int VictoryPoints, const struct chromosome_t *chromosome, const struct gameState_t *myGameState, int port) /*return the value it gives to an increment in the supply a particular resource, that depends on the increment itself, my actual supplies *of it and values determined by the chromosome*/ { float value, weight; int actualARS; float depreciation; actualARS = actualAverageResourcesSupply(resource, myGameState); depreciation = depreciationFunction(chromosome->depreciation_constant, actualARS, port); /*Its values go from (0.25..1] */ weight = chromosome->resourcesValueMatrix[VictoryPoints][resource]; /*value given by the chromosome to that resource at this point in the game */ value = increment * depreciation * weight; return (value); } void printAction(enum action oneAction) { switch (oneAction) { case 0: printf("Settlement"); break; case 1: printf("City"); break; case 2: printf("Development Card"); break; case 3: printf("Road to Settlement"); break; case 4: printf("Long Road to Settlement"); break; } } void printResource(int resource) { switch (resource) { case 0: printf("Brick"); break; case 1: printf("Grain"); break; case 2: printf("Ore"); break; case 3: printf("Wool"); break; case 4: printf("Lumber"); break; } } int enoughResources(int sim, int act, struct simulationsData_t *Data) { /*Returns TRUE if there are enough resources in simulation sim to perform action action */ int resource; for (resource = 0; resource < 5; resource++) { /*Check for every type of resource */ if (Data->resourcesPool[sim][resource] < resourcesNeededForAction[act][resource]) return (0); } return (1); } void updateSimulation(int sim, float probability, struct simulationsData_t *Data) { /*Checks resourcesPool to update conditionsMet for that simulation for every action and numberOfSimulationsOK */ int act; for (act = 0; act < NUM_ACTIONS; act++) { if ((Data->numberOfSimulationsOK[act] < (MAX_SIMS * probability)) && (Data->conditionsMet[sim][act] != 1)) { /*If there already are enough simulations OK for this action or conditions were already met it doesn't need to check again */ if (enoughResources(sim, act, Data)) { Data->conditionsMet[sim][act] = 1; Data->numberOfSimulationsOK[act]++; } } } } void updateConditionsMet(float probability, struct simulationsData_t *Data) { /*Update every simulation in conditionsMet */ /*We need probability in order to avoid checking for actions unnecessarily */ int sim; for (sim = 0; sim < MAX_SIMS; sim++) { updateSimulation(sim, probability, Data); } /*At this point numberOfSimulationsOK will hold, for avery action, the number of simulations that, up to the turn calculated, meet the requirements to do it */ } void updateTurnsToAction(float probability, int currentTurn, struct simulationsData_t *Data) { /*If the percentage of simulations OK for an action is over probability will set turnsToAction for that action to turn */ int act; for (act = 0; act < NUM_ACTIONS; act++) { if ((Data->turnsToAction[act] == MAX_TURNS) && /*It will set only the first time it reaches probability */ (Data->numberOfSimulationsOK[act] >= MAX_SIMS * probability)) Data->turnsToAction[act] = currentTurn; } } #if 0 /*This should ne rewriten in orden to take acount of the order change in resources (Now it should go Br,Gr,Or,Wo and Lu)*/ void outputSims(int number, int turn, struct simulationsData_t *Data) { int resource, act, simulation; //system("clear"); printf ("BRICK\tLUMBER\tGRAIN\tWOOL\tORE\t\tSET\tCIT\tDEV\tRSET\tRRSET\tS+SET\tS+CIT\tS+DEV\tS+RSET\tS+RRSET\tC+CIT\tC+DEV\tC+RSET\tC+RRSET\tD+DEV\tD+RSET\tD+RRSET\tR+RSET\tR+RRSET\tRR+RRSET\n"); for (simulation = 0; simulation < number; simulation++) { for (resource = 0; resource < 5; resource++) { printf("%d\t", Data->resourcesPool[simulation][resource]); } printf("\t"); for (act = 0; act < NUM_ACTIONS; act++) { printf("%d\t", Data->conditionsMet[simulation][act]); } printf("\n"); } printf ("BRICK\tLUMBER\tGRAIN\tWOOL\tORE\t\tSET\tCIT\tDEV\tRSET\tRRSET\tS+SET\tS+CIT\tS+DEV\tS+RSET\tS+RRSET\tC+CIT\tC+DEV\tC+RSET\tC+RRSET\tD+DEV\tD+RSET\tD+RRSET\tR+RSET\tR+RRSET\tRR+RRSET\n"); printf("\nNumber of Simulations OK for every action->"); for (act = 0; act < NUM_ACTIONS; act++) { printf("\t%d", Data->numberOfSimulationsOK[act]); } printf("\nTurns to Action for every action->\t"); for (act = 0; act < NUM_ACTIONS; act++) { printf("\t%d", Data->turnsToAction[act]); } printf("\n"); printf("Turn %d\n", turn); } #endif void set_timeCombinedAction(struct simulationsData_t *Data) { /* Puts the information of turnsToAction in a way that is easier to access from bestStrategy procedure * SET CIT DEV RSET RRSET * SET 5 6 7 8 9 ------->for example, means turnsToAction[9]; * CIT 6 10 11 12 13 * DEV 7 11 14 15 16 * RSET 8 12 15 17 18 * RRSET 9 13 16 18 19 */ Data->timeCombinedAction[0][0] = Data->turnsToAction[5]; Data->timeCombinedAction[0][1] = Data->turnsToAction[6]; Data->timeCombinedAction[0][2] = Data->turnsToAction[7]; Data->timeCombinedAction[0][3] = Data->turnsToAction[8]; Data->timeCombinedAction[0][4] = Data->turnsToAction[9]; Data->timeCombinedAction[1][0] = Data->turnsToAction[6]; Data->timeCombinedAction[1][1] = Data->turnsToAction[10]; Data->timeCombinedAction[1][2] = Data->turnsToAction[11]; Data->timeCombinedAction[1][3] = Data->turnsToAction[12]; Data->timeCombinedAction[1][4] = Data->turnsToAction[13]; Data->timeCombinedAction[2][0] = Data->turnsToAction[7]; Data->timeCombinedAction[2][1] = Data->turnsToAction[11]; Data->timeCombinedAction[2][2] = Data->turnsToAction[14]; Data->timeCombinedAction[2][3] = Data->turnsToAction[15]; Data->timeCombinedAction[2][4] = Data->turnsToAction[16]; Data->timeCombinedAction[3][0] = Data->turnsToAction[8]; Data->timeCombinedAction[3][1] = Data->turnsToAction[12]; Data->timeCombinedAction[3][2] = Data->turnsToAction[15]; Data->timeCombinedAction[3][3] = Data->turnsToAction[17]; Data->timeCombinedAction[3][4] = Data->turnsToAction[18]; Data->timeCombinedAction[4][0] = Data->turnsToAction[9]; Data->timeCombinedAction[4][1] = Data->turnsToAction[13]; Data->timeCombinedAction[4][2] = Data->turnsToAction[16]; Data->timeCombinedAction[4][3] = Data->turnsToAction[18]; Data->timeCombinedAction[4][4] = Data->turnsToAction[19]; } void numberOfTurnsForProbability(float probability, struct simulationsData_t *Data, struct gameState_t myGameState, int showSimulation) { /* Sets turnsToAction values to the number of turns needed to have a certain probability to get the resources needed to perform each NUM_ACTIONS possible actions * It does so by simulating MAX_SIMS times the dice outcomes of a single turn and checking how many of those simulations would fulfill the requirements of * resourcesNeededForAction of every action, and updating numberOfSimulationsOK and conditionsMet matrix consequently * When the percentage of simulations that meet the requirements for a certain action is over probability, then it means that given that amount of turns, * then that percentage of simulations would fulfill those requirements, and it will set that number of turns for that action in turnsToAction. * At the end of the process turnsToAction will hold the number of turns needed for every possible action to be performed with the required probability. * The number of simulations MAX_SIMS could be easily increased in order to get a more accurate simulation process*/ int currentTurn = 0; int simulation; int dice_roll1, dice_roll2, dice_roll; int i, j; /*Initialize Data->resourcesPool to resourcesAlreadyHave[] for every resource and conditionsMet to FALSE for every action */ for (i = 0; i < MAX_SIMS; i++) { for (j = 0; j < 5; j++) { Data->resourcesPool[i][j] = myGameState.resourcesAlreadyHave[j]; } for (j = 0; j < NUM_ACTIONS; j++) { Data->conditionsMet[i][j] = 0; } } /*Init turnsToAction to the maximum and numberOfSimulationsOK to 0 */ for (i = 0; i < NUM_ACTIONS; i++) { Data->turnsToAction[i] = MAX_TURNS; Data->numberOfSimulationsOK[i] = 0; } updateConditionsMet(probability, Data); /*Some conditions could already be met at the beginning */ updateTurnsToAction(probability, currentTurn, Data); if (showSimulation) { /* outputSims(30, currentTurn, Data); printf("Press any key to run the simulation"); getchar(); */ } /*Just to avoid the warning */ /*srandom(time(NULL)); */ while (currentTurn < MAX_TURNS) { /*It will simulate up to MAX_TURNS-1 for simplicity sake. */ /*Should it be optimized? What is the chance of being able to perform everything in a number of turns before the maximum? Maybe with a very low level of probability and under *certain circumstances, but very uncommon in any case.*/ currentTurn++; for (simulation = 0; simulation < MAX_SIMS; simulation++) { /* For every simulation it rolls the dice and increases its resources accordingly */ dice_roll1 = g_random_int_range(1, 7); /*(random() % 6) + 1; */ dice_roll2 = g_random_int_range(1, 7); /*(random() % 6) + 1; */ dice_roll = dice_roll1 + dice_roll2; /*printf("\n(%d+%d)=%d\n ",dice_roll1,dice_roll2,dice_roll); */ /*updates resourcesPool for this simulation */ for (i = 0; i <= 4; i++) { Data->resourcesPool[simulation][i] = Data->resourcesPool[simulation][i] + myGameState.resourcesSupply[dice_roll - 2][i]; /*printResource(i);printf("+%d=",resourcesSupply[dice_roll-2][i]);printf("%d ",Data->resourcesPool[simulation][i]); */ } } /*End of all the simulations for this turn, all simulations have their resourcesPool resources updated according to their dice rolls. *Now check for every simulation if conditions are met and update it, and numberOfSimulationsOK accordingly*/ updateConditionsMet(probability, Data); /*Check for every action if it is OK enough times and update turnsToAction for that action to turn if needed */ updateTurnsToAction(probability, currentTurn, Data); /* if (showSimulation) { outputSims(30, currentTurn, Data); } */ } /*while */ set_timeCombinedAction(Data); return; } float strategyProfit(float time_a, float time_b, float turn, strategy_t oneStrategy, struct gameState_t myGameState, int myTurn, int num_players) { /*Returns the benefit I get in a given turn if I try to do firstAction ending at time_a and then secondAction ending at time_b * time_a, time_b and turn should be possitive numbers, turn>=0, time_b>=time_a>=0*/ float profit; float firstActionValue = myGameState.actionValue[oneStrategy[0]]; float secondActionValue = myGameState.actionValue[oneStrategy[1]]; float m1, m2; float tooManyResDepreciation = 1; float ARSperTurn; int endOfTurnResources; /*With how many resources I am gonna finish my turn with? */ int roadsWillBuild; if (firstActionValue == 0) return 0; /*It is impossible to do first action (not enough tokens, no place for it, etc.), so this strategy is worthless */ /*If this strategy requires doing nothing now, the amount of resources I finsh the turn with can decrease this strategy value depending on the risk of being affected by the thief */ if ((time_a != 0) && (myTurn)) { /*I am waiting to do something, will I finish my turn with a "risky" amount of resources? */ endOfTurnResources = totalResources(&myGameState); roadsWillBuild = checkRoadNow(oneStrategy[0], oneStrategy[1], myGameState); endOfTurnResources -= roadsWillBuild * 2; /*If I am gonna build some road in this turn subtract those resources */ ARSperTurn = totalAverageResourceSupplyPerTurn(&myGameState); tooManyResDepreciation = depreciateStrategyValue(endOfTurnResources, num_players, ARSperTurn); #if 0 printf ("My estimation is that I WILL BUILD %d ROADS at this turn as part of the following strategy:\n", roadsWillBuild); if (tooManyResDepreciation < 1) { printf("Strategy waiting to do "); printAction(oneStrategy[0]); printf(" at turn %.2f and then ", time_a); printAction(oneStrategy[1]); printf (" ends turn with too many resources (%d and ARSperTurn of %.2f), so suffers a depreciation of %.3f\n", endOfTurnResources, ARSperTurn, tooManyResDepreciation); } else { printf("Strategy waiting to do "); printAction(oneStrategy[0]); printf(" at turn %.2f and then ", time_a); printAction(oneStrategy[1]); printf (" ends turn unaffected (%d and ARSperTurn of %.2f), so suffers no depreciation\n", endOfTurnResources, ARSperTurn); } #endif } if (turn < time_a) { /*so time_a is not 0 */ if (time_a == time_b) { profit = (((firstActionValue + secondActionValue) / time_a) * turn); } else { m1 = (firstActionValue / time_a); profit = (m1 * turn); } } else if (turn < time_b) { /*So time_b is not 0, although time_a could be */ m2 = (secondActionValue / (time_b - time_a)); profit = (firstActionValue + m2 * (turn - time_a)); } else if (turn >= time_b) { profit = (firstActionValue + secondActionValue); } else profit = (0); /*It should never get here */ return (profit * tooManyResDepreciation); /*Notice how extreme cases are handled: If a=b=0 it means I can do both actions at the same time right now and it will go through the third branch no matter the turn. If a=b but not 0 it means I can do both actions at the same time in the future, and it will go through the first branch if turn is before that moment and through the third from that moment on. If a=0 but not b, it means I can do my first action right now, it will go through the second branch until b is reached. */ } float bestStrategy(float turn, float probability, struct simulationsData_t *Data, strategy_t myStrategy, struct gameState_t myGameState, int showSimulation, int myTurn, int num_players) { /*Updates myStrategy[] with the pair of preferred actions to be performed in the present/future as their profit is considered when we look up to turn in the future * If myTurn is 1 it means that I'm doing that calculations during my turn * It returns that maximum profit*/ float time_a, time_b, time_best_firstAction, time_best_secondAction; enum action firstAction, secondAction; float profit, max_profit; strategy_t oneStrategy; numberOfTurnsForProbability(probability, Data, myGameState, showSimulation); /*Sets Data->turnsToAction by simulating */ time_best_firstAction = MAX_TURNS; time_best_secondAction = MAX_TURNS; max_profit = 0; /*printf("\n\nBeginning the bestStrategy loop...\n"); */ for (firstAction = SET; firstAction <= 4; firstAction++) { /*First five actions of turnsToAction are individual actions SET, CIT, DEV, RSET and RRSET */ time_a = Data->turnsToAction[firstAction]; for (secondAction = SET; secondAction <= 4; secondAction++) { time_b = Data->timeCombinedAction[firstAction] [secondAction]; oneStrategy[0] = firstAction; oneStrategy[1] = secondAction; profit = strategyProfit(time_a, time_b, turn, oneStrategy, myGameState, myTurn, num_players); if ((profit > max_profit) || ((profit == max_profit) && (time_a < time_best_firstAction)) || ((profit == max_profit) && (time_a == time_best_firstAction) && (time_b < time_best_secondAction))) { /*Updates the best strategy if: * 1 - The profit calculated iÅ› better than the profit calculated so far OR * 2 - Being equal, this strategy lets me do the firstAction before OR * 3 - Being equal the profit and the time needed to perform firstAction, this strategy lets me do secondAction before*/ max_profit = profit; myStrategy[0] = firstAction; time_best_firstAction = time_a; myStrategy[1] = secondAction; time_best_secondAction = time_b; } } } /*printf("Finishing the bestStrategy loop...\n\n"); */ return (max_profit); } int checkRoadNow(enum action firstAction, enum action secondAction, struct gameState_t myGameState) { /*Returns TRUE if I should build road now, that is, if I have the resources needed, and it does not affect negatively my planned strategy, what is basically: * firstAction involves building a Road (RSET or RRSET) OR *firstAction is City or Development Card (that uses completely different resources than road) and secondAction is not SET (that will need them). *It does not take into account if there is actually enough roads (tokens)to do it */ int roadsPossible = 0; if ((myGameState.resourcesAlreadyHave[0] >= 1) && (myGameState.resourcesAlreadyHave[4] >= 1)) roadsPossible = 1; if ((myGameState.resourcesAlreadyHave[0] >= 2) && (myGameState.resourcesAlreadyHave[4] >= 2)) roadsPossible = 2; if (!roadsPossible) return (0); switch (firstAction) { case SET: /*If I have enough resources for two roads and secondAction is not another SET, I can build one road without affecting my strategy */ if ((roadsPossible == 2) && (secondAction != SET)) return (1); else return (0); break; case CIT: case DEV: switch (secondAction) { case SET: /*If I have enough resources for two roads, I still can build one and have enough resources for the SET */ if (roadsPossible == 2) return (1); else return (0); break; case RSET: /*Even if I can do two roads now, I should not use the resources I will need for the settlement of RSET */ return (1); break; case CIT: case DEV: case RRSET: return (roadsPossible); break; } case RSET: /*Even if I can do two roads now, I should not use the resources I will need for the settlement of RSET */ return (1); break; case RRSET: return (roadsPossible); break; default: return (0); } } pioneers-15.5/client/ai/ai.c0000644000175000017500000003164612336740662012640 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003,2006 Bas Wijnen * Copyright (C) 2011 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include "version.h" #include "game.h" #include "ai.h" #include "client.h" #include #include #include #include static char *server = NULL; static char *port = NULL; static char *name = NULL; char *chromosomeFile = NULL; static char *ai; static int waittime = 1000; static gboolean silent = FALSE; static gboolean enable_debug = FALSE; static gboolean show_version = FALSE; static Map *map = NULL; /** Randomizer only to be used for chat messages */ GRand *chat_rand; /** Use any of the messages from the array to chat. * @param array An array for gchar * containing chat messages. * @param nochat_percent Chance (in percent) of not chatting */ #define randchat(array,nochat_percent) \ do { \ if (g_rand_int_range(chat_rand, 0, 101) > nochat_percent) { \ ai_chat(array[g_rand_int_range(chat_rand, 0, G_N_ELEMENTS(array))]); \ } \ } while(0) /** Avoid multiple chat messages when more than one other player * must discard resources */ gboolean discard_starting; static void logbot_init(void); static const struct algorithm_info { /** Name of the algorithm (for commandline) */ const gchar *name; /** Init function */ void (*init_func) (void); /** Request to be a player? */ gboolean request_player; /** Quit if request not honoured */ gboolean quit_if_not_request; } algorithms[] = { /* *INDENT-OFF* */ { "greedy", &greedy_init, TRUE, TRUE}, { "genetic", &genetic_init, TRUE, TRUE}, { "lobbybot", &lobbybot_init, FALSE, TRUE}, { "logbot", &logbot_init, FALSE, TRUE}, /* *INDENT-ON* */ }; static guint active_algorithm = 0; UIDriver Glib_Driver; static GOptionEntry commandline_entries[] = { {"chromosome-file", '\0', 0, G_OPTION_ARG_STRING, &chromosomeFile, /* Commandline pioneersai: chromosome-file */ N_("Chromosome File"), NULL}, {"server", 's', 0, G_OPTION_ARG_STRING, &server, /* Commandline pioneersai: server */ N_("Server Host"), PIONEERS_DEFAULT_GAME_HOST}, {"port", 'p', 0, G_OPTION_ARG_STRING, &port, /* Commandline pioneersai: port */ N_("Server Port"), PIONEERS_DEFAULT_GAME_PORT}, {"name", 'n', 0, G_OPTION_ARG_STRING, &name, /* Commandline pioneersai: name */ N_("Computer name (mandatory)"), NULL}, {"time", 't', 0, G_OPTION_ARG_INT, &waittime, /* Commandline pioneersai: time */ N_("Time to wait between turns (in milliseconds)"), "1000"}, {"chat-free", 'c', 0, G_OPTION_ARG_NONE, &silent, /* Commandline pioneersai: chat-free */ N_("Stop computer player from talking"), NULL}, {"algorithm", 'a', 0, G_OPTION_ARG_STRING, &ai, /* Commandline pioneersai: algorithm */ N_("Type of computer player"), "greedy"}, {"debug", '\0', 0, G_OPTION_ARG_NONE, &enable_debug, /* Commandline option of ai: enable debug logging */ N_("Enable debug messages"), NULL}, {"version", '\0', 0, G_OPTION_ARG_NONE, &show_version, /* Commandline option of ai: version */ N_("Show version information"), NULL}, {NULL, '\0', 0, 0, NULL, NULL, NULL} }; static void ai_init_glib_et_al(int argc, char **argv) { GOptionContext *context; GError *error = NULL; context = /* Long description in the commandline for pioneersai: help */ g_option_context_new(_("- Computer player for Pioneers")); g_option_context_add_main_entries(context, commandline_entries, PACKAGE); g_option_context_parse(context, &argc, &argv, &error); g_option_context_free(context); if (error != NULL) { g_print("%s\n", error->message); g_error_free(error); exit(1); } if (show_version) { g_print(_("Pioneers version:")); g_print(" "); g_print(FULL_VERSION); g_print("\n"); exit(0); } g_type_init(); set_ui_driver(&Glib_Driver); log_set_func_default(); } static void ai_init(void) { set_enable_debug(enable_debug); if (server == NULL) server = g_strdup(PIONEERS_DEFAULT_GAME_HOST); if (port == NULL) port = g_strdup(PIONEERS_DEFAULT_GAME_PORT); if (!name) { /* ai commandline error */ g_print(_("A name must be provided.\n")); exit(0); } if (ai != NULL) { guint i; for (i = 0; i < G_N_ELEMENTS(algorithms); i++) { if (!strcmp(algorithms[i].name, ai)) active_algorithm = i; } } log_message(MSG_INFO, _("Type of computer player: %s\n"), algorithms[active_algorithm].name); algorithms[active_algorithm].init_func(); } void ai_panic(const char *message) { cb_chat(message); callbacks.quit(); } static void ai_offline(void) { gchar *style; callbacks.offline = callbacks.quit; notifying_string_set(requested_name, name); style = g_strdup_printf("ai %s", algorithms[active_algorithm].name); notifying_string_set(requested_style, style); cb_connect(server, port, !algorithms[active_algorithm].request_player); g_free(style); g_free(name); } static void ai_start_game(void) { if (algorithms[active_algorithm].request_player == my_player_spectator() && algorithms[active_algorithm].quit_if_not_request) { ai_panic(N_("The game is already full. I'm leaving.")); } } void ai_wait(void) { g_usleep((gulong) waittime * 1000u); } void ai_chat(const char *message) { if (!silent) cb_chat(message); } static Map *ai_get_map(void) { return map; } static void ai_set_map(Map * new_map) { map = new_map; } /* Chat messages */ static const char *chat_turn_start[] = { /* AI chat at the start of the turn */ N_("Ok, let's go!"), /* AI chat at the start of the turn */ N_("I'll beat you all now! ;)"), /* AI chat at the start of the turn */ N_("Now for another try..."), }; static const char *chat_receive_one[] = { /* AI chat when one resource is received */ N_("At least I get something..."), /* AI chat when one resource is received */ N_("One is better than none..."), }; static const char *chat_receive_many[] = { /* AI chat when more than one resource is received */ N_("Wow!"), /* AI chat when more than one resource is received */ N_("Ey, I'm becoming rich ;)"), /* AI chat when more than one resource is received */ N_("This is really a good year!"), }; static const char *chat_other_receive_many[] = { /* AI chat when other players receive more than one resource */ N_("You really don't deserve that much!"), /* AI chat when other players receive more than one resource */ N_("You don't know what to do with that many resources ;)"), /* AI chat when other players receive more than one resource */ N_("Ey, wait for my robber and lose all this again!"), }; static const char *chat_self_moved_robber[] = { /* AI chat when it moves the robber */ N_("Hehe!"), /* AI chat when it moves the robber */ N_("Go, robber, go!"), }; static const char *chat_moved_robber_to_me[] = { /* AI chat when the robber is moved to it */ N_("You bastard!"), /* AI chat when the robber is moved to it */ N_("Can't you move that robber somewhere else?!"), /* AI chat when the robber is moved to it */ N_("Why always me??"), }; static const char *chat_discard_self[] = { /* AI chat when it must discard resources */ N_("Oh no!"), /* AI chat when it must discard resources */ N_("Grrr!"), /* AI chat when it must discard resources */ N_("Who the hell rolled that 7??"), /* AI chat when it must discard resources */ N_("Why always me?!?"), }; static const char *chat_discard_other[] = { /* AI chat when other players must discard */ N_("Say good bye to your cards... :)"), /* AI chat when other players must discard */ N_("*evilgrin*"), /* AI chat when other players must discard */ N_("/me says farewell to your cards ;)"), /* AI chat when other players must discard */ N_("That's the price for being rich... :)"), }; static const char *chat_stole_from_me[] = { /* AI chat when someone steals from it */ N_("Ey! Where's that card gone?"), /* AI chat when someone steals from it */ N_("Thieves! Thieves!!"), /* AI chat when someone steals from it */ N_("Wait for my revenge..."), }; static const char *chat_monopoly_other[] = { /* AI chat when someone plays the monopoly card */ N_("Oh no :("), /* AI chat when someone plays the monopoly card */ N_("Must this happen NOW??"), /* AI chat when someone plays the monopoly card */ N_("Args"), }; static const char *chat_largestarmy_self[] = { /* AI chat when it has the largest army */ N_("Hehe, my soldiers rule!"), }; static const char *chat_largestarmy_other[] = { /* AI chat when another player that the largest army */ N_("First robbing us, then grabbing the points..."), }; static const char *chat_longestroad_self[] = { /* AI chat when it has the longest road */ N_("See that road!"), }; static const char *chat_longestroad_other[] = { /* AI chat when another player has the longest road */ N_("Pf, you won't win with roads alone..."), }; /* functions for chatting follow */ static void chat_discard_start(void) { discard_starting = TRUE; } void ai_chat_discard(gint player_num, G_GNUC_UNUSED gint discard_num) { if (player_num == my_player_num()) { randchat(chat_discard_self, 10); } else { if (discard_starting) { discard_starting = FALSE; randchat(chat_discard_other, 10); } } } static void chat_player_turn(gint player) { if (player == my_player_num()) randchat(chat_turn_start, 70); } void ai_chat_self_moved_robber(void) { randchat(chat_self_moved_robber, 15); } static void chat_robber_moved(G_GNUC_UNUSED Hex * old, Hex * new) { guint idx; gboolean iam_affected = FALSE; for (idx = 0; idx < G_N_ELEMENTS(new->nodes); idx++) { if (new->nodes[idx]->owner == my_player_num()) iam_affected = TRUE; } if (iam_affected) randchat(chat_moved_robber_to_me, 20); } static void chat_player_robbed(G_GNUC_UNUSED gint robber_num, gint victim_num, G_GNUC_UNUSED Resource resource) { if (victim_num == my_player_num()) randchat(chat_stole_from_me, 15); } static void chat_get_rolled_resources(gint player_num, const gint * resources, G_GNUC_UNUSED const gint * wanted) { gint total = 0, i; for (i = 0; i < NO_RESOURCE; ++i) total += resources[i]; if (player_num == my_player_num()) { if (total == 1) randchat(chat_receive_one, 60); else if (total >= 3) randchat(chat_receive_many, 20); } else if (total >= 3) randchat(chat_other_receive_many, 30); } static void chat_played_develop(gint player_num, G_GNUC_UNUSED guint card_idx, DevelType type) { if (player_num != my_player_num() && type == DEVEL_MONOPOLY) randchat(chat_monopoly_other, 20); } static void chat_new_statistics(gint player_num, StatisticType type, gint num) { if (num != 1) return; if (type == STAT_LONGEST_ROAD) { if (player_num == my_player_num()) randchat(chat_longestroad_self, 10); else randchat(chat_longestroad_other, 10); } else if (type == STAT_LARGEST_ARMY) { if (player_num == my_player_num()) randchat(chat_largestarmy_self, 10); else randchat(chat_largestarmy_other, 10); } } static void ai_error(const gchar * message) { gchar *buffer; buffer = g_strdup_printf(_("" "Received error from server: %s. Quitting\n"), message); cb_chat(buffer); g_free(buffer); cb_disconnect(); } static void ai_game_over(gint player_num, G_GNUC_UNUSED gint points) { if (player_num == my_player_num()) { /* AI chat when it wins */ ai_chat(N_("Yippie!")); } else { /* AI chat when another player wins */ ai_chat(N_("My congratulations")); } cb_disconnect(); } void frontend_set_callbacks(void) { callbacks.init_glib_et_al = &ai_init_glib_et_al; callbacks.init = &ai_init; callbacks.offline = &ai_offline; callbacks.start_game = &ai_start_game; callbacks.get_map = &ai_get_map; callbacks.set_map = &ai_set_map; callbacks.error = &ai_error; callbacks.game_over = &ai_game_over; /* chatting */ callbacks.player_turn = &chat_player_turn; callbacks.robber_moved = &chat_robber_moved; callbacks.discard = &chat_discard_start; callbacks.player_robbed = &chat_player_robbed; callbacks.get_rolled_resources = &chat_get_rolled_resources; callbacks.played_develop = &chat_played_develop; callbacks.new_statistics = &chat_new_statistics; chat_rand = g_rand_new(); } /* The logbot is intended to be used as a spectator in a game, and to collect * a transcript of the game in human readable form, which can be analysed * using external tools. */ void logbot_init(void) { } pioneers-15.5/client/ai/genetic.c0000644000175000017500000021071012532441753013651 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 2013 Rodrigo Espiga Gómez * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include "ai.h" #include "genetic_core.h" #include "cost.h" #include #include /* * This is computer a player for Pioneers based on a genetic algorithm. */ /** default chromosome */ struct chromosome_t thisChromosome = (struct chromosome_t) { { {1.371242, 1.984368, 1.336144, 1.111876, 1.206090, 0.052862, 1.506242, 1.684672}, /* weight of every resource, value of Development Card, relative value of City (compared to equivalen Settlement) and Ports, when I have 0 Victory Points */ {1.262966, 1.813653, 1.542921, 1.117926, 1.338699, 3.004164, 1.682371, 3.554963}, /* when I have 1 */ {1.770271, 1.405915, 1.947900, 1.267916, 1.645481, 0.266591, 1.194223, 9.644183}, /* 2 */ {1.371931, 1.962052, 1.071650, 1.335991, 1.076773, 3.367637, 1.703712, 6.706741}, /* 3 */ {1.680568, 1.306249, 1.743218, 1.761761, 1.025129, 1.121913, 0.284101, 1.559953}, /* 4 */ {1.674057, 1.994260, 1.067930, 1.046954, 1.594052, 3.381377, 0.250717, 4.673997}, /* 5 */ {1.116162, 1.225133, 1.141381, 1.093680, 1.976306, 3.066351, 0.672955, 9.152541}, /* 6 */ {1.402262, 1.515350, 1.835050, 1.781056, 1.091004, 4.470943, 0.112013, 9.202737}, /* 7 */ {1.009420, 1.065439, 1.938907, 1.966596, 1.279951, 0.777970, 1.659520, 3.782044}, /* 8 */ {1.828237, 1.597190, 1.909004, 1.690179, 1.643655, 2.087759, 1.848852, 2.809332}, /* 9 */ }, 1.714336, 0.580583, 0.265190 /* depreciation, turn and probability */ }; typedef struct resource_values_s { float value[NO_RESOURCE]; MaritimeInfo info; gint ports[NO_RESOURCE]; } resource_values_t; static int quote_num; static gboolean default_chromosome_used = TRUE; /* things we can buy, in the order that we want them. */ typedef enum { BUY_CITY, BUY_SETTLEMENT, BUY_ROAD, BUY_DEVEL_CARD, BUY_LAST } BuyType; /* * Forward declarations */ static Edge *best_road_to_road_spot(Node * n, float *score, const struct chromosome_t *myChromosome, const struct gameState_t *myGameState); static Edge *best_road_to_road(const struct chromosome_t *myChromosome, const struct gameState_t *myGameState, float *destinationScore); static Edge *best_road_spot(const struct chromosome_t *myChromosome, const struct gameState_t *myGameState, float *destinationScore); static Node *best_city_spot(const struct chromosome_t *myChromosome, const struct gameState_t *myGameState); static Node *best_settlement_spot(gboolean during_setup, const struct chromosome_t *myChromosome, const struct gameState_t *myGameState); static int places_can_build_settlement(void); static gint determine_monopoly_resource(void); void updateTradingMatrix(const struct chromosome_t *myChromosome, float profit, struct tradingMatrixes_t *tradeThisForThat, struct gameState_t myGameState, int myTurn); void outputGameState(const struct gameState_t myGameState); void outputStrategy(strategy_t myStrategy, const struct simulationsData_t mySimulation, const struct gameState_t myGameState); float best_maritime_trade(const struct tradingMatrixes_t thisTradingMatrixes, int *amount, Resource * trade_away, Resource * want_resource); float bestActualAverageResourcesSupply(const struct gameState_t *myGameState); /* * Functions to keep track of what nodes we've visited */ typedef struct node_seen_set_s { Node *seen[MAP_SIZE * MAP_SIZE]; int size; } node_seen_set_t; static void nodeset_reset(node_seen_set_t * set) { set->size = 0; } static void nodeset_set(node_seen_set_t * set, Node * n) { int i; for (i = 0; i < set->size; i++) if (set->seen[i] == n) return; set->seen[set->size] = n; set->size++; } static int nodeset_isset(node_seen_set_t * set, Node * n) { int i; for (i = 0; i < set->size; i++) if (set->seen[i] == n) return 1; return 0; } typedef void iterate_node_func_t(Node * n, void *rock); /* * Iterate over all the nodes on the map calling func() with 'rock' * */ static void for_each_node(iterate_node_func_t * func, void *rock) { Map *map; int i, j, k; map = callbacks.get_map(); for (i = 0; i < map->x_size; i++) { for (j = 0; j < map->y_size; j++) { for (k = 0; k < 6; k++) { Node *n = map_node(map, i, j, k); if (n) func(n, rock); } } } } static void genetic_for_each_node(iterate_node_func_t * func, void *rock, node_seen_set_t * nodesSeen) { Map *map; int i, j, k; map = callbacks.get_map(); for (i = 0; i < map->x_size; i++) { for (j = 0; j < map->y_size; j++) { for (k = 0; k < 6; k++) { Node *n = map_node(map, i, j, k); if (n) if (!nodeset_isset(nodesSeen, n)) { nodeset_set(nodesSeen, n); func(n, rock); } } } } } /** Determine the required resources. * @param assets The resources that are available * @param cost The cost to buy something * @retval need The additional resources required to buy this * @return TRUE if the assets are enough */ static gboolean can_pay_for(const gint assets[NO_RESOURCE], const gint cost[NO_RESOURCE], gint need[NO_RESOURCE]) { gint i; gboolean have_enough; have_enough = TRUE; for (i = 0; i < NO_RESOURCE; i++) { if (assets[i] >= cost[i]) need[i] = 0; else { need[i] = cost[i] - assets[i]; have_enough = FALSE; } } return have_enough; } /* How much does this cost to build? */ static const gint *cost_of(BuyType bt) { switch (bt) { case BUY_CITY: return cost_upgrade_settlement(); case BUY_SETTLEMENT: return cost_settlement(); case BUY_ROAD: return cost_road(); case BUY_DEVEL_CARD: return cost_development(); default: g_assert(0); return NULL; } } /* * Do I have the resources to buy this, is it available, and do I want it? */ static gboolean should_buy(const gint assets[NO_RESOURCE], BuyType bt, const struct chromosome_t *myChromosome, const struct gameState_t *myGameState, gint need[NO_RESOURCE]) { float destinationScore; if (!can_pay_for(assets, cost_of(bt), need)) return FALSE; switch (bt) { case BUY_CITY: return (stock_num_cities() > 0 && best_city_spot(myChromosome, myGameState) != NULL); case BUY_SETTLEMENT: return (stock_num_settlements() > 0 && best_settlement_spot(FALSE, myChromosome, myGameState) != NULL); case BUY_ROAD: /* don't sprawl :) */ return (stock_num_roads() > 0 && places_can_build_settlement() <= 2 && (best_road_spot (myChromosome, myGameState, &destinationScore) != NULL || best_road_to_road(myChromosome, myGameState, &destinationScore) != NULL)); case BUY_DEVEL_CARD: return (stock_num_develop() > 0 && can_buy_develop()); default: /* xxx bridge, ship */ return FALSE; } } #if 0 /* * If I buy this, what will I have left? Note that some values in need[] * can be negative if I can't afford it. */ static void leftover_resources(const gint assets[NO_RESOURCE], BuyType bt, gint need[NO_RESOURCE]) { gint i; const gint *cost = cost_of(bt); for (i = 0; i < NO_RESOURCE; i++) need[i] = assets[i] - cost[i]; } #endif /* * Probability of a dice roll */ static float dice_prob(gint roll) { switch (roll) { case 2: case 12: return 3; case 3: case 11: return 6; case 4: case 10: return 8; case 5: case 9: return 11; case 6: case 8: return 14; default: return 0; } } static int dice_AVR(gint roll) /* Average Resources Supply given each 36 turns by an hexagon with that number*/ { switch (roll) { case 2: case 12: return 1; case 3: case 11: return 2; case 4: case 10: return 3; case 5: case 9: return 4; case 6: case 8: return 5; default: return 0; } } /* * By default how valuable is this terrain? */ static float default_score_terrain(Terrain terrain) { float score; switch (terrain) { case GOLD_TERRAIN: /* gold */ score = 1.25f; break; case HILL_TERRAIN: /* brick */ score = 1.1f; break; case FIELD_TERRAIN: /* grain */ score = 1.0f; break; case MOUNTAIN_TERRAIN: /* rock */ score = 1.05f; break; case PASTURE_TERRAIN: /* sheep */ score = 1.0f; break; case FOREST_TERRAIN: /* wood */ score = 1.1f; break; case DESERT_TERRAIN: case SEA_TERRAIN: default: score = 0.0f; break; } return score; } /* For each node I own update the matrix resourcesSupply accordingly*/ /* Remember that resourcesSupply[11][5] row index represents different dice outcomes from 2 to 12 */ static void genetic_reevaluate_iterator(Node * n, void *rock) { struct gameState_t *myGameState = (struct gameState_t *) rock; /* if i own this node */ if ((n) && (n->owner == my_player_num())) { int l; for (l = 0; l < 3; l++) { Hex *h = n->hexes[l]; int supply = 1; if (n->type == BUILD_CITY) supply = 2; if (h && h->terrain < DESERT_TERRAIN) { int i = (h->roll) - 2; /* rolls 2 to 12 map as 0 to 10 row indexes */ int j = terrain_to_resource(h->terrain); myGameState->resourcesSupply[i][j] += supply; } } } } /* Updates the information in struct gameState_t pointed by myGameState*/ static void reevaluate_gameState_supply_matrix_and_resources(struct gameState_t *myGameState) { int i, j; node_seen_set_t nodesSeen; nodeset_reset(&nodesSeen); for (i = 0; i <= 10; i++) { for (j = 0; j < NO_RESOURCE; j++) { myGameState->resourcesSupply[i][j] = 0; } } genetic_for_each_node(&genetic_reevaluate_iterator, (void *) myGameState, &nodesSeen); for (i = 0; i < NO_RESOURCE; ++i) myGameState->resourcesAlreadyHave[i] = resource_asset(i); for (i = 0; i < 5; i++) myGameState->actionValue[i] = 0; } /* For each node I own see how much i produce with it. keep a * tally with 'produce' */ static void reevaluate_iterator(Node * n, void *rock) { float *produce = (float *) rock; /* if i own this node */ if ((n) && (n->owner == my_player_num())) { int l; for (l = 0; l < 3; l++) { Hex *h = n->hexes[l]; float mult = 1.0; if (n->type == BUILD_CITY) mult = 2.0; if (h && h->terrain < DESERT_TERRAIN) { produce[h->terrain] += mult * default_score_terrain(h->terrain) * dice_prob(h->roll); } } } } /* * Reevaluate the value of all the resources to us */ static void reevaluate_resources(resource_values_t * outval) { float produce[NO_RESOURCE]; int i; for (i = 0; i < NO_RESOURCE; i++) { produce[i] = 0; } for_each_node(&reevaluate_iterator, (void *) produce); /* Now invert all the positive numbers and give any zeros a weight of 2 * */ for (i = 0; i < NO_RESOURCE; i++) { if (produce[i] == 0) { outval->value[i] = default_score_terrain(resource_to_terrain(i)); } else { outval->value[i] = 1.0f / produce[i]; } } /* * Save the maritime info too so we know if we can do port trades */ map_maritime_info(callbacks.get_map(), &outval->info, my_player_num()); for (i = 0; i < NO_RESOURCE; i++) { if (outval->info.specific_resource[i]) outval->ports[i] = 2; else if (outval->info.any_resource) outval->ports[i] = 3; else outval->ports[i] = 4; } } #if 0 static float resource_value(Resource resource, const resource_values_t * resval) { if (resource < NO_RESOURCE) return resval->value[resource]; else if (resource == GOLD_RESOURCE) return default_score_terrain(GOLD_TERRAIN); else return 0.0; } #endif #if 0 /* * How valuable is this hex to me? */ static float score_hex(Hex * hex, const resource_values_t * resval) { float score; if (hex == NULL) return 0; score = resource_value(terrain_to_resource(hex->terrain), resval) * dice_prob(hex->roll); if (!resval->info.any_resource) { if (hex->resource == ANY_RESOURCE) score += 0.5f; } return score; } #endif float bestActualAverageResourcesSupply(const struct gameState_t *myGameState) { int i; float best = 0; float this; for (i = 0; i <= 4; i++) { this = actualAverageResourcesSupply(i, myGameState); if (this > best) best = this; } return (best); } /* Given a maritime hex with port and a not NULL node, returns TRUE if that port is facing to the node, thus granting access to port to the node */ static int facingOK(const Node * node, Hex * hex) { Node *nodeOne, *nodeTwo; nodeOne = hex->nodes[hex->facing]; if (hex->facing != 0) nodeTwo = hex->nodes[(hex->facing) - 1]; else nodeTwo = hex->nodes[5]; if ((nodeOne == node) || (nodeTwo == node)) return (1); /* This node is one of the two nodes affected by this hex's port */ else return (0); } /* It returns the value given to an hex surrounding a node. We also need to know the node to check (for maritime hexes) if it has acces to the port */ static float genetic_score_hex(const Node * node, Hex * hex, const struct chromosome_t *myChromosome, const struct gameState_t *myGameState) { Resource resrc; int victoryPoints = player_get_score(my_player_num()); if (victoryPoints > 9) victoryPoints = 9; /* max index in chromosome */ MaritimeInfo info; float value = 0; float port_bonus = 0; /* bonus for being a port */ float port_constant = myChromosome->resourcesValueMatrix[victoryPoints][7]; int port = 4; /* Bank trade, used to calculate depreciation of resources */ int nodeHasPort = 0; /* Does it actually have access to the port or is just close to it? */ if (hex == NULL) return 0; int increment = dice_AVR(hex->roll); /* Average resources supply each 36 turns given by that number */ resrc = terrain_to_resource(hex->terrain); map_maritime_info(callbacks.get_map(), &info, my_player_num()); /* I want to decrease the devaluation the hex resource suffers (increase the hex value) if a I have a generic port or a specific port to export that resource */ if (info.any_resource) port = 3; /* I have a generic port, depreciation will be less */ else if (info.specific_resource[resrc]) port = 2; /* I have a port to export this resource, depreciation will be even less */ nodeHasPort = facingOK(node, hex); if (resrc < NO_RESOURCE) { /* Normal hex, its value depends on its resource supply */ value = resourcesIncrementValue(increment, resrc, victoryPoints, myChromosome, myGameState, port); } else if ((hex->resource == ANY_RESOURCE) && (!info.any_resource)) { /* This is a generic port and I do not have one, its value depends on my best supplied resource */ port_bonus = bestActualAverageResourcesSupply(myGameState) / 36.0; port_bonus = port_bonus * port_constant * nodeHasPort; } else if ((hex->terrain == SEA_TERRAIN) && (hex->resource < NO_RESOURCE)) { /* This hex has a specific port, the better the supply I have of that resource, the most valuable will be the port */ port_bonus = actualAverageResourcesSupply(hex->resource, myGameState) / 24.0; port_bonus = port_bonus * port_constant * nodeHasPort; } else if (resrc == GOLD_RESOURCE) value = 5; return (value + port_bonus); /* It will return either value (for normal hexes) or port_bonus (for a maritime hex with port, if the node I am calculating this hex for, has access to that port) */ } /* * How valuable is this hex to others */ static float default_score_hex(Hex * hex) { float score; if (hex == NULL) return 0; /* multiple resource value by dice probability */ score = default_score_terrain(hex->terrain) * dice_prob(hex->roll); return score; } #if 0 /* * Give a numerical score to how valuable putting a settlement/city on this spot is * */ static float score_node(const Node * node, gboolean city, const resource_values_t * resval) { int i; float score = 0; /* if not a node, how did this happen? */ g_assert(node != NULL); /* if already occupied, in water, or too close to others give a score of -1 */ if (is_node_on_land(node) == FALSE) return -1; if (is_node_spacing_ok(node) == FALSE) return -1; if (!city) { if (node->owner != -1) return -1; } for (i = 0; i < 3; i++) { score += score_hex(node->hexes[i], resval); } return score; } #endif static float genetic_score_node(const Node * node, gboolean city, const struct chromosome_t *myChromosome, const struct gameState_t *myGameState) { int i; float score = 0; /* if not a node, how did this happen? */ g_assert(node != NULL); /* if already occupied, in water, or too close to others give a score of -1 */ if (is_node_on_land(node) == FALSE) return -1; if (is_node_spacing_ok(node) == FALSE) return -1; if (!city) { if (node->owner != -1) /* I want a settlement, and this is already occupied */ return -1; } for (i = 0; i < 3; i++) { score += genetic_score_hex(node, node->hexes[i], myChromosome, myGameState); } return score; } /* * Road connects here */ static int road_connects(Node * n) { int i; if (n == NULL) return 0; for (i = 0; i < 3; i++) { Edge *e = n->edges[i]; if ((e) && (e->owner == my_player_num())) return 1; } return 0; } /** Find the best spot for a settlement * @param during_setup Build a settlement during the setup phase? * During setup: no connected road is required, * and the no_setup must be taken into account * Normal play: settlement must be next to a road we own. */ static Node *best_settlement_spot(gboolean during_setup, const struct chromosome_t *myChromosome, const struct gameState_t *myGameState) { int i, j, k, l; Node *best = NULL; float bestscore = -1.0; float score; Map *map = callbacks.get_map(); for (i = 0; i < map->x_size; i++) { for (j = 0; j < map->y_size; j++) { for (k = 0; k < 6; k++) { Node *n = map_node(map, i, j, k); if (!n) continue; if (during_setup) { if (n->no_setup) continue; } else { if (!road_connects(n)) continue; } score = genetic_score_node(n, FALSE, myChromosome, myGameState); /* If another player can already build in this node, give it a score bonus so I try harder to build there before another player does it */ if (score > 0) { for (l = 0; l < 3; l++) { if (n->edges[l]) { if (((n->edges [l])->owner != -1) && ((n->edges [l])->owner != my_player_num ())) score += 1; } } } if (score > bestscore) { best = n; bestscore = score; } } } } return best; } /* * What is the best settlement to upgrade to a city? * */ static Node *best_city_spot(const struct chromosome_t *myChromosome, const struct gameState_t *myGameState) { int i, j, k; Node *best = NULL; float bestscore = -1.0; Map *map = callbacks.get_map(); for (i = 0; i < map->x_size; i++) { for (j = 0; j < map->y_size; j++) { for (k = 0; k < 6; k++) { Node *n = map_node(map, i, j, k); if (!n) continue; if ((n->owner == my_player_num()) && (n->type == BUILD_SETTLEMENT)) { float score = genetic_score_node(n, TRUE, myChromosome, myGameState); if (score > bestscore) { best = n; bestscore = score; } } } } } return best; } /* * Return the opposite end of this node, edge * */ static Node *other_node(Edge * e, Node * n) { if (e->nodes[0] == n) return e->nodes[1]; else return e->nodes[0]; } /* * * */ static Edge *traverse_out(Node * n, node_seen_set_t * set, float *score, const struct chromosome_t *myChromosome, const struct gameState_t *myGameState) { float bscore = 0.0; Edge *best = NULL; int i; /* mark this node as seen */ nodeset_set(set, n); for (i = 0; i < 3; i++) { Edge *e = n->edges[i]; Edge *cur_e = NULL; Node *othernode; float cur_score; if (!e) continue; othernode = other_node(e, n); g_assert(othernode != NULL); /* if our road traverse it */ if (e->owner == my_player_num()) { if (!nodeset_isset(set, othernode)) cur_e = traverse_out(othernode, set, &cur_score, myChromosome, myGameState); } else if (can_road_be_built(e, my_player_num())) { /* no owner, how good is the other node ? */ cur_e = e; cur_score = genetic_score_node(othernode, FALSE, myChromosome, myGameState); /* umm.. can we build here? */ /*if (!can_settlement_be_built(othernode, my_player_num ())) cur_e = NULL; */ } /* is this the best edge we've seen? */ if ((cur_e != NULL) && (cur_score > bscore)) { best = cur_e; bscore = cur_score; } } *score = bscore; return best; } /* * Best road to a road * */ static Edge *best_road_to_road_spot(Node * n, float *score, const struct chromosome_t *myChromosome, const struct gameState_t *myGameState) { float bscore = -1.0; Edge *best = NULL; int i, j; for (i = 0; i < 3; i++) { Edge *e = n->edges[i]; if (e) { Node *othernode = other_node(e, n); if (can_road_be_built(e, my_player_num())) { for (j = 0; j < 3; j++) { Edge *e2 = othernode->edges[j]; if (e2 == NULL) continue; /* We need to look further, temporarily mark this edge as having our road on it. */ e->owner = my_player_num(); e->type = BUILD_ROAD; if (can_road_be_built (e2, my_player_num())) { float nscore = genetic_score_node (other_node (e2, othernode), FALSE, myChromosome, myGameState); if (nscore > bscore) { bscore = nscore; best = e; } } /* restore map to its real state */ e->owner = -1; e->type = BUILD_NONE; } } } } *score = bscore; return best; } /* * Best road to road on whole map * */ static Edge *best_road_to_road(const struct chromosome_t *myChromosome, const struct gameState_t *myGameState, float *destinationScore) { int i, j, k; Edge *best = NULL; float bestscore = -1.0; Map *map = callbacks.get_map(); for (i = 0; i < map->x_size; i++) { for (j = 0; j < map->y_size; j++) { for (k = 0; k < 6; k++) { Node *n = map_node(map, i, j, k); Edge *e; float score; if ((n) && (n->owner == my_player_num())) { e = best_road_to_road_spot(n, &score, myChromosome, myGameState); if (score > bestscore) { best = e; bestscore = score; } } } } } *destinationScore = bestscore; return best; } /* * Best road spot * */ static Edge *best_road_spot(const struct chromosome_t *myChromosome, const struct gameState_t *myGameState, float *destinationScore) { int i, j, k; Edge *best = NULL; float bestscore = -1.0; node_seen_set_t nodeseen; Map *map = callbacks.get_map(); /* * For every node that we're the owner of traverse out to find the best * node we're one road away from and build that road * * * xxx loops */ for (i = 0; i < map->x_size; i++) { for (j = 0; j < map->y_size; j++) { for (k = 0; k < 6; k++) { Node *n = map_node(map, i, j, k); if ((n != NULL) && (n->owner == my_player_num())) { float score = -1.0; Edge *e; nodeset_reset(&nodeseen); e = traverse_out(n, &nodeseen, &score, myChromosome, myGameState); if (score > bestscore) { best = e; bestscore = score; } } } } } *destinationScore = bestscore; return best; } /* * Any road at all that's valid for us to build */ static void rand_road_iterator(Node * n, void *rock) { int i; Edge **out = (Edge **) rock; if (n == NULL) return; for (i = 0; i < 3; i++) { Edge *e = n->edges[i]; if ((e) && (can_road_be_built(e, my_player_num()))) *out = e; } } /* * Find any road we can legally build * */ static Edge *find_random_road(void) { Edge *e = NULL; for_each_node(&rand_road_iterator, &e); return e; } static void places_can_build_iterator(Node * n, void *rock) { int *count = (int *) rock; if (can_settlement_be_built(n, my_player_num())) (*count)++; } static int places_can_build_settlement(void) { int count = 0; for_each_node(&places_can_build_iterator, (void *) &count); return count; } #if 0 /* * How many resource cards does player have? * */ static int num_assets(gint assets[NO_RESOURCE]) { int i; int count = 0; for (i = 0; i < NO_RESOURCE; i++) { count += assets[i]; } return count; } #endif static int player_get_num_resource(int player) { return player_get(player)->statistics[STAT_RESOURCES]; } /* * Does this resource list contain one element? If so return it * otherwise return NO_RESOURCE */ static int which_one(gint assets[NO_RESOURCE]) { int i; int res = NO_RESOURCE; int tot = 0; for (i = 0; i < NO_RESOURCE; i++) { if (assets[i] > 0) { tot += assets[i]; res = i; } } if (tot == 1) return res; return NO_RESOURCE; } /* * Does this resource list contain just one kind of element? If so return it * otherwise return NO_RESOURCE */ static int which_resource(gint assets[NO_RESOURCE]) { int i; int res = NO_RESOURCE; int n_nonzero = 0; for (i = 0; i < NO_RESOURCE; i++) { if (assets[i] > 0) { n_nonzero++; res = i; } } if (n_nonzero == 1) return res; return NO_RESOURCE; } /* * What resource do we want the most? * * NOTE: If a resource is not available (players or bank), the * resval->value[resource] should be zero. */ static int resource_desire(gint assets[NO_RESOURCE], const struct chromosome_t *myChromosome, const struct gameState_t *myGameState) { BuyType bt; int res = NO_RESOURCE; gint need[NO_RESOURCE]; /* This code is temporary, it should use bestStrategy to find out which one resource increments its expected profit the most */ /* do i need just 1 more for something? */ for (bt = 0; bt < BUY_LAST; bt++) { if (should_buy (assets, bt, myChromosome, myGameState, need)) continue; res = which_one(need); if (res == NO_RESOURCE) continue; return res; } res = 1; return res; } static void findit_iterator(Node * n, void *rock) { Node **node = (Node **) rock; int i; if (!n) return; if (n->owner != my_player_num()) return; /* if i own this node */ for (i = 0; i < 3; i++) { if (n->edges[i] == NULL) continue; if (n->edges[i]->owner == my_player_num()) return; } *node = n; } /* Find the settlement with no roads yet * */ static Node *void_settlement(void) { Node *ret = NULL; for_each_node(&findit_iterator, (void *) &ret); return ret; } /* * Game setup * Build one house and one road */ static void genetic_setup_house(void) { Node *node; struct gameState_t myGameState; /*resource_values_t resval; reevaluate_resources(&resval); */ /* myGameState->resourcesSupply matrix will be used to value hexes by genetic_score_hex, we need to update it */ reevaluate_gameState_supply_matrix_and_resources(&myGameState); if (stock_num_settlements() == 0) { ai_panic(N_("No settlements in stock to use for setup")); return; } node = best_settlement_spot(TRUE, &thisChromosome, &myGameState); if (node == NULL) { ai_panic(N_("There is no place to setup a settlement")); return; } /* node_add(player, BUILD_SETTLEMENT, node->x, node->y, node->pos, FALSE); */ cb_build_settlement(node); } /* * Game setup * Build one house and one road */ static void genetic_setup_road(void) { Node *node; Edge *e = NULL; guint i; float tmp; struct gameState_t myGameState; /* resource_values_t resval; reevaluate_resources(&resval); */ /* myGameState->resourcesSupply matrix will be used to value hexes by genetic_score_hex, we need to update it */ reevaluate_gameState_supply_matrix_and_resources(&myGameState); if (stock_num_roads() == 0) { ai_panic(N_("No roads in stock to use for setup")); return; } node = void_settlement(); e = best_road_to_road_spot(node, &tmp, &thisChromosome, &myGameState); /* if didn't find one just pick one randomly */ if (e == NULL) { for (i = 0; i < G_N_ELEMENTS(node->edges); i++) { if (is_edge_on_land(node->edges[i])) { e = node->edges[i]; break; } } if (e == NULL) { ai_panic(N_("There is no place to setup a road")); return; } } cb_build_road(e); } #if 0 static void set_myPorts(gint * myPorts) { MaritimeInfo info; int i; map_maritime_info(callbacks.get_map(), &info, my_player_num()); for (i = 0; i < NO_RESOURCE; i++) { if (info.specific_resource[i]) myPorts[i] = 2; else if (info.any_resource) myPorts[i] = 3; else myPorts[i] = 4; } return; } #endif void updateTradingMatrix(const struct chromosome_t *myChromosome, float profit, struct tradingMatrixes_t *tradeThisForThat, struct gameState_t myGameState, int myTurn) { /* It will check if any resource trade will improve profit in a given turn and will update the trading matrix consequently. * At this point it will only check whether any one resource by one resource trading is beneficial to me. * If a 4:1, 3:1 or 2:1 trading is possible and beneficial it will set according matrix to that profit too * IMPROVEMENT: You can use a constant k[1..2] so that I am only interested in trading if profitAfterTrade is k times higher than profit. * That k could improve when Im trading with "winning" adversaries.*/ int give, take; /* I give resource give, I get resource take */ float profitAfterTrade; struct simulationsData_t thisSimulation; strategy_t thisStrategy; float turn = myChromosome->turn; float prob = myChromosome->probability; MaritimeInfo info; map_maritime_info(callbacks.get_map(), &info, my_player_num()); for (give = 0; give <= 4; give++) { for (take = 0; take <= 4; take++) { tradeThisForThat->specificResource[give][take] = 0; tradeThisForThat->genericResource[give][take] = 0; tradeThisForThat->bankTrade[give][take] = 0; tradeThisForThat->internalTrade[give][take] = 0; } } for (give = 0; give <= 4; give++) { if ((myGameState.resourcesAlreadyHave[give] >= 2) && (info.specific_resource[give])) { /* I have a specific port to export give */ for (take = 0; take <= 4; take++) { if ((give != take) && (get_bank()[take])) { /* There is no point in trading the same resource */ myGameState.resourcesAlreadyHave [give] -= 2; myGameState.resourcesAlreadyHave [take]++; profitAfterTrade = bestStrategy(turn, prob, &thisSimulation, thisStrategy, myGameState, 0, myTurn, num_players()); if (profitAfterTrade > profit) { tradeThisForThat->specificResource [give] [take] = profitAfterTrade; } myGameState.resourcesAlreadyHave [give] += 2; myGameState.resourcesAlreadyHave [take]--; } } } /* It will check this only if it is not possible to do 2:1 trade */ else if ((myGameState.resourcesAlreadyHave[give] >= 3) && (info.any_resource)) { /* I have a generic port to export any resource */ for (take = 0; take <= 4; take++) { if ((give != take) && (get_bank()[take])) { /* There is no point in trading the same resource */ myGameState.resourcesAlreadyHave [give] -= 3; myGameState.resourcesAlreadyHave [take]++; profitAfterTrade = bestStrategy(turn, prob, &thisSimulation, thisStrategy, myGameState, 0, myTurn, num_players()); if (profitAfterTrade > profit) { tradeThisForThat->genericResource [give] [take] = profitAfterTrade; } myGameState.resourcesAlreadyHave [give] += 3; myGameState.resourcesAlreadyHave [take]--; } } } /* It will check this only if it is neither possible to do 2:1 nor 3:1 trade */ else if (myGameState.resourcesAlreadyHave[give] >= 4) { /* I have at least 4 of this resource, I could do 4:1 trade */ for (take = 0; take <= 4; take++) { if ((give != take) && (get_bank()[take])) { /* There is no point in trading the same resource */ myGameState.resourcesAlreadyHave [give] -= 4; myGameState.resourcesAlreadyHave [take]++; profitAfterTrade = bestStrategy(turn, prob, &thisSimulation, thisStrategy, myGameState, 0, myTurn, num_players()); if (profitAfterTrade > profit) { tradeThisForThat->bankTrade [give][take] = profitAfterTrade; } myGameState.resourcesAlreadyHave [give] += 4; myGameState.resourcesAlreadyHave [take]--; } } } /* At this point the highest value of these 3 matrixes represents the most beneficial trade of all */ /* It will always check all possible trades with other players */ #if 0 if (myGameState.resourcesAlreadyHave[give]) { /* I cannot trade something I dont have */ for (take = 0; take <= 4; take++) { if (give != take) { /* There is no point in trading the same resource */ myGameState.resourcesAlreadyHave [give]--; myGameState.resourcesAlreadyHave [take]++; profitAfterTrade = bestStrategy(turn, prob, &thisSimulation, thisStrategy, myGameState, 0, num_players()); if (profitAfterTrade > profit) { tradeThisForThat-> internalTrade[give] [take] = profitAfterTrade; } myGameState.resourcesAlreadyHave [give]++; myGameState.resourcesAlreadyHave [take]--; } } } #endif } } float best_maritime_trade(const struct tradingMatrixes_t thisTradingMatrixes, int *amount, Resource * trade_away, Resource * want_resource) /* Inspects thisTradingMatrixes and outputs the most favorable maritime trade */ { float best = 0; int portType = 0; int give, take, bestgive, besttake; bestgive = 0; besttake = 0; for (give = 0; give < 5; give++) { for (take = 0; take < 5; take++) { if (take != give) { if (thisTradingMatrixes.bankTrade[give] [take] > best) { best = thisTradingMatrixes.bankTrade [give][take]; portType = 4; bestgive = give; besttake = take; } if (thisTradingMatrixes.specificResource [give][take] > best) { best = thisTradingMatrixes.specificResource [give][take]; portType = 2; bestgive = give; besttake = take; } if (thisTradingMatrixes.genericResource [give][take] > best) { best = thisTradingMatrixes.genericResource [give][take]; portType = 3; bestgive = give; besttake = take; } } } } *amount = portType; *trade_away = bestgive; *want_resource = besttake; return (best); } /** I can play the card, but will I do it? * @param cardtype The type of card to consider * @return TRUE if the card is to be played */ static gboolean will_play_development_card(DevelType cardtype) { gint amount, i; if (is_victory_card(cardtype)) { return TRUE; } switch (cardtype) { case DEVEL_SOLDIER: return TRUE; case DEVEL_YEAR_OF_PLENTY: /* only when the bank is full enough */ amount = 0; for (i = 0; i < NO_RESOURCE; i++) amount += get_bank()[i]; if (amount >= 2) { return TRUE; } break; case DEVEL_ROAD_BUILDING: /* don't if don't have two roads left */ if (stock_num_roads() < 2) break; return TRUE; case DEVEL_MONOPOLY: return determine_monopoly_resource() != NO_RESOURCE; default: break; } return FALSE; } void outputGameState(const struct gameState_t myGameState) { int i, j; printf("\033[2J"); /* clear the screen */ printf("\033[H"); /* position cursor at top-left corner */ /*int sysret; sysret=system("clear"); if (sysret) return; */ printf("\t\t\t\tBr\tGr\tOr\tWo\tLu\n"); for (i = 0; i <= 10; i++) { printf("\t\t\t\t"); for (j = 0; j < 5; j++) { printf("%d\t", myGameState.resourcesSupply[i][j]); } printf("If %d is rolled\n", i + 2); } printf("\n\t\t\t\tSET\tCIT\tDEV\tRSET\tRRSET\n"); printf("\t\tActionValues:\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\n\n", myGameState.actionValue[SET], myGameState.actionValue[CIT], myGameState.actionValue[DEV], myGameState.actionValue[RSET], myGameState.actionValue[RRSET]); printf("\t\t\t\tBr\tGr\tOr\tWo\tLu\n"); printf("\t\tResources:"); for (i = 0; i < NO_RESOURCE; ++i) printf("\t%d", myGameState.resourcesAlreadyHave[i]); printf("\tTotal resources:\t%d\t\tVictory Points:\t%d\n\n", player_get(my_player_num())->statistics[STAT_RESOURCES], player_get_score(my_player_num())); printf("Statistics:\t"); for (i = 0; i <= STAT_DEVELOPMENT; i++) { printf("%d\t", player_get(my_player_num())->statistics[i]); } printf ("\nStock of:\tRoads %d\tSettlements %d\tCities %d\tDev. Cards %d\n", stock_num_roads(), stock_num_settlements(), stock_num_cities(), stock_num_develop()); } void outputStrategy(strategy_t myStrategy, const struct simulationsData_t mySimulation, const struct gameState_t myGameState) { int time_a, time_b; time_a = mySimulation.turnsToAction[myStrategy[0]]; time_b = mySimulation.timeCombinedAction[myStrategy[0]][myStrategy[1]]; printf("\n\t\tMy strategy is to do "); printAction(myStrategy[0]); printf(" at time %d, and ", time_a); printAction(myStrategy[1]); printf(" at time %d\n", time_b); if (time_a == 0) { printf("\t\tSince I can do "); printAction(myStrategy[0]); printf(" now, I will do it\n"); } else if (((myStrategy[0] == RSET) || (myStrategy[0] == RRSET) || (myStrategy[0] == CIT)) && (checkRoadNow (myStrategy[0], myStrategy[1], myGameState))) { printf("\t\tI cannot do "); printAction(myStrategy[0]); printf(" complete, but I can already build the road.\n"); } printf("\n"); } /* Returns TRUE if I am at 1 point from winning the game */ static int lastMinute(void) { const Deck *deck = get_devel_deck(); gint num_victory_cards = 0; gint victory_point_target, my_points; guint i; for (i = 0; i < deck_count(deck); i++) { DevelType cardtype = deck_get_guint(deck, i); /* if it's a vp card, note this for later */ if (is_victory_card(cardtype)) { num_victory_cards++; continue; } } victory_point_target = game_victory_points(); my_points = player_get_score(my_player_num()); if ((num_victory_cards + my_points) == (victory_point_target - 1)) { return (1); } else return (0); } /* * What to do? what to do? * */ static void genetic_turn(void) { /* resource_values_t resval; */ struct gameState_t thisGameState; struct simulationsData_t thisSimulation; guint i; strategy_t thisStrategy; float turn, probability; turn = thisChromosome.turn; probability = thisChromosome.probability; Node *city_node; Node *sett_node; Edge *road_edge; Edge *long_road_edge; float destinationRoadScore, destinationLongRoadScore; int time_a; float thisStrategyProfit; /* int assets[5],need[5]; */ struct tradingMatrixes_t thisTradingMatrixes; Resource trade_away, want_resource; int amount; printf("Entering genetic_turn...\n"); int victoryPoints = player_get_score(my_player_num()); if (victoryPoints > 9) victoryPoints = 9; /* Maximum index in the chromosome */ /* play soldier card before the turn when an own resource is blocked */ Hex *hex = map_robber_hex(callbacks.get_map()); if (hex && !have_rolled_dice() && can_play_any_develop()) { const Deck *deck = get_devel_deck(); for (i = 0; i < deck_count(deck); i++) { DevelType cardtype = deck_get_guint(deck, i); if (cardtype == DEVEL_SOLDIER && can_play_develop(i)) { int j; for (j = 0; j < 6; j++) { if (hex->nodes[j]->owner == my_player_num()) { cb_play_develop(i); return; } } } } } if (!have_rolled_dice()) { cb_roll(); return; } /* Don't wait before the dice roll, that will take too long */ ai_wait(); /* reevaluate_resources(&resval); */ /* This is were I should read the chromosome, now it is using the default */ /* I set myGameState with the information needed */ reevaluate_gameState_supply_matrix_and_resources(&thisGameState); /* I need to know the value of the best possible Settlement, City, Road to Settlement and Long Road to Settlement to set thisGameState.actionValue for each of them */ /* Note that even though I am passing thisGameState to should_buy it does not need to access thisGameState.actionValue */ /*Best City */ city_node = best_city_spot(&thisChromosome, &thisGameState); if ((city_node != NULL) && (stock_num_cities())) { thisGameState.actionValue[CIT] = genetic_score_node(city_node, TRUE, &thisChromosome, &thisGameState) * (thisChromosome.resourcesValueMatrix[victoryPoints][6]); /* The relative value of city at this point in the game */ } else thisGameState.actionValue[CIT] = 0; /* Best Settlement */ sett_node = best_settlement_spot(FALSE, &thisChromosome, &thisGameState); if ((sett_node != NULL) && stock_num_settlements()) { thisGameState.actionValue[SET] = genetic_score_node(sett_node, FALSE, &thisChromosome, &thisGameState); } else thisGameState.actionValue[SET] = 0; /* Best Road to Settlement, that is, best destination to build a Settlement after building a Road */ road_edge = best_road_spot(&thisChromosome, &thisGameState, &destinationRoadScore); if ((road_edge != NULL) && stock_num_roads() && stock_num_settlements()) { thisGameState.actionValue[RSET] = destinationRoadScore; } if (destinationRoadScore < 0) destinationRoadScore = 0; /* Best Long Road to Settlement, this is, best destination to build a Settlement after building two Roads */ long_road_edge = best_road_to_road(&thisChromosome, &thisGameState, &destinationLongRoadScore); if ((long_road_edge != NULL) && (stock_num_roads() >= 2) && stock_num_settlements()) { thisGameState.actionValue[RRSET] = destinationLongRoadScore; } if (destinationLongRoadScore < 0) destinationLongRoadScore = 0; /* value of buying Development Card is fixed in the chromosome */ if (stock_num_develop() > 0) thisGameState.actionValue[DEV] = thisChromosome.resourcesValueMatrix[victoryPoints][5]; else thisGameState.actionValue[DEV] = 0; /* Check if I am close to the end of the game */ if (lastMinute()) { /* Am I at the end of the game? */ /* If so, the fastest I can do becomes the best right now. Every action has the same value and turn is close to 0 */ for (i = SET; i <= RRSET; i++) { if (thisGameState.actionValue[i]) thisGameState.actionValue[i] = 10; } if (thisGameState.actionValue[DEV] != 0) thisGameState.actionValue[DEV] = 0; turn = 0.01; } outputGameState(thisGameState); printf("Calculating best strategy...\n"); thisStrategyProfit = bestStrategy(turn, probability, &thisSimulation, thisStrategy, thisGameState, 0, 1, num_players()); ai_wait(); printf ("\t\t\t\tSET\tCIT\tDEV\tRSET\tRRSET\tS+SET\tS+CIT\tS+DEV\tS+RSET\tS+RRSET\tC+CIT\tC+DEV\tC+RSET\tC+RRSET\tD+DEV\tD+RSET\tD+RRSET\tR+RSET\tR+RRSET\tRR+RRSET\n"); printf("\t\tTime to Action:\t"); for (i = 0; i < NUM_ACTIONS; i++) printf("%d\t", thisSimulation.turnsToAction[i]); printf("\n"); outputStrategy(thisStrategy, thisSimulation, thisGameState); printf ("Will I do it? Lets see if I can trade to do something better...\n"); /* Trading code should go here. Now that I know my expected profit, I can see if there is a way to improve it trading */ printf("Updating trading matrixes...\n"); updateTradingMatrix(&thisChromosome, thisStrategyProfit, &thisTradingMatrixes, thisGameState, 1); /* ai_wait(); */ if (best_maritime_trade (thisTradingMatrixes, &amount, &trade_away, &want_resource) && can_trade_maritime()) { printf ("According to trading matrixes I will trade %d of %d for 1 of %d\n", amount, trade_away, want_resource); cb_maritime(amount, trade_away, want_resource); return; } else printf ("According to trading matrixes there is no favorable trade possible\n"); time_a = thisSimulation.turnsToAction[thisStrategy[0]]; if (time_a == 0) { /* I can do what I want NOW */ /* Under certain uncommon circumstances is possible for bestStrategy to choose an strategy whose first action yields profit 0, * so we should check that there is in fact possible to do what I want to do before trying to do it*/ printf("Resources:"); for (i = 0; i < 5; i++) printf(" %d ", resource_asset(i)); printf("\n"); switch (thisStrategy[0]) { case SET:{ if ((sett_node != NULL) && (stock_num_settlements())) { printf("Building Settlement...\n"); cb_build_settlement(sett_node); return; } break; } case CIT:{ if ((city_node != NULL) && (stock_num_cities())) { printf("Building City...\n"); cb_build_city(city_node); return; } break; } case RSET:{ if ((road_edge != NULL) && (stock_num_roads())) { printf ("Building Road as part of RSET...\n"); cb_build_road(road_edge); return; } break; } case RRSET:{ if ((long_road_edge != NULL) && (stock_num_roads())) { printf ("Building Road as part of RRSET...\n"); cb_build_road(long_road_edge); return; } break; } case DEV:{ if (can_buy_develop()) { printf ("Buying Development Card...\n"); cb_buy_develop(); return; } break; } } } /* Even if it is not possible to do anything completely now now, maybe I can build road anyway, if that does not affect my chosen strategy In that case, I will do it in the best place possible, influenced by my strategy */ else if ((checkRoadNow (thisStrategy[0], thisStrategy[1], thisGameState)) && stock_num_roads()) { switch (thisStrategy[0]) { case SET: case CIT: case DEV: switch (thisStrategy[1]) { case RSET: if (destinationRoadScore) { printf ("Building Road of RSET in the meantime...\n"); cb_build_road(road_edge); return; } break; case RRSET: if (destinationLongRoadScore) { printf ("Building Road of RRSET in the meantime...\n"); cb_build_road(long_road_edge); return; } break; default: if ((destinationRoadScore) && (destinationRoadScore >= destinationLongRoadScore)) { printf ("Building Road of RSET in the meantime...\n"); cb_build_road(road_edge); return; } else if ((destinationLongRoadScore) && (destinationLongRoadScore > destinationRoadScore)) { printf ("Building Road of RRSET in the meantime...\n"); cb_build_road(long_road_edge); return; } break; } /* IMPROVEMENT: Instead of building the best road, If thisStrategy[1] is RSET or RRSET it should chose that road to build if ((destinationRoadScore)&&(destinationRoadScore>=destinationLongRoadScore)) { cb_build_road(road_edge); return; } else if ((destinationLongRoadScore)&&(destinationLongRoadScore>destinationRoadScore)) { cb_build_road(long_road_edge); return; } break; */ case RSET: if (destinationRoadScore) { printf ("Building Road of RSET in the meantime...\n"); cb_build_road(road_edge); return; } break; case RRSET: if (destinationLongRoadScore) { printf ("Building Road of RRSET in the meantime...\n"); cb_build_road(long_road_edge); return; } break; default: break; } } /* play development cards */ if (can_play_any_develop()) { const Deck *deck = get_devel_deck(); gint num_victory_cards = 0; gint victory_point_target, my_points; for (i = 0; i < deck_count(deck); i++) { DevelType cardtype = deck_get_guint(deck, i); /* if it's a vp card, note this for later */ if (is_victory_card(cardtype)) { num_victory_cards++; continue; } /* can't play card we just bought */ if (can_play_develop(i)) { if (will_play_development_card(cardtype)) { cb_play_develop(i); return; } } } /* if we have enough victory cards to win, then play them */ victory_point_target = game_victory_points(); my_points = player_get_score(my_player_num()); if (num_victory_cards + my_points >= victory_point_target) { for (i = 0; i < deck_count(deck); i++) { DevelType cardtype = deck_get_guint(deck, i); if (is_victory_card(cardtype)) { cb_play_develop(i); return; } } } } printf("Finishing my turn...\n"); cb_end_turn(); } static float score_node_hurt_opponents(Node * node) { /* no building there */ if (node->owner == -1) return 0; /* do I have a house there? */ if (my_player_num() == node->owner) { if (node->type == BUILD_SETTLEMENT) { return -2.0; } else { return -3.5; } } /* opponent has house there */ if (node->type == BUILD_SETTLEMENT) { return 1.5; } else { return 2.5; } } /* * How much does putting the robber here hurt my opponents? */ static float score_hex_hurt_opponents(Hex * hex) { int i; float score = 0; if (hex == NULL) return -1000; /* don't move the pirate. */ if (!can_robber_or_pirate_be_moved(hex) || hex->terrain == SEA_TERRAIN) return -1000; for (i = 0; i < 6; i++) { score += score_node_hurt_opponents(hex->nodes[i]); } /* multiply by resource/roll value */ score *= default_score_hex(hex); return score; } /* * Find the best (worst for opponents) place to put the robber * */ static void genetic_place_robber(void) { int i, j; float bestscore = -1000; Hex *besthex = NULL; Map *map = callbacks.get_map(); ai_wait(); for (i = 0; i < map->x_size; i++) { for (j = 0; j < map->y_size; j++) { Hex *hex = map_hex(map, i, j); float score = score_hex_hurt_opponents(hex); if (score > bestscore) { bestscore = score; besthex = hex; } } } cb_place_robber(besthex); } static void genetic_steal_building(void) { int i; int victim = -1; int victim_resources = -1; Hex *hex = map_robber_hex(callbacks.get_map()); /* which opponent to steal from */ for (i = 0; i < 6; i++) { int numres = 0; /* if has owner (and isn't me) */ if ((hex->nodes[i]->owner != -1) && (hex->nodes[i]->owner != my_player_num())) { numres = player_get_num_resource(hex->nodes[i]->owner); } if (numres > victim_resources) { victim = hex->nodes[i]->owner; victim_resources = numres; } } cb_rob(victim); ai_chat_self_moved_robber(); } /* * A devel card game us two free roads. let's build them * */ static void genetic_free_road(void) { Edge *e; float destinationScore; struct gameState_t myGameState; /* resource_values_t resval; reevaluate_resources(&resval); */ reevaluate_gameState_supply_matrix_and_resources(&myGameState); e = best_road_spot(&thisChromosome, &myGameState, &destinationScore); if (e == NULL) { e = best_road_to_road(&thisChromosome, &myGameState, &destinationScore); } if (e == NULL) { e = find_random_road(); } if (e != NULL) { cb_build_road(e); return; } else { log_message(MSG_ERROR, "unable to find spot to build free road\n"); cb_disconnect(); } } /* * We played a year of plenty card. pick the two resources we most need */ static void genetic_year_of_plenty(const gint bank[NO_RESOURCE]) { gint want[NO_RESOURCE]; gint assets[NO_RESOURCE]; int i; int r1, r2; /* resource_values_t resval; */ struct gameState_t myGameState; ai_wait(); for (i = 0; i < NO_RESOURCE; i++) { want[i] = 0; assets[i] = resource_asset(i); } /* what two resources do we desire most */ /* reevaluate_resources(&resval); */ reevaluate_gameState_supply_matrix_and_resources(&myGameState); r1 = resource_desire(assets, &thisChromosome, &myGameState); /* If we don't desire anything anymore, ask for a road. * This happens if we have at least 2 of each resource */ if (r1 == NO_RESOURCE) r1 = BRICK_RESOURCE; assets[r1]++; /* reevaluate_resources(&resval); */ reevaluate_gameState_supply_matrix_and_resources(&myGameState); r2 = resource_desire(assets, &thisChromosome, &myGameState); if (r2 == NO_RESOURCE) r2 = LUMBER_RESOURCE; assets[r1]--; /* If we want something that is not in the bank, request something else */ /* WARNING: This code can cause a lockup if the bank is empty, but * then the year of plenty must not have been playable */ while (bank[r1] < 1) r1 = (r1 + 1) % NO_RESOURCE; while (bank[r2] < (r1 == r2 ? 2 : 1)) r2 = (r2 + 1) % NO_RESOURCE; want[r1]++; want[r2]++; cb_choose_plenty(want); } /* * We played a monopoly card. Pick a resource */ static gint other_players_have(Resource res) { return game_resources() - get_bank()[res] - resource_asset(res); } static float monopoly_wildcard_value(const resource_values_t * resval, const gint assets[NO_RESOURCE], gint resource) { return (float) (other_players_have(resource) + assets[resource]) / resval->ports[resource]; } /** Determine the best resource to get with a monopoly card. * @return the resource */ static gint determine_monopoly_resource() { gint assets[NO_RESOURCE]; int i; gint most_desired; gint most_wildcards; resource_values_t resval; struct gameState_t myGameState; for (i = 0; i < NO_RESOURCE; i++) assets[i] = resource_asset(i); /* order resources by preference */ reevaluate_resources(&resval); reevaluate_gameState_supply_matrix_and_resources(&myGameState); /* try to get something we need */ most_desired = resource_desire(assets, &thisChromosome, &myGameState); /* try to get the optimal maritime trade. */ most_wildcards = 0; for (i = 1; i < NO_RESOURCE; i++) { if (monopoly_wildcard_value(&resval, assets, i) > monopoly_wildcard_value(&resval, assets, most_wildcards)) most_wildcards = i; } /* choose the best */ if (most_desired != NO_RESOURCE && other_players_have(most_desired) > monopoly_wildcard_value(&resval, assets, most_wildcards)) { return most_desired; } else if (monopoly_wildcard_value(&resval, assets, most_wildcards) >= 1.0) { return most_wildcards; } else { return NO_RESOURCE; } } static void genetic_monopoly(void) { ai_wait(); cb_choose_monopoly(determine_monopoly_resource()); } /* * Of these resources which is least valuable to us * * Get rid of the one we have the most of * if there's a tie let resource_values_t settle it */ #if 0 static int least_valuable(gint assets[NO_RESOURCE], resource_values_t * resval) { int ret = NO_RESOURCE; int res; int most = 0; float mostval = -1; for (res = 0; res < NO_RESOURCE; res++) { if (assets[res] > most) { if (resval->value[res] > mostval) { ret = res; most = assets[res]; mostval = resval->value[res]; } } } return ret; } #endif /* * Which resource do we desire the least? */ /** Calculates the value of every possible action and sets them in myGameState->actionValues */ static void reevaluate_gameState_actionValues(const struct chromosome_t *myChromosome, struct gameState_t *myGameState) { Node *city_node; Node *sett_node; Edge *road_edge; Edge *long_road_edge; float destinationRoadScore, destinationLongRoadScore; int victoryPoints = player_get_score(my_player_num()); if (victoryPoints > 9) victoryPoints = 9; /* I need to know the value of the best possible Settlement, City, Road to Settlement and Long Road to Settlement to set thisGameState.actionValue for each of them */ /* Best City */ city_node = best_city_spot(myChromosome, myGameState); if ((city_node != NULL) && (stock_num_cities())) { myGameState->actionValue[CIT] = genetic_score_node(city_node, TRUE, myChromosome, myGameState); } else myGameState->actionValue[CIT] = 0; /* Best Settlement */ sett_node = best_settlement_spot(FALSE, myChromosome, myGameState); if ((sett_node != NULL) && stock_num_settlements()) { myGameState->actionValue[SET] = genetic_score_node(sett_node, FALSE, myChromosome, myGameState); } else myGameState->actionValue[SET] = 0; /* Best Road to Settlement, that is, best destination to build a Settlement after building a Road */ road_edge = best_road_spot(myChromosome, myGameState, &destinationRoadScore); if ((road_edge != NULL) && stock_num_roads() && stock_num_settlements()) { myGameState->actionValue[RSET] = destinationRoadScore; } else myGameState->actionValue[RSET] = 0; /* Best Long Road to Settlement, this is, best destination to build a Settlement after building two Roads */ long_road_edge = best_road_to_road(myChromosome, myGameState, &destinationLongRoadScore); if ((long_road_edge != NULL) && (stock_num_roads() >= 2) && stock_num_settlements()) { myGameState->actionValue[RRSET] = destinationLongRoadScore; } else myGameState->actionValue[RRSET] = 0; /* value of buying Development Card is fixed in the chromosome */ myGameState->actionValue[DEV] = myChromosome->resourcesValueMatrix[victoryPoints][5]; return; } /* given totalDiscards resources I should discard it sets the array todiscard to that resources */ static int update_todiscard_resources(int totalDiscards, const struct chromosome_t *myChromosome, struct gameState_t *myGameState, gint todiscard[NO_RESOURCE]) { int giveaway, give, i; float profitLossAfterDiscard, minimumProfitLoss; float turn = myChromosome->turn; float prob = myChromosome->probability; struct simulationsData_t thisSimulation; strategy_t thisStrategy; float actualProfit; printf("Resources:"); for (i = 0; i < 5; i++) printf(" %d ", resource_asset(i)); printf("\n"); int discards = 0; giveaway = -1; for (i = 0; i < NO_RESOURCE; i++) { todiscard[i] = 0; } reevaluate_gameState_supply_matrix_and_resources(myGameState); /* Also set resourcesAlreadyHave to the real values */ reevaluate_gameState_actionValues(myChromosome, myGameState); while (discards < totalDiscards) { /* First I calculate the best that I could do with my resources, before giving anything away */ minimumProfitLoss = 999; actualProfit = bestStrategy(turn, prob, &thisSimulation, thisStrategy, *myGameState, 0, 1, num_players()); for (give = 0; give <= 4; give++) { /* which resource is the best to get rid of it? */ if (myGameState->resourcesAlreadyHave[give] >= 1) { /* I have something to discard */ /*printf("Testing resource %d on discard %d\n", give,discards+1); */ myGameState->resourcesAlreadyHave[give]--; profitLossAfterDiscard = actualProfit - bestStrategy(turn, prob, &thisSimulation, thisStrategy, *myGameState, 0, 0, num_players ()); if (profitLossAfterDiscard < minimumProfitLoss) { /* this discard is the best so far */ minimumProfitLoss = profitLossAfterDiscard; giveaway = give; } myGameState->resourcesAlreadyHave[give]++; } } todiscard[giveaway]++; myGameState->resourcesAlreadyHave[giveaway]--; discards++; printf ("The discard number %d of the total %d I have to discard will be ", discards, totalDiscards); printResource(giveaway); printf(" (and now I have %d of it left)\n", myGameState->resourcesAlreadyHave[giveaway]); } if ((giveaway == -1) || (discards != totalDiscards)) printf("giveaway=-1!!! or wrong number of discards\n"); return (discards); /* Should never get here */ g_assert_not_reached(); return 0; } /* * A seven was rolled. we need to discard some resources :( * */ static void genetic_discard(int num) { gint todiscard[NO_RESOURCE]; int i; struct gameState_t myGameState; update_todiscard_resources(num, &thisChromosome, &myGameState, todiscard); printf("Resources:"); for (i = 0; i < 5; i++) printf(" %d ", resource_asset(i)); printf("\n"); for (i = 0; i < NO_RESOURCE; i++) printf("Resource %d discard %d\n", i, todiscard[i]); cb_discard(todiscard); } /* * Domestic Trade * */ static int quote_next_num(void) { return quote_num++; } static void genetic_quote_start(void) { quote_num = 0; } static int trade_desired(gint assets[NO_RESOURCE], gint give, gint take, gboolean free_offer) { int i, n; int res = NO_RESOURCE; resource_values_t resval; float value = 0.0; gint need[NO_RESOURCE]; struct gameState_t myGameState; /* This code is temporary, it should use bestStrategy to find out if the expected profit is higher with the new resources */ reevaluate_gameState_supply_matrix_and_resources(&myGameState); if (!free_offer) { /* don't give away cards we have only once */ if (assets[give] <= 1) { return 0; } /* make it as if we don't have what we're trading away */ assets[give] -= 1; } for (n = 1; n <= 3; ++n) { /* do i need something more for something? */ if (!should_buy (assets, BUY_CITY, &thisChromosome, &myGameState, need)) { if ((res = which_resource(need)) == take && need[res] == n) break; } if (!should_buy (assets, BUY_SETTLEMENT, &thisChromosome, &myGameState, need)) { if ((res = which_resource(need)) == take && need[res] == n) break; } if (!should_buy (assets, BUY_ROAD, &thisChromosome, &myGameState, need)) { if ((res = which_resource(need)) == take && need[res] == n) break; } if (!should_buy (assets, BUY_DEVEL_CARD, &thisChromosome, &myGameState, need)) { if ((res = which_resource(need)) == take && need[res] == n) break; } } if (!free_offer) assets[give] += 1; if (n <= 3) return n; /* desire the one we don't produce the most */ reevaluate_resources(&resval); for (i = 0; i < NO_RESOURCE; i++) { if ((resval.value[i] > value) && (assets[i] < 2)) { res = i; value = resval.value[i]; } } if (res == take && assets[give] > 2) { return 1; } return 0; } static void genetic_consider_quote(G_GNUC_UNUSED gint partner, gint we_receive[NO_RESOURCE], gint we_supply[NO_RESOURCE]) { gint give, take, ntake; gint give_res[NO_RESOURCE], take_res[NO_RESOURCE], my_assets[NO_RESOURCE]; gint i; gboolean free_offer; free_offer = TRUE; for (i = 0; i < NO_RESOURCE; ++i) { my_assets[i] = resource_asset(i); free_offer &= we_supply[i] == 0; } for (give = 0; give < NO_RESOURCE; give++) { /* A free offer is always accepted */ if (!free_offer) { if (we_supply[give] == 0) continue; if (my_assets[give] == 0) continue; } for (take = 0; take < NO_RESOURCE; take++) { /* Don't do stupid offers */ if (!free_offer && take == give) continue; if (we_receive[take] == 0) continue; if ((ntake = trade_desired(my_assets, give, take, free_offer)) > 0) goto doquote; } } /* Do not decline anything for free, just take it all */ if (free_offer) { cb_quote(quote_next_num(), we_supply, we_receive); log_message(MSG_INFO, "Taking the whole free offer.\n"); return; } log_message(MSG_INFO, _("Rejecting trade.\n")); cb_end_quote(); return; doquote: for (i = 0; i < NO_RESOURCE; ++i) { give_res[i] = (give == i && !free_offer) ? 1 : 0; take_res[i] = take == i ? ntake : 0; } cb_quote(quote_next_num(), give_res, take_res); log_message(MSG_INFO, "Quoting.\n"); } static void genetic_setup(gint num_settlements, gint num_roads) { ai_wait(); if (num_settlements > 0) genetic_setup_house(); else if (num_roads > 0) genetic_setup_road(); else cb_end_turn(); } static void genetic_roadbuilding(gint num_roads) { ai_wait(); if (num_roads > 0) genetic_free_road(); else cb_end_turn(); } static void genetic_discard_add(gint player_num, gint discard_num) { ai_chat_discard(player_num, discard_num); if (player_num == my_player_num()) { ai_wait(); genetic_discard(discard_num); } } static void genetic_gold_choose(gint gold_num, const gint * bank) { resource_values_t resval; gint assets[NO_RESOURCE]; gint want[NO_RESOURCE]; gint my_bank[NO_RESOURCE]; gint i; int r1; struct gameState_t myGameState; reevaluate_gameState_supply_matrix_and_resources(&myGameState); for (i = 0; i < NO_RESOURCE; i++) { want[i] = 0; assets[i] = resource_asset(i); my_bank[i] = bank[i]; } for (i = 0; i < gold_num; i++) { gint j; reevaluate_resources(&resval); /* If the bank has been emptied, don't desire it */ for (j = 0; j < NO_RESOURCE; j++) { if (my_bank[j] == 0) { resval.value[j] = 0; } } r1 = resource_desire(assets, &thisChromosome, &myGameState); /* If we don't want anything, start emptying the bank */ if (r1 == NO_RESOURCE) { r1 = 0; /* Potential deadlock, but bank is always full enough */ while (my_bank[r1] == 0) r1++; } want[r1]++; assets[r1]++; my_bank[r1]--; } cb_choose_gold(want); } static void outputChromosome(void) { int i, j; for (i = 0; i <= 9; i++) { for (j = 0; j <= 7; j++) { printf("%.3f\t", thisChromosome.resourcesValueMatrix[i][j]); } printf("\n"); } printf("%.3f\t%.3f\t%.3f\n", thisChromosome.depreciation_constant, thisChromosome.turn, thisChromosome.probability); } static void genetic_game_over(gint player_num, G_GNUC_UNUSED gint points) { if (player_num == my_player_num()) { printf ("FINAL RESULT GENETIC: I won! (%s) with %2d points using ", my_player_name(), player_get_score(my_player_num())); if (default_chromosome_used) { printf("DEFAULT\n"); } else printf("%s\n", chromosomeFile); outputChromosome(); /* AI chat when it wins */ ai_chat(N_("Yippie!")); } else { printf ("FINAL RESULT GENETIC: I lost! (%s) with %2d points using ", my_player_name(), player_get_score(my_player_num())); if (default_chromosome_used) { printf("DEFAULT\n"); } else printf("%s\n", chromosomeFile); outputChromosome(); /* AI chat when another player wins */ ai_chat(N_("My congratulations")); } cb_disconnect(); } static void genetic_init_game(void) { int i, j; struct chromosome_t tempChromosome; FILE *chromFilePointer; char line[80]; if (chromosomeFile == NULL) { printf("No chromosome file specified, default used.\n"); return; } printf("Reading chromosome from file: %s\n", chromosomeFile); if ((chromFilePointer = fopen(chromosomeFile, "r")) == NULL) { printf ("Opening of chromosome file %s failed, default used\n", chromosomeFile); return; } printf("Reading chromosome file: %s...\n", chromosomeFile); for (i = 0; i <= 9; i++) { if (fgets(line, 80, chromFilePointer) == NULL) { printf ("Some values in the chromosome are missing! Using default then...\n"); fclose(chromFilePointer); return; } if (sscanf (line, "%f %f %f %f %f %f %f %f", &tempChromosome.resourcesValueMatrix[i][0], &tempChromosome.resourcesValueMatrix[i][1], &tempChromosome.resourcesValueMatrix[i][2], &tempChromosome.resourcesValueMatrix[i][3], &tempChromosome.resourcesValueMatrix[i][4], &tempChromosome.resourcesValueMatrix[i][5], &tempChromosome.resourcesValueMatrix[i][6], &tempChromosome.resourcesValueMatrix[i][7]) != 8) { printf ("Some values in the chromosome are missing! Using default then...\n"); fclose(chromFilePointer); return; } printf("%s", line); } if (fgets(line, 80, chromFilePointer) == NULL) { printf ("Some values in the chromosome are missing! Using default then...\n"); fclose(chromFilePointer); return; } if (sscanf (line, "%f %f %f", &(tempChromosome.depreciation_constant), &(tempChromosome.turn), &(tempChromosome.probability)) != 3) { printf ("Some values in the chromosome are missing! Using default then...\n"); fclose(chromFilePointer); return; } printf("%s", line); printf("Finishing reading the chromosome\n"); fclose(chromFilePointer); default_chromosome_used = FALSE; for (i = 0; i <= 9; i++) { for (j = 0; j <= 7; j++) { thisChromosome.resourcesValueMatrix[i][j] = tempChromosome.resourcesValueMatrix[i][j]; } } thisChromosome.depreciation_constant = tempChromosome.depreciation_constant; thisChromosome.turn = tempChromosome.turn; thisChromosome.probability = tempChromosome.probability; return; } void genetic_init(void) { callbacks.setup = &genetic_setup; callbacks.turn = &genetic_turn; callbacks.robber = &genetic_place_robber; callbacks.steal_building = &genetic_steal_building; callbacks.roadbuilding = &genetic_roadbuilding; callbacks.plenty = &genetic_year_of_plenty; callbacks.monopoly = &genetic_monopoly; callbacks.discard_add = &genetic_discard_add; callbacks.quote_start = &genetic_quote_start; callbacks.quote = &genetic_consider_quote; callbacks.gold_choose = &genetic_gold_choose; callbacks.game_over = &genetic_game_over; callbacks.init_game = &genetic_init_game; } pioneers-15.5/client/ai/genetic_core.h0000644000175000017500000001210412532441753014663 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 2013 Rodrigo Espiga Gómez * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef genetic_core_h #define genetic_core_h /** Number of simulations, could be raised to achieve better accuracy if computing time allows it*/ #define MAX_SIMS 100 /** Number of possible actions, single or paired -> 5 individual (SET,CIT,DEV, RSET RRSET) + 5*5 combined (SET+CIT,SET+DEV,etc) -10 of which are redundant (SET+CIT=CIT+SET) = 20 */ #define NUM_ACTIONS 20 #define MAX_TURNS 100 enum action { SET, CIT, DEV, RSET, RRSET }; /* Possible individual actions: Settlement, City, Development Card, Road+Settlement, Road+Road+Settlement */ typedef enum action strategy_t[2]; /* Pair of preferred actions to carry out in the next turns, possibly the first (or even the second) right now */ typedef float tradingMatrix_t[5][5]; /* If it is set to a positive number it means that I am interested in trading i resource in exchange of j resource */ struct tradingMatrixes_t { tradingMatrix_t internalTrade; /* 1:1 trade with other players */ tradingMatrix_t bankTrade; /* 4:1 trade with the bank */ tradingMatrix_t specificResource; /* 2:1 trade through a port */ tradingMatrix_t genericResource; /* 3:1 trade through generic port */ }; /** A structure of type simulationsData will be used to hold the data of the MAX_SIMS simulations*/ struct simulationsData_t { int resourcesPool[MAX_SIMS][5]; /* Resources for every simulation */ int conditionsMet[MAX_SIMS][NUM_ACTIONS]; /* Boolean matrix that will hold true for every simulation that meets the requirements of certain action * Possible actions are SET,CIT,DEV,RSET,RRSET, SET+SET,SET+CIT,SET+DEV...,CIT+SET,CIT+CIT,...RRSET+RSET,RRSET+RRSET * 5 independent actions+15 combined pairs of actions. * It is important to note that the order in which actions are represented in conditionsMet should match the order they are in resourcesNeededForAction*/ int numberOfSimulationsOK[NUM_ACTIONS]; /* Number of simulations that meet the requirementS for every action */ int turnsToAction[NUM_ACTIONS]; /* Number of turns needed for every action or pair of actions to reach the required probability of getting its resources */ int timeCombinedAction[5][5]; /* It will hold the data of turnsToAction regarding combined actions, it is for ease of access, this information is already hold in turnsToAction */ }; /** A structure of type gameState_t will hold the information of my actual state in the game *resourcesSupply, resourcesAlreadyHave and actionValue are variables whose value depends on the actual situation of the player in the game */ struct gameState_t { int resourcesSupply[11][5]; /* Depends on the location of settlements and cities in the map, 11 different dice outcomes by 5 different resources */ int resourcesAlreadyHave[5]; /* Resources I already have of Brick, Lumber, Grain, Wool and Ore */ float actionValue[5]; /* Benefit of doing best SET, best CIT, pick DEV, best RSET and best RRSET */ }; /** Will hold the values of the chromosome that dictate how certain algorithm plays. They are fixed throughout the whole game */ struct chromosome_t { float resourcesValueMatrix[10][8]; /* value of Brick Lumber, Grain, Wool, Ore, Development Card, City and Port depending on my Victory Points (from 0 to 9) */ float depreciation_constant; /* the higher the depreciation_constant k is the more value it will give to resources it does not have at the moment, 0<=k<=1 */ float turn; /* the turn at which it will calculate the profit of following a particular strategy, 0<=turn<25 */ float probability; /* it will calculate how many turns it needs to perform something with this level of confidence, 0 * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef _ai_h #define _ai_h #include #include "callback.h" /** Filename for the chromosome of the genetic player */ extern char *chromosomeFile; void ai_panic(const char *message); void ai_wait(void); void ai_chat(const char *message); void genetic_init(void); void greedy_init(void); void lobbybot_init(void); /** Chat when a player must discard resources */ void ai_chat_discard(gint player_num, gint discard_num); /** Chat when the computer player moved the robber */ void ai_chat_self_moved_robber(void); #endif pioneers-15.5/client/Makefile.am0000644000175000017500000000171113250006172013517 00000000000000# Pioneers - Implementation of the excellent Settlers of Catan board game. # Go buy a copy. # # Copyright (C) 2003, 2006 Bas Wijnen # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA include client/common/Makefile.am include client/ai/Makefile.am if HAVE_GTK include client/gtk/Makefile.am endif pioneers-15.5/client/gtk/0000755000175000017500000000000013252243610012332 500000000000000pioneers-15.5/client/gtk/resource-view.c0000644000175000017500000003175513252243607015236 00000000000000/* Generated by GOB (v2.0.20) (do not edit directly) */ /* End world hunger, donate to the World Food Programme, http://www.wfp.org */ #line 3 "client/gtk/resource-view.gob" /* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 2006 Giancarlo Capella * Copyright (C) 2011 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #line 30 "resource-view.c" #define GOB_VERSION_MAJOR 2 #define GOB_VERSION_MINOR 0 #define GOB_VERSION_PATCHLEVEL 20 #define selfp (self->_priv) #include /* memset() */ #include "resource-view.h" #include "resource-view-private.h" #ifdef G_LIKELY #define ___GOB_LIKELY(expr) G_LIKELY(expr) #define ___GOB_UNLIKELY(expr) G_UNLIKELY(expr) #else /* ! G_LIKELY */ #define ___GOB_LIKELY(expr) (expr) #define ___GOB_UNLIKELY(expr) (expr) #endif /* G_LIKELY */ /* self casting macros */ #define SELF(x) RESOURCE_VIEW(x) #define SELF_CONST(x) RESOURCE_VIEW_CONST(x) #define IS_SELF(x) RESOURCE_IS_VIEW(x) #define TYPE_SELF RESOURCE_TYPE_VIEW #define SELF_CLASS(x) RESOURCE_VIEW_CLASS(x) #define SELF_GET_CLASS(x) RESOURCE_VIEW_GET_CLASS(x) /* self typedefs */ typedef ResourceView Self; typedef ResourceViewClass SelfClass; /* here are local prototypes */ #line 44 "client/gtk/resource-view.gob" static void resource_view_class_init (ResourceViewClass * klass) G_GNUC_UNUSED; #line 66 "resource-view.c" #line 88 "client/gtk/resource-view.gob" static void resource_view_init (ResourceView * self) G_GNUC_UNUSED; #line 69 "resource-view.c" #line 104 "client/gtk/resource-view.gob" static void resource_view_calculate_size (ResourceView * self, gint * width, gint * height) G_GNUC_UNUSED; #line 72 "resource-view.c" #line 183 "client/gtk/resource-view.gob" static gboolean resource_view_allocate (GtkWidget * self, GtkAllocation * allocation, gpointer user_data) G_GNUC_UNUSED; #line 75 "resource-view.c" #line 195 "client/gtk/resource-view.gob" static gboolean resource_view_draw (GtkWidget * self, cairo_t * cr, gpointer user_data) G_GNUC_UNUSED; #line 78 "resource-view.c" #line 245 "client/gtk/resource-view.gob" static gboolean resource_view_expose (GtkWidget * self, GdkEvent * event, gpointer user_data) G_GNUC_UNUSED; #line 81 "resource-view.c" /* pointer to the class of our parent */ static GtkMiscClass *parent_class = NULL; /* Short form macros */ #define self_new resource_view_new #define self_new_single_resource resource_view_new_single_resource #define self_calculate_size resource_view_calculate_size #define self_set resource_view_set #define self_set_amount_of_single_resource resource_view_set_amount_of_single_resource #define self_allocate resource_view_allocate #define self_draw resource_view_draw #define self_expose resource_view_expose GType resource_view_get_type (void) { static GType type = 0; if ___GOB_UNLIKELY(type == 0) { static const GTypeInfo info = { sizeof (ResourceViewClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) resource_view_class_init, (GClassFinalizeFunc) NULL, NULL /* class_data */, sizeof (ResourceView), 0 /* n_preallocs */, (GInstanceInitFunc) resource_view_init, NULL }; type = g_type_register_static (GTK_TYPE_MISC, "ResourceView", &info, (GTypeFlags)0); } return type; } /* a macro for creating a new object of our type */ #define GET_NEW ((ResourceView *)g_object_new(resource_view_get_type(), NULL)) /* a function for creating a new object of our type */ #include static ResourceView * GET_NEW_VARG (const char *first, ...) G_GNUC_UNUSED; static ResourceView * GET_NEW_VARG (const char *first, ...) { ResourceView *ret; va_list ap; va_start (ap, first); ret = (ResourceView *)g_object_new_valist (resource_view_get_type (), first, ap); va_end (ap); return ret; } static void ___finalize(GObject *obj_self) { #define __GOB_FUNCTION__ "Resource:View::finalize" ResourceView *self G_GNUC_UNUSED = RESOURCE_VIEW (obj_self); gpointer priv G_GNUC_UNUSED = self->_priv; if(G_OBJECT_CLASS(parent_class)->finalize) \ (* G_OBJECT_CLASS(parent_class)->finalize)(obj_self); } #undef __GOB_FUNCTION__ #line 44 "client/gtk/resource-view.gob" static void resource_view_class_init (ResourceViewClass * klass G_GNUC_UNUSED) { #line 153 "resource-view.c" #define __GOB_FUNCTION__ "Resource:View::class_init" GObjectClass *g_object_class G_GNUC_UNUSED = (GObjectClass*) klass; g_type_class_add_private(klass,sizeof(ResourceViewPrivate)); parent_class = g_type_class_ref (GTK_TYPE_MISC); g_object_class->finalize = ___finalize; { #line 44 "client/gtk/resource-view.gob" gint i; static const gchar *resources_pixmaps[] = { "brick.png", "grain.png", "ore.png", "wool.png", "lumber.png" }; for (i = 0; i < NO_RESOURCE; i++) { gchar *filename; /* determine full path to pixmap file */ filename = g_build_filename(DATADIR, "pixmaps", "pioneers", resources_pixmaps[i], NULL); if (g_file_test(filename, G_FILE_TEST_EXISTS)) { klass->surface[i] = cairo_image_surface_create_from_png (filename); } g_free(filename); } #line 189 "resource-view.c" } } #undef __GOB_FUNCTION__ #line 88 "client/gtk/resource-view.gob" static void resource_view_init (ResourceView * self G_GNUC_UNUSED) { #line 197 "resource-view.c" #define __GOB_FUNCTION__ "Resource:View::init" self->_priv = G_TYPE_INSTANCE_GET_PRIVATE(self,RESOURCE_TYPE_VIEW,ResourceViewPrivate); { #line 88 "client/gtk/resource-view.gob" gint width; gint height; self->_priv->distance = 16; self->_priv->max_width = -1; resource_view_calculate_size(self, &width, &height); gtk_widget_set_size_request(GTK_WIDGET(self), width, height); g_signal_connect(G_OBJECT(self), "draw", G_CALLBACK(resource_view_draw), NULL); g_signal_connect(G_OBJECT(self), "size_allocate", G_CALLBACK(resource_view_allocate), NULL); #line 217 "resource-view.c" } } #undef __GOB_FUNCTION__ #line 70 "client/gtk/resource-view.gob" GtkWidget * resource_view_new (void) { #line 227 "resource-view.c" #define __GOB_FUNCTION__ "Resource:View::new" { #line 70 "client/gtk/resource-view.gob" return (GtkWidget *) GET_NEW; }} #line 234 "resource-view.c" #undef __GOB_FUNCTION__ #line 74 "client/gtk/resource-view.gob" GtkWidget * resource_view_new_single_resource (Resource resource) { #line 241 "resource-view.c" #define __GOB_FUNCTION__ "Resource:View::new_single_resource" { #line 74 "client/gtk/resource-view.gob" ResourceView *rv; gint width; gint height; rv = GET_NEW; rv->_priv->resource[resource] = 1; resource_view_calculate_size(rv, &width, &height); gtk_widget_set_size_request(GTK_WIDGET(rv), width, height); gtk_widget_set_tooltip_text(GTK_WIDGET(rv), resource_name(resource, TRUE)); return GTK_WIDGET(rv); }} #line 258 "resource-view.c" #undef __GOB_FUNCTION__ #line 104 "client/gtk/resource-view.gob" static void resource_view_calculate_size (ResourceView * self, gint * width, gint * height) { #line 266 "resource-view.c" #define __GOB_FUNCTION__ "Resource:View::calculate_size" #line 104 "client/gtk/resource-view.gob" g_return_if_fail (self != NULL); #line 104 "client/gtk/resource-view.gob" g_return_if_fail (RESOURCE_IS_VIEW (self)); #line 272 "resource-view.c" { #line 104 "client/gtk/resource-view.gob" gint i; gint num_res; gint tot_res; gint xpad; gint ypad; gint size; num_res = tot_res = 0; for (i = 0; i < NO_RESOURCE; i++) { if (self->_priv->resource[i]) { num_res++; tot_res += self->_priv->resource[i]; } } if (tot_res == 0) { tot_res = 1; /* Avoid division by zero */ } size = 16; /* gui_get_resource_pixmap_res(); */ if (self->_priv->max_width <= 0 || tot_res == num_res || self->_priv->max_width >= size * tot_res) { self->_priv->distance = size; } else { self->_priv->distance = (gdouble) (self->_priv->max_width - num_res * size) / (tot_res - num_res); } /* Set the optimal size as a request */ gtk_misc_get_padding(GTK_MISC(self), &xpad, &ypad); if (width != NULL) { *width = size * tot_res + xpad * 2; } if (height != NULL) { *height = size + ypad * 2; } }} #line 316 "resource-view.c" #undef __GOB_FUNCTION__ #line 146 "client/gtk/resource-view.gob" void resource_view_set (ResourceView * self, const gint * resource) { #line 323 "resource-view.c" #define __GOB_FUNCTION__ "Resource:View::set" #line 146 "client/gtk/resource-view.gob" g_return_if_fail (self != NULL); #line 146 "client/gtk/resource-view.gob" g_return_if_fail (RESOURCE_IS_VIEW (self)); #line 329 "resource-view.c" { #line 146 "client/gtk/resource-view.gob" gint i; gchar *tooltip; gint width; gint height; for (i = 0; i < NO_RESOURCE; i++) { self->_priv->resource[i] = resource[i]; } resource_view_calculate_size(self, &width, &height); gtk_widget_set_size_request(GTK_WIDGET(self), width, height); tooltip = resource_format_num(resource); gtk_widget_set_tooltip_text(GTK_WIDGET(self), tooltip); g_free(tooltip); }} #line 349 "resource-view.c" #undef __GOB_FUNCTION__ #line 164 "client/gtk/resource-view.gob" void resource_view_set_amount_of_single_resource (ResourceView * self, Resource type, gint amount) { #line 356 "resource-view.c" #define __GOB_FUNCTION__ "Resource:View::set_amount_of_single_resource" #line 164 "client/gtk/resource-view.gob" g_return_if_fail (self != NULL); #line 164 "client/gtk/resource-view.gob" g_return_if_fail (RESOURCE_IS_VIEW (self)); #line 362 "resource-view.c" { #line 165 "client/gtk/resource-view.gob" gchar *tooltip; memset(self->_priv->resource, 0, sizeof(self->_priv->resource)); self->_priv->resource[type] = MAX(0, amount); resource_view_calculate_size(self, NULL, NULL); gtk_widget_queue_draw(GTK_WIDGET(self)); tooltip = g_strdup_printf("%s: %d", resource_name(type, TRUE), amount); gtk_widget_set_tooltip_text(GTK_WIDGET(self), tooltip); g_free(tooltip); }} #line 382 "resource-view.c" #undef __GOB_FUNCTION__ #line 183 "client/gtk/resource-view.gob" static gboolean resource_view_allocate (GtkWidget * self, GtkAllocation * allocation, gpointer user_data) { #line 389 "resource-view.c" #define __GOB_FUNCTION__ "Resource:View::allocate" { #line 185 "client/gtk/resource-view.gob" /* Remove compiler warning */ user_data = user_data; RESOURCE_VIEW(self)->_priv->max_width = allocation->width; resource_view_calculate_size(RESOURCE_VIEW(self), NULL, NULL); return FALSE; }} #line 402 "resource-view.c" #undef __GOB_FUNCTION__ #line 195 "client/gtk/resource-view.gob" static gboolean resource_view_draw (GtkWidget * self, cairo_t * cr, gpointer user_data) { #line 409 "resource-view.c" #define __GOB_FUNCTION__ "Resource:View::draw" { #line 196 "client/gtk/resource-view.gob" gint i; GtkRequisition r; GtkRequisition r2; GtkAllocation allocation; gfloat xalign; gfloat yalign; gdouble xoffset; gdouble yoffset; /* Remove compiler warnings */ user_data = user_data; gtk_widget_get_preferred_size(GTK_WIDGET(self), &r, &r2); gtk_widget_get_allocation(GTK_WIDGET(self), &allocation); gtk_misc_get_alignment(GTK_MISC(self), &xalign, &yalign); yoffset = (gfloat) (allocation.height - r.height) * yalign; if (allocation.width != -1) { r.width = allocation.width; } if (allocation.height != -1) { r.height = allocation.height; } xoffset = 0; for (i = 0; i < NO_RESOURCE; i++) { gint n; for (n = 0; n < RESOURCE_VIEW(self)->_priv->resource[i]; n++) { cairo_set_source_surface(cr, SELF_GET_CLASS (self)->surface [i], xoffset, yoffset); cairo_rectangle(cr, 0, 0, r.width, r.height); cairo_fill(cr); xoffset += RESOURCE_VIEW(self)->_priv->distance; } }; return TRUE; }} #line 461 "resource-view.c" #undef __GOB_FUNCTION__ #line 245 "client/gtk/resource-view.gob" static gboolean resource_view_expose (GtkWidget * self, GdkEvent * event, gpointer user_data) { #line 468 "resource-view.c" #define __GOB_FUNCTION__ "Resource:View::expose" { #line 246 "client/gtk/resource-view.gob" cairo_t *cr; if (!gtk_widget_get_mapped(self)) { return FALSE; } /* Remove compiler warnings */ event = event; cr = gdk_cairo_create(gtk_widget_get_window (GTK_WIDGET(self))); self_draw(self, cr, user_data); cairo_destroy(cr); return TRUE; }} #line 488 "resource-view.c" #undef __GOB_FUNCTION__ pioneers-15.5/client/gtk/gui.h0000644000175000017500000000545513252223516013223 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef __gui_h #define __gui_h #include "guimap.h" void set_color_summary(gboolean flag); GtkWidget *gui_get_dialog_button(GtkDialog * dlg, gint button); void gui_reset(void); void gui_set_instructions(const gchar * text); void gui_set_vp_target_value(gint vp); void gui_set_net_status(const gchar * text); void gui_show_trade_page(gboolean show); void gui_show_quote_page(gboolean show); void gui_show_legend_page(gboolean show); /** Show or hide the splash page. * @param show Show or hide * @param chat_widget When this function is called for the first time, * registers the chat widget */ void gui_show_splash_page(gboolean show, GtkWidget * chat_widget); void gui_discard_show(void); void gui_discard_hide(void); void gui_gold_show(void); void gui_gold_hide(void); void gui_prompt_show(const gchar * message); void gui_prompt_hide(void); void gui_cursor_none(void); void gui_cursor_set(CursorType type, CheckFunc check_func, SelectFunc select_func, CancelFunc cancel_func, const MapElement * user_data); void gui_draw_hex(const Hex * hex); void gui_draw_edge(const Edge * edge); void gui_draw_node(const Node * node); void gui_set_game_params(const GameParams * params); void gui_setup_mode(gint player_num); void gui_double_setup_mode(gint player_num); void gui_highlight_chits(gint roll); GtkWidget *gui_build_interface(void); void show_admin_interface(GtkWidget * vbox); gint hotkeys_handler(GtkWidget * w, GdkEvent * e, gpointer data); extern GtkWidget *app_window; /* main application window */ /* gui states */ typedef void (*GuiState) (GuiEvent event); #define set_gui_state(A) do \ { debug("New GUI_state: %s %p\n", #A, A); \ set_gui_state_nomacro(A); } while (0) void set_gui_state_nomacro(GuiState state); GuiState get_gui_state(void); void route_gui_event(GuiEvent event); void gui_rules_register_callback(GCallback callback); void gui_set_show_no_setup_nodes(gboolean show); #endif pioneers-15.5/client/gtk/notification.c0000644000175000017500000000243512155302065015111 00000000000000#include "config.h" #include "notification.h" #include "frontend.h" #ifdef HAVE_NOTIFY #include #include #endif static gboolean show_notifications = TRUE; #ifdef HAVE_NOTIFY static NotifyNotification *notification = NULL; #endif void notification_init(void) { #ifdef HAVE_NOTIFY notify_init(g_get_application_name()); #endif } void notification_cleanup(void) { #ifdef HAVE_NOTIFY notification_close(); notify_uninit(); #endif } gboolean get_show_notifications(void) { return show_notifications; } void set_show_notifications(gboolean notify) { show_notifications = notify; } void notification_send(const gchar * text, const gchar * icon) { #ifdef HAVE_NOTIFY notification_close(); if (show_notifications) { gchar *filename; filename = g_build_filename(DATADIR, "pixmaps", icon, NULL); notification = notify_notification_new(g_get_application_name(), text, filename); g_free(filename); notify_notification_set_urgency(notification, NOTIFY_URGENCY_LOW); notify_notification_show(notification, NULL); } #endif } void notification_close(void) { #ifdef HAVE_NOTIFY if (notification != NULL) { notify_notification_close(notification, NULL); g_object_unref(notification); notification = NULL; } #endif } pioneers-15.5/client/gtk/offline.c0000644000175000017500000002057013252223516014047 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003,2006 Bas Wijnen * Copyright (C) 2004,2006 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include #include "frontend.h" #include "common_gtk.h" #include "config-gnome.h" #include "theme.h" #include "histogram.h" #include "version.h" #include "notification.h" #include "client.h" #include "game-list.h" static gboolean have_dlg = FALSE; static gboolean connectable = FALSE; static const gchar *name = NULL; static gboolean spectator = FALSE; static const gchar *server = NULL; static const gchar *port = NULL; static const gchar *metaserver = NULL; static gboolean server_from_commandline = FALSE; static gboolean quit_when_offline = FALSE; static gboolean mainloop_started = FALSE; static gboolean enable_debug = FALSE; static gboolean show_version = FALSE; static GOptionEntry commandline_entries[] = { /* Commandline option of client: hostname of the server */ {"server", 's', 0, G_OPTION_ARG_STRING, &server, N_("Server host"), PIONEERS_DEFAULT_GAME_HOST}, /* Commandline option of client: port of the server */ {"port", 'p', 0, G_OPTION_ARG_STRING, &port, N_("Server port"), PIONEERS_DEFAULT_GAME_PORT}, /* Commandline option of client: name of the player */ {"name", 'n', 0, G_OPTION_ARG_STRING, &name, N_("Player name"), NULL}, /* Commandline option of client: do we want to be a spectator */ {"spectator", 'v', 0, G_OPTION_ARG_NONE, &spectator, N_("Connect as a spectator"), NULL}, /* Commandline option of client: hostname of the metaserver */ {"metaserver", 'm', 0, G_OPTION_ARG_STRING, &metaserver, N_("Metaserver Host"), PIONEERS_DEFAULT_METASERVER}, {"debug", '\0', 0, G_OPTION_ARG_NONE, &enable_debug, /* Commandline option of client: enable debug logging */ N_("Enable debug messages"), NULL}, {"version", '\0', 0, G_OPTION_ARG_NONE, &show_version, /* Commandline option of client: version */ N_("Show version information"), NULL}, {NULL, '\0', 0, 0, NULL, NULL, NULL} }; static void frontend_offline_start_connect_cb(void) { connect_create_dlg(); have_dlg = TRUE; gui_set_instructions(_("Select a game to join.")); frontend_gui_update(); } /* gui function to handle gui events in offline mode */ static void frontend_offline_gui(GuiEvent event) { switch (event) { case GUI_UPDATE: frontend_gui_check(GUI_CONNECT_TRY, TRUE); frontend_gui_check(GUI_CONNECT, !have_dlg && connectable); frontend_gui_check(GUI_DISCONNECT, !have_dlg && !connectable); break; case GUI_CONNECT_TRY: gui_show_splash_page(FALSE, NULL); gui_set_net_status(_("Connecting")); connectable = FALSE; have_dlg = FALSE; cb_connect(connect_get_server(), connect_get_port(), connect_get_spectator()); frontend_gui_update(); break; case GUI_CONNECT: frontend_offline_start_connect_cb(); break; case GUI_CONNECT_CANCEL: have_dlg = FALSE; gui_set_instructions(_("Welcome to Pioneers!")); frontend_gui_update(); break; default: break; } } void frontend_disconnect(void) { quit_when_offline = FALSE; cb_disconnect(); } /* this function is called when offline mode is entered. */ void frontend_offline(void) { connectable = TRUE; if (have_dlg) return; gui_cursor_none(); /* Clear possible cursor */ frontend_discard_done(); frontend_gold_done(); /* set the callback for gui events */ set_gui_state(frontend_offline_gui); if (quit_when_offline) { route_gui_event(GUI_QUIT); } /* Commandline overrides the dialog */ if (server_from_commandline) { server_from_commandline = FALSE; quit_when_offline = TRUE; route_gui_event(GUI_CONNECT_TRY); } else { frontend_offline_start_connect_cb(); } } static void frontend_main(void) { mainloop_started = TRUE; gtk_main(); notification_cleanup(); themes_cleanup(); game_list_cleanup(); } void frontend_quit(void) { if (mainloop_started) { gtk_main_quit(); } else { /* The main loop did not start yet. * Do not quit, so the user can read the log */ quit_when_offline = FALSE; } } /* this function is called to let the frontend initialize itself. */ void frontend_init_gtk_et_al(int argc, char **argv) { GOptionContext *context; GError *error = NULL; frontend_gui_register_init(); set_ui_driver(>K_Driver); config_init("pioneers"); /* Long description in the commandline for pioneers: help */ context = g_option_context_new(_("- Play a game of Pioneers")); g_option_context_add_main_entries(context, commandline_entries, PACKAGE); g_option_context_add_group(context, gtk_get_option_group(TRUE)); g_option_context_parse(context, &argc, &argv, &error); g_option_context_free(context); if (error != NULL) { g_print("%s\n", error->message); g_error_free(error); exit(1); } if (show_version) { g_print(_("Pioneers version:")); g_print(" "); g_print(FULL_VERSION); g_print("\n"); exit(0); } #if ENABLE_NLS /* Gtk+ handles the locale, we must bind the translations */ bindtextdomain(PACKAGE, LOCALEDIR); textdomain(PACKAGE); bind_textdomain_codeset(PACKAGE, "UTF-8"); #endif /* Name of the application */ g_set_application_name(_("Pioneers")); callbacks.mainloop = &frontend_main; callbacks.quit = &frontend_quit; } static void frontend_change_name_cb(NotifyingString * name) { gchar *nm = notifying_string_get(name); config_set_string("connect/name", nm); if (callback_mode != MODE_INIT) { cb_name_change(nm); } g_free(nm); } static void frontend_change_style_cb(NotifyingString * style) { gchar *st = notifying_string_get(style); config_set_string("connect/style", st); if (callback_mode != MODE_INIT) { cb_style_change(st); } g_free(st); } /* this function is called to let the frontend initialize itself. */ void frontend_init(void) { gboolean default_returned; gchar *style; set_enable_debug(enable_debug); /* save the new settings when changed */ g_signal_connect(requested_name, "changed", G_CALLBACK(frontend_change_name_cb), NULL); g_signal_connect(requested_style, "changed", G_CALLBACK(frontend_change_style_cb), NULL); /* Create the application window */ themes_init(); settings_init(); histogram_init(); notification_init(); gui_build_interface(); /* in theory, all windows are created now... * set logging to message window */ log_set_func_message_window(); if (!name) { name = config_get_string("connect/name", &default_returned); if (default_returned) { name = g_strdup(g_get_user_name()); } /* If --spectator is used, we are now a spectator. If not, get the * correct value from the config file. * To allow specifying "don't be a spectator", only check the * config file if --name is not used. */ if (!spectator) { spectator = config_get_int_with_default ("connect/spectator", 0) ? TRUE : FALSE; } } style = config_get_string("connect/style", &default_returned); if (default_returned) { style = g_strdup(default_player_style); } notifying_string_set(requested_name, name); connect_set_spectator(spectator); notifying_string_set(requested_style, style); g_free(style); if (server && port) { server_from_commandline = TRUE; } else { if (server || port) g_warning("Only server or port set, " "ignoring command line"); server_from_commandline = FALSE; server = config_get_string("connect/server=" PIONEERS_DEFAULT_GAME_HOST, &default_returned); port = config_get_string("connect/port=" PIONEERS_DEFAULT_GAME_PORT, &default_returned); } connect_set_server(server); connect_set_port(port); if (!metaserver) metaserver = config_get_string("connect/metaserver=" PIONEERS_DEFAULT_METASERVER, &default_returned); connect_set_metaserver(metaserver); } pioneers-15.5/client/gtk/gui.c0000644000175000017500000013730413252223516013215 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * Copyright (C) 2004-2005 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include #include #include #include "aboutbox.h" #include "frontend.h" #include "cards.h" #include "cost.h" #include "log.h" #include "common_gtk.h" #include "histogram.h" #include "theme.h" #include "config-gnome.h" #include "audio.h" #include "notification.h" static GtkWidget *preferences_dlg; GtkWidget *app_window; /* main application window */ #define MAP_WIDTH 350 /* default map width */ #define MAP_HEIGHT 200 /* default map height */ #define PIONEERS_ICON_FILE "pioneers.png" static GuiMap *gmap; /* handle to map drawing code */ enum { MAP_PAGE, /* the map */ TRADE_PAGE, /* trading interface */ QUOTE_PAGE, /* submit quotes page */ LEGEND_PAGE, /* legend */ SPLASH_PAGE /* splash screen */ }; static GtkWidget *map_notebook; /* map area panel */ static GtkWidget *trade_page; /* trade page in map area */ static GtkWidget *quote_page; /* quote page in map area */ static GtkWidget *legend_page; /* legend page in map area */ static GtkWidget *splash_page; /* splash page in map area */ static GtkWidget *develop_notebook; /* development card area panel */ static GtkWidget *messages_txt; /* messages text widget */ static GtkWidget *prompt_lbl; /* big prompt messages */ static GtkWidget *app_bar; static GtkWidget *net_status; static GtkWidget *vp_target_status; static GtkWidget *main_paned; /* Horizontal for 16:9, Vertical for 4:3 mode */ static GtkWidget *chat_panel = NULL; /* Panel for chat, placed below or to the right */ static GtkUIManager *ui_manager = NULL; /* The manager of the GtkActions */ static GtkWidget *toolbar = NULL; /* The toolbar */ static gboolean toolbar_show_accelerators = TRUE; static gboolean color_messages_enabled = TRUE; static gboolean legend_page_enabled = TRUE; static GList *rules_callback_list = NULL; #define PIONEERS_PIXMAP_SPLASH "pioneers/splash.png" static const gchar *pioneers_pixmaps[] = { PIONEERS_PIXMAP_DICE, PIONEERS_PIXMAP_TRADE, PIONEERS_PIXMAP_ROAD, PIONEERS_PIXMAP_SHIP, PIONEERS_PIXMAP_SHIP_MOVEMENT, PIONEERS_PIXMAP_BRIDGE, PIONEERS_PIXMAP_SETTLEMENT, PIONEERS_PIXMAP_CITY, PIONEERS_PIXMAP_CITY_WALL, PIONEERS_PIXMAP_DEVELOP, PIONEERS_PIXMAP_FINISH }; static void gui_set_toolbar_visible(void); static void gui_toolbar_show_accelerators(gboolean show_accelerators); static void game_new_cb(void) { route_gui_event(GUI_CONNECT); } static void game_leave_cb(void) { frontend_quote_end(); route_gui_event(GUI_DISCONNECT); } static void playername_cb(void) { route_gui_event(GUI_CHANGE_NAME); } static void game_quit_cb(void) { route_gui_event(GUI_QUIT); } static void roll_dice_cb(void) { route_gui_event(GUI_ROLL); } static void trade_cb(void) { route_gui_event(GUI_TRADE); } static void undo_cb(void) { route_gui_event(GUI_UNDO); } static void finish_cb(void) { route_gui_event(GUI_FINISH); } static void build_road_cb(void) { route_gui_event(GUI_ROAD); } static void build_ship_cb(void) { route_gui_event(GUI_SHIP); } static void move_ship_cb(void) { route_gui_event(GUI_MOVE_SHIP); } static void build_bridge_cb(void) { route_gui_event(GUI_BRIDGE); } static void build_settlement_cb(void) { route_gui_event(GUI_SETTLEMENT); } static void build_city_cb(void) { route_gui_event(GUI_CITY); } static void buy_development_cb(void) { route_gui_event(GUI_BUY_DEVELOP); } static void build_city_wall_cb(void) { route_gui_event(GUI_CITY_WALL); } static void showhide_toolbar_cb(void); static void preferences_cb(void); static void help_about_cb(void); static void game_legend_cb(void); static void game_histogram_cb(void); static void game_settings_cb(void); #ifdef HAVE_HELP static void help_manual_cb(void); #endif /** Toggles full screen mode. * @param GtkToggleAction The calling action. * @param main_window The window to toggle full screen mode. */ static void toggle_full_screen_cb(GtkToggleAction * caller, gpointer main_window) { if (gtk_toggle_action_get_active(caller)) { gtk_window_fullscreen(GTK_WINDOW(main_window)); } else { gtk_window_unfullscreen(GTK_WINDOW(main_window)); } } static void zoom_normal_cb(void) { guimap_zoom_normal(gmap); } static void zoom_center_map_cb(void) { guimap_zoom_center_map(gmap); } /* Normal items */ static GtkActionEntry entries[] = { {"GameMenu", NULL, /* Menu entry */ N_("_Game"), NULL, NULL, NULL}, {"GameNew", NULL, /* Menu entry */ N_("_New Game"), "N", /* Tooltip for New Game menu entry */ N_("Start a new game"), game_new_cb}, {"GameLeave", NULL, /* Menu entry */ N_("_Leave Game"), NULL, /* Tooltip for Leave Game menu entry */ N_("Leave this game"), game_leave_cb}, #ifdef ADMIN_GTK {"GameAdmin", NULL, /* Menu entry */ N_("_Admin"), "A", /* Tooltip for Admin menu entry */ N_("Administer Pioneers server"), show_admin_interface}, #endif {"PlayerName", NULL, /* Menu entry */ N_("_Player Name"), "P", /* Tooltip for Player Name menu entry */ N_("Change your player name"), playername_cb}, {"Legend", NULL, /* Menu entry */ N_("L_egend"), NULL, /* Tooltip for Legend menu entry */ N_("Terrain legend and building costs"), game_legend_cb}, {"GameSettings", NULL, /* Menu entry */ N_("_Game Settings"), NULL, /* Tooltip for Game Settings menu entry */ N_("Settings for the current game"), game_settings_cb}, {"DiceHistogram", NULL, /* Menu entry */ N_("_Dice Histogram"), NULL, /* Tooltip for Dice Histogram menu entry */ N_("Histogram of dice rolls"), game_histogram_cb}, {"GameQuit", NULL, /* Menu entry */ N_("_Quit"), "Q", /* Tooltip for Quit menu entry */ N_("Quit the program"), game_quit_cb}, {"ActionsMenu", NULL, /* Menu entry */ N_("_Actions"), NULL, NULL, NULL}, {"RollDice", PIONEERS_PIXMAP_DICE, /* Menu entry */ N_("Roll Dice"), "F1", /* Tooltip for Roll Dice menu entry */ N_("Roll the dice"), roll_dice_cb}, {"Trade", PIONEERS_PIXMAP_TRADE, /* Menu entry */ N_("Trade"), "F2", /* Tooltip for Trade menu entry */ N_("Trade"), trade_cb}, {"Undo", "edit-undo", /* Menu entry */ N_("Undo"), "F3", /* Tooltip for Undo menu entry */ N_("Undo"), undo_cb}, {"Finish", PIONEERS_PIXMAP_FINISH, /* Menu entry */ N_("Finish"), "F4", /* Tooltip for Finish menu entry */ N_("Finish"), finish_cb}, {"BuildRoad", PIONEERS_PIXMAP_ROAD, /* Menu entry */ N_("Road"), "F5", /* Tooltip for Road menu entry */ N_("Build a road"), build_road_cb}, {"BuildShip", PIONEERS_PIXMAP_SHIP, /* Menu entry */ N_("Ship"), "F6", /* Tooltip for Ship menu entry */ N_("Build a ship"), build_ship_cb}, {"MoveShip", PIONEERS_PIXMAP_SHIP_MOVEMENT, /* Menu entry */ N_("Move Ship"), "F7", /* Tooltip for Move Ship menu entry */ N_("Move a ship"), move_ship_cb}, {"BuildBridge", PIONEERS_PIXMAP_BRIDGE, /* Menu entry */ N_("Bridge"), "F8", /* Tooltip for Bridge menu entry */ N_("Build a bridge"), build_bridge_cb}, {"BuildSettlement", PIONEERS_PIXMAP_SETTLEMENT, /* Menu entry */ N_("Settlement"), "F9", /* Tooltip for Settlement menu entry */ N_("Build a settlement"), build_settlement_cb}, {"BuildCity", PIONEERS_PIXMAP_CITY, /* Menu entry */ N_("City"), "F10", /* Tooltip for City menu entry */ N_("Build a city"), build_city_cb}, {"BuyDevelopment", PIONEERS_PIXMAP_DEVELOP, /* Menu entry */ N_("Develop"), "F11", /* Tooltip for Develop menu entry */ N_("Buy a development card"), buy_development_cb}, {"BuildCityWall", PIONEERS_PIXMAP_CITY_WALL, /* Menu entry */ N_("City Wall"), NULL, /* Tooltip for City Wall menu entry */ N_("Build a city wall"), build_city_wall_cb}, {"SettingsMenu", NULL, /* Menu entry */ N_("_Settings"), NULL, NULL, NULL}, {"Preferences", NULL, /* Menu entry */ N_("Prefere_nces"), NULL, /* Tooltip for Preferences menu entry */ N_("Configure the application"), preferences_cb}, {"ViewMenu", NULL, /* Menu entry */ N_("_View"), NULL, NULL, NULL}, {"Full", NULL, /* Menu entry */ N_("_Reset"), "0", /* Tooltip for Reset menu entry */ N_("View the full map"), zoom_normal_cb}, {"Center", NULL, /* Menu entry */ N_("_Center"), NULL, /* Tooltip for Center menu entry */ N_("Center the map"), zoom_center_map_cb}, {"HelpMenu", NULL, /* Menu entry */ N_("_Help"), NULL, NULL, NULL}, {"HelpAbout", NULL, /* Menu entry */ N_("_About Pioneers"), NULL, /* Tooltip for About Pioneers menu entry */ N_("Information about Pioneers"), help_about_cb}, #ifdef HAVE_HELP {"HelpManual", NULL, /* Menu entry */ N_("_Help"), "H", /* Tooltip for Help menu entry */ N_("Show the manual"), help_manual_cb} #endif }; /* Toggle items */ static GtkToggleActionEntry toggle_entries[] = { {"FullScreen", NULL, /* Menu entry */ N_("_Fullscreen"), "Return", /* Tooltip for Fullscreen menu entry */ N_("Set window to full screen mode"), G_CALLBACK(toggle_full_screen_cb), FALSE}, {"ShowHideToolbar", NULL, /* Menu entry */ N_("_Toolbar"), NULL, /* Tooltip for Toolbar menu entry */ N_("Show or hide the toolbar"), showhide_toolbar_cb, TRUE} }; /* *INDENT-OFF* */ static const char *ui_description = "" " " " " " " " " #ifdef ADMIN_GTK " " #endif " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " #ifdef HAVE_HELP " " #endif " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " ""; /* *INDENT-ON* */ GtkWidget *gui_get_dialog_button(GtkDialog * dlg, gint button) { GList *list; g_return_val_if_fail(dlg != NULL, NULL); g_assert(gtk_dialog_get_action_area(dlg) != NULL); list = gtk_container_get_children(GTK_CONTAINER (gtk_dialog_get_action_area(dlg))); list = g_list_nth(list, button); if (list != NULL) { g_assert(list->data != NULL); return GTK_WIDGET(list->data); } return NULL; } void gui_reset(void) { guimap_reset(gmap); } void gui_set_instructions(const gchar * text) { gtk_statusbar_push(GTK_STATUSBAR(app_bar), 0, text); } void gui_set_vp_target_value(gint vp) { gchar *vp_text; /* Victory points target in statusbar */ vp_text = g_strdup_printf(_("Points needed to win: %i"), vp); gtk_label_set_text(GTK_LABEL(vp_target_status), vp_text); g_free(vp_text); } void gui_set_net_status(const gchar * text) { gtk_label_set_text(GTK_LABEL(net_status), text); } void gui_cursor_none(void) { MapElement dummyElement; dummyElement.pointer = NULL; guimap_cursor_set(gmap, NO_CURSOR, -1, NULL, NULL, NULL, &dummyElement, FALSE); } void gui_cursor_set(CursorType type, CheckFunc check_func, SelectFunc select_func, CancelFunc cancel_func, const MapElement * user_data) { guimap_cursor_set(gmap, type, my_player_num(), check_func, select_func, cancel_func, user_data, FALSE); } void gui_draw_hex(const Hex * hex) { if (gmap->surface != NULL) guimap_draw_hex(gmap, hex); } void gui_draw_edge(const Edge * edge) { if (gmap->surface != NULL) guimap_draw_edge(gmap, edge); } void gui_draw_node(const Node * node) { if (gmap->surface != NULL) guimap_draw_node(gmap, node); } void gui_highlight_chits(gint roll) { guimap_highlight_chits(gmap, roll); } static gint button_press_map_cb(GtkWidget * area, GdkEventButton * event, G_GNUC_UNUSED gpointer user_data) { if (gtk_widget_get_window(area) == NULL || gmap->map == NULL) return FALSE; if (event->button == 1 && event->type == GDK_BUTTON_PRESS) { guimap_cursor_select(gmap); return TRUE; } return FALSE; } static GtkWidget *build_map_area(void) { GtkWidget *map_area = guimap_build_drawingarea(gmap, MAP_WIDTH, MAP_HEIGHT); gtk_widget_add_events(map_area, GDK_BUTTON_PRESS_MASK); g_signal_connect(G_OBJECT(map_area), "button_press_event", G_CALLBACK(button_press_map_cb), NULL); return map_area; } static GtkWidget *build_messages_panel(void) { GtkWidget *vbox; GtkWidget *label; GtkWidget *scroll_win; vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5); gtk_widget_show(vbox); /* Label for messages log */ label = gtk_label_new(NULL); gtk_label_set_markup(GTK_LABEL(label), _("Messages")); gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5); gtk_widget_show(label); gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); scroll_win = gtk_scrolled_window_new(NULL, NULL); gtk_widget_set_size_request(scroll_win, -1, 80); gtk_widget_show(scroll_win); gtk_box_pack_start(GTK_BOX(vbox), scroll_win, TRUE, TRUE, 0); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll_win), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); messages_txt = gtk_text_view_new(); gtk_widget_show(messages_txt); gtk_container_add(GTK_CONTAINER(scroll_win), messages_txt); gtk_text_view_set_editable(GTK_TEXT_VIEW(messages_txt), FALSE); gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(messages_txt), GTK_WRAP_WORD); message_window_set_text(messages_txt, chat_panel); return vbox; } void gui_show_trade_page(gboolean show) { /* Normal keyboard focus when visible */ chat_set_grab_focus_on_update(!show); if (show) { gtk_widget_show(trade_page); gtk_notebook_set_current_page(GTK_NOTEBOOK(map_notebook), TRADE_PAGE); } else { gtk_notebook_prev_page(GTK_NOTEBOOK(map_notebook)); gtk_widget_hide(trade_page); } } void gui_show_quote_page(gboolean show) { /* Normal keyboard focus when visible */ chat_set_grab_focus_on_update(!show); if (show) { gtk_widget_show(quote_page); gtk_notebook_set_current_page(GTK_NOTEBOOK(map_notebook), QUOTE_PAGE); } else { gtk_notebook_prev_page(GTK_NOTEBOOK(map_notebook)); gtk_widget_hide(quote_page); } } static void gui_theme_changed(void) { g_assert(legend_page != NULL); gtk_widget_queue_draw(legend_page); gtk_widget_queue_draw_area(gmap->area, 0, 0, gmap->width, gmap->height); } void gui_show_legend_page(gboolean show) { if (show) { gtk_widget_show(legend_page); gtk_notebook_set_current_page(GTK_NOTEBOOK(map_notebook), LEGEND_PAGE); } else gtk_widget_hide(legend_page); } void gui_show_splash_page(gboolean show, GtkWidget * chat_widget) { static GtkWidget *widget = NULL; if (chat_widget != NULL) widget = chat_widget; g_assert(widget != NULL); chat_set_grab_focus_on_update(TRUE); if (show) { gtk_widget_show(splash_page); gtk_notebook_set_current_page(GTK_NOTEBOOK(map_notebook), SPLASH_PAGE); gtk_widget_hide(widget); } else { gtk_widget_hide(splash_page); gtk_notebook_set_current_page(GTK_NOTEBOOK(map_notebook), MAP_PAGE); gtk_widget_show(widget); } } static GtkWidget *splash_build_page(void) { GtkWidget *pm; GtkWidget *viewport; gchar *filename; filename = g_build_filename(DATADIR, "pixmaps", "pioneers", "splash.png", NULL); pm = gtk_image_new_from_file(filename); g_free(filename); /* The viewport avoids that the pixmap is drawn up into the tab area if * it's too large for the space provided. */ viewport = gtk_viewport_new(NULL, NULL); gtk_viewport_set_shadow_type(GTK_VIEWPORT(viewport), GTK_SHADOW_NONE); gtk_widget_show(viewport); gtk_widget_set_size_request(pm, 1, 1); gtk_widget_show(pm); gtk_container_add(GTK_CONTAINER(viewport), pm); return viewport; } static GtkWidget *build_map_panel(void) { GtkWidget *lbl; GtkWidget *hbox; GtkWidget *close_button; map_notebook = gtk_notebook_new(); gtk_notebook_set_tab_pos(GTK_NOTEBOOK(map_notebook), GTK_POS_TOP); gtk_widget_show(map_notebook); /* Tab page name */ lbl = gtk_label_new(_("Map")); gtk_widget_show(lbl); gtk_notebook_insert_page(GTK_NOTEBOOK(map_notebook), build_map_area(), lbl, MAP_PAGE); hbox = create_label_with_close_button( /* Tab page name */ _("Trade"), /* Tooltip */ _("Finish trading"), &close_button); frontend_gui_register(close_button, GUI_TRADE_FINISH, "clicked"); trade_page = trade_build_page(); gtk_notebook_insert_page(GTK_NOTEBOOK(map_notebook), trade_page, hbox, TRADE_PAGE); gtk_widget_hide(trade_page); hbox = create_label_with_close_button( /* Tab page name */ _("Quote"), /* Tooltip */ _("" "Reject domestic trade"), &close_button); frontend_gui_register(close_button, GUI_QUOTE_REJECT, "clicked"); quote_page = quote_build_page(); gtk_notebook_insert_page(GTK_NOTEBOOK(map_notebook), quote_page, hbox, QUOTE_PAGE); gtk_widget_hide(quote_page); /* Tab page name */ lbl = gtk_label_new(_("Legend")); gtk_widget_show(lbl); legend_page = legend_create_content(); gtk_notebook_insert_page(GTK_NOTEBOOK(map_notebook), legend_page, lbl, LEGEND_PAGE); if (!legend_page_enabled) gui_show_legend_page(FALSE); theme_register_callback(G_CALLBACK(gui_theme_changed)); /* Tab page name, shown for the splash screen */ lbl = gtk_label_new(_("Welcome to Pioneers")); gtk_widget_show(lbl); splash_page = splash_build_page(); gtk_notebook_insert_page(GTK_NOTEBOOK(map_notebook), splash_page, lbl, SPLASH_PAGE); return map_notebook; } void gui_discard_show(void) { gtk_notebook_set_current_page(GTK_NOTEBOOK(develop_notebook), 1); } void gui_discard_hide(void) { gtk_notebook_set_current_page(GTK_NOTEBOOK(develop_notebook), 0); } void gui_gold_show(void) { gtk_notebook_set_current_page(GTK_NOTEBOOK(develop_notebook), 2); } void gui_gold_hide(void) { gtk_notebook_set_current_page(GTK_NOTEBOOK(develop_notebook), 0); } void gui_prompt_show(const gchar * message) { gtk_label_set_text(GTK_LABEL(prompt_lbl), message); /* Force resize of the notebook, this is needed because * GTK does not redraw when the text in a label changes. */ gtk_container_check_resize(GTK_CONTAINER(develop_notebook)); gtk_notebook_set_current_page(GTK_NOTEBOOK(develop_notebook), 3); } void gui_prompt_hide(void) { gtk_notebook_set_current_page(GTK_NOTEBOOK(develop_notebook), 0); } static GtkWidget *prompt_build_page(void) { prompt_lbl = gtk_label_new(""); gtk_widget_show(prompt_lbl); return prompt_lbl; } static GtkWidget *build_develop_panel(void) { develop_notebook = gtk_notebook_new(); gtk_notebook_set_show_tabs(GTK_NOTEBOOK(develop_notebook), FALSE); gtk_notebook_set_show_border(GTK_NOTEBOOK(develop_notebook), FALSE); gtk_widget_show(develop_notebook); gtk_notebook_insert_page(GTK_NOTEBOOK(develop_notebook), develop_build_page(), NULL, 0); gtk_notebook_insert_page(GTK_NOTEBOOK(develop_notebook), discard_build_page(), NULL, 1); gtk_notebook_insert_page(GTK_NOTEBOOK(develop_notebook), gold_build_page(), NULL, 2); gtk_notebook_insert_page(GTK_NOTEBOOK(develop_notebook), prompt_build_page(), NULL, 3); return develop_notebook; } static gboolean get_16_9_layout(void) { GtkWidget *paned; g_return_val_if_fail(main_paned != NULL, FALSE); g_return_val_if_fail(chat_panel != NULL, FALSE); paned = gtk_paned_get_child1(GTK_PANED(main_paned)); if (gtk_widget_get_parent(chat_panel) == paned) return FALSE; return TRUE; } static void set_16_9_layout(gboolean layout_16_9) { GtkWidget *paned; gboolean can_remove; g_return_if_fail(main_paned != NULL); g_return_if_fail(chat_panel != NULL); paned = gtk_paned_get_child1(GTK_PANED(main_paned)); /* Increase reference count, otherwise it will be destroyed */ g_object_ref(chat_panel); /* Initially the widget has no parent, and cannot be removed */ can_remove = gtk_widget_get_parent(chat_panel) != NULL; if (layout_16_9) { if (can_remove) gtk_container_remove(GTK_CONTAINER(paned), chat_panel); gtk_container_add(GTK_CONTAINER(main_paned), chat_panel); } else { if (can_remove) gtk_container_remove(GTK_CONTAINER(main_paned), chat_panel); gtk_container_add(GTK_CONTAINER(paned), chat_panel); } g_object_unref(chat_panel); } static GtkWidget *build_main_interface(void) { GtkWidget *vbox; GtkWidget *hpaned; GtkWidget *vpaned; GtkWidget *panel; hpaned = gtk_paned_new(GTK_ORIENTATION_HORIZONTAL); gtk_widget_show(hpaned); vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 3); gtk_widget_show(vbox); gtk_paned_pack1(GTK_PANED(hpaned), vbox, FALSE, TRUE); gtk_box_pack_start(GTK_BOX(vbox), identity_build_panel(), FALSE, TRUE, 0); gtk_box_pack_start(GTK_BOX(vbox), resource_build_panel(), FALSE, TRUE, 0); gtk_box_pack_start(GTK_BOX(vbox), build_develop_panel(), FALSE, TRUE, 0); gtk_box_pack_start(GTK_BOX(vbox), player_build_summary(), TRUE, TRUE, 0); main_paned = gtk_paned_new(GTK_ORIENTATION_HORIZONTAL); gtk_widget_show(main_paned); vpaned = gtk_paned_new(GTK_ORIENTATION_VERTICAL); gtk_widget_show(vpaned); gtk_paned_pack1(GTK_PANED(main_paned), vpaned, TRUE, TRUE); gtk_paned_pack1(GTK_PANED(vpaned), build_map_panel(), TRUE, TRUE); chat_panel = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); gui_show_splash_page(TRUE, chat_panel); panel = chat_build_panel(); frontend_gui_register(panel, GUI_DISCONNECT, NULL); gtk_box_pack_start(GTK_BOX(chat_panel), panel, FALSE, TRUE, 0); gtk_box_pack_start(GTK_BOX(chat_panel), build_messages_panel(), TRUE, TRUE, 0); set_16_9_layout(config_get_int_with_default ("settings/layout_16_9", FALSE)); gtk_paned_pack2(GTK_PANED(hpaned), main_paned, TRUE, TRUE); return hpaned; } static void quit_cb(G_GNUC_UNUSED GtkWidget * widget, G_GNUC_UNUSED void *data) { guimap_delete(gmap); frontend_quit(); } static void theme_change_cb(GtkWidget * widget, G_GNUC_UNUSED void *data) { gint idx = gtk_combo_box_get_active(GTK_COMBO_BOX(widget)); MapTheme *theme = g_list_nth_data(theme_get_list(), idx); if (theme != theme_get_current()) { config_set_string("settings/theme", theme->name); theme_set_current(theme); if (gmap->surface != NULL) { cairo_surface_destroy(gmap->surface); gmap->surface = NULL; } theme_rescale(2 * gmap->x_point); } } static void show_legend_cb(GtkToggleButton * widget, G_GNUC_UNUSED gpointer user_data) { legend_page_enabled = gtk_toggle_button_get_active(widget); gui_show_legend_page(legend_page_enabled); config_set_int("settings/legend_page", legend_page_enabled); } static void message_color_cb(GtkToggleButton * widget, G_GNUC_UNUSED gpointer user_data) { color_messages_enabled = gtk_toggle_button_get_active(widget); config_set_int("settings/color_messages", color_messages_enabled); log_set_func_message_color_enable(color_messages_enabled); } static void chat_color_cb(GtkToggleButton * widget, G_GNUC_UNUSED gpointer user_data) { color_chat_enabled = gtk_toggle_button_get_active(widget); config_set_int("settings/color_chat", color_chat_enabled); } static void summary_color_cb(GtkToggleButton * widget, G_GNUC_UNUSED gpointer user_data) { gboolean color_summary = gtk_toggle_button_get_active(widget); config_set_int("settings/color_summary", color_summary); set_color_summary(color_summary); } static void silent_mode_cb(GtkToggleButton * widget, G_GNUC_UNUSED gpointer user_data) { GtkToggleButton *announce_button = user_data; gboolean silent_mode = gtk_toggle_button_get_active(widget); config_set_int("settings/silent_mode", silent_mode); set_silent_mode(silent_mode); gtk_toggle_button_set_inconsistent(announce_button, silent_mode); gtk_widget_set_sensitive(GTK_WIDGET(announce_button), !silent_mode); } static void announce_player_cb(GtkToggleButton * widget, G_GNUC_UNUSED gpointer user_data) { gboolean announce_player = gtk_toggle_button_get_active(widget); config_set_int("settings/announce_player", announce_player); set_announce_player(announce_player); } static void toggle_16_9_cb(GtkToggleButton * widget, G_GNUC_UNUSED gpointer user_data) { gboolean layout_16_9 = gtk_toggle_button_get_active(widget); config_set_int("settings/layout_16_9", layout_16_9); set_16_9_layout(layout_16_9); } static void toggle_notifications_cb(GtkToggleButton * widget, G_GNUC_UNUSED gpointer user_data) { gboolean show_notifications = gtk_toggle_button_get_active(widget); config_set_int("settings/show_notifications", show_notifications); set_show_notifications(show_notifications); } static void showhide_toolbar_cb(void) { gui_set_toolbar_visible(); } static void toolbar_shortcuts_cb(void) { gui_toolbar_show_accelerators(!toolbar_show_accelerators); } static void preferences_cb(void) { GtkWidget *silent_mode_widget; GtkWidget *widget; GtkWidget *dlg_vbox; GtkWidget *theme_label; GtkWidget *theme_list; GtkWidget *layout; guint row; gint color_summary; GList *theme_elt; int i; if (preferences_dlg != NULL) { gtk_window_present(GTK_WINDOW(preferences_dlg)); return; }; /* Caption of preferences dialog */ preferences_dlg = gtk_dialog_new_with_buttons(_("" "Pioneers Preferences"), GTK_WINDOW (app_window), GTK_DIALOG_DESTROY_WITH_PARENT, /* Button text */ _("_Close"), GTK_RESPONSE_CLOSE, NULL); gtk_dialog_set_default_response(GTK_DIALOG(preferences_dlg), GTK_RESPONSE_CLOSE); g_signal_connect(G_OBJECT(preferences_dlg), "destroy", G_CALLBACK(gtk_widget_destroyed), &preferences_dlg); g_signal_connect(G_OBJECT(preferences_dlg), "response", G_CALLBACK(gtk_widget_destroy), NULL); gtk_widget_show(preferences_dlg); dlg_vbox = gtk_dialog_get_content_area(GTK_DIALOG(preferences_dlg)); gtk_widget_show(dlg_vbox); layout = gtk_table_new(6, 2, FALSE); gtk_widget_show(layout); gtk_box_pack_start(GTK_BOX(dlg_vbox), layout, FALSE, TRUE, 0); gtk_container_set_border_width(GTK_CONTAINER(layout), 5); row = 0; theme_list = gtk_combo_box_text_new(); /* Label for changing the theme, in the preferences dialog */ theme_label = gtk_label_new(_("Theme:")); gtk_misc_set_alignment(GTK_MISC(theme_label), 0, 0.5); gtk_widget_show(theme_list); gtk_widget_show(theme_label); for (i = 0, theme_elt = theme_get_list(); theme_elt != NULL; ++i, theme_elt = g_list_next(theme_elt)) { MapTheme *theme = theme_elt->data; gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT (theme_list), theme->name); if (theme == theme_get_current()) gtk_combo_box_set_active(GTK_COMBO_BOX(theme_list), i); } g_signal_connect(G_OBJECT(theme_list), "changed", G_CALLBACK(theme_change_cb), NULL); gtk_table_attach_defaults(GTK_TABLE(layout), theme_label, 0, 1, row, row + 1); gtk_table_attach_defaults(GTK_TABLE(layout), theme_list, 1, 2, row, row + 1); gtk_widget_set_tooltip_text(theme_list, /* Tooltip for changing the theme in the preferences dialog */ _("Choose one of the themes")); row++; /* Label for the option to show the legend */ widget = gtk_check_button_new_with_label(_("Show legend")); gtk_widget_show(widget); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), legend_page_enabled); g_signal_connect(G_OBJECT(widget), "toggled", G_CALLBACK(show_legend_cb), NULL); gtk_table_attach_defaults(GTK_TABLE(layout), widget, 0, 2, row, row + 1); gtk_widget_set_tooltip_text(widget, /* Tooltip for the option to show the legend */ _("" "Show the legend as a page beside the map")); row++; /* Label for the option to display log messages in color */ widget = gtk_check_button_new_with_label(_("Messages with color")); gtk_widget_show(widget); gtk_table_attach_defaults(GTK_TABLE(layout), widget, 0, 2, row, row + 1); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), color_messages_enabled); g_signal_connect(G_OBJECT(widget), "toggled", G_CALLBACK(message_color_cb), NULL); gtk_widget_set_tooltip_text(widget, /* Tooltip for the option to display log messages in color */ _("Show new messages with color")); row++; widget = gtk_check_button_new_with_label( /* Label for the option to display chat in color of player */ _("" "Chat in color of player")); gtk_widget_show(widget); gtk_table_attach_defaults(GTK_TABLE(layout), widget, 0, 2, row, row + 1); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), color_chat_enabled); g_signal_connect(G_OBJECT(widget), "toggled", G_CALLBACK(chat_color_cb), NULL); gtk_widget_set_tooltip_text(widget, /* Tooltip for the option to display chat in color of player */ _("" "Show new chat messages in the color of the player")); row++; /* Label for the option to display the summary with colors */ widget = gtk_check_button_new_with_label(_("Summary with color")); gtk_widget_show(widget); gtk_table_attach_defaults(GTK_TABLE(layout), widget, 0, 2, row, row + 1); color_summary = config_get_int_with_default("settings/color_summary", TRUE); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), color_summary); /* @todo RC use correct variable */ g_signal_connect(G_OBJECT(widget), "toggled", G_CALLBACK(summary_color_cb), NULL); gtk_widget_set_tooltip_text(widget, /* Tooltip for the option to display the summary with colors */ _("Use colors in the player summary")); row++; widget = /* Label for the option to display keyboard accelerators in the toolbar */ gtk_check_button_new_with_label(_("Toolbar with shortcuts")); gtk_widget_show(widget); gtk_table_attach_defaults(GTK_TABLE(layout), widget, 0, 2, row, row + 1); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), toolbar_show_accelerators); g_signal_connect(G_OBJECT(widget), "toggled", G_CALLBACK(toolbar_shortcuts_cb), NULL); gtk_widget_set_tooltip_text(widget, /* Tooltip for the option to display keyboard accelerators in the toolbar */ _("" "Show keyboard shortcuts in the toolbar")); row++; silent_mode_widget = /* Label for the option to disable all sounds */ gtk_check_button_new_with_label(_("Silent mode")); gtk_widget_show(silent_mode_widget); gtk_table_attach_defaults(GTK_TABLE(layout), silent_mode_widget, 0, 2, row, row + 1); gtk_widget_set_tooltip_text(silent_mode_widget, /* Tooltip for the option to disable all sounds */ _("" "In silent mode no sounds are made")); row++; widget = /* Label for the option to announce when players/spectators enter */ gtk_check_button_new_with_label(_("Announce new players")); gtk_widget_show(widget); gtk_table_attach_defaults(GTK_TABLE(layout), widget, 0, 2, row, row + 1); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), get_announce_player()); g_signal_connect(G_OBJECT(widget), "toggled", G_CALLBACK(announce_player_cb), NULL); gtk_widget_set_tooltip_text(widget, /* Tooltip for the option to use sound when players/spectators enter */ _("" "Make a sound when a new player or spectator enters the game")); row++; /* Silent mode widget is connected an initialized after the announce button */ g_signal_connect(G_OBJECT(silent_mode_widget), "toggled", G_CALLBACK(silent_mode_cb), widget); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(silent_mode_widget), get_silent_mode()); #ifdef HAVE_NOTIFY /* Label for the option to use the notifications. */ widget = gtk_check_button_new_with_label(_("Show notifications")); gtk_widget_show(widget); gtk_table_attach_defaults(GTK_TABLE(layout), widget, 0, 2, row, row + 1); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), get_show_notifications()); g_signal_connect(G_OBJECT(widget), "toggled", G_CALLBACK(toggle_notifications_cb), NULL); gtk_widget_set_tooltip_text(widget, /* Tooltip for notifications option. */ _("Show notifications when it's your " "turn or when new trade is available")); row++; #endif /* Label for the option to use the 16:9 layout. */ widget = gtk_check_button_new_with_label(_("Use 16:9 layout")); gtk_widget_show(widget); gtk_table_attach_defaults(GTK_TABLE(layout), widget, 0, 2, row, row + 1); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), get_16_9_layout()); g_signal_connect(G_OBJECT(widget), "toggled", G_CALLBACK(toggle_16_9_cb), NULL); gtk_widget_set_tooltip_text(widget, /* Tooltip for 16:9 option. */ _("" "Use a 16:9 friendly layout for the window")); row++; } static void help_about_cb(void) { aboutbox_display(GTK_WINDOW(app_window), /* Caption of about box */ _("About Pioneers")); } static void game_legend_cb(void) { legend_create_dlg(); } static void game_histogram_cb(void) { histogram_create_dlg(); } static void game_settings_cb(void) { settings_create_dlg(); } #ifdef HAVE_HELP static void help_manual_cb(void) { GError *error = NULL; gtk_show_uri_on_window(GTK_WINDOW(app_window), "help:pioneers", GDK_CURRENT_TIME, &error); if (error) { log_message(MSG_ERROR, "%s: %s\n", _("Show the manual"), error->message); g_error_free(error); } } #endif static GtkAction *getAction(GuiEvent id) { const gchar *path = NULL; gchar *full_path; GtkAction *action; #ifdef ADMIN_GTK frontend_gui_register_action(gtk_ui_manager_get_action (manager, "ui/MainMenu/GameMenu/GameAdmin"), GUI_CONNECT); #endif switch (id) { case GUI_CONNECT: path = "GameMenu/GameNew"; break; case GUI_DISCONNECT: path = "GameMenu/GameLeave"; break; case GUI_CHANGE_NAME: path = "GameMenu/PlayerName"; break; case GUI_ROLL: path = "ActionsMenu/RollDice"; break; case GUI_TRADE: path = "ActionsMenu/Trade"; break; case GUI_UNDO: path = "ActionsMenu/Undo"; break; case GUI_FINISH: path = "ActionsMenu/Finish"; break; case GUI_ROAD: path = "ActionsMenu/BuildRoad"; break; case GUI_SHIP: path = "ActionsMenu/BuildShip"; break; case GUI_MOVE_SHIP: path = "ActionsMenu/MoveShip"; break; case GUI_BRIDGE: path = "ActionsMenu/BuildBridge"; break; case GUI_SETTLEMENT: path = "ActionsMenu/BuildSettlement"; break; case GUI_CITY: path = "ActionsMenu/BuildCity"; break; case GUI_BUY_DEVELOP: path = "ActionsMenu/BuyDevelopment"; break; case GUI_CITY_WALL: path = "ActionsMenu/BuildCityWall"; break; default: break; }; if (!path) return NULL; full_path = g_strdup_printf("ui/MainMenu/%s", path); action = gtk_ui_manager_get_action(ui_manager, full_path); g_free(full_path); return action; } /** Set the visibility of the toolbar */ static void gui_set_toolbar_visible(void) { GSList *list; gboolean visible; list = gtk_ui_manager_get_toplevels(ui_manager, GTK_UI_MANAGER_TOOLBAR); g_assert(g_slist_length(list) == 1); visible = gtk_toggle_action_get_active(GTK_TOGGLE_ACTION (gtk_ui_manager_get_action (ui_manager, "ui/MainMenu/SettingsMenu/ShowHideToolbar"))); if (visible) gtk_widget_show(GTK_WIDGET(list->data)); else gtk_widget_hide(GTK_WIDGET(list->data)); config_set_int("settings/show_toolbar", visible); g_slist_free(list); } /** Show the accelerators in the toolbar */ static void gui_toolbar_show_accelerators(gboolean show_accelerators) { GtkToolbar *tb; gint n, i; toolbar_show_accelerators = show_accelerators; tb = GTK_TOOLBAR(toolbar); n = gtk_toolbar_get_n_items(tb); for (i = 0; i < n; i++) { GtkToolItem *ti; GtkToolButton *tbtn; gchar *text; guint j; ti = gtk_toolbar_get_nth_item(tb, i); tbtn = GTK_TOOL_BUTTON(ti); g_assert(tbtn != NULL); if (gtk_major_version == 2 && gtk_minor_version == 10) { /* Work around a gtk+ 2.10 bug (#434261) that * mishandles strings like (Fn) in labels. */ /** @todo BW 2007-04-29 Remove this when gtk 2.10 * is no longer supported. */ gtk_tool_button_set_use_underline(tbtn, FALSE); } text = g_strdup(gtk_tool_button_get_label(tbtn)); if (strchr(text, '\n')) *strchr(text, '\n') = '\0'; /* Find the matching entry */ for (j = 0; j < G_N_ELEMENTS(entries); j++) { if (strcmp(text, _(entries[j].label)) == 0) { if (show_accelerators) { gchar *label; if (entries[j].accelerator == NULL || strlen(entries[j].accelerator) == 0) label = g_strdup_printf("%s\n", text); else { gchar *accelerator_text; guint accelerator_key; GdkModifierType accelerator_mods; gtk_accelerator_parse (entries [j].accelerator, &accelerator_key, &accelerator_mods); accelerator_text = gtk_accelerator_get_label (accelerator_key, accelerator_mods); label = g_strdup_printf ("%s\n(%s)", text, accelerator_text); g_free(accelerator_text); } gtk_tool_button_set_label(tbtn, label); g_free(label); } else { gtk_tool_button_set_label(tbtn, _(entries [j]. label)); } break; } } g_free(text); } config_set_int("settings/toolbar_show_accelerators", toolbar_show_accelerators); } /** Show or hide a button in the toolbar */ static void gui_toolbar_show_button(const gchar * path, gboolean visible) { gchar *fullpath; GtkWidget *w; GtkToolItem *item; fullpath = g_strdup_printf("ui/MainToolbar/%s", path); w = gtk_ui_manager_get_widget(ui_manager, fullpath); if (w == NULL) { g_assert(!"Widget not found"); return; } item = GTK_TOOL_ITEM(w); if (item == NULL) { g_assert(!"Widget is not a tool button"); return; } gtk_tool_item_set_visible_horizontal(item, visible); g_free(fullpath); } void gui_rules_register_callback(GCallback callback) { rules_callback_list = g_list_append(rules_callback_list, callback); } void gui_set_game_params(const GameParams * params) { GList *list; GtkWidget *label; gmap->map = params->map; gmap->player_num = my_player_num(); gtk_widget_queue_resize(gmap->area); gui_toolbar_show_button("BuildRoad", params->num_build_type[BUILD_ROAD] > 0); gui_toolbar_show_button("BuildShip", params->num_build_type[BUILD_SHIP] > 0); gui_toolbar_show_button("MoveShip", params->num_build_type[BUILD_SHIP] > 0); gui_toolbar_show_button("BuildBridge", params->num_build_type[BUILD_BRIDGE] > 0); /* In theory, it is possible to play a game without cities */ gui_toolbar_show_button("BuildCity", params->num_build_type[BUILD_CITY] > 0); gui_toolbar_show_button("BuildCityWall", params->num_build_type[BUILD_CITY_WALL] > 0); identity_draw(); gui_set_vp_target_value(params->victory_points); list = rules_callback_list; while (list) { G_CALLBACK(list->data) (); list = g_list_next(list); } label = gtk_notebook_get_tab_label(GTK_NOTEBOOK(map_notebook), legend_page); g_object_ref(label); gtk_widget_destroy(legend_page); legend_page = legend_create_content(); gtk_notebook_insert_page(GTK_NOTEBOOK(map_notebook), legend_page, label, LEGEND_PAGE); if (!legend_page_enabled) gui_show_legend_page(FALSE); g_object_unref(label); } static GtkWidget *build_status_bar(void) { GtkWidget *vsep; app_bar = gtk_statusbar_new(); gtk_widget_show(app_bar); vp_target_status = gtk_label_new(""); gtk_widget_show(vp_target_status); gtk_box_pack_start(GTK_BOX(app_bar), vp_target_status, FALSE, TRUE, 0); vsep = gtk_separator_new(GTK_ORIENTATION_VERTICAL); gtk_widget_show(vsep); gtk_box_pack_start(GTK_BOX(app_bar), vsep, FALSE, TRUE, 0); /* Network status: offline */ net_status = gtk_label_new(_("Offline")); gtk_widget_show(net_status); gtk_box_pack_start(GTK_BOX(app_bar), net_status, FALSE, TRUE, 0); vsep = gtk_separator_new(GTK_ORIENTATION_VERTICAL); gtk_widget_show(vsep); gtk_box_pack_start(GTK_BOX(app_bar), vsep, FALSE, TRUE, 0); gtk_box_pack_start(GTK_BOX(app_bar), player_build_turn_area(), FALSE, TRUE, 0); /* Initial text in status bar */ gui_set_instructions(_("Welcome to Pioneers!")); return app_bar; } static void register_pixmaps(void) { guint idx; GtkIconFactory *factory = gtk_icon_factory_new(); for (idx = 0; idx < G_N_ELEMENTS(pioneers_pixmaps); idx++) { gchar *filename; GtkIconSet *icon; icon = NULL; /* determine full path to pixmap file */ filename = g_build_filename(DATADIR, "pixmaps", pioneers_pixmaps[idx], NULL); if (g_file_test(filename, G_FILE_TEST_EXISTS)) { GdkPixbuf *pixbuf; GError *error = NULL; pixbuf = gdk_pixbuf_new_from_file(filename, &error); if (error != NULL) { g_warning("Error loading pixmap %s\n", filename); g_error_free(error); } else { icon = gtk_icon_set_new_from_pixbuf(pixbuf); } } else { /* Missing pixmap */ g_warning("Pixmap not found: %s", filename); } gtk_icon_factory_add(factory, pioneers_pixmaps[idx], icon); g_free(filename); gtk_icon_set_unref(icon); } gtk_icon_factory_add_default(factory); g_object_unref(factory); } GtkWidget *gui_build_interface(void) { GtkWidget *vbox; GtkWidget *menubar; GtkActionGroup *action_group; GtkAccelGroup *accel_group; GError *error = NULL; gchar *icon_file; player_init(); gmap = guimap_new(); register_pixmaps(); app_window = gtk_window_new(GTK_WINDOW_TOPLEVEL); /* The name of the application */ gtk_window_set_title(GTK_WINDOW(app_window), _("Pioneers")); prepare_gtk_for_close_button_on_tab(); vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); gtk_widget_show(vbox); gtk_container_add(GTK_CONTAINER(app_window), vbox); action_group = gtk_action_group_new("MenuActions"); gtk_action_group_set_translation_domain(action_group, PACKAGE); gtk_action_group_add_actions(action_group, entries, G_N_ELEMENTS(entries), app_window); gtk_action_group_add_toggle_actions(action_group, toggle_entries, G_N_ELEMENTS(toggle_entries), app_window); ui_manager = gtk_ui_manager_new(); gtk_ui_manager_insert_action_group(ui_manager, action_group, 0); accel_group = gtk_ui_manager_get_accel_group(ui_manager); gtk_window_add_accel_group(GTK_WINDOW(app_window), accel_group); error = NULL; if (!gtk_ui_manager_add_ui_from_string (ui_manager, ui_description, -1, &error)) { g_message("building menus failed: %s", error->message); g_error_free(error); return NULL; } icon_file = g_build_filename(DATADIR, "pixmaps", PIONEERS_ICON_FILE, NULL); if (g_file_test(icon_file, G_FILE_TEST_EXISTS)) { gtk_window_set_default_icon_from_file(icon_file, NULL); } else { /* Missing pixmap, main icon file */ g_warning("Pixmap not found: %s", icon_file); } g_free(icon_file); color_chat_enabled = config_get_int_with_default("settings/color_chat", TRUE); color_messages_enabled = config_get_int_with_default("settings/color_messages", TRUE); log_set_func_message_color_enable(color_messages_enabled); set_color_summary(config_get_int_with_default ("settings/color_summary", TRUE)); set_silent_mode(config_get_int_with_default ("settings/silent_mode", FALSE)); set_announce_player(config_get_int_with_default ("settings/announce_player", TRUE)); set_show_notifications(config_get_int_with_default ("settings/show_notifications", TRUE)); legend_page_enabled = config_get_int_with_default("settings/legend_page", FALSE); menubar = gtk_ui_manager_get_widget(ui_manager, "/MainMenu"); gtk_box_pack_start(GTK_BOX(vbox), menubar, FALSE, FALSE, 0); toolbar = gtk_ui_manager_get_widget(ui_manager, "/MainToolbar"); gtk_box_pack_start(GTK_BOX(vbox), toolbar, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox), build_main_interface(), TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX(vbox), build_status_bar(), FALSE, FALSE, 0); gtk_toggle_action_set_active(GTK_TOGGLE_ACTION (gtk_ui_manager_get_action (ui_manager, "ui/MainMenu/SettingsMenu/ShowHideToolbar")), config_get_int_with_default ("settings/show_toolbar", TRUE)); g_signal_connect(G_OBJECT(app_window), "key_press_event", G_CALLBACK(hotkeys_handler), NULL); gtk_widget_show(app_window); frontend_gui_register_action(getAction(GUI_CONNECT), GUI_CONNECT); frontend_gui_register_action(getAction(GUI_DISCONNECT), GUI_DISCONNECT); #ifdef ADMIN_GTK /** @todo RC 2005-05-26 Admin interface: Not tested */ frontend_gui_register_action(gtk_ui_manager_get_action (manager, "ui/MainMenu/GameMenu/GameAdmin"), GUI_ADMIN); #endif frontend_gui_register_action(getAction(GUI_CHANGE_NAME), GUI_CHANGE_NAME); frontend_gui_register_action(getAction(GUI_ROLL), GUI_ROLL); frontend_gui_register_action(getAction(GUI_TRADE), GUI_TRADE); frontend_gui_register_action(getAction(GUI_UNDO), GUI_UNDO); frontend_gui_register_action(getAction(GUI_FINISH), GUI_FINISH); frontend_gui_register_action(getAction(GUI_ROAD), GUI_ROAD); frontend_gui_register_action(getAction(GUI_SHIP), GUI_SHIP); frontend_gui_register_action(getAction(GUI_MOVE_SHIP), GUI_MOVE_SHIP); frontend_gui_register_action(getAction(GUI_BRIDGE), GUI_BRIDGE); frontend_gui_register_action(getAction(GUI_SETTLEMENT), GUI_SETTLEMENT); frontend_gui_register_action(getAction(GUI_CITY), GUI_CITY); frontend_gui_register_action(getAction(GUI_BUY_DEVELOP), GUI_BUY_DEVELOP); frontend_gui_register_action(getAction(GUI_CITY_WALL), GUI_CITY_WALL); #if 0 frontend_gui_register_destroy(gtk_ui_manager_get_action (manager, "GameQuit"), GUI_QUIT); #endif gui_toolbar_show_button("BuildShip", FALSE); gui_toolbar_show_button("MoveShip", FALSE); gui_toolbar_show_button("BuildBridge", FALSE); gui_toolbar_show_accelerators(config_get_int_with_default ("settings/toolbar_show_accelerators", TRUE)); gtk_ui_manager_ensure_update(ui_manager); gtk_widget_show(app_window); g_signal_connect(G_OBJECT(app_window), "delete_event", G_CALLBACK(quit_cb), NULL); return app_window; } void gui_set_show_no_setup_nodes(gboolean show) { guimap_set_show_no_setup_nodes(gmap, show); } Map *frontend_get_map(void) { g_return_val_if_fail(gmap != NULL, NULL); return gmap->map; } void frontend_set_map(Map * map) { g_assert(gmap != NULL); gmap->map = map; } pioneers-15.5/client/gtk/resource-table.c0000644000175000017500000003026312303062653015340 00000000000000/* A custom widget for selecting resources * * The code is based on the TICTACTOE and DIAL examples * http://www.gtk.org/tutorial/app-codeexamples.html * http://www.gtk.org/tutorial/sec-gtkdial.html * * Adaptation for Pioneers: 2004 Roland Clobus * */ #include "config.h" #include #include #include #include #include "resource-table.h" #include "callback.h" /* The signals */ enum { CHANGE, LAST_SIGNAL }; static void resource_table_class_init(ResourceTableClass * klass); static void resource_table_init(ResourceTable * rt); static void resource_table_update(ResourceTable * rt); static void less_resource_cb(GtkButton * widget, gpointer user_data); static void more_resource_cb(GtkButton * widget, gpointer user_data); static void value_changed_cb(GtkSpinButton * widget, gpointer user_data); /* All signals */ static guint resource_table_signals[LAST_SIGNAL] = { 0 }; /* Register the class */ GType resource_table_get_type(void) { static GType rt_type = 0; if (!rt_type) { static const GTypeInfo rt_info = { sizeof(ResourceTableClass), NULL, /* base_init */ NULL, /* base_finalize */ (GClassInitFunc) resource_table_class_init, NULL, /* class_finalize */ NULL, /* class_data */ sizeof(ResourceTable), 0, (GInstanceInitFunc) resource_table_init, NULL }; rt_type = g_type_register_static(GTK_TYPE_TABLE, "ResourceTable", &rt_info, 0); } return rt_type; } /* Register the signals. * ResourceTable will emit this signal: * 'change' when any change in the amount occurs. */ static void resource_table_class_init(ResourceTableClass * klass) { resource_table_signals[CHANGE] = g_signal_new("change", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION, G_STRUCT_OFFSET (ResourceTableClass, change), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); } /* Initialise the composite widget */ static void resource_table_init(ResourceTable * rt) { gint i; for (i = 0; i < NO_RESOURCE; i++) { rt->row[i].hand = 0; rt->row[i].bank = 0; rt->row[i].amount = 0; rt->row[i].hand_widget = NULL; rt->row[i].bank_widget = NULL; rt->row[i].amount_widget = NULL; rt->row[i].less_widget = NULL; rt->row[i].more_widget = NULL; } rt->total_target = 0; rt->total_current = 0; rt->total_widget = NULL; rt->limit_bank = FALSE; rt->with_bank = FALSE; rt->with_total = FALSE; rt->direction = RESOURCE_TABLE_MORE_IN_HAND; } static void resource_table_set_limit(ResourceTable * rt, gint row) { gint limit; if (rt->with_total) limit = rt->with_bank ? MIN(rt->total_target, rt->row[row].bank) : MIN(rt->total_target, rt->row[row].hand); else limit = rt->with_bank ? rt->row[row].bank : rt->direction == RESOURCE_TABLE_MORE_IN_HAND ? 99 : rt->row[row].hand; rt->row[row].limit = limit; gtk_spin_button_set_range(GTK_SPIN_BUTTON (rt->row[row].amount_widget), 0, limit); gtk_widget_set_sensitive(rt->row[row].amount_widget, limit > 0); } /* Create a new ResourceTable */ GtkWidget *resource_table_new(const gchar * title, ResourceTableDirection direction, gboolean with_bank, gboolean with_total) { ResourceTable *rt; gchar *temp; GtkWidget *widget; gint i; guint row; rt = g_object_new(resource_table_get_type(), NULL); rt->direction = direction; rt->with_bank = with_bank; /* Don't set rt->with_total yet, wait for _set_total */ rt->bank_offset = with_bank ? 1 : 0; gtk_table_resize(GTK_TABLE(rt), NO_RESOURCE + 1 + with_total ? 1 : 0, 5 + rt->bank_offset); gtk_table_set_row_spacings(GTK_TABLE(rt), 3); gtk_table_set_col_spacings(GTK_TABLE(rt), 6); temp = g_strconcat("", title, "", NULL); widget = gtk_label_new(NULL); gtk_label_set_markup(GTK_LABEL(widget), temp); g_free(temp); gtk_widget_show(widget); gtk_table_attach_defaults(GTK_TABLE(rt), widget, 0, 5 + rt->bank_offset, 0, 1); gtk_misc_set_alignment(GTK_MISC(widget), 0, 0.5); row = 1; for (i = 0; i < NO_RESOURCE; i++) { rt->row[i].filter = FALSE; widget = rt->row[i].label_widget = gtk_label_new(resource_name(i, TRUE)); gtk_widget_show(widget); gtk_table_attach_defaults(GTK_TABLE(rt), widget, 0, 1, row, row + 1); gtk_misc_set_alignment(GTK_MISC(widget), 0.0, 0.5); widget = rt->row[i].hand_widget = gtk_entry_new(); gtk_widget_show(widget); gtk_table_attach_defaults(GTK_TABLE(rt), widget, 1, 2, row, row + 1); gtk_entry_set_width_chars(GTK_ENTRY(widget), 3); gtk_widget_set_sensitive(widget, FALSE); gtk_entry_set_alignment(GTK_ENTRY(widget), 1.0); gtk_widget_set_tooltip_text(widget, /* Tooltip for the amount of resources in the hand */ _("Amount in hand")); rt->row[i].hand = resource_asset(i); widget = rt->row[i].less_widget = /* Button for decreasing the selected amount */ gtk_button_new_with_label(_("row[i]); gtk_widget_show(widget); gtk_table_attach_defaults(GTK_TABLE(rt), widget, 2, 3, row, row + 1); gtk_widget_set_tooltip_text(widget, /* Tooltip for decreasing the selected amount */ _("" "Decrease the selected amount")); if (with_bank) { rt->row[i].bank = get_bank()[i]; widget = rt->row[i].bank_widget = gtk_entry_new(); gtk_widget_show(widget); gtk_table_attach_defaults(GTK_TABLE(rt), widget, 3, 4, row, row + 1); gtk_entry_set_width_chars(GTK_ENTRY(widget), 3); gtk_widget_set_sensitive(widget, FALSE); gtk_entry_set_alignment(GTK_ENTRY(widget), 1.0); gtk_widget_set_tooltip_text(widget, /* Tooltip for the amount of resources in the bank */ _("" "Amount in the bank")); } widget = rt->row[i].more_widget = /* Button for increasing the selected amount */ gtk_button_new_with_label(_("more>")); gtk_widget_set_sensitive(widget, FALSE); g_signal_connect(G_OBJECT(widget), "clicked", G_CALLBACK(more_resource_cb), &rt->row[i]); gtk_widget_show(widget); gtk_table_attach_defaults(GTK_TABLE(rt), widget, 3 + rt->bank_offset, 4 + rt->bank_offset, row, row + 1); gtk_widget_set_tooltip_text(widget, /* Tooltip for increasing the selected amount */ _("" "Increase the selected amount")); widget = rt->row[i].amount_widget = gtk_spin_button_new_with_range(0, 99, 1); gtk_widget_show(widget); gtk_table_attach_defaults(GTK_TABLE(rt), widget, 4 + rt->bank_offset, 5 + rt->bank_offset, row, row + 1); gtk_entry_set_width_chars(GTK_ENTRY(widget), 3); gtk_entry_set_alignment(GTK_ENTRY(widget), 1.0); g_signal_connect(G_OBJECT(widget), "value-changed", G_CALLBACK(value_changed_cb), &rt->row[i]); gtk_widget_set_tooltip_text(widget, /* Tooltip for the selected amount */ _("Selected amount")); resource_table_set_limit(rt, i); row++; } resource_table_update(rt); return GTK_WIDGET(rt); } void resource_table_limit_bank(ResourceTable * rt, gboolean limit) { rt->limit_bank = limit; resource_table_update(rt); } void resource_table_set_total(ResourceTable * rt, const gchar * text, gint total) { GtkWidget *widget; guint row; gint i; g_assert(IS_RESOURCETABLE(rt)); rt->with_total = TRUE; rt->total_target = total; rt->total_current = 0; row = NO_RESOURCE + 1; widget = gtk_label_new(text); gtk_widget_show(widget); gtk_table_attach_defaults(GTK_TABLE(rt), widget, 0, 4 + rt->bank_offset, row, row + 1); gtk_misc_set_alignment(GTK_MISC(widget), 1.0, 0.5); widget = rt->total_widget = gtk_spin_button_new_with_range(0, total, 1); gtk_widget_show(widget); gtk_table_attach_defaults(GTK_TABLE(rt), widget, 4 + rt->bank_offset, 5 + rt->bank_offset, row, row + 1); gtk_entry_set_width_chars(GTK_ENTRY(widget), 3); gtk_widget_set_sensitive(widget, FALSE); gtk_entry_set_alignment(GTK_ENTRY(widget), 1.0); gtk_widget_set_tooltip_text(widget, /* Tooltip for the total selected amount */ _("Total selected amount")); for (i = 0; i < NO_RESOURCE; i++) { resource_table_set_limit(rt, i); } resource_table_update(rt); } void resource_table_set_bank(ResourceTable * rt, const gint * bank) { gint i; for (i = 0; i < NO_RESOURCE; i++) { rt->row[i].bank = bank[i]; resource_table_set_limit(rt, i); if (rt->limit_bank && rt->with_total && bank[i] > rt->total_target) { gtk_widget_set_tooltip_text(rt->row[i].bank_widget, /* Tooltip when the bank cannot be emptied */ _("" "The bank cannot be emptied")); } } resource_table_update(rt); } /* Update the display to the current state */ static void resource_table_update(ResourceTable * rt) { gchar buff[16]; gint i; struct _ResourceRow *row; gboolean less_enabled; gboolean more_enabled; g_assert(IS_RESOURCETABLE(rt)); rt->total_current = 0; for (i = 0; i < NO_RESOURCE; i++) rt->total_current += rt->row[i].amount; if (rt->with_total) { sprintf(buff, "%d", rt->total_current); gtk_entry_set_text(GTK_ENTRY(rt->total_widget), buff); } for (i = 0; i < NO_RESOURCE; i++) { row = &rt->row[i]; sprintf(buff, "%d", row->amount); gtk_entry_set_text(GTK_ENTRY(row->amount_widget), buff); less_enabled = row->amount > 0; more_enabled = row->amount < row->limit; if (rt->with_total && rt->total_current >= rt->total_target) more_enabled = FALSE; if (rt->direction == RESOURCE_TABLE_MORE_IN_HAND) sprintf(buff, "%d", row->hand + row->amount); else sprintf(buff, "%d", row->hand - row->amount); gtk_entry_set_text(GTK_ENTRY(row->hand_widget), buff); if (rt->with_bank) { if (rt->limit_bank && rt->with_total && row->bank > rt->total_target) sprintf(buff, "%s", "++"); else sprintf(buff, "%d", row->bank - row->amount); gtk_entry_set_text(GTK_ENTRY(row->bank_widget), buff); } gtk_widget_set_sensitive(row->label_widget, !row->filter); gtk_widget_set_sensitive(row->less_widget, less_enabled && !row->filter); gtk_widget_set_sensitive(row->more_widget, more_enabled && !row->filter); gtk_widget_set_sensitive(row->amount_widget, (less_enabled || more_enabled) && !row->filter); } } static void less_resource_cb(GtkButton * widget, gpointer user_data) { struct _ResourceRow *row = user_data; ResourceTable *rt = RESOURCETABLE(gtk_widget_get_parent(GTK_WIDGET(widget))); row->amount--; resource_table_update(rt); g_signal_emit(G_OBJECT(rt), resource_table_signals[CHANGE], 0); } static void more_resource_cb(GtkButton * widget, gpointer user_data) { struct _ResourceRow *row = user_data; ResourceTable *rt = RESOURCETABLE(gtk_widget_get_parent(GTK_WIDGET(widget))); row->amount++; resource_table_update(rt); g_signal_emit(G_OBJECT(rt), resource_table_signals[CHANGE], 0); } static void value_changed_cb(GtkSpinButton * widget, gpointer user_data) { struct _ResourceRow *row = user_data; ResourceTable *rt = RESOURCETABLE(gtk_widget_get_parent(GTK_WIDGET(widget))); row->amount = gtk_spin_button_get_value_as_int(widget); resource_table_update(rt); g_signal_emit(G_OBJECT(rt), resource_table_signals[CHANGE], 0); } void resource_table_get_amount(ResourceTable * rt, gint * amount) { gint i; g_assert(IS_RESOURCETABLE(rt)); for (i = 0; i < NO_RESOURCE; i++) amount[i] = rt->row[i].amount; } gboolean resource_table_is_total_reached(ResourceTable * rt) { g_assert(IS_RESOURCETABLE(rt)); return (rt->total_current == rt->total_target); } void resource_table_update_hand(ResourceTable * rt) { gint i; g_assert(IS_RESOURCETABLE(rt)); for (i = 0; i < NO_RESOURCE; i++) { rt->row[i].hand = resource_asset(i); resource_table_set_limit(rt, i); } resource_table_update(rt); } void resource_table_set_filter(ResourceTable * rt, const gint * resource) { gint i; g_assert(IS_RESOURCETABLE(rt)); for (i = 0; i < NO_RESOURCE; i++) { rt->row[i].filter = resource[i] == 0; } resource_table_update(rt); } void resource_table_clear(ResourceTable * rt) { gint i; g_assert(IS_RESOURCETABLE(rt)); for (i = 0; i < NO_RESOURCE; i++) { rt->row[i].amount = 0; } resource_table_update(rt); } pioneers-15.5/client/gtk/quote-view.h0000644000175000017500000000705113252223516014536 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 2006 Roland Clobus * Copyright (C) 2006 Bas Wijnen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef __quoteview_h #define __quoteview_h #include #include "map.h" /* For NO_RESOURCE */ #include "quoteinfo.h" G_BEGIN_DECLS #define QUOTEVIEW_TYPE (quote_view_get_type ()) #define QUOTEVIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), QUOTEVIEW_TYPE, QuoteView)) #define QUOTEVIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), QUOTEVIEW_TYPE, QuoteViewClass)) #define IS_QUOTEVIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), QUOTEVIEW_TYPE)) #define IS_QUOTEVIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), QUOTEVIEW_TYPE)) typedef struct _QuoteView QuoteView; typedef struct _QuoteViewClass QuoteViewClass; typedef gboolean(*CheckQuoteFunc) (const QuoteInfo * quote); struct _QuoteView { GtkScrolledWindow scrolled_window; /** The data */ GtkListStore *store; /** The tree view widget */ GtkWidget *quotes; /** All quotes */ QuoteList *quote_list; /** Show maritime quotes? */ gboolean with_maritime; /** Information about available maritime trades */ MaritimeInfo maritime_info; gboolean maritime_filter_supply[NO_RESOURCE]; gboolean maritime_filter_receive[NO_RESOURCE]; CheckQuoteFunc check_quote_func; /** The currently selected quote, or NULL */ const QuoteInfo *selected_quote; /** CheckQuoteFunc returns true */ GdkPixbuf *true_pixbuf; /** CheckQuoteFunc returns false */ GdkPixbuf *false_pixbuf; }; struct _QuoteViewClass { GtkScrolledWindowClass parent_class; void (*selection_changed) (QuoteView * qv); void (*selection_activated) (QuoteView * qv); }; GType quote_view_get_type(void); GtkWidget *quote_view_new(gboolean with_maritime, CheckQuoteFunc check_quote_func, const gchar * true_pixbuf_id, const gchar * false_pixbuf_id); void quote_view_begin(QuoteView * qv); void quote_view_add_quote(QuoteView * qv, gint player_num, gint quote_num, const gint * supply, const gint * receive); void quote_view_remove_quote(QuoteView * qv, gint partner_num, gint quote_num); void quote_view_reject(QuoteView * qv, gint player_num); void quote_view_finish(QuoteView * qv); void quote_view_check_validity_of_trades(QuoteView * qv); void quote_view_clear_selected_quote(QuoteView * qv); const QuoteInfo *quote_view_get_selected_quote(QuoteView * qv); void quote_view_remove_rejected_quotes(QuoteView * qv); void quote_view_set_maritime_filters(QuoteView * qv, const gboolean * filter_supply, const gboolean * filter_receive); void quote_view_theme_changed(QuoteView * qv); gboolean quote_view_trade_exists(QuoteView * qv, const gint * supply, const gint * receive); gboolean quote_view_has_reject(QuoteView * qv, gint player_num); G_END_DECLS #endif pioneers-15.5/client/gtk/pioneers.desktop.in0000644000175000017500000000033212213111213016061 00000000000000[Desktop Entry] Version=1.0 _Name=Pioneers _Comment=Play a game of Pioneers _Keywords=game;board;play;Pioneers;Settlers; Exec=pioneers Icon=pioneers Terminal=false Type=Application Categories=Game;BoardGame;GNOME;GTK; pioneers-15.5/client/gtk/resource-view-private.h0000644000175000017500000000317113252243607016702 00000000000000/* Generated by GOB (v2.0.20) (do not edit directly) */ /* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 2006 Giancarlo Capella * Copyright (C) 2011 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #line 3 "client/gtk/resource-view.gob" #line 28 "resource-view-private.h" #ifndef __RESOURCE_VIEW_PRIVATE_H__ #define __RESOURCE_VIEW_PRIVATE_H__ #include "resource-view.h" #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ #line 33 "client/gtk/resource-view.gob" #include "map.h" #include "frontend.h" #line 44 "resource-view-private.h" struct _ResourceViewPrivate { #line 39 "client/gtk/resource-view.gob" gint resource[NO_RESOURCE]; #line 40 "client/gtk/resource-view.gob" gdouble distance; #line 41 "client/gtk/resource-view.gob" gint max_width; #line 52 "resource-view-private.h" }; #ifdef __cplusplus } #endif /* __cplusplus */ #endif pioneers-15.5/client/gtk/audio.c0000644000175000017500000000372212136233300013516 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 2008,2013 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include #include "audio.h" static gboolean silent_mode = FALSE; static gboolean announce_player = TRUE; gboolean get_announce_player(void) { return announce_player; } void set_announce_player(gboolean announce) { announce_player = announce; } gboolean get_silent_mode(void) { return silent_mode; } void set_silent_mode(gboolean silent) { silent_mode = silent; } static void do_beep(guint frequency) { gchar *argv[5]; guint i; argv[0] = g_strdup("beep"); argv[1] = g_strdup("beep"); argv[2] = g_strdup("-f"); argv[3] = g_strdup_printf("%u", frequency); argv[4] = NULL; if (!g_spawn_async (NULL, argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, NULL)) { /* Use old style beep, which does not always work */ gdk_beep(); } for (i = 0; i < G_N_ELEMENTS(argv); i++) { g_free(argv[i]); } } void play_sound(SoundType sound) { if (get_silent_mode()) { return; } switch (sound) { case SOUND_BEEP: do_beep(440); break; case SOUND_TURN: do_beep(440); break; case SOUND_ANNOUNCE: if (get_announce_player()) do_beep(880); break; } } pioneers-15.5/client/gtk/Makefile.am0000644000175000017500000000617311712461037014321 00000000000000# Pioneers - Implementation of the excellent Settlers of Catan board game. # Go buy a copy. # # Copyright (C) 1999 Dave Cole # Copyright (C) 2003, 2006 Bas Wijnen # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA bin_PROGRAMS += pioneers desktop_in_files += client/gtk/pioneers.desktop.in # if anyone knows a cleaner way to do this, be my guest. Automake screamed # at me when I tried to do it more directly. if ADMIN_GTK_SUPPORT ADMIN_GTK = -DADMIN_GTK ADMIN_GTK_FILES_ACTIVE = client/gtk/admin-gtk.c ADMIN_GTK_FILES_INACTIVE = else ADMIN_GTK = ADMIN_GTK_FILES_ACTIVE = ADMIN_GTK_FILES_INACTIVE = client/gtk/admin-gtk.c endif pioneers_CPPFLAGS = -I$(top_srcdir)/client -I$(top_srcdir)/client/common $(LIBNOTIFY_CFLAGS) $(gtk_cflags) $(ADMIN_GTK) $(avahi_cflags) EXTRA_pioneers_SOURCES = $(ADMIN_GTK_FILES_INACTIVE) pioneers_SOURCES = \ $(ADMIN_GTK_FILES_ACTIVE) \ client/callback.h \ client/gtk/audio.h \ client/gtk/avahi.h \ client/gtk/avahi-browser.h \ client/gtk/frontend.h \ client/gtk/gui.h \ client/gtk/histogram.h \ client/gtk/audio.c \ client/gtk/avahi.c \ client/gtk/avahi-browser.c \ client/gtk/callbacks.c \ client/gtk/chat.c \ client/gtk/connect.c \ client/gtk/develop.c \ client/gtk/discard.c \ client/gtk/frontend.c \ client/gtk/gameover.c \ client/gtk/gold.c \ client/gtk/gui.c \ client/gtk/histogram.c \ client/gtk/identity.c \ client/gtk/interface.c \ client/gtk/legend.c \ client/gtk/monopoly.c \ client/gtk/name.c \ client/gtk/notification.c \ client/gtk/notification.h \ client/gtk/offline.c \ client/gtk/plenty.c \ client/gtk/player.c \ client/gtk/quote.c \ client/gtk/quote-view.c \ client/gtk/quote-view.h \ client/gtk/resource.c \ client/gtk/resource-view.gob \ client/gtk/resource-view.gob.stamp \ client/gtk/resource-view.c \ client/gtk/resource-view.h \ client/gtk/resource-view-private.h \ client/gtk/resource-table.c \ client/gtk/resource-table.h \ client/gtk/settingscreen.c \ client/gtk/state.c \ client/gtk/trade.c pioneers_LDADD = libpioneersclient.a $(gtk_libs) $(avahi_libs) $(LIBNOTIFY_LIBS) # Include the data here, not at the top, # it can add extra resources to the executable include client/gtk/data/Makefile.am BUILT_SOURCES += \ client/gtk/resource-view.gob.stamp \ client/gtk/resource-view.c \ client/gtk/resource-view.h \ client/gtk/resource-view-private.h MAINTAINERCLEANFILES += \ client/gtk/resource-view.gob.stamp \ client/gtk/resource-view.c \ client/gtk/resource-view.h \ client/gtk/resource-view-private.h pioneers-15.5/client/gtk/quote.c0000644000175000017500000002621212532372026013562 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * Copyright (C) 2006 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include "frontend.h" #include "quoteinfo.h" #include "resource-table.h" #include "quote-view.h" #include "notification.h" static gint trade_player; static GtkWidget *player_icon; static GtkWidget *desc_lbl; static GtkWidget *submit_btn; static GtkWidget *delete_btn; static GtkWidget *reject_btn; static GtkWidget *quoteview; static GtkWidget *want_table; static GtkWidget *give_table; static gint next_quote_num; static gint we_supply[NO_RESOURCE]; static gint we_receive[NO_RESOURCE]; static gboolean can_delete_this_quote(const QuoteInfo * quote) { g_assert(quote->is_domestic); return quote->var.d.player_num == my_player_num();; } gboolean can_submit_quote(void) { gint want_quote[NO_RESOURCE]; gint give_quote[NO_RESOURCE]; resource_table_get_amount(RESOURCETABLE(want_table), want_quote); resource_table_get_amount(RESOURCETABLE(give_table), give_quote); if (resource_count(want_quote) == 0 && resource_count(give_quote) == 0) return FALSE; return !quote_view_trade_exists(QUOTEVIEW(quoteview), give_quote, want_quote) && !player_is_spectator(my_player_num()); } gboolean can_delete_quote(void) { const QuoteInfo *selected_quote = quote_current_quote(); return selected_quote != NULL && can_delete_this_quote(selected_quote); } gboolean can_reject_quote(void) { return !player_is_spectator(my_player_num()) && !quote_view_has_reject(QUOTEVIEW(quoteview), my_player_num()); } const QuoteInfo *quote_current_quote(void) { return quote_view_get_selected_quote(QUOTEVIEW(quoteview)); } const gint *quote_we_supply(void) { static gint we_supply[NO_RESOURCE]; resource_table_get_amount(RESOURCETABLE(give_table), we_supply); return we_supply; } const gint *quote_we_receive(void) { static gint we_receive[NO_RESOURCE]; resource_table_get_amount(RESOURCETABLE(want_table), we_receive); return we_receive; } gint quote_next_num(void) { return next_quote_num; } static void quote_update(void) { resource_table_update_hand(RESOURCETABLE(want_table)); resource_table_update_hand(RESOURCETABLE(give_table)); } static void lock_resource_tables(void) { gint idx; gint filter[NO_RESOURCE]; /* Lock the UI */ for (idx = 0; idx < NO_RESOURCE; idx++) filter[idx] = 0; resource_table_set_filter(RESOURCETABLE(want_table), filter); resource_table_set_filter(RESOURCETABLE(give_table), filter); resource_table_clear(RESOURCETABLE(want_table)); resource_table_clear(RESOURCETABLE(give_table)); } static void set_resource_tables_filter(const gint * we_receive, const gint * we_supply) { if (player_is_spectator(my_player_num())) { lock_resource_tables(); } else { resource_table_set_filter(RESOURCETABLE(want_table), we_receive); resource_table_set_filter(RESOURCETABLE(give_table), we_supply); resource_table_clear(RESOURCETABLE(want_table)); resource_table_clear(RESOURCETABLE(give_table)); } } void quote_add_quote(gint player_num, gint quote_num, const gint * we_supply, const gint * we_receive) { quote_view_add_quote(QUOTEVIEW(quoteview), player_num, quote_num, we_supply, we_receive); next_quote_num++; } void quote_delete_quote(gint player_num, gint quote_num) { quote_view_remove_quote(QUOTEVIEW(quoteview), player_num, quote_num); } void quote_player_finish(gint player_num) { quote_view_reject(QUOTEVIEW(quoteview), player_num); if (player_num == my_player_num()) { /* Lock the UI */ lock_resource_tables(); } } void quote_finish(void) { quote_view_finish(QUOTEVIEW(quoteview)); gui_show_quote_page(FALSE); } static void show_quote_params(gint player_num, const gint * they_supply, const gint * they_receive) { gchar we_supply_desc[512]; gchar we_receive_desc[512]; gchar desc[512]; GdkPixbuf *icon; trade_player = player_num; resource_format_type(we_supply_desc, they_receive); resource_format_type(we_receive_desc, they_supply); g_snprintf(desc, sizeof(desc), _("%s has %s, and is looking for %s"), player_name(player_num, TRUE), we_receive_desc, we_supply_desc); gtk_label_set_text(GTK_LABEL(desc_lbl), desc); icon = player_create_icon(player_num, TRUE); gtk_image_set_from_pixbuf(GTK_IMAGE(player_icon), icon); g_object_unref(icon); memcpy(we_supply, they_receive, sizeof(we_supply)); memcpy(we_receive, they_supply, sizeof(we_receive)); } void quote_begin_again(gint player_num, const gint * we_receive, const gint * we_supply) { gchar *msg; /* show the new parameters */ show_quote_params(player_num, we_receive, we_supply); /* throw out reject rows: everyone can quote again */ quote_view_remove_rejected_quotes(QUOTEVIEW(quoteview)); /* check if existing quotes are still valid */ quote_view_check_validity_of_trades(QUOTEVIEW(quoteview)); /* update everything */ quote_update(); set_resource_tables_filter(we_receive, we_supply); frontend_gui_update(); msg = g_strdup_printf( /* Notification */ _("New offer from %s."), player_name(player_num, FALSE)); notification_send(msg, PIONEERS_PIXMAP_TRADE); g_free(msg); } void quote_begin(gint player_num, const gint * we_receive, const gint * we_supply) { gchar *msg; /* show what is asked */ show_quote_params(player_num, we_receive, we_supply); /* reset variables */ next_quote_num = 0; /* clear the gui list */ quote_view_begin(QUOTEVIEW(quoteview)); /* initialize our offer */ quote_update(); set_resource_tables_filter(we_receive, we_supply); frontend_gui_update(); /* finally, show the page so the user can see it */ gui_show_quote_page(TRUE); msg = g_strdup_printf( /* Notification */ _("Offer from %s."), player_name(player_num, FALSE)); notification_send(msg, PIONEERS_PIXMAP_TRADE); g_free(msg); } static void quote_selected_cb(G_GNUC_UNUSED QuoteView * quoteview, G_GNUC_UNUSED gpointer user_data) { /** @todo RC 2006-05-27 Update the resource tables, * to show the effect of the selected quote */ frontend_gui_update(); } static void quote_dblclick_cb(G_GNUC_UNUSED QuoteView * quoteview, gpointer delete_btn) { if (can_delete_quote()) gtk_button_clicked(GTK_BUTTON(delete_btn)); } static void amount_changed_cb(G_GNUC_UNUSED ResourceTable * rt, G_GNUC_UNUSED gpointer user_data) { quote_view_clear_selected_quote(QUOTEVIEW(quoteview)); frontend_gui_update(); } GtkWidget *quote_build_page(void) { GtkWidget *scroll_win; GtkWidget *panel_vbox; GtkWidget *vbox; GtkWidget *hbox; GtkWidget *bbox; scroll_win = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll_win), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW (scroll_win), GTK_SHADOW_NONE); gtk_widget_show(scroll_win); panel_vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 3); gtk_widget_show(panel_vbox); gtk_container_set_border_width(GTK_CONTAINER(panel_vbox), 6); gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW (scroll_win), panel_vbox); hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); gtk_widget_show(hbox); gtk_box_pack_start(GTK_BOX(panel_vbox), hbox, FALSE, TRUE, 0); player_icon = gtk_image_new(); gtk_widget_show(player_icon); gtk_box_pack_start(GTK_BOX(hbox), player_icon, FALSE, FALSE, 0); desc_lbl = gtk_label_new(""); gtk_widget_show(desc_lbl); gtk_box_pack_start(GTK_BOX(hbox), desc_lbl, TRUE, TRUE, 0); gtk_misc_set_alignment(GTK_MISC(desc_lbl), 0, 0.5); hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); gtk_widget_show(hbox); gtk_box_pack_start(GTK_BOX(panel_vbox), hbox, TRUE, TRUE, 0); vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 3); gtk_widget_show(vbox); gtk_box_pack_start(GTK_BOX(hbox), vbox, FALSE, TRUE, 0); want_table = resource_table_new( /* Label */ _("I want"), RESOURCE_TABLE_MORE_IN_HAND, FALSE, FALSE); gtk_widget_show(want_table); gtk_box_pack_start(GTK_BOX(vbox), want_table, FALSE, TRUE, 0); g_signal_connect(G_OBJECT(want_table), "change", G_CALLBACK(amount_changed_cb), NULL); give_table = resource_table_new( /* Label */ _("Give them"), RESOURCE_TABLE_LESS_IN_HAND, FALSE, FALSE); gtk_widget_show(give_table); gtk_box_pack_start(GTK_BOX(vbox), give_table, FALSE, TRUE, 0); g_signal_connect(G_OBJECT(give_table), "change", G_CALLBACK(amount_changed_cb), NULL); bbox = gtk_button_box_new(GTK_ORIENTATION_HORIZONTAL); gtk_widget_show(bbox); gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, TRUE, 0); /* Button text */ submit_btn = gtk_button_new_with_label(_("Quote")); frontend_gui_register(submit_btn, GUI_QUOTE_SUBMIT, "clicked"); gtk_widget_show(submit_btn); gtk_container_add(GTK_CONTAINER(bbox), submit_btn); /* Button text */ delete_btn = gtk_button_new_with_label(_("Delete")); frontend_gui_register(delete_btn, GUI_QUOTE_DELETE, "clicked"); gtk_widget_show(delete_btn); gtk_container_add(GTK_CONTAINER(bbox), delete_btn); vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 3); gtk_widget_show(vbox); gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 0); quoteview = quote_view_new(FALSE, can_delete_this_quote, "edit-delete", NULL); gtk_widget_show(quoteview); gtk_box_pack_start(GTK_BOX(vbox), quoteview, TRUE, TRUE, 0); g_signal_connect(QUOTEVIEW(quoteview), "selection-changed", G_CALLBACK(quote_selected_cb), NULL); g_signal_connect(G_OBJECT(quoteview), "selection-activated", G_CALLBACK(quote_dblclick_cb), delete_btn); bbox = gtk_button_box_new(GTK_ORIENTATION_HORIZONTAL); gtk_widget_show(bbox); gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, TRUE, 0); gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox), GTK_BUTTONBOX_SPREAD); /* Button text */ reject_btn = gtk_button_new_with_label(_("Reject Domestic Trade")); frontend_gui_register(reject_btn, GUI_QUOTE_REJECT, "clicked"); gtk_widget_show(reject_btn); gtk_container_add(GTK_CONTAINER(bbox), reject_btn); return scroll_win; } void frontend_quote_trade(G_GNUC_UNUSED gint player_num, gint partner_num, gint quote_num, G_GNUC_UNUSED const gint * they_supply, G_GNUC_UNUSED const gint * they_receive) { /* a quote has been accepted, remove it from the list. */ quote_view_remove_quote(QUOTEVIEW(quoteview), partner_num, quote_num); quote_update(); frontend_gui_update(); } pioneers-15.5/client/gtk/audio.h0000644000175000017500000000242112064061744013531 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 2008 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef __audio_h #define __audio_h #include gboolean get_announce_player(void); void set_announce_player(gboolean announce); gboolean get_silent_mode(void); void set_silent_mode(gboolean silent); typedef enum { SOUND_BEEP, /**< Some player beeps you */ SOUND_TURN, /**< It is your turn */ SOUND_ANNOUNCE /**< Another player enters the game */ } SoundType; void play_sound(SoundType sound); #endif pioneers-15.5/client/gtk/resource-view.gob.stamp0000644000175000017500000000000013252243607016661 00000000000000pioneers-15.5/client/gtk/resource.c0000644000175000017500000001016513252223516014253 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * Copyright (C) 2006 Giancarlo Capella * Copyright (C) 2006 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include "frontend.h" #include "resource-view.h" /* 'total' label widget */ static GtkWidget *asset_total_label; static GtkWidget *resource[NO_RESOURCE]; static void rebuild_single_resource(Resource type) { resource_view_set_amount_of_single_resource(RESOURCE_VIEW (resource[type]), type, resource_asset(type)); } static void create_resource_image(GtkTable * table, Resource type, guint column, guint row) { GtkWidget *box; resource[type] = box = resource_view_new(); gtk_widget_show(box); gtk_table_attach(table, box, column, column + 1, row, row + 1, GTK_EXPAND | GTK_FILL, GTK_FILL, 3, 0); } GtkWidget *resource_build_panel(void) { GtkWidget *table; GtkWidget *label; GtkWidget *alignment; GtkWidget *total; PangoLayout *layout; gint width_00, height_00; table = gtk_table_new(4, 2, TRUE); gtk_widget_show(table); gtk_table_set_col_spacings(GTK_TABLE(table), 5); alignment = gtk_alignment_new(0.0, 0.0, 1.0, 1.0); gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 0, 3, 3); gtk_widget_show(alignment); gtk_table_attach_defaults(GTK_TABLE(table), alignment, 0, 2, 0, 1); label = gtk_label_new(NULL); /* Caption for overview of the resources of the player */ gtk_label_set_markup(GTK_LABEL(label), _("Resources")); gtk_widget_show(label); gtk_container_add(GTK_CONTAINER(alignment), label); gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5); create_resource_image(GTK_TABLE(table), BRICK_RESOURCE, 0, 1); create_resource_image(GTK_TABLE(table), GRAIN_RESOURCE, 0, 2); create_resource_image(GTK_TABLE(table), ORE_RESOURCE, 0, 3); create_resource_image(GTK_TABLE(table), WOOL_RESOURCE, 1, 1); create_resource_image(GTK_TABLE(table), LUMBER_RESOURCE, 1, 2); total = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); gtk_widget_show(total); /* Label */ label = gtk_label_new(_("Total")); gtk_widget_show(label); gtk_box_pack_start(GTK_BOX(total), label, TRUE, TRUE, 3); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); asset_total_label = label = gtk_label_new("-"); /* Measure the size of '00' to avoid resizing problems */ layout = gtk_widget_create_pango_layout(label, "00"); pango_layout_get_pixel_size(layout, &width_00, &height_00); g_object_unref(layout); gtk_widget_set_size_request(label, width_00, height_00); gtk_widget_show(label); gtk_box_pack_start(GTK_BOX(total), label, TRUE, TRUE, 3); gtk_misc_set_alignment(GTK_MISC(label), 1, 0.5); gtk_table_attach(GTK_TABLE(table), total, 1, 2, 3, 4, (GtkAttachOptions) GTK_EXPAND | GTK_FILL, (GtkAttachOptions) GTK_FILL, 3, 0); return table; } void frontend_resource_change(Resource type, G_GNUC_UNUSED gint new_amount) { if (type < NO_RESOURCE) { char buff[16]; snprintf(buff, sizeof(buff), "%d", resource_total()); gtk_label_set_text(GTK_LABEL(asset_total_label), buff); /* Force resize of the table, this is needed because * GTK does not correctly redraw a label when the amounts * cross the barrier of 1 or 2 positions. */ gtk_container_check_resize(GTK_CONTAINER (gtk_widget_get_parent (asset_total_label))); rebuild_single_resource(type); } frontend_gui_update(); } pioneers-15.5/client/gtk/gold.c0000644000175000017500000002107313252223516013351 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * Copyright (C) 2004 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include "frontend.h" #include "resource-table.h" #include "common_gtk.h" enum { GOLD_COLUMN_PLAYER_ICON, /**< Player icon */ GOLD_COLUMN_PLAYER_NUM, /**< Internal: player number */ GOLD_COLUMN_PLAYER_NAME, /**< Player name */ GOLD_COLUMN_AMOUNT, /**< The amount to choose */ GOLD_COLUMN_LAST }; static GtkListStore *gold_store; /**< the gold data */ static GtkWidget *gold_widget; /**< the gold widget */ static struct { GtkWidget *dlg; GtkWidget *resource_widget; } gold; static void amount_changed_cb(G_GNUC_UNUSED ResourceTable * rt, G_GNUC_UNUSED gpointer user_data) { frontend_gui_update(); } /* fill an array with the current choice, to send to the server */ void choose_gold_get_list(gint * choice) { if (gold.dlg != NULL) resource_table_get_amount(RESOURCETABLE (gold.resource_widget), choice); } static void button_destroyed(G_GNUC_UNUSED GtkWidget * w, gpointer num) { if (callback_mode == MODE_GOLD) gold_choose_player_must(GPOINTER_TO_INT(num), get_bank()); } void gold_choose_player_must(gint num, const gint * bank) { GtkWidget *dlg_vbox; GtkWidget *vbox; gchar *text; gold.dlg = gtk_dialog_new_with_buttons( /* Dialog caption */ _("" "Choose Resources"), GTK_WINDOW (app_window), GTK_DIALOG_DESTROY_WITH_PARENT, /* Button text */ _("_OK"), GTK_RESPONSE_OK, NULL); g_signal_connect(G_OBJECT(gold.dlg), "destroy", G_CALLBACK(gtk_widget_destroyed), &gold.dlg); gtk_widget_realize(gold.dlg); /* Disable close */ gdk_window_set_functions(gtk_widget_get_window(gold.dlg), GDK_FUNC_ALL | GDK_FUNC_CLOSE); dlg_vbox = gtk_dialog_get_content_area(GTK_DIALOG(gold.dlg)); gtk_widget_show(dlg_vbox); vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5); gtk_widget_show(vbox); gtk_box_pack_start(GTK_BOX(dlg_vbox), vbox, FALSE, TRUE, 0); gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); text = g_strdup_printf(ngettext("You may choose %d resource", "You may choose %d resources", num), num); gold.resource_widget = resource_table_new(text, RESOURCE_TABLE_MORE_IN_HAND, TRUE, TRUE); g_free(text); resource_table_set_total(RESOURCETABLE(gold.resource_widget), /* Text for total in choose gold dialog */ _("Total resources"), num); resource_table_limit_bank(RESOURCETABLE(gold.resource_widget), TRUE); resource_table_set_bank(RESOURCETABLE(gold.resource_widget), bank); gtk_widget_show(gold.resource_widget); gtk_box_pack_start(GTK_BOX(vbox), gold.resource_widget, FALSE, TRUE, 0); g_signal_connect(G_OBJECT(gold.resource_widget), "change", G_CALLBACK(amount_changed_cb), NULL); frontend_gui_register(gui_get_dialog_button (GTK_DIALOG(gold.dlg), 0), GUI_CHOOSE_GOLD, "clicked"); /* This _must_ be after frontend_gui_register, otherwise the * regeneration of the button happens before the destruction, which * results in an incorrectly sensitive OK button. */ g_signal_connect(gui_get_dialog_button(GTK_DIALOG(gold.dlg), 0), "destroy", G_CALLBACK(button_destroyed), GINT_TO_POINTER(num)); frontend_gui_update(); gtk_widget_show(gold.dlg); } void gold_choose_player_prepare(gint player_num, gint num) { GtkTreeIter iter; GdkPixbuf *pixbuf; enum TFindResult found; /* Search for a place to add information about the player */ found = find_integer_in_tree(GTK_TREE_MODEL(gold_store), &iter, GOLD_COLUMN_PLAYER_NUM, player_num); switch (found) { case FIND_NO_MATCH: gtk_list_store_append(gold_store, &iter); break; case FIND_MATCH_INSERT_BEFORE: gtk_list_store_insert_before(gold_store, &iter, &iter); break; case FIND_MATCH_EXACT: break; default: g_error("unknown case in gold_choose_player_prepare"); }; pixbuf = player_create_icon(player_num, TRUE); gtk_list_store_set(gold_store, &iter, GOLD_COLUMN_PLAYER_ICON, pixbuf, GOLD_COLUMN_PLAYER_NUM, player_num, GOLD_COLUMN_PLAYER_NAME, player_name(player_num, TRUE), GOLD_COLUMN_AMOUNT, num, -1); g_object_unref(pixbuf); } void gold_choose_player_did(gint player_num, G_GNUC_UNUSED gint * resources) { GtkTreeIter iter; enum TFindResult found; /* check if the player was in the list. If not, it is not an error. * That happens if the player auto-discards. */ found = find_integer_in_tree(GTK_TREE_MODEL(gold_store), &iter, GOLD_COLUMN_PLAYER_NUM, player_num); if (found == FIND_MATCH_EXACT) { gtk_list_store_remove(gold_store, &iter); if (player_num == my_player_num()) { gtk_widget_destroy(gold.dlg); gold.dlg = NULL; } } } void gold_choose_begin(void) { gtk_list_store_clear(GTK_LIST_STORE(gold_store)); gui_gold_show(); } void gold_choose_end(void) { gtk_list_store_clear(GTK_LIST_STORE(gold_store)); gui_gold_hide(); if (gold.dlg != NULL) { /* shouldn't happen */ gtk_widget_destroy(gold.dlg); gold.dlg = NULL; } } GtkWidget *gold_build_page(void) { GtkWidget *vbox; GtkWidget *label; GtkWidget *alignment; GtkWidget *scroll_win; GtkCellRenderer *renderer; GtkTreeViewColumn *column; vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5); gtk_widget_show(vbox); alignment = gtk_alignment_new(0.0, 0.0, 1.0, 1.0); gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 0, 3, 3); gtk_widget_show(alignment); gtk_box_pack_start(GTK_BOX(vbox), alignment, FALSE, FALSE, 0); label = gtk_label_new(NULL); gtk_label_set_markup(GTK_LABEL(label), /* Caption for list of player that must choose gold */ _("Waiting for players to choose")); gtk_widget_show(label); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); gtk_container_add(GTK_CONTAINER(alignment), label); scroll_win = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW (scroll_win), GTK_SHADOW_IN); gtk_widget_show(scroll_win); gtk_box_pack_start(GTK_BOX(vbox), scroll_win, TRUE, TRUE, 0); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll_win), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gold_store = gtk_list_store_new(GOLD_COLUMN_LAST, GDK_TYPE_PIXBUF, /* player icon */ G_TYPE_INT, /* player number */ G_TYPE_STRING, /* text */ G_TYPE_INT); /* amount to choose */ gold_widget = gtk_tree_view_new_with_model(GTK_TREE_MODEL(gold_store)); column = gtk_tree_view_column_new_with_attributes("", gtk_cell_renderer_pixbuf_new (), "pixbuf", GOLD_COLUMN_PLAYER_ICON, NULL); gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_GROW_ONLY); gtk_tree_view_append_column(GTK_TREE_VIEW(gold_widget), column); column = gtk_tree_view_column_new_with_attributes("", gtk_cell_renderer_text_new (), "text", GOLD_COLUMN_PLAYER_NAME, NULL); gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_AUTOSIZE); gtk_tree_view_column_set_expand(column, TRUE); gtk_tree_view_append_column(GTK_TREE_VIEW(gold_widget), column); renderer = gtk_cell_renderer_text_new(); column = gtk_tree_view_column_new_with_attributes("", renderer, "text", GOLD_COLUMN_AMOUNT, NULL); g_object_set(renderer, "xalign", 1.0f, NULL); gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_GROW_ONLY); gtk_tree_view_append_column(GTK_TREE_VIEW(gold_widget), column); gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(gold_widget), FALSE); gtk_widget_show(gold_widget); gtk_container_add(GTK_CONTAINER(scroll_win), gold_widget); return vbox; } gboolean can_choose_gold(void) { if (gold.dlg == NULL) return FALSE; return resource_table_is_total_reached(RESOURCETABLE (gold.resource_widget)); } pioneers-15.5/client/gtk/state.c0000644000175000017500000000321113252223516013536 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 2003 Bas Wijnen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include "frontend.h" static GuiState current_state; void set_gui_state_nomacro(GuiState state) { current_state = state; frontend_gui_update(); } GuiState get_gui_state(void) { return current_state; } void route_gui_event(GuiEvent event) { switch (event) { case GUI_UPDATE: frontend_gui_check(GUI_CHANGE_NAME, TRUE); frontend_gui_check(GUI_QUIT, TRUE); /* The routed event could disable disconnect again */ frontend_gui_check(GUI_DISCONNECT, TRUE); break; case GUI_CHANGE_NAME: name_create_dlg(); return; case GUI_DISCONNECT: frontend_disconnect(); return; case GUI_QUIT: debug("quitting"); frontend_quit(); return; default: break; } current_state(event); /* set the focus to the chat window, no matter what happened */ chat_set_focus(); } pioneers-15.5/client/gtk/identity.c0000644000175000017500000002417013252223516014256 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * Copyright (C) 2004 Roland Clobus * Copyright (C) 2013 Micah Bunting * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include "frontend.h" #include #define IDENTITY_HEIGHT 40 #define IDENTITY_BORDER 5 #define FIRST_BUILD_TYPE BUILD_ROAD #define LAST_BUILD_TYPE BUILD_CITY_WALL static GtkWidget *identity_area; static GuiMap bogus_map; static int die_num[2]; typedef struct { gint row; gint left; gint right; } IdentityPosition; static IdentityPosition identity_positions[LAST_BUILD_TYPE - FIRST_BUILD_TYPE + 1]; typedef struct { void (*get_polygon) (const GuiMap * gmap, Polygon * poly); gint(*stock_num) (void); GuiEvent gui_event; } TypeData; static void identity_get_road_polygon(const GuiMap * gmap, Polygon * poly) { guimap_road_polygon(gmap, NULL, poly); } static void identity_get_bridge_polygon(const GuiMap * gmap, Polygon * poly) { guimap_bridge_polygon(gmap, NULL, poly); } static void identity_get_ship_polygon(const GuiMap * gmap, Polygon * poly) { guimap_ship_polygon(gmap, NULL, poly); } static void identity_get_settlement_polygon(const GuiMap * gmap, Polygon * poly) { guimap_settlement_polygon(gmap, NULL, poly); } static void identity_get_city_polygon(const GuiMap * gmap, Polygon * poly) { guimap_city_polygon(gmap, NULL, poly); } static void identity_get_city_wall_polygon(const GuiMap * gmap, Polygon * poly) { guimap_city_wall_polygon(gmap, NULL, poly); } static const TypeData TYPE_DATA[LAST_BUILD_TYPE - FIRST_BUILD_TYPE + 1] = { {identity_get_road_polygon, stock_num_roads, GUI_ROAD}, {identity_get_bridge_polygon, stock_num_bridges, GUI_BRIDGE}, {identity_get_ship_polygon, stock_num_ships, GUI_SHIP}, {identity_get_settlement_polygon, stock_num_settlements, GUI_SETTLEMENT}, {identity_get_city_polygon, stock_num_cities, GUI_CITY}, {identity_get_city_wall_polygon, stock_num_city_walls, GUI_CITY_WALL}, }; static gint calculate_width(GtkWidget * area, BuildType build_type) { const GameParams *game_params = get_game_params(); if (game_params->num_build_type[build_type] <= 0) { return 0; } /* calculate poly width */ GdkPoint points[MAX_POINTS]; Polygon poly; GdkRectangle rect; const TypeData *data = &TYPE_DATA[build_type - FIRST_BUILD_TYPE]; poly.points = points; poly.num_points = MAX_POINTS; data->get_polygon(&bogus_map, &poly); poly_bound_rect(&poly, 0, &rect); /* calculate num width */ char buff[10]; gint width, height; PangoLayout *layout; sprintf(buff, "%d", data->stock_num()); layout = gtk_widget_create_pango_layout(area, buff); pango_layout_get_pixel_size(layout, &width, &height); g_object_unref(layout); return width + rect.width + IDENTITY_BORDER * 3; } static void calculate_identity_positions(GtkWidget * area) { const GameParams *game_params = get_game_params(); gint x_pos = 0; gint y_pos = 0; GtkAllocation allocation; gtk_widget_get_allocation(area, &allocation); if (game_params == NULL) return; BuildType build_type; for (build_type = FIRST_BUILD_TYPE; build_type <= LAST_BUILD_TYPE; build_type++) { gint width = calculate_width(area, build_type); if (x_pos + width > allocation.width - (y_pos ? 0 : 75)) { y_pos++; x_pos = 0; } IdentityPosition *position = &identity_positions[build_type - FIRST_BUILD_TYPE]; position->row = y_pos; position->left = x_pos; x_pos += width; position->right = x_pos; } if ((y_pos + 1) * IDENTITY_HEIGHT != allocation.height) { gtk_widget_set_size_request(area, -1, (y_pos + 1) * IDENTITY_HEIGHT); } } static void draw_building_and_count(cairo_t * cr, GtkWidget * area, BuildType build_type) { const GameParams *game_params = get_game_params(); if (game_params->num_build_type[build_type] <= 0) { return; } gint offset_x; gint offset_y; IdentityPosition *position = &identity_positions[build_type - FIRST_BUILD_TYPE]; const TypeData *data = &TYPE_DATA[build_type - FIRST_BUILD_TYPE]; /* draw building */ GdkPoint points[MAX_POINTS]; Polygon poly; GdkRectangle rect; poly.points = points; poly.num_points = MAX_POINTS; data->get_polygon(&bogus_map, &poly); poly_bound_rect(&poly, 0, &rect); offset_x = position->left - rect.x + IDENTITY_BORDER; offset_y = (1 + position->row) * IDENTITY_HEIGHT - IDENTITY_BORDER - rect.y - rect.height; poly_offset(&poly, offset_x, offset_y); poly_draw(cr, FALSE, &poly); /* draw count */ char buff[10]; gint width, height; PangoLayout *layout; sprintf(buff, "%d", data->stock_num()); layout = gtk_widget_create_pango_layout(area, buff); pango_layout_get_pixel_size(layout, &width, &height); offset_x = position->left + IDENTITY_BORDER * 2 + rect.width; offset_y = (1 + position->row) * IDENTITY_HEIGHT - IDENTITY_BORDER - height; cairo_move_to(cr, offset_x, offset_y); pango_cairo_show_layout(cr, layout); g_object_unref(layout); } static void show_die(cairo_t * cr, gint x_offset, gint num, GdkColor * die_border_color, GdkColor * die_color, GdkColor * die_dots_color) { static GdkPoint die_points[4] = { {0, 0}, {30, 0}, {30, 30}, {0, 30} }; static Polygon die_shape = { die_points, G_N_ELEMENTS(die_points) }; static GdkPoint dot_pos[7] = { {7, 7}, {22, 7}, {7, 15}, {15, 15}, {22, 15}, {7, 22}, {22, 22} }; static gint draw_list[6][7] = { {0, 0, 0, 1, 0, 0, 0}, {0, 1, 0, 0, 0, 1, 0}, {1, 0, 0, 1, 0, 0, 1}, {1, 1, 0, 0, 0, 1, 1}, {1, 1, 0, 1, 0, 1, 1}, {1, 1, 1, 0, 1, 1, 1} }; gint y_offset; gint *list = draw_list[num - 1]; gint idx; y_offset = IDENTITY_BORDER; poly_offset(&die_shape, x_offset, y_offset); gdk_cairo_set_source_color(cr, die_color); poly_draw(cr, TRUE, &die_shape); gdk_cairo_set_source_color(cr, die_border_color); poly_draw(cr, FALSE, &die_shape); poly_offset(&die_shape, -x_offset, -y_offset); gdk_cairo_set_source_color(cr, die_dots_color); for (idx = 0; idx < 7; idx++) { if (list[idx] == 0) continue; cairo_move_to(cr, x_offset + dot_pos[idx].x - 3, y_offset + dot_pos[idx].y - 3); cairo_arc(cr, x_offset + dot_pos[idx].x, y_offset + dot_pos[idx].y, 3, 0.0, 2 * M_PI); cairo_fill(cr); } } static void identity_resize_cb(GtkWidget * area, G_GNUC_UNUSED GtkAllocation * allocation, G_GNUC_UNUSED gpointer user_data) { calculate_identity_positions(area); } static gint draw_identity_area_cb(GtkWidget * widget, cairo_t * cr, G_GNUC_UNUSED gpointer user_data) { GdkColor *colour; const GameParams *game_params; gint i; GtkAllocation allocation; BuildType build_type; if (my_player_num() < 0) return FALSE; cairo_set_line_join(cr, CAIRO_LINE_JOIN_ROUND); cairo_set_line_cap(cr, CAIRO_LINE_CAP_ROUND); cairo_set_line_width(cr, 1.0); colour = player_or_spectator_color(my_player_num()); gdk_cairo_set_source_color(cr, colour); gtk_widget_get_allocation(widget, &allocation); cairo_rectangle(cr, 0, 0, allocation.width, allocation.height); cairo_fill(cr); if (my_player_spectator()) colour = &white; else colour = &black; gdk_cairo_set_source_color(cr, colour); game_params = get_game_params(); if (game_params == NULL) return TRUE; for (build_type = FIRST_BUILD_TYPE; build_type <= LAST_BUILD_TYPE; build_type++) { draw_building_and_count(cr, widget, build_type); } if (die_num[0] > 0 && die_num[1] > 0) { { /* original dice */ for (i = 0; i < 2; i++) show_die(cr, allocation.width - 70 + 35 * i, die_num[i], &black, &white, &black); } } return TRUE; } void identity_draw(void) { gtk_widget_queue_draw(identity_area); } void identity_set_dice(gint die1, gint die2) { die_num[0] = die1; die_num[1] = die2; gtk_widget_queue_draw(identity_area); } static gint button_press_identity_cb(G_GNUC_UNUSED GtkWidget * area, GdkEventButton * event, G_GNUC_UNUSED gpointer user_data) { GtkAllocation allocation; gtk_widget_get_allocation(area, &allocation); gint row; row = event->y / IDENTITY_HEIGHT; BuildType build_type; for (build_type = FIRST_BUILD_TYPE; build_type <= LAST_BUILD_TYPE; build_type++) { IdentityPosition *position = &identity_positions[build_type - FIRST_BUILD_TYPE]; const TypeData *data = &TYPE_DATA[build_type - FIRST_BUILD_TYPE]; if (position->row == row && position->left <= event->x && position->right > event->x) { if (frontend_gui_get_sensitive(data->gui_event)) { route_gui_event(data->gui_event); } return TRUE; } } if (row == 0 && event->x > allocation.width - 70) { if (!have_rolled_dice()) { route_gui_event(GUI_ROLL); } return TRUE; } return FALSE; } GtkWidget *identity_build_panel(void) { identity_area = gtk_drawing_area_new(); g_signal_connect(G_OBJECT(identity_area), "draw", G_CALLBACK(draw_identity_area_cb), NULL); g_signal_connect(G_OBJECT(identity_area), "size-allocate", G_CALLBACK(identity_resize_cb), NULL); gtk_widget_add_events(identity_area, GDK_BUTTON_PRESS_MASK); g_signal_connect(G_OBJECT(identity_area), "button_press_event", G_CALLBACK(button_press_identity_cb), NULL); gtk_widget_set_size_request(identity_area, -1, IDENTITY_HEIGHT); guimap_scale_with_radius(&bogus_map, IDENTITY_HEIGHT); identity_reset(); gtk_widget_show(identity_area); return identity_area; } void identity_reset(void) { gint i; for (i = 0; i < 2; i++) { die_num[i] = 0; }; if (identity_area != NULL) calculate_identity_positions(identity_area); } pioneers-15.5/client/gtk/develop.c0000644000175000017500000002023513252223516014061 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * Copyright (C) 2004 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include "frontend.h" #include "common_gtk.h" /** Reorder the development types: * Road building * Monopoly * Year of Plenty * Soldier * Victory points */ static gint develtype_to_sortorder(DevelType type) { switch (type) { case DEVEL_ROAD_BUILDING: return 0; case DEVEL_MONOPOLY: return 1; case DEVEL_YEAR_OF_PLENTY: return 2; case DEVEL_SOLDIER: return 10; case DEVEL_CHAPEL: return 20; case DEVEL_UNIVERSITY: return 21; case DEVEL_GOVERNORS_HOUSE: return 22; case DEVEL_LIBRARY: return 23; case DEVEL_MARKET: return 24; default: g_assert_not_reached(); return 99; }; }; enum { DEVELOP_COLUMN_TYPE, /**< Development card type */ DEVELOP_COLUMN_ORDER, /**< Sort order */ DEVELOP_COLUMN_NAME, /**< Name of the card */ DEVELOP_COLUMN_DESCRIPTION, /**< Description of the card */ DEVELOP_COLUMN_AMOUNT, /**< Amount of the cards */ DEVELOP_COLUMN_LAST }; static GtkListStore *store; /**< The data for the GUI */ static gint selected_card_idx; /**< currently selected development card */ gint develop_current_idx(void) { return selected_card_idx; } static gint develop_click_cb(G_GNUC_UNUSED GtkWidget * widget, G_GNUC_UNUSED GdkEventButton * event, gpointer play_develop_btn) { if (event->type == GDK_2BUTTON_PRESS) { if (can_play_develop(develop_current_idx())) gtk_button_clicked(GTK_BUTTON(play_develop_btn)); }; return FALSE; } static void develop_select_cb(GtkTreeSelection * selection, G_GNUC_UNUSED gpointer user_data) { GtkTreeIter iter; GtkTreeModel *model; g_assert(selection != NULL); if (gtk_tree_selection_get_selected(selection, &model, &iter)) { DevelType type; gtk_tree_model_get(model, &iter, DEVELOP_COLUMN_TYPE, &type, -1); selected_card_idx = deck_card_oldest_card(get_devel_deck(), type); } else selected_card_idx = -1; frontend_gui_update(); } GtkWidget *develop_build_page(void) { GtkWidget *label; GtkWidget *vbox; GtkWidget *scroll_win; GtkWidget *bbox; GtkWidget *alignment; GtkTreeViewColumn *column; GtkCellRenderer *renderer; GtkWidget *play_develop_btn; GtkWidget *develop_list; vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5); gtk_widget_show(vbox); alignment = gtk_alignment_new(0.0, 0.0, 1.0, 1.0); gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 0, 3, 3); gtk_widget_show(alignment); gtk_box_pack_start(GTK_BOX(vbox), alignment, FALSE, FALSE, 0); label = gtk_label_new(NULL); gtk_label_set_markup(GTK_LABEL(label), /* Caption for list of bought development cards */ _("Development cards")); gtk_widget_show(label); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); gtk_container_add(GTK_CONTAINER(alignment), label); /* Create model */ store = gtk_list_store_new(DEVELOP_COLUMN_LAST, G_TYPE_INT, G_TYPE_INT, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING); scroll_win = gtk_scrolled_window_new(NULL, NULL); gtk_widget_set_size_request(scroll_win, -1, 100); gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW (scroll_win), GTK_SHADOW_IN); gtk_widget_show(scroll_win); gtk_box_pack_start(GTK_BOX(vbox), scroll_win, TRUE, TRUE, 0); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll_win), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); /* Create graphical representation of the model */ develop_list = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store)); gtk_tree_view_set_tooltip_column(GTK_TREE_VIEW(develop_list), DEVELOP_COLUMN_DESCRIPTION); gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(develop_list), FALSE); gtk_container_add(GTK_CONTAINER(scroll_win), develop_list); /* First create the button, it is used as user_data for the listview */ play_develop_btn = gtk_button_new_with_label( /* Button text: play development card */ _("" "Play Card")); /* Register double-click */ g_signal_connect(G_OBJECT(develop_list), "button_press_event", G_CALLBACK(develop_click_cb), play_develop_btn); g_signal_connect(G_OBJECT (gtk_tree_view_get_selection (GTK_TREE_VIEW(develop_list))), "changed", G_CALLBACK(develop_select_cb), NULL); /* Now create columns */ column = gtk_tree_view_column_new_with_attributes( /* Not translated: it is not visible */ "Development Cards", gtk_cell_renderer_text_new (), "text", DEVELOP_COLUMN_NAME, NULL); gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_AUTOSIZE); gtk_tree_view_column_set_expand(column, TRUE); gtk_tree_view_append_column(GTK_TREE_VIEW(develop_list), column); renderer = gtk_cell_renderer_text_new(); column = gtk_tree_view_column_new_with_attributes( /* Not translated: it is not visible */ "Amount", renderer, "text", DEVELOP_COLUMN_AMOUNT, NULL); g_object_set(renderer, "xalign", 1.0f, NULL); gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_GROW_ONLY); gtk_tree_view_append_column(GTK_TREE_VIEW(develop_list), column); gtk_widget_show(develop_list); bbox = gtk_button_box_new(GTK_ORIENTATION_HORIZONTAL); gtk_widget_show(bbox); gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, TRUE, 0); frontend_gui_register(play_develop_btn, GUI_PLAY_DEVELOP, "clicked"); gtk_widget_show(play_develop_btn); gtk_container_add(GTK_CONTAINER(bbox), play_develop_btn); selected_card_idx = -1; return vbox; } static void update_model(GtkTreeIter * iter, DevelType type) { gchar amount_string[16]; gint amount; /* Only show the amount when you have more than one */ amount = deck_card_amount(get_devel_deck(), type); if (amount == 1) amount_string[0] = '\0'; else snprintf(amount_string, sizeof(amount_string), "%d", amount); gtk_list_store_set(store, iter, DEVELOP_COLUMN_NAME, get_devel_name(type), DEVELOP_COLUMN_DESCRIPTION, get_devel_description(type), DEVELOP_COLUMN_AMOUNT, amount_string, DEVELOP_COLUMN_TYPE, type, DEVELOP_COLUMN_ORDER, develtype_to_sortorder(type), -1); } void frontend_bought_develop(DevelType type) { GtkTreeIter iter; enum TFindResult found; found = find_integer_in_tree(GTK_TREE_MODEL(store), &iter, DEVELOP_COLUMN_ORDER, develtype_to_sortorder(type)); switch (found) { case FIND_MATCH_EXACT: /* Don't add new items */ break; case FIND_MATCH_INSERT_BEFORE: gtk_list_store_insert_before(store, &iter, &iter); break; case FIND_NO_MATCH: gtk_list_store_append(store, &iter); }; update_model(&iter, type); } void frontend_played_develop(gint player_num, G_GNUC_UNUSED guint card_idx, DevelType type) { GtkTreeIter iter; enum TFindResult found; if (player_num == my_player_num()) { found = find_integer_in_tree(GTK_TREE_MODEL(store), &iter, DEVELOP_COLUMN_ORDER, develtype_to_sortorder(type)); g_assert(found == FIND_MATCH_EXACT); if (deck_card_amount(get_devel_deck(), type) == 0) { gtk_list_store_remove(store, &iter); /* Do not update selected_card_idx, it was updated * by the callback develop_select_cb */ } else { update_model(&iter, type); selected_card_idx = deck_card_oldest_card(get_devel_deck(), type); } }; } void develop_reset(void) { selected_card_idx = -1; gtk_list_store_clear(store); } pioneers-15.5/client/gtk/chat.c0000644000175000017500000002107713252223516013347 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include "frontend.h" #include "common_gtk.h" #include "audio.h" static GtkWidget *chat_entry; /* messages text widget */ static GtkListStore *chat_completion_model = NULL; static gboolean chat_grab_focus_on_update = FALSE; /**< Flag to indicate * whether the chat widget should grab the focus whenever a GUI_UPDATE is sent */ enum { CHAT_PLAYER_NUM, /**< Player number */ CHAT_PLAYER_ICON, /**< The player icon */ CHAT_BEEP_TEXT, /**< Text for the completion */ CHAT_COLUMN_LAST }; static void chat_cb(GtkEntry * entry, G_GNUC_UNUSED gpointer user_data) { const gchar *text = gtk_entry_get_text(entry); if (text[0] != '\0') { gchar buff[MAX_CHAT + 1]; gint idx; strncpy(buff, text, sizeof(buff) - 1); buff[sizeof(buff) - 1] = '\0'; /* Replace newlines in message with spaces. In a line * oriented protocol, newlines are a bit confusing :-) */ for (idx = 0; buff[idx] != '\0'; idx++) if (buff[idx] == '\n') buff[idx] = ' '; cb_chat(buff); gtk_entry_set_text(entry, ""); } } GtkWidget *chat_build_panel(void) { GtkWidget *hbox; GtkWidget *label; GtkEntryCompletion *completion; GtkCellRenderer *cell; hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5); gtk_widget_show(hbox); label = gtk_label_new(NULL); /* Label text */ gtk_label_set_markup(GTK_LABEL(label), _("Chat")); gtk_widget_show(label); gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); chat_entry = gtk_entry_new(); gtk_entry_set_max_length(GTK_ENTRY(chat_entry), MAX_CHAT); g_signal_connect(G_OBJECT(chat_entry), "activate", G_CALLBACK(chat_cb), NULL); gtk_widget_show(chat_entry); gtk_box_pack_start(GTK_BOX(hbox), chat_entry, TRUE, TRUE, 0); completion = gtk_entry_completion_new(); gtk_entry_set_completion(GTK_ENTRY(chat_entry), completion); chat_completion_model = gtk_list_store_new(CHAT_COLUMN_LAST, G_TYPE_INT, GDK_TYPE_PIXBUF, G_TYPE_STRING); gtk_entry_completion_set_model(completion, GTK_TREE_MODEL (chat_completion_model)); g_object_unref(chat_completion_model); /* In GTK 2.4 the text column cannot be set with g_object_set yet. * Set the column, clear the renderers, and add our own. */ gtk_entry_completion_set_text_column(completion, CHAT_BEEP_TEXT); gtk_cell_layout_clear(GTK_CELL_LAYOUT(completion)); cell = gtk_cell_renderer_pixbuf_new(); gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(completion), cell, FALSE); gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(completion), cell, "pixbuf", CHAT_PLAYER_ICON, NULL); cell = gtk_cell_renderer_text_new(); gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(completion), cell, TRUE); gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(completion), cell, "text", CHAT_BEEP_TEXT, NULL); gtk_entry_completion_set_minimum_key_length(completion, 2); g_object_unref(completion); return hbox; } void chat_set_grab_focus_on_update(gboolean grab) { chat_grab_focus_on_update = grab; } void chat_set_focus(void) { if (chat_grab_focus_on_update && !gtk_widget_is_focus(chat_entry)) { gtk_widget_grab_focus(chat_entry); gtk_editable_set_position(GTK_EDITABLE(chat_entry), -1); } } void chat_player_name(gint player_num, const gchar * name) { GtkTreeIter iter; enum TFindResult found; GdkPixbuf *pixbuf; found = find_integer_in_tree(GTK_TREE_MODEL(chat_completion_model), &iter, CHAT_PLAYER_NUM, player_num); switch (found) { case FIND_NO_MATCH: gtk_list_store_append(chat_completion_model, &iter); break; case FIND_MATCH_INSERT_BEFORE: gtk_list_store_insert_before(chat_completion_model, &iter, &iter); break; case FIND_MATCH_EXACT: break; }; /* connected icon */ pixbuf = player_create_icon(player_num, TRUE); gtk_list_store_set(chat_completion_model, &iter, CHAT_PLAYER_NUM, player_num, CHAT_PLAYER_ICON, pixbuf, CHAT_BEEP_TEXT, g_strdup_printf("/beep %s", name), -1); g_object_unref(pixbuf); } void chat_player_style(gint player_num) { GtkTreeIter iter; enum TFindResult found; GdkPixbuf *pixbuf; found = find_integer_in_tree(GTK_TREE_MODEL(chat_completion_model), &iter, CHAT_PLAYER_NUM, player_num); g_return_if_fail(found == FIND_MATCH_EXACT); /* connected icon */ pixbuf = player_create_icon(player_num, TRUE); gtk_list_store_set(chat_completion_model, &iter, CHAT_PLAYER_ICON, pixbuf, -1); g_object_unref(pixbuf); } void chat_player_quit(gint player_num) { GtkTreeIter iter; enum TFindResult found; found = find_integer_in_tree(GTK_TREE_MODEL(chat_completion_model), &iter, CHAT_PLAYER_NUM, player_num); if (found == FIND_MATCH_EXACT) { /* not connected icon */ GdkPixbuf *pixbuf = player_create_icon(player_num, FALSE); gtk_list_store_set(chat_completion_model, &iter, CHAT_PLAYER_ICON, pixbuf, -1); g_object_unref(pixbuf); } } void chat_spectator_quit(gint spectator_num) { GtkTreeIter iter; enum TFindResult found; found = find_integer_in_tree(GTK_TREE_MODEL(chat_completion_model), &iter, CHAT_PLAYER_NUM, spectator_num); if (found == FIND_MATCH_EXACT) { gtk_list_store_remove(chat_completion_model, &iter); } } void chat_clear_names(void) { gtk_list_store_clear(chat_completion_model); } /** Beep a player (if the name is found) * @param beeping_player The player that sent the /beep * @param name The name of the beeped player */ static void beep_player(gint beeping_player, const gchar * name) { gint beeped_player = find_player_by_name(name); if (beeped_player != -1) { if (beeped_player == my_player_num()) { play_sound(SOUND_BEEP); frontend_gui_update(); if (beeping_player == my_player_num()) log_message(MSG_BEEP, _("Beeper test.\n")); else log_message(MSG_BEEP, _("%s beeped you.\n"), player_name(beeping_player, TRUE)); } else if (beeping_player == my_player_num()) { log_message(MSG_BEEP, _("You beeped %s.\n"), name); } } else { if (beeping_player == my_player_num()) { /* No success */ log_message(MSG_BEEP, _("You could not beep %s.\n"), name); } } } void chat_parser(gint player_num, const gchar * chat) { int tempchatcolor = MSG_INFO; gchar *chat_str; gchar *chat_alloc; const gchar *joining_text; /* If the chat matches chat from the AI, translate it. * FIXME: There should be a flag to indicate the player is an AI, * so that chat from human players will not be translated */ chat_alloc = g_strdup(_(chat)); chat_str = chat_alloc; if (!strncmp(chat_str, "/beep", 5)) { chat_str += 5; chat_str += strspn(chat_str, " \t"); beep_player(player_num, chat_str); g_free(chat_alloc); return; } else if (!strncmp(chat_str, "/me", 3)) { /* IRC-compatible /me */ chat_str += 3; chat_str += strspn(chat_str, " \t") - 1; chat_str[0] = ':'; } switch (chat_str[0]) { case ':': chat_str += 1; joining_text = " "; break; case ';': chat_str += 1; joining_text = ""; break; default: joining_text = _(" said: "); break; } if (color_chat_enabled) { if (player_is_spectator(player_num)) tempchatcolor = MSG_SPECTATOR_CHAT; else switch (player_num) { case 0: tempchatcolor = MSG_PLAYER1; break; case 1: tempchatcolor = MSG_PLAYER2; break; case 2: tempchatcolor = MSG_PLAYER3; break; case 3: tempchatcolor = MSG_PLAYER4; break; case 4: tempchatcolor = MSG_PLAYER5; break; case 5: tempchatcolor = MSG_PLAYER6; break; case 6: tempchatcolor = MSG_PLAYER7; break; case 7: tempchatcolor = MSG_PLAYER8; break; default: g_assert_not_reached(); break; } } else { tempchatcolor = MSG_CHAT; } log_message_chat(player_name(player_num, TRUE), joining_text, tempchatcolor, chat_str); g_free(chat_alloc); return; } pioneers-15.5/client/gtk/player.c0000644000175000017500000004654313252223516013731 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003, 2006 Bas Wijnen * Copyright (C) 2004-2008 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include #include "colors.h" #include "frontend.h" #include "log.h" #include "common_gtk.h" #include "player-icon.h" #include "audio.h" static void player_show_connected_at_iter(gint player_num, gboolean connected, GtkTreeIter * iter); static GdkColor ps_settlement = { 0, 0xbb00, 0x0000, 0x0000 }; static GdkColor ps_city = { 0, 0xff00, 0x0000, 0x0000 }; static GdkColor ps_city_wall = { 0, 0xff00, 0x0000, 0x0000 }; static GdkColor ps_largest = { 0, 0x1c00, 0xb500, 0xed00 }; static GdkColor ps_soldier = { 0, 0xe500, 0x8f00, 0x1600 }; static GdkColor ps_resource = { 0, 0x0000, 0x0000, 0xFF00 }; static GdkColor ps_development = { 0, 0xc600, 0xc600, 0x1300 }; static GdkColor ps_building = { 0, 0x0b00, 0xed00, 0x8900 }; typedef struct { const gchar *singular; const gchar *plural; GdkColor *textcolor; } Statistic; static Statistic statistics[] = { {N_("Settlement"), N_("Settlements"), &ps_settlement}, {N_("City"), N_("Cities"), &ps_city}, {N_("City wall"), N_("City walls"), &ps_city_wall}, {N_("Largest army"), NULL, &ps_largest}, {N_("Longest road"), NULL, &ps_largest}, {N_("Chapel"), N_("Chapels"), &ps_building}, {N_("Pioneer university"), N_("Pioneer universities"), &ps_building}, {N_("Governor's house"), N_("Governor's houses"), &ps_building}, {N_("Library"), N_("Libraries"), &ps_building}, {N_("Market"), N_("Markets"), &ps_building}, {N_("Soldier"), N_("Soldiers"), &ps_soldier}, {N_("Resource card"), N_("Resource cards"), &ps_resource}, {N_("Development card"), N_("Development cards"), &ps_development} }; enum { SUMMARY_COLUMN_PLAYER_ICON, /**< Player icon */ SUMMARY_COLUMN_PLAYER_NUM, /**< Internal: player number */ SUMMARY_COLUMN_TEXT, /**< Description of the items */ SUMMARY_COLUMN_TEXT_COLOUR, /**< Colour of the description */ SUMMARY_COLUMN_SCORE, /**< Score of the items (as string) */ SUMMARY_COLUMN_STATISTIC, /**< enum Statistic value+1, or 0 if not in the enum */ SUMMARY_COLUMN_POINTS_ID, /**< Id of points, or -1 */ SUMMARY_COLUMN_LAST }; static GtkListStore *summary_store; /**< the player summary data */ static GtkWidget *summary_widget; /**< the player summary widget */ static gboolean summary_color_enabled = TRUE; /** Structure to find combination of player and statistic */ struct Player_statistic { enum TFindResult result; GtkTreeIter iter; gint player_num; gint statistic; }; /** Structure to find combination of player and points */ struct Player_point { enum TFindResult result; GtkTreeIter iter; gint player_num; gint point_id; }; static GtkWidget *turn_area; /** turn indicator in status bar */ /** Width for each icon */ static const gint turn_area_icon_width = 28; /** Separation between each icon */ static const gint turn_area_icon_separation = 2; void player_init(void) { colors_init(); playericon_init(); } GdkColor *player_color(gint player_num) { return colors_get_player(player_num); } GdkColor *player_or_spectator_color(gint player_num) { if (player_is_spectator(player_num)) { /* spectator color is always black */ return &black; } return colors_get_player(player_num); } GdkPixbuf *player_create_icon(gint player_num, gboolean connected) { GdkPixbuf *pixbuf; gint width; gint height; cairo_surface_t *surface; gtk_icon_size_lookup(GTK_ICON_SIZE_MENU, &width, &height); surface = playericon_create_icon(player_get_style(player_num), player_or_spectator_color(player_num), player_is_spectator(player_num), connected, width, height); pixbuf = gdk_pixbuf_get_from_surface(surface, 0, 0, width, height); cairo_surface_destroy(surface); return pixbuf; } /** Locate a line suitable for the statistic */ static gboolean summary_locate_statistic(GtkTreeModel * model, G_GNUC_UNUSED GtkTreePath * path, GtkTreeIter * iter, gpointer user_data) { struct Player_statistic *ps = (struct Player_statistic *) user_data; gint current_player; gint current_statistic; gtk_tree_model_get(model, iter, SUMMARY_COLUMN_PLAYER_NUM, ¤t_player, SUMMARY_COLUMN_STATISTIC, ¤t_statistic, -1); if (current_player > ps->player_num) { ps->result = FIND_MATCH_INSERT_BEFORE; ps->iter = *iter; return TRUE; } else if (current_player == ps->player_num) { if (current_statistic > ps->statistic) { ps->result = FIND_MATCH_INSERT_BEFORE; ps->iter = *iter; return TRUE; } else if (current_statistic == ps->statistic) { ps->result = FIND_MATCH_EXACT; ps->iter = *iter; return TRUE; } } return FALSE; } /** Locate a line suitable for the statistic */ static gboolean summary_locate_point(GtkTreeModel * model, G_GNUC_UNUSED GtkTreePath * path, GtkTreeIter * iter, gpointer user_data) { struct Player_point *pp = (struct Player_point *) user_data; gint current_player; gint current_point_id; gint current_statistic; gtk_tree_model_get(model, iter, SUMMARY_COLUMN_PLAYER_NUM, ¤t_player, SUMMARY_COLUMN_STATISTIC, ¤t_statistic, SUMMARY_COLUMN_POINTS_ID, ¤t_point_id, -1); if (current_player > pp->player_num) { pp->result = FIND_MATCH_INSERT_BEFORE; pp->iter = *iter; return TRUE; } else if (current_player == pp->player_num) { if (current_statistic >= STAT_SOLDIERS) { pp->result = FIND_MATCH_INSERT_BEFORE; pp->iter = *iter; return TRUE; } if (current_point_id > pp->point_id) { pp->result = FIND_MATCH_INSERT_BEFORE; pp->iter = *iter; return TRUE; } else if (current_point_id == pp->point_id) { pp->result = FIND_MATCH_EXACT; pp->iter = *iter; return TRUE; } } return FALSE; } /** Function to redisplay the running point total for the indicated player */ static void refresh_victory_point_total(int player_num) { gchar points[16]; GtkTreeIter iter; enum TFindResult found; g_return_if_fail(player_num >= 0 && player_num < num_players()); found = find_integer_in_tree(GTK_TREE_MODEL(summary_store), &iter, SUMMARY_COLUMN_PLAYER_NUM, player_num); if (found == FIND_MATCH_EXACT) { snprintf(points, sizeof(points), "%d", player_get_score(player_num)); gtk_list_store_set(summary_store, &iter, SUMMARY_COLUMN_SCORE, points, -1); } } /** Apply colors to the summary */ static gboolean summary_apply_colors_cb(GtkTreeModel * model, G_GNUC_UNUSED GtkTreePath * path, GtkTreeIter * iter, G_GNUC_UNUSED gpointer user_data) { gint current_statistic; gint point_id; gtk_tree_model_get(model, iter, SUMMARY_COLUMN_STATISTIC, ¤t_statistic, SUMMARY_COLUMN_POINTS_ID, &point_id, -1); if (current_statistic > 0) gtk_list_store_set(summary_store, iter, SUMMARY_COLUMN_TEXT_COLOUR, summary_color_enabled ? statistics[current_statistic - 1].textcolor : &black, -1); else if (point_id >= 0) gtk_list_store_set(summary_store, iter, SUMMARY_COLUMN_TEXT_COLOUR, summary_color_enabled ? &ps_largest : &black, -1); return FALSE; } void set_color_summary(gboolean flag) { if (flag != summary_color_enabled) { summary_color_enabled = flag; if (summary_store) gtk_tree_model_foreach(GTK_TREE_MODEL (summary_store), summary_apply_colors_cb, NULL); } } void frontend_new_statistics(gint player_num, StatisticType type, G_GNUC_UNUSED gint num) { Player *player = player_get(player_num); gint value; gchar points[16]; GtkTreeIter iter; struct Player_statistic ps; value = player->statistics[type]; if (stat_get_vp_value(type) > 0) refresh_victory_point_total(player_num); ps.result = FIND_NO_MATCH; ps.player_num = player_num; ps.statistic = type + 1; gtk_tree_model_foreach(GTK_TREE_MODEL(summary_store), summary_locate_statistic, &ps); if (value == 0) { if (ps.result == FIND_MATCH_EXACT) gtk_list_store_remove(summary_store, &ps.iter); } else { gchar *desc; if (value == 1) { if (statistics[type].plural != NULL) desc = g_strdup_printf("%d %s", value, gettext(statistics [type]. singular)); else desc = g_strdup(gettext (statistics [type].singular)); } else desc = g_strdup_printf("%d %s", value, gettext(statistics [type].plural)); if (stat_get_vp_value(type) > 0) sprintf(points, "%d", value * stat_get_vp_value(type)); else strcpy(points, ""); switch (ps.result) { case FIND_NO_MATCH: gtk_list_store_append(summary_store, &iter); break; case FIND_MATCH_INSERT_BEFORE: gtk_list_store_insert_before(summary_store, &iter, &ps.iter); break; case FIND_MATCH_EXACT: iter = ps.iter; break; default: g_error("unknown case in frontend_new_statistics"); }; gtk_list_store_set(summary_store, &iter, SUMMARY_COLUMN_PLAYER_NUM, player_num, SUMMARY_COLUMN_TEXT, desc, SUMMARY_COLUMN_TEXT_COLOUR, summary_color_enabled ? statistics[type].textcolor : &black, SUMMARY_COLUMN_STATISTIC, type + 1, SUMMARY_COLUMN_POINTS_ID, -1, SUMMARY_COLUMN_SCORE, points, -1); g_free(desc); } frontend_gui_update(); } void frontend_new_points(gint player_num, Points * points, gboolean added) { GtkTreeIter iter; struct Player_point pp; gchar score[16]; refresh_victory_point_total(player_num); pp.result = FIND_NO_MATCH; pp.player_num = player_num; pp.point_id = points->id; gtk_tree_model_foreach(GTK_TREE_MODEL(summary_store), summary_locate_point, &pp); if (!added) { if (pp.result != FIND_MATCH_EXACT) g_error("cannot remove point"); gtk_list_store_remove(summary_store, &pp.iter); frontend_gui_update(); return; } switch (pp.result) { case FIND_NO_MATCH: gtk_list_store_append(summary_store, &iter); break; case FIND_MATCH_INSERT_BEFORE: gtk_list_store_insert_before(summary_store, &iter, &pp.iter); break; case FIND_MATCH_EXACT: iter = pp.iter; break; default: g_error("unknown case in frontend_new_points"); }; snprintf(score, sizeof(score), "%d", points->points); gtk_list_store_set(summary_store, &iter, SUMMARY_COLUMN_PLAYER_NUM, player_num, SUMMARY_COLUMN_TEXT, _(points->name), SUMMARY_COLUMN_TEXT_COLOUR, summary_color_enabled ? &ps_largest : &black, SUMMARY_COLUMN_STATISTIC, 0, SUMMARY_COLUMN_POINTS_ID, points->id, SUMMARY_COLUMN_SCORE, score, -1); frontend_gui_update(); } static void player_create_find_player(gint player_num, GtkTreeIter * iter) { GtkTreeIter found_iter; enum TFindResult result; /* Search for a place to add information about the player/spectator */ result = find_integer_in_tree(GTK_TREE_MODEL(summary_store), &found_iter, SUMMARY_COLUMN_PLAYER_NUM, player_num); switch (result) { case FIND_NO_MATCH: gtk_list_store_append(summary_store, iter); gtk_list_store_set(summary_store, iter, SUMMARY_COLUMN_PLAYER_NUM, player_num, SUMMARY_COLUMN_POINTS_ID, -1, -1); break; case FIND_MATCH_INSERT_BEFORE: gtk_list_store_insert_before(summary_store, iter, &found_iter); gtk_list_store_set(summary_store, iter, SUMMARY_COLUMN_PLAYER_NUM, player_num, SUMMARY_COLUMN_POINTS_ID, -1, -1); break; case FIND_MATCH_EXACT: *iter = found_iter; break; default: g_error("unknown case in player_create_find_player"); }; } void frontend_player_name(gint player_num, const gchar * name) { GtkTreeIter iter; player_create_find_player(player_num, &iter); gtk_list_store_set(summary_store, &iter, SUMMARY_COLUMN_TEXT, name, -1); player_show_connected_at_iter(player_num, TRUE, &iter); if (callback_mode != MODE_INIT) play_sound(SOUND_ANNOUNCE); chat_player_name(player_num, name); } void frontend_player_style(gint player_num, G_GNUC_UNUSED const gchar * style) { GtkTreeIter iter; player_create_find_player(player_num, &iter); player_show_connected_at_iter(player_num, TRUE, &iter); chat_player_style(player_num); } void frontend_spectator_name(gint spectator_num, const gchar * name) { GtkTreeIter iter; player_create_find_player(spectator_num, &iter); gtk_list_store_set(summary_store, &iter, SUMMARY_COLUMN_TEXT, name, -1); if (callback_mode != MODE_INIT) play_sound(SOUND_ANNOUNCE); chat_player_name(spectator_num, name); } void frontend_player_quit(gint player_num) { GtkTreeIter iter; player_create_find_player(player_num, &iter); player_show_connected_at_iter(player_num, FALSE, &iter); chat_player_quit(player_num); } void frontend_spectator_quit(gint spectator_num) { GtkTreeIter iter; player_create_find_player(spectator_num, &iter); gtk_list_store_remove(summary_store, &iter); chat_spectator_quit(spectator_num); } static void player_show_connected_at_iter(gint player_num, gboolean connected, GtkTreeIter * iter) { GdkPixbuf *pixbuf = player_create_icon(player_num, connected); gtk_list_store_set(summary_store, iter, SUMMARY_COLUMN_PLAYER_ICON, pixbuf, -1); g_object_unref(pixbuf); } /* Get the top and bottom row for player summary and make sure player * is visible */ static void player_show_summary(gint player_num) { GtkTreeIter found_iter; enum TFindResult result; gboolean scroll_to_end = FALSE; result = find_integer_in_tree(GTK_TREE_MODEL(summary_store), &found_iter, SUMMARY_COLUMN_PLAYER_NUM, player_num + 1); if (result == FIND_NO_MATCH) { scroll_to_end = TRUE; } else { GtkTreePath *path = gtk_tree_model_get_path(GTK_TREE_MODEL(summary_store), &found_iter); if (gtk_tree_path_prev(path)) gtk_tree_view_scroll_to_cell(GTK_TREE_VIEW (summary_widget), path, NULL, FALSE, 0.0, 0.0); gtk_tree_path_free(path); } result = find_integer_in_tree(GTK_TREE_MODEL(summary_store), &found_iter, SUMMARY_COLUMN_PLAYER_NUM, player_num); if (result != FIND_NO_MATCH) { GtkTreePath *path = gtk_tree_model_get_path(GTK_TREE_MODEL(summary_store), &found_iter); gtk_tree_view_scroll_to_cell(GTK_TREE_VIEW(summary_widget), path, NULL, scroll_to_end, 0.0, 0.0); gtk_tree_view_set_cursor(GTK_TREE_VIEW(summary_widget), path, NULL, FALSE); gtk_tree_path_free(path); } } GtkWidget *player_build_summary(void) { GtkWidget *vbox; GtkWidget *label; GtkWidget *scroll_win; GtkWidget *alignment; GtkCellRenderer *renderer; GtkTreeViewColumn *column; vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5); gtk_widget_show(vbox); alignment = gtk_alignment_new(0.0, 0.0, 1.0, 1.0); gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 0, 3, 3); gtk_widget_show(alignment); gtk_box_pack_start(GTK_BOX(vbox), alignment, FALSE, FALSE, 0); label = gtk_label_new(NULL); /* Caption for the overview of the points and card of other players */ gtk_label_set_markup(GTK_LABEL(label), _("Player summary")); gtk_widget_show(label); gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5); gtk_container_add(GTK_CONTAINER(alignment), label); summary_store = gtk_list_store_new(SUMMARY_COLUMN_LAST, GDK_TYPE_PIXBUF, /* player icon */ G_TYPE_INT, /* player number */ G_TYPE_STRING, /* text */ GDK_TYPE_COLOR, /* text colour */ G_TYPE_STRING, /* score */ G_TYPE_INT, /* statistic */ G_TYPE_INT); /* points */ summary_widget = gtk_tree_view_new_with_model(GTK_TREE_MODEL(summary_store)); column = gtk_tree_view_column_new_with_attributes("", gtk_cell_renderer_pixbuf_new (), "pixbuf", SUMMARY_COLUMN_PLAYER_ICON, NULL); gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_GROW_ONLY); gtk_tree_view_append_column(GTK_TREE_VIEW(summary_widget), column); column = gtk_tree_view_column_new_with_attributes("", gtk_cell_renderer_text_new (), "text", SUMMARY_COLUMN_TEXT, "foreground-gdk", SUMMARY_COLUMN_TEXT_COLOUR, NULL); gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_AUTOSIZE); gtk_tree_view_column_set_expand(column, TRUE); gtk_tree_view_append_column(GTK_TREE_VIEW(summary_widget), column); renderer = gtk_cell_renderer_text_new(); column = gtk_tree_view_column_new_with_attributes("", renderer, "text", SUMMARY_COLUMN_SCORE, "foreground-gdk", SUMMARY_COLUMN_TEXT_COLOUR, NULL); g_object_set(renderer, "xalign", 1.0f, NULL); gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_GROW_ONLY); gtk_tree_view_append_column(GTK_TREE_VIEW(summary_widget), column); gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(summary_widget), FALSE); gtk_widget_show(summary_widget); scroll_win = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW (scroll_win), GTK_SHADOW_IN); gtk_widget_show(scroll_win); gtk_box_pack_start(GTK_BOX(vbox), scroll_win, TRUE, TRUE, 0); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll_win), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_container_add(GTK_CONTAINER(scroll_win), summary_widget); return vbox; } static gboolean draw_turn_area_cb(GtkWidget * widget, cairo_t * cr, G_GNUC_UNUSED gpointer user_data) { gint offset; gint idx; GtkAllocation allocation; gtk_widget_get_allocation(widget, &allocation); offset = 0; for (idx = 0; idx < num_players(); idx++) { gdk_cairo_set_source_color(cr, player_color(idx)); cairo_rectangle(cr, offset, 0, turn_area_icon_width, allocation.height); cairo_fill(cr); gdk_cairo_set_source_color(cr, &black); if (idx == current_player()) { cairo_set_line_width(cr, 3.0); cairo_rectangle(cr, offset + 1.5, 1.5, turn_area_icon_width - 3, allocation.height - 3); } else { cairo_set_line_width(cr, 1.0); cairo_rectangle(cr, offset + 0.5, 0.5, turn_area_icon_width - 1, allocation.height - 1); } cairo_stroke(cr); offset += turn_area_icon_width + turn_area_icon_separation; } return TRUE; } GtkWidget *player_build_turn_area(void) { turn_area = gtk_drawing_area_new(); g_signal_connect(G_OBJECT(turn_area), "draw", G_CALLBACK(draw_turn_area_cb), NULL); gtk_widget_set_size_request(turn_area, turn_area_icon_width * num_players() + turn_area_icon_separation * (num_players() - 1), -1); gtk_widget_show(turn_area); return turn_area; } void set_num_players(gint num) { gtk_widget_set_size_request(turn_area, turn_area_icon_width * num + turn_area_icon_separation * (num - 1), -1); } void player_show_current(gint player_num) { gtk_widget_queue_draw(turn_area); player_show_summary(player_num); } void player_clear_summary(void) { gtk_list_store_clear(GTK_LIST_STORE(summary_store)); } pioneers-15.5/client/gtk/discard.c0000644000175000017500000002107013252223516014032 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * Copyright (C) 2004 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include "frontend.h" #include "resource-table.h" #include "common_gtk.h" enum { DISCARD_COLUMN_PLAYER_ICON, /**< Player icon */ DISCARD_COLUMN_PLAYER_NUM, /**< Internal: player number */ DISCARD_COLUMN_PLAYER_NAME, /**< Player name */ DISCARD_COLUMN_AMOUNT, /**< The amount to discard */ DISCARD_COLUMN_LAST }; static GtkListStore *discard_store; /**< the discard data */ static GtkWidget *discard_widget; /**< the discard widget */ static struct { GtkWidget *dlg; GtkWidget *resource_widget; } discard; /* Local function prototypes */ static GtkWidget *discard_create_dlg(gint num); gboolean can_discard(void) { if (discard.dlg == NULL) return FALSE; return resource_table_is_total_reached(RESOURCETABLE (discard.resource_widget)); } static void amount_changed_cb(G_GNUC_UNUSED ResourceTable * rt, G_GNUC_UNUSED gpointer user_data) { frontend_gui_update(); } static void button_destroyed(G_GNUC_UNUSED GtkWidget * w, gpointer num) { if (callback_mode == MODE_DISCARD) discard_create_dlg(GPOINTER_TO_INT(num)); } static GtkWidget *discard_create_dlg(gint num) { GtkWidget *dlg_vbox; GtkWidget *vbox; gchar *text; discard.dlg = gtk_dialog_new_with_buttons( /* Dialog caption */ _("" "Discard Resources"), GTK_WINDOW (app_window), GTK_DIALOG_DESTROY_WITH_PARENT, /* Button text */ _("_OK"), GTK_RESPONSE_OK, NULL); g_signal_connect(G_OBJECT(discard.dlg), "destroy", G_CALLBACK(gtk_widget_destroyed), &discard.dlg); gtk_widget_realize(discard.dlg); /* Disable close */ gdk_window_set_functions(gtk_widget_get_window(discard.dlg), GDK_FUNC_ALL | GDK_FUNC_CLOSE); dlg_vbox = gtk_dialog_get_content_area(GTK_DIALOG(discard.dlg)); gtk_widget_show(dlg_vbox); vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 6); gtk_widget_show(vbox); gtk_box_pack_start(GTK_BOX(dlg_vbox), vbox, FALSE, TRUE, 0); gtk_container_set_border_width(GTK_CONTAINER(vbox), 6); text = g_strdup_printf(ngettext("You must discard %d resource", "You must discard %d resources", num), num); discard.resource_widget = resource_table_new(text, RESOURCE_TABLE_LESS_IN_HAND, FALSE, TRUE); g_free(text); resource_table_set_total(RESOURCETABLE(discard.resource_widget), /* Label */ _("Total discards"), num); gtk_widget_show(discard.resource_widget); gtk_box_pack_start(GTK_BOX(vbox), discard.resource_widget, FALSE, TRUE, 0); g_signal_connect(G_OBJECT(discard.resource_widget), "change", G_CALLBACK(amount_changed_cb), NULL); frontend_gui_register(gui_get_dialog_button (GTK_DIALOG(discard.dlg), 0), GUI_DISCARD, "clicked"); /* This _must_ be after frontend_gui_register, otherwise the * regeneration of the button happens before the destruction, which * results in an incorrectly sensitive OK button. */ g_signal_connect(gui_get_dialog_button(GTK_DIALOG(discard.dlg), 0), "destroy", G_CALLBACK(button_destroyed), GINT_TO_POINTER(num)); gtk_widget_show(discard.dlg); frontend_gui_update(); return discard.dlg; } void discard_get_list(gint * discards) { if (discard.dlg != NULL) resource_table_get_amount(RESOURCETABLE (discard.resource_widget), discards); else memset(discards, 0, NO_RESOURCE * sizeof(*discards)); } void discard_player_did(gint player_num) { GtkTreeIter iter; enum TFindResult found; /* check if the player was in the list. If not, it is not an error. * That happens if the player auto-discards. */ found = find_integer_in_tree(GTK_TREE_MODEL(discard_store), &iter, DISCARD_COLUMN_PLAYER_NUM, player_num); if (found == FIND_MATCH_EXACT) { gtk_list_store_remove(discard_store, &iter); if (player_num == my_player_num()) { gtk_widget_destroy(discard.dlg); discard.dlg = NULL; } } } void discard_player_must(gint player_num, gint num) { GtkTreeIter iter; GdkPixbuf *pixbuf; enum TFindResult found; /* Search for a place to add information about the player */ found = find_integer_in_tree(GTK_TREE_MODEL(discard_store), &iter, DISCARD_COLUMN_PLAYER_NUM, player_num); switch (found) { case FIND_NO_MATCH: gtk_list_store_append(discard_store, &iter); break; case FIND_MATCH_INSERT_BEFORE: gtk_list_store_insert_before(discard_store, &iter, &iter); break; case FIND_MATCH_EXACT: break; default: g_error("unknown case in discard_player_must"); }; pixbuf = player_create_icon(player_num, TRUE); gtk_list_store_set(discard_store, &iter, DISCARD_COLUMN_PLAYER_ICON, pixbuf, DISCARD_COLUMN_PLAYER_NUM, player_num, DISCARD_COLUMN_PLAYER_NAME, player_name(player_num, TRUE), DISCARD_COLUMN_AMOUNT, num, -1); g_object_unref(pixbuf); if (player_num != my_player_num()) return; discard_create_dlg(num); } void discard_begin(void) { gtk_list_store_clear(GTK_LIST_STORE(discard_store)); gui_discard_show(); } void discard_end(void) { if (discard.dlg) { gtk_widget_destroy(discard.dlg); discard.dlg = NULL; } gui_discard_hide(); } GtkWidget *discard_build_page(void) { GtkWidget *vbox; GtkWidget *label; GtkWidget *alignment; GtkWidget *scroll_win; GtkCellRenderer *renderer; GtkTreeViewColumn *column; vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 6); gtk_widget_show(vbox); alignment = gtk_alignment_new(0.0, 0.0, 1.0, 1.0); gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 0, 3, 3); gtk_widget_show(alignment); gtk_box_pack_start(GTK_BOX(vbox), alignment, FALSE, FALSE, 0); label = gtk_label_new(NULL); gtk_label_set_markup(GTK_LABEL(label), /* Caption for list of player that must discard cards */ _("Waiting for players to discard")); gtk_widget_show(label); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); gtk_container_add(GTK_CONTAINER(alignment), label); scroll_win = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW (scroll_win), GTK_SHADOW_IN); gtk_widget_show(scroll_win); gtk_box_pack_start(GTK_BOX(vbox), scroll_win, TRUE, TRUE, 0); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll_win), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); discard_store = gtk_list_store_new(DISCARD_COLUMN_LAST, GDK_TYPE_PIXBUF, /* player icon */ G_TYPE_INT, /* player number */ G_TYPE_STRING, /* text */ G_TYPE_INT); /* amount to discard */ discard_widget = gtk_tree_view_new_with_model(GTK_TREE_MODEL(discard_store)); column = gtk_tree_view_column_new_with_attributes("", gtk_cell_renderer_pixbuf_new (), "pixbuf", DISCARD_COLUMN_PLAYER_ICON, NULL); gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_GROW_ONLY); gtk_tree_view_append_column(GTK_TREE_VIEW(discard_widget), column); column = gtk_tree_view_column_new_with_attributes("", gtk_cell_renderer_text_new (), "text", DISCARD_COLUMN_PLAYER_NAME, NULL); gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_AUTOSIZE); gtk_tree_view_column_set_expand(column, TRUE); gtk_tree_view_append_column(GTK_TREE_VIEW(discard_widget), column); renderer = gtk_cell_renderer_text_new(); column = gtk_tree_view_column_new_with_attributes("", renderer, "text", DISCARD_COLUMN_AMOUNT, NULL); g_object_set(renderer, "xalign", 1.0f, NULL); gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_GROW_ONLY); gtk_tree_view_append_column(GTK_TREE_VIEW(discard_widget), column); gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(discard_widget), FALSE); gtk_widget_show(discard_widget); gtk_container_add(GTK_CONTAINER(scroll_win), discard_widget); return vbox; } pioneers-15.5/client/gtk/avahi.c0000644000175000017500000001402312064061744013514 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 2008 Roland Clobus * Copyright (C) 2009 Andreas Steinel * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include #include "log.h" #include "avahi.h" #ifdef HAVE_AVAHI #include #include #include #include #include #include static AvahiGLibPoll *glib_poll = NULL; static AvahiClient *client = NULL; static AvahiServiceBrowser *sb = NULL; static AvahiBrowser *zcsptr = NULL; static void resolve_callback(AvahiServiceResolver * r, AVAHI_GCC_UNUSED AvahiIfIndex interface, AVAHI_GCC_UNUSED AvahiProtocol protocol, AvahiResolverEvent event, const char *name, const char *type, const char *domain, const char *host_name, AVAHI_GCC_UNUSED const AvahiAddress * address, uint16_t port, AvahiStringList * txt, AVAHI_GCC_UNUSED AvahiLookupResultFlags flags, AVAHI_GCC_UNUSED void *userdata) { g_assert(r); /* Called whenever a service has been resolved successfully or timed out */ switch (event) { case AVAHI_RESOLVER_FAILURE: debug ("Avahi: Failed to resolve service '%s' of type '%s' in domain '%s': %s", name, type, domain, avahi_strerror(avahi_client_errno (avahi_service_resolver_get_client (r)))); break; case AVAHI_RESOLVER_FOUND:{ gchar *version = NULL; gchar *title = NULL; /* Parse the text part */ AvahiStringList *iter = txt; while (iter != NULL) { gchar *text = g_strdup((gchar *) avahi_string_list_get_text (iter)); if (g_str_has_prefix(text, "version=")) { version = g_strdup(text + 8); } else if (g_str_has_prefix(text, "title=")) { title = g_strdup(text + 6); } g_free(text); iter = avahi_string_list_get_next(iter); } if (zcsptr != NULL) { gchar *sport = g_strdup_printf("%" G_GUINT16_FORMAT, port); char resolved_hostname [AVAHI_ADDRESS_STR_MAX]; avahi_address_snprint(resolved_hostname, sizeof (resolved_hostname), address); avahibrowser_add(zcsptr, name, resolved_hostname, host_name, sport, version, title); g_free(sport); } g_free(version); g_free(title); } } avahi_service_resolver_free(r); } static void browse_callback(AvahiServiceBrowser * b, AvahiIfIndex interface, AvahiProtocol protocol, AvahiBrowserEvent event, const char *name, const char *type, const char *domain, AVAHI_GCC_UNUSED AvahiLookupResultFlags flags, void *userdata) { AvahiClient *c = userdata; g_assert(b); /* Called whenever a new service becomes available on the LAN or is removed from the LAN */ switch (event) { case AVAHI_BROWSER_FAILURE: debug("Avahi browser: failure %s", avahi_strerror(avahi_client_errno (avahi_service_browser_get_client (b)))); return; case AVAHI_BROWSER_NEW: /* We ignore the returned resolver object. In the callback function we free it. If the server is terminated before the callback function is called the server will free the resolver for us. */ if (! (avahi_service_resolver_new (c, interface, protocol, name, type, domain, AVAHI_PROTO_UNSPEC, 0, resolve_callback, c))) debug ("Avahi browser: Failed to resolve service '%s': %s", name, avahi_strerror(avahi_client_errno(c))); break; case AVAHI_BROWSER_REMOVE: avahibrowser_del(zcsptr, name); break; case AVAHI_BROWSER_ALL_FOR_NOW: case AVAHI_BROWSER_CACHE_EXHAUSTED: break; } } static void client_callback(AvahiClient * c, AvahiClientState state, AVAHI_GCC_UNUSED void *userdata) { g_assert(c); /* Called whenever the client or server state changes */ if (state == AVAHI_CLIENT_FAILURE) { debug("Avahi server connection failure: %s", avahi_strerror(avahi_client_errno(c))); } } void avahi_register(AvahiBrowser * widget) { const AvahiPoll *poll_api; zcsptr = widget; int error; glib_poll = avahi_glib_poll_new(NULL, G_PRIORITY_DEFAULT); poll_api = avahi_glib_poll_get(glib_poll); /* Allocate main loop object */ if (!poll_api) { debug("Avahi: Failed to create glib poll object."); avahi_unregister(); return; } client = avahi_client_new(poll_api, 0, client_callback, NULL, &error); /* Check wether creating the client object succeeded */ if (!client) { debug("Avahi: Failed to create client: %s", avahi_strerror(error)); avahi_unregister(); return; } /* Create the service browser */ if (! (sb = avahi_service_browser_new(client, AVAHI_IF_UNSPEC, AVAHI_NETWORK_PROTOCOL, AVAHI_ANNOUNCE_NAME, NULL, 0, browse_callback, client))) { debug("Failed to create service browser: %s"), avahi_strerror(avahi_client_errno(client)); avahi_unregister(); } } void avahi_unregister(void) { /* Cleanup things */ if (sb) { avahi_service_browser_free(sb); sb = NULL; } if (client) { avahi_client_free(client); client = NULL; } if (glib_poll) { avahi_glib_poll_free(glib_poll); glib_poll = NULL; } } #endif pioneers-15.5/client/gtk/resource-view.h0000644000175000017500000000601013252243607015225 00000000000000/* Generated by GOB (v2.0.20) (do not edit directly) */ /* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 2006 Giancarlo Capella * Copyright (C) 2011 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #include "config.h" #include "callback.h" #include "client.h" #ifndef __RESOURCE_VIEW_H__ #define __RESOURCE_VIEW_H__ #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ /* * Type checking and casting macros */ #define RESOURCE_TYPE_VIEW (resource_view_get_type()) #define RESOURCE_VIEW(obj) G_TYPE_CHECK_INSTANCE_CAST((obj), resource_view_get_type(), ResourceView) #define RESOURCE_VIEW_CONST(obj) G_TYPE_CHECK_INSTANCE_CAST((obj), resource_view_get_type(), ResourceView const) #define RESOURCE_VIEW_CLASS(klass) G_TYPE_CHECK_CLASS_CAST((klass), resource_view_get_type(), ResourceViewClass) #define RESOURCE_IS_VIEW(obj) G_TYPE_CHECK_INSTANCE_TYPE((obj), resource_view_get_type ()) #define RESOURCE_VIEW_GET_CLASS(obj) G_TYPE_INSTANCE_GET_CLASS((obj), resource_view_get_type(), ResourceViewClass) /* Private structure type */ typedef struct _ResourceViewPrivate ResourceViewPrivate; /* * Main object structure */ #ifndef __TYPEDEF_RESOURCE_VIEW__ #define __TYPEDEF_RESOURCE_VIEW__ typedef struct _ResourceView ResourceView; #endif struct _ResourceView { GtkMisc __parent__; /*< private >*/ ResourceViewPrivate *_priv; }; /* * Class definition */ typedef struct _ResourceViewClass ResourceViewClass; struct _ResourceViewClass { GtkMiscClass __parent__; cairo_surface_t * surface[NO_RESOURCE]; }; /* * Public methods */ GType resource_view_get_type (void) G_GNUC_CONST; #line 70 "client/gtk/resource-view.gob" GtkWidget * resource_view_new (void); #line 87 "resource-view.h" #line 74 "client/gtk/resource-view.gob" GtkWidget * resource_view_new_single_resource (Resource resource); #line 90 "resource-view.h" #line 146 "client/gtk/resource-view.gob" void resource_view_set (ResourceView * self, const gint * resource); #line 94 "resource-view.h" #line 164 "client/gtk/resource-view.gob" void resource_view_set_amount_of_single_resource (ResourceView * self, Resource type, gint amount); #line 99 "resource-view.h" #ifdef __cplusplus } #endif /* __cplusplus */ #endif pioneers-15.5/client/gtk/histogram.h0000644000175000017500000000212013252223516014416 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef __histogram_h #define __histogram_h void histogram_dice_rolled(gint roll, gint playernum); GtkWidget *histogram_create_dlg(void); void histogram_init(void); void histogram_reset(void); #endif pioneers-15.5/client/gtk/avahi.h0000644000175000017500000000213613252223516013520 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 2009 Andreas Steinel * Copyright (C) 2010 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef __AVAHI_H__ #define __AVAHI_H__ #include #include "avahi-browser.h" void avahi_register(AvahiBrowser * widget); void avahi_unregister(void); #endif pioneers-15.5/client/gtk/frontend.h0000644000175000017500000002573613252223516014262 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 2003,2006 Bas Wijnen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef _frontend_h #define _frontend_h #include #include #include #include "callback.h" #include "colors.h" #include "quoteinfo.h" /* All graphics events. */ typedef enum { GUI_UPDATE, GUI_CONNECT, GUI_CONNECT_TRY, GUI_CONNECT_CANCEL, GUI_DISCONNECT, GUI_CHANGE_NAME, GUI_QUIT, GUI_ROLL, GUI_TRADE, GUI_UNDO, GUI_FINISH, GUI_ROAD, GUI_SHIP, GUI_MOVE_SHIP, GUI_BRIDGE, GUI_SETTLEMENT, GUI_CITY, GUI_CITY_WALL, GUI_BUY_DEVELOP, GUI_PLAY_DEVELOP, GUI_MONOPOLY, GUI_PLENTY, GUI_DISCARD, GUI_CHOOSE_GOLD, GUI_TRADE_CALL, GUI_TRADE_ACCEPT, GUI_TRADE_FINISH, GUI_QUOTE_SUBMIT, GUI_QUOTE_DELETE, GUI_QUOTE_REJECT } GuiEvent; #include "gui.h" /* Information about a GUI component */ typedef struct { GtkWidget *widget; /* the GTK widget */ GuiEvent id; /* widget id */ gboolean destroy_only; /* react to destroy signal */ const gchar *signal; /* signal attached */ gboolean current; /* is widget currently sensitive? */ gboolean next; /* should widget be sensitive? */ } GuiWidgetState; /** all widgets are inactive while waiting for network. */ extern gboolean frontend_waiting_for_network; /** set all widgets to their programmed state. */ void frontend_gui_update(void); /** program the state of a widget for when frontend_gui_update is called. */ void frontend_gui_check(GuiEvent event, gboolean sensitive); /** are the widgets sensitive? * @param event The GuiEvent. * @return TRUE when the GuiEvent has widgets associated that are sensitive. */ gboolean frontend_gui_get_sensitive(GuiEvent event); /** initialise the frontend_gui_register_* functions */ void frontend_gui_register_init(void); /** register a new destroy-only widget. */ void frontend_gui_register_destroy(GtkWidget * widget, GuiEvent id); /** register an action. */ void frontend_gui_register_action(GtkAction * action, GuiEvent id); /** register a new "normal" widget. */ void frontend_gui_register(GtkWidget * widget, GuiEvent id, const gchar * signal); /** route an event to the gui event function */ void frontend_gui_route_event(GuiEvent event); /* callbacks */ void frontend_init_gtk_et_al(int argc, char **argv); void frontend_init(void); void frontend_init_game(void); void frontend_new_statistics(gint player_num, StatisticType type, gint num); void frontend_new_points(gint player_num, Points * points, gboolean added); void frontend_spectator_name(gint spectator_num, const gchar * name); void frontend_player_name(gint player_num, const gchar * name); void frontend_player_style(gint player_num, const gchar * style); void frontend_player_quit(gint player_num); void frontend_spectator_quit(gint player_num); void frontend_disconnect(void); void frontend_offline(void); void frontend_discard(void); void frontend_discard_add(gint player_num, gint discard_num); void frontend_discard_remove(gint player_num); void frontend_discard_done(void); void frontend_gold(void); void frontend_gold_add(gint player_num, gint gold_num); void frontend_gold_remove(gint player_num, gint * resources); void frontend_gold_choose(gint gold_num, const gint * bank); void frontend_gold_done(void); void frontend_setup(gint num_settlements, gint num_roads); void frontend_quote(gint player_num, gint * they_supply, gint * they_receive); void frontend_roadbuilding(gint num_roads); void frontend_monopoly(void); void frontend_plenty(const gint * bank); void frontend_turn(void); void frontend_trade_player_end(gint player_num); void frontend_trade_add_quote(gint player_num, gint quote_num, const gint * they_supply, const gint * they_receive); void frontend_trade_remove_quote(int player_num, int quote_num); void frontend_quote_player_end(gint player_num); void frontend_quote_add(gint player_num, gint quote_num, const gint * they_supply, const gint * they_receive); void frontend_quote_remove(gint player_num, gint quote_num); void frontend_quote_start(void); void frontend_quote_end(void); void frontend_quote_monitor(void); void frontend_rolled_dice(gint die1, gint die2, gint player_num); void frontend_bought_develop(DevelType type); void frontend_played_develop(gint player_num, guint card_idx, DevelType type); void frontend_resource_change(Resource type, gint new_amount); void frontend_robber(void); void frontend_steal_building(void); void frontend_steal_ship(void); void frontend_robber_done(void); void frontend_game_over(gint player, gint points); Map *frontend_get_map(void); void frontend_set_map(Map * map); void frontend_quit(void); /* connect.c */ const gchar *connect_get_server(void); const gchar *connect_get_port(void); gboolean connect_get_spectator(void); void connect_set_server(const gchar * server); void connect_set_port(const gchar * port); void connect_set_spectator(gboolean spectator); void connect_set_metaserver(const gchar * metaserver); void connect_create_dlg(void); /* trade.c */ GtkWidget *trade_build_page(void); gboolean can_call_for_quotes(void); gboolean trade_valid_selection(void); const gint *trade_we_supply(void); const gint *trade_we_receive(void); const QuoteInfo *trade_current_quote(void); void trade_finish(void); void trade_add_quote(int player_num, int quote_num, const gint * they_supply, const gint * they_receive); void trade_delete_quote(int player_num, int quote_num); void trade_player_finish(gint player_num); void trade_begin(void); void trade_format_quote(const QuoteInfo * quote, gchar * buffer); void trade_new_trade(void); void trade_perform_maritime(gint ratio, Resource supply, Resource receive); void trade_perform_domestic(gint player_num, gint partner_num, gint quote_num, const gint * they_supply, const gint * they_receive); void frontend_trade_domestic(gint partner_num, gint quote_num, const gint * we_supply, const gint * we_receive); void frontend_trade_maritime(gint ratio, Resource we_supply, Resource we_receive); /* quote.c */ GtkWidget *quote_build_page(void); gboolean can_submit_quote(void); gboolean can_delete_quote(void); gboolean can_reject_quote(void); gint quote_next_num(void); const gint *quote_we_supply(void); const gint *quote_we_receive(void); const QuoteInfo *quote_current_quote(void); void quote_begin_again(gint player_num, const gint * they_supply, const gint * they_receive); void quote_begin(gint player_num, const gint * they_supply, const gint * they_receive); void quote_add_quote(gint player_num, gint quote_num, const gint * they_supply, const gint * they_receive); void quote_delete_quote(gint player_num, gint quote_num); void quote_player_finish(gint player_num); void quote_finish(void); void frontend_quote_trade(gint player_num, gint partner_num, gint quote_num, const gint * they_supply, const gint * they_receive); /* legend.c */ GtkWidget *legend_create_dlg(void); GtkWidget *legend_create_content(void); /* gui_develop.c */ GtkWidget *develop_build_page(void); gint develop_current_idx(void); void develop_reset(void); /* discard.c */ GtkWidget *discard_build_page(void); gboolean can_discard(void); void discard_get_list(gint * discards); void discard_begin(void); void discard_player_must(gint player_num, gint discard_num); void discard_player_did(gint player_num); void discard_end(void); /* gold.c */ GtkWidget *gold_build_page(void); gboolean can_choose_gold(void); void choose_gold_get_list(gint * choice); void gold_choose_begin(void); void gold_choose_player_prepare(gint player_num, gint gold_num); void gold_choose_player_must(gint gold_num, const gint * bank); void gold_choose_player_did(gint player_num, gint * resource_list); void gold_choose_end(void); /* identity.c */ GtkWidget *identity_build_panel(void); void identity_draw(void); void identity_set_dice(gint die1, gint die2); void identity_reset(void); /* resource.c */ GtkWidget *resource_build_panel(void); /* player.c */ GtkWidget *player_build_summary(void); GtkWidget *player_build_turn_area(void); void player_clear_summary(void); void player_init(void); /** The colour of the player, or spectator */ GdkColor *player_or_spectator_color(gint player_num); /** The colour of the player */ GdkColor *player_color(gint player_num); /** Create an icon of the player, for player_num, who is connected. * You should unref the pixbuf when it is no longer needed */ GdkPixbuf *player_create_icon(gint player_num, gboolean connected); void player_show_current(gint player_num); void set_num_players(gint num); /* chat.c */ /** Create the chat widget */ GtkWidget *chat_build_panel(void); /** Determine if the focus should be moved to the chat widget */ void chat_set_grab_focus_on_update(gboolean grab); /** Set the focus to the chat widget */ void chat_set_focus(void); /** A player/spectator has changed his name */ void chat_player_name(gint player_num, const gchar * name); /** A player/spectator has changed his style */ void chat_player_style(gint player_num); /** A player has quit */ void chat_player_quit(gint player_num); /** A spectator has quit */ void chat_spectator_quit(gint spectator_num); /** Clear all names */ void chat_clear_names(void); /** Parse the chat for commands */ void chat_parser(gint player_num, const gchar * chat_str); /* name.c */ /** Create a dialog to change the name */ void name_create_dlg(void); /* settingscreen.c */ void settings_init(void); GtkWidget *settings_create_dlg(void); /* monopoly.c */ Resource monopoly_type(void); void monopoly_destroy_dlg(void); void monopoly_create_dlg(void); /* plenty.c */ void plenty_resources(gint * plenty); void plenty_destroy_dlg(void); void plenty_create_dlg(const gint * bank); gboolean plenty_can_activate(void); /* gameover.c */ GtkWidget *gameover_create_dlg(gint player_num, gint num_points); #define PIONEERS_PIXMAP_DICE "pioneers/dice.svg" #define PIONEERS_PIXMAP_TRADE "pioneers/trade.svg" #define PIONEERS_PIXMAP_ROAD "pioneers/road.svg" #define PIONEERS_PIXMAP_SHIP "pioneers/ship.svg" #define PIONEERS_PIXMAP_SHIP_MOVEMENT "pioneers/ship_move.svg" #define PIONEERS_PIXMAP_BRIDGE "pioneers/bridge.svg" #define PIONEERS_PIXMAP_SETTLEMENT "pioneers/settlement.svg" #define PIONEERS_PIXMAP_CITY "pioneers/city.svg" #define PIONEERS_PIXMAP_CITY_WALL "pioneers/city_wall.svg" #define PIONEERS_PIXMAP_DEVELOP "pioneers/develop.svg" #define PIONEERS_PIXMAP_FINISH "pioneers/finish.svg" #endif pioneers-15.5/client/gtk/callbacks.c0000644000175000017500000001233013252223516014337 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 2003 Bas Wijnen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include "frontend.h" #include "histogram.h" static void frontend_network_status(const gchar * description) { gui_set_net_status(description); frontend_gui_update(); } static void frontend_instructions(const gchar * message) { gui_set_instructions(message); frontend_gui_update(); } static void frontend_network_wait(gboolean is_waiting) { frontend_waiting_for_network = is_waiting; frontend_gui_update(); } static void frontend_start_game(void) { gui_set_game_params(get_game_params()); set_num_players(num_players()); identity_reset(); gui_set_show_no_setup_nodes(TRUE); frontend_gui_update(); } static void frontend_draw_edge(Edge * edge) { gui_draw_edge(edge); frontend_gui_update(); } static void frontend_draw_node(Node * node) { gui_draw_node(node); frontend_gui_update(); } static void frontend_draw_hex(Hex * hex) { gui_draw_hex(hex); frontend_gui_update(); } static void frontend_update_stock(void) { identity_draw(); frontend_gui_update(); } static void frontend_player_turn(gint player) { gui_set_show_no_setup_nodes(FALSE); player_show_current(player); } static void frontend_trade(void) { frontend_gui_update(); } static void frontend_robber_moved(G_GNUC_UNUSED Hex * old, G_GNUC_UNUSED Hex * new) { } static void frontend_new_bank(G_GNUC_UNUSED const gint * new_bank) { #ifdef DEBUG_BANK debug("New bank: %d %d %d %d %d", new_bank[0], new_bank[1], new_bank[2], new_bank[3], new_bank[4]); #endif } /* set all the callbacks. */ void frontend_set_callbacks(void) { callbacks.init_glib_et_al = &frontend_init_gtk_et_al; callbacks.init = &frontend_init; callbacks.network_status = &frontend_network_status; callbacks.instructions = &frontend_instructions; callbacks.network_wait = &frontend_network_wait; callbacks.offline = &frontend_offline; callbacks.discard = &frontend_discard; callbacks.discard_add = &frontend_discard_add; callbacks.discard_remove = &frontend_discard_remove; callbacks.discard_done = &frontend_discard_done; callbacks.gold = &frontend_gold; callbacks.gold_add = &frontend_gold_add; callbacks.gold_remove = &frontend_gold_remove; callbacks.game_over = &frontend_game_over; callbacks.init_game = &frontend_init_game; callbacks.start_game = &frontend_start_game; callbacks.setup = &frontend_setup; callbacks.quote = &frontend_quote; callbacks.roadbuilding = &frontend_roadbuilding; callbacks.monopoly = &frontend_monopoly; callbacks.plenty = &frontend_plenty; callbacks.turn = &frontend_turn; callbacks.player_turn = &frontend_player_turn; callbacks.trade = &frontend_trade; callbacks.trade_player_end = &frontend_trade_player_end; callbacks.trade_add_quote = &frontend_trade_add_quote; callbacks.trade_remove_quote = &frontend_trade_remove_quote; callbacks.trade_domestic = &frontend_trade_domestic; callbacks.trade_maritime = &frontend_trade_maritime; callbacks.quote_player_end = &frontend_quote_player_end; callbacks.quote_add = &frontend_quote_add; callbacks.quote_remove = &frontend_quote_remove; callbacks.quote_start = &frontend_quote_start; callbacks.quote_end = &frontend_quote_end; callbacks.quote_monitor = &frontend_quote_monitor; callbacks.quote_trade = &frontend_quote_trade; callbacks.rolled_dice = &frontend_rolled_dice; callbacks.gold_choose = &frontend_gold_choose; callbacks.gold_done = &frontend_gold_done; callbacks.draw_edge = &frontend_draw_edge; callbacks.draw_node = &frontend_draw_node; callbacks.bought_develop = &frontend_bought_develop; callbacks.played_develop = &frontend_played_develop; callbacks.resource_change = &frontend_resource_change; callbacks.draw_hex = &frontend_draw_hex; callbacks.update_stock = &frontend_update_stock; callbacks.robber = &frontend_robber; callbacks.robber_moved = &frontend_robber_moved; callbacks.steal_building = &frontend_steal_building; callbacks.steal_ship = &frontend_steal_ship; callbacks.robber_done = &frontend_robber_done; callbacks.new_statistics = &frontend_new_statistics; callbacks.new_points = &frontend_new_points; callbacks.spectator_name = &frontend_spectator_name; callbacks.player_name = &frontend_player_name; callbacks.player_style = &frontend_player_style; callbacks.player_quit = &frontend_player_quit; callbacks.spectator_quit = &frontend_spectator_quit; callbacks.incoming_chat = &chat_parser; callbacks.new_bank = &frontend_new_bank; callbacks.get_map = &frontend_get_map; callbacks.set_map = &frontend_set_map; } pioneers-15.5/client/gtk/interface.c0000644000175000017500000005600413252236352014370 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ /* This file consists of gui state functions and callbacks to set them */ #include "config.h" #include "frontend.h" #include "cost.h" #include "histogram.h" #include "audio.h" #include "notification.h" #include "client.h" /* local functions */ static void frontend_state_robber(GuiEvent event); static void frontend_state_turn(GuiEvent event); static void build_road_cb(MapElement edge, MapElement extra); static void build_ship_cb(MapElement edge, MapElement extra); static void build_bridge_cb(MapElement edge, MapElement extra); static void move_ship_cb(MapElement edge, MapElement extra); static void build_settlement_cb(MapElement node, MapElement extra); static void build_city_cb(MapElement node, MapElement extra); static void build_city_wall_cb(MapElement node, MapElement extra); static void dummy_state(G_GNUC_UNUSED GuiEvent event) { } /* for gold and discard, remember the previous gui state */ static GuiState previous_state = dummy_state; static gboolean discard_busy = FALSE, robber_busy = FALSE; static GtkWidget *game_over_dlg = NULL; void frontend_init_game(void) { notification_close(); player_clear_summary(); chat_clear_names(); develop_reset(); histogram_reset(); gui_reset(); if (game_over_dlg != NULL) { gtk_widget_destroy(game_over_dlg); } } static void frontend_state_idle(G_GNUC_UNUSED GuiEvent event) { /* don't react on any event when idle. */ /* (except of course chat and name change events, but they are * handled in route_event) */ } void build_road_cb(MapElement edge, G_GNUC_UNUSED MapElement extra) { cb_build_road(edge.edge); } void build_ship_cb(MapElement edge, G_GNUC_UNUSED MapElement extra) { cb_build_ship(edge.edge); } static void do_move_ship_cb(MapElement edge, MapElement ship_from) { cb_move_ship(ship_from.edge, edge.edge); gui_prompt_hide(); } /** Edge cursor check function. * * Determine whether or not a ship can be moved to this edge by the * specified player. Perform the following checks: * 1 - Ship cannot be moved to where it comes from * 2 - A ship must be buildable at the destination if the ship is moved away * from its current location. */ static gboolean can_ship_be_moved_to(MapElement ship_to, G_GNUC_UNUSED gint owner, MapElement ship_from) { return can_move_ship(ship_from.edge, ship_to.edge); } void build_bridge_cb(MapElement edge, G_GNUC_UNUSED MapElement extra) { cb_build_bridge(edge.edge); } static void cancel_move_ship_cb(void) { callbacks.instructions(_("Ship movement canceled.")); gui_prompt_hide(); } void move_ship_cb(MapElement edge, G_GNUC_UNUSED MapElement extra) { MapElement ship_from; ship_from.edge = edge.edge; callbacks.instructions(_("Select a new location for the ship.")); gui_prompt_show(_("Select a new location for the ship.")); gui_cursor_set(SHIP_CURSOR, can_ship_be_moved_to, do_move_ship_cb, cancel_move_ship_cb, &ship_from); } void build_settlement_cb(MapElement node, G_GNUC_UNUSED MapElement extra) { cb_build_settlement(node.node); } void build_city_cb(MapElement node, G_GNUC_UNUSED MapElement extra) { cb_build_city(node.node); } void build_city_wall_cb(MapElement node, G_GNUC_UNUSED MapElement extra) { cb_build_city_wall(node.node); } /* trade */ static void frontend_state_trade(GuiEvent event) { static gboolean trading = FALSE; const QuoteInfo *quote; switch (event) { case GUI_UPDATE: frontend_gui_check(GUI_TRADE_CALL, can_call_for_quotes()); frontend_gui_check(GUI_TRADE_ACCEPT, trade_valid_selection()); frontend_gui_check(GUI_TRADE_FINISH, TRUE); frontend_gui_check(GUI_TRADE, TRUE); gui_cursor_none(); /* Finish single click build */ break; case GUI_TRADE_CALL: trading = TRUE; trade_new_trade(); cb_domestic(trade_we_supply(), trade_we_receive()); return; case GUI_TRADE_ACCEPT: quote = trade_current_quote(); g_assert(quote != NULL); if (quote->is_domestic) { trade_perform_domestic(my_player_num(), quote->var.d.player_num, quote->var.d.quote_num, quote->var.d.supply, quote->var.d.receive); } else { trade_perform_maritime(quote->var.m.ratio, quote->var.m.supply, quote->var.m.receive); } return; case GUI_TRADE_FINISH: case GUI_TRADE: /* stop trading. Only let the network know about it if it * knew we were trading in the first place. */ if (trading) cb_end_trade(); trading = FALSE; trade_finish(); set_gui_state(frontend_state_turn); return; default: break; } } void frontend_trade_add_quote(int player_num, int quote_num, const gint * they_supply, const gint * they_receive) { trade_add_quote(player_num, quote_num, they_supply, they_receive); frontend_gui_update(); } void frontend_trade_remove_quote(int player_num, int quote_num) { trade_delete_quote(player_num, quote_num); frontend_gui_update(); } void frontend_trade_player_end(gint player_num) { trade_player_finish(player_num); frontend_gui_update(); } static void frontend_state_quote(GuiEvent event) { switch (event) { case GUI_UPDATE: frontend_gui_check(GUI_QUOTE_SUBMIT, can_submit_quote()); frontend_gui_check(GUI_QUOTE_DELETE, can_delete_quote()); frontend_gui_check(GUI_QUOTE_REJECT, can_reject_quote()); break; case GUI_QUOTE_SUBMIT: cb_quote(quote_next_num(), quote_we_supply(), quote_we_receive()); return; case GUI_QUOTE_DELETE: cb_delete_quote(quote_current_quote()->var.d.quote_num); return; case GUI_QUOTE_REJECT: quote_player_finish(my_player_num()); cb_end_quote(); return; default: break; } } void frontend_quote(gint player_num, gint * they_supply, gint * they_receive) { if (get_gui_state() == frontend_state_quote) { quote_begin_again(player_num, they_supply, they_receive); } else { quote_begin(player_num, they_supply, they_receive); set_gui_state(frontend_state_quote); } frontend_gui_update(); } void frontend_quote_add(int player_num, int quote_num, const gint * they_supply, const gint * they_receive) { quote_add_quote(player_num, quote_num, they_supply, they_receive); frontend_gui_update(); } void frontend_quote_remove(int player_num, int quote_num) { quote_delete_quote(player_num, quote_num); frontend_gui_update(); } void frontend_quote_player_end(gint player_num) { quote_player_finish(player_num); frontend_gui_update(); } void frontend_quote_end(void) { if (get_gui_state() == frontend_state_quote) { quote_finish(); set_gui_state(frontend_state_idle); } } void frontend_quote_start(void) { /*set_gui_state (frontend_state_quote); */ } void frontend_quote_monitor(void) { } static gboolean check_road(MapElement element, gint owner, G_GNUC_UNUSED MapElement extra) { return can_road_be_built(element.edge, owner); } static gboolean check_ship(MapElement element, gint owner, G_GNUC_UNUSED MapElement extra) { return can_ship_be_built(element.edge, owner); } static gboolean check_ship_move(MapElement element, gint owner, G_GNUC_UNUSED MapElement extra) { return can_ship_be_moved(element.edge, owner); } static gboolean check_bridge(MapElement element, gint owner, G_GNUC_UNUSED MapElement extra) { return can_bridge_be_built(element.edge, owner); } static gboolean check_settlement(MapElement element, gint owner, G_GNUC_UNUSED MapElement extra) { return can_settlement_be_built(element.node, owner); } static gboolean check_city(MapElement element, gint owner, G_GNUC_UNUSED MapElement extra) { return can_settlement_be_upgraded(element.node, owner); } static gboolean check_city_wall(MapElement element, gint owner, G_GNUC_UNUSED MapElement extra) { return can_city_wall_be_built(element.node, owner); } /* turn */ static void frontend_state_turn(GuiEvent event) { switch (event) { case GUI_UPDATE: frontend_gui_check(GUI_ROLL, !have_rolled_dice()); frontend_gui_check(GUI_UNDO, can_undo()); frontend_gui_check(GUI_ROAD, turn_can_build_road()); frontend_gui_check(GUI_SHIP, turn_can_build_ship()); frontend_gui_check(GUI_MOVE_SHIP, turn_can_move_ship()); frontend_gui_check(GUI_BRIDGE, turn_can_build_bridge()); frontend_gui_check(GUI_SETTLEMENT, turn_can_build_settlement()); frontend_gui_check(GUI_CITY, turn_can_build_city()); frontend_gui_check(GUI_CITY_WALL, turn_can_build_city_wall()); frontend_gui_check(GUI_TRADE, turn_can_trade()); frontend_gui_check(GUI_PLAY_DEVELOP, can_play_develop(develop_current_idx ())); frontend_gui_check(GUI_BUY_DEVELOP, can_buy_develop()); frontend_gui_check(GUI_FINISH, have_rolled_dice()); guimap_single_click_set_functions(check_road, build_road_cb, check_ship, build_ship_cb, check_bridge, build_bridge_cb, check_settlement, build_settlement_cb, check_city, build_city_cb, check_city_wall, build_city_wall_cb, check_ship_move, move_ship_cb, cancel_move_ship_cb); break; case GUI_ROLL: cb_roll(); break; case GUI_UNDO: cb_undo(); return; case GUI_ROAD: gui_cursor_set(ROAD_CURSOR, check_road, build_road_cb, NULL, NULL); return; case GUI_SHIP: gui_cursor_set(SHIP_CURSOR, check_ship, build_ship_cb, NULL, NULL); return; case GUI_MOVE_SHIP: gui_cursor_set(SHIP_CURSOR, check_ship_move, move_ship_cb, NULL, NULL); return; case GUI_BRIDGE: gui_cursor_set(BRIDGE_CURSOR, check_bridge, build_bridge_cb, NULL, NULL); return; case GUI_SETTLEMENT: gui_cursor_set(SETTLEMENT_CURSOR, check_settlement, build_settlement_cb, NULL, NULL); return; case GUI_CITY: gui_cursor_set(CITY_CURSOR, check_city, build_city_cb, NULL, NULL); return; case GUI_CITY_WALL: gui_cursor_set(CITY_WALL_CURSOR, check_city_wall, build_city_wall_cb, NULL, NULL); return; case GUI_TRADE: trade_begin(); set_gui_state(frontend_state_trade); return; case GUI_PLAY_DEVELOP: cb_play_develop(develop_current_idx()); return; case GUI_BUY_DEVELOP: cb_buy_develop(); return; case GUI_FINISH: cb_end_turn(); gui_cursor_none(); /* Finish single click build */ set_gui_state(frontend_state_idle); return; default: break; } } void frontend_turn(void) { /* if it already is our turn, just update the gui (maybe something * happened), but don't beep */ if (get_gui_state() == frontend_state_turn || get_gui_state() == frontend_state_trade || get_gui_state() == frontend_state_robber) { /* this is in the if, because it gets called from set_gui_state * anyway. */ frontend_gui_update(); return; } set_gui_state(frontend_state_turn); play_sound(SOUND_TURN); /* Notification */ notification_send(_("It is your turn."), PIONEERS_PIXMAP_DICE); } /* development card actions */ /* road building */ static void frontend_state_roadbuilding(GuiEvent event) { switch (event) { case GUI_UPDATE: frontend_gui_check(GUI_UNDO, can_undo()); frontend_gui_check(GUI_ROAD, road_building_can_build_road()); frontend_gui_check(GUI_SHIP, road_building_can_build_ship()); frontend_gui_check(GUI_BRIDGE, road_building_can_build_bridge()); frontend_gui_check(GUI_FINISH, road_building_can_finish()); guimap_single_click_set_functions(check_road, build_road_cb, check_ship, build_ship_cb, check_bridge, build_bridge_cb, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); break; case GUI_UNDO: cb_undo(); return; case GUI_ROAD: gui_cursor_set(ROAD_CURSOR, check_road, build_road_cb, NULL, NULL); return; case GUI_SHIP: gui_cursor_set(SHIP_CURSOR, check_ship, build_ship_cb, NULL, NULL); return; case GUI_BRIDGE: gui_cursor_set(BRIDGE_CURSOR, check_bridge, build_bridge_cb, NULL, NULL); return; case GUI_FINISH: cb_end_turn(); gui_cursor_none(); /* Finish single click build */ /** @todo RC 2018-03-14 The line below allows trade after the * road building development card is played. There is still a * loophole: build a road, play the development card. Now trade * is enabled, but should not have been. * Even the server allows trade in this scenario. */ build_new_turn(); /* Re-enable trade */ set_gui_state(frontend_state_turn); gui_prompt_hide(); return; default: break; } } void frontend_roadbuilding(gint num_roads) { gui_prompt_show(road_building_message(num_roads)); if (get_gui_state() == frontend_state_roadbuilding) return; set_gui_state(frontend_state_roadbuilding); } /* monopoly */ static void frontend_state_monopoly(GuiEvent event) { switch (event) { case GUI_UPDATE: frontend_gui_check(GUI_MONOPOLY, TRUE); break; case GUI_MONOPOLY: cb_choose_monopoly(monopoly_type()); monopoly_destroy_dlg(); set_gui_state(frontend_state_turn); return; default: break; } } void frontend_monopoly(void) { monopoly_create_dlg(); set_gui_state(frontend_state_monopoly); } /* year of plenty */ static void frontend_state_plenty(GuiEvent event) { gint plenty[NO_RESOURCE]; switch (event) { case GUI_UPDATE: frontend_gui_check(GUI_PLENTY, plenty_can_activate()); break; case GUI_PLENTY: plenty_resources(plenty); cb_choose_plenty(plenty); plenty_destroy_dlg(); set_gui_state(frontend_state_turn); return; default: break; } } void frontend_plenty(const gint * bank) { plenty_create_dlg(bank); set_gui_state(frontend_state_plenty); } /* general actions */ /* discard */ static void frontend_state_discard(GuiEvent event) { gint discards[NO_RESOURCE]; switch (event) { case GUI_UPDATE: frontend_gui_check(GUI_DISCARD, can_discard()); break; case GUI_DISCARD: discard_get_list(discards); cb_discard(discards); return; default: break; } } void frontend_discard(void) { /* set state to idle until we must discard (or discard ends) */ if (!discard_busy) { discard_busy = TRUE; discard_begin(); g_assert(previous_state == dummy_state); previous_state = get_gui_state(); set_gui_state(frontend_state_idle); gui_cursor_none(); /* Clear possible cursor */ } } void frontend_discard_add(gint player_num, gint discard_num) { if (player_num == my_player_num()) g_assert(callback_mode == MODE_DISCARD); discard_player_must(player_num, discard_num); if (player_num == my_player_num()) set_gui_state(frontend_state_discard); frontend_gui_update(); } void frontend_discard_remove(gint player_num) { if (discard_busy) { discard_player_did(player_num); if (player_num == my_player_num()) set_gui_state(frontend_state_idle); } frontend_gui_update(); } void frontend_discard_done(void) { discard_busy = FALSE; discard_end(); if (previous_state != dummy_state) { set_gui_state(previous_state); previous_state = dummy_state; } } /* gold */ static void frontend_state_gold(GuiEvent event) { gint gold[NO_RESOURCE]; switch (event) { case GUI_UPDATE: frontend_gui_check(GUI_CHOOSE_GOLD, can_choose_gold()); break; case GUI_CHOOSE_GOLD: choose_gold_get_list(gold); cb_choose_gold(gold); return; default: break; } } void frontend_gold(void) { if (get_gui_state() != frontend_state_gold) { gold_choose_begin(); g_assert(previous_state == dummy_state); previous_state = get_gui_state(); set_gui_state(frontend_state_gold); gui_cursor_none(); /* Clear possible cursor */ } } void frontend_gold_add(gint player_num, gint gold_num) { gold_choose_player_prepare(player_num, gold_num); frontend_gui_update(); } void frontend_gold_choose(gint gold_num, const gint * bank) { gold_choose_player_must(gold_num, bank); frontend_gui_update(); } void frontend_gold_remove(gint player_num, gint * resources) { gold_choose_player_did(player_num, resources); frontend_gui_update(); } void frontend_gold_done(void) { gold_choose_end(); if (previous_state != dummy_state) { set_gui_state(previous_state); previous_state = dummy_state; } } void frontend_game_over(gint player, gint points) { gui_cursor_none(); /* Clear possible (robber) cursor */ if (robber_busy) { robber_busy = FALSE; gui_prompt_hide(); } game_over_dlg = gameover_create_dlg(player, points); g_signal_connect(G_OBJECT(game_over_dlg), "destroy", G_CALLBACK(gtk_widget_destroyed), &game_over_dlg); notification_close(); set_gui_state(frontend_state_idle); } void frontend_rolled_dice(gint die1, gint die2, gint player_num) { histogram_dice_rolled(die1 + die2, player_num); identity_set_dice(die1, die2); gui_highlight_chits(die1 + die2); notification_close(); frontend_gui_update(); } static void frontend_state_robber(GuiEvent event) { switch (event) { case GUI_UPDATE: frontend_gui_check(GUI_UNDO, callback_mode == MODE_ROB); break; case GUI_UNDO: cb_undo(); /* restart robber placement. */ frontend_robber(); break; default: break; } } static void rob_building(MapElement node, G_GNUC_UNUSED MapElement extra) { cb_rob(node.node->owner); } static void rob_edge(MapElement edge, G_GNUC_UNUSED MapElement extra) { cb_rob(edge.edge->owner); } /* Return TRUE if the node can be robbed. */ static gboolean can_building_be_robbed(MapElement node, G_GNUC_UNUSED int owner, MapElement robber) { guint idx; /* Can only steal from buildings that are not owned by me */ if (node.node->type == BUILD_NONE || node.node->owner == my_player_num()) return FALSE; /* Can only steal if the owner has some resources */ if (player_get(node.node->owner)->statistics[STAT_RESOURCES] == 0) return FALSE; /* Can only steal from buildings adjacent to hex with robber */ for (idx = 0; idx < G_N_ELEMENTS(node.node->hexes); idx++) if (node.node->hexes[idx] == robber.hex) return TRUE; return FALSE; } /** Returns TRUE if the edge can be robbed. */ static gboolean can_edge_be_robbed(MapElement edge, G_GNUC_UNUSED int owner, MapElement pirate) { guint idx; /* Can only steal from ships that are not owned by me */ if (edge.edge->type != BUILD_SHIP || edge.edge->owner == my_player_num()) return FALSE; /* Can only steal if the owner has some resources */ if (player_get(edge.edge->owner)->statistics[STAT_RESOURCES] == 0) return FALSE; /* Can only steal from edges adjacent to hex with pirate */ for (idx = 0; idx < G_N_ELEMENTS(edge.edge->hexes); idx++) if (edge.edge->hexes[idx] == pirate.hex) return TRUE; return FALSE; } /* User just placed the robber */ static void place_robber_or_pirate_cb(MapElement hex, G_GNUC_UNUSED MapElement extra) { cb_place_robber(hex.hex); } void frontend_steal_ship(void) { MapElement hex; hex.hex = map_pirate_hex(callbacks.get_map()); gui_cursor_set(STEAL_SHIP_CURSOR, can_edge_be_robbed, rob_edge, NULL, &hex); gui_prompt_show(_("Select the ship to steal from.")); } void frontend_steal_building(void) { MapElement hex; hex.hex = map_robber_hex(callbacks.get_map()); gui_cursor_set(STEAL_BUILDING_CURSOR, can_building_be_robbed, rob_building, NULL, &hex); gui_prompt_show(_("Select the building to steal from.")); } void frontend_robber_done(void) { robber_busy = FALSE; if (previous_state != dummy_state) { set_gui_state(previous_state); previous_state = dummy_state; } gui_prompt_hide(); } static gboolean check_move_robber_or_pirate(MapElement element, G_GNUC_UNUSED int owner, G_GNUC_UNUSED MapElement extra) { return can_robber_or_pirate_be_moved(element.hex); } void frontend_robber(void) { if (!robber_busy) { /* Do this only once. */ robber_busy = TRUE; g_assert(previous_state == dummy_state); previous_state = get_gui_state(); } /* These things are redone at undo. */ set_gui_state(frontend_state_robber); gui_cursor_set(ROBBER_CURSOR, check_move_robber_or_pirate, place_robber_or_pirate_cb, NULL, NULL); gui_prompt_show(_("Place the robber.")); frontend_gui_update(); } static gboolean check_road_setup(MapElement element, G_GNUC_UNUSED gint owner, G_GNUC_UNUSED MapElement extra) { return setup_check_road(element.edge); } static gboolean check_ship_setup(MapElement element, G_GNUC_UNUSED gint owner, G_GNUC_UNUSED MapElement extra) { return setup_check_ship(element.edge); } static gboolean check_bridge_setup(MapElement element, G_GNUC_UNUSED gint owner, G_GNUC_UNUSED MapElement extra) { return setup_check_bridge(element.edge); } static gboolean check_settlement_setup(MapElement element, G_GNUC_UNUSED gint owner, G_GNUC_UNUSED MapElement extra) { return setup_check_settlement(element.node); } static void frontend_mode_setup(GuiEvent event) { switch (event) { case GUI_UPDATE: frontend_gui_check(GUI_UNDO, can_undo()); frontend_gui_check(GUI_ROAD, setup_can_build_road()); frontend_gui_check(GUI_BRIDGE, setup_can_build_bridge()); frontend_gui_check(GUI_SHIP, setup_can_build_ship()); frontend_gui_check(GUI_SETTLEMENT, setup_can_build_settlement()); frontend_gui_check(GUI_FINISH, setup_can_finish()); guimap_single_click_set_functions(check_road_setup, build_road_cb, check_ship_setup, build_ship_cb, check_bridge_setup, build_bridge_cb, check_settlement_setup, build_settlement_cb, NULL, NULL, NULL, NULL, NULL, NULL, NULL); break; case GUI_UNDO: /* The user has pressed the "Undo" button. Send a * command to the server to attempt the undo. The * server will respond telling us whether the undo was * successful or not. */ cb_undo(); return; case GUI_ROAD: gui_cursor_set(ROAD_CURSOR, check_road_setup, build_road_cb, NULL, NULL); return; case GUI_SHIP: gui_cursor_set(SHIP_CURSOR, check_ship_setup, build_ship_cb, NULL, NULL); return; case GUI_BRIDGE: gui_cursor_set(BRIDGE_CURSOR, check_bridge_setup, build_bridge_cb, NULL, NULL); return; case GUI_SETTLEMENT: gui_cursor_set(SETTLEMENT_CURSOR, check_settlement_setup, build_settlement_cb, NULL, NULL); return; case GUI_FINISH: cb_end_turn(); gui_cursor_none(); /* Finish single click build */ set_gui_state(frontend_state_idle); notification_close(); return; default: break; } } void frontend_setup(G_GNUC_UNUSED gint num_settlements, G_GNUC_UNUSED gint num_roads) { if (get_gui_state() == frontend_mode_setup) { frontend_gui_update(); return; } set_gui_state(frontend_mode_setup); play_sound(SOUND_TURN); /* Notification */ notification_send(_("It is your turn to setup."), PIONEERS_PIXMAP_SETTLEMENT); } pioneers-15.5/client/gtk/resource-table.h0000644000175000017500000000500412064061744015344 00000000000000/* A custom widget for selecting resources * * The code is based on the TICTACTOE and DIAL examples * http://www.gtk.org/tutorial/app-codeexamples.html * http://www.gtk.org/tutorial/sec-gtkdial.html * * Adaptation for Pioneers: 2004 Roland Clobus * */ #ifndef __RESOURCETABLE_H__ #define __RESOURCETABLE_H__ #include #include #include #include "map.h" /* For NO_RESOURCE */ G_BEGIN_DECLS #define RESOURCETABLE_TYPE (resource_table_get_type ()) #define RESOURCETABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), RESOURCETABLE_TYPE, ResourceTable)) #define RESOURCETABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), RESOURCETABLE_TYPE, ResourceTableClass)) #define IS_RESOURCETABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), RESOURCETABLE_TYPE)) #define IS_RESOURCETABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), RESOURCETABLE_TYPE)) typedef struct _ResourceTable ResourceTable; typedef struct _ResourceTableClass ResourceTableClass; struct _ResourceRow { gboolean filter; gint hand; gint bank; gint amount; GtkWidget *label_widget; GtkWidget *hand_widget; GtkWidget *bank_widget; GtkWidget *amount_widget; gint limit; GtkWidget *less_widget; GtkWidget *more_widget; }; enum _ResourceTableDirection { RESOURCE_TABLE_MORE_IN_HAND, RESOURCE_TABLE_LESS_IN_HAND }; typedef enum _ResourceTableDirection ResourceTableDirection; struct _ResourceTable { GtkTable table; struct _ResourceRow row[NO_RESOURCE]; gint total_target; gint total_current; GtkWidget *total_widget; gboolean limit_bank; gboolean with_bank; gboolean with_total; guint bank_offset; ResourceTableDirection direction; }; struct _ResourceTableClass { GtkTableClass parent_class; void (*change) (ResourceTable * rt); }; GType resource_table_get_type(void); GtkWidget *resource_table_new(const gchar * title, ResourceTableDirection direction, gboolean with_bank, gboolean with_total); void resource_table_limit_bank(ResourceTable * rt, gboolean limit); void resource_table_set_total(ResourceTable * rt, const gchar * text, gint total); void resource_table_set_bank(ResourceTable * rt, const gint * bank); void resource_table_get_amount(ResourceTable * rt, gint * amount); gboolean resource_table_is_total_reached(ResourceTable * rt); void resource_table_update_hand(ResourceTable * rt); void resource_table_set_filter(ResourceTable * rt, const gint * resource); void resource_table_clear(ResourceTable * rt); G_END_DECLS #endif /* __RESOURCETABLE_H__ */ pioneers-15.5/client/gtk/plenty.c0000644000175000017500000001007613252223516013740 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include "frontend.h" #include "resource-table.h" static struct { GtkWidget *dlg; GtkWidget *resource_widget; gint bank[NO_RESOURCE]; } plenty; static void amount_changed_cb(G_GNUC_UNUSED ResourceTable * rt, G_GNUC_UNUSED gpointer user_data) { frontend_gui_update(); } void plenty_resources(gint * resources) { resource_table_get_amount(RESOURCETABLE(plenty.resource_widget), resources); } static void plenty_destroyed(G_GNUC_UNUSED GtkWidget * widget, G_GNUC_UNUSED gpointer data) { if (callback_mode == MODE_PLENTY) plenty_create_dlg(NULL); } void plenty_create_dlg(const gint * bank) { GtkWidget *dlg_vbox; GtkWidget *vbox; const char *str; gint r; gint total; plenty.dlg = gtk_dialog_new_with_buttons( /* Dialog caption */ _("" "Year of Plenty"), GTK_WINDOW (app_window), GTK_DIALOG_DESTROY_WITH_PARENT, /* Button text */ _("_OK"), GTK_RESPONSE_OK, NULL); g_signal_connect(G_OBJECT(plenty.dlg), "destroy", G_CALLBACK(gtk_widget_destroyed), &plenty.dlg); gtk_widget_realize(plenty.dlg); /* Disable close */ gdk_window_set_functions(gtk_widget_get_window(plenty.dlg), GDK_FUNC_ALL | GDK_FUNC_CLOSE); dlg_vbox = gtk_dialog_get_content_area(GTK_DIALOG(plenty.dlg)); gtk_widget_show(dlg_vbox); vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5); gtk_widget_show(vbox); gtk_box_pack_start(GTK_BOX(dlg_vbox), vbox, FALSE, TRUE, 0); gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); total = 0; for (r = 0; r < NO_RESOURCE; ++r) { if (bank != NULL) plenty.bank[r] = bank[r]; total += plenty.bank[r]; } if (total == 1) str = _("Please choose one resource from the bank"); else if (total >= 2) { total = 2; str = _("Please choose two resources from the bank"); } else str = _("The bank is empty"); plenty.resource_widget = resource_table_new(str, RESOURCE_TABLE_MORE_IN_HAND, TRUE, TRUE); resource_table_set_total(RESOURCETABLE(plenty.resource_widget), /* Text for total in year of plenty dialog */ _("Total resources"), total); resource_table_limit_bank(RESOURCETABLE(plenty.resource_widget), TRUE); resource_table_set_bank(RESOURCETABLE(plenty.resource_widget), plenty.bank); gtk_widget_show(plenty.resource_widget); gtk_box_pack_start(GTK_BOX(vbox), plenty.resource_widget, FALSE, TRUE, 0); g_signal_connect(G_OBJECT(plenty.resource_widget), "change", G_CALLBACK(amount_changed_cb), NULL); frontend_gui_register(gui_get_dialog_button (GTK_DIALOG(plenty.dlg), 0), GUI_PLENTY, "clicked"); /* This _must_ be after frontend_gui_register, otherwise the * regeneration of the button happens before the destruction, which * results in an incorrectly sensitive OK button. */ g_signal_connect(gui_get_dialog_button(GTK_DIALOG(plenty.dlg), 0), "destroy", G_CALLBACK(plenty_destroyed), NULL); gtk_widget_show(plenty.dlg); frontend_gui_update(); } void plenty_destroy_dlg(void) { if (plenty.dlg == NULL) return; gtk_widget_destroy(plenty.dlg); plenty.dlg = NULL; } gboolean plenty_can_activate(void) { return resource_table_is_total_reached(RESOURCETABLE (plenty.resource_widget)); } pioneers-15.5/client/gtk/trade.c0000644000175000017500000004310213252223516013520 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003, 2006 Bas Wijnen * Copyright (C) 2004,2006 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include "frontend.h" #include "cost.h" #include "theme.h" #include "common_gtk.h" #include "quote-view.h" #include "notification.h" static void trade_update(void); typedef struct { GtkWidget *chk; /**< Checkbox to activate trade in this resource */ GtkWidget *curr; /**< Amount in possession of this resource */ Resource resource; /**< The resource */ gboolean enabled; /**< Trading enabled */ } TradeRow; static GtkWidget *quoteview; static TradeRow we_supply_rows[NO_RESOURCE]; static TradeRow we_receive_rows[NO_RESOURCE]; static gint active_supply_request[NO_RESOURCE]; static gint active_receive_request[NO_RESOURCE]; static gboolean trade_since_selection_changed; /** This button can be hidden in games without interplayer trade */ static GtkWidget *call_btn; /** This frame can be hidden in games without interplayer trade */ static GtkWidget *we_receive_frame; /** The last quote that is called */ static GtkWidget *active_quote_label; /** @return TRUE is we can accept this domestic quote */ static gboolean is_good_quote(const QuoteInfo * quote) { gint idx; gboolean interested; g_assert(quote != NULL); g_assert(quote->is_domestic); interested = FALSE; for (idx = 0; idx < NO_RESOURCE; idx++) { gint we_supply = quote->var.d.receive[idx]; gint we_receive = quote->var.d.supply[idx]; /* Asked for too many, or we don't want to give it anymore */ if (we_supply > resource_asset(idx) || (we_supply > 0 && !we_supply_rows[idx].enabled)) return FALSE; /* We want one of the offered resources */ if (we_receive > 0 && we_receive_rows[idx].enabled) { interested = TRUE; } } return interested; } /** @return TRUE if at least one resource is asked/offered */ gboolean can_call_for_quotes(void) { gint idx; gboolean have_we_receive; gboolean have_we_supply; gboolean different_call; different_call = FALSE; have_we_receive = have_we_supply = FALSE; for (idx = 0; idx < NO_RESOURCE; idx++) { if (we_receive_rows[idx].enabled != active_receive_request[idx]) different_call = TRUE; if (we_supply_rows[idx].enabled != active_supply_request[idx]) different_call = TRUE; if (we_receive_rows[idx].enabled) have_we_receive = TRUE; if (we_supply_rows[idx].enabled) have_we_supply = TRUE; } /* don't require both supply and receive, for resources may be * given away for free */ return (have_we_receive || have_we_supply) && can_trade_domestic() && (different_call || trade_since_selection_changed); } /** @return the current quote */ const QuoteInfo *trade_current_quote(void) { return quote_view_get_selected_quote(QUOTEVIEW(quoteview)); } /** Show what the resources will be if the quote is accepted */ static void update_rows(void) { guint idx; gint amount; gchar str[16]; const QuoteInfo *quote = trade_current_quote(); for (idx = 0; idx < G_N_ELEMENTS(we_supply_rows); idx++) { Resource resource = we_receive_rows[idx].resource; if (!trade_valid_selection()) amount = 0; else if (quote->is_domestic) amount = quote->var.d.receive[idx] - quote->var.d.supply[idx]; else amount = (quote->var.m.supply == resource ? quote->var.m.ratio : 0) - (quote->var.m.receive == resource ? 1 : 0); sprintf(str, "%d", resource_asset(resource) - amount); gtk_entry_set_text(GTK_ENTRY(we_receive_rows[idx].curr), str); gtk_entry_set_text(GTK_ENTRY(we_supply_rows[idx].curr), str); } } /** @return all resources we supply */ const gint *trade_we_supply(void) { return active_supply_request; } /** @return all resources we want to have */ const gint *trade_we_receive(void) { return active_receive_request; } /** @return TRUE if a selection is made, and it is valid */ gboolean trade_valid_selection(void) { const QuoteInfo *quote; quote = quote_view_get_selected_quote(QUOTEVIEW(quoteview)); if (quote == NULL) return FALSE; if (!quote->is_domestic) return TRUE; return is_good_quote(quote); } static void trade_theme_changed(void) { quote_view_theme_changed(QUOTEVIEW(quoteview)); } static void format_list(gchar * desc, const gint * resources) { gint idx; gboolean is_first; is_first = TRUE; for (idx = 0; idx < NO_RESOURCE; idx++) if (resources[idx] > 0) { if (!is_first) *desc++ = '+'; if (resources[idx] > 1) { sprintf(desc, "%d ", resources[idx]); desc += strlen(desc); } strcpy(desc, resource_name(idx, FALSE)); desc += strlen(desc); is_first = FALSE; } } void trade_format_quote(const QuoteInfo * quote, gchar * desc) { const gchar *format = NULL; gchar buf1[128]; gchar buf2[128]; if (resource_count(quote->var.d.supply) == 0) { /* trade: you ask for something for free */ format = _("ask for %s for free"); format_list(buf1, quote->var.d.receive); sprintf(desc, format, buf1); } else if (resource_count(quote->var.d.receive) == 0) { /* trade: you give something away for free */ format = _("give %s for free"); format_list(buf1, quote->var.d.supply); sprintf(desc, format, buf1); } else { /* trade: you trade something for something else */ format = _("give %s for %s"); format_list(buf1, quote->var.d.supply); format_list(buf2, quote->var.d.receive); sprintf(desc, format, buf1, buf2); } } /** A new trade is started. Keep old quotes, and remove rejection messages. */ void trade_new_trade(void) { guint idx; gchar we_supply_desc[512]; gchar we_receive_desc[512]; gchar desc[512]; quote_view_remove_rejected_quotes(QUOTEVIEW(quoteview)); for (idx = 0; idx < G_N_ELEMENTS(active_supply_request); idx++) { active_supply_request[idx] = we_supply_rows[idx].enabled; active_receive_request[idx] = we_receive_rows[idx].enabled; } trade_since_selection_changed = FALSE; resource_format_type(we_supply_desc, active_supply_request); resource_format_type(we_receive_desc, active_receive_request); /* I want some resources, and give them some resources */ g_snprintf(desc, sizeof(desc), _("I want %s, and give them %s"), we_receive_desc, we_supply_desc); gtk_label_set_text(GTK_LABEL(active_quote_label), desc); } /** A resource checkbox is toggled */ static void toggled_cb(GtkWidget * widget, TradeRow * row) { gint idx; gboolean filter[2][NO_RESOURCE]; row->enabled = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)); for (idx = 0; idx < NO_RESOURCE; idx++) { filter[0][idx] = we_supply_rows[idx].enabled; filter[1][idx] = we_receive_rows[idx].enabled; } quote_view_clear_selected_quote(QUOTEVIEW(quoteview)); quote_view_set_maritime_filters(QUOTEVIEW(quoteview), filter[0], filter[1]); trade_update(); frontend_gui_update(); } /** Add a row with widgets for a resource */ static void add_trade_row(GtkWidget * table, TradeRow * row, Resource resource) { gint col; col = 0; row->resource = resource; row->chk = gtk_check_button_new_with_label(resource_name(resource, TRUE)); g_signal_connect(G_OBJECT(row->chk), "toggled", G_CALLBACK(toggled_cb), row); gtk_widget_show(row->chk); gtk_table_attach(GTK_TABLE(table), row->chk, col, col + 1, resource, resource + 1, GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0); col++; row->curr = gtk_entry_new(); gtk_entry_set_width_chars(GTK_ENTRY(row->curr), 3); gtk_entry_set_alignment(GTK_ENTRY(row->curr), 1.0); gtk_widget_set_sensitive(row->curr, FALSE); gtk_widget_show(row->curr); gtk_table_attach(GTK_TABLE(table), row->curr, col, col + 1, resource, resource + 1, GTK_FILL, GTK_FILL, 0, 0); } /** Set the sensitivity of the row, and update the assets when applicable */ static void set_row_sensitive(TradeRow * row) { gtk_widget_set_sensitive(row->chk, resource_asset(row->resource) > 0); } /** Actions before a domestic trade is performed */ void trade_perform_domestic(G_GNUC_UNUSED gint player_num, gint partner_num, gint quote_num, const gint * they_supply, const gint * they_receive) { cb_trade(partner_num, quote_num, they_supply, they_receive); } /** Actions after a domestic trade is performed */ void frontend_trade_domestic(gint partner_num, gint quote_num, G_GNUC_UNUSED const gint * we_supply, G_GNUC_UNUSED const gint * we_receive) { quote_view_remove_quote(QUOTEVIEW(quoteview), partner_num, quote_num); trade_update(); } /** Actions before a maritime trade is performed */ void trade_perform_maritime(gint ratio, Resource supply, Resource receive) { cb_maritime(ratio, supply, receive); } /** Actions after a maritime trade is performed */ void frontend_trade_maritime(G_GNUC_UNUSED gint ratio, G_GNUC_UNUSED Resource we_supply, G_GNUC_UNUSED Resource we_receive) { quote_view_clear_selected_quote(QUOTEVIEW(quoteview)); trade_update(); } /** Add a quote from a player */ void trade_add_quote(gint player_num, gint quote_num, const gint * supply, const gint * receive) { gchar *msg; quote_view_add_quote(QUOTEVIEW(quoteview), player_num, quote_num, supply, receive); msg = g_strdup_printf( /* Notification */ _("Quote received from %s."), player_name(player_num, FALSE)); notification_send(msg, PIONEERS_PIXMAP_TRADE); g_free(msg); } void trade_delete_quote(gint player_num, gint quote_num) { quote_view_remove_quote(QUOTEVIEW(quoteview), player_num, quote_num); } /** A player has rejected the trade. Removes all quotes, and adds a reject * notification. */ void trade_player_finish(gint player_num) { quote_view_reject(QUOTEVIEW(quoteview), player_num); } /** The trade is finished, hide the page */ void trade_finish(void) { quote_view_finish(QUOTEVIEW(quoteview)); gui_show_trade_page(FALSE); } /** Start a new trade */ void trade_begin(void) { guint idx; quote_view_begin(QUOTEVIEW(quoteview)); for (idx = 0; idx < G_N_ELEMENTS(we_supply_rows); idx++) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (we_supply_rows[idx].chk), FALSE); we_supply_rows[idx].enabled = FALSE; set_row_sensitive(we_supply_rows + idx); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (we_receive_rows[idx].chk), FALSE); we_receive_rows[idx].enabled = FALSE; active_receive_request[idx] = 0; active_supply_request[idx] = 0; } if (!can_trade_domestic()) { gtk_widget_hide(we_receive_frame); gtk_widget_hide(call_btn); gtk_widget_hide(active_quote_label); } else { gtk_widget_show(we_receive_frame); gtk_widget_show(call_btn); gtk_widget_show(active_quote_label); gtk_label_set_text(GTK_LABEL(active_quote_label), ""); } quote_view_clear_selected_quote(QUOTEVIEW(quoteview)); update_rows(); /* Always update */ gui_show_trade_page(TRUE); } static void quote_dblclick_cb(G_GNUC_UNUSED QuoteView * quoteview, gpointer accept_btn) { if (trade_valid_selection()) gtk_button_clicked(GTK_BUTTON(accept_btn)); } static void quote_selected_cb(G_GNUC_UNUSED QuoteView * quoteview, G_GNUC_UNUSED gpointer user_data) { update_rows(); frontend_gui_update(); } /** Build a trade resources composite widget. * @param title The title for the composite widget. * @param trade_rows Pointer to TradeRow to store each row's data. * @return Returns the composite widget. */ static GtkWidget *build_trade_resources_frame(const gchar * title, TradeRow * trade_rows) { /* vbox */ /* label */ /* alignment */ /* table */ /* trade rows */ GtkWidget *vbox; GtkWidget *label; GtkWidget *alignment; GtkWidget *table; gchar *title_with_markup; gint idx; vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 6); gtk_widget_show(vbox); label = gtk_label_new(NULL); title_with_markup = g_strdup_printf("%s", title); gtk_label_set_markup(GTK_LABEL(label), title_with_markup); g_free(title_with_markup); gtk_widget_show(label); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, TRUE, 0); alignment = gtk_alignment_new(0.0, 0.0, 0.0, 0.0); gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 3, 0 * 12, 0); gtk_widget_show(alignment); gtk_box_pack_start(GTK_BOX(vbox), alignment, FALSE, FALSE, 0); table = gtk_table_new(NO_RESOURCE, 2, FALSE); gtk_widget_show(table); gtk_container_add(GTK_CONTAINER(alignment), table); gtk_container_set_border_width(GTK_CONTAINER(table), 0); gtk_table_set_row_spacings(GTK_TABLE(table), 3); gtk_table_set_col_spacings(GTK_TABLE(table), 3); /* trade rows, one for each resource */ for (idx = 0; idx < NO_RESOURCE; ++idx) add_trade_row(table, trade_rows + idx, idx); return vbox; } /** Build the trading page. * @return Returns the composite widget. */ GtkWidget *trade_build_page(void) { /* scroll window */ /* hbox - panel_mainbox */ /* vbox */ /* trade_resources_frame */ /* trade_resources_frame */ /* hbox - bbox */ /* call_btn */ /* vbox */ /* active_quote_label */ /* quoteview */ /* hbox - bbox */ /* accept_btn */ /* finish_btn */ GtkWidget *scroll_win; GtkWidget *panel_mainbox; GtkWidget *vbox; GtkWidget *bbox; GtkWidget *finish_btn; GtkWidget *accept_btn; scroll_win = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll_win), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW (scroll_win), GTK_SHADOW_NONE); gtk_widget_show(scroll_win); panel_mainbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); gtk_widget_show(panel_mainbox); gtk_container_set_border_width(GTK_CONTAINER(panel_mainbox), 6); gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW (scroll_win), panel_mainbox); vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 6); gtk_widget_show(vbox); gtk_box_pack_start(GTK_BOX(panel_mainbox), vbox, FALSE, TRUE, 0); gtk_box_pack_start(GTK_BOX(vbox), /* Frame title, trade: I want to trade these resources */ build_trade_resources_frame(_("I want"), we_receive_rows), FALSE, TRUE, 0); we_receive_frame = /* Frame title, trade: I want these resources in return */ build_trade_resources_frame(_("Give them"), we_supply_rows); gtk_box_pack_start(GTK_BOX(vbox), we_receive_frame, FALSE, TRUE, 0); bbox = gtk_button_box_new(GTK_ORIENTATION_HORIZONTAL); gtk_widget_show(bbox); gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, TRUE, 0); /* Button text, trade: call for quotes from other players */ call_btn = gtk_button_new_with_mnemonic(_("_Call for Quotes")); frontend_gui_register(call_btn, GUI_TRADE_CALL, "clicked"); gtk_widget_show(call_btn); gtk_container_add(GTK_CONTAINER(bbox), call_btn); vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 6); gtk_widget_show(vbox); gtk_box_pack_start(GTK_BOX(panel_mainbox), vbox, TRUE, TRUE, 0); active_quote_label = gtk_label_new(""); gtk_widget_show(active_quote_label); gtk_misc_set_alignment(GTK_MISC(active_quote_label), 0, 0.5); gtk_box_pack_start(GTK_BOX(vbox), active_quote_label, FALSE, FALSE, 0); quoteview = quote_view_new(TRUE, is_good_quote, "pioneers-checkmark", "pioneers-cross"); gtk_widget_show(quoteview); gtk_box_pack_start(GTK_BOX(vbox), quoteview, TRUE, TRUE, 0); g_signal_connect(QUOTEVIEW(quoteview), "selection-changed", G_CALLBACK(quote_selected_cb), NULL); bbox = gtk_button_box_new(GTK_ORIENTATION_HORIZONTAL); gtk_widget_show(bbox); gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, TRUE, 0); gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox), GTK_BUTTONBOX_END); /* Button text: Trade page, accept selected quote */ accept_btn = gtk_button_new_with_mnemonic(_("_Accept Quote")); frontend_gui_register(accept_btn, GUI_TRADE_ACCEPT, "clicked"); gtk_widget_show(accept_btn); gtk_container_add(GTK_CONTAINER(bbox), accept_btn); /* Button text: Trade page, finish trading */ finish_btn = gtk_button_new_with_mnemonic(_("_Finish Trading")); frontend_gui_register(finish_btn, GUI_TRADE_FINISH, "clicked"); gtk_widget_show(finish_btn); gtk_container_add(GTK_CONTAINER(bbox), finish_btn); g_signal_connect(G_OBJECT(quoteview), "selection-activated", G_CALLBACK(quote_dblclick_cb), accept_btn); theme_register_callback(G_CALLBACK(trade_theme_changed)); return scroll_win; } /** A trade is performed/a new trade is possible */ static void trade_update(void) { guint idx; for (idx = 0; idx < G_N_ELEMENTS(we_supply_rows); idx++) { if (resource_asset(idx) == 0) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (we_supply_rows [idx].chk), FALSE); we_supply_rows[idx].enabled = FALSE; } set_row_sensitive(we_supply_rows + idx); } quote_view_check_validity_of_trades(QUOTEVIEW(quoteview)); trade_since_selection_changed = TRUE; } pioneers-15.5/client/gtk/avahi-browser.c0000644000175000017500000001277612064061744015212 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 2009 Andreas Steinel * Copyright (C) 2010 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include #include #include "avahi-browser.h" static void avahibrowser_class_init(AvahiBrowserClass * klass); static void avahibrowser_init(AvahiBrowser * ab); /* Register the class */ GType avahibrowser_get_type(void) { static GType sg_type = 0; if (!sg_type) { static const GTypeInfo sg_info = { sizeof(AvahiBrowserClass), NULL, /* base_init */ NULL, /* base_finalize */ (GClassInitFunc) avahibrowser_class_init, NULL, /* class_finalize */ NULL, /* class_data */ sizeof(AvahiBrowser), 0, (GInstanceInitFunc) avahibrowser_init, NULL }; sg_type = g_type_register_static(GTK_TYPE_TABLE, "AvahiBrowser", &sg_info, 0); } return sg_type; } static void avahibrowser_class_init(G_GNUC_UNUSED AvahiBrowserClass * klass) { } /* Build the composite widget */ static void avahibrowser_init(AvahiBrowser * ab) { GtkCellRenderer *cell; /* Create model */ ab->data = gtk_list_store_new(7, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING); ab->combo_box = gtk_combo_box_new_with_model(GTK_TREE_MODEL(ab->data)); cell = gtk_cell_renderer_text_new(); gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(ab->combo_box), cell, TRUE); gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(ab->combo_box), cell, "text", 6, NULL); gtk_widget_show(ab->combo_box); gtk_widget_set_tooltip_text(ab->combo_box, _ ("Select an automatically discovered game")); gtk_table_resize(GTK_TABLE(ab), 1, 1); gtk_table_attach_defaults(GTK_TABLE(ab), ab->combo_box, 0, 1, 0, 1); } /* Create a new instance of the widget */ GtkWidget *avahibrowser_new(GtkWidget * connect_button) { AvahiBrowser *ab = AVAHIBROWSER(g_object_new(avahibrowser_get_type(), NULL)); ab->connect_button = connect_button; gtk_widget_set_sensitive(ab->connect_button, FALSE); return GTK_WIDGET(ab); } void avahibrowser_add(AvahiBrowser * ab, const char *service_name, const char *resolved_hostname, const char *host_name, const gchar * port, const char *version, const char *title) { GtkTreeIter iter; if (gtk_tree_model_get_iter_first(GTK_TREE_MODEL(ab->data), &iter)) { gchar *old; gboolean found = FALSE; gboolean atend = FALSE; do { gtk_tree_model_get(GTK_TREE_MODEL(ab->data), &iter, 0, &old, -1); if (!strcmp(service_name, old)) found = TRUE; else atend = !gtk_tree_model_iter_next (GTK_TREE_MODEL(ab->data), &iter); g_free(old); } while (!found && !atend); if (!found) { gtk_list_store_append(ab->data, &iter); } } else { /* Was empty */ gtk_list_store_append(ab->data, &iter); gtk_combo_box_set_active_iter(GTK_COMBO_BOX(ab->combo_box), &iter); } gchar *nice_text = g_strdup_printf( /* $1=Game title, $2=version, $3=host_name, $4=port */ _("%s (%s) on %s:%s"), title, version, host_name, port); gtk_list_store_set(ab->data, &iter, 0, service_name, 1, resolved_hostname, 2, host_name, 3, port, 4, version, 5, title, 6, nice_text, -1); g_free(nice_text); gtk_widget_set_sensitive(GTK_WIDGET(ab->connect_button), TRUE); } void avahibrowser_del(AvahiBrowser * ab, const char *service_name) { GtkTreeIter iter; if (gtk_tree_model_get_iter_first(GTK_TREE_MODEL(ab->data), &iter)) { gchar *old; gboolean found = FALSE; gboolean atend = FALSE; do { gtk_tree_model_get(GTK_TREE_MODEL(ab->data), &iter, 0, &old, -1); if (!strcmp(service_name, old)) found = TRUE; else atend = !gtk_tree_model_iter_next (GTK_TREE_MODEL(ab->data), &iter); g_free(old); } while (!found && !atend); if (found) gtk_list_store_remove(ab->data, &iter); } /* If there is more than one server available, select the first one */ if (gtk_tree_model_get_iter_first(GTK_TREE_MODEL(ab->data), &iter)) { gtk_combo_box_set_active_iter(GTK_COMBO_BOX(ab->combo_box), &iter); } else { /* if no server is available, disable the join button */ gtk_widget_set_sensitive(GTK_WIDGET (ab->connect_button), FALSE); } } gchar *avahibrowser_get_server(AvahiBrowser * ab) { GtkTreeIter iter; gchar *text; gtk_combo_box_get_active_iter(GTK_COMBO_BOX(ab->combo_box), &iter); gtk_tree_model_get(GTK_TREE_MODEL(ab->data), &iter, 1, &text, -1); return text; } gchar *avahibrowser_get_port(AvahiBrowser * ab) { GtkTreeIter iter; gchar *text; gtk_combo_box_get_active_iter(GTK_COMBO_BOX(ab->combo_box), &iter); gtk_tree_model_get(GTK_TREE_MODEL(ab->data), &iter, 3, &text, -1); return text; } pioneers-15.5/client/gtk/frontend.c0000644000175000017500000001312613252223516014243 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 2003 Bas Wijnen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include "frontend.h" #include static const int MAX_NUMBER_OF_WIDGETS_PER_EVENT = 2; GHashTable *frontend_widgets; gboolean frontend_waiting_for_network; static void set_sensitive(G_GNUC_UNUSED void *key, GuiWidgetState * gui, G_GNUC_UNUSED void *user_data) { if (gui->destroy_only) /* Do not modify sensitivity on destroy only events */ return; if (frontend_waiting_for_network) gui->next = FALSE; if (gui->widget != NULL && gui->next != gui->current) { if (GTK_IS_ACTION(gui->widget)) gtk_action_set_sensitive(GTK_ACTION(gui->widget), gui->next); else gtk_widget_set_sensitive(gui->widget, gui->next); } if (gui->next != gui->current) { switch (gui->id) { case GUI_ROAD: guimap_single_click_set_road_mask(gui->next); break; case GUI_SHIP: guimap_single_click_set_ship_mask(gui->next); break; case GUI_BRIDGE: guimap_single_click_set_bridge_mask(gui->next); break; case GUI_SETTLEMENT: guimap_single_click_set_settlement_mask(gui->next); break; case GUI_CITY: guimap_single_click_set_city_mask(gui->next); break; case GUI_CITY_WALL: guimap_single_click_set_city_wall_mask(gui->next); break; case GUI_MOVE_SHIP: guimap_single_click_set_ship_move_mask(gui->next); break; default: break; } } gui->current = gui->next; gui->next = FALSE; } void frontend_gui_register_init(void) { frontend_widgets = g_hash_table_new(NULL, NULL); } void frontend_gui_update(void) { route_gui_event(GUI_UPDATE); g_hash_table_foreach(frontend_widgets, (GHFunc) set_sensitive, NULL); } void frontend_gui_check(GuiEvent event, gboolean sensitive) { GuiWidgetState *gui; gint i; gint key = event * MAX_NUMBER_OF_WIDGETS_PER_EVENT; /* Set all related widgets */ for (i = 0; i < MAX_NUMBER_OF_WIDGETS_PER_EVENT; ++i) { gui = g_hash_table_lookup(frontend_widgets, GINT_TO_POINTER(key + i)); if (gui != NULL) gui->next = sensitive; } } gboolean frontend_gui_get_sensitive(GuiEvent event) { GuiWidgetState *gui; gint i; gint key = event * MAX_NUMBER_OF_WIDGETS_PER_EVENT; /* Look at all related widgets */ for (i = 0; i < MAX_NUMBER_OF_WIDGETS_PER_EVENT; ++i) { gui = g_hash_table_lookup(frontend_widgets, GINT_TO_POINTER(key + i)); if (gui != NULL) return gui->current; } return FALSE; } static GuiWidgetState *gui_new(void *widget, gint id) { gint i; gint key = id * MAX_NUMBER_OF_WIDGETS_PER_EVENT; GuiWidgetState *gui = g_malloc0(sizeof(*gui)); gui->widget = widget; gui->id = id; /* Find an empty key */ i = 0; while (i < MAX_NUMBER_OF_WIDGETS_PER_EVENT) { if (g_hash_table_lookup(frontend_widgets, GINT_TO_POINTER(key + i))) ++i; else break; } g_assert(i != MAX_NUMBER_OF_WIDGETS_PER_EVENT); g_hash_table_insert(frontend_widgets, GINT_TO_POINTER(key + i), gui); return gui; } static void gui_free(GuiWidgetState * gui) { gint i; gint key = gui->id * MAX_NUMBER_OF_WIDGETS_PER_EVENT; /* Find an empty key */ for (i = 0; i < MAX_NUMBER_OF_WIDGETS_PER_EVENT; ++i) { g_hash_table_remove(frontend_widgets, GINT_TO_POINTER(key + i)); } g_free(gui); } static void route_event(G_GNUC_UNUSED void *widget, GuiWidgetState * gui) { route_gui_event(gui->id); } static void destroy_event_cb(G_GNUC_UNUSED void *widget, GuiWidgetState * gui) { gui_free(gui); } static void destroy_route_event_cb(G_GNUC_UNUSED void *widget, GuiWidgetState * gui) { route_gui_event(gui->id); gui_free(gui); } void frontend_gui_register_destroy(GtkWidget * widget, GuiEvent id) { GuiWidgetState *gui = gui_new(widget, id); gui->destroy_only = TRUE; g_signal_connect(G_OBJECT(widget), "destroy", G_CALLBACK(destroy_route_event_cb), gui); } void frontend_gui_register_action(GtkAction * action, GuiEvent id) { GuiWidgetState *gui = gui_new(action, id); gui->signal = NULL; gui->current = TRUE; gui->next = FALSE; } void frontend_gui_register(GtkWidget * widget, GuiEvent id, const gchar * gui_signal) { GuiWidgetState *gui = gui_new(widget, id); gui->signal = gui_signal; gui->current = TRUE; gui->next = FALSE; g_signal_connect(G_OBJECT(widget), "destroy", G_CALLBACK(destroy_event_cb), gui); if (gui_signal != NULL) g_signal_connect(G_OBJECT(widget), gui_signal, G_CALLBACK(route_event), gui); } gint hotkeys_handler(G_GNUC_UNUSED GtkWidget * w, GdkEvent * e, G_GNUC_UNUSED gpointer data) { GuiWidgetState *gui; GuiEvent arg; switch (e->key.keyval) { case GDK_KEY_Escape: arg = GUI_QUOTE_REJECT; break; default: return 0; /* not handled */ } gui = g_hash_table_lookup(frontend_widgets, GINT_TO_POINTER(arg * MAX_NUMBER_OF_WIDGETS_PER_EVENT)); if (!gui || !gui->current) return 0; /* not handled */ route_gui_event(arg); return 1; /* handled */ } pioneers-15.5/client/gtk/admin-gtk.c0000644000175000017500000002724513252223516014306 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ /* This file has not been maintained for a long time */ #include #include #include #include #include "driver.h" #include "game.h" #include "cards.h" #include "map.h" #include "network.h" #include "log.h" #include "buildrec.h" #include "common_gtk.h" static GtkWidget *game_combo; /* select game type */ static GtkWidget *terrain_toggle; /* random terrain Yes/No */ static GtkWidget *victory_spin; /* victory point target */ static GtkWidget *players_spin; /* number of players */ static GtkWidget *register_toggle; /* register with metaserver? */ static GtkWidget *port_spin; /* server port */ static GtkWidget *clist; /* currently connected players */ static Session *_admin_session = 0; /* this really needs to be eliminated from here */ static gchar *server_port = "5556"; static gint server_port_int = 5556; /* network event handler, just like the one in meta.c, state.c, etc. */ void admin_net_event(NetEvent event, Session * admin_session, gchar * line) { #ifdef PRINT_INFO g_print ("admin_event: event = %#x, admin_session = %p, line = %s\n", event, admin_session, line); #endif switch (event) { case NET_READ: /* there is data to be read */ #ifdef PRINT_INFO g_print("admin_event: NET_READ: line = '%s'\n", line); #endif break; case NET_CONNECT: /* connect() succeeded */ #ifdef PRINT_INFO g_print("admin_event: NET_CONNECT\n"); #endif break; case NET_CONNECT_FAIL: /* connect() failed */ #ifdef PRINT_INFO g_print ("admin_event: NET_CONNECT_FAIL (falling through to NET_CLOSE...)\n"); #endif /* fall through to NET_CLOSE */ case NET_CLOSE: /* connection has been closed */ #ifdef PRINT_INFO g_print("admin_event: NET_CLOSE\n"); #endif net_free(&admin_session); break; default: } } static void admin_open_session(void) { _admin_session = net_new(admin_net_event, NULL); _admin_session->user_data = _admin_session; /* TODO: tie the connect dialog to this */ net_connect(_admin_session, "localhost", 5555); } static void admin_close_session(void) { if (_admin_session) { net_close(_admin_session); _admin_session = 0; } } #define ADMIN_BUFSIZE 4096 #define ADMIN_PREFIX_LEN 6 static void admin_write(gchar * fmt, ...) { char buff[ADMIN_BUFSIZE]; va_list ap; strncpy(buff, "admin ", ADMIN_PREFIX_LEN); if (!_admin_session) { admin_open_session(); } va_start(ap, fmt); g_vsnprintf(&buff[ADMIN_PREFIX_LEN], ADMIN_BUFSIZE - ADMIN_PREFIX_LEN, fmt, ap); va_end(ap); net_write(_admin_session, buff); } static void port_spin_changed_cb(GtkWidget * widget, gpointer user_data) { gint server_port_int = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widget)); snprintf(server_port, sizeof(server_port), "%d", server_port_int); admin_write("set-port %s\n", server_port); } static void register_toggle_cb(GtkToggleButton * toggle, gpointer user_data) { GtkWidget *label = GTK_BIN(toggle)->child; gint register_server = gtk_toggle_button_get_active(toggle); gtk_label_set_text(GTK_LABEL(label), register_server ? _("Yes") : _("No")); admin_write("set-register-server %d\n", register_server); } static void players_spin_changed_cb(GtkWidget * widget, gpointer user_data) { admin_write("set-num-players %d\n", gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON (widget))); } static void victory_spin_changed_cb(GtkWidget * widget, gpointer user_data) { admin_write("set-victory-points %d\n", gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON (widget))); } static void game_select_cb(GtkWidget * list, gpointer user_data) { } static void terrain_toggle_cb(GtkToggleButton * toggle, gpointer user_data) { GtkWidget *label = GTK_BIN(toggle)->child; gint random_terrain = gtk_toggle_button_get_active(toggle); gtk_label_set_text(GTK_LABEL(label), random_terrain ? _("Random") : _("Default")); admin_write("set-random-terrain %d\n", random_terrain); } static void start_clicked_cb(GtkWidget * start_btn, gpointer user_data) { admin_write("start-server\n"); } void show_admin_interface() { GtkWidget *admin_if; GtkDialog *dialog; dialog = gtk_dialog_new(); gtk_window_set_title("Administration"); admin_if = build_admin_interface(dialog->vbox); gtk_widget_show_all(dialog); admin_open_session(); } GtkWidget *build_admin_interface(GtkWidget * vbox) { GtkWidget *hbox; GtkWidget *frame; GtkWidget *table; GtkWidget *label; GtkObject *adj; GtkWidget *start_btn; GtkWidget *scroll_win; GtkWidget *message_text; static gchar *titles[2]; if (!vbox) vbox = gtk_vbox_new(FALSE, 0); if (!titles[0]) { titles[0] = _("Name"); titles[1] = _("Location"); } gtk_widget_show(vbox); gtk_container_border_width(GTK_CONTAINER(vbox), 5); hbox = gtk_hbox_new(FALSE, 5); gtk_widget_show(hbox); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, TRUE, 0); frame = gtk_frame_new(_("Server Parameters")); gtk_widget_show(frame); gtk_box_pack_start(GTK_BOX(hbox), frame, FALSE, TRUE, 0); table = gtk_table_new(6, 3, FALSE); gtk_widget_show(table); gtk_container_add(GTK_CONTAINER(frame), table); gtk_container_border_width(GTK_CONTAINER(table), 3); gtk_table_set_row_spacings(GTK_TABLE(table), 3); gtk_table_set_col_spacings(GTK_TABLE(table), 5); label = gtk_label_new(_("Game Name")); gtk_widget_show(label); gtk_table_attach(GTK_TABLE(table), label, 0, 1, 0, 1, (GtkAttachOptions) GTK_FILL, (GtkAttachOptions) GTK_EXPAND | GTK_FILL, 0, 0); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); game_combo = gtk_combo_new(); gtk_editable_set_editable(GTK_EDITABLE (GTK_COMBO(game_combo)->entry), FALSE); gtk_widget_set_usize(game_combo, 100, -1); gtk_signal_connect(GTK_OBJECT(GTK_COMBO(game_combo)->list), "select_child", GTK_SIGNAL_FUNC(game_select_cb), NULL); gtk_widget_show(game_combo); gtk_table_attach(GTK_TABLE(table), game_combo, 1, 3, 0, 1, (GtkAttachOptions) GTK_FILL, (GtkAttachOptions) GTK_EXPAND | GTK_FILL, 0, 0); label = gtk_label_new(_("Map Terrain")); gtk_widget_show(label); gtk_table_attach(GTK_TABLE(table), label, 0, 1, 1, 2, (GtkAttachOptions) GTK_FILL, (GtkAttachOptions) GTK_EXPAND | GTK_FILL, 0, 0); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); terrain_toggle = gtk_toggle_button_new_with_label(""); gtk_widget_show(terrain_toggle); gtk_table_attach(GTK_TABLE(table), terrain_toggle, 1, 2, 1, 2, (GtkAttachOptions) GTK_FILL, (GtkAttachOptions) GTK_EXPAND | GTK_FILL, 0, 0); gtk_signal_connect(GTK_OBJECT(terrain_toggle), "toggled", GTK_SIGNAL_FUNC(terrain_toggle_cb), NULL); label = gtk_label_new(_("Number of Players")); gtk_widget_show(label); gtk_table_attach(GTK_TABLE(table), label, 0, 1, 2, 3, (GtkAttachOptions) GTK_FILL, (GtkAttachOptions) GTK_EXPAND | GTK_FILL, 0, 0); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); adj = gtk_adjustment_new(0, 2, MAX_PLAYERS, 1, 1, 0); players_spin = gtk_spin_button_new(GTK_ADJUSTMENT(adj), 1, 0); gtk_widget_show(players_spin); gtk_table_attach(GTK_TABLE(table), players_spin, 1, 2, 2, 3, (GtkAttachOptions) GTK_FILL, (GtkAttachOptions) GTK_EXPAND | GTK_FILL, 0, 0); gtk_signal_connect(GTK_OBJECT(players_spin), "changed", GTK_SIGNAL_FUNC(players_spin_changed_cb), NULL); label = gtk_label_new(_("Victory Point Target")); gtk_widget_show(label); gtk_table_attach(GTK_TABLE(table), label, 0, 1, 3, 4, (GtkAttachOptions) GTK_FILL, (GtkAttachOptions) GTK_EXPAND | GTK_FILL, 0, 0); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); adj = gtk_adjustment_new(10, 5, 20, 1, 5, 0); victory_spin = gtk_spin_button_new(GTK_ADJUSTMENT(adj), 1, 0); gtk_widget_show(victory_spin); gtk_table_attach(GTK_TABLE(table), victory_spin, 1, 2, 3, 4, (GtkAttachOptions) GTK_FILL, (GtkAttachOptions) GTK_EXPAND | GTK_FILL, 0, 0); gtk_signal_connect(GTK_OBJECT(victory_spin), "changed", GTK_SIGNAL_FUNC(victory_spin_changed_cb), NULL); label = gtk_label_new(_("Register Server")); gtk_widget_show(label); gtk_table_attach(GTK_TABLE(table), label, 0, 1, 4, 5, (GtkAttachOptions) GTK_FILL, (GtkAttachOptions) GTK_EXPAND | GTK_FILL, 0, 0); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); register_toggle = gtk_toggle_button_new_with_label(_("No")); gtk_widget_show(register_toggle); gtk_table_attach(GTK_TABLE(table), register_toggle, 1, 2, 4, 5, (GtkAttachOptions) GTK_FILL, (GtkAttachOptions) GTK_EXPAND | GTK_FILL, 0, 0); gtk_signal_connect(GTK_OBJECT(register_toggle), "toggled", GTK_SIGNAL_FUNC(register_toggle_cb), NULL); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(register_toggle), TRUE); /* gtk_toggle_button_toggled(GTK_TOGGLE_BUTTON(register_toggle)); */ label = gtk_label_new("Server Port"); gtk_widget_show(label); gtk_table_attach(GTK_TABLE(table), label, 0, 1, 5, 6, (GtkAttachOptions) GTK_FILL, (GtkAttachOptions) GTK_EXPAND | GTK_FILL, 0, 0); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); adj = gtk_adjustment_new(server_port_int, 1024, 32767, 1, 10, 0); port_spin = gtk_spin_button_new(GTK_ADJUSTMENT(adj), 1, 0); gtk_widget_show(port_spin); gtk_table_attach(GTK_TABLE(table), port_spin, 1, 2, 5, 6, (GtkAttachOptions) GTK_FILL, (GtkAttachOptions) GTK_EXPAND | GTK_FILL, 0, 0); gtk_widget_set_usize(port_spin, 60, -1); gtk_signal_connect(GTK_OBJECT(port_spin), "changed", GTK_SIGNAL_FUNC(port_spin_changed_cb), NULL); start_btn = gtk_button_new_with_label(_("Start Server")); gtk_widget_show(start_btn); gtk_table_attach(GTK_TABLE(table), start_btn, 0, 2, 6, 7, (GtkAttachOptions) GTK_FILL, (GtkAttachOptions) GTK_EXPAND | GTK_FILL, 0, 0); gtk_signal_connect(GTK_OBJECT(start_btn), "clicked", GTK_SIGNAL_FUNC(start_clicked_cb), NULL); frame = gtk_frame_new(_("Players Connected")); gtk_widget_show(frame); gtk_box_pack_start(GTK_BOX(hbox), frame, TRUE, TRUE, 0); gtk_widget_set_usize(frame, 250, -1); scroll_win = gtk_scrolled_window_new(NULL, NULL); gtk_widget_show(scroll_win); gtk_container_add(GTK_CONTAINER(frame), scroll_win); gtk_container_border_width(GTK_CONTAINER(scroll_win), 3); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll_win), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); clist = gtk_clist_new_with_titles(2, titles); gtk_widget_show(clist); gtk_container_add(GTK_CONTAINER(scroll_win), clist); gtk_clist_set_column_width(GTK_CLIST(clist), 0, 80); gtk_clist_set_column_width(GTK_CLIST(clist), 1, 80); gtk_clist_column_titles_show(GTK_CLIST(clist)); gtk_clist_column_titles_passive(GTK_CLIST(clist)); frame = gtk_frame_new(_("Messages")); gtk_widget_show(frame); gtk_box_pack_start(GTK_BOX(vbox), frame, TRUE, TRUE, 0); scroll_win = gtk_scrolled_window_new(NULL, NULL); gtk_widget_show(scroll_win); gtk_container_add(GTK_CONTAINER(frame), scroll_win); gtk_container_border_width(GTK_CONTAINER(scroll_win), 3); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll_win), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); return vbox; } pioneers-15.5/client/gtk/notification.h0000644000175000017500000000047712155302065015122 00000000000000#ifndef _notification_h #define _notification_h #include void notification_init(void); void notification_cleanup(void); void notification_send(const gchar * text, const gchar * icon); void notification_close(void); gboolean get_show_notifications(void); void set_show_notifications(gboolean notify); #endif pioneers-15.5/client/gtk/settingscreen.c0000644000175000017500000003174613252223516015311 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * Copyright (C) 2005 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include "frontend.h" #include "gui.h" static GtkWidget *settings_dlg = NULL; enum { TYPE_NUM, TYPE_BOOL, TYPE_STRING }; static void add_setting_desc(GtkWidget * table, guint row, guint col, const gchar * desc) { GtkWidget *label; label = gtk_label_new(desc); gtk_widget_show(label); gtk_table_attach(GTK_TABLE(table), label, col, col + 1, row, row + 1, GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5f); } static void add_setting_desc_with_image(GtkWidget * table, guint row, guint col, const gchar * desc, const gchar * iconname) { GtkWidget *icon; icon = gtk_image_new_from_stock(iconname, GTK_ICON_SIZE_MENU); gtk_widget_show(icon); gtk_table_attach(GTK_TABLE(table), icon, col, col + 1, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); add_setting_desc(table, row, col + 1, desc); } static void add_setting_val(GtkWidget * table, guint row, guint col, gint type, gint int_val, const gchar * char_val, gboolean right_aligned) { GtkWidget *label; gchar *label_var; switch (type) { case TYPE_NUM: label_var = g_strdup_printf("%i", int_val); break; case TYPE_BOOL: if (int_val != 0) { label_var = g_strdup(_("Yes")); } else { label_var = g_strdup(_("No")); } break; case TYPE_STRING: if (char_val == NULL) { char_val = " "; } label_var = g_strdup_printf("%s", char_val); break; default: label_var = g_strdup(_("Unknown")); break; } label = gtk_label_new(label_var); g_free(label_var); gtk_widget_show(label); gtk_table_attach(GTK_TABLE(table), label, col, col + 1, row, row + 1, GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); gtk_misc_set_alignment(GTK_MISC(label), (right_aligned ? 1.0 : 0.0), 0.5f); } static GtkWidget *settings_create_content(void) { const GameParams *game_params; GtkWidget *dlg_vbox; GtkWidget *alignment; GtkWidget *vbox; GtkWidget *hbox; GtkWidget *table; GtkWidget *label; gchar *sevens_desc; gchar *island_bonus; guint row; /* Create some space inside the dialog */ dlg_vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 6); gtk_container_set_border_width(GTK_CONTAINER(dlg_vbox), 6); gtk_widget_show(dlg_vbox); game_params = get_game_params(); if (game_params == NULL) { label = gtk_label_new(_("No game in progress...")); gtk_box_pack_start(GTK_BOX(dlg_vbox), label, TRUE, TRUE, 6); gtk_widget_show(label); return dlg_vbox; } label = gtk_label_new(NULL); gtk_label_set_markup(GTK_LABEL(label), /* Label */ _("General settings")); gtk_widget_show(label); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); gtk_box_pack_start(GTK_BOX(dlg_vbox), label, FALSE, TRUE, 0); alignment = gtk_alignment_new(0.0, 0.0, 0.0, 0.0); gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 0, 12, 0); gtk_widget_show(alignment); gtk_box_pack_start(GTK_BOX(dlg_vbox), alignment, FALSE, FALSE, 0); table = gtk_table_new(13, 2, FALSE); gtk_widget_show(table); gtk_container_add(GTK_CONTAINER(alignment), table); gtk_table_set_row_spacings(GTK_TABLE(table), 3); gtk_table_set_col_spacings(GTK_TABLE(table), 6); row = 0; add_setting_desc(table, row, 0, _("Number of players:")); add_setting_val(table, row, 1, TYPE_NUM, game_params->num_players, NULL, FALSE); row++; add_setting_desc(table, row, 0, _("Victory point target:")); add_setting_val(table, row, 1, TYPE_NUM, game_params->victory_points, NULL, FALSE); row++; add_setting_desc(table, row, 0, _("Random terrain:")); add_setting_val(table, row, 1, TYPE_BOOL, game_params->random_terrain, NULL, FALSE); row++; add_setting_desc(table, row, 0, _("Allow trade between players:")); add_setting_val(table, row, 1, TYPE_BOOL, game_params->domestic_trade, NULL, FALSE); row++; add_setting_desc(table, row, 0, _("Allow trade only before building or buying:")); add_setting_val(table, row, 1, TYPE_BOOL, game_params->strict_trade, NULL, FALSE); row++; add_setting_desc(table, row, 0, _("Check victory only at end of turn:")); add_setting_val(table, row, 1, TYPE_BOOL, game_params->check_victory_at_end_of_turn, NULL, FALSE); row++; add_setting_desc(table, row, 0, _("Amount of each resource:")); add_setting_val(table, row, 1, TYPE_NUM, game_params->resource_count, NULL, FALSE); if (game_params->sevens_rule == 0) { sevens_desc = g_strdup(_("Normal")); } else if (game_params->sevens_rule == 1) { sevens_desc = g_strdup(_("Reroll on 1st 2 turns")); } else if (game_params->sevens_rule == 2) { sevens_desc = g_strdup(_("Reroll all 7s")); } else { sevens_desc = g_strdup(_("Unknown")); } row++; add_setting_desc(table, row, 0, _("Sevens rule:")); add_setting_val(table, row, 1, TYPE_STRING, 0, sevens_desc, FALSE); g_free(sevens_desc); row++; add_setting_desc(table, row, 0, _("Use dice deck instead of dice:")); add_setting_val(table, row, 1, TYPE_BOOL, game_params->use_dice_deck, NULL, FALSE); row++; add_setting_desc(table, row, 0, _("Number of dice decks:")); add_setting_val(table, row, 1, TYPE_NUM, game_params->num_dice_decks, NULL, FALSE); row++; add_setting_desc(table, row, 0, _("" "Number of dice cards removed after shuffling:")); add_setting_val(table, row, 1, TYPE_NUM, game_params->num_removed_dice_cards, NULL, FALSE); row++; add_setting_desc(table, row, 0, _("Use the pirate to block ships:")); add_setting_val(table, row, 1, TYPE_BOOL, game_params->use_pirate, NULL, FALSE); if (game_params->island_discovery_bonus) { guint idx; island_bonus = g_strdup_printf("%d", g_array_index (game_params->island_discovery_bonus, gint, 0)); for (idx = 1; idx < game_params->island_discovery_bonus->len; idx++) { gchar *old = island_bonus; gchar *number = g_strdup_printf("%d", g_array_index (game_params-> island_discovery_bonus, gint, idx)); island_bonus = g_strconcat(island_bonus, ", ", number, NULL); g_free(old); g_free(number); } } else { island_bonus = g_strdup(_("No")); } row++; add_setting_desc(table, row, 0, _("Island discovery bonuses:")); add_setting_val(table, row, 1, TYPE_STRING, 0, island_bonus, FALSE); g_free(island_bonus); /* Double space, otherwise the columns are too close */ hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 24); gtk_widget_show(hbox); gtk_box_pack_start(GTK_BOX(dlg_vbox), hbox, TRUE, FALSE, 0); vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 6); gtk_widget_show(vbox); gtk_box_pack_start(GTK_BOX(hbox), vbox, FALSE, FALSE, 0); label = gtk_label_new(NULL); gtk_label_set_markup(GTK_LABEL(label), /* Label */ _("Building quotas")); gtk_widget_show(label); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, TRUE, 0); alignment = gtk_alignment_new(0.0, 0.0, 0.0, 0.0); gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 0, 12, 0); gtk_widget_show(alignment); gtk_box_pack_start(GTK_BOX(vbox), alignment, FALSE, TRUE, 0); table = gtk_table_new(6, 3, FALSE); gtk_widget_show(table); gtk_container_add(GTK_CONTAINER(alignment), table); gtk_table_set_row_spacings(GTK_TABLE(table), 3); gtk_table_set_col_spacings(GTK_TABLE(table), 6); row = 0; add_setting_desc_with_image(table, row, 0, _("Roads:"), PIONEERS_PIXMAP_ROAD); add_setting_val(table, row, 2, TYPE_NUM, game_params->num_build_type[BUILD_ROAD], NULL, TRUE); row++; add_setting_desc_with_image(table, row, 0, _("Settlements:"), PIONEERS_PIXMAP_SETTLEMENT); add_setting_val(table, row, 2, TYPE_NUM, game_params->num_build_type[BUILD_SETTLEMENT], NULL, TRUE); row++; add_setting_desc_with_image(table, row, 0, _("Cities:"), PIONEERS_PIXMAP_CITY); add_setting_val(table, row, 2, TYPE_NUM, game_params->num_build_type[BUILD_CITY], NULL, TRUE); row++; add_setting_desc_with_image(table, row, 0, _("City walls:"), PIONEERS_PIXMAP_CITY_WALL); add_setting_val(table, row, 2, TYPE_NUM, game_params->num_build_type[BUILD_CITY_WALL], NULL, TRUE); row++; add_setting_desc_with_image(table, row, 0, _("Ships:"), PIONEERS_PIXMAP_SHIP); add_setting_val(table, row, 2, TYPE_NUM, game_params->num_build_type[BUILD_SHIP], NULL, TRUE); row++; add_setting_desc_with_image(table, row, 0, _("Bridges:"), PIONEERS_PIXMAP_BRIDGE); add_setting_val(table, row, 2, TYPE_NUM, game_params->num_build_type[BUILD_BRIDGE], NULL, TRUE); vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 6); gtk_widget_show(vbox); gtk_box_pack_start(GTK_BOX(hbox), vbox, FALSE, TRUE, 0); label = gtk_label_new(NULL); gtk_label_set_markup(GTK_LABEL(label), /* Label */ _("Development card deck")); gtk_widget_show(label); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, TRUE, 0); alignment = gtk_alignment_new(0.0, 0.0, 0.0, 0.0); gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 0, 12, 0); gtk_widget_show(alignment); gtk_box_pack_start(GTK_BOX(vbox), alignment, FALSE, TRUE, 0); table = gtk_table_new(9, 2, FALSE); gtk_widget_show(table); gtk_container_add(GTK_CONTAINER(alignment), table); gtk_table_set_row_spacings(GTK_TABLE(table), 3); gtk_table_set_col_spacings(GTK_TABLE(table), 6); add_setting_desc(table, 0, 0, _("Road building cards:")); add_setting_val(table, 0, 1, TYPE_NUM, game_params->num_develop_type[DEVEL_ROAD_BUILDING], NULL, TRUE); add_setting_desc(table, 1, 0, _("Monopoly cards:")); add_setting_val(table, 1, 1, TYPE_NUM, game_params->num_develop_type[DEVEL_MONOPOLY], NULL, TRUE); add_setting_desc(table, 2, 0, _("Year of plenty cards:")); add_setting_val(table, 2, 1, TYPE_NUM, game_params->num_develop_type [DEVEL_YEAR_OF_PLENTY], NULL, TRUE); add_setting_desc(table, 3, 0, _("Chapel cards:")); add_setting_val(table, 3, 1, TYPE_NUM, game_params->num_develop_type[DEVEL_CHAPEL], NULL, TRUE); add_setting_desc(table, 4, 0, _("Pioneer university cards:")); add_setting_val(table, 4, 1, TYPE_NUM, game_params->num_develop_type[DEVEL_UNIVERSITY], NULL, TRUE); add_setting_desc(table, 5, 0, _("Governor's house cards:")); add_setting_val(table, 5, 1, TYPE_NUM, game_params->num_develop_type [DEVEL_GOVERNORS_HOUSE], NULL, TRUE); add_setting_desc(table, 6, 0, _("Library cards:")); add_setting_val(table, 6, 1, TYPE_NUM, game_params->num_develop_type[DEVEL_LIBRARY], NULL, TRUE); add_setting_desc(table, 7, 0, _("Market cards:")); add_setting_val(table, 7, 1, TYPE_NUM, game_params->num_develop_type[DEVEL_MARKET], NULL, TRUE); add_setting_desc(table, 8, 0, _("Soldier cards:")); add_setting_val(table, 8, 1, TYPE_NUM, game_params->num_develop_type[DEVEL_SOLDIER], NULL, TRUE); return dlg_vbox; } static void settings_rules_changed(void) { if (settings_dlg) { GtkWidget *vbox; GtkWidget *dlg_vbox; GList *list; dlg_vbox = gtk_dialog_get_content_area(GTK_DIALOG(settings_dlg)); list = gtk_container_get_children(GTK_CONTAINER(dlg_vbox)); if (g_list_length(list) > 0) gtk_widget_destroy(GTK_WIDGET(list->data)); g_list_free(list); vbox = settings_create_content(); gtk_box_pack_start(GTK_BOX(dlg_vbox), vbox, FALSE, FALSE, 0); } } GtkWidget *settings_create_dlg(void) { GtkWidget *dlg_vbox; GtkWidget *vbox; if (settings_dlg != NULL) return settings_dlg; settings_dlg = gtk_dialog_new_with_buttons( /* Dialog caption */ _("" "Current Game Settings"), GTK_WINDOW (app_window), GTK_DIALOG_DESTROY_WITH_PARENT, /* Button text */ _("_Close"), GTK_RESPONSE_CLOSE, NULL); g_signal_connect(G_OBJECT(settings_dlg), "destroy", G_CALLBACK(gtk_widget_destroyed), &settings_dlg); dlg_vbox = gtk_dialog_get_content_area(GTK_DIALOG(settings_dlg)); gtk_widget_show(dlg_vbox); vbox = settings_create_content(); gtk_box_pack_start(GTK_BOX(dlg_vbox), vbox, FALSE, FALSE, 0); g_signal_connect(G_OBJECT(settings_dlg), "response", G_CALLBACK(gtk_widget_destroy), NULL); gtk_widget_show(settings_dlg); return settings_dlg; } void settings_init(void) { gui_rules_register_callback(G_CALLBACK(settings_rules_changed)); } pioneers-15.5/client/gtk/avahi-browser.h0000644000175000017500000000452613252223516015206 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 2009 Andreas Steinel * Copyright (C) 2010 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef __AVAHI_BROWSER_H__ #define __AVAHI_BROWSER_H__ #include #include #include G_BEGIN_DECLS #define AVAHIBROWSER_TYPE (avahibrowser_get_type ()) #define AVAHIBROWSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), AVAHIBROWSER_TYPE, AvahiBrowser)) #define AVAHIBROWSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), AVAHIBROWSER_TYPE, AvahiBrowserClass)) #define IS_AVAHIBROWSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), AVAHIBROWSER_TYPE)) #define IS_AVAHIBROWSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), AVAHIBROWSER_TYPE)) typedef struct _AvahiBrowser AvahiBrowser; typedef struct _AvahiBrowserClass AvahiBrowserClass; struct _AvahiBrowser { GtkTable table; GtkWidget *combo_box; GtkListStore *data; GtkWidget *connect_button; }; struct _AvahiBrowserClass { GtkComboBoxClass parent_class; }; GType avahibrowser_get_type(void); GtkWidget *avahibrowser_new(GtkWidget * connect_button); void avahibrowser_refresh(AvahiBrowser * ab); void avahibrowser_add(AvahiBrowser * ab, const char *service_name, const char *resolved_hostname, const char *host_name, const gchar * port, const char *version, const char *title); void avahibrowser_del(AvahiBrowser * ab, const char *service_name); gchar *avahibrowser_get_server(AvahiBrowser * ab); gchar *avahibrowser_get_port(AvahiBrowser * ab); G_END_DECLS #endif /* __AVAHI_BROWSER_H__ */ pioneers-15.5/client/gtk/monopoly.c0000644000175000017500000001016513252223516014300 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * Copyright (C) 2004 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include "frontend.h" static GtkWidget *monop_dlg; static Resource monop_type; static void monop_toggled(GtkToggleButton * btn, gpointer type) { if (gtk_toggle_button_get_active(btn)) monop_type = GPOINTER_TO_INT(type); } static GSList *add_resource_btn(GtkWidget * vbox, GSList * grp, Resource resource) { GtkWidget *btn; gboolean active; active = grp == NULL; btn = gtk_radio_button_new_with_label(grp, resource_name(resource, TRUE)); grp = gtk_radio_button_get_group(GTK_RADIO_BUTTON(btn)); gtk_widget_show(btn); gtk_box_pack_start(GTK_BOX(vbox), btn, TRUE, TRUE, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(btn), active); g_signal_connect(G_OBJECT(btn), "toggled", G_CALLBACK(monop_toggled), GINT_TO_POINTER(resource)); if (active) monop_type = resource; return grp; } static void monopoly_destroyed(G_GNUC_UNUSED GtkWidget * widget, G_GNUC_UNUSED gpointer data) { if (callback_mode == MODE_MONOPOLY) monopoly_create_dlg(); } Resource monopoly_type(void) { return monop_type; } void monopoly_create_dlg(void) { GtkWidget *dlg_vbox; GtkWidget *vbox; GtkWidget *lbl; GSList *monop_grp = NULL; if (monop_dlg != NULL) { gtk_window_present(GTK_WINDOW(monop_dlg)); return; }; /* Dialog caption */ monop_dlg = gtk_dialog_new_with_buttons(_("Monopoly"), GTK_WINDOW(app_window), GTK_DIALOG_DESTROY_WITH_PARENT, /* Button text */ _("_OK"), GTK_RESPONSE_OK, NULL); g_signal_connect(G_OBJECT(monop_dlg), "destroy", G_CALLBACK(gtk_widget_destroyed), &monop_dlg); gtk_widget_realize(monop_dlg); /* Disable close */ gdk_window_set_functions(gtk_widget_get_window(monop_dlg), GDK_FUNC_ALL | GDK_FUNC_CLOSE); dlg_vbox = gtk_dialog_get_content_area(GTK_DIALOG(monop_dlg)); gtk_widget_show(dlg_vbox); vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); gtk_widget_show(vbox); gtk_box_pack_start(GTK_BOX(dlg_vbox), vbox, FALSE, TRUE, 0); gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); /* Label */ lbl = gtk_label_new(_("Select the resource you wish to " "monopolize.")); gtk_widget_show(lbl); gtk_box_pack_start(GTK_BOX(vbox), lbl, TRUE, TRUE, 0); gtk_misc_set_alignment(GTK_MISC(lbl), 0, 0.5); monop_grp = add_resource_btn(vbox, monop_grp, BRICK_RESOURCE); monop_grp = add_resource_btn(vbox, monop_grp, GRAIN_RESOURCE); monop_grp = add_resource_btn(vbox, monop_grp, ORE_RESOURCE); monop_grp = add_resource_btn(vbox, monop_grp, WOOL_RESOURCE); add_resource_btn(vbox, monop_grp, LUMBER_RESOURCE); frontend_gui_register(gui_get_dialog_button (GTK_DIALOG(monop_dlg), 0), GUI_MONOPOLY, "clicked"); gtk_dialog_set_default_response(GTK_DIALOG(monop_dlg), GTK_RESPONSE_OK); /* This _must_ be after frontend_gui_register, otherwise the * regeneration of the button happens before the destruction, which * results in an incorrectly sensitive OK button. */ g_signal_connect(gui_get_dialog_button(GTK_DIALOG(monop_dlg), 0), "destroy", G_CALLBACK(monopoly_destroyed), NULL); gtk_widget_show(monop_dlg); frontend_gui_update(); } void monopoly_destroy_dlg(void) { if (monop_dlg == NULL) return; gtk_widget_destroy(monop_dlg); monop_dlg = NULL; } pioneers-15.5/client/gtk/name.c0000644000175000017500000002366213252223516013352 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003,2006 Bas Wijnen * Copyright (C) 2010 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include #include "frontend.h" #include "player-icon.h" #include "config-gnome.h" #include "client.h" #include "common_gtk.h" typedef struct { GtkWidget *dlg; GtkWidget *name_entry; GtkWidget *check_btn; GtkWidget *image; GtkWidget *style_hbox; GtkWidget *color_btn1; GtkWidget *color_btn2; GtkWidget *variant_btn; gchar *original_name; gchar *original_style; gchar *current_style; gulong name_change_cb_id; } DialogData; static DialogData name_dialog; static void update_icon(DialogData * data); static void name_change_name_cb(NotifyingString * name) { gchar *nm = notifying_string_get(name); gtk_entry_set_text(GTK_ENTRY(name_dialog.name_entry), nm); g_free(nm); } static void change_name_cb(G_GNUC_UNUSED GtkDialog * dlg, int response_id, gpointer user_data) { DialogData *dialog = user_data; g_signal_handler_disconnect(requested_name, dialog->name_change_cb_id); if (response_id == GTK_RESPONSE_OK) { const gchar *new_name = gtk_entry_get_text(GTK_ENTRY(dialog->name_entry)); const gchar *new_style = dialog->current_style; if (0 != strcmp(new_name, dialog->original_name)) { notifying_string_set(requested_name, new_name); } if (0 != strcmp(new_style, dialog->original_style)) { notifying_string_set(requested_style, new_style); } } g_free(dialog->original_name); g_free(dialog->original_style); g_free(dialog->current_style); gtk_widget_destroy(GTK_WIDGET(dialog->dlg)); } static void realize_player_icon_cb(G_GNUC_UNUSED GtkWidget * widget, gpointer user_data) { DialogData *dialog = user_data; update_icon(dialog); } static void change_style_cb(G_GNUC_UNUSED GtkWidget * widget, gpointer user_data) { DialogData *dialog = user_data; g_free(dialog->current_style); if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(dialog->check_btn))) { GdkColor c1; GdkColor c2; guint variant; gtk_color_button_get_color(GTK_COLOR_BUTTON (dialog->color_btn1), &c1); gtk_color_button_get_color(GTK_COLOR_BUTTON (dialog->color_btn2), &c2); variant = gtk_range_get_value(GTK_RANGE(dialog->variant_btn)) - 1; dialog->current_style = playericon_create_human_style(&c1, variant, &c2); } else { dialog->current_style = g_strdup(default_player_style); } update_icon(dialog); } static void activate_style_cb(GtkWidget * widget, gpointer user_data) { DialogData *dialog = user_data; gtk_widget_set_sensitive(dialog->style_hbox, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(dialog->check_btn))); change_style_cb(widget, user_data); } void name_create_dlg(void) { GtkWidget *dlg_vbox; GtkWidget *hbox; GtkWidget *lbl; GdkColor face_color, variant_color; guint variant; gboolean parse_ok; gint width; gint height; if (name_dialog.dlg != NULL) { gtk_window_present(GTK_WINDOW(name_dialog.dlg)); return; }; name_dialog.dlg = gtk_dialog_new_with_buttons( /* Dialog caption */ _("" "Change Player Name"), GTK_WINDOW (app_window), GTK_DIALOG_DESTROY_WITH_PARENT, /* Button text */ _("_Cancel"), GTK_RESPONSE_CANCEL, /* Button text */ _("_OK"), GTK_RESPONSE_OK, NULL); gtk_dialog_set_default_response(GTK_DIALOG(name_dialog.dlg), GTK_RESPONSE_OK); g_signal_connect(G_OBJECT(name_dialog.dlg), "destroy", G_CALLBACK(gtk_widget_destroyed), &name_dialog.dlg); gtk_widget_realize(name_dialog.dlg); gdk_window_set_functions(gtk_widget_get_window(name_dialog.dlg), GDK_FUNC_MOVE | GDK_FUNC_CLOSE); dlg_vbox = gtk_dialog_get_content_area(GTK_DIALOG(name_dialog.dlg)); gtk_widget_show(dlg_vbox); hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5); gtk_widget_show(hbox); gtk_box_pack_start(GTK_BOX(dlg_vbox), hbox, FALSE, TRUE, 0); gtk_container_set_border_width(GTK_CONTAINER(hbox), 5); /* Label */ lbl = gtk_label_new(_("Player name:")); gtk_widget_show(lbl); gtk_box_pack_start(GTK_BOX(hbox), lbl, FALSE, TRUE, 0); gtk_misc_set_alignment(GTK_MISC(lbl), 1, 0.5); name_dialog.name_entry = gtk_entry_new(); gtk_entry_set_max_length(GTK_ENTRY(name_dialog.name_entry), MAX_NAME_LENGTH); gtk_widget_show(name_dialog.name_entry); gtk_box_pack_start(GTK_BOX(hbox), name_dialog.name_entry, TRUE, TRUE, 0); gtk_entry_set_width_chars(GTK_ENTRY(name_dialog.name_entry), MAX_NAME_LENGTH); name_dialog.original_name = notifying_string_get(requested_name); gtk_entry_set_text(GTK_ENTRY(name_dialog.name_entry), name_dialog.original_name); gtk_entry_set_activates_default(GTK_ENTRY(name_dialog.name_entry), TRUE); name_dialog.name_change_cb_id = g_signal_connect(requested_name, "changed", G_CALLBACK(name_change_name_cb), NULL); name_dialog.original_style = notifying_string_get(requested_style); name_dialog.current_style = notifying_string_get(requested_style); parse_ok = playericon_parse_human_style(name_dialog.current_style, &face_color, &variant, &variant_color); hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5); gtk_widget_show(hbox); gtk_box_pack_start(GTK_BOX(dlg_vbox), hbox, FALSE, TRUE, 0); gtk_container_set_border_width(GTK_CONTAINER(hbox), 5); name_dialog.style_hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 5); gtk_widget_set_sensitive(name_dialog.style_hbox, FALSE); name_dialog.check_btn = gtk_check_button_new(); gtk_widget_show(name_dialog.check_btn); gtk_box_pack_start(GTK_BOX(hbox), name_dialog.check_btn, FALSE, TRUE, 0); g_signal_connect(name_dialog.check_btn, "toggled", G_CALLBACK(activate_style_cb), &name_dialog); name_dialog.image = gtk_image_new(); gtk_icon_size_lookup(GTK_ICON_SIZE_DIALOG, &width, &height); gtk_widget_set_size_request(name_dialog.image, width, height); gtk_widget_show(name_dialog.image); gtk_box_pack_start(GTK_BOX(hbox), name_dialog.image, FALSE, TRUE, 0); g_signal_connect(G_OBJECT(name_dialog.image), "realize", G_CALLBACK(realize_player_icon_cb), &name_dialog); gtk_widget_show(name_dialog.style_hbox); gtk_box_pack_start(GTK_BOX(hbox), name_dialog.style_hbox, TRUE, TRUE, 0); gtk_container_set_border_width(GTK_CONTAINER (name_dialog.style_hbox), 5); /* Label: set player icon preferences */ lbl = gtk_label_new(_("Face:")); gtk_widget_show(lbl); gtk_box_pack_start(GTK_BOX(name_dialog.style_hbox), lbl, FALSE, TRUE, 0); gtk_misc_set_alignment(GTK_MISC(lbl), 1, 0.5); name_dialog.color_btn1 = gtk_color_button_new(); gtk_color_button_set_color(GTK_COLOR_BUTTON (name_dialog.color_btn1), &face_color); gtk_widget_show(name_dialog.color_btn1); gtk_box_pack_start(GTK_BOX(name_dialog.style_hbox), name_dialog.color_btn1, FALSE, TRUE, 0); g_signal_connect(name_dialog.color_btn1, "color-set", G_CALLBACK(change_style_cb), &name_dialog); /* Label: set player icon preferences */ lbl = gtk_label_new(_("Variant:")); gtk_widget_show(lbl); gtk_box_pack_start(GTK_BOX(name_dialog.style_hbox), lbl, FALSE, TRUE, 0); gtk_misc_set_alignment(GTK_MISC(lbl), 1, 0.5); name_dialog.color_btn2 = gtk_color_button_new(); gtk_color_button_set_color(GTK_COLOR_BUTTON (name_dialog.color_btn2), &variant_color); gtk_widget_show(name_dialog.color_btn2); gtk_box_pack_start(GTK_BOX(name_dialog.style_hbox), name_dialog.color_btn2, FALSE, TRUE, 0); g_signal_connect(name_dialog.color_btn2, "color-set", G_CALLBACK(change_style_cb), &name_dialog); name_dialog.variant_btn = gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL, 1.0, playericon_human_style_count(), 1.0); gtk_widget_set_size_request(name_dialog.variant_btn, width, -1); gtk_scale_set_digits(GTK_SCALE(name_dialog.variant_btn), 0); gtk_scale_set_value_pos(GTK_SCALE(name_dialog.variant_btn), GTK_POS_LEFT); gtk_range_set_value(GTK_RANGE(name_dialog.variant_btn), variant + 1); gtk_widget_show(name_dialog.variant_btn); gtk_box_pack_start(GTK_BOX(name_dialog.style_hbox), name_dialog.variant_btn, TRUE, TRUE, 0); g_signal_connect(name_dialog.variant_btn, "value-changed", G_CALLBACK(change_style_cb), &name_dialog); /* destroy dialog when OK or Cancel button gets clicked */ g_signal_connect(name_dialog.dlg, "response", G_CALLBACK(change_name_cb), &name_dialog); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (name_dialog.check_btn), parse_ok); gtk_widget_show(name_dialog.dlg); gtk_widget_grab_focus(name_dialog.name_entry); } void update_icon(DialogData * data) { GdkPixbuf *pixbuf; cairo_surface_t *surface; GtkAllocation allocation; if (!gtk_widget_get_realized(data->image)) { return; } gtk_widget_get_allocation(data->image, &allocation); surface = playericon_create_icon(data->current_style, player_or_spectator_color (my_player_num()), FALSE, TRUE, allocation.width, allocation.height); pixbuf = gdk_pixbuf_get_from_surface(surface, 0, 0, allocation.width, allocation.height); cairo_surface_destroy(surface); gtk_image_set_from_pixbuf(GTK_IMAGE(data->image), pixbuf); g_object_unref(pixbuf); } pioneers-15.5/client/gtk/data/0000755000175000017500000000000013252243610013243 500000000000000pioneers-15.5/client/gtk/data/style-human-6.png0000644000175000017500000000041210650446620016304 00000000000000‰PNG  IHDR@@ªiqÞbKGDùC» pHYs  šœtIME×*ÄD—IDATxÚí×Ñ ƒ0 ÐFöÿ¿œ½ŽÉè:H5ìœ×"ÍmRÅ1à¯Åæýr²wî®-ö†?å‹…õÖðîr¶Þú>„{-a¶^Wg\~©Ì’Z_Ûw¿v L@î×M èÓýš)8Ö‚µ’“grÏ9M§ ¿Íöøaç¼èGj¥ë±ãpÇ+ÆhIíUÌŸIEND®B`‚pioneers-15.5/client/gtk/data/city.svg0000644000175000017500000000357411652323243014670 00000000000000 image/svg+xml pioneers-15.5/client/gtk/data/wool.png0000644000175000017500000000040010434245071014645 00000000000000‰PNG  IHDRóÿabKGDÿÿÿ ½§“ pHYs  šœtIMEÖ(¦°oÛIDAT8ËÅSA À kǾçQÿäW<ö ~aÿÉÎND©Æ R,M !ý]<™cuw4„ˆèÅ9W™­GŒY‰&êT6¬êIÎ ^⥔–Í„÷¸ré ”WÖc™CLpõÇ4±]œõtt™àÝ$Kq-!âÚ-nR×§o[!>ÿ7‚€Ü¥JZ:ˆIEND®B`‚pioneers-15.5/client/gtk/data/style-human-1.png0000644000175000017500000000041410650446620016301 00000000000000‰PNG  IHDR@@ªiqÞbKGDùC» pHYs  šœtIME×(%Z ™IDATxÚí×Ñ ƒ ÐnìÿÙ= b°A¤–zΣPy¯bµm Ë Ï,OšWú?•?3p"xÿ"Ò>|©5ÍŒV@¥ðmKÈáÛ•q·)a÷0Ôê×ßû|k0TŸ•Ìjä{ç0ÖÕ릭ßc)×~#QÀ¥CêÏu©~È.ÿT€hõÿ?ìý€I¼Ý=-ÏF'&IEND®B`‚pioneers-15.5/client/gtk/data/style-ai.svg0000644000175000017500000012527112422471006015443 00000000000000 image/svg+xmlRoland ClobusIcon for the computer player in Pioneers.The computer is taken from the image 'computer.svg' from the GNOME icon theme 'Gorilla' (https://download.gnome.org/teams/art.gnome.org/themes/icon/ICON-Gorilla.tar.bz2) which is created by Jakub Steiner and relicensed to CC-BY-SA 4.0. pioneers-15.5/client/gtk/data/pioneers.48x48_apps.png0000644000175000017500000000457313252243610017347 00000000000000‰PNG  IHDR00Wù‡bKGDÿÿÿ ½§“ 0IDAThµ™{PVuÇ?ç¼ç¼ç}áåyIP¥VÍS#•(ÑÂÊšé2«5 ‹­&¦¹ÙÖd;kSj³Ž™ea6ScE뤚¦&Úq½š¢Æµ ˜r^ཟßþ‘"¼:}ÿûÝžËù=Ïï¹øý0Aƒ“œ&üŽ| G ¶XÁ>ôÙ ‡A›>úÍÌd -³‹dØ:Rë®) T/$×Â2Xu8x`*AÈ6CÁ@ˆÌ†°˜^6µ{ ý,8=°x¿…ñoU`¤ Â`ô,ˆH òP P--Pá„\ ¬¯ôUX ^0'´4å à8ˆÏÀ©Ã7,~UP}@Q`‰ ÛÆÂM€5¤¾| Hi¨.Hþ¹Ã?¼:ôPè„‚$3”ç%.ăP€Ó ©@U°ç”P™Á–@û€$áÿºã:i»C”'dÁ ìTŽ{¼ÄFÚ°jfê.«˜˜åö0È`~¡úž_àc«Fxj2G·½NýÑ©.ù‹ÿÙÂü¼)4«œ7’!+pJ–I1”…kërÁÂðø Äx<ü=W>EqD¸‘,Uà¿1‘¼µò)“ e†ÌIPY ÀÃwO#¦?.ÈÓP|𙔤ƒ©i°d%¼_¿ÌYSÓ¨7§±> _–lÛ ®—Ÿ‚O¿èšv:݆25T‹ËEé·§;ÇÀ²Wà`êx„í+åZyúŒŽhjáOKWQºm=Ñ3§ÀÌ)W¬¿¸þ}´K-鯆Þ@2y¡1wåñÁöý45·âöx9v²‚®`MÁGd´¶ÉÒø@6Ãåæë ä.{‡××5ŸbVyÌí!Ò`~†+ éBp‹×G-‘¹åöÍ -UY^$©r¦îÒà G×Dâ| |oÆŒ„¯ 2# VéV³iïȑޖ¨}Vkz¬OÈ×I 7ül4ã«C" ‰vÆá åË~(aQ^ÕT9=?k˜mZj?¼ºàÓokõ {£¼Â÷ O7E…(x+ð‘ _µŒ‰‰nCê2èJ`;m88“\ núÅÑÏ…*>»‚Ìt`4Rȵ`°V¨ÃE.~ ´iÊZ“,e-˜ž–5*AêS‘Û Ogë‘sú;û«ä8Ÿî:íÜG:&Ô¾Óà,°v<ÂEŽnQŽÎ“0úñÛ‡*šb\`¾hw±|Ë)q²¥r `às¼縬Ȓ:md¿€Â{uÁÉšfJ+¨ºØG|„FÚÐX‰˜ …¿TÐÑ4 TàdÔ "ñβ:Þ*þ‘F»³knxÿh–ÎÊÈ>øÊ¨m§Š«ö×HmŽTpgxaLàãm¦ðP jX±$—º’B¼§wqf÷&îžžÁ“›¿£ü\Kß…¯u³Â‚³8³{ÞÓ»¨+)dÍâyD[Q޳~oà\“ƒ­Ç.pxëz† º®k>%i ÿüÛ<&ß|#Ë^zM¹£‘Cõ|"w…ñÞš§¹'s"[÷”ðò›…!X÷ü|²ÒÇ3î¡'¸”Ò ½5[ p{O5òâ’œ.á›ídå<×µ>ûÎÉŒ¹!…絛Š/ñ?Hu#÷dNàߟ—ðöK‹™so&Eû1ôúëXõdá§ügR~¨¬ww1X½ñ_ÄÅ\ióÜ•AåEg÷£¡]T™›uG×xþ#ÙÌ{þU¶í-¡¾©ãƒÜ—9™ˆ†°¾+ ¨J‡•mþdÙ·` ³^±GUô>4ÈedTõWo¸dgýòLMÅàE§YU¾H~mæóƒßPZvš-»¾âà7åí+íÚóÙRÅN7ºÃãbÛ%]ã˜H\ºŠOö•2sJG ½§äí1þoׯgŒˆæé•o2mÂh^á _¾ŽY·w˜Õ¡²Óìþò0çñÞuG"|RPÊágI•¤±©L»¼k¹±ÙNþª ´dû/AýÞÀ°7_oeÂý Øóõ1t]ðæ?òiw¸ØðÁî|lóoLO™j@(`Ïp0õÑ¥¼Uø)íº.ØýÕQnºÿ/4%Ú!! ÿX™Ä;~âî¼ç±jfb¢lÔ]h$"ÌÌ3ÙØ<¼ï%!pènò_yƒ…+^'>>šææ6œ.7âVЧ.Ê* K¹Ó™=¾?G*in÷Ð?&qCb°¨ü#L÷0/üµM  k„ ^~®EüaP”ß,4Öffú¨÷y\^ŠóvVÀƒì7 UA“îhƒ× è&—W?qªºeòò‹–"´¸-J=ÐP\~¥›;jš_xœz%‡I •ø>ÔÝQ |H+g¨ÂIÞ/ä$ÌUTyí­)ñZþôdk¬-ô§±â|+«‹Î´V7:jÛ\Þ\à«Î¥ñhl"Š$fa ªëŽ^*³îß#Ü¢ÈÏ ‰ÅM¤>z[¢Ì Óìð°i•sgY×ãc¹®ëW”}€¹¨¬%,¬AÙùÕµñ2:~9wí C#,ÊkfUN_tY7¢;¼º`ë‘ßÛÅUn!x×éñõXxwC8fžE°˜I¨¤£ôú”TE´áäNr€ÓÝ·²ÈŒ0Í´qH¼­ß_³SlCúýÚ–=ZÙÄêígÚìNï‰V§·G⌅u¨¤“….[©vÐFM¸˜ì ‘öPTYÎ×T¹ùÞqÚ7䌣G·†k¦;w QÅõØÉA0'*vTapë36L3m4+r³*ËùWÉG¡@l°ÿ.8–ÌÉ”…IEND®B`‚pioneers-15.5/client/gtk/data/style-human-4.png0000644000175000017500000000034610650446620016310 00000000000000‰PNG  IHDR@@ªiqÞbKGDùC» pHYs  šœtIME×):Žf¾sIDATxÚí×Ñ € @êþ;ãÆ“V¬Þ-@ߣ0ÀÅâóçêYbmèÓüñÅæ1ôåXñ…n¾ˆ¨?³ÆŒn$…¯-!z„¯+aóhsû5[`zÝ~þØ€¤w¼¿ /²®kBŠûqIEND®B`‚pioneers-15.5/client/gtk/data/ship.svg0000644000175000017500000000413611652323243014656 00000000000000 image/svg+xml pioneers-15.5/client/gtk/data/lumber.png0000644000175000017500000000041210434245071015156 00000000000000‰PNG  IHDRóÿabKGD%Ññ!Iù pHYs  šœtIMEÖ!eÏÚ—IDAT8ËcdÀþ£ñÑÄ1ÈšU/Ê£ÜÖÈ€,v[ÿ!\/#º­èšq˜!,¸l%0Q¢fEÀmÇðÒ¸ÀÕ‹òp|{Fà˜ÃÿÛ3árÐÀþO´!X4c$¬ èöŒ@¸ jÆzœé† ‹Œ8¼ÉHŸX `Í ÈþG F‚ˆM3>C‰ÈÊxÕóàNß½rn-IEND®B`‚pioneers-15.5/client/gtk/data/pioneers.ico0000644000175000017500000012666112122040702015507 00000000000000  #K¦00hÉK è1R(U00¨AV ¨édh‘m00 ¨%ùr  ¨¡˜ hI©‰PNG  IHDR\r¨f IDATxœì½wx\çyàû;S€Aï @+€½‰U¬j”Õ-±È-v¬xçzor“M²7Y'NÙ$›MbY¶W¶Õ¨f‰ê¬bï A‚@‚è½O;ûÇ‹…ƒvfp~σ‡åÌœ9˜s¾÷{ûkDg¼< ¬š€ê±½ÑÀ¬^pø17†×¥££3ÂÌ~ N@uûé>ž,ct}:::#@ ðGÀÀNï…ß÷§x x0ŒÅÅêèè àÀÇ@;n ]5Ô õNàðÿSÇäÊuFe¬/@gDP€eÀVày Òý` dÁÀu YñöÞç±§7ß#ÚŽ¡ ßc*ð"° HÅí³€,`½õû6 ÈJûŸ³ø{ëH\¸Îè£ ß!qàm–&×#"²ºþ4 ônD÷¯rAPÛÿ%ÕÀ{À;ˆ?A¦k×#tàý˜‘Xþvà $¾ßM¢îÏî{à8ÛˆYpÙþÝP«À[À»ÀMO/\gìÑ€w³Ø‚¨ü1¸ÝÏHzìüH<»Ñ6d¥çEH€vàb|4zð:cŒ.¼“IôØù3q»zìü$†'Ž×Š˜¹@ÙÀ‡?A4‚¯éçGÔÑ2ºð.B‘°Þv`%¢þ²ÐS‘…? ðæVÄ,ÈCRû.GL‚·KÃüñ:#„.¼’¾» x ‰Þu“€,üÙ}Œ 1 €ÎÞ‡]‡ÞFœ…( :ZBÚ'Yø/‰¸Ý³0dÑgÑÇ0 tWÕ~YùnØsà-àSÄLÐÑ ºÐ. È¢ßÌÁÍœ÷C ÿL  ó*ÐŒør€Êþ/i>B4‚Ãô“:c.´G ð$’Å·7;_&# &à?W7*PAOþ@KÿÃ%À$àòè^νЀv0+…ÿ,î~0Yøˆê¯EÀ D\Aì7œÀ9D¼TîÕé „.´Á DÕ Ùä»ïK0bçg"6Öo˜Šø.#‚ „~é‚ÀnÄ,ø’~yF:£‰ÖŸ'_'xÙõâfç›éÈÂOeìì|OQ‘Pa.: ­¸øqžDO+t06X€Gïþ#¸™ó Œ,üY@ÀX\Ý0¢"±À$ ­ÿákôø®îÕéè`tQ€%ÈÂѺ‰¢ÇÎÀ·nŽ{–;ˆ6 —"¾ôŒi)ôØùÓqûîtdñOÄ·oŠ«ì8)8à𗈠؃^v<âøò³¦‘Ý~Òf«Ûœ7iÜ¿L××P€+ ¾ÿK*€ApÝ?0bè`ä0¼ýÇéS›ˆd÷ÌBuŒGT¤ùH¢tô?œøv0`Ÿ¡¢ €áGæ" ÿy$z×M8=v~4ú É(D*ˆn0`ÙñaDøI>Ô&ôçox™HŸÛ÷ëìö™H-¯Þn·7*’Aèò”÷?Ü |†ôÐËŽ‡ ] ÁH•Þ6¤j¯Ûœ7 Þ¿,Äó7Üeº¾†Š¤ºÂ†ý—ï#‚ Ý?0$t04\eº/›AÐýÆÓ»LWÿ²'Re˜¤[û¾„˜ï!NCПIÏPu½ ø&}¢w!ô´ãŠCÿ’‡‚—ègä† ØhŸÑ/ÏHç~èÏæà‰EývÄÙ×+}w²ëOÆûÒwµŠŠL/ÍC4‚ªŒ‚£ôó#êÜ ]<8ˆš¿X‡›9o@{s •2]_ÃÕwÌÕ–¬µÿáb$lø6ÒÏTç>èàþ‘žíHßý0ܾ7÷2ÝPô/t4p ]г‘Unïø,¢ |À€uH:.ôçõÞLE*õ¶Ò§L7I߃8ûô°Þèâ*;.@ü¥ Xv¼_Ò/ÏHtp7¢$žmÀ"ú¤ïNCìüTÆOú®Vq•çtýÔö?\GOÙñ)ô¶d½Ð@oüé]¦kqP>ûYHBýËÓN$Aàwft ñ ¼ƒ$ê ?Ã.\eº[Qô™²“Ùõãkeº¾†ÞeÇ}¤ìØ5í¸Ïxƒñ‡þ,‹mÿ²ëO£Ï”tdןˆnç{ *=eÇ9ܵìØ5íxãØ,ï ø$®ß+}w*²ãOí-¯ŽWášfäêV<À4£2à{ˆ³p\2Þ}X&$E¿û{HD~:âéïÒ›Q–KkzŒlzM3RNäØ\6ï ‰È|m=}×·0 v^"R‚}½”Ð…nÖºHOá‡wý¡ïAÿ.ttÆ1ºÐÑÇè@Gg£ qŒ.ttÆ1ºÐÑÇèyã‰w ¹°Hr¼Š„>ÍHús 23¢‡D}]ø8v$¶é¦SÓõï6¤ßž{¼ÁHŽt’*dEêê¢ï¡ ÄU séœSŠ´×ve¿“ɈÑhÄÏhEAUUìv­ v·‘¶[~H:m 2Æl"zm„/¡ £é¢[” å±F£¨ðP¦¥$2mòD¦NJdb|4ÑaZPp8œ4µ´QYSOiyWoܦ°¸Œ·Ê)ki뮵ŸŠôC˜‚þðøú=ôôŒ×*BvûèˆP–ÍKgí’9,ÌœÆÔ”DBƒƒ0›Œ(ÊÝ­{UUéè´RרLΕ›œ¸x™ƒ§³¹K\Cz¢»Ú¡é~ïE>@p¸€Œ×šÉSëâÉuËX”9ÐàÀ{.ø¾(ŠB€ÅŸD‹?‰qÑl\¹€V×qàä%>Þ{Œ½ÇÎsº½“R`Ò/A¼ý¾y1®‚ö“H¬‹?Û6-gÛ“ëXµ0?¿á±Ö ŠÂ„Ø(¶l~˜GW-äÓ¯Oñæ'û9r&‡}ªJÒNi¼N9öfÆûìŠ@¤ X"H%`:Þñ¥¨ˆªi}•5c ùÊKüé÷žgVÚ$ŒÆáÿ-\šÁœ™Sxh~:þþä•RØi¥‰Xîw’1¦–]­ÂœÀNÄß9.ñ†g}$ñJ "}ï!í®žZ¿Œ¿ùãí<½á!,þ#?~TQ¢ÂCYµ(“„ØHŠJ+È®m ñ hYè 7º à…”G€rƒÂwŸÙÈŸþÁóLMIõë0›M¼üÔz&ÄFñ³×Þåð™\ŒÀÃèæ€·  /£ik[¦(|ÿ…GùËW^"1.zÌ®GQÖ?4‹¿ýoqèT6À*ô‡ËÐï‘aCf^]^þÆ:þâ‡/Žéâw¡( +Ìæ/ø­mœÍ¹J$&ÔC„ÚFÏîôT¤³íE`Ãòùüé<ÇÄø˜1¾ªEaÍ’,~òí§‰Iˆá ’z¬£mtà%Ô qþĤ~¼ýIf¥MëKꇢ(<ûÈJ~øâãT\Bo¾©utÀ P‘!óìFY¹ph't8 ²nWBMØì`øhHЇðPDâ;Fƒï>·‰óùרµçiHú°n h]x•HœjÍÒ9ljƒ‡Š›ªÂõRøü>eUÐÖN'˜ŒÓ&Áºeðøˆ óècb£Âùγ9u©€¼ÊZR¢"í¡ ãšjÙ`aËk<·ûUœ‚ß|çòäßîXP×§à|>ä\…ï?Ó&{ôqk—Îå©õñúÛŸq )Òµí¡û4N3âõ_¾p6­Yâù‰ÎåÁÏß³¹²ø HM‚• aÃC°d$t ›>;¯¾ Uµ÷>ï]ð÷3óÜ#+‰Šæ:"Èt´‡®hW®ÑÈc«âÙ‰Ú:àÃÝwMþho= O®•Eo2B§®Ü„÷¿‚OöËëvÙSá»ÏzäX˜1Õ‹³Ø÷é×4"“•u´…®hœ[@Rrë–ÍTE_/ŠJàÄEù»<ÿ(üá7aòD°øƒÉA0?~´–Α×:U8ršZ<úX‹¿—ϧÍßrt-@‹è@ô!`qÖ &OŒóüDÅePß( µKdáDR¬XÆ®G£ø6ÔÔ{ô±Š¢°tî,&&Æé9E¦ h2X˜1 ?óJ{[ÚÄ®Qÿ£ï£Œ'ĈÄ4°Ú<þèĸ(2gLáÝSyu4„.4Š Ô–Ð æÌLõ\ý ï™»Ü=ÐÐ|ï××6ˆúàïCè+àg63{Z @»ÇgÑ)t a€Èˆ0’b‡v¢)IÙuÒfɰß%G¯¦Ž_d!€©)÷×îÁ 035,þ´z|‘B¦ˆŽ ',$ph'š–­ƒ"!À÷¾‚ß~ åÕ`wÈÿuZáÊ xu:#ï ‚M+ 4xHŸ³Ij„Ð`Pº›­§–`´ut’[XLàÑtF]h˜` 8—[Hk»‡™ô!nuÖ/í­iµËî÷÷Ïê®ß¡àz Ð=ÎZDƘ\Ì¿FΕ›ž$y„t¥ò66÷tºV8—+iÂb!bðýUUåÀ©KÔTÖˆîÔ"ºÐ0 ÔWÕñÕá³8< ¦&Cæ4ù»Ã! Aï%œNøìëžz€àA7¢ú¦ö¿@ŒSeˆåL:#„.4N<"v9CQéÁŸ $]ÕSÐs¹Hê>?õMbßÛí²ë—Ü‘d¡ÿ|Grf¦Â#+$L8TUeï±óœ¼x™© G4Šn–i`:°ëÊ >Üu”?ÿÁ ƒk ®(ðÈJ()ƒÿóû.õ>O*ÿfLÄ8±ñ›áÆ-ùqÅüã¢`ÛfHŸ:èë®ojáý/cjm×;k]hH&:UÞýâ ë–ÍaqÖÌÁÄß¾÷<˜Íðî2¤¥MÁ¹»LÆž• /?%C™¬ª*|u„=GÏ1B33F^@|u­„×?ÜCzZ ÁAƒ ªÀ^€Œi°ë(œ¾UuâP‘Eîg†äxXµ6®€ô4j²¯Üàwí!¤ÓJ:º©età(ÀLàðÎgȘ–Âm{Ã`§Ñ()À‹2áv…Øüuâ°HÉð¤ âõ÷púPCs+¯¾ó9gs®²Hðè,:£….¼„`PÞÑÉ¿¿õ)bøÆºežõ ð÷“èÀ”¤þdžPõg·;øùÛŸò»û˜d¢ÛþZG×μˆÉÀ ¸äÿø«8t:{h'T”þ?âp:ùõ_ño¿ÛI„ÍÎ"ÄtÑÑ6ºàE(À|¤]ø©ì+üÿ|PX½8sxºyˆÝáàõwó³×Þ£½¾‰µ@ʘ]Î`\p×÷¶‰Q@:ÚþRŒ@,Ò/ðTY%×JʈŠeZJ☶ŽN~þögüÝ«;¨«®c9°íª–uÀe +ÇÑ ìD†/K´ü¬^'@rbà|y5çó¯c0(¤§MÚ‘A ª*7oUð³_¼Ëÿ|ý÷´7·²Xж¿?]ôFË÷j4ðJâœØü†fžÎ¡¼ªŽø˜b"GTèè´òɾüôÕ¼ûÅ!ìvV‹Ñþw§ €Þè>/& X‹T žéèä×ìâtö^zb Ï=²’”ĸÁe Þ«ÍÎÙÜ«ìøìïu„Ú†&% Çû½]x9`R6|Ƚz“¿¸^ÂG{ޱyíR6­\À¬Ôd,ÿÁç Þý†¦ÎåòÅÁÓ|~ð4%e•˜¹ˆSR¯ôó^tà€YˆI ä:œœÍ-ä|þ5~ùÞ—,ΚÁòù³Y”5ä„XÂB‚°øõ*ÒÁ·¥­ƒº†& o–qêRGÎæréJ M­pd&²ëqd‰Î£ ÁÕAh%0 ( *w*jø¨âŸì;Axh0 ±‘$ÆE11>†ØÈp‚- v»ƒÆæV*jê¹U^MyU-å5õ´µuàTUü€)À ¤8)}×÷tàcM QÑ‹»~ÊœNšš¨mh"¯°îJ€ªŠwdq[BžIÈ®?ñšê ßwЀb"­ 4Z TuýÙt¨*vUT`F¢ áˆO!®ëýAè>_E>Ž‚,ìÈ®Ÿ4$öå@BˆNz€y Œ]ïÓwzßGã ×È1#ºOG×ìttÆ5ºÐÑÇè@Gg£ qŒ.ttÆ1ºpÃÃé{:^Ä£UÆu$LëÕ›#I4ð"°ÉuÁŽ„Æ"عŽï ¥H­„Ûxi«P”Åu5ãQø#‹þ/€WªZ:›H¦œ+“NW‘¼ŸZà pI‹vCf#•áˆl¨Õ‹cÆ[²×"`ðs¯"OF&z¹«7¢"[{>²ëߺÿ[À à à÷@ãÈ]v/Àd·ÿ+àQºT~€°@3«fÆHec'v‡xlˆNX‚h¡èóí½PN }_”L‘¢Á€Ô=­¦Ò£z0‘Õ{ðulþ;°©oQÌF…åÓ£yyE ß\šÄÒiÑL·ÐfuPÙØÑílGž‚ äIˆdœ{4ŒŠíÀQDŸïµzC&«‘! “’Ç&D]üåïaDTÔ">ŸÄW5[3°YüOà¶ã+ÀÌÄ6fƳ&=–ˆ žŒxUU©lìd^%ûr+¹QÕÚë¤&¤>HÅ÷¥§7Ñä"ê~M߃fäÆe!uÍî7ΉØÙH³ÀŽ^ïT»þ÷-à]ÄèSøšP2ø­À7 Þý;&„[XŸdžŒ8’£ïÚ8SUU ˛ٓSÁ×yÕÔµZ{F¶ˆ¬¾ 3êt"+41×z…rd@A&2[ÍrÙ€«]'*¢¯âo#‚àc¤ºÚ'ð¥g7x qòÍÆíw ö7²jV ›2ãÉHÇhx°_Ûæpr¶¨Ž=Ù/¬¥ÓÞû©ˆE„@â#Ð=ȬÄldÝÚú¾ YøHœçAn¹ ´ =‚sHño>EÁD0x5¾ ‚§…¿7ÝhPX8%‚MYñ,›M€ŸgJ{S»C—«Ù“SAÞ­FœnÛŒ‚h•Yˆ–éïñ¯¡ó ¨HS“lDåï·»Â7YHk$Ožpׇät}HS¿£·€÷€·»^áµx³0!îœíÀ“¸m ÌÆÌ8Ö¦Çâ7ä>ùªªRV×ξ¼JöæTr»®½×q?zÌÌtÿÀHÐŒ¬¶Ä)Û âÙÏB4Ãá©u"‰ÙH“ÅÞ– Š4b~ •Ãð‰£Ž· €tdá¿$ãö{Ä„ø±®ËÎO öNU%ÿV#{r*9_EsGo-0 Ñ:³TCoý‚µ„¸‚¬Ã `çOD¾ðYˆ0Üt"vÆ%D ô¶mÀ~àMà3 m®`Äð¶ç3IßÝŠtº¯ßb6°rF ›²â™79âí|O±Úœ¼VËîìJN_¯Åæè]I04h èÜ'âØ»„€Î¾/ˆ çKŽbdŸf1òITÕïõÈ”¡7‘Ç^Ͱá- IßÝŠ„÷ºSõ…¹“ÂÙ”ÏòÑúGmH¦ªª4´Ú8x¹ŠÝÙ\)oFu“DÍBZiëõ†Šß]v~¿D ²ÛgIŒn¾¶Š8³aÐÚïh2| ¸6ŠWæZFà!ÄÁ÷ ’ØÓ}Í“cÙ˜ÏÚٱąYÆlD¶ªªW·²/Wü•M½÷ª±|^½VzœðýªsŒHWÓ,$WÏÄØ=Ád©»Â½-A'p q¾†ë ´,Ò…ÿ²‘v_kx ™µ³c٘ό !c¶ðûâpªd—4°'§‚ÃÕ´vöÖ#m5ÑXuz°!é»9ȶÙËÌV€dá§#6•n¹JïD„RÜ®£»mà+°bÆ-|}‰žGÔý%¸m˜þ&˦E±)+ž…©‘˜ÚÛKUU¥ÓæäXa {²+8w£»³· ³Ñë Tà6²~ò‘Ôë^„ÒcçÇ¢Í'VE<®Tĺ~Gk€Ap ÕhéëôAvýG»þ­˜Ʀ¬xVÍŒ!ÄbÒÌ®7TU¥¶ÙÊþüJödWPTÙÚË{m¤'j•Æø«/p­W¨½¶ï üè±›&áv“±[–f*âË|1 JFùêD «È,@ÂzÏÓ'z–aacf<ë3ãHŒÐüÂªU¶°'§‚}¹UÔ¶ô&"Zí<Ï[ñ&\z±{™n/ýÈ5}Ô•YeÆû¾;bÇdwýéèwô¢ |Ä—õW›lAÔýé¸]OˆÅÄÃé±lÌŒ#}b†ë4v‡“ 7ëÙSÁÑ+5tØzkш¦›Éƒg®z÷ö›Ñ;·:ïþT$#À%éîÐ×?Ð†ä ¼…äôËf Æê+C¼úÛ/·l6*,N‹dSV˜ q¬Ëˆ#:ÄWÜ\ǪªÜ©ïè \v<±§´wß̲ L׈¤íºô‚ˆþ8;ÉUõdëwôb|È0—·È@Rw· ª¯2ݵ³cٔϔØá/Óõ5N•Ë·Ù]Á¡‚jšÚ{Í\ r™Hó›±ø6]é»—ÈœEžWÊãH”éú®´âD ôŽt{Að}»zÈp=7ñÀsÀËHO¾îÉb6°|ztw™®ÓwµL‡ÍÁ‰ÂödWr¦¨®_ZñD˜Åè¥È«H›+áÍÚ÷îE‘£tQ¾‚{è$—»•ˆD Ž3İáPoM’¶»؈[èÚ @Ö¤p6fƱzf,A–ñ–ì:¼4´ZÙßÕ¨àNo Û½Hn#—VìJjw¥¼÷Ka³ÐcŸèeCÃ=y"±³z½øv Š˜Gx* À2dá?‡øs»I‰ dCF2㉠õ×ÕýaBUUJjÚØ“]Áþü**zkzülI ïÆëžÔVÆé»©ÈޝE¥7c§'}²¾é“à$b|„eÇž<#Ó;+â˜î>GD¹+}7žé !^Ÿ¾«Uì'—JØ“]ÁÑ«5ýÊŽ]r†C¿wZ;=eº³ÑN™®/ÒŽHà(  ø{À*»ƒ¹]QÀ³ˆw ny[~&K§F²13žÅiQø™tÝo4hë´sôª”_(®Çáæ…j«<×”W„ª_™n=õZ¦ëkÜ·„’*¤É[À9À?ð ·Í±ï·áV®³“B»§ì„è1žÑFU¡¦¹ƒýyUìÉ‘²cwŒôdÛ¦qÿl[IWw¥®X¦«·?[î_v\@àžeÇ÷ R¦ëš¦ë~pbd€LÙñÒ2]_ˆzX IDATCUU®W´°7·’ýy•Ô4÷ÖƒèÙ°ïVvÜNOªwsz ¸¦ìè)c{¥ë Tv|Ó7ͨ‹»­Úzâù3Ý_ç*ÓÝÇl(Óõ5ì'çnÔ±7§’£Wû—ÇСs•»OÙ¹Âeº1ô¤ßrmáj¤è*;îM ð w™fÔ÷V†!vþ`%n žÉ¨°85’ ™q<4-Ú§Êt}‘–;‡ ªØ“SIö=ÊŽc-2—¾‘&z† f"Î>}ákWŒÖe»5ö;Z†T¾Ýõ  ç–*ˆ¿ø}ZÙOOfcf<ëfǬÇx¼UU©hè`_n%{r*(­ím,šç`¿x¾>Ù{q SÈa ²cIÜ|å.0)8èÕ•'.ÌŸu³eÊÎäØ ÝÎ÷RœªÊåÛMìË•iF m÷h>“Œ,ütôŽ¥ÞŠŠø ÕîM3úà¯\Ic¸ÕèúI™î†Ì8榌ü”‘Å (ÌN cZBó'G°'§‚…µ½ÓŠ£èqD «ûÞŒ‚Dk2Ç­k bO‘ñóõÏU€Çç%ðÝÕ“ ô×Ów} ?“•3c˜†Ùx¯ó»̓>M3о/¡ NÛe@"Ò°O®à€;"<¥­£}ÂÍD‡¸ùr Œül=±CAîïû¹ž²§£3ŽÑ€ŽÎ8F::ã]èèŒct £3ŽÑ€ŽÎ8f\úªŠÍÓNs»¦v­öÑ@°ÅDh€™Aþ&ÌFEÏ€ôVTz²âÚ‘6šmH»  ¹ò¡–Jfd['·Üç€Ã©ÒØf¥¨²•ËeM\¯h¡¬¾†6V6‡³»ìÕ (˜ ~F"ýHŠ `jB³C™D°Å„AÚFEÊʸ;H›ŒFDØék@V?’4ƒÔKO@Ú)™ðiaà³ÀfwRXÑ̉ÂZ.ܬ§¸º•ÖN*`0( F,~˜0¨€ÝîÀj³QÛj¥ºÉÊ•òföçWj1‘Ì‚)‘,ÅäØ ==Zk¨È._Œô.+E„@W¼ÑhÀl2añ÷ÃÏdÂ`Pº4B;V¬vœuNÔbD(„"uiH:m0>)|N8œNòn7ñu^%ǯÖRÝÔ ŠBHP“㙕šLzÚ$Ò&M 6:œà@ ~f3ªªÒiµÑÚÖÁêZ o–qùz WŠnQr§Š Å \*i`Wv9+gİ6=–Ôø`]#Ðȼñ<¤Î* >6*œ´ä ¤OĬ´d&Mˆ#",„@‹?&£»ÃIG§•ú¦n•WQPTJ^a ×KïP^]‡=Ç!uIHqÔLÄ\ð¡[î3@UUÊêÛùêR9ûr¥c®Ùlbî¬4Ö=45K²˜=u1‘á˜MFåî¶½ªªÝ¡¢¦žK—‹8x:›¯O^äêÍÛì8^ÊÉkµlȌ㑬"õé±Á‰t̽„tƱADh0K—Îdݲy¬Z”AJb<¡! ÷?§ª*N§“æÖvJË«8v.Ÿ¯O^äØù|ªn6ˆFqžÙl>’)ïÀ©ªœ(¬eçÙ2ÎÞ¨Ãd4ñð’9<³q9®^DR|4Fãƒß1—p°ø3yb<)‰q<ñð®—Þáó§øhÏQÎå^ã×np¥¬™§%2gR¸î,M:€óÀ b"Ãx|ÍbžÙ¸œåóg8(íLQŒF#á¡Á„‡“1m2/?µžSÙìÜ{œO÷ŸäöÕéÈ[,D&µz9^/¬v'Ÿ/ãýS·©hè`ÎÌT¾õôžt%ñÑò(EÁd22cJÓRyzÃCìøü oìÜÇ¡‚rÊêÛy~ÉDÖgÄë¾Ñ é† ÌOlXÌ·žÞÀºes ° O³BEQ ´°vé\VÌŸÍ7Ö?Ä;÷ñÑž£´µJUÝRîÞ`ÑKpm‹ÉÀ‹@€,™ÅÌÄPÍïhmvÞ>VÂGKh·ÃËO­ç¯¼§Ö?Dhpàˆ\¿¢(D†…°|~:éSShëèädî ro5b2*^1AUáÜ:òowõ‰ôGTÛ {½K#Üyš”ÀŸýàþê•-dÍœ‚Ù<2û™ÑhdJRë–ÍeBL·Ë«©,hÝ¡xǘs+Ò §it°Ók5€¶N;o-áý“·ˆŽä'ßyšï?ÿ(!Á£3…Òh4²þ¡ydLOaúä‰üû[ŸòÛÃÅ8œ*Ï/™ˆÑ çX ;®ÅÖ.Ëÿóí§Ù´rÁ¨}סÁ|ÿÅǘ‘šÄÿúÝÇ|öõ©ž›“Ѿ¯v‡“÷OÞâƒS·H”ÈŸýà¶>¹Ó ìüá">:’ÿþ£­ÄD†ñ¿ú€wŽ•`1xrA¢!Nª£ÀuxzÃCüù¾ÉüÙSG]K5( «gIDho~²õÒgâ¨^ʰàu&€ªª|q¡œ7–0))‘¿ùãí¼ôÄÃcºãšŒFdL#$(—®’_ZK|˜…äè‘1C†Š×™mH‡ûšÿö‡ßdËK¾ÀYª m¼JÔ·Zùä\Mvþøå§Ø²ùaMí°F£‘¾ô¯ly‚œÒ&>;‡N[¿qš:ŠŠÄùÏÁÜiüÉ÷žcö´Éc}U½˜”Çýî3¬Z˜N¼÷ȧ¼F¨ªÊ¾\™vóòSëøÁ jÒÑfñ÷ãG[7óøÃKØ›[Éñ«5¨ª=Z¢¸aÎ þ˶ͬ\˜1ÖW4 sg¥ñã—¿Abh”~ƒ´‹×8KkÚØ—SIæŒTþ`„½ýù׊)«¬EQ–ÏOtl9)!†?|ñ1² ŠØ“SÉÜ”} Ê`Q‘9e×`ë7×òâãk†¬í5µ´QVYCu]#Vþ~fb£ÂIŒ‹"$hhÏÓæµK¹TPÄß½ö.Î|U:ñjG9½+^!TUåÈ•jŠk;øÇï®g^zÚˆ}V^a1?þ髜¼T@LdŸ¼ú×}Þúeóxé‰5üëëròz-dÅkÊ\Ñ<-@d¦Næ;ÏlÀâï¹­khâ“ý'øìÀ).].¢¾©›ÝŽÙd"2,„yéi|cýC<½þ!‚=ó♌F¶?µžC§s8šŸ'-Ö£<¾äQÃ+@EcG¯Ô°raÏ?²rÄR[{¯îøœC§³¥¸¬ÃU8>xL&#/=ñ0_:Ñ‚jVL&DŸþ`¨ÀM0ÜVxþ••Ì™™êÙiT•KEüÛ;ùà«#ttöž˜ÜŽ•¦–6ŠË*Ùwüçr ù³¼@BL¤GŸ—š”À‹¯æôß_ÁzÝ.åÄ—ùÚ3¢àbq¥õ<½q9qÑ#òN§ÊŸìçû†Í‡335™Ík—SÚHAY“î xPì@!¤§Lâ™M+0xèë¹|½”ÿþ¿ßäÍû»Ld‹2§³fIóÓ§& ýÍ­íüÇ[Ÿò¿ú€¶ö>OQ6¯]ÊâŒRœÔ~ß·Œ9š×:mÎÕ1#u›V,±Ýÿð™^}û3ÚÚ;ïÿâÄh4°yíRÞþô‹X©õ AÔ¥°áÙù¤%Oðè-míüû›;ùâàiŒ/>¾†mßX˼ô4-þ´´µsêÒÞØ¹ûN ª*¿ùýnæ§§±õɵ=kb£xtÕ"Žÿ"g¹*ÃU5Œæ5€ŠÆòËšXµ0“Äøè‘ùŒê:^Ýñ9y×J†]ÀÌžšÂÒ¹3¹XÒ@Cë=†rê*p¢L!lZ¹“ɳìÎ}Ç.ðÁ®£€háß{nÿóÿû–Ï':"ŒÀ ±Ql^»”þ³ï³eó@4v¡±Ù³EQX÷Ð\ãe ·Æ•>M UU)ªlÁê4±fIÖˆ¤úÚí^{ïKvî;ŽÁ 0/=mXË?–ÏO§¼¡“²ú¶a;¯ÏânÃŒ”$m«ÍÆ®#gihj cúd~øÒãÄßŶŸ<1žW^ÚÌÔ”DN^¼ÌÅËE}6ÀŒ)IÌ›•&=¬÷}ù˜¢ip³ª•¸Ø(2§ˆªª|²ÿ¯½û%‡“'Ö,á»ÏnÄh¾¯EQeÎ (8˜›U­ºà~´U0/}*á!Á¢®±…‹= øá¥sȸÏó³0c/™#ïohæÄÅË8Î{¾çnXDÔ"Ñ £iÐiwr³º•i)‰‰ öóç_+áçï|NeM=3¦$ñÊ–'HŒ~3#ebâ¢)©nÓºF8ö´€©ÍHÖŒ) â†Æ*«ë0›ŒÌJ›t_ÓÎh40gæ”îþy…7±Ù=Ëâ4( óÒ§L€ô%ÔðM×´hïtPÞÐAjr~Ã\ëÝÚÞÁÏßþŒÃg²±øûñÊ–'X·lî°~†‹ @Rã¹ÓÐN§Í³]eÜÐ ¡æ@¦OIòØcµÙè°Šî­( A–ÈŠë#‹ËªhióÜ?yb<ÁÐìñ)FM €6«–É 1‡‚ÂéTysç>Þød?ª Ûž\Ë·ŸÞ0¬ŸáŽÑh )!†úVî*ãh…Ѐ@â£Ã=>ÉdÄl’ ÃéT©mx°UX×ЄËB«ol¦µÍ³p @dXˆ„uà9íVŠÁHLÔðöÛ;|&‡Ÿ¿ó9í¬X0›mÝLpPÀ°¿/ƒt¨mí´c³kXÔí@`€çuµa!ADw™Œv‡ƒ¼Âb÷±çívçó®awˆ€nmïè—84ü Ô|.€¦€Í¡‚¢4„‡¡/åUµ¼úÎgä_+!.*œW¶¨âDÊ=±øû±iÅ‚»òú¯•Üáçï|NaqY¿(ŒÓéäè¹<þå7q«¼ºç2T†$¬ä¾w'Ó(šÎ”»*¶¡‹QUUùxßq~ùÞW8NžÙ¸œ¾øx·­8’¸f ( ù†¡cŽQÔv‡chšÒc«ñì¦üîã}¼óÙîTÕ²ùá%,ÌœNp`•5õ>›Ãç_Ÿ"·°˜@‹?m’ ª†¶ñ8Nìv‡ôÜÒð-×´ð3Á餡ièuò¯•ð‹®_zÚ$^y鉻&† 7ªªÒÐÔ‚ÅlÄlÔðÓ üÅþŠú âøÉ·Ÿ¡¶¡™Ïœàà©lŽœÍ%,$“ÑH§ÕÖñÁ¦ øìÀ)ê›1›Œøùy¾<:¬6Ú::¤k°†Ñ´ô7bTœ”WÕ¢ªªÇja{G'?ç3É!(ÀÂ+[Ÿ`õ’¬a¾Ú»ãp:¹SUKh€ ³IÓVרM­mÔ7µ”3¤SÍž–Âßýä[Lˆâý¯ÓÐÔ‚Ãá¤Î-*`0˜;3•mÛLò„Xvî?!—`Áâçy rsk;õÍ-?¤_aÄѶð3ìÇÍÛØíû¾ß*¯î. IŒ‹¢½ÃÊ/ßýrÀ×^*(ÂÙe'Zm6>øê§³ÅÎæµKm6X­vJïTêÅì#3¥F†fk;¥wª†œý©( Ó&ó/þ}_³˜Ãgr¸šúF  Í®X0›M+0{j Ÿì?Ñíù ñ¸7H}ImS“® …?#IQ\/½Ck{áfÏRCUè¶) ‹Ëø“øÕ}_ÒAæŸ~ýA÷ÿ/_0›µKç:¸ë¨®o¤¤¬‚eɘtÀ½ Vµ¼Âb]½hX¾Xxlõ"Yµ¦–6:;­(ŠB`€?Á(ŠL .¾])v;œ3¤èSAQ)MÖ6CÓ>Më£FƒÂ”Ø nÞ*çæíŠa;¯zŸŸ»¾ÖC~AQ)Õµõ¤Dkµï¶†5.])Âj¾š¢ˆS/"4˜ø˜Hâ¢# êiÛîp8ȹz³Ûó?3-ÙcÓf·s.÷Ö»æçjZP…)±Á45ÝâÔ¥æÌLõÈhaë“k©mhºïkoWÔ°·+l6y|Í"ÂdÇŸ>yâ +'GÎäbVì¤ÄémÁî‡?/_§äNÓ'~Ú†ªªÜ*¯¦äN%þþÌKO»g¦ç­òjÎç’ˆ´0cšÇQ€šú&ÎçBڵЅ¦À¤è@&„ûsètÛŸZï‘Z–Íßÿ×ï<Ðk??p’C§³±Úì„…óßþð›ÌÕÓp°*µ M;ŸÇÔøbô:5BcL„›*9r&‡i)‰ ͽÇÎógÿü:N§JÚ¤ ¼ùOÂŒÔç ¨ªÊî#ç¸zã6ÓR&öJ$,§.p¹ø¬FócÄ5mDû1rÇ/äs!ïšÇç1 ôÓw—0”^ǃªª:M^áMæMÇbÖü×=ö(@ØÂíì>zžòñEaÆ”$ŒF#õM-\¼\ÄÇûŽß5·àBþuÞút?V›ظb¾Ç};­6v>K³©Í+F…iþ‰T…y“#hinbçþÝNo µ­ƒûNê§2wÒðŒ*„ipäl‡Og{tŠÌSX½(Ä¢_¼óÿçƒ]4µ´âp:q:Xm6ŸÉáï~±ƒS—®0gf*Ï=²£‡ÍgÎå²÷øªwfNaÁ”>Û’§7<Äòù³Çú’ˆ]Gβ÷Ø96ÌŠ"9zt¦û iPs©‰w¿<̪řƒîÛÀÖ'×r:ç*%e•Ü®¬áÿý§_óÉ×'HŸ: ³™â²JN\¸Lq™ø "‚ùÁ‹y¬þwZm¼ÿÕaJj+a%šWÿÁK@ ¿‰U3b8õùÞþäkæÍJRµØhPYSÏÛŸ~Iµ±|z zôo(È ÍéðÅÁSìÜ;Ÿmß\“NEQxlõbJîTñ÷¯½Ëª:ZZÛÙ}ä{ŽžGî|€ ±‘üä;Ïðg7z¬©í=vžö…4 Å£SŒ:^!¥E²|z4ïu˜Åsfð­§7ŒˆJÆæµK±ÚìD…{– ât:ùÝÇ{Ùuä,Ï-šÀì$mNZÖ4`64]kã7íaqÖt¦OIÜ) ¯¼ô8qÑá¼ññ>ŽŸÏ§±¥ TU‘¢£° V.Ì`ûSëxrí2»Ý®¨æõws§µ2h†à5 ÈßĦ¬x²K®òÚ»_’>5…E™Ó‡ýs–ÍÅ‚ÙS»ÿ=ج?UUùâài~õþ.RcYŸ§É†šG’€9pøpÿùÎgüì'ß!d} Ïn\ÁšÅsÈ.("ïZqW& ‘¸¨pf¦%“5c ¡Á i›ÍÎkï~ÉçOÁ"Dð¼FÌK‰àñy üöðUþõ7ñò]Rã†ýsüÌžOðÉ.¸Áÿ~ã**«øÑÆ4Rã<Ë^ÔA´€9ÀxýÃ=$'Äò“o?3è]ZQ¢#BY»l.k–ÎAu:ƒaheÇ ÿ·ïå;¾À™¨Â\¼ÂöwáU[“Á ðļ ¬›Ç»Žð¿zŸŠêº±¾¬n ‹ËøÙ/ßåÀ©K<>/ qºê?TÂ…ÐØÉ¿üæ#^ÿp×:+£ÑˆÑh–Åÿá®#üóëRçl–Ý?vH§u¼J€ä<»x"s’Ãøõû»øÛWwp§ªvL¯IUU®Ü¸ÅÿøÏ·ùp×QNáÙÅñ× †‡4`)T¶ÖóÓWwðú‡»=nÙ=\¨ªÊG{Žñ·¯îàZÙX ¤£é¼ÿp=¡ÉÀ‹@€,™ÅÌDí:®¢Cü¥J°º…½§.S×ÐDÚ¤Db"ÃFýšUUåäÅËüôç;ø`×¥Fð­•)¤ÄhWõWU8w£ŽüÛ]©Ñþ@ÚM[Uè.«mºÚÆÙ‹W1 dÍL•†.}±Ùíü棽üô?ß¡ ø,BÛµÈzZkä;½R$FìÇ­Ú6öŸ)àfYQᡤ&%ŒÚuÛìv>Ü}”Ÿ¾ºƒ}Ç/°pŠ,þYµýÝyÑU' ´upìLÍ­¤%'2jßwYe ÿò›øÙkïRVS K€hßëïk@Q’£Iˆ°PÓÔÉÑ윸p™ö+)‰q„ŽØõ»TþýíGüìïRx³ŒU3cøÎjí/~ðR¢¯NÌ`»ãàôÙ«\½y› ‹…ÉIñÏ|l6;{ço_}—׿›6:e×_h;%Eð5"#I‹ ¦ÓîäRQ%Og“sõ&ªÓÉÄøh,þÃö{¨ªJYe o~²Ÿ¿}uì:Šê°óôÂD¾½*…IÑž‡’F¯ š@" 4AQ^9_Ÿ¼Hiy¡ÁAÄÇDë I[W»ðÿõ»ùû_¾ÏÙÜ«¨1ªìú‹Ï›.wZ¶Z˜© !ü—iL‰ â‹ wØwüÇ/ä³jמX³˜‡—Î%%1Z<©ªJ{‡•kÅeì?qÏžâäŬ6;3&„ðøÜ6fÆcñÓ~£†È¢óP›×Ì/ßûŠ/áÑU ydÕ"–ΙILd˜GÃ^TU¥¶¡‰s¹…ì:rŽ/¡¨ôŽØø³À$¼Îá7>!B̼°4‰ô‰¡ìÍ©äÈ•jv>ËþãHMžÀ¢Ìé,›7‹Œi“™<1Žà@üÌ&ŒFcw×§SÅîp`³Ù©oj¡¨ô9WorüB>gr®rëN5§“¸0ž•ÀƬx¦Äê5þc‚+]8Ñ_sàvI ¿zï}q˜¬™SX2g& 2¦’ž–B|LL&#FƒƒAÁéTq:Ø::¬TÖÖSPTÊù¼kœ¼XÀÅËשoj“ŒdøÍFn†Ì¨ã3$Æ›™Îô„–Oæè•jNÕQxóWnÜâÝ/ÄÄøh&ÄFAxH?TUš‡Ö7µPQSÏÊÊ*kijmÃápb4($FXX25ŠU3b˜51Ó0NÖñ?Ä|I®W éVGÏåqô\?b£ÂåžÇDFH`f³ ›ÝAK[;µõM”W×q»¢†ÊšúîÖàø!9ýÓHN‚ÉzŸ.üÍF–Lbþ䊪ZÈ.i §´‘«åÍÔ7·p©¾‰K7îyE?“„0fL!kR8YÉá$G ëøpa@AZoÍf·bù³£ÚJiE¥wªî²è'"ÚE ’Ž„Ï-|>)\˜MfLezB›ç'RÞÐNiM·jÛ¨l줾ÕJk§›Ý ø› ù›ˆ ö#>ÜBRT“¢ƒˆ õÇÏdD×ô5ŽÓä¡v ¨j‘Amȸ.g×ëý/~(ÔðÇtgÈyŸ.E!ÀÏÈ”Ø`¦Ä£ª*§ü8ÕžfŸŠ¢`PÀdT†<žJgŒ1 ;wâ°S½»¼*n?ÆÅ‚ï˸}Q“QaÃÆ:ZCaœ>í÷fÊ<ºÐÑÇè@Gg£ qŒ.ttÆ1 û](èøýn±çMvt¼»Üß~@N_¯ãÔõZ]ø 6‡.W‘{«¡ç?Û€l$iF¾… 4Æþ‡ŒŒž½QÏͪV֤Dz1+žiñÞQæªswN•ÜÒöäTr¨ š–»ÛAàPJOÁK >›þ:nè 2àbú w;ô´s Å•SÄH¥ÍêàrY—o7Òfun!ÐϨ /CUUnÕ¶ñљۼy´„ó7°Ú»5;W~œh‚MÀMD0!Å/z²”÷ኀ£À)$ º÷Ñ3À Çu{›¯BDöO¢K;¨kµq±¸ž¢ÊV&DX0›tß¡ÖQU•¦v»²+øÝ‘öçVÑä¾ëC °¹ïaÈ  "à¢2 …6ºÜ×>*PhsG‘¢(g¯£7WŸaàÛ ¼læáæ'ð3²bF4›2ã™›®—Ãj«ÝÉ©kµìÉ©àäµZlŽ^ºŸy<Þ>F„ÿ` ðMäþ÷<‘HóL¤XFÚCEîb.¢îWö;Ú|„Üóc¸‰…{ÝÎt`+ðRÙýÚØPÖÍÿÀä½!†Vp:U î4±;»‚ùU4µ÷ÚñUà ð¢þ•ôy»°Ø<†h‚‚kJORnkAZÁŠÜÕldwö;ºYøŸ#îÞ^Üï6š€Õˆ6𠤛âzã´„6eűvváf]ŒªªRÞÐÁ¾œ öæVRZÛÞë0¢Ô¿¼ œ£ïcÒ›àYäž/ÅÝ `BJm] 8ô⚱ÈðlÄÑgíuÔ \Bþ{ôÕ ÜxÐ<…<«îÙY&ƒÂÂÔ6eÅóдh}Æ(¢ª*­T±;»‚œÒFœ½=½ÀWÈ®¿ èÄé§ àV¤º¾çY D"Yt·êÖ%T QõséÚS2DÃ{iüyÏÀî`oÝÄ$؆<ÑC0 ÒIDATÝN€`«gŰ1+žŒ¤0Œú<ìÅæpr®¨Ž]Ùœ(¬¥ÓÞkSw§‘à ÞÃ1 ZÀ6à9úzb!4ÔÐoùÈ¡" |>²·ßé÷ŠàSäž +Ìw?<¹e 2²qâ4Šw?Ï„p 2ãXŸORT€n 3NUåZy3{r*ù:¯’ºV›ûa ½ƒìׇéc¿Àv`îc0 Hë¬,¤ožÖdx#6$>—Ü]G¯£và²ðw"‚àÊê4둇â ÜœFŠ鉡lÊŠgͬXBLº "ªªRÝÜÉþÜJöäTr³ªÕ]·så{¹<½'èû˜ 1H„h9è ™LFÏœÀ-DÝÏG ºÞG/#‚~G×+Íp¬ÊPàD¬ÀíÖû–LbSV<‹Ó¢ðÓó<¢­Óα«5ìήàBqŽÞ†¾ØG§·} s # ²Ô·!ÃdzwÈAL‚L Ý,ðéc˜ÓõSßïhbÚ½ \àÞNÝ{2œ·'…ž°á ÷s‡šy8=† ™ñÌL íîïsoN•‹ÅõìÉ®àȕڬ½6u'pÙÞCŠÑĬ^F"D½Ó…!0·Ø‘Î=Qñ}Q÷oÓ×…×|‰,ü½ôõý{Àpß20i;JŠvÿŒä¨@6fƱ.#Ž„p‹nÜUU¹QÕʾÜJöåVRÕÔËy¯"Yû®°^>c[Â<‰Üó‡q‹a@b YHo}o£5ØM6p¾.<p‰æü1÷†…‘ZþÀ#Èî° ·ñ‰2“Ãx$+•3£ ¶˜ïvŽq‡ªªÔµX9xYÂz…å-}í|—§÷ Äñó@žÞQbblE–|ϳå$e!vtK°Wà. Úµö;ZHOXïÞÃ,<`¤·à(Äi´XŒÛ­·˜ ,Ÿͦ¬xL‰ÀèÁ 7_¢ÃæàDa-{²+8s£{ÿô݃ˆê÷ ƒôôŽ"î¢çé›%Ž˜ôÑ Ç)õÈ¢w•b÷¦q꾄tG¤6´nÁtD¼ˆ(…ÝŸìÇúŒXÖgÄ3u–;U•ÜÒFöäTpðrŸ2]Ùr‘°ÞÄ*ôÌÀ:z"D½ç'"Ú@z¿#ãƒ$}÷’Í×Û€ëv#Âþ+úúþ‡™Ñ\mdšúËHVa„ûÁÔØ 6fų6=–Ø0o¸>4TU¥´¶ý¹•ìÍ©äNC¿û\¼Ø}ñÎVaôDˆ–ã4SA0•ñ‘Vì@òõsÐÛ…§"eºo#÷½z4.i,¶Û@`3òP¬ÃÍid4(ÌO gcV<˧Gèï›OEC«•C—«ÙSÁåÛM}Wv+ð²ð÷"i ÞN Rm¸…>"M ™Éç‹  Šdã»Òw›û½IS·`4/m,¿îÄ$ØÌu¿– ÿÿÛÞùÄFU…Qü7Sú‡Ò?Nigª,Š,}5hX  ‚1îÔ£iuáÒÄ—.\êÖ ((‰š¸1Zþ… ²p¦H«‚J˜)¥…Ò–ÖNç¹8ܾ™÷F ´yo˜“̦¯ÓÞ™wï÷îw¾s¾[ÅŽÍmìéŠñDG¤ldų™,'ΛîhncPŽ÷#Úú-)Óë„P…¨ñѼ««qør±›®Éó½–œkH½·Y´—C¼u[øákî‘ç=¢Mµ·dű@ÛŽ³¶ÍàÅq¤9zz˜kSùîo(Çÿ‰=˵¨2Ô ¼€dÆBU ,T5XYàÝA±é&wŸOáÍ¢F,}¨ª3I‰à—µÕ{pD%€±7Ìó‘U5 Ʀ+ùnÊmÓåyŸ£­ß ‚™çß+Z‘Á¨W…ˆjD[Èv$Yq{I$èÉ÷_Úh/`Ä[‹<:ü¶’š€—P x–œ[_]bÛ£-Ä­Û}n;66ÝïÏ s(™"áµéÎ {nE`z}Ž( |-wgN6 %¡…F¿ÍÖ\˜® F¾ëíÀ{ø -þD1‡v;øõ+]‡3):ÉgcÝ vuFÙÓcËÚfÂ>ã2sYNý9Æ¡LJF˜žõäù?Sd¦7O£ÀolÇrmÇÍÅÚ]`åùI =Ó'‘vc?êÎã'ñ–o€Á“8ü@,÷šHq«ÝVŒ5‘ÒÛŽmÛælz‚CÉ4GÒŒLäÕxlÔ˜Ù(º†J0Ä  ézíØ‡ËÐ6ãÛ±±é&‘Œ7ŸÂ›Ž¡ûý%»ò—~àôªëA“cž [Ö6·ÚÙÙ¥ieidÅWƧ920Lÿ@ŠsiŸclº}ˆé­œ¶rg´“_!rø,T\,E&˜E’,cÓͧvlTÊ3â­¿‹;¸…!À m{põª«Yfûc«‰[1¶Ñv<5“áøÐýÉ‚6ÝYdÓݘ^OCÆ îˆ-8¶ã|•@J ºQŠPŒ™l#ù®é¾{ÕóƦۇR=ß“ºA Г¡iYUÍ®Î(q«M5.›í83—%q^§ìºÂäŒÇ¦›Ëôz›7U°T;Q x‘œ  r°Çv¼\¸‰žöIÔzÃö\ý-ü~Ö{±¤bo¯º–Ü‹mõì銱Ûj'ÖT»dü€mÛœ™¢?‘âÈé4©ë›î%Äôö¡©RÁÒ¡•ˆ{q5¦%Œݨ¦°”¶ã Rf$P¾ïµéšÞ‹_PhOàs5Ô¡^u½H\2O …CÐýðÄ­;6Gi¨[œ¬xlò_Žž–nðÒ ÷å ÄôîC®=_1½e†uˆîEr!'߫ñ¯eq¶c¹1èÉ?á¹úNïÅßñŸJŠ ƒÚ ˜ÓŒæù\ÛñÖõªxš‘lº#ô'Òœ<7JÆ›çñéŽ/òsTp÷0¢×p³-8mÉZXØ,·Ñ]4º}oŸ¥1ô´ïCÒí@“ºå :qø<Ò¨­©–ç:Ûx¾ûA‰ÞYV<—µ9óÏu¾I¤øaðJ¡SvÑ$8ˆÏ™Þ2Æÿ6¦´ °Ð¬¨w¿µfz¯ðiº3ÈœµåûËÝ{±((·Úøí@Aàe\Ò‘í ìîR[²ÖFo1Ù¶m.MÓŸTž¡°|×8·N.Ǩ`Áˆ éÀvrÍÅwc;žC þäÊ(|ÊÎ^Äð§–vè¥E9ƒU8¶ã]äPCUaxj} ñîÏljeefÅøÍY¾ûu˜ÃÉ4®»k8S86Ý~Êæ[nØ€spM¾¬ØØŽÍiFaœþº ¤äËOàL³®·^Ë<ö’ œ€ÁD½‰¦À< `lÇq«©™ ß&ÓüôÇU·Mwuö"AÏhñ†^Á= „S!z•B²â.d6:‡–õeÏ߸NNîC½‹nÓ­`é±ø•êìÜWkcÝ\_m»~žEFÎ÷Ñt© X¨C)àW(_wîm›6aÜ÷Üœ±Ð‹[oPAY •  ÂŽ{˜×(ð1jcuw+ >¢ÀÛˆ¯ÉPø~gQð.*3VPæhÞB5ûYœ‰0d»¯ìvxñ8ð¢û²8 ÿ2ð:êì~H‰+ÈAðrçÞÁݪª‚rBR~‚ÜûQW¢ûöpŠÿ^ëe9ª7²IEND®B`‚(0` 7 g= ;,&Gtl€]{¬A{À^pÿqž”±ó©Éêÿÿÿÿÿðfÿÿÿÿÿÿÿÿÿÿôðÿÿÿÿÿÿÿÿÿÿjªaÿÿÿÿÿÿÿx‡Oÿÿÿÿÿÿÿðfªªª`ÿÿÿÿÿÿõGˆˆ‡ðÿÿÿÿÿÿªªªªªoÿÿÿGˆˆˆˆt_ÿÿÿÿöªªªªªª¦ÿÿÿð÷ˆˆˆˆˆˆtÿÿÿjªªªªªªª¦ÿDˆˆˆˆˆˆˆˆtñjªªªªªªªªª¦xˆˆˆˆˆˆˆˆˆEªªªªªªªªªªªXˆˆˆˆˆˆˆˆˆˆ„öªªªª¦ijªªªªXˆˆˆˆwwxˆˆˆ„ªªª©ÎîɪªªªXˆˆˆuÎîLjˆˆ„öªªªœîîªªXˆˆ‡Îîîìxˆˆ„ªªªžîìî骪ªXˆˆ‡îìÌîxˆˆ„öªªªÎìÀÎ骪ªXˆˆ‡îìÌîLjˆ„ªªªîìÌî骪ªXˆˆŒîÌÆîLjˆ„öªªªÎîÀî骪ªXˆˆ‡îÌìîȈˆ„ªªªžîìîʪªªXˆˆ‡îìÎîxˆˆ„öªªª¬îîªªXˆˆˆ~îîìxˆˆ„ªªª¦œîɪªªªXˆˆˆwÎìWˆˆˆ„öªªªª©–ªªªªªXˆˆˆˆwwˆˆˆˆ„ªªªªªªªªªªªXˆˆˆˆˆˆˆˆˆˆ„ðjªªªªªªªªªfxˆˆˆˆˆˆˆˆ‡@ÿjªªªªªªª¦#xˆˆˆˆˆˆˆDÿÿöjªªªªª¦""#ˆˆˆˆˆˆtÿÿÿÿÿªªªª¦a""""!Wˆˆˆˆtÿÿÿÿÿðöªªªa2"""""1Gˆˆtÿÿÿÿÿÿÿÿÿfªa2"""""""0G„Oÿÿÿÿÿÿÿÿÿð2"""""""""5@ÿÿÿÿÿÿÿÿÿÿÿ""""""""""#ÿÿÿÿÿÿÿÿÿÿÿó""""#3""""#ÿÿÿÿÿÿÿÿÿÿÿÿ"""#lì“"""#ÿÿÿÿÿÿÿÿÿÿÿó"""9îÞì2""#ÿÿÿÿÿÿÿÿÿÿÿÿ"""žë»Þ“""#ÿÿÿÿÿÿÿÿÿÿÿó"""ÎÛëÞã""#ÿÿÿÿÿÿÿÿÿÿÿÿ""#îë»Þæ""#ÿÿÿÿÿÿÿÿÿÿÿó""#îëÛÞã""#ÿÿÿÿÿÿÿÿÿÿÿÿ"""žë»ÞÃ""#ÿÿÿÿÿÿÿÿÿÿÿó"""<îÞîb""#ÿÿÿÿÿÿÿÿÿÿÿÿ"""#žîÆ2""#ÿÿÿÿÿÿÿÿÿÿÿó""""3c2"""#ÿÿÿÿÿÿÿÿÿÿÿÿ""""""""""#ÿÿÿÿÿÿÿÿÿÿÿñ2"""""""""1ÿÿÿÿÿÿÿÿÿÿÿÿÿ""""""""!ÿÿÿÿÿÿÿÿÿÿÿÿÿðó""""""#ðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ""""#ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðó""#ðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ2"ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿñÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿãÿÿëÿÿÀÿÿþ?þ¿üðøèÀÀ€€€€€€€€Àøüþ€ÿÿÀÿÿàÿÿðÿÿøÿÿðÿÿøÿÿðÿÿøÿÿðÿÿøÿÿðÿÿøÿÿðÿÿøÿÿðÿÿøÿÿüÿÿþ€¿ÿÿÿ@ÿÿÿè ÿÿÿÿôÿÿÿÿþ?ÿÿÿÿÿÿÿ( @ 7 g= ;,&Gtl€]{¬A{À^pÿqž”±ó©Éêÿÿÿööÿÿÿÿÿÿôôÿÿÿÿÿjªfÿÿÿxˆÿÿÿñjªªªfÿÿôxˆˆ‡EÿÿjªªªªªoHˆˆˆˆ‡Oöªªªªªªª÷ˆˆˆˆˆˆ„ªª©™ªªªXˆˆwwˆˆ‡úªªžîšªªXˆ‡Îîxˆ‡ª©îÌ骪XˆŒîÎ爇úª©îÌXˆŽìÌ爇ª©îÌíªªXˆŒìÎ爇úªªîî骪Xˆ‡îîLj‡ªª™ìšªªXˆ‡|Ìxˆ‡úªªªªªªªXˆˆ‡xˆˆ‡ªªªªªª¦ˆˆˆˆˆˆtÿöªªªª¦3#Wˆˆˆˆtÿÿÿfªª¦c""#Wˆˆ„Oÿÿÿÿöªc""""!G‡ÿÿÿÿÿÿÿc2"""""1Oÿÿÿÿÿÿÿò"""""""ÿÿÿÿÿÿÿÿ""9É2""ÿÿÿÿÿÿÿò"#Ýã""ÿÿÿÿÿÿÿÿ"&í½é""ÿÿÿÿÿÿÿò")í»é""ÿÿÿÿÿÿÿÿ"#í½é""ÿÿÿÿÿÿÿò""žî“""ÿÿÿÿÿÿÿÿ""#c2""ÿÿÿÿÿÿÿó""""""#ÿÿÿÿÿÿÿÿ2"""""?ÿÿÿÿÿÿÿÿñò"""ñÿÿÿÿÿÿÿÿÿÿÿ2"1ÿÿÿÿÿÿÿÿÿÿÿÿó1ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ¿þ¿ôðààÀ@€€€€€€àðþ?ÿÿ€ÿÿÿ€ÿÿÿ€ÿÿÿ€ÿÿÿ€ÿÿ@ÿè ÿÿôÿÿþ?ÿÿÿÿ(  7 g= ;,&Gtl€]{¬A{Àqž”±ó©ÉêÝÙ™ÝÝÖfÝÝ™™•MgwfÙ™‰™7wgwY›Ì™gzªwٜ̙g|ªwY˜¸™gv§wÙ™™™VwwvÝY™"FvmÝÝÒÝÝÝÝ!…-ÝÝÝÑ»ÝÝÝÝ!¸-ÝÝÝÑRÝÝÝÝ ÝÝÝÝÝÒÝÝÝÝÝÝÝ ÝÝÝããÀ@€€€Àøðøðøôþ?ÿ(0`"* 39 @DLU 3` C[j+e!t&ox~€ g!I, - f ut2-MN68|(>=@ 6#l(U*/5$jF/K2IM4R2[#)}S1;C&.u)1k9X]+3…a@gCddhbf%Goe7@‹(Jrrc*%Mv;F‰uzr},T~JXi€*Vˆ*X„#t*HT1u?-_“2_’>c‰N]𦮫ut1TYYYYVl¬®ŠŠ™y®®ŒSYYYYY0K€‚¬®®©y¦®—ht1TYYYYYUœ®£yo—®©gYYYYYY0¯Kd†¬®®«®xt1TYYYYYTn¡®¬«®«|HYYYYYY0K`z’¡‹ktt1TYYYYYYO^…Ÿ iDYYYYYYY0¯Kvfcfht1TYYYYYYYVHLIHTYYYYYYYY0Et1TYYYYYYYYYYYYYYYYYYYYY,¯#Kt_;+GYYYYYYYYYYYYYYYYYYO0¯¯7W€mE0OYYYYYYYYYYYYYYT9"¯¯¯¯¯¯A_vN) 9TYYYYYYYYYYYB+¯¯¯¯¯¯¯¯¯¯Em€Z3 (BYYYYYYYYH/ ¯¯¯¯¯¯¯¯¯¯¯¯¯Nvd;+HYYYYS6¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯8Z€mE!6SV="¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ .* "¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯$¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯]‹”j2¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯~¬®§ª®”<¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯b®®„‰¥®‡%¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯&•®¥{­„š®¦<¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯-¢®®{q§®¬M¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯%›®­‰ž¤®©C¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯r®®„¨®—%¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯<”®®¤ª®¢R¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯?~£©¦’R¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯5@5$¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯  ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯  ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ÿãÿÿëÿÿÀÿÿþ?þ¿üðøèÀÀ€€€€€€€€Àøüþ€ÿÿÀÿÿàÿÿðÿÿøÿÿðÿÿøÿÿðÿÿøÿÿðÿÿøÿÿðÿÿøÿÿðÿÿøÿÿðÿÿøÿÿüÿÿþ€¿ÿÿÿ@ÿÿÿè ÿÿÿÿôÿÿÿÿþ?ÿÿÿÿÿÿÿ( @"*39 DILU`[jto$x~B a€761 ut2Z&.|(>3"=@!h?F/KM4R &„#)}0lSU9XYK5+3…a”””””””””””””*”%”””””””””””FchhM7””””””” (8GGA/””””””””">XhhhhheH1”””””$2DGGGGG=*””””;Phhhhhhhhh_>””/AGGGGGGGGG8(””FhhhhhhhhhhhhhS”:GGGGGGGGGGGGD*ThhhhcZ`^Xhhhhc3DGGGG=JLCDGGGG8”ThhhciˆŒ~\hhhc3DGGGCrŒ‹‰[DGGG8Thhhj‹Ž|u“wehhc3DGGAn‘lˆ‰KGGG8”Thhhq“†Ql“…fhhc3DGGE‚“la|‘RGGG8Thhhq‘“{l“~chhc3DGGDzpp†RGGG8”Thhh\„“‹‹mhhhc3DGGG[‹ˆ†“z@GGG8ThhhhZs„ymehhhc3DGGG@VtkCGGGG8”Thhhhh]]]hhhhhc3DGGGGG=@AGGGGG5;Phhhhhhhhhhh]<(AGGGGGGGGGGG8%”””>XhhhhhhhcB& 0DGGGGGGG=*””””””+BchhhhM. #8GGGGA/””””””””””HhU6'=D2””””””””””””””)””””””””””””””””””””””””””””””””,Yxd4””””””””””””””””!}‡Š†9””””””””””””””””I“‡€€’b””””””””””””””””O“ƒvv“o””””””””””””””””9ŽŠv€“N””””””””””””””””WŒŽg””””””””””””””””-?4”””””””””””””””””””””””””””””””””  ”””””””””””””””””””””””””””””””””””””””””””” ””””””””””””””””””””””””””  ”””””””””””””””””””””””””””””””””””””””””””””þ¿þ¿ôðààÀ@€€€€€€àðþ?ÿÿ€ÿÿÿ€ÿÿÿ€ÿÿÿ€ÿÿÿ€ÿÿ@ÿè ÿÿôÿÿþ?ÿÿÿÿ( "DLU`etox~ a€tZ‚„ 6#:/‰ 8M &„Y]5ˆ@gdbhnuz;FœfF}€*Vˆ ,Zš-_“†(0c˜2ƒD6hŸYg°7m«7‹J=t³BA IIIIIIII 9B9 IIIIIIII  IIIIIIIII IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIããÀ@€€€Àøðøðøôþ?ÿ(0` F -¤7V÷4O×y$ ‚5ß7ó›>. ‹:Yè2c˜ÿAÃÿ>yºÿ'Nxþ)@½` h.ÆSÿ|ÿ€ÿ_ÿ8ß ‚$r1LÏ,W†ÿ@}ÁÿAÃÿAÃÿAÃÿAÃÿ9p¬ÿ"Cg÷ -¤FP!­Gûuÿ€ÿ€ÿ€ÿ€ÿ|ÿSÿ.ÆiY';·&Jsþ=w·ÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿ2c™ÿ:Yè ‹-7”=ïiÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿuÿGû!­P@ & @cô7m§ÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿ@}Áÿ,W…ÿ1LÏr{4Ù\ÿÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿiÿ=ï•7& „7Vá1`“ÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿ=w¸ÿ&Ksþ';·Y b*¿Oÿ{ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿÿ\ÿ4Ù{3&<Æ*S€ÿ?|¾ÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿ7l§ÿ @dôÌDøqÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ{ÿOþ »I#Fk÷AÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿcŒÿ5c”ÿ>y»ÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿz¼ÿfбÿ¸Ùþÿ¹Úÿÿ©Èêÿ¤ÂãÿdvŠÿšµÔÿ¹Úÿÿ“®ÎÿAo¡ÿAÃÿAÃÿAÃÿAÃÿAÃÿt°ÿ‡¥Çÿ¹Úÿÿ´Õùÿk”ÿfxÿ(/7ÿ†ž¹ÿ·ØýÿµÕúÿX~©ÿAÃÿAÃÿAÃÿAÃÿAÃÿn¢ÿAÃÿAÃÿAÃÿAÃÿAÃÿz»ÿAÃÿAÃÿ1_“þ"Dh·Z `F½cÿ€ÿ€ÿyÿSì52)?|'MwÚ9q­ÿAÃÿAÃÿAÃÿAÃÿAÃÿ?|¾ÿ+V…ô:Zž@F>£X÷~ÿ€ÿ€ÿ€ÿ€ÿ€ÿoÿLÔ$w !c#GmÁ3dšÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿ;u³ÿ(Nyâ.I„D3ŠRçxÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿbÿE»] ,K*S€õ@~ÂÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿ4fÿ=*êkÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ~ÿLò1S5i¢ûAÃÿAÃÿAÃÿAÃÿ=x¹ÿEr¤ÿOv¢ÿJt£ÿ:o©ÿAÃÿAÃÿAÃÿAÃÿ>z¼ÿK4ÿ}ÿ€ÿ€ÿ€ÿ€ÿqÿ&u5ÿ.w@ÿq ÿ}ÿ€ÿ€ÿ€ÿ€ÿcú1S5i¢ûAÃÿAÃÿAÃÿ=x¸ÿa‡±ÿ˜´Ôÿ²Òõÿ¥Âãÿ|ŸÆÿBt¬ÿAÃÿAÃÿAÃÿ>z¼ÿK4ÿ}ÿ€ÿ€ÿ€ÿuÿnž˜ÿ£Áâÿ¡¾Þÿ”²ÌÿEŒ_ÿ}ÿ€ÿ€ÿ€ÿcú1S5i¢ûAÃÿAÃÿAÃÿP³ÿ ½ßÿ®Íðÿ…¸ÿ|’«ÿ¹Úÿÿn•Áÿ?|¿ÿAÃÿAÃÿ>z¼ÿK4ÿ}ÿ€ÿ€ÿ{ÿ]›ÿ¶ÖûÿªÆÿsˆŸÿš¶Õÿ™¹Óÿ~+ÿ€ÿ€ÿ€ÿcú1S5i¢ûAÃÿAÃÿAÃÿd޼ÿ¸Ùþÿ—²ÐÿZk}ÿoƒ™ÿ¸ÙþÿЬÑÿAz¹ÿAÃÿAÃÿ>z¼ÿK4ÿ}ÿ€ÿ€ÿ{ ÿ‰³½ÿ¸Ùþÿtˆ ÿl€•ÿ†ž¹ÿ¶Öûÿ9ˆNÿ€ÿ€ÿ€ÿcú1S5i¢ûAÃÿAÃÿAÃÿ^‰ºÿµÖúÿ¹Úÿÿ˜±ÿq…œÿ¹Úÿÿ¢Èÿ?zºÿAÃÿAÃÿ>z¼ÿK4ÿ}ÿ€ÿ€ÿ{ÿz©¨ÿ±Ðôÿxަÿz¨ÿ”®Ìÿ³Òöÿ1ƒCÿ€ÿ€ÿ€ÿcú1S5i¢ûAÃÿAÃÿAÃÿBu­ÿ‰©Íÿ¹Úÿÿ³Ó÷ÿ¢¿ßÿ¡¾Þÿ[‡¸ÿAÃÿAÃÿAÃÿ>z¼ÿK4ÿ}ÿ€ÿ€ÿ€ÿ>‰Vÿ¢¿àÿ™´Óÿ“®Ëÿ¹Úÿÿt  ÿ uÿ€ÿ€ÿ€ÿcú1S5i¢ûAÃÿAÃÿAÃÿAÃÿJx«ÿq’·ÿ­Îÿ|š»ÿZƒ±ÿ?|¿ÿAÃÿAÃÿAÃÿ>z¼ÿK4ÿ}ÿ€ÿ€ÿ€ÿuÿ<‚Sÿv£ÿˆ«»ÿ]’€ÿpÿ€ÿ€ÿ€ÿ€ÿcú1S4h¡ûAÃÿAÃÿAÃÿAÃÿAÃÿz¼ÿK4ÿ}ÿ€ÿ€ÿ€ÿ€ÿÿsÿu ÿwÿ€ÿ€ÿ€ÿ€ÿ€ÿ`ú4"Ek¾2c˜ÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿ;s±ÿ#Eyÿ5ÿI ÿwÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿaþB¸%:z'Mv×9o«ÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿAÃÿ?{½ÿ)Qƒÿ#gÿ`ÿ€ÿ]ÿ&.ÿUÿ}ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿmÿLÑ#t65R”)Sî>yºÿAÃÿAÃÿAÃÿAÃÿ0^‘ÿ/mÿ[ÿ|ÿ€ÿ€ÿ€ÿ{ÿPÿ3!ÿbÿ€ÿ€ÿ€ÿ€ÿyÿRé3Œ/ N Ac«.[û@~Âÿ6k¤ÿ{¼ÿAÃÿ@|½ÿAÃÿ@~Âÿ.Zšÿ 8Nÿ\ÿ€ÿ€ÿ}ÿ€ÿ{ÿeÉ **-X‰‡5hŸæAÃÿ4e¢ÿ7‡ÿ oÿ€ÿ _ÿ:0ÿhÿ€ÿhãW†(0KD4lÁ tÿ}ÿ€ÿ|ÿ€ÿ|ÿSÿ:´/AJ~ÿ€ÿ9DÿWg±ÿ„ÌW|m™³øºvïÓ^ýš.X¾ŒÀÜí| ŒÀZßcÃðhݬ@^ç6OÇ.uëÔÚù|,­ö—B—¡œ5Üåky ÔtQ¯›Ø8CB¨³½vG™ªø³´ÉÏü‰;:à;ô<ÜIEND®B`‚pioneers-15.5/client/gtk/data/Makefile.am0000644000175000017500000000447712162513421015232 00000000000000# Pioneers - Implementation of the excellent Settlers of Catan board game. # Go buy a copy. # # Copyright (C) 1999 Dave Cole # Copyright (C) 2003, 2006 Bas Wijnen # Copyright (C) 2006 Roland Clobus # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA include client/gtk/data/themes/Makefile.am icon_DATA += client/gtk/data/pioneers.png icons += client/gtk/data/pioneers.svg pixmap_DATA += \ client/gtk/data/bridge.svg \ client/gtk/data/city.svg \ client/gtk/data/city_wall.svg \ client/gtk/data/develop.svg \ client/gtk/data/dice.svg \ client/gtk/data/finish.svg \ client/gtk/data/road.svg \ client/gtk/data/settlement.svg \ client/gtk/data/ship.svg \ client/gtk/data/ship_move.svg \ client/gtk/data/splash.png \ client/gtk/data/trade.svg \ client/gtk/data/brick.png \ client/gtk/data/grain.png \ client/gtk/data/lumber.png \ client/gtk/data/ore.png \ client/gtk/data/wool.png \ client/gtk/data/style-human.png \ client/gtk/data/style-human-1.png \ client/gtk/data/style-human-2.png \ client/gtk/data/style-human-3.png \ client/gtk/data/style-human-4.png \ client/gtk/data/style-human-5.png \ client/gtk/data/style-human-6.png \ client/gtk/data/style-human-7.png \ client/gtk/data/style-ai.svg \ client/gtk/data/pioneers.ico \ client/gtk/data/pioneers.rc EXTRA_DIST += client/gtk/data/splash.svg MAINTAINERCLEANFILES += client/gtk/data/splash.png client/gtk/data/splash.png: client/gtk/data/splash.svg $(MKDIR_P) $(dir $@) $(svg_renderer_path) $(svg_renderer_width)400$(svg_renderer_height)400 $< $(svg_renderer_output) $@ if USE_WINDOWS_ICON pioneers_LDADD += client/gtk/data/pioneers.res CLEANFILES += client/gtk/data/pioneers.res endif pioneers-15.5/client/gtk/data/bridge.svg0000644000175000017500000000353711652323243015153 00000000000000 image/svg+xml pioneers-15.5/client/gtk/data/dice.svg0000644000175000017500000001546111652323243014622 00000000000000 image/svg+xml pioneers-15.5/client/gtk/data/city_wall.svg0000644000175000017500000000335711652323243015706 00000000000000 image/svg+xml pioneers-15.5/client/gtk/data/pioneers.png0000644000175000017500000003602513252243607015531 00000000000000‰PNG  IHDR\r¨fbKGDÿÿÿ ½§“ IDATxœíwxU÷Ç?›Bz#¡&”DEŠ M¤(M±W+TŠŠX_{Çöö³ ê+ØiRé^© !@ B éuÜ´m3³›ÝÍìæ~žgØÙ›™›Ìܳ÷žû=瀤1<¥Àl ¢!;$‘H\pÍ^™À4À·Áz'‘H\Æ `;–ßüµ½ª­D"ñboJÔÝ×@{÷wW"‘8ƒ`Ä:¿û~ÝWAÕ9‚ÝÚs‰Dâ0àfà*<¸ê¥Ö®ê\7W["‘è”ÞÀZT´/ãc`|ŒƒÀè«Íl.róï$q!Ò¢{ÑÀ³Àƒ¨xñãÑ@ ³ã™À2 IýZFà;`&awO%ºBÏÆxx•}ü¦Àà|•¦K€3ê×.Þ^Gè $ˆ4žË¥OW¥FM€ˆ}=?'®¶£id'Oó5ž^¢#¤ð<:ïcÕö.B¼P!°a *Õ›¯¦ÿsðr’@Ï! xxñÅn“X` ç¤ §K£êMËÿžAÓ*BÒÐH |€ ˆõv3¥†áˆu~\sc"ü9êM³~‰FA¢S¤Ð7À÷cÚ&þ@`*S'PlFì5–ª7?<‚°" €>i¼LTk˜ˆpDººGfœV»µ5_„ðv]$Ž €¾C¬õ•¶Bìç·sC§”8øzOSoZ| üa?$:@}`®ÞF|ûÛ$1Õï‡pè#°ø ÈWožŽˆ/ø±ã(i@¤hxú"öó%¶¾@„S@qjЀ”€uhòüí@äXçÒNI‘ áhPÑM@å>$ ¶õ·tDÂ?°W[óEÀChÚe”8iÜO0xSjŒ:º¡S®àB?pJ½i!ð>ð2šVg! €{‡˜îÇ+5 .F¬ <=?W%°!,Pož†0Œs®‰‹‘À=\€øC”þ#ÛÞD"¶@£¬x3Â?°Ù•}’Hàjê¦ëmØv\ ÌCl‹jXEHA× 9L7ŽÜiLD‚,õ¦ùˆíÑ×€—vª" €ó¹!ßU ½w$L×Û¨;^¦‘„ðȰc'" €óHD|S]¡Öð|Ä:_Vâä!ü;ÑäX‰ÿëÊ>5¤¨?‘Àˆ‡2@©a,b¯(õkÄœDlSoZvü4­ qi§:LwÐ\©ap "c§üƒ+cö!dÅÂŽ³€²b‡Ï£c\‚Xç+úîªå»ÃQ™H,(ÖW½ÊÔ›ïG$JYæÒNy!ÒØGð*仉ùn”:åÍ8v< ‘ÛT¢i´ŒHƒ­¦Û±Îoïú>5*Òþ aÇ¥À'ȰcMH Lu˜î[@[¥†AÀPô¦ëmØv|¡ÃøM› ils!B¾{±R#OÓõ6ì ;Þ†Xlpi§<i,i…HX1 •/óÄt_q @â2Î"‚Œ4„À 4í26¤¨¥ 0±­®Ô0¦›è†NIÔIAøN«7-DlÛÊjFUH ‡ØÖKPjˆî ñÊwõJ° ±cP¨Þü8¢vÁ·.í”ÐØ @wÄÀ®ÔÈ!â†÷…ézˆØ‚ÈjFZhìàgàZ¥íëü–îèÄiœA¨‚’Õ›þ\çâîè9“µA$"`G±ò¦D·4C¨µöËÑ$+n”H`FÄ: òã tE8k«· 5T3jTHÍŠç#òvÉÁï=ø!î©b‚†FŠ4I#F‰¤# €DÒˆ‘@"iÄH_W#£¡¡ÏFhaK‚™@ÄH$Bê,Oi¼œbà¢LW*bàk!!‚ŠGl£)GH<i¼”#ÀvàšBf-(@DÙíE¬ã^ˆ}u¹nô¤ð2’€5hÊœ£™JàpÕ«)B(uÒxÒx ç!±û\|,`!°¸™âÜÓ‘À Ø ,FSö\§‘HÌ?%)gž‰4L9ðš3æ:#ðp¸m ~HG¥øáÙ·‡ˆ°:ÅÇ‘GdX!ÁøúøRPTLn^)ÇÓ9rœÓgµÇÏCÌ& |ÏA¤øH×ÐÖÇÇÀˆ‹z1nø†¸€®Úb0¨§8vò4«6íbñš­ü±jÅ%ÊqtY#p£¡_} ‚˜%é\Õ0}ÑDðbÚ­Dtd8S&^ÅÝ7Œ&®eý†dn^ßÿ±š·¾\@Êqe³ Ü…>u¿#ü%f4ê„ Òwãaü†òà äÕGï$õïoynÊ„z~ˆÉã¯ààò/ùêõGiÙÌv½£`îuHJGb3Ê)°Ç é˾%Ÿóä}7äôëûùúrǵ#9°ôK&·]ýbWB¢¤ð2q¬áçëË›3'ñçç/Ѷµë«D„…ðÑóSøùƒg‰ ·îûßI#δéAHà?±.é  à÷Ožç±I7hrî9“kG^̆ÿ¾K›Vͬ~¾ ™|_ïHàìD$²7'48ˆ¿¾z±Cû¹»K5t9¯-ë~x‡ø8˼Éùˆ¼Ûý" €Î©@hûÍñ÷ócþœgØ»áó·mÝœ¿¾~1–ÎÁíÈŒ¼zFêtÎn ×ÊñÙÏLfô>öŸ°Ò+6Àâ5°ûdåˆ5Ft$ôì £ÃÈAàcßrâ¼¶­˜?ç†OœIyEEÍñ `="n@¢?|º ÌM@—ºZ¦/VùËRW7Œ›3'Ù²Ô4¸ó)øæWH: yP^!^yâØ’µ°r#ôïQv¾]ëæøùù°jã.“ã§”ýíï±S9ˆp¦š±øÉÝ}Ñ r  cŽ™fÇ¢"BùàÙí?YÊq¸ñaØgV+'"L¼ê²ÿ0Üô0¶¿îã÷ÜD¯®LŽ•£©‚¯¤@Çì±rì¥é·Ó<:Ò¾Uaú«sN¼÷óƒ)aý°uxmø¦ÝþU«ÂÜV TC,I”‘@§sӺĵŒaÒ cì?ÙªMp ¥öý;OÀ” PWÑÞ ï>U{ì@ ¬Þd÷åöîʨÁ¦þ‰4DΉ¾@§d"¶Ñê2ýŽk hâÀJzíÖÚÿW;úl1òb¸ Ž[dÍVÛmxüž-Ž¥:t&‰+‘@§1{ïçëË­ã«˜ÛæäéÚÿ÷è¤Þþ‚:nк?k—ôïAB›V&ÇÌ'IÃ# €N9iö~ÄÀ^ŠA8ŠÔ5TÕÛ×mâëØ#b0¸iìP“c':“Ä•H S̽ÿ#.ºÀñ“%ÄÕþ«…þ¶:mÚ¶vø²#šö9 ‘`T¢¤Ð)gÍÞº°›ã'»nT­°çИ÷‡í¶ÿ] {ël^éà²Ø«+¾ufåX5IitH)Pdv¬sB=òïÆÇÁÃwÖ¾ñCxæ=ø7 JJÅko2üg6<;§¶Ýø+´ù l@»Ö-LŽÉ}!¥À:Ä<ùVdx(QõL¹yßM ¯|"üOKÄË>¸ÿ¡ ¨'ñq-M²•ÔûŒg"g:ÄÜ„‡;çÄc†À` ñc†ÂãÁ áÅæ}WÎ,(q7Òè ³÷Mü0QÛ¹.¿OUÝ¡{¢©øÏ¿áª Ù~)°9æºóßMÒ°È%€1—úäš{ìdÿa¸ã (ªJÏÑ¡-ã…ŸÞ…öq¶Ï­B^i(S‡Ï$qr CÌÞgåäQa§&¿†J#<6«vðŸßÌAš†üúàâÞâ³nűœs0ãM0jÐØàL–©ß_}! € ÀôÆ”–•sôä)ÇN¶a‡Øú±¦c(% ‚×gÔ®ÿ÷„ÍÖÂ’´‘tÔTþãüT¥’ú €ñAäׯˮý)Öšª³¹N^—ó 1^ýgÛ‹™B5ëw8té£'N“kÑ +é itJ´Ùû¿7;P{ªŽ¦°}¬öŸ‹¯³îOw,`Õ&ÓÄ ¡@ Cg’¸ itŠyžÝE«7ctd-ޤΪ»Ò?By½ƒ»þ½Ùä½õÜÁ’†DÒÖìý‘´ Ömw ¯NÝ”ÝìXFÔmÛÂþêBÙ¹ù,ZmjÚÙ}‰«‘@§´Çòæ|øÝBûOtQ¯Úÿ§ž€M–›÷À‘´Ú÷zÚ}Ù/æ/¡¤Ô´@˜ïƒÄÍH Sóû‚eÿp(5ÍZsÛ\ÐE8õªyò-È05¬ÃÉÓðø¬Ú÷íZCßîv]²¨¸„·ÿïg“c€ãj‰«@ǘ»ŠŠJf¾ù…}'ñ1ÀÓ÷×îùŸ8 ×<ß/‚ì:{ôg²áÛßàêk“€ ðä}àk_òè7>ÿ‰S™Ù&ÇÎG¦ Ö#²<¸ŽËƒoc)Ÿ]øÉ Œ>À¾“ÍûCDš;ÃB„s°ÀŠÚpæ$˜tƒ]—I>z’îWÜGq‰©êÿIJ¦!‘åÁ-‘3 X«ûsÏ3ï‘~&˾“Ý:>{š™íÄçXþèHøàY»iY9ãyÍbð7C:õŠŒÐ9ƒ±¬²{*3›[~å_½f_ ÐÐ~°ú[ø}%¬Þ,jTKu£Â…øgH_¸úR4$«3ý•Ùú¿CÇ!§šzEÓQºÈý‘¿_dq¼)–¾ ‰~Kà2¬[êÿ.^ÃOÌ¢¬ÜZáp÷1ë‹ù<ýÎ×V?|ÈôŒ¼7@SÄ4Ús[ÉU÷?On^;»@yEÓ_ù„™o~aU¥ØHt{¯$ö €‡0°•ŸwÉÚ­\xÍƒìØ›l£…óIËÈdøÄ™ÌþæW«Ÿ‡ +{Òx~Àõئ9|,7LcÚË“gmKÏITVùö·\pådþÙö¯Õ6à Ìê§=! €Ñ!Z°uÓÊÊË™óíot3‰÷çþNQ±óRpVV™¿d-½®šÌí3gq6Çv~ß@›ŸJôDcßѵÈ;¢5šGG2áÊÜvÍ¥ôìœàÐµŽž8Íw Wòͯ‘”ª^Û§0Ö¡+¹)²D4[ŘVñR¢mëæ p_Ø•NñmèØ.–è¨0üýÄþBe¥‘³9çH=qŠƒ)ÇÙ²ç «6íboÒQÍ}êƒX÷ëõ¡’À½Þ+wá±`/ð+¢âŽ£4ñÇ×ׇ¢ú-†CU[5,ÒX"…@Ìù¿À|DÝ=G0Ùµ—àʪ¾H<éôpZ÷öGìןöÀýÈÁïÉÈ€ˆØvë…ð 8–ÁO;aubwäÒÓ‘À‹hLFÄ ü¤+¶¶Ÿàb 7òÁñä}ô2 ˆâ®À `ÂY˜¯ôC €@rÍèmHàÅÄV½Æ –©À)àlÕ«”Új½þˆª=‘@ " ±B~,½÷" @#¡yÕËFäZ¾±"»DþFŒ4I#F‰¤# €DÒˆiÌ ‘nτÀûsëH\M!`#¬©'BâÐ(iŒµ|€‰ÀXIU_lr鬤ƒÌóYüˆ0Vh ܃¸õÛÐ`é4¶ç{0ðB̦J"¶½!tö’ú³ø“Z­ƒ¶Ó€õ®é‘þh, x˜€¿s$p#¶sòIôÅ৪d0¡òj¼ÝAõ=Ypbf Ñ¥ˆsºBàM`6Wž·p3ðÐF©aD?“†ÇS\VÉ×kR)(QN¯á F:«§§°X‹eE €!íój@=ê1`&bRáuþo4½ëüÁJ|} \Þ«÷O "؀ܢ2¾^“Ê/[NPi%Ï}]‰0¬Õ$à74îÜôDÄ1‡V½/B¬ö7¢Ár°áØä@7u‹7€à?Àƒ¨ìn\ÅÔÑIhbõó¤Œ|f/Mb÷ÑÕ‹F#¦Íì>d#¦ûiZWGDÅÙø<X†°&Êï3‚ -—Ö;Þ`ü€p¥†qMƒ¸wDÃºÚ ‹1eý¡Lf/I"=§X±èÜPÕ‰ë¨Dxöw a>ŽÈQÞmOz °-ÞÃà-à5ìÚdОn.æ`EÐS—@_n؆‰ƒÛáïkŸö©¤¼’›Óøvm*…¥ÊóD_ÄòRïÉ1=• ˆ=}Õ$¨þ@ÄÍhbçE*)—ÿ”í>@2ð"-£Gâ© ð*)è} .ëÞ‚.;¦¡ö> ¦dæ•ðÉŠ–ïÉPýæ ®®ê¤¤þAd?¶]Ф‰ˆ§"²ž-Dx·"¦ʬ¦cYÉ]÷xšˆBlë=ŒŠmïδÑ9?NqU`7ûOžcÎ’dþMËUmÛʺDb“ÄWkª–Æ­¥ˆÛ9¹éÀRlêˆëPüð õ’ ¸O1~À]À˨øÛš…pïˆFõh‰ÁE¿Ñï?ÍË’9}Ny h@TɽžÆ©»v»ÖùÁˆ©~?\ÙráP÷ g/R¿’ nÁ Àpà]„+Ç&þ¾\×/–Û‡´'¨‰{†ZqY߯?ƼõÇ(-Wž'ú#´}ÝÒ3Ïe"³q©ZC_D)¢aØ®˜êlÊ€ÍÁj9<‚0ºEÏ B¾{ƒZÉÑ<<&‘–‘îzL9}®„ÏV¦°lúÎPBMØÖå½ò,N"¦ûÙZ' ¶õjïõ°Ø­©õ"„à° {ä0z4!éîã¨ØöÄVaLÝžmëëñq;R³™³4™Ã§ÔsðÆ!ô¡j ½œ"Ä~~²–Æ1À(Äž«8ø~W#”#t*š|™îBOÀ€Ó}á?³ID?·mÏuýbñqÕBßA*F–ï9Ň˓É)T.»e@È/§q&fX¬Cƒ“=Qà"ôçH1"ÂÿBKîõtàyàK´hÝ€^FO_`6âÛÄÏÇÀÕ}c™4,ž}'4Î+.gÞº£ü´)² åG¼ ­)FÙ øÂɧºÍn@x~F"æ…z¦!TX‡×ßvIJ`k;¥NC€X„šJ5L·OBÓÇ$Ò.&Ø-sÇÎòÁ²d6&Um…X´py¯†³ˆu¾& m<Â*zÚ# áØ«ÚÒ,@,wµ×`w2 e‚€©ÀÓˆRs6iÌC£:pQÇh·tÌUlKÉföÒ$RϨ‡­´nÁ{ÂŽË5¸÷kiØ÷ñô,,)ˆø‚Sª- ÷[ÜŽpr˜†0ãÓýx¥Fa~Ü:¨7ˆ³[¾«WÊ+üºõ_®>¢vì‹ØÚå–ž¹Žõˆ¨[ÕYq` 0ï)WS ìD8;Ôí~â q.n ;v§è…Ó¢Ô¨Z¾ûШD{gh=aÇAˆ°cÅ`rñ­¯)L÷|Ä:ß[Ss!b ´ÉŠ7#ÂŽ7»´OU¸ÃDÏ¢!L·w|SGuà¼csìPzs–&³û˜º¼,áˆqy¯êGba«9Lw4*)[¼íaÇ•À<„@}Q\iªÃt_@ŶÇFqߥÚÃt½õ‡2yoIÂŽ;ס¿Y²]òÝ0D§Ö0]oã Âd©¶ÌÞÆ…aÇ®úó_Š˜îŸ¯Ô¨:Lw v4ñóŽu¾£—Uðó–|³6•" aÇCQYK¹‘MÀ ìÓŒ÷x8¥:ìx5Z†vÂ?àô°cg€DD˜îåjÙ£¥SÂt½3y%|ª1ì8¡“nïúnY% ¡âÓ$ßMDÈw£\Ù#$áÐ4ub"ö_g]ÞY x-aº­Ã™:¦Ýâ¼ÕããöŸ8Çì¥IìMSWŽº;츑!3UKcW…éz'aÇÇT[V‡?ð*Ô‹ú„ˆg¶ËÏî Óõ6ŒFX¶'ƒW&+_9üÌtG$"qÕbª¡xÝŒg¶»Ât½ #°ñGV÷ g!Òà}@=dÅõŠ— ÖùŠ’?®ïÇmCÚì¦0]o£:ìø»uÇTeÅ® ;ÞÓU]®6D˜®·Q†P¬¯ú¿2û3ïeŽ\ÊÐx¸£ÈÀÄh¦I¤U…éziYE|¶2…ÕûN«¶ G$!©oØq:b¯i®™€˜î7ÎÍçcØñ4„Q3ö€`D:dÕ0ÝŽ-C™6º#=Ûé#L×ÛØ~$›9K“H9­MV|3ö—"òði’ïF#$‹‰v^D¢4„@]\Q |‚aÇZ €ñeò*_(zÓõ6**ü¹3ÏV¥«vìƒaj ;Ö¦ˆîê1L×Û°/ìø$Bó*·Qm”öAèö*5ò¤0]oã\Q_­Iå×­'¨¨T¯ftÐÍÆç‡UvT áyR˜®·a_Øñ6DرÍjǶ @kà9`*_}D•øfòIhHŽfòþ²$6'«ËË¢цÕKõlà¿h ÓmXç+¦l‘¸œ³ˆ©šö°ãXÙd47M€ÉÀK¨„鶉fŠ„ézëeòþÒdNd«W½LDHŠ÷£Aƒâ-aºÞF Â? î.Dl׿N\,u À8Ķ^‚ÒYBý˜àeaºÞ†=aǪø#ÒqyS˜®·QH§¼-…Ì#j| µàcà~¥Ÿò1¸òÂÖL_SMW¢o2óJøte Ëv«ËŠ­ÒÕ¡8”è†DlÁ´„L®6‹Jm«ônÅÔÑ'L×Û°GV ˆ”Å£±]MW¢o2Ë‚TÅVK€±Š yx÷ O`tOéññtª«}´ü0¹6ÂŽÃúÎÞ4Î0]oã ÂXÖR6uŒæå»5ú0]o£¸¬‚G¿ÛÍžcfµ C:2œé]”#¶x,“,ÆÚÝ­"åà÷Bý}iaEèüÞˆŠ!Ør„K$i$’FŒ4I#F„‡\ÒÈ÷hDÚ®J£‘CéùìLÍæÈéŽf’žSLQiÅe"¡JP_‚ü}iÝ4ˆv1Á$4¡w| ÍCdt£§aD$Ô>‚Éf"¶ÃJ«^PëøŒBä[oŽˆuhI£ùjôjPi4²35‡e»3øç`&ùÅÊ²Ø¢Ò ŠJ+È*(åßãµÛdÁþ íÒŒQ=ZÒ½M„Li¦WŒˆp—=ˆ5YlYÕ«ÓXû  B Ù¯ÖDx¥(«¨dÉ® ¾_LSPŒ¹…e,Ü~’…ÛOÒ¾YµcD·æøúxñ“áIT"J¯Î8á|Emý. )"¢'^™óÀë Àª½§ùpy2§Ï¹¤Ž©g xé×}|µæSGw”Ñ Í!„ÚM= Ú1²€…ÀDÖ£®.ºNá5àô¹^ÿý[S\õ$˜’–UÄÌï÷0¤s3×Ékëê–|D¼nº^."zD±Fwå`w1^áêØ–’Í=ŸmsÛà¯ËÚg¸ý£-lKÑTCâ ROqßà¯K2"ŽN½¾ŸGàñà‡ Çxdî.² ”óæ+@`€ã:ج‚RfÌÛÍ¢éŸC¢‘íˆHö<ÇOЄ ÀzÔ&+D”îÜèø)ô‚G/>úë0?lP/¥RM×mÖÿúõìDç„6Äǵ$:2Ÿ*g^EE%™Ù¹¤Ïà@Êq6íÚÏêÍ»IJ=¡zîŠJ#o.<@vA)É28.a-" –FÛÇ1l@Oú÷ìL—óÚЦÑ‘áøV%²©¬4r6çGÒÄýÞ¼û«7ífÿaÏÔ2ÄRä2{ýà±àóU)š|\Kn¿æ2n»æRâã”Ú}}}hE‹˜(.êÕ…;¯ À”ãÌým%ßüú'NÙÎo>[™B_nº¨±Ô¼vÐ4øãZÆpû5—1ñêK鯜ÐÀÇÇ@³¦4kA¿¸íêKH9žÎÜßVòõ/ËI=¡R{=bw`¸¦ßBwØ ¾¶o,Õg¢÷Ÿ·¤ñÞåEØùÛñÔý·pÓØ¡5¿¾”–•3÷·¼úɤ·=Ý7Ï\Û•‘Ý[8åºÎæÅ_öñ×ÿÌìHDþX=²Q¤@íZóä}73áª4ñwÎ÷ZyE?.ú›W?ùQ}Vp9Î/Çä,[,Ž*‡ë•ÝÇrxY²ÍÏC‚ynÊvüöãÇ sÚàhâïÇÝ7ŒæÀ²/xïéû ²Úμ±ðIê Ü%*œBxûmÀsS&ðq×õ£œ6øü|}™pÕö,ú„÷ž¾ŸðÐ`Û— ¥°§îð(SXÆ öÙÌß¿ggþ]üÏO™èÔÁ??¦Ý~ [~žC·ÄöVÛ”–Wòü‚½•:\·QR‚Øz³Q÷¤G§xvþþÏO™H@×mÃúùú2íökØùûGôíncV\‰¨¡¦ž”SWx”xigò¬ |î½i,ÿüð6ícÝ7íîr^[6ÏŸÃc‡XýüØÙB>_ðÚ#¾IDATeW©6I]V"òß[aü¸alš?[uïLÚ´bÝïr÷ £­7ÈÅÁ ‡Ç€©9–ëÖ*þóà­|úÒ4üýÜïÓ  à‡wžâ¡ WZýü—­'äRÀN"êÚXaÚí×0wÖãõÛÊs&þ~|þòtžž|‹õ»£níR½ð`4Âì¥IV#8Ÿ¼ïf^œv›ÛûTï?û ÷Üh™X¹¢ÒÈû˼D5âN–b5µõäñWðÞÓ÷×lÝ6ƒ—¾ƒ™÷Üh½Á<&ÜØ#¶×Êäð)ËoÑÛ¯¹ŒW¹Ã©×:vò4;ö 'ãèÁ}ì}üÂTÒÏd±hõf“ã;SsØs,—m#œÚW¯%«µ«/ÈÏ>d÷é***ùñÏ¿ùeù:¶ý›Äé³96¡uóh.éד W gÀ]ì>ïë3î"-ã ßÿ±Úôƒ „RPŸ›h&x„˜û圪[b{>z~ 'Ææ––•sÕäçÙµÿ0Ç×Î#®eŒæŸ÷õõáÛ7gÒëªÉ=iZ«iî?G™uk§õÕ«Ygy(¡M+¾~c†Ýßü»öfü#¯[lã—”’›ÏÞ¤£|8o!w]?ŠÙÏL¶¹³c ƒÁÀg/Og×þÃìK6³Xkñ û%@RF>ûN˜´ð÷óãûwž 8ȹkÀggS3ø%*"”¹o=na˜6'Ÿµ_RK6Bo_sgÍ$"̾´k¶ìað-š ~?__b[ÄaZäæÿ,ㆩ/S^aß®MHP ß¿ó$~¾f±Âih¬¶Ú°èÞ,ÝmùWœvûÕtOŒwêuþÙö/³¾˜ï”s îÓ­FUVX¾GEU&N43îºn4{Û‡›–‘É S_&¿P䃈 áÃçâìÖ¤ý3¬­?³wñçÜ0¦vgéÚm¼òÑvw¹gçšhÅ ¼ÇîS¹]€J£‘ÿššˆ°žy`¼S¯s.¿Û{“JúGxõÑ;-ö¦míbHêð?Ó·MxiúívŸæ™w¿æL–ÈêÌ??¼Í·Ž3ótíЖŸf?Í÷ÝTsì­/Ôüœ=<÷ÐËÊÿн3P× åtYù¦Q~Þz¥ÝSA5¦¾ô‘ºæÛNZ7®‰%¨&õLg\”¨Ä+ÈÁbßÿîëGÓ²™Be +dfç2oamàÀ¬ÇïQœ1¾òð5NÀüÂ"¾ým…]׈ åñãLæ¡¥lwƒ¢k°ãˆiŒ½ûo¹Ü©×øyÙ:¾ùõ/:'87€ç¡ WYÛ~Dæ °ÉËCŽÜï•wÕ¬åÃB‚¸ãÚ‘Ší}| ˜’¦ÐÚ6Ã\`z «ŠF½ [‘SLyâïçG×mrî)Ç™ùæDG†óå«8å¼ÖèÙ%Áäý¹¢2ÎÙokÌf2‰ž¬6U#¶E­xk×þÃ5”~Ú¼Û4Á #; –}&š€ „sS§èÖ˜ñˆké”`Ÿ²òr&Îx“¢báÿô¥iv{™í¡iD1Q¦à<•%³Áß<:’ÈðPëmUÒ·{ÍÿÏdå²díVÕŸy÷ë_LÞWëìÅßÏø6f™§t¬ÿÒ­(,5$1M“‡ù…÷¿cÛ¿‡˜xõ®5È)çU"&Ê´ï2G€ÌvGÍÿföЧ[G“Ùâ”?RüFŸõÅ|þXµÉäXA‘ã£Ö¢ïŽç«u9º5Å¥¦ '{4ڶظs?¯ö_Ú¶nÎûÿy°ÞçÔ‚y&™Âi,0[Õç~ ^{ô®š÷)ÇÓéýTæ/Y[3óƒÚ8êå`]ê“P&,Ä,sŽ €nƒü|Mµô¥eõ[7ç1ñ±7¨¨¨Ä`0ðõë3œ.(²EI©ißýýdI1 ̤ô¥eõ[&]9â"¿÷FÞøì'ޤepã´Wðóõ¥idyE&Æ`HßîœÊÌæàáü«2¿ßz.)¦Û@p€é_-7¯~Þóé¯|Âác"‘çô;®qꎂ¹y¦Û™ÁMtkw³¨kó¿™#¼>ãnÞzâ^“]òŠ NŸÍ1üãÇ cñ/SYÇYX`ÑwÇKN¸Ý>‰æƒ$õ„ã¡U¿¯ØÈ—ó—Bÿýê#wÖ«oöPV^NZ†éf°¹q“`1HÒ22)¯¨°Œ²³“GﺎÇ á£ïÿ`Ù?Û9’–AQq ­š5åâ ÏgÒ c¸¤¿ïdçÖæœˆmáxÍG Y¹ûiF· Y¸é_-;7ŸŒ3Ùyìï{V¨ýüýü˜;ëñzU²—¤Ô“&!¦þ¾>4 ÑñWBCŠ˜*Wý©ÊÊËI>zÒ)òì6­šñÚ£w™øÌÉÍ+ 3»ÖQصƒcÅ]ÒÏd‘sÎ,yŽëêÖ„úìONaízjý޽yí«olYy9^£Ýñ×fÈ­5ÿŽ 's‹ýáÂë¶ÿkò¾uT ,+n _Dm‚:b õÛ÷:=>Ãÿ&¥Öü?,$ÈaÉùºm¦÷›P Ðñ~¹ÝúÚŘ:éþZ¿£zâ8+6ì4yß&Z!·|cÇ,ù’;ï÷Šõµ÷i`ïó?ÙýFçÕãum:Çšê¸,ýÇ!ïpLTÑ‘áª/sÝxTD¨Éçör.¿?ÿ6ÍØ5VÇóÁ†Æ,cÑêÍäØ/È©¨¨$~Øm´x3-ÞÌêMV²ŒÔÁh4òßÅkjÞêX‰ŸÒ²r~Y¾Þô`¬C§rº]ônÅ7¯y6ç¬Úd÷2 cÃÚÚɦÕÅ7×¼ßóǧvå4ç¿‹×PXdªpééðù¼žx N~Í‚¢b~Z¼Æv~øúúײYÍòkîï+w}~ýkCMÚ0??“,Aö°påF? ~'£ë@Ïvëå7?ÿ©zc•)ÆBüèÒZÎl‹ÅnÀ[_.p(SÓ-W\Róÿo~ýËæ, õÄ)î¯rL¸j8­š5µûz@æ _@ç…¢umBüè›`z3¶ì9h‘v[|·p¥EYñ‹;EK ¾@'ÓCRŽóâÕV›+qûµ—ÕÌÞ*+\ûЋ|õóòšYAQ1_ÿ²œ~×M©‘ ·jÖ”7›äP×_±±Fb^ÃyèZ:7#{X–úšþÊÇ%lpçò yò­ÿ³8>ª‡ryr `%súŒ7>³[È×ǫ Ë9—Ï]O¾MDïkhÚ÷:B{^ÅO¼m’7pÁûÿ¡YSûk7—ðÈkŸjú]ô†î ÀàÎ1„šº*Kç™w¿n˜i`êK‘~&ËäX³ðú$¸.êÐk80Ëá‘q&›¯n÷©F\Ô‹ß>~Î$xyE…‰à„8lí÷oÛy¸š§Þùʲ\|³=¢{èïËuý, @¾óÕ/º\ |ýËòšƒu¹ù¢6ø8±ˆ‰×â\dyø‹ùKL}jeìÐ~$ýõÏO™HŸn‰„‡ãçëK‹˜(Fº/_}„] ?v8÷Àï+62û›ß,?踮`±ÓÐõ.@57 ˆã§MÇMÂhF#·>ú:«ç΢÷ù~Z;-›Ea<äxy×µ[ÿÇäçÞ·8äϸÞÎO7æµôAT2 ÿ¸ç™÷hÛº9ƒût³ëtÑ‘á<7eÏM™à´.ì9x„ÛŸe™p¤ àÜìu.C÷3見,açò ¹üÞg8rÜÊO¹—{“¹jòóV}w mOP©ÿ×L`°åá¢â®šü;÷%[~èf¤gäOZ÷M ÇŒÓðàçÃ#c±¶ŠÎÊÍã²;Ÿàë_–»µOF£‘ÙßüÊ軟²úMàëcàñ+;Ë­?Gð.Çêš_XÄ•÷?Çß-tw¯ørþR†Þ:Ãv†¡Ëñ…µÀc @ÿM¹y õÄ …E%ÜùÄÛL˜ñ†Ã í!-#“«xé¯|bSž|Ïð)ý­m€K¬TRZÆ”?äš^àäé³Ö9‘ÓgsÿÈëLzú]“\& Bìbxeî‘@÷6¶÷jç-\EçQwóá¼…–™Yœ@AQ1o~þ]FObáÊ6Û LŒf¼ c%±ƒÁ€‚÷·è2zo}¹ÀBví JJ˘óíotu·² ©0Üé—w9Õž©[Žu?èÎEõÊäc00¨s ëf’[h}€•”²xÍV¾úy9 C»XB‚ê“yòôYÞŸû;·<ü¿¯Ü¨”Ô¥u8oÜÒ?}Ú×5ûÏrÚlÉ hî(c@ì§§ jíY¡¤´Œ¿Öïà‹ùK(¯¨ C»Ö„…Ô/‡ä™¬\>ùáOnžþ*ó—¬Už5&¢_Õ_`Yç$˜W½8] Œ©ûéµ}cyxl¢Ëûæ(§Ï•ðàW;ÈÈQÏÞêïçÇè!}¸ü’~ pÛksÊíK>ƪM»øcÕ&VnÜIE…z…‡öÍBxÿŽ^DëwøÅ_öYV*ަ7Hw´Q|…¦J;¾¾>\vqo®ÖŸá. ËyÚfb‡RÓXµq7þ½™eÿl§¬\Cäip`¿€Ð},¶X]Œõ w…)ÍÃøø®Þ<úÝnËo33ÊÊËùcÕ¦šÔÏM#ÂHŒ#±},a!„aÄH^~¹ù:’Æ¡ÔV½úJt‹‹àõñ݉Òïà÷XB€»€ï•¢=•,]»­¦òSdx(‰ícIŒ#"4„°Ð È+(ä\~!‡ROpèHY¹6¦¶h‰˜;k«>¦K<ÖÄ„ðá½yáç}lJÖîÊÊÍcÓ®ýlÚµßi}Ñ­9O\Ù™@¹ßï2‚Û€ß;v}sÎå³eÏA¶ì9è¼¾$×¢ël?ZÐç"ÕBýxs|î¿ô¼Ùnkâçã—'òüuçËÁïš7ci˜¯/_`$p ?øÁÃgÕ pëÅmÜ9†wþ<Äö#V. w|ŒM¤]Œ‡È¾¼‰~ˆÝÅw–;h‡Øçoî¦ë¹¯0Õ´æÝ‰°jïi¾ý'UÕ7à([‡qÇÐö\œèx¶ ‰h Lk€tåæÓt«J4Æ« ˆÙÀˆnÍ~~sÖÊdÑŽt6'Ÿ5©4ìþ¾> LŒæÊ [Óï<Ç2ÆH\DçªW2°±íUßú«¾ˆFoÄzßË~5^gª1`P§uŠ!§°Œõ3Ùq$›©9œÉÓ&iH¯ö‘\ÅÀĽöÏåt¨z‡€#@*ÚËs‡íyü:á1=õ¡Q<Ñ‘Áþ\Þ«—÷jˆòÜÇÏ’žSLAq9ùÅå "YX-#iLH@£øóxA@ϪˆòÜg† Q‰Øˆpâ 4ÑU?×Èh”OxX ]cÃ¥N¿±ˆH8*ƒ2-ðøm@‰Dâ8ÒH$i$’FŒ4I#ƦX¼+ƒÿûû¥åêpÏ ¤¼’yë±î •ºsÀ @¿å$öRlJ#Ú ®&®iŽìÀ NRõæ©°jïi>ú+™ÓçT4ÀeÀùx­ø¥QpXdÙl±«jªéÅÔQ8¯E¨R3‰Î8”žÇœ¥Éì>¦U SE,0‘–Kâ9dËjHe–c«Ã×ö!”Î6K¦çóÇŽtr ËèN€Œ|Ó5Y¥Ì^šÄ;‹“ÈÈUOšbA° ÈâÐo¶‰ ø ø!zRæà1 Ã|’7˜JQã°@?nÔŽÄáï+ýˆz¢¼Òȯ[Oðåê#”¨ âO•ˆ!n›&ˆ\÷ƒh¤Ò1S ìV!²&)sx ˜‹ÐBZ]åS§QÉuÒ6:˜‡FuÐeîÀÆÈ¶”lf/M"õŒê“P¼¼†x„^@-±US`Â? ixŽKSj )Þ^LÒ\)¹ybÈ•vôIˆbúßP;[ÈË’Ù˜¤:÷3ß3 ³Ï¢g©Mkx„À²p³Äd+½šZ/¦ ¢,Ðâçí‹XX)ÙX‹Ÿ«ûÆ2iX¼ ¢qyÅåÌ[w”Ÿ6¥Q¦ž°t 0 ±1¤D/Äý¶Rœ«>U-‡#òõI\O)°Q7Q=Üy"Íë?J´nô‰ßÀjÁ¦Z"‚ý¹}H{®ë+«áºˆJ£‘å{Nñáòdrl¤F¯ƒÅºO#ã€9ˆYÛCz¤;È5='ŸzžÚLÄTÿ„@{GhÂ{ø8*Ñ[…1utz¶´ó%v¤f3gi2‡O©> Eˆl±î³ƒjÐ3€òþo 0 ³ê’zs±ÎW¯[| ü!ëÒ„£_Ñ€WÔLŒæá1‰´Œô‚ Š Èés%|¶2…e{Ì—îVQ\÷9€f‰ÿ€LšT?Î!Öù *¾:¬@j»Ó\×wŽ>xè¡Ô(Ðß—ëúÅrûY&Û^ŠË*ø~ý1æ­?¦E–­iÝWú!üÊ5„|>ˆ§#ÀE=ñVʀ͈;¨ž¸ê ðBÈçÎX¤û!J6¼Œ(’d“faÜ;"Q=Z"ÝÊð÷þÓ|°Lƒ|WH?^B㺯žhö†(îÙ éÐÂAÄt_=©u6âïÿ.õŒÞpæ0ŒžGì)+nt‰ gÚ莜'3òXcÿÉsÌY’Ì¿iªUŽ«×}Ï"4{î¤Úôjßó­BsY+Õ:éˆTµe%0x8ãŒK»â{¸ð¢tƒM| .ëÞ‚FžGÓ©3ÈÌ+á“),ß“¡Å]¿±­gG— ÙD"â©~aA!"ùVÄÐVfð0b?Ài¸r"~) ÝE©Q ¿/· lÃÄÁí­¬¸¤¼’›Óøvm*…¥ª3øz¯û\Äpà= »b+ ?"Ï~cµûˆAÿ7"I©2‡'ù®èŠ«Wâþˆ%Á‹ˆ¤Ë6‰kĽ#ÖÕ‹Ê®h`ý¡Lf/I"]½Ê±ÓÖ}.D³?ˆp„¬¸+ì81Ý?­Ú²Z®ý:ZÌ„ƒ¸ëOƒØŸT•™^ÅÔÑIhîÝò²¤Œ|f/Mb÷QÕ0Ýêuß ´<6ú@³?ˆ8Ķ¡r8’çs¦{Hµ¥’\Ûé¸ÛööFl# Rjäëcàò^­¸wxÁÞUj;·¨Œ¯×¤òË–TUWú«ÛzN]÷¹‘Îb® ˆ™Àe¨É¯–k¿‚HÁâvôðµ‡ØFR•™LŒfÚ莴ŽòŒNÇÏòÁòd6Ò¦»±¿«®úölZ!üw£vœ€ðxŠ_8±Y§M¾»!ß=â©¢PMÄ6’¢ÌÔßׇ«ú´ÖuØq~q9ßiÓÝŠXçop}ÏtÅ…ˆû­èª ;~‹u–ëѦ»q¿×º¶SÚГq»'o¢’n":´ w]Ͻ[é&ì¸:L÷£¿“] ºSw‘…ç ´È@¼p=0 …|”€>ÃŽÖr´è0Ý)×ÖŒ>FŽ%¡ˆm/U™i§VaLÓ‘îm”³Y¹š©9ÌYšD²z˜n)ð Â÷Ñ ë>ŒØöš‰ZÞfˆ°ã®ï”"'yuµ‡é6„\[½€j:"$Š2SpI׿<0ò£ÙD"bs1Êõ2!¡àÛý Ät_[ò®@ï šˆõb7¥FÕ²â[µ#ÀϵóD;Ãtw!„5.í”÷С靨ÊaÇÕòÝÕh Ó=„kÿéÚNÕO1P+3}¡,´I³ðîîš°ãê0Ý—æ”z¾ý,Ķ—®Ö}‚fPMØqo\óDkÓÍAláêY®m‚'€jšÏ¡AfzA»H¦ŽîHǖΑ—8™Çœ¥Iüï¸æ0Ýç…Äq4ûƒhØ6tVØñ„|7Yµ¥'ʵÏ4ÕtFXÚÑJœv|6¿”ÿûû‹v¤k‘ïê~Ýç¡hòB@4µ*¶)B¬óµ…éþ¸ßÚvÿu†'€jÆ!ü JBý˜`g5£²ŠJ~ÛvR«|÷BȳHÓÉ%Žr)Âð+úƒð.Æ>YqÂ[³«¯ŒWȵ½Á€P‘OFƒÌ´Mt0ìÀÀDåjFëe2gi2'³‹Ô®]½î{-î!‰3ðîDƒ?ˆ„“°§Êµ‡é"t ^!×öPMµÌt*r‘> "ì8¾™iØñÑÌBÞ_–ÄædÛu•«¨^÷=†–âLWPíR¯fÔ±X4Ïbx!ßU_°U˵gÇìí¨Ä½\ˆf•^~>ãõýãŒKlüsæ ãõý㌾>ÅŸ©zýúwŠÄ}tA|+ß7Fzbä1Œ<…‘K0â§z¯oÀ@7ÿN’zR½ö*782Øßè§åA8‚®JôÉõˆ{¤|ƒ0¢iàŸ@Žßï"Ä3ãméI5qm%Ú„Jà'ÔU$z¤5ð)·oÏàÿ•%‰g3 ±g«ö lF­ŽÄ€¸—j÷{7âÙ4|€ÛÞ{óá$p/ú :•ÔB@tËû}‘‡OÖ¬k„DR»Ÿ[‚@‘劼—`Ä6qB®ý)j:/çÿ^Š¿®1S ÛIEND®B`‚pioneers-15.5/client/gtk/data/develop.svg0000644000175000017500000000401111652323243015341 00000000000000 image/svg+xml ? pioneers-15.5/client/gtk/data/settlement.svg0000644000175000017500000000341011652323243016071 00000000000000 image/svg+xml pioneers-15.5/client/gtk/data/style-human-2.png0000644000175000017500000000053610650446620016307 00000000000000‰PNG  IHDR@@ªiqÞbKGDùC» pHYs  šœtIME×(8x›6ÓëIDATxÚí˜Ûƒ D]§ÿÿËéSg¬Óª´ $rΣÈn"–`b4`NË—ú oÒ¯;Ð ¼¿Šo^aªšNâcMP ñq&¨ŽøVþJeß¿ Öûå ”¯Lj6´/cm®•­¿Ý÷¯_çµk·|ÖGÂEêà=¹/²Óoƒ€¿ay\T@rìd/ÏÕkPa‰ò¯‚N3º,Ù8= 0¯à-ÒƒµSXFñÍÐ'd h¸ð»€]]mól©ó€ƒÌéó€¯c)£§Q `NžÎ7,éj8±IEND®B`‚pioneers-15.5/client/gtk/data/style-human-7.png0000644000175000017500000000057310650446620016315 00000000000000‰PNG  IHDR@@ªiqÞbKGDùC» pHYs  šœtIME×/.ÃEIDATxÚí™Qà DCÆû_™~µít#‹’¼w…uAL¶ àÁØäý}v,67é¿ùÛðߤò;Бx¾¦Oޣ´j%¯Áj$¯ag(súàádW"ö¦n×?·¶¾©´´"¥%³ØXV ð0! ìõN?Ö8˜õ/{¿‡ïE ¬~O«oz€öTÂzl±>¥à H‡¬¦7Ù;xó× |J_¶øÙæèc¦ÉëÖìþíåý¯ßk} %éj×0~ˆ@ò+ëk- ímáÄ6‹ÂÆê?5ñ7†¥Å’צkǰ/Ê—H-F7˜IEND®B`‚pioneers-15.5/client/gtk/data/ship_move.svg0000644000175000017500000000506111652323243015702 00000000000000 image/svg+xml pioneers-15.5/client/gtk/data/trade.svg0000644000175000017500000000414311652323243015010 00000000000000 image/svg+xml pioneers-15.5/client/gtk/data/pioneers.rc0000644000175000017500000000006210462167431015341 000000000000001 ICON DISCARDABLE "client/gtk/data/pioneers.ico" pioneers-15.5/client/gtk/data/splash.svg0000644000175000017500000047267112226322001015207 00000000000000 image/svg+xml IONEER IONEER Version 15 P P S S pioneers-15.5/client/gtk/data/grain.png0000644000175000017500000000032610434245071014774 00000000000000‰PNG  IHDRóÿabKGDÿÿ¿H pHYs  šœtIMEÖ FÞ¯cIDAT8ËÅ“1 )ÿÿ3NFK¨Ñ8À ”†C3‘r®š#8¯.„j¸¨ëÝ>£_ÀKŒ=+".ÐÉ(BäîšÄ.€‰.#ü^¢š^ <»¸r ¦+rÑvH×ßy@È5ÃTIEND®B`‚pioneers-15.5/client/gtk/data/road.svg0000644000175000017500000000314411652323243014636 00000000000000 image/svg+xml pioneers-15.5/client/gtk/data/style-human-5.png0000644000175000017500000000030410650446620016303 00000000000000‰PNG  IHDR@@ªiqÞbKGDùC» pHYs  šœtIME×*…ÁÈQIDATxÚí×Ñ @A‹ö_Ù¦ïyÒ‡̶ ÞÌNsŸšù²ÍÎöô/ € € €8‡=}_žö´tì!!šs 3IEND®B`‚pioneers-15.5/client/gtk/data/brick.png0000644000175000017500000000031110434245071014760 00000000000000‰PNG  IHDRóÿabKGDÌÌÌßÁ_ pHYs  šœtIMEÖ 4™1FOVIDAT8Ëc`hÀ¥ÿ“¡Îùÿ>VCÕÝü Ê#0ÄßA1„‰R/0Q= Μ9ƒWƒ‰‰ Š~F4y’Ãîl‡N Át€ÍÅÿIÀdÇVd¬-W2צIEND®B`‚pioneers-15.5/client/gtk/data/pioneers.svg0000644000175000017500000001633612422471006015541 00000000000000 image/svg+xmlRoland ClobusIcon for Pioneers. The colours are similar to the colours in the Classic theme. 8 4 9 pioneers-15.5/client/gtk/data/splash.png0000644000175000017500000011033613252243607015175 00000000000000‰PNG  IHDRÝ¡›bKGDÿÿÿ ½§“ IDATxœìyœEÙǿճ3{ß»¹ïá $r£ˆÜ ˆ‚· —Š(ÞŠˆ¯ú*Þ‚‚ŠÂ+rÊ}ß!\rBÎͱ»Ùézÿè®êê™î™žÙ™ÙÙÍü>óÙí«ªž®ã×ÏóÔ%þ‡ *¨ ‚Ák ¨ ‚ *ˆŠ aUPAƒU-@TPADêY…°*¨ Dàa%E…°-*í§‚í"¬Jã© ‚ Š*Q!˜ *ØN­±—3%TL ƒ¿ñTPzTK!B˨4ž *XTL *¨`Р¢aUPA?Ðï}EUÈÂB¨4ž †:ŠFX•ÆSAVlß(T*&aå„AÕx*(=*„‚âTóJã© ‚þ bVPAƒ «‚ ‡Ò~þ·Ce£BXC•ÆSÁC «Ò~*¨ ‚þ¡âê ‚ ”!„IQ1 +(c”wã© ô¨Vd”Gµ-)*¨``PU™CSA TUH§‚ Šˆòn`å-]*&áv†ò®¡å-]#¬ò®›å-]l§¨ k¨ ‚ 2¢œ(¢bV0¨PN':§Ôåˆ aõƒ³N©+¨ú9¬¡ÿ¨4ž *¨ :*Ã*¨ ´rM®”/T1 ·o ­Æ3´Þ¦‚”a ­ê6´Þ¦‚ Ê•a TPAŽ8Ò(' «‚ rÅvó¹Ýn^4 *„U8l7uj»yÑ Ê<¬¡ÿäâWPA9 2¬¡‚ Û}#Œž“°?¶ïƳ}¿ý @yÖv_}¶û ¨ rðaUOT€RCŇUÁÐB¥B‡`hdLy›„CC£š•\© ? úa ýÇvŸT0hPF&aU Mcs ’졯‡¾n÷YÉ*¨ Ä(I³Íã©m§º‰DVŒîõt¯§{=ëéÞ€L–BŒœPF&aûNþ³üƒÛ}l~—®åt­`ýÛ¬x‚K 'Üv‹òù  ”yžÕgÒá ŸEç âõáÏI6,aÕó¬zž÷^dóªÒI˜eDXý„UEãÇxWºV°ìQ^¹‰®'Ö@£ÌO¥DÇNÌ8qsV„§ÍhžÀÔc6­dÕs<ò­"‹˜U¨ß7–0±Œw›Æ°ë'¨n#ÑF};µ…im2É·ñâïÙò^b+¬*:¦3b6m;PÓJM ÕÍÄëéÝH÷zÖ³y5ï=ϻϰqÙ@ËZÁàG¬šYŸ`úÉѨ*2ÉŸæF{´hßIñ‡V¼šä;[ö˜Î?¯aìßÝgrÌÙÒÍÖnz·Q_Gc­Mì8‘™SØwóö"T$Ýë¸çK¬}=àV¢ž“ïÊSÚÛ?Éû s ³/SaÄnTÕF ±e5‹ï啿欓ïð!öýrÔ‡Ÿþþ%êÃ'üµí‘ž\û:·P?‚ãnŽ~xô»,ú—wZŠ¿çKøØÃùÆ%éëfÛf¶maëÖ½Åú·X½€uoö[J¨iáŸÐ:9õú+¯qã]Üÿ o/gÍzâqÆ gô0všÄiG±çÎi2&¹þÀÈÓ”¯IøÌBþð\~ŽïâÖ–ívã&6nbù{,XÄßïÞÎGsÙ'ijð¬iå°ŸqßŬz®ø¢AXŒ;]Τu‡ÜÖu2ýdv<ž·ïaÁõlX=ÉR‰Å‹óU*Ú⛦B`.îV‚…ÞD_KPUKU-µÐ4Žá»¹—7.eñ=¼úwz6äq¢‘C®Ie«·—sΕÜó¸ïâÖnbá›Üý×ÞÀŒÉüðBßÏ{ ×må“Ñ>´E‚åæzÙüZ-ö‰3½ŠÑñÜßgÕ¾ÿ;¦Íiߺxû]A¼>(ݼ¡bMc9ê7xUÎl¥aU1ùp>ô;v>+r¡EÇ´cIÔ>Z ‘ÇÛ3šÆ²ËYsSþÖÜÜo¤ÖºGžcÖ ©l•Ž—ßäØóxÑo”<º- ñǦ– f}’™gø®<üœÁ„çÕR-ˆ ª GÒ ›%+“,µy#É+}TŹå'±jœÿ…7ü}‘¢f?¯¢½™öŽý‡î*Òã/òÇÿcÍÖn`Íz^y›Kª˜Ëôãç±Ï—C»cº6ó—;xèY/çÝ5ŒhgÂhšÍ)GRWdÕsE`ÃbP\ðôË<ú§à¨®øYjŠ5Õì¿çÏqc…hRãB¼<»¨®\³?›zñ+?qÙªÓâìZf¤ÕÞ:Á‹™pX‚åIº–¤E5ý¢ }e‚ £¥Ùâ¨j¾ãW¿H}¼*ÆâÝèN¨Ð—dæशt§±UˆÎoΡlµðMö<…ÿÉÇV&6lâÊ_0ïã,êܬiåÐÿ¡mZÆÛºÁ yï!ØûbÕ©‘¤Z¸þˆ½ÃcÔȺ©FD 8Y…ÉŠ7Þ P‹2d@éS\›‹×©»‡{çÄ 9àL‡Âw ã?5Îa³¨滲v7Ý 05Æ·Ø*£cìùnÔäJƒÁ95GDr©¶Z`Û%Äýΰ÷ç/÷qªapÕ ¾ÕÀ&éþê2F¾CŒý4÷7*œ…»œå`IÇ[Ë8èã¬^çžÖö‰3­ŠNA³Å›Õ’Wúxl=Ë>Áã7Ð’Ö™›hdþ÷¸ã¶¬u¯8ãbl’tI¦Gð6aÖ'xöçÙŸü^#ïÙ¬¶Ym¨˜-‚ëé´nÑ©¾‰­ßi`£d“¤6ÄÚÕb7G(ßW1¢#Ó¥Oøn#]6³¥8³Š&Ð[$$Ë“$áÑç™6þ)4¡Ý?Ë’û"Mê?/õʽO´i·8¿žÚh sš†•' Ä3e45§(èæý—¹»ïÚœ]8«‡WS¯^^À8Ã52\ïl\Ú½7`ÔÞìrVð­u9ò3.[ÅáÄæ%¨6Ša¸ÅTØ/Ω5ü§—[sâ…ÜþsªÒRÃ¥ <ý?»18¶¶©ÌüX>}{]›ƒ#´,öþ VVnÓû$¢—-Öø%É)lô ‰?aõG–"ýB -ê¯{]jÐÖ&ªb<ßW¸ºæÿM=–úáÁA,âw· ³¸¬‘1UÙcݱŠK¸úºPŠ™q-rÎÈoÿš!®º¶ÉÌ8¥_EÔϺ1ÝõoÒÕÅzõëÝ–%lÿ˜bÁ1¥ŠK¸ç¡p1:²[„¢¦5õbg+3ªrVRý6³N`Ö Ì>9ÇE€•^¤d›þÿ‘S ½]iÁ­M¼ÙW”¶”¨gçÓBƒ_ú’6õ‚‹hQiqj/ׄt9YUÌ<;cø ,}—‹zwç3hŸsœ%ÆÚ×9i>­û¹¿?ý+{Á’b§E˒лí,Jf©ˆR¬µ°Ï®tÄrn„ò=Þ~^ãÇQ0 Œ`åÔ\#@mÜ̦â¬E³ÓÉT‡ TYµ†Û8¥6“›,;W±èöлãæÒ4#3þx3<|+–`Ηû1ï,¿QN1ŒMwø•G‡è¿€mó\6åN@OZÇèÓÙyF>D1:æ‹yC·•öŠÕ-©¼¿žž^6K’ùUµŒ9:é°Ðp»‹¤Í˜sÓ†Dùí½žgB\­B0âƒ"ñãèj>%[ÓjÐ9ƒ©ÇF“-¯ Ë#Húo|Œ:áýâ"1Ë-ÅX¸¯tÕÖÚÙË$p×¹—¯Ë&Y>UÏwšøNW ô8óÁ9¬HíÄAèÔ++Þ°Eº]Ë…J¹iõ#Bïþõ?'Õ¡?*Í‚—ïc´)©&Ì¿ÀÎ¥'¡ÝbÏÕ\ñ3¾ÿ¥à »žÃòGØœãHœh$–'ý¹«ÀÚ}üû &ĸ.íƒ4ØSt¦§/½Á:;{ +ŸdÄ©'î@ÓÕ.]†2|FZ‡Ý²U<ú@kÈè§L‰fKºsfh ç_Ø;«÷*#úºy/|=¿±»`ç·sqdŒiKùÞoC£ÝísÔ¶æ&r 6Cðc–uŸäâ …©JýI±Hÿ_ÒI›/_ùþƒðàoùïS¡w[§pÐ÷9òwL>ŠXÆa®åƒŒ+•ô9Õ¤NÏÄú.FÇR…çƒðI¼#;y«šé¹7* ΊsÎ×yà÷ÁKŒ=±sYú €ˆQUOUñzuàï9ŠÕ0Q)¶v7¶°InèÛ¶Íôm¢:sgSÐw£º™)és3£çgæ'Ë#E`Ø.ìýjÒÖ¥IÚ\øC®½`Ç8ã¢iXm{wsð'ùÑ…|î”L3pkZØù fœÎòÇXt+ï>]¦{P Êåe²¢c:û~oÎÒw9ëkîq›ÅÔ¼=X!¥ž>~ÂÄÆMŒ¯Ê¥º‡Àïî`mä´4¥’g\¯ñ?á  ~p¯¯Ð>ŸªFªÒƵ%ü^B+Áð´eÈRÿZ<~C–°& ò¹-}ФñUU-ÃwgâaŒÙ? _çsßæ¡g,8¥.1N¨cÑF¾ð]n¼“_\Î.S3Je1f?ÆìÇæ•¼q+oÜB2dÔË@a¨ k¨δc™vÂ?v`ÅjæÂ[åÔ\Ѝ.Q˘Y¼_f‹ Rüà:6Pg«&^GýpÕ釔<ø ×ÝÌ_îpýÀéõLÍEͨ‚ ùa>Ïn'rìøòÙì‘6/:õ#™õ)¦Ï‹¿eñ%±…£4Afv¶rÄþ4tÑhÓ»‘m[‰×o ~83èœÉˆ=Æg?ñ§}…E︧3âì—qíÍüò$–1ÎîZ ‘×Û2jXÉj¶Ê¨Ã5¬8M;Ò8™†I4N$VËU¯qî7¹3m1-lîbkF†> a°{è- ¯—[îá®§¸ë1ßZcœVÏá¹/©^'¸¬™?mæ®­üýnþ~7‡ì×Ïf~HG¤Fms.fÒá^ÏŽùú1ªà¬zöKðëͼÓÇÝq÷cìµ3çŒãβ:sç.öK¹‚5¯ä™z‘;a•R%ëGZï¯â§ãWÿð­Ùjqy3ù4×"…H•™°š¨³ {ñŒl»j í·¦ƒætçE¯]x*'^Áû¯€žHÐÖÉšbn|ÒEÁ 'âüóŽ<À»"bìñC¶.cÝK¬{‰-K3ù‰3d|ô3Ç=Ŭèháôqú‡¸ÿI¾ûM¦®e¿ê´¼©q¾×“=ܺ•·úxr§\̨N>}çž@g¸O£¶ƒy?æ¾óXûj¿…èÊׇÎ ¡èÙ yìn~Š{÷´*;Tñ¹FFô‡­”`è]Ÿ)Ts‰B°}†‰`}IÖl ·ÉME&Ó¶­»h¥!¨cN¤µñºj.9…Ï~‹¿‡lHÑØÂ¦ôdt¥½Û¸ñÎ4ú°¨GÝ8FEïzÖ¿ÄÚgèZT00Å‚`ïòôË47ÒÑÂî;ñ½ùèQÁ[„ÌÛ‹ýo䑯³*ãЄ„T5sj˜SÃK½Ü²…—·±b5_ý®ú§ÁWÏeÒ˜à€±û“»Î¡;c=/6™ëáç8äZ›hm¢¥‘Ö&„`ÝF÷·jç›4œXÇQµÅ×ß³)C{ŽÛšYWˆ~âDÈî;À{k‘’z‹Ú‘´ïEÇâªÿNÊ`å#pÜü»ð¯GøÇ={pÀ]!hÎÊÅ™ÆÜgïÏøÀèNj‚º׬Í*Ѱv}›Yÿ2kŸeýBÐK¬d¬è1û-ß}'íRT¬¤ÍÚ ¬ÝÀëK¸ñN¾r ×}cæ<¯gÿopßù¬{#rÒ03ÁÌ‹ú¸} OôÐÓËïoåϷ󙓸üÚƒº¼kÛ™qÏü$jÅà–AæÃº{X¹š•á ™›h·ø@ ókhÑ\%³Ž  ‚”lXNKÈjúdzF4„Ä,}`ßË®Ÿ1y!#¤ %ŽËNç£ßbþœ€µäêšÛY^ýã+®=Y;d•,(¢ª::ö¤cOz7°öiV?F÷»Y2þüFvrYé‹©eŒ'¿'÷×ó‘óøÍ•|ü#w«jÙëbî>·ðÞÃ)U|±‰u6wmåžn6nãšëùÝ-|û‹|椀ç'Å+7°5—‰Ó…Eùš„y£V09ÎÔ*vŒ³s¢¤³%W<JX»Nåÿ$ô²„EóÄл÷ÎòGrN1 U‚ú‡éî¡&h”ÃôXþS£ë3u4ŒvÇÂc@ÎMâCõ¬_þ…!׬ç¥m| ÷u– ‚²öaeV°Êâ)^x]§Üjo!¶'<‘c„1ÚvcäatL ÝâowñÄK´6²ëäü Ë%#gÃoœÅg¿ÅcדR¦êŠèÃJ¹&Ò®VŒfcŒkß66™#x…ïá0Lú$×°úLkLkTÕ1ÅèËë^ËòG³‡JE¸v´Ã6£ÓœG@K3ÝÓ©‰°‹ª‰ÚŽṵ̈´™XËV±&cö"VV!Q8“A½à7!NS`ß³sX—VX´Îb§‹ Õ´†LÙÖǥ׸ "С“‘ÄÌŸ|LGÎæª_eÌ ‘†ý2#(HŠ+ÊɧDÆ)œS¬ªaôQÌø Ã@ õ1K¦il¦»ëQæÂë®Ð€Mûçl¾ÚÈ3=¹³ú×’ÖCúÖ26–ćˆŒ ø ø/ï/T*y¡öÉà©À„IŒ ™ŽæéìtO£¦$ÍíT…,ÉòË¿¹óºO?$ä¢3Vˆ3ëc‡pÇy)úÀE„¹ºÀ3°\:¥¦¬TsÿsÜýtžoaÌ1L¿ˆ–™™êHÓ8ßé³=›IgQÝé6´x ­![I¿¾„Ë~ pÄ^ì2ÉÏY[lÈcéÁ-¸êLι2u¶SäóÈ¨š¥ˆ—BX —°à­œ ËdÀD;Ï`‡OQ²ÏE£_Ãz»·ÂvÏ5_Ô¯¼;8܈NzfæV‰GcmæÅ³ÃÄA‹8ÈÛËyüEÚj÷Š‚ìšSA 컉“/ nÞ ­ìûàáT±:Æ|˜¾DÓ4¯™ÅbŒœìîÚ̱ç±qU1.8>/,D²Ó®LÍÞSøñ#å@d3'MÎ 6 s$¬ôZݰSÏgü©T5¥ÞkLS:Š5÷…Þš}FnQì̲-XXÓžž¶%ÂO®ÞóþA·+4§=‰\98B sjXúý(8‚–Éì÷Mª[¼ç…EÇ>L¿˜Žý|eO0j‡àõ97oå¨Ïòò›§Ìc|ˆ ñ]ÒÇm9=HÎ=ŠëoáÍ¥¢ÍÆ8¹V:åiJ§Q>æ`¥ hÝé1l?,ck™t+)z”µu,áÙçúô]{PU8^Í9×÷Ñû3áPß•'ðÓ¿ì>z¹Ø(‚«€Â¥©Uý^k!+b‰Ô55šêiiŒ”\ÐÂonàã_£7hcˆÎYò¿ ß 5íLþcŽ!Vëkd -ŒÝ‘ê ÛÞ[ËŸv×Ì0‚óóù×µþáKs÷@fS…RæîUŸâcœseÆiÏÑæKE8Ÿ:”š¨ ¬À÷¯Ê<þ3<ã¬jFÍ”/P; iBÔ-kÂGÕŽŽðu±àú«CÇ!ïy ã‰$†ƒ¦/NO¦<þöºÔל7máì¯aÛ ‹15QhÒˆü+Ça e ŸÍiA÷Þ…/~”ÿü­Ä(,šÆ“h"ÑH¢‰±óBkd[3û%öÝôn¤·‹Þt-%ÙüpGŒó[øæ-¼¾„^°ØPM;|®lÞJO7}=H‰eQUM]M$B¾c?ÇI²b5@} ?û< šÔ *‰â â j©÷³ð9ÇóÊk´Ô±­—¾môvO¬•þoÐÌ Lj纛9çø`ÙÜPiŒ& QG¬ŠXŒX‚öðý±¯ú<ÓFOºNGm}hM¨%V…£*A[¶³ŒGÈ„}éYM}[êêÛ^zP?‚êf-Ô¶1ãã¡‘ýî<þ[Öлž l^… rŠ\ÌwË¥Ÿ¸eŘ};ËÒûY÷†[!=>qɧxg–ÞÏê‚ÓÒhÛ‰Na„‡Í ›8âÓÞäÓ( IDAT,XpTøz!%@y­Ö°ûyŒ9xƹæ’zfSïFn šVUµüËì9Øu'ØÉ;½ÿ‹™–4›YÍÇšøýsìy ×~™£ x¦qnK‘Øv–ŒI›«ÿÈ¥?¡/ P[Íuç3%d¶s}##'gŠm'c°Øª%l é–Já¬/ÃÉß娹™VãL! ±jÆ…Ï+2qpøàØ ‰U3¶Ð)6f\¶8ü‘âijàÐ/x§÷~š A{¬MŽsÉ/HTqá™Áñ´L¦Å(âwîåéï»Ç)E`YL8” ‡Ò³•³e%Ýëè^OÏ:€x=µ´N¥c鄛²l9Ïò>%ÎQበ¼FºW·da+1³UÇúm‡3>XO½à—+ùðØkg®ú|ð\bGŒ l•´¹þ6®ú•·2}{?ý ³§DðÐD„Ž'-CLΪIð•ùÌUÜ>e'E$¢PBFADÇUAQ¤JtN3_Íš |ã³Y2Žˆêf&õaÛæç7qéµtm¨|¦e€ càŽöÓý5°n·•}ôÉ,‘ϯãÊ6š,ž\À¡ç2÷L~~o…oàœ‚%+øùMìx4g^î±ÕS¸õ ÅVù9¶ýxw-[zU¸ŒNn)Ùkµ’çì÷ mô£&½o“ ©=“ÛÀwìøÝ-¡Ñt'Ù"Ý€¯ý•'žÉ?Û»»ùý­Ì>™ÏÇe«:‹¯µ3.>`Þ+ç'nÚ{`ñ¿xx+[³åµ©Ž4Zü&¿n2¶HNÏw«ïv0%„þÕI~³‘§Œ×§ŽçðýÙmG†·3¬Íýõö²r «Öðîû<ñw<ÌÂ7}ñÄ,Î:” Žõ«™!øÏ3|>òžß:“Ò–N)Ý$»¶räWY4Ö¬³™G‚–W^¾†yG¦?øÌ‡8ï#*Å‹J‘âñœ¢\`Ç­Èøh~ÔÉ„ðZôÇܺ gÖ4vžB[3Õq6maÓVÖmdÉ –¬àýõÌ­å‹Ên½p5ÛÚ8xoößývcÊxbÙô“U+yòEn{‚ïdã&ïz{ŒKÚ˜.aÉÔ®âû°r• vv¶Â?ÔÎ+!ýüþGHzx=?;…% \óOYðú^_’C"1‹£÷æÓdü0rl§#·l=HÛ†5\yŸúi¶çZ»,•ZgõÛ³’Y?;£‰F‹¿tÑ»'ðdø\”x–­â÷·òû[âUŒÉÄь꤮–ºêjèîeÝFÖodíF¼0ÚYÀõ|´)ß=Ÿ òòa =8¹[ÝÁ˜“©Æ.ðÛ/ñôüûIZÀÒh =nç ]8ó—ªÒQ¢†)Ü´œ—š?‹£öâßO#e*±«„)¶îAͺ‹¹™Ð± ìYí›xt+Ýáï3šóGøÏföºÙ°­7—FF@µ`¿ZŽj`b©V‹ñhƒJ*ÈÓý¬ áT‹WñоÚ¬ébmk6’ˆÓÑDGÍì:‘¹;³CñÊ(ßÏU®áJI©d+žr+þÅúç‹–€BŸäím¼ÓÇ&›m’AEƒ ³ŠÎMiFßš$/ôðj¯ô²²¬s«†Å˜’`f5û×QW~ÚL…°¢!¿’³6—޹îñ\[Kžµ%B°‚´ÛUæ¼’(>]÷4+ÿ]Äfû™çIÉê$«’¬MÒ+é‘ôHâ‚‹zAƒÅøxå•Ä?Fg¨‚<`Õ0öxê'õ+áûW\äÑh‹G©ýGAÉž'iÉl^̲I–|߯íC„°ÊMu72æj2t\F–xÀ_-¬Ñþô_üé>êªù‡8nÿ”$ ŧ½kyçz×”Aá 9ˆ Â*+Ô gÌ)Ä ·ô¸YíKç¹ÎØØ.娫Üã˜Å“?¦aà&ÄfÈ“RQ“[Yv[Ò÷a­ ‹h ¦æ éÏNýdFK,ó2˜ð•?ðÏÇ®=‡ïŸå»òÉŸò#€ÑíÜ÷­Ô€y/ýAuB¸Ã ªã$ŒzT¢1¢Ñ^Gš<ú ½Ìà YÛÅ^SùSÚv{V­gî%Y"<`¿þBð-S¢ªÆŸÆò[é Ù§‚üPÖPH´Ífø!`eo´gÌ®¹åqžW“ÈfŒãSG0qxjØ/Éûó³óê2Zøä¡ì8V=“SÙ”G&à›§ñçÿRàó$óâ*Râ­Š –p×s<ü2¯,MÍÒ°Ò‰Hµ‘cô±¼×ÈÚÇ#E[Ž(?rÈMÃ*?ùËíûÐ9p—R „®êSF2e$;á$5[uýfæÍ ¿¾ã¦ŒâÛ8õ@>n.*’/„»ŽÛ—ãöuí°W8JýÉ­¼ð6£Ú˜7 ÷¿˜E(3ñãèL_bH¸·rz©a‡«cõý9© Êqy™ÁƵïMçA!MNì:Y“\%kùgDpÿ ¬\KUŒ“ö/L«ÎʧyÖùŽRö)o¶ð¢•>ÂòT¤w9÷Ý­`µ`Õ]¥žˆÁÞÞ+&a¿!èœOÛžáµ1c5=cžgþá>ÚÓð†ŽØÎ&¤_—Y·‰›ã¥%¼ù.ËÖ0¬™‰Ã˜;ƒ“ðMëKòÜ[<´‡òÊ2N?ˆËN ·ïü¿=Êäœv'ìçÆ¼ä=þü ϽÅÊu¬ÛDS-­ LÇ^S8~?wÏ‚wx`.`Á;±?J[û©k+·<Îïðê2Öo¦¡–‰Ã˜0Œfpð®>Ù¤äåwøïK9fßùo¬àæGyi ¯/§¡†ÇrÁ‡™2*W]¤µ dÈi¡{hÝ+ƪ;¶ƒIàEFy­‡5€È» |Äa4íšý>dWFµ±b-ÀÓ‹xu);Žñ=ðæ»<þÀ鹩ØJÚ>ÎUcKm |p6­<¼^æ—¹á~t6;ŽxámÎþ6ó®ëªY²šó~Ã+K^[β÷ݶôç¸êoHI} ûîÈ#Y¼Š§ßä_OòÔë¿/Ûú˜w9kº æíLܹõI®ú+][æÎ`𤋮éâŽgyz”©£¸úãì0`å:Nø>ï[Ÿ¾¶œþˆgŒ)ß›ºyw=½Êí_c´±¡™~ÈIÈŰÂJ#¬MÝ$ª|] ™‘¡4í 1VÝ^Äa¥Û*&a? vM!ûß¹Ù rîá´5¸,#§Ìu¯¿»ŽÛžhkàÀÙÇX_tÉ{œ1Ÿ[/åúóÙi Àˆf<²Ð³Yzû¼w™8L­¦/±`ÿÙ7e1Oê÷ù®lt;çæ-ÁÞÖÈùG»·Ön⪛jì==Œe3çLå²8e.ófrÚA\÷o/Œ7Væ\³‘¾'PÊ¢]½ÆKKØÖ %«ÖóÔ".¿ƒ¯àÕåiE¶-ñê×<G D±ëæýU|Xy¢ýZ÷ _/ŠÐ|•iG5|d×?ÐÛÇM{ZÉ­³¥‡á-ê·:ÿú0=jo‹Q-¾u©j `áR¿™£0&Ÿ;Â=¾ùblIÌI‹±Üëå×óö»œvµÄ,ž Ù(åÅnz^µÛûQ{¾áN§¹Ž [ZÈŠ÷Ý´´ƒq:yÛyw=Àªuùê&þP¦Ps¿ø4Mt6ÓRÏÚ.–­á_Oqënn¯Zϧ~Áß.¦£)§}hš‰ÝËê{r|…2Á@ÓÅø°ú• €–=hŸt#Bs |ýÓâϺ»ÔÜøŸ8˜x )ùóƒ§ìïkùÀ“¯{ÇçþohZo¬È.’Þš$™Ã­OðÜÛ›{¸ößüæN™Ë™óhk£-ldÓS‹¼‹£Ú|Ì£Ú\žy‹QmNx3®T™[ê]ÂJÝÐ0ïš$Ý?)ÔV1o†w:²…‘-ÌžÌñûð±ŸÐÝ ðî:n}‚³£m߆–ݱ»YóH¿"Ù>Qña化Ýè8¨ÀÝ=cÛ˜·3÷¾°z#w>ˇfóØk¼ýÕqNØ7µ ¯5Vƒ¼ö$BVÍ4]&HþDŒ?~ëîæw÷».óÍ=üún®ÿ/ÇíÃgŽ µ>(¸Á#ë ÁZëSû4cÆÒº®h“EvÿzÂè5³1sÿ?¿Ã=}zg B°ŒQ·íK²‡õOGˆ§Ì0°ŒQ1 sCý$:*JÌgÌs øÓ|hOnxàƒ³imH}¸ÑX]k|';Œ·@ƒt¢ ‹¬Ç,>u§Ä­Oò×Gy}@÷6nx§qÓªË,Ĉkªƒ5î±ÃGRød3©¶©.LèÐÓ°Í,²pWÄ^Âpì>Ñ;îÙØ-5îl©tHr3›^ÉY˜íåát$¨Έ#Âó¡:¿0¿»÷‹€Ù“™®4,x‡Ûžæ§Í ˆpæx/àì£sßKüõ¶öR_Í©pË%üé ŒS‚¾¶‚çÊÿiB9Eg {ÙZÀíÐ’¯4Üm³Æ‡dQ†Ü Éaò˃yóŽçøâo¹øžÑª±Úx1c\¦²Î$FÚ{ ;ŒšÑíÇT?k 4¿x#?„¨ Øc9;¢šäŒƒ¼—ÿ[²×Lðäñ{{}g¿¸“×–´;ÉÂwü­%)üö>¾þWq{Læc;Û–:#lPlÇïã ½ýY’¶wxô5OÃÚgã‡Нü?áýÜÂ3‘R®*Ô‹KøÒï¸ëyþõ4w¿à aKnyÂ=®MpJîké„Ö«#Ž!Þ’s„Û-ÊUÃp~òÿ¬FC¬Á¯ðçõË0ÐáðY SSØœ¾¶Óæ?9c gÍsŸìÞÆ‰Wsõ¿xö-Öt±l ¾ÆÏÿÃ!ßä›7GãSý:¼¾Â'ðâ÷ÜëcÛ™2" ‘Lɧնw+ÖrÝÝÞ­ ›ùñ¿Ü[í\y¢_ɱ¹"s !åÒhøûþýŒ—Õ][¹âFžx *Æ·NeTk„1+ÑF´±FK,Í:è*_¦¿Š+;„Ű#H´»ULÒ¯< +¡Êâ”ýøÉíî•ÑmÌ›a´7È/}új~þ’6Û’üú^~}¯ï–zš’¾$¯®à…ÅÞ­W–ñÂbLIM"U’oþû0c Õq^]ÎÏt4òËsLòÊrߨ×VðÔ":™8 à3‡ÒPÍo£§koç…ÅÌ™ÂÚMüçy–®Øeß;±í¶ä•eÊÒtd[Îso³ÃpëX½‘Eï²j½{kÝf^ÈÈV&‡ï;obÁRW[|ÙØyáÍUüó ÔÄ9ܘ08¡“ÏÎÏîxò ¾õwêªYú>O¼ÁºÍ;ŒàŠÙcR‡æZ!ü1T53ü(Þ½yp‚/-ˆM(izýGé ¶m_šgM Dë73ÿ®[÷âsæAYº#—­åŸOðê –¬fÅZZÕÊØv>0“§¬XÇÁß þÏ ™f,ê× <ú:¯¯dåz6nAJ†·0²…ÃgqôT'Öt1÷Š€¨fŒå¯_òNWoäO°pKV³t ­õŒë`|'ówæ€={¶«›9_ ˆíÛ§rÌž\{ÿ{Wê­qÜyY¦<ÑøÁÿñ»ûCïv4òà7R/¾ô7?Î KXµî^Fµ1¦±Ì›Á>Ó°ü…•‡ò—žc̓q(BÜ6a E(oÔMbø‘­˜u4˜³ÊCc-Ÿ¦#¿F[ŒLÊ>Ð$ZªX€ïݽ]tö'‡+&a&Ä[è<Ø—Á)¹¥O}¾­ƒ4B 6§/ÎëôÓ¬ö`MHŒ¹¾AÁdK‰6‚óØö>½Ñv«Ü>QY­!VœáGb%2Uy]¹«xé¸K¤üO=õI2 ”ªÊ …æÓ<Цœ¥‹&ŸŠ*†ÉŠ›°{ •üPC(aU¯Žƒ¨jÉa÷ö£í63Ÿ†‡+4ÂÛj¹©¨.¤!›dk»%^‡¯ó€^Þ^”ÒãªO*lô-mû²ú>/g„p»*B£ÆŒÓw,\a†ÏÔœÒ Z?•º)QŽÊYÅñe3Ÿœ+?(kl¥VQ5¡ØH‰°Ýöo«QzŒ«0ŽÝ–o2”º«ÉË'±ŽÊ¼¨Fü~VržŒ5Q7îÅ*bé„v )%£ô€Ô”fPdêgaÐ4ø`T|X¨j¢=ÊbÄFÖEª Ù",’”ŸèÈ ^h†DÅyFÚ¸»³kH"m„>ÖÚ“t/ºÆE'¸Ë_¶Š\)P¾+ZS\&Ò¤ ”]øó¡n<ÛÞ#¹Å»kjY:f¡Há%'Lær42áÍëôt4á{Xâ®{£Y7On(&¥l>¬,ù)蘇•6:I#Ìx)Þ×+íÃèÜX>-€Ï(#ŸJM ¶k»a#mï¢GUJ½r–ظè‹øn ж]R°%B= ÌPÒ JÅ\Z<qè—pyÃ,&¥pÖN¤k!ÂaC¡¬?Å/ŽF&ŒÜpT0÷mj%K‰nºJÝsb“j}.'—¹|VhÖâ)IX*4ïNõˆ<c(EɆø×MOJ̧©’ä2—è¤+/ VrˆCØØ=9ÍÞ¸î=©´0WWRl%5i.S ?¯Ù)Q)âsNø-MÍhž~ähF)×8v3–ý‘Æ_'r—›¤wêh©O–E$¬A§º5íB¢-¤4ry™ôUë¢ÇW‚ªà9JÂ%d|ª}@R™E62‰LºÜäð…´±m÷®ôhÅ–ˆ¤Ò›=" Îó††%…«š ­4‰4*1:æ„yY]qIP~+åüuxÓg X‡zÔŒ¦{™Ü–îÃBDu: âÁl!L- ƒÜµx†¥é*¤ÊPÕo7€$eb0û° *zU3Mi{g/Q0f~A)µ¬ùÔaÃ]¥}F>ãK‚tW¶•ãÜñRicPJH*ßHK“®ÝgºŸ€¤ÄRj†7²¿–"S9B*3ÊÕûP¬áð”Z5Åž-°5cÙ¶Žäf÷#›¼CK%fRŒûß8ðŠOxÏKƒ@½‡ñ©`僊 AÛˆ´…†ƒµh­¶œ•-|ô RSjÞ|ª¸C;Œ0\Kžÿ[bkbRüâ#5PÇ&UZ*B!±ý~+36¡ãwåòˆ= +åEpµoè€VPÊšp­B_ Xa! n ›_ð˜E?ë(D–‘„ðB«#‰°\±…û(e÷ᚺžÄGa‹BF6hÑ0êaQK+ºö@ -¼PIJC©9ΕOµR“2FÁöØD//e^ÑÚyÅ6<ñ¦³Ü¹bë ZGSwm“ÁivsOñèOÛˆz¸€û.ÊQ¥»¥r e»¹Š˜î+´”×É"ÑDßz–{Ùîùª8š—T†›+ÕTÕcJ¥å¹ÒõmÓ´-s f“°@°ªiÞ=ßËæ JEIêEþ”Z’Ú=I ƒ\LëLÓ–7`]W0úì òÂŒÍì Ä×»—Ú( ‹ÒϘ&3:b»p åæ§0T6e‹Š”~oºIsƒJÃÚŽy«q7DÂÐJŠ 8 dîf£T_•.>jl‘ö³HŸ Æu¥NŸ` a»m§Ñê¾B§¥ÊR±Å¶ÛÍçòˆ’Ãç~¶±,o´—§XÙÊ¿Ž¢-¡:¥Ogq+T@¥]ø–ëÉré/†mÄX¶#˜£. jF±u±7òåÒb82èaYzðª;¯Pxö ¡sꘉ– nSÙöîêj¡qã‹QJѯH‰šRÓL„È’ôa|jÊW­t(߈Má2 jxpÔ¢˜ò=¡4/Í,æÔg´ºÖÈ̻ʙå4þ˜rl ô´le âJef 7–]‘‹f[ ¥7)ŠÔ ‘áôX®5꼑­óUÍÄêüóuP¥r\™“p¹ÞVƒ¶§¾´]:vèÒé—p—À7t7o8ªPùiX¸‚¡´²öa•€K[fU? ,Ž,œ%Rþ§7E)f-É-î@q WlºëJè½´Ï(é§=¬Üì×Ã?¼Ó5ªHÄ9Ö–£P:£@…6–rùWáʉÉ6¢ÅKÃo2—-1¤,-'Êܳ½õIÒ?ßVÙRj±ùÔJP;ž­oå(Vy"r}“0uS”ã ˆ\ ®P|” Ÿæ'I!Q’ø4 ©Û‰­‹ËT-* FXƒBQ‹#Þa^˜(_´Š\¹‹š­"ðÐí)YùæZ4žl¥â \Ÿ/’Š T5Q=’žy$0X‘‹kPpRFÔM ªqÚ¿ò‚ù“΂Pb>-6¢Í€ó)Q(µ8ES7­0„5X÷väêj$12¨r—Ê”Y•¬ìÝsÅ$׬¼PÈqÑb!Ç¥·+3©+¥&†o¥o]¨`C Û‘«f’ë½*ˆg!íþèAå̧ŠÙ® :É”P®( )³ë£H£j'ÓõLAc,c éa &,jÆzgÑ+wÔºU¸|,Ô׸|J^â•lœA~~À±Œb÷ IDATòQQ³#(|Í8º^„mýŒzp`{1 «Ç`%|£"³×žsâªÑÅ…CAߥ¨”ÚO»²œùÜ!¦‘’÷‡J;2"ˆQ;†î·û%XÙ!$[¶“°f‚¯.‡¬+ÙÇV£HzPÄè²Æ&Fá2iE“I’Œ¹Sæ*jÁç5é^\èHËeDXÅSõbõ$:‚o¥TîÒ’ö!ÍÀ§ͦþ¼VUÔlÈ©hŠÇ§™$ 8 }²°âÅ[©j¡o}A#-Kôχ5HÌÉš‰™êP”ÚS"=((þT> iŸ¥@Ú»¤g]éUÔ0”˜OÃâ ûÔ˜³5ãÙ4ЄU>Ø.|X‰ÑYT¤ÜjOI|[få§t™RvYÀŸ|–¬J&?Taó‹!ñ¡6^F&a‘PÕ†U“í!Q#"%™áQXã% r£ÔNÉ*@ÿ(5bÖ Ÿ¦]K»V‚Ä0zßË]ªA…¡?¬¡ztÔñ–3˜;ÚÇv d+<üo’} Ã'Œü}—¥R·£MŒÚk¨´ƒªG„t—\–°ä#êAå˧ëO*Æ‚"5$Xß â–àürTdó ì:,Ôûq“0ÞŠ¨É¹£TŽÈÁBA¦¤ÔÈ|*Œ“¸À*j¾E3v¥_‘ >ŒmCZÉR„•^ªGå³lK°Ã¥øÆKDc¼eAÄpHa º, }ÅVQûÓáÃ^¤£«5Ô kÀ†S—ñainˆh‹MÅ¡Üà‰—“]™zRd …Ò …-B ¼««_†OãÃKùÑ(0¢¼þPöaY XµWñék\('® “5à!*jÄ® Oµ$|ÚÏZgʼn7Ñ·Á'‚À·G´þkË,ÉIsß éýÂyA$ˆ!e¦ љŷ’¹R¬ ŠãÄ-J‰"GAUTaQ¹+7ÕoW)Ū·Û‘zãBé ã]‘ŠG$V3¶³ÚŒÚ¹K“Ô>Œø×Ý5MlÀØëÐ{X{»":§ŒmŒ½6µ{˜PËæZ‡s&¬A¤i CV" %…’ø×³†+<¥Ÿ– ­¢–À¿în±c{»C£·sD•îVcžÜ[Å vëuŠ¡l—Y¤²7Ó¹7S<·Î¦„ºÅaF:Eª¦&Ô[ï±j¶åN}«l5\_¯ •§*ì›?裪9—ŠÞV…y’rPLDQ KC©å£¢fH+í({©ûBôT›B»:¥vB´5£©[z1i«m«%I‡æ,°}Ф”&ヤû»R˜Ë–Šžœ»Îîª6cVƒÅô~e®6§#Rª–-Ý)¶Ú8Võ98úšVʼT†¬IoGÆBïz´é|Q_34ãÝw]›ñR•Jq©?<ò`û«<(u`UÔ((@¡‰ì±xL$]ÅÇmó¶:pîj5Ê›$‰-Ý[^¡+ÛGj¶ «–äF¤²þ|T¥T6´5'ÓHÊ9Њ’ÚZ¤Ñ[@ÉHl­‚™\cî½(”Úˆ±9«§ hk"Sík–Ù\Ò1s\kžk$¹Å ¼c¤Wfú®§´†4ž)—þ„:ÕA¼ ­?Î]K•œ@÷ºö¼yFdh2%á®Lþ ÏRÈ®¢æJc¬w\´VeJº+4m©î]JñÇtá§V5}R¥‹¿—SÜ»šÑÒ¾ÖÎ-ÛPޤZǹ‹²4š¯ OÍkÒh*B¥òˆI½•´>Õ©K÷TèÆ)ÜØŠ?5'×o©f_Í"†¸>Š×™èœ)Fw¯$HnQÉTÍVs–[œÂ¥ª¬-MÛð:÷«®²&|ßÔEÍ\N@ý¹p®xéÝÃý×Ý÷ËÓ KéAKç® ÈƧ¤T­‚§/]#H W]Â9Õ)*îðÌ(Õ.Ѹ6”å*BÂBJDL¹ÀbH«Îÿ!7ô¯î©R‘j·g3[4}XºÆ¢JÑàx UçÁRäJ«>ÏB+MN³pí6X‘é' ʧâ+L68eóXÉ2´WÅv”)Kmvo©ï´R²,­gIUùmCe“꜠· ’êÜÄ<rÚ)@˜Øê Ÿî/¼¦d©·sÍea`!Œ>DËrc–ŠÍ - ¯™#¹”öUR“Ð}AÅ»úk£ïjBÒØ¾ õõ1ÔãÒ—t¹%O"-°½Ï¼ÖÚÒó¯T„¥Z¼ËñÚV\ciÅO½¤05d©ï¨,V–ârr#¯Æîó‚ð:†µÁoë/’¿{X'çe«¡w™ßÍDàú¤ö‘Š>\’RWeJ&=íÉíÔµ]­ÐóVZ*t¯¯Ò "mŸQà l©új¹b”ÙÛ­Qé²ëYÅ`£hˆ¤ŠÀÃÔxBNÂã³Ô7ÌP»½„îO4ª¨¾®Íï3,±Û°7)TÚ·f¹ Ô¼cKúŽiSÔoÍ™þ/ŒëŽ¡£#Ñþ[+•€Så%8Ÿ^ã5u*B=lM ‡5m^âe¢z_ãk ®JƒÑ}ŒktÇšTb½XRFtX[YU6ÂÒú›ËhŽÖã'±Ü:ay¸² #M C¿uõ#])Œê"” æÓ›ŒH,¥C¡ë¥þ.)ëÀ¹"ü²9‘{rš9[ dk·ìÊH¼P8 j>bº¢y=qt7Ÿùwœ$l[¦žq£skˆE@¡`ôzµKEèeÌrøÅ«Ri!4ù‰O(Wv_hpë¼NTxI»”NZ* K7o\5ÁGOþ®1Ýêt¦è\öz@õK‰tmf)°½‚€¤¶óU¦H©ÊO`é¬5DÆwMå –Yÿ¤¡4©záã2ó,ËÕ¼\rISÖ¼nGe?’f<¢t=çÇ+ïqVN­+'‰¨8„„+:gEЃ¼WH{—ÂÈ-–HEN©^×ÿA¢ +µH£æ»ªƒ­ªŸµ£{tZºgÐ;¦.÷¿ðÉ kÔ³'´ ˜A*ÕÁû+«¤>,aüs"å–Ó*’K:€t{(¼@ªÍKãª4œ—n$¨ªSê%ž!íÆã²T…Y•þš‘Y¿Ó|¤«ŽVšÜÞYáÙçRŸª€f¡ãM—F B›Š¦kL3¶OÍŒ’þ‹!§Hþõ !Ç9éAÙÑw‘^è2ËÐ׉(ž°ˆÕ‘Ü)z«¨Ažâ†;L·çºë×±Çáï²wÄÀ«ÒºòÛŽö€Aæ€w<%@“š¶ K¾â¨¿Îz4d>#]òÖç\LQJÝ‹Š°´êo$VcX×|/}Çú+á»^Ù|_犙­ú¥Ò˜ÂÇPéÏßG‡’,õŒÖ¹,§8CÜR{UZC&"|ãnž ×ƒŠ„@‘rÕƒ²#ß×ÉIEµ#–W« BÒ ƒ80µ!'¸òÛ8:‘ÃnÚ¯ŠR5´¾æk;¨Ï9†É¢å1>ÿúY®Ö ›.þF®ÿ¦—™T ‰ÕL¬”nåÞ—nlž·ÞPÖLIJV€héG…*-áÀϳõŒ"Ax®VéÞÿf>‚Î …5¾ ®Ý6ì|Ÿ¥°gÊFE D¬ž¾ÈñV)íRBL¹buŸ7Ñ7¯uy™ÒÐTÕ4çjš¼¤ÛÍq fë6?Þndªù²‘î)¥e*,ñ&b‰b¥›y¼ÿ(è²ÏsŠ$Ñbî/)ˆÀÃðÄò¾¿Ï…Mî‰yfÑÏ¢é'²®ùkÈá•]/`~Èõèž>=dÁ;U˜îü_tT(ÚÂ86G]é.E)<Óbˆ–‰X}¡«LJF¡ôÊB`rYlà ! è|J¨0'•#wäW¬‘4²œBG—E<«>—ØL„· –£UÙŽ#Õ8Õ‡îÓ­P×…:Õ\d ê¬TpfŠï> ÁÕ¬›zQøÊž³D© …M>ã7?o»2?ä¯}äØhóCôpTQKüM³ª¡ŠÈfa0ÍËò×‹¢ÜåžkE;¡´9©ž”ê4fr–.Œ°¬¬V¬ÚLÕ"Ý _XRÏ*håäSJF©ìÊw¤º 1²??P”ª†•ë¾#‰ \KÞ‹H+Ar›?.Fæ#ž£Ê …öܻ͛ ¦5¬Ì©ˆ|y|ÈVu¦|ŠnFQ¼0æƒE+OK¤E€äÓ'švÖ„J`ò{+da¬Ü€7yеÎlÿØ(é E„ë?—ɤ!yJvaü^'ïõ5o‘JLžze:§ÌÓôÎ¥ln¸td!¬Rè°MÃYĽ éGj-i£:er‘¤€ 7SÃ˦ÉГ |š!pžÑg]®Ùàñ‘Tá5g|3äZ K=©sOAOÞ’Çú®H¢&¢¯`ËT'‘ù.-º“Uõ=áÙ€˜=wæXnç¦b&‰r·›ki Ãõ&¼ù'hãQ%GH5Vf +;¢/!'%EÞ¶ðÊByðiª G©©);£.51)¢±‘Ìj?ŒõÊNY¥Os™1#Zú'ÌŠ´²2éó„(ÂT<’âO™OcºÞqUQoÈ»9À[“ AjîÛ ˆ³P¯`Žnw‡[û§¾˜ÇCÁ$ôU£¸šøî ÐÒÐÁŒÿæ—!s{ŽRG‹hAD𯇜ø.—à;•žxj¢…æÓ˜üQ(Õ4ê*±”®äM]–‘¹‹&©µCÁ›Ÿc†!ŠÅ¼ÅHq—ýÓ|—¡>±%˜ÌUále©™„¥éå×Ü„aw”¡–f6xM/½àêP¶; ÚeUÿd¯%šÇøT3mK4a™åoŽMW§Žê胮ßÙ¹âŸ`‰$¹Å-ðrÙHÄ îÛ`ÕÕ¦.¤­ª<åÖ9µÔ™žÙg,S·”7"šQÅâ¬z'JIø´àve¨xiY챌"oÝ –±²;¸kêŸ3ŸLk"ÎzÊî-ÅSIé®§ŒRÙ0Ö†—¶KjŽê^Z¶VÇ@@ßL8I‡³”Jh6 7BÅYR/¸¢_æøxÿB7„Û ”©à©ù*‹j*SÂzº¨s¬ŠUö³õIQ­ß}a}ÑÏYÉ>Äfã UzŒæcãŠSÂ85Ÿ#•ª¼Ù6¸zœ0ôšV¸弸¥±2Ôº °œ#QjN5$ßw)½ŠI”þQjÊ$Y‡J4ȤڑÁvoy3ó“H”þåW¬l7[U_;m9-÷ÓóèÃ^ ¦ê¹ó"zŠ=z~.¡8©HÃwî »ú a'R¥5ºC@IÄ ǯ|™#H5QRÀ‘înyz¡ïŠOròÚÀv™Èå{á®›£3 hæ‚m°›S-¾ïëvH¹kBßJ©t^Óš¼EÍ…„ûsãêjõ+`, – ÏˆÁ)ËX‘*UQ ’kx2ô¤XÈŸOÇ¡8”*ü÷\ÿŽí:E’>‡\l’}®) ¶JºC4…$™è£Oº ÛÖ£©²IPª“»B¯Vâ”ÄîºÌJD‘öúž"#Ü…oµ»]û„Pk–Jw6¡–Rˆ9MÕr5½g¬ÐÛy)+Ï#Tr,EšæºN~þ˜„R¿sªŽ<RQ•«‚úÍ:=”C÷ƒ¸×UµT¾i9ûQúŒ^ç{’Üê•–Çw)Z³•¡U™\®©ÇËt5÷ؽ`¹ßLé_wah^J½²UÁ °ÍÅÿpWFö­çgÜÊð½ @¾ÖSô"DVîÊΧ©¢ ¥ê¯²4hÂNºLDR9œ±Ê?¥õ)G™rýëÒµøœ‡m¥mÙÊÄ3/º­C»·„ò‘áÖ|ïX±§þöËôj¥u(éŒK·êJå8·ÔE׳¶ æð©@Øî¦R­¾àê}úól{:ÖÝÌ–1¦"wÂ2hB÷tj*1çK%Ú¥ÃjÆI»åÀDú¾NYöuû¾0n¯ÉYŠ­fqǹ)ÎÒ«‰Ê Å§\îÓ´b{ëk¦³ñ„ц¡T|$´º«,D×µ|R¹¥'üEauÒœFþDÖ>Í'\‘!ܵ\Jªe3mpœè}žÕ&’Æx=J¯Žs–¢Õê˜íÖ1Gs‘ÒS¯Üjc“T[¸gêfr+'nŸ€®iR ÃÖQËÏ{;§ ,µ¾¨6pƒËbic ¯B(P:ëÄI›B:)æîà [/ÁøVû(\¤Ò9ê}„ïºîpãL™®mÄc¦î&by,âööˆU§"Œ¼0T-Í:gÒµœÐvk• #uoºÀ¾#§x2{õ/Çö^"ˆÀCdÀQΈþúýR #¤¡}¯ô!ÛPUÈVÌb{£7ÔÎ)©œS–¡@IeôI¶ò ½„îÒ?¸ÔÄ k‹ÇIÚU«yIÕNu“ú”Ò6œºè.è¤T$•î@í“ØÂÜ€Ñè™Tê*E§¥•±(UÎÛ§Gzë)éµò5 ¶­èF¯¡õ}`”v€ªoÒ§ÄXÎYøžw%ö§¢ XS’ˆSã°<]O%©uN_(ᥢµ$ïÜXÆ4ôô²|ž¶¥)ÏïnO¹¨YÒ RådX yPRHÓwKçFÑõOš“Ê"Zàm‘é&9½¹¶º0éG°7 ç†Rˆ¼]½)©jfŸ2l’ÙgHÿp-)½+NÒ¾áªLµN䙚zL"SÙáFhdwEïÍ/¨NÅ©®¶[Wû´·×K¡¼ÕÂÂvº&-å§„à ×D–†é®î `ynµü}Xn£r’Vìë6Kõ¶bKq’4ä–*ˆÙÑ€EÕÂÌ)Ö;ù¨—*ŒU«Q_ ¯Bê¥*Kø>8^ŒêK¢YUi´þeœGm†·Îåe·‹ÁXËßUlimDÒûº1H/“…ñ…*¸*ïÝÃJC6Ò&g˜™3°z\fúÐQ°s%2íurþZîÄ_²hô˜‡¤œq 6vÒe4s3zit ºNw•°0»ÒmÉÞÐT«ÁõÇëâÖ´¥ýVú%½7UzMêÂêÆÞü<˜k«cN!Ôžu=TʬT:6¥1¹C±leÜHC¹e¬Xéúà…+ƒ®±…Ö |ÿ<¸ÍóÿÛ;ó8IŽêÎ#«{nÍ%Íh4‡@ÄHB‡—„Yqƒ%¯?e¼` ‹‘Ùµ½`s­ »æ²l>6ÆöršÏ.ØfmðÁdt#$@èÝ3£¹{Žžé»»*cÿȈ‘YWVUÖÑÝñûÔ§;++Ž—qüâ½/3­V©q ½ce“ÉDÏhjˆŠ(·H[KkJK)-µ­ Þ+áJ,ý+ã°/éToEPñâ³”í‘+²çµì¤ø®:1ý"ŧҽAÙt BÙ¤b[…»dŸšæŠœHdˆÌï¤ ­!fz-͹.—·0Ê#žñ\o@Õ*óB7²Qhþ*óðmßÛ«ì%˜N·O1®…>Ë$3ÅY ”}žŒ‰ %ª“Rö4v$ y2”<«%™³x +2²¥õƒ°@Ô]9¶­O%ùRáZVÛù©JÞäí;ŸIº§2$„h\zÚ¥c©)«V97„§åºh=ÿ*,Ïj{FÿR³‚½:sౕ¹j_…I¤Ì:{¡Rš*(ˉ*µZÄR‚ò(°’Ïnžb|/e"€á/+‰Ñó•K€?¬0ÚÖÕ6äÍÅcíÖ-Ë*ÂÝ%3Z¢È¸·•B—Œ¨"s¬btÉn#&¤P1EÉö¢ÆÄµ'‘øË’ÝÆŠå)ËMÉúªµy§CÂw&r]ƒÝ†K‚o\ÓX]Ì÷fD2ì²”¨~ɪY’éf- %›Ýê…V—1dr•”7‹m4bò×dŒ¥KóXÅVô‘°IáÅsy'ñÌ1‘\ìù„ð݇ÉAÙšŸþ¶dñÄÉ€ˆLØž¹- Ç_Jü¶pW©/§5à“°U·#+J¸ÇYÄV×KØÙ©šqI =ËGßT®T)ã½nAʲŒ—+Õ‘u¡ÆûøØf ­í“‚#tl^¬«­ïFn°M:`¹ÞV­´±FeãH6¾ŽØ.'ÚZØG³'ÒJi¸±”üà^¼,xûTnä$çøÎSÐÖU Û–ÅR&ùQ4ABUÝÓ“ÐsèÚ†õu){ v¿Ãôœå¦}—¬ÉÝ¡IV¨ÌXÇTÒOö^·FÉ*XÐ6DœŸ+Òæ>õÙ`º?ùšt|ò-ò¬WéàªKKRþàPÏ¢¤ŒÒ(Td)ÉŽ€ÄÚ'½ú¹¯þÂ(%{ŽvñA¤Ö:ܱȌ­Î‘”r\ãÛ¶’Ø÷‹¡«Ö ©µQ=qV<ˆHÕ9Îľv1“¸{îH4¦ŠÙ@ÔTlt(m×?Ù›#ã¤7*ª»'g,»)Y“[üì½;X;TË…èÔÀ‹c3õÀ¹äÀÜ—ƒ]ž“É~‹¯^$ƒ'eª6¹"·ž‰o[Žß N°–µxМŽ&]ay`(u¶mxb)á opè ©k—OäÖéòðÂ<Ó'ñ§€ÖTyïcBIeÊö¦PW:Ž•’sr듨à:¾‚ñjik°àQ§E)“´²÷X"Yúdžë4ˆ›©Ë¯“ñ…Zº‰l`±U© ÕFNW·-è|¥R8¤Y,ÃY²€ø2xzYâï‹<†ÒRKýµÑï÷VÑ °öô¬ÚhW<í%T‚·fÒV=œ/‘Íô`l7ø5”ì&Rä’\%íüª`^Iw'{ÞÎ>æ~FÑe´]˜eË(ö5Y~¼Å2¶ãkÖEÚºÄM)Fƒô˜pBÌ}ÑQdÌC³€ÉâlkÆÄ‘1Y´¿îj[©ÉÙÊ›ŸM®´Z"Ž$ªMôLÝZ¹ìx_…¹Sz¸Nâû¿bopà‘š5&¸Ï›¾Ì »XyW”aÏŠ=£Åábo}мÞa4ÎJÒ@ÙЖk‡¤iìýÒIW‰š“ˆys^ÙM:Çbö¤Ë‚eåi‚OŸô«<"s*V~ý'5Œ¤^|µ×^ÓÉЄ8 DÕ›©73Šz€”ffg„L„ð"ogM'£Â†£Íš§lÜƒŠ¡Ddõ¦dØ'J})²j—Jq–»ß^–iE oçÊ»1Ði x‹–—™Vž ¢dk29Ö€•I$IÊœTW@ØJâE•¿æv] /£´£æk ÔëÿMr)»ÔH3Ø™/†ŽÓ­QŽœ6—²¡x?™L3¦¡µGR^•¶¼ŽxÏô IDATÕ))BN&ºUl;) (­xÖ~R„¶ì#s[n×@BZ’F+;mËÅ Gn ¾ÒN+QeûÏn8&´èôY—"*Úô‘õ#h‘Ú]‚ãSŒü®Ãýe³Š¿¨ÚåÖ,¡Ò ö6ŽFèLÊpe½ÂzÂ]vyˆ¬r”ðKì½KÙj[‘,›–›Ìðˆ‹ÊL‡d ¶‘âI †ˆ7YÉñErRÃ"ÖÄ‘e@Ð%7¿Äÿ(ú¾F£]«:æ•®¯jÌØê‘2&‘Ы© ±0¬XJuÊVAQX7¼l([³„%s»U/íˆDx~eɦ-Ë$»¤ÚË«<òÍ%q?›ŠD÷‰í|ÐÞ––UXaU3{!É5J,•ðQÅg“4m¹1*ç¥4_±÷5)¡EÙI´ýeÈ]ØÍ£6°,ìOþô®H-Y£ä¹4²zyK!ާtõþMl¦Ñ*Þs“íMÔI$—¨5¥˜Ê zÈúXÓT˜ôZ2ðœo·ªej‹¤²öà~ß“®‰J”ÜDGUé83ª#³šY¹ëø°|EÑó©c)6a¢HT!É’Ö¿lW¦N?(GâÜ’ë’M®_üyÚJ\‘0ñj™5 -qË…#mÂáä<–¡ÄêL~6q›±‹ÉtÞôD³Åb»GîeÕÞ•„kÊ–ÖBLê1»l0éYß.ÄÜ^“?h²³Å*tND$KdÅKekÖ¶|}*‚0Å*×Ú×Ót“dŒ­F©±÷¬xú¦òŠ•’SLêÑh¢(áGK‹Æ§ãíH3Ô&…‚T¦ºD–/gkj`uIæ’÷X„°b¢aˆÍ“K‘ýĵoô[9ÅU”´]í䤌)m*ÝJ.íäÑU¼ã/–"¹’‘c’ñÀØ^ÙŒ²òÉz&ÊÓ~®Öä¯Ä=Y­$î·šgl]rÑóBxiÛÜdò–&¥ ŠA§…Él³ ­ˆM$Q’Lè–l½dúQÊ÷ ÷ri\h˜xÙ“*Ì¿üê|Þ̰pF´zPy墂Qk¡‡¦’ø}”Z£*YͺºTYP“殺$n½LŸ+Ï=…Æ/¹Vª•KÈ ß—2K;CIÉ:¬Ï¸¤Ñš’}‰c’Þ8¹“ù?ämtÖ{• [É_Ñì;Ú¬¢§¬>¬å¶/íú5çå“RÂŽt¼y.V•¿Õ’²¤dcQ””äÝ[\ûÈã®ÈSèRjQF;óŠ’Ä‘'OSˆq×`4¶7iÛ4¾:Dî*;¡Ôœ|Ú”°zŠŽ;c 4¬ÚP({S•lO¸°¼+º¨q‡¹'Ÿ™¥ÃjLà t{Rlø$±¡Ñ2Òé=cËÁêgRJ*¯¿o"£Sì “EÙ¥Òt6û…ï|õ _ÕÒ5ü…/KÕ“¥f³´0@›M¿\ÚGu¥È/^Ž”™ÑÒYaÍ‘³Aä†Ù…&,À77ì>—ñXkw›qÊ%„Ùô5[!Ú¸;‡½ÝßGy¾&…=‰Ïo:{FJìÅF¥¬-kç‹«Ëw+¸›§<+‰´–$Œãcü¢Œ%¥º9>UæÍ{мó6Î<Åå–¤#>m 5»&†Ò°:F-Âê7®YÔAÊXKœ\˜H;í}IRñ)šÿb’J#œåôÏüL­i1ü¯Ø¨4Q¾2V›!#ùÕK¥M§äT§ár =éînûƒ Z”Ù{"R>­ËYSj<×J óƒåÃj>…WQLi8ÍJIdŠXˆÞ_³§î“†¶$¶zdæ^µ{HyynL¶QÜ+'å2¬n•üS¾s:S»! ¥vnWH/¡²ÐžöQ7g[h Þ ò)9¨iãÌõZÿèvmƒn¶ŒÙý(å…ypqaIZùjäFB—QLÎ*ø ‘á)í\Tb –H“Ó¿ŒË•ºs†E׌—<…æ2pÚ•d裱òÛ­9íÊr¶…–Åh*ßÜBò_ÁÂ#,UNþ5K–™3ÞW™- -.­á×Ú¥Y*¬ic&hÌc…Äö'm:ssÙºæ_Ï“¾¹xyZ6·½%Ô“­íѳÉ3€˜ß&a $.Æ‚–åÖڦ薬­‰µÛmõ»©T÷K·d+Jê\E-4_¶ü*jsQÊŠÓ}´8Pš†¥g‹\ôt³·.9ƒr¢e^èýb÷(zçõ$iÜ5µÅëLâÞ©¨ù•Ĺâ#Zú‹GXɶH>ŸtŽâšŒž¢Œ—ŠN§i:¸{À¢Y‹¸•äòj÷„O¥)°±:Þú(¤1ôÂÛ%Ì•j^‘´šƒ%éSÄV ¨Å¶ lqý¡Ôp¯jÝO×èîQjÇÖ¹ŠªË -‹èÃfa8WÂüƒª£ÑÓ’—vÆzâõ(Π*j¤o?è§$uªnO3;;³óLÕHÐXä…fñ,ÑŠ\)[š-©‰×â¤m-åë.¥¶Á§-:erJÔ8ƒv(µg4Ö’Šš–*ž|Õ °ôL­ñÔŠ³žöÑuGrõ¢%ê-¶ªî—f襸oØ™½—èF(l›M§`L9Ÿ8ZAfn%[¹…NZUuÐkHœAýŶDz5Þ(̞욊ڹ]ÙiÓu’mŠ7O «á¥¶õÄÑÁ†žs/¡ìJù­{¥ê¢h=¨÷œåàëAµ„車ê$iʧ’¹ qû@©‰†Õ0Ï|œû Ð$ô,jYúL±å×ëì<›Ùmû×ó¯¾ñi>ôR›ñ)¸grx§º&O"IÛé›åÔ ÑEû„5Ø¡g²„•‰Ë¦¬¥íµAmí#ÏÄheòÔ•­ËÆKNC©Eë§5•ªÞùÄšr¿åÚL,=U„Hƒ‡…ÖÔô» Z ê«_N?í/uì¯6ù´ÎùbŸgБŠZã¨HddëQH]ŽëyQkæ‹gÚ’aà±@M™Æ?7/!g˜R·8«éb[÷Kêô@ŒÕ¢·Ú ËF²µ¤¢v­ šRj<3 Ý_0&a¡a¶*Þ½c²‘TrΖœÊBaÕ×£A²¢DêH1lIEíþ–e4QQçìÛßÚ kè]¯¶ „•‚jðÍ¢³øõ6PH¬Ss7i»¢æñ¯ç(¦XÙj+†ÅÞ„¹°&Ƽƒ× 0¬Á`µ2u¢«NÜ–wÏî;©uXGŽÅħ Êk¬¢®6دl *)ýS¯ìÁÞ³Ç5 !ž¦¤›OÚ7ÅòsVû^˜v ¼Ú²u0[ @ÿzïQSw2ßNNs§¢V§TO P“‹âkðZHÏ¡šY…Åz„ZhŒ¸9~hZU›Éºq_Y{ħ8™ê-EƒpKPµlñì‚u`±`ÃPÓí»±ê¶JÓµ±Õöì¡·§L¯TÔõÓ¼•·;ÚkŠ×›º¨Ç§Ó¹rÍS,X“$|´¡“ÃÓÞA?‡DÓxÂV)µ«|šÎÜ >Í+I´@©5·Ûõ¯·Êãzf¡=eÔÇ‚&¬9¨ j¾L"ÿr™ªÎ×^û×s¸¥:¡ÔüsÑGUëΧy%É][Û”Úm1²Å ð)£>úÖÐ9òÍÂò|ÅM- œY} ’Μ”ýJRýúÌ$Lþi—,óRxóU§®Jã.¯&ÑÔ¸sÐ{w$¶N[³=t+×zJþÙ^W¶Jó~\ 9žg/wJ?‹šê›7­7X¸a ÄSDÍ«K‡£³hÝ¡ho~µSy×b8E›·d˼ÁIÒ¥ØGèIÎ¥iK)›…ÔÂ<²Ù‰“¥ïú¼WFºôÊü‘×w£ˆ0d”í¿Á[8Náñ—WŽ–—æ*P¦XyeÝF«xz>y©Út!›„³PiòŠÁîMÚ¢üY-Pj+õu+Ȩf]qšDbHæ¼P’NSr ´»ã×$VèØ&K¦·M“=EÄÚQŠ %Å ¡T<öQ†˜´¯I%çc§y™_•;#6cìÓ™w^´0ƒÆ Mûo>`û°=‹ª KýªÞüiÔÎ…ú¶ÚàÓ¢LW¥$]=Ùœ C–hŒ¹çS^•×)ÃV*ÃMb3&9b÷SÆg¯mvI®¬7J´§X RšX¬6í¬BãҾÙâ ÓŽ¬¼@䡺†¹ªmI€mäÔx²?X«#Ò_è>,ô´Q²ZÓ—;ég•=ÈBïµó¡gåo‡D;°§Nfo2ßüi,S.ñ-F¾Ve™(™ç û RçÍÇ>ZiPÄ ”ÌèSÎ2TŽË„¤/mE˜K˜Et+í›~…(m·±'}-)sÆ”æ™r`ÒD®üŸ”´°—QPXÔá`c‡5䇞1„•¹Ö삟ÍV'u®*kŸ®â±œùŠFêkSj‹2ùSÔ0K쨪žù¦ìA¬‰pz“ŽPkÆ¢D”)²^ªÈ–yŠ–›²ÊTFwÃûÕÛLT¢óà8í+Cц†Ä¢L.Ùš{BX’ Ër–ÊÛ,ÊÚ• :DM.xÿ,“ ‚š«¥MªÌÿ,tÝ/m¢©ñÕ>‘jWÖ+¯Õ60³Ô³Ç3NñØR•X^‘ÕÅ|»/ÂúÅ0„k“FyVž$ÐVÜÄ݃ÏM#½š±ä›9åi‹r]R€hR©c…Ò†­"ßMî«W‰v†#¸ÄÛ¥"·-X-f ”Ñ•…eûÕÁ¢0 = 'X\GYóŽ+U󰎵—Ýœ5¹2ºÍ§n«¡2ñÆ$Þ"eµ­´/Ç‘QÉiV6 –È<2þ Ÿ¹Tú¤O@x<…Ө͖›¿T›¸Tå©ÉS—Ó¶,-ÆéÚå›òþêš„%)SÖ²ufÕ>liV-ííÎCôȇÕwúW f`iwŠNýÏ¢žÔû6É©u›O;ÜpÈ)žÏ 5£–2hâ^LË\OýéÉ_xøUß§k},zšhiŽÙÒj‹4+°ÁíEã·eWvU¶Î'm×)µ³¼m¨¨@wÿvœÁa‰Åâè çPõìý‹oø(Ø¿Þna§T5HU¨Ô•$÷j—K¶vÇ\jŸ`Êm–3±(ÂzêV¿ Ó[NÔëºÎq×Ð#>mw¿’¾PjnßeÏTT½h¼W ‘I0‡jv/tä÷¯ç,­í¿nsW5Ÿ6¥WÊj-|Á]“§Äæ|Ú½9V:Ñí ‹É$pQïí ©½]=¨í¹ePëU^ÙÚÞ9í-BÏm~§¢ÖÙ£l’3O‹L½¢Ï„Õ—•¡ ±§dëªSZη6u*KKþ m±ñižÌ5Óεùj—O&Ï,*í æ‘«015Ì –{_»üó6›²èÞ©½QØ>õªo5¤)z§¢6ÍY«¨<|Ú|7óS/Ùj`Xb‘ù°ÌÁÒž¬Þ¿¯Ù‰7H|Z›z³e©s$*´úVé£1ŠçS ½z[jQ(DØEçÃÐèÔ²ìéöÇhOÆMœ0-ñi¯g{®|š×ˆ+°úö2úܘ7&aÁÈx²ªÑ’ñÒG]7=I+ÁA¹ÐYœA/аkTveáhN©mÍ>£§éÄÍjX‹¥4ÌÖP²R ¢«“¶¹"Ó,8¨(IꕜŸRÛ~_£êþ8 |JJílš-ì76Æ¢ôa%˜C/©óÖÂP”Ô„³Šrâ¶Ûýù)uÀù”ÂUÔf¨çƒÏÛ 14|óàžуäÃê}KÏ/ëfµMãÚUÚF¶@ùŸ?g.Jm /¶vÍŸÛÇG¨®3/Ÿ.‚7M4À"òaոв |O~ê}tÓ|ÝurwÔT¼žÎ¬BUÔ²+}Q*èA¸s°¤±ˆMÂ3°Â î\K\?â äë@ÝÇ'=RQkŠÑ°ú~íiÖFŸVk=ßBŠ…,“°/ˆÑ³¨áFƒ»ï‹­ÈÖgI<Ô4v{ÒÔAÖ%ÎR©Ð¡Ššª´œ¼|qQc™„õ æÌ#ZÜ=’öËl©æÎAï^̣̟\ TÔt¾œ£Niôb½òQ¼†5 P϶ÉY-I·5i{·a_t¶¿=WPõUÔàSÕ¤r=W+çââ÷a ÊèÈ{#‚9[huη4i áÓ…çLY/{ËYÛnáBUÔ>ó)Þûîë%hÊP,™Þ‡Õ«ÆSB÷ÜSÛj˜’oðô Žš®NÎÚÖ\Ñ*j+u+g£LÁ´>,‹Êî z™VioO§eä‰3_{µþ·@¦juK PE¥h>Mn#pôŠF‚Ièa9•§iÔ'}½¯&¥vµ'#†›xýðÉ©z]Ó5w 58KCy°´ÞbàMÂÞBv i°âÕ ê³H Ю 5ƒR{|Ó ç4ìš^[ýµNjÝ̧–ì½Îöp·w> ˜„ihtì¼ïŒìn޶Úâ5›´Ôª‹ÁJ ËﱊZO¤áSÒ*ª*£ßì-NÃê;ª2(´ÚÔm‘:™´µˆvË+vÞæQQûØß¾x§xꕊÑÁ¬BðaÕB†ÜXéŠÑ–T/YQâµê_o’³è¦+\jª¢ö‹/4è¹yLVÝ“|à4¬&èY”C\–ÕmX¹ÍU_‚¿tÀ‹EQjTîÇýVóÁ‡U1¨,gU7U«÷EÒØõô æ…wÍÔ4_wUÔšbôœOëJÒbNÏÿ{»Æ*Á$¬ :ʶ|㯂ޭŽi=¨sJí=Š·l‰O½/=ÒOiQEõQ ®«º˜o&ao¡æÐé1^Àànœ¿p»²3YÇÕ7ø=»ýÅ«¥G|J;*ªJîÌÝ&‹Ö‚Iت‚N†-sVŽÔ­¾D³n9=ÄèAÕâõyô5ãSŠëš\¨´ÿFØE‚…©a9 4Tªà¢Z©¢ˆ‡´„–/¿Y†íÊ)µyå…òiO7¼'(@ðaåJ‚ù¢ÔbÛƒÁݶƒL×·Û+1[˜ðÑ:QQۘʇ®ó)uW'Vr¨×ó_ÃêMkÐ5X@õÌ C'nú¸‹ ckjŸRXE­ÙtM¤í,D1ÿ·{…àÃÊ ªl x¡“xËörÔ›f={N^IÈ4ˆ®›¬@tÒ5ÝUQ3ùá½=@ýÝ‘†µ¸¸®þ«¹ƒžk¶t™J>mÞÚÁõš®?*j-iz§¢úK°V+Рj¼¶·ÓÁ­l)]@V¶–ô î£»­Ç|Z³¼®«¨ºÏíónúWiXóî zŽjÃ9«av.š_@¯vm^¹‡Ï¿Þ}‘|ÔSQ èš8ÜÓ2‚«6µŠF©Ú«namÙ»²Ký\ˆ¤ë,…ÊÑ~Á]1ù;Ô­ë´ &a[H?}mŒ— Œ—"2ÕzPºè>è Ý´+ WQu}?Z@cÌÿ°†jô| ÎÀkìj4ñºï_§g|J+zP>ríP¼TÞúÏ hŠ`. ¨:Ç}½/Z7K0*j1R„é&h«)ú¯a… h>ºÍ§¢‘5 w(@Eíóí?óÁ‡5x]2`ÈÕ!‹u¿¯Ç£µ™†&OÀüA­ Á‡Õ-„ví¾¿9Íå[ú-Ç aŒ¹`tÝXgœD%8ƒ%úïtï:°^p™Yt¯ £8A0 ÚAGÍxÉÆ¾ P8rŒªy¯a¾]lx|Œëö£5œà¬Õ]«& ¬DðaÍ„Nòð7k€Ï>Ê_<¯ßÒtŒ–F·Úe7‹(‡¦yÁ¿1SXñã_aÓò"Ë£{À|Xƒ‹Ð3Õøì#†­€Ù˜/<Êÿ8¿¯ 2⊚'ìS§—Ÿ…‚åLJùÈGxîsÙ´‰Ïž;÷»“ù³-ÆkïûHZ„Ÿâpé¥lÚĪU\vY‘Å.ô}tþ &a@ÐÉ »òJÆÆ(—yîsÙR0 juí¼kèaÄÏ/>l`Ëɽª5Œ’Á@k˜ŸÝ&M±˜P„†FL@€E˜ ]Eða-d,†¾] ×Xæcõ·5ÿÛ* P5 ÂÀZL>, ú®ã‘lZÎêáÔÉSüÍ>r!Qhÿù€Aè¥`ì™`ëÊn~`Š«nâi«øÚKYbC•'Êüæ-ÜwŒ’âöYò£'xýíd,E|â"ÎXÕf½ý a a^Óþí#\y#ï8‹‹êD ¬[Ê‹Û}–Ëx™7ÞžIöLòî;øì%(¨h~çvî;ð·;غ‚·Ÿ•«´L;Ÿ˜ãæƒm vÅ |ç•l]ÑföÒtÁ$\(h·#>Λoe6æ3;•ýñçñ¶gµ\ø\Ì[oãþcæëµ»9s5ï;ÜÅ÷öºdº‡Í+¹lkŽ‹¯{'¹òF¾óJNYVX™݆¹ª¥v¡Ì€.àà¯ùwžšhžRÁG/Ê« ÞûS¾üXöä/oáû{³'—•øÆËyþ)M |Í¿sçá&iòa œý ëùÆËY5Üûp £àšûk°Ô`+`ºÂ›náɱ¶GÖ%ËøJÄûlªs#þ~)‡zôÚcIDAT„Š^¼Œ¯*þÐ&þƒm|7âàž£¼éVf+ÅO‚Ûòªë8>;À¨s¿ËŸ¶ø¿Oèw[-¨O¬yÇmÜ}¤…ö×ð¡»ùÔ¹c×Ü×Zÿ™á 7qd¶¡Üu Ô;>sòÎÕ8ðßúÑMçü=ox Ô;ÿný…ÆïÂù°dÛ–}céÿ³tœüð WßQpû>tœßú!÷ãM·2«ûÝÙ-6æ #ïÓáÓSôýj»üùÀÝ)/R~|ìç\ó@“Âg5·pñF.I^¸áÈ|VqòÒìç“9©-ëìw~çŽ_ÿòîzÎQôtàŠ+žüƒþƒßPÞ ¼ûÝ?|íÿh÷¹w+u,ýÀ‡¾r浿qèW¿f—á¶CíTZÉ®èñY€Ûqõí‹ö-«Yt>rCXÃbDE³i9§{q s1;«4¬æÄœK¢T¨Ôò±n<µ$bÛJþþÑF2ÌÅL”³'§Ê.î¡%Üý Ç.8þÛŸ~ß_½ü|à¾?{ïã·|á¿è¼Ëû®»dê¼{Ë_½ï¯_y¨]ü®þÊk.ý—Os‰”PÔ<›ãª›Ø;éÎ\»‹3VñÁ ª`q#„5 z¼j )"ÅîúÞ«Ó–óøX£ì¥îHܶ*ýÒG.‰ß{Þ¾ WGD1¼tÿsW~äWŸøò-Cq4 —î¸dî=Û÷Ÿòß%M_ó“k.ùæô¸«XéçbÞòC·+*øÔlZÁÛZܲ¨Få¬ßÆÊbü®VÙÕ«j½Ì%KxÚgÞûùÓF¾òøçc†¢ˆ þì“yáÿéá™cÉÒ¥œþ·ïùâÆÑ¯<þYMiÍ^wóëÆ—ýÂTåíPjù¢ê4üþ¹im!ß'ßÛÓn›Xô$«u ".¿œR à¶Û(•Ø´‰ŸýŒ«®â o¸÷^>ö1®¹Æ$þÔ§ n§–ÙY~t÷3^wñƒ‚RœsW\°jCCüÞï™Ä_ý*ìos<:´îÕßzÏžKnÜðÁU##ìܹñ²[ÿäÚWü`óo##ë~ùïÙõ¢›NùЊÇՆ £/yç?Û¼ûßß]Ú·Ï”Ðá<(kNæÌ“š$Kâ'-,BÖÀ÷H  Tbóf€‰ €‹.bÛ6€åËQ†‡S¿^|±Ñ•J¥\_1휻”{oxæßýݯ½ë]ßüøÇß02£?>íϯyÃû?ðŸþôæ}û¸çúg}ö³¿úÎw~û£}=Dþ¿-]ÿ¦_ó GŽœ[”ÄCЧ­â‰úŽ¿Û×öa¶¿:€˜Oa …|ÚGßE ¶è¨ðÉIŽåèQNœhVln|bâ˧|øMïÛvÓá‘UÀùö3?öšO>ó†÷ŸêÏÆ¾¸îOÞòÞ­7=º¢„zϱ^û×ü¹³o˜™éN„û€áG‡Üð|G0 /&'ùЇfg¾úUÖ¯8~œåpà€ùõÈ€Ï}ÎhXss-TqÅ&×Ï~Ɖ= ð‰Oð‰O¸4«íëæ'&xÕæ6¯å3|ø#/˜fdŒ¥ÀÿæmwN\v×ããG¸ÔgøÓïzÞ$#,…èqõ_ŒŸ|½)§{ëhcêt¾RäÁT™åÖv›ã»Oqþ:Ö/­`~AýOý! äœ³1“eFgùüÃüíCu“¶œýSu=oÏXí¾jÍñ*Û3ÁcÕ T3œ»ŽwmgÅ%ÅIÃ(Åš%«‡‰«‡yÃÜUë^Â!^¡ Bó</ç¤æbÁƒC¼ÜþºvÁ›ïL—ñp«¯@¯Â·wó[·ð¢±aÀÁƒüä'œ}6Qd¾>Ìî«ÚŒŒÍXóõ¼þ óõ¾£üÑO¹ô4Þsž Fùæ.^³•¥En9ô]¡Ù ´õÇf96ñYFgÌñD™ã³Œ—™˜c²Ìñ9Æç˜,›óeæòmÃ5`+à¾cæÉ0…ãc\}{;Ë\Ÿ>qûT£_k…t>jÀŸþ)¯xÀ¿þ+—_ν÷šm‡÷¿?¥WvŽrû!.=Ë81ÇWgï$×íá×NgûZ€ã³Ü´Ÿ§¯âž½s¨8ôéñ2Òâø,‡¦™æÀ#Ó†•7Ù¯ Å/Ñ”5£³¬]Ò<å€cªÌ÷÷°c”ŸŽpÙ6¾ö{&X³„sÖqhšíPÑÜwŒGùÖnÎ^k”¬‘i6¤Ÿ±3°4ø°ú€é OM02eøèðtêàð43•~‹¸Èpt†3¾Æ²§,có NYƦål\Î©ËØ´‚S–±y9§,kbCå™IÝöa}sßßC 7ïçòm<<Ê‘ŽÎpt†ÝËĹl_Ë—áàOŽñØ ž³àKð¾óëKV1Uá¡Q*zè/Á$¬Ù˜'Çxä8çÑã<|Ü,Dà²ïlZΙ«9ó$Î8‰g®æÙkyæêNƒÑµæKsïQ–FÌÆhØ9ƺ%eÎ )ž¹†³×²} žÌó7¤^P6Q汌LqbŽŠfß$‘bëJöO²f˜ñ9ÊšUÃŒL9{plŽUCì§ql†e%†"ŽÍ¤nâñ1sã>F¦yûö®_~= ¨IØ!žãîÃÜs„Ÿåþ£ aóem–[Áé«8=ç­gY‰›÷³{œ=œ2O›'4<ý$^¶™ŽñÛÏæ¡Q®ßˉ9––ز’©2±¦¬QЉ2—œÊ)N[ÁŠáºªÑõû¸çC}ur ŒIØöNrÏaî>ÌÝG¸çÇC,ìg÷8ßÙm¾E )î>Œ‚ÕK¸ô4žµšeCaó L²m«†¹÷gõ–±bˆ¹˜Ù J±’»sûA^VçôŸ¥¤82Íí¹øÔž]e óÕ$<6ǹë0÷æžÃÁ @9F^ëql†{3¤xÞbͱ^w/ÜÈÖ•,+ñ{·sÞzV/áó;˜˜cºÂûذ ¥Ø1ÊËkÖ\ÌýG9e· †KúFXóOŽqÇ!n?ȇxx4ÜIлÆÙ5ο< ð½=œ¿ž‹6ð¼ ¼pe®ßÇ#¬fÛJ–”ŠˆcV/!ŠØ=Á髲¥ížà¶ƒl^R<9Æ¡i6.ïý5 6aU47$uÛAžï·@ós1wæ®Ã|î!€Uì]Â'sÊ2MqhŠ+Ïà‚“yÎz åË(xÕ~2¶•¬]ÊL[OßïçÚ©ð“nÙÏqç“U¯® èãsŒÏ™èüõK‰çŸÌ%›8}ݸíäð´1kLrÇA¶Ù]!k 2>¬ŠæÞ#ܼ›÷sÇ¡@R½C²‡þþŸœ4ÌŧrÉ©\zÏ=őר7ìå®ÃDŠc3l]ÉÑ*±Ý1ì!‡ôÓ$Ü9Æû¸q7íûzýÇØ×íáº=+‡ù›xÍé¼b ±ægGÙ¸œ}“,/ñÒÍœ²Ì<üºÇPc¿Ýq­$>:ÃörÝnÚÏÉæéúŽg­áùyõVNòüí}ô «†ù¥­\v:¯ÞÖõg9¨‰‚k×8ßÙŵ;¹ã`é XŒ()^°‘_9ËNçÙk»R…šx[GùwŒòÍ'ùæNî;ZDóÏYÏëŸÁ•grÆIEÛ&aÝw”o<É·vòðhóÄ‹ÏÛÀ•gòº3Ù²²€ÒZ#¬}“\û$ÿð(÷) î€€€E‚Hñ¼ö ®|§vp¢šüÏ͘ã[OòqË~âà  h%Å¥›ùõgðÚ3ÜË8ò£aU47ïãå[;™·Ë‡e%~åi¼m;/ÛÒB image/svg+xml pioneers-15.5/client/gtk/data/style-human.png0000644000175000017500000000061710650446620016150 00000000000000‰PNG  IHDR@@ªiqÞbKGDùC» pHYs  šœtIME×'9ˆŠIDATxÚ홋„ C ûïœ@OA…þÒLi«ØšJ¥R©T–EˇÃÚ0ÏE #Ž76êƒ'ã àÕü.ðl~„a¼3à ׉E˜D(D9ýU)(ŸЛ ¾”ç)À"½=]M@kůÄ^CÈp)úD¶kñS^tÁÞ4ïd "Îú°DxÀoLÉ…'\gúV:,ÿb›ÏÍ{0~j+8:õoÒ€\æç! Ÿù9Èi~BŸ @¸âëÀ¸æÇ¶ò›¿†Ð“e~º'z¾¾ŸóƒüÑ¿ný¨uúÇèçhÉ9{í÷#¨´JMÿ£}µ€€”߬ àH_GHo¸]DIEND®B`‚pioneers-15.5/client/gtk/data/themes/0000755000175000017500000000000013252243610014530 500000000000000pioneers-15.5/client/gtk/data/themes/Tiny/0000755000175000017500000000000013252243610015453 500000000000000pioneers-15.5/client/gtk/data/themes/Tiny/desert-lorindol.png0000644000175000017500000007323707771100213021223 00000000000000‰PNG  IHDR–¯t'‡bKGDÿÿÿ ½§“ pHYs¿¿CýlštIMEÓ 7U IDATxœì½y°mÙ]ß÷YÃÞg¼çᄀûõß}ÿ\j¬Øfÿß)jgþ ®þi[5÷×jW²¹=¢,5ƒí üò‡„Ä« À«? ò‡ßüfÿ•¿ìžï{ù\h,`ñ;_qdzսoÝ6ú[³¥µ²}úN†ã)Åh´7·Ä›ÔÇ£¾g@j¼¿‹,ÿ®zàŸ½÷ù¾§ç»ý™Öü?¾~,ýòû¼÷ß3?¨GÖy–^°½»ÃðìB.ÂŽ²W‡ï¾ã šc¬CÉ „·xסªXxgÅ)ùýÅKÿùÁówwÏoû3 ¬úíß =þ¿Æý˜õ³[\‰žœCöA÷—aGo„ïÂ6¿„Æàëg‡ÈbŒ0 VâEñ´êGúmò%?cŸ·›}žÚŸ9`-ßþÍ/ÅÕ?…[þg¦r”ý jûN(§8w€\U’TB‚èdz˜:ÀfÞ@l!°ÐPÃð?Š,dZÙ#ãïq»Sk´«Áõƒ¦Á[µ¨‘?lãŸÜøâ«?û£ñÙk_°ÀZ¼ã Bå_öµý)êåËŽg×XÎû”ã »›”c vŠW6€É;¼÷ñ{²£j:ÀD[Khˆö”Ž’Œð›Ñá·ÄϜѨb·àXn?¶ôúï,ÿïníO|AÚ__ÀZ<ø·Ic~Ô‹êk›é¡¬fNÁÆÙû)·BÌÀN‰¢§³•Úï5 ñ¾‰,J§Bé¤L‰V`uൔÃB†ÿ5ÁÖªæñ2ïz!¨Ô¦sÎývßÏÿ¡zùÛÞó|ŒÓg²}AkùŽoÊõÅ÷Ö³Ë˽#j§îœaã†!‹h+MñÞfjÏt'q5шêöÐÁ®²:K”x2`iðM8Ÿ(DØOMT§Æá— '†(ŠÒÐj|ÿ§Pîgäý?wñ³6XŸáö¬ê]ß­„[|ðÅ[¥ßYÏ.3›ZTá韹‰ÞN/ÊÍA â•@˜aâ… 'SuTs2K’Ý„&–ÆStÊÔ©òÝÿ… .©É¦†j u?öewNxYþCï¿®ø‰Ïûì‰Ï{`5½éÅžâ'”´ »d±…¦šÑßÚ¡ÜÝ Òû¨äå‰ PaU,¹"½V€•šQêé ± î³vL"„ãm˜!¨ÇºÆ³ö•ѳt}(Ë?þûz~õßö_ýþ36pŸáöy ,÷ÞoÙµ¦÷CRòí˜yo9½ÈâУ–þνíÍ€B‚[ÒRÑ÷*é˜hˆTB²Áˆ k[P…í6± H|R£\Ø7I-›ŒٞƛÍôU˜ïƒÐ»ü5„|³|àÿ ßg¼}Þ˽ó…½oqž–˜3Ø9®èSU•mØÚÖˆ²D#'¸U ^ U+€ë’Ñ"•\•p-àÖ€àZ:BwÛ…†¢ ’¯ˆÅ"Úeã}˜ÿ¨õÿ´xÅÛ Ã÷YkŸ7ÀjþàMBöÜ_÷ãx÷ʾ2彤‰aкSE-É™&?ü Aä&Ltc:Þª= ’)$…uZÂ4Š7\g¯å- ‚4#ã¾d¸–l fÒþ潩ßkÅéÿNøWò¾·~^¨ÇÏ `5ïú¦[½÷?¢œÿ: @ô¶¡_‚ß#˜:.)Gå*͵R*—HXU\£Ý(5ÔXe?xví¹âµ|T‡¹ ÖŒ+Zð´l=Q‚­‘ª¢Ä €JbÒ—ýVL<®þ8ó]ò•¿üÑ?Éx~6Úç4°šw~ÝÈ6êï*%þ¾Äl Y@ï ô·@_3 ÜúI —t`ªãä')“8*:UÖ¼¬2èI½5ñ<+v•\=7d*sm#¡ š‘ú•1À-dàÒ"Ãï«7ãL‰ÔýÀâ«>y3ÿo)ä¯Ë—þOË?å)ø·Ï9`-ú–û•mÞêñeJWBП›I…I(tøßÍãD,GÔªCl¦d#iX Í$ $#Þ5°—M~™i6Â5ÚE//îÛž3“`hÛ>œ$½r©•œ„Ö¾‹€UÜoØyö[ÁÀ1”¤Ü{1|;vþ|Í¿üœÉžîÂ÷Kpo¼¼å§Oì˜{ì[Þ@!¤Æ›¤* ŽO¥ˆço\cý ©J(4ªhÚ_ïîç^P{‡t Un·äàIÀ:¹y.u©39Eж0ˆR++©WV醴­vPÊð· S­YËÕJT@;n† ¥- Ÿ¥×d}ˆÚ³U“zÍ{2û$>,û+bîWbêSv¯»0“x䇎¢G<B¨{ñæ7•ŸýFõà^výÀ}æ›awçyëÏ}R©#ïX-m’wüŠw~Ãs:îÑ׋4ÀòÞßðõƒ¯9£¿š •ž Žpfx¤ñÕ/ æF}*°®õì¹·ç½Ó„ÿ×Í lAA£hAP»`s¥~µÒЄ&Ž,ÙXM~Ý5;®‘tê9årȘ–“¶ù¸?ta VUŠ–KèïãµBÌÞ °s¡„ø[Rm|EóÎoû1/ŠŸ+_ñóW>ù8þé5‰w¾ó`þ'¸óW=B’Ì=úõÂ=úõïÊ {ä¥ýƒ¯ûj!Ä»‹²ùT¯˜¸úëgÈñ½¹…,ƒ7ä]à qضuükBˆU2u'×¶åŸî‡%RÔP- ’Ô°ú}™Ñ¹jÍ좶5,eäÅlì´² ¬,ÃGèèñfàK\Zû]w÷‘3ÿ€(b2üf4¨e‚œ†LN*/° ãªÒ¹×ì=‘]3§òñhÇb­%’5CÝÐ\›¡ì5€†3Ñû=!Õ[ä¿ð;ןäO¯ý±x,÷‰où„Ê;Õ»G¿^£” ‘ÕµÞ¦F~¯Ä}§(üï0¾íPýBUt†j#dL¬Ë½«“¤WêýÚ6ïNÖºS’ÇürU%4ÌduÂ×<Òœ&HœUâÅZàFbU»5 ù,‘‘¡éº-ÐÒÃ"× c»}Vú½&ÝH®ïÒ±}Ý;DVc(4ÂUxQ€êãDÿãÈòï/ÿgÿ÷§§Ù>%°‚„jÿcXÈé«â<Êý°iÊoPö°°Ë 5Ù@ 虘9lïBø¬"Ø;2ry®ß‚Ïú"ªÈ`˜K)3`eý‘ýç–CÁªtcU}Áª„@`¥}u$C ‚^ê,œCGnûå6RÙïòÞÛkèîÜmnV†”eš³ù&£ Yl\—4˜²a)­g‘T»\M“NtÊÁ1n~€w]” †x/ …ü‘åw¨—¼í±O…‹OÕž›*ÈU^ ®ÌXøDsèûÒºï”%?€a«©1m#GutÝ£ñ3*=*Ä-ƒ1k$ȸ`y‡õÞ[¬¡(«k¥¨A¬”p¥§9xŠŸ&°Ò„¿¿ìôtñ¿5Û+I&RÇ–7(ÇÙ(¯ÙiI:§Ô›vŸl{–n㽬Ví‹ÀÆ‹Â/ºûX3äW¼aãÀ/¡šc§ |5@•£ Ù„Æ‹âØyùÏ¥-ߢ^ý³löþD`äõåÍ>òá®É¯”˜G,_@ãpZ#ÇÃcž27š¨Žt6È®7o5ˆ˜ý!‡¤R,ë ëB*ú’®BNV *S:Þ¬Øl+9í9°Ú pAÕ‡ï&ä´‹Âg†s’ºäJŠrfxçÛI`v'(·¯ºÉ÷ʇ{2à•û‡Ød7ÑžßÛBWݸ ½ú´-3 ,àæøå,$.%¨aX!ñ¶¸€âï ·øWòåÿâœ=ñG2Þí£ß(šk£,ÞŠ[~™5•DK(4zcH&“±øX-Á—€•I,qC;{€– ëRjJá::‚LêÄ¢†,ÕŸXÏÉ•íµý *&–¹µ<®DëvHÀJç`\ùu©™!Ta»P§ÐxWE[S­ÜG« SÍ㊄\;÷ a+Á˜°ãCšy…4}t¿1‰ÚE¼Ýë¾[Ln}—¼ãÛ?í°Ý§,÷è7TìÔ•üÿ«›Á@©ð$i =o ºFüŽ„zy½=âMF†’+W ù X©¨Ý#ûHC±fc­TËD‚Ô-ÃÿÞ_¬4Ÿ XrÞÆ¬W€Õf2ÄcVTë ^ÚŠg¸>©™Á]ì23¼±A²è0v³ËÚÿ¯cíÃ>ÁéÑéæøê»WaMA9¸1:÷ý^!‹77vûßô^ü·'´uüûßtC¡Ä?RÒ~³ôu!ÔßAiÚã¥^H0´½IOvºYÙ©BŸ :P$÷: Iä€#¦;ïä=Wç4µc¿êaäoÜÞãÌÑ_a³,Â` uf¨jÂÄØi$Y"ÜŒ6ŒÒzJë¼V&a\}}¶é KŸÝ_R)+žW6©ÐPgÌ øâw%]Fol2жI†ñü‰Èú'Oñ ­‰ô éîHNO¶pEØG-¡^â«cÜ!;Dë‘£›zÓYŠ_Gò‹|Û×1´¬æßÔ÷Î~‡÷öµ’§Qlà§ œ"Ü /›`Oùº$Šä]Ö4q0éªg„ƒçæ´“oÞà¸*.seôÞwqÈA#õ\6}ªJ±¬áE[;üÅòÅÜ<°Á{É=Ï<ô‘&Æ•¸²ìªv©³ï ny=°rÉ]EO’pëRo%®ï¿KÆþ2òz›VlÈRlˆ|+Ñ…ë$fî6.["2+»çö\.«¶ c«ã}§‡¿>ÂîRhÊñ9Ôè|¬ìãŽ~ÂJõ³Å‹~°]³Ë‘zðÿºóü¤ôõa5®B‚,5¢´xQ!ü o+„°Ý&¯ÌfÑž2±ãrÕ–ììÆ(æë%¿}ùA>ðtÅ\(F½Š6+ #öæŽF xɹ’ÿ|ò¶Å"H#©Ñ¿ŒjY¬ªÜ„‘=±yª°‰ƒïæôÈ=¼ ¼a‚“ífÖö‰÷«êX(± ªëÌ4ˆçj$èšÉ·rÍ”mFÌ*°rÚDô³{¢S«¶“gXfyö9¸‚n¥–FNéUD•j~±õ;óàúèb†»x±ñˆ?>cã7^ômNØw½á6ë6~JùÙWãj%Ô¯7°½ª„BÐið²ü ßX„¶+é)‚ñžÔž˜fKþÔø”‘ I`ˆbß× —ê³üÖôßóûY°°nØ8`nKv‚³› œ(¸´¬Ù÷cÑç;_v†ÛÜ‹#@M;1Þ‚ŠNR*q:I%ËÔn ½:¨!»22íâ¤f’*3v[Ò4m× MlÑ=4­DKÒ}¤efÿdvPü¤ÚDv=ñ&;&ƒl^Bn˜÷ªK)Ê36RÀ<Õ8Æ{ ÎPöQã2Ý^4þø öÀâÔ¥6‚ëßæ1óßÅ<þýZXñÊ5SH/nÄ÷C¾¹Ö Ä<|êE4¼kXKµXA"5TÞ@ÊAwsPQ ÚìÊ(ÅÊ‚Yï|äÉ9®qœÌQ#6K%Øw ]Ãb.QÛ%õÔð¡½níÓS½ìÉ,CÆ„ ©,ŽEp4p( DëmÊ0wb U¿›|9 ¬ê’zÕÛ,ˆêKÍø´"傪ñ&ÚÙØ´à_ó[Õ¹fû@ØWd6™(¸]0O"”Æx½§1îHx“aP2>qbŸðeÇ:{@$Éž¬:S3ÇpIìs¤žfn—”=ÏÎüœï )›d ¥œ¤0€ûUûŸX0–Ï+‡_ĶlhdÁ«¾èýüÚ{Ÿ¢ª÷9»]ñx-Ø·[<³x–ÃeÍ"Ma l­h¼áZïI~çè)ö¥ó˜>ä¼sÇônyzRÃ>¹ð$$ª'í¢Ñœ©BE'UW ¬·ÒÂå†|Æ5ùx ¡;I‘Æ"ídˆDdçkÏkbÖŪRŽ>H»p±ï’h[FÊ2«dlj‚c ^"}4ƒ´ŒQt&Ê!®"eMáJ„”ûê-ozÉ—"õëèù¨o£±îq›~" ®ÑDZàý1ûÇñþƒÇøOOh>º·à²S7#._æ57Ì™ø ¢|8)ϰïjɰÞå¶^¨‘Ss`€rÐoN£vŽùÄå#päÉCË=[žÒQ½OU ÞnáÿúHÃ…©ç¨)9®aÑ”4®‡ ÁYÇã—–œ>ý(½úƒRuøð&ôMî…Á3€Jµ…I,¾‹X»%ãÿ­·¦Â±BµO~ØÞ ßE%LÏ##¨¢Ñ¬tWL‘¨$±*Çê`·ŠHx“`è"üo{àBùð]÷Â5d?ôÁGÃ\èBOé÷Ôÿa%8‰„.ÛþŠèØHåHD½ ÍU„— ïÑV o÷žD‰óÈÍ~´êŽNðÑ`D?¦nŸ %CÞÇ#<ôáŠÃã gWNØ9µÀ- &å.‹ã;`¸ÖŽZ 1¦F”= #¸qcˆgÀÜWô¼£L©»ÊPÚ’Û̼àÌïòöGæôÄ&^;KÇ»÷žäÞMÁØ ù?/^ä‘ˬ)¨Ô)ƒt•¶¢±=\á83ò(?åÝOìÜòcóR w3¶¢$ÊÜðÖûJßÓ“UJkƒ%[)I!ÕdÄ]«êr/Ž¢$ Ê€Ïõ%Hk@ ÐÌ~2碧íp^!…„”¢mu¦Œ¶Uìk^ú¯ÈÓ}%¡ŽÒÍ­LRåã cTab³B‚£©¤Ÿ. ›É;PÑVˆÆ_KñËÈ §t—hôbÀNé™éš«€éPÇØ¹ÀÙC8?f§§XªÆ33ªñTF=ߥ6£g±õ)–õ„±õlJVTÆ¢‘œí Ð÷óñáû¸X7\»,˜ áÃÏ*žØ¿È¬_s±ÖÔ^ Š‚í^8Ö …ï¤?`î Céè+Å£‹Ô”s¥@“ÂS趦N†Ö~‰Oy»¾hF䯵![‡4©¹HI¤BòõVŒîŒ[ EeßJ€™Ö”2ª]›BJOŠž¹Lh–÷"H§VÂvT‹ï—Q{õcUœë€ï ^ ꥣ´qMVé”–=ãŒË<”ØBR™èœ< ?»Þ€GѰ%Naül9Ä7’±pŒ–м _°%‡ØzÆ3ÌÙ‡yr±Ï~€ï_åžÔˆK5;0*‡Ü´iðö,ªDq4æ°º‡¾‘¼ðnOõ Áa ÇÓ1Oô,}SQúƒ¾dT9Nm4|ñWç};ž#JMm¡¶ŽyU²ÙóTš>=eó…¿Ãpþ:¶Õ!ŽÀL:&%êíz 9È\Æ ™0½3™¥ÇÿEDk^טÔÞJ)žÇgÇ®üÍúáÝšDL’,ªNaÃ5so´õT³s ‘í'W÷+$4>H¥Âò9u.öUröa’êë +éõz8#ƒø„˜Ûä² ˆ›g¨¿ n‡ÅþÇ×8×gP:†œª¼äÌ1£‘Ä;×ßã²/ùPïAþÈ:±[û IDATŒ á§ô<{ÐWГBôè'*Nï^dÐS¼ö¶†ñ;¡º™‡òá½17æü™=%G¦D8'v¹ÏñqÁG¬ãKï¾×ìÌBQ;‡k¶ kâÁgjžºdøÐS»Ür÷ãÌ_ȨèÇ"†IÒäì|úžbv…Ê.õWè8tû ¢çéV¶¤55™‡¨Ö Ðö¸üððû•ºÊ¶J)yoשøü|2åú>…Ü6œ”œmjsò Do áB”+µcìœx ™žÊÄ.çhcO\|RÐ;ÅrÙ06GÇ#ÔbƒûÏðE;’úø^¶6æì/óáÙþÓG.P…‡ºäÚL@é@Jœ“4^R¡(]É… 5¬yö¸as(¹m÷Ifs…05×f–™-عi‰ÖŽE ‡3C±”Lë†ÙÁæÆã|ÉÖýlõBºs ™>À¤iè}˜ÿåÇìÏžÎöo û4™9išƒè„É__)'¦³k@]hþ½¨’×{‚d²‹‹‡§Æû’`/HøêËx"Bõ§ZØÙÑp0D ‹*H¤tryŒÃëAdŸ¥pP_ÄŸ}šËÓgøàS°°öiÒÃV‚fÑpùšÁØŠ][¢*µÁÁu(ÅÂXêB¢…£§ÀYñ%•̬D(…ÜrȹckÔcv×.–45¨ÚrÖ 9:Þ㑇ûì¸ åi‹ÑŠyÏ! ‹÷š½cÁ»..yõÙKôí6#Û¹‡P%=[pz —C‚¤¦èDc;ÊÅÈH"Bp"•˜ø•EÓâÄ­««ñ¤'[r½ÚËADwî<}ÈbóÝ1!SvÍ>ZQ§œpŽÔ_W²aåzAµŠ¾JMKÚø¦+£C¢AÖˆÅ5„=Ĩ”l¶´÷~CI‹MG‚úx7n%Vå=‡ò ŽO?É>2ç±g‡‹±ÔH²YØÌhön`ZðøÞ×–u,¸´ì£6^q4wÀhâi´£Ð–,ýÞ˜rÐàÝ3˜z‰(Z+§WÓsO2].9«gûÜ“ìÙÎJ†ØrØy­ŸxfÊÖæShq#wÊ}„ƒwlÇÜwzƳ2Lv^ÌdÃlt*­Ñªô^ÜÝO±JùjN†ãò´ì4ùÏ)µX»~.a²P6ˆu€ç4D{ìšçyÝÿù÷ ÈBÆ(a…ã1T¢Ä.Zp*®¡¤À5i!Ô‘îI(‡ %¾ÝEì0_J®Ø%îÔÇxø™š‡>Þãp© ŠaÃô@2TlN†˜c„adž^qÌÞ³faYšðþä±2œÞ™p~Kr0¾ÌáL°YZ„\Ðs’cÆÅQí¸:‡ƒÃý¡–Pa9šÞô•çyñ -¿uá ³cˬÑÍ,§ Ô§,Ó™gïÚ1úüU¬ë£Åè-z~Äæ…<{îÎÙcßÂQÖ]ªÏJ¬ÍˆÏ5“Ôß Oüj[³yÒ9®ODÝh?94#¯Wÿ¶çHœLëi¬ŸÚzVDþ{ªæ„ÁaKà65¨¢õ¢•g8˜ „CfGcIV=I›À·¯K3•fÏJ†·ý>ÿöýs>ð숦'°¾`Yz–¦ÆÙÊ6l¨k|¤rM0ªG4WÎâÜúKcKŽš½‰·†¯z]Å)s+{uŸBdy™w^]bUaÖ”ì_Ò,š]úÒòê{®Q-á£+¾øå§ùòóÊs÷é=Þe—ÆÕ4VãÊ9¶Z ü€s[5‹©ÂO{¨¾ú`—á!r[œ;S2®$BâxÖ](Fö3’R#|V…¼¢ÖVmšV=(*‹Öò´éib3ãeŸ\ÍHY›m¿î|ù÷LX¤¶"Yc<2o+ ‹t«:eNˆ—6ÄŽÑ(fÐ<ÅxYhOulMƒ¨kd/z8†Pí쇙#æ½|Ròñ‹c®Î7Þ"ú’™— X°UJnÚ²=¨8˜õôŒT͹²OQ+.Y…Ûlnð–™³ü?Yðwnšï²Ñëáì-ÙÛ~”_ú äÊrÌþÞ’·¼êÔm”‡|èÑÓXç¸ý¥}FZsnr„Ò7"›ŠB t)¡TÓ’ÃÊ#uÁÜm!Ø'%âk”/8Wô “X†x£Û"”¢e†¶ÏÔÂÊ„d¶’È'2¹>š¸„_&UÖ&ëÃ:”\=×~±­Ø_ÙæþÀ<¬ƒ3nk¥ñ ÿ ¶W°E`.á+œŠª2^Kná‹Øå))T1Ô£1ªŒiŠàÍ(GeËmšáG¹r(¸ºìS-Kf ÓX iŠ‚í-8»ÙðÔÑ_xú=£æòžc—-N{Á˜9ÖZœ[RÍ]éñö+ûìQ"Ü!…QìôÇö M¥˜˜%7oXîío1;Øc¾7rYòµwßÊKÄY”:D*MYöÙìÑ×Ñ;ÆKÉdWÒÛ¬˜O%R;zº kÚƒɦjÐǧf“£=¹6Ñ­ºKÌu¨TOñ?èØuÖð+X^_Myå8NwR‡×N†—\gKåß#¨½X“dù5ÖŽ3ugcª¨å´ã^íK "¼ÇØà¼Œ:UâÐÉ Íøiž8ªyúسw¬hLÜLeéù†Ñ€s“sœnqpX¡œáhQ0]J&;5®7c§WpWQ0™ÜBàlEƒä‘+‚fó j7D芪¶|ðÙ çŽ~OñWïÐÜwzljG%§ÙdÒOÔA7Á+*¯¤e¥Åºm"WIO“M0ÉÎ!³Å²‰Ê³Úôá \BwÙ­b'}ˆÇ¯Uú¬Øyÿ²{Š%t.ÏÈÈûÒUèª@7K ïÁ„Švï¬^yç„Y"µ ¢Í8ÅÛãñæï¾ xø©!M#ú=ÅDyFƒwmŸæµ÷°o{xÖÎõpÊ´·ÁùÁì°ËPœ¢”Cê¥ä™KžÇ3ªÁ{ÁR–,ê1g{#¾òÌM¼Ä½€9¡§á°j8wóœ[v‚¡­jT3`çàeüå› ÆÚ œÆš!»Å7Ž5ª¯ñªà¨a]¶ŽƒíƒÐ ú=”ó6PŠ4Àéß\j2«Ž‘‘,36^®­Ž¼Еk®g…ýÏ# ÑÝW¢+Vö˾?—4ÊïiðBjåÁ ®vH5•Üz㯹K±Ñ_Dq8r Üâ wœz„KÕ)Wûl–}´®‘¦æ°y”¥}=9 €Rs°;`@íà…E+eUrÕØ^gÚŸË8nB–åʾÆÅøašHÉuìC¼–H y„%ß?¤Äyù&‘ÀWå}Œ€ äÛ @„k§r¹˜ºíUÈÉ {ìŠpú•W;”6ÀRz[Iv2E½áØ{ŽÊ?äCÏ̱uÍ@Xúå’±o8×ó¼rpwqÄMòÍ€Zpq¶€¦ÄI3Sàjöæ,ê!¢8dæ=wwŽv˜Ì'x'qKC5w‰§1jŒv¤¡gïáÌæýÞ¯¼çzý!¾¹?¬á– & Ž@ÁM8%z¼nrç's¼“|lƒÇ§s6v$ÃMÏ•¹Ä6#Ú"7ßåÜ¡œ¨nšlRšLݤÏú tvìuàÓ«,C’– ¸†¬’9“6;ŸÉ¤¡î¾[ë;G‚àY¶¥v'©Øc•qMã®[–=x†Ñ „(eSŸ ʰ ¨‹Ë’{ã%ÎX¡-^…\æÆ[Žä!íÁb)©j(äfÞg{³á®Ý]tíP"®!*ŽhtÃå#MµpØ¥Á)Š¢#<åä2W–.sËî˜ÛFÇÜÐ_ÒÇÑÔ’'¯ÑxÁ¶XpçÑ)õ~ë}ž? Ï\Ùç¿zµæìƳ´ùDY/n‰ð›®ÇÝ[ |C½(À+&RróD3³pÓiuâöÈ_Ždr纉79˜âÇg¿Cû·[/b­%ÎIèë¥ÕIí:¡“V«¿Iá:•—ÛTÈUµ¼"…OAäU3SÀÄ륇"/Њëq5  ò.ð„®.d³lB¤ÚìÀ:ŽË1]êF¡lAY,8»5å¾³¾x÷>¶{qá´˜±X×71êk¦‹‚þ b¸µDi蕆ÍÞÙL¸mGc<eÃdCszc“ÑD#0\^Ìþ*ÖysÌôÚœÇCtáéšþò¦`d'¦qà'´E¡F¢ÑÜ;¾‘ížE(,”£eï˜ý嵋 jy©²IÑå0¢ë¹Vk‰ ´åaë…1ÝÔwÀ0Ù~f]zœ¤^Ÿë<¢¼èÀ¦éì6Tè’“šM×VÙÑʳĿ”’ãÅ{ù²Ø__ã9ª¢}tþDmeÈ»*ð¢Ââ9t‚'ö4—÷{±ZÐQ–5wܯÛÙåžÞ'8]Æ…FÊ#Ð;ìˆ%/8£9}ªb{ c¯0NpõXñèE(Õ7é»8Û»›\»Äÿñ`Å~àB•xMÓcÑlà|Ù7ý†íÍC¦Jñe¯>Ǚɔ6uØ›ðfÕ”#æ&àjJ[²u| ÷no²=<Û¬)”l6Å$¤Â´O_gLW†¬U-ŸÐV^Œéºm>ûäÕ;ÀJéË=‡t[‘V²“ÔyE !TN): -Øc_2É#V ¹ì·$YWôJ¤Â*Ca…À¥c>¿«Á÷‘Jú‘·È> ž£…c¾P4Vpº/)5ìnÝ«NßÏyW ؤ}õ‡ ¶ŽPYAOÖ˜¦ÇñlÝHÆÂ£1ÔÕNÔÈɇ¹yGsßj¦àp‡â6øÓ86 .7C¼ø Gs¾æ•=î÷Ðrlª‚¦ôÂpSè§KÏË‹²¡UµÁl¶Éñü gË]†rl3b r¶†gÜÝ $j[îfº É_°þúˆѹʌÿ·ÕЙêôÙöÈ ¥Ö™ÓkF÷uvQ:§ì(³z]è-8ò‰¯SL%{¸ò@yj&ë÷§ã\G¯¬ýŸ9©Ä,ÕžºhMH_âe¯'ÅpSKUv(U5NÖ‘4¼ã r/n[£Ùo1ýMÃÎØqãö€[·£›•bâŸB»àÒkŽ8³5ᆑâòñ>ûxgžÔHÆ úSΪ¸ïfÁ©Ò£Ü~´­ö¢M=Q[Fƒ=ÝiÌSwó°O2Ê•³n„d–eô&ã6{³xçÝ@§S'ä’ªmq&Xuö½ +ÿ"Ú"ù$ç.þº›ßž>§⵬î>yšÎ ÞÿÏ3Ú&»Ï‰9bÙ6ŠkúŸòuìteÚ7R÷tUˆ¢å&¤×H [µ&ÅMB/Íø3É2.ruºÅ¬®ÙèÆÁA£PºD׎A± z 2`Q2ë=ÍíÛžSÏSOíPí9þð£s>~¡á£×.QËàÂ#— ·C[ç:'ÂEÚ!e ¤¨€Œ«ÅèZžª}jw[•IQvh­½“²)«/ ºáœÿ.W÷Ë37ÛµFY“$¹·˜9‰ðÔ®³¡ÒvÈú@&Y894”À¸²pIÜ–gF¬$ÆmYbZ¡ÖZ¬ô0¸ ô¸§½( /ñÒ†E;|`d=¼Eˆ2ºä}–ÑV‰n¬Y‚›`¬cR.Ùì)®UŽñ´_rz¼…›í"D2´è%}9d·*x͹C¼?Ïñ\ábzõ…ðôå9ú.Cxs•FµØ ’ÆOÊ€Ìé–ƒ<ÉO—èöu¸&Ë`´‹2MÕPkèÍ;Ã4E6#iÚÄY‰ (Iâè´dÈïÙH+ähÍÀ®[ -¶dàëì8•(I¶çÌ¥á çÉ[K{/”ó¬+· Š[“ö¢-ó.0ïÖ³/{ªW©R\ÿÔ$ÖUÄÊTÞÚ^'VaÍÎÒTŒz3NM¶‰ZX ]pvPPN„úÄp;´sœ8öÄYî¸í|øãŠÇ6è÷|ÙËŽ¸ycF»rž‘´+¥¤åóüì|âÚÁwݤµ ÅF¥å±Óª6Õ¨¡]ÎQè\¼àRw†r«öÒµã±+ñÅ @m8ÑiœMv©¿(R_|ÝÞ¯Èì­|©do%㤖KÄÚZÎ;íâqùRNÝ- -ð8¬õ”Ö!z¼ëK¼)D±ÁŠèM"]'W>õ)½óæ Ú<W)tÁlz#Gµaæ&À@˜,vÉ*H‘äs#áÙzÄï^äûý9ÿþýŽÇŸ0ìoñŠ»/ìmPʘ}àkð[AˆhÈø‹”£ÆÁ+LK.ªyôãÄË~\Ê2.øæëàA&ÂÓ;ÚEo×9¥ )Oþ¹òòÛ·EÚB…öS¬à (Wkw„ÒúõåEMD©o|Ã` ëðë)ø›Ðò*«Øö9º`c~#zÉpAH©àèƒ(©ÍOÌFü»G+~jÀfÿ4·ÜÙpazÌéâ®I͸¿«¯Ë õEp»Ñ[+ùºyøk5ˆi·­Ð`Çà¯ÆØ`”\vz/ÞG?ÜGâÆrBpE:V$Íuº¦†NC:‡ÎÎÕ›Î)WÕUK£¬z—Aý¬]&çIY¢ëy¿s¦ê-³[\³§®['"Tù¦ÁÚE©”Ê¡‘eiëýÌSïüÓ¬&²¥Á•ÿ±Jamo¯`ô˜zQrßÅû \’Œ¦÷°o=µ>F¹†±0/òŽG9žßÊí7^z»`,7y|ï*õÑ Ùhû ,iéäª=%Þ5ˆ´6g<@s5H3§ÁÌãÚS{!j‡c¼ ƒôC\â¾ò3:db¶À鯦û›Oäë[¬P3ù"!>›ÀÄ)µÀЬKºöÝŽéª^¢®{?P.ÁÔÚu¡•ëRtäá\mH*']3)¼C‡pš´³P ÅÈâ¬D)ZÖ3]b\¬råú§¯}z"¿âJ¬óLÍ…=‹†º2gŽ©4ÓÅU2Ÿ9s†‹]³Óln<ÊÂU<ôÑ»¡<âÆS=î»uÀéf/ÈÝ#®H‰;˜Fã¤Q#­ãp9a¹²9,(ÕœAQ…¾š¨Ú„)™"ÓZíª×a4è ¡Žp¼Z#ƒtl—Jó!AÛ+±µ¤T^=}['¶M{ùÿÛ{÷Xݶ«>ì7æœk}ý:÷܇ñµÁ&JC 8 nÔJHm£H‘HÓD)"Úª¶$€cÓ€iC±Ë&RJ]J)üQ%QÚFU›wãðp) mPS©ÅÏkŸsÏÙgŸ½¿ý}kÍ9GÿcÌ5ÖÚûP_ãû°ñ”¶öÞß·¾õÍ5ç˜ãñ/ÛèÅXfF“×kª„ûšemA;|ˈÍB”ý~Îô¨ù`(I\:ªmd@r)Û…©Õ]€:l⶯˜7nô¿M.Â9 žB {¬º w±åNó%zžOÏ#^Ÿ!ñ€!íð"?Ä?Ý}/WxÓÝKÜÝðæ£5VcÄî°FYcý.ƇÕÇðk‡gñË/á—oĽ«/ÆÃ]‡\žÁ:T¬;Õ¹õíQ«°€c97òUšc®61tžx¼Bî×½6³ò–kµ0&ÌÒ­n;¸³ZXn³÷‰µ4ßãmDA†ê›ËÉæí#@oˆmÿ|z]Ɗݦ_Ý\ B©!@R ׇDÄ{Âjþ €(ƒõUV œáL"DÃ=€>Ö,Ç»åS(õY üO=}Gúû8àŸÃ.ÝÅãÃîlwûkì/«ý :θ÷Ò¿€“ÓNº/ÂÕ~ÕÙÇ@û/Çõ'±Iñ,#ÑÄHŸxQ¸M؉Xã;Ò á\‡ˆìr¡ }*:U¼Ô ”R1ƧÐçK.Ü% •pt§ZjAaâ6 ñWž±B IDATÎd·µë'ÝhVÊÑm’5¿-OÑ‹,0ŽÔuh,9}/ûû‡É…wÃ=¤gá4KÏì;ƒãÀnB¾©M·Zû¤ã°M¨C?îÔå f½V®Ú$í@}@,[9õñàKÜŸ Ö pÞàb¸Fì êî$Ê8Y¸œ#u ‡|Š5%t¡Ãž"FÄá-xËñÛ¾`ÍÏ¡úVu @üÈ´@¥¢Ä3$„CBŠkqsÒ¨„P圳X‘¬éõ©jÙÐs€ƒ´‚r-o¥ÝÝéôªæ¬˜›ú­M#®[ô›¥Û¸Áí¨¸ÏuI8R&'ÚL´y›¡ DäãªZ L÷]K=U/°ƒã× èÇ ¤.Í?[v(õ ŠDtHÌÔ7«ˆ0_ ÙO%Öb–JA.ûBØåSp·Á~<ÆåÐ#¬¹Ò€7}WW_ŠÝå—a®‘ú" 8îöXõœ†ŠÓî“(q5œ!”9­‘@e…@±Â.÷À¡Gà„;STuƒs’Eí ÐBpÊ´nÆ-*b¸”…³H¦`g` Z:ÜN&MºÜÌÊs–^+ÖQ1o 4Óì6ýféL~âpbµ•£´×=q­¤Y@¤Õwðs¬S‘ÛHÀ²år.þ~a@K©( × œµ 9Kp[ûâ iÔG@Á‘>"b#.†/§—°¿R°¾C9<ƒëºÇÈÃùoQÁ&l°{üõX¯'ë&B& ïzÓ€L=ÖQ,½Hk¤°G­Ç`2!w\_ا!œ„{8ZŸ ËW(èQð ºî‘&Œ û@|^p®–PzàEÈ÷ó…¡TÝkÿ6b¢r"h‰í4‹.(Aí‡s‚lbåù¤#ýœéI¡&gÐD¸)Ÿˆ‘¹AIš:¥.®F.ÜÐýnŒªâ½÷Ï‚'PêRÉnpœ8ʤ>ƒR®Qð÷w_‰Š®‡·`ÛU¤˜1 ÅY·Áïï2î —Kt¡CEÆîú±–7_á¬ßcŸ{œ—¸_ð†ã5îÄOa›¶`~ ¥F”x‚’/pÅOJÄ&>@ï Á¼Æ@=j¹ó)úøawæ§DLC‰*‹žež­JL³Ò*ZMÑÖKÇÄ›n”/øÑéûÈ– £ßXSpôõÛ¢fœ ÓµmŽ·pŒV‚Ò݃‚:â;×õ÷\ áT1ß|ŸÂT¿Þ?S¿V#hX´bØ¥\·; „èÝÞîY5õ¸ª¿óŠ'8Á r}„m¬ãÐ_A:Ñ]`èŽq^ŽÀ¥à¤[££d`ÝãÁaÀªïq~™±Ï=FÚ"¦—ðÑÝ…ˆãnÀfÓ〱P|žßÜGŠY¼Kñ˜Wˆ«úzŽî ð§@a%ó®{ ) š YÏloõ9ÒÜ'ºhóêÇ~3¬¿! 5_£ÛO·ã>³†ÀM®•Ð|“æVÉž#aþ9¯¤/€é[ætÛ{V›~ùžuvókÆYꇅ æk Ÿž¤„óÍ8T%¬ÅòœÐÊFh=Æa…G×wpÜ }Ƴ›V© …("¦î”ó)Î/ÅâJÄ”q²yŒU àâŸØ„x‰}]cËÇØ‡„ÃUÅnÕáÞXpº¿‹‘>‰£DxKx¨m¸x£±T P‡˜®ÄȨǘú º€l3ôšjÄV'ÝEëXÜ€a(h¶P˜/¾GÛ¦9=¬½æ„xœá¯Í¸gucÈ=¤û«Ëòa`kw¼5ŒFïâSrtÎh›CÓÝôºZƒ@¡×lúr@aÇ éD,KÙ ¨¢wUO° 5lq§Ûá4=À6 ÷u3Ÿ‘ [tÔátõa ïpQÔZ±‰vxþlÀ®° o::Aè.°åûHqã͇qT:. ò<»f¤øs¡âL£¼8«È³x-Cå³"ô³ö tú#°:™×ˈƒ[Ï冇iò¿V7½ÕΪ7Þ›þ¶:"KËï~‚øòœÊ¬A#þÛtÂY­/½w  êX‹o§0·0íû|‚…0ׯá4XQTÒDé´¨^ažÁÑé‹8¥K$hÀY”ü"ïÈè"ã´ûÄ5ã|ߣ‹R@—z$ú8¾øø 8·èã=<µÞ¢ò1ÊqÆIýé=jâ<êl!}ˆ_ªùù4žÎÒehU€îX«¹L­pçȹ'¹ŽÑÉZ”Åj9÷LC´=f¥kfæþ ˆáIcÉÕ¯ÏT’Å=íTmöôÂ’æ÷ðºYsLcâB ×ÒQàƒc`&Îg‡åp ð÷¨„«4bê¬U˜ 9|˜ˆÁb¿c ôkÊ Tƒ¦„=HʺâP-èºÇèòžÙ^àx=8¶|®pº½…¼»ÒD…ƒ.TÄ6¼ˆ– Å©°b!u϶] çhqñ€¸ƒuÍh×¥È1QaD¦¿ºa:ES\±àVN¼z<é¶áÃ]nÓßlÌD »Î‹ó™Qÿ$%˜¼¸÷LŸsĶPSœUˆšàæn¿­üRI@:mÈ”"‰ù°x@ÿ0šY« 7xŒ Ö¢¿”­X`9éÅKÞ{tP-» !q¯k{ ŒV³j™Ây‚¢#LÓ¡HŠ}IíÐ$bÒô‹o·~ÌË“>˜ÎµƳç¦{ÙëÉoˆÆË{_ê ßš#♃ø×ãdþ¸û—àBõ’ p”C/+bë|—œ ÔŒ Gp^L¶÷”ãÕ)‰DAT%8íï $Ðɸ‚(ñý*‡ÒX«>D\ˆBö îLdKª[½æX9ƒ4yá„ƒš½š¼Ðõ“¨AReªŒë„ëNÞ vÿ;Ó‚ó^ï¯ñVåR®+˜é |g",{@•{«Ó³Ü‚±#®‹0-OˆuþYÿ{ÖÅk¡‹ÜЕž 7Í2’åFœbÞnŸöY#Ê[q¨ÅõUu®v= @¸SÔ ½÷5!ÊâþeäË> „ŠW\Ý©jÞx;¹-¶œ’èTA»ÖÛ‰5¬@‹9§sq·P‰]×E ½Â—òÙ²#x|V“R-}þSJ(ªÿÔc }°Î[ùþ4'{~qâvðD ?c¿×`ˆ4˾™‰µÆu^¶ävþuÇuhîò$b°¿“⊘ŘOĶø¼+‘ij:C·|ÍË0uzkcaÀ,çj«õÐ%Hñ0^äPwcå€ 8œ‹DùBÓ?Ü‚ñ $”¸ÖBHñŽZaƒp´ I­R [_Kyš¸You„KPAé“â86)‹‘@k!Äp.âÏGƒBEØêXbÑùœo4Xp»ÖˆGš¹OÛ-ÌêhÙB{±uÅô¾·Ø€©Š pKÍ„ÅëÈ-[gÁD|ŽVÒ|In¯3UÌó™Û¤Î¯õï56ï8 üÿÁ!ò–°éÔU-9× ìH‡§ï’œ˜¾©ÅZ&C↴Zî“|Î÷2œ2È=—]Ïâó³ p¸ü|¨. …ˆ±Šâ«#¯','›R_'b(çªÄ¯î¾ˆ*«òR·rù¨â·œ|w²èê%Ý„–×øqýÎç&…³Xwñ®¼Vw ½gA0~ð-×´…Lצ ÌIÀ×¼|}ùy·!~ãnµoi7DétÍÔä².àåh¦Ëå _—´ÔRìj`Ÿ|Îö³\£pƒA65„‚Dæ†u ¨û s‘š«^i½Q™ä §ß_g?uà¾PÝÉ)ŒÇòZY‹hËŸRqx_9NÊÑ©—“¡­;H´h‚3ŽçE¬GÑoŽ_8³0ã*OA8…Y°Zȶ_3?ü¿KÃÈÏk‰âÛG|Õ¿åóÜÆ|Vvjí^®**¦êÈî: ,¼¡X®#H¡˜ ª ꣄°¾¤D ¬í=7‚‚³ qË—„fO1Lì±f‘ÃVEÉòé´¸gHAŽ TÎH€ÇëIç e»i/D9^@  +¢Vor§åœ ÉnשÓwÉż³µ%¬úC—°».OÀ¦]߯ßw!²<èZüõ¸ä0°Ù>èwÞêLôj ”€\̼_'ŸµÍNçe«Ž]Æ93$*æy0î¤ÎÇÝTónÛn„}r-s÷ë -Mî™ÇÝ6kq½ùîÆ‰ø\ÅŠ¡i¾ Y„û $mž´°mÑ3%}±à7ˆËî}]¼¡¹EF†„{€5È;Ñ{:{gÎMì;ÓôZ ®«sýÉ,³ˆnUOÜsq•d _öó7× *¥|q6å`s‡6Њ¯qm¯ J!‘Ä9(Q ¦G©ÖËÇ¡ =¨TÄõ¬ý–Ó/“Ÿ0f^·Ñ#Ä<[l³ iWÝÊ-Ÿ£É¾”¿µëë´Ø˜Ä6n[¶|ÛXÓÌÙ[Ñ2ío‹‚!ÿZUО'+²Ýâå{÷ü6ü: hµØíš %.½| Â!fØò Gxªzbby ­ˆ¦Ïfýßü…3ÌrÜ臖ùñ¨EWp­DžNć#êD²±õÛˆŠæÔ*—þÛŒ5/^7‹Ï|¿·ûm¢À ô¿½7LŸi¡µ¸ÅúrÊòS¨ËˆEª×â´yžLa.¡Æ‰Ýâ[ÂB{-éß.úÅQÙ:¦é9GÇÝ)c½œ`ß9ãr6ç<­}Nç4¦)N.²5£­ÕηR“ìžÍ&­LHÓÃ\Y¨°•…3ÃÃ$Å:`1ù×nrª›™°¸qÍüõÛÞó"E`)çe–Ofÿìxö>d£’»ÇP'Ým ,ßÀ£”iúMN R˜?މLó™ —Ä Î²ÐäfŽð}˜²%=¨IÞj~>%ö’C[®0wšë:e½W„|G¬ò5¤P+6Ig÷y"B”»Ù¡N'QZRö±èÏÞÀ¢S …˜"­\édòtBý¢7‘R'Ë‚y𨭿6؃®Yr0²²îYK4ÌçÛ„…âm'µm®*Ôþ³·F‚ºyÚûÞHt=ŒË&nÇ¡e‰sbÐX›~*q*Zìû̘ò¾mdIê\·ÒâÆêdødUŒ£Í°ªÐþi#Ú?™%™!ýrl£X׎!.#·¯¶Ý@(h‚¸²&?šdÅ9Ö=™@œjÁŒÚ¡‹Yè ›:'ǚĔ¼1lAM$%wÝfÎD+wÜîxç”m#ر½ãbd+çæ4†)2´ŸÄÌtO?ÜçŒ[ ’Òe¢5Op` D5µ”ôyZRšÝž iÕÌB@¦øùæüÖu«U½zë<‘+Zyì`kÈÓ*‰¿Å!_:l¦·f5Sׂʺžœ5W`ŸÀ;€62ß…”€(%ÄZ{@gÀêèÞ€¦cUisË,º…Gd¼£¡¯ÌdÈçi­E’é̃ž¥wI›C§tˆ“52 ̃dw°ñ­k4¤¡èÆ`"殊ˆ²j4œ%iÂr¤´g)W4ã2i ³¡ "ÆDOÙN¶'Ð%áúabÔôMˆQЩQ@.4'2ç&M”øª<‹TÊBØ‘ä Œ¨Æ‚Ö4Á¾Çp©T§Á‚ ó¨Á« Až±ŽÃTŸ‚4 È ŒXjw+W±Tê0kœ•beÒÁ™€dpªÀ)¦±¬á•uSÛ¢Úû$gÑNqæ:¶E%Â$~L|Ì` §pbiÅúMçòÐÍu¨Ú' Á!LâôóI?W‹ÒNP1¯ÜIrôl ’ªÈØžÙˆÛ °4lÈ8£Y£uN£œUìö#·û1YÇ ”Nu-; ªÖT±q3Óû¼.=éVÆ4* ìô^:·`€a¥;@()î*᪚œÂÎÅȨ Ô YµºÍ² zÑ•€€ ƒ.(wÄ£\“!4ªh0Ö>dP¬Ž…; Ɇ˴Iäÿhˆdœˆ4p×\3nãfÊ¿#&q½[¦{µîöÝEí2hŒhœ©%¾v²š±Ô 03˜¡@,ªYGÑ뙫X U@\2°Òß#AK DÕ¢€V‚#0·HªÚô9ƒëö@®¨­ÿ³¬¬hB¿뵄—R@>—vƒ:zE¹$Cá¼Õõ@Ñ.¥L¨5(æâ ZD]ar˜V hГbf>Cu¬ªœÂé?Zk)ËAm›<_IÎèÕAí•‚Ü!D²R+Êbµh=Hoñ[zo—‘, ÓzxÄ~wJT-ÝÞæÊ )Îp ̉Êmª·–A*ÀÓD¤êTJèDØÕ˜W®å}£s¹ûP˜tNØWÓ•ˆÀ ’ô®¶Xùºp i|ΠÕö i(»ÓÔ÷ˆ¹*¦R—\… a æ ª!!¦¨º ´ÊE·Ÿ6A8Po‹(“ ›ˆ ·©ÊÕº ÐBï•e%Dªhm6‚é:uêcØÍ ºÌ¡]¶M¡n $¬a§”W<—€†´[7ÖFjyÖž¿#€+¨¤ H0³Xg…nÍiA¬ ës„Ñà‰ÛX¸¤Lt÷žÍ“ŽHDÓ@+pœªýAÎÛb±8ƒâ`}/!nÏ ^·ŠYË×èBq—k ö¨0t˜Bú„Öq×qûðZ€K#ІéFŽVËS¥ ÆêúElY‹¡"3+î¶Š„æ¤î´1“e™Xò°†•Þ6 ´ÅB αÏfG@¶‘ö9©ê\¡œMç=¦Ÿ“q‹ž¥óµÿçôÉöÝN?½Í‹GlÆq›¨]rS7ïæÛ¬z`“äšZg{<ƒ22B\caÿE)!†¬ÙÌcUhÀn¦¯;ÔRoL¶dFLq­èóS+z” 4b`€µã6bΤ„åå¿mš0ãhë‰|ÓÊYv‹F}’^Ó2‚1éd%Éürïê»mñ‘DA Ê3æŠ|ã0îûí=#øÆ5&]L 'rgÆ#þæp÷kaŸéÑêƒq5 Ó=ýa0 ×Zû²Xwˆh zm1®lÒ§Îö$„G@}N9Üù½ÄåúÑX ú\1õă(ˆYq>¨QÖ· rfÔ‚®Zê`V xÉ€—Ñ”÷•…¡ ®)d<ë0ŽeÃ[M~Óœòl"×6£××ms Mÿ™°Lœ³Æ‰Ý€9aë¼gDÆŒ`šáa„åuÄ ƒ‰C›yÎež ›_Åd‰‡©™Ay˃̓Èbe¬zÜ0×U…¸ßðÒÃlI6mýÝ\ìj$h¯zÄÌBJe¼>F±øZ¼ D ¸!äŒ2BÜ¢† xl¢ÕXe…6ÔLS£Ð܉Òi1¦³Ùéêó4Ù, @³úOî4Ç<…x¤ŠV™ê„ÙÜ`âTÞzó‹ÛœÚ‹Íó¢aÆ­MŒ$§ó8âòí;8ÄßqŸvãDö}ö^‡I<š¸óÆŠÝU«êoïIhþÍ:‘pÃåÜ~; VBa†Éð:%­t߀;°¯Û#Ç\âÄÒ‰AâÞ&öJ}€(£28¡† >¤$€e€**§¶ \ ”äs„qòMåõôæ3+Ñv‰AÄ$'’¨Ç YFHªØ&L:’_©™øPbšq7GhÍà05a‹Íã¨.œh®Ž†Ä›¡áÔ„¢úß-°Jã$öV_Ât6º¦Üõ*«þhÐ% (ôz˜éPn b• Uˆ:Ñ«Hõj€€ÃI­ÒuLÔŒ,Žæna8Uº•Z9kßÁ5BÉ}†°E¥Ô<íP«,+!"FÝç*˜RYŠ#d/ÂÒÌ‚j‰‰&‹ÄÄ›ŒÖhu LœÙÜ Bæ s#ÎɸŸÓS¼ï˜ˆ…0ô` ‚®›è…;(ìþ¿5ž,»y,ŒOè³9”bé³Ï?é{8úk¸ïëÆ a.í¾v¡­wß5€qÑ€Ä\P¸‘åñ…é„rUïËAtfQÆ+•ŠTA¯=jÀPbPa¥› ó×6»¦Ävrr$jA“9LWi²Üt;¡î$FÜÜð„‰h|äT‡˜ET·à΋`ŠÍÓµ” ÙL6ûù¿¦„Ð@Å,òçþ1®`ÏáB`L÷¤Å¼,Âõù·ôsVÖ'•ÀUpÁîаtß‹‘1V<„CšCÀœÀÔ0 jyó5˜9¤”Rª@ôHë°?*ÔÔƒª´y©¢ÜÆUs!DyM¹I ¨>aÒA %èBjwù™î“¦…š)îŒYØïŒƒ¸“ hÍ'ÝTKNh"Ð-v ÈÊôئ,D¦Î9ø¬j®êÞ°gÀ$èáŒÆ¥ÜýÛ÷áøï4‘鈵‰Ò:S#és¢âXŠã\¶í¥ .#’õ]†Þ÷šÓA¹$ á +$®DŒ z=-z§v%%ášX‚ÛznT½qÌЙP@ˆ”€Yœ¼<U‹Ê·¬ “ùKÝÆ€@4¢qµö¾a;NÁµ8°ÕlA½r¾$N(f•&k¨šú¿?í~AgWЈ.Õy/¢Y7 §K.ã¹Xž†]É‚6wí Ô^Àè0+‰ ‰çuÎKsk¤ZqϦßÒ˜K³’;{”zŠÈg!qÿÓP^|læ‰'añep­Š`R§õ)@[  ¨6 "°êd\…1Šó˜š¨¶8úÃü™éŒ¹rI­Áõr,Oºn$«È²îðÆ…|%a[x‹•϶¨žèŒk¨ËÊž¡qŒ^{ÉŒ˜s {žê^[s®5‚ÌþÚÜôÛÆ;¸X¶ðÞHVH‘z7x×L¬µùûõsÄÚ-®k ?¤”dÀ´_YæÈ\€z@¤Â5¥Âɘ;ìèLóÕÐ Á7¬à1‹Å°€€RF­=ˆ{pì$„&&peä"0D€A`íLep îÅæÜ6=ÏòP_°49‚ àL&*ƒ#d·ànó™G´‘mgÌ`“hwAT ˆÁîàp†$àêœÒ ψgÒõn8ë€zBçžÙ"|Ý>×Ís¶fЃ‹kôùÙâ¼ê´Ž(Ü!–¬.‘ÏÃ8®I¨fh5µž¿íUì¹/˜‚8cFÈ;€w r ä=x8€³T¦áÊ@MïrQ”àH“{ÆØv˜ÿá›2:ûA_¾î8ƒßOpæv2=Î/zKx0â5⸑çLœ§RH¨˜ºÛ›~çcÏÑœÄ·çÒ€›¯¬Ä®ùý´Ðq#Ð…Xn\š9 ³u²Ã2ìÚšñå# YBg(åÁÓ!ôû“\Fœ€s‡5 èÉ0ëLç¾X® ¥j­R²›B©À8 Ð^OziÊ|mÖ^’Bÿ”¦zK$]fÖ wK47\½WØÝBµìa[4·9Fp–ï—õ³Ù±wg5`ÐÓsȨå6:½Ê8YÒïNJx½gÃ×?Ëâû÷öFõ;ŠmݨM€û.ïSœ “"ŸÐê‰ÏGºzñ<ì0Þ„„ZÈgÂû‰VÏþÙUá· ÄoÈ´Ii|â—ÄJ–‡DIDAT%bpì§E¹DWžt Ÿ©¨U(ÞJ RåœcDà(Q©%º&›R€¤Ñcç)ß^Ѷ‘n.®ûߣÝZm«ìÄ–_8žÎ6Àêti‚AS|ÉÏx‹’mDZpRàÓÍÉîð,ŸÑÌ Xʽ͹YyÁÍÁ‰¾–g :À0ÝÙ}W3Ú—ëé‡3®²äó €Ï°êNúÓBôì_C_¬Ù’ãÿöþÞ<ìˆò£¯Îãývt2u0m¬•(1˜:kšt¢Ê½XMIÂ_ÄBéÀ´*ªo±ÛÝè ê´nÿÃì.ý]-¡vªŒÛ:°VÌ…Ee ü ÈÁée3¥s]bOmÑ!„b\iZ±¸¶YAÄ­',{¼®ç ý¾8(Z¯¢)Cºm(qÎú9Ñ ÌÄ.“è´­’I‡'Õ¹4g½z&ºµ¬å°G¹x„ýýŒUw„tòÐ?ÿË@x{øªwÿÏ6 @÷»~ìoÕòàm»ïH'_öI¢7©²äKŠI@ ˆ ôïk¾@¨çã9b~ÔD¢«P€Z+2WdÎÈ\QI~¦…+™ãE]³vº[p›þ”„Vâq©§5d~¡¸.uŽ& Xö\´yÂ4­[ q1n„^c¡ÿxêûÖ9ß"æ<Ðëõ<ÃÀÒrŽuº}ª¸<îÁ—q}ïùñ«ãg‘žú-÷Ñ?ÿèÖ_gDàú8ü_?ñÆpøø;Ãá£ßúÔŠVW’}Hò%QOV@ KLÀn1)Ã•nÐo³NBA EË=VX§P‰¦ZN¥N¨mPt‹çÑf@{@›ˆZp‘YYm=ù$Y½m‘MOk2Ì7¦á}Oë1/®«Ãs¹²•ê†Ù¾ÛâÛ×ÂÕ†a1/§ÓÍšMù¹êß;Î(3#Ìj‚¶6lŽuôûÖBX%åùa®zP†Ø=; »ó”Ý~×þâͽ|¸ú•?Cën÷58¼ø^Ôý×Sýd×N úÒ:#P¥ñ–;ÈCr8AíïõœŽä¡ÂJÜ?Œ-OÆ* ÕD¡Ãž42‚HÈFXuòCrjÂg}}´ÂºÙ^Çj›â>8Â2‚pŠ Þð¬›È{Ù [ž‰Ì:cu  n!¬c¸{$%Jvs0}¯_O4nâÌÞë˜:PXIà¡õx,ʹJ€”ùԢļ_p‘Qqau—©;ûû¨Ço_õ®_|ý<‘°yüß?šøpï0žÿi⇿|N\’ò âæ0³$eÓóG1G©äNQû»`œa "Ñ¿Lw£DòÙvú+æzÔ„U…:€Éu Ð5…>;Â2L¨q‚ .ty‹Ò-(†W¹fk†dã«r‘V/K_3#ÁWú³5áý”@Ûô®*NÜA9\Äú¶CÐD`U|+ U@äIz4¢4K×ôÊ©!ÈÝ 6ªÿj •†€z)5È=ò%Ë´zèïþ8ÿIPúÙðï[` /“°ýÓï;f.ßS‡ó·‡üà¸@¡"·x@÷a@Arÿ9IêSMk0 Û §ŠØ‹;¨=\ë"Å­„äÑM¦33#„ŠP²a¬|`u ÌJó@¯÷‘Um/ÇN<3ËNËZ_Ê\™O¶|€^•çàÄgUÂfãg¢0 'êT\‚nŸY’áX9˜±w¸(Mœ²OZûÁÄ¢*ø–³h‚ÕÙÏkp¤a0V¶À»‡ ±övk¤ÇBÚ¾é ëçÿjx_øŠw^|:ôòi–ý/þ±ß†|ñpý.bÜÞ{ j×K¡ˆ.IN_©+XŒtˆ  -˜žâ)(A4hÂO¸‚CUn:–9u%z ëÄËôÐ^Ÿ•õ™q4Bœ\&þ–VÙ3]¥ Oé˜9šýëÃınDä`ß¡åÂ=Xi™Kv/ã6-c*JE,r¿zØúE81égºªœ¿W‘Mª#Þ‡#I|¼ “Wâñ|u@-kÄítwÀ»Â¿øîO¼,¸e|VËÆá}ã ðg¸Žÿr\EÐö \?&§'Zæ„YvSD©“YŒêG„¨Ql%³ê:2Z— {ý†cÂ=[q4·)¾ÇÒÕÓÌyå&Õô-#VGÀ³¨SL¯7#®7ÐÈÞs¦\‹ÑMºÝ ÷“ ¨Ôó^à0ÀwUHvºòàá€úÒ€°Ï¨)qìžý‡X?÷ŽðUïýÇ/{ÓŸ0>«„û}WêøÑ,ÃÕ{jÍ_F«{莮E†-€àNäÿ®w¨~êÔ}TL•&â7ÔŠiÜ ­0œ<Ð8‰«^¥ÜÅôŽFè´ÉSf¢p÷P‹ÒùÝn˜¿î^³h`F^AoÜOÃkú4]gÏakÖòÔ§é]oáTòã]íaXÅ3pY‘@è‘úí‡Qûw!ÿ•ð¶ÿuთ;>ë„eãúýÛ§‰ò;¸ŽŒèê8Þy¤Áù&f5 š~'4ÅØ7ë\Åj4x'9ŒÌEOꮉḞé=Ú*Æe:Ë2÷Ït˜z“P|ž×·–ÂŒ`LNçZŠÞ:'°†uÙ==ºƒéœØLJÝ€ø8¬6w$d©\£>®ªà‡‘¯¨{Ãöï /üÌÃOW?ýñŠ–ò¿íŸGÙ½»bø7€‹€“ŠxDZÌbТ¨Ðôs‹&*=·h‹©§Ø¬Vè^7*ÂY¤\"by7ÛŒ™"¼tþzÍ;«gø˜#ŒF,ÕÝO߯—BPáØac¦“Ùçý\Ÿo®^ÓŠRƒ#˜ŸÅ{ÄJÀÐ#Þ®÷àGŸ•3`µ­ë¸~GøºŸúÕOcû>ãñŠ–úÁ?ð¯r-?\*¿•V׈ÏDÍÚIΉ¬pDЀ±æTB°® Zì~Ò= ï[ƒq³ÆØÜ1DÇòø•µ ¶M\X‚­0È-bÉÀV31 ÌŒë k}‚z-4·¡¸O,]fà4ÝTצ^€ñÅ®!ò°B g("¸û?Pó;ú?†·ý´gϯÈxÕ ê/|ëiû-<Œï¡ðÒSØî)´Pn¥a7X,œw‹èÉ–Ì“ƒ¼#¨Œ“u¦Ahrë Y¹¤(Ú"=÷e³Í_¨¨¼éGK¢3ŽaÖÞ¬ IŒTTã0…ÑXCPΘµÔó!3Ðj{yÔÝŒs;…Õ¸–s!¬] qƒ.ºøyó¢£/üÈõ+¸½³ñª–úKÿÁ›9_½‹ö¾ý~…§ .#¨°E‹ÿiŠé´ÑÌ®ª¯Ç´ÆìBÔ"z”dpOÖWU]‹¨@^3Ëу¡€SÔmƒ÷Øh:\Ç#âãV½¥úA¶ÚÎRq1{ÏÁ9 „ˆˆ|>Và0Ü;6"u}ŽÝÑ_fŠïŠ/ü…þFöë3¯ aÀøO¾â®¼ |ñ>>\ÿnœ„Hg©kZ·“>bÕãÌ7ލÁˆÇô[Ìÿæâñ:Úß º™mžW¦õ33ŽdŸõDîÝBÀÄá àAé æm.óDx¸Ãs?‡Cç[hÔiR£d?ÈãÃ"RŒÒm>™¾'|íO~ð³°UŸÑxÍËFýùoJÀö£æB¾”ß:} Ð…˜ÍÉÀTjÍ-Û’&0£-÷pË:(8¬Ì+O"Ë»Mš+ŤN”Ϫ³p¹V±›&ÎÛåÊõ †™yÔ VÂõ’K-£„2nÇ3àò\%úþcÄÝ÷£¯ÿmxëOÝËôª×œ°lÔŸÿ¦3d|/SüNÔ¼¥g#°Ù:ŽÁµU7Á\41kBunÆYbµfExP!ÊýÉ:½žÖDŸÓÚÑËA(ÆëS=-V˜V•4•ãX†­9±Ì9‚º<PT_hx7‡g´qix} J!½;|Í¿"ðÁ˯€ñ¿›"=þí\®ÿT=ä?¶ˆôô™i3¬«&9ÉUBm˜¨£éCB òw%s³`¦_Mò«jyê@U}r^´Î1*q–hÍk¯ä/+èÕKá¸f­BºoH’·~GCá NQȈ BSÔrH®ðù5€S6r#^ÿ@xGøÚ¿ø~Ö6â³0^W„e£~èß ÈÇ¿ax7úõ[±ªÀq/e‘¡¤–YLS0Î y—Âpƒ4=0äOàXEï§ðÆ3¿ÞT‘eì°…W 4„ÍN„*í°¦Q&uq)ÔÒ©ûÊ2Ÿ¨×ÂuÖÌ’/€Nµ2~!½5ýÍðÕ?úŠÃ/w¼. ËFý¹ÿh ì¾±¾ýÝgqòE@w.oZÁNõ@8X= E–Æ,–¡w<7«ÒìÀ ÎkÝ4f€%&§¸LB˜[tñdcêQ5Œް´Ú¡ï'z‰´¥ Q¤a-Þ„a‡²? ì¯/7ˆ«Äí9âú}ßoýÀH{ýŒ×5aÙ¨¿ô­oF®?È¥û껈§ŸÂ^,¢Ð7ñ!ðÐÌõ‰·Êt– 8ôÜ9ÕQ§â°! &±(Ò%*a¥8q¹Œ)ëEÝÖÚ­8=ª%C篱ô¼—ð–ráÀ‡‘6ˆGg…ˆþ Òñ÷…¯þ©¼ò«þŸ„e£þü}Êî½8}æëge¾»5¸®@]'uRðԌ)1=ˆòlP‚ŠÍ¦PÁD) ŠZ( ƒÕ‚¬"îòDt¢2©hk9‹i‚ TAg«aaFFØ6Gz½¼@¹b„áT¡;Òöç(ñŸ/üÌ?xõWý3ŸS„åCߨoþ(ü0Rxë¬N…°bA+­“XÀÔl  Šhâ1Ï Ëˆ+ìձ͚ETZ6‘‰B)É Ä9zïr}·BU¬=¨—`ØËü™‘_€Ü°EJ=°Z¿ˆpçûúÿ&üÎyMთ;>çËFù¥o;¥\þôýw`}g‹¸—‰ŠFÄ „‰ úQÔZ†ƒhäEÛƒ¸X„° ¸Pˆò»J Ñ­4(Ñ·ÉY†ÃFeÝã™ÅÍÃYœÇ9b|é!x(Hݱ{zí3?üâÞú¯Ò’~VÇç,aÙ¨¿ôï%býA®«ßOëlŽ…kiÖ”PD×g§Ì7nãûh®‰•„ 3ã' ±ÀádÞ!(‹Dåª÷º††ë8¿@×o@Ý #ÜùŸÐõo_ù#¿òª,à+4>ç úwCú×€õŸEÄïÀÉXË›¬Ü«jªÖ2Š Ìc§˜E‰nV^ ’™íÃ[,4…ìPÄØ¨×TçXæ¬ ¿\­—à—>á"ƒÆºÕhsòϰ¹ûüð;ßÿºƒ^îø¼ ,õ¾çáâÛG^}wrôú5´Ï ixL‹.URP}Œ©‚ïû(CÞ7% J¿O[«½|Guíq/`gtròêÆû‘}BzAýê}àþÏ…¯ýÉ«Wz^­ñyEX6>ú÷þ/yî¨ÿÁêÆ:m°=(¢@»_¨~e9y@s¥03ª«á©ãa)ç+*fy=wÉ ;€÷’Ã¥Úôø©ÎƒÒ¡;®W}ÿ‡¯ùÀ¯½ÒkòjÏK€ý‡¾‹ú²{b~?Bÿ»qò!î4RB©Ÿ”n‡¬­l§ fáé0âr:sA«rÈUŠ–” ù|Ø‚QîßC ,à'}]únÔü ?½ì=÷y1>o ËFý…oŽàüÍë÷bóæ/ÂQð…«åÌ îu#¡µ@Ë"YQµ‘‘âTfm– äs`Ü#?ºq³¨¿‡ÐÿÆü_†·} ß>ãÏñyOX6êÿèÓ áû±ºûØÔ5ºAÄ£/’Ïy‚(‚˜Úß..]Ek ‘.±8 ä« Ä‘@ë£ÀOÇ*¼ð_¼ô-Á«:~Ó”_ø7‰ÆÕog¦÷ÑïÃñ)áxÝœÀMäUÇ¥–Ã` ù@=ZI¥ëÁÃJ¢/òÀùAí¿+¼í§ÿÉ«ö ¯ƒñ›Š°lÔŸÿ÷òî÷3óasúåtÜ ÷J€„F¯''70YEÅg€:4üŠ1î®Ð•Ø_eZ×ÿOŒ×ïà²úïâ¿ô_ÎÃ/wü¦$,õƒß¼F®oG7¼GÛ3lþt‚ Œ˜’Öà,˜¢Dƒ:©ó¾*ÀþBºwPwItôÃÌWï_ó_½n£^éñ›š°l”ÿõ¾„b÷§ð|ò4ÑöDÞðÎl ʱ$‹WÀ8€Æ({ W.Xý,w«ïí_ø‹ÿïkõ,¯—ñÂÒ1~è[(îã×ñðèÏ«Õ ÝÙhý”"æ½6åØååѵtÁÊÅÀý/£ì¿«àðw»¯ûËŸ—ðÁË_ ¬Å¸úÛ¿'ôñøÛ€úî°Þ>‡Óç@«"îšëÀÐý] \_ÂõþÐ¥Ÿü\‹>x¥Çë cü;äi`÷}ˆõ;3rLý!ö ÕÓ¯ BúKˆÛ_þÎû¯õ\_ã „õÿ3öç›~+—ñÇWwßô{$chû÷Nÿxøßó¿¿Ös{=/Ö§1ÿÃ?κÃp¾ú½?ûZÏçsaü‡ØuKcdóIEND®B`‚pioneers-15.5/client/gtk/data/themes/Tiny/grain-port.png0000644000175000017500000000307107771100213020164 00000000000000‰PNG  IHDR©W MbKGDÿÿÿ ½§“ pHYsÁÁÃiTStIMEÓ 3UÊ¥—ÆIDATxœ••[hœ×ÇgÎ9ßeõiµZiW«ËʲQm DLↆš8q q mCBk mh)÷¥IÜÓÒ‡@š—<ç‚ ­¡4iœ@]§©ë¤M¼¾huóêâÕîJ»«ýöÛo¿Û9Ó_⸒¡ór`þg~g†æ ÑÛpÓº¢ú˨ïäÖ·Öàÿ5'bÈ®Üv°;DÉ»z+][ÄFcÛbÃHVó×;w¢ù„·x¡‘?úÁÝÑrÊ_ûÉñ-¸rB–~ë­Ð:¸-Œ§¸Õ™ZåêQ¢Ï%®šoJwV ··TpgWsFÚ£Ès[¡i‚h‚ë ô²›N4÷¯ŠëJ ­Û÷‚Ö<¶Ð[ºYƒó7åù ìù¹wÏ_/v™ÙÝUÍ-´RþúU4hL¿ÞñTL“àž h€Â/¨V9jWܲ³2”oÈú{àŸY‘}üÏY#FõcX>#G2¸>ë¶|éÀÜ5ÐÜÂÈ}ãQùçmƬ)¦¦”‘~ò­ŽÞ–r—Ð<¸õ„ˆø7Xí/náçJ¼Í„Ðè_R 5Ÿ+èR½)Bw}s¦|ñƒ ÂŒr^Ñû§Íج\¤rõFHM‘œ`@r0óá¨ä-~4_˜yIÊ€YBÄ•«¨ ŒiÝô00’ƒTkáÓšÙ=€| ܆µSªúËæÕ¥÷RûìæÂóµ+O{—'‚â~þ πók’.ê„©Ú¥s—¯ºÂú85øxŠ–K^º;5ò==QŽîȨ¹?.•¼ìžÝ]½>-uýòldîy¶ƒ­ÎŸ>Qø÷z´* +¥g ’ãØñ"Õ(ûuní›Üç~ò‘æ—@3ÉšÔŒÀ ?†‘€›xèA'`½#ƒ}»§™3ÕËž›J?üšÑ3¨Bcä±GvµË˜ØÍiÔføÑïæbÉocKçZÕÛs¤/™éÖ¼ç h¿Êú¿ˆ¦ jÝÐm€™eb±sôÅ.2Z‚ѳ˜j¥×°ùž‘|ŠÇ“,™åÖ ò ÀÖòñŽì³2ºöxéb~E‰©ÇÇ`H6O9+ùøèô# ‹°± –ú0´ ÊJ±PPïnÉö-¾ÿŠ¿‰bïÓãûŽ!/Ú·ç?[O4å~ÖX/vîˆô]ÀkO^Ï-Ô,˜»Õ?¡¦¢n1€J {OHSå?\Öè¿ÿ¨5öM Þ ¾õý~ñE/ZÐ¥ðÙ+k|òwIµ„d‚sú_ê¹þ¯%QoCÃÀ¡êÀ¥DÓ TW\ËLÿDøØÇ1~Lb2ª]ž}çLÛ÷í€ßκK… ¥\D@¨3–%û‡P¿U¸–퇪¤Ê²Œ 2dÓå¨Á@¿¢IlŸ¥¡ÃÌý¤ßqéF†aÙO6•†$—£Æ«íò»ÅOsNÆâ*ýÀ˽ݣL°ú¨²¦™[¶ÇZÀ’šLÉvC€€]CXw!½“d€ýo‚ÈÃÿ˜P•ò4_º´Þ¨@½¥wŽ÷aÓ€IJœs¤ùÐŒÀÒUë‘KÌàº([à/Bæ÷[r@(ÜÝ™¡16°w‡Þ÷-C´¾맃ÍóšH’—'Ô@(t)„„çÔuIèø`vAçC[r@ˆÌC@_ÕGÐBRˆmJþ”GyP9l&x¬ªÚ `y*TäØ"Ý ¶ãÞXO]€öçæ‘]¼†Xì¬o*³‡€ä" 9k³ ¦d»®ØÐ½ÑöÖ Î°ø÷!Э ‡J¢LªÐu@¹Uðl Ŷ¿%0RS@[‹|ú„mP„À˜If»‚²mæ¼u/4²à•ídÌüÆ_»P!«y‚«µ€æ6X¤Ó™¿ûõftô¶ý½iZ>îRË«v±óX• îó°‰FÚô}yþ?¿:øåg¶ ý/@Žþ[LÈÏIEND®B`‚pioneers-15.5/client/gtk/data/themes/Tiny/Makefile.am0000644000175000017500000000316510462166770017447 00000000000000# Pioneers - Implementation of the excellent Settlers of Catan board game. # Go buy a copy. # # Copyright (C) 2003, 2006 Bas Wijnen # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA tinythemedir = $(pioneers_themedir)/Tiny tinytheme_DATA = \ client/gtk/data/themes/Tiny/board.png \ client/gtk/data/themes/Tiny/brick-lorindol.png \ client/gtk/data/themes/Tiny/brick-port.png \ client/gtk/data/themes/Tiny/desert-lorindol.png \ client/gtk/data/themes/Tiny/gold-lorindol.png \ client/gtk/data/themes/Tiny/grain-lorindol.png \ client/gtk/data/themes/Tiny/grain-port.png \ client/gtk/data/themes/Tiny/lumber-lorindol.png \ client/gtk/data/themes/Tiny/lumber-port.png \ client/gtk/data/themes/Tiny/ore-lorindol.png \ client/gtk/data/themes/Tiny/ore-port.png \ client/gtk/data/themes/Tiny/sea-lorindol.png \ client/gtk/data/themes/Tiny/theme.cfg \ client/gtk/data/themes/Tiny/wool-lorindol.png \ client/gtk/data/themes/Tiny/wool-port.png EXTRA_DIST += $(tinytheme_DATA) pioneers-15.5/client/gtk/data/themes/Tiny/gold-lorindol.png0000644000175000017500000012353207771100213020654 00000000000000‰PNG  IHDR–¯t'‡bKGDÿÿÿ ½§“ pHYs¿¿CýlštIMEÓ 5)#G IDATxœì½ymÙUÞù[kïsî7Ç7פ§R•JY  Ý-æÉ M p; p@€-†¶#7v2ƒÛÝ€;Œ3ƒ˜ƒ¦ihŒBBCU©^©ªT¥ªzóËÌ;Ÿ³÷ZýÇ>÷f¾Bb°%UI°#ò½nÞ{î9ßYë[ßúÖNáo×_º~õ—~0žÚÙüŸOnmÍž¼ñäÏ~òË¿~ötÓ3}éÓ}Ïôõ¶×þô§lo Þ|ípúï›l?zfïÖÿòÐ[óSžîãz¦/yºà™ºÞòšŸ8Ÿ©^u8¾ú…Ó&“¹bµŽä–Sç%§ èϽûÒ“ÿê ¾ðŸß÷të3qý-°ž²|Ó«7óÉ+–ÓWN§ƒûû.óÒE!RÓŒ4†~¸óì-ãáö¿^uçG}Îøé>ögÒú[`uë¯ÿE !|¡åæUóåüŽÇ¯?6I~={œ ÐEÉ".xNÚhÕwfwÝòüí*öÔ‘Qýªúê;?êóÒÓý^ž ëo\xó¯½h<;øÊ§,–3{âú£WM÷7¨ÆµK«ªIL\s<€ÕŽod±ÝfTŸìÛ»]qðêoºëc¾àÍO÷{zº×ßh`½ãO~öDëïÌ–¿úÒõ'ãl6ñl7&„Ãá0HhÔÅq ÁEܨÁ+ÞsiGI|wyvë¶a4Æe½ŸÔPëù~Æõ§û=>]ëo$°ÞñÚŸŽä«»ré;+õ³å$»Œ=OÂ4H˜ªÆÔ»ócˆ\!K…I@ÉâjÑ=MÒvRÙZܺwûV°Äý 3ÿÞf9ý¡|Ò?þ—ÿÆë~çGþþéÍ­¸¼¿ÿQ^Ä6ëöšÄéP«e Uæ"Ò"â¾þ=^@¥ŠK@<£â‚XtÏ5Ø–‰ï6Û~û™gq À›Cì}=Ä×Þý±ŸïïûÈ>¼Öß`ÝÿÚŸ¹CT¾÷Ætü%û“}_Ì/^$nJ˜×ZσjL !n¸»‹t8à"îRaRN™úFÄ]Ä«ð¼é’¶³Øn³·sv°»y"€ دAüºç~Ü?þÁ÷üõa¬ oü刼Ò-ó|1>|飸á6aÒ—jBh;0%Üó±ß´‚‚¡~Tåsí¾Î<#Ypž7ðvÓ5줠»Ë[O>g+Šªh•ªX}WÊÍ¿~îK¿8óa¼>lõÎ×ÿ¢`é ý·‚Ÿ¿|øûÓ‹×Möè¸BñТâ¸gBj![©íÊr3C‘,w÷îóUãÂD:P *â‚zâyäbÛ©b»=îy#wSËùQUý§ÂoÝó1_däSóAY–Àº÷u?ó‘ðƒžÚO/Æ~íðÉ+™ƒ Â~íq®.-¢ ÇÀÕµ²­Áä¹H£¬° 3"‚ ˜È*- ]D €ºDÜ+4÷ Ý4ñÝv»r°3Ú•ªÞPõþÀŒo¼û%Ÿû–§ã<} ׇ°îÿ“_ÚËÞ~»›Ͳ™ÇK×{Üo¹Œk—qj!„Œ‰#âàî€#õŒ'['K*x%k^u|¹¤›ck!"ꎖ¨& ¨Ñ\á¹ïä¬ì,ÏíÜ>ÚØØÖ ½Æ‘ÿôûžóâÏ~âƒv²>ÀëÃX¼á"ÿ'sû_‹Éék‡×Xä«7Üú&Q|&"KÐŒ«a¨³–d‡erù´|»KP¹îÒ gÈŽŠ` ¾â[«Ç‹`(*Ǥ:ÆÃEsˆõÁ6]ìDÕ§û§wo#ÆÐˈ}KÎùçîùØ/šðÏâûw}Hë›~EÜóËp¾?¥æ%Ó1×&O^õx8t™VèL%Р޺xF¤Pôcÿßôœìhv2`ADƒ¸'C ¼£U+`IWºÈ1zÖNKÐÅèãÞ|±-ßn·ú'‡§wnAp„ð:sû®«ßzÎGèʲÀzà ¯¾CÄÿ7·ô¥M;×Ç®?v)çñÀu\{X´Yââîê-Xò€á‰¬u¼D“ìX²Ž0µ} ƒ‰/=.;`†Š "„ADޏ—˜ ŠP‹[lˆäaÖ¼ÓÜrâ¶Ñ Þ@UèÏIè}Ç]/þ¼?€§ñ¶>ä€uÿŸüÂ0ÄðM©m¾e¾o\_iŸLÍûÈ$ K)Êe놉<#ž±”qU tQ©»ðÖEÉŽg/,7•mA§†9€ìÐfÄ@ºTB'UˆH\U"R¸™ŠbQÄj¼¹äݼ1<×;µ}† B½}U}U›¦ÿþy÷Š)÷ć °ÞöÚŸ ÿ0¥æ;Ƴ·Þ8<¸]ìºN„I„…B#¨Óõ[KÐõùÜ3C 't r¼èTëö Ùwü)B@°"(Üô3ñŒ7FÈ%¢ºJ‡HTQ ˆϨ—ãRB®°4ßqÕÔ«6ãéͳ¡®jqó·›Ù·#ñWžÿ‰_ö!!Oj"[rr´72é³3Úùy'|Ós_òyÏõþiÖ;ÿø§¢á—Íò•³ådëÚáµ÷¸.·\ç=×FÝ;÷¸£`’LÌ[ “rÜ3JñÓ­©»®Ç¢Xy\©öVÑŽ8Õ:šaV€'Q× !ЭÀéQ×ÀƒÂ¥€U5y°DWé4¬£U9ÖR=ŠgBö£H•$—@(€÷¢ä»õ«QfI£¥²spˉ[îmœ\"úí"òÏù¨ÏnßW鯿ž6`]xýÏknçŸÆW-—Ó»oLnø´=¸îa>ônx¡TuE2pq·rÖß÷L"–º†°­Áä"Gà:r#tÿ–VM‘¼¬¨î] +W,d HÍå±n` z XÀšk¾’+V)4«(õX¨<&£¹¤NïÚFåÅÊïuö A=@h¸ä­$rb¾7:}âäÎm"ȻƳñ·mmŒ~é®ÁÓ’Ÿ`=ø†_x¾»ÿ[K‹OŸL&ryzõ¢éáÈã¼riÔH õö2\K0pñÉ… ê-b¶"Ö%®Ò]Ç•Vr1r…Vƽ|ì±+rÿÔ¾àJçZ-¿Yi/ß;*)¾AE4Í€2Ýðtôœ»î—Wu ˆ ¢‚›£ ¸£ꕈ \dÛ%oµ½°;<·{»¦l¾½yâ·%„oÃyë/úŒj{èƒ ¬ oüù]Ïù__—Ú¦ãà€Ãöê±ß³j,dAZÜ3Ñ[ÌÝ]¼óB9kó]i 㤂•¤` rF)©ÌTä¦v 0f%rxW)®§º®þTon÷”×ᦪ1‹låyî öÍÍ °ÁÌÁ:Ö¶€É.q‚Hv]ƒß54¸;:±DEQ *ˆDú7y”…íåéíÛ·cÕ'hXôTÿÝ{ž¸üCÿð+þÙ n8~cn°höAÖoø™(^á¹ý®œÚ[&³׿×&f‡ÁÂa´ØŠkH¾âJ⹋ïltê]E(3G2.D ëÚ6¡ã@­99iQÖ!dÕ'„Î Zžp}¼!j‰&*ÔZ³W î¸¾åÚ™ÍÑÕkâxÁ?ÖdÈ%‚:‚gÃZ#µGÇ—sgwî«åýî'AñNÉ UAB VJŒA4DDr…ä ÒЃìšT£Þ™Ñõ†¸Èû7¿ëGü~éÿè 3wOæä&“>û€ë?ùqÚw“ïoÓŸ/æ\›\qn“Ê«™zÈä»I¥’³„`κÔW§«¦Ã={2ÁEÉ^²†Y&zÆÚÒhž“^[Ò.’˜ƒ­¨…Ä’Û:M©|Ž  J5>ܪ£»–Ñ ð§$“Âçsv¼ÉxvI‚“Œr<©D13Èm&-LÚÆImöܺ¸±~þ’ÚèÝÒrGUP¯ê@ÕSª^EˆÁKžtQWÜ*Ñ<@Øpe3možèŸÜ>C¶Y¾ñÉ'/ýàwßÿÎd¶œµÉ›&½ÿÁõÖ#oû¿ok›éw5Óëÿh>‡«Óýý¬Óè2­ÑI 4â±ÅTÝuU%Ü}Uݹç1î0rΤl¤&ût–¥]B»Ì,æ­ä6—AˆìXrf×–lÿâý±¿›Ãµj—‡´Ç2ƒÅeîéÁ³ÏVìlꞃ4Ôu¤jÚÅÏÆŸ¼ð9ÉO°Øo?ŠDà¸9æ`æ¤ÖðäØ*¢UpÁ²“[úãÊ­I³È´‹òýœ/) ‘£(«J‰PZ@' U¥TµûÁc­„ ïDJˆºŠJ > èÈF£½¸·}‚ÍÑÃA¿µœ~ów½û_}ßÿþ£÷Í“77ÆÏp`=üg¿Õ¡úú¶ÿ/“ñåí‹×.Î2ãÆä°Ì":B¡èR9ˆÝY+¬ê¦çÓâÆ,¹·Æ|ÜÈl¿!Ï~h?\¹2ã‰ØØŸËxâ,B›MZÉHvjR`Lb ¦)£Ü ɨ{BáÝU€^RáRà ê>ÔÛ%…:ÐfÈ-h€áHØE¥ßS¶´á݇Âb»òßO{žbt‘ n%bæä¤ÆHK#7NN%Z‰w…Â:Åzi‹KwjºŽª*)i°V´Rïúž«J@ðŒjA¡J „UìÓlúÖî^¸ýܳ8urÝÝSûJúÞ~ô‡ÿÑ×}Ïþûï7`½ëOMEÂg˜7ß7<÷굋Ìåàšëd(2­\æ‚,¥ÈÅož»AÐuÉ-]…¾ªÊÜ1Ëäd¤ÙÒg—§Ú×;ïTÇÂ}çêÄÁØY¦ŠE²iq+Ä•$]$P²eV¾tèô®J)y¨ø £rÁA;œg'‹“ÉdÉ \êP×°·)üsÎ0À‰Ûà¶çù'¿½á­‡¢Y‰lžJäJ ÄœRß•(è7ÊJi¥æ«‚!A¢ ºþõuÚTõõã4!ªZ©6¶¶|÷Ä™|û­wTϽû…lmôQ•wÅXÿsA~õž¿û¥ï—ê1þ·>Á÷~Ççô^þßñËnŒ¯|çt1þ»‡³ëoG—ó‘‡ùfÖ& -Ј’q/¥½ËšW¹ÒµWÌKJÉ%¤[2,%ÚY+í“Ùû£GÂâÒ‚×?Ù°É µò¿«‘EHš1w"=¼§ÂÎDŽõ [Q•Bç¤Tj¾ªÚ:Îãåz-CKÜ#æUÇÍ2¤%"ÐïÁÉ“0趆NÎÆõ3òadºŒk‡`!ït_ãk+>ÅJÐ-èÒB÷Ëð†w½h¦uQÃDDÅ» ¸‹tbDEB·&âž©"É{aœ6ÒūŪ¾ƒ­áÖsB¯ÎÖþÖý¯ýϯ|Þ'|Ù½ÿ­¸ø¯ŽX_ó•/×/ý’Ï|AUUÿr™¦Ÿ6ž]»@hN{l¶yÏuL“¬ÔrÅo ¨¼|Möuiž³Ó´™Å¤•å¤ÅÇ-aÖb7–º8XxzÓ:ãC¡m;²¡m.ƒ?»$pG<–ôÒ] —Rú»–PÕŠ`E2E½¤Àà Vì].μ·$© ÖC­"º2›\åô.ÜzV¸ålàÖsÔÓ–Ñ ²ðCê-øO÷nð†GªR㯎ÅýÈÍ£ºÂþÑò ¡+[¬‹b+ð‰—çRëR^‰PÊÿ1€†2a¢‚úÁë¡2:±ÅÞ¹m?qî4{'ÎØæè„mT»Õù3w¹ª ÆDBõŽÛÝ/ù“ÿZ|üµõ5_ùrùœÏüvb­_;„/On ’O"a¶CœrLÑ¥ѦXWV:P—jc5ƒçÑ4‰vÚ’[É—'l>|þâàÆi6ÑɈ8¯\›€dE­‰²âÚ„#PQ*@O‰é¸a~i&[îë™Gfâ7¦L.$ö™cg)J#5Z÷˜&+S2!âpÀ27dJu&®x†ˆ ›GÞP¼OËÅ)a@Ö w‘öû½>9%,5˜A`kÚ¼Dr˰6NŽ”úˆÓì 3[ý5Å4ÙÈÙ¡YB¿iØêE–I×â&7 µïk­vЮ]õ?EQ'¬dˆhÄXøWPGºÏE3ÚRµ("Žˆ9ºtÓ9YUmÅ™W]›X¥»Í¹ÝÛãÖèäíHþ1Òìî{ÍUöðæ¼ìåÊñ¯ ¬·þÞÝæ¾ü—Ófþ©ÓÅâ”Ùõkf·â³¾ÄytmU¥÷ì∋tzSi¸™¨p…6³ýÄì 9ûÚ÷„TñÄ#3¦³–ëÓ%‹’F\«DIn¤°ìRŠ’2h×T ª­__ˆUã™Õö¢˜F!ÅÅnç%=z  M™ÎÆD*µÂ£Ä°IK¥°»Ͼ­âY·釫ô$ÁªÝ›Jt Dƒ¶8ÉìôŒkó"‚®£ÖÚ‹óçϵw¹QzkP…Ta–’òJtrTœAƒN/]N¢Á‹­Ì²‹,qQwM’i™ZË£—rumwvþÌù¡ / ¡÷ú ñ'/¼áW¾ùîýüK¼ü¥©ð¾×üøâ׿´ü†i;ߺ:¾žŒÃÆe<ô0«D–êºP‘¼r!ÈJ—‚£vˆv ˇû-ûäÔ¯Þf³Ädì\»’1W’ „€ÅаPÒYŽg¦ `ˆ)‚²(ãbÂ*.Ì-ÝôRÊu…%$)»àLQƒè‰ZŒ@ æ¤äœÂÞNÅí·mprÏÁÆTÁ¨Ô±(òn0w=P”åÂhZ¸²T~øÞMšJ\ o'V«œ½:_ÒYjVü©² QТN¬Ê÷C(êÄÈÊÁŸ0‡P)Z«×[}ß81ð½³¾wvÃF'Òõ=VQDê"Á¬¤M r"Ý>¶†;±ªšÍ'9·ÿ:5³ùÈOüòƒ¿7ï3b]xÃϪ¥ôi ¯J©¹çêlŸéüÆå,ã3Þ´Q÷ŒtnÜÖúñq‹]Ù¡gÆï™ŠüП†ûÊÍÞ$èú¤É#à¢] Ð!‡è‚K¥äN¼mQ‚kÇ£„¨×îÐcÁ«;¦B£…•oýcIôª€¦%âF¿ƒZxÁùm¶‡‘^ßÉó¤dTƒâpÈ V¬ì¨•ÊÓˆ(Þ$nƒhäâÄ_¿öMëØ—ëf·¬Ò]!ïÚ‘òN FÐ8U;z+éo•öÝéªK¡¸Üµ ì:¸˜à¨ˆJ ÒJöeõÄÁ¾]¼¾·8µw®ÞÙ8½¡¢ß]U½¯¼÷þó·šÙo¼àe¯x¯››¼×ˆõÀëæà{óÙç.Ú†«—¯f™VÆ•ËDa!"K±àâj@’µ¿HD¬{WLJ9ÍŒv‘Ù¿8“Ù¯>¤Ó?¸" ‡Ðï1m¹¯´Ùp/.KÕŠ”R'üq ´Á $4ÁARZGœ_:ŒBZ ÞtoÓÐN)·®EY#ï•;Á1ÍV°»%œ;9âÄî€Ý0Eó3#j ?ˆ,Ó’0€j¨H_pÉ ¤Ç|Òà)R…¹]`ÖòÆÃŠW?´»–÷¸>¦c¨ö#c®¢ŽtÄ< !„BØE  D¥€N­ù.Ò¡ÅNäEêà½ÍžoŸÞðÝ3CÛ=3ôͽ>ÕFåu¯DÑܨ¸Q¯ Wš Û¦ì4·º³?¨zñÚdì;ƒá¯©è·?ï^ñç†;nŠXïzÓ/o{j¿5çöëÛåtxñàꤵikáp˜Ã,  ÎL(îMÐÕùQíÝÉZ dŠ`—Zg~c)õ;®êõ7^‘y¿€JÂ2oñ*¡R¤ÕŠJ+,¥núÎ5D2jŽ™ ®TA‰ §§!JáM ¤D +3ÆÓIƒw.±Â§bGÅ•^3ƒ(l áÔV͉l÷òr PR‘:Óù’c WBÎHURÚœ¡¢Šñ¸ež­飓¬Ö¶l¥<ø:ÊJèÔòº¥Âë»Z«¨G$ïxèè éö,qw *^¸WÙ ¬ÜŽ¬Ù©Hv—,Bƒ×3Á'!Ù¸ÿèµIÚ¬ÏYv‰'·v>O4|Úoø¥ïÙ_þ‘—~ê׬ùWxì¾ß‹nùKÓâðßd_Ü~8=°«‹ëW,,LYgâÒb²,ÅÒ®«=ëv&0ï *î^âR\!Îbi,o42zlªÍ…wË%PîK,Y!%¬Fq#I¢-`’ŒjI°Ñi–F“2bžˆ=èWFŠ~uj[‹ì –ÜB»ÓÃMËô›²˜;î‰à,Ó‹ 10Ê õrYd†ªò(ûh ¥aži  N%Žø‚:®ÛsT#±‚ÞJ¼ú!#™vü§ôÃ*Z….餄pL›Zó`¢¾Šj…˜˜iGßkêè.Ý„Pñv­:€SÜ«b»ºˆˆ›§RvzLðe5Îc“¼³¸tЫn;sgÝ,ßÑïõ¿â¯ùñï ÿáùŸøŠzÓ/½·´vö²ÅbâÓÅ8_m®N,Ž7Œ‰®"”K[ü枊5²ˆ|î¡Lñ!â‘Ü¥ìu˜Å¥œ¼ï’Þ%[ò3ïpb•ÉVᦈ ˜•©#¡ü¦µÚõ@aÝCsÂÍH©¥±LPH-48žÚÆÒ•׉œœ1]; ÌÏN¿êc&´Mfc±¶D…• éå »“$îë¤LP‡Ðq*-=A<ÝœÞþaõøã\<¢ 4"Q=ö±„Ø‘·c%‚¿v3DAÈå£äfŠ•É12 '’ M\ó4ÎËÙ8yn U5Ó*ÊAk¨8>÷)âS”îKï÷Õ&etîK=ÒcÈŽwÓ++Û‡»³8läüýëh¯Ç|=œ;¼˜BT¨CèŸ9{j›S'în!ýŠƒù”eN4ž ½šª è÷•ɲ¡ÚTÆóM†ªWwcô‚[¹£ªªÏ¢É] 4ÙŠ9ÏJ·Ò»,— 4–Í@\¡m¡ª*²Ñ¹BËcÊçÝÝ ¯»é­åëuD::9MÓÒ¦† ™îµ…´»S®¬ÕxçfШt}Bá/LïógZ6<‘ „^ ö±½ªC‘é³Õu[]¹»ÖŽ9’Ý»2ß½Y늖F'ÑpÐ\‘Y»à±«7Ðj°anÔ\BgAñŒ˜­uÕëƒ8Þà}o+y¼äžå\6··xòâ’K—"X¦­MØÞNTAYZâÝ/q}2e–œVœýÙ’eJôz=rÎĨXPvNœ ·5Â\º:cÑäÒ'ÔHÛ”!‰we2OL‰ªidL”,Ðf#ÄLQX6{=R†”  ²pålEñŽX?!ë’KŽx˜5ÍŠUÈÝ©Ÿ yê—rN}ʉÿ+ò«› w¥ß{­ŠIðxT\ïO±’a:'Êz/Õ8÷nðd(íDpñ'ÑXÒýÉŒó'Oªªà¦æ.¹toe5¥[üÛ7íS@ÕjûÕ£qõ¿Ká7Ëybøø¾Ì&3B%¼óþK¥‡¥ŠÈ€A¿"8q2°½ã\¿~ƒw<ðÓI…Æ•;žs'/ü¨äÆqx8e¹LŒF›œ¹í ×öyââ˜yãô†=Ç ZcMÛfÆÓóy‹V=zýwhS¦5È]›È½XŒ%Ô˜+ªE[€•½œìd+i¢ØŠm5}&Z8ßS/æ `®š8UM׆—žN¨ ® e¿,-7 ËR´©÷ ¢¿„_¹øº)*HP¯úí¯«€ªÄJ†Yo\bÇÀÕQ›§Ý–Þäª-µªpÀ 7S?½½C¿Š¨VComµû]i*˜‡µ›nrWï`.W9yU²¦e¦¹2•á;žÅÒhÒ.½Ç""FÔL¯Ê56FêaÅÕƒÌÞ^Å‹_ø,ΜÜdØ ìŒà3?ýï±¹!„ÙØ¬¹ë¹ÏakxšÉ¡1káŽ;OóŸõ©Ìg¤e{4 5%ý]š618}–¦îq£Qš LMXT‘y„e‹]”¶@0ˆ&H.’…x‰PYklxñ‘Àd5L ×ÒŽZ™ U¼K›BˆeètÔ[ñ†Ý7a¤“Vg¹ì¥õ¾«Â÷¥Ž5E2Å£{z©zê•:!Ûz»€µmzõ´«JõØçRGT­*‹{µŒß¡nl¾¤ÍÁkQÑ’§bÄfõf‹Ô,±€æ(í­ÄŒùÑ®-«T\`r¸”­×\a2““gÏóÈÃ=._X‚&ú½n3N&ÒßÜdx¾ñ¾”3.?vÈV„{îòнÈÝÏÚÄL¸ãÙ·rõàqÞþæyò0ãçïÚãñ«ïag0 î¾óÄ„Ñî6ÍP™Öö‰),1WÚ9œÜ×lWôB…K´_ªÃT4°äZ,Â=ðÚà4â´*d­i³“=Q×RFÌÌ©ª½Áé‚™ª"aõõXqT¾VQ„ÐÉ`7÷¿@5ë4²Z)Ú‹ÔÃÊ{ƒHèBTÇ‹ìr|“”Õz_4Gƒ#•ã¡Û\®±¡®¨Çd¾ ç\jš”/Mãcèr´IØz³ü5¼º-“­Cw2Bn Ÿ,e÷TÍÖî&¯{Ý[0ƒå¢a9ãh—<®]3.yöù ~õ×ÿ_þäW¸óüZþðµoæ%ó1ŒÇK¶·†Lùã×>‰Ö þÉ—<Ÿ¯øÊ{8¾Ï•'.1e¶¶a±¼ÁGþs¥'žx’|˜äŽçÌb6dz3ŸN±Õ¨˜eÛܨëâHÝÞ–uu—s."fW ºy75ä,À‘„àÆÁᔃibÖmw&ƒÙ|Ê|1ëº%ª-éø¦oÝÙ 'wVŒôò+X¥ëòᲬ!x=¨nÖ 7*ƒHŒZ6(0—œ”¬«tœÜzðèȼØMuª}•+˜"໊3ˆ•œÚÞDS³´‘Úæ1óc:ZǶ9,["¦JC7ž.(ÙºÖ†ÂÞ©m}Ï£\|"1êw}* ?Á…Ô:—/gžxâù,qéâ¼àyÛìßhyì<ïž;Ùßóè£KFÃÈùÓË|ò§ÜÉ·|ãsï½÷sß;ÞÅǽôyŒoŒÙÚ4n9;¤…í!Áׯ;W®µT1r׳ϲœMïOéi­Ò´)Ö ˜9½AÉl©ӧHÝm›;½!wËË„Y&h8’¼ôÅÒišRafëÒ›@³tÚ†J× Êz«Û㺠<EquG¿ïÕE6‘ˆ†ŠPÕTƒ>ý¾÷G•÷ûÁ³Ë¢5µYÚ&ëržu¹ÈÒ,³,™ÔdRk4ë mÃÛn²¨+ƒþbž1Ke]DBb)Ì£[c¥%R4 ´¬ÅqÒq¨ãKé(GîvMQw7—8oåÔNäÜm·ó ?ÿfêu(9¼W,9ýaB¦W·Q&ã†Åiû‹Ä¥¸rKëÑz…«#NHUv)ÝsÁ™.s©¥˜Å¿ÒB<²ŸÖLGÁÖ#Îú’,”nz„ ƒ b…Ñ5¶UnîDEcù ‹1 D‘2ý#h •¬Çô5–™lDDHpB,Ñ­î%©ƒÊ¬÷˜ž89=E«‘j$„JÅ«"âK,ª€µx¶Â‹ÆS™\[ÊbÒâMÖúÝû"—æzâÊ\—yIʉF"“ƒ–‡.L©£ÀfÙý!+÷µ&¨šQqÚ6ÑÀC^å–³‘Í[XNÆW1S©,ã­cÖ 5\»1g±„s}ã—ÿtBžÂË>yÄý÷?Ìíw¿ˆŸþ‰ Üu÷Á'ì áÚÅë<÷Ž\¸ÿiÑ !"ïöQ€¬™ÎmSÌv»› É2[Liäc‹uHФnŒLËÎbÚ°˜9x`Ñ ‡­³ßÀÕ…0•!mµÁRY ­Œj™i=«_'¨š"q '¶5˜’[Ã;£¥t;º”¢aåó!+ˆ bðœÃÑÐõˆT¡€û­Ö/SP"£"!txЬ'âDDe½í&rôç\bTª*I ¦×5‡ÃkXNuÄMªÊDÜË(•e£]¶2;8”æÚDÒWtûuÇPsåbq\k‹úL„ì³Xä†ë‡Î¹[#Í4­ýnëFʶC››}ó–Ó{;ðØãûÜðG‰1vz‹³X&Ú¦%g¡ NžñÈ£æ—÷É ÜõìSxvê¸Ëöè g°{ÕØ»U9v{ÿì*§÷Ôý³É±„¨–^ž­6Æm@}mAfÑZpõÎÛ¦´9¯3„¶ó˜k$Q1ϦáÚ$QU}šÖ™¶-ãK*ÆM"±ÀªšPkÙePmh9^¦N¿ÒnÏ"§›X®5\Û²WirÍ3nŠ»áÖ6 Ýœ¥Õ$ƒ…et¹àYš Ai-C ·Êd]˜þ~=BB"ÅÀÒU4¬ÆÎV×­sp¬ ‡2 K*!dšÄm®_ºŽ Ññ¬¢©L´‹bæÞÌ“\<ÑkßTœ-5Ï"WE¸ôdb:]bB€þ†âÁ/ ÷¼ñOgïáê$¼eàÒõÙV¶ÒÚXÎ*ÊäêCØÝÚf±\²\.™Î!@¯ðn€ üAJxÏãž}~ç7^Ãù“pxã ê5!m𧯹»NÀæö‚•‹‡×xö nãÎ;Îó襷’tN4G-âIÉæ †‘¬vNÔ¼ûцÁ©ÌoF5Ëˉígz­b0Џf$>É´£Qå†'®‡ .å!ï^L¨›ÈÖpDÖÌx±93¬õDŒ´ ­Q‹\º¶KW¥¡H<+£„ m•i´EĨTpk»ÝqºÈKĉÌB¦‰-©\¨M ±Vh]©ÕiY`M&9`ÉÚ!%ñqõ„3gaãÖ?ö ’sÙE°à®”£Nã7èމ“ÅD¬u<¨A†Q$ ±VÑ…È909hdç­VÙXèù8Á;ßv•-êÍŠû°˜&æsh„ ú4±†^“ÅrN=‘lLÕå¤x!ïm:rEzþÔ–¡†ÕR,ιXU„2¯§e>1¥*š”©5qññ†ýëïfkk£¼ëßÕÐ&ðÑ„7<ðgp0g¤f‘œ¹uR›ˆ1²XBΉÍ-˜Í—¼ñÿûÿ9{ó˜MÓì¼ëwoÏò.ßZ{õVÝÓ3=Ó3=‹ÇöÄãñ‡MF"‰A,BB ’?PDHH%ƒ‘mŒQ¼g<»gŸéÙzº§·êîÚ¾õÝžåÞøãÜïW5¶‚€j½UÝ_W}õ¾ÏsžsŸsëºÎspiÊ«ß[³Û‚Rq„༆ ¹Õ¬cæîbÁ›Ä"[6£³1g*[èÓ¹ìR •¥NÛ#Gë5õC_³I&J%´Ž¤ìåÿêDʺؑ†qDKc-ã¦Ã§CY<ï“$*É´9[¡Ü–!t ‘Õ ÜbM•§ôJSzÅlËÿT˜iëÜS¨6Y)TBùLÎ8«´Ú²F¢RÊ$t}Vãr£¦Ësýí˜IƒKÂ8¡\¢ë3)F‹sb„¬èGÍóﯽx‡õªãô41­Ág\LÅDêš¶1²øH‰m¶KŠj ´¨‚Ì—]6q;QGZ[cÐ>bŠàÒ&)®ç­ ÝýrÃNjL jl†4dî=X²·Àb5Œ92Ä€Oœ<…QѶŠÍ&ñå/½ÉsO?.t ÛŒµŽcˆ$#¢]â”ÌYŸYjC²™žHL‚ …R„SrËEÁ]2À£á´å§ªüðþ™RØ“#Q 4>Fa_( ´LêŠM·aíaÞjç01SéŒ%‰ô~K“É¥ $-Z–­hÃò:ó·ŸKü×/‰¿«.oNAJ*¹@w) C¢^ iû‰´~ G¯rVšŒò>äõéZÍÞyÃ<ûÞ)æ±îõˬÃ@L!¨ÚR˜¹ ^“–ppiÂÀéˆ!TŠÉÞU†±g𣴩N³ôÛ'“³ÆÅÌ ¤iM®fŒmf±X³N™X9FŸÈÖÊ ,fA6$¡Ì SéŽcáálo…Î?Ì^ز_†2œÔZc*E+ì))üHÄ?Ï_¸ÅÞÎ.ò鯳8öÔ6Š+³€5IJ_øä‹¶7£RDkƒS‰8Àf‘yÿLñõMFi]^eh®€(Ò¹´U¿·ÃGÎte­«RнÊ)ëqô¹;Y¨ëw_5zÜS7é¾üZÉT颴ñÁ0d›@Ì0™ÔÄ ø[ÿzÃɉáô$³ìë02ßoÈbTä¨X,;Æ>0Ž!ë&ã(#m1ZwrjhÐ$Åži˜šš¦n¡í¹{ÒC[U4•¥:íyëøõBjÓh• ;4­ŠÊAWEî-7R iEî3'犟ÿ™ñkÿäSLŒB©Š|&(8îG†û§ÜY­ÙXG0Ž!d´¶„(¥ªB1ÆLΞZ´ÊÄT²U’L ·Gc¹æabúrtBð*³ê7äÓÚ2n¬U¥ d—+{ûØì¹z 8yQhŒ®IT„УléJ³ù ­"1úƒ~™¹Ò”ÆÖêC‚Dº­©,0ɧZ°1xCÄû »u—ìk¯êñh­~äÏ?OÞ¬=Øl1j‚cŦKøMfb*¼B¹@®–.N¸qmŸMŸX­;}ŽsW9œ­ÑÚ‘¢eqÖs÷Î wÞ>ãî"Âİ ë"Þ¢Ó3Vfu!à“gôšû~ ÞdªZrYŒœÍ…G¨öŠº˜QS¡DXaŒX[ÇRkd-V@9b«Ž‰­±MÆs$$‡­f$`¶»Çf¹"•ºi•ç½gc,£rx­QYcÑ„‡û&Ê…6bˆ¢¶…Šø{™GnÄìÑ(2åª]1Š^Ç#˜Òów£tÆVŒã@EâÚá.ÕY1LA Û(’¶ä0i:U‹ú#+iŠt.ת‹„,Ãù¼Õ!>‚¬ê‚ä‹åçŸ%"*6§x3†Ž1tºß¬óÁ?ÐÙ€}ê:G·¿Ëb»ÂâÀW¤®gôà*…bK¤4(ã™6ëå=ކ{BŒÓ‘>€j¡ÖŠº®qÎ1tž+5—v-ïzjŸ~T|ëõs6=,ΛUÆ‘¥VóâQg²xpK0Å’ÊMÊz¥È¦¤¨È£`PºÍNi´k¶™‚IÖ5 zÃÝ·ýG\¹1cuâÑ&±éEDâ kðÚ0 ñh¡6cJ³$ÛVÙj”ÀY•y^’ñVÙAÁ8Ñ€Õ¦à¥Ð.V—‰„E£“ð³|ÒÔmÃi·b=fl“h"t§™™Û¡1 §]ß™@T™d&ÉÙl‰€ ’ß®z®ÿ¦Ü0€}”Õò°¾*¿êB].4í ÅQ›söRÝ£rðª‚úð1¹c}ô€!Œ‰<ŽŒ1«uâÖ[Aê-¥)FH0(fÓ§§+šJ1±ŠÆDœI„4bè± \«Øi,?ö„¦['–sج Œ£'Œ= ƒÇ{焜#cŒd41¤b.¦‰12øÌRiYGDÊ•“bݧ*Frô$2Ç#œ¦›z,àbàé+3^{sÅ ï½Æë/Ý£©ÅÒ;Бé]&:GÚÎvb1¡Õ‰m«)€ײ  K‚íM˜ß|è,­ÅrÒ*]0cJ?fªÝ9=rFtP\‰pçÍÀÙÑ@[µhzDíI:]Æ&Éx!HF«kMv ’¼ÿ0Ȥ!l2›‘×¢C}N”GFäÿÂá¦ÈÔ¶ên›“_4ºÅäÈ&ÁÓ?ö~èÏ adÒBê"¾è;AÒÛºbìJ 4F'Œ²„˜6bD6ô™«“ ´WÄ.3F×põRÍ8_¾‡ŽÜ<˜sv¶áä8rvý:R¹5aP ]Â{aoº1(~šfFSל­Ö8'õÓ<ýô”¬RÉh’ÒlÆHH™ÞGúc ÌÝJã;¥c¢vp9RY¸óÆ]f-\½Ü—cÒØœ±¶bæjî-–B+ ²Ð2'°.“Š×‚¬ÅÕŽN[½£ØiêäÐY«3F)œ¶T¶¢Öšì½XwG¿Ž †˜i…7ŠÑ)TãðÃÈÛ§žÇ Œ2TB†ÌXSaÉìLhSd±¨j˜Om;é†åbàèxM?$Î{øDÝñºkIv«SÅýGæŽF©íÈGÌIÊ‘ª”ÂF¿^ŽýŠœ´ïùØÏM±¸Îßÿ&DËæ,0m‰„k41(¼Ïäœ æqÔ„1£Jp…(Eà¬U CÆØ„« iÖ)ºÍpA­·Vv׬UOžFæ̯j´®8yг<…qRÌš9›ã%¾‡ffX-—DF,b–©ý¤†&¯IY@¾­~ÇZñl0eþ—Àê 3Cž*rªÈq'îRCe… c4Œ×¤£K¨ 9˜y|—~èÉ9srÒsåZÍÁS3–CÏr©‹Î–£ûç,žõ*ƒ"ÆŠÑTu…jL6´ÓÌZð«dÐaÄž 3vøÜ€òÌ&–{oßá½ï‚ÓïM"s IDATßf•6ÜφzyéÞ«Ü|ü*ßÿÞ×®)¢Uœ/*ΗÐvž*nøÑ]ã‰ç¦|ò3?à/þÕÇùö7ÞáwųïžðΙã8ŒØ=ÇFn©ŽW“\ƒ2|Ãj[5üÖFiëÕ…›Sm+Bò´éL]»ÞÀò«å9Á'Œ…¡÷L€ª©Ðªâühõ§Èý…IZDQHÑÂñ.Q,RtQ®[l£5fkúŸÅ¦ñÆëÀâldužè7Kf»š¾JÔ…P5ŠnÛ­ð1gÐÆ_¨޶dؼ]x‰’E)…b"g“)«¿2ŠÉx:ÑñàrV“â€N#JÃήÖ\¾¶b~I±x¦iIÑr¾8`½Œ,ÏGNÎ:Žœñú;ŠwnÄÞ²;= ëO”.-4VT>9 ö·:EÅ8x*—‡Àßø—ÿÿóoÿ‹eDZ»‹ŽÙN…3péб‰#“©bgÊÙéóÅîᔟú™¼Ísy_øì÷¹wÃj­q#fÃ…< ¼¯íìP¦%%—Â~k¨«•à“6¥¤‚œž¿“'/~Eïü¹§ðwßd³NÔZ(¶ÕD3äDèaèFÈÛ5ZôÇåìµæ8#‹×‚ÑœѲ¡T9§0RLdúeŒœÝµ4MÃlV±˜mXŸb',1S`!é×ò Þ^þ<¹ÈÞ·’ø‡"Ê{ ‚ämmˆr‚ª[%­¥@U:atm¡ˆB±“d]˜ºc¾W‘Õš““×Ù(²µ\y¼á™ç÷Qyï}/ñÉߛӘ¸Àºë‹S_.H¸L&Ȇ,¾(Æ13ÝqÿÎ)ÏŒŠþ|¤Ž<Ü>êyò`‚kaìGþÜO>ç¿ð:¦RüÈOÍøÒ§V¼u÷WnUÌŸóâï½ÃŸÿÀ!Ï>wï8cÞ'¬†[ÍÀ«a*(¼*l×-ýF²J8mê.ƒ=Z®Òp~Šp¤ž¾¼‚0pzû6VA[àu–d=}Ê/s%·í>/Z2!¨ ŸGƒ´çÖ*©Øš\dT™›mÇ6+Ö/ÝTUÕ‘¾ï¨*OÓVXgÙÝ1,=U°&3øG”â¹H)–UÁV¶~ 9µæbíÈ6;… PYs¸à®OZK&\ˆ™Uš‡²û\Ì1&CΉº6¬Öžù¾e:™ÒûŽnL M«™L[NO×yÖ«u‘|íã»ßA?œ  âó•%¥J¹,Íɶ9°9µlÓH!±:¾ôù/ÐjXÅÚî­¡×B¿wݺÉÝïðæÛð?ý.šæ»Ü}udL#ûÓ†ÙŽâô׸v£¦®xåöï µƒÊ ôQN¾‹ RZ¡í#_+ÁµÕØÌ›ï¼ÅÞçç~é#„ãœÞïi,Lj‡_x†ÍH îÆ¢<š¯r–±Šµk!¼÷uÁ°@§tá¼€ê,ºïJP™ s;©ß|@Ùˆ3†jª™¸šÅ¢“œ°FF:JNТ*#øœ/¬–RgñßVÎ ›¤ˆNERŸ3ÔÓXØ…edµÆES·bN2 Xk˜LkÞ¹sz [Zªz‡ÉÌ øad5T´ìÏ*Œ¶<8ZqåÒ.W¯N3ã¹ÇY}ñȶÀ#ªl°—÷‘7YW†“uÏî^ÃùÑ·®îrttBp†µ·èÆ¢œ@4·_y~ä1NN_¥¼ð—~”ïþçŸ%DÃz¸r½æ3Ÿ»ËþŽåò¥]”ºSt –Ý&Cûð(x4¸¶¹E]L<üaÏŽïk^û7ž¨`î¸÷ò[¤æ{5­Û5]‰CäpgtÅÉÉ)Y _»n4Ue0ÖBÀٚͦÃDM%\"1Ke­Œ!S×PYMðÊB!­D¥ÄnZ‚+•økš{û­ uØl"~à2ƢТÌ)µž1’E)Òòí‘'1•0å¶Ç'ˆžÄ:ÉÀJKÆkw -’•œPj$ökrT¬7+®\µ£‰qI×A?”‡D‹ÑHŠ‘åùF2bã±£2m Í|²Ëùê ¥DvŸ’Çéf­1ËÃñz`:Ul6;sKņÖ(î®FìþŒ³åŠë×÷9zé”Oýá›üÈÇ€†o~ë/à}Ï;^yåïnv7™½]8ØË|æ“ßã}ï­ùôWnNyLÛEQ¢Zõ°NVJ×@y S¢íñ½·š§W_ç=?ú$±?a³Ì춇! #•q ) aØROß{væeVèÖ=¿ÊRTŽ2fG˜µbL+ÌDyC¶ÒhU<ÉSBö –#ç‘…‘ÚPÛ1’Ôù2ç X£ÐÆP¹„Ñ ô½Ç9ØÙS,OòÅ%9G<b|xb–‡£ª`2…ɤ¢n,}ßã¬Æ”ó>ÄLï=YÅR˜‰s³±ò™´¡\Ì “ 5Ë­ô+Ï0Š›µ £ãÒá>Wo¬øÎ« l²) ’¯S9kˆcdo§åô$²»c¹|ó ¯Ý¹/6!°c4ï¾ÞïôŒ« ‹sGì=óÙœ³£%ŸýãêKp¯‡;o¼Êžmräþà”ÇnÂ3·v¹qãI^zñ;lÆÀ³×-Çw{&NÞ“.Åg1û#m7¡kP1Qð`ùÀIºvçî‹ó=Msµáí—^‘luР2„à©*‡µ²Ó/ç‘Ä‚hg‡ ;ãdþ£Ô<[YÚH©)ÊÐSËqªk´l%MrÌÈÙXŽž$?)@1&S¬N²5Âij­ÈmM?x!%Cˆ™åybguàSJqv–0F6uM‹sÞd&ÝhӈŶs†M‡®F„ 1“ Ã:ÆbÖ‘dÖ¨ÊAU U–¢–(c§ˆ™ÑCì{š›Wx÷ ‘o|jS‰n½¦²+D|å˜/™É´c6u(«yæù§9ïÖÜ?]ãW°Ž#7Ÿ<äHú®cs®8¨Z–›%1H@_º<å$¯yëû°4=AA5÷˜#v =Ûåúµ†/yÓ_c\c²&èÄSãÈíè°žcùB®K€E(Z Ûæ•Ï_¹ùS×Vwyç(p}Gn²*J+O[˓渚)Lçr5·’q¥ÁCßwô½ÜÎÌD^(ÆH%œ‹!m]9RΌÈk¹ÈTe«9å2v(~ZS3–î2‚VX#BˆùÌP7SºÞ3ö]Q2?Ò&’ÙÙ“ÏQ×"ç²®¨X´€´ÚÈÈĺtáÒ\–‰ÑVe=¯–sÆ•¥…R3j¥Q1˱†(¡Š…¤(GmV#Ó'öð@eÝÐc­"úe`2[OÔì\­É6Çž}f—ßÿäó£ÛtÝ€Ž²(¡Ê†&°ä”‘q‘io9Š'ìï×ԳݚMçYK½L O_™Òºš7_=!/2ŸEœQ<÷®[øáö›÷IIq-DÞ.ö€bäË…µ‚XR–Ëœë#ƒumÅÎÓ79»ûU%žUY £©H„1ਔ´×1KË9q%ï]Œ*4*e–Œ½Pcö÷Ç“ cÖí‚Æ¾“ìœdç mKW €”$óvœQü6[ Ç ÂQÓ¹eìÞo¨+Ë•+–~-²ùÄBl'5™Xp+ñFú²{ÆI&¶…¿/Å©"$i_•]`‹í†8SºÑTê‹%h” å~úÉy¡×+˜ïÂlÖ0Þ ­oâ=T.£‚æúͺþœ“ã‘àF>ö³c½>æó[<ÿÑgyûÞ)§›3T8]‘cfXG*o8¨j‚ZÓ/#½_‹Ë¹Ê¬xú¹'xªÝ啯}²eˆîznÜlP¶á[/ž1߇û÷à;ßú>¯¼zÄ8¤Â£/¸ÞV¸­¥Jç½%,nkØœöÉÛ‡™ãµÛk‘Ã;%”`iö®6ÐG’‡ÔËÅ3!£{©7Äò6S ­¨TG7Ì&œ,Nqp“TgIa²³[8§¹zÕ#úÌ¥K«-k„æ‘"aã1;ú‡à³œ`XÉ$bŒÔN1¹jÈ1×ãLŽà´—­:‘t>›°¸2 ±€|Q2¦Ig WN²™.Å~!¦ç‰©¸gjh”!Ç(¿,Oñ|ªX,³¹£ëë¾ã¹K3ì÷_§êàðÐr;Xž|ïßýÖþÈ„o¿”Ù¯o|÷»<û‘Ü;×,&°Ù$ž×uÞ~íü8’´b0Š;÷ÞàÚáŒî\1qpóÉ}ŽŽÎXÅ×€™O9¿ï±M…m§0*Ö!ñÒk*ŽŽz¼W$§ø“ož€Õ¸ÖâRÀö‰iïé¬ò#oa…|ñàB骅¦½ùÁxð½Ï£bæ‰Ç§4.³—Á”+^´±èˆËßC](8¦ ±èLÎ莦l6ÔN¶}n5]8ë~”é~6b*E½–'â‘UÒmN‘Ú–Lœ;õÓ6ʶéør~بŒl¨(ÈmQ\]|Ä¢Ó%ébÁ•04¢ÔŽcHF Q~mZKN — ;A ý8–ï‘U©cyâ„Ö™õÉÚM¹z6'g5/¿õížgÙy®=yÀ÷^=Enxzò,/|PóÒ§^çC<`X^gd†¨jrH4ÆreO#§,®…&„Ä7¿ò-NîÎÏ=“IÇ0x6›ÈñÙˆ6ÛS"“²ÁÚ†lÃÐ1úLëà…qäó¾fkžÓÖkâÑ‘.Ün4,xçöŠ—äÉÊ*¢Œ–;á#t‰¼Îà-0Ã0GçŠÞkÆ( Ë­‡çRÎÔS‰\[#í9M…REMÁrdlÖù!j®îÖ{è(uÊŸ1aùø‘rº@Ù·†1åR<ü~º üâQ RyeʶK'S†éT1›(fSØ™*öæŠi§h,´NþÝXUvÞlç K€G…"§KOtÇÞ «rxîC—9¸r»Çð7ù'ð&óÔ“OðíO}›¿w¿rß/I¡Ç•[d°XjºU`³ì CæìÌ3•5&WTºâöë N6Ä1p|¼¦ÛD´ÜÑ™ŠÚµX㨜¡®5;söwfh‹ ~çSæJB$±bA®kðå5ÊÛBʺûìÍáòµŠ<¬À0L"ø„_†…'Ÿn`áÁ+tnYw–õ¨éƒÄ_ˆ–n€ÑCU\Iƒ÷²–͇Dðb_¤°€&%ñ¡Š‡ç7Ûì¶uBÖÁ¥ÿ_–td)>¬×R–ÀÊ…œ†Þò‡Ô#3ϲ‡³)©¸G§²X!ûÿ\:®3âO¦2ßjQA„Õœ‚OU6–à‡@è—à‰ŠµÆ¡„8—ýà†ÄÔYÖ£GÑ2ŽFÅ¢~–£ª­ $õp¾—Å*h;¬„g½•šognÛáõ?/œŽ^Jk\þeÊœò¢®-d¢X±`3Ä †º)èA.Áˆ.dÄR¢eÉL)>b£“.þ.éž%|ëZÑ%ÃáÁdž±‡/ßçêSÏr~·ÿ÷ßc-ï|ç |óÅÛìîÃå§žåëß~™ÝK#›œyðf x²të ®J43ÙC¤¨Ðh&5˜ÖàiXõÀ=¶l} Æ€Ö©ÐY#)Ž8×¢'ÞYo8ß¼I? R)«T¹wŧ~ëN˜ÑÑü½_Òߨ Ì2úòƒàARÛØIDnV@DùÁi„&ajP.1ÆÄ¦óÔMÅ0DEö„©L¢® ª5MëhjËjåQJ"_)˜Lå …˜ 6fð!`Ývœ-è©6ꇂ燃èaÐ¥œe.ˆ|p­Î:a=ªL6"~ÝRr3⹸ǔì¤ÅÝE9žfôDaZ‹ª4ɤ ƒþÄÃnÖhË0xb”Ì­­¡ë¤Ö*wf 0okRÙœWüà+ªJñÝ—^ç3¿ùUÞý$œÜ»?6Ü»¿âí{kvw§¼ôrÏc7[òlÊç>sÌå›sf—¦¼u÷gÀ”‚g2Sìîg´®¹gCÛZ´‰¬™Œ-[Ѭ8øE°Æà¬B›xÑÑf`‹˜9ՊŤŽƒÖlÅRJˆ½‘qíõ¤Á4U§»®‚é50{¨U\®²8¯9_:ŒÝg±4œœÃ#x°„u€…ÏlR"Z°˜ìZ<[A;“@rNœë¤€Nø02Œ—-{û–ùL§ÐN„ÍŸÎFÛâŸyýÙLµ¥t\d8©Ö·ßHÇP¡i‚¡˜åËÃ÷èŸß¾¢Êb‚ÖT­¡Ñ¨Fc‹k5®ŠïÃñ¤tÛé.óÑm'Þrà±'ž¢²5ÓC©¢Z¥ Çæç•ï?à•{`ë«Üzö1þßz“ÿÌO|âg>Á'þê¿D@j9¹¢Çô¡Ãº‘fRêÇâ±/{Ž4MSѶ ®J„°f–¨<ÒÔ0i®uøªâÄY–m+û·µÖ…‘@2ÁÎínÅä açҜë\¾~icÿÙò¯¿võÍOÝ2‹sºóºíÑYqt/ÒVš›Wg ËÐ{bHÂ[ŸFµbc¬–¬ĬHÑ3Ž‘aH´S‹b{¤•Ut9Ša}É4>xŽ4ÿ¿ÿøÓÁ /ÎÎGWDÛ²+°ì…¸)ǯHb›#Qte?‹èŬº(TÖ[8÷ZÌC.,”§YCH=btk Ë.påêéÅ7E´k²WÌ&™ÃÝ=9? ²<~mÊ—¾ú2¿ðsàåïÞ»9Â+ß»Mµ·‹ŽÛ¡½Ô >Àz3`MÅ8yÄÕ`¬C›)ZGÂ8âÃHŠ[+&­¦© ÆhNCà,iN“æÌ•ú65aa2¸Vã¦6×óŠzâhšZÕvÝù>¦ªÏíãÏ~ôt³~Ï­;wos¶¾3 È«Üï,yõ¿yQ_Þ¿Ír)ó4¥‘½3˜Ì3íD±·o9Øk˜Mj¬Ò¨8’Ââ¥z£3Î=ì–HÖ(œñr&úãõÿïÀzÔ¼b[ôoU.#¥ð±tym ˆT™*--`.šÊ÷Íòèel¹5/€ÏâÅ0&ˆÉ ªt”¦Áb~8cYtÒ‚T ÜÐaªŠÊõ4uÍÐ/‰I±éWg†o'b¯P>ò{¿þy®íVüÓÿëkx`i´$ 9¼l6pýúŒÝÝ%ã ±vD›šnˆlšÑ{ê vö-“ÖòG+ÙüJRëĨ8 H¬·R)”UTC³ç˜TL[æ»5­›æÆ]æòÞ5eëvmç»;~6Ÿ]"m ›“ÒyÖËŠ›ûñÍømc*M5¯ØŒÝ/ìm ãœgÚxšz‰ÕšI “&ñÔS†º‰Læ#•ƒvÒÐ4†ª’ΰmÄ,·ª5Ðs_|Ožº~ÔÅÃr³Ë¿>,äËïÙÆZ~B¶ûöÏ&%PÂŪ¹mWxqÍ1ïWR¥ë NwƯ3ÊÉh†(cåç¼´“ žH.Ó¥eΨ 0—âV.eÉ:Ðõ§ÔEª`H?°ˆÐX”â/üüÇùg_ú4Ó¾ø¹oaQ|ÿ;o°X%®OZ–ÞÆ É‘µ•q{Œ 4Í®JœŸË²…“ó cÒ(Ëà]sŒæÓ+M°¢B¿ðýJ"ï'oû M¥¨wlÞ¹R³{½açê„y“'jG5怫{WigóÎj•“2–ÊYê¶Æ« Ø&ûëS®þ…Ëiöù{zoØ»l7ƒž¬ >ŠYFa>gî R¿¼ñRGL"¬¨*h'kÚ‰´àïyï„´¤ªó½ŠÉı÷Ô |û+_å¹÷>Éfu‚µš+O_ãþí×™ïH–_Á¥©¡ßD☩­¢ž6„eGð™j"àѸPÄîÂAVD 0Š¢3,LJ©!¨ZL2²2ì¥‹ÔÆb\£.•)BÏ­ƒÆDAVsÎÔ3‡ªäæE"³YÍà÷î¯p•hüü0pã²eóÖ’[ÿKlþËÿ•÷½kÎ7¿Ñá|þ+w°CšþðÓŸ–9-°ÊX|NèZq>ve¿£F«;ò®Å‰â;/srºâä$Rs¢r œ “O\aäZ•u±ßâÐ[b£œ²²:ض–f×0½\åÝ-û—[fÓ– -MÞS;»&³I´耳S%šHJ?|çT=ñ\EUŒ)°\..Æ-N ~£[A´'Ó9ÝÐ ]µ6Ä<ˆ à]GdÞøö[o ¢d¨m­bÿðǧðÖ+ïbâúÍŠo/ÆšùNÅîތɬâ΃w˜ÏfÔóŠ8Ž/˜M&¢ýÂrSb†ˆ,ðÁ&Ùa­ÆXÑš:l5ÈX+# 5ޗɀΨÈÙ‘ƒ&±ºTAp#òÖÞG,••’ ´²èRŠt¶ˆi]uRŒ]¤Ò†ì3í –ËU6Ý[bÖx3`º¨G# ¯ ÙÈ‘GŠ…%.lUWIݧ"yXžôkáù×µEë ¥…þc€J)Z…ÔO%ÀCÃbùµÂZ¡œÅÕ97sC»ïh÷*šǤ±ÔÔ¸¨r¥eµË–œ”lV¸@ˆx‰p²QŸøñëª.Aq|4[h®(Æ Åzö‚ÝäÙ.ú© 8¨à`‡‡ìål ÈçÇ!°†bÐ?L´æWŽ2çwzNNe<cÏÁÁÓ@õìîöö¬ǃaÚÀõë—1Ö³αdzßc 8­¨Ã*Ëà{”ZJBF>u›ñ ŒVrŒµ"·ßR‚IŠ´01Od&I’¥œJqÁõWù¡cÌÖægKPÌÿQJ€ãä3tƒÝŠÅé£â—ŸP9 t%T¡Ó¦”‰DÁÜJ¹·%oZg¨œÆXCN‰Ñ{Ô+˜4 kEP»U.묨ÑTQña<_ŽºL$ÔE¶zô‡Ò £¶vÒ7×h\YªirF§t•pu¬B5)ÉPU•YÛa9ªç÷ôs¿p‹x²Äû ^O4»‘ºUƒïƒ¼ºHò‰0xB|«®5XŸ¤­» Y‰Ç¦1»ŠÃJ"N¥Ì¸24ÍëÍÀùùš}îÞ;C)Çr12›îòòís¾óF&UuÕѶrÌêìyò Ïþ~Kò ?<öÄÖ$fV3­4™V3¬ñ(->\(8[%’V„˜©™€ŽhÕ–öÒ@ô$?2úže”n ” ³i)µ‰}honŒ¨°µdô¨ØÓL,EeAK–Ü’.䟔¤ÏÍ 2« ·Ì ¤ìðBuqF˰ŸxþmÉ:‹S’SIgÃÓ•æ+åÔK9°Ýݳ… ó¶ŸQÏ•­¹-’àHk+”V­UJµgeïGúÓÒø5ýþÿcœ¾ñö÷Zâr¤Öª–;ëó™f~è¸ýƒ‘goòàí3.N½çÒå=–çç$FvæéîˆôcOÓ8ѮőÆXBlÈ B.&ÊqrÚs¾#šoh[–ÇšÎÌE*O&©À"ƒ²=fÌ19óöYæê¼fñàŒÞ4Ü=;úNˆw/÷¨fûšÃKг³À¿ów—¾ð9ªj`2…ÙN…Q†:º.1mZ¦;|l6”ÛÅÑ'j¨+/Ãø,S!átm¨Ú]ö®4œžôÂoR}ø^¿ý2ƒ—àm'¦5¤Áˆê»÷bŽ"¥À¹²E¤oŒ¥ƒÎR¯Æ Á‹H7ùbMŒžrâI€€ðþÇ Ê…s/$ ’5¥ (2»ÍêQq©“z=ø~°ZéUúaIž±ؼ~¿ñ·þUî¼üL‚.3,i°J\Û.i†uÂÇÈ›–7osiß±\-…#5.èÇ ÓL=âj‡£ ÐÆ£¬j’G)̶6É‘j7 ý$T³¡:HôÎ3ØlªV'eU˜›I¡Ë÷èÆžó{KþÊÇžæ†íèÍ}nÌæ,Ïz›u—Y.à¥×]ë9:‚ÿâ?ø5‹‘Ùšöæ0ŸÊqûøãªZѶ¦­0•e¶3Áºˆ±#> £ë™ÎTÛ×Kî?Y¯N±òTØu#žUjXn4ëªÐ#:DÆ ¡Ð~Øf§ÊQU!Žb)µµMF®£„̪d¹q±S(Î9KBÌš¬„ޤˆ|ÜGþÈ8ab\V¶HUÅ9")q]V&£­‚²^ùa=Š«ŸjmVjbmª*†cÏúh¥¦wjï]û¼ôåÚCq9^Ÿe²Ê¸P­wg>r“ïñk¤!J0m<û5Æ&´9¼¢ÄàÌŒ¨½Šj#ØÏèAWŠT:Ìú°u IDAT5ë1ô%g‹¥p(ÔZž˜M8õâå¤ôŠÆ.Ä*²µ=”ƒ¦ìÍ"ÿÙÿŸð«ÿàWxò©]ªrœ²ò–óaÅ2€V ¤†÷äÌ«/Ÿ³¿ÙkúSxãvb»‹ò‹t(#»£w÷`¾Óé1—+{|ÃKWpuÆÍ ig³7G绬֯pïÈséò.ÙÂÙ°Â&ʼn‰U\Û’}pͧï½ÁÐÉܧ²âsªœ¡ªk2©X;úÞóC t‰r.{•.Ã÷$ÆvåLۺ𥬤“̆P¨¬èbVmÙ²)ɪ8èD°•X!h£sU[j§q¦ìÃÖJØ ª"c°Æö–œVÚThÕ²>_ó…ÿé+êïü{ÏsïÿöçÎgRJl:p;°{£Â¶×¨û ~çü úEàù÷ìr~|Îy†ýÝ@;1,×#‡û”¡_Ff¦qµB U5訅›®¬¸£¨G&Eä=ËsQT^IÃÈ0{ ¼”‹—udT=?û/~uiÅ«ožðü9šÁSÇ$ZàZ+\ö·oŸqí°áê58?‚›Wè™ÅÉÀùÉÀfíi§{t}d³éY/FÎN„Sf̈u÷Ñú¨ö4W — !E+×óÃ]’n˜Íj¬™ð­o¼Á—Ï^á©ëW™4ŽåÚãÔVŸiÐÆ±>¦ kk!„‹m¯[Áˆ¬¦“¯Å¬HÙ×@E&I·KFGÉî)‹Ø6 ½”*òCiqIqb_®¦ÑTSK=sTÉV+9ý²êå(PNÊibýÐMÑ›ûg<¦O¹u¥ãµ¯qãFË4õlNDÒ3݇Éc;0½Åÿðw~•Û·áG>T³^i>ô“,–÷9_tì]ÒìÔ ª>åÞ½(­"Ìf™j¦¡êQ!ã»m©â¼N–©sT,¨Ìë±cêêa„¼+ÃʶO­q+ÛÏ £"³]ǯü§ÿ._ûý_çÇ?f˜Và²E3'ö>ö4mÃØ'®_npƲ`©m`÷pÅåËùIÅØ6xpz*¤74›•b}–©\C¿,ÏÝFˆoÝYÅD¾;©¥*Ū‡ôõ3Tu†©„_¿×ÎÏ‹ÄÙ;oóø¥=b{ŽŽ‰3aŒxÉ•@ Û5w!úGεíOeb¡µ˜§)±ØR\¶º,9!Ç›œIhrB9y–‹àWÂjËqZ¡+›«VÑî:ª©ÁÕF<¼’ìZJü•–ixoƒÕ8œ°^t„Ó3~扆õk/óÔS &Žd7cã\y¶fi ü ÿÿÝ¿ò_±_òÿG?Êg¿ö',²bÿã?‰þòï³:ï jqß„ùSüö/ÿS^¼¿ü÷/£÷VègÞ¯Ü%ŒoñÎ=ÏŸx†“Ûw˜q…õrÍk?xÀÓÏdÖë@V‡‡†nåR—ô’û±£¯º©tbµÞÝ”¡÷\Úk‰gç|èÝO°sþ2_øÏòW~úÃÑ1Ñ(«³¡ÆEžGÖ§;æÆ0Æ@¥3]Xò¾<Í«?xAž¼Ù²''MŠš”-«Å@ãÆ°>èWRÜ®–‰ÍFt•ËEf^Cï¥XÏÞÒ‡È}Ó–zk™÷V§dj”¬¢’Üà1%|Y²úˆ æ"YmI‹½§Ð’F%´ï¸Íâ[I^ªŠ•RzhVG.½É^0…7 œÂ5†f^çz§¢9\%¥‡X€fLTX­²©œRJ­• )ÃÝ{÷øÚ?ù”zöfbqvFÒ ;iP›5{3X,n¼ûý¬¿ø]~ðÌßü•OpôÎm^ùê)¿ýk'à Í{žà­âÕÄ´Ïÿö÷~—§ðÂÇö¸üžÓ´Fï_á‹_ªùG¿yâcïã{Ÿùÿë„›à7~ë®­¹s'qp¸”Š(‚gy`fA&r’Þ#ž¶®±ÚÒ4-*E¿òo~˜7¾òEÛlÎO0&±=›¸$› YmèÖKÎŽzTŽXz#3˜N ϼyç6§«„Â8t/]ó˜z†¸bº{—ןðô{öyïû÷yö¹†÷<_óÁ7üØÇæ|ü'[>ðŠ÷<ã¸z fU`j2.gLVãa(ËÌ3XÒ-1‹mRÈòJY”Çùï%ÎÑ€Ç0fW‚ÐM1øÏe= !I®—€T=¹0/4ÈfÝ-¾ Ѱ3؉ƒMk²lS…Wä`*sd¹Y’s¬´RV>²8=å±›–^µ˜ºëf™#`".gyù·?ÏxëkŸäsüm~ö#ïfy ¿ùßþ#†¶"ªKWøìo}ƒ7ßÌüÛÿá'Ðû ììrÜ5è«·xåw¹qñ㹟þËð¶áÿƒÿ“ۯ´š³<…~){uvó+•#Ӊ̼ £Œ!FÅ0ŒTÎ18Öç'\Û‡þâ/òâ¾Ä ï»D<ýØß$<¨[h§Åά¡DRÎÌwZ0ê†!`LÆÕ#" ©²ˆj`}æY/6t«Sºîœn8%W Ì|M{8rp=qå–åÉwU¼÷Ã;üè_æ}œòÔÓpi¦¸6Ÿqm6ã°m˜jMUÆHªhÌrqBü¡W&$EJ Ÿ(´oùZD‘”.ÔZ±461k R¥ÄåO‰Û_*ú‚Jõ(ã ùùU¾öí5¿üÿ./ÿÉçyéÍ3Xqéú!¾ð>ó'güÃ_úùÿ›º7¶,»Ê;kï}†;¿9çÌʪRÖ U•„ Qƒ„„-cƒ›vƒ§Ž°ivƒmº C Ýцpã!L›QbpY–0`(•†šçªœóå›ïxÎÙ{õûœûîK„…@`¼#^e½{ï»÷Üs¾³ÖÚßúÖZpü,OÿÖoñ³ïz/½]xÓ,ó©‡orü˜ÐI»L÷‡`›I¨ ¾¢ßN01O&6¡ q¬ZQÍpÕ-áo¼ã/0½úÕ^AÏFU‚Ö’ˆiSPIEÎ$P&1ãŸT` &3XZ…v§C«=c<,èæ1î«46çðª¬õ2¼ªR™ŒãÌëR*¦™ x7Žîª.™·%äí‚õ Çp;àË**¯¸zÒšj­Ï§iÚ{˜ 5«)ƒç]£T|=P3:ÑfZWã<ãs•! ´+Zï¦]"±û ¼Ô;C‹-Ljq©Ã%±-·˜È RÏÄX†3ÃkÁ✪‘b6c¹5ãu÷ŸcY§ø²ˆš¶ÜÁþŒ1†ÎlîlqïçÈŠÕ¬ds4äùƒ!íÞH÷Ü/þÂs”;qgÌÿô¿‚ì¸áS¿ñ4¯z¡¼ñ,gÖÏó{x–~§Oðð¿ÿ/üâ;Ÿãü½–¯ü²xþ©ç1À™]FûX©‡r­W€njp:«ûGÅ’úN§Í´˜¤%ýðÐ×~1{ø¸Ðc¶@¿“1œy&EÅòJ›õ3à…'>þ4W¯l_-8¾’sl#ÃëgÁeBÉ—ÒiŽóC‰s)•ºû_-m71ÊÛ†P†D‡/y·C9fÅrêÉÓgg0Rñµ©ÓKU”Ê(UP¼*^bßxbÈSyܤÄaC¥¦&1#læÒXšêÁSD«hˆ]šƒMæîoÁfP|Óc âø¸4î]æHÁX£bE1‚X¼X¦!0™ !¨™Ì&n¼¿Ë)SÐKÇ ú Δ¨ŸÅmBš. ºÔã¥h=ô:>ùìc|ðá-lÏðÿÇ;X=Óç}ÿêßqåee%µ<ømßHçX‹Ë¿þ³X8{Jn^&]Yç™G¯sÏݧÙ{î“<úÁgøË_=àÛ~äyþ™OfÜq'¸´ uF*Êb^1j˜KΞXŽ[æP‘%)Å´ÀYeÉ' çî]ãÙ”•VEf'L§ýÁ·ñ[|å7ñ©O\d24t»†¶6…¼u‚IaçÀ&¸¤Åp?0-c¬¥ÓÏÉZ)»CX]ëEÕE?g4‚c9ƒeP±äY‡þ`‰é´Ö“J$2'“@gÎrï+ϰ5 t]‚XJM˜‰0E™ˆ2¶0µ†Bc‚¼òñ§ð±SOécUC7ïV§uå©[ÔÕå1F‹ýQƒ‹m¾+k( Tb¨Œe¦†j•­:Á¤“[µ¹%k;Í:V“–#SXçâJ[wslç1ŽnÞnws«óìûÿ3oÃq†7?ÎÆék+LÓʦ KÏÞÞ~Û¸ù‰Çyׯ{þÁÿz/k§Îðþý3ìíÀÛÿþWòÑŸÿœ8 æÅßgç©—âðIµ\8}Ã\}žÛO”P`Èùkó Ž—ßùNúë°Üiú=„Jë<T6fçSÈ™±Ü†›•g\ ú|1%O<:…¿÷­o‚g>ÌZr™R%u·;ÿÂ73~úë¿Ë/´ Ü÷Ú„¯}ûqÞýﯰvl³«œ¹£Ë4-HO]àâ;?ÄÁÖ×dȯÈY^j³‘zÆžÍÍ‚ Çòªe2-™N!Í,“²ˆ$¤Ä)ð… Q.ÇÒï ÎuÀ@ fUŒc5Äò(ŸU°øÊÎÅQÍ®ÙÆÒwÅKÝê9²cüÖ'ÔüUœœkE¨œ%h¤9®H $–$\Û’÷•D;+ í¥”V×áò(a6õ´UŒ(Y’±Ú_åÚÖ¥Ò\|üw|ü"gÖRÎ˱¶Œc$Fpi+çÔ…Û!Iù埂üÑÿþçå]ÿö?Ò“„·>t/\½ÆÕí’Ë{ž{œƒ}O78¾æ[¿Š‡ëQýÍ—ð7^dûZÉmg^|ùe~öÇ?Â¥çž`°²‚M ¿ ƒcmÚ½Øtß% ITJd-C«§8&Ì"¿"Bê,™ ÜvÌðæ¿öµ<÷_ÞËÉcàDãÜålœ=M1ñ¯¿ïç¹|³à«Þv÷ߟó‘‡+îþš·òeo]gÂÛjscw›ü _Âþeåß5â駇¼ñ-¯ãÑ‹Sª¬Í3—JvFpìÄ/½\QÌ2ö÷ í¼OærŠQÉx4Â(½RyR΋p½¯X^ÉÁÁ´*ðj)ƒP”J…D½•uHò“ïå캰Ú>ñÈ“l¿ø_ôæ5Μl±Ôë1XÍøðÇg¼çÿ}wž=É+_³NÙ]£×ƒ—®µ¸ïÿ:Ö¶ùÈïloŽâ–7çñ¹ØÑÆ$µ¶+W²¶¡Õ1 ZBËAî –Àø`A)Ç¿ô•@±‰ßÙ¥×u±a«ni¸ÒãÒ3—¸ÿ|÷/½|…v·ÅÊzÎÓ¿û÷}õý\ŽÈ7”/ÿ‹lþöSüàßÿ ª ^}ßéC_̰‚å/{+Ï_ÍùÄ}F³Œ—^‚ó¾€Vv’Ç¡³Œýí¨vMŒ×b±çÄd Û[%«+R ¡Œ%c¢IÜ †ú¼‡Ø·^‰SSƒZª¦¸W9,¢t–~Æ!¶Pwi‚I,A ÂKαÛÎH{‰¶—œÊY9ÛÖµóÖδti#£³”ªËc•¸›qXÁÖ´EêЪ ˆúÂ<þÑÇ;Û×ÙXƒ›—ЏƒªK—âxbeº7F¼pù©+Ü»aë?¼ÛÚK¤Á°q®ÃÒ™€æŽÍ'n²Â1zëw0xõ}tÎDV9öy`¸ËîWxâ1åÕ_º†æ9ΜïóÁŽPzll$$ÎQ•±ÙˆëÄѱ6$UÒ<ÐÎ…ÄL¹ÿ®eV—zìïíÑnµÈ’¨üüêozþñ‡9sr†j='0M#/“Àc?Ìýoý|^øÈ‡Yݨ¸ÿ¡ ¼íí_Á'y’î¹ þ”á'_ä'~äcÜsOŸ7>dYºó6t÷€ó¯º ²íØ^ímÏh$·ÆG~÷2/<ë©Æm†7a²'dv™Ì´(g­R­Ô%†ÕÛog©ßPIŠQ‹Å"õ`s J*î°â¨^·Z ˆu”Ñ^…Ïøc€Äò,Ã¥3”Ë({„l)Ñ•3-]?ßÑcwtôø¹¶®Ët°”h–Œ‹ñT]=7_2c+ÇÐÒ·Ìë¾è'ÎTtº–^7òfL‚%6¹÷°?b9MX9ixi‹+W& w„tH5ncÌ76a4>@ö¶Ñƒ!Ó¥u,erñ2zá~¼»O}–ZÏ=ùoüKqÿƒ†=²I»¿ŽÉ3nì–ÐM S´¶Xy¹©ÐÒ“å†ÛÏz6z%¢)S­àxó)'Ï{ªés˜vŠl¬r‹ ´rËôÅgYupó#ïçæ“Ÿà•¯8ÆÊzÊ£Ÿüoü懸Ñé’m€ñ}þÍÿýξf•wüèßã};&K3äà&ÇîZfüÈi œû¼ó\¿r@oÍñs¿ð~磕ë þ8Ï> ) ÃQÜõ¡dYÎÆÆ1ÆÝxšÕe!Ï…™ >sL¬05†Š4Ž’ Ph¡š9jÁ¼‰Åª‰W¬-¼•€%ØXž¦&êËZUÅzå¸êržÍSVÚÚ^ÏuådK7εõØm=~gG7në°t"×ö !Í ™3¤€ÓZ3Vž©izUÏÕçÂp6¹3·YV× zH}Ó™­ÎøØÿ<1P]»Lmƒ4ïqé¹]žú˜²¿Ó»7Jn^Œ»ï푤%ãƒët’ 7SÎݘmÉúÊþ³Û¬:oo¢ÃH®ð…o\ã§~ü¾~ŠË`2?s”Sõc ©©<ýN‹Ë›7©†™c$©`F×øŸßñf«¼øâSܾڇÂãP1{&[»¼áUë<ýÔw_ãúÕ-~ø·oðŠ·¼†§~åhKÆGßÿ<÷>¸Ê[¾ýo0yî9ÊPbÎäHu•4°ýôÓMÃzWùè33^Ú„«»7yÛ—¯²~òNÞÿŸ>Étû¡vº/#ÀqãÆ6Ž„NG°V)†×iµJ‰Ka#'…±Ø`k·U6&‡k -ÐRsUý+F‡¹èÂà•³s²<£ã2ÔÃf1ã±\È–3m/gô7R]9ži#cy=ÓörJ«¥5RošÌFuNaª5¸ªª“¸–;µÞ'K®“¶&—JòehFq.öCŸŒfôº7É;-n?ÛáôrÆÖæ˜áA³†V[ôÓéˆéú+¯¼ :“k\yÈYÛ"¯&üկ̹úÄ6I Üx’Ûï?™ìðâsû –•^§M1NñU{ÂWPI‚zÈ’\ ”@kðdrÏ}Š §V™^Þek€þ²!MbŸ­.îrïknç]?ówÝoü¢Ûééë¹ôÞwsù÷^d²UqÛîáÞ¿õ Üøå_#Û°¬V{…Éþ§è®¯óÜ¥=6¯ŒÙ¾ôAžxZ«ð7ÿçB‡wþÜÓ\¹1ⵯNH[–ÂO™Ì<ë=²të“2på’çÎóc–}ž÷[c©Ê ±Zçô's´ˆW™ÓKQ£EÝ[C!˜XÅ.ußÂã$ö˜R—p€aÏË]£ùJF=Õ¥ã-ÇR]Þhio5¡×sêr+.±‘ ‘ªh:5G6ïnWеö»’¦3·µ=äÔ± :]¤åNijq†z‘C†—'¤Ù„´›!LÈò˜ZÉ\ ËÀP 30(FœÙ°Œw'ä€MX[ó§Oqs÷EzK Óë;ˆ-xåݱ»50i2ƒL¨¦EÍ8W$)túÊd2auVz)v³ÂϦ¼ò¶„•î˜ý§Ÿ'Oá º´;å!Æn;¿Îoþ§§xË·½‰åÜòÈoýáçÿê-W_®ø ¾Šþë^ÇÅ÷¾O|àC¼âø ^ÿÜùy_ÂGð½¼þm'èå3î¼½Gˤ|×÷ÞÃp(Ü÷Ž·ñ/¾ýû¸r¹äü8{Ç*šì1­ ò\¾²K;KYj/³{óT0>˜°²ºBYnáœeRŒq¶¡B@èÈ „g“îk^¥D‘ó‹i!È;-²n‡ƒé”ƒ¢`S`½£½œÁñ–®œÈt°‘±´–ig)'ï8M1_Íq˜ZÄßèÀæõ— Ð>¨óJW¹ç¶óÑR¾ÚIÔ2-[7·i·2Z¹Á‘C(IL ˜LÈA|F9/ëã TñŠuÕ¯Öí'ÓHlæk§:ºOÖϘÎFtW°¤£\½8äó¿d‰ÎÊÔUdƒ€TSH”,Ô“>BìuŠ×rlØ.Î̘·i¯x¾áëîbíÕ§ýþLöft»]t6£Ò8ls:…þrÊ£Ÿ¼Â›¿í­Ð^æà§9vÌq¼[qööÛèrÀ­+|⟿›g.osþN0™òÚïàÉû·\~^ ÜØb[?ì³q^0n‡á“óäï|ñ[út´¢”}ú}ËÁÒܲ¶7¯HµG¿ßÆOö™Mg¤½^Lþ:Á­Ë\2ª‡Öª˜ÞŠ5m¤.±©°#ÔÕ‰4'ët(c³šqyÐÒl%cu#×ÕS9ËÇs]ZMµ·œÒî:MÛ“lÓöYµîù.õFƒ!4ŠèCp©ªjVL+ÕT·úÀ—]y|w÷¿÷ò%ünÐvÚÁÝIwgŸ¾ƒnÛaµÄIÎÒ K¯ÓBM`&±ïJ‰g2«Àϰ&v—™ŒÀ& 7fä¹ÇHÄ ®"É#¢Á²¶Hóq)"–¸­EE¬˜ØY/„¸YéÐÒ‚i9$ÉàÞ{º<ô¶/ |á—°ŠJÀf“›ÄI»%ï9}vÀôÒU>øž_ãüù”õµ>ø]v/_çîÛOóÜ×èô¸'3̦ Ï?]ñªû,O“n’nØÂãt¥ÆNÝéÈZŽ¥nJ·›ÒÊrV'0aʬ*)Š@¢wÌv”vì•à÷éÛ *SOf@ª›Œ‹HÊ6÷йlÆS,ÆŠªÄe ÝŽ[å­_þ lz€Œ‡¸D«"Iܦ[‰sŒ£RC¹ôâéµGèt?+8ØÝÇíee¼s‰VwB·'äA8{á,ÿægžá¡7_àuŒqƒ’ÇÝcëÆ”·ÿÓ¿GqùÇÖÖyé¹M¶/]áž;Z\aÈr/ ‰'„,ïawo‡,×ÏØÝœQ8™PÔx<6qøPÇGl•ÌÁ4Vs±å°/U1+â÷Í4M™¹„jÆN¨nëéñ“-]=ÓÕµã9ƒU§£Õqšå6¦gê6QQêc‚ºª5[ͬLL÷ `}}\Ž€SŒUcËÝcŒsižg,¾H(Í23“Ò Êê€þ¹“{V˜îΘnO)JV_x®Ü±ûÉa2ý2èµ¶è¶amÙ±q¬ÅRß`Âô»)ƒl…v+Á²‹j…)Äz0SÄÆf¥Î™z”Å„$VÒä÷‡›3L½‰ñÐW\ü0¦‚àFKÄ{Ä›xe5ĹzXª ìï)gÏ´¸vcB)%Ç{ ‰Q*WÒYu\è七>é›ßÈÍù ¼æ•øŸœÇ®ïòy¯yïýéñU·à]?ôs¼úÁó<ÿÔ&Ï?±Í—|ùëùÅ÷›LÇž|Î:*_a ìîzz„v«‹½T{ûàwwë|[tq†á­À:\M|eê~­BüQ0í&u”ΰ[VܘŒàööN¶tùtK—µt°žÓ[Êh·E³–Å:‰»P#s! iÚ©xÅ6åõ(Æ…ZaÐzzFtNE¬JG&1ë‚«ª’b<Ö¼ã°&Å‹§ÂÓîüŠÅb橊 U´,<³QÅÊA¡³qK¼×}U®ÕG®î÷ÂHœ[ÂR§dµ»G?5¬´ g-ý–c¹×¦Óé2ô$™%kòÜ‘¤ `­ ¨/(‡9›»[´hq×m–ãÇ;Œ~‘Ž ~j(`63›)%QƒØxáN¬'\¾R2N±!Ž”L& cÐ6tà ì=Íù{ í:®½<æÞ7ÝKÿ؆ã.=Ìö&œ½îÿ|Ë“ŸñÚ/)ñ6c:œÑé[¬dTÁ×;½8  eo7à+˜N§õÐvSc(¦GWõŽQáYœ1d.AC lgì%°32l ½×œ+gZº~*ÆQí¥”v'!Í,.cã òÔªqLohz˩ա㵇¢â"±¨Æ>&V¾ç¼:ÛÝ:˜ ;8óV,Á94Éм¢£i-C ‚ª¯eQQ•ª¡ ±ÚVƒõ^™Ýµì§£BfÓŠjâ¹Y¶ª@¹7cø±-›lN´a} z¹p|’e­¶£Õ-qÉŒÕUG§§,­¤´º›'äFÙº8%—)_ôàIäúKT“äL¤m\ IDATbÆÔ+Ó’* !`ÓèR–9ýv;Žõ¸s*ÌØò×Y›XŸ°ç”½VÁ‹›CŽ=ö!Þö…Âίþ¬$å&þõ÷sîdŸÇŸ|Œå6U¹ÂW|Í~øc¿Í§^¸ÎÝo8ËË/<ÁâLÂTãøñ^_ÙÛ ¤É˜þJk—·I,ãÈsǨŒ.æVéñ¶D¢’ À¹8|ôÆxÈvßÑ»%œ=ÓÕ•S-]Ùȵ?°ämC’çp.JV­Ôdk]«5Ž›®;"qöXò:6lŒ»,M~2 *J­ֹʭ­žd8œ²¹»ÚÓ ºŽõbÑc,AâŽÃÅÀN4UoñjEÕ·º“]”e¦¾ôZ•¾n_­T¥2L^±Äø ö@¸â©O^‹Û›I2T¸R1ÛÒnÍX^‚c ++9Ý܉€«úù{w€HlBk©ª h ˆ`¦©K»¢F×ݤ˜å*FâÉ­Ñ I¬ZD}” I,µVb¯$Q-X ´zJ½ 1 "R‰Q£"A«wë/¬Ô'!BJU1ÝEe@ÕÆŽzµÏM‚AªA)ƒÖ¬„%Ïr‘©¯BlI€‰½¤B >¾¶Rf“Jú%Ë–u²_Èε ã­©üÖʼnø™GCE7ݦ›oÓv±aìêÖW„“+œë Z™8$ %. ìŽÆd¹²9òL Å•`C¨GÕÅx®—&ã@ZB'¯8~¼ÇÖN·^ðœkMñã¢nPâò”™µŒƒ²¥ž­²bLÉà=}ͬúS·wX;ÑÖΠ­if£D˜ÐÄá‡x Fo¼T‹}W›~s+]]¸J]&–ÖÁŠÑ4™VÓ3n­·±¿?®·ú-õRƾNR¡8b¡hìWbÄÖhŸ3¨Ö-94îV  b52Ã^TŒŠ:‘ZWÔ|¡ØW xh­éV­‡iB0‡æ[5F“¦òm4*04df><@Tbé’‚ Z*Eª ”³ å´b:ó:›z™ÜQ12VLF•LÆ%×/åÙ‹HÀª†/–ÿËüHïUBˆqB¨ï xre_—’›ÔÌM¹¢Q&¢Ä91‰’hl‚Yeжtç ÏrúîW±ÇE^ÚÜÇ,Ø×’+û\-glÜ·ª>°â7ÎtYÛȵ¿”h–ÛãÙ¤¾àÑ{,ÚªÈ1þ©T ƒ£{[@Žb¯oô&vÖšüXtžóV˜$(-Áv%¨Ó´Õ•]Ÿvù†ê¨¿|óöð–X‘G¢.—²ócŠww´ºT|”îF-9 &nRjê‰U-T ^E}ˆS¿*¥*cUƒRÔÞ¨*ƒ“@1ñ³ ã¡g2ò2ÀÅÇwÅφ’'ÂÁ1Õ¬.™Ï·ß¿^ó–pâ\GûƒL[©‰Óm‹·™–ÑÒÀ<4i‚í\‡ç'Þ–õ9]Jóï½ªÆ be1ô˜3ômþʨ"4UÕ^…_*lXŸ;õŠVl0~ÒºÖ?={ß[¯Ì?ñò“¿!!T_¶½¿ÿO¦Eõ…/n>’4ÜTuЃÄÈÈ"3S TQ bi¾’Ô¾IEç~~ˆ&[Å*6ËŨ*Z¢ê5º¾JMÝ:6A4‡wÕz¸ÐÂÉhÒ"M £×yêÖ,hXE¶ê1êçßsÁŠIÀÔ›EB}Gš¹û‹ïPkÁÂ<È7*ªó'F%¸@H*-;Sõ½Ý~gíÜÆêí7ó¬ÿÝÆä?sꞇª#ç÷V`5ë¥Oüêɪœ~ÏÖÞÖÿxiïÊe‘YªŒ{0ÎŒ[ìL1AlÍœz´V8_aÑjÅxgþeôp7 A·ú†‰Ñ€ÑÐÜeÞÖ|ç»àòše§ŠqæHaHóZSgõ!>+“W´ˆK5³wè´+Ô4_]Š'Di 꺀Tëí©q†Cë(Rw=vucY_Ïø±ñ°^qªÑò8‡sw¡:o‰ÖE,ÐX›¶°3…š4uÁi}]Ì<‰Z«¸ý$D…¼Ò2/¨Ú“Ôö×õÐë­ÿT·»ñ]'ïþâÝO‡Ÿ?X/â×eZ¯öÅèû¯ïí½åæøZå´º©tÔ±¥õ&Xo ÄÇ8K|MB„úÈü.ê¦ÖIÄ@óÕ” F}Œ•£˜,Ê0BÁR—±>Ÿ&Æò¾°d#ð´B Äæä/Z:ñq†Eˆcp‹¦fþ\cÝšÏ^t·ñšéÜRFë]gê=µøx "ll¾_Ç,uNŒ6ˆ¦Î×ÔÉÂã‹«‰•¼$ó›EÅBŒ4Ç9ÿ›zC%"G™÷ÃçTIA¬Ú@* „v¡¡36ÚNúùÊ ×_}$M»ÿð—ý?ü—ïøîŸºÅ‡®ÿ*°šõüÿàDå/’¤ß¿¹³wǵÝ+ ·ÔŽÚÁÎR•™C&*SÕ²­­×§ùˆz÷§ê›[÷‘‡®1’¬*¡š[¬ Z_]ˆ±L_iˆÕHœôÕXj ØÚ-qŸ /CãF gÎê‚ÆÅsp.Æwpìfy˜»j³øæošc¦>®ù1ùX|ªUˆ£F¬D ßF@Ḧ̭WsŒñ˜$ÒóÙD±T<ÆW×g”ÉÔŽ‡4@î%ä%>-(ú¡ß^YnçÝ­¬Õû¡ üø½oøú½Ï„™?°šuåÉÿ¼¢èß !ü£7¯µnl½\z7;n9H‚LŒH)*3 H¼ðv4Y Ìûü‘ø:?Þ¸G_Ôžøæ‚¨Y0ýáеY+s÷e}8ê½ÏkG_g…àÌ<†õs7ÛX>­Á;ÏÏÝâ2í‚5mž[tÝ °ëõl}ãXožØˆÕÈ¢>n ¨o8cšÀ[ê™»6çË5Jј©o<ãªÏ¼h¯R:S#míšþR»ÝŸäy÷'Uäßûþ÷\ÿöïþé?t㾸>+`5ëâcï{•/'ßSͦewnL¯\÷²ÛÇ 3›`ƪØú[DÒóÓ‘¡ž~¸š`£^½¯)N{¨JUý`^\Ý¢»š_èzÒ;õcP?^—‰ksl3Ó0ÆgÞÚ˜þPõ±´|¤‹kƒ-Ä~5iÜ©YwcÉ/5ðbøâÿ›•þîë;—eTmnaöÛ˜ƒÄËÄxëE£ÿ½X‹Å¦¡Dï&õJ(°P†3ã‚zÇéçFmþÿ‹Â´Eð4nñˆ[p;R…zï¡«ŒóùäÓÆp°`ý,ZË#ìx}Œ¦‘7V®qáZªæ5Íã‹ÀÒ[㢹Zn¾9jÀt亚xŽã±àTÉQœJÈU|î)ÓRtP-wW{íV7dy𿩟|ðÂ|ËQžç¸þØÀjÖKÿ¥¼*§ßªêÿœÌfƒíÑ6“òúžÚ½\“±ó¦0¡Ž»æ‰N‘yþªFUƒ>šú:h¯´‰Ã "úÜjãC“»”#N· Ú›¸ ŽZ–—…ùï[…Ãà|îöÜê­VQjêãÓÅ” £k‹æÉ̹²CBÒÔi~­B¬&¯—qMpH|6z*©9*¨' 7âÆÜ¨ª¨€Z%d¨¶‚ø^éTFó²cz½^o y»ÿ¤³éïïßùÀÃBCùÏ~ý‰Õ¬'~û_/—þ0Áüƒý7G×¶4ÛJ5f*ëeb„@%:7×ÍZP=h ¬ˆ¬Pa"°šhýÄüoçA»×ùû4ÓÚ½@MQ,ö¤¸•:¨Á×<¦ ~ÖˆÆU·Ðsw[ïÞéæø4€ÓÃc´ÆZ-ˆm­Dws`y0É¡DS8ñ{&TÆH]¡,‹Ÿyxn­‰ªo)Ú F»ejúy'TÝv?M’ìÀºäÇ‚†ºóµùÓÒŸíúœ àù‡NPóêP?TL§_z0Ü‘¿¹d¿£¤˜± ¶’`ë^ÌdÌK¸ƒˆJãòB h©qTw|ΨÎz8t3sŽká¤Ú…[³C µË™“uìÓÄTÔiG,—ÔÑõb*éVë¶HÖÞºC¤þ=(˜¹ë\ŒÇ¨ßÏT!Ι6ñÆ 6ˆ ¬ÄbŒ“ÌsiR¢õFQ‡’)!W)[ Ý*M–Ò^ºò4ßÍÛݾKÒß¾ú‡w¼îëÿì®ö}}NÕ¬ç?ús¦*Ç_•Åx.µ^`–)¾‹h'8»"™ë˜–k•ÖÈV–$Î%éTUñÏï}ó·Nþ¨×ò³]ªÀjÖS¿ýïîDÜ÷ù0{ûxZ%ûÓ)¹> î fh•¡(S ˆñ—qTµe:L7@+B ^mCMÔÒ©9›…¿YÌ9r¸ƒÒêÂýz+e0©À7Ï1Ú[.,G9ªfß±hš÷Ö:®:$6cÙºQêת¶vÎ6€Š¬9¦ÎÑ2ÿ{ ¨¨`¼#¹JÕS ½*Mû.3-2µš¶ó`Lø÷.É¿çî/ú–‹Òkú™ÖŸ °.~ü=âCùVÄ|Ït¼ÿàÁÞ[ÕfáuÏ«ÙI0#Sš©¨õ±i TDcµ´ibPjÐÈ 6Y1€u‹VlA¯ÝdÿuѲ͟\|(…æ÷EË£·¸ÂÆ¥5¤°Ô5€ùÜdˆÁú¢œ‰¿«XD=I ,GeœH]GÐ|V¨5 NUW´L¡êªøŽ7aI»ÉÀ&Îa±š$öãY¯ó>xç¿éE|¶ëÏ XͺøØ{ZBò·‹ñþw ÷wí;Œ§û{Avóàö\e'[â©¢REñ fh8-‰uØ@£t4Tº˜T]t¯M:Hk»ÈÍmÜ­DæßfmœE ÌWfë”Ë!°ÊÈjã-ÃüXšµfÁªÇ6Ë ˜T|3š+Þ(j1Å[¤tJÙU ½*±i‡žIkÓV¾eücÜOÜýæoùÑŸíú3V³.>úžÓêå{C¨¾io;Û<¸Î,ì ƒÙN½[ogSQQ@(ÄTA›|ÆÐl¨Q f@´ŽË •…”QsäÔj@.xÌc®PÿY°JMÑCG·ô‡Ûÿ¨P8R¯·°;l,ÚÜz騣ò—ZÅ F,¥XÁ8‚ØZ± ±'«Z•à j)U×ßµµßídi+/­Kþ¥ýgw¿é[¶ÿ4®ßgZÿÍ€pñ±÷ˆ±ékŠÑî³é—loïËN±ƒº±O†i0cÌ8Ö¼‡B| ÀSêw;‘hŠ¡PGACIH#kK´9 ‡4ÁÂ Ž¸Ã”žÃ]&Mþ@PÞ¨柡z$`Í‘t1qîrGÕy=1u•°ƒŠ« 6Ä;Õ²¡ëvË\ÚŽíIÞJÁ„÷%iç;îzè›ýã^—ÏÅúo ¬f=ûÑŸ²¢É_›}?ÆÛÙßãÆðÙ²«½ª*DÙÏ8î¢a¾Í£â-!˜hL¥"%† g®ËÔ.2XC\j£Ô¬«µØpž·k,בu+GEsÕî²I^G×V±n‡¥µò´ÚÃѤq“¼©u‡à 8¥LaÖ F—ªÄ¶ÆƒlyµÓéHšæÏª‘ïÔÙäݯø¢¿þ9§>ÛõçXÍzéã¿´¦ø¿ƒ¸\T$W¶žgž*ªjŒØ¡-Le*Ñz‘jÑÊÄ4 bKŒ©ÔJleb©«³k0•ZФ‘¨5Mƒÿ¹úõÓåbÄžV‡djÜÉ9ªZ«nC…«c­ÃtÓá{4é˜[4Ts-•ª¤BŽ–í@Õ÷–Át¥³´Ôm÷5Ë;CûƒÆ¥ÿϹ¾rü¹¸Ÿ‹õç XÍzæC?}ƸôGB_³µyYvŠë×ÕìtC:J+)­7A*Uªøyâµ¥š8I²›=/9oØq#wl:/eZ ÔJÍÃZ–C‹×ìÞæ+TXïYdäƒÍ¨gábC… ÅB±Ãœ º¼Ã^}‡¹¾:+SÅ·Uu K3-;½“«+Úé,«ËÒw‰±ÿèì}_õ§N|¶ëÏ%°žþ½Ÿ1.Í¿ b:Þ±=ºÉÔ\;ðvê‚©’JJ£ZJ±r(ˆR‰"&ªnc6$`Åkí:ç ¢f tA§´èŠæ;Æz顦«Q…ÁåB¥h‰õ‡Àò&=¬E=Ô‚<»9÷ˆQ%`Dêf¢‚)Sß H®NÖÒ•tCÛí>Y·÷1ùv$üιûßögB|¶ëÏ-°šõ̇~2Õ ëàààû·F“ÎÞlSó|¼™¶ÔŒ]`jJ*Ê *¢±“€b¨H¤lÒAó÷\ü}ÑõQÇoÒlëëÒïz„ˆÞ,®Êãjë×4 hÄtÍî/ ¯]o‰©AEœ¢*B ¤XRÄ» š)—'KÉF0X%kõn˜$ÿ^cÌ¿=ýÊ·)^øó¶þÜ«Yï÷®­uó,KýK™ß<Ki®ÕdÞ mE!•©¢J¡nTb¨H¥lDM‡š/L´("1Іv†*2Uú¨¦ðÀÈ"PµÑ;Õd眬mˆÏ€‘y« ù_iÝeÌj‘àÍ騨Q©Ög]]Ê;I‹¼“WY»÷¯ŒK¿ïÜ«¿zëÏì¤ÿ Ö7ÀjÖ“¿ó¯ñÿWY”o*ŠJÄN¨¼«IDAT6Ǜەîç^RoÇ&˜J*ñSaÅÛy‡#R8+-Z­Xsv[‘š:!^sf­‘~·ðŒïÑäE¢”X’ºWçüsj÷gkPå˜ÐR|×ÛÔ'K­»«|ÖÆ¹`mb? ’üƒ _øŽOý)ŸÚÏéúïXÏþÞO¹²˜¼CŒýßCàìþx*“3¹:U»ã*WšÊ¢¦ÂP‰Ä¾«ó„9)Z»½P?@¤~Lk8ÆBÉXêQKvæµPw ‹ëH¬3Ùaå÷Tª"F­MÐVë»A 趺f)ß0‰$Î8ó¢ˆ|j~éŽÏÿºÿæôÁg»þ»V³žùÝŸì#ü3E¾¹,ÊþþpWv‹ûÁîçe2µÞN  %ÌõJÿ{ç÷"IuÅñï9÷Þª®îªÞîgvEg×Õ¢f£¢ò`À!¢¸Áƒo>H¬ šDXñAˆ?¾â*"ú É? ˆEI ›]0«;û{Ýí©®®[÷ºªgP0îÃ8³3ûy˗ªSßó=§¸^("ôõºwyë§9®W©_‹KªÇÚ´™:Â2q5;š¡ÒqQ>~J‘X"iÁh¦º~*žuS½Ù’™#É úþ|ñÕ·-®ô®gµ°þ÷ö‹—™«²Ø9*†üåpH|±¨Ñ ªáœ%T*(„¨R…‰ ŠºµÒ¤–yMjš6в¯C!R™ˆ0ÔuV^´yINÚI䈩##©r0”ò¸×>/t²DTø«"üþ’«~ýÙ÷tt+ƺ|üÞK¤!Ü\•Å¡ ?Y,Ft\M4ßɽT‚œ " :^ÁKã)Ò:ÅÀ“&5°´x£Þ55Õ–PU_¬y’ÕÙ¨И- êªÑ¿¥{a’e}%RUѪ„»/¹æW¯¯Êá­ëFX ûßýK'x—ªÿC‘—ý¼(èx8p2бDø´ fÄBãÕ0TÕ˜øR˳\ÔÔFÍpgý‰%7&N~S»h1޵8peÐSãpÙ+¶t·¦ÙT_¡8t´ÛPüÌE;nYÓöÁ™²î„Õ°÷­çæ­û+_Þé½w ‹‡u(óyp§â`†Lä9ÔÎ|ÓJil…`©w=±&´.àÇ9®‰ƒ*MoQIÌ B¢¬‰²$p&Xòsš™ê÷g4Nâ*ˆšˆܾcçYaœ)ëVX ûßyùêà‡O°kýôÐÑ#t´Ú{$ð©Ì0qETè¤Ù)±ÑP‰L6¾LZBª“­- ibìã"¬N ÚJ” i*1ojÍtç#A+M•ؼFD»æ~tã¿Vó\Všu/,Ø÷Ö 6Tþ7jÝòØòù±*n±/\&+ òŒ&X†’·b¤Œ‚LLKK4d¼ÐUZU`Œ_•DF"¥Ð¦^pqæûn³dɦ8Žbg\˜*öõ!3ßsÑo}uµïsµØ°Âjøïk{ÇÑ. ú/BT”ÕèTµ0ÈuA= Z…”.0˜ÁDba‘ª¥L’d3µ]'ôL—£(bëZ'ö!0?µíʛ֕}p¦lxa5ì{û…Yý€Û‹Å’rº8<ø,¯ètâQFÊb̬±¦!ÍfѶi蹞‹¢–²µÏX×Þ=wùGWû^Öç„õ5>~ÿ¥k½O|rh~± ù6ëҙ㣆È;˜}„™Mçët’Qg&ŠÛÿ ãvm»ò¦VûÚ×üÿ²±¸øªÛÞÅϲlæåNg:>™ŸH¥L#hGƒ¤E³H”lâ:]œÜn¢äús¢ú&çžX߯>ÙÍGÕ7gÓ¿Ýwð‹N¯áÂ~¯(KyØs(H­#uSÈʬ¬Lëf×®]3'üÇãŸ}Ü»˜Ñ£;KûŸ>¼;ÿÃߺÿàɽ£‡ Jÿƒçßû¿ÿô“OþŸoÿÕwø¬ûÁ¯ã—}¬¿ŒùeÀ/ÛãìhD.gúÑÝÅôÝG'÷ßy|üõûó?ží(wbˆÇÞ“bŒ‚à #‚ˆë­û²ý—êñÀ:x¼ûh¥ß]Öï½qvñµ·/ßÿ­‹o<¹{òÍãÅôwJ[¾!…¹ÒJ_U…9ŸŽÌt6ÒrT*oèJ+Ãç/véË~ ¿,ÿ€7îÍćož”ï½qzôµ·/¾òáW®þà'w¾uïÎÅÿµZ|¥¬—GÂÌKÒc«l=®Êâd6..WSsºššz16•Æ/¦…×J„g¯šßx€ýFëü¨¢7îÎÌ»Žæ_çüÑ×Þ¾úw_}óþÝ«?:>¹z<¿¸Ð£ÓÊc³"˜‘KiJkžŽJu:é‹Õ¬X­¦E1©‹¨•tƨ@DñvÓ}Ù/ñK{üÆë‡sõøj>~ïÉÉß¾üèý·î~ãѽ«ÿrrzùõÑü⾟ÏDu¢aWfލ'”Ôˆ +@DÂ(¥teZŒJs>•³q9¯«BV­•+­òRRZoóö¬7îLćO–ÕW}ôÖ黼qõŸß|t÷›W—wÿÓtuõ¦\,euRÀ®ô”’¬dA B"MIJ‚„BZ);²ÖŠâb:ªÎæÓz¼˜T4®/Œv¥Uáó›ß¨ôø¬óUEO®&Å;˯½uòÆGoœÿÞW]}ëÞ;¸:½÷Õj~u¦FçŠ#•ÌŒ’¬( C ’€@$ %²”„ÈJ!­Ñº˜”ey2ŸV«ùèèh^—óI‘Æ•q‹i™ù×öK>¿˜Ç¯=°N—Ý=ëÇ—“é»W÷>zóä·¾úøüܽüÆñÉݯwî˜ñåDT'*Ù¹ˆj„D†Á”)!?9औøë $’€Ð²œe)•.Ê¢(æãº8›OÊóÕ¬\,g¥™ŒlTR8k”nÍÓã¯5°žÜ™ÉÇw¦õW.Ï?xrüþ{ONÿè{çß¼8»üéòê‘™\ÍÅèÜ¢XŠ¤Ç”dA‘$ŘcBŠŒª„ÄÀJ1+1Ø$$’a²BZ­´© £Wu©/f#{>ŸÓQe„5Ò+ER"<õë+OüZë|U‹ÇwæÅ;—G½uúÖoœýþ[÷Ï¿u÷üü–«Ë·Ëéå‰]”Tž(Ø%UQšb"ÄC@Œˆ ”À{íF’P¡  ‘–$”QRL -ŽëRŸOFöd6)êqe ¥pÖHO„x»é~íök¬ÓÕˆîžMÍ£;óÙ»~ôÖùo¿ûøü›÷/Ï¿q´:û žž]êÑùˆªS…bII ÒR"‰˜)$¤ ª”.Ì©8z¥cDŠ‘?鵆´`‰%H„$ ¥ä¬*ôé´¶çÓ±]Ž*k¬‘Q+éJ+½"þ:U¿6Àzûá±ztg1zçáñÕûoœøÕ'çßxrï⿜Ÿÿöd~þÀÔg3Qžj+3ERA($bRÌ I ‘ˆ2ÁаøûBW~Ÿ#XÊ$ŸA(€‘PJIUY£–uiΦ#{>Ÿ”óù¸P£Êzk¤+ Ÿ¿ÜþZôåõøj&Þã´úê£Ó“ߺxç½7.þð­ûgߺsqöûËÕùåäl%Ë »’ÉL)©IJ$‘Rb0R ÿ—I{Jˆ1pšìŸ! „€èÃëQ ™í؃‹Ó#H Nj\Z}<•Ëy}¶šW£ù¤ qeÜbR8­ä¯<ÿú•Ö颠GSûöýåò£7ÏðÖÕï½ùðâ›wÏOÿójyò^=9=Óõi-ì^>H’åƒBL !CN}D A(!ó¨>B…= ¢GðÞ9øàƒ=Šå¼ØK‰’Ð2”HHHIÊZ£f£ÊžÎ'ÕÅrV­¦e1Ù¤¤ðÖHO@øU­å€u2·tç¸ÖÎ'“·ï/ï~ðäìãw_þñý«‹o¯N¿VONîéúhBÅJCÏDT5YJ$8í!!„4#ÿ¨ú(•"SŒ ¾>Jùüos .çá½"†*ò€‘`y’$$¤”B•Öêù¨²ç³±=Ÿ‹e]ÍüK¸ÒH/¥õîWË=ñ+¬·îNåý³IõÖ½ÅùW¿÷îÃÓ?z|÷ü›gg¿;™Ÿ?Ñ£“+ =IÕ”DA‰ú„È©Ï{?€"Æ!qòcPõêu@…àáÿ[ç\×å?3°BH1!æCDˆ1%Ž\}õI1IŠIPBÔJʺ°êhTÚ‹ÉÈžÍÇv2[ªKÃü˪ðôåöW&=þJëñ儾úhQ¼}qôÕGÇo¾óðô÷ŸÜ=ûÖåùÅ,–ço“óY—d*ªëQP+æ±³C€]ÇÀ!ð[M@ÚG©8Åe@ï3 €åG/ïá=§Õÿ¼ÿû€âÀ½Xňˆ”„"‘‚”ÑZMªÂOGÅùrZœ,ge5Ÿ”U…›O*¯•ŒÏ¯ù¦¾ìø—§Ë’N—µ~x9¿qg~uÿlþÎÉrþñ|2ÿ ª÷M9[ÈbnS1A©à4Y(`¢D\>x†Ø«œ‚@±—2™ï%†Ð§Áœ ÷9MöÕ$G%"~ ARB+k-¬·ÐZC®6$Y€«÷Ñ‚R#D¬ŒÕb¦Êº*ÊãÙd|ït5|uvûgW§¯þúo¾ÿùFuyóÓg7î³Ï¯iöK ¬·îÍÔùѨ~p>;yrwùæƒËÕ׎æ‹êzñDóca§%T-½,)Á‚‚$B(” „Id¢îC‚wÎ;„ƒhÕs¡$„ ~*BeðÎ{xŸ#Uð¥ú 1rDDJÂh[X„b„ BH!¡”)’‰¢0 TRHî„ea¨8™©r\Uã³ùlñøh¹üöb>ýoËùøï¾÷鳟Χõö¯ÿá3ÿ%¿Uÿìã—X¯¦òâ¨.îžNV÷Ïgïœ->8?^~<Ÿ-¿bËù¹0³鉊² Î!y‚H*@* ¥’Dn‡9=ù×ù\²\ÔG)DZ_ùÅ=è"§8ç<:çÐuÝþéºLÜŽRFkØÂ \6„%UŽ\Ìû¢PHˆ© ¤"‘°Q(!Ê‘UM¡m·(«ÉÕh4~|´œþ·;gËoò£§ß»8š>ÿñ篚¿þîO—ù¾}ññK¬;§y²¬ìýóéüÑåìîý³Ù;g«Ù×fÓÙ»E5¿+ÍlÕÔDY‹D|”ÔuMçàC„ ¶(` ’‰¼pÞ£ë:xïX¯ÊÙ²¯þ<ÒT™ˆÇ,ŠúÀœ©m[ìv ¶»»Ý»¦ë:Ä” •BQ¨ªJÊ¡" Þ£M@ 1$Àhí]‰I(%¡²‚ÂΨØÎjÕTÚ”«ñ¨¾s²œ>¾sºø³œ?ÿ«O~ôôÓ³£éËŸ|þªýëïýô—B`ýÒuu6Ç‹Ú^gwϦW/goÝ;}¸šNß­ªñ¡ÇË(Ç…£ZT”¢AŒ :ìš»]‹´)@BC ‘@"‘y‘gIÀ1`ˆˆß|b^ÔôöÕb_å…Ðvü»¶Û-n×[¬×l·[´m‹˜"ŒÑFÐZ1D2Š1Áùƒ) ëd$¾ÁMì €„) C)”)…FPl¬•öH+;ªËâl>=>YÍþòêtñí{Ÿ=ûÛïÿøÙ?žÏ®òôUû×ßýrö¥ët5Ç‹‘¹:Mï_./ïžÏß¼<ž}p¼œ¼;XSAT•C!»h¨ >%pÚqÎa×4h;‡D>F„È:g†Ðƒ*K1DH)@ ™e]*§¶C¡ëZl·;Ün6X¯ù¹Ùl±Û5ð!@JѨFUÅ,ˆö:s3î4²”!3¿âbúof-%¤ˆpŽ^ "MIÚ„P¢•BµU…Uªœ•Eu5×ož¬&ÿóêlñçŸþäùßýàÇÏ~|v4½þñÏ^uûÉϾ€ýÂu<¯i1­ôÙñtrïbyþèÎñ›w/Ž>8]Í¿:E},UY'Xé’hbBã9×!d9Àù¬Å¡b¼è:P ©¹ã™d½ÀDÏÑ"ø^“rhCÛthÛfÚn×`³Ý`½Ùb»Ý¢i–*²ÎEÀ´®¬¥"0‰7†+Ck¡µ‚”D¹¹Ýƒ*í <²®’€”HI„’Mˆ!”ZˆÝØÐ¶œ³*Lq:®ß>YMþòÎÙüÏøÙó¿ÿ‡>ýl9_ÿôÙu÷ÝOŸþBö ÖÃË…:;šŒîœ-Nﯞܻ<þðâôøýÅbñ¸ªÇ§RW5„U>)á‚€ @µÞ£íÚÎÁ¹®spÞ!Æ Bzˆ¶EÁû©$»RD¸Sª¾AçHyÓ¶hv \×"eÂc ¤@a-¤0ÆÂ¹mÛ!Ä€ ë˜ÔsªÐJ3˜Š…-€¥¹bíI£gD‚ÀÁsÊäH A‚’¢(4 lJdELÆ )¥ ª±ÔG¥-îÏÇõ;G‹Éÿ (%´©Fª8¶¶|8®êw—Ó?¿w±üö§?yþ¿ÿÁÏ~R—zý“§7þéË_þ¿+°Ž5­f•¹<žÎ\­î>ºsúÞ‹“W‹Õ»£ñüŽ-'Sajɉ:—ÐyOÎõzQ4s'dnâ\Àízƒ¦iA$`¬EQ”(ÊeU¡(,ŒÖ’µ)AÑå ®:סÙ5Ø5 š¦…÷R…EU–°ÖBÚ÷}†ˆÓ¶ ^]_ãåËWhšD$´±(«ãñEYBkÍܪ0xùóƒ—¾ðùÁ—û¿ˆpI¡š\´ DB‘µJ:­e1šëâx<ªî,ÇoOþûjVýù¤¶ÿðïþyUší?{ùï¦ý»ëÁÅL]OG÷.ç.Þ¾yúñùé釳Ùê¡-§+RU‘„.)ò>¡užútâœgA2Ä\Q $”VÐ1AHçn7[„`EUy„˜iDv$h¥ ”â P=ƒ¤Í¤|³Ù`·k¼‡ªä´51ªkh£ÄÅB×9$Zkh¥‚Çt6EUUxñòB`ö@BBic˜W1`(þì8öiú°†½ÿ>ŽmçѸïMI(È¥ª™±M]U££ñ¨¾?®Š¯LêâÏ–Óú/¾ûéÓOVÓêùÏžßîþñó›Ÿ;ÿú¹ëlY‹“e]Ü»X¬ß=yòàò䣋ÓãßZ.ߪÇËSe'u…òQ’‹€óÎ9jÛmÛîûk‘AJA+ ¥ ¤2hCq»†\o÷½;Ï–¸w×7–"14 ›,¬×ìv;„Àh¥5Œ-PVêÑ“éÖš ,>¾"”b‘HІO! Âf³ƒbPèCäJB‚¤Ìí ³>CTJÃûöí«Í”£mçÐæHÛµ\)K) I!I$lŠ")*£¨[š¢[žÔUõàh>zóòdògßýôé_~ïGÏ8›”¯ž½Ü¸Ÿ>_ÿÜÒãÏXOîÌõÕÉdòðrqçÑÝÓ÷ï_žÿöÉñÉ{ãéò®)çSÒ#ÈçÖê2(ºÎ¡k[´]—ûx)$$¤VPÚÀŒ-‘ˆ)á<·I^½|…à}&*i_ù nψ0õ¶íÐ4 6»­ HBÁ c kQÕ%ÊјŸõÖ ÚuJÃ{Ïk!‘¡´AQUuBJeIÄ£ó$eŽbRkT6à‹™¾:æ_)7ÉYìåóå²C$@B‚„„BDQA&H% WT¦>6¶žŒ«êl5=<_]Oþô{?zö7Ÿü㋟LGfó¾ø¹(ø?`]ÄÙrT>¸œ¿qïèÍW'_¿8=ý­Åâär´<fZ&Y‰EÎ'4]GmÛ¾^ååV‰÷~WVlY¡(+h[B* m+€d–"6ëõÞòÒûŸÐËD>ä7ÄytÎÃ'‚4J]20ʶ°0Æ °uUÂÖcH[€¤R„H€ÎÇsÀ£€ÖãÉ UÍ‘ÏZ [€™—qw@J )Tn;)CD€}ޤ¡~8úFzö€…À`.ÉW)‘åŒD@„ @" ºRFUµÖ…-Ëb:—gÇ‹úþÕÉøO®NÆÿýo>)¿;ªÌ‹Ÿ<]·Ÿ=û?‹^ÿGÀ:]Vt4«ôÕÉdúðjuïɽãî_žýÎññÉ{£ñêJ‹1ôH²’DçµCÛvØ5-º¶e’ž•nç8}!¡µAYV(«¦(aleKHc¡b„ ¨Ûëk´Mó—Áþœ„ž“Ä„HÒ(¨RChm,LQ ( k ¤„’Jr¤ô>"¸Áuˆ½#³# © ÊZ¡¬9Љ )Øá| ˜às¯0I> ™Uú×xTn‚ûÜ8œi Þ±³"E ¥¹é-eî“JvÁæôšˆ I ’BZm•S”£²\.§õÕñ¼z°œÿßrVüå?|úâGã‘Yç/þ·Éýÿ6°žÜ™©«“Iõàb~úðêø+÷/O¾~~zúµÅòøq1Z­„™Ú(Jé¡á=¨ó-º®CÛuèÚnˆP~èÍqHWÚ ¬jTõEUC›ÊX([@hƒL§H ×uLœsÄbÏq¥F$%ŒTÚ2Pó¿ÓÆ@i&ø"ü”냃kl×·h6k¤ µä)%HH¥!•‚”,q¤¬‘…à!¢‰‘€8Ï-Ÿ¨”½{5Fx—ùÓŽÙ˜£R„}$R2*ÿ~©dž9]‰Aˆ<¢–„²BêÊ–¦ZÙ¢ª«²8×ÅÝ£Y}÷|5þ“å÷ž~g\ÚçŸ=»m?{ºþ7“û3°ÎW•8]ÖöñÅâ­ûÇ^ž|xqvúõåòäízz|®«ùˆôX²£Dð\اº®Ë-“|åï—%H@gÎRF¨F#˜¢‚2R[Hm’ˆ}ªÌ,w G !@RBRƒ“}©8B)m ,ÊXÃÀ`5+éÙ è:Vê½G³ÛâúÅ3ܼ|‰àŠ¢Àx¹»\¾}ÿèÑÃËÕ‡çÇ«óÕ[õäèÂŒNF¢\(è1E¡‘"QÌ­’08-÷  ƒŽ­%*§/©4¤¶Ð¶DQÕ(ªª¨@Æ"IH’=âð‰rç_ [UˆÑCk JZkز€-Jhk9]ˆýè¼Ïé×yß{ßû(ê|pyV0 i1z! Jñˆ€wÍn‡”›ÎýLaŒüûc YWÒÊgA–Û>]Ûag·°ÆdpYXc`¬†R&s%9´~˜ê½tr0ߘ12¤Vï@c, ëa GF­”ʦÃÜÌÆŠ<ž¦‘s/†„°ºv®MQÕu¹\ÍêË‹£ÑÝ»§“?½<žüÝß|òôgui·ßþ»Ÿþ/¥‰Xg«šV³Ò\Ofî,ï~åÁÉ{ïž~|ztôÕÑxuW—Ë©(v*’ªHQJ@'ôÞr^#æ1ïBR dWm H[@™Ê–PÆ") O <Õ"€(&¤„Ö )ZPtpZ"¥­Œµ°s!%÷ö|„óˆÑwˆ]ßulSöþµ‹Ý }eÖ1BKat¶)8×™L{ïÐ4;N]HÃÄNßxî'¦Û¶E×6Ø æIF+h£÷)Q›üQíA–Û@1¥áùºY1!>ïlt!Dx¯à½‚µ€Ö¼%‡K .vbâé!!JJF„†V Y”Jç…)ƣʞ.&ÕƒÕ´ú“Ťü‹IùÉrV¾üô'×íw~øâŸ¤Ç×€uºªéhV©‹ãñèÞùìüáåò+÷/?¾:;ùðhuò°­d±( §"©Š¢0HÃv–˜ÉoÌWÐÁHTb݇SŸ‚RÄZޱ¦— .@R# …Hl.CN‚-&ÈÑN‘†¦ZÞ*¤!“zc˜SQŽ’Q%âa,1 eåÏ ‚@©÷JR D%’‚ûI àaî³¹‡—##Á l©úŠ3–…—I5KÄÍn¥öW&õ{¾”A”£ AH•+A‘Ècn]—#eKÐJÂ9‹²äl¡52€˜Dæ­ÜµF¤©¤J-å«Y©l©µYF_Õ¥}¸šþôìxòWûɳOêâö³g·îÇŸßéqÖ÷òÎé¬|p9;~x¹|rïbùÑÅÉÑ×–‹ã7G“£SS¯*QÌUâñ*^|‘ÇÓóBö"õä<~œ+ÅºŽ”ÊXÍ`¦™¤,’HH½RÍš RV !’€LŠ ´$„`R‚Jo&Ã)%P?'(埫$RÊâ'¤ !H…· [b|ö4ð44_@1°5‡Ç¾öj¸ îo$ZMÔOëHé=¼”ÒA( )$dN‡=°ú5%«I)¡æ†{¾ˆbÿ÷™SQ¾XÚ,턆¢Ci I"/@É{¿! è¼ûK ¢E¡„= 3ÒÚžNFÕýÕ¼~¸šÕß^ͪïüý§Ï6©íîo¿ÿÌ€zp9¥Õ´²ï,_yxzÿñã÷/Ζ¯ËwF“Õ•.WašÌD$]¤y)YÌWßáTK?=œG¦ö»öê²€ B[²€²@e’=ŒOA ž¦<Ç že‰(‚ ~Ãúí04¼û±¯äÃ`Yƒþ#¤@Jr(ÓcˆBð± .ácîÍïǧ÷¹ •û›É§}0ñÖš.:´mŽL‚ ¤šâZ)(ÉI) •xA (aßω‰ (Žˆüe€Á ¶þtmž‹7â7Á{¥_ ×)Nùž÷M¤*ñybøÙ YÿƒÊSN’xDÍ€„UB£R^[cì¼,ìå¤.ÍFv¶šüùröù÷'£âùóW›Výî»—ó“euõäîÑ»Oî}|zrúÁdvtßÖË…(z* jļî'%ÚoX9èÇ~ìµ×2÷ÕúM,IÉW˜Ö€ÖZCjÅz õW ©W_"òJ˜̈ùgI6õQ_V÷žò”oÈ`Êî„×Ö}ñ5p²G© $§Z!´RHHp]—9S7p³X-ïZv¢¶MËÚ­”~ IDAT÷ŸsBÂei•]ZA”dA4$>OjSŽù|:—2Ó0Ä…·ÄŒáÊÓ“M‹ D $(Ë/ù¼÷PN)ø¿ @²´ "HXAª0R^ÏGÒTF›ãQUÞ_LGO °¿üÙ‹›OÕ·~÷ỳ‘ýÝÓÕô÷VËÓ7êÙű–(¼å‰4õí×Wö¼¾„¬Gõ ÊíŠÞêW-"“viM2¤ätÇ× ûÑhNe©OQèÓ+âõÔÒ·Fú‘+Hßê§aR¶,‡ˆèc–ü~¤>¿}ÿM*=D*@*…¢°LÔß‘ÏÀbÅf½Æf½Æv»CӴܶÊ4Á;—Gù=bPðÒC9•#Mþ(ÄÐ&âÈýNˆó8È òp. ö% kQV%BU„LX\UZ3¨r´Ûk]=—ìÏ@Ð Qi ADF’´¥‘7f¦ÌØÚòl<ª\Î.o6›ÿªÞëüãB‹?¬lýž­ç3Q)*E²3@ZÄŒ„}/n¨øÈú¾—bpEöÞ!&%³15¦$dFP`bž.õüyX´Ÿd³]Nm$™´koºd'AÌW}ϹR.4B.ß}.׫Ã~ Ui m ˆhЋÚÂ"Ž'ƒoŒá+ŸÕu-vÛ 6ë5Ö··X¯×ÃFÛvC9!Äb@ò@Daà‚JJvZ?Þü½°¿¨bŠð. K¹m=ˆØVÃD^s´mš|ÁñëYëÛOƒ÷™ J\J‘…D "JJQÒ£’šâÌØñj^©;§“òL yªd=%=ÖÐÓ¼é®d"8ë"í·Ú!öщ_Õ@)@%·^‚wp‹¤$%¬î•j“Ks–)8…8r\ê‹õ§”# +èjï OâàjËa} uy=Qõ‡?Ïû0¨ï}eB@×¶ˆ!@*ã=ˆDNm;H!°Ý¢™Ï1Í0žNPV«ûRe0êÜÊái貪0Úî2°î•:Çœ'em/GŒ>N žšÖûŽ8à4¤«„˜ö2O×y´w;bh[‡j •â§6ÐÚAÊ‚˜/kãÄT¾ªc~/(Wô¢/¢HƒD’D¤( !!´U4©¥<Â+!„$%¤åùª&H ÌEøž½–þÓá›`ï+â¾[?9‘P(;‚JP>!Óðócæ1õSÊûÕAÁ{$0ÈE÷PYÅáÊÝ÷Ȇ \À ”vŽ ¸ë: Åý÷e®7X’ó,bÛrŠÞcs»Ææö·77˜ÌfOÆ(ËÚè×ÚDì/Š‚¸í|•Ec¶]ÇœÒzÕrÿ:rg"W–CjÌ…M?éÓ_!¦Ü|gÝ®ivج×èÚ†=\Ã2N™Jyè2(ý^âÈŽWÎ:)”ic¤™ ˆR ™vBQ”R&¥“L‚(ADD&_ý)GÛ}>?œ—ûçÒ`êId®¢š¦Aç¬á~YQX()x*%á ?7Ÿ˜”2°B¶(Ÿ €8H¹B€’@ˆôZE>ê¿'÷ͤÊECŽ”Þ;ìv;tMY¥ævå×Þ6-Ú¦¹\p“ó¦m°Þnp}ý õ(NXÖÐöì_ų.ÆI&eÞ»Cöœ/ý«Ž[È\Íößz°è$Æ#+õÆ€„DÓ6xþôs¼xúÁµ{0ì›Þ£ú}Þãß)^k1 ‚lþ^–TH&ˆÔ@ 1!u ÑG•R¤”@0ø¶^#î=7ìA•©Øe[–lYB*ÅvÛb}}kÙyBŽ”é ZîN a¤·Rï #k  à!¼äÂ+!¦ƒBâú«÷UÄ)1_9Uð™d‚{¸Æ'„à·rÎc¹ñZ–Ã:¯VLCøçŠ1Â…°ç‰Óc_íÏ¢ã~|]f•Ûs„%ä¥gqÿq=8½õ©± ï¹rÓ)qÚhv;¸<XF0EÁ¿/»Ý>±Jçj]ï;ìvlsƒøË©¯,ÙDh†Rš}ûJDF&ü$%[–3¸Ò¡“t1ïØo½qÁ# 3o-‹Ö((ÁSIBS޼ž)öË䭱ߟÚgœL$úÿ¤„aµÊPŽ­%ˆÔË ý$8!‘$•ÊŸ—åg:(k‘Ëèþ…õ„wVÈ‹3:‡Îå.¿RÙiÀ'W+9ôØBì§oø@Û°ùRí#'O2÷NÊȺXDû¨–Ð µ‡Ûôú)–8¤TJf’ (ÅKDªºÆnËÞ©Ýn7 s ãÉÖ9-El7[8ï2πѹ cžÖÄÊDÓ°xZ й×Á¶Œ†É­¨Þê’ÃýbN¥Ã b`ÿš±lz4‚¼k¹‡I".}®î¹y‘Ò?´¿¨åõ"‰ƒXÊÈÏÜ5g·A¿ŒÃû¦pýNb0ù9~¸3CΩDˆ½” ä“‚H‰ÇÉ ô0Z>xˆ¢[äÖCÖšœãî¿ ‰(K{í«wI¤” ˆµopô¼C|Õﮊ) )böZI!Q–&Óéð}Ív‡Íæ1± 0™L`­Í­öÕiŸZ‡cœâ}ðHí~1®÷~¨Èú©µ±YÀdW]{<ûø3çŒix}üzZ+­¡¥b@³cP…ȯ—::6jýZãyàσk"BÄÀ™ xxGŽy|D€DÌ%w¥¤J&RJ¤ö…ýáEÒ—Â'íûS}院D¿êGõšÏJ供Ȩn}^10Cˆ¹rt‰gye>‘9ZEïyYFà1®„^„Í;Å¿W<å¡»"}@‘Kyc Æã1ó1"¼a»aý©L&e™›໎÷+ÿœ`1ìÝ›D¼¾È{ÙF™9cçt×ýÄ^ež[Îo‘€’R (­@”Ðu vÞ*Ê•( <¬ÑˆEàr"ú'~Á †… €kPvr˜ˆ1B)€†æ>Rʾ”á¸ÓÀ«˜ËL½ôØëUîÜ,ŒÐA…>\n‘sÙ0M3\mD}#žËþ®ã1)Ñwéó¢2Ï6]ïºÁŠ™¬óÎv™€ü&:®Ü8‚ôÄß¹®í8M¤Ä9EɋҌÅx HÚ_·YJ@ÖÍ&“)êш=ëx‹®ksJæ×"3’àPYRýîx:ˆœ!Àçãv‚ö€’½ÓLöUö½ > ùÂkº6‹-Ú¦‘'±Ë*ï¯H0Z#Ùˆ&íëIûTBØ“õSí‡>†¹ÈÌž˜°yDJ‰‰‚âÐÁô‹QŒ}ÿl/-ôÊû€³=¿$ñú¿ïûˆa/08”D<Õ9‡¶s1²ñDkÁÁu|"ñ~)’ƒÎœÓE–)B®*³]gØXœËjßq›Åµm¾JYÙ6Ö`ð”UÅ & Ä€Û›ÜÞÜpÓXkŒÇcŒÇ#HJ¸¹‰Øíš<5ÃB¬Ô ¦0¼¤÷Äxªú£½hÛs•þI”5$!{ÙBç6eN¯Ýàíê%‘¶cVEƈÀU¥RÉ(8'²´_뤂B’|…Èç2ÛŸ¢`n¤^Ó¡4e`EŸ£@D‰Q‰ÔïD`âÕ·j€}ÿëðÞ1_hᔫƒ´wvzZŸ¾d.±S‚÷èZÖW--27\CŠYµoáÚ–OxL<(‘¸!¼Cp¬GucK°ã“ܵýæÚ‹•9 ÷­™a£o×Ä„¢,°Ëì³òج׸¾¾f5]IÔ#ÞÉ Ї0¨Ü}žé¹åh4BY0ZA}¸|Y '^+Dz ¦¯º¸ëräOHÑÃÛ,îz·_¡˜…ˆH”Û8 ÈYÅ9Ç2Å­i¼k úøÑwTzõŸ"(R~/·‘‚P‰x±=Rêû‚ý/øb£yï^8Ô‹^V_ÉŠ›™{±K€Ëþ<Ú¶å¾YÞ³ W|=÷b•˜SaJ ^¤rA\7ð¨˜%†àšÝ›õÞù¬z—"£BrmÇw|9õþwc,ꪂ8:¢]³kpýê´æã«ëãÉ$¿ÞÉÕæÉè#””¨ÊŠ«£¼“T ;±öj$ö®Ð˜{Œ±_œ›ö‚ }²x)"ļÛâ …,£Wãc„Œ‘Ê^-cÚ &Š´×,n}@}†‹@`?mSb¢½ÖÙ‡•üÏ%@&¾[ UC:DïaÄ´¢×m2C%ÙçðAûâN‚gû„`Â߯_ìœË\mß yeöëÖဴ®cRï:(¥ò{”ý[™ ¤Ñ6;´MË«ˆ¤„”ŰXÖ¹]ç° ;¾G5€”EXö­§S$œøüg?Åv·Ã‹/£àh4Ât:CŠ)ëwÙ*ã"Þ˜l2)§h®‰!íÅÒþFÞù½Ç9Ö©rôú¢éoˆ~ù}:Œ.œÊ<¢P@Ú[lQ䉤4DÊ×n—åˆHqÐŒÑ᳿BÍ0Dkä²JHûÝ—¹í#Õ•ú_´_böÏy°úžriÜoŒG¤Ü{rŽ7åñê ms/¬wA¦8lÙë{„mNjΠžKì:%žjŽ-•G£5(ñи\Öëƒq«6/¦ÝmwyŸW»]Û¡Õ Š²Ä|±„ÏUëógO±Yo‡ªÖ£ñ‹å*ëp®íx{Ív7p"d?|Yì‡\E]yÍ÷¸à°Ï¢åµ•Þ!¦Ä4AJ¶"狲Š\³#ƒrD“y%&ež¥`m1øú÷À:")!E Ë_¤;‡Ù‹²1að7õ€Ë Sþ ní+Áƒ†s¶§A ÃÚêÞpx!ë7)M|Y1÷Žûs›ÍMÛòF¾üfËÁ™ sžÇ°¸÷Øa³Ý²ïÜðûcŒHÆ‚ bŸ»Ñ(,)å{Þtˆ!@cäÞš]ƒÝn cêñRIŽdm‹¢ëP×#Ì 4-7¯^b³ÙÂèkÞÔW(ë Gt2xýcØívØn7\ùfеeÉšUöÀSß)è5¸>rõ[{QÚ¸¼$…%•U|vŸJ!˜o†<™ʱÍYçíÍDÈÕ¯F×iÞB8iûH´Pû\Ø÷c Qf??Wçâ€WíÃçc•R¾/HÚ‡¶×ˆÜÁbŠ×o©–ӓ߃«÷ïôeoìS9O‡°kv¸½½Åf½†‹1Ðë!¢ù=_¹ÜúáŸã:‡6/”EÜ“÷®maË£ÈÛ‹MþYZsšìw´÷ó€Jk)ag h tMƒM?eløM÷Þa»Ù%þt6E³Û!xÏ«íׯ^¡È-›ñdÌšU>7OŸ>åý[› xsrÛ:î!š,I¨,FDã ÞöwxMý€JL„ì§öÒÀÜ™¹g å=¢Öƒü#2¸xêgï±ã¿ÛÛpø‡ú;z a¨î£àÅs‰åŠ1O#Q–€òŸ’’È?é !oOÆ4€«—ú÷[î²z|4+Å8x¦RŒè\‡Û›[\ßÜ`×´PšÓƒÍiŠˆóä´wÝpeñ®vž ÞÃåûÊÇ\Uvm  ,-[}•Ìé‘xÍäpC&®ŒDQ ,KÜ*Åbèfe4&r­BhY}eYÀ(‰årž?\Û`½^£xuÍŽ†åÓù<ó&&ÎÏŸ?G×µØl¶YsÎ %aþRfû)?èÃù=àvH/ª °?ø<¡s›Í×77¸½]#`ËÖ2ÿáé˜8H®ëBD?">ôc@ðŸIzlï5F£m¸¼ïÃ~_ôàs®C™ØñYÕ#”Uõzë½w в€ÉnÑÝn‡¶Ù¡kKŒFcTU‰ãã#^<{çnon7Ät6Ã|1ǰ $¼xþ’½hÛAé2¨4ŒQPŠ yáz\~.›öSaOÆx>³_jBR"$Àûƒ4w c¤ÄÝ£5¢µðΡó!€ò~)eöÄíï`E@ <>GQdq”{¸Âó@/Å8 *¤%A¯¼âëð“ÃýÆáý¢´Aãè«—¼Ê‡Kòn»ÎñâªÜ[i²¾Ôu-ºv—%†ì\.Sšó‹&"À^tèš]Ó )hæTÐvMÓ¢lyª¨JÔ£&³éàK9Ýö•fðÙOÖµ€ùÂ`:·FyõâÚ¦Åõ«Wl1£Qùb±¿aˆxùòŽ5 “ÞÁ)…®“ƒ!°o<ç2ð­>byŸe)‡]ªÔ»»5„bý*Äú‰é½¸ÍMu!™‡œ’9 00èZ @”â€úD&ôÄ“@B‚G ¢çlīףyÕÆžÇï?öÚ¹/ü`a’»àý–º<·'%7Q¸®Ãf½ÆÍí vM©4ªªÆxTÃZnŽ·bëZU œû¥D0‰›¨â`]õ@ü<Áº–ÒjXÖ!•„s¼È–ÅX$BQV˜Îh²‰ï0 ÷ܕǻlQ¢,KÌóݸyõ Ûݯ^½„6RŠ¢À|1Ëúïûº¾¾açGç÷zUǾ,1œ/–"Ò@%Ìx!/£“:°®0 ežzrΣi»}q“‹ªAtEŸ U>/.ÏDòMzÒNÈ ‘dÚ‹Ýù)òžüÔ ·‰ç²¯!׈D 1DW šF_!ªìØ,„~ƒ —ÃH€VûY½¡¤±‘®ÙáúöëÍ1EÔe‰édŒº*!‰ø¤{®íxÇzðL&/x9†’._ ¬}ß-%nXÇ<¡•f’-Âý–ä®m¹ü¯JL&“ ´ˆíf3¨í”-D)mÓâ·(‹£ªÆd:Ár±@Û¹õú›ÛõM&Ó)´Ò˜N§èN¹UE$8R·ÝàÞä‹"÷e?0!†å%|÷±\u¡7ŸÐ°'«_Á”bb`ׄ”|· ïú‹%_0ýM¤†‘¼,]øàókÙ‡”txábOqö³¡‡ß e°¥¬,0°¸”‚ª­}êÃa|FÊÄÔe]©çRé<¢$Gë)mÛa½^ãöv¶mQ%FuQ]Ãh|¶0³8ò>„~Jeí§(,´Ñhšƒ—#d?}Ó[mSJPJ¼ÃaØÃ޵̛ša4‚- Lç3„|ã¦ÝnÇ«s*WJb#v›-n^½BW}WU…å’Û>DÀv³Åz½*ߪA ñhtÊÚÚíí-Ú¦L‹1ŠÁG¦’„”‰óµ/…àd)a­AY(¬n5ܰS¤ÞËß¹œ<ÂÁ=„Xƒü ”‚I¯k‘}zåµrx_÷Ñ5«ð€Ð€Ôœø†i.~g7¹lDà7¾xÕÞ[²ûTÛ‰å>´÷e´Ë¶Ý›Û5¶Û-v[ðd-ˆXÄlÛ6OsÕ×G+¥xô*Æ›7ÇpºHCÖî›#ýIÞc,ͧRŠÕv×a×°ÆT6#ØÂ¢ªj¸iÇ ê®Cë;pFЊ—ÕvM‹õÍ-®Ë—(‹Z+”eÕj€ðœža·Ûb}»FŒ]Û¡(JVèë „%¬1¨ª’õ»ÝŽSenubؽ0tm7CïÀ(‹eÁNܾÜêíà "rÛ¶ ä†|È›u¼CŒÌ9)Zý¾‡šâ̽¶¨óü¡ì¼ ‘]&`PI   w b‚BL”(…/4™û_vPîûbÜ qoîûIýïƒ4«õz çü`×-Ë‚ÌÜñyó ÛŒãpeôk¯cä+ Ý¡݃+ƒ»¡'ö*o¥QJ¢ëø¶$»ÝÛÍÕfÃ]Y ®k4£1vÛG·|£¥Œ6èv—²vÅÛgÓªªÆêˆùÎógÏx ßz‹à#|×1Ç“’_¯T(« Ín‡¦á0çú]ö1w+Rôˆ©_*ÂGa TUºª`­Râ²l£vÎ1 ï8×¹B jËaŸ'q@ùîÔ}tý$tNfYå—JB¨/Lcƒöó0zÏ›‘Ð+òI%êØçó/’÷´¿ïL¿îñµû)Sÿ‹²"s“Û[ÜÜÞ i€hT5Æ@ Ê&<—7ë9Îõà% 2ƒŠAqÈâ~¦®ÿÝ„áCæ RñÕ®ó‰I‰½_mÓ¢Ùí°ÛlÐT‹³Æ¢òÍvYóbd¬…Úi´Y»²¯ X[Bk6Žêz8ñ/ž=Çf½vgÅ` ¥ô°h-ŽFƒeeä 1;4:tí]î‡J!PØu=B]PU5´Vy}RÌä»oÂg½.ð¾{á÷/û‘ë`œÖ’{x |®U^3¹/Šö»xÆp/]ˆ”ò¹É~÷<„Ãð‰@ò HQɱŸ&=‹Ë!²wpÊ yŸ¹Æ´E¿Æ'E8Ï)ðúæëͼá¤Daù†EZ±¿'õQÏ*;!o^‘rú$"î-n7™Ÿxˆ¬ª÷ä²?ÎýIŽ ÒÜtVŠOX8ôÞe;ßÍË|À²ª0±Ýn; ˜¶°Ãývnn6°Å o Tlê,‹0YßÜb×´ÃÂlÑ[iòÄ´øÂŽÀ{¸šf‡¦aÿ½÷ì+l‰º®QU#žM„f'Ðì¶\%æ*3 B ¼¹/BÚvŸ]ºÖ¡ÕÝ°È HC!ÂAsû¨gQ<12„b& œÝÌ lSŽD”Hå!Š)ó¸ûЪ°Å~ï^³ò !`úNb¿ŠàOîv nnoq»^£í:(¡`ŒFYpK£„<DåtÇ?«— ¤RÜ#Ülps{ƒín ï=T¾×óÞ ‡ ê4¨Ö@©¼ØL)HIp¹íâœC›£V™#¨1ÜTÞl6ج7hv zglQTh;‡í®ÁfÛÀÜÜÂÅàç¯ë £ºfw H’¸¾¹A“=a¾·CåußûÕF"{«y{EÛp¼dZ³Ó•9&ß™ÕuíÀ‹bJ@\ÊgÎD1 \¸¿Å°î4º¶ƒQIª½ò>t‹{ ƒ†à’bBD̠ʬ§¥”k½ .îÔP(ý$ ò¶á¬£†¿¾ôž×H÷w×RRÑWf]ç°^¯qss‹íf‡”Éwr/ ´Q<ê”úÅ}µ’—‰LÚ³n彪ÊfÇâ_4zO®ò¸•‘¸×–× ))aA‘û‡pˆ pÎc×40› g•*ÍJüh<ÁÍ«k¬o׃:m,“ü.ßÚîöv̓©ZAç…&u•Á•£­2¯^½ä(»Ù^ü~Å£¤(˼Íh…2Øý÷õgÅÚ•sëÍ×77¸¹]£íÚ¼;^f~‹a-’Ï=mdzýh^Û N$‚ä! ‘+ì4  ÿ/±¡/'¼„Ä+¤2{/r"bïD&R)õæ Ε¹Ë¸Wàs¨åñv 6YÕï4?йBðØí¶­n×pÎñ*\c •þÝk;I{O–ÊËYæ¡ã†ðvË·o92öáàÃÎ9>„ýÂZž¢Qv2Û¡½‡Øíò˜EQ•ìÛÒÜê©Gc\¿ºF³ÝTÉÄ»m;t×7Øn¶¸QF hɳ{RTË(Zë<çgñòå N¯½ä‘>x $[”30x§ÂÁÔOâbi½Ùàúvƒëë[\ßÜæÝï¬zVk$£³ÌÂ|-Îw®Ÿóìàæ[¥4yS`–jøœȃ~!qéÈí›!‹Å}ã<'SA©o^§”R=2¬0ÐÞ5XS°/ûÞ‹¨!F¤\1Þ®7¸½½EÓ6@êÓQÞÓ¤Mn™Ð ,Çp¸F²·…ðR2—|æ ÙjìCÞÐ&ä§Ø¯@ŠÁg¿–ã2YÈ×LwýxXÓ9ÈíÖ®ó-O T’#ëh4FUþÿŒ½ÉrdYšß÷;Ã}@Œ‘SeuUW³‹,’ÆA&q£•L -´’6ÚèIôÚé$í$j+mH3šI¤uSd7»»º*3+3cðñŽgÐâœs¯#«h&˜Áàp÷ûÝï|è9îÃÄ<ÏBá½\ÔtmCÓ6üÙ¿ø?ùâ+Š_>J)M½X°XÔáè¯ ‹Š‡‡‡#C?Ð4U=ÚÙµ,ò¨ÉªP2.ÏíÀ~âîþ#Þßq·ÝÑ6ýÄ@rÞàì@žiê²À:ŽÃÕ<®²ÆHôíû޾x°AÒéØñ%†u䑆}ä| Âi<^„îUˆx|J&M}d†w 0>0¡Ã¦9VTñhM›m—°Ñžgg´¤xÆZ2…±–¦m97e-™ ®]Y¯?âÎV·©•*®ƒâ’y4ð°N­ka ÉÔ§¯ï{º®£Œ…B–造Њa´@`ïôÃ@Ó¶T§eUG=øœz¹b¹^óðpO¿ßÓµZJšnÿö#‹jÅO?ÿ ëÿæÿúsNãö_ü3>ù$Ôë‹uèfš²ÌY,jvۻݎS\z{Ì:캮é°M IDAT¢|c”#}?rÿ°åýû;Þ¿¿cwŒ²kñø á µŠœ?=›SŒQ³½9È“6|ÌZ«Í†¾ùß ìà‘yÆè«º&Ï O|ÜnY/W§†Ý»{¾ÿȇ·ïùâ¾ä‹¯>åõ§/X_¬©"‰£,Üß?°ÛÞs8yx0Á–¸h‡c“v{˜ÌçQ^(‘KÆÁ€€Äq#IA«Øyê ì=ˆÑÄýêLÞð̦RŠç‚qîïeZm¤1R'Ès 3?í§£RÇó‰Hqþ!âª&Pç6ìé`¡ëâx:a†%y<~ò(’ŸŽÁ©0`71kås`¥£rˆªs©ÄZ'¨3æK¼;\„ßô];OÆ!²,¸{;k 8ÄAÚ¶¡hÊ*X×)¥yûÍ;¾þ¿åúú)e®Q¾Â‰°³ÖQ.jª~Á»ïy²º!qÒq÷ÀÇ»ÿ›?ûþŒ¯žñ'÷©9Ÿ}ñ†åj‰š¦ãIÓök[¬wT/¦•Æ8Ö>&Þ¬±øR`Œ§i‡0Õ/ ‹6Êv&zÿ¬Çu¶~IéŠó5_júüœº†4=å½M_¥” |P=rb’p ÇcšæÄaˆŽ‰ƒ¾™b•`¸YÔæ Ô®¨Épæ&¢+ü¬} ð>ð(ì*§¥²Œû­Pˆ'$Уéô5¡*–ŽèHwfÛÛ=§ ƒ¹yqG2•³º¸âØõ¯^cÚ†<“¨¢Ä#®éÍÀUUóÙÓ—w{ºcÃ0ŽÜ>PW5U.hûžj½d<ln´Ü>в*ú–þ¤°añb‰ !:Ë[zïÐFMGÿ©m8ºq Žt~¥Õ$É=Ža”!â •g9JiÆ14KJj˶«³9©¤Ï ;;By†x™‚mN4>½Ù.DšFh&ï©@Ÿ†ªéªœµå`,]×s<8žÂðO*º»gQd,d¬|Vä%)Ș ”793Ä3^º™¾ïéÚX_1×I(‰T¤µƒ‡éëüZÄ#³È¤¥0Œ)4÷ïö´w Už£ÊŠU–óý7ßb E®À¸ºzB]ä“pÇBgç­£5¥Plª%ßݾ§é:¼ ÃfZdôÝÀöaOo,Ɔ¦£76h@h…¦÷a¯gÕ“z³MÎ9¤ÔXMÛÓ6-]ßMœÁ …áæ¹bl®´ |Biú¡§ï[r-ÐÊÑuEd#ɉ$s.Ýés±Y"&b q~ ¦ÛW–4(ðÂi/3ÌA$}y—diÚ aNÔõ=ÇæÄáx¤ëºiâ«UÌ(Yñ<çúXLûÁÑ& yèÖt–&ò¡f2f¤ë;º¾‹¤Ó(x¯$³Þ¹ŒŒŸÒÓt×/RãÍ!•D;M® §?ˆÑÑm[²å™3͓҆§ìÛïoÉòš¢È›3ŒÈ"Û‘uU“):VëÀz>}ñÛ¦á/~û7 5»Ã‘‡Ý‰×¯ž¡Ô‘Â:š¶a{(+ª¢$Ï ž½|ÉÃý-ï>ð~ûŽøü’—exÞ" DäißìGš¡Gê° Â&LRxP*0¯3¥ÉŠ,`㎇ð»«c²x”6Á#@ ɲªžÍehíAèpLžnaÜ BÜHËɠ݀Ôx÷~Îæ‹Ç¼ÀmÛ€˜lÛ.¨ÄÄnMËè¶éé(L ±4I˜©ÙÍ²à ŸÅ)y¶mTØ‹hË$H¡¦yšœæT?þðb^ùnЇ]Ë·ÿáÊÏãnÉ AA¬5s”Œl{6yY0=Z×ÈLã´D¬*´Ø£GXt /JºSËûÝYÕ,7­ix÷îFB^°Ÿê$cׇ‹^—€àãý=»Ó­4í¡§¬ëé=ó„"}g{Ç10XBw“SAÆZ*[㞦=Ñ¥Qƒ÷qAt¢ô#H2[¯ØG…|âÀ…5à°øøÃž+½¤öFåXW o=Rkê2CgðýÛ·´MP”‹EÈ Ë%&jqi™!d8~݉_ÿî¯ñÒSWnž\rSgŒû–w÷1U&òZ³X¯8žŽŒ Ö«ã8•9vt|ý›¯Y_¯‘Bá#îj¿?p{Ëþp$Ë3®6VË%Rˆ@o‡€¬ˆFç>އ¬ Ðêãñ€³†å&<¯Ë‹UYF à¹Û¦i}°‰šêÙs9£ØýÌï¹”¡Ð~šÏÛù?™ -ËKß×жm±&nÕÏà­R t–EÏå"Œ³ WB;ŽIöQ)´ž‡§¡kIˆ¾ï×#éd9Y|ì² ¢i ceÇqôxfoFï=Ûí‘¶Ùâ‘l?lñ!0ŠÃ VY®Ñ2C Ä‘yÏØõt ‹V9"Ód¹Â´†¦éÐUôíÃòáî–ã©ct’hGCè RW×QülK€\ÛÐ9ƒ°áCxØuì:>¼ûHž—ŒÂ‘KA1@¶(ü·‘ƒ§3-ZçXc¹X—(P¦e–£2ß/9ÝtBIê²ÀxZ¢\]‡GŒôUÎEU²Ê4Ö deÉ‹—/é›–Ñô\W7(%p}ðÙ¹äîîcÓ pøX*H‘ä‚úŒRš²Ê¹X¯©Ê!$N€v¢Õ¯Ö …¤ÆnàÔvœ'„ô\]nxýÉ >}óšõz=e*!äÄALsðpÝÍœœ´LµŽ®al#¨©X¡@f.ú ?Áf¦#ÐMè†q äͶí¢Ìv  Äy"bÄ£»iQ¦Ý`J¯22F?fÓÂ9ͤ¼€Ñº>L¡GSV–”‹%«Í%—××l.6”EÞÑžŽaƒß¥€jÙÞéM{b¹\“éŒÃÇ{²e‰.+„gÝ0 TF.4Êk„T´Ý‰ÜJ¥É•ât ™3‚D†!è/àqfÀ Í08ªzÁ«W/x÷ñŽC?rØÞ3¼¾A© cÆ ŒR•˜ÃˆÒ•Òxö[œÐ8)1cÇ}ƒlDåê¼ ª*ŒÉT@cQ:p_böÛQA¸c¶û‡Ãc ëÅ‚'—ÜÜ\ss}ÍrµŠ ôP MÝz”ÙœO˜a’'άUÌ4ksÜ”ŸB·¤§ú* k¥£/í Çè0ÑugA¡/xVW”9eQ<^8Çgò÷ :êóÒ9ùܤãÒXÕ“%YQ“ÅýÚjµb}õ„Ëë../(‹;†ElÛ¶À‰ï¿¹çíï¶r-Á Æ®gp«2gS,°‘Z©eŽ9PZàäˆoø~|Ʋ¦’ÖŒŒÑŸ±ÊsôDøpH'Û!dçX,.øú÷øWþgìO ‡ëË%BY©H²i;l^pyyÅ~÷ÀÝÝ–vðH%0ôý@ÒWB¡• )ƒ§~Ð^” >áú‡€2Ùî,¼ëzT&Y-j..6,— ʪ¤®-5]ÄݧQEügXúpzdɆ.mjRì £ME`Ïëq±0îI—ªŸhØa9d•ÀÕ;‹ts¥æ¢ÝºYo=KE•9=A/‚À–W,×—Ô+AQÕUØ=Ë%º¨Èò’¢,¡(‡‘öäøî›{ö÷=WOVôãBp}yEÓ´ m(À½ a¥µ eYÓöãÖ¶\ø ûžl± ö‚Bka°Þ’+Áâ”"+3LßãÞŒ\\løüÍþì/þ‚¿ù›ßPü¼ ª3Œ%£˜×”º ÙîÖÑ™¬Î¡wZ`ú–¾éÑ›|¾ž°x–çEðÊŒÓødú™æ‹»ÃŽí~ÏñxÀ:â¬X¯–,Õ ÎÄOó½4i—qpœðqSòp³*£"xFO%$ÙH nÞõA+œ«bb@õáÈú8¤ô‘ŒõÚ}@B«¨¤—P“iÙ¬dTLó(RëœÝCš´‡ß-d€:WK¸zê)×H“—5J³nœ 3´Ó)€ášžÿðg¿á7ý‡CÏrU#Q>)L«ó<à cXyiŠJÃM?28…FyÐÃHU”ÜnoCç¶\ w’Âyp#™$¸Ö(hN=™*‚žº’xRÀtÏ/Ÿðüêš···ì›#«ÍSÆ~`°TÕ 4’Ý~¶Î3¶'ÜàÐ:ã¸?p{Ëêbƒ‹2üÓ O\}°x‹tü´ëzNM€…Ÿš£ãŽ4t~ø`Þ™NŽ,®“Á@°VVœOß'ÄhÊdÓF 2²%hgP6n1D-Aá§qƒóc}Ì0ã´ø ¼Ùs'ÒO#†„=ŸŠ{O,>‡èÜEeÅ™¿ c¥4YY¡«%Åj3ùè,Çy蚆ÃnKs80tßüÕo¸ûî=ß} ý™x¬~ PA¯¡Ý)Ë‚UUÅ7½%/ º°Eú "d@4§>xù8Évߢ³‚'›ðüû©$y^`†1Ì®8©QEŠ¡mÈ,óŠ_üä§Ú#ûÍo¹¾ºdQÔ4]‡(CsôöÃò MUÌ6ã0ОZÚ>ÔÀÇæÄ±=1˜¤ÛšÙëÙwAZIÇ´@ÊÇ"[$fœ—FiE6™GI´r&z…û-˜aÚaOÄɨ„ÝP&ë6H&z6«d=›©Æ3ÝïgvO¬öj"a׉OTiM^Uè¢d÷Ši‡h£Í5Î t§_ÿÕo¸ûᎡ;á­ÃyI&Æ:´Œª7Y†4;Z„ÖdEHóVJ¬—J¢œ£k¬Î)/—|¸½çöþgOY]²®KÊ"g0&(é[‹%\0]X-ð:ø2#—Q˜°Þ¸¾yÂßý“_ð¯ÿüßòÍ7ßñ“O?c±X`…¥½?ðÝ»·<{þ‚ÓØ3¸hŽ ƒ:ŸÌ$Çý¾þ–Ïñs”ïm™—‘Ö/&öO×¶œº@‚mâîoˆfçÞGD¨å®i¶Û˜}"Ç!‚'…Š7yºñÅ{ˆCjüìò‘ø i˜÷ÒƒB g$QXÂ;"™„‡õ¡’¥Aœ/t‹B0 +µ>wiŸå­‰ëEϼu30/MË} R‰Ô:̩ʩ²i^ eáûŸÿ9‡ýžç77Üý/,/^¿<�=ƒKƒÔšÁzÆXSI!PY8N30˜‘ª®ñ^…ÀT–Ñ èLp±Ys{¼ãiuÍf±"Ó’,“ $ÂzÚ¡]0Ø ¬±ä*ܱÆx:Štá<ϯ_ò'?uüö»ßòÃÛ·|úékUÅ»ý;Ö7Wìú†ÎŽŒc¡ma_Šçw¿ù†7?ÿ£)³SXìhðÖ Õ¨¡Ñõ=]?Ðv ýÐãâœ0ܰj’§lû¿ÝÓiŽ8›¤®2HÓ(>î^Î.ÈŽÊY:<þ›B:³‚´xôÉo9Í´Ò'´#9ÀÏÓÚlR?IÖi &ætè4ìô"…8çYÇ'.U0ˆ»ÂD‘òQùúþG¤3azÜžð£Œg|8±ÛîÀ |ù¸zc=ÈLS-«@/7ÑBØÚpdË •ÃÍÍ ÇSÃh-«Bã;ÏÝ0‚ÊÁ †Ó‰Þ;24Rg«%£ól·êÍ¥4ftØ>” B r§£e^}òŠ¬Ê¸ýáßó;ʺÀ:ËÕÅ~øáeÉáxʆÈÕ¬ršfO³ÛQ®WX¬K†€lŒ5ÁMµïhÚ0¸vÖ†&(i Ö²=4X먫ç}Tâ9¢E'ÇûhÒ5Á¨ÎgTœ-øÅTʤXœ?¼×Îyï#ËÆ9—)cÍ?œD?´WÓQ—:ƒÔý¥ãmž²ÏÞ6RÏtíPüÏÇ*I*Bjœ|Ãoþò×üõ¿û „7l[Œ‡ÝéÀfuÅújÅ»o¿'Ë |ŠÙÌøè¥môéx /Ú „R”EM¡Ã@°iF ›ÍqêY¯.ÉW5ïúS€ cÐÆ"µ`’š‚ödh´Ãa1Œ†B 꺦mšÀdQž~ìƒ ôh¸\¬Y½ÎyÿîvÛ-*Ëøøá-Ï©=bíˆÁté@eh-3Ï¿úÿ‚—¯¾âøñŽŸüâ+(Txo£SjÛµ4]Cß%ªˆM–ƆžMÛao?Ò.<zd‰wª—3ŠlÖ€M¾Ð’˜$ÄyÈ<^ì?ÎlÌÐa–X~BaṈX$&ë ˜=ŸgúК€¸ŒSÛ„xœùI«)þ†$ÞQø°Æøö¯þ–ù¿ÿŸÜßß³šlÛ±÷Ã8P—K¶÷[tUÐÂKNÃÀBº¿—c{6ê¯×u˜Ô¶‡^2ôǶÅÇÕ²¦÷#· u’æØñúeI¥2„iºyU`Aj0¶§**ê²¢1d’}s$ /ÖûèfFƒ,uQ³Z]2<|ʰgìúžÝií£GFÌÔ¢¾ óŽÓîŽêfÃ÷ÞSKÉ×ó·¼úéç!8è“zΩ¥º0tVUW,΋`Hê`Q—,5›‹ yQNêÑMÑRäiH«åý#^Aò8Jh á#аaÁ;ðhŒma’Áò³P­±#‰ì qNª8K‚ ‘ ‘…›¼sTdû:ïñ“tŸÐ¤¢<`MŽŠ åÝÇ;Œq‘—«å’‡ÓÈ1òõ‚Á;zgY—o$].Π¤$Ï@ …ÈrÚæ„ï)YV+м¤kt¦ÙÞÞ"µdY/Ø>ܳ\ÔHKXcøàHvjŽÈª¢Œ@×!\8²¼Ç®,B1‘ ¼³x‚vgoE^³*ÚqÀ`97SèKîy‘Ó¶G|®ÑY7‚"ÏèÇž‡»;ž~ñ©4N„õW×utCáÛÁJÎåjêÎ…\\¬yýÉ+^>»™^&*Þ¤Úg±FN Aª€d ëS7–÷!¨¼!h­yÈàKF H§–ÒG}¨PÜé)hÄYÞKÒF©H +Ãs#ÊH%Wâ,„ÀÇ –˜´Â%á0-¶gðÈmFÊ¢ÂWŠñ XU+0wj±¯ÞøÀÆÑefK60s¤Rd.`IJ2c°I0ÎP«œuVá…¥Ú,Ù=ìh­ ëG¤ó }OU–a†§ a?Ú˲Dæ9fÁıHža§=µØø½xÉÐ F‚.26—¸í/—hç¹ÝÞ1š)E ¡Øß­çbs…r¢Ù-ê%ZeÑg(¬¾º¡ÂqÓp›éTQR4ª÷¬–¯_=çÍëW\¬WQ¼·år‚OJ>x/z|ô@:ƒ÷=ÊVn ÁåÀC·•gFÒ„¨TB¡x|ÄdjdH;î,[1æïÃ+ä¬çfˆ…'ýÝFŒÝ­\2Ûºªpn-)LNVçtCÏ>”3­>Ü©è< +f¼•ð …DŒ38r!9tÍ`ÈË*îÔ–a…Ñõ‡àû,³ã`UÖT‹5»¦Á™6ôKQyo„1TUšÖ‰˜õ=Î[u‘Q/kè5Ív)pvÄ{KR¢TR’æ°Cx‹³Eã,MÓд§(i”n|9)õ)­­Á:Ê2ãå‹g|ùù§<»¾žäÊDzBŒê2ŠÔÍYn"§8O¢×“:A?3!Sù8YÀáa)‡¡#PŠP+¤àœ:Æ”.}Àá„©B:CálcZ…h.¤f{É,f,ïÝ·HóÛ#7Z™+Œ“¬/6 ]ÞqU)¶åÀn»E )s½¹à´ º9¡X7X¬ ³'¥" [8º}e‰žíaÏåjE¡£µÔe€ìžÚ©5Œ†c;ðd½‚,BƒÊšSÓÒ÷#ƒmƒ+†ô8:gáθ(︎lp©µÖ‘Eðœs­2Œ÷xeQ ò,ê_…#5Á†»¾¥Í®ë'²ŒP<¡® #£ë« ¾üâS^¿zI]W@ x—œZ³ˆ™Ÿ1ö>"ÖÝ»(¹-æÝäTÇ“Hxï½w^ ï”ô.0¥µBê/õ²S8ðVk:cFsSþXQ/ 8M´.110ÏÃ0;™ÄÔð Õelƒ‚‹….xj)ùøþ–üòï-ÖÛF ­Yè /F”Xo±Š¢¤k[†¾B° g·?" >yqð߳Û6Á=B‚®*´ó´ÞÒKÅè,²’8á@ Œ3*2¼7dR ã)‹‚Þ†¾E«Œ,WVx8nOtmƒ”vR3ZƒŠ<âþ½3öX¥xúü>¼ÿEàÛ†®ëHÞ9 QN›8ŸÂyêªäõ'/øâÍk®.6>.•5çìóó.ðQ/KiL”âŒsOŸŠ®X:k@i­"2:vQf9Ù_œÍ,~ÌŠ†C‘½Ág"Njm4#O²ˆIÉ{Ó>d&9„R^¼yÎó7·ÜþÍïÈl›­«º;Ìý‘qô„2ÑÒµMQ²º¼ÀkEëFgÙï÷äyr •¤@£=øLÃØ ¬ ?µ”e‰ñãl Qy±–¿üíßruóš‹åiÇöˆ×'ZŠHoëû°ýWR“KM×  E–{^4Ά¬o¼Cç¢ípnÄ[ƒ¡4J€>x4ZÇ¢ ˜¯Ö8¤Êñ¦çÔ4›C(¼#ÿ8”JNÐ!2óÜ\_ñåçŸòâùÍÄDOjÍIºh{Ôù9¼Ò—³¡© (œž:aÊ0!$øˆ…Ÿë¡G‚ócÍgyê]ËûT±DL#†ÇtýDòx½°Ùá÷†ß#Ep\xöÙ%ÅÍ ! ê<§ÌsâèCã…äãþZñôjÅåzX¾XŒdeIUY¡ÕzÅ:¯È¥Æ!ÉëËKrE†¸ÂZI®+öMÇi4ȼÄX85'^=pFËnwär³a±¨‘RR!›z—ðüñ½ˆ7ÏétšÌú¡GkÅõÍÚ¡£w†ä¶*”dð6â´ ª¨ñ*¬ZRº8µ•.{H‘2Úö©(7à<«EÅgo>á³O^²\,¦ )ήá 1?  ³Î? ñxô¡®š\ÀâOH>M×Ia ª³µÊÈçCÓ4ðLÊ|Ñ_O*1Š‹jË ã3]k±QÅfÒjJi8žûõ²¦~VRÔ+°…`]/‘V«%—Ëš¥†Z ~úÅ'4ÇÍ©AÑ«ý IDATŽÒ âRÒ ½# ™—šž}×°¹X"ºU‘ÐétÆ YµBëçºnÀ:¸¼ÜDFQ˜óŒÆÐœš0fˆ¯aŒj~@ˆ¤t‘š®g Ö/£õQY/Ìóï-ƒ›ë‹5^ 2•E‚ï k™9“-"ËÉZ²\òüÙ5?ùì5×O®¦›|ºñZ&däàsD©žú$˜~š™Å(ö2hG Ÿ¡ &êô” Ïx{go;ÕO¹ UÐýôç {1?— ›éJÌ]Œ”gÏyÂô‹Š%ã`)Ë’5†íáÀ‹«+® Þ¿Ï7ý-ƒBa‡ëu–Qf9ÆY$ï Rý÷íþˆ×ká݇[LëÐ^1Œ÷‡dšmsâÉók®ê5ËñØÐœŽ<u…ćфT‘j•áúÙÞJ ëhÚ>¼Rã½Ä Œ£.kʲB´tÔËSÂ…›È8r$¹üî»o°^PHsfª«¦¥˜Lº:¾wp¹YñùëOxñüiÕÇ•ð3ëjšœOÐϲÖìölžÞ òŒ  ßxôÚaÀCPØÉK¼Ì¹ÛîèúW+Ü0Ҏܽÿ@]¯iËûÝŽ“鯕iVÕ’"+ùþí=·÷·8ëÁÄ£ªïiÚvjÑ Øo¦&$ƒéiLOc‡‹ÑŠÑ°–§› VYò‚nì#†Ê‘ér86ˆ×I¡¦Ísͳ›+~òùž?{J–é¨7uøÍÄÏÚ°³hšKžd¶5ÉBxþ÷pê%-Tž¡ ¸94Ïö€1K=:Ò~$Ø 3qãdzá )íY1ŽÓ,Ë'M9µÏþ„]×ÓÅÀ*­¥¼(¸l7ôö^bšïÛ†ÕzE®rJ]ðp¼Gfšõ“'·{5 òg²<{vÅñ°G:ͲZñ»û-‡»wTÛdÚÄe9WW5R~Æ ¾ûž¢ÎÃj¥¨ª*ÔƒC”+5Ko¬X Ïr)çд¬VÒ¹î"Ï0¦h£pTüê\€\¯— >ÿôŸ½ù„õz8†ñHAác M>ÈçYJÎ%ÐÜ°Í GJ ÇÓÿ+Z~ZxDç}@ˆ³Ç•ânžqÙ¸‹ ê¾ÉN6áÙ¥œ£8sáÑ‘˜OíqzܤßGûŽäR/¼úòË‹™(+B“©Ó9†ÞÐ[UÐ>8´ ^ ®+†ö„ò–2×è¼¢^]²¸¸¢³‚}×ñýÝŒ¼xþŠBçØ¡GzC¦ÖtŒCO¦2î85'Š¢ =è‡/IÂZ¥2[d®)ª"º×/AOÀô %¹?íÙÙ_f8š’!Fxʼ?r<Þ¡¼C+ÁnÿXá13„ Ik5(rÅ‹çOøò³7<{z=Ù½›ß q4­×ÎCt›3Øã„2 Ý5wS£ãÅ'ÉH©…PAëüHýñX!vÓŸÓq•ÒªŸIŒ —%epƒrÖ[š'üº<Ë'u¥â 5‹‘1ÜÅBûOÏòjIõ÷~Â×ÿÇ¿¤5/3²ªF1«¶ ™Âj]PEUâFém誤ëFÞî÷ˆ¼D{Á¡=±²kê\quYSçŠn0˜Á²Z.0.`ËtU²Ýí'”‡»È"gè¹Óã)‹’ÍrE¡-§n¤¨³iNäy`eBá­etçÇàtæ•ÏÎ!rÉv»Ç-žLÊ„VdþüØ‚ËõН>ÿ”7¯^²¨êPyvýøÏ“Ε}Ú¹ëGJ4ç“€éÿÒƒ¤)CJNaâ&>yÖÌÿãl•~>øýôâDÒl˜îùè<~TúP[‘˜é 9åç4ºµ¡sL󯔢.žmøòO¿ÂcY¬sTuS’qìÂîÍ„‚Ý÷ž"¼@º8ð’Ãqäã±e? $½‰m~ß³ªJœô´}K×µ(%ÈŠ™iÊeÍn·¥=¨‹’\眚 nÜ=* ÊÉ^Hu0p(!È”¢P9Šuµ@!Ð>¨ zgÂï‘gÎ)ŠbÁáxàx8ž‡ˆâ@0e”Õ¢æ‹Ï^ó“/>ãúêrBô¦Œ•E`f2)ŸÍ–"båG×| —HM/×\ÔûùS®½TB )|€ŸŸÿçü`Sæ:Ëfî,[…B5ƒ2íéç§ œƒ1ƒEQPž-=ÿPC2gÑó;F¢tÆÿêg\\¬È•g^ÐÛ蔡XÖ5ÞYöM^‘‹ôðдüúwßóñ°cß7X%C«œ«ËK®¯j”µèQÑ6§,ûÃmÛ°ØÔl–+®/žIÍép¤Z.QY :ÑÚÄ:¸?ñÞS>ê¼Ë,sÇ”ææùsÊL}Ͼ'ƒ Ø¢EŽuÓwdY³› w`U/øüÍk~ñ³ŸòúåKŠh_šýǯ“B gyÜ9[ù³”7õñ,=sVŸSsò´Sqh*@®Ùœ­ ™ª´ž¬ueš_Mù8áí+(ÏÁê·Åªæù'üûó—ä…âî° šª7‹zAµXqØßrÜX__Ñö íhÉV%åª@vé Usl:JíÈ´f¹\QèŒw÷דçÏqF£§T¿Zà¼äpliÚ·¡Ð¼|r…釀¢Ð§$u]`½£iG&$$ˆŒºXÑû´Â˜œC8‡0†<ϰ£Ã #™(É„b:T]èc¾\,øò‹OùGÿ—üüg_±Ù¬§5OÊhiLô{³'1ÄüW1NÞ÷^S•v²ù”t½“".ˆ³þýÀŠ™'.’AÌü2¥¢”xô„ÎXïCäÏÎõÙYý%¦¤ 3WqbT³UÔÇÊ”âÕg/¹¸Ú`Æ Ó#«p\wÛÛUU#µæîxdÛTyÅZ>‚ÈEð‡¹Z×ÔZr8X,—t]GQ机‘ûnd”9Æ+ú„,q(v‡clN4Ö@® –uFΠ\€GgÁO(Sš~hLޱmÊÔC½^EÅγµÌƒ˜ž Â%JÉ † %uUòÕO>ãŸþ£_ñwù žÝ\O™ÀA<7°œoÔ4Ò“ÞØãk)Sžg/ñûA% +¼§ã7Îlèé›™Epcl$¥·„0ñVê‘.¸ÖîÙÍ1ÕJ ~^„-¼x\`¦ßàÐaÉ› 0ÓD>u닚§Ï7t»Öë5 FohíˆCà†y¿»§F¼ÌPÖq}V«Ew#Yu‰°ávÛmw<_._oë'ì0°=½§¬VhQqlÁÈS:>î>PÖ¨œ®mÞD¡Á"«1ƒ§T9Î<#B;†í‘ºªè†#Û;ºÁ³ºzÆr¹aÛ~&ÜYÄö}ÛRé’ÅrÁhzŒ5eÎ_|Æ?ùG¿âW¿ün®Ÿ° s“÷Íù›?o3bqçï"¡LâBe:ål?S½æ2'ÕXS¶óIwÛ#R !ýTÈ!Ï.-i$:Þ$ðWEµŸÓk¨$Y¼Uá–>kQ«"˜3[YélºK¤HL`È´âå/¹ýá=+áèíÈÝwÁ]¾éZê¢Æ!ÃŒËYtVpµ\Q*ÉïnoùþýGÖUõ-'ïØžÔ^òÔ^Qç L-ùîwßp³¾ä¢Xp÷°ÃœT–±\.øíï¾æÃaËÕÍSäñÄOn^³^Ö{ƒE‘éŒÁ S§Ö8º¦£ª*Æa`wÜóáÃ-U]ǬŸQäÃèÈJé[°Žª*Ã1_ ž<Ëxùü¿úå/ø;¿øOo®'…ë„XˆkþzXÓÛÉÄùä<¯zT1ÈHטXgãƒ3öZé’:Þy…îÓŸ§›eeDi΃±t~?6Tœ1†Ç$Aº(À`Ï9ˆ(cåy°TËò<¾YçÍEÐãZ®l®¯hËÝÃŽº((•æÕËç,«½q8 w»-BIvÉD`K˜.Íñx`8¸yú ¡4M;ðþý«úã$ß¼»¥:ÖkÖyÎ~·ãØwH™a Ÿ\_R+#¿phiÛ–º¨¨ëŠÎ³Ýn‡w> ÿ†¬íú ¶âŒ§(ÔuƱùHa=²5tÚ³¹Ø°ØTìv¬×Kþè«/øÅÏ~³§×@ñ£zé<°RW-–Ç{1é[%Àæ£#/ƒ¨<"}œ—>ÅžGžw~SÕv–FÎOÈÄUZ=>ËÏàç¾6Ó3ÊY#f x•tßÿ`7è§Àªª’¼Vw¶ã„©sU—¼øò9ªÔ|€,çɳçÚ–ÆZZáɽ1ì÷ò²fsqɲ¬ùÙ_òüÉ5MëñFÒt-άË×4÷Ь (Öø¾!E0~Šó5;ò¢`sqÁ›/¿Àš¼.È®9ÑuMÈÒ/nøÙW_ðÉ«q&6ÝäQÒü“*5VIfóüóÑ÷'ôœµ&á–³ïV9`V …G`½ÀxS?o!gÒêd)Eª3õÔ &±ŠI¦•‹“ôIÅ7™5E¬÷ï‡TøRŠÉä(Ï2a.4ãºB=gëõŠ«W›0Î2ŒtM/ƒ±näÉú‚Ræhïš-‡öDß7°¬$¹ †‹õ’åbɯ¿û–CsäÙÍ5XƒÂS*E-ÂÁ¶9r³y‚÷p{سïGþêÛ÷|¸;PªœZi*µ ¦m9".k©² 7ô¬–‹0(Ö9BÚx„ç¼X]RÈ@.Õxˆè‘ËË _~ö)Ÿ¾ù„E]OWhîÒR~ÓHB*9‚¦=ã̸:—’Jßó(˜Î¿žý9• ±àGð£ÇN&1Ò)u¤¶ÿ,]¥_˜ if%Ï*e¬ùa’Ð|\¸¹nJvoâ,3>úaï˜çYPÌSȹèoðJ3ï›gW” 躆QÁ`FLßOZæm?ðîîý©G ‡#RŽä 4ž¢Ì‡†Â;\ç» a¶\_®\K;6¬/—(F>¾ý;4X;²;îÙ5òE…ÍDðUôšÞÂv9 ½3 CGæ ÷`Æ‘zUS”:Ëøp{KYrƒ÷ŽÓ®A8‰Xk¨ê‚Ï?}Í_|ÊÅåfº‰Ï§Û"Ôt¬Å,ÆÞMLoó£¢þ °Ô¤9„7? á Rˆèž2¶hËOåÕ¼€Œ2:‘Nÿø—…àUñ$žZÎÍmët»ÇRI2­'EeA X Ï©)P28,¬×+n^<¡¨4eD±ŠÓ~ 9އ¯ÍØ£•âåõ›zF0Žv9ô-Ïž]Q.}Dk‰Ð‚w?Ò÷–ýý–®ïÃú¦iùúÛopÆ`zË¢¨øìÙ vlØõGÞØ'ªõO¸1´ÊYŽSíh8G„“¹†qš_À~ìh…ChÅà Zå,ê%_}ù9úw~Î'/Ÿ“E³wv°Ìûܹk;ÿûY!=_Wq|©³OÇÛToe(ªBªøUOÝbØZ‚å Ñ„é (RDyb/§~O¤<«±9Ä”íüd‘2Ckn·iòB^ ¯ž½ Ëk–+Å·ß~ƒ–šÏ?û c ·û=m×¼Xß%mß"¼dU®íÀ¢ÊɬÀ[‰Âò¸7]ä4Ç#ËZS×5™Ì¹X.ñÒsê[жåó7¯¹}÷}ß EɯþÞßá?ùÇŸÏß¼¢®«É2.hˆÎ5©¤yTÌÏ6U¨žGÁw^˜Ï2FFu6¿zœ ÂÇãõ|v ˆ¶r‚ä ›‚J¤.§qü)]Jühó`òÓó÷S+«2„lUÚUÅW:ñÔb¶Ñž$ Ga‘¯—t´¦‘D‚dyÆjµäúúš»»Œß·háÁuH!0cÏ¡;âÇ’B‰£‹õš±í9ö”e‰R‚…³kO#Íív‡÷–¾i(kÊeÍÛw?ðÃûw<ÿô åPóö‡÷lOìOK -Y%µ*q¾`SÖÜÝL‡p:°ÀãÔœðxT®è­e´ ™å´CÔ‚ïÞ¿åÐ4HÕªà?ÿ/ÿS~öGŸ3Ï~˜“Î;pödæ97?·øÖ(©¨ªŠËË ^¾xÎíû|ýá=΀,*ÚÓ‰ã~‹×9jµÆKÉöáEµà²ÊèìH™É%¡c„Â~0Ÿ*â¹:â ^ŸÚÙ´OÔï”Á§Àé7­+V‹OŸ^óé§ŸpÚ¸ÿþw·ßqGœÉòœu™±ª$ûÞ‡»ò¼æî¸£h5Ò_r÷°ÅKI^ÔøîDï!+5Ã݉¯¿ý-‡nõ=o¿ÿ:ÌHg }Ñb†Ží‡;úqDË—tmÃ8Êr‰•–aì0C‹‰ê±iðÑ¢(jÚû{öû{¬µ,Êœÿì?ùÿÍû_ñÅoBÞwAJ As‚]\€…KåQr~ÿ¦ ùƒÁ%L?>–ŒYëQ=–>}œòÏ™&"Ä„ön”˜Æ¡›  %È â„;p Ï6y‚8*8+’Î3¯xŒÝ Âôz†!Ç'í}¤ —jéç§ýVòˆþq÷8·6!¸yžqq±á“O>ÁYÏë5—÷;ªå’åzÉåzɪZ’çǦáþíÂ+^;CßµT:§Þoéú–±ë©«5VHÔè¨êOPJ³¹Ðt}ô`½…2¯A·,75Ï ÖuÍzæoR+F›Kv§‚Á¤’\¬¸o¿(ògÊõŠÕrÍOþ9ÿÝÿ_s}s5­\aŸ¹$Î k‚"§kE¬µÓ(Ü{áÓÎY)E'ĸGÄ`x¼.AdLµUÄI%å6%åt$ù³c0ý²T]¥a§Ît˜¸ŸFSÒš^ôÜzÎ^ÈÙ¾êqÎ&®*+®®.Æ1ÀG´æúæ)Ïž=eµÙ•E @8È QS=h£w´§†Óñ@×4r&þiíÄé€Xãô}Çqäp<`#Ïj®Ÿ^S×™¨´ÕH¯lº‘ÿŒÃšrð\Ï^Üp}syvJÄü;ë„Þ5Ñ¢/E&D(yb˜ß±¹Žyq?…ûY·òî/qÆÓ:û?™a¨º\-¹†ðæ{‚C|Q„³(‚ Ú9ÕGº¦¡9-éÚ.€å|ìLèqïB`í[ª‡Œ~Ȳœ¢””•¦,Šøšç%½œÁ,T'#öü ¢ýãú(¤a.”‚,‹A>Dó«`´Dç`ùÑ»ù8ë< °óÀs§wž±äã ΀i`Ú1àždšÅÈtì¢idXE¹G¯E&ú”w“Y¥Vó&"ÌÚ‚Jô0)äÅ‹£Î.É=•ÐLôYf‚ß;Φ¿É¨-J([¬±gÿ;?^xIrÊx3Ïãçõèø‹yTÂ[pŒGOoï¼mwfh›coÆ[ãÅý—¿½û×Ï7²x±‘nSË/˼¿Rn(…ï¥p=>Û€ªÿ¿ö¾¬¹m,Kóœ €–·ª¨î鉉îꙎ˜™è‡Žž·éß>v:«²*+WÉ›,[ )[–D‚X€Øï>À.(gv¹*Ý™ÎìãdPI‘ |÷,ßY.j¼nÏhaCÂÈÒÛM÷ý†J‚Ò«MsEGÄvctÚGÊaÎø+×TAh½£êº?¾+$¼ÕÏ·’ dçCµž Jˆa(¯ÓWX˜iÀ0¤­f“V)‰ˆ¤P¦½­2ž>/×17£fÛ}ϘþêÎuhJ‘ÝüRg`²ÍU`o­¬G‰ÒëKÄ{è¾^Ž€HtgÖŒ¶K`Èwh,Äá3&úë¼›ž]—­^ÐD«ÚW¢›2Ïâ8-æaÖü)oÄSç¿ý—_çeUœÓR¢EP„9s@z¨9AÅ$-%êq÷” UÖ*éW7ç ã 4€7ÛƒÛwî­۷{3d©'±Ë."ÕhK!Ïs(Ë!pÿþ=¸w÷N]Ž…dXyÐkDLÄ_4£”¤„nC"mVÂx.; 9³|ìà¢Û›gth¡wz3wËÚþe, v-‚Ø*7š?ÉpCÍBšFÛ'ê?3ÉÝ"N5–U3ŽöÜ©^°_³uèó.+#e È‹^K…JT+Öæ«$٬Ϯüø‹çñÃýãèó§§Ñ™Ã…h¢$O²¼ö놭¸!À=G;.Š*ꢤDK Õ°°§©­U7Í·ßó™nݾ {wïµØÕÐÃÖw¶¦RJ¥ò¼ès{¿ºwîß»;p[ö “ÝÕ¯2Òºßhò 6!Öÿlþ–!©ÐGã)÷Á‹ÙXJ«q³…~Vq˜Íºíò†iy®Ûv&[¹ Ô¡ÒÀöÆ3€ÜÖ2X̳9&Z• pvžÑbÖÍÏCÓ‚Ô@µ€¢Ô@SÀ6T²òy“/ól³¼Xù«ƒÅEðɳ³ðÑþ«ààéituò6)u”ëºa"Îêr³m¢¼f¾: ”Ñà p‰fjN@ %±c¿êaÓÉÑ€™qFÝΨºÛîî]¸}çΰ٥!T¶0вøtèŠ0Ê (r(Ë vÃ@îß»;ì…8ôºí˜ ˜æ6­ö µÀÚtè¨,L èwÉ„ìz,MÖ`oïvçÀ÷Üݰ÷µ;fŒ/Il-‚Ó…‚½ÖIHËtM"ç }Y²ù¾¡<Ù™ð†?˜?mL+4ÒtihÖ’WëºÌ|ß_/ŸŸ½¾úýóÓ僃WþWONÃùñE’>?‹išSí¬¢B¯¢Bl²:“ºÝd4ÞlÛ·ÿûüfþÿõÞÿýÛ_ßù?wo³òfü7è°[D¶D“»ñÙÄtÃG\a¶w f{·ÀyÃ(ïa¦“¾šÕØ]íÞ‰ím¾ÝT1î¬:®jÓäŠÖ?@×!@ú³É®V0~Np6h!×ìjÖßlÀŽàU@€ E…… ŽF™Ínç1P , ÒGÄ™hWÒSÝœŽîoüEÛ°D[AñËm­&³¸p¤ì4U*c/˜ÁêjÝi)Åe Èr­iªM”¤[JÛ<)Šík?Lž¾ öÁÑÙÛäê:Èó(kÄ:®‡“wí“_†¥^†%-¶‰²ºº ¶áÿúíoÎÿéïuò÷«ûÛ_³¹s—ÿÖóØ}$‹p‡ ÞíÜAtoèv²ð<Àlof·zþÊq†k`þ@.ÃñØ|¤Î‡ð¼®<ÙšbÉp´Öc,€Úr<û½}—±Ñ‰0βê”H)‡V;-&•¥»ÅH,ÊAö¥D®7ë6Ó”Ý7˜;ÇÒ€;7—ôè2çdGˆº‡ê¾ Åü?ƒÊ3ÚzgQܤŒ–}Ñq¤žµ”¬4² 4M”l6¼­’¼,¶Wqš]Ùþüróìå"|sò&Nü¨ Ë¨º±œw­Ž8môâ*å”É:Îê8Í[¿ª™ªºf:ÈIDATϤÜÔÚu”ç ðP1GP°s†ÑD-Hœn׃½=¸uk¯ÓX–_1D”Æš:°^›Aï„rΡî÷Ý3E}wïÞÙÐá3õUlÐÚŽh7³Ë±´Æ¨µ±Û¯ÆdlgF¼+|øž>@x¿|7 € Þ·nuÍ ¦Z`böpl_Ÿ”¦XšÜÔ’ÝÜýØ-qLäøýãÎ9'Z* È ,¤‘VM(hTÛ4¼^­Ã§‹·Á§‡gë‡_­¾yz²~}ü&Îç/jþ.½XF‚M¥ª†ó8«‹xÛ„yÅVBªÐ!ºvˆÒ%š{¨$A-õ°;vIängw6멳ƒk/C4c& ê¸.Î94u ŒÑ.×wÿ>Ü»sg™†GvxsÓŒÊÇḣ_ƒF+gº1º±t²#ƒÒ`ÚÛñdýö·„€7ó:ǽßlr÷æ›EAzgÚþ[O4]/5òL6E0:â¸ó{ öõé®.ш¢€¢ÔÈRkhc%š°)ó0XÁ˳7«?ž­¼Zýéɱr´ˆâ׫Œ^,·“Ñ »â~ß/VQ©WQÉ7Y›†ISo²&ÚdõÅÿüíßœüýßÝÿ·¿¹ï_ïÜfÿÝÓìW¨©G4%Ú¹§Ñ»‡p‰—èa|Òp£:“¥Ç >ÑÐÕØwް;DV³Y·O³ÝÈ öóSWµß½88ò½Æ2ÇÔ†ÊÀöËvÜ…ãà“.³à fu2rÓö‰†×HMlgÜzüË ÇaÇv!¬ßÙ¦p4{ÆäusÙ;ú ÒÀsÐ,S’mm¶Û<ÏÞúáæðôÍúÛ—óàðìm|qäÛ(­™•ß•$™È÷j,[ŠŠÁ**ªIóv³-©_Õ|Ÿ̴V‚ ôJhîÍ Õíæ:à¸vŒ;™^äB×#¬ Ó™ ´ívxyÜ»wnßÞë‰ÍíWÐô8Ú7ÈV?#©ÑÝÛ® Ðíy !b5bWl˜h¡óÛºq˜j¬Aw þ­[Câ}(ßvlsLž‰©ÆÀ€VÔ7) î¯ÑN$ySc™ë µT@t>Ð @)ÕD¼-ã<Ë¢·«uôx~ÞP2y¿6¾ŒŻ̌É6È>ÊTRõæµO4÷Åfí K«‹Xþ“ ®aD9}±Õ0î°æ`ø¨em ±Z‚ª—JTmÊÍ&Û&§W~ü§sÿá·/.?;x¹<:š¯ƒ7Ë´¹XfßëG}ŸüÅÀ(kaRɦåMV´iÕ0Ÿq±‚' s@8.3…C´Dì·Ÿ£³ÌÍßõ/ °úæ )»œf³=¸µ7¶çj÷<Ž.„Ñ—½÷îûŒY´ß4«Ý÷hË/³5–Ѫ Í°Þ‘¶v’%}»œÊ1-s; šFmcŠªk^èØp™sµÞ3^CèK4;³×i©XC½¨®”¬—¼-Âl›'oü(ýf~òütýèàèúÉÓSÿjñ6.—É{™½wÉ_,#EÅô**8ã²ÞM¼-é²nÙZJQ8Dª™#]…G@8 M4ˆ½£Ë4ÎGw“m8ï˜|×ó^Ì\ài›?8€ ²vÄÛŒHè!M¥o~ÜÖ0N6‡¥ØþQ¿¿•/4<ÙÑäÙhãwh+Û|Ú´D7W¯á% Í4´@}­¡º¢ö«2—ë(y6¿J~w8>y|¼þúɉÿúøMœžì/1{ï’XF6ÛFU­`ɶÉ7y–5ó¥R¡K v…Nï¡æ‚D“’Uº3•¹éCã€R݈É~o=ssÆÆÉÈ:·‰æ²eˆê_Ö½<ì4)Ò±#;¾gßè ÛçЕ s©ËŸ›fY µÔÔqŸš½Ž:@Ee „¥Û°Yi]-•,WM[aš%ÇWëôGç›û¯ÂÏŽÃã£E½YeíÅêûéƒ÷•Xeà LkÕ´œf%ͪ†ûLÈ•T2vˆb.‘Äæ¡b.hAP+Ë&`+Ç0}ÜýBë.ÚòúáfÄs…dS ÖyÑ·^™˜ó»ÝÒ´ek‹î³f©20ßH‚ëzýy÷5iCªå¦_ù·cïhkæÑ1',lCͰY)U¯y[†é6~˜|½¸J<_l~wp=z¯WÛrqÉò;HοF~p`)j¦WQ)¸PuV´›²æ¾Prå¹u+Ìu4›ÍT‚@O®övLúÑ£Ä>½3×ó¬HnºŠ§ Ij®LœßÝìÀ¤ ,¿fê0å+ƒFÓ¨kJ³MûÛ0êú»€eS7L½Ô¼wÌS4l|ÀÖ×@!šMY–éå:LŸ]ÆÑ'OãoŸœn.Ž/²íábË¿Òú>ù`À2gn(çYÙ–UÃ"ÊøJhÉ+ÔLEgDS(æ –hiD$ݰTËÑ%}#«}ƒì¶¥©šŸŒ)œk‡§Ú刬cØZëG„8”¦˜?MQ§ük†Èyî@oÜÐXø0MN(€ªÂs@kl€Æ×ÐR¶›¦©²u–/.ƒì³çñƒý—ÁÇÑéÑëdóÕ‹€ÆÛöñ£¾O>8°zr5,’¦y»ÍŠ6(º¢ŒÇJ²u‹0óˆt7q‰ƒ°úšqb—‚¸£I!ÄÎÍïŸpC;¾×ð{‹°ÜÕ`Uóìh+»=Ê‚©mw\·Ë Éó¾Rñ@|ãxÖ¹¢‰FGÇyH7M ±Y´k%Û˜¶u–l·ùÙ*Ê¿˜_¥çñgû/ƒÏNÃõâ*k×ùêG}Ÿü‡ËHœ6°¸Ê$岉Ó:MóÆ¯švÉK„ðˆpäá(DÛ±'š:#ÃM­CDgG‚¶ÿtó†™wØôÁ®62ÇÒAF-³ÃÁíšFךxH°Û¥‹ôU7ŽeÎqü^œœ€mÐÑ­¯Tñ¶N·Û|{áGÙ·óËÍ'‡óèÑããðñÓ“àêøbSÎcñ]Éâ%ÿ¡À2lj=¿Ì8å¢Údͦ¨èJH¹v;(5æÍg¨¥¦°†tÌæs¦,;{#¼ Ý0+¶—ok‡]²Fª l¾Ã$Â*ıà΀ß0b“ÔŽ4˜cCéÁéÕ€<B#Ð,µn×R´IU•Ûå:Ê:úà,üäñqðÕã“ðüåyœ~ù|Eã¬ùàfï]ò£ËH°©UÓr–•,/[R.VBˆP)Q£æˆŠ{Dqhát×ÝBº ¥†’ÛG©†š˜;ýak¬Ó8 FRÕ¼q`øv´ ÙùyÌæX©t­¦ Pª+¶% KÐH¶k ÍZÉ&nÛ&‹²m~|µÎ>?ZD¾=ZÿñàUðòÅ"ß\oÛóë–>x_ùQW–a)¹PmZÐ,+[¿lèŠ1¶Q’q¢©C4÷\®ƒ€Höd!é ˜(p×<9´©ƒ>¡N-Gz"¶Æ2¾×;Lì  Ó/ýqÿk¨=ïõ«¡4" À6Ò¬4¶> ”j7¼­³,Ë·ç«(ÿz~™=|>>Ý<{z-WY¹¸Ú~úà}åG–‘8môâ2”É:N›Mš7«ªn}ÎYN+—H×%Ò# \‰þ† ìh¢µÌÀ1›ÍœøQ‹ Žù¤0¶…éQî€ó»|¸÷šJŒa&þPl€¨º‚;Yá[4Ò®;ú€ÅB°¼,«âÊßäOæ—Ù£ÃyüðñIôÍÓÓøâø"ÙÎ7¼¨~|@ùÉËH°©tÕ0¾Éê2ÞÖaQÓ•P"pY¹(€w‰fyÕC‹$Àè\ LÌ”Ua1øe––š:î¶ï6>£ýóDC‘àÚ5Íf ₲ÊYP@h¢‘†@h †J²´nÛ"ÈŠêè2,þðâ|ópÿUð§ýãðôè|¿^æôÂ/~T³÷.ùÉ  ¨›J5 §YÑlˆ­)çK.Y¬dÛ l ªvF@¸ªŸ?Òß¾lÄÐ7´ˆåÉ­5Fz½iµx±I³Ç.L´ìD•`ƒËΉöf(Dö¾‹:¢“†J¶Ö6y’Å™_œ]eŸÏ7¿?x>= ýó«¬^\oUÙüt´”-?I`É+˰\È:ÍÛ4+j¿ªŸÑ&S’ î:(=¤Kºä6v "€Ã\Õï6S“£³=F›VÿݤÏh²þÃ63Þk-€ÁT[à3Õ@4"@¾ÕH# mÈ"¥è†·Mšgyv± ³ƒÅeòèp=z|<= /ß$ùA¼¯ü¤e$Nk½¸L8e¢ŠÓ2NójUÕíšsVàîºÀgÒ›Çþ?‚ˆ&À1h, X“ ‚Á?3Ÿý,°Ž9Zög¾›×ÐÝÙ9žjB#@h`‘4­ËjëûQzxö6þýó³ðÁããõWON‚ùÑ"N¿|îÿhôÁûÊG,#}s‹Ò*³:,ªÆ’EŠÚŠŽf]õHÍ~¡Ø{:&гý¦A〄¿Óˆƒƒ}SÛ 6Ög`ç1bXÑ ˆ¬€ðŚЀEJ¶ m›mœnó“Ëuúùá´|´À2§•nZƳ¼)ʦ ¥+ΛPó¦BÕQ­G4÷ÈŽ®ì§’½[Y>Õ`2mwj M·S]ÑéCÙk¨Ë4²¨KǰX)–4m“i¶}yåoþxx<øöÅòóý—]ÏÞ›åößíÙû䣀©ž(ç’¦Û&Ëòj]ÕÍ’±&FͨG˜ã€0äêÐâØácZa`è]ŽkWsíšODèºÁëªÚ¤+º£k@)Å6Œ6išmÓù*L¿:{=|zünÿhùìéIà/.“ª3{¯–²åg,#Ýh€LPÆ›x['EEWRŠ•ƒjë D‹¾s›;Ø•çt€è(‚ÁÉŸ8û“è®û‹&í¥›{¢ ™†&€®ú`¥trÙ&yUe—~”œ½=?YrðÊßr¼¾xõ:ÎÏ"ñ1›½wÉÏ XF‚¤ÑóËŒ+¥«ªáQËÅJp¶V’U¨MdãÙz¨„ÓuuE…ˆ†¦Y÷]¡õŒ •”4+ÚXCíÔ+­_Ê&®Û:]§ÛìÅ¥ŸüþÅCP@¶€¼ è6ÖP k_ÉzÍimó ΓèͪhÏW?½êƒ-¿8`57Õ«mV4YÙÐ5ãlÉ9‹µduºÒœÖ%²&À¶ˆm Іm= 8mó4/‹s³ýjq½yø|~zp<{vö={¹ü©V|hùEËÈP=ÁeæÍ&+êUU5+Æ›-Q­ò u]UΑ9ÈlŠ&¢m‹r[—~œ?>¿N½X„Ÿ<9ö¿}v\¿I¶‡óø;'ÝýRä ,#qZëªáy{zxo}GâyÀ±[ÊÍÈAˆ™Ï‚4Lù–ˆÒ8n·H£$(/qq:–M¶¥9rSbj¢*QÈÕå…eØš¦iº•d£Šà,ËaŽÿ;ÄåF{ÍéqëÍæô]– ‡Ò,ï9«ód† 8Î4ÌfCGÏ£BU5޾6”†ÜP¤kýûE‘û¾Ÿ3C]Zë÷‹¢8=:ÆeÕê´%I65—2,ûÙó¯p™C–Õt½ÂEšå’ª’`uÌñéyI°ª±?EÉrÌ–ãÜŒN·ÕYéá´èo­v–zG¯^¼ü= ,'7”8N©ÈÞ£M\VšaD³`âzº¡Ça‚C<‹<†©A!Ð:ŸŽ&¶nõ–WUɳ’o Ðã0^,"?ŽÆóëñŸCí¥öìÓçeÐýe@ïzá<Îif”apVTuE_æ9°Hññ«#EW‘€YtÚ$I¦7@àýÇûÏ¿9>|söz¹½öøÃ'ìçŸ|=œ»î¸®I’$Ó‰;=H‘ÚTMÅ\é¯R „íö„à¿~;=?±4gãá&dáðjèyîàfÔ¶»”¡WÃËÓ‹ȱŽn¡Éxìz^×nµ{½hͦ~äæ®›­–Ô” „UžK–ÒUÖ‘€^üs¯¿½/~TTó¼Æ µië6Çq€€{«ë–n=ØÜ-˦}§š”2<ûø‹»¤Çy…,Çn¸Í[kúÞ<˜[·ï’ãŽûԜ»ÞÛÃ\’»¥gÑÙÙI^'·ÖD¶¸³·WTå]Òi‰d©a™ö­5%í®÷‡WwIŸ²)j;º&·Ö¬)„y³à.éEQdøæG:¹µfš,®×P`1^Üš^DöÛ/¿“dY„ ׌KÏ»¹™Œ’EưÌp<¼\+ªðîÝ‘Úh.¯:†¡–.‰"ÏsMU!UÇyû±,‹xŽý¤OS ·)óIEND®B`‚pioneers-15.5/client/gtk/data/themes/Tiny/grain-lorindol.png0000644000175000017500000006104207771100213021024 00000000000000‰PNG  IHDR–¯t'‡bKGDÿÿÿ ½§“ pHYs¾¾‘ºŽ~tIMEÓ º¡ IDATxœì½yœdWYðÿ=ç.ukéêêžž}2K¶ÉY „=¬Ê|Ey0 »!@~¼üT$àË"Š"&"ËY‚Œ$1"dÏLÈLf2ûÒÓkuuÕ­»œóûãÜ[uëö­î‰, êóùÔ§¶{Ï=ËsžýyŽà`EP·½ätýW1×­>,/½þëwŸé î<’AÝý²'Wq:‚ aƒcÇ~­<ïsî>>Rá«Ô½¯Þ„òßI¨^ƒc[>Ä-P8uhãÈ«ÐÑŸÉó¿Ôz¸ûüHƒÿA¬ ¨;^QÁ¶ßêÿ Õj¬⠚`­µ.¥\ ì£èè­ò¼¿þÛ‡»ÿ$øÄJ@ÝóªgQªü)að(TÝXSà6¥ãhQ…Òt´ b\×P0aß ê­òÜOÞöpå‘ÿíKÝ÷–­Xêjt𿀄åCtî†B{A·í=æá‚𠪡»c ¶‚3¥Ät±å'ÐêrûÇŽ=|£zøá¿-b©]W”ÞÐш›eü9а¡î‡Pª›‹»m´ß·¿€µ@¸â5€»¥Ú1bùÄíÉs?üôG÷ðÃ;ÄR÷½J ½ËpÜßǶ×Óš僞BèÛ@µ¡ µ¹^ÐÝäfw°-Q²Á>­7â ä:C½*ë ôocaê÷8qìå¥ßÖ?Õ>Ìðß ±ÔÎWœö>[y¸-.Bí€èA$wÅæ%̅µ­ÖoCׯnXd,LÝÊüÌ«äs¾}ßOv„øoXêžË&@¾¼aM¯uF›†º¨v‚-yr¥ €®]hXã p&Àª@sºÁ'Xh½Sþ¯[¦~Ã|DÁiÄRw\&±åÿê* NÜå#¬; €£Ðr„Ñ'‚n€Žç råkDK‹R­6‚½Îh‹¾‘¿dBÙtÔ¤½— øùìR?±Á?Ìð_±ÔÞ+aðtÂèÓÄí-D ¬„µ¼y@‚5‘g4<Õ‚nö8(7MC.}ê•…²f§w¶Oƒh´ItÅ<uat¥|µßþqÿ‘ÿåKí~Ë6dôGíF΀܇pB¥ Ýd tºm„ô ¥8P=ÁÌÔèS°<¢åz¿až£@¢ÓÀÙ  žƒŽm ¬¥€BÈÏ23õù´|ð'0ü—A,õàÛêļý­ âcˆòƒPnöaƒ¬*¥´VËS¥¼¼µœñ E<DZƒ(I´sv⊠ra± á8ˆ ƒ`ÂŽi·ù©käÏ_ßüñÌÈà ?óˆ¥v¾L`7^ |¬'nBë8“ˆrÍR?qO ÚIÄœ,Âd¤÷_泚ÖÑð{³Ï.`£+Áš­@ÕavT J TˆûÑÑoFß•ùëŸióÄÏ4b©{.»ø¿û¹Æ¸Ù}7š52”°J²Dpr”(/Kåú‰Vj+sŸ(×Ñö–¾¿Û‚¶q–¡j–ÿï’~æg6zâg±Ô]/ÙˆVï ¶_­JD-pv!äQ°[}ã¦U7B¹ »jšd$Oq†A‘¦XtÍ2 „42ž£@V@ØÆ(è6@o6Ë.2¸ ø¨¼àË‹+<õ?Sˆ¥îz­‡òý¿èh-áXÇÎa¨*PM#3Bº¤˜¤UP,tË|F}V¢J'‹¤$l²äÒ Y4aŒ^\kÜÔÀq÷oêü½¼à/~fÌ?3ˆ¥v¿åéøÍ?!h_ˆž=‰(ÍBÙkÆìøD«Cx€B+ßܼ‚&7ËiErW‚-÷,7¡¤~ ­•A.À6¬;ª ­UЖЭ‘U×û6Nã­òì?»{™Þ?bàXêÎWm¤ì^ò—ñg ³áLBðŽš‹ƒT6-cÜNå¢Zî·ô=DÙ÷DhCÛE¶ïÍ·5Œõ’¸ƒ@xhåI®EmŸÚ0î:(/Ÿ ÕüCùØ/NàÃXÄRw¼ÂA¸ïÇæhUƒèB”î¯@dL š†Ø¾±ž«\Pgžº¬@qœ=$T¶}@,SãÎ%×eî@Ì™K,‚®f¾ lgÂó@6ÐrÚh=öf°j ì#¨à÷éÊËÇ}&>© ý)Ã#±ÔŽ×Kdðót‚O‘„ ìýFà-¯kÁP¦nÛØ†´¤â‡y0r¦YhìXZ„mª,…ê*sMCçÔ·DZ˜pÇ T…¹ýPž€¸•‰eR€°¢”ØÑºIôÄ–Ü3Qx C}ãQÃê;6Dãà&."øB^)/üÜ÷Nv~ZðˆB,µóg¢£O¡ÕSñç€Bì‚rä1(¹ ÇÑÑ Ñ~'Å‹”ÓâÂÈ „móŸ•=ÿxãà/ÀÂ<¬>5×V†ú(aÇ ZÑs†j†Éï¢dBqDÚé·Ÿý.D"s¡Ì†²&Ðâ ð]èLÚv \bùEtôfyáç1ÎíGb©Þ¾Š ýndp9A[Ò=L!ìƒPžt7tå¸ayª‰îäŒÔ÷Ɗ‹½œÏüÌ»ä¥×ÿT£'~jˆ¥ö`K¾ ­Þ¬DpÌ8‹Kmñö|—ÜÐJX`ªåõ';¯ž÷`ˆË¥‡XE²N–Ú¬ä\–³¸ NF`ÏC^ËÛÓòÏÉð\°ÆÑ­Õ@j[øªK·ýé4¯–ÏüZ{åÁüèðG,u𽽘NûƒÄ­-mÃöd FDyÞÈQ~“|,”(Iããi_ˆT†YŽr‰ÙaÖFoʬRnÅ,è±!ƒÊG;%\ôŒ© *BaH›wn“h‰AµêKö:Œ›H¯A«MôDùÔT{¼—0x¥ú·äYú‰FOüDKí¿êB¤ûü™N¶'æ•ÃàM6X«¡½ý0”,¤œ—™ò×ÀR¤Ë_SäË[ÎPZË|.ÒäÄà"+•Qsmwg3¦‰¢þ=+ûœE‰®ªÜo 4߉e¿äGwN1±_#ã†EÚõO€|¿<õ½ù ÁO±Ôƒo_‡²½†î\…î1“c0®ì0l ÎÖŠä 䡈õPàä”´$®‹³z”)sm£^yÍ‘$þ ‰‰HÌ5A‚át¡s Ï>²Úƒr¦!Ù$Ë®’`’Tfé¹a G)œrfQW¦ó‹¾’9âdÚÊ^;̈›o ¬èžªYD¥“ç é=Žî®2ˆ¯1& [îõvyæŸ_·Ìh2üØKíù§ Ú"n]Lgü–‘£j>”#D¸ÇP)á+¡ëCKA Í„D.ø>”l@­/;QCBRÄ,ÆMS‰Œ›¦ÁÒ…† Þ…p/Gù2)¨˹ë‚! bk §(ùï=C"=¶(J@K‚[<š¿÷!BO&)¢Xl«¹‹76­Ìý±³Spð8Ü|7|wO•—=¯Ì ßì°yK›§]¬Ù¸jU-CVÙÜ»Ä,³Ì<¤ãìQ$k<ñÁÚ ‡in’ÓÌEhÿc¸œ3ÍîPHoÔ‰å‡äö? —>1×Îrª^é ü—€ü¬h£ñßù ƒ¤JËÈ)„=ÛsÅhn%% Ä~± 9@EŠ:™ ÉnF½vAD‰Ïp9»ÖJP„TÉýÊÏ Gf,Pà&Jÿ[A« C81 ÷L•yàøÞ]’Ïä"~ýŠZð‚sÙ~¬Ñ±“–Àr}*4âF®ÉRJ#C¼qch\„³`‚%ýÃ.3j-¶™Ì¡R=AJû~´z-BÞ"ÏùØPùKý¨v_%Ôýo*¸äç@m4I–>””íx*u„Ó1;"Ðjn逓AK9©J¤éæK!™¤"•ÒwibĵB„6B$nšìsSän1ˆ<ùW¶Ÿ.†&n!YÏ|¯1;zÀ©£|*;ÕÃäE‚É·ì’xb¹‘Ð/‚{TøÐWªLµL0Gj]_˜4÷-6!<1äy¤˜/™G¢=ˆø0Z¬6s_Þ„. ûzti !î@ˆïÂÂø ìí nBØ_U;ߘ‡ìÁÄR»¯ÜJÜú$*¸!Ÿhü”[0V1@)m‚ì´<â)ÐÝãÃ'5ÍF¡= £è.h¿µ”ÊeÛpI’ l²!3ZGÉ‹¥Ù6ŠL®‘uò¿õ=í«‘½¢%òIdáVí·/¥Ñþ\¡j ^ó›_àÒÇ;ìk ÆG'fLJdJAܪÙ×Þ¸‰Á5qøi"Ò’g¥º…ÿiÕ„Å; >ñ¤qÿa5z²ž¹^A”o…ð{ÆÏ«"Ðêöuï[þ@í~ËÈ’yH?¨ÞVR÷]ñv¢h':z52[BÕ†J`O™*:ÑD|"º ÝõˆRê´-,S¶¡«Ñ  ›g% eJ_}j’Ä‹'퉰ßv! ]N+$GYŠ À\¡u²Ð­Ì5Éç¡‚vVÐOúmÛ±žxŠÍS.r¸æòçðÜü #eµ¨˜™7U⤟¥1à ½y–2ç›Ì?7tÑ à?Ýe@®ÒÝ­´ß4HèzPÞŒsïœ^­„³!o…`’¤$”‡Œ~‹0Ú£î¹â¥ê·õôY v¿å—QÁ;‰Ô…Æh)ÁÂ$ZÈ6¨Ps¦Ðk¼ˆú‘E™NfŠŒ•™ï†2%©PØhô¶Ñr²†É•L ?.Èó ÓÊVøO)cf¸k/|ú«ë4—”nÛÛàKKEœ1ÞæE?¯9í¨”ûÀxš{+rÞ§ÏͯGÑú¤rchƒš€*h1 ²aȺ·|:ÇŒ¬Ö]‡î>Öä;zõþ†w쀷É3ÿüv©v¿åC„ѵÄ\@¹NÛ°>ûØ{M"ƒu aFÄ{ÐÝ$e}Ø`òjyö÷¢æÀL”êÝ`b±T’[3¬­•LËAþÞ¼X´¡†mªÜBj£KàÍ n;‘à¿}÷SpbØ=]erÚ>Äq®ÍŒéb(R%×ùG •LeÑ^ûפ}B¸Pnƒj!Ôq„5iJÛ -W÷í'ÑBÜ þ½Fø·”QÞÂàéDê6õ/»Ú¦ã?ÛÂxjsˆø; ;ÐBwSÄÙ7# c=Ãì<ËP5±hö˜\§Óô­% ?¤ÜPþùÙ;ì>¯ïiC®€ qh¾—ƒarZ)ì2”-8gb‘‡Gùìkm¾|Ëi|uÿNîÆ²ÀŠ5“3’ù–¢R™FHdçv9jD‚P'€ºD·#6b £%Vûó)„k*ZÊØ¹BiÜH¡ î1`“¹Pµ’ø²˜1íMàHÃ6µ‚(‚ x³4ª‡g’åÊÈ&t¢ã#ènB1º‘ùÜ¢/_ä!·›–h^ùÉO5>g2žy™Ý9äÙEϧ/Ÿ0ÀLîÚeÚæ–cˆ,lcE, •hê ªñ«Ÿöyñs|œHsý [ñð-8|ÂáÆï{ÌÏ@$‹ýX8þ4KæWÌ3 f%ℇ¾w„Å©èý£´öC¼ ½×5ÄqqáCT1H!J¢å*´½ Jk@Ô ²y§¢kO5>Æì\‹Ûaa¨Àä:Æ& Øz÷ol%Þš­Tš`w@ïC„Gûô7ÀÈ[qòJ¾÷Hköšô»›\›‡táÓv2íBÚNœùn±´mki;–Ñv® 3­ˆ&œr 1¯‘ƒ°m„!„D„Ú¼·ª·ŽP.© Ô"ZDØ‚î”Fi°­þóìò9SÅÏeÉüh A1?Ü_¡b)¾þY:<¸ë(§Uà…¿x>7<°ŠÆhÀÄh‡º«qð;0²&qûÄÀƒ ´8¡ÐGDÛ&hF0Ñí„ĪIÐé2²ÎB:MÚ'ºÄ ]œ‰qô\ á·Á™Ðmt×ETB/2I r„ˆø°‰LIÇYé è‚u¦Ñã€èÈ>lÚs0ú„ s‰fÌL £4 Yk"V ™%ÅC4±ÂïUÖIËxúSù nXåÄmr\mãÏ6°DLÙšæ†ï:fžÈÏC`ÄÛ‚z6Œ .û%Å—¾ï}m™ÿ¹Ã×Úpº§=Ãìôanž©pÖ„`C*žA*zI¯áp*T@­æ˜<ÎCã¸è¢kÔ› m¬ 0F5m´º^)¡\p^¹‚ÈÑ•d713“t¢ˆ ,‚Ø×†55„ pcf„4;“ó§Vëœuz‹Ò6…²#DY‚{ŒØRX§v ŸWQ’å<†!-é*¥ˆ²‚\30 â¥0²RIÀè˜àÎï‡4«6_þh‡·¼r‚¯ÿÍ,ÑXÌÈÚÍŒŠƒøÝ€ãs ¡b4ÖXeƒœÓ7'óô9܉\`u-ÀíGÇrêÕZ­ÈÒÐ%ÜŒáW·“j8sÕD1„—&–Ú÷ümPuÖ.\¬újlltÍŒT$!0Yƒ|å2TÆh*§@´º¹b9í(¥fB¨AßUÉ3ša¹5à$HþÆV:BÄÓ†Ei?ñÒÚPöÑ]e$ãW£še CülyÈ"OBŸ ~_‰Âg@„&–Ìs•°…Ž×àÚ³üë1±Ù<"¨BcÕ?#ÊpÝ¿Æ\ö´ØÈe9*/„a1‰­¯”*CfªfÖ! ½„Œ\¥î¦>Jô „ê¢SÌ3së,Òxðol…Ä‘&ÉÁÚ`ú'\SP_¸Åv§ Ù¡£-p#ˆ÷wFNž€€Ä Óï”Ö˜âh•$´7™(ó<í•9ˆ 9€.A‹chkmûh U{©M-¯&ß Ý-9ísÉoEcI!ËO¡²×YTêš5ã—>¥‰êÂûÞxƒ…`¬©Ù7w&ZňX1·Ô¦50¾¤ÐœðÌfž©oì¹i€ä÷ÂÞ„õÄ7˜löDÓ°s¥©w`¸—(ŒîGüöÆî)SmEGIl¤).ᛎè‘êÏå5…Òÿ÷€j'8 Éîrÿõ!EŒÀÄpe‚2Œ0sif!ý$:HˆdR† Ô’q,g Y ™Š`˜‘6¿¡!¸žÔÜÙ!°%Wüżç²Ç{š¹ªàü‰ç=ë¥XR0='h.&k;àu0ëfØgŒ¢‚Ö§qEŽ£+g$š]%ñ•y`­1…Víœ8Cf³JSéYÍ"¼9D¼·ÏUÒ— A(iD#»‚$h66¬OVÑŸ*žà,kó*«1x]îú%ˆ‘›\sÍRJ¶z @߂쥮Ï@B ¡41âÙgúñäET) t³›àd5Ö•5¯1Ó§Ö‚S#XŽb$‚7ÿõíT}c˜´á¹—Dú17íáÄŒ¤Óôsö¼i:Ù€ÀGDÑr-ZŒaÊP:h1‚vëæ˜— JæM!d Õ—ÌO‚ÅS \´¨£­MK†…¾ñ–jÆ–¥¤Áømpëà„¦#ÚX…HL ¹É^Ýì€4º »‹Š„ïÞgz¡,ÚéS´,Âôërf#èËyDÕI²®*tÅÈ¢m#fåÄîfë N)*@{ªßïž¹#÷¦IÝ3pìû¹ð–!TH‹þ‚ö-¶Ù¼äéçÓ’¢g [»f-Jjƃ€cS‚fK,Jƒ\nâßSÓÔ[LH²bÜ2êÔ‚4jÚs+%õ·tËD;ä¬úº z!q­ :/-á4f µ#Ȫ×5f]Ù„ÐKl­i’t-¤ØzEÁ€’–ë탋” é!P¢'CA‹g’ÉbEKãß³íºÆ~¢Èí"®€j£‘¡`dr¡_Eö¶ÔÙœùO)æL­ž )'Cßäk¹|Æü¸‚dý[‚wK\b~àÃÿ^{‚ ÊÜ;ß$¶~õu_æ},6¬ÑT<ŸgkDdm!:û +Ć’olK–Bw&¥DM×M@"܃SŽ‚lÂmŽ;àQm‚c£ÃµˆÒ‘þZÚj]n@dLP’Ó0Ô’:éŽ2ª´ïG-C]Jn_xWmD{Ç J[ ¼kô‚ÐNO~X¤~PZö¥Ëí^4ªÖªoGËË;ÃŒ´µÌoiÀŸsú¿õÚLþ‚~¢tBgÉü6s¢JÌ®f› ~û+GxÝkÄ¥Ísζøâ‡ŸÀS5¾ð½Ó™;$‰¦€aÜTÇ@f]3ÏÂ…e?-ª² “šbi,›²3Ü&»©H¹†2Æic¶‹kX(ƒn8åcÎ,nFx·T‚Ù&¦ á#§}.”7˜%LvžÖÆ*Awý¥õ©Ò]œc‡*Å×NÚaé×¢¾^i "B`Á*^•ë½§¶8(ƒõ ù²í†5Ä‹n`²lºñ¹ÆVfŒ A^–A*­aÝy’Ч¹ìù¤Í¿r /.»¼íû‰¥¢¼ø×ÎãsŸÿ>D0B—­úóA…@HâQ ãÀºäÕhÄ·Û0õ5ëœöª1ùµ;¦´i·q9{m¢]Fu5Dt"ü.BÜ¿dHÒ¼»M3Бƹ¦MDè9p@”’xŸì X‹I4Dvwg&NÌ{èÕþàƒvÇ o­õ“OÛû ²5ZÂvp£AËfÁâ @Št¡mÎ%L@‰n)óyfû¹²ïO&Z)ƒL­1-arÛ¤ky%póÝË’ýß XLjú(Ê58ôƒ„e>ùÅùà¯*nû’`O`± b¤º kÑÅ&^þ°åp"Í¥9^ IDATšg³­¨X`eæ3;Kêu%Z_,¡3sXXÀ©˜éJYR«J#e„,¨¢ÓAN"e2°Ðΰ°{`ãŠè0Z$k§l³Õ’úè‰À®u„è<ˆ¡ ¹ƒˆÐcv«tУñ²îp<¹²@eC¦íìÄ%_õ)KAkàà¶v8ƶÛÄðr•]´† „©9Øw¾ù]ؽËâ…ÏU´ÚšsÏ0‰“Xö–EM.Ù8nÂ5Zf/Û–&ò‹|ô ‚÷¿ºÍµ·>¯ì¹¡Ïç¦Þÿ£Æ•ï]D)‹ýÑçø“(ž3s™µº'}WÊØ¿‚;pbF°¿Å?ÜVâ‚ÍߺÎ;ËâÙ—4ؼ!dµ%«r¨#Æñ¬’z¯%ìÊR¹Qb.:3 $‹ÄÇ*Ô›LÇiåXN†‹Tȳ¿¢^– Ub¾ÖßåÅÞ”eYP×åÒÑ x« ú瀯áÈ$|퇣œ˜¯"'ÊüÛ¾ý@•›~àò¬WV¹÷‹S‚©YIkÑ"Ì‚™[zÙ0ÄÚ¶¯ñ:ð€¼õ“¦¸8¼îª{¸ðœ§Q [ø#0·ÐÁ››&ŽíäþÁŽ^¸6lÚïB³ǧ%ûKvì”|û{šÝéâOKnØcS]Uâ‡ÇùÛyŽOYtʱOÆ»Á¼‘Ódí\ˆ1] ±ÃÈÄ@*=$ÒN ž·úEù³P+°j»ô„@0ßM0àà5yíjI;ÃÀ=Ú`¿=ù«àZ!@œ¨õÛÍÚŽò,ô¡>Ð]ˆ:°°(˜Ýñÿ}ôí¡ùÔÕ¿1<ø ÃY¾€w}t·ÞæpûNصOq|ÚÈ0qAø KPö`5³lÝT'ð{¿}W½æbnÙQESÕðk—Ý_}õH㵋m ”¤1:Æ\#‹øh ¿k3ׄÃÇ;|þ:›¿oñ÷ß*ÓUf¦Ñ\þÜî_Åç¯|~{ÕÞÍiS£¼s,±ÔÀÞ„¶Ï0¸’1½ø3 "ã„FGuÛKn@O£¼ 5DpkqÔA²(F[HêZeªØ‰¨f²m²×çî@²!H_A†Äç†Ëk¤YdúO QQÛJÁüÜûCøØõuœ–âÄUç¶ÐZð5#ãWså+ŸÅ¾ÎH)ÑM‹_þ NÛ¬X?µJ’Ýœ`#ô7[°sàß¾ï°÷D7 øó—®'¶ÞþÙ)f|þ}£¼þ}ó\úôU|ù†iZ”ø­ç´9çQ]Fêu$´ˆÕaКí2Õ>lqè¸à+ß^CcdŽØ†3G${ç·òä'màÆÛn¦êâN ÙÞáÉUœ¹ jŽadim/ÕÐG#:{@Í¡ú“«Xv]½:“Ðj"SõаA9ñÊ5ø¥sxÿŸ~€Í ¼öã±Ô7øÓ?;˯¸‡¿¹·Î³§Ûœ¹-`Ãͪª`ÄQ”G’j9ÈXò˜j›çK¼ìÿgWšüÖg¯Çw¡âBׂßãE|ð¿®·DÙ“«ALv;àøtÌÁcã8p¨5ÇÞ£.eg޳=xÂÎâÚmòŠw›á3_øŸ~ë÷|4ŸøÄg9Ðòùõç*¶o†± # dÀbËp¨Fæ r• Sá]EÆÚîlB¨ÁšBV²ž‡HCÝ"M)I5³Xõý~D^bÁ·ÝÊ^gêdie ©íÇmg¬ïyŠ˜Gžåd«ä)Y¹ e ZûaCž¹E0¶'À ^û±üæ_ÞÀk~õR*xÕ»þ‰¹ªàö7³Î“¼ãe/ã®,>÷o#Üü]›Ïü}½;%3?téNJ¢ŽqpÜ:ß >~Ýß±&¼Žk^³Ù¤r.!¬­ÜÂŒ%ÐŒj‡zI!ô*Zs>‡ŽÎrû=£|ôÚ.×ÝÞäÞFŽ-°y½äÕ/Ÿþ—ûˆÛG¨Lâ’ÓΧ&5/½Æç=_ÿÇÉë^¡¸à\غÍh·½j7YY5£¥´$Z$MÊÑ iʆ£û’p™L£ÉIï&L.Y\AÖÂÚå}T½.Ýæ™ 8ï<ذÖT·±Sn–Æ|Å ˆiÑ-A¨þïWlO€`"õî×õJ‚îV*!ÂŽL!ÿX÷U¸¹bm¾—$ĪŸÙf Öw¢ES†ÐH½®2áÂÔ:‹Fš-`™“„ƒŒ „’¦=…ñª ݧ±0…ÄÜŒÐfõÿ+D¨ì蹘2“ç‚°B´!,…¶:Æw儦Z†2˪‰€¨T`dŒÕáœ3u¥ùΡ5ì:¶‡û¶Yh””… ’ð¢çž(ü…»¹ëP›Š¯¹ùþÓh·$ÛÖ4­ÇœÒh#WWØ1+¹wGÀ©ã.{f"vïêÒ±ç\\áI›X?Ñfv6äwsûÑŽííòg¾€kÿé×~r5ûæ§™n%Ò0ê£è׿wˆ™ã{X·EðÄ‹ºœ®âôSaõ*¨V2Y?é<•S;¥îoÔdcJ«2쀄®@éB!Ro©“¸rt·@ zŽfcENñïã_ç  o’`±ôH]5gÝ¢ ØFKOEE7‹ŽLÙáÒ;ÖVÔ*Wé{ÛaIÝó¢A‘ìU$Ô§h¶6¨KÂxDÉŸkX·¶o„‹ÎR¼ò '84y1aÑ8ã)\ý†Gó¡W]J¼îò¿ãY/lRüÍ.¦VR4ê²cªÃtK3RÕœ»%â¼5-.X/À…½å Þxé“°=Íhs­b¤´8(+§è( ·Id&1èèãæ?ò‹î„Až®o"Û5è4̹ɲA¯ÚöAÖVÝÈA‘;P¾(lÓMZ ¹Š Ò{צ¬3ÙD¹6¤4>ÂÆlÙ¬8{Èžó=°\öì¿…×ÿÕ=üö§¿N# C~ýåGùÔM»8:³—R|ù³qºǧQ¬«kÎØrÎimBÛeOë&( ¾tÝ-¾ÅØXL¥¦èÄšO]·‰‘VÌ—=Ù8Á+§Ñroøãûð\Í&B>üÑ»ùÂ÷ïĉáàä³Ù01Ͷõ뚪ã8QŠÁ5›XDu„GXÛ̺D7 aÄC[ÜÝ™ZZ/ÞœÈÕ& Ì&J´,é™—Ÿä _ Nç|AÆï—:[Ót<°Í1p´$ú„ƒ·`d—…·n : P³ëÖ™ÊÉ¢ ¾É´µZ†‚u“ia'FÙ9“38ñ|€w:WWKô18íK ¨(¿‚d¬‹.º,±ÊR©œ&œªâÃFjÀ¦5Š( éø-®ßi³Þ‘¼óUçâX_þ7›ëw~øÈǧ9\l\³§ Ÿû‡:gŸ:ËhI36ªÙ²5à‰ÇbþýA›ˆ±CàT°u­óMÍú Ó„¡¢Ü݉t%øÄbÛ,ÁÛßø$¢N‡®{>ï¿æ3´¥Í3/cÆ.cu…—ØÏzkÖˬjCØÀD¹h*×ÀKŠ…^h™ÅÏoÔ0ñJb…M”lÓÒ©Æ{9(Ikƒ•ër‹$ÂLИ{#\½ÔhË’àÕ)Ÿ7^·×>VÝ$º)ã61Ú“¦ÂŒN\ÑÙáÞ¦³Ú¼z}€WAlžî#|^»Ì"¿ z”¯Ì|å«Ý;›|®²T\À쪥ٸ&æ#6–%û}Å[?v7¾eñ†Ç=ß}þYüá÷3]÷jÛt»š{öm£ÓÃuL¶óXY³aB>àb«.–a%¬’&ö¡ÝT„D\öóÛyÛ'é–Aø6Wž¿ž‹Ÿò¬WÝÃÆóZÄún|{œÍµ€Ÿ?ó¯Y[©X™0¨Ô_™t#„l™`ü @0e|„rBÍ¡SîTdàNVm Xï~ÕöW‚³•ò˜ÊÙ:Ùž‘Þ2-’#p{B³›|vbCmRï~ #dK1’¤~9ÂLJ¿˜7e’ˆ@̙ȊÅlÒ«$PÚ¹›OãÏjQèA4é=ÿcQjþd„ÙÞ.Í\ß“5Ê&#ÝÖlZP'fÿ”…,i¦úÜqï$Þ©æC‡ ¤¸ïþÕL-Ìð¨µóœ½)dí„Â+ƒÒÐj "Ê<íü_cÿž»èXŸ¶ˆW‚Ã',öM¹Üyk„™A hŠÅn“¯Ü ðÖ¶p´K6Ï¿`–gßbëæØ?“J7½qgÇÞ¬]'ÜÊh+B/@+@è#`åð!…è\¨¬†¨ A'±¼;‰ÇZÖL!S2' ËûùÜŒ¼È´‘3dãâÍGed¤šêW÷Å„²¤9†Z«âC½‹ìR+Až|³Òç¯É>£5ø_6ñC`öP£¤±¹ âvÄßßµ 9vàø(_|ËZ„%™sŸÌ庖ª€{çÌ·}:­˜ª¥q%4F4>*bÿ½÷1çJžºišJ æšÿüïcL„ãÌ7Tá³/^Û:N´~;û»]ÜzÄeÝö2Ï;Σ6ÅlÚd 'g£Zr6bv­º€ÛB$aêÚÛˆXœ3Ô¬µôzÊ žô\:€1'´ NbnR)„mÜ4¹AèÒKÓ^Š4¯ü%Õ?x{à‹›O|B¸¨q ÷ÏÞÄãpÁY›7hFª 3%¤Lö+”5èƒXkÐrÌØL¢ŠI¢Ñ-t”G½u ¦jÚöE2mé¹gÀª3MXà"Sñr(—KKЧh d—~¤€LBgs–ñ¢û–a›éAC²ZÊÎ\#ýÏEýíg -mÛ’'Q‰f9V˜šV2mfŸcYÆmZµ â)Fª°z N]£yÔ–ˆÏ¿¿Í9/ºûo¾œ›~Xcb½Dh…ªïB+xÁE÷OÝÄ_⌭›ÖiFk¦MËJN«˜1,É$Ïõ1ÍìÕdUM„<ˆ ×FØ-´œ·f,D hQ3|nœº Ô'Œ()ÐQ¢ÿ¥&@§™9©œ‘SOO*Ü%ýî&…þed5wˆ&™mcª5àL¯«ñc9-¢‡t-ó•!‰²9Èô·ðÜŸ ÿ‹ôJ ÈF*°iæÌ-{G‹7]óW4Â6ß:$YeÅ|gÏ4:pñÖ_b±ZbÜmrÊ:M=‰ô̶_.C6¬› M$ @<ˆö£CD¨cÆx,* êÆôPÞ4x(Aº¡œdg è—†&K7á“ina 9dZ¬,™PÈ„ö¦ƒ© N´ÖA?F>/3å P¦ÊÝ'FR_%?òiKîsAß§M–q*Ÿ,2x|J¶ü÷“ô“wÛNœÙ£šSÖEÄr5ÕºÄ:PZŒÑ±Ãó~ñ…üîW¿Ì%§vض)¦ªÁuú›~¨6N¿ÏiÙ¢Þi™ÈDôJ‹¦ìhi-€Ü |Ϻ?òÔaØN˲»ÅŒ\²8ø¦žy˜k#ßå´Ð!fƒü~…P€Ü=ŠP²—^Ð'KD…,X”%L4`ûø®ÐXM¶ w9uSÌDÃ8© Ç\€°Ê‡¸í›Ä¿$” kƒA*í[ÕZ¡;3ˆÖmvCëNf0™&s Ž!Ø Ýy`CoL&§02±vÝäȲPa¨L/Âl»vœmg(U‘ žýœ×ÚÜj5LŽJ¾ 飭R$Ði›I‰lC¤góÖgå'z¨ý願:òm¦í¸)B*D)‘'³TÛˆz¶À”2¦éð¢ îX‰‘…ˆ€ n¬8ëÜŸãî{¿Å†1É)ëµjbE(Ü b1q‹%ÿù-sˆ¦Ô€oü¿¢Ó4rSy ÄsMçÒ‚Î$¢4iÊ€vWAh#¼ÃÐmyKLõ%¦F"·©¤”‘ Àªcø&Î[(S~¤,íªõê›Ø!ÂîPûÖ-¬³÷Y®™AÇ{޾R‘r5¶­s†ÍÀWëD–íÇÖ5²Ô`äS*¡ñé5³.T‚¾Œ%$:=.7 Uñ\pÝ$_»ÝeÔƒ ÏXàŸ¦«ìøá7qjðsOl²&9/:¹¡^2)<—ˆI{ÕQ3OY6ÞË´Zl™ìuW¶•Ž!¬˜³)]לŸä·²f(èkC=mºÕ6…è¥ :•±Ûjåqàñýä ×áa P´xE”"c&ø-= )Ô†WA«ˆpwÏXÛ_X³ÃBaìO½ÿ Q*B¢Œ)a@\ ùóýÏ·‡Q¨³FZ]IÿL+.ÍÞÖ*¿ßˆ†6Fà1gÀ†ñE:>ŒTaÃjh¬2Éy0Ù3j`q„W3r•RPi÷¨Uvl¦|fRY¨¼ÔÙúüxu´·Å°¶R ¤Òj-”ü\N!Fùóê& 3Pظž‰lœ$ZToÍ%ÇÕ[Ìd-‰‰wl¤œ¥žß¯iœ»`ÇR XÎÉœí¼’0ŸBžòÉ',óÛrí|×¹J=bÎ6y‘é¦Ê!µeA¥Ê0>aÆkÛI>Šc–(-5€kÓ+ª–1iDdõ(·ÍZq„È5HSKôHâÕÓþˆ²ù.hñX¨U ÿ‚p"t·¹t>êFV÷Ù¡_ËLãË¥Ùg'1/ˆ-p q™¹>”àTU}¥ïÒ3”nµEó`‹‘¤ŽªX4uäÙâ¤!¹§wZİqõ´»£gž çÙå°¾°x§fº%ÙüözÏI}°BbÛËÒx%ŨuÜÏ/HÝ0i´&I5 êàs4mDØZTŠé]ÑL¢Õ%ÿ€6µFÓZüIE"'¼¥¶A×ßl@!{ÆÐ¸çÛ¸¾WÅdѤV½—vºž ¸;›PÝžŸ°3øF3±¤YÌ‘MɳZfÊtSfk7PП"ÈÙ¡zHU¤5f6ÁÐâ(EÏÍhÂáK6˜…Û÷»\w½·Ü»Æ^mó]Ø&iX"Aª*ñ4tŽšB¹z´ù·éŠ5âõËI% dÅ>‹¤üÜà/K ÌF—FÑXˆL–•¬¡Õ„::8æô]ök€ØýøsÃg„îöص9'©Bì''°§6›ÌŽŽ#Úž…T¸NßÅ"èñ^ŒáRÊ”+š;´'£á cc+QÕ´á‚å ¹÷vI$+´Ÿ›n®qÉ“*ˆU Æ_çFÄÄsA"œÏ˜yŒ›8£Kè÷¯S𽏭1¹°¡ÒD ØÒ†Í‹S^:&íöe7­#D ¡!ä!ôüÜ’ëQa…2À6NÃÄ(`gøu*Ì•¤1ªuæ–†³An• ÛI-Ðy[QaÅäü÷aÊ@æyÁlÃ4Ù Š&úÇ‚#=(I8ûÛýiž¬À’‹FÉÍ2ÊO J(  -Dk=>587) ÒÆÆ«l“©¾OVEZ<96Wˆá1ÒßW¢ËQž"sÀJ&‚L{ÁbF¨Ï¶›nz¨çÉP¸´Ì³Ýƾ¸INöúä]zÙÙ¥GѬ„bÊs  KFN%ŒÜUGlRècS\ûO.yJ‹Ug/±±’ò‘“µÑ2>Y‘·@/ LlJ §úFæJƒTQÏÐ'0GjˆEЕa¾3Ùßó» Ùcèp’žÊ%éq»E»m»ê•‚\NóKî°?¥¨ó2ef"¢!r}³¤A–ž‘´7Vˆç ñÛ&§$ç$o“€Ìó{ã ]eeêÆ IDAT“ùCøÿÛ;÷`ÉŽò°ÿºÏ™3sçνš]ݽZI+­V°„,l ùÃNLL%©JÂ_TÅU!¤Lˆ#c„S 0–È$qb;eR.Wª’?ò$‡²CB \$$íêéÚ½ìÞ½{wîÜ™3gºóGwŸéÓÓgfö½+øªnÝ™3}úqÎ×_ïoímôX9dßž“ðA¼ÎM°sÒÚš¾Wæ'™"Ë© Z˜òæ Ƚ¶¼˜½Ô(`Ù'‘ÅϺBe†dL6ãGíŠd _·æM¾ÇAÈ  4“0òÌéý°ò.˜ Δ'Gn®9Ç€FÛVÁ°ª‡3æÞí ¢Å Ap•AÀæ;MsöÞak&«ð¨½Êß3«»Zž°K%B:j¤¦¶–GøüY›3Áº¬.±Y1=tÖ ¯£1ð$/±ã2Zm±M®«]I•:¾.rä¸k£búZ¥]0Ã{]`œÜH„±ãÌo›-jÕÚ Êå*¥ZƒÚËçUJÎYÍ_ÍØåg»ñjÛ~ÂzJ1)Ë!3( R²¶9þ„Dˆ— C)\’çlo@ì®Bº?òê$©œ´ŠÝ½Â™jÌ5“Z€nQá"cãÛÿjŽ|›oirqÌ}Fɇ•µcýÌ¢ÐÓ‘1þÏIÇÀ¾X)™põ±>úº;˜æ/”ð±ù= ›·ÖÝÆÕ HM™‰ˆu•¿týUXNÑ­É€éötbzªßKUÿÄËöT¿ëŒzCy‰5‹ Ç/+'Dw!ˆñpÞ.8S÷/xНñÁhÙ½˜ƒ`\æ!d‘ùœ­ðÎ=²!À°º10ÆL•)ÒœÒ$4kº” -OÀ°_åæiä|4ÇÁÎNªâ¨VòDÅô8udê©„»oæDƒï9¿‡ó‘¦æ%Mý¶Èzìï%ûQj0Qż””Ff(…ÊM¡¦L¶ª"U¥Ð‘𠄉 ¥½áB…°¾G"5e`ÆÃ²Ù†li^O#¼ÖØ·°ŸÌŠzïŒ9º#(›ðš!\0œ: æ¯%ÒçàEkOM¼*ö>qÊê“„õP ûL ÁVQŒ·Ñ hï*ú-hä0îB² +’2êC´aÄó}Xï TNcgÌæ‹#¶ws6Nܺ¼ÊÝÞ£yH¡Ò±$!;Æ8Q$·nñIÆ£¢¹3~£:×yÒlø Kœºã-öœB„Ê‚{2«jixèÌ"T´uÚ>ëŽêØýuGô¬ã<„F½fâ‰"%±ì½jXE#Eò^)¥iÒp“ïƹbÖˆa¸CÊš…•ïËãê¡Mb ݸÓÔP™-X0@:nܧ[ –rö¬AG映ѵd™O«“ª±W¶*1Uç”QÍSy°S~]>‚Ö!fÝ&ôïŸVøˆò‰óî]DøXt^Ÿ:W¦º‰€Jm¶™q ¤&ßäîƒg¶Ê6Ãî‹°újóýŒõ#ÊögÏ­—aiÍFöZ½‘èg òÉ íŒ©IKÊ’+¢…(ž1I¾Hai`Jü‚M±cay²£[ŒwÄ6BÝCÆSÒÖíêYc, 3Ú»ëeôT³0„ö >„-³’_OKë8šÁðûˆghÞd*еöç²ÑÊd²+ëÞ 9tv´kBV€(¦E1’“œW‘I롲LfŠVïÅçeBåáD•x¡3ײݢ;xÞ‘ôãg¤žš_eŠ!@BŠP¶òÇ•$|ô[Ö7ÇH†²4ß$¹ \Ðæøkí7í[+°ïÖÈ@ÞËZ9æè”ÝèYÚú¦ê–’ÉÄO|p2hJ/1i&þêæ}6T%D”ðzÝq7k.åË•äGkÆÍa j¼Kæ”ÑJjŠï›­h^g*ÏGøˆÍj‘];\‡Këngmÿ›èÝíJãÚ# ÷X^d°eB…F ~`LD¢~ôÐ*NK„k­¸ñ%ä6kM¿j/ó7„/°æeýô> ð2•¾êµN"Ã»æ¿ ïÿ8QŒbå÷,Í»2šÉ]ÛÛè¤g ô¾ðŽ?ë½yÂG´í,áÃoã¾€ñQ«5UHSc®@èoϘŜIz ‡ N¬ÂK8¦/µáEe¢–OamôâV{w”†R§n(7§Ê’r¢Ÿš®2×ÃïÆÈKnÖxªöOPõ§ïMÿ6Db° Ǿ¸·ÔHTtùìgÙÂ$ïõî/7bƤ( ‡n™ä­½5ZÎù3ªQÓþØö/*|¸vuï<¼¾ ä/ 6ÿƒ1Dãé±ô®—k´Ž±­cvCæF}ÑŒ7ú$ZÐËm¡jƒã]›q.s±w ‡^É8çð€·AõÑÝÂP0¨Æ›!JªÎúïý¦ä[оÝ\M¦‹ 0a˜[Àz—xb©$»0jzÌv„a®D0gÛcøÕ!Q v_0ÏŒÔrbD™:ÒðÐÛ@JJˆç㞣8«ot® h°ÄhXÙÈâÖa-ì?0ûXÐôË©ƒJŸåý1‰Ç­«ã]sTèÞåÍ?X« ¢51{èÙRõL¯ïä нMÅý›ü—¿l‹Ì8RºŠŽaš9‰¥ ä&ч_-Äë«Hz‘…’ïõO‘ÙÊK-DÿeØÈÐòªfØoj¶½ÈXªÙYìÿº$±q-¾{¸Á8®¿_“‡A݈X˜g=TÿÓ÷Wæw&Ÿ¤ Ÿ±ñ”‚õ{&áëî%L¥wëÒxfŽW­î¤‡^VÕM'z¨]­ÁYQ•ÚµÏâÇb<¶/ÍŽ@/ßúpõ>e²Á¥Œrèõ|ÒI„lFSƒ»0ü2;¯‚dÉ&½pÉ0bbwŒ¤gEU³éC”Æîè!†Ý3eð(l„l&'ÈìNÝ+"ñVÞï{0ŸvŒ×Ù¸ê)Èêͱ…,ÂøeòÌ¢(áä½óº6‡g„á­0âÞõZmû[ô÷Øú‚[ƒÊ°ISLˆ»öí>„H%í²óÖ~꯽1¸¤aÒ8ÝâTÿV`ê7ï÷ *|Ä6yò3ÆzSl!iÛpì\HI"£‚Hå=e”M$q®½O?èLîñ™Ñð!ž ïáßã^ì)ÇeùÝßpÎóÂzÌ·išÀËÝê¼+GˆDìØôQ.dË©)ò"îz(í› ?ÑG§  µåxSÀú¬·mäK;œK j¨vL8îÏ!ñ‘q.VÄMÙ¦gëA„z=Oø¨ ‘[{%Fø`ÜEãeI%££ÑØwd IaëѹþC­“ý¶:‰F°À¹×Âë¡ÄÙ½þKBNWËÊ"÷y›¥tE™‡äµž¥¸Ù‡?†E°Z¾³Bªz ÄqÈÜ S Öe§ç>¹½æÚ2ƒ‘¾ƒ@ †Ã‘Éê7î“2NÑ;7‚جVõ]Qk(ÅEÙU‹P‹ÌãýrLaÇ=TºBaféSLß0kÕg¶ÈÜBа"Ñ1bcù¿ó[/ÎCøPfýüҷîïÒ¹ñV£û@J³ ògLy×≪.¬iîâU8Ÿ8¶°ßE!ôÇf"úƒ‚ Ýͧ}¬ücÝ%äõ=0"Ô<¥å,p÷×IÓ^¿—,â&ƒ\ä$«ç*|Xf8³ÇÐî¤ZÉéÝÐÎ †gvYÙs©ÉĦ`åÍèd^ìÅ^Œ]µI=c“ö¼ö¥Ï€(Ãl‡Yc†ËaµL|ÁØÜ}ðxe¶ý]ʈ›Æ5À5g+|`,›:´QàrÌ;›ÝFvó:ìn’2N{Œrhô ñs°»ŽHþ4î#£&zW…c2•S!_N2T^~§˜ðН™OÉ\°­ÛH5ˆ"FÒØ÷ FÊx}&sd\)áþu›Ëƒh¥šÒ¹©½3”Ö|c~ïoÃjÒë_eŽªÁ6ÉG~éBÚØOžßƒCó&ÈoE4¾G”‘Û¿ÄüW#&Iþr£|MÃôΉ÷ßA|÷údì]  ±“Q›`PKϬ’aŽú$Ò0 Æ óÈ»ùäÞç1¦|É܃Œ—@e0ˆqÁàiñ1Dì]‡Þ <߇Õ64÷¡Ókœ¶îÀè4º¡MÚ1u §$|fLžEù=ö¼}áCÙßê„Äû<¦ºù²ný4ˆ!û4Òi¬¼Î—ö{ÇI›ï(-Zê±w½•ÿB¾–VF[ˆáĽ11sÐÚhš:þ+Ü%±]U×>„E˜à°í¬ã9v´†mÃþc»nÜc6ì’QÊŽÇŠ$™˜BÔÀ ÷Ÿ7NÝ5¦*n„§'ýÍåóiˇ@²g/zx=½­.íqÙÙo¨¯nõÏ‚ü¤¼ç·ûS©úö»Svúÿ™”•½ûÐ[ˆÞÑÍÍéÅÙÏ•”‚5œº×-:<îæ!Î…€Exò¯Õ ÁB‘ÙuãûcX˜ ÷Ÿuß/„:É.¶.¿ŸI)|Ìi_>P•Ê!¦”ñ!h¼É”ŽËó“äƒO2Ê>/ßôoÂÈEsϼ‰©'~Q2æï’µ?ŒÊ_ÅÆ³°õ8âÀK“X8±1ñ–43æ=ðyGÚ<=Ò¢àÖ¹À®¯uõŽõéÃ<ÄZ„õ½Mg “Où…ÀhÔ“–ñtй‰5u”¼}'¬¼ÒÕœBý!ºø¸|Íï>?c¶óËzêÞUŠâDvÛ{ØÚ€åÇלªÏ¤ì3‹¡â1vlÅ ¯iŸMÿuÍñ×0ç™»«=¦7<ýùÆÔaÛÜ„û7—§ï9«ùù×.°ð!F Å½tû"ÒÊWÿöÿ^`¦‹#–õÄ»nG¤ùwYB~ø"{¡v—ŽúA}ˆ? ¨w͉=pn!ÿæµõ'^ô"Žjóâø×zÄ‘ K±–=oØŒú¬Ì$íŸ01g²YøMУ;!yý‹èÖÇÑíß—w?º6pÖˆå@=ù®· Ò‡ÉÚ¯e¸ â"ý z<§ð·xå¿û\'I9Æ}ŽkÎ,ŠcbaªBý¼#;l7‹ª…G¥×.Zm6bUʘÛÚk5c\lá#·£q›F¿ñ3¨Ö'äÝÿúTÍljᜠ@}÷Þ ]ü"ûu²ö5ŒÑ·üzÜ›ýf!„”Ä\s¨¶Ÿ*ZPGí΅ת9¾cy­D+›” ¤Ú1Xà&cÊ7ëbB¶ÐƒÏPø{òî?þjý¬fÃy!V9©§îÝOÒ~?È…ñ×'Ç£÷Rf>àpG¹y¨Ñãþý>b÷,*,8*ZdFR)ôO…²O‰fð:ŽgsÁ1£þ hßp¢1DïÔ%ÒZæB²;Ð龆þëÿXÞùùˆÝcq¸ ˆå@=ñ‹÷µ!]ý9Šmÿ?„| =6 V¥Œ›ï¾I!2¸—Uçšs.R§»ožŠ"˜—ÚëèäZHAì<5kX¡¼6í¹.@dh5˜DÏ™›K©Ï0éÏAøHºŠdÏGž¼Oܽýl}‹ÃE,uä„4}+£ü_P¨ëPÀÓˆä±Å‚<}ä:?ï7¿Í<„; …©qqoNW‚ðŒÂ¢i¢™G[Àh¢ÉŽŽÌ×ĦèåbBq61霺ýIDÝq_#Q›üøûÑɾo¢‹ûåÝýéü/±¨§îm#ä‡PÙÀz²¯B~¸þ¦ ¥³ÄèEî‡ ‚ 6PQ̪‚ëÏNÃcÝü$ˆšqrà[KˆW﯌< Þ5Tͤcj£¹Äç÷>@þÍ/Ê7‹¸ØpÅ!€zá>É(ÿÛ¨Á#ŒŽÝÊàBž2Œ}£­po,ò‘¤&ªRªáŽÉ ãS›á)£ÒpÿØÕ\sê¤Æ&W«à]+_S^ogã íµŸ€•ý˜2(‡ß·|jFb³ËW$b9PO¿;î%| 5X"ÝB¤_+m>¯U†T ¦È¡Úa馲Ç4æ9U„ŽéÊbú¶Y¼”l£‡7BïØs‹9öàK¨Öýòö‡Ÿ˜=ëËW4b9PϾçzèü*Åö/3þbü:™èøDS‚\Eïn™òu~ÉbÍà{JoŠ˜ßÖ<{\’60ú.âMk"’‚z¤·ÚØÙaDú~òÞ•¯úçW̱ƒ«±¨§ïûIRþ€í'_ƒ<‚h¾l´Ò®¦ß0_Ì×|Dë:˜¥l]æyÓ Œ÷¢y-tn¤ BîR¿jýº|õ§ç¥×½"àªB,õÜG$"ÿyFƒÏ 7×ÿà#­Z&O;R0ÝýŸ§Z Œðƒ=Ed@ôû]é%IHVÑŸ‚ÑX½ÁF$«ÊÞ'oýµópƺôpÕ!–õ܃PF ÞGq$ü¯2YE-Õ )Žƒ:$Ș„rù^ .ÛJ™>¼€¼Fx˜qüŠf I-–agÄA¶nÞuþjð Å7å—Vk~!àªE,ê…‡n¦Øü—°õ7„þ ŒOTµ÷!ÔQ¯9 îѩԴï}Ý8aß9ˆ¥.:¹Þlº²Ûa©£Á àƒ ¾ oûôÍGÍ‚«±Ôs ào¡ŸA}ç61ø¿nÅów.ˆXƒ“кvÒÎø»Ä¸Ö,ã#×<[¦5ë•¿lÁæ-è§ÐÞoÔó"-ÐÅÐùò–OoÏèíª€Wb9P/|X2æC$ے㡞˜˜[\›AÄ·"D~’h ƒ3°ÔŠäp©.aÚ%ºF±Z:õA"YEwß'rØÍau?dÐÅs ïG·þ³<ô‘«Žš¯HÄr žÿÐ_EÈŠÞ|Åwê1ôx ÑZ…aoŠÉ"µ‰8·Ërx溄¢cŽÀv¯ÞÕ88•‚„½hý“0èBº Ë«¦§‘­ßB >+=rÖ1{W¼¢ @=ÿA‰lÿtñÅæÆÏBzÔävï?W"—1.· O¡1¨À…ì_±<_©LäË~tã§áT¬šÄúÍ6tÖÿ-²ýOäM>r—}ÙáXÔwÞ¹F«û~­w3îw(žD诔<˜hº–½Uɰ«¥0Pê±bž2C/2jƒþ~È0NÖ¼‘}¬ýQy˧ÿèR¬÷rà b9PÏ|ð.ÔàshõÆÛ°óeDóe£è´<’IE™BLJjš'ó‚R…Ð8ˆNn€änSùBeÆ£4iïu>@#ûyð—ÅéîrÀb¨'ïÈâoÒ\ý,"½çAþ9|ôÿ‹IDAT‚ÃÕyý–1»lÆãÙEw~ʸ²ô·Œ©J!MA¤Ÿ>!ïøìñ˱ÎË ?”ˆå@y …Èþ¨Olqò»E´Ÿ1eÒÎ,—brœ[^k”¡[ÉØñÒ òílRfÚ•í/ÓZ¯¼éC]¦¥]vø¡F,êÙûn€ÕÓ;ñN†è?ÏP6iî¿ ºˆ64o†äf(ž…ÝÇ!Yƒ] ½ C¥Æš«/²Ô~/ðå-ŸzE©Î~„X¨Ã½Vë ô·ï"ï™ê`²Õ7Dke Šp;ì…Ýž-£ÖÊiv&ë~Rxð‚G_ð#ÄŠ€zñ#ïd”š¼-y–2`ÛðTb¯9ÇÒðQ²õ_hïý%¹ÿþ«ÊûàbëÔáûWò!FÅûn'†2eƃ3Q äÓ$ü}y葯]î¹^‰ð#Äšê»÷Þ < òÍÈ d~Šqú°¼óÑO]î¹]Éð#ÄZÔS¾•qÿ­Œòûåk÷ôåžÏ•ÿ–&w`«8]IEND®B`‚pioneers-15.5/client/gtk/data/themes/Tiny/brick-lorindol.png0000644000175000017500000010656407771100213021027 00000000000000‰PNG  IHDR–¯t'‡bKGDÿÿÿ ½§“ pHYs¿¿CýlštIMEÓ  ,×<­ IDATxœì½{¬mÛ–Öõk½÷1Æœk­½÷=çÔ½UE•EÅ1à ‰‰cE|„Œ$E$JÉã õ (HM‰MJþ#†UÄ€ñÐRjTqï­sçœýXkÍ9Fï½5ÿh½1æÚkß[ëq5OÖYkÍ5÷œcôñõÖ¾öµÇ~ú±>Êüö_!ð#?ÒïEõWRïK‚ñɯW>ü£€õ¯ôóýúÝC~ªà‹á±Tè_b<»ýÍXþwÉç#yQÒ´°œ¿¦›?Àñß´}ý4ÀÚã+X,T"”ôÝ_…Í߯ýÝÏ¢.þ¬ÀÕÛ3˜AàÄñ[uø†ÿ¦T~Ú‚_ÁÀ*?ðG:\ˆ`1”O~”rûÝ”Ó/Å2ÔÓ]*2>­H FHÔWP+ÄáÏ¿Cùê¿Røiù•¬GÜ^>õ)·¿ùþ_CçÄôHϘØôA"„ Ä{b  X©ˆ|/"ß®|Ý'ù w_1Àz”GéÝQøÌ¿N¹ûm¨¾ÃðŠ¢ÍæÈôFÄdI ¾\"þ¿PÈÀ1AJP2ÔùS(ÿ±ùÏL'¾Böe¬G"½„Õìãÿ(ùþ»Ðü PƒÃ[XËÆw0iRÚ² ¶1Ð[d€z†|†0þ¢~§†Ÿñ§!V¸ø Ø—5°X©Ä ïþlê«ßEÑž4H ÍŠ2@º6$Š[¨fܤ¿ Ù}7$ˆ UÈïƒ,nÝ,C™ aø¯±á;5}õ‚¬äž/s€}Yë·Eß*å3¿ô7¢rƒ  [,01‰˜¤f¥Ú?—ÍØ‰ì¾‡€H€ Í‚ "Š„Ê °êïs~ð‚tøÏ->ùnãÙ+¾Üã—°¸½ì<†òwþ¤~;µ~#Ý:É„…#&~eÝ ÙC0±¹¿=À6P$$D$¸ V ¼„òÜe ‰´4ü 2|LùЇ¡ðe °/ `=£ÜíÙ§Ë‹ïDæ_ŽŽXM¨4=uëd¬ ²¶+ÈÖÇLÍZI‡[ã]1!1yÄ ` Üô éऄŠðç`üÍÊ;×¾¾ìø×—<°•–ý*‘å[¡üZŒ»;£ñˆNï &f†ØƒÓ·ö?Ýý^U!¥DŠ‘°‚Š0q‹XˆMP­ˆ.&ù=!߯+Ð j¯ˆö‡-\—ñÖg؉«|ìKX˧ƒØ»ÿ2ùîwPòW›¡ Žž¢ÕÄÌDqdÀE´WÍ(U1 5%— ‡qbBçY€™Qj¥ªB`R‘8¸«Vƒ2¿‡ÌïÂô TUÞAþCKÏþ¨Ùõ—<ñ%¬Ï‘†ù‡©w¿‡’1ZÀ&ê\Ðp@o%¢ª U1UÌ Ãܽ‡ÁR•ªþ|U%Hä0LÃÐÕŽ¥*çe!—Ê×LJñ@Œ BÜ ÀÀ ¡¼€å=Ç›v ´þUŒß ñ«þ22}Éó¯/)`5PõTL“>ý ”÷'%ÿj¬F,`3XºA‡kŒhÅ‚T5´j)h)”R¨¦‰j‚"„äÜ)ÆÈRŠî*«QÍÈ¥pšg–R˜†§×W\ޤ˜šÑu%þêùFªÉòRdþ”ÿm<¢Õ0]4 éÊðì»”·þ¾„ù×—°—>x"úüסËo"Ÿ?d°š‘ñm”#QÂé™9¨T ÕŠ–LÍ u™YÎ3Ë’1@$ $EÆÃÈx<Ɖ4Œn‰DPuKVjeΙª•WÓÄaœH19¨."ÉNêSЂáöHy)Àxƒj á1þ>“Ã2ÞzΗ ÿú¢ÖãòAƒ~âŸBÏ߯R~uAEãŒÏ@¦&¸Z)­F­ŠÖJÍ™Z2–j>SæÍ­J­FQÁB`8N®¯˜®®°\ãr˧ÔZQSH1’b'ùaÕ·öVKd¿ä±ŠÄNŸ€ógàÉÏÍÀ "tø]ªoý)H _Bîñ‹XË–Bþ‘¿=;µü tA™Ðp„ñ‘¸Šæ†Œf¥ŠRs!Ï ùŸÉ÷'Êéì®°b0†(³fµœ¼«‰ë]q€4ai$ŽL×GŽW¦i İÊ¥J­¨)F¦adè…lÊ=]`ݧŠ0—'B@Êœ>Óµÿ½¼‚î8>û^³ëï²:}–/rþõE¬Çäì||êW“çaåg¢ 5PJÀä IGÔ‚¢ˆDÛÅ2šÎdŠÕêÀ*™2Ÿ(ç{tž©¹ UÁ0UT·ïjPMÈ8ÕÈ,éxÅͳž<¹âxˆÑu«R+sÉ”Z1p<’L]¡o‚ê>E´L Ì‚ ,Ï=‚£/’eW›ñú{Loþ+Ó0³ñ/ýb×O9°—,…å‡~ bß刪è’ÁÌlxê¥,¡çõÂ. Ãå3ÔÌU3Z2š3u™)ó=ºÌXÕ¦´‹ÜOSÃÔÁXk¥Tc.p»¯r ¦‘ã“+ž<½æææÈá0’†HBµJµJÂcL$I¤!´Z®K÷xÉ¿ú%Q0%˜bwËE×!(„j0þ9$|‡Ê‡ÿg,|ÑÉ?¥Àz½Š“ê§¾»ûíÔå_„0XQt6j…0=ƒtðêƒ PíCzÃÌ£¿Z2e™©óì¤=/Ôó‰ºÌX­ˆ±¾‡ÈJµÁt•$r­älÜ/ÆmE2ŽŒÇ‘éjb:ŽL“ƒ+&!!&'òcÃHЉ¢ƒkÏ·íùæ±bÜJX^ŽW0 VfRúï ý6µ¯ú¸£î‹£<ú§XÊöâFxþkA ÙÞ¡,X^(yÄÆ'„0a!@½ŠsÏQúÚ=ÌŒZ %/,çùtO>;qŸDzZ ¸v%!¢R`BCT1ó¨OÕȲ‹ Y„Ka)’R$ ‰q˜Æ‰ãxà¦7k·.¬¬À3\šz/öâ…ðôÂhPÆá=âôŸh9üAìêŽ/yâ'Xò(ÊìÓÿ:ð÷S*–3V…*O0}±Ã€Äkºd^t`åeá|:qº½åt{Ïý«{î^ܳœÎXU‚bâÆÈ4F¦$ Á¥¥ [­‹XŒ"BA¥Ç–4$‡‰'××<¹ºá0bs…òˆÅ‚È.-Ù–—T¨3VÎè«OAþ€ñí·`¸n’±AÿËò­š¾áûZqáJð²Áõ“¬7T¤ø›‘ú»1¾…rV*ªf Ò5&ÑŒ &ÑS$¡U\¸=À¬S¥U'ò<^Ö™»Û[î^ø×íË{Î÷-NÜcRÆ!2 1 )À ÆaLb A‚P²Á‚ƒ¬ dÎE™ „”¸¾¾âÙ“ž>¹áx80&'ù"á’_í®„ì¬X?éÙÀP¨êܲž‹w~É׈Rbü3ßþ˜.ÏöÕ?©û ÖcUœR>ó–èû¿‘ºüÛ˜\“µ‹ÏÜÝ‘P¤ œëäýËË[Q†q &†›+Òq" ÕJÎ y9»Ú^²JBó0†ªQZzÆj%h%jõ«(ÔB B/Pj;Ö Tƒ„ø4’Æ‘˜1&BŒ„ˆÒ,WXh¼ë!©wŒ=p‰\¾f9º\rÿi˜ßCrõo@f@þ'túͪÏþO\?¡üëÇXÉbï}­„»oe)ÿ ¹LvëŠùôHªžéª‹›4K…TW¯Î|ðÞ+@øÐ[7\]¸½½çG?þiî_¾bÄR ‰éúŠ«·žrus@‚Q:°ò‚•¼•ˬ 6WÚUU¢ƒ)BD-ˆz£³]=¨‰WCh31x”8 „qðh±÷&w‡›[ ­Ä&¬µóáåÚ@¶ò³G¢H°j’_‰”ÏÂtƒL×®DØ’A¾—xó=Zžþ0?üëÇX¦aôÕ•ÔOÿ« ¿-¶Ó™:+–ÈøVãOÑL‚ â Z]ß®®œÀ¼~ôÝçü¿ó0ãkÆÛ|äÃÏÈs泟yÎí«;Ê’©µ£p|rŇÞzÊõÍ„ ,y&/3µd¨MK4óÏ -ŸhJË%3ƒc"`†×xÏé™aAÖ`¡Ñ1ª™óÁ!Æ„ ! HŠ­&¾‘÷›[߻İž³qd  X<¬½‹lŒŠhEï”2rxŠÄ¶@=}†8~·É;ßk\ßòÀ¿þëqù@‡Àû¿ŒzÿíäÓ/ TÑ Z‚»½85ù`SÌ­›ù‹¶ª€@`ž Ÿyï%ï~ê9fðá?åÃo?%§Ó™ÓifžJ© Â4 Œc$ˆQKfY–e¦äŒi%#OKt¾dªXõbå„0ˆ04)"H—ýOÑDÁ°–F¯Œ”4RjÀòäxæÖ½[°í»ˆƒìQ—øà9{ `¦H=có§¡ÎÄPXœ Ó_$]ýÕ| ™Gþõw¬G›@!yï›°ò1LþYÎ/“žÏ(HÏ<ºS5_­-¯g;Mê²_ÏwdO"Ïsáþ¼€Áá0r˜‚øßjQj-«;3UjΔeaYò²°Ìþ³ju">bò(O‚˦Š(D׈!%·Tµz¸oÍ%Š[< ÁÛÁZ×! 1º4S`#½£guñJ@ÛÏævÊ«#¢WHø÷°ò:Ù»>é?õ:Ø]ZÓfÁÔÈÏ…ûO¤8ðÇ © ò? éc¾þo?.é¡/XÊrþÔ÷~=aøw¨ù©ÝŸ°ªX|Š…±éL350…í÷ `Ñ3ÿÛáYërØJÔ¦ç[²ÙŒZ*¥ƒê<“çÙ+晜3˜2¦À8îÕv|Û««ó‘ư–Ì.MG*ˆVOuý,:2þ¾1u`EwC;kÜÕ5°¢€B$FWñ‡ö›Ù¬û%¹çµ#ëkhµ$¿Dô¨!¡ ãbâiõú{,|M/.ü»ØXÊ”1„~%ÄÿˆZ¿Éî_ E!\cñ XmÑ^+cYóz[~oKÍôÅÚÒ¾B*ym×>x ^ö¢%S—V"3Ÿ)çšg´?ð(Äèb§4‹#keDhÖtgaÀe‰šü×+AÖZ±V‡ånVêÀŠÍenÖÊ­—[¨¢Â¹À\Œª`/…)EÆ!1´TQŒ"È2ÿXâõV6ƒfC–°ÛF+0 †¿‰êïÓñçþ70.ü]–ç|^`=ZÅ )ðüç“_~ªÿ8¥ˆóhoxDç!ý#z’ø`¹EïVë ‡dÖʆwúÎNaß^f+´•×󙺜ÐevKCCw„8DhîJb„8@L[} T¬WI”-Å?§Öõ\¥·ƒqK;¯’­c:lœÊpK5g8ee)î^ct0 CbCò¯Þ‚&¡'ÌT¤¾!Åeë÷½øªˆ)Ôrú8¶¼ '0Qàû¨ãïÖÃ7þHü‚ù×õ¦&PáåG¤žþòéß œ'S¼uo|ŠÕ„I0[Ï`Ïl]ˆ•(¬‡´û‘n.ñÍÀrKbeA—™:ŸÑåܪ²›ÿþÑØjA¤»­4 iôï1nÇŠaµ`%oe8%£Z}nV;Žnôö.¯5§­C\¦@ÈÕ8ge^*¹v`EÓ80 P)1®Þï“Ùk…ê¶0»«h»ÿ÷E–ݺ·âBª±¼YÞ% xPgÐræðö±áíY¹y/€= ¬Çä8‚¾ú—°å·s~õÕ–ÁâO qt«&Ò%ƒÍÝí~"?8‚Këõ懈\€ÊÝåX5£ËŒÎ'Ê|B‹»/T½!Y¬­sÖ€ 2Œ;`¥íMA+¦ÝRùw«þêõS+ÿéçØÜ­[,ç` ¨Y•S®œæÂR”ª4âÞ¸Õ0†äuô)1¤¡‹­¡»Åp ®Õ"í6ÜÅåÞ_‡¾âêÚ—Î"óûPž»‘’€ŒWp¸ù,ËËoS~æF®Ïlàz#À..ßãò)ÔOþR´~ËéÙ²ˆi@Ó3n0`Zw;å¡uz¨kû§º¡ÛY¦7€ì1P±«Y–ì«®ŠûXͪÙ,Õ ª–¡5b˜GšÒ݇ynÒÖU[êîøûi·¨Ñš^×A5—Êý’9-…¢ŠàÑ [¨Î«1l J X1le8a–<ÄÔ¶D4cã´ìAiÕ¿Ê-Üÿ…8|ö³¢öZäcLßügñÉ…oä_òPýËåûÌ7Pî~'µþ*jMš+Ø9ÿ£¿ê"†ì»V¤.´MiØô2>EOŸ‚hÈø6¨ŠÉð+d¹ýeáXÿ ð{ùÕ?Çù忇TžB¸AÂäM Òâ§Ç¸Ôº[öZ¯ÑRYîgî?xA9ÝUW£äóŒ‰w³˜á£—ïzR·ŸäãRɶfÔ¨j-n¹Ì] ªR­ „m¦ÈFÜãJ,4‹¥x´˜"Á µÉ4ÎÅݵ–e¡f!/kŽÉ‡‚©ËtÈ ˆÃ02ŽÃ8´ú¬ÍF›9¨½œÇÖ ÜUý&‘à€’Íu<Õº”Ÿ`—»äîÝZ6"D̸þz=KyùiBÌÈÕ3˜ß›ûMØüñDYÞ!gˆ“«Í28îÞ»u%Ò{¡3ô©Âý€Úß J^ZÃKj>#C‰hɰdb©Ä4P«†ÄÕ“+ÆkÐKp/—eU‘w¼ªVŸ£µøÏV¨Úf*´ Ø-»o@gÛ#E\(T¥¥i|2›ŸË8xmVJØ1c¹¢¥¢¹4ÁÕ_+HƒsACp{Ï@ŠA’ü…Øù p©mBWõÝBõ ·VkêþÚì×êB]~í‡Ïóh¾ª7¬@ëA ž~½•Û‘4¿Bî? Ó[Àü2Qç—^*)Àà$7ŠôüÞ3]£¶¿­—{ƒ%W^½¼ã³Ÿ}Áíó—Ô’ ¦c„0çÊñæŠ=)í¥Á»  g…ábKõgUR->äCkñ^B­>QF»¾sÓ.LÑKT˸>l­TçK^.Ѽ”&µÔJ4óN¢–´VÛ%¡KnU"âÆå$ôX£ÙY_Se“™®¿K'èàE‚»ÿ…ÅCK) mC¤ný:˜ú‚p€ Qäæg¡å%2Ý"¡BÞI(Z·iÃi/eyzÙ›Y‘íÃúÓ¶‘õóéÌóç·¼ûÞ/^œ)꥽c¦H±pÌp8ð¡ëã˜Ü…Ôê‹©ŠªÕ¹… ÛŽVCÍ-U­™R¼ÈÏšúmÖc¿íâ cãQÅŒ\+E}Þ•šO›©µ‚ÁŒ "bâ8ŒR+1N ¬ T¯LY“סñÓ^Ó§Ò(ºTLŒ‘é0q8LÄa€µÐÏKtú6íCá<±ÓyÛÚw÷åHؾ7Y(<ÐçþuÕúöâ—\€(žO ŽPŸƒÝƒÎ/’1ˆhÁ(žó{øQ¯E€û¿±«»£ETMMN‰x¼‚FlïkaÎÆhøÎLjÉyJ°Ú\Z¥äB-Š!Ñ;ÛàªJÕ,·N˜w5÷ÝïÜÞÖ`gs¡P´²”ʹ楰´ng¯{w²ßÙXc % Ô1£ã„ I€âµ`Vª"pR#mÕ¥J©J)JΆ8'ž<½Æ®ŒÓHJ£Ï/•°öm‘ÝÎrolj»ëùí(xÛ(-q»‚ñ¡cûÂÖè ±·~ÿŽ&!¹uˆ `>ë|ßr~IÜw ‚F\é;„2% Ü\Ô¯zÊõ|¤T%çâÎTI10GÔŒå<#5Ä cÉ…’ fFï'\ûÛÐ m³´ú¢Á óZæ_Yo¾ßÍ>cT«­Šz^–œ™K¥ªw3kØeC (–•:WÊ0‘VA±¸¥”]Æ@q+9ïAD,ŠÎÊ’Óéó™z:ru}`º:’Æq¡ ÈåA’ùÇ‚ˆÎ`µX²{þõ÷xãü½?y]Ã…`&W!ùz''ï:°q«o²ç8ê.¸“M«¤O®G†çs漸u˜sr‹`>Àq>yYfC Ei‘ž»¿4„ 8) màcè)1BèQS«ø a³žÁ¶ZzÛ’ZˆÒ‡E†ä¥([D&^˜Ø¬V00æªÔ¼p¾/P”o)9éjVa ïùð \5^JežòyAó‚Xe0$ŸÚÌ]A©R™¥r¢pÎ3ErœH‡+´eYšZ^±ªH›#ª†×†W£TC«´ÈÏ\uõ{żs½^1zÐÖkÚžréyC/oiuðà-üA!H#—"Bç£F+§ñˆTp‹Ìêò†ô’šÐ.Jh}%Í7[ðžÆ¼¨sÌÓÌ|{Ïx52¦vÎáp`:^1N#±ßf¥½e7ìÛ%òjŠó²0gÞ; W}–ÄÊ>€Þ¨þÁ^«::M)YÕžú .¨M«vôOÖjÕ—¬E{…ù¼ðêÕ=ËyfÊÍ!ưR6SC—Š•ÂáÉXfá´(gÜŒ×L‡€Ü½bÉ3¯^8š0AâÐ\™ëC’ˆWn¶Ôêz܆[‚ÚÂâC¯]oîºïÕÖÀá³ö¹„:"RSì›ÆµöšPïçK|n³û<ïÇo‚ïºq£A Õ¥S…¥ ¶0ŸOd²EÂtäêÉ W7®4 ­nË­ûjÅZT\«»îûùLµJÑÉù`ðcx ¶æÖJØÏg»vÒus’žÁé“€XÍZïœW,8°(µ0/ ¹d²‚™ ÕȳRæLÍ…Z B ‘aL £+ç1OÑ4­®ËÒD”{ÅjÙIþ\0PQ„ÍÁ˜Üru »:1ºem‰´¿õßoÞ8+'-,÷wHJ ÓÄñÊg¢­_VúàwÙ¨ê›/FCB¥êB®´vÿ]B;\l©Ï‰€öóUzB¾‚Îï$´>%(XZÕƒG£Â‹wm­X XÊ•§ÈHc0‚)X@ æ¥òÁ«™w Ã8rs™¦Çaá3¯îøÑ¹p~vÍÛOFF4WîÏ yÎ\Í…ãõq­ˆðêI'Âj¡5'o³L T¯š(¥2/•¹Vò¢ÜßÍÜÝž9Ýû% /]ÇÄõUâxL¦Ä4FoÙ¸Ùu@µž£v ö”ÁÖº0¥IÂVÒ¬ÕÆë¶ºÝB¨!Ɉ­xТ¸V'?Jà ~wjÊRg–û3ËùìÝHˇ«£Ë)ù¯ZÈÅ7PŠÞîæ÷@È,E)µ%²[ÁàSólý\âáR¸ü¹Qªt€¢Ïƒ>§Néoò9pµ—×{¹î”8´%Ó.Êù‚{7 ,Y¹½_(¯îŽO¦ÀÕ”x:nÏ'n?È„|äú¦Þ»·,Ô“ ‚(‘LÐØø’_(Skc¼ZÁB ´ ¥œ3µ@ÎÊ|Êœînïf楠Õ/à§Câê0p<'Â6”Üula¿»´iÕÒ¤¿uíJÍ(â`a›âÜËb.éŠ[:Çhû!ø¿ñ.¢1FL"j¡c5Š:Ÿœó™zªT©¤iÄL˜—Êé”Yr&.D÷tÚ«V{}!B¿ÉÔ›qÐ ‹­ž ÖÙy~;aöô¢gÝ%r ²GÀÕ‡ÀÒ†f„V3í¹-k½yxÃñ8òd)¼|5óêå=KŠŒŽQ©uá|«Ô9r×Sdˆ¾Ûƒ´—h%]e-*¸è‚ÁÉ…ÑCƒ¡Ñ'˜4r%‰óì! BjuQÿwÕ\-%"Ct©¯ÞvùBÝ]½[ºm÷RuÐ1Bs&šä° ÐЋç·Þ^iÀò\ªo¿ã†˜;RC²e4C´ìmegåtª,K& F­‘i [O%MV¡iýZ#Ðò‘Ø9pß"Ö-UëénÂLWÏrø ëXÛº %EÕÎby»•s«eU¢¥ÅìãxöôÈ0DŽSäù'îî3ó¼Ëx›(é02¼ü6«p_„Ẋý«‹Bë‰ô€£kh[jRàa nYG¡Nå&s"gÏó¥fu\¿jüÞú…vP'1bSfTÜÊM10F¿P!nÝ8¦í‚h]]]÷¦Äï Üd×ãZù‹îF tq·»w;,í~m$^ÅùVÍ!­'oæ’¼ÅÆE÷œbÏv;±»Ã kûVÛdèjl1zs›^fàœ¨]%U·P±_V‚+aûÌÕJisYÁ³wÓ<0ÿô盋ß–mq8¸„Xwû[°âkM²Úÿ¾Fœýý™ÆÆWÐÝÕuŠÙZVãòCDÛÑx”¸Y¦¢¶Fª-^%q^µr¤®ª÷s¶fŒýÝ_WØÿÞ†dЬ ’•÷Ç%À¬áÀ¿GŸÅ" ¡MJ© Ãî_l|`ÃÔ%ñZéCð6°0$’ ¨àuèÝUJ·²N\ñ‰ÈÍYYCù‹o»¨ `%‘ڌ͖<íhu¹²¹ŸýkWOu‰ª —mý ³vl}Tx¸ è¦[éΜңPÕfý º…êOi?Õ*<Èp«¤TÜUVõù¾,M¸a›÷zšhÝbÞàÚ,V”–zº˜Ðܧٴñà;¾¹®)ÛˆÊK4\. Û Ÿ?F˜$¡ùº7"6óðúÊw3¾«ïD£×¸;UiÝ+R›»[É=k¢Øó‰í2Zw{\\xúï뜓V¶ì"¢ô«nq7ó´F‰ëò„m±v[eûÿênÍ+!vÂf¯éW­øM-ܤö@µÞ¢Õ½ESZÝ}ö”#zwïwìÒÜÛý­=ß-CXggµ) XÛ…·•»ösvãÝ¢Évw¡ Ï Ã:X¤1ˆ°ëêÙóÊ×Õ_c€ÔÙq”â«D8¾ÂNÍZn{+xÖsï–Ú3O]h "1¶²aúEhD|-ãØu˜×‚Ç(^IÐOdÏYBðC·mVÂú¾ÐÊ¡mk“ÞCçXÝ÷]ðV¦åo×ÁàB¡J{¾»3º;r×GpwﯵŽç „ÍéY°Õ•y䨿þWѵ(éD×ÍB\ |ŸH3 £O÷Ki›¨ÜNÄ•s[ã5ZÄÜlØù­Àêͯ۷‹É‰»À£[Ýþ—•z5bQ ÏÏbWíþ´Ž¶•Z5@µb뤖n¥\ºo“„{N¬ iÒ£*ÖÝ&­Õ}©Ê’;áTbϨ‹ Ílo–B6N¶º_[É~çb‚“ùîCzŠe“à7Øç±7‚ÞùÏzQÚÒ)kDè¿ÇöoÕZIv·’»ãÛTy—)ü}ÔŒR¬¥QtsÓa‹Þ$ôqÜ~ÑÝP¶™ )2Ä66²çdwGÞÝèz6Ö „¸[»ì¨Þj²xª \V{gØéÒv¾¤ ±Wˆ¤Û„¤[dô_F¼¡¿µ°Ó¸ö‚ºžFiãé ØÃöæªVª‚ëÔÒ†¹zcŠB Ò„YQvÜl‹^úûívû¿XUè…tâMkæ—Õͬ‘¾ØµY»n¡öexîæÜeÉúï÷ž·YÆÐut—Ûî«ÓŽ×Cü°ºn·Þm¢Mn¿FP­_ðÙE{1£ ºMtt'HÇRÛ&vÉízžsãNŸ£’å‚ß>øÛERBt‚ºk®e=óµŒ×zƒÕ tãW°Z†¾x²¶÷›IaÈ•%ÆÍ›5àxÏ_{˲°Ê²jH[„Òºƒ‚Íg-aVòí§Q½RT„8øÍ:hж&Õ6³½óŸÕb7·â®í€n™:˜ZRy—ŒÖê®.ñYV)mÀÂZ¹z³CS×cHí3´K.JÍm¬RmB)ES»mpJ«‹{˜…ðМ³mŒ 7Çn,êukõyÝR]hÿ.QT¨3vxÚ^èîÏË_ZÅBëìéþ `¾d*ÕL®IJUb„Ã4B —-š1¿ÑQuz̈æc@#-)Í&!ø#¸»m$qÓßù›šRÚè¡’+qH®¤ÉϽhf)¥eþÝ2íjmwïnd·[Ö]ºe¥É ­çbs®¤è#<=‹ÐEQïâ>Ï™ó¼°äâÀˆˆið¶üŽcæ›ÜgØ{÷u)8Üܹºšú½{BjõV; HàA¦ñò»°þí ˜´5pZ™j¢<¯Ô‚To8\G-öaù˜¯VJÈ^³TÛˆÖÎãæs´ÖvÁÛýþ¢0uT¿[­º^@­-²‘ ]!Ü9vè–Æ;…(ªÚî)K¡ †Ú¯¢”’ÛWiVJš{èͯ õüê (d7 i©$@Š[2ÚT½,X!F?S¥¶1¥,œæ…óy¦”ºñ= $’Bä"SÆÐg]N RR…\+'­P¦ãÄ8NÄaô˜=eÓÜ\Øæ¡gûBlÕc¯•Vì×"…!a Jö2–²`¥Ý~­í­ÀÚ¹ÂÆh/ïèש*÷¦žHöæÿ&JhA¨ Q(¥‰¶]QÄ\þ°W>¯Duw{“œ™Ï~¿œZª #&ñŽêaJ–5m–q,ö’á>´óS»ØÜÛÒîÝ0­ð.*!†VožQó9]!¥¹³ª>" ”BÎ} ÉV‚â·M‰¨&dð¬F î¶b«]'ª×ü‹Vêy!׊…8.Äq$1 MMg²^› €ð!¼| ªßN¸ÿQMÈ” ‹ï–2ûàýRšŒpIÐ/‰û.-ºþ+ktÙÁRQŠõúreˆ}×»Œ 4úÚJ^¤õÞuñ~‹òÔ*óÙË›ïïN”’+DÔ#ž¶7cŒ>uoL„Ô%‹nî1$_pq‹…xYÉcÕíd0¶MÕÿMµ6ñO7-ë\ ÷猙Pr&>pd%áÎ=c£æÇ­ÛÛÕ¦9ÄÈØõª.4.ÕÊ s7›çL^*!eÒ4ÚÝ]cò¢½7Õ ½´5ØCkîd 3Īwk%ÀRJÄ!PÏŒZÊP]r]’ö]Ñú‡ô¤å6 ªa©n™b#Áž‹vî%­OjÝN¤u©‹ô*†.>Ö\¸yÏ{ï~Àó—w•›«È³ë‘qˆëa¦èMÑ V¥M é%ÑÃtk«ÑÊÉš%Ú’ ºò¯¾èÒ†ýúø£âÔŒjÊ9W–âs­¢}¤d‚iX¯˜' ƒI¼L:I …ÈbAûÄä–(nÐ뱘»ÞZ*9Wrñ®ê¼dbœ}4å:¢²wToï#²iU¨ >VãÍÂè*°OšÐÛ‚xŸ^¿éªÛîîæy­ÓÝ@·åßv;»‡®Í¯‹´‰¿ýfE}v+´6æ‘’W¡Óûèü°-D=Šô¨¯’ç3óíùîžzž)¢ä4"×”F?äZ½n»¢ø8H“6ÑØ|–ûjEL[iµŸNŸOµîÖf=»ðj+Áòj ÄS<½¹ch)—qŒë0Ûv%Ö‹#æmd±+Š7vÄH!®D>´QA²V#ì“ÞžÛ µ"¹–L^²D¶» ù©ÚÌÕHÓéx|½£z%óöš»ÓT‰nEk¹rè –Éó«¥E[Ìc‹ìV€5!‹knKú”7ôîS ÆÄ@E´5%´èSÛmCzÓku,Ô‚ÁBôQ ç…Û—÷œîΤO¯檀Ïu@Ct½ØzJ¥e,ƒè÷ŸÞòv+ÏéÜÉXïJ¢tkeA^Ñ݆¶Ñ’ìwWƒó™ý.q­€` V®çSCs^kåÖ%FŸW*!!í†OBO"÷@¦GU†&m¤”(í^µø ò¹2çÊ\A†‰«'×\]¿ÞQ-+€×е‡ÙFNwÒO¿«’Š!”¨en¯éåû7•&bº¤Ü÷ðê>Úµ¹„w{2ˆÏqˆ&Pdͼê.0°.[¬;B±^&[+¡úèÇû»™÷?h]ÒÓÈÓ)øÜ­Ò$-^Ûav‰`w@ÒøL;-—;ØÆK:hväTh"¯ƒ¨ŠçFY›R­)ÙãÐ&þÅ]8la?a/´”Vhàêù¾£*îºÖ:©&hîHx_w§ Þæ÷Gô2¦4ê¨Y¨‹ùÜûR)såT3ËÝÃŽêfÅZGõ›RÏ›ÕjD’9°‚z0MÀ!¿5ÈÃ7êЀå»_×·7ó–z« Á¿ä¢:Â9š¬9ÇíûJ¦Ûî“ݧ·D®zk™"œÏ ¯î3§Y‰ãÈõ0r5 Œ¹¸9oÊ»×u²Þ ws[ÎÔüb˜µH­4ÙV±³+évÑò†IÁ9LÏá5+ÕËXz™Ow¯¾„ž XK·œ`U¶)¡%oL¹HÛô¬úZˆKEjÔ$¤10µ!s¥KÙuTÏgò2s¼¾bº:2 ‰­â«Ü®½2¬ç&çaF†&Mµ„òÚ|È%Y_ÑÚ¤Å,¨X(ú½ÙȽªß)¢úðÙ‹™[?ç|Í « ^Á«…ŠgeŒífGÆ0FŽ«ëiIÖØ+;û¶ûÅ#<¡» wŸOt2ïæ¨§–Ö 4Úˆ}׿z®‘íaÛ÷vÛß.MvÊ:¿TúèíЫ9°B»ó„ì,Õë ²Ýÿ}ÑܵübÏ£Ab»9gM m¢t­ÆXÕÛíսĜÏèɧæÃßR»ŸO×Ã6|õÏ·×$à Z¯q)Á/zqSi= 뼪G‰Õ =z-­.©i-A6U¨Åï¾U7Áu+-nÚ”ycDÄ·è}z &Œcà­¹¾`L^)é÷˜a½8vQ›Ô€në%v;ÚÀ/bò {Áåç¬ß5tð·2¸°Nü+à…s±[Î=œ°¬ÀŠ-bvnåíY ¼owA/:‚°öÞ¼´×ÌiŒP#Ú6·©zuIÛ$µÕd2V /•c9GRèQôàíxT«7¸„b='Tφ¬íòZÛ´ÛβZD7k¶—"zÔGkOB+RT=#ßßÃoE²Í³ZCåÐlƺhÛEd÷Õ;j†1r[bqß|fØÊy|m/wToßê¯öùàtäuݼy¼ZOÙšþé¥,1%®ž~3íoþ ~Þ7Mþî›”Þj ¶°~-˜ íÎô$w/Ž+—zýaÿüàzwYnIvdßjkÞÀXÔs¦µ ³ ÛœÖ:€ÁGÚĸ @õõ H)0 ãuBêÁÃÅ€HS¾µåÆqîVªW:ìÝ X>'+Óïw¼’UÜj™õR^¿x]¡—F|agöKÖwkòZ¥¤$[}WݽÞBW¶À£ƒÛÇúlK¡ÖêÂZ9ÏšR’½ØÛ ;¯ìDµ:÷ϯþê_ø>>ôÎÛüÈG¾îë¿–Zï‰Sjk0 ­£fmʰî"[{×j™Üûù1x5ñrÜöCtu~×¼–<1Oa®ÊyÉ”6Ši­Åj\·š’¢1„ÔîtÖÛcv½ñTw‘ c8%â!‰™ç–2Hè5WNh¯ií~ö¢´fÚ-`Rüå;°Ð¬Ãzh½Å(6€]4É^‚¢ó-é'¬ãŒûCT°N’vâ¡Ñ/ôÆSW©¥Ø&j®îy' 8¨CkLˆÍJŒ¯åÿË…Ógßç÷Ágù–où^=ÿ€û§×=1}õÔ Iž ïåÀÒÏd-ÇŽ¯§n]Ö‹¹³tíç~Ì«µëÀokÖOú¢IĤR-«¹Z2¥ß0½G«Á §wH…myˆÝnºÛš…6)„%QmFÔ[„bB´©ßÚ®~Ñvëa q· ØÚ‰ô>ÖîZŒõ{Æä³?[MÐæÐ¶ ÈÎO¶5••’íYT}zªô³ûÐÍjwîÔÁVÕ+ <í9½¨^`¸64÷tЯáûÿÌ÷ñµ_{æü“Š_þücüÜ_ø yÿýÏòWþâ_⣿ø£|úãŸD’ð5¹ñ Ã¢óGÙJhV²ýzîn寝íï½û³malÿ×Å£ë‚ý†¬s)ºÅöê_И\õÝZ÷Ø{àö{b¡(![ÑärLD‹m-Ú.rpaÅš«ë_X+¨ëWjw+_êæÅ­‘ßÉ}§G¿±wˆƒo®S`µn+ZwI#¼Æº«ÖÏ^ñ|9Waÿ™+áE¼ 7ðâã|ÍÛO¼ò¢öÄpî–‚ß0†HbâoÿµóÙŠ?ù'¾‡ðþ"Þ}ñ’_òs~o®‰&üÅÿåã£ý(?ô7þoþžoüF~è‡þÿÀG¿©e¿=‹U%ÄâàŠ.xöãÜêÝ; ^ÕÃG'ó·½Ém®¯ÇÅÕ^à.¢ÍæƒxSL¼èPÂzÿÅö&Û¢³· ‘d Æ8'$ÑuVÈJ–{‚µW*v°­Ævu½.i[ wo­‘ÕBز*â&¹ßh(„V ÖÝO[Ø-zòÃ×6fqíüyY˺YÞ xoz _ÅÏO|çwü~¾ïûÿ<óRy÷ýC(ŠFEŠ+üµY5#X`^ýЉ?ÿýÿgo%ÉuwþÞKnµ/]Õº•IpEˆ‹¸J:&µR’=ÚFòÑî‘,%y<ã±eK:òydk$ÏŒ,ÉÚHŠâ&jH‚¢H‚  4ÖÞ»kÉ=32"^¼7¼ˆÌ¬)Ëî>Ñ•U]••qã.ßýîw?ȹgžæôñ¼ëßÂ…çβÔ8vä…”\zö,o¹ï ìííÑl.ô¼àÔ üþøcÞóÃßQJhŠÜ`ÈKÁ“Yÿ¯jÓPžç *˜5š¯5¦2ô”áôyrÛ¥aç”F#ý&²0±Îkåë@ús-=­)C/Ròé#–$Âéi?øÇáK[‘óº"WáKeÕv ‡r³p]ÍìUV+SŒdêðɪ¾ãð6À' IDATœ&S R8¿PHƒÒš8 ˆBÏ€¬¸Þ¢"‡O_·óâSfÁtŒöù@livŸÝòä3çyßû?Ê#%ÂñõyŽ­…‘g@*­©ä*þËòvÞˆÓÏW}þôyÏÏýŸL&P å¹ÍhIÞ§.%Æ&À-§ndÔÞå§ög9󕇸ré"ßóïâìÓg¸éôiÎ?û±VÜxòÝjJðÔSO±Ð¨S䆕µež={ŽZ}K—i5š` ­¨&纣ǰ8Î|õk¼àöð¡?ùßüŽW ´@à ƒ) ./‹ Æ „‰ë jõ:aäo¶j#ë¼q9WÁ$Yž3ž<_nÛ“)fÞ¿*º”“H¯äYú²Yȳï=xK_óp.”á|1e&Äà\¦ (£}¾1ý2´”I¯+9Ô²]- ÷½›Ç8 X_„Xcq…‡k„›ZSޤ£ˆZ£F­Dá”Ce]Úúa!\É÷*(\†)Jÿ\ÖSåþã5óL½ÄÔ˯ÍU•îy6û\P`²Œ0qRZ’J˜Ì¯uÂȹ±/¦ÍbaKüI•U•h…_Ù‘$YŽ1R8Âr­_‚¤ JJÆi&“HùU¾ŶŒûû9Í/çö[ï MR/ÓŸjÁ²_ žgÄHZqÄhÒ¥…¦`ÂïýÚ¯3ì\æ#üc®[­ªqýRƒ¥p™<ÉÙï÷ÀHÒŠ&½µ@ÓiïÑjµ¨×c&YŠ1†ÔLLFP†D: ×ïÑïfl®oÒ¨ÕJzÞ½±Ä* Õعt…O}æ)¾íÝ÷¢",„ßRñÛÊ ÄXÈó”,IÉ'‰o7K¹íZŒ*å¶MIì³srÛ^ÙšcÕ´­¤dI•èÇס'σÚ×þß7üSM©ÂòSUh “1!ã ¥ša¾yYáO¾ÕQ”¹UÕh–eœeŠå8yXn"Bø gíË׿/2Ë &ÏÈÒ¥3t PæM?õyö™ újÁEáHLŠDçb¡0Αc&#þÙ¾‡Fh9ûÌã|äO7|Óëøî·¿ž¬ÝFêÓÏÉ¢õ0d±SØ”a§’ÐïuY]]F®®bLÆÎÞ.õf“$÷+ëk<÷ä³HcÙZ;Äh4äð‘-.^¸Àææ&yaX^^F†ýñsgŸcam…ÅZÃßPB!µDêj£Ùl†µ‚¼pd¦ìßÍÉma‹$Ë ’IN–›©Ü6ÎyhÃz¿}­ÜötÌžç#SŒl> N±°odmÓJb*5@îB y‚ÂdXi§D~Qví§k¶˜ËÁJ*¥«hÆ^ÌK áÛP¨0"|…âgÞÊåBU·þZ¤õ³vBçå¿ó…‹üç?üSž{ö¶PX§@ˆÉ59) ƒ %B›póÆï|ëëYŒà‹Ÿÿ8ï|Ë}¿ã4yr˜–4Œº}VXZXàì^‡þpL×°ÎNÆ8W°¶¹Î`Ðco‡û±Gyñëoõkí”Wדe â‹ ?ù­,%«Ö3*2—csGê E!HÓ¿Cn»„o¾žÜ6srÛU«ê ªú†mgÔy¾ßß“X£m! B•¿%ÇJx€Ð£ç^úfžÙPü,~Ú׸´…#ÍA$uè ý¥aÍ( ¥q–?W¾½ó3¿óIþøOßÇhb‰£¹‰ˆ¨ë:©™°-1JG,¨€¬è²µò?ýÌOЊð»ÿMÓæúÃǸýíoãâ³Ï²¹¾AnbT"Y[Xb¯½‹  ÑÔôwúLÒ‚( |;Ël‘"…cœŒÈóœÑhD½Þdk}ƒá(¡Ûí ÍÅç.Ш‡,/.3IS’,aiu‰½½=¬µ,/4Y\^áÁ‡¿Ä^{Ÿþp@w8䵯»—ÿÁ§xý»_㵰ʨPåM¹+üúçGÊ\é9~2É™œ?/+¿f­õ2Ñ™"-BHL[#•5zS•~²¤¬0\¹‡ÙæÉ0¡½Ûg”¤HqMÉ ”zô$`G¥UZ!̳uç;~g.\¤p~-™% PM²")™MMN-r“ðâÛNóýßóøÊc_äìSghˆwÞp=Kõ:¡µ˜ý>›q‹Þî.ËAÀR0ÌÆtwv÷ûÝ:£©s¬­­á’Œ¥µ%¾òèc´DõXC2ãœcuic »¯…5‚ ¤5¸íÆ[IÒ1õÅ®ì^-)Ô°º±Š1–å…ež9ûGego)%k+«<úð#´Z-úÛÏsê–[øÄŸ=ÌËÞró´©lʡ֊Éú|¹mÈ%Ï-¶ðÕ]%·³˜²Ì¯jQÖh}Æá•÷}1fmRå¼SqŒ-È­©­Ôq¤”hQ©ÒÈÒÈæÓ0ﱤð;Š<Å iTMc¯ D ÁÒÌ0—° Qö‹J5é7ŒZã÷êåã„4IýDDq©ã„—~_¡(çoÃOÓïvKĤE€¿/5¡ȲG A3Ph—òcÿè»i_úü§Ø}ú!n:Ôà¶­;i„ V tööéw,ÔjŒ’„õÕeäê yš°±¹NÖZ6×±×ï“ :;{ÜtêôTN¨¨¸õIJÆ “1›këÔ¢œ,õ½Äl’ú‰&áèv¤Rt{=6××IÓá$½^‡Õ5Ú=pµ¸Iš¦\‡ƒ™–ƒßõèœ$3¹‡‹LæEHJÃÖJ耰iS²Zó"g*ËeДAˆRªÐØ,öHÙ¤êT„¤¹æaÙ*'½- ›L–G@’[Æ“Zt,|B) >z&â³_xýõÇÙÙÙa8îë€ÔlfëM²ñ@[¤éÓ”žtø†—ßÍk_ú"Î|ù!ôÎYNž:ÎÍ÷¾†"±7ÆQ0ÜkXGЬQÒIÇtÚmÖWV¹º{•Vk‘ÃGޱÛÞç‘bãÐ[›‡”gΆÖò N:ÆÃ”ÞhH§Ýfee“f “>ÍzƒV£Î ™`ŒãôÉyêÌ“,4›\½z­5'Ož$Ïsr`Üï1™L8²}ˆ½š­&NÀ•³Orç-·ððý°ùÒÓ¾«”3Ï0Å”¨¼ZÎÂTYNþýä¶R”¼N™ɲŒd’0Î&¤&/õÞ}ÿ0*5¹BL%”NÍ œ±Œz}¢ bÜRëÄQ^¿‹C”–Œ’1q½Fb26·6(Š]HVÖ—èì·É‹Œ°¾H¤4þOðÓ4åðÖ6“É„ÅÖ/^¤Öˆ1Æ0ë´u„„+;—¹í¶[Pù„¦D¡ž‰ÑªŠ·&x„zc’%=/ù÷—Ûö´2Hkm9òŸ‘¦)“4Å‹CIE„aXØÌÈüGÏ԰΀Ða‘ǨÐ"QúXpNÌìꚦc f “B0¶Š@HZ×Â*~ì—ÿ={RÅäÎs¦ÇÉ€P&ÅLRB "Î-4ùéŸú ÒAŸþÑÿ˛ﻗWÜq+C+EÆR#F’t4¢¶¸@2à2CXoÐïÈLN£V'ŽcjµÎ9ê!W®\amc~ˆ—üŽ0ÆÐ\l2èõ¨ÇuNœ8Án{v·Ãêê*Ý~ŸÇœãÇcmá÷ÿ>Lêƒ[^Za0C™¸†a@£ÕBb©5ê Ç—èö:„aÈ©S'˜d)q-äÈácÙÞ $g¾úŽ>ЬÇsòۥܒÅó¥ætÈž'·=e—üýä¶gГWb® på [”òO¾Ÿh¥çÇ»RÚÊ•òVÒžŽœ(g:§GÙHЮ°Bk¬±ÎãtÓ %®5°²‘)„@¡ãÔðµó~üù-”¬‘®È(ð‚ ”X3¢.%Â㈗Üv ïxã7ó¡÷ý9W¾ü wÞq;ßó¶7Ògz€[oz˜~¿Xn¿óVò"ca©Åá£Û\¹t‘,Ëh6›,/.°µ¹†®Å,6kÓrßÍu5lÕÛS1¯Â”ÿ;å¶§C•%•ì‰/¬BÛrj]û×à K•;Q…!QèC¡§Ùœ` H‘hl.Q±ÄHo‹>ÇšŽªœµGÄ×Μ军^ÈhRð{¿ûÿðþ÷ÿûû¿;E7Œ Žƒ%+ ,’Þdì›6,Í bk¥Á;ï{=ñGÀ/ýÜϱÁøò9NÛf8ÐÙߥsñjµÚNh…’V¬0…¡Ýíp|aÁ`ÀæÖ6Ö –––ØÞÞ&MÆŒÇc²,#Ë2´ÖL&†Ã!N‡cÇŽÑét0ÆRJšõ{í6Î9:}&“Œ5t¡„caa‘,Ë<=FF£qX£ÈSúý>“q‚Åqý 7qþâÂPsáÂ9Ž?Âh2æ¶;nc2³}hƒø<{{{lmmaŠ”ÃG¶h6›\>²„ãÇŽñÔã_冗œ*=†œNR«rètª97¥u”Þ¤"ï‰ÿšÜ¶œâR¾«È”Öóãp(M$„‚¢ÐSN½” -½a: t©u6OR,_`‘9ÃBªXQê,Î’÷ãâœûl׈·¼õ]ìvúãg Õ{Ì){\‚’Q0™$ÔšuÒ4Áæ~¹÷¨gxá-7ñÅ…~ÿ?ü6¿ø“?Ê/¸‘/}öoh6›,ÄKÒk†!‡7×Ñ:¤Óëé€,õ^b8’åq“XC22 ©×ëX a㜣Ñhç9Ãᥥvvv<ÕÁÅ‹Y[[£Q‹èö Q`a8L zÞ8‹I'´Z-ö÷vX]]%Š"’$¡ÑjÒï÷9wþ9Ò,ã/xfÍíC|þóŸeg÷O=󟺿Ë{~ò'¡Ûæsó7ll®ÅŠ«—ϳººD|ùáÑÒb„JúV˜ÖT›=¦× 7ãí»ÿ¹mQÊmÏÁC¢¡N ´Bà¤Cj5•Ð¥(]Eø«ä¿Ý4Eò¶âTˆÃ"dõÞ|ýk°Å½…QŠÉz‰7¼âí?Ng0Éý:[¥ÃrÕ­ÿå‰Å…1™É0EZa&œËKV³'ž}ìËüÈ÷}îoÉG=^÷šWÐÞße’y¼©×mG1‹K-Î;K†˜ÂÒl5iï·Yß8Äp0Dé€^¯GXîk´fiii깆ÃB Ã<7¬¬¬°º²Ê¹sçȲŒV£F·×&KSÂ( Ï=m8I„=zÔKL[Ãxœ`L†’……&Ea‰1›[›œ8q»{;Ü~ûm|äcƹ‚K—.Ðj6ø¶ïz7|æ~ž~â 6­QO\Z\d<råÒ%î¼ívoo3^_$Žb¯+ZV^´gØ*UŽî+5Gm–ž±P†ºŠ§ïY zzL/ý\´gÊNr/½¶8´Ö" ÍÇ€%¨…¤“>`æ{ð(÷'c ¢8Æ8¿E5þÉ¿aœÜþ¢—ð§ùY®Ft3C/5$NÐZ]£ÖZ 7Óéu©Õjžøo ’ñ@ :»»J±ÐjÐjùi›£GŽ7ÜpY–!„ Š"Lá“åõ•U„nh6Y]]f}c!`ww‡Á Ox/0èuéw;´;ûÞû,Ô9qâ8ÉdÈ~{t yòÉ''Ct¹í^k…³†4S˜Œd<¤Ûn£Êײ±¹†uŽýÎV rgYÞXãìÅ h'ÁXlf0©ÁæþÒH$Jh´ TD¨"Béxú8кÚ2!=ïjºÓùš._5`Wý-\¹]£ ”®Da«Ín¢Ò7»öq‹ˆª•-±Nã¤ZÖ%ª†ÀzQ.çf o Å$&#®El,¯qéê%òÉ©•_#öÈÕ—´&Lh†1:KÙÏ N//òÇïûïúö·#úþägxÇÛÞ°½O/PXˆ¤#ˆ"„R\¸t‘µuL^`')q£ÉR³Ear.í\buc…Âæƒn‡Ûo½…tœ0 HFC´l!¬£pñB“<›0 Ð|éKOSk6ˆtÀx`î¶ž!Üó—s^+¢õ«&JçY¢î`×>Óì¹|«Úëä+g±"@:´zï¿ñÍÎä¯4b 't¹Ç¢,oì»îãw?ðiòÔàg$BZõEÒþVÖà¦Æd¯+#›ÂÕdóG k §ˆ»B̸u•=Zƒ”áŠ/jTÔ÷œ1Ò5f¼g80¸úärâúÛØÙa¤c‹§ [À”Feçb¿¤¥f’e€dœ¦H$£<ÇyR°%áêÙ ÙÜâ™'Ïòàç>Ï]·ßF4âµ@ãZ„aȹsçÐQH·ß#Œë„5W zÏZ^&Žb‚  ßïûÏÃÀC“”^¯Ç±ãGiÖáØÚZgéÐ .œãâù³lmmÑëu8}Ã)6VWp û]FÉõÍ5¢Cd»»Q8•§Ú½>˜LA8DLÁx<æÐæ6[[[tF#†Ù„d8dûÈ1‚zÌåý6íþPU›³¶Ú=衲¨L^êKä†ñ8C„ A=&jÖ‰êu‚0F…¥VéܸÜA3s¯®è…uÝLó¢Œ8sþëy†ª¦Ú_eþ6Ç”¨¤«¶©ÞûÃo~¯2¹ÝdF rs‚UöÏpã÷ðçïÿÿˆu“ÌZ49~x~¶ Òs˼ªT{, IDATÇ3®’žô¹XPiDBXÇ#gžâØö!®?uœ/>øeVVZ´5¬1äiF{c â¸F·7`m}( èuÛQ­ÆÚÚ:Yž3IÆÄµ˜N§MnòRp_±´¼„u–ååEš MÍ(hºœ¿tz£Á]w½„¸³ººJa jqÌÚæQaLN,ª-hïﱺ¾.g2!#P’4IÐRÑZ\¦ÞlQ ¦“Œ9|òõÕ5–mðä¹sØÂ"ƒÂáŠj¨w¦à<½ð¢¬íŠ‚"7diæ&LrL–S¯–h«<•œÓÔçÌô*UF7g>=G–ôòêP¢Ù²ÁáFÀë^}>ú¶½e ëËËXkY_ßäÒ¥KÔã˜Ag¥%õºF†»í6™µ´j5žxâ îh5X^^¤½·OH>L^dÜþ›ZñìÙ³´»mâF#'¯ãá¯>Æ=¯~ ç®^ºYC¥5Â@‘aIòŒ ФyŽr†gžy†õõUÚW¯ °,7ëŒ#Š`i‰n·OÐh;Çâò ÃÇ»¿û»8qÃit ÙØØàðö!¢("Ïs„sDaHn2„ð îÂäYN–¥:t…d•åEò² =zýõœyò)6aau×é¦)zj«KØf2Ææ©g 8ϧ’eÞäbj´Ð2ðµÄ`n«šƒ3¦0CE¬7Bn¢qE„AJ_̇æµÁ, UiçþNë?ƒCˆ¡$™ñkÒjaƒ$K`z~^W*š$I(2ãO<ǃ?Ê ïº“~øÓœ<~Œcǯ£ÓÞõIôÆ­V­%;í]ƉŸ‚ ¤¢×ërÇ·óðÑ úý>GŽC^¹Ìß÷?Òh5YLh÷ìw;Üzó Ä&ВΕK¨µ5"­‘¶ Ýߣ·ß)HSƒ Çc&Y†ÙÙe4±naã‹K Ô…¦ká9S`ñ±…ř‡¼’4'Jq9Ýü ª‡j‰Ò¬Îò—Ã7™K˜Ò:¤u¨iWÅ5Q^A\jº¢ Â8—al†(B(B¤Vå&Ü™öYÕî™^ï•bΘû¿Ù—ýõTv®…²ÈPZã„PNH1ÓÃ:X¦0*fHlÿÓÿŠ€Ø#Åh”jä…)Q{ }pÍ119Ý$¡ÆÔ>øÑOpï›ßÌñÓGø“|'ž~†$°´¾Ì(ryç2 Ë ÜxóMÜ~ë­ìïì°ººB|ñ püè^ùª{X][¦Ñ¨±º±Ê$K¸¼s™ Ø8´NX‹  ¬Á z„ÂI¨Gq0hÔkÄAH³ÙD뀫»»4X^Ycec“Ýþ€ËIB7ˆéâ™I–1IS²,ÃäY©y5ê"÷"ûÊzW²3g«ú¦`(‡X”­°ZA¨‘FƲø‘F„*T¨"I B ´ l y‚M‡“Åd„MǸ,Áe(t¹¢’Kw¥Ý̯®=*Þ—“ -y"¡’H\f…Nù|m¾¿Änxþ˜õ, ˆTŒDù*L*`ŠŒYïpÖ*˜Oä tL¨kt² …R žýëÿo~ç·sîR«í6w¿âå»îÇOç¥/¿hŽ=ÂûÞÿgè@òÈ—¿Äõן$ŠÖm°¿¿ÇææÖÜxÓM¬®,jÅúò2Ožy‚z¨Ùîi†ƒ.ƒÎ+ B­P¢ÀÖ– ∨c¥ µ¼B}u•K{{Œã˜üèaäÒ*ÃdÂ(IŒGŒÆ#’$!M'Þ°Š°HåPD‡Jd DèR1O (5À¼Ì­¤U± áwfRRh…Õ«4V* ¡)„ É-¥¾¨O È|þUL&É„"I°I‚Œý‘ޱé›±ù›'ØjÜT1Ûp0sŒÃ)–¦*iP‹PïýÁ×¼ëî5F Dä“õ™[œ:Äí¦·efp§Ž-ò±Ïv„ý«—õÚ¼ê5¯d¸¿G’Œ¹ðÔ.OH¥F¨˜$M(œcai‰X@ky…ç.\¤·¿ÏѶ©·–¹ÒM$JåS "?‡X Ò1Êô •·9°ú¤Œ¢jù‰›i"\yƒòk”!±jû‘Cé‡ý8º¿‘­-w<8¬aj~Ç%u¸¤x€[”ânrÕ£a~}Rùµ’ϳ¢ÎçXÕH†¡öKÿÛ/8Uÿ“I€+ßì5ý!QYmµ~mnÁÒ_[å;¾ó;ÉqH97«"È0ö9†1)K‡VEáðÃø%,ÔñGKÀùOÿ†KÏ<Ì]wÜÀc_z€µ•Uâh ‹£¹P#ÍZ&EîïZ‘%´€Âä {}v®^æ¶;n§×Þ#ŒŠ"'hÔ†‰1¬¯¯ÓëÙïwYß8Dx㋼âw‘â²6ãa›+1ý %áÍϜּ—¨_™B{P3”’P 4¯ŒÃcx²œX©–JªˆRžw17ú5…{Êë]}mM ¼ÜíŠràe®°¯(02Ð~µoPêe2?§w6P™z•äK95¨éãR.Tçûh•ƒÐ?îW6‰›f*¦ê½n¾Ët #tÍÁëíó=ßû66ð/ÿõo²Ôl1å ¼BŒM}E1y>FÑh„ÀMÙòn/üÍŠÁב#O?÷,‡–°EÎâÒǯ;ƸŸSk´@[²Îk-ƒÁ€F\c<cóŒqšQ¤)Z ^póM\>÷[7œæÌ¿ÀÑc‡É³Œv2beûçööÙØÜäØí÷”ò–Ì`¯Z‹Cœ’%ÙM‚˜-&˜.Ï,=EµÔR -È’\i¼V2×/cY-Œœ©óLWÒ ¦ªÖTMo\ºzÂ꣫6¸ÍAR"d)ƒ^Z#T0óBB_¥:®ù\8–sEžxUÅDB ‘ESd=l&±2.^MŸdVˆjCÛ\œ­|ø·ÿÃ7ñ®_úDÆÃõh‘QjPÂS¾Â &ÍÇDaHšå";}R'¼zGëý oŽ(Šh4fÄúêƒn‡@¶Ø½rUƒ$c²œ4MIÇ + ‹d i¶Ô㈽+4Z-.=õ$+ëkäEQšÖÚýܲzÝ„kÛSÔ¹5™©MO9Kå+‰÷P'ò€¦°¶ÜËX* W«Š§Qª[‡‚@ø=bn`ÁÉ ˜ÉŒË –˜"E³Ú}þ:ι/*uæéb­ «œ»¾U.=oZ®ô¬nú\eØ–Š„ @ÐÕ Ú.mSŒÙ$EÖ—@*çµ!gÓÓ”Kª¤oξþè—þ;¿v;/{é½ô“!5¤óºZ6OQX²,%Š‚P2¦|_–ZÆ)Ž4/¸ÿþûù‰ü6Ý}$–•ÍCœýÚYm#͇Ԣ4MY\]ãÜÙ³äÍ&Ww®E;»9aäÖˆ#?Ä1½á59|òÆäL“¹2Tq¢òÁNT5o™—Vù†sešP†ÇÒsø¥—Î7˽E®˜˜³esþ÷éòb;5ci‚œ>ó¹‘ÏÙf¡³º•€ÇìiÞûToZÍ]Ìií6ûA7uóFŠJgÆhL™¥K5EP§¶è(º}ŠÄ`E]8Uówn)uãåU¹ô§ÚÝ2#›VåãFïË<ó±_çþçêüÀ?üFY… É0ŸJEj-&µdiÕ¯bzWTmŒŠV9~âwo÷*[Ë[(.œyœz¼B¿½O–é :4-‚¬¬¬PÅ%—½g²"”DëôÛ»d&em}›C·CMÜ×2ƒY<»ÒZš@j*5Ã?ÔYUE>/'ÌÍA5å…UH´sǼ•)Š\I Qú&3Þ›÷ORxÑáÊùZqF]¢š„.ÿ|Ÿ×Ùܵ˜ùõqõˆQêKJu¶T•“ ?2wW)!––t´‚‚·¼á$ýƽ.‹ÍEv®tX]\fm}a·ÃÆÆûûûÔk5Î<ý,:Œ‘QÄÙË—Ù8~Œ'Ï_d"$§îº‹Öæqtcaþ>ã‚;ò¹—дJ ‚PÖ’ƒ±^T6 4Z••[u;‹Yr]yãÙZ;Wê%T%½7Œy&ÔÔãÍ…¬Ê8æ|Ò4ÔU ÞŠS%…$‘.—‰ðJsáMÌnª¹ß^VùY C!|õ'Ò '—É(áÿÕú9Ëæ€Õø9ÜÊ#Â?%Ùÿ^]×ÿd};ÚXZž0LèôƤyFÅXiœÕZ8@øÝ8Ò‡FÓ7X’êrçxøC¿ ~òW?ÄÇÿê~.ïíà(0øþwQÙåôMz¶×x8BYE:Ì &lmòžA)rÖg8ž¯,s¥×ãØÉÓüÁŸüû“Ÿ~ã}¼áôÉÙi›†¾¹Séª=„þŽÏ äÔmp®dE¢ÈGijR´ß:磥.˜‡dÄ4O™ù”¹ŽCi|eÔÄ9…Î TQaöºæŠþ©'©ªHÊó åÈ–se•)¦ ËŒÈ7}’9OTNõ»¦7Y¹^¯,Rª™0ÚtPÙU„MA˜óˆÆ/;yèÍ wÂ<ú‡óY¡´píãÂŽ~[|?Nºû#úI€ŠC8­C¡uPr¯+Áúy€¢ºËªQ¡R7`n{½É3^xßO1±Ð/ @FuŠ,'t9«–ܼ¡øÑï~/¼ñí«ç=µ¸Ñ`ys“gv.pÇÝwñÈc_áÆ›ob”KÖ· eΟ×ϺRUÅk¥å¦Üä¤i†)2]J YäT?+5A³V§Ç^¯ªJ J™¡ù»ß:Qê0øßn©VíyŸ]1w«¢À{:;ó¬MqðÍÌy0ÿQ" E@MEBÏÂÞ#« «º ®É§ªïÒß`vL`vÑÂ!„£ô¿wnñWÜØg®§o{·ÿñÒ¸*ó86n÷e“Ÿû*gŒvö÷Ç ë„µhJè÷û_Jý¥yãÄT 5­5EŽÉ}³ö¾ümTk‘G¾öQâ&cÀp¢¿õ/žIï*q, "Éêæ{Ɉs}Žž<…À¯kÓQ¸ÚÄ.+ÙïY>è/Ré ¬Åä¹'Ìå^£¾(Ê…J&ÇYS®Ùó…q†ãêRI¢0" ‚YÕ¬üÒqY®®é)P^ܪ޴e²o+o%Ä4²¥a¹iÈž½ö9³˜3­ê_oX‘ÐÔeD(´÷aÓJ²º›ÞbsQ¢2¦2:‡”br™ÐŽPAÝŠ`á#8ñ‹Ö­} 9N\ßöîéSpq]c`“š,vß æWœÇŠÉXLº#pAˆc„ œTZH¥½˜E+5Ç`tåú¶¢ð†e ƒ- …«îOÁÉ·þ5¡ðâ#¿ú+?O$ ÃQ—¥Ç1Y6£äY^ ‚ˆz«I½Q# Ct”ùà\Û¢jO†"ϦÏU?gç¬_Ø‹5`r\Q`Œ¥p”‰·¿ìJ«r¹”W‹.,¥¢0öŠÑR—[Uq¥ÑÌåaÌZ5Ó‹;ý7ý¿j4«2Âk‹¨k=7,A$¢4¬yáŽ*TW§£ {åת֞£@æ#D¶ƒ‚°õ8"üEk[Æ©ù)å©A}×t÷ª-\wE0ü óEœS†í ƒ‰#¬7ýI”Õ’%5‡³Ìé8ëÈæ“cŠ|ÚÞ™V"Õi‘Š{Þò Ä9ÜxDñïþ÷Áêu‹>|åk2lžû®}îC×$-0N ‚¥5RQD\‰ãÈ+õ•ņ/ó 6Ï0YZWAQÊ#Ê*[©¶t8˜­Îs œ×7P>æåyA–Lá=YGÄ…¥ŠU6½€nÆ-‰ŒS£‚ùß‚`z»>?Ä ’MØ -æ ª*8ÊgªÔÁ¿÷ñ-‘A­‹ÕQÿ-WDÿˠþ[ÿ†¦%ؽQƒ_ñF›år|þ""Œn¡âJi'•¢Ü"*…¯þüÌ@áßÍÉMVŽ1U‹œæúd·3dYjå.übsü”qa È½qåY ø k G–[rã@*¢ZL­Q'nøÅG²4›ŠÌoäJ'²4£(L¹‰¶TÍ%3A*´Vh-|2_ gÈ’+b‹“åäY†- ¤qˆŽBœÒÿ+™ 3¤Û•›¯Ng¨þÌkÍ{¯iì¹ÆÈ¦VoX2.=Ö<´0ï­|v d‰´âÝ•ï#”6è¥ÿ‚Ðïµyý<ùx^Øûo2¬kŒ«:Êð˜Ö¤í¼êÿoïÜb-Ë®òü1çZkï}êÚ]¦»mË2$ +Ä ¡H‘¢ ÊðFŠ@AG Àcì@ˆ9â)‘Q¤€@âà›%Ìq¹Ù¸ÁínwUu]Î9{¯5烇9×Ú»ªOYn»«LW÷¶Ö9¥ª³wõ¯9ÇüÇ?Æïa¼õ¦të“lO"“lÐát«½ÿÞìYè^d+˜%RÉÕZ6ŽY\«j®²7ˆ©?'H—¦Ä¬,¶ÏàÊ +©Þà\·Æ”¬–vB [­ªÍfM×÷ˆ(ž<&Æm-¥q¤ä 1k]*0;‰ÖnŸ. 1Ö©w´Õ [íÎJíûK ·Òì&R»uB]Ek!8€,ðšbØyØ®ƒä!LîJæ{í8 +zíHG9¸£Õ|Ë©$´L× v“.dÐáÿÖOZyìw¨«ÓªO¨O X÷Ørz¬ù×ÓßÎîÖ,'7®XÆÒ“åt›j Ñó=‘ç^È–«ñ|X‘ýÉr©g1K„ê*5"€™7Á?Õž-eÒ4’¦‰œRÝÒr!7F[Dê8éõÀ°Y5££A±ìŒÛ‰q»c<Ý‘Æ /… ÛØÄÅñLªž*DˆQ†ÈοoàjÆ¢Ícº:x…Zû }O·êˆ}-›?óE £u{-`:¼îs’¿¿©B'›8—kŽŠÈüÁ}"N×QÝ¡ýùO ý{<¯~Æ}µãÓØö>c`°;é‰ò‰×Éxõݾ»ùun>¤¤ìÒÂêZomûûy΄C”À‡:?ë°£õCß!å61]CbÙÒ?ö~gõ_¼\x޹YôEê3Ö§XÄK/驯 ]ÿ1¶Ï‰¥ £­°p ëz'DÚÓëû ½ÌÞϳ®º~,s˜¦Äv71N…’›Ûz1T”õ0p4ôDqȵ‘3¥LI‰’¦¶j”Öô¹R˜("aèéVu‚h&NÓÞ¦MEêÖ×5kÝeÐØ"æ¤ÚÚÎÚõTµ%¾jÝ«[­ˆ·tª©G›e¯öÚuhßAŒ#¢Õt6 ×Pw\ïת¦~;¾ZŠ©+”ŠÕÐñãˆÝt¼ü:º~§…/þîA<`Ý®}þå¥÷|{¶õ >Þú.Gßh ’òšÂÖL"S.ž­Hö*PËM:sH²ºÁ8%¶ÛÚõS’1N…i¬~=C¨#)7¢4‹7<äq+ñZǃ¦ºlŠ„9çiùŽ‹ $ÑHì{V«žaèÛµ¹Â@ý/š''VÁ§‰4Žäq¢´Y óà U¼š·àÐGúUWOÔ}\V/Ñ®Êe´[èšýéñPK‰èàvÎâ€V#ÔP96×Z´Öé:ÑÑPÀ¶t?húÆ_†uç«Ôa|ÆÀšã.€5éQîe|ꊜ<û=e¼ùÍæñ\éÎKaÃ(Gųgs)-ó—eÌ„9¹áSj9S®zîœ %999»)‘RM¶» B¥¦êƺ‡M¯ 1з¹•UZŽ|PRqÆ"xèÖkÖGÕx²_ ô}Gèf Lm£jb»2%¦ÝÈtºeÜnkÎ6MKû»›-+Œª²^ÇêÖµêèV‘8t5©m{ ]áÅzŠ<È¿˜ÿsÞ´|?Ÿ¬Û+vÉ'ÄòI‚‚è-TÞçòÈOzxý-^B@ÍñYk޳ó/<ÿû_ê§Wßáø[Š Êê"ÅÏI"°+JñÊ„0³ösAÕñâÕ‹§mu¹4€¥Bݘ9ÞNœn'Rªôj)Î8&rJtblzáhØôõµîªsC Uy0ƒËQ² S"båä$FúaUís7kº¡M­©èZÞcÕ[(ívŒ§§Œ'§ìNÚI³T¿JˆÒ«u1°"ëudµ ôC ëë**3À¼zµåNBÙXo>ìÌú)—3$]CË-bœÏK¿ˆŸû![ý“rçIÏ^xW?óxÉ€5ÇÝå!OW¦¾Öú*O7ÞáEþ±Ç•”°‘É×’uƒk ï‚‹ÌЂ½8«ê•ržK-3¸jçɘ»1×q1R.Œc!åBÀèôú¨ QXµkµ¦}K÷Ku(3ê5»25—S$Ò¯ÖçŽXmÖ«jž0?¸ïurÂîø„i{JG,¥åóïë¹mðFTºè¡ëëס«î«Ò€]U¤ê¯–¯eþ¾]™ë²AðéMŸ¤Ó„hKˆ=iáý6„%1ç%\¥ã%ܹ=Ž×ŸÝ„~Pºn¥éÚ²ýÈ×cöÜÂÅB¯Ù7äî¼ôë 5YõÖ¿Ó@5K—­1åÞœÛ-µü¬½J®QJkw³nË ÑIDAT*•ç bía®ùPÔzšëB³gÔùi×…S¢œS©=zÙÀ©7ºë{†MÝC64Ö™u9“·;vÇ'ŒÇÇìNN cš©ñv1ÔÖúÐ ªƒ—Òuˆ¡µ~…ªIµ+3À½z‡„)MìpŒ0]'¤§k/Äçy¯óøÿòðØ–û°í÷Xsä?ýyI7ž¾ìŃv}pÕ(Ý0èî™/”|íÛ|¿¦¤±Ë¬%=&ºº„j‡•ìn.VJ;UÍ4±—ª´,UËd‹Â³½Jíš©éOUÎ×Î<Þ§ßÕìˆPKOK©EkWoU2Å!»×:a³3Ž}Mî«SCÏ*(oÀšNNOØŸ°=Ù’ÆVèn={3›¿ì`­ç°Ž–Ô%¹×}×L׫ñºv]Y[Í$Dר ;&¤ëü– yÄÃÿ]ÿ¨ oz–Ï’>x±q_°ýÀû^¾ ½+*º°ûð¿`<~[Éöæ ®/ˆt—…þ\”2NMÝ$)\](g¨…¹ú¿\óÙ ¡T0¶ãžºr°KÍ®-’BkF²sÀtï»X4T*"hǪ[q4ÑIVÙäí–¼Ý26Ç<Õzí!ëT„Ö@:—êš/M T]$öqˆ«0ô \-‹}-}I&¤gÐ|Ãë“èD†wŽöùê×ço.oú€@µþw_£ä‰NÚ½CÑ-1ŽeõE¿)Ãô»ñøÏ¿V=}/vòX±D>½)exôGhšSŒ¸·Z!…¥eÈglèÁ»Vk¹OVn¬ÿj@¸£ÐëTŽ-Y&™“JƒÌÎïRŠ×!cQC=õ)àŽF¥[÷„àÄNÖfeá¾êøM«¥¶Oæë ³ä°*ÇÕÀÔíûˆvÒG‰Î!]sÊMGõcÈæ=ÉŸø¥R‚YIkày  æ¸ïÀaò:)ºèÆ‹E_1回¬¸†ã°yóÏù©_Ñôìw«ßÓéZÒmÙÊãÂp‘õÐ‰Šº[¨%h=î»7ÇÁä–ù*N Ú;¡õì5÷…¶Ê™Ù c.ä¦ ÈÅHV¹µÙ²ê/g\—VõŽL’Ä<ä#6ò3ôqÈt¥®V³-‰û¾á×ea­e̽=%ªû~¿!v­Ù´©R¶èø4£Cr°ÛÄÕÿpyä'‹_¹é抔#íâåøO¿ñã÷ûŸ÷X ÙazŠÑ‹jï&+K%[6/žS±Ü½îZ\½î]½ÿÝÏE¹ñdP{KÜ},x>Ä+BX‹iõ t u¥²Z.YÚzäî½CÜ—\¥ë–f^§èmÇÄ.奣ǬÎÅ‘– Íî ³AÀü–ž%$íªÏLŒl6+†¡«¥3Â2•¸ÅA÷Ï,Cöù{êªUÉÛF+TFµŽóÐtè7Ð E$ü²³yOáñâ’W ¾Ñ.8\¾Ï7÷žñ€åEáTÕŬVŒ"!†¥¸WG¡ šT¼KÞ}ÁŸÚF¾IOþøkB7}?l¿ÐÇOÔüKÏ!ýE<®±”k’Tûà÷ôD«ÚÏ÷RÜ–?f^ÁZÃDnœXΉ)%¦TZ‚Ý~”²i¶·Þ†y¸yUP”‰ 'jdÝj.5W¢2^öÀbÎg˜ÏWêÃÓ4;. Q´œ Ós08ÝæÿãòC%_ú GPïÁáX9æ4°¬ R¤öŸ‰›f¦Aû1Ã7µàHÄ‹Š;rg¶ùgÿWÊß’éï¾SÊîßKyþ²L·™ÄâeˆçëJ4Ïs+3×ǾÔ²SÖŽ“™óJ¤šÕµ uçQrKª‹9…Æ9i ÄŽ{bìÀ+-â¥`¹..!(}³ïm(¢³ 3Û£fÆÓš/ëÙüP•òP!ø Ýt‘ ÃÊÑõóÿ Ë›Ÿ6[íj„©ˆD‡¡«k LÀû}wï÷X•Dw7+“†` cÔ¨6¥‰h£¨à…±›¯Üè•T4h"œ;.ë/ùqµ§~NÊ표¾š° ÁxºGPæVmõl¾MuÅZT›«Ô Q› G»êVÜÈV‡|d«Dk6Ǥº`u]ÇÐU¯w(bD-hë¡çh=Ôo±¼œTëVÖ Uóg˜¥Ñ3ü…ý×ਊ«Óççög.U¶¢ÐFUüjM–~¿bP¬rW´&Ûªd­Ór²¬Wº ¬‡Ža•ɧ´^ûï;µ¥þàs-³ô>¯ÀfþªÍI­EçX‹Ê!´2LeÛ›;q„=GÆÂžqpx­Piþ©VP»MÛµ]ÊÇáÖ»œ+ÿÇ}=ÅÝ¥iG‹CðJýU˜á¢ê`É1s  Õ9;>gˆþtã^òh¹ù¯õÝõï)o•n3pî äÖ? ðitJ–y²Ë¼¾PjBû~/9ÙkÃ÷ÅÞyuY´ãu2 óýzº›?åÊ åW.w¾¡5—æcz»ŠjÂã ë-ÓÍŸ"^ú¯Æã×y@e˜—2þÁkŽ{µ§ééïýK¶7ßáEþµ¬.‰… %^Átƒ´ú"mšË<;jaÀóŠu®eÕa³GSz¶“--ñwkþQËÊH›·®K§ÄñibLhº‹î.¿*ÊXzäÏÙ«ìå¨9^6Àšã¬ö4IW×ròá¯Fò¦”77”áQlx÷ˆç„ç\GÆ´9Tw¯`À´ý–ÕÚ¡î˜'Õôï–“Þ~Pj ö™7ÂÊ«Q2’®ÒÇ„v=è( ñI³‹¿†w³èî–a^ÊxÙk޳äѲ{êŠäg¿ƒ|ú6D7tçÉýŠÏT¯YúA’Ç«½QË·–•jî \â…ÀjP¢ØDmK˜ž#DÐnÝPÀV?léÒßòjŽ—5°æ83ÿ²m¯ãGþ åÆ_A³¯´tŸ'„5„/Vw°¥{Óålpä[ËÊ%3]Vÿé¹^¯Ž‹ dtü$]8©ZöîPÿ}$~Ÿ¥K¿ á%i^ø‡°æ8s<ÀôÌ9>ú­Äîí¸¬˜Æ>Ç£Xô¢0ïZZ£óã;K.KŽìÛtæ-Ùoy"^ N æ›ôv d‚îtý ª?â~ùgÜ6/² ôå°æx!À,JúÛ׊ßzeú·ämg™>‡sѺ‹êzN xíé›1yÅû!—y˜˜sWb^ùþPNˆå*¡SÐÂ0âþ?aócÆ•«Ð¯¨öò<¾Ýü±?âvÒ{1ñ*°Îˆ€ˆês=ä‡tÅmó‹î›9wzP¯Æ«ñ ãïtz†¿]XÂIEND®B`‚pioneers-15.5/client/gtk/data/themes/Tiny/theme.cfg0000644000175000017500000000203407771100213017155 00000000000000# Theme created by Martin Brotzeller # 2 december 2003 scaling = always hill-tile = brick-lorindol.png none #000000 none #33b033 #e03030 field-tile = grain-lorindol.png none #000000 none #33b033 #ff3030 mountain-tile = ore-lorindol.png none #ffffff none #33b033 #ffb0b0 pasture-tile = wool-lorindol.png none #000000 none #33b033 #ff3030 forest-tile = lumber-lorindol.png none #ffffff none #33b033 #c03030 desert-tile = desert-lorindol.png gold-tile = gold-lorindol.png none #000000 none #33b033 #ff3030 sea-tile = sea-lorindol.png lumber-port-tile = lumber-port.png brick-port-tile = brick-port.png grain-port-tile = grain-port.png ore-port-tile = ore-port.png wool-port-tile = wool-port.png board-tile = board.png chip-bg-color = none chip-fg-color = #202020 chip-bd-color = none chip-hi-bg-color= #c0c0c0 chip-hi-fg-color= #000000 port-bg-color = #9080d0 port-fg-color = #000000 port-bd-color = #ffffff robber-fg-color = #700707 robber-bd-color = #000000 hex-bd-color = #ddbb55 pioneers-15.5/client/gtk/data/themes/Tiny/sea-lorindol.png0000644000175000017500000011566507771100213020507 00000000000000‰PNG  IHDR–¯t'‡bKGDÿÿÿ ½§“ pHYs  ’ù¥tIMEÓ ;.ç¶ë IDATxœd½ëv$I®¥÷fîAfVõéÑhŽ´¤'’Þ^BëtU&ŒpwôcÃ<ØRV³™ÆÍ lllÀìÿú¿ÿgîG²ð|&ûÛûû1 †‘ÃÈ€ }If¸9˜‘4°®¿kI÷ õ ·díÉҌ֒Fb$``Ibà`Ýi€™Ñ0ôËa šc=iž´60=ËÄ0s¼Ö³†9ÐÐÏa´„L#3‰ FÉÀe+ÇQöò„ã€cÈŽº>‚>|&e‰¤v€€Ú6´¢ A’nXfm¹é1Zrˆ =÷H,'¦}œ†h-13 3Ò3Ã)Ã3mŽ™LÇp†ÙiX½é½ !ƒ0ô|æ·†x«×&Á OÃ<õA#fFÐ0˜9ž¥Ÿ†è­Ö¤Ö©uè«s½Áõb\/ƺÈP[—¹•!•A¶fz} õ¤5£w£5§»þì®÷”1’‘Æ(ãrŒVÆj­é“º‘ìäÌŒuIúëb,‹Ñ¸kÍð$Ž ³NI-Mfœû‘V‡þu®Ï/÷ÔWí·ÄpKúNLã }€HmØù|–D=kºa¡7Aê$¿~ÖÊ“$(»“‡3ƒ¡I·²Qý6Û L~ÂÜ¡;x›Ÿ[~shͰžx¸é±ôX.åÍtr2†ŒÞKÇq𻼢%éeèfŽåë}j­ 5i.Cºv¸,°,Ð;˜k»iZü4Ž•G£ugíл<\륽i13cÀ>`Œ$FYT–ûlIw—'lI$ slhZ­_ë»Ñ<_ëb6÷Ö°–dPûD$Í`x’ƒóŒ²B3ý‘YŽDÆ9Âè#’ã€#’úà‘)—©×â’Ú˜U™•õL¯b2¹Z-Fd0s,êtð¹8^!+ p=¯Ë¨Ó ²ŒÎdÜ^áÆ,qÊÞ*|™O÷:€ ÆAÄÐW–!7§™Cv–æ4· ú 6œ¦u)*OX†àY!šÉãµnœž§u­¼˜Ó<ë0i£ûâ,‹qYŒ¾ÊP{…PŽ4ŽÝØŽ$väÁ ‚`Ðn')ç4 ZôHã8’c‡=dmX2êd¸ËY&¦ïrË™ w™ëP ž—a¢S·§NJì0\žÌH-fwÌÒigÌ ÂÊsXÃÌIS3³5 7á¢æIš›Œq0ŽÁ;Ç1Æ‘a-½AOZktsº¿Œ7Ž!, ×IþÑ)Ö‚S†lõÞZ“Ç0ûæ`ÛËcɰäå–ú%Y»sYëïšÂÞHÃØwÆÙ“íHö¡Ãjj›Õ6 5…ñ¦CiÖãY<“À:F€ф^8ZdA%Á¤Þåhü$Š:8ãHŽalô1dDG1ôdGä<ðL/U¡&Ë‹”W6Ó⦕û/cÌ2®,\¶ŒÝÈÍÆz¨(ç1>¤Uô‚ÒȳÕÏ:´Ôûó6Ñ]âDƱsÇv°;û‘ŒÈÂHX .ƒfFw%nF[\à}Nˆ OîNX­•é˜×f87Ïó=Nüyþ›ÅË»u:— wgY`]ôw™6mƒm3»ó<û€ŒÀ\^Z\{äçáàÜ/ÿ†•Êië}åü>Æä½z(š™Éx i»Ñ†¯ÏYfKÔ!ìÛã°W8œà|1½7²ÉMNGbe0…™Ï7›µ±™ e‘:ùÁå6-)(o ¬¶ÆâÉžà•Yú4…®´‰wBxDz€¶@b’D ÆûξílÏçÊrSð¾5#Vƒáåé Pwè$Ö‚¥…#(oõ{…ŬÏ\kVž\ ½ r'JN/m´žÕ€Ó¬ÍïÐ=”`ptØ£ïIß•¥íC•YÈ <’p«ÌZ=ÃÈòðÔXd«ìWÆ–s3鞌 Ÿ½ës.]xlŒ uð­¢R9Œ8 S™C߉é‚ô$­•Iv=ÁL"FÔ¢å´z-1 13ŠBˆ#ÊBÃÈ~‹ŽfX3Yfèþ-ínß“2Ëòø@†>Yê5È”³°—‘Å!œ4ÿÆ,ˆ!§¡ÄAx-p‡¥%{WØÞš±îl}©43SØ*ËZ­AŽ ]\J‘Γ¨ŒÂ^®+·K¾€n;A±§ ƒŒì™ì- ¥á™,¸7¬ëT(J„²Q;™;#6FÇÁv$Û.,ò܃c ާ‘»3Ž{#i4œtÇR;®õÕ¦¨,8åÁÖK°tg]µJx`Û!ÂÔº±˜• c½ðcå amÊ3EBïGrPþj°®Ám1öÕ¸¬ÆeiôUà¿»°ißý%_…•ãt:†¸ª´à(> †¾oÇ+ì%"CŸÏWx„ä:QäpÁËŠ0…}-ì»Ñ[O–òR-‚~@D¡ÅЍø›©lˆ,/Ï$`§Ï30ÿð’×ÊŠïî&/è¤l°ebÃ1åöÊ›Ñ}Øf£( ƒCFulìãÉ>v¶ý`;Œçf<6c?”ªÇá(G'£qBü”_™îž¬tþÐçh+\n ãË"ÃeXûîì[èPˆêÎÐXàÝ›á*…k©(<öäñH[žXtíÉu·‹ñvk\ß’ëÍYÖ ?&LhEo´Ç /xz/a"MeT¢[ƶM88CÆÆãa/Œ…²¼ã L4†ìbFµVžw]ž¯KÒ¯—àÉ d¦kÅ­M7š L¬¶ë [NÉíúeç·Œ“º¯=3¨,ã›|W»> EWùðl¢ZO&˜³8ˆq°}ßxn;Ï}g߃çÛî<çN‡hè¤u&ô$- Ž 0Fûp޹&ë-¸Ad£5¸¬ÀÕØ`ÛaßœQ¬7}Vó*euêëEü.-±†^s$ÛGòñÜ¿’mO2‚Å“K‡· ¼¿n?o?·\V£/þ2,¯ ÓŒq¨ê±†RøŒ<ădÛW2Ce¡<·^Ä·à@¢yh<“H¯ƒW‡ÈUièkƒXÞ»Œ¥%À8óEˆ¶&'œ÷=cÔ‡1ñ•Œ*ʰ²¼€â0ÆŒ8ÓËÕ. ÃØ‡aØhÊfùeâ¬Y4¶<·ƒÇ6„©6Õ­ž{rŒTqЄÜô]Ì)ƒ|ï€8DîõLމ´–5Y—¡p´ &¬ ÜnÂ6[Õ×b¤Rônô%XÖd醯Nw¥“K>"ɇðàý|Þ“_Áçgðx(\5 .=¹]Œ÷ÎÛàǃ÷7ãzs.Wç²ÀºŠˆm&òÖ{B8݆ÿ!ì'(#ªÄö#Øwc{„0愽¼¼«™U #˜µL'ÏØtªr™›ð@óTêÞÀ†Ü­2=›ïÍ ½ðVy°2ºjféa¾ðôjÉ$gVU$E(ì§œI€€æhAC§éÁs ¶ y©§³í¡ðw8#[ªl©ïò„Qàÿü/“N#80ºa)Š¥)y˜)»›<Ðem\/p½91Œm$GÑÏbä_`¹ÌÂqÃêȫ÷ù|¾¾‚û×Á¯à×ïà÷gðxÂØ“nƒµ%׋qûá¼½7~|?~8ooÎÛ͸\ëÕ¸^\ÜWaº™8´VÐà ý[ ¥½§Èס²Î,Â\¡pD%$•Ñ[q}æ•äW¸D­w½fïždKÚ€pȬ¢)ÓB QéoeøÊ˜ôA´òj/JÂëOfõW6ÈLÓ'6#ê¹’ÃfÊ]-؃½g…T±ÑÇîÃÇïà÷¿‚_ÿ:øõ×Áïß÷ƒû6xnƒ}D‰’a0špçc– Ö§ñørî÷àz¼ÝœÛÍx{7nWãí&ùÎu¥EÕXÕ.«–kLÁÁÄKE³ evÛ3y|%û.ðN¾²[w£÷<ÉÝ©>!9m¡ŒC 8ElQ„ç1$Û8†<ÓQÌõ”Øïê­6* “©ÚJyÀòPeT17Ôʲ Ð31Üø©®¢¬¡Ð21žÞkœÑ¯Òt™×SK hTqºê~S¸§÷­‚5…±ªŸØ0¶QƃMjZÈ1œÿ8ŒÛ&}”@î±÷¯àó||¿ƒ_Á￟î÷à±Ui¦8@·P´@×·G²íÆó —/X¯É×up¹×Oãí ׫óvƒËÅèK1ä-•PTýЛx5‘²Òm«0¸ë÷ÏMbÏÇ޽*'ù¢9zÅЫÖÚË}Û´qÇaÂåîŽáª!cÎqø Öb*I¿Û‡È*Õ¶¼„j™ò£ ÑÓGVp†Ç™?ʇ’£L§'p'CVô—¶Ò:L³ô6•äé™,g^PaºNk’xH§•COâ¦ì‹¿cT&ÙÙwx<Ïàý‡ÓÌç3ä¥îƒÏÁÇgòù™Ü?“ç=x~%ÇŒ!#ê]v÷ÊÂÄò0BB¾qQuÝ},äy5ÖGrýJî¥f½^œËU墾¨ì2ÃWïÅ5Éc„”Â{òõP†»í”ŠØ”=“ãЉŸ‚ÎÖaYò,ï,ËTWÈ[÷û}ŸåÂcTÂU£NçɼŸqÕN 5Ë-Y<–ð—UšL½–ø]æe\%ä…Sü$”Í)Žk‚î*ÑOÇ7ë]i0Êp$Ý)Ã*/@Q&g¡3_F>ïF(›L1ÐŒ¡rÔ6xnÉýÓùëoçö}1ˆ(Ã:øº÷ÏÁç#øúÊSúC/ëÖ¸\¦Öž,=èK‚GÕáYtƾe•XòåmöAß’Ç#XW¸Ü‹¥¿ˆÜíV¬x›1±þÞõÚYÔñˈögù6ª†|ìI„åP²ŸzÎïº4¯PÛ??í^cjÙÏpçZÌÃD6Æ„#3^ymÚKÜ¢%H)¦³Õ5 ³^§<'óÌ “¡ý–¾A4ÆÉ£eyÇ,0Þ0·S²c3ÛÌQ/eˆYA²,gŠÛ¬~FT8ÏœtÉ ÊãÉí‘X rOö=ùü þëoãrÑP)i{ÏÇÁöLqkCkl¥–½,å×ÅÄGuc]Õ`>8†ÈÒç_Ïäiɾ‚/Ɉ!£z½½'[‡¯UúöeÉoÚ0/)MÕdzë]´fÇnŒC‹}“ôt0¡H…¯©=v8¥:ý~×Ê*E×Ä$9 c(ワÃ=ù¬GQ!î$MKY:OüEa-Îäµj~E¸Æt>…ÁRÌôü™iV'·ÛNJÀÊB²Rë˜5²òRöÍˆÍæ¢DýL•’|8ƒª÷'Ý)r7U€~F{|>`ù€Þ£ŠîÉ8‚±‡¾³oæ !«q¹:·7çíæ\¯ÆmµÐ›Ó\`k xnÁcQÃHwx¸ñÜÛŘGcäDìÝXvxž„©Öt KøYçµâ QYT)gße`ûÑE*$[JÚ£Rñ÷ç„èÏgy¾ev)nB§@t1±Qá'ªžc^×2Ê(\ÄÕ™eQ¿3^¸F¶PÏcY ~ŠÕ&+#z¡3MåÍ*â2å+§[Í2¬©!á•P¸©Ñºâ¡’‹1?ŒQZ²YÛ¤¡lM› ÛpüPfd-J÷TYÍtŽ&íW_ŒumÜÞ·7çÇçÇ›²¹Ëb,.¹—îëØS]F^`ÞÇ)ÅÙZ²ïå¡Ï9‚=~$ûÆ)Cš¼‘Á¨¤¦yÃÛ<¨~îRLyz1Ç€cÓ¾»úH΃&÷·„ èûa§aä«’|†€Ì)ŰÊç¬$º&åß0É¢½Š¹8‚°ú.·4Ùn/Ãù÷°&ÃvÊ N”Qà\ùd1¸'ø–qFd…A½žd-C¼ :Ž}M–ÞXóéŒr$¤“áÂs!H$ޱ¼ÿôU†{1óý8ñÒt-~z®‰†È™]•á”0 â´ÇZ—‘ž~ìô6q–RÎ ­d’):Q'g¶ ë$–!Žm:-ó“¹W.\†É[Yix¬U£Ctw–Võµ‹ê~½¹¼Lû!ðú¬”{Û¤Ž8*a‰øÆÊ³ ãÅ–‰a™:ôª)^ÖTé妯ۻq{‡ë›±^ExÓfg)GFê+)Ф'è}>h-8<¤UOI—bR)Þäh£4vëõ”mÏLùv¹â ¦¶ ‡CµB©S]û”ºa($Z3ó<)›Y £¿„i/À:!EÊB˜éºÜåÜÍòŬ+±Ó3ÿ•0Ÿpе²”¥L'8)¢2Bña9™ƒÓˆ)£Í!˼ž×ë5KÎÑZ‘„+\:Ü–är1n7c½ëR¡§Òìç–|=ƒ¯´;<Fî⑾7«Z¥•V>ÚŠžh•©1Wõ»Ë®W;¿¯+*N·äüaå^íˆP;“} ŽFŒÄ‘¥äà”81¤LðÞiR’®5þóÇV™c×sÿoÿëä #Ø $áZƒ/ÉmâA›úÉWu¢°yA’T`zŽ<Ûš*ÙÐÉf”N|.f¼ °°‡4[£‚¥ uêÏ•ÕOõÄLÿõ cf”EÈW“h=FïÁÏ0“ÕµÐZœ¯mEÚd‡»ÂкJm°®ªíÝÖY¼u5˜®Õ¨:ä©îÏàñ…8§%ùèNÞ‡ºe2«Ÿ²<ñÕ€*aŒš2÷"']Ìw‹”ŽWèiäÐg‹”7ˆCzòm$Ûá¹Ác;8¶Á^]êÇ^?EgK<’Ûeáí²(„ñnÿû^ësQ!ÏÁÿù,0–’ÿ${Ï~}(ÓÜ·^½4YûY”b£¾¬RÑÌÂ, ËƒPÞçåÎ-')ðʦ¦yžÒ(Ù¢›^ M@“É!•‹™`øUN©ç˜%%×ÏZm—g63½Ua‚ÊFh"ê–mMä.àº4Ö Ü®2¬ëUƵ^J°*‡Âß×Ó¸Áõ*æºØ´LIPì8#o {æ[÷Wx½¿,Rõ8Œ¶ÏÔ¬™þ=vVD";9GÏö±ó<àùž[r<)²^/0.—Æâíä·~¼uþãŸW,‚mWQû?ÿÇ…îúŒÇÁ_¿þ³ãiŒ#xîƒûÓˆßJ2áG–àsHBヨLÿµ÷Çk¯žQ`Õ®=ªt7œ»ìöl”oúŒW†vº²˜ŽK¢ ÃÏL"è¬%›ø_ªBŒ¡ ñªwµÒ-‹©F·Âºº ¶ãrQØšXèëj\nëj,ÝX/­ µb¥eXðüJî¸-ÆÚSMÆ xP…Ù8—áUXGuÐé3U?·ƒµ²Ùà<ܘä#ÕPê$CuÆöãàYkß‚£ª$–]™nŒ~üh¼Ý2’m\¯ÿü+Drÿ}ðóÆâÎsXƒß_"sudãðµ©õõ„¯§ñØ`<ã0,Æ©¶,š'ç¾;d#óe\]©‚Z¯Ryߌjú*­ ŸUΦ²+O5ÃèééÊó„gÕàê±îU«ÐZïmb5¼Úºü%ÿsœŒ±˜4ãÍ$¸^ËMaíZµ^ôÕ›º‹/õçeѬ„îV8§Ö%ªoo1®kr]²º££zjí–l®ŒqLžIêyÒ¼}>Œ}Qoª.ÝŒfNTUø”)Å1bÖf9³T²†¤Ô¬‡Ë¢Î¢m ~þèüù§ ëþ%ÿÇŸ½$PƒûC ¹iÐÇ0ž»²=?ªÐýL>îÉÇïäþ(|yˆN²E‘sGN¢T•˜^%DótBYÁì,>]Է𦠨€ñt7þ"_Ùß ÃeZ³0™`mâÎ$áÅÍLJÜ’mêÕÔé&¡~y§u5‘Œãv¥²-g]Ë"ÂqYJR³Öµ¸Ï2„™\>*AYÝ’ÅíìHžM£ÒžºžÜ¿DRnUœ?f1 'fõ9º¤Ï^ y¸«$êønæâ›\\UJঠ´ L™§siGÆ‘\.’Ì,Ïävk¼ÿè ½ öcÊÇuÈ¥ýWôñH>ïÆÇ§ˆOÊà??á×Gòû7|Üáë.>ŒPc‹Ÿ¡Ì Æ™àM'óª èówc`™´ë„UÚ_€Ìl‚ñÂJ6 PκàìB™|ÔÉpÏÈHÕ 'DY|Uñ•Q•Gªj¹ºƒE,.]†t½Ö÷ªà_¯Æíâ¬ᦥC_fÓÂTÄz‰þ¥W[›½ ÒYôF³âºŒeNäDÃC‚Þ$U¾%_›ñxJæ2³¹ÉûÍá$ âò¾­ Ì/κ6–R}¶.O7JĈ!‘#2ªfÁº4±þ,K«°ïÒ‡Õº§©–9k~Ï=¹ßáþe|Þ„}$ýüþ•l›èçÿüõWò÷o¸ßUFŠc6W¹‹Wœõ×SÜ™‚ô¤ƒšÕé[jC+R³¸¢È<Ë'©YƒŸ¼@Å)&ƒðú5ãce›äÔn•4¯©`êî,¥À¼\øæ^RÜÛÍ‹‹e°^j—:À9•Æœd3‹UÍ cgQo±5X¼ùÌ9… Z£-ÁòaôϤ}ÞÁž.…éœÌ¢ñD2òem\.Ë͹¾‰u¿Þ4þhéj9»ƒªäPT1†äÍJŠZÕq­†Ÿ8Fp¿Ã×~ìÿú[Rß1àïßÉ¿þ||û×`ß»þ“Ï)3ÆA…ÀÉeU49I/œ<ÞÌ\Œ ›4Oµ¤´4©ŒÓRÃô3ç<‚ ëÏœ™äw@þͺ¦—«ÅšÉ ªâòJ’c”Äc©™SWñN—‹¼ÓåŠ ÖÚ¼®’‰ð’ŸFå¢ mψ©Žj<-O즚¥Áb2ÒëEäá“-ðÕY®ÉzM–£­†ÝHµ@T®+4‹æè\®ëU†õþnÜj¦Vë5ìͪLrx5„zÍ *šÝq€Zã‘|Ý•I¯Ë`ßá÷ïiPƒç3ùõ+ùzý58öäïßú»Ç#¹|Ý_Ÿel¿àù ’#«÷³¼o%0åÎ=DNÈm’Eù ;ÅhÓðpÒ“ /’FdÐf<‰JÎÎ^Ÿ¿w¹B7ñ*Àé%þÍq}Ãd/¯¢ÐzÖ*…âe…ËŕᕈíRÞkY…¡Z·sGÔa2—ŸzÐv&SK&±ï’ŒÚç,]ðÖ“K I[xGÙÛšô«±\“~ ÚŠ’‰E˜$‚š›å¬Wçrmj¼¸6ýùâg8—úÀÎv*)R0§™BxºÁ;KM ®ëØ¥òFU·÷×=ÙGð÷_~}©÷_)Ûüõ‘|=$Þüû×Îçoøëüþ„¯¯®"UÕ8 ‡ Ë¥FÇ9¹p IDAT´&is""Š!hå¾Ì¢j°gðB%ŸH±;Ò0 u"—!5{…yþ›wšòW¯Ð3YóJOì5õÓ³£¶W(\–d)Zàz¥²=}¿\¾½®•¦kN%9]©Ó=ŸµÐÉ+ÍZ`ÔXDmU¯».ð~qn«ªY3Ú ·fj’èÉÒ¥G×t˜`]í)Ãên,çzmò¬—V ‡>ÛéeSÿý´ºÜÛ©ojߺ¥s¨vy„:i¶§pÜ×o•¤O©P>>‚mÀó©ýû¸ŽÍøzûÈà¿þõä÷/ãã÷§”¤š¾XX³ÖÖóÀ˜î¸jŠÍd(A RYå¾ngÉ¥h0¥ãt6ùÂDe Ó¸^_E 脬Ág%Ó³—NÇ]ÆæÕñÑÊkõìË"µ,3”Àõ©ˆ´¦r eðžÒ9 -å+Q˜ªÔˆð’âŠ'Òíyþ]„¤ —Ÿ_áç›s»Âí¢$b]W™©Y–3ºKï®ÎÍúZ/ƒj´ø6 ­ÕT—§‰TymäÌ¥Shφ|fÑĺ‚#¤(%9l$÷7vÅûÇ=9ªëÉÍxƒÇCœœtE’6+ ‘^„%á Cån/LKŠçèaké™Ô2Uù¿êL“„šøÅå&Oí÷7cª5¶G‘}3<…LI[ÔjÕØò•AUVw™å%^ÙÞ ©Õ•Û˜±Dï²6†œ3;KYÒÚcH¹íúó¾‹ÚwI†ÕpêxKW…šsbŸãK‰õLbÖªƒ6£_Ôט©,¯ušÕú^j/‹òŽ£¸¯#¼f$@îÂOšShVF¥ð¡H²à؃ÜÁ=Îî¢Qî HÜ¢2áHÐÆçWVq½å•rªN8«6^œK«Ù±…¯RöâÆÉ$$áô°k½¼Õ4¾S\ÁÌ2§ÜWY–¬øT%ÚËKg“pn ðZ³úš@½Â¦ƒ·VƒW¿WQ]MKÍ<ÐÈíÊB+ù×ðYmjž-gêv‰2²ã€cKž»TGy§}Ÿ#ǃíiÕ, ŬPð|$Q3$»µ Õ³àÜ4ƒa)üÙc”Ò‚½TU…$U,Fý8ììƒ<"«ÑÕÕ¸R õ3¥Àm1zóª×!{Z—ÑØ<ùV´AœúÏi\æê–˜JÓL#«1Rõcy¸‰í&p÷ç^Ž}™ì7ôU.ÞËÕZäEpÎcuЍç˜x·¡ÖE w„+ÍDØ’ö>9 è¹Ë˜ŽRZnÏY—+iLÖ²%*--]¸©›‘mðßäÍXÍ5ý/³ í™éêÎÅ€ï»ôˆ(cÓŸc—7WÕ¿ = •eZ­§»ã»á©9÷û‘´ {§'Ô¤ê9p…o_Ák""N*¢Óª‚‹Â©Ì:[0«4³ä§ï]ÿîžÙÏYVd¡”˜µYQ¸()·jR&'NÈ0¢&«Œ¡¢î:Á_a¼ÙWaF fSûyïÉÚ ïå üäûœ<\@_Ó\j!º<ÇLFoù(pþ€û=¸)ãyÞ5`z¬1dXÇ®ïªÍÙ9?â8Ä߈_K––t’qKuÕÍQ^5ƒ&sHÆ÷1G¨‹z›0{rl…÷"ªñД˜ê=<»|Xغ°ŠŒ¶ÕÜ*üÕ3YÜ\ö„<ï¿e̦º§º¢ ˆ"£z}WééôPµUQ©ZU¡¤ÓÀ2=í[qx†¿© ªE‹WËôjÃä «•)š^x+¯–ß?Ge‚¦¡¶î*#ª¤b5Ux¶~ËÁv·3‹jM#rz³ÓƒÍ›ÉHöÍ${y$÷»z÷>?“_ŸÁýS$á^ÞbŒ8›@Õýk5{5ë4™æI™áŸjÊì>ä 6دF¯†P«Q—Y”Àì†z5$hÜQ¨W¯š@ÃØöì1Ùn„A›Õ¸p+üRþÁêðWb¥¦ÜÊPÃOÎ1‡ÕMÃÔžš‘Põ6«-ü¦3’‚P ÍÊ­ŒE%« Sa„OûÐët=Ç4®™îæ)“9)}›š®/iCSYä~+ÔI@(YÐq(ÓÓ÷ù¡“õRÞðUã¡—.—Cá”JÜôükÓ˜EwaÁ}Àñ4î_š-õûWðûCFõq|~÷‰­àˆÐa©õΨÑãÁÙÖfQá9±áPèƒ}oÜ6U–Õ—9§ÞΪÿüÜ×=ŸªßÛœ~,µ ú-8‡½·µÊnga>S‡Ù3Nž1©v«Ê‰ÑhŠBY€zJªmÊÍë5Î6»©ŒõSZãpù·_IIÄEæÎ‚ù,@Ga®4£OGUÎJX©,Ø2OêáÌŒÊåNͤµvsÍ£°“tKØuz´ÀRrÝØmʾÇ*Yɶ*䌚õ´ÔÏ®‹Ü~[D¢äéÒ4mCÌóÇ×à×Gòëwð÷¯Áï»zý>ïÉókðu×X cŽÿ= 嚥å³ê‡Ô‚Z`Û ÿ¢ºoäyî7çöÇÖ¯N__ѵ*%ÿи¢Óžò¨±™Äz›tV[À–ñ˜Uµ0“'m¡%Í“pXšHÜœá‹WXtÀ*”É»Õg-zBCX^R(MBSTÒĘÙe`EÌšnÈ‹–—Rµ^ËÒ +qu"ÈQ1|*ÔJÛn–ò´:/÷[÷¨ n¤9¯¡ý>uëzºQ³ãccKvôå u•5.‹±®uKC7–îÊ WñY—ÞØ®p]Ä„÷U‹ôÜ’¯ä÷Gòׯà¯_Á¯ßŸ÷àþ„ç—êgÇV)|‚¦Ð¤°B}.óêû«#…I‡~ °=N¡a„€þuK¾ªY®,W£oà½42©‘ŒGÍf?6cмŒÍ$Ø{ÎI9ÁŽfS„—!Ì’€«QS@7ÒÕ :ªÂ²æiÄ)vÊ 4×›¶jA|eVKبþ´Ô¢eRò€6ïÔ¯#™ø·"´M/6Ãè7WoF7µ[_P!o¢l‡vv¦ÔM6-ð¢`¦‚­ŠÑ¡‰¾&­•±9VtµmOï;¸›8JཻÓ{ÓÌÕJ"oçýê\/zAòØ5^ñïß’}üþ54_j<êF³8¨éÆ:•×*¦t*!¡ I©æ´´"U×=¸ì°îɲë3÷EœQZ5ªî*èŽMÓšÇaänÄ–:d»˜ðÃ4–<ÝËkéMX»«C:º’$f¶•ä¡÷<%9­‰3›ƒzÏÂtmD–QÐÜ„2L«S(çE£´"±ã€c…½¿ +¢ ÛÔcNÆP sÞa4¨PTTA†8R ¹ F MŽ™´LstUŒ¿²FÈ×ë[`ó ôØÃ`S{yôÓ¨¬•ÊU³S­«{ÚÀ†—W«©/2u€ÇQ¤nyþÝŠQ¹¢2?×·Øö<Ç-Ϧ„eª6×<v­‹U{§¶ÜkãŽ0úôÍñÕX6ØÖäéÉÃ$$;öäHÍ$¯êv‡ ‡½EâÑaX]âäkŒWa{ÖçÏæ0MD.²p¤¸8ËTó`Y©'d\ºLa~Hðˆ6'"ˆÃ94•RsµR¡/½®Uã1d\ç„Ä” ¼f¼¾ð’Æ¡ËêÒ’¯¥Æèd¼<𞦂2«éÀÕHD­`NS ÆTççõz^¤´ÓFE„ÂddÐ"9L£ y® ­úé–ê’£¼®#sÎÞRJƒÙs©nÞ©<¨Ûtqw›æ ™FOãˆFëÂ'Ûš<X<$jÃxÖ”•Ã`h¸©kjàmçôŒj\-9o-øl 8ß[eP#…krª dÎÇÆòI»Ì‚ì Dˆ0~Ý V„bc´¤ÅlŒ–ÉÃκÝé ³$/C¥œ•­ +êCEþ3I—•ê³ «Šƒ¹†¯¤ ï-LؘM‹,Ï®Y›})Ö=kbŒ1ËgÒæ›»ne›ÆvV!k˜yŒº¹âÐû;ŠÓ"Œî‹‹‡pG¿µ9e¡jÂëJ•ע߀z{yˆ™qÍ(>E€mQ“B/ Ê‚±˜Fô´‡^sߤG¼î­‰P±{$¯¡O=Kj›Ñc™}•òH­O‰’Ÿº;£µú³DX¿tn ß“%VÍÍG]Dsê5&*&E1eP}êpFˆÈ{\1Íwé~1úÈSj2…z^wØL]Ô²p~¨Ù™“讕nºÍá\üžªµ2¬YÛBî=eѯÉb°4géÁeQ3åö4öÍxî‰?¡Õ 9÷qºîîµÈ«±\ýָݼôñH‹4Œ} ž‹¤ºË—ñtØ€=ëfYª3Šû) bòy9ÓÈœs¹º0S馬ûìQ“p-².áV}.Æ4.…Õ …t´YJ«,ËÔÐàMÝ>—ÕY/°¬"’û"Pní\hAòBg¯ãx)€q“I²Ò…Möy‘¨Ya‡ >]4RÑ¡ž;ofk!Ì®¢½Aïk}æR,V÷VOßZ™ØÅÎÓ!ÎKÙE»d žÄ _= —fê0c/žÞLÆntz©UuäÏÄe&tGTI¯æ¯Rsðû„  r4–ˤq’ÞÖÔíï³UYE›·Tõº?ð[¿ÞÄKS\—ƒÊ¶²T¢ÊÞF•~Ú¼c¯ç̦Q¶h^sÃ>Œeë¾nð\u'ͶûºŽº/oáœ"s©Þ½õæ¬W5]\z‚aìkr]“çê¬KÈËY–È1‰M´@Ý EA¨z£•=¡¾€)‡Ä¾•u ·‰—Í2$Ã"Ä­ÍMœh™ïøsh}Ëëx5¥^tÕÉû›ñþÖ5ÜäVÊÔ’ˆgÎàÐ4Ã{Žjqècè0´Ú«uiš+ÿMÅ",˜ºÞ&Q×Â^ã¼½^NØ‹ÌeöAÈŸª…:@Ã_ ℘U•¦ÕS4ÎÚÿ¤_‡ üÎnŸF’§8¯{Å~t:u˺Ðyjäe(G“×EG,•wÕNÀôE7ú0ݺuËÔ- é¨âÐ ðR@,«iÃÎÒ^ÓcÎ+syÕÆê"•®(\TÑÜ`x³Xs#¾—€ŠŸ˜aݬ´KS‹ä'·5wnjÎrjȧ1N½™'Þ¼xÁ°Ö-ﺌéÇ»s«Û¾–þòTòP52»:öF ¦¿wbŽï¿2ÉEk¾êv(6~®€ÉTŒR4ËyýIˆaP½œÙvFΉ~úa³â‰ ©Ö'Ü`€Û8Õƒó¶òQÖ>ç3O¡‰Àk]͘­ÉÊçÞdrŸÝ>•)|ºÂR¬%$LͰšÝ+­f3ô^®M¯5OÌÉ Ã©ºðž´tÖHM‚¾©„“îš^gY­XQ#ÉËŽÌ(Ràår橯⭼UÕËçD¹Æ êÀ»*Ë"~ðrAm÷çýÝtùÓ›~»×[;[áNV ]öà´‘ØGqY™Êº_W+K§G4Ö˜!á3Ý:!Øœ‘Ùlâ­"Ö¼8£òrÏ sèl[ÕúÔzÓœRÓ‡5„#25<¿*‘eØÓc•§òy#èy’¼$0Ń9Źí®;ݓՓ¯Åyôàù¨+QÔý33úuŽXVãöooÆ8ÿíŸÿå¿7y­Ou{Mwž³Â¬EVR ï'䈄Áqh¬ãã©kϯäñ¥k£f7”8û¤dœüÆÿÉð—òÒg¢`ÓËWV]döYWLNf_!µ´ï'õdô÷·‘äjaº·Ò;ÍðY¯hõ{/«nÝNã:ggUæömªN=Vae*53¥™*_¡Fˆ}«2Û”ÍÉs)»,9† °ƒu•M±Q—ÉÄ{ùj˜Þî€×|ñjûoÉÒ ¼w—Q-ݹ-Éýj|]œ¯Ïà÷§jšÛf'qkÖž moê?4þü‡óÏvþùOçý‡.¿]_ŠÜ9Ÿ‚“Ðût’QõN¦ÂåtÝ›†Ô>¯» s&syîËE·×¯]ÙzóºÛç*p¹ÔìWdÈ 16ñceS3i˜°æua2/É<Ž"fü˜¨?OW¦ºS© BÈÚÉ;MÔ¤fa£&.ç7Ìág|6(?Jg5V€{„Z™µÎ£ÂŸ•DÚ [r© ¬%ݼN´ÅO­Ro“D}yÚ&²70u»T‡µuÕí.‹¬Àüî·ä~…ßÍ*½?4Qo?TÒꋈ\/p»ÁÏ?œ?ÿhüü£ñçÎ?þÑøñSàRuÍe)iq›ÄêÐ¥^yUGˆW4×]´L®F“|U%z•ŠÞ®s*b•Âzj„ù¢÷Ýú(µ¯ìA£6¿øžIr ²¨œCz¾¨K2g‰©_o¯xy”kó–ŒpÑõep6Epß «}cvgÈÄüôx篳`dÓÂx3IiÓè-Ã4¬¿åY$•AÎ!b#‚ ºËCµfº•bÑŒ÷õß”­/!ây7ôx)…=Up®JŒ+µÉËV£²¯+¼_Ç[ã~IÞV㶪•ÿë ž‡<Ȳ&×kòvƒŸ?Œ?ÿ­ðã‡óóxwÍg/b/Ò SiÊÊÎbî+P0óþDp¡YÍ[e׫“CâL±ßJ^n7] õóuÍ‹„¥[õ,èÀbê}5¶žðN¡2ðô[½®tΚš3Ã4êîcy¤1ѪMžc†*cŽ®1÷ªYÍ#¯ÐWõ§Y³—££=ÐbÔ¥«vÞê8-`N5k:Ï-xîùïºvŸBª«]®Î¥Š´× -óÆvÃÈâµh^cÎ8a Õ§«*¼Ey½Ñ“±ÏnÜ) ®·ÆÛ[p¨u~˜¨‚ë~þ€?~šØô?¤£º½q‚t¯äÈ*±ÐÍ…€ ÏÌ õ‚¤&ŽÙ¨2‡ÿŠ€Ö% IDAT®p{+nÆuŸ”‘Öðí ÞßPAûf¬—dY© Âg™K´D2õø²…§=¿(ì…³ÙœÞs”üÊÉjdqÇlÕ.t_Æù ¢•†ú7]5ß8²2&“všÒ:‰9ÏKU_àPêCÏrëÝXÑÄëë5Ï™ûQ£,O¹ôºxÝØ.ÉÌzqÝSÝAÆ,ª6’jÑJž÷s`˜Uv™ÐžÞUX¯âŒ®îܸ®Îí-yûÑÎÙDã"ßoÆÆÏw׆þ”>l½è^Âï‡ ò›ÞK>AT@ÔZe­•÷$'É»t‘ŠÁÿ»öY%ê²Âí}Ö¨9ùêaè5_~J{Ž∓Á€,ÁÄX'g5“¯š0¤=»‘*û¶+eß=@s,KZkÕTàSÓng†áÔ‰ë¦Pˆ\â,GÐBÙFDeœîË‹õ}ñMÆššwu#€ž"üb¨¨Üæ,öµq]5®»Ïhg¥öeÈÒ«E¼ûô¸ÒíµT¨ŒfØ‘zI†íþju .·äös uÐúâ\o2®÷›ŒýrUèñÕN á”5Ӫ܂r§—ÒTCy X!Üt¡·I—8K .ÿ/WïºIŽ+ ;HFäEªªž™sÎî÷þ·f;Ý]¥’”™Aßw05;f5]W]"@p8ÜWàñHƒpvÔË’îÎá¶j¬Ü.o-àƒÞ…u8Fᶺ•d”¤öQF+¨pŒQµlÜ2œ –ïöè@Ë‚kŒã‰SÊ% ÔeEö†E âT­²Ä]‚ _ó´´œºk{ÜnŠé(„gC4+X‚ÁÕO13*êö zê¹`@'1~M‘• †¥–TŽJŒs¶/õ „ÓØà‹ @5PÃ$Ë­M£sàìŽ.±6^/§•J´_1eÐÐë±/Ù)s@Å¢ Ep¯ÒÅ(¤"f½ÕRèw5,kÌ­©íaxœ€ÇÃÑ%5ÙZPnIpÂr2¬§!}ü¡r&Pe´K ±<ƒà:P93.®ú´ÎtZ çt uuaz(%YÌ 1ñ†½R07zÌð´t[”î%§M:³$~B/,´¨`,.Q—ÞxÒcúܹs«Dˆºbs)Öª2¢Ð5Bº¬Iž#«Z4ºª& Íç:uLåLt*y?kfñ–+ùnZì¥Fè²ðÕB¹ÇbÙWæpˆ§„ÄFŽ.…š¸S¿ZÈ¬Š£œÖ*J-8W{Ê•_ ¶-pût´µ`»3 µª.PfSËâ\Õ[Za`…Vù]ÛÌÝù5Œ9¸æÀ’l’¦‚py"*‰ŠI¾0ñ´¥ÒÅÊïü~(#»ÅYçTR¦ð®>ŸhévRª]–cP¦Ög-ÃzŒÛ+4m¤Cúè’PÜÓÈúË¿1S}Á ´á“l¨Ù÷ÖÕLw|¡îpÜô¥O…JbñÏcê˜jš'u(yê,¼»MÚEüûîäUãºz{ÑD Ê"3f½É6½ÆewlðØŽ#`á\î­Žu¡¥É²¨KÔJÿÁS£Ýî~¡6>_rÁ¬Õh¯óÕ6&à w˜ D ô>°ÛÖÑGÇ~ø,Î ¥6ÔÚPÊĆb'X©hÒܙҖ¥/Œœ1 ûA„T”Á·WšÍ‘ÅR$ŒvÀ+p¾®ò¸(yÅ,U¥œ"š3)Ÿ¥ì@èß°7ÌqIâ)ì l·™¡ô'‹ L›ÄÊ6fо!æÈÜL¢ï¡ä™ãä [µžPø\qb’ÉfZ´À.Uó8mÚXÖ§´ ÆoØ#6Õ~¯Ûî¸ßè3øyKIK¡§%p>®×ëÉ10°€ÕÀ 冺TTײ0X~l;‹k2T/×ÀåúÜ2ÊM«žs4t ?ÐýÀã1p{<4]p ¤+Ö¶`©+–Ó ë²c©´º`m†ÓÒ¦¶F­†öÏVüþ­Ë.[ç²(;ŸÆ‹¥rp[[ § Û×ë p½§“c9M4 Æ$=ûÂ)”’+a^€Z‡~ÝgØ×<×ð3åx!]&ßÕ—wŽtÈÈôœ§ˆâµ®ŽŠžA–™GƒâePŸÁ•Á6ÙƒymÁU’)Ó¦JHlŒøROåiŽ ‡ ùR,¶· ¸I}ðýú^ÛÆÍ¡Ó)ðí%(Ëôâx ×1[qJM»â|yÖ¾çCpÆ ¬KàrÎkÐpŒAY¤þ~¿ã×Ïî7l·Ûâf8¯+^_®xýþŠü±á?¾¡ýñ§3p9QHäèíÿû_ôŒy9.«¡Y׊9WÛCmëå\ðr)øöZðýÕðúx¹—3;ŽNRä™arÚ›gÕ[PG•±£àXL§¾©;[”ÉÒ,&zþ’/rÊü€>:wÁ¼}wšP*5Q[›ó"6C7”…[(Ð! A.€Æ‹DÅTø¹@$&%¬ ñÄ€ˆpƒ©¾ûd$ì[à± :dtʰœ‘Òž…-ü÷NÜêru*ÖDA‡c-'@]QZÅui4[´‚¥Ò}lðYt‚aÇ6°=:?w¼ß:þz{àï·;~¿Ýðû×öÏ;ú±SÓ¾.ø}=ãÛûŸŸöÇŽÒNkàõz!:ð/ׂo—‚ë:°ÖŠeqœÞ8 @¯ß¿¾WûÊT'a. ÎœãÄi€/SøBäWk ¯'&]§À°@W’6G’ö¤Ùó”Šf—×)µ>ØÕ<6’ß¶ÇÀ¶ùì~5ëÁ…‡Îm¨,ìKbIMËÏÆN0¯ÅüÍĤømÏY[ÂùÙ‡‚¥?ÇáÔÏbñI…‡a¤Ó+xíì$;Nè…RO—uàÔ.œ’sþ¬)ÁÕ~?8´~ÜÝw|~n¸}v¼}îøõûŽ?ß?ñö~ÇÏ·>~ÝðùþÀq¿Áu>êŽÇ~ྠÜö} ìpX=°¬—kàåjh¥íøv.8¯•ÓïÆiøõâø¸qN×V’Ñ®/†o¯Á :Çóúˉxè$  ÉñpÃ,!ax:tÙìØ8öI»©å)¼zèR6šEôìê ƒäè|)üñx Œƒ×ñR +FƘH ÓH)x33~éDÍžäÂy%+ø•…M'¸‹*ìž+rÏ­šV8…X´ÎÖGàØ€ß˜ÙÀíyø»Só¸G ¸QÐÞ€Ó‚¦!hpøÀ~ ªÝ±= ï÷~<ðþ{Çßïü|ûÄÏÏOþÞû†ý~Ѓq4D(5;Â*Ì~Ë£´ƒÚgÎKÛ½`Y××–Ö4œN—‚Ï`Ä èj¸žY¨¯kÌÅ‹Üq ­é” +Q´Î¥Ä¼Ï 7¬›Üàb,${qâR ´žnXn¡ªeéÍ l›ãó#ðû-ðû=°?8ª ðJ4y4L½ŠŽ»‚H&“[ÐÑTboI‚ƒ®»¢ JàØgùÌi>rOÏ').·e¬R9ºwÎÇ(Ìfñ—‚}cÛ¿= ÷pßX'%Ð<Ô˜GG_ ú{ÇiïXVÊ?Òõë}ï86vŒÇaø÷ßoøûíýÜðëmÃÛç ·÷Ç}'e»Ø‚v*¨8ó 4•Và¸=vØû'êêDõO)þóçoÔjø~Î/3Âìídx¥ú¤a¬!L…fvk´ÁÍ ·±Ðö¬©²Þй¶=¥€ì‹¶:98CR¨!ùD¾´,úã+MÖyÇÈë‚.£¿¿Þ€wDZÅ>5ƒŸŸTë©»47Ä }:hPÔL×½Pi+6w Pd‚øâà'}HE}¸à<}ƒF§îýyP¬÷‚c/hÅažø…{·× -^äAøê8€méØÇ~*XÖƒÑ*ÌŽÝᣠ+ºþý×oüüù?xÿ½á÷}Ǿ &š¥NWÖ$¬«f)TŽÃñù¹ãï·–•â,íÿþû­VcÝ´^œÝà…nëÇAqyÓ #ç=ôÅJkÓSôU5”çÕ%Únáu0ù=ù{‰àÉ0<ÕSRdìÄ\ü¾â¶ÔÀ•:°?Oàý=ðù;ðþ;är-DÊÓApÖ0§p:8®Y%R»,²…[ ]º§­éÊZÄAÓD!¯ãÌDæ9¬ “§åçš>Tª ލBh¹0Á.r¸c?(Šë£p̵ŽMóÀ°µŽýÄÌQN U¼¸ðQ`Xá=°?€ÿóþÂÏß;>>;>76 –­ž°.+ÎuŲ’$˜ÔéR˜8| Œèp°Sýüìøµ>p:-hþù‰¥Ö‰ù\ÎyõU /XÖÂÁdè`‹Ûä‘(k|áã<…ì§YQã.‚²F)Q?0gŽyeVm»ÆS2¾Э@ šÚ²#tïÀc ÜîÆ¬õIàñØùq÷Æ Û:°mûœWmƬ†³ •U K«$ã§çUÐ —”…ôê¶2U‘eÏ’ )v“«ŸÒÓÇ9ºÒ†X}мsëƒlŠˆøæØó5p½.§À¾Öó€-޲nE ”*NˆÜo†¿þý‰ûÀç#pxbÁÚNË‚õtÆåtÆy]pZ±PSqFïãÀÑw8D8n·_¿h¿Þv¬í†V+÷þ0X,"÷¯&s¦wCª³(%QoÌ»?tJ³Öõ¡ãœ/&…¤w^O‚|aÙÛgÌ!9¬,$‘šV!€O2ßäó¿‡|kXtGZ7Çýn8}ÆÔOX傱.Ò\]€“†¼ËRÈ XX_¶…h§my­2û Ž9÷T׫…‘Ïn5ƒ‹##ÎYäñÜoŽÇPľ;Ž>häÔN4<3ôæ¸ïÀëK`»öp>–eÀ–h;¬úÉXèû‚ûGàïŸ7l½``µËrÁy]p>Ÿq=Ÿp9¯¸œNkÃÚ li<ÜÒ-ýÀ±?pxð1p» ´û½ãí÷Žõ¼cY”Ú9Òˆ€–,æ†0ê È©ªŽ%†FF’ðÜçŸ# Ž©ÕdslR€Ìô¥ðï膤€ªè,ÙYŽÂÉzƒ|ï´o£AÖC=‡Ü.ÍP›‹šË-#Ò‹Du)Xp>;ÎZÏ:ŸÙÜ\^‚ZUg ´˜4:±0Ò¼SgT{“_ãР÷Ø•pÙôá¸ÝnŸÏíáÓÐéT&.}àÖA[•aüž72ö3ðr¢ Om•ƒÃù½7ìû†ûgà~ˆÒPÖN§Wœ.\O'\/'\Ï ^Î+ÎçŠË©Rp¥TD­¢ž³®~ ·}_°†oˆáhîÛαÂûyÃ’H‰¡åRíúó¡ôþä¤Ç󿤧’¬󧉑9Yjr¢ˆ#-ÃÒiÜ­],sf5v…Ïš†9šyÑì€#¢h¤ƒ) cÀ”Ãq蚊`e•>…¤J‹V3 Á¡™Wpv œÖÀù\±ž ^.˜Ó‡õÌiÃÈ¡òö$%v\ ’®Ô»ÓPa(`:7­÷#dÜÉz‡°ÀÀ!³Ö˜!7{2#Ø*S?*ö“áqNkA[+j«ÂÕ ÙáØ÷ŽûÝhh§ÖË—ë ®×+^Îg¼\V\¯ /§Š—Ke¿ÐmµÓ3Œ¼½ø± •ŠQZ¯è£`à@kuADÁ~‡¡k‡/kh¥èú *¹ñnÓOy—îqhžÕåÃ7„òJ9jŽ‚‚¶Jà¶IaµÎe‰±êˆ9/ài¯E²ÓºßÒ’/VÅÅ¢^gмr!ŸþhëN¼MÄ4tn]ÛÈ=9uºÉ¨¨Ìš«>Þi 28VÞoÃí>p¾¬‘´wǾ>9ÂÎ._ê„cxvôÁï&—Šîz¾cªÙ#Pu‡ÏšÏ™,‰ãl+(}´´SÁ"›Úa†ý(Ø{`Û¶{År¾â|}ÁõúŠëë¯×+^/g¼¾¬ÌX1tOµF©aØÂ0z¡ H©+¥b黌ñ@[–™½blÀ~ `ˆÅàºI‹Nª£Û_ež´ý`aÜwÌÓ5â)o”dµÚ*ÚÁ†¢ë§Ö¡µ$Cs*Ô¬+€Xmb]‹y_@`h8Þ{àtb=õò"ñ´ˆiùì5‚Ñõ:ܲIîÕñRÛÎÏ·‚Àm)Xïjë7à±÷a«ÌV{"Û}`é4®ííNv/Sb<œÊéi@>F'|""@Î-Ù¼4X9$ ®æØ¼¾ûcbaÛË »–L[ã¨Ýp¬Ç(ÓSž3LÕMÆa$µFE«>Dz”ÕXÇÁy`dff¨;ÌÁuÍ*Ôe@$[ýžDäëׇAºPZÅã(_W˜Æg¼Â:iäTWºÞ“yÚðßÿüo¯g|ÿ~Æ÷×¾¿.øvmª%+êÒ`Vè&”P ÔQPÜ%©ÄƒnÀ¨(Þ€áhcc5ŒŠp‡9"dýZÒÇ,ÜS–p;˜¡î°í%Ó—yh¿{`²¦Ä£h½8í~®ˆ‹!Vƒ7`€: é§œsYwÇh†QÉÕªÏmãÇuIåéõÊ×X+OîíÜ> «¸PG§Ñø¶Ö¨ g€%õ6Ç3¬/£óEv±^M¤F7~ŸÞ ~¸®Ú@@yڠ¢È7'¥²q‰ ¤®†þ>RrÆr ô2ËJTb²a§¸JtkúµÂnöúµÿÿþïoøãõ„o¯+¾½,x½6Ê™¯µT®vIÏtï„núî8ö¡&€“€}g]èêtá@Û>Uk4öóQ orºK µîè;is«m7:oušEö]òÏ*D7‡¬×ö©áɉ*'Ifeá™áDä2@+ô8I.zB¼£9OÁ³ø¯RiÜJÙv~¬£Ç:›hÑ¥±vgQ?jŽªTÎd·dŠR;Ýž7’kÈî_$ˆ}^CÌYš®›n6Ëœ?r:/®ÛÅ’;ùY8 šj¨J]~Î:/Ã?þ¨øþÇ‚ïß*þç_g^/ ×sÅùܦd±ó&ºÝŸwàvwìwâf}wR™;Ö>Øæ>€öþÆyY[ [ΜQÐ@—®¬ ú#žAucWtìÀ–Ö$R5î»Í!iw¢ö#Lã ÀW>` Ù'DP'c`Yðä[)û ´Î«Œ ­¼þ’úRŠn`.ä/%ƒ‹š#œûð4ºU,K`kdDÔÂmFw—†²–¾,™wÚœoft$EÈ L+ÌLÓošCNLjw  cF+4]Ÿ¼µQ¢HbH¤J8ÇD…‹&)L[nóœVÃ÷ÿó¿ ÿüã„ïßüÏ¿V\/•â¹K™Zf÷;p»åßé^ûaxÜÇCÙÉz R UTÍ ÌÑþúsÀ|:×0œ£¨g ²o‰÷»á±éêÓ„½C?4¿’x"É.r ¶˜p¾2N÷O©¡"þšZ†f‰Ø:çq›:ÒUh*-SzÙ`AMÑâÚÀÁ˜;~Pá™§G¨ fÁµíLÞÉUƒAÝ÷ÀþÜ× 0Øi ž@©"Yñ¶F°¦Tf£eÁ“j\™¹Ò“úë;AöY™ASy™ø¯?¯@s`Tƒ/HæveÂ^9ƒ^~jk‘Y©Oæ˜B*ù}§ y(›ñ㲞‚Ðx VIÅEÿ(íì,G'â¯MÀ+HXÚ@iŽó¹â|¦ÆéùT±,¬ËöÒÝïïÞ~ýb–úûçÀ¯¿¿>T­ ;ÙX%Ñ/ªÖáD¹Ž!öK­‹=ÐØa¸ zxGÏ–Y[ÅLÍEE4?à0@¦,ä$‚«k.ÅÄPf-‘‡tŽ0¢Là1‡°ý ´µ²HÝe œ–TÖJ¼tI«Ä.Ú¢¡õ×+±²Ö)lö\§ÏàBØSãy–¸õ5Œ:@+@9¨žl…³È2Øz{µ‰¿•Ù¡æL° Wg9BÝrží0õ" IDATñÙ`0æÂ+õ[3£bêj‹}JNÕF1j†=Eè†Ç¸~ývì¿ üý×À¯7ÇÛïÀí^ðèÝ+}qæj¡î™Õ’²ØH”/k¤úFÐK'PQ ‡ÌÈÖ6!ð ³Â¬¥(ŽH×-]©‰ód½`>›/j¢Ñ,§ÀAÍ¦Ò Øæ°êSQx©E ¨%u<å$1µD{!’Ì“]E¯agˆ/Rzùª=rß/ƒì‹Ñ‘ áwÂL•Ô| ]‡cÊEI’s>¸ÄZƒÂwHç ®þ) ~>“”•2¿Žp^“¥Q0n‘M« ⑤dÿþ üüI×Ú_¿~~ ü~wÜ[ç´ÄQ¸çY¥ðc,Ú‹ek«Ë‡Æ¯“'ÐÐÌ ª5X©(1:àP§GJADÅåæ@5DS­ ÁV®zÜ *˜üðbÞ êÄ hÀ\‘C¥t 8âƒtì•ò”sCD5ϲ°¨_ÅKjÅŒ|ª,1¬Jd+Nõå,ÖóeÅ󤣙‹!ñܶQ-QøÀC㓬3RZ)éÍP¡ÁAµ'ë(Ø`9È„Ø -†s,ä‘h½jRµn®ñ¡ xSÍ¥ÝJE[œ:e2†7Ó w|~oo·_†ÛvàÏŸ~½9nŸÀc5\Û54ä±à…/É#BE œF:°V×ù@Ó!  Q­í¬‘¦§Mâ&† ‹&ŒE¨´ë¹ mÏk†ZQeXe×€è¡üæ„[A™1ë‹ôÿ³ ›¢ÖÀÝò¶Bè¼òZUTn¾´Ê“7JLò`©Y ñëLÃð¤w‰Å±ë ¡ð˜˜“iF'Q˜O§œg¦öD"ªÆaŽÇ­à¾Ú³WŽKD›É\‹³œÈì–òPˆBqàRPjU#Cfíèeí;Ç4¿~~ý |ÞÞ>?÷NF«HÑ¢wP‚´˜p›Y¸„Mi§rTÖªè00«¶j+Ûw Àæ0Ÿ‘æC‰õ&8Æ×ÐX •¥¨Úe‹Ì~ñìdŒµBVÔ&™Ó½D­Ó®ì%ìF/ôbµ¸-˜YJ%¬ƒRI |lÁ\„ηʕùH Hù_fºÚÊ£‘$¦÷LhËçXFŒX)_¯Ôq?Ÿ%B—ì„®ˆvo›OÇíÓ±m†ýAhÇófÑÆSÊ øu” ½\ÓXK«ú’ãó §á¶q®{»~ý üúixÿmøµx¿ãI›†åÁ×áõ?& d¨¯Á¥y6”˜*gÏæ•¯=§¸®;ôKW¢ª‹ä7áCÊ`vŠ¨Ï J®>kéµÎ:½ó7¨ÔñÙkàú|o øü…êËþÓé8å‰\CoŠrŠ;½x"päõÖVVóZÎfÅæ"‡f ÊÅ,ìsÄÄÔß²J ö|b@]¯T3>$g)ËÝ\’0ì{ÁýÎmí÷ßoŽÇ}5Üïcã„"FWÉO>¹ay@9“*›±APóñÈ™,ðñnøù7ðëðñaøÜö‡HŽSÕS4;Ô¬‰òĬHŠ…øV—Œ6¿–=êl9?Kë\/l † ‡uiÓ — @|x~Ï/ÓæçÊ#šÖ¼aì0-D]®Er܆뙮/j^¬2µ¬ÍÔ½’‘Ñ;U¡ üþmøö:ðó7ðþüþxÜŒ†K;Ý^&û´¸Á­ÌìQ‚¿wôÞpà ÜÀ¬òþøýVññ®—l–©á?«–"ÆeáÌàÞA& »¨ “`£hXæÈ@5Fç&C¿?ÓǼÊTOE¢²›y&©ùsSAZé‚K­üù˜YÌtJ Ì”³3VQº°ÜžžõßES6™Àb<ƒ=È-/AŒ-±'€ðIr¥Râa:(Ù±YÕ«¨FêÍie{OµdÉgž1EüWýù"ã€Y§¯ß~| üz¡”÷Ï«ã| |ü&]åó0]gáR0¶¢Lź³ÐéK}Ü7Cù »¢|~î7fIŽÒDgŠöü>ÃIÉ)Ä,Ó¾&»^šË³– °B_KÙ´å8&«¨™µJÀ¡ÎàR-6Pu„<É9IKüKÓzSÈQßsƒÙ2ÚrvŸk\I»µ @Ó{~®ê¾“Ý[6ø‚ýijHn‹A•ׯ‚0ôªØ‰eRÕUˆ€¿ú&€&4Ö\×¢%×  öÉTž¨/–;‰§SAkJÁpàº^_×— wá‹ã|6üº ,'Gk…AaA3…aÐÎ[¢ô@˜ÖòO àV˜e÷ƒÌÙm3ÚÍÐ`Î+Ì”`d–šïF"(aèp Ôâó3 -¨ë:áÀÐè޹‡gú5‹h~@Ê=ƒŠ‰AuUf£ìU¢ål+ÕeLÿW‚/gНHûÐ/\ßDÖ@_»É¼•âËõdñÔý4M Šé‚-Sû›)"žX®‘ ]ª$4¤öÐjÕàþ_¨j§Õ†Çà©&‰/P=|(mÚ¨fݵH:{YMrÝZ$YyY\Îû%p97œ/NSÌ3kµÓ¹àtêX߀úØÁá¡3¸Â‡“R´lŽþ|^ã(èšn°à&¾{f¨j(¹‘c…åEdöî°¡ù±Y†Ç‚R5`™ -ª*}½XÆTüåH¢ D°žÃÝxvuº‰™ÉJLî5¾t„ÈÖØ‚È™Ž9*É]œ1³ó ÚÉ튜åÛŒØyS›Íù !€”–ÌVªêÑ?-ÓϦ6À 7júÆg“ÛË˴º]'V ¥©ë,65P)ùóï”B¡Ž4Ý„vf¬+LΫã´Ã½8®gà¬E•Ù…›E^Ý }8âà·Úk™Té4ÂÂ(3³Ô¶À¼hÏÉz( ¨#Ú´! CÌð8€®.uXC-¬ƒKQm¬šºÍnPâüÙRª”À©íåýDŠë"Ày9²Õ…j)µ<Xͼ€1i!$eÊY––iš˜ «|~ýof-ÌàËZŠ×4i0”•äƒk5«¨Ñǰê8 €® ˜ªÂ ³‰9ÅÄ(º"²Ð––ýŒÅè+½€r• aÓÂs“fK ¬µâ´ç‹á|q\Îm麪Ó>Øp±êP#ECw^ù14o”1DŒ"¦kaWPÔZPÛ‚E†T¨cTTX³ˆˆßaöâ V¸³i³˜¶çš6dú}/€pë ‡ðÅŽ˜W ˆÊFUסöß¿\U63OdÖA²U+¸8g Õ{êÌâ™9̺¦]þ>Ì… zvA)Ü–×cU—™5„&Ê,¼kM' J´ÆmêZX9Â@iTªÚ#Cà "Š´,8ÛuÄz5Õ°?µÅÔžˆ=¥IS«†Y±F«”è<œÖÁ±T8|PG5ÜqGÁjô»PD•&ñ.8¾Ð§Ÿª…f¶.hCêªùŸ‹©Ã™+æHl8—“[@Ï€™ÒMŒªHq4F6“©@W™ó¼  ¸‹9Yf§JÑ]_$‹WevkŒ:­ÀÏ,²¾ÎF/±Ä ϼNй~gán_4¼4p®  l¥³SÖÉm—'¯‹Á9œeКDP\ÄñˆJn!„§‚ —Ú`öÝÑåCãZ^ +¢Vó®âæ¯+°žèÛÓ*ŸÝƒª>®!=c7­Ýkä4º†ájȼRà÷4ë¾Ë‚ó¹`=ñðºó<õÀRMÑ´àÛëÄ^xÈ¢KüE€z¨éj­’˜–ä¼R¦ûW$ʤIáˉó„ÎG"³X“Ñé´jÄÂÌ@|o¦"£]¹ˆÈÍÌä(ÎÚ%€ò…S®æËJ5g‰œ¨ûɯ l.=$¹'º”Àb@‚fŽZ ö½`qç³2ÀŒ<1š­‹ßÊÁmºÖ/²ƒ©5¥¸˜kx±[ÑUÿÇI¾DÕ¸<”ݹD;™)ÕÛaBÏCA㢱[5~εë)pyqœ/ §+©H£;†¶ÌWÉä¡ïªÙj3œ ´*À+Ü#Õˆ ­È‘³ëÏ6lNdM }êøLAVòD {r ¤3OfL ›²Zȋ׎ťŠm!ÒO0Ìž¸U(XEÐdטÁÈk®-g¶/ôâòµa†©ÉÑ* ¥E'Ž5˜>ç]ba£p)ÜüéÃH½Öx¨IŸõål¸¾ÒçùUxÔË·‚×kÁõÅp>œÏ´ˆ9Ÿd`yVfZ KJ›} –à×½6îQ.VQ¬M#§Q´T\*J3QÞòù[ÍNѨ›ó…&N©Fx:>ÖÀã½`»~ð›©+¿ÆËKàÛ7àûzó´æX‹Û¯ú>}P£ÃmëºÙGP¢Ýݦx\mºµõ´ÓéIrKÉGoPßjøÀÐjy„öáÆ³Â6Tˆšõ¬Aâ³a9´jãùg%‡–ÐA5@häÂ!²šu óÆEv—6ÁNÞÒE_8Q˜›0&™sÖ•³°uåU±h ‰Ê(ZwšàD–EÌ®Y_ѧ(5S© äh«þa8O’K׳÷À²º–OÁZd -I°Çtá5lÌX,kp¤Qp:W¬—‚²„¯›¬ukv{1ìÝŸ|' GÌœ¥ºÈtM ÿR0­wuÅY Ô•Èv[S?&}¥Ö 0ÛbÓËoþhE†T ÐVx²¨çK^äpÕä^º. ®Ó¹`]Rb’ÿmUו‚?À-bqE¦è¨I*UuN•q媯iíø¢2ô…sv¼\¯WÃëKàï¿ ®gà÷Øo<ôË:p:9~ü££µó™ê?¥Rå§6¡ðF ’»aTvV˜¥†vF»6ØÓðjVS ´ÓÄA‚xG—Í}k<¹#YJuc<¯©Ô#eGÅ%ÈEVº—kÁùÂú£J]Fñfœ–!ÊëØQ€îðC›=*æÃbSŒÈ/avF êÈ)ÌKc†\å|U¥‚\+_ø²Ò¯ç¤¿s:ñDz˜€BÓCÿϬGz4³¯B^lÍ©ij%fÇ9<¨XBÄ=ÈHÃÜñÜ]Ú8K\VÃå¥àrqœ½bYÄ뺯GY£Û%p½^_ ^^€ß>?€bô¸IÌÔz]–¢Àª@qÖuŽê†n<€½KS¶µ3#&±4cw:(‡ t¾N"j)ŽM&5×ùwøS!Á.‰óD¥ìÕ°œ©uÈ·¬,8«¬|5-^‚ £{»8E‡‘¦+€‹ø“0×Ï-¯Á멪ÞÒUThrm© ˜Y@Σ+p:?ƒkU–X'­W$-X)ÉîÓEà{.ÂöÁ/”×6uJ¢tw*Ò‘éUè8ŽAî»AÌ×o?~T|ÿQðí¥ãzi̺¥b]1a•³?.—À˹ഠ¼¬4Q÷ÇïXÕ÷å‚UBtc¾ÿÝFà÷0vƒÁEMX®àÑUúÐOskÚåÌÎ %¤»Š¾\(H*nr±‘ÁFu`úòÁÖF×úºTj‚¯6aH¯`ág4$•ß/Rj‡½£á(l]ÝÄ•C$Ô˜×chpšÒ;üª–Ê"¹<ZÑR„„k«þ¬fMSUûáe•×ÓDé5ˆx–0¡éƒ¢ÝDÈABºíƒ‹¿ÛxlU‘wþØ‚;ZÁåZðú­áŸÿ2üë¿¥‡¾^®çÕ±ÔŠº×R8 ¢uΫc]€·WŠ›ì[¡ÔÔ^1ŽçžJ¢ö; †Ö¸wÒ‰Í%`wÂÃy »ðOÆJÁº²ào—£f¸k,²on”èêáÉ,V·¹Éœ2‹|QÄ›ŒÞjعöä_¾xP¥ã¬Y»EEE ¹ælÊb_ø/²¨Û”ƒDQ¡›„($^1-E¤-IàypRlÆ.¹Cõ´|]¢ñ9°ÒLTY× Ëä¿CzSŽ÷¡>ß;î7`»Ñ¢Ô‚ó¥àÛï Ÿ÷[Ã}øþÚðz­¸^§Æî´¶‚ËUPŠ2ñǃòÞ­Ì ¡Ñmšð¹Œù,žÎ·ÔÑèÃi"1²±Ãüw4‹Ð¢‰?“o>C»^ˆ¬e¢£¨PãoËÏFœ/g LpÒ%â_«fu&Ðgd½ÄÖãy­&õ8ÅÑÚL¶Cަa„O¾¹G¡)#ˆUYa=XsiuΩ ¤bXMþøð@šãuBµÇ ö‡Qï~ 6nêêLCm½³P핬³ËûÀÛ[çßÔIøüèø|—Ä$yßXÏÀ··ŠÛgÅí±âq[ðy[ðÏüø¶àå¥ãåÚpZY+”jx¹ò*=_ Û•Âr”ù®òn$†HU¢äÜ@Ò Ô8£ÒqTùV«(&#„gŸ´æT‰¢.:jnó]h‰3t’ãËFÛ29›#~MºHUëJ…b‡GuFÌjf!žD:ÏVÂCŒ/º™p5™’G)Bb”#S  ‚jÁÁY¨L‚RRR̓€æUµ¥À—˜:\µ°›«5¼X¡ŒXÌ•ÅÛAúJßG/TÙïï¿~øù6ðן;~½ |~8:Ü:´§Õpö}‘SÅÀÇ­ãó³áãï?¾½¼^*Η‚uáP˜'1­V‰_¹j£vvúÙ€õÞ˜ûðYfyst‡{… K·LmØ ª/’TƒÊ5I¹n”Ê¿ôƒîø¾Ý@Ù)•“¹ÉÌUæ‚d(TQ‡´”‘\'Â"Ñõ`[ߊÁCUµªù—– ²åM­ótºÈ…†dW„ó:·&zY6"Îâ>íH|y6$½SÆhߟCØçž¢:ÌJ•fÖŽlÕ¹3X0µ:Â&ÛF§‰û£ã×ÛŸo?øù³ããýÀ¶ Š™0„o1³™‘ìÇ‚û£ãócÅûûÀ÷†?~T|{­x}i$.EH&ºëMw¸eI(GõÐp)HÛAÞH2 }¯4í°¨KdýuàøóvH¶vûà6.÷Ù€ýà?)ó>¶¢bnßÎ çˆE)“v$ñÑ<áóvŠ/?Ö.ÕTbSžä>Aµ8ÒW0"$ Bh39U}˜õSb4N^É hºñíAä{• %|Ì­ë´CY^¹«àlÇçß÷WÙïÇç­ãó~àãóÀÛÛ÷·ŽÛgÇvïè¥Cµ »a˜0C—±ÀáxÜ+>?ï¼5¼ÿQ•¹:®×Šó©`YÊô*ÕPŸûfÈÑœ!ÍKU:x¶Ç@Ï)¡]Á¤:‡#\&˜Ã S(ó}~T¼¯xÿhøþ«âÛ÷†ëK¥–hò·‚ªµ±É©ÉA+ ¨¤y桃+y„ÞÌÈ?ýr ÇqÐg{Ûhÿ{Pi{pO’*Êí÷ïB‘ýHý2¯ËQ‰ ÂÛ_~³ÈÿýùMâ¶Ó•^1TtúùÂ@þ{å^D|ž°'¬€Ì #Ô¸ ‚š›È“cÅV·À0 ödá©„v<å`9–qqã´Õ£)xˆ:RŠraÇ»”!2 á 64\vØmP³U¾ÉÇÑqlÇæ=PŠÕh’x*Ü}a©7XSdiö1°ïÛ£r{úÖññÚðòÞñúRÉ“¿>-J–…sÒªeª@<Ž>ÚEX¸G¤= èkxá0ƒéá¬ûîŽí¸ß ·æ¢Æ¾S³¶Ý>«hÄÐ̨pM‰Ì–'Í×òZËÌò,¤c°ÓÎûx85ÿRè[M¾”(ʪ)ê >_ªÖֹ̳ഒÿ–;Ù E²šÏñQf®Ð¡L°<ñ˧µã¡ìt¿s/ññ<î†Ç½âñ ©ÄÑÑ+ÚÑÉnâU4×*ƒrÏÑd%ýŸxM€‘Ý{ÈbŽ’Šá,äÜxµêEÔ¢RuRK 4‹ù²-k'eîr$”zC: ‘çƒhG<·„&b6ƒ+A¿\ïÊ-ƒ#=q·‚>;dwÈ‹‡{Ž­v¡&'¯8ÆÀ1†w„j’2 e¨ Íš§Ø3È-R”!K” ¶Ä“bㆳwþwtiïß¹û8íd”\ ΋ê,Í›~^ìÉø¨“Õzö¤Ö…’D‡tðyÝÝïÀãf¸oAöaÊTÇy“4&çFxiÊ úq¤ì»Ÿ )àæ‡KDþ˜Ý¥iØJ|Ôzlážh7³U”@;β¶áßiÆv®(ˆ tCN5Vò§Xû1 †v¢ÜFfOÇ\Ø(êyS›(Ì0CT¯]¾‡*ü§RO6`N‚£!©p‹#³] –,6s°s#Hu0»ð(¡q`áÊ$]öîƒÛë\â†ýX/†z'¹oYÁÉ„ô­™ÖüŸAF,R¼+çv‘,Gg ôNãía ¤ŠýQñØ ÇQq…>Ö£)P+Z­E‘]…V³né¢A°hc†êþåš0zòåp•]…©^ÃÜTl.ˆ¦… éóZÉh(…¶öÔUp^ œwjtcÉÖRýœôG8†4 ¢8½Š“Â;;\C¦R¬Äö+k¤RKi"£&‡‰_î’5TÒZ@Ð ¿Aõ H>»eáy§ëÿŠa:‡™ä"µ„_” NHfªKÜ, rºeŽ8(K ÀU¿bvµ±SlKAk¥,’Ð=*\ÛE4n Rrï…þI°oû^±¤@½atJQ‘XPZE+µðk0‘ãq9öxZÎzH9W¨ù|˜,Üy7K/+’6Ì¿—!w Õ➃dµ¯U]'£W»%PœK˜5ƒ/¢ókÑ¡\…®aù1¸õË‘Š=u®¼L t­_ Ü%м¡ÁQ*y#>y`& 8l0j²/j|ÅÔ©ì4›­I9éÄQ QK/"¹kÀ€­š@ÊzÞÝì •¸YÁöVÓ”.ešjNw®æhmAk§µÂp–9¯äq/?zu |nGÅvô^±í£z¯8zc}næV«4É8c'—ˆÏzy<™¡l–'O'ËP«¨ËŒ\›XAh+ùY—2\ä ×ßu6 >x*s¦—‚!±‰¢¢ÊÇÀ“ú3Íi4 †Ê—íì"ú ÷ëZŒÆ½Á†bÐUøÔª×Õ,Dåÿì`ªá"—Z£ÀœÏ ØfÎÔlù(˜r€™’ —æ„Õ%þáØíYgFNl·Õ Œ\,pª$®u`Y +àg,Ía¥ñ=ôïû(ð£âèc,ôžÞf®^Xßy嵂Ë)ªZóëm=gEŽi‚íÂ,|0“x@…ç|,èYèA˜3Äi”d:ÕF=_s(£r 3X=™¡Žùwó9ÕJÉ—cÇÖuÕv/ˆìPå1Èí–¼²Šv융L ]gy]qîBÕ3+g\1H4¬õй-þ¥Ñâ‡úÂB-Õt¸æ]ÇÀ ãx`­ÀGàIDAT(#AÓܶ6ÇT<,ÏÃA¾¹™¥¢t’)›DÛ%‚¢L CíÜ ö|°}%å|I ò„á¬×Ž^…þ7Œ£â¼‡Wþ¯Ðº/q² ð¨p4ú8?‹DÕìüR;IßÐ\*fµŒäšgð˜-i+¡ÞP Žsás¨¯wv¼Ì„IE{&‡ª‚¹õ›JHt1%M¥¢»HˆÓá4³"߆)8yëðúp `] ¨E¨+Ê­º²y3Àf,x ¦¥ƒP¾à†¤‹~Õ^†xfRjäxÕV@ê¶¼æÈšÒMÁzøè؉õ-Q°˜£ø*)Ä󽚆À0öˆ@‹Æ&*°Ú½ªîj½)ép$B¤€5)tÛLzúvô/Ù‰oXÙÉ…ß”Y(?³QdjB"î³õW·Ç¾Pç§Àr%½/í´E¡Ð.]þc0ín@•—³2 ZPPGa°’ý{PαGÑjY`êwbñWAí~Ò_„þä噲¦à€OÌŒp†g…Žâ†Ð²Íø2–’VóåYÓµ‚­ªÚ{ï_¨Kš‹Z.é´>õävËôÆ>vsO²ÝXk”²< °ÞQ }?Ác`=*Ö•Ï”·pEã(KÌ–¥‡1Û—‚s/Ôi¢ÅDäh¤k` KdëÉ‚'à= ÒyWéï&r<é&ZúÌ­«*¡Æðô3=ha.fAä†ôp ’Ç^„3åZ{Ñ»)‚’ý0„±±.ËkŒd¶jZ¸°/·ðza‡í€<©J|)eÊÓ0@#àË”b¡¶Tn+)¨xõæõez¹¡…Ñ0„÷9ÿT[¤µ"Íx…Ù¬O‰¨ñã•p©…jÉUq™Aªر"â€/,È[rŽ"«àúåÖá;£† ‡>\á;T˜óçA£g¤Lgà@WÅütfƲYª"’Y ̶ú²¨íæÊf 'ì”o ¯Ò2Wpf÷(nÐTR ‚«h#IÝR'Z 15s™3¤·•Ùˆ@l‘ò Åta†tñˆ|T!58ì0x-¨&qñðùw'°g³†Ü­´u®Yæê„²)á×AWæaÎE’>^ÙØH‡?¨^ÈNº°i^G!µl E~ΰÐ3ÂÍOü*{Áѵ\±(6œS)ëTÕ™ÎUÆË3뺨+• -’¥“•#› ©˜†y}0îbŠ„`žN~óEÿ&ñ¢(¨ Êp”¨t‘ò¬Ùø5 µïnφW´:ÆÁŒS!b‰å·»go4l¢M¡I³–CEGÙÐ •-K<—SùÍÖy…0 ¤0 úÂXr‹ü¡¢_"½³-23Ùekãˆe5&ïG À”ÍÌ­Ýy£|©ñH±ßü>ƒ”WÄ…ºô£èðS]Ìp±ì,ƒZŒÅ± ãF¶êÅ0àÁ:—olŠŒhùœÜΤCµ€?'_óç ªT5VÙ…$¸=Ë/F/ tW¬ 4 ~^¨’Ì[ô9¦h«L3ÃAY%e€y]>8ƒ2°ñÿèš¹åfM­ìZrª_´ âR…æ¦ÏÕx$¾©°*@aV>”U£)¦ Üõw…%eçÎûà‹ËòM³Ç—0]w 0SàûÏse<£kjÊ£ d\AN€ÄkE”>:\ú£™·"1:9—ìöùù̈ P:IŸÝÁÃàͲ¦Rªæ‹Np3OIöþ˜ØTXÐa=sU`þ<Ç,ˆËLù%ƒÆtÒ¡WB ›@€|« †Ôožµ'J1 $03¥vfÏbäÁ7-«}.i¥¦o _õ¢Ø¡é‡åµ¬À÷P°S½/]7Ù (kYœ“וÂÂü?3‰š‰AR#©À ¨y5h\ÄlÁ ÷DY OÏè d‚|Eì`Æì:”‚áMsÕ\‘êÈÝÊ/Ëùý¤,¹ûx&ÅúüÚ䥓-¨–e°_’~jùÍ—ùÔ¹HÃJ˜RjFAw2@Žvò‘¹QHÚåf3;-‰R¬À†ÆÔ,@ÁÐ!`Ýf>„¨æIÕ—Æá4¯l‰¢¥]pÞN™“#±º˜¿‘¿¯"B‡‰ìÙÀ½|='Á&d¸²6rÕH™­à…òŒA@13MªîägÏ눙pðYèà†5¤—M¾Y:Yðß{ˆD ÷šŒ˜CÒçˆ9€š#’@çæ5ò@‚õÉSš\‚s ¦˜ c{é6ë9K#ÀÏëà Üòp™|0 sB .·ÕP‹^DhšnQi‚Êb1œ›Ó®Ùß—,Â+V×—èœ'*CV¢è¥ÑPÈKfcÕab@Ú¬Q2€BÀw¡ÅÌâÀ§¨n²Vg D´v.a¶bó X®(¨¢!t§#ç‹zI³#K6g§]y2 µÂ@x #Ò(¼š=Ó…; åõ<Ì6ƒ_rHCƒ\“Î¥©¸v7o5 ¬èZ×{Ñ9l_ètüGYg°Í}' 5 ²ž(za!2’铚²•®\n/+(Šdžó°fòݧVS§K[1þ¥†¥[ýVQ]C[*ÍK)ʼ ‘÷¹¨â“ŸY€¬åË„ê/%0ò*¯ÌڔDŽÙ!Ådƒ8dÎ$NIÙrùñú=Ö¼ÙSšóü[ ÍúOìº>æÌdõyåkØL[^½’1RÉKZÖV(FÐÓ²ÁSiÂÄÅwa(ÏÉŒþ°ìŽ2o!1$Ë™Ÿ Ô)UÖÈ1E'Nü*B’Næ<íÒJWÁo¾HuÆüšËÐh„t‹ÐÒC®€…R³¾ê›­ÀjE1ºÁçU1‚c¹7øgÙÅê¦ pÍÙÌ3¢bŽ\ÂU ”Åù¼2ì¡l?Q„žŒ\-K„‚ªÐ˜JˆÕ,CxµðzâÇüb`|fœŸ:à”W£ìyäˆ+!‹ÄÄ,¯ÖüëLWû`‹„¤Ç@€h ©â¹×™c¸4öõÑó`6Cê"óăWÿÿ®®m¹dG&PMR’í™}ÚˆýÿOÙ_šcK" ؇ÌD÷¬9F"ÙÝ…K"q#Ë ie‰áJÒK5[Ö{ ãX<‡ *µé] xfú¡BÊo^¬UÇ.Ý]A|åÑÝЃîùœ<r™Àän.häuW³õ*ÿáK.e/éX¬sR~°P¢´b'{Ø’V´µ±´m5ì `-¥›:.É’ ámS5KV¸ÄÐDÏZï]ð<ýnÎi¬«UÞÕÿœ:?U×T˜/D(@»9{ éÌÖÏAÔƒ)›RÝ6ÝKJ²½s¡½­Z4Û.±+9‹„tpбÃ!rI£4ÇŠÓê« º¹Ñ4a;c8ã Uâ ctýÞ¶^æÄzh…”Ð2…ÊÏ5õÉ uº´¦gHó6—s•ýž/>©šÏ¦m…XtÓV œ¯›ÁNEÌs‘¯·æiõ¦D¢ ¤pJd#A6~Ë‚­É•™§4ž¬=JP¥™«-K–(G«í§„±ô¼N¶ 7Ž4’¥IYòÇætú"¡&#uXÂ]ójXåœÐ­„nMy.‡ðûÍhîCal¢˜ ž`ÁBz*ǘŠ1{®Y¢v[Q<„’¦ã”W’¬!†|Hño`Ôx'FÆS²æû"\MWÕŠNÓ×,á¢B *2-[G°ZD? õ­”ÞŽ¢ë p^ÙDØâì£äÊOòz¸·4^¢løœ» ÄMà²T]¤žò#È!,8f G»®\o7¡¥ŽaürŸaºg"—0 \Í#|&üº:]Ä„êï.d7Jß6j‡éúœnWQHoäîÍžäj{Üü‰},V©L‡1ßo£ñT(ª=³é3ðÀ¨%s¯ãB᮹>Ë«G¯&&-½h„³Œ&b\ ÐJ™˜µåÜ—R%ëýå3Ûä%í]_Þ—Gî 2]0šsVS ¢¶YZÇI›˜Ó ®0,ñ?ÿý¿ílÂ0¸Ýˆ t-†åùƒ^/ ·í¼ ©œ–H&/¡Us À!P½N´ùH\`80ÓŠ4ó8h•ªÈ•x£z‡]Lê¯/Lw[8ýðõÀ;7:kRN õâe¨M÷Á.gr<­‚½D(±:/V°Vl2íRFç¯4ÅÐû4¡Èƒj[ÃèIŒŸ‹Ü©ôÙCnyÇF%Ëa€©s<Ñ­§×5‘1ÀV¶¡kìqɨz¶ ä¹Êg{ê´¿$¡17‡us_!Khý˧y®n'2´«Ðö[þÚšÙB,öMzÃÐeÇ€IïÍ¡6Vú÷çÆü“Þ²&ÿbî 0ö ˜DþÉõí§)Ó3¥¡ï°•ÞØ:è¥À O·t^ ­Ý–HXbòy¼Ïkb®MW-®‘¶BàNþ•„ŠU Ænr5N–”é©å-/‘$°1õÒ6«§š#› ‡®3d©¨:3;œh¸äšT0*q î|s­<éPYβs£,ŠÐëЩ‘ ›ÖÄTÀI°^NæzÑMÜc¡g$§I¢vû†œ¯9ÅÊÂ9bîx,Ùj_/§|¬<‚Þh¼àáhÙС(8†Î)‰êu~0Å ¬j¸!¯%!±+¥€´°Ö¿ÜøU™b ×¿ðmê©[TºE>/ç>õ†ñ!pHÂh².²Ôÿy¸¸`*èyóQ„.O¥¶Ç°Õ¾(Ô>λ@KóÏ&Í ¦$ îéJNî]9]‰ÞÊò÷ÉáZ·K<°#,jþ%º²M¨­×ÁÔÆn)àÉŠ_nlí-à|© ¦dI:pYಠ>±¡ÃÚnœ8ŠVp+úd*‹‡aç,kšÀÔÔÚô¥ÂWi_ðˆ÷9B÷k…m[ù.L„Vç ¡ˆ(Y¯¼<»9LŒ †Y5~¶ßír´äTiå^ƒ¸Šýš˜€+Ð82×|˜ñ‡ìÕõˆô¡²ûT¢‚$YW9˜ìšµ·pØ\³°$']27‡ëku¨©Ð¤‹HñiN:WPMÎÂH© ã‚É­µô¾7ЯQBÉååÁó^™ˆ\t´m«sºÈÃ0(XP°Ö'<PªÇA‚'åúºœ§ì±²|&u ¶ ¯ž‘ÍSÿ¡a˜3¶º(_Äœôéõÿeý¸h®MÃD¬>¯ÀÐS4&@äÆA Õ£9ó†ÿú@ç€\Ü&!`›’vÛœºˆ‰Ü|Á½Ä„3ÜN’°]Ÿkš%Di×áË<Éçj­ %’ð tka®!MKIpð7=ãØÌGœèë®bB\mAì¨ `&±(jHgó-X`ýw‡ZŽ(Âü# ôR ’Ä*Nëwòc6ïŽh \äÈ"Â7ØâÆÎôL‰ô%÷Unt¨„»¦Ýž5BªQ,ÙUé3¬œ!â7k¬oÛ3HèSþPµë`M9Íg¯"èÞ*b9Æ‚ßè¨$ô z$HsdV*ÞÃîÂdcéÆ:ñsX%trXÓHâÿúP[»‘8NrñÄ#Ù–Ø1"“ ˜?ãɾ‹ „#¦l¼Q¬ÙÌÕjLdk7€WŒ;B&“ÖŽR¾:H˜¦öâ嘖ß8ÈæR:ðÖfQ°8‰ŠT û¸Ö¾_>·ýÄ”"—4Y" k"/«<­u©V- !öóù¹’Í¥·#¸+'cªlw5ŽÝø.L³í~ÕŒ9`IRCC æÐÇINxšA§çÌ9µËvÆؘÈ;´q«$˹¶\0ˆÚH8±Pk»Kg$ɸ髜^õàŒ#bÄé“Ídc§µæ8Ä¢©ÍÐA_T¹SîËŽNì±*Jg¼lÅ5/Üî%àœb%z-Làæ2˜f\õ<Ñ.«ú¦³ØÍé9%^ °‹`^­/n·5 ­$Pêü…#¬L Ðv2Î9½¯Ä}nqÖ¨½ x'G?‹c¢^ÏÆó;±£´CÐöGäõ¥tÁÏæªÿî=håPs±ä°‘3ø®mš.2ªå Ï vgI¦Öï„@à@¾àmîžÇަ"(‹““š§ÕJÙþnaŒP!ÅḶë€öz rV–kŒRuìÕÁ>¹È±f¾«È:1œï5¸Sg݉5l%K”#‘Ç^êð ¨þ›ó§Ö¿ìV¨~*ˆÁ’ÃQ¢É ¡ÖD¥•›9N¥šj¬{±%ðµn ë‘8îœ}ºn{÷ –Zxöâø$ ~}¾¿_Ÿï`{ýö Á†IÐÛ'« Ãʯ*mѸKF`5"¾’°JCî‘„8¯òj ÷‰h,ONÚocÑÖû =l«p‚Eý<šRܲJX”Ütþ.L½hß2‚uM(NSRvoÖ$@÷µS¸‹ÕæÇä¶ÑÄ* MœrO‰Ìë¸!ïâ–¨¼Šíg•8ÛÚáͰÒ`£›/ë[©Ô'B•:Ât#É¢»X‡ŽDàvãÒªõÆÕ0Ç3O Á-ëXRL~þîÔP“…çWãÏŸÆñ§¿ ø,ÄSóC[èÒ!^óØf¥J­-xÜÀ¦ÅøµzzúCkÈœsÎW¹5žˆÍó[•%J™É³Ke¨¬KJFž1Ñ#WâˆólMzˆajC˜ƒIWq<¦Ó¯Y3½áºô•Ì0m €§:—DSTkˆ[à®};B9+Çuãö1Ü<¹s6û ZÈT­Q4g„š¢-¨%ܘœ›µ©^)×¶²Ù´€¼ ÿ$ç­à@µ[pÒÞý¸½/FjÁÓ ‚÷{æ™üÖ°•Ýô¦¯øþÞ> ·ß…¼¿°þyáóOãùÍÁw.¸8»¬}wãp¯!×߽ݓˬTw¨¯¡À=„L¯Ò{¼žÙ^/ÎûV·z¢Î† 8øcXuÜnALŽ˜:g1.r ¿pÁícC0KÓGÜ©cW©°¬Kƒûµ.¤M¡Û.VìÍ.÷Þ˜.Ö;™¼£F¬bþkÿâd—µ·”; öžÆÀT *}¢ä&‚Ð`c„4¿9ãýxñë Ð߸gðþàF®ja¨¤U¸©ÿñÜÛƒ›µ"8¸ãçPÝrK ËE`'ë}~n/Üî…n+ûó§9€öÅ}=6~¿%Þß?~¾~þZøø>iiƒÇFvs*òÞW%ö74T·fþüMƒd^»ÕÙ)RlPq·‡…9§­YRPTÐS§.Ãé†y´¸°Â=i göãm9‰J?O¾# v ˜»tK€>7/¶4Qd#ñ)¢‰f¯PBa{È ¦*3´p¦#gWC4G'6΄H7 Žä^鸽¸nøõ4¦ä­uîoÜ ýxp õí®(8ãÜ1øàf2o"C²Ž-KËÅ—ÉÕ{Î×)€yuⱃ»¤Ç‘øÏ-q¿þ|n|~·§¢mÁ÷GâÇO௿üü±ð×ß_?¹FøXT­'i¯(þüúÖDäÏÔw~}sÛÅs^ž–c±AãøñÁšìsFœy>™%[,æ„› èìÛÓy¹&²ÓA‘»‘›i¥.„Ÿ²YϪ‚\ro©´clNvÛý´EΊ“TÄ‘¶–A¼“ råJ¤½4I1 ‚CvÛñÜÄó¸K°žOçB nû£ñö‘x{_x{ð`¹we´Õâ®h+ìò0ÅQŽþ °S$$…ëíÑx¿ø¸7>Þÿù§ñûøóÕøúÄÖÛ=ðñ‘øë7ˆýú;ñóGâçO­ßs ]{¥ÌK+RžÏÆ×7M|~¾>›‚öøüL®È{J»µJ]=ÇÇ›4V U|(%PïYT ø Ì–·¸¥p©ˆ„`/ыˎ Zº|¿šA—:T„J µV¹©ü“³57ùᬅS€h¡zÊðc™C ‚rE¿É¦0÷uŽ _$¤pTà¾5çS¡>ÐXàñÎYOܼЙ¥šÚ=³Öɫչ²nnKø*0ßÏFL†PèúvO¼ß>nà÷Äï¯?Ÿ¯ÏânÁàõüü‘øû¿þúÜUýxÐuGp>©y¼]@½Ï—`nY¦§­·NüþøüÓøþ <_¡Qœ#åNëãñ`KÔSAÄ ã8Øn>Pv—¤Bä¢k†Ú¹¨V£©“ÕYry¥C嶤Hsú:`á„g¹7i õY!ó¥1I1ÃÝ )ȧd‡ºžÎ bÍ@V:ŠnL•²ª™¬þìâuƒ[¬ÀqO<Þ‰w®©&«bM%G¸^ÖãúnéªUÌ‚…ˆK?B@co½ðºûøþ|~%¾ž ¾)XUÄLï…??ÿ üúAðþöæ5Åœ¼°R6k7êhä7û9ksóÆëÎk?´öåýú$lz>¡iäÚöþ¹ž7XÌ‚IEND®B`‚pioneers-15.5/client/gtk/data/themes/Tiny/wool-lorindol.png0000644000175000017500000011152007771100213020701 00000000000000‰PNG  IHDR–¯t'‡bKGDÿÿÿ ½§“ pHYsÀÀ.¶·tIMEÓ '<íÓ IDATxœì½y°mùu×÷Yë·‡3ÞéÍC¿ž4σ%KXØÆTƒP„T HÙNTŽ B vl ÆÙK`ˆCŠT qʤœ“l’mµekl©_«»_¿é¾;ŸiO¿µòÇoŸ{ÛÂ$éµlï®×ýúœsï=wïï^뻾ë»Ö~ýø—?ù?ýûÙç'ßvcº¹üüâÙÿáõ_ó¿.ö{z¹ú°ßÀËýØû'ßö›®l–O½p´ü±¹ù{mã•?½úÄ÷ÿ¦‡ý¾^î‡<ì7ðr=î}ä[[ùøƒ'ó~ç^8¬?Ãí¿±ñféb‡ÅìÇ?¾{ë¾ñ·ÿ½O?ì÷úr<~Xÿ̱ü¹ï×ÍÁwîúÉw.–†äÇl_ÐCÉ\lhíñ}Êð–‹ÎƃóIE>X¾é³‡ýÞ_Nǯ«?fy¿É§ÈüƒËz~ã…ê³þùúLŽ2÷QÇ=€)M=lÇöˆ¿çÜ»C¦Cu•gLòïÍ~bð–?Û=ìßååpü:°€“_ü“o>YÞýÑ-ü7Uí‰}¦ý”œ„[˜,2!â¸#t ¨y'ñZx«?2x­b7ýG„ñ¾óƒO=ìßéa¿¦µÿÑ?x®”òOGº÷¾xr3[,Žü¤»%ÍôžxèÀ·´ã×$°Žÿé{3r}ï'ÜýÓÓ¬>·ð…Ægq‹J9ÇÂ%ÃÝÀwPM@BNt îêÚãåð lôZÉ‹ËA£Ý±Ö¤köþ«é×þí_séñ×°~éüž¯}r:þÑgßòOïܶkï ƒCA— Š™€wˆ€›£šcA[0ÃÕPÉq‹x0rQÌ3ÌñB6쪽ÚnŒÞ®Áª€‡§$½/2ü'ãwþ9Ø¿ÿ—êø5¬ÅÏ|Û -ø‘;‹“ÿ`¿Þ÷Û‹ç=ߨSÍgâ´˜ŽÓ!š€%"¸$<ˆ9¢Žô¯rEp@ÅPˆ™ïøÕæš¾NÏׂ‡Lðø÷¬-¾côžÿòöÃ; _ºãW=°–?ÿG‡}§Xý]«¸?úùÝOù2{àÅh/8-xŽˆažRœK†qÉQ7T[À1S„æL¨ƒ{zÎUȲ”6c§ˆf:ìÎë“~#¼] j>èò|ðØ-~püî‹ùÔ|Q_µÀš}äˆúêw@øˆ=v¿ý,ÏÌ?A[t8•8+ð0pEƒ= ¤(#Z†ûÑŒ€†a.„àhè±f0sr/íJöZ<ÿjðNîý–—?9yÛÚC9A_äãW%°?òíoPÂ_ÔnùuÝ‘¿XÂgr'İíÓ\ÄÝæ!¤t&†ªã.à‚ˆ“ž0ÜADPu¢¤@—R§$ Æn¤¯±€hª0wºÇí²>抋"zNd0ýG] xúøØÃ=c_øãW°ŽþÉÛ‰Zÿ),þgu;Ë^¬†Þf 5ZLJÄ Q0S‚,@ó·.q%…èF¦à^önÒ $P™ÓÇ4Aq:‡Ò uºnBÈ  [!C}Ò]²Wßô8¯6Gþ²[öçGoÿ;ñô}A_ÀZüüû2 ƒoé,þ™º9ºxq›ÃúÚÑó˜vÎ pA¥ÆqT?­þ2PC°”IsS–MN™9Jâ§< Ò #й¡}PKq , ‚ ‚(w}d‹0b“G²wp¹|5A‡8ù®†î?Öþøäíqõ°Îåêø²Öü£ß%B÷­Ó¿ÐÙòí«^<øÍä6>8&ª§”dǧà ‰‰Ó4ÐŽ"ëÀûT ,ë!«6p~|’€æ ôé0’!´ Œž!> °Â܈~V%й¤× HŸbÝs<ÂÕɸR>If-æƒñÆ?9|ëŸý²•'¾l5ûùﺼûa‘öw·q¦Ÿ}ðiŽu—n0Ë•{Œb>D¤"Ž¢Úöä:é0SÐŽ•e= ËÜ!ÏG8šo²9ü¾‘dåû±î»ÕfÓ£z›Ë§Yê=ïrÉV ¦à¢ô•›¨!®ˆJb×î4ž"Ȫ˨;¸{|ž­ÑŠQÑP·9;“ã” ``Þó¨õêÉ{z@`­qõÿßE[óþTmÊiÙ˜#EÁØÁضy|ü6®–‘¡!ùEüXùö¿ñeåžø²Öâ©÷«·áßUï>h¶|ż>àVó'r.›Y+µ 9hG‚SšÃÉ"Pc8J@ I•Ž6DK%ݲqî_deʸ¨ÙÍØ®(Š˜øS/]Yÿ'ˆ¦B Úiš4¸{±œhî±ÇRžZCqR‘"WBžX†ˆ³e¹¾½içŭÛ<i†'ÅÅÓåèµ§”$ö]à^ †¡ZaÄ”Š$`TtQ©Z£i­•¯¦ìÍÇD‡iÙ°=ZpnzH™™²¬M:j—ªâfXÒV1ë9X/gD·4IéVƒ`Xâj}‰è.I‘ž˜yz ¾É#ùk¹>x¹EDX ùO×}×àùäa]›Ùñ²Võ (àí7ÓúÐÕ¥;‡÷¹íÏSæ]d¢t˜«@Ž“!C$5‘U£&H…£8%"5î5à„,bÁ•¦Võ€Î2MÁ­£-ÊPS–ÆÅñ!“rF–à ¨t) vI Õ¤IœE+K—@_sAEˆû™¤€Å3š¦=@‘^_íÁºi—¸œ_ãQy5!”H>½ÕÉàHùßßúæ!]ªáñ²Öâ‡(Ùoyû£°|ÇáÑ!/œÜeqþ.,0©=š‹I†xÄÜ0ÏP)ANPÏú¨”"™“A¨RÈð£Æ²`DO­d!ñ«UçÌꂪž€ƒŠ±39aXt4Q(rGû(bÖG!Ò¿Ü_r"×uõàë¶xöÿžf= ŒÓ*2¼$úYÏÝb„€pÃ^Ãécl×±l<|¦#ûý®òÑé›>ð²á_/`U?÷­×!û!oW¿·£ÒÛ³ç¸/h‹™™Ö’¤Ì ÷‚h1E%WÌsTTRR*sÌG˜´ˆ * âCÜOè<$ JЦUêN11ÔsʼfUe4®l«¾ Ô§/ú4؇ç Dbg¯3ï_kg¤h/EØY¤’—¤@BQm]@ö€hÁòµÜÈßHi‘½8ôsåöÿØÚàl~ž,Ôû‡¬ú#ß2tÏþ¿»­ªÍ½æwô€U>®•Ffb„þ¢ä)JYiF8ócÄG€’ç`,‰Ö¢(ÑG„°Jí­“«Åœ@Je‚ÓµB Dò,ÉÑÁ;¡(ü4‚Xì¹OI,žE ñôš@BÿzODÞHà“õÙ> c¤ÈÕ?JìõT 9ý™dýÏÖ>ò ºÂ56x#WFWð°Q¹„?ú£ã·ü@û¥½’¿òxhÀªþ;”æè›¢>H7{Õq½ÏžÏx0¼ßu²ÊÌ\úF0‚«`Þ“g"XIjƒ{‹y†;!Ã%â¶H=<T#âÒÛ‰%•ü®à9hÒŽœI ¢g p9û»ô`!ô©­Wà-úYóY =Xú¨£¡f¤®!E+üŒS¥t*˜ ®F×e¬ê’2o(2G¤#ºâdïD @d£¹À£Å#<²ñUF¸ùÍýåÑ÷œŸlüÑ[~䡤LJ¬úçþàëDºI;û†““c¹Ußçhp@7Ü·(¹˜ÏEÉ0ω–ƒt=É5ŒaØ¿qJŒˆQ#}èž!áARÚip#0æ(yVˆXlèzgÔ:29kÝØKú‚ÒG’µbž"SjB¯Ÿ‹€öÒ$eYŸòb®—ð«ÄÙ$)lÚ«ñjmqóÅëlípyç€<4®¶¨š†åÛÃ@‘Ð%®hór‘'Fïf(;4ß^ú?,|¿ö®[{öRã8ôé°ëÑuÓ9ëýVÖ)N@B ¾öl]_ቬA¹VVû¾ŽŠ}$¬Ø@W8ލ°{ç 7w¯E¸´uD>œ3[m­`<:âÚÖŠý£ ªKb甃ç7çd ¹Ü¼‚K“7£aHòj;?jf?6yç_ºû¥ºÖ_`Õ¿øÞL\]óØ5W–ÇÜßåd|¿‰ƒJ]Ú̬!"%‘7M>)BšçcNCËwˆ:*~z‘4Ô ŽÇ$?¨¶ŠXÒš\ºa\“¸·¯ó“;xT’ˆšxâsý‰Z“rƒÎP€T€÷šTŠB]Ï¥Bÿ½Í ~ú3,þ3g½Sq8ZM8^Ž5m3äàh$R–-u„åñD¡,+b»‡;lœ«¸ºqÈ…‹w™L—g„?^b+<Éë²]lá¦/âö½¢ÅO¾ò/Õ_ìkþEVýá÷ŠäËwY«Á—ûïZÔ ž·æE…éÌb~¬&ŽSà´€`¢Õ˜§8墘Ìš—”õ†Šõë9Œhòtš¡(BL=A„h–œéërÏmúl—¾½$Êœ²lObh_Ϊ½èkkM?©§b(ž!{7|úzÖ=ƾʋ}d³ô¶0Wîí^åó{ç–-’w®`°ªsê6#¶!´3nß3´l]r^õÈs\ÜÞÅ×<>Š¢ŒØæ5ƒwquðDbõ3ÄöÖ-jüž¿ñEK_4`­>þÃ×iw? ‹þ£êð~¸_°»µ .—ÞQ‰ø =LDQÎ3#F‰ˆ¤fľ5" %9¸aÚ¥Y?›¦Áމ  š®žÐ‹•ô˜‘3~£ë .žáÉNªTš8 §nÑHŠ>3¦²@z×iRÓCÔôeë|Ùº>Cæ–qptާ_¸F>¨ Ì”®» qçpoBÌ;&à ''+*Æ“Žçï°99LQØÏ*Gï¹bæ¯ —ŠW1”M¼««W?®!û“ÃwýÏ1®ÿX«_úêà}1ýñfö¹Íî¼ÈI~Bµ}ÐZ¶óUˆÅQTrÌ T‘¬/ñ­¯ÞZ\ ³´J‹9BI' ’ž÷ÕŽÌCmbjêzÀ½;U°‘³;Ùá4‚ÀZó*!E‘hЏã!õñÖ:•ѧ:΀£€YrÂ£Ž»¥›¥'÷ªŠ»¦æwÿ󨛂Y›CÌ98¼ÌþlŠFg2­’VÑ).Âü(çþÝť޲¬)Ž÷„±óø•]½|‹ i|QCŠŒÚ‡X·ú ù#\(_Ï#ùä]‹êðÀãɵ±þ¯§_õ·æ_H|Á€µúØ÷¨SþVÕæCÝj÷5î¿ÀóÍmêiW…Á¼t–ÒI{Z’§®Y‹ª¸ -f§ï0W¤7ɹHo'.@g 9Pãi;ð†4(J4¾•ågÕ¬{v= ä;½È§*ºœ ŸÒ§ÆÄÍì,ß­‘ªP ó‘WK½AÇz‘´!œ•›¢Pww.3[8]µÉòxÀbع¸JÚUÑ6ãd/§¥ãpUçÂjˆsP \|´áõ¯ú“É ʼý„¿„lj+;ÅEžàU\¿ƒ<žÐµíMÓÁÓèwôž¿òI_`5¿ø}¯q©~Ä¢ÿ;‹ƒÏø­»Ç²¿± [Çnj¸,ˆ†˜%-*9ºþbfÍ€QŠ^§¶ŒÅ4’å•ó)NEÛZ« :‚®å`w‡{w·0â  Êdã˜Ë#ù‚­(òÄcÖø:š¬Qµ–ÖÑ, œ 0AÀÐÞûž"p%šâ>De[‘¸ž4ˆ¼'øÞË ¸XëÑ2<8Ï­g78\NŽ2òAàÂÅŠª*)¶œAŒTU¤óÀçJ†›0ÛwºYK1ÌÙ¹‘sõÊ.1(—w޹rþ.ÚÛ¬£Óûôû>e/Ê6â5Å»¸8¼ÊH6Qbl~’οsüžÿæSÿ¶˜ø·VõÔ{·èŠïQ–ï«f»ƒOÞ;ò;¾’ò¼ŒŽsc…5ÆBºÞfbf Kˆ{ŽP Ú}Ã8btZÚØà1‡³ã ³ÃÍü16¶®óȵkdlÐÔOP×ÙÚÞ„.▬‹Õ.v™WOsëî?@òg˜lV J#;UÏ$K‘ÈM0K\ÅEO+ÏLÖeCbùŠã®©ñ.!¸â1OÈ,öíÁº$Á'·ƒôwjº¨ì\a‹›ŸÈ8šel]0Èj._¯XÌ3ŽvK$‹d¹àqÄê¤fvwE×*ùf •„à\¼^óÆ×<ÃdrH°µ&–n’,(îvª£¹ƒº°Å9®^Éã·X†Š›ÌM†ÝÕ¿güöý§Ç#`ÿÌ·g«ß;°î›Ã½k‡'3¿¹Z±·Ù®d¸bc|¤®]ažáVIŒ¹¸$ÝÉÜq14¤Nmrä©,—Dz¡b~/'ÝgBeuýêÁÛ›­âRVƒß×Âï˜ýÜûöð¯L¿ê¯ÿÿáæ_±ê_ø6õ¦ú-BöÁhÍë_¬Ol%{~§=ªËѲPKk+ELT‚ ÃÎlÕ‰Úš‹Ç²·ˆÑ*T’ @e€Û’詬¡£ë*æÇl߯W¾õ÷0ì’@*Ã'÷ïÃp@3ŸÓÍì\¹Èê䘪ªY5-ÓÉ„b<¡˜nPÄŽ“ªÂÚšéÆ6ÖµÔUÅhg‡Ùþ.´+¦Ómîß§’ŒÉ¹sL†C:ƒ“ªâþÌOðÜíÿ™'_ÿiB±ßI'+i~jͱ^àq¡1GÄž(iVRe€%U !âî4]Ágo?ÆîísX•q~{Á~•±šäêhc,ZfÓóC² Ô3!+ÅÆcggÁõ«»lmí&·F1¬Ñ©Â縉p÷ØW»Ð×#)RkoèZUbúhýÄðua3<‚g*V¦®»ï&6ÿÛæ×üõîr“ðÏ{°ù…ÿäÕàuU­~`Þ,.ܲ;Ü•{Rç'äÃEN8 I‘ 5ª+\D3ˆ´¢ZãÒ¦S)•ˆh@5ôÝ*G9>.¸0þV~Ã;¿™ñ`ˆdP 8¼wŸÙÁƒíMÆ!£Èòœ¶YQ G”Å€¢ОÌ)‡%fÆxsJ‘—„,ж-"JY@™²rÄh²Á`0`P¨O”ƒ’­é„Çy ‡[|òS·m2(.g’³xuZÏûdž¸rD·pÄþªŠ(æc€Ùg”ä #MN}Óí†É¤âèÁPdd;-åf‹«ã«œb%¸“`c«EE™nιtñE4¯{%DúQ³—hskÂ.}¤=keÅ^rY§Nè+Gu9l²{Õ ~¿zÑ/”çb‰_¼Wþ®Í2¼ùO|óÛ>ýƒí—þ?éñW¤Âö£ïߤ«¿Û»åû¼:Ýo펉J›™®4H㎠Ú!Ô½%Qw÷…ÇUe(é[÷Bgõ-Šô>Ñ"U…˜0?ÚáuWÞEÞ ³“}ƒ!RäЬP1Æ£1Íñ uÓP­fD`[F£IŠ “!íjAžtó9±‹”›t1Ý(ëÔÅxJWר*ö÷FŒÊ’+±mßôõ¿ûûOî/ðª·~ž\ —˜„ZO¢HL›¾ŸS'ó! ‘ÁW½GLj©aŽÓ™¢¦˜×¨tI×ç/³¹™$#G†ìl-ÈèXÝQlFÔ…j߈t\ºnܸ~Ì|‹ÍÑ4Ù4€¹<žV…B2 Fë£SxIÛ¡Ÿðzæ1[› %ô<ÌaÙuÙÂïñ~²~uù†¦!dYvþ·{^ü–ÅÏýá?wÐ>÷WùªŸ8Xh?õç³ïûö¯û=ÒÎþŽøá7ÎW{Ùçý®ïf­+×p’I8D3Ldè"QD:ÑŒd>¢@EÄpíÞïì”B dC‚D„°„ýÝÙòU\Þ¹Èîý;Œ7§Ä¦fytÈ ,7¼ëAéº- Vf 2%Ö³ªfãܪJ[×,÷ö)7FTó]SQ1¶€Ñ¶-Ö.™Õ ƒœÕ|Ž-äã y–qyçOî„“ÙM6v–dÒ‚§ŠÑ,K½LOyļ#ˆ£’!,z÷g—€'9âM'„ÐôÍö§ë%‹6É™‘…ŽLÁ¸¦i v¦KºYN× (J%‘V(r¸t­áÒÅ{lo0ÝÚëÓqŒ3Ìà.}ïó¬\·¸Öéq¡N=bšZV­‡~‚{m¸„šUv7Þ U›…‘mŽË£U_—iüß÷¿¡ûÞoyû/þÐ_û˜…î£ï{›çÓ¿­ñðýMµ»qÜÛgíY]ÌË­2×ûÁX¢ê–«Z mU¤FÄúÁ…ÆñP*¢G`p¯i£!j`>I~+°’¦5æÇxÝ«ßW+‚{"û’SL',«Š¦©Q1&Ûç!d¼ðÌ3LB Œ79šÍÙ¹p1 ’YÍŽ;O©kÊ­$¼mÑ"Ç£1 ™ ä£ËÙœÅÁ>ãsÛ4UMlŸ‚Ï|öYòñ-òA‹{†¹¦(ë±w­¦†œ{‰Y1EqHàº$äDBÖiÝŸÚU©ï™¼`.åpÆöÎ1!Bµwžó[‘‹—péÚ![çœË,¹xùYqŒ+4t©[é¿_/ìiùÉY§{'ÎÜxßS„SÎe=غ8ìS{KCó8ÑÚÙƒø<“0®Nš}ÙÐÑN¦ßÔãwÿþ7=¾ë[ßù·?qøù¯^,ü™ú9ߪòÁb"á8FŽSä” hQíiE°$!{?>.nâ (A2ƒ gà"AÌG¨–˜ ·6 ;3Î^g IDATŠ,¹ð¼B$#/çÌf‘Iþz®\»Ž»Ñ®VtUM2ºjIÓv´’“Kd~ï.e&l_½ž y«%Y&ØjI}´Ç`{-GÔ«.J^”,÷AoªÄíêÁм$+J¬m)§Äå‚®­¹|é³¹ñâîS 7fDï!i’YBZ_”]Ö]éœÔ7¤lt¸M$Uj}D0ïp‰D êršf V²Ú¿D¡—î3¹pŸÁ´f²µÏpã<¯@×ûºz€’ìÊbk+kÏ«à4'¾Ôõàræ– áÔ̱¶cИ€æÊáò"âA5‘þ$]˜Þ^Ý GñŽ—q#ž_U¬{\(_þø{ßñÍþÕŸ¾yß¶/Wš—Ç™Ëní4só,ƒ¨ÐŠjusw77qOJŸ9..æ¦n®ý>ŒäN5fýö<ˆqÀ¸,)3ip5Ì*ˆñü}á“Opýü£ìœ;Çb>g5?aX–dYÎÉlÆrµds2aÿö B9¤È…fy‚d9'‡‡HV’{‡uMÒÎÚ†Ø6äYŽä9ùp¢tMCÕ4Î`8 mêÞz¢ƒ!V ÿÔó›Ï“: ¤î€†¾´/ûV%K[f(ûÉšazN:Œ’予 @2º˜§±It·Y]àøþUêë4³-4B(kÚ܉1#„ˆ„¦7éødây% w=åPî’\늼ùÑ~@Ö_’>×öjqÁPºvL@h¬ ª·Ø(ç„^ÓSúAa\koíÆêºTÅ‚·>§ƒÌ F~)Ô®Ùó˜Ì£Q,ÝËJ¤‰*mµ~ Tú%ÌðÓŸ.ª·]&Ñ ÜK‡¡ÿ¯ ÈtLP% ‘‹›-eæ§ÚI%Y0ÆÛ÷çÏð‰O~Š®«È‚1™n ƒÖ4تb:žDغp7蚆8¿7 ĺ”î4K“,£1Õª¢™/‘,£ i–K²<ÇÝXÍOAÓ†¾Ñ˜lPÒVù(ê¯÷¸º½ÉË_ÅsŸ¾B]yﺀ.ÆtÑ¢#ÞàÌD: Ã;ÅXá^¥öPŒtQ±±•TØÐ$â–Ñ-·±ù&ƒnH×)óZ1)i»@w°I}p‘z¾MìJ,öyîy’•´B à}/TÐFöƒxßÛ”^×òÞÂdy‹}ÞhcNÛŽ$Í´TZ2í"~ÊÿÅ õ{ËÖ—­µÇv1Éb½œæ4쌣Ç,b¸uC¡‰Æ \×{5=9í^es±þÍJ³4òn"V«h+0%÷ø‰€hļoÁ3Bh1[ÑYÆx8)c²Q²ªª¤þ´5÷žŽÑdœöƒ? .’;bkû<Ãñ[ñàdI{rÌÕWŒ"HÛÐTÅd³·ÀyY"ª,Žol2Ù9Gì¦åÉ2ª£Ó)´5åh@>Ùâ~ÛïBÊ9:úËdŸGHÓÖn‚hïví½aîé[X¹ 1êÞPQ“é§%²À¢ˆ¸—t]Ä,]¸¼fh†f©‘W¨‘e«äô¨rHÖ4b,úí5°¶óœšÝz wâVŽH¿)ÌSÏRÖ@ú~idÕ €6yÎ4-£ ¢[j®KJÿâ–¾D¡‰Ëné÷º¿æY7_d°…C†fæ°hKÉ’@QÖûSÖãXˆ˜"âºþÕÒŒ^Ru[ AÓ.kKo"¨®@2‚Kïp\§¸)c.lƒ×å "Œ¶©wïp÷Î]î|öiÞø•ïbU­(†³Ã]Ê,ЬN¸õÜ«WÌV›Ó1Ÿùä§EÉd2a«k¨Z¡kW\8·“Ü_ƒ’æä„r4¬f~pÀ¹+WÙ¿ó"m4®<ñq¹ ::$‘å’K›ü¶oøÝüÝÿû§©ë ¡5ë;'†Š×Ä„õvÀ —<öVšˆË 'ÑSR¤M)SBC(…a…{jª«¢…AçdÁÈ´EŠ& »ê™6)ngÍfÖvçaÚÉ%MºúÖÊ;bgÃ"Þ À@Óf¸À À¨¨ÑвZmÓZtJc99Ãâøt®²rËå¶»osëAG&“ó&{»]"ÖDRÖ"Š‹©u1¢IZ{žF únªŠŠKŠTéÞHË_‘Ú]+‰m4ˆæ¸/“ ­Z¤R– ÷†2«iG7oþ,o½ºšùñ!¼ò1òBÈW®_ãhw—Ú"ãBÙ;:æÙO?Íh:áü…7±Ü{]ŒsEºq¹b<(ÁŒÅlFVëÀýÝŒF#²á˜|8b<áшnœìí29wd÷ÉpÄÎø+ù¥g?ÅÆ…ؼÐ%ÛrT,¹VçÜ:Ì<99N?˜`½;^’§>HN”Ô%x¬É° „*}¿,¢å²:Ax]õI¿P××¶$P1„1"#¢ÍzËvŠ`ÚïI ’À×¼@LVS™QÅ’6 fKTI¹¤cöŽ70\ß¹ó+RaÝiþbãp\ñ—.iøþ?ðußjÝáõ{õnìFKsôÄÅ+Á»d_s;ï;õ)󉹈 éOŸã;D""AD ÁSÃC´ Rõ˜ãš ùé¶â˜© {{‘Ï )ë Íí)ÞU4U… äE‰¹ÓÕãñ„¶i˜- #¯o'” s,§,K²²<ç¹OšñtJ¾užÙƒûìœßFBF³\Px×amÒ¥Ó BH¤¸O¸xñõ”¼‰Ã½†ÈóƒîÔÝšþé˰X&ºà‰èÒ7¯×"‘"¸÷}G”؈÷NÙ>ÐgY™ ²b‘òá1yÞÂ¥KòÄ:âôÜ_ ¢c„dIèÓ_oÔ èY¿4MX¯ÅT”lZ!R„Ž\ È:¢•X ìŒæu’*èï ‹ùò‚¼yë‘òü`t+³lÛ³b„LLEÅœU&b&ª~o†{ïäuuwWQ·¾á…÷,½÷´_¡?ÅiªÜsGJTq‰¸ö¤×Iö\ÏÀûJË3òLÙ¹ð"Ï~üã\Ú¾Ê$8ZN¨önSN·1wÚ¶cq<ÇÂf1C² G¨–Kv6Æ4±¢·„Ú貋®e{g“ù¢åähŸ'ßö¬Ž0XuN\.ÐfEsØ‘7¨æ'œÜ¿ÃåísÝy‘j¾àÒ+^Á¹«ò›¿öyòùGùû?[Ñÿ;Y!˜çxo‰1 ÂJ¯¬‹Jšmì? @IÓÎJ¯FƬwxv˜¥ï#RD³´Ä/„!@ИTóÞz³^bpÝ©Tàr‚ˆ‘÷yq½|×ûŠp­°Mé‘Þè(À ¨ÉBÚñ,ý°0ÃòAqŒj—|t"½V×±ŒaU.¯LÎ_žâÅD2Éò1£|@ãm®RL‘Ž †%ÒÄ]’ ª$™¡§‚i}PO»Ìúhî‹Ò%'8µZD” n=Ïiqo ¢Œó—Œ>÷7ïÞåúÖ”álÆÑþ!ÍÞ Í—}œÁxJyúÞöv÷8ž/ ì-“Mf4b[[¸¯<°z¹ý̳Œ.=B¹±Xd<Ýäx¾Ä»šj/µ{ªš.Fº,'vùxÄQU³89 ØÚ!yìÑ×òú{¿§^øYòâÔû‰œÔaipË{ÕâÒ¥jMé´zÊÈL:Dç8!$‹yÄ- °!@ÈsDf©mÓ¢«^*ÐTúËZ´"ù¼\a]Áõ‡ÊZ,Í0oÓpˆrJæ!µp¤ÏÚAÈ÷ˆ¯W/‰õë zK©€AîµçõäVy¬è4ÆjöÀd«Ì2§3÷VÓ23ïW ôYPÜ‚ö÷¡ùôSM‹XRí\HwRª8† nT jT)Md±Å!u拎é¹ûìî9.^M¦Âæ•G¹s÷nr:àŒ.^CV+nÜ¸Ê Ï<Ãí½#f­p²\±QfŒîÌP‰äEI×´œÛqãñG™ìº†ªª¨›ŽL[,™*w>÷Y6¦#bU±qáú”†Ðó©DÊ5™Ä0J’ìÐŽ‚­å ‰ ¯×&éz9 g­ž¸VçiÁ›d×2‰Ä¾B/)FEíÔ®N'7:ËÄ«qÛ¬ÕŽ¹Ï0–i@Ø ‡ÎÝ;Io"õ_I²C¿8-nõÓp)MMüÝ,µ<—d‰,Sn^ÀôÛƒSxŽˆ'¿ÑÕ÷9¾ó4÷Ž.sm¹$/ ®¼òµÉ¨Jfns²\Ð0á³·w9^¶,Y!ÖÑU‘½“†Ú÷0w2s®_¸ÄëÞôh+n?‹Õs:`1c±8¢ i£PÍN8¸‡ñæk)7·X­–ÄÕ’Í —ѱáéZC5¢¡Ãº¢_D²Ã¬9gOšEÒ½Ð&àI?…@”¬XáÑp2¢òÜO+š³°$}2™#!öýÀõèl*Öƒ³fŠjCP#vë¡Õ´¤Ä ˆž>ü ¦è¤’ €¶&ѶŽ{ëë±"_™ˆ£ž&¥’Ÿÿ”¤£³1Yfc››ÉŠUæ±™5'5¡¸è.» MÒÏ4:Þ‰»‰ˆ[¯‹¤³Úƒ5…ÞþòÓR7QT à1“Ô]r¼“õG…¬'Ep9œY“Éu½9ݨ¹þÊžyê'#oNhg+–:«¹½w‹ýù 92ˆlŽOP=bgã J²wpB‘—¸(íbÅñ옛7ŸçÒ´dc:`[NfGŒCA»ZR”KÊma÷óÏ2–Èd7£].8::bÿàˆíó F#eÉÝ[ϲª*6iù›XÕ×î 8k}(MPú†EJ'bˆ„ï@‰ê"í —–hZW ízæ½¾“ÓfJ½]Pú‹/½¤°¶ò÷_¶Þúœæ Îô®µDA?°ûÒÇûÑ‘dÃöÍwÚþŠ»£"NÊ*Ç|ˆ‡Á$#ÖcLhAª1_öô2=5®"îæ§¥‡Ÿ~àZ?ϹÑÒ¿µØ'úNpö¡YšJ]“³p¾n)¤­{ã ¥Fl>ƒ>õ™O³ŒÊ½{T÷yâu‡¼ñÍyËæs¨:Û›3$^âhïe¾ÉêpÈþaÇ­çŸãæ‹Ï"×åö½#<ƒ"W\+žß=H›hž½…v5ïx÷;9¿=¥[œ xúc¿ÌçïÜå~ûïÀ&› ¯\ÂdÄjnL· ‘eÿ{ÐW}1-Ñ”&’¼Ý}øëÀÏ,Áy‹Ç*-³dkΚ”òÖ]kIÑ!Ó.IkQ´.H:‡ÈK€ÄYä"Zò3œö…a•q-g$à­™úþ˜9YôIgb€Óê1ØpŒ¸ÌÔåd°¹Mqül±´N•zwž•hIZOøi=Hoêñ´uÁ{DÉéÄÁ:ŒZVíT€[ŸÕõ^ŒÐû”XW+n);ô'0žñø«¶Ù9¿C½w[œ0˜n0½|Âë^õI}Å.yÑaV0Öewñ˜3½²‰J‰Ù›ØŠ¿™Õùˬ–§™/8wåO<úþŸ¿‰ñöÏ2vë»éT@•^2Ns‰¾¾¸}êÂ^¹$t - 4³Þ™à ©Æ±Þì4W2•¼ýE?^/=Ö×Ãbš“T5òÌ~¥™¯¿Á]ûk׃Ý{vmvº+C5=q\c\Sf‘hi¿êt¤©àÉu’¹øDr=Ñ [uLŒ§¬‘«¤½…A’>q7ÃÅÝ,5wÖqR“³Ý¿"U:œžÈõFàuãS^rç¬ÍþÑaºµbÿëßÄ•G®2ڹ­ù-Ûú‡L/½±Ë’²ïg:Œk‹d{ižîü‚»Ï—þzê(Ì–Ç\|²ædqÀvù$._%¿y›ãÝ}²<°h*æööyp÷.ç®>ʹ+׸tí:¿ü̳Ðu´¿‹‰Í±Bàt'uéÚ£Éé÷?ôd:ôW\×Ja ühˆ„àý®‰^5ÌÒ Z3«D=‹Žçéëµìú³âKìÆM\Ë ©"<½³ûר`g8O?£-¸}ÿ"»ó-†yǹ­ sŽêm.mFb7`ÿÎÝx@´¡Ä]—™hs"YAÔcà˜Uë½:¥"ÈQÃ,ëG5+¢™DS‚¨vŽBZ’}¨ú8Ú÷vú ÉÙê¡þÎ:u”{?(Úÿ“QËñøi4ÎɆÙ¾ö‡÷Ÿ&»|§Ÿr¡Cu޾$ä7½"-´ÝÙð&o¸òõÜ|>Ç7>Ì«¾â)"z<áÂù»r‘î~‚q±Å“¯z5¯í+Ô4YÆööa8Å– ^uõ »÷ïó‘_þiž=ø)Š ÷M$] ‹Ej³¸a1¹$[O|÷Ú‘qº,$§ ˆ}ù^€æD­Òĵ·³i8%µ‡UÓ]¸ÞF¸Þ‘*’Èùš¯£Wúø—~õ“ŸE¬³,“nèU5`¶‘g•ÈrC2㨲Xœ#ÎHnÜ:<Ïr>äÜ•ÖÍ—óPN;™dÎpâ>ÍI«•" =…. ÿ/YoÚ«Ëqäùý"2«žílwá%/EQlIÓ©§{¦ÇØ؆_ÌK Ã0`6 6lx¼ÌX¶{z™µÔM‘ɻ߳<[Uf†_dFU]õn7uÎóÔ’ñlªgjä¾5ºÇ#ƒ 4×wÖPɲR 3(f&"Õ+4ÄŠ*K¼¥­?[J€±Å¹@ƒqýôw½cÿ°#lv¼zxÃÅÃ;.vLŒ´ÃZƒ÷«j ¶›À?û”ÑÖäá¿awó3x{÷+îRæ6€]ßÑÝlXízªg}ùˆ0À×/ÞR†—|ö£róä7¯øW/þW6?ü3ž|‘h¤èC!Ù¢÷U;yÖ¥P¹¢RñVuÝ«êR+”¨PÓDÍ.¥’§ªÔü­¡¸«d¥"hl^ ÊDhk–›€9#žJ*`AÜ´»Éì zöh*ß|ýÇóšõöÔ{R"”lÔ:3{¬Ê[Tv@jYžçÖÀ#5þŸøôó;Rª›ç|ŽÔC?ýÇOöü;ûkþò×_ð0 ¼½-ß>ãüü7ô—où—ÿ÷ÿÆGWW¬¶ŽçúÜ<~Ãêâ¿ù»Ìý¯Gºã#ú¸Eúo9ó7< —îCG 'çȪ«S¢63…Uç.ˆÝ0µwS^cpí½rTOÚZ5JjXƒX½A£V:× ­1ì÷òéÏÙº?JÄ¢U(9¬ä4ˆnz‘¤5="·hó‰ZKg53WÍ •U°Tùwó96K‹µAX1N6ãÔo£tëÄÇŸ}é×üïÿZÙÄçt—oˆî5ÓZÔÃA<0 ;úä·¬ݱí….8.\=¾çç×÷ä û‡ž¨J¿>1ž X`ÛŸØnþžã©ã4lR@ã[ú¸'•qˆÜ®!¹>fÛÝS´ Aéµ@<d ‡Ô2Ò$׆m)OóyDcËh°V`1†è%N^5‹Ø„ª%5xu³µ‚ÓРÓr|]í—z_Mh™ *Y¼Ñn •È9ÀÅÓ@:'z+œî•d=§{ÅÆÛݾûÝGìžEâ¦#î £c¸{ t‘|.ò?þ™¨q[,GÑ H’†~€ÓÊŠ‚ÄÖqeœªID"°“ ç:ÖM#˜P°ê)°â"%Öþg“¥bSž3® 'ÖØÚeüó1ŒF>ûLx|ó_’JäãŸÀv;L@=80$¸\AÑæ~[]àÃPûÃû8“ °gAŒ..ªyÊ$B”L)5𝲆o+v¡ šYsf» \¬÷„pÆl :´™<•ÕÌtÔB“ 9ÔD¾æÇx{o?~jÂXªó\ æ¢—H±¡>k©„ii¹XmPã”w>«skÐ…H-’, ©Õv0-F±(Œ²ØDÚb3J¹‘¾^ˆÒ½ðáâƒûA(YX…Âa ¼¼{Êãí+RŠŒÇ«"”ã(¼½Ý±Úì‰Ñèº9<·ÏDµÚB¾á=OåM¹ w)³×)‘iÒ„›Š«BíYŸKWƒÅ–„ÖjÒE)äÔS¢hKO.]ÍDÕ‘:Š© Aör.*EDˆ¡â² ?5ºÂj(I°,„P&ªCJý}`ÅûÚÃ)w<ûäH"s=¤€ \õÊ믕ßþÅ®~Ð#ëBˆY ;ã&d¾¸øÅg®Á¡P™ IDATßl£ØñN(lOWˆí0Û jÓFJlU´‡Z>nR«~Åjä\j0Õ¨£EÚKU·º†²oHû[®dûÄúZ™Ój<^è‘vʼy±a†bpLÊ÷ï¯è%ñd»ç´_ñúÝ#6ræxÚ’ö[x{·¡‹Êp†“]p½=¶> Uj‘M_—gS&©&±ÔÔüõPß%4í»vúÍÁp‚a­ø3HÍt¿“AGÂÚ$/ÇkM:‘±æÏ[=ØÖ„W]x‘)ïªâB›œ hù°½hM—qm­PkaD؆Žg«[ºëÄ£Nܽ]#ë'™°±ë‡1¥ß¬º@*«‹ÀzU¸½Íü«¯Þpý(ñ=¾>EÉoîíü–>ÇaZ«šŒÛR˜+·SÍ¥V¼W1¡w¬TB.s:´X©J]£(LižÁ`Àh•WS©'c}ñ’/~Rø´D:…7ëç<¼zJèŽ|úéKÞ|·ã´íyüü–7ß\’†Lw]øÁçwôVø›¯¶h×óÕ›Ä/ûvó ; ;ìòf˜mÈ–ZûÆ5èØV ANû²håuȶ}8-´Ìö} ÂÛú׬ Ç:6²–¨¦´n' KM«¡óTÒÊL k1nvoÀ*ÃÝ_¿çúò-cMiéŒu„õúžœïÉYˆ¡&ÐI2 iz1$r*Œc;Õ-]¥¦âä4v­Q@rõ@™Œœ¨óàúŒ¿¬a¤¦tj•Œkp_Ÿf‚E*Ö›2:Ë,Ä¡&DTí<¨Åd DŽM˜”Ü”Ñà¡¡zÈg‡ÑÚï"+¿â‹_÷‡ý ¬DØ^mxxY¯„ÓɸZ+×w\mö¼|ò˜»7ñ_øó_­1[‘ ÆßR¸Få¾uÞƒ רri½¬ì0H+5çhéÍM(Xg é/‚ŸÆ¶QÉfs‚c®ù÷‡©ñ4®õ°› Äh\íó‚Mt%ÕÊ÷oA‰JàØž³­¹T“ºkZêʼ¹­-¶ÙØ9«æÆ¹6'i/¡ýÝfoÓ%̅ЧƒA¥;ÔjºO@gG¡–Õ1ŽíÀ558œê»S""ÛZÁSªçìûáÀ5ë’t–vÿœk¯/i=uÈdVˆŽ<ùä;ž¤ÀÛo>ãJV<ùü‰wh‡»K®žÜ²½|MA¸|düàrÅéÅšÿð?y–ãׇ!_âc IàŒjDåaUo,{¥¤Ú¸ÕFê|›5¹ ”RI<ÕÚ’g9•}2) 0ÙÒüã€Þ¡-ˆÇCÓTÓtwf¦^—×iØ!·ÿïX¯„*­înL°PK³¤ õ¤1&i¾^ÓDþˆSNÜBP] \øœÿñt*§:J˜¡¦Sù$‰•´Rgü†±>W,Ó#W7ɵ·Ôî~5 fE?!•¯ËPñ“;8RÀ†Ip—òwð6EÐâ©Íq/míƒÕÈú Ò2S *EVrêéww$ëØ±*{BÿŽR:JYWÎRË™ÍCáò¹°)1—c~qzÏßwüü£r¤¶~\¡j¤âT [æï{×½ÒVš+‹éë(m‘µIZRtn)Ô(i¾®É,ðJÃ-°R¨©è¥vÂ! ­çjŒûvÿ+CM$â™ B·é)qýq)‡ß¡ã¬BîBÐKŠuS”DÉ{Œ°Ue„±Z?g 3°8¹Ð¼: kùØûêÄéÄÍ´Ó¦~íö7¿mÓ¦j˜!•Y'¹iß÷ ÷ß™k×4¬p˜L” ëØ2\CÐÊÔæ™Ôm£Ý4I¥ |ÀÓÄsÉlþŠ¿GXhï…ùtg‚ZΈS3®±¨/VóIò,Ô,]kKû¬VÅPßOV{^i«¬(xYÙ¥§„5Z¸@tpi¬¢l=ÂHŒeÆßÈ´ âUµÌ¸ßûž-´ØM0š0ÍdhÝÅÚÿ V”b5\•Úd’õê­LŠkÔö¿'êDgM§‹Sµ|nO¥nÊi:Œr0y‚SñˆkmÂi¿+…ŽÚTÏÍ\@ª+] P[`Ü ”La´uÅÐBí[-Õ1P)¹‚PPI””k{I#Q:yˆÐïaàœ¤¯Ô@¦ žŒf^(“K[cþçÂà××ÐSŽdÛf/U?0¥~L<ÌD ø¢K푾Ìj0fÀÛ†lM‚´ô§ä?ÿ?n ™)„lÎŒ×9>†Rršž+´:Ɖ-¡.›6s "ÍÂæ‡jéýæÔHQ­×òÞ².œÓ÷dÖ’É̓?3ðÃ3­TSfVƒÜŒ¨Z#—5äµueMjʈèZÒäHÉkT3Q˜bŒ¡ƵSãzõŽ~•ÐÝ:A£n¢å»m:ìIì1Ždë Ü6Ï/ƒÔê’¥¦¨XÆŒ¹­³´*’ßÓdÉ7Ãfs•Û†úJ¸zEs^n¢>ÖvÒ—ÅÒÌ.‰V³™cr²ÕÌ)8íDh©°b•q_`AwõÍ5ƒÒÂYž+5¯Áä5ºêkäÿšY.eSËØjm&Z`\šô0 ¨;NçøïK;$*4íㇿÖ5=uÖ|Åjcð.ÊŠHl)ÔEmhéNrÆlS¹H9!l0 ²ÁXQ,ÔkͤÕ-ä[$u'%§{µ„…6ÇØŒBGaWOS›mÜuöÞm¡|#ÇX#/}‘šÖm›•¥©k™½À¤¢*Y.í¹à[æ óÜöìî|ûžÿÍ7·ðáh”Ú÷üùaR·® hµâ%%ù&gïТµ{…“´ÞaÒœKíмejÑiÓιi\ñw´ÅËìýÅ8›<óø8šˆÚ„ÿ Ïç*m™R1³ÆÚçT%%a%¶¼µ›HžÂqAkv­h 6Íms,S†MM ý.ŠÆän¼ÆÂÑC«˜MUKLÁζh6?8:ƒtavë)ÕÃ…­ªg›p•›ÕF¡|”Ý]®”‚Qh%æíþž3ñïûµŠŸj˜â)î•)LaDZÜ“Y»L&¦C$írKA7[‘re±[Õûd>ýû.\nÐp¬ïçkN΀´÷Ǫ÷•&ÝÙ¤yÓF7ľöŒJõøêTW&¾Ð-C.nnµææ”ܲ(Ê¢=ÊÈ@ɵ!‰Q:’sß°§ zÎ` Â¹®@¯‘¤RÆ‘œ¶•›0°|m]êdÄK#|aœ¹õÓä ç&h´k¹à%bÙˆ!Oß_‚Ô¥°MÚf¹ÙÌ^ »ÜNSÔlÓ–£$U¨]SMÁ𶰎ænvŒi˜‘ˆÉÓ+³@âÏh³‹ Õµoô|zkß\ýöY;aLd*íónR'Z! Ï`õÇ ÆLÉ[zMH¬‘±Pû’J"‚pnPDQ]Q{íçF-€Òaô¨Ö&pQ7µ·»@)+h³“ê`ø*õoJΑ¨gÄF°!G‰–=ñüo©3pöÍÝ•%T†6g¯`V„Bn$©/4pú +´Ôuyýò‚·ï.øì‹W\¬Ï“ú¦Ì³¦ -®º@¹K/.tZ_К:ÖùûžêÚa©Íšœµ†ï¹Íë'e)Žß`anÍ%¿>¼úʪÕéžæÓÖÄ…}jÔF1–¦SÊ ŠåTŸO@8’r`(‘UŸÈ©#Æ3™ž»q‡œG6¶'†Â…œw}`Ì!ÖÂm?`YÛ!lytP5Åt¬‡Ó.)VY¬PÊ€êXm¬e\‘íŠ!qDJ_ßq=`ùŒ•!Fb'”ràêŒpÄlÀÊw×ÝÎ¥‘}ÇŽÃñ‚››÷ŒR”Wß>åÑã;úÍÀþ´â|îØnN^¿»âÍ‹G\>:³^¿â|îxxXqqyb³J·ã›š›qÂñbзQ.ÀÞS(„–ÙIs³]Ö…jík.$·sNiª^aÒIOWa’Pk¿œ´‹O žZúï,ÐËz?ËŽ…ø ÈV´4êïPF)Ó€ÉËí}-ôÐ3)õX Œyͺ;QBa×Ý!šèmœ25D„Ú8)ƒd´¥qÌ:%Û‘:lÓl¬àRϨµRüÜc ( µ•wíáo¤S$ç‘x1–(H&lˆIù7¨FJiAí@Œ\HVȹãõ«K¾}qÃ6rátîÙ†Ìí÷7XLl¾ýþ|ûí5ë›;6tŒwÖÆû»5C~ÄþxÉ÷_^ñ³ò%ŸôÓ‰¯K˜Fyø>:ñÚ]CBämŽ,:B ôëÀfU8Vœ^fŽ·‰ûûB3ù <ýtE\¼x±åÑÓ «þX«Ž4xÆi¥ÐsE¶8ùºØ|æÍœ@´1y³Ë´eï! z*ÖñÍw\…Íô––»ÀÌY¹¶›°eHSžª­þZe3Q*›îôLrk¸Q‚îiÙKÓïkD›çÛ[©ïF™³Zi@Ñvý”©H™–oç'®¢ÄPã©.Pþ/†Æ‡XÊpT{ŠŠ)…‘l…sî¸{õˆÛ¯ñîeQÆ®ƒ‡ozºG «Âúªðð[¥[+«+¥¿ìyúEáéüêÿ»àöo®ž(e_ØßÁæ&p¼3î¾ýê#žý³÷˜Õ1ÝÒJÜ•‚…ó´&òг#¦˜\Ó.dV´Ej9ûDTÚÞqÀ?™¦&$žÿ8Ë{•øæzv‡ó\WEõl§.0æ¿kˆ³w»t*tjULÁuµ¨0›åe6…c6ƒ9³¢ýN«üÌÏjÆ©7š­KR´P˜…Ndòë»h-,iïå™¶ô×÷èð$È&ŠÈÆŸÂ86W¸϶RXïö|þ‹ƒ=çtÜ0Þ ¯_Dò±Ððð&Ôˆù]"ŸµÚã®ãÅßd^üzÅþM¦[wœö™aÚï/ã÷™°îxò<ðüÙK4dl¡s&N«á‡ €Ò´M`JY1©”An&Éc„Þˆ¬°ä4s¤3IêàLÚÆº°LB¡LxÅ…£á5ÿ™RrÜÔú{´àNƒ»þÞ v<ÿ Å|_eνòî‰ÐµÙ)q^ÌIW[>oñdæ êéZ.4¹ª_k!´*"ß—†!ƒó"ãq¬t{Ž"ñ¡ åfc-%P,¡q¤Û íŠxi¼ùÈaÇþ»óXX ‘ó+N©N7Ê~]xxX¯ ëµÖ=]n¿?‚*«µ×ã |úùçÏ_‘‹M룴M©À;ƶÿ6oà¤\šÀ•2'ܹi0ZI–•¿'˜¦ °ï›Å|íeD”&Œ®%ŒiRÖ2ã3;/f-à۞ǃëê8ª¥=çYþ-Q]C;N‚Š×r»gP¦´co@¼4ÛSXˆ¦M~ð÷Ñz×êK­]£=ˆO­wO9,Þ}ÂMÛkë+áæy YùåZÊ…ßCšÀ¾yXN·üôéP$äv«œJfU®ÈeM\Ãæêˆ¾ÜrûMG’\ߨfÖßÑïqqaœ֤ܳ}|¢ßÞÓíî@ f=ÝÅ!F¶$$9!áŒAúˆt JhGÍ«(¶ª3 åøá¹Æjÿp3ÐL•·Cò&!Òj"u‚F³—æ}£X˜—(-eÎPœ6$„ŽÃœ ­³`‹TA+M˜Bd®Ö) SéžšÎ÷ŒɽÉ8kÅ)²à&«‰«I /´ª‡Ž|ͼêɵ¿ßßKÝ:H÷f!SídæNÏS§EÎ1 ªÜŸ6œž’úKŒÒ­Ð<²î#ñÞO™4tQëï2ùæÌüéKîï·äÝör{Â6aë;Š*Š"r„î€2`yUÕ¯&4 X‚u‘Vª­§æêJs­m¾SxBk¹”›®P´5¬e"ÝeöŸTàP»ZÓ5ÜÔÇY‹økk[JÌXŒa„‹Õlú\H|MlŽA.-$äÚlqq߈¥ É„-=z°Ôv"®­æï޹i)cò ]&o­ °ã=cE ¨ãwÛL¥§‚q IDATóªñ–4H{—œ綌¨2M»Oí}K†w£pHw¼H-˜ŠA,ï1"–{îßDŠÔá@ݨÞ\òêýÈù°â|Áÿ`O2QOX< ýÑ3Bªq§FŒ˜î!g¬\ Ú#zBUQµššaµ×$Ô¾»2 9·É¤¸ÐTÂÁY½š§m­ðŒ»”K™¼ô ïœRä07›‘ýYØö5)N›)ñ4˜bxc†»“r¶qîOÚ¬ÙÄ%5¼=á¥Ic6Í*€,ø¦šiª˜ '†ûI('êDæ29u\˜XõeÏ ÷¢ ÕQ©ùhçÙ„R½½&@1ÌïZ\`˜5«´Ïxc“%–„z4z.\äêºÙòxuQ¢eVåpOÙ¿E.Öh¸{¥$%ñêöÄZ6¼üõ%ן*·‘ã¹°¾~‹õu¼[­Ø¦FT"Eu²ÉA€¾†{dÙ@О@¨ Ôººð–@ú–&sh›Wߦ$i9B #„:¢m+È•¶±–˜ËÖo‹µ‰Ê×o¯èâ;N­?å #'ØèºÅ&4p}wêy}ßóú´ãÇß -3óCÏkªÎ)L#o| Sï°Ú¨¼E´&[æ<óu¦|òðÚ÷­5UqÌ5%àùa[î°òš sÔ!åqJ m픇|cÒLÛÖ.±¢¯©ófíîÐñcž_<çëÛ¿£ô×Nï9ŸŒ¼Ëäúuà˜•·÷ [w„íš<ytq¨BNh(drM©°ŠŽÔ ‘j#DŽ•'ÁÀÌ*Y#D”Ú7Ht„"¨<V ¯€ŽRV¨j®‰ÿÒijYH¥Lñ±\jÜÊËN xÃ]©@Œ ³žoîn¸Œ„8kîצŸûOekÌwQNçÀZ…Ãñš÷J_‘’pÑ%vûÀŒº)s|„›#™µ¬z“uD¤ Ó6,4WJË|hßqóõûíŽB`ÎÛ䈄2Q®…J;pîUO˜Lfü5UtãTÏŒ×b˜ñd.°ê*࿉aâ×·¿äYx¾ŠôÖaõÙÀ°îßGîßÂþœè¢PúÈñ7›«›¶Ï ÄT6¨FDFr¢ÖN€5‹q  gŒ«ÙÃ+#¢áªö05%ÛÕ‚Ê#² `=14É )µ&‘±Q ‰­¨’2âÙ=—Å×Â9Î[ñòý#î〆T„/ßÓ?z´98V1ú˜ÀëPÇñ–$ƒt oʱ3¾q€î5ŠŽ¹¦Te/dÀs¢@B£&Ô„­Ý‡æ Ò®ë}Pk¥"ÖÚ hí9a̎ɤYÝIi3aÕÆU8Æšg¸ÐˆTh¿ó¹D\mw§{öÇ-ýÅqˆ’ßòé-r(­ÃHׇï Gžn»¹5Ên_¯ãŠb`U`­°Ú¸¾¨5‚S ͵‰ÍñGÇYþoÙ n¢I Ú³µkT>ª pá³[Ë,C~Ú=C»V-Éš?ï¸néaÒðŸ;8“󙵩›XwRÜ/‹{·ïeabõN+®JÏw‡¿²«áê÷ãÃéîøZÔýª 6åÇÿ0óíß)û/•r±¢3ãÍð1«ŸÝ²*g²îµ"]ÅM*H8CY“‘:™½PP»Du­ÃŸZ[œHηÇ%'޹`¶¢Ø¨ž©R¬G䀴]+ Q©‰Š9!EÐX'gLa•f*/v{,×Ñ!а ö°Lͬ6\‘¿óÅõ¼°\ÕÝ2 ¦‡™&\Õ<1÷Öœ0]X»Wkšfê¼çÑ>¤Tj1áûûušSqõ~]˜=AÇ[ÞÿÂ?CÚèìDL¦Rfç…Í6óúu1F±? ëMŒ1<þÝAØ•#q}ÍÕSƒMáêã#ýMäËÿgK~ìn"k3Öšé´ úE1ÍîP•ª%j.TÎVFD2¢¹º¹$Š ”Üâ~aDô‚ó]d°Äpîˆa䘑‘ …@0#†Šhk’Õš6UÞf§ï®%[ÞY¥§æ9åil­—T¡5ŸÂ7x².ÌùU;‹ í2Ç™Ósbk"ê­µœÒ¤Ê´¦þê,ÌÚÌ’›?ÏyšZ:ÂÜr“TOÖxz—9‡ßµ•´ïNeoR¯ïxе³kØâïëŸõ¿/‡ –÷×0ƒóY¸ºÓüüÉêså»xe?zôŒ¿üÝ—”ó@GÏáí†oÿ.òêÖÛÌÓϯyüìD¼yÍöú\ÙÛªÖ˜ÑQd‡pFTkèDšöâL±3¥<ªÇîQUR hè©=œ(µ›ÉºËÜ߯ ÎeÅ›‡7뫾'ÈbÏq¢ˆ¡â¬"‰RvX‹¦Ö’5i<™¬[Sä®Å›«e‘BæmgJËEæS ³³vн©Æ2–h ~jÝ sä¡÷ÆJ™»ÀL§ ”“´û¹À9çD»–óLžñ`~š€¹¦vsì <öžl¡ÉÚ‹7m: v‘‡Ã -éx/gȶ>^­‡óÖîW"›Iw‡õéÝ?µ’F!¤÷‘=ýðÄ“¼f}u›w5˜+J±€1¢‹^aºÒô'À*h'¶0DÒæ‰EdJ Û4žè¥Ð‰’-²?VýŠ‹îVk…ræõý ëØñx7{‚YNÀ •šJ› XK>ɘ¼­‚#BPo7”1;‘sm»,¯aævJa NŽÍÔDö2ÇÒ|¡Û¾Öè€ã¯&×"[÷—fØ©BÛµ…M·«É7UæMv 6榑Zqˆbø=œwÒ¥Pµÿ.MðçÊk&†}Ù¸N› zn½*Ü\½»{|ÒçBÉ¡‹e¼ïBîøøy'y'œo29`ä8®yô¼°ºþY1‘Ê;iWÓh¥òYu”š`2´rkÀjMZ¾GèQë@;Dè6Cµð~¿å< ý™Þžòâ(Œ¬9Üßú=«xæþ°æõ;x¼ \­ÎH(Ùáº!—Ռș¬Ò QÏUˆÄªZ·ù„[‹…Ø"nè^¤k&i ×§…†·¼rñµÙ[Ó0{QÎÀ«O kµìÑÚöi&8u0çŽü³&³F›ÂÚÂUÍ«óÌÎê0òÉt2 Ò”ÿo³`{–FiµPlÖ¢ Ý)>³3ÃÝ%ò¼ä˜Î§RJaý\‘q n„Í£ o¼þ´)ȧâêLèCÞdUðªuF!¹u29Ô#C@d…ÑšºQÛë c`Õ?‹pè¹;¬‰áLFnV'†ã–SÎ+¬(§¤œ£PŽ<ß&†!òúݎݶÐÅJ –PûG…Р–{ÈuÇS¶)ø[8H ¸XÛió uƃyïžY E™š½ùÉö 0e6SµŽc'/Ý›<…YkY{7™ËâÖ©¡œ; ³-nraî"èšÍæ[‰,ŠC–Ï»ÐJÓ»,-4!-¿·f"r¸yš/~T2V1žt}G>ÖÆ˜¡ºÝKlsËÓî–¢b% ¥ÃÊ™"'‚ f=p™gñÖ„ .Ÿݵ¸Ý$‘Òš÷Oyvsøæf7°êjXc»ù¬;¬ÆWLn‰!°^@•ÓŽÇ Æcv'DGJLûšQ3È‘R"Zªo>õtjé§ZϨ\g-‡`“›¿ldë‰yîå1-æ|Òß´ˆ›5È2/Â0 /ΉLeÎ'£™§BÈ@Ó´6 7ñ–ÒÔÃ6.4ÒÞi*Äh‡É¹2z{@ßÑ€ÿݦfŠ_^õçRîõô±/ñXŠŽãž×ߟL~$¢ñŒ–÷DölVŒ©¯o­¶D Òce Ž›¬9â¦ÝT3¨D:¬dŒ ”‚Ê#Ÿ<ˆq l°²ÅZY)ºJô&@F%Pǯ Ô~™ë0²Ú< Ô^O¢¡ª¥†‚ÔD¹d#*©™&4Mu”Ò˜iõßÕæÈ,4^GèÀÝM¨o˜µg"jãä9¹à×ñ‹x_Y €~¨-º®}7-bA(3_&Dºà{8I'4{oàæÞï|øÌÈÌseaNÇöïÙBã.ð„ív¼¡»è(y´8°¾øòõ{ȑРù€«2ZF4Œ˜$¤Ë˜ieÍëü>ñ> R Õ„Ê@m$‰¦dNˆ$T¤ö}²ºPµœQ2’mJsÔ3FÕŒE›×vB•q¬¶·«'w„ ˜&Æ¢Õm­ŒD•R¬j«)½‚$‚>ýZ›ÆXà&' ]¨ªÓfò7îê¨×xmã ÓÃ,¾£Ë‰z¥-»·§åP‚ÚÊÍùd œ۸dfÛ‡&ß& ìÀ¬}>³Ð~íóÚî³ÄmFÑAj§šú¤?úln®ùõ°©O ¡viÓ l)Òa„¦ªkŒ-*=Õö•m!!ÖÏʺwibc楣´œR‰À¹j#õyÅ-¢ª±’œ$ŒHB¤ÛQX“KG!Õ¶áEÈ@2Å©dŠ)©(…ŠÝ€*Ťöï,B1­ ^Àb•Ï_òøŸËÏĹ@ÔÅÄÊö€›wúÇJó$S»–¶ëOMq™M‘g+xÆêôÏ1ÓB(¼\ætŸ¨ÍiwJ*f!ñ ÕÉbhTÏ‚€Yƒ²XÏõòÛ/¯ÕG+ׇ!Œã©×ÂñYXóð.©Yœ0+(= ¨nˆºmyTu…C£ŠZ¢öE/­¼b+7$çöR+ Ý„c„š ¡t&qÒùÕ¿L`ÚÀbßlþ¬`åa™¨(ì3©™³‘ ;¢n‘’ÐV¸ªÁêÂS°R&A7;¹â#Ñ(u7½h“RqNɆe£Œ5uÔsÐÝMõšžóåiÚÎMùõ<÷~›qœçùs¸–r³»Lõ±2_ÛÿwÉ‹Ïø} :e\Y‡æ#]×ñ.}Ÿ×Gþé?$É‘(‚êšœ ¢{BY4W×\ÀJÏÿßÞ—ÇÚv•÷ý¾µÖÞgî|ýæç ÛxŒ!4¡%i”FÒV(MB㪭(Z‰@pQ 8Pœ8@ZBIë¢&QÒ%BMª¨j¤6©B 3Æ€Áóï½ïçÜ3Ÿ=¬õõ5ì}Ÿ] ~<ÛðIOïÞ{ÎÙgïµ¾õ ¿ï·¾%„Û[Й„p 6Öù2Lqê N,Kù³XlÇ­{Î1[÷ {Pi;¯P{ÔIn§40’ØŽNF»]:Ò^ÞH0hÞ!wè³ ª«…‹·¼óu}¬qಿ뒒„¶G.®bô°;™ ²ˆÒïŒè&)ìÎR)Ÿ!–¬¦vÂ}S¶²kóŠí¿S °JÚ7¨“ERR¾P8GÜÆ,…'(=B2k7É]èÙ ”Ì+ªJÝv/z ùpæ6 RHJ¡Iƒ ‘Bélc'4*”‚ÙF€e PÁ +¤;µÝ0uäÊ´‘4‘‚A‚(ì4ZÇÎÇÎõ¤H´Á¤a0²™‰ÖÎ5khcÁ& ÑþD¬²íönÎ6Ñg :úì²"F ß8P[ó )…딌iaÇ;ñ@´}*_rC¾î-žÿïÑÊgT²Nûù{ñÊÄ\üÑãZe|ÊÇfe¥.ó®àܸt×ôû BéRF5Ÿw G t½–©)öÛK´ˆ‡N °vÍÀ}*‡ %LÑÝØµå–”ÃÀú‰ÈM‘ðöÙÍ»tAÁ®™*` ÐÆ5X¥Ù€OŒ&Ä.ð4 “ƒÅÔ–n@`²ÉCëgLiäŽK!ü9ÇnÐäÁ•cŠ0ž‹å¬@^Žñýÿ¾ý£Ç¦P”€üéªöKò 46ÞºŸ=¢í?ë ¼a³©›dÿ«D×ò Å?‡~×Pl«ÞqIa¼k/)WHLœ‹ôÍ>ü³ùS-ʽ+BðŽâù˜®îWdu…Œ4+b’Ϫ#•cCT eÃ1Ø2»–ƒ9˜ç ‘ºvð3En%ÛôÝhpdc,Œrh‡‘Ø‘´]/«`T!ȲK1r¶ñŽv={l_O,/ÂRJ ÙÑ)yRŠÅ";ꆬÂq…ÀÖeA|ßwØš¦{Í7Žõšx¸Ï—K+åS.ÂûÉóJˆ"³óxS°.ÎBy8A8Å1¥ …qŠ…ØÉ¥üçr… ±]„þù.J¼ø¿—3L¯ áh`÷²ò‹Á+²ÿÝ_‡!©!ò¸J’h,fGÕzt|¸S¯LW7¡u „ÄQTB°¥[’ $”4B[D9kdš@¨B‘k1謹£CmLB¶ÿ9k[ü cO±­í™ò@°d`Àž¾`¡„Üh@H!,cBÁÆRf WÇr×·ûë8Ä=p+ÑÇ>‚nóŸ÷Á³öVÅ ¶7&n0ƒÜê»kúB°g”~ÎÉáe*r@ÄÕE0ƒ@ãpý°ý¿taK˜¿ãXñZ¸WGUÏÆÀ F !¦iݱƒÍ\UUs_^ا&U±ìNâ`’Æm`$0çp$°‘0HÜEö@Ûi¹œ‰Àض`ËõlK;&0Ãîáñã`r ÆÁõ¶2±vp…›|SД.è¼Þôû¹EYÆCgpŠgPÄ6ÁåˆÂ"y°Ò—`<í÷î,l†0i8 ëV•pîÆ¹B¯ØÞжh;¨°˜F» ÚÐT@¡­8_ô3—¬7Š¿{‹ì]¢_ „ò—_èßå•Òm&ƒA­¸Î²¾BÝZý´"¡Ð>þ"´“DZ=«a1êj)Ns¤R•¹i‘ª€Ùñ¢¤=éÀÆGöÛã…à°ÙÓOX‘ª0± }±ü)OPc7¨>b† á~wf%ë´€á<é|Fã<ý>|˃Àÿl1*V¬Ÿ O.×Çü¤—ÓöRHd7wˆÂ*0Ù¿Å O³Nþ«»š½•W:·ˆì˜ø ·þd!€$µŒ‰Z\ŒG‰ðÇ‚ÀÉL"OnçãWŸ Q_%QY €ÿ°QïG¾t‘ÓLgãäÐÀðêÔ2C^",Våk‚ä„'¶;’…P7E~•‡ ˆKLFâ(  DØ6oW1•b†…ìá'ÞY¥´C÷KšS ¶_X ˆ ÆmAvý^ þ·[± Rß¹á²5ö˜‘q8–¿®¹|" %)W¹»“²¸'¯¤A!J©¾÷7ÂݧÖîpt㬊ï# ôh(w…‘Nq½;óî°.5d@S™$È™‚‚Ï]kAI˜Ö$Î –}eî˜ÿÑ›y­»NTmöYM>fò#ï?d¿6›'?ü‰s«¯Ï¾ž_Õ9cRØ'!{"·–…˜ ÙHÑ[VÂØà­Iç`2½ùô«46 ±+A@Ñ2Ó [Ö®úOD0n·Mp=Þ–&Okgßaã9@SÀ d«ÐÅŠ¤båú&³Dn²u¡@þt0¤×ãÜ¡ŸïfMÆOšÿß[.Ž—òf‡PúqŠîŽ·4¾Þè^ï|áÙëG`5 ˆ¿nYü"ô‹C×fv‡µØ ÙùH3 SGZ‘$“u,è—7Žw®«mŒüÛ$šï¦›ïÛk›¿ñAbÌøÜpò®a’ýµ¯íÚLi'¯Õ%w#Q¢DV‰…ŒS,€l[˜0Y ‚!+˜½)†·LƒGoçívü$ÐvËòʶ'»eÌ´Ÿ˜2fR{î \¢8€¿EA•l/)öJÍ…[ñÁpà:qa1Á>(žÕ[޲Ï¥I„+¿øt¾ìª¼Šmû~hý5‡ ElU¡‚¢—^÷z¬*Ï?óðB(z“ƒ§¶êXéαÐ00\‘ÕXæÍä†x™_Z©7׋…ÿKÄ?§n~ç§/Ö× Ù£¿R™NûozøÌ7Þ:ΦGÕs†ëa·j)'239±ã³éºyc„CÇ‹X#L4Šl % æ»øúŒ­ÜðL¶¡fP¢8QËOn  3ŠàÅ@1!4¾-ƒƒþM¼…Ðsåâ`pîÙ !  RêÎû4L2Û@Û· ò{(µ ¸7§V& ò¬ÑÀ37…Ò„ Í\Äþ}'/¹w§Î"VT›ùm˜Î#œÚìâšÃ=t«Z×’î´ºwÔ,«…jgñÚH6Žm05ï1ÔúX|óôß}šbyÑÞsÈèÑ=›ƒ­ö™Ñ™ ×v¬Â䘲¢‰dJf‚Î:¶}3R°®²¶A¡@o!\ô^¹Øžž®mƒ(—:;Ð.þb·  ìft‹äŸŽ‹Ø‚.ºŸâɹ0—AúlK%BÀòç’ykÃN‰Ê¼¬P‹ƒµ†ð®Í}¿_hžCÒÔ¹0´KÉý{E3N!¥×ÆÒB,[¸„ºE—æÀ8ña†@Eª)z<8%ô¤ˆHnpœµö®Í铲ÖèDwÑè~„jë¿$oú—ûϤ?ÿ_Åý¥÷ÒDOoÙÞ}OŒF?òDr–ÓêFW“”yHL\ÑY'"š€ic"°u;Ÿ«;ÏšP˜’Rù°1–öt˜t"Ë‘ ey0–)[§ró‹À_çÂ}.”{ê2¦Dd·Cù h× ò€»ôÏàâ1OЃWp*\lÙ‚†4ßM¨h´á­–üB2l‡Ð3Œv66‘×éŸÃ)ÑÅÛÐ’Œ³D$ †3Y&Ì”:±A­žZV¬_ Dˆ%qCSŸÊVG·ñZcA‰æ‚µîÿdѺ[¼øßøfºóMË‹ùü›Œú‡Y¥~ßéþàšóécùŽx(‰k"ƒ™6s“FäK=è 7)´C@BJ†aÛ9Æp ~`Í;üDs¡¾ð›s±]©¬þ÷\Œ'°4QR& hûãÞïËw^)XP÷šÖ%úɳtDh$ÔíP¸5 PœÐP:÷îÒ+¶ÿÙ/61¤Hƒò8Ðé0¸LS@(ý-3„yCÉûÓ ¶'+ ä¨Çs»(4CMj2GT›!s‰ÒJ=B½Ra©u¿»{¸²"o‰ëŽdÕz„ªKo'ÿÝøó%ÇúÌò-)–óð¿[dÁ?c8ÇÆîSµ­Ñ×²ÝÆ-âqÅèDÌ1&Û/Á„ÞšÀÁ@³ŒËä¦T}÷ŠàÝ—²˜’røíÞúó¦½Ùq˜™r_è]P¸µ”\ q€PçŠ\úœp÷ù]ÌeëäÃü¨ò¸D0†M:@*>ÈvcÚ=RàDÂhÇýb ÍìÎsÆ$­a:«"Ž2Œ&uÔ¢1âh )ì¹9,s´aQÔQbÔ×eËɲV&Šªk!Gk¿Ä²ùuû½³oUW.I±¼˜‡ï»ùþ=z:ùGö†æTía̪g0F‚”æÚ +a¥pÿ­¡x[º¶·åA +LÅà–¯á]«W§•ãP‹ƒ1±%ú:¢ò–ÑMZiÝçC7qÐõ‚«"Û·«£yWæS{߈Û+oÉ€"æ îÚ}.l25Âp.ŠÅ¨MxÛ±°m´Íâ ˜¤ ÂU3$ D2B3ÎÐQ 5t°´ój¬,-j2&YýÈê;鎞¿Tù+)ðƒ¯ॗ3O~s’ð çgÐ…øaä•=$˜æŒ$C Xx4¾ì>|sW?_~/_Y‚¸×ëåEëRÅß¹Á\±’ …¥,SN×ï…+ônY¸‹x7ä­"‹â»,Á~¡XÅ2°–K;¢`HbØ~ Ä”²»rhP®\ø2’Åb õ=·²Åˆd­ ƒEõI"T”€à‹ÔÆZr–ø0ªí%¦Jó3<ß« þ§éÎ_4#ßšü•Ë ?ô¶*§Ã»8ÍÞ?šÎ:h »Í/#‘CLRƒ$·%¯0…•,·êý¶ôP¦ð7鬋'QùÖ=Áý @È„ðÝgPL¶·dþavÅg©@µ¢IÆ|&Á‚1Ú«¡ÕMPmjv½Õ!ìaÆYF±ªãàÕei!X§Gø‡p}¯l¶@Ýñ¯ù±Ñ%¥ 8ŠEêŸn\{V»DÜ£ûnìj ¨ðZÛ°x¡ƒå«Ú¬–×6!jïÌSþ/ñ¿|ññ=—$ß¶byÑöwºPÍêTýóþö›ÑyŒ} eH40J ºŠwþ2]¬Êà2Q°$bņuÊç±Aë‘JBó°o¼[¶T@£¶7º˜ì7ÑYï#Ës£à¬x­IDATßXÀÂz™UÑZa08z²F3/@O§Ô¡aFÉ3 4=¸g÷ϳü"Ej'åí_¡Ó vYXÃ+–û>ã\ºo-äË5>‰0FÀøžYîsÄÜ@k| Gâ—£Ù\g™Dê×Hà}t뇟>¸TyÖ øÁ7ÑÑí”M> G?8˜oÒFóQŒš=$Ð¥À$-Å5n@3¿Ïê¢;cF8ÍK PsøË4¸O± =}Âoõ×mz›Ô; fy ÙT"Mê0”áÌW[˜±ÀñϰÐA§g]Ä-/?‹åʼn;¸ªH4Ê@dèn,dQ¦ð–‘ö” ¨×誒6d”°iSp· žžqÅ®¢2 ‚}²IAœUѸp‹³«°´¶ÀÕ¥uP\û#žOß.^ö~UáÙU,/üÙ7äý×~1$'·“¶–Î"ižÅ8טf¨óðAp>¶qn2wy> A7Ü'…{”ᯒQ”Zò$ÆÖãÇ Úsœ:·‚Åîùœ1I»sd¹Aš+ {À|C©:®¿a '¯Þ´]1<ÒM³Ð€Í¡!«|,Éy¡X©é\¦¥ë:KvPûXÀ[J8ë+ «èãÿÜ-¤@¡ð"jƒU4wŽa…j¨×‹zçѨ-ï¦ÖáÿA7}ø/….U.‹byI>ù/ZÊLß•f“×êîdcLZcÞÞÆ\§ØOÒâTœ‡‰ô”–®zKåîYyÔÅ’åd¤l™<Ü`-2BrbØa`a! Ë1¨·˜ ö°pGŒÑ`Ý«±”IÔVZZ)ý1Ymߣ^ý{g/ÏLòQ,àϾ‹˜Ò¿m ïIæÛ¯líáÂÂ’ÅG1Ìf%)&©)N©BzÀ‘I¸€U:Ed0䮯#ˆ-0h¦DØDH2‰í­&zçW@ ÂxaÒ#t'Ð`ÿ‘*æ›QQïΑ¥f»Ž^?Ç-¯:ƒzcZR|åèÙ6Sô€¦ŸàRñûØ)£¥X!œU£ä3 –À¹—=—Ë·=òT”?B@L€Ú[ÃâÖ5èŠ $Ǩ6ãÏF+‹oSÄŸ¢ïÿm~†o|Öå;¦X^øë÷ÖXWßÄûGý kê;4Î ú˜fSl çHtqc¾’8E, µ‚u‘ƒ‚YÙmbr°„` CÔÆ€Yaç žüÊ’±€lfØÝ’XX'°®aëÌfbP_dt Œ·3Œ6€îºÂc뇶l‡BáËFöð‚PÜuüR^É]Î…:SH@QôvÙ£,õµo@ÞsqÚ¬%ÃþA5!:wK[GÑjâv{+Šè]àø·âý½ì2NëÓä;®X^øá_8‰¹×èü§÷÷6*›ü’¥S˜ŠÓØ£yÑóÓ¯`7E fÛˆÃ@°mŒÉ_‹ÊÁg#Ž› »Øyª‹3› £m梀ª l?žÀd ÍcªNØýúœŽTpË«g¸îºÇ¡ÈîPòJâ,Ù_ÈÔDq¦bùýR±Y°l…—ið‡¸Iñ/#ÙÂ:AéÍ“èî¯`©ZE¥ÓJHUþƒŠò÷Eóã½Ë?›O—+¦XÀ_ÿ‚¬¿„'g?M†¯ÙØØ§íúxýK˜a†ýП¹Ž=*@"!ƒ •´ÍFЄÀ† R{”ŠÀÖ]‚ÇØ8s-žüJÃýó¹A–• Ž rØ :j°`¬Þ ðŠêa}u’ìbk™œÒ€&×"¼ô\ÂïŽ+µ¾žÀÑQâÇ2µÆgÅ–E=4pÎ`3"Âlã$n0Ëhλh4+Ló¿dÜý¹è5ÿõ«—{þ¾™\QÅòÂÝ%1‰B«ö}¹ª¿0ØÇvõAÇ0I§ö€iæb¡ì>Gc A¤Àˆ@ÔpÁö»Rqõ9£’\àá¯ÅSŸo"O<·àg}½ŠtÊ^ÈGöªF3Ç+~d„7mBÀ M«H“­öJ¥öÆ ),BŸWp±Û6†òu?‚së’ìû\&è)ÆàX ÊKÞÔÖìÛhë%I±ž¯£Õh!j´g!Þ.¦ƒ?¤üÝg>¸TyN(–~èîePò3Lñ;Çó(:—~³Ê§0ÇÛS`FÈ´…XK·Â+5a¸C§Á9 •±Ù¢S,Ã1ƽEìœ^@èõL³†f”ÃÂöig%êŒÎÑ‘R„ënÛA\#™Õpæáu4['o<‹¨: n,ö \|—ÚVLªØ©#ˆÀ HW,œþóž1êÅ·Š,ï˜QØÛ_Äa>‰ëÄ Úµ%–µ…1qt?DýCâ%÷M¯À´=£<§Ë‹ùô?9ÊQãÃ&Ï~loç:] ÜÚÁœrôgÀöˆ ÝŽhAM0¯Àðýü $Ù6IFK$;‡09¿Ší¡Á`¦1œ Lz*K(e¨Ž@ý{jim×`2¨T´;Œ½Í*ª Âu/ÚÂÚ‘m°ÈŠØ A”=OY#rD> °FÒżS2oÕܵlkg•cDøÓ$*ˆõ"pê&ܰ´Äõö!õÖï‚Ô;èÅ¿xÙáƒK•ç¤b@þ©*¨Úü>½ßû­yÖ»f;?‹ý¶&„I*0š€c¬ ×0ÛÝÛÛܸˆFÇ0³0k¡·ÙÂÖé †“½}ÊñÃvò¦a¾Å{s¬Ý4Ãt @‚Ñ?_1áêöpõ-{¨5RD*ëï(=&tè¹ÌQìqÃÊq¾=)¤‹Øþ*Ϥˆ¡DÜÀÂä8V†Ç¸Ò8„hañ‹BÉŸ…4N7¾ÿ;\ª Lã¡Àx;‚¬å¨ÕsŒGMTÕ ë‡gxÑmO@D <€¤vƒ¬„T ± Ql¿ ÊõÄ`W¶ÍN1bQG½ÚCM5P1'¹óäªé˜Ëõ\¶Wÿ©Æ{éöû÷®ìL|kò¼Q,/Ù'~êeB¦¿’%É«§“Œ6â gѧ!†sÆ`ª  ¤³›BH-€¼3o"T°¿CU RL3ÆÙ'c4»y*W ò1agè.#ÕD"B{5ÅÉC=tV.€TF%20¤mLâêQBØ#W„0®¾‘t…k[i–D’K‰V…ÑŒ–yQ¿<¯>ÑA£žHUSbDýmÑüÆW®ôØ_Š<ï ø/îR&ÙH½'ËűíqJýlˆéúƒÊ!¶ÓŒ%W a9㹂É%ÈT Ó8­c0¯àün SŒÎÅ$P_HQoIœþb„é4¬âšÀ´Ÿ2Ö¢Àõ·öqüÆóP‘´…«_@¹u}(2=ÛÀDÒAvB'ê haÝtéÚ¤;;.*yUÉ N‘ »¡Õ¯zàŠÃ—*ÏKÅòŸz]›%ÞÇw%Ó´ÝŸìPoñaŒj}ìÏSœÚi Ïç¶ôC¶„ íÓYÛV±¿Ý¹'$Z«)Dœ!Û0›D0›¢0L§9°D­ –kÜ~ÇK‡7« 8€šþ<ÛvR€¤m·äiÇ€ Ð[U +Ä“%â—è•æ‰””Š¡ó)!ÿ‘ú·ô’&Wt€¿ y^+–ó¹»n„Žî5Ùðµ³áXléŒÆW} {Ùú3ƒÝ¡±íÛ„´RSA–EØßëB@`<Ž1T±yÖ¢üÙ>aÔ˃jK!dÐÆ@  Ò©àøÍ9nÅ4ª}ÔPŠ‹ãM„kP+,¹ÐºB”ìŠ`E¶Ñ¾Ëò¨î,× L&@ø8¾ƒnûÓWzL¿]yA(ðßHH“¿oæ£{ò,éþ$¡ÞâHšgÐKœÛgLR_GQ0,ÑÛ[ÂdTáÜ™†rdi_"Ÿ&¨- Š0륨¯FàÄ Kn¼sŠ—|ßi™ú1à4t°¨I ÆBàÑÕ8"ï@§»Î‚˜‘å_ôÏÒK?ú‰+8„Ϫˆ¿ü-Ï¡—>ÀôÊßüÑìþuQkݽ¼ÒèÙ¿Ž—žz5VÇ×ãú%‰µ–DµB ¥!¤@D„lÜÀ|¬0îç0,@H’ Õ…KǪˆb†0=Ô¨w«ˆ« ó´‰yZ/ qˆ¢m`{É»û*Ò`µIX¯-£Ó;ÉXX8Ìj43¨zç I©€źXøÓ?~Ô$ímæ“×ÏÒ<Ú•=Jºg±ÂîTcw,‘g ɼ‹Ý:¾ôÉ:ÖŽô8ó¡»ZƒNS¤û9dh¯Ue„c7f8|ý“ˆk="HHrÑÂÈ1WkЩH¬EuÔfGÐØ=Å¥\éÖsÐô£àè^ºíÃÏ øàRå«X^ôŸ¿éÎâ¸ýªÁSÏ<ŠìÚ/`¤SœîýIŒÑ°ŽG¿°Y‰1Þ‰0V h)Œ3Œúéœph½ÕÕë×m ¹rÊA–eaOrµ¥˜X«íma‰Nb‘oFmÒD¼´Ì$ÕŸâ-ôâ÷>t…‡æ²Ê ^±€?q—âlüu£û>F{½oNå“Η¦ûæÜìô^µº;D£wv-îíÒ|*1Kªmjœ`²/L +«•ÃO¢ÞîCBÛf½ŽµIÆb=ÂB£i–¢Îti~£îÒr¥Õ#ª¶Î"jß ÿ7ºñíÏ;øàRå»B±¼dò÷ÖÉ%Z+w§##öòSóñU_ï&ƒéÖv‡.lwVó<«NÇM‘¦5È8‡IóÄÂúµ… 8ÞƒŒ#(Q›JŽÑª),5ºXi.%µýó5¾Z5jI…H&¨4>¿Ÿný¥ç ûàrËw•by1úÇÐh?`LåoMúý¼¯NÏ’CßçÓÞS{zyoX½ Y•tZ…1B¦P•!(J\•Y‚ÈrÁbÅ8±´âm>™Õ/Íd."YÍŒü}HÜM·~äÔ•~æï´|W*äŸø»$+«¯ATýõ´—O÷²áâ™é¨ýØþéÁHõF¢=›7ÚC$5˜0ÇðM”ˆ°ÐXï4y±ºÎµÑ!}VG‰„l|2~+Ýò«ÿçJ?ç•’ïZÅòbþ÷EhÔß¿g>Ðñh®“ÉÒ£ãÁÂùá“ý¹èO²“ö˜FK²ÐèÔ%jªÁG—Nê6ôÚ°+*•š ÙîCÇ[ïN³.·|×+–þÜO¯"7÷3Óë&;34zóÍææðñÁ^ušÍ ¦"’ UªCg‹ü²‹Y3íê•ùb«#ªþgÈ…wÓmÿf÷J?ËsA¾§X ù¯Hçù‡þlû/V;<ÿüùÍÑ´©+™¶ø5WÇú¨iQM­HQ]ü$dí-tëý^é{.É y¶„n{à3 «¸ªóª7-uNn?¾3jÅh6¯mVŒIÚÙÕ˳01ªN ›¢ÚyTû5ßSª§Ë÷,Ö7‘¯~öµíþŒþD¼öæÏlœmœh·´óÉ„>Õ–¹õªÿ¼e\nùžb} ÂÜwëNŸyw•zâÅÊÛèÎßyêJßÓs]þÊõ«cn‘{ÁIEND®B`‚pioneers-15.5/client/gtk/data/themes/Tiny/brick-port.png0000644000175000017500000000335207771100213020160 00000000000000‰PNG  IHDRC³?bKGDÿÿÿ ½§“ pHYsÀÀ.¶·tIMEÓ ŠwIDATxœ=Ò;\gÆñ÷þ¾ç~æœ93;;žõâõ%8Ä`HAE‘ Ñ# „hR š $ ”‚‚`E‘@2Lb²8Îú{wvÆžë¹½7 Ïøë)~p|çæzt¯œåèß¼™=<œ‰rÎ9Är‡\Ðw?>iuì’¬á! )0Èg؉ÅÞuÄFy«·K0Ê_yu9?~ÿþöno4\ºV9ùÆL„ £‰ûèƒÑ˃—Ó _D>a3 ÅVRW%{ù5ð¿‘|zœì½Ðdݾöt¸É™âØGžïnƒ˜m§)§A8 Ø"­ÊõêÑÂFQUª@ÿ¶YL µ“«o}÷àD„L5‰I0ˆD BŽ‚d'ÄÆäíØó¬å²ôuébà3B8øå÷×ÿúíó_@Î÷oßRÆ&¸Ù¿0<Ú_%¯ùÝÈžz<Ó`¼³Ñ]—üÖp˜r¼?+³ˆ”Ò+Ë…f(&fyô‘^œ8;_'³Óõ÷~‘Éq?æ‘'z~ÀYàPðÃ?¾yÓrÙñQ-&AÃÙi‰–øñ;;Áåî(€•éýì.>S+[Eœ/m¢„n¶ ÄX™# .vœ+ƒ4q ¤ U.‰®A°Ño¸/4;CÒo†5CB˯GkÇAQw¯më¦ÔD)PK½*©,Ç6æ 蹈¢ŠBÇ®Ë!Ð2öÑ )•zµ4E-×K $:‰ºçKUY¤5 Ìá‹Á ‘õZa¤Öe -F €…¾º7ë®V‰p±Î \SYÖÅâ‰øâwŒ.ŽŸ|ÔŽÜ{&˜tÇ ógZ{*ŠœOOÍíÏ• Tc8rEd-Ì @œb¨ñàuÖ>G@%YŒ>;ûÆuˆÉâ=š¸“é*,Ì}bä¦#]Çx{8ÂÒðA¦šÌ4àÅ–ÌK\YyñU¾ùÂs_§‡”•éÁK¯|r8«qÓÓILR—e-Çiz€1 «/¤l§ÍwZ~z®çqNÔéL-òÅdø÷Èäs;ŸB€Âþ¶éúÓÉÓ„’˜Yak„,ðD&M®Z eU.ªµÐ+¦%tüçwŽßÿ)ÚE—Ÿ}:>œÄ¡ïºbŽ£¥>A%|¶¶µ`lѳùj RÑxpx0^õdRF›­Y®¦S)ÍßþIØÿ*AQç7Þ Ï5YÛ÷R Dä‡ }ðàô^‰7Ñ"stF‹ŲՌîVoßž½µ‹/5xŠõÞ¦p8Ó'„âe=¢æ»mžqæ2m-"Ä Ú>,}÷¥ÔiG.PTsdAÈhêÁnX_Jƒ …[«a±²ë N«ÃÆO"‹ ±U-1D4€qà/løˆRꚸ˜X Œq¶á~ Ùri–˜X1 ,3g ZS0Sg>È|]ÞÙÝcº.ÔÆR£…†! zQðFz¡›D”z\QbTÕêÙªåù ªª8úø¯ùpútÎîD—_ùýþ´í!ǶÐID¸Ž'~~ãáùíÞìtÜMa€\Љ¬QÈxr†n¿)\/¢†¬'G®(¶^ûV>;=øÝAo»Óç8ãØ÷jÇ¡qŒ¥Ã&gÛòón@>%Mn¤ý&¾öÍ羊ùt6:´‚»IX·¯Œß© \”ø,ôEÜ Pè)e¶R–ùh±†ë! Cº¬ÖÇÇE¾.¥}Þª–£û€í¥7¾÷ù·„ܦ‰aƒhr / 7 HÑIýÈ*^®|™;Èz˜Ó‡Ÿ¼ýmyô]Ì e,ŠØÝÞ’ÄqƒP5¶†šÔ9ah¤p 5^!Pžé]ôáC—›G¹jùdQñº\ŸS(VÛl:"ȋˊýæG?¸Ú‹úiºNÜö8Ë¢üõßR'Fó¦ÐMIDÏöiû?ûÕÝ+—{]X\ÞtS$™FúÛ¨ó”P?±Œ~ù\ÒNÚ 5–‚¢†”*ôù g'ƒŒ»€2kŠÕœHXØY'L.ÑuÛÇ!²À2` ›O‰6dº»‹lh5–V‹µa¡H…NàsVµR2nº´.@9ï6³n«,L%˜š1 ”&!?éá­-›WN-ÆÈÈ{/v¼ål"Yds© ZUøÚ×¾ÁW‡¤Ì1ÒH0«û@uõ`ÛæEIEND®B`‚pioneers-15.5/client/gtk/data/themes/Tiny/wool-port.png0000644000175000017500000000215007771100213020041 00000000000000‰PNG  IHDR!Lâ÷bKGDÿÿÿ ½§“ pHYs¾¾‘ºŽ~tIMEÓ $)uLLõIDATxœ%Ô[keðÿó¼ï¼3³»ÙÙdsИƒI¡µÞâ"(x%ÞK-Zý<~¼A…j+…’j“¦»›ììœç=<^ø~?ú懱ù`%(ã\ªyàí¨.×B0Æ4éxh¤`v @‚$ž€„ LP -} ¾Ý%o Ò#ßìmdÃdªy¬X“ ›½¸~übñØóiP§Nr¥["! $ E"Ûe#õÑ럌G;¶j Û‘ÈÄ Zoog·óêþzÙüu1{T4?êô”• uï³W²äÃ×öïOÒÛYé{Hèû¤¢$ˆˆŠU44Ù09Üž¼©äÖ|±ôX[ 0 3´íw¦£÷FÉ´¯ ˆàœ¢ˆˆàyoƒš•@|Ûg£qvô~m=ùçkÇ?kÝ&Qߟºj/Kv)ˆˆïmÀvEqlÛš•"   ⑜›Œ¦}gæåC5DêÞçÉl†5}œF |¨«Á¹¾UqÖö½Ò:X)!¥˜I ’ñùìÄó³'@êÓ/Ø õ²I[UA¼‚ïê:¿Y4Um­#f !¼@ˆY†$f·gùï9Q ˆzð%šöz#”k±6F1ÕÅjvuåmG £‰HÚr°ó.NSÄõDj<~¹uª¨ÎÀ%sP¾âvqÓÚr7áaUÕV¨líùåeQ·U]ÖE¾º¹nÚn8YÁUeWäÕjÅÄ]Ý¿­ôxUÿ©•Vì)¢áälu}²éöó²µóEúÓ›»ÞÇjȬÆÜ¹u”Ξ;ëÙ;nÌÚtKE‰ˆIôKL†Ùk"QJÖÆE‘ÎÚ¾¼šÏs2˜žnß^jÍvëb«œOŸž_\\šH{Ó­ãCkûó“¿§{Mß÷'©hfˆ@G>Û,¶F[V­ÆÃßÒõg‘v¬Äû§õjKË;«yS©³óF¾¼ÛkÛj•O&ë‹ç—WõYë%Ž¡ J JÉpý<¨¸UH¯â¤„D6Jd?ª7{?~HÅaéÖàó^‡E^L²l#~Z=s!DZÄPj–‹ “4I  A‘pHCÈ‚‹|Ÿ$*Ù<(çÍ·OfÆó»w_}×dt±@Dûþ?®fÅ÷“éñU¾í²œ•eq̸^¶¿ÔÍîhDüÊ>Y3Ël}ÑÖ—.çX:QÏC }÷˜À ˆê»±ï;û<Ýâ X|@ݘ`£tØ:ÏÖ2q/ëTÓï8266ÎDN7=˜@fOêFLn ¼òâ¸ã´%3´†D`tHc'Äø_é?óc{èx›IEND®B`‚pioneers-15.5/client/gtk/data/themes/Tiny/lumber-port.png0000644000175000017500000000215707771100213020356 00000000000000‰PNG  IHDRº€I¹bKGDÿÿÿ ½§“ pHYs¾¾‘ºŽ~tIMEÓ 6øæ)üIDATxœ¥Õ[oEð3;»ëËú²ql'®cçÚàæbœ¦¡QT"B ­ª Eâ…Jð„ß„§~>xëC+¤¦%T„”â¤iî¶ss|ÛØ»ñîz¼;»<´\d•¶Ðÿëh~sfæhí¥oÀë…ýÏ3(¶‡l Øú?„¯/N$ÒKìè8 ¯J`_ÿ€.Qia›¥ûvm¿~oEN‹Ø D9!xÚó7Ú?½Œ b,?)ô«Á(W)¨/#vËÙ½]Ù£Db^ƨ¬®ksérCØÏë*9,æÅ‹ý6á=;‘öupTÚ^ÊÜ~˜¡™î }û%C²<ÿVöŇ•æmö°C X`H6»½^˜Û å½~!ëgì‰õ?‡z»¡Æ)~´šYÌ‹N*d£’Í)?@Qã.&ÚFδ™È±\h”-aÈh݈+‚*jnÞÅrÎqÙn¯Q³ó9²¸oæ ~k°mzÜÏÖâ£üÂã\¨»gðúT+ÁùÃõí_ØfÉéušŠ®qâ|®¹xdÜÜô˜ßé°³Òüò×O­½›ß¶Œ‰¡² 5)6d“Ú0­œfûÝüÌ›.¨yõ×™0#©ÑáϯúÎþƒØ-ñdþ˯@.²HG¬É¹ÆVí†âuq³çºC"($w oU©§-§–rï>üIPì<ÿÞÂ÷·¶DÓ H¬Ye]uPJ¤^ì’ã!hjZQ\4$§FRŸ^îÐ3BùmEˆ&Jï”LœW,Ôt†TCÎ U†±É®Í ºQ.«’o¿?­dÖŸ®ÎÚ–³kö£ãßïøèAG*Usùô&SØ– LÎFÙž8ëh×mBõrãÁ^3Ð'WÞñE›õ }v|þ®^’}àR·}ĺÁpp:°9Í­“ÊqãTØ!&↥ÕÊõ5‰ôõôM\:_Ïþ}Úò$=q@AcÖÁó¬ÛicÞãb.'ÝÁx#&Æ8F`yþê‡äo @ÿ"X³r„9źläá\ªßg|0Âw Ä€E«aØ œÓtp©‘ÄDä$8ÜÒ@@mÛ¤V³iÊ5POz{"SgxôŠ¥ä-SMuò\¸Ãï¾ii%¶mêš¹|Ë>N£ZÑâêÍzÃt†£ºëÔå³%Å’V€;šºL†/ÌÔvV[üqÒ!¦.i¥’\¬IE]¦áÈþb¶¶³éî›”3Z¡rBY Œ¿+ï¬c·h/}ÃÛßm+I§ÕûˤSŒ}v­¶³ötXh63[Ô¶Ücg”ì ps/EÄ .Cl… ¦G¶Ö(–‰ƒ¡ÙH£$=D ÿú÷^ùuAKå3‡< …šb qá9¡-4c@máÜ0«|µ+_-ÌŸý—w`V,ø[_Ü0,5u †QJœï>uÀ’Ë .@:ógí3Ò#`Wt·€ópŽ1 @ RÁû5bäú.ê.RR+،־¾#‰Ô}¾€ÈÜ!N×k3FÖÌoê·CS0Ï„¤AX­Õžhœâ)´9žß#NºLátøú·¿¯©½~´¾Ñe‚:¹•&šŒE9‡]¦Ïd;š XÁ^ch/t-p(ÔôpPžZ˜JíQÃ??3_À1ÁD4@Q{4¡] ZqH¡6Þ1ÂFNØ@|l¾ÞàÎíõ!<œC ~íeN$™Ur‰p0¢10-œ)‘:J@Œoÿê[.35€Ð€y" #p‘ ¥ÄtBqË•™ß(œ˜•tÏaêBó1#‰kh|— }&VtÏÀfç`³]ýÚ¯¶úDcXm(ž4p¾²“s4fI÷Œ”µ.\Ƭ„½‡³B:ÏÁ©é¬1zo›t©¸ž×p ÐÆ (öÔ7¡]Æœ\Z¸øÆ8'¡6Þ¾ Äþp 3øµ'.dÎhGª…©„ñÅ–’œó¥zÙ­GÀ›Àþð>¼Wß+^¸^úèv_ÿ.€9BÏ0¥ì1ÓQÁÁ›ž[OC ñˆØÂ”ˆ3ê # hj—Š‹9«Q. uJ¥„8-2óÅ ,-Þ+&8çxW\sµí‘½";!jŒÌVtÌ _9 §1pù909Ä `£¿§\Ç “¿Û…ÓG¦3ú9]AØ ³-R',ˆ³Ò4g™Æ%–—ý¯Ãc£¾ÀõrÇœ7>sY¤«5L°ÖyÜR‹é›ÑVè,ª‰˜B«ÐDàèׯXÞú%R'M¡i4öÌ|oJ®G L©©¥1¡MĤ_ƒ7^) —šüÖkHj _w–r=ÒC¡KäJ‰\ 4쌜¡+(¦pÊÕ6{Œ¥RNi-† æÊBr¾mD!g”:µbeÐöó½Ù¿ëÂá M\ovå(€^)qS0'7·*52+é‰$­av¿o?è$$™zðÅιP ê ¬QsØ7ƒùÁ?ý]¸ âî¢Ët-xö¢ú–à $äÏDFWaÙÀ¬á2æß!ƒdjŒ'Â]_bhzûÐ|œßÛ[°.Â)W÷‰Kr³‘Žº”R gB:ïJ_€å xä¸T¹@4Ì —«{ÖtÆØs}6÷6}N„©SwAj9p¹.bÒtãñ´ûê·™Î@úŠáøÅ¬¡ÝЂ#B—ôéþÕNñAó¹Ç(]±ÞÒ¿´07Hìí礽ð™GÕz›Ñ`%C†é¤Xc0° Œè¼ÒðQG„t=£8…¦™o¦¯½4éÄn‹e†˜Â#Bü¤§I陹Ýù’·¯ùÜ=@%p‚€0<¡+„ üW¯X;" f¥tÆñ,.óÕð:fz|M„+YbwWѾðw7À -è‹["žõØËö´$ ÖÅOþú¦ö™¹·™ï®ùá}ŸP!¿`„^ÂሕgYx’6ƒu„!=b0˜'˜Ýó U˜•êe #Ô)Ù Àþt@Ld tÒDÖ¬Î_¿Y+%˜J£A [ಀ3¾Z˜SÆo½rwÅA)©» õ«;#I)yë‰ÔÃ`O ˜W\O4¥$ K €5z"…óƒúÃŒüÍ ý-ë‚62o ÙQͰ: ` BlCŒh/²Æ×%\é«"¯±®Y¡ö¾ZÒlÌŸÿËÿXƒÔYõP‚Ú£<Ÿ5eˆæïúz €Ïæ$ 0ÊûWºD\:-†ùPæÎ §gp™ºK8<œÆMŽÕ‚9t._];ã%²\Ì:w5œ“DrN1¸L#—\~ «¶ÁÚÏÉHgSxèü¶ Í \hL`Vò6§Û2Ÿd& ,‡†pB¶?5<ÑÞ°üÉÿý[->[,[ÄJ.!uˆ3bÌÔŒÀ¬3oî?"”ÒÝ¡yšñ—ÒÄ&Ã(«4\‡Ü =Óf ¢fêB¹ˆK¡Ÿ§n #àh Pùí‚Uáw¯|w æH·U{Ôc¿oþò»á‰ÕšÆÀeˆ†…†)-i€åËٳܳ·Æ0Df– [q9‘K`­”€ÆQCºž€RÏÅ¿™  Ë Ýñ¢l!{fÖÃ.1_#N¢¦äë‚ù}xüèKúSLÒIùíKn=Û®" ò LÉjI[jèB;rý=,J˜žÀ3‡l¿?ƒ ÿš¬_ûõ„œj{J´‚mpÂÅ IfÍeó¬c ÿú($ 6óë’ër¾Ó¾Z,9žP,ɵRâ(-Öµ/¨c/ € PPÇÁª~órƒò:º*Í-_\W3¶DNŒBN–FY©˜èŒf8 •Rçoï„cÔ%À:–/¸&Lé_`ž ²%l9×;V7=b”Š­:èx@œÂã<Í9¸Šù‚8+:äf·½Ù?<)&éa(y“Bó¨V:µNG²&±+ %¸1O:&: ¦Ð=!I†æÿì+Ä1 ÂØ³¦¯=I}×°̸9&J§ÐôseanÈh iÖJ'@McÂpü50I-æke#b/X¨Vt‰¦`U`ÌO âYQÀŠó¡´™;8øŠáAW8C‡¥iÿóþnë«eh/»/w!Zæ~ý…âÿNÏt+Å[®‹ŸüøEË¢òÌÓÜŽGšIÖ!6ÜlSh?²|Ø7!¼`~ô‡ß IºNwOW)‘Uýù˜F8iL¾öø|õן—HÐ\ù0÷4~×ì\M›ÃNËe«.€†6£Í`Ë™?PÛ‡f¯‡H÷ŒjE³R±×Q~sG›‡Ã{ÄšÓwA­ñäï^J‘tR„y¤[éhu™‚,¿N»/¿®¡Ç0êás ›1GzšF,_à¦à°¹ÜÿêÃLëÌñgH?`n 3föâ áLf37ç˜N€60%Ý3JÎpCéÿ›ÿíÿce‰ Àî…GêHb:*{…ÔqXÂ=…L¦þ!´—7_ý>‡à·yhs{óÃÿöïÒ=ÔÌ; ø®<®¾ÓLÖÐÔ}Gzú¢F]ÏzJ 'ÁÍIê`J_M°[Ø‹;XçK‹» ]¡ØëáIí€Á: èáë-«5pư mÐñaÿ1<¡ö¾æîßý=O¿ÿô7ÞmC{d¾Pó1<ŠX…æ@W»»›yÚ?<íù+¿ö»×/Hî^nÞ¾ý ”°{ñJÝž>©mÌa1¯aX2¿ØÝ¿¦{†­0&óƒöÕõ3ûÕ¯kªE8}fSGSjf9›¡mD¶ùÛEznstWÒZ31Zl‘:¨¶¼]2_©;£4Œ¼-Õ^h/ÌWöûw:öO¾öšÁî\pCV/„I¬ ÎÅí\é”Îov¯ÔIÈÔXj{û0ŠÆ"µÌ×Ühp©CLÒ0“ys€a {™Sg.ÊæÏÿðïKOš«²1J§«¤c#² Q=âòGrK ÒIsˆa>2'|JJ¹ BÐÜ#X®”õP{ïœ!À1éæ^í'Ääë‚óß<„ #"Ð_P,ýf’a,•Úk{õÕrÿn¿[ߨ£÷–°.<:Ž3¿3“ù1×ô•÷Û/÷ï¿Ú8kêÃMÁêvÚûÁT\À¹ý/ÆlgüݽùÁ?ÿmµA2¾y Ä„5é r­3 a‰[̃ѵ¯%ú ¡#¹ Ÿöpψ É Îó7½_oh€Ú#"è\x¬ t ½|A˜2<}—íÖ_ÀMJ=Máw~%==2_…§÷8)hÚݯ`o`§Ð½/BÈX=ë¡G9ÓÀŽþv÷â¥ÆÂG´O0ëÏ™µòv9Ïn{8êÊ+U~NÆY¡2?ú£ï#§7Nzº¨p-ÒsÊäÔgú¦ÜÝÚ0,0DÚ‹†¥b£cOfpR³ìºË V|¾ °âm¾{õ €†^×?hÂãèo7'´’™8D+¤~¦ Ô þ~­ñÌ|Ú'_ÝÈLBsšK¯nÚU_gä…¿{¡q §&¼ÿ–fÅjÉr¥Ñ Â€Ü05º$ +´‚=cXÍŸ]½œ¯˜1þµÇû»Ûp|PwQßyÛ„Ë}a¸]û’a¼ 6t9Ú†y‚ë$³ÿëDM™¿XŠ%Y ÖÍ£‰4AO˜Ñ°žß~ªÂ!È%oW!¶pfÿ>òð­8ÚB8«9#æ¤a¹$¥ˆ]PFBs µøí ¾^ûÝNûvÿéL7Ê,è–V5ëõÛÿ˜ŽBÓa\ú[³‚í@ÑxwF^\Åh$óçü`Hs;gUÌAôj¤§ C}ÐEHW0©lä”ÏåÜ›™¯Á@Mæëgé˜Ç·üíÛ=† 6£ÉüñÕý —H¢Úª9ÀUÌŸYo|µ 핵)ýífŽ#ÖôëÝþÛ·{ &4~ëÃC «›ï~}ÿþ€ý·G¥Kx »W[V7×y±¤¯-Æ¥Úžyšgcœ=ÊH»ðÕ‚¶X`˜0tóH839ê`~ø/ÿC ©&šÒÛBƒ4h|ØÑÁ”8>H š›YT¸`Xâó°:ƒ _OµÕ˜1ïÂIpb2ܵ#àl”’ÆSè“_ÕÂá ”è ëõîî¥QÁ ~n ó—+¨ë+ãîÕKŒKÎç° oËðØúÛ{µ'dëpú “üš°FHÞ´<µšpöHGTô¶˜URû&`ü·Ü ˆgK"ãnCØðø)<|ú‰D:b,TÞld¤.`™…&„Q>›$ÀöÌ –+Å3QÀ™Ð<Ðÿò2Û¿;"Fp½@LJg˜ÒWঠÐÚ"lKVÅ\eYpðYÁ’˜…³ùBm†¡Ñã…Õ2¼ßï^x KÚ<4 f 9+ß¾`÷ßìý—/uz 'írì?eZ«™6\f¾¨1]öÍXzÜh½á èS·Û~›a˜æd˜pS0þÇÿ‘bòµÑPî±—wë;-Žâf;Sx»”Žúë'iPwžeÌs0Óæ¤ÁŠWÍz„° §à× :M4Ù•½O‰ÕvøH—íîŠ+ÆÂáC}MïœÈÀßõûšíÚÓŒVÔ]ü¶äî%\¦‡c±»©}Uj<+&º 6ÓãQí™–¼Ý°¶Š—ðø4ëbþö†n @ñB·Ü?œv•ÃcxxòÛ×~}£tF¼˜üÑïKJà ¬vw7HÝÛŸüüÍoÿvˆ-£`Jõï˜C£ÆÐ(h¯2ã,φ)A²|ðöÝæÎ„­h/ê®aÌ›ÙXRÁ^0ËÜÀ&µà,ZDÆ'DÀÕÈÇ"t†Œ¥¦–®±¥ƒŽšqݬÛèq„3¾Þ„‹ pz 0+°JjELóNû9¡\€HŠRsFµò³Ö ‘…ùá÷÷é*äFã3†ämA˜ýû÷¡9Ÿ'¬å4óá¬êð¼`. ¤6<ß©%år ¬c¾†ËæCQlfÎènŠüæn:øí Æ^§L8“·X¤Øif¦•?ûzÍíÍÛ¿þ 2nw«­Ð1_i<‡öÂ|Áz @Ã3k§&"v0&Ž9òÏΦå£çoÂáqP|€«i3 Kï¸ø ¤ÝÍšõMh{àŒnaþçÿúœóëÂÃSøøŽ%½¿õn@¡×%réfaz÷â¥ò(™?Ï£àŒÜ™#t=fÉùj¾sÛ}¾½ál0u¬W~{£±ßݾ ÍI˜vµg¹ m‡1Ñf&\*®ÎJ Ý3lÆÛ ÚUÞKWÑf¡9ùí+ÅVõs² áQ—Ìñr÷rÃl¢x»µ†Fí9;Ä…õ«tÕÍŠ[çë5,ôxÙ¿{R<ÌnŽÝÝ¿ÿžNÌÿ‡ 1ÓÅr:ÓÉ—VcÆå}8ÿfR9üm¥örÐÇ%†væji Ö‘É ÛÐBÀœ‰³†E XÂ:,\9 CÇíš'èä_þ;4.œšïà«- "õá -rã«tzx a ñ´ÛúÐ^d'w œO4%7ÅõˆßuW.Ü”4’‰LŽß[ª…†I±&´Q®`>íjÚñšwÃÄÛ·Ü?~2?ú£ùE]6“,'uqÞ+ã ¯sêe@G_oÑ)ô=ÝóUäP–üÝËYºc:ɬ¿û7œtÝg3JþkNyc`KÖc¦Ôc4°Ä ð8S…ÆßÞÏg­öšHê.ˆÉµ :`0~{êfjÀ5óÕO~ú€¯èëR‡î94Š2?ü¿·ÛÝ„1ŸæîC$VÆ¥†ÉWP¨}º2ó3‹vŒZ,fÕüZqm”™‰Žx¥Ù˜Írˆ¿óèz%;ËAKÚ ¬,mFS*ïÔN@Ã¥‘©9F,‡p.4< …¯&o=¦_|OñB4jÁrÅ‚ê%ôؼÒpÖ§=Ë•/6áð¸jt|¢4çøðìóÙ5‹ ¸‚Û¿%ÆûW;5ÇÐJQÞ9”†— ùÅüàŸÿöµ t‡£âó×_½~ûö€SÃr@Ç«ÅUáˆcÄqb™ÁAã\ÅÏþåßZ ˜~iš-Äp)<ˆ%v/v$C/u.3ø;éѯ·þ¶Ò0 †2 on^¡"¡à7¯t á©EnÂSëó)Œ™Ï'¿}ývÿÔÓ»—…LöDS°$Gè’aÙ¡"¢B+òÕ†¹Q'ÂÕgYÅ`V.7›7w^ƒö‡ãn½Ù½zöïöûæôûˆç™vaUpìý›òí9ÁÝ\ßw„bgikó£ý¼%ò mš@±gŠÌ6&Ì&Èq‰üB ?gõw#Fi ^Ó³o¿P|À¸dµ Ç#Vœ¿«”`J3{”ýÖL˜ˆÌ×kZƒ( ã¹ñ.£½z5Opô›»·ÇÃÕÙ6+Ž¥½ú#.‰µ‡Lå·•ZAÑß½PׄÓchƒ_f¨7èlé-µÎ¯EÑA›—ÌMh呵ˆ1ÄÎ"+0õæÇÿëumÈ#ˆ €b ‡÷x:îÆF°Ä0ÿÔîKlf‚U"sGƒ0DÄž•' z§¡¤ín¹áµ`[†AŠð¹Ý€NêS{Ü¿k•wK$Öw¬–sÕàÂQ~Co7BT««liJ¾¬„nD_Ý(eL/6¨ Þˬè,â,¢´Äj?<1M,W,6ˆaÂÔÏg¬`±áj&—K“ùÑ¿þG× =Ÿ°Z3õGuç]MNºT>_j<`þbᘢƤi€•!_Ñ&jžæ×}E¸kdipN°[kÃi¯ÐÓ2Lòë—×tIÆ~6ÉËÖsX]%ÆôÌ‚,ëÀ…âC@¸`¸¾õwž­Ð#Lã„<É”VQóÌ÷€†³úg &WÌñ¨3ÔÁœf…©¿¾ž:=*~]/™ cndy•tŠ W>u©ˆA©UL˜^ä m@|‡tK:•†ç­. —í¼9q?œC:âb}E+  ,ò¤_( º„éºë¢ «b÷ú.œ 7š}{Á~7ín^kÿ>Œò7÷¾*HŸÐÄp~›Oçz £ÏÞQ€ÌÄzåK tÁ/¨Ë€Ø)[aê™OÌkæ&œ¬ &Œßþ4´GÖ[8»D¼„Ã#«lNo5G8øÊ@l[ŒGÅ$ÌeeÇÀІWLµ„EhWÌòµ¿†Å0g++±œo× ©citI¡íy©¸luI, /øÁ¯woÿŸÿ}~¿õ°ØUyÈkŒ'¡×¶öËTŒØŒa¼È0 b©á 4ï(2é=M˜žÈ$&É$&£¹âÄ ÜRs>ÒUÏ4Æüôù/§o5L´­QÛcˆ°N˨ ä…wv®Ê £¸aι+©= @^øÝ†›—š@|Â`¤#ÎIh7LÙ¾yOÒç £¸44µS XHG]a|NuÀ’s˜³[cbUÐú 0û³±´~Ào7È ¥Žn53ª8>©•æâÍ\)…ÃãI¸‚µçÝ S¦xFÛ+^ü‹{Ä^±W¼0=Ó g<ÍþÇ@¦äØ*ö„£1LÙ¾ ÞYµÏ%Â.U7 V IDAT›)Ñ«n&½ª uQxúDf:CK²ªYÔ~»Öð4WÖÐ~6ä-õ0Ê^hÌ•IPÛ‡ýwÆ[]3Ë—[TÚcBnf§¦Úž/+¸ÖÌ­‡S¯f€ÍÐ-•LR¯ñ~¾÷¯v»/Bÿiÿ3¿]ónNßnÐözxš]‹&ÿrm~ü?ý' £+0(hÄã' K¤N0hÏ:öoî·÷§÷þÎóÖÿäǽ3J)Žvë êg Kºçk± ©}ûþƒ4½y³#3ð©cV±Ú ï0dÆý»½¯7~»f™Ô]Ë?KªSh£ÂA—‰Õúz'l¶Ý®¾eµ¤)™çGŨA3uÍ‚° §&´g‚»×ƒÌBø¼A…Œ°H½ÌBS‡KÂҰغ ýä¿zC·‚Ž3"ЛþáïKÎtœ5=ŽênŠy/jWo„ðÈûµ¯oiKV¥Æ1¼ÿ&ôš§›Ð4JÓ›ûÛÙNÎÊÃM0EˆG¢S³ñŒa 4@£¯ë[K1Ž,ÊÝ‹—þ~æbt^q9py¯þƒâ ¬cµÄ°Äp†`oYt8C7‰·–X…öH»ñ¹vs7Ô`H'5'Ïl#mÎ’¬©F¡¸:ûõWr4ƒ†Ž¦ÄÔï?úh~üÇÿ„8Ë.h&hŸÂð¤gƒ¹YJÉu˜:Æ»•ß®?׈3†¨„ðí#7E8|Ø{öër÷Õ=†ehŽ_ÿwá ŒÍ1žì^׬¶û_ìa6ÈO¿ó¨%ðËïíõópzšo;f·Z_My5´’¾¾½W>€)XÐßl4B1ìï‚vá×5\Áé¢óEÓUº3Íê;zGéL»Ú+p¹À)£] Ø˜õwþînw÷o­†#†ÄrIcôóƒ¯×axâ°TJJÉžÍ#;×w³î¬lÜ­7»ßùJÂÇ“ú÷êJ_ØÕþÛ¿‘³WšÞ‡Cô\ø»{XÞ}Àì¿uϾ¾e¶âr|°–4O<\°ÖWEØ¿‡]éb¹|dµåÚ)%ÅËþ¯JWÒRmROSÌÕêë¿÷{zìƒÂ|ÊÚù¼öÿç7OüÝ=m†1±´´%_×0x5ƒBÛ£…ÌÿøŸÈ~·TÂjx JìŸBs°«×²'’¼ñh÷Ç'f¥ßæ–óÖ‘ßú·ï>xwÝò•£-‘?£¾A'ÅHçÚ¹½„÷{º/4„pø¨Sâ™Æ0ßÂë ×ô·¥_~ Bh:bh|U#ö³»6cUÏJaÕöZÚjfl±Ùì*¿?½Ÿ‹ ]A[ÍfÅû—ê2‰§ÐAã ýf¸èë-lÒ£ƒ®@#óã?ýÏÃã§Ðv„uÞÎê†ý/¿™l÷¿ÅÒªøbòë¯ÐEij\A˜z<*%¸ èv»ßBì÷ûw0%mb«˜í8e¾(ì½wÆW~ß<ͯ°Úpu5ûh̆ž–À8ÁZV *A‡oiKÌ’Þ XjxÃÂ[î±—äïün·eBV ‘Lò9„S£æ$³ µß?éaéïðæ7¾öåÕOt]ª ” <-a# ‡æÿâû»W/ýú·¤û_ì÷¿üzϼ÷¾¨A²´s7 þQ£¯7¨ŸgÍž7žùÄš@¿ õ/í|«}½ û3ñBÿ“¿üƯË7_íæÿ"µºL¾ÞDIµ½¤]}:!‰•g•Á-CÙΛ¸“Ú^é̪ðõŽ[¬×WQ4{Uƒ¢Ö3vw«ðtV·÷Åæ ®W“aM©=†þ4'  Ç@KÒiÌýûŸ™ýé?d±Q·gVÒ-5ÏuÍiÿÿ~s]BQÚ 8#%·ùì‡uþ6§Û†æ¸÷޽èo¿óÍ€ „¿Ú*%¿«õØñ¶Ä°ôw¿ ½Ý?<ùŠoŸÂ›Ýnߎ»›µÐÃT¦ýãavoÞÐ ô'Â^+˜2üê—37Ø"Vsø0:={Þg£pöÎùW;Wáø3f¯Žh†ÄŠ3«ÆÞW%s(fåµàp½DÓb€‚Ü€!é4ôAàíÏ~J“q»%ÎÂÊçëÝ‹©›ýê÷ßL0LaŠë.…u„Á%MºLô˜…Ó™³ 8>„o•Z¿B‚†‚xÖhÔ>“µ¦£·KØZ§ YçtÆç+T“Ï*æ9S{ÄÜF›¿õ0%²5A,O\z¬ DêuŠÒ{ØrWq÷½¿§^Š«!ü›±mÇ£¶‡YÍ q¬ŽË°ÿèëgŒ™Ï˺EÁ4¡J»ïÝq4¡Ô/ü¼™º×:}š£Ò@ca{ £LŽñ)bCâî%†Àì-š—:1¦Ù>šÊ]Us–öcÌ Ž®Wêü:\‰:<„vvjQc¦á¤AÁ>Sh#b„,9ÌFðnÐx˜—Sü‹ßeÂ9°*ülÇÎÖ°Y¤æSÁ&’´ ±v¢×IJZ‹aTÌè: å¼zµÜ½úJíiÿþqþFãC³ÛÝï¾üâ'?û›ÝÝ ë[2SßÌUÓ#óŒYåë%ë‚ÕcRŠ¢†’€öˆ!êøp¥ŸqÖe:ækãë»Ï«à ³½Û\%f¯öº(@§jy¸¹B ="BsÄùŒU «§ÙýÆ+úß…]à³+cgo4@C£öŒ!Á¶È'Œo+µ§Ð¶ÈMèÆÙû'ú‚äŒÝ½Í„„aZ*u~÷òëÛ ó„VoþAíéí»ã›7¯q^¨» ðûOA}ƒÍJ?og ¨s M ÍxûÂ'ÉPŸïÍ$kPÜ‚g ¥äÈ^w/h:IâgŒ¤?ÌËî»×; Kd‰KBa*ÅMïï^"2c‚C8 h”Â/ßã—¸®Íº f¥Ó¹ónÀ,"Ó¼@ÞöpÓ̇q\³Ìv»5²ÝÛ6úÛÎH¥$ ‚¥ùÑ¿ú‡3§‹¡Á¬Û [‡±ˆhʼn.ów…ß–¿†KY…Ü(6×­r’Æk¤#mF·–qÐ'äŒKŒ @è{¿^Ñ­„xÄãõù¶ÂвºÑ0bh³´¯nqÙ¡çKOëé0óð¡ :Š4Jéºv>ÓURèzM=¢ñ\o¹REóˆ›y¦¨çoÕ]˜¯5žøúÞWåuOóRa: ‰v±T`=‘`+ -†¨!IOÜl¿Þ˜p:ïßöÀÉßÝûÚ¿ýôÍŽV’Ô'²ôëLÃ$4šœ5žÔw¾®Ãó€/‹Ðõ,^ Gò^CbŒ¡9Riÿþ“¯›Ð<ø»V}·{±)Ñ? ¦$ú¬(¢@š{–g$2u¾¾EåñY¦Íh_~]\mèÞ}Øï?¨íe6þæL·EÙ[ òÖ#Ûøz3Ÿo芎®ÂÂpÄðãZQ°ù“?ø7¯oÕZMG?½TöÆ„CØÇÃä×÷W׌mf·éþgo™,ʹH_{mÄw¾DÐ@¾(üý:ÌIj³ðØÑšψ&¤ö¹Ý—7Rxó»zï_§ðôi~t†.Óî®R\hêvë/ÂØ_DH,—jµý›Ý«™ä€¾ÔtœÔ´ ©e½õW`™4´Š-«ZãóL~ùj‰a…j¶Q{Q:ûz­aÒÓúš£Ž €ù³ÿæßóÎÈ>#fðöW»/·_ùõÛoþ*œ>î^¿Ø½Ø]3k•ÂÇÓlîT6^7¨IÅÌÏY&…‡)èÀdéÎJðëWÞsŠ… ¾—"×´[_oà]ñ`Cs ©`3¿¾÷5Ô­YÂßj“æ « —÷XC‚·›ýãÏ ƒrqµ¡9°ÊhnCs 1À ٿ߇ÃGVëÝ‹Œ þ"œÍîÖú­ß¿k4ôŠš¤aR?ùÂûûù“\j(i3ÿúÅîîFCñ™¹yûÍ_îuªv÷ÙîÍK_’Bsdµž÷£iÀ5¯Ë¯v©Çn¾8 ãQ)I‚ÚÐ>“ØHa6‰Î(ñ÷¿>þbø¨îÙoo|E_-fòHGP—4æO‹˜ÀúºœRXõ®OÅÀÐÀÖþŽ$Cß«}‚)Ô·þ®ôdh:Ú…:£^»­Ãâ•´×1(M~UÃæÞ­Pè¼{=ë‹óBýþý‡ýÓù³?øžúN]ôŒaûìïÙ6Žó³ŽÈk! zTsVi"I_{n=€ÐŠHÜÞ{W#‡ž´?½SsÔ)û¼L” hàëÍ¿ùÉ7j£€7w»7¿óµiÂáCh°ÿæ“.OþvÍlb¹bµD_÷JG NÚcQ­wë«Íþñç4EÁÆÝí÷X62Û„Ó><Žáôί_ïvVC¢1ŠÃ9<œ”Ò< ^¡Is ‡ƒ¿»ã2ó7/ DêæÏþà{¾ZÎÅþã78eZ ûCOÀßÌ×pP{º.f»ïÝ©í1,ÕýÿE½säX–ÝÏC&€‹Ä×#™U«ª{ØÓ³Ú‘=R„B®Ì±¤@†B²$gä쮵ë(BrÖ”¹æšc¶9æ˜!9*M¨{jºëEf’ß@&žŒ²i&#H$ðpï}÷žó{™Ä5—Ž­!yûõí*½ð’¦þÀ‡¾•íW<•‚™'[ÝÙ™£¥ø™+ËûÞý铨MñåËÛ/ VB„…­Ýì\âi׎¥Þç"•søÌ>7æÿ!HÙVô¾ z>€§NgÉ0šibuBÈíë *–@c®Ê{’f5>ŸÏœÉŽ´V'‘ÞçXUêïÿ}Ì Gâí8öú2P–w·7צ=¹2Lö×àÈÖ <¿ýþhjƒ²½Ð×û¢P"B¿Ãý`ÚÆ–® œ•Öº¸¸zûþ'o]ñã–ó#Ùß`t&:Õ]›þsxÔ^NV"9m½Ò‚l§/uù0‰Rð•„™øçÅezD¹cùþsyßà ¤xyÅíõsô¤g8µ8%¼ÿ¡¬ïÙX'N.ô/$PËZ%´«ÍóDŽÖÔ‹úö/¾Öá(áÏy"«ÁY…XZ_ó`*Ê£"úR§è_šû?”ê1")èÕn¿(Ä.'Œ½ÈÊÑlÎrýä³L O> ‰·"¡„)N ‡‘a‚†nÇà®XD8%ºZS¤íX æ¡Yoú6BæIö…'ø9‚‘]`ªÏ€V¡_èÕÄ¢³‹âöJ\è$ÅŒ²þ÷ÿú=»squ¡÷ëÅU¦óKb`5ÐÖ¢2„Jýî¯ÿ¦myoÌáž½•ºÕ¡¾}-ˆ8NdkšÚÍa´ÖZ_ã$pN+ÓžËz6E¢tëËT¢TœÏçY%âÊÓq$-B<+²VÙ弿§Úazä,zs6íYïs°u^¾µA>mED’öÁgÓT- É5FƒP=wøI:©l½Û?ÿ¶ ÷ÓöÝÇO´Vç‘9 ˜ »+ÒLÒˆÍPÞÿ ÓœmE í/®-á:ÁêÛ¿þç2²ì”p*öÚ©`œEHâr0€òøÙ”cñ¥v+P¶‚ȯEíHù®T ë“ÀC8côÙIP¤ZGf лJG‘lEƒD ëÆ8®=´lϘZŽZ+áy…iŒ zÄ´‘óyEZ[ï>½I‹ÛëbŸ³›à+ø'Óò—W7oÿÏ[3Q¼þª(¾ü™sr¬¸@ʲ|÷¶doe9êlÀ ¤@ ô½Ä;æê÷ÿã_=o V]æ\‹¯Þ}ê×了ÆB§®èóx_Ö•¨ˆ8DZ¤³ø™D)l'“‚ãûˆH˜é€ø"©3‹-$Ã(%ð81vP lËÇ®üô`Ž2‡o¯oàC%/rq躧Ò9Œ%Ñô^£#±¥hæhd»CF„¹Î…£]ý8€y¼/Ûíú´ÁVË/A$Jqé\ólÊUÿŸo&w•ÔN¶‹™=Q+©„´˜z3y|¨ OÅM Ó}ñ:Ñé%퀎’òðAŸ§EÎg‰.øü}Ä©Üb˜3ñ›gæ„yh9vÅÕklx78,Î÷æîOïþï'ÚÓ~Td;}µq@*‰N3f‹XD…¦þà Ǩ=‘3ƒ”Hž”ïïʦåé}^¼xã8?^§Ãñíd޵iªòýÝj"Q €N"'wžÕ†§XÎgnž°J´ŽH’Ö4Û#K¼@ít²Ñ/_Jà³›VµÝÐЛ`Ú”ïï8y:àpAñæZûÕÈfX›l‹DD–H$p;{ކK/Ñ+q+cPÖµ9”kÎŽ®µ¢C%þ5v•Nõ:8›­ôxJ]ò–ì }1`s#»^6hœÊ‡N!– Ï#\€¤Îv˜-—v½Ýã¶AhÕïÿêW-—ãÌNñ4mTÖÉòâ2ÒzÇqã2.Éw¾ÓÙx²ØÅ[Q誎nª!^"q`Ú±|ÿÙ´÷žJ":ÍŸABâ%+¾¦©0¶ïD-¦¥¾R\zñnh-$q-êò¾DE3œ&±¶96"”°å¸Ñû‹"ÛV_¾¥LS± $žàeض®EÁ‰¬ŽP;„‹¨ÝS,ÏÅ·ZGfžw”.B;K©úŸ¿¾äåc›X´ŽÊƒí!1iÙ8áÀíW_;Ȉ¿˜±g5¬Ä§ðlÆ ÚšÊÇ0™–x…þæÏClj‰7ìÎN*[~˜}u]¼ÑZ)ÃÅ}þöíŠ}¬_]¬ä‰$ÕzGktðµiÍÚ3¼ÊÜÜÓÌf(@õÌ}صåtÒA@„À€ÐJèë4Ö‰Hšö¤ƒÁÎi8פ-²œœkæÏ„NêÛÿðÆ¡’xMCŒTà—ÿâç %Ñ®>r1…Ýyý’ãˆ\U¹«òH_iñwfÄÌG:AŸùa0¤]DRñ\ñ¯nñOÊû;sèMý €Kñâ…ÞkYåÄUyøÄi@€âb}‰QÜì@_Å:½t}¥ƒ§MY8ÚÎ|ö$ž$É®Šmögu”è’Ã9ΰ=ç­FàÜ›ÅQž$W"Xy\€ú»÷ÔÁw{“ÍÎm—\ª[ñS**®/Š778i­ùpg¦Ag{ÙzP‰(˜æBzX:}QèËÛ/Ó¸­ÍÚF8÷f€NvzŸsv†káÒ–ïï̱ƒ¤—⢸ýúáÂn)«ÇkzØh'°6s*Y¢+Þø7œÅ]°×FXvŠçO8]šã{ÓLæã'ó–$W"Z¼Lâš]ÆåGdë`bœúê÷õ+cvG„É*^zÎ[ ŸVi':9p³êöÈÀÞ^^JŠŠ%ÑžÊc[~ø¨/!ùK 2£ˆ…i{Ïâ-Øít²qèÁµÁ~0å¡/ÒÈÅ;CòÕŽþ›ßýXršôvoú;Ö›ÛŸ%m¥ë§=ÇΜuºçD´ãs %É…i8n$<;jž=F+aŠ©]…5£Ç̡¹7}‡6¦×êËL' 9 /Ôßþ:–à’SlÛâõŸé4Çü™ó#$Àºã4 H%DØ=nê€Îb}u£¿øëÏÖ?..e–Ó “_ÖQ‰$"¢Š}‚f„y±t¢9v’y·¯ ¨ÁI¼éKÙõÄf‚y(us:›ƒP¼ºât.ï] šõŸŠ– w>-+޽„;½×CI"\ú@ÄiÔÀµÐ·|üΜÈpø¿“.ÒA²×¦bù©T¿û› ><Á8·˜Ç??…U]ï ¹Óºsé€d{íoh­isìÌ„"óŠŸ:czv÷‰wÜl\Êôƒê‰Ag{Øá«"à«òpÄ4K’¹æÑê¿…À×Ù….R‰w˜•1Vìh, IŽ©¯V£ÊóOpB·¡]Âr &¦’GŽ!‹¯Lóˆqpþïu¢áŸÙ«µ!mvÔdÔê·ÿõ ñC7ý0ÍÈӨC×îS¦©Ì‡ƒ‹²:÷XÜËhÇõóàÄ A8‹ €'"ÙZn<·‰Gxr)Lû‹Û+üD"Ä_8{®_å¢ÛšCG%Xzœ…:ì´Ø™´ˆ±;Aï4w’D: ˆcCK9%¦îè(rãLœhê#›^ï/uŽ–P ËûG)¤Z,œSÊôJb«U¬~û_~ÅÉŠä"'”‡’-¹˜_~uñté×zg”ŸË²|D©„Jü $Çs ÕsD)(Áf'j@—‡;­Óç^ÆA^†¢âòÃ{Γ(_òØ‘¼V³Ú=M‡|kÑL0M%ç@®µ{yÝ8_’¶£Ú‰í¦NÊQñ8rd9ÓÛ°žÎÚ„^ñâ†vÐɨü¡„íœyQ'Â΃í*L;œGLõ·ÿö ;盀96DÎÅõFBOáj*‰/tq¡ã­™Î¦õYÿhꑎ“–ˆNssü^\R·¦zä≷ˆðJÝ8‹™iO¦9êàèôþµ„ á™Õàj‚à(ÑÏ–j¶äÄ™X Ó߉/zŸ‹‚ä‘$9Û éKl[œ<‰‰Øƒ¼ÓA@x‚…ÓlîîÖY>[Wg»^xùqÒûàöÍŸxûÖ˜C¹š¸EHr>P÷ß \èÌq(`£ïÝÖV¿Jn_ýqhÊOåý'*û×:ÍÙ<¾ýSi~üàâôíëW8Zäi$!ª%Ý¯Ä »³lC`0³'K¦¯=„¡ÓÝ®‹=‰D…¦1¦~ÔáŽÖŠ倭lÓT@n¥$Â60ï <E¡É3O N[lO²ME6’‰úö/¾ðSïªÜÞJÛŽâ­bÓEBÇ[“â‚MͶŠVßy·1cõîí?b‚Û²éìFç‹1½iîtú’°ù•pè0°Wœ)‰°%mëX¦¦©DAï5FËkm1¶+­ÓŠWT±»eLÓ¸¢ß|±býíj¬7ÍCyxÔˆ'Oâè½›eÂæcUÖ§ S‚ r->O¼L.Çu “nW°Šßþæ¸"ÇéIEIx–Å'ëVÅ’lÄ<×” °˜v@oÚ-]¬¬+> ’yÅåKýúRbEã<á×@àÒ:m§ÁÈÃXJ°Ñûa޳Ö3-‚0Ò:"[Œd²m 1‡ƒDûâUÀT‡µžp ’q‘)rñ§³.^¼â“|›ÃQd…)ˆ—ÐZgÀh%É9+ Â³|"<‰xÄÎuîtªÅ÷àŸ©„=ôö‘“Âè!\OÐqÚ®Ýûf@p’0e}X}Öb¿Z/rXw¶"¡ÞÉí¿Ì̧–C#QZ¤'¾ûpgšcqq!¬Š‘3­uì ½×ì2óøB¸ž9\å·/ å}Y¾ûÞð|ûâå/¿ù§êÛß|ù–sà²ÛÊ4GŒ(‚¥Öš'O¶‹è˕Ոü*âAÅx*|$Þ¸þ€[Ïðd“ÁWH^cêŸ^®³5ÃàŽëø)â<¡ßœÜ&€¾ŠÉ‘ݾæý"2™x»ˆÒÉÖíþa;Q ㆀÃ݈Rå¡•s ‘¬„§’¥¼§N¡¯2N³©ûõ4?ã¬Ä=è—/1Ûòþ3ën+¢8ÃT|ô~¯ÓÜråýg0­gš{¯ú+×_Å"Ýú-ž°Qe]‰ò´ÈØN6­Âóởð”âADg °°ÙHx¦µ¦™LýÈæÁ­ÜÒ tÒJØL¾9·’’f:±"/E©g\ª!;UÞÆhåÒ×ážÓò®¾¿}q `eêb;3€]kx6k À¶.ñ—?ÂFô686¢”ÚÁ¬JªIDATø™\zêw¿ùùêÊ>-OèüµUˆqæÉs Jï¯`{IÀÙ©–½f·¡9àé8™²zÀ4»ÃdÛ!ÌEˆPë@L3 þL›9 :õk=šê$ÒKø…ƒ,çšóÈÖsež©û ˧™Í@Z¶T&›""9P»©¤Þ_0ÛAš‘´œk9ŸèhÍÂT09STÌéÈŠâÝÈ•ç¦õ¸¨äÿj8Üåö~¿aIEND®B`‚pioneers-15.5/client/gtk/data/themes/Tiny/lumber-lorindol.png0000644000175000017500000013547407771100213021225 00000000000000‰PNG  IHDR–¯t'‡bKGDÿÿÿ ½§“ pHYs¿¿CýlštIMEÓ ×5O IDATxœì¼y°uéUÞ÷[ï°§sο¡çV·F„5’#…˜É Å–cd fˆ±˜‰(Ìœ`À@Q‚+e’¡BH X²¬ MÝR«[ýuý}w<ÓÞûVþØWŠ“TâÈ‘Ô-‰÷Ÿ{ëÞª³÷y÷Úk=ëyžõ ¾þ½kóŽŸm̰þòÒ™õòè×¾ä;~¯üñ[ÖÇû¾žÈKïx"¯Gßø ²°åâÚÔ¬Ÿ7§”0¼)ñ‡ßð޳?ø‘_}ûø§ï¼™ïû|".ûxßÀu]{ãkns)~ǰYþøéÉøôµîÙDEIñvK|ŽWÛç~Ù‹®¼ímï[Ÿ¼÷‘uy¼ï÷‰¶þáëç^ûeæ3>õž«·Ý²ÿ¥YÃ_?Ûlžycëãèä‘õÊ<Ú\Z’Ž7ܽë¸çÎK4³k ë©\ÃþÎUbžs¾z“–jXÓɈfD˜#qP—Nl]ýô}GÍù'vóøÇ~æ÷?¡ð×'L`½æë>Óþµ—=çò-—f/µ–WoÃðÉ'ëØ^_«9‰YÞqr*ÍlÆX"7Þ¿æáw |êÓŸò쫌bRFíhgͼÆd¥ivGáøæ¸¼âIóÄ8ŽX?ú–Üß,Îû7VÍá÷þÛûýÃoúöžï}øh­ûÀú;_û—ÜË_rÏ•§Ý{ùóœ-¯ ±¼`9–ödä}ǽ¹ÿx+§$çh¼òèÍ„žY†ÓÄ•}e¯c,ó¹çÞ'_¥êv±Î³íóŠyÓòÐcq¹òtŠ 7Xžbc¶³O ½ Ë÷/ùå.–ðW¿ñ?üxïÉGc}ÜÖ×¾üY楟ùô+Ïý¤«/Ü›×_‘áó¶Ã°»±'ëyølË[n râ,j<—æs~‡n®ØÞ\7…¶®°M ªÌw*î~Òö÷/QyA°„4°‰§/O9h w^¾‹ÎU<üþ÷q|üwÎ;÷’jmBÇíƒ!™Ÿ»º?û•ÏüâŸ_?Þ{ô‘\—õ½_ÿéîK>ë÷Ü{×Á+EôKÇî=_/›UŸ9s£rp­oñÆp8ßå`~+«uáÍoy?ã02o¾îcÂÖpõ–]÷ö©k³žT"§›3Þã)­xÚm»Üvx/÷½ÿARÆsöµµ˜vÁ ^½fœnSÉÛVï<öÿóßþ–ߊ÷~}$ÖÇóþO~ú+Û/þìg¼è–+ó׆ÔÕùúäÖãós²ŽæÝËÁüo§Aþ¬W6Ä;íeöº=öwîÀù€ Özª¦Æ¥Ø‚m1`]…1Ž¢™¢†˜¹$*_¡âÙ©çôq¤nÚnÁêøˆ]]Ñ8d´‘Z†Qn1&~ù~e>õo}ŽïÞ=þ¬>é‘õÆ÷|Là¯'|ÆúÍ_úz÷”»_” ßysµ}Ñ£«Ø,c6=F®‡Sr”>&ÄÃ0Xj㹺Óqyq…í2ò®ûð3ìu€AQ¬+*˜ Æ(ÖyŒ½nμÝEµ°¶@&De3ôhʬW™aˆØÚ€QŒ%ªÊ ¢äTÐ\Ï#Œ™Eg¹ë¶š½Ž¢ r¦¾¸ÞÍÓsÒÑŠ§¶[ö»È¬Íä¶ã¼^°ô»ê¥V†0ŽÃæúv_¿°éWßþî“?úáŸûýþq}0ÿžõ„ ¬×|ý‹å >ýI·¶³î›’È+·é–“w¢Ü{YêVzM€£r™\ «mÃå™ãò¼£15ÇŽV¿*'X1X#ˆ´@Ñb±q–yÓ°Ó.idÙ¤)šÑ\0"ÄѰ"YŒ`bU’š%Âx!+¾öìÌ-óÎsv>ú'=é*·^žñÈÑMZ»fEg ûd\>f6SF7ãHvˆ~QTœJÑ”ú~¹Ãø/ã¶ÿÉ÷=pü¦ïü©?xBZsžõºÿúUû³™ÿ¢¾T߸õÙ76±¾±‰¦·Öb¼%´»ô´º«#·qΡoÌÒ}ÏÛîxé[;_ô¯}BPO˜Àzó?ýWf]ýbë¯ÛfyÆYˆõ£}2×Ç$Ç9K[Žé¹ï7¸|ïi<$˼öXï°¦¦u†Šªò€aè#g«€XÅ×£Âr³¦4a%³E ˆÍˆ5T¾Â;ƒ5g Ëu jBóTnÓ¦¶ T­Ã9‡·5·\Yp°· (Œi ”À0F@©\ÅÎ|ŸÆvœozÎΗì,<]W±TG„2e»™98¬”þ´çü茮*X4+v;Xt-¦Ú¥,7ÌÆ-Wç98ßý£8Ûý¡?ÞyÆõö4|Ó—ýÜã`k`}Ã+>M^õÅÏšß~uç/[ç¿Fý´uÌ7‡hß·Q¹UÔ Y•ÓÕ)ËÍÀñC ÝfšÎcðÔó†ƒ+sªº¥«;œ3ã1bÉeòG©ÄÀ2G§K†ÍH oã U' !‘‹Ð´Ž¶rÔ¾b=Œ 1ãE¨Äaaè§G°ÎS{Ç|gÁåË æ;  l†5ý8b‚R¨]ÅÎ|—¦j( Û>ÐÖ±Ž!ôŒ!S ­+¼bê±9ÑYåäú˳s¼WæíÀ¥6°ï”ÆvTÖ‘Ç‚ Ê¥½9{îÆMWõ?r¿¿íW\ܱüú—þÌã\K`ýµ—=K¾ü¥Ï9|ú]‡/œµÍW‹µŸU–¹¸G†ln&/Q=c,$ €r¼ðTD…MŸ0Ö2ß©h[ñBÕL¥×Zƒ11ï&j#Ä#J.gGÊ¢Õ‚5Œa1rŽ”RX‘³>P9Ãl¶ ™ÕøÚ#Ƴ2«’Ù¢,®ì³wÛ]4¾âää„%èŒTò-;5_u÷¼{Ö_ÿÒ{Þô‹ÿô½ÇíçüQËX_ü9Ï4ëUÿѽW¯\úfñí+¢1‡}ìÑv̓«ô*8ï9˜ïqÛÁÓ¨ë¶Ã†w?ôfŽ×KRtÄ¡°:¤UÆŠe±ßÑíÄXú ,æ5•ŸØpg+¼«cI9!€³Žœ3chc”óUÏòt‰¢tó ï¬ëÛ_ýû’~Ò=‹E÷ŠˆyÙ&ê3zkg×ÖgrΤ­jŽHÜÿŽSœ+Ür×!áÓžÌûN®ÑUž+;·2&CŒ=«qC[5,º½ ä2½õ%+š Ûmäì|Ãò|‹˜H‘BÈ“\C•³ìÍZ †õ02†L[0PŠ‚ÂPè×#cŸQ-¨q`i U+8cHIP…Ê íÌQWÆßÒÕÞ9Š&RT–§=×<›‰yÊDÖ:Ô+F E#‚X0Æà+ÁÊ” ç]ƒ³Mí&XQ¼Æ0²Ú®Ù„Èvˆ“=Ç$ âZï˜UŽ;»»»„±pëg¿ªi+Ç®í¸ï÷^G§ËGw;ÿ}LÿèÓ¿ÿõáà ¶Àú_ü—o»mï«Lå_Ýgó´“1×o¹öˆéÉ•å|=¯ÖÇ“à[5Îîzê\¯©\áò¼eVïr²Š¬cÏá¬ÃÛŠºªð¶"çÀ˜zœ­qâ‰1³Y¶cdÝoˆq ÈTö¬UæÇâS` BS â…œ E• 3%)©BLÍ\(Π" ŠfƒªàœÒÔÐÔž¶©'*ÃÖººÁ!æ‚R¨Œg» \{è”aÈ1 ˜ÆNŒ}å($À€ â'BÖŠ¡­<{»ÎyÚºÂ9K)…ízdèQ2Qãd鉙TbNP"f4øP¨[ÇážãiO½JÕìðÀõGi+xúOæ¶Î¢×¯±z×[¸þ(*Fþ×§^ŽßqçSò.}ù>,Ü×ÿïÀú¾oý|÷YŸñÔgw;ík·Êç>²ºQ\_oYkOãjvÚ9÷?zÆxZØ›/¸ý¶}R,<òÐ9™Ìà ›BW[œŠZŠÂNݱ™½¶ÆzÇjØs¡õŽÝvŽÁ³’Rf¹íYoVl†H ÅyÁOîDï-:ÁwÀ3ŽÕL• ã*RŠK¦Ý³“˜¬B*B‚ÅZp|e¨jOWB)` ­*D ®j-ÔÎÑo7®oÑœ¨K¿XmGlmé:GJµ`¬ÁXGÁ`0Ì›šÝÝ–¶­ñÎaÈ%ô™¬Óõ†±§¶ } ¥ÀX)âyb1¯i‘Æ/Pw¨P»ŠÃÅ>‹Æ£ÉsúÀŸq©j¹ö¶÷òÉWNÒSžyøßi·û}/þ•‡·Àúžoùÿ)ϹãîËW_)Þ}ÝY{Þ~´4CyCˆ¬ã†«»WÙŒXà–Ã+xÛBñÄ, ÃÈcžs|ºA«B5ƒ¬“qnQ7†˜3»ÝŒ1'¶¡ÇËNãp¶BJ¡9>;gµ”II>\ ˆ¼ŸˆIk wœo#E U.„UÁ7ŽÍj¤™;ª™§È„ñbž6JuÂ2®†¶1T•½p3Oâ¬n0NМP£ž0(Æ "° ܸ¾&çˆõ–ÖªÖP×–’Ô±wiFÛTøÊᜠfâÖ¼5ˆ8Pˆ)2ô#'§ÎN±u!ÉpåŽ]Vñï E¦lº3먫ŽE7g§ö\Zb4³Ýžr|ãAæ«–|ò³ÏßsóúOtUýž÷—rû2AúÍ_óBó½ßúÙŸô¬¿pû·5;³;OÕËßsÜ_zóƒG¢Ö×+îû³N6†zwÁ¬«YüÝcÑî#¶F¦¾Ááœ%+$" 2±Þ­sŒ)ó€–̆Bc Û>±Þô¤”)9¡¹ãÈf=2Ž‘ª6ˆJQüRbÞÕ@!*h1˜÷ÓžO´sþø±‡šùÕ§Îáî-_1»}öþŸúæÏ»ïþú~ÈåñCÊX¿þó¯hžt×Þ+mÝ|çµ ÷>²Šö‘ó ï¾ïí#W¯òðñ1‹ÇÓŸ~…¶™#Ò â¨«cæ” ™E5Qr!ÄÄG«ž! ªo —Âf,½·àÍäÖŒ#h6HQ$$œR)Œa’mêÆ`*¡!3•¡ª*Úº#hÀˆ°ÓÔ5„>r~´¦¨¼²{ØáۚͶ'ÄL‰Šqã3"’¢F¨œÒÖ5›1³F ®”Ö{šªbÖΩ\Á`¦L"7VP óEú߲^ö }ĵÐÍ+ªÚcaÞÍñ¶¦®;¬óÝ`&À?Œ=aè¡(Ç7–Üxô”—ïÜE<,û Î*E@E˜7•÷Øzª%oqËûŽOÙõÂg?i»¶§øƒ=ìÞŒÍ=üá[ßQÜö_ÜÖtßñ—ÿÈŸ}(±òÿ™n¸ÿw_s‹JùÞ>»¯{×ÒÌÞq~ÊÍÓ3ªäI#\½cAh—ìyêÚK¦)_µ¨B1ªÓ%S$)ƒ®&$Ë6ôa;鄹§ „2•#Uš11SBaÌŠu)o DÁ‰ÃÚŒk ÆNÝ`ç-³ÖÕaŒ²ÓÔ8kH³šÙ¬AP†~ÂCݬÁšŠqLX+'ôÀj¢rЇÈ8$œ1  Y§2X&kŽÈ$|‹58ë.†ç+n­&|•sffZ¬µzÄeŒÎLüXŽ‘Êz¬±TÎãÜÄ¥i™|ùIKa±Û‚(g§=9$¼¯µô!b 8gȶ9Q•‚-J,™0$<”±ðoÞú0Û]íX®ú‡1cäywš×½çô ŸyϽ/9ù­¿ú ³;Ÿù£õs¾ÿäÃXý›~¨ËR^1ýÏZ wÿññ™Ü }9æéw_áèÚÈþbKs¥â<ˆ:˘=m1H.ÄB —5ÎVXã1¢š±bPU¬8¼|P–arw梀¢za¨“I ̶À ˆZº ë&Ù&ÆŒ7m×`pz¶Åªâ¼aÈ`¼¡kÖ\¼ùöy¡®= tóéZÎ ¾vPtêK¦®,çË-HÄ[HYéÇœ*cpÆ"ªä”‰)`­ÅZAÄ2•¯Bå'Jƒ¤42ݦO„R(¢ŒaÀÃFõ¢¤:jï1Ó' bA,^*‚±JU{ö•8Ž  tz)KVR/ã)¢Œ±ÌêÂP˜5Äš?}ÏÀþÍ3úw,Wרi÷¸ëé·Ói{–ù»>Ÿ¾¢ó¾ÖHüoêgÿðÿëÑÿ•ßö£fLù Oúð÷îôøygÎË®]ãÆÙ†”F„KÕH J½ëKFs…Ábl“š” CXRF±„¤éi¼'¤BÑ‚¥¥r‘’„Õ6C™0 Ñ(:‰»Måéê†>$Ôfª…P_ˆÆ)+9',ަóÄ1!¸)+cqÆMó€i¤©,µk™° 2µýÐVÀ0ýyÂij¦Ñ±zHl6ãÔ¹ p+Ѝ y’o†M2IG©ni›Ì4,[d*éÆ ë`wQ³î󔚈©K$€Õ¤5¶uµ@˜h(#¤”ˆ9!ÖP°¬–ÁLök-@.lRF<§”2we-Yk¤®‡‘kçÊõÕHLJ*ìßyÖ;ìÏv‘xß<¹ýhÿáѯ_ýë×|ÇâÓòR`…·ýŸœÊê»û ÿÉ?ùÓëö×n0¤-Šfraކñü&‡{-£‚ÅI…5͆˜ ¢‰!M,·3e’fPŒ*ˆeÂêDƉTL±@T°™’'òÑ{ƒ·Ž®ªhkK[ÛiÓȈ˜©cº(³FÌEÙ±ììWl6†qÙ=¨˜ÕÛ±'E¨±&‘sÀ™€µØ‰ßÊ gÆÚ)Kòo<4MÅj5•~Ú üÒoÞǺïQ/4ÆÒÍf é,Шãž'ïsé®9Y •Èk„Z d&Q¹¨õ:µà’ Å)N§6:«!æHÎfÚ$Çœ0Œ_,Î2±ËªXcñU3qK¢¨N%<ªyÂÖZšÚà/uSš2¥Äu2„’&ÇCqlÒHSG žÍrš®É9áœ!¤‚s™®jPÍ#lO{úm@œa¾Û°³×à,ôc&¤Œ«”I\޹'&¡Ó5õBÀÎišQ cžÎ3u¢Z(rv%ÂY›5ÖRÌ8«Ô®f³ˆ ;¾òĘÍ`†LÓÖˆ1ììZ Êvè)VñÖ‘HlÇ‚WÁØšjGØ{ºùÀò¬çÝç#aniФ„êìâ2gþ1OZ¬XÎîÞé~¢M~íúõßø]Žÿã3_þ+Å•wþøsKÊ?M_üàj4 sNÂs_x/o¿~ŠŸ'ÚjË^çÙ+Wxÿµ‹½9‡W÷°¾¡22á"gýHL'BÑIÍ7@.yrŠRr&iÆÛšÆY¶!S4Ó8¡² I2CNhúUA[ÃV,±(ÎFªº b1*'•wÁÊõ1SJ¢q“Áá(¢äâ ëM¤äŒZPÁdÄxÊ8‘ª)FNW‰Õ8à½ÅûŠ(~J± êÖÒtçÁX¡ócŽ•‘ CÓ¿ËC áºb$çIÈYH€EIa²Í ™§ÿ©Ùršªƒ‚Á™ †ùl‡ƒ½ÆRŠ Jh&Q[PBHM©«1E³EQ6 0ŽÅÞŒÝý†fwd¾·¥*‰Bâx=²t78ÜéIÑóæGAæ‡ÜÍšmÚp3í|ÒaÍËýË×ÿoµ¯}õó¿]ÕØoäwÎ:²¯1¦bw·áéw\¥©=×7kb¶\Úi°]‡Ô‰Ê·4¾ÅÙUH¶1‘Êt^gÎJ¡L]•N<’ˆà­ýàÛhD¨í$ð V s CaR J=«(RεŸŒX²RHyd‡ `kèc¤hD¼›°—1*dMP”8–éÁ™œ•¶a$”L)y ™::UEÉ Âôµ-Š÷–vQaj‹\xè³älP&àê4B朡¶U¥çëH %(ZF….H]‘©©`"a]%S×ì*BV¤K 2\º|0±÷L^|ïk¼wÔÕô{ J?Œ@FÉŒq:ÜDPœ©¦Iïi뚨Xª®¥™Y\c©Ú†,}V®Üä¼/ÜwíÂxÄå¶àKàMרký“ZoŽÉlS¿d<}M÷"L1Hå8"ËõÜ®"9ϳðÈq÷ ¶A¤e3ºÆ|‰n¼ŸÀ®+„8)úE§¬¥"X)hIÄ4u^)g¶Q§–_`æ+Ê ˜ ®XJŸA£‰-¹Xj@LÀš uÕ±Ë~K}1[˜ÒȬr-¬úŒ·p8·8×b)´µ%ŒÅo™9OHÊ6öô¡V‚ 2Ùc´¶öš†ŒÐ‡L1…¶«¸z»¥›yÄÒp£…\©ÄA…-禬at˜ Ñé¡jêʳ˜Õ+œ®¦s"ª¦ :u¼Î Ö*¢…0öM¦†¤–Ãý*‰1Yœw4ÕÄ¥œQ͈ ³Îp~²"å4Ùtе‹E Ìæí¤‡ÛÉëœÁZ!!K‰ÐJ¡1Jë\ž+rNnn¹õS*jWq´RNg!ïXí\±ºÀu$Ý呇nråê>•¢–wÞƾÐIM1° à ìÍ'{JQ3Žu”YU±ÑÈf-˜éÝ›Î,óŒJ˜K R ú@²žõØ¿<ãàò˳-ëM †ŒTŠñ…a£ ºa'§IªÈSn( «0BúI…ÊÁ# †R¸ d 1(Â0ùÓä7¦5.Ñ)ƒºð#†ºª˜1á&#Š©ç½<ƸŒ6“Mï§R2ÆL¶xß‘‹`¼Á›ƒ¡¨e ™a3•ãÁÉ”µÄ )Û sqAÅ 8yÓ2öçÝNGU9»ãX¯#§Û *ˆ)³ÚúqÀ ÆÜ‹N¤å2s1ålÉ&2¢8q¤TC¢_„m!™‚ÑÍT¢’†‚ƒ±ÓO(ä¦Pòĉ£f³kÖ:¬­¦ö>GR¹8loŸa€’ ÅN÷陎›”„÷–z^ãœÁ{Ç|^Ñ™‰SÒ˜‰cfPÈ9£)‘bÁÕ–¦UbJ ¯‚ª€1Ó¤’^ §¶°Ø™qãÈ2® )&ê¶âò- ;ÖT Ã0¢ꪚ>K¤ÂCÌÊfH”²¢µ…˳†§\6œô™Ãz‚:è$<8Ä’c ¤‘uÚòΣ ÛQÙŒ ·ï2Fe5JQŒ@¹èû(:Pûo<"BbšÙWaKÏéI!åˆ4Óh“3'J P¼±xkqÎOž¨(ìì´ÌºÖ É&|m¨» =†õ8{¡ÙNiˆ|aº³"ˆ–©Üši¬ÝHaTKÁˆa6ïXo§N,Ú‰G3UÂûÉ£U’Kþ`yÛ[ ï,³¶Æ¹Å4™c ˜‚¥Öjg ¾P¢’Ó4ÚomÁ[h¼ÕSJIä<ÉT¹"q`“™ü^¾¶ÌͰZnèKÁ¶ß80…1 XjJ‚¹À¦×vˆc1nº€fÖrp8ÇVÂ:l©.ŽÈ¥RÂ;•I’c¨½ÃYO.a¸uÁn]ÓØ%7¯_cn Z æ’Kë$Fã–ÔŸóþǶ ·PIÅÑ-†Æz‚FbTŒ)ä|J «¤j1Æ]Œ¦[’M4Ð5žóåHU]°ØÞ"hš†Q3·ç œjo1Öã’'¤DæsX¥O…§õÊ”ò0¢”ÂdòC&ª" R`“3F=#‰Å¢ÚñXhÛÀ°ÐÈäñ0v:×ÁÔ(Î$(›³‘ʺݎB!d`ˆ Xk'V_ Öx¼›:`Pjc Îc[!¤ŒHAbL$ï¦ã¼%¬qäÆd …|÷ª 端ãG®³kw.jŒ@ÈEb±;.•,E¶š¡ý@X*íÂã]ÃiŸ©DðRHù"ͦ 6Á¹Ý`ÄÐV-Še{Ž—*U¬*Ä‚W‹c@/Î@Á¨¥éZN¥)y$¢Ä˜±6RùŠR&ÃÞ¡Š1e iåÏ…ÓLÓ>„îGšü;d"Y!o ÆT ¶±Xw÷¬¡®bÁVkcÈe*±Î9ŠN^´˜'¾Ê\8;ÆÙ”ŒóºOä¾­Ÿ,F:yÖJž¬?¥¥Lg[è…bPJ¦“ ëºædu“÷° …[÷ªI]@dˆjbÉsg­“TÁÐùšñ}á®À-·ï³¶–âz'€È§’'žj-‘¢KZ¿¦ñ5%O‡llcÆfHcâüxÍînKÕ:$+q£Ä1³·_Ñ-,ޯ쳚¢2%eÆ8LoQÉ䨮G¢Mh’‰05°ÖLt€‚¤i£PècÆ.&š#“pÖý﬽yÌo÷]ç÷ú®çœßòlwñ¾Ûqâ,Î$!$™2!„™  EL ‚vhÕ†ªTU¥ U¢š¡íЪšQ[µÓƒ¦Lf CC’ÄYÇñnßkûî÷>÷y~Ë9ç»öϹN™B5öK–ååñïwžïù~ÞËëƒï,‹ÝJi–K.…õX_ÛÒ¯¨ŽfîØ9Ñ༰ZФš™7•T1ІWм:´Ö“=#þáö8†@UÂypZƒ5Sv?‹_é41åÉ@7ÌæZÃñQOeC©xmñN†ˆ”ͤJå¬V=}n™F˜üÏZ+V[RªŒ!¢UW©ÒX]”˜¸54F3ÖÌ6È/³Ÿ¤œœ ”ŒV‘ív¦2†žM?RJáD›¹i©'eb©zŒÊZJRÚj´o¹ÿ'Ù‘f Ëy˲ι´ÞbÀR„Uo˜²…XÀäJì3ýZáÝcÄÒH93nã6±Ýú­ˆsÀvwf G-š>f¬ k¹NÆnÊ^Žä˜I!³ÙŒl·™¬«DR¬L„ EQÒæÑT °Ø•/z½N¥1VSKAPI”dwÙ²˜y줥µ³–FΟ+«8yrÛ(ªª(´ð´Š"çL?Œ„YD£BiíäùÎ2=å¤0^㜧õ–¢E£òÂ{¹d»lI¥`ª¦ëމa ›e,} ä"U/¬x«µÊHŸâ@©‰m©4SV}ˆR¶xÛÐ8q4ªƒYÓ’ó5T†1³Õr§r&²³ðôC&êÉÕ(“5ÕR© 9à½cÞ5ŒƒA¡hÚnª°Ub,”›«Õšq5RFAh ÍL¤– RéIY2eÚUn½Ks‡7˜QQ¶J9kÖ¶¨a,i W6‘Ó;†EÛ¢âh›Æ-I´¦`}‡Àl6uô¼¡[vŽ2õßR ¤’sFÅ™¶P „-ýz¤¤B`6o(Z± TÅhIl†Ä˜¬(ÑU“«¢sî³FîP%Gr–)s½]£ÉhÛÐÌ˽m1gÆ2sƤA<4m¡fúqÍR—L–¹HÎ1gV‰Ô ]¬Äʰí4²ŸIY{…Ó¯WÌЯñÖ[“™õÃÈ^Îì8E#g/?ËÒŸbf )jéY#ŠJÓÛ¼Û·4Þ‹"”̘œn(¥2¦Ä˜ ZE‚Ò(µ%Åêú@¬6ô«H‹–¶•u#YŠ }£Çiò4P¥Žìu3Ú¦eF®­Ù)­,}Ñq¿SìîÏ0Fª¤dÈÛLÌ#q§$8Ú®c –BÆhq ¹jZç_{åmúDÌ«*dÅúxd™±æ‹DÛ8ª·¤¸Åƒ¾Ñ^v™~)M¡šÊĶ)åÿj ËR‚?g 1ÐsÃ@WÔ"Ë76Ç‚ªQÖµTIŒÆMA[%¯5*Ö+p¢;¶ÖJÑUC*I,##iSï ®vDã¤6g·äÆ’žš*%†¡x{I[(9ˆ˜JÏåMåì%8˜­é£´Ö[[‰ý6k†“÷±Þ>Ǭ9५ÇÌld·9`3&BÈŒQá«fé<~æsf3ÊHKä¸Ï˜‰`WDÍ %QrcéŒcw¯{acY¯ q”¾©ô9’dØ3—²ZJ )bUt1¢ëHÈ•ãufu´’púo^«™e“˜›N”|kXt«>1Ä‘kG[´EK­r·#”\q¦`µ0¨´³Ì¼eÑx´4-¸v9²Ùö¤!Ño#ª“(K­Z‡x¾5fc½Š\ßnAçé•SIYýåzšî{²‰Œê†ž C¦?ˆÛJÒ=l(.•´Ln2%g”—×F¡õt&kƒèµfʬ±ÅjË0œUPå¡÷3X¯Wh ïÐd–ó–yc(1A>"ëc¬VLP c¯ÄÝüGg.²-gùÖÐsçμ: …VId¥….c ”ª [šNSr$ÄJUäÁ9Øé¬´‘sÀÙNÆY•É9àZÅénNŒ3¸áúzÃPÓd@È=&æJµõt‡J–í:2ªLq" ÆTQ¹¢Œš1ÉkØ9‡N“~_©H‡/Ž•˜‹ÜñÌËU”} ­Ä|-%ãœA)ÇË8¯Äv‘¥’5“ÿOqô-!ˆ  µÃZ‰;ë°Þ’Ta3ޤÅ̯ü…ºFd•ÿ_ t¥ÐªPJžìœ‚s–¶i°¶™&ÆD,#F{ù9È8[©Þ1†‘¥yTi œXhNœš3ká`¡ètÇñ¥ëì.<ÛÍ–V¡´VÅžŸÝm_ϰêBù¢X¸-S¬Kˆ­N[rVôbûcJaá,«"+CnüÆ)]I¥2Æ‚.^øQeËhĪI¥ ªbÙXfÝŒ±W_(m7yYÚ¾Iݸgt®„¤Ðmf •Z$謅f;Y)âöã ›¹ŒAáq*‘UeDîw¹JmK,*ù’]µxíÌ3ô…hjßѸ†â*7¹†ÝÝ¥Ž×нa¬¢õ†È‰~d¬•×[)X2‹™D‡T“ð"þe=#:Ðkº‚u*ìtÿ_ tC·#ú3¥J8Ó+yøSJ(+Ÿ_Œ˜F‰è¤À¶ˆ1N¿ ™X W¶ög™j©“¹û„afçlV[ Rk-ö¶ý½zòÔ]¼òÒ‹@f豇µ´ŒÒh Ek5¾ñŒ5sxuÅõu"é2Y z"K$fˆGjV¬†‚6Ðv£,ŠL-"/¬®¯Ø^ï)ìÒ ¬ÁyOQrÏÐY>%eÜܲ-òÏÖŠ4~Œ¢V±!œsxc؆‚Ñ…½¹ÃZÅ€Ô¥JQT…éP$¹ =ýu¥-³™b6ïhÚÀg¼mÀkÚYÃ0lÑB(T0¶R”Æ(G×Nl„šEÒ0Š\ñ]RÆPÄ@ßÁöø·~«Oß̇?úÿø1à™‡9q±gß„óŽãa¤u0_6±® ”ü—èJ t&þC‘i.E7mç«Åc a „Ca›BFÀýX‰¹gÞ*ìÆ`] 3‰¬4¹$J±ÔZµm´1·»Â‹³ÊÕÁRW•*zW>o N{TÔè¢û@è%A0Œ ÝH„•z##5kR­Øi<Ï€«U Æ@.Ã@*‡×¶„1Q†Bê Æ[Ú= ­¢ ©’±˜¹a¬I¼Æ ¢Ô”Ät–ÝE'÷¥¥LZ+Ψi«W"¡©ú†E¡¨Y; Ùõ\мÚP`=h#%¥Æz¬µ¨Z(ÎQjfg·cÈ7ˆËÛ´NP圵H£;çø3ÐuYpb¹$¼áqþ×/À·^†Uú»Žÿìvš¶ets ÿ5 tuŠœCŠ™i-¹&R§,¾è!Æ>ÊC3% Þ RQz2ý«œÄëíK[+£U,[CßWXBÎÞ®.}³~â3¯òú‡ç\L‘ÞBÓÁî®a¿ÝÅê§5KI…5ÂD0“‚J(U±¦QP„Å`µ&d1mµV"Ä: | r ¬¦Ø±šÄU£3”¾Ò(Òš ÍÜ¡½è(Ú”¹Ñ”pgÞе¢ÖÀk‰ylŽG†1€²xÊ)" ]±È¦.ÆJ…¤a»×:²®Ä2Ð¸Ž’=!n1Z&F´ÆZÇ|ÑPI­qÖLØH%ƒAͤ$Â4–?g §fÍpð*jÛ1|õ»˜}×U¾øÔeî¿ Nøøcð~u†xx‹Ý]1~Sú×6ÐQzÊBhJ. ã@H ­$ZnBšßSÙWÊJò êÙ=5ãú­ßb>>B6•'Èqc뿲S!æŠVEä†*nV¢gÅTP*a”'F)ù*%-ª¢´Ð ½aÙtXoi €£%иL?£â@ÑTeÜÖ«¬5ºÞ´¿ÏïþÁ+ì¿ÛÓ·íﲚ2Œ¥ÜÄ®2“Újö÷çoŽ4£¤ IDATØŒ[fNѹŽÍV1„žˆŒªHEM—dÈQÓyÏ´°ËçB€™Ï[æs/§¬8yêÖx–ËžW^9S•“;WW™P3ïY´&‹9ÐO8£™(ç|«iu#§H–ÀÚaÜ2l­×„ Þ[öN.؆ èÊ8±¨Ž>Œ8›è¼Ãê5ÆŒ ãÈñvª²lZ¨ú@uš¢3aMä"LS=Å‹‹É¨ÇÜý$‹ƒ _½yÛé‡yþèÛüêÿ~å³ÿ%GÇð³ïþç_úCΆÂɻϡÞ÷<ßûÆÄ“×¾ÆøÕŸ#èLãôøÿÊ@§2 £ eVP(#ü¯TÈZ’¬¹­X¶ž¦š5ÐXG«àҹ˴Û·žðuî Ö·+Œ=2¿üï½ãûŽKóî>%®WÇæbåôÁ´f3Œä¢¦‹ßôC)ÑA„£h™x k Ö8VëÀ i¨Üøµ.JûÌØ'Úֳؙ±Ø]°»7c¹œÓts¬opγ¿·#kL }Ïv½%ÅLM×TP¯‰92¦HÈè[‘mÓWÒB€™œZïè·™íñHÉŠÅÞç5!Eìdä~J0®ò?}ä“ü‹Íß#Þ Ou=ÏE~ü¯d.…ÊKãó¨^фӴM÷Z OÊ…lÓè·I’ÁšŠ57+…3žY3cÖt8Ûˆ§kìkÝ­äu)…—‚ÒÐ+ß³|ŒŒ®0k&v8¹ëðÀÎrvUÿUë}J?ð¶›@5ü£?~‚ÅÞ’Bìéa,X›1ÓkåI¿±ïÏ(ÅbÖ°™jñÎ5xëYo4RK¥‚YB7»'f´ /¿9ÆâÛo¦´€šÜt¢xr¥²Þ¬ƒê•xzZ£UÅLÚ\•˜ÅhP£ A)jÝB ) Œ£1žÙ¼e»¨1Ó¶²GJÇdÌE¶VP3! J¨Ÿê 7J Z\húQ¼D´(ÜšM¥µŠ\àÈã0l˜Ï Û²á©KÏñÆ{œ§ÏücºçÃ|ö‰Gù{2o3ïyôêüð÷X†_„£ü7Ÿ†ç.Á›ïºÆ'妽GùþÍ÷q:=‚ñ² O¡)‰NÝjI4hU§ìš¥K­•–ŽÍcC”qÓ€Q•>¤QJ½ÖJ-¿Çé½Ì^íh|DW‹3Ææªƒù¥ŸùžhSßåg ŸüÊKœº_“]%gOŠŠ T‹VŽ…‚RjbŒ‘!JͪSknìúÓl·QrÛÆàÅ;Gc µøN¡[MëZÚv&"ŸLÄ„4’Ë€–èc8:Þ²^÷Ìçí4a¢¿LÁIR–‰TëŠÕ±1È„—«¢’b"&i©Ìº–næ©Ux¤®qR&˜¸òZË6ÖR¥X«ª@àÊDxqzZPÊTž¸q(+Z§Y[Öã W‚¾á}û,÷?tÈ×®?Á}'{ŽVÏrçc¯ëø>ó$§w×ðó¨|þ9Í÷Á'Ÿ†‡o[à×?C†k‡ðw>õmøÜ¥8½Žrî´ÄŋઔV4ˆ©â­Æ\P7š;E§HцR“JÍ= ]XzK #óy7Zß~ÆüG?õæŒqû]ùôS‘½[¼l¨2p8×1Ÿut^E›ÕH‚L‚L"¤®X%aA¥¦‰0&òPh›†ƒÝoDÙÕ¶b¼Æ»Ž®í°Î’s äqìÙŒ[ú0 •&ŒÖÛcŒ.Â/(å„o ´–¬Rh=EÞ'PY©²\I¸ p"´Î3k¤%l­¢9I?è“4VTªiÒ™ *¤*/Ɉñ(/\6<öØj÷?¯^ƒMWá®CH¼‚« اð+¿ßÿøÄ7À4rm8Þ¹²æôÉ3^žáÚóÀÓì‡wg¯ÒÆ›igŠíáÀöHQ¦BŠ™Œ©Œ1¿v±2k ×=´"ðW_ß»~û1ñLë P[ø¾—à󷃟Uþ뉧ÿ»eÍ|¾Ç¼·lÔ5Îìý»ý}Œ{WiÚ[1×Þ.W”qbjõCV„€0½tÆ[HÓwdµ¢já˧b$˜ÄÈÏ%cT&éÊh5K£E•W%/-µoU-”xúüyRn¹ï¶“ I‘‹fî¨išÎ`3¬QHÆyÃÉåÚ@*…PHU¼èl‰Pk Ii*Q Óòˆc¡ñš>€Ò› Là\µ %ëÒײB­Qµâbîᜡ«d¥„ž¤~5óB†‰€¶²Â™K5 'Z¶CÂÛÊlÑbŒ¥m<Æ[®o Gj–ü’±6LQst¼a$ˆ¨½ ¸m…EZóÕçÿkÖCå{XðÒ¹-—×…‡î„ç½ð¥Wá©Wà‘{áѯÕëòz=èÁÂ#¯ÊiòÈEoXì´l¶#9Ù“L}ëF{bŽ ZYro ¾GAhªJ(2ä’É:1¦ ¬%¦¨Â°Í/þÔÃ,e|÷zx…;pnŽv•½Yò›Ó‰õØcÖjˆ¬úHc¡ëZÚÖâ¼ïcªbr–„ª‚¤®UH(! £ çJœÕ¹H–ˆ –³Ô–œqxÛÐN»d”*X§ÐºL—m©RM)RÖUê3iLÄI½08»Î²ØñÓX®i¬’5¹Î¡­Ãš‰¢l$3îœÃ{‹s ÖÚfâ«+Å΢Åh©Ô×ýjËñõ-«»¾ÄÉŸàwó'Ï*v›Ê·¼ ƒb×]âgÞ÷ŸpòÄ“|ñ™ ç®ÃgÏÂ/@½RÙ|ºrÏÛgäai#¼ç4.=·Ÿ‚³8HðÆ—á¹›á‘ópfwÎ*/ݦxÝ{·¼ïÙîšßßäÒl#¼rNܺáÚ™-åò ßZ{µZ¬Ó(r©Ä¨XÎ<•B*Eòø€V–Æ ãµO‘PD;,¥Ðy…3ШBS2¾xB4tŒuÖ™/ØJõ1RªÌ¼" †Ã1PôˆM¢N^O¬®K¨NiÑŒ®mo„êfS¿ß°h[ÖCfˆ²z¨ ¿—wà]ïõ¢†_þg•¿ý!ø_>žÜ…½%¼ø÷+oúÃ_‰ ¸r μ<ûϵCøúKpzòyxú1°§áswB …WŽÆh¼÷ôc@;Y»+=D%0Ø$èèR‹<èÉÏ£€RqÒªr¦?ɱ2Ÿ{¨0ô•§¥FJÎ<¥nlˆ±<—ŠQ†œoñ” iÄE‹5N NâhÌ¢—EI‘æcnùÞ¯ñ±û:ºãoñø‹¿ÊñZ±ð•½åÃ|é™_ãñW {3øÄ7¡iàLzÞ¢ò©K†oýê‚S»;¼í/q¢$~ã|åc÷ÂÇ¿ÚÉÏ/À›¯À"}~û `œžÃí <óÊâÍŠûn†¯Ÿß{$¡ŸŸÃûÖpú]‹/²ÝÞÉv»ÂwŠÆµXãˆ!HÄh¡èû©êf䤖IXòpm£±s–sËåË•£KG„ir…bEéZK­ÙuV’l‰hmV´îiö ×CâPUN*g4LøBç-Îú´Îì-†)TW‹T¶ˆTý‡KU`5•ÕÌæ†f6ÇY/[Q­è$i )`«Dn†¤¢œ€Uvj-‘Ží0Rl¢ë$mд-¡·^Û’£Á· zZM¢j%QQ©`§(ᦜ„Q_§}=q$pÖ¿6y¦ðÞJÀÀè×|Ïëö¹ùæ¿ÉÓgÝü.^ÿ4?û½†>¾Ä™k·óÄÙW¹~]±‰ðž#¸÷Ga;À?ÿŸ+|â"Ò­ ý?º‰'où›Wyülä;áìUÈ ®Îá 蚮ȡzî2Üwså¶§*ú¯+(pÓÖGÐíÃÕ#¡WSa{¸2^Æ.ANìb”çðZONòùvs‹jÔoµAéB®‘šC¥±”qµâ[ƒÍ™ƒ}ÅrfDÓÊ•1תµmuî·júMÁ)6çƒwÕ¬§‹µ’¬N©g-ËŽ“Ë'–3–-{³ÞXbNÄ’ÉUËQbÌô4%aŠ×9ô2»Up‰~zêjÅYÞíœíR­0¬÷t¾¡õ3Œ±P !)}¢(JŽqLÅvm¤:öÚÖ. fˆ±SaŒ‘~B`‰>ŒÄé˜FR „0Æ‘ívœ ½rvû™aûº?E—J.ðüÕçùOësä`¹o7ãÜíܼ?ã#WþîOC,ð]ø_N¡÷þ˜&¾µÒ?8ðü뮚=:oØ{säå«ðâyÈQÚ;ªÀO~@2ùL|2øÀ›áÌ¡âhT<ù2,pmßwN¬áÇÞ Ía•eçcÏÕˇ¬®o8Þ.­SÏlÑàqT®^Z1«Œ0Ì(dI™ׯ­è·™Ù¢e¹ì¤% ¦šª¨T¥YgS²îÌÏþðC?ÆüÎãÈg¿2â­gqkËfœ»1Zš8ZÓxÇîL–x[+ôþ•³\_kž¹®ÂVù«Ð¯Ä–´@×F®Þ¶á–¬1Í݇WœxÜr|gâähž©|ùïVn{¯æ¦·kV_[²ßÏø®à~ŵ¦°7jVŸXpâ¼å¡&¼C&Eí›'ö8uëiön:ÁlwAÓ68ÛP³¢u 9MÉÑ’Q7ö5´|O©Èçë,t¾Å©†¹5ø¸u/ÑÍ<ëPêÜäÐûëliuM]¹óö%×W»\>•õ&aB`97F6c*#•R5yiU†ÖcÖÌðFM.ÅÁÞœ¸‰lŽ7TËýNº†(œ6Ó†T¡ÛUe¨5³Í²ÐÒ1‚ÃD7 )ÑXK)U*±T/’E­ÈÚîRñV¦Ï0V\ãè3JÎÒ9<ˆQ4;m4JK'‹4“0M%ZR‰eZêžå’3¬¡ÏÌ–™ùdU8ôo½çÈ®ýSþþOþmÎ_ù#.]ýî¹å‡xåì?á+O~õ'áï|\¬œjá»ê¯“;ÔöDA«oÜ<°»»"ýÃÛ¹õ®‹®áäaåÜ¿0¼éç Ù­§¹÷,·üÈ!®Ââ¡Ì©ËŠƒÊ™Gá„­<ùK»twîþ¥-WŸV<ñk'NZöþÖ—™}ù^–]Ë¢ac·B’ ÚX”)ÌçÊBÑ^qu*±*‰!ÍÛŽ…ÓD7Â8@œU£Um­JsW¶ÖyK0BÞU-¤ÈÙ—9¸Icvg¤0½žTŽ;±or•WIÕ…” £V”ºaÑv¤\ ZÓ2›·lÖß Õ!à 1ç ©„<\+c|O ²²ãFGÕ Æ2„41ª*Þ4Nâmê:ט# ¿´ììÐúFʪ±°ZÉ…|wÇceuÜS’L±ý iѦ‘ÖŽˆ^ÒV‰’äº=Š’§_XžýÂ[yæÂ?àGÞvg¯Ãñø"{§áÜóOóÜËÿœßù&|ô24+·6Š·nà©%,g°“ay¯ÿ\îàë·Âø*ÜuçEš{ tõúÊý?ªyî‹ M«8õÎ5WÞwÈ~MÊ ¼óÈ ·ŠsW+êaÍ=o¨˜wöäëšõ3Â~7Ê2ï —ïý û—>J6náèæ3¶›ïdm…?A_s8ReÊp)J‘,\ÚöèÑ!ÆթƪÒZ5˜ÿ§ßú×´.ïµã°8Î^ÜpþÒ†Ûn;@Ï<ýDˆ»± 'e)žê©þN­è*"¨TÃcÊÄ,l©ù¬£ë`1:c½cŒIöÞÕi󚆤‘äFmʪ:í$‚Q­WlÆQØ 9 ¶HÀ9+®D]7NV‡ìît²«Ù(RˆZ×µÔTØ®q@ðE‘£¦q ËåŒÅB‚}/?‹ë÷¹|ðuni¹°²œÞÙòê…?å¡~†W®\ä“ÏóùoÀO¼š…â ÿE¦tн;ß܃;oçÎÙ]8\¬Á¬`³(\¹9ñàBsø9ÇùÏ7l>4póáŸÛl8•4Çú Vù®pæ ð®ÙÞxÃ;G~ïË`ºÊ]oÌÌÞ3pôÀöRåÙ£oœ9úË-ÆóN¾ß Ö)\«‰¥N˘8aFÔ úâ­a6-KWNÍ"í¬«Ñ´ìÛçÿ´ùùë‘)eÞvy³áìñÚΆiie«‰Ed~]Åvùs¡ºé-kM$\SeÌŠÖzfM‹ÕBCn:yÕ)S 1³ì™)EJ§òðN¡º:…êŠ0 ¤-"Š½Ñ cÔªKŒQXM¢ãIü6ËY'ð¶e‚,[7Z寧×4x¯ðQš«âøZO) ïv–KöögìîÏoùþà¦Ü YŒ"=}ßš?ÉO½÷î<ýäzÌþì.{á³<)ó×Qüo_€Ïýiâ‡~¢cÿÜ}¬Þz…ãâåËðCã-wÃïƒ*ß>­¸>À³×+w^þþžÛþé-Üó xi]¹éUËÁ§öøàÙÃÝÌÌÁQÏ^€‹Gðøsàæpå^¸ ç¾m¹æÅU0¾2¾B®—Y^?¶› “72¬T¥0N>k=VkñP­£1~zV–‹ëjËÎÌÕÁÌ뾘yó¨ùwü Ò®yÇÓç/òâÑšíPÙ\ÍôI1?X -Ìœ„Çt JiÁN¥ƒ×ªBE"½5Ck]ÓLFqACˆ•ãuϘÓíâ”ÑšZ¨ ‘n7§©£cy#?έ7o°sçV¤]âÂͯf½ü.{®rÕ«\¼ã8•³2‚óç3Ö«ã|úËÎî2Ýî½|–¦9Ä™¯Ãó§ñøéýTMïøFÐ_Q<±8;‚¹iXÃsÝé ¸˜’ IDAT»YbØ<>€ '’ÞŒ£9Þe}ʳ{} Ù”ä•âÄAE¹:§àä*tÒ8@U:ŠFS Kc˜\] 4\¼v3ˆïtØ8ÖA”9^F’&!èôL;ºñ/¾¤2mHLB¢SúyÊ Û%ËëgHŠSÌg‚º·…^Ø$ýLóᤩ'ŒÊŠÜ8†=ÃâæŒù….½NÆ|Hžä1‡$U”}#þU¨Î´gWCYlõÄQÙ&N²§±`iH3ÈŒÁ(M¿kXXè³i¾Ïlo@""s\IÝòB%ýV¾­·‘_†øeµ­±q¸ÊSu¬¸·¡´ÆV1«å–GcάWœÙ¨X/Ê(7’,K:Ê B³ùÊ¢‡ Jt™ÎÇÏÞMí==]³1: Npà4\²UpøÄÜõL… P"Xœ¾…âád¨k<Ù 9©5ìü|Æ™&°gk`éœXcgÀYÏïvßËo|€ë÷À+/‚M$÷+Ž|]¼çê})çí šv ß^rÑ;kÔC3ìV û—à¶+a·‡î×_ ¯¹ ^¹S°{s|‚½p :bOÃ…??få™ÀÚò:§O®²¼¼ASÇüûú¨dÒž#­µ€‹¥-[«EʆS+§YZ=ÓJ%¤YG¤~ª~ùç^wû Ë£kî9àè%ÕX0) ýÙB´¯¥9§Êu60Ùhhª6 AãðÀU‚L+º]Ra’ÈåÔ*i€ !¡“g‘AÕUôú’Ôw„Ð4µ'Øh3Z`Tñµ9Ç”¨ÃSY¡p!潈„c%¡½µÔ!¶j¢%¶‹œw±Þ…Ä Gí#f:i=‚¥mðÒ1ºìKÜvÝíx»ŠÉ8³ò(ãçY/Eµ„ àù“ðñï >ÿ€eláw8onš3g¡(޳,õ0à^âà³)úm5£20/æXz¾Ææ“Áþ“šC_~ˆ©K7³tVÒTœ\#ç{n{§£iæ`Ðgðì€ûÖ׸ ¯ðuÎúÞ¶ŽS†—ém‚}GbÔyç4¤VN N5ñU‰‡£c8UÂÕ?´Ž¡:c4FŒR¤‰A©˜ùÊRç&íR;x­UwW‘¹Ú¾KhOܤ‚Ò{¬m«a>üË…ñb]ÍyAždd:ÆdÎe²„ ÜrËf„<‹Rž=ø7 Ë#É]áÔHòÀa¸a'ü_÷Àê ÜúÒø%Û<oºæç9µò5Ž'>&Y{Hc®·<ÕsìÝ+8ÿQCy%¼üÔ…ô÷­ság—WÞØc˜M³~¢â¾e¹†s0¸¤"}¾¦yÝqv_·ÆÝ8º˜>â,¬2uí:O!KàôlÔ0|Lsô¨à¢Ëg-”E£GO tOHÜFŸ¬ŸÓé%1—h¤U¬‰áyQ ªeÜÄlTcNoŒ ¾`¨›04: ÄDd:½WK&! c޾PqÙž1A&”MÁx¥¤ñ ݼ¡“tÑ*ýÿª“"îžÛPœëüÅóVÅŒ”jwvZE#•Ä‘ešÆ œ¯9×$µÞS× JH4žÉZlæ¹Æ'Äkéq z’†(>ÂfKb"AŒÊP2h»I†ILÌ[µ¹{ë=•+sšLä¬Mžgû–Wsjõqú«$©äîgaiÖGpþ<¬­Ã7•Ã7Ÿ´ ÒÿÊ›.¿‰Z§Ìÿú‡5w}I²>ëéé%÷§ Û3Ä eåy륛ÙêjÓ„­Ÿ ,þ°àÁSÜÄ¿†PKŒlxËk!Tã¡ã,~ºÀôe&ûcmL*˜-àþ‡6¢Çz)$&Þµ‚å1Tûk¶dk 6ú¬¬ç-1&¶’ëZ\¸|Ñ´Q‹ØÇK:iNn Jœ­G~Jið ’&HpÒÕhox­Šçk¼ó¥eu\0šŒ)Š1eUî_…ê¤Vm¨. ¢ÊŒ8¦‘tâœmÕtqâ-¤m>>-D|꜃³56Æd=-…O¤"23¥BxpuÀÔš¤ÖˆZ‘ƒ2Wéeäí¯í\ZÂ;ßžB[º–q÷@PW†»î}iú>~?Ӄ˹hçOÓ¸/)j˜ëÀ£GbOÏ3|.Ê*Ïlþü›šûž¿‡zå»,/kžùŒgpTrÞ¶øÔ̶yž{{Åj]säË5Ïo,þåtÃt?°V NHöl…|ì†àÒ_ª9~:Fi= S^õrÏÅç¾÷(45$®?7‡W 8±Ç—ãÓ´—ÁµÂU€ø*ø Åd‚­jl(ë¸xwm`sR{ÆEMY8Fãñ„².Á²©'˜éh‚raÍÅ@³Dß8©µRjc£d´6¢¶]´NÑ"A Pº‚zê&bo¬õ”ëÎ ºÿ9T×&/ãL!Ë¡º(z’1Tçj¼—m¨®FYþÓž¡íÆÿ±‘‘jlÞÓŸîœ M5SÓ]šbTÒ¸&qé-AøX‘"ÂȬÇ !U© d)h¥Û×kCn ©95š¥«4,cer„ù n`Ë4Lu~?°x£Àþ°dòexû•šow-Ëpǽ‚4‡Ùý<ì|ƒc{*8£á;ǧÅî+÷óá©ÿÈ{žýc~âSÿ‘ÇoÕ|û‚gß÷AÞS¾—ó̓û ¶°ç*Ï#Ças>ü=¤pÕ8¶óYo‡7^ü0I ;‚;Ï‹¥ =†­3q7yô,'þ?©S“D¤e§£éw: =Ö6HáÚx4lTVPhO§Þ7¹%‘Pz+BO´”ü@X”q›¦36Í èæ=J§é§)MðT.‰R*ÆM‰×ž¬£‘Ò<£. +gÇm¨.;÷þ‹;7"8ŒŠ±¦y()_<û4uAÓRùBhsç>Ò€}hZ£¥Œ®,’Rñö87?ƒR “^Á‰“§1º½œqYáƒCQÔe(ê)Y¼[à\´Ák­(«øª”ê_.•ˆ‘ebh~v7yžåuXË»&†ùÚ2{0å@æX¿Oqy'Îëž»­â¹c`úÝ’m›É ¸å”àÁ æ5|cïˆ3÷óÊc²?=ÅÙu˶­’_|òc肻Ʒ|Fž; §»pú$œ–ð¾7Â3K1ÿ ¯„÷}ÞøJ8üEÐ^~V»px¨*AVµ`×ìý]CØcz~šÁô~¿C¿›b½¥ÐhD<Û Bùˆo¶òËaO…^”1m¤É¥½Ô)NL÷o¹iŠ>PG¯“‚ÒÎÐXŨá½£lYèŽX¨„˜2¨Cuç^Ì4‰>4Z ‡s‘4,â<¾,ã­³i¢VVŠhÜ ¡ÅÉh‰7JcÚNe±ª%E “'“qì)âÑZ‘½à=ÞÆØGS Œ tR»’Ú:¤ÔLõó(1ÐYA4#¤µ$ö»ƒ­Ó/áÄò󜿾'_ÝðT)`WÉžŽ†×U¬/ó˅ö8°Ý²²g7[výuÎ$ƒÅžØ (Í_¿›ß™¿‘çWŽóæ«ãm5K÷ò™»Zǃö|¾ñ_–bÙõú=ð  —o‡ý§áª­ñ¿ûÕ‡á¦|òRâf>D7U,Æ^y¶.ÃéÛ&1t‡=f¦Ù²¸ÀôÔ NBÝD¹“Ä#ƒh÷„:­uEížíÝ0Ÿ:‚ €GI)‚wV %½Ž³š§^ð(“@cIÓŒºt‘“ uc©ê¸Ì*–Ò4C„ø“Jó†ÄèXao÷ŠJ¨vof•uQ•$âÁP ”¦þ†x-¬sèöv˜hC–FyA­L¢IuÚö ã¥i¡±Eц(ŠjGUEÜR’FWµ·'¾¦ñH醽€ó)5ƒ¼Ã­×ßÊ©Õ'H’÷ôM¯<ô$µ‡Ÿ•åà™.»7_Ň¾ñ}ÓldžÌCï°f×^Øæ´QáSkpáïNè+ÈÔì¼Â3–\ ö4»ùÒ£÷òì!Áå›ã+ë‚ãŠ#;©‚‹·ÀÓGAz \³/ œ æáð ¼ü"øüýðõÝ`b”p .? [Fppüq#!Sý>3S}ú½BŬZ¢uäÈ Kž™¸|&%D &X]ÓXGÒQ¡ ¥sx­‚ Nk_*Ô’8Z HÊ5ziEÖ§±eh-"²¹ý6çiŽW#ŨD©ô_…ê\ïc;ÄÈèdiS´8 –R½ÛX‚lqþ!¾ ∠ʖÚz•+QÎ#dáU,Zº¸ÇH4‹D IQåÁ(ÊÐîÃdËKõ•„h"«*zNgõ j} ’«Ë0®Æt³À_ü”bzúzvnRlŒNqÁ´â²ípÏo ¾öÝŽfàÇî¨Ù¶Uò‘(Øæ83‚Ž öƒ[¯uTŸLЯq¸)ÇG?ò÷,lžá3+ÜyÐWs޹ƒ¾ót›ò&>… /ÆCÝ®m°kFˆ/À?_kbÓLUðì <9Onåà‡¶ÂRð(ÃRµ¬wâ-P鄺)¨Ê@žÇô®Q£R¦8_bºqÛ¡´!4%Ë“’Í]OÇ(©ƒ9%5ÚvnÚÅúÚI¯¬aTƒ– ’A½¨ó"¬Uˆ«ee)ËšrÜP—–¹EA’ä8më΃R1ƒÔ"¨˜VhSÃÑ ÷zMÑ S…6šà£çE x¼h•U| †(¸œL&èÄ“¦çbBUI…L%uAZ²L⚈ä¡Å¸•U5!'t•a&ëqrÍb'«ä½-\¼å \&5}½•†’±]çÙcOrçO²¡@XMÞMI³ ­ 7]4ωªÃxÇÝ,ôM ? I ß} æn¬™¿×P½Ü±í}õ™šô!AÝ ÌÍ|RqÕá„Û=wž llw‘‚ãanMbÏ«ŽÅdÄÃ)|wì; ûÁíÞ°Wá:ááéضK}زLá½á­áù˜‡³¶¡±Ú”jc胮3Y/H3M§™RFUpU6 ŒÁ-ÀBé(‘¨ßþ™—Ý$|}³¥áL¾›•Ѥ4¸Ðk¹S‘W©¥‰ù·äHCjrFk±ªÕä‘.'5uc™LeáqNbO’ÆGjðÿòÿ!8—‰WGÛ8І¦ŒËe­Í‹4æ( ˆúÜÈnНÖÕñˆIUE Ÿõ £(36˜c†;5 ®‰eŽD‹øƒAÄ[¯ õ ÇøóXžá%W­³ºú^IŽ-¯²Q¬R–G¸çÀYZ[âéÃßâ¾£ójÁù·ÃúwúLÏÍ0=7Çìâ,ÃÙE®½ÆrËžCœ)%§×àæ+b¡²°6†cÏÊì ½¨yéE)k£šmËîñ.™·ˆ}šÁ¿¯9ô‚`ûiÅ•ûßpËAÁsƒA® ˜¨½Š“y`jEòÔùŽ N =Gz`ìZ‚=?O- ªÅÀ¦[Î’Y Mcà@HñâS7¶—<ÅÈÒT.®Û´BÊ@YTˆ¶Ï&u¾¤)u3b¾Ó}TK3컎ª%‰q òY:ÉO‰ÃÙ˜y~qÂÕVçñ'Ù0a0“Åïÿ#TçšüÏ¡º¬ !P7rl±U©±!òž qeœ]…€ 2¶¨º‰þ£ÒJ¼ôúy–µBÚ©:¤‰¦X«IÒèS¬‚¥®„H% XÖü›/ÛOãzø ù]Eãñã×Á‡îÔŽpÝEšƒK°>†Í5 4YÒevn†éMCö?{†W¼Å|]s%ÇÎú ì^„ ŒàkKMàºë“5Oø-‰Ú9Ëmþþê+wqý•‚*H*<;¿§¸¥Ò =û•ãµ+îÛäé^»gàêœY‡ò5–ÿ宄j§à2!xìÏZ,Ÿ$&=L^ = “ ¬®ƒ:¸N ‚ðøàéõú(C™:tg2ŠQÅÊòY"ÑÆ0.+voï“w;·%UÞQlSnh!Љ”tX[ µÒøÔJ$%®-‡Ö8§®B‚„qc1Õ„€im Q¡›* 2Ád‘w Ú:QQ4 ƒ¾¢M¯ñV¨%J œ•äY—n.@ħËx£Â‡’¤c"Ÿ]ð©•aÒÄ6o¦Mdféè[VJbZh¦sE\E(­=+£‚¬«h*ÇdTÓN¢úW /ØÇÍWO±tò.¶-¾’ÓË?à‚yÁÒªäCß‚ŸMxð%5÷<HE¼˜\¼ <íIÊ(f†h1Íïú4ï¸íG85ú8[g4ÿøxýu°ïNÉ›7g/¬ùâ;<·½=C,HŽO–ùÎ]/ð;¿òþî«_fÇÖ [{ì#’{îõÌ_ë)ÞäYÞ ÿîe°c*Ùî=‹SÁñW4œ7;àô¤6Ϥƒ+‘%ÿí¥Ö†+`ÿI·?†ûŠ'¨Ø'4IN'3äY¥2c„Œ-ŒF5YÒ \ Ø(Ñ 4 œB É K‚6]£Ýd¥/\ApcjQhÐÚP7¾e—ƒ“Šª EDCF.¸ 8Ázi1 Œ†ºÝÇÉ6o‘d¢5”*ô GšÅ¨J|ÂÚò!%¹6ô;ÒŽnÉÇý]Ô*‰ZØÙîBƃ¶ 4¾!5¸>Ð.š#‹T)u­˜T5*8TˆÚÖÑjÁx­âAÑÑO@jO5“w¶“d;•wñŽ$Ož¬üß{/.™Û0,žlta¬.pÝO¯sºð¸ç6á]`öUpÁ…c^8ûF–Ís†¢ ¼°¹¡)%{$ì¹Ön¬~"Gä/í;Êûæv>ÿ­âè™öª1{~ Žþ ËÙõ Þûrè XZ/<¨Ïn3X†Óð®—Ã¥[¡h-}øæ£03 õNøïwÂÉ H4œ7 ö­O³ôù&ËévsÒ$%M4¹J0J±Œƒ~ U†é¾$×"ŽH0Jâd,§Z£)´—½‘/OãÏJ}†N6DÉ„Ðx„ô¨Ø®oѱpà½D A*u ×Éhv$–vO»–º-`x¼ Ôm5·©”Ö(­˜›ë’u³(7 ‘“ u¬ê÷‡ X{„‹«$e$ZÆA¦1àg]Dr{ïhšç+ÖŠ*Æš­§©+lphÓ~KC\Ùš\ ²ÝŠí[^ÎÙÉ1j_sÁ¶[8;zŽwÜôzþö7þœ[oV|ó€cå~äê–kq\°ðµûówqÅù’çßÌÉ`kï|ÖFÏñ»·¿›_»ãCôRMWK}¼äò¿Sì|‰†eï,É?–SÿdÅ_?B°{Á Ì+ÖîJyÇWÈ~¹¤kàá®§àŠðô¸ú$¼±„¬‚ÏíQþ6å$"›Ë (JøËáäÞvmÄH # ÷=ç_¼³Ç:dYB–¦HÑ#I¤Œø&ÙOÎ ™ê§LOA*s:‰z?kÕ¦a| §UXueqeͨX'ÕiÚA (í„¢lh‡RÄedÝzŒƒA8AP)âC¡Zßr$¶4ÖRÖcï/îꪦBf’¹…>ëë5ƒŽ’íY ¬óhâ—% Úôh$[§h‹Ò‚T<ÑĹÁläpÖ¶ŠÃ\ïq‚•xi7!‘šN/ž ãŠr⺆åû~À\|Þ•œZ}‚‹wþGNÝ¡Ï/} Ëytqb…µïŠmP'À1Y@츑拟ôìÞ¾Ÿí; ;vuxzv‰@Üýíz6½|–é3]ìGöÍs[‘'b“çÂ?:ûP‡ðæŠ[oÐ[Œ o‰ÒÚ:'¸/Ì[XƒåiØ4xCWðƒ}0Ó‡ób ðÑ#ñ<úÇo‡OÞ—,Äåù‰ 8o î~>ÎÉzç­2úÁ òNÂÔ°‡TñÁ|TËH%Á8’NŽN’ˆx.˜Rb…À9!„T ÒDûj ¡42Õœ<=AëU¸¢®¥Ç[…µ‚àbšh‚Z] ©Ôñi^ ‚kp/‚»jV' •ïó<•ôÓ&®°Ò#ŽãàÛìÇ¹šª²€Ä¨¥Ò UDe{ï[)1Ûn]4\Yë2ÊCˆî AB7SúÜn'º]o&4¥£Ø{)ß™œÂÝú=§wBCULá,Ù¦ó¸ø¼W1{àc׎ÅË€Ï$ð–RÜýMKò•!7}°"TŽ{ÿ$a´ú.}•å÷ÿé³¼ùZÍŸ}ÜXó™w¿o<ö?Ô»†ÿtñ‡ùƒ ~•ÿ~÷_òúTóèáŒë¥g’,ÐOáÐ:<ô½@ýyÃò;to>¿8ϾÞýR˜ôøÆ¾5^ùMYGÛS‡áÆóaç"œ\†½Çaû |ÿ|å¸nW|²^†K¶ÃÙ“+ g†¬Ïèt{©^,;£j„Z·H1Cfæ‘Ú )â:º½=Þ[¡¥2RQ"…g®?ωÕ5Ö&#‚ÏÈ“©Ò1¢¢ ÂFݘ }@‹Hè«ëxEÓ®¡– ¡â‡i}¬5 Ϥ†Ü8•`±Q›)TX¯½_97Ò8÷ªÃ‰¶ï[‹—Ã:Gð´·Ó¨* mÂV±”‘æñÕœ&*â‘D†o ›Utz†ÌDƼmJtÒ£)Ê¢äeWVì˜ÙÍŽÍoåÙc'Ë4îû‹ƒ é/â©Cý p¥âm5§ë@²_°ëý–ý¨xýˮ狟¼‡å7Yîû.<¾dxÏ7üÖg`*‡›·îæwN„ƒó~ö~ë †£sÎâæEVÕ V›’P¦\vƒç‚.ì[…§ï’¸½9å¿óð#‚W.Ã3]8o g'ðëÿ_xÿ üä°Ëëþès 54 4[†—Žàá1²ü©{ãyÌHxà9èMÀõaãLÖ'l¬lPŒ ª²ŽçWáÈM…[Ö&ÞŸ¤—& z&ȶXTM8;±AbR#:ÓˆÚÑÉ“@ª Zö™êv©+GUUÔ®b2òØ*`’HQ”E˜Mh‰Éqaí¥æ ­#gÔ ŒnÅÙ­G+I–²¦ñ6ÎIDDN[çH@ˆã]ŒàIc]d²Ÿ+»†è.Œ3¨8ïr"Zš&þÞ;´Š¼ÓMíÙ#¨è}2@SQÕ5ƒ pý¯#Ëæyáô—‘v̸ ¬7šbÙòŸÿáËq—Ÿ} :>")ë= ö¼âg+þî£ße÷­žß5Mçš .Ù+¹óŸr®º¤á䥖ÅÝÏpÛ¼&ëžÏ?Ü¿ÇNvÌ5\xÕ"ß~òßù¹÷óOý!cI³û>b˜d·¾oÌÇîxvàÇ®oøìýšKÐÉ=+ËO£‘P·–5`º‚ëNÁ¾¼ÄÁÞùXÜhb++ŽÃÓÓ=pÖRW EQÓ4e#H”¡‘ž Dô7†(D-ª1>ïF4»Ö‰I!Hzy%¥1Rè.äSœXYæÄZQŽÙžŒ¤\_Å ’”–4U ‡ÝñÀÞx£ ß…Û_<.> ŸëŽÆóšnÞö(¤%lÎÏ~6ÞÈE-üð[ „i)Ýt¥DˆÚïYkjqàÔúD‚pâ¬çЉ1UÃzý¬Ä6–Ú”2t²:Q=ÛéÇV‡µm¹T‹‹A>2~U°Ö"e›4ð„"ø"ó>^•C€LÇYx±^Ÿç¢-±ÆÁàMå ]††eQœ›ûxp—´·Ó(¶@¿¤¾vŒ›Š*±$iB¢ Þ[êF¶—¸87ëçqç_–„wÝö’ÛÞÈò©ûøË_¾ŒŸý£ï1kFXë€]‡ggËË ?rý ?qí«è©1Ÿ}ôÛœxn}OàôÕ5ŸýfDp†m5a¸ÁHü=îõ¼ãgoå—?þ)®Ø*ùÑK¨þOøÄŸ¢saÊ#§j–ïSü›ÿ\óÌqÁÇÞêhV%;¾äÙ½õíÓýÞð øÚ“qü²kÖ`×›ÜüöEÒ°Îâp§WïáÌšcëO9:øÂ·â³Û……™À¸u‘`Rôò˜ÏþþˆÿýéOsåeš~ >?ó9^ÓŸbR ¸mƒò›†¹M´çùÊܺ"ÍÞ‘óÑ;¿H9¿“ë/}õ-qdò·wI&uàoß{;¿ô§ŸcÍ0g`Ó:,çpóópçpºÇûñðo ìÿÇ£ét;LÍO3v >°¶RÆ›¾Hîy7‰E ʆÿ#~ÎESpjT7ÝC¨„Í›2‚‘]#)k‡”‚Ì$øÆ3)*œ¯ÑÆ·Æ(Ùž©âk°“¥ô»]ºyŽRkë ëeQSWEYQ”ÆEA]Y¬$ås.%ãÓCAÒ­Êƶ¯8pµ§.8E–vH“££œ 1§šLkò$%O¢Íªž8&•­¡ÌP5ž¢ªZ/ŽÇºˆkšT%.„ŽÈ#õàÍ¿ãzî}ðëTå„礓Àûß$ؽ/tà¾íS7]ôZ/pèÄטŸz7lŒVbÇoÛ<üâ­ðú+àå»bjõñƒKˆÁK¯®p+vƒ.lÞ²Ê+/¿ÿ¶ôáaÃèú†³54K‚4OxÇ[®aîtÍÉ –8ÿe/ÐS}.°c¤Oé«cÜx¹Oƒ3p2냛!88›C²®¾’•€]‰ØÞ Ïp¦IS”2 z]´04G3öh—âJEU8”j7®Â Ñ&~W‹ÆÝ{t$FŒ<š¥Óƒ$ÐËFAð \ÀÖ ã†ÕšQQ1©ÛÂ(´lÎxB Ul×diJ§—’eWR“ÂRT5ë“‚²´Ø&IãÈ<6©A¶pܨ4‹³±ø…ó6PN<‰JÉtÆ Ûe¦? Õ Á´‚4xBð6Bß¼h›½Ýé(Æ5£bL]W”UkUÝžÛ‚#É5y:ÍÂp_¾ÛcÅd¼Ì{ny—ožåuîó`ëÅ/¼ì§xôàßPºÍlŸO>õA¾s8ðÕÇà]9¡Ó¸ù"X ~þc'xÝÅ ¾±óÐÝ\{Þ%<{ô«lÛr3—Žpj®ÚFÀü ®T¾ñ¤å÷ÞúV榶qçþýœ-a´ºÄUoßÍâþM<÷¥ÖóÄÎçù•Á»¸¯z˜JX’JqÞÁi>ø‰GHvcßɾ':<ü7œs䌙ùiº§†<üÝ„ãy…U£gaÇü"?óÚ×óÆ«ç9¹¾Ÿ3k‚CgàÙcðôI8z š?tò.³[fÙ~Á6¶íÜL¯?€¶²W4%–€Wž<3LO ™™îÒÉ ²ZÅ4ë4Ö†åÒ!%ngßÿ³–‚ p\¼g–ˆ³ÇÇLoê1½e EŠb\jË•«±µC+¯bBÀû(*ÄÜ“–LTêæ©Žu æ ¤DIAYXlí (®jÎT4*QWŽ$͘žédIË$pH!èäIMÖâ}{Û93ÏÌ\E·Ÿ“d Ãéin¨&5½–yä¥ãúžIUòÐûøì]û°‰æôFK18PûoK:œþtŸé¹)æætûò<Åè,";ª)ÑR0±=™!Õàk”QÈ*ž³MdõËY-¦´”õP§}¶ÏW<~¤äÌ󺶤(+«%*•%I´B(몭Bµp²ø^Äz0:Å¿€Z9¼õ¤¹¡™ç[L|Œzk©ËDgšDEoKì$´T(‘Pº’ΔB')â—ÎZ‹ó% &Õ±+hAÇM@š+@³²R“ê@ª$ã:ÞrÕ68„÷T-QYJKc£$*É¢ò™0·8Góäõœ8¶Ä>ò(/ù€a×#ŠÃwV¬\¢¹øU1%°nKN¯à–ÝpÞ+^ί~ò´Q<¾C‘ßx ¾þDäÍ#àø™ö~™·]|_ûÕ¸Ÿ»¸ãO¶óKo~'ÿîk¿Ëýÿ+¼ò—¶òÛßøž ¥5:Qô§º §‡™ $™¡Óë ¢*k†óz/ô9X?ÇQ}–÷ßÏ…sšçŽƒ<ƒ>iÒÙŒþtŸ™Í3lÞ¾@ºÙXíF[âÉ’l, «@Q[šº&t ‰9…€T+ÑKËZ+6´QÌÍ xüŽCÈD±tpÄÆê Ý£7ŸÐé&1~â›x›j3íµõ­â”ñу®eË—}£SPnxêºB&Qœ÷bÑÁÖ•ÅTbÓ8dP˜4ÒO„ Þ< 5–QåÑÊ UÂêº%8ËÔT4È#AÄ Þ¨œP–zlñV0Y–ÚÅæ‰mÅP‘K „s­é6ü§ÎÆÝX*5BjFÃ>eQaÃÒß(&¡®)jÇKÞ²ÌÆL½ÁKv¾‰ç—¾1‹¼ëջ脃|æÛ‚åÿêQWKÄ+(صÓë‚SüóÚƒÜóÉßã¦wþ1í¸€ÑFÉÁ»s>ôÛø›/}Ÿb}–©9C¦G~Èôâ4³óÓ-3ÄRDÞAiEYÕô]fçfYXšåøáìä9ήôoW`FÑYè05=djnŠÁl©¹>ó›çÈ»]”ÖxB”ª;ÑTµ£ªCd\¨šÊV8Ÿ2®j´‹P–º™Ž½¬ÓÕ¹)©R¶LO©b°=afºËÂÂË댌%Ï )+‹w¡½ÞGD&ò”x¨ªŠ`Fgh¥Ñ¨Øó³º²mãF·PÛø2‰ÀÐøY@éÐ6xZKlšÄóœL.‚'Ï4eá©Êø:8—è"I’h™â¬åÌ©u¬÷„LlÀ‹8£Òƒ–Xm¤ý¡è˜xÙØ°3³³ g§©ËMlº¢Á»8׬?Ìýø˜<§\^XÙ8ÀöùÍ|õ¡ø$¥!}:ŸúÝ%g¿®xîQÈrÃZÝç½òüÞ{­à?ý?äò¹Ëùǯ?ÌÉÕœùÍ=Ò<¡?7`vó,ýé.y7'Ñ ^„èÒ}ž$)i’Ðéwèt3zƒ.SLJœ*ÏpzÇ uÓæ†¹¹)fæ§™š’÷sHL/…ßà±­A7âÇãßM¢R”TL ÇòZ‰VŽrý I9³UýD Ê }2XóeE¯“pÅËv!:c¦g§!tɵEÉ-C{°¥µ8DÑqv„Åû¶õìÛÔ&¸@Šñ¤¦ñ¤B£[¿$Í%ib£Á3D½Iã'ëâò; íIœD(› Žmb\£±!Ê8èôD+¼è̬¡×͘X¾ŒZÞø†[!b§0Æp¢03xGj <£ÊƒA—þtŠ ¢»uTz•—|—žÙÍÃÏ|˜…¹«HÌ'7zìœÕ|ùW¡<¬ã<7E§èpú“ ”S ƒÙ§ìV.œŸæì™1MÙðÛ?uïûÓƒtûóLÍM“2z3=zÃNŒÀØ ![Ù” íìÏ-ÚÓÓtЉ¡×ïÒöé úX,&3t9ýA‡$ÏIó,ŽXTÔùÕ¶BqçÐåRz’ò$gµsøÌ Nœ-èHÁ`ʲ%•Bz¢™¨½–*QRUPY®¸bŽ#gº]t2ÇT'!ÖÇc¼SHâ+«¨<¾vxsQñ–)õå"ûQ>øñÆñü3½0ÍìÖúÓ}‚sLÆê¢Æd ½a$Ëø¿ýŸþÍ_!ëd|èS_ay]1“:”é¹t?E&I”PV McÑJ‘˜U‰XÙÒã›Ådš¾`]äe‰4nŸ¥4(“`rͰ×#I «©GYµ£’$½o(ê†Æ®¡„fTÔt{l¸@m'˜ EO"ºù0è8¯Ÿ€4Ü0ßaÆl¡PSØ ˜4ÑÑgTBIL4!ʽiÏîDSX2¾ÛdgPdM–iTfð" Mt2Ë$–%¯¨F[–”U$ë!$ý…ŒIYcŒFAÝXʺ¡lIjbcÚ+œwœï.çXå(‹§ùí¿ø š†#ßÖ,}3%ëdÌ.ΰ°}ÙÍst§QÁWUTUƒ2Š$ÉF±qj*ró%,¯4µ¡©ãJ+ëht_EÞE’ñGÒ4©dDFÉ8¸Ž, ϽB¼ 1)ª#ãº+‚ÌD)¦µ‘ +B\‹y'â#x:i‡º†I]â„#Oƒ<2ËÒ´`2Z§±m8CO4(Ý ‰Ì‘Ò³%S MÆ3+ÎÒ!U Az2#hšx”R¢u ÉbqÂ(G ѪªUd„+†‰*©ª’,Ó ¦º˜$‹ÉƒâÙYÂ`’è„•3#êºÄû†àhbÅ_×ò eÙJCQyÊ2®f:@ðu„üoJ%Ôµec£@"Iò%AD¡d7é05ì¼8ê„ø¡•5uS ”‡,êM¼rT¶ÐVá¬k͇¥ë·óƒ·a?¿ÈáÃÇ™Œ'LÏkºƒ>‹ÛXܹÀ`vˆÎ„TØ:BRò4!IRŠIƒI2”0ààèR†$Ѥ½Œ „˜Ckll,Õ!ŠDé‘:bÐVhI¢PÒ#„ÁAþŽ#Ïù¬c¢wCŒc?4´ýQ"£ƒè®šØ~mj‹µŽJ‚6];‹¦ÁšFäiT>{[ ©3¤/Px’$á¼îÉ #« $x¯¸àɺ ?ÀÊÆˆ²1 멎U{£4‰Ñ/PçvK©¤“gdYŠ’:&>…hµ&mPT–à#<«ª!¾\$Peƒlå)G Â’ÅN øóÿ´÷¦Á–^g}ïoï´÷>cjMv«eY’ãYØR‰Cfn*ɽIU’KåbÇðpx6P'¡q¨T ¸UÜ["’ ’σ$KX“%«[Ý}ºÏ¼÷;­é~XûÈÅd°Ü¶ìçKWõ‡î³÷zÎZÏ𪒺´(SÑB)%Bî(RŠ(1`U¤ŒýVÏÅL]Òö‰f:•D-—vv©»Q"+ çÂQÓv- ºS$lAîÂD\¢@óu•b Ĉm$¶„Íã5»J2ú€”¦.Hq9K‰ˆD²Ò >!B" IÒâ•VÌV {)ÓÒ¤+óei"È[ûaìíÎéÛU©<Ö¹9ÑÒÒT&&ŒGÐ ™NC5lž^¥j |ˆ(#i¦´´˜Æ ´fcm†”’rÌFˆÑ»ì~ÚX‚Ì‚ÀUSdõæ² ,Ê,_ ÕΒѶ)0™º–bn8úE6X¨g E…LùL"ˆdŒŒ}Þ¯fsìlz9oý²tˆ¤^ ¬`2á`lG¼w´NPjGìFF<…QhÑ#ô$+ö(’NýV’2+Lj‘Êf_dã¹aMrÿùãuc{OPÕrù˜‘ƒý0B¶y“¨¬HÒ!еÛ€NšÁ{â’»V˜‚DV,GÉáCö‰®jƒ’†«Ûà{ˆ%HG£KhCnoÛˆw,k ‘M´ëlI’уséM]SÖ©/ŒaĈ¬[žb¶#Gä§pèýèò¾RJÜ!xú¾£WÐTåòYJ(}  Y—lN¦¹S,½§Ò(’Ì+1Hù鉑ÑwŒdƒ!AÅ)¡tÖûªšŠÁC…B‘õ R8šLççPçÚʹ˜›# óÖ£‘¬L%Ã82ºHô‚±(›)h“>Æ !\ÂŽ”ˆe–7Ц &¢ÆÀ +¨M¤™šÕ㬬LP*!…L:E¿ ,‰è¶ô-j”lAŒÔº`ºÒЖ>¶Kê¢fè=Ý¢gÑ€d6Í•übÞæ¤“Y ’Ðy°)4Î +ò‰¤–ÆKd¶tÈ”­DDYAÝ(º>€ÐÌ¡IÄ#_L¤DQ•¡ž&u‘‹a™¥†>ï'+E6]ž1x”T+¦"YóÙcµf6+ãÈ|1.…O "q1²·¨ …m.n£Ç-uç¥ÐH¡(KM¡3“˜¥‚àÁ¼G GYb³ÀÈèÖÑ'”<ƒ£aš”m$ÓÕ’IYÇl³’íd²ÌÁ‘7¶’GE»ÄëD ÙQ69AÛµD?2 ¡É®µ!Ô…¦ó‘ÑEDÈã—$`¹cƵ4.yŠIdbF&6JÉæLÓÐRÊë«k›”VR6XÍD‹Å…)ÅFÖ9":l!õM¡9½QPW‹ù“MUÀî¢g§s¬ÇˆŒùzÖR±8tl/ö"ï«©AYAYZ c°:Kùà@YäæìÈçÐÊì1裠RÌ⸅1yˆ=¥Nù×1Ed%‰Ff¸´‘”•¥.«¥ÛkF¦èèÏà;*S@¿kê®—*ƒ ÉÆ0` Ö’0ÀÐ'L)¨ ƒK.{óy-•¢@(‹ˆÑ„¤ó¹ÙQbGó~$UQf· AæLÊܹ ",Ñ‹Ëf º(%ûˆ-eVìI SælŠlœ°ÜßcŒem:ÅHÍþÎ>íè‘ZÒhƒ­%iTìï´ô¡_.î5ƒðF ªRú€&f3ÍîÖÀ°çØ\×Xá`¿¥\ƒÉd“UËjeY_)X±5¦ÜDêx ]?;ÔR YP5‰#8ÖXžw]Íû?°ÍÚFb2)I²%‰«‡yÖQ ƒ6 [Â|70ö»¢ HtR4…Aé\¤÷C"ä¥v²Ÿ·‹ ùcé©“•ÿ 1¦Ó[hœ±&C_1;zú€s™˜‰®GÃÁ¬¸uØÒö=ºPŒÁû@ilFâ±V"PôcOL7 ¹ pY:ÿæ2˜1b—;̘@—‹`«sW––ÂmB%†àð1Rê ùí}ºì"–$!x¤Êã’NøÜH¤H\º£R~G‡GÖSˆ.¢LÂ÷%}û•‚ªQ4uTŠ K¦É"Dbp]VGL Uƒ÷žÃƒ;ÍPߦºL,œ$éÀñÓ–­í—k©cäÆëJ6×j&¬MJV*ÅJÐQ„l´9öì÷ ]­‘·©‰(dt蘰ãºoyÙ­gxÿo^ÄÍwXÛ¼‰G?㘩9®ø˜”–²hY°»“¯bµ\Œ¾ÃÙl Řá(\áQKsJDæ­ÎatI]X˜«‘õµ]h‚+9<è±¥ÆÅ ôWBR¨óîR£ÞãÃõ2½Çr)Ué“"¤>¯Bé³iйˆWÒ08Ç|·Ã÷ÙœS#Ñ" »I™1ߣË?ïѳ‘$—ˆ>’¬¤,Tžå…„KYLD*ŽE@ä5‰”’R˜LüS&ga)—™YKY:*'ëþ^Ç8¸#FµB)E𑃫‡´]Ÿu›*‘ d—‡ºJ ܘo‚ÒæÅ6,1ï!+ïû1¯«NœZcU] KÁÜ ™š–ò˜ƒ—z5y¥”\uó[IŒ27 6ÓÿSH8¿Dâ‹@¿ôköÆcÆ«|+^d"ˆfi|µä\Ÿ>àGOprR2™–ø˜®4u¹´‚óŒ¡Ï;\™ÍA³§ DID1Æ€­%}ÈÄ”ØçŒÎáBæŽ"ÚL¸¼s:îºs“5í89©8^[¬Êï¯Tå¯!ôÝòÎïý¹XY>é·ß=éž73"ýM’~»`<«LäÈ·þٸ籖¤ žj}¤Ãj‰™JvÇ-¢/9yÊpØ ÖVk’ ô!’Æ  ¤ÏŽ“=xæ‹H¡IK¤V(²bÉò‹Ô&K8Œ6­-!¼OØBQ›ŠíýÀb0º§°’±wìít$ «'J”Q}‘^Dð™9¤#€{ÊtSç¶£Šli ³õI®Õd¾•|Î{ô¨ˆnÌžÉ":¹ˆ¶’,8‡ ºHJùÏQ$ŒÉhØRg9¨Ñe“„˜]ïqdµ®%NçE\ÚÇ ®ë‚¡²¬SiY[¯( Í|È·‹.>9|È©Rdz¼ ƒë½Èæ ËÚ.¤ˆ™,% ]FÖúPÂSÎÇÊUžuzƒGŸ¼È•G÷ø¦ÛJN«žSë§iŒÈ®oa|TÄîu(ýKòÅ?qÔª~>±ÄóîŽÀ/ĽåWQÅk’æuÊLg/}öœÝXq߸÷Þ€ ‘!Höwç$'HqÎÞ%I5-8~¼@Ř=Ÿ•fô!ïãYà«Ë+ m²ò‹©@%‰Õù¹ò>\¢ïu£ó®/JbÙ=LdPÿÊZ1Šýý0²}eA7ï²[˜ô½Ã µY¾ÛE‘ùD´ÊbcÄÜÑyAF£Jž2Ò¶E–L)’¤bUeœW =ì3>Þ„|BÐŽ—%7…Ȭ"Y鬭*I8dÖ_&. q çÉ]aVÈñÎã|Æå ž³>BUal¦¿!¡Œaˆ 9´i–jך,ú«$.ŠJKBô'ؽÒÑ—ÈW£÷²x`cCbÕFîñ_ 7ÎVXŸ¬¡«U$~ÞêG~²|Ù¿Ùå÷„þ½ _ôƒsà‡Ò}oþ$ñ6Ôúß–Vª›6æÜuV³3TÔ’º´tãÀZ löìK ­béWmKM×”ÌOVxÇ¢ø1›wOf±œx›BÐÅ0â£_¢'Är>›š1XB¢aIU_2’¾¸!±ql%Ä´bœ 2ÒûŒ7›ÚŒ–]ôíòÿ,­ßÑ2PÚ’Eç¨ ÏPJƽɆc¡±X8±^°Ý œÇ5<çLÅMk§˜4ë(”ˆ¿œÂðó¢·?üûåϘXOÝ`wÜýYàïÆûßõSBÛwÍ”yáÿ~×uâs[;\h ¢‰¸s'¸¸wŠ~~•Ï\S•àR`·u¸ˆARZEtžHÞQa@[‘ ç¤pn)Ù]êÜ)ùž®sH°E^,“ò0$ŸP2ëry)ª‚é ¤–ÂfÓŠª©0JôÎÑõýÒȱÀ¹€Çgt¥0Æâ€}?à½@›˜gT…ÆhËt")e>w8™­¬,#󃞕õ’f¥Âê|û$XÑš²4´}GJyŽV5Œôƒ'XÁbko© –Õ¦Vh‘%¾WÖ66§Y$Ž„%í(Þáb~ÞæÝ@$±èAI¨+Cµœ“I¡Ý‚Ie±ºbZv¯âàXÌó‚9÷à³ì¤ÆnÈ“utcåÄòcÂc,)Fï(Ít­¢ªKÔQc ÔSuÍÁV …—]Ê?‡O~‰}ÏòIIê&cç “kšƒyK]¤È.ïFeÓ¢aòX X ™È¸t<ËN)&Æ¡'¤¼[䢢ò2ØêŠIÉO|$Ü|Ò±=äqD3-h¦Úäo ùVb‰I³Ú«%1Œ c–!p11Ž‚aè¨*Á¬n˜w-µIX-Ù˜¬ð²W–<úÐ.ç¿ÈÐu„&ñ-ß°ÎǯŒÜqz­?5­¶lä÷«³ßµõÇÍ•/(±ŽB>ÿî-àÕáž7ÿ´På í7)(nšðœÙÝ ŸÅïTŒV3mûÁà p-L+±Ši9ãêå}ÊB²½F0™V$‘p1düz‚ÖyFFG #–{H’¥a.ü«Ê0tSå'G/ë!™:y.³;h)I¢*I„¥Ë½'¤¼óäAª”y€[±á¼‡¤ >‘dX¢+u~žSÖuÈQšR¤Õy°„¼¸`xÎÉsTÆRdh£²æÃ¿úãüØk^ËG~í7q>pîÜm¼øåÿ€¦©h¦5Cèpqäâî…Œ“‰Ñõx:Œ¬Ð:×t‹y`Þ„ŒÃy‡ÔÙ@Aȉfð#uYÐ÷—9¾&¸ñù%Ÿ¶kÜÿˆv’›Ö‡³'ªÿ~ˆ|Ýé»ÞúÉ/4Gà©æöOçު´Š wø6ƽgµNó/~æa|9râúŠÏ=QpÛ3öÒ@ë+Ç íAâ–Û NŸ]Cˆ)¾Sös.]mñ ËÆé¥%»‹RbR]pÐ:Ú!OÖƒ‡8æo±¬Z‰\ìK‘õÆ+ESª¢Â{O7ŽD…±TEC]Ô¤äó^.9´Öyì"e?Ÿ¶ï8l癊Ÿ2*!ÿûŠÒˆ§”t|ˆ™)¡±†ó"س¤¿åίÐùéœTSn>~Žg;G¶‚ÈI•y‰vè)MŠÞšJSÚœ€Ñ{Fß.€üø8è²ÿ³”eÃÃç¢ N¬ãüÅmBòÔkŽÑ§å ,Ò”‘ޝ²¢,>îsÌDî:½B# J­Ñ¦ÞÉþ”`|kñâ·üisâ‹’XG>òš³ûìðö_ùØ•ÿíþóû*‰w=ÇO$Ö7§<òhd÷ £Ü¨yÞí§±“l&ðèùE.2µ¦P’ºÖì/‚ÉIRPTÁÙÛ0É<ÁÎ#‡ÑRƧ÷c $¨ CS–ˆåчÌ΀T‰¤ïW/íã„Gše}'³Cƒ<%‘(e\«g4wi~y“ÖE^>ûè™·ÙÙ¡.MUSè 7ººu•ËO^fgkÓ›gXÌôݘÍDÏæê)à] øü‹ …`ï`ƒùE™aÔÊHt!1eAQÙì"¿2£¨+N¬®sáüc?p궚͒ÒÖ<öð%º±ãìYÃ7Ýpš5™HɱÕ)ÆÊ (Qõ&ó¼7ÞÿÅÊ…/jb¤½Q|àñí?ÿ;vÞÙév=ûûc TeE9«Ùj¥xîóO1 [WX¤Aà»Da5Žˆ’ŠI¥±KNïr¢UM…Ò±´µè‡9.xdtƒ§_ÜR®©E•Ù&žltYè,:"E¦ín-˜wÅŠ•ˑЂLºˆÙYQ ISj†ð)¢“Y>Veûç³È›T‚º°h©iW¶¶Ù½¼Ãáî!óƒãàc`è³›GŒ™ %¡J ”Êó3c RIìòOiuÆÝŠÂh¦ÓŠBTÒ°wØ1t‰ºñœ»s"Œ<ûvÉ7ž˜ð ·B›Y¶þb|Sl‹ÿR¼ä{ã3¾è‰u¿ô￵ìºÅ?;½¾ú¦ckëÇ:×Çž_òÁG÷¹ç¡´Jl¯0k%“Úäv¹OìÍ=Ê&„Ô¬N ¬*)‹:ã¶|ÂhKYBtôCGÛ÷ô£gómlS¶BÙ  ¨d@”‚º¶X••“EH,öF.]Ü£X•H«Q.É yÖÈn­JfãO% É J¤ü,.¡Ê£y¹¾Ä6I) æ ‹ž¡ëGOÉ'ºÖ!b!:Ÿ}€,$QZaµ¥(25 ©ò€Õ$𦑑kÍ”Rª¡ãò~Ïã—=Ý^K\æúg­bbÇ¿ø«7qòøÆ–æmºl~Jœ{mûtœÿÓ–XGá?òº“²™þßÑ»œ;ÅÎáœK}Áÿzxä·¼Â|?qæ–ÕlLKB´œß›³è….˜5%³b†1Š(F”Ì#„aô´ýœEßÒ ?&bp C†’ć„RdšWÙhšÕ’Âê\ûÀE¶.ì±ßuT«iÁ Â]Î2S´Ê;@%ò½( ´’ ÞS[CH‰y7äÚŒGR¢ÄÒòÖy¢K¨PÌ®¼˜ÓI™µ#ŒÁe±%iÊ ‚aŒ#E‘a×Rä ‡5’7onðøƒç9·Ò35Šûw ¾°`ëÒ$¨5Üvç6'ѽììêO¿ðÖÓïÔ·¿áñ§óÜŸöÄ:ŠøÉ·¼XÄñÝô»ßüB\X(~þ>Ç—nº>Ûf’Äͧ7¹2DŽJYN[à Ê·„6heÑj‰tè{ºqdÞuÿyÕdïóáYmÐ:ïËBS×K;ºã¢ç`»cw·'È@±ªÑK¼a‰R ¬D‰V¡E– ŸNjBLônD ‰‚ÃnXÄrEC¦a)AŠ R"ÊŒëÊû@H.Ff¼YUйTfÞ”¢@EÍ|ÞsòôŒÂ}ì'O7œÞ˜péê>ãîÇEÏ‹n´¬Ngتæý÷·ì/Fpn£æEçÖþûĨמzåÝŸøRœ÷—,±ÒÇß© þNÓÛÜÐßøáKŸxÜñÛŸºˆªàêùÉJä®WÞÌÙÛîàÊÞÀ¢ÝçÓ÷^åú[ÖPÚ dAU–¹îI‘®ï‰Qd²ÁáœËFŽY« #…–ØÊP”%VgCƒà{WzöY9§ÐØF3Ä‘¤q×yT­ÐK[©óÞÎê ˆ–"'…¶ c ‹#*ßGËéy¦¦¥e—)BÊÔ+—|Aê2×HƒOËÎQŠ©ÂÚ¬E±Q¯`\Å}÷>ȱS‡ž”Fæ; Ê*ñ ·N¹c³ç؉ÓÌ&kh¥8¿Óse§çòÁââ×ݶñí'fÕ6wþÀøGÑ+¾¤‰ué#o˜¥à^?vO~÷ûeó¯ß¿Å^HÔ:±¿Ó²{uÁ‰3'¯[çÂ^d\Dnûú3Ä4P—“¼Ò%)iöÚ9"*Æ.1 ™9bÄè$‰Ô0;f™N› UYz{I^"…¥]´ìlÍñ ’ŠˆR@ˆ(-òÔ^Ë„;[óÀÕ6òðŽãŸyâRÒñ’Wœƒ2â㈠EÞ.“RÈ2܇{©Ó’¤²›†’’1Œ1ßB•Ö¹À&b•É÷OøadûÊ>­E– R@•4Je`ßf¤…ÒU(„’§ëcÌ«¡´T/KVNeò,JYJ.8:;Ÿ©ï>‘làäzÅJ¥é#<¸ƒôŽéjCY•¬W†ª´ ?÷Á«Üÿà.«äoýûøŸ<€Oš¡©ê%¿¯@$){ç´BI¤Ò„˜R6ìÔ‚¼O€’J#SÆfiDÁΕ9;;‡ù™Š•‚ ª ¦Ó !e¶¯Óyø ¹J!rp0°··ÈfSeBh’Ð'Le5X%)uÆ¢´}þ *E[œ¨5ƒoYéå˜n4PL¹tá2îŽ5֊ıcÇ8¾yÛBòŒù õìo®õY—QbEúØwœNíâ£,þ‘É1ñŸî |äÁKÜ÷©KÜrû:ýFä`¿¤ž%Œ-X›”jJ жkñ>"µ%ÊR–BŠKš™#‰˜=IÔÅ­ Þg}+5VUî\:¿ÃèÊŒ‘TMÁlÕbL~Z\Ø,0ú!F¼`çJËÁÞ‚ Rgç[ŠÚâ£àØÚ*‹qŸ2Û¨ë="8L)”Ç†Ä 8^rÓ+(YrlÅ@HŌ٬„òD§‹êgî‡Õ¹ï~òZŸÝïŽ/»Ä:Šñ7¾í.QÊw+Ò+®Ìƒø¹íòáû¶9\8Nœ›°y`rÖ‚(™M#'§l]ìl¢ubãô1†Ô‚¶¡0:]ã²"KÖÒ’BÈ€:‘µmˆNpñÂA=Éɪ*ˆd¸p"a”¦sŽY-ñ×#ˆ˜ý®‡Îq¸×±³;'$Ït­` ‚i­XÔYæ)z ó´.àúžÊ&t7r×fŹÍıIÍlV ¥ÆR›(eõIÉ7Gi»ºýu×ôÙûýâË6±ÂþO-ÿG¼õç?²¸áïñÐÃ{Ä!dÙ©æŽ;±r²$öž{>Ù±saŽ*g_¼‰¶$SKE~3’´¬}²ùyvËÂR*ƒ‚RW Û—˜L ª¦ ‰„Ñ2rÀ¹Q@¬1óq ²ŠJgå–"Cï¹z倮뱥DA¢½â1¥äÌu'å>-)©·}âT1cöù 7oòÜS5+UÔ5hýPJ¼ÇJÞ'oß}ðtÇŒÇúR†zù¿õÀ ú®_¾õtzƒ”ñ;¬.ëýÅ‚­ƒÃ‘{>x‰Âæ'/ i Y·”MÁAßQh Ø%’A]B)I4‚" ‰'h !ИŠýƒ)#ͤÄŬÕ–³LÀjSQY©E)KЫ֬Ô<úÈE._ºÌz#8³âX+ëµcUE ™¨¼`mmJ³6!¹SM²Èôß—”yGõòwÿœ½¯„øŠO,€ô±W ¤ý:„}‘—C"úFcb{>rñò!—vï÷ìÎ [1òìçl€4©èf÷°ÍúîÖ2ï³³A1i •UtÃH DÖÊjªBVÞÓo5 RâZÇü±¯z¾¡”=¶LšD1´¬Ø)õÆ z‰k—Æl Ýák¼×¿°òÊ÷~ÉÐOw<£ë(Ò'¾w¿É«Sˆ|…äwö{>ty) Û:à @)%µ­¹º‰N½d}RB^YcÇܵè¥$£QPXCiÕR–Úraë"ÝÐ\^żä¤àºµŠ™j™¤õÊ&ºYE ƒˆ~?‰ðï´­~H½èÇö®õwöÅŽgdbEøà«ŸKѼ Yýå$Œ@À¢Ýæí¿ô­ä%/=AãêÞ‚E€ƒÁA-É+V Þp°» * ¨³ƒY¹PX 8šÒplºÎ{—º9«HÆÎóŠ[Žs{Õbû+”«§±³„ibBþJ_W¾ôÇ>s­¿£§+žÑ‰?ùz™Ìñ¿,X¼'%ykê÷ùµzþÃo<ÆŠñ\ßë˜Î$ÓÉ&÷¬U‚íCÉÌ(ö/ º…GiÅʉôRÐù"¢T¢´ŽëV-ÝÉsËÚ Æ.p‹¸ÄíÇ=¶YE×ÇA©¥2ߣJýŸÅsîþН£þ°xÆ'ÖQÄûî®’¬¾“nïû} ³¶?ó«ððcWxÎ ½¨8}¦ac}Æï<¾… ‚UÓð™ûö0Rh Ço¨é’CÙŒ` xz—°1Ñ(Áæj¤}|à[n…瞨rYÛB¨i´ýQùuï]\ëïâK_5‰uáS?x&…ùÛ@þ½Å ~þîñß>~³Ï2 5U¡¸äGÖ…åÑÏ´4k7ײ⣟ÞEš„]1\wkvíØž{¤œœY¦º¢Û^pRìñ÷¿î¦™ ÷óÎÅ7Ößø¾ó×ú³)ã«.±Ü½oùr™† îà%zhÎ/~è×/øô£ûìY0wsµ`c&¸áÄ„Ÿ~ÄsñÊÀbð\wc:`OÁÉZ2îTTZqKu…?{³¦©g¿M}wYV¿!_úÏègï÷‹¯ÊÄ:ŠxßÛ5Á}krí¶{'+myôJ˧>×qu¾àìu}´‡-1ÂÞ¡ájçøìyÏ¢ÔØ8]âÆ‘F7üÅlòÒcíVøwHËOë¯ÿÙgÌøà ¯êÄ:Šôñ7¬§0¾Q(õ¡Š"¦Hè¶ÝÀÞŸ»¸Ï|áH©ÆŽ» Wxr.yàrÏcWºùÀæÚ´ÿç}óÝæzõ¯Ä‹úòµþL×:¾–X¿+Ò'^;ÉýÒ¾ •Åb•qhé\;¡1«è"—¸pÕóÄn™ßnå±ó‹7¼éÇßßµþ _.ñµÄú=‘>ù&‹¿A’ïÁÏ&(p{$×f/:©J‘¢"ÊúaÁøúË»;ÿéô_üÙ¯º:ꋯ%ÖéS¯«ú5¨É÷ã„srù=„´=Ú¾¡R¼à]jÉŸgb|-±þˆHÿÜ|÷N‚ÿ»Œ—aÜÿê;Å ÞuåZÿl_‹g@¤‡ÿõ7¤{ÞüÂkýs|¥Äÿ”õƒHX­˜ÐIEND®B`‚pioneers-15.5/client/gtk/data/themes/Wesnoth-like/0000755000175000017500000000000013252243610017101 500000000000000pioneers-15.5/client/gtk/data/themes/Wesnoth-like/mountain.png0000644000175000017500000003231410355345405021372 00000000000000‰PNG  IHDRHHUí³GbKGDÿÿÿ ½§“ pHYs  ­#½utIMEÕ  ÈvÒ IDATxÚ´¼÷·Ýga§û|ëîõìröéýHG]–¬fW\ÁÆ dHB`É"ë&¹ÌÜɹ¤7Â@&ZBl\ÀU–duY]G§÷Ý{ßßý-÷ÖÜ•d’`Cæý'Þõ>Ïçy…¾÷Îx%–Ìå)šyB®!òÅ,>‡“’åÀnW̹µ•µ=›w= w‹.§í×¾ÿïK…TŠñ{8|»›LÃÎÞýBŠ{Ø‹Ç#‘I´èŠúhÕ#´Ì>§ €§C R©³\Ž dDƇ1Œ6’¤ÐjU‰…c$2 báñL·ÇI;‘$©ü¯3ÁïóP,U(—KTZuF‡G1M“ÒÂ"«ë«\gù‹¯¾ˆêAÐ5B,ßÿþ³œxöËÔ´N5@od#~_ÞÁª*`w*HáÁ¿ª[:¥Zšd6ŽÏé@°Zìß´•\±B¾”Çåv ×çr8v6*µÎljÝ)ølrßP'ÍZ ¯WEµ êRÙõÀ6þþ /påÆ _Ÿs–™£Ù0h´ ÚJ±%ƒ¤SjUèv±iÓ(ùJz½‚…eY(ŠƒVÛ@×[x\,I Z©“¥ÎHxð-‰v½Š$«|ã[ÏñŽC»‰z¼48söÈøïEPT’ 7Q²y‘N¿‡k ËlÚ}+=ŠÂJ*N£QCu:$‡ÝA­VGÚyËð¤ÍeÒõ³ub„äBÕ£Ø(ð‹tvzèÄét²¸¼ÈåÙ)®ÏÝ—‹Åù›(Na¯ŸøZÛE%[Å2²‰.)€d0„6ŠªÑ”ª * †°9TÎ'¦év…ÐÉ3D;¢X’ˆÖhát¹Àp(DWg'’, ©hMÉ¢+Ò‰Kq é÷U‡bò9^?uQ”Øyð,ÍÇæÝ›˜=žµ‹³TV³Æ`O”x:ÍÉcgˆy¼ó]Ò×ÛÃÉGÁ0( H‚€ð«¿t—Œ¸h›m2‰!k+É”‰Ï[ä–;¹>{‘BºÅÉ×O00´ƒ—N\ÄæøÄÇ…Äz³%b—ì„B>\.ñt+Sc)Õ¢ZÏÓ 6°Ë6„FPýv<,Ói5ZTjEâÉ8ÝÑ^LË¢^«cZ.‡Îh—ÃÁââŠ(±^L!)*¥bH§ŸpGˆK3Wñê.òù<©t½­c·Æ$ O—†×9ˆÇÓƒ$*X2ˆí,Û¶#ˆM®œcx«›Cà‘ÇÞÇcï8‚fêHˆìÞ~ Òmû7O¶Ä&ëù8ù¼FØ1@E(°ïpO=ùmf®\alÓAþࣥotŒÿòïçË_þ.‚žå®Ý‡8?}‰ïýà ›·ö# ™J•ë7VÈfëÈE±€CPp8œ õõ’MÇyýè³ÌÞœÆåôbZ&–aàuypx¼˜†.Xè†ÎÄø(‰ÕUR™ŸùìSܼr}y…õ+‹ÔÝu2¥&Õf‘‹G—‰uX]YÃ-m@ÐýXR §ÃŽKqáööÐj€FÈoQª5éíçü‰ó„¢…l‡ÝÃ3'žcËøs³³ˆØdáWÞÐZN/ãt¹hÕ É˜jãÜÖØ;·Üû^n½ÿ]¼ó¾Èä³XX¼öì¼÷ƒáÀöž¨—±®A²ñU6íÛËóG2ä \¯¢ºšV“o€±®!DÚüî'¾Š €eýøê‹ÀÏ=|²üãA Újá±Ù0L“WN¼Ì…« þðü]‘ƒnñažýU~íCÁþƒãÄÂ^ÐD¦×q+½B§ÍƒÛáÁÛaÇì!¹^@´4F6mf~z §]$豑H-ÒÙÓOµ•Är"ÍBÁ/¾ü’7dMæS%LݤeTHi‹èmƒ‰v7ïúÝ¿æÁßý¯ mÚÄkÏ?αWžD­WÙ°ë «ÆÏgÿÞM4K%\AÑ`åjÛ…Ý.ãôÙÑ €7ÀŸýÅ·yñµ«|ð=wóÞßü-n»ã¿tpˆ\¥ÊÑgØ06Œ(ŠhvÛ_~ö8ó³5>õÅ¿ADàÊ Ï3o…µG¹íž»¹Ç;¶ïâÜÉEr© ªÙƒÃ&`“C„:\™R^dm%(˜3)ŠÅѰT5‹[vã±upmq o@" “ZZ¤«·Ÿt.ƒÏçEÚ5±arh°“ÜR Ëi!®iH…Ûïä®ßûoè²ÂÜ+OròÛ_adóVœv'ªÝÅí÷=F—×âÙ§ÇïòÑ¿yO'm³Ng$L(aquÑ‚Wgìððó¿öÛìù¹_¦kp„ Ï‡Ç)Ða—± —ŸæÆô,ã#C¨¦È+/¾L¿g„G?ðüîÏíI¶|½)qåÔ9âÉë:°[¸cÇŸÇl8p÷ÖpzÔ H¹dÒÒô¶E±ÛÚfŸ*a é’$Qo5ñÀÔÛôÄBô‡ü ÜøÖò¤‰±®Éî@mÍ`wï0GO_exóV~û{O´ LŸz†Ÿÿ Ü£é&ðO¯SÈeÙ¾c/ßþ»/àï ‰†i‹ÙTŠŽN¥z™ZZä¹ ~àWÙ¾ÿçßu ¿Ò¥ãVopþÂ16uúØw׃–‚%89yê$WoLsèà/°ýÞGÇ¿q”r³ÊþGߎUmbïp˜;K&›"ÉràÀAÖÖ¯²¾PCÕúi朘 'NÓ‡7 àë‚¡a7u³AoŒL¾Š×æ@ÓDæVÎ!ŠÆûÈótôÄ0‰v&GW$Œ4:šô8<Üœ½Á™ —Ù}ø1~ãÓßÂÑá qó&Ïüåoa—Üìü¹Ðj¶Ô3Tm¢®¢ ïù…ûøÛ¯~‹¹©^|ò ×Ï-qþøò³ Ö¯T¹ÿ×ZÃÄç÷2ý½orýƒc4Keâù,©bŽáÞ¢žyé>×㸹Å$©ÖMFFÝä¯cáÊ"ÞŠ¢ròê%B/õRËÉ·ð ª´Nlƒ—M¥X+²³Ï…áÉ Ùì4 f“qF‚ž^Šå&n[ˆ\e–L:AG(Èúz?€æp 6jˆÃ=]¼zê(­ºÎáý¿Î£ÿ÷£Ø‹ÿüsî ÿ‰ë—Ýu˜ÞÝwá ú˜›¿É•“Çié5Ò‰%lá"¹L¤062Áöí·²il/Š­—{>üŽÏãT|t’šž&/";5¡õ†ÎÂr‘B¦D6¾‚$ËüÙÿ÷Þso¬j¬­¦R;Çñ3gØ¿w·_¥Ñ¨‚`Ñáö`Ù¡Z)akUq(÷c&^åò…ëœ>÷$W–ˆË¡›åR•šÑ$pRnšŠ&ZË"ߘSCu(¬¯Çq¹œ(ŠL>_¤Vk vNV‹U†;î@F¥ŸåÒëßåÚëÏÓXjbÕììôaÂ[¶ãã¯qñûßÁ1&±v=E¼´Â•Òì?rG Åô ¨»B+UDM”fØÅòÔºìfø–$!J½]=Xª@"½¦ÉØðNŸ›;mav5Í^¹À=›0´…\‘ÄZ§ÛÆ®Ñ âµ5Ô¦ÆÌò:>ü0Ï;ƒäîà¿ôü±>>÷·ÿȾ};1ZA—ŠÏmcµ’¡Ý40Í–æ [žå]=L­Ö T.S,”èîé"]j"íï™éߎÞö¯&ɦWX_[eÀ¶™FÛI£Rcèðn¢›wàŽ?õ-‚nb°ÂhǾòŧضc/å¬A¹¨Ñ¬™¢ˆV±m’¥cw´*ëMÄB–Lê ‹‹¬,Çé ¹qZU‚}*Z]fmm¦n`š:[7òÐ]·rÏ¡\^Äï÷Pn©5J¨N;‘`›¿ÎÅ¥$U³ÍˆÓI$¦/ìä/ÿü38‘ÌÚ6 ¢‘0[#>rõM£…ƒA¯‰ÝÞI¦8ÇÊJœ·ß{;©lYU(‹x¼A$‡Û9ÙÓ¢R/ƒZ§Ò*ÑÜŒ¡¨Œö(”õ4ùJÕµDÑËÒñ§˜Ÿº‰/#׬³t%I´¿]“©W ,CÄhF U¶aè¦%’YÓ‘$ 6†.â÷Øi™vì܆‘˱’kàðI¬,'p(*·C×i5›(8½é4Ñ€r£ HDÃAúºC”[6‚"B —7ÀæÍ[)¯MséÔET ⥠b2Ï‹ÙY,YÁ!Ú›è-9ÖשYäsv—ÅŽÛI¦³X¦I¾P¢Th" ø&W—qØLvï#^'Rñ†Àpix»}ÔUæ/œdùÂk˜V›ªVE¶<ij+tøÝ,Í\§o°Ÿž-"n› »£E.›ÅåñÑnYè: @³aˆˆ8‚%$ÃI, ^n TZ\[Œc vúG;›2ºÖBD, ¦o,Q,i#~²©¥rÑ´hUÀ'8PÃæ§Ëèmá±zøaJíÃãC¼vr¹lí»±™2>Õ.[¢D0"¾š§®µQm:¯;Æ‘Ûo£\,¡µ çÈ£#1.MÏ£Ú$ZZ›áá>êí&ÝÑ0vY¢í¶áoµhšÖÆjËBaœ;—-Òlë” 5.]ý'vï› Øa£o0F./P+k`Ih-“`Det› »Kçü)b‘‚©²°´Ä†Ñ1^8±†„¨ L]N¡ë"ŠŽlÞÎ7ç)øÜ"³k ü𥴀ŽÏ€   ÿׇde=0ËÙ“%ŽìÛ XTòY¢Ñ(¶lçÛß}†è¨ŒÓ­°ž[ÇŠ(JÛ7ÞÂ¥+׸veŠB¾ÈÔì Ñ.dI …\¾e ñjã}ñ‘€‹7¦ …;XXY£Z©që}L]I’±—(W«ì¸ýA 2´Óßû+ªIJ½'ì¢ÜÖh7m„º<> —ÓÍarpÿ¦¯äpy«T Éé9î9tˆ£/^ Xªów‘o΃¥±–.`´ø¼ *í §ž»ÈÿÒW œhõ*NÁä¡#÷ñÒ3ó•¿ý™ž)‹EHÈ2wØÃÜK,äçÄÅ›V¦9µr÷ýÎG˜]š·€ päÈí|úÓ„¨ŒNŒòþ¯H›Çû'%«Å=c£d4¿]âØé«\¼vcg§¸Ä#o{' Ce¸¯É£4&"2ÅÇ/­P-åùó箳åžÇÐó B1?™ùÓÜõ‹#[,¡Î/¬åéìé$<²R&ñ–)]£Ñ Y¯càz)d¬æãäKEvîØ„¤Jä[yJõétš™+ =ô›6ngb´ŸÐø-¬UKäãKh¥4ÍZ •H´— ¢+~¶îã+ßúëW§Ù:a€$«HšMÆït!¹:"~¯/òןŽ{pûc¿­{˜|*N³VBŠvD&—Ör|ó¹³”SyþîÔ4¢$qùû/ •«`·ÞBL-н÷^lëæ«ß|•þÑN$ËNâÚÊ[¦t† ¢Ó3K¤’YdY¥MÓ2YZ]Ãp±_Çg÷2u9ÁxÏf$Sapë6ì¿•™\’z>Mk}™X$D ܃*Ø0 p¤ƒ|¾Èž»ä–}û9ýÂê§U54¯H¹ÕÄ´š¬¯4é ùøÒãÏs߃}|ðgânÌü¢^Æë "íÛ38Ùª7Ù³e‚‡ßÿ[$§3<õ'_bùæE¤Ö2F;…ÓnG±ÙÑ’³Ä3)Î_žB˶ðÙ»ÑëP)Y¹y‰L¦@-gáô4ºayá:o{Û;ùÆ?|–T6E&&èÀn±Q01Í6¿› QÊ5@…S§ÎRNê3cÛwàqú9ðèÃ8=v§O‘»yŸ¯[LK¢k`ŒDbK½YåúÕ+ØZî~à^}þ¾ô ’•ch|Á& 8už~îË—ç¸û‘Gùè'þ¡‰ƒToPœ}–J¦ÈXl©7ìŸìðlÃjHÎ&Y¸4‹%—Ès( —CBDÆ0Ú(²ŠªÚè û©kH–Ah¿eJgYv‡ŠªªÔjušÍÍ–ÅÊú"+skˆºƒ°c7#Ã1\ŠÀ¦;ßÆÊµ—™»yA)­5‰ ‘I.â Èx]ç/œ$£Ê*Z»ÊkG_§w z¥À–[qH¯žžÅåÐèëîenf–HW˜=»³íðýø†î¢xý*¶Ò2åZK_Â)ÅæW²“Û·Ž¡5S#ÕL²sG€Tmåb†ˆ)qäÖ#H²ÉÜü4åJ›ÄnóS+×0š±2ñÙø*!øÚ >Œtn·SÓ¢;¥¨‡3ޠѨa·»Pí.ùâù3—iêí’I±UgûÄ0©D‚f]GúBš•ëK‹ÿi”n}=Eaͤ»«—PØÆõÅ×i·4º†]Uú|Ü18Œnè\I'‘t•¶¥ÑÝå¦ZKãu¢Øm´¥†l`W”\=^ ÊÕ<¯]ó$÷üò‡ðx½?3¥ó™"j»Í†>¼á­fƒDz Ã0q»]¬Zm¥| ¯Ú¢Å†ñ©Ü,ÝÝT´$šÑ  àõŠÈ²»C&Õ¨’Ë'pûb8l6vîÝÁ“/~fÚK(Øeo“kä1d‘¦Ù"±'–8yã2NÇÅr›Xç¿é>þ›“ÿó3? ð1¾¡ ³-â“}ø£}h5•Z+Çk¯MqÛ°·`ñûxíG?@~Lé¶EýdëÕ·Dé‚6;u›‹ÅD‡ËÆÛ`~i»ª0·²L:ŸÇí°³mbÉd’®¨ƒ`T¥MŽ®NÊ¥rQe™®nn¯VQÇ$<Š —fo°w`•j•á¡jZŠK§—yÇI´oà‘´Ñ¬&—o\¥Ã1@»ÑÃfÃiЖ¾öÿ0ùÏ\%_ãö½ãlø“Ï}“{>ø;ÜûÀmLì{®ð±mÛpÛyü»ß£g †d³¡!Po´@oñf(]¾l£^k!J2N—„(KŒŒàt(D;ýdÊEB¾þ€§ËNShÑ áw9±‡üx|.ê I•ÁH& X¦„3 S(ÔÑQ²Q)¤Ø¸¥¡eGE ê˜*Ü\y¡CÔÝ„B*6‡‚Ãë¡T¬vÑêAU̬]Fˆ:'ÿ—€;q⇠t“]™á;¿Ä¡GÞÅÈH7Û·lCñGq j‹3„CžúÒ¤Kë\º1Íæí[Ðëu,Q|S”.™Lb˜¡¨ U‘i¶ZÌ/\Ç&:hK-îÙµ‡²Öbxdˆ™«7¨Uë†Áéçh”k,,,_]gptˆÙ› š ‹ÎÅR‹€êD³d\‚I÷†fN§ txQ Ñ##´Z ²í%Ä&ÃA4QÇ­ª¸;š´êuC.g¤ý¾ÉL6E*aãÆ1k3|òñÓ¼ç#¿Íæ[ïà–w¾9Ô‹lYôúÜtwDðúƒì=¼…B©É±SsÜuxjÕa£X/Òjäд ;·ì \0hµ‹¤SY®\¿†?èæ¾ßø'žÿGÊÕƒƒ½Ôê5V×4,ÁÍOç ‘¬ã°ÙT•jµŽ(ÚÙt«Ÿ—ŸºÊÐÐËK‹H’“D"N½a-ÄÉärt ô³–^ÅëtÒRZTÛ7©«ë<þäQ·t÷¡“'¯^Âa—9zôÏ>}’÷>vÝûq†&èÙ=L£Ö$ê”igÓ¸*þ®AÒë äSËôöuñÒ“O_ZàηßG©^¦¡ëØ­(£C]ô óõ¯ü#ëñ}ý|è¿ü7£ôlâ+Ÿý'N^ã¶CÛ±ÙlÈ’‚Íáæ§áS²$“Ï‘ »ÃŽeX&¬ÌeØygÓ—q;ý¨Š »â$±3ØÕËå¹›´Må3Klܽ‘D:…]ìÀ]íæéoüɤôè]û& f›W–ùÁ‹—߸…ƒ¿—âê ‰™d{•>UÁÖhÐ*åI§–D'åb]«³4}•‰[xöÚ]Þ7Géº"Q"ƒãtÚ«¼tüÔÇô\¡áòڔŠMî8°ÝÛúyåô»„%]4Ñ\ ¦Ká;ßx†áñÁŸLéNJ¹4¿Ÿ…¥4k ÓÔ ¿·@»ªó“ø”áVH h¦ÁèÀ0?xâ,¬¨7M>÷•O1ØßÏÍ«H­ÏS,äxèÞÇ­›ûø£¿üÿøÏ“^œç‰'ž§§+Œîié¦n!gÄúzDp¸üð™oMJŸ}ò»“w?t?ï|ôíÇî¯^?OÕL£êA’«m,KÆáˆuÛŽ`S$n®Ä©è&·“ºÕäÂÔs5ªeÑîÃôõÿ‡”®´žfnašv=Ãé£Ï3{ñ,U­ÅؘDïæ!þ5Ÿš¹9ËÄîÄBa4Ý@· ¤rÖW˜egNÎpç¡ý|â;Ïàè݈-:ŒPËÒõãrtëêcã–ÝœîxñÙÐÑcf} , ¿?ÄÛATF»É•ªÿbÐ.Gû‡ˆH"‘ˆ´!kÛ²òå/ý9‰|Qlsø@~ŸÈ˧.èbSlªLÁ21u“c¯ÅÙ3ÒfÓ¦;Q ÕBº+¬¬\eÛ¡aj–ˆnŠT‹ °Á믜¡ÒÔPÚ5bãÝ nŒQ.çÈ¥DlªÅ‡Þ³Ç@„OþÉÓH¢€ ‹ì¼}Zµ‰ärR,Wð:¼¼rcŠâìÛ½›[l"¦¯#oº“öÒ"­\ަ¥#¨Ery…Žà8ýê‡yßÝááö;öZIòô7ŸfûÆ-$ffèêŽât:ÁÐi¶Z˜’„ô‘_ÿÀä?pÒêâ5L£Í\j† [âÖ[CÙÙÃÓ'® ;ìtyý|î»O™è ^¬òµï¼JgÀÇĆÃHª§â&_Já‹Öþ]Jî÷òÂS/0±}=á(o\YÂhòo.öO㕯qìØgÎÎqíÜËSóøÅ&5Aáð¡]Ø úyâsæ_ãê©×X‹ÇùáÓ_gË-;É%‹ŒuøÔ¾†˜K0¾e wì?H½RâÂù³¬4:»£dKÙ1h—Þö÷OþsgHN«§»S8uþu6„:p¬$ ”ë&‘h„³§ÏréJK)²6·B‡ÇKtª%è¦RÉQ.Í]ký»”îðã\9?C±œä¶m{8{ö†êø7û…l†£†‚Nölìe¨Ç‡,j$â&Û¶ òðÛßN:é#Ÿ† O~“å«?Bòúˆv ¡µœôöË$WëtÄzÛÖ§g¸xñ&wÜ}'™L†¥é›lݶ‡[¡\*àvº‘% , éÇšüWN°ÙÊù?!›‡]Gòk¿þ>x÷#Ì.-síÊe–W5ݾ‹v{€ì’Õ©$k3'©•."ØeÂÑ[vÝÎá;ÞA¡t\NÃo‰üüû>B"žD’4.]zƒzÓÄ2Ú¸}^ÜNÇÿ6h—ÞõØC“ÿZÀ!‰øœv^8óv‡“[vnç•—ŽrîÌEü*ƒÛéÚHOhzÝÛç£\©P¬¨iu¤vQl`4ã„\ý,L¥¹ex7o¬\ÇÓ¶è2énã‹'É4ªˆÕÿó«Ï³ã–aÜNn—KÁ‚ 6ö ñןþ4_úòË ô±eÃÚ­aŒªƒJ±E¥šb`¼@¨·‹Á Z% AÓÉdÑšàöU¹õ%&öìef~š…ׯîTxãòU†ûD‘v³e´ÚmDSWIæ4­<åÂ×§Îa6›D:ºˆE»éïíáäɳ?;K²\a°gŒ°¿›ht·7‚(K”+Et£A«ÕD-$KÀ´µÔ&'o\cj¥†)øän;ÄKg¦j6áN—› ç®òîûïäàÎç.B‰Š8U…R¥Ä¡;ïÀðó±ßû}n^ŽsèÖAúºÆp¸vâCÈ‚ìbseØz{þ@Ô<ž®\9Çã_ûŸúó¿B\<†Ó§Ž£Äo–@Qmèí6½½=ÜuûAnί`š& ]½1¤ý›'ÿ-çö-¯Ç&”W|ò /³yK ›Fˆy;éP4["õz$ƒr¥$È6SW¡­ ¸êœ»þ*a÷ðÿFéž8öÞ¾“9½AWg?+7¦èò¹Ø½ÿ6¾óÌYÚåÙB\6‡¤˜üéïü5gçÊ챡?µFUòaZmêÍÅÊá‘¥„@.ѤUµ¨ÔSèVœ–n§¹ÜäÆñ8šU¦VÌ35¿ÀÙ¹er©s+klÆfS‰„ˆ¢HMÓpª*J iëàÄä¿#à‡ËÏ×ÿ韨Ç+ì>²…¾žn\v'©dZ+‡n5pÙ\tû æróxíº=eì¶$S«—dK‰ú†ÿ¥Ó½%´¶ A•]À×áe]k‚)ÒÝàûÏ] ÝÈÒëâoþòkppâáÎ~Š%n§ ¿_b~ê5 •ëì?2A«¡R΋Ø$•rµˆb!½¢éé§ÜHàwˆxì2¯OO±më±p›ËÉk¯ÿû)„´£?6ùï ¸–Ö0‡‡Ç…` º#Qt]`m%I©RE,UaÀoc!_³A¥^#Un‘kU(UÒºÎ-éèhѨ{¨Ö›r 5B±.\…r©JÀÏ|¶€j·ÑÝÓ‹Ml‘/´)åóø\Q¶o8ÀÀ¸—Ä’—`(4§ŽMËpøÁC8¿Â½wíÂmwS¬–1Z°t}K3ˆ„Ø\TÉŽ ¸éì¶é2õÆ’™ étž³g¯!a!(9º~ü>kV옆@«*ár:±<5F†"¿<;?×ãQµšLË(26<Ì…¹YŒ6¨‚B>Ûd=U"W¯ ÝýÀ‘É· à\¹•ˆªè%àŒ`6$ñ&-C@kAGÌÎO›™ß}ëaÎÏ]CV$zblÞµ ÃGÛ²ˆ#¨ªB¥T¡^XçÚÍÒ© ÛÜOߨn{äX¼ò<¥µ<~‘váK?N!¼vz{Ãx=îÏõõÆÄÌš¾Yu´¤fMFªæÙ¶k'ñ…<åJ¿ÒE®§a•‘þûg??ùV\.›²’_h6E0,tÍ i´,§ßBWªÌ­Í#ˆºnÇczXl½Î—?ûr…½o{/{xw<ø.¢#„ºûÙµi¿úì?‘Ë/cwÙp‹.zûú‘Z½…Çç¡jÕyíØYæVg0j:v«M¾mò±?ùü›N!\›]ýE˶»½¢æp:Ìb¡.ÿ‡)Ä}›ƒ“oQÀ gÍ€)+—h :–nP5‹´¤<™|–Ÿ%3ß·g‚rµLU«R(æééî¢&4˜»2O¾Rdm¦NÿÈ(·Ýy7ïþÄçšK„¶^Pœ.§ü“RéûL¾u§S®Å1“–ÜB³4ªÜ6>%ÈÏœ™»ƒ´4–®±RI0uiŠl¡„¤ÙéÞI_?Vo?þž¾ŸêÃ’·’BH·íŸüi´©•*Œm#[ÊãÔ]¸^ÀâgÍÌí±ª"S£ |¶5™›oG°»©WãëËå:ñÿÃ)„ôž‡OÎ/ÌPo4Ù0¾‘ç^>C.W¤’ÔxçoþïØ2ÄÄ–¼ÿÿO-¹Â·^M[°&û·ßŽÃí%_Króò9¦ÎO³vÒ¦MwRÒ4,Àdr·ì¤QO²q°‹×t•o=þ-f.gùûÇ_cÇ^?·ìô£9ãÿ_ëv³Ó4püßµ+ýÚZ°€,:C”E_À„'‘›/N¾wcâCxôhb4£(߸±ÑÚ®…vm×­õb<<Ç/?’2bÙ¼ÅB]¢±Ñ&ò/ÈÒI®RÉOñâ’4£iÞaoÿ+3ræµ£~{y™(NØÜ¼ÇY¿‡?òñ\‡4MèJXÆ«æí”Àq¼¯ÒíȈ½/G»7 paÎÚz“ëxLšŒIŠ”»+AÖh7 â"ÀàEzmo¯_ýnæîuDEŒ1ç,&áu£àù‹7ì<ÝÆõ|„Ê5] IRŒf‹dtDïó{tI"Š]®ã+*rA>ÐÍÊT±ÛÖwoàC ¸mÕ)015“•zÌqìeAèà¼EóÎ ¿ã¦jSj1¦¡ñîÃ>vË¢Û}€óñî•Ï$ôq½­N‹rZºçˆ"\…UÅ " È”ŒÓ>q6f£³>ò_ýŸ !æQ±û€+ì¥áßNA©*Tg ÓBiJ˜»qŒ¬/YtZ«äù„ÃË–a¡ÖkH¥B6)3]D–U?ÙfçÙKö/98óØztU՘Φ„AHU³]lÛF*!ËR‹MNOÎ;®38m,.Lúý¡R³æµ‰ªŠ¿*„ð—Âù ¯³gS§AIEND®B`‚pioneers-15.5/client/gtk/data/themes/Wesnoth-like/Makefile.am0000644000175000017500000000266010462166770021074 00000000000000# Pioneers - Implementation of the excellent Settlers of Catan board game. # Go buy a copy. # # Copyright (C) 2003, 2006 Bas Wijnen # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA wesnoththemedir = $(pioneers_themedir)/Wesnoth-like wesnoththeme_DATA = \ client/gtk/data/themes/Wesnoth-like/board.png \ client/gtk/data/themes/Wesnoth-like/desert.png \ client/gtk/data/themes/Wesnoth-like/field.png \ client/gtk/data/themes/Wesnoth-like/forest.png \ client/gtk/data/themes/Wesnoth-like/gold.png \ client/gtk/data/themes/Wesnoth-like/hill.png \ client/gtk/data/themes/Wesnoth-like/mountain.png \ client/gtk/data/themes/Wesnoth-like/pasture.png \ client/gtk/data/themes/Wesnoth-like/sea.png \ client/gtk/data/themes/Wesnoth-like/theme.cfg EXTRA_DIST += $(wesnoththeme_DATA) pioneers-15.5/client/gtk/data/themes/Wesnoth-like/gold.png0000644000175000017500000002677410355345405020502 00000000000000‰PNG  IHDRHHUí³GgAMA± üabKGDÿåœn¸ pHYs  šœtIMEÕ "3hœ&B IDATxÚ­¼y”\Õuïÿ9w¨¹ª«‡ê¹Õ-u·†Ö<  @3˜cLŒ‡ØŽ3ü’8Îs‚óœ<yIœx$ÆÄÄ?À€Áf f4«¥n =Õ]sݺ÷¼?v‰–€ØÎz¯ÖêÕ««úÜï½ûœóÝ{÷>¥þí“ ½bÔ5CÓbxõQ8ÞͯåKa͇Á€vx¹{+NçjKê”IÈ®Â>º…Pu5œ| 0`îE`ûa²Š9xáHff®¦›üÌ^&P¡@»|1ÏöÍy’Óòy&Ÿýœ=OÿLl­€Kî3 ºg·Â@/ìÚ·~¢•ÿ׸¹Ï~‰¿SIè-/Í ¶ p¼ ÿn¬‡Kï~øU<Àx§Q‡hÂaÏ•ñ®'?Ÿù"ìý5ìØ=smŸ]]óÖØT5Ûøƒc'ÐÃ)@m%б] f’§ Òv>ë!/F cðý¿§t®·c7y™6ÿ ܬºï³ ]pä†g·@z °òJˆ¶‚[<è ‚Õ°w34Ïw:;àðÑ™÷[ê i4´Aà øæçf>»ì ùݱFOƒÆ`bÈ£i6„ª,^~J3:ì’/Àç¿ vt º·Bç(e@™`WA~&OC$¾x ÷€ p=`â²+¨ù-¸ÙÑa7t×Zw t¬%L€×7Ãêë!Üé~xí1Øx4\ù>VÀë[Ñ€:gTm@G—l§†6˜ž€Šˆ'ÄÀu]лõÂm[Y™$œØ É1h™ë1p ÆF ®¸Óf͵&'öXÐåáop)Ã}_‘±3«÷×ÿöÞ”°îÐ&ô¾J•WOÍï€:±¿ZÐåEý .J—Zç!?#G¡i…€lþ>L&e©E¢°é#à¯íÀ¡§fŒ:yŠ&EHÏ¥ Ÿ…“Ýð{ v\áåÁ+ʵµ'[0?©9¼ ¦&`vØ‘”0YIe›¢0é²ÿ¹+®…-?ƶw¯Þ÷¢„¡¢‚õ»âŽ•0kÞ‰«´›ÐÏ}ºOÉE>û¿áìôs¿@C C0 – ‹Ö¢«XÚiƒ‚[95|šæƒ¯NJ%°,ˆÕƒ/ }»aÖÈœ…¡“0k%`(”nÜ¢&= ÇwËø3gàö?…ÝÏØïá8pËŒÂã?‚ß…¦ÏÂÔ8Ì^ÿ.\­ \7õpõýžr0ïý›ª{ç¬p‰ÙI±¾¡P§Ž É•( ŸƒÑ~”ò”ò™6¾hàÄ[Ï«M²Ù&aÛS°oß«ß:ØýŒ $ê B šÊf0|ò€¦_~Ÿ‚Óaî*ñRk®†Þ]ðêë¡`þR(d!QW|Öݵ50ÚëoãdaËBKTÌ…ã¯+âUæ;q•éÇxÜ“k®¦ªŒ«]e(0ïý›È½^Þãô^èé#ûaù%`i˜N‚íe”ÈÛÔ” ~ŸS jL ˜…pTVÜÊ‹…P‡ /Ü« ø œ)ð¡”בßÃGd;*šú©_ PçðË BaEÉÑ4ÕÃì‹¡n9˜6ä'`â4,»¬<óo°÷5ÐO¬9`Ä!Ù§ÈüN¸¡@c•qK%G›€l±—¾ÝÇá†A8Ю܈öÀ-1¤=êòiÔDh=w=êÔ.HMÂø ðT0™i‚±qp›†û ¶¡‰W{ÔφH5Œ–±C§¡¢Ž…X–®ƒºÙû߀BVcÚ±¸bõM`„м%ðÜ/à=(êG¶+òcÎoÃÕKסʸùBVLÛÀrÆ`íÍÐýuxêÇ`˜C¢"q<ÓD…bÔ›¶¬¤¶Å -Ÿ²‚.¶á’‰q‚ÌåËaBK‹I&g²èJÅàK¸ŽGU=Ä 5 N\ªêáø!H¥å'rÔ`ÁUŠ -~ÚæئI¤ÎÆ‹aúc`(ÃRü®”°ìýÚ—xä&]âõ¥Qçáªóp]ŸQÆŽÔÙ±2LÉ>ì\ gϖé,LŒ@1ÕÍ8ìçî+lóþO…0~=EfRÃ0Üu-«–l격™Aù"r—^ Tt‘ꘆ¡S ÙiȤ¡"iS"õŽEй,‰RN“™€Š¦ Êp<(‡W¸<`ÎZè¼ämJ@{nôá º¿ ·àÐÛ±ˆùeÜÀy¸½V¾:ó/ƒ¹ë g¼ü,¤³0 øì9y€5gaÙûüdÇvíýûd7ÖC u­XÊV’{E¼|–£/—¨i„¦.ðGÀ€3‡ âuPÓ.žF—\ŠèÝírb_‰ë>§P>M欇/ö)Ó„P¬LäÙ©1Mem7 >?¹3‡ž‡»¹¦¸ác~×:7i}âKîƒñÓÐz 4.DWí”(yä,½„UÑå@¢º@qÒaã&Yi;¶É~w m†RÜd ';Öi²“01èqd§fpØ#_€šJX°\¸¬vŽ*Ö ñR)…$¦aä Ÿ„ ×xLtC0Û~“ãpÛW¡¾ †úe E(äÁÎÉ}Åк´ãa˜^ÄO¡¸AÏR°vŽ“ôˆ—qÛK9ÂçáçãZ¾XaˆvˆkÕ¢ný+P6@%hÏÔn±ªU©îÝNõWeë 1z.´¯$OÃ=²)Èç\,S ËÊÿ: ÃØKPÓ±:ð…À AªJY˜” <›‚L œ<<Ü~NŸ¼ßB h`†b&‹¼ö$ôÈ1k4·³Ïâ²2nU)KÍy¸Þù¸–Dã¡Òå;ç­ZV‚ò;“%ìˆçë?êTÝ#1‰SŽd²”ÆOÀ›OÃРp‘aŠQêꡱIf>[ÊdüÔCð¾ëaþ¥P˜€püü  S"äµ›`ç Pûg0°W®7Yø­”ÀÉpŽ’>úöMµfÍ‚u€\šË‚oã6ýüôy¸Éµ›ˆŸÃ5´‡[Êé“H5Ÿìd@ÒPÊ3¸«85Ú¯ß~h§lÄ9‹ÄX}G`Þ"øÐ=pÇç¡*.7}æ¬jßðŒ0·šç‚@Ž¿*ÔÕ2û!™„g—1-s¡a¹„ç(áÌv0Cиªª…‡FN@U%t-‡…K¡¶¦ÈÔ©1ܼCË\¸äVHÀs½ W•q§“IÏÇUÿò‰„[ÁøØ×ÀMÃÞ_œ%’Óì|,•âF}~Ègáð Äjª¡sÌ» J)èÙß—?¯ m’4Ķ!‘DÖ°!6çÜ6†ì)Øú¨x°Ö50p6?"Ÿ9e=éÎ/€/,r†e %è¢îU(`™.£½0Ö/òF.EGÔ¶•Ü4V7_ÑÊnÇn¨'VÆ=¥t>¡§»ááïÈl}úkpÿ—ÑŽ#žÌ²àþØ5rcÅ$øâ3³WœŽ= o¾*Fèë—ë-_*1Rû:ÖÉöðG!Ù¿|&§á“_‚è,P~ðr‚cøË Žœ‰cm+nA³ÞݲrµÍó!ÜÎ4ŒÓİ ƒ±Q“ñaH§4…¼Ç¼°úòÊOà¿ÀÝ¢t)¡QøÁßʃ}êÐùiÔàa‰+ž~6]Í+ÄÛ€µ–\Íó`èI}—‹†l?tF˜µ^UÔðÊ¿Šäj0»Y¶áø,øÐ'¡¢þ;yï¢Up`ß gÛjøM”NAj¢1XuT5ƒ[2Ѿ ScٔǞW‹d&¼ß†»E¥Ž%t¤]f®0!KßÎ<˜›…ü°dÉSCðă¢Ã¬»Nf3ØP‰é³1üã€Kæ4øãâ Lja*›!P [†ÓÝ’·-^ u©‚;%Ö1 9õpt ÍiÍÅ’wŸgq÷ÿ\xþ{00¡$j%cï>%³Û`ñ¨[j’›Ž¢1˜ìËC6{>nÑ4ð•qSGw-ãîS»:Þ¹!1@fJ%²©qBV–]ûž€7·ÉÍœSï\"A¸ý/„Ãx¹4ºT ÿožy0·¬ä}á_¤22}F¸ÃuÀ6¡º¬˜/Z×Mƒ“†bFè\Å´ìïœ@_~¥s0¸'O°'Ïó?—hÖ0%›_Ü .‚Ô8ô•÷¼’,ÌØl“h£ÃÃI‚/![vü0TuÀ3ÿ":³aÂï j;eEF!ÔÁš™‰ÒÜñgpŽ~þàÌýM%á§ßÙxþ—x[+î'Ú\"ÜRƯê|O܈~3¡_ÎÌìñê ¨ˆÂÕŸ†Þ­€×ž™‘:çtŠ»Ÿ¿j@fùîÌMâËh’ °4%ÄgD¬ý :Êæ> :G¾FŽÀÃ?÷_Ï¿ [Í4`á<8Þ3óÐwýü&Jðò°û1Ù ¹,œ<%S}LM›,ÚàcÞe`Ø‚;pÞx æÏ'óü ئï|\uø ÝÐ v@–üÀ ÁJM,¿^“ÐØAè~Sb˜úvD!Ú$³ê9—'àß¿*F^µ .þD™ÃÊ„Þ-PÙ`ˆ[ø«<”å¢lgRƒP*BEXQH Îø)xô™UÓ€| ÞƒHË},»^œƒ.ÂÄí‡Y‹„/óÓð‹B]‹Áû?çQÜ@ÂöP¦*¤🫾öÑ„øaãFhœ5ó)*_OÇ1%tz_.{’"‹"Ô·BóE`Fäf”Ofï…ïJú±ò*ÔÀÖÿ_* Ñ«õ°`•ˆèÚƒe·@aü†T??þixàû3+fÓ&Xõ!(¦À‹‘_xæ]”À9J¸çÏ!Ô,<2=UsÀ ‚›‘‰zù>©ÝÝþ'ò ®c(®¿EóÈß«&ö$ôîa÷7àÖûaö¦ÅÉ,v¸„†m?)[äÌ«ÍÀø$GatD8lÖ,©E…£öw€‰$\¼ºn°Áó(»¸EÉÜ¿õeÁ¿ùVѹߋ&`Õ­f@qßò9ñ²çŠ óÌšµ[„£ÝRƒ_s±à–Š>’g}ÄBé-n‘ËʸŽuäW’KYað (LôÃCß;¿$ECgRöþ±meŽžxnÿ4„ªahÔ`ªªx4.‘jÇ¡7 •ºqõ± H4É6Ý·Çå:Ý ëzØòC‡Ú:°|pê(ì=$Ÿ/Z +ðáá|J˜»QVq¶´k¢ü6÷|Ýã¥À² lLC³p=hWÓóTׂÿ„â'yt]¯Ý_Ä 8øm.›z7i.« ß;~ ~v?lêPÙ {˼ÓÚ]×Àø!øù·a÷«Ðßž–•e*8¼­ƒU7X*mrhM¨\UAxñ%h¬ƒ9 E¦MŽÂÁ#ÐV7ß K®†ÑCðô“0EÚý–ÜÃÇÿ¬ƒÁãpùuPš†­í› Þ"«¬0'÷*lÓÂ4læn0hl7PøBмÐÄS„#.ã}04 ·~Ö¦c ŒÖ<ý$ÄC‚»ÿðÛ¸o)o:¡UÆ÷ÁÿM>°Lð—‹{Ÿû.L†×Ÿ”äs")+!…dJô—ù+m–_eá«0qsý}žñI/ü³ãä1U gÝ÷g0!¤“pð8|áïÁ_ *ÀËåyõßaõ0r\¼dÃprत/ÀW#ï—)¨ü=xŽíƒÆ~:ÖVà‹( [ã9 Ã2@À˂Σ=ÈšªLn…öåEv>,¸ÃÇ„˸ÝÊNèRNJǯü§ÌÚwÊ@u=Ô¬„›¡çˆ^…",\"eš@ØàÚ? aW†@—ÐníäÈ ¹„šÄ«ýãçg¶êŸ|St'¯ ¡†áÃp`;\ùy/ëàåÁ®…þ.» )øöW «ªP™J0…0‚Ò/Ð÷¼ü4`›ÜðI?áÚžká‹€² @u(¥=40=`mPø.}Û¡®ý½qÍ?¼5|ï¾£Ç`Õå°á˜> µíï¬l€¶Å&Á Íâõ=Ý ; ˜¿>Db^t‰éÓy^{8Gól—@¤Ž ™Oœ†É”hǯá’;4ÊQ6aH†çž5ê±õ)¨ŽBEè$ô†@QXuµñÎð^”P1K  ×j*š] Út7—C©"ÊvðÒš}¿‚‡~o½¡ÙýŠfåZƒX³É©74Us÷ì¡\3á…ïŃx¶¼ }'`ÝÕªIãÈfxî†lâÍ>ŠŽIs‡EM‹M]G Ë*1x`š_?˜chÀ£}„pêuñ4+¯‡K>¢Ùp3l¸¹¬éW¤O ¼ï£Ð² æt@ß1ó»wÀ‹[ €¡>©e-ÿ¬º:.…­°çM8rH 5x–¾Â-€«É hžÿ±Ç¯öˆºšºi°j˜j\ômÛ‚ê"1hª›÷¥ópÍ+‡ï]¶®ø(5LŒÂ’ËD·)LÁ±=0>!RljÔ%—rih.áå,¿Æö§ÈOìz¥ˆçÁ†[%x¬jåÁØIØû¤¢mm9wJ+ì¸Â™‚P}9~J”¥§\[?{^‡lN‘8'Ñ(+YÅIiæ*Ã`9)žœw [a×/ੇ!†E]"Àwoƒ†°£²²„UË`ÞjB“è‚}›áÀî qÕ[%tϸö àù!Û Þ' û¢+HFp¿bK6Ô/öaWZ€AfPóÀߥ˜ß ï÷iÕD»/ý³bÓŸh2Ç¡ ´ “' z |^|Úš¡}…4=ì|6^‹e¥az~ü]è˜_‘p2¢1§ÇáÇ?Ö¾ÚÚ{x*ãÒ3”X =»aÉ "”2àî|ªg î¥×AÓP¥©„Iû‹Óy'eÀx¯ø/?-.=Q M‹®‰b…ò¸™Ù1“RÁ#;R¢j–´¼Œ†ÄEš÷z½¡8ù,}?ìø\ú1xè«Bþ¶)²þf×Hï!¶$½Z‹Q¿ñù{Nô”ëbKÀ’u’å20pfÍ+ÇZ»$‰®®€ÖvXqÈ6F˜>ÇwÀœ¥®…c¯BmÔwÍàZÿXîŒÇàî¯@z^}\Ü·Unh,o…e¡ñ¢ÃË9þ,¸¹$-u]e~9¥H,wR1Õ+AçàYyø®KÅ‹mÙ Û_‡Ûî,÷)v–«¢Þ+’j &AɃïCÃl‰š)Á²pÉmp`‹t“ì?ÃðH« ù¿pæÍ‡ƒ‡ad ‡`Ímâûß„'~ W_‘ZÑ f/%ròØ ®úÚGoOõ¼6i‹DÁ„æ¹Ò÷3= í«!Öj |1ÜL’#/¢›t¹Sñ——R([¶Å9!ÉÍÂDw¹*­%©h—,%„)Ÿé"¨ dNI[ßÀQqÃ`zr\ûià,MˆNnú`ª_e+¹DÁ_c‚¤4£8í¨Vd†4ßû*lX ko—æ‹RV°6ÿ6}|¦àZ†‰ö\yÌÖ¹Àùƒ0{‰T*M´..˦B—r 1Xt“ûžÆ0¢n¯t·ÂòÃñ7¡©]8%7!Æ›î]¿”ÿ[y5Äša÷°òV!âp4­:Ë/Š_ׄPò;ÃV…Ë\僰gÚ =d¢=·hQH™ôÖlyÊÁ4 “ñ…‰· ,X>8².¿KpUϳ ½g+œ8þ€fÃzE¢QR‰tR²â†ˆ5‚å—úuÏnñP‹?|ž!4LRÞ±*èú~ûý©ƒŠh‹TRƒpÿwä£{þªÂ×ïš¹ÌÝŸ…ÄEí…G¿w}SVŸYƒ;áÁïÌPÂÇï•’‘và­'¥'qhnüã &Ï8¾=F‘É(ŠD£à9– ³:`öF›.÷íƒÓg¤¬=pÖ^*ןиpøØ» .Z¡ˆÈý§¥†4{>$š…LSRb^*±Å‚dÕkîÑ nUD³ø£™#­¹È§Ê ®!*Ò(^ Î(|÷¯¥ºñ©ïÀÀ›ðôO$ûÏàöÏBãøÆ=®Ô¶z¸é ¢¹EñN/=©,d2"ì§ jã 2H< wü-Œ•®3×ÝÏBÃ|Ù1ç„õø?Áå7ÃÒkaé œ|…ÆÔœ>!„eù`zÚI<1Ü+­n³—K,£€³/(^~Zô߉$|è3€a°ÿ 矿ðÁL:gÁwɲãðGß–øÄ™€ý/C}Ò˜N‰@ˇ޽•—¬þÈŽˆÞ]½®ý¼p¿Lâtv¦`ðNüdJVtbq™( PÂ¥² h@•„6oX¾÷­=0qêꉶÁÐYÅÈ ¦¤%q­i(“t›AUÆçƒÆ¥¢NŸy´{¯ˆXÅ\yÔ.2AYì|Ö¯×;vžZw¹ÜdE…\ß A¦OVÁSÿ*uùéŒ$ÇùÌë„‹nƒ… `nä'ab Žƒ}Û`ß›PƒšÙ&VÔOÇ:ÅâµÖšãÇ †ën…Y-pæ4´·Á w[øQ ÛB)—±ƒš¹›4¡”²ÁË’ÏL’²¦rbáã'¡ÿûà¹^qí&ÓŽB&+Žð£|ìÊù3Et¯ÇËOÀÄ„Œ_¼L¾ªÚ6˜!Úµ™57OÏQ—µ+¥ lî‘¢^í˜>;—ÆÏdJ:@gFüÌ—¥Î–:¹)h\˜'”ðÊK3[gÎ:3lSÊXLž'ãQ× ÿœ¶‡¨—m’j1þ…ŒEÐrPþ Úç¡s©ó„/ÜFÀŠ¥|ã!m*ããøöïté˜gÐßëQ*‚‡Qný £=¨h(’ìƒÙs!pÆÇ¥9»FÇajÀOåÜ ”á±è’¯>#\ÂnX¾PŒc°Ü%9”KC.Ì› ]kaöÙ>›¿-ïO¥„LÏQÂòB) ?ý'ˆ4˜“.?ÿç"Žã H!Ѷ¡ªNJÐ5ÍбZ4j«":‡Wt™8OüÜòQWý> eaÜõM°.¾ ª[¤uä9QÚúaý ‡W~£g= £J¡ðØûœl?@ÆLg ¹ÓÂ_@žo¸TF à—Õázg¤{aá•лâµP}FÊÖ 7Bn¦z!—3I´Âèi¿-åê', y«¡m=üþ?ÙûKiäŒE%`LÅ ãã046³*7\}Äeç–#mLƒ{ñ·ç;ˆü˜_ÿ‡ð½³¤~å³ ë*YI{­h]iв@ãsáÄ.M¤ÂÃRd‡öïÔŒ¦߃Î2æø>¸ên?¡º0P@—²l¼Hu•¦‡hH [Q-òE¤Iø§j¶A´Æ¤ižGm›DÂÅ,Œœ„D«"·8­ŸÐ¤óÒ¤91ÝÇ`ÙÅ`ÇÀKÃkOHÊ ÉO("žshªã’½ŠpíÝ"—Òâe—_›~^õúÏdåYåWy¡Vûòšš9iW™„ºPLk<²ý°ïX¼Ñ W(ÓEkÙu† ¹Ñ™1fØF—lÜ"f7WÂÍB. ƒ=’š¶äx” ƒh£Ibq­]´ãâm )Åè‘¥´^drú-ƒÏ;ŠB Ž Ÿûª¤$áÌ6ƒWŸõ”¼ñœK÷Ür­n9Œ+nù+?¥¬Ç¡ÍEzƒ„Ën# ÄŸþ¬PçÜ¡—¨üÙ„þ÷ÿYæiwñ,£k>´-„¦…&þFÎydG%?Ã+‡çExìû+íš‹×ÃæÇ üX¸YÛ—Þ¦ÈMhžû©Çø„?º”£gwž©³RxòGpú¤Dô³ç gLŽÂå·ÀºkEäß¹Vn„9›dõ÷¾Õ³¡n Tpü˜¤(‹BOo™C-HÄ9™aÑÄ€6£¡R0\¯L°•ë˜ ÉYÉAì4¨ü™„6üôjטíg|nŽÝ/Jýú#¤¢Á¤”)òÌŠ\ýQ‰S ?hWRsÓocØ ¯¥‚Æ´5†¥ñ Ç Œ Iá°¾½LªŽA1g¨ – ã¢ÝJ(”•â_?áŒßø!h^)Û%<–”­eŤßùÉŸ–•Ïð¾»Áª„☜B\¸ÞÄɹüô'ðÉ56nqõ²…­ Œ“^¨sÂ?õ‹™=zØ+Á¢"m›¡!‡ö6;–gä¨Âô<6ÝÓCâÞëÃèa#X¤T,rd‡‹‡"‚ªzÃИžG];Cr~Âu!sÎö8y¨¦‹/&Ÿé”Ëü.‹ù)ò)éP;pX<‹mÃþ7¡õRÀ’¾ê¡nQ:—^'øæŸÍóh4löålråŸÄЮE6å°ìàgz(¬‘~Üñ)ÜBßå ¬`Ü’¢÷¨ö¹y—xƒAÃâ—Üž£)ä<ÎôhlýçÌ1h_RÑ Øþ”ËÙs ¦&à‡xÔ¥6!}A¹ih[&±Ò‘W¤òIÁØ(€+û„Â01\b¸ßbö² ëÚJÔïñØú¬+MëuÒV㯗fP³,»”Òåæ2SÎÉWF`ÓMÒ{ô³ï.rù-SÔu8ægø¬„{‘éÉ$'æv°dj¤²Í"Ñ ={K44ºl¸^¢+“6©ˆ¸T& 9Êó(¥r$æÍÔ¸ÇÔk9bIè.» zw@° ªÚ`Ñj(m h*-_%áz"VÅ’Ðß>,²¨?**¥€æYPråÁ«ëÅ{Äë䀋]áǰ,¸ÚWMrèEð °+ P&FÈ#VãÒ{Nì‡õ–¹£Ý°âb)ª¾ñ²xËÉ´ËÃßvi¬Ë3g¹ÁªMo;Ô²w:ˆYKÓ+Üs"iØëÒ¼N¾`dP:ѳ™¡¨Ä ©$´Ï“fðp\R Û'}‰¾ˆ”Z*ârR°àˆšë`vÇÌ;¾ªr¥!ÕMŠÊÑkì~[ ®¥Dó‚$Z™rÓNå·9€‡òÛ€éS9ö¿*ßáYx–ÁÐP‘ö6ˆU‘Ýe«ZN%% r¨fé&…5Ñ®2ý>eùAÐÚÀ+dèÝ›ÇK¹Ä«àÙÇÁqØc žÂ뼊y¼‘Sè‰qÌbA*¦-Òúí*…“Êc§ûätñäˆÜLm=|ú3"‚+ÜÜcp3°ðyê,*àà+Ò}V(ÈŠK‰4;Ô-s]‚i”m®3Q>¼(XãóKÏtu‹¦¢-À%7joŒöä`m2)\,ZíG;%ê:]ö>+Çò¥ò¹‘?…îÝ¢@z¹"Ã'=²¡„¹—BC«œ{,ká¾ `Ø~éeJ']ú÷L‘èÐø£„Þá NÕÔ1÷·9Ë.gÆûŸÑÑ=9lŸ¤ÿ=/Ü #´Ì—>¡~iÆöåd¢Ò%ŽíMcú Š9ÍVlÞÚ¶Y*ïƒ!˺²ª,Ú×…QªÈèÁ4“£bxÓlÛ¯d‹/~?˜aî^¸ãH”ÒRõBhr`ÿnÈ…g(¡¯WHš¡vŽÆ_ýž"õáÕµ”Œw:õµ&ô%aýð?†è–T wJÍ;çHsxÇjYÂá8øc-7`ª@™–íáL{Œ‡W6ÂEÿõ˜p-øj ªp3i¶þGÏ‘#J»¶@Ïé™À¯X‚?ÿ¤ Ü ”€–Þl7#G%”5C hè=kÅëj”vs¨óÄæ{¨.Xà·y¶¶ŠÅ0óý9i¬e[˜W-ÿõ@fî,4Í‚êÎfSTœ>&‘ïâUòÉìÔ¶âžÞ1| ,5Sp‹¶X1žégjÄåÀ+šh"PÛ §÷Ã;ÇDš éV „.äÙýœËŠK!œ0é\¥yóe FïüCHÄá±û`ÙÙ¾f@zûGèÙa[ò«±^H*´#ÍSƒ¢6ÚaŠ”¤ ÀBz N¢³X )_À_[ÍÂŽ%ÔÔ·Š$|`§ü,^á¡öü,¡ÃlÛM °énøþ_•UÃ2I6ÖHœ¯–ˆ¹s4¯†ÜXùà™Ï<`°òh¿Ä£ä@6cpø×šbR¿kŒ2d+?ÆsÁ ›hÇ@»³\ú/¢ —ܨK Zd^göüBM>ÚæjŠÓû_yo1g¥å|§ƒH%Åìyß{;ˆOü¨o~,¡Ë_•Ó%&'ûiŒÕ@Ïvù’X­œ‰×J’9eK›ÿÎÇ%†q<)ĽudfKüùw¤ÝmûòMPÿ1Ï}Cr©+¯5é;£‰DÀRlýµK±LÞç(aðpÜ´b¨×!?éIÊ +¥1!’g8ç Ž¾~¡ƒ˜[v­‹ÄAœ8 “iYŸøcqÖí`žû ¬à}_!hûàSß‚ù7À‰gå<¼–f¥…o<æ­„íÛÄÒÅ"üße›  Ù­éÞí1=c‡þ›c¦Ï•Š]Ž,÷” ³f%ìÚ+òo> ó.Ïqúˆbô ÔÖÁÒ âÁ¶?ûÿÎA¨ìé†ö?WZ³âZ"å¯ÀzlљǸ—§éÔN:ûx~À_ÞG?>@µÎ¶2h ¥¬Ãä˜ÃÖŸ»ôº`Œd”ÈÙwle/_@™ºäaø<0¤å%?"­–Þe¾'^v]Ì:fc`ŒÊ`ɉÖ;9ERЏâBög\.ëßþlÎ a<ÿ[qÌŒãoÞ¯R©¥”>­’ÔXr"§ÀyR Ä©å¤ãŒÓ‰‚ h"Eú ÖE1kÄ!rFµ}5ŽÂ ¥ˆ†€™Í§(ÂQ9'‚j=QubšàÆÈßðÙr>h^9Ï“ÖîNŒñoºœ 4’¢tÍñ- ‘ë¶r^i}P΃%.{F†„,­RJùfÎÚ ª¸ yYAÕ(qI¤¨0Æ›à~ë³ë’xÙ/}~±' ¿åþß´n޹sœ…m l—…°†u$ íì´â¼\w>}8È9£òí8 ‚ªÒÜqw'/+ÛuÅÝPI À}|Ü×>4㪸uÐÁø oßo¿h”@H‰¼.lÛ†Ù ÑWhg#„Ⱥ,<êɺ®,KÆÇ·ãijWbÊ(%"1p;tbVz¯ ì ¸Û½ 1áî,ë†ÄFoí/>+Èk¤¹Ã3£÷ÁËuçÇWÖËJøÆý1%$QËI+%Ç¿š’þP\±á(Jo•¸Dò6W{«FkNXúëÉußé–-$5ަ˜(!%plëFÈÌñÞèmüůµ„„¤Äí<¨§‘r"ƈªr½¾—H4O;ëˆè¯~¹¿¾?j&%„…ûýD\¾½¼,H„œçgÌɉ޼,ô*H ¤¸‚&Zë÷ƒÑŒÚ:í4DæƒÑŒëþ‚Ä@\Ø·ãhN‘ã±ïˆ*¸ 8ÃÚ7ÁmÛFZ"½AQ"½tijCU~¨•¿¾ànXsZï,ëÂPù]@E³¹J@I!*½Ì ,‘.ŠÄ€ªâmüfíCŸË9`µƒ;f'‚!½’"½)gê9ØÀÎÊÒ åQÀ Ö êZ ç½ÒÚ`½œìyÅ~q¿xe¸¡2¨VpëÄ, xëŒ1þ6 ÎÃ%%¦Þœ}[(Õ0œeÙpÔÖñC`tûfœèÍ覘ÔV‰!s¢u(Uˆ!pÜ A½Ìã¼;C""š\„£Ã:3'GEd€B=;éÌûUéCç<+—ËÆ½¨6 >œ”æ2ÿ%Ð`Y6ÎÒ¨­“Cž`TpïœíÄkGe³à>ˆ‹‚+¨‘$ ¢_Nbý›q¢ûÀ¬aÖXž€Ì+½!d@ž 3|²’4Ñãë¸ ¢ ·ßŒ£Ð >Kö³­ƒY×L”Í‘ˆ²­Æ¸5rFd ‡ÑæC=;ÝáÇïß¡!òz+ „¸dDœVfE¾.‰ó<À±ÞhÝ8Ά‹ãÞ)Ú1_€ª*nõ™˜;bƒëž¸¾¿ÓJÎÛl‘ܹz`6[¤„u]I1‚òø­8ÿ»€‚*Häãëƒûí˜}‹*û–Y—LXò°Þ½ì˜9·[%¤À²-0œONO· ˆ&Ì`ÛbŒìû•œ¿ 4§Àí<ñ¡´£0†q? ÄÀèÊëcþ¿œfÑzžljaÿ8ú¿H¹=Îó`]bŠŒaÔæœµs;£‚f‚ÈíÑ0ëF¯Îã^¹=c Z+lKb œëu›]µÁic ¾¾ÿîd6Áµ:Þ'ðïÿð#Pg H)S¤uC†3N ‘Z+Aûž9ϳAÞax ÖNJ‘ç¿cÊ|z½ñüá{š HgØ:ègEÖYÝßïwRJ\/fFBëÆYO}ÍÔÖ *‰Q¿GcÌ\öõ²Ó»s¿´Vþ ¨ÝçÃÙ÷ ãYÛôF³@7ç8+ÎähTḼÞOjwrRê³,™V q8QV ê°]V ÔY÷™@o“aBBØ—•:à(ŽÃˆ1LI…%)î>SBœÛÄ­2¼Mn¨¶¼°äe™Ï>0ÆY ~+Žþn@­Ó $#3Æàqv^.;Çq¢pÔŠ»“‚ğǰP¬–8È묢:ȤÒšhgçã‡BDZÞ”¼Åù óú+ !<«k´n¸ÍDo½£ÂlÆ›ó¸ßfã<œÇQ'Ðí«qô÷ 1p–ÊYqäÙ׈{'¯“Ì!Ñ»?»}¡”ÂÏ?ÝIyp¹½WB´É·ä:u–%Ãd—e–÷w·Á˜ì߯Üæ' º9ŠÏ‚·Í<çc~÷Ú¢Þ*"B7#/é«qôo¤ÁX×AXRàå²b}&Õ! 9dº+¢Qå²/Ð!Ea¿è\u6X3|øù£üü§;÷Óùÿ~*||tò )t bPêÕ™ë>?ȷμ%2`æÂã8QÕY@ „ˆ11ܸ? ”2øjœØ]I) :Ø·…ÇëIJŸ€ÎÃY–N ¡F'F%¥„õBΙ^œmM¬9rˆóOü‰”qL–nMNïN©††ÄÏ?ä´ðÿ¾þé>XÖÁ~ë€à$ÔÁ­bbIB©‘è û¾Î4qœ,KþB÷>™Ïœæ*U„ÇYgÞZ½wR `Ô·ãÄßÔšÓMÑI Òj¡Ùä‘?÷?æu`>XBâöé„(¤Yr„áäÈdíJ ‘œg¢? þÇÃp¿p=ïì[`U¡õÎeß(Õ¨O°E•7.9²fæÉ¨IÑ¡“º¯’лÏ÷™èU—Ëþf !qûT0ç hÏQ& ÚçJ ó êä0PqRN´Ú9KÃÜŒÖÅÚTÞïÿõ2û3ñÎåea™×ód]ÒÔÔ†sÙW†#(Íqb$î3áÊøBq|~˜ÎœÅC‘Ã~GÏ£“P¶e!ÅH^2!"Ê$Ækë ³³¿R+çYŸ ës ÆHkÆOœ&Ô~bcPʉ>¿\½?h§Ñz#0•3(çI;rJ.t|8ŒT„í2òšÓãî_j ÕIÓŒ1f·!‚h J$-Âqv4'Td&å1žyF= !}5Ž6;éîܺã™^o4>|º£nœçñnçO*<г¤ ­ Ÿ>œ0„G3þøZ‘ea ‘M”Û9%œu‹ì‹²dy6§rˆŠŠ¾ t>å¬FJZøde€?àg]¯õ*,)|5޾Ûw‡#!Ñ ºAë6—î³Û|À@¹?j)´Þ(‡2ô /û,S t<§èX–Ìý|ò@×ÙGýÏÿþOõ¬Œã„Oþçk'Ä€)ä-—unmsâÑ¡øð7Ægå,³Up7Z›ùn<O™Jk7Ö=rž ò3?þu *|÷¢ä(l9>õ®ˆXr wÇlVÚ1×=“Rä,¶-“WeIƒ5Ïêôñpº ÿú¡P*Ô! QüY,¶Þøç'Õ&ßU)*X ü§ØøÏ›†¡>e#3›_Úü«@GŸyIe./Ëd òšðçCº¼¬ø€0ûKF‚5Ž‚£"3 íÂè(N©óäR@¦â!J«}dw¨m!ÛºìÈbŒGqþô/Ÿ&©ÆÀ¶5sÌšÃUhc`cðWå·H¯sA.[š”®ÊׯI—¾™«2g)t›íýþ@UÉIp:íh øx;Žª*½îƒ5Ï–#§HO¯³Tÿ|}ßV¬)Øì×b ƒuÉŸ·?„}K ä¤h˜½›¹rtº 9Gþõh|w]}J-ž3=öQœú8Y×…ãqã<Û—ƒõ¯e@jÜøY*g;‰2奅ëu£<rÊ`³÷[—ÀyÜߌ£NgY×?ËÊèµq܃Á/¯1pqòæïµMæ­Vãå²3RP^öHІ¹ÂÌœ¡`"h l!`ÍùÓ­òÓ­²¥@øîºñ_Þe.וZN–ÙÖˆ;´ÖȪÄÀW€êó„›D~ίÞ:çyÒû¤W‡uÜ*9GR\ŒœÞŽñˆ107z‡Í]àeO qý²EnGe[âüC9PkaY"·ûƒuY>§OÌ”£¢Â0ôêDU~Ü{VþõÞÉGaÙùo?$|ÌÕÜZ£õAІ¤€›Që@$ü¨N%TD0 ÕHJ³ü@”¸fÄ<©™0„uŸßÑäÉ^˜9⿎Íf·­ ÃÚŒÖ;ë2UˆRú_]Ÿ´ÈY:­;a8Áª‘£°æÉÔùPJë\÷ÀQû“Çހʚ…ûqòו?¼ßx´BôÖÆš^ˆqÐZ#¥„0“foFŠS­°!ôâ\ßJpܪSm­òz¯|ÿÝ3ãÓíd_#)ÆPÆ`–q$þ*N2›¹R F§5£T#¥ä­ëµ;¸î‰3fmÖJئ¨8ð=r< ø „Do•Õøîýƾ®hþÓ‘­S½S'ìƒfŽªB|òÃw¡ôBÒÄõÝ”ŠTõyÜ?k˜RY×åI Ïïu¹$>Þ*[V®{¤£ìë<§NÔÀpÿUœ¸^2v6†;¢sO* Ï¢iÍú«ëN\2c8f}ÖHf0‰D•”Uõà,@zjk¦¤09›wYÙ"|Š+¥7¬4캱ÃÅ9nw–g»BT†)1Ï\s#¯°æ•ÇQCsÀ½#2ócг7Kqy*ljm ĘXwŇòx=y<î¬kþUœ(O¢Ì­!æ„5B„ó¬¬Køõõ˜YòdòDgùîæOuD^jƒËªŒ¾òÁgi4œuÉôÖxÿ²0$bTî"Œ÷W Î¿Ü ÿ"9 .ï60§§Ÿ}›µÍôôdZTqò*¤)‡Ñ™lãú|°ŸWÙ¶.¸C\”ztŽ»Ð J©\ßí࿎£È0ҚѤO.(€CðÖu•IâO‰‘AïÞúÔÙDDÀûw~üñÂwßo¼ì ¥6ó@¦¡µš3ÎFóÎ5+û%tð¸4„€ðã?\h|üxc¨"!a 'p…ᆷA„ùàå»ÖËBSòQ±€™Ä@7å~;ÞŒ~², çã`ß7‚Μ¢Óûà¨o_ÿìÌ2w‚΄¼­ )gÎÇÉív²_W0›¶¶Ð‘U$>~¼Žc®^Ö1È¥óÃå—ÒµA8JÇ?¨¾ûþ{ŽVh­uLÚW„ó줴ÀÓA–Ìãè´Vˆ¢t3ÌAÞ:hš’TNð•8ºm+9Þ÷B9 ¥ÍœnƒÞ+o^wŸ_P–%c RÊ´Þi¥ååý…1ŒnFLFÚ9 {vÞ½dÎÚé6¨Ý93ª±‹2t°/aŠxy¹°_)Eå¤Z%ÆŒ„ÙgiÈÜ^OöË»)*˜c®XƒZfÃj2+YBZÖéêBŠÊËËåí89)*nƲ­ÏcÓqö}Õñ_]ÿÜE§‡ ŸÇ&ÀyV¶MÑ4UÎ#V/×…”FaʧGáÞ;µ€«òh…vî:ÕAxÔY"2æÆšWð8­Â)ÓÊÀ¼³ï;ãdY7b ÓuÍXëˆFT&)vœF ‘ÒŒ ‘G=Xô×qÔm a’L!*Ý‘2Á¾u݇“bÄz§»±_.3Ë’IO ›øîû•e¾]f)?œ¤QȚطŒ,‚-ûe¡aœ¥’5b£q6Hy™Ê…w$$ÏÎ…¼­S­`òÎ!)"‰Vg™lèq6ÎRç‰+útÆö¯Æ‰1FzH˜ö’g_ø‘_^Oè>­r1&†9V!EÜœ³³­”£²èöZ-¨Döm!%çÓ½q+û}&VÎ~ðï$ñã» ³N­GY—DíëSç" zï¥tn« JN‰œžRyo¨­rÌ´ÞHQQºÍ…°-‘Y3½GQy>ÉÁp£{#>·QÊqºÂ40†ÐÛ çLŠéé œ:;Lp G]Ø–ô$û}¿BÊ“4wèu²9ò©C8‹#eÀÑùç)Ü œg™Ì (9gZŸ•z JZÖ•3?|ÿ"—Ë>õ9…³4xæœÛ§;* d * ̽ON½´6 ÞŽËcvìSú63£wγӺsâ¸M½þqœÄ)-´Za2»¨4Ý„6/ïwÚÙ¨“O¯wÞ½l´^ž'áàè•÷c¦«“Bïÿú¯¼ßæöül v›fõ!îƒ@ÀÇàÇF^”.|øð‰eѧÇzqŽãÁ~YÐ0kÉL4b^X—€û`è2]mOúø¯ãDDßôò²ÑzCˆˆ ×ëôâ¸ÏzÇz¥™qY2å脜úä‰]8nÇÓ¡Öxÿng ™Ë×+1d.ÛÊ£Ÿü—þð’0†a 1ÑŠ“RäxtÖ=QŽÒ J“GŠÕÙ™·¹½»Ã`tá§Ÿþð‡+9E|Û¦tû…ö"ø ¢oƉ.öU@á¹Lc œ¥ŸûA¢ ­4¶m‘¯ë’¹çœáP¸ìyêã!B$3Íg™¤Tá?üûŽÛ¬kÌ!DÌgÔºrÀ]yœu»2ˆtkœ¥³ä¹:–%"£!)bµ`ÖØ_Ù"µ9Qå鿜÷,A"2f¾m¼G³Îާ’øP›†AD•Ûí Ç"¸ñl ½ÂzÉT›B^Tå,κ.³¸, ‰Lá×!MçÓ ”bàõÃý9$#_äœ×ÛcRä¬#Q»p”Ùµ/Kd[:êôEŽ™è[-3èB;§–b˜É<Jm¨ê,?T`˜ÏkoÅÑoê¸ Ò¶àC8J¡XŸýVxžú çÓÏw4D–h}zþ–ee4#¯JÈ3Ñ—Úp‡@ ¥DˆeY¨} aú$ÍᇾG4¡ºó•†²,B§·Ö“æÕÁ´S{AlpMÂö²`6sØõ²¢ÏDÜÍAµ7¼uD"!¬oÆÑoò! „Y¿äùáeŸÌb5bÊœÝXòBzZÚÌŒ#­Ãš#’Lñæ<ŽÂ¾­hš:–‹£ùøéA|*cpyyÏíÞžyfn·õBÒÆð‚Ð8½wªÕ Ô ¨‘û뉨³m æŠ2›ðá“BÖçìš¹~5Ž~ ÐqbXisDhKóUç庢6v‚O?Ϻ!!‘Â$®â¢ˆM¢ß‰LÇWyšFû ”‚È,%º(BâãëÁ²¬,kœUœýûucªÙÎõºÓ[ù4Ä%òîÇ+ÖuZ–C&ÄezªŸÓMnNÊ )&Ò¿'JHD™”A\”z›–|GÀkøÀ„ £9?ökšS;C‰‹Ñêì¦cNd üüÓƒ¼lÜîRZ‰ûJobÌ´^Ýyyyá,Ña»ì„æˆ µA鯽T¤)xŇƒr¿?„¼d´î“Eð­Ì>ÍŸÒsïFÊðN1è6‡p^ow¾ÿá;’¼G­•Ù×< ™Ü²™O@½ƒ2ecaZp—ñÆ´®Ñ6u}MJ5¨ÍQÇ9-¶I°ó˜£LÛdübXp”×û, ·eçv?ÃQˆÕÚÓèñ6™¿œó3?šÍ™Ž×ÛžŠ«jüâ#cÚrÜmJD!L—«äIň¯Æ‰Ÿ ÿ3 ëåŠ`ÜïK^†† A¦EÄZ!„ÄqΣ<„Irk˜å»™SB†â£ãÖQ™¿àºî„$ ”îÔúÀ\¹ì+"g«lë4&|üøÊe½Ðl¼cЍNÅvZ^ž†M³/@ÍÆ´AÓJ9Obš¼u·âìÐc ÔîàsE•û¤C{;IaàÍé6‡\`jX!¥é{½¸MXüw5ûӛS ˆqYƒBNŠYù  9çÙ©? \ð8ÎiDP`L†`ò]X–ùcw7¬Ù›qô÷ªmžVÞœïß_q´Þ9K'…¹× ÆyžlK¢W0ÔZ°6µþi—KO/`àzݹì·û1Ç® ÇÁ‘༻(û–HñébÎrü5ÐéÔ_òOïëeg+€Ì9{‘i.á}Êëq¼G Öç¯úV+"JˆƒëžÉ9‘Âà<ësjx™üS8|÷re}—9k#Ä…!sÖÞÝ)e¥ìkž¥@ïüðý•9NÝ-ˆ±­“£*휄Ú_õg{²äð4Š+ç9ǾÇpÄǬæeãŒßúœÝÿZý½€âš!°å0[“ç(Óã¬ÏÕ¶­sŸO7|t›À ŽódèôISHx¨;„'½ä€ÊÜVQýÏ*йp{ÌiÇnáëqôwrºL®ÆgÏt–“ûA”ûýÃ)Õéæœuàm6Œúܳsœ«ñîš9ÏBƒÞOB€&QçÝÑû–Pî÷ãéoü P™ôëg©ÇzeÛÇœ 9Ê TU.—à»÷/³ÒþJý€ô(•âc6r ¦ÜÒ'á6PÊÓüÙ|!ç…Çqǽ!ãù«gæ6ŽaŠŽ9Ï¡ƒjFL³Ú]ò>©}·V¿ 4…Á¶.™6žm/xÿî2ÙÆœ¨õ˜sÖ8ÏÊíõÖmž~oÄÑß ¨šù—Ñ0;ý€ðîÝ>Û ™Ö–nƒnÏÎæ^’âÃ0ëOSœÒA1éœ4 ³Ý·eþí¨­‘CÂçá“a|h)}¾bâÉBº‚¹=Ûáv{pÙwjó®Ûº°¯ïy#ŽþN@ÿ˜’N9+)úxå8û¶£>'§ý®¶þÅøTëä”^®SŸ¯m2îcúˆn•Œ¹s¿ŸÔÚ(Gå8¿ ¦ýÎ<îZ±'-œDö-?ë»é?Kåþ81ŸEñ[qâq4.— >œZkÞ!p–s&¹_Ú·•îFm…÷ïßqœ¸+ÇÃØ¶ˆq&LÄŒÉå"ʾ/@ǘ@k÷¼Þ:{¹§¡"…yl·6@žo†aš6—%?GPy3Nü{:Ïò<="Ýfá6ìKfŒNJy–݈9B tz43bÈx+´6‡àŽ£ðò²1Ú -ÏwýP3ãÝvÅÕ9K#!üb˜e¾-Ƙ]~OÕeYˆðfœ¸.‰Öÿ€*ûe!¦ùr¢"½bLXî÷;¥4®×÷9³"”òY®ÓÔÐ)fŽY›/=x¨°®Ó7É cT†tZ›mG-'9¯ˆNñÆÌ8N'çiBÍY)ű=NÊ 2"1D„9&­L@·ÛñE;ŽÎqvn÷ÊýµðñÓ zoÏzÃa¯ŸæsïuÊ?åäÓý˜%}3Z©”Òæ0\sçrYÀzý2j~¹,Ï¡¡–ó9ð;=ÏfÆíÖ1Ó§7ãnGã,ÎãQg™ ‘Ö;‚Rš#º`ãsÍd¿ÇÝÐŽ¿+ Ë5S§·sšÌñ6«ÝëËJshm*þt¼Î|7yå%OïŽc]"¥4rŠ ïÄÇYi6Ø/ë|áS/t› ¡7CTØ/+Æœ5ñ>¦i(g-¿+Žˆ¢×—üwÄ:¸ì ÷Ç9{£Ÿoi˜ãM‚sža… üéPM‘Ò¥Œ1sË»ëF³A:sBJÓ…ûÿsœüûÔþ~¦Ó_x½Ï]Ÿ¤ÔuŸ/‡M(ºO1×ÀÜIDAT(?þ¸“súR³(séÏ·Ñä©ý?§Š>¿ldÛ†“8"³fƒ×{'hEC~г1ýE —ëBkmýæ)ùü9PD}¾»£ ž<ŽR»|Pê.G„·ƒÞ§Ûl ˜wÖ'Õâ>3Ctz5¯´ÚŸ$Ù¿M´6ÿ‹@µunNí<ÍâîãíàÓ½>y¡iFH1Lr9'’"ƒÁº®Ó=ö|5Äš•ZLæTòƒHäýË…áS•¸¼›S;?|¿dN6æÉ‘ù‚ŸÌdNúoçs£û¿ÆQØBp 6IEND®B`‚pioneers-15.5/client/gtk/data/themes/Wesnoth-like/pasture.png0000644000175000017500000001645310355345405021231 00000000000000‰PNG  IHDRHHUí³GgAMA± üabKGDÿÿÿ ½§“ pHYs  šœtIMEÕ +gªBX¨IDATxÚµœY’\É•ž¿ãî×ïCN Ud“MI-™IÖfzU/A{Ð"´3mA ™^ÔbSÝì"$rˆŒáN>ê!( 0d¢>àíšeüq÷sþü×ÿ¾ÎϺ'\îÞÐ*xzöœ»»;&†@© c Œ–uÁÒ6Œs$¥HUUì®·<ÿÍ þï?ý+ÏÏO™ƒ'U™:üñî OrËâbÅÿþÃKþãß¾à_þüSdfà‰m˜¦ ƒ!Ù‚i˜iê†yšð˜…Á3¿zö„ýÍ–²¬Y®Qû™7› d¡î*&›Ð9a«‚Ãå„­-e t§§üãÿý33ó«g„ɱŽÅÙâ°´ÍÿúÓËËÿJ­%?í–r»Ù²¿Qm-Ø 0“š•…ÓÕ ]eˆl¹àdqÁ쓃ëÁ‘C¢ª,—×ê¶eöUÞ\m¸½¹es·§ÎšJÛ)|HüͲãÇ7·¨^(¥d)%’ d ÍóBb¹j1V8í ÷«Ä«H8€vŠ®h™\`ð3jÙŒa·˜Imæ0Æãgòš¶­ÐdÚªdº(0¥ð»O™gÏê´ã¤ë¸»ºéü—¶±µí…ý~–ïάQ‚Q¤Ú£”B=_ý@2…±Ø\p¸êqS ˆp˜#7¯6\ÎWØBX,ŸÑ…ƈFNÁù™Ñ{&•xñ›çس–¶­9(ˆJqpueZ¨Åò¹¦kºJlÓ@IõµÂP@ÛXî…Ñ•³øåÝÜÜðç——TY(&È9²XvÌMBµ™ÛÝÄ>ܱîN©ž”²J‹e ¯·{bΔº$çÌÔFj,ß-èŒeµ((Z6šïÊ3|ŽŒ}Oìg’s´º&¥ù›ºòK¤IŒãø¨—Wžwœ<¿`NŽÆˆ‚ζBžERtÁí=¯ÿù›*„Äar$­ ZH1R@Eí,«²fQÖR§DÞ{ðÂÕõ57q'¬µô12“˜ÂÀ³“çßÔ•_¦œðtÝ<êå-‹o.·ôÓ@ÑjˆÊžÆ(R¼G:E ³VX­Q·›=ÃnÂè‚`Cá½GKæüÔb¤ , BÎüþåK8m:cëšU³DOqçmÉnv«Ô7uå—„µE…Á<øòœd<ÉL„"3šÄ›Ý5·Ó5 ¸oXž° ‰ƒÔf¿¥nk´JX¨*EQ Æ*Ê΢½@0üø§[R™I*±ÛlI@Ò¢kx}µ%gMš˺à[ºò!a‹²&ƒ/¯÷#"že­±BLìî¡ÌT5m‰‹Äè^k²¥¢` N Γ”¸¼Úrs;àÄ(ˆŽOV”ÏŸrqqB£,f\J|KW~IX*ÉŃ/or‰t4tä1²°KB‘1ëD«…<Áåퟙ-8-ˆÙGt!(S6 9 sÌ„B˜§@3æm&ºôÉŠ²n[vׯí€Ñ†ÞB—‰Öñ­\ù°° ’?ûò~xñœnÕ"khN ²y€ývÏI^î ‚*K‡½)9;=§1 ; ÁBB)E²_ z€)b?[Q’ ´MCPT&Õ™!gT¯ùK]ùXa¢ùªv@¬!¡˜ID¥¸ÛÌŒ£'LG´?´¨,à3çÁrVU˜ªŠBˆ@k+Âv¦O³THî0ƒ·L*ñ»ß<çr{êY Ùa­]ÆûŒŽŠý x7´õ±ÏÑ"¸ÄÌê¢Ä”ÁgL!XÑüÓÿLg-]©¨ ª³& 1zÆÙãLÂt„1TQ¦ãõÍ-‚R†aê©ô8“ô)ðK]ù¥î(LÞ +— ¦«pñëû%1P{¡ÂÒè‚Z)LVZÓ”‚¯ª”Ÿ#“±z€ÑÁ´} °~²~¿¢DvÔ ndM˜2Y"j •­R¼u¥ºwe1$úäðËð5p?VkCI¦|UŸÓ(ÆÃñsç˜Q¥ Ú’aŸ}äåÝ ZPU"¹HÌ™" jˆ^1gR¥òvÞë0”Òã .‘¦ÄõaÆ”üîbÅÕÝ5dERY0Åxte)¸2~¢ÏiL iÍQXJ ÛÄ„ÕZ¡2\œ.#$OÒ#¡0 :Òï®1&¡€³û>ÇèˆM‘É€-2¾Ž\ÿ¸#7 Ó'¦•¢PŠï1¬B/Ö;ɘ3e6Xk¨ ¨YþçxÛÿà„ßt–É2‰Å‹š¸sp’‘)25›â;Wju€PÃúû5ÓèßësÆû>G3šôÕÂR-#Ä¥¢²Š(‘…Ý9©ªU¢\Vè×;†èPªÂÄÌ4ÎH.Ð#¼é#«I1בÚBàcÆôâ&CNPkÁVwW=Ú O¿ë¸ÚÞu¼©®å¦3Ð:s3r‚è'ÎÛ–­Ú±/=]ÎÔR3éé±®¤÷#ö¾Ïð!àFMJ î8ýê!a®öÔJãlbdN‰¤#+»¤J‰7¯®X¬kVfÁfÙl6h§¨Vq•tdUhêdÉ]@ÏÕZ¨˜1³F!Nq}˜U"øˆ–H#ù<9±¬Ë‚‹¨?xŸ™FÏÁꬉÞóΕJ‘‚]*ŠŽ{Wê£+‹ª…ýÍ–ñzúdŸ£\þù ‹Uͳ'ç Íf³!M‰ªÔPGa«ˆmÂêNq^) —`e@iÅj½À{š,k_P·šÓsCÎræD×üÛ“ ~¨žàî@Ò’®>C 1’I”e†Z°ËD{ª(øS¯¹Ó»8Y±Î%cJ¨÷žì@2Ј‹ˆî ÏÍ8L ®Ç̼NO®< ·œìàùÉSŒnÙÅ̬=UŸ±ÿO(G‰Âz½üEª¤èè)‘f`ë&b—7#ûm¦ßA˜=¤D©Ò ÒAXBNÐVj@W†}DÜÞsVjºZ‹ŒX—7ûÀÀ˜ŠƒøÙó"™¶½';Ç#]I¹ÒT¡Z[¢E, æU`×òÒâD~‘0¬¢3ïÒñß0Üñï[ø¥Ð9³0…qJL!¡³ ¢ J·¬"ꈟ9$dJ$-tuAe—¨°Rð‡ñšôÑó1€…+çØ™Ç¸rÛ i/„”p:b'˜gÏ6%RPø9³óž˜ øüµÂH½`vV—´¢‘˜¨kM¹ ¨“ Ápw71‹'–B¿é‰!QöBöÂ0ÎNÙ H)`uF½šxuçØõ™Y"&kŒÏ”åÛ Ïðóç÷Î0÷‚ßÁôz@vðW¢SB$ãæÈ¼õ„‹RcÎ"Ú€q7…~¥0”N×2FJl£é$1Ž¾Í¬MC»^â•áÍn Ea·Ÿéµ§r;9Ü®Æ-)fšÆ FA‰UÈšwQÿéÙ Eý!1ùU@ìán0ºåçÏÓ÷ìG1óä¤`]<Æ•‡”(a¿»¥(…õ²¢ðB;Yä*£s&T°ŽÞM¸!0åÇ «ƒÁ )„,™ÙA™Fï°Ic€PfbލJ!S"ÎÙï÷ôóŒQ UjMi:®¶ž“å)Y@§ ^v »aB{A\¢V† ™PfÏ[Ü6 f‚g'§ !±ëG*,U­ñî(,K¦<1ÑJ>y”u1R*ƒVîÛí@®'‹Š>ÍôƒG}iʸ¿ˆ$‘UžDMÞdú)P6曡ӷLøÂZÎ æ»êà(£0õ›¦˜t$ÇD-5ïHhl¯ÆÃDm4"‘~ð “ÇÄ [UŸ=Êà ÌÓU;SkáìÅ‚ª+±…AGPŸ›2j“’ã3Ä &±X6|ÿï.H‚U¿xöý%&œ£'HÆvçó8":Û}OÛ¶øiø¬°q˜¸Ûo¿x”Kæé§ð¬´ Q¼Ún¬PZ0 »äM¸Ã”‰b+Lo!Õ{ôm·Ýc ÕÌf?³¬:\r¬Ÿ|[tú– »N“tFiK±ì™³'"<=©ù??^Ó)!DÁMšQÇ„-¤Fi¡âËGÙxA›™X5ˆ8”ÂÛð¼÷{¾ÿá)ê1ÊÖ “…!$—ÓÉÇÐéC³ï÷]éïÑéì ÝÑ©»…^G¬MlÝq tæz7q~Þ½GÔg©À«?½áûïÎ<Ê˲$Jþbx¾ÞoQT‡]fGÂM‰Ò ͤèÿêèt§î¨êåT€)‘´zPØCGù°wÌ’ Ïæ-¤j‚!˜³§,?„TSŽÔYÑVЉÙ'Œã-Ð?¢Ó‹§ô»])µ§Úf¸l£*²:[2úH,ëØ·Žn©?@§?œ¬°Aqùæ[-9Ì·,Í{T@yìõ"r’5ÙG)ñä=aMQRxa;}ñ(ç2Qèâ£ð¬BAS‹šä3æ-¤’E$÷ò¤rË€«2‰L¾‹æ-¸%t]ÄJfºG§QY‡‰"–ôé@\¦RPæ'WÚUÉåG¢Îˆ²ö ÔOè4B˜ óó‘ #ëîHZ'dË'©ÀÏ…]î_LH”f¦¾Ï7’ŽáyŒ”Y³ì*Ôc ÕJפ›ˆ`amù÷÷Œe£þjètÕtŸ¦§kì#©ÀCGY¼<*<«ÇBªÓß.i׊ÆË»f-;GWuß~Ž  Ì£MAJ± Ï걪Ì-^Á¾ôäûáÛfí[¢Ó——Wß„ <41åã³z ¤Š»ôÅáêlÅáð—£ÓÙ…oF:ʶ5 Ïæå—´•Ew 1#EæfCO€Iñ›gOØoœž?n÷Ža2Ä­niÊþÝ%Yš‰O¦Š ­5ZkÆÙS¢1æèÔAp?Q½s÷TàO\2TMS¹VTeÃfߣl`’@1Ï”Eù®ÀÌeo¸;LtkÀjúMÏ"''Õ'÷Ž¢Ï†‰zÝ ©š®âàÂÂ4Ï ÿtú~ûý7¥_:ÊÛýDªÂg÷Žì²ù©ã~›lÝ4Ñ9C4ÔcbÔ™)ÀÿzMó]M PŽÂUrD{ë6*Q—@-<Õ oÞܰæAWöwÓ;tz±>ÿæT`Uh¦œ©æäþ(¿¾¹­Š@3k } Ïw>¿ë¸uiI:Q+ÅÒÔ£ Uq‡ôÑ€ðð‰á/A§ *üP=y7­aýýšÚ*,ò¨ð|æm²}º>¥Ÿ=‹Kœv»D™#: ¶R”F#*p3r)¤&£õý€pþ) ¼Ï[¾ìÊ+Ês(ðîÛ,TUú^Xth„Äë?í¸Y*-”Z3"ÊÀé#³Z´˜m?~RrD)( KüqòHÎ<9±Ç·2…„±ËÜÝ_’»4 $UŸ(ÃÑ•Îü„N•†ªhX¯»oJÔ¢¥iKþõÏ7d«HÙ£f¡[(f‰ÅãöŽÚùpŒo!•-jʪâ0dFɨ[¡2”ÀÒÐN#‹ã8÷þƒ(lbßÔ'̓®4¥PEHÄo¾PÕζ}Ï‹ó5Û͆ÁÁÐNTFáüÇHçS U'‹ S¢HµfÜgº{HÕëHl®…a s?GB‚ßû[¾[Ÿ"v@0+à¾Ð(ãÊ#Éæ-8®ù±¿ÙÒ ¨kÍruò «úœ°BJ”Î4A' ½3XI¥Ãóß¿xÁáp@¶{ £([9Bªû_èŒS¢ùUEôAš“zAˆ‘³Õâ8k à¯2i›9YœA<ΠÞwåûèt”Ìx ½Ì ùKßt¡êï_¼ P¥…U¨Y?W!Ì6°ïâ£öŽÜ)¢F‘ãñÇ&@]׈K˜mä,”UÂëžgµ¥C=Á¤ˆ(À“˜ äF!EDP ›‘…­õèô­+S<º2(È·à&¾éBÕ[ai‚89\ÎŒcdð‰žÜnÈ$ÆìQÎg^n7 Ýq­?¥„N°œ5õ]¢ŠÂ¾ðè©+ƒ*„ÊD„¨`qº„”È÷ýÎrQóWªoNÞFp wqމRÅ#Ãóbu?OSåÕ±|–‰7Óµn°Ö"JQÅÞyȉnQR’ñ.¡Œ¡²–8gb‚è3Ãnà1®üÛ®ùæTà}aº±èÊTF¬  ÏÍ™æDJlΔÆb¬½ÍÔ‚58•@ íI͘jšhD ˆh«iÍñ¼Ï.ðdµÂ*Eð™iŽˆ.yëJµ’{WGWMq—ˆV>¹6ìˆ›îž ÿV˜> [;û“0ʶEü–2l>:ö0¿‘  Ý\°= èò§ðCù;îiÔÌc¬*FŒŸ3*+‚:.`ËVÀ€>W¸MÀÝç/‚áfØtEBéÄ¢©0JQ)èû‘“'}pô·Qd—QÍѕݺ¥8$Pž:Àë¨ Íþ=*°>_Ñ6 Ó&Ú_$¬…Áöжm(Jó`x¾º¹a'rÜÚMHr¨9g†”p!fO§c> ³Äw š·óün,<„„ÑE"ÆHaò‘5µ¼uåbPÀ‡®Tm‰Òò8น»)h¿z¡êêæ†MHbæ°›Øï{êÊpw½§²5írñ`xÞ:H]EŒSG’Î슈IÓñÒ›]bŽwªH2SR¢$3öB!™Ýa?KiÞö6Ø‚»E¹Ž1fPB’Ì0ëÊCïIn¦µÇ/r3ëNó£È;&¼½ÜÐÄ‚¬ñ ”§à Ôøá(¬î*ân ¬!eC¯#­U wóÀü£ûbxîLƒî륦×ÓÂÀ,5£Y6-¯^ïÐA%MöÇÔ\´úmþjt§ØîhUû®ã¾nøõ³gÜö=HF+˜s&¦ãX÷S®L߈ |IXAKæo¿{ŠÅòã^¢[Í~Ì”gB™!eÂè鉪>®,_t-—7=}?“µFµMI1 Ãèøõo.xÚ.H³gp•«>XÐlKÅl¥bœ'v£ç·ÏŸ2ìîXòn™]âS®ìe&Jò·£¼'ìiËa‚»í }"M-о¼wdRêþ¶5SUxf¹ê¸JŠ{ÎÒßîPÞ3Ç‘jm?Ê_7½ÇMýq{´ÿ˜þýêâ‚çøXWþr*`AJÍn˜h¥Äí=…Öt‹²C^ˆí—ÃóØ$ä»J†¢Ë õ)ÎRµèwùkžà÷··¤²~7ŠÉ\œVôãÀò¤ýý{¼+?µ6]úâBÕØ$仨vV´cà\R—ð6²; ŸÜ;š+õÉ¿}Ø9ÄA¥*´J¨Om_̺ ®kÚ¶ølþÊ;XÔKú±çå›+ÊÌ;ú·\u¸:!Í{®œ®dmh׆ÅZ}vmø—œjùÓMÒñK¼; „ç«Ã-ù ˆÁðÛî ²›9U%q‘ñÊ&EÁêç;AËâ“=W› ûqS¤šL`4H«ðµ *¸š\“ãfìkp!óK]ù5Â~·xŠì¦w_j( \HïÂóº;ýDxiTfUÔ¤6rV7¼ÞoØ¥Ä~S³Z(ŠÂc%òô¤F]ŽQGåY¯[núýäñ7‰ù 4+‹œiF™É"Vð“"î`ÿ²‡B&á.GÆ8ýð‹\ù9aîîȘ/VíGÃËþf‰.5H(F¸ò<À!cc¸cËÖÏ\‘dô»J÷7¿úŽi7¡¼b¿órOÊ}æ Hâr (3‹E‰zšY>?^²9”×äðö’ýø·Rj‚ŽŒãÄíáŽB©\Y¸Þݱ›©(†»‘J4SéY¨nt*Qó‹.YýjÆ CuQóý‹ RR$-<[œQŒ‡Æq~~úI*@Ud‚‡W77Ð{LÖüézCöé£á¥Õ5›ÝŽÎhtN˜ôS W?kŽ•®¡­äXé\übAPŸ®"ݘ_|Ɇ"2N×w;|^þËk‚…"gŠjk(´æŸÞ\@ö“§*„舮ÒñGÿKa‰d !hîÀIf #•ù¯PéÌ:—±e_$d<þ­hŽ—ìáê½Kö‹è5eT¡YT sÜЮƃ«". *jâ‰Öók]pñ씘5¹kpt U't©f}¶$yÈ’¦ˆ¨Ð3É;´ÒÌ3´Í‚ì"‹ËþnǺ,>* 6bŒF/ú¬’2ÔŸ.åÁ¢>WE¤Ô¿ø’•¤©›šííŽW‡yQ°8i‰11øõ‹%SØz‰œž]?R;0“ãõ?^âU"ÍŠL'Ší4³/‡1愸üM*ÝÏ ‚ú\ù‹.Yq‹w·{Vµ|õùæ;¨ ß× j•±Sb= §œœ¯è-n;?ªÒyâWõ9Óaüå—¬Îtuõ¨ÿãý9øÏ'!þ~‰¼Z å{KäAñn;~tŒ<ªÒ­ºæ« ÂÿdšÙÒeH¡‡IEND®B`‚pioneers-15.5/client/gtk/data/themes/Wesnoth-like/theme.cfg0000644000175000017500000000103511346155101020602 00000000000000scaling = always hill-tile = hill.png field-tile = field.png mountain-tile = mountain.png pasture-tile = pasture.png forest-tile = forest.png gold-tile = gold.png desert-tile = desert.png sea-tile = sea.png board-tile = board.png chip-bg-color = #ffdab9 chip-fg-color = #000000 chip-bd-color = #000000 chip-hi-bg-color= #00ff00 chip-hi-fg-color= #ff0000 port-bg-color = #0000ff port-fg-color = #ffffff port-bd-color = #000000 robber-fg-color = #000000 robber-bd-color = #ffffff hex-bd-color = #ffdab9 pioneers-15.5/client/gtk/data/themes/Wesnoth-like/sea.png0000644000175000017500000001643610355345405020317 00000000000000‰PNG  IHDRHHUí³GgAMAÖØÔOX2bKGDÿÿÿ ½§“ pHYs  šœtIMEÕ  ò@}–›IDATxÚ­œ]’IŽ?îq“dUuOϘfô0 ÐB´Í£v¡iZÌô*³žQý™÷F„;= XÝÕdw³˜E¤Y&áá?8çàÊ?ÿ—ÿ‘" i ªˆ©pĵ†YC´!8™ÄI²ãÄïçÿ9yû¯" 9i"T,1Ò“d’dh½ñä%ÆÎœIf£=ýžv{ûº8.dáÈN›ó}}£çõP 36R8Ž-°-è7e몜1/ìÿª> „“k‡ÖHëˆ(9ÁOˆ "æ‰èxuÞ‡ ÎûœŽHœäþþUqæHšBk8„×Êi2J†9 •A,‰ ãÜ;G넯Dtü\#iñ FCNGóÀçÒïd6„¤©"é@¼>ï 2‘Ääb'x]µÀÚĺ"K£¥>‘(õ+èúœR` Â8@fGµ1u0ƒšÁ '‚C¤‚7R;d#ííŠÅŽX}ýœŠ’çÎ<ˆ%v‚u[hMBòUy‡é“”ćѶ7¬·åUq­ËC•Æþ#I0‡0]ñld*`‰Ž ÃI2‰œd&Áà´Éô;"Šf‚1žIKæ¾4OÄ k†jCMÐÎ×çÍ:N™a×N…ýù™Éث⠱I[„öÓ¿ïxt2I5ÔÀZ‚®¤vÒ!EH:"Å]Ñ6˜ã g¦àyÂtòTƒ†GÂéÀ@ êÃWæÍrÖƒ*³Š¼bÀù¡¿2ÎD4@'™J;÷•Ì*ŽÚ¦£ˆ 4!´¡t" ¬ÑtÁlþ„ʉNpQü‘A„'bBƯnDX-Jè×åM r&>&€CNÔ﯊ƒ ÐÉX!•–Ù¬µ‰ÙD%Ð0ò¼sÞHqÚmÐoI»Mrû¼'§^;‡k‘ z-LC$ˆ©x,ui?_ï¿6¯j#<˜÷ÁxLâ>…‘Ž2^Ç­~ô4AUiº½ý>C¾ K Â&*Ù”Þ;Ò)œ';yÁ_vbNü'¢]7“’*A¤¢xmí4PÃLˆuÅb!12ÑàKóÆý@X‘Ù¡/ØZmŠ{毊³­I[nI[Œöíöÿ‰óo3âŸóL$@ua¹-,·íZiåx4|OütæÙ˜S§/ô@d)µ`¬¤Þý깺 –HsÐÚÒ3‚/Î;Œá24ÈebÖQ1ì '¯ŽC@žk§µ5›<~ú_™ü7J¤‘Ù”9œðGÕŽLæ9/ô»¬ØS¢y’‘¨lH© ÁT¯ö¡Á» “@Zµé=ïÕ¸&|i^DIëuñ¸1ÃѾ׮Ùß^€°¿*±0GçÊ}—÷íüáøï)ü'¨v@—†bÈX@”¶vržé'Ìx€·±…öÔYÀzß‘œæ©  2HŸHLdR®[õ‹òžøœ0£n›lu¤]ñìÐÓ¶ž¯Šm%µ!¡àùm;Žå¿"¢Ö“¬oô£®äáæ¦@7’mDÞˆ\IÉc?Ð炆h‡TB;¦Z j¨>¯í;«þ —ä­^-‘™äµÛ¤:ã:æ7]ÉCɹ¿*NoB¶•Ìœ–’¿“tbDò®êX ÉN8¤(­Ÿˆ…-è]PHÇ#®ûé,ä:“À­N’ þþò¼†¤#KÒ¬'&Š È’NäÁ4ÅÁb~eá´6ài¡EnÃêi#êARë‚uÅnƒ¥+ªÁ8™ÉòÖhÝX¥ÝêÚv‡q ~œ,s0§ãîˆ"mZ‹ª+1;_’wíŠõ /‰`˜˜8O%†0öÍTñŽI»z/ŶɺØÇÉy{AÎNëò®%µ‘Ñ­.·v›,ï’&“ÜÛ¶*jŠ˜©D–¶u¡/B<­Œ1ѱã÷£ä Âw4«Û±/ÊÛÍi& miœ®Ì) ˆÉœN;ó1‰80uº –'C´3½¡o„e‰_GmÒÒ&ªŽ¤@€0 ñ H,´x/œjLžŠLÚë,Ü5 bµÃZs”z+ ŧà³0’ê‚Çä$-ÿn^ù x B¢Pwod4Bh >ÈàŽJb*ˆÚ'X‚ mì'~ž_§ù\A¤MÈVïÕùz4ä¤?!º3˜Vl`J»H/!}‚ï\¿°7À­*àRdVŽ÷Àƒôñy‹tSÀ s!„4DV¬Ý°ÍÐ'Å ´M”;™;2_ÈQõÎGç<· æÿº8­­^\ˆBPj i„,W—+;Øëêõ|ªUŒ1¬ziÈÚQ[ª³ÎêÑò òíFÜÐÿ^ÞF†9‰©píRSCÛ‚µžúU¯ GBŒdÞ•“9µJ‘œ·b´}Qœ¶½}ƒÈÄ£®DžŽ-ÁGUxñ$BHÿaªˆvlYp]Àln²¢Z¸Çe2Ö[#çßΛ"Õ¾Da¨þH˜gå=‹†fÇP2Ï c©–Pì¢30¬)º j\ì|¾`'âõÏÅiº05ˆDgç¨Fn‘â`‰D@ͪ9!ëêYÐ A÷'£mÛ¢ô¾1’Çd“1ß²l÷¿š×‡£ç 6P’TŠìŠÌÊ D¬¨ox¿^—žä¸>ôIî‰çŠèX§½5šN`â1˜'ÓzÄöÙ8-YPŒ®`›áóHrNÎÃQ߉iäTH«ã¤­Ž‰33Jczàûdö[‘r:©‰˜³èäoåCÑñÐj@%HE0¤ˆ fôuaY;ý©ÕÕÍÀçbLÆÆ« s@F±Ø:*;Kk˜‚ç}]?§IxQ–È.ˆ)‰[¥ɂô^t¤5tQlQÔ’V ݱ“ã…±~è=  Úk‚ôKmˆülÞ\ oŽOÅOå¸ 1‚œŽè¤e£­~klßtZW2cÏ9Š£ÖØ#|0õ༌cpþt5Ô }ë¼ùGáöíçã´ùá}ÑŸLIâ,ÐÄò Ò7ú­‘ºd–FkR Ô3£­ÕϽ1ãýƒy<@tb™E`™#0„3Š8ÿ\Þ9ª'Òö²-¤ôbûÄaî¤ß9Ïdîýñ–û‡öÔu"üÂ3Nx¢ùL“„“£úBÕ¬ªœx>óá?ŒÇóþÙ8Í8ï`[¿m"OßÑÞý¡ˆ£LÄ £¨‚ŸàÇB4˜®X7²)±(¼UXÈ‰ç ¦ãc"ø™È¨bÿ—y1EAE  ‚¬£Ïƒ\Ñн8ÌQ;Z€–UBÈìÌÜpÝj版‘*ôþLû+qÚc¼Åæ# (ô6Éó°J`ªZä¶c„ŸÄhØiD_0툜4ˆ?ÈxŽH¦Loxqöj%?ÉkËÄž¸èÒ÷Xß õª}$4˜vcÎ1fâ9Q‘^:›Ìj[¼áÑqߊz )HíŠ¬Š¶FÊ~ÿ‘ˆó³qš $ÕhŠÒ'çói¼â‹ë+ êU‹R0fa¢u™‰Æ çA /®G:áUgD õΫ‹£-¹cqbæ4k+ًÞ˜bјdž§³“#/Žû‚’õ,‹Ðfé^AÆ(yYæB²ud3ˆÏÇiº8&çÕ+*Lg¿+%Vÿ´02j[¼HŽúÿÅvâÝ`Æ‚ûJ¸’rQ ˆdQ ŠCœŸä ŸH*)Fx0†£ÇìúãºIU0}Ár’½ÄI÷ ÷ ¤609s0‡)$Jäõ,¤ž³¿Ü±¾#Ÿ‰Óúö|© .d»!Ò±>Qs4“Ì…P#†àÑaT[¾8Žª×)zq¬+˜¢mÒ–Ì„º²Ýõ/ònE=d\»®XƒˆªÏ Õ?…Qq2‰hx,L}Kzg-÷‚Ó‘– Íâ>R4%³Þ˜·Oâ4Ý_Pk+ÐèÛà–,‘í¢Ī1 "ŒA· V·#л! 4‚´“Ì£ØÃpdôœx”z©´¿È[ÚP ÃcjÝ4-h}N¨'Ô¦½$g”ž;p R_MÙêøÊÇ™Õ]S¸ÎBIW­@ð_Æi¬ßÔU:«é<_ÓR%"Z‰m³ú%‰‰æ( wuó¢—s#i†AñÏ‹ÄaøôÒ¤®VÜ.)æÏò>ƒ0ðiŒ±’i蘌jõDjWÙFºGu)ÉGt–£G0’[í®ì¨jÕµ[Ð!åå ‰àÇöŸ¾¯x§¥nè²í‰TsrGÖ•åvCÚt%ÇIžw|ÿ@ž;Qα¡ä@‰CjŪwET5l1L—z³€[µ7¿È;„éGµ Eô/%UKâ ÇµÓfÑó$c"ÔŽ6ëèíúöDß6Úº‚ótæñ`ì;cŒb–†ö (ÊW˜—žÿ§8m{ûXQQTÃ&çãÀ˜,üÄÒ¾ÇL› œ9N0C :þQÓa"2K×V§–Ì0 ¡±Þ:½5fZ9,R‘76ÁÏ…S‚l†mF3¡=5R?øþL¼¼ç ž$¹ *ØbÈmÁÖŽö±^@zÒȺf°˜? 2ß×I„qC²ÿ"Në­!¦t50a5á?<ð]9ª·’™¤g]«¹^û`¶Âº]7щ̱y€Ÿµ}]q5´õB¯Ö1IÄ„Î/óêLŽË¯x΄QZ»‡#–4uD¹.Ì0Ò¤¡Ý.vs½.ˆ`NÈÌs¢MP¡[ÃmÅ‚t ø(ä¬9°[Gû[Z“Ÿã´ûþ#ÒnXv5„ ¿éøìà7$ê‹ÛÜn D "&ÎIvíàƒØœ îK95´C2×Ér<ãm–Ìë/òª$)eújRÄYæÀÏQz?ƒ¼nI{WÒŒY-rk`­`É8q&ç ~8!Q7­$ú„Z£o ½8'§/ÊÛßÛ/â4ßïøé¤tî²`ýãöMÕ ŸIÎ,BË䜘îè|/E”“†û‚÷ºÞCW°íF_„ÆŽÊÜ™³x _æt ¡­ 11™¤‰£«ÒÚ§wí¶¢”A+G"*ô›"šx:ó~rßý˜Ä9ˆc”‰bOdíÐvt½¡K§KÃ}v²4å»ïÖ_Äié1wApbKòyÀý$5íDÔí˜÷k¡˜ÕÀ* "К"meÙ6´-d¿Õ0Eº¢òÎ'Üw˜éó“¼m2jͼ Ä²²â!øpÎÿwÛ1‹"Á4 |þxµt1ªYÕ@2a$Y;2`î`2ð!¤)83Nôòýÿ¿ˆÓæ11…¾”ù)µ¤˜}òž”ânSRÞÀ²Ù+B+IL“\téØÒ±ÖJâ‰Â“þ2ÙG3É qȧy?êS‘RèÐäþájK”Ñž€iSŠf‘˜Äd⥭A‘ï¢Nb„D 5DG‘H"&FDy¢óÃ3LJóqZËQ7³+±“"´jލc6H}Ý ¶Ç,WFg4rïèCéëÁöt`·“íV‰÷¡äËÉy bw4'ªŸæ•Ë‘Š'á½.(³eÚD–Ë-ÛžÐr–çˆñQ°œy=à,£i ̤$¸ô-Yª|Úª˜,ï×Oâ´õwÿBn“ azB š¤Íº¤b ñøÙô„4R¤­hoX7Z»ü€œœ;ó(4‹¬˜-ÜÞ½Ãßð-2ÏOòŽ šÚYjëp¿À¨£œhKš$ª;ÍîH&)ÁœFbµ³×ѼpiPõ!¦4Œ€ 8*Ò­øi÷Oâ4—6¥÷IrÍHüQž<ЦüYÎÉr·¦£=±6Êt­ šD r8éVtC&bJH©#´B‘*|’׿s2I2keH˜´6Q´LQÓª€G r’ÒIÛ•òAjC,Q•ê웢¶ÐzÂygæi"9QƒÇÏÈ8>‰ÓÐïa&ã^xODXÆmÁc­ÙŠlÝÇYt$GÕ˜³êÃG£Œ åP›èò¾8˜’­Þ¼æ'y»€½Öwe†’¨™ Ü 'üDd/›±vÒn¤nÅã˜Õu.5êP|¹•QsÄþŒçÄÇ,‹`\Gؤ°ÞòôIœ/ƒ± rÉ$by®“ ™ˆž×[rb”­nN«sÛãËÊ"åj(Y…rzD#âƒÂ'*‚.|6o!âAïÁ•+~6DŸÈ#™ó##YpU[ÐZ€u"Î…°õ¢cŠûfb"Kð½ƒÈgã´ùÚÓRf¦T"Dµ$bRË®Òn Žv&HsjÉ6:Hž¨^³ÞH}ƒÇFÈBœVͧ æc~6¯q§ãVb¢OcŽNÌk¡³CèõàéD&9ñ¼|Ñ5F8HõƒÌòF«„@¤à±aÊgã´§Ú®!Ь³8’]zƒ>U¯“r|ü,µ4à£SÒKjvk—y© ®, ­7¬ƒÆ3 Jù+yç) ¤üÍ™ˆïõ÷Ũ¢‰6AzAô‚¡ŽR† ?{£Q!DÊvœŒƒ¾ýôWã´¾nÐaΉ;x)„&í, %Úü8º$ 9‘¹óóÄœ„_$¿:½ ýf´u¡µNЙþ™ã¯çµŽHá“bÌ&£¨ˆˆëpU'Ñ(/\¨¬:–?}ýIhí<‰³lÀ¹þÕ8íÃïÑM´ÖÙÞÝX·•eYH5öó²ì¶AëBk€ svŽæ£ûZÀnHh&2¢vÆC¶ ë ]nœG*ý­¼Ò„˜p… ÇÙ“éQ@RkM$?˱ÖbO°®¨)è IŒk'¦ b-Ùªgìú7ã´ñAQ6t3zWÄ cÀý¹š<±$"aìhŽº6µ “ÆœB8Ä|"Î w¿ÞÐ %~.à¼ÐDÌþN^P•ZŒf¡\ÒÓD‰ÚÊÏ…XLhýŽõë ªJt½˜Ñ¢<ê…¸sPñ¿§é*ˆl„4Žó£îô1X yÒûQÄy9ªÇ‰H‹¥,u” Ïóâ£SÉ®´¤Î˯HwRû50òy[áD4á¼dd"’L©z)pÖúr–¥¥Õ±Ê9‰1«ÍQ…¥vÍß‹ÓtÙŠ~DÈ™àƒô;‰xM칟mÿˆ¬Jàòç¼4x¦%5£eèYÊ'sQí’{½-í_˜×q”ÈÌ'ÈT©&”ëá(\E‚ûûͪ®åǸ¶ ÒÐôËè9“9Áûï¾:NÓ¦„ fJæFè‘KI=1jàVk7Ôh]ñz!èt'ÆÝ)’ÊE°¤´4´ÜíQ}YöÊyñkòŠ>“ÁpGrD-†9ÒŒ¾-eSN# ÎÆ|ƒh|uœ6©oÊè¨mˆÝh­•}dDFµ_I¹N×í…¦5æLÿè_ä"ЯÂ\·¦ÁéuÔ¬†X*Ö—çŸ=wüNœ‰ÁÀGaŸñXñXH¯‡ÌËå ו.Îüò¶XY–[± Êuqç@£t58^·ž­Nå òQ3m"5¯zž+éí«â´¡@ÏgÒwô|0¸>Ñav¦/Äõ§vDyQÊ!E+˜B+wõ†Ý¶ëTˆ;2í¶­‘ž„ß$¯dñØ™YÇ„¨©e ³…Ì•sçÒÛ}œfo¿!ggždv2Ob–ª4ÄÓ:6Ý¢ºùU°µÑÖ ³Ú˜^¼¯{éÿç0ò\ÈfÄ9P´vGú[Bž¿ýfyÇpæ~0çqUg]½fÏ_§­ö¿É8™y^¶ýrX%+×§’\;Â=Éds²\„KpüÍòæ¨Ïâ8ƒœµèˆ±¼St¯ŠÓ´·Bê…Q魣ƸõšÌAº”™!:·Ï1ê6ˆÇ—šŸ¿™ê,¥ÀJ† Z©¦¿YÞŒ†{¿@¨sûæ»åëâdÖ8T6ET¡wDÁγÜVÓÉ‹Tò!ÌxÂù–è¿ÇÛw ‘gôxò#è® ëç%#KÎúà#1蚤ü†yíD$iä‚é`í'òÊ8™ÐÞýᩦi2˜ù(‡‰À±b g} ÖзÆúfÐo?Àp|ˆýˆÏätzû–vÛ˜ªåf=½Æ-ãF_“¾(Ͳ¸˜ß*ï8‘ìp{W:»ÞK:ò×Åai4•±AžguÔÒÐfh3zN<&ãlÈ,ÿ²eÐÏ´q'6ÓdN¬?±}»Ñ·òþ¥OrLŽs”‘vÅVú›åM¯·ÐÓ±V·7×ö+âÐhÏ?ùe®^{‚(B)SK•õ–¼iõ16yœŒ]®ÑëjB‘Ë7ŒS˜ó@‰ØaŠÙ.éÅ.òüõysVóKç|ü´3æ¿€½s•Ó^çüiòÿöj¥ †ìnIEND®B`‚pioneers-15.5/client/gtk/data/themes/Wesnoth-like/hill.png0000644000175000017500000002257110355345405020474 00000000000000‰PNG  IHDRHHUí³GbKGDÿÿÿ ½§“ pHYs  šœtIMEÕ 0Íë Ó IDATxÚ­œw¬e×uŸ¿}ÚíåµûzŸÞ‡Ã"Q¤HQIYÕ–d[Ь‰mÄIŒ °‘ÆÄNòG G†aÈlGq,Û²lK”dŠ&©a›!g†3é¯÷vßí÷Ô½óÇ>£7,bòóæ¼s¿sÎÚk¯õ[k]ñÔÕ™ŽHe¡¶¯ÔàrÜÛ¬ÀÓÛpèHÃçGàfú%€ßþ2„ë°± OnÁù%ý{Ø9î·; ç8ˆÜ8/Ȳ¹"k0[÷Èn´ˆ¸žáÉmÞ{Ë%þq6«Àž\oë?’ñö«ñ•øÒA˜Y…—V W"`øïÃW“#°§Ï^ÑÀ¹„ü ø‡ø:ü#[`Oš`ÂùiÅT±íés¿SžÉ.¸±Í÷˜Kür6«Êv§-ÊB‘0ÁÂ`®ül8¿ºž¼ß«Â. Ì¢üø¸½’ :--ì„r}0½Ö\}E`“׿金ýð_·Ã³ô¹÷˜Kœþ|—jAÞD´À©úØ™k3!%è—pq ~¸‹ì˜ç~à!ë)X‹à‚eÀÌ[Þ)¡Ÿä` Þ·æ«`˜EðԺɘ Û%iIű”ÅtÁävxŠñMÙõs‰ÿ½§¨RNÄßÌêy¿KfCøHúm4a: µAYøÂ¤À5K<7Ûæ¸WãJ^Œ Sh[ÙA.)ˆô&`À‚F3L"¥ÅÙi—?~Å瀹n“Ûá¹§^®|fT½§\æ}Ê:y¶^¤ŸÆ|e ¿ºÊôöAdBÊ„•`Wzlh)¨¹ý²M¼Ô€îJ!,i¹NHda(ƒi([Ú;5è·,œÉ<Ë ˜Z ¨¸’¤'¹ž¤ % Z¡¢æ½w\Ö‚Ø£w½Àá<ôTáw—áž-èjCCÀ»a¦Ï+pXFHŸ€M®„Õ’±IoЮ鋩ØÚ74¨Gp1©85ò`É'JÆ-ÉUï†ÇŠ Ð!%`ë=à28ÎÉ0ú°Ly0˜ÜV}øÂ~(&à\æH Ò$-ð„vʘ”#ídÀ`Y0\€Œå6Hž~[Rm*fV<&¤d=€¶‚ÛåIYšÅ4 ® †´e`%M6]y±,(½S.£˜3öt?ÆÏ„Âp‚\w‚lJ†ï¹p:€º¡ßI¦¥`H L¡Ïe(ý¤¡ß“Pô Ó„¬ IQ¨˜_rYØ™RpGA_ø»á±€PŒÀ³-~öá"_ül SP¸.«ÇÖoàKP&<š€ª Ÿ~¨ÈÓUª›.¢©È H=]ÃI¡‚…Í€äºÏáH?qKhsŽ,Mm(vB‡yh&`¹W6µÏð$L7¡iiònydÒb²/IwI#a’DÑo0lÊwÎe-7Á2`" i¼´Ã„c2P´˜<‘äùgCjQ€R`$-²ÃiæçÛHWÑl‡¬·%àÀ½=``Õå£ÀJAÓ„LÊÛ°Z‡¢)j`€+aÃËw<))©H˜½Ö¢ÒŒHÛЧàÓàÜ—Õ“‰ (ÇÆîLúV5`}-b|°…á8T„BÐ"a¸s.×Vßg°¶%™uVÎ"šÌ·?¸Ð`f!D(x¤Æ÷Ãæ&|uí¶øð»Û’ùM“¯=á´#±é@Ö„Ã)ØÓÙ‚Nɹ+m¦ORòyn¦0 üåEP|¦Cq"âj-ŽäM°L0#-©ÖšTD‘⿽ÔâgF¡hÂù2¬©7ç2Çmçä˜Ô¡u:€jÖb¹‘ "v·BÅ|ñXŠ»ßŸg{ÅçÜšOÒTäX áì2Ìmiß´Z„y‡±Ñ™¼Á¥W\ÖÛQ\eÈÆ;âJÙ<ÕP¬•#¦6`+„7âñ݈X›C´Üz Nä ‚ [Ј´F%… ’úX“\Q;|N­@M¾9—Ù/“sMŽŽT_1Õ”„¦à¬Ô _gÖddw’BÁfˋȵ=Ì@Ñ–PuF–Ð$%z-Ì–‚Ÿ—AlîÙøF)à‹»à[ëÐòaÓƒª„² oÄ£â¥e8–‡&áî¬Uà÷¦Çô8&7*Z4•N‡œ¸âQö÷û†Å¾ƒ‘¤äRUgoÄetœ“m`̓ÓmØ›ÕÀJKg¼]ÕÜc †º ^ö¸¼‘n(¦h åN|’ð±„$׊Xk+þ¶B#¢CÂh¼Dê±Il6«:"öã'¨â|êVž%ÈyPHƒýºdó´]†—=½»v8Ôc3TH’°M:CE_¨èSЕ†l—V>g-Ü»Yê=YÆ:î\] ß˼ÓqN±ÀUæÚà†à+ l†T„]õ™Y ð’CÀÃŽNÛû-7Ñk¾Ñ”8…ÈIž™‰èmEÌë@ Ž?kiz‹ðÑÃa2K-ý·ò̶á‘"l ˜+ÙšÖ¦U¼d ¶%%†-Á.7"Û’\ô$/KäÛPõ`*2=ÅHÞ¢7Tˆ àÙ Iwôz.ó·ö;'g+Zľ(I©oŒŒ£TÛÓ«ÛŠëÛ:÷™  nî¬.æU}] sâòpV)îsçæ"®ÉW'žÕXÙ×ŸØ ^zÒÐÊÀ¡<¼–§A³ ϵa%Öyn/ï7a@é¥{¬(™®…üÉRÄ™¶d3¾y°ªôÖ‹L¹U—Œ! ’‚Þ’äҦ—¯æ²îœ„+U8»©OûÓPkCEiY!eA݇(€¼ÒлëM¸ÜÐ7r 8 t ™º¢îEüô^¸ÖÐÎPßø„€=EØ .<}¾ÞÖVó?~=ÏÝ{àÑ"œáÕ7z8îh±fÂs ðŒ§ðã¥lÇ~ëµÍ  zJðär@×øôÚðÁq8rx‡Ë^vNþÂa0—t¡ÿs½°]ÛQþÓô§a¤S¿­„`¥­«ëR‹e.ÚÉâ'ô|ßß‚©u]Ó:RÑ€ZoÀó›Ð®Àð ü—K>³p+ÏoîƒL&‡¡Ü„Ŧ¾@'Ÿ?ãÝUáûUXˆÀMÁÇ?ÜAFxõ´c`' lÛ ï¤"È(‡uQq{L K.<¾­[¸Ä3YõM~® ê<±^ &b¹n@G A)gÑê°ùáË>3[H[ÒÍ`,îÌplp$”ÏýR><k5‡°fÀ£wÁ÷çàì¼>ÁÑ8ÁMžvî{æžÒêè 8”G>½=páï †¶ 7¦ Õ„.Œ\Ï›”“6RX„µˆV[±%S‹:àÏÀ¿: O½¤WE½S|âî.±ø¬ZŽà®Gá¾§—µ±Ð¹Uh°»î(™tÞQ`êü6OL+*½ omQ‘&üê8dSÐÑ„¢¯Å­¼\³¦O ƒcЗÔòìò Ðvá&Ï×ÿ¯Ž³Ö¶ «ª0°üô|ì|Ó‡µ8‚ÝPp#Ð[<À#±¿:€S‘µjRw7yîë†ÿŒ`Ï8Ò ?š‡V¨ó§õPß®xG«ÄaDH'´f½»€ÐeBwVWá§FAµaÙÓ¡ ±»x-—y<åœTEØ”ðí9Ø^†Ç7ᕺŽ:¤ànCÇ îf€0,Ž'Ø7b3/,ž\òØJ“ ûáÚêN ÈWº¹é8ÐaÃÇòOÃÎ…ðËG`ªΣnòüõ\9ùMˆ®Á!Ö·aÁÓæ8fA—ÔѲ^Ž7‰Z¤KØI¡¥˜:PíËÀv-À½ÝpÂÒ» ác¹×s™ŸpN̬@Û×þÅøËEø. Õ´ÚÇ«yúcé ðx¬òå]½“‡ €Ý‚-@yN¤LFº½&ŠÎ1ɉ¾ˆÇÿBñ­¸uOèpáD'l&ÑösY‡d ÖÊð‰¤Þu’è'­Ã—ÞY57Ä]˜ú¤¶ŠÅëMžÿ|èîŸ:êðþ~¨Ïµyq%ä}G5xlvç)ÿBdl¨¯ê¨\lƒHCÉ…_ÜŸ`µæáοšgÓ„§›±ã-ü#½00ë-ØÕ ë+ð%xE®…ìK28–Ä·MvÙp8㣤KºäóÁ\Ä} ˜¯™ f÷•"~ïLÄ=%A}M½ŽËìtœ“¾‚(„UKG/{0Õ€à‘Ì)X©ƒŠtKJU¥ *^Ùòy~)@ù’b‡Á†iòíéˆÇ×÷ëœÆpáž ¥à+ó°"ಀ'<¸7Üç°é|kU;õ[yÆJÐÁ>9ºcÖÑ]g¯Am Ölp… w ÁøýY“Ýy(G‚fÆ&4L2ËŠ>7$Õ õÐd$gñ»ËeW«’Yùz.sÈqNn´¡%áz ƒ¹n´“8µÿtj!Ì»;áÍGIh4"JfHÂ[ zªGŠc‡uàwv~° ×*°ÛÔz%´þ3ß¿Õõ€s‹p9‚×ò”èZ̯ðí<µ.Ø\‡ýE(õéü¯í8 õ%È´Cƕ˥%Ÿï]öxùr›ìZH³"¹¸ñƒYx±®è6,ºÇ“ õ8k>Jª×q™u8'; ·Ò–Cöo™Å6<Ø©››F[Z¯©²“b| D7 ‰(âãňr.Öàç´¶S4ô±>0fj… éÏ›—0Û‚/wÃàµ<óžné-§âÜoR@O7 õk¡n½,Øs¸wÒÄ4ÛüÁÙ™-P¡BzŠD Ù $Ó-I ¡&`ƒbMd –\ÆÄë¹Ìÿ÷pîä¡>¹ Ž—Ñ&æ{úÀ+<^ÕÔKÁÅØéÞ‘†æ+Ð’Š÷íRòðø‚¾1¡¶WéþA„–3±SÜ ÷ìMðZžK@[B—‚® -À@̼TËÛ0ßìËdñ¿.4ë ßh5#Zž¤é‚*Ž'$=d¤26‘„íu¥^Ï%Nß—U××áÏ—õ/&€Ïõú »:à÷/î$Zú"L8’‡þ” fâ¦#`õÂÙ5x~ ̸É`­÷Ú˜ºy©·øMmC¶% uÃļϬ÷àÏàRSK½73œd,_|²C°äÁã-…ºEŒ±õÍõ#(X:°,A©7A¿Ãò…:[¾z—¹¯ìœ|¬¾³Ó’p0õ¤`DÁ.–êzIÅ=ÆžÒ¢Ù@z»t·Åd?,Eð•«0[‡ƒyØ;×Ê0˜ÐÛö¶Ò¥û!µÄðp/´ÚðC ç[ Váy´¬qyVäÎÅñ‚ ¼Ð†ý|²Fûtcæ£ð@ŠU8ÐOÔ çsŸéÔPЬúì.ñç…¬* À :¤ÌO»vŸUŠP׿ÎÇzMɆtÆ:Áñu´Û+`®¦e ô;ðëÇ¡+ OÎ@¡’IøÖ‹‚naQÌYŒe$9+¤k"âÅoë2†Mx#ž›Òêè¢á9W/áFÜÈÐ ÁÌÂÏÁ‰\š'ôî¶Ç„¼)xÒ$ ƒVŒ˜ì–‰a ÎOA.k¿ŽËz>‚©…€îø©xbeÈàê‚d@hÉ2Šû”;#¸Tƒ1àpœ·S‡‡áМYÕ>׆ӫàðÈ(ÜÑwöÁ3ðf<Ý j5me—Úq'0!aBWM§êÐ0µY$âb g *ŽÉz3"’ê-‡ th4Àí†û2¤[ðù,,Øpµ =!ä-T²ˆ¸^€¾”Rðµg`®9¡—ayIë(•Ü8KF:æ™0u|r}^)ëær>½>=‰*T-øÆ È^ƒƒßœ'iA*ÔþÍ1ôRLô ÒŲr_I²Ù†Ùz€ "6ÛP-b;Za,dáÁIAË,q1¾k„:ˆÍ ÝÌuGˆï dÕK6\Øzµ)?ØY]9”pÍ×OßEÏTñXco¼ r¬ß€3>,Zè®¾„Ž™²q4n9ðþQ8œÖŸõ'/Á©:ô‡pOÞŠgHB¾ sÆz[ä;ng'¡”„eŸ³›‚-ÓÀÙpéŒ|6|˜ñu®u"©4Xið±H¶Bðà‡kZ¢=îh?ºÜñë…¬š—º°¯â­±7¡ó?]‡vé)¼eò)¸ÐÒÁ™q³4T€ÝãpeÒ5ŒÇ¡N¡#Ö›K âÕå¡.ŽÃ]}àoÂck°\ƒ>C'‰oųâÃO•àå<ÙŽ«¥ v ðzÉôt'QRѨxŒø4èJjÒÔÍš7‡ëq} '&µgîÏ:'–VØÆ;„é~ã ©K˟„nÚž÷ _µ@Ô¦?]ƒër§AÀB›kÆÐÇÞZ!òÐõþ\lDú³/¸üíðŒ't«Ì…:¬Iýy=}àçtO¹ VšÁ£Öæ]®´ä¹n¶á8†nÌð =”(=hä¡{HsYýE=«à…0%`g#ÁݶâB w˜Á#ðû/Ã88snéôŠÈm8¾Wûœ+×uRƽ< çBõêÿCýPÌÁf][à”wvëñƒ·ÍSÕç3cu`{S6õã~èMû2 ìAx¹þz®Za·ôÅ\‡_Íeíî'ª61WËzf+ÁÝŽbUèŠD½k¬Õµ¡ûùäNÒx}FG±cãЕ7iV ”2¨zPnJü†Ä #T¤GžJy-™x‘ÞçËe8¼6+P,뉛wÂcÅC¾ S׺D>ÛAÅãô™*C}¹Ìíq‰Ç.;×vÅÈv./+Ö¶L~Ñäû§—#: Póáoc§)„ò¬Ü²úIDAT±´C]RéÐcÀG‹‚®c ¬ƒd1…Š ½î±8Õâ±.=2b‚kB… kúÛ6ó°w²ih»‚wÊ“±´O1$ ]›†\¸Ûtß&—ø×£¹òä°Ùá$ùœIM&y e‘OFØž‹XwùÍçet 0 «a)X÷vv§Èô—ŽÎÒ=‘B™à–#R~ˆ¸ZçïW=ê¦b«­o°Æf'´ èÊ &‡MÞ):~‘R,HÍ–^v‘ý¥Ämq‰Ïrª·Ób8oqd2ÁðD–to’*Š¢ô°OmpåšÇß-Âr<ÍüaàŠ‡Ñ ä,:Ãd³Ý=6¹¬…eˆ¬ºœ«û dõØeÊÐÛn¹­kUQì …!¸]žØ¢¸evM(]½].+’ŠvKò!S²T‘\˜m“lJ::l6Ç%•n¨Åâ×U¥6c‡mÅ¥éíjÀv#$›1Ì[¤’‚¿®J„'°QŒ¤tÿŸéÝ£˜„­¶~êÜ&Ïjl†±ã›0 ß—•JJòœ§¸<ã^mc˜É„àg-è4=~kQo·':àñšþª•Эº2Ð’§/µ†„v¤¨7"²nÄ“†)Ã0¨y«&ÓºÂ>t$õsäíñDR;k'Þ8 -ÇÛùír™¿3Üuò#Y¯Wõ J«ÒnGô5CFUH^ÀDJ pZúÆôvÃŶîLÚPttñ?ˆcÁ¸À——z'šz%Cêïç@0]IìlÕ,¥x ™âvx¦<½‹8P½G€²uî»âœ,KP-Åz¤ƒŒeaÁ‡§jŒ>TCx"ÔŒë'6]†£&,è(»ªt;ð‰,<4/TÀN›I C’ °èµ h Z îAB†\¬ûÜÏÇÆu/åZîMÃt¨oȻ岶C˜­Ág,AK¬)‰ FCÏ`ª¥C¼B, œ)CЄ½#Ð7*€©öç éh‰VDð‰Ax¦"ÙïÀ+kŠ9Sp, B BO›}oRa™‚©†"ŠÞO÷€þª‰nùÞp‰_*d•LZí°8& ­ˆêúŠÇÐwuê]Ƹ%Ÿºùïlü½=tí=T°êõÿ¹ÁDN°!¡)w¢ï@BÙW\ièŽýRB°ØR8¦þæ„Ûå·ü|/¸¬È6¹$ÁBÒäÿ¬xŒº’_ÛÏ.B¹¢OÖt˜°·OÖt}«•ÞŸ†®1øÆ”NRó6Œ {«ÛŠç-xù–¿;Ô­[þ ¡K-2¾ªwË£nùù^p‰ßêÈ©LÞæ| h·C¢Pñ…ô÷@3O­Âƒ ({Zÿ쇋 º·ÃÔÉfhj!ëÛ˯þz«\<'Ñ#àÞø[&™GóqaЀµ@ ”A=”ô(x7<2Fû½ã2)¦N¾ÐŒð܈d¤ã‹ízZëÖ“É^˜,À÷VõÜü]R·öv`]Á_mÂÙºÞ)’· …x±y/ÅP×®nÖ«Ô=ŠÝÙ“`h0É>Ó HÞ ¯àˆÐ£ï—µÝ—ÀœoÅZn+.Î=•Wâ æ¬nøìa86s/ÁÊZ8[Žçi¸# †„YO§ü»z íÁÊ‚n¡Û|MÕÁ0]ý2LfªbqfZ¼+žZ¼´Öý÷„ëÉÿ0f,¶[ÓIEND®B`‚pioneers-15.5/client/gtk/data/themes/Wesnoth-like/forest.png0000644000175000017500000001245310355345405021044 00000000000000‰PNG  IHDRHHUí³GbKGDÿÿÿ ½§“ pHYs à Ã4)$«tIMEÕ 8†5²¸IDATxÚÕ\Ùr%ÇuÌZ»ûnXg!é í‡-ûôþ¡ù8ƒ­°lÙ²D gÀ\Ü­»Öã‡ìn˜”†"%< f ·ªÎÉ“™uÕ—ÿò¥ÔPQ†³0Þ XÿÃZkÔT1¼нî`×–ÿþ0`x?@¢àìŸÏ÷á& }Ñ­**v¿Þ¡9o°ølÓ|ü÷(Ç¿òè>ïP†‚ç‚iV_­Þ˜Æ@{ ¿ñÊ©@Y…¼Ï(}A>däSF* @Ú'h§Ñ½î Œ‚TA9äS†‚B¸ PUñ{Ƥ}‚dAé ”(<L«[ ÀmìÂB{Ò„›m5 Áoì3ÜÊ!íÊ©Àîa×0€ºW¨±B)…0(«PsE¸ \½SA9ˆ þÂ?L-UìÒÂ.-ü¹‡öÊ*¸3Éwî€ èFÃtÊ(4× ´ãjø3áùÿ­ œ‚í,Ò6Á4~íQKðœ0u9¾ªK‹Z+ü•G¥/°K®Vûº…n4”Q¨©¢½naá6 | À-¹K(±@9·qh^4ò Ê)(ýp4ž f-ù”qúúm5Ì ¹nпí‘û ¿ñp þà¼Ï¨¡Â\ÔÌ.IPcÅp; † XÀ4nå`;‹X'j¬¨¹B;ç„©Ë©@‚  ñ>"ï3P n#tËíæÖŽ ©"| HÛ„x!E¸RJ±„Ê­ÙiØ¥…Ò µ¯*ß*®ÏS›Ö@Y…r*ˆwi—>Úh4— t§á¯<”å¶µK HÇ„ð!@iÅöX* ³4p·æG‰RîÒÁ]9<'LÝ\7Ð^#mʱ J_  »¶PF!m”Rh¯[(­`¼žoá&@ªÀ,YÜj¨H‡³àƒ˜»ÇsÂ4/ùò ˆ#”VPFÍÛRAA Ï;4 [ØÖ’#,¸ª"ã®Âí/ŠŸOÓð+‡X@Š |è^wÏÓœýÓÙ›tŸ  àÖ5T,¿\"÷Æ˜Æ Ý'H᥻åHȺÏ:>TJ’ÚkcÈ^SEÞç¹ÛÔPaÇ|˜zx7@²À®,ü…GÍ阠-·^ â6Ϋ¥¬B>fhÍ‚èÏ<”VH;þp»²*ÈÇŒ´M¨CåƒY‰É³2P+õ<0Q(À­ìŠ ÞE¸ƒ?ó(iÜÆY`[ wá€ص…]ñCÎ3ªQpçnæ5VÖ•…ßxv£`Ï-t§Ÿ¦¶¨ Øn¸nåX éyI¦30Þ@ŠÌ,Öm܆]b¢ìR¸ºÑáQP†ÅÕ®,”R(‡‚Ї'©EîÌÁt$bíu ©‚þ›yŸ!U8 B!Ÿ2â6Â]8صEÜFÄm„@Ð\6¨CE¼¨¹Â.,š«¨@>rÆQš QûŠxïâ_…éÎÛö-¹ÑO©Ó.A’ ܤ]šÏx¸ sטV+Üä}†í( Ä»ˆxQÚkHþÝêyÞá. 3Jä¤=5)‚wÿúî/Æ,ÇéèÛX¸•{tL=Ii›nÒ\@ª ™ç}ÜÖåT "œz÷ù˜!Yp®™2önIÚ>1]’ptz>vaÿbLpç¬)v1~<2¦6ÍxŽ…í2ï¹½ÀxÃã×øË‘aZhÌáé t«9-ƒŸ7K³4s]ƒ”áÔlVü™þŠõDŠàþW÷?Ótf&Ê*˜ÅÞcbjéùÃ×îÌ¡æŠÜgî‚•ƒ¶š¯¶Uh®hÃp+‡öª…?÷°+¶Inõ¬ÍL“²]Ø©a$z5VH&ɃàGcš%É`Ú%ÔT¡=ÒÇÆ4«¿]½™¦`í4$ ‡?¥ wV>f(EE.Ü…y+JäS îJ(\i(@€:ðÁp8·{9±~Ô¾²9„Ê£Ž9)5V„]'Q=|LLÓ\6o´Õ˜Ö ïóœõã\aW¦ãØ1ÕÒÇ´í‹ûßìÑlÀð‡ªQh.4W •µ-E¨c†?ç«.UEvnwàR“;¶y׎lÔëY½k.9UçSF­œ‘º×š‹†ÅÖ›ŒYNt(&µ³ÆóX˜Ú®øêNgU üs”´×(¡@A¡„ááÎYÔŒãqÔ^CçíhäcF ¬Ó ÚÎÎzYhÅ#­wn §ß~æÄ”ý™‡[“ Ouð11í¤Âå·™Rì@ý×=íÃ6¨¶r·f§«aìk I¤ù’…LúPÉ#Î3V_®á‹¯,Û4»‹$×p7q£1|øbÿÌ©˜BépüÝqѾjÓš– ÞE[ ;Ú!¶£þ¢½†ññ–:Ê$z§cB:$ØÞ"ô•&rf=wU>P€2p«OíÙ.,Ò.!ÞcÂҲ薊áí€åWËïÅÔ†Nñ.jì@N=:&]•£H´K,¶h_µ0ûGù”ÎìØé”Vèoúou mõHÈ-ʉ¶ õå‰å¦CB÷²ƒ_ÿ1fÞeôßôH[îð‰ívŸw@å÷j§YÓ*£ H‰éÙ–jOrniïæùŽ¿öÜ®G²ç¼ËAÐ|ÙÀn,rÈЭP lt9•¦k “Æð~@*ܹC÷EÇâùÌÒØu+m5ü¹Çê«rŸ±ý·-ò!ÿæÈT†ò¨˜vñÅ‚sT)ü8NL³ì ‚ (_ãÏ=â!B™q˜ë4L6¨C‡>¥j!¥×Fhà‰š«†ä2РͧŒ”èDˆÈ'1!VýÑÝîo#â.Â];(¯…GÇ´“à­-yÁúË5 ÝGv‡’8„NgÖtr+öܹ›-¥š‹viÑ¿ë1ÜäTŒ:ñ% Ü’~¸$š{¦5ÞŸÄœ”¿º¨n„oâ}¤—uéQ‡Ša;Šiã6’nìj®¤ñGªqyÏx‰Yre 0O½å8€‘.ædÅäãÃ÷×XG޳SÚ&„¨»D~¯² e(Ô?Ùèѽêf‹Ywj?ò¶È¢\CýQ˜¹ÏÓ*¥ÐÓs;f¡Ô¸¡ýê/<5Ý5…¨tH4÷•bQ¿gZ•|`(¡Ð÷ÚÑ´SFqWŽæ_Ú%®l•y,Èò§1MkÞgØpK‡Ü­—c™½²ƒ)Qñý˜¶V¾ê¥/sÀŸ{´/[¤m*H¶Våef§P€=·(§Bæì: âhz¢1 [“ãËi»ÆÊÅ8d˜sCŸê>ÿ¦ êá6ÐócQôèu£çîó£0Ï –_}?¦6SW5UH’9É¥ 'z©»áìãÎY¼•WßâPtÊÀ<oPâ\Y¶ß1§Ó\6h®›¹3AÚÑ÷a:’:Óø ÏÓÔ¡¢DÒŒþ<¦íÏø‡¶zÉã·’Ç?a¼™}¨|ÌH!Í£I¼cý2ŽÒˆöüš²cœ­žè^Ú5°Û¸Yg’(ÌŽzŒDÁðÍðiÌ¥CsÕ0.7 s†R+2Pöé&=:¦ ·:Ž7ÌQu¨T/òŽMá§À´SšJ/4šó†Yš¾ |ðköU‹ø1ίz‰y›€T£´š*ÒÀ r’¶k åiá–Gb’$Lcà¼c½X±8ö¿ï?‰™îiO‰ÈœXuWt4 `¡þ 0mMÔŸ'æl ðù”™ÝK2[-Úh2fÃsnÎH¾ê@®¡CL8Ž/ÚŽãÔVMË]‡~”Ÿ H¿áìVByÐÿæ*0 ÖŠ2°“™wÁ8ø)0õd›økOr´¡"8µÅð‘†b¢dÎði;µ‚jé^š¥aÐI–ÔhO£‹2£6c(kÖÈcbné¾sþFUñç´¦¡†ìÎÒžЮ-ô=år,³v+E8åï"ÒMB Ü’ÍkrŽI`sk‡"ç£X4–"Ú1#2bŠ´\6tCk©³äò]ÌöE‹A„²çŸÓ–X°|µä+¹Ms¾¦fò#èÑ[5U(Qˆ>RhY(P¼“§5< ‰1DvÈûˆxÏ1Æ,(}¦Ãˆû LÉ 9¥]úÙ1-À£²|·r£c«°ùņ«Çßa7ý7=Ï©ãü&I·ìR„¢¸ýÛëvùPÓòáH¥¨ äCF¼‹ô¥ô§1‡wÃì¶üܘæìÏÞÔP9…+ÊÚéÙG*i|>Òf™Š—]Ú9þf:C"§GYaœ‡æXœÈ,¼Mwl·nÅðöÔ=žf÷Y‡ÃÿÈ0WÌjf7L>¬¾\ÁtÃí@Ónì<ÑëN3ï—)âO1•îeLJ7 ~C¼Æ Á3¯´bGéʓôvié ÅʈIä)™+P#KÝh ÍëµÖÙ"™|}¨QQt£'\é´Kh.ŽNÃnhq»3ºIßQZÍÎæS´¦3s&F.á6À­-åñîC>’)Ã7³SŸæ9ÖM<(¾¡°½š†9e·¦3%¸ÐÙ…þmÿä0­é Ü…Ãá¿síÞ3Ù2™M¹iZŸH[:%¤]îyœP9‘ÈM*`>1Úß\7\yŒ£Ê!cx?0Q:ÆrŸ¦ŽûH§ra˜!vtºÏ:(Å-X¯Mé”hW¢POyÇŽ¢Íé©bÚp`×´ž§A°¹læ±CDÞøŽªÛ6IºÕ³Åb´¡Ój˜% ¿*Ž%Œ9ä¾ÌtB)…öEKüc~’˜Ö.ésK‘Yøò—l…îÌ=„•ŽqQŽ iÂ=Hœ9eÞ¤ œ¨§ùH‚ ìËG‘òÏ…ÂÜe¦ÜàSÄÔí«vÖb§tª]óÎÕŠ4ÞÌ©RÓñAlkÑ\6”F1ï¸"Ú2 šqºíaÉ2g '7%íN_Ÿé}Š˜5’Â+M‡ }IO~ÒF$131Öæ¢yÙûL EèLQŠ ÞÄo…™¤Ò‚)±0z»£/U‡:7OÓNxÚ%FLrEºOäÎPÌWÀâ‹üÏg¼‹€f¹KnÛäb•všzMÏleÙfß (±@Ÿ4Œ50/͓Ŵ5ñ‰#j¥aè/¼øî[Zµ“÷n;;§°Ú—-}$§‘ 9“ª—#CªR-ý˜*õ!µ5ªvOSDDý)L]ÂCÏŸ¤ÌY…UÿæECI`,ˆRxiºžmWª*¤»„ð> ìÉ-ü9/´M|Ei^l“,ƒ< LMÕl·OÌOòë¤Äµ/˜CžÄïæ¼¶á6p[NWFCnªgþÒÏW 튷p¦Dû”ïÃ4‹¿Y¼Q†E¯öuVõÇÀ $k‡æ²¡À=ÔsÎòŸÄ1ê¶K,† ÆSš‹†Ë!£dÊ™åH®¡ e†'‚©ìªOaêé> æK±“´9ÝIŸ:hÒžwÎó0^?;„vÌãLoý0…¹Ëçdô='LíΉ•æ¤;ÝþUŠ®¤?gÀÑŸ{ÆpÇp§?óXÿÝz.z®sÈÛŒÚ3¼d "ù3ãÙiÜ™Ãâzç„iÛí|ÿèß÷¼5Øñl×PN¡¤— ò©¬‘˜Ù£·Ó-³âä<ÝÕ^óÎÇ;: á†ïïó\0ÍË_¾|c—vc+óp×kº|V"ϱ¶ñc„iê.§‚þm?{UµÔ9 <]PNÍQÝzª¼DrÅ,ãsÀ4ë¿_¿‘$8þöÈøšç-§‚é¢KºçÝ©´OH÷Ôr§‹k“´Y"Y¨ñ,˜Ê %°Ý¦]âÅ“3LJz&˜sÒ~šEŽÿs$­=zI‚öuË[0ãûƒ¡b~³4»±s hÏÚ™ÝÎïØ¢pÇÂ×ÝÏ—~Ÿ¦Õ–’¿ò¨µÎ™¾îóÍe3ß.ž|ïæªA¸ ó5£én*„®yÉV;݉¨¹Â)&ïÃMà›<'ÌæºÉ"bgó, Ì™™W"Þ3ŽçÏ=‘bS>Q¸rkǤbñ4žžUø ”‚¿ô¸ÏÙ¨cJ~ºßõcþ ¿øk1ÿAø™ðíÎIEND®B`‚pioneers-15.5/client/gtk/data/themes/Wesnoth-like/board.png0000644000175000017500000004046510355345405020635 00000000000000‰PNG  IHDR``múàobKGDÖÖÖBå pHYs  ÒÝ~ütIMEÒ0$4ÃÝu IDATxœT¼=Œ$[z%vndƽ'2"2oUVWg÷{äôãÏâ‰#­±XB–d YZXHÎbÈÐB4r²–ÉZGk„DCÆ  9žÆH2(h!Ä!9|Óó󺳻³ªnfDdœ‘WFd¿á–Ñ@gýdäïç|çœ/Ìþé—@CÑ Ot[– £”ÐÐ `˜­ßæˆG &3®ï_£¶WÂÙàü€·¹¦3Z“ø x¯ãGpP\½}ÿ©Å°¢ëak»í Ø3â¤ñSq™‘×$ åI£bVtϬïX­Õ¼û‹£¦~÷âµ_¿ §¡ï¼ý‹ýînòþ XÐM4+êýæN±¡«i/B‰!@~QÛ³*`J @@M¿ÿ–øîk4J‰yÁrAf¡ œ \ÅD³¢3\fÔæk2CLáãG`Åué]¥ØxDM”0;R à=p$7ÒÄ!Áibav¯×œJ]¦pÈ0LJ­ZËÛó5¸L úx>ps/EÄ .Cl… ¦G¶Ö(–‰ƒ¡ÙH£$=D ÿú÷^ùuAKå3‡< …šb qá9¡-4c@máÜ0«|µ+_-ÌŸý—w`V,ø[_Ü0,5u †QJœï>uÀ’Ë .@:ógí3Ò#`Wt·€ópŽ1 @ RÁû5bäú.ê.RR+،־¾#‰Ô}¾€ÈÜ!N×k3FÖÌoê·CS0Ï„¤AX­Õžhœâ)´9žß#NºLátøú·¿¯©½~´¾Ñe‚:¹•&šŒE9‡]¦Ïd;š XÁ^ch/t-p(ÔôpPžZ˜JíQÃ??3_À1ÁD4@Q{4¡] ZqH¡6Þ1ÂFNØ@|l¾ÞàÎíõ!<œC ~íeN$™Ur‰p0¢10-œ)‘:J@Œoÿê[.35€Ð€y" #p‘ ¥ÄtBqË•™ß(œ˜•tÏaêBó1#‰kh|— }&VtÏÀfç`³]ýÚ¯¶úDcXm(ž4p¾²“s4fI÷Œ”µ.\Ƭ„½‡³B:ÏÁ©é¬1zo›t©¸ž×p ÐÆ (öÔ7¡]Æœ\Z¸øÆ8'¡6Þ¾ Äþp 3øµ'.dÎhGª…©„ñÅ–’œó¥zÙ­GÀ›Àþð>¼Wß+^¸^úèv_ÿ.€9BÏ0¥ì1ÓQÁÁ›ž[OC ñˆØÂ”ˆ3ê # hj—Š‹9«Q. uJ¥„8-2óÅ ,-Þ+&8çxW\sµí‘½";!jŒÌVtÌ _9 §1pù909Ä `£¿§\Ç “¿Û…ÓG¦3ú9]AØ ³-R',ˆ³Ò4g™Æ%–—ý¯Ãc£¾ÀõrÇœ7>sY¤«5L°ÖyÜR‹é›ÑVè,ª‰˜B«ÐDàèׯXÞú%R'M¡i4öÌ|oJ®G L©©¥1¡MĤ_ƒ7^) —šüÖkHj _w–r=ÒC¡KäJ‰\ 4쌜¡+(¦pÊÕ6{Œ¥RNi-† æÊBr¾mD!g”:µbeÐöó½Ù¿ëÂá M\ovå(€^)qS0'7·*52+é‰$­av¿o?è$$™zðÅιP ê ¬QsØ7ƒùÁ?ý]¸ âî¢Ët-xö¢ú–à $äÏDFWaÙÀ¬á2æß!ƒdjŒ'Â]_bhzûÐ|œßÛ[°.Â)W÷‰Kr³‘Žº”R gB:ïJ_€å xä¸T¹@4Ì —«{ÖtÆØs}6÷6}N„©SwAj9p¹.bÒtãñ´ûê·™Î@úŠáøÅ¬¡ÝЂ#B—ôéþÕNñAó¹Ç(]±ÞÒ¿´07Hìí礽ð™GÕz›Ñ`%C†é¤Xc0° Œè¼ÒðQG„t=£8…¦™o¦¯½4éÄn‹e†˜Â#Bü¤§I陹Ýù’·¯ùÜ=@%p‚€0<¡+„ üW¯X;" f¥tÆñ,.óÕð:fz|M„+YbwWѾðw7À -è‹["žõØËö´$ ÖÅOþú¦ö™¹·™ï®ùá}ŸP!¿`„^ÂሕgYx’6ƒu„!=b0˜'˜Ýó U˜•êe #Ô)Ù Àþt@Ld tÒDÖ¬Î_¿Y+%˜J£A [ಀ3¾Z˜SÆo½rwÅA)©» õ«;#I)yë‰ÔÃ`O ˜W\O4¥$ K €5z"…óƒúÃŒüÍ ý-ë‚62o ÙQͰ: ` BlCŒh/²Æ×%\é«"¯±®Y¡ö¾ZÒlÌŸÿËÿXƒÔYõP‚Ú£<Ÿ5eˆæïúz €Ïæ$ 0ÊûWºD\:-†ùPæÎ §gp™ºK8<œÆMŽÕ‚9t._];ã%²\Ì:w5œ“DrN1¸L#—\~ «¶ÁÚÏÉHgSxèü¶ Í \hL`Vò6§Û2Ÿd& ,‡†pB¶?5<ÑÞ°üÉÿý[->[,[ÄJ.!uˆ3bÌÔŒÀ¬3oî?"”ÒÝ¡yšñ—ÒÄ&Ã(«4\‡Ü =Óf ¢fêB¹ˆK¡Ÿ§n #àh Pùí‚Uáw¯|w æH·U{Ôc¿oþò»á‰ÕšÆÀeˆ†…†)-i€åËٳܳ·Æ0Df– [q9‘K`­”€ÆQCºž€RÏÅ¿™  Ë Ýñ¢l!{fÖÃ.1_#N¢¦äë‚ù}xüèKúSLÒIùíKn=Û®" ò LÉjI[jèB;rý=,J˜žÀ3‡l¿?ƒ ÿš¬_ûõ„œj{J´‚mpÂÅ IfÍeó¬c ÿú($ 6óë’ër¾Ó¾Z,9žP,ɵRâ(-Öµ/¨c/ € PPÇÁª~órƒò:º*Í-_\W3¶DNŒBN–FY©˜èŒf8 •Rçoï„cÔ%À:–/¸&Lé_`ž ²%l9×;V7=b”Š­:èx@œÂã<Í9¸Šù‚8+:äf·½Ù?<)&éa(y“Bó¨V:µNG²&±+ %¸1O:&: ¦Ð=!I†æÿì+Ä1 ÂØ³¦¯=I}×°̸9&J§ÐôseanÈh iÖJ'@McÂpü50I-æke#b/X¨Vt‰¦`U`ÌO âYQÀŠó¡´™;8øŠáAW8C‡¥iÿóþnë«eh/»/w!Zæ~ý…âÿNÏt+Å[®‹ŸüøEË¢òÌÓÜŽGšIÖ!6ÜlSh?²|Ø7!¼`~ô‡ß IºNwOW)‘Uýù˜F8iL¾öø|õן—HÐ\ù0÷4~×ì\M›ÃNËe«.€†6£Í`Ë™?PÛ‡f¯‡H÷ŒjE³R±×Q~sG›‡Ã{ÄšÓwA­ñäï^J‘tR„y¤[éhu™‚,¿N»/¿®¡Ç0êás ›1GzšF,_à¦à°¹ÜÿêÃLëÌñgH?`n 3föâ áLf37ç˜N€60%Ý3JÎpCéÿ›ÿíÿce‰ Àî…GêHb:*{…ÔqXÂ=…L¦þ!´—7_ý>‡à·yhs{óÃÿöïÒ=ÔÌ; ø®<®¾ÓLÖÐÔ}Gzú¢F]ÏzJ 'ÁÍIê`J_M°[Ø‹;XçK‹» ]¡ØëáIí€Á: èáë-«5pư mÐñaÿ1<¡ö¾æîßý=O¿ÿô7ÞmC{d¾Pó1<ŠX…æ@W»»›yÚ?<íù+¿ö»×/Hî^nÞ¾ý ”°{ñJÝž>©mÌa1¯aX2¿ØÝ¿¦{†­0&óƒöÕõ3ûÕ¯kªE8}fSGSjf9›¡mD¶ùÛEznstWÒZ31Zl‘:¨¶¼]2_©;£4Œ¼-Õ^h/ÌWöûw:öO¾öšÁî\pCV/„I¬ ÎÅí\é”Îov¯ÔIÈÔXj{û0ŠÆ"µÌ×Ühp©CLÒ0“ys€a {™Sg.ÊæÏÿðïKOš«²1J§«¤c#² Q=âòGrK ÒIsˆa>2'|JJ¹ BÐÜ#X®”õP{ïœ!À1éæ^í'Ääë‚óß<„ #"Ð_P,ýf’a,•Úk{õÕrÿn¿[ߨ£÷–°.<:Ž3¿3“ù1×ô•÷Û/÷ï¿Ú8kêÃMÁêvÚûÁT\À¹ý/ÆlgüݽùÁ?ÿmµA2¾y Ä„5é r­3 a‰[̃ѵ¯%ú ¡#¹ Ÿöpψ É Îó7½_oh€Ú#"è\x¬ t ½|A˜2<}—íÖ_ÀMJ=Máw~%==2_…§÷8)hÚݯ`o`§Ð½/BÈX=ë¡G9ÓÀŽþv÷â¥ÆÂG´O0ëÏ™µòv9Ïn{8êÊ+U~NÆY¡2?ú£ï#§7Nzº¨p-ÒsÊäÔgú¦ÜÝÚ0,0DÚ‹†¥b£cOfpR³ìºË V|¾ °âm¾{õ €†^×?hÂãèo7'´’™8D+¤~¦ Ô þ~­ñÌ|Ú'_ÝÈLBsšK¯nÚU_gä…¿{¡q §&¼ÿ–fÅjÉr¥Ñ Â€Ü05º$ +´‚=cXÍŸ]½œ¯˜1þµÇû»Ûp|PwQßyÛ„Ë}a¸]û’a¼ 6t9Ú†y‚ë$³ÿëDM™¿XŠ%Y ÖÍ£‰4AO˜Ñ°žß~ªÂ!È%oW!¶pfÿ>òð­8ÚB8«9#æ¤a¹$¥ˆ]PFBs µøí ¾^ûÝNûvÿéL7Ê,è–V5ëõÛÿ˜ŽBÓa\ú[³‚í@ÑxwF^\Åh$óçü`Hs;gUÌAôj¤§ C}ÐEHW0©lä”ÏåÜ›™¯Á@Mæëgé˜Ç·üíÛ=† 6£ÉüñÕý —H¢Úª9ÀUÌŸYo|µ 핵)ýífŽ#ÖôëÝþÛ·{ &4~ëÃC «›ï~}ÿþ€ý·G¥Kx »W[V7×y±¤¯-Æ¥Úžyšgcœ=ÊH»ðÕ‚¶X`˜0tóH839ê`~ø/ÿC ©&šÒÛBƒ4h|ØÑÁ”8>H š›YT¸`Xâó°:ƒ _OµÕ˜1ïÂIpb2ܵ#àl”’ÆSè“_ÕÂá ”è ëõîî¥QÁ ~n ó—+¨ë+ãîÕKŒKÎç° oËðØúÛ{µ'dëpú “üš°FHÞ´<µšpöHGTô¶˜URû&`ü·Ü ˆgK"ãnCØðø)<|ú‰D:b,TÞld¤.`™…&„Q>›$ÀöÌ –+Å3QÀ™Ð<Ðÿò2Û¿;"Fp½@LJg˜ÒWঠÐÚ"lKVÅ\eYpðYÁ’˜…³ùBm†¡Ñã…Õ2¼ßï^x KÚ<4 f 9+ß¾`÷ßìý—/uz 'írì?eZ«™6\f¾¨1]öÍXzÜh½á èS·Û~›a˜æd˜pS0þÇÿ‘bòµÑPî±—wë;-Žâf;Sx»”Žúë'iPwžeÌs0Óæ¤ÁŠWÍz„° §à× :M4Ù•½O‰ÕvøH—íîŠ+ÆÂáC}MïœÈÀßõûšíÚÓŒVÔ]ü¶äî%\¦‡c±»©}Uj<+&º 6ÓãQí™–¼Ý°¶Š—ðø4ëbþö†n @ñB·Ü?œv•ÃcxxòÛ×~}£tF¼˜üÑïKJà ¬vw7HÝÛŸüüÍoÿvˆ-£`Jõï˜C£ÆÐ(h¯2ã,φ)A²|ðöÝæÎ„­h/ê®aÌ›ÙXRÁ^0ËÜÀ&µà,ZDÆ'DÀÕÈÇ"t†Œ¥¦–®±¥ƒŽšqݬÛèq„3¾Þ„‹ pz 0+°JjELóNû9¡\€HŠRsFµò³Ö ‘…ùá÷÷é*äFã3†ämA˜ýû÷¡9Ÿ'¬å4óá¬êð¼`. ¤6<ß©%år ¬c¾†ËæCQlfÎènŠüæn:øí Æ^§L8“·X¤Øif¦•?ûzÍíÍÛ¿þ 2nw«­Ð1_i<‡öÂ|Áz @Ã3k§&"v0&Ž9òÏΦå£çoÂáqP|€«i3 Kï¸ø ¤ÝÍšõMh{àŒnaþçÿúœóëÂÃSøøŽ%½¿õn@¡×%réfaz÷â¥ò(™?Ï£àŒÜ™#t=fÉùj¾sÛ}¾½ál0u¬W~{£±ßݾ ÍI˜vµg¹ m‡1Ñf&\*®ÎJ Ý3lÆÛ ÚUÞKWÑf¡9ùí+ÅVõs² áQ—Ìñr÷rÃl¢x»µ†Fí9;Ä…õ«tÕÍŠ[çë5,ôxÙ¿{R<ÌnŽÝÝ¿ÿžNÌÿ‡ 1ÓÅr:ÓÉ—VcÆå}8ÿfR9üm¥örÐÇ%†væji Ö‘É ÛÐBÀœ‰³†E XÂ:,\9 CÇíš'èä_þ;4.œšïà«- "õá -rã«tzx a ñ´ÛúÐ^d'w œO4%7ÅõˆßuW.Ü”4’‰LŽß[ª…†I±&´Q®`>íjÚñšwÃÄÛ·Ü?~2?ú£ùE]6“,'uqÞ+ã ¯sêe@G_oÑ)ô=ÝóUäP–üÝËYºc:ɬ¿û7œtÝg3JþkNyc`KÖc¦Ôc4°Ä ð8S…ÆßÞÏg­öšHê.ˆÉµ :`0~{êfjÀ5óÕO~ú€¯èëR‡î94Š2?ü¿·ÛÝ„1ŸæîC$VÆ¥†ÉWP¨}º2ó3‹vŒZ,fÕüZqm”™‰Žx¥Ù˜Írˆ¿óèz%;ËAKÚ ¬,mFS*ïÔN@Ã¥‘©9F,‡p.4< …¯&o=¦_|OñB4jÁrÅ‚ê%ôؼÒpÖ§=Ë•/6áð¸jt|¢4çøðìóÙ5‹ ¸‚Û¿%ÆûW;5ÇÐJQÞ9”†— ùÅüàŸÿöµ t‡£âó×_½~ûö€SÃr@Ç«ÅUáˆcÄqb™ÁAã\ÅÏþåßZ ˜~iš-Äp)<ˆ%v/v$C/u.3ø;éѯ·þ¶Ò0 †2 on^¡"¡à7¯t á©EnÂSëó)Œ™Ï'¿}ývÿÔÓ»—…LöDS°$Gè’aÙ¡"¢B+òÕ†¹Q'ÂÕgYÅ`V.7›7w^ƒö‡ãn½Ù½zöïöûæôûˆç™vaUpìý›òí9ÁÝ\ßw„bgikó£ý¼%ò mš@±gŠÌ6&Ì&Èq‰üB ?gõw#Fi ^Ó³o¿P|À¸dµ Ç#Vœ¿«”`J3{”ýÖL˜ˆÌ×kZƒ( ã¹ñ.£½z5Opô›»·ÇÃÕÙ6+Ž¥½ú#.‰µ‡Lå·•ZAÑß½PׄÓchƒ_f¨7èlé-µÎ¯EÑA›—ÌMh呵ˆ1ÄÎ"+0õæÇÿëumÈ#ˆ €b ‡÷x:îÆF°Ä0ÿÔîKlf‚U"sGƒ0DÄž•' z§¡¤ín¹áµ`[†AŠð¹Ý€NêS{Ü¿k•wK$Öw¬–sÕàÂQ~Co7BT««liJ¾¬„nD_Ý(eL/6¨ Þˬè,â,¢´Äj?<1M,W,6ˆaÂÔÏg¬`±áj&—K“ùÑ¿þG× =Ÿ°Z3õGuç]MNºT>_j<`þbᘢƤi€•!_Ñ&jžæ×}E¸kdipN°[kÃi¯ÐÓ2Lòë—×tIÆ~6ÉËÖsX]%ÆôÌ‚,ëÀ…âC@¸`¸¾õwž­Ð#Lã„<É”VQóÌ÷€†³úg &WÌñ¨3ÔÁœf…©¿¾ž:=*~]/™ cndy•tŠ W>u©ˆA©UL˜^ä m@|‡tK:•†ç­. —í¼9q?œC:âb}E+  ,ò¤_( º„éºë¢ «b÷ú.œ 7š}{Á~7ín^kÿ>Œò7÷¾*HŸÐÄp~›Oçz £ÏÞQ€ÌÄzåK tÁ/¨Ë€Ø)[aê™OÌkæ&œ¬ &Œßþ4´GÖ[8»D¼„Ã#«lNo5G8øÊ@l[ŒGÅ$ÌeeÇÀІWLµ„EhWÌòµ¿†Å0g++±œo× ©citI¡íy©¸luI, /øÁ¯woÿŸÿ}~¿õ°ØUyÈkŒ'¡×¶öËTŒØŒa¼È0 b©á 4ï(2é=M˜žÈ$&É$&£¹âÄ ÜRs>ÒUÏ4Æüôù/§o5L´­QÛcˆ°N˨ ä…wv®Ê £¸aι+©= @^øÝ†›—š@|Â`¤#ÎIh7LÙ¾yOÒç £¸44µS XHG]a|NuÀ’s˜³[cbUÐú 0û³±´~Ào7È ¥Žn53ª8>©•æâÍ\)…ÃãI¸‚µçÝ S¦xFÛ+^ü‹{Ä^±W¼0=Ó g<ÍþÇ@¦äØ*ö„£1LÙ¾ ÞYµÏ%Â.U7 V IDAT›)Ñ«n&½ª uQxúDf:CK²ªYÔ~»Öð4WÖÐ~6ä-õ0Ê^hÌ•IPÛ‡ýwÆ[]3Ë—[TÚcBnf§¦Úž/+¸ÖÌ­‡S¯f€ÍÐ-•LR¯ñ~¾÷¯v»/Bÿiÿ3¿]ónNßnÐözxš]‹&ÿrm~ü?ý' £+0(hÄã' K¤N0hÏ:öoî·÷§÷þÎóÖÿäǽ3J)Žvë êg Kºçk± ©}ûþƒ4½y³#3ð©cV±Ú ï0dÆý»½¯7~»f™Ô]Ë?KªSh£ÂA—‰Õúz'l¶Ý®¾eµ¤)™çGŨA3uÍ‚° §&´g‚»×ƒÌBø¼A…Œ°H½ÌBS‡KÂҰغ ýä¿zC·‚Ž3"ЛþáïKÎtœ5=ŽênŠy/jWo„ðÈûµ¯oiKV¥Æ1¼ÿ&ôš§›Ð4JÓ›ûÛÙNÎÊÃM0EˆG¢S³ñŒa 4@£¯ë[K1Ž,ÊÝ‹—þ~æbt^q9py¯þƒâ ¬cµÄ°Äp†`oYt8C7‰·–X…öH»ñ¹vs7Ô`H'5'Ïl#mÎ’¬©F¡¸:ûõWr4ƒ†Ž¦ÄÔï?úh~üÇÿ„8Ë.h&hŸÂð¤gƒ¹YJÉu˜:Æ»•ß®?׈3†¨„ðí#7E8|Ø{öër÷Õ=†ehŽ_ÿwá ŒÍ1žì^׬¶û_ìa6ÈO¿ó¨%ðËïíõópzšo;f·Z_My5´’¾¾½W>€)XÐßl4B1ìï‚vá×5\Áé¢óEÓUº3Íê;zGéL»Ú+p¹À)£] Ø˜õwþînw÷o­†#†ÄrIcôóƒ¯×axâ°TJJÉžÍ#;×w³î¬lÜ­7»ßùJÂÇ“ú÷êJ_ØÕþÛ¿‘³WšÞ‡Cô\ø»{XÞ}Àì¿uϾ¾e¶âr|°–4O<\°ÖWEØ¿‡]éb¹|dµåÚ)%ÅËþ¯JWÒRmROSÌÕêë¿÷{zìƒÂ|ÊÚù¼öÿç7OüÝ=m†1±´´%_×0x5ƒBÛ£…ÌÿøŸÈ~·TÂjx JìŸBs°«×²'’¼ñh÷Ç'f¥ßæ–óÖ‘ßú·ï>xwÝò•£-‘?£¾A'ÅHçÚ¹½„÷{º/4„pø¨Sâ™Æ0ßÂë ×ô·¥_~ Bh:bh|U#ö³»6cUÏJaÕöZÚjfl±Ùì*¿?½Ÿ‹ ]A[ÍfÅû—ê2‰§ÐAã ýf¸èë-lÒ£ƒ®@#óã?ýÏÃã§Ðv„uÞÎê†ý/¿™l÷¿ÅÒªøbòë¯ÐEij\A˜z<*%¸ èv»ßBì÷ûw0%mb«˜í8e¾(ì½wÆW~ß<ͯ°Úpu5ûh̆ž–À8ÁZV *A‡oiKÌ’Þ XjxÃÂ[î±—äïün·eBV ‘Lò9„S£æ$³ µß?éaéïðæ7¾öåÕOt]ª ” <-a# ‡æÿâû»W/ýú·¤û_ì÷¿üzϼ÷¾¨A²´s7 þQ£¯7¨ŸgÍž7žùÄš@¿ õ/í|«}½ û3ñBÿ“¿üƯË7_íæÿ"µºL¾ÞDIµ½¤]}:!‰•g•Á-CÙΛ¸“Ú^é̪ðõŽ[¬×WQ4{Uƒ¢Ö3vw«ðtV·÷Åæ ®W“aM©=†þ4'  Ç@KÒiÌýûŸ™ýé?d±Q·gVÒ-5ÏuÍiÿÿ~s]BQÚ 8#%·ùì‡uþ6§Û†æ¸÷޽èo¿óÍ€ „¿Ú*%¿«õØñ¶Ä°ôw¿ ½Ý?<ùŠoŸÂ›Ýnߎ»›µÐÃT¦ýãavoÞÐ ô'Â^+˜2üê—37Ø"Vsø0:={Þg£pöÎùW;Wáø3f¯Žh†ÄŠ3«ÆÞW%s(fåµàp½DÓb€‚Ü€!é4ôAàíÏ~J“q»%ÎÂÊçëÝ‹©›ýê÷ßL0LaŠë.…u„Á%MºLô˜…Ó™³ 8>„o•Z¿B‚†‚xÖhÔ>“µ¦£·KØZ§ YçtÆç+T“Ï*æ9S{ÄÜF›¿õ0%²5A,O\z¬ DêuŠÒ{ØrWq÷½¿§^Š«!ü›±mÇ£¶‡YÍ q¬ŽË°ÿèëgŒ™Ï˺EÁ4¡J»ïÝq4¡Ô/ü¼™º×:}š£Ò@ca{ £LŽñ)bCâî%†Àì-š—:1¦Ù>šÊ]Us–öcÌ Ž®Wêü:\‰:<„vvjQc¦á¤AÁ>Sh#b„,9ÌFðnÐx˜—Sü‹ßeÂ9°*ülÇÎÖ°Y¤æSÁ&’´ ±v¢×IJZ‹aTÌè: å¼zµÜ½úJíiÿþqþFãC³ÛÝï¾üâ'?û›ÝÝ ë[2SßÌUÓ#óŒYåë%ë‚ÕcRŠ¢†’€öˆ!êøp¥ŸqÖe:ækãë»Ï«à ³½Û\%f¯öº(@§jy¸¹B ="BsÄùŒU «§ÙýÆ+úß…]à³+cgo4@C£öŒ!Á¶È'Œo+µ§Ð¶ÈMèÆÙû'ú‚äŒÝ½Í„„aZ*u~÷òëÛ ó„VoþAíéí»ã›7¯q^¨» ðûOA}ƒÍJ?og ¨s M ÍxûÂ'ÉPŸïÍ$kPÜ‚g ¥äÈ^w/h:IâgŒ¤?ÌËî»×; Kd‰KBa*ÅMïï^"2c‚C8 h”Â/ßã—¸®Íº f¥Ó¹ónÀ,"Ó¼@ÞöpÓ̇q\³Ìv»5²ÝÛ6úÛÎH¥$ ‚¥ùÑ¿ú‡3§‹¡Á¬Û [‡±ˆhʼn.ów…ß–¿†KY…Ü(6×­r’Æk¤#mF·–qÐ'äŒKŒ @è{¿^Ñ­„xÄãõù¶ÂвºÑ0bh³´¯nqÙ¡çKOëé0óð¡ :Š4Jéºv>ÓURèzM=¢ñ\o¹REóˆ›y¦¨çoÕ]˜¯5žøúÞWåuOóRa: ‰v±T`=‘`+ -†¨!IOÜl¿Þ˜p:ïßöÀÉßÝûÚ¿ýôÍŽV’Ô'²ôëLÃ$4šœ5žÔw¾®Ãó€/‹Ðõ,^ Gò^CbŒ¡9Riÿþ“¯›Ð<ø»V}·{±)Ñ? ¦$ú¬(¢@š{–g$2u¾¾EåñY¦Íh_~]\mèÞ}Øï?¨íe6þæL·EÙ[ òÖ#Ûøz3Ÿo芎®ÂÂpÄðãZQ°ù“?ø7¯oÕZMG?½TöÆ„CØÇÃä×÷W׌mf·éþgo™,ʹH_{mÄw¾DÐ@¾(üý:ÌIj³ðØÑšψ&¤ö¹Ý—7Rxó»zï_§ðôi~t†.Óî®R\hêvë/ÂØ_DH,—jµý›Ý«™ä€¾ÔtœÔ´ ©e½õW`™4´Š-«ZãóL~ùj‰a…j¶Q{Q:ûz­aÒÓúš£Ž €ù³ÿæßóÎÈ>#fðöW»/·_ùõÛoþ*œ>î^¿Ø½Ø]3k•ÂÇÓlîT6^7¨IÅÌÏY&…‡)èÀdéÎJðëWÞsŠ… ¾—"×´[_oà]ñ`Cs ©`3¿¾÷5Ô­YÂßj“æ « —÷XC‚·›ýãÏ ƒrqµ¡9°ÊhnCs 1À ٿ߇ÃGVëÝ‹Œ þ"œÍîÖú­ß¿k4ôŠš¤aR?ùÂûûù“\j(i3ÿúÅîîFCñ™¹yûÍ_îuªv÷ÙîÍK_’Bsdµž÷£iÀ5¯Ë¯v©Çn¾8 ãQ)I‚ÚÐ>“ØHa6‰Î(ñ÷¿>þbø¨îÙoo|E_-fòHGP—4æO‹˜ÀúºœRXõ®OÅÀÐÀÖþŽ$Cß«}‚)Ô·þ®ôdh:Ú…:£^»­Ãâ•´×1(M~UÃæÞ­Pè¼{=ë‹óBýþý‡ýÓù³?øžúN]ôŒaûìïÙ6Žó³ŽÈk! zTsVi"I_{n=€ÐŠHÜÞ{W#‡ž´?½SsÔ)û¼L” hàëÍ¿ùÉ7j£€7w»7¿óµiÂáCh°ÿæ“.OþvÍlb¹bµD_÷JG NÚcQ­wë«Íþñç4EÁÆÝí÷X62Û„Ó><Žáôί_ïvVC¢1ŠÃ9<œ”Ò< ^¡Is ‡ƒ¿»ã2ó7/ DêæÏþà{¾ZÎÅþã78eZ ûCOÀßÌ×pP{º.f»ïÝ©í1,ÕýÿE½säX–ÝÏC&€‹Ä×#™U«ª{ØÓ³Ú‘=R„B®Ì±¤@†B²$gä쮵ë(BrÖ”¹æšc¶9æ˜!9*M¨{jºëEf’ß@&žŒ²i&#H$ðpï}÷žó{™Ä5—Ž­!yûõí*½ð’¦þÀ‡¾•íW<•‚™'[ÝÙ™£¥ø™+ËûÞý铨MñåËÛ/ VB„…­Ýì\âi׎¥Þç"•søÌ>7æÿ!HÙVô¾ z>€§NgÉ0šibuBÈíë *–@c®Ê{’f5>ŸÏœÉŽ´V'‘ÞçXUêïÿ}Ì Gâí8öú2P–w·7צ=¹2Lö×àÈÖ <¿ýþhjƒ²½Ð×û¢P"B¿Ãý`ÚÆ–® œ•Öº¸¸zûþ'o]ñã–ó#Ùß`t&:Õ]›þsxÔ^NV"9m½Ò‚l§/uù0‰Rð•„™øçÅezD¹cùþsyßà ¤xyÅíõsô¤g8µ8%¼ÿ¡¬ïÙX'N.ô/$PËZ%´«ÍóDŽÖÔ‹úö/¾Öá(áÏy"«ÁY…XZ_ó`*Ê£"úR§è_šû?”ê1")èÕn¿(Ä.'Œ½ÈÊÑlÎrýä³L O> ‰·"¡„)N ‡‘a‚†nÇà®XD8%ºZS¤íX æ¡Yoú6BæIö…'ø9‚‘]`ªÏ€V¡_èÕÄ¢³‹âöJ\è$ÅŒ²þ÷ÿú=»squ¡÷ëÅU¦óKb`5ÐÖ¢2„Jýî¯ÿ¦myoÌáž½•ºÕ¡¾}-ˆ8NdkšÚÍa´ÖZ_ã$pN+ÓžËz6E¢tëËT¢TœÏçY%âÊÓq$-B<+²VÙ弿§Úazä,zs6íYïs°u^¾µA>mED’öÁgÓT- É5FƒP=wøI:©l½Û?ÿ¶ ÷ÓöÝÇO´Vç‘9 ˜ »+ÒLÒˆÍPÞÿ ÓœmE í/®-á:ÁêÛ¿þç2²ì”p*öÚ©`œEHâr0€òøÙ”cñ¥v+P¶‚ȯEíHù®T ë“ÀC8côÙIP¤ZGf лJG‘lEƒD ëÆ8®=´lϘZŽZ+áy…iŒ zÄ´‘óyEZ[ï>½I‹ÛëbŸ³›à+ø'Óò—W7oÿÏ[3Q¼þª(¾ü™sr¬¸@ʲ|÷¶doe9êlÀ ¤@ ô½Ä;æê÷ÿã_=o V]æ\‹¯Þ}ê×了ÆB§®èóx_Ö•¨ˆ8DZ¤³ø™D)l'“‚ãûˆH˜é€ø"©3‹-$Ã(%ð81vP lËÇ®üô`Ž2‡o¯oàC%/rq躧Ò9Œ%Ñô^£#±¥hæhd»CF„¹Î…£]ý8€y¼/Ûíú´ÁVË/A$Jqé\ólÊUÿŸo&w•ÔN¶‹™=Q+©„´˜z3y|¨ OÅM Ó}ñ:Ñé%퀎’òðAŸ§EÎg‰.øü}Ä©Üb˜3ñ›gæ„yh9vÅÕklx78,Î÷æîOïþï'ÚÓ~Td;}µq@*‰N3f‹XD…¦þà Ǩ=‘3ƒ”Hž”ïïʦåé}^¼xã8?^§Ãñíd޵iªòýÝj"Q €N"'wžÕ†§XÎgnž°J´ŽH’Ö4Û#K¼@ít²Ñ/_Jà³›VµÝÐЛ`Ú”ïï8y:àpAñæZûÕÈfX›l‹DD–H$p;{ކK/Ñ+q+cPÖµ9”kÎŽ®µ¢C%þ5v•Nõ:8›­ôxJ]ò–ì }1`s#»^6hœÊ‡N!– Ï#\€¤Îv˜-—v½Ýã¶AhÕïÿêW-—ãÌNñ4mTÖÉòâ2ÒzÇqã2.Éw¾ÓÙx²ØÅ[Q誎nª!^"q`Ú±|ÿÙ´÷žJ":ÍŸABâ%+¾¦©0¶ïD-¦¥¾R\zñnh-$q-êò¾DE3œ&±¶96"”°å¸Ñû‹"ÛV_¾¥LS± $žàeض®EÁ‰¬ŽP;„‹¨ÝS,ÏÅ·ZGfžw”.B;K©úŸ¿¾äåc›X´ŽÊƒí!1iÙ8áÀíW_;Ȉ¿˜±g5¬Ä§ðlÆ ÚšÊÇ0™–x…þæÏClj‰7ìÎN*[~˜}u]¼ÑZ)ÃÅ}þöíŠ}¬_]¬ä‰$ÕzGktðµiÍÚ3¼ÊÜÜÓÌf(@õÌ}صåtÒA@„À€ÐJèë4Ö‰Hšö¤ƒÁÎi8פ-²œœkæÏ„NêÛÿðÆ¡’xMCŒTà—ÿâç %Ñ®>r1…Ýyý’ãˆ\U¹«òH_iñwfÄÌG:AŸùa0¤]DRñ\ñ¯nñOÊû;sèMý €Kñâ…ÞkYåÄUyøÄi@€âb}‰QÜì@_Å:½t}¥ƒ§MY8ÚÎ|ö$ž$É®Šmögu”è’Ã9ΰ=ç­FàÜ›ÅQž$W"Xy\€ú»÷ÔÁw{“ÍÎm—\ª[ñS**®/Š778i­ùpg¦Ag{ÙzP‰(˜æBzX:}QèËÛ/Ó¸­ÍÚF8÷f€NvzŸsv†káÒ–ïï̱ƒ¤—⢸ýúáÂn)«ÇkzØh'°6s*Y¢+Þø7œÅ]°×FXvŠçO8]šã{ÓLæã'ó–$W"Z¼Lâš]ÆåGdë`bœúê÷õ+cvG„É*^zÎ[ ŸVi':9p³êöÈÀÞ^^JŠŠ%ÑžÊc[~ø¨/!ùK 2£ˆ…i{Ïâ-Øít²qèÁµÁ~0å¡/ÒÈÅ;CòÕŽþ›ßýXršôvoú;Ö›ÛŸ%m¥ë§=ÇΜuºçD´ãs %É…i8n$<;jž=F+aŠ©]…5£Ç̡¹7}‡6¦×êËL' 9 /Ôßþ:–à’SlÛâõŸé4Çü™ó#$Àºã4 H%DØ=nê€Îb}u£¿øëÏÖ?..e–Ó “_ÖQ‰$"¢Š}‚f„y±t¢9v’y·¯ ¨ÁI¼éKÙõÄf‚y(us:›ƒP¼ºât.ï] šõŸŠ– w>-+޽„;½×CI"\ú@ÄiÔÀµÐ·|üΜÈpø¿“.ÒA²×¦bù©T¿û› ><Á8·˜Ç??…U]ï ¹Óºsé€d{íoh­isìÌ„"óŠŸ:czv÷‰wÜl\Êôƒê‰Ag{Øá«"à«òpÄ4K’¹æÑê¿…À×Ù….R‰w˜•1Vìh, IŽ©¯V£ÊóOpB·¡]Âr &¦’GŽ!‹¯Lóˆqpþïu¢áŸÙ«µ!mvÔdÔê·ÿõ ñC7ý0ÍÈӨC×îS¦©Ì‡ƒ‹²:÷XÜËhÇõóàÄ A8‹ €'"ÙZn<·‰Gxr)Lû‹Û+üD"Ä_8{®_å¢ÛšCG%Xzœ…:ì´Ø™´ˆ±;Aï4w’D: ˆcCK9%¦îè(rãLœhê#›^ï/uŽ–P ËûG)¤Z,œSÊôJb«U¬~û_~ÅÉŠä"'”‡’-¹˜_~uñté×zg”ŸË²|D©„Jü $Çs ÕsD)(Áf'j@—‡;­Óç^ÆA^†¢âòÃ{Γ(_òØ‘¼V³Ú=M‡|kÑL0M%ç@®µ{yÝ8_’¶£Ú‰í¦NÊQñ8rd9ÓÛ°žÎÚ„^ñâ†vÐɨü¡„íœyQ'Â΃í*L;œGLõ·ÿö ;盀96DÎÅõFBOáj*‰/tq¡ã­™Î¦õYÿhꑎ“–ˆNssü^\R·¦zä≷ˆðJÝ8‹™iO¦9êàèôþµ„ á™Õàj‚à(ÑÏ–j¶äÄ™X Ó߉/zŸ‹‚ä‘$9Û éKl[œ<‰‰Øƒ¼ÓA@x‚…ÓlîîÖY>[Wg»^xùqÒûàöÍŸxûÖ˜C¹š¸EHr>P÷ß \èÌq(`£ïÝÖV¿Jn_ýqhÊOåý'*û×:ÍÙ<¾ýSi~üàâôíëW8Zäi$!ª%Ý¯Ä »³lC`0³'K¦¯=„¡ÓÝ®‹=‰D…¦1¦~ÔáŽÖŠ倭lÓT@n¥$Â60ï <E¡É3O N[lO²ME6’‰úö/¾ðSïªÜÞJÛŽâ­bÓEBÇ[“â‚MͶŠVßy·1cõîí?b‚Û²éìFç‹1½iîtú’°ù•pè0°Wœ)‰°%mëX¦¦©DAï5FËkm1¶+­ÓŠWT±»eLÓ¸¢ß|±býíj¬7ÍCyxÔˆ'Oâè½›eÂæcUÖ§ S‚ r->O¼L.Çu “nW°Šßþæ¸"ÇéIEIx–Å'ëVÅ’lÄ<×” °˜v@oÚ-]¬¬+> ’yÅåKýúRbEã<á×@àÒ:m§ÁÈÃXJ°Ñûa޳Ö3-‚0Ò:"[Œd²m 1‡ƒDûâUÀT‡µžp ’q‘)rñ§³.^¼â“|›ÃQd…)ˆ—ÐZgÀh%É9+ Â³|"<‰xÄÎuîtªÅ÷àŸ©„=ôö‘“Âè!\OÐqÚ®Ýûf@p’0e}X}Öb¿Z/rXw¶"¡ÞÉí¿Ì̧–C#QZ¤'¾ûpgšcqq!¬Š‘3­uì ½×ì2óøB¸ž9\å·/ å}Y¾ûÞð|ûâå/¿ù§êÛß|ù–sà²ÛÊ4GŒ(‚¥Öš'O¶‹è˕Ոü*âAÅx*|$Þ¸þ€[Ïðd“ÁWH^cêŸ^®³5ÃàŽëø)â<¡ßœÜ&€¾ŠÉ‘ݾæý"2™x»ˆÒÉÖíþa;Q ㆀÃ݈Rå¡•s ‘¬„§’¥¼§N¡¯2N³©ûõ4?ã¬Ä=è—/1Ûòþ3ën+¢8ÃT|ô~¯ÓÜråýg0­gš{¯ú+×_Å"Ýú-ž°Qe]‰ò´ÈØN6­Âóởð”âADg °°ÙHx¦µ¦™LýÈæÁ­ÜÒ tÒJØL¾9·’’f:±"/E©g\ª!;UÞÆhåÒ×ážÓò®¾¿}q `eêb;3€]kx6k À¶.ñ—?ÂFô686¢”ÚÁ¬JªIDATø™\zêw¿ùùêÊ>-OèüµUˆqæÉs Jï¯`{IÀÙ©–½f·¡9àé8™²zÀ4»ÃdÛ!ÌEˆPë@L3 þL›9 :õk=šê$ÒKø…ƒ,çšóÈÖsež©û ˧™Í@Z¶T&›""9P»©¤Þ_0ÛAš‘´œk9ŸèhÍÂT09STÌéÈŠâÝÈ•ç¦õ¸¨äÿj8Üåö~¿aIEND®B`‚pioneers-15.5/client/gtk/data/themes/Wesnoth-like/field.png0000644000175000017500000001515510355345405020627 00000000000000‰PNG  IHDRHHUí³GgAMA± üabKGDÿÿÿ ½§“ pHYs  šœtIMEÕ % ¦,çÞêIDATxÚ­œÝr[I®¬? j-J²{föŽý´ç9ÏSœˆ1ÓnKäZä¾Hy¦ÿ[öm‰ÉBÈÌ¢ýÿÿû„':ÞÀ HÌwÐß°hî˜Þ}BÇW$1Æ@sbŠX±Fl—” +ø3ëöH†ƒõrJð ¤zMD¤nÔ¯ ù†q­À¶ åB+ñÍß!oõ #¾C,ÃÑ6æ^0«7íBÐ"Sp~Å·ï;Ú'¶8äÃWÌó³…™cº1ç`8Œù æ3d L¤|_ß°Œù‚È?¡:oX:x½¶‘¸«ÖUȃ<Ö‹ó]b9®<ƒ2ÇÌ (`õ3ü©vÕö )ÑybGÔŠ¬›V ²M´T»"~DlÄZ¬ó "ÐJ¾SBÈ~y!R`“ãLüò·Þß)–ÄtŸ•E ̉d Ç Ì_`Ûë¸ØÄv-d @Ah'ã+sûzCL´¾âc#ó¨ … ð‰21Ÿ˜e%Ä VÖ{ð§:ºcGùŠVà1þ-!ØŽâÊÜíÉ!¾"6Œõ}bÍÿaf˜c>'h«úa°Bóó@×_8¹€½@œ˜‹9t"ŒÌÀ}°Î‘ý;O†ïß%!iϸ-dŸ Ø…´H$ÿG¬<™æFdâ 6ž‘% L¯•uf™ã¬ãfNŽ –7dOõŸ87†¶†¾  Vi<]¤À'ß+!¸“þ.³êÌU7ìö}b1qÉpß‘mH]¤t ¶. Ñ»B˜[?À‘½À:ÞÊ,l{Áõ16„\B¦~¨‘J”ñÜÏí„è@Uÿ=!óÒ¯ùT»sl8Ä"Ï@؆ò†ò{ĸl«Ö^ETÿ6Ýúß!H爄°zQ€Qÿ®Œ9¬WÀPž„›› dV»9ï‘ꌫÞ#Ñžz ä?tÜÇšø'2O|¬Ê°Î:ŸZ` :É{v͸¿”òÌ:&CÕ†–ÀpÄÞYÒ‰£>êäܲ¶wp› ð,Ñ ±‘Yx'¯õ™ÌA7\o,=!g%÷±¦¨³O†í˜näZ‰ †o«ÎíÜ€Q°@É»ÀCĬw›ÉVÅö&äÀr"ÆÂáU;ÅÄÆSí†#©Ð·êx¢ݪГÿ,d¼}Æó”á¶a1–›nLßîM°~©óÀ¶ "kû«³bªn´Ïú{Xýœ|tIÙ¨YG'iÕÜD.¸'ÄRŒT-N€o£æ8*!P A†i2(X`ëÀÚ}LΪðl Àõ†Y0,ªaüÅX>vG–‰mûÄÍöl—^4a³)ŒøŠVÊ£Š.Ô †i×V®×²îÆGR©Ý:Û tÔ±êÿÃÂXUqöÉúó±œwX·@ܾÈH!fƬÅò¬ày-¬áµ€8Ý"XHÕN3NŽ×›ð‘„*0yÞêu d{uÓX¬$S˜©yü¯Åº:y¢%lÛXד¹M$ûNF¢x+Ê`HX&b'£È5V`Y¨4c ïÉ|€mϤ``lõ¹þk 1ú(DÑ,ÅÝŒú õê0ëu‰DËÈÛ0,^AùWb]¦d0xŸ¼Î¥â±¤BÃæOoÈ?£f™~عވ8a>ÁZX™à2'"ßç50ôÌ&xu:“nºL›ßp¡…qò·Þ—‚¤Fݬ˜Pßêèþ‰X¿0·Ðñÿêz`¾!BKl¬šx¹ô¢Ü w'³È¯Ô»ã¾5œ·úÀ]ªÆ|ª£¢ƒŒ·žè³D\0·ÂN`—A^!¾4HU‘Y£Žjí’†VC]Þͼ1Ú¦ª{ÙsMôëµcÝþP¬‰D60SL4vÓ¢˜ ¯oäZî¤â¢;CsÎ>H‰â$ Ö!.Ÿ^À³Z-û ‘Œ\¾íµPq«]•÷—…Öï›Ew2¬À³2Á_`Ý`Îj0 Ìo¿k*ÀÖ=hÖ€Yi7 d®ú·0öâ“FœE«ÒrÎÙØ¬ç^^ Î7Æx¼¬ü~Bl¢<ÀwÌ^ß¹œhV¬ûwÈÀ˜3G’£?0‰<±n2fe€íX®ßŒ5±Wðÿ¾´–e÷¹¡ ÿ¬]a2]ôúq¾EË%ÁÛqðô´cœ±ð1ÐJÆ>0nhü£ö%dÔE±Ö¦f¥~ʪU#j£†cÖBsëÏáµ{²êž|ÇL¤Øs!þüñ7c9ü@ÆWÒ^êÍ2«Q«H^+#Y%Éó¨zÐd”Mgß·caæ6Ù¦ÖZŽ_p£¨’ñß0¶÷é¹wŸ²u4J'SŽªMLÞ·P1…6ºååVùr&›ÌÝ‹ã_KAYךsö8áU#–3 æK©‹6[Ð3È ©i‰±tléKÇ;ªNÍ ~#–ë<+ÃŒ9/踕:’Näb0êØÚ^+Vc¬ÆPÍd•?‹åÊÂ<Å RÝ![W§Äp1çäòüC©gb¸™IZ qŠ1ŒXÅõÊ.dîp¾•Qô:Ћ޳†ÒÙö}§0[OëÇQu縢8™O/"ÏÀö ¶]zW Û÷÷Ú óYOJ< ÕîÌÚ9 ûÅX³°BÔ8;p`¾ cÏ:ˆTu!«m?/B4Šp7Ì„›ãû¥E Û'l… ­·÷· ɦ+¡“±=·àwŸú÷gJŒ”T¿³6Åðç¢2Æ}:·¨÷ q»‘&†gqLú©‡ø$íÀÙ ~,ÇýÄæÏcÍ´šäYî*t)õ‚ 'nÉöüº²V¿óȇs«>¨»“<·Æ}½ƒ8Í ïýµ„Ì͉Ûib› Ôü ÍðÍbánàϘndf{œˆ³ÝktÄæ“ä¥êŠ—÷Lviá²ep/ÑSñåg±ÜåIh $ÖµT‡ÌŒíih6sòh[›ó˜“|xw³>&v§_ÇcD‘‹´h¤zùÅB%„\ ‡mÛÅÔl½Ãñùü3¦ÙÄüR §D«<_æ{qðÃKiµâ¯,­ܼ’3š¬ZGQÿkªmr#ëMx¾á³x›£ H.t@DÑ^kZÙHáË6À1›µ#Úæ¢»…& ç>FTB¦ºëZ»"‹dSž…_Ç1êÃÖ.ØKÇ· èFž_8•\öùùηۭvÒ2ÆœÍFw®4pÃukä l˜/t¼qüG,7Mò<0TÀ–ΰ.R“L…oî¾K3Ã̘Û]‘Ü úYP¡³W*Š=È|YY߆½'dÎÞ…[ÉÏ>fum­ß¹eÛ3f?b±ÀÒ,öOFÆ"¿þÈ:olæïÌ/—,JØÌ _åŠY”ìIüX3Ö•ír—…Ä`i1Æûø+K‘•1¦aí“meJàì1©ëCŽÂ=Ïàå b€Å$×µ`>0 ˆò« Oë(fsfÖμ˜Î(ȺŽUl™*6e:)a£¶ºünFÈîb…Ü6MØDÖ+òøY¬9÷â_âvë7=Ɇä;s¯Úáºt¶ol¾*Ê”7ƒ,–Ñ]ð¬Î÷ö\^ÆuüjB «º£;` ù\F½¢õZ8JbØÏ’ˬŒé¬•å5ä3Ê¢rµÞ Á[Oñ>ÑGO†µ îg±´Œ¥+íqbä"C½#ŠÇõ9º[.>Ù@XX¦·š ³QÃ¥N¤³Æ‚Fë¿•9Ο¸Ýľ;qˆq âöÊŽ1Š1Ú‹Z5þ˜þr7ä? ~¨FÂÜ›‘0P‘reOªD(!3~1Ö,£˜÷æjz¤º”8Ú`é]k¦á¡@–õìø6 „tbÃ0»´âuÚò·4Øì¿uÔ.\«ttI%©9ñGÃß'Œ¿ÕXSÓ)Ø‚U.”zÑ9«޽&õOÜíc5!k`°¢Œ ¤‘œ5©7X{ךŠYŽIjáYØ¥0Äݰä%­F±ßLÈìÎH–·'»IÔ‚ŒªRµð¢«Ù¶­IÃÏå £çÆƒ"´Kí"F}=!¯–nž¿kjL´¾ZpDbÝâ#ãªðŠKÉö5†Ê„n³jrkÚÃK¸KyË+ ÷ö$Æo'DzüÞ›mŒs 2ã!ÛX/„^žC/2^ë(ÔoÞ îbÚªËÞ™Ì<±¸ÊÛ/Æšø¶Ò 3Ùr;‰–sº›MLg-ÎHGÃpâZq'mÇFw3GçkYYìṡývB¼™=Á©b(·Ízì {M˼´—®>`OQlAÎö#&òI›<`yËÓ¥ÏÛ¨öúk±&yÅ´e aö‚Í£¤ßÚGÓ»è®^xt»ßJGª-TŠTGqŸ qÅÆ ⹞÷[ iÛUšØì{™­ÙoØÒÿùŠ8±e0K½ÐÝ~ãªù-ìáWBh¯‚  ·òRûHo¿kšÊî᥵¢|FMb±ÿ½[d”²þèîÄuóÒ|îÝÏeždN,¢²2Ò©´ùßKH®£´7 ­øå*»ŠÿW ã¹gšì¶Zpœ`#ÌÑ¢g~Ãû[ÀøT%`ýz,‡Z5rÔð¦·&«y6ò­NdS(üaÈœûxb~ôãëb ó©4/ÙåV7lp ñ7ÌÞª»õïeÇuGž°½ÔìØü;ZGõŠuÖnÒìlV°Ô“º^¥^¯÷î—žåFBFítÆïÆšwqî·w‰¥“w‰lÞ·jÔ‡_*„:G5ûŠs%ñšmr+c¶m5Ü9Ì{ž£%#ÃyC«ó=!ÏÀÎlÿ¨ßY#'æZ7/M9v ò¨–Ç7÷¾mùÐäÕ¦M‹Õ±Ž_5«*eÛÔÔîΚ®Íš‰‹š/íø8È9±,%ÃFVáó…å^ãDþÒWŽº:æ7î×ßMe<{»¾J¨´QŒ˜°5*Æ*¾FòdðþÚA íê/ÿc)$kûÕX^éjö­­ùæx·[­Õ6µ;ÙXÞpø½}ÿæÞe¾líž¼KÅùµíž#¹D’5ωŠOe½¹ÛsØÚ't©ø¶¿Û‰=»cñXxó[K)÷ë¥à–­æK;þùÝX^²‡ÝÊž´šºŒ£ðSÝ£S¼‘zmîz p47âøWyƒîvþuôtï­ç7ÿ‡¥¾Ä¢¤©Ö«Rõ<²¦óu€¦Ñ’õhÃåý¢ß1š£üòH¤Ø0×oƪƒé—‡SšÕªÕoÑ®2hÄç©/§Ee ³Îú‘ùü¹ï¼¢œrë‹6u±Î­Ÿkï áÞÜãÀ¬Æ²[óðîX·rÁû7>‰âK0Ó»S•(Ÿwnõ\Åãýeð4&i—ò1~{ô!ÖÔX¬Zó¦?ý1|ÒÆš€J–Vüºb^„›ÌË™g›"«›({v‰Gc?”v{¬x7"Ä]í EV½Šû‘:« æóY½¶§þÐOÈË(¯ßUþTïÛ.½õï7s¦Èn‡Ž["?!ý«îedd|)ü0/ˆ¹êî«‘ã 1ÚDyOH›sÆl¼ÞWz0¾[çÔþ…ylkëÞ^ `V‹3¼~¿nàå´-“é‹5Y÷ëIßÌH£ï.´ÍĽäSßСiËqé]°JPÒ6tû±L™6wtß¡tb<û6ß=!þ~¡íA¸—áœ5ƒù¨[9”<-o‡¿¶>‚wÕvÕ©šÏÍ7uwã/ÅšvC*îDé}­©ÃjkG¾Ï)6ºÎ$‰›‘˜ýÄØ÷¾TÛº·{ß-ÊÁU÷ÃþTBx­‚þ(Ô{³¢P‡à|«ë•ž5öüÅX¼®01Ê[ÙV5Xr¬/üc³À Ž«8aÙ¬â©Å˜^ +æþ fKœƒÕaÒv±ú{7Z'ÇŠ¤ ýžÔ­/®¹ølû™’³Ü°ÇõÝýÁ8v'á•踵Aêã±âörÃÓ ¶°ÑE:¼b:º»œ-‡Kô!ý´cÔL,¹Ôo`–g>¼çN]²;¿óâ¤=õaóò]b1’yyÂí_̲‡Œ&¸ËÄPÛý©¨/Ad~Âòè‹ouGÞã¬Fyþ,úk ¬nôøÖvÛ,Œ#E»ß¿CœqÏBÍ™hŒÇõq&ÓT×±U-^k´¦]nÓÌžòIÄSÙã"K‡£hP‚´emài[¿©h:Ö*Û|8Î{báld‡Ž¥þÎ’•Á4(ÞpŸà×V'úûuæÙÕ_Íëè~i¢íqª/GÊ£Ô€\õ­ÛÞœp\êMyô,ä¼[=þjÃl{OìxB+jD±Çbyâ달^q¢•‰å/¶ó·F»+0ÝÊt4šúXGÍ<«\b™Á]çó+²’y]¯5R¬[ÅÕÛÇãØ( ·Þð–oõ­qý>±Fb}£húÝ õÝ •=ßW}´gQ˜o¸^ÉñÔ3ŒP&·µØž¬MQª†±Ø¶šál}-SźÖ8ñ8¶ àÚß1’Í'y^qh•¶ÿ‘Xq\£(iûgÖñsÛ€É:Þ˜þÄyýg"üÄ9€ÝŒ©æv­†ÛH2αaî³ ‚eBpÁÛO¯l»µFN¿¾á)ø&d0¶þâ·{b¾‰³ïÎhn ’o+Y uW:Ûøb°¿k8°ñ¿—ëÖ­£•IEND®B`‚pioneers-15.5/client/gtk/data/themes/Makefile.am0000644000175000017500000000230612736146034016515 00000000000000# Pioneers - Implementation of the excellent Settlers of Catan board game. # Go buy a copy. # # Copyright (C) 2003, 2006 Bas Wijnen # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA include client/gtk/data/themes/ccFlickr/Makefile.am include client/gtk/data/themes/Classic/Makefile.am include client/gtk/data/themes/FreeCIV-like/Makefile.am include client/gtk/data/themes/Iceland/Makefile.am include client/gtk/data/themes/Nouvellia/Makefile.am include client/gtk/data/themes/Tiny/Makefile.am include client/gtk/data/themes/Wesnoth-like/Makefile.am pioneers-15.5/client/gtk/data/themes/Nouvellia/0000755000175000017500000000000013252243610016466 500000000000000pioneers-15.5/client/gtk/data/themes/Nouvellia/sea.svg0000644000175000017500000010611712736146034017715 00000000000000 image/svg+xml pioneers-15.5/client/gtk/data/themes/Nouvellia/port-lumber.svg0000644000175000017500000022467712736146034021431 00000000000000 image/svg+xml pioneers-15.5/client/gtk/data/themes/Nouvellia/Makefile.am0000644000175000017500000000317612736146034020461 00000000000000# Pioneers - Implementation of the excellent Settlers of Catan board game. # Go buy a copy. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA nouvelliathemedir = $(pioneers_themedir)/Nouvellia nouvelliatheme_DATA = \ client/gtk/data/themes/Nouvellia/ATTRIB \ client/gtk/data/themes/Nouvellia/board.svg \ client/gtk/data/themes/Nouvellia/brick.svg \ client/gtk/data/themes/Nouvellia/desert.svg \ client/gtk/data/themes/Nouvellia/gold.svg \ client/gtk/data/themes/Nouvellia/grain.svg \ client/gtk/data/themes/Nouvellia/lumber.svg \ client/gtk/data/themes/Nouvellia/ore.svg \ client/gtk/data/themes/Nouvellia/port-brick.svg \ client/gtk/data/themes/Nouvellia/port-grain.svg \ client/gtk/data/themes/Nouvellia/port-lumber.svg \ client/gtk/data/themes/Nouvellia/port-ore.svg \ client/gtk/data/themes/Nouvellia/port-wool.svg \ client/gtk/data/themes/Nouvellia/sea.svg \ client/gtk/data/themes/Nouvellia/theme.cfg \ client/gtk/data/themes/Nouvellia/wool.svg EXTRA_DIST += $(nouvelliatheme_DATA) pioneers-15.5/client/gtk/data/themes/Nouvellia/port-wool.svg0000644000175000017500000007240712736146034021113 00000000000000 image/svg+xml pioneers-15.5/client/gtk/data/themes/Nouvellia/board.svg0000644000175000017500000000534712736146034020237 00000000000000 image/svg+xml pioneers-15.5/client/gtk/data/themes/Nouvellia/wool.svg0000644000175000017500000041656312736146034020136 00000000000000 image/svg+xml pioneers-15.5/client/gtk/data/themes/Nouvellia/gold.svg0000644000175000017500000236771412736146034020110 00000000000000 image/svg+xml pioneers-15.5/client/gtk/data/themes/Nouvellia/port-brick.svg0000644000175000017500000032541012736146034021220 00000000000000 image/svg+xml pioneers-15.5/client/gtk/data/themes/Nouvellia/port-ore.svg0000644000175000017500000020371012736146034020711 00000000000000 image/svg+xml pioneers-15.5/client/gtk/data/themes/Nouvellia/lumber.svg0000644000175000017500000217505512736146034020444 00000000000000 image/svg+xml pioneers-15.5/client/gtk/data/themes/Nouvellia/desert.svg0000644000175000017500000003665212736146034020441 00000000000000 image/svg+xml pioneers-15.5/client/gtk/data/themes/Nouvellia/theme.cfg0000644000175000017500000000125112736146034020200 00000000000000scaling = always hill-tile = brick.svg field-tile = grain.svg mountain-tile = ore.svg pasture-tile = wool.svg forest-tile = lumber.svg gold-tile = gold.svg desert-tile = desert.svg sea-tile = sea.svg board-tile = board.svg lumber-port-tile = port-lumber.svg brick-port-tile = port-brick.svg grain-port-tile = port-grain.svg ore-port-tile = port-ore.svg wool-port-tile = port-wool.svg chip-bg-color = #1a1a1a chip-fg-color = #ffffff chip-bd-color = none chip-hi-bg-color = #b80a00 chip-hi-fg-color = #ffde00 port-bg-color = #000000 port-fg-color = #ffffff port-bd-color = #ffffff robber-fg-color = #000000 robber-bd-color = #ffffff hex-bd-color = #5a7700 pioneers-15.5/client/gtk/data/themes/Nouvellia/ore.svg0000644000175000017500000161306312736146034017736 00000000000000 image/svg+xml pioneers-15.5/client/gtk/data/themes/Nouvellia/ATTRIB0000644000175000017500000000351012736146034017325 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ Nouvellia theme by Brian Mansberger The Nouvellia theme uses the following images that are licensed under CC0 1.0 Universal (CC0 1.0) Public Domain Dedication License (https://creativecommons.org/publicdomain/zero/1.0/): * "Wheat 9" by Chris http://www.clker.com/clipart-wheat-9.html http://www.clker.com/cliparts/p/Y/4/r/p/T/wheat.svg * "Tree" by cgillis73 https://openclipart.org/detail/121447/tree-by-cgillis73 https://openclipart.org/download/121447/just-a-tree.svg * "Architetto -- pecorella" by francesco_rollandin https://openclipart.org/detail/33043/pecorella-by-francesco_rollandin https://openclipart.org/download/33043/pecorella.svg * "Cactus" by lordoftheloch https://openclipart.org/detail/201901/cactus-by-lordoftheloch-201901 https://openclipart.org/download/201901/cactus.svg * "Cow Skull" by valessiobrito https://openclipart.org/detail/2994/cow-skull-by-valessiobrito https://openclipart.org/download/2994/valessiobrito-Cow-Skull.svg The remainder of the artwork was my own. pioneers-15.5/client/gtk/data/themes/Nouvellia/brick.svg0000644000175000017500000016362012736146034020241 00000000000000 image/svg+xml pioneers-15.5/client/gtk/data/themes/Nouvellia/grain.svg0000644000175000017500000133151112736146034020244 00000000000000 image/svg+xml pioneers-15.5/client/gtk/data/themes/Nouvellia/port-grain.svg0000644000175000017500000073544112736146034021237 00000000000000 image/svg+xml pioneers-15.5/client/gtk/data/themes/FreeCIV-like/0000755000175000017500000000000013252243610016675 500000000000000pioneers-15.5/client/gtk/data/themes/FreeCIV-like/mountain.png0000644000175000017500000000273507771100213021164 00000000000000‰PNG  IHDR´R9õbKGDÖÖÖBå pHYs  ÒÝ~ütIMEÒ,":O*jIDATxœeVAo·þf7¨5³©5a9’ÔH¼°#N.‚`_F9>U9Ì/üzi~GN9ä¬ñ±è%ëC`¨È1ÔHP„d¡¬€,IAË™pÕÃÛ¥¶ ƒGßÇï}|d´÷7Æ`¥CÁø¬t\1+ µ€«ýçÏŸ¿zõê%¾¼'cå¸Þí?ÞZé|ô0-¾Œ‘Å|û]ðIì˘OWU5vww'÷¦Ù)ŸÄ‰^Mˆœ-W,t÷··™/c` ±4"‡,ö‘£eÊúÓ²,¥”Dÿöööç£_­üÑ‹v9 @Á–óEKA÷lÔµ#ƒíTÕç%>ãG$#¸€;›ÍÒ4­ªŠ«ý>V+¶ì¬?ü+ã“Ø‹–O»ÝÝ]cþ{£þ¼Þ‹>­ª*8ß¿ÿúúºëº(Šn&oí}ä¸bÄÝ‹–ˆ#‹ûÃxÑrµ_UÕÁÁ‚ 677>|xròkY–aX7M ˲““àu¢c[­ô4- F›={6v>©²Qz ÏóÙl išº®‹¢RÎf³0~‘­”Î,…]Éb¥ëý—Hnš¦7Ïó¦i®R kÝ M‰ÛrøÎV–¹îÌugoýgØ4Mm~9û7€íímr»¾¾Î󜰮”’¾Z¿^ÓÌ¥îeÌ'qoKpm ý¸h^Lê/ ¥RêÉ“'!üA 6°³.•Oo®-jk~¨Oc¥ÔzJ¤iJ:„‘À÷ÿíZ€ò•+Öÿèép±ðQ„¹¶Šñ·G¦ª*"xѼ`c¥(1Œ1Bˆ€Nù#„BhýæØþ˜'±•î-"B¸RÖ:JGéaÓ4A‡€þ›öé œ/Y0ÊÝD‹Ö æxùÇìf”^4/zÝ»666‚gš¦]×âEQÐV7MÓuí°Öß[—'qÿÞÓ ™dF¹[1TŒ¸î €Çô½ôcrëº.°&ˆ¢(háõA¥𧙟åIÜãŠn&Ù–àaKC¼äS×u‡@×%ªëZ)¥Ô7¨‚Ž­ëÙ F9§¸ ‚gHë¢(Bù„ÅB—¾kIr`Ÿ³}ÎúÃ$:ð@ ß$É@[3H®;ó˜Në–hκ°1iö€XGQ*ž(çIÜ`¥Ë$£×öÃw®mkEQXLôºw-&Smì÷“~°ûgi‚²,Sæk¯Û<‰­›ù6Oâ<‰ûïüÍК« l±ð[‚/¼$ƒŸ¦—[(D™¢•Œ?ùiz©¥=Œd éÔ~¿Xøˆ½ng¾%Êy÷Æ53Ê12Ê.h`Ž—ꮫ-U}çxÊFHU$“¬ïi›èØë6“Ìf-&ííàv±ðFñÅzáýº?1¢L]x¿ð~ú¯QšäIìu={6 —ü#ZÖ(žIKi>×–ò’"°^ë¡Pn ûœõÐùÍ 32iâsm¡—·-WÌ(~lï*k®í\ÛuÐu\ÑÞW£ðX!ݬÎßó•}Aƒ¸¤Ò:(µ1âŠÑë€â]áî°ò˜ r^‹ì.Ê€RÀ²­t^´Ø@ÄF¹LÞzý>pžIà5%,±6Ê­¦Ý¡ÓkzŽ-fÄýR\Y8_ÆÖ\ùÒûÈÑ¡x)®vnØÆ^ëË83ñ¥¸ÊÀ.Å•-œ “ŒŒÝ€(Ò³änmu÷V —€S\pÅìêF;-Wì´X’µNqAg½CÔÿðSÅ8ì7¡IEND®B`‚pioneers-15.5/client/gtk/data/themes/FreeCIV-like/Makefile.am0000644000175000017500000000266111257440734020667 00000000000000# Pioneers - Implementation of the excellent Settlers of Catan board game. # Go buy a copy. # # Copyright (C) 2003, 2006 Bas Wijnen # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA freecivthemedir = $(pioneers_themedir)/FreeCIV-like freecivtheme_DATA = \ client/gtk/data/themes/FreeCIV-like/desert.png \ client/gtk/data/themes/FreeCIV-like/forest.png \ client/gtk/data/themes/FreeCIV-like/mountain.png \ client/gtk/data/themes/FreeCIV-like/sea.png \ client/gtk/data/themes/FreeCIV-like/board.png \ client/gtk/data/themes/FreeCIV-like/field.png \ client/gtk/data/themes/FreeCIV-like/hill.png \ client/gtk/data/themes/FreeCIV-like/pasture.png \ client/gtk/data/themes/FreeCIV-like/gold.png \ client/gtk/data/themes/FreeCIV-like/theme.cfg EXTRA_DIST += $(freecivtheme_DATA) pioneers-15.5/client/gtk/data/themes/FreeCIV-like/gold.png0000644000175000017500000000147211257440734020265 00000000000000‰PNG  IHDRëŠZbKGDÿÿÿ ½§“ pHYs  d_‘tIMEÓ -8Â÷6IÇIDATxœ5’WŽW3Ë´™54 ÞKàýo iA‘œéî÷ÊècÁïD @ðû÷¿ö}ww’ÝÝ]Ý’"1#âºFf¼Ýn ªú<Ï9‡Ýn·m[Ý—îž3ºKUDTD¨ª{™ù#3«› SÍT3³ªÎ¬î"Ùͪ‘D Z•™¬$#DÄ@Jwš‰ˆ›V«ÛÓõô|¨ž~þð_?׉„‘TÕC3Uµª2ó9O`¼~¾y»¿|:Ôâ<êß¿—êúñ¾5 M»®‹üÀT?tUš—{¾}‹·o÷O_ï]|<˜Áã‘?Þ›vÛoë¶š™ˆš™ªvל±8×·öÝ Jö›ø‚}_#RD ìªÊL×EBsb Y†‰v·±ÎkU5BºËÓl~8¨*!Å cL1V-Ǫ5.ÿïýõþ{™32 ]vw÷EU?HRH¨êœ<Ï:Oy½­ÛÖÇcùùŸ_#fw’bçyΙ뺈@UT%³E¤ªë¸ìýŸ:ó£d&Àª6…ýi//\Ö$e ïTµe߷̬P™™™sFÄt·1$bؾ­<¿Î/oãåµ·­(‚ÖnÙǹí<÷ó0`d&AŠ¨æœ°çç—F|þòëëW<½Ì§çáÞUÖ­•y]í‹ûU&""bjsÎ b†-ËÒ„;EË—ò¥Õ’Y í¦ª‹^ÝÞµDÔœ#3¯1®sT‡u÷œ5†GD%«DJH¬B»ÕÕª»Ç˜³*«` Uô÷OuÛª1†®ÌTDæð9Öqm•Onš3DÝ"J€¹Y›uûï_õ¸wk3]–ED(Îöª­SÌzßoA÷qä–¦*"&²Ì÷»KDÜ]„îÞÝfƒ`£I’ôÅ##b6`cä~[ªcFü‘©ëîz‡™ BED$3#¢2Ñp·ÿ€ ¹øj§ÝIEND®B`‚pioneers-15.5/client/gtk/data/themes/FreeCIV-like/desert.png0000644000175000017500000000100307771100213020603 00000000000000‰PNG  IHDR;0®¢bKGDÖÖÖBå pHYs  d_‘tIMEÒ7Y‘àIDATxœ••»q1 DqW¡D¹ t=êD]hÆ¡µ!Gô@O»ÍäŽ `¿ãçv}ED<÷8/ß*[kÚóLéÎçãñal=X2·ßy£¥C5¬wÖž(ëêÎŽ:²¡¨Ü =n×ï×U”9CtÚéÊu‰»GcdŠˆ×>IòXÑê uÉú–\É”•\*Žü¾QMTŽW§S½*Ä%Æ.6®QPñé|ùu¡úCLƒeUN#Õ—IULˆLQtvïS˜È•ÏT^¬óc®¾wœTçkÙ!¡èS=¹CU÷üfG)RåÃå†F•G„Îj7a(ëÐNý;4ØÉþ;Å"Ð@Z‡¼3èŒÕ»Y:D.QT~¸ÆÁ IeLÑ^åêÞ”T’j‡VÅ‘ˆwê_éNÐË*W=Úu¼©ù$ (D ­bÄ•¡bÁ ÷ïjÔU[N;EßÅÚ•ß1o¾Tìœñ‰ þSg•IÄòv©b]ev,Ri7 ¦±¨Â•Œ =Vtw-V!W9ò ÈafþÛ¼«IEND®B`‚pioneers-15.5/client/gtk/data/themes/FreeCIV-like/pasture.png0000644000175000017500000000140307771100213021004 00000000000000‰PNG  IHDR´R9õbKGDÖÖÖBå pHYs  ÒÝ~ütIMEÒ%$´QVIDATxœV1²£0 }˜ šÌxšÔ ÂLº­s„­8ÊŠKä„CÆ¥i!Y2™ŒMõ$½'9ûûߺÞ˜ÚºSã]o§Æ@m1xÄëíÔƒOÏi õÖÐ)S x1µ@Í.]oQó‚üÉóôÂà lä??6Ü îQ¤Eæq.Bæ1Îá^`ð„—þ¢'¡šC5ók€PÍçPÍÂp€„wð‹0À©ñ®ÃÔbJ Ÿ¿*DÔ6¿ü³îQ”¯"\A‹©ñ8g µ]„RÍ8ŒcLëǹ0ôhjï×&§²¤K¢Mä·ÓEŠ35)¹ô  |TÛy×3v*L¸‚’Žqæ×OëyÙx@8Å<æ²,†`§µK2 ÌH~ô)LPí8ÖœE SZ[£½±i̦HÀõÖu@$Ç[¦3²(! ¯8X(%â]$ç›ÐŒlRhš3ÚL™»B  §F6ìà-±:UÆN`WhF®µˆÔjÅ<Ý€ðYh®·ùåØUmÉ-Oƒ 7ܹݔO”O¦ µ3Œ3áM=+ª<Ü “øÝj.§Bщ/Z~;]¾6ÂÅþÎoðR…°œ'fˇm£q„Ž”÷#B‹¼Þm4"èí);B3G`­ì]¡›èHâ^Kü³ÐÒ(Øi4®[+sÿš@¶‡&ºv#‘I ]¼÷PmD}f…âm£Ñ”HÄ œÆ~›Òÿ=4Ñù¹ŠÈŒ‚“ PìÀd{h¢“”øº4Îû£ýËDÿ4Ú…È;Šûð*Aì€ÕÑIEND®B`‚pioneers-15.5/client/gtk/data/themes/FreeCIV-like/theme.cfg0000644000175000017500000000076511346155101020407 00000000000000hill-tile = hill.png field-tile = field.png mountain-tile = mountain.png pasture-tile = pasture.png forest-tile = forest.png desert-tile = desert.png sea-tile = sea.png gold-tile = gold.png board-tile = board.png scaling = never chip-bg-color = #ffdab9 chip-fg-color = #000000 chip-bd-color = #000000 chip-hi-bg-color= #00ff00 chip-hi-fg-color= #ff0000 port-bg-color = #0000ff port-fg-color = #ffffff port-bd-color = #000000 robber-fg-color = #000000 robber-bd-color = #ffffff hex-bd-color = #ffdab9 pioneers-15.5/client/gtk/data/themes/FreeCIV-like/sea.png0000644000175000017500000000150507771100213020074 00000000000000‰PNG  IHDR´R9õbKGDÖÖÖBå pHYs  ÒÝ~ütIMEÒ1þþÒIDATxœV½ŽÚ@ :i tÖľÆB4‹¬Ð äÂ<ݽD^!ÏÃ[ä r‘RP‚„Ü\‘ÉŠ+Ž%WŒÙ¯×V¶°–ý™ùæ›oèü·˜`àçû'¨ÄD©-Ÿó/¸bÒ\€Œ3ùù‹:¾‡ b¢uÉÏi]"&³ùBˆ}¾»2Îà:´Î€aÓ5yÚáB›ïfKÆÅjÖ“žˆÓ:bm[øêx’Óq¾{®Ãû ¸‰1‰F¸1ð‹ÃƲ¨u)ãLŸ/Åa£u©ßî”Ú B<ô0][¡€:ž,”øät¬ÊWu<9“I+}=7ÓåJŸÿåû'!Bʧ¹CE£‰>_”Ú/9\‡´K×y¸4ñª, &¿~|WÇ“yÜòENÇÆÍæn3^~§Ís2ÎòÝ3?CX8ðyåW²eAÆ”qÖ„Õ@ס!a&ê³â°©Òè¤yAÜrÆAëérEñ[Jm?xmU¹¡Š 妹ބñƒ×³ù¢øý'MðÓ®Ãâ°!X©çà˜u*}+¬Êk'šN|À•çð£æZÇ…¶á?ÓåJÆÙºµ© ºe1‘Ó±*«êÅÀ'1©ÉwÁ”2¸hnLs$-.yNéeBÉ >Ü´Ôaõùx°m‘›Nd¬€¼ ·*oKT“Ñmv` ã Ã{«œšs9ç;àþ:¥ªyH7Cœ”ç:Em…ü3ˆUÕÈû¦ú’@7ߦ.\©öu˜ï ’Ðk]j],¤n2B†j‰µB!òv¤Ý3FÓå XùЗ˷¡ ©^§Ä›c=Lצÿóèy nçè‹è‘`â®ù—… ‘ v›ÍúíÎsö$«üHÂ8JU—p Ur­ð9Ÿœÿ€š U<±ÓÀEFÜòÄÍu”2Wãæ±wEDÃ$[†¡ÌIEND®B`‚pioneers-15.5/client/gtk/data/themes/FreeCIV-like/hill.png0000644000175000017500000000241707771100213020257 00000000000000‰PNG  IHDR´R9õbKGDÖÖÖBå pHYs  d_‘tIMEÒ7j¸.ΜIDATxœmVMkãV=úÀøÉ& /² 5IpãzbGe d²(]˜†avÝxÑ}÷]”YÏ)tíÐUp² ¤eV­"—`š¡i ‘Õ‡ ¶Œ˜tqœ7/I…¹\=Kçwï¹÷Êúþ¬FÀ,TEW® 0 U5’³P(ºÒî¯j$§}¸±âz5’{méרtr¤W‘Ò8ÎËÕÆ,TYOؓܞät²žøP+Çâv+Ç‚‹Üëås|>_ì¯B\é× Nåî§µQÉK‰°Þ¾nMûXàéEâ&_ž©ƒV=ð¹®)ó–ć©ÚïÁúîÇ–«Z:ÝÏUüë$À’/Ñ?¥Æ5/ýü0U¾à¼ZÈí QüÍ­-}.¢ÏçÙj n#(%@a©JÌËÕŠG¸ù<ãï*R7I>L€Ë,ozÂúáÍ~§Û1÷çé4‹Pjk>Æž†L‰«WŸŽ”µP|„aÜ [Ä0˜ñ¹Š–90áè0 .qGñ¨ø 4)3ÜõÀ¯Ã×¹’~­ƒŽ &®Ã”Ûa¿÷qæß ¾¹³ãy=ðO’31/kDÕŠ'ýZžeT-áU b^^ ÄM’3³P•1í/õê¼ZÈÕ@üþó_ÛAc„1Ñ©ªGˆOóQ­xóyöOð7“Lt–…+›á£Õ‚}¤Ö§ :Ï 7Ó@Ÿa©FÒžö—åP¤ÆåûÜà¢þ÷2 å €vm€iÎWm”QX*ë‰?¼÷¼N÷¼GduA¿ÿgµâ‘òãR"¦'´6†©ê\ çåjcÚ‡=ɬçŸfë«ìbs€Ó]lªt¢ó,#¨‰«å1LUÓ—YÎEbÏBÅrä_e€Óô=À©©¹¥ÌRbo`è2í/'°h}ù‡i›–Û =ò/®“”9‡Ñ.Ì8˜ÛØÓ>ÓvÑ•QÛ§òø­«Ê[«AÍëíë'"{Ñ•æ »;°šãÿâòÖž…J÷ë“äLƒpcõnxA‘ꆮqÁÄe¡Ûzzq ¹±Z@ϧ§S ¨5Ýß½¯aOò¢+WŽ…>lùYO–Ú4XÇ¡l‡á‹/šÒ©Ü­Ï@‘±57=AÐEë¹áìÛX9…¥J‰ ÇùvиŠÔvÐh‡›[[ÔxžeÕŠ÷Is½U+ß$yÓÓ> K-‚÷snåX|¬FvŽT7I®'@=ð͊ϳL«›m¯|’Ízâvn¬AnOr—ü‹®tc¸±šö%õ0…Z‹DÙœ>¦‡©:ˆ$Ó^t¥ÎÓûLf=,›,Fù&ÉWñnþ+& Äa\ƒ|€ëËaª.³üÙL2žŒÍO7VÚ¡þF›óð$9#n-.ÓÇÕ¨§>\-Õi†ÑAk„1¥ÎQä”I–Î,T‘„@7V6iRר¸‹®¼ŠkG§CRºW“e”‰°ü0##süÐ(%bä)Ô"ȳžà•õ+ÀÇãr€‘ùêñƒ‡ÓHW¿žJ<5QÌW4Ñÿ ÿnÐ/gIEND®B`‚pioneers-15.5/client/gtk/data/themes/FreeCIV-like/forest.png0000644000175000017500000000240407771100213020625 00000000000000‰PNG  IHDR;0®¢bKGDÖÖÖBå pHYs  ÒÝ~ütIMEÒ#ê"—‘IDATxœW¿k#Gþ$æä+Ãè;¸Y$ªb¶ÜÖªBû\åÒ \iw!¸TuEj]—ÆM ›* éÄÞ ä…œAÕ188vK§˜yoÞ®Ud@hv5ó~|ßû¥Áb=™™èRÌÌS½v{]*ÐLPù½_t¯0‰V|§0QîÔ¹;Ÿh…a_¡É¼´*ìMæ.Ó9]*'ÌïÍÌ%˘ïDW ú2*gH”ºw…±š™e É2RP¯Ü¾^Yöž½õçL ×— Ìã.<ŸÇ0÷êÜ#w™¢\ü=1fBX½²H~q‚È‚ÉdèÐ@0G)PçN0¯©b$BCRØ÷””êóõÊ R§ ^YŽâž•¼"ØøÜQPçÒãÊ ªWÑ•‡ü2xÌhxEuبst<*Y÷.Ýö½•F˜Çô¬ˆSÅÞÜÑ•‚¹/ ÏcF(¡çs µBRBžË€bo|šÑªsg{_tµ0΀D+6¼Î!¦áÉŠ·Eˆp­ð¶ÃÃ'ŠÌ É'y)¿9ªeË"~ÒÜ)€7P(õášü+¥À@]8Åýô–Î X)=¿‡í4 ,ãP<ü^öa6ÒGù0ÑŠ›w¢]Â÷-,503î9ÇŒ‚ìRœË8T8ŸŽŒè4ÈÊzKÅ<£•€»I‚ë­koœ³Ë˜»Õk‚Ü<îºiä냙Y  Ñ…—rÝM\›#¥DµÆNî‹Ñ¨ŸN²¼ ÈãC«Ú†v¥€™€˜<<¿¡¤"µ0°H|wJÖ!èxô‘# y$¿§“À—.UhðnÇpSzÄ+yNëhþÍéíÉgW™N>pvâ>O6Žq½-ð­ip¬GØ7-^^´h꽃óC‹³›9š¿8Nšt„æË¿ÌkóºÅ¦jÙ‰fÐã¸ÃB—©&9žO”û²±ô﨩Q_û©F{D݈`ä w QÐ9€_êúã«ôå^zAŽ„¾ ¸MæÏ‹“ÉDÉ”# û>ü´¤À»I‚j»C©ÝoÙ8æçCõ^p5©,ïY·Ï½V@éžÉ]ºTqï]~ßMÀ§Üµñùnº1!ó¹3e>ƒVT¢¢3 /®·E'åè·¾RÀ¡9ÔeøODÞSN?û‹RŠHßýú. ¢Œ<%'þFrH±éBIEND®B`‚pioneers-15.5/client/gtk/data/themes/FreeCIV-like/board.png0000644000175000017500000004046507771100213020423 00000000000000‰PNG  IHDR``múàobKGDÖÖÖBå pHYs  ÒÝ~ütIMEÒ0$4ÃÝu IDATxœT¼=Œ$[z%vndƽ'2"2oUVWg÷{äôãÏâ‰#­±XB–d YZXHÎbÈÐB4r²–ÉZGk„DCÆ  9žÆH2(h!Ä!9|Óó󺳻³ªnfDdœ‘WFd¿á–Ñ@gýdäïç|çœ/Ìþé—@CÑ Ot[– £”ÐÐ `˜­ßæˆG &3®ï_£¶WÂÙàü€·¹¦3Z“ø x¯ãGpP\½}ÿ©Å°¢ëak»í Ø3â¤ñSq™‘×$ åI£bVtϬïX­Õ¼û‹£¦~÷âµ_¿ §¡ï¼ý‹ýînòþ XÐM4+êýæN±¡«i/B‰!@~QÛ³*`J @@M¿ÿ–øîk4J‰yÁrAf¡ œ \ÅD³¢3\fÔæk2CLáãG`Åué]¥ØxDM”0;R à=p$7ÒÄ!Áibav¯×œJ]¦pÈ0LJ­ZËÛó5¸L úx>ps/EÄ .Cl… ¦G¶Ö(–‰ƒ¡ÙH£$=D ÿú÷^ùuAKå3‡< …šb qá9¡-4c@máÜ0«|µ+_-ÌŸý—w`V,ø[_Ü0,5u †QJœï>uÀ’Ë .@:ógí3Ò#`Wt·€ópŽ1 @ RÁû5bäú.ê.RR+،־¾#‰Ô}¾€ÈÜ!N×k3FÖÌoê·CS0Ï„¤AX­Õžhœâ)´9žß#NºLátøú·¿¯©½~´¾Ñe‚:¹•&šŒE9‡]¦Ïd;š XÁ^ch/t-p(ÔôpPžZ˜JíQÃ??3_À1ÁD4@Q{4¡] ZqH¡6Þ1ÂFNØ@|l¾ÞàÎíõ!<œC ~íeN$™Ur‰p0¢10-œ)‘:J@Œoÿê[.35€Ð€y" #p‘ ¥ÄtBqË•™ß(œ˜•tÏaêBó1#‰kh|— }&VtÏÀfç`³]ýÚ¯¶úDcXm(ž4p¾²“s4fI÷Œ”µ.\Ƭ„½‡³B:ÏÁ©é¬1zo›t©¸ž×p ÐÆ (öÔ7¡]Æœ\Z¸øÆ8'¡6Þ¾ Äþp 3øµ'.dÎhGª…©„ñÅ–’œó¥zÙ­GÀ›Àþð>¼Wß+^¸^úèv_ÿ.€9BÏ0¥ì1ÓQÁÁ›ž[OC ñˆØÂ”ˆ3ê # hj—Š‹9«Q. uJ¥„8-2óÅ ,-Þ+&8çxW\sµí‘½";!jŒÌVtÌ _9 §1pù909Ä `£¿§\Ç “¿Û…ÓG¦3ú9]AØ ³-R',ˆ³Ò4g™Æ%–—ý¯Ãc£¾ÀõrÇœ7>sY¤«5L°ÖyÜR‹é›ÑVè,ª‰˜B«ÐDàèׯXÞú%R'M¡i4öÌ|oJ®G L©©¥1¡MĤ_ƒ7^) —šüÖkHj _w–r=ÒC¡KäJ‰\ 4쌜¡+(¦pÊÕ6{Œ¥RNi-† æÊBr¾mD!g”:µbeÐöó½Ù¿ëÂá M\ovå(€^)qS0'7·*52+é‰$­av¿o?è$$™zðÅιP ê ¬QsØ7ƒùÁ?ý]¸ âî¢Ët-xö¢ú–à $äÏDFWaÙÀ¬á2æß!ƒdjŒ'Â]_bhzûÐ|œßÛ[°.Â)W÷‰Kr³‘Žº”R gB:ïJ_€å xä¸T¹@4Ì —«{ÖtÆØs}6÷6}N„©SwAj9p¹.bÒtãñ´ûê·™Î@úŠáøÅ¬¡ÝЂ#B—ôéþÕNñAó¹Ç(]±ÞÒ¿´07Hìí礽ð™GÕz›Ñ`%C†é¤Xc0° Œè¼ÒðQG„t=£8…¦™o¦¯½4éÄn‹e†˜Â#Bü¤§I陹Ýù’·¯ùÜ=@%p‚€0<¡+„ üW¯X;" f¥tÆñ,.óÕð:fz|M„+YbwWѾðw7À -è‹["žõØËö´$ ÖÅOþú¦ö™¹·™ï®ùá}ŸP!¿`„^ÂሕgYx’6ƒu„!=b0˜'˜Ýó U˜•êe #Ô)Ù Àþt@Ld tÒDÖ¬Î_¿Y+%˜J£A [ಀ3¾Z˜SÆo½rwÅA)©» õ«;#I)yë‰ÔÃ`O ˜W\O4¥$ K €5z"…óƒúÃŒüÍ ý-ë‚62o ÙQͰ: ` BlCŒh/²Æ×%\é«"¯±®Y¡ö¾ZÒlÌŸÿËÿXƒÔYõP‚Ú£<Ÿ5eˆæïúz €Ïæ$ 0ÊûWºD\:-†ùPæÎ §gp™ºK8<œÆMŽÕ‚9t._];ã%²\Ì:w5œ“DrN1¸L#—\~ «¶ÁÚÏÉHgSxèü¶ Í \hL`Vò6§Û2Ÿd& ,‡†pB¶?5<ÑÞ°üÉÿý[->[,[ÄJ.!uˆ3bÌÔŒÀ¬3oî?"”ÒÝ¡yšñ—ÒÄ&Ã(«4\‡Ü =Óf ¢fêB¹ˆK¡Ÿ§n #àh Pùí‚Uáw¯|w æH·U{Ôc¿oþò»á‰ÕšÆÀeˆ†…†)-i€åËٳܳ·Æ0Df– [q9‘K`­”€ÆQCºž€RÏÅ¿™  Ë Ýñ¢l!{fÖÃ.1_#N¢¦äë‚ù}xüèKúSLÒIùíKn=Û®" ò LÉjI[jèB;rý=,J˜žÀ3‡l¿?ƒ ÿš¬_ûõ„œj{J´‚mpÂÅ IfÍeó¬c ÿú($ 6óë’ër¾Ó¾Z,9žP,ɵRâ(-Öµ/¨c/ € PPÇÁª~órƒò:º*Í-_\W3¶DNŒBN–FY©˜èŒf8 •Rçoï„cÔ%À:–/¸&Lé_`ž ²%l9×;V7=b”Š­:èx@œÂã<Í9¸Šù‚8+:äf·½Ù?<)&éa(y“Bó¨V:µNG²&±+ %¸1O:&: ¦Ð=!I†æÿì+Ä1 ÂØ³¦¯=I}×°̸9&J§ÐôseanÈh iÖJ'@McÂpü50I-æke#b/X¨Vt‰¦`U`ÌO âYQÀŠó¡´™;8øŠáAW8C‡¥iÿóþnë«eh/»/w!Zæ~ý…âÿNÏt+Å[®‹ŸüøEË¢òÌÓÜŽGšIÖ!6ÜlSh?²|Ø7!¼`~ô‡ß IºNwOW)‘Uýù˜F8iL¾öø|õן—HÐ\ù0÷4~×ì\M›ÃNËe«.€†6£Í`Ë™?PÛ‡f¯‡H÷ŒjE³R±×Q~sG›‡Ã{ÄšÓwA­ñäï^J‘tR„y¤[éhu™‚,¿N»/¿®¡Ç0êás ›1GzšF,_à¦à°¹ÜÿêÃLëÌñgH?`n 3föâ áLf37ç˜N€60%Ý3JÎpCéÿ›ÿíÿce‰ Àî…GêHb:*{…ÔqXÂ=…L¦þ!´—7_ý>‡à·yhs{óÃÿöïÒ=ÔÌ; ø®<®¾ÓLÖÐÔ}Gzú¢F]ÏzJ 'ÁÍIê`J_M°[Ø‹;XçK‹» ]¡ØëáIí€Á: èáë-«5pư mÐñaÿ1<¡ö¾æîßý=O¿ÿô7ÞmC{d¾Pó1<ŠX…æ@W»»›yÚ?<íù+¿ö»×/Hî^nÞ¾ý ”°{ñJÝž>©mÌa1¯aX2¿ØÝ¿¦{†­0&óƒöÕõ3ûÕ¯kªE8}fSGSjf9›¡mD¶ùÛEznstWÒZ31Zl‘:¨¶¼]2_©;£4Œ¼-Õ^h/ÌWöûw:öO¾öšÁî\pCV/„I¬ ÎÅí\é”Îov¯ÔIÈÔXj{û0ŠÆ"µÌ×Ühp©CLÒ0“ys€a {™Sg.ÊæÏÿðïKOš«²1J§«¤c#² Q=âòGrK ÒIsˆa>2'|JJ¹ BÐÜ#X®”õP{ïœ!À1éæ^í'Ääë‚óß<„ #"Ð_P,ýf’a,•Úk{õÕrÿn¿[ߨ£÷–°.<:Ž3¿3“ù1×ô•÷Û/÷ï¿Ú8kêÃMÁêvÚûÁT\À¹ý/ÆlgüݽùÁ?ÿmµA2¾y Ä„5é r­3 a‰[̃ѵ¯%ú ¡#¹ Ÿöpψ É Îó7½_oh€Ú#"è\x¬ t ½|A˜2<}—íÖ_ÀMJ=Máw~%==2_…§÷8)hÚݯ`o`§Ð½/BÈX=ë¡G9ÓÀŽþv÷â¥ÆÂG´O0ëÏ™µòv9Ïn{8êÊ+U~NÆY¡2?ú£ï#§7Nzº¨p-ÒsÊäÔgú¦ÜÝÚ0,0DÚ‹†¥b£cOfpR³ìºË V|¾ °âm¾{õ €†^×?hÂãèo7'´’™8D+¤~¦ Ô þ~­ñÌ|Ú'_ÝÈLBsšK¯nÚU_gä…¿{¡q §&¼ÿ–fÅjÉr¥Ñ Â€Ü05º$ +´‚=cXÍŸ]½œ¯˜1þµÇû»Ûp|PwQßyÛ„Ë}a¸]û’a¼ 6t9Ú†y‚ë$³ÿëDM™¿XŠ%Y ÖÍ£‰4AO˜Ñ°žß~ªÂ!È%oW!¶pfÿ>òð­8ÚB8«9#æ¤a¹$¥ˆ]PFBs µøí ¾^ûÝNûvÿéL7Ê,è–V5ëõÛÿ˜ŽBÓa\ú[³‚í@ÑxwF^\Åh$óçü`Hs;gUÌAôj¤§ C}ÐEHW0©lä”ÏåÜ›™¯Á@Mæëgé˜Ç·üíÛ=† 6£ÉüñÕý —H¢Úª9ÀUÌŸYo|µ 핵)ýífŽ#ÖôëÝþÛ·{ &4~ëÃC «›ï~}ÿþ€ý·G¥Kx »W[V7×y±¤¯-Æ¥Úžyšgcœ=ÊH»ðÕ‚¶X`˜0tóH839ê`~ø/ÿC ©&šÒÛBƒ4h|ØÑÁ”8>H š›YT¸`Xâó°:ƒ _OµÕ˜1ïÂIpb2ܵ#àl”’ÆSè“_ÕÂá ”è ëõîî¥QÁ ~n ó—+¨ë+ãîÕKŒKÎç° oËðØúÛ{µ'dëpú “üš°FHÞ´<µšpöHGTô¶˜URû&`ü·Ü ˆgK"ãnCØðø)<|ú‰D:b,TÞld¤.`™…&„Q>›$ÀöÌ –+Å3QÀ™Ð<Ðÿò2Û¿;"Fp½@LJg˜ÒWঠÐÚ"lKVÅ\eYpðYÁ’˜…³ùBm†¡Ñã…Õ2¼ßï^x KÚ<4 f 9+ß¾`÷ßìý—/uz 'írì?eZ«™6\f¾¨1]öÍXzÜh½á èS·Û~›a˜æd˜pS0þÇÿ‘bòµÑPî±—wë;-Žâf;Sx»”Žúë'iPwžeÌs0Óæ¤ÁŠWÍz„° §à× :M4Ù•½O‰ÕvøH—íîŠ+ÆÂáC}MïœÈÀßõûšíÚÓŒVÔ]ü¶äî%\¦‡c±»©}Uj<+&º 6ÓãQí™–¼Ý°¶Š—ðø4ëbþö†n @ñB·Ü?œv•ÃcxxòÛ×~}£tF¼˜üÑïKJà ¬vw7HÝÛŸüüÍoÿvˆ-£`Jõï˜C£ÆÐ(h¯2ã,φ)A²|ðöÝæÎ„­h/ê®aÌ›ÙXRÁ^0ËÜÀ&µà,ZDÆ'DÀÕÈÇ"t†Œ¥¦–®±¥ƒŽšqݬÛèq„3¾Þ„‹ pz 0+°JjELóNû9¡\€HŠRsFµò³Ö ‘…ùá÷÷é*äFã3†ämA˜ýû÷¡9Ÿ'¬å4óá¬êð¼`. ¤6<ß©%år ¬c¾†ËæCQlfÎènŠüæn:øí Æ^§L8“·X¤Øif¦•?ûzÍíÍÛ¿þ 2nw«­Ð1_i<‡öÂ|Áz @Ã3k§&"v0&Ž9òÏΦå£çoÂáqP|€«i3 Kï¸ø ¤ÝÍšõMh{àŒnaþçÿúœóëÂÃSøøŽ%½¿õn@¡×%réfaz÷â¥ò(™?Ï£àŒÜ™#t=fÉùj¾sÛ}¾½ál0u¬W~{£±ßݾ ÍI˜vµg¹ m‡1Ñf&\*®ÎJ Ý3lÆÛ ÚUÞKWÑf¡9ùí+ÅVõs² áQ—Ìñr÷rÃl¢x»µ†Fí9;Ä…õ«tÕÍŠ[çë5,ôxÙ¿{R<ÌnŽÝÝ¿ÿžNÌÿ‡ 1ÓÅr:ÓÉ—VcÆå}8ÿfR9üm¥örÐÇ%†væji Ö‘É ÛÐBÀœ‰³†E XÂ:,\9 CÇíš'èä_þ;4.œšïà«- "õá -rã«tzx a ñ´ÛúÐ^d'w œO4%7ÅõˆßuW.Ü”4’‰LŽß[ª…†I±&´Q®`>íjÚñšwÃÄÛ·Ü?~2?ú£ùE]6“,'uqÞ+ã ¯sêe@G_oÑ)ô=ÝóUäP–üÝËYºc:ɬ¿û7œtÝg3JþkNyc`KÖc¦Ôc4°Ä ð8S…ÆßÞÏg­öšHê.ˆÉµ :`0~{êfjÀ5óÕO~ú€¯èëR‡î94Š2?ü¿·ÛÝ„1ŸæîC$VÆ¥†ÉWP¨}º2ó3‹vŒZ,fÕüZqm”™‰Žx¥Ù˜Írˆ¿óèz%;ËAKÚ ¬,mFS*ïÔN@Ã¥‘©9F,‡p.4< …¯&o=¦_|OñB4jÁrÅ‚ê%ôؼÒpÖ§=Ë•/6áð¸jt|¢4çøðìóÙ5‹ ¸‚Û¿%ÆûW;5ÇÐJQÞ9”†— ùÅüàŸÿöµ t‡£âó×_½~ûö€SÃr@Ç«ÅUáˆcÄqb™ÁAã\ÅÏþåßZ ˜~iš-Äp)<ˆ%v/v$C/u.3ø;éѯ·þ¶Ò0 †2 on^¡"¡à7¯t á©EnÂSëó)Œ™Ï'¿}ývÿÔÓ»—…LöDS°$Gè’aÙ¡"¢B+òÕ†¹Q'ÂÕgYÅ`V.7›7w^ƒö‡ãn½Ù½zöïöûæôûˆç™vaUpìý›òí9ÁÝ\ßw„bgikó£ý¼%ò mš@±gŠÌ6&Ì&Èq‰üB ?gõw#Fi ^Ó³o¿P|À¸dµ Ç#Vœ¿«”`J3{”ýÖL˜ˆÌ×kZƒ( ã¹ñ.£½z5Opô›»·ÇÃÕÙ6+Ž¥½ú#.‰µ‡Lå·•ZAÑß½PׄÓchƒ_f¨7èlé-µÎ¯EÑA›—ÌMh呵ˆ1ÄÎ"+0õæÇÿëumÈ#ˆ €b ‡÷x:îÆF°Ä0ÿÔîKlf‚U"sGƒ0DÄž•' z§¡¤ín¹áµ`[†AŠð¹Ý€NêS{Ü¿k•wK$Öw¬–sÕàÂQ~Co7BT««liJ¾¬„nD_Ý(eL/6¨ Þˬè,â,¢´Äj?<1M,W,6ˆaÂÔÏg¬`±áj&—K“ùÑ¿þG× =Ÿ°Z3õGuç]MNºT>_j<`þbᘢƤi€•!_Ñ&jžæ×}E¸kdipN°[kÃi¯ÐÓ2Lòë—×tIÆ~6ÉËÖsX]%ÆôÌ‚,ëÀ…âC@¸`¸¾õwž­Ð#Lã„<É”VQóÌ÷€†³úg &WÌñ¨3ÔÁœf…©¿¾ž:=*~]/™ cndy•tŠ W>u©ˆA©UL˜^ä m@|‡tK:•†ç­. —í¼9q?œC:âb}E+  ,ò¤_( º„éºë¢ «b÷ú.œ 7š}{Á~7ín^kÿ>Œò7÷¾*HŸÐÄp~›Oçz £ÏÞQ€ÌÄzåK tÁ/¨Ë€Ø)[aê™OÌkæ&œ¬ &Œßþ4´GÖ[8»D¼„Ã#«lNo5G8øÊ@l[ŒGÅ$ÌeeÇÀІWLµ„EhWÌòµ¿†Å0g++±œo× ©citI¡íy©¸luI, /øÁ¯woÿŸÿ}~¿õ°ØUyÈkŒ'¡×¶öËTŒØŒa¼È0 b©á 4ï(2é=M˜žÈ$&É$&£¹âÄ ÜRs>ÒUÏ4Æüôù/§o5L´­QÛcˆ°N˨ ä…wv®Ê £¸aι+©= @^øÝ†›—š@|Â`¤#ÎIh7LÙ¾yOÒç £¸44µS XHG]a|NuÀ’s˜³[cbUÐú 0û³±´~Ào7È ¥Žn53ª8>©•æâÍ\)…ÃãI¸‚µçÝ S¦xFÛ+^ü‹{Ä^±W¼0=Ó g<ÍþÇ@¦äØ*ö„£1LÙ¾ ÞYµÏ%Â.U7 V IDAT›)Ñ«n&½ª uQxúDf:CK²ªYÔ~»Öð4WÖÐ~6ä-õ0Ê^hÌ•IPÛ‡ýwÆ[]3Ë—[TÚcBnf§¦Úž/+¸ÖÌ­‡S¯f€ÍÐ-•LR¯ñ~¾÷¯v»/Bÿiÿ3¿]ónNßnÐözxš]‹&ÿrm~ü?ý' £+0(hÄã' K¤N0hÏ:öoî·÷§÷þÎóÖÿäǽ3J)Žvë êg Kºçk± ©}ûþƒ4½y³#3ð©cV±Ú ï0dÆý»½¯7~»f™Ô]Ë?KªSh£ÂA—‰Õúz'l¶Ý®¾eµ¤)™çGŨA3uÍ‚° §&´g‚»×ƒÌBø¼A…Œ°H½ÌBS‡KÂҰغ ýä¿zC·‚Ž3"ЛþáïKÎtœ5=ŽênŠy/jWo„ðÈûµ¯oiKV¥Æ1¼ÿ&ôš§›Ð4JÓ›ûÛÙNÎÊÃM0EˆG¢S³ñŒa 4@£¯ë[K1Ž,ÊÝ‹—þ~æbt^q9py¯þƒâ ¬cµÄ°Äp†`oYt8C7‰·–X…öH»ñ¹vs7Ô`H'5'Ïl#mÎ’¬©F¡¸:ûõWr4ƒ†Ž¦ÄÔï?úh~üÇÿ„8Ë.h&hŸÂð¤gƒ¹YJÉu˜:Æ»•ß®?׈3†¨„ðí#7E8|Ø{öër÷Õ=†ehŽ_ÿwá ŒÍ1žì^׬¶û_ìa6ÈO¿ó¨%ðËïíõópzšo;f·Z_My5´’¾¾½W>€)XÐßl4B1ìï‚vá×5\Áé¢óEÓUº3Íê;zGéL»Ú+p¹À)£] Ø˜õwþînw÷o­†#†ÄrIcôóƒ¯×axâ°TJJÉžÍ#;×w³î¬lÜ­7»ßùJÂÇ“ú÷êJ_ØÕþÛ¿‘³WšÞ‡Cô\ø»{XÞ}Àì¿uϾ¾e¶âr|°–4O<\°ÖWEØ¿‡]éb¹|dµåÚ)%ÅËþ¯JWÒRmROSÌÕêë¿÷{zìƒÂ|ÊÚù¼öÿç7OüÝ=m†1±´´%_×0x5ƒBÛ£…ÌÿøŸÈ~·TÂjx JìŸBs°«×²'’¼ñh÷Ç'f¥ßæ–óÖ‘ßú·ï>xwÝò•£-‘?£¾A'ÅHçÚ¹½„÷{º/4„pø¨Sâ™Æ0ßÂë ×ô·¥_~ Bh:bh|U#ö³»6cUÏJaÕöZÚjfl±Ùì*¿?½Ÿ‹ ]A[ÍfÅû—ê2‰§ÐAã ýf¸èë-lÒ£ƒ®@#óã?ýÏÃã§Ðv„uÞÎê†ý/¿™l÷¿ÅÒªøbòë¯ÐEij\A˜z<*%¸ èv»ßBì÷ûw0%mb«˜í8e¾(ì½wÆW~ß<ͯ°Úpu5ûh̆ž–À8ÁZV *A‡oiKÌ’Þ XjxÃÂ[î±—äïün·eBV ‘Lò9„S£æ$³ µß?éaéïðæ7¾öåÕOt]ª ” <-a# ‡æÿâû»W/ýú·¤û_ì÷¿üzϼ÷¾¨A²´s7 þQ£¯7¨ŸgÍž7žùÄš@¿ õ/í|«}½ û3ñBÿ“¿üƯË7_íæÿ"µºL¾ÞDIµ½¤]}:!‰•g•Á-CÙΛ¸“Ú^é̪ðõŽ[¬×WQ4{Uƒ¢Ö3vw«ðtV·÷Åæ ®W“aM©=†þ4'  Ç@KÒiÌýûŸ™ýé?d±Q·gVÒ-5ÏuÍiÿÿ~s]BQÚ 8#%·ùì‡uþ6§Û†æ¸÷޽èo¿óÍ€ „¿Ú*%¿«õØñ¶Ä°ôw¿ ½Ý?<ùŠoŸÂ›Ýnߎ»›µÐÃT¦ýãavoÞÐ ô'Â^+˜2üê—37Ø"Vsø0:={Þg£pöÎùW;Wáø3f¯Žh†ÄŠ3«ÆÞW%s(fåµàp½DÓb€‚Ü€!é4ôAàíÏ~J“q»%ÎÂÊçëÝ‹©›ýê÷ßL0LaŠë.…u„Á%MºLô˜…Ó™³ 8>„o•Z¿B‚†‚xÖhÔ>“µ¦£·KØZ§ YçtÆç+T“Ï*æ9S{ÄÜF›¿õ0%²5A,O\z¬ DêuŠÒ{ØrWq÷½¿§^Š«!ü›±mÇ£¶‡YÍ q¬ŽË°ÿèëgŒ™Ï˺EÁ4¡J»ïÝq4¡Ô/ü¼™º×:}š£Ò@ca{ £LŽñ)bCâî%†Àì-š—:1¦Ù>šÊ]Us–öcÌ Ž®Wêü:\‰:<„vvjQc¦á¤AÁ>Sh#b„,9ÌFðnÐx˜—Sü‹ßeÂ9°*ülÇÎÖ°Y¤æSÁ&’´ ±v¢×IJZ‹aTÌè: å¼zµÜ½úJíiÿþqþFãC³ÛÝï¾üâ'?û›ÝÝ ë[2SßÌUÓ#óŒYåë%ë‚ÕcRŠ¢†’€öˆ!êøp¥ŸqÖe:ækãë»Ï«à ³½Û\%f¯öº(@§jy¸¹B ="BsÄùŒU «§ÙýÆ+úß…]à³+cgo4@C£öŒ!Á¶È'Œo+µ§Ð¶ÈMèÆÙû'ú‚äŒÝ½Í„„aZ*u~÷òëÛ ó„VoþAíéí»ã›7¯q^¨» ðûOA}ƒÍJ?og ¨s M ÍxûÂ'ÉPŸïÍ$kPÜ‚g ¥äÈ^w/h:IâgŒ¤?ÌËî»×; Kd‰KBa*ÅMïï^"2c‚C8 h”Â/ßã—¸®Íº f¥Ó¹ónÀ,"Ó¼@ÞöpÓ̇q\³Ìv»5²ÝÛ6úÛÎH¥$ ‚¥ùÑ¿ú‡3§‹¡Á¬Û [‡±ˆhʼn.ów…ß–¿†KY…Ü(6×­r’Æk¤#mF·–qÐ'äŒKŒ @è{¿^Ñ­„xÄãõù¶ÂвºÑ0bh³´¯nqÙ¡çKOëé0óð¡ :Š4Jéºv>ÓURèzM=¢ñ\o¹REóˆ›y¦¨çoÕ]˜¯5žøúÞWåuOóRa: ‰v±T`=‘`+ -†¨!IOÜl¿Þ˜p:ïßöÀÉßÝûÚ¿ýôÍŽV’Ô'²ôëLÃ$4šœ5žÔw¾®Ãó€/‹Ðõ,^ Gò^CbŒ¡9Riÿþ“¯›Ð<ø»V}·{±)Ñ? ¦$ú¬(¢@š{–g$2u¾¾EåñY¦Íh_~]\mèÞ}Øï?¨íe6þæL·EÙ[ òÖ#Ûøz3Ÿo芎®ÂÂpÄðãZQ°ù“?ø7¯oÕZMG?½TöÆ„CØÇÃä×÷W׌mf·éþgo™,ʹH_{mÄw¾DÐ@¾(üý:ÌIj³ðØÑšψ&¤ö¹Ý—7Rxó»zï_§ðôi~t†.Óî®R\hêvë/ÂØ_DH,—jµý›Ý«™ä€¾ÔtœÔ´ ©e½õW`™4´Š-«ZãóL~ùj‰a…j¶Q{Q:ûz­aÒÓúš£Ž €ù³ÿæßóÎÈ>#fðöW»/·_ùõÛoþ*œ>î^¿Ø½Ø]3k•ÂÇÓlîT6^7¨IÅÌÏY&…‡)èÀdéÎJðëWÞsŠ… ¾—"×´[_oà]ñ`Cs ©`3¿¾÷5Ô­YÂßj“æ « —÷XC‚·›ýãÏ ƒrqµ¡9°ÊhnCs 1À ٿ߇ÃGVëÝ‹Œ þ"œÍîÖú­ß¿k4ôŠš¤aR?ùÂûûù“\j(i3ÿúÅîîFCñ™¹yûÍ_îuªv÷ÙîÍK_’Bsdµž÷£iÀ5¯Ë¯v©Çn¾8 ãQ)I‚ÚÐ>“ØHa6‰Î(ñ÷¿>þbø¨îÙoo|E_-fòHGP—4æO‹˜ÀúºœRXõ®OÅÀÐÀÖþŽ$Cß«}‚)Ô·þ®ôdh:Ú…:£^»­Ãâ•´×1(M~UÃæÞ­Pè¼{=ë‹óBýþý‡ýÓù³?øžúN]ôŒaûìïÙ6Žó³ŽÈk! zTsVi"I_{n=€ÐŠHÜÞ{W#‡ž´?½SsÔ)û¼L” hàëÍ¿ùÉ7j£€7w»7¿óµiÂáCh°ÿæ“.OþvÍlb¹bµD_÷JG NÚcQ­wë«Íþñç4EÁÆÝí÷X62Û„Ó><Žáôί_ïvVC¢1ŠÃ9<œ”Ò< ^¡Is ‡ƒ¿»ã2ó7/ DêæÏþà{¾ZÎÅþã78eZ ûCOÀßÌ×pP{º.f»ïÝ©í1,ÕýÿE½säX–ÝÏC&€‹Ä×#™U«ª{ØÓ³Ú‘=R„B®Ì±¤@†B²$gä쮵ë(BrÖ”¹æšc¶9æ˜!9*M¨{jºëEf’ß@&žŒ²i&#H$ðpï}÷žó{™Ä5—Ž­!yûõí*½ð’¦þÀ‡¾•íW<•‚™'[ÝÙ™£¥ø™+ËûÞý铨MñåËÛ/ VB„…­Ýì\âi׎¥Þç"•søÌ>7æÿ!HÙVô¾ z>€§NgÉ0šibuBÈíë *–@c®Ê{’f5>ŸÏœÉŽ´V'‘ÞçXUêïÿ}Ì Gâí8öú2P–w·7צ=¹2Lö×àÈÖ <¿ýþhjƒ²½Ð×û¢P"B¿Ãý`ÚÆ–® œ•Öº¸¸zûþ'o]ñã–ó#Ùß`t&:Õ]›þsxÔ^NV"9m½Ò‚l§/uù0‰Rð•„™øçÅezD¹cùþsyßà ¤xyÅíõsô¤g8µ8%¼ÿ¡¬ïÙX'N.ô/$PËZ%´«ÍóDŽÖÔ‹úö/¾Öá(áÏy"«ÁY…XZ_ó`*Ê£"úR§è_šû?”ê1")èÕn¿(Ä.'Œ½ÈÊÑlÎrýä³L O> ‰·"¡„)N ‡‘a‚†nÇà®XD8%ºZS¤íX æ¡Yoú6BæIö…'ø9‚‘]`ªÏ€V¡_èÕÄ¢³‹âöJ\è$ÅŒ²þ÷ÿú=»squ¡÷ëÅU¦óKb`5ÐÖ¢2„Jýî¯ÿ¦myoÌáž½•ºÕ¡¾}-ˆ8NdkšÚÍa´ÖZ_ã$pN+ÓžËz6E¢tëËT¢TœÏçY%âÊÓq$-B<+²VÙ弿§Úazä,zs6íYïs°u^¾µA>mED’öÁgÓT- É5FƒP=wøI:©l½Û?ÿ¶ ÷ÓöÝÇO´Vç‘9 ˜ »+ÒLÒˆÍPÞÿ ÓœmE í/®-á:ÁêÛ¿þç2²ì”p*öÚ©`œEHâr0€òøÙ”cñ¥v+P¶‚ȯEíHù®T ë“ÀC8côÙIP¤ZGf лJG‘lEƒD ëÆ8®=´lϘZŽZ+áy…iŒ zÄ´‘óyEZ[ï>½I‹ÛëbŸ³›à+ø'Óò—W7oÿÏ[3Q¼þª(¾ü™sr¬¸@ʲ|÷¶doe9êlÀ ¤@ ô½Ä;æê÷ÿã_=o V]æ\‹¯Þ}ê×了ÆB§®èóx_Ö•¨ˆ8DZ¤³ø™D)l'“‚ãûˆH˜é€ø"©3‹-$Ã(%ð81vP lËÇ®üô`Ž2‡o¯oàC%/rq躧Ò9Œ%Ñô^£#±¥hæhd»CF„¹Î…£]ý8€y¼/Ûíú´ÁVË/A$Jqé\ólÊUÿŸo&w•ÔN¶‹™=Q+©„´˜z3y|¨ OÅM Ó}ñ:Ñé%퀎’òðAŸ§EÎg‰.øü}Ä©Üb˜3ñ›gæ„yh9vÅÕklx78,Î÷æîOïþï'ÚÓ~Td;}µq@*‰N3f‹XD…¦þà Ǩ=‘3ƒ”Hž”ïïʦåé}^¼xã8?^§Ãñíd޵iªòýÝj"Q €N"'wžÕ†§XÎgnž°J´ŽH’Ö4Û#K¼@ít²Ñ/_Jà³›VµÝÐЛ`Ú”ïï8y:àpAñæZûÕÈfX›l‹DD–H$p;{ކK/Ñ+q+cPÖµ9”kÎŽ®µ¢C%þ5v•Nõ:8›­ôxJ]ò–ì }1`s#»^6hœÊ‡N!– Ï#\€¤Îv˜-—v½Ýã¶AhÕïÿêW-—ãÌNñ4mTÖÉòâ2ÒzÇqã2.Éw¾ÓÙx²ØÅ[Q誎nª!^"q`Ú±|ÿÙ´÷žJ":ÍŸABâ%+¾¦©0¶ïD-¦¥¾R\zñnh-$q-êò¾DE3œ&±¶96"”°å¸Ñû‹"ÛV_¾¥LS± $žàeض®EÁ‰¬ŽP;„‹¨ÝS,ÏÅ·ZGfžw”.B;K©úŸ¿¾äåc›X´ŽÊƒí!1iÙ8áÀíW_;Ȉ¿˜±g5¬Ä§ðlÆ ÚšÊÇ0™–x…þæÏClj‰7ìÎN*[~˜}u]¼ÑZ)ÃÅ}þöíŠ}¬_]¬ä‰$ÕzGktðµiÍÚ3¼ÊÜÜÓÌf(@õÌ}صåtÒA@„À€ÐJèë4Ö‰Hšö¤ƒÁÎi8פ-²œœkæÏ„NêÛÿðÆ¡’xMCŒTà—ÿâç %Ñ®>r1…Ýyý’ãˆ\U¹«òH_iñwfÄÌG:AŸùa0¤]DRñ\ñ¯nñOÊû;sèMý €Kñâ…ÞkYåÄUyøÄi@€âb}‰QÜì@_Å:½t}¥ƒ§MY8ÚÎ|ö$ž$É®Šmögu”è’Ã9ΰ=ç­FàÜ›ÅQž$W"Xy\€ú»÷ÔÁw{“ÍÎm—\ª[ñS**®/Š778i­ùpg¦Ag{ÙzP‰(˜æBzX:}QèËÛ/Ó¸­ÍÚF8÷f€NvzŸsv†káÒ–ïï̱ƒ¤—⢸ýúáÂn)«ÇkzØh'°6s*Y¢+Þø7œÅ]°×FXvŠçO8]šã{ÓLæã'ó–$W"Z¼Lâš]ÆåGdë`bœúê÷õ+cvG„É*^zÎ[ ŸVi':9p³êöÈÀÞ^^JŠŠ%ÑžÊc[~ø¨/!ùK 2£ˆ…i{Ïâ-Øít²qèÁµÁ~0å¡/ÒÈÅ;CòÕŽþ›ßýXršôvoú;Ö›ÛŸ%m¥ë§=ÇΜuºçD´ãs %É…i8n$<;jž=F+aŠ©]…5£Ç̡¹7}‡6¦×êËL' 9 /Ôßþ:–à’SlÛâõŸé4Çü™ó#$Àºã4 H%DØ=nê€Îb}u£¿øëÏÖ?..e–Ó “_ÖQ‰$"¢Š}‚f„y±t¢9v’y·¯ ¨ÁI¼éKÙõÄf‚y(us:›ƒP¼ºât.ï] šõŸŠ– w>-+޽„;½×CI"\ú@ÄiÔÀµÐ·|üΜÈpø¿“.ÒA²×¦bù©T¿û› ><Á8·˜Ç??…U]ï ¹Óºsé€d{íoh­isìÌ„"óŠŸ:czv÷‰wÜl\Êôƒê‰Ag{Øá«"à«òpÄ4K’¹æÑê¿…À×Ù….R‰w˜•1Vìh, IŽ©¯V£ÊóOpB·¡]Âr &¦’GŽ!‹¯Lóˆqpþïu¢áŸÙ«µ!mvÔdÔê·ÿõ ñC7ý0ÍÈӨC×îS¦©Ì‡ƒ‹²:÷XÜËhÇõóàÄ A8‹ €'"ÙZn<·‰Gxr)Lû‹Û+üD"Ä_8{®_å¢ÛšCG%Xzœ…:ì´Ø™´ˆ±;Aï4w’D: ˆcCK9%¦îè(rãLœhê#›^ï/uŽ–P ËûG)¤Z,œSÊôJb«U¬~û_~ÅÉŠä"'”‡’-¹˜_~uñté×zg”ŸË²|D©„Jü $Çs ÕsD)(Áf'j@—‡;­Óç^ÆA^†¢âòÃ{Γ(_òØ‘¼V³Ú=M‡|kÑL0M%ç@®µ{yÝ8_’¶£Ú‰í¦NÊQñ8rd9ÓÛ°žÎÚ„^ñâ†vÐɨü¡„íœyQ'Â΃í*L;œGLõ·ÿö ;盀96DÎÅõFBOáj*‰/tq¡ã­™Î¦õYÿhꑎ“–ˆNssü^\R·¦zä≷ˆðJÝ8‹™iO¦9êàèôþµ„ á™Õàj‚à(ÑÏ–j¶äÄ™X Ó߉/zŸ‹‚ä‘$9Û éKl[œ<‰‰Øƒ¼ÓA@x‚…ÓlîîÖY>[Wg»^xùqÒûàöÍŸxûÖ˜C¹š¸EHr>P÷ß \èÌq(`£ïÝÖV¿Jn_ýqhÊOåý'*û×:ÍÙ<¾ýSi~üàâôíëW8Zäi$!ª%Ý¯Ä »³lC`0³'K¦¯=„¡ÓÝ®‹=‰D…¦1¦~ÔáŽÖŠ倭lÓT@n¥$Â60ï <E¡É3O N[lO²ME6’‰úö/¾ðSïªÜÞJÛŽâ­bÓEBÇ[“â‚MͶŠVßy·1cõîí?b‚Û²éìFç‹1½iîtú’°ù•pè0°Wœ)‰°%mëX¦¦©DAï5FËkm1¶+­ÓŠWT±»eLÓ¸¢ß|±býíj¬7ÍCyxÔˆ'Oâè½›eÂæcUÖ§ S‚ r->O¼L.Çu “nW°Šßþæ¸"ÇéIEIx–Å'ëVÅ’lÄ<×” °˜v@oÚ-]¬¬+> ’yÅåKýúRbEã<á×@àÒ:m§ÁÈÃXJ°Ñûa޳Ö3-‚0Ò:"[Œd²m 1‡ƒDûâUÀT‡µžp ’q‘)rñ§³.^¼â“|›ÃQd…)ˆ—ÐZgÀh%É9+ Â³|"<‰xÄÎuîtªÅ÷àŸ©„=ôö‘“Âè!\OÐqÚ®Ýûf@p’0e}X}Öb¿Z/rXw¶"¡ÞÉí¿Ì̧–C#QZ¤'¾ûpgšcqq!¬Š‘3­uì ½×ì2óøB¸ž9\å·/ å}Y¾ûÞð|ûâå/¿ù§êÛß|ù–sà²ÛÊ4GŒ(‚¥Öš'O¶‹è˕Ոü*âAÅx*|$Þ¸þ€[Ïðd“ÁWH^cêŸ^®³5ÃàŽëø)â<¡ßœÜ&€¾ŠÉ‘ݾæý"2™x»ˆÒÉÖíþa;Q ㆀÃ݈Rå¡•s ‘¬„§’¥¼§N¡¯2N³©ûõ4?ã¬Ä=è—/1Ûòþ3ën+¢8ÃT|ô~¯ÓÜråýg0­gš{¯ú+×_Å"Ýú-ž°Qe]‰ò´ÈØN6­Âóởð”âADg °°ÙHx¦µ¦™LýÈæÁ­ÜÒ tÒJØL¾9·’’f:±"/E©g\ª!;UÞÆhåÒ×ážÓò®¾¿}q `eêb;3€]kx6k À¶.ñ—?ÂFô686¢”ÚÁ¬JªIDATø™\zêw¿ùùêÊ>-OèüµUˆqæÉs Jï¯`{IÀÙ©–½f·¡9àé8™²zÀ4»ÃdÛ!ÌEˆPë@L3 þL›9 :õk=šê$ÒKø…ƒ,çšóÈÖsež©û ˧™Í@Z¶T&›""9P»©¤Þ_0ÛAš‘´œk9ŸèhÍÂT09STÌéÈŠâÝÈ•ç¦õ¸¨äÿj8Üåö~¿aIEND®B`‚pioneers-15.5/client/gtk/data/themes/FreeCIV-like/field.png0000644000175000017500000000135207771100213020407 00000000000000‰PNG  IHDR´R9õbKGDÖÖÖBå pHYs  d_‘tIMEÒ+!ì]ˆWwIDATxœV1nã0‘V šuªðÜ^ð îRë#÷ ½ 8=åÖ_ˆK!‚NW,¹\R¶,Ã0H™äîÎÎ Õ¬_D3ï[KÃä}K4{ß@°¤Ñìûã’Ÿó mÔSçø¾€qáï;Ë!‰fÏõm|ÍyÁ¸pB2`bäòþÏû6Î7žÒw|GŠõÉúT´‰¦ E™*Aï[¦xºä‘Ê_•‚=É~Ÿ,t"ÖWO€˜‡‚^×atíŒòâÄ” £¤[R@ ØÏ÷WiŽ÷-®«»¼`\øÀ÷÷?î­»5D³»5x3ôçÇ]^Üù„qqÎâºÆeãÂcwkr9ßœ N1Ow²j†äž‘ϸø¾ËP&å”HP8õ\CÃkt´#¡) ši˜0I$ð–隯¦ÊWJIùà<š‘I.MsFoÅ'æbWhF&1À]b1ÜÆaÒúÚš‘ÈEÓÓTc'µo=$Û ¹ššI÷ˆU0OëkWhfß½ Ú•Nn¸¡+ËLe{bJe Ë^UÌÓ„ÇB#š›õë#˜2õÚõƒåÚc«îi^"X“ùÂj.çFñ%’šý|}j4îòÂÞäûoÆO¸®ldîÖàºÍî|À¶Å³åÃÖhh˜„Ž Ë¡%^ïz{ÊŽÐÌ£‘TÌÝÚ±Ù]k‰?Ú¡†©bÑu©Lz(çÞˆúL•Å]£Ñ”ÈÄH÷ºˆ¨ˆÊö„gF#¯QëòÆÅé ¢ló÷÷¯Âh€B÷ú¹"YFCüGI]`æÑÕ.1v÷ø°™èq­"IEND®B`‚pioneers-15.5/client/gtk/data/themes/Classic/0000755000175000017500000000000013252243610016111 500000000000000pioneers-15.5/client/gtk/data/themes/Classic/mountain.png0000644000175000017500000000142611257440734020405 00000000000000‰PNG  IHDRëŠZgAMA† 1è–_ÍIDATxÚMTKOë:öcÇyU¥Ee…bÍží=Òýÿk$¨%¥-!‰ÄÏ»˜s+fáEÆãù3¡ÿþó'ÏsJé<ÏÞû<Ï‹¢B@ŒÑ{cL)1Æ8çŒ1Bˆ÷^k À9'„`cÞûÂõ;žø¥T)%„àœ[k!„àœsÎyï…”Rl…}8ç@)¥”¦”RJƘ¢(ʲ !@ažçiš(¥xUJI)eŒQJ !XBˆ1ÆCçó™²Ùl€sže™B)Õ4MUUBBÞ³Ö.˲,‹së…‡ÃÁ³, !ò}||´mk­uÎc,ÆØ÷½1fš&ç"—Rzï€2 c,Ïs4lGÔ>??¯o§”àÿÐZ‡BB)%cìÊP#°Ö¢%Èð*˜RÊ9‡‚a„ºÝnC}߇è ŠŒV«!dš&ï=21fYv<뺖RÖu ׋1ÃevÅ•ç¹Öš‚Jý#lK~ç\)¥”’R*¥8çHg·Û)¥B—Ëåï2Ð_Ÿ[ιiš®s’eÙ4M˲H)‹¢€ëÒa× ¥4Ïó²,‡ÃaYÁ²,×ëuß÷8°ã82Ü$¤e„Bà´EQ×5Úk­íºNkÝ÷ýét‚®ë¶Û­”Òã½O)í÷û···²,w»ÝýýýÝÝ]Ó4çóÙZ;ÏsÛ¶ïïïøó€§§§aŒ1èÙñxüúúrÎ=??ßÞÞn6ƘÖÚZË3Æ<<<|# œûùùɲ,˲Óé´ß﫪zyyy}}mšÆZÛ¶íårA"ã8Ã0ŽcUUÿÇs=êÙXÉ0IEND®B`‚pioneers-15.5/client/gtk/data/themes/Classic/Makefile.am0000644000175000017500000000257211257440734020104 00000000000000# Pioneers - Implementation of the excellent Settlers of Catan board game. # Go buy a copy. # # Copyright (C) 2003, 2006 Bas Wijnen # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA classicthemedir = $(pioneers_themedir)/Classic classictheme_DATA = \ client/gtk/data/themes/Classic/board.png \ client/gtk/data/themes/Classic/desert.png \ client/gtk/data/themes/Classic/field.png \ client/gtk/data/themes/Classic/forest.png \ client/gtk/data/themes/Classic/gold.png \ client/gtk/data/themes/Classic/hill.png \ client/gtk/data/themes/Classic/mountain.png \ client/gtk/data/themes/Classic/pasture.png \ client/gtk/data/themes/Classic/sea.png \ client/gtk/data/themes/Classic/theme.cfg EXTRA_DIST += $(classictheme_DATA) pioneers-15.5/client/gtk/data/themes/Classic/gold.png0000644000175000017500000000147211257440734017501 00000000000000‰PNG  IHDRëŠZbKGDÿÿÿ ½§“ pHYs  d_‘tIMEÓ -8Â÷6IÇIDATxœ5’WŽW3Ë´™54 ÞKàýo iA‘œéî÷ÊècÁïD @ðû÷¿ö}ww’ÝÝ]Ý’"1#âºFf¼Ýn ªú<Ï9‡Ýn·m[Ý—îž3ºKUDTD¨ª{™ù#3«› SÍT3³ªÎ¬î"Ùͪ‘D Z•™¬$#DÄ@Jwš‰ˆ›V«ÛÓõô|¨ž~þð_?׉„‘TÕC3Uµª2ó9O`¼~¾y»¿|:Ôâ<êß¿—êúñ¾5 M»®‹üÀT?tUš—{¾}‹·o÷O_ï]|<˜Áã‘?Þ›vÛoë¶š™ˆš™ªvל±8×·öÝ Jö›ø‚}_#RD ìªÊL×EBsb Y†‰v·±ÎkU5BºËÓl~8¨*!Å cL1V-Ǫ5.ÿïýõþ{™32 ]vw÷EU?HRH¨êœ<Ï:Oy½­ÛÖÇcùùŸ_#fw’bçyΙ뺈@UT%³E¤ªë¸ìýŸ:ó£d&Àª6…ýi//\Ö$e ïTµe߷̬P™™™sFÄt·1$bؾ­<¿Î/oãåµ·­(‚ÖnÙǹí<÷ó0`d&AŠ¨æœ°çç—F|þòëëW<½Ì§çáÞUÖ­•y]í‹ûU&""bjsÎ b†-ËÒ„;EË—ò¥Õ’Y í¦ª‹^ÝÞµDÔœ#3¯1®sT‡u÷œ5†GD%«DJH¬B»ÕÕª»Ç˜³*«` Uô÷OuÛª1†®ÌTDæð9Öqm•Onš3DÝ"J€¹Y›uûï_õ¸wk3]–ED(Îöª­SÌzßoA÷qä–¦*"&²Ì÷»KDÜ]„îÞÝfƒ`£I’ôÅ##b6`cä~[ªcFü‘©ëîz‡™ BED$3#¢2Ñp·ÿ€ ¹øj§ÝIEND®B`‚pioneers-15.5/client/gtk/data/themes/Classic/desert.png0000644000175000017500000000206611257440734020042 00000000000000‰PNG  IHDRëŠZgAMA† 1è–_íIDATxÚ%Ò=ogÀñçýüœïÎç\l—’8o” …Ð1¨Hºvê‡èPUÝh?¢S‡"Ú¨ 1&RHb’Üá³ïÅÏsÏ[‡Ìé?ý࣯‡+ÃUkíï¼|ðÕƒ~ú1Ÿ—¢‘6Y–™Æ „€6”Ò(èPJ©G”RãétJ...®²´›$¾Ïöööu]×bÑוּ¢RJ)$!cLbŒ[­VäÑ/?Ÿœœ¼?=í&KQ‘88¸âü|¢”r*¥”R”Rçœ1 ¤”„ÐI¹@7oÞ¼uû¶sNJùøñãÙÙ™G™\ˆããã,Ë”R@€1¦®ëÙlª”,Ë"MÓ‹‹øÛ½m!¤ÒðÏÁÁÆÖæêêÚäãÄhãsÞnû”k,×4 e¤^”Zi!kRUÕ¼,0%Æ9ÂèoOÝXߊ¢ˆRV×5BHxžÇ¹gŒrŸ!ÜAAØiùA£mwwvv?|8›L&ƒÝ{ç¦iÊÙ¼Y†€1„m !àœAå¢î ú¸õõõº®Ÿ={6(¥Zk)¥sBh­UJi­­µZ뺮§Ó) £ÎUšmÝúâÓ4¿ºLýÏö_½:|ó& ‚ÏoܨÊâôÃ{LP>›úmÎ9ßßßFãñØC>åÓ0 !›››0Êó\éæùóç”Ò¦iz½^’$Ýn7MÓ£££““ÿºÉR’t)¥Æüýwßôúƒ|6ÚǨsn}¸–Oó“ãcŸûÝ»wÿüë¥RÍdr†ápm­×ë·ZÜZGV׆!w ªÅB.ªåååÕ••8Ž/'“ù4ÿ÷àï¢(»_Þƒ†aØï÷…u% „ˆq¿r0ÄqìÍçóNÞÙÞ–RBžŸB)õ"Æ8%¥iʲÎä8ã‚yQPÆîß¿o­¿=:|ýÄ9g¼UTUQÎ9’Ê‚~‹a[!ײUUUQÊâ±÷§ç~Yeß¾yKX+^êR_^P‚}î#ÝHœG©çy„` „aŒf-¯Óé´ÛíÁ` …²JŸ)¥fÅ|^–ˆ@aŒ¯ :ç0ÆžçAÀ9_^^ŽãxiiéÝ»wÖZÎùht˜¥WÎhäyÆØZÛ4Í5Ýë¥ÔZ{¤”ãñ8I’‡n¬­ïÜÙö}tøú¿à;¥}¸`IEND®B`‚pioneers-15.5/client/gtk/data/themes/Classic/pasture.png0000644000175000017500000000176711257440734020246 00000000000000‰PNG  IHDRëŠZgAMA† 1è–_®IDATxÚÁIs5ÐOÒ'©×éžÝqâØ± a=åDq¤Â_à@QÅï…¨\²/ØãdÖ^¦Õ­•÷Èo¿/ªjïµùáÇo$çõõûœŒ2Õõm§)“„ÆU«“‹ÓqÝý—¦T+í`Ù쨵×÷ÖiŽüxlÛÆ¤YTUÇͬ³Iʹà”†Äº#çèë °óo1ŽpèÝa¯šº•’@ðÚ˜Õõ'°X&eu]³Z uÓ#ïG£´ âÎÉ}°<ŽÇ Ug @¯5øœŸ§‰Ö¶:Æ`:0Ÿ‡}cú ´®77'ˆe¼‡à¡ªÚI9š-fóé4ÏSB±kš¦Þì7Zûàû¦²å(­»ã»wÀž<å„z)Ð;‡ ”Fœ÷a»^—Åxy²Ì³ÜW×»Ã>t­E}gº&g@ÉÅl9 –“øÓÇ›f¯>†Ó%øƒ‚$…Ë«EQdus¨MšL?¼¹u®.Oðñ£ûZ[ïÜ~³ÉÒñ(ËËÑ4Ž·ÍA9m ]yr`SÂÓ([Îf÷NNîÞ½›Æ{ô“ª‡" jxóúp{{LSK)R ›/>’%Bk?/˲œLÒ«Ë{gg'={ú³tÆì·ÍíÊJ Æ€÷Jˆ™@ˆýt’icß¾>î¶ë~¨..N¤ttÓnñt~šžç„¡ÉW¾ÿçïŸ?a-8toÓ‘,ÇEÛֽѻ &3S·ëÞ¸5çÖjÌå8ØÀ“<">£¬íT¯Ó4ku7„¶ßÊTÞ¿D˜Ì zc •R²¿þüE+3.çI”ÔM³^ßF j­S:BÁyÅnTÊ$ç£õ°ïuëœ&°Z«cíîŸÍ†7E.?ÝÔ`¶IUUŠ<¶Ö§©e >’ŽnÚTÛòôe0"8VW’@cŽIŠáÚ:¾ßöÏÇ|L¥í½ìáæV(*Šu5œ …Z×ñZí³h¿òýçòhÜì0 ´"(†ÂA7' ”PX•E oÔ˜ë:ì¬ü|ß_·–25Ñ “¸=ˆRùfÔ;Ëú£«ž†¦ ·>}Û—5ŒS‹U‰@ ‡A«›ßãÛÛÓ¯n[–pÉãûTØLòùEå­Óù{gÕÉlÜ_ja2WŽŠˆDÐÉ7?4wo¤ßžô÷þLÏu;¤gíä²\øÐËùn:™6ÕbéN)z宄Âú³{lKÿì1—p,QOãúÄkóÎ{íÒ ŽI»1N4i¸Ü£8AºCÿ`ÃBzí0çÈ,éå†o¢W:[ÀÒxÒÁEF8j=‡z¦Dã^ÜGÏ}ÔÛìmfd•‘‘f2AL$ .CÎ Ý+£ÒÍ­@l( Í,{…°˜u¥Œ€¥ü¼¨¬|>I19Í!DM¬° ‘™h¢UÜ÷erõê é Ãn‡x…>Quö}&↠‘€\+È8"ܾ>ûdí¯.úת‹ïª¦Y¬®.V\Ý‚¤ŸÎÂéjÜwD ‚I(P5ïw›¼ßÉé|þÅÇDø ($½(¼RLˆl±L>ÿ@+ÿ9`Û¦ýP’‰#¤.£SŒ.žM@9ˆ' ©&DÃÉ2õC÷ₜh-§£mۼݛc¦»^8Ôc%sø0æo:ŸÊ;!{ŠuãCÉí^abæ4Ðüm$æprIEND®B`‚pioneers-15.5/client/gtk/data/themes/Classic/hill.png0000644000175000017500000000166311257440734017506 00000000000000‰PNG  IHDRëŠZgAMA† 1è–_jIDATxÚ%ÆËŽTUà­½ö>—ªîª‚†–K#ƒ5IŒù>>•C߀„I'vÇ„8 44ÐMu9uÎÙ—µø>‚ð~v2™/¾à„ϯÎgãø‘o÷‹‹qvÑ™Á\é…I"j«„Šö¤VcÒãAä‡MýóìpS¶#41:§ÿf“h¢Hõ$ôe’ÝšXÀ$c¡ò¨n¾köZoMÙ•Ü'SeÍì’ÓÂðŪ‚:qŸ$VÍß•ç\q7„‡7oÜZvõ®³yXM<­˜­ˆj£D‰"sr¶õèÄ]RsWO6Nµ¸y>"=ÿpÙ¾fÈå‹­Êiîš½,1²[ÖáÔãxÜü¾º<ºŒîÂ¥½Ú?¥þK¿8ßs¿½ýbr]ÊèÁ,õ†åTø¸ß>~¿<éÓ[3j‰TÚmÿ/îK¥¹†îAá™}ßTË Gçïþì»VWP‚u°ì ¿¶‡B3gç¾ؼ_Ž‚lºo4?yõï_9ŸÌ1´" ¢‡m‚ÜkBH[E™æ+Ç><߀ÇU¬múôâìeÉ ¨ Vt¤Þ<|¶EÆ'Î;_HÛ¥½ÚS¨„?Î^¬âqôúå@<˜ª#e$€ºè4áã>_¹W×¹ÈívF®?O»Ëa}²!ÁÄ40z˜Èè ÛgUøz>»N~ÊNú]ÈYúÓØ-ݰD»Ô”‹ê7óÅõ\^9>Z¯4ó}™ü0_<˜°Äõ4 D–4ƒIÎò–ûŠFrÉ Jnöîì†×­/ý]s-rGr–‰H¡&PÙT… ‘ ä`sç²m‡Û©t®ìd|šãrGל›‡*„ LZ’|1 ëɆÏ(ŽÊh.˜œ¾ýá9^xœQ¾ìΦ¢.¬þ 1¢Tc/.húÁþÖÄérŸÆqDD`m»Á3„ˆÒÍÁù>.=ä†{a6b´B™ÖØ(J5Y¬Y+š hÊI¼Y©Wê7a/E–‰bB(P%ëþaÅå÷¿Vh¬lþò{m£¡E‚¹Öé%¿Z¶­ ßws†I“Yž¡ZeexÓLÞ2È,¯>ŠXE;M¡sÝÇg™ëA·.^º*qB’ ,”’<8ì¼f‰Q 8pÝç H$C €ä÷¬uOvÜ4>½ü¯X–™©Ó4ßìl‚,/ß]'Xd¥R¹œ¨—•âáåá!Gãœ-.ç_l½yv‚ ü–x­ƒïÀ€èÏŽõ§ÕŠöN C ò'Í=Nåþ%sêÀ‹IEND®B`‚pioneers-15.5/client/gtk/data/themes/Classic/board.png0000644000175000017500000002337111257440734017645 00000000000000‰PNG  IHDR@@ªiqÞgAMA† 1è–_ IDATxÚ=»I¯4ËÞ÷‹1‡Ω3¼ãxyIŠ£Iªå6Z’ h Ñ0à…ý¼ôçÑÂ+¯ì…†ØÔ¶Ô²Ýšz›b“}IÞùÏPuª*‡˜Ã‹ºöª€,df 2"þOüž'Äõ­ï×çËßùÉc®Ï|õ©çß||Ëïüî’¿ýãøïÿÉ$ˆÌïl`˜ .d&—˜ÄTyËÀ09P– …\J¤’!W$W½áI£øñ÷6¼x‘¹x¤ùløW¿~ÉÿôïüÃwWèW=Ë«%v!Ñ6‘åľó->¬[¶s¤]*ÔÁó YH²Áì+²h\Gcò¤ZQB¡…"çB.Ñæb)Ò‘BÁŤ¡º=y8„ Ê| íøã‘ßýð9õ™ «{jjØy˜¦‰” ž†Š/L¼ê(©%ºÔiÀ2ù‚X­ñMÏH`+ZQ°+I»ìÐZtÓ“«BH‰/…˜¥@ARLËç/oèô§,¿¾ÝÓO 7ÒR‘;±¢/ Ÿ3Çš0BP+ÄB-…,}£È$N‹¦ÊOCR-xy÷†o'JíaÇ9…¦=ãö>1’j5q®l½¤ÓKbŽÜ•¨cÎÌZbQ {FŸék!ºÅ¢á¼™™ÆÀœ–äœÂ@r´¥`¤ iš¶%=ÌheѪáxŒÌAsóÕ-ï÷¾‰éޝ³e;¿å÷úþñÆ#mhDÆ—@Ȳ§Õ Y%U€mú¶å8Ì8_‰N’«&Ȉj¬jùâóœ/À‚œ2Z[7ñ«/^QË9ƒ=p( c„†ˆ’‚‡d)³‚X ¡Vt…\%c ØÞð4~ðP*¾ d¿dj%{ŸˆI /;JJ”Zxýö–››ÄývâË’þ½wpQ²¾¸àû?ú6u~C±+~vttþàï}Ä?þןòxmøð¼#’IÑYµ ¢Â0ϸ\5qÜ|ï£x³X· çëK†C¤_-™>iq~¢í¿÷Ÿ}Äry‰lo5q{sû——\œŸóóÏÞð¿ßfD-,D¦Ó•éjBå†ýëÏÄÎ$…ÿãOÉ¿ð#ÍêŒY-н’̱à‚G‰„2¾8|•ø Z+Z+ði¤i*—ãb Ÿ…l<9%šš¸Td&( )ÓâB‚̈ÑB¡W=±ddQTÕàR¢µ†å¢£ëB„4ø2SeByv¾ O¥)t . f]xˆoi.5ŠwCO A³è™EĹ5s?KZÓpÕ@]%# ,FD´”P%8ï±5’aŒŽqîØÝï¹°²ååÝ[–kÃbÓóÑGgü»_èž=§ŠŠR‘3%G´´ 4µÔ“”`¬&úÉ‘s¡V@`´¤hÃèw„xÁÛÝ-´†ZgúÇOXnÈCF&¨ƒAÍÈtOzÜtàÚ®Qî›å+!™B`ia_-F(JqÌqf²-"šÞR«ÆÔ„NJpÈ‰Š¤†Œ”‚ÀÌÒ>å²;g/ï%h‚Ï`FL¶Ží_ÂÔmø*¶Ì7•JÉ„d 3ÊZÐ’98”±¸ HUR…f2Böœù#\¤ù€¨˜âí4þåg´øRЫ%¯xؽ"ªÂ.Œã°#ÙŽ]””¦%/–¸$p!1Tš¢sª$µ$BrΔ’ˆB •œ3U5¤ì¹¢´¡TˆYseµX K¡ • ßþÎw1ÿϧ„ÁÑÌw˜ÒsÙ7G‡”ND–]Ã0ÏÄPJ2”*ÈHŠ+AЊÙæY}ÅÖ‚‘Šq7ÒfÃt™¶7´fN‰3‡} «‚*×<Ì#utX1âä"©¢R¥ ŠHˆ™T J)D­”RBœtJ.§hlGU ÃØ”RÆ™3‚4È "&rœ]ôܾ}Mc4‹~…(£$ûýv¹$D‰¬+-UWçQ²%ÉJj%•J•\+²4¦¡Ö);H÷X{N¿Ô”ƒ£¤Œ¢!'MB ¤EëQ$c-2‹¶ÁÈBÈž¶kЀJ­8ƒ”’X"¥€Ö)O’X‡y&玟ÿò¾ýd BCæp˜yå·(Ó½§Õšá8¡íŠû›{’¨ìljÐ,yH•ÕÙŠmrȦ§&pÁK%+MÈPP”xª6©$ª”’ÑÁã÷•ßþös†9 [KQ’ƒŸXZEDðpœÙ\uDÉÍLãD±Š¹dŠÈLó‘e£P5‡HB€”ø˜(U ÁS õôõc-H)Эµ,ì’äŽÜÞm9Öž®ë¸¹»çàw¬×LšÉ)bÛ–·7oY.¯IµJA…=ßýßá{Oר¥e‰ix8‘ºÁ§Êo>ù‚Ç—¬0T±f¤5¤’i“†<1Ž#±H²„×÷÷dÙQ…<Í[i¹Ýíæ@¯Jƒm$}ß0¿nØt-ÊHÊg¾zu˓ޣ]´L_<ÐÃ7®¯Éy¤(Ã~šÙϳYòfФ”(¥œÄX)$©¸0†Qjesq¹OõŠRŠÆ*ÆñˆjžSŸ`NH#0"rÖÂ;Ëž±TTi‘EÒ÷=s̼ڎ$)ЃZ²CbÈE’\eö‘b ‹.c­!‰}¼áQZДËóÏ7•ÆTjv-mY1w¬//8ÄÀ™Ò\ôš[LJ{â~PÊÐu=ã8"¥àƒÞçç?ÿ+ž¯Þi)zÉËû;Ô0bå »è¸ßͬBfÑóænÇm¨ (‚1$¤–ä2³S–Ëë+Js‰´Kt{ HÍCŽ‘]„ï=í‘Bb"fÁ2mÌ,í’\àÅí-ÅÜ2ÆYP)ôRRmÇÛ± Ÿ/aµj±Êb”&úÄp¨(ÓR*”’8'þü¯>fΉÉ'‚ƒÙ þ×—¿àÉÓÇÔ‹ur‚Û—Ÿ±^/†‰T&Ž$ W—-^7\<»æÅë‘ô~‡ÞþùŸÞó'ý[~hι?Þaú ¶»,-ã0ò‹_}JH‘ a_ Ë›ýŠÊP,?z~Ž›û½ÃGÉHa2{w •Âw¿ÿmž¾ûw‡†?ýŠ÷®7|ãiCîÎø'ü1ú{çWlÎ{Y µ­V•(Ã4‘kÇÜ5)éJ&O'¶×UÉË49¦Éqñü‚㛂Êê¬GN™åb‰}ð,¬àjqN a+QaÍñ&Q›ˆJ3KUøæãsž¬3.IZ/©MÃÜŠ<‘èX3km8&Er PÆa"Å.$œÏ¸Z¦A–J*‘u ï_Xz÷KŇWß¿!¯–üo’Ñr»eífJ8Ò)Áªm‰Ã„§a•¢ä"žBH ¯ Y¤+:ž.:Þì!¤À 3cVX-Iµ¢• §LÓ5Hcð1”ã~?°9{B+*»í+Lºä\êÑãî™n4 Ûу^XˆŽâ<¡F‘û9Ì7tUŒUó5URHd)U!k$–ÂÀ’ipìœc7õl|%5–BõT5FÙaZƒ®Wh¹y¢ñKúµg?ôzÏÃp± Åñ°'VCQ‚,9CI€TÈ’Èòœ9e&"ˆŽ¦;²\hFixlz–—TuIÌ[ÕC/qÙ’FÇHDójƒ–ÐØkÆa`±X"Í=mÛ±½Ïd¡BdS-¡$’”d5 ½YñÅgw±D¢11ÑVÍf±!}yÇÂ. ¦Ñ3‡ÄÛû[„zФ2°Åž-yüh½Ut"qµ¶x UÁÜœ‹d{²Æ*_›+Û5„$™B"Sºá¸È^¡œâþõŽÏLäÙ{OHlÉH„°l·Žè4zÓ)™ZªÕ¸Q‹%ƒiWìsb?Ì\è–6 ¢$àÿk…Ÿ·Hý¥$Š9ª%º€é$™ aÙ­Xõ+tc)Z¢­!W¡gVgdïˆUãÐT¡p%3»„±-©f*•$2B)@PK¥”ÊyKÓÐ+yÏB[r<)Ùeϯh{Ån8"%Åì2(Q£ÿè7¯éT¥‘™* 7G°•å\°MË_[zÕܯ…T*Ò’¿% ¯ï¸Xkîç!z¾Ü îçB·Ÿ™… –ˆ›Xö ûi/™ÃàXä–£²üõýŽÝ°åaêÍDhËÞº¶ Ræ|½äpØÌ¹œìµW»>þ¬á~H£c7kdÓ2Î#¶•ÌãsÛ2ûÀî˜X¬Öܼ¾¡äŠÞ¹ÑKÞy|Éä#NV†~úãÿ„ÍåùÏÿ)ÝbÉ£¬Ù˜s"Q‘Ja„&FÍÏ~öÚ$\ä6XŽÛÈ¡Hv/9zAÓ\¡¥ãì¼c¯…Êv7°X¬q}aP3ëÃçlî÷Ç7» éz–M+œMžŽÔ”I(|UÌEáPˆ¾£1+ªh aFÖ‚¤‚¨@åñ$©ð5qÔ ™iš–®]œ ‡t]‹òž*)Ufñ±¢UU\œ_0O3»1ŠFj1†T+"E4žY ²!×Ó7H™“ë«Q&r B*´Ï˜\0H¦Ï>(Þ¿Zæ™ÕòŒàÞpž=¹ÀZ‹U7 ¤’Ù»ÀÁ † 9ºÂ <ÄŒ'‘c À‰,S©§ðÁ©=µRêi­À{r´hÛ}äèU*œÏ ¹€”-«`&òRR«`œfn«c»[Ñ4š³Fñáfè#*.É_óü”3!&)„”€$.*±V´Ðˆ¨9£*nð§ûbEAÓu”V‹'ÉŠ“Šè}ͼ»nùñz‰6‘P%7L †”BÅ—Ê”"µB*‚òuu¢ ¤5_Pºˆ˜î¨B0—ÂY 1±7š¥VR„" EN•¾íiRÆ’©næíÖ1šG(éHê’5‡yħÊÓ~įî?#¸JâÀC¨ô¹¢uFÆJé=Ö5ìr„©%éXe¾¦V™Š!&ÅhJÍ,ÎW¤ù¾iÑ&aD€^Ì`)íÑ®€² ¹*—ˆÞyç»`™ÌÝaÇCÚã‡m×r—2×%±¯=ÁG:»"¦€P†9CÊG¤ª”ÙÑKÉ“³wµÐÒñr{¤ÔÌ!H|Yr˜=9f^¼|Ãv¿¥oÏè[ÉÈ—Ûí$Ø-þaŒJ¤t v„.ƒ€,BTª2Ì©Ex2¯(û@ß¶hÓpØBV|G\Ñt…’Á'R,”"¸{{‹¿îPB#jæÑõŠßýɇ¬Ê’7/^ò¯~û‚ÿö¿ùCþç?þÓeßBj‹/’ãrÿõó šÃÍžO-|yˆøùíçoØowÜî‡tRþÂP¿ÞŸÔ(Ì>p&ž´-…ÂT'6 h–8± r + IR¢”zJÂIÞlzRMˆö Ÿ'Ì¢¡ÖBn×<ä‰^&D©ºG7Û/ÈÛÌ~¨²ð•‘?Òwk¶ÃHÖ‚4VºöšÝq$˜ÇÙÑö-¢ÌHYJ¡e¦"87nÞóˑן¸»{ÀèŽEÛ³»»'·=ãiÛŽT*“s¤Ò’½„, ;B¤>Þ£ZËà3Fµ¤È1Q¬¦Z!!E ·šÚ²?LÌaÆî™Ü’‰™ÏßÞp³KüäyËÓ‹s¶¯F†:Q„:9¼}GQðÞ“5?üÁѪåg?û”WwoøÎw?$ÇÊ'_ 4Ë5Ÿ~¹çr)ùæùŠiœÉ<‚¢%5¬Ù––ñø%«î)J†û·X»a½\| êŽãpº¯í;”Ö$W(¹Rõ–~ÿ”ià7_~ÊêlM¿|‚“Š_|ü9q,t¦A)‰¨…¶íñ2Rr¥Sýî@_r½â£¶R…!L‰u[˜Rà;Põ®,øäþËfMM'pùŸÿ£Ç|ëûï1m39¯h?¾áûïjFvüðù;4— ÿôßêaÇ7Îc¯IÂrt™9$†šY»#iùˆœ2}#‰rͦޠBäao°)¡¹`W_p=k¶¦§$GÐ’ï>îøÉ·¯¨ÞÞ¯x÷é†GO+y›øÝ’ß¿nÙ˜N¾%ˆŽ8G”< ¶P ÚèžTAæ%#ÉÔª©Q@̨lPI“³aM·æà4Ç£c<Î\Ÿ]S¦ˆ’%à¬_ñÞ³+îŽ#²€òa¢zÁÎYçI"1§r²ÊLÅ—Óµ9f¢´Ä¤¸98>ØR^€Ô̳ãlÕC=ñˆç{Vý)Ž{yÞóJCÓ-ɦáÕ” Í?$Š)+.§SíÓ&—L¬•X E \¬ÔXYØúB#ã$]eô7gDRn&¦í„½¸â׿þŒs-¹½ßqýîþãÇ3½©<àî>òòí@( ´$”xJs¥B*„ >bˆR¸\BL#%óàñ!#u5 )6«5‹ž<&†#»·ï½Nk;‚ƒcŒüæ0P³v¢) ™A©Êœ¡‚þäv¢ ¨²ž~E%”!,š³¥d¤PhÛ2ú ƒTоm¸¿=òío¾G]¯˜räºoØNK{ Íš”SC”ìJ 4§ã55#Š ˆmöy'WdÔ"(U"TC§ÔJt…ÃþÀÂ]_ã†SW¬©åH nÊXÙ`­¢)?U޳çX² ”ʸ’(R — ‰ø'åRˆ¹Ò4-R[Tª˜atè\ÙM3ŒjRZ-QÍŠ’±5H¸ˆ~¦º#ÇùBÒ©‘Ÿv,ÕŠ\ ¥€ó§ Ä*©Æà(ú:ˆ ¡Κc¶£ãË·óis•%F7X]yýò%°f'º‰iÐg Äœ2ËUÇ£+Í'/(EQ£„`IÁ°Ûyl»DÚ#G/0­aJ8¡ B†¨ ¡\šñJ"•À—„Ì•¤NUåâÙ5ÓçŸÒ.žr(ŽFi|ÊènͽØÝM\TΗ¤]&KXÌ”ÇXCu#‡êX%PÒ²§ìÿ¦éˆ~f¨‘1*’¨´¼än¹"WhÍ¢•µfâ93‰Õ©fJSý ¸VÎ6–7Ï!8þò“7l.žñêþH’'$1V|¬TN~C¡RÊp:—P+jXœ¯ÈE°…®T¦¡Ð®Ë »Ç€‹ŽÔ´(%¹°’é‘ÏÎhŒDÿݳGŒ1×–qö<îÎH% …äÒœz1Ç@T•µìht‹« [ÛŽËå†u³@fO re¾¯0,©RƒÐÔ¯·yjÑ”ªñ®â² iWlK˜2½^RL@ÖL$Ó·”X© ´¡ÖŠ’ŠÕjE=25ÆÓÙ§qûH•+–Lû‘ëgQQÝŠ!ÜÒ]j‚ÈØÒ¡Ÿ7ƒ5ÄÆð Ž\­6lÇ)d„Dm ¶eA¸‚‘š"%Ò<³»µOXnz´Iô+vÀ.9®ÎÖ¬bBæußÑ7†Ý~ éåÉ,‰# §4•’…m ÆàQJ2Î3¡+$ Ñ~m‰©a?8 kö Š%Œ;–£”¨‹Ž¬wü¿²(øö•“¡QIEND®B`‚pioneers-15.5/client/gtk/data/themes/Classic/field.png0000644000175000017500000000155011257440734017634 00000000000000‰PNG  IHDRëŠZgAMA† 1è–_IDATxÚ-ÓKr#E…Ñ/ë‘yK¥GÉ–Û6Í€` ØK`,‘½ÑÑ€šnÛi©¤ú3KR2€ù™÷ûo?Çé] ,;ÆÉpr[­´¿ùac–®X~zþŽãç½ìð*¿pëûða¨Ì;Àp`+“%:[¹šy²œ3¼û¿[cÇ.žLs‘ë(™(–^ܰÊR•ÿù H.~;Z·,OC°fLñKú›ü(j9‚î0G䈕³s·¹bœìZíÇK—ŠyÓ²Tñõ§cOvšI•(xð”|²oÑ×AI®£œ-kÑU+rÓØ¥!ÏVyKýÙip²Ã™9£Áµn:Öø¥ò8lÅ,1¯è®‡æN¾ˆ“åf$˜%æl¥`6¥…+!àj߆6DJEÕ¯«#€G´ä¡&)¨×°,FKîﻕ(gÎØ|Œ®yN‡]…VˆóUý W£ÎÌ,ß,;ùÄs]:»­ÊÄñüÆõù‡K¶2°œ43Ük»^v8Ì™ŒåÄ @(¢<…ŽÝýós¯î¾Vëaµ:¹n£¢0g@íUÁ ËB+@®s¾ÇŠÜQ~ Ñê[õÄl–bùÃR Šã$W«t'‡;dË')ÎÚÞTÙpß5„Z¡ëpS>ÃÍRM9«‡“S¯n}÷øÐG×Z|µCÒ¥ìmŽùÅÒC3¬¥p†…|aÕ)¬IUÔëàºá¡§[ ÑÎ(è´ñ½WòK#Š©Ã/¸N›Njp‹!ÜÌÞ¾|ua=£…• 3«©V놻õÓ¯ýiÝÔ-`…1¿_ê¦Ñ¢Ùh·X™5ãíVM_]’Óì²ÝêÆ_v«Ýý²þåǵ}›„òç¹T„Ö.7ú0rnN.—婨ïö.7‹fù¸Ü}ü8.Ÿª§‡-KíÇc<%R¥Í0t›ÿnK€èjæd ”iÌ.ñÓ§fØ=wþýÍåZí6*Äøn¥27*ˆí½Zª,ÜôžXm'œKǸÿós„µK26†x|·rì[5|¿†Gž”²ÊÍÞbŠ8^20Ìî_@tÄÑ€\ÿ-IEND®B`‚pioneers-15.5/client/gtk/data/themes/ccFlickr/0000755000175000017500000000000013252243610016250 500000000000000pioneers-15.5/client/gtk/data/themes/ccFlickr/wool.png0000644000175000017500000022357611346241564017705 00000000000000‰PNG  IHDRÅåã”3ÆbKGDÿÿÿ ½§“ pHYs  d_‘tIMEØ;ÅÉ_³ IDATxÚì½Y°¶k~Öõ»ïç~æç}ÞaÍß´÷îÝ»÷î¢¥R‰Ã‘& jØ i"6+T ‰… ¢ … ¥å‰e©¨˜`Á¤éa߸¾o­õŽÏ<܃ÏʧVi IOëôÕWµÖzß÷~¯çþ×uýá.¾®ñûÿÌ;îîSøÆ q÷|}âßü™O;Ĉg2ú¾çÕ«K~æîîÎãßžñƒ?þ1—Ïò<%ò2„ì÷[Ú¶&ŠCþпôwîÎåßñ/ÿÈC·X,X,ršõúšY2#NBúàŠýö†¦m¸ÿ`Á£‡ç$qHzØnvì÷R*?& c ¦ïG^^X,3¦¤C›!i2Ç95‚4‘ç9u]óêÕ%—/ŸQ×pt,ùìÇÞ%ËrÝ8°/v”MÉá°G©3âxFߌEAÀr1Ë$*02'"’ÏߥTw øÿ?ú“+«ãØ“ç3¤HŒt} ¢ÇÚ3Ž„‘sŽÈWH©0ÆóØn Ú¶ãhu†ïû$³S¤g¨Û5Æ6SQí¾Šè:Íúº$ËrŽQJÑ÷-×7ÏyqùO9î§'ŸžÇ * ÐÎÐt%uW±Ý­ùðÃ=÷." )%ù,ááǤ ôCÅ,9š:_ÖaŒc_îùãŸÿòݹßâÿ[üÈÏ|kÛŽ¡·~B’ÌHÔ9BZüÀ0ôÒ3xš¦#‹ª¶ u»ÅóËvs`$z„nèqVrqþ§§gXk²Ç £®©Ë†®5í‘&9QÑÈžY«9mÛÒ÷#A… }?Ðužç1šMÓ`̈” 兤ɂ8Z‚ó¨‡5qáû>ÃÐÑõ ZXkøâïúå»ó¿ÅÿsüØ_þ>çyç,uݰۖ5]Û3ÏO™/2æybÀšQ÷èÑ’% ÎeÄIH?”t] H”’Ä Â0áÕõKú~â2ÅqDy Fú¡¤m+<áø eÑ!9=;FzšQ—Ì)B'l·[´ÖXkÇ‘<Ï™ÍrÚ¶%Œ$ãØã°32ô¥"¢p†Ÿ~®ï{º®CJI†¯k˜B[~ê÷üí»ïÁ(¦ø7~úuG§ýÐN4 åÃ`¸¹Þqs½e³½&‰}ü–«Œ£UŽ/=œŒãÈrþ)º¾ÁóA`Œ£,:¬QDM»g½yIÛí‰b‰ò]×0 Yºd±8F`´ ‰C¤7Ò´;¬i™çoÑv5ÆŠbËn¿a6ËÈ󌪪‚éY|_bìH]×<Ò4'ð#Œq(¥pºv`4Ö‚-ã¨Ã!?õ{þæ0¾Añ§þÚoqÒ)6› ‡ú’ TD‘?Í ¼!ãàGC×Ô¡dÔ I¬P¾¤oZœ4U׿vƒµ–rq~P\_mXßìÉóî}œ r úq‹± ài›ŽW7%išóÆý‘D)U} M<âȱÙ^r´ú4a¢MGQìh»ë”DqÀa×!=‡8FÝq8ì0Æ…Jùœ>¤,KšºÇóB’xFÍP*Äó<¾ôôCž={Š'!KþÒ>w ø6‹òw§.ÏRNÏŽÉ’©<œ3X7âœCJ‰'Oñå–ahH’„¾7€ÆS`]OÓT8'‚Gè§4Mƒ³q4Cu[3Åäù‚_~È—¿üKå@Bž+¢8à¯þd#î@ñ­~;üç¿Ý ºd»¹¤¨n8==ÁŒ!ù<%ŽCš¶âååEQ“ÏVœœœ¡GKU´mIžÅÌó Ïói›õÕš«úŠ0ˆIÓœ¶iš?·$?eOÒ’¤]_²^_Ó ®m{HNèšÀ‹™§ÒŽô͆¦YÓw{~ù+MÓqÿþï}ò]ÂÐÇØ)%Æhü@ õ€kÆqDå…8'Ø®w¯ç"F;‡‚®Õ\\\ðÎ;ïb¨ÙÖ´]…!Æ Úfd¿/ø«²w ø‹ßü¯~ÊÕõù"ááÃNÏæH9p(nÒúKªªÄZM’FxžGUvìw%]§9¿XbuGûH ÎX‚ B ǨR®¯6ì÷J87¢m ¢§ÎŽ¢<Ÿ8žá¬ i´†Ž¢ØóxÓÓ–Y2ãíGãáùIäð¼)z®w ëõߘÍfh­ñ}Ÿ,Ëpα+ž`̈çI<ÏCIæ$ñ!<ÏQUu]3 EQ°Ûo† øä»xžÄ˜‘ 1F£˜ÏÎÑ#TmÇ}îoˆ;P|‹ÄÿäotÇ‹ ._¾`½¹¤k .Îxûã Bp†A‹Û6©AkÍv»å°¯ÉÒ9çç¸Zÿ]ƾa6KLSêÀ èÚkÁŸ}Š|¶@©I[]Všv‹P ÛÝCS2ËVÌÒcÒäˆ$IqNÓv%ÃØòáMÏû_}7ÀÑ|A(-G‹ÓÓA‡J>NXã¨ÿoT’€0 yüü»mÇJ¤”8ëYºÄ“1aСµÆýZÛ÷-mW3Ž#‰j',GG'Tµa³i8;ùa“,cšf’Ó~ñw}{¨þ¾%ßäýø{.ˆ|ŒÑ|øá0 xëû$±b ÒØ# <œ±*d ÂEHÄ)žtå?$ñÎ9š¾ÆS‚A·ÔMÒ1 »íšP2Kî3ËS‚hÄRaC2 û×íTø¨À@kÍ`4 ÃÐkºn@Š_ÅX+ˆÂŒããctc,xa„qß÷ج_²¹~ÎÍõ+.Þ<§¯H×=UÙamÄ|ùˆl~ ¦"Ër|?$McƱçêú9ˆ‘lq<;£(v cE ¤EqàúúšýþÀo|‚Gß&ŽVûžº®ùƒ¿û¿w ø&‰ëÏ~Ÿ«ê–ýaK¤i "¦ZNVK‚û5z¨ñ• ŽCü4Åj A …ãP¬††¦ù|N2Kæ«iš$ô}OQ=asÝS‚8ŽYÇÌñ$/õSœ ‚IsQT%ý8†!q#”‡ÏdXÐ4 ÖBψÂOFø*¢ï=~¾j Ó„‹{gØ¡CºgGíKѺ£ëÛiÞ1 4Mƒ!«åé4µ×–4KÂp(Öü¾ßñ­É§ú–xSþ¿ü§\Ó¬‘8<êºÆÞÒ±£Ø£ë:|O¢M‡Ž<‹1f¤i*´°X#ð½I-¬Ãó$}WÑõ ~àœC;ðUˆðÊóñü€ªªÝû4•£k<ôè°nÄóóùŠåâgìÿ5<zÓ ypÿ-ù}çX¯×¬7¯ð”æätÁa¿Çº–0˜Í=<åhšgÒd#ÄZ Ö ”"ŽB~ÿüOâ¿Eô_þ.·Ý®Ùܼ"N|–‹c ÂŒ“†!Zqrü€(Êé{C×÷“¾À»§°Nb\@š.2¡ óüc,E±£*oÈf>q¤MediÎõÕ<ÏÃ8Á8ZŒ…Ë׬·;îݻǻo7EuIÝ^#¥Ä÷H!GšæŠår‰ïû”uE?¯m2›¾£mzp>I¼$ôs†a@›ÏRC;0ZËù½7 ¢”ívÏ“?B:‹'ÀEŽ‹“sòx†¦Ú¥í:Ê®a°šÈ?g±Xét3Ô5ÚtX׳^_SÖ׬–¤ñ1i²b±X`Ì@Ý®AŒÜ;?f³}EQÞ |K‡àCZ;–‹3œs˜q`» ¾$ðàw~sÞß/ú÷þ»o»0Piº)A CUUD2%Ï—Œ: ôsfù R ÅÔÕ)~žºíµÀr’dÅ¡XoJV«VËs¤§iÚ-¾1ºg»ÝãÉ€,™“D«t4k!ËgÜ\oxòì)GG'$þx{𠪪âÙ“ ›uÍb‘ñƛܻ8`Gúq@ÜÙÆq¤ljöû-/žmˆÃÞûÄw1ŸÏ9”¯¨ÛW [îÍŽh{Ãlq‚ ¤ðéꆾ®xõâ.K9ÊIüˆ$N‘ʧì*ª®¥,zf³œq˜!=ÇñIN ž>ûË—Rzv›žÅüŒO}ò;XÍ0®ÂS–À7X«Ah„¸¥Áx>8…Ö–¶ˆãOB]W´M…R’Ež‘¦1R¬ùÜoý?Ä(þ>Åçâ]gí!J87µ>}2 Ö+ÃÐ[â(g–­"D©ˆ|¶ Ók¬µ”eÉ~¿'ôèøÚWŸp}]qœ+¾ãÓ¿Ž‡>ŽÑ‚®¯ÆÆ• [œ˜¬ò¥ò(Ë©Ëå‡Öšú°e¿k8ZÝ#M¼xñ”ÑÌæÐ'G^»}!€‰þ= “ ÂÐ÷#ë›eÑ…³Ùœ$Iˆã/´,f9Ab-`f´SCÀB /0ÆqØ—DQÂÅÅeµãùó'ix±¯xòä Ã0é/öû‘Ï|æm>ýéOOívÛ‚¿âý¯õ|ì„ïýÞ_PuÄ1ÝlIì㜡­'—C)¦agÙl¨Š‘ÀŸsrôˆ(œM5K’ÏR1§n׌fÏçû7‡òïòEþ‰ÿät¿2µû‘q‘R ¤¡ï[´é±VcŒÁ $Î œõð¼A@ÛôhˆãÚ´\^>gµZqrr‚µßÁytÝÀØ–DáŒYvLš,°ÖP5úaZŠº›kžsÐö†®FC–͸w¶`/ž_ÓuišN3ޱà7çÜëX’$xžGß÷ô}OÓ–·únEßôè9©ö’„õá)JL³ ÏS¤q‚’ÓP)…@0ôv –¢ÜRUü@°)G®®®(Ë¥m«yôè‚û÷ïÇóF[ª¦åÅó—hzâÄc°i0KÏI’„$òi»šÃnµš(ô§îié[‹ÑYrBÏéº!àèxɰ·$™GÓÝàhø#¿çß~çê~ñÏÖ ÆL-Ál“Ç÷q„°Œº¦¬¶t}ÂmÔm;ÑG Ð£œ¬_¬$ cV‹./Ÿ#„`¾˜Eáí_³, ÊâšϯiËéñCÎÏÏQ¾ ª·”ÕNgkã(Ñ£ í-Å¡a4³ =z“0ŒÙn·´Mðºí™¤1MÝRUÕ-ß("Ïsò<' Cªª˜HxfJMâ8Å“>}?Ð÷=*-AO#¥ïÓ·“Á”’ݶÁYA'äù)ÁMB’FŒ: ï§ItLÿ†i𨔙‰œ˜eÚöå†mù’ºÙ"=ƒ/Îɲ„$Ú–¢Ü"°(5­ ã„(LÙ¬+¶ëšY6QYºn¢—ôÃ;ï¾AšIºa²õñUÌ~îÄ(þ_âGÿâw;k$Öjú¡bГYXM¡( h»†Ãaè{œ3«±v²”ñdˆŠÀˆ¢„Ô_✸åA+º®æå«gôCÃÃG§\¾¸âÙÓkvÛŠ(Ìxó­GœŸŸ"Ü> ©{êfÀŸ4=âäøùâ”8ÊøÒ—~Žª*8==åâ₺ê8júÎrØ×Ì–Y–Ç ÎN3 €(J‚§G<%Çž¦™øH¾Ç)Q˜PôáKoêðËÐõ¯‰ÏŸÝp8”èÑ1ŸÏY,„‘"Ž}Ò," ŽÑZ³ßOi¨µvâRYKÇ<}rIžç$Y<©¥eÔ-»bËõÍ%’ß÷ˆ q$iˆÀRUÝ Èóm£Ù¬§[wµüà1}G«#‹%eÑruuÅÕ Í'ÞMùÌgßayÑ´Sã gSJvØ!B‚R’yžÄ!Zh­ÑƒÏùùTlïwÅ4ü %M{ ë”8¦ï{¶Û-UUq8X,¤iŠïûä3ê*ù 8Øå'déÜ0Ž#8 ‚›hêXMÓT οm`(/àÉãK^½ÜøI<ÇÑÝÖ2“ZñÓŸþ4ççç¯iìzüìÏþ,_ùÊšç?ÿ‘¹|]^ÄþÔw;¥yžã¬‡±=]_Ó4“Ðe>_’e9‰qº¶g·;0ކ,Ç)oz¢Ž“ÿWºS8ANš²,ùêã_âìôš#ˆX-9k>|üw‰bÉ[çI’ˆ8Ž@è׆dqœ¢M;9aô#NL7‘u­-‡Ã|vÏ XÌOñUDYЦEª‘a¬YïwcÙ¬w\^^S•=ùlŽ{÷Y.ŽøÛ?ÿ „,}²™GM>Paa´Àº §5M[aLO(ÏMfÎÑõ%I’áÉ€aГ¶B§ÜT‡9}ßs}}MÓ4ô}Ïéé)'''œžžòêé+@“ÏST¨R²?4¬¯Kæó#VG3„pdYB–Æi‘hœ3ŒãHg$›Í e5¹Š”EOèÏ9=yÄåp(Ég+ÎÎÎ麖õæ]_ãœauòîÄîmš×+Ä”šê°³³3æòŒ/³;¼b_Ýç~±ßÕ¬V§tu€µšl–²˜§xž;"„gОë&bèûž——ž=¹F¸”³Ó‡ôîŠW¯nðUL× l7-ÆÂg>ó&<À‰IVû+À™j±Žë«¿üßñ- Š?úWþ 7t=MU …e‘‡ô}ÁógÙnJæó9§§ÇŸ8Ê ƒÃ`¦ÿ³!Æ´TõkJŒ«¨›=ùâ;˜ÍoÉy{ÃЇ„ñ ÏïhºÔØàS*u}}EÓT¤YÌr9'Žc®Ëø~È"“ÏRâÀaÇ=ý°Æè ÏŸ¸@U½í­…3$)//7¼¼zLq¨16àôôgççÌò(º# ¾Š‘Χ8T }ËÓg ÇiñÖ›]G iÿöµ^s8|ùK5]«GÃbñÞ§ð‰w?NÌ©KPr‹s†8Q4mAY¯xR(£®kŽW§|êݾ莬 IDAT÷8=9ÛÓw%£îQžC©éImíd¿…O7ÆàãKåK´îhÛÚÔøj@z†Î¤l6× %§Goǧ =Œ®B=º(ÑzÀX1=ÆipN£ÍÀ/¾C±oÀÀý³#>8cžù@ƒ±¾w†Hú¡¦ijú~ Žæ,æ'tí¤+¨Ê–¢P^Èbµ$ŽênÏn¿&É>Eä‡H1Ùß-t}‰+Œí8¿Xb̺®¯ñ<çyxÞd·³ÙHbÚFs(ÖŒ¦"ÏsVóG$Ñ Uñ‡åèhNû·ƒBÁ8Ló޶‘B±X,‚€¢ÜÒ ž²h=pùø1I±XäDÑ´RÅvSðÑGO Nnב¥ÔU‹’’Õò£5mÛ2_Xª²§©žŒxï½÷Èç1>þeF]–¾ÓBÂ0A 5Ýè¶§ëZ¬ÌP¾GM©[Uö ½G–œ1ŸÒŒ5›õüóÿø¦ÅÿGÿ°+5µŽ8l ªª# g$ðE±§ª_¢u‡uãíò­-Ö€R¾¸‡çyø¾‡’ …FÛš¦Ýí)‡Ž0š~f¿ñÄŠ‹‹·ˆbɶxED·«±Àó`ÔÓðoªº`PUÕ€,f9iá¡Qž%N|Ú”ÏDuÀÞÞJ…TeÇnƒ³‚~t ƒ!Ðfàz}ÍÕÕÈG€ò M§Çg|ö³ßÉbEŠ ”´Ãž÷+.䓆£ï{¤„$I0b`>;ÇW ûýäe4dÉ=fÉ=<rýK’ß÷†IWËÅ W¯ž…)óùrJ)Ë Ž† uCßt´mƒµH´v̲%Q8£*;>ºüˆ—/oˆ¢€{gçADßvÌfs>ùÉOr³þžŒÙ¬ ¾òåɲ”÷>ù1ÒL'ŠÀOÑz¢ÛãÎM)*ÂÒ÷-=}FšEdÙTÓá³ì˜@Í©«]Ùø‚Å2Åê–þmM|Óâýåßà”RtmKß”f¹«å Æ8º®c¹JX¬Úíèúž ˜Ïs”’ ÃdÝÓw= ‚ æÐm§!›±X¬ð„œ6¸Ö iš²:ޱF’esö»Éa¹ÊH3Ÿ¾oÚ„$ÉHâeÙòâÅ Ú¶&Ÿ'äùŒm1 m9¶ ÃÀéÉCó3úβٷ¼xþ„ „ì!Î>üà}þ³?¹ßð øÃî{\×¶"‰ÃÛ4@r³}…ò"ó”ÊøÊW>àá+(ŸüäÇyïwðbDÈé9¶Û-—/^Q%qð<âââ>V;öö}ŒÝ’(L ƒÖxx2"Žfø~È®¸z½»ÚêIP¤T@Ä(/Ày›ITc FOSg„e{ŒQJÑu½ñý8™R?}+6 “õúš›õÅ~ƒ”pØX,f¼õÆ›8RÄqFgŒº¥ªX;d ÆI¸D‡ðá„ËØ–ÐuÊ—Œƒa»-X_À…Ü»xÄÉü¾ïßvÕ<_#½ž(1¬ŽSÊý´– ¦|>_¢¼£!ênÇáp m:ô8G)ËÅâõŽ8ñyùòåk‰­1š(V“©t]¢‡Æ8’8'I2†¡£ª º®b[ÒY2¹ªDŽ®¯yúä97×{Æ,[1_ƒ»5¸v=žçúž›ë ÿñOýêìÞø{þ¥?ð…™»¸¸ÏÉÑ9¾ #}[Ѷ%#eÑÒµßOAL}í²© BÅ'ßúÇ'K”u] ¤# bŠ¢æêÕ ?÷·s´Ì¸wïžTÌ󜋳cœQ¾‡ÒXYߺ]ä ½cÐ=a$iÚûkËÅémZ0Òµ¥B²L†>BZš¾a ¾?9é…aŠtçÄÔŠ5鉩¶éJ¤ç¦4Ï— }7‚ô&m¶ z‹ˆvxž@0P×a Ùn÷Œ½Fy>óŇŽÃ¾ÃW «å1A(q xÊ¢Ô Pà$Ú–Ôí+ú¡!Ps²ô˜0žd¤âV5†Íºäæf‹'C7ðâÅsfyÈ'Þ} OYÖ›W ³YÊ›>Æ8NuVúÓNï0ÆhA]7Äi<ñ¦¤GFÊg åþ€sŽ8á0xžÀ$JÁ0vt];=åŠÍf‡5bÒº'´i†Žë›-#JyHé‹P2# süDáìä½ë{O9°S½d-<þõßñ߉oPüØ_ú§]?|•8NðUÊÐMÌÏ(©'Ž’µäó]§¹YQHœ&\o®yúü ÇÙ’““#‹ùÄqÂ#ËæX#ÙïJž½|Æ‹/©‹‘²„ùÌãÍ7M¼¨4áÞÙÇñÆ}ùœª)ðU¡ìhš’åqÆùÙ´m;¥:ÂÃ÷C‡ÛÍ€·î¿Á0¶hSãùf1A”à¬b Õ¾¾ÜÂÇWù|†8Ú®À m:Ò,A…ÓQ7=VûøAޝúñéY,-C_±XäôíÀЛ©‘ Zv›†ÍMƒ)³,Gù':üÂhI rÒ4Ç,ݰ£m[|oA–œ¢œ`ûÛ&ÂH†xÒg,Q#ÅŠŸý¹¿Áîð‚·Þ¾Ç½{§(á¬ÂYuK4„a¬è‡ éM7Hœs í$ò<Ÿº¬Br´X¢T0Gˆã`Je]OJÀÜ/}ºaº1‡A³Ûí¸¾~…†ϸwUÛsuõòvî³"O© Ëaß2È ÷ï' «„€Y–¡”âúê†(ôÝHßY~⇿"¾n ø“ýŸuã0åÒ{‚ïGø*Å m¢@ MËn{ÅûÝoq|¦ÀˆãŒÝ¡æpذ;!Ë2>÷[ÿœøUÅÿýïsÆV·k«²iŸ›)™/Ú}‹£Ã‰lˆd>ÙÊ›m+<åHâì6/ŸØ¬ë›‡CIÇ,ç«©uvk%³ù _…Ê— ,-Mßv e™Ÿ1KryÖÓVҦ鸺º" cNNNÂà #Úv2*˜R)%EQ0 M§(c–-¾©ª†õzËÑâmKÒÙ$nzG(æË©:ªíÄAòU8u‹0 êfu=ž«õv>ÖHä-ãUëi*¬ÂøVÍ&‘·žK£žˆŽ›Ý@]·“ÆBE¤ÉOás´:aÐW×ÏyqùuµÆ¡±zr ¼€ÈÏ9¿8âä4'N%B8ʲf}sయǞYžrrrDžg UU°Ù^³ÛíðüÌfsÒxâJ…J!=MI²,Â艖î)1#}ßá˜ôéÆŒ8—Òu Ûí–,ËùÔ'¿“Õòœ®uOŸ}ÄõõõDßÍ8==Fù°ßo°n`ž1ê?àvÕr5=ÐTˆRН¾J–œ'ì·ævµÁŠ'OßçåËgüõ?³ßAñÿéovu»¡¬o8^=À÷ÊjðZ|/fÔýЀóIã’xÁ8¶TÍ º¯nm%ίb„ðÈi·‚[Å>ýPÓvM3¹kDaB:ËÑ£ I}¢ÐÆP—%»õ)"” 9>Ïnµ>ž7Í+’$!ð#ªª¢(Œ1("NŠ5Í0v·–.>Q8G¸%çDá´®,ü¯?û7Y¯ŸþŸ¤½IŒoYžßõ9Ãñ¦|™UYU]mWÛí =¡^ÀŠ…Þ€dy‡ÄŽ òµÅ‚U»…h˜ƒM{ƒ#YX–%„ŒÕv㦫*«*3ßóºó½g`qnFu/@(wO©÷"þÿ{Îýý¾#“xùjÉ~ðË\œ}<ýn8°Y¼œuRÆöŒSƒ±M€;µ#™Ð4=Õ©G«˜åª Q•ÞÒtÁEŠ$‰ðXº® •›øâË{únÄû {1ÆRW=ÖzÎÏ.xùê»”‹©'ÌTa]Ç4 c7û0z’$áìlûDàÅq‚÷A©DN×u q¬‘Ê!ô}Ëñxä'_ÞG9iR²^¬æWÊ‘e Æœž¼RD*‰3ú¾Z¨ö‘óósêæÄõõ5Z¥A(è4‚„õòŠª>©Â=Ïóð}ÊcG”’$©Âû‰®o1“EˆgaWÿSªÓHSyÞ¿¾ûÝO)9Î<ܾe¿÷»Füÿ>ÿéÿWü—_ýŒ»‡G^¾Þ’å5{A–D‰Cª­7Ow¡”¤ÈÓsÎÏ^°\¥èØRoH’ ¼¤®ºÙ˜³áÙ³KV« ÇÉr•1ŒFS‘;9އ c*N©«u³c»Ý„"”h%Ó:ÝÓ¶¡ÅL!iš3 ···ì ‹EÁ‹WèHÑ4ÃØÐ÷Á¤óp¼§o‘<ãåóïá]Ä8ެÖ“i©Žo9Vw€áâüg›OѲ i4펟üø+6› Ÿ~ú†Å21a]q iÒ”LzGÛD:a±X ¤§ï;º™¬sΠ#Ê%͈dž±Q.I’)B BÓtö!þ?I2t¼f³]€˜¨NwL¦%‰!N‘XÓ„(_g+” ûBÐAY¤H¿çý\^3Ça¼|||$_­B†•UÁî[,qÞ0t-ÎF2¬´Jˆ¢$Œˆ"ÂZµ–ýé«õ‚Å¢¤ª*>|øHSO4uÏý]Ë«—ŸÓ´ÁåxyyÆÕógùkd€…# œ7ô}GßXØs!ýCoÉÒ%‡}Ç÷·Ä‰f»]²X–øA°Û8œ’¸àïþ'·âÿó¡øë¿û/x­a±ÌÇ7×,VšÕ:EʈÓaÈF&z`U~¡F¬k©«ýcO]÷HeÈ Év•Ç1JEŒƒclXXÓbÖçÄTõ‘ýðië–?ûKÿ"Ÿ¿ù%ú:bèàÃñ÷©›‡ã-y±=?c½º`³¾DÉ”qº@Ê3ôãì â§S1&$ O×·OYUUˆdâæúÈØ¥\=û6Ze8g¸¼Ú’«…`Oœªmm±SŽq,É bh¼§,K¢H¡´Å‹ŽqªBLþ ‰tJ¤3” ï=mwât:Ñu-BxâDSQ¤qÞ`LP¢V=¤iXóa¤mú§ß)Š"îwgl·kb-j ŽBWÅØ·4Õ‰²XS–+²t’1ýÐÑ÷¡<&ŠÅ<ΆaÀ{Çb±£â8"£p¨ÇÁ3õ)58?½ÆíŸvž,+‰£¼&Žò9Ôq<îƒrW)û#M3 UŠ@s8¶O;NÕ#Û³’W/?Aë”H•œm¯è»†¾o1v ÏSÖë-‘NGš™ìÇã‘, ’ªª@8´V᩟}ö-²²àÇÜÜ}äwÿýÿ]ü¿>ëïý›Þ˜‰ã鑦=ËævEÕÜalÇ¢Ü É1ÚîÈÍÝ—dÉ'¤¹§\$dÙ;EëO /ÎOt]ÏÐO(•Ä)RÆtí@UÕÜÞÿ”¶®¹¿ñ<Ûnù+ÿÚ¿Ã_üõúKܰàËãÿÌÝã[¾øòslÞ"£{„‚º®YFÁY–$I0º$ mºª“$!Ž5‡CÉi¹$ÏCfÔ8ކÜÝxûÕ=w·G’8åÛŸ‹O?}E–ǸΧžÉÔt­¡­=§S‹g`±ÔœN§ùïØlV¼xqÅr•Ñ¡q¨ÌW5§cO׎€d±X°Ý®I³˜÷ïß›iÇš(_¦÷!nsrÁŠ: B„J±ÝãáiZŠ1&8õ¢xŽ5 &úö„·’4ŸÄA,(f3VJ×UóôDQ4WùYޝ©Ú#Z%Lƒc q4{³ûšaèXŸ‡Œ«a˜Hâ­Rºn/‰¢„®7œmˆbAÛÖ3˜á˜Æ°Sè,!I"º.Œ¹]×ñáà ‚ˆW¯^ÓŸ&NÕŽãi‡”ŽËËK®®^°ÙœQ ”̆Gw]EÛ5(åÉ‹€¢Ù¦@©ˆvè¹¾~ÏõÝ{œïXm3þËÿà­ø<ÿÅÿð×ü8†”‰ðÅxÍ{ƒNi&¬»ø—ØœÅLvOÓÃØ'-Mw‹ñGòø»8+X”gÄq†wAÜ7N=yžÒv?Á5’¶ HRÇäyŠž,^Ì‹eh9 ð¥Âûð&kL5[cwô}ÿ¤Öu÷<áý»ŽÏÏø³ú׈£­Ec§Ž¢€¶Y3Ú=Uµ'MK”ÈC¬ÎÑquõ‚$ !gYVÌÐáMœŒi(¤q†ahh›G„4,Í"pêº}J™¦ééÍ4s‹e†”‚Ãá0;$c‡£“¤ñ‚¶ñ ½#MJ^¾ºäÅ‹KƩŶyÓõ?ÐõGê¦âãÇ[îï@:Ír•±Ù–¼|uÎbqÿpÇ0t\^^RxÉhÖHÔL:vCKÝTŒmÁáøÈ÷;?—Œˆ¿õ?ý5ïœa2q¬hÚ#‡ã#y“f1qno²Š¾‰hfʾ'Žsb½T°HšëÛÐêcZ‡ð¬i á¼BZ¬ƆÍê[c˜¦q野¦i¨ë]×Ñ·žÅ"âââ‚¢(ž>øoÅ¢ø%iš'’qìiÛ3Ag¤IŽ›f•¬'N$MÓp:ÕÄQÊz½áf·£i:¼,›@ž¡ð^"„àíÛ·H)¹ººâü<ÀÇÞÖwGºîcøþ˜ UJÍÍÍÍ|û¶ùŠåâ %cÚ®¡ªq¾#NÛí¯²]=ÃLŠ©ŸHRÍ4í醲”ñº§ëOLƒ$‰¯rÁÐOX7Põ×|¸þû†¦†¢(H³˜WŸ®8¿ÔÄcŒ”šHç,‹ Ód™† Á¨«#?ýðø” òêù+Š·ôC±=I¢IÒhNËë™FK¹Ièº.Œ5:5NÁnê¤YÂýý=Ö†q"Mc–Ë%iÏc‚i1vdš‡“y| ö§Ÿ|†@ÏûTŽRa25Î\_gœm®¸º|M™• CC×=ÒOôÃ1h¤â)&EF=CÊãhÇéôÃçšnDøœ¶‚?àž?Âúàk¤¤(´–ÄåKöû=m} Ÿc’²Z/nnn€–(EŠÁ¡äq~Àù'E–‡ÏËxм$R1ÆÌ‡óX×…hM› Å&£z¢êP>2g8UîwÔuOß…ƒuÿqG±Ð¼z}Æ'Ÿ^Ê6ÆûmWж5I¡X7¡”‚œÈÒï‚Ý-u óãéky<2Þ{ÄßøÏ~Óçy3Q” q,2I77_==A,ŠÉ1› i’S–+´ŠgýO…sQ¬È²ÕLœ5>,ZS;÷8x’${:Þ‡\GrV®ZšÊ>½B>’}"à¦iÂÉf>h |`KÍëE0ÿÇy‡do;Ì£€ÆûP“U×óKSb­§kŽÇÇcHø§–³³3^¿~…”’ë›4MÃjµ ,K–‹‹9KÉ£”Ÿ‚¥µ !‘Œúк.¼ 3¡•‰ÝÉ«„,]’% E‘pqQ õÈþpÃ"{AÛ?rªwt­ÁÙEöŒ¬,²ßç ì‡)ì-N¤1`0Z¡UL[· ƒ%R’$ˆµ ïkÛï#œG*ÇÝí5?¾#Mç[ʲ1ཛྷU± ÎYªêÈnêËçççh$ó±Ò!„ÂÏ£á÷캆››š»Û­r–ëOlËOI³˜,KHÓxæO¦ŽÍ1cÃÍí{†1„³e¹BëoP˺ @KšÅ¡ºllg "ýœ8N°f¢Z®ooøÿÿàq·ãâ윋‹sÊ2C*‡z´‚aœG^$B„Ëjš üM3 e„*,âi‚V?ÿg|G?œÂ÷êÂ$Ðv;·`§jÏñxÏ4õ(-ÿ4¢.á°\\œQag·Õš¶=N&Vô}µ#YƒðŒÓÀ8)†Á1Ï0ªªËà¡Ñ IDAT£ªZŒDQÁf½%Mdi‰RÖã?ÿó>Ïó¶gF„Ov»€|ë[/žÆ–ðL4Mˆ‚Y,HN¢'0Éáï‚¡ûÇ×o?†`ârÁÕå –Ë%ÎOŒSÐ-Q<-eãnRë¦Yú H“‹¹úêç ¥TH²è{´Æz©lXP±4uÇéÔ2ô#ûÝ#Ï.·”eFši‹ïCo‰ã„~˜žû4MX°ø$Iæ1mzê¬ #Òôt`½÷NG"³^oñNÍ€žÄÙ0æ ÃñéïwÎ1¡˜¥ïG¦ÑÒög|öæS‹ÓИˆ´aÂÒô·ÔÍ=½91޾OH¢ ‹ÕAW'œmX­K¼´t}ÃáÐñö«{®?î¸ýøc’Dòë¿òk|ÿû¿@מè†Yª@ï"Þ¿‹u#EñìrËùv–\;!¢ôIgv?‹³>T[O–ç¡f ©°n$‰4:\ÐpYÑÓ§91qƒ³ Ì£©èÍ‘E²a;š&ü?Ûí–,+‘"&Ò)¸°ÿ.—!‘ýT°6ì J)"=>eYI¤2Ó4W7GR_‘ç%YVÐ6wwÔõ‰,Ë(Êœ"û¹ý÷›ïHü»¿ý¹þÜ4`ûi“¾I’»þøŽÅbñôÁÄqÒu E±Þ,0ã@ÛÕ8•ÎŽÀ´÷½ÁY1ÔtfDáCô°8?0l“úሥ&q´a3œUèØBÔ‘JŒGux›DQ‚D„ADØu=E¾™ïiQUGÆ©eQêù¢R(=¡_§S8d§&&ÏV\œ¿¢ÈÏh›Ž¶;2šŠ¶;²*3š¦ åžóáÓR Ó Ža‚TÁZŒ¸¼¼|zX¤”3|¨¾cè3cÛpSÄŠH§L£ kGò,72މÂΔ8ŠQJðÙ›l~èü“kÌH?„Û9ÍžDx•WUõTÑE›åó ÙÁ3¶áíé„4_1­§àëfÀ¹qÖyI¢8ÆÚ OH“ÛÍ3г„/~üG ƒÅɨ /Œç7T8üQ±‰S–Ë”®qìñÊðüyC[Ãá±b×`}KVö þÃÿ꾪ªð6ÖZ¬µ”eIŒãø»(„T:°^¯iKÖ›œ$•t³ \«ð‹ Úñ¥ÂéB´UêÜÂcÍÇæ ri­5B~󪞦h6òÿuú­ ëq@ž”óè“Ä%øˆ¡·h ñAèææQÍS× ÇCE]éÉó騵fºÅPäéÅ,SQ!¿ÖZêºâþþžý~Ïоâͧ¯øü;¯9V1îˆP=Qìp~âæãíò á¡© Þ¦déŠ8}âÌÉ …†¶;q<ìæ¾”vØ¡¢#”LPjI×8š¾A*‹è~†’çÄêÛÍ3v§[îîßñåW7ô\\ü2ÏŸ?ç³OßÐ'êêž¼h=2N ~þ=û~ ÑQø#›Í†Žã&ñ6ÄœBuSH‘¥ öÍñIÅl¦éK=!dP#]Õ§#Nìçê´%΄‹Ô+‡v眎M0u%)C;Ç$Å <h UÕ ­yÿþ+†.¯^±Î· GG×5X!ÈÔš<]qq¶âÁïxÿvÏ0ÜSK...gC¹ 7¸˜():Ž©›–¾íh§·äÙŠ,)¹¹~‡R×¼~sF{ý)y¶ )cÍÐîìФàêÕkŒm˜L…X‡a÷Ø=V(ñehMtRƤñ&(7…¦(@)‰wžÉNŒÃˆÇ°(«UA™dÜßßr{÷OÏzS ”b G©£(3ÎÎ7hÞ2ÞyÎΗ<~I;í9–"òl¢¬Èsža¨ëšÝáÈáxĹÙôä_üè§“eáòٖׯ_S.b²\³Ù.ɲ‚¦î9ï‘:HâyBG’z$ð3QÚ‰ÖNdYÎv¹¢¿xÀ8q5Sgñ""mRIœuì»”eŽÖ¡jùãõ McX-7œ]\²,ý̰û¹SàeÊ›×Ï9Û^!Ü>hšúÆXÒ$\n¦ }ÜIr±ˆQ–õf‰”’aˆý¯C•v(í¦»ý5ÖuˆhLo?þ„©Ï¸zö9ÛÍ‹ygè金åÒ3N}û¥B)ƒ™,Ö¨Ô‘ÆŽ³ó%uªŒ)ÛE‰T>ŒÿÀîñÐ,òsÄô{ÉöMhÑÉÄiÄÃî§êžls¹ú6ÓtKe±ÁYÉ4‚Rq”ÒM_sss²@­e¹ZÌžë5IqwýžåbâÜâ½`{âÄ£¢‰~8q8Õ”ÅÓ(q~u¢ëƒ3¯,VÔ§ŒÉÔHmÂ"%ƒZkM?4<ì¾À;"&M”E€Ø¬…¡ŸQüZ"uDSÜÞh‹T ß~óI à̈1ýœ%q> qͱ †þLÍ!j­cŠ|AžàÎØï÷!yüñ‘ëëk¼÷\]]±Ùl@T,—¡‰hGúâLâŒ|Q"]ÄW_}Å—_~2l…eœ:’..Ö<þ)CMš/I“œcu¢i+²,Á5‹E0)æè¦©IÓ8ü™LgÄHO†$I€Åí‘„Eט /ÆyÆÁ†œ(eèîèûž~œ(ò%ËÕ%MkyûÕ=·÷G~ã×€dDêž86(íÀ{œ áÞÅOäjÛ¶|øðq Ÿm]×”ú;¼þä9Û³ç; :6Û2Œ-ÕiÉÇwmàJ"Éb³Zk‚c¤žÐ’t‰÷)]7àiÉ–¦ï$ÓèÇp¡fyŠRa‡ý†ùòË/¹½½„ì¯ýfò[mW³ßï8UG²<áòꜢȧ‘8Îh».Hâ„irHq~~ÅåÕsÒ,¦(X?Ñ '<* qóòü3´Ê>"Ö Yši³–qY­ÞÅωå3òô‚EñŒ"}F$/n˲HˆTÀ¡ÓTG ¡äÜE¡È‹ øœ&Ç4:”ŒIÓœ~¸ãææa‰âˆ<ÏH’˜ºþHÓž8ƒ?[bÐ9C×5(œRÈ™/ÑH%ˆb˜¦œBÈP&¤Ày‹’,Ï)%Z†83ÆÑ"Q$:e»^òæå þðŸÿÁl¨ºÁÚ6,Î*&K <ž‡‡{Ú6Ô¢˜ÇÙ$BkÅõõ[Þ¾û’‡Çw,Ï.^¢åбKñf‰R%W—Ÿð ßû–«‚Çý;ާŠÕÄæ,b‘_’e1e¹¤,ΉãÆXšvDZ¹g‘¯±Î0ŒÁ¸5Žã\bÓÞáËeÁf»b½^EñÛçÏùÕr÷ŠÝþ4w„…zrOÛtŒ£ãá~ÏÏ~ú‘¶/.xýê Ûí–ÍvÒ†~Î/cz¥¤&סv*Ë‚éÚ.H@ŒG·yHº(öD‘fÕÑp¾)ÒÑ ºñHœ@’e ’ ]OOÜ…s3¹?Û¦x9ѵÓäˆâ<¸ÂfÍã~ÇÐì¹¼|Îjµš@²MS`íó8áž4OÎâϺû$t‡w¥+–‹ b½Â»˜qðA‘›Ô¡»»®§‰(I©«–‡‡Œw¼XŸqyyÁr•áŸnÈ®k°ÖÒŽ ´NÐ*åpjÂÙ[Ö›’g¹\ÒuCÔËñ;¿÷«><ôedùbÎ=u8$£9>‰èÚ¶§ïÆàúŠ36› C/yöìe™£4³ÑÆaçdêØº'Tš¦?‡_] Yót di¨¦rΰXlXä¯ÑbMÜÎÅÅ9ípäËwÀ¡GRxÒ<{ÒùKÞLáïèºç JKÆÉÌÙ´!s Nø i+6å’4ÍçE+zQ”0‡PÂ>i·‚dÂù˜Ô=MÓÑwRê§"¥‚ÜZ M‡"w¤"Í2º®I…‘&õç&Æ©F*K^$3?"ˆtÂ` ®?ÞÒuá@)¥PQH#©ê=¹V3Ç"X.—diÐ!9ç躡ӬV«p „Ǻ ^NÒ`)í*Æ0Fö§ŽÕif’·dEÉáá)u‘EZ„‡¾cš¶—ÏAL@‹g$RÁà¥eèôÄOÜÁ7(â7Ï@’$8Íé‹!±ñÝ»ÜÞÞ²\¬yùò%ËÍ’ëëë'é|ÿ’˹¿¤ªw´ÝDBž]„Ñ=s ®bh J_Ï7!%cªSÏã㞦©X­6AÇ·> ƨßþÛ¿â­µa´B&‚Ì ŽZUUpk Çn·czž={Æ¢<¯0“DëˆÕjIšIúáHÓˆ}ù¤“Š¢`UL’"([Iµ4Mô,¾ek”ÌÙ.¿Ëë¿ÄŸzñ›dåŠÑtüÑOþ¿ÿ£¿Ç¾ù252MÖ4MCÓVs*¸@ÈïJ)ñÂG9‚˜aœ 5-ƒÅhœãnV!ÂÃøw!KB_´5Bèp“ÈðpY; ]€ƒ¥² ŒmÆš~81™ÁÙ“ç)°ŽW5ÈHóæòÓÐÍÑÊ—Lã¼'åÁ{0'dø·tð»Lf`ÿ“§¿? 8sÁå4Q× 7z.Î/ÙnÃEŠqêfu„5kCw·ó^a M=Pw=‘à$v”iÉåÅ3Š,¦i÷´Í —¦äi$;6„V+!æKJâ¦ü Jÿ†öÞ?ueåÙ“G‚oܺiVX¤yC–Òqœjªú@ÛhšŠº®yñâû´ý=Ö×x$Î¥¡Øs™#c Vp8<2N5å2HFÌ’e¤Œiû»«g>΢îÑ÷#§ª™‹ W<>Ôüè‹“¦ç(¥‰£JƒwG¦ÑÇ ]ä¸èZÏzyÅ¢¸ Ò usäá~‡Pï9;;#Y¬xx¸áËŸ½ÇŒŠ—/¾Åå³—¨f,ך|‘’f ûÇ–›ë=eÒcÖ Þß´  Q¯Ø,ß0¸;ŒÚcf³‹T’õ: =œgqÎ $gEšæèDö{cBßYÚ6h®‹àoéÛ‚¦ÝãF‰‡™Äùœ\¢l"=Î7ŸÄûœ8*ˆõ–XÍâ?U3M]ßÅ)iž±^/I’‹gwØ“¤A3dmh]õNcMH>éºÍæŒitÜ>Ü3MáÐæEÊÙâÏép¨…"ÇEÎyª¤aµØÏ ¶EÅjyü]‡T™œ°6ÂXÅä:Ú>äWeyÂj»ÁŒ=Šo4‰ý}±öL“fÒ ’Ù 4Öz¬Q8̬a3'P*´ÆE1óOù/Ë%N„€éS²´d$u=’ÄëåÎȹC¯Çùö5Ó(á,¤˜î‘ýÉáED±(€Œ±WA˜Z×H¯‰¢”$ŒSE]ƒí![‘f‹ò;ÄqL™uDQŒ1õ—ÿê¯ý– Æ9ÍñÐðñÃG‡q çgF}d³>ãò⻤ñ9ã0!DQAu´,‹_dµºÂa¸¹û’S}Ošådé-·L~ÏÍÝ5‡ãެPcÛùpý3~úå±›~ÊW×ÿ'×»aÅ¡G0«ïòÙ‹_FŒ9"2,7‚Á=òöý?çñô52~„èL.‰uLY.8Ž Ó0Óø=qŒ}êC4£°LSÞk&Á¢ÐšÙí1 §Ãuu`šj"añnÂÚŠÇǯùðáG Ã#y&PrÂI‰óžqšpÞ¢´Äù ¤§\ä,Ósb•¡uŒô o’˜H—$j…Œ&t¤ñ>bš$ÞåDz‰”)ý`°ާ#§zÖž$1£Å™ˆ<9ãlñ=”\®Ç%²s!Šß;Évù’ ¼g² §æžCõ‘nØÓ›†‹õgáI–(¯ñÆ¡háÑLdêÂ)†qäT8µ5*II—¼Î‘~DIÀáçߺi>ˆš8.ÆYÑ Qœ UGRa½Ä:Í4±¡$HCoœš¼Ì¹{Øñýè'Ü?žhº·®¹{¼§ŸzÊEÊzuNÓÀ4(6ë3]wÂÛ 0ÔõÅdiA?Y<gíP1u;šz³#xK¤A·MpNm6l·çÜßßswwCÝ„ÞåÃñ†ýcGß²Zž§TEœY’,uÀ!8;/)oèú`}´®e²†$^Qæ„ÁNE‘òï,ç6ЖÕúc7bÍÞqØ,ãŒíú5Ï/?ç,y…¡ ·{MSIÚ*&×[¢$øˆÁNÌü:‰ªÀ:\lj‰JÜcÿ4*·Ø7 Þ Ì¤z7g/&!Ïs¢HSA»¥”âT…4sT6“Qýl ò3l+q>Chu†qì±v"ÎrÊ¢DÈÉ*§3¹0ŠII‘—”E üÚ¶ëÂF¦¡ÃŒž±oC\ÓtMÃ'–Ë‚4ÓX;ÍYK¡Ø±:ÕÜ~ðñf?ËúG¦:>ÿü9Ÿ¾ùÖîlÙíÂ÷²^=£ïò<èôâTÏû®Ä˜1dlÍá޳̪]g8³º>‚0¬7+„Xâ½esù«¼»gÿô0Û¨@iA?ôôýÇÝc——ÏyöìÙ¨ƒÚVõDjbêsÖË2„Ûa¨ñŒÈ¹N«ï<‘ŒQ‘Âö#J-¸Ø|×Ïÿ ›åÆn~ØÉŸúklÎÎi†÷ïñq‹w=Þ‡ \'|Ì]ZÐö=JÂj½A`g®&°ÏRÁj]¥Ab'a„+ãÀƒtÝ€@Sò4Hû±Ц1ZçO=yÓRħ]‹VÏжéñþ°¡@É)j–‹”åâ%ÆØ'dQ MÛ¶ìïI3CŽÇšÇ‡#e±æÅ‹×,ò ;=RÄA''˜(ÇJŠ4yRàg]^צÑcM‡ø›ÿõ¿î×›ãØrÿpÃ0Vĉ"Iq¢YŸbMXüÆ©ÇÚä€TAg˜èÚ‘,Ù°\nÇ‘ªÞ=9Ëœ‰È²e± ³lßÐ'„Ñ‘ íJÒ(»7xVÅ+~ñÓ™O/ÿ"‰|EWL&`å2ÒèØ“ä‚n8psûŽò‡ÿ#Uó#ï)/BZ6’€‰U¨&4…8ÏqöV8ìtŽð>?- áQ¬ñS€“…OÊÙaì0ÆP“QO¾nçÜ,i‰÷žT•h­0n jÌ~ÀLŽ®Òó«DQò`¦ot`A -”c;œ ¨W@P"ÌäCÔ͘Ìe-=U}B«ˆ‹‹KÖ«Ø×=]×0™+”Ž1Æ3ãà;ß¾@*HÓ„$ç'¦¡™M`âÉiiñ³02,À ëH`ŒEé ×s)qÖ?¡MBxÄŒ0Žc¤ÉghEIØšŠ,(ʘÉt蘧` cÇÙâ~–as"|Y,‰ã”¦iéÚ€Zky¶Z!„Àc±¤RjõTsæÕHÛŒt]Øc’$Eß?|¤jÐZ­OœÓõ-MÓ#å‚þ!I’$&IsŒÕ#1¶ÃÚž(IÉ·g!ÁÚª uð’ÝÞb&ËjcmÏ©î‰tFž-)‹åÜ =!óAOS7L½e•eH ½¤*jµÃ{s3ógg²â%¯ž]ä?úÙÿÊ¿üáK3¤0tCÍdZÚnJ … åè2È âX'š²L.H±'#ðV!psÑ¡@¨˜n°èHI…™FÆÙ˜ßOÓÈlg ,-8¢(¤`;Í7ãˆãç·œ’'ëµÂMžÑNˆ$(ãEŒs<½’9ˆÀc¨ÇÓn·¶©©kÃv»f½Y±X¦4MGUUŒƒ'MJÞ¼z1#mWÑö :JȲ’¾3ì'>\ät:¥ ¯^_‘¥šãñ€3cÈÊ’nö)YFݧc” ÁhŽ¡¢@ÆD”ʈì±µà]:{QBή±ÃìQƒ9‹Ž¨ŒX, V«U•bl‡ÖŠ$ ±ƒháÐ:G1Ì—“¢H=y¼`ƒµ VšòbK×5Œc 8MpжíÀälèÙC?„Jé…šN^‘g%ú{ßE×uG†±ŸqdGÛwèÞÓG’Tðêå'¼xþ†,‹Øjö‡ú.A©ˆºêÐ:åÛßþv@›æ˜JÔ cFöõž}sÃzuÁ³‹OHõ&ƒŒcü\ô<’¦htÃ"['Chš†¡í±Ó€pž¼ Pß‹«?é¾åÇ_ý#†áˆÁ_­d„Î7Ì.Søyf NlbrRºî#¡Ú!챎Hâ€È ZeOÆ'3Y&3Î2…pSÆQ4f»¬þ)Ô`Öù:|Ò4'S p^ﶈgqe;lþOxFºf*TÓÓõ ãŠbEI™/pz¶å2¡´"v17×{>¼û’áæ|¹æêêœË«sâT1ša~i&9»xβ*èºf6æ,¸¸¸œsaŒ©‘Rby² ?|¸§($‹ôÝ@×W¤‰'N¢Yñ«’8މb÷! ¶iOOcìííNÕžª:PBz¦©c².Œ–6ý6ù×éäITˆX-K¼·t}EÛôOwwıæåå/$ ‹$ø…PA¯’@KHѳ{<²ßWè¯ßÿ!ËÅšÕ&gšÎBšžáOåßÖÕxÑ¢Gœi»ž¡‡8‘Ôõ»ÇôýHÓ]óüù+Ò¤DŠ(”üeYÞ1šŠÁ^ \ÄØ‹9¾rœËG„t¤iBÒ\ðkÂÂ!èç1*¬â8§®‚,ZjÀ_ž’AöádqŒmx ™ ÍèºgF”ðDÑ6H¤•ñsœ_ˆ`šä€u&tñ¥ e±¦È·¼¸ú g5§‡“ —^ác¤†SÊ4ÏùðaÏÙÙ–«ÕÕS|&BÎdåDž-æ$—ïd¨]ˆR¬ –e‘(´\’Æ.IÔG´RJº±ÅÚPp“åRúÙÆ²«º¾c·¿ F¢¢àùó+ò"Fš ^LÔ2ðƒaš ŠˆXÙB³ßß²´Kâ8fF¤”,‹saç¹¾¿ éÉÿMÕ»üÜ’¥ùYÏZ+îûöíïvÎÉ“'3+³.ÙÕí¾U7XVÛH€‘e3áÿ` B&Hõ  °²‘± KHAmw—[ÝU•™•Y•çþÝö5îk-o|»º5­Sõí½#Özßßïy"Ú¦g°ãÔÄK±^Ó× Öz†ʲæîö@›ûÍ#z)£tȾb¶À¨3‚¨£i7ö ÞÎY/ŸñäJÓõî÷_p~™ñÙ÷¯Æ–òXãlGœÌȳÊ-ˆ’(ö„qÏá°ãÛW?£ÜkŒšsþä{8×â¨ÑF±ÙÜóÍÛ c_sóÉ-‹b6)²ˆ(ëjšºdè"ZwNÏD{’,g6KqŒtC+¼Y#Ò‘ÓRÉ["3†1Q¶‹üø§Žñ\cFicÕͶ­ÑÚ°Ùnx÷î-Æ(ž\¾`±œMØ`Zõ“UI±œ“$NÉr°mzÂPFrYÜívr‘Õòï,—s¹¨ãjH0F$–ahPSýWHê§,(¡at]‡·;FÄqJ<»¸¦ëk¬«e'Ðéú#vh 9[]s<9–{ò$& 4Õ4y̳t*UùéÞá¦M´ åM@÷øc€4¥„ïtwwÃ7_ý)M3’çšïÿà3>ûî Öë I9oî'ŽpÅv×Òv-Ožž‘ÅÉäTÕwGì¨PÌŠ5Ö ½ŸòxŽ®?à}*“-‘$9¡™†1ñLJiMÛÓö^tâ´¦:ÖdaHUɳŸÿà‡l¯w¨¿ÿ?þ]?_Ûî§ÐÔl&¢FëZ¹ )Ey8rwÃ0 dYFÅ\^þ¦lŽq‹$ÉX×»Ýrê„a, 0­išŽý~Ï,zN–hãèÚ Öµìî{þñ?ü¿ùäÃñ[ŸÿÎW—<{ú Y<' 3>üà)ys{÷ž<‡c[òG?ù§Tú'—5gì<^Õ„©™Æ¯îÄ®ú‹E%¥üéüMSЦépα˜¯°ctÊ …¡™ê¸©Ë‘0k µ¡™ÐóYh± ãH 4Q˜D’m€5Z§°ß3ÕY3Œ1Ôu}úA8çp ƒ”8–Ø8À0v´mÅ0v„Qtê–·½Üav‡#÷÷÷˜0`‘f<¹þP¯:!Ï3×Õ7ä3M?åíÛ×ÜÞ‰Âàòò©8‰)òvìè‡Q%k’äš®Ñlöw§©Ø8ì9–o)oÅåù±)8ìÞïþ„þΊž}ÄÕÕÓS³¹'7ÅP7Û“'¯˜eäIB?´(3§¬ö”Õ–¦9NŸË%g«'Da&½õ®¢ë(='Áq“,\¢Î1:¡-ûú–²»›#)Þ§1x7b¼C£pÎÄIˆµÞEÆÙÙbz ©©¦J51Ô¹D˜‡¾¸î8²Ù½žhÖ Þ%Mc”† qÞ„¢=6£©«n‚"|ÂaÛbù¢ T %1?úÝßgY|ÊëׯùÉO~F¹ÿßøßù]þÆ¿ó71ñ©¶–8 xþÁ'üüíÍÑF) CŒNž çô(ŸÛ#Pøq‚´ßï±¶!MÃ?Îìkéèí» ‹ß“¦!Ëå’$)ðÖ2ø–,¼F{ŒDª²a×Eh‡1Ê x'?@;šI£ °`S }\yž£”âön b #0©ÐL|ŠŠâh¤éw“4&#ÍD_vvÞQKÚ®c™.Hã3œ {E(”ÏÈ’5y¢XruI§eaÇ Ã(wÆö€6ݶe·ýs´>c1»í‰Ïb¾"i“Æ¥ Q`À9Î/,¿O]ut„› 9³bÁâbb‰²ô„D¡%\dD±BKdšVFÍëõšqœq8”4MÅ!x Èœ•Qœæ(%)†¶†–qp\¯Wx-ëÔ§ Ä¸Ñ 0*Å„1ÏØ·Œm-]Nm,ÃØq,·¸ã0‘8䃈£”ûME‡¬æ ’4& =Z÷(/£C¦Ž2e-00º‘(I³€C¹Çš²rલçË/¿¡*[ž?ÁÇ_…9nPòiG´_ñÉÇß#_ð~ñ~ý7>çÛ_þŒ7w?áË_ä¬Îs²ôû|ûò–û›—ü½ÿäïòôÉ jý%.ÚR;4“!ÈG8çÐÞ£PàA{öí5];Rä VËKº®ãÍkéÅœù|MïZ’TÑ´Ž¶­yS‘$)³bÅb1—œçWçhvì±VzäMu8½‘L ÑÆ0J’ÄndV¤§Ø…0¡ÜIg|b\©)zî¤`T„™ÃalNA»¶¨ûF¬–çŒÎÚ”À¤‘€âò"Åy9;ßÒ6FòBÑ ïwÜÞÜ3Œy6c6›QÌBF+ú4Ó4Õ‘_¾|`»Ûá?^ðìésòtF0‘½“%cÁ*ú ^¬×Ó2öc²dV q,û0íÙloùâ˳­^Q6/Ñê@Õ©ª=q–â%3âFwäXï8ÔdÉš(È]‡ÄA*E7£uÄöî–ÀqôÎôÚ†3ÒxM;hâ( Wö¥€šƒ›û7„‘Á«””P‚8&0I6ca5u]ss‹·²˜ŠÃ€ùbF…ÑlZ|=òŸ:ªºáp¬ðÞ’æŠaé;'ÎÔ=Žç›_þ)Yºb–_’¤*ˆÈ£œ4^ÅïþÞoóÛ?úÏ?9”w¸ð¯_þ)ëÕs~÷÷þÿäþEÌú욯oµʬEia‡ì4'ÌD'‰Lf¬œÅ‡^Äê"|”·ÙÃýK®?X£Õœ<;'Ϧg UiH³ˆ¡• ¶6%1Y* >é¹Ïd3½ÛˆÓ”(Ì0JæûÛ}%cÚPNbF‡åX 64Z†Q¦>FWþ¥¤i^€gÆx†Á‘û8X #mW£•°µ%hí䘑ë«nŽh“0_,hêƒÜIêšãñÈÕúC¡dû­$ˆ–¦)^I|bp21±C×ê$Ay°Ç÷B1™2<=ζb AM\Çb9ãüâŒÑIô$+rÂqÎÓëO¯?žLAïßîú=E1'Î3VË'Ž÷´í‘a)d?A7ä&"Í!ŸçÄéŒ,sD©Æ#ÛW˜x¤ïâä<ýž­j«xs÷ÀØ„Q@Õ)ûšãQª»ÂEiÚŠßüõ3âä;´õž¯¿þ’Û»w$gï°­e^³\Ô톗/¿âX|ÂÅÅ5Z¥äy!ÓSzt¤2ðBMy”ÏÀ¥cbqç9KÄ(o°ƒ'N—$QˆFQW-UÝ4ã§;öû†ã¡g¿mé­#ˆ÷Û=/>Þƒ†¯¿ýÛ2;y–Ë%ÚŒøC„"§I£˜Eñ­‡’ÃáÀ c)@æz}À“ç°Ýn™eϹú<ãù³rj´5\𨎪Þ3v)Ax†í;”SÜ¿ßóþæ5_óÿr8¼æ•ý1f°DÚËÂm)Âiá"êᎶ;NpÃjyEhÖ¸1½Äô#¸‘\kz'ÿF˜H+ðøÐàc‰‰´m‹Òž¢ÈðÚÓ  9n}ù¯¾¢*>yñÎ××d³5]׳ٽ’‰Ç¦FOaAÅäÝVàC¢ á|1gèdÁiBhš–Õ™PµÇ©V›ÅK†Á£¼fVÌé:Më´Ýå;B…1EvÆÐzºá mÂ)"­lÏ<¨UÍÝÍ×D« WçŸñÉ?B³”/G÷žÍö'”»7˜ü)Eq&pk«É… †Ñ³,>Á:M0<ãŸýžž}ÎûWïØÜ½£Ù¸½½c˜¡.d¸B0òýóÿƒåå’ý~ËÃîËóÿˆ«g5QÚ²­^á•ÆÛ‚±ïøò›?£i_2Ÿ-øþ÷¿Ïõó2¼þ9/o_ñòþ ž~pƳù÷+d2ò|.b{‹ÏF.ÎgØq ^îu×RÖ=*(éú÷lww åš'O®8¿X‘¦ÏHRM…“_ÀÕ¹œ³w» Çr h—P@Æ'»Î~œü-itÉ8ÈQâx7öÙÙç3ÎÖ9÷Û›S ñ±«ü¨ß’&VËñ8PÕ5I"—©4™“¤†<[ðþîkŽdIÊ“$À8Ï`^r·»E§·B×#u_É…Ô(”VXç ƒ_MŸ”öò¿»ÝÓ·-ZíÉŠ¹¤}½׃0¢nG!Å꒦ߡ"Nf’OÚPڟت­h›†®«¨Ž{nnßb‡õúRüí§"”1(g±ÖÑŽ ‡ÇÚ€»ãŸ… ~ôl6Ž,‘¿Ÿw#¯_¿f{|-¯û q(Ù$ŒÏW«g„¡&J¥"{,Kšf Ž fÅ’,L§… ’„JNtÇgÏžqßq{³ágïÿw‹Ùœ0EƒQùä¡h(ë’ã¡d˜˜UJÔá§ö†®úšW?·,“…<ËYN},ùùWßð•¿Ç;X_œó»õG\½(øâ룂ógmﺈ4Yquþ=ößâ¢{Ôðì2å§_ý ?÷ŽÛ÷¯˜Ïç¬ÖÏŸ¾ í·ŒíÈÏÞ~ID¤IÆz}!»®‰'ì½&4mÛcG9%(%ƨq”î}5T¼yûKå ~ø\¸Éÿó?ú'ýˆëësfókš6§ëk¼·ÐkVË5×WO%~k­¨fµ8 ´2ô½Ð1nnßaŒb\NÎæ Oge!‰æðòÕ×(€XŸ]aL@SIBÕû˜óÕ’0ÒØ¡'ÍbpŠ®êéýuﱺÂèüHÓñvu­§]ž­ä,nB´±Aˆ 1à=Õx$ˆF;¢ÃãÛc…ò ùâšÈ’»R¥¢ Š"eyóæ ÍÙjÍõÕúFr5Ø ƒÓÔtÇËË‚õåZkÊJ„7^ÉnÃÄßÇLeü®i%?tPdÙ‚Ï>ùÇævzSÈ+ Â0åxØq{{ËW_Ár9çúÉÅôö–»Š)FL¤ˆ¼þµÑX†Þ2zù £`Åj¥QxÊr‡U Ú§ì7Þ¼yÏw¿wIÓ­¥nJ,B,“ôœ¾éùòçÿ3¼âjý”¶]ðþí _}ó ÊöÇÌæçtá'Tö3.?œ³V—3¶û·ì7 £R–‹5Aèщ#&!MΈ£[ùüT †Ô¬ Cœï¹x^L%®š¦{Àúã4LçbŠ38MÝõÔuIÓŒÖb-œ­sâ$¤®üùOÿµ½f‹ÏÇCÀb®9?¿¤HŸÐ¶uÕrq5£ë:êZŠÝQLË¥N€Ã­" çç糺ïÔí€b>±Ì_:ÛK;-à7þÊç'áørqÉf³§ï$;¯•'M?$#zS“NÜ¢:¬qÖ ý"š¦/š‚®`T V:Ãnq^Ob‹Ö hŒñ¼¾¿e÷fÇ›×ïØîkš êÖ«5Ÿÿ`‡ízÎÎV|øâ)a›šÃ¡d}¾äÓO¿Kߎ`vôìû#~0`‘ísfvCÓßòòõ­(Àá0YïhÛ ?$¼¿¿eµœs~¾ælqÅ8ZÜà˜gKËiçhÚŠºÜãP,ggÄÁÏžÕ'}pÍYÌR–3/uT¯èúZF›ZžÞ[ÂÈàœ¥ëŒŸ³˜]²˜-ÙloèššÅbÅó§q}õð§ˆB!«;娛#ǪÇ{ËnwCß.Ùnj’pàiºâ~·ã‹o¾àp¬ùà»p}õ!¿øœx64©ÑDIÀ¸«1IOZh[r¨ÞòþþÏX\HâôŒë‹9Wç ²¬ ©{êº% "b#q¡ªk%)ŒBÔbfu£|Þeµ߸É&ÿÄQFdŒ¶`èÄt›d†ùò\Òÿî¿÷ÔU+ñß®d³A\e½D…ã@M¯q쨫ž 'êEJ~¾„‰d‚3QÃ6G‡ ýÐ1+®†<ÏO8ÿÇT©÷ž»›{^½|ËvSsqþŒ³Õ×WOOÑíBY¤=”x$Í#@xAq‚ FaLÅñŠ8T‚cñaÒ·8'Åü~hhÚ?•@³˜çhåÍbwàÝ»-í»ž7o¸½ýg0Àõ“3î>æƒçW$iÀ0XîïHÒ=ä‘¥f1#2Á)Ge‡‘°è©ë†›»6›Qœryù„Ù| hþøÿ›-I çK>üðCž?ù‹ãÝÍ-ÛÍL%ó‚0*H"Y&±àA{ÿNö@ÝÀ~WEã_Hív$³ˆ~lI#>»8JÈ¢˜$U˜B²èÚÖà ÉB>xQ/ä(ñ‚{Kž•¤é‘®kQãžûÑÑtwB)©_SöÒŸù—Ôðé'Ož}N^œãiùþùŸ$~ôWÀ‹?£XÌØn÷”Õ†ºÙU;p5Þ ”ÄÄñ# È³ˆ,3ôžºn§ûR€6]?A*œÜÓŒ†º9²ÛíDvcâ(Å„ GþQ5'lQN£ymçiA ôCEU=ðîý–Íæ–ý¡%ÎxñâßýÞ§Ì‹9MSK~ߎ$IÊíýí$‡¬@9ò<ГEVeÙéIö]xAÊvØQU%¯^=pw»åêrË8väyÎr5§)_F &´ôƒeØÑŽ QªX.Ìã9}#“¡@‹Ýhè¤ …E`0Dª #Záü8¥Y;–iJ\ÌçtW|òl ¤«]·Åû÷oùù—ÂÃÝ‚þðsVg¢).Û–8ˆ0ÚšÛw4Èvo'8ÙÙGW¬W5uÓ9–¦ØüÿýaCÓlèúR` c@Í qDO½ô7LE’e„:¦,KÞ½Ëf³áòYHŠz ïGêfu=0¢´ÃsFU F¤wíýÀ0H/¢,kìèÁIºu¹”ûÜÐïÙ¶Dj-Œ­PâvÉÓŒ ˜³ßïyñ¼`=×|÷ãFgl·÷ô®% 3އ–Åâ‡}û›ŸóÅW)ëþ:¿õ›¿ÎŸýô_ÒÕž¼Xs·yÏÝý{L¨øøÃßÀ©7(ÓaN‚x¼C*Í}ò Æ“[ĹEŒ"@+6†8ѧª*¼u\\³\œãµÉ n:š¦ã|uMUmiÚ q$ãâ@%DÁ‚¾ó¼=ü±ø-ÂY±`–çx§h›F<Õ¡Çè­%ãÕõG¬« #GšÜÕ6в,£k{U:ÇÕú7Å“Þo8”·Æ“ç3\¯8–ó3‰¡Ç1ãèh‡£C¬w%EÖÑ5¸‡æîá%m_Ç)ÛMI`ró5Cg1Þð[¿ù|ýÕÏØïîY,sž~ð7©ê »í;..WäYL×ïÀèº[š¡'ŠCâØÐõ »m‰w³âœ$.8´÷ìØ@ã½¥ªKªjó#«õŠºêð6!ŒçDaNe'ÖÛ·?—S²àòò\Úÿå?øÀŸ0èzFš,I¢ÎÚv$3êº>ÁÅ„Pðîý6› Ù"°×%ÎA&““Σ£öô¦xL§ ˳šü¹xŽ{KHã ÷ïY.Ì²Ž¾óxbÂ0ÇD1K;VXß3‹x?€²„Æ£•dœÚf¤oV‹|ÙgùÐO¾ E×7¨^Êeµ§n+f³Ù©Ç¬ƒ«;Â0šH`G‘Õ7µLòó€ÛÛ[ÚJ|y–dz¼'<ÛÍž¦³Å‚¼XÊ¢TÉ>ÖI&E.£b¦}Â,¿¤© w›û FÇ<¹|Â|¶Â[‰äGáZð1* Ë´±”õ Çê=ÃX3âöïƒʲæÛo¿åæfËñaÆå“ˆË'#ÅRö§Õä o;‡i,ÉVçE¬ÞÛ‹,Ëœs|ó‹×ÄiÎùù9Ëå£õ”•Dó|FJF¿ª÷“,s iô½è¯bMv%Cš 9±©Mm Lîn…vbŒá“‚Åüœ¦s ½'Mœˆ%;Á‰Ž¶ #›Í†››wh­Y­V¤éDFŒÃ©ã‘P5#}'ߢ(GGÓ´§MüfÓ’¥s./žÈÃ3ëht}Éî¡CkEË20Ÿ]Lú(Ì/Øì¶Te‡3š¶³Ôí@–ϸ¼¼¦ì7 ½%M âh†wI,h×ã±ÂúÃt:є奋Åìä'lº´<ç0„ =Ô­L ¯ž\£ì%&lÙ~ÁÃö···¨ÿúøÛÞÚŽ ò‚'wŽ HtŠsš|., ¦nQNèÔvìð Ø¡epáä˳ÜÝݱÛî§7ŠxôPJ[êfK?1‡²T~åZ%Tí´_™÷;2y¹C´È3ñ=—ÕçFâ8"ŒÌdß©É牠[´A9ƒj’vuƒÒò¥xÌ6I©½—Ó8§’:µÖrÜï©ëšy1ãòòR:Ò{Á»8çèÇNF¶²‹òšaœÒ·ZDîÖ!¹®º!‰Ò)n(Šœ(èûib»´ï§ ¢ðÎ0ôò€ LÈl6“{X'ñHO_Ô<žÓв.ed®·7÷l6;æEÌÇÂryFßl·{ìWdYƱkR ýÂN,,çäHØÙZB~ÎÇñ„³‘·ÿn·£,-ww÷äÙ‚³³sž<¹Âùmz²<ÈxÑÃy§P$„AAdD¼“FÜTƒ=”5ûãD,VK±JÂ0™c]cGÇryFQ¼»—=Nd8öt]C’ʃ&MStÐbGMß)†ÁÐ6–·ïï¹¹¹¡í;Éååpy]°ZËw!ÐÊà”üË8ˆÖõ¸P.Âoß¿g1_q<Ö¸^žÎx?’Dž˜¾“s¹¸ 0)MÝá¬7ÎÖ2'öдå'ö‚+÷ÄqLß“U q$Èc ï7o¸¸¸ Ê#¼—]k; g<¯ÞÞŸ¤èzÚ<%*0¥‚q”eH9=-Ž{i¬-^8”í”ã’7PÓÈ(5ˆ!ŽbÌ”êe±ºd9XÛýÝZwÇ0X7Ú ¶€®)ÁF JkÆ1 j,®ªÙâØ`µ”^†aÀ$k({ÁþA„§c´£8¨Çæd‚¢ «!äAå¦ö Xydq囎a0Œ}Šs»mÇf»'M…nþô:@aiÛž ‰“”|†Z8·„¡!-Ú€¶cõÉ]nTHÈX=Ïå~Y–‚ᑤ&ŠC..—DqÀþøžÝþŽqð¬VkLg3–Ës²\ˆúíææ oÞ~Ë¿|`^ä¬ÏϸXÏX. ‚0¢«kÛ&…²) LF§X:Þ¿¿#Kç<{úïnY­ ´Öĉôµ‡ÞÒ÷-w¤Y€ÒŠlˆ¢ˆ³ÅRŽ)Êá£IÛ ¼Ø„Q$¼§òر\.I³‚a° Vœx(Ù*·8é¢8àöö=ÇòÀá ø—ÕÙ‚ßùìs²<ÕÓ4å Tf&,ϱܜÆÙ¾oO^ó}ÿŽºòÜÜ4÷ŽÍ¦¥,!›C^À“³¿ý;¿ÉÕÕÎYö‡îÐF‘$Ev!vÃt6w“ÁT6ãå¾$ž†yž“¦9mÛ(Ö6žÑVâR·#ggkêªgI²&Kçàeìœ#I ]äîî=¿x³a ëÕ’çÏ®8_Ÿ¡±Î¾ÝPULÈv{äÝÛŒ ¸º|ÂGÏ/§‹Äþ…â!NFáJ°£Ã˜çô,X žv¨IÍlº.È•Á9‡úÃü·}$Œƒ:eŽŽåýDohû¸¾¾–^µ8–÷x_‘æ0t5}“pvvÆl¶˜¨mòÇLâtâþÄnCÛßÑ{ÊòˆsŠ4># 2»=³5UJ)ÎÖKÎÎÎP½š:Ñ’åGG‘ωã„wïÞqì^Š 'LH³9V úÁ‹.HšÊ—øñ"¹ÙÜS–%ó<¡ëDWµœ ïvì‡_-#½!Ïsf³Ac½t«›¦£íÎÖÏY¯/¨êš?ÿóŸps»a¹yA‘/9vTõŽ0¶ÄI€×1þQç¼ K=x;ˆK|¹ž†2F–Iá@YDfäD†1y6Ã9h›a"ÅǔՖ®“!‰ ÖXLàlO¬S¡1}/q'õßüOÇ'‰ÈF0‰~ùþOh»š¡oȲ„'—WÌçK´Í,MNÙ$‰N£ÃÇl“ÑÑt ‚Ù\.ŇÎýaË8ŽC«„÷ïÐ&e}qIšFD I2”€€xB§ôC'áÈÑÔRt7JæÕQ¡•p—B(‰K•òWcC‰+«ÓýDBXòEÁz½¦-0&ÉU½ %»›ÀdÍÉ+!’Æ`êgȺ¯÷˜0£%¬eã_uí¤ë‚Àª²f^ì·;V««Õ åÜôt ÌÙN{Žn ˆ¦W~’’&3'«®µG:[rsóž}¹#I"fË™œ_µüÿ¶Fðí/ßò°Ú^>Ëøä;Ï™ÍSܸ#Mòéu?Re¿áœ# ®/d¹(ŒZMð8~Õ2½ëè‰ÍYJ`Ì”ˆõ Ö ­"L˜E1Ê(a㎂•‹™<ÙÝ)Ål­%6p<4t­Ã˜˜(Lˆã˜(&µ%ŠB)œ1žèìøÇ1l;uG¼€¬Ç+s"­÷­<½M ¦ff7y$¼ì¼@äÈØ†)Îq6ÄŽŠh6b™Lú +„—Ï´ifó•tï-Ó‘\±ÙlD 9Ž\\]“fA4 ÄáÕþßÿ®·Ös{³åxhNiÖ81œŸŸÑ†¶mÈ‹˜$”ŒS‘͘ÏΰýH]U£O?¥ÔI\b­ÅqäŒç8:ºVxy>£.«Gk-cD#[å8ŽÁǧðÞãRéñ `­…Qþm…òzTRzo‡~:5„¡p•æEJ1Ëû”§oZÒDîZ„a4ÁÆôdu$)Œ£|hF‡x Šì’0(Ø<¼¤+Ú~ÃH) Pí±£Œ]÷Û–ÕjÍ8j‚ ¢·Ž²< …u=M»'Mr©¨N²¥ yVHC¯4–4m5UjýIÉlô0¢!I#–óa Ogþvlh›¶±^ŠJ& pN`pw÷o™Í÷¨PJJa/þ– ˆXÌÏȲb",v¡À¤ÇÞŸR¦ ¿0HqÖ`­ÇDÃ0L£ôk=qšÊòm>#äLrgCÏfsϱÜOC1ˈ%§Ö×h ‹ÅBÞz#"æ4¡™Ò×Óƒxèä-! †Pçƒ@®Ã0ä»}—ûÍ+~ñê=ms`q6Øs M=²X´v CÅ`€•}ÇØŒÎbtLYÖ4M'tî0$Ib¬¹¹Ýh¹ÓË”‚ô´_†A6û>˜~­djÔz°NÎé^iñЧ!ùнvÓÃ+ Œ®OoöÇŒ|adÏ´Z_Ð÷*0è AéTOßwD:bÖ=þ ”Ž MLDH1[ÒYÖMIZþÆM=rè6ÓÂ2áìü‚Ëë«Ó’Àw¡ÐMj”œ““ŒPí°;xÚ¶á¸/QJ±X,˜ÍdÀ€7…ÒnRIÌ< Vì÷ÔMä»§þ³ÿö¯û4ÍŒD­µD±&ŽϯÎ÷uº' #Â0e,]3²XÌd\©Ü„‘q§Å8ŽX$¯o•¼úLŒ³¥dÊ´¯^O·ÿô´pylçÙѳ^=Ÿ–~C‘ :µãEÊ1ØñÄaÕÓôÊZ‹‰äØæ¼ÐømyØÜ0Ž=qšÅ‰ ¡”9½þ•šþØ6Eéž8µ öÀû÷o¹y¿¡­v ¸^œ±:+RY<aHÌQjFÍÙ×bßìåцÃÓµ*g÷±ª9&—1§¥éápàíÛ·Œ£õæó儤ONÐ$ÉÈÂ?ÊÈTkE†Ä²H)ÅþØO~G7vŒ¶eô-ž¥,ir&¢û¾?Mþi"Q0çx¨NÀèÇ.KÇb\6í”äßè;‡"b¹¸àluɱÜO?â§@M ·®ëh†–h²3= bÿÎËi"Bî¡Ãð«‡a?T"t 4„oeßF)a3ö™ÉóFg§JL°{z¨&éŠÃaGÛÖÿ?UoÖk[–¦g=£›íêv{Ή&3"²2+³W•A BÈö•/-Á’%_ó'¸à $#àLs’-É[E5T“•U™‘MEsš}v³šÙ†‹oìY)…R ÐÙÍ\s|ã{ß÷yq…¼ŒíÕî:ûm~ x(š‚UÓžd,VÌ‹&™?‘û„53®0RÓ«,Æ@ŒÒ³rìEŠRü—"L~’JÛY ÇžÓy{ -›%/>¼_¸{ÿ&ÿÂä…’lx×u|øqAiÖ*šF, Ï+Ìyž :2²ÕOV«†ºXcj?T,ϼ'é;qJB«–%¶š‹í5Ûõåyfþúç?âþ”à${þvµ£ªЉnxÞ;5±,3såeqIc•¥qÅVäDÈjº¡)•U,±‘;—2¤´0ö3Z[ W¡Säþý#ÑûsW\(<)”gdÎz{Ë8Êz4E#Kã´0NDiV"ibŸ¢ôi¨­GªJ*–«¢Èþ´$¬˜-øÆ %=+Ö]ßÑuw÷¬ï^ÓV¢Ê7s-BhÒ l¤2WzÔ,›¶§‡aQ•%mÛryyɼ/@+9qçEš¨ªÊQ”S¤…§kJ”Òô!0Ï ãØ³jÄW‚Ï?“1wŠgÛÏüZN]g(\> þ»ÿý?NÖŠ¥ZvßN²yî±öm¢ü».›é\IY¶$¯YœÛReÏkŒÊŠìó_\œIß:BžçV¥“ïÎeŒ)!Õ·HÜ8޲uÝä͓ʛ9"£žÏo¶ÊÔuMU”çpÊÄ µaêErÆÊˆf-ó) {ŒUùB&o­Ó!œ÷øZG![F\.%ñøqøÏ£›5ùÔó¨¸èú'úáF£)Y¼&Eí ªJˆ~>ÈÏ_kÙþMÓ@QJ.¥(ªl±_ð>?Ä1¢¬"e欵š°xbð̳¸ju)[»²ØPÕ;ªª…\Ì8Ï3O_þµ“áùçöŒš—#ËzOSo¸¹~…Ò‰Óé ÕÂÅšÓéˆ=Ö‰@ùøøÈñÐgKHMÛÖrg©3ÿ+ɸœT„œ¯ªŠq˜³h(iϺ®©”T…ÕÕ £Kº®cñ=®Ê¶dÁÙ*5EKYÖ„9£œ¤¯iÛuhåïò‹¸”Rœ¦¯ò}²d‹jûñ¥ §£$³væ¥ãqÿ–”"W—×Ä0J~QïÞ¾eµÚðÁ‹[lryäÉi/¥ò¨#[¥¾óù,òˆ%%#Î9ŠÒmÉ4.9ÍGþfdE’Æ–=s”O»Ñ…Ä)Û-u»“ã½’KÜ€|å͈±±»¿$¦a`žb˜ˆÉSßΗۂyq¶dÕ^0‘išÁ!Y'[±%x”J„$‰Ó)ÜŠÝæÛßOÝ=KxÂ8Oë^Pׂ™Y–m‹HÈÒ .š¥<±i6Rê¸t(=Iã©i±¦ù„±ä³¢°kÆ!°ï¿äññŽ˜Vë†àÇýLS_ñÁ«o£ GˆÒ-þæî ïß?`mÃåÅ+êjËÒì.6¤´0/Ýt@é…ín…R[ªj… 5qªÙT/ùþ§¿…N ¿÷ÿü7»U-ŒÏ3ÓÏ:WÛˆºB<§4õœ°¦ÂZ©[ qÄÇŽD23«æ…¤)µœþÞÇsËSÚÊ)< eU£”áp«OÓ´Íåy±ðü2°ÛÍ-!L,~$D ¾ã°¦Bk˱ß3²ó×ÚÒT5¥«Î˜Ì’¦.o©ÊØ‚°D_PZ j@™YRSóœÁ¿ ¨m¥ø;‘á.采ûóì)\Éîâ†Õj•‹>4~ð7Q8­'Ä™G‹¼åýLÊc¬-dÌYXÐÊåµ£gI $Íÿüéû#M[ps+,¤dªX( t÷‹8*½g=Çî(Gx‘ðâbÍ»û{~þùO)\ËjÕÐ´Žª •B…m¨@Ug-gö,‹Œ«e3²Ì#:F´[T$=‹ÅÞOø¥ÆZsí"Š]q±³*v¬×5! ’ôtaà§?ý üÿý«uÍjUqýò‚Mk™'ÃÝ»7Üß¿†d¹Þ~Äf[É×VhÖ»¼…§»»w¸2ÒT¬éž4_ï1óš¿ý»øþ]ÞœøÑOÿˆûág ‡G–S‡v,1¬&¨ˆÒ “,‹7LsÊ §š²XSVylWö¬æ‹PYÉ6Î qœ$ù2Æ|éžð¡'yñ¶5M!l§”~‘–TuE+yvÏóÂÓþ5ÍfÎ:™Î[ЈúGÿóšbZð~”‡+,òIË£Êè™[êÄ÷£46_¸Œ±èâ‚®b ´ñ™umiê ÚfËéðc@A²çòðyéŵ©#>¦\“yBÞÓu?z·’ØfY ÿ´Úâlu¶J÷ó^V¦¡—š&§ÕV´ÍŠÃA"²Ö”¬jÙýC÷Gˆ7<íßãCGLSÞP,ŒãˆsŽÛ퇲‘( ŒU,a¡ër!£ÓÔ-ÌSd™´P$ˆø0°„“l£Ò–Õj•;éª\Þ>Ÿw÷§ñÙ,yISoñž³`i­fÕ¼`ñ‡ã=Ó,˜¡ ~1œŽÆ \\lÙlW²qóé%_:ƩǺD»Î9|m )–%Ðõ uã8Y|GÛ6èD¾OG 5—ëyqõ+4ö%Þ~ŸßùÍÿõúŠ÷_üðóßg¶oùñWÿ–ûÓO(Û…²HX-KsžŸ­Iž²O©*WŒËãñÈ4=stí9å·Û^R+‰"<ûß$°$€¶aHå—)Ì™Wå½§N§_þük¶Û5/_Ýr}}!zŠžP€uŽÚ¾Ä‡Ž%8)Tœb°4e‰¢b¢ö>çMêÆáÜuOÒø_p}³á£¯(kÐ:IJѵ¬Ú-N;Ê¢¤p-ÁÃâg?ˆq¦Þ£UIáÖ(Õʘe e]QÖýÜ3Np{ù¿öÝŸŠxH3(—ÀxPFÖÜ!²d-Å:GQW¼y÷cÒß3ê=—W;’5Ì}O\ Íqè±È`ãqì1fÊ`3…+ª,Þ:ªJ"±òðb}ÁQ×!FÆ)ä{“"*A) IÔ7‘¬5XW`LÉt‚¶i±…ÁŸðq9Ÿüv0òÓ­Mn×2ò¡H!â£ÏkÙ(³·‘#­^•¨˜8òÊÈ ŸÏLØþû¤¤Ùm¯Ùn.)kƒ1 Ô„îì÷GRTrt–%ÚD|蘖'~ö‹Ÿ ?©m¹¹¹a½Û†+¤È¼i]ÞšÒÙš"aÉz]0Ï!Úœ9p(,F—X[r¹3Äð!}(…U–µFãÌ \a°NÝM`»n˜ŠÀ²øÝð€Î÷‹à…|7„ζ¬Úu~+Fú±gñ=³¾cì§C ë m.øøÛŸrQnç¡pö‚«Ë(tËp¡¬ s…_Þ+ªºB›*ÛU ÃËW7¼øšê"r}õ‚ WÔM )2œ:0_K–Åø3´[šq†%±ˆ Q²ì¢W¥”ˆJ£ežÝ8dûωà-u%Á±‹‹ \¡QƯ°,ÒƒGbín8õ=z©¡*¢Š„qã°œ…åÍZbÉê¿ü'7Å8‹:ˆ¸ƒOXSRU+ ¡G‹Ñ qÑV°˜ãØQ—†‡î‘–liVyÝqb:Úòc±"ò=$ä»ÏJ6ç7pJbâjêVÖoËBD좟ÝÕ¹‹9yÙLˆ‰láxzŇ·7´ÍFžþ$ð¹²ÞHǰ,ðøð†ÿêø/øêõIúžËMÕÖ›6—a.›‚a…ÛfPëªrEáj¦ÁÒ{´‘»“hÁÞßíQFB¯^}Äz{ÅÝ»{ž©*q/¼½ÿ ü¬¸Ø}Àvs%€ ¿'¤ór$rDzˆNö=(Ëì!‹ŠÊ¶=~6<<$Ûñþ³¿ýŸS Ä{U®p¶E늋ïˆ1¡óÏ:ƒËI²fÕP”uÆ6Џ’¤¨ÏkCiÙTg;¸Ö¹'¡_¾Ñ‚´t¶¯?Fú«g¹ƒ¤d‰A‘¢F«k+´*°ÛMYfŸÇ­ˆµâ2…²§i×ÌóÌÝ»;†¾Ïö‹&Bð4U“W|Ò%ž‡gžÅ£õÔõâ­*¬5Ä$¢¦_äâW•WŠÊaËc QAˆJ¢šÖI(­(ë’º­±Î2û™nè±ÚcÈŒ]¹¤ÏÓ(žÿû{–eâíÛ;öû=F[š¶–üƒ•ûoáuݰ^·¹{[çŸG$¹Íó˜{ôò]ZÞ¬éH¡/x|?ñ/þÙ¿äáí[¾÷Ù§¬ª–Ö¶€ZKœ9zR*3æ'ðùOÿŒ¯ž~ãNDÆ·ÌË!ŒŒ–šfk-ÆÊeÖZG]¯°¦`š2+–”ÏZ™ÀõV«5ÖZÞ¾ÿœ»÷¯yx¼£x?àJ°.1/=UyùòÎI˜ÍXp.š)K©cp¶¥,ZbÔôýÄ<û èH"ZÎSn ÍLâ¾ x¯1º‘’–JD;¿$BPLéN4‹ä˜çÈâ;i›\&ÆÉÑ þì£11 !;8W¬Û-Ór8WS Ÿ±ü’œ#›ýäX>1Î=1¬©!JÚ+‰)¬pòç–YÖv}ÿ>SÑ)ªs6Ü9I‘«u“óÝ#1 „¨hê’Ë«o$¢˜ƒRÖ(-ÍCQEÆÑs: è.¢œœtK¶ûÐÓŸ„ÔQW+ʪA»‚¸(¢Ž(g9M§³Lì óy„(ÉP(«(|zúf+¨‡‡;!ÿåmÞé(l®²2”eÁñØËï­.¨ÊФ IMRA¦"Ýñ(¹ïü;sÆÜ“èY]>þ`ÅÍEÄï¹½ZáÐySWI8S’‰©ï˜ $½çOþüßðæþ©Ëe ‘ë*Œv ”žñ¾ ëŽ$sƒ“–|ü¢0º ©fæyÌëxy&Æé„µ–ÕÆñɧ/øê+ÏÓÓoީ놛ÛXm®Qª`|äp|à‹_ÜñåwÙ2Þ²»lY¯kv›¿‰ik«?q<ñU3«5\^µx_b÷ûûsWƒ=]¿Gá„hK =ãA„1(ãs•a‡VeJ¬5¸ vHc5 …vW‰PU$L’¼JÀNÙœÁ&Û†¥9užóêC-ç9yY¦¼þÆ%»Ý:ª²Î9o›? †!'ï¾þú‰«« ֛⬙²­¸zô^Ñ çh%J¼;F¬+1Æñ¢ÞHˆ~épV“LUuO4Eq¤i/09ï>MÁû§sÄS2≘"Îhêv…Ï=sˆÄiÎã«ø®¬6¬6kÚ˜ÙJVƬ”‹ïyÿð@i›ì‚](J¹ ®VŽ JYŠJçp’l£†ñ@áZÚÆæ¤ÞK–©GÇ{v«ÈÝ—?áþík®¿û×– àñiàtxÏ2y^¿yÇöªÅµ#‡é+´жÀXM¢Èî+ƒÑ%Î6Ô®f 3ã8áãBß¼y'6’eö–ų٬Øn·çÖÖºnØl6|ò­W|ôÑG|úiÉå`l%ÓHTÜ\}‹¾›ùö·.xõ⻂°Q‚Î q¦­^å<¤1Œ2 Ä™ºÜ0ò¼…™¦iq.bÛµÍÞ¡Üò29¡*W”eƒ«+b‚i꥔]Y ‘7_ÕN§=Ý“Ìú,¨X–#Çã‘ò½\í%£”;÷C8•- ÃLß÷gJ†ÌÁ3OÝ_‰ gxA?öôc'ú‡¯ÎÙkå.QU8i'îï{Þ¼û k`³mxùâŠf½!…äïÓFú®—“}(´v´­cw±aYJla§Žýé13¤ª¦<×üÚb¢)J\!ìÅG.¯.Ï”ògò9+2O—?¥+(Ë‚º®„[;á¤9:º“DE1\ßìxñòšË«+tªÆ^8µ,X+->Á{Rš…ú@-+j•X|ÏñäY–ÀÃSÅéþDkv¤pâþþŽû»÷¿^ÐN|þÅ/ø«Ÿÿïßðá‹ùò˯øÎo|á‰r³ðñê[tÝ‘=J5gR[^ÐÖk–pàòrÇ´TœN'´+øÁÕ ¦9qØ÷<í¿Ä{Ïf-íWó,Dtë4ëõš‡÷»‹ ›õ†Æ8ê2¢T¦eY"ÉÚª`·–ÞŠ1»Ú¶–ÌFb™=‡Ã‰a8 FµG±Ñ5/o¾Ï0JN¿°Â°ÆÈLGCÓ–”•…ô¼Ö„i„É4{¬PR].“Šýþ Çã1{ÒK±ûVyÄ ݘÉS–5JiŒv¨(T”Øxް.^rÅBŠÐ(UPEEÌ㊸V+.ª›­€ ¬iqVò§“”OÎóóŸµüúßø>c/›"b¬ìô.¯ÿê3ËÕ{/'cPÄP ŽÝ;†~`^"­ZS¸šM›‹ˆì6œN=§cÇÃÝ;Þ¿½£gŽ¡¾üàBº6¶lwÛÜ>r<9ô=Äé Qnc…/ ê±ޮXmZæ)aLAU.„èû‡Ã‰Å´mÍåö±“)Pu6žGÉÓ1×|Ù€µêlÝ?ŽGN§ŽÅ”ÄÓDN„Ðòêö#nn_Q®7üâ'?æÿ“ÿ–0õ¸ñý‘ãpϯÿ„»Ç¿bwÑ`U¤, m»Êz±]D¯y:>¢”•?xœ-ÐÖPgKÇ«¾OŠ 0ùÿáúö®m½»%¦…Óq`òÇ|¯,Y¦‰ãa”º¯]Á»û=Ãø:Û„Žçñü7~ý{eÃj]²,B{ ÁcŒ¬ùà V+Vmvg[‹Á‘bBR‚ ãÄ|µÌÜWeA¡5ÖN(ý,ê Sʘ¥.ج2‡4Š&Ñwc^sjÖë*÷•‘/x߸pAå°»Æ9ÅjU »''߬µÔ›å-»,ç5B“lïN×suU³«v"–Mâi2ÆRU-?þüOpÎq¹½Ì^ªÀ8J§Cáªó%7á%ÞZDé† ‘à>ìÅl·DBhhÊFõæ’cÓJõÕªb]n‰$‘ò<>M]d³‘7sR響Šb#!¥hgt˶÷žûû; žÓi„ÇÇ=$Ëåå%/^¼@é€÷ÓÜq< ¼Xe€DL!ç,Z+ÚæFºþ‰ãñp¾k…d¤kkÊvÅ:myùé÷ùÁ'—ßúÏñ3þÅ¿þç<ž~ξónVïùä³_¥i-óûžvãO]7„Œ ‡òÈñ(m·Ó4q:˜Â, .ÒõïÝéjŽÝC¦‰k†aÉ gCÂ3ÍG®Vî,ÜõÓÀ8$>ç«/¼ùzϾäöö\¡AÍÜßߢϡ§¯yñâWWWh­9Ys«¸½½eÓ¶Q+kßvض¾>cæýÜ‹¹Ê”hep&²D-ÑÉX‚R¤$ž'§Ö9Úú2i"Ä ×Y¼Ð¾CX(Ê"£¥x$Q@Ù Ëp8ƒÏŠB¶*Ó8f,Žæ4¦m[ª²îgJ$ -ÚY’J(k¨]CYV²ñÐŽ¿ùò7yxxbè'†a rš¶q¤¨™'±%û0“°|QXp02ÛßSÕEQcµÏ=¦)Ï®]S8šRŒ³™¥:ãÜm~kÉ¡tŽÊU™Þ=`rž¡0m ©K¹ø‡È8 ”ÍŽ++péûÓ‘¢Ð°†¶\#+õ™„Á‡ …ŒJÆHúJiÉm®‰ 31Œ'TïY‡7¿òk|ï{¿ÁþÐóÿ§ÿ‘ú/ÿ’ý)ßÿÞ\]ÌÿàOøîw•¾;ÐGÌTJ¬›U.sŸ)Šc!ޣܛjqùŽy ÐÆP¸’%ˆ˜w:žØ¬ šú‚õª=¿ ”ž©›KæáDYZ “˜¢ÇŸF‰í®¡©×Bºß¿Æ¿u‹ÒžfùÖ·¾%Á¥.ð´Çûû¯Y¯·\]ÞðâÅ BˆÄ‡ã{|˜ØÞñÅ—?“ûGŠÂN5*RXy]'Úzö]ÀßÈå•U@O×=±Y_åÒsIQÎàl‹1¢ ìûƒlÊ‚yzÆVÖÒ" _æÌBߟ‡£¼éU‚q«)ÂSG:ªJÆ%cJêMÁNÝdZˆæz·ÍJ{Ï4É6é•*ê²åðôŽþùéº#«uÍË—·|ø2‹…®D-zÃjµ¡i·¸báñ°‡p¥'¥GbœQJã}- CÕ–ÂIÕTŒ¢W(Ñ&R–‘c÷Zš€lÚå ª‚ÊX*膯¨\ƒNš0šR7(£hœXUt™GØ¥g:p8>QŽfÝÐMòãIе¨×ˤ9N8sÂZ06¢­b<ÝpbY)B÷󉺀S€ÙG®>øˆ?øƒòÇúO¹¸ú’ÏoÞ¹¼>ðG_ýŒ¿{uÃ8½çG?ún?>qñ↹·hU²Ï»wG6ͯ®-ÇéʉɿçØß1ù=ÆV´n eEm>¥iÖ¯@)ŒñŒóžÓé‰÷÷¯¹Ú¼’“YkÒâÀ/øñÈËÛþÆoþa\ñøôÀþøÀâ{FÂû‰¡(RÇ»§'Þ|ýÀ0Ân¼ºä£—?@¯.hCYì(Ýmõ-ÉeÄQƒHúÎ9ê¦ÀUwî§û¦CAÂåEQäyq99žÉÕÏ|ÖËÍ-1J!é™`#*&¢±¶ ¬^d“¡¬E1‚“AÂùcÐZp))*¬­ˆ™²m’cœÞœSrÏü¢gT‹¸A#Æ&Ú¦e³ýŒÛtÝ‘Ùw™¡ª3{T꯴JtÝ‘ãqŸ7…8v1½O¤1ZQÇáÇ.Šú_·Ò¯FŒ…Ê´õ !©O­…«)Š’ÅÙ@Q~ôÍÒ¢°ùÍjÏ´ÄÅK×è’¶ºÀÙ— …àkâ…‘X.¦À‡¼ÆÙ-m»b]EÐc¾\wì}·p<,â­R½áËwÛ•åÕíw鎾›ùä“Oø¿ÿ1ÅÂOñ{$ó†ë†nüŠËëšWîèç7ö«¬O ÷‡}Ó_Q•-!$./?ÁºÚ|Ã2Eú9COH3¶â:©8k"1ÍÔUËõÕ û÷£Ó3Y¾m× ÃÂÝÝkþÍ¿=Qš+ªª`³[sÙ^ÐOwïßrÿž¯¿±M¢t¾óÙ§h<èbâç¿ø †îÇܾ1²m[v»›í+œ%Éå.Þ°±BÆH¤¬+¨,úèLìHg4{]ËÃ/ýñ—vÂB{pá*+· e!:Ã3 ¿(`ƼF#ó®ueüH±’˱–‘@«‚%yb¹ýHfB¸ó¤´œákÖV»šy ¹eɱ»X±»¬ qĘDš3Tl‘ð»1Â|R‘ür/–6‘¢p8;1M3)BPY œ–)G0(OQœSD¿œ3êF»loùfû¶j7<=¸»»Ë^1©K«ªŠº±”‚q@+Y5ªÂ­whUb\Å©ÿKbHÔå5W»Rtžqd^F@ó“¿ü‰h>N˜Ißùä,÷ï¼ÿÀÁÏÄå=eù‚ï|ç·äo þ£¿ó»<Í‚+=ÖžúŸPmÖüÁŸþ3>ûη(êˆQ´[ e¤(¹ØyÆa`Yfü4çœÊZS7`ŠÀ´Œ}·°ÃiúsŠJaµÅ˜2×21R«’—ß»&FŸCn°Ù®ùàƒ˜¦!ÓVÄ+Ô“@”?ùäãÜoòmsMa·øy` Oh=ã—È2ij~6O‘LJ}·`»®;Û“JÄŒO‰8Mç‚„ãjV–+V+i³wN.Õg`NÙã^²LÂæ1ú›^…iîÇÅ{\%XxšIÀ”¹žÁ(Ðu¶ˆˆýâ9Ëa­¥pö¼ízîDÐZœ¤u]ãc Ip4óäÇÔLRR§‹cæü½ˆ€¹ZIFâtœHQR"%oz×brkQSo‰!£cöÑ$´‚iŠhýHH3>-,>ÑMËÙSʾ"™™¢9ÑMÜ=Žú’ÕJQ³¿'%Å<Áñ¸p:‰ âbwËfwR'úÎSº 7×ÊÂÒ'Æéˆ1‰ï}ï{ô}Çýý=o^¿çõ×ïÙmo¹¹þ€?ü>_|õW|ö­Ïx±ûW$þèOÿ5ÿ׿ú?yñíÈ«Z°Û]Ã㓦°[ˆ'¾~÷3ºqÂ%…©X‡A©Z|mݼç4ˆ¯ *P”P5Ú 8xHÊД+,«,¥­QN¼kÖtJúKª¶¢®¦\ÜÅAPJg»N`&¤…Ó±ãØI¼9 ˆªº¤4%V;L‘p©Fëu"­ ’_ŸŸëg©Á b_„¨¤êygŸäC±]×¹¼qÎ#¤4åà‡Ë£’:c1Qé\"ŸR¤*À‚`b|‚àü2ÉÊÈÆB£PJjºžO. á+Š"f9ÅâŒR )i¦±9‹cÆh´2-j7IaMK]–TU##‡wø0ÂHT ç¹U4ÞÇœ“5pYl¤ˆÆ¹m)R–-M]ËŸ3eYS5-Më™æïdžŠÔåJp”ó˜AnBª3Vþ9÷4MÃíí5Ûsàå98SƵM†™i §'Æ)ÀñÀ¬îØT†aätØÓž2Ë·5SÕ†]ùmn¯¯ùîw~…®ëØïo(‹UQò·þƒßâí—oöŸñ{¬êÍöžÞQE'v•äi× Ö8VÍ–¡_¸¬nƶXK¥³–²úaèè†>LTµáë/È8Ä4Ó®.®.Ùm/Ù]\R¯ZâRã}¤ïºã‰î4gkýŽišÙìd1,ôóŒž&PJ/žî2mܢ˜’ª.! Øa˜žºˆ…Ó8ס݀sšª´Ü?Cy…ïüyšPÿý?ÿ‡išæY¶*‘À²ÌŒSÏä'’ï(\•6Mîa–(cF ²,òi“ƒõŠüò¬ë[´!×ÖNg®‘1&'Ú«¢’Ük +Z‡Óy<¾=gh%±—»œ÷îóøõË ¯yžÏãÝþ(ÍB¼ú˜õú"oºúáIJŒ¤×"X­œõ\Ó´oƒ(•4Ëý*Y[/j½ðþoÞñô$P³º©øô³ùôÓOHÓ*÷ÔÅsÃlˆ"öyïY··ç—ȳ¸ùü½zïX`rs™Y9[kÑβ©„N±,}îæ0AU¢.^a­°YŸC~‡û£ðTÍÌiàf{ÃÇ/?b½Ú°ï(ÛD23KPŒÓ‰¢4rq·-CïY­vܽ{-——;6Û£G¦ù@ß?°øc¡)®8Nì÷{†i$ä¾n¹in6Ÿ0M¢Û<>>ñÕ—wôݺ½&FMP\^ÜòâŇ¼xñ‚ͦ!ÒñðôOoxyµeYý8B¤¬6›®¨H Lå˜:…_…KDÇÇ<ÎVœúî|7~®¶¶ã¸‚Âè g!$ùĤ¨+†IÓ3C.\_Á IDAT¼çxzbwÑÒ {¦q¡ïžþbâõWGü¼f½nØn+®®7¼¸]IèG×hY|OU;Šâšašè‡áL\ÒÂÃãk”ŽçÙ^(ÆYÑô–Ucð®n>#d^ð³iUiÅf}1šýþݹg¼Ú4¬×[ª\;à½Ç”5aÆ} ð„5ÐT¬êkv;›ùé ³Î ÓGdÞ‹3dóF1¶â¬ë±ÎŠ¥猶 ¤ P4H¶!„\íPn¸MÝâ½c—ß<ðø¸Ç6MÓPØ’FY03I$ «ö*[Ëå4Jè,RIµÔó¦é™”ýËÔº®ùÁo¼bÿÔ1‰ýãÈ2/D:+”öX½¢Þ­/~f·ÛQU§î€õWw<>½§ª v»ÛíM½–exñâ–ëk©1˜æ&bZ$a1ÊE7„oN.ÒÏÍEÏÈÐi91-œÕý¨²ÓØ ´Á%)U,‹˜Ó¨9ŸPzÆX= ÎV´uC žÕªÁ74­„…¤X¶x|úïàÇÓðÄpz/,ÞãS…Q[êfÏ8ÃñtGd`µ­¸yq…ÿñ×|¨[6õoñøôž÷w_q8<ý-—W+ 1yRœX­6b˜,ZR*¨ké=TV1u=‰9W¨´k9'œItÝ„]7Ÿ+”•RU@Ãf³¥µ–©³>4Ný¹"m8 XS²ÛTrgŽ2–›´‚Tòþñ/Î:Ùs\Aý7ÿÛ’žëtŸªp&ÎYül1VK¯ïsO@`^Q°ƒ¨Ï‚n”B¾¢¿RE$e œXÓhì§™ë3m¯ï»¼!’û0 lêïRÞËÉ“˜Y|GH=ei qB)CßMLÓ’)wä¾èp6©h©"žñPUu‹ž¶¬×kªªÌÞÄ4u,^è³ÿâÜõ6B:©«Õ¹='*KŠœ‹g†apBz&.ÊÃØHÂ3Ï Î¶ÔÕE‘]¹)·9 ùTggkÛŠÀ¶øz–eÂ:ÀRJô]èsÝruy#楧¬¤û¯Ð“¢ÆY±•ϳ0УÐF¨Ï§Ô³/Kª•îîî˜cÇåååyDSJç(hB)Ëëßb É~x"¤žÕº¤(4ýpdœ‰ kÓù¿——¬µ•Ý1ŒGß²øŽÝnGÛ\0ôžî4q?üŒ‡û=wï<}E7/,Ÿ~ö|xƒ28/ÿÌ„)%Ac¥•é@&¡ç.î‚e–îöa¹üÒt¢i¤Tý×ÿËßOÏóøóöæãžT~Y§óa¢(m.#””©M&}(’’ꩤEáˆ$ŠÜ àœ(þ&£t¶\L8#¤¿„p¤”JùퟃG¡>µhmÎÚƒ#1ÍÜÝÿ,‡áqÉ&ͼô$¤z·¤©už<Ú:Ê¢¡gžžŒóÂãë›Í†ÝnÃÍí77×£è‡S¦R—çR•E!}cÂ[´6Ù”(›1­lp œŽGúþÀ¼tX'xȪ”º«yŠŽïÙí6¹|¤¬ 6›Œžû=~^òŠW¡´gšäþ#˜QÙä8[ÑÔL.l´V‹Ø7 hZ´v4õ†ª\‘gkË4DßÉ€Ïo×ç»ï{¦ õ )*éë°byþþ§ñ°Œ(æa¢¬$}9Œ=ZGºNP‚-’,ͳ—¨óKLjàú¾gèÊbÅÕÕ-‡Á €BqSG/ÓRS×%‡ýÝYÜ“†]á€i©›‚ñÔ‹Ï.œmh› H‚ŠšU60 G\!Ϲýå£ãyv}GDr_H8´IÆæŒ‚–tüÔãñÄh…h˜ìsJ‰˜,ÖXœZ3D%þ*£ ó,ÄÀg Àç7¹Ñ¦ˆŒÃŒ÷ £ëó%-Cß .òy¼(‹úœ§˜—ž ums&Ãc\Áf½åÂZ...èljWWÆqdxËÓç_ò‹/ì9øcäåÍgTUÅvs!ÅÆ2M‚ò‰¼}Â/Ï'kqv§”˜½À´QŒÇ™þᄵ«ÕÈn{Ãv{)N„0äV¥È8pÌ«áÚ2FR.»R¾ø“k¶Ó|¢*e34ô>£!LÔŒýHUOLã‰iÞ£µ!E'ÅŸ®%…WÅN)û½ïgϾ)N12L,^vò KŒ’| ‚×"$ˆ!JsRè‹_XB ±-1hæÅ@PÄTà´<ÄZEVms^¿>²LÓ”ui¼Ç9£üåíTÕEY Í‚-/‰A¼Æû„³’í–·öŒ6I2I3û k.„úдë,~bsZýVÏëeiÀYðaäñt`ðÕ¹ð2‰*R•-‡éÀ8”¥~ËsM–­Ð,Ü®n¹¸¸8·ë ýÈ~ÿ˜¿—†1Œà%Œ«gʶc³®˜—¥"ZAU B2%Å4.+K ’¥,J‘$ñX•[sÎÌK±Ê¼ q•1%~ìÎøsî^F?•©„ãù":/³°vóDá½§¨Ê”àe#õ .¿$ˆMU‚Š,Ëȼôçêæyñ‹Æ¸!l6/Ùn_ɉ ŒÓžÁ/O2Åäq¶¢®¶X³f¿Ÿ( ‹uŠyö¼¿#‘e'‘å¦Ú`t$Åé¼-OY©lüì±nMYiæÅÂmrMêóéðÜà%WJÓ”ùíkP”g¨RõKÊž7VR" ÞÏÀ¹VʃÊ̤mL¶Ä%¿ñ–üC¬(CIá&QÄebýÍ›išøÑ&0/=z±‚KÔâ@õ«®°¤( AgKÊRãcÏ0v,½å(Ååúš²¬¹Ø®¸Ü©3–_FBÇ0½“F qdšg–°üµQs^4Á‹†X¢)IJ1O3}7S–RWµZ­¸Ø]’’âññ‘§§Æñ„µ;VÍÀ¨û•DÕnêUΦO˜àdCcž††ÁŒuy%]RÔ Ë,_—¨Šk¬™Ñvbö¡Éû ÎÕ9(ð¹øQVêú kN‹:SÉs²º1BŽðú»£¿‰„øˆž¤£0ÒÄ[%Ö¤±FQÕ–ªk#ó´ U QÓŒUg’Z} ‰DY'ʦdµÙÉIq:Î+ÕgÁȹ•û¥žöy´RB€­5=v®Äárµü"‰`IN–èÁGY±ÆQs$ÑRô™%™c&éÎû…¦Úäö9¶»~fš;Â,èMgW—ÕäÓLüEó,–eW-ç=¿ür!ø È{«gÏ8Çó8T–UžOSN¦m¨KCSIùbˆK>Qå:‰fýÌÖ{{]ÕXã$ã½Í~¿ÇÙ†¦ÙœS›ÍWXˆe·4Ö””…AQ@rÔUÃ0~k1†Ü¡a3,Í|LÆôûüA èübræ¥ ´R…*â}GL²H(‹›¼Ý›s·_u¾Sˆ(úŒæ÷ùe!­@ÖiB€Â¶9¶¼—º‚”þÒÞíW·,=ïúã<|ß·ÖÚǪ®Ž»Ëîvc£ÄvD‰MÂQ±#ÇXˆ(ˆ@Š%sÁäO€."„¥$  áà8 P¸ ‰Ý€ãã³ÝŽ»»ºë°÷^ë;Í9Ç‘‹w̹vaKŽÉ’Z-Uí]{íoÍ9Æ{xžßÓ$7•Þr±Íÿ,ã÷Î:ºÞ“³DlÍs"'¸9.—“Hʵü Æq¤ï•ÆVæ)¡Ôz“9y Ðr…kO)±=¬‰˜¥$–$cäÎvÍ#"å…uVZ¥ÉS ÆÀñ¸´mwiÄt1yïéu’!}<9OMæ~Á¤ë©µly %Ãéx!å€ó ´'ƉØjäÝxË0v,sà|‘Ø[¡ TcÕÒ~«äÆ ””Rk¹˜Ò,?21O¤$eàèF¡Á+ͼœ„w'¦Iz‚\ä R:o ¬ºBZ$D^tmª‘cã(9Ö%kI9j)R²3RÔ’é:¡,ÈC™¦´¥±†ò!Ÿ|ü†¯í#®ñ\nž=¿áÅ˧ì7B÷È⦠K „"w3ÜbµÆ­‘có]ûñ†Ýí@¨÷-HÔC×þ¼YR²Â^.B˜´#vö]7ªë ².œæ)´“¼nÀ©Z3ÙÉIoÕUÔö®Ó«X¤ÌÐV\tïD(Ì\cŽýÓ4µß¿0M•RS3-n‘I[‰µÊ-h#iÓ  oHY2¨µ©¤Nn­YÌ"Yã»ý(9{¥ ê¸=pkyZ«ÄáʬšK/n”’ãñˆsï¾û.}?PëÊ¢•±o `tGÎêµH»Ý͆›Wâ…ª¿ÚFÝf+¹¼i¢k”Û·ëÝ'^ˤRd˜c¦ïvr+KNšë%`­'òë”ìéÝ ¬ÙI´o>‚>SÕ•=Ã(;œ\ÚR™ FÓóŽÐMœäzk-ŒªJË곤q†¡C##§;Æae'ñbi‘¾%][ž¢ëÇðËÔ"ýž¢¥AÅ™i>²,î/™yÊ|áÛ¾ƒ¡?ȳ÷ŸÿÍ?[·é“–TzEÛ\S)AKÆYª¸6¥YO¥)ï»Û-”Ü4½ÒJÕ!Ì™š  ±8Á¤ã›!§¢]ˬÈRÐÜí¥hº¦ÚJ‡µiŠQ¼Í¶“ýE)ò@)%(ÄZäa«æñÖ[§koMר^¾–ž© ÔÔr›…`~8H9´ZL×z»ÖÊÎ=—2§ÊfýçëfýáôµfÿÌ*~Ý ¬ ™øHpI燶ÈmT7”- d7ð^z­]êüÐÌþk>µÜ” ƒïÂVþ–²ÆZ‰çD)…j=ÂZ¬eÙ6aR–9Љ*k@^s–ï÷ÍÃ×Xæ‚f¤ïw2’¶ c…‰Ë©l“E뮳 {£yºWNý*6k?éÑ|7Þˆ3²$ɳSÅàlÇNÍO_q^5 ßZæV–Q8Œ·Òº”DÊ ¥¦Ùs¢ïn(YÛ÷’J”R¢–ˆUråœYbfôw”šPÅ5ª·Ù~)eŒ‘&ô¾¥m=%Þ™øøRX-£EPZA»ÒÖ—¢”E®o£¤¶—(&»‘ûV‰zÎ"¿¦¶SÅX™çk!‘ÊÂõü%¶Ö»«ïC)…6×X˜RÝz ZŸZ)Qqvµbµì!\#?¼úøC¦yÄûk<Ú9( U 8ìŸlR”uä£Ä™ÍSã‹ÏSà´œ$õtey>’ú®c:bÈÌË™aèØßt\¯3Úˆ‡`vrzLj6™R"óÕm*âœ3ó4“ÒBì¥×Èå*Íug©Õch=NÝB%Go½¦µ¾õöžgOßaž£êœÚCÆZjí¸»77dˆªÂYƒ;0zË))5r½œI©AŽ{éŒғˆ¹ *¤i‰O•ËôÍÍ.0ŒÂ¥mXl4É—²oŽR9w5Ða´çÝwÞá3ïÊpær™8ŸÏØ×o>ni m®øíÄO-èÂh‡r¥JöôºµÕÊ‘òµIºeB²N+´ÖôÃÈǯ1Êàœi!“™ÜNÆRKËiJÓ/å²i¶Ø6¹z•S<7©¹A wK‘—‘ZѪÈ2ªHüÝà3ÕÊ2¥°V‰ƒRº•OÜ"ïÌ–·,…UÈéJQ˜¨¥¢ÜG\ƒbŠï†z#{œ"¨™ÕL¤mЧÇýÖèYG£ˆk¦ëÂù,Š‡Ã”êÀ2'æi&'Q§Xy'Þ¼yE­Ã[K׸IR„a¥[ž_$ç@.‘ËõÈù|ÜnBßYnooyúô‰ô$±Óüº±®Ôj?uËJ$Ènr€RúAc¬ …“ìݵ[FÊçi„9µÓQ·Ã/ƒÖxWÑ*ŠBÀJbî›ã7Pº¢jÆXA9çPY“âÂgÞù"1æfr]5¹BθánËw‘ë[ƒ*üê¯ý¢”®Uo7¾ÍN ¼P‚x\4âJZÚ䈷FmâPsÖ2‡e{°Ö¥ÒšÓùAêÜ–FJ–S2eGÀíáÖ-‡¹¤†,U(áζ‡É4]äh¯Ó²ÝÝUG42E*-j+*ªBÍ‚»Œ!l”>¥ ,š¡ß16eêÚ`ªörŸÎ¯1Õ¡©]¦ µL„æ+ßߘ-->g­º ð6O’Ï·&눤F^Ôaè¤LMkOž<ãææN"€óùL­Ï¨6RÜŒ3û¶l¾Æ‰eÞnëD,ÓÜ0 •›}&³´?ÏÓ =O“ÝÂ1¤qšª Ê CodÒþÌÖŒµ[:¢”|V§Ó…R'bRtíðÒÊ‘3˜ƒ^¹_O»ç„˜›Q6èÚô’´š»ÝÈÍÝNLU!‘Båfÿ.ÚTJ–ØeU Þîîn41:·UÝÆY`ÅÆX«Z«„¦Ä³g£ÄIÏW‰eë{¬Â áaŸæR›’sĸŽëi‘¤%¹ ¾³î^+ÃÞßntöªmWšeZ&²J@"5y„nú&©Ó¯íº4Û,ý‰Úþ»« pmR+™œeoñê“K“[wÍŒ¢7r†¸à,¦§¬I|A·åÐÛ"€®iG[ ÂPwJtt¦Ô…œ¥Ê´Ã9CM#NCgEw•³dþã(¬;‚Jh£ 'rÉLóc¿T‹isÓ"—-9OäT[ƒû„ý£Ô™R#§ÓË2Óù‘¡? âkÑ‘¥¥Åˆ³Ï{B~ã#9 횇ܶÐuªI$/oU˜v]Gß ß¿hƒŽ²¹.MÙši~ Ô cÖ‘±Ü|)%>þø›¼yó€sžwÞ}aÜoa£Æyòœ6ïH­eŒ¼U(4îmÌ\Îg¼Ðu'Ë8î ñ(7]' ‰%äM¡Ñï42à"ÌZJ ʤT¸¹xúdG©±…‹^°µŠn½”Lˆ™T2Šˆ÷Ûe¼³äR·Iny1jÑœÎKS@š–²ãÙ²òª¸EUi´pe”Æy!žÏ©=¸v‹ðív9ïEo l%Î*ó9Ïod’SÇ&¹^Í™˜¼~·Ý:‚Å©%SJ%¶ÝÅØïé½F«BR£Äm”¦ÖÂaç6ŸÂÇovÝÕ3SJb‰G®ó' '†¡mUê°fà’?hß»j%ŸÞnFk»îÛ¶Ñò*aYKàR ºôÛÔoՔɤÊ5÷¥ä˜\§£<}år½g^ŽtÇÚÄ2 ¬¡ïnÐ h5`Íо§¸U΋KÂ@¥«ê!Yš˜KHís€ó|i€o¶ï­”‚•¥G$¦+K8¡”i*KOÊ­Ñ›Õs…)f dII~àÆ´ñ'ßëO…²c0Ê‘«4ÜÎùÇÜî&Dÿ¶H4”Ô%¬é0ºkúxšŒý™lØËŒÕ=Új¬uÂZª‚—”æØú%M?|?µh9X¬è˜ ò3|z{·}Ï1dl¬ö‚ûË׉1Akåè»G'çezM¹¼%44Ìáûã‡ìÆ\eOTÑX3¢üßѽ˜ÏP™y9Êâ­YÎ÷çCÜáüë:‘é´1ôn¼m‚"ÄŠ±£M(\g[è¼Ù%ì~ì¨Xr6­9‘_¼êk´’šœ3‰LŽj‹éªµ’u¡W¨c T¥å”¯–Á šª‹¤VêJJ‘¥áËù u!gš1Yy¸ë0tõë$g¹ÊLÚØÊ<¿Æj¶‚¾™c¢°Æc­gº8r™E—?›q‡³£ä#”WhÕÑùúîçnQ<ÙNÒËå×I%SS¥ê*½\QbˆM¡*’nd‚U—æ ”4¤õ–¥hd|-å˜ì{œ—Í:#“:fŠÊx#R~%!©dñœ´~mõÆ™ªµ’S"§Øú=M.a›D-Ë´mäçùÊÃÞ=ùœL¢ò(¦©P—©Ìʧêñ»‘ÜË ã;犳ý[þö‘¬’s¦Œ¯ÅA3µ„í¥TJCâª6IŽd°kú~Ä9‰osVaôˆ±2Š/Y¡*çH7x‰ªWâÃÂ’® „!ßÏ2Ì( ‰e—+B!6ÍßVÊÌ´9u¶ ůůS‹a’õ¹Ø«ümrfŠä¹5÷™Bä—ibŒ©2GG2»×«{ý@dºaPMkSJÅy³ñ¥”–“'7‚†i5i)miYšÄ9ÆLÒ #%îÚøÔ¡´„ºnD«ŽœÖÞ´„¦‚ÖYF®íV“æQö òƒömìþ›[ IDAT'·EŠ…¬*Þ¼ mˆ™ ´Ù|«~U¯¢»¢¼JÄ{Ù­iô•ÎÔ¤¨Y\qEX"!\Q –·H6ó•aÜÎ.áý€ZœÚ7õ­#ýGh7“<¬Þ‹ÁHiEÈš2K|E©AdrPÛVÕ¹Ž4mYµcnUðži¾'å‰Sü*}w dÇt©XÛqØ?A©;ÞÌ¿¼‘SdÒ3×l¸^fžîPå–sv‡wÚˆK/ňÖu›:•R8Ÿ…X±ÛíZ£Ý6øÖ U]i|õ˜6öÖ¥ÐÝn«”ȦÛXËÐHÜ}¯îJ`žÏ-ò+°ëü§ÔƤE î;j…Óqá:‰oºë:yh&†žAë‚Ñ•ÓöŒãm8³l^šš¡¤gF»ãë#ápY¸Î¯9žÓ6ÂÝõïQZÜYleŒä¡[œ—×%ÌœÎ÷\¯WñŒ7Šd)…'Ïßo£YU¡Ðhc°V^g$£[è´Ã8èGƒ6™óT¤T\`yTSÿåÿù_¯²`[…k¦™æÛè5Ÿú•…M´¦ Q¥)IåAÊŸ†Ä¤f$§Æ²å­Ùü¼Å*iÓLMó·b´D¼z—16°,ÌË m ûá3ÛÈ7Ĉó†’‹íÚ¬œ*‹ì[^&¶A\Þ ìú%+T• ºÈÍy¯ M‹”›|µ>EkÉÖ0Æ2î:.Ó'<¿‰óp»û¶æ'€8‡÷âkÏ9ãú¼Øs–=‚ˆÅ 3l‚½¼€ZÙö"yÊ"£M KO­Ï’ÏRjôi{éÖÛgÕ5¥”˜Ó¼Å3×Z·zû=æy‹ó½_*Æf‹½ÅšnK´•>§%˜Ö„s†ÛÛj¤L sûýÆt¢ÖÊÄ&!¶ØÚhP¶.ÑrwwG*‘ûû{ Fö¦Gá˜â«mÏ#4‘ºý=¦ibN_•Ï»ŠÃŽýî†Zå@ú[bŒ ƒ”T÷÷¯)5rs#”ÊÓImáò)ÉÒÇítq^–¸Üf¡ —ÕKfõ¦6•Ó9¢òºÔ©hHºsA9iœÏmÚaŒø_×QÞ4–eáóï( !– [¿Š%eèÚ…F6˳àœØíö›T:ÆH˜µ ²Q$äš\®HàV¥—ÑrQ”*/Eç_’ú¸ì"mù%¿N[¼+” qŽ ¤Üº»}u•j‹³&HL÷bëtæN–‘)I¯&£òÍ(Õ¹gšÿ¹¦öw d§°Ê5ú¢ÐíT,-ÿY>÷®ë~G†îú™û6r”]†Ä3?îš ãÎÉÈz+k)™¢5!žÅW„ÜÝ7OõÊÁçB žˆš¸¶v¤ªžTÄòëªk)V£5C/F1¥a·»ÉHY軹J©c”_;tÛ ±¦3ÉHy „‘%H¿PŠä©—ç#0ŸÑÏ—ÍU:/ BÙ­¯ä|ÂwL³Î¢Ö)ì~w³}è¹,¤¦›Ÿ®¦¡f×%’ò$£±ºã„Ò`Û;ÂpÕçVÃ:¿»ÖQ™× )¾öÁ¯2ôc4FÉt‹*AòF{bºÈÈШÖX 7©wrLaÙ>(© i“9)Éȉ¢,¡ê&OϨöwžíB1 eå¿o¼<"‚ ~ òõÒZz«åa"-Y;^¾JFgµ=ø5HQjÚö(´ÏÆZË|•[NúG¬•’“(“•aš.Ûæyýý•Ú¤îõ-îlܤ"]×?²»˜I)³†ó<Š,ë[À‚D©çÚdŒ‘ ÀyÎ J&_Ó$ð­K±Ëù¨Ô&—oƬ#Cñ†À<7dL×ÑõTÑ¢ƒkc=ÚÖß^¿c ×éaK£íËHߦnj:²Ò–ET¿²™vÛž#eÓ^šÓ^@£¶ëÐÊcuÞüõZ'R¼´Ú}5Ïñq"–I¤ù%c%ŸÑó§wÛwû3kÞnŸgw/8\§ 5ƒ²’ò«­*×Ëi ñ¹ÙßrØÝl2%g<å6½Ö~'û;Œ¾I#ªà1µÚd1Fuq ´” ˆ­âЋa¡–"ÛokE¿¤J3ÙhžÞÝÉ_$6…j5--µ’ЍLÅ‚ZQúÁÓ{·½hKÐ,‹4oµšÑT—É%±L޾?p»BÎÒ@®'^I†sü„®•9Èí¦ê£Éi?$Ù©$™~9)Vʸ®Ó(ûŒÓù ËrÜ$*Ó|†*˜Ì9ÈžBÊ£Òú.‹®=xv÷٭η½Gl{1äô~=ÿœ|Ρ²¦÷¶¹jQô®>nÌ[™:Ž{†^°?¥Æfîªm¡ºN{dw2]ãVêä,7l­’¬ªŒ£ëÑ|E…Ö¾õ8{bš¤)ž>,{i¬/‡Örc öŽ¾ï°Ž†´ ò²k ÇtnÚˆôÆ*“뺠Âäøá ¹ÎÌË…%É÷Û{‡Wçæí¡UrÓÅ"%•V7e»†¡¸Öà+…œ>ÞH3¢ë£ "åà¼Ý½hÞõ¥ýÌ:l×mq±Šñ”²X½ÃøÊá°Û¤ÖZYÙä¦IT³¶r{xÙ¶—ëïmñ[q½¦—Ͱ¢¬ÔZÀ)%‚:ãÚ䍿ˆ÷ÛFš•ÄÎÞ¡…TÌ’QTûžka™À»¾¹ÀN8g7@€à#ÞzœíñzEŽ2­¼óìÍûa4“k¤uÈ̳ìGô`¸ÙËõml¡ë$óz½b’gßÚ&þq¶o¥*…ö;¦ëÂét!„Ä0hvc³Z‰5õýgd{i¶4‹¿ºR˜¦¸ à„¥±&R¬bžOžÞlÜZ›7ÅØRŠlеVRã§ÖW±öº®ƒšDïV=F”ŽTCS,§ =ºßw2†UF ZoØageÙ¨Õù&e7±PéŒu‰\b¾p¼ÇÙK§e‚µ,ôìwò³*‘­jècpûm¹öªx¹AJÌÌeÆ:Ýuš»é‰S”RUÁ ¢Ñ®ëPÖ·hå–õXcüï-YøêLŠ11Ïek^­-”¼pÖ–óíæp†®sÝÓ¹Láܨ᪕.†®³ŠµŽš#—q™V–¬€È 0øQ~°HƒVj ¤†¤¡RÔ‚íR½r?BG8²Ι¡?°ßÝÉŸÚ\³èvrÐ|ÏïÿQŒQmÜœ¸½;àœáþþ ÷¯ù?þÁ‹A¨ê¦ÄÌLó•ãQ`ɶʉéÜãXPápΣ¼âÍå×™–³LÔԕʵ•Mˆxþ1Lä$qUÚTï¥ʱ•™¾]X”ž#,3Çã™%Íì÷²‘VÍòZsF[˰ÛIèÍ[å“sÛ{%\$kÛt¾õmu¡"þ’»'C+»2ªMd&ÊÛËÃ1 B&’25Ô9P‹B1“rÜzRm„¢,Š ‰¾ª Íùº°¤”{I×ÔºcYdÒ÷°ß¯À<)I¯ËtƒÆ÷³ˆi!¤¸ñ¤–©í`pî‘®Ø÷=oŽww{´6 µúòÔë¹âœ0MSÑÌË™X.’ ªn$ÌÜTB\HKÄÛ ×K¤˜Wô}/µ4‘Z§ór <{öÇç6õá*¸Za9áî7ZGŒªÁ»ýã:¿6•®JÌóµ5ÞlØÅ]ÿ„%\¨µ€Jídhj–Kò**®IJÑ,sb·{ÁçßùCtás|æÉù­_ÿ _ÿà+üÑ?úϰÛ?åg¾ù_ðÿÂÿN¿¿Òõ…ëuÆË4¹NÜÞ¼'eUŒÃž¾%2ÀHÏ1§¯¶0›À<…í×Z#¸ŸRØt<ëúÞtK:´¿î „*À¸+J§6Þ\û:É´ÖJŒDË$’òëõ*ôîN"‘»S7iu”-¿ÎM›ãØK*+–Îß èZZÄy(%`ìnƒ"ˆmØ6ޝ¡Õ­dÓ­ ¤´P˜˜—§Óªºrss'#÷$p·eŽä\%ø¢6^Ö#µÒl‹¶ëé,èÖ®“eð >Ë+䕈µG+GL3ór$—«P!õÝV^®²z{9ækeáÂr•é²m ¹B:JMo+ªamrŒx·F”~ôSx×£t%„Èõzát Æ¥1¥D 8ÍË6 ‘iÕªgwMãD(÷2i t½c÷ìv=Ç“Ð$äƒËeÂ{K7Xñ1™ry7J3› ÷ûhz¦’ØC1­f–%UÉf¶-Ë¥%PFšùQo} sB¼+U&?4O‚52ø°Æ·zº´ÒÊPŠHs.—§Ep8Ž=77#Λ¦¦ÑæéH-– ζÝúÆŒÍ̳,dvhãšÏFSiû*S2¹‰%îKé$¶Pm¡>¡¦‘\‚fG«A2˃eW?{Þ† ±üe÷åI)s<ÝSò=ÊÈbÖ¸–¥ˆ£äJ-Òóv~/2–:Pó*v\ÍWöf|ÊØ9¨¥¤¬êJʉeJ /BLP†ýÐc³!Ç@® gvèZ¹)ŵ±ØžÎ[j©OŸl9n"¸KŸŽvÃ[1Yðĸ@­(eQÕòðpâá¸BØDþ¢ŒJ—«ÂwšƒêñNÌ(ó5‚-¨ê¡*©‡GKÚù-vL€Á‰gÏn‰')‡Ù<}¶=áúÈ3÷íÜî¿•Ó‡PòIÆÁÍX?t=ÇËë&S·(­È)5­—‚dÐFmf£å÷¾o#FOÍý¶±5ú±´)í¤vF~¹fæë™9HND)…åÍ¥í Î7@زӃ8wƒ .§…Òh…"]÷PÁX±È†˜)Õ¢MÑ]SÎjê¶H]³1”®±ïdr§µ 6qÕ-Ý eC©D©c5®{â<Ð9A¡òI-†ŸLæã&·_{ÖGæ—Rš®óè)Ê6α”HÚ*ËdYH ×L܈’Yh¨b^6ÝÓ:¶¶F ÈK«Ž\ ©ˆNݨLíwôcO ߬~q „Ú$¤2ö%eJÊèjÐÕ1øžÞÞJÍ7¿¢sÛj´`›7[OŒjÒ¢­kÞ9ÆCÏñ˜æ¥ï„(®5‹÷ ~é‡7¼XöýŽê:R4TwÏì+ÆŠ› ¶'¥B¼Þ1¸w7OéûKO, —ù ¯³è Kx ªmäP«‚¥ Ô-B®ˆ¥¹üd^îAwO¯DåÙ÷- iÅB¦V:Et³î¢+ÊäFF+þét%†ë4%'œUè-ªB0ÍCŸçƒ,àœ1T¯ñDÊB‘¥cÀšŽÝx`7B)¯Û&|fYTÃíø¶[èpn“·Y|e’¸æYb†šd ]šÏEÊGÐÆ2]΀ôDÊXÈVäá!“r–ç;œoˆœ6$© Òl)M€ª­”`%Jx»çs+¯$Iƒ1kóA54Q‰TQÚµ­»Fëže ›¿c]8[g¤ÓÊÈʾ™`œ¸½½‘…žŽb[Œ sÇЉ×A£ÈºNüÕΉæG&T’ª³³Ã[hšŠoK¨uî,¢¸uÁ´f¯ H UX§cÖÒìJˆi UéÆ FÄÉ¡ýŸy÷K|×wþ1ž>Çý›‰W—_!ƉãùcÞÜÄ Õ{Œ»6‘ÙŒª«\åŠ1‡&<Õª@ÏB#ÄVKצ,îZ`¤%†ÔX°+j²°f¥>T£´9Byëöh‹©Zª(tqhÕr$HíÅ€’]µÜ9«>ÍXËÂùò¦•€¦ÝIzcj•i¤­@‡Éä¼4×¢ rRl½ƒmÖ]PZKéÒ–”1z?’s"´mx­rÂË>ìQ=,/œðÁB•Ã0ZHZ­GÍ–Þ7Þ>¥ë…68ÍʬÚ÷›ÛÔi‘æ»,‚ÛV\¥EÓw{†Av<ÿÞŸý© hÿ?þ_ªÿë?Rs‰ä* e49¦Ë"8u ÆHŠR¦yá2-„pæææ}Кe ¤<ãœBž[Ì“OI@4& Päå[gók¯¡u•S-_Û)›šýr¿éýå´ðPv|æÉwñ]_ú~žß|‰tÉä8Ñu†ëÉÐ÷kÜíÜ µaå¸;Hü5SªFEµg²þ„ó…)‹ܹ¥(æhPÊc] ©±¢^.‘ë´j“$³<¾¿kÚ£@XRÃé÷Œ L6/ý§(¥RMR`Ñzy+z­=¸EatmåÛZE—Sn<\°V|sH›>jeo›ck¨¥o‚»°á…ÄjÜ\sÝ-µ&–äðr’0+»#Ç ¾oîÇ€u+|¼“^g½ÁVì¨4ë®yf4Þšú¾ûˆHXÓ±ÌÇÇϦšÇRG·(9í :JÍRv[ñS,1Âw{Œ²hÀÍ0ŒX3R‹Ç»ãùCþŸûò§ÈÛàÏÿð_SÿÁ_ù§«uŠÃî@òHP_½³B§L­šZ'* ƼZåΆÚ0ÖitQ”Zq^ÜerM=¾ñ¶M/Jý8òÂu:2MW*™Î›­õz½°ßïéûõš[6ÍïûòK|Ûçÿc÷Y–+Ä©àà-}¿­ä¦jômmÄj+/ƒŒ íP˜g>yý[üÖ7ÕÄ4-ÔZ$ñSäXÑÎᜢ(E©3UÍ¢#1Oçó‘Š^ún¼MÂ0”2·T'íúÑ#¬jÁ´ÕYG*µ1¶k!™…LÙ’,ÖYúÁSj/¥LŒÛ^‡*>꘡}/WN§úÞs8ˆqµF‚qLßûa"Eš;¬U2ÒFüZ%Tí7’`LBlòq±ÒšárbZ”*,±4ÉGOYÐõ–Ý~Ø¾ÃØa!¯sÆèK³:'A’ÆG‚|­•»ñÛdœ³ä"Úß|nâÆ:âŒ"PeGæîpvO šmÏýÿ÷ë·ýÃÿɨ¹¤Æ ­ Î d7w ýJYƒÛ=§ó›¶±c5! ÃÇv–Ý~¤—ë†gnèíEGÉm Ö>~ý«Þ2îp¶kªMO¦”°ý ¿§r:’òk9ÅôˆS7õŒï|ï_àý›ïåk¿øu¾ç{Þçö‘‡Yã÷Ïqùº)4åû´„eÁw]3BYéUªà>ÿô•ŸâoýÌ_bÿò#TzÊ?"óFˆtÙP:ÓõËgK¢äf3%1/÷„t¢2ã­`E‡a·=j­éV°4šËåDEBà­õÌ“l¢;?Pr×p8‘çVfIÿ€ª¤V&8ç7¼åJèK)qœ^mbIét³ËD'Ìjðñ¬6/y©¶_‚tâ§üæÇ,î÷Öé–5.Ò~ªá|yó)e®D•éÛ[;QÃZz¬ðÖ¡MFÑ2ÓgµM.%—\o7ß²,XRÑI™˜‹HŒ´•qtÍ"y A"¦­ÕüèÿÄïø2|ê¦xûëÏÿ‰¿©þÃÿêW¥!êïvì÷{†~äÍ›#—ËcŰ~:¥&Hó„Ø‹,¸d¦K¡*ðnĨo¼ñ¢•¯¹ù¼ Ö "sX® ƒLnúÞm4ˆ9Im쌠SCJ:ÝS’¡SÏéõÿÿúyþÚ_ù«üÐýsü©?ó(å™/W”M›ËlýúT|™jb™.è²ÇzÇ‹çŸåöð.×ë+´šÄW€Ü&Ô"R‰VrP¿NNˆ³¯{N×í³¥ÔÛ–¯'£Bk›yH¯5¿üP»¾ÈMªý`ŒÌ»nàt¼2/©Á"Ö}QU1ZÄ€ó, ƒU’/£ny÷»ö;6ùºófú»aÓƒ¥¥¡wÄIFÎå·-]¥$và…šXÙT»d¶´ Õ´v8Ün¤òeïy×9ѯÕÊ9]¨)7e6("5ER¸â•»ÃËË(-#O À@ËòQyI”éIi¡÷¹Ê@¡fš _ö^¿Û ñ;¾ë׿ßÿè¯~_•`ñ…ïyõêÙŽzÅÝÝŒuGN" ú\•|·ª1?È)‘ªéBÉ¥2ÆjvÃKTâ‡on¨LÓEÙnD×Jµ­ iµœD¥îùÇ¿õ_¤ž.÷_ç|<ñÓ÷ïòüÝ‘w?÷>ãá)õæŽ`íf_´VBC¬ÖBÈȰ„™´¬Î¨èDÖ\G(;æô1!^¨*àÜN¶íºÕ°*°ÄW„9'Õk*;¡‰¤Ðn„[T%#C<Öª–r^Þlžä^^ ÷ä\Øí½HVRÁ:…±¦•c ¥˜O¥4­S«Õ/q¾?˰C•†·‘X³¾“—0\ç$å«Ïz®=àJz—bE«ÞyçEۆϤ<‘¢hº ñ( IDAT:Ÿ±Öár/—À¦í×å¼°„™Ýí­m¦˜®èš)LQâóÈŽÆln)®ºÈ@G¡_©rhÆ,þ²Ã{Ëýéÿþw}~×—býúwÿÕ¿­þòOüpuÎòüÅSBØÓ÷=Ó´l'ð<Ï䢆FYæ)ɤªÛo)E¥``MÅÔTéé»[¬cÓÏäZyP()€r„%€Š8ã(ÙR«çfx‡øjÏ7¿úξðÅÏñ³ïoSÍÌüÉ?ŽrŽÏ}á4¼4Äkx ÀAkÀaUÇy~ …{7/pF¦9&hŒ¯rK©c; ådª¡\Í]‰~­ÖÑ%€2LóƒÌý­o¾™­4ûb UY#ÖÜlIcbà•R¶kmœïïïYÂ¥2ýàè:'²8Óe@éAì ÎQ‘Qm.âÞ¼\.8çè\O&“–¼Éû;ï`bIæ&8UÔ*/­3L’ı‰^ɇÈËð/ÿè—áú¥X¿þ­üëê/þ7ß_Sq"§Ó…aÔ­P ÀfË+^Ò$Í£­hk©d‰„ rB þf j¼\$ºÕù¥r#1ˆNè:] &†Ñ‘&M¤ãæÅïÃ/~éþ}ó7Puáx}Å—¿üe>÷ùÏðÝð÷æ…ÞwXmx¸\‰mO²L3óPD^â´%¤™°œéH­3]/™ÕÖïZ¸û¹GUádi»0ª÷ Œ,ËŒï4)_X–y»•¼;€TåA ±P&@r¥wdÀÕš›6ÉÉ`CIT•2òë•Îhc$¸¤óxïÇ‘C<×}ÎJ1\KŸU½»&á®/—1†yšä÷¦„VêS½…›Mx\ÛÏ ¦iÙ~~Ïž=ãz5\®LÓ:°ÐÍ ç1Š6[—›ç ¾ÛÑõŽ˜l›6%k¤æŠÒN| ¬½jÞ¾ sÎX#UÌÒ¼4ÊXB\ø±ùŸ~Ï/Ãïù¥øwþ´üAÿÉ÷'«s‚]Œq’í¥Ö-{á*ˆ­èÃñ¼@M šG!—sƒHšM¦Ô‰0Ï\§“Œñ”"%…5;ºn ‰ 0U„n^?áfø™ûÓoñ³¿ð¿ð¥oÿVþÉïûƒüƒ_ÿ€¿ów~Š÷>ûŒÏû?%öC¥øðÃxþüù£Ö%~ã7‰^ó™Ï| ¾S|ãõ=¯>yCí.äA†Z˃*œ‚Ò‘ÂB¸v=p8xŒMrËU…R‚r´Í%wn Uïú†ðQ[PNÊWj-XçÑF‰A%A©ò¿Gx±¸Ø$œ±´&4myƒ«‰I ?ßd›<_Õ†À”Ø[ WÄVª±8ëP‘«ä‚†m ºÊ!VøRŠë%PÑ­œ·dÉ¥AḬ̈’RhÿN¦€ÎŒx?H¯“ª’¤"å5ºÊ}:®ÿ{{ò´æÚIL­—ÈüØü¯ÿ¿_ˆßóK±~ý蟒+é?ý‰?Se%Cÿy¢¦Á•âé³±ÁUÚü]œ|Fœ¯’!)hSqn5ª—{eQÅ2 RÒc×=åùí¸Ý oî|á;žòÉõ†>üe^>ù¾ý;¿ƒ_ù…ÿ‡¯|å+|÷?±úÀi^øµ_þ9¥¿øE‡aš¹?ÿ"ÿçÏüoèz廿ëó¹ß÷xúä]Þ{ù~å«ßoGœF€]µB~EH¯yºû|‹h˜Oízq-Á(¡JÛÓÔ\H&o€¨+IWºN6 .G!ž“®º B¶Õd !”í‘Ú?7émˆ%)@b…”ÔWi{[‰§)Åmxšõv†]úŸ$qKó^ÌeÖx!|'!4ž/¯…À·Ä¶’<úAÐ= ‰$£vMöÎìÓ}_÷Zëºþÿß»‰0°¤ÃZ‰eÇçPœ4éf#pbks²¬±ÍãE‚QÊ™ºï÷—rf*5MÃ8žç£Æ(Ùn*SÌe3ß.†¦ú)¦³Š™h¸ÿñyNT–l‡4çh×u‰ÒqöˆÇQß»˜F²0 LY<5u¾s(¼¸0s(ŒÕ ÉÄì}·åªùcprrÂ÷|Óo?-ÅðGÎ)þ¸ë­ïz]šü€1–ªZ|Án;âØÒg(3 Ë´¹†ª8Æè–è%hÅê*kU&\XüšbPú£°…¦)K Ç|Þƒ¯¢Õ/å£'?Í›O‚pñÒŽ|ðã|à¿>Ο|ðKxèe_B]>È>zƒ|øWÑõMVGK^|ÿ½4š¡ú$:"0vçܺ~‹ûïzþeß@­>‹·¿ïL¹á¼û8ÎwÔÍU*{LY5”U~ÊÓúaŽž\Ÿ“9 ²9_JäĽ4\3¸ë,–%ã´æ|}’‰ •]Q•K6ç9¾¬2³”£ï7(88X¢âýܼ)l¤ÃÃçäC8ç(m”¬i';\QŽòï…iéÇíÿæUØÏ œsÔÕ2cwÂmÝ-3w·HKË’ÉmIÈ=c"M}Hi áÈÙÙ­,ûid¦cjbÔtÓ‡æ¼*ñu›…üÝ×U=d÷ L®ƒ—9JQhÞôð»ŸÖbxZvŠÛ×^ùS à-ï|U þœD‰6Ê; %gβZ201çA÷Âò½\ÐÌ>ÓZ“b±8d·qœ®¯s°¸‚ª[ª,aèúOrëìq|v\ØÐ6pÿýpßñC|þKþ,§k‡OOÒù ªÇ0¶àêÕ;¨[E7}‚ ×( U©9<.‰¡áÉ“ñûüuþÔK¸r|£Oh{…Ý 2¾rÍäz̨Ѿ¤®Kêj…):L*BGðPT9ãÛ9|˜™ ;3ÆP¦Cʢƚ%…^eq¤€ÕÆ©§mP:å)i‘ƨ‰ÞÓwΆ-Þ{v»ó –ÙÃÙÙëó[Ü{σ¾8C´ã¬òiz*Â3ogÎÊ1¯˜d!^dOÓDÝLt£b³9—¹@æS¹°¥´5!õâ?É…ºO8’ûIÉ®[bÊ‚%By¶³åè0  p~B++€>åhßþú_þ”ÄÓZûõÈWÈ}ã~úU©jZlÕä>¼‚у›‚ïPªg±¬AzÌB»Ä˜‡7=S_ç˜á1s€®Â1O\¿ÆGþàƒÜ~ŸåÁ!£ïô„”ÃAuEÙð9þ ·Gé9çꇜž´|柇iNøÈÿ™©OÚÐmG´ò,š¬ŽS®ÞU°úÄœ\»Fµh8XŒÖc«Όӎ]·Eé%CœbfS¹ì0oDW#*9o«KŒ5¢íO£´2cG ;bš¨ª2C$ÑVzAT£+ЊãåÜe ŒTìeK‰q†Àä&´qØÊ•ÜyŒÍg|Töh0‹åœçs¦`l¼}“`TGtµÁxÁßVp—1z’Ú0Å5VamAÓ¤¬l.IQŽÚ¥­¸÷îÏ%Ɖ®?ÇùŽT1'AÅ.¢”ÏÈœûëóSV Ÿ²¢Ø¯7~ÕÏ«·¼ó•©] §È+¼‡º*1ZÇ“¸yó$çà‰?ƒ$¦Ï2ñDY'´ ì¶ŽåÁ1GÇ÷±^Ÿpýæï‘šSv£'¤(š,c=¨ÊðÀ÷cõgðáßû\»þ;ÜsßÝp²dè šJsx\ ôJiv»-Ó´¡iØT2…Ž!l¸ëêçóØcQ›k=cwFœ KaZŒÝ’”LÇñ6©V(#ƒ8­4Ê!0©‰ôÃEEYŒŒÎb‰VU¿%ª2¢H½µ‘;ˆÀ¼¬”FQ£ a°¢´ÄgИ) ŽŽ—Ô•¦ª,ã$èž²öت¤ª+ʲÈÙ$aìRól"`;S:JŽ ‘Â&¶Ûsêj%"I#6IÅ’ø6—*ÆQ‚s R–ûYCÀÛˆ-tžÑ¤ù>#rTrŠÃÕ2xõÏ~Ê‹áS^²k¼kÞ5”²™j]²hZúA³^{–Ëe–wLn$z‘eˆ1©`>vÄ(}«{îþ Wwò+¿öK¼ÿ¿Ê‹?ûwKƒ²ôcÇÕã#ôÔП~”'n\ã übÚú*'76ØrÁáê h›CÖë¬Ì\¦!Rš%‹ÃueÙô ‹‚ =~æòáü>]ÿ¨È¿Õ!ÖÖ8zJ±K•CÙ…öylçaWa*I\5 • \~íØKTïòð„,š%µ½Š6+IÛ)Z¼/¨Š•UÜ0û·­Íiª´­¥ëv¬×ç3šT¨yr/8X]¡.ñ“•¦FZÏœ¬Ò.ò%ÖÍ8}Øç†l9uLÓÞújÑ:â|È3–ŠF‰ñ?8ˆ^bJ‘ªjQi!<¬¤ð> Ô(äC7¢uGŒ™‹è$”Xˆ°ÏЬj¾ùÕoÿ´ç¥(nß5Þü¯ÿR²¶Åè•-Y¶+’_BL°1‚ð^3 ²kl7ghUÓh^tÇŠå²d½¹NˆŽ›g'ŒS– Öë-$ÏÂsó·x÷/ý ez)/ýÜ?Í|ìÏð῟‡¾°àÁϹ‡}ôð‘Go±ZÙέ l\m°Õ1IOüöï¾—=ô¸û®+¬û›`:93S0Œ`ÊDp‚˜18R¡¨J±—NJZšS8É®°‚B+Aj’é Ê1 7ð®‡ä蕣Лœ´$PkUFRô³S^Ìjžu]1‚µéû^¢¶PŒ£x:lPi‡wâÖ³ÕDBòK;ÁmÓi­58æ.ìz%1ÇS TÍR˜ŠÊÊ^+ 9ï¼2¨–¶­%¡ÈuŒ£˜‹ÊR¿ãè„æwèÂå ~-¤9aŒ}F âÓVûõËPå­ïzm²¶eÑ2†QúàG+P^ò«£Á 7%FƒúLsãzÇc×>ÁoýÎ{¹÷Þ{Qfäþûïe“n0Œ.»ª`½=§\•غàÑÇ>įÿ—wòµ#_üE¯ç“×Ö¬·×Á^ãÏ:â¤{çNhê†ÉG†qƒ'±h7O¶¼çWÞËûßÿÝ‹ÃÎm˜&Ï®÷(W_tHR"!i:ø HN…- ÜpÛsMF't)ˆ cKQø 2{X‹ŸCŠ[§OÊ%Ø_äæ]ä\”¦à`µ`µ¼2dÞ”ÍíÊk–bGNòÅÜáÂH¡ 4ÞEÆQY!Œr .SDŠÜ­ñþ€iØm×3ѶïúÚßzFŠá)Š‹NÕ;Ô[ÞñšT.>'ü™¤#1* Sa›íϸïÅ_À0Å„±#~öýxÀ–'9¹¹% QÃg§×I)°:Xrz}Í7>Äùù9}á˹që1~÷Cïæ½¿ú“Üýâ«òeÔ=“ôÝDÔé”,޹ûÞ%›îãÜY3…\Xsp|•vi¹u~Æ­³sl%$õ¨$d0ê ïCN‚­Y,T¶Ö¦ì¢»ְ¨^"Ri³ÏåÛPÚcJ†^ rM#æÜRIŠpxhÆ-ã´fòB2„XÑw"@,Ëzîý0}ßg„Mȃº ­-ÿ xF‹áiŸSüq׿üw¯LUÕˆ wcŽ÷1Ã{¶ç…ÄÞêžqZãüó*H•>ƇÉè0ô¢@„i¸{98Xðàg?@YÃGý gçשa'uá:]× ™¢ne˜U–°×¸Qob9Õ5ã^aÊÈz½¦ª,‹EË0vLÓ€R‚ß«n÷\8頮˙ý´C4ÚÎmU»]—} æ6Ñ¡p¶”†F¤ÜÁO@@%‡#‡Wˆ)ø_E\ÐuµÏÙNÇÂÎe*ÞÈŽP4`Öx°E“g#ucq¾§ë6hs/«å!ZeŠHtÄÔÙ¡À!䎰̎:‰)Ð…üù¬òüͯ~ß³¢ž5E1››ÞñÊ#, bL™'d¸ÿÞÏg»;e½}’aÜHBfÌÜÔ 9hï„|!¡(ý°Ë²Ñήîæôôf–¸;º~ƒ6Å¢’ Ê±¿ 8\Ì,rf.sˆdN5U‘¦^RÚ–àeøÖ´ËYéYX :”Á]9SË÷}ý=én/ÏÞǘyŸv6¿4\E­„´1¸9ØåE h">f:ÅìîÓh!HËt·•G½Óû¬¼˜[®Ö”’ä¶Ì’l,Á3Ǹ âfo‹4M%¤p׳í6E Id!:&·£°‰ƒÃçäçªjVù.”F´–Øç¿óWþóª žUE!…ñå©®Ú™ n­¥®VtýïqºY™Ôö݈sñ ”¥åÇ¥Œx¹MÅññ1O<ñ8]¿ÍæELAæ ãˆ)í 0Þ{D $ƒ¢’ü8¥Ak$C:•8—"“he!Ó¶­XuÍx‘Dš5E·“;Bt ½å‹Uö+˜yˆfM!¶`ŸòÙ^\E!¼«lv%z”JT¥  ~Æé+¥ˆ9¥ŠŒö ‘<ÈÛ’pÙã0Šs€ø±EIU®p.f;/¬×çx?áô5ÜIÑÐÔK”2œŸŸâƒËâ1Y™œ]®eiyÓëÞñ¬+†geQì×[ÞñÚ$ÕeËÐË¢“†a~ÁªBÂ× +mOï=Z™œ…QÒÔlÖr­ké uÝ0±£îoCå‹©m³ŠöúÉæôž˜‚8âÊ¥•_Ìz£ºn²5/©hpÎS”·ýY«ê)iN)%&×Ñí†ü^d?û…ì¢,¬ø—³,DÜnE¡¨jCQ.…¿;lñÞ‰3Û„œâVŽ0h9r* SôA5Ãp ­#è‘qÚÒ¢T–ÀÆ…:Æè’eƒÄ·­dX×–uÿ1ú~`è%B­iV¸I‚S”R4mÅ“O>ÉÍ“S¦Éñ#ÿèæ³¶žÕE±_o{Ï×§}v÷1¿\¯*«‚¢0„)Ò÷Û ï͹h‘LuД¶Ég{‰ÙÅø¾Z­HŒ3ÖQ0–E¾×x.4èõ§]vÅilÑRU Œ. z'_O-ºœàÁ˜ ’¡ï{®ÞQ±Ùl!°ZI®Åž2®µ¦imvêyfmŸý{èCþÂOÓÄä:”ŠØRQµ+ Šqƒƒ|ˆ²]Ñ»kŒƒC‹Å!:_àšºn8»uŠÒ[F]¿f×mÔ,é;‡Rš-ã੪F"·r‡ê÷GE…ч‡ÇØ¢a·جwtácl6¦iàÍozüY_Ïú¢Ø¯}ÏÃ)xÅ8È×Õ–2ýöa¤-WlwkB˜(,³®GHçšaº%"D­Y,$ê×gCе£—ó™ßM{uèE¸Êb¥3»VÍ—á *{>g²Ñ*&Œ¶²\d@@Gß÷¹(ÛÙ°#Ç¥!ö"}Hin»†f¯öÞ?±Ï‚ëE°â¦ë¯™OLÄ`)h(LCäL.ÀHÀMܨš–ÃcºíÀäú KŽø ó …@ª»þ ¥Œ„ãdQ Òa܈ÑÊÝÇñ•CŒIssDv 軑P\ã‘/ÿ•çÄ{öœ* €ü¹×'[´ù ãšaÜq¸¸“®Û¢§,­è¤¼¤i]ˆ<$÷ï­ÍŽ9­Q9^`êróœõW$qw­·3Nýœ¾ª”¦´-M}@Q”„œe7«F³’tïÇî)’çýÝBk-Ý-¿£®Ûw_EÆkʯu¾ÝÈtÀ”‚7ÕšGb"J@â€R#¶Lª‚TQ° ÐâWJHŒcO7ˆ‚·nùH”%ÃÐ1¹~v¹¥¨) ÉÑXooà&™}R °‰¤l©hÔçRV†a2ú¯¾êgŸÓñœ.Šýzû¿ÿæ$f„cŸ¡a Þu·P´”v)åá&¨Àjñ"šú ýô8$#÷µ7Ä{œïq~ ./B=ö1µ·ùEÖ-Ž;c,1È%ßÚ*‰Nçn’ e5>ïJ¶*³4ZÐ?{ß15;¥„.x Âf£Ù«X›…ÈÉ›¦&DÇùù9UÙ°\®5ê$¡°Ä˜˜Fó¢X-,Ô¶•yEqû$¼œï>ÑlåEQ‚ˬJi{/.HÙ ßðŠóœ—ž7Eð£ï~8…àrÄHL‘¼!)ˆ Z5L®c×€ "wN-ƒûp&hË—Ô#a…!OgDgUU5¿ˆ{{è0 Øj•3ä$]è‰ @.š)ȗ܇Àä"™¶÷t\f²àEÖuQ˜Ìzò /Žwÿkô°snþ\¹z@Q(nœ<ŽÒ‘Õj!ˆßJŠ6˜X2³}èñ~š‹WQäYBES¯°…ĉuÓT#xkEž>Œ=ýµ¿þ¼)†çUQ\Ü7¾2íÏÆ{o@b)ˆM³Ä‡‘a:ÎÍÓ3¶›‘²XѶW(ëƒ×bÍUÉêHŽÉuÄ$yÚ ÷BÜ_¬o®ªJä(ÎH4Òâu~KTk\8aÛˆDÆ%´ZÐÖÇ4õQN%Ídh©*qùy—X.ލª–iôL“çÛ¾ú‡^Pñ‚*ŠýzóO¼"¥(i“”¶ñ\H˜óBÅ.+KcEæÑõ»ücÅœm­ÁòuSÎíT™óEò²Ëtý[–èBD}eYu$ùÖj†qÍ®[S…àrt›“y´€Ü“?grb(ª«%‹ö€~=P×-UÙ² z/;MJ1ìóF.²$ñLããLƒ¢ªZPŽÈš¤þî×]{Á½/Ø¢ø'?þŠTUUî ÉB [9'GÃðŸIDATFI/?„‘UuŸ9ÆhÊJÚš>gÀMƒ¤ÆîPÖZ1ïUeF!†Ð…!&5‡ nÂ;%»AœÇ^ÔÀ9‰”¤9XÞGˆ½Ì’´QCH-aê~º1‹ñ¬­²B…€©§ø0Ât›ÍÔ¢°( ×™bOnÇßûÆÿö‚-†tQì×÷¿ýË*Ñ6 Dº÷:$aN¹ŽJßÍ4 h-vÆ(éÖøçD(¸úí“=côs¸É4FÚv‰÷5!jŒ.hÛ|”ɱ„!’/ÔžÉu ㆄ¨rcš²t^Ú°nÚÛZ ›Ó3v» !8šfÁ¢½B]³ZÜÍÁê¦tˆ9šËe|ŒA+ÑqMáQܤùί}ï ¾ö«x!ÿåßô5¿¤¾ïÇ^žD¢³oÂ͗ݶ…”2 ²ŠV´H!zFfSJ w^Ô§!¨± Œi(Œ…1øÐ$ÂäðNŽsÚhÂ亵„;& ÂÜ‹Âf“0²VË£ŒêÜPØ e6[QÖŽ²v$¯0…ÍŸ6Å'®UÉz×ò7¾ê]—q¹SüŸ×?û·_‘BpŒ£ä<›B`\»n›cåœï°W¼žžÞœL2möÙ‹±£ë:tqŠ1)ÂêàE´‹#Œ®hê%Ij³ úZ4m…ó[¶Ý œïˆ©šônó‹-¿U[‚…çÖ2Ñ£–Øb™)ß)ûºåÿ‹AŠâŒ@“Ë¢x®õó'ç{|È#Yα¿8Ë­˜½cöx‹@O¸«¶Æn·còŸdGºÝHY7˜¢– çº]pÇÁÄã•y0Œ[¹0Û >±±‹JXf ¥ª±eD#Îo³×"å‰t…I Aݧ€Ò`‹’oÝû.ŸûeQü¿¯ñ3¯IÞOز§Çû è½çB28†9MtÏ_-+é>uÝ–º 2-¢´$t)¦Y•/šµDãè0ÆR˜†-$ÅÚD "ù!öDz”öwE¤Jhs@b1[_·ë¨…Çžïøšß¸|Þ—Eñÿ¿~ø—¿9ÍŠØ$Ä™zÇ,¿‰ËÙBæðÅE$–Å&"Àˆ”dN¸Ð^³\-HÉIpa²TåÖaÍ’PlIQç¼ò‚'™µÄ ‰‰ƒfÁ0x!œ›¥tΪ‹™Æ7âÃÄ#¯ùÅËg}YOïú¡_øê”¢Ê4;“x/ =›í))EÚE)ÉFF1 j¾À§$†~!]¹\Ùƒù®“gï§Dé:ÞMUY©%Ÿá ““#ݲ>ÌâCqÔÙ²ÈG0™Jëk~êò_ŧn}ß|i¯÷*¾'œ“»Åv·FëDYiI2ÍñÈiJ”¥X]1ù(#ysÎ9ÊÅ!›ÍZ~Ìꙵ—’¬îMD+<°ÝJÄòjµb{6dÁž™eYò†/û‰Ëg{YŸ¾õOßþÊ”’Ë£Ìuó#±Ù®çé¶NõLûÛËÁE”'ËXÍ0 9v»Ý<çpÎÉÙÑE9ãynžœbŒáÎ;爐‹9eš¾óá÷\>ÓË¢xæÖ›âIBNœ@êƒãÆë ƒø­ï½ë3g0š¨iMÆð0aôÛYˆ·÷z›»ëœ£¬Îy¦Ñ“’bè§§ç¤h8<<ä®»î™i‚ßô—ßvù”eÍz}Æ·?|yo¸,Šgáúoý¢¤”¢iª²Ñ^]Óõ™i›’0©àYUUT¶¥®kñF x4‚cš†¼Ê) IÍI?ξík~òòù]Ås¡8JuÝàœ£ª*¶Ã QÅÚš€¤Y´ÔuKÓ,0®6n/Ü¥¶m©*IBÆ7Èî‘ó]C©Ä#¯ÿ…ËgwYÏ­õ]ßÿ’dŒ¡h¶L“£m–¤dð.Ò¶+lQQ–5Åt 9:Ë9ÁóX+f¦#M-$ô]·fš¾û ¿yùÌ.‹â¹»¾ûHUUΑ¼ÀìØ;>>–˹_ÎŒ'ïb6/Ù Äæ(~7¾î—Ïê²(ž?ë¾í¡$òqìÅg[k•‘5 éJíÁjÇÇWiÛ–oùÊËëeQ<×?þñ?—Dz.á4Þ{žxü¿‹.ª(„M› d¹\ò=ßø¡ËçsY/Œõ½?úò´Çý{÷Æìó4 v»Ž¿õu—î·grýO_øWÖïzŽIEND®B`‚pioneers-15.5/client/gtk/data/themes/ccFlickr/port-wool.png0000644000175000017500000000361311346241564020653 00000000000000‰PNG  IHDR;0®¢bKGDÿÿÿ ½§“ pHYs  d_‘tIMEØ4‹ƒ IDATHÇU—ËŽäHrE=ÜɈŒ¬ªî†³ ÇWH©_Ñ¿h­åf¦º»*3#H˜iáÑ%  “æfvíÞëòÿùïDs&Çqpž'"B­¯2âöí•Z^Q6D *׉ª0ç$D„1Çq`&lÛ†»?Ÿþ_þ™ÇãAk ß+úºŒ±üzü½wÎŒ©ìÕQ "N2„½$¤""d "Âõzã²ï˜V";î…ÌdÎ$"13üq?y{û µÁ墼\wŠo¨L@ù§_þíÇÆ`X;ï$ÁãÑÜ*™(npá8?ýü €Ö™UÇÌñGû+óÖ)w’;"Šˆ¡ªÈû¿ÒÛƒ9ND;j‰Ð¨U€`vEU©u'F&I;¾ç·ÛR bƃœÿéó¾|úBkãÑ8Ž“LÁ­ eãqÿoÜ꬗J)˜:§ý‚»Cæl¨M¼šƒ ÑΣ嘉ˆ æ„løÛÛ™ ªlÛÆíö PÚÙim ²!‚’™Ä4Ȩóü@tC2;3:tE$IJ1"„ÈF& Š9øl­a:ÉjÝ¢½’sGu4Œ1ˆ™d&—cÛ˜99îïm¹&åüíUp7J5Šoœç‰÷Þ©ucßwÜ*ÐÚ ·A¸w”•šˆM2x{»ÓÛ†%æ ¸ VxN­ƒd $ÂX¨VUÌìòÎg‰IÁ¬ðííÌ 3CD0[à«» :˜3&H)ôÌ9)e`ÌIÄ "0Kü8"€âÛ¶¡êô¶ÊZê $È3‹ˆ€PD %ãÿUA2 A£ ¢”b$ãüË—/Œ1i­ÑÎA)Û¶s½¼ êçÎÌöGБAPÕÅr« ‚iâV©å•ÌΘú˜Œ±’ôßÿ$ bDÄL"`ß>se¤ªH&™Q¼0â/¸;fe•´“õÜ݉áxqöK%r§÷“Þ;N®¾]öÌŒó쨶ºœ<Ž7’ÁíveÛ*Ç£3¦b&Tù×íJf§õƒÍ©«ŸHúNë“BŽ`jø.øÏ?ý‰9wGÅq]=ˆœçɶµVDW5朘µ\ض oßïç b2gÇ<‘HÄt Äq‹ Žƒ1wÇç0"’‘‚7#5*Çùî‹ZÌ9!­Væ ^n$Ö‹`nô~>7aDØê{æßMƒ?Žo¸WÌ×""õÉ0´¨$ÈœÌÐ{G¤Ñç7Æô~>‰ÂyôÞ¨µr½þÌœ“Lž}/ëžòÚH© †Š.?%nÛŒ1;™“RŒm+Ì)¨î‚ØZ/:Q3Ì…m«ÔZ¸^¯´–?´zΉûúï—«1gçýãƒÌ¤–w'secÞÉ ¼TÔ ²ˆ¤Q«¹~\ª†Š³o/ˆ¬1ì}‘‡ª3ÆÀk¹Ñ²sÍrÎ`ØÒbw¹“4Ælܼ;f¡’!lYŠoÏ NÌN&´¨êÓ¡,Y=÷_¿~PËF±õºxŠEå~þ™RD8Ï}@ñ *“9“··`ßwJ)”²aVˆ€Þíìxu"‚Çc!Û½®w=€‰×Љ3¢C,Ù{ŒÎÙáåVóàlïË›ÕÎV^Ù¶íø`ކÙr%3ã ÑäåzCâùúõ+ªÊ—Ï¿üh‡«ÚÚaïŒX’gâO62j~¦úN±®¯D.¾#8Ûƒëå¢I>Í"JŒÁã>ÉùãxgŒÁÇÇ7ÌŒË岿˜\îOb.9s£hÅŠA¾ÓÈTL“ Ç˜D6¶­Iæ„‘Äõ…é*|þrCu¡ÿ8ŽeÉ5Bb˜¤4f$Gû ‡PýäìFFEeýâ–l5™¡Œ¨-LD$ªB†/߯ŽzÒÇQêæ$¶¸º” –‰K§Oèíƒóñ bpûü7b”{ùµWÌ æWÆp6%"hýXÒZ ¥¬™œëµp¿ðýû*ó¾ï\¯| ³.Ë©‚NAHeJç8þÊèÈÎC:®oìû Å/Ì™H 2sT•R ª­5"‚ûýÙ²´ÇƒÞ Ësý¸Ò1M´*Å/@pœWÜ×ð·Öhó;"†`Ì)üúÛ_PUæSgIèSLœjΧ×^o?ñññ±ÈÃy¹ ɲ,3ˆPÇtù¦—í_P›ˆç7ǵì˜UŽÇ`ôÉårÁ¬ÐZ£·ÎyÌ Û¶1gòþ~ê¹q¹,¢ñûÛß~8ˆ?TäÿÌýÏDãI£\™³Pë…—Ü®¯||ܹ¿7DŒRvJ™dZGìŠ{Eyž§îOÞ(e©EÄÒßÞû2ðµþ8h±¬O)ëð%(­5Æ|yýĶmOŸý¤GID5e„¥—ýµà£¬œ-º¬ÀIEND®B`‚pioneers-15.5/client/gtk/data/themes/ccFlickr/port-lumber.png0000644000175000017500000000460611346241564021164 00000000000000‰PNG  IHDR;0®¢bKGDÿÿÿ ½§“ pHYs  d_‘tIMEØ7 Þ2Þ IDATHÇ%–Ën#Wb@Ï}Ô»ŠER”(Éݶ{&3=+ƒAE–Yä &“ ]YŽÇvw«%Q$ë]uë>²ð?œspÄ?ÿõ_B’¸àQZÐtWŽ7GúæJ^לº cÛ4&“§— ÆIdB@®Ç«[qvä÷¾æpÈ9½œúççë…û¯Ž,¦CG‚äýí–B[w9»Ls¬kÒ<¢ÚåHaH„ãýñ­Mß!„ ª7,ưƒ±+›mMŽ¢Ì°fd:Ü:³ÛWLsOž,K˜ú:­ˆ#…¬sÉÜ¿"ÃÌ2´}G’%(ˆe`›h"g¹¿;"”d6 E™Å’5¢TÐ÷ JîŽ;–u¢íŒ³3±;ìo+®Í $©J1Ä ÞD ¥YUb‚cÖy&¬+±’´ç §·æy¢(2VÓùþï¿e[%Äi I%õ®b6A’¦H±V„`AÂf[Ñöy‘¢ÛqÂ8ÁlýØ"ýÊÚäyÊ< h4˺Ò^.|õxëtäuFÃy’(ÂËŒal¨o6ØÕ#e„ Ð÷*ŠH«;-Lf¦ŒRä<Ý´²š@§¼ÛïÎ-yœ"¥$É2<4Mi/Wnëš°¬ªNÐi–!¥frÍín¡1Î⻉JE¶9Ö3ac’u4˜uEHA’D˜e`in··8ÆYÒ÷8#XƒV‚H ’(¥oz´gÉ«Œ8‘¬«AˆÀ4÷ ‹™@ œsH!#V+yz>3އ‡wDAq=]™‡;Îo'$ž®m±Öã$’Š"ÓVæ¾#o§„_ˆäÊ7ïŽä±¢L–idêzÒ(&¬©}~æáöÀ¶Î¸t-y¢ÍLE<›•z³¡¿¶dIбùüvÁû”°ÄˆÕ”Ã̆$”øškÏj!ÎRl°LÓ…—ë…d·C¥’"±d¬ÔIF]mÙï64§+¹*™ƒ b±+*ÖæŠ~½\‰Š øßr'TJgzú5p ^,$YÅO?Á;A™¥x'ÉëŠëåÄÃÝ–µP20 S§É6;>³©rR7 mÃÍÝ_íØä9êñ‘ÿÿ„(a6ê¯ÿúOÿ¶)`—+¾¹¿!+w5ùáO¸¥ÇYC^UœNg‚7Ûóþñ‘iÙí¶ˆB$¸tWÇ–ë ›:æþa‹P+JAše\úžIf; çó'ŽÇ-Ët}âq_±øñú _?T¼^{þ÷矹?äh e‘Qobþï§gtä)Ë¥?}âëox|ÇU­é¦–”ˆÝMͧ˯\—g~÷‡ïp㌶ãÈx¤yD™Ç3qÎ8«x¸äÝÃží¾¦ÜXç ­XÍwüš¦kIâÀ<ÏèÄ#G7¿ «”ÛÃŽÓËG¦¡ã·¯“ü㟠IRƾCßßÞ¤ãóÓ߈‹3Kâ­¦ª7xB:ŠBlƒ·3Z)¿ÿpdœjtšññÓÝÐâüÈb‚‹”`-ß¾{’8))dŒX"ü?Î6FëF7IEND®B`‚pioneers-15.5/client/gtk/data/themes/ccFlickr/lumber.png0000644000175000017500000035521711346241564020211 00000000000000‰PNG  IHDRÇæaõ‘UbKGDÿÿÿ ½§“ pHYs  d_‘tIMEØ-‰ÿJe IDATxÚT¼Irc[šç÷;ýí°sM¼ˆ¨”&’™æÒD;Ò"J3íE ÐPË•š,ËTF½çN' àv§?\F¤i@#a4Ã.Î×ü;ˆÿñú_!`”FµŠ '-±²”T ¥´(%‰aÇ*Kj•NZ©¬)à¬EUÀjZ*H"Wœµìû†P´¡µP$T Q‘ ”¥­h–H%¥L§RjR-@EÄLT•RÁö”JÍ#+ðaC+GQJfÐŽEH2 cIÊ«)x†Þ‘S¥´FE¢µ¤•Œj¥¹‘ r…ZÑR¡”¼1v‚¼ÏL#¦D,™5d¶˜¦  â¸oÒX¢‚/çŽ÷ÛB¡1 #q‹MJ)RŒäšÐZq>ÔZ©5SiôýȺ:ãðëŒ3X©¬µXa˜ow~úò…å~Ãuš}ßQ΢­#ú@K™,¥.牖3óý—¯_¸î+«ŒnD AŒ‘T {ܘ†ž§ó‰}žñ›gœžð >æ…Ó¹çááÌ¿üËw\דBÄhÖvZNؾ#¦Â²mœ\‡1–ÛuæéùV¥zž.üó?ÿ3ÿôþ¿üégþÓÿýŸ§3›/´fùXfºiÄô–u^ñ{&úÄãé̾Ì )F%0ÚÑš ÖŠé;R+T˲ððð+Û~cÝÞy¸œ\ÇívÃjƒ‚ÎIþ÷ÿõC¦èœA«†-RJt˨œ™Œ¦ÓšÖÂ9ŠÑ(¥h¥Ò„ÀèÒ4UJTi %¥ESBMIŒTX$±DkèšÅã,(#I© dÏæw”R(!©-S[¤ˆD’}r F F¦f´(ÄÚÈRaÇ Uk a Q ªi ºez¥èS¡kP©4£˜})鬣Óêï_MnPr£h%Ñ– ²m´âÑJ`m‡TŽ‚¢JKBãú¡%ÒJ–êiN[A5Xו”B+.Ï_ÚJ+Bܛѭ“e;|N¼¾ýà~½¡kåöú;²lÄù^ÁÔÈ&ضußÈ-s¾LHU8öx/Z¡”¡n*û¾Ò©†Ó Ñ2M./,aÅé‚ÀJµÑ¹©,1BD’”ä^#IZªñ¹¡ ƒcžW.ã€j­µö}g]W íóÐFcñÛÎÇë+§Î29ů??óåë…~”ü7ÿíE‘ýÛø$‰¹!%„¨-¡„Bi‹2šÜ*ëª UdZKØÎ œ¡¸œP‘œºÖè”ãûÇwRÚé•â2:´Ž “Àv ­*«ÿþùK ¢”Â8Gn•µÖèNk4-di!i!Q[QiâèýR¶‰FÌJEë;””´”I>r¢(µQJE Pʱ§Ê¾TnûŠsŽÖRÊ£@j= EΙ©è´t¼®N­Q¹¡bAJpZÑK…HIÃ{Ïà:l¤R@IZkh­±Ö!P$Ÿ(>¢KE挬 M¦3•aã2Æe´È( çɶõ~;n¦Ò,ëJ×u”Rðë†j-Àh -áœ"…ˆhàœiѯÔ‘ªqy˜h­ ­knšRŠËiâËó#ÓØ# Vóðx¢ÉJ…\§qäa:ñp>QZá¶nl1‘4uL×[ª¨Ç½é5ZKö}E)Ám¾ÑZ#•B¡1MM@Œ¿ïœ§Åz[©ü¿ß¾qÝVÌ8²$Ï÷ë;^fîiI1¢´ÄÅ8öX«¹^¯”R8G†Áb:h2 \Eé£bŒì{àv»1MHØ÷pLFi! öû‚_7öuc{†®§5†éôÈ ¾$Î'ªÈlÛÆ8 œN'Œ‘¨˜¬ãéñB«ï=—ñÂht‘„XÏ“Úhµc$¤DF²•‚ìºtPECÔ‚Ì•ÉõPŽÃ*d£É†T ¥9¦‰h­I¥[¡ÔŠn‚ÎX‚5„±%ɪÐÔ&É”1t]O¡‘s>®!ŽçÓòï]@­Çº¡Òr«H)qF![¥ÕB |Â"ÑRñp¾@+¤u§Êz\?jmHU’Ñ9DNLN3¡ËÔ|eš$µíhU)yc¾½¡dEk”’eßȵ°¯3¢Ï'¨™Ñ9t«÷ùFgû¦„lÙ_}£³‚¡7ä¸Ó(×óíÇ+¯?¾µÓil§i€Røò|A*x¿¾QZfK;Péet1F*€Ö¬!²øýhRp›ï§yx<ÓõV´SÔÏÏ~<øþþå{ Ìû†è ÃÙ˜}ߣXíXCfO‰Ý{bJ‘ZáCÀ:G¡ÒOZKJÚùúò€ÕG3Ú‚GéÂ0¾|=ÓŸŽIºož¡;QšÀ9ÇæW¼÷)™ç¿ï´P˜?>è¦WŠö;KبZ"œãœép]Ïý~çá<ñÛŸÁï ïßx~91MBF^&rKÇkBóñ±³d[ë8?>ÍQ)¬µÔ’EµÊÉ ˜*µprŽN :­¸œ'Öuæã~e|ì8= ™°NóxyÀ*MôÃÅry>3\:R‰ì!p[væ¸çDŸku+•”J)´ÖäT¡Ýȃ”’& ×Bà†žN %4ZœÒX$Vh:eQ¥¡…"×Â’UK‚V*J´8¥1JPs"çŒ!)„TE@jŸ ›s¦–‚P’T MIDg %“ZAƒ2šV¶ë5£¥ÆD ‰@öš&ŠV Z¡3`LÁu ØA©!1l”¸£¤±Úq»/øX1®Ã§|ÚÓè F:ää†gmÈcBIKŒ‘RΜ±h!‰{äÛ·W´¶d¿2vš//O|y~âû÷ïÄ[®² Ý¡­¡µFç$ŠaØÖ)1&ˆžËØa¬"§ÄyœÈ­búï3qÏXձ̞§Ó#÷ûBŒ%`ì-Z úÎá¬ååñ‘®³„|¬jµVºÎ!„ çŒÖÙ4¿þô !$j­Ÿ…ܰR@ <\Æ^óëoÏœ/ŽÓùÁóÝs»fBÔüñÇ•ùÛŒ§Gö}'¥À¾ïHYéœd»¿ÓR‚œùòpÆéF§ }/èL¦·…óÅ¢t%¦ç4ÉïS?ðp>a­¢ë,ÎX¶ûFñ•©Ÿð¹°æDSŸ˜#猔!1zŒ–h F J:ö1„"KI Qåj’Òå˜ "W8Òh¥bM‡³=[Œl1àœÃ)Ã$uˆ|t½Vì"¤¤ ÐR¬ÖXkÿ?œ6ÈÒ©ø§TZ.ˆÑRJtÃ@)…Í{¤5Ô–¹œ&ŒHÕH%Ñ9A' '#MáÒÁØAoZe¶õŠw´’Ô’»‘ÁIKM ʸo;»4Ói@K˜úŽÓ8à·cÛ¶µeÝH¥2g~ÿö#Zkâ~LÄ1Åú¾çr¹ JÃJÍ·ßgÛ6ª¨Øn zr.-åÚún¤¤L×õø=Ðì>2gÔ'Æ¢dzkØ–•’ÞGh’Ë'Þ3äÔˆ¡ ¤atißйÑ+C]Ëë;®@Yûu%‡Äý~'—J?Ø¡gñ;U ªH-ˆi§ï ´Ì2`”ärêézE)èw¶³,+4źRØa$”J*™JÅXuLÝ\‰É“ÂÂÃÃ@ßiz+Q¢ É<]:¹œ4ÿôמÏVBJ ï#—ó„•õöÆeêyGTi||', ™ƒèuÇãéL×÷Ÿ˜ŸÝàè %%º®£Ÿ&b«Ä\0Î’kAk…6¥I­ Z£qÐŽºwÇH/­ZJ”Òhkð1Q„¤´Š4ã,]ïèœÃ‰n]¢Ø µ†U-$ÉÐõˆÔŠ)5Bj„6l!‚Vh£pJE^Æ¿­9:Í +£Lô% ‹‡´²ï7Jh*T„eC–Föš2 ‘ÚÒjÖjtoèϳ_x»¾³í+¤†‘¦…ÚûíJÓ’"àã>ÓZ#×R£¬#„£@úÁ T£6Ï|i¹a­cYÆqD)Á<ÏÜïwœsP[“µµùz<¬…Z3R4¤2~\)E£ò'ÛSFIr ô}Oȉ}Ô q üúåj­ló†AC¨øÛŠC£›&y0ªgì'ZHm؃g:È%q½ý`5úí+ç‡ó™Ëyb¾ßQRÔnÕ¼½}ðõ婯”+QNá"r9 G,•±sh#Ù×…óűû+J&r\Ð2ñÛ¯Ïî7‚aQÆ´ÖhûîɹPj£ÔJ€l\.'Ê'͹ï;Ó4q¹œÑZáãÌ}þ ‰í–e£GBŠH)‰~ç2ŽìqgÝf¨¥Ôq'Œ"äȾ.è®mXüq¿³r×ë;VÆÉÑõšm¿c­EIÃÇŒ2¤=¢œ£ ź¶Í#„¢5A7Œ©ÙoU5û²³¯½ë¨%óãõwžŸ.hsLàëõD=výx`Ÿ?~p¿­´&pÎ0ômn0ìac|˜.®“œÎÔÂóó3?ýôZk¾|ù"á:É——G¾þôÌe1JÒJ …Ù*yHi‘²ûǧ‘œW¬i¬óÂ÷ï¯ø טØkcõžÝ{‡f ·T±ªcR)\o@öšITК½é¨¹"Ú'¸n•˜M@ßw¤I¹ %ˆÖhª€(2Tî,©d´lj-¨Vp¦ÄJ(‰ÀõšÖ*= ‡$–c\§’QR²ëJX<¶ë™¬#•H¥!h8spû©RL8YéœÂR¨%beÓ[”RìQ O¥6‡ž¦V $äëzjk”Ò°Rò|ÙÖ¡%¡Ti<÷ŽëýÊôpiV4F)„¸Á‘[¦ï:œvøuçáñ Tæå‰ ÓŽ” Zt4 XE© +¿<>s¿_)*[ œ”fÒ†Šf°äÚºá´Õ#|ålOèN’Z¥ ÃÓéÂ`$óâ©FgÉ Ú4°:…è@ªDÜ •B?ŽÜKFM={)ÔëuŽ•¶‚Ëxâ{J”*PÒpNœM!Ä7Ü>î„8ŸZöåù'|LœÎg–mA[‹’ó0QÓÆ A†…s7ñþqÇ9CØ>ÐÍq™:†±ã¾n<~}b —Îc`)•=/¿à[âÜ[ž†Ž}ߟžPÆðíß¾qjšjZ-ˆ$yp#ÎY^ßÞÈÒ „fë19 …œ#!¬´šÈ)².;æŒk)4BذZÐYE¥`­eìbŒ!èA˃]°öuÓ8 E#†´ÖZ€Œ” ¥*!‘ dBËì%³æ@ª%Î9Ô'ƒk¡?¨rŽ­èŒÀPÕãdÅÏÓ`8iuBQˆ5²–Ö r­„°Ÿ¬Ñå<âNi™D§¥VîË̲ohcÆ‘1fn·F:epÚ´óùÜ^__ÑÖð~½â¨1´’±Bö-*çÑýN«™"·Û˜vv¿Ðu–’3·™nœ¸<¿°§BñþveNtÆS# EQŠûºá½?´¨Z[×¹æÆ ñ¹î”RZ1¯ 1ÞoW”³dcùvßnäz½b­Eš­Yîë¾ïùñãÏÏ_¾°î¤AGk;-otVà—Âz'¬3ÔʾôkCR…dÝ×ûJ•†Ð‘c#ñÞã· k$Û|ã~{ãaê¹L=ÞoäR˜×¡]¯8Ÿ:Ü ™×;­T £4{4}ÐèÒZ¾ßoÈjU¶€Ò–ùÛßøXZçx]gæ5bâ6ß‘Z‘JFí¦³‡Hc%BVjK£4´³ýW& *®3(ݨ% ¦ I*™"µV„8pK)…LûÇáÚ—•Ó02 ÚüqÐR@kheÑO@*‰,»hy¬u!0(Mo F+|HH V+dÚ‘ie2p²SwžGC^oä° Å':F){¶}Á*ͺ-ôů ZK|Ü %q]æã5•ŠÕ†—¯/ôçÔ¥$ö”Úà×­Ýo·¦þ>%úÍG´U¬~CÈF§¢d(‘–¢JÚ‘­òðð€µ–ë|e<÷Ìóm=¦âm^É¥áC äLª« i÷Hm¸. Kô¨Îb¬Â¯ }§9_–ÛÍïÌûÎǼ°l;Ê~}eŽ™þÜkAþïü×ý V Öuå_ÿË”’¸ßo'‡¦`Í!Ñ+¥>§X£°JBmcÜÖ…5x–-°åLjG'WÎj!WÚA(…ŠÀ˾mÔòï&‡ý ºª ì– >„,ÙàizÀIK #$¦ z©©ÞSb`è ºDÞp"1©J'".Ô}fY?8_LðúúŠ÷ž}Ýð÷“5zj‰”’ š–Ó3MlóŠQ‰À ™úo¯¯„šX÷•®sTZû¸^[­•óùÌ<ÏÄœJác@ÈÊãeD«ÆãÙóib{”ì!`Ýq(o·€a1΂¤Ôˆ’YîWö}¥ X÷õÿSô M4| +)%ñüòÈ/ú•Ò2ÿåûï(gÚÃË—6ž.4Û‰U°ÇÌïß(acÒ]"5ìl7D)Xàç¯?ñËÏ_éœÁ(‰u’”v”ÌŒ`t ­*Ó`¬âËã E¢·­2¨JÊÇþžË5Æ~`:’H çiÂu†šVIüzGÖ‚È•óðHð•\»ÏH¡ÑÚÒšbÞ µVœÔt¶!1n@JK«’”ÿùßþàõ>S„ •^¿ý@d8çÃ+¨%__žÇ‘ièQHŒ²ÈÚ¡½¨Œ}‡ÒÇ^ŸkC«† … ë:šTø\°Ã ”E÷G§/­’‡²^*MK„±øQÚ’J=´mÉ9C“t〔c;Œu‡ŽÒ4±È+ V¬µŸ|z¤¶ƒ±eãe2ü|éée†´Ókpê0 Ž®£¥LË…š )¥ñxy$/X O/ÄZHŸn¹¯œûP´p¨ë5ET«ìëÆåra÷kZËAÇÖÖS¤”¤i5ctÅA‰mÛŽéŠä¶ïô— ¦ïPÖÐÚá?3βnž&ÁU”ÂׇÎC–ÎƱÇXÉé4ÑA«Gq;gZ1N¿ÿÆÇmæéå™Ò»÷äZÛ¼lM(Ç8<²äºxž_%3 ÷eg8?¡•ãñtâ2m‡¦r»~积œÎ¿ýé…Ÿ¾N À>Ež¿¾ðÛŸaìc¯iÕÓˆX Sgøúô€S°/7Î]£òüò„P× hm­¡šDKÖyc½Ï8¥xºL<¿<|yÑëº!Í—´éqv$¬™íð·Y%?>°Ö´þæ)±Ñ»e9¶…š"F‚jù#W²tÊ|š\AöÖ`µ¢´‚;MTb Ô’ÈÁ³o%WZƒV[di8©‘4kèÅhEÜuÖ9÷Yú ×'aÛI-±‡=ª©9r9DŸB!µ@ÌžeŸÉ*Sta¼ t½¢™´ÞXoԜП> }? ‹¬x[h>r¹\X· ÙYî~£JÉÓå¥1FÖýP•.çG–ûú©Ó$r‰G§«Ášæ—¹yï‘.§§óDŒ‘e[ñaãåñÄÉIΣEµBŠhø˜ð9a‡Å{æu¡µÊÃyä4öÌ·…××7¾~ýŠ…Þ)JhË|Ã:‰ë>ygÛkøùå™v‚P3¿ÿñ¥$ŠÛÇÇ¡’{¤·][–¥DÊeO(7ñ±D–¢xÛ[,Ä\¨¹ñŸÿŸÿ £ùóO<\:ÆArš4)ÜÙüμ­ØO·ë÷¯H)I)°m ¥&öuÁÉÐ.Sß‘ýÎýýƒq˜øþý•·;ßÜh8ŒâÐ]J¨ùòØ18¨ù ÎÓHK‘ç—¯ø\ùX6h†ýçßY—Èv¬ï+¶Hþòó¯ˆ*¨µq9?’u÷ÄTÈqçåñ 9Ь êÑ\×Tû,+µ$„h ¨Šs)Cï>wæ‚•ÕªfdŠXÑ訒Q5cjÅJÁè,É{d«P %%bØÑêè¤F*œôÖ0Xƒ #2½X!%#MEÈŠmÒTbÙP$&'QD-PÛá8E±û„™®?¡8Ì~—‘”wìhhªR©¤’ˆ(öPȱPc%l; Ai™f*ë:sFímë¬k2WNýH×utÆNÖ…’3C×ópšP%3*…Š’2ÆRÊÜïw g 9F„X §Áà×+£íPM2ßî$rmHmJSJÁZÍ4ìû†” c%µF¬V-¹Î+×Q—qbTAe vê¦;¸†–mÝ7âî©1‘| æ‚• YÊ‘h‡‹U ɹë yÞ| Z£¦Lß÷œÏ¤Yî3ç VkΧEáérFÓx~xü¼_•½$R=²§Óés5ØÐâp24aÈþö¯¿SÓ!Þî1pžNÌWZªbß!„¨ðgŒj<¶¥[FÐ}ghyåO?½ ƇÀÏ¿üÄæW ²l3MÔ[¥Ì²¯t§‘Pï÷+¯×+)ƒ³_ضHL×S+„RY|àÛÛI«šq¸ ô@m†¿ýþJCB@IðÝ-E.Ãtä{’ ³'–ëÌõzå¾íd$q#{ÊHkI1#;‹êݧÁÕЄf°#ª,š¿þõ¯ À’m+g$3ºCçв¡Dc^ï(cŽpÓ‘Róõy"KIÊ•è¦{¸ÔÙ9dgxøH ÒU.ÆQqø0JaŒk aÇ)!‹ÂžVš‘P*)D.Ók¯÷E¡³ŸÝ<$Zkì1¡5#H‹pQ$ۺᬠú%@M#µšÈLÝéðÿT‰•šk^©E¢;Í6Ηž’‚D¯¹$RŠ­ë:6Ÿ(¥Ò¹m$9´€&%9x.ãDNQwD€&{+£›PyããÇbê@Iz=ÑZ£Q˜÷ -*¢6öý )º®C ˃̤iÂ9ú-¸¾CÛ#¼Ssfè:Ö=¢§ Ò)Šå¾Š²Ë”Og4~ŸéÇ#€èQÅqêrùöƹ£'xxz·ë;-.“ùúx"¥D?ŽhѳÆÄuY9#­ ¶}ãábÑ%r²#¶Ókh–Px}_ùËo?óvý úÀ8L(1àsFÈ bŠ”Rè†3ÅGJÈtcOß[Ï‘mÛ8NÄ*>Ã\|ûAö•b­db|}:3¿½‘C&Ö†>õܼ‡h0R!²B%HE tG¦PUã¶úoŽ'~„“µØ®#Í ¹åOW®•ŒCw€Ùœ}Ü NÎ0åL_O£âò`ÁE¤ª-¨%rš:gÑJ€¨ôŶÈd “…ÞTdÝ©Å3ô+AÚ#û!ìas–Ú¢”¡ë–ûŒër…eõ„TØ÷À²l„˜éÜðɪÁûûbô(ÝÈqã·_FRYוußÏG×]Öv• IDAT;)z|ب5óüx¢ÆhS Ó=%¶ÖªjëíŽlÐ;{(í-#DãåË®ÓP çó™&®›0ÒRÒÁ¢@£*Á²®hgJJ<\ÎôÎòãû+ª‚L…ùýŠD¡%ˆ9RZBKÅ`F’¬óŠÖúÄoG!™Ï鹄_+ÛXn ºsL—3?ýéºa¤ …{LçÐÖ°m __žù§¿þ‰^ Œ,íé<¶—§ R4²hŸª¼&n‘°Œq¤\É ÁÖ///H­øË_ÿ ã,!EÞ®7OñŽ×ŠSŠÉõôÆÑk‹(0<<¡œEj×çg¤ëXSÂŒ=>7ªt43ð±x¾½Ý‰š´˜adËZnóJ¬ Ÿ —‡¦i¢ÖBªŸ"·}eÎ9ìÌûÆã—gÞ¯o¬ëLN Óê!†æÈͯèÓÀš«úïþûÿm4Þ{¦q$Å-£ZCäLË m å€PG†CKÃê=1E¢_©1лŽm]±V‘óF)‘&*¹%B=PUµÃÙ™‹÷„œJcæ~½“s#ÆÈ}ßád×Vɹ ”œˆÞÓuã,´†5§þŽ4%E¿¡´æz¿"Ä‘ 1FÓZ9ܤá ϧ!D¬u­åöüx“=ü^¹%”V,ÛÌ8v”‰a£Ó†*sÌ\×Ú@+‰2ÇÚó1¯LÓxø¯œ¦ëÞï¡I)2ZË|¿¢„ÄC)®ï("£"x²†·ë>D†i©øööŠO‘ÑäTØcD9ÃǼ µE6È!r_W´Õ oooÜæ;¿ýéOÜ—ûá£òøpf½½CMœ†Ž×ïðòåù?^¯oÿs(•eÞ‡‘\+Ûîiòˆ¡3 5jÉ<>=1/+·eÁ8G0ö‡5ÜZÃØä\©ß9æ}g­•ë}!çÂÃåB÷wª’d!M²…ļ%®k JK,´áÛë+¢ëúœsNø=Ð#Â(ö}CÛƒÁKµ²ÇCÏZa­¤ë-}gé´†T°ÚÐY ­rdö;ºëùýÿø?‘)üºb"9`¥$Fñ<÷¿‹Q!ñÇ÷߉Ñà†4šmß‘úð:m1âs¦ŸFòçÎY¥b^>6Ÿˆ¥ðöqåz_Žõk踮7¿R[Æû !+Nk†Î`„±F Œ$—„6­@Š‚¬‰ùþ-q:ŸÎ8S¢ë­$D«G~½ìÔxÿñ½íakµ5 …~êéÇž‡Ç‰=l„°£´`:$`tÚ h¤’I¢ñºÎ\cÀÓð9Sd%×Ä}[ð%PE%åùým_8GPPjå§Ÿ~F)MJGÀé|yä¶n¼¯ó1òK¥IÅ2[ÎØiB#ÃãIJo¤=Pcb¤R  B”‘<==°®3µfþüç?IOcÆÓéXu[¡7 #—óÈÛë7¤VÍÓÆ©§µ†A¡œºäÆœ5ôÖ`?Ãe×Û;!G^ß~&5óêRóúñpŽ%'nÁs;é³È¾¼¼FÌrä»+˜¼^Ù³âß¾½ó>ª°ø\©M Œ=ìD)Ñ „5‘+ )åcU뇆u=Bkš’Ü—ù SÌñ½ÐBRb¢„H‰…Ñ(±¥O¶Êô´Ï@“ë Îjj ìaÃ׌=¤OتBZÑÖvĘØbb ¦ùsô·vðÊ-7âšH>³ßWØ3  k¢³=NiRˆ´VèÇ{²œËóÓ‰¡Ót Ó‚š6.S‡s‚npìaC)AØgjŽsˆcZ+r=’kB‹Ïh¤áññ‘Þ¬)+Û~o_~ýB¢°Ä_vºQƒÎÌqCuŠ=ì„à1ưÜf–ÛBûÓb&Ì+å󀦔ð9r÷Û¡|wŽTU6†a`èìm¾©tÓ‰e÷ÄÅí>óýÇR8l×s:]8²Ï\¯WÖuÇhÇ8Ž|¬3ÚZ)L¶Ãßf–yFhÅéù‘ççG´–èO[ÿãåÌÛÛÓ0ðp9s`Ù7–eãt:[Ã4Ô8;â× kmÓZ·ëÇÇê’ §õ1![ååá‚•‚ûívXq¬åtž€ÿðtfÂè\·u§4ŽL÷óVi&kP-³/3µžŽ/šðÒBiÆË#®¸ÝfJ,GÔy()}F­ZJÍ|;¢³ƒq¸&ñ·…ò¯¨7Xº±cÙ7Š5xÞו½5|­ Ó™š²¦Uó‘÷VJbÑ0¦Ó†˜ËûºrØÎQŸ.S˜×†¤ÔF‹ Ñ$ußPŠ,„x¿~¹q!G(ä9G6ì+}wXVÊ‘Ƈ¡7¤ {áw&7p_JI4­PJ`Á:ÍívX.ägè)ÆÈš<ƒµ,÷Æ(šjMÉéáÄÇíóãD®‘©ìP$B[RI ÓAÝηùÐ:¦1xnÛN-…_N|±'„hH'XãŠëzL‘$ ¶ưÅÌž*¹¤µ„­ m˜¯‡Jžc¤ÍîF ÆnäíoßQ¹2YGXvÆ®'ù„O‘¸}ªÎ®gÔŽü™ßXb@D sz}[èÜ. >0/7•~øñ~åtù¸]yÿ˜ùù×?3º£4Û¶±{ß¦Ó j¿¼|eÙf´Ö¼ýøQGÞ¦¶F?Ÿï#a1h¡)z;rýXéÿ?¢ÞdI²-ÍÒúv{zmÌÌ»è2«²0(A@¤€`b&­‘<·÷LSóürâçý¡ëضm-­µ$U.ü1ÁûÇ¥-ù‘N•›LÛÎÇ}ä6/D!¸Ï+—Ûevx©UÅ:o\Þ?~#ƒìûÎ<.EaÑŠû4²zGÌ™þp,3ù}&£Ê"´¦êÚbîÒó°|œ[Ãç¾Á†¢†UB܆Ìå®°¯Û¶a­¥©;œÅäØw,ËR©pÜÓ7 ÓXr1„¿Û¥³T亮¨šŠ¶oˆxV?³û©KVÀÇÄý6£”fšfBH%ýç÷efõï"V ´Ê(ÑZ"b¢W–ZÖyåõí¼GÞ¯3ëšiú3{LãJ 0+VKœÛ°MÅ4Ý™×…e÷üøù†Öå &¥äx<þÝ!Ï¡núžþ0”;@ŠTZ“¶ýAO¶ª‰ÁÓ65~ßBâÈóñˆp>?sgöݳéÚy\ŠóVh¾ýñOD"åì÷°íOÄPbËÖÔôý²Àš )(@bJ¬>€TŸÙçñcÂm;?þ|,|3ëØ]Äí+[¶Ý¡U…Ô ‘Af˜ï#É'ú¦Åf‰Õ†þ<£(à¶£49 6#Q}øn|úú™O/gRôÔÖ²¬÷û•=CדÜNk û¶`MÁ =5‡¿»rs™å”¦í?>Y“„]SuGÞo#«„‚ÇhÛQJý±=?ŸhÚD¢Î–&7TÔ§ØFOÞ6iDDÀ¨Lc5‘Vƒžƒ­0d¬6(¥ 5bè±¶ævYwÇ®+Çã±P3¼GÍæã4³»•"÷[¡jTU•­-ñÔyžI)p½^hÚš¾ïÙ¶Ãp€˜‰A¥fT¶)Gy,6“¬$‹Û ØA&¦¼rgãm¼B$¯¿zˆ’Œæçûû¸ƒ®x»N¼ßF”¬0Ê"(i5cÚÀïþø•¦o0‡j˜üN]W¬~ç6OLÛÎz9t=Ê.Ó•ÓéD¥$"†"4œŽ„è °=RÂ8Ýèû–ÃÐ\!|œÏg‚ÃpBdÁûw”Ò¬‹Ã‡Ä}^Цb8 .ä¦jó4-ÜnwæieÙvnãDÓõh[±,kÜñ22§Q¶àQÚ2Ï Zj¤T4M™œìÞ#Lý0³&œ,û†”å7yý¸ TÚà7ÛKêÓVMß•´i‰Òš½±Üˆ,90­ 1yúº¢Ó–§¦çy8ò< 8¨Š*$Z¡9T mea/!;ÝeO–¤ÁR6© 19rjúÇåº,ÚN}Ç2޼¼¼Ð" ¨KÆm¢­$}Û m‡ÜVæy#Ä€Oº(Fqc¨[PËA$…@ÕT|Ì+I#l÷;I DLÜn7†¶¡¶ë:c+CÔ=óíÊ& MS±-3Ÿû)-ã²q¨[š¦Éã;m-‰¡K&¿²ùŠeèZ"æÀ—þ çŠ¶î¶ Û5ÅF“Çfà¯ÿòá8h³Œ4Êp½ŒÄ$ ¾¸FsR„ o÷Ÿ¡n[lŒ—Ëèú±-TI¡r kÁe¹a|N¬óJw.€±5gÞÞ^©­!ù„ óèû9îl믯?8%‚zîP¶D‰}ŠèHQ<Ì{žu{Œ’ŸW‡bgèô]˾¯Åx¹¯Œ.Ñ™]Dm ÖJCÇÇûw*I9“¢@[““ªY£mÐ|y~¡ExqQÐ6?¾¿#„àx~ÂT—Û•Óp ’ ŽÄš}7€öüøÛ/Ôu‹Ò5‹K¡ÐY°.§ó”;Õw|íj–ä݆R’Ê©0Î ºik‰Çž>=ã§‰ŠŒ+Öj†a`šZIÖ}./×$Y¼Ç4†§Ïg^¿¿—‡Ãh‰0†îôÄëÏwvçhKŠ%kqod!ÉJ°ûX¬åaã04ØÊ°'¨UKW+M‡‹‰[~ä“ÓÃrž"JC&RYC-aÝf*«ÑVqîhSsw+ZlU¨Jjš¦"‡ˆ&sx~fßw^oc8v-a_‹w‹Ì‹}{ºÓ|EJMŠEÍ(©´†5)-LÓ„1Š¡k²œ@ÃñH‚}ƒ¡ï™î÷2×=¯¯oŸÎEaÙUJTJs»ßHB,ü¯º®¹~ÜÈHj¡0mÉfïËD?´ UÍõòÁ±kiZCðŸa™fÒæè»Žûåãù‰öTó~»Cð,wÇùt í™ÃéˆÈ µa[×;Ÿ>æxèyýùƒy\8t'R žz^ß^וeõüáwßx»/ŒK$&G;´ì>c´å~ŸFs8ô¿pìËè¶l;R(®7êÖÓÖ-u]g@l›Cˆ™Û¼aµ¡j{öoÔ•…¬‰DÖÌ[±„' I]5¬Ë±íQOOx—YwGgk¬µìn#ÄÌËó¿üú7ê¡#¸Í ^d6·Ñ45„ˆ;Ëx§“ uNÔJqþü„ôŽÆ*Dм½½•ͽw(Sq¯m0u ï#9—¼’ú†Æ*ªZ#´ Ê„OÓ•l5hCÝ6ÌûJ{8Z´ÌÜ?~¢³ç娡SdoÜ/W–yÇûˆÛWº¾z¸T%FgÈ;ø™Ó¡¢m‡i5AV·!¬¤ª ue¨­BäÀ¡«ÙÖ™ñ~eojÍçó€É‰mq. µåÇå’÷LöÆíNß6Û×ÛÌe¹1ï…¶‘ä,€ÄËÓ‘”<Ót#R Ëz£oæûD ‰º¶ø¹ßwÞ>f\€÷qáÇ÷w²°l.‚­ñÊ(š|Îâ701<úBN쫆Ö6(Yá„bu‰”ÑÎs05"eöm%Ïyhé*M_[†SYnÖM‹‰mHÙðúvçõcdó‰·ëÈõ>3Mï?n\?Vn—¡jþüË;×)ó>F'ñQ–ª þHY¬iq³ãýç¥ Íx_ÉQ0Þ&ÅÔè}È)’½Ë íÀ¶ì¼ß&†ógêöÄå:á÷„5 óê¸o¥+æu#gñdCç"Ï®ëH\ÎŒ®¬¢Oœúï?? ÄE´- Í¡ë¨+Cð;/ç¿{y¦N‰ƒ5´Fp¿}à⊭K®~Þvfï‰J‘mJòS[öÝqýyAˆvRÿãÿò¿âcä:N¬~Ç4¦e+ƒ¬ .f„TK£àðØ~Z Oç#1'®÷ YÁ´,¬Yà–mY釞V´Ì´•(jAo}o ~/¸J­QZÓ¶ Z[V\px·#DzC,»óä”y:uÜÞßK,ÖKûb¾3Qˆ‚ V)b,ÉÅ=¯d2uÕ3/+çCÏéØü‚’™çO/ŒÓ¶yêÆBqøcmͺ;6¹¯u,ûC‚U† ¢ÖÜÆ„D<.šÇçg¿sn(+9ô Ú*-Ù¼GÖï·«s%»­ÜÇ‘?~ùR8Z bLTuA ÚÊPW›È¬ûNÛŸøù~gs‘i¤ê:\ˆì›'¦ÂÏð)ãbeª¤S¤)ø̜Îgv¸]o(¡™vO_×ܯ ‡ÛýŽT†aÏ4}C…›¥æz»‘á? eÿó¶ºÿmóewñq½#U`ì®ì¶BÊxŸÈ©(g­©¨„$¸Àõ>cêš %¯ çuU³/ •2T•å>N(­¸Ï#•Õœ}e ûÊi膚D™èúšä7ú¦!†À²¡a þ!*92’yõ¤”qóJc+ܺóý_þ¢ È!ÑÕ }]c*ƒ¬4{ܱ•¢2 ‚§1†àv\LD £X Ûº3.+ëêØ×…/_ΜËÐ*› J”S i ~[ú­2¿ÿú‚L¸-¸q¢­›By€§WïÝÆ´­d%¹Þ¯H#išŠi¾g­uÞ×â:Í!Bäéå31•-{ºi8> Œã™’ˆß–ßRŒûæ™Æ!1 ¦yçz_øó¿}Ó°FAD“DæcjïÙÉLn/¼5mÙh¡yûxç:ݨ‹÷ް­äeŹ2_Ö‰-%È’e\±Öòí¿'Ä…=¬˜Ö‚Ÿ"¦®xþô™Å9ÞßGÆ%ðç¿üÝ'.ã„6.&æmå>í$i¸®;ÙÖlY೤jz*e1bpsårùùó¥-·u!‘¹/3J[b(ó¿Û=<€Þ^h’ªë¹N+>‚Ò-÷qF“SÈy]w¤5l)0…au‘y¥"ÊîÁ_^–…#‡Ã@ÕÒfÝØ"%¯+èϲ–¨Ú¢Œ¤2‚¶6T¦ÀÇ¥„áÐ2/w_ÈV—çç¼[Þ5#8‹r7.ÄÝ£µF(‰®+l]јX—ëJ ·'¦ëÄ>.øÝ#‘ˆ ÓõN\W†ªâÛ§”ÈÌ»ãçåJˆ‘Û8ÓjËïÎ/äuCWe@êHß×ìûŠ”’· ˺…dÚvêºáíÇ+oßߊÎï<Ë4³® )Ä’þ StŠ®,mß=PBäußrÌïKôôéPJ“„@Mß·¸Àíí:’“dY«O8!xnëÊÛuÄ…ÈpxâýãŽÏ’Õî÷‰RÞWGŒ™=D¦u¡ª*j©émM|ðÒB*Ûñ è.„·ŒtF£ƒg]®´‡ *èÎRgŒH†–co!>.? 9E"Afv¿(1ïiYpÎa*Ãù|à?}F»“­°YÐÕU!ḙ]&ÜZò=úùô‰n8°9‡÷û•§¶B ÞÓHÍ2··Ûˆ‹‰u¿1X…KBÁî^ž?Ó´šlkVïH®hÐQ).Ó‚©^/3›³¬‹#þí Ëê‰YrŸï4MƒT Œ.€–ÜîmmÞ³ÏSö»G)ÃîËìéÂÎá| ªJL5G˜7W~¢€êb®YÇóó32•ð–©*VŸ¹Žî¡³'b2Ì“C IB²ítrD0Â`L©2ØC)›·¢Æ(ÉeYŠH0-èJcª‘"Úhæ}çôõ…érÁï"CÓ•Íõ¼Îd;™-{ýξFžš†ŸoWî‹c ÐõÙD!s&x%[¬ÎÓu Áy†¾Ç­*Á²,¨Â8_˜ÆKÙ©2â†R²Ç‚Þ\æÀºïÔËX‹’-3"*–yG[‹ó…XÓd¨•Ì>yVç…i„ÒìóF%àÐt¬agè{ŽmͶ¬üò󕧯_Q• l+üÝ3!n4}ÅõöÎ<Ïë“#1ïi°FÐ4ÖÖLûŠí*Z¥P}KÝwüù_ÿÊ<Ÿžž"““ç—×އó¸ƒ':É´Nüîk1®ŠææùŸþÓÿ̲;.÷"Gö}å6O¼]ßi $ÁðÇž¾ïùõ㕟WWL~V"sä6˜Ê0º…4½Lâ:ß1RR(±Äf@IA«uÑÇ·•J l% YrfVi†Ó<ó|ìð1ð~y#>èï)%ÖqÌŸŽG„.†”Šqþ ª•PÜÇ ÏOŸøþý²mHÍ_J‰Í5ójÞo7¶5³»‰}ó´mZsWÐà®#ú#[⊈ !Øá¢ªPMÃ8Ý1µa 'µˆûÌá|à6ÞišŠ$5^ æ‡áNT ÊBŽH gÁíºr·]–qâØjüZ¬ÓA$’Xiê–»›0US*ö@ô!ÀEik¼_Ù¶óñ©¨@nC+ɲÎÔUC0’ÀçÀ}[hlKÌ ¡.ÍdïÑ•" Éë<U‘_æ=]S”|Üï d1’ ÓvÙˆ¼ÛÚëýŠÑUö1´ˆD+ (˜£cÅQiIš¯È´ñòô{n¯ØÆH´Æ›î4U͸nd¡ §Ápèp«'‰ð©bf]<~-;;Ümãüå…o3[œùô2ãFô’®+™Õ­dÿˆÉ¾}¼±n»›x¿½r<×¼½ý…ï?þÊuü`q#×˯üú¯ÿ7Ëø†&²ÎWöu$ú…—CËP)T˜™~þ áf´_0ŒŒd>8¶u!î+†Äï/m‹ŸÆS›GNM‹I™N—P¼_,äóá˜kcKàÞÔŒSAët]Gešáˆ’÷ûD¥¼FU-mw@fÃû÷wâ–ÐÒ¢LCñúㆠ"øŒ­[teÉ’â4õ ¦øÝ#„@f蚆¾jÉ>`›DRÔ]KhÛšÊh*¥é‡šà6šÚRYƒ&ÓšŠÓõB ™yrÌ‹çíýÎ<¯„ÝqÔ-fÎôÂ3£{Ü»\ƦâªÝ‚'‡H^v¤/íSÑ;꺦­Òæ)ÈDøÿ‰‘1F´T¥ë$”|ÿ8ŽÄXî=>¸nÎЀ6¨24c­&øý7 «©‹ZµŽ6 L2Ë}¤­jd*{)%áß¾Bò|>?ñåéDÜfÚs›?nØÖ2œ£HÑsì;lμ؆ƒÔüû/ßtMvc*nÓÊuY¸Lw¦i.ÕQq»Í,óŽš2}–ÔÆ2t=}[öoRYR’„äi»šCÓñíÓgž§ÒP¶l4íiÆC¡ÿøÇäÿø?ÿw´ ˜&ãÈå^ö¸]ÐÍáå ×° e o;ŒHü‡üå8ý‡ßs¹\‹Õa\PuÏ_~\wGL‰¡«ÞóøÇë¯ßùý·O8ç8-‚ȼŒX]!¥Ê& íDYÖ ÉËÛëзE®,Ë4âIŒ.°½ß©­å~»ðt,ðh‘4ú…ôa!âQsÄÔ%v¿Ôm {ÁëH¬.¶çeYQÚ CBK‰D³Çˆ1c4ë:³Ï çó™mšK±ÖåÿÜ6,SJ‡Â{Ÿ^X²âÇëuÓ–Òš®¡¯:æ·çö@Tì"–}ÃVò2óZb½*„p‘3·}¤kjŒ)dJ7®Ø¶Ã Eö¡XZˆ¥‰9!HH!A”®¸.S) ²–°­ÌÓÊ©é åE—Ç#æHÛ¶ìÛVpICNåóðÓ‚…@s¨[*­ h;%‚ÛQªãëç'¶mávùàéø„ì{Ö—SÞÝD=X±‡¦«AfV·ñùðÁã̾?°n5FVçyù|.ÿ>¡0Ò°oa[R hU³Í¨¢ð­ã[W(Õ²…„’–º±(UmyÿùT¿^ϼ;>ÆRF¤/×;CSóóí;IEÞßþ ï=‹+9mr¢ª%ø‰ï¿<ˆÃ2gæÛ±½bkCJ¡³Lë̾}cKŠ÷ëÂ}\hššÚ(þãüo)òÏÿüϬëʇ”(k@fÜZ5=^ IDATÖÚ‚ãXÕL󈯋Ï*çLc*¬*”ð"qw¨Ê2o3ÚÖµXš‡îÀûåʾyV¨›ŠŸïÄœÈ;tºæ6¯h[S7Ën†ŽÚV¼½¾Óu ·ëÈœ¡©:‘2R*î÷;ÇöÈä"V•»…Ö†i^0Ê2Í‘4«mE%±Z²ìEâÎ1#|FepûŽÕÅ›äýNwì òžéûš¶jy}ÿ@U%+ã¼ÇZI? ¤q£®j®ãµPcÀÔӸѶ= É2ÍtJ¼§ª,Ù±’c×á6GÓw(Ñá£#:GÌSiBÄÛ—cOÕÕìqÏÊHŒéDL‰§ÏŸˆFð¶Îðà 7Ú²îŽÕùât€òrðñ~g8¹ï…ÆÞhCòÿôâÏþ3ǾáøüÂûß^É ¼Ë$—ˆ:s½[á]BV%8Õ¶íoc}Ÿ&¾¿f.·d%ñëBÕô„Òjv¿q/¼Z”Ù%>.Œ— ¦nÐZ2»"×cØÓOÆigY/§3ãxÃØ†7Rôx'ØèJâÖ™ah åœEFÉôzååéLýòÂ_?^1¶¦2e9ªi¯W†ó˼0Ï#Oç#ý±çþñŽ5ÞE[ä\·¬H­8v'~þüÉJ`·\èº}/i2k4V*zS³- !Ú¶ÁE7<³.3ÚX%‰DæqâxzbóŽbaùºSébµn¦Í¡¤eY6R*–j¡ZX*[RâíãjèYr‘Øs"¤Bõ3¦*wAQZ®T(<Óº°-¶mÐUႉ9ÌÛŒ©jœwLã\*ήœÛxz~fÛnÄਤ=ÙÝZêÀ"‘qqÇ/Žáس»€RŠëå^¤ð(™¯7RtÐ7˜¾üšÚò~ýàYœ±Ú0Í#J >½<ñë÷_¨Û†ÃÓ¹ç‘Ó¹g™ï$ ÞGRÈYh!öèÒ3Hns¤\€ØR †þ€Ts1U­ùõ×_‹ØÑ ˆÆðmøÂ´NœÏC™*n·žžžÀgš®ãý6qüôL aŸ8-Á=ÂN÷ùÆý~AëBQ¯ªânôÞ}(¤¾ªÆÁž3ïwVÃÓg.÷—5˜†Ù%æ9ò·_ßpêºaºÌÓ„÷ž=DÞowD”(Õ0ÍÎ"Ë·À<.\>Ƈ&]s´ªñ>3>N…CÕ2Ï uÕ²­ŽeZ9O MÍ<ÝIn§jdeð©Øç×Íá¶·nÔÆ¢Œe]×2k{Ö–eÚÑBQ™ú·V(e4‡ó‰yY¸ÝnÌËÂeº’ø}ÿ­¼åvŸÈ‡S¡+n© ?/wœÏ\Æ ¡,ó²–ÞººAÄ@Ž…ktCÖN6•½GMÛ5´mižÕZ³Î O§#ó£(HÅ´í´mz¼˜Bp+±•*$°ãÚÿËË !'Ú¶ÅÃÐ÷eÌʰ-+»óhIÕ5¤X¾Ãqœ‰1£di[}ŽÈ\léÍÐLÛÂñ|@’q¾tûI]¸!´.u";Y)¾~{AÞ!œCl>ÇuÉOí@+4& ÎÑíAz×ZÓ:üºÞXphcùöíCW€.9®Óë;™D[×lËÌé|àŸþéßA TJ"³ÄùÄ÷ ×qbÛ6>==㦉J>Êkþßù/ F?|@MK]×TZ`E@q)rÛã@ÙRG !k\„ËÂ2OCÅËù*IªÊ"تBjÃå:ññ±0»(%QÈ,•ÁÚö!EÖdAh6oï#† JW¸×ë•ÓéÈùpÄ< WŽÝ￾Ò4_÷{&·‘„D(Ã4.X¥‰®ð£¦ec¾ÍH±J¬‹OgÞ @{ñN$T­º•m[Ù÷½¶‰ø°Ê—·^BF?îDçÙ–ëõŽ1u?P5-{ð´[‹p™ÚD.÷Œ$EAöC¤­¼÷¸è¸]/êšJ*SÆ´âº/$«¨ºBfü¸¡Uéø«¬.þàÑÆ”ž¾XmmñöÍs: ëNô¦hÛë¹Ï>Bˆe ºOÇ)8Dö¼¾¿ñõëW¾~ýZ<^¶B*hë ¥ñ'‹À0t,ÓDWW4¦ú­ärßWžŸŽ(‘8v5±ì!FIŒL9ŸÛ¶åõõ'‡þˆ[7~üúJtñqÏ%¾îÜÞ®Œ¯ï2ÁêÍp '¸] &©Äf ѼßKàI²¿Fð‰@ Á>Oåá8?uLó ! m]Á:ßQ9òtl1¢ Wç¹Ïã´q¿Џ®,9±’# Û¸²^nìóÄ/ýW"‰ªoØBà—__‰AqÙæUÎí逜÷l!’¤fõ UUüúúAÊŠí¾áOŒ‚ï¯o([1Þ¿cAkÍß~ù•uÝ(¦eççíŠá}ÙÀ'D†ms(S,&­i=„™}ß)H ;^d„‘\Æ;·±$ßêºÔˆÅÑuEHñ·¦­jrJœúÊÔE!éÔuÙ­\ïwš¦+½ÞûNokˆ¡ô†ÈÂzMAÐêµÜ´vWšª*éiIÛÎÓéÈæV\ TmÃ#›óìká;µuM°-3Öê– •*ËÏÄLjË0KINäδªØ}¢Ä$™ç•mÙ «gºÞ8¬ËÈp<”ÞHïñÛÆrùúü !Êoáõõ;ZK>}~.T Äuahjþôõ+ŸÏGlŽl÷;nYJÑ©„ůˆZ1ï ¢V+óp>æqš0¦âÐp[|€üºnˆÎý‰Î4¼ G¡LÉ(iƒÕ–®éËËÆ9RˆiÛ†S7 £àåøL£ëÂÓEÑUûÈјz`Úãm&ù€‚\î;›Ë¨œè­Å$IòåÔ9ÖìÈÖC×ME´-õé£kžÛK¯[ˆ"[Ûä:×ø·¥”fn TÇåcÄÏ+nŽ4¶aöŽÍ®.òýobȦ'iÃǼòý×ÿŠÛ#‹Ž†}Ú‘1óÔži¥a¾\È9ãL‹2M)Àš‹Ú'¨bi£Ò²/ã}£iÎÔª¦—+w­¥k-ue¦¨?yu<Õm‰\¦€U<çÊ¢bdŸŠuÝÙvO––ë¶"u…L‚³í ÷‘Fˆ«µ&U‚®o¨µÀjØÒŒí äH'$µ©PY£Qø- ŒÆ .®hK€)&â2ÑKÁË©ÃQ„†þX~Ôѱm ½­éª–˜«OÔ¦&xÛÚ68ŸJÓv7â¾ñòÜ3ŽÞÞÞ¨lMeÙ¸ÝF”®qZqx9ðë÷¿”“E·…ý•×W¦eeŸóÊÇè™Æ•u¾#sb8|*Ž.ñóû…×_/Ä,óù|FkØ·Ò$K ¤5¼àã>bš6žu¦'ÃŽn-©R¼¼¼–ÀåýBÿ©Ç'OU–u$‰m¿ûúÄï>?3Íwvÿ°¬}ç_þüoÌ»CèŠ÷ËHÒ—2÷q%'ź”ÙÞ(Ë|_Yóoù•ŸßßhöÍãB" Á¸î\–™¿~ÿÁ袲ȦÎIª<ïo× ¤ò¶ZưGÞÞÞQª j¤”Ô}ÇÏ뺲|\ßѺԣuCϲ®Ü§¥@†Z*öàiÚ–m÷ŒÓ‚Ž™¸8úº+m·d‚„`®2H¥1ºt£U¡œkMN¡(ÎZUÚoƒ‹ˆ,‰.ˉ4„Ù!“(õ CÇIK.ãDD°$_Ò‚1óܨQÈ ;‰{ÜY¶Ò «¥$l+•RˆœÈ2ã²G(‰¨ XMÒ’i/ü¥Ù(¶yFI {lÃÊ=IÓõì{¡„(£9Ïø‡o”ʢв˜¶¦é;ÖXî8Ë6‰„ÕSY‹$SYÅ2]0:“tàó¿Ðt5Bf¾|ýDHÏ¿ÿB=TH&üÖuÒ4 Ýa` ŽH.Ïާ'œÏ¸=á}¶õmÇ·¯_i­y@äomaß¾|æóËs> ]þý—oø0Q›ÄÓ¹Á§‰ço'”.'‚žãq@KÉp_'B*tÏOŸžØ¶‰e›ùÃ?ü‘ݯ´}Í×oÏ8?óô¹}´É Ã}Zq>QÙ–ÝE|–ì!tý²CR¸=³ï‘¶îJ©¬˜ï;JVø™—eܦYH„6¼]®9&ÈHÄ£K<&‰-,Óâ0¶-ašÂ‹žqš¨›†º.ÆEH,ÛZª„ƒÇH…J0ÝoÄKŒÌ!!Lúl\¯WÖ© û·mã¾ÎÌÞ1GÏâ &3?¿[Ü©JUŒ‘ÕíäG¾ 8Wò"YãÖXŽu—i´ÅûÀe•aÜ6‚¸ÉBJ ·m¥óÁ;„Òl)°øò€ÄøÖä"#Db÷+þbÇì6”Ñ O'L]¡”"ì;}]£E¦ª-ZËR5=-%àE& *àÒÃ-,KyŒÛ©ºž›[YB¹<÷}ËîV:[3^/x¿Òµš§cMmý`0½à2¿³Å —IxúCƒOmWj¦sö´mMÓÕl»g8Ÿ×…Û6ãq†pq%l“£o>ÞÞ–µDg·mC(6°®3ýË_ëÎ:Žù>^òÿ•§ó@3Xt_?Ÿ™Ç+çÏO W†@ô;ï+T;Ôô½å0XšÖòürdZ.6b^¸^~å÷¿{.ðB@ !ºŽFÞ_¢2øKåoH·ûß­Ü™÷Ë)‚©ö}g$ŠËåF×u%*OoØ\^Æ…×ï?©UÅóñDk+”5ÌÓR`mÚpfª¬îUÙTk­ï7–iF!¨« ·.2¦iUÖÃá@w:°çLÖ–ÙEÆài†vèÙw)sî¨:— Ò|iõ!!”Â(EôŽÍ;’[æyf8I©XÁsήj€œ‰ÁS[þ­dÝ¡T“ àº:ôÐâeiÊ­m…EshOå¤Ì…Žþwù·®kú®a¨;°Œ!$ú¾/KÀqbYêÆR)I«½TT¡x¾”R˜¦E*ƒ‚þt$ ˆ>`³&ùPbÊuÍÓË { ì1Ðu!>~¾1ØŠë宯xù|$§…¡ÿ§O: l4‡ŠO_Nlë ­%Ë<²Ï ÏÑ—îÀ±o¨µb'æyf„Q Ç‹_1º|÷ëˆ÷‘ñ:"E¡ÌÓμz\ŽØºbZ&êÆ>¶è‘"›‹ì‹Ïó}Îã8"r@“96]ÕA Mͱïx>к¡áplxyX—‘®µô}ƒw+M%QÒ#¥ãå¥/ß/ cpìãH¯ 纥SåF?ßF”€ªªè>gV·£¬¢,!{¤–ôC˾ïøÝAH4µÍ˶eï}ñÏ#¨tÅý>–Jd·1n{XI)’H´Ç†$"¶6ô‡òE5µå<ꊡ®Ð)ñ|,¬$k5ƘÒKCéÈÈùq©WhS±ûȶ$ ÓÇ•ÎËt¢Ä}÷äPµæüüôè )}$BÀ¸ŒŽ-ãtÅvå6•eÝlWz­Ø”‘»ãÔ¶D¿“¥ ºˆ¶–qÝØc¡µ×u[w:]£¤%DÁ–IkDÛ°ÇÄ<¯´¦) Y97¯V¤Æ”1Ðí¡pƒ×•c߉¶oÖP·=íГ­bõþ1¢98ÔÆ‚÷ CWše)ü"‡¦áÜvÌ— ÇSËù4ÐvšÃ±áü‚_gZ«*KMàŸÎ< Ùm|>?#„=°,ŽoÏgºÚ>$ëÒInµeœË6^DOp…(s|:cÛi-Qh¢…p/‹;ãOúó<ýÖ}..cYðìaçtrm$Ûýƒ/Çùã-nY¹¼¾Ñ5=ä̺,¼ÿÀVp> Ää¨ër¹Ý¶…JkðE.Ö„Ñ9±­sÙœ‡X:?ÖËqC€”I ³|dC ãVÉÂø­‡ aKqÎ<ÜÆ‘Df[ Aöžö¤ÒiäcCÈûˆÈ৉£­~+¸„0¥ŸÅ#µnÈGWâö ‚ø˜ˆB²†Bˆ\Öœ3)Áâ7ÚÃ@{:0o;˶•8lˆ`ÊhZw-?§‘` ×èý†0e¼/s_CåÕmUN‰°s8ö,ëIJN()éÛŽ´9âº#sÁ„VµF¨Ä<ßq±Ü¶àÑHöqeP†:fê”ù‡oßxýùƒî4ÐLÛ†ÊùQK¶Ñ5-ùQ‡×TuQàÝòm×q¯ÈJ‘D¦n[Œ­ñ!ñütb]î4V¡d"¸¡`s3UQ²˜ö‰ÚBcD~y²–áuÝÒ4»‹¬“ÃÏ‘ŸWbÌÛŽKSÕlËŽŠá"ûºòùëê¶Ã˜iß–/«· GËËKT&¬Î¸õ† °Ä(ÁG‡© º64m±34]¿¨œH¡ö+¥i”¡¯+ú®ì”4lrá+|¥[Fj+9œzº¡Akź,H]F’ªj µšcדrá^ý½®­jæûĶ®©8øÙ‰²œë¼| Ršìíß]Éng ‘»ß R˜Ê>`ÓSWÔMËúÿõ&Ë’$izÝÑÉf3î™U]…ZPRá‚ï>.ÉFU‘qw·ÙÔtàB½›ÛÜ„¤G˜©éÿß9ëšLO˘¶Â¤Üí;2J ÀÐ&ÇEØB _&æue[&Ú¶f[g ­)‹SÜì”Æ¤vJ™$™ÒÄÝQ𠻬h“h–:eÆét¢ŸfFÙ‚äí2±Ž;1rWEO”•ašnè\ ,ÛBi2öuÃï‰9Ïs<¨”(Öó¾á• êÀ׿ù’RÖ!kÅõã=ÅËýÊË©Åí R^>=Ò÷7¦}åüü˜NŸ®Ãä%×Ûíâ8Z~¼ ³ç¯ßÞY†mrL‹ã··+AnýŒiýðöûºæÀÇeà/ßß)ª»ŸCg9Q¤Êè×]Êd‰­kš¦Á‡À8Žw¼gA°;ef0RP•eÔZG€mÛh‡U^–c–‚CU¢¼§69Á¦¹=acoÓRIÉ@Øà¬-Ó_æê7Ц& XÖ•Å­%™BìŽC•ГZ*üjÉ£DX†‘ %^ ‚aJ‹=#Ur‹;G×6¨Láe@ÊM RqëÓ<Ý­;æžʵAëŒ}÷ìw{¡rr•¥¥¥T¸q!¤e^ˆ<¶ºªfßì‡ÕÒ:„ÒNGÈ6x.· “QåEŠÆ¯ ¦*ÐQ dRÑæ%m^¢‰<‰H°3 ZŸÜíÖcДyNVféD(J e˜¦1í>Bj¢Urm+Í6ÎH™¦‰¼*9žO¬{Ú¯ì›åõãÂññ™ÉzÞ§$FW¬Rp³ kØ™íJÙ”y†Ý&”Où$kS±LkÍétÂ9Gß|úò™u³üåÛ7BÎt¦y{ûÎõúApMUrl*Úºäå|d®œ-/Ïd¹¤(JæmcXV2Sñúãƒe “c™àûë-¶Ç‡Xu' ãvÉtÝèôù¶XO–—Ü.7¾ÿžîinÓÊ·¿¾Þ/ä";«[îBËÈ´ú4Š4ŠÕ®“ÑØüBÑI´‰Ñd:z1ºLý[­‰~g{tô–Ùò: \×e»"ãÌù”§b|••‹äÑc·¹õ”çå#ÌBý(A/ÛŒC]‘W“œ_ÌÂ3ǰŒT™¢*[æ>5 ´]I +OÓÖä¹b_,¬ omY’‡L¼ ¤ÊAv‰’ÎK¬‡¶=`ªŒ,WTmÁ¶Ïd"ýCΔF[‡›W–q ¨ y—c…gZ&d k9U‘ÏÍ 1-”RPç9Ò¤RN–Kê"G‡´1ÂNÌ×°x´D½qÑ¢ýNãvªàÑûÎþq!‹ ZPÊ mwʘ„¨«”)ðŽGDºˆ"2nh0‡ŽÉ{¦yF)ÉÒt|ô;×y&dýÀÃáˆXV~~8“©ÀºÏtŸNìê~¡%½hŸžpËÌãBÔ‚ªnÓPc[ÙבÂddRìBQdœÏgºã¡5ëî8Z4áfšSÃãé{ 8(u…p•,Eúÿ§žLƘÁ¶Ž”™ç\åd‹C.ޏyìæ Â TŽ#$Z¤Á€,ŠÄ…í>ÿü'Ei°Öbm*áwm…ŽybSq˜]…ŠO’õC‰Ž.×`ÒѹÇt±\ì²mébÒ·ç:§BÎ0 l.]ç«Ýx|:ñë¯Cn4µÉ‰ÛNcrŽu˾ÌÌóÊj›s(“âÛm‘¼³³ Ã@ˆ>=´yºêÌé"= 1FnCŸX¾!ü›|Ò:Ën"äi¢µ®·y¼‹è¼âº¬é»Î÷©•CFRU)vŸˆ}6zŠºÂÇðoçvÖmO‘’tÓÆ!X·d‰Z×ÀùHVä%Ja£gÚÓöþ6Üp»%WvÏp½QT©¹˜.ó`ò,DíÆ¶§ f.5aYÐò~§Z7r Ïç#¥1ÌÓˆR’¶«‰Þ#‘lËÆ6'÷z?˜¦ÂD‰‘•ç]ÇÛåšð¨YFÓ4|¼_Ç™i\¦‘q¦%ÅÁû”8Ÿ)u_6ê¼D!x||ÄzK¿ |L=»ˆ,!õÖ'»³†HÞø¸$]ESµ|ûí;hÍä,ý”2R»»'¨%܆[üé—ÏñpêW93äyμ.¼^?™äË—OøÝìÆs×RÝk²Ò‡•¼6”mN?Ü(²4%xÿxÅ9Ï¡ëPÂö9–…I†Ù*]à‡ëët¥*$™‰TÎMŽT9ýø¯±‹Œº,Èr1ŠÛ톂ëõŠ”ê>8Ù#H­©êŒ÷·lËBpži˜Ñhü¶²ÎSBîkuGËØeKÚ]©Xc¤È5ÎYÖ}%È@V•ôó´.èÈ›’îØ²YKÕÔD$ã=ëµÚÀµ_°.e¾®ïé%ç´`vö®NéáP“׆/¿!\¶•éýŠ›mrU,iO” Á¹.xikÄîéM¢†À{?ñú1€Ì(ÆugµDºˆß·å1Â0L‘³{ÐE‰*KDž³yGp8(¤¢Ís”,ýLW¶lóN1]”2ì[’´Ç–~é9}:c½EªH{?EûñÆùåi$Ya¸^?pÎÅùãøxÀdÐV9€sŽ×wŠ\ý«jbXÉ …É$àØ÷Ûp‹çLJ¸ïMS§­¬sÄûñ&ÈsôÌûBYå<¶-Ÿ??³m+J§NÛÕ(%Ès“j£Ap8=¤=I𬛥©Û´‹X7™ÐÕ'˜íˆókÒAkƒ(Šu¶~YwË."YU¢ EÀ1M#ë¼ph;Š,g]W¤ÐȇÞî4UIe &B¥2¢uHïIÙ‚ñÖ§Íý¶S“8[*£9ž0YÁûõBY–¬Ë’ÀmÅ’àÓ»ˆD%iÏȬD¨d·]ו<+Ìn4u‡Ñ9ójS±Iʺe‹o *WTµá|(18ŠÂ°®3&×ÌûFT†yõ„¨Éòš¨4{ŒÌ«¥O®2£Pw×ü¶íD%™ö g$þaZfÆ['p ±-Zgi(²9ÖÅÒ¶5»Û8v~_yxµ4…I•b$ãîY‰’‰x(+ÑÒã£Å OÔCÂËdqP¤„²Ê¢Dç·{.î÷ï?ØïH)Ù¼a4Øm%ËdTZÄèVº:Ñ ð”wpÀñÐRe!9Ô…–\/o\Æ+º*Ò–wYYÇ# íJì6“™D­¯7*U¤2‰Û1â—¶,Ñ3Üzª2'É2Mð;MY C$n% ®Ëô 6îì!‡ëLá—‰¯_ž™æ)Búq¦žÌ(Œ’lëDðŽ}[Ó¸o7*iˆËƱ.Ñ:E ÊBñùùHe$m8ä5Á…Dd·6) ¶º®‘D2•”Ãëº!œàŸ~&—š¸§$h–K¢E:É–„K2O²((sC$9Ç–4EN¥52¤GÅtŠ›ªH±#9T‡–ÌHr~£Ô’Œˆ]fJ“Ñ9e‘s¨›táÖŠyÝØv‡’†mY¨Š ©5—ÛºnÈMAp)5ã´Sž¸ atYI˜7ÖÛŒº¶¦¿¾óööÊ¡;‘ç%n³8oS""n¨ÊJ“åP抮Hl°®¼<®(¡ÒØ/F´º;ÔÝ87ï¸e§ÿ¸à7Kô­a˜n,va\F¢ô4]žo{„-¸;ħ‡3u]¥æaH[yƒd_7ÞÞ~°ïÉ’õr:€]É WðÓË#Ÿ:¾<ž8×5¹LªèÛûÛý÷ðì»GHÍ4.ÿÆÑ"D–ib§gGSË‚L欋çõm$+ ÎÇâæiTÁ©j˜ûžà6 -x<žx8XÆ àîj¯(jCÕ䔕Áï+_žÏ|:°ý@©4"zŒ–IΓçdRq>ˆ.ªª"ç|=>¡TF“×TÑP£96%E­ðjGŠÛœÚjv˜.ï„Õòñý=A‹KŠ‘I‚Šˆ,‘7>>>’ßîvÖª FÅå½' yÎäÖû{§9ÍÕH¡B1õ6HlHcÔ¨4R+œßÐ"p¨kyC!5‡ºáÔvä¹Aeš w¬Ø¨kC‘g(%(óâßN’Ÿ¾¾pz<òéË“~úúįû¤ŠH)J…)Á7J±ëÎ0 (#9y@Î]›èá»Eø@½¦½E$Éß«†abq¬,’ö.–_ÖÔ³6…ì¦ieê'¼ ŽxVH¬€÷eJE¡²À…”§Ú¶´(B!´â:Y–Í£«‘+ÚÇŽ_ÿô7Äè‰ûŠ]7ðþýÂùx@„¦ÒdÚcäÎóÓºL{ç·ËG^H´ (µÐušºLßÝÃpcߺSEQ ¤p8o‘w=]®¡­O§‚ÊNç¥ÇsI^@QjNçCjô Fg‰òRUë W͹kø¯ÿå?shJ†þ† éî"„`]&ì2&ÒH×P×ÚÂÓ¶Y®8;¤Û“¿P–~¤ªÊ4 ŒžãùÀïŠ9™Ç­ûž ÃpC£R¨T+‚LQœqYY÷TuÈË ¤ „À§çnïìËLp+ÏG´ „€ý¥§ÉKöm¥È+T^à\¡ËþëwÖÅ"î£R¢ì›ÇÙ˜ÜL–¼ÕvÝ&Ã:÷‘ãñÄí} «OÔe•4˲ڰƙ¢ÍY÷¥/ŸÎœÎ yQÒßnô·™ÑLÓBÓµu•*×mJžˆQp¹Ü¸ÝÒ» 6†eçýÒóþþÁõÒ³®+=Å:Y‚¼½^YVGS²,è,)ˆÿÕÞ#e2?A‚·)…ŠŠ"[ð,~g× ‘æ}K|ïpa§¨ T.Ñ™AçšÅ.˜{ ;(ÁN™æµÿÀEÇív#è—tJ›Ö¹áTžšœ?>Ø·­"έ ·øù ueÊáÙPj'ÏM.ËÛºòx>ãw‡Ô‚Yì¨<‘H>=©µãË©âTj^ŠÊО*¤°äÂóóËZ+n。öбYËf-ÖítÇ­›ggæiÀï+§s˲ŽD(Ëœeœ8mò“ pÛ”§ÛÊÃáH&ÓõŠ6ðõç/-Î9þü·Cž>}yB¸õ=&×¼=¿ ”dµuS`2É-¦Œã ¥#Ï/'¶}¡&¬wX»pz¬9?µ\ooˆ()Tܺ¥UÛa„aìG´,SÚýøxgGÚ®fÛꦠ®Š3yÎíòÁãùišØ¼ãéå‘ <Ö¯ìnÁÇ¡È9˜‚ŸŸ¾Üm²‘BåøÝÒT9E©( IUhžžùþãƒiñø Ù¬'/Jм¢­n× Ú÷i•Öš²4üéÏ js—èy.¦y&ÊHÀ!sÁ¸TUÁ¾n\.м¢® $–e¾.Ýü£@HÊ íñÄmè‡{Hßuyn8(á‰ne]†DÌP7öh!é¯Jhò¬HE~“!»ÎiØTlËÄ`tšžx±¢ŒVŸ¿<Ò6%Š@Wä*Peg¦áJ]fˆhiJE.ûÖ³-WŽmI‘ ì6a÷•–}¤;•”Õ½w‚c_'DØÑ&`÷6ê¶@J1vÝPR B@™Ô4ܦ™Jgä2CÅ$ w.¥„\¼¢»³Ls–uaÒpÀ9:SP¢Îñt:³­3Z º®£ŸnËÂ`r‘²;3ûÀ²íüxû ʘL¼Û‚Ž‘‡îHnrLžäyÊ:§94|\{~¼}°[OY×MA?/X/Xmd¼õȰ³÷UVàö°¶}çãrá§/Ÿ8·5m‡’:#uÇKIw(™æ‡‡D¢µÈ˜R¶J™2’%¬(Á@ÙÖ£—•= úm£èÚ{;Óì¶qì:öÍbdÚ¡ÃÀ¶mH­ñn·!„#“¤W‡œ¢–ì>ñtUñz½ñòõ¬[Ù½G©Œ±ß‰!#X2DÐ ’iʶáí£çí’”y²Ðô{úóÔú¯äÔµÿ=î–L´Ê8=? EäÓÓ#Bz¦ùŠ1!$]wâÇ_ãËÏ_y»¾S6%üõ_:H–ÑÇÓã¹àt®Ér–žŸ¿½<2on·º#$Ùý‚¯”ÂMÙÔt§#.î„}§«k2£)Ê^&çuirŽg‚‡eÝŠ'Dt#Št©Š’eZAH¬ß)³Œ®(Q>”$ñÞvTyNVv"›÷|ÿxGgMÓa繟€T†¬0|þò€Â3öCÊ\ùÀ<Þíh•¦A·±g÷;( B%d¥Aša^¸]gª¢¥ÐŠ®Ì¹¾ <>žØìFQ´Ü¦9i³ç…ŸÎHaiI㠽û¼ÊÉ‹ŒªÌñÎ1\š²Á:Çêvöè*PÔÃxÃEhò*g˜~¼_™ìJsh‰ÎCˆx»£ܽ#ž\QIöÝ!…`wž(‡®£«Sb[’䨨2f;£³‚oßßp"…QÝžz9ëêq[äíÇ…Çó B ¬Ý誎ß_KÑ›ªa'ܹ =2TÇœÿëÿü¿ÿi¤$ãìðÁr®$MæiJ· ˆ¬¥’:ţǑ²;ðãÇÞzêLæé*†á;AÎwÂyÄN=×Ë6;pl5m>ñŸÿüÌ>Ÿ˜¦#krÑâÆt±rΡË™åd¥$ÏF~z<ÔP•ªÐüÏÿ'¾œ*®?þ‘²–º?ôüù§ªÒ#Ö Ê]©sGÙ8nÃ7ªFð§ÿ Ë~£©4Óåaøòtàé±àt6x7R• ãQí8½²¸  ‘` ˆÌ2ËÙ6GØ=ã2! I{¨qÃLEd{ns,4[Xh+áÊ8·5v›X§ï#çÏ/Ù½ÃKÇWDQòüÔ‘ù‘V$œÿmx»½±úöB'ö—0Ýñ1à–Ô‡pÓ‹£69OOg^¾œ)JE‘+þݯŸˆn¡n|L–ß_{d踱Û–uäúþVdièK®*ì¸òþÛoLÓÆû81!Y6è¯O_èo ÂIæÁñ|>¡Ùyýö ·n¼<œiëûdt—|ô³s”]ŧÇL€uÞˆB£LÁê#«´Õ ‰6ЍIÑÿó‘ª)¹~ÜØÆ@Y±–Íq¹.ؽf¥ÎpЦfÝð …Ôe ‘?~þLØ&Ü:óå§ž_ ëvÏV5)¥êŒÙ­\ç;­”yÅp½1Mÿþïÿ´à2 ,vgÜ6–Õ²L3Á?ýÓ?±në"ïã`Ù¶·÷wlØ(Ûœ =ó2Rd9¥Î˜¦„‘¹- ýºrg~ÿí•ËÛ¿|ÿg–íJ“ ~ýù…\E|XÉJøôåDݼ_¿³Ù‘ËûïÄ`±ëJð|àñØñ¿ÿoÿ ­ÏOGþÓú3óë¤XiÍê7džD-ÏOÿ?W@St‡’¦Ô<NMŽt+‡´˜\#H”Ý;nÓBYu©Z\fôKe“á÷C×Q×-ÑhªãiX/É,*/8=¾ …&/K^?Þùí5ÝõÆeÅî‘yv<:2-YÖ¥%§ÓÇ—ì¾°ÌÃ]p©±›Ãn"›È,©J&`Q0Î#Û¾áÖ¬åØÔTYÉÔO”yEY–xï™ç%Õ«D­‡ÑáœEI×u<<<`ŒaÙ-yUr:¶(áÑÂR˜@.綤-ïr·®|ÿý¯LKOÝU‰5ìnÅ“ g·¹gXg>ÿò• >´6ì›Ã.+yQñýÚc­ÂYÃ?þÃoHUÑœžž1eT†yÙ¦9ÍÒMÎ×/\æ…qs¬fëñB•槯/àì<±-ó:¡5üxý+ß~ÿ¿|ûÆmèº#awì»ãí÷wÖÑïR‰Ãí3UmˆqÁïU!(3Áåã•c×òöþƒ[Ï­ïùß~e .ndx~z8¢üBSIZj_)sE‘¤<žjbXøü|"×;Oh Rh²,#Ï ýøÎ¾'½ÂÛõÑ/¼÷3ã¼r:wÌý•ß8ŸÚ´Û-Y¡hU"„„€Ô†~Þ*ÇdB(šªb‡ô€æ’ëõƒ¨eêÍÌ=6î÷þ»àr»ñ?þåÿï?|c¶;oWê¶J¡Ìª¢ÎÁ·b–á„âf-óîØB‚7Ìvã6¬xŸ|í¡ãéË ŽÀ­ØCdÛSIëíヶëR7c_ˆ~ãXte†4 z4(SQ¼~¼³YË×W¬Ý(òŒ=×y¤¬ ~úœ2T‚@›Ñ*AŒ1iBU”YŽ’®­éºkWžŽºšCW±Nó<³:É2ŽO-ÿíý¬ã;ç¶äP¦º€®LÎRgšRItÛÑ[¦Ý3l Qi–Õa²Šm÷¼¾_ÈdÍ2­¼œŸyÑð÷…æô•LëÜ›-Q—¨èáþ™¥H“Kt§,u©Q¹¢®;¶õŠ;UaøíÇ+][Q´eÎ2Þ8ŒóB?Ì<=¾ÜG¹Rqlþåþ¿ÇïŽ~›Ù|`³‘ß»1 è ÿòßiÊŽLf¸eg_-Þ ¶-²¹äÜpÁ ²–aر³âòÛÊõ÷å*ÊòL×aæ÷oh­±ëLÜ÷TxÒšªk±‹åv»ñúñÎÿòû6ØKÿÖóù˯<<ÿÄ׬u\¯†uÄËȦ¬x¿ÝPEÆñôÀ8Ï&ÃÎ užóåå}]865Ñy¤Ðø(ùË·ï¼½õ¬[D銗Ë4¦†·<´9z_ûÌùÜéȧçܺ`ç…°¢tu~ÈÀ±©x:u”÷7Û/¿ü¡-øúé™cU‘EIÜU^q½|P7øôˆ&"càííËå’Ü€Á¥ÉpÁûª*É ƒÑçW^ž8v-ÿüO¿aw‰)Z®ã‚É3|L$ÇaÛ)ÊÖ%"ȸ~\À;š:g^ÆT@³é÷ßÖà_¾RiC© 9ŠUU E .4UN™KrÞ¢¢¦4 UyDé’(5ý@–×ìNr» ¡Àƒ”¦,kŠìÎã]g¤ÛûôB{yúÄm˼Ãëpeô–˜K¢L§GžçŒ}On&éYìrŸZ®É?¢AJ8Ÿí>ø©¸³ƒãâð^ã½ì´xÏÃã Ï<>}⽟øþەấËЬýÌ6®”º ¿ö—lÛ.èg‹65ýua·ÝGfëxûèYÇ4®x+™Æoù`Ý`è7Š¢¡( Ú¦¤* Çšª0œÎ-E!h»a¯ïüòÇ_Ò7~®(Ë’÷Ë…Ån<}~æ²Lä]CÖ¶ì>BäõÛ~ øÅ3O~²Ø ¹\G\ˆ #Ú@¡%]•s:4´MÁ±­È³Œ2+ˆ>ç†LE~þüÂ×/Oä:9§kO°;~³‹ í,rßyÿþƒŸŸ)„¦’Æhš·.d&Y­‡‡®A†C“óp,yzè(«œqšRïÝ.Û†m8p[d’ïïoLÃÈãéLðöÛuÑ’e»è&gö ç3Ç¢¤.Jü¶qlÎMÃÖÜÞ>8u-Úv;sj“ÛƒàPR2^nÌãxï«”÷‹¹¥V¶ÞûÝùí:0OÎîlËŒB0¯Žú§ß]Drm*¹þ t½öè¼HŪ;ß{V×KÒ=¥x»¾óÛo¿Q·Šª¦g¬énøogš¦£k$ÒÜÆ ë%ýý­ïNÀ¬Án‘¦<²Ìžu EAÿ~!²“ ˯_ÏÜn7ºJ¡óË øè{B¨÷£T%MѰ¯žysŽ5ƒŽ~»â§ %"*>ðtzbs/çs‡ovÖÑSÖþñŸÿ¿üü‰¼Ê€ÐSÞ#däýÚ'ô|f˜íŠÝFÖ¹çPüû¿û•¦>ñöí’0:ÖvIŒMÉ2;‡3×qâûub°žj^FC*= •)˜ç™7‚ Äöe§y8b§dz|8£dHrI¿#Ñh%©KIˆg^nœòŠHH–¨ !öÍqû¸Q—ý4ò럥îj¾}û ¹‡Ó‰iìiš’Rhˆ0¾ðËË#_ù ·è§CŸºáãmLbŸ¶äÛ¿üÎÒJ¥ˆÖ£sM‘~ú鉿þõ–ªÅBàüþã•æÔ²IÏèÚöÀ8Leôž—ÓI`¸Ý¸€TÇͤ$î–m\ \ˆØñ!Ã{ ÷°çõ탢*¹Ü¦TwðŠm—Ä=Pe9§O-·ëj lA£ó‚LÃõån… IDAT2òðô |`|ïo=ÍùoÿðäUA›×¬ãò¼¥h/]K‘JF>n˲ÒtGv/–ÙzúeçÇûçÓ§‡ó°ñÿü/|ý›ÇÔ_@¦Z3€úég¾ýå÷ÿ~}ïùýûJ–ÈqvæïÿÃÏ”z!†»x|y"Høø°ü<½é®-wzŸ÷Ô¿æ¹Ö¸ç³ÏÈÃ&Ù“")RâÄ–cŽÀâ0’ ·B^Nn!€A–•V«%µ¤&›lòL{\óªyü¡Žuûîª÷}¿ç)ª–AVƒD_׸¶Ív³cOŸ_Ìlj)çêé =S7ó/²BÑÔ „ iŽ¨Ð¢`»zÄÚtmÍúîuh€,AV4$Å€bؤE†®ÉhÒ(Äq|I§ÎêQÙ†JSvdIEU¶H’LÛõ ƒ`„Q‚iZÔm7jÇtƒªn©ÚË4G¸š,?êÌʶDè*»Ã©ë oÉ‹„ùdÆÃý#QsvqNG‹e(x®MQŽO ×ó)ËM7)Š’¸¬‘u™(9rzqBš¥Èº¾A#¬!ÍbھŴlY¦Ì M J=y" ™²¬Q4•É,Àq,²$EFà:ÂÃÏ÷0 •®+Hö1yÖ‹Ñ“ÎxüTÍP¨º‘R"+&Yœ É‚˳S¾ûö[<ÏCÑTz!ÑÒ’†!º¢! …8«h;‰¾ºƒ°ªäÙЩúUך۴‰÷)eZÓ55A0 Mó¢FV-„¢Q4ÞÔ¥.;¢IJ|”n@éÇÄÀ0ÀñâY‹É„2NiÊ–Ã!!ÊjVÇ=a™±œÎ$…í>$Í+UC2EÙÐI*û(âôô„¶­iÛÃqÇ¢^Z $ß1øõ/¾ùJd‡„ë«S4]Á5-<}Œ ·u†TÆ\/¦¶Œ©+¤qÆíÛ[E§ì;:YB1udÒ¬!+šÑ­ìW4yŒÖƒ))<=[òä2@¦ o ¢"ç~½&:îñTPÛŒ(Ý5}“c‰ÀµÑÙs©%Ih˜¦‰cNhÒžWW?B“=šJ¡ˆG¨õ&Ü!Šc³I+rdŠ®cPÍ H‹eHC‡y0(s‰¼nQMƒ¤jé…ÌþÑH ¢R"sÌ*ª9ßÝo1§'h¦GS÷ô²Â.rîÉÙQ@ªܱöÚ1Tަ¢Ÿ½x( ”¾DÒZ$µÁ4$èÇîD˜%Èb ÏbNƒeà ‰Ã1A:ÓÙÉÍ+LYE•dTE H-×—sfŽ‚9ŒHÌVU‘­‘0> lßb¶pp= Y€¡X ½DOÁìt§?þ”¸Ì-•J*Z‹&ŒNÂõç<î·Tm…2Èx挺Ө;0U ß^ÅUZÒ–5ª*3ô-šÚa)-¾kÒ y“P´)†¯“·%‡4gæ ­Œ¦Ô]Í.Ú“d EYE³©O'$Y†îº8“)‹³óqZvÙÏ]ËÐ ”MOŽÂ:,h¨{Ý" #t]e E¶daJ:]ÓŒW@>pr2ÿ2˜zø®Åtn¡«YºÆÔ:º¶ i:òFðîþH>蔃LYÕÈBA×Lʪ¢®j¦Ó9Ra´Ã²5 ã°ß2Ц;â8FÓ ,Ó M š¦$ð TiÀ÷œ±ç]瘚„c}\Í©:qœ1ôYÖPU=M/Fˆ³,aéÇÝ8Iéi £žç“…GÛF–:iEYá…¦C׎R–¶î陼¨ñGKÝᚊ$¡CÓbqMŸº¨p=ÓÐYÝ=¢ªÇ8A¨*EY!+¦íððøÀÉÉY:®¯ !£ ð¸Þ2 \f®M[”Lƒ€(I8™ÍðL“cá9.‹ÉSÓ0,›^”]GQŽÀ¾—ØoCY!Ë2 ÓÀÐ-ª²%Þ™N§ m‹cYtȪEßË4eOKƒfjÔuަ©#W·ªð<óc4%K2êºA× 4S1F–Çf½§©%º®Ç´lºE#Í2ztM&-bê¶b2ñQÕq¸U5¬ÈiûÃ4P ×·Ñ ÇñI³|L«K(¸ö(Eu‹^Àf·GÕt4Å@’Š"¥® <ßA(ÍȪ†ºÏTptÆ·´¬ «‚Ãv‹$IDIŒ¦i¸žM–'TuK^ÄiN;tضÆ?ü⛯ä矞±=ì¿Üï·¹B×Ô!åÕË+de mÇ¢—]6iG%™ B£(J Í¡&’À°LtU¥H2„Ñ¡© Ói@Y¤<¹\0 ßIÁÖ56›§‹ çsš¦ÉxSÏеÌ}—®ïÉÊ–¶oºfpsóÀÉò‚‡‡÷zâ8&ÏKÏAˆŽ“S×TÑh1e†Ͷ9¤)’¬#„JQ5ÔU…*ôqÍYÕô Y–ã~däFÇ=¢ï©êšAVÈ‹ Ó0‘¥ÍÔÉ’Œ¦PB3Ñ-Y+£ƒ$„Ìá¢kžã’§ÕÐ3ŸMH¢#ŽnÐvac¹’$eeŒJåhŽm²¶#+ê¢Â4 â0'φa@Hbì²— šfÑ–5U[Ý(²Ñ YçÍ»ªº'˜;Ã=~à"KºªP• ŒNþ¡kúNPu-Yž1[œp{÷H”ÕhšKV(ªŠiš$IJYUÑ[!]ý§ rYføÃá¸#K\Ï" ÷¨ú@š™Ïg<ܯiÛŽYàÓÔšÐdÔwäuA+ x“ q˜Áu=`Z:EcšÇ㼬h{ ‰™;:ÚM#ÉK¢,ƒªyïM(Ûšóó ú¾eè!I „b–%ÞÄåd1å—ö·_)¦i²XžbXÃ`ÙÊ8”V9uë]„L„Ö#u’g ]±èúÝ0Y¯î9YLTð>²î jSš‘ï\-ج64¦Å³§O™L<,Ë /*Þ¼»¡È"t©B¥¼ógzJÛI¤á× 8[Î]ÃõÕ˳V[LIý¯ª,MgË©ƒ zIc“äÄI‹¡HäÕ0úz‰ÙdBœæ(ºB/êºÁ²Šfì—Û¶1ö­ûŽº«1lÝT,‡¶o²BÝ7¶MÝŒRœàXã§@Ûµ,ÏÎÙl6,©ëPT%»8¤®3&Ó1Þ\æ%¦n³ßî)ë Ã4XœžÓµ-yšRT5»0bµÚàOÎæXšJ–¤”eë͈âˆÅl¤ñu]ÃÌ_ ª2y•ó°ß’75a|`èÌÝzƒ" ¢0zèJOCWe¢0~ž;š™Â#šaÐt¶cÇ ƒÔ£h2ïB?P5-B×UU(š‚¶ƒAR¨ª–ºèUeT– FËÉÙ)‡0ÄóއIQ@WØ¥ –ëF‡QhÙKÔõ@ÛƒiºäY¥ÛÔm‹ã;UM–•w!¦ab˜#[ëpˆ±-I’ðUU(Ëš"/é…F5t´}ËŸFtŒPM Ë2è»ÇRq]‹¾­Te…ëùUOÓ ê¦ÅPm†APU5†9ªҤĴ\’<'+3lפnk<ÏÁp,Ma»Ûáûr×à SGǵ5– —©§q¶pyr}†.:ž>9'LÓâ'hšJ]V؆‰¬ ŽIˆj;ô-´EÍÓ«§´CG×7Lg>MÛŒ„zYÁ÷5¶!á:½Ô!4™ç×ÏYÌf”iL•ç4u=ò¶¢S7)ò‚$É0m‡nh0t‰/>yÅŸÿõ•øñÌl6edÖ›˜8kÙ%÷ë˜Û»=ëu‚¢¸®Ëëϸšû¼|2e>ÕP”–éÄfh*†¦AÊÊø}ZU#örÈØí vûY¶IË–²ëIò×›Ó6I˜²\ž`Û.YVÐT'óŠ€›ïð}!$æSŸþcõþæ–‰0u}š:ÇqM\ßáîîŽèXR”i6ê„_=¿`áɨ¤XZÍÙrJt<ÐKý¸Pª2çxÜ£*ŠlguÓ“•õØ!*»CHÛö´ ©€BÝBVTeIYÔÐKœ>½¢è‚“9¦í0ñ}ò(ÅÖ EFêz¤A *Ь“§yZVÉ`»ÙÑ2PÓS65¦j"Ú¦—$ u׎ê1ÚœêrL!kÊ8§QLàz˜¦Åêq3‚ÑZ u°U…¹ï£ty!˜Ï§ Òˆ=RºZ¢ªjYB•%tÕ Æ²ÒеX®‰¦ š¦F’†q+'uTu1öU>vÞ»¦ ­ ú®¢okZº¦àöÃ÷ ]ErÜqÜ®p\ƒÉÄE=¯_¿cú]GR”¬wäqEYtdeMY×Ìg£m«ªš¶'Š"º¶¦Êc–—étJO‡m[ìw[?¼çt>!ðMÎNgè24u‰ ;3¦IxÜã*ø³Ï¡ý<4“`î ›OŸ½ ¨jæ'§hšÉÔŸ3™Ì(š–¼®P:tÔM†ïÙˆ¾Â7UTÑ2™XÔÙ¹«Ð¤nDä÷Bv¹»Ûñ°=’Õ¦QRç]-aisÏ£¯2º¶D’:Ú¶áîöëdz`¯ÿæoY=<`eY‚°M›!¯‘Šš¹mcë£ûÏö¦<ùjÑË MÓps{ÇïÞ~@È2Ÿ~ò|$k´%­$hBF$”~T„©²Š®›#>SSÇ»Jžã9²Ôá˜:®­S$oÑbÛ2¶)ðLAžeìŽGÒ¬`sØÓ óÙ”*IЇß´º1Ö² €e»lÖ[Í ª&ˆâ=B;ÿõ ™$ ÓÙŒAû4’]×Ð÷-žoÓ÷-º&‘å ²¦" •¦<®yÇÙÙ%ê îBÊlÜ&ö»ñžÇ´mO_ T!uš2•ýnƒÔW¨¢áúòK“q ªÈ)’‘”>4-B¥A' )¾¿}d}Ì(;…f|¸[‘å-u3ÐÔŠ*¸¿¿åÃÍ[„€¢Ìê[Ö±LŸ¨lùþûõÑv¶[di´qeEÎñxij]Ä q8ÆôB¥v»†"Ó¶9†)>˜:ÃwMÚnÈ4MB¢kJ†®¤È“G@\Ïàó/¾à7ß|bÜ7»†¦ŽL–S: Ê"e÷¸E_ÎX,TaMZ¤Ø–†4”ÈR‰IÏåòÙ´³†<ߣ©‚ÙtÆ1Î8D%–Ó-ªb’§æAÀrfc¨-«‡wqŠçx èÌzöô)SÏ¥Ì+$I¡n[>}õ)uš£·uWS”9»í-ççgØ2<Þ=PÄ%=q]’Ö-éÝS­ÈŠÓ¶I«‚AK;Žn’ÕÇAO/µØ¶ÉÐõìG:–‹)E¢ŠA´øŽÊÉt·û÷Ìß%ÞíPÍ@E3ÒWú1u]uèû¹Z·Í¹>¦ØžCQç¤u ´èºÌÉòM¨|óõ[ªz ÊjN/–l›ñwªK\ǤìzšªÀ0 |ס¦çÍÃ-/æ/)ò–7ïïdæã-ržÐ7ถ¥cÙºnÐT ‰Z¢*:B‚¾«YÌ$aqÿ°æl1'ðMŽIŒ¥+äu‰­ª¬ëßóHÃS7¨ÛYôT]CÙ*Ôƒ hImÖbÙBÒPɳŒC¶&Xœq~^  Ç5ÉóCÕh«–(Ž Û¶ó ™‰ã³‹ôtLç³ñAXµÜÝîHšžJé9wýq;ÑM¤–élЏì׆n3ˆB-Ë2×OÎÑU‰u²ßß}ÿŽd× õ=ó@Ã2lª0FVÞ=Þ¢“ç=(&ÆdÁ“Ï>eyñŒzhi» Ë™O4T3åêÚãòé yüˆ` $tWf¾´ñMXL –³Sæ‹)ƒ–éòæ»oQ8l"dÉB÷„#qrá3sLþÛ/~mÍfwËÄ·Pz ÏY`¸îTá'?zÁgÏ®ø£Ÿÿ„ëÓ'YÈ“'§<y‚n¶|þÙ gŽ,»T­LQKT5n€.ÉØ’‚£¨TEJ×—4}ÔŒC{'+deƒÜ€Ñ5¸jÏÕdÆÂ–1DŒmÕ|ñêŠKOÃîRÌ¡àþá-]/°¼ի͆ªjè(Úш ¡@ß‚¦’=–©1äkN‚Ï)¤˜¨Œ¹¼¾dyp}=Ã1ª2FÚƒ¥CÑEH¢BHMUzhe keѱÞé{ƒ¡Òš¨Aî¨Ë}pèKˆÂ”¦Í4ÆîJqdÑ'dCŒ½|ÝÄw¦hbÉeVÓ-hHÛ¥‰BÓµŠl Êª\Bôѱ„Ê Œ{²x¬Fx–Éá°B75Cý8O–øÓ ’"S79¦*‡†®¯ÈEOÕ7Ì‹ó¹C›lš˜Aê©$ÈkS1(£E´¨º RË|>e<°[p|(OÑÇ3™L NOƒ‘¡%éã?ÇöþŽÀÖxóýXªÃë§Op€û»·vìÛÝÍ&äÛß}à·ß~ m†nŽÑ ©æg?}Å‹'K&Ê‹çS¹#>®ðLЕ?°È«Šõf7šhûŠ2Ú±pTßýKÉ&ÈYi›‡„ëËgÈÒÀo¾þ{nnnÐU$j™žÌxØ=ðæíoÙ®>no·7XrÃæîªk5òªãíû;ʺ£GB³õQÊÙ•äyŒ¦Ë²#»äÈÉÙYô¨4Ê@S¤¨’„. lUF§çõó'£’¡Jyýü’"Zc+5]qDW:N>“À£« ë»ÕͰ°¼€²ê5Ý©%axDÑ ’,#Ë$¹ãåçOyùú'''¸ÎŒ››;tCâG?ºæå«kzŠ2Åõ,èk4!¡Ë2ÏCSà”YΫOž!l!Šm Øy—#ÉI=6aY³ÏJdÕå݇7îqLËÒYÌ'„Ǧ¡ÑT²(²ˆ" 1­ aR²ý8·ù®ÅÄ5ñ²Š˜8¦j…)“É”¦épݱ;®Î[ª®GÖQ5gXt퀦«¨ò(S‚IE89Óvyãzy]±:î)†¸,AQ‘ M©!´¾ëÑ7Cóù|4 ™,¯8&)7·wüðÃïØ­îl“®Î‰Ž[‚‰G]hùÅ«%?ûéï}¹ZGüÃo¾f·½§n;ŠZж‚®k¦eÛSW=}'=óy@×Ä|þé5G&‰ÖdÉYôx¶É4ðy|¼#Ëc„*#dI’(ät"3u4¨+Ûb>õhš–A’Éò’daê ²$X=î(«†§O_à ¶›ÕTجnpô×°-Ávó@–Æ "ºn³=&¬6G„ÐñÜÇ0›¸˜–F×–xÇḧºqMk©ÈÊ€e*誂ª©$y,$]æÕ³  "K ¤¾¤¯sD[¼¶¤ï;ڦÛNùþ»ïQd YÈš†nš”UFß5h¦Ìq»Åµ}†º­¦*˜ú ¯_Ÿ õ%MÛFqS× Ó™I|8D9÷›#gË3ú¤~@=ÝPÓt5U[¢È aR¶5eÕPµ ðG?æöá-{‚¼¨H‹:¥EáTeÍ4ð&U•“ç ¾cí÷˜ªM?ô$Y„ëÌ8î÷¹Å±Îæ>Už’„1MÝr}yEž&GLÛawŒF7ëCßS4-ª¦Ç$ð&SÖ«}?"Eý©G•§ô}‡UŽ$ žMÙµxÓ)eßqˆ#IÂ1]ê¶£étE£È3<7@™ù, ªKê®G5lʦÇul<Çdâ™\žÍYÌ|¤¾&Ï#$Iæ—ñÝW ’LÂÉåk~õ›¿Å6§dEC‘×´}ϧ?zRA”\_žŽØZËöîw|öé–•¡Ž‘»†“ÉÍÔˆ›=‹ÙÚ²ÔQt5¦ëÒ–¦Ò¢k£¼þW_‡ŠF05 £ˆ¦Ó1ð}ÁËWOyû憼l™Lf|ÿî†æû÷üø§¿m*üýÍ÷èW3OÆtt®Ÿ=E2tWlIæ7ßü@#>?C³¸†Š2T®ÎÅé+Þ¼¿Ç¶­±‡, ¹¼8¡(tY#Ï:1P55Žn èëÍŠªÈ’”ÁÓ©ŠŠõþ–®o>ê' Æ‘Ï>}Æt~Á_üêïé{‰(?2÷,\C¦¬J4EDzª¥ëz/á)*mEœž]óáý=‹©OÛd|xó=çg×Ðw£Ò¬èƨu›³\Z¸–N›$<¿>áÇ#RÓàÛ­+'C»ãÕ³ªC=Ð÷(=á!¥(Ç!ŠôB/ ‚À£®*ʪãälÆÝãÃ8‹v¢˜-ç<»˜àYòù9ÿé/ÿT².n[ì¡i4mKQX†Ž¦« U´}C0›²Úm‡cÑw×E6’“¼J±E·)‹’*¯AÕHÊqè>u×òðð@ÕÁóëglÖnop›8Ž©›Œ ˜²ÙE$EIS|öü’©krwûž®o¸|r†fW‹ñÍñ¯þçÿÿüß_þâ—Ežïxv}Åæs÷¸ ×àéõU¸8™¢ô5‹ÙŒ¾)9™ûø®N[§HCa¤i„¡´ECà/@(cmtèªó…¨JÂ(âý‡5E=°;î±=›É$àòò„nˆðŸŠNÛ¸¤î:æË%®cSY’b96†iSQ’Q–º!c‚õê‘®8M£ˆ÷¸–ÌýÍ6«Gú¶ay²DÕe’4åÏÿã7_ɲ’’eñ—ß~ýkÏâññ3°xñúÓ‰Ïqw¤HJTYãÛ+@S56ë-ëõšÞ"‹Ž“Óò"f©G×~xûÀ·¿{‹m[ôm!ZÔ¡¤K*;@Ȫaqv¹äþð÷H²¤š*/I’‚woßÓô²*swÇO~ú{\^>¡ oÞ~K‘g”Eilw;V«5×O.Æ'¸;¥*â$£ï¡—dâ(BH°ß=r²\b96»è€a;(² kJ]ej›dÇ”4ÎPdMè²`è;Lס¢¡í*Ê:g2Ÿ#)*²¡B¾=išóöÍšA Yã‘.Oá–@Õ-zU¢ìZâ8Â2uê*äì|‚iȨÊè¯[ݯ¹½YqûáM3Yow fóSöaN'Éø³9w7¼~ñ3ò°ãþö–—O_1óLîÞÿË©‰!ÊôÈÜ·EIW¥8¶ŒO\×6q,™åÜf>ñyÿþ-BU#ýw+.Ÿœrõô”¾«ÇlV›è ¦>«ã†ûÝ=O_]ãš –e0ŸNÑ “4ϘL}³€$Ñ5iT Øn¶ØŽÍdâCß³˜/(‹šw··ØŽGt´¨@,ÃÂûÝž<Ï <‡Ã fsŸ(Žøë¿ü;¦þÓRy¸O'üpûÍ.D3=–§s„2 ¨‚"ÍhÚUXÜ?ÆÜ¯bÚ~`¶ú CÚšÃ*"+ fó%š*óÅϺ! \]žñ÷5Ží"dÁùùŒùÒáârItÜc û«_rvâ#K°z|äêꜺiYžœ…!†¥³ÝHŽ I–£¹e'g%ýóåˆï)»¾`»;ÒT†¢ H=¶ªpØïÿ æ9&YÑËЈÛÕŠ®-‰ö MáxÜr‡2e^ãûS$©ÇrLlJZ–ÓúÓ°‰¢ˆ¼ÊGè¹<[Ò6%Q¼áâjÁ<°FòbÓSUŽå1ÍÈ«o2#¯!/a¶¸$N3ʦ! #>}ý¦ðõo¾fây·7”é1ô©Ã²F³S˜ìHÓŒIàáz‹Å„O>yÆÙÒãüÔÃ1 TUÐ6–mPT%e]âÍl„V"+§çKê*§È3lÇa çå³gÌ|]XL|&A@‘„Ç#†¥Ñ=‡í–`b£É*q8ú4Â$E]+],IFWL² HX IDATèÖ›=B\Ç¢L³qàn[,Óe`2õQ„ÂÐÀêqEߎëðË' Ö«|Ê|± ŠwYÌóëSTÑó¸Z!„†$+<}ö”¼,8Æó—?|%ÿûÿðϹ~ñú˦Í1›?ý_ÿ–“+4Cçá~ŒÎû÷oøçÿòçü³ñ/_-9{ò’‹«çÜÜ=2?™ñúõsÒ8™N²F–|óÛ[ŠVðêGŸ K5Wg'TEN]ULæ´tlÖkòäÈùÒE“ª,§­+fó9eYb ®¯1™˜´}‰,·\_/ÙÞßqM‹¡íñ—¦—øÝï>àM<ú¡B“uÞ~ÿžéÉ9'Ï_ðæ~MÕ dE£ÈSê®MA7-¾óײYL|ÄÐ1ôÝG@‚AQ—4}Ål ::95IÊPsµœaÈ „„mY#Moud»yàâr*´½„71_LéÚŠ`:%ÜŽ‚FßÖ˜KÏãýû·Ì—>Ÿþ’íúž¢(¨›žºPc|gží‘Cž! …ý¿üâôÀöpËüÄC’:×÷œÍžðéëçüöÉÓ«sUáquK^—9’)pÜ`„ ÈŒ«Î¾¦­3ty”þL§.¾g34MKV¤è¦@Öš®ÃsLŠ(âòì Y ÅÀQ ”¶GVZÒ0Aê$N§dE>Rl·k<ßÁ6\6ë=»ÝÙrB;tÄ~ ³ ÓqÈÔe‹¥ÙŽª¦x.y–Gc¸SUSb;6»õÛ°Q$™¢(Ð-¢††ëLH’˜v¨Péqm ß59Ž<¬6¸^€¤ÈÄqD7üÝ/~÷•üÓŸŸ ©Æ—]ÕñÉ‹—üö7¿æíP9;¿ÆòTŽá[~òÙSÖ÷„QBS´\œ]ñ÷#ÆG¨²#ŽcâûIõQ6¯·íãièúÇsГ7ßþ†”?ù×L#r„ÜÐw9ß¿ù†À›°Y¯9?[à: †–dŸñ»¯ß“g5BÀó—×–†L‡Ò·hƒ%;º‚oÈœŸœ²:Ùì# Ýa¿Ùc©UÞð³Ÿ|ÊååI’±]íyýü’h½fjÜï$ynX¨ŠŒ©È<»¾FQTdæžÇÔ1±tÁ~¿b³¾ãòò‚³óSd\Í'ÉŽÔUÁÙù ªÖá¹6y’bh-Çíš_áó—§HmFÝHRËÏ~ö)Es¿]1(u-¨Ë×Q%M3H——W8zÏ·¿þ%Ÿ}ò Rq½0YØ:¦bp}yÂwßü5¾«‚"±OzÕ¤*jtNÏ–´R‹î¨4uÊÐöhº‹$$hs$$4E$„Ôáz7w÷œŸx]ß£ÊÆ¸¥£.r†®GDC%ÈôL§.ýP ›0›Ú8®Aœ†–ÊÃÃ;¦SO^_! Ò“`\.'¨Ã¨<¡(¦Í‡û{PTÛE–54ËY0™L0e2.I“œ$-°ý9a1 oêÆ¬^† žnr>·¡É‘šžºìé% 7ðPM‹^2Ñ‹¿þ‹üJþwÿûÿÄÃãÍ—ß}ó÷È¢cµÃêø_üâ?òîí?Ä÷üwü<ßåþÆý¶ÄŸœ¢ªÏ^¾ÀrzŽÑ®ç"+&ïn>ÐT o¸¥*ÆÏ¥¾o8==Å0FËlîòÙgψ“-²Ô‘„G»ËÙCß!ÈJ‹¢ö$iBVl7)iTóx—Pw5«ÝM×`¸¿y囦Œ«Ë¬6;Î/¯°M—®ªÑ$C3°Ã4hÛšíêgWçÌ=Çß”¶=%>¤(ÈyÆÔs¡« ïzÁ‡÷7¶…© 4Q`UædyÆÝû[st“œŸ¼|qÅÙÙ”¶J8™ø8 –DIÉ|êз9§Ë%aÒu5gsÒhªN7Ìfç|ÿÝ[ö›0,¸yÜRõ=MWóôú‚p·Gb`>óøðý··{.ΞñÃ÷ßóâùSÖ›5ëíšó'OˆÂES’LFÅ5 kªnÇ)]7b€Ò²`µ9¢(&eÝ& ®0›.Øí"švläuÀ£31ÏsÇõv…i©xž‡i™ ´¸®ÅÄsFq¨¢ Èç§s^={‚mi”eÊÐ÷hªFgØ“!àî89]r8†YC3,Šº& diŠ¢ÀÐÕ uƒ"ʲcÐTZÑqv:GQTÂ0¥í$Šª"Žv´}Ãf»Âó}²âc RUéšžºéøõ_}û•ü§ÿê÷y÷ý›/û¦g¶˜L&'>/Ÿ^ðÙ‹ òñ”·üçÿôþÙýþèÿ-gŸpz±À²:º!c>?a@fE<¼ß†UU³\.ÑFª k*e]‚Ü3 ®©1tÇ0¶\𢆡Â2UÇ]W1žðpw$[Ó êÞßÜ£›f³S\O¥.BÎæ>'sÃÔØl·(ºA×6؆.Ta8"ì»Ó™z#§HêkV«Ga†nLÈ’’ª¬±-ù<`wØ`Ú&B–)‹’4 ©Ë˜À·È³ˆýþHšl×Gê¬%¯3²ì€©÷Ì›‰­áë::Åa¿ô)³˜øáûª²`y2C–{êªds1 ‡õÝ–,L¢Œ€µVHø¹¯ÉãËÙºŠ'§sºªáÛßþÀ|9ç݇7 øSŸÃa‹ç¹eÃz{¤ø[ž¶Æ#¬(‡¤ n‡‚¼,QEÓȲ’²ly³Fš¦`¹*y}dHÉ8žÃdê Ë1ô t5MU@Û K=ª ³À¡®2²,IJ ‹›‡ÛÕÃ4i›M×ué:xxØ¢*:º¬‘d1'‹)]S²˜ÎˆÂ˜²ì˜LäeФ CÆ’`LôM‹"z4]àù.ª¦‘fe]óìÅKÂ0çë¿ùá+ù¿ÿ/8¿xò¥fªT]N¯ýLJù~ÍçŸ>ÇumÖ›ºPøwÿÛÿE™©ômÁaû†Û›ß Ñ ©A0¥(Kò¼ew ùò' CKšxòäE†‡*MAS5²c†i¸ ²Fš—¸Ž‹ëŽÇ8UWㄪè˜1ÎÙE u×qc„¨ùñg—\œxdQ„Ô¤Mƒb˜c•Ò4Ð…ûõ#’"(ª’ãv…­C™Ù­WX–M7È쎦=¡í!ÉRž¿zÉ»÷ï0m ¤Çí ËÑùôå'ÌçM›cÚÛ]„¦yIÏãÃó‹K^>¿âd9çáîM(ć„ׯ躖ºÊÙ­ŽL'§ØvÀf·Eª©£hQ´Ã6,4!!ÑáÙ†é0H PDÇPå\-§XºÌasÇÜsÇ›ËjC03¸¸º ÍtS# whªNL¹}ÜL'<½º¢z6ÇIhÔEexܯB¶Qƒ¤X4Ȳ‚aê4Å0Q¢¨H2BÍ­¸Š,RË$°Ç7Ô“¦©¢*]W…!õG+×0ôäyÉöpÄqâ8a1[¢«*yòäü„¡oI˜À]Дª¬ è`¨9?]¢ M×a˜6ÇCB–TmÃÅY€éêÈRÃÒ6˜º>Q’1 &˜Š†® &¾Eí‰ ~°¤ë%aH‘W¸ÎŒ¿ýÿó•üò•É7¿}óeÕuÍî˜q1Ч\_ÌQ•ŽÝnÌy¸ÝñW¿ø&S?ÿ³ÿ—,yËó' ²xÏþ°¢©ÞýpÃ&J°Ÿ›7EI[˜º@UzLC£j!Ír4YãîÃ-Q’qL3´@Ó,š:GV’40M)š†÷î$…4Éys³æúù’Ù–sÁÉT#ڇȒÉ!ŽˆŠÓpƒÄÝÍ-ƒÐMƒ¾kÙo×Ì,…‰¯ã8:ƒ¤ÐË5ë²fQäeYÛÍI’hۚˋ\WãÙå)eV(²ÌÍímšlî3Ê"!˜9¼yû†ÝþHšå¬7ñ¦S5–Ÿc˜:²®SÖ%š!HÒˆÛÛ[\ݳ]<Û )3Â}ÄjµG×l’$a91Y¦Ü£ˆI¨Š×õ(늲KPTÁéÙ)qbY&Óɔ޽åÅË—tCOQäTMK^udE.«(ŠE7 ’AÙÖDi8ºÙëš0Œé†Ý2±ÌMÓF"oà8&bhÑ50thëšAÆœW×P%Šª2…A’A$YÉnS–(&Ç0%ÉsfË9çóßuX¯·¸îœ¢ìÇjñr‚¦C“g¸žÍ îVÅ /kª²äêÉþÄb¨ËœÓI@žä<®4=8¦ÉÙÔ¦,’(Á2'¼ýðÀÙåß~÷=qc[>ÿø«ï¾’ÿ›?xÅÃcôeUÉì-I”®l7šÂjµÙDww{vû˜íú³‰Ì$0YL¦8¶Ã|ðø8ö©ÕÂÐ-ʺf¿Ý2 \ÎÏæ¤yL^æ…Dà{D‡ m7:úd]' ¨ŠCKï™Îf¨ºFœ&¼þä5y–ñéO^¡Wç®/çtu†*k”µÄdyB]wèªN·1AðäúŠ»7üþOÂ˧윜œàOçÈšMZ4´½Äå“gì7[ê"'°lâÃC,¦.󉃩A¼ý/<½×®,gšžù„·éír{íµ-mY¬©îjÕ4Z-`   ssäeÍ@À@-©KÝUÕEv‘ÜÜf¹\&½ ï#æ )Güÿ÷½ïó<²ß<¸dQ¤a5 ”ÐeƒÕ|ÁhÒ£3Ú½ƒáˆNoÀ¿ùßÿ޲xXzIzlÖk’8¡(*¶ÛÇé0›-Y­÷”µÊfë3ö[(ZŠDE³Õ –fó=Û]Ìl¹cã©%ÜÝ< é «%EqH5tÛM¨E B¨sý.Û½Kf¸;MQ0mƒf§K‘‹,–kv»5~ŸûÙŠûņ8NÉòU/éµÄ¡w(qq §¢B… µŒ$ä¹ÀÕí £Ñ¦®E¢(g9Û`jOΟây‹õ†î`tÈ8¥‹‡„˜ ƒZ(™LÆdiÆb½c·wi7tQ"Üz”iŠ¡+´[nx€CEΠߦÈsZŽ,×RNUø,V[g[¤¢?b;u™‘„͆Áwš~#ýò‹cþô‡¾~úì ¿ý›O0dØû¾øõgxñžf§C’,–kMæ³/?å³/^ñîí®¯ß£¨P+…ï¯ï@ÔQNÛÆ4D%çâé„ES1ìº!a*ª,ÒîwIÒ ¹± ‡ùÝ®Š(Ôlç.[áû)š)rv>@Qs¯æôû6VC$Íb¢(' ©iö:Ü>Ü ÐëµQ$ÇÌçk‚0a±ÞÓD)ª¶%Q­¶…¢J´Z 6ëâÿl;fù–.¨üðÓ{,§Åñé)‚Pq{Íj³áÍoi٠ĢFDê2b»òqƒ¿ýû¿'+J̆…ëäEMo0dö{šN¨¬eм$Œ6$醣Óqruu‰ Ä™@‘Ë$ia[L†gìÖ;÷àeÕzÅ‹ç§èÒ¡(I:Ãá˜" Š0ÍéöÇžGf¨†Ézá‡)º!1š´)늼»=&ˆBz}›ó³>ºZ# "ÍF¡†"K(*¨*‰0Èx¸_`[V7ˆi4ÛȵÄv±¢×îP9®ï³Úî0ÇäúêU·ÐT»a`›:r%B nˆc[œŸžà/—äØºAY´»m6Û¢(ÒnY zM©ÆÀsçHJFYÈŠÎ.ÈU›FË¢(CNOF z¢Èç»?=|#}þÛç H_ëŽ@NBרµBïÔ’ñhˆ"Àn» 7ò¸ÜÅçòù§Ÿ2Žñ‚× H#ð6w7 ʪd4n2èk”ix°é¨:^ìñüôŒ^H”H¢Êf¾a»r¹»[“„U–óäÙs´V›M2[<Ði z-LÃbµŽÙïwŒ‡CDAâáqKÃépvö„º*ñƒC%÷q¾CÕl,ÛfïzÜ]ß°}X"K“IC·0u›4ËpƒA´èôÛl׊,Òl)löØOÎO@ÌPTÊ”No„¬µøþí ažá´ {-(R[&+BÆGG´Ú- ÃàúúŽf»O·?¤T2Š¢d<ì¡j²^±Ýo8==g½\£T¦)óù¯>å§Ÿ®X®·t&ÏžøÍ_ÿ‚0öY¯6´;,»‰¨¨LgwœŽOÙ?þü©Vt:-z-C­8=á{.yR0œx1Ac9}*IC$ M'SêÖ«5ª¤qóá–†mòâùA°C–%„:§..ÎGHB‚(‰¬ÄJ<ÐAâŠÐ‹‘P(SËî±qC¦<{v¬Ë‡ˆçÑltÈSíÖEQdšŽ…$ˆìvÖ€Ý~E³c3½@7mv{Ui¤) §Án¶ÆTL’,§ ú£.q’‘¶©Qä)e–Q9Þn.–ȇ«{¨Uâ4&Ï£úN£ËìaÅ÷—w,nýoÄåÜ£ÌUD dÅbzÿÀ»ëKIÄ2l|ßg±^ÐtÉòˆ" xýê¯ùOÿ×ÿjtXï,«I]ˆ©ÔÉÁtýþElº%‹Ç-½ÖGw ÏKðƒ”ÍÖe½Ù#Ê:†îðôìGƒ#¾üòK>|¸a¿‹i9}þößüB%±ßxÄQÂ'¯Îùäã×lv{–kŸ½_àû%o~ü€»vÑuAR)Š AÌñÃ%®·DÓáó/ŸñÕ¯~e¬×kÚíö0îï)Ê×[ST!»ÝQÐyñü5ûýáÙ|~$I¨fƒÇÅ ÿô‡ÿ—õæ …ß|õ;Ò8áô´ƒ$fŒ&MVË$±âÉé„¿û·¿åü|Ä~?'Úx<{rŽ,ЍB‰# <³„Àݸ‘ÏŸ¿û#gOÇ´;¿¦Ó±xœ^ã¯ö誦DI†H˜¦N!¼ÿ«éÐìwq:]ö»¹’ùô“/H*‰o˜f ³¥OQŠ£n‘²^Ü ký¶Æ'/ÏùäÕÇGtU<ä¬d•4©(óÉ#N2U’,'Š“ƒ‚Z“év´[=êRÄs#v±”˜ ÆPTäùETU +*I^°÷"²¬BÓMvëµ–©’ YTñSôÎᲨȲYJAD3-r ­ d6ÞÏ[ "EQå)¶®!Õ92*¯ž>ã7_~‰%«l—klµÉÿúžÅ㆓ÁÉ!•ûüÕ„·?¼ÿZÖ&'ê¢&Íb fÃB‘* I3œ†Í ÓfµxDj,³ÅdüÓêâî®®o ¢§Õ'SÊ"…:§®¡¬ ,*ë5q’ JŠªc™6"w×÷È’„=‚(±Û»¼ûñ-G£6­–ÌxØ&Kb¶Ë%½A—ÕÎe¶ô¨+ƒíƧÌ2FýI±ÞøÔœÈ’ /¿ø%Yzq2{\ j:»ýîg§uÅpÐ"ŠA"‰#2>ÿâ%y‘¥YFÛ@†ƒ>ºª²]/ ½=NÃÁ6›”ELoÐ@Q%6»-²\±Û>iÌûŸ¦DÙÁ‡˜%[Äa˜S”"ŠªSsè»'T¤QŒ,kØv‹ÙrC XNƒN·ƒ·ñɳТ¨Y{•l¥ÝfŸålN’ådU¡ì7;ʪf‡˜­¦m²XlP5—//}I¨iÙ6I#Ë ‹åJ(Ò”ù|Éo¾úšÍÿø¤ÝÆ7—‹o¤ÿøKèy_¿þèE«ˆ^¿…,ÖÔyÊjµÂbÂ0E¨*&ƒ>G]’h‡¤”xËÃì– òŒ&ø~Ê.ðÙygOOéj1£KÖûª¡£É†®!É2EQázîÎÅóÖ¼xñAJ1ÓÛ{,S¡ÛÑè´tö»-®ësttÌÎó0«•Gåø;ñx€n(䤴šMlÓÄÒ «Áf±&M 6Ë®ç#É2šÖ ß°u×MF¼|~N³© «bUD²Rc˜2Š.„1«•GRÇAÌìnFUf˜†€ïo¹¹¼çÿô=†.sñüˆ½·¡×ïÓéØìösŠ,&‹S7³Å1_}õš"õØl7T5tÚíƒoP§ÙÂ÷öÛŸ¼zYÄâáËh€Q"‹"£ÑÑ,‡Èz½áâü”gÏ.˜ hˆ Cþòæ oÞÀ4,ìfÓ´X®–yÆxÜÇ1 ÜKäÆì61ïÞM¹½_qyûÓ ñò²¨1ÍEQÅ1"ÕÏQü ]¡Ì ÃIÕd•¢™69åø KQ€ªišŽ$)ÜÞ͈ӌf»M˜$¢„Ÿ¸IF‰™À°3æxxÌ›7oQu½ësr|Ìj¾$r¡¦7ê’e ª¢’g)“Ño¿'|FƒAFVÓ"ŽÂŸ“°Þz|÷ÃO¼úô3 *Ê¢äæÃìé×_ÈâèkM­ÉòäUøäÕ+¼½‡aµÐõ¡G1ºRã´tVÛ¢x$—þžý.äúú‘\È9>9¥ÕtHóßßa[M Ý¢*+Té01ª H“‚</hµ ŽÚÜÞ> Éú!jR'hòAN’hRŠ2i^¤9¶Ùàü䜆uЕ 2äID’øì·[ZN ©X/É‹Œ0(8zò„Åjƒ(éH’N‘…äiL–†xû9‘Ÿú¾üâdÞ¾‹(©Ô•|W*:-ÛÁÒ4½>šj`™-ªTMa8ìbÚ¢ …9‚(Ñj¶p¬&ÍF‡ébG»i3ìÚJÆãÔ^oˆ¡„®ŠÀd2áñqEàçT9Ÿc5,¦E–¦¨šAQ ¤YN³Ó&Ž’*CRMv[^§Ë¨×AD ;òöÃ%V‹ñd„")¸—4Ψ%ÓÓctUâfúˆD„~Âv±‚"£Ó4É]ñç{S™&Œ†c®®§µˆ(‹bÍ/^Â?þ·o¿‘>ÿ²ÏÑhôuQ– Çc,ÍÆi¨èŠŒ¿wY,×¹HTÌïçDO{Ð -RŠªB¨–÷sò$¦Ñ°‘UËlz ×> 5§'gÜÝÎH‚¡I£˜ª¨Æ,—.Q˜¡êª\Óhh¬W+.¯n8r‚ªT¤iˆ,)t:CJà~±Äj4y\®©kýzKGX¶A’ÈÛÏ_œ£*2·7÷$QDØÀiÚ¨š²I–ל?yEÄ|ÿÃw8¶Áéñq01µ¨Ê˜n¯K«ÓÅÛÇÜ\Ý# "šªÒušx®ÇÝtÎr±gµÙqöä”—¯/0 I°ÝøÌî÷Üß-¹úpÏÝíßKØ,æ(Äþ–î. Ojí­Á˜yóÛ2“'Ǭ6Kü0&;ªÎAðvkFÃ&Žcp|2áãO^#R T‹ÕšËË;6[¿|û#e&ñêåç”uMœ„4,‹åv‡¨Ù\ß,X/÷¬ç(rš Í8h£¨Q¦Ñh2{Ü0_xDAÉôvŠ¢h4›}‹ÛíŠñdÄÓ§/øè“O¨Š„N×áÃÕEVQS±ßú…H¸w©3E–¥’¿þݯQm•²‚çÏ>åêrÁÃKÛiú>çGX¶Î‡Ë{êÊ@ײÌc¹[“T)²¦°œ-H’«Ñáa³AÓ,jY$ˆCœ¦EžtÛ >¼¿¤Ó!©ûýE“qÝ=ÏÏ_¢+qR²X¯Y®]rA@2t,ç`pÚm]ò4G@¢ßo¡é ^ A. Ã=U^ú1Ÿ1›op}QHò]Qˆ£AÈét-š¶*KŒF-,£&]LÍ`¾t©%•M« ¥ ±ÜmQMUU™²*1åÃR6ŽcLËaµÙ#‰:išcêRv¿]…ÎÐÂÑ5ÌJa~{Çñ GÃnÐê´Øívø~ˆl˜dÀäø×ÝÌäiˆLÉzyKUFTuNVÔ¼yƒ¬H¤A†P뼿š²Ú»üæwÍÇ¿âùóçuÍ¿þó»o¤÷wÓî·¾VõCÜ¢¡7åÛÒ05‡Û›-u¥p?»ÄÔ iYìÝ=¦n!‹"º¥ãŒHªÍù ¥.yõüœ,‰˜Ïf¼zý’4õi9Ã^‡ÍbC°^ò‹/>%§àñqmì—÷ÈbˆÊÖõÈÓ‚ó³SL]'KkZÎ˜Ñø„ûÙÃÁpšWXf›ŸÞ\"£Òé¶uÔ $¦Ý!‰3ܽšÁb»¥ÛjÒ´tÎOžbÝî$©¹¾º¢a©ô;E’æ 5§gç8-Y”Ùìö¼»¼¤Ý0>i’%>£I³ÓÄ>õ)5i´§ÙlPT!’Z²u}¡‰cO¸º¾GUuÜxÅßüí/˜·È’œù㞋篱‡ï~øßËQ–i!Õ ’PÓí „ªLð£êÇt¨ ‘ÍÖ¥”júÇG¼ùpK{<äÕëøé‡ÉòÝ™L†EMœV¬gX E—;$~€$ªÌ;$»‰¨jì6ÆÝ.Ž¡Ñi[¦B]A´Ïé9£±ÓVÑ%]²Ù­·(ºFVA*Ô–Æ~ï²ÝlyzñŒ"˹ŸN1UõÞûH’‚a˜x^DQÉÄi~h^:eæòô¤®TDÞŽÅíEñâå¶¥rt4àöæŽ8IS¼Î¤C“t$q‰ã´I²˜N»IgPÔ(bÍéÉî6áÝ»)f»‡(«¬f3†Ý?üô#w;n/çßHÏ_:(šòu³a¡k¿ÿïÿ ¡ªh¶:DIÉãlm7è5\<9¦Õ´°»&e]•`²·÷ùýïÿ[×ùüÓɳ€£É˜ï¾ûöÐ îöˆãˆ¢,MƘªÆÙùÓ»[ýÝN‡Ýf‡.F”šepqñœº®©ë‚*¯„»»ÝÞˆÝf¥@U L†“ƒ¤,ˆÓˆ†ÓD×tM§®%–$Ë ûhŠFö8:=¢¬e:­ßýù[ËdçîXn7ŒÏOxÿö ž·g·Ý`7 tM;¸»5 Ûn1ONžbYß¿}K’åüéŸÿÄröÈë×/9qJ’º8–…*ª¤q…ª<<ÞÒ4PUÐt‰ã“ qœ0HóˆÇÕ§Ù¤ÝîE o¾ÿ‘‡»k:i’bë6Iœ¡K*†ep÷0#)k¶žÏbµâöö¢”Y¯6,æ+̆CQWX–ED´›ùŠ^@VTÌKZÍ&RYQ•[ßåøôwC-1š3>:"¯ zÃeU’¤;wC”E<<ÜóáýÍ¡DÔjâ4ZD~Bf»ˆÉèˆ>z…m”EA•çˆâaUÄ1’,QE óņºª˜Œ‡ÔeÂvûH£©`êmÝà¸w„ªØšI%Їޯ.Æß§ä’DJÆø¸‹Pf4T‹ÝvËn¿À0$TEa·òPDqDkØ" SªBd¹ÚÐn;8N/Š˜¯vŒùþϾ‘^}ÚÅÔÔ¯ë<%òö¼|þœ4ÍIðóœùzO¿Û£Û¶˜Í¦œœ1ZF£Ávï„)†ªq69&Rîn‘%h68–Až‡¨*¤YŠªZæN%wóŠ®ÒvÙïQá$ÍæWÃâÏþMS)ò„ñhˆëù,[ZÎÓÉ1u ÷Ó)º¦Pä9“£#Vë ²f2èkhŠI–‚(¨¨†I³íp?½ýY¼¨2½]ÓiùË·ßRS¡è:jÓ¦ÿd€¡˜Ø ‡ÅrP—4œ&Gǧˆ’ÎÃã ™0ˆùp5e³°Mª²¦×n#P2[ß"‰"yRúqX1Y£êqâ1ž pÝ=ËÅŠ(Ž1,»Ñ¤ªR`z=ã—¿ü’Ï>y‰¦܆IœÑrÚÔUÉr³!üyï@yž"ÈÈBQ‘Ä)¢ª‘9–e’&1±ë£ËŠÙÁ b4ëÎþ†£fÃâay¿‹Ùìv„QŠ%ŒÏNðÃ4Hã”R,¨¨ˆ‚UV¸¼º¦ªj$AäôèŒírËãí IP5ÛV¨ËQ¨±*†UY§)£ñˆ0Œ©+‰²*ɲˆfCÆ4%,[ÁPeÜÅ–ë·SVۀǭËj»F‘Tæ÷+Çwwh†D»ß& R¶{—v·Ç|¶BDŠ,'+D¾ûñe!3‘¤’ÓÓ½~›V§Gf¼}wÝ1°›-4Kçþþæg,OÓ²YnÜÝ?bšM$NŽOP™ª•ª:ÞUM¦;hâz«åî`³-ëƒOÎIœ<ÈòŒç/ž°ß­¡PùÚ£®4>ýøW<>,¸{|àÓ/>¡=î°Ù¯ðwºiÒi7ñ|ÓÒyuMUK´ûCÞ¼}Ãû«4Û4ÝæñqŰ?Æ6l~úþG:ý.Ь“Å5ýÞ’dç%ËÕCÓùì—¯ˆ4 yõüÒ¸¢Èò Ü­ÇëW¿D54UÁ0æËGöî!kµs78-»é%½f²œÓ“c–kü¸ Ûl3>ñþò ²|ð=zN„XºÍÍý/I˜Î9¹8¥áØtû-¢$‚ºf8„n“䮯p=ÉpH’$´ûMݽ‚óçϰ[-\Ïg¹Z¡I"¦e¥¦U3è7HBŸývMÃVv›Èb,W(²H»9àÇ)i3:êpz:ÄnX„q@繈»‹ÉJJ”©«’v³Ã|¶AD§–d Gå£WOË„º(pÝ5ƒŽAïØïfÔd”BIQÈœ]f5^²ÜÎ9??å§Ÿ>ðéG¿DSd.ß?~#ýý¿ÿK׿VE‰õjCUW†N«ÛGU¶›-u^rñô)¦¡S W?~ (Skòç§§üð—7Lo¯9;=¢ÛkÒl¶Øn]â8g±8´ÀAåÝ»k²º$Í~ðõjO $©€¡©di@¿ÕÂÝÇDQ„ëm¨ëŒþ G¿×gzû€n:´{]l§Ã?ÿé;Meç-é´XºM–eL§Sší­vQ–Èò‚ûùa£~úô˜¿úÝ_ñùŸóîí®®¦šEä‡H5<þ U1qýþhÂõí w÷wP–YN”¥Ø–F¯Û$ôbdÁb9ßp?RGGçLÆC$!cï®èt{tÇ F4ëgm\ÑévI’œý~Çn·¥Ó°ß¸Þžá¨ƒ¬–ŒÇmê"&Ï2’(£¬%’,£3 8&i£i’¥šfàîüÃ%Y1Ð Ç1¨Ê„ífŽ"Á ÓÄi4)ŠŠåzE£ã°u÷ÜÜÞa; >zqN-´{Ý…ÓÐiÚ¦®bh2b‘“D.ÃQ‹ª¨9=~I‘+xG·ga;&7SÒ¸À ܰ 78¦Õl! E–rttÌÃ| (dyAÃÑÑÔ‚ñ°‡nh7­ÿeøúÃÿøž¿|J”¥$¹À“£ç|xwƒ%TŠ€¬ËPU;Ÿ—/_qñô‚ø/øFúò·§\__~Æ/^>' #$ MJ¢0¥,JžŸ_ðîÇwhª„©«("|òÙ¦!X¡ª2ˆaó‹_|Éìá‘»û)º©³Ù¹¨ªAšæì6[ ]¦Ýth; jF½.ÃnŸfÃFa·^ Ù"†i¥ËùžÀËÈŠ§Ùg»‹‰ËˆN¿M†|xK¿w‚ *BA«i0èÈ‹MW1 0ò G¬7Â(¤Ùi#É¢ªqu3e6Ÿ1™t=,,Š^»ÉííóÅšNgˆ\_=°ßÇüâ«OØîVÜ\^Ò´-NŽN(Ê‚›éãA"dM†ìü¢œÓîX¼xö”Õüž_~ù×|òñsŠ$àúêžwo§diÎÅËSª*æ‡7ßs}ù#iæ'>Ëå–Vw„$é\ÝÜ0îµñB«û[Ü0Âét‰â„–Ùf~;C2ŠªŒ¹8=B¨k¨â¬b½õðCŸF»E£ãà…;¦×xzrJ‘ÕdIÉz È&nŸVÛæãWOøå§¨rA§cÑ´ln.§„IÌÑñ˜Åü˰°,EU H”Šþ¸Cy$¡¿Ûú»]HeIž§(²‰€ÅËŸóû?üš ]U¨ó‚(Èøp=EV ®Þ_³]o)’USyöúóÅš HÑ ÍÓ¬ñ¶sL»b<èÒ±<=}†P ôz=*Içøô¶ªã¹yž Z 5`è‹ÅŠ7?½åþnóô‹¿š *Êצi ý¼àš-爒Ænà8þö;œ†ƒHMË1yöâ”(^£ÊI˜S–5 "ˆì–+Ú-‡ãÓ!EU`Ù zý1aà{{†ý.EQSÄ1I‡ wwwH’ÈÉ鈓Óc‚0Â#lÓáåËOéuG¼|ñŠ»Ùœ8ÉÐL…f£…¡X(²ÆÅ³ V«GÂÈ¥ÙlbÚe]bØOßb¾Â´nï¦8m›"/¹Þóů~M·Û&M}„:¡Õ2Y/©X­Vx®‡$L§3TÅâüÉ ê¼âÃÕÞ~OË2±T™›ëTJE§kR–ƒIYUÛRh4G¥"åälÄýôUÉQe‘ Hغ>²¡ «"OŸ?e4l£ˆ"«Å#¯_?Ãõ\6«EY2½¹EUeFGCœ¶ƒÙl±r:½Wï»Ï õ‡,s\wnÚÄI¡ÛDa†¬¨xþÁTÛ¶ †N KÕÿ—$&‰ÖëçOè:& Cdzýš*" ÑÞg¶Úp3’ GÃ>½f±È’”ÝjÝ6(ꂪ¨¡€ÈD,–Xn}~|{‰ÌæL¥Éj½g¹XÒî´êŒÅý#ý^‡gÏx¸½G—ކc¼ D±4DY!ˆbâ¤$)bú“N£ætТ×é‡.Ûíš››g3>\]óú£OéwGä©K°_³ÝÎÑuýÎ¥éô8:9Eµ-½ßþéí7Òç¿òäüÉ×UU!š"Ô·÷sjdfË9ÝþU7QQ,étl2²(A,îÖl6kƽ.U”„>Ý^ A®¨%˜ÞÝ¡ª:Y’Ó°ì„ÝЩ+‘­!#H5®ëñ8Û‘$A“§aòðø@£Ù`x4œª¨²[º´œ&‹)“£N›·oÞ¢5$ühn<>Î…0J©ÄŠ'Ç$QI·{ÌééSâÄCS º‡§GØM™<\st<àäÉçÏž`X†‰»Û¥óÙ±ªÈcò”N¯ JÍWõ :]¤šª®(ÓœõrF«i±^?RÔ9O_>¡ÊBºƒÝfÍl±¦;±ñ]Òª`ïÇèrI¥ º}4Mf¿]ѰMªªD–àn±`³[bY:IZ¥5¯_΋g/y÷öu& "^à‘%e)5W—Szí6Û½ tš-fW—ôí Í$Žsg¢0¦×ïÑt,L]äêý÷q@UV4ì&Š$2#(2Ývƒp·#vË-ûÝ!1œä!‚$à{)ƒVŸP»¢¨&)£nE°&iZ I:U²\¬—WÓ9[ *º!!‰¿§ÓîÅ%y¡q}3C$$QÄbtÅæõëçÄy@”¥4[uUq{³"J+LÃ"S†­ö!¦b4Úm¾ýãqÚëÅÞvEže¬W[îQĚɰÅÚ_r29aÐís;’ÔÇOÏP ƒíÆE ääôv—åã5³Ù5™¡é0è¨ º#$A@“ªºbr|Lš¤lW;z.º"qötÀä¸Ãg½>Ø[Ó^ÏB¨ Y#ôsÊBúDP!«"Ѝòþû[™À Éó”ÑQÉÑ)uary9E’&-›vËD2jI¤Ý²^oêƒQISkZM››Û)ëõŽ»›ò8dq¿ pSdE$«2JQäúzJšä¨²‰nZ샣ã0™ôICŸ¦aÑo51 ‰ÈÛcH ¦!a¨w÷†ÈÓ‹Ç']ÚM‡õrÇã~Ž DQA) XŽÉfç"<ŠÌð¸OÔÆ4lþé¿þ…Ýcˆ®šŠ„_D Uôz6ûÕŠ†ÝC3Z<.wT”ŠÓ³Ê¢ X~{sKsÐçv6G±lŽOŸÐïY¯VeÌÉÉ,Þ# Y|ØSI²Ž(K$©Oú +"EcÚ›­Ër³åÙ³#tÓân:ãúzÎ?ÿá{Ò$ƒ*åé“#ªBà»èšŠm›$y†éXx‘¨Ô4“$h·:º…X‹¸{—FÃa¹\³ñ7¼üø‚vÛæ£W¯ ñØv¯‹Õ49;kãÖ÷+^<=bØ·ï®Q-“Ûéš¡þì+PÔ’ÅjE’U\ßÏ1Ôïßϸ½[àz{DYàììÓ0¨ê’$?Œ¯W{N&Çlv;Þ_ß`:ÍâéÓh6»l÷Q •h é6ðÉÇQ…[î®ñý-EY&÷óž¾xF{ÐÇ‹NÏÎ~æg´ƒvÓÀÖA© Ê*e2>b»ZÓ4lTIâìh‚ejÌ3D¥Mç$Y…,5˜/ö¬V[æÜ^]áÆ;Þ|{õôëߌ±ûë <Ä2ê­^ ÍÔqZ‹Õ E2° 89ígñA±%Ö˜šL·ÓC5dĪ`Ðm³q]ü´B3Û8v‹$ôp÷ šýãñˆ,Ëù0½9=ŽGl÷[Ö»%¿ý«/©Š€nÛÂ24tÕ M ’(AÝ’"RV5óù7 ¸xyÔÏQUƒþd‚ (´;¶‹%óûÏ_¼¢7ây>YU3½¹ãúæ=¢TGûM@dl6 I"'0½Ÿòòåª:ãÃÕ5n˜ÐvºÌ+ŽOÎÈòM7˜L&ˆ¥€¿MÙ®Ñuêšù|ª8ƒqŸ,O=Ë0© Ð$ƒápB^–ì]Ï È(ª”Ó“_|ö9÷·hŠJVdRŽ-i¸«=ÏN/¸üé×ÛãùºÙ૯~ÇÛŸ®yñò5ƒáÏ>ýY1A4Xî:ýSz­ i"à´{ˆ²Â`ó…ë…Þy]·øîù+DYEPd¢ÈÇ4ÄÛìXàqýfú‰tï¤ÊGQD¥Xd§·í-±Ý•ÕÒf<žâ‡!¥’Ž© ¤iˆ$ä$aÄzic;²,§R© JVQ#I#<ß'Ï@‘uF7C$TY¡Q+Rk–¸Y¬lZÍi’âû>ߦU¯ )*_~þ÷½‹ïGHiJÇ\\žãøóéwã%PïôXØ6²*Q®ñœz]“¸¹à¬CªÕ6Ãшj¥HèÅ,W jÍKÇeÿî!fAƱ7ØKŸïŸ½¸²IÓñ”íâ»>qi–c>öÆáƒŸ|À?~Âd6¦R­Óéíà!¢¨2]®©4”ë¼4Ý )pt÷ûÖ–5Ÿ»¨Z‰ÅÒa<ž)i’òÎÞáþƒ{ˆ@É*³œÛD~Â|<¥SkPkµY-×·ËÂË1³ÙÝÔ™MÆ4ê5¦+‡F­L¡ 1\1¸º`½œQ«U¸pttțׯxçÝ'äÈ|ûô¹¬²wxÀÓ§ßp5¸aãy(ªL„Œ†#D$s›r¥‚®Uxõæ5åºNFˆnZÌí ZÑ$ô£1³ÅüVoVª ‰ iê²µÕ!ð6 GzÝ-*•&ÎÆ#ÍbÄ$Æ”b×çðàþVF©„¥ÉhºBµÑFµjT â®.¯Qe{åðí·Ï$F«ÏÏø ×*µ/O)ÕÊtûmž¼ÿˆá䊿øÕ_óëÿô»O¤Ÿÿù«åòcUQ)E׬b I.óæø†ÈO(X~°¡¿u›¦-—o·°q¢È*ÝnYY.·Œ¤Z‘$MHâˆ,MÜ ÷ïÜgp=b6[@–2™qƒD<Ïd‰0Œ(— ˜ºHèel÷(Ê,§còпý1:KÇs\dEÁ(èmo1_Lq½%Ûý6½­*KG%‚ g¾òðƒ[E±¤ãlÖdyF£Õ$•¶»\^žã¬ÖJ,½Îb²dx5"s:½>V4xýâY³¸ºš0šÍØ=ìÓßí±Õí“ wE­VÁ‹î<Üg¿ÍÕå÷¨rÌÑ=D1Å0TŠf…³Ó Š¥ï½ÿ>Ï^œ ‰*ûGÛ4;U^¿`«Ó"ÏrÊV•’Uáøõ+âÀG1 ÌB‹«Q’¢š9;}|g B‚﯑åÏ[²Ý­q÷p{ûwPs³« þ—ÿõÃ(–øÇOMnØéo!“rüê)ƒ«I’`Y~ó¿ãéÓ—8®‡ ‚ã­q}—rÕÄõæn6ipz|N‰Tª5š½6{B±¢r¸×CS2QÀ(—‘E…4“ÙßßG•dœ•Íb:Ä÷Öìí`•DN_¿äêä‚o¾üž¥qzv…=_Ó¯vnS…åj!õ)˜"Š*¤ª¢²œ/‰‘þñ¡“ IDATR­ë‹¨J‰N»O©Z%'áÍó+‚(Äÿc¬(Ë’$&CÚ§¯^ðü»Á'Ò~ºM§Ýü8 bœµËÆÙ°\…\_/ج Å@º½Bž³Z,XÛ3.ίè4{Të5Â(deÛ@Fn€ ˆÔëev¶»¬Vs Vv»ã&J*­n Q–ñÔz³ …b‹\”˜ÌGhJBè;DÑ×õq6>µz YShtêœ__"ˆ²,Ñh·Éò˜‚©à»+ö¶·ØÛߢ¿Õäî½vû]J–u[Ê5<7Ã(›üä§¿äÑ»ïñ‹_þ)íVYŠóŒØ1Ì"šªãúýþ?âæú‚ÁàÇž# g¿üËh5LúÝ:íz•íÞ«™Ëx8åbpÎÝwŽØÚê ëù ½PÄ*U‘3‰$9ÜÛ%KC~ðÎîßÝ%Ë#ªµËÙ)­J,ˆY®<‚D&C!ôV D•-ç,ì ºžS°dM Š}†7„Â|í²÷!­f—F£A§Ûb40ñ—õfÎÉÙK|oÍÝÃ=j%‹ãï_P.¹wØä׿~ù‰tïqU?Ö% M7ñ«XÇv\Z:Íj‘Øw©Ö븛5¦&sçþ*å:ÓñŒõÚ¹ºd!š¦¢ÈöjÜj‹ršµ:“ÉœM˜0˜Î¸÷ðAÈ©×ËX¥"/OΈ³€^§Âj<¦Z©`ê¼9½ÁYnxóò9­VƒJ©ˆ=_R(i$YÄÒ^PoU˜/&äÄüì粘 9;½`c{zÞöFÁbo‡F³Î÷ßÏäjïDK%ßA’ö·¶©XÆ£1®³B2¼0äÛožrq~A­VG%â$"Nr¼Èã½=¦X08{u$ê\ nøêËïã„N»ïLÆsì¥ÍN¯Ïf³¡Qm£ÉEn.|õÕ AËÕŒn¯ÆÞÎέǛœV»Gœˆ+ ¼Èc¶˜!+·®Á’Y¢T¬0Œh¶ë´Û$I%K`½vùâ_c¨%n®æ|ýõK·3^_]ÑÙÙÂ4u<ÛáÑ݇¿úM¾=*Gqެ¤Èªˆ9twêôº÷ôØÚ®òè­¿õ^]¹MÁn–KÖË–^`9ßm@”Ev÷úXÖíÀ`:^2¸Y°Zx¬#ƒ1¯N^ÑÙªñý³oX®n0-(YEIDVÀ05êµàmýìâé£?9€4ù8Øl¼€(–, •Vµ@øœœ£ªÛÛ Â,ãÙwÏQçãÝ^—µ½BSU¶·:„QÊååwã# åZ…mIJš*ãØ+‚8"—u Sf»[¦lèÌ"£ÙŠñÌ¡R®sçè.Qä¡Ê2Ä!¥z ÃP‘u‘÷>øŽë°³»‹"‰DQ„*›·Ó$e8‚,PkÔ¸8=g¹X‘…2µJ‰$ñ¹óàÓ’yþíW4«ö÷÷©5Šh¦ÆÅ`@–Áv¿Ïû÷)YfË÷vtAKèì·øü³/q¦«¥ÃùðœÃƒ=ú[ oA½^¢Öh°^­pì%]áøØf5µÉÞ¬X-b¦“…b O'líls|rLKä¹Á[o½‹ª(¤IL’æ¬f ŠF™×ÏrÐ ATùô‹ï8{3åíGï8)_}ñ‚,ÑIDXQHu£ççg<ûò ¾üôï œ ZBA§Ö2éµw°Ý åz™\ˆ8»zŽç-‰K7ñݤ.º¬àÙ!Ë™Íd´ Ž2&“%7§DQ`8¾!Œ"\'DUÊD^F³Öf¿—¢µÅ/õ+oïMõJ™¢U¤ÛÜÇ C2!ÅöWlu;,Æò8¡R)#H"’V`8t{uîÜ;"T¦+ÛMÐÔ2Qê†>"9b²Ûm! !jA¤Ò. [¥B)9ËXÍD~ÆÖÖ?ùèOYÙ¿ùÍwŸHÿãÿü„(þ¸VnrúfÀrîÒo÷7Š3O0ÌЦ`ZŠ)óÙ—_Ólì0/Ai¶šHb‚³œá­|Q¦R­¢›i’c/= Å@HrLU¦Ùl2 °pÄBUåþý=bÇCŠƒ?B™=îîp°w„$Ôj=Fƒ1ÃÁJs‹±=5EÓdº&ž¿féÌÉÒœb©„e•I‘é|‰U¶OÆä(,>rA¿Å\†1{û{¨‚ˆ.),æKDU!rCQçÉ»O0-{÷ ¼ÛòT©Xb·[a0ºäà°¾Ï÷ß\ êµ–Éýƒ»{wÆ»ïÜçüâ%Qä"È)‡G;XëãJ±ˆ'²Æû?~¥&“Ê"ÃáššYÁž,éVô:uªÍ.ªYâó/ÿÅtÄõpFŠJ\ §¬7q¨°œÅœO™®lü(#‚8¿¥‹ç *‰,¡äR"±Y9h–ŽTÖ©õªHLÎ4¶Žxðàç$qÆã·…f”0¬ û»?¦ÛzBŨ³XO2ë›5——6o=|L’…´;U¬F ÙPÈ3o“z@œaZÓá†gÏŸãl~õgÍG?ü%ûÛ‡HtZœ}‡Ì™O&¸¶‡(ŠøAH”)Œf EM3¨Ô A¡RìÐn`•{ª…(‰lÜ ‚¤F Ãñ5iR-”ÑSÑÕ”éÈæülÎÍ¥M­ÒCÊD~û÷ËùÅ„7'“O¤û Ò(ý8tcIc¹vظ.® *:Åb•$Ë £QˆÓˆíþ†Q@Uáîƒ}ÂÀGÊVj¹ËgŸ~Ãrí£*ä@.@&âx1q¥Š$«Ü Ç¢ÈV·vKûp½?ê¬$â(Á0 ¼~óŠ4‘D0T˳+¬VÉ8¿|E·[Ç2n€V±èÄžOÄ誮™ì£ßåôø’ÑÍŒj½J¯Û¡ÝnðêÕ æóÕz‹$Ès™ùpÅŸ}GµÒÂu\æ£)þÚ»µ³†.ƒÉ òË_P(ê” &aãl²!c |×A|ßFATnÌ–¦# ¶í`­F CQ)U./fèÅC~üá¯øúé´ÛûloÝã`÷]Ä\áÛoMØÈjÎÆÛ c0Ÿ®Ð5™éü¶)Zm©hJʃ£=N_½¡R®2wbYB6,¢(&Œ\Je‰‹“o\¾àų?ðÍ7_ð³Ÿý£›K†7Wˆ‚Œ,yõæŒR¥Áîþ××'Še&£)¥bIThÖw(MT¥@Á¨P+wiÕhT;¼óðmªFE4X/'ц,QF­Ëp¸ bÎ/.X;kìM{»ÍÓ§WŸHGGYœ}¼^;Ì+ê‚(‘åŠZÀ4‹,VK“vƒ ŠÉ ãsçhŸÓ³c‚ ¢Z«3Ý`Û¢úÛÛ$9„~нt•N‹T¼•­ Àp8¥`™K§^#‰ST£€LŠ¢¨øC“éö$QÀÆq æ”Ûr1 dj¤l–.Íf‡å|Éáö!ë•Ãb¶äæzÀje3Ìд×—,Ób㮩6*ìîôß pì AšS¬ÔX­mæ£5I&q|rA»Ùåâì18<Üg1›+ËõIQ™j­Œii¤yLD”k2½^ ßßpyq}»]®ÿسÈX®}†7K¼•ÏåéÓñ’ÅlEÆlµëôw»4Ú5ÜÍEÔs‘ùrÀd>ARŽîÐÛÙ#J3DEåÁƒ·ØØêµ*ÅfbÑÂsmîÜ9Ä´ ÂÈGoˆ5KÃÝ8”+öö»4këé]-ðüù {ßÅ4ÚèfM11M‹$Š˜ŒÎÜ|EœlÐ4…Ȱ ‹¢e±˜-0-$ ˆ‚€nŸ²^Á¶=“™¢s÷­·éïí#D’$sxpÀ|ºâó/¾)GT¬B•ÁÅkÂÐ&ðCVË•›â·1˜ÇP©, ÊEñè‚BÑàÙ‹oX,/yöü3N/¿b¹±Ù\ñæå×<Ø›ŸÿôÏEË‹ãáU¶(—¼óö>ýôt¶ºh†F¡\Á´ |ýõé'Ò¿ý7?¡Ñh~¼w°¬ª¬¼5…B…ÅÒÁw‚0 Ý©atÒDAg9Z%9«Õâ6qˆŠënдÛõ¥n&·€åÜÆ÷c\ÏCT 3’4fµš±ÝmÓ,—(š*ãá˜Å|}Ë;­èADŠ&Š’‘e·<$$™$ØÝïáØ ¦£ÅR•(Ép]Ÿ8HXÙ>ËõŠÉl ¹ÄîËùYÙÛÛbç`›õjŠ*ŠèšÉöS]!ŠDAFÑüÈçztÃöÞ¶ëÒju˜¯6lü˜/þð²¨cš‚ÈCÕrú½¦¥Ði×É—Jñ¶ÙØiï0_xÌç6ÓéÝ*²½Ó# #ƃ5²XÅ÷Svvú4š5š­ª&¡Ê ))Qš°½»K©¬“§"Ó«9Åb8üçߣ›·å°4 èvšäºHžå¬6¡—P(V(–ËluÚtuÈÀ^-i7jìô»\œQ«7O4Û]>øðϰô ² £)B&" Y¼`4~Êt~y«†<žÿ-åB•½AUM2A Ûªc¯V|ùÅW´z]"!g0²šÏhVËäþmÖKµ*|øÑŸ³{ô?úéyøÎÛ”JM6ë ‘oS/•ˆB‘›ÑœT”,3RIÀÒ‹¤YL±¤q1¸¦Ñ®Ðí5(–4L³BŽGž¬P„ŒÉø‚¿ý»ÿÈt5 Œ<7Ab>† Y–!JP­W¹MxýüŒéÌÿDÚÞ“0Lýã„ÅÔ5…éxA·Õfg{‡(Ü Haàán¢Ûá?fê1¥X,ðúõº®£È®ãÓÙnà‡>šf2Ÿ¯ýˆvûvd¹ tSCcêÖ­í)Ms+ÝÐQØÛÝBSKtÚ»Lç ²$!ˆc¼0¦P®‘å)VÕ@±K%$E*Ì^¾ È?ýé{øžÏlnÓjö˜g4ê5ÅdzÁÝ£;$ÜÜL1­*ÍvM×q76Š"ðÅgO±½½PÆñÛÇ<Še‹LˆÑdóÇ I’ï½÷眼~Æë_qsrI”D¼ÿ£÷øÁ“w'x^ÄO~ø3>ÿÃטF4…µmSª–HÒ”éxN³ŽÐ­ ³éœùlJ¯¿Í{|„YªÑëm1[,¹ÿÃg<{ö A´àÅë¿¥Ù–å˜8@È B]7X­|Od<^sïþC.fC V‘í~—­^‡R¡@³ÑàèîÜÀìZô·‹<|°ÅGï?"ö—dÉYÈ) ÞœsuuB¥RÃ*VY9k4Ë@%4Í Ée–Ž{<||‡½ý>'o^Ñn58¿¸@” ^©³Õ>¤Yo²¶'ıÌÁÑ{¤8ÎI9>>¦Q¯#«9ïø˜¥=Çó=Ådp6ûDúïÿ‡³°×7šM–ëY’Òî4Ü h´Z,KÒ,Ãum¶¶»døL§sÖ›åªI¥U Ñ®ct¬‚Á|¾d½ŒIs¸¼°··‹,Jø®ãlðd»×æêê E—xüø1GwîÑímóðÁyöô§§ßE®ãPiäœW'/PUårMÅ,×6›…Kd²€zÜ¿{S7q6>aš‚ ‚¢–²ñ–øžƒ$—_}¬ë4›G„©‹ ‰t·Ú|ø£ŸÐé•HS/X2ΑU•4ÛŽ<ŽxA€¸š€iiLf&“DQàëgÏ8½º¡ÞíÒë´‘ˆQ%]˜LçØîš4yëáù§ü5Í^ƒXP/¼$ÅÙx̦+|?¦Z©àE¢&1™^£Ýú­°V«óø­÷‰ƒ1³”,KÙÙ~Ƚ»Pª´i6jdyB±TÄÙ¸h¦ÄýGÛ˜E…ëáÛ÷™\¸ŸHÞn3›N?F„V»I’$è†Jš¤­2’l0žLÉHˆÒ ÍV‘Ýýv/rP4…b¹Êd:e1_ Q˜‘ ™ 0Œ°×koƒi*”KåŠ "ììqu5e³rˆÂQ‘èím‘„’"rysN¹Z X59»Õr•Ù|Hs«B©Rå³ßÇrž°Õ;¢Vï0™L0d•‚^„\ #ŠÕ*ý£4MA3tÎOFìí’ç9çWgœž‡(FŒW††¦5ˆcŸµ»Æ,kHŠ€U´%™ÓÓ3’4AG¦X+Óêu‘T•ñhÌr¶¤P.¢[:› W2ýà!÷îï“Å>R92ëML&e,Ö+þÝßüOh†„U’‰³Yæ#Š"ªj°Z­1¬"—W fÓY6ÙÙíãKTYÇ0uJµ2û‡÷(Vºìî¾Í/~ñßqÿÁIçs®ÎÏÐT‘DR1*5Ìj…ÉÔåç?û7¼|þ”f¯ÇŸüù_SkoÓßéÓnÕ˜ †˜†N.®ÉÅŒJë¶TWÑ5ö{[ìôû”ËU|/Á^˜Ïq7# Cæþá¿ðO¿ÿg^¼:¡UosyqʇþˆþÝïØx î¾µ‹n)¤)¼ûþCþù¿¾üDºÿ¤F½YùØ4 ä ¬+ž==ARr¶wv±mŸÅ|i^D­Ú@Ö`ãy˜…*ÓÅ’RÙ1½ÅÙëËÕ?ó¤”V»ÊÎN‹j½B£Óe²\ÑnÕ Â˜“à9‹‡Q1yðè½î6ß={J‰KuœÀG· ̧6É"˜¯8»¾@S$U¡Pmp9"i*šUàË§·šç4•huÛ(ºÊõÍ€ûGwXÏGh™Ä³g¯Ø8.~àrt÷.«•Ogxë5•JùrÁ‹ç7|õÅ)–¡²\ÎQ”œJ%goÿˆ8•Ȳ ÇõyuvJg»ËãwÞASr¢ &ÎV›×Y3<}ÁÃ{wØ9ºËñ³+×Åó|^¿>åÎá!7§^>;¦Û¯1›»ØöŒBQ¥X¬âmR@äìâ˜;ÁbVÁ³l —n[aä“‘¢é¢ !O`>]âÙ.Išâ·|Û$¨vK¡dímñùçàâj@¡Ô Ö›ØM(«*þúQ™°X^¢i ª¨3N‰üÓ¡K‰lïö™Ì&8ë£TÂY{\\it{ìôÐo²˜¡i"bc(*Ͼ}U(“ˆ9Š¿øËŸ3_ΙŒFt;eêõÛ¥¡çù F#Öë%Ÿþææé_ý«CzöÇ¿ùÛ?àù9õV ÝTX¯—ìíï¡›ÊíV÷zÎùùA˜—Ô«M‚ÀG §R©2ŽÑ™Jµ€³¶©-tE¦Z.’æ''üþŸ¿ ‰¶Ú}dYa¹rd(ލÖKŽãqu5`<ŸQ®TðÜׯÎÙët™–Œ†—ìî7IÒ„½Ý} UFÌ3’4á¿þ'ŸHï}TÃq³ïÞ¹ƒ$€o»ÈšÊz½¤ÑÜÁq2âäöb½½}û KâÑ[GüàÉ=tMÁ,šÔ5^¾|~«îŠü AS‹4{[X¥"׃1³Éš0HÈ‘BÉb¾\R­ÕÑT™F³Äï¿ BÂßýýo1 …F½ÄèæC/2›ÙüðÃQ©–Øx3rB$ ÒD´j|ùÅ7DaŒ½ÜpyuA½ÞATt’<#ÊrVŽKš%”ÊE¢`çºL†‹[Wš¢I "â¯×ˆIH»Óam;ضM³Öâ÷ÿü%­n›;vI¢5¦¥±ZzŒårƒþv—éxÎÉñ i¬¸;½mІB§8›˜›±Í&È1Í2§§W\žfd©ÀV§CAׇ²Æp0ÀY;lì Åb‘8K©Ôë¸þ†ÅrŠeHd†ÁøŠóër¼M„ «8›’˜'ÞÆFWe|ïÖŒ»½ß¡ZU¨× Daˆ®™<uÌÙ嘼ÿ3žý9ëù?ÿ“!f.d.Y’R*4swÞv3*L«ÈÍõ""î:bµ@ÖP•ò)š©¢š~âù!ý^ „ÉdŽ¢•èö÷é÷p¸ÿ„(‰yùæ9Aƒªòñ+>úð‡ÜÛ?àÁ½»Ü¿ÿ€LÊ ‡¼ýÎâL T¬£(­VYiu+´:5r!Å(ÄiF%¼ûöñÖ!YèÓmwÐLÃ’1 ó³+’0a»·Íññølò‰ôïþæ åbícYÐÝŒ20MƒëË!ãáú6ñX6°×s$röv{Ôë%ìå 1Ï)ZµVF£†»qé4[4;-Vk—›ÉÇ éôzÔj Â0ceo(JøK¹\FWtÖË9?þð þf¦ˆ,í5‘ïãÚ†® `o<YBÓ5jµÕj‰áõÁ`F‹è¦E­VCU%ÌB‘f§Ï`8ãüòš½Ý]²8BÊSÊ…^«ÁnR¹„ï;8ΚРÈüâf£NвÂ|±DD4C£¿Û$Én=Úž tÝ Ó©…>¡‘x>õ¢I§YàÞ½],SåújÂÒŽÉU…öÖ.Ãá€ÈÙÙÞE•ܵÍrå3qÂ(Áu6tÛMv÷¶AAËÄ€~¿Jœl(—tî?8 Õk#È ’"2ŒQrÕf‰e¨JH¿W¦`I :n„ ÃRøè£'¼|þ”ë‹!²j°rª-ÌR›³W'¼÷î»\_ž"ˆ1ívIVñìYÐNæ8®ËÉÙ5 z)‚¨2š:œÖ ̧slÇF³t¬bE.°³½‹U2аÌ"ÅBÓ(±vlª¥¶·îòôÛÏÏoU¢ÂùOÿ™õl†$À§¿ÿ‚óË!‡‡lõw88¸G£Þewo—V£ÌåÙKfÓª!aè2µz,D]·‰œÅ|J¥®Q­ÄipûKEž}ûß ‰søê‹é'Ò¿øeËÐ?^.ÖÌf3LS!öÅb¹ I³„ tP™( ™O¯èu{¼yñŠpãbš&çç·“žëËkò fË9ýÝNÎÏY¯W­ãÑŒ$ ˜Z¥Êzµf=_>‹ù ÎfÆÆYq÷Á!ö¦Ýl³¿·‹¢Ë ÃÅõÅJ!‰¼€<8>¹æÅ«cúÛ=öö¶ ˆs…ápÎ&ˆ)—+œ!ývð˜Ëó+B? Þ,svñšN»ËÁöR/@ÉcŒB/ ‘tƒ;÷°—+&£9{ûûl›ïžŸ³\º,g>õê6ÎÆæêêIÊÙÝÝÁ’R¤$ÀÐ2ú»ul{ïFè¥ Ýý= •*IèâÙk*•%KÅ·=F³ ±¦ðè­#$!¦Ù¨²\L‰‰©ÔŠºÀV¯Žï;ÔkUFãfÁ ¿»EÛlu›,gKÒ4co·Î“wvyûí]¶·ëÈšÌÕÍ€›Ñˆ$õQä„f½BfȪŠY.ñæâ $“ÉlÃßÿæظKvöÚdbÄj½@È…[J{·‹U.³q.χlŸR¹Jª˜Ì½˜ÍÒ%O@@Æ(T8¿¡ÈŽ;#Á§Q1 BŸÙxÂÆs88ê³X…s,U"IBÞyç j›å|A»Ù`½^³Ú„¬6—§—¤IÊt±àî¸öšïŸ~ÊåùK?|‹ápJ¥l1ŽÉyþò„À‹) æó+2I Õ³¤]ÑÈ’”å|Cþÿ³ô^K¶¤ç™Þ“Þ,ïתU¾vmïºÑÝh$ÁápRC…bb†£ …!éBº/I: ¨„e£Ñ½}íò«jy›Þ§Šw‘ù}ÿÿ¼ï“it»Ûhz…ùåÙ×Ò£—u$­ùUµÑ¦Q¯R246›;,@SUk›j«M¥Y@Õ%¢ Å,˜¤aH·ÕEåÃé5«ÅšN»C¡¤A²ZY,Ö>Ýþ!‹•EšÞ!éû»»diD’„(†L£S¥Ñ.R)<þYHX]O ³änô\Óï4¨uë,×úõš™cû·³%³åŠ—_<¥±]a½±ž/(K”* >œžÓÜjPëÔ‰—f½ÌèòŒb±€í…øiBw§Î_üäO™—œž^ :N“gŠ”Q­šyÄî½] SÃ^Y$žÀÒ^Ñßß»C7œˆ8‡R­L.dìíì! >ãÛÇOay¿üå÷Ĺ€®ç|û‹W¸k‹­Vƒ­.R1.Q v·„œFìíôi4ê WJ:Ûý6ÖrM¿·¨9¿`Ûkj¦ÉÕé/ÈéßÛaÿI›ÆV‚!1½øH½¨q98ÃbŠ…2¦ÎV»Œ{$q€Y,3^l°­€£ƒ{Š:•jN»£R)hŠŒ¢(H’L¡RaâÚ¨JCU¨• ´[”Jƒê¥"Ïž<@’TÈdò4£Ûn`èwÑZSϸwô’õlH¯ÑÌÏ_'kÆ£µz‡~ÿUM8;;g2ݰ²mB”»²ë0AUDœÕŠ_üü§l¬1OŸ`Û+Æ£›È¦Ùè2­ð,á휓Ó[ µ*çŒgcž=û”›Û¢‘±ö\>^éíì!*g'#Þ¾™|-m(–ͯ޾û#I˜2,h·kt¶z˜…*–ãS«Õyóö5›å†½í,+b³tD‘r£¢i\ J%ôR Ï q­kí† kÛAQMŠÅ žíÐi·°,—ƒýVË)[½:/^Ü'‰\ò,e8µÐË5Ie«Ù!Nêíº¦po{›DN§Ä™€$J´»- Å[;¬ç§ïçèºL.†Dä{TÊVóŽ¡Ë9­î6«Õš^¿ƒ½^óÝ·oˆÃD‘Uà‚!³s´O«w×Zb­7膆í;¤qN¥^åí»h²I»ÓÃO\ÏAW5~÷ëßq¸·aèD¹‡fèø„ ê”kM4!áæâ†ª`:n’Ëù†‚*SªÕñüÛá-÷îòøÁC.ÎÈÒ]®ûõw¯Xo*¥›ÅŠ›ë óñ†ùÊ"ˆn†cÇ¢R- ËÒ]uR½I§ÓäÉÃ=<<¦`ªTk%Ò$Çq=¶ú}ûüK4!$‹&£%®—ܽ—½•š‚¢¦Tê%Ë)²$R*Õ ?𩔚ø^Æd²ávà~-ýý?¼$pü¯šõߟf!Û»m]C– ü0e>[pttˆ¦xND­n°½Ýf¶0] )T |Ï¥Öj²¶,fË šj°±\4Ý ''M4UGD$,ÛA7dÚíi2O(Ë8Nˆco˜/Ö¤‰€$ªœ^\°°Ölm÷ÉÉÐd;Š8¹º`oN½J–d,6oß'1Q(py>e<˜Ñ¬—¹|à¯ÿößÑê¶ùøö-’"ÓîÕØ?Ü!ˆl/æv8Å(éTuJE“~§Câ$n€**wBûbÉèUS©x~ˆ—&w!®v‹ÁÙ%ŠìÓÛj ) {»{ n&Ü fd¤|þùìít˜®ø´;;8+—õx‚*Àõõ³V ^¯°·×B}£1“‘‰¥NPÙll&ãîÆcowŸF§‰QR ‡ÈNð6ßþî[Qæýû×L'Cöû}öwY.'¸žE‚Èîî=B?a6]2,h¶ûh†L­d"æ V]5ðÃþö«Õ†áp‚çLçô¢A¹RåÉÓ§T˲”¡(ŽR­Ô £hÕj¼ó=eC¥R+¢Š…b…£{OHõbM–L& ¾{uËùÕ”÷'™[3²Ü§Ó¬Ð¬p7s,GDÓ?í³Õ/³¿Û§Óêr5¸&JBò0"ŒRÌB…³Ë[š*‡‚`…*ËdiF§ÕáôôšÕÜESK…—W3^½¾dç Çûï'_KÿñeÑW¶½&Mb÷X­§|öù—<}þþøÍ÷ˆBNš¬—K@Ä4URî=<äÉËÇ„¡M«]çé“§DYŠY,"k^c¹j••²‰c¹¤)ìîmáút#G’2Âð®ÛTe–ëkËFT²\Äq}Y =ö÷·i֫Ĭ]ËóxöäîfÃp8%ŒdÅäáÓ—Œ§KÂ(f{§ÁÞ~øpvÅp2¥V/ñàñ!½õV•_þú_¹­ÐL“TLè×먚Æl># "bÇ%‹#ŠeE…V»,ëxn€ï‡iÀ£çO¸¾ºf1ñÙˇLJ©Ä‡·oÉSZ³ïÙÜ;:æÛoßrq=bx;CÂàêü† ´iuüè'F³Yâð`‡n¯ÈËçǬf K ³^¤½]ãf4AÓd¢ÀǶmÖ›DHq"ÇwQâœjÑDHœ|Äõš"åŠÎr¾b± ±½³ZäÏòFI&î²ß–•q;œÓé´1M…µë$â‡wÜQº4še5§\Ö¹¾ºåöv†®Y̧lm·Ù=Ø'"ÏGΠZ-¡ª"ëù„÷áÇ aò‹Ÿþæ®*tû1ï“ÐÜêP¬ïüã—glõ:ìíõ¹¸<§¿½Kd8¡‹¤ $YFNÈ¿ûócmlϧÑj’#¢häDÀ]¯øÛ¿ù÷HªÊÊò1 æ‹ÇÈ¢ˆz£ÎbµÄ±#T–k‹r¹J½ÙÀß8¸îŠý½®ã°±7¨ªL¡XÀZZ¬×ÃáQ’©5êüò—¿Ãqƒ«e²P"iQœ‘qˆ[[ zìm1¼½ÂÔïX¯v{ ]•œ%Š,“¦ až`%Še­­¾³FS3ž<:ÆZm8»¸¦P,Ažcm–hš€¦i”Ê5t£ÀbáàÇ^ i ¢âXµ:»[;r†eÙtÛ}$Q&KïZ9ÉU’L ^®ñ‡ßž}-=ù¤Ì|i}µÞDˆd©‡.ièF‘B±ŠçzÈrÊöN“8ñ(WJŒ¦K6Ö†8ñ‚€R±HQ/p~zÅp¼Às:­6Ó Z)²½ÝÇÞØ„nDfè Ǻó[Ü;8"OAàã£?Ši¶ªí²qVœ|xC§Ùà‹O?e¹˜ryuF{k‡ÉdÆûׯˆ£˜(««{»ûÄq|×и³Å«×; üñã#æÖ„ƒ£=ÏEÌòTa4X É*®ká;6Š"’¥1"ª ) ˆ9•z‰8hÔ¶r?üñ Ýnƒã{Lç3n®†lVÿ–wiÔËèªÂÙÅ-n°wx·E‘@€Q4QtZ³‰mÛ”L“Í|Ål¶¢ÛÝæ›o¾c4šãx ÏÃB?À0ÊD¾C¯Õ öž=}ÁñÄAÈéÇs–³ˆË‹!šQáÍÉ-ÿòûwL&¢0âÁ㇌n„¡M¹\ääã9«•ÇíxD{ªH¿Û \„'OŽ0Š2…rB¹HµR¥Xªâû!óùêNAm­9:~Àƒ‡±7kÖ›»E]dÚ»ö”4 9¾·G®1Ì»ô`¥ZfµY³XN0u$ô)j GKÖqŒ¦+ ZTkO¸º&°³³M±PfµXbÛ6•²‰*ƒ®hè¦ÉíðÎܵµ½E±R¤XÔ¨”Ê,ç+‚0b¹™1O(—ëÌgK¤L& $¢('Ï3Ök›³÷“¯¥ÿåÿøSV¶õÕÕå”›«[v÷˜ÜÞày{{‡ìîïQo™/hºŠ^(°{¸‡ &œœ$r †ŽŒB¥ÜÂóS‹5RœP15H,Ïg8œ³ZXtë-¶vHÄïÎðŸ$NPUËö(šUüp‰¡Kt» D¶·û˜º$Ixa„Z8^J¯Ý##$$Ig4žsqv‰*U‰ãû÷çK%2)D5EœÐ£R«±ZÎqÖ.«¹ÃõÕˆí~Ys8>è°ž)êOŸ>DRÜ(`{gIT6çWcͤ\6é÷;¼{™ÄîîO?áôü„ÀóÈÓ Û‰‰rÄ\f:Z)3gI¥UÄT r?!ñò(ÇŽr.Îx~BšËÌ×6ÍvØÛ>àìä–OŸ=gµX°½µÃÏÿ¿_ðí¿%ÍÈ6®CžælœˆÁ|Y+R(ŠtØÚn’D!yR)d™HœlïnsÿhZYg|{ЦD$¹‡¢JwÇÛž‡¢ê„AF¹Td>[¢*FAÇrî̲åj?ý³/9ÿxMÉ, d)ŽïÑk×è¶*ìl7©WUPs&£1;»»¨xÎ’‚V@Q \ÝŽyýñ‚­­¢èÒn«(’Œ"êXÖÝAÑãû™Îf¤iÌññ> "¥BMS±œçW…"­vƒÍzA³Ùf2Y ê ÅšAàÅXvÀÅù¢ #$*ó‰ÃöÖ?ù‹?g¼œóú›‹¯¥ÿöߟÇÞWõz›8Ùê×ð"éÂc<¶¸½Eõj‹W¯NP…b½D½R U-‘Eaœðöì;ŒA’q––çSn´øíï¾Ã”«¬'š¦¦1óõ„(Ð5g±"‰R²\ASt&——<8Øçðà^w ]ùôÑKTÉär8@)+,¦ÑÝ8¥|þÓd —W'誌g”+5 Uå÷¿ú “È h5ËwŒ‘¬±ÓêâmYGÓ Ed:¢È"Å¢‰ƒT«E’Àåpo‡R­†GØ–G³ßÁq×x¶Åfe±šÛ,fkâ4g8c»ž÷h7 ´FH/2_l3JÑääý¥z•'/ïóÉÏH™€5[³ž¯Œ8 hmµˆ²˜îVݽ&¯¿û#ŠhðäÑ}.?\1.qÃM”àà»>†œ°·ßâðøO2ßòƒ—ø»¿ù1ƒë„žE¥R¤V© «:ÝÞ¥bACårL«^F7ejÕ:ŠY 2tÃ$´CÜå˜Ä‡8¨×k$Ü †Ø¡‡¦iØK—ÍÒYæÉãÇÜœ_PT$‡Ç]ÜõrÛ™Ïd²b±˜Q¬˜¢H¹ÐÂwßa¾œ 2µZEØ,„¾ÃöV›j]Ç‹-´‚ÁÇ ý ²(²·ûˆ÷®È…œR¥À·¿ÿ7sn˯¥Ÿ™ø~ôÕÉÇSLS¥Õi!«…bÇM°=Ÿ\ÈQ4ƒáxL'd~Êfna‡G‡¬6ša°\m(JÌçwKôx2¡\,3º¡«Œb ÏùÁ'¹8¿$Kö÷¶q}—j½†µ^rÿp‡ýð JÅ2Š"Eÿú¯ßR®¶™.Vi„ëxTªuÖË7Wçº*óòùSÆÃF×7tºm*Ų(q~qA±RåævÈ‹ç/ CV© wBÍ$ÊR>ùô C TRQ%Xllnk'd±XÐjÖ@Ȉ(UUþò¯~Äàò†o¯‘D‰L ¨4 ¼üÁ1ˆ)= J\ Sd{«Ç|¼ÂÔ«ÔE.®¯ÉEÛq8:8@Ue%âÅ'GD‰CogR¹F¹\%òÔåþý¬Í]ˉB›JÉ`cY\Ý yõêÅ¢A†TË4M! C]g8’ÇÍz)’Û³dÏˆâ˜øoÿ…Í|Ãf¶¡»ÝeµÚ0›Íùøþ Ûý:A¼dk«Š½š£ëeÒ0'rcʦA8hªL±dRoÔpœ€oßÒÞj°sÐ# NNθNi”ZqŽ é¨JÓ¬cY.ËÕ’öVQQÐ ÉdÊd2eg·OÚ4Å;ïd.p~zÆþÞª ²Z¸8^D½Ó¡Þjs3¡š*ç'“¯¥ÿü?Æàêö«v½Îѽ#RAÂR¼FÓ%Žgsïá1ïN>âE ;ûGL¯'Œ†òêÍ&ç7dM£\«sy}Íxb„÷÷Ñdñn©/Œ'SÂ$á“'O°l‡N·ÉÍà ½ áy®cñÙ'/‘‘(ôQTáŽvž¡ IDATªT˜olâ4ãÅËt··8ûxJìúL§·Ôª5>zÉåÍ”çWØNBµTez;äÑãC3áè~IÉ㜊©ÓhÔÐMµæÁ£X–EÄÄIJç‹eTÍ \ª°ÙXxQÈññ~öÓŸ&†ª–ëQj´Y».޵âp§O»YBÕuJÍ‚Yåìâš/¾ü”jEg<½áàÁC>ýÁ3Þ~ÿ=‹‰‹µŠ¨4J<ê±}Ðg«×Ad³±„ˆ'OQ-Õ1õ*‹ÙÏ÷˜Yêí&RžG.‰à±½×`w¯NØlmíð«_¿â·¿þ–ÐY.Æ<¼ÈÑÁ6µšŽ˜gŒ'#tÝäürÀáÑ}º­½^‡Ýþ>ËõŒélÊîþWWWœ¼Æ”Šœ¼`8ŸÒnÔYnùïß j&·ã%£áœëë[îï"K9¢(2™ÎQ5n·K½^c¶˜ÄGÇÇDYN˜æ4»Z•“Ñ€Ož=f½š#‹P©ÔTÉ|Áz¶&‰v·q= ]WDh7[œ|<#Œ}ï!Èk×biÛ t:MÞ¿þ#A1¯0´¢ 1ÏøþéWøAÆþÁ!ë•Çr6ÇD’ÔæË¿¤Ü(ñôÑ'¼}}Šè[tÚ-V«’¦áø!Nr5¸ARtÄ\$Ž3æ‹%£ñM»{¾^§Íx4F-Uq<—µëððÅ3JÍ&ç—7ŒoçlÖRÓÛÙÁJB†ó–cS«)ež<{ˆ((üá·¯_¯Eœ­Ç÷øì_prrη߾gµØ°Þ¬È³„›Á„o¾yM.H4;Û„¤<|x•YM)ÔTZ݉kcMJ…6WWKFÿú¡C¹¢ÆI¢jšª“æ2fM/ñæí{È$Fã£ñ Ož=%Icª•*i$0¸ânÔ¢ÎÑÁÍF…D˜Ï}NßžqòîA’p<Ÿv·CFÌîn‹RMÇ‚0 Yk# pyvMeÌfj¶—ññãÅ"AÎe>œ_!›9qêP©VÙêo! °œúxIH«]ãþ½}êõ’b˜p{{F»]!¥Q¯³±fhš€ïmÐT™F­N±P@PEä Ò8FQ4ŒJ•ëÉ„áxJèÇh¦Ìù›é×Ò_þíºb|5-¹ºÒê¶¹¸8'Ï%:µrwc¡«ûû}¢hÍ»óS •v£ŠŠÈl<çìüšv§Ëp<ÆDA•D6ó9J…ÙlN±Zgí¸¨ºA±Tb=_2N)‚ †<åÇú#â<&Î!ÉÖ—V·Ç»÷§º‰®JÔJ:³Éßñ ª8AÆzrÿÞC>}ùœ‹7¸k‡J©È?|N³[fm­Is IÒ9}ó†á|‰&ˆŠJÅ笗‹;×C t ë›SúÝ:½NƒÏ>I©YçòæšñlÁÍí„^·‡³qI0ô ËÑ/ 9\¦2*•R…v«Áùù¢'ðÛ~…kÔê&¹äñå^Ðë4ùîÛW|<¿`>Ûå9Ÿö‚þV‹³Æ“%¹(3_o0 ÃÁ5ör‰fÈ ­^^µÌzµ MU®/æœ^Ü «"ÿõ¿ÿOdbÈõÍq@–#+:§ç—DiF&HÔjM~þ‹FÓT<:FÀõ|4Me:^à®\TU¦ßïR¯è•òûߟ É%t]eï`‹z«ÉÚZS)—X¯ÖØ–C˜§Š|ߥ¤k(šÉþá–®ƒ\,s9˜2Î&e¹ñ¤Œ/ò˜zSa±Zqu{KÅXë€0 ¨×Lú[eZí÷wд„zÕ@U$D,{Y©ÖÊÄIŠ(*$Y†¤ÈˆŠDµ\C•Uª&jÁàf8A‘U’8¦·]åÕoo¾–þ(_]]Mqý„F³Ž åèr {3L¨–+\žäË=CVôB{ˆI‚†J‹øNÈöÖ.×—Ìn'T‹5¬…Eè'Ôm†ã¶à¢"‹ò"š nF„C³[áù'è÷È2‰r­¨¨LÆ3¶Ú[D¾$¤˜šçyH²D±R'rü b4¼åÍwßâY9Y®cQ®©HJJàû\^_£aœã¤­]>}ï‡ ÎÏÙn·è6«”k&c?;æè`‹JIa¹1™ð›J©„"èX —ÁÙ µB]V KŽ-†³vv»¤^„»vr‘ñív£CU©óáí9ûÇ;ÈF„¦A»ÕæÕ÷¯g±·»ÃÃã{äYÂÅéGú;Û„‰€fhôŒGC"Û'RÖ®ÍÎa—Ý~-Oð=ŸF£‹$kDIÈÚ±w¿M³] I¢ÀÁ,˜¼zý^àsp|j³Á»xñâª.³þ·2¸8 Y-6Ø–C·}ç,•4¢4¡VÛâ÷ß¼åÅóäRÈãgGGø¡K– ¼ùþ-¶ãÑíµA Q¤S3‰³ŒñzÁ³qÓ€GO²œoÈSL)¡Öžý GAKp]Ÿm£k&QDÏžÜg>¿áâìº.‘S0T4If>_P¯×0 &Q”àûä2–ãQ­WPƒåÌAEҼЧÛíâ¹6qìÑë—ø×_ ¾–þóyIœÊ_}ÿþËIЃ0ÌøÙÏ~G©ÐD‘eBßãù‹ÇÌ—·t·ê躪HŒoÇLF ,;"ÉDæÓ9G{qÂfeá»f±B’edRN·×!ØC×5œõ’œ Y¸¸8áp—Ñ`ÈÆ¶XÙ½vYÎ1 £ñ”ÍÆ!2ú½.¥b‰Ð‹ð‡D ù¯ÿðŸî÷²J”¤˜ƒ/¾üãùœ(Í9ùpÆ»×o©•Ëø®…˜¥ô{5<Û¢T)¥¾»Æ·-dIcçà˜ÕbMægä"¡áÛ!Õjƒ?„.jQã‹?yÊŸýø3Ö£åF>ºª!g"¿ûåkœÐǬ)<ùUÐùÃï¾cãø$âµj«ÓÃÝ8|óÛßa:ûû;TuÇcµYÒï¶iµ:„Á])ó³'÷HCE™årƒY(a¹kD5æ“<"Ï"ªÅ"Ý^U1 ƒz£F¥¸~ˆ€Œ"©4[ œÀáâêšR±J­\¡YoR«”)– bôrIR¹8¿¡X,Éí^Ç^EÓÉ”Ýþª$²½ÝâÑó}Še™²©‘çW7E¡\/a–tÖÖ†­v!¹™-èÞ+Шƒœ¸ˆYFwk !—‘¸¹ñèñ¥âÝE¢(É̦SLCó]’8'cl;`{ûˆ?~ûŠÍʦVk²YÛÌol./& †S*Õ*ãñ º¦Q)™Ü¿¿K¹bò³ÿûý×Ò½#™›~e% 󹇒iŒ§J…6åJ•Å|L»…¦IDq€$‹Œ'#ÎOÏÙÝ=À 2f+‡LÙlÖw‹nÁÄÚØ´›ÆãvàðèéŠeñx@hA¥T$—s0e5áó<¡×lP«4˜\0_Lµœ4õ˜†ŒGl×g¶Za[!¤Z1Qd…Z½Áîî‹Õ‚ùlÉtrÍ‹Ï_ðôŦ“+Ò0BWLÜ 5g:2ŸÏ˜M  µ@­V'‰ÌB%…rµN’¥w~v"?ç»×˜ŒmüµGARýA6°Â£XF%´FÌ_>Ù©j:oÓêÖÙÛÝãÝwo 6t÷·èt‰ü„_ýüúý=$µÀpòâÁ^}û†ËWì¢+"kkÎ|1çv8E•5¢0 ËsMAUª%™z¹ÈÚrÑUY6•ÛÑ ñW~÷Çp="/b2â;.»;»È’‚®™LVä©„ïF”ªE.¯ÎÙÛ?ÂóBÛ"p}noo‘•œzëNfz=¢H /?}B"ú¼}ÿ=e³Àöö6•JƒçOžR0`4=¡Ñ6˜‡´*-ÖΊݽ­&¢ ày.ífçߦŸ³Û žµyt¿C¼ZR*šøAÀl´$KATT*×µÈóœ\I³E†r±@f¼úþ„z³Ï|¾A•Uâ8Ƴ=4ÅàüÝ-A(D;{[$È"äRŠªÃÍÅ”o~uûµôâ‡m‚ÈÿJÈs"?²c SÁT ^]¢j2Z±pl©UÐШ×+¨¤ oqu; Z­‘G­r {5£^) É"ïNß²{oQÓ¹MH³œb¹H­Q»Ã¿­Ú¾çáÛ>öÔax9…T Ü(c4ê<ùôÖzÊj8ã`û§—æËLJH’D·Ú£lšÌ¬)bQaí¸HšJ³ßàf°Är]tM¢bêtš ½…j•R­Š˜ ÔÊuÒHæÕ÷'¤hwÈ„ÐØ79Þë` gÌFCP ŒD¢ F‘%"A¤±Õ¦X2¸0Ë:ž=g¾Žùþ»•"’(r;œ£š:²Ói$®ÃãÇϸE™,˜MÄY†¤©ÔÛMêí:§çpÜ ÉÑ «Ÿ³YÎ8yóž‚n¢« n¯™Ln1Œ>ŒXLìÕ†ålÈlº¤·ÀÖEI«à!®ï% à9 á1ÓåœJM§\6ÞYÏÖT eWÐ¥”^£NIW‰3ŸV­‹í,ÉÒ˜µe¡«¦ZæÝÛS‚Ø£¹Uæ'?¼Á‚ùb†FŒn׸~Ž`¨>Þ0¸!Z=ƒíª¥ÓÉ‚‚©#‰ ÉžP«6ϧŒctE$ "JÅ*ûû÷i·kÔ«M..®Ib‰÷¯‡Ìæ+öw(Wk–½9¥×m„Ýv—7ß½§Tª³Ù,Qt™Jµ„( „Ïn¿K¹PGd>|xÅÁAA̸ p³Ôdµ (;¤‰Ì«WïQä"Š®Q® ´Ú2Râ­NOoh´û¬Ý€ÕÒFÎdŽî³™ÛlVä"§ççÌ–KJå‡GûaB– ´º=:[=’4&Œ|ŽïßãٳǴªÛüå_üî?¸Çx4ÀwSf#Á`Žïr72^¬¾–>ýaó«È™ŒÌç $Ygµ°H3QS1Šal£%JÕzQÂ(¹8¿âÍ_yw·¤Žm#’Xk ‡4@+Jñ4‘3‘ÑåœëË!í^‡?ýóóóþ£á ?ú“/±£Á`Hšæ¸k4¼spÞãèàˆWgüò7¿YD/–Ð “Áí‡òåŸü«‹K$Q ÛÝ¢V©á†.š!sp°‹®k4=õ&šQâÃé5i–‘g!¢˜ÓÝêã®7Ä~DšÄ(šÁÆvð‚ˆÙ|MeȲÂÚôyžsñî#±±š­PÏÏIÁ`NšéÌæyœb¨OžÜGN% M¥djÌfKnFst½DEô:tAáüÃ)½V•~¿ ˆ¼?¹Áw3$ABU hªN–Ä45nC f‘0ôXoæÔêUdMÄ0U¶¶¶PUÛöñbÍd9ŸòÍ«wôvw¹¾òáí)õZ•æV“WoOøøñ„—/žÑ¬–På»ÒbÙàþñ!ç§è’ÁfåA9Ï_<IJ6 ®<<>Ƶ-TU'ô}r!¡¿Û¥ÑìP,–1Ì¿þÕü ¦\®³±Ãñ”f«Ïh¸¢P2xþâŽ{Ä©Ï7ßGŠ‚$Ê„aÆÆIÈj³J‡øþ†åjH§]%K–ó9¡±µ@"Iœ ®™Íç”KßÀ¿þú÷hÒ³ýÕ÷¤Ù©Òét]/–ÔjeT]¤·ßà›_]}-õtúþW·××€H”¦ÈJD½T"'GUeŠE(rw:(28nHš,g2*‹Ù†áÿçé½–%É+»åÚCkWËÔ¢ªºDWµî ÄØð…0òo$_hÆ/¨üÎ#HÃ8h3`£Ñ]•¥2óæÕ*´÷÷pÍ‡ÛÆŸp?çì½×bñýÙŠ…+à+ÛCetFÝ[ÜéIÓ0§K2±8΢Çá~•¿ÿ-aÉMÿœj©Ž¦j|õÙ4š þú¯þ‚Ë«sί®„;ps!—e³Ñ ›Î0ŸdÓ9šÕ©xE±²T=N·7BDáúìš|6O6áôì‚q‚95‰Çcîoù+Ï'd-â{ßùøt67xùÍ7h‰$‚ +*ÃéMá;.R Û´ñ=…½º›óÊ•JÖÍkÍ&ÃVŸz¡ÀrfrÛ“ÉǨÖò¤s)\?àÉóoñÛ_Æàfˆ5¶‰'!—Ëâ.DOÁœyLæK<ÏA–`ss߸¾íâ¢âQkæq=“b.iލ•³¬7êÄ㠦ƂÎpÄb1g¹˜P«7Hg’(²D9_b4ðèñ3¶¶¶i·[8–ˆÌùÙýaJ1ÇþöÓIŸ©1BÓ¤ÒY¼ di›¨º„®ë\^\±¹¾K"&Ñî¶B‡J½Ì>ûœ««¢ Ðh”ÙX¯07¦ôûÖŠþhÄææ|øŒ™…®¹ˆJ„y¬­oNf™Ï\Ú½­ÃÉ€Z£ÌÎö&² UC•e …"¥B•Ž9adÎ9¸ÝÃ-⪄9ŸÓé 9:¹ ?1¹¼éQo4 § : :·l{…,Él<Ùá×ÿüæ…tø¬B9—ÿÔw\a… û É»`EXáDKе$™œHزE|_f:YpttŽ*),WsÞÿäÖwÈ’ÀܱqœˆB&Ïb2a6¡'d~ðýQ™¥í³4lŠù¢4ãð~ÚZ…xJe¶’ÔKL†¢0`iLæcvöw¸ÿøW·×¨q…>x¢ßó99>Ƕ<®/ÛØ–ƒ17¹¸¸déyÔM4Ieixx¤2ET%Ám»ƒšP¸ÿhŸ«Ë+]Ç‹BîÝ;D•4¾úò+¼P T«£%S–E&W@QT"|bª„¢¨ZI3[8Þ’Z3Í_ÿåŸóúõ7ÔCÄ$?—XN`c³D©”á“¿ÇgŸÃï~ó{d"¶7×øÓŸ~Ÿ^D¿7! |V+Û ¤MYsÓ`671W ¦óårŠÍf‘‡÷7H¦<Ï&Ÿ/"ñD†á Ër5ãúúßq=—û»;¤âINÞ^‘ÍåØÝk"J!ço/™Íf,‹ƒ»|÷;pöú¶½"Rtz½1§çWô{ClËc{oI„f½A![Æ0:$b:Ý=&Ü¿O¥\ÁwtMÆ·}f³)‡îQß\cé,9¸wIùOÿ碹žââò ét’fu“Wß\ðÛßI’É<è}ô+ÓÄ_9¬lcn2œ˜èÉöÒ!_(`ŒÇ¤â1Z7m ÃEå9»¡ë&ã ªªa-BË7ˆN Ä„ÊÑg·/¤Ÿþ÷ïsþöôS{¹àÞ“]¼³Ç“÷ž’Lª$21Ðråùb ÛZpyÙbµp9?¿¥Ziò?þOC¡gl¶Quǵ¨Ô +‘ÁMŸƒí:÷·±½€©e"*"ã^—x¡˜¯b-mL#@D<ÛA×5jõ*él Q‘(– Ÿ&ŸK23$ )jÍu Ù2¡ ÖÂÅ!–ŒD>RbÎ'dR*›;k˜Þˆõ{{û¸Žƒ¢ ø¡ ˆã,hµ÷L|Of¶t©®Õqü)Û;eêõŸýæ·Dvˆ€ÊÔ\²¹³M&©sòÍ¡ÄÁývîа Y†r=O<¯Ç8¿j3œŽY«‘¢si`Qªk,Œ›kÄõ¦¹ÄwB¢0$R©I)p9¼ IDATMµ^$}6Ö¶™6àJï¾ÿ˜gO>b­Öĵ ŽÞ¾¦ßŸ¡ÅbØÁ ? ¸¾j±XÚ4›ôú#z1Ýî„å ZMc3Ï <Öš[(‚Dà[Ì ƒÞpÉhØA‹‹hZ‚Za¸,“}r9‡Oš$Ó1<3àèËŸ}ÖÆ\jØ ‡LD× üþw¯Y¶%L'¸½iqt| "(j¢8®12§ä y¬¥A„‡åÚˆ’ ‚‚ã{XÖÇ[Ê«¤r±;ÁŠírt|L}£N«ÝBRT†ÓƒÉ„¿ó=DI!•J£Ê*+ËÁ˜Ï FÜ¿ÿŒ›ë¶½dµš£¦4Ö×šÌæcÖÖªh¢B)[âüü-¡`Qn–Ep“r!‹€Ë½½]ÊÅöÒâúªËÙé‰x‚d:ŽaNɲdsI\ô„ÄÚz×u)dòlm¯Óܲ\­0ça á¬ÀqJõ">’²bg¯ÉÁ½=†Ý>WçmÒ©*½±ÁÒñ9¿¹d8Ñ\ß`gsÛñøêË׌&š dMä¦uK!_f22L渞G".‘+&¥UQˆiëÍ"ùBÛ 1L‡D"Ãéù%q=Žçû’*²¤S-W‰|—ë«¶òÓŸþ ¥|š×o_Òëôiu»t}îß{ˆ1Ÿ‘H«lí®ƒ ñÕç_â¹’¢1›MДˆzµŒç®È—³$ÓI<ÏF Blc€Ìxn3Z¸¸¢G¹z—Ž‹AÈÕéùLœt:ÆÂÓí\0\œi®= VÛàíuíVÓ[°Ö¬KHBHJ‰S)ÔøêË7$âI:­é:ÏòÇÔ›køAH§Ý¢\È‘Š‰Ô Šù<ñ¤Ìæf‰B)F£™åñá.ÎÂççÿõÕ éoþçOˆB>tnûr'-¿¸%©jt»·(šˆ ‰ ‡Êå*¥z‰b%M2-b; òÅ‚$ó‹_¼¤ÝZ0ì»î*ãZ+6×ÖF$3úÝ1‚ ’H&xüx÷?|B¿×¢Zm0˜hz‚\¶H¥Ü@ÓSTkul{ÅþþöÒ@ŽBêÕmlËÆ4çh1o^½åö¶G<®ó½ï}ÀúÖ>ƒöBºH*žâõ×GXs—Uà±÷`‡ÇïìS,¥ñ}›tRc§QG%®/o¸mµðÜYQ)• äJYB!"žŒƒ«Õ’¥csr~Ž"Jô;ŒÙ˜B)K¥Ze4’Ìäúll­ϨÜ¡í§ã9_¼|ÃÌŽXØ‚œ¥ÕS«×‘l:EBOÐëõ¸º¸Å²<$I&[N“Î%ñ<—å|ŠTkuNOÞòƒ~—ƒ{÷ùÃË/¸½=§VNqïÞ.ã™e(ZŠNoÄîÞ7W7\œž³\¨ZŒ¥µ`8˜ðÑÇŸ0[Œ¨5òÜ^¶øü‹—˜FÀtnI![[›L†cú£KÛÁõ<ö6w¹¾º%’D÷ˆÉýNÓ¶p=‹\>E"¡!Eóñ‚•+0_†ÌL‡Æz…b1IàºLC²™8íö%™”N2~Gñ¬¥r}3`µôIè ÞÆÊ ppyôôÓQŸ„(ѬTè¶{Èj × 9=># =Ã~áú[[;¬,‹›‹3ò)•ùp ‘D<#ŒÄ!ª¢púõ9§G×¼=š¼Þù0G·;üt82q]ôÇ$S1Ö××é {8¾G¶P •ÉÓí $•Ûv—ýÃ-b Ý&žëõ:² óÅçßP«Ö¨d*à‹TKuŽŽŽ£ˆÛË+\cA>™a6q˜Ž&(Šˆ(+ÈzšÞpN®œg¹š3nÏÈé9í¯_3šøQÄÂ1øÉ_üßÓëw9Ü? ˜É±Yk¢‹íöQVds¹d:ŸâG!“Ù”V«Ïl>'›/1žÞ)Æž>~ˆ1˜0ŸÌÉerH¢€eL)Uj,Ì1¹B Y—Q5l¦ÈÕEYOc,æV€ª¥èvúxöŠB&,B¯ß"‹‘ÉÏç”ë5ÃÆÌäɽ§\_¶0W6¶eR¯åØÜhòÿÝß3žNùøÃǼódwå`[ÓÙYM0™œŸP*—ɤÒÌ—­’¬òüÝoÑîuÙØ¯suyÊ/ÿõW¼óÎw˜"NOnxòì ÖÂæ›—¯YklÑëMh6šln! !™RžÁhLëâ]×È• ìîmà¸K–‹élžÓë¿úÝ×\]vQ$…wï’ŒËHBˆ¢éØî=¡„‰x saS)Õ%ÙÈf5XL=F³è"©|†¥½D ²W$Õ;YP6_¢ß²±U¹ÓL4+ÜÛç¶Ýåôâ ÇõX­j³ÑŒvwD&S ®©X¶ÅÅiëÓó¥Åíåò…´ÿP¢Xª~ÚÜÜåâºÍÁÁ‘±X¹Ø^„'(‚Œm‡óLcÁíÍ9¦1æðþ§§·¼ü¢ƒã(DÀx4%¦Çqí€åÄ!ôŒÅŠáÌ@OÜ}çó[[5Z·ضªN©Råæü‚Wß¼¦Ûp°ˆ(HèŠNç¶Ç|²äê¼ÅùÙ²"£Åb¼½¼¥;œ’-æI¤â`¹T %:ÝZ2ø˜ÖŒÿáoþU ñ;Û»Ü\ÞÔâä’þùŸþ…™¹bmû€ñ|Îh4¥ÚX£X)"Ê ž‘LÞ9/Ó%?øîwp 7=²©Ë•Mcmƒ¸žB¬?&íQ$"‰Íê:_ý5µõ ­Ë `Û dA"Ÿ)bÛ.z*†‹Oè¹1…g|‹‹«küU„kú´n»Ì¦–³Äu—ìlU™MºBÈ~ôåBŒlB&ô!ðÁ0,NNÏÈ—Ëh±ÎÊB•ölHi¬m0 ˜Lî‚_YRØßÜ"•®ñÿð+6Ö÷±Ý·×mú·}ž?{Šï»L†í‹S,{ʳ¾Åp` F*•rže`âD&õr‰T,I¯7á¦7GPSQĽý]Ê•8‘°º£H wñ K(ŠŽªixÇ~÷!” \‰óãQ ãË¡aZ&½A‹B>·´¨”ʘ–¬ÇHÄãªI4=¢RÎNǹ¼º`j̨4käª9ô¤J>Ÿgµrùì³Ï¨– ä e^~uŒ»ÒÐ1.'/¤Gï&ȤsŸ.Vþ€D*N»Ûa±²ÔñTžnwL¿;dÐ@$‘HJÄ“ßÿáÇ$Ó1^~qÌùÙ’Éľ{?wÆ“ÙT–È“‰"™îxL}cciñìÉCÜÀçé»Ï‰Ayôø™\Ï?ÿ‚­-Ö¶v1í‰tŠ“³S––…¨*¤²$Ig0²½½…±Xà…àø!­Û‰x ]Tyóæca³t=|Bdɧ˜MЬˆÅb¼=:&—ɧøÛÿëïÈkL+¾üú5q-$Åè÷†Œ§VŽƒ,‘zÜÛn°œOyõù+’ZY‘ϧˆ²Îph±˜L™ŽGˆ’ÆÛ“Kð5ÎÏ.‘d‘ïqÛí±rMjå“ᘘ’Ä_ÝI1­ÕŠt* ëüûË— S_$r=$%"WL’Ìʼÿþ{Ü?<À2çäò*ˆ&ùŒŽ*AÈÄô+{Åh< }$DBdFý+jµ:ùL†Ë“KZ·$YçɃ'œ¾¹àïößPtY9S<׿GO¸8=! "lÛC\Þûà9Ÿ}ñ%²”äè›cÒ݃h>óÑ”l<·ò™L—8@:“$×¹\ J!º¦£ :óéüÎA_oà.a(°^ßÀYyÌ犕Nàa®<&‹%ë9ž>yÀ|:@$"®'‘ZµŠaL˜Ì†ˆQH*®1Œi¬58|°O¥Ybs§IØAH6—&ŠbºÄÅÕ%Z*Ksm“ñpÉÕéè…ôÓ¿ÞG%>=:»Äõ}bºL¶¨Oë¤3 Bßa6‘J¤h6×ùýo?£VIò£?ýI‘˜SNN/YYj™À7Éf ä«9F³!ãÑÏõ‘$ EU™Oû€¹XÐí·ÉçÒ¬Õk ûV¶…i:Üô„X*E®˜ç«¯?#ÀåÃO>æë£×\¶zXK‡ÀðÉtBì¬mп¹%"Œù’Noˆ¸¤3:±¸ˆ— Ãßó%‘ù|ÎÄ0X¬VÌ—ª£œ+sr|†$H$1q…iP/•B=!’Ëgéw{¨²†³²‰b©ŒFX‹9¶ía¯–vÀ 7¡ß铈§d±k°¹±…‚LBN°4 R©Žo±4L"ÁQÆœ¯8ؽG2¡³³·NˆK¹^äÁ£}¦Æ”øÙÏHhÐldHeD|tUg2q&Ôk5©$ærN.—ae.PEe!rvrÎùi‡^ßblœ_]ð‹ýŒþè{H <ýÖ!éd 9‚Ép‚çŠ &C>üä[¬o6¸¼¸¥ZÙ —Î1Ÿ÷pWsö÷ÖØßÙc6›#©2››[DAH¾e</ˆi q5E¯;â¦}ËÖö¥rŽ•cb¹T–ñx@¾Y¢¾µNw0ÆX,ØÙÝàOþôÛìlUY.ÆT+5Þ¼~‹,(hª²‹kÛ¨¢Là…wèI¢XÌã‹Å„б´Gœœœ³µ½F±˜Å  Ñ<àúºÏåY—QoùBúÓ¿ÚG’•OÛ½z,F±¦T)S*æ!ðœÍz‘wžÝÇ,råþÓgçLg&ù\•«Ó>…|‘•é³ Wl>ؤÖ,³0 $d„(BFÄ_:¨Z„ ¨F„C*&ƒï‘M¦¸n_a. FCæó ªª°½½ÃééÝÁ4ÇöpW+rÙ$¢WbT²yÃäþ“}&ý>ëñáG)%xðt—o}üÃaNç D”JlÇFÖuv øàý9{óÛv¨Vˤ’1Ê¥"r(`ŒgTò9´BA˜ÍGh¢Œ*+È ä2þj޹ ™L—KUMÍdȧ“ó9ÓùOÜ ð ï®î’KÈ.‰|ŒHŽxïƒ]j¥ Wg7D¡ˆ¢)ÌçKz½ ÓéœËÛKªõ[[yÒil&N&“c6µˆ'ËÌ'SÃ>ÙL†z£Æáþ£~Û‹+Ê•¡Rɲ¶UÁ²W\ž¶ðWçÓlnÜaxâãÙÏ ¸¾l±²-lkJ­”'²fX¶C®R¤;ìb3ÒÉ4íÛ6·ÖxzïËÙ”b¶D®T%TB´¤‚a ‰B›R>A€ *]µè mìD¡ÅóçëüþßÇÕÙ+ò¹4zòŽw5ètÑT(T’lnáZ._õŠ0T¨Tj\\\`›sð\–“1ºbidò&Ó)‰x‰Ï_^ps>!S(Ð:¼Öæ‚Ô§j¨ %B¢¤Â ÛeÖŸcMgìî×9ØÝàèË·d4çOwi÷N1¼­>Æ dÜ2¢Y4]! Lc~„g” =DÖ5ÒÅ4²y ’jÄý½CÊÅ&¢¨Ñ÷éu ><$™K’*åXo®Ñ½¹!a÷ÞS>ÿù¤K1—À l Á‰¸¹¼"žMIáx6¢’Lè|÷G“ª%ÎFx†‹¸®C½\E–⸮K÷æŠgñÛ_þŽnwJ=—ÇœLã &æ’x"ÁÜœ© +\Ίj½A}mcÏž=cÐóÕç§x®@&›&’]6ö›lïmp3¸¡ÝéÉæQeÓÓ._½:ec¿Éíí%ï2u±WKNÎŽñ|›ƒÃ{Ì&+d!@ÓÓ,–“‰ËÙÅáÄ£º¶ÁÞá=®NZhj DzYÌLöéú F=êõš “ˆ§ô=>ÿò5!ã.o_Ÿ!Û5.ZU¥R®°4<.N‡ Æ&;v‘…³×Òæ½4ÓÑüÓÉp† ŠªNû¦‹‚ÄÞæ:é˜FäF|ýòî=~@6di¯Èä‹È‚NèjœŸwГyÆã22étn·Ít>§Õ’Í”HçÓˆ²ŠJ¥Q$rC&·]Þ½÷z®Œ ø¢ÈM·…׌GÄ3 Ef<q~|…·è¶GxKƒîÍ%‡{÷899§±Vaå™lnoññ'Ÿpz~Žm-ÙØÚæüâ’ý‡ûÌŒ!ó鈓7g$Sq‚ÕŠt\Áåäô-î?äË—oiw&è™É´†ªA(hñ8W×7¨1™D61›!k5>ÿõ0Ç3¶×7™Ì úƒ)+A&•(cŒmRr‚ÈõI&Ò¸¢‚±tÈä ¬on²° ƒ[vš¬o7™Ù'¯{¼ü÷ÆýD!¶½"ˆ"!@K¤ØÙÊÓlä‘eß‹%•Z£Áë·ß°¾µE­¼½ðèvº¬o4Èåó¼yóY”Hj2‹%|ùÕ ~¨’Jf¹wð”Ÿý—Ÿs|tŽg¯e_þòߢAD…í=´„ÊæÞ: ;àò¼ÍÉñ%¡ïñüé}ôXÀÆFM $‰Ý=й2Wç—LÇ#ö÷ØÚÜd嘌mö÷öHgrD¨¨²B­Zƶ ßæŸM»3¥Ý™¢i9:7s"_g>]p|r‚ãx~D2¡ÞØÀX,)—s¤’q¢Hà¦}K¾Pd8î“Hé$“Iº!ét’ÃǨ­—ØÞipyÞâ›Ï¯‘…åb…1äÉã-~óó“Òƒ§ƽ駲  ÇâÉR¤Ò(–ˆë _¼ü’ã“ öööq<+pD‰Þ`ÄùÉ%ӱ㊠&B$ufFŸ¿÷œR­H€†µ²Ž Ç3òÅ*¶;c93W«ùœ|.G®Xfºœãrøè>KË&“HÆéúXóƒö”ùhŽgYd2)¾úòv¶wyøè%¡©:çÇWlm­¥Hdò´‡}R9„.rrô–l¶ÈÁá.ædN:Ã]-(æóüËý’œÀrC¹åRŠtRö-4-Æ ?$M‘/fÈer¤“qÜ¥…1œRHg”;zßåÍ-Ë…ƒ10L÷î"- „ŠÌÐ4Ñ“I,Ë!#ÚÃ[´8ìíUA´±}‡ùÒfÛ¥ÛnỾâ6“Ñœt*G!“GEzãÑ”¸®r°û€x2i›˜ “ù|B¹˜% =*¥:“¹„단ZŒÎMUŒaLVøþ]™U#vöÑNÎ/˜Ìglï¬ñèþ>ãQ«V‡õufó)ÏŸ?!Šâñ$[ÛÛÄ“1w1! 5ÏÕùÕ*BÕf“þÓówûëÒþ½, -õi)_ ]D9bÐPÈÝyÛV¾ÄÃÇïá¬lwÉl>çàà€Jõnt”Ld¹½í‘ÉæŸ0pÑã"[»%’é2¹bŠPðˆë1\ÇáÁ½m|' —Iòß~Ÿ³ö9và1šM#æŒã·§XÖ’DJGVTÖ›;NDµXBÒâ²DxüÇ¿ú *Å<§§ úcÎŽÎÙÚÜãôøš¯^¿¥7³°…J€mÛ|ðÉwɤüþ¿#Ÿ,0Œ˜Ï–<}üÏߟ_ÿáßp)¤Ó~ˆ½ô˜Œfä39й,æ|Μ×eÆÝ.RP­™Ì{(ªÄÖî&ÖÂ&™ˆ±½½F¹šÃ°ø‚Hs³ÎÒ3(åòHz€ó‘ÄÍé”ÂýûO¬ÙT–ÍÍ TM$’Cêë56<}wU— qÑc 2©4qUe>ž²˜›¤%º"1Ä#Ug4˜rsÕ!Œd2å žèQ(f‘Ä·§oystL¡Tek»É÷¿÷>žgsyÞâøèËXQ«U˜&´®X ‘b©@ûfÈÖz“?ºÏËÏCµ¼Á«Wç8ŽËîAƒF³A§ÝÆœ™€ÆÙé Åb…éÄ૯¾¦Z/3_Ì@ˆHÄbøÞŠ˜¦1™N }\1–Щ֪4*MlË¡\+òáÇÏ0l“·Ç§t†”x’û‘ÕnçšåÂ`ðÿ—VS‰$Í-DQBQdFÓ.x.ÆØ¢ÛN¥éçt Jµ½q ü/ÿ½ûBÚ{X$ ÅO[íˆàE.‘ËìíR_ÛáúºÍd2¤¹V£ÞXC¡ÕÐÞ‰$cZ‚•å²¹¹ÉógO¸º¼e{w‹/¿úš^§O­^@Ua{—ñ K6‘7`±˜±¾]!žÑ¨­5Éf³¬×h k¹¢X,P,dA€/¾|Åím›õµŸù†ÙÌ¢Z)3l_áXKjõ O$Ëðúå1·7}BQ%_ÉñàÁ>ÆtD¯Ûg4›" !goÎ)¤óô»]‰8>äïþŸ¿åþ“6*ÖÖw¸¹q~ѧX®F>Þú‚Óá€L\‡(Äõl2¹»‡»¬­¯1Ot(®˜-& SBO„ÈãÞÁ‡Mž=Ûg»ÎZ½H1“åú¢…*&±ç²¢R­7ùýg_ Ç“tûC¦ó9›[kìläIÄ5l3àäíçg×hšJ¾œ!@VeÂȧY¯ãù!_|ó 5ž`å{,Ïß{ެ)H²Äx²àür@&Sàýßþ>ù_}ý“é”­-rùš,°¹¹A§=Æ4WŒGSÆÝù\Šx,äíñ1íŽÁ¶©®åQã2+gÅ|6! %®®&8nD6Ÿa}³qGÏ7'8ŽC2™#_(“I'è[$SgÇoˆÇ“¼zs…iÈ z.­›!åZŽ¥;"•Iãz!¢¬“Ée9=?Æsl*¥2°¾¹A§=`÷€ÖuŸ«óçgd q,oA½²$Jܶ¯hlÔ¨4L c1cw¿É;ÏvøÇ¿ýBªî¨XžÿéúÖ–ã’Χػ¿E6“æÑ½'|ùòk^~öïd²1DM¡;š2êÏèôM®¯ú¬q%†ï‡˜‹q=ÆÊ ÑUõµMdE¤;èá¹!ÎÒgÚŸƒç“uÆßþö»ÌfcT]%O¡H‘("(æbALÓùͯ~‹(ÉÔj5Ú;Ùˆ9w˜f˜ó1"—×m<~‡½‡\¾¾$/"(éLŒ{‡Ûœœ!ëÍ*jÑ()2¬­—ØÚjâ{š.pÿá!ޱâô¼Í›£2ù*ÅJ‘t1ÍÜ2ñŸ(( hŠŠ®ÆX¢&S(–8>:eЛ‘ÍçA“Ô77}\ûn#« ’ ‘|JÇ1—˜3“Ó“+ˆTþßþ7lÇe2Óî÷Igsø‘ëA»Õ½“<Ê’,ašÛßûø2É$¶e Ë1Œ•C\‘I¨’(æH•RXösP”ÙGoßÒé͘Mâñ$¿úÕ/èôn¨Õë¬mVQbÅR†•ë0Ä’ dM@S²™$7WoÑâŠcÖ$Ÿï}÷#DD^}ýйaðÁ·Þã`ë‹ ƒ1–cC ³ZÜ\´ l‘år‰¬¸wÿ²žä_|ÎÆÎù|ŽA¿C*%SÈŸ¹¼¶·š/þÛÏÞ"½ÿÝ;ë/Lcöb6]~šLÆÙÚ\§”)ñÏ?û'¦³!©ŒÌGß~7G§Ë;Ò¸i†ˆžFB‹!J!+ßÁsf£)ÃñˆAwD:yÇ8*”ª ús:íq-Ëz£Š=·˜M¦4Ö¤óYT]ãÍñ¢$’)åè ú|þ»—T ~ü“qvyÁÜ0D™•í‘/ä(Vk¼~uÁ°iwÚ4š[àú_œ‘Ìè‹1æ“!Óé˜ÿðÆr: ¡)hôö%Ó !Â8Ü; ›.2ì¼~{ŽaØhŠ‚$…¨I™iàZR!ÇÂ0è G¤óYIàìôŒ‹ó<+baظV@:åììŠB¹„í­H¦lm4ˆ‡F¡Äx0ç_ÿõ߉§ ø$“i>ÝC èz‚ ˆX«¯1è(TòìÞ_»»‹¥cÄ4 EéÝÞ2ì˜ÏÇÄ´$Z2I¬z̦3¶v¶!Z‘Ié4ëUÏeåzȱšCdJ©¶5æà°É÷“†6£Q›µ æC‹~gÎp4¥¾Þ`>D…’Î> ¾^ÇñÞž}ÍÖaÖõét EÓHfʤ²U.o/(”SaÈéé ï>Š*K,K|Q"d5FLÍ0 xõúˆb>Ëô ²*a»KÔ8ûì5_uN!Ÿ&1 0&ÙbŽt:ÅÚZ‘LR§Õ¾&žJòƒ?ù1ÓùkaQÈ•(6×ôf Zû 2òˆ'u–³9ÊÆ `eXŒæJ`¾òÍ&¬5×(64ŠåK3äü¨M*–e8cù&÷ŸoRÍdhÖ ôÚ}²‰4oßœòÞïcû&ò`÷ÛÞ5¦cÒl4™÷L{}EF‰Ç¨W›¨± ËC`9\нì²Þ¬ðä={L&CEÎŽnh] ™|¡Ç4”„ËîÖÿ👔Äg¹"›Í‘Î剤4£ÑàÅUçäÓêV†§ïÜC‘DNOMÇh •J¥ÁÆV Ó‘K¦üÑtB¾AU¸Š"à?ÄsUBT\+B—2¸³)Q Ò´)¬gÙ}¸Áúî:ýÑ€ñtÄx6Á2M¶7vé gœSÊe‰©"jBB ¢ZmàØ0ŽÈãˆj@½Qaµ˜—D"]¤¼Qááƒ=Z·çŒgÜÀ¡ßéâOWŒf"ÓaÁ8¿îÑ/ùçŸÿšÃG‡üé_~‡Ý µR=¥PÚ-¨I=gÛlW›Xö‚H‰ðW¢ç“Ígé[¤c:‰¤ŠmYxv@LK†2ýá¸gØéC ry=âÍù5Š®òpc2@‰KhºÊ¸o2¸a+†³z^æÞý&9MG -'d4žóèÉC¾ÿÃoc9\Ï¢Þ¨2YHh39Ü…EûzˆS8?¿ ¾qŸaL6ž"X„´Î‡ØKŸétL­QÀ0n]‡z­A»7b2·¹wÿ9G'8‘HŒ£ù€GÏî±½Q£Óº`jt‰%dbŠÆáö.²$øž2-ØÜX# )–`aLñ‡ÅÒa0™ðôÙC¶×7Ñ•$^ k:1M¡{ÛçèÍ5‚"Q¬Å¹w¯É{OŸO¤É'✽>ææ¶Í_ÿ‡?ck­À°ß´mÖ7ö©Tª¼úæ˜ëëKÇæðá–m3͘›Æh…·„ùxöÂ\X¤r9ý6*…b‰¿ûÛov÷‹×9>¹æú¶ƒç,øñO>xñÓ?ûèÅÅùëOÏÎOÉ*”J5ªÕ*ÆÜä÷¿ý O< ‘Nâ2YÄS)d=ª‚„Œ&SŠ•*k››´/º´ÏÛè‘By­Š$«tûò¥}ç[¬œ+Ûa<SJ&° ƒ…e»Û›|óùg(¢BBω2ýÎ|6‡ø®ÃÊZK§îL³‹²–¸£¥¯lúÃ.÷Ÿ>¹Ó Ÿ_#FýÉŒHPp–’¬qÛëâóñwÞçOþäûÄøúè;O°ýàÉhÊrn—5®NϘLM´X gép}q Ь5›¬\—R©F\K±œ.½€a¿G£REtCDA$Œ"ÆÆ€‡ï< Ú,Ò¬—™ÍfL&¢bÛãÑ]ð¦§dòInC¾üòš¹mazª.yÓñ„“‹KPTžÞÿIˆ“ÔSØÖŠáhÌæö&•Zt¶B¸´®»X NkÌåù%éŒNu-N"P)Õе$?ÿÅo©7·èõ¦wíÕd’€A§C.[`Ø3êLØ\_§RÉ×”È#ôB c†í¸,V.­~­­5J…Íj=‘`§~Öm—{ïáøw‚O/Xbyk͉DŠÛë;;vv«úüòß~¢L£Zƒ(Bi “‹ó @F×Òhº„aš$“\O@’5dQD“Ub²ÎÒ•MK½¸¼lÑÎå8Ù|×_pÝ:£Õø§¸Fzò°‰·éö †ã9åZ™µf–f-Ëj9Fˆ¢¶ë½øÿxz¯%IÒóÀò¸ˆp÷ðÐ:##uVeU–jQ­n(’ ‡934ܬ͘ÍÕ¾F×Ëf+h³C.wIÈZ »K‹¬ªÔ™¡µ»‡k±5¶ñ›ýö}ç;§Z[ù|0˜`L,\Ç%§¨hª†œI3³ª& “…ã%“…’Ë"ˆ2ßüþ{pÖêk¶ƒªeÃË‹~þó¡¤Æã ½NŸ/¿ø’t"Òh40%¥rõV“Z¥Äýû÷I§4\7du¥E³ÑÄ5,×f£Ý¢˜ÍS«U˜-¦äó%$AÄÓpeÿ*ßsìˆ+W×hm®c»>ÅB™~¿Çõ×h­×X[-óð»ïxôà!Ï_½äú»wHçr<{öšÅÄÄq]‚ `:™³t| Ëe{}ôϦdsY†Ã!G‡a 9” J¨Õê%‘H,K˜¶Áû?x—?þ«?âõ÷ ‡#¶6w˜ÎLf†O³±‚,'(ªÄJ«ÁÁÁKòZ‘Ãg‡t§K"9A/ëŠ:b”0™Lg¤ô4+•5b/áõËc<×Åó=Úm“!ÍF›—ÏðøþÏ)JD±Ç»w¯SmêH©˜µ5<ßçèô‚Öú&½þˆl.‡úXžEc%GÇS‹³£–ÎŒ(qX[­XÄ ™|¥çðòõ!¹lŠUº§¸ñoáqq|AwÒ£V[áñwè÷† gsó ÖÒgm}Yôi¯ä¨säô,¾Ro¬`™sÂ8$“ÕI« åR…'OÒ)Æ£ÓéÏŽPd~o„czL¦0œø„¾¢¦(•ÞйR Þ{ï6Í•oó/ÿï9ÒþÍ*–åR©µÞØ­1Ÿ|rR>Kç¬(høLÅ=cáÜbås9Ð%åÂÂð,ìÐãõák2zŽXÏ‹)V+X¶,¤XN–dÕB"à…®í¢k !½¤Zª0ìôiVZLm—0IÐ4ao€³X°ý ™¬B€O­\'%Ë<~ð1†Q§œ$d3)œ¥A¥^%W(b&£Ñ9?úñ{d4™ùdL`{Ü|kYSÈò,fs’0`}³Eœ¸ ú—,§&—£)…•UÖ·vyþø%š˜'Œ å"óÅ‚¥í°ue‡\±Èá«#š«+$i™8IЕùÄd>²H‰©eaº>^#¤ô¬F"žÒ^k#‰)7Âp=d5OJ‘q—3ê¥ó¹ÍéÅ€©¹Ä0 Í jN%_Èc-,´T {9§¹Za}½Ž"fÈf³ü˯~ÍËW'¼õÖ‡ä²2ªJ>›%«(ô;#ƃæÊê›±j`Q©å¸R*”i”ë$^Â믄0î‰B†Åt„,Çܹ½ÇÝwïÐïp—6ùœÌ•«ë8K‡þÇ×H¥šÄhbàG1ùŠÎÚF Eq–.Ý‹“¹Á¶(–K,.ç§ã{É<ù<-¨X YKÓl¯Ð¨W©–Šdõ Óól›z¹B½TFˆ!’E’ŒB"$hÙHÆ|ÌÞî6—'gl¬n°¹¶Ã`>g4™P©Ô˜ b/ ×9csc•J!K±P`Øï3Ÿ-ˆ¼˜Àu¹u}Z-ÏÒ™Sk´QõELB4Å'WAq(U²¤e™r¥Ìp1Åc$)Íb<¥š/P+Uéœ 8|u1 ˜.fl¬·hVËü÷¿û;†s )­°»ÙB‘ò€Â°?Á6=ìEÈéÉ€ï<%_ÊѬp=R©Dúcº“¹m»,·®_CW5Ó¹Çñ½j½Ê`Ôe6P©ªìînóúðÑpÂÙYÛÉåU´BŒ(Æüó?¼Fª6 DÈDIÈÛWÐ2" "Qä³»·‰aÏÙ¹ºÃdn gKx^Âäbyo8˜Ý[ºáç)E%ŒCrYœž{cç°c.O;è’†;£Nñ"PJèϦ(%…ýw¯!¤}>üð=âȧÕh`™6ÃÞ˜‹Ë­—ƒÞ˜a·ÇÍט †äÓ:zQga™ÌæsT-K1WD-ÅúV Qq?v¸yç KcÁwß<äüdL÷rÁ­[o±tCúݵb‰B6K&§c{>†iƒ¦³ueYP͈\±LqµmD¦Iè†ÈIBØÔ4J"ày!Ó™‰L5¯33 Z«-D!õFÖ€ ˆ¨RBèø¤H1Ÿš,M‡\&ÏÖÖ…j‰ÅhFFSÈå³ÖœÊj +˜Òn¸¾Ó$xùü€áeïY¼˜&•N#œ’§Tlpròœ•Õ:‚$0I‰ùÌ¢Þ¨Gi,Ó&£gXÚ6’,°¶^gk«ŠïTÊ”´Žå„è…*GG”r+L§.K;B|ŠšŒ¦$ìî­R)PdEVß×õÉh ™,<ıÜÿß¼è,]v÷¯ +1§¯^òúà’b³‰®ë¼ztÌñá%¶â"Q(rzÚenÌùËÿôXÛ\a6îâ‡ãéQÉf ´×wÙÚ¾ÂñÉš˜–"^<´lŽRµFˆÃÏþ1·n­srvÁh:£ÑnqÞ½D×óHr†ÃÓCD%ak½Éÿóß_ µ6+8žM&Ÿ¦ZÉòôÑ#“ aâE>iUy“«ª×yðà)K/Á1Àµ{¶ãÞSÒç3Ó$AÄš™t:#R(„vDNÍ’JËDI@µZ&‰vol°ÒÊ£¤#rºÊ|:£\-2],ÎDqHc­ÅÔ˜“ËdÙÜXGß4¯ONÎyyüšl¡Àp6Åõd9E!_ ›Ï!+*ZVDN K ‰èãz.Ç'}\K e‚Ȧ?;븮šËÑޏèYÛÚgiù\œ xùê‚@J1·MFý•l1ŠÙÞÚB–DVkMì‰E¾PÆK@LD–®–U(rD~Ìbf“JëLf#ªµ<-€Älacº>Ž‘ `ºK,ÛÁ·]E¡˜Ëͦ1ÌùœFAUÈK “Á=“¥\-ÓÞh“Ïé´,y­€,j G]¢Ä¡7bÛ­µ/_¿¦R¯É«|ÿÝsƳ!+­ ­Õ“{{›¬¶ª¤äçç=–Ë€R¹F"ŠÜÿö>oߺƒ½°99:åÖþ›íjõ"~äP¯(g³(©4A…IœP*• ´[-â0ÂC\ÏÁqg´V«‹9¶ñ׿ü¯tz]Ì™CçØ$_,â‡0›D‚H©ªóþG7X[/…¶»d4·Xi­ãÙI$ðàá3zåbžJIôŒxokc c±äèüœ ±‰±Èdág?ù“y7o^áÙóǤR"z.Å·÷ }‡û§#¤Í«E>üø´LÌt2DdV·êÄ‚ÄÌp±—Q"¦ªuƇnwÊÜöe™b©BÔ¿·¾»õ¹ªfpM1™ òZ™$9¿8åÚµmÓ@“SsíF‘îå ­zƒf³ÁÒ^’­‘” ¿ÿöWnìñá'áY6ÍF™Îäó)Ôj¼÷îû\¿}-›#’8DààÕ+–®‡c[ÄAH6« *1‰œ°¶±Å|6#ôldÍg¥]cgwE!N0l½TáúÍÛ|ñ›‡çá˜6£î¼¢qõÚuNŽxòô9[k;¤…‡ß?bi;¤R1’$Q*­¢éUÎ./pü€|öýq‡µ6w?¸ÃÑñ1KÛc0Aâ³Úª‘–Ó(ªÎd<Åó}î¾ûzJ¡{qù?-$yî?xˆé˜\¿½K:í °Ä÷=¼$$ZFÔ«U:ý.KÛ~3ÊeP´õF“ƒƒÇÔÊkÌæ õf…á¨Ëéa—fmT:Mo0 W¨àú6…ŠL¥.`.:ä4•×Çgô§ 2z‰b.Çéá)ž°ã¦P*h÷6w¶Y_k¢Ï?g67ÙØÙ`nNx÷û(É‚\^BÕdÖZkžG½–aÿæ*µ†Îl2ã«ß\ ]½•Å Lf ›¥íÐXÏÓÚZa2! Y]%«iøŽÍÎN›F3ËÌ[ Š29‡$ÉœžñÓÏ~z/Vî}>»$A„ë:K“ŒžgÜáÙ.®½ä¢sÁöÕ-Z­B×åüòœR³Ådf²XtÉV`}uÓ×G\ÇøéÓw¹ûög¼ýöu‚d9Å÷÷@"2Íçxv¸3%Xøln® "2J QÖU¶vZ¨¹4•RŽ•v|>Çñá9g¯O)dòÌ-—ß}û˜ãË ‚¬°tº½7n^£ÖÒ1í ½ ¤´ ˆLûSúý1gÈ Y=G¿7 „–†Ë[ï~Ê×ß?&&?`t1 NÊ¥ †9!N$Ôl5«’UÓ¤#0 H¢4“¹Ãy·„lm®‘Éèœw†Üº{‡ûß?cÔw¤ ¢,s|xÈd8¦ÑZ¥PÈá‡2A˜ æ2œœ÷Žmþäç€D.£bÙ£ù„öÆ›[[¼|}ÀÜžPhhœ .(«ÄžÈ°;e:³/ Î/zHBŠ•v‹7·9xñ„Ð3¸²½ƒë Hi×ö™ØscI9W£Q_ãõábJFNKÈ2¼x~ÈÂISjTѳ)z&Ç'cÊ•"’a»¥| =«R®hTª:[ëkhŠ„ˆIkëíFk>Æu¾K÷ü5‹ùß 9;}ÅÍ›WS A0¡RÔÉéeþé9fnØ$RÀ;ï]#ŸMД,ŸÐí÷YÛjVCdQ'%䘌çoðžbî`Èë×\¹²ïYD¡Cwd¢djôÇ#Ú«+ô.真øìG?`iD¾‡¦¤‰Â%ÍFŽjI'-CZŒpíõÆ ŽËÕpüH˜Ífdó:‰ “ #Óeu£ï;4Ë5†Ã–gÄ>–5esµÅd:ceåM ̱m®ì^¡XÎ#¦\.òw{éßl¢iƒáˆTZAÓ¼|òŠˆ„R£‚šQ#(é¥7£:sAB„ª$¤ÓovAäbXoÚã)-C½Ù@ ¹çºÞ½™a}Ž$‘NÉd³*³Å„b9ËÇ?zÓq8»‘Öu”¬JµVŶ-Þ»óC´¬B"ÅllmqãÚÝó3šÅ*’aYÓé’­Í}?{‰(Jþ’R%å˜TÊÒ© ÆÂ¢T*suÿ:)EåèøËœ£ˆ2² C$qt|ŒíÇ ˜˜ùRWˆ¹výªšÆu-¢Ä¡ZËS¯×xïîû«£()^ðòÅIqåÊ6¹\–^÷’óË>?øìÉdÊ_òãO?å­·îPkÔyðõCf“W÷[¬mUPµÄ=]G³ lÓÅ´¾üúKÊÕ"ï¼ó.iIÆ·}Û¼|}Ž(‚³\â;)†#—\>O¥V$ô}Ǧ g©– |õ»/XÌf¬4”Êe–ÖŒgÏ…—¯{÷.»}.»gT*%ŠÕ&xxÀÅxNµZáƒÛwP¥óÅŒ\%Ïúæ*|ðÓSÃ1º^ }T-…¢¦Q•rñÍåü‘î¼]G/¨”Š)W³lo®‚*rÚëá8q bL,Ý™L|F'§åYmÕ0Œ>š®‡")E£½ZçÁãGØKƒtJBËi÷ ÅìçæbÂÕ«küÇ¿þSv®oI†cr|Ú#Jr9V³ÎÉɡῩ§Æ1à3ìŸsc{Ÿ‚V¤syÊ«£.ko 2MÏQ*e8:|A³Y%£gÏ,,#`:2‰‘NÈt¶$ nß¼EäküæW_1ÌÙÛßçèâ/(7ckw­+›”ke–¦Í«g§ŽÄ£ƒìloóË¿þO¼:xÍï~ûˆ0POGTeT=ūׇž‡,Š %?âÖí}²9M˜O†÷Qe06“˜O?ù€[·nòÕ7é |òãÓ*—Yôô//ñ‚QOzdµåb‘ÃÃ^²¾±F©˜Ã4ç,æ’(¡g üŸû-’’˜ ÚíUò9™Öª†–MXÛÞà¢?Áv¦Ã)!Íp4e8˜ññÝxøýÃÞ˜Ý+»äsj&Ãåy—ׯOØÙÝÁwmJÅ—µõîÿY”¸só.«‡ÏŸQ-–ɤ5=}H*«-–0Œƒþ9•b•ngÀ·ß=@R‹<{qÂÙÅ€ÎeéxÀÏ~òZ+5ôŒÂw÷b6Ù\)-ÓŽ0—.+ÍÎOÎø§þŠùÜd­½Îã'¯Èkž…i˜HR MÓI ):ç]•Y=ÏxŸýô'¨šÊï¿þ=z!Ç•½m<ßáäðVs•új“ÍíuMãü¼a-ÉdUòÅÙL–ÉxÁ|bø !! q²˜Îi¯¯ÍgX©×©‹œ’–%\Ç$öDö¯\Åq|£)†½DͦØÙY# ÎÏ_±»¾ÆöÚžoóÎ{osÙ²0ôlËr#ÛñHØÞ^£RË¡fSHjšùØ!ðDDQaf›¨Ùa`£¦RÌKQdïê¢$"¤`ûÊUT= <{ñœR­ÀÑù[;ë´[d1$ô—ìll`ÎMŒÉDzH‹ í•NÏøñÏÞåí¶Ù¼Zbïæ$öÜ!ð—Ôkå7À|†m'ä‹uÖÖÛ´Z5¢Ø!"‰ßÄ‹:.¦aÒ¨Uæüá/PÓd1!­Š(•4 ±£î½]ž=;®ïߤXÌ‘N‰È™“¹E:¥qðôàM¿<‘˜Œç¤•Éð’IwÀt2ÁV7Z”K9ÖVä²:ÃÑÛö¸}sŸf³Áééãñ€b±ŒëÙ {}~ýÏçH?þņ9Ç4,†£!áº6örÎÖF[7wYÚsâ ¢Õj1 xôà)·ßºI¶GH¥ MËóðÁ zÝ ¥\•z --ã>îÒÇšÛ8¦Íóg ¥{RÝöŸ¦ÁÓgO1MË (¯6H"Ÿ‹Ë×ä•<öÂ$—Í"$iúý>ç§—ˆrÂj{•ñ`ˆo»–C»QÜM¨×«´+ÔWjd‹9ßec½Íj½ŠGX†C«½B{}•~ÿ’ñô’[·÷å“™ÉÌt™Ï-*å’(Í+ØK Ã\b®mquk$Ž8??¥sqÁÉ«cjåùlb¡Ìùés¾ ÑCU|7À´&üè³»Ôê:Ÿýà‡¬56øÝ¯¿ÄYz\vt#òù³Ù„ÙtJËeVÚ+L¦UBU‚0$²Î;—DRŒ x¡C¡X £çXÌ-–†M½ºÂ`8 Œ},×&W(òþü/XiÕØ»¶ÃÆz›\&E{DƒÀdºÀ°=Â(ĶàâxÆùé%r*ħ4ZV›U“%º¦ñá‡ïPm±Ý%’œ¢Tl`,,Î.z(ªÌÎöIä# 1¢(¢i+Í:)5Ãd<åü|Hl2Ì («,L‹‹“1KÃ&&üÈ¿§d3LÝÁ7™XÄiþá€$Th­lpvÙáÅá!Ù\?t¸¹ƒJ­‚,Ñó ‘ïÇ H $àX–=&£©,- Û±Pq]1†ßüêé/ù ÍfƒápŠ$+Ä‚G½š%‰mZõ –µD×JÌçº •²ÈÍ›·¸²w‡—‡ghzš›·®1Ï9>‘’ó¤ÓBè‘˦I+ ®í#')"/&Ÿ/±µ·m¨jêÞÖµíÏãTÌÚÖ63Çe⛬o´( ¼xöÚ’Êj¬®_ã´sN£]棻ï3ì÷Èçu<{‰*ŠôÎ. ǨŠÊÒZâz.VàsyÙ£Q©6‹¹Aˆ¼zùšl.ÇprÉõýnÜÜ¢Ó0š¹DÈ(ZÛ²I„€µvE•è^v©V*$Q„E˜Ë%ŽíÒ^Ù@ŠS3Ópqœˆ\>Oìûˆˆ$H½ñJ5šE¦ãçG}þùïˬ9,×GJ¥%°–36Û+´×ZÄbÌx>!N?d13¨–ªtÏ{äkyn¾{ÕvæJó~MËÏè??ãøèEMsuo‡r¥Ìt2G@$ÁÏ(d34UlsÎh<@/äY8¤t–¡L)\ž éuzì\Ùæ­;·÷ûŒ»]òZ‘R¾ÁÒ1pŸ™9E”<7!«élïíb3tEAIÉdÔ šª¢j*ÅB±9…DäìbD³½a¸8f‚g â8Ö6Vï%²Oµ]"_+ðüä7Ž4™ý×8yÝÅžƒo‹^ ätî~ô>Ož?¥T/Ó^mQ®ع¶ÅÆF)‰yúô%Ÿ¿¦\(‡¾o * ²”DÒJÛvùí¿ž#éù!ö2DÑ3d2YM¤YÓÙÛ݆($òF£1q, óÞû?b>wø÷ùÖ`"g …d|9Os½@¤9½è±¹ºŽ¹¤ÓwÉÜóY:Ýó­•6oß½‰,îÍ ãÞÊÚîç¾røü9 ×âƒ>¦^-³{õ z¡LÜcØògô ÎÏ.øío¾&§*ÄÞœîÞåÏþäéôN‘S)¬Èäùó#YCKI¼zqÀlìÑëÍ$‘kWöpØ¿¾ÉÛw¼ˆ¹1§ÓéP*T¨”²h*lm¬ ¥|{ÉÎV Ï31Ì9~âñé'sëÚÅRÎpÆeN „žÍd:bkcßqQ Ë2°–6K#àüxÊëíVEKáE.ÍV“ÉtÌ̘!Š™R™éd€m[ÄBMÍ’Wdê•,Óù€+›¬®®âû>¢(²qçK<+à¬3"ABÍH¸¾ ¢ÄÍýw±fqä¡( óÉ—ǯ°§cÍ¥J•o¾zÀåùÏøò«' ]â(¦\­£%z³cr…ÿþoO8;! !º® ë±X>ƒñ”§\7$Œ–RDJ”ç¼xq@:­sðòŒYÁ|6ãÏþô3nìß Û58¾8£TÓQEPÔM$ôC#×KÈè5ÖÖV(䋨ւñtI³Ùäùð9s³Ï›·!‘ùþþ3N_¼FвT u†½9j*&–$Rr°ˆ‰p#‹µíu¾ø÷o©6óÌÆg_ þ˜ÿòßþ[âcR,ç!ö°L‹o¾¿O¿?â/þô/1—7ößbn˜<|ô b"ó¯¿ÿŠNÀµÛlo·ˆS)~ûÅqy÷÷鞭pðø˜$ŠXk¶I’UM£ëFÃ>ƒ^‡¼¦ÐÈkÈbÈÚJÃÓ˜a„1I!®ï³±Ýæíwßåüäœ'#Å2‹¹K½ÒÀ³—äó4UF&!ð|D$ªù"nàsyÒ!I ̪(à`GsO ¶žcw÷^qÚ=gÿêUlÛa¶\R©1g}Òä‹UÔœÂÓ§O±]—”,@ðÞ{P¬W1“ÿíoþ‘¿üÅÏ(W5rz†ß~‹ç8x$QŽÙbÆúZ›Îå)R/E¹^%—ÏÐÞj@Je}m“””æàÅÃæb8凟Þbgm“ÃÚ!ãǶ°p=<7¤ ðû3|{ÉóþÅB–FµÂÉéÛ¶„2/.¹¼ìP*•¸zm“ßþî_‘i0ÄdåšÚÅbŽÁð‚kLz6‹eºç=Hîîï3ìôЋšõ–ñâàˆG¹sóÈIÄÛûWéO]F˜R±€’-’/ªX®Íøò„8qx÷ÎmîsŸ»oݤP(àz6ÍéÉ%š.²{ë-àé­›¨ilVCÍ çý3FC‹ÙÌÇ0<*å"))…kÅôög‚LHZNøì'2œ\òòà€µÖËeÈbñ†Ž\.-4=…:Lì«›MÞûè&)M ßïc&›zü(‹}.»—÷bߺ÷ìñÃÏóÙžãà/]þüÿœùÌà‹û¿ÀÞ­+$rŠÍ«û8¾…’öðH‰PÐT2ªBµV!LÖ·6ÑryT=GwØg<8£ÖÈã8‹S ºNVSxï­·ùàî;¼xþoé²´|––Ç|aF!ëÛ«T›ì¥Çwß?@IgH§ÄXDײHJB¶œ&BÒjŠ(‰Fô»WöÐKyâ”@¶Y¢?î°s¥š‹X]+òù ?àô¬ÏîîA฾ï!K ÁÒÁ¶TE¥QÍÓï°­%?ùô¨ŠÂýﱘ;xž‡¦HıC± á˜K|ÿF}Ï÷1M)-°ÖnqëÆ ìÐa0’+䈓˜æj“F¹Ì“§O0l‹Õ­6+k Ê•O~ÏÖÖ*õ•ÓɈátÎÁëciYãîÝ·Éç5ÁâÃÞ' 5þáH°çË{­FƒAoŒµ QtÏñð]ŸZ¹ÊÙÉ9ƒËO¾{ÄþÕ=ŠÙ<ß~óˆGO˜v¯¬rãÊ6ƒ‹.‹ñœóÓ>ç'̥œ§èöÎØÝ^aw‡ý]¶7¶‰‚ˆ˜ˆŒžÇ \f‹)aѨÕ8>ñðëÒ/ÿ˧|õõXiÕPu‰öê •|•³£>D*aQ­T‰<Ÿë×n %)NO2ôÙÚ\å¢wD*R«åYm¯óëßþ/Ø¿uF«„›,Sw?ºÍ?¼ƒ¬L‡c´ŒÂh~³†(”ð< ˆEÏ ¹¼óâñIÎNã˜f»F³QâÅ£§Xão™ keÆÃ¿ÿ ëë«t»GXN‚¦cL' ‡]ª­Í•Måïÿñi¶WÓ:q j Ù‚Äú Š¢òøÑSNNN|f³Åë“#öï\§TÍ’>·oÞà÷_|‰o¾ÑÐ+rúžk{÷ÎŽO?÷ý«WvÑt1•Áñ,ÞyëŠÑ?;áÖÕÛô;#\ßdãÚ5LÛäââŒF­N1«’bò9…íí6¿÷Š&ãohcÛ÷ø÷¯¿äÕÉûo¿éØLLƒL!K.«ã©”Œ1_‡ sÓB”¶6׸ì^¢åŠø@¾V„DÄ3FÃ9 Ë'S(iY@—bÞ¹q…ݵ*BèóäñsÝ?ÀY&4«Èb‚,)Œ‡cJù jZ$%«˜¦šV)×r '3\ß'–.;FC“ÙÔ&ð!-ȸA‚¹|3µšK ß¡Ñjðé§‘ND†½¹œŽ”’˜Í V›ë, ›éÜÄœ¹ŒÇ6I¢bÌ— ºcrZ‰b!ÇéÙkšÕåR‰0ލÔj¬´Û¤äÃŽÁ³§çoš†×ß"—«Ä ýÁˆÁx‚íÛüø§ŸÒ¬…ÿÍo˜Žº§‚¨ÄI:¡PÍP.ëø®G.—# C2ªŽ³ðè_ô¹vã{WÞâÑãCjµjJFIɾº@ÏUðE‘…½ ­,‰ƒ9²ñüé }÷€8Š QÑõ2RJ$›+Ç1ãñÛ I¥5:'}^H|¶Éêú—'sR,àž ‡‡—lomS(¦ùÕ¿üõz“”œ£ß™P+×è ÏÉä3ÌçÃÁŒwî¾Ãúv›—/N˜Œ†—üàÓY6ã½ó‹ƒîUÓøøŸpåê.³Ùˆõ5LÃfizœà:>=G­Zã÷¿»gþ½«7¯}ž¯øöþ}4Uç‡~D*ñI‘àÛ»ÛWO&d 9Êå2iIbiXžM;øøø‘G¿3b4éóüÅ3šÍÕ7IÞ¥‰G¼õÞû]¼FTERªÌ|1'•N!‹a°ó½q÷žzÄBL6[ Ÿ¯â:!Ål Ûõ8zö 5Q XXQ” ’P+ð-Á÷H‰ ãþEÎÓï›^‚,‰,ci¡j åRkisÞë çóæ‚(-27-!M!Wçâ¼O!Ÿ§X.`Ú…B WLP²:I"1Oéôû¬®­à&/ž½àOþègÄCJ‘q,Ÿzu¬^d1öxôä VS®Uùѧ?äàÉC*öæbŽkÙ!Ê Nbsb/EL×çøäœáxÌy·C l]Ùbûê–05f÷œÙ˜½Ý=6V¯ò¯¿þ†\©‰œ]žÑ^_åí›W¹<¾À³c$)ÇùqŸÞù=›Ã Bž½>f4³»»Ãd2`>5Ø»~“ÞdЬ«ÔÚ5ªµ›5‚д<Þ~ç}¶w7¨Õ69|Õ!EÖ6ÖÑr1KË`8x£P ‘—3¤ÛÕYÌä i®ß¸B DAŒŸˆŒgsÞûðÎ;GT+Uö¯¿Ï?üß¿ç‹ß}ÍîÞ.¢á„KNÎz€€ ÅËëm’ØåwnáFß}û=/ž¾Â±CÞùèÖVW±ƒO>ú€—Ï^Ð9»`8ì³w}YÕ9?í‘Ó3L‡cJ¥bZâ£Ï>aëêö½¯¿ùúÞh:ü¼X¨ kç§g$aÈÅù †5ç³OŠçšôº—4›-^¼x…–ÉÐXmr|~Š¢éÌæ6v`“Õu676éuº ‡}*Õõj)·oÝæèõ15G!Wd<“ÉéDIˆmÏñ½€aw€–É’"+«ØN@†QD÷ô ENs}ïQˆ ahQ(ªÈŠD*•âôè’‹Ó!7®¿KÊ,&²$K)2YQJPe]Ï¡du""‚(DLËäs:ýÁ€Á`†¦eØÚ]§TÎÓ½ì±ÒZ¥ÒnpÙ»¤{qA±Tâ‡?ý­vc2¢{Ù!ð,2ªL"&Ôë-þðÕ#¾ûöi5Ç“g¯IaZY%‡5sq|†eYôS*å"ùL™ÅÔfiÇ€DâAÏ(äsÈbL¹˜'—Õ©”‹ÂÌÝ‹ÁhÈJ¹…9·DÓµÎdÊÿËýÏô»güî7_¡i†gRoÔqƒùÒef4[u29…ãÓþ?–ÞãI–4¿²;.ÂÝ#<´ÌŒÔêåÓ¢Ä+]ÕÕ…Öhhp04XÐŒ;.(6•;®É—äÐŒ0ã @BL7š@WËê’O‹Ô2´ö׊‹‡¿â³ß½ç;Iåä¼ÅÈ3_/³º¶Ì¥õ%<Çf<²°¼Bœ7ð]cbq|r‚ „ŠYf³ª*S«-…ÓiijG¤›oTÈ$S‹)rÅ,ŽÓ¸"*nìpõÚu¶6¯S./ñ¿ÿ‡ÿ“0¶ñ"‰“óS._ß oôD\FÇ´ÇxAD®’¦V)’̨ĉˆk·®qãæ |Éçµ÷^æ¥ÛwŸG÷ï1lõè6›ÌÍÕÈ• œ4´NZˆaLR’ô»¼ôÚ+\¿s“'±XŸçõ7ÞÙYY]ú°;h "öÔgeµŽãŒèvûÌÜ)!>¦ãR®Î“ÎdPµ‡³1˜1´]._ÙfmeײižsicË2YPyøà)–`Œl’É싵ܤŒZ¼uûŽa‘IåI(›Û/Èb¹Œm,ÍU! ¤˜§Ïž’ÐÔ¤„ÏxûýWYÞZåùó}ÎN[øžÀÞî1‡'8Ž1œ1slÔ”HV×#‰ÃƒcÒ¹4ª&##‘Ïå‘–g‚”@J*¤3*öĦ×0h6ºÀêÆ•J5¥¢äe?¿Ç¥En\¾Á/?ú)]FM©¸A„«˜–Ïg_<@+”Ñ’ilËeÐl’Oʼtk‹lEGÐ tcd)Eà‹Ø–‡5µˆ‰ÑÐF‰D6V—>d8ž¡ê›K‹ˆ‘ËpÔGdúí £¡I£Ý£7šÑoÙôÛjB$“Õ§äs:‹õ—ke^ý6¦7aa¡Nã´Í¤?&ŸÉ’ɤ©ätf†9™$`4é³²Rãæ­+ ËsKt›#Ì$M%Í#+*h™šNNÏa]Ó å¥*–;#ŸÎÙf3œLÉårÌ/”´ˆ|1Å|©Œqa`MÄRªÂÙùÙ `ìóÎÝ[Œ'”Øãå×oÍ'HiIÄP&—+£e5—ïÞâÚí =z„*$©æR|ç›ï‘+êäKI,ÛàÁýÇL†SÃÅ6ÆÃ)þ, -j$eÛö…“‹fàPªgÉÒÄbÌîÁkËóX†Èãg‡\¾³ÉöÕÚÇçüìï?âþGÌ/o¢¤![ÈåUTA òÀsC:ýsK5~ü½ïÑz̰í '’Ä6D¾@6—çä°ÍÁ³C·‰ãA}a“áhÆógX]]楗îBs´ûß‹(”çpUév;œ4Ž“"‡Ç§d²Îg<|úˆ³vkg2¶vÚýÉ„J&C:÷¢õl·{d²ŒÑ”·ßx‹íí«,¯¯ÆưO©g8ž“àèèœÁÐÀ˜š$ô$¦éÅ+kËtºmÎNO©”óܺ¾žÅ£‡Qµ<žÀ´-BzíÆh„"Èòâ(BL ¬\ªã‰÷>{ȧ¿úEJ‘μˆ”G£111"®áA(€ ¢&Dq€(ÄŒÆC*Õ’¢aû6‰„ðBúùÄAÈÞ³c|+QÀ±MfÆ E‰<×2Q$A¿ËÌt¨×VP)lËæèè€ÝýC^ý2) {6¥’¯1î {>z@*£Ðé·xùÆ]’j’ÙÌcwÿ”•õMÒé$¡ã“Lè‚Ä;qB IÓœ13‡”ÊinÝÙ¦×49Ýkàï¼þ6¿þ—iõɨ5]—£Î o¿—íkk<|ø%²(Q«Vp}?Š‘%›/?}Äý{_ð­¼Á+wÖ(gÒ\¹´ÍéÅ!ÅÚò‹×ZUˆ‰H&%D1B%¢H °m4U¥ÕêszÚ XÊáx­.Hp÷õ—øÉ|„”«9ŒZfÊÞî.¾QN—ˆDŸR1GBvq£€ÏŸ<"³(ñ¤uHVWY^¨q}s góüá9²œ¦3st֣ʡÈ1'{-zmŸÉÄDÌY@)¿È[wŒGLŒ¾Õ3dsiN ŒpßiµÚGll,³qeƒímÞ~çô´ÂgŸ~ŠåÙ\ÚºB17ÏÁ³ÓM–? »è™<ö4BN¤ATxðå=ÊÅSgŒaß²¨ÏÕiu† †&ºžgj8\¹q;ö™LLQb:±¹µNE¬.Ô°g#ú­6ãÁŒLºÆ—öÉ–ñ ŸYk—Ö8;9ý·]ºÇqBO ©­Î³PX%t%š§}Ê¥"K+s\ÙÞdÔ7p­cdàýMÑÓH1Ž‹ d2|?°,T]%!E,ÕçIÈ1ºžf<¶™ô,2Ù …|ÛtÈçJ´Z-Ï¥>_gl˜ØŽÇÈ0EMMÓîôPeßq%ÖiƒŒ–Þ…ôûÎ -ÐlŠ–Ðé´.17ïܤ=!i™lJðœpÇ{ì7{䫿VJ¨)‰NÿŒwÞ}…›×¯ðà‹G<øò 1ÐHÄ/ ÊçOPe•ý£|I SP™«ëÌÌ6ù|Šñ¸Ç`ÒG˦°}wEÛWxýµËT3 ó¹,ÎÌf6õiO z„‘ÇÒj³‹¢ÀãÊö6ª¤á™{{ûÌU—ðýˆ©5BÑt"1 ‡¸üüŸŽ‘î¾·Hs¿G½X¡T.ðÃ?ø}fÁgýc®ß¼ÃxfwïŒÙ4@@¡7 ½é„\®€ª%pü)[[«TJEæ*e2É$ˆ*K‹[üìŸÅÀð‰P5™`®V¡^Ê‘ÕÓL†3F›@SIºãùR•ßýü3½)ç3 <À iž÷l|9Me®‚˜1'S±@dùÌFq£ñ”B©Œ¦ Œ{]J…<¹l†±aâX ü Ę̤ƒñ”l±De¾‚ã¹ôÇcÔ¤ŽãŸ2 #‚€¹¹cÓ@2œœ^pptÆÄñyýÝwhõz¨‰ž11Mb1æÒµMafMw&ÓÍ‹!ÆÌAÊèD —|Y6·ØÞ\áä ÍÁ³’˜Á6ršÎ`ÊÌw‘uw¿õ ßþÃoðúõëøîë×V¹ys›­íUÖ·WñEŸ‘3!pÒ9…ï~çtIàÁïžrôüŒÏ÷æù”b*O>­°~©N¾”a0êòÊ«·¹ÿÙ=aS)/‘ËVP“ ÅJŽ EUyúì!¡òùoHßø“ì??!§k,.HÈ"q¢Å7¿ö&ׯ}“±a2ÿšo~c 5á¡X!Of£v³K øXœ„B5ƒ"‹´ÎwÑô4É|š¡Ñáæµu66jÔ–ŠœuÏ ¹qãÆ ®5æÒÖ&3Ó'Šcúƒ&«[×¹rù ½^Ÿ€úr‘™9!™JS®ÍÑlxúàYßálïŒÆÉ)™L 5­°ziþd²ÄÂÎÜâÊ‡Š¦Ñív‘E‘7Œé ÎΙt-„H!Š$ÆÆ %æ¼ÓbbØDaˆeÌ׋‹YúݧGL†»ìïáx€”`yk%™ >7‡F\ìÐëŒB™ñÌ¥72ˆ%‘«W¯0î ‚l.ƒeN)s„^H§="©dp}“JµÊd2Æu\TY~1Ú#‰„ùÇ,Ô*ÄžG*™æ¢Óá·¿ÊdàÐnHª)f‹d*ÇX‹ãY4;M–×klm_aïècj°²¹ÌÒò£‰"§y~Üàøx@u~T1Iy¹D :´;-ú]ƒý£怉arBdoïß“YXZCTEìhÂÆV•¾úÄ1G‡'H±ÂÇ¿xÄt °pŽíÆP1“BMç»?x‡k7Wh¶ÎÙøˆ{_|Ìõ«[¨‰v)åj™7ßxLRÂŽHD1¿øÙ¯0†ç “ly/9áFÂxÊêêoÓm·^ÐÆŽÏÅyŸfsŠi9Œ§]Êå ©´Ž(„$I$Qâ·ÿÚBúþߢßÍ& „1íÙ r䢧|rZ‚óÓáöËYDU@Éøé¿²·ßÂGLgë[ë\{iË›à{&–1æÿè¸ûÖKˆRšãƒs¶·j¤õˆñdÆÜ|Õ:ÝSÀâµ—_fб»¿O6Ÿgqy™Ýãg{ärYž<}Ä«w_"—+²Pß$O0 ߃¬ž¡Ù<çéã8ö”zµªÎÙyAvÎ[g;µjñCs6¡R+³qi“áØælÿœJ¾ÊtæLg±l‡d&Åââµê<ºªP)eYZ¨³²¼ÌÞî!ç§mŒ±¤fi´»è™ùr Ïwð}—j¡H1[àÞ¯îÑëL"9™d4›àú« ÈqÈp<&NrûÎM,cF¹\e86˜L ù,±ŽëÉdUSq<‹DRF/¤Ôqá;6…l‘‹F›D2ÅÑñŸ~üYP‰½”œd:5É Ȫ ’O­Zâ+¼F¸„¡ËÂÒ_¤\N£gb!“KîT«yJ¥<³©K¤‰ñcƒwÞ¾ÎÚj…G÷ïáÌÚg3ž?iÏT©U爤¶Êk8‘Áæ¥%æKi>úéÏhôŒº\»v™áòñ¯¾`kí*‡»´NhB‚µ™dŠÿôý3ŠPf2±¥2 bU"ʺÜyý µªN2!°8WÜMÉ䋬o]&•Êóèás<×ãõ7^Çö<šsR)…r¾Šž’øÏw€tõjžñ`‚eØ|ÿ>@JX¾”£²”ÞuHˆóõm45M¯F®´M9»Åï}7ï¾ÉÍë7¸~ó•Z–íK d3I.öùÿÇßòÉoðÜY‰ht[üÞ׿ÊâbDzHgªÕ ŠœàÓO¾dj;8G¹4ÇÆæeþå§ÿ̰;`së¾o‘Kç0†Ý^“ó‹sµ:­F‹´žÄqlÒéD.­Ö WnÜææõ«t: ¶/¯¡ˆáÎÆjýÃZ½†8<{v¤;&›Î1˜L Eâˆa¿Oè‡83cاV,Ñ>oñøÁs4%M±Pe:séÈ • ±lI)äóœŸá{!g dECEFƘÚ|‰ïï[‘O2!Ñêöé÷Æœ5èuDQDº˜Ã}t=…넘ŽM$ÆÌ\7 Q’*¦9% <ô´†’Ôð‰bó³7îÜÂ#Úí!¹l‰(pf/ºœþdHº”¢^/"I>ƸMãü€DÂc~¾B!_ƒXÁœš úJz™—¯q~Ò œÏcNèªÊµËÛÂÂBzg~NáÆ‚Øb0ìrûæ]ˆEžP­¤¸vmwjqvФ}>aïyÏ1-‹þ Ã̰‘$‘‰5`õÒ"š¢ðé¯G¯ÛgaqŽ?þ³?çöõ—ùçú-Íã)æ)VqÌ£Ýsší6 kËœžµw#4=C¡–Ä-b)âÆMnÝÜ„Ð"€3µ©U«,.,Óéöކll¬3ìxúdŸÞ°O¡”e2¢Ê2–9æ_þéÉ¡$k̆.¶Ñä{ß»L„Š*È8ÁŒl±N6Ydj‘”²vW_úSþ·ÿåeµ^àãß~„118=ßcf@ˆiÌNyíÍ\º\$[„•íV/-1·(dÓréô‹ì{Ôë"ˆ åÚ Qœààè9W¯Þ ^.Ñj¶¹vý:ý~EP¨•çi¶ŒFcBÏÇ÷l½)]GUUªõ2…J¨×ŠhŠÀÉÉ>Ž5%—Iï<{¶·3³ÝC?¢”ÍcÍ ×EM§˜MgÈÀµK—©×ÊtÛM–j‹ŒÇSÆ#“0„áh‚ëú¨ªDR×Ù¾z I’1&r™,‰D‚0ŠI"–5css“á ËÝ»/szrÀþógœŸá81–!£º`{6•¥94=E»ÕÅtMÒù £eÒhºN«ÝEW’Ì«ØÞ½X$‘Ré÷‡èjE“‘’ ‘  2®C, ȺŠ˜³.™t‚å¹4W.­sisr¥Ì̘bš&Ь²¸°LF”ôº ºS<;FW“Âá“ÃÃý`Æbu rYZY`0óég÷qì²èñþW^C ½kµÇdô åÊàVcs}ßµpl‡b5Çd:âèðœL&Ï[ï¿Ä÷ÿøëüò'¿áÿö§tÎgˆA†ÆÅYÖÐÓ9úÝ)ÇCJ‹ (™<ÓñŒbö…ìbnažþÁ×HÇí³C¦£>¶ecÛqQQHe8휒ÒD„P£Û1Hg“l_YG–D²Yr¾Àú›'H¯~}%)!'mäÔ„ë7nQÈÏ1™ŒÈꢇtQ•¡`bZi6øÍ/~Á½‡óæWÞEN\ÛÜâhÿ!ëÛu^}ã&—Ö ôZçQ‰ñ¤E=S@Õ“LF-|Û%Bb渟þëGŽ„ç„ØÆ„^sÀ³Ç'ìíî#F6a$!{"ÙD–éÔ`~¡BNÑXX\Ä 9:Üei¹D¥¢°¾²L£iðÛOŸS«oí$uyçø¬õa¾–'¡üà»_g~.‡¬ÆÜ»ÿˆ~«ç:$d…©åÄ¢¤b[…´NZJa˜’ª„"±¢a„>KkKxœ¶)J¸ŽØHAÌÙÓs†í1ÉL=)1l‰C=­.¢àá8¢,a;!åÅK«h©$ó æË|w†1“’ŒLƒLVG Â÷bQÆq| ™ 7![J“.9=9%ŸMSªeXX.3™u¸}ã:ª*8!ç­‡­&ƒ½ÎˆÆé ‡L¦^ "Kš&ˆi]§\®qï“OPT™ÁðÅ]²qé*ªªr¸ÿ”õ…yNÏZ /,&ŸÎpF¹>‡ëÏe0“^ˆ\Ððc—……?øÃxóîfÝ>GÏÎùݯž’’²´»mD=ZŽÑ 2…jö…d\‘赦8 !Œèõ¦ds) £ÉùÅ9û»ûœ?o3ê8dò5\? ©(ô{=4Mc¥~ Çœ"Š6ž=$¥Ê zm ùô¿"?ùv‘¾ûƒk\º³Ž¾8äƒï]&«/aφaÛm2žŽcÚŽã¢È2 Y"¡Éx¾ERS*TMÆ3lÒZQÖ$ "´,Rš«Æ1žã²±ºD.+Ç3>xï Öë `Jì>>ä7? Ù È1ëkˬ¯o Ä@"ÄdÁCڱ܇ÇÜ}ýògÄçŸ=àþ“6WnÜdêšt'6n Î(¬®ÔP°LŸ“ý6a˜ÄôC:ýW./F6+ëË8¶Kº”GS4#TIåóß|Á£OŸ2ú¸Ó˜ÊÂs«þä/È«ïnQ©gbKKu‚À¡ÙèâX!ålMI i)<×%–b._ºFŒÌp6A/hÌÕÊL'Sž?ß'_ɱ±±Œ¢ÈL§ÙtÏu¨•«ÌÆ&¢”x!’ÞZu˜›X»”¡˜M#Ç\§‰cDžˆ ø$µ ²œ"Žrø^…çOï‘É&™z$ ƒÁŒçN)f³ÌFÿ┾ưïð»ßÚ!J|’ ?ÒìtEÓrñCh¶:~„,kØ3—æyA‘’Y$M§ÓQ(WCò…4—6V‰ìˆ­õUB'âàù)¹Lt6I±šÃôm#-¥3)˜-üP@ÕÓøADä‡èŠBàÏ(–Ò$¥\šJ.K£Û¢˜Ëã˜.á àû>ª(Ð8`8k±¶®¡§’$å9¤¨ÄÑé ùBß ñ-°=ƒÍÍm Ëbn¥Š^Îñóß|‚÷ÿë|ð¯ðôÙs*s5ªKU¶®¬ãx6fÒ¶mÒÅ2íÁË‹8ØÝgÜé±¾²‚üúóÈr -™Ãv]ºÃó Udwïh'µÇ >Œâˆ¹¹*®ë3ØD¡HoС\+’¯–›ÅršB^¥Zɲ´XAðC‚™E§kÓh±m‰"p¼˜Nw‚ªh¸VŒ,& ú¤R)lÓ#_.!¨"–?EQdâÂH ©¥ã˜B&‡®g°ó~ŸX „– Iù6r Ê"–cPŸ{A¯¯¬p||‚Eh•r5ãFòlÃçè¸Ig8V76w®lmã*ÅÙ´D­’esc…“£cî}²ËᓎS+æˆP™¹‚!k úCÛ“*»Gç¤òI6®Õùú·Þ¢”ѹ÷ñ}z)²šÆ±Š™ ²˜Ä6]|ÇGe¼(Æò‚@`: Ð3ÆÌÜ>º®‘+d)ÌÍ£¦s¸QŒ¤H$•Ó…ªÊHjÀÒÊk 9òù•Jj©Âtds°{Ì|­„*GžOµZ¥ß1O)–Jˆ’„”Ј¢Gç<¹?BúÑws³6ÖØDŒ D‚†/Nˆ£Ç…~’Ò*ˆ‚ŽåèO‘“>¶Ûdz]¾øòN˜dné÷='%1íßýã÷ù¯þúL›H«É¢ËÊö)‹gŠ?2êD,Ì/1(eò¨t‡=êsË\½~Û5¸ûæ]~ðƒðÖ;¯SœKñðÞ§ô{=\×EÖæê5Ô„Êy³ÁÍW^¡VžGK¥xøè1îÌyÞ) á€HK¡ê9|"Úƒ3n½²Æ[ïÝæí÷^%ðCö÷/˜¯Îïèi}' üÏÏÎÉçr„±O¡’¡XÍrÖì $eª•RäQ-d9:<¢×ê3èLðâËKë$‰1óó5Z½!’’ÄñCdQ!ŽC@VdUÁ”´Êêæ zZ$ˆÆFŸñ¬ORÑs)ÜØCÎ(ø±OJK2W›ƒ„ÌÁÁ.•R–|*ïÍð<•(QT‘|>ËÔ²X\[fæÌ(Í•¨Ë {=Ú¾põúÕòRI yöü1Ë‹uRZ’é´K©ã“ß|F¿5¦¨¯ñô‹¸ ×%ˆ#^÷e^ç&’"ÐëOLdŠ ²Õ$ï¼{›7^»Açü”ÃÇGô.¦f„”Ì’ÕSœŸ5pýt6Ëx4"$DËd1MQÒH¦*«)6_ªóú›üÙ_|›…å¢*"ÓMpl—ÀvqfõJ‘L2ÉÉn‡¥Å¥BzµÂýOòù§)•jTJE,sLäGTªUä„‚ã…@‚©iá:!j2ƒïÇÜÿ¬ô­?/’ÌäÂÔDúSdöñ“Y*"JiüÀ§Ó?aoÿ1’T&“™C‘ešC–7–©ÕçytoÏ›ògÿî/ùÞ·ßãàé/¢1à‘Íæ„“ËÑQ‡N7 ×™QÌ—H't&£1©¤B57ÏÖú÷¿ü’ãÃËb¡ZE"¾¼ÿ¡0›ŽÈgRÔJ%~ýÑÇ<vÀï}õk<üòsþáïþ‘KÛ›H’Húd2):ý&½ñ…¥5ËA dc³Æ­kds*­Ö9W¯]&ðËc<ã{Ñ·ãi‡RUGMKØ…ˆbLäû$â˜ñpH&G”$Q¥Óéø¥b!Š™3i ? ÐT! °Ì ‰„Œ˜IènècšÃ^—­:õ¹<—/-³}i Ú`ØS´t’ IÄ!sµ2#cÈÄ# ò£ïá™S‚È'"ËÞÁ!Š¢ñÎ[_Áóc“)©tšá`‚aYv‚È$SJpóÎzJâÆµ«œ³·»G!_Ä÷Bò¹"çÍ’”âäü QpÃr8<>¤Ó¹ ^+³X«ðÚË7Y[™c}mUùè§ÿJ·9@Käiœ‰cÑÄÄóT9‰ © T+yÔd9%#“Ñ“øXä* àðío¼EàÛ<¼÷€Óý &Ÿ¬žÇ÷Bôl†H˜Ú#¬Ù”Ø ™ôTšØóY_^&Ôyøä!gÇ,-,€aÌÆD±À“'û˜VˆmTª ÇŠ’â³_Ÿ ýþ¿Ïã93Šù<£Ù€X‹Èé%*$Èæ*d3uFã!¹\-™f±z‹Rñ…b‘'O?eûêÕù§O¹yy…oþø Š/ù£b’«,¢¤køNÄÌn¢’hé2k›¯ð“Ÿü’ÆÙ)‘±´´E¦X#&¸ÿà>–c‘Ó³œž0(UŠ(šÂk¯}…ÑCJø {]|¾õýãù!Ÿýö·¨É '§ÇT*eFÆ„él›oÝekcƒa§G`˜D¶I!£ríÒóãñ€élÌ•›\·yþìATQUy§TMîHŠûa")#ª*±ÿb Iˆ®lmÒj6ؾqÇõhwZd¥$z:ÁÒÒ‹3ÏA/êds:* 9¢œËýä'ËÃшR&GVIbÏlúçMbgF¹Rb4¬àØ®é³\,Ðl_`„3Šs~ôí¯Q/äxxÿ!Ó0@Ó"A %>ûÝ=Ž/O †£ Æd"x„²Åû_{“;w¶I©“ΘÝÇDAÌ[o¾ÁÒüû{qÈK¯½†Ú̯U˜&¡?ŰLÊ•:¦éÓn\Ði48Ø=áx·Có ÉàbŒe è… Ýþ˜ñpB‰”šÄr%$!ÁØ6If“ˆ‚¬„¨šôB8hz’À ‰§»_<æÞgÏØ\½NãdÄ£Ï/ÐuñdŠ'Ä„I‡õ­ubaÊÉóŽmRȧ1z²ùwîÞÁ° ¢  PÈ2µ J• Ä ÏŸ“L¾ø´Ölu‘%‘{¿k ýøßç a! :™\–d¦‚7m342…Ì"Ç{ñŒ6ùt IJS¨Ü$tÀ6ûtFû¬®Þ%‘Hi –WD £³O ¬.nâ;2#W&ð²ªË¤å`šŒ‰É_qëö;¼õÆwÐsqÐIJfl¬Í#ziœY@­4"‡˜³'Ï/xïío’LkÄ ‰ngÂ\µÂÄÐ7;|å«wyé•tÛgÞˆkWW)ärt]NN1Í!W/màX¶ÐoøÓ|qžžã`zSæëe<Û¦×Îë¬]YÚ©Ôr;k+óŽÚ+Knß¾ÂÂÒ"¯¾þ:Í&FAÒ™–;E$&™Ð˜c’i‰Àó‘#…|AFËêje4Mc4“ɧq“ØuŒ:xžÂÓçgŒ²$rqÒFOë¨zˆ ¹qç [ks¼ÿÚM{ÌÞ³=ŽZ˜ýĘ­+ץϛQÌgñÂPH–Ò;K—¸uwÛ£øYQáâ´Ãy{H·;¤œ-‘NÂgŸ<â“OŸa†01Ælo¬Q­YÞª°um‘¹õQÂ#[VÙ¾¼+ Z‘«a9ª–ö|NŽIå¾ý½w9Ú;dÖó ƒXóÉi ßÁ2¦Ä^L»e“KçÜÏ™Œ=úƒÓ£!Ã~„®ê$R*IEÁñ ÞûîMþÛÿîÛ¼ñÊo½ùŸ}z„H±¶¶Â¨?µ ªõ,—._ÆvgˆI‰l¦Ì|e8 ŽÇXf@­Pæå[×ðÝ¿þù9ÒŸþÕ*‘(“/.bÎ&hr×Mâ¸6B¬bÙ½~AQŽIh ¦ë ‰ætBµX$«UEPeÇ":#Š•:ùh²M¶¨c™NŸà[ Él?†áÄçÊå—Yª-¡KyBÇbÜëqzqJ)b±šg0賸V¡7rqѦ¹×å‹GŸrïó‡TŠ%â Á“û{̦3öö÷øú7ÞGÕ²ÄöÖjB$ŸNs|pÀd0ESRܸq™D,âÙÇg}ŽO:‘Âh2æÚµkxv€8äK)‚Øá‡?úžeѱ)QÅè2”ë ÌfÇ…$%‰‰úÇO¨ÖV™Ÿ-µÊÂÒuÛâ'ÿð7Ôsuz­6³Ù()€í1ÚL-›Îà %«`:3¬Å›ï¾Á­ë¯2è·ØÛÝ%—ÏñòÝWØ\Û"«åföî?Á™L¹¼y™r¡ŒšÌb9’šæ|ï!Èç ¬m^b8u&C“‡÷ŸÐí6™_.±}s…­+ëÄ^ÈÅþ1ÓÁ„ßüò7äËÒNà»;|XŸ[ Z¬Q*–ùäwŸ‡1ï~ím\Ë$ŸÎQ.—itZ8®O¾Xe0žàxÆÌf8Ú6º$!Æ1Š"Óô„8Éç³øž‡ „d2 Qh2_+3¿Pãäô=àp¯Å¨ÑíôGC •"‘ ý–Îçv¤8ÁÅYEPdvÛ<¸ÿA‚wßÿ Q²Z_bcmƒ”žFHÈôÚNŽÙ¾v‰Ë—ÖI§t2™Ó‰‡¨<¸÷˜™1css¢+tzÆ37ñ ;´Y½\å›ß“‹³#žÞÛ'te¢X`õòm#Ê)DMçéþa±¸8O¯ÝFUR\´{()J¹@·ÝF–`<ê‘ÏQ”$¶c‘L©H±Â¿þlé¿ùï¯û²Aùì‘è3Œb• ŒpCDEPT™È7pü1r"®ç‘^()gû„Õ—¯àã i:1)œ‘9‘‰3«Ì/o!Æ>SkL„Ì•­›ˆa€*I̬¿úø)É|’(°…&C¯Çûlqõv%o³P¯¡%s<ß;DÑ$C²¥n1”ˆ¦>Ÿ?OF º­!¿üŧL&.Í®Á·¾õû|þñgXŽI·ßçáãg±ŠDø±‹¨Æ¬n.S®eMú,Î-qøô^«ÍÖÚ‹õ9²åú*s•¥™äNó¬ÿáÁÞ ~[—.£åZÇMzíà¸)%E ؾ¬¨ˆ2LFCVæÉ(­f“L¡ÈØvPuÛµ°]ûEz#ÄxŽA6£# f¦M6«£))Ú ƒé4DVœÈBQ“d5MYQ8=QR2[$©@«ÕáÓOî2ÌYÙhÓÞXA 'CÜšEc½†^W©·-:­6¦dó›_}Dèg$‰ÏßýÃÞ%I˜bh5æÓˆù¾þêÛ#MµŽTÓú@µtÆÓþ,Àµšˆ’ÊÒ ¨Y5&£ õF“({貄,ˆÔ,‹$IÉ^^pÄÃ2IÒ ÛiP¶­S¦¾xÂó=&£ ãq@Åì^ݦÙj Ó™wdˆ¹X¢Ë™R y‚ TÔj5I$ÍRÎOωƒ˜~Ìpî§pvÒ#KÞyï;(jÆxÐGL==£ÛPå¥(3xyN³Õ`2ñɳŒáhÌr‘‘g!¢˜sõà ËqÄÿù§Oˆ•¹Ÿ°LC$4A¢(Kžœ3šŸXm¯‘!†¡’E÷?~ÄðEÌÙó~óóÿo¸ýÃ}NŸ£–ßÞ{Ìl0à bP5YA,}w·¸}íšk§)Î i‚XprÖeS•ÑT9¿èÒh4ˆ“˜á¨ÏƒÏgHõ7«È¢Œ€F¤Dé[ï‡ËøÅPpÝ–^GUò<¡V[Å2ê„á‚^ÿ”(šF>VÃÄiÔ‰}|?§åìF>‹À§È&ç4[ëPdÔ5Ûb2yÊx~ÁöÎëüáóß³uÝâ'?~ÍU“W®Þ`Åm3푦15Ëâ›»'<|ÜçGïþÛ[L†S4Å`cc“îù¥’X¿²Åh>¥µ¾Ê$X2òæÔ;MÒ*Á ç¤aEs½N)Ƽ~û:B‘¦!‚¢Ðl·ÉʘÏ>þoáÍŠ"§Ýi²\Nè]v‘Eo=ãÛÇÇ(ŠŽ"«ÄYFm¥q¤×ÔDQæ²{É|ÐYÝ$Kr†£!šª3 ü˜N­…¥ëÔë5¦³ Ežâ6\‚4"Ms·F’æøQˆaëºÊùI¡0ÈR‘ÀPƒfk…¸ˆ„¤ˆ¦³9ŽQç¼{†Õt‰Ò²1-_jÕ(Œ‰2]· ¦)d¥L©X¤‰ˆ?‹‰b·f¢*ׯ]Ãt-â4¦*Ò¸¤RJTY'ÏKÞ’'OOHóŠQA8–Kžœ<;§:#$ÙDÒDYÄŸø¸¶ËbPo7q\•_üõûYÁ_<Åqlž}I4*õæxAAqóõküâ?ü)—/Î)ç‹AB™è†Ê2 yòâÇ­£KEä1îŸ3_ŽØ¹²ÅµkW°L•aH”$\¿ºKÍÖ™O—x‹˜´(Ñ ƒõM6ÖÚ|ø‘þó»ƒ\æxÞE³PL<[$ DMÀSÎŽûÔ:º&‚Y3ÎÉ*XYÝFÒZíuæ‹)Ia*+XŠM–B&hJMÖ)ã9ËÔÃvm¦ÓçøÁ²œ3›Ï@²ØÜnrõú&›BiŒ¿¼äÑãOqÝAÂë§(ò·n¿EèOÑ‹‚§N)”üîÑÙhÓ^uPM…ãËS²2çÖk¯‚P@•òþû?£ª²2&Ïszg#¢¨@4*“ ƒË>ëkDIF^TØ®d¬¯­’å ²^£7œQV°¾¾IV€¤)šp¤ê‘»RÿÀp>ûì+¢0e}³CU„‹A f Ãİ,†“1UY¢)2y–a;.ƒþQ–ÙÜÙ@‘+º—çÔó±O‰ŒmZºFœÇB!”ˆ²ÊàbˆPˆìîâENÍfµ^Ã1LdIE·$U"L`:›¡J*7®_Ç ¼ @7-úƒ!†Öàøi¡ÐùúÁ3*2Þ¸ó ífƒ~’DȪBYIì_¹ÎùyŸ2Xk®D A$9ša³ˆLƒ!š&“%Z%„ Û[¼ûÞ÷9¼²Êr:â_ÿõ3 TSű,qcµ›h–AU%<þú>Ï?9'.Ç}ìU"È ·¹F¯7âÕÛ7I’)Y"(°˜Nˆ3$!csk—µV בªŒÑhF•(šÎl6c<™Ð¨¹üó?>Bzÿ¯\A—¨äárŒ !tûa “þ’2I(*Vk•å2æé³c*A²T%# KÜZ ê—§ˆU97YÌròR¥?ðøÅCöv6)B$ÔØÚº‰ã¢ë*¶.ñíƒ_Q”!ª¤R)V“,rùç_ý–é8£Ñèð?þç/Ê9Êù_ÿ¼ûg?áÏþò§Ô;:¢*²{°ÏÎÞ®SC•$îz—š.c‹gý—d½"/˜ ÇsÒR 2òiÂJ«EAI&åܼsƒ×ï¼FÄQÆÞþUæ~@ZÈ8õ6yY2›,=JIdco‹ÞøÅ•ÜfóˆBý@’TܦëÚ¬67@¨³MUA–ˆÓŒ­µMLÕ`>ž’%EY¡šË`J­f`jÉ2e9 0m US…(^9 ‡³~ŸFƒ –¡£¨¥ðr?T…’ÉpÄt › 9KÏ{™ø·\¢pÁt>@ÒD~üÞ;¤yL¯7ÀRDª\àôlHJÄ~É'}Î|sxãWøöñ#®rÞëRæbùréwWtÊ ÆSTJÙ¹QçoÿëϙƌÏBl]Á6 ü`Êx|F8óyñ°‹äÔ7mæQBZ-9¸µÏåh†æ˜ºŽ­jÄóŒQ×cž.ÙûÎ*oÿôbYqq<£ÈU-ãæ«;”(ŠÉµ½khB‰ F¢@ÝÔªŠŒóó’b3™-˜ys4Cguc“ÿþ>ò<‰( •­µ[tG—$©ÆJbÐŽ-"Ò´¤Ùlñb£à"¿$N–‹œºÝfæ{hšŒêÊT’J!g¨†É—÷ñÅÿ½NEÍ5é^Î(Š Õr Óœ,‡ /ˆŠ„ƒf“î“ j&ºf3 ʹPSu‚Á¨ZV)íú×olóBèuÇX¢€iYb‰ùT¤(YQ)‰æ!¢Zyb.&9Š¡þÂC,mŠ*CX×Y©¯qò┽Ím‚Ù‚o>9æ•;;drÈE  ƽA>¢ Ãé´«Ñ® p ƒ7_»Å¢{†Tä¸M‹¢ÌY9p‡ÑÉœÙÅ„•¦ UL•†ô» U©rvÜG„Hf8ÑË’‚OÀÍ·®sûÍö7-ŠhNìÏˆÊ B Ç6qUÙ±G8\2ógÌ‹ºm³âHxóЦå°V3)¢ŠŽÓb0¹Ä°%Zë.ãl»?y‹7^ßⱤqyNwS˜)a.!©‡ØšHÍ´ùèw¿¡Õ©sýê>ÓñŒ~0c¥Õ¡D¥±Ò&É@Õ¶Z[ SÎ/N~ñŸnPwÖ™O—¤IÄx8åñã“qÊÆúYöRÞ8[øœ^ PÌŸ|ý„DÒ@”ò MQd ¹¬_ç";?Â[.Qd“RªƒT¤Ï‘Í’Ò;yJyŒ/ˆ³K}à±²bîc8-$YE´bŽû÷Y[ߦްxã»×˜ECÜÍÎ*Ož>ãùÓGìmÕ³CVùòî=fãQÔ™Ž—œ½èauö¶·%ƒ§ONI#E2QtMWiÔÌ|$‹8ØÛ¥ŒR”ª¤a[äyIš ä(ôû Ý!ð|ö¶^RüD±B6$ºÓ>ÏŽŸ³ÙZ¡òsü¡O£^;ÊÊìƒ J™Í§¬n®b6MTWÅtuz½.ª¡a:.³É§æRITB!2,„ n¿qoYÆ1ºe2žÌ˜Ïgìnn“†1b^‘ËfÃb± (+‰ë×n2›Îh¶j”E(lï¬âØ&B–S¦ bžaèãÑI+øñ¾ÃŸ|ÿU¶I²˜ÑdDž (ªÉÍ;‡|ùé7d©Æt0›ø¤iB…a(u…õÝoÿèDBzçg(…†[ôNÇÈ2YÈrá“ 3‹B$_ÙåÎ7‘K‹ã!Ý“£ÁDR’˜ý+ܸ½G’ø<{ð»´ùßÿø{†=ŸLÌØ{¥Ã;ïÞB,K†ƒiþ²î9~˜±¹½E§øALQ‚¢éäì^9d±X²Òick:¿ýð)Ò[ï•P½ÄBŽfK’BbáËœ<°µvÀ?û#ÛWvH󜵵5v÷÷°ô²*R>¦¢!‰2çý'gT¹ˆ[;Ä4W)˜QoØ(FAVÆlt®âvrýœùüº)r~Ù#-S¶w×0u Ç€ ËÜ#ÉëS !ÉI‘³L|VwÖ(…”Étˆ€¬7;X²ÂxØQB5,ü(#Ï*¼¹G„¬¶P —¬tV¨(hÔ^âyÒy™Èy·‹éXGAEaþ—ø g(–@Y¥dEF^è®&‰˜¦Étº@U„JtÃY"LRÎ#ê­&a¢h*eU`è*‹éÊŠë¤EÅhêÑh´™N†˜ºL’„¬®wE04•áp€PŠX’F´ Øh¯1Žél;¼ýæ«|y÷SÝÿš7ß|Å6ð£E’(ª€(-Qe Ór˜yS܆‰j•Ô::F]c}Ç`ÿ FL÷ætO}¼iE–Šø±@‘ ¤e‰Ú°±Vkè5“JPxòí9>'‹^Í;ÍdMÆ[zhªÎÙñ)árÆöú>\rï‹¢H`%¼õÖ«|ï»×Nž³·µGù$‰ÏÎζUǶë¼xþ”édI”œ÷ôÇcV77qœЬâyK,Åá7>Bzÿ?ºÈºÂ"õÈD«±Ïùó3¤\¡Yo!Í5›W®îRE È<!Ç›Ÿ³·Vg}Å&)C¼,Æt¬´·°] ǬÐkeŽ–YNZ1ô1ñ|LUHtV_۱Ü-4Õ¥ÌÇDÁHÂ’<Hâ2 I0C¨R4YÂ0 J,NñK `éM)Ò·fsxý½î„‡Îxq2BwZ4:kÛ{›Ô›M£ Uþ²öܪ71 óËâ4¡Ñj#Kþ|N{¥Ãh0e2˜£kIš ci£±4] ܆òHÈíëWˆ}Ÿ­ÆÞ©Òd‰V£!ªt”gÿ_bLæ>rM%H}̺åêB†a診F’'ÔÚul×f<›¢H¦Ž­á8&0ê‘¢‰– EVQ7Ý—¦*~øý7é]ôèŸ{|ùÇÇØ¦ÍÚæ“é„«W7±l’œy0!,|r)ãÎÛ¯rëöâtN¿?¥Uש»»›Û¸µuþå×wyq>dê{¢NY䈊Œìhô*Qbi®"i.~’#(:£é×Uèìn Ê2†*¡©ß~ûß¹¸èD)k›»ŠŠG¼òê-,ÓæÁ½oJ™gß>çþƒÇœ=þæ¿t¨5W°Üõ–M¯;!JتMÓ­Ñl;l¬7i˜*šX`j"ŠëÐi­ru{•—ãT×\n^{›†½EA…¡405¢@b>ñI²‚²0ÄU,å ›h‘."¤ Ī M¤ÕÓ)Ë%ª^’ )¢`“%­Ö&£°Ïßý÷¿ãÙqŸ•­uTMÆ”nݸI£i¡Ê_?xNìQol!H“™•@YÈLÃűI«”ËÞ Žƒå(²ÂbæQ…YT¡*:†¥ÑZ­Q E)‘Db*%9yYàE>‡7ùîŸ|ããSúÝÃËžq~Ü#rÆ£9¢ò±ÅK4Mà‡ï¼ÁÏÿÝÏŽþí{ï|`”ÇOžaÙižÌSA(«#Uqlƒkt‡}ü<£ÖlÒÚªc:&NÝ%¯JLÓI¢ü$¡HS$IDVJêu‹•fƒÀ÷‰ãUSé÷XŽ‹¨èDaL§ÑdÐ`šW¯òäÞ7D‰ÀÅY@<­çw?þŒ´,)„‚,ËÙ=Øà{?¾Ã<š’ 9g—gy EÁh<§Õ¬#÷ï}Å 7æ÷~JgcƒDˆÑU ]®Ð•·©²»»ÆÕý+ôÏ'x‹ˆ–Û„,ƒ"ò úý’¤F ®k9Ãé I”…U–Ñœ:¹YP¸!÷¾ùÍ’0t™,.i5W/f„IÊÄ 89=AsLܺ‹ªéøËoêC! *[»ÜýÝ1ÿM`¨‹¢5ùIEND®B`‚pioneers-15.5/client/gtk/data/themes/ccFlickr/Makefile.am0000644000175000017500000000323311517053252020230 00000000000000# Pioneers - Implementation of the excellent Settlers of Catan board game. # Go buy a copy. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ccflickrthemedir = $(pioneers_themedir)/ccFlickr ccflickrtheme_DATA = \ client/gtk/data/themes/ccFlickr/ATTRIB \ client/gtk/data/themes/ccFlickr/board.png \ client/gtk/data/themes/ccFlickr/brick.png \ client/gtk/data/themes/ccFlickr/desert.png \ client/gtk/data/themes/ccFlickr/gold.png \ client/gtk/data/themes/ccFlickr/grain.png \ client/gtk/data/themes/ccFlickr/lumber.png \ client/gtk/data/themes/ccFlickr/ore.png \ client/gtk/data/themes/ccFlickr/port-brick.png \ client/gtk/data/themes/ccFlickr/port-gold.png \ client/gtk/data/themes/ccFlickr/port-grain.png \ client/gtk/data/themes/ccFlickr/port-lumber.png \ client/gtk/data/themes/ccFlickr/port-ore.png \ client/gtk/data/themes/ccFlickr/port-wool.png \ client/gtk/data/themes/ccFlickr/sea.png \ client/gtk/data/themes/ccFlickr/theme.cfg \ client/gtk/data/themes/ccFlickr/wool.png EXTRA_DIST += $(ccflickrtheme_DATA) pioneers-15.5/client/gtk/data/themes/ccFlickr/port-gold.png0000644000175000017500000000453511346241564020624 00000000000000‰PNG  IHDR;0®¢bKGDÿÿÿ ½§“ pHYs  d_‘tIMEØ27ûŠŠêIDATHÇ%ÓË’IB@Ñë¯pGFfTVU–¤n1ô fÀ`Æo°ÄøV~‚ Àf ZÝ=#©%Ueå#2Þî,úîâ\qþ÷ÕSÅ·?ñüù™ûò->¶ï*D iµ¡»CV³Ü.D‘¤ÌS¤=Û"Ç.=Ünœ>~¡on¬a¡¾vøÉq:M\ΩS—°ŠÝô=ÕR"¥aY"ç[ƒJ,nœiÚŽ”ܽÙC4ÇWæú†Œ’¥«y|zOVVŒM *aõše•,K¤¾X–g5E¡i›…aèXÃL¾+Ðç¦%~ü‚=&Mi| .â 6Q?|b8])%ÙÖ¡fì'ʼmÁmõ ëŠTò|&D‘¸*še1œÏݰp½^ÑB(æy!A ÁZ…4c-yêH„†)biž¯X'©v õÈ_þô'îïú‰‡Ý†¶m r%-s´{@KÁñù„_G¤Ðïq.¡éz´ïGô®¤î._ŸÉŠœjÿÀv·A 2 ÖÖ9²´ž]ñ®"M6Ëgêú1ðùóW ÛcF\–ç€Mr²læøíBb$B:RÉ2züÊ ¢D†HÛôèÄ’d9ɺâ*yùzb>ÖàW¶wwûŠbã²"%{û†¨4R¥épYŽ1†Mžfš'ªjƒ¾ÜB`^'„ÐU uAYV8›Ô—Žà'´ÖÌ~¡i,$ÍH‹‚´Üâ„ÃZ£$IïYº›*kY}¤¾ö RG–:ÆH°úˆ³Îe¬k$MSš¶&OÓÖøÉs8<°DA× x"yž‚Šø®F)2al²êAÖHÍË'†a±"TÄ嚥Ð]×1Ïž%Dʲäz>!:p…Ħ“Š¢ 36Ù “ŒeYÕBs»`a'²|Çí|¢¾MT^RÜ?ÀÔs©;†iÂ$ ˆ@[¤H­5]×±ÙlH‹ mÛÓµ_¿~ ïÆafGŽÇóì1*!w)Öl‘“¦)Ïñxü-²Aj†ë!5EÛö¬„ú ¬Ž1b­¥, „øí9$b5t· ï=išr8lB0~¤$ØLÃ*©/-ËØíîÈsGZ¦ó3_¿}£°ß;æéJ’X Rä<ϼ}û„Q‚Ô*6esާÇ7„Å£…Ä…IM{bo".´×+±°Ö2Œ~ a /„ŽlvŒ1L£§kG>úÆõÖ£´CZã D´‚[ýJµµFR+øþÍ#›4aõmû‚s‘,ƒu®»+ZE†®Æ& ÕLb!¸L²2³« b tMKÐ,>’fäv»åÖ\iÛ+ÌlË”yèI² b$Q!Çã3ÓÐ!bÀ(&l¢‘…ã»?þ›Iú¡æz}ÅfSX PlsʲÀ$Š¢ÌY‰èÓË‘alPÒ U$K&á‰~¥=]ÑʱÝÌaƒŸ&nuGY$,~EF !À8± É´I…ƒ9àŠ„r›r¹Þ(Óœw¿{ûwß#Ç#ZKŠ,c»)¹¿¿'Q¥%‰’,óÈç_?q:Ùí¶~÷=.MPZ¢µä|~¥@+F¿`R‡Ýäà0‚ WÎÍ™vºq÷PòæoèCoŠ ›Rç€kÄ9G}¹òôôˆœ(+˜æ*¶w–®¾±, Ó²²~ü…¬*H‹’l ¬UEÔnƒ)2V(ªœÝCI’B˜käý¾âùë7®×+뇙ªÚ³¿¯¸\ÌËÀ&Æy Û–ôÀ‚û‡;¶w‡Ã)¡Ÿ'”uZd™3(ÀJ„UÉý›=üá=íX£÷{ºæŠ‘šu^X£äååJÂ0 ”UÉ*"m7àgIõû?Òüò#¦Lõ™uxøî-<=¦‰0OÈÃ#©”0N ëB0Š»m‰}¼‡°àãŒ>žO<¸4!I4þ÷ÿ°ÎpwWñpØÓM3Uµ#é~üñgÞ÷3ÄæÀn{ÆqÆu#r[Òµ-Éí†Ùd†¡!Ëò"e~}Ë™/¿|Dÿ×ÿü7Ó4‘ç9øáv›Œu]"r¼\¹;<¢ Üì°Öò×?“hÁIDÞ¾}$±)×Ó5xþ.ÇfQIð3tWºîD– îß~üHßÍL—™9GUíØmïˆ1Rí÷Ø,Eš„( DA;ôHgH”FP¬Ñ„˜Æ¥~^h__!®£Œ¼{àîMEn<ýíwüðÿ@¦ úŸÿéï9ødX™$ù–ãõŠÔŠÉ/äyÁ£œÁYÑ&šqê°Æñðöy™–†Ãp"Ýh¦¥¡càþÝ=\&.¿~¡&¿ Qh.KØVwø†y&¢éÚ‘À€m¹y@‰1²{ÜC"a›Ávƒ¾œèNtié@½Û¡óTB÷ÚÐŽ—KËêÒ¥9û§G¤‘4MCßO¤¶d—ßa”EE_w4¿€‡#¯çýÐQ75C}azýÊ$WªÃ=·¡Af¶h‡W$¢LI³’qð¬«@߆†®«¹ÖgŠbK™mñóBâ o4MŒ‘yš`š¦‘eöHT“:dU‚W>~úÈß‘îX‘CÐøA1’ã×¾]ì7lïRÖÐý„`ÁO3~UDy|¼ç|yE(Ö:±HepÖ¡´F:a%Ž#¢pTû -,á6!uÝÊË_j^>üJ}šaÖhô‚Øoyãi®=Çço„RÜ?> µAiÇ´x^^‚7,ÞãgMy·'Æ Úˆo{”“6ûw0JžzåõËÏÔ_Nþ•ñÜ“b!jÄüÿ5 õ¹ œ_&nõÄáé‰%Dޝg&¿2v#F'R‚¦•€ ÙÆRT·áÆ0M\N3C³2wu äÒæ•8{¢ˆøÓ¿Åù|%1þÏ?Óœ"~Q,a¥ëgúq¡Q³zp&£,6$Z¿LsÏ&–0Ed’e–oH”ùŒÜ&D¿ÐÝæqàÿ»ÈØQÁ®3!IEND®B`‚pioneers-15.5/client/gtk/data/themes/ccFlickr/gold.png0000644000175000017500000032543311346241564017645 00000000000000‰PNG  IHDRÆæŽ7úkbKGDÿÿÿ ½§“ pHYs  d_‘tIMEØ £ž„ IDATxÚD¼ÙŽmkvçõ_7›ÕE·›³O—™Î²±Á…Œ’/¸ã=xÀ\ñ<÷”¸AB.À%p•N§Ov§Û]ìèÖZ³ûºÁÅŒ4!…B -E¬9ç7ÆøwcÉÿü?ýˆ‚Á#xÔÌTÍk"–R µ€ˆ€5@EUAŒ †ùÊ1Òu¹@)AV9=}â7ÿüxüøÛFVØmŽŠµ†œf.®.çëÎ3§ã€uޮߑKåx<‘£bŒ "ÌËŒ˜ŠwŽ®i) ª'†`Áƒæ…œÄX|ÓÐî÷ãx<ŸY–ˆÁb¬‚s†R0‚5p”)&jN •Æ;Њ‹¢(•‚p­¡šB­• ¦:Œ*ë%S‰¹2Ï3¥Œ¢Þ9ún+ÁYržUJ…œ2ª‚1ëu•ZÑ"´ÝÁ ¹`½â\‰T)ˆ1³>;U@¬ÅZêÉJ‹€TjMl¶ž««-Æ*%'RÎ,ãÂ4M”’q.p8Øl6tmÃi:òøø‰R#›]Ãn·å‹¯^s¸ÙgŽ ¿þÍ;>~<¦9òêÕ+þõŸÿg¼}ûý¦'å‰í>ðùŸüâ#ï~ü=FmÛñxâüxÆÑü†‡Og¦)’sæË¯>c·sˆ,LÓó4²Ùl9\\U™æ­S ’ÁY¸â!PÉœ—Y »W/¹¸| K`9Nd)¸'ÈQƒ–õ†df0Šsž¦éð.àÄ"Ö "äR©µ¢šÉµ""Xã°Î!¢´½cš¬kqV°@) ?|ÏýÇ·lö ´ÞPc¢Z!Æ™¦ñ‡JÍ̳‹ÃŠ£Œ‘’¥À0N8kèÛ†Æ+Ö|0X*Ë0á‚CEH¹’5cjѱB©pØ_2.­3F äŒ (…×â×"TUTÖkÍ%# …¬\ ¤ZA„,ª…8'Ô*¥dLœ rJ€ÁyÇ3}לÑq¡*}ÛЧiހбvmBUž9äY–…eIˆ ÞÅTZ0.\Á7c=Z-1'b,8cPüz0j!¥LUÁy‡ ެ™Óù„Éq^‹Pï-]ßaÅÚŠHf^J™i;Çv·ãëŸ|Îîê›Àùí[¾ûöGþøÿœŸ±áýÇÿU¥(Äß~ÿ‘yNLñ„1…ë×è™ç…×/¿BœåøôDÓ6”®0O™ÇÇ'†qÂ»Ž¾kÎO8Gb<Óu ÷P+s^ˆ9±q s\XÆíö@š#ÎwXkɵ2œ'²­\(k³Ï™#ïo?â~óË¿ÅhU¼j-„T3]»¥V¸>Üðå—_sæ4 Ü}º#¦ˆižpÆ#ÞãmÃî°Ç°>ÐöŠb0ÆRÒÈo¿ùG6å³W,Éñ4`díf]×âÛ–a‰ÌÇëZÐ@Q˜Î µdv» ¥®1ÄéZ÷¡’S¦ÖÂ8-t­§m<¨°í6,Kâ<Ì4]Ãݧ#Ÿ ­g-ª‘J- *<=>Rk¡m=) ø )8XæDßoPæyƇ€Q‹TÁb°8$+Î:ª4­Õ[ÔR Þr¸¹$ÆÌ2͘’è[K,¨X'`PÓ4áüZJÁšBÕ C¥i »M Û8‚W6‡ Æ!rgÀóxŒäú„ Âeð]`Ïø£²é{¤ß§®?°ÿükÒÇ;¾ùå7LÓ™‹‹K¦a&LjV¥õ7,"lú]¨©0ê„k–)íÉ2×JÛ÷ŒcZ§‰@ÂS5sÿ@®°ï¯)6Óv§‚r‰¸ÎrØï¹<áÅq~ü€TÃÝ22Ÿï1byû+5à¬ã<Å`¼cI Æ:úÍ}¿áêê’Óéž’F77ëa¦#‰¡ƒu–T”+1*#ÖÀ2gæ9a!'ˆK%¥„µÂ²dÆñŒ5•¶mñ¾¡P1ú¾å°ëUÚ¦Á3ÓR9ž&\´LCÄ70 ‚3ºB1Ä®ÝrY">xvû • S13‹o2ËœiKщ¦iض=%VrŽˆ1”2Ów<ªY«BÑe…J‹€Bû<ñæy¦ßí0Îë2'j­bžaª ´m@‚gšÎ¼yý/^lØn,•3Ã0pÎ ”Œ xcÇód·k€µ©h­cˆ9áxß`Œ'Lj5޶íÉY)µP—JÉ™¶cã!8»|xwÇÝý'>Ý>p:/´ý¿ùwGL£a™+óR¹Úî×S$CïbÎ8׎ñîDÿêÆùýÞ¿'¥L×´|°LÙÍvK-‰ívKpcTI)ƒQvÝ[•Ìn{A–LÎ…, -…œÁwã=qŒ räâð‚í~K×\gŽ1®Dzú®²i?ýÉOùþû·Üz¤s†ùôÄ4MX æŒõŽgÒ8¢*T5hbÉØf=·Ç9N¯^–3N ÎÆáŒAð”šC-B©™iNÔj)¹`› 9CVÄYæ¡0ÏŒ‹±=Z”c¾q4œw€Å75ÂR*U¹Fâ8£j0j£Ès1Êús"Kœ(¹`œryµãOÿì+^}¶Ã›ÌyxäýÛl»-çóÌýãOOg¼/x m0°µÄ>2MO¨Z:×§‘8æ4shׂ%[q^ j ¹f–q"í6•þÕ7´¡cÓ÷Ü}ú„³Í¦ÆaÀÌiy†aQãƒÔJëyžIóÈñþ‘D y»E¬¥j¥ªÁ‡ë )­¤ÕI¦ÒXƒ4ïZÃ}¼å|¼ÇYÃf·å'Ÿ¿R,!nß}¤ ö›+~ýÍ·<<ŒäR# •œ"!åŒsy~_¥&Ѿïe·Û—™”GÆéÈÛ'‰—/\.èû ‚ïytgÒ݉²N±(­`EÀ[ ¥®ü#Xç1..ö@¥ä´rɚƙœ2W×7ä\Ùt{ÎÃÈ2ÏÔçÉs>ôí†%Fœ±X LK$%ð®¡ä 1aCK,™÷ï©%R^ïy´káÍÏ~ §Þ½çñáJ%ˆ¥–„–L­™Ý¾áå«K‚süöyrn¶=i™!¯¯,ÄšØ.‘/^°ó•n³az?ωe(¼zñ’Óxæòp]‹M ç½®°¤RNgP'ÂxŽg-qNÏ£sGÒŒ¥éZPGÊŠV‡j!ôïN Æñ„‘L÷bK×6´ÛŽ4'`\‹k{rYÕœ3"3¨ \C*…¸œpÃ;ChV’«†Ö[¼_9CŠgPËyÊ,Ë´(ίdTLÅØg>¡kAˆª¶5_IiZ¯*Ä”˜¦…ÓéÄã·ïøþ‡oY†åùÚ+ǧGþë¿úoøùù¯yüô[><¾ÓÝÕ×[®®.qׯ¹I ϼýÕ;Æeá<,€ÃˆÇZ‹Á9CÊ!¼¬n\Ë~¿Ñ«ë >¼ÿQºNxùåkv;eáë¯>ãâbGZóÆc„ñŒ±Z 1­„»d¥–L)Ï¢„FŸ!hÛà½p:žXâD- c-ý¦ µ$înxïi¼Åº@Љ‹}OÕÂn×PÔkƒÞLÓ„7BÛ6¸ÆR¬ãü鉒#ÇÓÈqgyu³ãêjR8úÀ0QJITy^ $‚ïê Òâ½BCJYgR‰5ë”Û´H°||zäÅS‹»y‰›3mˆ<~ÿCe³m‰ºp\ÒõPÁ5Ö3æ¼ò-Œ§‘ä ]Ó3N ¥*8OL §†âÀc°šÆƒ¬Ø8˜Ç €Uè¼cû↘ï~L—i›°âyR)¨u4MÇ8YR¤i-­ß ú‡C F®bïéûf…+ÁPkÁ ¨Q¨ê ¥¬Qœ7Ì‹2/ÂÁ–LQÅiƈAkÂXƒƒ ÔZ)eU§b\°Ö£ÕP²\GŠÊwß½£ •ÝöÀ¡œk¨5š–§§'®·ÊÅ¥î†e<2׌{q€8C_ýòŸøå¿ÿ-ñT±Òãl ª4Þ±ÛoØô-?ü0RëBIë<ÞZŒ…œ OOG–8ë‹×/ø«ÿö¿BåïA•È8†™ZZ¬mo°Þ‚@)‰œÖÉZ«â¼£jdšÄ” yî†'”ŒÈªnúž¶mQ ã0K]§+c…' Òwýv‹5•Ráñ¤t­%N•eÙú†eŽ$i‰„à°Ö‚*9%žžž~ñˆu+–m·áqN1””)q¡k{ÚÖs<=QWej»Ýóðð‰Í6à‚¡.…«› ªUlëð½ãt>syu ›âÛ«žÉdj¨\vÃ?ûÝí{ÚÍÒîpU[¬ÍÌÓŒ%àB‹s–qZ¨µ²Ûm!&>Ý~Ä{Ç•;`CÁ‹±Êj±„fCŠPje8Í ÐØUµ²^½|Áî°B$1`ǺïrÎTÀ5ŽÍ¶ƒZѨŨ’òˆ³†íÖâ}ÅŠâȨTL äX)q¡AÅ3–ˆñBL•T-¹J-8+`ç ”Œwîÿ'nyU¶rU¦1¢Xr®„àð~K-Žá<Ñ_oÙï®Ésæêê%ã0‚çíÛ·úöö÷|=~ÆþÕŽæpIÓ4P=Dåßþ/ÿ–»o4¹£÷=š5g bP¼[‹õæzË’ O †¾uä*œÏgŽÇJ¿ 4M‹æ¬¢ç™ç‰%ÍLCätMËq8›®£°PæHölw[†ó™øá¹&ª )Â$ë= 9%v›ýúÚqd'¼wìú-¡ œÎGº6PܾãÅÍ+º~Kð«ê4Ó¼`d}N¡1”h軆Z,UVòݵ°B#д=óÉ©¬8¬*§Hðgej¢i[RNÔT8žî±~‹³Â4eÚÐ3Ž‘ái;0ž9žV4`»í m<ÎngÐLë–qÁC³éÙ.Pò8â¼aZ"•% %‚o,ªJJ‰°T›0‡+š¡°<ÞÓ4=ZàáéÄÓíÕ6Œß½eG>ûlƒ5Å…n5áâ4DèCË’3§e¡ ë…à…vsX•turg°Î²ë·¤œIiržé|3J\&¬Iààöñ#Þ­ò(Dâ2‘D,yÉP,ïQ­HIÔ”H%Óu;vÝç,ŠÐµŽ'Rδ:¼w¤TpÇ«!/•ª™Zà°í–QQÄXçpÆ`LÀ9ÔóZ ±ÇÌR×ÂÇiIì—äããLŸ¡½;òòÅž‹‹ƒÎOO|zx i|øN¾þò+^¾|ÅííG¦i`Nˆ®ö-9UæñêH-†Ã~CŒ‰œ MèH¹²L#¡õ¸àˆyí¼›Ý†&8¬5ô]ÇùÙo/8žO¨Zj…iÎøàæ…’AóL­sÁZèú-÷îyÞÓív„àõx¿E¤Á‰£oú`©ûž§‡¼óô=ÇÓ#Ö|k©ÕcCƒžyZ(¥âÄp~ZxóÅKÄT&kÆ!ìšJH¶ø`øÿþWÄ)3 ž×oÞð_üçÿÒi¤ßlp¡wô. XÕ•Œ90¶ÖZT5J»éñÆ’K"¥H. jÞ#¥ÌèjLP´b¬”Ê’"iY ¯3ÒŒW¡í[ –ãyFµPs¡d «,ëìJø%²ë{‚ó¤¤t›=çefÉú,C&c%âÄ¡µ ”ÕÅõJÆX¨¥Pêªi­l6=NaœëªÉÊ=RÊXçé·=ÁŒkõÓí=4¡]½ˆ¶çÅÍçä%rº‹|xûŽ¿ý§‡zŒ:JZ𾆬•—778/¤yA±2F+ªj¡q–ªJΕÀ¦Ý¢Þ¿»cž®/6øPiû^o®_ó‹ø¥t}Ï0 \_]óŸüùÊ/þîïøøá¨2Œ'~öõa]ËýýOGD*Þš‹µ®rØa2Œg–8b€e<‘ÒBã/iC`œã³Ëâ8ŸÎc¦TÐR9Ÿ'Æ¡Ðõ=U+¹Vî0e·;`ãý‡O<Ü'¤ Ô×—pÑC-t}˶ëQ*ÇA™–‘aéú–ÝÅ%ó<“ëLc-¦uX,Z±L#\]Ý`·lCõæç#üÅŸý%§ÓÌáâ’×ÿêçà…ûß~CI‰—W–3Kò«:£ËRÍJ ªdR.äEiºž¨g„(Š÷Ž6x¨Š©Šo…\”œ'ë* y½uF-ª«wa¬Ò¨¥JFË„H¢ñ•y)ÐR™caYFª@"#Ri˶oÉ¥¬#Ó·¤œÑj±&`Bƒ*¤Yb¥J„šq:'P3]k1R˜—€>4äà™–DÓï%[Nç‘”ªc-qYtYàÓí=Nc…cZ(¹pyØ3GNÓÈÝýÃñ‰eI±àŒ¥í‡ó«å› ÇÓ™¿ÿ MÓqyqÉ4FK)ç*¥&JYsXÈš™B•T#iÎ ­k<ãbßòù_p÷鉘“–áÌÍÍKùùÏ~ÊÛïÞblÇ‹WŸñîíš&pÿøÄÅ¥ååëà„ýv»šK!çŠsÐ4q<±,3!𣫺 8”"ˆu±ŒãÌ8fb¶¤µÂ ¥ÖõYÕˆJ&ëÂy<²ÝÚVçBŠ/‰Çã !±ÙýUeÎd­ï×\ž]¡v6û=MhI1Óø†Œ¬ÏÜ:Lj ¹‚!2}üÄx?¦Š×@+ËW7äZßÝÒ_¸Ø]sûñ#ÿçßü-NóL¶‘>tcÐ5úƒ²þãT*E4³L#MÓ­áAê<¸”™§ˆ±ž‚#–L1•Fd•E#gA4ã‚a íURš©*„¾íP,S¨Â¦o+,%ËŒ³Â_þå_r±ÝQJå—¿ügîïà<¸ª#x‰0O™²>Toh›5»eÍZhƒ¥ó KÛ7¤j8žœo±Î#"k„" ­%-Õ–ív%¡µ0M Á·Ô¢üøý[îîÇ™®ið¶Å†€÷–í¶gZfb‰îžÎŒÃÌñ¸Ð4‘ãã„sŽM߃fœÖ¬‘™Z˵±–š"F !8JÎ,Kaž KÌKeœ#¾ièúŽ«›¦(Æ·ZšfÏïß3M Sü€±†¦ äšWC°µ¬ ƒyÈy&KÛ¸5óUWd1M F<ÆšUž"–” Ó¼rFc„¶mÁÕ ¡µ n•„µ’Ô°TK×u|þÅ^þˆãïÿñ7œ—ŠU!WE¤®TëVg[ˆ8±x‚W„†ãiÀ‹Ò¸Ž©T¦eAÕ²,‰R„®ë´”Â<«7Ó{¼oÑ"lûŸþ†óã#w™ÇË2aµpØ6hJ†MÛ£FQJ)Ä”ÆD­Ž—¯ßðò3³Ä8c¬ê³l,f…œ!¸5ëT2†õï6MO.‚µCO®w·§óH¿Ý  Çó™7¯ªÆA#òÝ÷?òG?ý›ý9& ™ÇÇGeI3Ë’ŽËú^ó ƒ««Mè(Y£äT(yUøò’h·$‡- c Ƽ ¨8J]aƒ·Qåø8Ü'®;š£f%–ÂYŸ¬bMÁ[¿68Ûà¼b l¶Œ¬ï´TînÇ™‹ÃOÃÄý‡[úàq»–÷ßÞ‘4c½e»½ÁÔ@ÍžqZpRZHy…çŸ><—5ÿ×ozܦw8o1ZqÖaðÏR)8#`ï>x¨…%Uæy•÷Ðç ‘µð 9grNˆTì¾ X+xÖTL|¿ºÔI31Gœ14Á3§ƒ`ðäX@µ‚±O…¼ðý»ÿƒÃö‚ªŽašè·;¦Xyzz"ÇLÆšL°…à*m£ì7†í6€‰¼zóš/ò%ß|ó;¾ûæígÉ‚µP‹ U±b´é:rŽ”¼K¢$åöög_³LOŽtmò,¤˜5ì¶{â43§D×l1ÌóLÊ‘T”yɈ®.op¶a‰ š »¾#•CÁ³N ͨfœñ¨®œÄV%֌֌•[×*”hx˜OÄÙ:¦ÓÀápÉ0NÌSäÓ§;­UùÍï~']×q<>­Y#8ÇçîœI©¬R-+ÇÁ®þ޼o©)c¬¥Ö‘¸dš¾ÃZCŸ!Ý®§éúõº§ÄyZ˜£ÒXCm=/®.xûþáñÈt>q¹½Ä[‹(±p:Ž„ÆàÌS!.ËÚpŒaœu­Ì1röûÛý%Ãy b˜§Â7ßü5†vÛÓu5xÆ’)µ!–HÌ XR®Ô\°¦e»» „À’3γ`pˆ5g˜—‰=ˆ¡ƒ yÆÒm×!¦°d 8ÖUÁÔU J‡|@\FL¡3g Æ¡¦È¶º€ 0ë Jœ—} (R2ó9aD(j(T¦1@š £îÎ -çÓ‘T më˜æ3F#]£„ƲÝX>»ÙðêfGÓ ~ïÙ:ÚKßüùOYƉ»ËtfY –N+Ñ5œ >àRrÄJàí÷?â̪Ð4­#8h‚ã8H FR‚%-Xk)æYq®c»=P³ðpOh¥¦1ƒ‘Œ†à¢Bœ3kÚr¥f6­'ÕÈ<ÏÌS,ª†Óé‘ÍAøøî=MÓñéöß}\U;ë©UYdÖ¾ûŽR‹xçÈ%±Ýí@Áa!„ž®m±b9G¦i!ç´ú3&¬ÊZÛ¢š©uáêrÃvÓѶ-% OdT×€¤QE0¼yq`ÓXj)ìZƒ%ÓX‡õçSš¨†Ó@œ–ç°£¡æÌÇ4!Ðô XCMÂù8ñ÷?r&ŒBg-ýfƒõ ã2s7Üóþã=9¯äZ"ËœÌj6=ÎXæe ÄÜnëÖý #Ô¹x iö4aC5oí³äVc+”\H©8»bGº|0´šÆRDI%ÒX°N)RQ »ëŽ7¯¯yuµ'ôްépÞóx÷ć·?r:ßóâêš}{àîöÄÃÇ#Çã´† e±ŒGö›–iÊl¼eÌE±Ã{Ë¡·ô­²Û ¯^ï¸>tLåDØ:¯7à ý‹šŠÎlz¯¥‚·=1Â4Í@Áƒqk¨â4¯žG¤(q†à sXsGp¬µÀ´Ìˆ18¦¶é™âÌét¤–Jß5Sq£¤„3Jhݪ Y%x— (Ë F”Zóœð¡£ÔÌϨfšÖPRŠ¥ñ8/ä˜ Þs>=bŒP«Òwžó9ê2EqÞq~:ѵ=! ï-•u-Î S)ÀÊA»~Çñé EÿeEŒÐužÃÅ£Ê<8Ÿ'rfM7[K.#óiÛ Ûíž’ ÞW4Ÿ©µAJa\ÒøD©)¯D_ Æ(¨àŒF,Zw3³ÌW(žíj ©l·ÓhHã„wž§‡G–X‰©à›Àpœ¹o^½fט¦™4œ0°Ýl ͖ǧmßÐï=}ß2Œ3ã3Áš—ÊË]v†%˜„h!ØŒ¡ðòâ’2ϼ9Üpsuà‡»ïQ«¹ IDATy{{ÇÅÅ×YÞüü+ú« û«Ÿ>ró³7Ðè·P=7Òs3 <ýþŸ¸ûኤh Ù6œÎ ˆÁ;‹±–vÓ­æ“DZ¿fŸÄ:Ô9¶}ƒæ7‡-_ÿä9>ðt¼¥úÈ~·eÐOøið´»@Ó %;žò™¦Ù³i;Ò|¢uBÓ:ŒQB0äRWYP•5Í™ÓÚ ½3TͨQŒƒ"…Æ[Š‚o &Yæ´@-„ÆÒí¼³hÉX}³!çÄ4 -Dêêµø•d;c‰KBÄ ¥â¤¤5rß(¥ž9ì/(Õp:Fï±®kiBÃ0>ÒwÛ• , Þ«µ@Ar\c5Îyªª*iž×%Õ•'BÓ°ÛoQ”Œ±ašFc —W—\__óãûwÜÝ=°;^þš%%|ÓáãöövåMRiZ$ˆ³—ˆ¨`Åà¬cͦ˜V1"r¨ëª@œ` Ã&"•MjqƬÜM-%­¾Æ˜ Î4ŒÇÈ0Ìôý†Ó”æ#F9UÜ¿ù«¿ »|…N…ßÿî-Ë7ßpýbª,Sb.‰\ q.hÄ_Ùí[‚¬Q¼ 8©3sõÙŽ‹6àÜBßfþøO>çͯØÜô¸W{¸ì€‰/¿x ffÙxÏû¸†ÃŸþŒÊÌ7ÿñ7oÏ06ýËãÓ 'ŽZ#ËRI©¬¤ÎÄÄYR];Ö&(ÛMG<Åõ¸ÐB“¹ú£ŸÀ¾§ùðž·ïßéçuWâÙoZœƒÊÌÍÕ–˜i:!ÎÐú÷Ü%EZ¿¦‡Óq]ÜÊþY†^é—XCÊ™\„ó4?ÇË…¦ ìwš¨+T¼¼8°ß]Rá»ï`‰3%G⢴#xƒ1Í«VKÕ²ºÿŒ)t./9\^òíoäúꊗ×/øøéÔuãnÛ..z´dr,lZÏ’*ãi!cÔ» ¥¨ôÛ 1M”ºîl¨Vô9 ]–ÄHáúæŒsZE ~×±ÝôhVb\húŽÓ|"ôž?yósÞ|þ%Ò¶¼ýö{>¼ÿ@¿i)Ú1œ¾øò†Ï_¿¡ÿ¿FïOä%á¬#8·.Ò‹mã0PJ­X³n#ÎÓ„VÁ5Žª²*T)‘óŠfŒë6]OÎŽ§óBŽÊ¦?Ð4ÇãÌçUéò=®û³¯™~÷=ß|ó{â›a>° ¶`C\*mëWy–Äî¢Å6•~ch›†ŸÿìkNO Ç3ãñH4ŠíZ:ëi÷-ÝM‡{½_›¦¬™•š¨%Ñì Ê XwéÊÄå¯ù‹ö‚¿ÿÛàö‡{0ŠñÛøÕ³P°R)jï0Uдn¤yè6-W[¿nw5=¹V\ û7†w÷˜ÓQ»/?çÝpüîÈ’?œÅ¶\#Á5„¾ã4|¿C,hM8oXæÁaÚ¶Ç7-õ9½ºà¼Å¦u².©`ÄSS,Îzû-Æ$ò<álÅxaGJY#0——— S¤Ô…Š`|XáSL8k©Å‚0•s÷þ[îîo©šÙìwÌËJ„ŒÙP–…u­Ãb÷¸)1'Dͺ\^]bœ¥”?„þ %Õºniå‚3‚–ÄÃÝ'¦q`‰3â û˃ªð×s\hw{¤ßÓ-pº?3Ÿ"5¯hŒAµKb³éŸÚJmB@Œa^Ò³j¹äµC•º¦AµRX#/"«ðŠ·ÂÕÕ–Z& ²ÛõlºŽ%.ÌSF1Ï™­ˆêšb5NÖŲë"WBhqÎa½åòjÇË×—\¼ºX§A2ŒÃ´’u¿ºûJäÕËk¬ï…«Ë ‡Ãª¾YGŠ™b,ÆÚ¿vÖüµ÷öìZ϶ól·m·ÈÃáÀÓñ‰q^0Æ¢ÀþpXhIÄ<±¿Ú³Ùmé¶=.4hÍ|üø‰¦ih¾ø’ÝÅeyûî-MðT*¿ýõ7¼ÿðJAµÒúëÖûVk1ä’×\—ó¨µÊz­£VYEãX¦eÍ™YG.Šs-âÇ‘X ”Õ{I±R«AŒ§"ëx¨Å^¼ ׂë6ÐoxñG_ÀÝOïî9>N„y¸{b)#ý¾ç‹7¯ðËþÕŽ«Ïo`ÛBÌŒE¹¾yÉëƒeYŽÏÁ®uì.v_¡>rw T6]‹5ž[\ØÛláø‰ñþ½v¼øÉ×è˜øö×ß!1TNç{b¬Ä¥ âñΣF š›Ï ã0pè=Þ”†„~TýáÛ[¶7-…DùáëÇÇG—{â9ãjàöá Tã¸8쨥P뺷cäp¸µ<'rRŒóhJĬ´m‡¢Ï<°®Æ–š§«êfóR¨%‚&ªzTb,óy<«Äý¼Ü”UXRaŽy…²ÞcY™\*}hxõê××—ÏÚ¶a±{.až6Ûž›—× ׸5Ž2%–”ˆy[Sȥз;ú¾Á™¬h¢m½\ß\Ñö=O§ã²Êµ}ÓѶÓ¼úN ªpýò‡W×`-Ãã‘RÃ1b]‹u[8/€ðãïѪxëy¸{@Œ°ßn¨Qÿ?žÞlÉ®íÌÎûf»ºÝe‹ƒÓ’,²Dªtc‡o,?…Ãz Öóɪ°RIª"Y<< €D6»YÝì}17y‹ 3‘{­ùÏŒñ äÕ‰‘"D‘²ZèÕìbÄ%A¾žÜ9Ūý‰s°Î®kˆb.d)yŠ,dÍFˆj–õ~©ñ©TGuNh¶ÖYOŸØívØÛwÀ i¦‘ÄÍV ‡†Ç¯îùæ×ßÀFþ…´B+øüüÄæá†¨›¿ÿŠx„âÑO’~¿«€L<ŸyûüÄßýî·³"ºX( ÖLÁ!š¿Dޝ„¤éLö«àîý;b†iž™¦•óyªNØ’0B!Û†Ö Æ"Y×™iõtV’ÑÅûÂñ¼°&Çç—O<>îQƸÎïÙÝløô—ª„ÚF`´f]+%$¸kÌ3r>Ÿh»œë*R Eªz´P”ìJ¢Uƒm,!®´­‚V³ÛuPífC×¶ݰ¬®.J!p!b•@i¢©~u# RÕÓK nî¶n÷‘™Ž'ÖÕ³¬ R bJÀ¶–aH%ÑlZŽÏOYÐ Šf([0Q]½HÛ™}Mu†TbðˆÒˆR*<âëo¿ ¦:—R¸Œ#mcÑ2ãÖÌñÓ‰5xrç9¬mùiúk o¯/ŒoŒ6,ÓŒ±¥t½´}õã¥,€z:Ä\}p)×|su»”cAŠŠ@ʱjedú ¼s¨VD•@Ó%1¢‚ÇŸfÆÑQ”%K[Ož”Ðþé„Å'N§gº#æjChz…² ýͺ±4Ûzûd&Š- ››[”’8wÅ£{ 2¡Et „‚ÞlÐIqhvZp\„ ëñLf¥¬6mÛn²c¼¬üùŸÿÀ¾é¸»¹a¿Ý2Ï Vµ4*#¢Ã;ªU< „(„, Aª×¢ŒÀØŽÕ‚›è¼B•sƒ;Ž#ùî·¿iùøo?qziZUAãÄ|\®%PÔ” €”)e\L„4á|¸¾m2F„((%)E U‡1šÆôl††ý®Ç-c­LG.Û\^ɱæªsR„¤+ÉDü• U%ÓBÓ[n[î¿Ø!t`gÞNG´m 9¡Œ¡•-!T§kŒ‘·ã‘]8Ÿ^™ÝÄýÍ=‡«žR·=ž¬$>ŽL— %`•À6VŽÇT¦Ù Õn®Û›À¸L¬Þã–™”F‚—épγ¿Û3yå†Iಾc`7 tm˺Nô¦e{͈¬ÓLIu=[b! H¹S+¿'B*(iHWG B±:GÛ4e.ãX©‰Ö”I¥Ф¬Œ­Dbòž$KÝ‚†ŒÊ „Ñ£…$zxúü™÷_}A·Ù {–àªÒÚ(è ´ëÛ3§ó‰Ûû[Œ6èFcw»ëñ4#K¦¹ÙÇ  .Ã*ØÊ-éÇg”1¼¼¼ý/OGŒÝð›ß¡{MÏýöž?ÿð'–ÓË™¼éATwì×ß

!FÎç•qö¯Ô %Ù]y=]ðQà€ãy¡i%ÝБ£§kzDT¬GžRؾçý—øÕ3]VbšÙô-‹ˆõ$(uEbª–¡hp…u­˜etÕ$L¦”ï3q© !XlS“‹Z[”liML‰Ï/Gž_^ëVMLc1¦ÃØ–`uRT«DcmMåH9à£C(I &ŒÑ×6uõ›Vîo;Œ,œ^_hzû/¸¿‡"¸IÙj~þþ—Ë™¡ÝõÔÚíz¤oÕdúb„byŽ/gv7£‚„²ÑÄ™GK5 ‘ªU§äj÷™Æ€TWMNZ”i)«£Hdœ(èeòì‡Rʬ«¯Ê¬›x};ònßÁ×÷4‹…yƘŽñé BD¤+&Fküe¡$‰¹Z7¤x&…ˆU†õHÇÆ@˜f6÷ ºÓ|õÍ×¼|yßh”¼W8~8òôñ3C{¨07eh‡ž:Y$toXO#IfÞóýêøã¿þXpkF}ÛqñíèÍíà Q9ßï1©n#onny=¿0»‰M·!EHÖ™r}ACñn$–(‘”<›¾aØê+î´Ô¨jªID£ ƪ+8/‘SÂy¹`m1Hj’PæWˆ¹B„¦ Øm·¬a"…RÝW.Aˆ×¸’˜3Ñy$kíY ‚JŽ©tÊJ©WÆYõýÇ›úÍ9Ïe¼ ¤âÐwÈ!%Ú®‡~‹ÖTaõ3ŠÂpءێéå1œçåÃG¶}‹[N¿ rÆ]<îÕ³Õ[d  Nm¦ûòùî–÷÷÷¬sdžÓ%r99Â1ªg™çˉݡawÓ±èö”àyy}avžoþþ×åîÝýïŸ>?‘æ…ä+ÆsY=] n¢Z¾þæ æiÄ­ >x”€¦mØî·ØÛ2'~úùG‚w<¾{`·Ûbº†ã©¦å$ï Š˜ Òhú¾GÈ*¦ DutS³)W_*U…Ñ”©ê]9PÕ z¼/ 49ö>!‰œÏgÖe¥µ­XÜL^ ñeFxzs…nÅÄðþ¼¼±¸™¡é鵡ï6”ב¦Í0t Ÿ1EâO#O??q{s‹Ò ¢€q¦ã»ï¾CÇ'.GÏÛëˆÒ5x$¤ ëïy÷îÝCY/\¦‰íݶÌ9°°Ò}ó þÃÿöø—ÿûŸùüã%R, }«jƒ1׋ÙÐ3Ï#¶ø(øøôJ3Xîì-Ú(îïüø§Ÿ8öäxx¸#º÷üéÏ?‘\AI‹÷+)‹ÄÕµßíXÝÄ_<ð«ßüšiœ8žf„´Œ“¿Ž °,×Ì{,l7;È’Ói¤QúúfM$·Ò4¶^¸[E!ss³Ãêjí¶V³¬ —Ó¥%ÛmG¿©¢UÊ#%1~û»ß¡·óØð6¾ps÷Ãôù_ÿ ‚(8?)ëÂæÐ‘s`v#ë²òáãGß¿§ív<¿Nd*PzžÖšÚT…à _c¥$F)ÆyEdPJ#¥ 9g\H2)Er.”R®ÖóD.‚3$ªÅE(´PeZ+ Ï89–!ãB&¦‰~·AȈz9¼£Õ=ÃM 9B§¸†rš˜žŽ´m‹´’P<Íí›ë錛Vd6]ËùôF’ê°ãüéó«ãòöÆ:ƒ‘ïVФèÙï[Ütæçï/|õw÷,é‚/¹Üóž½¼†_IÏî~Åáãg.ÓJ9¤’LS¡ÄÌvÛ¡àéé_}ùŽWTU’³ DEÓ  ,O×îïoTbö‡ŸF´n0Êa:…Š A¤ÛnéÚkð2ýîÀþæ?þë¿ñ«¿ûMSáÔBZœ÷H­p«ãææ9!8_^¢©!-)5гéާgr¼{KÛܼ£bž«¥C ØowÜ?Ü’J`/©8/tC‹× ÝüÛc;wï¡X^ÿù¿áÎ#;ÖÑs3ìP%òó~ çÀnsÃvc8Ÿg>}¼pØßs8|Ã<9æ´r{s x‡ @†¡Óô­á|~ãõù›Û/J*à|ÈÛ Ø¶#Ç Š+9Ò6 BÔí(‘e™b¤i,mßá}d+AÓY©5MQª µ¢m-k˜ñÞc›c É_Ê@Ê«T國¤P!ÆÔ¨D¥Á'@€¨£T) þÓ|‡Ö†aè±¶Áùpå¶jާ7¶ÛžFÞžŸpóÂÍí=¹T©]ì:^?þÀåó M‘Ì/#›f‹ÈŠDêÊ4_^1v·7Lã‚Ê–uN¼|xƒ$˜N3~þ€›æš”ºÖ®S<~sG´±“ûþñxG¿?0Þž_ÙïnÙé“%óe$®%+1<„€\Í|â°?ÐØ)ûý–Æ ¤h­ð>Ô7‰H¸¸RDƇ…àgšVq{·çÝô›Žóå\YM¥2¦¾ÿË\¦ñJ÷Lã¥~øÝ‚(‚a³ááá‘››[¼s,ÓLuƒ$8çhŒÅ¹…Tm/ùÅw_ d·æR`AkPåºõ©ßsͱßÝ•£ûòØý-Вוãó;‚÷¤à±¦…,H¡r›úaširŒ£Cªk;B*l6”R¼¾>Sr¬¥kv>„Àé8òvZ™¦À:§ßç$BùÇyZÉ1V„jc®O`¬¾ÚÔ«æÓõ”W`¯[WüZÇž”aY<…™5¤z—©Ö4”JªÏ‰¿… ™T¸:" BT«m𦯕](,‹#%ªN’@ýŸÿû;Œ5t]‡1 Z^O‰BJž¾o!áç…mÛW7£,•‘&ÑoZDˆ„Åqèö$AHÌã=´ZMk “P¶¡Ûݳœ3Ó9ðç?ýŒÑ>8Œ1|ýÕlv¥xßÝb­Â Šæ¦-ßüï~ßüö[ºwÄa`z{ÁvÛý]Vøç åâ¹ÛÜ0ŸŽÌÓ¥ HóÕ‘ª”ÂV¦ârb¦ßtì.,U±ÿ»÷ï™ÝÂZïˆDŠHî¶üæïÍ×ß}ÍÓÓŸ?¿0ô[œ+,sb¼š¦§i4OOO¤œYfGÈcJ)ö{non8|úø‰R21H¸Â©-!:R^y¸Ûð‹_~Òk$æãáñž—·gŒ [K?X±†¨R&ú@o •´½¨y$R5 ûj¯bäõõ»Ý–››CÔ)Mßnè·Õz}¹\XGȺ>NÙ×ê…¡åùù#>N CÇv×!•ÄÑÛnÎâfYc´¥±Íï¥ÿh­¡m Bd\˜‰~EÔ²®º¯‡˜JÍüçÌù2³¬ Þ'B,ŒóJA3Î+㸠¤"™ç"ÖTŠµØ¡ª%D…NÊjÏѺF(´Ô¬.àÖxS BΨÿô¼Ã[/XÁ±ú€0šÅ9¼[±Rr³Ý±NK…<Ü ;,Óù…œ<ý°#¯‘4'¤Öx!{”­qšÈ‰êŠçÏ3Ÿ_&fx=ŸxÿÝ{~û¿þ{n~ù-?ÿù|ùÝ—üúw¿áõø‚Kkù껯¾z å Ù7·TôäøüýGÓ“×Âz\h¤Dæ@о’Ó¯°„:WŠJá·.8·VÖm£ae·ï«Oj»aó‹o¹ùî[šÝ޲.ô›¯þÝïйðÇ?ü‰ïÿü}¿åxš˜F‡1!dœóLó„åš—¨¸Óœ hš†ãñÌËçgj† bð´]%™„¸¢¤í ÿ÷ßa¬â|>òüòLÛöÜ~ý-ë8"”àááŽÛ¯¿ Õ k,s³éÐ"þz×eZTß]Wêžéô‰Mßнû Tƒ•Šeœ™ç‘§§Ï,“c™V‚hmèºl¶o¯/\ÆkBðœ/#’JÔÚÖ™>Z¦©r†µQh­I1ü/eþÇzŸ˜+ÜA©ë‰[Ë‹œ«ovï<óì¡j >%|ÈxŸp¡°ºÄet„Têv¬(¼\‘©'Ž)Z£d厕R°Æ^+ŽªÅ~Y¯ÂÕw•DF¯ÁsÐçË2cÚ-;»ãõóLLm{('LåòãŠ.†3Ã͡´ÕLùBÛõtVKæåÃ'îAFG$’Du{î¾¹åé_þ™³»°ýå{øîKâ÷?2«Äþð‹/ÊÝë'žÿÛ'Jp™P¦'0²Ç ZÅÖiÆs@+ƒÝvHÛ däánòžpRª¶‚óeBu)V$M‘™<Ñ%N§7(‘÷¿xD·-¤Y0|ærñôÝ€{™ùéÏ8ÛÝÓâ >‚'—©z½´F K×T@Îõ—EÜÞÝC)¼¾<#J©#L‰×–£ˆ ^J…Œ¼{ÿwüÿñß1¦Å6 ­·|üÓ¶Ã#B‰nM˜®çÁh|ðX-ëËç㈑b•°ø o‹G qóøXW¬™Ï?ÿÈùõ¶m+¹/XÖ%¼c³íjÃQÓòóO?£¤e¿¿ãt‰Q u˺ ¬5¸ÑÒbšÌáÐRJ&æ…ñrF[A«zÚ¦)¹D”Ù %uÕ=Ê_)î!U¥Ã¸Úv•‚à)'bQ8iÚž››Ÿn-(mQ*â\íΨ¬X±ªúÂBõž+Y©%RÖËzÌU$•RÖXsŽ(™Ñ]×Rrf^<Öè+\X1M2 §óH®xX²s¬,lnZ¶Ý¡þ! <Õº âfÏúózÓ1'òâiôް üœ9ÍO¯GÂêùö»oÙ ¸•\ mש øÄû/¿àùãGd.¤Ñ¡ Õ&Ü*lG3ìÈ%²í·à3çùW”-ä1ÒXh´`Mƒ/”ª`[ƒµâóóseÅÆzZ¶ËBQ«,?þù'–q¥ozd”Xk°vËx9’bmZÊDDöÜÜîȹpw󈵖Óù…Óå„”úÊÞ‚ê†*„@Š+J ¬–à@ÍÆï}oy}}嫯¾æÓ§ìw7¤T8]Î<>>²;ìyy{átž¸ùú­[´;ƒœŸNˆFÒÚmu¡§3Ümë&ÀñûϬŸg>þð*-²µ—ÓÈt ”¨øêË/R2-3Ÿ??óîý à ?üåç¿}˜½óè¾!Ä‚µ¡@bEJA£!‰± c¥xbJH¡JÓt¢éëÈ¢’ëe¥ëÛÛùDÊ+R(´ÑDI¡¿nç IDATÒf@¡ŒD¸BH_”3µÛ#%²¨ ¨´®Dï=Fé+ø/£¤©u×õm­h#«}ÀhT’¡m¹L+n]i´ÅÍ<¯c(Eðöz¦}è@X,"ö‡ç/שQZÓ›ž·ÏG †”ÓÛȺA’3‡¦å]»åüãˆXä¹7{üÓL_!Ãw¬óÄéÍæŒÙwìßÝ"›¡:°’í»¼Ç=}D™Œ2 % û]K _ÑÛ58ÿWnO.ÕgTJd]Ú6ˆÓ…¶oESÉ—wß±éwœ^Þxy}¡oZ¸æºcX1FѶ¡ëâ8]l ¿\&–iE™š¸›Æ ÑW´¾R %kì³±š‘ö^ñr|Âû=‡ÃÍn`žÇªÅ|ûPõ‹¸\o•õKX`’#éŒÝõ•ï•=‰½½…eáåǼþô™ç¿|"^"û¾ç›ï¾ªYó 7- 힯¿ýúãùê›ox÷åüã¿!¥ä‡¿üÀ²ÔM[Óu¸àYÃJ×YLkqË™˜GŒ- › MÓÕ5×ù>_ÃZJ)f·ŠBH#R©'TJ·&‚,sĹ€ÑMõZeAHe,>qÍ¿@ð‘t]öH-q¾ Ú´Ò”²"„BIQa¥†Ãj¿H¾n®ET…Q =Í#«t]Çf3`Œ%ú9gÛ-7·7¤ë,NÑœÎGìÍb®l)¶ïIî™Åè o·õò% Í2‡ê”L^ÀE†í–NXZtv;w$)ÏËÏ?¾1l[v‡[@±zÏæpÃîë¯ ¢KhÑÝžó§gʺ°ßïȧ!%‚®³4£]E=–¥¦Õ#«ˆT°z×ל³–´¶ãåøÊå¸;ÜÑڽݱéöÌfaÆÓùZ ØmoPªbü—3Z)æéÂ<-¬ë\7%©à‹§Ñu#“R ¹ÞéRXq¥vìµ]‡ÎªflëÇwlw=¶ÞyVïi:‹Ï‘ãçg6{…ÞZ¦×SÝðè‰ÂÅ…öÐÃéŸþ¿á§ïFû¾ßÒ>v-x{~¥ë;¶Ã·w¤´ð«¿û–\ÿôOÿ„±=ˆ¥6,Oc;bˆuSVIˆÛ(¾züºR M½@¿¾¸êø•š’ ¶mØívL«c™=R”²¬+Ë´ áü6Px—)ÔËu.5c¬Fê†i]Yæ„‹… ZI´¶õ <Ê{ìf ‘ Þ{r.)ˆ)Ò4-ÆÖë@¡ ¤¬ÌÛi´BK!×ÀûðpOÊ…ãۙŭl‡Ž¶µ$QÃ7Û~WÉ!Â²Ž‘¶°í¡1œŽ'º¹!ÚˆÊ+.:¬2 ÝÀè=Q$ŠÕ„ieYêê²ï7¡‰®@©nÖç§gn6ïH©`Û8|ýK^ÙÝï!â8QR!ž Á½Bd;ôp^ètÏ/WxÀ˜ÌþÐ’‹$1zLc´Öt}OÛu/gº~`³?pÿõ/ø/ÿô_Ð:`¤`¿e ã8¢u}ë·2 =‡ÝŽ¡¯]…ëe$E”²"X”FëŠ4-¥6i­Øm+±{ž39'”¬–…¾ï)"3® BF° c4]7 ; ÅC®å:1Æ®IW¤VäsB³Å¢Ú…å2ÑÞîùóÿû?yûùL-–BW.Êc»†»‡;Ú¶ez›Pºc\Fš¶çòväõíRG—¢Y– ˜ÛîöÄ™– ¥úÁãBšw_¿çp3Tr¢Ô$ï±ãŠ\cMJÅñí ïbÍEIH‰uZ8Æâ]&x-’œ3m×PD…¯åY(¤Ò”"IÄq­®«Ê‹©52%¢OÄœh­!ÇȺ:”•2b-JJ‚(ÈkåpÉ•® ­µFʺ-XƉ¾kˆÁ±º•×㉰:Öiæ¼›0­" ϡ߃+\^~"-‰Æôì·[ÎÇ‘xªm»šÞ „DÙ†é<#[Ëf?”ó4ò6ˆE’´a7H© Žã„2–ÆyÆia'‡Ç(’éõkê|áîáKºÍ7M  )*b–ÄX¸\ÞêÀj†A3O‘uIYÓïr.¬«G[Ë<­×YW“ÐhÕ\!KÏëñÈå|äùõ3Õd¿Òn¾xw[Wž_>““¨®ey>-¤PB_âo«ðœ)x\ •¥t5þ¥È4O]"¿þͯñ®öW¼¾¾Öþ¿ìùüüdáþáÍaÏy¼ 4ØaɃ§±|fq ‡Ý-$øéû«áñpÏã~ËÇO¹¹¿ç²ÎHeéÛ^dÎã"ÝvÔ Ëú† !¸‚ ²Ýìñ.pO‘±­¹Îò‰»»[”Òœ/+Û݉!ÉR#eÝZi£QJóü\×íC¿%†BÉYtÝV¡‹óA j·b*‚HÆ…BÊ+*i|®Üä˜Ó5PHªbí8BàsdžW´èÑJctºfÇk tˆ‘”²\uœk&$ ´R’yž°Ör¾Lä%#DfYßÿðS\9O ‘‡Ç=oOR'n7_²Õ;‚I˜‹^n®îO­ q wFX*‚"(ºµfš}‹7™±âä)?e„K˜¶aJ™VĬQ¼þùëÛ™íý–nÛ ´Â-žM¿m¡Ý".RBª } )–*ñg…@‚æt\™]µÀ EÔXæ°Ý0^ŽÇ3o§ FZ’s¨¦Á-+/ó©Öb­c Ý´YXs$T3ªëX_­ÕFW]!E¬± ]‡5µîK‰BNmk‡^t)49b  21.OÏ › ŸŸ>r9õœÏRIô›†i˜ÙÜoØ}¹ƒy…äkDSud™™Ç‘uòt·ïyýþOä5q¿ßóëßýãÓÛí–Æn˜æˆ*-%(‚ Æ6µD&hÚæÀt(ÓBdœ}…$”Ìa7PJ¢Ä@×ttvàørÁ爂<ë2ãÂZ?˜míN캎uñ4Öâ]d~ͬSFÑ’¥é‹–Óv"†„LéÊ#†ÙOøt…\‡@ʵgPñ× „TÈ9ÕÞHQè»j°,1VÀ‰®Ì€ëÚXˆ Eà}D¾{÷HÛZbôÕOEDnûžM7àÇÚ–Ãí ÃvÃíí-ªÔ‹4sª§Æó‘Óç7Žçºm0¦%ÅÌyœ«Ósq$ŸŠDðéÓ'„Šìîv¸è¸L—º§±îõµÁv†n×¢­¥ïz†f@øL‹e|>“]a¿»£$øñ_ÿ•é§Ÿ¹œNÌÓD™vÓq{ËýÃ}í±K)ªW§i Ñ_ÛŸ¤bœ&Œ2l· ›Ár³ïhµ@)Å!µ`3ttCÁµ]Ën»#çÈÝã=ï¿þš~[gæË²V#¥* ¾m…yY×…˜=BQ™®ÀìVœ÷µÉÔ¯%ùðÓt}­hˆ%òüò\ÝY×ðNŒÄu­$Èk>C S¡ÖÂbmÏÝíùåÄ÷ø ïîy÷î=qZq¡PŠâ|ž*?ÌbÈXÓSbqÏŸ^ùüéÈt¬ë5F¬-ÎW¾ííÝB+r‰kùÛçW–q¡Ó-"K–ibG¬0 í@ ™—O/ä$hÚž Çã™R*n4'‰V] hEÓºÆ%)u¢¯ý,%R¬„TTµŠ PsÞ%C¾¶aÍ“¯[3m«‡JÕ m$ê(kl{S 8çÐ!ÌHQê¸Ñ58àr ¹ÏóHk²x”¨ÀÜ?ÿår š\EZß;>žV¬i1ª¡øH Ž,`Y×¢RƯ#©(nvÛÚ“–Û ˆ«CÛ çùÄëÛs5ˆµ·õ8ÕÓÒXM …8EvÃ4{ÚÖ2Ä\.oP2>>¡¨å…qu4º§ø\iz]àåóéŠÙ1̬P$ã8Òµ¢õ ½ —…®i集”Ûj¯nBT¼<R°i{$°6ˆ"˜–µÖ”:ÿ"JdŒ‘XSW†1GŒV¬¾6¹*¥XÖµÎî­ U¦’J0hÑÔ—‹»°º…®ÛðpóžÓë §ÓgºA3ž;†kǺ’!2Å`mÇùÓÏüôÓ¡éÍ ÏŸGNo …Bˆ+Ö6Û–yñk Ïr™+s¤¨ª>À‰DÖ—û¾«±òf7Bö¬çÈøö„‚1ˆ”8¿œè†MËÛéÈù²Òuý°¡dÃt ÄÄ€mm%_j…µ‚’1ø2ôn…âªxg¤0µŽBhbº¶¶æDõ×Ö€Rò£=­jj‹oªLà¦Q· Jak[¢çm ú|¹PJÆZËM޶5Ü[BöuM[ ¶1HQ‰ýJ€V‚š»ÝžË¥Ö>ùàiLe©ööVw…Úݵ=Z7¸5°Ûmhš–ñ2Óu…×ךþ3»¶([giJÆÚöš÷Œ—¤’JL(-¹¹;Prj„Ðh9 õÀf[ ÛˆÌåt"§Ê€ )2Ž–Œm;Ú¾§ÝliDƒµ œÄ´·„%``hH©p9/  RB®¨kÕY_·<¹£ë¶{^^žy}¯å8™àêÝ)—LŠ‚"V[´iy}{EMkõS_9EMÛcŒät|ât¹àVz¼§i$Án·«+k™§çj)fÌÝ@i„ÐŒçzmÛÿjŠ››|Xkb,®xŸ¸í·(1àפ„Š)L˜VÒ4š¬3A~ùÿ V5üô—ï9/lv;Ê%QT5*ž^ßÑסœ*"ÆXx=ÉEÕh€”(#±mǰ±ìwÕH•¹y÷mƒ ™Ç~`> ÔëÄ"î¥{Øpz{f½œØm »‡=ŠÂ8;ºnÇpˆ)³¸‰Ÿ>üÀétáñá¿û¿a;lðÞs¼\˜ç¡Lí-é%W¥zMžÛ»{š¦a^ó¼b¦”Ú¬%l¢¸L‘¹he©ˆ”)J¤h)ÿÖB@h‰’êom¼}×!¬k®ñĵÚY¡›@w݆——gŒ–ĵ…H|ˆôÃÀºxlÛÕÊ߯Ö%0gš®áßþüDz̎®°ÆbƒVï Z¤‘4Bæjâ“°Ù ÛzáZ–¥ÀJµ5ŸoˆšAÒ´uÅ7ôKX³A™DLޤ"Óå„m )xº~Çx|ãÖ¾U­Êo/gŽ—±þEb½VH„ª ³Ë<ñôTgéÆýn”†y^EÔj¶+®©—ÕýnϰÝá^=»ÃžË¹z¶ŒmÑFÖØ¥Žl†ïO²ÙpøòkÚý;š/þ”â}÷ßø·ÿùÿpšN ±¥én1ÝÉ ó#T¦mî{6›î.u¦q‰'XçHöYy™ÖgR8³ÛYv;…Ôž¶oho{¦– ÍE®|û«wÿŽuvŒ§ú l6¥ˆ ¬ŽX*wÖZ]q ³ó„p>’reJe©0¶¥i*ª‚*BÉ!CQÂj‹–•\Š$yµ°G`¬¦\KA”d!‰±Žº(i 1G´[#w·w\Æ ïÞ½£ëæiâ2_ú¬¤òÉÔ‚Á~ä—›oSæi­X“ų¸jÞúâñ=JfbÌL£ãææŽy ”\(%±Ì+Çã‘Íf‡[%G–åÌáöc ~úˆÔ‚§§'¾ùöëz:øŒsŽ×—7úÝPË×T;t”UB޼¼¼r¸yǺ8†;Åz>Ã5>OÊ4Õ: j²«m[~ùËo9O,óX-ŰŽXR%í•‚Rµ,ÅÉü7$ä´L¸äë¾¾ß=rssÏÿð=1œ«®7h+Øl{îîêÉJL«Ù6LîD^js••Õt„uY½YA®-*æòÛß  Ío»·Ÿ9>ÿ@‰²EkKòµ?ðöæž¶i¸œF–5T½ä¯]æ%2l:n{6}CX'LXÁ¦Y—X•甉®f´´P]_–ífS뤅 怕5ëènï6­A ZihKôñôF×´<´[–5ñò¢8ŸR]—ªz¹>‚ŒÓІÕ'„ЕU•åµ+2“c…i%‰¡”’ð¬ìÛ¡òˆçLÊùªcTºdr‰|mœY U…u¦œA™j’}zzá—¿ü)j±ùÍÍ-)gžßžÙïnð!¢uò¬ˆÖZŒiÊ”q\ùøñg¤îÐÆ“Ba^ooo¼ÿÀ0 JI4¢dÅ8!ÁåRÕÕe©uÁÖ6l¶õAhDˆ¤™/žÿŸ¨÷ز+IÓì¶É£¯rwˆÐ‘ºD³‡\‹#>Z?äZœ°«k»«š™!pyÅQ&9°›Õ3Ì\÷sÙÿßÞ!êºæöv(Å£u)G- ªÑ%çc¯m6;Ú¶ârq/|¾¿§³q®p.Ó™ Ew‘e>ñõ×߰ݾ0_^¸\.8oX}¾À åN)h‡ª–(]d5‹[QZ‚ÃZÅfÓÐ4–Wwox÷ó¯%1“9 †¾ã턼ú‰`ØVHp~½v$Ì–åX¼'JKŽ1Œ³¢Õ\äœÙÃ|!‘‹ðEIÆp"\÷ÎeNÑs:ÍœbŠHJÜÚZCc†¶¡6šé|bOWƒ“aZ4ˆ %$B ªZeÄT‰®ï¨7e+¶âÖ3v3 É¤ËÂ2­l·]ñÕ‘@'°|.õQ)h¨™RAÎ+}Wq³XV…s‚Ë\ºÛ)÷xŒ‘Ågiv„˜hš« 9Œ’-AP)‘AÐÔFdmYCY¨kVB$ÉR\2Za¤b•±:ÍuU=ëËeáãû_ñqÁVš¿~b¿ßÒ·OÏtÝPÂWÒ‚skÖÊðððÀt>q/H­ÉW®Ó²®åÏB1ÜÝñ½©9ž&ÖÕaM‹5–ÏŸ8vœ/4MGŠž×¯ïJ€Ë(ú¡%†ÄÝí«ÒO«ÆŽÇgRŽ U90ž&¶Rb­åryÂÚŠ”ÚÎ"d¦ÛtèuÁ­y\9>Ón¹¹½e/Ÿ…­Ùm;tuiÆÌå2^æªì[KÛëÓËËꈬl¶7XæuÓQÕöú†±œ KB³Æn!§Ö—RÁ¼~ü—ÆŸÙ[›?gN§ãÅBdNŽËž!ÅD+»ý޶+¹8mJÃå<ƒ’à=Þ9t,ob'mIKÚÝ-õo~ ëÄéÓ;êìÍœ® ÍÛ/àå 1às´õ•G¥¯ì9ô¸ç6$ú¾e™9fr‚¶.>–u*óe ¸¨XÜŠs‰e)­¦©—‘uœi¡¶-‡}CFb­Ìk H)„‚ T[YU+)”i!!21%¦u¡Qèiö¼œN(-ð~¥ëš«€²"$ðÎh¥ó2/˜ªð€šÓid»Ý°†’a)¡uÍ´ž_N삪¯Ù+Ã4â|y.Ñ`¡/eŽmUC RF+8ŸžØ–çç#µÜn9_ÎÄXF¦UUr-щl]±Ìgª¦BH_‚ay¡i{–Õ³Ýv\>Meñ—!¡ñ!S7=V[DœÏ>üü ó¸²Ìž P-çÈ4¯X«q>ór<#dfu 9KúnO? Wa£á|^xÿË_y~©ë%ÚÈ"žRB­”B)ðÁ_§Q’óidûõmq{DO •© FÔj…ì™>³m,„ÏüçÿãÿF,‘¯^½áîî óñÌé42Í© } *.¾tÔµèJ˜Yɼ>J0žŽìßÞB LÇD„äËzf‚ÉÐuÜ~õ[ºWÿ ´Œï8[ÅBàV[./Ï  )J˜))dSad&ûˆèžœYYˆ×éÔ›-ÞÍ´S&†HÌ+óâèš–‘€™” ËÉA(}Š® nÇ(œÎˆ<Ó·’íÐ"„/Õk"9&rð9…(ÈjCe*+˜Ï/Ê1ùo ™Á»•¦h!$]·%¥™ÊÙ?çˆV %51¥<Ï31DÚºBdAS[š¦æ÷¿ÿïß¿§ïêÒUVš”V’išè‡öz1…¾k™§'È ¥uÝÐu[êºB*ÁñôDHÆža¨ñËŒ¹»ó £Šçûñé¾mhj{¬4mì*Þî¿e~|dÏøèéw{$…@Ñ -ó¹Ì®o‰d†¾gg\.7ã}ÂV óRpùB@J‰q¼0Ïe#›ràÍ›7eô²"¥d_аÝTt]‹’§ª-mSŽÑ•XƒÖ–ºë ³7+Þ¾ùŠºîɱ4ÏܲPKÎï9(òâpÏ Ï?ü³¹éo¹ë{òxæóû÷ø¬ÉÑ”n‚kQµÅ¹@¿é ÒÓí[šm‡¸©¸÷Ža衵 ùüLJžÙO$1À ;ÚÛoéÞüèÿXjC¦ÿ"Òè•”VZ¡ñ— á".8¤H©@™´8‚÷W‚/„©ÁJ‚á®APñøð#F]¿Ñ³G+A]•Ñc¯‚˜Q²à>£‡¶UØ7{´4XÓ” VÔ„ êŠ6õÞg]$§B*MˆS5 Šü§0®¶*Äs!%:Ep. dyb—%¢•`³Ù"„Èãyb]Ö«ƒ²)çP•5 ]‹1öß;ÍBBŒšÕ¯4mW¢â}OÌž$FMTßu™Ç‘érA+ɲ^P U¦® näŸOhU1l;|rhmˆnåršé;C ™ÅߤÒ$0Aiƒl+ð™ª+ÛÝãéB_7¼ùºÄ#t†‡ûÏ¥¼b*”0åÛ_®T•ʠжBHœ/ BœÐÊàœƒœ9ŸGȆ¡éðiBÉLUÁþ°e;ìÈYQU ýæ†ç—'ºfCLAäæð¥ÆjD\ñI#ÈÅ€+m‘ªærãGžŸÙ×;n·7\Ž/Ì—3š©ìDRTZ“ÂBJÆ*” ln¢ l¾Ø0-Oø: 7†e¹ ³ Ú4¬Kb{Øàµ@ï·T‡ßAÿ@ܬݾFóÂ2¾§Þ÷hûË„»”­y<Í ›W·È,ˆç)2V•î 2CŒ¥>°¹£Zú®æ2.d\YÐe–-)÷ /Aш%h*Mª¹ )eja9]<>¬%Kå¯.qÍ'!ØZXcX½û÷§V «UÙõ Ñ9Ãù|b³­‘Jc­DiÇ#9+–yÁV–¦±H•¨Œbv3){>|ü€Qå’$¤ªkHïË<_Ê2ztÎa­Eé…®¿N¯žfçVÏl¶ ]Ó”¾sÕðôù ¥%VINËÄÇ_(#¸½; ê>ÿôs&#yyyf¿ÿ¤b ¶é1u[4fy%‰ÈËøÂèμzû ¯¾¼Ew—_~%¥•¾-z#ÆH’(•È!…ë|ÛÈ0Í+JZlGŒ±ü Sææ°C]p;¦ø ­µh¥§•iZ‘R“¤`™Ö¢ˆe{+DæÌeœ°¦&&Pº¤V×eFA¸D~}úLÛWì÷7œÇ¿Îĸ°¬ m½%8_¨ÞUÑh#¨‡Ý‚ê$¢2°±¬îÈëo¿DdIRä< ¯vÌé‚n{ªý×°ûð=)¿"å))j1 ‘Š%ÎÔM¹TÓØR­U rœO/ȇŒdŸÐuÑh- náùñ§‡g†ö#[vû†i¯Ñú\Ü"2^}„ŠláZuíjCS´ÉÄYÖ™(Jï]« çz.éekJ0ð|™I1Ðu‡,Rbu^T•BªrGcB“2Ee*D¥³R‰œRÙÖR¢ÂmU•{…€®·(' IDATl†"e–åBÌ\çö„‚"LÕ!¥Dƒmkd¾8ÆË‚Õ'VÜ:#•¤o›ÿ¶#AÌTUÅéxâîî¹*#PVàü•`ØÙ‚Éñ÷“Þ'êmGÝõ4û[Ò5†¬6=¦kˆ"Ñm[67=¦†äÎ|øõg–õ‚óžà2⊲•Á_árúoæÚ âÊ^5ºDr–¬nFJhºboÑXi»†[×·x¦qA©Š¶ëÈIpY/%Ï# Ú@eªÒ6ŒŽ¦Ùâ‚G¤p9—8IJ£,Bн:0ŸXÎŽMÝ#]$šÂH:ïIBqûæ9T o6||ùÀ·ß~}Ǿ­XŸ/TÛ-~¾g:_è¶.~$µýá- ¾öH±A^&pGÎ 9•ÄpL÷Uâ$dI¥pïgܺ"!COÇéüD]YêmËë¦BÂàÆDÊ®ÄhXmH¤Jh-ŠI8–e¹9WRÌ4µee)o~«É2R7–vIÌ ¤˜YÖ ~òX£YB$‰LH9ãœÈÙÎTZȔ“öÞ¡TŸ½w¥ø.#—ó¥4ÎGrʌӈ±Šýn‹Q%2‘M>¢¢±²E¡l}ËøðDN‚ºîxy9a´%Å@ß·(e®º+x÷îGêªΣól·{”TO…a2Ágv·{ŽOTZq8l™×asð,~¥ë÷P•xó"J¶ŒÛíÀáÕ¾û‚é¿ýçñ‘¶i‹Ù4;6}‡4çi.¦«t>猠8Ë!bÉI‰RmÁÞX…Vž˜u×P7-Éy–yÅ;[=]R5…¶«sÔmÃÐhZÁ4e†mñ7¯qӊɦêŠj9xš¶ã«ß}EwÓôÔ¯zN?ÿÈürd³ß¢­g–j œG¨$»Wê?}Ï7§Ù—Ik¢²-¬‘é¼¢¥Aí˜QB²éAök"!"™@ ­zÛò 75>jrVX±@UûDL#¦©éú½=À¼QÍ2!º*…$ÒªŠ´ 5/Ï¿–ȇL$AeJü,¡„"KIÓTW`"¥ÏQ²Âè–eÁErò„œ‰©@餔(4!|Hß* 1'ü³U…ZÊÂ×Jí}È1–î,”ËŸ”²ð@§2ö[C¤ßl©*SX¤ Ú¦)æR ê¶+uB%”üU"S7-J·Ä5ÒÔ=Ó8aDI[Y¤’lºžy<¡¥"º@Ê‚‡‡{”„e\è·=IÀ8-/Ù~ûÆw?"ªw>Câæík¸»!9Gò+òö–ZJXW–èÉF±zìÍR d­4nº@òÜÜ Ü݈1Óö uÓáWǺ”Øüºx"œ >Ó‡) ÃÆàýÂ]?ÀDUõ,‹g<Žh-©+EU+žËø„55Mk1•ÆÖ’ÝÁ"EF X£ä8ND"R+–óD"²,i5UÕ0 ©G#>MÞPXl¿Á/‘1¨Ûž»ï¿føî+еݳ¬#ñüB× 4ñùBö‚¬CuóŠà^ ¾/{U2פìË0#ÐP{´²ÄxN ?³¤VŸ¨º®Kl]΂||¦©Ê)¸‚Ó4k&O QlÛQO‘yš˜Æµ˜ŽÖ„󄦲=¶ªPR—ñ¾–¤¬ #!å\Þn"¹„È‘ÁØ«C2EÆq%ðn¢­*lS3O>k%˶R+ôß…Õßæð)Ót-çëW^§Sûý–”nuŒ¡èhc.ÕDSÙÒ4²|x¬)¯¼®à°E'º®áøòLð ïõmÅ2-xï9ÜÞRÕå•öÓ_ÀVšn·åp»gvžv»ÁÌ ?þð3_̲—Ù {¨`]ÕTfäÓ4a/gtß\¥#uSÍþùŽ/|z÷žu ‹iÈ$|ð ÖV"ã2h«i¥$ä€HÐÔ–Å{l¥HÉc@äâz€ŒŠè"!Pd”º˜ü!!•d[ÝpØïiÛií¡#Ï3Ú6LŸŸÏgœs´Jã£C ]hÝ:òüø™‡“à&í±õÌ—ßÜÒ}ùŒ —OÔFóûiv¾ûûß!¿ú * ¶â|:òþý{~÷í÷Å’{^y~xæ_þéŸùò‹7äèo{ýÊ"1@V@ R©ØRH9ÖÕ£UI2"ëËé#]S#B*˜iBn6˜ÃŽà YÄ( aç‰ïyõõä#9¬œO#˸I,^0Mžœ5R«wŽª6daÉ.àbe‰Þ³Ï4{BV,ËBpìBfZŠRÍ­3íë®ë9>ž { ™…5¨ÿí»ú?Ô¢%†õº”Ê´]Ëù|¾bO$}ßñÝo¾çx™¦Àñ8³ÛÈ”îtˆ+n©´¤ïZêÊbkC$Ç3Ç—Gå\HÌ4Uƒ”¥¸ôþã~~÷އ‡G´2tU¡vWuÅyšé÷[Šªn麖ï~agÎç3mÛ mÍóó™eYi‡-¢¶`Š(žéÄý/?ÒHÁí›7<½ûÀó§G¦—3*KrS7hm©êŽó¸0Í ¶©iû¥ kp¤œé6=!92 A‰†H©°º"%A ‚ºêH!ⶬè†q=³¦…foi÷-÷þíoKUi–eÄꌸbêý8=œ˜Ï|\Ð&cM¢«@ÉHb¥¾­¸ýú†Wß½…¶—‘Ó¯/œŸNÇ YIÞþþ[Ì×o ³`{"E‹Ü´¶i¶Æ-å2s¹¿ÇæL_Uhk°ÛÙ \ç­ Ìõn!˸V”H½5‚ª „Â]GíQ?³Ý)ÜxB¥À§wˆÎÑìÜùL¦Bµ†Ddzzm FK4óË#ËìñA“eÇÅ€óÓñ)ð§¿ûn]x>YB$äÌâÊÔø$ˆÙbiò9ŸÇ¥¯B‰¶H¡HöûÆÖŒãLH%a»®R)Ñ,ËÂ<¯,ëÌþfϺ”Q]‚/—šÓñÂËó‰÷îyýê O/MkóÌ<Ùm;vûž#¶3¬ÙãÒZèoÀTšæTÑŸŽ<=­œÎgÚ¡+=Šº'çÌv¿ç2žÚ}9Z­ËÌæ¦ÁDUΜRa”"¥\.xRg|~¢zu@ëbƒ‚•7_ÜÂâÉË™»¯ßB²üùŸþ…ˆÅ»cCU<Wr4å2.(-iÚ–¶ß1¯Ÿ@›šÍ2;”ŠäœY¯×t}ËÃý¯¡Øß¨ÚšÇÑsûæÀoþø¦¶Tw·ÐÔp>a« Q7¤q‚(Ùö¯6a>uÄn^¿¾EŠLXn»×toï œŸYÇ‘ãÇd€8ElSsóõêÛ-Tº˜NCb]gt:ÓõCÑûÙ(îþø f‘ëB])ü2aÌöúfË\Èm¹sP‘sƒ{ *Ÿ]  ”ñ'š®…eFªÒ  —'ŸŽl¶+Êð"“i7[âôŒŠ&WŸ¨jÖ€·|üôÌy Ä䩬âË/¾â÷¿ýŽú 1……ÔVZN—cJÈÅ̯¥%]@m… !5ëêùôé±ä&çó‘¶ß¡‹ý3’(‹'©$çK+­QÊ`uaO}úô‰œa·Ùb”áéþÝ~CSkªªfè‚d3*ªTbä(M>ͬO+u/ÞryIôåõÝ7l{‰d*¿€¶x:JáB mHUj[@Â¥ÿ0aMÅÍë|(Œ#–3ËòLÝiœ¿0±rx³‡£ãøë':ÙãbÀ˜Å/\ž/X›ËÆV+ŽÓJ×Ö%w%Z„¨ðáBÎk[B(«à‹úLËÂÅMÙs<¾°Ù¨¬EÃÓã=R þñÿ3H~þáúK"'Í~»'†ÌxÿÌùxd:Müæûßpè /zå9Í|ówbóÿžÿå¿ðö«?Âây÷oF¦ÄééA$­ž¡oDo,âÐÀ݆$@j‹^a¼?2^ØìjôP—;Œ¢ˆX´£k[–y¦éö }±aeOHb|FJ”†-ÄÚ~]ÞR“iÁ32.Äåˆv¼þæ+h,Yž9~¸Ç­‘îí7±EI æ Ý,¥"kƒ­„|fZ‹/fWïf·~óÛ/‰~&Ä¿ž&+æÙá}bä‚ÏâÚÐt¤TvH)z"ig,¡ÁiZp®¼”.in£õÿ¼c¤¶«å¨Œ±†¡kØîZÚ¦T S,˽¯¾ú’ãÓ‘Ó•m1RA†5¬ÈšbvÍ *)ÏŽ <îãüùŒÐ‚®íØív(-ѪƲÙîçÉh¦i%QúÜC߃_Êò+g67{ F½¡GŸ™ž¨ ê¾*”ï݆mkA¦ç‘quŸ‰!±ÌÓp¡”é­­XfO3T˜z@ÙÒ–s>ñꑞ¦@ˆ’Œ „@“M«hšŽ»»·…½º,„´Ðô³éÁdîî^cMÏtv¥¯±¬D·°Îräxÿ+]eUf?l°!Üàí~ Ôüóÿõ²>œèu…¥BºÞûMMóæ@ûõ[èZd T€b{÷†÷ŸÞsô#¯ßü—’dÍÐîZ>üø¾ÔEw=]Ýp¥?£qˆ¼@rHøVŽWÖ“BÊÁ¶Äºy!®ÄpĈÌt|ÁÍ3»/¾«^Ý8~áù¨•(Éh qœðçˆÒ-ýnƒ­®#÷/„$ˆ‰k·;¡›šé8"•%FÉ8­€AiË8-ĺŒc ¤Àù€w±@ó¤d%”=UÉægÆËÂRU†‡‡gº¾*ýÙT eÏÏOܽý’ï¿ûŠ~f¿ÙñÃ_bÏÔµàp8 m$e‡çç{’Œì̾˜J¥Eu-îaDÖ5¦õ˜¶C(Åe™æ§ó‘®èí@p[i^ÝÞ2^ÎÈœqÎÑ9ÇâV‚+|ÒD&+‰®+ä¶ Õ`øðñ2õþ+ZHš¸|Æ/’ÇÏâ )¨.ÈI"úÀf×1Ï3—y,žnS#ÈOgܲ^ÛzEœ.+Éf7ð›ï¿F™ 82‘uJ˜Ê².è†ïþ鈔’Óó™Ûýè%ïù@X¬®pñÈñøÄyôÖ·_}ºcü|Ï¿üç¡Ó5M ˜Ê›þææ†n_c^õBVÔ=Á ´¹Á8?Q› ÕÖ|ùÝ×<}ú‘/ÿø‚[‰óʼJTý¶=Ù-,~†)•ŠDN„àJÃŒÐG$âDªeQU †L³»XÀÂhÒ4Á§#b T¸´²¹p¡x)ÖÓ •,i‰0c‰æXÍo¿}ƒñù‡i™J—;R(“ecYøi…ˆ‘‹K/ÐÕµw„è‘2•‡C(RÌg¤,`Œœ ï@‡ˆ’4Œ£kÆùºBˆ¥Ð³Û œÇßaTÅ«› Z”Ì<¿‚²à3¬°œ9?Þ#uE»©@ÚòÀ…ÄøüDšGÜñH¾,µx· U’5áa$[‹È ›Í@”P5-kŸÙ¿ê1óøñDL‘˜%9bÖ8kù¢ŠQ”8HU³‡šàüòž¡P†¡g]ÊdŽ/Ol¿0m[ÆÞ•Ä»€õa]¹(g»Ý–®Ý€5¸S.[ãåHeK!ýr^¹Ý½â²8~þø\ˆ¬s¹‘RVüÿúú‡{¤˜=M_Ñnk.Ë…Å9ŽÏžåñs"®‰V´¨ª"ûHN\¹N3>Œ†5{”›²ðL×Åá}@kKH¾¶• :Çv7Ð4méSg‹µ[îîÙì¶4]Ǽ.l÷{¶Û —ñ\6ß>Áñ‚x$¸…Íþ†´D6›žñ|"¥Ìn{àôpæå2ê#çÓˆ¯àî›7°¯é„°²Ž+™‚ØQRQµ-Þ/÷Œª<šSÙ3LÏTqFÓA3púë/¤9 0°$^ßþˆeŠDÈhÓC #\5:eÖÇ{ä äÌ_~ú Ͷçío_ ž‰>²\ÎLçÖu¥­nnþYòòéÚÍ™c!ÊÐB»ÅtºØy¾ϾUl~ó}³áÇü3!zÎÏŽËe!ûš,)Hú¶'çòËÜ7†'·P™Š¸œ÷ÔuÏéxº†Wú¾!“þ=‹•cQ_§XF6¥î¾ÛîŠ×^)Ëí¡Ãû ¿–æœ5-óò‚ žÏŸž‘Χ7ýJôoŠ©(ú•¶k©EÕ´å"ÓW -ÇO¿`¬Â*Ï8ŸiUGVŽÇ—mÝPS#›„n[üˉz3ðËOæò’‰^ò—b^óêË|E •nº£³„¸àüLLOe' ªÑ{A «*Úª§±¬g:ø°@†M_3ù™¬ í,Zf¦ñ®õI-%Ë|¼–µ ©¼k-ÃЇ›”Q`Íw·¯Ùì¶œæK©^V M7PW-Ó|âür!?=bÉß|úø‘¶j°•âáó„’°úȇO÷ø,ˆÎSU™Èn?ˆ¤°®w­õœ È¼÷ʼna‹Q•x$>]P)³o%,œB%˯¾&;x|øÌ¦ÞbžÏœÇ#ÊZÚ›;g°m91]Nh]!ªæO¤1ðµävè±RB ¤Iºî@¥ZBZ©‡;0o )v›Ó/?`³çÃûÜØ¡· +ÂHº¢Ý~ ²LèRíÞhû¿þòÈñ/."ÜÝÜWÁ¼DtéÉb²`ºŒ—ÑÊb ïêkALS(ék®hÈŒ2d™È©h„2êÿýÍ*]nEp ÆXš¦½þÀË4BÍé81+a-?¾ëÈ9ã¼'åÌánO¿mÈ"ñüðD6» ãåBˆá°Aõ5˜Œ—ŽvS•Gl[T’øãBœáñá̺H%V¾ºXzà¢b<;¤,²D0$Ÿ I”0ÔUƒU&7„YbèúÚvBsÀÔúj'JX+06Ñ6u-q댖+2Ckiƒ-g¥s¬u©ƒVÖ ®Êó<õ®Qh«¨ÛšJð‘, †(–ŽÀt¾ÐT–¡H1|EŒ—‰¿~fEâr9ÂX#zËo¿ýš¶µ­¡HpdV…’!‹„P³ß"Œ…,a Èqa|~ŸÐBO'X="ITßÓÖ5JKp+U*¢ùøtB¡Éc`~šÞ ¼Ç‰Ëç#?} L3wû=}Û ¬)R—¬±û¯@¾AÒñt|¡í„îË¿§îP!òòù#¼þöèÍhÊD˜Fï²/uOw÷š~»Eð³#‡H_·¥˜Çëÿ=Y!²ááó3ÊhšºÁZK"±¬åKç*š#ÇŒ_9–e™ïeb.“ªmß¡ wGq:­h•é›–i©*Ͷ¶eÉïárYÉI£4t]}µÓ¬ØJ)zÙ˜#Æû°‚éeb·ß3¹¡ 3Hj8¼ÞAßÁ´²¾œYŸ0©â<Ï^¿æ—ŸŸñ)P76üûêâõ_lDÇãRÆXEmKB7¤ìš "UDŠß ÐV„#‘,VêAÖ™#!,d ²–¦ÒÔJ"rbžŽ¥‹!%¶3Ló‚¥p5Ï'æùRbúFßu„¼ µ¤n{”¬ÉA"›nÝ™u½ räáóg6]OS[’eY¸Œ¦n©›žãñD]Yœyu8Pzˆ¡|†I|!•ø©ØŸ4])¸¬—Óħ?ÿȶ®¹ÌgRNl¶êx¹Ffh—™,}eP²HåY ì8'Æ50Í ‹s¸ya=^—™o¿xÍ›7È+qZеeI¹ë°Ù€Þ”Å_¶e7")ŒÝI>|økªíþF¬°Æ"¹…xXgH+Ț׿µd§ø1ü€_%n™HiE_­JZH†¦¡¯¤µ[¼{µU,×u…ìR@ƒ–s©Yp=>“«Ohµí‰©¸æeD+[¼DB \."KBôX-úï.TµBW5US#uF¨Zâ ÔMCZÀ­Žv{ Œ'rðx¿ û¬†4sqÊÔ„”¹ùû?0¾{a^ö›B·²Û´O¥ÓlmCÓ´,Ó…y^hRi¶#ÈHR<žBÒøÉ”šè²Ž,‹cè5B'^¿¾ežFî?ÜÓT…Ι¦V¬Îae‰,OÓL])vÛq^˜×HÔU‹ó©4JÛÂÅÍ¥¸4¡ï+‚[™¼c]gŽ/,Ó!·û=J¦qůÇÓ ÍëÛ×Lkäqy$W’èVl]xXaKÐÓ—vcöžÎV¬~!M ¢¶¤ãˆl:úa‡k¶TR²y»ãéò‚®¡}³c¹áóO¿r>VLÖV¥Y°,+9)æ5à¢'K›ÎÏGŠ»ýJuåAqgõŽ0N[Q·}yXYýÈv»g<ž¨‡n d^îï™/+¯~÷å÷©[=°"˜Hþ‚,ýÖrW­kð†ýÍÔÿÐóé—ÆvFêã(š®â2&ªZ²¦‚Õ¡‚º«Râ|>ãB-hU!¥BKô}ñŒH‰Ñ“‹h)Á¹¥‹Œ\J®®´€÷+ãt"zJtW)š¶&°•ÄX®¦–nD¢ˆâÏó3ÍТۆìJsí/?ý•ÃÍ–öv(û #¨E]5ÌÇqæ¿ÿùpWCU BYúNÐ4-ãT \ÈLÊ‘i]Г¥Û´´}‹5[ôuçqš&ÒìXÝŠó‘ÊñIªÄw¿ÿ–ý«i¼…ãò2¢BÆØ–ãù­%ÖÖÄ\’È Ò kJ§ZXÅë7¯¨ëºØ”NGæqB+Šš@hje—‘ÓË !,¬ËˆR7>Ù J±Ñ–u x±Ò@„iZKŽOk™ÕGlm¨Kò±f„²ä—…ÕG¢ ÄÈÓŒÚï9|û5ã/¿`‡ ov=ˆÎGû§÷űÞÚ á2£¿|Â-P¬®<JKZ­ènÔʲ6h­q!Ón{Ô¦'èDµ¶4yQtÝñ×ý+¯ooÑkÑÒÙšœ¡ßmJü?¹ëE7’—#1Ñ­ †€Ð )+‰4Bck¶ûžív‹’åýJ ÏÓ3AÖ ÈËZœâu¦s¾‚¯KÌ)æÂ’RJâC~de©„$&‰–Rà“CEßÕ´e]WΗ'ªNâµgí]×3ô5.\¸9”ûDŽqž¸Ù¼“a]P}K[ dXý¥,ºmøîïþÀÓÓ}¡îåòeÑo,a^¨ä|ÿžû£F IDAT¿rÇýÑãÖk$ë:"È´Ý€[3ÉmÈ• ä‚yw>²ºHÓXúÁP 5+«‹h±h)HiáööÀáû/ùøëÿàp³åOÿëøéß~@L°ž1D²Ì‹Ã­¶í©›Máæ®…’­µF ‹B¡¸e!ÇBSŒkÆÖšàÄD ŽfDŠXmi† ÓeA‰ ‘=ótír¤òÝÔ RZ?³zÚz ¬®ˆ?‚F#S"©Œˆ¾uEB’µFíjÐ+01‡‘Ú-¨Û= }ÏŠWûÎç3a™P½ÅEÈÝYbLÄähúâ÷qâö°£µ-çã‰2R°Š{{ƒ8Ü‚´·âF[ð+aZidËø°—…ä#û»Ý®‡F£Ä¥`.÷åáíäÕuV³‡$YVÏçw?bAI…­ ÚóxZ˜üÊ”tgIs¡Êi*‚‰²ä¢cém $¦ôïËâ«sè¦Ò(UƒUmˆ1áÜBÝ(’+óû·‡ MeI9‚Ð7-§éTT¹Ë*Ubú"¡¶ Ë8QÈæÿ'꽚kÛÎ3½g¤W°ìty˜%¹ºËU¾ð«ü³úO¹ªË.»]m·ŠÝ’H‘‡)ž¸÷Ùyå5ãH¾Œ;\¢°æšãßû>ϬfΈ©²tv }|¬ÅÔg˜QðpßqVÓ÷‚&hÍ8§=<ìQZ3Ÿ.¢åùð”öÝ@G úŒÁ²\Ñ÷ )µ!‚"3¨L“çú×ççp6"ãÓøæË¯¨Ê$Ž®@Ѷ O-ÁGVg/ˆ¤mi6©é†‘í~É’ 4éÃNEŽNÜm8o ˜ÑStòxk]Räª,ÅD„BFÁtV"£ÇÚŽª¬“°]Jâè™/û%ãû-ßo1jBÏÐB& ²t͈Ôo?ùûí†Íz‹6ŠÅ¼æÕËK r`I7<Ú(´´h£iûB(Fg)‹S¸ÎSV5åjÊ ÁL R‰=‡ @ª¤pÈ"­ëQJ£ó‚»»[ì8ðöó=â{Ú£g>Utÿô‘?ÿékšcKžfUÉ<—¯^pþ¶ ŸÌÒòm»C ‰4‡Ý>1¤´Á‘åJ3XAÓmó´S§·AˆçÒÓr5c97™šå|ÆÓfÏfãñä4½%G$NûŠÔóŽÏZ]„B(9ÁYæ³%!ö„8b´!JÏ0¶ ëó%ºRœN e5~ÐBz¼8÷:'×5ô Ùæ¬·é@Nà&°»i7‘y½dR.i-U9A‰T‘ Þ3mÛS%}ßSæ1X´‚ëëWäeFð)N>´,×ìÇŽ–3©¸z±dZ²Ò0FOYUP”ÈÞb÷#æÅ¶ìáÕfí}‹%d’¸³\O¦,‹3Úã ¥%ÁxV×9î|…Ñ&ðÈR±\]³xûy}DtoSýS(Vó9ßÃùÙ‚âT°{ Ùvô£ÀŽ#Öî™×%fY°\UôÃm`±¬ÀvøŠ¢¦Ùõ™†Ù"ÓŒ]’’Øt(“ÑžŽ´MÃy=!Ë5EôôÃ:yD>½ÄèH{8€Ñ:CÄžÞ:iQ¹a–|V¥%í´Jü×Å‚Rk¼Ð Ís£O%c#D‹ª2D^‚P„<çüÅ5Ì.øö?ÿþýŸ¸X½¤ßmøx¿æþq‡ó–2“<²ÅËf»æ§Qð⓹X!Ž »Í†BJ¦‹9:Ïèš5*JY"õžÞõXaðÒ#óˆ\ ˆJ°n$HÍr™q¶È¸<ŸòÉë·ü×_ÿ#BLi{˜Ì§)„§i´É3‚OŽc“›¤‡âQ)ɲ$&ñA2 !] 0¹Ã…†IQ¡MJ-~üø•YM*Ë’ÀC æÕ„a¢9öÔÙ9óÙKŠ~ŠFqÜ5Øäÿ ¥œáúÀÃþ‘±ë©ë‚~8bJ³ !ˆXNmGU•(©êâ7Ác¹y¼£ÈSólUÑõkêeA1Ie¦¦Ûcs(æÕjIe;¶[~øá–Ï_½âÕ/þ†Æw¸LR]/¨®?ãb·åû?~‹:å´ƒ&LJªÚõ‰²T¯(ªQä-iìÙÛ+x1‘èérrL€»¨©¸`õù8 ÜKʬÆÛHpa`µœ3›”´í©#¥ÈÛÞ+Š|†È aŒ¨B3ú‘LDt¦AWÄ®C¸Â$¹³=&¨Üàûµ~âp82ÚåêY?ücʇåÚP%msââåA:æ‹ÁŒ}Kt#ÊêºB+MßÈEnˆ$ú½ àFÇÝÍggK²å’Åâœýí{¶›=2VÉcc-™H+Wó¬;ö.&ã¯”É î 3EQquù¡+~ÿ‡w4OÖ F;|–¼³ÔeIn2v‡VHÎW æó)ëû5}Ÿq<F˜æ”s FŠ›õH®l¯yº;n÷TuÎØÂaëÙÞâ<ã·_~@)Á›O>å»o?°Û;ê*e±•)ò"ew޾k)LΡµüðý÷æó9ó咬ȑ2`ƒ¥mûg¸™`¿kÉJI±(yq}Šíár–§«ÍÓ†ùl‘R–*KZÞÆ‘•SæçWpèiºðLkC2Jº‘$Ž\”D·as{`²˜PNr¤Q¬oniš·oKÐ-#D£Hƒ²Ñ‘fÿÔ#õdÊ3)+ö^£¤ÂÅž¼6 n ˜åù!©½m¨Ë9t¦ïK}½J ÕÌàŽGÚÎ2Ëœ¿º¦ {šv—ÜÛÂ#æ Î~öKÔÕ%0€8Â0€®øîϦ”%¯_þÕ­x]ÿŒÓ©‡®dØ7àxqÀF‹±iQ\ž¿‚uÃvÓb½d½k¹{xd¾ZpÜ7è,r~v†6HNí]Hâ˜òã©g^Ïøoÿ‡ÇÐö|üð‡ÔûöiR¥áÞ¡]ÆwùÀ~T¡Ï®è‡ï*'¸g‚&Žh-Ñ ¥S±éÙ›hmÏ0x"9ý`y÷ÃÌæs‡Tk Ás<%ßdhïGY–,—g<¬wÐ:^ýê¤?¢UF?xÚnËdQ¤všš@¯8î#Okå%›‡#Ö>ûäSJjî>²ß hY§¹@”Œ>òw¿ùg¼•(U#D²×%©ê)£í™–}zµPW!Hì`9ìŽÑt-E•áÜ@QdÉYý >V&PÖ}½ÂÝ?QÍ FéA#z1ÐOÈîPû#ÆIêé9¨‚w_O5™P†~°ˆ>-—üNZTe`¢":³éØ)’¨-Àõ 4 .´8cS@i„ð K£2°=ä(ƒ§(rNýYC®)—5È}<‚s|ó—¿ •äúúÆN˜ƒ‘j6Q#÷)Câ´Õå9«OŽzóù¿^§í@^–¸£çû¿¼ãíÙ+î·ßÓ?ÁýÝ#rªiß2ö™Nj¦ÓŠql Š" ²ïïy¸ß0XE9Y ÊŠ/¾øï=ÇížÙ4§éÖç9?Ÿã°Ø0`dNi ½kX­Î¨ê ··÷»È@ižIó":‹bAYðîØñݷè¬d¾X±[·ôv`´éH/â¿kRI ]奒Nl»kÂóåÿˆ³¡ÊD‡y9%×êùÅâß !ùìÓÏhÚŽ››{\Ô©\BºìŽLg –Ë˳<Ýl9=øþÛ{T,Øo̧+ú6`tMwrlÖ'„ÌJ1zÏ`Çv¤:«Ahœ) EU*2%Y-çüü'?bRg©4$ÒÍ—$’eš(ˆ@Vª„¢×PN 2c¨ª$¬Ç<‡Ç~¿#Ë ‹³9Mß Ÿ#$ó% ^0ì¾£Y︻}àêâ%Ze GËx16XL‰ R¤0 øã å™ÌÒ)©í9mvFÆ~G»[Se³˜b‚‡¶ë`}Dì:6?pw·f³>²^9FB Aä‹Å’áÔ0++úîD– ^œ×”EäÅYE• æUNß4ä:CÉ÷ïßqÿxƒ#Uq6ŸPšÌ$„S‘)¼íèÚQDmÃêâ—/®Ùlì÷-‡ÓÈöÐÑô#Ÿ{éRI)Ö `䳡×AYeôÝ€”­*ÚnÄF‡‡T*?únd6[ñ¸9ðt¿ÅM$*ô|úÉ®¯/øxûާ}Ëf{¤(&¸^rÿÀÙj‚àÔtl×ßQU5Î9Ç-Y‘"å§®§¬fÔSÃÓúÈb6%Ï2ª"b”eìNì7–ïº#Y%ðÞòúÕ.//¹»yd·ÝS%Qó¯?BÊ„ÔïZ”ÒÔe‰q©e·Yoý{VA®‰»&z†ñ‘ãéD=™¡2…=õÄÑSÖ3¾øô-E®ðç0—0Ž÷OŽ[|Y°º¸ ˜˜4<±éÊ¿½B‰=Jåg©Sš¡Ky’”óþžÓ Ìô”›¯oaLJg›EËÇ¡GÄuè1®ãûoߣ¼âòí+ή.A:¬H°â, dphZÚã1…û¢ÇS˜ÌRT½mˆŒøèqZ eÍl²$ô†›;ž,‘5b„ËósÞ¾9GIØì-Õº¡, E±b³¹e½ÞCÔ”Eó׈‡Ç}ËõÅ«åŠÿøsþòÏ`óô}ú2Ñã}Æ8nÞïYL_ àöæ£%Y­È«Â&x^70öªB£2Ö)´šåBE¢™¤ÖŒ!pF¤)±Ï¶\þŨä’ZÀ(™À c¤k-³Ù‚—/ÏÉMÁÿé{쉱áxèЃuH)ùðñ–Ãþ„’šº¨qƒãäËyÍb~ÉW_½çæá†¼.¨Ê Ž@ßô•=_—yÍéã.9N˜,O¯·qHôt)qÁ1›UL¦9Jz¬= %dF’iÉn»A,yñôôHppq¶B ÉãÓž!X¦dRÏZàB„ †­õd‚*=ºÒèëeb·ž¶,^_ÒݯS“­Èi†ž‰Ï9;[âºdð‰B ´g–9´æö˜ÎÒìZ¦ëˆ9/8ÝnMESì\ahž¢(Çìâ LMí‘妯qdìvÌЦ %}ß%r¥œ#¶×h=EÊýèèlÏ:2ehOG*Sr>ÏÉ3"ðbn8¿:g¶šp8hO}bÝVš2ÓäyºÝ«Ïgœ½zÉ 2–g3„×L§Õ³ (‚ÎpV< yÒƒ!…"ÆD·7&G hچˋ ÞyŽû=«åœùlÊæ~ÇÐ;„ÈÑ!2“ñø´E GŸ<Ê µÂyÉù»ßžr:gFöÄíñŽI‘Snéºårž„åÃÀl:EÈ’ÑEF硇zfèŒ1ôÝ¢P()Ê]DŠªBjÉ0 ÖC mšã‘ˆ¦šºm‚~yïÉ‹š¬Ê〔èÁ;÷l5 e:ûOJr#iŸžP:#Ï ÆÁcG‡ï|g©'%íØCJ‚ëF8‚wø~DY…ÉgpèïøÝ‰BMÐZƒÎ°A’ÊBgi6?c¤ï{Î.Ϲ Ì'`G¤´üù»?à»d'E2±œÎ“)·ü¿;2:êjJ×÷Ì/Î蜥œL1‹%L*‚ª¨úì°Å(ƒ^]02Ñ1Ú†h ”Îy nàp÷ž*Ïð'Oh,¿þÏäö¾Ãä³D°Gcƒdl"ãÓ@vì)6 …I‰ëL›Ô7WTÄÇ$Ì\ú’}ê÷ŒÃ7hcÉŒeqvÁùÕKŠR0ýŠãû[L‘¡ˆ Ñù<çç¿üÎ*Ä·_Óû|$>;[VËëZB)@¬~üEBõÜ5dJRæyÒ´ ›yψ%ë W)jîƒctâHf$“É,I‘ªŠÅrÊO¿ø”öð=ß¿¿ÃÅ€¶. Ur”Õå ­Cz Å@ÛŽÄ`85GÎ/t½EjMsÜ#ED«ˆŽbZBL£"ÑkÀÐt‚÷7kКé2£_Ésˆ®£*jêLã¬ÇÚDÍ:Ž=ÞZ¢W‰‡d1ŸÓމIa¾Ì]ÃvgéÇŽ¥:CE‘föÔa½@¡Xœ• r0‡Û÷乡œ/¡¨ð÷O<ÝÜa,LLF´74´[Mõù[Ö·7Œ›ÌgÈ`1"@kàCuüz$ él§0å”j:'«&ˆÂ°}X³}:²˜¥l‘"}?$_¡3|øî‚Sw$WI¡€€³|›ª™ÕSî÷-ºTËU)ŠYÅÍÇ[^fs¨ÎÊfûÄpw-®ˆœM¸¼Ì¹}|YÍÉç ¦ér|âxwÇáÔ“¹9ùò–ß=œaЂSo ÄTE‚þhÑO)&&’ A5-ñ½g7ìZQLj¬ ýˆ‚"ƒý~ËrVQT’1Œ¼ú$R\½„yÍtö’ió¬?>pÚïY`{xb¹<'_æcÉõ§W ëÊ;¤t,Îf\‹Ü€ýðŽÃ]GΗ Þ©51Ž(mðÁ¢„Ášˆ~†cˆ$¾‰#ZOiš†\¿àGŸÁfsOŒ=WW5Ë…âñÚäEz­ Å8Ïz×6²BÑ–ªªðÞ>o†-«å”Ì(2áÑR@Œ“§È²H™Îqm3`G˜ÔS¤È€”¹!×$µÖ0‰FÝuäE†ˆ #%ãЃ˜Î*úqÀ“¾Ö¶ë§äÖXÌ J'ѹL&s†q ;¶”g5Œ#›Ýž‹ò¹zÙ[š~`³ÝR ¨Wç„`YÌ绲º{ܱGÅÀØÜÑó៙DF¨§Eâmõ\Žßoéú‘¾s(¯É¢b2™cO Çž§CËÄM IDATÛ'ºc†B;àÑdQpÚØïXÌkÂ`)ë’ÉÅœ1Wgð\ƒ¾ùêŽúfà¸o‡”‹:>9ª'\½½"¤÷²x.ýÔeAýůˆßßñ§¿ÿž¯þðwG„žb½Æ?£þ;Ð"mƒÎVÐŒbOBÑÔÅŒ~ì8îÏ‹ß$uéNGÆÁò4ì™Î3|ÌøÍßÿ³›¸|qFì,†®éú–\ >Ü|ËüGKÎ>»æì¯~Bqúݗľ§4]fÐtÌ®Î8<ÜqÚœO¯`МÖIýŒðWÊ tžB±:ù £—dZ#b$Ó:忌FˆÈÍÇï9Žüâ§?bþ·ÿø%:zK” !ŸHJE†Á&Û§–eà™”yV"Uzx¤x7B!Æt¦ó!â|DhÁòlŽ47žÐrm(s÷"Žø`ª`ZÏhºcŠIK‡To[‚̱~DzI–Š¢ mF ¾0ïèNú…):ç°o)W&j¨œl2£‹PŸ-Áœpš?’IAkû:zë‘ÿôŽ~×Cè‡UžÒ0 ”eŽ)D·Ùí1º¯9®7„í^&i£”ãhyxxb¿;`ÝHžºÓÙŽé6kð(©ÀT<*+úÈt–³_ïPQR.&ĉ¦^¦žËã7ï9ÜîN–Æþ@Q”¸¶AzO­ JSpûÝGÚSÏë}Š=ôz+¶'îNˆãÈý‡†ßù-oŽD©@$½09žž¼Èð.ÍoÞdžðþ­iâH+GfyÆj1Á‡¶åÅË+ŠzÆïþá7à$6tÉœä,Ã^t„¾áíâ5‹¬¦¯V|Üo)Ldu6Aæ ° ì¶T/C“ºLs$•Æ>’HµÎñúáDðÑ{4©î¢D(‡‰§0ƒ Ì&èP¢·üñËßÒ6[®^,˜•žŸ}qΗßÔÉÚCT’×@ H=ä<ºLêœi­QÂa²øìž| I0›MqβÛÓ&Ø*„ÌÉsÍ©;‚#7%uU‘+ÇеPR°ZÌ‘Zá\’ûÞ`QI¢H9çÄHÛ´EAè,÷#ÖÊ4¸¤®GIc{ÄD1-úÅœ—o>廿ü«Ói§ýŽÏñcÜဎ¡l·lw ‡ÓMÛ±ª¦d™bZ2)lL€® Ùz¼$ùÐc2ŒÞ“åAú$Èô‘ÎZ†¦%Z‹F„÷i*²ô7»€-›í†¦qètUáŒäå«7ðò :K¡ŽÜ½ÿg»–Õ›3^¼|A¥Â:Ú퉮ºï¾yϾ…ùù9Å~ÄŠ¯9Ž<=<±¹ÙÒGÖG², ô§Ó‘RO±Þ¢´Gùáu.©Mú vD妬i†ôA10+rÎ üÐs·Û’ã0¹ /*DìYÖ{Œ×Ô:£4c/ß\±k>âØQÍ$d‡Û¿`Û¥"e™Á\ ½fúê æŠ™EB:z¾8ç7ûGv»ÖÖ(™¬Á1BL™¬,KW¿ÂKN§ù$Iz~¸ùÀåeÁ§Ÿ}‚bDIÇÙªâ‹Ï/ÑB$*›x~  u/• Ï¡,™ö”…Æ9GYTd:çp8b=˜¬$ÆÈãfÏ0ö >¦&ô£c°¬HVž<Ϩ«‚IYPåQ2#ÞatÁ©=†† Ò1nŒ7F?G’! VXß3ZGtJ”S@„è%ÞE¤—ìÖT¥™/ žòbµâtÜ0ËfgšhOè‹ô’ãÓ£5Ø^ápÔUs E–QhƒP%óåÛ5›ýõdJsl™L4QÚ~L— ¨`©ªŒÙlÁiÙíäFƒ£mO)¨=6z”Lz5FP2"…g²šà3¨/¯¸øìÇ0]ÀcÏ·¿ùŠ/ÿîw<Ý´\¾šñö?åí¿ýŒIcvv»æýŸ¿ã<+ï·ÜÜlx÷Ö®iûSèÎ{OUV¼yyÅ88»½Xoׄç£Ú4×¼z]ñ³Ÿ\QW‚Ý~Ç·6Ü>öX_ECðtl Þ2™”¨Fp^>ûÉ%Á¹z{ÉrYSå‚ÝnÃvß°ýxtŽëWW³ŒìÂà}¤87P÷Ñí.4ʈÒéXä¢f’Ï@Jòù2yT†ÈŸ¾ü ‡cGŒëR¤¨(ÀÚ!u÷ERŒIeÇ@gãÁâoGÊù%e5§íÚ¤"˜Íøøá~½FCJ!cž“ˆ‘‘‘²Ð”• Ë&O ©"ÓEFô)é)¼Lž‰±Ã:Kˆ •æ8:0 ìk}@X,gÌSêIAs|"7 |$„È~ý„.-Œaôï$Ž@¡Zƒð>!q|º—ÖJSÁ©飅hˆ2"ñdBa¢Ä7–ÝÝ–º*Qg5õâŠÿøD9 ‘œŽ{JÝqÜvôM ?úDýÈ4„)Ftf˜_¾¦ß7<ŽtN°8¿Ä –ÂÔ¸ÎÓ†— }º•™É»pjŽ8À¨„û“›IP¤æ^pIÀnRU{yñ‚W?ÿ®ÏSx,¯yÿ÷¿ãw¿þáèh÷=/μyó†i=…SK{ÿ*ÏÙï¬w'ŽûbÆØõìv}ëq#yN9©É*E–ûoÿ{–³9ÿûø?YÎj´~¢i™\]–üä‹?þÉœéLcfŸñ‹»Žÿû?ýŽo¾Û£©ÉM…Î+t!iÇ»ß3– 9¬–Ã!Õ…³š8Q8+yûÙÏ`ZaÊ;¶4bàò“+ÊÏ®@œèÜÀt~‰©fkFÛsjTfȲ%0Å'n?º>rê}y†Ö?;¼5È€ó–º–ÔIn"y&˜MS µÊ D”ì÷GœX/’w z²"# I;ZgÉò9ƒ³ò*c¾˜¡´àÔ8÷GÂóâ¥ïÍÚ†aŒäYâ@Ƕ'8›ôµ1åŒÎ02à• 燔ªÍs´„®C ÍæÝº‘·Ÿ¾“£79ßÜ~ :ÇryÆÓ°}î–‰z#-ó"g±xÁf{‹·'’O¦¼ýÙOøú«?Óv'æ*E wÍ!9ÍI©äÉù4‡=dBrì;‘²ÌúŽuU"…¤íZÜàQF rÅâÍxý3˜L@ ~ø¯¿fóþ–E¦±¼<{ɫ˗Œn¤¿}`}ØbÇŽõèyZ÷ìésŒ4˜èÈž5j.K›_?H¤1,æSÞ}ó=_Æþê¯~ÆêÝ{ÊBÇYî¨êë÷Œ¢Æ,_p¹Zð?ûŽ_¾ÙóÕ?äݘYMY_â½!DO?öœzAÞ{&mdÏ‘®1ŒÁƒ”g%ù¯þM lîžpù=ÕbZ°?õdókLþ |è°v aKÏ!,`›o;öG^]½d3ÞÑö’ˆAi‰Ç2ŒoS­ZDAŒ )4Êh¤ieˆ²áp<1ßœYO(/—  î¿zvÎ%ppø ˆadZg”h)2…1ï!À©=ÒŽ¾³ÏFƒ@§™•BXša ë:ªº¢.rº¶¡ïHÞžÐ"R=çœ^¾œbƒá9„¡'Æ€2#2(CDFõŒB!©ç%etnH°í\àÆ$´Q.#׊v¿å›/Oé 7Zr‘£Š;D´È˜ÏsFÛ3[M1H”ô]—TUÉÃú•×LW/øáî#»Ã–Ò¨ç cÁÙjÕSe‰7õöоyüøÀa»ƒ`QZá½ÃZ‹’2ÏÐhúCƒGЬf¶ZR¿¸€rf‡Gn?ÞQ9XË×çÜ}xàáîè-Öµ¼|}Íåõ þé/_ã|Î8JtŒìžÖô#„ÔÏ'D¢TŒ>2Á©Šö4&ЉR|õÍ×ô퉗¯>åúúèÙ>Ý0ö'ö[Ëñx$‰m,o¯füüÓÿŽßýÓ;þðÕ÷<>~‹’\Jꉦ,ÓiÆj9#ø„`´–²¬pÞ“3n¾ù/8ᙟ¯ÒîÄçÌë7Àu‚°É11sm€Qú¥}²|ûå·è¨YÇ{î>ÜPf”î‘J§Œ•O¼-ÑÉĦ5b`´C·a6¨ÐAÌñv ¸g"‰=Ñ O‰>_W%ZB h!ȵÃÈH¦F§‡ÂÁ©8;ì˜ú´Jj‚÷鉔#.$»gGʼ`šçÄqd׬‘ŒL&†¢Ì¸<_‰ˆP‚ÉÄp:µXßQêÛ§tdQf£°^&Õo;CÊÀ8"Î…¢ªA†ÊŒ LÑÓ»†¼.QRaíÀÅê -$›íMªÄjMQ–(9÷l^P努frvÁáYÙäãÀêìýêŠnw`p=!¬>¹&V‘XYª‹L/¸ÿÃÍÝ{â1B#ÈÑ™"Ï U^ PÄÎRjƒõ‚<Ë™Íà}Z.zJ1-+Ú§-rÙoNÜÝÜS™ ³Ù KŒž`fçäÕ=2hÂzÏz½¥o-Æb™)p0: žÖ´m›nɆ~ìQ>ÿô%g××ÌþͧP²ßþ#¿þšá©AhƒÉ3„„ýøˆÉ tÝÀõù%¿øéî@sØ¥Mø1Ò»Ž¢¬YÔ—¬?xÚüן¼âÃ÷_su}A¶\ƒÒ\A˜=ë“U"HÊŠª^›=ÇuÃú‡OÞ‘KÃý‡ž¿þ›ǯ·ï’Áj2IŸ¡“E-Bô7:„óØ}``ì#•òä2"½Ç#žî86[..è¼PÔ“ }@ëHf$ÄRVJ#dyEÓ4évHJ‚ H‘R%5¬xzCÄû=…V×¨Š˜4¸¸˜óöÍKoï9ì7@G^(&…ùÿxz¯-KŽ3Ír››¹ö£CGf¤’Åê®Q3ÝÓo6¯3O0b­^³FôT‹E ¤ÎP'Žvínb.<»ß .⸙ýÿ÷íÍ(»d:žâZMÛ´¬÷9»’ èM? ðHFŠªjˆ'’ó‹ñb g— ýzƒÀ Bh»’0ô‡’œr÷Ý÷Œ)é8&JÓ¡t„%ZD$YÄêfEY—Ô}ÃLÍ©Ú? ¡âù—_u¼ùöž}_LƼøû¿‡qÂúý÷,ÎÇKÊw?q{óá“)U¡Â``oá1›MI£„ÃfKÓQã,žP`»»{|é³À@Ï{¸} @àj’dèRWuM‡”UC½ÏIÓßýõ%7w²Xòì—yöâ^§ nîv|÷Í+îWhíØÊÉÙv¨0 Dq÷½þˆ› æÓ·þø1]£)‹ŠÆ´éˆS}uÅ#?}û#eîs~<—ãy 'OŽ©W9‡Ü!„G[vüô𞺵¸P±¼ûÈÕó f—“¡àåéä„|k°ÔŒf ±C²¢²k¹¾]3~v üÁm`>k°­BùQÑ;Ãn»bC2D÷Ãqlü¯óakûa àC–üX2?cª‚˜LæŸNñb¾¡Õ¿:ý´e½¼Ã=~–€Ô¬ßþDSõlv¸^¢‚ˆ ’¬vKD$/œ_\à”%»(z›å ·ùšó£¤Œ*ž«! ]Ìòî†Â¸8=CŒ$.îüÉÉ (hŠ‚èdÎ$R4цdòñã# ³Ù $>ú~OàKò*çôê‚£ÏŸàŠ ×·œŸ ®k'ƒ>~~:Á45»²evqFPíw˜Ðáö;â¼ãˆìlÌÓi0hF#hö¨8¡~»f>s|v iF¾]´øQ„.4Ê›ðê¯ÿ“ùXM':v›=‹ÓE89}Úcûá–xšûM ÈÎA/@J_ðþõ<¹:&œ_p$|VÌí”èôs@≾±,Ùb1ÙÚCú £4¡ÕÂxAªí-¡*¸½yÉb6†@Qî6L')Þ4Æ–šíõÆ'SDWO¦€Çhº`ì hZl¡éꆮï999ÇÃV»)KS—ÃGGʪ!¿†òˆ'.fÉшGWùðú=ßþñOÈ>$ðþh@]já‘DvÛ FBºH˜Îçœ?9¡Ñ%Ñù9Äþ§.‚`}wG›ÌÒŒÏ^·æUþO<þì)çÏsñôW„ôïd[¬¨EO0MÎg„ÂgÁo!;æáÿü'êUEàKجUÍè(@´šÛŸf{Ëâé3¦g—$£cºVcº Ú×–L²„gÏ.©›š0 ‰’Ç`G³”Wç¼ó=óQL6K‰Ó€Å$Æ–¦/@h¦ÓŒù4c¿[ã)0ΨëÝÂG»ˆ¶èà®FYk >…©| …ô¾AëžNwƒÿZ ^@Œã „¥ªvàõ$Éè8æê‹s}þ¦!ÐÝ/¹ÿð€o7t¥å퇷œ=?ãx<Å <|vë{ÒdB,#î?,J1;:Å Íö§‚G—W´ŽÎ!=E…²ƒ14‹btgd†'[œm“0,H2ÃG8†] Ú4èÅ1Š«á‹O2»®™œÇxAJ“žä(„@³«s¿{•G~}öäÑÐô4Ë{ºƒåúÃ5H]Ì0‡–ÛŸ®™Æc‚PáûŸ¨QH^8'’”¦é©šŽÅå)Ù‹_ {¥·6mÈÂm¡‰¢˜ýzI61ñƒL\ΈlÓø0ˆï—{~ü—!ìO®ž’ÌŸòÝþ'î?>P4ãÅ’ÙbŽò}óŒG'gÔeÁh¡mK0mOUÕÈNôŠý-ãä‚0óñªÿô‚¿e_ÝžA£áÄü)ä ;דMCd%9]LizÇœ?†¶¯ „¢Z•Ü—o0›–<|Ïx>A…ж¾ôE]³Ü®yñ‹ÏGGè›[0Ûë%™!A"PJ1IC¤/ØnRà~”°^ç¬W[<Ï1ñ“˜}s «‡xI«½¶ ’xxb 1`m§éµ¡é5€”çR¸‡P]';²©ÏÉÓ9çŸ1~ “Üð+SN£ˆ›¿üÄ›wïøÕo~ÍìÅ£!$f,h˜>ýšõßit×RT%ñÓg”ë XK¶ãE gBÔÅ3ðg(é(Þ}`yóšÅ4ÚkNá«„h4Gxé§~Ÿ7¸¸=%üá¾j¼ák¦%Ш[É4=ÂY‡é,¦Ø åÌØº¹g~ùt@ÛtL/.‡=@¥év9´Ùj,‹ËS8Ê0M‰J%^ Ê÷°½A:¨ërÈ¥yÞ`~MFÜ߬É뎧{Bjç p–¶3„±Ö°ÚÜqôìŒÔôC‡u¯:Ævä¹&‹G(¯c—׬¯o™ÏGt âÓ„Ô(阎çHä| e Ò£- ”‡ƒÀJp®ÇšžÀ÷išî“ˆÒ‘Ä!yiˆBŸ¶®iM Jq(z´•( ï í …óÐÚ"Ü ï0½¥3ŽNË!–ëðPR 08¢Ìrr6çäé1Ñ"Ÿ†Ã›ÁsèR³½_s<°ÿøžQêóÕo>0/¥9äh•®€”hò%èÝæšÅg ø’t2¡»¿Ã®î°žc|þZ~B}÷‘åÏ?“?\Óßz\¼x„ìÉÙ9é4„$ýôp3x¢ÅºÝ5¸®Ã2(*´ç¡R î@€én1åž@6d4 x5,q’¢uŽ""y„Ò]B¯ mðµã°/©÷ ¡Td©O}ÿ#=¾úïËöa…Î2•â³¼]Ç1e7HfŽçìv¯øÃÿõG¾þÏ¢ªKŽç#| ?!è'Ùˆñ8 =tß"B²#J\Þ¡ßÜÐnlkh֚Ʋ^­$‹i¨¸½¿ÆØ†ó‹K.Ÿ>BËûw·J Œ%ŒbzmÿëUPw=]Ó‚üçmWÒ·†»»Ÿà/fgc¢E„«5b2§p £ÚæxtÌN=<“P¯¶$qB/*2áÑ—ƒÉÖ8ŸÞ´pè¶ET!§é]ƒJG sÚÃ=Ó“óaúÙ„SEßXjݲ<”ÓŒ LR1IgäEOÝ´d“xŠ›»qÇ!¥v -yi0FƒiñàRù(çIL¯qnØKôfˆaøB Àé!G%:d`˜,F,ŽÇ\}õ¤f³»Ç÷âÁïÜkT3›žÐ’0Æ?Ši6H¥ÐMK89"ò‰ nøCPcâ“€º¾!–ƒƒ­o[Öë5g—ÏÁ—°oùðÝwÈÃŽËù”BW9§‹¶<Çè~7h¢”Ãwx޶n©ª‚Y:£:ä$Y ú€ÔWkÚÚà#кDkM»-i»-YxL’EÕ "]–#Ø>,1Úz!Õv‡ß¬n>«•…ì›’éùòè”bz”Ë© ‡üƒ¤nKz°^oYoÿÂû ’˜ãã •X«ùê7ÿ†,ÉøúŸÿ„¤c2ÏèÚ?òHÒAÌ¡%¿»ÇT=^íÑW»³TûÛfGs²4£8ìg)×w4uÉýí-Ûý„fvt<(Ñ9¾ïÇ)º-‰ƒÏJÛ3OØïöŠ=Ò¼ks:}Ê“ÑSzk aD§süX`éÀu¥H’‹ä=Y7¦/=d/é0Iizz{ ,ü4álz‚LǨ4ƒfO×´H%i¶9ZW´­ÃiK¾ÛñîÍòu‡!éxŒ5 ¤¢¨Jp‚NÃr¹c:!ƒ”}^ÑYEoz ޼®Â+ð=‡ç 6UŽjµF¸Aä×u=¢'‚Ñ(Â÷,"Ð3ÅÓ__1»¼„£ì7×ï)º®ŽÏ¸ý?Š˜Ÿ^®hÐa<š¢¡1G“ L^alOÙuL&¢ IDAT§ªæ€$ßn‘‰&ð#¶7ˆ‚|…“=‚ û?Ðܾäòø˜ öÓ#:ï?¾æìâŒdâáÚ%•~‡p=qà°ÍÏ|Ê‚I%%p÷+6·<ç-¯8%C”ŒèòœPw_“ßµ͆Ù4c¿Z³[o‰ã„ÑhÌ®,ñ=¶©™ŒÆDYŠKŸ‡.+\× ê¡ºÊé”~}€@ dc9;9!Ï ¾øõ/xü›/-R àå× x¢ð²þ\“E y_¡MÍã“‘çaÖ}ß2òC*¡Ù—Óìœwo·l¶† KPAŠóò|G^TŒ³ mžSís¼ÐçÉÏ™_,p®£Z.±ÍТÌëøR9†V¦ôB&¡¢|(H´bóqOß½æêÅy~C<ŸN|l_£B‡î:¼`GèªC¥3D5àHëx¨†˜Îò~C™·žÏÅÙcNž\¡NN ëÁÅ(À:ú¶£o,?ÿüŽ—/_á¬Â— Q#´G(‡Ä@k NxX;Dÿ›¦C*EÙôô4Hß#¯jʺA ð„ç9zc©t…ê Ã8Õ³Ê!<1DÎÇx2ûœ_.™‡šJfŸ„kÝ‚p4Y°\®Ð…Å¢TˆÝ.©7kª¢$œqôø œGSlqN$1"˜ ŠÙôÑÞQÝßRî7œŸ>"è]KØ­1û5ÇãX9Ó³)r”rÿÓ+_C½ÛA_á Ýi»=›Ãó«a4øJ^}÷’I8a±˜£?ÅÜ{çá#‰ÓaZt™£„Fô‚rù@æI²Ù Ó;\Õq§¬÷[’QÂÑãsÞ¾ú‘§_~³9h®åcm>0a…¥¬kò¼D hšŽ×ïÞ’„¿úõoH?;…ÀÀúÀäѰDiÄüô]TŒOgDÑœ8‰©n®Ñz°Õz¡GÛu„é˜M> «ÖCzBn¯—h=3ßÒ·ã£qÊâü„ìt‚ô ³I@»YSìŒ'!aÓõ–üÝr «Ä!­© ¤¢\o‡[Ž•/Hçé°ÿʦxV'†“»lqÆ¢ZàMΈڂ×oÞ—7KtgXLçdqÆx:"›LÁÚA`ªå`ÛµŸâG½¡Ø”EÅÉñ%a4f4šòþÝGº¦@Å “é„"/èÍÀ+ëºüض-Û ˆª¶t½ÄÆ Œ6´}HTßY¤“ù –ì4~`]ÉéÉt mŸ†ôACzl¹þþ®„Σ/k2)9¼¹c·Û*"-ñÇ!¶î¨ŠâHC”‚çHFx 5V2@á‡gà:´¿Ç)OG "B'Y¼egìv%›íŠ£é92ôØ®>%^¤A øP¿°T÷Ôæ³9Z†ÛdEœMGL˜Ÿ¢=…Ìb’É D«ó„Ž8‰é¶ëÛ%’çõŒFsúª£)*”€§8úì9ø;Èü!ïägDGT¶ïÞ /@UjKWåü²80¾JHG º}Ýàù§O É 6;„— FÇŸ?ƒqHõ§E†Pë’¾íäôì)Ì>ãÿø_þWvyCÓDíP¥f½kp‚`x%Jåã>Ñl qˆ<­Àëp5˜Æ2M‰f ÒtÌóÉ‚Ÿ¿ûWV¤%$f¯i÷v¦CØŽ$ q‡ù¸BøÖÚsuÓÊ“xɈúýžŸ¿ÏòvÍ8ÍXL.èÛšñ8£ij¬k‡DC^¢Ë å ¥µ¾íÐ}'_|ñŸÕfG[æÔÕ†““Óé”,Žp}pŸJZúÚZc4ì9Ÿ®38á#„Êqƒw§{ä¿6ýŸ •"ô=ÂP TÇ|‘ðâÅ%ÉØCÍ ;ІRòµau»dÆèº¦Þí „¤, |Uî±UŽkZ’8!™dˆ0ÀŸ-È{òÝ=q6‹H1Fh°ý¡zl_1ñ§gÐÀa•ckG»-™MçT]C‹&E¤§ Â4ÏP7ùPúŠÃíÛÂ0#Ž'H/Âó"ÞüåžÂAY×Äã™&ø©B…‘JüÙˆñ8#;^0 <㨊é~ÂííÓÅœøÉånEe|rÉêš–׿ÿ~ü‘®”÷kª¼a—Wä}‡Á‚ùјºÛàÇ1*;ð˜î͆¿üãŸéêŠg/®GcÈWìï®Jb|…’Ùô5{ÄõËkþòÝkúf¨«$źAz9è-arzv†P^ì“ÎR²y6t“˶«•¢ëúÞD#â‹Ç\Îgèª"ßnÆ 0¼Þ ä‡ÛíšHI²8FÊ[ö¸V#‡í +-ùMÎÿ–×;L=ØÆÙ˜l”‘¥1ÖƳÉtQÊêÕk¶0`¬#ðCž 0vxì;–÷÷Ìcž>}D¨Îhº¶!†i£vôÆQ•=Mãh:G×ytýѰúÞà„ø¤×“¨^kº¦Jã©Â!K}ž½8g´ˆèDO4 ‡Q\]A‘Ϙ®s–×·‚±’Û¢¢Ñ£$¿ú»ßÁ(aùû?Pï+Ò(în*@Œ‡¯h[5Èi V€> åðœ¦k÷´]KèǨhÌëï~Bö!ͦEvŽr¿c4Š˜ÐUµ"or®CôD:BXDJØìÄLCÙáõ Ó7DaŠ å+¬Ì©(A×ì‘!í¨UO}¿Å+:”ö¨ò cuÛ„!Ëûû¢d½ße1»»¯1Fðp¿d)Î'ƒÅtWÐU=Q%‹ó)Oþ‡ÃÑë·¬ß|¤o5 ”ÌùùÏÿ7«¤Q£”W/ä(ÂLƨ£3H'Ãñ'\ßÜá9É$K>)€¯$u×3›Ž‰‰Ö-»Ý ÂTñ°úÈâÑ’)Ó£ ¤ˆ ìÐ÷mÞ²Ý>°Û®HÒŒ.P u³# /x¤ÎØí·Tû‚f_â`àIں—?‰øíoÍõlÅÏ?| «[¼ ÄaÈ÷ˆÑÀü­znþ‘¦·xÎòøÑ%Yœ`MG¹o¹xüˆ£ãKºÞ²Zm¹¸8çW¿ü’®®©Ë‚¾kq¶Åó R¢$Ä«5uÛе=VTMƒ6+¼aŸ$,ž‚0RHgp®ªµ2ôž$ËèÕçWÌ¿¼€D!–E±#ðÒ XmVC0¬Ùsùßþ;téèªÙ´PtßPokfÙˆt!G1ã‹3ÈŽáPq²8ú[!ú‡¥G ÈK¶¯^ìknÞ¼%Ô!Ê ò—¶ó¹ÿ©áÐH'gW§ä«²iFU(%¨º–Ùx‚-w(ãz‡Ð‹¢s‹ÓGˆ(D /ö°¾Åó8Mƒø¦ë‘e( ²ª¶}oðŸÝòÇO®˜^žA”rýÛ¡vº))êštó?ýÿ‰¤¸ý€ÙØ „)m]3™Áï™ÿâ7¯ß°Èް¥{_rûáÅ͉§‰ÏŸ^ÒÚ-~Í‹/ŸPZ‹ÒéxŠÖU·ÈØøß†;³ëj,ŽÈ„¾kÑΠEËÉÅ9¿¼`ß®IOCLb‘óÍííÐÊ<ޏ¼\Е-ëÍ-#Æg3F±« úõ=]QàŒÇ|2Ä+ÖN³sT¬ž£mj¢$%™fpü‚p½åÙgWä›’ºl>uÐ5ƈÁ‚¥ UïÑ´)%õ¡e2Ó4 Úô¬¶9J)V÷AÀÅÅ#>¼¿æ§¿GJI)F£€(Q4 Õ3To­ ×†Þ€§$¡RxÊ£×-ž5j€a Ñ¢„F©ž0†h,yþŘ„Pl0ž#›ÎiË?œqùä„Vµ„³î ¨…ƒ|ËæÏ¯ ›š«ó³Á1’:˜¤°˜CçØ-7ôMËx6Z@ß!ýr_Šå7ý‰b½âdrÄY4f«¯QÚ¡»žH)ººÄõ!ã bžÍèv%m©Ë!ß%1Aa èËž0Mpn0ÐZkñãFqH’†lò¦­‘x{K<'Ý>‡¼¦z(ÚÃóEQ`tÏÅã3×P59Ip4›R,s¤ð…#.Ÿ_ pg9|‘»œÄTÄzy-)5tK'ABŒùøæ–ÿ÷?ý?x8fÓÇÇ6Ë{’Lr¼8%{ôëY˜.(µ@£RŸÀÏ(Y#¥@÷C„Ú™!3¥XÓ¢&áøì+ÖÛ·,ž, î¡oXîÉtŠH 1=ÓÙ k< ‚Ë‹/£#P!ø +Êo ‡Ãc n >½+ åšÃ¾@÷š( ùúëïîš³ó~øëKp=OŸ>£®Jd”AÁ>ïiš®whí°BÑh§¤ƒS“Oºo/:Ó”³š¶¯HRŸ(<ûìŠpž€m±²#…4û–¼¤žÃhLhVô¦DEË!‡ä“ŽÐ!%,ã1‘ÐØ^áÁ||‚œžs\ÿ5óÉÑ œ©åÍkÞÿô3{_c!’ •x™ò}Z«Ùì¶h§ÉË’Ùbж=}mˆ’‘Œ‰D„){Ëßo™ž]BÒöŒÇû}Åìd ¢$ Ic45m[àušýÇ‚ÄãÀ*ڼƘ‹añôŒÎ´ó9»w7Lƒ —g î¯w)yýÓÏÌö#‚L²_/yƒ‹­Óà"ú¶D¶úÍ»"g6“¥#мàú#Æ3àþáß±}xàúãGŠÜðÛϾ‚ÉÑ0- ©:R(–…¢êAàN áÃd’"€Ãa/<æç'|ñËgÜîÞQ·Ì{‡èÊõRk’dɘøL‚ð±•f|v6 Å ~Eѱß7Ä<Ó!¥Ås=Ò)‚@!Æ3dÙ$)ÎèÛ†oÿô=ww[â ¤×%Q "CÓ´´½ j,ž ‡F¡ èÚî¿8vˆãáyøž@Íx2#‰GÜÝÝ3§´]?¼h3´õ•åÕë[Þ_ïi­¤éÚ:‚`¨O£‚! «|0ô% ÎÏNQy‘G``>Ÿqzv4Ù=‰Äx2àþ§—<~ô9dGдà¡©ª’,öÑÅžvµ¡.scµÆ’Ö ²É4‚ÝÊüvÅøIy ^Ä4˜ÑÜÔ‡ŽírÃúáÛvDI„i´îðÓ'«Ã«§O¹<¿ß~ó-y^’ïö„‘Ïh4ÆwaÒç=«ÕEQ²^¯˜Ü¬I'S4‘¤œ^yÞÑöC¹m4wo®9~t‚öCüÏ?gõO/Ùï*„Œ²Œûû5ºj0‘.‘‚mQÒúnÇ_ÿ¿¯¹¹^+¤$Ç”‡=¾‚ ´MEßxâøxŒˆ"èIF!ô>'T’VtÝ¡¬…$åкBTåkˆ"ÐðÉßþ<è¢$ô©ËŠÐyàË劋t.fy}`½­¸¿ßqûñ%ûå’qzÄ~s`šœÄ ( h+P=*QD~Ú¢ú€|Ó« ÂJ‰–~´1Û⊖Ê»Û%Óñ©Ü}Üðöí ÛUN‘礱‡¿pLÇŠùÑ@ƒÁ‹-‡{<„|äÓé˜|·G‡ß[ò»´–h”E#„Œ™-Î(n?ÜÐÍ—¿û-aêc\‡…Hûm98´…n+Dg‘2¢Zïh‹:GžçDY†Ö†v×Ã÷‚€¾ÿë'Ø€ )š"ǵ¶Ó„Y@ÙU‹ïYœõélGm;¦³ã£1ërÏñ‹ÏÀ÷Ø— BDôÆÐu>Û‡œÐs`U£yûö¿9?‡“ò–õë?ð§ü†×/ßrz4çÑÙ1]UruvÅ7ü#J@•ï0¶Ãå+–ë’s8z ØŠöîôø‚yä £™È×Ò?ܳ[.uÏ8‡ lïázèÖkó_8L«qm‹‚ªèX¾[òþýt^àeºMN[wóžWß½¢-ôc†ªjñ“áy´•æúÝ-édÊév‡wï¹yµ¢X—MæL²FÃt:¡ñÔ Og#îî¯ñ‰5-JYâ4‚“#Ð%fWS®:êÍE5pÀ¤§™ŒRΞ@YÒºê–Pù8-Èü~0ÊŽgÈ hD« ´ yرÎK亡¬ ÆùèV€¶~@–LIâ„2÷‰“ ¡;´µ´]ÇÉé)U>È'÷ûkAkƒuÃFIU nï^÷€‡ô|šÖÒö>ÆZÚšVâÜpª:'èÍ@{”J^giÛ–½íx¸¿¥®J¬Xã΢B_éé²ÁW’7ß¿c¼=¢ª—Ñsò¶æûo~ä.ÙS5;ŽçSúÖâCÎv´äÑÕ õaC$S:Óá|Ø®ªª¡:À‡›÷,—wôMÅ<“ã8¢­zö{Íí]Åõ”ççŠt6ä£u˾jÈÜ”4 ›ÐÖñ°:ଠB<_pöâÌG3ö÷úö@¹+³ 妠) ¦MEzqÊóÿ=Œ&è^S—-D>ñÙ1ß ÐEоßP¯K:ã¾ÏãË'loîy¸Y¢¼/Z‹ÔãpL›o8½ìh5 àpø@}hÑ´z@‡CIUפIB’¦ƒooà'!ðh;KÓL¯°º¶¦ï†" TÊy¸®¡Iâ„¥.k®¯oPžGß´O'´%p*¶I<â_ÿòºÇhɘI6Aú [uÌÓ1ÛåŠ$ÈTÏæÝ[ÊúÀh4¢©[šÆ¨G°*˜Î2‚‹ æ‹¢««güõ¿g”Y><°Y ÆÖȇ³ÙˆóÅ%5ûÝ–édÂõ‡[ô‡k’ј4rr|Š„È@Ñ´F4ø“ˆÝÇAàû!]Û¢I¯{º;vëã£Ü:§•þpu™O¡j¼tEõêwÞ°¿àÑô S·øAÀ¶}(a@ßj”•xR€'8T%¦…D¸N“W Ö 6‡-Zk< Ê9zÝ’LF<ùûßÕÜüü£8¦­ HBªB³]îÑÆ³‚£ñ˜¾8PÚšíÞ†ƒ5Wâá[ÅêfG~¨ üRÅácñˆâOY?}Ævû@s¨9žŸÑ‡ ÅÓé„ÕòžÌv'(VQÇdbFÙUTuO(¬¶||uàý»fq1å7û‚«³ˆl~Ž.¶t];„=ó:GàgH¥è…¯À TŠ4Jhµ$ñ\fÑm…6†ý~Ï(; k5N„X-xØmü˜¾7ŸÄ£zذÊ:ÕuýÿóôK¶-ëyÝH3ý\¶ìöûìãî=ׄ¨PC" Q/ Ç9¯£†ÔP¨'È  kpÝñÛïòËM›VY@«šUËTÎÌü¿o Vë5j2Ü#•"""™,LÆ DŠ '"Þ„Œä©DH‰J"RL˜®HMYVfô˜q ¥EýÅcÿeYÌçsf³š¡wƈÃáƒ!ׂDz¤è9ZÖ(uR }¿GzÉx0ăC{‰NÏÎ9=:ãÙ?çÁÏYþèa{`{wÃÕÝ Ï_<'KÍöŠ:Ó|üàˆŸ=?ætž0«òTPä )&b !’¥9^@±šÁºDÏ5Æ·íÃH;´Œf †IÆÄDŠ6²½¸¡»Ù£œÀtánOØ÷è$§ýþ5o÷Gì~ÇñbÎr¶ zÏöö–YQ²^®¦ ·(ÉrEÓìèÆ¼­ÖDëÙo÷¨$%)sF?PiIUe ¾§XT¬Nß¼ãÕoQ² 9Ú.÷_}óÓõÌË’Ç'k$†ó§+>9æá“sæóš«Ë+¬õxSè|.+œÐY`±œ‘W³õ¡R¼KØìZv‡–HäéóX9¯*ÊÅœÞ(v·#7®/ZÞ_5~VƒÎP"Ã[Ååû=¯¾{Çææ Ìæ d’“.PTkŠÕc‚¯xõfÏ·?츹±DQÒ›@ç":/‘Å|F¢À[KšLzk#ÝàizG’æ¨{úþhFÚ®ÁK–',WsÖGKœŸ O‘)kØõÃ=¥R’e%ÞMœ³iº=c˜úㄚH—Þ¼·ˆ{#™–¦ÝãƒÑ2xú¶›ºÞXV‹b„ý~OÓï,f ‰ð¤©"K &À84<z¾f·9^&Ê’Ètʦ9cBt†è<Õ|ŽP#Y5ƒÔÓ·Šã9©^1´-OþêÏ8{}Å›?|ÏþjÇánG{cY-jv£'“)iêi¶öõ^)ŒI4Ó1¯æË”£´F¸Àêü ;t4Û ûí7Úéƒ }ב‚ÓÓ3ÎÎÖØÎáü[š–DI¢„³§„Ít«õòïþž¶È’ŒÙ숪\p0'êÈ“O’Žž®»¥.«uÍÙ“3Ò¼âözÇËïß±; ‘`c‚²,%ÆnèyyR‚u¿æxuŒ“ðîâÆ^¼8f~rÎnÁQ¾F®qóÍïøöëwìÞZœÑô#ˆB ÌÄðͲ ÈðFbÆ-»›Å–T¥<þ³_@HøîŸ¾æÝËoØÞ6 £D‰ë4ÖF§p¢ (%)´¦:üØ"ü}Ú7Mp^M!ÒDP•UUONBkI´$/2Òt¦ÆèQ*0ŽãFbL°ÖIˆ.à•$IKºa$DPJ!$;Ññˬ&þ3G Š*ÃŒ=³ùŒ¶ÙM>Ƽ@ýå)_J¥xú윟þ·¿ î®ÞSšy™2ÏŽæ«YN¢aèZ‚óÌç5‡ÝަmX®f8ʪ"øHèÞF:,²ÊèÆ‘±PAÒz¬|ôâc–NHsÍíîŠÏ?ÿˆÏ?{†Ê´í–ƽAˆ !3.>Ü0 ã"TšBjÒ4£¨*"‚Y5çÍËKþøÇ÷lö#:“,× ’,eþk IDATÅÇééSÂÎóÿüõâîª'¸ 4FLZ‚²¬iö Þ9R­˜×)u¡Ñ8泚±w4—-»Ë‹w .[î¶sF+ÙîG.ovlvR(™±^­YÖûí-Í~K’h²4§7žn ÖS/füÅ_ýú‰°ÝlXÌJ~þÓ±^Vs ëwÛ“¤)ÖEœƒ³z†·´Æqh;Ú®!ƈLªk¡HÔTRJ2ÍÑñœó‡'üìg_`LÏíÍ-GËG«%ê¿ÿ´úÒG9K8^JÒ4ÒÜm¹½¼dV×à,¿xÆéã3Dp˜q`-ãh¨ë¸½»ãÍ»·ôãTSœ•sD”ì›ç< š*+B0ãÐ1 {fëœÕƒþ1³™ÆzCÛß¿èq$Ñ’““ËÓ#òÅÄ#RE Î!µ&ŸÕ !Dd€Ø¤‹9YVÀÐñôñcªªb1Ÿ“f)!z|°h Z–uA]f˜¾CD ‘¡ïØÜmèº=cÛà\ <Í¡¡m{ŽŽ×UB–'ø0²oö“JDTT˜fÄxGÅ °]Ot m¦õè,AF6ÝžG?åü¿úÒYÉáúãaÏ¡k±Bâ‚ÄzÁõõ†à%MÛYB £Ã:‡c-m×B„›÷×\¾¿c×x¤JÂÓ -}ÛÒv#Ãøýï¿ãí«‚+ð¾`´K (sº®#zOži²T‘«ÈññœŸ}ñ9‡CC{0¼þá‚—¯®é;A’,X="¨”ëëÃ:e]? ¢d:vÛ[†¾%MS‹%Íá0`}$ÍsÊùŒ$M»‘¯¿ù–à,y¦ÉsMY§ôÝž¢*HÒœ€b6_¡U6Í=Ò”,“9Á¡­„5BpÏãRÄ '¹‘’8ïÈò„ù¼¦m.¯®¨ªŠgÏž"b@ý›OÓ/uªñÑrz¾¤(2Ä0mÉt’2xƒH77WD&“’@cGÇÐŽäeMÓŽìv#ûáòrÇnÛNšq¤YAÐ "™ôNJ ŠLáå@z”±þ‹ŸÁ´¨Ã™å¤ªÄ5;>¼¼dwyGî¡P Ûífê4¯–Ô³Šz^RÔ³uͧ?zÁ«—?`»ž‡gOÐRqØnîÉŠ¥aVH)°Ñ8/p1¢Ôtê‹Ñ!"$ZÃ4|Zqp-ÝHªEF™et¾A*ÉêxÎæÐR.ÉÉëŒWeÉÊía0Q–8Û1Ë#Uf™•%n´üþ×äë¯ß±Ýy‚O1ÎüsÓ¢EøÆK’BV¤Ì—sšÙošfàÃÅ–å꘼¬\@G‘æ ÎO4;8®»[ƱŻˆRš<Ÿ‘&‹åŠ"Mè‡=&ô3%üòc³íÑi%7w<™§È:a·G¤Ž¼”Ì*®ïüÍßü,—Gyɸ;EB0Kkví´,{K]åÌëÃØ@Ûrwóž¯_~Ã~ú’´ævÿ ¢÷tmË =ÅbÎÉù õ£º÷?PÌJ²RB•×|ýõWœÄj½BñpàÛ·ßòüé3Šócôr6ðýWoÑ^ðìì!§’¤%ÁØû=­Ã[g‰Á17zz³¢!Ë „•k”VèL»'•Š8Œ„!Òì[šaô¥2 $ c&ü¿J±0ÖF$Â8ýõŽÕJqv)¨ç’›‹)YžàüÀzuD•¥¤ª O$õ¢ ^d|þ“øÕ?þ¢ $™d4’öalfEμž#cÏÉ‘àŧKö»!A7:bžìÃä7¬«Ÿ§à-ëUÉ¿þË_°\ä|ûÕPBcí–vèIòœv×ÑÙŽÑ¢Ô8°–D òjFˆžç׿ù B¦k!‚÷ï=ZOæÕIæïÞ½£m;ºÎðíwo¹¾ÜÑA(…Ò‚<$YŠNtR’$­ 1Zò4Ã93Qä•ãì4åù³IÃb¦ÈR‡†‘ª*Y¯ç¼¿¼)¸º;0"™ý–(`è,gv𠽤^1_žÂlÉñùÈþÛ_ñ£OŸ3O¯_½§qŽÎê;;‰:ÊΌҊfÓNÓñRæT}AA.iî$IÉ8€H+ª™bó¡ÃŠDT@ŠHSægG ˆS_b74H­p£™´^*p·¿Åá(—s¬à`öè9£yÏa{ÀŒŽHÛYÜ´òæ!A™8Q»í€i!Ë$J{’T SMžglÆÃS®4ÕlNÛôÑ¢´&­4Þ𙞾<íñ€J£ïItAºœ‘­ùähŸ¿cÏøþ» AÇŒnw@éH``y¾€0)¸ŽNX7°\+ž|´@ü ¬‡4¯ÁwÈ«‹?^’­*¶Í{¬ËÁŽEE‘$É'HÒŒà=ß~‰Öh÷{ú¶Çô•T”yJÙ4iRLg!Љd>¯0£Á÷†ˆFé Ï|Dg þ>çä\äúvÏl¾å‹ÿ”Õòœíf7離àÑSÔ“‡ÅCÛô ÃÀŇ¢Ó¼ùá.$$Iޱ!D‡W’®t­aü”òõ)Zª\±Z(ŠÂóäaÅÙ‰$Ks>zñ#‚KPÿþçó/]p$™F'Ší~Ïn×sh[Ú¾ÅËn×RW+²¤æõëÜÝ5\]mʬfè:V³ïß¼A&šw7{ºÁñàÁŸ~òœÓ³#biÚ=u]qýá%ÎE®n7,ªY’²ýpÃa×ôBŒƒA©„Õâˆ$ÉîùU‚®kHŠ”´ª§UÄF~ý÷¿$qšçO?žnzâ\±Z?@¹„T˜!rùúНÿøïn¸¹ÛbÇ8X„PDyQÝï=u½â°í0ÆbEÄÉÕ­5„<ãäÉcÊãôrM9«I#¤i>Á¬§Ls¢?Z`ÚÕuA „ «ãcçÇPgèUÍxsI0g§i»‘Ç'+櫃XÍ*ÜØ3¯KÊ"¥¨Rêk(%¤/†©“Ñ]qw÷­’äˆ?|õžíA⼜Î>ÁO™$½×HCw¿úZ8ì{v»ŽË«]çÆÀ0F\H•…¢,›Ý~´(-èûˆE Qb]ÄJS”%y‘ÓÛç=ý0°Ùxóú-»]K×ôŒƒÅŒnâBñ¸ûëêIƒ`G‡wå¼i BäH•LÂa¼Æ Å1j¬®³ŒƒE)E=ËÈÓÀ¬–œ<~´âé'Oçgìß^¢…rÄàH ÅÏþäÌ–d¿ú#7›;>|؃ðÔ³»Ý÷<}ðˆý>¡Ý·¸áå ÜQ$Å÷ß¿e^ TÃÐ>}ú m'üþz± ÙmÛŽ§r{}‹žv7ðË¿ùÎÎເŽã=CÛðfwàí«×<}öŒnØáì@½Ìµà“?ÿèòŒþõ5qÈP!#Úü’G»=p{Ùrñö;®ß_á-h”Ȩ§}­žÎÝØ#‡‘4f¸(Ð=ȬF¦Ð»‰`1Ÿ±µ{f§GTGGp|¤ðò Œ–hQDl0ôýŽRiŠT­R ÔD…_ƒ#¦oÀÒ$‚0œ={ÈïþîW8"Yžb;‹ÖŠp_€-þ#/S( Î”ÂØº†ðnKX%È:‡ 8 òYJuü˜ëo ï7#AX'ñÁCœÚÆG|?ЛkâÔµ=D‡gSÒ4g0ž®o‘:ÅyÁè<Ö¬sh=ÌëŒÊÆiBo,H‰$Í'xp‘àIš"EÆÕå-ÇÇG,–+šÃž¾iQ©F)ÍhAx„ì3Ém’”a! ºnÄú‘($:USêÂ{J©¨‹¥$ÃÐce0=EQ1Ž#GUØQàm†Û ¾ýåâw¿ýhÍö°çÍÛ·¬ŽOøâOþ„Û›m?r¤$ÍÁ"Dd¿=pwù=ùçŠz0ð‡ßý’»»=Öx¤,KòtZÍs-™kT ìî¶t`q4#ÕU^0Ø,Ÿ>BÞnxóá?FlÞœŒÝæ¨TóÇ?|C¢ál=cw¹c®av‰Çï[^½~Í0:†mËáoÿåÉ)Í8£Û°ƒÁ–, –«%]7 Ä(Ð:AÈÀè,Ã8NåøèÑ©fˆðÑÇŸ’¤žíÝ{¢h¨– ªúÎÀÃí·/Ù^Þ‘Š„þzÃb9ãìÇŸQÞn¸²¯ÁO´!"ˆgéýÁp×vìw;Òí†8O(ë¤Ï?bùÝ.››Ég.1F>\}àÙü1Ïž>#XVỎÁ7pè¸ êüŒj¹?RÕ*¬þú¯ÿWƤT §…Áq^`܈PIBè"Re̪æ7w[TªAª)ÊBd$éäwŒCöSõعqêU #1FŽOOxñÉÇüúŸ~Ãè,‰ÎA(Fë)ë)ÝÐ DÍt–!²ÝíÀb‘!•%U’6 j„Ô7Ð`u´Æ… ° T$•)' ±Vb –Ž J ¢Œ Nã#ì6{ºý†×?¼!“9ê¿û\yh Ad¼~uÅÅÅŽ¢\…æîv E‡‚ÃvÄ›À«W¯xôø”Ïü ãÐе;œs¸q€è!0ÏSŽf5»» £qŒ¼—¨¨HÓG|XKÉ?zL²\À¦Ç´Ó¤—D¥À‘Z…ÄûiÛB”åg=Úxôà&â‹í ÖŒHÕ"çãO?o¹øðŽf·çîîŽÑyªzF^”,Öå)*_­Ÿ!äÿ÷ÿüÿòÛÿòØQ ¢FFžIk<Œx!H‹Œ¼Pÿ2p 1¦ ¥>L&deE–MÚ9˜œ‚1…Âøˆ‹’¶µì÷ú&ÍS„Št]‹užý¾J(bdYrŽ‹èDÓ=Ãàé{±‘ˆd4ŽnèI³é WÈX7*ûÞá£dôï#e–‘hM.y–‘¦ÓÜÆ&$©öä¥äülÎr™±šgœ¯¸¹Ú þ§ÿúá—ÛÝÀ凯k.¯6ì÷=ÏŸ©Œ›«-cç©ËÀ0rusA¼?låE†@Ðt-ççg<}üŒíf;á-ï_ÌívÏõõi’¢‰Q£ó‡G¤Ïžðò·_Qf ºÆÓwŽaœö×Á8ŒdiB™§€'DCô#··7ˆq`ž$à#§'ç̼D{8Z,h6·äžžŸ°ZTd‰d·Ý¦ ›Û[†ÖNˆû&1|H­‘Z£µ@$‚ŸüÙ¿Âáøp{ÁúlM,Ãf‡j ¾µÜ]hïÍÕfúPŒ¥P©Ú×lo7ëÑ:Åøû–˜q$Y ‘,Ÿˆâ‹Åš“ó§Ü\Þ°»Û UÊ,- ÖÓ´Ó¡^Í94 W—l7¬…~„˜PÌæH•Ñ:HçQÕ1ûÛ…^óËÿë×ü—ÿøKp ÎC cÞG„Ԍƅ ËsBt÷Éa5–!x|ðè4E'zêVâ4¯ÊrÜûU"΂³žˆDjE¥Ji”Tx0£a^—$zºà¨Ê’"ãè±>`¼Gè¥5>üs6MM]o1m…§ëgC” c>L©"(áHX-jæ‹!x\ðÓ¢Uàè¨âÑùšçOÏ8y|J¿Ýsõáõ?ütñåíMƒó ³)ÿ²xýÃ;Ìàɳ‚è"ý0Ü×_+ö‡ží¦¡-G'gœ>8gßuÚž¯¿I;¤œüxJ&(™LÅ&gÈç%ÅÑŒÕã3ªO?¡}ûž_ÿÃoùâÓŸ°˜±¹½›†Ì1â¼…8•óÑ:ç)*‚7†‹Þòþ«Wl_ßðö×ßpýúrÚ·;’èx¸œ³œúŽ÷××tcd׎ô›ž@DÒT’¦i¢PèDQÎS¾øù¸øpÅÍõ-‹õ’±k¨–s2nkØßt§Ølš½¡ÝìîöŒ‡†þâŠuVPHÁõÍ5Ö8ð’\Uà$…JV§Gïˆ(v‡»«Ž»›UU ð(©™Íj:3ÐJ18Op P²ÝºTZÓŽ–.DR>~As¸jøúWßóÿÏ_:·‰B% ÆñL7‚Q¬GJ1Ò„&Ï 6wûIé'´P’eÄ(yøèRJ6Û RKT¦ÇãRiêª&+rÎûIolZh‚·h"¹–(¨Ë„ºÈ!F¼ezZX‹¬Ê‘©š$@¦'Õš*ËñÆ£´$"èLH¦úñjFQHiIROˆ=e©ï#æ;úÃE™3+ž?9Ãô[Û;®Þ¿as{M‘—¨û£âËÛ»†H‚L*¬ 8Á0to§c ˆû~mšO™xë7x/9^Ÿðþý›í•(‡Ã4dI&IJš% 2SËšÕ'Ÿ‚Jø‡ÿðwl.¬ë#4É$‹‘Sþ)zO’´’xoÈ´f1¯Ðr¢Jk™)Íél0Û(3…’†e™>ðý›÷´6­ÅØH‘×eÁ|½À‹÷&0_/¦I{žCäüÁóÓ#òDÐín°MÇæÃû}KoyY’ÉxöPkÍ,Iiš-È€VŠíf;‘LŒ£Èrªº¦ígq>bL$ú„<ËIsÈRÍÐõìv{„žâÖ£QÐ4žíÖ0°oGÒ¢ ˜×<ýô9óÓcD1‡lÉëß~Ëßÿ‡_áŸSŸ IDATè[‡ð=IžfÝhè{‹µï"Z©É.$"I’ÐwÑ[„¼?ÇH^å¤IŠuëìô$Ð%YžÑµ=ÞGêyEUUS ])¤()iï¿J‚’‘*×ÌëŠ$QŒÆaL`0ëQJtž"¤ÑdTÔEMU–Xg臎¨"ºÐÌgÏ?ࣧ§H1¦<—h !ú‰™+4iš càñ£‡¬÷¤I2ý¶ ¢P(1MècPÓOÈ’Œù|NÄ UŠN«åŒÓUÉ/~ú‹EJ°ãØLð¶ûÙR „Ä+Io ›í'>ç³ÿ «Ó‡¨÷£üË Iš‘  F¶Í~B”šD b¦²0öÍ¡%8‰$%•ùTlÒ¥ ëコó5]wÀû@]Õ÷à^K?únÄmzìÞÐm-7w(™²Z®ÐEŽPŠ "àHï'™’H¦%yªº†TEfeFp#‰‚Y“&)e•á§°ãÙµ#¨„¼ªðAðìÅ GG<|úŒõÑ ^ $OÙïwÌ–3œ¶Dåì@Z¨Ói ÝîEDJ‰’‘DIÖë9G«9Y–!u‚1†¦½£¬2ªõ|"†èlê1K’ )£µØ¥¬jÚ¾a¾œQ–%ÞF†Á±ÛuŒc ¦†dÓXü4<')R¢rœ?9gýÑ#PW_½æû_þw.ß]£EJ»B’¥óYÍj½ÂÇvß`¬GàÜ}‚€õÃ7w–,I(óì_Ä3AžOOuïÁEbˆàUQr|rŸþâ_q}sMßäEN’$XcØn6XÌçTu5u#ÂÔ´3ÖàCH…ç§GˆbúûlÄÛɬœG+EQL%­'rûùÃS~ñó1Ï3”ðÈèÇ©óù’®3X )ë•d)Æ:6»Æ@³Ù÷lvêßQ~i¼C °cO?6Øa`^Ì2ͬȩ³ DEˆÎ¡…˜´O^24#ÎÊ2!+‘_â¡*+ú±£ïÿ¢Þ¬G³,_ïú­µöÚã;¿1däP9TuuWWuuW÷i#`ƒ±‰ˆOR߸AH\0ŽŸvŸj謜bŽxÇýîaí5p±ÂF©”2•©ˆŒŒµ×þÏó{Z>ÿì'óIDØd g#•îÉÓ‡5ÎÐiÂ~[Gñ\×ÑÛYá™Ì4_þâSŠ"¡îöÛ=Y¢‘^Ðv†`¶× úz`»©9´Æ8çéû†ªL©ÊŒªÌèšc<Êc¤òÃ,º*+š¶ÃÚh­Ü×ëR’tBÓy”Î& Þ2HG9®8={B9™qh …ÙѓŌ³§§Ìæc¤†¬”èL0Èžùóc˜ û¾Æ(O9RU3\Ûã»¶­‘Ja‡æ°‡/Àh:"+3Bœ3tÑ!`it)I¢†Á3I9?âG_~E™UüÍßü™$ÌæG\ßÝsw¿¦ª¦˜>ºÛ”JÁ‘ç*ÑXë¸xÍþæ{Þ¿¾Bù„"+)òŠªšDš¡éI’$jÄlÀYâƒæÔÁx­B’&:öLÛ£¤Â˜¢,)Ë)‰Ji;ËÐ[„xç”Ùð‡?üž®k9;;e4ªðÞcº6úÝSMšHšöÀ¡npÞ’H…ó Ñš¼(¨RŒÅ9] `]Tç–UJð†ºÞsuqÁÕÕ}$¢‡¸;B$´MOo>ˆXª9¿ÞT3žL±.°Þìé{s õ_ýí§_§BcJrúxÉö_üÇÜܼ¥ï·}N)—צG'<úÅÏå Þì™LRÊJÑ{Tå9~¾„±1†b”r{O*sôâeœNõ7tíšxë8-)r” ƒ!Ïræ³)i9¢Ùì©÷FeÅd<%¢ ˆ•U‹S¦óS¾ýæ ç—è4#Ësš¶c[78íŸB&€¤í:„”tm‡’ÛMK×x²$§LKìàæø Øíj‡•(F£‚<Ïúºnh;‹µ‘(t¢‘"AJEª5ý`P2:ñŒq´Ý€1éâáAW"ÞêÁ»øçH!Ùï68çH“Ø€+ 8Ï0„ˆ¡¡ñá5T£1Ö‚·k£5Wø€ÖŠT ´¤ -B8‚å•í mó\ÓyYPTºCÏí݆ݮBF£˜”’T+¼óhÃ~]³ßÖ¨ÿæßyôµé Ö ä£’ÅrN" ¯_ƒÄ3OYÍñÁÒ÷{~òù§üèG/¸¼¼àäøˆÇOb£fÜžù¼â³Ï?æøñŒôÉmw Ðì÷˜Þ2ô1ZXEðŽT+d–e)2@žjêÃ%áähI¦ÓÙˆùbÂn»f_o)F½8´–÷W›úÀî0ðîâžMÝ|Ân_ãÜÀâhÃ#U‚ ²Roïî¹ßÝQ¥žê¨Â´÷$Ú“W"OÈ–cŒ´ÍÛÒÑF3r•°Ù4Œ«ÄxL¶ ¶e^¢Ó/ÙxŒ.GìûâíÖ˜–ñtÂh2BÇ¡ÞR¥‘pá4Æ£ò ‡zàþê%“XïK]‚U f î\,S×ë ›ÍŽ}Ýà}T·j'j^(º~ IKö‡'BŠ2#KÓ‡RÈãdpá&Ëkt¢1}K’$ÔMsq8²ß× .º0³,Oª%Ož@¼±ëzÏn»K¼4¥*rŠ"¨’ƒ2:‹ж=]Û$(²,%O5y¦JG…ëLdƒ©ˆÅ‘A¼ 1–TåˆÁY®.¯ñA2˜8hðÓ€Ñ|}ŽCyh…ú¯ÿÝÉ×!8šþ@šåt]CÛv™°X¡ÓŒ®‹4·ýîÀùûs^½ø„³“G/çüüËϹøðRö,f9OŸ3]–¨£)¢Ìñ› ¶mÙ­6¤IúPŸ ôÃxÏË@ši¤¤2Aoâòg³Y±\ÎÉ LKgdYÂìhÆx6e©Ûë<«­gw𑼷÷÷ì÷ŽONÙÜ®±ÍÀêö ) Y NîH³ñ“%‡zKvzBztŠžŸ?Å®kBÈÉN.#É2„‡4Cš!é釖LGÄË®ÞÓ Áü—¿&ýâ§ŒdÊõnE:/O(Ÿ‘$ŽÍê8Ç`Øn[NŸqáæ›àÐ3,®l×5ÎѰ–°Ù[nn7¬7[¶uCkZãÈŠ¨ŒzoØlúÎ!•$¯Š‡C ðnkñÎモë:k0}OÓu Ïôƒ Ž8Ïw)Î't£é{Û“9¦D±a!‡ Î!UB’釛<`‡cºØ¬‡kšâƒçÐÄœ½D<¼ˆªB@!àœE*…R’‡†¥"ö_ HT\ð ¢j°@')YªÉt†zˆ.–2¦/e©F (²Œ,‰<Ü}?°ß7\^ßÑËd±$/ÆÔmOÛ[С‰q.­2Ít6ÂÇ|ö 3Ô´m èî™ÌR´~D¦+šƒ#I2Ö«^ Xoi†jVòäùÏq2ã÷ó-`Q]ðñ«çŒ¦§t펬ÈÑYÊÐùXÛ™õƒæ]NõaËdRQäˆÓ”t ƒc½^óHKÄd‚‚Õí5E*,¦[‘kGp=§ÇSv‡•æø (¼¥;´ ×—ˆ"at<&7‘¨1Ô =:åÕ/¾€é„°Yqœ§$Õ,Ú犉é`œA_SèŽûËsnÞ^ñògŸC%õõÅ…à³çŸĘþ¿þžýæ|xwÏÉñ¥d0ôƒËÙ˜~hè½§n‚ÈHóŠmÛDŠÔ9e6"ÍÇ´¦¡1;mf¢Q:¥ï„Whå)Ó !$ÍU®¶u¸ÐHÈò<ŽÄƒÃ(:"E (¥0>ÔDɈ’*6¿Jœ@ú„ÁZ¦óOž<´{ö» Yš±½¿£ÞíȲœ¡¼'¥4:Ih[ƒQ*„„ "$›ø† A1Øã&¤"óÐ{„R¤:Åû”a°¶‹yAIH%N&C7õ^Àh”£•Fùðµ Ðw†õzKÓvÌ— æ‹E5âø±çâü3täZ þ»ïÑ×Ãh›• êÃŽªœ°Þ¬É*AVÊÉ3XªÉ1»º¥HÒ”mS³ivŒs¾ýá¾ø³/Hgsêû†Õýžíî€<ÎÎØÕ5·w7dYŠw.æ5y"ÑJ¢•§ª2~öÅç 6í`2 u‚P’Á ôáòâ’ú~…÷§Í®¦kÛúœD¨”gÏ_rúì#òQÅÅÕ9§'G̪Œ2×ÈŒiO*ª“%zèQ ”eZÁj²6[Ú÷0— û=C½§ÙÜrõö[òÄRø@1^`oWœ¿½À7-£|ÂÍõ–ÿñø?ÙàæÎòáÝ–í¦FØ„««÷÷ Mi‰ñ’ÁKÚ>Ї‚ýÁ0„„Æx‚ÊpAs¿Úq~qCÛDeéühN’ÈÈ`}¸UGyA0]\Àz‡L Mt܉é-MÝá¬Cg ‚ÞZ†‚Xë2Bt¢Gßw¸ q.ÄRD ¼·Xgb\p–`-y= Q%H’¸hmš¤"/Ë8ŽB’D¡µF&꡸zèc¤@)E¢âÁÙÆ$H$ÞYœwøà£týÐA4!Dì=l 3†ºgXê„¶?€’Œg#|°tMÍ,/Pÿäoç_ß]¯U#Ò,A)Ňók¬xöò”gÏS”%××wŒÇKÖë=›Õ†»û{~øá–GÇ<}õ)ù¿a±\°\>â·ù×ì7[êý–ÞØìלCmkìjMÛöàøô„ñ⌿ú‹ßâÁòè Ó[ò4%8ÁvµÅ˜À`5w÷5ûºc~|"e½k©÷!Rzãi{O×z6»xÉx£ñ˜¼,èƒP’b\â¼#ÏSÊ4‰£P¥0Þ¢’­3ð~Q\ñ “d‚ó’¶h{‹u1/Eçš®íû "vS§ŠªÊ1¦¡kkLß!„Sé‡ÒKâ|xæ9ÚÞ=@RQw'¥@Æõ R@ˆiËÍ/"qD$iÜ·¸Øë©bÄq×#àAªßJI¢ÑZ£Ó"¹&࣯DÌ`¼#‰T ÕxŒH!DÐÛ0ôLfG³f@ý—ÿàèëÕÝ–éxJQÌN¸¸º'ˆ@’>ùâ3„RÈv·e³ÚpvzŒ·–›Ëk’²½k¸º¸ãéé ÔÝnů~ñæÓ !{¾ü³Ïxöç_ÑÞ^ÑÕR%AXNŽæñš¥ Râ„"WnðmÓá.™,KêÃç¦å;xR­yñê !{G%!=æäÓ— aµÙ<Mr¬·8,£Ùˆ•14‡&ÖŸ>ðúÍkŠ$ÛKïbŽRLFÚ¦¡iŒqdiJÅñ›‡âøè„ývC1Ѥy] ×$J²ÝïYLé­ãþÝ”R,Ç ´wt¥R)ÍjO>ƒð¬› YŸ!]Ï2‘Ô‡ºï©>úˆË÷—¨}Çb4•‘œ=…É„¿ü§ÿ;fo¸Š\±¯WL#òÑŒyÝr{¹æÐô,N+Ð’ëÛ-¹n™g lˆþr¥ò¸}Ö9CXk9¸/J'´mÃz½ÂŸ ¤–×DÀ¹@ß›Xz ŽDAšgVS7išÒKÛ¶”•$Ñ)=RI¤ ,OŽ©òŒÍnKß÷L-ZJFyÊññ !›õ-í¡áÇÂËç/خ֬×kFU‰Šý®‡ƒAë ©£3Ò'fƒµ Á“’ ”b°ëÝÃÛ"îS‚(YÁÞƒ6Æ‹øû@é!CoiMÄkH³„<¯°¶)xL0àâæ{us‰P0)‹ŒDIêÍ×8>™¡þ“Ï'_WEN9N)')ŽÀÍuÍåÕ–¤ÐTó1§§c’± Ö,žŒHg £N Wçì6[:k8{ùÇOObàÍÛ×t½å£—?"=yÂÍï¾åözEBò0FËù쫟ц÷ïßœÇK»ß‘f’,Ø®e63™”tMC’(d{Rä‰Ö9I‘1šÆ|„¾;Äœ„`)’œ›‹þô»ï ]@ Mª3¤TcH“8ÿê:öCHÍ5JQ¦ÊlÝѯkŠÉ|‰½¹bs~ÅT¨³ï=Å£gåìß~ w5Ç‹~€¶?àµåÏÿþ¯øå?ù{|öåsNžL˜g„ܲkw¤iÅ~ÝÒì{¤ˆî¹Áœ€¬Èñx„•J„ò(!ÐB<¼}a\ }‹Ç¡TJ×Ázµ‡¦‰¾µP68Æ“ 0ƒyˆM“(ý ¢4Sü䧟Ѭ7kª<ÐËTQ脯¾ü9¶3¼óŽÐ²4CXݯpÞ’¥:ÆÜo£ C%%iœ2a >öμŲ6’ËQqçåcX82­"1Q‚—<ÉJÚ‡Ý[p-ã¬hZCÝ4è\òñžàEM6¨‘D È@q|Æþü†ýº!Í+F‹~þ9z”±¹¾fBæ´«†4«H¤¦ëÆUÉÑÑ 3´l·÷ÿFÅ9›L°ÖèÀÑéœÁ7q™7ŸÐö{Öë5Þ2â\\>õC‡:‚0MÅx3Pïj‚q(×þZiómÓp¨k‚ dYN–ìêš D\8á!=pj(!‰¦XLÙ^\⻞I5!È‘dì¯oIÚ†GŸP‰7ÚNðþâTàË_ýœìh„¨rfUÁ³Âç¿üŠi1bsw ©´*ĉMžk”ŽJG#U’””Ñâkª4g\•äiTíJ¥pNÆ>fðѵƒˆ£Sž¸-×iB^hƒgÒTáƒÅ[‡ M×bú޳ÇOØ®WÌfS>zú˜¶Þ“§yÌÍëzîoWy†Ãá€÷1.8àišŽºî°.:÷‚ Œÿò8Q©òÛï^C³gùñOX>}ÅÕå÷¼»Ü²¯¡YõüOÿýÿÂx9b~|Ät4Gˆ8i»¹ºc}»Æ ž]ß‘&)§“?´hm1ýŽÑtÎd±äòæGlL­4ÑcÐ:L×ã|‚Ö ¤@ GšCo²œ4Ï0fÀ{‹ŒõeH´ õqWá‡8äÀ L븼¼c³ªÉò1ãñÓvÌ—§ìv®oobœ°·H%JàBDîØÁ•ôÆ=Ø›hsá2h|°ØV!¥ª¢ÿ>ñß‚¦ëûø°zKš&àAp-Ñ& IDAT¥ ©%ÂEZŠ·ÎÂ$æÈàÉuÂdš2'dé”ݶÆnTÌG9‡nϻ ̄;tœLä/5‹é- ÝÝAèÉ‹ õŸþù£¯'“#„*øÝï_sq±¡3ŽÉdWì ú-=šáˆLP_·°øðú†›ó›­e°‰$Ã1^Î0Þq{»e4]púô£é˜ºÛ³82kÞ½ù†\xfÓÇ1;:æî~uÓåˆÉñ„|Qá2‰ÈN?&×)]ÛP)i¦˜.*Š*e:©(² k.8’2ÅxÞ£dœ<$‰¤*2²$a6™a¥·–´*Ø·{)<¹$‚è/gÀy‡L$B',ž>†4áüÍTš2=;"(©kÛ¡1¬~¸¤Ù;ί¼{¿g°ŠÉ´`T•Ø¡euwÇÍÍ=ß}û'î®®¸½¸f}³'Q ^§˜Þ`Û–ÙxDþÁÈ”C¢¦ÈDÑtM”n˜õv‡±Tãnèè×6ƒÇ‰šC׳«£?F*Á` R`Œ¡ï Z¥$Ž@pDU¢"(Á;ê¦áÐ4tÃ@ÓµÑfœÄ2,‘ë òÁêg†¨–¶ƒ}ø8÷0eL´Â âÌCX¤1›™WNH†àðT¢¢$Þ¨D“èX¦ C8Š"§È5ZR-) Åt–2›ytz?WãšCÏíÕ-Z&ä:‹¤Ç¶F`É‹,Æ-üG¿<ú:ˆ·÷=¿ù«×œ_Ôè,á—_}Ũ(X¯îx`3žö;†CË»ï.øðz‹i5·7¬ O½d4³|õ‚£ãd•ñêçŸQŽ3&Ë’åј¿øgÿ =Ož>eþè =ŸâBàÇs¤?=¦ŠâÅsÒã%éòg-ïÞ¿áÉ“FÓ’‹ë¼øä‹£BJnîn!…GÏNP¹ ¯únJy2-)‹QDÜß­XmÖ„T rÉât†Ti>º»ˆÑREÂyíf/ŸÓv-××wT³ åѯ‡í×Z2‘cIÛ$üðzESòñ¥=ŸýìŸ~ú˜}s‡®4ŸüøÊr`9.ùê—_±i÷ìö;›Žª(‘Y‚Wp·Ùr³Þ°=´l÷5‰ÐЦëh‡çãù/$B%4]O×ôÆÓ÷38zê|1'+rfóYLa %e^œ“>ð ãì`麞ÁÚøç>˜WBÉø0G­±’ŒG#ªjŒ@é”"/b$œ”8âæåA8NÐ÷ûíšåÉ1'ÎðBÒ·mì)è$‰ y€¶ïLw!R¢ɸ*™*¤Œ“®bôÀÎÍâÖ»ï »MC’”Xýë}ßÑ´[ÜÐ38Cš¤4u‡Ns’nÜÞ¯¹½Þ(È´g·íøæ›ïùâÇŸ0-xwuÁ«ZsüâKX¿§Ù¬9=óí_ÿÛ FÕŒ]½Ç<ŒteH ¨¨>S}òŒ¡( ŠÓ3Øo9lwœ<~Durñúem{ênÏ‹>böø)NZ°Àláâêç/ ËXô{já8þô3&¶Ö`íÀìé’äÙc‚‹ñ—¬n¯©Û#ÞÔ´û–D&”Ç3ÒEÅèhNõül6¼þ‹‰pPå9"8²L!“˜M×v`=ëÍ% ŽŸ’ÃaÃâQ‚Q;º{ƒÒóïïhÅQUñö¾¿»àÅËñüã¿Ï¶3L?ù”æ_ý‰Û77؃ãèÑ?\½¥Ù*† èÚšÙdN?X¼÷äyÁîÐÒ"bÆÆRsuqÍp~ŽwqiWe£¨ 놱ƣRÍl±äåó§$Zòý·ßp³¹#‘ ­3¬1diÂ(/°vwûe^<ô0’ âO!%mo™Œ£üïpF2 =ÇO<þŠ®îøÁ¿§o²<¥:ÚC‡H‰–t]B£´äøÑ1únÃzµâôÉsF]ÏæVbŒA#ɳ,N²†>ŽŽE”ŒKÝ4U¤™¦íz¶ûŽ>Ü¡D È5e–£Ó’jœÓõŽÉdÊþÐF13¬ëzGUdÑFðùÜ~}wß°ß·Œ'GGsÀ™H˜ó^ÒÚºáãÇ'dÏ>b¸^óÏþ¿bwGË'$iʾ®Df0œ,§È£ Þîèû I!@Y®¾û†û7<={JQÕޏ{û–n¿c2©BQ‚Ðàí¸¿¼aRŽRq~sÍËφ^¡Ž–P¨×÷tÂRMI¦*²¼`rúˆd<æäÅGä³ “zÎ^>%YT¨“%“W¯`~„í-¿ù—DŠë-Ã0Ð õ¡¥•Lg'¬nvø.0Ÿ/Qg'Ü¿‹ö H0äürËû‹šÛ•¡i{²T0Ÿ¦LÇŠù2¥|:GŽD0¤IÎÅ»÷\¾{Ïù›X.ª˜!3 Y‰:G§š¶ïcjSôm`0žT—LFDˆF(¼Äñ¶OuJð„Ç =m×àñEʾ>pw¿æþ~…ùäsêzàüüHbe’°ÛìQŸ-û¯Ó´ ªrËŠù¼"¸k Ö:šºƒ'!ZvïÞóîõ7ªê˜¾±R>xµA%šà,—çHé˜-gÜÜ\ E@5-¾}M³Ú3«¦¨¼ nÈÞðÝ·c˜Ž§Œ¦3úºesqEw{Ïõû1óNJ&Ó9¯ß_0Z.°¾¹¥˜Ï0MÊËO_±]ÝÒ·†j~† 7ë5g?û9é|Q˜EF/ÓÇOGÇ S̾ã÷oð½!×IôVø@çÅbÆ“ž“Œ—4÷[V×¾{ýšg ŠÇgÐ[ö»ž?ýpÍõí2åÇ?ù)ZKtâÈrÅj{ÇÉÉ’ôÙGˆrÂæíßþö[î®®) ÍñÉŒÙtD×´È 1ÆRMfÌŽ*áд íÁÑwŽ¡‹ž…"O1}ÿà‰Þ’¦;ô¤Yú 6h©’XVlw$J&±öïûxȃCÅ`£»( òåöv‹ º>0™ä 6f ¦©Ä¹Óy‚u¨F…ÆÙ‡$‘ ÈJ†!Šõ‚X Biªñƒ!ÈH:‘JàCì ¦Ó)]×Å#XºÖ£“H—ìê=J)æÓ9»ÍŽ÷»-‚Xê´½áÐ5ÌçŸþôoÞ¼a»[±Ý6(¯HeɶÞÑö!¢éI)ÖZé5€¸YR Ù·-‰(™NK¦ÓŠÖµÜÞÝQT n€áMçxûþšñls7dÙohº‹Ù%s„×´Ϥ¬Pÿè—'_ïê=ÖŠB‘Á¨*—%÷w÷L'Rxž<=åñ£S./n(Òw7k¼P”㭱ܭ÷ô½¢ªoZ\oiê$G“9¡¶\¾½àÉ£§gî]o¹½¾CÍÑì•Ì ýôsNËgǨëšééòä1¹H¹x{‰ï×:gus‡ö7¯`T˜Í—`$¥3ì=÷×5e¶`rüÁ7¿û\É×íÀ¨šÐˆMM{»A˜žq™¡S….RÎ^>Cþøöþ†«Þ‘„ÀývÅt1aùh:º®!£Á7xGšŸp8xvû=À®Þ3 –D$|øpÇëß¿ã¯þÅoi·5i*øõŸÿŒùŸ24;vûšÍížÍ¦Å8Å®îp!p¿Û`Ãó—/øÅ/M¢ww×t¦e:.Y.¦\__£ÐÒ¡„g6Ÿp´\RV]ÛÑ™D¥¤:‹.»0ÆàB"¬ch¼ÄZK×vñ yA’$ Oó˜ÙnZŒ1B,e´"I]{ ©h[CÓ·ÒÒ6<]Ó1ÏXÎŽØï\ß\3¸,ל,hP&1оm0ƒ-X-xþâ9.ð0‚xëÞ¡uB’Jæ³1e•GoÏ(#Õ mßâàÐÜà±Öâ\RÉW¤HÈ´Ž´›/îk7Hê]Ç~Û2™Ìùõ¯Éfs‡ð†@ýa@ðÃë7´‡"anß÷¬ë–ºux— PX?é­2´LÙzp’i9§Þ6\¼¿¦ªfŒ¦ÇŒFs6«–ßÿþ{n®÷¤Å„•Ô÷[’ ÈŽÏxûýjÃüñ úMÛï>°_5lnV¼ý–«÷çìï64«²õèPðáõ-û{Ïû–×ß\sónËïóš?ÜQo-ާܯ˜]Çr~Dš—Þ_` eªÁEö¤D–‚Ãõ%Iß‘g’ÖÔ4CÍf}Çæ~Ež”>ãüÛ+þø»stºäâz‹³ž<ËP ²DÓ7†»ëßí÷ë?þì”ÏýÜ–f¿ç·ýGšƒÀôšCǯ^J²¢äÙó'|ü£)Ë‚jRrqñï ËŘ¿ûwþœù¢¢m6LÇe‘RÁ(vÛš¶ë©Êу)ÂG™éHtJ–G§_–8ç£?Q4‡†¦íB2 q|ˆÚ)gc8žßF¥ãmÀ£"†_@‰¡ë¶÷÷ç˜O—·7·gg'œž1_Îcù5X¶‡….2=9åoýí_s|zòìÚ’… ‚ÞtÚÛÍ7ÒD±<.øùÏ?áÅËSú®&‘š¶18£Ç”phéI’À¨ÔEB–FØ‚ú?9úº9 h3šÌ¸œ_ðæõ{=zÄ—ŸÎ`.nW™aƒFª’¡µìwÒ4£?ôL¦ ÊjÄÛ·ï¹øp…³p}qËÝýž‹›5ûÀ9C/¸_Õ\Ý®¸¸¹ã݇sR))„àüêŠÕ®&x÷îoÍnG¦'DzLññÇŸpöø)7×þÕ¿úï~¸åÍ÷7Ü^Õt¤Þµ¬î¶ ÆFo£­noî¹øþ ÝýšÝý¦;Pf)‰ÈL19žp´û #¥Î>û„ÉlL•—<}ò‚<óÝïßóÍo_sض»€51'£ímÍxTg ÞEŠàf;pöΞOÈKCõø_Þ¼¾¢Ù{9È”/?¡nj®¯/99=áèøˆoÿø ç>Ð5{dpx×q{}Î|:âd9,“ј Û]¤‚ׇŽaðTUIÀ#±p¤°µÈñÕIÂ0 Qíê=‰JþµDE¢‡%EÄ›&)i®È’„<ÕyŽ1k-JKt"XÌÇ|ôäŸ|ü‰À Žz·ÅyÃr9⋟¾âÓO_Ð4{š®e¿?`¬£7=OŸ?ãÏþÖ¯8t ëÕŠóçì×»H8!üÿF§@ômc©ª”?þˆ³³¼Ð:c³Ú ˆ²ú4‘”U†”•Ń:ÊÑÕ?üÅã¯ýCÖršjî7œO‰dy<åó_|޵žÕý%C?¦’¦7\ÝoéÁà5õ¡g³Þa­Áð>€’qÜH$jß­ÖÜÞ®iw†¦ص–Ë»-»ºg¿ïXÝ­pd:'OSf³‚ѬâüúœÖX¬¾`ù_|ùŒÓ³Šm·¦˜U<ûâ+½¤Þ{Þ¾»ãæºFˆ!uÌt:—˜¡'IJ‘s{}Çzµ¢ÈR&ó A8¬ðøL0ÇÍ›û ZjÊåNO"òÅHÒ£¸-üñ÷ï¹¹<`:‰ï ‘)«Ý†Í¾¡šhþÃôø;ÿþ¿3{?™Òö÷üôçOø[ÿÖ|óÝ_#ŒÁ÷7úƒ£k"ŠæÕǯKêýkz>¼ûÀî~ËÍÕ Òy²$l‡mkÌ¡%O5Y‘£ÒŒÞXê¦Ç ÑI§Ó 7Îm×"¥BšððÃt=ÈÉàÃÀl>¥U4í!¾)€²*H’ä8-ªZ+ħJÅÆXà(JͨJ˜N+&“;Úz‡ó†$³³‹©f:’tíû]Ízµåââ’³ÇOøäGs¿ºeè{þïÿ럳¹ßˆ„"ÙâqÑ3?L×cºŽ¾‹ä"ª¢¤Ì3.?¼Åô ã"£Ès‚ØÁ"“¥ ÎK’Óǧ•p~yõ`&™ðæÍ¯ß^p½ºEæ%O^>ç›o¿Å&šÉhŠ#áÝÅ Mï)´uM}0̧3t")²”,‘ôýë En©»=çW`œ•yÁlºäæþžûû yš ‚ŒÛsUPf):3™œ0-¹[½'M;FÇcÊÙ„é}„é·4C@–Ù(¥µ{&åòŠÕÛ{úF²XÌaòˆÃå–êäɾZr}ÙqwÕÑ÷ £"§ýÿxz¯&˲ô<ïYf»ãÏI_™•eº«º«ÍÌp@˜0HJCùt‰Ð¯èþ%ºU(BºRЈ$†b€ÑÌtº§MùJŸÇm¿÷2ºXIÜ×EVžû¬õ}ïû<Î༄Âá€D'ìÌv!tý†¦Yóøý '»¤‡üÁø_ð«¿ù—¯/‰™Ò›%*–øNòÕ—_MÆÌ'SZë(¶%›m°žê(°Z³$!Ö‚¾¶¬W· §sÖù–²ìrSÒu†é|Lgz´ù!o=qÝiÀìJÓÜm•'§Gîpu}‰±-u]£TІ)¥ÿE'ooIu‚éj’X2CG:t$0MEß·Ìw† Ò ‰CkAÝä$:èÀÚ!ßÔ,îÌQ_þæ×D±äôþ ¦iP2ˆ÷c<^†eŸWŠl4Æ´5ËeÅ/þ—ç7üèðôýS†ÉŸñ·?ý9¸„²¾¶xRºª®£¬+„¬Qÿë¿þô³óË nnÖDÉç"šÚQµ–MeqÂáþ„HXnÞãŒg]§Qе‚H$¤Él4B阶éiª†¶jï09޶nñ"¥é­ÁzËGOŸ¢•äí»W8×3Œcú& ‹ºæf¹§y|ú”½ùI”QW;‡;<|úM±£§¼üê¿øù÷üä¯~Áù›[¤JˆuÌÏžð{?þ˜X{ §kkÚÊ2Ì&HŸÐÕ=®·ÄIÌp:A'‚8¶DÉñÓÇD£1¯¾zC}kPfˆ-áíù†ùì˜Û뎳7[®.JÎß­hÊ­B͈Že^DŠáŒé ãêùoy÷ö[Æ“˜Ó÷N8ýèC¢lÂø¿ÿ 7ïºmÂvÕ"´áˆÙMË9Ož—rÖ¤jšI¬Ëùã?þ„é4"‰5W××¬ŠŽí¶Ã:ð„»Ðš4 ì&-czcï…qð^Ü•±¤r,væd£”á(t®o®±Öb]p«Çq‚s)ÃÖ;ÍÂ[»*j"-îd-¥Þvà;”p$±b:2ž¦³„Çï2K"Õpr0eo>áìåõ¶¥ØV(ã½#MSú¶æêò ×ux Í ‘¦„8å‘‘QyçñDX+©ËgZ²L1gD‘ íZò¼ÃúĈåºg¹ii-´¦Eýå¿ùø³ïŸOU5(=À" FtÖs›äÊfuÍ>þ“ñ‚W¯Î¨:Iï4Ö» &$Â{È«’Þô G#ºÎ„Ùw߇K™pŒ† ÿßÿsîŸqqþšb½Ät R b ³Á€GÐÛžu¾%Ï+nnV\œ]Sæ qœB¤QIÌh6§h Q4åÍ7üê—ßóæÕ–¢­yÀ쌇›Õ9;‹!‹ùˆÍjË(¦“9Îû0‚"<ž Ù?˜qxrÄàþ#ºeÅ«oÎhr ~€T#œ¥»œŸmùÝׯ9?ßP=‘úï©_I:W5»{D8ªò†hØrpºàÉ'O9ùÁˆÆ»ü_ÿûÿÁíÛ%®ôeS¢[Ò¡&M#æ‹MW%ugiÛ ô”RÒ›’ù|È¿þ‹Åb:æ·¿ý##ÍÆDQZ/P‘Æö–8ŽémO݆\SÅwhLˆRE’¦üþ?ñÑÇŸòÝwß°Z¯éšž¦éIãŒùtÆd:¡ª*Œ )×ùlVŠª.cöw†fôÞShÿåÿüwT³4!’žÑ"áèá‚ÓŽî ùðÃ{dËdŠ]‹Ý#Œ“tÆc ,')Ù™Îpno¶ô½$M‚@¾ëZê¶¿CFwXq‡ %tðž#ͦ”uEQ•¤Ñk›í–í&§.ÚP² kBš½l*:ÓÑwùvKžoˆÓˆ{Çûüø“÷99Ú#J4ëÍ œãøäˆ8ÕX×kÁ SÎXm/˜LÐŽˆÓ˜¯/yõêš¾M;'è»´p†¾mˆEtG‚W4MØÌw]C… µ0Žaš’$’ª-Ði„LnV+ʪ£j,yÑ’¥3Šº"o¶t´èD…j¯ŠQÿÛ_<øÌ{A×Z¶yP)wn -%ƒÁ%SÎ/n8?¿Á I”ÄàAJd w¥üÑ(C+…s–æÚ6OCÃÀu¤©'M%óIÆ` „âÝÛwŒ>þè#î=}ÄõÙ[º¦GÞ¥Œ& qÌ÷ÐzÈÁÑ#œKùâ7ßóúå%eéð.¯1}O+î,89Þa1Íøðé#F“(«6û¼@ÆqÐXs!Ù™žó³Kª«5go®YÞ´wUÓ×o¯¹¸XñöÝ5UŒ¶uÝÝõ(MoÉ·%‘|¦|}‹µï}pÌG¿÷Œèè€ò2ç?ÿ??áâ›3vGcâNíóè£SÞÿô˜ƒG;,ŽÇdó„Ý÷9yô×{nV 2Ê(답"Ž5?ÿù¯øúëï)kwЦµÔuË&/©›” Oßã…GI°ÖE1}çPZcŒa8 „à«/¿åêü*°Œ›†²(±Öá ´]ÊHiÂbgÁõí uU£c…žAäÙÅTåšëå’ÛÛkŽ÷¹|H’ÆhíÙ™MÛ¸¸a<08C"a0âÝ«s^}w‹ò B_G¤Â;Ú¶EÉÐWBÑtï!IS‚¾k(·[| »ãéã-Û¢"ŽézÇfÛ0LÇDѺmБfº3 Ý4a2±˜î ¯.ß’W­{†©`½)É’)ƒáœÎYš®¡1a‘²\-ÃltˆR­<Ò†¢¹ï M.q„r–¤TE˶¯°½Ã»ˆ¦RÜ\UîÂÑáC¾ù‡Wìî.0Æ#1”—gÜ\]`Çt0åÊoð½#–§§ysqÆ8›°»sÄòzÍ‹WïxùâJ¥ììŒØ,+b!ˆ™Œ‚áÇÚ„h˜²-kÖë-W·ªªc0œ “1uÝ“×2—d)Þ{мBŠ!ÛuÇzUÑõ‚ªºc¨ª€üé›–4‹ÂÒ›çcº^ðýþŽß|ù®³,fS’¡Âè†ÁQÌÁ{CÄé l¡ºÞ0HF $j’ÒøK*#0t-PiÆ?ã믾äåË—Ddq†í»À€r ¢8€D`lEZ‡ê¬‡¦oÑ2!‰R„¤‘±7ßÁô=ñ0Á§~šÒ4U““ª-¤XÝ{û\]^ÓÙž~ÕPÇž›ëK"iiL]‡0=}Uâ]H/¯o®H ©-i¢`: ð,e]æÔuJGƒmÓK…sá=‰NYìísµÜPÝæÈ(FÙž¾m(ª-ÂZ¢8¦)ZÒ,âpgŸÃý´å‹çØÞ2É<㉠é;²,aïpGï?%Šç¬·¯_¿DýEÉ™` IDATå_|øÙ6ïÈó޶FŠ”¦´;©"Œ ›Pw×Îòw>6!dÐÑJTá¼Eq‡ËXÞ` $qŠï eYÑu5mS±Y¯0ÖDŠÕæ–o¾þšåÕ ÓñŒ“{'yŽ" uÐc½~ýŽ|[³ÝVüÝOÆåÅ%išb­â» þ ‹ô´uN¤$Ãá¾ë¹¾ZQ=]ïȆÒ4CHµD $ÆQ‚ð½õ´£¬ BD$É(=$M]ž4Kùè“HÒŒ§Ožçƒm‰"ˆu8’¾üþ¿ûê{\ד¥šÑ8c4OÙ¼ËñûGD#²ÑÓ–[\/ˆl̯ö%ÿðëçä› 4Ã…6[)’$ÁZÏõíã5­q!‘RcŒ’³ˆ wI’„8I@H”Pw}êžý1÷öXLGÌÇSÊbKzGoûÐÇÐJƒó$qÄ'Â`<âùËô]‡p=öwxt²Gy¬íhê:\Ò%‰4Û<'Ï74uIKv÷&AšHˆ¨þëÿûSê%Œs¦Ã1în¢Dè—ÔmGç…mQQµ-]ÛÌ«”áÈåFIkI]7l6[" DÊr¹¥(+ä åéMð¾}{ÅÅù%Û|ƒú·ÿäÁgÏ¿¿9¤nxöÓÙœ³ËK–«%y¹Ñ!¼¡iòmIß6Œ' ƒQÄ“ONÙ´ÏÑ“‡Ä;#òòŠdS\\3È,_­øòo¿fõ®"eÄÎhùp‚k{ŠÍ-±¡¹&$Mד¤ƒ Áì[¤”t"wÁa’qpxÀÉý\]]!¥g?¿«ñ&´uGÝ4H-Œ†˜ÞÓ¶†¶®¹ººù¹þõïDÛI߬r6yN^•TµG(…t–º©P*ôau¤Çx<¦n*ª²¦i-"Šh» íu¦¡­+ÒX’DCŒ,f;Di‚1]×#‹ŽtxŠÅD‘ÑððñvwÈš¦,yûî[¤Ð G"„ÜèÙl. ÇìÎ'¼|}¦“ ëí†ápŒ÷=JeÓx¶·l–ïPZ |Çá|Â0¶Hœ•tmK×÷$Ù€®íCÙ´¤ƒ$d±ðyÍúvÍLŒNÀºÃm-S²!>ÊÚŸF,1&€ŸÛÎÑXC·-‘IÂh4¢kZò²a62Ï骒›«3†£ˆ§ïÝçý'Ç|ûÍ·dé”Åâ€ß|ñ[zoÉ·7D±CGUÙ 'H-B×ã»7+ºÞˆm]°w¸ð‹£fmO]–¨»™|kLÛ#¥d8 ­,§>ŽhM@©Û>ø ÚðJ©Ûžõö !#ÆÓ€¸‰1ÉÀ“·[˜%L÷Rìó’Êܲ)ã…f4¡UÌùÅ%‡‹ u“2ží0™íñåW/©Êœ¦*Ñé(÷"ÏÎbŠwÓwl·9uÙÒÔ-i3ÌOšÅœžž2œÌyùê-7Ë ^@,Rš¶¡o Žb&Ó¾Çñ½û,WÒlLÓúðvÔ1m]ÒuãÁ$`¬Wn‹ ¥Bu2Ni;O_w`Sʪc>×üþÿóÝ“¸¨ƒ©[€4$ÂðüÍ+Nî?avú1Ý6ã»/®(ŠŠF\ÝýþGœ<<æÙG÷øú«o¹ºÙжŽx: -k¬è‰):JÙÝ9ÀŽ/i¸'¼}sŽ”“ñ€¼ÌéëŽyöäå&b»ÍYåqÒ!5$²eÿpJÒoY©ònå‚È ¦Ó ±ÒŒ†% Vg^ŒDx’¥ï%J§L†êjÅõÕŠ¦i˜Ì'Ä~‰©<ãhÄM[1œH¬°­qÂaHg!>„ˆðFPß¡ûiB¤SšÆP5™Œ‘`8ðgú>óÍï¾åŸüè€é,Gé”u^2œìŠãûÏøí×Ïùê«ß¡” À•Ô½'JÔÆ‰Ø9îßÛóËݽ mßSßA®l²$I”Ä)mzÅeÞqØât„’ƒYÄz»f¹ÙR´£AÄdžá#Cç€|Ãî{xº½a6“ÄUÞRTÛÛ%ç——H!™ïìpo:f÷ô”ìÕ%R–Ì nn· GcP.°„"Ítc6¿rÌzÝ‘ž4ÅØn—_1Ξ2šHšN³Zv“AJ'=Q*øðÓgLF;¼~yÁîÞ OÏÕÕ-Qœ±¿»ÏzuƒÀ1Ha˜ òͳaŒ7‚ªl‰dè#Õ=ˆyx4åþ^ÄrsÅxgÂh:âòìÛ[v¦»TeCÝÔ´m^‡êh|¦£pÿK‚ëÛ)Š¢Ä9‡µžDM(s‹³ü=›…ŸÙ GczÚÞc¼'ŠSÆQBQ¶Xk±ɇ(Ëj½ÁÚ%Æ 2å¾~ÎÞÞ€ñP1Ÿf?øÁ3?|̇Nøæw_³\ß"…¢®;¢(#N3ò¢ÄX‡ó¡C0 ØÝ›#ñÓrzzÊíÍ5Ï_¾âù‹ç\^ݰ^¯X/—,—K”éa!CY¦ë-õW¬„ @kˆ£„Þ;ë:ªò†8êXLÇhE~³Ä×Ú é‡ä›ŽÍº§¸n(× ãtÆt2¢÷ “٪ݥ1ãmØ¥4M‹G µà“|̃‡ØßÙåò⌮¯yÿñûä›5¦k‰µB¸–½ÝŒ“{3ÍÞnÆñÑ.ÃA„Ö g7×y’½3xÙ1œfì<܇D*O–hªº¤éZ²»n¸qk-J)ú® 4<ÞØ; sÈVIJPȈMÑPÖŽÛe…õ1«MÉÙåó½}TœñöüOÌj™cz‡³–Á c6…é’pÄiB2HØÝÝeŸ¦îpÆ£cMU7()Å`˜|þàÁé@²Í¯¸zŒõ‚ÛÕ)5§òøñ#Ô‡‹k-„5dq„VPÖ EÕòsӻϕŠ?Ã ê¦ ì ©è{ƒ1ŽÞ{gÝÖx<Æ„‚t“¥ ··kŠªÅ¹kËÛ‚"¯XÞ– ²)Y6'Òc¤"£*š0ܽO:;DŠ„¯~û5çï®æ4•“o‹ðÖ¡g>±w0#MW—gܾyÅt2 Jc'¨Ù¬¼¿sH{ *BLßc :]U]QÕAš¦ÄqB×4”eEQæDR‚€¶í°ÎY»ó8p4q¾…„^ Œ7hݱ¿;fIŽŽˆeL,bÞ½zÃòº Í1~ÄÅå ï=zB½*Y]®ˆ¥`±˜°Z]±.n¹wrȶز½¼¢,[ ŒœçÿÅî‹ùÙ çxýꇇ{xg˜ÏG RÍ|–1ŸGdiÏh;‹”Ùþ„hwÌ8‹I‡#–«’Õº¥÷½ã®!¡¼#ê B ²ƒæ{ ÒQF]–äùK¤¸U!%é ká‘Z>­ð¤Ã”Îö8.ãÂÅèhDÓHªÆrv~Í»ËnV«¼¥¬Â‘QŠdL"œ8¦‹1Qªéº†¾m9Úß'Jy¹AI„qÝç©™/ÆMŽ%“EÌôpÊÓg°7ŸÝ-x#´ŠÑ ‡ð=Jà ‹eq˜Ð °}ˆðFJ#%"’ -¤Ÿ,æçÙáèÅ ãi „ñ­AWU!ñ^Ò4I2"R)QtcB&ô½ä?þ§¿ãêfÿý7ÿ :›1ÆÐð¼e8ÚCEg¬nVhàº0þ³mÏÁî‚ý£9“É€ó‹sLßQU9—WŒÒ!ƒÑˆ¦µ8:Ä]è¬jÊð3(…u¡;mú–ñp@6H(òÀyŠcMgζô]‹é«j±·‹”’åí¥8mœ *‰@`q]ÔtưspHšHžÿîÛ’i2Áö¥1¼xñŠÍ*'Œ)[ÇÃÇG0Ò$™a:Š8;{ŽP=ô?æô£§´å–¦éYßä¬oÖŸ2È"¾ñ–Ï¿gooÓÕ¤™`6Ïhš5ï=>F MÛ¶,oÞ‘fŽùˆlÐ1˜e ;ÊÛkúÚÒZR÷=Âï “éxNÓö(c˜¦ŒbôÞŒýù¾mè\Çê¶@8EÛ4 Z×Ñc*xW³ëˆCâA½£¯6ÜÜnp ÉF3®–g n¯+^ŸLgS"0ÌhŠÛöt=H<ßÏp8àøäå$ggg”eÉl’‰À±Ò4}Ãë·WÞ›±sÿÌùóoÈÁÓïóäé§üÍß}É«—¯QŸî bíÙ]Œ8=ÚEkÅ©ˆH)0i-ÅfK“¸®û\K>ObýYª5‘–ؾgISÍîÞûuÒò¢Æ[@^&pŠº6¤0³QŒõ†Ï_PV5ü)2Jé{ƒŠ’puž‹‹w|ùÅ—AŽè=}gÙlWÛ²»7c2˰¶eo©AK‚ü°sÔu‡3‚ͺÂôž¼ óuïA Ê72èÌt$1mOoC1>|St8’¥MHY–!´¤i[¦³9ãñ4K˜LF!,7±ØÛ¡i;Tq|ÿ˜gÏžRn¯q}MgÜ,—XåZq»ZÒKckNÞß';Í@æ,Wg,oß2È$i&бçÇò‡p|ÄêùK~ó›/É7[lg˜G<}úˆ³³w­ùð£˜-†D±ãã}ÌÞÎá=¯ß¼ä›¯K’ÀOïóþ÷™Ì“°-EºZ$DÑ‚×ooèDÆšt“M"v¬Ê%6²¤#È4(˜$]UQTUQ©˜(˨ۖÎlZ"è¬wH¥Ø?8d2œQ—=ëU‹1Æ+¶eG^¶hÑµŽº1x¯BHS7ˆ‡°BPв*éŒa¾³à‡?ü!‡û»¢éŠÏÛ¦@ÊðY'Ñ€¦µlW¦õˆª§kCŽÌô–ª¬ úÓ'S“‹Ùéd„éÚyPœRÑw!0Ýy ­±Ÿ÷Î|øZ¡°"îöUS…mp:`o—½½ƒ»°—¥ëJÒ,xý¤² ÇG÷Žøêëo™Ïw9:¼‡A§ÛTó×Ã?üö ú¶½«j:ð¯ixôø'÷)Ë‚ã“c‹9qSlKŠmE‘×+ã ͆wz3@ø@œ“‹á‚ÞzãþQ‰V×MÐóÞ}°qSÕ ÖìÌûEÎø&Ça™&Ø.¢j"^½¾¦n-½é˜ïŒøàÃGìï€r¤“Œd˜`ªœ«³·Œæ†YÆzSq{µb8˜`MXü*òhZÆD:û %8¾J¬3Þ¼½âòº¤j-(ÔUÕ£õ€8bœÀšÐSwΆb‘ã*Šïºá5›õVœ½;û|goÎx˜P[4‚ñpN>(®¯W¼|yÆí² , ½ñ EÑ2 ™LègÞ§ï:ê"E*‰q-]_S7q¤IcEµ]ƒèÛœ¶€2ZòÉÓSl•¡’†ú/ÿë ¦F,¯rYDâi4„8e´{H{Y²ÕÖ×Âiþö'?g¶wÈr“#%à5ß{Ÿ¢ÚðåW¿æÙ'rïþWï~ÅãgC†'‡Püªeµ¾AÁt2!Ögg×õ–Ç·Ç<øô1z±‹6Žáx„÷ g×9‚e ¢5Ô›ú9óÙ.̈BønX×ED§3îo›ë SXºÚ‚“$Úho½·4UË×ß½&Ñ ×eK§¢Ñ®kX®×¡ƒ¥©vÄXzipоF¶¥"F£ „f4ˆ(R/øÙ/~ɽ½)³Ùß´Tt]ƒ1ç&œ_S7·…æûW7DüñýÒ¥\]^£“Xa»àf.ª‡b¹ÞÒ÷} ò °¾c1›b¥¡n;PÓœ tˆX(!•G)á;×>iœÄ y‘5Ù0a¨'‚OôÏ>~Æ·Ï¿c2ž‘Ä#Êâ%?ýéßr||Èßÿêç4uM–$äÛÛ5di6ÉUÃx:âðhŸçÏ_ÒÛÀ&ÍËŽïªôm‡·)#L×cŒg6""AÕTHåI¢(|' Ò ukhê’,h*KIÓ”¶é°¶gµ©ÑiÂÎÎà E}NÛ”hÕ£ÉiÊ)ã YwšQ*‰eÃÉÑ=F;3æ‹_|ó"ðèÉGooyõú-Ŷ¶S*…Öã^œ‡"Ue0Mx¸ÚÚQÕ«Í;tc…a8J¸Y^qü`‡ëJp•¿æ£>ä‹ßþ%z$ SÎßþš®)&|üé3´¼{óŠõí _ý:çÍÛìùð‡Ÿ‚ã.Îxûî9ëME$äH"B[Ûw¨T@Óœ½Ã¸žÎµä¬ïOØýð1—5_þü+¼ˆC͙཰Œ±lš§=ß=?g>ãdJã{bMïH#¶eA³Ü £, uŒ ŒaS·M0ËzE]õ"‰%³Ù$ EMÇ UlÖ+æÃŒÝé%U«MšÉhÎrSñý÷çŒÆ1é@ñ×ýœ R½]®¨ÛަwTÖ„\{6B«!-¶oHÓ˜¶]#èÐÊÓôçZ&x'èéïÛ‘ðRûžˆªî±6Ð{ãèmC…ùþÁymø÷ÿñ¯È‹¥]k¹½ÙÒÔ-û³ãd­ )ж#R!cº®!Jb´Žèû޶­yïÉû\]]ñüÅëàÙ°>h¯œDE1I0rƒ1=M¤ˆEePZbê c:")mË|2DGkƒ‘ÔØž(V̦1³Ùˆá¨GÊkÒáÙG'dqÄ믟söö%"„©=øß[NN€õœ]æÔ•æç?ý‚ßýæ5û»;d:b4²¼Ùðòw/™ß¤¬V7(™¡ˆH“kÓᬠ3´–Jä\\¼àèýŒÿð†=ÚãÕù÷|óåW<+Q4&¿¸e(¢Tp|zÈìä>Òºï6ÌÓõzE¥-lZHGܬò*ôl /ièlCQ\!êŽI?¡Ë+´ÖÄ^ÒVÆÓô€‡?zÂùå5ç¯WX«p^Rv¡b6UCQöDi¨Õn6á…ëðlËÓxÊ¢£ë‚ÏO¹PaB€Ðx'Hô¢®:’Ø¢TÛŽÉ4Fùž®pŒ²EFYh!qž»ç6BÉþŽÆÞÓÔÁ¶Ô7%u=º¨š®íÙnËðËo’X3&¡ÆhC>˜<"±íÁO–Åx×ÓT%£è¶5Z*oïrHB ú®§ö†ébÆfSpùí‹Va3=޹wxÈ7_Ãåñ1‡»‡d:âòò‘Rh-©Ê&8œ£i+âlDš¦œ¿;cµÞd‹óŒF£PÅ4AÅkŒa[liÛ–®kïl¢¡ò©UL”dÄR°-rЦD¦ Û¶gkT’0™Ži›š¦­øàô ½-98Y°8œrp²Kt°—·hvØÛ=$/Šª¢í ƒtŒé ª:Ú^10L[Ê|ͽÝæó!³I„1 çoß¡ì‚Þÿˆ«Û[.¯oÈf»Š›«’ºªITˆ“÷}‰ŽëeN×ÒÝCt·í8~xÄoÿÛ×Dý‡÷ž0îpæWàÿáßÿ;¦“ Í:gjêuE:Іï¾|Åñƒ Gh'Q¸\{×ÑÖ9“ñ”by{Íb±‡3Ž<ï˜Æ#ÊoÂhÆx1äêr‹5’®¶´N³ÞäÔu "¢X54mЮJ2O˜Îv(1œ_¼E«ïÍÝ$Ó#m9(™¤¤í‚ Áô5½€8ÖÌÆsöwSLWb:é[Lc¼Zj¤÷4MðŽÑ0¢¬,E±%Œi|¸»$ÙõÏŸWCß8Šeéîuð—%¼D«!"Š¢¦¨º»2àÙ?æÁ|Êäô5Ÿ‚Ž0EC½­I“„û§{´]ÎzcŒ@ø—çk~÷Í ¶ë ¼e]ÌRUÙ"E„’ VÅG¥G IDATD´FRT†7¯¯"XQ‡ƒˆÅ,"Àt–‘Œèýh-Ŧ&_æ´›Š¾éhMÇ ÍÈ!¯ŸŸ‘¯[ê–«†mÞÑvžÉlÞãàÞ1ÛmN20Ø9o^¿£Ì šºCJAoz”ÒB)ÿ¹s†ù|JGô¦®ë¿_®#»óŒþàS’8ãÕë7/ɲ ëCfm< bEšÆÜÜ^c¬! £c:bOZ©ëâH’d1q ƒXÓt–Þy”ÄJ1ÄÌC¼nº çù¶ÆÚ.Lo”$Ž5“ÑEÄj¹$ÒŽ$UˆºÇø^x¯¼Æg)]ßñ¤ß4Þ[:ëišîÛMP¸®¥m¼Š˜LFÄ:è«<-#f“1½u˜ÆQW5>ÈÚpGÊSÁn uU#ÓÇm›…¨ˆŽƒGÿ)£xLßt4yÁÑv%^šmOWþŒãG—òGÊìvƒ0–¢ÈyõêÖ¦¤iF×9’$a2™Ðu-}ßà¼äÝ›[–7[Vˆåõ : w¨ý{§œ>:æìê5?ûÉ/ñ.¢m<ÓÙ=ZsEÓ”¤I‚¿Kx$ËˆÒ ÿÿóôM–%gšÞãêè+"nDdFŠ’nL£›=Ã%͸å_BífÁÄ1#lº9-fè( ªP)C_u¤\øE/Ê,W•™÷žãþ}ïû<ÞðöÝ 'Ú&ç òBóôðH™gc²¡JÏ0w\_#•aÞ¨˜±{Ø3õ#«å‚<Ó»=ËEJÜ?>2Ínö‘å%2+x÷6•ÁŠì„¯Tž2— }êáûˆÂ ¢ÁˆŒñбÝiÇc*%û§ž§§ôÆðÚ™a Ø9$RáÉX¥2Eo{ʪ¢©*îoo…QùWÞ§»B¢¤LŸ»)­âI³l²4ˆá”ª!b'ÇáhqA’å%Í">ªjÉh77wØÙãæx:r ¬˜¼EýÕyÅl'&7á£ÃÚž"ÓœoVä&"¤Çùž¼”‘ÐðOO{†~>]d3œŸ‰!á"׫Šå¢ÆùÀ~¿ÃÅ€Ç3L#>ò¼þÊ:÷Õh§Ÿ'Õl!X­Ö„“=g&”L’s%e²|’ü J§mµV’<ׄ°ãLôˆ”UIÓTOªGç“ È§z§u36†¼¬™&ÏýÃŽýî1â¼e&’¾Ÿè† {ò½i‘›£2) ©´¤(²ô=yU‘5ÖÏ EY€€Ù%¹»óÉ#2ô3Dƒ9‡ýÈÓS‹†Á8[>ýü5—×Wüó7X7q¶Ùðõ/ùÓ?û!Z:înÞ%Ÿ]Y¢Œ)8[Œ‚³Ï¾€½e<ŽTyÎû·oЊÌ0Ù“š³5ç——|ÿþ-ãi®¤$JÅþÐrÿ°Ã9Ože,›’US•†ó³vvÔågáöý-y–ŽÙ¿ýú÷Ü?˜FQ5EqÎÃCÇn?Ñ‘vpø Òâ$~‰ôS‡Éçœ/Wâß~Igˆ¨IïA×vÌ.•ÍþxÏ„ ¥¦Ès´*øxóÈþ0¢‹’ÙÆyƺÀÃãŽÇ§–þ8P\]ñþã1&ì|^˜"G™,ŸB¤kSzUHþÇÍÍYQ¢t™€eQ"Ñdª¢ªVø è§ "Y^0Œ£µxxÚ˜çHÛŽ(U$)fTL3 ǾfÎÏV<¿~Áý‡¤ëG^¼úŒ—¯?åõÿú¿ ogœõöGªrÁlgf—ޜў• ÌÙ –ãþ€³B@HI?Ì>¤àå—Ÿ³jnoohªœÌd<¿~ÉñÐ3Ž3nNgÏ6|úÉ5U#ôý@Šiœ™çHUU4MÃãvÏãSÑ /¯?£ÈV|óݶ»íad˜<CâD\÷„èñѱ>_‹<Ï¿zvqI{hÙo»¤@¢ Ì3JJBL'œ¦ª’QEꪠª Œ’Lƒ%3M׌vD+™°¤Cªç:ëYÖ ËÓg¼)sVË:áK#¨ÿý§ç«ue8¶T…d½®("ÓŠ0''sU-p.0ŽŽ¶q³`è=»Ç–íSK¥ÕI; vväÅ’n˜x<ìiû¤àÙ‹kšåYŠrŽ'ßøj²öç1JŒÉ9[žÑwv²')Jš‚YN8M”BðŸ¾41¤þù8Íh­)ʂَɼJ„ež³\54MC^×l·{<<&Ãbyti0Í’ÛûGB§œT8}ÈK„ÊxÜ ´ýÀíÓž¨K‡™ý~f8 ûùô/‘º`œ,Óäq&ë'Ç8z¼W)½,2„̘æ„y©Š f‡í,Cg ^qèè‚ñgI¾yAð0ZNLH?o½¤Îs–eFtJL)™aÜ4’åú/ÿÕÑQ0t—WççkÎVK¶O;¾ùý÷ÔÍŠ YV uA×Þ2õ-ÖÁ48|p¬–%e3 ‡ðDäiw ,vJýçåb’LJ軤äÕ§¯Ùnw¢k'¤6qž“vʆ™xê8¡*¨Ê;9ŒÎS„98ˆ¥ 92måÝÄ¢^ N£Yb$¯JŠÉNÜ>ܳïRŒYgUU¡‹ô$ìÆ+ ¨ ; É©93.sª2åqn&D˜(Œ šÙ Ôÿùoþ´?ph?ò“?yV–×//Ñö‡=v´©¹~þ yÙðôxHçy.9¿X²ZV¬Ö çëÓÎ!¢aœüI™›BeUaíÌ4ÎLS‚eÍαZ®0&gì-S7~åìôUUf?ÁŸ:À)+/¤BA–gDý0(] U†@±Z­Y-(¡2Á‡¬›9v»#“ zKÓ¬Ù\\QÕ%Çã–³ÍÏž½æÅõ577©X#ÀyÏ4'EÕ8$*EQf,š’³ÍŠfQ§ã¨ÖXÙ·CzÉnkÙí,JW,ׄNy´ÉŽH#Ð&cv®· £esyÉÓîˆ$ÃÙ4“JðþÃ÷|xû{Â<ìÈñpH…çpBrœlTuÍOúiøöûwÄh¨ªsŽD v D!NØ¡™R¤Œ‡ž5Omª’~÷»oÙm÷\nÖ,W*‹¸8ãeÒ¾­Î6ôSzÀ“%KÓ丽}`g²¬dž‡nÄ¡Øî:Ží„V)”Q NÛï#ÎGüÇ9%±CJW{‡T ”gš|°(-yõê——WlŸN2‹w¥&Ë™ìD óéK“ŠUøiJ…RžqjéÇ&«°³Dïßþ†›»oøâψ¶'„ŽÇÇ·l÷e±ÎÜÄ»wß±?LÜÞÝ“e9ÏÖ\\mh»är+Š‚§§–ëçç¼}ƒó9RÐÔgg Öçk¦Ùóñæ‰0ïXT Û‡[¬ ´‡D†«Êœ"Ï„Œ9³³1¦ïCo±ãL–¥ø±Ò¤` L¡E)Ò— kGæÉ¦ —O8Ë@ºwÀ0Í­ ϯ¯yÚ>¢0&=Y>ÿì6› Ãö‰ï¾û–~±ІÃq@ÁÝÝ#>ÌÀÌêâœfUw„Î)Ë­rŒÊèû‘¶=²=Xø¸%øc..rL®8;l6Ž‹Ë*ÉX¦‰¡ë¹?v¬V]×Rd9RÁ²ÉùÁçÏ©š’o~ÿ=aس4 +y!Ø·GÆ~ S«fÁ³ç CG‘רY‹yr±ïzÆa$/ º®¥í y®ð¸“ëÁ!È’ÈÄÈ“Ž  ¸ô—:»ˆ2’¾w=Í'Ÿ}†ÇÑu´RÌSG³Zñ×󸸸BDPe2޽åÐ?‘Ç \ÄH…õ3ͬˆUŽÌÞ‚œùÑæ77[ŒÉñnb}–ó³?ÿm$[ö»#¯__óõï?0Ž-yn(2Íæ¼àÇ_^#•àöÍ7\¸Y2Ú€)4¹.yÓ©rÁóËFÃ(U™“;I/&1M–Yø¨„FeUR»x³s2˦ò‚<×ô~©!…dœF„ÒH‘“瑺(§ŽÙ~ò§?æ°ßótû@t‘ÃáÀáp`].躞Á²`2K?ܲ¼xÁF–ˆ8QfW´màÙU“\u]‡Œ=~šÙoßáýLa, Ô5>*ÚÑ‚çåEÔ%Ñ÷ÌN\RcÅ(Ð:=a꺋ŠcLìû–vðÄ@Î)¦)mëƒñСD$79!jŒÈùá>ç׿û-¦È9Ûœ³oÔuÎqŸÎ²Zf8Ÿ,<Ç} s@P*°<;cÝ”¶KG1™ ÂÐZRe#uÙà­ÇŸ&/“K´ÄªªY×쟶̳G  ´,s¤;ÀζÔË=?øâŠ~ÚSëõ;M|øõoøûø¯<Ý?ðâòš¿úËÿ™«Íÿößþ_ì;Èù 2S‘g‚HY—\_?£ëᜳOš+) ”ÊGÇ`-USÑ, Úã¾kq.P“›)›Ÿ}þ9Ÿ~ù.:žv[.7—Œƒãáv‹¤†™ÖdQÑz‘EU2ŒHAžW\]]3ž§‡'Vg š¦À‡™i1Ò…@gÉšåûC›¨)1²Þ¬ûõGíWjì‚0x v‡‰™ŒÕæ9íq˯~ó[Â×ß09ɱ›xùì9v°üýßümßrwwËÙfÁ‹ë7·o™\R£5MÃ8ô@Fô,Ëð!¦õ¹ <³Œz7¡sÈëwè?¼áöîåêŒåzMU6\œãÆo¿þ!#ÝÐq~qÎÕåÑ9V‹g”yEÛÂ{AÛøP2M–ã©)é&™¤!R),Š€ Ñ:ò¼H a‘‚¦1u‘ßzP‰G dĈˆÉ4Þ |ùé+Ü0ñô Ââ¦=Ñ-¹¾ú’½ÙNZ¤[«ç,}/˜¦™(y^0Ú ýp·¥ë,—›K>yýÿé¯ÿ3Ýa¦(+îÞ?ò«_üFI^½zÍþ0"œ@g9M¶ä°ëùø~–÷Ôˆï)‹†àMÕðÉ«ç4¢( ʪfûÔòêås¾ûi××k+Í»wïѲbš*w &À‰“e éµw¶^àÃLß·‚Ð2P¢ÅcÝ€’9Už#uÊ–e…ÁÏÙiœ+‰>ò‹_üV—>ÞÝ0¹™?ÿÙÿÀËëׄ1;ýÎDçñAá„$ŠÈ¾ïlÏ«O_ryñ,‰iªœ™‰\^¾úœg~÷õïñ.’gÖ9TUPéšÑÍ'CÐÄjÙÐ4’àFÊJ1 –¾wx¯ ƒ ï$y‘£ª Bkæiæþþ¦^sÜ8Ž{ú¡ålUs}uA°Ž¹On@¯H2Sâ]ÀÉÈ8µ8ï~UJ‚PX'™[GžçÛ4:¾yÿø5Yž³(¼8¿âåå3Üì¹½{äaû@3ϲ‹ÄäÚ<#ÉÐMâí·w|÷í·<<îPyÍØÏt¶gvSêã«÷†Ô*ƒ?޳%ôãH4‚Þ#ñdZ¥; Kq¥2ÏðAžš)hX†BÃØn¹>?ÃøŒI㸧=<ðòõKd„ûd&Ãd9Ý4!e¤¨K¬Ĭ"—õ¿ý$cU¯9;¿`¹¹àþá-rœƒíã¢H˜x4cïÙo[ö»‰Éz†nÀyÏóë+?ø’é鉷÷—ñöíG®Ÿ?ã‹|Æ0t|÷ý÷‰R'2œtÝ@ßµ#Ñ2°Û=’)ÉùyÃr©yv¹âð´EÍ4Œé8á?Þü3‡U©"|%Eø ~nd‘vÂSÕøH?öiå¿\&Œ '"íÐs{Ïwø»ýªªùôÓO8ìwhE–óô´c˜fœ÷¼|õ’€gè¦i"¯k–Ë5EUCÀÚ‰¢,Øow÷ÇÓÂSbe¿?Òõi æCÀ¨D·ˆÂ£¥ idf8vCê˜_|ù%‹õ ëEU'fšèÓ8áOG¥R^ÈN–öØÑ÷#ÎZò"O$tç±Ö¦óú#R’Ù{bHºáÙ;©4]7¢L†1MUc¤fž,Û§'~ûõoúgÏ/xñòšõúŒ<¯ùæ»7âŸ~ñ¾ÿþ†Ýማ#Í0zŽmh2ãO^­å©{O§Ÿ*ÐRƒ'£"ÑO(…\IÄIlT$Ó),™œ)3Á¢Ò”jU‘F±BE”JÁÎÛ›;ì`‰.M¬¬i–+š³3Ý@7EzëÐy†~óö@ñƒsüÑ›ízµÁ޳rÁ׿ý–ÜHŠç+ºÎc'hó‰¿ãyxÜòù^%qÇÔÑö-EQññã¦ÌØöüç¿ÿÖ«šª9ãp8ÒT+ìX-ÏyzzäûïÞRUic[f’àöÔEÎ?ù >üdÁúbû›–Çí@?¦Ýˆ” Eúð™¼bˆVLÃŒ˜æ˜åÛOØi&Ë ”ôóD›sÖ› mß³=pÝ‘_þãß‘kò\`‡‘2+@(ÊÂÐZ& ä_üì/ùÿñ?òìù ”Ô¼y÷iš)ó‚qœiÛ“x'JbŒxïèú‘aLæZHµNç3lÛ£•  J“熲.˜¦‰v˜x÷ÄróËõ3” \\<çÅÏžñ‹üß½a©$Z ¬r B±\/Y4Å©×âüŒVRIüÉ»-$ÄÓæY*”!gÊ*!„¬FKж#ûc6 õrÉÙæ’åòœÝö(¾ýö-OO{숌ыžD#d"1†Ó—Ð9D¦€1ñ·¢GHOžçTFBÝfT)É¥$S!²å|!8ÎMi Š\Ñ9"xúÝ#볚Uк–‡öårÍÕçWä²`òº$¯n·GÁ{…)JÔÏ®3öÇ=_~ù%ÿí×ÿ›7DŸd’ÇcBá¼ÃÎè#«õCh»=E©©9•6ØÉñ‹_üž~Œ\¿ü„Ëg´í‘"Ϩ›†Ù¦Tæ]u1$EôŽÅ²ââ|‰Öç·œŸ„è˜æ™óÍ% "ÃÈœèÆHr#“^Êh)Ð'à+™e?ÆT@ê:KǪè0™bu¶Dk•Оڠ€\)ºã>¡õc o[¦ifÑ,ð.ð¸Ýòé'Ÿ"”âÝ»B€iôÜß?0ŽÖ:úa ;¶ØÑ‘™ ç=³w„˜¶„1’vZ‚C6’àÃé˜Ólé§™§ÝŽë/X®Î¨«š<+±ÓŒD°}|‰¤¸~ñ”Kw#“¥ý‘›g†aH8"eP*ÙZ!ÁçÄ©‘©ŒÄ‰ÉZ¼õŒ£Eœ¤÷ÖzB ØÉb2Åõó+>ýôSquuõÕápàÍ÷o‘QÐTÉA¢TÒEøÙ\¡QR©çC™’ÒìÕ(-ÈsCUæéK-Fx–UÎå¦âbÓp¾.XÔI¼^dlÎ*ž],¹<[PèH¡$¥d*Rd!ñT¢Ó*Cë “%åaèɪ†}oùöû;=Hƒ69U³@×å%÷oøwÿîo8_Õ(4»Ý[Nxu‘3Íõ²ársÉííR+¢M¡»ý®ãã‡6ׯÉóBjÆÞ23/Ÿ/ð>²ßØï÷'™‡¦®ôûQDò¼`žF‚t]ó-›+ƒ*4Ï®8h9óÃÞqì”Ú ‚ Ó)a‡Ô3’¨#uS ‡#Ÿt,KͲÖè Œ ¹çÕfÁßÿâ—Ìí@YV”e†gš<¹ŸuäJr}yÁ¡™‹Œc{ä÷¿û=ÍjESÕÜÜÜ£M•ê—^´DƒÊ+ÔÔâCrDˆ\£T$S‰Ü8N«Õ!‡ã9§°äáp:ËÐÓÌãnàùkTö¼¸Ú0Û¼çéa‡4% R˜8 …à”ˆN2Ì6]X‘h¥‰ÑBÅ4<õ IDATü1 `2•’Ç£2ÀÓµOˆþ_1‚ “gøñÁÑ”•È‹ ­ w7÷Ü~¸GÄÄÃíû˜‰‚O®w©"U)“XH |4ö-‘H¦%J)„Ðéu"*Š,cQ¢Ë‘qbÑ(ž_-Y4%]»ÇZ "¤ðª4eÆÐžê2© ò2ú ;[ŠbÁ¡›yzìØ·ÁH>ÜÞµáØ[\È@¯él¤É»íõÃH(rò¬1Ê Tº­ ©yùêR¥~­Îr²¼d÷´cs¹ašFÎ/Ά<<ûò'üãßþ’®õ\]\Qäûã ‹E*¬n&°ÓŒsi´Ìv¦¨JŒ̾£j2Î.× »'Ží@].øö÷ïiÊ5§¥P¦Uz« #‘ä’:!~Æq¦¯šJ}UWòçËEÎÅfÁ'¯¯Y65·ïߎo9ñOÉM‘xRJ¦ˆÑ>„HìÓyöl÷{f÷[æ9PV eU3Ú <~žÑ*µÊP’êDD/Ê’ÕjÅ0ô©¨J ^¼xÁjµÆÎ3ÁC×÷hÞ6Ûý§‡'Bˆ”eM éaäBº@ÇÓñ ‘ "@¦5Ú¤`¥Ô c²ÄÐòžH|¼#/kŠÅ"QOjïÒrLP‘tLóòÄí'ê¢Q%%Φ¨E ïI˵bJ´N­D¤"3%R*”_™L2»£A¾kÛtT og2%)‹äü'ÈEÓ]B¨äR „LO)’+\1„ð(íY. YyYži^¾¾ââòœ#ý0RT ^¼øïǶcœ&ô©…ZÔéAåc:B¦Ù–f°‚ÇýÈÍCÇÝvdœs¼(ñA§SÝP/ò"G›²J›F›õ9qYsÿpÃË×/‡‘É9ú~d¿xÿᎪ(qÎ¥®°ÊÙí=¾Y°9kÂcÇfQqyqÅýÃ.XT¦NTêÕŽä2§ëzB 4«† aœ<ìvѥċ˜ÒÉ*Ö¤L÷­5!XÚ©e±Z±\¯È– ÜÝ#¨Œaš:§Z®(‡ž(N:öCK&Ïè:›rhÊ`´`œzš§ís¤(˜†H¶Ì úcË¢É)ªêóuêÜ®—›¹ÖLs xÅî0à}ÆlÞKúq¡ñÎô½ ;9ì ^ñ´=R”%?üák>ûìÃÔ1Œ=UUql[ž_¿Äz‡÷3ã4P×+2£‘"€˜9;+¨kE KƒWy™ü÷[Þ}ÿÀ08¢4™TaÓ©Éå¢Cšw/+ÍÅù’²4¬Ö ŠÃ±çëo¾ç—¿úæ«w¿Šd?w^Ò÷"&í–V“åè¢b´ž?¼½¡ëF–ç´]G?Ž ãD™—ÿ¬ÜŠ1¤SQU‹¦ Ä$‰¤Ë´1IÔþë_ýšÙNIvìŽGšf‰óplò<§©ªÓqD’ƒÑÉ%1ÏžàÓái»# ɳ¡Ò™!ðóŒÔœ2E;Oé÷×¥ ÁB)þ0ÍLãÄæüœÕr…R°\4B#_E$BJB8oO°jˆñÔ»hŽNŒÿøàÆ("Y–Q–JKBÄ(B“e%R*¬MG8©Rm9Ï BFê*#7­DêèKÅb±¢oGŸl÷-ÖEº®g±^²:kè§#NLÐʤÔïàp§DÉ÷Qr8Xœ„ ÐJ¥Ëº£F d¦ÑOÛ=‹Å‚,SÜܾÁ-!j¦y¦=L•¦(j¦i‘1ô–ÖÏ¥hšç£µÄ(O98¿¼äòÙ2×üîwßpû¸ãËñF;²»ýÀÕÕ‹ÕŠ©·TU–‘yÎpΑ›‚åùËMÁ\Œkt^ñü“ŒõåGºã|R&OÖ&ÙMˆã8²X6d&' Åì»ëv´ÝÄþÐ2[¢d¶^•áfwÇŽ«ÍôÓÈèm7r<ö(SÕ ŠjÉ›÷oQ2MvŒÖŒý€T’"3 6=Û‰è:ÎV«t±ÇCÇ4M¬×K®_¾d»}b°M½¤íêºAIEY”É»f·½AÁ¢Yœ>0ë"z>¼ÿȇ÷©«Š×¯®yùü ¥²ä7T“'<¾P %ÔK‘R#Då(Š‚<ÏY-”uÉbY¢µ¢ŸZ1 -hˆB¤ÇŸL¿V‚îÇï“ ÌEŒH·q'Ÿ{†0™Éð^Ða€"ÓÚD?g¤H¹]è„5ÒšºnÐZá%ÆŒ¾…››Žå¢æÐZ†Éq~¶àÅë¼x}Íýí;ªeÅÊÔ8;fÉÃSÇx° 5ƒužˆb¹\£ô1$ùOUçhåÐDô¸©ç¸èLIÖ‹’ec0s@Ôšqòìö;ã01Œ.Ñç#ZŒÓLŒ#1ÌX?£Œ!+jò¢ä—¿ùšÆ/øáþ„ *~õ«ÿN;Î|ýÍïQÂ1Ø•)îïXÖ5g‹5ëÕ›UÍ0ï¨V ²³šìBA]@,©uF‘Íj!°ƒ!Áf‚ˆÈ¨ØlÎq1â"FONªMn»k'úÑ2Ï)¡µ¤ïÇyX¬„’ƒõqØï‘2§^­ÙÑYދ՗W—|¼¿¥Èrº¶!Y¯Hm¸¿¿GEÈKCQúŽÞ΄y"z÷R >~|Oßœ­74Í’ÇÇe™d6Ç®EO#‹z…Î ¼ða&“’Í¢a°ã41#AwxzÜòöÝŠ/.XV†U–ÑÏ|Dª ]¤/GnÇ„!22AðfϱÛÓ{ŒÖâ|sFY§ÁE@„„ÌLò·«t¡ZÖËu]1Oä™!øù°dÚ1½eû ¢ÈSvïAÍ4µ¨L°^,‰DŠ<åäüœŸ¤Dk5ÇCÒhßÞ0Zå9ëó5,*ô.Y]‹ªÆ,2îïŒ.c{R3èÎ%õ¢bsqÎ0ÝR‘åBSæ&5EûÑYêªB/›u!i–eYÑõ–È›~@(“l4FBL'RkA$úÈ#>¢÷HÑyŽ' ”û~æaßòñáDäü×ÿã°ãñþ=?þ³/¸ÿxÃ0m ¾ 4És0Ú@}ñŠì”Æ‹6çk¶ï{”ŒLv¤n*2cgkšï?Þ²=ލÁŽ%JUh¥™}„ÓE+Ę(Jpì{±ïºX׊ѷJfxàæöއ§-ÞEŽó‘LäÆP×£uÔuM½¨è†–ÕúœÇ}KÛˆ N‡€Ö9ã8â½'+ šå‚à`s±ÁèŒív‹µíñÈ4Ú´ü’;NH£Y. 6áfê² ·©9…äãí·÷\].ùñ?¥)2˜4š DH­7#@ŠD°7:mx¥à OÚ¶ O2ey- Zé“–8$øž4DŸj¿‘€Êr´6ì»6ÊSdÃ9ú6MóL^œTÐív—'ÁŽ1š²Ì™ÝÀ4õØàq.Mé¬õHé‰ñ@žwì#ÍÂÐõÃ8‘W—|T÷l·Z >ÜÙû!Mã„É&¡‘Ãg’ÍŸ3E˜Ó“TyDzԴ^0Mcͪ¡k¶Ý§3F6J|ïQJb´£ÑòD4‘ñ$—tÞ¡tv“Ý¥îwñ°ï¨Wk¦Éñð¸EhÉ I‘—ôý@žyâéÙå%6ÌìNíÀ~ôdÒ$9£híY­W¬×Kêå‚År<:Ï點ë×/(2Ň÷ïùp{GaTM”š0{ì0"(uY1ÚÀhB&ÉýÝý‡»âÕõš³uÃó« š<9ÖQ‰Ôâ…Egšàf‚÷B©Œ¢*QZ£²œ0ÏibSÒõÿCÚ^;O®sì43ª ¥Ól9vlwO(mXë*í=¼`ö&MдcKד£ÄGOUg˜\#¤OšÉ½cš„ÈP2#ÊŒÇCÁSÕ9“õ|ü¸%Äoiª’Ï>ýï¼{û;¸{| =Zì¤ÒⓈI”M#Y©8ß4Ežâ%™Âd©bkLA¥ úùósÞ}ûßyþì2ËŸËeÁÙù9?øràïÿËï¨ëSðL›ŒãxàbqFð–®?"¥!“&+ H¶ûž¯ÿß¿Iy™(˜]Šè|… 5úÓ¿$†#ËuÅÍ»D«x÷ÍÃmÄOž¹Ÿ±C zv–ú{»/ø$oÞì˜cF7tÐ+ú~Ä3CdYƒQg§”ï—2-Ö‚'8Gf Y–1;w:/ އž}ÛRT5OcÇîq/ŒÎ9캘7 hÍìM³dR³M Én·¡ÑYƱëÓq-z¬‡( ÎKŠÜ¤®ù8á]äе ÓÄ8ÍH•Óß?p<ÑFÐ<»äó/?¥n*Â8<µtmìð¢”4MCT†ÒKº~¤íZ„ˆh‘žÀov|¼ÙñÍ·ï9?kxõòŠ—×—Ô‹“•ôÝ^Ä(ÓBêäà½çxÈŠï>J„QH4xgÜ4Òv°>«©òúŸÝï…VäJ¢Di¸xv…~þâ‚z¡yw»£ÙÔ,Ö¯x¸‹~|`½>O½ìÙS5+º¾%Ë$—gÛ'ÚöÈÙù9—Ï^òæÝö‡S€Ñ{ŽÃÌÐÍ ’üñúÕ%øæÀû§ÿ›Ÿüég¼þdÍË—+²Õ‚²B…Œßþæë!7Ï./ÐWøáè´¨¼ãÇ?}ÉäQt7é¼ ÿQg²+Yrßç/Æ3eæÍ;×ÔÕM‘Õ0A€  ­<,ýü,¬§ÑX+/lÀÔÊ0dšâ‰ìf«»ºª«î”ÙâÄäEdÓû*Ô­sódDüã÷û>Ê’ì)‡?B¥rÁ¥£d ¦¢Ä-"Í¥È3Î]ÑÙó<#QX£PZ‹˜D3ØŠ]·ÂÏ ýq„¬¨¬BVK© s¿ µEµ²eËéóäéûÑø$‡Ãgë†Õú†ÅEÇžûÇIX¦ýL’¾÷x¯H–èñoñq`»©ùõ¯¾âñá‚e~É_üèúùKÆ/ÿ…i‘dU#µ¥?Îÿá·D»ðÙgÏÀ/¼ûî=Ÿ½<ãÇŸÿþ…ý1p<8$5!º]c$áhÛª€$H©lÍtê7MÅÁ/AHÅjµf9AÙ¬.þò~š)â¢(IÓÔYW-R Ü8OõÉeYÊV2dbNÔu…ó‰©?bA•)í²Œ? F[”*šR¤©*¼|÷înOòMIÓÔôaÁym*´1ôÓHˆ¾ b¤$‡P`J¡«š~.Ǭ$"RôâîÎñøøŽÍÊp¾í¸º:g³®°•¢ª-IZù¼Kd>)²È%o$$Ò€ÖmNt R¹1Ï ‰Æ˜ %I:GÎç| ĘY–…aœ™çrRŸPº&xØ{†ÃÄqQÖ’(+ÓjÓRU–íÕ›uÍÝÇÈÝÃnU&WJ)ê®efLm1E‚(>úºj°ªóTÈèóºúÀäg—7äô]ݰ»éýÀz}E$Rw59*¼w§¬P¢©Òäò —%ú­”Ä/…îÜLL™É-LÎÓT-IH”‘$¿u³7bžz„P¹ßéÚ 9IŠé£%~rDç‘Úàð ýÈÓÃu»"†H µFhÏâü°pnϹ:ß2/Žq‰¢ø¸`eɉª©Š¶!ÒFä,@+”€Å îïG"ž›ÛK®nÎi;‹ÖHØœ‘B¢ŒBȌՖ%{ªJ: ÁOŸ¨tÅÙæ’”`œfL]µ%"Ø?îy|ÚÓŽiœ™g‡[Ê(\ °¦!Ñ“"Ÿ¹dêõ–ºkÆžœ=.L<ÿäŠýøSüâ0Vr÷oßݳYw\\likƒ0ŠitH©q>€0ø!p÷Ⱥ[³ê*Úz u÷ãPj»C‘%UÖ‚£Ÿ§2¹¼ÿø¼~Áå¹a=cùðø-Çþ‰Ož½ ¡PÆ@öÔ•æü|ƒÔ JÃÃýË q84›3æ%aMKSG|V$R‰A¥2Î%tUñt?±œ¹ÿxäêúŒ‹‹kªºÁ‡zÃñ˜8ì@‹-~'KD;løÝï¾¥±Üœ‡Õõ bæZ3¥2‰J ´P(-X_(ªïÚ¶e=BïÇ઺,:ãB&£ ½¢n¨¥À;GU5ĪíXÜœëº!‹ŒO¡Ü¬çHm)%꺰˜ÚV“,ËB]Wtm‡’e¥é‡‰ãñ€½épnAÁáá[”Ö€ kWdÊÁYgÉ<Ï\\\Péb‹š¦ ‘@"p'»”¥¥ RÜ‚²œme <Û» í*ÞØñõÛÎ.ZªÚÐVF$*«¸<_:¼ 4U pq¶!„ŠÓ2ºŒ÷‘àÏÝqÇ×ïßññ»=1@]wiÈY¡MÅzÝPUÚVŒcÙ‰h$É ´6ŒsIY•1V±9ë8;ß”Ä÷áÈíÍ îî¿cGB*îrÁ)—¶*±ÿ ~‰|84–ëËm«1ºFª€_ Ù2<î§F¡”’¶®Ðµ‚ãîŸýô'üãïÿÀÅùš>{Éÿüû¿§n·Œ}Dª™¶Q¼z¶æêjÃ0 ¼ÿðÀè*îŸî'BÖ<=>òâå'´uGH‘÷F*²<`#9”ƒ•± 3‡‰)8&جî²,ŒS€|ºk5³E]×9åÄaœQ¢À§¥–Tí1EŽû~q\œ!¥àWeµ^óîí;œs´mÁß×u»¿/“´uKð%ö=N=UÛÒB+Æiäýû÷%WÊ-¯¬ >$œ¤…V¢\Džâ9KD%1¶"åH·Z³?ì˜çòïKqCf:Î|XöÔµ>Á¸‹£bž#æ´ÒžŸu(•躊U×¢ô\&UµEˆÈÃQ›Žç/_°ÛML­t‰ÂÇX°:Ö~ð’ðK¹_ñ¾ j2ˆÔÖðò“缸})±8w:ô ^=ÉýýGrލü˘rw¢µB"Ü‚”’ºÑääy||±¦m¤V¨\ŠO…§§ÿ\æŠ9¢~~5ˆ_&|ˆ¼þô%Ÿ¼~Î~·ç·ÿø»¡Áq}Ýò³Ÿ½æõ§×ÔmMÓmùãxØ-Ì‹$‹Â½ûø¾0I)A»¦©‘"bTÉÌ­Jd —åSYƒP’àI޳&gEeWÌsâý»{~ÿû?òÅ?ÅÉÀÜ/\\\‚P,±€„V(c™Æ™Åöû#ã0¡uÅ8»R$’ cjLUãOò~ó´«U\ûÀý’c(í¼L¹ÁvË‚±–”S¹mW¦øí²Àh4åÿ!•!år~JR’<<9–”Ø&žŽ<zúy"+Ð W7·\_¿àææÁ'Ç©4…ÀZÅÅÅ!1º? ¨®ýRÊGZÁjÕ°Ý®xöì†õzÅÐy¸d÷ô„Šõz…_‚wÄTâ'FR¢Õº ÿûéÏ.©$~™Nð<1k„ÖÅPl*!¡dFוDâÉ8^½¾ÂÍ{â8bs¤Ö%..-7¯,/þú/à8 晇áÀ“ó¤¤1F晳UÇâ!Î<þŠó‹ ¤ <Ü`v4uCÊš(`á\¤ƒ>E8öÔÆ°Ì;î¿ÛãÓ "1¹):žß^–Ī’¤&cWŠ~Э¢©.ÁåjËÃýŽû»ú±/RÁ—K-)!zÂRâÊÅÿPöÖ÷÷œoÏ‘ºDñ—ˆ)ü§µÌãÄñ0°i Ö3Êt*%D[uŸóÔÚ<¬º«$þ”WÊu‡ÖŠõù9Ã83ô‡S‹®L³‹LãÀº[suuËÝÝ1Dv‡‘ºÙò@òºiȩ۴@um1Öâ½CI΂ºíèÇ©´ÝdÆû‰âC)hÕº®ÐZs¶^±^­¸»ûÈ0¸y±åúÙ ÍW_}ÅÄj½¢[oØï¬º5Ǿç¸*¼`+ ±P¯ožqqq‰Ö%ËvÉS¼ê´–)J&+¬‘ha ©>HTUÐ8F¼Í2;†þÈâZhú~ †¥LÍ”F,« àÁ¹…y,UVk[¶g[|X ]]´Ln"¤€±5Úö”4ªŒ²F¨„O }vqÆ4áæ\_ß²îj*£Y­ê¢ Kžf†´TænÔªÄ×}f:¹äÔä†1.Lã„DÒv-ûݑǧZ–0Sér‘GNT¶áþþ i¿o-š¢Â–æD5ôãÈ4¤(uà3óä°•Æ*Pÿêò€TŠË›Þ¼§Yñ݇;”çÏÎI±ç‡?|Î'¯^pwàïþëÿ ù5Þ· ÇÌ<ÈŠQ(²P+I!`*Ããã=B~úÓÏ™¦qè‹à%xŒ¶tëU¹8”¢ôÏh“ IDAT‘hÝ2Ížiñ<=íqsćÌÃã@L ïÁ…tŠD(úq$"Ú0¹bã¬êŠº­ÑF¡4l¶ÚUÃ0•i‡1ŠÙO\^ž³=Û2M~ñÜ}¼+Ô;N,#@IMŒ‘Õz…ÑÎ`l]/Kbž—ÓÁ¼pzµáÍ4õ¿¸¸8g³^Ñ÷ã© B)æÉ¡´¦²51G¬5<{þŒº©É)ÓfvO=)fl]Ó¶ý4ŸGm™Æ^()ÞTµ¡²šº¶(™ˆK‰î„PÃ>x¬±H Þ{r*ù1-%Bœ´¿MMΞÅ; ç&`U…–šáxdñ#ëUMÛXŒV¼xö‚o¿yË~·c½Zñúå ¶ë3æ~&„Ì<Îe4ÛÄXÆÕZg¤Œ(J$šºÆ‹Õ¶lßH™É©ˆ$W]ƒ–’qèqÓDX<˘'‡_<)¦r1)2ëÍ­ ÁbÊÌnAi ¢¬Öúdß 1€È¬ºuUÊ¢à´uuË‚ ¡+Pÿå?þ%³›8Ž èi O»>ûìÿöoþ5çÛºÔÛ5ÿð«âxÄÍšáXNý‹ËHiˆ!3.s’ŒÔµ!…r14Ο}ö>¼{‡›'¤, ck>yõ c4~ñ\]žsûì9Yh\Œd¶-çƒãq$XEBjÂáDÇPÚ’bé=[]ã}‘&Žã²Ð0¦qâp<üÙ¥µÄ1–qœèGHPšÐŠižÉ ´)‡Ä, ÀVd˜¦oHb¦@‰säòêŒyÞÌóüF*õ (‡ÊišËͱÔ$Êhæy"„Àz³Æ˜S²ÔX†q¤nk”ÑLÎa­¦ï{áýüFÊLe mmèÚ†Új†¾g·ß•Ë7i&Gß%=ÛtLÓD1° ”(Y\„)F¬1´]‹[BJêjŪÛ0M n./ÛË—·¬ÖÇï¿yËýý#•µÔVc¬ÆjòxH™¾/Ž”Ö]ÃÕùu%Q"ðEô=_8gÈédC¢œOcL'…´¡k[rÎL£+ÆÞybžš¦>ýýrŸÒØU9KQÚ¦)˜œÚ )+æþp@ÊÒ Zu™L ©t‚BD[DÔþ÷É7_¿Ã‰2/^¾"3ó@¼ãÅ‹[ªºãÝûGþϯ¾à°¸Y£ô ‘,ËRüY| ¬V«ÆÐT5“ó,>swà×ÿ÷·ÄX·ÎÏ6ä¨+Ë0 ä•­©MÍf{ÁǧVç+ž½¼EAÈÓÔ…6¸”š¤óK¡È¹çdÖÄއ™‡‡ž÷vÜßïÙzŸJñ_ÈRïqì'¤6@‰?ç@DÚ¦ÂÍO»1fÚ¦Œ(C dͪáürÍñ°#%Ϻ[±jWöG¢/—aË<|éý„wqŠLSÂ-‰Ë¥§{ZYÊjäTòe[ˆZiŒ.fÚiòH¥Ëžµ*êïõÉ)Å‚žÉ‰Kì$¤B¼ºì7Ó´-‚ÓJc›úÖæ÷á}?B€S·<ƀі««s¶Û-ýñ€T’ãг8'²Lo¶Û «UKm-2G @´]MSW%š!E9TÚºð]I¿½cÕvciÍ…x!.¬²¶ø?–™qt„ á{2 Ç֊ן¾Æ'Ï~·çpH6›Õiœ.È)`¬F Xµå6?„-1xžî™çcJRd ¢À„EYg,]·b™¦¹<ïʳ"ÓuBˆ'èB©ñ6uÃÐÄXVªqpø”I”Õ¾n Ú(´*w$R .Ï/0öûÔ0%–¤Òø¢ªÔúù5çg[Æq"8O×Z~øÃ¼þô·¯žÓOý”øú›{æÙ hsf^JRkA¥•‘Yí XR@jÍÍõ—gTVcDB h»,Îá–ë› OÐJ‘“g÷øËt ²’í¦ƒ˜ Yi6ëMùÆÈд¶j©mGHÙ){½^Ñ6])ãS ^Z—.ºR)3FxAŠñÏç&²(#¸º=g³é8ŸPª¼h~ñ̾D;eé—ZQÕÕéX#¤âáá‘#‹÷ÌãL¼q‹ÿ…©+ªºA[s âM%ß#}ßsØ÷Ä)åiUÑXSžKŽ ÐJÒµ5µ9y ÉLóÄC‰ƒ+‰Q Däæú)`qsÙJ)Ö¦|@¬añ¾„µ*ÕJ`+EJ Ïö²€RÊø %Q ”,ÕÖD,x«‹ãØ?1‡r¨Î‰JFM ÉzÕ“je©*]zçevp÷ø„4ºà;ØÓÏè}¤ Á½X{ÆÚ²=RŠ”$ÒV§áI« YÜÈñp`'R*_)F¤ ÐPbyñ´Th]•f_[×d¿—¡?9ö3ÏD çüàGšßüö æI1öžyJ¸¹>] ¸8#•ÀZƒ‘b"…ŒsŽL¤i4»=gÛg´Fót ¤…]s}u‹6j¿ã0íéZøÙËÏx|8pyyÎã“c´™y8¢’¦Rš`~^x~û fö‡'º¶|˜É ½Ì…5««‰CRƒÒðD.>¶”|!c7†œa‘BÐv5ý•Ò•†Íù·Œ<=îXcÓBΞÊâ’È!bÛ)5Ó\V ÛÔ­qË‚’¡›íZ©I1æï…—ÎM|üpO‰¡Ån_¤0Á/¸èqÓTºÓ1 E9+TV!e9DC* 733²²X)PºåBš¸¼:£ª ý~b˜&fWxX*•P µšª*J7!%1FܘÇÈï~óO´M…‚Û›ç„'¡å4iêšež˜cY%²€¦ëXbbœ<××WV4m…ÖÅ›nM‰¤†=J꺦f¼÷4Öà¼ÃÔ ¶2tën øœ˜ú‘ÊZ”ÖÔuEÛ¶”¢mùú[¯VQ¢ëR*./·X£XfÏ2ÍÜõ=ueJXT/GUWÌ®Hþƒ©)2Ê!&IEND®B`‚pioneers-15.5/client/gtk/data/themes/ccFlickr/port-ore.png0000644000175000017500000000550211346241564020457 00000000000000‰PNG  IHDR;0®¢bKGDÿÿÿ ½§“ pHYs  d_‘tIMEØ éÚW] ÏIDATHÇ=Ö×R\ b€áÿÄΑ†nš DH’I €òxBínMÊ[µ5[e¿†}'?‚]eߨ—{ãkWÙ³k{F3«™U@$šÔ@CÓtŸÎát8Éwþžâ¾zô¥35u‘í½xünöR;ܽu›ééi ËàíÆÑHÓtèv{¬ol’¦Ñ(±½½G§mcš6ã£|ñÕ—¤vX·‰ˆØX¦I»­#ׯ/…yþü{¤+ó³ÏŠU Q²1Í‘ÉÉ1úû#˜¦Ã~ú„ËÓWøñùs*•2¦a>Jƒ-Ð혦I£Ù P(P©Tq,¯×K«Õı,IÄ´lº¦ÉÝÕûÈR)Æ'ÆPd7ç¹,÷n¯pùÒûÇlï¥ ‡Ã´ôÇ™,¥bQT8>O?ýyb2F"àü¼ÅÂÒu,^¿ÿˆ¨xŸæÍ»MööRx="ß~û CÉ1,SäO?þ7ÅR¥ÅE$Y&ŸÎS¨Tè&^—jMC’l¦&&ÈæÎðz]4ë5|ªŠß+ ÎÍÍpeæ ‰dÑë—oÉžæp µW/Y_{I0èáÉ£Ç<|ôÉåáÅ«×lmï’¦?ž$•Ú§Õ2Pd7¶c“ɤÙÙÚf81ˆeèxTè’Óé´PUáþþap®i˜ŽÃ»Íuî?x@æàEéuÛ|~ú¢1NÎÎ9=Ë!**.w£ÓÆãuóËÏ/EdbrµˆÞnòû§¿gxx˜úçdþÚƒCI$IâÝúÕZy7³G¸¯­Ý¸U…XÈ‹lµå ‹+|x·Å§;ôÚk$qg§QÝ>R©4éô¯Ììå‚ÁqÝLÏÌróÖ Š¥2}±~òç%úcq>înS*e aþÊ‚Sm5I&“Äc}Ô+%¼^…ÁØ~_€TŠçÏâë_Æìì4þ@˜×oÞ¢È 7¯ß¤R­ÑÒÛ8"´Ú:¶ãpv~ŽáÈ yJEV½†(ˆ8ŽƒÛãFUU¤.Ö3,“hЃٮ º‰½\™çýû÷Ë7—™˜œBdÒ‡G²ÈâõÌÍ/åè茱ñIv÷öQ7ç¹"ÿûý”K%$ÇÆ¶\./"R4yfuZVƒG÷–éï‹¡È.æ®]£ÖlÐO’HQÐ tt¾8K ˸¢ýœÊ´:]Ú†NÏh`Û­ŠŒ‡žÑBEü^/ív‡^×ÄE‚‘¦`#y%õ™,ôøÝo¿atä­n‰éËœd5Þ®¯ÓŸà?ÿë?ðÜÜ]½ËÕk×i4ºlllÐj4ZUšÍ*²ä¦`[€v[§®©Õª¦…m 8‚€á8t ‡žr$æ7_ý5Kׯ²“Ú#¤ÛP9ÌìÐîäβXFë Kx}~øùrù2oÞ¾æá½›`ƒ-ªøBP×klll/ä¡×D°lÛÆvl, :mIùþ[Ì\Y`{ïM«‘ޱ¾•â }L£©ct›\»2O½^g{ëÿóßÙM¢Š6û;ñ$þp‚ìé)§™övhuj¯ß‡å8x\*M½‹" ȲŒªÊÈC—‡ùÿÿÇö046ÉþÚ­z³ëÐiëø=^Bá ggg4ëM\¢MØ%ÒŽ‘ŒaZ?ÿðGšM‹³¼R[ÁTTt³ƒcí8¸$Ó´éêm¬žŒ”ŒÄŸaš”´ƒ‘(ÕRÝý#b~Wç¦ìg(‘ÀèˆÈôº]LÓäþ½'œžœ¡i9¦&Æéô,šz›ñ± ’±µf IPq‹.¬n£ÝDQ[DJÆ£ÏîÞX¡^Òé2Ù\½‘çÖyîß¹E4¦ÓpP(ךd²Y$—JE¯ùùìÁçH®0ûÇT—J©P`tdŸÛÂ-›<\½ÁäÄ0KK×xðè6Z¥€œ¼8E/ØGY’ùðúÏxe‹¿zr—ÙÙiší6G™…ZöÉ5ŽÓ¨ŠÄs¹wïµ²ÁVj—ÓÌ1«+K´CXèDƒ!B~?ƒ#I\îò4|îQäì‰Æ§iº]§]eùÞ 3.ˆÄØÛËPí8mdUÆå÷1:’dz|ŒÕ«+´Z¿l¾¦kùõ£[<¸›®mð/ÿö¯,ß¼ËâÒ Z©V«P©¥IŸ£÷º²„dÍg¢lãR|™;«·  °÷鈳|™£œ†â °¹þ³Sçé׿¢¥ë¬½ß gè¸E‡p@eff’Z­„ÞÔQ$™P4Œ${HåÉž×Ék ÉMGoa÷tÄÙ©i–¯Ìc4ê<ýÍ7Ì_^bw눩}Ÿ¾¾§™-dZ¬Þ¹M¯+>Ò8ÉVQÔ0.Še®)Pï84M[Qj‹dKuN´<ûGûC^ê2švN»ÝDDCÈn••{«ˆîúé5'Çgäµ"‚(R«é44ž~ý%n——õÍÉÑq†ÇNÏN99Úg ?„?Dv{èY Ãã uÍ[gŽhÖª ÆøÝ’càØrO8Ò4*¥&©L…^×D0 ¼¢b¶ {\Üzü¢-³µý‘r½Bh`€ÌÞ>¦YãúÂs3Ó¸$`4†-xy»ù‰4û»Œ^ˆ“*œÙ! Ó3:H‚ƒ¼õq Ǻ€è˜¨.E‰Å/OFi6Û(’½Õ&Ö!9œ@+ÕHÄãäN5\ xTýÑ$åJ—oÞPm´‘ìËK×¼l§ÈçJœdrX‚€Þí"NOÏ Fè5ªÐ­212ÀÂÂþp˜Ýtšð@”ûb˜;Ÿvê3KPÐrÔUú#øÂqJõÛÆE—®199E­®“LŽqxœ¥R×$ÅãA…¼vŽÇçfõÎ}F/\ä´ ñjsr³Íä¥Y~yõ‚ïüž;wâRC¼][gýí+·nñÙç¿Ât6¶Sœ×Ê8.™`¬O0Ày±L£ÙFVÝxÜ*‚c`u[XÝ.ÂòÊm'_̲¼t¯ä#_Ô8+e©UË|óõÓÿom"ž¤¥÷ØÛÝçãÇ ®ÎNñ7û-Z±‚i{©·M,Ù&ŒpzR¤R:¥Q«S+VÑUÊÅ,^—Œiئ…¤º<φ††8ÍfXÛx‰e·‰…#ÄãQt]g~î*þ@ôÁ>koÿÂáñ.?àñçOxñrýãGFÉfKXm ÙÒù´þñ˜‡éÉ Z•ZË6±±QEu!NO^³Gé<ÇÌ¥ "ñ˜›×…[è†xóò%é#rç%’Cc\Y¸Éw?<çÝÖ;à êÙ\гì©­uj•Q^£A4‚[Rp»+•4|þK‹7˜¸8A§c!Kªª’9Îp>¢Þìàõ ÂäÎr˜m‹‹Ãà FâdN©• ¢K•)–*’pÿ¯Ö6л],Dzº¨ª„atø?ý߈x¬ÆãIEND®B`‚pioneers-15.5/client/gtk/data/themes/ccFlickr/desert.png0000644000175000017500000023403411346241564020202 00000000000000‰PNG  IHDRÆæŽ7úkbKGDÿÿÿ ½§“ pHYs  d_‘tIMEØ #äø: IDATxÚì½[¬m[vžõõû¸Í¹.{ŸSǶ$/'D¤H\¢(" ¾•RTq,,E`FØà[(WLHD’ ’bG– ±œâ !!!¼¤‡ªsÎÞkÍË£ß;}žã'‘ër\µúÓ~ÙkŽ9Go½·ö·ÿÿ¼¬¯ùú•ûÛÛ/ÿÔ§ÛË/ñÉYâå'øÚ­ý¯þ‘Fkl«§µ†Ï…ëù{¿ïÏ¿¼——ÀøÆ[ó/þáf,LnÀ*‰Õë )rÎ ¿ëßxy7/ñ³~ñ ßÕRJ úŽq’H•°FáÌÈ  Ë`±´³ÌƒcúÖë彯×ïúË_ø½-—ˆ¶­5¶BÐDE+“Z#§Š0 Q3ww+‘Rò[¾ç?~yW/ñõ³~îǾ»•RPbôc¨µbz`£pÓHkZ+Ã0äâÑŒV8¥ùí?ð—^Þ×K`üÆ^ö_ûÝM)MŠ k-%G„P;øäæ¤Æ@i;Z¤Õ*“Ñä)Œ1Hm±Z3XGÉ‘ø~æå½½Æo¼õK?õmíõ;÷\/¥ÆaâÃß2XHžŸÏˆaÀ*M‰™µV„L¶×Š†Ð ;8Š€œ+ó<¢D£æDßþ/þìËû{ ŒOþòã[Œ­51lÄI¹á½§´Úp¡ØWOÕ°†HL©@C&×F*…š3)%šlŒÃ µ2:‹h™y²d4!FR*|ÛþÂË{| ŒOÞúú{ÛÝ4qw<08ƒ 4 ÖZ€n´ATZ¡f¶˜¨µR|ü8€B\¯–”"ÛîI©p½x”2cxõê§ë‡hk)UÒ¤à;èç^ÞåK`|2ÖòCßÖ„l´VpÎ"Eئ ×4Ö9Zk+‹V=F–eA ͲL 2VH¬HPi)’E/Ä}Œœ¯W.×Hi¹Uò5Ñ„a¸úD­ !*ŸþÜ/¾¼Ó—Àø¢Mì[RÒ¥ñÛŽ–†ÙˆÖˆmGJ5)D+%e¶ËF Ç;ZN´Vç ¥‹›Y†·  ‡É!EOê(¤RH9råé|âùr¥ INRá0-ä\ùäÁz Œ¯âúsô;š(•5¯JÊwäà©-¡MFyb­5Î9bŒ,Ë‚Uš>ø€"-Ó0bŒáz9QJBk‹Ò%ƒ÷oÌÀ4Ì€ÄÃá0SÒÎ<¸Å¢µD‰Š’•7J*\/‘óiçœÿÄçþÊË;~ Œ¯`@üØïi¾ôÍÖZaÛ$%eúa.Ѳ×ãd±VcÆï™mÛ'-28ƒS#9)Š½Ò íØ÷a´Ä‘RRdE¡(©Rkí7“(%ðÛÎÁ´&ÌÀ8:Œ–@EkKk/=o\·¥-ð§^‚ã%0¾ÌëÃ_üþ¶®+kˆì[!†FΕ§ Þ{@²í‘’ë¶Ódç:•Vy||`]W´6·€ª”ºã¬â0N„XhUõ¿±]¹8bŒBKEjÃIK¸Õvè5Kk £ÀGÉ=¨”–”’z¯ÐB’[©>âÜÈgâ/¿¼ï—Àøõ¯ÿãÏüsíñaD邲ã,Û(¥Qj „Àº®” ¹J|®T§Ó e'jQ¬[F(MÈT"­5„ÈT‘Æ" )%½¸_W¤”LÖqœ'jí5Æ4Ï\¯˲ã3J)œ3H)I)Q(©‰1âFÈ©F-àSÂCË…ßýƒÿùË{ Œ¿óõó?ùµX ª)wÀ …5Iæ‡;æÉ2-J7$q°”XH©ôM¸ïTÙˆ1“§´„6!5­ ,©&rM¤Z¨d”¤Ì@ò…b$ƒ3´”°ZÑ(=Å*Ù`´çµfJ)” ÖZ”é©TΙmóŒÃLn•uÝ(¥ôKŒT©ø­è/¼¼ÿ—Àøÿ4}þ;Ú0H´†ã4p~:Ñšb[fœ8¯Wœs@åh©%ö ™FëpÆ"¥DÅdnÐ £ EU-í"ÈUKDI%#U¥hI¢„%»B͉’2FKjÍ´VX–…íz¥Þz$FYhŠÝG¦y%Ù÷£9Pr聯҃j÷¾£[µ²û€÷>ó½ì—Àø_¿üŸi9Wœ3¤ib!F™Lêd?g ”2ÈÒh5c­¤ÔD.…R µV”Ó¼>ÌÄ ˜Ü]ïaèÂx:ñtÞ˜Ž M Ì ÖjÍdшµRb´#%eŠ8g ŒRˆÖé9gJ ÎaÝÈéùJÈ…qš@T| Œ£CR >1ºÞ¿Ð¬“Œn ”B\/(©™–™-&öàÑÖ2#­d´šP*SkÂ(³3×ëJ)aØ·€ çB4 ¥Mô[DkË` ÔÌ÷žÂeØÁqYWRm(k9=¯4$±TFÑ¥¢Ü@,…T ZhJì°íó~fÞ¼}Fh MRsd4†Á:Bõˆªz0+‚*©dª(¼~ç‘#”Êh4É2lëQ×\8ÞôgJ“K½!c‰×ËÈ)T>¸žúA1.(ßõcßìݯË/ù ?ñͪ)%ŽÇ#)zDíª¸R+!$ËÄõt%©Ràc@´Š3Š–ï¨¢b "’Ò…y´,ƒcЖÃtàñx`r#À š”vö¼£­¡†Ìº®äV{c¯ Ö݃Ôl1²ûˆ6#¡NÛB „¢æ†3Í{¦åHp¾®ìÁ÷›§VbŒ¨yf_#Fj]Ó!q $1í¬!òÍŸzóùÌ4Ž„°SSf-J)šO<<Þ1:ÇÓé ­õíðp¼Cê'¶œ9o#‡A£ªâºƒO™æO|}ÓK¾î¾ÜúãÿxÛ÷Y çË3÷¬—+‡qÄjMæÃB’°®h)‰9£œ£ŠÊåù™×÷Hë‘R#¤¤”†– Ñ"Kjh¼ó©wùâßþU¦iÂÅýqáîna%){—žÏ{¿a´DKÁ¾ïÄœYƒï=¡)¥±mMŠ;صBðùvR)½ÖHa,Û¶±åŒhÈh,‡ "•Ì<M-xè½g]WÜ80ÍÖZÒuGIH)¢”âx÷È¿ø>Ó4a”&ÈŒ @5´Ï|8òüvG;Ë2 ¤Ô|æG¾>R_7_ê/ý±omûuçx8 µæÉ7|Ü aïEë0òüt&7@Hœ5X!h©âcBhƒO¹C¬RqÿàzÐÄÈ2M(#É-³‡ˆVŽÙ8.ë•Ëî©­o#ά„»Ã‘å01š»yd°F´U«‘Hr#n+B4BND*—ë†/ £4ûu§VÐÊ2¸™ŸÎÔ&{m!kgøIª…B@Žëɴ޶]6ÆqÄúïäœi­q)PRàxìú˜+¥Ü8Yn '^ ×/ý*%ídÓ<óá—þ6‹™ndߥ¾ïßù¯ÄK`|‚Öÿòü¶§HK&†ŒBñv}Æšk Jj6J±ùÀuÛ°Ö"¥f!5!gNç+‡ÃMJˆ(eضã<áÅñ°p:=1M£«ÐBPkã|õHeØÒÎ6Ë+Du”95ƒjãÝÇWÌ“AjÕõ ÆÁ2Ž´Fm!)j-Ô–éíˆÞý†Îª­5#ÄÝ#„¡IÇORÎh£H-ãÆ–ÑRh$†}‹Ô »¨H@"H%#DÃM#”ʺ®¨ßô÷ó›ÇßÊßüŸÿ<Çi$rd7 UêVXc¥6E¤âK¸ïùÜ_/ñ5^ç¿ò‡š”’=$JƒŒ@iG-]ɶ®Z­h­µS'BJH) )bm§PHmÉ­qº®Ð$HEÉ•Z¡”F )—Ëšdšžžží¥AÈÂqžØ£ÇZK )+¾VD³P` ¹D¦qa49í¤±ºCÇÃ4€•ýd^M*™q‘¢QkfšGh¿ïP*2ód¥QÊ`…B´ŒÔí$2t}F®‰xC«”¶¤”ˆ9#›bp†šà‘ b®P*­ ¤8¢D¤Ôx[Δ Z8R‰ì¡kÖcM ­jjnüCø/Š—Àø¬úßüHˌҽA§)W´5ˆ)D”îh‹+ä÷íc¾Ñ¾ïX3s>?c‡šu]ʲoZ¥zB*„XÈ(šÒ\®+©I¤6<¿9³nWîîl·ŽøñxDµšÃh¹žwÆq&¥˜LJGüê±F0;Ç4L¼ÿþû„œ–™=£R8¡(Báœc0†Ú2‡yâ¸L´Rða£æÆ3Et´JׂÓtƒ!¸›g–iÂZ²–š9g„c-!'ܰ@ª´"»<6W”h”R  ª¹Û#BU†!£ÚH*P ¶ýÆé¬Û¹§bU µ!äÑŽüÝŸý÷ÄK`|ÖÿôïoÓBÒZݰJã´b0–Ú2ZJ¬T8«IÖvÁOëíZ»ãŸZI ´RZ È!SJ÷!:ýãr¹t½C­„˜§1FRíTs)4>dB(¤XR1/–sï$§„r†Ò×ë•Ñ9Þ<ïRil—»Ã‘R©e¤ÕèÒ5J)sÄjǻザ%,¤n¶0/ZB3|cXèsŸB#è´ô– PiÊSd4]àTke‘¸¶mGÊ…f+§=Ñ(ÌZ …dš Ó4°Ç‚3ŽešA$Ìäh7Ô/•<²4ÎÞóúÓZ¼ÆW`ýì羫))()3ZGÍ}ÔRp²7¿Œ1äI)aµ¡eÏ0Ml›Ç.>ŽCÔRDk… ΜÕ(Ó0⌥…À4M¤RúíS"J‰‡ÆˆU]÷ðæÍ´³HÕ)1”2\Ö½ †ÜÀ?x"åÚ°ï;ÇÞÑRÆ9GV i5¦öWãSþ˜%kŒÁû )A׈Ô3BæãÂñÎbZàèšR»j¯ÔFð…ußЮ³v•’,²thX A*©*Ö)”<Ÿ.½k.àÃ7O”,¨B@Ó” Ê‚Õj£ÏãÃBjÜäPº0(ƒÐ 3 ˆðóâ%0¾œAñãßÖ¤±È›½å`,ißÀ$ E‡#…Vø¸#ä0Í¤ÑÆáœc‰}ßPJQJaP)g”R^ê)+QRb—š2ûÖOó‡Ã„gz‘,e?¡l„¸bD˶α Z"çLH‚˜ Òô´NT¹÷XP²s¨ZC´† -$¡5Jî2ÖiYúüŒ !ô>DJøÚÖ!è–Q­Ý|¬FvB 6]SžRÀX…  Dc«‚ûe†špÎtÊ<!$VX"‡I¡p\.'.ñJª†uߨšÖP”JÉ›%pŒãH,;×=3‡› ó¸ L“åïùý?-^ã×?òí­Öt«‡e¡‰¬†” Y´”Ô\º)òhñyGˆFÊ;%7„P·›B²®+ÇeF6¨%uÔRm¬ÛŽ0 #B4J (3r¾\IkýÄÖº{ÑÖ ÒdÖËÊ2Í扔ÓáÈuÝØöD«’q Î’b½¡_™ÁFçx¾6Bر£%¤ˆs£4-VFc1¶|)7Ž ”†1¦ÐÀˆŠªà„¡UEB)}oØÝ XJf,ãÐå­ÅX”Ô˜¸»;bœ&å@,±Ûƒ2¢ÔNÞ$÷G¤ÉÐ )¬Ñ\ý•aóm$RhZVh©i-s¥RB¦JIÈź~€IÅãáßóG?ÙÃq>q÷'ÿÙ¤ö˜‡rân™™Ëo?ďެd”£„ÂaXzG8yŽÇ…Z3kÈ7)lÛÆ<ŒÆà7•˜ n˜8­žÒ$R+bNP ó2!ix)¥ë0Üh;"õ|BJMSšAõô’™FGiÝnót^‘NrX45'bhÌã‘ÚN÷îöóV(²±Å+FÀÐ$ÇåŽ-e¾ôü†Å!²1 –iˆ12 ¿ÆÞM)Ü@2ŽËåÂ4hïPs„d™{M´m‡yFkÅ5ìßÀûº‘J!× Âf´‘,óÎXR PºšÐûA+^¿óM¼==sñg¬kÂï;óh8]=Çé@Q:¦d6¿#Œe”Bj>ûùO®öüó`?ý/ýަopb­¿zŽGÒMį”át:±, óà¸lr ÜÝÝaÍÈù|æ8Œn ¬‘w¤µ4!¹n+¸?Î]»-%çm¥åÆ2y>HT–ã9–^<§JŠ)E–eêZ !XÛ†Uƒ¦æÂÝqaó;§ÓN)‚»W}#/‡ ¥úÉ<Ž#1ö.´=:žO'¦qdPޏî¸iÄçØ ¤FkK©)šÆ<ˆÊr7óÅ_ý¿qnÄ8G‘`•F”Ì2ôÚêùù¹SÑ•êÁ=XÎçg‡™mÏ(a§®üÒûOŒ“ÅØFM‚Þ{†Áb´äá° DOEcòÔ&A „’h«Ø× « ˆ>ª!·À¼ ø= 1ÔÀá~$øŠ÷ž&$ÿô>yôöOÄýâO~{ÓÆu÷Rˆ12º‰\Ã4q>ŸiBc­åt:bd4Óm¶„ãtêõƒ³ c%AnR¦H¸¿¿§åÌz=÷Îî4±íÙŽŒn"$ÏÓå™qtÌÃH œ§‰1Žu]9Ì#9g´TÄØbó| ¥®qк÷!@CÂÚJ—»æ˜8,3Ë‘óùŒ”«¡ä[‡Ú n#Æb©­­’R!•|“¦öM™‚¿ ¢Î œNg¶}ÇŽJ dZc{@¦ê»r¯)5!$†Q1¢_i²aÍŒRz•°5Ï|< jc_7Œ4<><°­;1'´TH%nì ZÁjCŽ‘°{šœÏW*¥ÖŒ¬ëÚ%]˜°hg¹ìݯw>ó£ŸþÕ×ôAþ·?óÙc:,êìMu†`óè:a4)ÃuïôŽ”3ã²}¹z6ßÈ¥`\e+Ã0±Ì÷øxûü„”g%÷Ç;Zkœ/+Jhr® 7ƒT>¦a$LjA#t·ž&ªwŸ·Í÷”ÆõXEí]ô&‘µ0Þä¢vtìa£¨tË« !EZ,v@*J¶®Þ+±ð|>óøúbíôñJcÝ÷N#Ïù†LEJiÈÖ©òÚ\®çëåcê|Ši0Vq½žiT¤PLÓ‚ß#‡ƒé ÄœÃGÈ—¢55ôß:h—ÈøÁºwúþ0¢çþ8!˜Á1ŽŽ¾ø©VZUœžWríRÞiîÒÝÇåÈeß(JôÏ ‘}ß‘Úð=?õ+â20®ÿå÷7aúô‘XºÁ’ÐÌj(-ÐZãc ÄLn •âîþÀåà R šP쾟Ìè‚2][‘B$Öj´´Z°V³ïuÛyçõ+bLÔ›ß扆ì§tÌ(]{Útƒx’šÌ%$Mww& IiÝøl™ÈÁ=[e÷žÃá€VŠâûé¹\éøP×iÔZQÊ „`ó‘* ÅÎA 9õÚEJ´hBÐVœµBš]0Õøøw¥IÜíÆ«µr8.ÄúÀûÀñx„*>nTæÒh¢âSäÕ«jî A£?‡Ô›:Ä[ZEºn¶ •Àª.§}çñj­§ÆµfBHÄP‰{å{Ú)œ°ÂBBYƒ°šïùü×VõUýðó¯ü+m^\/*“¥¨Ñ÷“³¢;WÔJs Ö|;Åëºâ}§^”4P[¸çêÁ%Ucœ‚¯ú†²Ú’?¦“›Î@M™R7”u´*ȹRZežgÖë†4‡$„e5Mt›ÌBçi­ñ-bLÕÜÍPSÁ Tel3ëz£±× ã8’j#Ýn‚&;ŒûQŸ[¥§”…ýÔ©èÎ9ÎëFCR‹ µþ¼ÜàØóùŠ1†y:pÙ={ Ä\p®×F ]7> %.w­Ñ"µâ¼nÔÔgnô›£rºœ±Nv­ø4# ”ÜŠ=÷»ï-ÔÐÝEkŒãˆP TŸ-xg!îžÇ‡{´¡{zw=_ižS!ÕÄi½`ÍD ëê¹úåáŽ6Šß÷#_›ùª}è/}îÛÛ`oö-­±XÃ0 ÔZ{Q[;©µþÂ3ŠaÔŒN÷Óªu¶¨´úöä âÊî/ݹ£$”¤…ª©C?ÉÅ­S®Z§ˆ˜a„ZIeï<*©AB¾\ºôvÒ&}ÓW PJ÷ˆ'êî‘¢¡UȤihµÑ”D 9tÏ¥zÀû@Ie-9%´4P+5Z.·îvî“•$U9]VZkÌóLH]!x¹ô´*¶Ûî!nÁ…7°Á“K'j%(1uIkí|©ÕF;àsâº$cn$E¡‘Z±åî0òöéùã›iÛ¯²ž3‡KÚ#况’|À í,±d¬,ãÂd»K‰0Á*–Ñ i”,)-S[!8_<¡@(™J¡–NàüH ü~ò«ë¿ûÿ°_ùãŸmçó…ZzCLˆ„hÐô-(–›7’fß×û:ëžÿÊÊaž†Ñ9”Rý¤v¥+÷Ç…’zsNÈÒ›eYÁÖ¨R±ÅÜñs!€1†#F „24AŸW Fk7±îÓl©7_Ÿ’d‘B‘rDÊŠL=PCNh­{ r#Ùí[¢ˆÞ©.¥`”`YBN)™îˆ¡6¦e£i)Ð#»ßNì)%BJü¾ÜýN)u/Û*)­›=§Ô=k¥Ôl>âCDš…’q÷X£X×ë—}§"(1`KÈ=›AŒ‰ëZVòönªÀÎ&8ÌSïWhÈ­rÄ[ãMižžN† ]+V*ä`1R j¥™æ¥£®<ÞM|êÕ#-dëÊÉ,ç=âN͉ÓÈ¥ácæíÛ3Ë| „Ä÷üñ¿*~CÆÏ}î;[«!Uxj ¼z|‡õrÁ9ƒ‚ëõú±+…¢§Km¡ƒUÙ(·Ø0L\¯ýÔšô€÷÷‡#F ìûÊ0J¤jiÈ~##ñ¹qÙ= °N“s7:3¥ÓbmÝo¤œ >g2S»YB+ù6ÿî@Ü=JÂ49ÆV©JákFI“]±·Ø;Â^ЦÜËà $PJ­ç‰ ƒ6ˆVµ1/S÷› « óaé)ç”(¤Q¡uS·w”Ö¬±MIÙdïg¬W¤SÈ&¡tÕº{®ÛT/ ‹Ï˜É‹e[wdóhm9¯™«ß±Zs¯}Zk7:…’äZÑ¢£[Û¶£ÌH,™7×3‡‡×°sßf¬…’¹T¶XpãÀì4¯ïfÞùÔÄëÃÂ5´&HMbÆ‘=i» ´ãƒ§gžÎ+BZrn”¦ˆ©ðm?ô•Ÿ=øeÿ€ŸùÑïhÔB1o>øwGœRˆ’™ç™=|Xµ Ue+¥&ËFYT«¿!•c5˲`ìÄóå-¥öyiï2L ™ª[ÊŒÃ!J5ZÞ©µr]wâ ò¬îÝíÚ‘•ÓõIJi¹Ñ„eK™=NKÒ^Ù‚'猉wß}·×81ðú½OAN”XS  8*‡4–µDH‡Ç‰ZZWïŽÐ VÂ9LG6Qµçôh…NV¬ÕTÕÐzaU3óàh²!µb>z—¼æaìÈšiª}ìc«¥€ÚAŒm[on„º3fóRôñÉ­Šîe[+[Š\vT= (7¯ªœI%"„(8#Ažx÷ÕkUPk IDAT Ÿ ×°#Œ¤d;½å½‡…ûû#B;tQ|øá‡l:ó-óÈã|’kò¸Q3jÉh$vе\EúÄ~ \›BaXÏO¼ŸžÈQðOþëÿµø ö_ý]-î]*)ÔD£²ï;Z*JîƒSŠ"fq”ìqJq?¸\®äZ©B޼;ß±nÆqdp»_±¶§YqÏøä)µŸú­%îî8=oømçx¿p +ó8a¤¡ÕÊýÝ#ÏÏÏ Êòžo}†ŒQ†˜g¿!ÄŠÆ›Sâîî€q¿¯%(¡[ÐH­ðþÊ<.¬)pY7îÝBCóÁ­a7ÞèíÃ`ûF¾±€¹ÕPÏë^ɹ«ÔŒ•}ÜX}¯]_~³»Š2š{wùî~b'½0Lw8g¨7ãgÑ*R4„”P­ö¸SJFÈ‘F¿1 –Z"•‚”ºó»r£¢H±€êóyó\¶‚Bì,ËÂétº àŒ(3òôôÄñþ@ÊPBoÔJÛø–÷XU™ÆÛšá‚u3—k×§—5¦Å/3¤ÆÝ{¯x˜,³QD‘P Âugðöý· ÃD‘ßñ/ùåµ_–?ø7þäïk>?3ÍwäÔÑ›š*M ¶Ý3Ž3oß<÷¹d¤Ñ:õ+¯^½b»lb­…J÷62­1ͽðê UC)pÖC£éÄ<ßqº<3Ï#i÷LîÀù|æþáÈ›ó•’2ßüÞ{P+çË3Ã`ÙÃÆ0H/ûÈmerBV\R"¤‚jc» ò<‡ÃŒj}æ„ÕæFcïºkò¤œy<Þu¨¹Õ cÌÓ‘µfÇ múà™qP ʱ®;‰Š¤q7/©Øc`Ý<Ã0 ¥Ä§ØÿÝ*Ù¬6LÇ;RlÛ•‡‡‡ž¦‰Š– £4Ê6¬QŒÖ0‡aê5eY6´i)!Z¥•Þ˜SBö@j!ä1œh­ ¶RÄеéM5|NHc ©@éÍÅV*~;ÓŠäÁqÀÆÃÂ" ÿûÿyB.3—mg¿žxu1®RED(«7NQ­2:É»¯Ê0O¤”H~G4IŒ2¿í_øòñ¯~]èýŸÿçÛuÛI¹Rì>rA*C ž=eNëÆr¸ï¢9]Î,ËBÞ;<ÙêîF®×+nX§Ó‰ûû#oÞ¼AIÇýñkÁïšå²½eZfrÎÜÝ Þ3¹ cLot¡i²!´ FOJwßyÕ Bï,÷lÉs:Ÿyóæ™Ó5!¦;ö=àŒÅÖ€/‰a9ðæôŒµV®×.‹]ÜxK?úú’"n°,ãÀz=#­ë0p®¤R¢ñúõ+|¸£çnž™lOg¶è¡UÞ9>tWò¦ÅõÆø ]'ÿ•”0F‘[×™”˜P7ReM™(õ-P*Éè ´ÊýaÁÅ4(œR"4 CŸ%¥ì& ·!4Òjä)±0Ô*¹®ž=zšj”ÖaܰGŽwøm‡ÖXÓŽp†õšyÿ‹—ØFðÞÑÿõo=ñ×þûÿ–wßûßßõ›8NЇÇ>¬3û•»yÆ(IH7.Ølñ1à[àá8òøú­:~³’”¿íûÿ3ñ5 Œ·¿ðÍZ‹Ò‚R­5N×H¶†ó›+¹6Öº—R̤Ò0ÎâC pr \=V;Þ¾}‹,kŽhgÙÎ+ÒH†qâý/½eLCP±,αú+RkŒ1œžžxï½÷x>Ÿ‘Ú@èEzE0Í3!D¢O8©¹¿¿ïgS'ƒ–âæ •8_NÌÆ°Ò*ÖÜIÒè§#9çP¢’+œÏîïû°ûÑ94’è7¶ÚQÜÞ¼S|4ÿÛ{Ï2MÜß=²_WòÍwtU:ýbXö¼1 ãm„YjÙDçˆ2’Aj MO/Ò5›3ƒu\B×-¨5“| †½§‡Zñ´s«G$÷Ë„“ûÉ1YÃh,I‚¶¥ûØ´q™ÐÖ’Bì5K-ä(µÓç?òôÝ÷\ ¹YÎqGV‰Nl±°­3æ8òÅ7ÏÔTQ¤ØÑ2;K ‰j‹3\ã†[&\R¼9]ãÀ¨R‚Ò™Ã21¹ « )­¨*)Yò[¾÷?_ÕÀøkÿæïmÇiæ0*jI<Üß±L¶§ ‡íú|j lëNªRkßüÏO½Ð£ñ2T…–=íxzzâñõ+¾ôæ )W—#Uõΰ°ž/Ü?,\vÏ*i÷„°s¼?"Ñ<==1-#ã2s:o,ƒë}X™nÖûR*.ë•óe¥Õ̧¾ù‡Ióz™œÆ:É2jð+Q?pºœùàùÃÞ?šÑŽlÛ.!c×Á‚Øsdq3“¶Ä”¸„7*ZKZì›g_;ú3LŽíºwm…(-pB’|@X-ÏOg§ Z*^¿~Íi»J &hTŒíuËÝáØ»é©×"Fi|ÜqCwl~ ­ûÞ©âÒh«H¹×ƒNÉ΃5$ჵ–W¯^á”èžZZ28{ƒ–!—H¡ë[š1äÕ#KÆ·Àž"ëÉ“¥ëÀC.ì[@YËy½pÙw>õkà¿rçŽÈq$„]v„,£‘E‘¼BªL%sÄÙÞóz¼À¯žD§ê|Ówÿ»â+áG¿µÍã@X7Žó‚³Prb,Îh¦¡C³nê“H—¡Ÿd‡ãLôuû$#!E¶5‘k#¤D®å†ß÷xÚ3>EbKø8È1£­äê»Éòl'}Ü×¾îïîh-qÝVž.žZ»Í½÷žœÓ4ô4îpG © sû?Œc7ìßò©×Ü–$!õ!X­ [dß=>$ŠvlÁ3[MŽ5ws…Q9|ŠœÏeúÆSÖ0¸‰óÍ3*a¦7¢Âb]¯)BDò¦¿§Ï}ß×íX¼çùXhÜȶ‰qËQ}C.‘¦±’»-< U`2!ìäøôòJï,_®Ÿù—þƒ¿­þ=ÿÝ_û×k?N¬ëÌ8õ,Ë“L¡ï[|ØÐZÝ`M=NÉ5Ìó­-Öô<ü®i©9Ò· ‡Kót:Qr&•D­‘S?ñÇ?ý~]è{G?9ªi1Êþ¤1ÖBQGF!cK&æB ‰y!®O‰¹2´#÷ùɺ츶c^V”R ÃÀ8ŽüüýZYJÑ|¿=qm@-™Sßq%ûÑ÷½ TŒÊÔ’øá‡/LýˆQk…,x~½€s„ïßi¬#dùï¥$I¸œ3Á pßwjíQi£¨Â}/Üîµ*Œ1l!‘Ó‚µ J[óF…’ºÊ¼²›'¥8Úfbó‰ÇãÁå4ѵ†ûãuMr½8“rÛ¶JŸé —þ„EÀäiÌQKV)eº¡'•‚6 ¿n\¯g–eù°®¨\ȹ2¾¼b„\¸¿}§ë:Æ¡·¿½ßil+¸S¥˜—…Óõ¹Ä.R3S×ÒXÃ0v¨RxýtÅV©'ÐFMªÂs^y<1¶áw÷‡äõ“8´Ö¿ï$n6¿2o3ÊhbØ»gÄôiuæßþóÿo{É?÷þöô/×’+]7bfYŸäZùüåä q¹¼ðé‡/<~ûÆÛíwô­ÅÃå4aµ/î[¡´ò§  ʇU²TÆ ”ìô;ëH!£Qœ§×t œN'±JfèZÆ©¥ÖˆÑ…ã J;j-™˜Ã‡K5fI¿=晜åÿË{O ’sˆrQìÇžý¨`Á*0d×KÃP#Ý/hýè=!올¤%Õ("™óõÄO_>ccb° ¹3Œ}+?c òEBÁ!R)ÎlûB(ŽT%e(¥“œ:Êà}ey‹,›'¥ÂÆNÛŒhÕKáñ6“sæúr&úÀ¾‰õŶFb«)A)¿·Ü¸†ÆNm‹SšÍï4}Kß8TŠ$*!f”54M'v™=¢èL:†¦• „’èÆŽèwÎÓ€qŽP~ GÕ™‘+±Ò¼¿¿ !²éÐŒÒ,󃦱 £$•ª´Î1 =ç±ãÓ¹Ç [´9zVïI¡²ûȲì,›ÿ°Ïô}/¬a*ÆZŠQäÃ@Zk¥f©~xÿþ ÝŒüéŸÿ¿g?Àßû³¥6ÃHßËÖ%øˆRrg½?—ÃÝ™x»q}ùB­Š°*l“é;‡÷rÚ ²Tìf…iÁ¯‚nlúŽiš.|ð2åƒh¬´ù¬^ü?ÚPˆœÏçNóóûLšŽ–—ó‰ê]«œÁtÝ0Ê/£m;ƒ²R¤„=!Å+AÖ‹ûº}tl—”x,Šæý¹²§Ä–§3N-äÄÛýh2–ÇãÓN¢›@MíJ”9Å9”»¶ÁäŠÊ‰n:£+ŒCÏÐ6L£ ¢Ýá*v}ƒÒPsF¹–´ÏÄø¤ÃA±¼­³ 3 ÌÛJ.°¡.R¥Às]ÊI•·È‘ýˆÑ³¯Rs{ÓHÍ•1†¡·åx.ž¶u¤¼™ó4Qsa[DeÏU @+RŒ´®9HÎÓ ç ÆÂËåÄõ|™_ÔÝÀ¶oÄ\„^d¹×èÙ}¤åÊ}~²ù·ÇŸ‹8Kcáòú‚Õ…çýÁu: xn E+\×2u‚ëW¥b­£i:æuGBPCa/O9-U˶ETŸ^Ï ¦ãziEéî>¿¼@ͤ}£æ„kö#ûrbYÎJÏ^Œ˜6»¸‚Û®ãþœI…c‹ä»žeóô£Zûê Q†n€×ËÀ¼n¬›§m;á?VúqÂ{Ï3?y.b²Lâœ}¾=sT+]+ü®ÖIåY<º5à”! R¥"[=cäw>”RHÁƒV¨F0¬Véî”Ó ¢ééÜÓ´†×—¦E‘Cíå;_þÆiš0Z€9Dæ>ƒkG¬28§iZ8÷-j÷¨ô¿üµúK¤QkË2oìÁS‰ Z¢‡Ç"×…ûóA®kZP…m[iº–ÝKXÇ4Ò3ÜŸAÂñ)¡”a^ŸœÏgj.”œˆªÒYǹëH>à:G‰¶éÚžmþ m3±¬Y,¦ðùe"/¿¨¦=‚9æèÏ“×q ™Çc¦ÄÓ䌦Rh¬ASøé‡E©¥p½^˜N9l”ÄŸ£ Œõ²o<–Û·ì!ácb÷B ¿¿?È9óòòBßvlb_[C©Œþ½—«¢Rc¥#û@1Qr&vÂÇÂ’V«8·=ßçÇQs¬º–®1\ÏS×0 ÈeEéDÛ9ö-°>Ã0°ï;QË\ñxÌAAÒµ(Éyí‘‚¢vc,yå±zjU4]˶müôÓO,Ïù#ðôv£;Ÿ 놳 O¿¡]CÞ5Ul×rê5ÛîqýÀºîÔ#SJáþxðzýŒâꆎçóIãä!Ú†LF[Ãs]øòå ­u<ïjª¸®¥ªDŒBl‰aç˧+­1Ô4Ms¼Í!%™-‚—mc^f…ûså~_ÐM+œ®¼ŒjûÿI5FaB9 Jq¿Ýh­¼-r1äÉ*k „€c¯ø°ÈÕ!k¾½ÝH%ÓwgrÒÌA^k”J.pŸŸrª<Ÿ8cQ­Ô_ƉÇã.‚^N Ã(ÔŒ´1´ƒd [Å8¶´U“CÅ4#±®„”©53ô-~™éœC£1Ʊ—r[²Ñ°º¦2¸u¬[æ9¿ó«^iuåµäTiRPíJŒ‘Çüü¨+Y³,+%¾ç†˜ß¿•6ÕR{Ùí§”8O—Sß|«}—+bÄ*®“ÀºJÒ2לݙûrg󔑨­•Š1J¢qFô¡Áñéó™ÖÀõüB- È4®0o’ûA†Î”ÞG”ið!Šô¶c^=¾fR4ÊP°¬±²ìO1ñåÊýöÄTMcdX—Ò)ӏޭD|Ψ¢PEcû–x¿ñòå|­<3óý!:ÖØ±¥ÆÊ†lG!º¬ž®iI>Ð5=á 5v}Ãi”Û†Q m-©ˆw¬që0MKŒCohÅ8µ\ºóü Ä­ÕP‹( ãiÂ(Íš¸¶ +Ìkĸ‰åæ©{@ýoëß©1œ¦ëiBQV  ªdb âÕ©2€Ÿ˜×'Ãib÷‚¡bÌ”*{û9ËCdlöG–-‰TÍ8öäegÝ=m70ïEÁc~Ê©ª-¹Xj£é;ÍúóÏüñ?‚®|»Ý±MËd&r-(giw¼Áš¶§zªŸ)\Ûʉ]­mQÈp–©#ªb•Æ…µm/¯¯¼¸c#®©hÝÈ›h~²,+)j¼ ä$ÚLuޝ·7Ú¦#-žý¾âñp•RÈYR~ã8’CfžW/ͶKjm:µ ƒ¨ãµh†FÄÀuªÈõz ÞoeöªôÜïï|~=Ñ5mãèzÅ44\‡3Zˉš<Û"<¨ªÑ/LÓÄæ£œèhr.Çð[ñì4ÛȈ­Õ%e”­,«§dÍæhEQ™Šg8u¬?'´kˆÖÍË œ%ÆŒ©ìOé(¬ª0o3Mo)%Ñw’K»“Zu U{!Ño[  9õ!ùƒJÒ1t %eöu¦ï{>½\Ñ ,£2ÁïX×±IalÁ5ë*Ÿ.#Ni4¿GYÿÃÿê¯Ö}YѪbŒ¦uŠËåÄÔú®£·–Ë*£fp”…y—lJfCYCJ™yY0°†5BVdë²SB$‡H°V¬Û¹²ï@J±@¥íò»Û7>}~¥n /әŒ6äªplTeH%„sŒ‘Õ¢÷‘ÆlÓ¡eAß÷"HæHcaè iüy–ûõŽ2šÞºöB×N4­æÿð•@‰Iz°­lPbÌÜ—•=d²²rú-;¥L@kÍýñŽqŽ®¸Ý($ó`¬Ñ¡•ç,Yð’Y'±š+úKÎìë“ó4ÃNןÅYÓËíýwôÝ‹ÀòÂé<ˆ5Ã*.“ãÓËDãd¥ š¥†lÙDo)¥HsŒØƒcU‹"Å›1@‘ Ìó FºÇcö8g؃'$X攣ëåZ¶ùÀ0žàX™þÖ›i¢E[úöíZkÇ‘uóÌÛŒk4ÚÈmmÇ㾑ŠFeØ“»IÜi¬;˜Û8â*sm-‰×OZ§é[ƒ‚?òIdÆ3N Ô[ÕÈùÒÓõþË¿\û¡á£rH²B«;q\Æ^¤~+§}ȵÐ7èŠ6 ¬%ÏOj.PUdÞÈ9c¦&R†û2c[Ã⃴¥&Á´”ªdë¥:|,äea;Ö î/;K®üöûÝG>ŸÏhgÑVÉÉ %è3 =1&Ö¸Òµ#~¯¬«Ç99‘.×Qöáó*Vï9OªBkÝÇëûö|g~b¾mä¼ðùó@ßw|~½bMáÔŠ¯É{/¹ê~ ¤Êû*"TômÓ4ñ<¬ >fö-²í w—7¿Sj ï´ªLÃHØ"¡†;ò¶yP¢›L'‰×=’òÎËõLÍ¥2]ûÂú(¤ìÙôL×ö mÇØ¶ìËÌõ<ÑuZk.“‘t¤3B5ÏUe£–c wñRÊI-`.àc$dóñv‰9Ó¶ÛæiÚï£lȨl>â½@µû~`÷žÕï´¶—7¶1X+1Yï#ªˆÚ¸Ã²yœQ\Î'¢ßÅC¼Ý6yðóá`žç•m §¥¼aͪg[%NSÏç뉡oØâƲȵ>¥Â¾zJ®‡mQ÷¯ÿIíÚá8ÁÄBÞ¶jCN®±Œ}'´9UiŽÖϾXYÛµ–¶u c‹seÀ81Šÿ%0ša8¼'좼F¿Ó¶=!©¶r–ï·§<U2¶“5ã¶ìXÓñð‰ÇH)c³ˆwU)œ³85œ–ë ½Æö­àœl[”’Ü÷ívúÊt:ÿ>ë€ÀŒ“­Ñæ Pp¶`µ¢&E-Vµeç‡ÓÄ矾Ð9éèp¥S` ž¨*{ÈÜ"ÞŸ\ÓQ•€ãJ±1¤Zo=1e±ÚÑ{ÃÃA"¯’c9ímcØWd© 2~ÖÓs:õ}Þ<§Ó ­Ñ´®áþx“g/‹a脢ص mÇ4öÇrÃɽfÊ/ª¹úHFaóEK P°l«X/ºÞS;|Š+u 1g¹dyûŸY÷•Jþ8ö˜çåƒm³"Å:oŒ}‹s×d¶Rb´\¶m/ýè×éWø¸âÂ막R#_÷3C;Ê¢1\®=ãÐbÜo i1Õ¡«FýÏóߪ1yžÏ'}'‘Ä”2ÊŠƒ3×"J¯±¦æÄiÀJ’mVÉtÖ2 ½ìéÃtj1Fq¾ (£EõEANP ùh) »'E¡c¦i:jÑõ¬‹§ï^©Iº1ºÞöUÁøñÓ+/cÏeè0¦â:KŠše–¼yŒ‘ª`^=ÆvrÝÞo|.d­I¹@µl«<[]b¦ Õ|~yáy{§ÿ…E‹f¾{ú>}éØ÷Àºl\>]Yæ•OWÙó?î3§á„V ] J×Ã:!)JaIyÊQRs>° ô`èÇõ2â´T0ØÆ¡ÚR ÿ>ú IDATü*QæyùÅ¢!h§Zæõ÷º„µ²‘йâc"dA®.Û̸^¯äy¡Óþ±žüöígÉ1WÍó¹¢UúÎg E1oç¼c\‡¬ÝÕ;]#®U4mÛËJv݆m™9_&Z×I ªz‚¯ MWq‡¡Ž¬yÍpžR h§¡¤J¥5K~ã:µûLß6\ÏçƒÂ('{×ö¢;ôë §ËIªT%ýÒ¥,9ï,ÛBNb² L”äj梢XF„Þ~.ÄXH9cˆhÛðܪ×ur ó¡àS"l;}TÍ54V š{È`5™‚sîXßî<çÚŽûs'Óp …U–¯_¿â:Çç×3S§xÔßý³¿TC²áAöÝZ|Ú!"ÿÂ}šŸ\®'JITe>(ÚC×A*¤ 'áé4Ñ4½tZo+ÚoÕjÃ©ïØ·…©q4]‹kú¾ÅØ*Âñ¦2:Aã 'ʶKdÝrÎô¶¡˺'ËÆ²‹NP2t®#³Áp]¶ß{hªà`ž…¯”D'ZСª¤îæu&úÌùôŠÂ¢1„ôäåubžÏ…/ãĶybªåHª¢T¦o ç©ãõÔÊþ½uP5{RÈrŸÝ¢8³ja â?Z÷DÕö€ ÖùF7œÉIñõý ʲ§Ìý1㺓ÁoÔZè; *óùóó›ß¼“ð Ö2LÃØð¼ßøôr%†«ÆBÛLTV¦¿,"RJb˜Ÿ2+*qJ„ãà™ÎC/E:í‘eiÄT꜡iíeBq`ë ¤ˆ*™)GTk¨¥6y˜Â¾Kòòø#Ïû}F™žÇãùáºMµPj%<ªÄ4jY£ë:¶ðÅ“8;Ò4{ð¼ß߈UîËé'Ê!†R¸=faoUů>Fý½?ÿ7ë¾ï}?r¿ßY–…ë_H›'ûÀëé‚ÑŠ=,˜Îâ“gl¦#`ÄÇ~]0”-!'ö03 '콋D?]2GïÑw—sdhœ`ü¡µŽëåDÛu4­¥UZî®V$|SÕ{ðX7¡žCŽ"@…xÛÛ¸½-heû|:†‘läûX=Æ8J®b;P¢Dë¬PÙâÃŒBº)šÖq:õ`2:rP¬[d+×YZ[ú†—vBiP$~õÓ:«P•߉ GŸ¤"_ÈmÜŸ‹X໎œÔ!fP×Z|‰¨£ö,¥FRlü¾ÐÖ}#”…¦±4N,1!ìè ­é)!Ê<Ôbúâœ3m×IÁg”!YŸl µúà ÷}KåƳ<Àµ*©@•œÄ:òcE·ëÝÔÓMÉž®kéÆŒ¦¦„ÊÇ5GL£ »ƒg)ª”ÈI±®žŠÅôŽ ó¶c3©÷J=>kK,…uód%xŒñÀ¶lú6O3Œ3Yï,&UÔÿ×þÕª”b ÓJ®áL¼BTÚiÙý“±w( c×S•#ì«(šíÈm¾ÓõZ"¢FŸ¥úF ˲HÿÓ‚ÍWJª|›–œ Ã8’seYY±ì[ĨËÙâªXÛ_^ÄŽÞž[zÛѸ\¡$OñQvÙ©àýŽIŠÝÃV*KJøm¡’„;• 9É0ˆ’Ù¥Ö*ð³aà~÷²Ç÷;±Ê=6¦ÀýýÖ:Îç3«Q²é{ ÒèÊç—‰çýFß½|¢ÄŒ³ c"ô«¸\.j —Nì2ϰÈÏœ")gŠÓ”¬ùúý¥,!Vv/™yŸ[ôØãŽÞÇ÷p—¾¿¤Ù‹fìN”ðEàiJ).}=Ȧ•ŒÆ ´Ö×¶ÁAm_f±€ÔšHqãzžHµ°¬;?þø<î3Á{.Ÿ®äÙ–c-©J¤ÖZYœtÚÊÖ§í0ÊBN4F3u=N‚)\Ɖ¡op N§m…dˆAå÷ÉN]5{Ü)dªÊè1$B(„$›•D2óºbÑÄ ï‰¼Ä=Ò6=EA3¶Ñ`À´Ž÷û“¡é]˹íQÿÃ_ÿKU)¡Î­»àû¾ç¾Ï m/Øø}G«B×.§Ñ'´14Nñýû;ÎöìÁóéó ¿¯ÔTiÏ¿þõ¯9²ù9ŸÏÍ\ØÚYœ6}¸6Cþ@Zc¸íï4f ù’“üOwŽv†öÌTwNãHÓ4\ü"C¿qÔ¼£FñIðrZTcYn3¶Ê ¾åˆ©bwØc$—Âs]pm#ÜØÝsK3µhT±èjެÁµ-ë¾ñi¸ð˜W~ûóÏ´}O?t4Za¤è¼{ÚÎa•: þ°>cÇýÀ8ö\/F—ãg¯ÄTȱò6ÿš¶í@7‚ü,ŠÇêÅñÚu”I*a”ƇŒ÷£Ï}æ<6ÜžA: ¡Ô_Nüž¶q¬Ï™×— óse˜&Rͤùóá1ÚÈ%Òº#>P„éÛ4 )ztÓRS¦–‚Ñã$¥¸®ëaÇ7<æ¯ôÝ­ •@Üà<]ˆé78×~Dre8‘uš&ú¦¡ïY±ë„Óg[ñ‚ÛB žœÃ¶DYö°¾¬H§-¶i$g>ob(Œ™=ö”ùùæ%ïS±Tœmˆ{FçÊÐ6¨¿óŸýkÕû„k{R‰ø] a!`¨R…[”¤Ù¨¤LðÛZºÎ’Bf/²Á*;aß©Ic¬ˆFçñüáΜ¦ L€×‡˜¤åþ¯jþ@Æw]'9 i,9Â8œÐÖ³ï+ËœhzÍu(–ÍÓÚŽSÓÓuðúeb¯8cè§t%,3MïÏäo>äT™çU²ư'â¶ózºˆ2G ™iyÿþKÿ™\+>fÖÍÓõ²2­Y:C¶¼‘‚gGq4›qì‰~£*‡® •äa´q´ƒü÷)×iºAQR˾*l»q:wP·ÛS×ÑÎI›­ÒE ÚÐwg0•‚X~ƶ¥1–qèP*cÙ¨¡4qYqV@s)É^Uåñx`Æ‹_E^S3è.‹‘=xîËL.e-±R²ó¿ÿ×Z«v|» ú¦i,•‚úpd¿þòò²ˆ›¶”Âã9 @ÌZæ§D8µ©\NW÷…ëë…R ïïï©*­ù¨¼êl϶/Ä’ÈÁó×/*ë*°ûmåËWŒ­(ÛåK®do›ó0²úǺ1ôeßÈ9H¥.†¦*^ÆÛN—‘ËÔÓ6åŒa%‡‚©c¢däÄ›%ãjdÝ<‹M'JÏÛ]NPÕ§ð@ÌŠ÷Ûƒ¢4…Jˆ ­ é8-ù(ÎD5¤¨i»‘ç>Óµ–°ÜÄãÔÊõè¾|flOô}‹5ŠªÅ–‹gßw¶m5 ¤ ÔáR½…F|ýþÀtVì=cO!³ÅÂsäd1º#nßI0-·Ç¶7¯ßW>¿~áá¥Õ2G”ªÐºÆñ|¼3N/<ï74™_ýáOÜnohÛ6ˆ~êN¾¤µÐuãQÆ©% ºÊ¬Rk%$OÓjºÞÑY…³š°4t#à J¥Ïiœ¤fºú¾ãår"§±ø…V(àЕ}[èZÇã~“(´6ø˜P^ v9Wb©ì)²ˆšã8¢þÿöß­>E\×¢Üñs*ø(<"edãàc"¤B.Rµ-Û(ñN%x<òƒw=çÎå,Á§ÿëÿü¿éû‘ÏŸ?Ó4–y–>B¡¾½ÃXÍ——+o_¿ñúúJ;ôyaÕþ©ýà29,oo7¦Ó…¶m…$è,×ë‰vttÎb´¢Ñ WZàm~P3 ý™÷e¡Ñ™[x²-†mËlk…ê0JêÆœîŒ×Žº(*–X›?°ªª}š5…ƒÔ.˜ÎT/k ¢¸^ÎBH90Qð„¨ªÙýFŸPªr>P-»_)U×~8‰µ©‚+JêŸûÎÑ5–çÛJ(éÃ4øz}¡k¬Àær%æûq»|Ð0 ‡çÍ0Ž#S;Šø×ZbÚiºFÞPØæ™¥.Lý„Õî#(÷K×Gôõë¿óïÕ¦±ôMËó>S«Æè_…£a¤Àæ¹Vº¡çw¿þŠë -&»”Qº`ÚŽ=döûS‚)!¡µ=”géj°V¾èýyâ6K¢E3õƒ Fµ` ¤X€ìBœ™—ˆíš¶ò:M|ÿùü‘b"ÑßørºR½aY*ÉiœÕ …ÐM©ôºe Ú(•Ë82:Ʊã|™0¦¢UE“¡ ä,‹„¢hñÕ,'Þº®²AŠ…X1*Š– Ù/…0˾Pj%"ðãÆuh}ç>ÿ!>¶Tùúõ;ôÃOh KÚÐY¢®a“bQðr>qåMÙô…Î/9‹rÛ—•äwÜ¥g¾ß¦—&§B …-D–”ÈNÓ)Ųn÷'®íéºîÃâQJ¡ŸN<î÷cÝmÄÌGe:›dÝ)G¾Å2Œ)ºz‚/\>Ãýþäõú|ÿúNÛW´ò¤Cÿ ׉vR‚˲¯¼^®äøt}a™ßÐÖQ•ãýv£ïº€ZÑjÉe´­Ãºã¡5Uê ”¢­•¾ïèú†Xp‚ÕœúQ:Rl&‡ŒÑâ(ë*‰B4q¨ø¿þ§Õ…Ÿehþe¼Eñ¨X«¥"*U´¶äš¸ßoôíHU&HQê½JA)cI)³í®“زîGÇ›.kyì+Å(ö=Ð:!QtÃÀº{ö-2NºZb œ® (ÇcÞѶòj:Y½Q1£¥iþñ`èNl{¤Æ*”Œ¸ã‹‡RxORÀb¦v„c½Wâx­åDüüú‰á¬8O'zgÑTTTSPö}E׎ƊŽó|>Å\ Ëx. íhQªåöØÁBBfƒuKÝ“n³\ž:Œ“¼VŠù¹DAÃe#¤ÂÚ(Òæ¹ŒmŸÇS×¢›Ê¯~z¥5 ïNwÖ¦RjdœzqǼï<·ÎˆQf–çs¡P±¦áçïß±¦A‹ßDãØÏm°VDµ~h¤„2 yþ1/RZóܹž/ôçŠãûíTĹSíAiYPÎÒ:© 4´mËòàÖËåJNO´í±²-]'ZW*’aI»ÇµíGiNÛ¶8-ºIßv„¼òz¾JAtc'Wô÷7áø:Åõ|‘噪å!¯¬mQùýª•(›¨JŠÛ6ä¸a” È9×QS%Ž•\!¤\¡µ#9fr"¸TE Yj½rÁš†ïïïLÓôQì÷È3îøRQF“c!lãZr…š4Ö>d;Œmx.J‹Õ$Ä…óéDL Ž|B“ /§>l<·•ÉÉ+<óî9õ‘Ý~n )RLç3>lŒ]ϾntÝD;mÛÒw §AÊNÎ]'W‡6SJD+EMAª›žœ`ÙvÒq²Ý×YD¹vÀµZª¹°ûÊû<‹R¢˜§‘¾k0UåËsCcÐíÀûú¤éä@k4ûSq‹ 禣±–O/W:§8šèKât™Ð%cMÅ´Žç2“ÐYÛ÷õ‘Õ|×RÄÇDL²Ú¬å÷]~o·;¶)Js»Ý¸žÎT]™ï^®çvQYý~²Ûêɱç¾ÜxùrÁï•”úÖ1¿¼ñ|º\èf_¥Í5Æ(íµ1‚Ž ýU €93 -Î)¶¸`ã§äv»±¬û‡È¨_›³†ì w • © 9ÒuÒIÒ5‡ê_+!¬\_$Ý9¹S5êÿ­?­}Û0ŒÓ41CÃxîÑ Hqˆ*(mÈûÑôc!î cÈ…Ý/8£ÉEZƒR*hÕüBÛJãŽ1’[—Š6™ *Å–6Ñn¢T…!l\¯¯|ýúÓù•=$žÏ…d—Ÿß=™¬ Mse_ Ÿ_Ohp¦k!ÇÂ4 b!yÿ&ØŸ¾;¨! »_å—Ô·4#æJ-ãt cåû›g^_®¨‚V/££kMçè‡Û)¦I*ÔœnPª!m7PšŠ>‚„–Ä’¥ç:¶ò±nø"éŰʀ¹ùYšš”lÄæÝc¬7î÷;FYúÓÄû²`ŒEW‰Œ¾Œ=ÖTWišŽëõ‹¡µ–it€‡¼p÷’­ ¨ÃH™Ƀ6¤{®ø}—\vÎ ýĶGž³ FSˆÌ~¡?M’l\çóõàØBcÅ”©¼½Ý§·÷™R¥T*–ѵdÕ¶çÆiÅ…ÄÎÞõ‡ÇÊK£µšÝ/Œ£l2sŽ8keeŒd7¬µqZ´²œ“„Çέ“·|ÓtÔœ‡–äíë\Æ©Ì`Ϩ¿ÿgÿF-9r>Ÿ±VF¯Ä§öèuhŒ<…eê;ÚF²îÜ`°˜¦#î;nì‘ɷЦ©ËML­ÐZ¤|ùó‰ò‹ê»í ý$4Œ\‰!Skq–÷÷±nìûΗ/_Ø÷¯³?\•ž¾ùþóWiü±2ÑL-¼žFtÚèÉŸ¿?WÖ-B©t}ÃùûûŸÄ"ïtäz²Ì^ñœ Yc—êhT aPEÑÙŽìãØr:÷Rbc-'+!¦ñ4Ñ5-Îjª*Üîw2 “Än½®+U Üì± ‘åù|½ ’ë²³‡ÖQò^oü8]la…Úî×°{^>½RRÆ9ÁYk7‘\õ½÷8,ÆÊwªÅŠo­‡¾½}c:¿°¥9C'Y—¾ï†àHN6ªpš.„±:2¶ŽÁM¨ø7ÿjýÅs¿o‡’Ût ư.OŒQ ½¤¤jŽhÓ4îæ…ŒãH×¥‹VygÓÙ T­ å(M¡ÀÃS™^a›†œù£†ªäîÞ9p^†±ûXñýö6C•Ô`cÅVò~_iû+¿ýzg× 2ä´ãTýØÓo±ˆ[¶mºVlööþöFŒ™ë‹ôÃMlÉ‘³ÃéH5™R —Á‘u%û"p2/¿³ð‹—©¥­±X£èáÜ54¦¢ôcÇõUŠ[†ãÃßc|x·Rˆ„ Õg÷eŹîø=‚±Œc˶<èƒäãé™wOÑb{0F‘j ï™Ó5²åk¬æWW\§qdšºFq:ei°Æ"¦ÎèI!kW%åÈ[+±ÃT]i;±ÝT,ë–ÙC$æ,tû}—BšQEJ/ïieÐ-kŽ¥„¦–r@û4/—+ÿô7¿å|z!„À¼ÜyyyÁïáðÀíœ/“PÏáö¸ZÊO•Â&E@µÛV`Ô˲ÈVÑ8Ö"1bm )ö=Ñ·•×ÓÈÔ\±ËýóùŒßZ) †Ö6|_g†é„;·ûÌ)º¦!ì†ÁJyÇýwßh»ùø…·h¥d¨ì ÃÔò¸{ún¤o*—Ó™F;žázF›Žè‹ õÉPÕ€í®7vÚNJè½÷\^GR ÝÑÑ}"fÃæW*­{>?“«elä.}_¾¾ï$àëûmßѺë!VbÞÈÉ31ÊBÛ7 ã±m“"yg”0g–~ï_¢½÷™á4s$ª‚é lîÚÒ6ŽíëW‚V´ãÄ÷wÚ²ûHR•ñræúk)qê;)¬÷›XŸ[q¸Æ ¬m ,‡‚«fó™ÝºÉ±îÚ9nóUàtýDž5‰Â`V¿rNâLÞ#>ŠÉÓ§Ì?ù&Þ¡aˆô Ebê:+‰iš˜N#ζ¸“>4(/h¡0i–Š1£5’)™:¶˜¨Wüöà1Î1;Ž”g–ü½*(í°®õýþ$fñC½LW¬Q<æ—Ó™q8±™c ÃÐàC •Œj3¡îøÕsNBa¹o”èyyy¡ê;ÉU´†ß=¾ñz¹ÒŒ-ÉTbI¬wÏdl× ¡]ãûcå=%ÔßÿRÇÓľÔAÅÞ¶áEÐ(º"¯vªÈJ‚~lI) ¬£qbÍN)¡jÁõ•O_^x>v÷Ó`‰>1¸–q48•1F6AãÐyæÈËË…W£9]_>€®ë¤jØÂò¤ÑtËì={×måˆf±òýýA;]Øráñ\x}ýÌÏ¿ûŽßK²üæ7ÿ”a” I×u¼ßo´0Ž´†šèhuEYdu½ìh®é é¶s°¬†¡Á5†e/ëÅÆZœ2ló"šPЏ¶;ŠáËG$SWÍe<“|`$xU«â¹nb¯;mÓ‰À¤BÀµr÷MÏ2ϧe•¤Uö/ü ÿ"ÿäŸü3þéo~ÇõzÆ5–œ=ÊÊõã÷¬ÕJx³ÎÖ…®i%Ĥa[®—‘ÓéV4¥#¤™R$ó_Š¢E5•D„رî÷ùAˆ™æ¥QdÓÎûíECµÿJ¢ªBˆ+¹h‚Ï §×€ë$“}¿­T%—yžé»‘}É5BlùÕŸ™·YºŒÐ/q´ÃÀ¯ÿÙÏ"ã01ž{žËFÛ¨e£UŠâAýOÿÅ_©>l`ÀZC׸—ìxg쎷÷típÜ'5moE•VP”Âè–ÇS>xm ƒvä"=× üæ7¿a&Y÷¥v2I£4]§¥¡(‚0@I‘¶í?ìÆÛ¶q½^1’òŽmÏTÛa ýýì=΂6‡ÖP A[FEˆðö¾m> ÇÐø=±lk:bÎøš1)¬Ï²Ùè§Ž\+a‰ ¯-óûƒÎv8q¿QJ¢z‰~®›˜êš†æø°jUh#ÖêéÿÞ£G9ÅsáÓY­ŠóiB“M(IªŠ÷××WÊ:Ë¿»[….S`;”Î —Wî÷;ë.•g§Ó¥*÷ÇÝà8Orð¥Rñ»èªBë ~Û¦‰’2§ÓÄÿCÔ›¼Zº­{ZϨ¿jk­ˆØûä¾WDHí&رh(‰ˆ4UíØ“„ì óˆ-Á?@‚ ±QìØ³aSlÙѼž{ÎŽˆUÌâ«FmcÌÙØ›ˆFÄšÅ7Æûþ~ÏSsdY¯|z9ãœât>01"Mb:6Øœ(¿µ¥ïîïøµ§} „ÇÃïáGÍ5’P®c›7œjSÇy÷MýÖõä¸CEY‡sÛ],ç–Ùš´m!Èãȼn¼¾_0½#•V¯Î·‚²íõÇ‘¼>>îô‡]?RÅÒ¾ºÃƒ¯ "·/¨¿ýÏýõßo~CÖæÑ/–¤X麞” ÖYbÎ,ûŠë{†ÃÈ8hJiØ•% ÔÃM°ú…å¶“…¢ÚŠ´(gXâŠ/™,[Ȥ*Y÷È}‹¡¹Ì+¡¶%å²ïÌÛNÈ¡5ûî )ðvùÀr`ÝïoW’—¤9¢…F¡±ö€r)4q(!°R6ÅVßpŸ§£âÓydp‚’VÆÞð|ž°ªpè[ÃÏÒ4^¿µ‘•e_éŒéˆ)Ó9M%’òÂt: Œjº2JUÌËÞZ%¢Œ ¨Â¬î@Ðèñý@…éð„ïaõ[«‘f‰Ô†ë}aFJià Ÿ+k T)¨7¸ûõ¡ˆ%£¤lû¿“sbz”TÔÚÓ¾´vÊ…œi˳±‰ï‹¡-©TRm1ý¯¯ïì¡p»ÞïW>îKãîV‰Q–®ÐÆ1M=ý`1FÒYENÖ”€aè¡V¦ihŽ@-œB›ŠR- 3(Uè&Æ·÷×v¿ßÖêž}ß)ẉd™œVŒÃ€0‘-/_U±a:,aaI Û¶1ßœsÔ,ˆ©RÉíç”$â¿þ‹±–Ã4ùËðÿ1MGd]9(Ý|lÊ>Ì<·F?ÃÖ\­ k'îëB‰T=Û¼ót|!—k a—]°N 83 tÅï‘ùÞ2üJg\gð{÷ŸÏ-Ú< ‚ú ð)jÊ8s¦pÇÚ‚,#\+‰²òÔ÷(iÈB2¦G„9#Œd¿])¾Å˜SJtCÇë¾#¾ñ%~]±‡‰×˾E¤5\÷…"ïiQ]Gˆ‰÷Û½}³íïU‹ a¥ªÐ)B"ÛLo*:ëøöíãáØz µY¨j)dßúÖÓéØR¯Ñ#+Måœ=ÎD-hiX—Àå¾ðé§ŸQ5‘âŽÖÐ?ŒGÎulËþšüöº:J•,k @ÖÖ÷má›sa‡ÉZ˾.h£ ¶?ÛcRÓ02¸Ž"#çãÄ88J‰-Чl;²? yÒµ×Rl±°QD ɶҎ¡BJÖÕHÔ2ý‹ IDATÑúüÊjöRùõ×_9šŽ:lYå‘ä~›¿‘…D[Gô‰ÏçÞ^?iFT¤”Té¬lY¼5 ;Aï4~ñßýGÿJµÖòúúÚ"ß²¹µu8Ý9Êh¿7SLt¦fºþLòg,±z¼j®ë¯ŒO†Ó0!J} u6Œ³(c¨9²ÏDätîù¸¾Óu‡Ã‰Ëå c#5̈œÊ±ø€r‚Ót"m->¶ùH%Rbz\\ ©TB†-¶®úA ÌëŽé;æÇpâx<òõµ)ÃR-ì[Ào¿üò )%6ïqÙRDjE¥ÛŽ3–×ï¸Á1NGü¶sšN¬·µµî¦ž\›¬>EÉ#B(–ûŒí)fžÛ•_¾üÜZ‚¢ ” “-8ÚOã~Öç—Oø½³KMÍc1 \îèwJŽ SãæÖZ9÷#„‚ìòUZfö!RJp:NXÓq:Œh)´°jkòµeÜý¾!t¡ÊÒü‰HbÚÔš¦¨J°?º$¿5A¤°ÅÖmñ{bnÛ‚ KójmÉ5ðýrAHKŠãq‚R˜¯+â?ÿ{ÿtíû¿nœN'–¥euÆóÄõz§{ì¤6Ì·;¿üüµÞï•=çcÏ’vªÔPˆ1!ŒfÚ‹t_f¾<",m!w_n„9_ضåvåt>4›Ol8k´5Ì÷=îœÎmqƒ¤TÁxìxûöG>}úÂt<ðíÛ+Ö8Œ1\®8çÈ©`Lf­öZv:3ñúýÞNªàú6óvª5§ÎáL»LŽƒÄ(‰MÂçú!$ªëØï Y4‰„ûi'äº'–m§ƒh$në‚v¶]sÃ_pCÿ`Ç‚–ê‡<¤H/,©ªÌÜ׿ûùϹ^V~ýúÆó§ÏH³’SeìF´Ôܯ7†±§Ä¦Ónâ×oßOgn—+¢fÓ‰ûº!dsš›jU°Ç ×IžÇ‘°'öTA¾|úÌõúAï%]iÉóó3¿þú+~-Þ¹æ4ÔŠ’2ƒqÄÍsÛW´V¸Í>¦¶ÑÿÅeŠáåéÄt°hÓÁñ|žÐòA’A‰=n4δiZƒ¼ òž€Œ†Dý‡RÃîÊu\·¸xr*Ì90ö"âÆÒ†yÙHE±ÇDŒQ%‡ÃâýOÿµZ‹úa-¥UO}mØ’’r³õ<¹Ý.XÓ8REtl÷[;Cw–”¢(¼Ï¼]®üòóOR£Í¥Œ­QÁ—@”™çã®—ÁïL£áp²8Ó’ !$r„Ë#aëȾ-}ÍÜüìÏþbôÜ—/Ÿž¹]ïhmñ{&¥Úd05‚ÄØ¼pÎtÔÁoˆN9¡’‡Ñqè»ÖÒBbê;ÆNãTsph*ÇñØÜb}óhËZPFá÷’Ec'…H©ûql¢«lß`!7 ç^ÙBxL½Ö´îÂ<Ï*²D„Ÿ&®ó½aù…A«žëmÅÚ&†²þ¸Çôv@ Ëý>£á>/T-9ŸO ~®y}»RFÄÊírçÁ0C¥JÊ’ãó Ez( !šÎ`]W¤PÍía 5mŒãHIMØ£µnZ2Ù> ×mk²z×îU¿}£ <\$ z§Ñ¦`´àxèé¦3–/O‡Ö¿WŠ~:·,_õ *a?$81gÄ£Ó]²$¤Œm2>&z=°‡ÈÕŒíˆ><:6kÔc¢h¹¯ !ì”X0¢CüåóoÕò¨|¶žµg ‘w”lř˽%A_^^¸Í7rŽŒ®£êŽ·™¸·-çÇ}¦ Âà·™þ8káõë7þìËï°Ú°„ ¬är¹‘be†–R ]o‡Öôܾ¿aÞ[˰¡•ÄÙŽÕ7FUßw?°›ÎõÜ?憽|™E÷øˆœL‡Ž-Ü›oÜ8î÷;ÎvÄ¡4Ó‘ŠKëY‹kDcù–D§íQ675Vm›Uc~ûå(ÛŒ_j…Z$ûc4šj‡v'Ùö@}`ñio$ïÛ¿©;ŒÑ¬ûƾ¯íÌ_ ëÒ6Ôãa¢>˜KTE…±ùøxC;‹ÒŸö–1Úwüž‰¥¥zk P ‹÷ôÝÁ |ýúµ})º‰JÄ<ž åÑà áil]þmÛ8'v¿¶¶ŸßT:×#UøýF ¬Up¿ÍLÓñA9lê9ùÐ }‡ªPR¦s”À¹ŽÓñ3ªÂ`ãÔa´C: ¢@Š !¬ØNs½¼·:.‘ Јø!DîÞS¤¢ÆD¨üÒ’ ±D¦ë,²œëÿøïVUH|Œm[i Bd„h.f%-%·,LA`œcT•[,k¢Ó†u¿³×H(S›Þ6ÖØ¼ÌRsý¸óôôĶïlÉÓ÷ZY®—¦ãÚ›JIË©øØîÜö\$Óèp2ñË—?c~ßù¶|Pk¥ïÆvo)…§§óõÖFÈTJ6HQ;×ά~þkÍÐz½­|þüS«Ù¦ØÌ¨Î‘BæãÛI4o ¨´iZ/1¦aôÞyé;ŽÇ‰’#¥dzëì\ûÐ9;ŽÓ¡5uã8A!î;Ë}×ð9 ›y:žx¿àc&¤–Úw@=Àw© OÈÚÎóóÊ6JIˆ?pš‡Ã·×V>Rí<—jÂ8 È…Þp}ÿÆçŸ?!´aYv´TœNþðõš™7„ ¥4Ãt&ÆÌûå­ÝÉäÐÂ…cËÕš9\.ït¶mÿZCaš&„P¼GkÍËÏ_ûöƒkõ[sNVIØ=ã F4ÎÔ^À¡·X#éLG1‚ÞµIäñ4bŒ€1ÓuY‰¹õìU®ìÁ“DÆ A–Y25Öèɪ¢$ï™C÷ŒÿÓ¿W¡ö¨4 l©‘"@«æ­H>‘cKÊÜÖÑôÄ { H*1mLÇ˶Q«"?ò5‰Ú˜I(Þ/WRyÐÔm(…y¹µH{­|}}e˜†&h\w´X÷JÊp_îôƒá0N\¾_©¶áR´²ô}ß|ßÛÆç//¤I¾s¢P9œäy:Od¿±Ýg°]#éyÏxœÈµQ§á@ñ…¢AI×’aƧÖû ¿diG-Ù&÷}ã8ÃÌ8t8­é;Í0vti¨IÕÊ]Ò(•ý~mí3£ø«?ýÊx˜ØÒÖÒ¢ ªlO•a˜H[Ba1}äííJ7Lø=1üúýÃ0PkÆ?*·[£¦Ú [ÁG–ÝCiC‹[‰Í~¥,·Ë¾¦þH?t@ár»3t'.·+Æ*”•ø¥…:•u|||p8x>µ~ÿ8õ { PU#þ Þo”ÔÌF9UrjçúišJâcnÆ#ex™t'‘Êp¿®È VJŒíh<=žÌ´q§)9ñó§DJô/Ùï|z9!µ¤ì M‰P#ˆ¦œ®)“D[V,*ü%#ÊÿöUHEM d¥lÓÙÚ6Ô9G¬ÑÄuÃ( Jã½'y‹¨LaK;…-Š-dg Kó(ãÈ(>Ö¯ß?ZàÐ9r „¸b(ã 6¸/·ÆžÒ:ü}où¬¹ÇJDãcâd(£H)Kh§ÔöÈþXgÆ^óéå…"%ohm™O¤¼“ö6Q’ºÑ¶~Á|à Ã`:6¹R“ÆèŽaèÈ%°û™O§âž¹„ð£à4ßîí1,-½wÝhÙ¦I B¦[7ÐJð4=q8tNq:¨-®-­i‹S¿a´{,6gŒÓl«GÖ]M›på¦ñõ±ÁŽ4Oó~½PûޏG:Ûã÷¦GËÖ¥ J|½S“"&XbÄ>¡h>Ž´çÆðRmÙs“<#éFþïM¦ã#çós³5-mRˆjt¥Z’âòñÎÓÓS«%äö„ØïžOÏgRô€Z"•Lª…¾9¨Ž6úÃIJxDÉH™p¶Qä…jW£;æeã¾Ï|zyÂ)AÜV¤F kô™ãÁ8k0ÁZO™°n¸n ‰Ô´nKU#nÿýß­R´o;”$‹FÃpÓ@)DS)2ÿPÝF0¡"̃pP+~™1F±ì »LÉš²È‚¸×Æ­ k —ý)F”5Ü–Ú´~ðoqí$)B̉ͯ¨æZäò~C`ØkÏÛûõÒ¤ÜZ€ZuäsÙ©1Ò?~?Ô¶ø9tëíŽ{nKgx9æûûWr üîéw|_^ùôò¯ßßI9ðéåHIN9¬îØr ’H"wÏÔ XÕq_Út*…Ø lF!JE …•­ÀO_Kw_9Œ½ÑŒÎòt23:×ö.ÇR ÒvÍø*2B ä:ã}F–æûˆ%ãlÏ<¯$Ÿ*­d»ÍíMíz\’(¸²sY}7öàÛñkžï7øÌm]x¿Ý™ž®%}·Âu^N#‚Ž÷×·öE7êÆ³#Û¡r仿¡»žÂÃG(qÚÐwëzÃIK ‘Ãé‰ËrYw—>xöÚªÒ§þ€®‚Ëò²¢õzè0!¦Ä¾'J(!˜FC-ž”š—ÅôÁ{£Å¯w¦SÓ«9™è‡¡ ƒkâ+ûúÀ†þïÿÙ¿]Eªèñýý•/_¾Êã4¡„~HZ&HÖ1£>M­‘–® R8ª|}}%¡š‹ZJª”*y{½":ÛÞˆº1Ž.Ëu±R¡K¸ýq) ¾¡6O/ŸšvË>?i¤h¡·÷¯L£eɾ'„î¹ow”Õ|z>Sce_6–̓Ҹ±]^¥ªH–Æ«z:OT¦¥áÀûe¦3MÃcDÕ4 je;$Í ôr~bì‡öæ,Õ6 Rº'J»ëä\ˆ>÷„è&7f×’ : TI|w´RHa¹ßvr¬-%PÛß+¥Äî3 Å–v„l©X%{¾½½‘eeêÏ¬×ÆxùÝ—Û˼óùé™Ñhr•D«¬n+Ëæ™·Þë­àÓógj*­’*G+Io£U¼Ï7¦Ó„C>ÐF“|Û_)-(¢°oM.Úì]ž/ŸNÜ®W|ÎX7¢µÄ…ßæ¶½ß9öä*ˆ©ÙdǾG’€5âùÿj­f;Ú*´Õ`ë¼Ð;‡È·ßøéËNÁýãÃáľµŽ·Uš’s£ìAË®ô-‰+¤¤Ý`[u¶ÆˆPŠR%aßpƱ- ½•lóBÍ F¼kùÀ@:”4|ýJEâSb]B‹ÇBˆ™a˜ZEL•ëea7 §4Z4]Áátäz½`ÁIÉêW”3Øn`½o|ܮ̾€Ð”9#ÔvÙFdþü—ŸXæ+~õH©‘Ê‘åã[F4¹¥T†‚àwŸ&|ŠR|“S¦ÔD)¹&Täª1¶c÷3Fgrl`°*Z¬$¿Ð[Ãiš eJn¬'}4œ¦S‹É¨ö-ÚŠ8 lMIdYÛdF*Ök€àñ–½÷™}k)ï=R rm[ôÝW–=ðqmãÜà=ÖLm .Ë-òéô™u½±Å™X3Ãt ¡âÞ"êÓñDΕ÷ËçÓóC©Üéû‘°GüÞ¢äã8¢¤ɲ¢ŒÆE f‡vcUÛl®~mGŸÜ¾Å§ñˆ6²¡5•BÈ…0¦±|¼÷hš\ÐôIbNä\PJblîKÇñŒ™ R¤&±Ï™œfj¤]¯Ùó•`0#Å'öàÉZ¤`‹‰å}ƺ‘÷Ë}]±Ú …lñŸXÉÔÔºóº#Œf:Ø–•ÃØ“¶H ºð|xaY?Ep>}â׿úX¥ÁûÐÊýç3Çã‘ÛÇ£l [úétäíí;9zŽÓ§Ó¹ âe¹]:çÖð3R±û=E†ÃÀè:.׿¹[ç+ãd0ºwŸA¾Â0vHZÑvZkÌcÛÿùù©É;‡Óíž&µ¡7šjÚ“£°c÷ b$ˆ‚ m¶k­Ñin=õÚ¦VÚôøï·{»ûHͼÖm]ˆ â^±ZJl± t£;*!Qº<Êl­âºï©ȱ 9†³Á¹ž×·oT­”Ê6/$Ù¦T5×óI;…‚…s×qß ¥D>½<R‹ÏÏs^[«9šŽy÷mÂgêáiß—3ÏŸ×ËŒ2=UhÖÅã÷Ìýºðåé'Äõïÿóuš¦–Y $lœå<ž^¥áSJÜ—•ãጾ;5›k® £[>þü4¢êޱ­çÑ‹m@¢UB{Å8)Œéé† !#®Ð]OH Z·£ZB+â¼"SATXû¼"”AêöHô~ÇØžX*ª´4è»ÏÌ»G<\ û¾7*š¼F¾üt&•Ê|ßÑ"r“ùát€ù¾B«F:×`ë¾qz~BÔÇ$E´ZðívC(ùÐC·c”³¶-•—ÄééŒ(; cÇOŸ>³Ü›áÉ{O¡rtš‡*•Ìêw¨-Wk¥ì<è†ã¡‡¼#©¸¾£*ÉÐ[0oôC×lR}syèéE…Z©1‘r ÖH,m©;Ï+Û¶aÝHL• ÈURDªÌu[(±Yª¤)„¨ð¡RD[Ê*!¸?8Ä]×QbÞ(ù‡a±>¤Ì0ŽPÚúãí76ÀFC.$"{Zùòræ¥ùÃëÖ¼ò}›ô¥ÔØXJ˶¢á^3™ª4óº „ÄÙžvÜà[kæZ‘ºÕL‘$Pÿú?ûOü>¦@- «b]<9KÞï+oï×öÂĈ¨-‡ib_VB’ܯ‘m‰¼_>Ò2¯™}ËĘ÷È}ÙXöH¬M¥‹”hgÙsÄ‹J¬0o÷%×ï7üuA§J¹@ö dÚ’‘Øá€4ézœmî6¥¹n5Ïç H8£qB·%TNPçÓv¦ÎÖ™”#?ÿòÓãÍn9Pµfö;ÊY:{¤&%Ķ5¯ ŸúüòD%±­s;n]稵0 -ª¿û¥ÄcÙ'Xöj,I*þøúHša<¢M‡©,o— ºsÄ1ÚRáýºPªl‘ptëËÇÖpÛRB:×¾ÕµcÛï÷-bì[âý2#ŒaO‰Úÿß–À¾-”,©ÂÒuG¤v(­QÖa¦Û^FPé:A-‰±·”¸ö]o9^PŒ†±?C©8%ÝÈ ;zÓ¡„d_;׊Ïí,;’+dëilá‡ÒºžÛ¥¥•§ã€ p˜:¤”˜©©²§B×wl~'—Bb´ÂYGØ1JúaäýíÊr_Ѻoüa)ÑÆ€üAdRë{Ô« àQûŸùGo­áxhÖcÚ/éJ!RD¦sÁ¨ª$¦Jž”!—Œî%‘Êê3ÁžVÎÇé‡Þ+ÆHʰn;>F’}õ4[¯eÞùÇï 5¡þêë¯D— ™r»“ç™è7™$rÃ~*ë¬ÖMD™ •–›(¾ï›Ñuê-/ç#²d~÷ӎ玜=FÃàDC`pN0t¢@‹Š0#cßÑ9‡Õ ä°‡Öo¨¹2ô1Dvˆ1!…äù§Ÿ¨Bcœ¥ë{žO5yFg0T¤†"¿þú•a<=Ú•,«/äTÈU±n‰\!SpEKžmô ÃÈ"Û­¥*¼¯l¾à÷­iζ•¯÷+ÚÚv–Ï’ù¾±Ïë寷×üöÆ÷÷FðÈÛ ©1nD ë,ýÐÓwÁé8¢EGØ[x,%JÈÍZb%†)2Æi¬m®õö«²ï“sœi{?ôÎAm>ë,½1Ü×;RÃÓñÈr¿3ãx —D”´1¬»oÂÍ"Xæ@NhžDë®Õ ÷Hz<Õ‡®Iwn·m¹@Ϋ:¦î„ú;ÿÂ?þ{­àéyâryçÀ²Î¦‰Á ¨ª1Ú>Ïi {\x9v$?ú„º`¤E”ÌŸýü ) EùU»#Û–™·ÃñLð%—ùޝ•€aËžlkЬ»@õ=—uf­•ûÙBf›=qˤų͞ûe*ðÛŽµÊ¨þ€Qm`{Ç8-“#*}gxé8v†ÏÇ;08ÍiT]‡a:h´ÎŒƒD«æè~#gÊðòôŒ(µéT„"Ƶìºök»äÏw:)©9ñt8‘c‹£Ôtcš5íxm›æTøø˜!Ó4Ú>ÀvMbYÉ‘0X¶”ÙbÝ´a뺢œä:ßÈZ`tÛwX£Q1eÖ¸î;© ²P˜¾çãöÆm¾‘Já¿~çrÙ(BBÚE¢Q¶ÇÙc˯%E;JFrÈ }sû) ÉÈ0uh#y~y¢ï4RÀØ;¬’ĸ³§c圚 %ž^Ž š‚ê,Uj:Ûóþý‚–-â“§· v½îë:bj‹ ÎŽd½1߯XkPZq[îtcÇÓË íá¾5Ú¾X#˜Ž€CŒZ/Ð8­™/ZõÔÜþdÃw.— Ÿ?&!øþý;½ë8O”$©²òz½S«dt-\Fí †‰Ûuåò¾ázKÌï¸A@¬¼|ÅÊÛÖº¦JN‡ŽÙŸÈ>p«o «OGMØ·f-Bqì&²$¿·àß¼°, OOOm‘d#cw‘¨2¡]g*% JŠÈî‰^]ñ9R”fr#‡lÈÉ“Dešíºð¹ñ11‡€°V H°û”øGGåççç–sŠíÜØÓ¹Gj³P5¬Ñ ‡Sc²>?óýõŠt¢H¤ä©EC!K^qFQI>²)‡BH¢ÿ &Íx8 D¦°V%ã´!ùüé@­]ÃÉ„R•,)ìø*pvd«†-)#ÿïÞÉRÓc'Q²ò|:¢”àåùL×Mä1ñ<@ÜÚ`8JJ‡Öû¾q:YŠ’™—c*3P5±×ÊmÛU⺎÷ùÆ};6•Ȩ ‡n"Þwòy$†­FÆN¶LHž˜ËûÎO?Á}jâ`:.±ð¾®ÄmÇvJ–í7x^ž'º‹ˆí资+Ã4P3ttÜñ?ü‡ÿrÝ÷ι¶ Îl‘\ç+/Ÿ_¸ßï¬{D[Ó–xëŒDÐ ’T|~:Ö¥ÍÃsåm½7ÑcÎ?\hFk¶m¡æÈ§OϬëBˆÍ»ìì€1®ñn÷µ•Jc}:Ÿ°¶ãí㊵ª@¨¾õ/¤xøõÚ.£”‚(…§é DFÉÂóó j~˜?Uû€ètâ!UjHzL8*)ÄõÎ` UT¶œ˜·ˆ3#y+„ZYüÎûõ‚6 [¹ÜW„4P5fjçßéÐ vûùúõ;ãt@ËÛ· ÆdœV¼¾ß‘Vã†æ£«Q‘äNÊŠë¼Ó¹Q25g¦i@JÍò±"LëK u£ –šúN£%¿^G­¹ÉRDBоÉuTc: äðDJ…-g:-8Ž–’Zm¸ïÚA‰Êél9O:m1z,n5(K™wBl[Cüß÷•RZ[ˆM“ Æ6TH)£’øäWÊ´hJ*\·;F+ÊâYüΦ+Û6óç_>±­…P®ë K$ìýà¨)ñ2±Ö²Í E@5Š¢[^¬7-D¨:I× Q~Èn^žO¸Zq¹Cß–Vaý•kår¹`„äpYÃ%,;4écôT‘¸_ëãããó3¥V¾\8M¤l«}ß[ЮÞo3í³~øõÛ…iH9r~ú‰—ÛL¹ÌçÃ~}ýNß9rìeE茲™a—Ì[½Õtå|n޹6 ª¬E¡¨ìëoo7ס"“yz:aÝŠ´Ž©³˜ì±Î`»램qG a4Û(ÑIJ¹0ض»,Ò“à4FÄo º0à„T¹­•©3l÷+JjDÕX¡áãò—óŸ~wæû÷¯üµá‰Û-PŠàùôBI•u¸q¢¿'Îǖ厪M¯žãá™yžÑ"qN¡Ú¸VU¢Ìˆ¤DØ#}nP Bd8ôÈÙ|‹µŒãHˆ­·ð›âX®ëƒWUÙS%fÏûÞðEÓ4ñíÿ¾òtØè;‹ë4ÈÈùéĨ½uX‘èÜñG4^馂hEI‘©sTÓ+AÔšmݘç Rw(YI)`a­Z¥ð IDAT2A¢sš±e{Škcé'¶¢\ÇrŸ¹o3Û]Rsˆ¶GjÃÑv ºÃ/+bc:JMø­²î‘"W޽E­ õïüKã÷ó|m´‰uc÷ž~hµÊ" ¶3$ŸèÜD‰jÅ)Åi|iû‹°S©¼½^B‚„¢+ªèkÊÀo#º‡Z¸©Ä®ˆ¹ðñ~ÅÚž˜2ãtl¦RQ¸Î×0«…}'ú¾c°{ˆ,ÛŠ6–étdÞV„(%‰9s+{¡È(ÖPx¿Ï„\¹Ì ·Åóõë•÷uß™—•¯ß/,KB‹®}»UT 5:„(XkÚ¸…"a•B …“«z;¢•EAo5‘<tÚ ¨âŒáéxÂ:G(™Ûºr_W¤±Ün3±–ÆRE ¬â××7Ö9ÖÂ_ýé;—+ë¼sù¸RKãIY×#ŠF¹ %+J?26ÆbL óuÖ b4µõ9”BkÁé8€Hä‡ ÃïCÈŽsû3‡žÛõapH5p[fR)ì!±ÆÄÓç/L§#BiŒ9q˜T ·eoõÌqb¹-Xu ·iìËúàD‚_è;Õ>µ`­£”JJññjÇŠeÙ©b,€ Ö!7¢¢(d­QVs›ïHãšam“ÊR[H¤¢¸-°gjäTPÚÐ#Ýù€P«½sH¥émÇótàÉ9†ã‰Z F¦qÀšjSdCî{RÃŽU†œäÂh-Ngz%y>œj¼¾¿SU%戓†÷õÆt=1vRÚ[‘%6¡<5ÐM'u¿/­ú9Ž Èf”ÌîœiOœ5dæ½]ÐþôÂíòŽ’†e÷ü|xbó+Òî~#G.ïoXk9ž:®¯·Æá_>}FúBñ™={œnÇì[g¸ŸF„„±3HÕÔgζťTi95+hŠ•œ3!fb•Üæ+Ú4úDzf*ŠâaÞ2YBH Î*@ƒhÒúç#d¸^oô㉯ßß[#°fއ-oï7ºC¦²ûŒ†^¶ûÌuÙ[òÖ{žOG„„*›ëNi_=Ã0´mðÞ…¿!þµ5ˆb !>Hæ°……ãidê~[9Ä\›¸ÇhÆ~h=ñeÅêæ¾›¦‰RÚÝnì ZV¬kÍÏOÏÍg‘ŠGÎÍHd-Tï‰%S$m÷@s…4–hÚm‰ öÍ£¤Äï‘o— Ãx@Q‘5`¬cO•÷ÛŒVÍÖk”¢ïFJ¶šøööÊËá…\4ïËk›m=êïþ­ò÷)4SÍãØq:t.r< ÄçÓ¡ãxì))Ð;Ëip ~_0Z0Mga]oX« ûÂÐuhÞ·[U‚Ûrg‹9 ´TlÛŽ@0FRl2s% à ˜bÊÜ.×–çyÈ;Ûóq™)h¶-à}Àƒ¨²y<”#æÌž·Û…Ó¹-ŸD)hÕª—J*ú^óôÜF¨É ¾¿¾³&Ï–¢´±õð~§È÷÷wÞn[üáO¯¼½Ýñ±2¯‘+R ”(±zÀºŽ*@j8Ç&Ø´Ÿ?¿@®Æ6þíGÅaÔ( N:J®X£ÈñÂ8(ݯLSÑ’Á)¬‚o— Ήf„Eü %rZŠáø’¢lô‘ð™È~‰¤`ÆÑQKávy£hË—/?s¿ß5c_è^ïß<‡B:Óÿßï{ÅTYض!49JöZg%'žGî×[SZ?à]gÖûãñH,™Qw,~gö çó-)ìd*‡Ã®òè@xFi0UÑ ŽÃÓÀéÐaäH*í X¯ïXe)²¹;•‘¶yUö[jÓPYüF§:²°lÛ‚T…ÛíÂØÌëÆæÛý¦„Š’EfÜ`¸|Ì-®/%Ýð„úûÿæßøýÁV>Ÿ:œjyøZ2OĦðñþ•TwŠ((UéGG®;}o±Îsâù|lqc×ó<>Q·‚‘²¡Ö{Ã8ižž‡QÓiIõ™Œáåü‰±©¥Ûbª™ n¼Þ Uúã@–¹¡TJ¡„L)m1µï‘èJibÈ„Ü4ÉËvç8DOÙWÖm%£ÙJÄf/„!&…¯emxÌ’è@u=ê±MͺUJÏýˆNbÀ˜¾á-s@¨ÊºÌøžŸø¿þôøÓÛ+ïW϶.—í,ÒI†qÄšÒŠ }è # ƒ5hiÐòÀèªfâx~ú„Õ¶Å3zGJžaÒ\?¬±ô£eYnø¹m+[î0qßVÞoÜ·7ô(õ°’¦ BÒIÃÿO՛󨶭iZÏèg»šˆØÍ=7)p £RHeP8‰À(•TÊ\ $8—‰„„pq@ü00Y™yï9gﱺَc¬¼ BškÍ1¾ï}ŸG*Éßüöëcú†Ë2×7ˆ²¸®¥:¶e'ÅBã:J‘,KíÑÏËÂcY·i >%bJ¤}˜QÊ ¬c¹?*•²1 K J ¦c_=Ó¾q-Ù3ßKÝί‘@ƒnF”ÑÆàLFGDÌèF&¤mVš:É™œC72tGŽý A U†àÙöZ„ª©}]GÙJÈ¢áÿg¥ÈÁÿÿ\ëžë(ðy±Ê¹Ëßß/”,XR­CR¥?v´¶ôý€÷5{¶½ö†¡$·y& É4¯Ø¤«Ê¸±\®wf¿1œŽ$<§ÓÈǯ5·‚gš&¦u¡F„´$ §C‹÷ãzî—+Éý€÷Û´ÌqáÐö"®±üå_ÿe ¿ÿò- ï· FUdRН_¿²,~ß8 BæÇòDÅ×þ²H™¶±¬ëJ?ž>Àù|fyL4­­‚úè±¹ô=®/¯#]×p>0Òp$ãÐáýV ²Ò3¦iªa8SÇ«ÛÙSª™'¥Ñªš€rS¸ß'R¬š·óŸP<±Toøû·ï(QÉåë¼Ñ7-ÇñÄ|Ÿù¾~ü‰.¸'°ÆU7IØY÷•×ÙDzr½=Z!%´£µ®br¬ÅµÍŸÌ¾mçPÏøO‰F#1CÃ4oèbX÷@°ôV"“âcÐM.¬óÂ.êsf‹ ÊÊ•E¢¤çxli­cp}½Ó¶…VUfpÜf´Ó žñù % îÓ„25cAiÇ´í5,ºFR®U‹u­õÚè)BŽ ±üÿy±©j}£è¾Áo+2Ô^Dc«àož3Bi‚/äâ y‡¢ˆÑ2¯µ¡‡ªE%É´4ÜîËÌx:‚’tÖ2ß®ÇB(îóÆ/ïïØ¡«Eð¼œ?ñý× ËÇõŽíÙd°]w|Lôã¡R´c­ª*¡þæÛ/u„X@m7`­cº^¢ U¥(þ­Pdg4V+œ‚i]ÊðúòÂûû;ñ÷pJ£žpæõ)]—RS¢ÈÂx>Òäê¦Ë9“J©È~ %gâ¾óùÓï9vŽ—CÇù刲5ù· ‘w’ý¹§QJ±l;똗•®mézÅå:áìÀõ¾°íõKíñlá5ÝHxª¨Q’ËíJ.pzûÄõz%ížá8`­åòq«~ˆ®c 5 ½O;B+š¶`¤Vµ’ºmH £«ËÈ\êÑìp8 Ÿ ã’2Òœr$ ÊšJB´ë 2”é(M!¥QY32ùû4ñùt`’+Ûc§u 䈖+t(YhO-3ŒmKÛ\gžVYP|ª‰Y˜ça 7âCæ·÷+Q„ªn%רý4Ý! œ= òÿùß?Ï­I>!“@Au™£¥AJÑ“6ONuZ£ºëã£vmÇ²Õ ¨²Ši¹“”æ~›ˆ×!e­`–XcߥQ2~Ûë}Åý±2mk-·eª`ÖöJø¾ÜîõnQ ,Ÿ IÀ}zÐt®‚˜­ãÇÇ•”ãh Jní$¯o?q»Í„½‚䯶Åï+­u\wºv¨gòüþË÷m©‹XÑ:Qò„=×ÄèátüSñæù©$• ‚„ ®íøö㣒à©È—aüÄãöÁiìpAJÉï¾¼Ñ8É¡s$¡!¢ßëD‹JDܶº”;{¾}¿°‡‚6 ÓR'KÞÇj J ¥d”‘|ÿøŽiÐ’Ë2Õð¥×ì¥ÞyíxÜg¢Rœ_^™/7Þ/ï•@ ã‘ß~}gšf>þL)™°ÝŸîöJ¢w®­wWõÝë}gÞ"MßÑè;W•(¶5rþzf÷ l…Â?Ý'µ¸Q£PhUX÷g;‚—„}§m ÑW)L +‡C‡¶š¾³¼F†¦U†Jj/)>%H†’«HS5š˜j²b…÷G†X‡È‘ÿ·VDoA*B)hëž#;)‘cªP¯I> ÊÓÝöŒðÆXsö뺢Œ¬f¤TPÙR ‹ÌÇõBˆ¡,»Ï\.7>½ýDŒ‘ß~ü†±U=ð·qL{@;ͺMõr'D5uJÃØØ–•eÝ*«ußhÛþ™S*ì> tCL+ ¸]gb© Ü}˸¦ `­)1ðz~ãvK-Öüm¹hËud—•¶u<|ÕšªÓªl[AÛÆùõdn—+º†±£ö ¶=е-ZæÇá0²‡:•i¬E–£%)gú¾çÓùÌ˹Ê…5P<ÛºÐô-aÛÑS„f÷‘uߘ¦úr®ežg>î‚~˜ç«ÐBòË·oض#Á¼%<õè#sa÷‘)´r¤Å3Å™¶mj´bÝPÒBbÛbò|}­Ê·=x„2u 5¯][NEÒæ1]Â0]îÕë‘#_N'Öy©0> µ†×ãH*‘=&JLø}å<¾±®+ÂxçŽÇ2ÓÚ­%÷È0Vòˆ1 c¤Dc,²ÀœwÎã—C5ï†&ÏçYÖ-âÓhÖ%’Â90Ý â·ÿñ?."e.×;§Ó )Aé§Zä`Zƒ²•mdÛ¾jö¬À/;Ö¶à=i](iR·· ‹¾FŽs¦ëžP®EHÍ~¹3>Ö_7¶-ÒtCMJfÁºgÖ=UE°1Ä}æíõHȉíÙ $G¤€±ȹ0/ž= B\«¤$Õ©Ûåú@I‡Ð™Û(Á??è‰Ýg”­:²÷÷wNý¤ÀÅa‰~¯¥—RèËcÝH!Ò7=«0a¥%Cײ̬Ռ}GØ=ËZ}ߣ%(Q¿e¥m™VÏé0ÒɺLõé:¬§?}ýLU«õòéô´šzL +31„©êdIJ‰Š_.Ò(¾ÿΡ)>3Ï;¶øq»ƒ6¬>p½Ýq¦æ–æe«à½N¯äR_9WO”’Ûý—×#ï¿ÜªÏ.'LÓƒ0ÌûÎæ7зK”P„’F2vŽûã‚¶Š?ûü•õq'giZÖéÁçÏ'}¯r-}3à· !kI,èšžènóÄáP3Qä‚uš}©ÇÚ°{v)ÐEaDŬ6NcüîË ¥¡1 Yö[½³EGð#)©EüÍÿôŸ–¢4ß>*(«5ŠâWœk‹ËV2žUë49ŒvÇ¡hÅvºÃH–ÝÔ³7ËT}n1RbÕþ_…BÂã†0 ¡<9V9²,RiVûR£$RT—x¦þó§uÝYsEÛU8ô-ËtEÉZ»½Ý$a±Æ±Çê³ÛÖ ÿÍ€Ô†$3ªn½ð>¢MCH•¬w½^QhW¥%kX¹ßï´®A MV‚y]èšžìkçü¾Î”’8Œ}ãj•7K¶y£kÝŸ°ûëº2öGr\ëCe 1zš¦¡m{ö=T;Õ6#€¶m*5G~úúµÞƒŒfì[È ¥3JÃòxÔ7B,¤-ˆLËLŒ‘°{¬mYöÄbû(Ç<>îõ‚­”â~{ ­%GEL;J? „{dÙ7Ú¾!—@YÁ¶†2Ó²óã:“r!•@3XzéšÞoÒ‚f¡í%¶iÉK¡k÷ÇBÑ)ªWÅ©‚T•+{>Ÿùõ—?p>8 —ÛJ º:5ZÅu~GÁØõQáÛ1'P!kŽîØ è cßòãòNÛ‡% ¯Ã™‚bWާ‘óã"í´úñÿüÿa©CIu¥NÎ$¡þYÖW) 9TªƒnZ†±ár»Ð÷ZöeqVÑwŠ¦Ë¸¶…Æ‘ÈOrx!ì3Ä€.!-Ë4!sÂH2áS$KÅ4mªla«›Ð¦ñ©z¨½mÕ×=?}ý‚V¥Î쟤âkß{ ÖZwÿ” †ÆV¢ß¶yR©xÒÝgÖµ}dcI»¯FØéNL™V7¬~Gµ-—ë™ê±òûÇå,ÆéJ/…®“¨džÂ€´m1ü_^ºV"EÆ:‡P–ëÎ’ß™R]L¥TPRWÌçZ#'%e:Ó!Èœ†Žó±¥ï®µÓV‰}_ØÓ† S3 ¬»GÍmÃdͲ%®k}RL Á:íÌËóÂÜ´<iÙAšÖ`²¨ÖT­ð{æv÷ÄœYýB7ZN£d¾.Ó¢­Ã”ê ñ!¦OŸ_˜–™÷ÛáôÊòØ*q¾…\V¬rXÕÒ6–ïH“ŸÂûº½>Žä˜¹P|%Qº¦aö‡—3ª$dNtÖ°®+ÚY–½úPú®Cíe ç—+F¤X颸õÿá¿òóßèƒCœ϶K„uüñr!(Å÷ëįß°‡Èºmø´`®Dw«q}G ç,n°(!"QR¤Ñ’®i)´u4ÆÑŠÌØÄlxÿ>Ó6ÖH„hSXî ïw„¬Uw†ÑalíâÄ]×/«ˆ>c•!‡«kò¬>Ò ‰ãëü@X‰´š^[|Jü¸}ç2]@¾~þ3’˜§ ›T ;–9¡­­RU uÙït®Áï¿EœëØ}&E²#¿}Ÿx_%{)¬>R„bÙWB=FŠJˆÿù¿ú·JT‰/ǽkPMÇm^X>ÞyûT‘$Ëæéú¡^´4­%ø…’+Wõü2p¹\IQ1¤È„äñ1q½Ü9Çj΂þøB@ÐËÌç—­ÂÛ¢(èq¬€±4CúÛÞwÅ÷j_ çvÛ§;Ê‚ËýV–SÛ³N3[É$!Ÿ8˜–û´°®;…JYãÊ8ŽtMS7þËZ·ëÏsk™3EÖ¸P¤¬˜O;Û¾P¨•N! {üøøÁñµçåøÆÿýýsto9½žØ.WRɤT°RÒŽ9íä ù³Ÿ>áýY`2ÆöYˆeA$Ï0T Á¼$Š–4näqûÁï¾¾ql\n7Æcv×¾µ¢yž¹ªË¬\<íÐòövfì,Z«çÔ* EíYÏSDÇc¹‘S!EÅ–v¶ÍÉ{¾_>É¿ôå'¤ü寇s_V®hiê±ôv]¸o¿ûò§$9­uî%»t‡†Æ–JT2´BzÏå1²_ÇÚãq ”HÉ#}×°­RfÆáï#Ƕ«½“a8Ô»÷í*]EU/ÇØüøñ£¢h·5eºÆÖŸmjqúg,ê?ûÇþó¡kô“ÓºâQÖ0Œ#ëæ‘JE¡<Å2>îĤ>HæuFY…×tdºÀs¶Ï“íƒ,~çú¸óÇW~}¿r¹Í,{ærY¹|ÜI‹Ç–ŠÕ7Ú"•…f©ˆ*@£Ð]—…ì48…µ†¾hµ%æ€h ­u8]'Ä̹k1 ´×HþÅO¯˜i%œ\ÃKßÑ;CÚ:Sã >Í[èzGßµ”hœ¡o-}ç°RÒ,­k¬š’2=cžFW©µ†u^(VÕ©ÚZxÿø@+Ë8¾TΫ.I1QW²õ^eŸÓœkßD>”ÓLË‚uM¥¤§HÊ™i]øˆžybOm—ÛƒËmb›wDHÕ ômOë()8§Q†56’ñ0ÐjÉŸ}úÂÛ0b•åöXp­Áê§2 q§i ]3@2x#8t=ÇFйDÛ[–}gñ !,Û {Ìüúã8u'æyçÇå‚rš}Ù±ÖÐ8CzâPs.d@HŲe¡ézŒëyL+· kê-MÓU$Qð$2ÚZ| Ç)ÁÍcš¹°xÏÇý Äÿúßÿ£"Sb'oo¼܈¾Ð 5¥¨dMѦ§ cŒ‡ž?þñUfÞ¶îù ª´Eҙ߽}©e@XŲÍXmp¦až›ß+Æ$¤êNëVJØ8¸#ýØbtcKÓU‘¹ÔŽ"’V‘SDv Ñ{ð±ò‰üB‘sa_7Ú¶#lEÖKczºàj{°y²•2>U£Ïš’LgÑ{¤0Ì{dõÁ3 n׉ãxbÙVBª4ë$ˆÀ¶(š¡ÇÏ}ÅÙ–” ß7Ž]…¯óÂa|A]/8ž‚ÏÌ‹¤ˆŒR;Åó\šY†“æq]ëÛÇ9®óƒ˜ ¯ogJÊÌÓóùHÛ7|ûíú¾çõð‚,’û2S¬Âa8›–Û}æõeÄ™ j‹NçÝfÏ·é9á BÆ ƒÖšËc"ˆº¯òÞóx¬(mëß­àÇ·™Ç£°¨+*KŽî…ä 1'¾Ý~¡9Xº®¶S^1F²L+a)Œý³ßˆ9Ðu`•&nõÍž3üöý­5ã8¢1ìáÆxèÉŰmU=§”àz™z÷¼[Þžög„Ç{„Öœl>”³ ©j·eÂú‡ÿêëÏçqDH‰r¥ 9UÙÉ:/ä'<øÄ²lôÃXs;Ês|‘¸&#E½TŠRßøq¿s»-l{¶˾ã\KN™ÛíN×t”% UBŠÂ¼íDaù>o|{¬<\VÏc[¸Þ'n÷}©ð`?­¬ëFÞa^ᱡBýýÙHdãˆB º3`-)z¬µ„èñ Lë0ÖK!§HJ‘¦ï9Ô¨¹3h2û¼ÐØŠ wV1ã¡chH™×óX«§:çè[IIŠ6DLXg臜HEÉ…VN¯-Ý`¸Ï3ë–ñI°yÁ¼~ûö6^N¯H‘Y÷ ×Tɉ1ã“»%QZB¡âÿûmß¹?´¢pìGãHkÕoMÛN‘Fjvêéà:-üöñ5xæ–M0ÏX¿ûô†¡!ëL%m™¶! )ºÆâFIÏ£¶m smÛù´àÓ„Ö;Ã`PÂ0ß#ßß¿“7I¯ð…ñt`•j¾L [x •äíå…°{r)¸¦¦¦UjI©E¿ÖEtL+¹ìŒ‡ž®íH9q:¹\>èº÷w–e­å³ó¼³ÀÇD™’%]3¢³Aýÿæßûù`ªµH[D UÿȺïwÖm%”D&²GOkm£¡Ä©n;ö-PRF¨Œ¶’i+')E¦û™+‘nõ‰híàH)â´!§R7î1áÃN‘¢žß×@‚‚a[ Û¾ÂÆ=yÖm#†Àºo 5˼¦6nŽ IDATõðäÛŠì(aI1bBXƒêÔáˆéÛz™7Ù6Hg¥Xh-"%TëmCÒ=4¸¡Å5!3J*º¦G"È) ÄYÃëù@öÛsÌ g´3|{ÿŽÕ§µæËë+”z,5¶å1­U—s)Gº®AIIŽ©¾qµâ1ͬ[$èzYb~«Á¸=ж) Rôç3[ܧe$)H¹vÆ…ìþÄåÚÑ’•âÇÇÆ¼Uâø6oL‰—OgÚÎÒ8ƒQ’¶éØB@Úª>N§#äÈ84´¶ÁYÃOŸ+…“yy³œÎŽÎ9ŒÔt­äóç]+(~F”„ϑǴ`•äåxd#-F8BÈÜ—™T¯¯/•Ê’4­#øÀý6‘žÜÞR$Zµ|<&~ýíFëŠÝ6œ5H­µì¾¶6ÇCΑÑRP|`t ê/þü§ŸÏçÂ)–}«IU*G>þDÜwŒÑ5Õ™ª«z{Ö[=+ZåPZ‘b$ÆÀp<0/7NCÃñp ¦XÇk]Çýñ¥iÚ+Êsk\P¦AJK×µ”1ªjl‹ÈÜæóî™öëºrÝVîqg^"[L¼ßï ýÇuFHÃǶ²‰Û¼2Í ×+Û}CGÅí· e „Û†ô’8GTTO-€@i‹D#UCF!´ÃÇzÏJ¹>¤²*ªbHP ç·Ñ/œŽ=‚„F’Uª§Òø°q8ô)ØÃN×4„ec]"d‹2š¦5tc™îôNÓ –±?ñþqA*C×wl¾Û¾!Æ#PX–™Ã0"„ä~°ûˆu Zh’÷éÁêwŠi4÷¼cK…S7M‹1uŠÖ6]EßøXõ˯\¦ï#ªhÚ¦ç1Íè®Åiƒµ5šcÆÙ–¶mˆ!r¤¼£„©ÈZjŒ²ôM;¨ìÐVqè{œkÈÒòÓ§¯,Ó•É_ª JHÊs9ûqý¨E6£ ëÂá¨iÛ¥,Ö*¬“US‘ û >ì¼½}‚9eÖmÁÍét¨õë'jvYšVc\aì ¢ÎÇñ¿üwÿN‘9 ¬ÂjƒUŽëæ1)p>¸ßn!8žN”"Zp½|p»Ú'ñ§ßbÝ<æg+¥²d]ÛðX”Q }ÏããJëzD‰H™Iq{¢w oo¯!øþqEšJÀ.¢az<³[Êà×Ì·ù—×­ÕX)Û¿´¬õØ5>(©7ŽãHñi,!ÆÊ7}vÒµT<îW¤–´­#QZÐè®–KÁ(±‚¦1(-ê«UÆJ*L‹G;Qï8A@Ü÷e[–ûÆÍгÌ3ÙR€ËÇÄí¶’¥bO[u™'³%2A¯\ß3ëºs½.t±'JZ°F¡¤có+ÚT¼yzKr©hÓn¨XLŠ ø|~Å?<æ‰/ÿÂOäXÖmSÝèMç(¤'_v,×ëµ*‡t­åóëÈh4–dÛ¡Mf]®ï¤0”RyµÆX¢¬î‘°í¤"XÒŠ;V7èÜ1Íß öF %”iÛ–µD|žPYcŠ«FÜê±1T®Ê±°k>>.˜6r:;R‚ù–(Ùp½Þûë4·Û¥‚ßÇ=!EW…§Öõm74 ű?¢þé_ük?ÿ˜+ÑZì‚ì>zæyEÛ–#> ”•Œ=R›'^s¹Ï¤liB Åõ~CJÅx8PRâ|:1 ]?ð¸×v™V–.üåo¿ñ>ßù¸Íüø~£øRÛuA`p8› D.ÏP~¢ô %&^‡®ngeÁ5ºÂJAjÃâ#Cÿ äB.…¶ë ÀëË C?Ò6=Ó´p~9âN‘"ë:Ñ6 Ú5,O,¾Pš}«[s¥5Y¶ûÂïÿ{BÎÜîwì³›’TÝ&Ìó\»»gìGº®#Æ€=x¤ Çvà|>ÓHE¡Ð:Dz¯Œ]V‚Më膎¶í(E04•¦Ò7(Q¹¿ ËZËë¼cmƒL%4mE Agê´IIU]Úþ©)Ú´ ®m0Ö²úªyh‡†ñ0üƾ®´]ƒu]}Û²OŸ_Ìóc§8 †„ú'ÿàïþ,­¡”Hc:¶YÂZ‹E«_Y÷ˆÐ’”5mß±n‘åJ •—ëiB PUê#øa82=j Èû½Röìq¢ïlÕÛR¥-÷džq–—;ÆÕß0¯ILÓ°><ÇÃk»â9ú®gh­£ÙÃζí5R¨gÖR-?‹_°Vá´eK‘Û² ‹ÆÏÓÕ{.™~Ùý†×ö\w´­cãáãñ˜¸\'î˃ۿþõ7~¹|¼`ßÝ žÓ¸—ϯXWMÈÚI„ÌtmÍU¥)ãlƒF²û‰¶qtC ¥ ²`Ç*•/¡–3œ»ŽÆZ¶mG Á¼Ì|ýú…ûýÆõ~a<H)ƒÎd2ûºñv>r:Þ^N( ¤Äî@"x{9âÆùÜa(+0£Aý“ãïþ¼úÇü@ Ëÿøó§Þ×Å^Ó:J‘ êHkÝgJY¶!jT»q=)&BL„-!µ@©BA“B)ƒV…”"B*´QX«Xæ‰óóâ ·û̺zºCÏýqgš7„2´]Çí>áÇc™PÒvOçÜ]?‘KB 0®ó#Ÿ.‹iF”Jj_וÛôÀ´ŽN7L÷ æòØÑIÓhËm›ë›ázeY7º¾c^VömÇY‹’™J&@“³bÚ<™ —eáßvæ%óÿþò÷¥€‘X]ÓS¤Æš†¦©1òÓ8й¶žs…dŒ5%«k̶šñØóét`h,ÚIN½£‚Ç|Eëc¥…$øÃßü®êßø&ˆÉ!sêÆ®#û‘2ÖhºÆÑù;rá²=Vqlš¨qÙ¢þÝðõg¥Z¦ùAô ]Ûq{LX×Ôµ”,ËJÓ¤TS¡[ýid^ks¬àˆ¡~{¤˜(E’r@(Áõv§k{ÖuCjQG–ÛÆË›%zÍ:CŽž¿ów>ñÛ÷?²ï…®9±‡ªßÕºðåëøã‰¤vì[àîW|ðhëøþ~å±ï„Rň>d¤9NXcYçïwlÛ árŸ0Ò"ì9Él Q–©~c~zûŒßvbL”úÁ‡ª9Ø£'Åw\ÓÒ¸¶¾ —€[=y®÷+qüÕ_ç¯~{p›ù ¶¦¢I]S[’9g\S½)ÔY R=ÁÙ  |zýBÚ39Áx81/Œ«š,ƒë\ßqy<9““à8 ,Ë× ,±Ò¿µ’U84MÅZZ‡µŠÓñȶ-Ä·®ø±mCÊ™¡ÔûA2(4C‡P²Æ×oÒ8â¾AÉ4Ρ¤ªDF$}Ûrîzd)4Öƒg] UŽÚZgë `÷ Zsk1J µ$ŠêÒV Ä:ɲÜ)Ñ#IôíˆÌ¢ªRæ|:>Ce4÷÷O¥tI5Ü8F7¼DýÓ¿ø—"ó»/gú®­BÊ’ÐÊò¸Mt«Ž69dú®åq{ðý:rFéž’5—ûƒ=lUUH!Æ)%Ö9º®c]WbŠH¥x,WöM"˜FâÊ6-CFkÅmúàå|ÀZͯ¿~'IÛ @FˆLÛ5Œ}’yZúë ˜÷N5웯Ê]YÞÓ:#•"QжÃJ…ß'¢Ø8½Ž» dkšgÎY´±„*Ï4Œ‡#«ßÑVp½=gNçËå½"ú¥µp»|ÇhAI‰”À'¾]î|»Všù_ÿò_ß/ì1ñ˜–JT²"Sk•VJ……Ã8V„NkI>a›QB¢u5µ}<}Ç¡?Ôò•¼¼¼@zê€cäãqgž¯Ÿ>s»ÝÈRT:ʲsõ+Î6<æ‰Ûýö§ª€m?~|çp: öÄ}^«ˆÁš6–ÇÊ¢Te oÛV5ÍÒbÁuF)JIئ#—TCê¹ „ÈÛVû&Å*ôÐÖ;TH¥ÁgtoaÅÅ—/oÌóßý̗ϯȒضãóe$™T‡JÛŠÏÝš¶*­U’"EæÙ„Dý'ÿößû9ì7Ž£æÓë‡a m_^¿üF×iŒ’”´s:€DŠe ‡Î¡Dæ~¿ñúr†B‚2~”’ѦžIK©¿®ohº3E@&°lMs&x‰ûÓSA…z­gúzénÌ ¼ñz<°L+)$ºÆÐ:KN’?üñÂ(ZÓaš†˜r]æ@ÎÕÔRäz{Ð:Kc4ãa ‹\uzEpy,,™œ{|\?8žÎLÓLAÔ`ßü ç—Ó™œï÷wD}FPZÒJW£û”é¸Î3¹Tâ`1‘˜aM™%¦Ýóq}°nžyñls&K0¶R wT³QÛVÊ…P c Fü¶²ïCߣ„ÂYCØ'¬Ö”TРºðv|å||áã~Åç\à)¡”dÛÓ²qßVÆÓ‘uó,óÊ0Œí!±®+m×Óu=¹À<-LÛJ×´¼ÿø†Œ°úD Û6Qår¢¾q|ªÀ¸œpmHJIœ_^»žÖ9Œ•ÿeŒ+è^RWÙe“MÓV3—¶¤PÈ¡àL…:/óÂùÔ¡(ÇÃȾÎúŽÓñ€BböL …e݆©Ÿ; uc4=ê¿ü'þóy8`5±£•ÀjÃýqá|CëÇ£c_7Œ.´]ÃïÎ_yçØ·œ=1ÌSNŸß>q½?(¹€(ø°"…äñXØw_Y[árûàÓ×O\ï·ëÌî§Ûå†ð¸.4¦ÅXÉåþ”k9~è´E*‰Òc ib÷áO™*! ]Ûã=üõßüJ.PÇ12‚UóˆB£´Na\E´„X«œYH„µÜ–Û´1‡Âåã;9evÆc,®­²m Æô”œù³ßýg ‡££mêdM)me¤uš}¾Ó˜†y]YR¼ÈR°Nñí·ï(4AR£HËŠ³iª¤’}¯G¡B²<‘9VYŒuä}£1†—ndõ…?þ¸¡daÛ¤T¡Ø|3,ÛÌý~ÃÈšURÆ uí´‘1V# $¿;jo~[8%0d£9´Ž&'1F dÆ9IÛ*ÚÞÔ…Èú–×ó‘vZS±¦­v8eñ›`Ë‚,ë²ò~ý`|{¡G·ê¿þ÷þõŸEŽ´¶Ãè ØSÀhLåô¼Z /ƒãàZŽMËê÷ *+‡Ã®ÉÙÔ) RIN§ã!/™n Mg9G¶=rÝ8¶eÃvíLM|6ï Ýa`Þ&1‚P,sdh|¼ÏD#ê¥É„5áE =¾šŽû~A8Éiìdþêû7”ih¤«ØÇ\¥*¾dœ³˜ "E„*N-ÉgRÈõrÛVÇMÛÖû•¬ÛZ;ÉJ1Œ'R(`™&B N*š®át°h¹ã÷„ÓçzTHžqèXö]¯xé_™.ª-<¼âþØ™æ…m÷,ûŠR  mÏýý"ï¼ ¯ÈlpF1Ž%Þ˜—‰¦×¸Vs›,!ÐŽlÞ“Â‚Õ #4o/¯”Q¥ "ܧ…ä—ëD, ׆VW¸^7„h§i% 0Cì;kެDˆ$+[j>>n5‘M"îžÆŸ¸_©‰{%PJcN¢¬BÇjèuÚÐEV’”%mPªÉi«ãp¬§ƒF5uçÕ´Œ®Ã‡z'HD§-—ûÙj„ì¸^Ôäs?0ň’`rÁ$ú/þý¿ÿ³ÃØÑY͹ïxiúîÌ¡¯üÔÖ:(…Ãé€2©Öz§[DZ1Z±o;Ph›Ž=>X§;_¿¾Ðušqè9 9m¼žNdŸNG²ßy}9r{¶mÂ(ž¾ðL(‘®ëIAФ=‚gÎ~àÇã†Ò+)&ÞïÚΡø5¡‹áÐŒl³§HKÉ‚%>ÖKt¤bU[ !ñ–¾}›(츦á~¿!…D*Iß÷uj3ϤP!omÛ`IÓÚêå› M‹ë;ÇGÑ‘ß~½"óˆŸ\#è 4R²ùÕhR–(¥™W(™¡ëÈ!óþ~# …µg5ÇS_?˜ë„RÕ±¾mf¹ÞîhÓ`¥ÀšŒ304-öõ+F+D)¼N 2çad~Ü‘‰¶©6Þ~´hµr5䀓™¡éP²ã¶,¨Ö¢B 7*e±X¦uCtg m3°Î+ÛºÑö-B› Īî×c!¹ßï¬ëBÔ½Ö¾#s ^º®ÆõãPÊÖE°„5F™Ê\N5,¨¤@Š‚ÔÕ1>MC;0O (J‘‹`7šÁuaKžûcÅJƒË }¤³õßüGÿgJÄêJån­%FOL+ÎHúÖ"T¬VÏ´>áÀpî38]3Tû¾ eÄ9ËØuœÏ ¯ç‡±òk£¯“ÿ§7yÕlíÓ´®§_ÝÛí&✯ÉLËAAØ ˆŽÓ‚¢Š)"Ô@9èØ¿À‘B9sR³š;“ÂR3ókΉfï·YýÓ:xvæ(‚‚w¯w­õü~÷}]9zˆÏÎóñÀóiàÔw=Õ<_N\NJñÌÓ„Õ ÷ë¤Å¸†ëýF)çNL~E[M\=ÊXvÉ@N ­t¥Î3™‚´–qYy{{gž¾ë 9Ö™|üêÇßpgb®ÒL)"qb8°ÆÕ¾·¬Qk)$¡¬Õ(£ˆ‘zw2æoÄ*YIŒéy<6–yá0X¦q| ­ÀXÅëå¶ll«Ø¶€hU}d•¾ ! \Ãí>‘s懧: E"­c^6Š”#E J‘\ïw\cèmG ™i®.>g5Éh´TCòsÊÖ¿jxìóÓÀí1¢UCð± mŒ ë-¶5L£ª•ÑR±•V ŽÇ¶mùòå ZdÚ¾£í;öXב*Ñ®kÄø` ¯Ÿ^E³ŒÝ¡«E«"±Fq›Vö°@Úøáù3)îËnpئ«X M׳Ì)$Â94ÊHBÜh¬Ã(ÁÐ)~øÜc¥ 1G¼Ô„Xû4”†m[ña¤ øúËʺݹ…Z2r¾½_YK¤q-6 t1D$y´–à#CÛÑ4’i|'¸39¦Ï»Q¢ÚPg¬ª1õœ#ágh%8Â3¦¯ÍÛíA7A I ³k]uâY‡Ó•AY—s ;¹÷Ê”’…6Ʊ^{ÊS°Û× '-ÛȶlßñË8aeÕž! [L4­Fïí"ÿãÿ±ˆFƒ–ø ÕícLQ2Ño2Éûš¦ RJ…uM-‘ê"0äÄÝol9s0aÝf„‚’ R+bñø ¸=FB¼\žX—Jò(HîãJÌ ÕH‚÷ûB¦VŸŽ†Þ±¥ë{Æ´UÀžÂÎÐõÕó 9Gü\q9¶k™–•Z—à4ïß¾ã´æt<Ó4 ÞGb*”RéÝÆYÆÙs½^y~¾p»½s8v¿p>=±Íw’Ì»¯O¥XƉ3‡Ã‰}Y±}áõ ÌãBÈ+Cïx9]¸_¯XwD”%°'ÉA(jùG\×Õ gQÜî§ÚZÒ¨ÊÀ’9# ´úÎÐÍápB[ÅåÓßþðG(Š7´É”¬(¹aœ&æ’¸O3bÏÌk`•…}KMÚfRèVJa¼{Z7@(ˆ Ån|ùå"¹CË´Þqmµ Ó·w†ÓÀù|ä~}£ÑÕÞ[H¡XC­éG|¨@‚i~Ð:’™y\ŽŒÖd¿Ð6–V7tFJOUdsì{^Ú¡åt9"¬„m&f‰H%ê²yòï;‡®j»ï>Ò‘1²¸o;>ELа*Ä/ÿÛQ”æØÑzôÇ+U²]  i )T4§¬Âðœ#&Š÷$l°P2kôø¸#Ûê¿ßÞ9I–­vÃC„ Zב]  ÖZ´uÜî#cx`USÁ`!áWÍ…\"kò„Ýa­Ä5ú˜•ÜÚ5ÔŠ«È°’x,3Â×û–‡¶C+DzTÂ(Æy®O¤PB’sEbº¦c;Õˆ:}&‡Ì¼FŠ4\ÇŠ˜Ñ:âtâxê€DÙŸ‘­æw?ÿ«àOþäWlaÂJÁ±éB68"ol»â—·Ÿü„߇63¯ËÞ´²q}Š(£É$¾¹Õ kèiátè)E`4¤´Ó6ŽãÐq¹\*|!®P÷Û Å€v€‚H(…"$ÛêyÌKÅ&9Á2ÞÞÞ0¶Ã5O\ïÒõ´ª0¯eÓÖi_¹?<½¾ #\o7\c0JÓ¹†iiÚ×µlË£JmΗZÎ*àÚ-APÈ”l>¢á–Æöì[D–ÂÓ÷ŠT2½ki¥¥±Ž5U§Ë¯^_ZIZW†Æ€UÐ(B <”Ðh¿ÔÈLÖ¬YPìiE¬+jñþ¯¿4ZÕ<ºk‘›ÇfÁî*e´ Á{ Û•˜‘"ÒÖâ~,¡$$…F¶ ‘&jÍñ€ñþ†³•Ö¾mç4!Ý(As9=Ñ´–Îeú¾NµT©ÐºiÚh…fÙV% ¤‚ÕãSdS© º(æ©~ïSíDlqÙÖ®‡ìûL)‚mMLõã ˆ¥—mÅ‹Qµ3~ Ç¡GŠBù(•"†¡&(„¸ T…êN'¦eåviZƒkOà _"­¶Ø,B°§ ×Hz]ëÕ‡ÞÑ:E£%§C‹3¥Ó¾"‰¨"ð>³, ®­³ê¿ÿOÿ½Ÿ ¿íìÁƒÓ%ˆJ ”b]V⺣b¦¬+*ʾ!t­¢Ê¨Ð²"ïeÓ¥hK¶ÑèJ¼ëÒŠÚœ’’þ|Dçª$kÒ¢N‡6ŠÃ¡ChC*‘ã¡Ã U¡ k çÁbQçc‡ßýG±©¨”®á08šÖÂÂðñgRÔòL×ÕnŒž¦‡—§W6Z©˜Þ7È=N¯û3½pZÒYÈ¢¦S›B/¿ýt¡¢à0TŠà6{Z‡'K+®5ìóQóåëw0šµÀ·ûS׿™Ï¿ùgø‹/ßÙåJ7hcðÆy#F͸DtÓ¢‡#㞈ґS`ÝG>½|ÆHÁ—·oür}¯Tú.Ÿ?“Kb~wÁ/˜ùùúηÛë"ˆ(ºáÈ6P‘ñEЛ#ê?ûþ¥Ÿb.ÌóF.õU4÷ÛB¥rf}ªÛbmJsM±\gLHï‰ËL^VL*¨$JVd¦ÂYdÛ£†ŒCô/I·Øîˆi”Õa¶B…5(™iû*‡Ü÷Hß -ª-èû†Æi¤ˆ<Ÿ{´Lh"C£Zñi8w=*C b¢i-}ß`´¤±†§Ó‰Ö4kPJ0¯7¶= uµ@…}ÃHõÏ×üø« i©¹Ýo¬ñA×7¤Âs´Ža8PbæÐô„ÍSiãD–£-Ë:rÜ™·Ãq@cØr§ë…ˆP‚÷ëȾ­e¿Ó´«-!o$aPF Šb+‰iZYæišq¶e÷™Ç¸ò~˜×z¦ÒÒ1Ž4½C ‰uqDLÎãˆÑ†eÝØcÀÇ#Ù–›˜YüÌqèP1晦ÑLaåáW©ñûŒÓ–à1ïìÑ#•Kk;æyÇõëê±Úâ¬c÷ é5Üßî”5Ðj‹’×OŸI1"CA(AðŸ">gÖ‰¹°Œ;É„ìHÛÊõzgLÔL|):2Û~e]çþ¯Ób]Ï=ÊÔßûwÿÅŸB.øœH”V„Ù#Œóʲ{f¿³l;ã²rGŠÖ,>pßwtÛS©¯Ñ3Ž,×;iÙ0 â¶“C¢$Qþ>³.M¥[åêÅ´Ó ZK6¥4R Š–D¥(Æa´FnWU7´‡3V)D–´¶á4PBÔ'L×Ðõù£“JDC×9>½œ(9òÃç´"}ßr:öy}>Ó÷=}× Ufè//O”’H)p}¿QJbßVÇŽnpLӃק3S¦ucZgm‹Õ…ÃÑr>Xνa¸¸JX$s>>‘"H‘yºôømçÔ9´Ö<æ™"5M×!2h?¾>ˆäRe•CØ=m+ ± Œe\ªÂ žO·ÇÈm^IBq›6–Ù³,‘Ûc ÃÐc…E*Ãþ‘ðÕZ¡´f”©l°L=£µ}Söm[ï즱•lþØ9œz.G‹ßR.OFgZ]KY:ŠÚó5Ê/‹ o¾¿ß¹/+m£ÑÎñ¶.|ß'þøxçëõ;N[„‡ï;®9°øÈ··wÆmBKŶnÇýý Yš§úô§ ë¶Ô” ºa÷¡‚»DõŒï>Òt=ë²Ót'¶mãç/¤?j—Ü5(¡Ù–™- âGž”)Hö”™ç•ÎÔCeß÷”˜—uËŽŽä=óÝÓõU³À 1zJX%iL¦ ÜÎÐ>óó_þL‘ Ó;žŸ~÷ÿ‘æ©åù|A!Ø—¡Ó¼ T…(÷¹Ž}e¢é%?¾\è¥ãt¹ [IˆU@cæç?þBÛܯBXm˜¦È¶œX}í•+Ó´’£ÃË‘?ûÕ…Öv¼ß"%²/‘ÅWߟ0–yóŒãX¯«"éú‘žT hÃx¿Òw-ƒkñÞ“síøøq¢M¦q…—ç3dAØ"‘„tšýᱩ¡é–°V— -FÀåØ24 A@‰ŽÃ€øGÿËß)óy{Ðu=V(b¸A±iû¾sè¤Pq†J)œ˜q}Ï6'äǰhÁ¡7´RU¤3¤ÑFòt:³ÎV*æy¦¿ô8×2MS}¤)A8àw˜&_ :ÊFëŸ^^¡HDׄ@¶µ¶ÖÙª&ØwÒîë…ž,…„ ÒÑ`6­«í]&RÉQU]¥TŸPM›["8ƒ_*õ¯»)IÖ–°ûêj˜F\ÛÑ¸Ž·oo4¶åmËk)k°pœ–zA¬žNW•YBpŸfî™ã¥Ã(IN·«*lÛFÛ9ºv`g”Ô|ÿòi7þìÏþ"+®÷û¶ñòÜbŠ"¦² 1 û¾r>X·y4YTKlÓ4õK¦rN4½âOókŽ‡Þ¿þ2ø}­‹Ðua’qºC‘¬[F¢×ÛȺ†cÏ¥-×{D†VÙ°å‰ä#ÛQÖ1~t{ö5’CâmžQªºÚµTäT•p)ünèÆ|œ=ÇC‹³!3¹@H™à íó…A$)y[*ŒãØ4\׉×ÁÐuÎØemÁY ±`Tƒú;ÿæo~êº×5x¿RøÀš†ëc$$X·Àºx·çzrÖ¬d¶(mØDfÊÎ(b*ܶ­öt§-V§Æ÷·ã²ÖœŒ6ˆ-!3h ï>¶·®cY#û@ŒÕ,ó\Ásbü>²^g¶ÛDú>Ñ•¹Ã>y´ÔÄ\Ð]O¶ EzT[ÛjÙH¶ÉŸ´Ñ´èÃNS¬FŸl!T©jN°iŸŸÆK@5¦» õcašÚ¹ˆZ$d©FkΆÖBÚ°ºðãó§Fƒ‘Œó„v†”a8\h†XbðŒKÞ#VΧ–}ݙƕöP (¿zþ̯¿f Ýå‰yÞx=I^àg»/ôÝ! ‡aÀïžuYùáÓÌËÎp®Ý“ÛõVé+ZclKȦ·¬ÓƼx¤±u¹’3΂߱N3‹ÓñŒžŸŽlëH£+žF–ȹíÉa£3û‰Ñ3{îãHw*rl[žÇ®¥O—OC)™‡”4¦‚·“ü2ßùù~Ÿ¿îôGMßœ5¨\è]@ضc™6–)ÖPgX‰Ò1èáêcÒš‹åöðø A8$ -4i¨¿ûïüó?•ò×6ÐCï8~ùò½FlSgÇ©p> ©xŒ7ÆûŠ@òGB GöÝS2XeQB“bu+Üo—§gÖͳւ=±–@R¥†–HN’°{¢ŸxþtÂZͶ{° ï>0ðV¿s'¾¾]§Ûû÷oß™o#eäÅ­EéÙ¶m1m‡lZLÛ×WUÅû¾£CwH ¥Ã¨Õ 辩{iÉB#´üH€ZL×âÚ¥$™Ìp8c¬æphŒãh»z`Ga•#Å3}ÿĺ|ÜP |œh{Eß9¢Ÿ9w‹k:>}z&ŽZ„d}ÿ2ÑöšÁµ¯øÝïÿ@,Ö*×;F;…ìRY„2LË„ àš†˜"ã4³m#ÎZBðÕUxèðÑW5š«¥e÷ü¿õWP’©”Xç €“=~¯èÿóåBãN –(ÀX ”ÐÌËD{@Õ‚‘Ó®þ»Ep<öûY2C«iœB8Åëi zgiÁ:ÁáРrâ8´ää±N!¤aœVãZI…ªp~îØ¦+»éÎŽC×v˜·Ìã¾’¥åÛ÷•e+Ìk$åˆÕ’mœPY þ÷ÿùÏË6WkhΙÖuh¥Xsµ‡6Må mϺ®ïí™”5¡±,ãD¸N<¿¼ðÀW­S‘¨Öñ¸_yzz"Ǻ¯H)!>RªˆÄ¾îœG§%üãA)ƒO-‚õ>RŒãë²á£B$…Ü3÷’ØwOõN&d¦P·ò}wÀ…ÄéxÄJÁpüXÒuùqþ±ªÁï+vh 1PH©ÐÒ@‚u݉¬t—)›ùkXµ’l±àTGIBD®ÕÓ¸MÄÚ¾!Ø|â,ѳÏд˜X˜·‚O‰3Z5ì[<­ì›àëR?ÿä//Ÿø~}Gk‰TæËÏ$Æ–×§_³,àðÜðí-`…âd{nþA(º“´s2'ž.Ÿç}è†C=¼—i4!BÛöH %&fï9N¬óBg’„k¯¯Ï¨ ›CÅš®x2»×„-Ð4µkž„äýmÆ`ðÑsÝ*uäÐHls ¤LX”,ôäpê«ûÇY2&Á/ï’RLûÊétÂ/su¶çŽÛøN$aLKöŠ"óv£(Ïó§ß’Ç:®ýôúL¸½³JÅ=ïüö¹X1'„.4àÓùD'5­lPûßøÓŸ\ÓE ªÈÓÓ‘cß²-ä‚g®·{]ò¹çZÖ¸“ö‰ezðéW¿Åv=a[ |–LkaòÙ …ÛíŽs‹|¿½£tKÈŠàí>b]ϲGr*3¶ã†pHÍóñŒ‚"_îßYæ¦ï¸Í7Öàiš’ÂøxG$æ5|{ççÇ9DÞlj÷ëÙðý½þ~Ú=ßîW"Ÿ ÷ëÈ8.ÜÞ¯<Öwb ÜßÞñrÚ0{&Œ;bOä%¡BB‰†$2ª3(kЃA6¨DÓu´Z“ËÆ¯Ï¨¬pV’$\Ú[)ïé!B*dIBÍdzìï<;R.¥Ïùô„’uÎ m¯9 u÷0ÏwR(PC¯9Œ·):”3ø|6Ž'æ{¤•-OÇêÎk…`‹¦5=F rÙ)2rD!°òPã¶nèÉ‘§S‡R¤$B⥢(IÈ…Ý魯Ÿ±VóN;8´­04k-)ìXSøõ/ø°c\⇗–ÏGLÞ(ÑÓºž¾¯ù½ç×#V%DòXŽš®=Ð$s m÷éÊuÛñ[Aì;F‚Ì=Q$]g0 Ä.Ù¢åËèQÿ?ü—z§ï‡¦a_WÖeÅ皸–…5D|J­)Rp¬S@[ɧO/¤¸37œ­ãØè1Ö-)%E®·Ú4Ó~`w~þö•¡X¶•yžY×¥Û¶²ež=V’u ¡ê!¹o$Û41 -Úèjߌ Úµ„Ò°¬UŬ´Å§Ì¼z’_Þ®ŒËÎuÜøý—o¬>°­™Û}ažwV¹Ï+³”Ü–P kÃÛ4µdI‘ßÿFJ‚Ûý†“@ôܾ_‘ÁCƒÉGršH~¯‚–Rpº–òR4­ÆI“‚CãÐNÒ JI”S´‡'#ZÂérÀ}T(%2û¶ ´Á˜kÎyÜvrŒh)i›Ûh¶=Q\žŽÔW³`Fà—‚H–uœPÇBÛVFÓ2æññ+McЦrK­-ÃP‡(ËV#9E†¡§=ô¼?nGZckkStÉô tY¹¼ ø4“ĆkÛº«¸V*z}õ† íáÌú6Óµ–R$îqFÓ5=§á€sžu[8_œµ-ÔYgO TËu¾Ò=!$„‡ßœ_p¦px>1悊ž°m¤˜‰HþôŸýVóxÜúõçÿößúiÝ.§¤ÄñpäOþäOøòí ¡ÞgæiAǶï„°mƒÂBœNÞß(4)e”¬06¿ïïÞÓø@ÍÐX÷Ì÷·Úö¸<¿ðýí ´®æÏeeYöLB3¯;ÚT;κ¬ômkz„3(4Z5LÛJc χ–m^XöÊ4*¹N¥¦yf÷ ¦i™¶ÀuÛ8œŸ>@+ÓêñÖ”(Zc£Äd±Sa…i/üîë a¾Üxa–Ì‹dº{Ôy<¾2~û=q,ø-²Bª¦Ö8•Cšž”b}…‘©!åD†¦áù|Ä)É`Öüuÿ£&…»ÆVI¦ 5š–mY×Ì<%ºƒ®”=>{ãLɰ, ¿üò3ÃÐÒ÷=ëê‰A°£øòýFÓ:N]Ç<­Õt˜gw"ÆD×[\+h;õ]ˆ4ý@òžmY 9¢š†¦ïÉ)ÒËî«Ú­p®2j;c9è†×öÄýýÁ&Z×`¤e· ë–Ž÷÷eδö„”†ã±îDNÀ™C#8ާmëp¦`FkGßÐ:³,o¼¾~&zÅm¿3 b*Üç…\ ƒið;Ä€úþõz}}AjÍ8N|ÿöÎý>ÒØ–è#J(J<ŸŸêè3rHLó„±¶ZRç™u[iÇå錔…®³5Ÿãr5·˜§Šs×Z"uÓÜnW´Ñ§ 6Ÿà1mLÓŠk®×; ÐÆñ—õ  Ù… 1Ë“Éh!i¨@ƒë¸¡[I‰$"™FɼÝo` s}ðÈcY ²\ç‘%lÜç@fõ‘-enÛÎõ1³¬$º4<Ö…é~ãëúÎ,=÷yåZ49õðòt¤ëd\Ž=Ç£B‹„RÐ4‘Þ:k|ÜÉÚÓ*A¸mØCÃжUŽsèÉÛÊúA°LAýWþ¯ý”R Ë:õ?Ÿ.8ÓBÎ<Æ©bwÏõvC AA`ŒfÙ<®u¤²q87œÏ=…ÂõZ}VTdÎ gûîQZq9ÉD–yãéé%Cü¨6>°¶á矦m1ö}cÛ<¶mˆЖëýÖ "R¤ÓH*¨KÃ39TU#%®$YO‡aßY×¥ªÊ”&˶Óv=Æ:®kf ‰i[P!KÈ%ót9±®#{ºáUÆ)Ã_|ý†î.ŒSàÛ²ÔRû‡AªðËõÆm¥d™··wÖ9òþö`²Ft×aûžì mÛ »êì(ÅWõ\‘tî€3 £ÎÌÓ\#é¾%zÉÛõ†¶`[‹™áp"åm ÃáÄôˆœ†4Žh+YÇ™[üêò™Ÿ¿O<‰m6R.ÌûŽuá:Ž-J[í†+EÈ¿&(’·÷QH”.ÄiŒAæ:ÑtJ‘rF(Éáp q†m_¹=n8kÙö õñZ<Ž‘T Û¶SH+ˆi%•uñõz2¥"N?ž2Íñ0кRµ R14†Ö&Z-x¹¼cƵŠ"Á/C[IÆh.—[X9Ô?øÛÿÊOFkã, µ8©)R‰,ë\¶DR©Òñ#m;P²¨ i%EŠ·÷e Ñ'¶5Q’ƨJE7¦ðë_ýHI ë,9UÔÉëë3Á{„´mƒÖŠ}[™¦«¦éy»Ì{&¡¸=¾¼'#ð) Me6¦Nm¦uE5¡5ã4ÖØB×R²4o×%Dœm¸Ýïhk)Ep»Ý«¿cZÀ¯¿Ñ9L™°y²XY{›µ$Q{BÈê¼Sº²­‚ÇÏûê)´|}Œ¼oÝŠäþ˜™·À/×è–·÷·Ûȼx|(8Ó"T-뀀’²GjÉë§Wöù;O—¦Fm„éû#ˆ…ß9ž”,¹½ß2°oŒnˆ¡™"q˜¦ÇÉÌ&d†qßp$-ß¾½£”ÆG_ó]¤Jl-ó´aKÓµ¼¿_éš…F(/‘ëmFIGJ‚§O?(tÎpúP¶íËB‘ ÃéX#C{¤¤Â²DºÎÒÚ–÷ïWb˜9ŸŸØfE!á—/#ûn˜ÇTˆ„ŠÎõ4Vs:98½s4²Å‡ wRX+‡.°Î ó¶!Œ¤W’îõõßþÝõ§¡³´Ö`$tELɇ–ç§#JK¼ßØ–‰¦1ܯ$Uöþýµ=mëh{B"…¢m{ü¾’R¥ì½¿¿ó¸ÞA¬1ÈÄŽñþ m[”T¬{Å®œO—ÕVŽë8ñ‡¯_Rrb à‹â_ßÉY1Žk™œÏÌKF”Ì¡«QãËñHëZ”|ûú¾ëª,ì”h­FRpÆ@|þôJw’˜Vòúé©bc²äÔ)¹¢`J‰œºbÀêz'l‡Ž"{LÌ Q,- #ÀÙ×5¤’˜cÝë,…¾;1Í_¿|'í‰=¦9T‚këýù•CÛ!Ràt8}qk)h]Ëq°È¼óùéD ¿y.Ï'ÚÚÖp9½ð¸œÎ]-!u=ZYZç10Ç…O—–ÎŽÛݳçé儵­k–ÉïžeZyÌ{E*YÊáCÝ@¡1oßï|¿Íatwû‰A⺞œ=óZ[Wó\ùC]{dzLH ?üð‰û<ÕŽðºâ\SË19s<ØüN°äXI…÷ÇBÒšqžpFSR sg~ÿ‡¯ø˜9÷ŽCG*3EHüæx}Þx~~þЙ‚‚fZ7 ªÖXÉ¡ëØ—Úu^ýÎ8O\žÏ4(´5!ˆ{fWÖe'YP]ÃÑrL¸¶A)Å4Ïu’át:¡„`‚ú»/´m˧ÇóаÝgŽCϲÞ–•3y­®¿¢dÕ1y>lèÆÑö’¡QX$/ç#ÖfÓ8’¹Q°dù;é(Q°äÄûíJ(™§ç ëºÖÍyÛ3Ï3Ê´Ä}#¼/LVcüNî /MG‚¾=Ö>ž±ù@J rah ÑoÜWÍñàHa«o]Ó©ÿäŸü_|þôBΙ0r`-ÆIέ”s%Ô_]£I)`ŒažgÆefßwŠ:öÎIöà«ÖÁï´½€ë–Z9\#J2=]ÓâtB#è†!¢Ô¼RÛ6X›±R‘ƒÄ؆»Ÿ!gzeùÝ—/,V£dË‹ˆÿÇ]r®Ë2„b\}5¤¦‚uúCŒ"øúíJÈ™ÖÚŠà´¶Êã)<¦{õ2øˆ–ŽedU¸Ož2Ÿ^žÁ¯X«xïDÀ5ÓýÁÓé ©-ùóÏô}=Û ¦£Q–%,h#iLÏ8NHV‚¢;ÞÞ¾1Ï+1)Œ³ Æi÷?ýÕgúvÀê„”…bYŒÕ¬K$…•óë˺aµ#m±: ˆD‘xÒ-±my,+½T Zr}Üh/šn€´åûíÊëë+÷mä—ûw~}|&ÇP…óCǼFÚCá` å!p½cß2ùEiG,;Renor®¤ïïs-n™êßö{"§ªúzzj85–3]+8] R$BŒ•Ö6Ę·BÈyŸÑ¶A'CÚ"S˜X…Ç Eòà÷̶1)H>³Íf€¶é‘R³®+ë6Ò÷-mÛ²,9{2–ÝJ#`:Þ§*¯œÖ‰=È‚‹=¢¥e gO‡†ÃåŒ4 õ5UGòZ—¡ ‚Ç}!«–yõx¿¢4ºÇ§L*žÎ8¾Í Í`yí$ë´3z‰±’/¡ZdÉœúQ"¦1(! f4„¢|´"‡Ë@NóýA¯öiGýÿù¿ÿ“¶ã®ëÐVa¬¢·-Z}ƒÑ„çÓ§ËÅÐMÃå|D}Tµ8[çäÖhºáRõRYq„y{Çš-²mØÖë÷;ØbhD¡×_¦µ”Ò0Þ&ú“aÚ§úAm îãv>õ ƒâòÔÂÊëË+ÓxÃdêfu_i;G ±zBuT,>!¤DJAð¾¶ÎR]¨)¥‰)SÈ ­£¤‚ízÆuÃû€È c5ó¼0¥jèÑJ2tsø’‰œ†ž»'ÂÓ’e ‰MG6ÿ ù€–«ãc¹d%±lëÎùÜñòüß~yRUA#àýíÁãùzý#ë™ÆÀ¶AA1 -m_ýã Q'ŽÇGgé­èÇksÄ7é¾qY IDAT#4GÓÑKͱë‘Òp]{sίõoec¬ D“8z Ö·ßœ£xÇÿýýž§ŸGÌ–£)9JÃÁ(ÒpEµàÓ†."U(y>œ‘FƒYÖ8QÁÓ¡fë7õÛ3·Û¾‡§ö¼CÔqô¬ëÆËùBö)Ú ¢ZiÜi/5­ëõ©4ó6 ­DHµ“sŸøò6°­%ÏO-‡VÁæèow\[S›’ÇýA–ЧÃ3ýq’R;Ñ]‡š$ÆŒ´ü<̼v÷ѳIðü†T¡=ÇãÊ$úþAð‚yY˜×‘u‰äX¢þÙì‡ûõÎuœy½O¼õ ÷náí62/‚iJÛr»ÌãJÜuÕ lÀY·ÇvsârÓ #¶ª0¶$ÇŒÌ õ¯ýÓ¿ûca ~õÖ!ŒýȦ"“_ÐÆq´­×HʆiM “àý}âí>à£âõõÁ²dÝB×x ŒªÈœÊ+4MQÐÅ÷mËÅJ~q>R›Äé ¸\*\!I2­@Ç•Ò5”…¡qšîñ ª e­ÑòòüBˆ )n(±£î«ÒBBæ’aÞð[FK‰–yB¨HQI†¡ãö‰1#%´mÍ©­ sÏ÷熼õœ‹’—/ŒÞ³¤œ7.mCöžáÑc„d RkÖm#mžÍcœ¸u¼×lΧ‡s+9xnÝÆ¼ZÖufžŒÛM0EQѶGRHøÍÓÏ”v%ã2¢mBêˆÖ™ÒYâ¶`œÀÇ• l‚¢¨IR Œ¤L†W¶´±ÆÀûcä˽çË8ñsß1¼.¼¾õ$a¸3iF*C\<Dz%ç¥Ö „J{˜q©ªrm¨ñ+¤¨)Š ¿­”µ¢* VeêæˆU†ÂÞ‚$#•âÞ|yÜùþû#§¢¤¿­,«"û2SU†´½3§]Ó£]AX=RJž_žÁGŒV|øÅw(%˜_×Û•¢–Äà ø?~ó‰ûuŭ먊’¦Øñ<ÓÒÍ~ID"¢)Y¦‰´®´¥Cý¥þÏüè½ÇCÓ˜—y¤hê–¾öeL’ø°#§ecœ÷Z(J|}ß}Üý¼2-žÇPÚðåóëäÂÐEÌ»ÿLÍáx¡´-DMSÖ\Ž-M%9¸]c&e . 9g\i‘9£’&²ìY©0Zr¹œI1£„ÃKÖì„ÃuârjY¦‰ï¿û°/'œSdV︞^Ð2SÕŽÚèBÓw>^TZSV†¦­9ðýßQ´€ÛíFi ²Ü牢¨PÞ3û•eÝ…%aóXY#œB+AiÔ7v.(«™—ŒU󺄤›@±…ÈãÑá ·ÓSD t# RiŒkÙRºzÇëln˜Ø¶ÛN8± oÝ$Ò¾_“%÷Çʽ»3Ì3÷®§ëFýJ?fÆú²tܺ[V”UMÓùH[—(Y6É8{bÔû FK”2eË0F‚ˆ›šëûWŠÊq8Ôˆœ©G}r˜,Èüo&+A]¾{ºà× ¥3¯ýƒ¾ŸØ|d^'ŠÒî‚z"Î%R’À.8ªŠ)#Bl\ž.,‹ [ß8\Z¤T(嘧­-IîÂRï;”X#Úp}tlqãt<ÑÝÔ_øóæGm4·Ç%5Óº²lÎ(Jkì| ðMº²¬ ‡ó‰<¶0,~b ÇÓ™@¦Ÿ¤–ôsÇÏ_?ãEäöx Ь>ó·~úÌ=%ŽõGúe` Ei÷¿1NrªKÚòHÕX^^Î8½§<µÖÔuVžö´/Û´R4µCÊLáJÖm!ç‰òPá´¦i m]Д ë² „¤©Ï2r:6<úë´@ÚÅö®*ÐeAÕ4T‡ ™V~çé “ÀUQ&tó´ ´¤5uÓ€ÂÕ$¡(´CÕpl[즙Ç%)~ó鎲—£C I {–KiÇoþà•ë­c^G"‚-{ªÖ!•'ËÌã>!±@D‰Hò†yÌky¾´ ã;ˆHÝ6diñRp\ÎOÌëBq<ð¸ß±12z°Æ‘âöúyæÚwüüöÊÛ{Ç}˜·a^÷ÈMŒÝ©½ m"Fx½ßéýÌc~ðøÙc’cÓ;zÿéi7u¹'ªR#„çùØ`O)méø:¼1xÏØGRÔ$ ó"Yú°{¥¦»N”eMá úþÎ2MœN-ÖÁñÜp:èYl<ÊœQë²Wž£§nZd¬ÃÂ÷Ï+Õ·›åÚͧ¸ßo¤`P¿÷ç~õ£V!%[òÎ-‰÷í‘­…Ÿ(Uñà'"Э]×ã´Ãiã»ïÚ\ÙbÆ J@aæYò›×+¢6 %Sç™âÄí10Nžqò,)²‘§•%Jï^h#wŽ®Ð-<­•ü‰/8¥"ãêj“ÄJEÑ{uv8vÃЗ·;_oºhéú…e]–¹_xª,›'%¯C™ZTJSjÃ÷/A$´S •9µOUASL|¼© C?÷`Fdî}G[6‘VR·Ž¿º ¬cñŠ÷·ÝÂ.Ï àÃK˃i]½GWYInýJ?Á4÷®çó—/ä,X—Ȳ¢È{Ÿ^¬-™çÀæa^ãÞÝΉ÷ûƒml÷b¢mŸ0ñÀ8ôds¡ï>ýfYQÔrG S$¤]X†Æ11n{À³¡¨ ÚºáÔ4䜘‡« !­¨"ññpÂÍ–%·~æÜ^èÆ9¬œŸN\»w¶”X… ’÷Çž/4öȧ©GýÅæOÿ|BR2ô¤]¬n!KðÂ'‡ŽàW²0<]ŽœOUUñz½ãcâùåB×ß±$1 ¦àñ$Æè§•ÈÒ²Øéè˶q¿ï™¥ûí±7ß–n7n‘÷~$ú̯žÀJÍ{×!ԅǸQ*[!SæØÔøu†(ÊŠ§Ó‰m™dÚ¦¢ï{¤‘<º×4¼Æ8ã¥Ç•ç ó8²†Ä§û–5Ðu2&Næx°Ô•¥Ð;´Ø¨DQI&ï[ƒÔÆr®[¬™©¤Dl‚RšÝÄZXâÐS«Ä/ÿÔ/iZͬÃÌã}ÞwD­)”'†Yq}óJSˆ,YÓ\>È”¥¥° ™MeY—£›´e»ÓO¦‰ï¾{ÁjÉ4ö(-(”c{–mÄ ï7Š¢$û„S¡Á¸’Çcæö醑$$Ã23§Ä×aÁo‘ª(¸}ÇȤe͉û|', /RÃÂÏs¨ ó43Ωs·_\ïó„) ui jLžyÞQ:ÑÔmÀàÃʲn\oüš¶$¡9–GÔ·zÊl8Ÿ”u—‰—ΕC&ϸM(#ÑRà”e]6L6mñ~…äÑ þò¿ðÿXT5·û¤ °ß¦HÚaµfœzÆñÖòέ=Ÿ/UýJò+Cßq<œqÆÑTä€\5îey“Žˆ¡»íÅ®k7‘eØ<ôé¢(¨ Ë<'Þno,ëÌ0'n K¢® þDCš%s˜h>6”:Q*Mކu)›÷ÛJU°Ncb[ ÞÞöÐÏŸ~§L?-¼]ß÷ù¦9”\žÏ¤u~3™Õ/ï1ÊrëG®ãÈO·Fü´0#ZknCG‚¢iYú…ÓøàqÖ’"HS²&Á°DΧ(¾n+UÝœŸž±FÒ”¿Œ¼¾^ñ›äùðBdêzŒµ¸²$l+à ¬¼wÆÃ˜–…µm$Rº¤ªN—§ÆQ˜]dHu[pzj°JQ•GœjqŸþÍ~åt¹Ò¿þßÁ K ¥%Ú*†q¦»¯Ä”¨jÃuvGŒ”EÃíýAÜ q5&kdÜÈ"2l#Õ¥aÝ6Mö%Šqñû¨Ph•9j¦yFhK?zNÅ.‡¬KƒsŠv!¦µ%Ýcaî„•x!ù£×ǶRT’´nH_2ù„Õã1rп.LI0npìKé,ýŽÿ” ¿%”)I"c­æÔ|à·? m%ý°ÿ®cî¹/-÷©ÝµŸX×Lìqô®Æ”„ØoµÄYËæwó®b¿˜ ´ »dU Yhœfî3ê_ýóòÇu[÷1ܶ`”ä|<Д5뺱û™W¿¢ŒÆ9ǧ÷W¶˜(«¥Þ¯œÎŒq”eËœWʦ¦>D1RÔŠªl˜'§„–вix~~¦* N‡ý8¬Ù³ +eÓ0Í dX¼çá#…Ÿ#•;’âz Œ)öÌÕo ß$ê) ¶ãpÕ××WJkùpn‰"`”%l÷·W|Ü8>xï(chÊLÛ:ªÆì{/Ç#Ã4’ƒ2×ûƒn^>ðG"P—AD¬È4Nðtiišåv¶)*RtÝÈI+&¿¡¬¥Ÿ^¯W\[ìïhÉ MÅÏŸ>£µÄ¹Šî11ÌESÁ1XÆÞóõµgÜ"KH Ë J!åþýOÏO,Ãćà é·¡'I™ ’›ÇöÄðè‘ù›¤¥Ð‡öÀ¶zR”Y0Ž R轎Z[®·÷Ûƒ~è(¬e™R:úi`ZWB,~ ÛÆ¼m¬11Oqî)žZn÷žûסîÓЦ`™z楧9Ô ÃÄíÖQÕŽªÖ´çšþnãY5¼u3_o ’w?3wMU¢çòt¦.†a"ø@e-Ò€3u€²R8g9Bl»çûßþ—ÿìuå¨ËzO„Î FršYÖ~Yèæ9m´‡rÂH…×™ÅGBÊ$"Ei(ë’Ï_ßY}BûÌóñ€ŸJc0Rì^‚ûÀ´x–ibœ&æqFIðŽ=ðR7”-ð1r½]Ù(]q®¡†% \EŒg÷×w¯ÈÙÂÄ®åܶ 2¶q¤<ÑžþðÓg®£çó}¤_”“ŒK‡t‚§—>ÎÄ<ã*ycž{´…-%”Ú)ùZ&ª²fž@.¼wW¢„5s½O\·@Ñœ™‡ÄŠð–1o$×·‰ Ý~žõ9j¶:R7 ëZ#eÍFB @¹Ole9Õ†{GU7t}GWÞ¯ï{RWF”u8i÷öœ9=](jƒUÕ*ҺК ʲ mžPÿîïý£?>»4½­÷  í·r~ð EµH$Ï2ަ G¾ÿðr`[F*k‰>àS¢9œhÐ1´L}@Ïåû–~ë8=(œÄoÇÃÛýÊé|€œv¹ŒèR3M#…1ßVºÇ;uÕ×D?O\ûÝ22ûÀm˜èï3ë–øt{0 øt{g˜gš²Àe‰Žç¶¢)-*o<ް –["¯%¶9p½ö”EIYT¨¬Éòòò ÚòLßMÌËWêÚRTýBŒÎ$j×P5†) „FÈÀc»±­žîÚ³­àª#ó¼²ùÀáräííïÍëÛ [–ÌëJŠe$ë6’­«0®fžBhº¥ç}¸3¬ ³ 4kH|½?—À2í>ª=0ŽÒ,·‰-*~8Q²Í‰u˜ìPå/ý“?)¨ë‚ª0œÎ%Bx”üðÝGž-/Çšc¥ië’C{ Áóù1ðtløøôDÞ"RJ¢O§è·žÇ0íÄpVíPçuËÓ ƒR#,9g´V¸B“ÓJ[hf5QK‰§¶Ýe5NQ5d Ï’ÊUÌãB ST[3.+ï´¤,ËÝ tݰ¿¬ Íù‰¯÷;Q(úqeÛÃè™×È8dÐYS×–eÛƒ‚¸ŠúøÄ8N¼¼œ88 ↫jæÇ@ðžú¥Åª„4‘~ x%øzí¸u+]7³¬‚„¬i£i-Us@”Š$ÆU ™Œu [Z°¥fž=Ãà¹^;²Ð¼]4§­4îŽR‚ãåLD2ŽÇÍî­þÖ3Ï [L\‡AHfŸˆ©$¡ˆÁ#$Ôõ¾:~8r߆ó‰ea£U…£. 1ŽØZSº…k“òÂÓå™Â|þòÆœ ÓŒ«Ö 쪙U–GÓŒŠá>3m#2)¢Qh‚ i¸?"÷û„Ï#í¹ eC?Ÿ –q${x»3Ç™ßù“/<Nj¤0̹àqï™GO?n\ï#Ý´íÄ“-¡ÛÀK]‘SDçLYH\Uî æuFýùŸúQ‰3•-cÑ8먜#§°×]C²¿œ7µÄ¹™ÓýAÚB²û&*ƒÕ éÝ7ÊÛŠ³’ªmy¬™Ÿ~ºÒ؆´%ÆûLSí#Ö—§a›vcQÌø$9ë×B±ÜzúaDUÓcäX;ªCÅûóäÌ8/;´X/£‘²Åºç ’įõ 뾦æûÆç{Çû82ÏcIFH\NB^ˆÞ"TÅ´ 4¥®Û¶BÌëŒVšZ‚Ø…íÚðßö` 8§)œE*K?{ÝD×/Ì$¶”(´¡©Z.å¡7Lô„y!–Û´ññø=Û´±l=¶ÔÄ™ú ¤_®X{¢ëfÖ¹ƒ Ù£‹‚°,<ú‰($9kR’,KæËkÏ0gæ”øýŸ?³ Úògªª¢ïoèìi›'Zcéç‰h9ª¢dò®R¤5í« *¬0\ž/;P­*©SÂùPQ¹é=Æ(Šsƒ ×hÚR‘·À4+¦¼QŸ2µ30α¥ Q²Î sˆûxXW¸²¡T5Kžøá—jkñ`.°¶¤j-ãí¶×pµãó}`Ë–©ÛQPidŒ‰aޤ ™r`‰£µ0O˜S‰ú÷ÿÒ?ñ£5-Öh”Ȉ”p”xï™–m49&š¢¤Ö‘YmIS: [ÐÎ̳g#ßÿêIJlÔÆ¢ÂÂ¥­ÙÆ‘3ÇcM),2%dÎ܆Í¡ÞÒ!p,wiXW>~øÀ¶. Ó„2»)UhͰ¼eÖÙ3L+Jí±Šó±á|jÐZÑŽ|~¥_Œ64îÀõíR3Œ3"gRvLÓ´—ºnÈÙq»ß(ŠïÓ´2/”!'Vè ×·‘ëÛÄ8@\ ׷ž¨Ë3Ýüàv½¥äíÖ¡…£{L¼÷ 1 H䨯!òþ=‡+ Ùh6ï9V5Ë<#„dÚOZe8œ+¬Q<==ñv¿b•äåøÄ2&>}í¹_î7Lax¿¾³mKÍÔO|}ÿJЉÅ{ZW ´%é7æmBlžççg ùUà¤%䈶–ëíFìg¹ c7Ûžùoþ{9§€O{q'ň3BÚIx1cÜ'8ËŠ3–mÛÈrŸŸ> RV/H^0Ž)JtY$´t|~{eS‘ë½ãû—_üŒHâÛDË3O+‹÷œŽÏ<º ¡•м=Þ)Û†´Ì,Áãæãù‰O?½r87ë6 E¦² 1y^ß:вÅZ˲|÷ñëØñ|9º+‘íž$]晜ÅϯïXk±HþôŸ:Ñë®ÇE@%É¥>1O‰­ BüÁ×OTMC% x:Ùæ;Ó´Q·'ú~Cê’á·_>£e ãî\Ee „.x>‘Ì&éüÂuêùôúÎê3Ã8íýoS¿±øk|~ýJUUÄè‰i#xG`¯ë†ñ›`™we°ÒPšq™ !¡•cVªªÚq=Vî£ÒsÍr¿#ín4ÕQ`”%+I’‚§:cJCá,¥R¼¿ßBðòò=øû¿Ùe§ëÄ¡(BP–5_®w(-ù>2à©­ÁZ˼le»™aô\‡‰5‚–8g‘9a•£{ÚËg5W£*ù®x¿½Ñœ¤nB~#åüî…Ï?ýŒw†(,×Oï`5J .‡2E¬,q¦>Õ\lÁ„ÇÆ IDAT¿þWÿÛ=ÿ׿’q–m°vWÏqØE-q÷R()ñÛΠ5ƀЄX晦¬H Ò7Ôê=!Î;øª¬÷ìy!ÁcœÚ–e_Ïã2R–ŽyÙèljœ˜Œ Sœ/Ï|ùé ÷a&)G¡ Þï=E±¿Ÿœõ>“‰öTò‡?ý!M{Ùë¹vL[©855ZKÆqäp©Q9â”$ÆHðéí+‡Cé©ùðü‘ÛõAŠžó±EÉŒUúeB\A*´°ä²b™WR7âÓÄùÔî0g[0Î+·ÛST<Æ…n\P®`Xg w o™Ÿ¾þÌ/øë~¢°šÓsžzž.(ÞºŽ)íp…à3÷ë‰á7?ÿLÕžæ ²&ùòõ7HžjÅ{Ú6x(Ëš˜f.O5ÂîRxïYƉ¦ÙE9)¦.ó|8p:Xü¶Ì(!¹=ÍéÀ¯xfñÎhž›šœ3ýbR@’Ç´¢¡( ÝMyä­ßø|½ñü|&më.äTU(Œ+Ï¿üžBDÇ’ÙÏ´A#”cñžª´ô÷¯È¦æíÞ3Ý'°e?œ. Û2ãÙø«ÿÅÿ²+{¿×ýßÉJd¬V{š ¥Û—qÏ)aóˆÊìéÕy¢­ÒæÀ¶†ýN½Í¤ ¾)‰¯4í‘$˶„GÇátäñxðööÊÓ‡ËnØ™únÀ”)FiKúû€Ò5³Ï|ùíW²•”•¡m ÓØ–™_ÿú×LSdZŒ³Ü»9 ~ùË_2v®_?ñëäWŒýƒÓ¹äT4Öà ô­d$‡cCΙîËÃéH"QJ²ãò ·{æt„*H¢RäyšÑ•$¥°•¸Ò€ŒÜ¯o»€3)F/膕˜{Rp8Uñåq¥­NüÑ—+ÎX”Ž ÛF©jj×2 ͹â7?ÿ ”†~^¸v=YjîCǺ$Η#[\™ƒ+ó:ÑœŽÜ3Ó¼ëš7?q8:–~æåÃÓŽþ$QŽï?~ÇÛÛ;c?`ªËÎ öž--<½œ‡)%Õé@Åî÷¨KǹÜù¶QüŒ|÷ò‰‘ÙÌ“ ‰%†GǦUs©KîÃ55 ÓÜ¡ª€×!ЇH];d ðF¾Þ:þôŸü]~ÿóÏ,·Ž—ßùÈïüðDßøÅù;nÃã¡bënl@ ?&– oïï\Ž ®,ùñ?ÿþ®kàïyaüññ·þë3?W5B\åHRP6åÿãSšøÍ¶™wï÷¼ìõưïs„hY‡ «Á-Û4¼$¥LÔ‰ZW,ó¶ËiŒ¡jî÷;1íO¦%ʲ¤ªvßœy¿vŸ†‰ì Æ*Êbß,ÔÙcf]kð¤,Z±¬û¿_8K\'ÚC‰÷{zø/OTFP»ÆJ…Ôé Œѱ;¥&¥´ÇJRÂè/"'Ä2ãEÞå&ó†ivÔßÒþwÙïn rʬ1pLv ãJZ!´’ºÞÁq…Ó|ÿà ÑïíÌ3Ñ'6qJ£²âÑß9>¸û{”‘Èoñø>~ÇÚu4e°‚iîø_þ@«w È$<& ÄQMɧ÷׿#Íy½óËï`ÝfZײÎi—eÚ1iŠn™ˆ9¢Yò˜¾¾ápyfUšuXP…ÆÊ̇æÀDb¼\ž[~ùÝpïTÍOð3sh­èÆÄô_þ¿çùÿÿzaüññ7ÿÓߡª¤Ð )Æli‘ZQW-Êh¤S;4 ÄCØ€@ÚuÌl+cˆ>!BÂXE6’mìˆ!ï”ÁoÖ¦˜Aʽs>M1§ý‡ÚYb‚m]QZãóÊã±ìÚ3sÂiË4ߨچȈ!f†q_²ie a·;…”><aâx¬9U5iÞÎ’ Ø2¢T»z,í´f‚L§'XÈëB2‘AøHrz'–Ä39 ¶À0 ¨ÚRj¦×…-¬”ÚÒoÛ¾áéW¶i£ªj>½þÄ5!îPe-ÁšæÔ0,+þY¾|íxôm[±†À8MQ3vž"eÇÛHëX–½â—…À²L|üø‚È‘/OO8½/ƒ6çÙþ­£(«ŒTZ†U{uôØ0öÉ<ôœ?\pÖðáüÄÓ¡dFB‘95Û4²pζ•Ùo(¡)Ë’ÏŸ?Sé‚ñ6Ó\.,*2ÞGœ©ør½QÔ¶À²f¶ÄÀ}[I>1„ÈãíÎÇßs{,’âX¡râår@m3Qeʲ$-űàßú«ÿÝÿçyÿ÷½0þÆü/ec4VÃå|D¤Œ_WåR#´¢i[¤‘˜J³†¡2M½w¯Ã2¡l‰PŠuxìO¹Qç}¿O—Š¢`švO‡’'·¡CÁëÛ¶(ÑZsl w\㲬(—˜§ÈÔíþ„e¬~äå|ÙwO•Æoy^™WOshwlýšöÿSCY:˜7.‡VïI•E½wtKGy<ƒF%‰Lž”=HC jO[‹j+LáRÙöR¾=ÂLŠ Â/˜$HQ3n ËŠÏâ{Šªæý11 3T%iM¬«âç÷¿M à½f˜EÙ°ÅÀó¡Ý'-® Šž·×…#I®»ãPY†Û׉aYùz¿Ò<èÆŽ¦iÈ^°Îž ˼R:‡‚mÙÉì¿øþ;nïWî)S Ã[uš×áÊ©ÔüpyÆ‹Œ•¡ZKtŠ4UÒûûœ’ædøîpä¶<øÅÓ3$Ï=Íœk‹ðIAŽuM?õgñÓ†ßöÏciÍ…nÞ|GŒ#(‹p5[·aJÇÔ ]òåíÁšý¶–™_Ûˆ‰?ñò/2m{æßø+ÿÕß÷|ÿ¾0þøøÿÚ_Èë2QGÛ4œZ»SfIY­(_ E±¯Ãàxp2#O–âå„ô‘¾ýw)ƒ÷¬ÃƒM'*·Ç©sR¨$XS@†È¶mEA7¬1 P¤%à§…òù€”£#1ìµKmvƒè8=(¤`]Ó*ñ!²Æ…öT²2šKáØÐôÃï/()ØÂŒÑÃíÄ2d¬90mo¸Ö‘°ŒcÖ+ >$NUúœMI»D#9• 9z gÛŒ¶–$5oמ¢:ИH*2"Gü*‘eÍ:íô×®CÁ½HR1Î !yrä X§Àá\Ò–¢,é×ï|1 †ü`õ%Ó¸rŒÔmE7Ý) ƒH­÷‡ßaÇ@ÓVŸºŽÆím½ÏÝ€ÔYBàfªÚÒjGuhQ9aÕÞ@t•¢.+|/ùúþ€ÚSÍ/›³p:øÝã3Uí8 Ý!M]á—uïǃ˜÷Ie7{ iš ÙÑ÷žO·wlÈaDí›GÜû;®*y½¯<†™,B”8"RT¬,ü'ÿÍÿü|žÿC_|üOí÷ò2´Mƒ1©,!L„)aí>š³µÃû³³ˆ´rª[JeØ´B«}£G[ÖqÀ4Y¤~àÑwh$ÍÓ‰Ôd!'´²hc>кtèe—§+ eU#"P¶$‹Ì6?X}F CJ»ö·´†u]QJQ&ƒ0ÓöØ1ûÚ0ûm޼½½‘?¾ŽŸþöÿI©Ûâyz®Y—ˆU%›x½¿QKUžy¼OTÇŠgSq]®x)œãÔ¶H)+‡’†qÚP¦à¤2SZpÆ"E….¤ŠŒÃû4|+úÀ}9œŽ;@9Ãí:P-¶ˆ<NL£§<–Hµ"ƒåõkǧë'²LtýB¦ØÇêÞÓM}fìV–40ŽýCo*´ØGõ2 꺦_ 4ß^øù§ÏD§±Ö² óºp8~–™öPÒ¶5×·wT²ûS£Ä­ÇÅ„û¸[­ŽÒa¬¢*-ß}¸°M#UU‘‚ß1ÆR x ŒJX}DdÏõqçõ‘‘Jà·( W‘½äÚÝXÖ5ìVÞûý†VŽiËt™ÿì¯ÿoÿÐçøÿ¯ ãÿþ?üW2R’òBUž¹¾½î£Ðeæt9âχ¶Ú ÛBQ9þïöÞ-V·,¿îúÍ˺_¾Û¾œSU§ª«c[ˆ%@BŠ#!âqÛ"Ží$†„ÍÅ@lÑQlËØŽq 6¶!Ž…•(‰Bb“€c 7‘^¤¤ÝÝUÕu.û»®oÝçšsMÖ)‹PÒvWuñ¼·ttæ[kÎÿø‘©@*”ôÄ«˜HÉ%¼8ÔLM»Ü[Æa©b¹›(-"ÔL~‰Z”J0{Á<ÏÈ@`èP€ÔH±ÄV(œ]^œtâŒÁ9‡$ZŠV´Á{m-͹&kÇ36ȱ“âÅþ9^tC‹ó IXª/fÀ8!…C—V)«€jn‘Éë/‹^mSñÆk7„a€³–¢, ‡¥‘v-Cga„c¤\¥¬nÖTû†q4´/ÿÂ8¥î ÇÕÍöŽÁY—;ºkJ:Ûy&³|Ò¶Í‘Á8Ún¤nû%Qc3:¢(£iì<†!^,•С^úò¤”8F¦i$RšóéJº½c2?M8 ¨˜Y ö/^ðæk¯“1çêHVfœWVy̪È8·5e^ ò‰·ŸÐ63 ÖEJ.CXE\Î×%Y Ú~d'Ú~`¶ c'¬3H)ÉóçÃ01eYr½HÓp ûf!U}áµÇ·¤A¹闟;6<ì[âMHoZ¶Ù=õå«Ý }7àü ÄÛ‰¾kH¢˜»]‰˜=77w˜¾#‰o<Þ2»Ž²XBøúk‡ a.µ8ü‚pLîJÝ^LÈ?þÿÌ…Ï_4a|€?ýG~›Ÿì¸”‚d%Õñ¶,ÌHœÆººåîí·pu `VŽÂB$ëLO(œWÄi²Ø ¢˜ðecé$*Ð^‚ŸÁkæizyéO@9°ä3ŒMP1u7Ò#Y¡ #`Œ‰‚Yœ•H©iê3fr„¹æéû-/IaD I’j ã|®P$ gÎÝÀ¦|Ìá§Ý•HOW$~ E¾\jì<³Þ”ŒÆp8ÈW%Œˆ„§Èò¥oúØÒO-E‘›Y­VÔõ•¦«X¯×h­)Ê k ³°8+1]ÇíMNÝŽØÙ³ÊbB$ãÜEQ-=#aˆ1øeÈz¬[‚ @µ–sUÇ1a¸ Fwùšú|d}SR¬J¼™©Û‘8KqÖÐW5EY.ÏêVrí=/.'¼˜É’œÝ*4uÓqµ7ŽcHVÎ9âH‚ƒyö¤qÂͺ$‹i¢X)¶íñ*e·ÒXާ‰0RÌ´¨tMßÍ Ã@–k>ù-?óEåñ]¿øCŸòf쩆å»8Š@@²Nq“¥©jˆc2‘ÒŒ 2‘¼‘—¸¡E¯b­s-Çep(…àvµalÒ$$ÊÚ±#Š‹°  ™&ƒ $³W-p©$œÓµcì,ƒY¬ôy¢åŒ°Ë7·Ž<óèp\šŠ8Í™¦õ˜9fàÊà&\ï)’fE[uôS·T‹˜º•4푪³¼þ(âPÍÄaÌ4ÆqZ¾á%„qÀér!+r®µCM#“‰Ò c?Qõ *D´^>‹d éÃ0YÒ($N4e‘’!§CK‘†8Ó!D¡ªøê¯x Ú‰Ž¥—0ä4‰™†‘êz^.¼³åÜŽdñž6 ^*&g±ÖÒwÛG0Ž4cK”AÌáX±º»CØÅÄYfË`´ ×~æ\ ŒÆàdÇ®Ü1ÕŽj™²˜·wèÞÎÃx%.K Co–¯s(!ÉÓˆí6Gø™'7÷H!ÀY¢2Á¹‰û‘“5œ«ÿØ¿úg¾èüýuÆøËß÷ þê·»íùŒO`{³Þq8U ÇGŠI:žäk4ž)˜Ùæ)ë,!5mÝÑÕ q“—øeÿcê;T"eˆg@«­5qaF˜ÅŒÈ5zšQÖc‡/A*¼ðCÂ$=:˜`˜NQ›(α¶& B:3!¤Fê‘ó©&Žwè$¤äeæè.lã”ó8òЮ¸/–ÙÇ¥ê™&OS5ÄQ†±3Æ:¼H0 …œ:T,fÉéx]'’Œ\ÄÔ—=q–â•Fh À˜%‰5I¬È‹5v¼Â4aƈI$jbG­ð³! ”ôÜínÈÒ˜¶­ CRŽq‰_nþ ¥¹^¯ÄIÂùZagG0Kš±#ÍvIÎåÚÐ[F¯s"exzoq2ÄŽ)Ï÷|â«wœ.ôÇŽUË›ÿèo&¬:öûW™Ö :M¡¿â…b½ÚQ·ÝR,ä,ÎŒ„‘æõ7¶l¼âØ ô¹â­ûœ›QÒÕŽ7~ÿÿuãí¯»0>ÀŸýÞÚ‡ÑK“²I¢ñäŸöïfÒ8£ª*‚(¤n¢4BiÉZ|\Ú¨’XJTQÒˆQX­B„ôËà ÀÍc™Ú–X+Œ·DaŽ™ÆÌË¿iœÎp3ƒÔDáâÛÒQ‰õ3Æ×Ìã“F„ /^ì‰ã¥0Ų”»„*&SÎm5çËÍMÎñ:q®Ò,oËf³ÃZËaB'yQ°ßïQá’õâé ÞxýuæÉ ¤g½^ƒ_ZªÌìI”§ï=·»DÁJÚÁ“¬>y»#+$J:â—a$éêå²®‚ ¡ ª*ò(㲿²¸ïv\ÛŽw÷¦ÉÙåyX–cf”MÐô„›„`ÐdqÌq8àf2Þ8ðfq˨-ýБê`8 ÔL Ø(É ™æ“··|ýwüÜoWC…ð‹?ð-^iÇéüŒ(^±Ú¥Ì^ …'‹V4•!Œ<]׃˜ˆÂŒi°dIJœ(í©Û+Q’JÁ<ƒÀ±Ý$LÓÈÐ;”ŒÑÑâmêÎË…2K ´Ÿñ³¡Xe¬’„¶¹%ñb£CT™ÓÕ^M$EŒ˜fŽc/­à ÕÙ,¯;ÝÈf—b¬cÿp]96UUS×Ñ*FÌ‚º1dYAÓ4t]Ã[¯¿Á³wŸr15E¾fìì8_'f©'ƒ›ÇG¢$æZ×ä«5p” 0f¢®KVl#å²Pæ<AD×›€À;Ö«0WòâßV\{‡Œ$÷ù†(¶¤™`Snu̶,ÑbÂŒˆ±3\›–@ǘqæéÙ¬xïÅ Þ¿ˆ¦Ã Ž8‘¨Ä3p³Þ(Á¡©y|ŸóÚ£9êÖ0GåÒ¡mköCK„^Š­cΗ+ÖZòMÁ4œyÿÒð]?ñ7~C9ú%ƯÝ?þè7úËe¢ÜDö5ÛMA‘ $“3c(bIß ÎåzMojn·9EaÆ…˜Y’²*3„4$iÄd Ð ûýž¬¸¡ºœpÞC×S–k2O3BËF` ‰Â”"+›ŽUšIM£-i”)Ö†X+„—8»àææû‰@(’@èù¥[ ¢íFÌ,8_.ôóÌ¥›ÙWWì®»ò´ëI Í. —tÊHq¿¾å³õÛmJž¤Ü†)ù6!ÎR’Ñáü…Y¤4CwrÖTÝ€WšHI´ø]ô¿$Üü’ ãüç?ðM^¾¥(„[>£Ò|Å4ö\kKÕYœœ¹ÔÒPñäõ7`˜Ij‰ôJ;„Šƒl±6Ìý¨è†–¼H°ÞRÞ ÚK"úº!LB/•u3X¤[|?n:‘§9rÖÄaJžFعfµ-ÐZšf¬1Î"EH€âÚ´œê†‡KÃ¥ê)V%³óx³]À_ùcßägªÔ•®qdéširÈ@Ò «mJ}méÏåÔ£â›Õ ­`r:ˆ u†3y0¶Ò²¤ï&B2NŽÙ.=ÝÆNÈ %NBêê„1†0ˆ'GÐô&±KßFo‰EB†ÌnqðNFRD!Å:¥éÂPã­CjZðîÓg fòbÃå2еӲ ¾*Pq°¸Ib4†vj¹¿{Ä~¿dµª¬K8 $»»[Ò(^ÖigOÛöÌšFr®®EPŠÉº¡Gè;ͼ÷îsÊõŠÑY^_çèÐqS&¬6Ï÷è8`­5‚g=UU!™ŒÄ MÝ4Èhdœh[èÆ+:ÒloézÅ}”P!¡€®ŸÈo2#Y˜cjÇ£û7YÎ5S`êûlŤ-»<áÑz…œ'Œ³X¡ùú?ôs >~h„ð'ÿÍoð«2!-¢8£?ÏXkPJ„‹%ÂΞk=á¬dßYgn×[ö§§de³žMQÊ1Õ¤ë%Ó4­ÖìÎ4Õ@±Þ1œLÎ!B‰ŽbŒsØa¦( ž¿`ð†ÛÝXw­5ã´Ü/&çX¥A¨ˆMœàiãÜ“F!—úÊ0th2v†ã¥Ç«œÑIbFœÔCÍn·ÂNë2oÑAŽ’!ÏGާ I”¢„Â9dzd›Æ Kÿ¸ÖŒãH…Œ“arž$ÉxöÞÎÎtÖòxµææ¶ ’3E‘1œjªÉp{·BÌ3‡}Eš¯Ù¸Y2£è.K.m9NÖÁDÍ£Û¾ò«×¬æ3¶YÀ0yöמûûí'„‘H,Ñ:fUÆà$J„œŸ?°ÚÝòþ¡!Ö†×Ö9q¦ø†Oÿ‡†‡:a|€¿öcß굎È"K×4COVädYÁq`ìzVeÉÃ0Ëf‰™Z.Í‘ÛÛ[ò0Á‹<éf“' #j;RŸ.ìV%>8+èº%±jGŽUÃ8{zkÈ7‘³à³#~dGòbGg M×0Ï3¡QRàí„‚<ÏI´&M"’($ 5:€úåÝáp¸òpíÑQN7Œ÷ûo-=IDATT×´¶Ü­7dçµÇ·<ºçáÔ¡¢¡ÚºÇ ? &áéç‰, éFCž•NGfB,E3Aq>îq:¡óžÀ€ ,o?z¼Dj‚mJ{1£å|Ü£‚ˆºé‰‹Œb•ñ«ï}g_èáŒTJϬ6#‰Œø‡¾æ ú  ŒO5¹2dy‚f“ìÿÀ›´Ó4•¢.ó•X%(ò?ñ?tüûÐ ãü?ùû|=´¨@’§Þ8°¿HW)ë4ç½çäÅå´ÜûP ãü¹üfïgË: Xå!ÕµcöIm3±ÛÞñþ³§D¡B ÏÍvÇñPq4Ö |òîa{Ö÷+¬é‚%ïö:à¼âp©§,Kˆâ€¾íUÈß}z¡HSº¾A PÁ’L"„ÄKhK¦TÍæIr»e–›HÏäeÁóùϱ½}ƒëÐq96”É ;„‘`<àýòÊå¥GéˆçÇN­%ÊÂe—c•r[ìxzjXo"r9á'CT–\^œÑiI’ŽtýD–e0;ò0ÅO/=^Ž Ê“§9í©f—e´UE¾]3ÍŽPÃ<zxT!ÿÖOÿòG‚k)a|€ÿý?ý—|Ý6(Pw-EšáœçpnÃk&ÌPãÔÄÝkéz‹–²›Õ:%Ô’@ÄQÁ46¸ÉR$1]ßP–%m×Q÷IY²¿4ÔuEÇX;“¥×¶e4€É‚=aòüá¼\ë½e2 ðKeB×]‰SÅ6ÁA–¨``–äAÌé¼§XÇx¹‹C¯,n²”eÎáX3ÙÛ›G‹™RìûÎx²0¥ë:¦ybt–Ñ‚%‘DILo=ÕÐÑtŽq¶4õˆ–ŠinÙn7¬bM †yÆš€¡¡ (f𩫆U‘Š€¾PäæÑŠöÒpmgÚ®'Ï›ú¹9„’"È0CMT CÇ÷þ‰ÿé#ųœ0>ÀßüéÞ7ó:âZ. úe]X‡Ä"DJͱºEyr8Ð2#T Ú ¢XQîrúéJ”H”òtÍ•ÕjÅ{ÏfX’KÄ²Ú ’®7Q‹£¡¾v‘^êØ¬`Æs<î©[ãÇä“óTcC >qwO[/Ñ?aäÑN²N2ÒP¢Ëýýínpìlw9a0ÌžwÞ}N§¬²5¸Ð“§¡^mûÎÐŽ#NHœœž_hÍ@–—´mKW„’ø á:t(1SÆ)Q¬ØíÖôמK32؉±» CÏvsƒ13txIcÌHRlâŒwžÍÔ¦Çø3ëÍŽªné› o?zL4Ç|ïÏÿõ$¿>²Âø•û&¯Óvò̶'=ƒ˜Ç€pÎxúìs|Õ'¿’ºmi»j1%*ÍñÚ¡ÃŒÙ/}kq"¹½ÙÐÖWž¼þ˜¶¹²Z•8"~õsŸÇ«eZÝ5-“ñTmOÝ 4ýŒ™f®õ¤éëg¤äÅ–¶À4Q#Òˆû áÒå˜&(áQî¶›¥wcÈÓ ë²$"‘Usf½½]ÖPM»d_%)AªÑsÏÍí–@I´W´uO-9\£¸XÉèfªëžXÆ„Âq9õŒÒ0‡1® ‰¤EžÕæÛšáJ\Ä(?ÓŽ!4ZË%et툔ǾojƒŒìÔòøÑë4ý;õ|ú'?º‚øÈ ãü·?ñ/x¼§XeΜ…H'üŸŸý·ëå›×N#wÅ'à: 831N3e“…’]Q fˆ“/÷÷·¤IÀ±ºr8 Ãi´ØÉѧ Ä)Õ¥Á͆,K°Nò…gO‰Ó˜<ÛМ £iÈó˜ÓéB¥øy™ìÃ@œ(tp½TiN 4E‘Ñ›ç 7·[òHq:œ‰â«qšã{Çý¶$Ž–0ÝvÒ`i‘š& Bqi'¬wÌŒ¦ápÐ‰Æø€Ñ;Jq¹>Ãûž²ØÉ%É݉‰ii»k Q*°ôôýHu)Ó””è`¢·KÜQDŒŠïùÿÍGžO_6Âøõ‡¯W³DH ç¡?"ø(Âûˆ]¼árªx¶`[T}ËvW¢”$ ¡™'KÈehœTXÖ6yÉ<Ï\šžº_*×ΧëÊ2ç\õ˜É2˜q˜i*Iã+¶»Œxöà5£ÒÔÍ™ÀM¬în˜œZ.ðÞÑ_O¬Š<~ò&ã©#*,Ý4,íEBr³ºÇT ÌvEÉîöŽ8Na)SE8¯è‡‰±óh­iº†fœèÜ€Ð)}ßã&G\–ªÖæ)¶70h²¼â™ùôûë_vú²Àòoÿê€IÍèqÀ#á͆ßú[þIþæÿøð¢ªYor^ŽË³[bð/U‹{VÛŒñ$1¶â+¿â1óÔ²ÎKVEÖ @¹N8ìô}Ï0.¦À¶3óâPSw=·h-éêë »muž8K¡¤™cv‚kÝ嚉Óy$/úêÂëá¥çr¨ãã ô»ÝŽ»ÇwLÍ€ =7·¢°ÓL¼J ¥'É}IˆezÞ?_HTÆéýzB\cjCå®-Iž±ZÜ<Ž‘~¢«zúÁqî{&OßÝ3[‰ <ÿÚO}y âËZ¿&Oÿvo{ƒsž8ÍI£S/I·»>8;Q(Éì—j Ð>‚ãùD–%dYÁõt&’!›Õš4¹¹ÝD#Q˜á|ƒu=RDcŒãx¹:–\«žišHÓc mß ¼õø ãX±Ê¶\«¯—°Ã¾âíO¾F’d<}ç)QQkEÇx`®ý8ÐÙ‘PÇÄiÄf‘ ÉõÚ¦)Ûu†¯':9pSÆÜß®ýŒtŠË‹ 2OÙ_öŒ¦Ñ.‹HMÇ{ÏxíÑ aä)òœÛâÁ@g/aFsíùºïøS_ÖœùXãüøüp:’¦›ÛbF84-yœ,Å'§+Ö)&À2„AÈåܱÝdÜnSÆîB%H"²8á­7žðâÅ;䥢,Kº®EJ…éf|(9]ŸcÆ%0 Š`žCF;ÆÓè¸Yç´õ€’!ù*åt¬¸V=]_q÷xK_;z7ƒ_‚š~fí8b¦–ã¥çþõ7IƒˆËáÈz½F`¸]%¬ò{öׯ?Úi ànµeh:dã'ËÕ\¨› 9kì,86ްãÌàÊîÖkr°ZiÞþÖÿècÁ—0>ÀŸþô7û¶êˆãœÏ×Ïy²}gÏž¡¢0\ÂÆy`w›3]'¬]ò îï êú)ï֘Ʋ £ïjŠ$åÑãÊMÈзiA×Ô4æLœ„¸iÖ¥{&fò £Gûni8"ÅLà¤ÅŠ%\žHi0«¤Z|V§Æpz¨±R²‰">ûìÀ,BÆa/™ç™u™bº3åæ–‰'‹Beq³^Ä’i™° %"ŒwXLŠêÚ0#˜ÝÀ·ýð_úXñäc' €Ÿùίó—q@‡Š×²{Nç+½œ)òm? ™¢<{qÀN’²XJÉzU åL×µ”E†ða5ÆXnîK”<Ú=&Š<ˆž$:Ïõr!MB’ÓéB%q´ÄïÏÞOLΠ£­’ #<ÖX.} ~Yí&.hß}à`ûÓ--9^Z^¿Äõ|ÆZK±^cFËd wÛ5¯ßoéÛ+yž²Ý®—ª±Xs=ïQô“âñ“Oòwþ¯¿Å<Ïüîï>vüøØ ãüñïþ§¼ôŠqrëëÿþ;H#ÜÞn(òg/Ž R’ år>óø~Kžk<Ì’,Œ dÄéxA%’4M‰¤&OR²D&!Qh@¢rœB‰Ò–v³ 9WD¡^ö=†Ž,ΈƒŒYŒ }C²É eÈó²dÅ*Ûå!½k¸¿¿A뙾¯Y¯o8Ï(-ÑZ’)C×bœ¡Ün蛞m¾Â˜‘ÍýŽR<´OiGW3q¦9œ&"•ryqaì'¼öt£A…%Þ[®Õ‘æ2 µÆkI˜Çüë?ñ_½âÀ+aüÿÃÏ~××ûAl77¤iÎÓgÏQj)~©ë†¾I“’ ËçÞ{—Õf”€ Px,ÎxÖ«„@…HçÙ¬s¦Á1´†(0v ©GŠlÍÛo¿Å~äZ5”ëûÇCã–îˆDQwgÒ(‡I„PìâJ¡Ë4{ë¥ÅÛSµpªNØa¤¯&ÆÙ0IKÝ+;±¹ÉØ¿h˜Ü•`Žùî ü•0>øùïÿ>PŠý~Àåra{sCž—¸¾¦î{FïØÝÞ/U»u‹Ö!›Í†öZsª.è BHÏjk±dä^*6»;’$ãt9cŒ¡ï&Ö«ÖM”«˜¶mY—ëU޲ΠںAhK¹ ÑmÄ$F¼‹I”ÂÎ5iQ’1}ÛpiZNí{„_¡f‰7üŽ?ò³¯Îý•0þþð§>ýÏ,÷b¦ªÎäùÌ ¦‰ÁNœ®5»Û;škƒV1çÃ…bµÁ9‡›5׺&ˆò"F‰f˜'Å¥kØÝ­9X§E–eìÎ$qŽóë2# 4ÒϤ±b»ËÂ¥ùèÑ*æ dž0‡2MpÃ̪L QF‚w½!dÅûŸû,ßþãÿÝ«ó~%Œ/.þì|ÊOÓDY®i.-US“9Ý8ç9}ßalj0H9άosöW„‡2ϱ3 R´ÝÌ»ÏHË„rµ¥oáóï>e»+i¯5³S¬ò€Õ.Ç iA Ã?ø›?‰5Êj¾æÍ”ãU!²–D§da ª+6e€Œ2®cÏ?ü{þãWçüJ¿¾ø ?ðÏùitTc‡÷‚Y̘¾g³Ùp:(ò-moXíbšj ŽC¦±çw¼öäMœ€§ÏÏ$EÂát"+JªzYB’RóôýH/QÚg e–¢œ?a™xòè–7ïîÙ†–Þ¦d›ˆ`VôUK¹•ÄYD(’@’%š·¾ùg^ñ+aüÆá~ðSÞÎKÁKu>Em32LÐöÇ£9^÷lׯñüùŸÿügyòÚÛ¤¥äxp. 5Æv»ÓØáæŽÞyÐÅÌ›n‡‰n˜¸Û•ľ#t Ök:kx|{ÇùÅ v«’€¥©èwÿèñêl_ ãKƒ_þÉo÷uß÷˜¡&‰ êÚ¡g˜FB0N§ÖvÅŠw?÷yÒ"gt3rÖœãA¤X¯Kªë™@ ¬•±¦ï;V«‚@Ch"¥ÀY¬² ʬàݧïFó8‘%£s\Eõ¢ªjîîî8ì/* I±\Ñ4 ë›-(8^OÄyDZÄ|ãwþ¹WçöJñ ú|³ï#Îs¼›JÒ #vjX¯b¬ ãŒk=aFǪ̸ÖËHEH©ðÖÑ·ð?üï_×+a|yá—~âÛ|}©yñüÈã'o°¹Íq¶EùŒÙºáŒð°Î âØ1ôAâ$tf䛾ç_Õ+a|ùâ¯þè?ëÝ<³½ÛñâiK’$4]›%×úD'x—¦9³Ÿø}¯æ¯„ñqÁÿöSßæU˜s>W´Îò¸|ÄÔ¼w¹ð(Lyÿü‚?ðãÿË«³y%Œ'þËïû6ï£Q;æd$»½áNE|í¿ñÓ¯ÎåKŒÿç“yi!ÿIÞIEND®B`‚pioneers-15.5/client/gtk/data/themes/ccFlickr/port-brick.png0000644000175000017500000000530511346241564020765 00000000000000‰PNG  IHDR;0®¢bKGDÿÿÿ ½§“ pHYs  d_‘tIMEØ3®r«• RIDATHÇ%×Io\‡aÀñÿÛ—™7óÞläÌ)Q”,Z‹•®“¢¨Mc ‚œÚc ôÐ=äÖOýý=( @Â1RKò"Û%®³p6Îúöµ‡þ¾ÅOxñÛÏ‹þÙÂôä·…P¸xžG’Åø¾¢hìßC3-æ· .ÇK,ݤHRÖó[Öë%N£N!CVäÜ¹ÛÆßDÈ¢Š,fŒçˆB†· ™M—z›;{”œ*ËÍš››!rµ$1¼ž³ñ\]A–þS¬ZƒåMŸ©ë“&9­‚¬P`5;H©€ã4¨5d]DR$†Ã!õ¤@SU$U ^m$SBÏ#ñ]†·¦ã»‡T+5¶Z6²¦ ýÞ9ržÙyÎ`:'rCZm$©„jÙ¨%‘T•(&Kìjz«É:X#ë*³šÍ\õé<¼ÃõlA Üíl­Ó»:eºYR55rQâ_þ7ãþ{Êv…í½{Hÿú»¿9ÙôÆ$…ÊÛÑk»ƒ fÌ&g(RN«µE¿F!ÅJ†¦*¼øòºl>¥²‚$ȉaAš$¼9Ï£Ÿ>G+Õ¨7÷P˹fÑØ{H{ç>5§Šô«†t2̰›Û,6‹ÅœÕ|Œ" x›57ã{Ý‚$äºß£R©’DYž¡é2ÝnƒùrÃfep~qŽç­ÇÈ²Š *¤©ÏÖv‹F­ÊlÔçõ«?"\ýóßçý5A ªiQÒD:5“Éà‚ÙlF%H²Mw§I^ììvYÏWH¢@{dñ«Þ& r c±^Q*kQ€U®e?¾ùšVgÓ´Ðe1ó‘%Aâþñ#ê­I–3î_0¼:e§ÕDîßgéøÞ’,Êè÷¸^D£VGÎ$ªV§V#J ÎÏzDIL¼L°¬zr¹D»Yæì²¦d)ô./ÃETäÑÕ)gïÞ'9¶mSÖ$t!ã‡×ßÑéì’H*ãë]§J,ʼýþ4»‰S·‰×K6™OY3©Ök˜Q)3ΘMçÔÊ ÝŽM«m£—Fã²"ðñ'?Eü%Šja9$© HB›Q±¿¿Ï›‹íF‡ýíWgïIü%fI'(R K¥~´Ïõð?Ž˜,—˜¥&ŠfP.Wð\—›þÁœQªÔñü„–SG,B¤£Åü¤e6 ŸŠ^!޾yýNÃb½™3ì_¡…BÝÄ:º‡dÕ™½;Åë}ÇjtI”ƒhІëy$iD³VÆ]ÍHÜ%ÓYù+tECýD¥„ô»ÏŽN’¤ÀP5¾øŸ/ ‡´ZÛ˜¥*†Ùäâ|‚]©1YÏ9|tÌÝGÏÈã„4OtÕ¬â{kæ‹9ª¦3è÷%™çOžb¨*YžÑ½³E†ô{}Í êÔ‘~ÝuN:m›ªUFUdYFÕT–KŸBй]øä…Ds»F–ÅÈ‚ÊÆIÈ(ÛU²\¤V-“f)ëÕw¹bØëE!n?ôY­§dYN€n”Ðté—ãäíÛ7¸îœ=Àó×\__sÕ_"+°³¿ËÞÎ>ª±¾½a»Õ¥óä vYg:ºÁÖîœööuÛF$â0 N" ¡ ŠCZ ‡‡G”L‹Ówg,–kdEH¹ô Ó4X,"^¾¼¢-›ªS`xõžJ)fzÓ#Þ¤<ò}R!`=£È"ß}÷=“›𬯠ñz‰,‹4ZM†ƒïN/yxü”Ÿ}ò 7Ó[„iE¢TYÌÇhjAC©¤b–,ööpU„`Îíèœ`å2™îÈ|üés”BàÕ^óó¿ø9¢(ryyɰ?@VD,ËBÈ LÓD”r²´ GÆ®ÕI³éSÝ>qvê´wêüòWŸñ—Ÿÿ‚öv—4Mp}—JEÇ]ÍÉó”Û®’& ?~»Zquá! ·Ó[ž|ôŒ’eÑÈâŒÙxŠ!+¬ÃÛn`Û5*V…ÙtŠü÷ÿôhNLž¬‰ü%¢îóìãû4¶-þó÷ÿÁÚ‘f9È*³õ‚`ãsgo‹R9DWÚ›Èõ©¶êDq‚ÓlbXÄ4åÙã'QBu§CžçÈ‚„"J8Vá÷õQá^½"3vŽ1 5ñ©˜eþý¿^q=Ípì!‰»@’áùOžS±·HSAR¨Ô2núB?¤½UÃÝ$ ®§ìßm°µÕ$Œü0A’uªŽƒô›Ú‰¦ä’N˜çÜÙo3ê±\¬±œ/¾½ ½crïð€­­:å²BÈzýÿ‡E E’ ü)Ežb¨ž·¡dV°« ¢dÃû³÷‚HF¢Œ$ËüD‰5ÿöj*;IEND®B`‚pioneers-15.5/client/gtk/data/themes/ccFlickr/theme.cfg0000644000175000017500000000124611346241564017766 00000000000000scaling = always hill-tile = brick.png field-tile = grain.png mountain-tile = ore.png pasture-tile = wool.png forest-tile = lumber.png gold-tile = gold.png desert-tile = desert.png sea-tile = sea.png board-tile = board.png lumber-port-tile = port-lumber.png brick-port-tile = port-brick.png grain-port-tile = port-grain.png ore-port-tile = port-ore.png wool-port-tile = port-wool.png chip-bg-color = none chip-fg-color = #ffffff chip-bd-color = none chip-hi-bg-color = #000000 chip-hi-fg-color = #ffffff port-bg-color = #000000 port-fg-color = #ffffff port-bd-color = #ffffff robber-fg-color = #000000 robber-bd-color = #ffffff hex-bd-color = #ddbb55 pioneers-15.5/client/gtk/data/themes/ccFlickr/port-grain.png0000644000175000017500000000363111346241564020773 00000000000000‰PNG  IHDR´R9õ pHYs  šœtIMEØ  S¯¸ítEXtCommentCreated with The GIMPïd%nIDATHǵÁY’$GPw=2+««Íhd,fúå“pîÀQ¸ §Â $±h4ÓKuUåÁ)xÿö׿8ký09ekÔ¶,…;v5ŒjEÞ1óõý]jm½¶Êaºðqœæu¯¥Y¥*¯Þ9ëÌËó³3z:=†Ã½ÎëªÖzÍ|žîN1 1ÒÁ˜®Ý–òåíEÊÞ¸zç°qI«"½¤äC¼òY[›ö¹iïð웫ùx7íë²,×ZEs–:)u_Ï/ëññCâôòß–y%èÖYÐÔ$•ÂÔ°VÌ1DEÆkˆÌ.—Û4ÆéxŸ3/·‹v.(åi&l#üòˆ”.œKšž 'ÞBmmàÚÊ6;ë¤V…H­Yguïµ·F„ïo¯ˆx<=Vfm¬%E@Ô[Ï9¯ëRKçã0TN«Ô¢•"¥3çÞÁYëŒiJ‡8Y›‚xæë…öZd®—ˉ¬wÚx¿í›³Z!4éˆû6£rÚºTm´².Dkª\í‰Ìtzè€D}]¯oë[å­µ&!ÄÞë2ÏnèP€VªÕ Ðk­%gh-m[«,\”=/×÷`È:†ÑŒÀ^¹ä}—ºñ.¥4­ sEh€XEڲз¿ûþpz,Ò‘0—B„Z«Ö»p'².ŒJÛ÷óûùåe¹^µsÊÚRËõv[÷ôõõüõçgÉ¥–óVrâR¡ua˜îžh[.~õ›ãÃ*jµ`‡Ê%-7ê¢@¯€¨ˆÇ; %sÞ¯—sšçíz•”sJiß H¸në¢5uÔÚù”‹úÓ~+ÒâtWjOÛBÐ;‚HUHÆ9i µ2…KÞW¥h¾ÝZ•–yð^[Ë\´6Ò¤–bj­µ&M„œ1·÷×çŸ0šÜp`)­²Õ@×*M¤l»¤Eò†€\¡&®,JÛ”RN9¸¨Pu)Ije„¥rk (ÄððôM)ùúþ‹1("Û2Ï×w2:©Þ„¢±KÛ—­KŸ¯gh}K©#ïI¥"ê‚,’’(Þ3ç­¬ç›%ÝIYcMkH‘ñÖ{¥H“ëù­0Ï×+v:=}°á°mɸˆŠœ  ŒŠÃβì™l ZjÙwè]i»¬›ñaK¥T)%a…DÆèuŸ;tçˆôVZ«…«´ºÌ„1ŒG"ã­™“öެÁVvpÖ­—‹5.§d¬E Æµ–ܤimömë iŸ±‰VŠËž–[+{o5ï ¹Étº“V}°!èåý˜§ÅGÖ6‘´¥ÃÝCh]+K@‡±u(Ì­wRºIcæÞ»B-ˆŒY´q½Ãv»Õ´ëàb¯Rò>v2ÌÝ…i»r’]$2dBâ2=}È©’  X­•m]‡SkÍy{˜¦O¿tqˆwëë×ÿlËe˜Žz<Üï)™†Ø;jm­1µ¬¼•(­÷­5„Z9÷Öµµç•y¨]œÂt`ì_¾þ‹´S8Nq=ñºj4z˜îòº0—}áfŒŽqØJê@„ ¬iYµR1„¨H ª`¶ÞÆñ2_÷Û9Xƒ¨–ë-‡ããÇçíGZoWçÃ8Ý€sÞ("lq”ó@`œTΕõq´Ö[oHYGÖíy[ß_%%œéûºžŸËƨHë8‹ñ1Ú!\¯gB­ äuâññ~£÷q8Ü1³ÆÞ¤ZÇ‹ ‘óAkeŒÄÖLÓÔœJ©Þšw¹¤.¢·ÆÄ>o7e‚ ƒ?m|N[Ýç&UjE¤ÃtZ®¥Uá\¹4©5ïXx8;ië"ô†"‡Ót(Ë\+ëßýº¤,ÂËí|=¿ºÒ~<€¢àã0>®ËRKåDZäd\hË–¢÷Ð…ˆÊYEDš´óuß}ðÂZýù߇Â8imµ1q˜4Ö2Ÿ_æ·—¼Í¥?Œ.!ŽÐ"¶Æ½ 0Æ0Ž€DÚŽ÷÷ß|ûüöÂiÓŠ€H¦{m\Agƒ½¿¾½ZÔæñãwû^¤2Ôüå§¿ûát|ú0œîiž÷e¹xZkåZy8Þ+çâ0Æé`¿RRH’‹ŸJ«äó¿Š!<ù2Q+4F ôK‘*! RóõËç8ž>~*,u[” yge)}¼¿/\Öù’ö9XÃ\Œ†`ëº}þá=U £ ˜“pïÕ­·ÏÚ.ùtÿXkå´ùùõüúõéÓ¯vkÏ//ãÝi_faQd´nÛ¼*4ÐÒpy¿bïþ?þºq×&õÊWäIEND®B`‚pioneers-15.5/client/gtk/data/themes/ccFlickr/grain.png0000644000175000017500000025166411346241564020024 00000000000000‰PNG  IHDRÆæŽ7úkbKGDÿÿÿ ½§“ pHYs  d_‘tIMEØ ë«® IDATxÚì½é¯m[zÞõÍìç\íîÎ>çvU·Û8)€ˆ¥0A‘EJ¶…p¸"Ò¸°'±Si\±Ë½ãÄ)œDÙ2‚Œ%Œc@²”È€0ÄŽ«ìºuÛsöÙgw«™ýÖQÄ$ ×­ªýükιÞñŒñ6Ïû¸Çç?ÿc2ü—ŸøÃáþŸxï@ÜÿŸ?üÜÿGÁÈgkŽX <ž¯ù÷¿çÞ.÷ÄøÒÃÏ~ßyR"•&$Å išÝ-Çn¿ã#ßþã÷¶¹'Æ—þÛùÓ!IRªÅ]ålv7lï®ð“%’c ÓØ hë†ÿàG~æÞF÷ÄøâÅ'¿õë‡ÇW3´# ˆÒ˜ÍîšHS@Hs¥%ûí†YU±ÝÕc1ÆðGÿêÏÞÛêž_<ø™þhû7:|°¼ôÊ«ôƒ¡¼sçqÞ“&9IZ¹¾x­$.Hì䆞z¿åÏüÍ_º·×=1¾°ñSû†pþâ+ôư¹½Å´ C×rþ⫨¼À›@™—´}G×7diÉb5g³¹Æt5f!€VmÓa†‘|V¼ö½?uo·{b|áá¿ø ÿv£Z£Ò˜Ûg7L]CI&k9áEÅ|ÁíÕ5؉r6CHE7õˆàðÆ2v Þ’¬¤mZÀ¡TD”gÌf ~ß7âÞ~÷Äxïã?ÿî×BpŽ,¯Hó’f¿'KS꺦ÙnIó‚¾­9={ÀéרÕ}?¢%á @À3t yc†;¼”T³%»Û+Œ1ÌVkˆR„RdIÌ×þ‡¿·ã=1Þ{ø»?ömÁ´=C×!µDjE4Jñ. P\_=cuò¡4A‚³9:J‰UÊ~{‹Ä"„ ÍJº~ï¸yvÁÉÉ)“µôÍ–ªš3ù@š¥X70µ_ÿ±¿~oË{b¼7ðßüå?b­NÇ1›í5v‘J!•á)«%Cßc ÄYÉÝæ)øR!•$ˆ³’Y¹¢*+&k”puuAUÌHÒ‚¶©Ñ¬µ(­0N T@Ø ;iJP_ûѸ·é=1>øåŸþ«¡mï蛆õrŒS†©ejkúº¦¬r&3¢d„šÉCš—ìw·ôíoeYQTsú~$8‡ñž¤ªÈ‹Œ$‰¸½º$ ÞC>_±Xqýì1RA’æ4]C¬ÓÐsrrNÛô,Nèlj¯yíÛïm{OŒßFBüíO†b¾ knž¾ËPï˜Ïæ¨4!s”TLCÇØíQZám@AVäÔMG×5Xk˜†–4-X?x‰b¾âñ;o`†Ž4I†ž8Ð2Bø@iš®Á9OUVXg(ÆiDÁv{Ãrµ (*–'qÆ®ãîêàÛôÞÆ÷Äø§‡ÿñ'¿+ mÍ`,AÆœ<|‰à3Ÿþ ÖeÁØ(#dÅŒr±d[¼5(­‘BÐõyšñÖŸFŠ@šUè²"«æÜ]_£} L3ò²ÄKpf`¿ÛP”%“±ëð´Öl·wà,ØïöEN4i9£š/ 60=ÇïûèÜÛùžŸ[üÂú‰`§Žfw‡)bªÕ1M7rtzÊ›ŸýMN+,‚åò•F$I\ÄL] Îã&Þ"ŒÃÀîæ‚' IŠ%#æ«Îyúi íj´TgÁç B ‚ûÍŽ*φv_%óÅuÓ0[ÍȳF\¼ý&§G§ÿæGïO{b|ð3?üm`ÀZBð´í@¬>fGG³9——O¨ÊŒý¦¡ëG‚¸`‘ÁãÜD–—ÌWkÊYA•/€ÀíÕUQ1¶>Hd”’ÏJº±c¿¹%xKY–kA „ÄKAðž¶Ùà̈ yQ€ÜÝÝ©„¢œc (%™-— Û» DÌ«õ~PùÎ{â=1þÿ¸M?ñ½AKIß×tMMš¤8Æz¢H1xOçÄIŽq†íí EY°¯;„P¬ †¡9d Äó“ÂŽÏQÍ–l®®€Ð D1ûÍq¤±£!ÏR¬÷”Uóg-fêf‹ ;ãXœòÆo½A¬5YQ “ˆ<ˈò­õî’¾iX-hšD:f'¾é{î+è÷ÄøŸþøk¡ÊJ²²ÂxKGtu JŒµxgðÆ2 ç/¾!CÓbœáöú)f8Z"UŠT@ M$Æ[â4eqtL×ôØn$*ÒøiBjtãìH’¤ŒÃ΂C(EÛ6Œ]þÞsvöŸyý³¤q„Š#ŽŽA"”$Š4}[“ÆÓ4"ãP4õ–ÝÝ5§§'|ýŸûÉû5pOŒÿgüÝýÖ0 =RHŠ"g4#Þy¤”!˜¬©Ð:Æ™ÉA ë =`}|Î;o½ŽwŽë‹K¾ìC_ɾ­‘ÂR7{Ê¢"x‡õë-EQ‘g}7E•ÄXk|ð$QD?MD±Æš‘<Íð†Ñ0t5CßÐ75YVps}E¤b&;’dóÕY’!„$NKÒ4åæö "@Ó5´» vè©Ê¤&É¿óÝ÷§Ç=1þï„ø¡?ê¶eµ:fèzBY¬Žé‡g,Bit”Ñ5;Æaàìá l÷5ÇØ·h%I‹’ bŽNÎÙo÷´MËù£—ÈËŒ§ß!8ƒF" Æ ÖÇg mƒ”g“q$Yv Ž™ÐQ„NR! ßÝÒ55G_Â!ÁÔÛ c×2ö-Á‚Ûë+ʪBÄ1ÕbI’,Ög<×oâeì;6›ì0’ÆA@UÍð>0YǼw¯¾´‰ñË?ù}¡Ÿ:üäh›ýa§9xK1_ðôéc"‘f%ƒQRàŒ©q” çÂcŒEë˜ju‚ 0u=Q”ðèàñ;o Âáäéê-Ri²ÙóÅšiè™Æ–4/(òŒÝÝgFŒ3Ä©Âx(«%vØ<{J’hŒ ¨$f6_"˜ÉÒmv´õ%aœ‚3DiJ’W<|õCL86OÞfwƒ{ž>~Œ ‹ªÂ(«ål† €Ð|ä;LÜãK ¿ô“߆¡Ášž÷ADQ‚,‘”8k(æs®®¯H#…:N±Ó„º¡'IS¤ŽX¦¾fš i^Ò¶=óõÓäp!ÏgÜÞ^bº3$±F¢èꎠ4ïÿІ››[„µ;!Î2‚7˜¾CkM7õh!Øo7”eA0c ÖyŒ5ô£e¹>áôáCêí»»+vÛ[‚5äÕ‚“óG¼ñ[ŸÆOeUrñÎ"%)g3¼s¨(&Iœ¡BhÚýŽ,I™Æ‰×¾ÿo‰{b|âïýÄ'B³Ý“Ç1:NÐQÄ0LEÅ`pýì)c³'Iiž“IZàƒÀ I–2K?v(rzúQñkÿû¯°Ì"Pï·¤iNœ¤ÄQÄ`z ;9œ9çdá]@˜††ªZ').XF;Ð#Hˆ’‚¢Z²::ÛÓÕŒCOgÔõA@ iº„ m;â$ãôÁžw^ÿM”ðDIÊÉùCž=y—¡¨ªI± Ý¥ÁN(-ñB’¤ùsU¯'Šaš¨æ+š¾åµïùÒÉ`}Qè/üøwã,RÄdYI”ÄÄYÊÍÍ-yYR÷-ãnOžÄ()Æ;YÜ4 £˜Ùj‰÷’ 477×L}ƒ·JÆ)ªÕ1§Ç'<}÷̓òuéû‰Ù¬ÂZCðŽr¶FF’ífG¤$Y’ Ësð;LÁNœÕ}W£RÍînƒu–£çT³ëÕš›ëšÍ5±RDqÂf¿cœüàñÁ ¢ˆó‡Øß^ãÌ€uŽùjÍ8Zîno8=>áînKþpJ%ÖŽ()QqDœ¤ìš=aI²’a´¸)°\­Ù×5ÿÞ|iç_”ù³?üÑ diÊ8ÊÙŠ¼¬hÇ®®© ÚýŽv·!V!%yU1L8ÀØ÷ÄYB4û–8Jéû-Iš¤9*ÒÜÝÝ0_¬è†ž0ôh­iš`}|rˆ´"-K†¦!O*Ò¬"è!=ï¾ûRVšù|Íîö–ÙlÆ8Mw(Þíw ›ëKòrFˆ"^ýЇÙÝÝpýäMªª@ÈŒÑZšÍ–¼ÊØÝ]£¥f}tÂä&ÜÔ¢ã”qt˜qb±œsw{‹VúG”"ÍJ´Ò Æ:”Vt]‡@±¹Ý±XᜣZÌ™/–l¶¾ñÏÿ5qOŒ/ üÌ÷ýÑ •ÂZC5[ uB”fØ0ýDVd<»xLž¬WG4õÖô%RÑ·-!XÐkëåyq„ °ß=chö$YFQÎ躖i©Ê’Û›kʼ`'šzÏúdÍ8Ny‰@à½!Ígx$Ož¼M¤õA åq¬™Ì@ßõ̪Ã0@ð³\Ÿp}ù”HA^1σØo¯0v$« CËöú k=±TĉBG1VzÚzGQVLÖãGKž¥˜±c{‚÷ôíÀ£—_¥zfeNÛí!Ìèp6·–GgT« ê8M=PfRi~ïû âžïaüâÿÙ`}ÀºHI®n®X®ŽÉ«5BJ `¦¶)’‚j>ãââm–«Y–SïvŒ}8Ì8 kN0ôŽ/û¿‘&¼þ[¿NÇ/Oðà-Þ Ã@VdtãH³Ùqt¼¤-£¬WÈË-×—7dnœÐJ µÂLÞ;‚÷ Æ:¢¤àøôŒOý£_å•—>ÈâüDš ½e{ÅæúŠÕrÁеlv”HR(Œ1ô}Gš¥8/R“&ÞL}Ï4Ž ÝÄ ¯~€}×’&J¢—¾ë‰Ó’irH$'gçÔÍ%"tœ“ä%*Iû–ßýÚŸ÷ÄxO¹Mߪå?à&œsl6Šª"Ÿ-¦éàG(²bNµ\òîÛo2´{‚w¬ÖÇh¡1ÎàH±XÑ4->ðA®7×Ü\] /H³˜¡o‰´ U ã-C7ê]Ë04ìv{NOÒN†¼šSVsŽÖg˜¡§ÙÞ2ö5ÖNÄq„Ô“±vÂŒ#2(Ҽ˜38á9ô »¾Æ 2@^¬ˆÓ’±Þ065"x¶û[ò$E%9]×"ÜD$#TVàp(,ÁZÒ8eœ舼\`l[Ì81[Ì2¦Èg̪9S€qœÀyò¢„(¦n÷tcË0 D‘æ¾õÅ=1>ï„ø–¼çøôœ}½c²-n²¬Ö'Ø~ÀN=Á89ú¾!ÏKt¬‰¢”4+°f$JSê¦F‹@óÜåÈÓÅ!§ï}Û‘—«‡g¼þúgaêqÃ@QVôcC7t¤J3yžSVsl­ïÔ„þÀw|áIL¾ ^øøÉ·Ï.ÑXâ4¢­·l®î¨fKÊÅŒ`=UYr·»bVHqyù,ǧÉ‹Îy$ŠÉt ]’Š^xƱgê泊8Mé;ËêôœatÄÅ!ªÜ€V1I9£œW\?{F³½!Õ1£I’‚²X2ô5M}KUÍR2 ÞS•3‡@&1ÝØSÄã4a‚!R¢$#5õîg&&kp¡v»““c®nž¢˜É§9Ål’ Ašn‡ ­%ÞO8;¡tN’ÏéÚG;±¹»!U1>@QÌIó‚Ѽpœ±¹yÆØ7¸ 2b9_Ñô5Á;¼ÿ8&*ÅA^•}Êl}‚H4³ÙŒª(»o¸‰ºÞ2_­yû·!Æ “™èö5'Çdz5ÞÌÐ2YG\Ω–+®®®h‡="‚10 5"Žxí»þqOŒÿ/2Ž¿öÝ¡n¶ˆàI²ƒ«áÌDžgôm‹E°Z¯‡šHHº¶#Ž4q1Ž#]×Ä)yQ0z±k ZEXcÑQF’¦Xc0ÓÀ¼\"Rų«·h¯®˜•Kæ§/3êv`†Ž¾ÛKp6')2Šp£¥&¼x8=êfÇj½fs{I¢cªÙ’¶©™¦–(Ê)ŠÌ—G\œ;,ìÇo¼Ž’)2(«cŠÅ ½™L‡Š´Ì¸¾¼¤¾Û’Æ1ež0)Öz²¼`œ ËG>öÞ Îß3/öw~ðÛÂñƒ‡è4áâñc%Zk´Ô)€R¡@éƒ[ÅšièQ"bG¬›‡†`^J‚‡Þj•à¬ÇYK^äXínÏzuÌäöûgt›[”ŒyõË'Û¶¥ïv(À{¦¡'Ö]ß‘¤1ž@žä8ㆃìb@²^­¹½~B%H¡Ð‘Æ =‘ŠÑ‰ÆZKš-˜Óu !Àöö)E”gKëc®·×;"¼Ã¹@œe\_=EúÃ)“3æG'ŒãÀ8 ôÍ–,ŽÑqÌ4LDIN¬SŒµ\=»¦m·¼òþW˜¦‰¾Û‘Již^^p¼<æìüeúab±±«±~ÂyÏdÁÃñƒsNOðìâ R*Îß÷!../ñv ßí©ª¯ûÝ Ö yQâ8çüýÿ‰ Çl1§ï´–ì6;œõ$yNsB°Ìg3t”±¹½"ÖoóÅ IZqyñÖ9æÁ ï¡QB‘gÓhPZ‚ÊPZÓ·;FÓ1:ÃÑéC’ªb¿ßá­ÅÚ‰Di&k@k°7’•9c?!… ÏsúÖà•gRžËÇo0ôÞ„\G ïš©®yÿû^%­Jú¦¡íZÎË’8-±>°ßí©f+êú¥!ØÔ{Ö§G|ø+þYþÏ_ùeÒ8BXË~Wƒ83ÑÕ†xÑJÑ{O;Ü4â|ŒÖ(c"+‚™&ìš–ýí ëÕ1N(P×´h-ý„Š3Žœ³Ùnhê ‘ŽÈÒ (‰ñ–—>ôU¼ýƧ)UÄññ1Ož¼ÃO}ìµ°Z®ùýê/}Þ "?ý›ûCágøÛ»o¾ÎÔ´ŒMK'DRÐî¶€9T¦…¤½«v#XH®.Þåúâ‚0†±?T´£ˆ¼*ÉÊ GXï©ï¶dqB¬bò4A*‡Ä£UÀ‡Ãœ¨8«˜¬£n÷Ü<»D Á¬¬˜†;M,f+”Œ:ÆÁ4Äóߺ=Ö„ó\¼õcÛ DÀY‡@2Ž#]w‘br°ÛuL£#Ï &;.…Ù×l//¹~û3DcO4̳‚`=§ëSΖGd(^zpίŠÇï¼Eš¸Ñ3´¯|àƒ$ILšiÚ¶!É ´Ô4õåáîú†Ù|N^U‡ê»:1€EÄÐt¸ÉBtuƒDT·ÕŒÉY®®Ÿ #Íüä„Ýí ýnÃéñ‚³L]C°†²()²’¡©ÙÝ\¢$hÓÄrvÄh=åò„$_ƒ¹»»e±ZstzÆÝæ†`¦ç.œåçì;?ïW;«ß·ýèùÚð‘ßýÕ÷Ö³Z±ßïI£ë¼¥PXg±Ã€dt26 q4ûš"ËéÆ3YvÛ;ƶ¡* ÌØƒ5¤YI’j>'JsdÓõ5R>yr;ôD‘f·¹E:ƒÄá½Aêç=m×qöÂ#Fcð¬±ÅŒ(ÎH’Šb¶ Þíµ” 4ý0P%y^2#Sß¡¤$„@pe%Æ:¼”8ç(Ëœnè‘"`Ç 7xëpÞ⣩w Èš³R²½~Šó°\¯ÙîZ¼ü~®onèvwØ©'Mc„çÛ»â4c6_ÒÔ[öw·o 6鄱ëˆâ)œ›PJ¡tÂl}ŠÐ’®¹#cšÉ8üØ£`*JÉŠ%iVQU‹ÃÀD­iš=qš¡£”¢ZP,xééLæ¾![œ¿ü ][sóô }½%Ršªª˜Æ©ßð¯þ ÿú¯ùç?þ·éù‹_ÔÄøñ~](’Œ8‰ Þa¬!+r¤€HH†a ,Kœ;´ŽFúPõµÎcŒ!K³C-#V$IÎ4Y‚÷x@H”ŽpÁã¼CP ö»-Cß±ß^#œA uP®:KNœG¢B?tÙi)ºãóå7¦É0_,i»ŽtV‘–3ÊÕ’ºÝƒðØÑ&éó„@z¨kL„<&-KV''ØÑ <Äi‚;bG IDATˆ"®®.hoŸÑn®™Ú†~·ãêéNÎ0š‘f·aš *Έ‹’8MI´f¾ñ÷þ‹ÿƒÿú¿òñ¿õ‹ÿ/~QÅÿÕ÷üá E`œ,õ¶FM¥xã¦=ÕlFR–t“! ÑQ‚s%%H±$&FHOI‚wDJ³Z.©ë=0fÄÚœ ntHåQIB‘DQʾºÞÐ5E¹8h—â ¥NÎ×캆"ÏÙÞ>#4]½£Ì3l³Ã¤ I–‘8Ãv·aì6ŸzŒŽSŠù˜þ0—Ö/àÉ›O9>~Àry‚Ž"Њ´,š†i˜ÈÒ‚¦ézž©Ÿ¨Š}rŽõ$ƒ´}°ûfÇ4N(­QJÒµ{Tœ³¹¹¥X”$Eiv;âƒ#…µë ›Ýv²,+¬3h¥ë¼'pþ\dJhÖǧlÚ–Íæúù†à¨ª’a°¬ÖKÐ i5gWoh_œGx¸ó)¤Vœ?¤(+?y3õ˜fD'Iž!x7òîg~“g1ó5Á "f˯ÿæoF³Å’,)˜-OøÕÿî? ÙâˆÿËÿ†ø‚&ÆO×k!M3|ðtíÀb5£é:sXÖNDZ#„¤ífó]ݱX-éÚÃ(É´œ35["cÌ€7!%íØ"”¤¨J†¾£LÒ4E')j6Gˆ€GáìBR”sâ8e·iq!§š¯)çsÚÑp±½a[®ïnØßÞRå1«E‰CÒ5 ™™ÀJªjÁ³ýÛh!È’òà^ ãá©ñÈCz9J9:zpHÃÖ[DœCãB“¬V˜gç'l®Ÿ¡…¦ZŸ ãˆø«¿Âr>ÄŽåú˜®®A*&ïéûÓ6(©9:{Än·%Ðà§ÈßO$cP)Á{BˆXð¯úçx|ñ˜ÌM€-H’ Ó¤ùÁyb• ¤Æ{‡ˆ#Œ3ŒÃo-e¹ÀeUÃ0 “ç-—O^ÇÛ‰,N°€‚# Ázn.Þ"}åê͆‡'ç\7–õÑ’í~ nbržårÎ³Ë ¶›[Êùo=yµäòê)EQ⺆±m@ÿômÂæšW¿ü«ùµ¿÷3á+ÏGþ©“ãsþ€_ü?Ʊc´†íí†õñ wWWÌ×+zo°ƒAAEôýÈ|yJ’jt–©˜¤,Øïï(ÊŠÑ5Á8Ú݆~¿!àɲü0Ö2Žˆãù¼w‡¡i~¸ë®«‰µÂ†ˆ(MÁÇG4Äqûý–vw‡ Ó0«£a¹¬x¬°AòÒû?Àænˬ*¹~ú„,O¹|ò˜ª¨èÆž$Kºé0£©¨ˆôÁCí­;ÈÅ»7M{yÁ|¾ Z,) ~ý×~ÍÓwYÍg˜~<Ä[:á*}ÓÌH^”¬ON¹ÝnI’c§gh†žÍõZ€Š³ã5ÏxЏ`{wK–«û»[ÚÍŽ¢Ê1Ö1Mq>cuò€ºÙbÇoFT’ròèUt’Ñw í~C¢Ö‚‡åêˆàÖZÊj†Š%o¿ù[Ì–K’bA^®ˆbM»Û0›U´MÇæêšÙ✸ÌÍ–EY0#.xž¼óYÒH³Ýê->x’´@hÉòôŽNO¹}vÍîú–ëÛ¿_|AãçþÊw„<‰1v" xòô‚ãã#®..˜•9ý8a#ŽRò¼"+f¨¼ ÍS¼5”Õ‘ç¡kšÍ-R«Cå6X<ò°»›‰®«Ib…ÄÇ }ßã­£ïfUN× ¬Ð‹õ‚«g—¬–k¬›°ãÄ~³a6[1š']ÛË”ªªT¢Øíö¤IÆ<ÞI¼qyÂ0ŽOÏèÃÄõå%‹Åšª¨¸ºzB}ýŒ"OþqÒ0ŽúºF=7UЂÅrÁhÌ¡qÁ×?Än¿k(ª’›Í »Û;´‡4KHó’®í‰£˜í憳gDEÆõ“wqãô|ÐÜÁ­Š²+ Ïs´ÔXHª6ö·×(JJ¼3€ œ­PÑaZcpï‚é§´Z‘¤›Í5iž¢…b±:"­Žãââ b,ÍöŠXGTË%R*®./ÑB¢dBÓÔo¨Ê‚)N¾È»ï¾Á‹^@Ɉý~Çïÿ–ïIbüÂßøÞ@°Ï/I‰Ð‘fß쨟7Ý4Rh”Œ]K^.È–kd’1vÓ¡]ÒM”ó#ŽÞÿ>>õëÿÊ&W©À4tqÈây㉔F*E7ìþ~^|C­ñ! âˆà,ÛÝ-SÓÒ7=³å3´ 4MMVæômwÐ#ûÝŽÅj‰ó–É8Ò¼$N ’X14 q–’Þ|ýÓzòb†Î*¦)p|vÂïúÈçNÁûOôCÿýßøx(ª9EµàÙå%8‡‚Ét m½gè;’8ÃÚpâÆ )4]ß"¤d¾š“Ý~OY-yôeæ7þáÿF,=frìö[")I¢˜4+0Ö.bGŠrƾÙ"ƒ'Mb&ëX`xkA..Þ" ‚D'qóìâ óªBꈶޓe:й¹¾æèøìêýaSV`Cª€³eQ1¶‹ùšbµ¦nöÜ^¾Kß5(©2¼!<ïÕèꥤq†÷’$Ï!¸ºzJ•͈ãë")¨Ê‚§ï¼‰ð ¢79tš$1>¤€¡€€Žbâ´Àx÷|ÜOÄ8MX;Qßm^nYŠ£ç£Fú~bu|J—ï9:9áúò1q”³ßÝÑÕ7 SÇb}B ”Â9KW×äÏ ÆqÄ<ß´’4GjÍÐÔÕl†P”f·Ù0_.XŸÑ5-å| žÝæFÃÉÉ1£?ˆ*­(ŠŒÛë †¶¡(Kú¡GHqЦ¥³Õ1REøa@È@‘§Œ“= œ:ŽŽÎ0Þñ5èωÏkðýwþò·„qh™ÌÄh&ÎÎϹ¾zzðqã‚íæ–(Iˆ“’àQØàHò ïÊH­‰E„Gâ(:øõÀ”‚ýnC’d”±FO³½£H3¤ôãDœ$(³<:ew“™Hšv‡Š¼œ!‡Eö¼¨%¤yqxáš«(>ÜÅf ÆN¤yFEHû݆ªÌq“c»Ý’%BF«SD*i·^{B$Á3C³ßqttD×õàÖôtÃH”U¤eN; LM‡Ó §<¦ïÙìv$/¿€Œb’Áxâ4¢˜ÄqvH][ƒÒ=Z ‚çY«$ÖéñvÂôe9#Î*Ò4G©CÊ8MbŽ”DÕŒ µœ™ˆOŽqÃÀ‹¾œÇo¿Ž½¹%Qú¼ Ëi‰µµ†(ʰNàEŠ·¡+fUNð†$Í©KªrÎ0vxgˆó •D|öS¿Á—ÅWá‚ Í*Gf' 7פóŠtèYŸóôÝ NOϹºº!M#ÌÔ24wØ ˜U „÷´ÃHžØ2b·¯™•3~ñ¯<eοôMZü¶ž¿ðŸû»[Š4c4>x‚µ,PV võŽ4IðÆÑîëC;¤÷ÄIÄÍÝ5I¤»Û`HŠ‚}]3Õ5U1ãÁ£WXžŸñî“·Ø^^B cŠ"Ë Aç)Ö:¦q ËK‚ð ]Íh&†®g1ËÙí÷¤åœÅlIßìPRÐõ-Þ8Dƒ„©Ý#•0fè™ÍJ¬³$qN’(-pÌØ"‚¡H’‚£‚R‡X›=f8\:©„Àü_´½I¨®kŸÞõ»Û§›õ®µöÚûìó5U•J…Ø‚±Òh¤Ò˜F’`¬@ DPÎq´3ˆàPâ(èP!Eqà :1àÀTb‘¤ ¿úÎw¾fŸ³÷jßö韻qp¯ "At¾xYïËóÜ÷¿¹®ß5tç–ºz5*µ ¯©«Šj{Å—ÓiÉŠŒõºa¸´Œ—3e]3L=Û«];ƒ#ËslQsuó¤`Y"—öÌØŸ S‡’m3$Ðö=Ë8¦]Ç4a¬EKµÞ±»}ÇÏOÌmKwÚS!ʲBiËÏÿî–çÇO<|óînÞ1NŽn •¦^Õt—uYóÕW?@ ÈLF÷Ûƒ‘yÁ/có<óö‹/iûŽëë7ÌóHfr)h3ø×ÑòÔS%1Dlfð!ÐÚËÄjµ&°V1ϼ8þÈ¿ûWÅÿ¯/Æÿú·þ³8NýñÈØžAQׯӠÜÞ}‡nFPçí¥£YmYß¼åþþ>ýô‡˜à¾r^˜‡5ÀËÕÛ·ìÞÝñÕ‹&+èÎ-Á{´µT«-J*²Ò²ŒÞ/¬·;¦¥çÓÇŸ°ZmYf‡Æs>î)ªm,çË …`[Îç–_üÝÿ ?øáoñþÍ“_˜º©Àd–ah‘HVUÍå2p}÷—q$,3*¤yýÝ—ß%ZÅùøH{:p9É‹"Qʧ?ì12é·ª2IÆ•ÔØ¢"«×{š²æùñ‰²)ˆxÂ2’fuÅ4OD7â|äjwÃ4-¬¶×/VuÃñ|Â9y^0^N¸±eœ'Š¢f¸ô\N/¥±*Ãä–Õæš|³ááøB{z¦T–ÌdHnèAG¤ 4ÂdÔë5óâøâí{î?æéþe¦!zª¦ÁÚ‚‡ûGæ±§©JlV°ÞìˆÚ°?Ÿè§1Y´fwû“åŒÃ@>°L-ÿú"æi¡ÌkBc4mwâéámàÝûïÐM6–ª¬qÓŒŠaš¹Þn‘E†Ô?{¦qÄÍž,K/žÉ ÞÁf{Å¿ôçþ=ñÿy)õßÿ§ÿA Îs¼¿gµ»¡xó†ûÅQæÎ%’5(EÛ¶4Íš—Ã3«rMžGä«?YÍ›·_à.ý0PoÆçGŒ–´ç–íÕŽHàr9¡Q ýÀ›»wÌ‹gœ:?$¸y{K½ÚPæW¯ð圲Z!¥d^&D¦©Ö›„ž™f‚K7@qõ†juKX ßûâñ~¤Ì,°6ýÀÓÖJ‚ÒìÞ~A^7¼÷°LdeEµÞ5<߯BäøøÀÕî <T)Ýh3Ææ ÒZ„Päy…Б¼Îð~àQBá—‰óþ‘eYÐ&§l®PvÅïn¨Ö åiÍáùô—3íá‘©ëhŠ‚\¦¡G«ˆ–©t¬v7\ß½c ž—ã3óåÄíÕ-Æœ1 dÎ2)‰ÎaMÎx:³½½áùá™H@DB€yšØ]¿E C{9Ræ–l½æáñ™á|BŠtS„ /GÚ³@IMsuÅù Ñ3/sJ—Zz&-É‹†¶= d»Ûr:½ðøxOUmJãæÀqê¨ò i ·ovdMÁóË "„à¨òç¤ÒHHœ[ñwÿÛ¿ûgþð_þþ‰_ÿGIÈßþ/þZÇ)Þ/Lã„5yž¥ÓÙfŒÓ„[fæi¡( º¡£¨Jºó­$R+ªõQ †®ãöݬn®y9¾ ¤a»¹!²©5Þ-t§=uÝ,nB(EY¯RóòøÀçŸý„ãñ€-2´T¬ÖÛ4õñ +K2›1 #usEµÚ^³ì”Ö\¿}ËÝ/þnž¨W6ϧ!õRa”¥ª×œ/–±見© }waê/7ã–TS:œ0:ãðü˜äïÍ?Gv7o Jò¬áíw~ž·ßý>ûãà",X%iŒ2UÍz{…Î,¶.YâÈÃÓ·ø¸}ÿ]–˜æ‘±í1ˆ€(MYÖˆèJ°¾zCsµå2utçS{a½ZáÝÌ<·h­QÊ‚g\RI*uÆ0O˜Ì²Þ\…Ä-Ë<`lN½½FHÃÇ?¡¬3´±¥¸¿ÿ?‘Hž—i(›ã4Qä9Cw"W†¾;ПàZ(Æî„Ô71ö-nšRªÔÐJ‚Ù{ꪢlšëkÎÝ™ÃãKA¹™&³œÏh%x¸¿'×F†a`p#eÓ`´æOý+ÿ̇_ýc¿ÿÃõ?þ¿úÿêÆøïþú‹<õ›s>ŸqÓÌqÿÈj³eu³eò)Ú®'†D©‹¼!ßþôÇ@ds÷Ž'ï¸t§dÛÌk^Ο‘Dúed[Þâ]$D(«†,ÏñÁ§RJKÜâxóö-&ˈ10g>þà"”¡Ù^óå÷Û4Ÿ™û%B¦éD×;¤ˆéæ¨,Ÿ¾ùšïV9ßý…ïóùãO‹£(j [ÒR).íEDE‡Ð )%!D¤’ÈÌ—™°,ô]Ïz³ãÜvdeÒÐõ=«y¤j¶ÑlÞp÷þ;ˆ"ãÇ?þˆÐ¹-膑É-¸¨™O÷t`»½"È…þxˆ% ýs`u½ærzAªD`ÏóœýéÈÍꊨª\QÉkÞ¶/„qn¦,ò¤³2INâ]@HÇËãMSq>]¸}ûã÷?møþ/þOŸ¿MʪbœzšfËvûKüô§_qw÷–®ë0BmAµÙ°Ì„H!8^Ι‚<µR<<üŒUݤ"Ï Îœ/‰®Þ_¸Ôyžn‘V'¦p^Ѓ, t‘ó³?"tšªÀV%yVòòô€6Š~èÉë/#*ׄ~bngއMÕ ÒhþÎßüëñðô™?ñWþcñOtcü7ÿÉ_‰ùÏüʇ¬Èùög?¦È RÈtEII®3dLøG£ (Msµ%DÈ«†|Ucò ?#• jž(›k,J¦!mI¥Pin2NçZ)¤ÐØÜp8<2-Z&Œ¾¶!$yUPÕ%nž(²œiš9î÷{´V¼ýâK”Íç©$}×!¼GÈôðÍK"ŽcOݬ)ªšyî©Ë £“ÖGw¹PŠÀîê eË<1M.Hɧ¤¦ï:òÜÒ4 —ã…¤È+¤ÎyóþçÉ›šÅO|óñ+>~õ0x¤ÒdeM³^£³Œeìnäj·fê;ÆÓ ÑM¨RD¢ˆl¯ox|xB«ˆµŠyZÐ""„âý?Ç©í¨ê‚iN™cß_Ñ6ÏÉŒE" :žŸyûö †Ù³»}KßMäYÎÐ x?#¤ÂÏj³AtZBã£`YfÚÓžíîše \¿}Ïá¸çþãÏhª’ãþ‰¢lØn®9ì_0BÐÏ(­”†‡Oߢ•¢^­¹œÎ"ZjtQQ¯·Ø8TT¼ì÷¬®®ÂÐ].X«Ù¿<±^_çt"² „¦ï[òÌpx|DÁ»÷¿7±ÙÞ"¤¢¿\ú©—ËÀjwMT’ÇûoÉ­¥ÌkfR±¸Àn³c‡¤jÎÓB1ËJêzÍ8/yÃé’AÕºF(ÉóÓ=bž næ/ýé?òáßÿwþ‡ÿüoþÿ—Dý—þJ¼½{Gð¼(°ÅŠªY#Dç(Ê&•‹{MѬJ¢sKfs”ʲ"ãr:!GžÉ{lÒ<*Î3î?ßóüôÌùðÈóÓgö‡#18®®·\ÎÖë ãCV >óc¬týÈúêšãñ…_ý£¿÷ßü}ÿô‡¿õ?ÿÚ_PéßüÔÕTëšÓåD?ttCO’bµ"*Áfwƒ-&·Ð^N„ybšLn Á%4Œ”XmÑF±¼„œ.ž¿åùóGÄ2!疛͆õfË2™á|:rs³£íÎ cš@åyAžç´í%uònK…-Цâáñ3ˆˆž0õXe˜Ç$}îú–—äOŒ)TR¢P´Œ ¨T“&ôþi BË”¡=t¨à‘Á£¥Dª¤×ʲùZB }Jlò¢âør`Ý$¯Ã/ýž_Æ4%íØ2»‰îr@»7N”eÉ<Î{Ú®E+‘F¯CÇ4ô„)¥©fyZB7/¯ýBiùJ&,AEò¼b}õUdœŽ<|üŠRDšªažg<°^m)š iêï#Y‘Óö–i@ÇjµFHÅËË y^à~{„\¯X–«BàÇ8öUÎépDKV©ý¶*Ùæqb»Û±,ËéHf ´–LóDð‘jµa<·ÄÐR1MÓ8S5kÖ·o˜ãÓODf$Æ8ðˈŸÒâTÉœ¾ë "ÐõgÎ/Lí‰eHÐk7Žœö/dV1 =RHšÕšÓËK²/X…ó ~žÚ Ó0òÿäøðçå÷}Pÿöýý.݈Všèfæ®GIÁñðÂééžñ|äôò "Ðu=onßRovŒÓˆ•p||b™†tªÉ,~qômËãý·Ìç•6X)©Ë Uh“q}{ËâfÜ8¢¤fšg´V´‡#¹Éè/'Æa`µ¹föÉjyµ»™§ "8ºã!y˜/'Ê¢Di‹É Ó42ôeVP%.FLYR4+LV‘འµ!/*ÚîÂq¿G‘äØˆ¤ÐùæjË"WwwhS|šÂhcÈËe-Á{nß½EZøôí¨LFnsÚS‹Í’; EB,-\ß¼¥ud˜ÆŽ"ÏQ&CšŒççgnoß ­eqÉ„”—y³J%Pô¬·;‘²*8==¥MJ°’"xæa (6¨²¤ë/”U_ß~óS²¼&kVøè¹\^È$¸©,ý¹§(Jªf áU¾Ÿ• ,^FŒ²(¥¹ÿæV« E–ç ã€÷•çI„h Æ–yÆ/#Y^R¬vROW– Õú–²jX–Žº®™–…ýÃgn·Û´ks¶ÛÆZ„µ¬v;ŽÇ§çGŒÒhiðË«¤>ª²dYf2kPZ§ÿIKæq 1ECÈÑ€[&´pdF ~õßøƒ¼¤®çgrmXU YQ¢´bê'ÂhûŽHàî‹w¸E]cM†R8Ÿ"ƒ È îÞ¾C ÉÕîSÔ ãDYU|þüëõ5E³A™œÃñ…ívÅ×_•ú—˜(ÝùL‘iBHèœe γô=ÎM€#z‡R •D[C? }Rã*cÑFãÆ–ÏHya žõf‡¶i¡­ñ.—3ó8§Ym“µ³¿ ˆ8ç8#4› þ·U×aÁÍ#1xÜ4¡¤ÂGóç#m×¢þü¿þ/ˆ!`LNQT HµydœÚt£Q–EHÞfexz~ä¼$³9Vjž>³L Ô%edž.Ç#U]SÔË<3ŽZF>}ü D1`Lj¾†Ë…º¬qÎãÆ™²nÐ&K/¤ˆtC‹)‹;ú²-´IŸãfV«-õjÅÓóÑ{ 2ÏUY¢TÆöí{^ö{¬ÑYE‚¼¬ RpnLcGt3eY²xŸ°ý˔Լ!$|d6£=ì9_¸½{ËÔ4EŽ_zŒ–(¥™úAL^‘¬Ä¨’ªÚR_]%HØ"ãå¸ÇMß|ûbH›$¬7+´5H™ú‰Ý»÷4_|É0žúv˜æyž°Z±,ŽiN4ÄýãžU³Ã#™¦9)ß•AšŒõÕ–ýñ™±¿ •æææB kG6«LÙp÷þ{lnv|õ[¿I¦áëÿãGlW[¬ÍY¢G©´)Ÿ¦k-™ÍpnÄÍ-»Û[Žç B²²b÷î-‹ à"…–-ѶfóîKL•óë¿ö¿àú–›Û;”ˆmÉ‹TîNc1•>°nJÃp¢;îYº Ë£í.,K`suÍ0v87±{óUX~ã7þBJò²dèZ®nn˜¼'«*6W;L^’YË0td6g½Ýñù›oʲ¦=ž¸\.¬×[¶»k?‹‘ÙyvwïÀH¾úÁo Ü’¦‘ÓÄÐöHabœ&bpH"~YHšõ†ýè0àe™Ó¶gæ®…èÓ.ÄXfȳ©M*ý—™¬PD/0Z'°õù̸iDJdƒ"â•6¨?ò{~çcr ! Ö†¡E„¢g–q¤= Æyze*ê2GAq>%U­›Çöû=]›¼Ãï¾xÏá刟Vë-BIöç´·°ZoYúžÅ\H'½‹]È̲Ù]¡Œåt<"B@ ‰–’H@+ð΢ÇHMÛRã]d ý@QäøÅ¡­a{{GŽÏOeI½Y3LËØ3 ýùDU4ˆ(°Æ h)ña¦{ʲz­Û=Þ9–eær9S5C{ÁÍ#a™x~| _­Øî®9Ž”Eqè(Ë™UäEIר2gûæ–‡§'ʪ&Ë ‡gòLbŒa¿fÕlÈV J)N§#í)v™1,‹§\íˆ ²\3v=Öf©aõcJe(cqËŒ-KºaHŠÕ%0ö=Zk®¶;Œ¶dyÉüuÚ©ôÃåÁ¥ÉO·çüüÀ§Ï&GQ¦ï!µ¥¨j/”Xc¹Ú]¡4øEY3O3M³as}ËàÚöÂéù‰¦¨9÷ŒÝ…¾;c!¸ïŠ2©h}ð˜ÄˆÑ“Y‹- œOÖO… ¿ÑQ] Ë2†i!sªÕŽÍíÌæŠË21û…K×Ò¬¤’TyAºp|yæ»?÷½”h`u÷†¡›°ZED)É8ÏÌcz°œŸðÓH9óðñk¾ýÉ×I솠¬¶×wT««´CFOY–H¥ºŽà'iKˆu‰ЬJ¦$m,§ýÝe›F†iÀÍežÑÏ ›íi3ª¢"(Ãô°Úì8µ' “H)ÈŒÅ;‡‰©Ï'N/X¥)Ê”Áš ]dÌ.¤«] žîØ]ßR7 ç—=eQ"dà¸ß³ÚÜ`´f'®v7„xyüDXzTôˆÈ‹  }‹ÕFZÆi&3ç]jdçH×]¨V5:+}™¨Št#w}ÖWoߣ²Œo~úcnwWœöé€$É<êªNˆÐebZ^ïOS×,ÁñòüB^TLSµu³bXf´4(£èOµÝpÿðÀóÃgŠÜ&JÊxæøôÀ2u¬×[¼_1©BŒX›1‡4diOgr­ D2«™Ú7NäUõŠb™aìZ–i¦^¯hV5RBð‘eNú­þÒ£²©³„kÊ3ò¢@ØŒõõÔŸþCÿÜœÎ;Äëƒ瑪.‘Êâc@ ™ŸJš®EjE7v\Ú3!Œ<~ó¡0Róé›OŒCËço˜ÃŒ²–óé‚Î*ç#Á¹ôc.KRyFIˆ¯ ¨1"…¢ïg¾ÿ½_¹ˆxÕ ‘„ˆ]wáî‹;²¼ÀšŒ¾ïJ3. Cß²ŒZÙ„—Œº¬èN²,ÅvsGwÙ³L‰Àc`îzÊ<#ˆÈÔ§¥—aHÔ’àû.Å ÔÚÓñtf™fʪD p~BjE³jPJ •"ÏÓ¨qrF'wßì7r9½¦ c ESÑO#þo³x—ܦRÓ¬·”Û-/ûÎÏ÷X¥P°àéû´)×Ê"dÆ¥ùâý—8%ؽÿ’ã¹ÅÇÈóý'ʲÂùÁSäó²0/y‘–øÁoþ:MaéÛŽ¦¬9íXS¤J#xæqD¸À2õHï‰ÓBÛudy‰i4^€s)$YžSäe“ó~ý×(•¢=´4«†¾k_ ‘ -%V+«­uè:„„%øÈÒ§œ”¼,QR‘iÇ2x÷å÷§Že°:)+–eBMU×ø †31F2k@jÊ2CiMˆbÄKžh«Qî÷ÿó| ìnoÆ1am¬&„@‰6Wפ¶ŒC[&®owˆàûÂZž>±Û^±ø6Mxr©1h”t]KUfx7óÍW¿•ôú»ÊfižìÞ9Dhi©‹*ÉI¤ÀMcJIm;¬µäÖòùÛoØ¿¸}÷%EYa¬Å¹4'1¢•dž¬ÍXfO™Í4ìŸïñÃ>¼Ç/É0SæRªÕ–i™QB°]¯RSh,yi9N\]ß&~íГ“[|©“¶gžGî?!¢ãx<еG†öH{:£Ä-!B¦20¸yó–Ãq›&´ÔlÊ5RJVW×ôKŸ(áRОö(é9_NŒÓHž¥›av#ÝùÁ3ORÄ”‹·áf{MßžÉËŠ¾Y¯W Ó@–'Õ‚R†õՎɆ®ãz»ï%ÅÍH©RTYUqx>`ež&0Õ–~LÕÿXW—eù«ÝÝPV5“›8¼Ü3w)¹jž'©¿`´bè/ÔÍ ¡5Á;¢OåRƒH Þ¾m!D¤h›£óe3òºaqK‚4¸”«XT5u³!ø…ËéÈjµfÜ8$NXQq øà¤´  ‹÷ôí„ú³ø—?ØjÍËéœD\Æ&%éâ(ò”£pûæ;dÍitÚøêä/®Ê†<ϱY*%Òß'hÁoO¸Š¢d½Ý¤¤{„÷dyͪÞñ|xaè;îÞ½Çû´ÑusÒñxaÈëŠãy¡Õ+”Ù³L¥3Ö××üæoþ:RE6WW”EÉ4Ä8ã}$eÕ µ¢ÞlYÜÈùðÓ„`2…[fƾ!(Ë ©R% g9R•i!¹ÙÞ ¢¤k/<ß?p÷þ{\ú"…Öx7ã‚#·ö—³0õCжQ–º¹"+F/)VWŒ³cŒÌÎ!µÅ/3RDŠ<'+Kd™ Ô}—4_Ïå°O'³).ÍG”Ò¸ÉáæEà|z¦Îk‰nî¾iÑFâÜDžî?ÿŒÒæÌãD¹ÞP¯Ö|óíOÉŒä|z!_­Ç2NÉ\—´ç–ª,¸º¹yDëqI¥¤Ñ)'<$I¾Tm-ʺK‹˜'¬D&ψ~ahê¢`Zª¦¢(S|Ô*E¬ …)™ ‹²5åz-* [×eÍ2€cžg2«™§‰ªÙ •%&/hV+<k §ã)%R(„ˆI¬Fú3ð_ø0Œaì(Ë‚išiªG uµÂf›ÛžöÏ4õ*ah„@Úä'6&£:d ,SGˆ‚z½ÆÍJj´-ˆZ³ßïY¦…ÕæŠÝÝ Ó2Óž÷ÉqWT(eñB0/ 6+(›Šež˜ÇîÕÐ#X Ï‘"Ñ7®ï¾à§?þ-ž?$†Èí»÷ø‡Ãu½F`Ùܼ!jA×ËLa_ý"Y*Ç9Ñǧ©ghOdÆb³$îú‰/îwrÿ¼gñ!a0—™îrá‹ï|‡Å;²¼`‰!@P†a™‰1¢³X£Dº¦yÂO‘)ÆË9}£)Š£-Ó¸`I‡H ´í?ucû §Ó3C—àgó²ƒÃ»™ù«O»®›„Õ”ŠÕö&M’vW ]q&ʘÒ_mÆâoîÞs>éÏ¢_ðËŒ[f”ÂÂ2uiÞ¯4u³&¤ï{9ÐBCH5¼[’š×h‹w!ힸ¹½M½ã2³L3F¦q¤iJç0ÖPU)&!·9>8\? ¢$Š' µÁÍ EU¡ógºÓ ——dœ)òœ€Âd5EuÎ׬w·Ø¦b{w‡ÔRK¬6ŒCË0 ¬·×,nI¥Ó ÔŸÿ£¿÷ƒQš"Ëñ!鋤±¯W"Œ]²²a{}Íé|H1¾Úà–™f³¦ë²üõM—1ÕÆ&ÃO½Ú0L#JI´ÐïÙ]ߦC.—#c;е)!¨(rÆq%)Êï<Ë41»´hÔZ¾zÈ-cwæv·ãîöŽóË ÇÇÎÇ#woßÓ FeTu. /Oß&¿@€²Z$œN¤–xȳ!’çÂf‰ß:O YVà—XYnaìûÄU¤ÔÔÍ =~“ÇZ&øôåô’l³B „ Ïr¦ñµ4\ ÈK¦y„Ѥ—H ÜÒaŒ =Ñcs‹2:Yb«5“‹kÓo4y”´¬¶W¬¯v<Ü&øT"ÕfÃöö-1¤˜ãQ¤xY6è¢æpxâ|xfU¯ðÓÌØ^P€ÑY<*Kôž¢L:ª<³Éãîú5”GiÅâGæqd}µEEž‰„2/l·· sLœJ‡k?tÔU…IdTNQÕù ) Ó8 iâ¹8¤ÔäEÆØÎ{ª²Àf9FB© çó@³½¡Ú]c×5÷ŸùßÿÞ¯±]oxÞïJ²,>=¯BpìŸ_X55!B¨?þûþ©Ó8!„D)‹@sn{ò,ÇO«í´Æ-ž«Û7ô] Ä{‡ôc2¤NÍN2+ñª!Z1.¯)=—ž¦¬1YÁ¹Ø^íx~¸Ç ÁØž™ºŽëÛÎÇ ×»ë4vÌ Ÿî™Ç‘M½b\fœ›¸œö™˜Ó)mI½Þ2/ ÈV55}waì»”ç 4u½bñ3/Ï%‰"&p™w„eLåÊ2cŒEÛ7§F¥,ËXívèÜ0Ž#~v4«u"‰Ç‰óá 7ÎHJEðŽîxÞO(mÙlv„ÍÕî6ÉWºk ¸å=U•“g†¢Ì*c™g¦öÂjݰ¼æK“a³œýþ…²,“Á'—|!ÚhNÇJ%às>yë_Á˲ £JBË™º–„eà´Äf†f½âðüDw9QTÍnÇÕÝ5.t<|þ1Îõ^ž0Êgã0¢Db{åeƒ-j–eLžôÖ(“óåÏý"÷/Ï<~û‘îpäîú™–<}þMS TÊ,ú P2£¬ msÔ_øãèƒï}z˜m†BRÖ5!$Yó8¦["³9Êê´íTɼ2/3ÍzMV”IÚ«"ñU6°¼6`õfÍäÓw÷î ¤Rb…ÁÏsÂß9X¦‘©¿`Mʬú£m¢é)Å4(ARÓZËâ&–i¡È+ªÕ*);ÝŒ’‘iꆎyN¡ïH…Ñ%n±FaMÚz†QŠºÀmßã|¢+æ™e{õÓl†iàêú†ËØòüô™Íz Hœ'Mcøÿý%E WMMÙ !%}Æ…€Ö#5Ó0QY2ݘúá5LSó|ÿÀf½EJPŠqš±Vq|~ÆcbrE‡V)!DæÅsî&¶»[¤ÌKGð+%ßüøkÊL“K×öDï(ªnñ4«5»›[Pp:¾ÐŽT…ahÓ)Û÷=H‰”#Q¥‰•±š¡MX"›e8ï Áa‹%FIÚó ¥$Ó2"%Ôë¶\³º¾âg_ÿ(ÅP›™˜Ûž©Ÿ(êuò†ÌÓ8•DÛ$D!`¡Þ¼auûŽ—ó™þtdiÞÜì®Ç- )´,F[).bG”14Mƒ÷ŽcB¸z‡ú‹â}0¶d}uCVÖIº­3´ÊÒ)[BQ²*gZŽû}R’Ë0 R€Ñ)K*Åì'¼Æti´¶LÓÈÙJá—qJ:y#AˤFú mÒ65,žÜäh›ò쬵Ö2ÆHPŠe™ð1ÙQ¥ˆ˜Lác|ð ,ŠD+œ”!™-Q2CJEYVŒã€’iˆËBS7«5o¾ÿ}œ*øæá3óìÑÆðüð‘Ò(!ÙŸäyŠNF ŒMvש!LH°xÇîæ §ã<ÏÑÞ-›áÑ\¿û’~Lû·ÂÚD–/ æe@ký?yz³^Ë’ô<µbÍkOgÊ“YU]Ý]Í&hÊ“@Bž A Y´/lÑÃÿÀÿ!ÿ™ïlÀ0 ‹¢Äª»*ç3íyÍ+_Äf_g™uÎÞkE|ßû>OV†…!–HÅLÓÌt©:dYîŒ"`œ"%Qÿæ_þÓ·q_YUB¬©–kªõ†j¹¤oÛK²¶À_ÚVq¬°Ó„0ÞŒ$Iès’·3‘ˆ‘R³¹yEÛ„×5æ±ÁNSßc¦®mˆc…Ö H…J5Y‘“ÄxC¹¬‘IŠ” gg²L£cNsðîí¬%5Ï<g†÷¼'’1Wëkº¡AÇá„Aï!M3â8'Í ¢H’ëaI^s÷Íw<½û‘,MÐiF^ä[ú¡EÄi¹Ä A¤ã@Hô0[yƒ¬qÌÆR/jÎíõ7ÿꟼ=î·tMK³x“Ó~Ën÷Bš”‹8>¸U½ Ö}߆€—ÚÓž8V¬6WŒóˆ™$>ÚeèIïqÂ2‘P33#YV!dD”„y³óŽq¶•‚ e—æ¼gèš wŸ'Æ9|Ñ­Ó ´¿Üu¼÷ cÏÜ÷è(AÇÄÜ5-iž#c…wéBH²X]qu÷ ¼#Õ¡Q¶~õšÅ«oxÜ=òòåGä8r³¼"+Kò< Fc˜ºŽ<«°Î“ä!"â|Ø1ÄZs>œI’ŒõÕ5ý8ОÒËÏdì[À…Ú© ¢Í$M1Þ!¥`žg†q¢^]~ª*h»–º®Çg:²´À9O‘×x‘³ºyMºXÐÏ-Ó`æ™,Ñ¡¿¡"êª"+k¶§Ms`½YÉŒŒû–$Õ }{é”Ë’ûŸ¼!Ò1YªIt„µPæ5C?0]üë*IiÏ-i’…;H׆<“NÑYAµZñã»ßP¥á ”Æ)Æ ®î__zãõªâû߀pòîÁ9ÆV› ’aèpã@ZÔĉ¦ë;²,ûˆ$÷17{ÊzIV,Ùn·LSO¬ÂKò"Çy‡µ=f˜Pý—ÿä­R1iš‘%)EU“•¡ù´}~ÀN#*¤EÌ»ßÿ†æ¸§ÌC²¡/êEókz`Œ ¢x%y~~ çæq`lOÄ€›gÒ4 ^YUÐ#Ñ…HᆠD:¦iºs`Æ2¸’$át:†¡LÖ“¤ ûý¯¿ý)//Oárm (W,V×|úðž²ÈɲŠ4­Y_ßãUÀ¹;¤PdÕ©sÊ͆çíûçÏlê% ÐfÃh9O˜çëY–§š$‹™‡6lÒÁ΋ł².æíö‘åb³gõjÅ4‡-ïØXÚ‚B*ŒµàeµY&¥H“<ð€SM3´QFqŠR(Í«¯¾áaûÄ¢^r>È“„©ïItLš/PQ‚±3yœb&C–e8¥@Åá!O ¤ŠB0Œ¯î^1Ϋ«« ôÂ0ôÆXúa`è{އWw·|ùòÓ7˜¾Åömp^È‹çÜ¤:aû¼ÅY¦D2| ¬¤6Û k=¹Î0sèo/–KŒƒ¢,1“Á™ ïÌE%¦‹ÐZÔ‘fGŽûg0^â+ͱ!R’ëW_!LúËí IDATóœv<òñÓ;†æ@{>âÌvJI‚1ªP#¢®k²"Ú©²4hÙ¬õ¤E‰’¦9bç‘Åb>/0Z…Ír'ŒãÌù¸§?b¦zî¿ú ë,~ò¨(ôäÓ²ÀIÉ8¼zý&tÍ‘"KI“Š««{öû#çfKd&¤qnÆ9Ázu…™'ò¬`µºÂZªÖ!/û'klHÑš;Ïäiʹ=9×?ù9Åæšíó}wFEÇÓŽ¢Ê™¦7ME‰ q^¢þæ¯þÙ[­S‚H+’,gçK>ÆãüÄ<4øyd¹X1Ά¶oú½(q*âù刵%=*´Ž‘JÒ7-qá… Å~/”FiRÒ#y™%)±Î‰uÂñ°§ªk²¢Fg)ZÇè4F§3 (!ÃÎÄXʲ@jÍ8NHaǹ)@¸¥§c ¬$eΩ91Ïí鈟´’îJ†…Ôét¤mZœqTõ’¤¨Ch²?1ö-3ŽØÉ_  qzãaI7GÇ8oi›†8NÞ³¨×dy8:eÍlÌ如GãÂñµÖ •`²!>­³„,+1Æ0^ŠýiZ"eŽN´Œq™‘, Í$Š9î÷Ý;¤rÄQ„› Ÿ>~5-iЖ}ßG "Éj¹bèÏLm‹ŸF?} K¢$‹P/c¼3dEq\Ä–1ã42MÎŒ™Ù\݉¨pxz(|Õ‹“µXî78õ#m`{ÉQEäYwyšQ”+â,gÆ?ìÒêå‚ívÇúöïÜÅ]Ó<èœãáLQ×äõ’f¿#ž—/Ÿ™ÍDçY޵a`d¬ÃÎõWÿÝúV*ÇÓç(Bï˜@Îy¦i Öá¢53‘N8_8í·/I³”O~Çx|¦Lœ7tý™Óù€3–<ÓdYÊéÜ2¶gÌØ’$)*Ñ!¬x‰kP®®n)’ÅŠ¶ïÙöèHã…D\dòÛ—ÆþÌØ6h­iº64¼¤Ä#ÈpÝìk†Ùñ“Ÿþ•äL&Tbe’2ÁÑWÖK;… °N“W÷3 l_ž)Ê„±ïqf £^ÞÓØKI^”è4ažG¢(Á{ˆfìº&ˆ6EDRV´ãHk²ª¢X®Xmn)W›ðä3ærÇŽÙÌ¡< ýÈÍÝ×”õŠ,ÍÉË%wß|ËúÍWˆ8Aê’7?û#Š««@"*!N¾|øypîR)ÆÓOœ{Öë5I¤ñÖèA`ÔqaG {nfµy…ÌWˆ¤äþë¯qÖàœ¥ÈSDdq¼sLÆ€ÐIÆ0¶,×k„Á‡²Ú°¾½ñôð¥@iÍv¿ï© ®§{¼ôDQŠwá¡“”5‘.È«5B‚ŽtHà ± Ã4A^£EœÄÁì‹ IÒ$æó§÷LcÄ“&qš ™zçfÔ¿þ‹?ÛŸOÄB]i޶9¢µ z`ïùÕ¿ÿ[„±H%¹º½åáå‰Ãó Eš‘f9Ÿüáy]±Ûï¸V(ún Ù2ïðÖãñ”U0žfI†Œîî¿¢sŽ(Ë9w<~Åø,MÑ:Ä?Úó;MxcH.°1ã,YQ]X«!¶! ¦ibw:ПØm0~"ÖŠ<+¸¾}ÍvûÂ~÷!,yV鄦k1óÄ×d™æt>“FŠf·%O3„T´M$$*x#öVž±ßmQIæq$Ϭ7¯°u×Ô‡Èv÷ÌóÓ'Žû'ºþÌæîÕjÍ~¿'+2¼ð8³Qà"²$°s77wèÕštQòîÃüî׿âxØq<<‡§{QðÃßsÿú–²Xp87èdÁjuÍù°§=ŸY­®‰“”ýþDjPQD^­(Wš¾ãÃû<+I‹’¶9ѵaÁ8›§Ç/”EN?ô”‹ §f$Ë ¦¡¥ˆƒÖY«cÚyž™æÓu-ww¯™fÇéxºŒq#Vë Ó0Ð÷y–2›‰åbŹi˜§‰$IPJaç¥%Ã8QV+` à±dÿ²/Y®®È«ÝÔ3ô=í©ešzf3bûiÊ[>¼û=ûSë×_³X¬1ÓŒŒbò2(ÏÞüüO‘Ù‚ÎŒ|xÿ¿ÿfb|&O„uÏá~˜j<’j¹&Rûí Õ¢D\ö@:0\8VÙE‘C”pýæ[T^òéógŠ¢$‰Ã=£m{¦¾£*RÌБÆI˜Ý~%Å pÌ8;£âÄ,—› 0Lå¤ä^öX'!(*õjÃÝ›¯H³”Ù9žv[ž_žhw;ÚÝýþÛŸx÷ý¯»ÎÁr}Í0ö'–›’²Bg9‘Ö8c߃ë Á×Oxç¨7W”UÅËö™îÜga  þæŸÿ—oçW¯^S.VX¡p.l¯=‚iÑIŠ™Ãë¨=Ÿˆ”@`ñÖ“æçs(ç[X®J^@Vs8;›9Œ"qP.¯È5ÇvG×ùþ׿"Kò°1¶†4Ë"f¶ž¶kIb÷}"£kƱoPJ2 HMQ”Ìã„to Æn_Íõ«{>||Çñù3Œh¢”@`x~øÌ¿G ÇÔ5”yÂ<µDʪDç%§sO'äeÆétà·ÿ·Œç=íéL^®ñÀi÷€sTLÛœ9öÄ:bÿ¼ÅÙ1ðdÛ#}wäÜì9ž8<}Â'ŠTsuuËí«{–W+Š¢@É8ìMæ™—çìì¸yõ†¦ky÷»ßðüé?²Ý>2 RJÊrBàŒåøü„V«k¢X‡(¿sLS`¬©¿ù—ÿìmoÃÆxÇÝ믰*¦Ÿ&û-¸ðdNµÆY‡Ä‡¸ðbMÓ†ÒGÓœ¸¾¾át ‹º¶˜ÇÎ$Šy¹$Jsšn k¼ñDJQ·w÷,ûý–8ÒtÃÀy÷L¦5:Ïhš†é’ñIL—8{Q.87 Jé@Ct%E½ =Q¬/˱‚ö|&M3¤ÎBQ,Øy Qù©gµº!-Ö|øøóéÈÍÝ:ÍC|aðRé,DW¼'M  y¹&J2¬\ß~P5Ó¨ß:âÓï¸Z¯Â1Ïy†¦cêƒí(Š4S?"ðTËUÀÆxK„£oÏdÕŠ|¹àóÓG¾ÿû¿eÜíÈ¥ ^”ęҞ¹Ã͆i0eEÓœðÖr:î)ó 3â8¡ÈØZÅ1ÓТuDs:Ñ7gnnï(« f¶´]CY/˜œáË—O´§ËjÅÕõ=^*tš‘äUðŒ–®Ÿ˜ \Ý\3 P“JOW\]ßÑ Øðlnîiúcg„”Øiº„÷4óR¶ Ö ±”dIŒ·#‡ÃküE1ºe½àt:GšHH§¦¹§,*"!É“„X(ì4_ ‚¡ïÇyQóôøˆÖšår‰N4mºíÖ„]‡úë¿üoß:<˜&Ïã—tqwûš¾Ÿ°f K+牢$€¤ÂO‘gÈHÓw=Ó8 .™+k'ú±gl÷$±$ÍKŠå’né»3cב(J4·ê¼ß?#hOfšÈóê¢Fvœö‡K$¡dœf¤ˆ¹¾{ÃÃC@ÙÇ*dþáBW5Î:Æ¡çÍ×?áýÇOaóÚ d:BEŠišq(„ˆØnwe†[b»ý–qžØ\ß’$)ÝÐÑ4Á_V+ªÕ«Û׈‹4á8·*m§°ß°ÆG)‘M4ï,]{¢^VF–þÙ"Í+æydQ/ȪŠÅÕ†ÃaÇóãGR!‰,tÇë›+Ò² ;ïqsp.|aó´³óH–å˜y¦Ì F ç-³±Ä1¡^à=ÖÎM9 ,–+Ò,§ëZæq kN$iB’€`¿}Á{C,ÇÉ(Nð¤L¸~}Ïãö™ãË3nY.¯)7wˆ´¥9ïPÞÑuˆ œ´£ÅY̬qLœgŒã B1ö-fêÁ;²¬üÃ.#Vðôòž±Ÿ™œäõO~¦±'MÇã–4ÓáÁÉ ¸¢Hb­ ü°qBg išÓ4=ßýâOè»–yl‘Î…!Ò¨ÿþ÷6I2ž_fÄŽ#]sÆØ‰¼ªY__ÓÏ}ß’§IšÓt=f¨ê’qƒoúRÊA æià( ñukÃb¥Ï-e–3?ûåc°¼{÷kf÷ó4‘ÆÞ‡/>h¨Â¦yfµX"‰P*‚X3™‰¾=£x AvC#K†Ñî0¾úæ§ ÓŒ{¸´Á†> ã³¼ÀL36ÖÎZæ±ÿÃD)ÉK–›k"™«8LÈâ”Õë¯HªŠÏÄ }s‹ú kYV0›™¢ÈÑiFÓ·´§JJ¼ÐáßáYY’f“±½)»Ý–ö´Çö¡¼Ÿæ9ì«Í\˜^DȈ¶kHu:iŠ53UY£T°¨YÉ7¿ø2–ĉÄz8Nè$ ,µÖŒCGsØ27XJÈqÊ4;2ú·oÞPÝÞðûKܲ^.©êk¢,ãxÜclËþáCÓ’å‹Pý•ã8¡ÜG u„‚"¯Ä,êý8‘Æ9IVb½gUæÌC‡sms¤\,9ŸOo˜†žiî‚®¡i°cZ;ƒ ôýçÇÏ$*gÍÔá•æÕ·ßñ²ÛãìŒ3›« êŸÿg¿|»¨ê ¯kêÍ*àgâˆaP‘"/–H©™ÌŒˆBz„wŒ}C–…–’‚ó~{Q ²4¨tu–Q¤º$J‰tÊæþNÁ§/?’ˆvÍ’˜(’A‰+C†IçyˆsœÌ}K+ò"¨¼ðtÝ™4‰‘ÀØwäEGÐìOàm¬Œ#qœ°º¾a·Ûb†3:M™§ ¬aZfgP2F«¹ïú–ºZÒ4 ‡ã–X‚ÎbŽÍž±ë†‘E½"NSƾ%V"P@TD^è,ãtäüüȲ*IóšÉÌ´‡-I<‡ç'²8A9Dš¼*èš!á¸Û"eÂd!Šb‚Ð °Ü¾ºÇFš$Ë©ª“1D:úL»ÙíÞ!£„²¨xzxd³^ƒ',/èû%%ó4á-Üß¿âðòÂlfÊzÅé´§?ˆcÍÍ«¯ðHNû-q$PÿÃ?þÅ[)=ÎyÎÇ6ôz“+ÌÜÓŸ¬õ\ßÞÅ1ó8±ˆ÷˜Ùà=(„å5á ¯£0ú•ŠÓéLždIJ’&¨H±¾½Ç(øá‡ß’GA[å¼"̓&ËkÚ~ I4Þ²¶›|(ÄÌ–¢Ìƒ†8J.Þˆ‰?(r’#| ¿G±¢.KúæÌ¢(H²’Ù:~ùþsž~8Ñžž™†3fœp÷‹g¤·h³X/˜æ‘óáÄdÂ¥®oß`UÎá4ST êEЕUË%éªäó‡÷ìxõêž(Ñ<~þHß6üâÿÑEІX}‡©³¡ó / -+t¬È#é{¸ˆHe“w¯ïºŽa -)#Ë Öúp—ˆRºÙSo®ÐYŽÒÞyÊ<Ç̉†wAƒWTDZ3ö ÎÌÁÉî= GßœˆtÌÕÝ5çcÃ4Ô_ÿÅŸ¿J9ÆÍ¸1Ànç¡ ©P#[’&Õn û1@±\®ÐI†Ò)qQ’—u¸“è…*Ò©#tQ³¼û NG||ÿ; U×cÌ„÷–8Öà%eQ <8~ÆÌDZ³ßج78ïÿàTÐJ3xg0ÃÈÔµdYŽ!M9NõrC¤C§Ý9C¤¼ ¥$ŽYì‘Þ0u YQ‘Ö_¾|bì;îßü!bLßSçièæ$çæ@×I¤À A?ô$:<Øb•ðü¼'"!O Ö7W,¯n(ë’$ÏHÒ„yšA€±Qœ¥"Ž±Î’dø¢«’úzE’å|þøžnXmÖ<>¿ðÍO¿C`™g‹½ˆw”o­Sâ8T¤¥ÒxïèÛŽÕú G8oQÿê¿ùÓ·¡iXAEQP%ÖÎ!mèCÆO3Þ{‚4]ŠÛ×oh†ž×?ù–Î9^óŽmÏëo¾eò’Ÿþüœš#Q¬P*æ<´|ùü…o¾ýy^Ò7=:N1Α$¡«áE\vÞ1Ï]hèÍ3qBfCß°¨ „„4/R „CzÏÜè4Ã]ð*NútUЧ‡GÒ4)8¶TeÎØ¼ÜÞ¿¡Z­85{^ž?ðôéÂ}IηNH²4ÇXA¤ òjÅèFªå‚ssæãï…23‘TDR£D„› ~t̳cÿòħ÷¿å˧ç‘j½aýêŽr±B 8]J@q¬h»>ÄBÌH’$ Ⱦ䘴NHò.À‡æ°¥;îYo®B´&Íè§ašhûP¼ÿðžÓvO¢„ðômC+¦qÀG™gŒÃÄ’'ׯ¾%*j7·¬n¯y9ØÜßÓMe‘²}|K]: !cd”¢³ «à¯ï^^8^B¡tÆòæÕå³V1 3‡Ch‘V«%*ÍÉÖ7œúŽ_ýûÿßO]/˜§ ”í°åùñ=Ëõ‚ª^ðò¼E'I‹Ç ÆXb­ÁƒÅ3Î3B8Æ~`±Za=¨ÿùŸþo½ñ!>LÝgÆÇÈ(&Ír"U°¾º¥íÆq (J”¼l?sÚ>Óì^xúøÛ÷ìŸ_èÛÏŸY”JÆLóÈЮnq±Æ ǹ90nžÐiÁétdhŽÔE Âã݈÷D¬–Kúsèp,V oÃ6M3âDSÕKâ¬$Ís²¬ I3¬­ƒØdµÜжgì#„ ƒXRd qšR.®ùñÃ;~ÿ«Çáé›õ+ŠTãLK{ÚÓŸN(oQÞpÜíÇ)äÖ€¼,™ñePŽ; #ÉzsÍ0ÍLSpª(!Qÿãý'o‹"§9îÑ:Cª ¬JªE‰Š%IžÓ›9¬öÇž¾?ë”q2ôÍ@’¤8bŠ|Á¢®ÈrM–k¦îÈ< õšj¹"Š Š4I\’U5“PV«+TV2Ø^t“c¿Ý±X­‘ çľA`ìª*l‹ô*ì¼ ‰cªÅ‚ÅúÍd8œÏh­ÉË©§æD¬ÞA¾\Ó´'ÚËôež Cß2Áép&ñখ,ÉAI„ð¤iŽY;qsuÍËã3åºFQ𲏔¼&gØÜßã•àóç÷<=}ÁLcø·N3ô<>¼ÇÍ:Iyõõw68/Ñ:!¯7a¯sÜóòüøù/ÿ˜¸È¨âk”÷}úˆòV°^_Ñ·!þT[3Þ†¸‰·‚ýሒÅú©CÍ·**î_ݲ^•ì^>³{~‚ifûòBk’$¡9è›püL³c&†ó9ì”<(•`ì·àfÒ,#ËkÜñ/,—kNÇ-ÂÙ ˆVS¬7è¬âã§÷<||‡Ÿ ›Õ-ÖIh–—»ét¹ÇäÁˈÇ;ÈŠë«;Œ I[\p–‹Iš2#‰–ØaÀŒ=:M©Ê„Gý›ñgoÛ¦ 2‘$Ó4#œBK@Âc½GÈЯnÛc ôÀ3´{ž?ÿ@ÌEì‚"¯W¤UÍá܆ĭ÷DQÌ7?û9Ï[¾ýöç Æ0ôǰ±F #N3„ŒÂ\>RLãÈ~$ÉäfB$£àŒ¨VÔ¯^ó|l8”yÊÔíÈ¢7õD‘‡ŸwB¡¨^.æÙ¢urEÖ<Iš¤ÌC€L3²,çåË'’$§^_Ñvi®Ù=<ªˆ8˱óLY-0Ö0Îë›~üá6ë ×7×”eèTH¬ÎbE½ºaóê ßÿö?¢dˆµŒ}ÏØ·4‡=]Û²¼º²Íp³BHlW΢â˜ÍÕûÝŽæp$Ï+šó3ôÄ*f43I–"cÅlÂjžæ@“ƒõ$ù¼ajŽ$±¢Z,(× Ží gfƶà #IÛvÔuMUål?û–Š8’$cpc©Ê ãE¾¤(Kêz‰Œ5R'$YF? ÌÞâ½b½¼âxnËæêŽ¼*˜ìÈãç´‡-Ê;мÀ9ÇaûxÊE‰T1eµbœÉ啤q’#¥æî럱êÌÃÙ IDAT¾ÿ*È+÷˜_-J3 =qñêõ7'«%^*®_¿AýOÿÕŸ¾UB' Ç())«  ãD †®£,k&cˆ`šgœ…H*ºsÐê§3uQ“äYž3»‰ižˆ“8d˜œ,‡ã!h†àêîŽßýîפ8ã‡)˜R±D!J”¤deJœhT’€.°QJ^¯x|yáãçLíf÷ˆ™;¶ûEYENÊà ךq tõ¦=‘$’fÿŒŽ#Úv -JN§uU0 ãr5Æ:NM lOvÂÙ™4-Q:¢éNÔuÍÓ§GÊ#ÆŽL'dyIQlèÇÀ¦íÛSß«0ÚwÓ€Ä3M†ÉY¢4Fd "Ñd‹yU‚ˆ”äáá#NV›+Ò¬D%9«ë{âtÅæú†—§¨ÿí/ÿümœèzóAHM )ˆT„3Iጅګ ¯a%!IB×XHÍòê ùâ•äyE'T‹±VŒSËñ°e±º¢ëºÖ¦¤Yrñ³®R Æ…–” Š<¤uЧ@Ü8ï1c‹u†b±AH°ûØßpžÓþE\ßÝñü²àCßa†€ùLÊ’v°“ q÷yDë˜HŠ Û”La (¥Â¢H´! Z§de…A!Ü÷Tu Þ1Zk„ÒdÅ2t滉4ÏXÜ^–‡w¿cèÎlÖWÄZs8삳"ò˜i¦Z­™§ë,iZ„~õ"tص.ùæ›ïBŸ¾,ç‘æ¼ç°ß"4ç#§Ã Msd¹Ü•ü‰QLÛœ˜Û3ý¹¡.K̵g²rAÓ´¨K²àõ믂ÇB(òõ-.Éiº3SŠ_/Ï/A úòŒ03Ó02v=ûýKÙ Ðqð'‰F ÎYQâ¬AxK]/QQLç\½ºçññaœµ¡á:‰±Æòñý;ÏHkèÛo-uUpÜî˜G')I–C¤8žvX7“–5ó4QFõ¿ü埿݈±§:ºvDgÆ â$ü¢c%‡ÓÃîÁ{NÛ©R_žQÂ\¾\y^„â}¤(5õúЦm(Š)´ÎxzzÇ»ïCU×ÌcÇÔµD"¢k`‡Pv’’°dŸ±8œi”'d¤”ºÐC"bÒ c(âœÐ@–•å‚Ñ”/"I16L.æiĘ:sÖRÔ Œ›é»ç%YµÄÎ3±Î)ëšþ™ûÅÕ5³uxkð³#É úa¢XÖtç#‹jCZÔ$EÂîù™©m)Ó2Œ.eå˜iFH(‹‚ö|b±ÚðáÃ'´°dEF¬4ÒÃdz„ G¡4ÉØ=?³\­hÛ–Óþ…Xj’<ÈOšæD‘Lcz#.¦£8¦é:¾ùö§œÎg¢$!+R»g†¦£¬–¨(a'Ò"GJAµZc…@ Åöù™XJ¦þD‘gÒÑOÜ~ý“4ç-ýþ cw¢98ow¤*Æ8fsó‹¢®kt¬±—Tk½Ø`}ˆúèH‘çmwÆÌ†ª\C”¡bMߟyzxÏõÕMXŽŽ8̬ŽÐ%yÙ>Qä)©V¤q˜’n6köûGºã gmX' 3u4Í™¼ˆÁÌCC´?Ð"@ö‡'‹5Ù2Åàˆ¤¦éNìw{†îÌy¿#Õ1‡ócΚiža^,Öƒ³a2äÍD¦c¤Vø( Nm<ãÐgMw@K‹´íÓ{&Ò´SrDY–a1X*µ¡D3`|øoòÅ5:JÇ–¨,™dàšF(ò¬F H™ R€Ç`™Ù\ßÐ4¡#e‚pãÿ?OoÖkY’žç=1­yíùŒ™5v³É&©Á2$H°$È6 ™°,†áߨ0üê§ùB6 E6ÙÝÕ•U9ž<ÞÖ!æ‘ÝfÅ©:#•ÁYÓLš¥8"r¿?’ÆY(ž;I¾Xà º©¬(i‡Ž¶=¡°ŒS@Å㡯kâ$töû'”VÔuE’ÄADn$}סxöàöv,7[Ú®aœBçÁyS‹Ž¡kqc‡ô‚(Ι'""H¤”Xç9ŸödiŠ‚ýãõöžbÂvš±X6»+¬udYÁÓç'¾üò+š¶!ŠS,š,9Wgâ(Á:X¬·TÕ‘õzM”æ “gssËà‡gb!8>¾pw÷Šl¢XÅh­†€ÒqÌ<9êªcwsÇÃÃ#‰QLCGž†ä°Ò†(-èÇŽ¬\]Þ_’a葺 )tZ‚JYn_#tF|Qtݽþ–/ñGë«‹‡$ãû7cÎb"C–DtmK¹\q®ÎH³·¬Ê%·wwè< …/ ûÃ3vH¢ˆyxy|D+ÍýWß²»ý‚f´üáßýû £chkÆæˆ°¡ê¼X_#” >ØnVaKï\8”LÊ08²å¤¥ïNŒM˜7·¯ØïŸš ïýÅ¿ë„Óaô;ÍàmpµÄ9Öy¼Éó˜4/X®®¸ÿê÷¹ý½?ÂyÁ¯ÿú¯ˆ¥Bý›þ_gñlno˜½gÊ?+S>xÏn·ejÜ<\l&PÀãˆtY^y£BôÜ "¢½÷` »ë[Ï{”›1Ú0-vvl¶;>?| b¡GGQˆ—ku캄º¸¬•2¨8CiMÓõ˜Ö&x„gê‚`œÑqL?Íüìÿ˜ÃéÄóÃGò8Á_Æ~ö4§¯¿ü‚ÕÕqF±Ö{ªó‰ÕrË0M”eI_÷$&erž¿CÌmUñüôH×4|ýí7LxöŸÐV› (…T‚Ãó ÅjÅj Ç(teó4àÆ×`mèöÏEž'†î| ‰E0J ¿û«?§mZ¶›-OO‡àèë;¦¦¡>W|ùõ7œëúB]¿ÇD†·?ü†úå‰,Íðxtœ`=ÔUGDé³\¡“%IB¦Ó0°Ú¬ âdA”-Éò xI’•¬¯nX\ohÇ–®­(“ 7OžPÿÇ¿û“ï”6LSÍéùHjÚ¾#+ ‹5ÇS…u#mS‘9JGÁÔ³XQW-E^âã@ø.–a¹5 =R™pÍŒR!.íF¤Ë-ÖÃØ÷(©Ð‘áp|Æ[‡IR<þÒÂX;€—Hôåë®W~‰uØØyÀHÉÔ[´V¸iDzÐ:áêþ5OÏŸ©/дAÃ…Í쥌¤´"Š”n¥¡qö,wWÔç3n ¸­ƒÖ$ JF¥³ \”4mKš-Â,W€ô>„*‹˜˜ýþ™±®˜‡ŽeYú!kŸŸùâÕ×_^ȳTØJ÷]G±^`.]„Ãdè*´·!ñ>,¥5BÉ€.Ís”ó<~¢i:–ë-ÕñˆCr¹ÚR,ÔUE„óhcÈW †aBÅb½æeÿŒ°SxCj…P†±ŸèûmRtxÄÖŽtõ‘ylÐÒRŸLÓH? 8^eè4×n“òÅωҊ—Ç4‡# …6/ÏϨÿýù7ß]½¾£'êªÅÙ™®ª¨ë#zÃ/~ÿ麶íÃu¡é ŒIhš&H)Ó‡G\Þb­Ç(MGAh=^¤ŽTáôŸú#“íÑF3nžÑZ]´*Œ´ #9©™í^^ì:ášÚDô]‡Ña{]ï÷á«Vä /ÏŸ˜û>Ô?¥ÀD7Í!}™H³+–¬Š‚Åê–Íí—ˆ8¢îžÏ<¿<ðÛßþ9ïÞðòðÓËËúúšb¹b±XbLÂ0Di†ISæi I"²²äxØã摬,™Ç ?ÍÌÎ,àúꎮ­éÛ&¤—µ¢©\ï¶Lv }í8Âã(—ÆÉQ.œ›†yDq˜yËÕ‚º1…ÖDeA7´œŸ‰•¤oŠ"'ÏsÚÓ a{ÜÐb´bw{ÇжX;c‰hÆ™y ë¨ö{ÌCèT»É'&è"œÇÛ‰±(—’å’8MqÓH×Ôä© ’Íó%¬nîádq 7[ÆÙ²Ýniº†ãóg¦>h‡iFÇ Õþ„‘ÆP±6ZUô<ëP NMDÓÔhõùˆR’¼ÈÈòœºiØlV{Þÿø=/ŸÞóêîmÛ¢D€†«?ùgï»çÃ; ´çÒ‹€9Ä3u#‹‹$¸iÖ±ÔQ8)†ž$M0qü7Zœ ×çQV›k,#¤´¾`,†>ˆQÆy@È v™ÆŽ(ÉÑÚà„Çèàp³#Ø’uÐWÙ9 u„Fê”d›€ÕÑŠ$J™íˆÑá:£\˜ÄdÅe”«*ŽHÒ%EYR7'L³¾ºEå ?¿çã»ßÑž©Ÿ?ãúŽ±êˆ¼r›¦ãðø‘§o›šrÃ8Žúø„p=‹Å%dhæI8a/¡Ö[ÊE®lB±»¾áóÃyš³X°a_nvܾþ†õ憢\0Ú’nêš4Íc'tœƒÉÈŠeðmHA’ cÏéö>Y8¶y–C$q8pÙ?Ëõ’Þöx!¬ç\w(ï(ó7ŽŒcÏéxblŠ"CHˆóZ3¶Á‡.µF+ÅaÿLß7¤YÌõÝ«q›f¦idhŒ Àî8°6£½Æ\­ ÓÐ#­›ñ³ï‘Úº"‰qhŽÜ^oQ*Äh¤TL“cµ¾FÇKL”áæ­<:Šéç™Ýõ+v¯¿à|>`<Ô§*@”&Í2ÆyDý_ÿÛ¿ÿÎ ÁËÓ#‘’ômÞr:ɲ˜s}¦>ŸY­w¤yŽó–,!3+]]½V–P5gbáüLž-Z¡£˜¦©h»ŽivÁë¤Å Ðe°äZG‡¢#td(ò‚®®8æy Ö2 ÜZì|)1Í”«-‰ó3ÎÍôMƒ‰R¢¤ Š3<Áø“,×8Œ¬q̽‰>ä¢6×wôãÈLJÄRÅ E^²ÝÜd)I–°ÚlY®–HóèˆuLÇàQ’±ÜÞ`²Œ¶®yúø4Ky|øÌÍíÎ^ÌMŒÒŒ}‡<Ërõ‚rµbž-Þy¼R6×Ö xœˆó!Ã`¢:žˆã(<”ç‘¶:`tøj˜Ä0ŒYQððáÍqÏëW_P× I’evö2–å,¶»0’®OÌ]‡·ÍùÈØVhá~&ÉS¬W$ñi¶W[š®Æ{ÞXÆ~¼tc ižÐÔÇÇ>|øHœ¤¬Ö[¦ÉÑwMX:&¦±£ëù| 4Ǽ,J ‰£«Ž(á0QŠ—Ag§£ˆ~‘JÑ6S×2!°˜¥1ÎyœW¬7WDÂ- ~zó=OïI“˜óùˆ”¡Å—gYäüÿò~×65/l·;Ï/D&üàÜìƒPcˆâ˜4ÍCüÀNäù‚»¯¿æý»·\ßÝððôHžeG m[ RÒ&2fæa"IsÞ|ÿÕ¹ÂÏ\ˆa„'•avŽ$ b—$ˆÐãÆ;”4¨$åt:’ĉ$NR„ðŒý1ÍlÖ·X’°0Zo˜¥“,ÚDœOG¤€>>à…CD1NJ‡=iÒŸ>Â8 “ˆr½a¹ÞQŒCÔ¼DýOÿò|WUgÒ$„áÆ!$§yFøÀ^‡?ODÚpÚïÑÊ0#»ÍŽr»áåù9dݽB«09‘xÀ¢´`Fgš‰Ðʧ (‹”®:ë˜b¹ÆcÀr³ãeÿŒÖeÒæÉ2;¨Î5ËË)ŽÓ@ùØ]#•AgKt²ææöEVâ癫Ý5JgÜ}ñ{$Ù$x?°8$òÇÃ1è°â7 Χ”A˜”¼(ÙlW”ë iQ’çñ”&)IZâ¼ãåðÌóÃ{ŽÏ,+” à7ÁeWðÞ…@^pûõ× ›Ñh›í5‡Ó Us¢i:†ab±»!]ï¸zý ««kÆi$I”öt]ƒ6µûñÝlw;ÆqbšçÐiÖ:ðµ&‡²–4+póL¶Xat Yýj·#JêªB+hë3BÀÕí-ï>Ç)År‰6PWgÒ¼à7oÞG¢IpS¹Fæè8BMY–Dé’É º¦ _=“/–XÞ YVŸ»;“èR7x~~äêúi‚sqè{ººEIÑŠ©¯~ Šƒã‘8Éèú®)®îxxüÄÓç·ì6K”°ŒÃ™ylÚpu÷%ÒÄœO/n ÀãéÈîö†<+°–Û+ÔÿùÝ4LŸšÁ[{Å.øüù™XÊÀrçë݇ÞÈhÆÙ‘+ªªbìzò|‰NcÚ¶&IK,†8 ™ H­ðB‚·Ä±!MB!IJvׯZ2!PQ‰0ŠýÓql0ÆÐö5ó8 ¼ÄÏsK¦*2ˆ8cžÖDFp<<â'‹žûoY,0yŠI¶÷÷,onÈËUºßã4Ó´! øñý'"“àÜ@_Ÿ‘Ò#CÝuرÇÚ‰ÕÕ-‹«{²Åa4:JÙm¯xÿÓ^ß…Rš¾¯˜lÚ<==P.K„½åýÃG¦®!)Ö¬vW$qL×wdiF[¨ŽOD8>üø;ìÔr:<Ð6”RÜ|ñ\`R)†¾ÅD Z Ú¦%JCÄû´!Vš¼,éÆàH³`£ÝÝÞ2ŽRiòÅ’sU‘Æ´v.žnhÃ?Çh–«2¸§„d{}ÇóçG~ÿ~—ýÕéH–„© ”‚ýãž®k‰cÃîö&Ëúš¾:Óõ7_üœMiÒÄÐ Ó-Û/ÿ˜oÿö?ÀG†»Ww,·7aˆ2 8a‰ƒõ£ yÞ»išsýêK’Å‚wïÞ±\dd‘dÿòÄ4Œ,Ehó™áàÝOoH㈱«©Ï-_ÿì—¼{ûõñˆ4,WKÔÿðÿîwR€ðÐÖ'¤¾L}†¬C«©ÃÃÇÎ3qš‡~l‡žÕjCp>ŸX%‡SÅv³¡í‡ð°‹sŠÕ–ÞM!`(ÁÄ)XMÜÜÉÕW_â Tí)o´ÁÛ1<ú„ ŸBPë„( xÄÁntp¯EY0´JDÄé’¯~þ¨<çáù™ïäÃÛ¨_ž8Ø}±FG ­ƒ³:ŽJyŠ4!OÊEIQfDQJùóÈPq“¥ï6§Ÿº¿éH4Í -Ër‰Ñ OOŸ)‹'üðÛï1BóüôR·WWøy¢¯<üô;”ô\ÝÝ#uŒfâ(¢Xl1QLb®oyùôžóÓ'ºÓž¶93[Ïöæe"®®nxÿö'®v;æ‹À§«ÏvA«Í†¤ÈCgYo®P:âêöŸž/ÉÞ8Jp‡ÔŠæp$O2®n%Ó8ÒÏHç©'®v[NÇ6›e01%9R(ú®CkEßVaør: ¼åêö ¬ˆð¶Gú‘ÝUP¯_½&Y/ùüð[~õŸÿoü0ðøôÌóÓq^°½E’äù’¬X¢¤dv·¯¿ÀD)ƒíøüá'Ve†Gº¾CKA–æÑ5·¯¿d¿ÆŽE¹DÊÐ7/ÊUÓ`Ç–ú|dQf¼ùá{Ô¿þo~ù@"¢«[„ꦡ@º¶C)‰IBsÎáâ‹ùGEçºbapV IDATšm°M7»\opÂ3»)-sßR¦KòbÍêꊫW×´cÃóóì_>aÛ ?9tã49cÛ!Ýe,J'ê¢vñ³ãúîí¥ô’/× 5ïÞ½áñýOhëH£ˆ4^àfhê–s]Óµ-JÃîêš§§=n²àÇã§ âÅ"Xˆ„$ÍJ&¯1q†0a¤Ü7A°3] ]]qwO±Z`²”,Íxy|b½XÂz”b”ÂMÓþÛ”\m®0&¾G^}ý £ƒÅjEלY¬ÌÄ\ß¼Bè„Éfp{ÞóùÃLÃÌúöžÝýkÚ¦¢ok†¶áîþÄ™P’¬XÑ#‹åŠÕnËâjK]9¼|b³\„eXS±Ø®Q:¢®„‡¦îøêÛo±6dènn®AI¤£S¼@Â6ÎÂÁ¥%ÃxI#Êd iqÿŠ×ßþ‚lwDZ:ññíoøÍŸÿGÅF˜'Ç0]ê;>üø;n¯nˆ²kÉ>N3Æi`¶Sä—cß0ÍSX Ζqè/Y¬5ã4pxz`¹\3[Ë0ÔÌÎR”+ʲ¸€fâX’Æê_ÿ“¿÷”2l§a¸ïÒ´@ê×µÎS.aç0LäYAÛv$q‚ІÅbM×ê¶À1¡W-¥BE ‘II¢œ²Ø°»yÅâú†aî9¼<ÑœŸ_˜zKV®&æø²gh;6Rò’#RX|Ô/OOl·W,+Ò,ch[Ò4cy}‹JRžžŸ0F Ü„t6L¢°ÔM…Ð'š¹ðâi lÙ¦>¡µB'åb›G”å •,6›P 5ÚP¬¯°H†¾£­Ž CxH©X®×TuEb4‡—¤wÄ:SETV•ñB¡‹ŒÛo¾¥›z~üñ®ïnùþÃ@Š@pï»3:‚8ɰ¦i$6Š¡kÁÃÇ÷ï/êgØÝ¼âñãC=J…21u]¡•&)¼þÙψ³”a ݇oY­Š0s:Ìý-¡Ù\]qn[¢,£©¼þâKÚn \®˜GSn®ÃÕZiTŒ¹Jëð@_¬Èkš¦"Ua×Ql®¹ÿÅñëïÇOßÿ%rÛže¶`zæ®ÂdI„‰#niGŒÃIG¾\r|yDºðÀ¦‘¡°ýHÇ8ïÉËRk¼ì÷Oô]Gœì÷G´TTçš8.Y¬VœÏ!ˆ©˜ª®PÿæŸü­ïf;Ð7 qšc¥;ŸH”áúîŽnêq³Å$9ÒDÌSè>Dq„Òád÷ÂÓw íù…, {ˆb{K? ÆaÀhÍjsÍzwÏõ·?gBððð€Dr>V¬¯ï‰ŠÍ00tÞ+òrKßYœ÷h­Ò ¢ ¨¤ÓŽÕÕ Qš' ÇÓžOßMž¦ŒÃ~gY­̶Ã=óØÑ MhzɈåjKZ<>~F¨œ8^±ÙÞ "ƒJ#Χ=ÏOIÄa +W˜4§ªªpŒ}¨‹ Es<âÇŽãáÀöú+e^ðéÓìTVY“$†r±äæ›_Ò;ÍÇOˆw?|ªÃ‘«ë+Þ¾ÿ‰ÅbÅq Ë2À1ö ód)–[„H;©  Û½ºGÅ1ÃÐSW›Ý=Ÿ>SæÃh¹¾½£îZ´TÇÞÿ€–ÐwCx¸[O–dx;³\¯ZóéÃ[VÛ ýÐss{OV,¨šïà,ÜܾBEqP•uZˆ`óQZp3]Û„“~žIãˆí¦dš†¡bÎ|zû;†¶EXÇ0¶Ì~¾üA 7O¸±Ç#E𢴠Àê¢ÎB’¤&Ò$iN”¬‘É‹«Ÿá¢˜Y(5RŸŸù«?ý\-·YŠ[Ó@lã%Êòôð@?vhc8_Øl·—þ‹£:¿ðáÝO?³\¬øòÛŸó§ö§\_ïÈŠ‚óùDš¤YÉr½¡ëœ‡ ID’dH©Ù??S7åbš»W_²?Ø?|¢=>#|è´(¥8öÌ}Çq¿'ÏJ¬õ!âíF´ŠÐ:%ŠJš¶ç—üÇDiÊ_üùŸ1×'´ãò—IÑ=}s¢®ŽØÙ³^oñReårÅaÿÌОɓŒÕzÃþé3§Ã‰$_†ÝÔñDY–,Ê%iVe)NØË6[†DøØÅ´1B§Š6Øi \”Øy"R’æ|fšgÔŸü³¿óÝùxfê&æ¡G¸ 7´ÌÃ@wùá[ôL~š0Rc]€S)¥0Z_vÂ{”‰Jê(ò„¼ÌˆÓ”ÏÏÌãLžÄà=Ó4#¤à|~æý¿¥Þ?b¤¸ìb–›5]ß"™ÀÍÌSæÌ2-…óHwÚ#ç;ŽômgŠÅ ë<ÇÓgëÍ!$]ºÓ³õ  &[P.–$I(ëœêŠiè¨GÚó‰¹ï@.Ï/›h8ºÖ"uLr!¦ y^2X :CŠˆ4ŽhªÇRS”K²Å¤¢\-ˆÊ”aªùÍ_ü'|[c»ž,I팵–õfÁ¿þ_¼~=J‘fi w ø`{’*Œ1§-Cë­ï{ÖWwÌn¦íò"§i:0p4‡#Îz¤J…¦©8¼ìaÖY8½­÷(eXmV|úø–2M°ÓÄétæúæå抮ï/H›F„RÁë&ômM×÷|õ³o˜\Ï÷ýŸpí‰ÈÃb³Ã#Ù¿¼053ó8c”¾P+gŠE[×yXZ¢¤¤®ê€¸ºFýûñ÷¿«O EQ†wÛE+=çó7ÏDqì˜Îâ$Ir¦q$M“‹{.ýºv$NsÎÍ™Ä$aËšD8ééÛ†±ëX®6DYB?¶|xû=ø®ŸH£»qÞâÝL}øÄÜ×ø¹ÃÚ %ôÄò–ÓËS€[ËÐÖØiÄÈ(ØB¬67ÔäLk„– 5Ëí2,œ7“¥9R º¾ahkªz–("6’êpàùó{ÈêÆ¨°€ÒQ-Ì=J ŠbNRœl¯·4]B]¶÷RL³¹¾Åd)oÞü‡‡\¯w¸‹lÇ}Ý2=ÚH´R¡ï¬㢵¤9퉣ˆ®«)—+L’!$üî×ëƒÝYÏj»ãô²gì[Ò8FiR×¾@œÄœN/LCKu>¢•BxE^¬XßܱØ,ùë_ý)?üÕFZ‡³‚U¹Éd¡p mE‘/Éׄޑ*`ÿ½¨N/tímt8Ä/}¢´(pqŠS ê_ý£¿ýÝj¹bF ”§ïü4!ñ¨¤ðh£Øl®8Uçðm*”(2Mã4Ãv»¥F”2$± Rw­éÚšóá™ÕbƒÒŠy˜û–,IûPÒéûJ„8»”`Ç †t6”¢Á處Kº¦ ÞŒnÆhàÃRa…ÂΰÞ\QW5Fz¤  ¸aèC7}šˆÒ¹Û¾<|¢=<³)8/ˆµ)‰L¸o§IŒ@…<Ö024-q’¢£;õŒcG }šXïÐFñüü‰o~ ³åõ_â” êÀ£:¹½½å¸?ðüù±:sÏÓçO,+¬€i²LýîÍI¾*ˆ9ï;6Û OŸY/KÆqbZʾûõ'ÿü¿ú.NNÕ™ýá€Ö)½uhiÐ:&Žêªf'œóœÏ'м Ï „©Â [Jšb¹¥n*üÀÁRÚªâøô‚–Šrµa»»¢šó C}‘yh°ÎM¸¹Ç˜€ÓJGÊ$̳ÅNS?ÆiˆÃ£‚†wqc‡–]Ó¢ãŒ(NCîò®ª 7v?Sd ]Ý" ¥žºkÁ{„ _MD*¤&ÂNZˆ 0ÜxAé{ÊrƒupuÿŠzì8ì_N`û‘õ¦àÇþ 4§*XD…¤(×(­0ÂÓ·«í޶­ÁÂCS‘„ìÓÇo±}t”±ÝÞᔡÞ?qµ»ÂÎŽ¦­HÓ”aèB!LÌD‰a½Üq:W(%ÑqÄáp@KÉa¿ÇöMuĈ€ñÑR_&E ‡Çg®¶×8oxõÍ×|úô>DÓwëÐÛƒavµZ²½s mOžç8ëÎóøðE™ayœ°6LÀ QV"”ÀÙ‘®ëÉÛpíݬH’8¨Û½³|øð–—ï‰MÄíýÎÎTÕ)=CW É86xç?9>?“¦)hÍûw?’$9Ï/g–«-Cߢ´b±¹&Ê2~û›ß¢h©Qÿó÷O¿««3y±àùó‰"_âçaƒdÄ!Ò'9 ˜fG¹ÚÒö-J„®÷<ÏH¥0é’õfÇÓÓZ:Öëã0£TB¾\³½¾¡†±ãÛÁpoˆ¥7DQ‚Vq zØ€ÔT&îŸÃÔ Dˆài¥©ÎÒ4G© › “"Ë4 ܾ~Í0õ(©/ü(ËãÇ4§#i33vê/o£ž¡ëÙÝÞs>WD±¦o+æqfv–$ ð2æè8&/ LÑV i£¥B ØXk¹¾¹¡i:ŒÑ¤YÌ»¿‡aàõí=ˆœÃ.øí„¦:º¶¦ÌL³ÅKOÛµô]Ožêé¸ÎdÉíë×”›°´úðáV‹‚ÁzÚ¾|€s·Ý…óz Q#…dwuÍ8NÔÕ é&ƶcêzêÓ!hÚ.íE)EàÜsàß2S.±üxzb·ÝðöãÇÀðš‚Ke½\³yfìºÀ+ÖšÈÄ<}ü@ž¥8Cß']SG)mÛ2ôÖ:„ް^±½ºAxËûoø½_ü!:‰yûÓ´û#‰ µ_”ât<’Í4¶áêwñp¥PFá§\l¨›žÍnKÇ¡i-J'¬¯ïXí¶|þô‰¾iXå šê®Gæ«5Yž£pÄj‚©BºoG" çýgž?|ÏËÇIbIžFôõ ‹·á”?Ÿ*›k®ïnxÚ?…X±cHÒ˜$Ul¯ô}M_פQNR”8g©ªg¦¶ÆxItYh ç[+&!/WÌ6¤6CMà ŸûãË3]ScgGšeà‚W¢ÞBŒÑŽˆ³ÃOvš‰dè…#óúÙê c2º¦e,qâáCßq<½àüÌ4¶8Û¡€®nȲÈat’`ÍùøÂã§OÜÞìÒ1´-í±ÆOÁãQ$)±6 mMîî¯1±ÂIϹ:3ô3Yºc’”ÝÍk†”ŒMKÇÈ8#ºìFŒ1€ã4Q ¬u(¡Øí®1Iõ ƒãë×È0À›ßþm=軚4Ò?f¨ƒÆ;ᑨØÀÅÖê쌔‚qèX”UUS®ÂRX Ç¢Èèšš¿þË?§~yDãQÞ"Ü„µõ¯ÿéßù.Ài¹ÄHEœg­)·;Ú~`±Xc‡ìœe:¦¾Gk4aLP;X,×äYÎ0ôô]ËpY~=>>1S€îf)]}âôü í#Ã( ¼#?ãí„›-S?+Ls:Iâ çExwhÉ<„‰•·ÿ¿¤”ѨK(Oú‰î¸ÇÍ–¢XK´Ž©š#ëÍ:ô”¥$ŽSÚvÀ››LÓ´=Ù¢ÀDš©¯höÏ¡´\£U|¡˜ÌxëðndžGŒ2Øyfš&òbA–/ðÎ1ô=ËÕ “fÌóDZaÊÒ7h¥ˆãŒª©é«*(ˆeس½¹£m*œwìn¯9ŸÎ,7[Î/ÏÔ§#Jkºa¦¯Ïh%øøá#‰ 0†¦í8ï_¸½½Eiœ“Æ1íÐÐw5}]1¶=R„X½1†ýó3x–cÎaMÛ à Š"¤ÒTç#muÂ[ËÔ¾­À3Œ-i‘²X.x~|"/W)øôÓ¬–+†¡B¥/Á{Ʊ#¹¨%²rÁì-e@¯¾þ†¿øÕa½,/C ‰ÒæE‰bCÛÔ¬«‹xg >7$IÊl=Q” ”`¹ÙçKâ$f±^ƒ¼^‚'Òµ÷0ÌAoöüù3rsó³×ôuƒ:ž>2ö-ËþðÈÕî–a˜ÉÊ%¨ˆyžè‡î"š÷xgI³%$M}¦o+ΧÚêDVdè$¡gt”„ÚbÛ œG(MQn²yžf873öJ§H$Æ’<âñá#± š3kC–K!èæëqž2Ø‘ÑM˜$¥©*„sé£4x¼F’gGúª&S°3‡—2#AXÆyf²¡=ææ)L3d¸ÂxÆ·³0‰bvÈ ««ó<àlÀrxyÁ9¸ûòk–·Á/×¶ J†.x/âÄÐö'ËœXK¤°SDz(2l×R¦ãÐâ'Èò<8þž?Píÿ?¦Þ¬Ç²%=Ï{bEÄš×ÚcN•YUçôD6)J¤dƒ¦ „ †eJ‚ÃòpmÀÿ¢~ž®l‹V³›Ý}†:U•ÓÎ=­yŒðE$ü *+sïµ"¾ï}ŸgÏÓý'j‚¾Y¬ÖTUE}>q¹½¤«KÚꌇ¡lO¨3Ðu5‡ý3ÃгX­ÐZ2 -Uy¢*+æY0C]ÒY!?>²Z¯ôsïw;–›-ý8 „vn|ë0š™(Ky~z@ Á8¢33f Ãèµ¶êþó4aÌè.¸ÆP—%ÙbÒšâT¾+'””$qF?õT§3ž€¾q»¢ihÉ–2ð‰Ò„ašˆâ%~”`ñ¸zsÃÇßa¦™åbÉñå…Pff÷ðŒ˜GâÀwéã$e¹Y„Ò¼¹¹Á|އ=ëít°`¹¹¤ïZì8PœÏH-™ÚšÙX¢xI]5è `šNû#ÑüŸÿñߨ=?`ÇŽúx$]äLft3‘s77«ÍŠqÝ+Ñ´’Híceˆ Wg4–,Ëaêkì8ОÏLÃÄf{Ð:ðéÊÃ8¸Ð¢”óìœ Æº{Áb±æt,‘HÂä56OÌÃàÜãH;@X”æŽï$Ô«ëZ1Lí¯ÿ¡›ˆƒå;`[ºØÆkD¸ÂWDqL”FéÙ‹<{}ͬVKúÎu ¤„yݶyèI˜8Š‘Ê{ýàGÌÆ†N ¦¤b{uÅùx@â¢ÙhDÊåùœOGšó‰ÍÅc ÃØ¢ü¤Gq>¡ô]‰R„äË÷¤qÎ0Œø~ˆ±Ó+À¹ÑÁCú!JižxóæódÈ’ ?N±Ö£oêóå9-™‡«¢¶}Ïjs1–aèP:aéûÞu×k„ðèûš‹‹ ^öG¤ÔZÓu5Iš¹šÁ`Yo.h‹¾¯°Â1·â(" #Š~HGÖÛ+‚$"Œg n´v#ã4Ë*C… ü(b»Ì‰ãÅjÍv»uŸGá¡Â +}Q0tµëŸ›™yn18zÄæòš¶­Xd«Í VGä›6—WL³%Ðú5ËS“Æ!óÔã KS7XÏ#Oè0Fùš‡Ï?`MOß;"¶µ†®.HÓœi† J‰Ò¥û™•+È–k–ë-Ry$ë%?|çº!iœpØï¹º¾¡®;e :½†’Çû{ƾ# ŽŒÑõ-q3ŒeYrw÷ž¡ï1f$Bfc\ÜD{˜yàñóa”b°t}Ç<Í CÏöbK?v‡Ç{æv ]¬˜æ‘yžÝ]Lhù–aØn·ÌcËöÂA˜=O°Z]8]rßP•Y¶ KvO÷Žò$,6[ºq`½XÓ5-:ôŒqdFÏÇ“)q^0ÁÏ·\¼¹ãå¸c÷t1=ˆgKŠ£˜¡© ¤ _F¼ùê+ÒÅš$_P–ÃÐ-–4ƒ¡nÊiš¬°$«œx± ]¬±žOœ.)ÊÖÌTå™Õz‹'ßÿî×\]^º$Åк»é¿øjóAK·!ž†ž±í˜Çÿ{“/ÖDIÊ8¤iÄ4MÔuI¶rgÂy¶,6ÌfF(Ø=ÿ€éZ¢8Dš±+9¼ÒsOĺ(av >åûÄIŠTê¼0Ôgí±\oðã„8ËÅÄ÷ßý†Óî™ÅrSŒ £©}âxMÕMø¯Ç†ýá‘¶8RöH¥‰’q …Gßœö;†©CjÀy(¤ô üˆ0[²ÜÞ ã„cy :ˆýðÇ¥¡HÌ4p÷î-]Wrs±¡ijò冾m¨ËÖŒ¤IâøMÓŒµ«ÕÚµ»žõæ‚suÆZájš}‡ B‚8ÁZ°³‡T>ËõÃ81i’:“'¹¿ÿÌz™cñÀ¡íéú–©«É ›Ë ë‹KÞ}ýS`ÆWZ+·ˆÅ •ÏÃçO€e}qÁdû}D‡‹Õ­5Ú¨šŠê|“ù×ñ§›+<òÕ/þd½"Ê2G-·ÐÔ'~ÿ=Ib†‰,Ϲxs”o¶(!ÈKFM7¡„ÇçoÿòðBl߽à "êó‰©ëG«Ï{´çaÈÿð—ÿâÃÅõ ~ðòòôߨQî_ÐÊ#Jú¡ÅzŠºn0}‡RŽÌ¤)Ã4"|ÍŒaœÜ/r6#]ݽ¶ð:’táÊ3ãH’¸RJY”håÎëmS1Ô-q–¡w‡@H?uðfÂ(fž'§¯UÊͨq âx$2þàŸýáæ’cUóòr3§Ý† _…„QÂ8Y&c9 êªr=õýŽ®9rÜïxóæ q Jã ó옭{MK¥I“ ¡sf#‘že*Ú¾ †qpfSOá‡á+UQ"¦O†©GùJEÏÚÙzh€T4MÁv»¦íZÊÓ™$rÑ–®o9Ÿ^ÈÒ­ÝQ£©<å¹’Ï0D!òº-„‡zÒÌ¡‚0FúeQ¢ðã?[1ZÃÐÖ¤Y‚‘¯]œ¾ãó·?0öçLÆâ ‹ô«Åšó~G„HÄ©ã»7"ãÄÝÍÄz½áùõ³Õ·#«å– 8'šºb¬;¾~GÓ—ŒãHSLäÙŠ¶m¹ºº¤m]¥Ÿ^öÚ1[¦ÑeȬ0 O_>Q_X,s_EÚ-£%‰3Š¢`l]òXJMUŸ[Ü÷±Æùý´ÖÈÿãÿžž¿P'B­øíù” IŠÓ™Ð™_½AbE„õâ8v>:áÈtaœ2 Ýù€éÏXCÅ „ÛB¾¢cTèþ0cß³Ýn麎¾)^ãÖ cRùtM….§Ÿ¤}ß(WéŒ9RkÌ4E Q¶@š_ýçÿD½ßŠªªÑ~ˆ÷J7<gºa$ c„™ñ¥ÇËÓç§š¢BA?v<>¾p÷õOhÛž‹«KÎÕÃËgæ¾yÍáÌÌc‹ŠqBM’dè0¡mKÚª¡<HÓ?Œ¨êε€Ó~GàKöÏ$iÎ8ÏtSŒ9àóˆòÖŽdiêøLRbcf÷gÒ4#òc¬P¾òéû†¶ëY,/FCž-°fFyÿHÖXD1cWp><¸¥g-rª®åòÍT3OJKÆ ¢tI×÷¬·Wì^^hªÆYl=X¯—Xã<ËÕ–ª)ˆ£¬%TTm={Žã”$ÊŸýñ™óîžætÀW’d™ñøù“;¥´5žt2œÕfMQÜ}uÇË~‡'<?}G`†W{«aZï?Ó'ÚêLs>ñüù{šó 3LÖÐt#XËáå‘ê| ízîÞððù û§âÈG¸xò¯ÿüººÂ _úÔÅ‘¶. !<”Òø:įÒJ&1]ÛhwF×QÊ£k+šâD¨c„Òô¯1!À÷ïIã­êW×ÚØÚņq€éÕ3Ohå‘åKNû“Ókí0À’’yžèûоY,W_žêÊQ+^ÕÈÆ¸¸õ0´nÚ"5uÕ’ÅuUà+M’-ñ£qÙ=<ú!EUòtÿ‰(ò¹¼ºá׿ú;7”>q¾Â#†¡'‰ÜÂÓ<±{xÀ ý„².‘R¡CßÙ úßW.‚ß;ÉŠ |ú¶G*÷Äò„CyBÐ6¥Û¯¤¹S‘Y×Ö󌥭tèeUÑõ=ÙbÃ,|ºÁ"•EJCœ¦X$›õ%eã>pý8-V”mË0ίò˜”ªjHÒ%éb…™ÜQzž-i’±¾ØÐ5cÛðôðÙ™¡’%É*§8í©‹‚‹Í†qtq_i7Úž&tÇ!ÓØ‚™@ÀþùÁ)½”ÆOrÆi¤y%ÁwÅæ©Šó‘º*ñ<|þŒ´ZzÔM±–ýî‘óþÏÌŽY† d=òÅ#$Z Ï÷ÌC爚OßwX;…!my¦­*ì4£”v÷Ö¿þ‹?ýàáÑ·Ó4¢…+ðø~L’,QJ»M·’TUƒ b« º¶Æ“a’0Ì#Ø‘®,Èó #=¦Ñ¸Ë¬uœ¶mÈÓ íøAèÐ'C—Ƶ†(ŒÑ~€”cfêóOJòÕLó„”’0͈ӌ¾ëÀzܽsð²õzé¨évÆâá Å<Ôu…ö4Ç—Lqà3÷ÊR2t ÊùȈ’Ùê‚—‡mSñüå Yšá!~”³Xn(Êa=Ò<£mZ„‹5ŒÜQ I”$TeE–$ÌãDS•ÌÃ@Čӈ/Ú´5A’å4UIWW˜qƒTNÅ%•@JÏݬœ>ý8k.×ÔMM×7”EI’f$éŠE¶Âó\:ˆ<å’ÊŸ>!æ‘ëë[´¯èëÒ›ƒ¹ïÙn¶Œý@‡®´ÞR{´tôxéÇ„:¡íZÚêŒ_s8×üäg¿d˜NÇëQHßõTŒÅZ‹ bʲ -L§F„ Q*b÷äTwÃëß5Œ-Š|ú¶áj}A×uøQJÛÏÔUƒïAšdLChÂ8%M2Õí°ÛlœgÚ²bžfü0pöàº'®ßÜ1ûà mSqs÷ùßýÙÏ>`úºF"Æb¬ÀÎç3Cßp>¾8î©mœº)Š#ºy&], £ˆº*8Éeq.ˆbÇ5sïè#ÓŒÖÏWh%]¬Z:MpW÷´çÂÕ }wF•:BÇK†¡#}ǤÒΑ!¼€$[,s<%Ñd2“£ÉM3uY0v5Ú“xHžï¿°\mQAÀ8õôMƒ4íëì}µ¹dyqÍ¡8Ñ’$fè*´t?g–d®ªj'´’øqB–eìŸÝˆU ÒxÞ=ãaã”0ôÙïwÄqHQø¾S7×UA;«“Á‘Hñ•@ :C®Ž"ŽÇÓ4²Ý®Ž¬QaÌ4ÍŒ}ëÔÅâTž uÀØõ„AÄ©8Pµ›í-qœ1MNϼßïIò-~¼¦ë:¤T ·¹æÍûŸ ¢ÐyI”13=JhVWHéaæ™Ñd0M_~øžu¶ Š2¦ÉPÕ%›õ†²¨É š¦%YlÜ¿iYæNQ`Æ‘¾Ëí»¯©Û–nèL˜¹e˜a±½¢ŸG„uÊõÖ¡§¾ÇÎi’kfšn`µ¹!Nšº@"‰’”¶ëP¾G¾ÈiûÁ ê3Žé1Ù åûäIÂýßbÇÎ]þÍŸýôƒò<„5¤QDÛUTeÉb¹rE! "‡S M˜fhíñòôDžge…Ò’ÙNn5A¨«5eU0οÝÖ5XP:Di'ŠG(†Î)°î?“' ÁÒ—~MÓ˜Óáõü!ˆ¢ßñ´(©°LžŸð˜Ú3OÔE‰–B¶×TEA[ý#ßÕÝY¬™ˆt:p´“úÄØ6¬·[wÑ=¾°Ì—aˆ¯Bh67oÀNôC…F”v-±¶*¹Xo™í+q;Î8îö¬–C?`&C4MK»môçOŸØ®—Œ}ç2>ÒÉäóEÂñå…y4h2#úyš‘RbðÐ~ÈépDG>Bùdù†0ŒIÓöLF8jŠTdiB(¢(Æ¢ÑÑ©5ÅyOž¥Ä‹%érE˜¬0xô]ÏÕí[f3s®Î(é‘&3Ð÷3—7_áù (IßÖ+2tì™íÌ4 $YJ¶Ü •òRùìwÏ«ª50âKÁØÏŒ£G¼Øróî–º<“çkÂ0á|>ãkÏ7=Íñpþqo!ÆÌ\ß¾%Ê6¬¯o¸ùêðg "º¡åŸüéÍ,#Šç´’d« UY»d­'9vÒ§o:äßüW¿øÀ<"ÌDÓ8)Œ5à«‹+G n[‚0ÀJ‹™;$¤)h·áÇ‘(±ž¤* êóoñ•O×;ÓÐ`p ‚iÂÓ`ìÌm×»a‚©ËŠÓùLß¶è("Ë–N×Ô$‰Oy>óù‡O,–)åi‡„ežzìÔÆN éiW暇‘¦9s:ì8vØÙ°Ù\/d«µëÏ x „뀌sO–¥aHY”Ä‘¢ªNÌV°ÞÞ0{!m;Æ£dð'Ë›¯ÿ€ÕÕ-×_ý‹Çï¾ýÈét`ìZ|ðüüÂÕ›7´ýÀ8ŒË añ£„nœG§¤û¯þùaFwÑ”%ÊÙ\^ãy’ýó‰G†1Ó–%m]:ÎHá½^¨g‚ fê{Â,%ˆ4fh‰´$É2úa¢©<¤#´ë!@¿–b‹%EU²\dÇ—WÔ]‹bT1v=m["&KÅL“Á÷}FãÚ‘më¾$ã<º;ÕÐx’Åvƒô}ŒµÌfÆš¶mÙï÷¼ûú+¬™Xä+¬ÔøAHS·$Ù‚ JF‹§|ºº„¹¢-Ÿ‘RQ6žp><2T%çý Z„˜©ª‚ tÿ·®í0cG]žY-¯ÒõÝAÑô=ž”39n±1R»€äçûÚ¢G(Íõí{’lEß¶¬ò”Ãñ„T),q’ÐQr<Ì]G[,}ë– «ÜÅ{VÛ%ø'D)N§g>}ó{¾ûæWüä«·|úî÷H`¹ºäðü„57—7ÿsx¢8Ò“Ž)%M]áû cáxxâêÍ-ýdQ„)ÉrEU•ÄA€13i:Âwy"MS„ŒCÇÐÔx¦glK„0œ{Â0F*A -Rúì_žIóO©Å7Ê÷)Ò(¦”gY®/è'WÌʳŒ¡˜&b¬pÇóÇÇ”!´¢8{–ëKò‹Û׺pAu>‡R ¢,B*C_ALœ/ÉV²|E²Zç)ßÿ;NûçÝ3Cײ\.©ÊaG¤í1³!ÍWÄé†åæÂåú™íæŠãñˆTÏÏëg9òü«?ÿäún@°¯èwé‡Äù‚ÑÌt]CS9ìžPvf}±fÆ0žçÆjÕ©f½^3ÌûJ!×Òežê²æææ-u7 tàò;Êòˆžøi,÷Ÿ¾g,*Ú²¼¸cJ ú¾G¨ºi˜ú–útàêæ–ÛŸÿí4±½¾ ,NŒm´‚Øwq‰Y઎ý€Ä’¦KúÞ ö‡=wDé‚~)«’Û÷oQAFÓwdIŒùÔç’ÕÅFúè $|ú®e»¹¦G„tí¯4ÉÙ,V “„TMGžf”çvv­½ÝËÎaìýˆ|¹Äx‚0ˆX_]‘,¤‹œÅrÁ8:ßd¦±cìzì$Q¾¤©²­±2ÄX-À·/²v&} ðõm‡ò<Œñ„ÂJi²Äi@S´,–—Œ³¡í‡3ÅñÌÐ5Åé茸s™&²Åâõ‚Ý¢%žŸI³„¶¯Ûåû¬6ùÚúŠ$M©›‚,N°v¢í¢0bž&¦i`zž?㉙‹ë7h?àx|!N4‡Ã»·ï(ˆ(JÙ\Þ0 3« §UnúžÇÇGªÓÛwŒãÈÏ~ñGg$†¦8qsûÒ‹[¶×·$‹œ—ç{†é5Œêy$iúšŽ˜ iÌ4ƒüŸþæ¿ùe9u]‘ev2XÏ#Y,)ªŠ¡¨ëŠòx$ö¤›Î1³±ÌS F°\­ØíŸØ®× Æy6°Qè|Ж‰ Y,çÙ™>§ÑA”¥&Y½aV9V,— ¢P³Øn™€ÝófÒÒÓäé‚Åå HÅ?üêï0S‹G†¶ÅÚ‰º*@XΧÇÇ{í³½ºb2Д¾H­‘xØqäç¿ü%w?ÿcnÿàQ~ÄÍí[Ö—w8Ù“ Yfœ‹#Âóɳ <ÏcâlIÆ(%˜‡†¾-Y¯·¼DA†’4Ï9Ï\^¿¡i[/;ºªBˆÒ;Χ3Eqäéá{º² 8œH²œÅz‹ÒõÕ‡ƒ“']…13RÇNû<„ ðÃØ-Ë‚Ù8±L¾X <ÁÐvÏ\^E/™­Ïu\&ÏçXT¨0eD±º¼Ä“>Ó8-r„Ô$Q†§}Qѵ5›ÍÆ<ívÎÜ&¡H7.CŸóñ OtÇ̫Ҭë[‡ÉT ¬ ,Nn?#`œf®ßÜÑÖ%ó8²?¼y÷5ç¢bì[²4çòÍ çª¢k[Ê¢cð…dž-«‹ Š0ŒXo/QQ̈vNOáÉ€âX¥M]Ò­ƒŽîíÜö3žòY.—È¿ùó_|”ÆXCÛV(å!¤Àš;YîÞ¾%N#Â@»Ä¬öñ”“Çýž4ΑQL]D¾&\\¸nü ÄzUÓÐw=7ww$Ù’~š°f¢m:†nbè:·4‹í´mÁÔW„¾&ކ®b:Â(âòö=ùzEQ‰Ã˜iè©«3c]cº1MXë‘ä Ìl‰â”‡/Ÿxs{‹E¤ù†‹›·¼ûƒŸÓM–vè躒¦2 q¾$ÈÖÄIB]©^‰óÛ‹7´íÄïó;nïn1s‡/-qãÇeY ‚€®©©Š‚«›.¯ß`=ïu ^pØ=RW5_>á—òÏyóÕ{ž†¶91dùŠüòŠz™‡ßœÇ3 CÇÔOÄaâŽf"I2®îÞ±;îùüé[O÷H3ÓœODQDÛ”Õ%}šfàâÍ×LžKfËA˜‘¬®Ù¾ûC¢Í–SUñåá3ÏŸ¾åã?üš¹w…oû_hÊ=}Óøyº ¯ YÎêâŠn˜:äéé3óØóÃQZñÛ¿ÿ;iÈîþ#¾v:-øœŽW~Q>ùzƒ'@j͹8#¤Çz³À$§SA²XÄ9]ßRŸ÷Nf&°–ižðT@¶ÞâG³¦è8G)ÛéûŠa0ÄiŽš$Û­.‰—$Ë+fQS aðòüH)Œ•¬·7ܼ}õ/û'¦Ù%CÓ‘-3‚(b«dèZ¦qäúꎡoÚ1OLCƒ5E1E]:ÚIßã áâ)㈘zšÓ‘@û¯ÌbBs}óOx$yF’;ëoÄÔmM²ÈI²mS0M3Sß3´YºàæÝ{ÎUÉñ°ãã÷¿wRìèÛšº.èÚ’®)Ø\nÑaB’æ”å‘¶>"ÿ·û/?œ;’8"ß\ÐMîžaíLà)wÉ•š,Ï8¬·êºAz.G“­@YGËÐvÈWj´ôÜër½½ÄËbNç3IìÓÔ]S0O؉ò°C{ŠÕú’q²g†¶c¹(^¬ÐADœ.ؾ}‹ §Ã­,ã0"ffÂÀ]P›¶eµ¹æp8r}û…°#Bú|õ‹Ÿq.vüêÿþOT‡g&’(q•Ù¾ÁÌ–ÍbéþuÃóý#w7·à)ž;ªsáü|Ø©§©n.ïã Ï °®¯ïðd€õž5 }íSfâ¸ß1Í#ÝÐs>žx¹ÿBYU¼{ÿ𠻇ÏÒ#]n™­ òÃ×)»,7Õ‘º8Ó5=„xŒµa‚çgl.ïHó Áòšüꆲ>’¤Ã<¤1›«+®oß’]l@ƶãúÍ-/‡g>~ótÅ;ôÔçžÉ󔺭ÑÒµ¯9î_ð„‡ð$粤¬ÎøÂyÿêºâÝOÿÉBS8™ fÂ’Å2§î:”1¶];¡´‹ }Ç÷ßýŽÐ×(!èªÊq“Ûž‹Ë-sßR×û§/(Ï#_®Yl¶üî·ÿÀþù Ͼ.†­!T]uäêêŽ7ï¿¢êZ~øþ{ž „ÕjãšÖhI×Ö,ÖW¬/oIÓ-ò?þ÷õ©(Îgö?Ð×óÐaŒÓG¹C«“EIë›KöÇ#JI®noÀ×t]KßutMCn¬8Ìh%©Š ì+îÓ§( À¢…G[60[-ªŽŸüâñ㌯~þÇx:ÄO2.o¿buyC¾¾b}û'ôÃH’,8y¶í[7]¢µ$Ï— cü0åóçO¼ys‡öÇã‘ÅbËwß}ã©Ö’eËÅ=fšg‡´1}‹ò$~äÞ†Éòšsû¢äþãoyüøkÆêÈý?pÜ=±»ÿDY”´CM¾X‘æ NʼnÃþ™ßÿýÿ‹e¹X¸Q¶à°{!‰#´çÓxá%Œ6$St õG7^î?1–JRú m‡Ž"ŠsA†DiÌÃýgno¯N¾j0Ä™ A0NÃk,ÙcF •GSw ý„µ¥Îý0 #Q”&+6×w ó„cæy¦9;¹¡R>³1DqÆÝû¯Ù¼¹áåxt4Á òªòD׸Yu.Y¯ÖTuöI蓤 Ëõ–d•óÍ·¿EZËr±ÄJ8잨Ogò(ÄÌ–qè8<=±Èr Å©âýÏþ èƒ`u}K´¸ÄO—4MÒ¢| ž`2ÓÎ „ Hå§ QšÐ¿êÅŽû=mY’%Uy& %}ß0=uUry}ƒ câ,áãŸÙ¬¶´]çÈîÃD$H?ÁÓ1¾ÉW[Ö·ïñó%çrÇ—ïþž©=S‰D7w.F-}Ò,C1Ùò’O?²øßZnï¾b±¾â›ßÿß¾A´Çr»b¦iRzl¶kŠâDà+NÇ=: ™FãÐH¯µdOŒ}Çr±¤lZšò€c« Ï//˜É²\]áÇ!ey >¾`çÁ‰@•b88¨„±vvée;2#Ö÷&BªòÈòøåæ¡qÅÒ0 Š"’tÅöæ–ÅfMSžøòñ·<|ÿÄ4†x‚ºiØ\mùÍo~0Z)„ øüéž»7w 5Eqäêæ VjòÅ’ÇOß#=-Qœâ Á0t´uC¾Ê)êŠÉÖ› ÷îU•žuú:I–`°hé¿JuR†yæ´?— ž¦þõ8êŽÉBàJÖòðñ;<3Ç>ó<²¹¸àùéž¡¸ûé/¹¸½ãþþ#ž0$Aä–ž¤) â@1·%fì™ÆÀbbêkäÿðßþÓÃ0½fq”¯išš4´ëm—EIÇxV¢Â8)ë1CÄÌfdèZƦEct¢Ã˜—Ý3IqqyA¹¸yEO¦+¼0Fªq9¼ùÉÏÿ/p"Où„QÆÍí-BKžŸ¾àáúXn½Þ®ð´¥k+åäê:ôÉVùÿÇÓ›íÊ’¤éuËÜÌç1Æ=œ}¦Ì¬ÊªêÝM6¤D¢ €€Z‚Wu§ z„ó`º“„(B­FwWeW'Ï´‡˜#|vóA¶Á7Ø;ánöÿß·¶ër9ŸQ–Äs\Ú¦Åq]ô3QÂU6º ³ŒVtƒÍüú¤ƒ“d´ZsÚm8î6ØŽE¯sþö¯þånÃb>§­;Ê“)yÝ(?æñqÏ~óÀáþ3]]Å1~±Û|¦ÎOÈqÂñ<ú¡§k:\×gw0@€¾©I’¶é0FÝA7è¦Æ–ã^˜°?ì8n¾ ¦‘8IÃßµ‘–ÂñSߥm6O÷<üü;ú:çr:3ê‰Yº í5÷Ÿ™Úš¶m¸¹¾c·}b¹X$©S^.¸¾Ùò›ŽÖ€« È»,KÛ¡íÚ¶¦kKleó8 µf±¸¢(+†‚¾ï’„aèñ9-`ªJ òüD‡x¾ÏHoªŽËÐ?ïÍŒ}Ky>bKAÝj¤´ñý[=Ä·ðGL¶M’D|~ÿ=§ÝÎü“D*Ÿd¶ÄvlÆ¡ÇyöhxžÃá²'Œ3ä¿üGøn³} . $,Û\Ž”‡zÔm‰cÛAˆ„Œƒ¦ªkt«)ËŠ4›Ñ¦fh!°ƒaFA4›“-æFí†TUMš_­ãØ”yÅoþø?!Z.p|e4Í…ËùÌ8 ßìKÂ$æióH]VT—ÅùÂâêŽÅÍ+,ÛÃ÷S,˦*Í&:ˆ2Vë[,Ûž LZ3m[!Çß÷ñ\—~p\'ð9Æâø L<=>zÈåÂí‹[&&ºV3ÏÜܾ6gÖåŠÅzt\F ë;”`©OIú¾¦© .—#R)–ëkʺ¦«›ç½Dƒ%-l×K²¼¾ÅõBÎyÁõ͇ÃÑè:G aHá¶Co9ø~†t]”„¾k`ÒH1Qœì·÷äÇ'lkbÐÆ…XæŒà:Š [Zضƒ6×/î8/ ƒ&/MÁkÐLÓÈúêÝõ,—k”ãÒÔ÷™¥0qÿ‰ùl‰n[ú~¢©[’8aè;ªª`9[bÙZ÷TÇpÚïhê’0òGmBŸ–C–-8ïö ,°l„˜¨› ar°äç#›‡ÏdIlÛžÏñt" ê¶ãí/A^ç—3®ëñùýHa€}ÒvÒ¢í*£š+KÄ4r:±¤MÝtÔe‰ü7ÿÕúî¯þßÿϲðýÝv´UÎ<ÍLÒv˜âËv° ©µ¹tf#zu}Kù\G§–üt$ISÒ$5ÑñdN;Àêæš¶ip]ÿÙÛ-ÈæAäñ°½§Øm¡Óñœ¼ÒEë7¯xz|àr:êºà>][c»§ã¶­Xß¾dýò-É▶뀩ïq•cH€]‹í;¤Éœi„qš€¡&<×c±XQÊ–øq‚°q’°˜/±]Ý7ô]ƒk›V`¯;|Ï!N#ÇçÀ¤xñê-»í†ölææË5·wo¹¿ 8ÚŽ»7oùþï¿#t\”˜d¬‚ “SÛÞá´ÝıÁ~v-S×¢\¤$LRzÌű*rädÀu§Ã‘íã=ba ¬©GŒ=ºï(Ë?Œiûü|b9K—º.qü²ªQJ‘$3l7àÅË·€b¾X‘®ÖœŽG’Ôt®µ6F*Ý4^@7ØÊ¦-*Ä$˜Í× Â&Ëæ £Æ#”T4ù™í—ÏÌÓ9¶ë",’’¾×\ßÞrܘ†ÛshZ㸮M×÷ŒŒÓ@^4 ]OèÇt}Ë4š"TÇØ®‹…œfóUqá²ßãÛF¢9é%ÌqSŒš¦¸˜ã~v *aÑ”5ò_ýÃ_½ ¢„¶©è»×3“ÕíšãñÄ,[¡l—¾ki›¦ÑÝ•¢Êsß7õ,å|>#m×õ)ËŠ$I ˜D©6uƒ²Àš ŒbºqàþÃè"G Ó9UYÿ\[Ä>¾2ÃŒZSg„ÖTå…ÏŸ>°}z40b­É ô3Øq]Ü(àéË=«åŠteŠ3×óñ—IÂ0`»ÝcYÏ7T txúò³qÞ=«‹ÝBß‘f©Áï86ûíÛ ÈË3ÛÏ?°N3,Ë&ÉVÆÿ k"Çæt:eÁ4¢›eK×7(!¨‹ ßõMcQkÒÙ‚~Ðt&Ìfà(6<_R£ 0G3 e]ò´ÙãûÆ¡Wù38Y£{MàÔE+mÂÀìvÎ…±õz¾Öš—oßg𦡬JN—=c?ÄÊvÐuÍ V·/è(« Ó  ݵè¡ç«?ø–×·4mN§[â(ärÜS×-~ eZMe<ñÊæx<²º¾¦Ñš Éjukâ3–iaJ%8O¦6,—Ñ0z†|O­²õ!­g‡»Ålžñpÿ|û@†(GÑ5-¶ë°ºzÁØH Æq¢*öÐk¦¡GÙù_&ïî^½ä|>€Tì¶V³IÓw=Žï’,A1 Ëõ5n”p<ì|KLÂ2Ðá*çîÕ[„2Yúlž¡‡çb~/ðBŸ0ŒÂB*É4i>~xÏÔöDñן¥~(99¶HeQ”ªË…i”UÍhtmG²¼ÂrM‰©×ºn(‹ ûÇÏØÓÊ!Y¬iª†ÕbÁ%?0 çKÍíí®íâ… §ãÅ$@Ó9žÐêe \ߣ¬j‚8Å‹æœ/G.ÇGÒ0à|ÜãÚ6ÇSNÝu|õ‹ßðÓûïñ­ž¡mOLè¦AŒ“ùÁeUquõ‚¼*±€ Nžùål4m­Fˆ „qDÓÖØŽc ÐmÇfcªÖ8 -R–Ñ“%K†ÑzÆÜŒ\ݾFyƒîñ\ÏÔL¥E¶Zá†O÷÷¤³k®î¾b»?ãù>?~àøð™4ô8ŸÏä—£a½êžl¾ÀuùyCÏr¹¤®k,Ë"I3ôdñú«o©ê‚ÃΈyÊ¢0Ý{iÓµÚP8¼€ÅÕÃhÜ„M«ÉÒ9®çaY’¾3Sªa캞n0ŸÅçÏŸY]ÝÐi Lø¾K×Õ,súg·`Û’( 9ížÐmGº¸Æ’ 帤‹5óåšÃiCUÄI‚˜F¤˜hêŠIHä?ýÕÍ»ÕrÍÓv‡å¸Ä~ÄÕí5zªÉ©‹š(YÌìw{Ó¸“Q»Š ‹ËÙD@¾úö[v—#®ï™ùó8 YzÍõË7,¯^àEÒ6œ[¥\Ü åáÇ)šG ~þþ·”— óù Kš€ãÚ¸žTÒ$x‡×3Oë0H™ÏV„q†rBð|š~àËÏ?qÙïp•ÇÕë·`98ÒeÒ=ÖØSë/ˆ˜/WXÒ‚ÒùœÕõ³åa ŠÓ™A¬¯n8œäûW×·tz NgÄÙŒfKªòŒ¢7 goàË‘Ö-§£´(7@*…ëØœŽ;G!¤EÓjqšr¹œaìIf)MÕ!… zFî‡~DU”ÈÑÇE1"ú Kh†®Ã–®¯(ª‚¶ëñ‡͖˥ #’4¥Ÿ ·ª¬ Ú¶¤m[l/¤Ê N» ± »Ý´X@<3ú„"?ññÇï鵯’‰ç¥Ü¾úÇéZãÉÏ&1PœOENôœT¶åÈÇO?£¼Û‹©Š†$‹éuËõj&ô`¢õ®Ñt Ž´Y]ß1Ù,cµÊhê! ™_Ñu]] ¥Âs”%9'üx†í8&:?›Swfoɉ<Ϲzñ‚ÝÞÉ}ϧ©[äýç¿z'ÄDÕ4L]Çb>c¾^2I¨«†ËáDÆtÚ`âÏxò‡ Yœ$ ®ë±¸Z±ÛoY®VX–Àìå-låq÷ækœ$b¤§ïk.—=»§ÊêÌióˆç:Œ]ƒ«L‹«F”mžÒaœ–kßrÚo@÷è¶'‰öû=–pˆ²%—ãž¡«qxžb4¶%©ëaI¾|úÈÍÍ-žï#\ÒÂõ}¶ûm[³¹à°{à|Ú³ßîp=dõ‚ÙòŠxqÅñ´§.J"Ï£Ì/DQ€îkÆ ?¡LŸ…Q#-2s\¤¹tZÒ¡i„H%¹¾½CÚ6m[3 ¡oø¾ò™ì7Mi’2ô½y’õ=ºnq]Çqùýï~Ëb–b;6^ÒT5Ÿ?$KSªªÄõ< ä|¹pÿÀÍÕšqGYÌ’= Œ£ÀuCþòÿü?H<£;N“„óö‰òr$œ-ŽÇ0´µAu )q¥Ífk"Ëõ5u‘Eë/AB•Ÿ¸œöfú×™¨²mº¦§È/ŒteçXX¢§, ¢(Ḥ*/ $Ž²é»Žaj9m¿Pœö¸žÄvùéDeL“ÅÓfO:_°ßÞãÙ’q 0#[PM7')–²ai‹kêi›ŠËéL4[ëWc9ûÃùßÎÞz`µzÁ0YüÑŸü)û枦,±,‡(1Hé(”€ Œé'I]T mÃõÕ ÂÙŒ¶k‚ˆa(À(yûÕ·\¿ü á9ŒcÇnsÏ矤¾œp•ë˜Æ–”’ºªñ½8NhôÈ$&¬aDŒ#uS˜–¡ž ¨W*¤R<=<°^Î8mŠº®ÑCOU—4U˜`6˘†¦ª¨*³'Y¿xÁÃÓ=¶œx¸ÿÂ4B6_ã!E] äD¾y¤;ÙÕ q’‘çG˜4ÅiO†,æKôýØóþ‡ïL¶ïèÛŽiL´ðº²$Š#¤í0ö]Õ€°HÓ̯Ï'G¡×füG)§ÝFÈfsò“!ž·uEEœ{â8@wš8I(êܨ=×€-,Ë<‹š44tÀÍnÇ$³…™ í¶[º®ËÇU’¦<òâÅk:­)ªå™ãs2Ëp\—ºnX¬–k0qœgùã4Ifë5Ñú–óaKSž¨ó UQ0_¬È‹œóþˆï¹œŽ'ÒùНóÇ|y¸ç²ß˜£Ð`sQ#ŒãÄ8vì7Öóu]ñÃw¿åíÛoøðþ#Âxóö[„TXRrÞ=q:WÄó5q²2÷6K’¦m×â¹—Ó i[x¾Ë4dÉŒÏ?2_$vO¤ó^"ÿé··ïÆ¶áíë7„óˆn¬ÉOò㑮빺}I¶ºÆ›Íуæ|:’ÄÊ7Òl±"]^1N#Žâ¸Žç“&«ëkü8FE.÷?ñôùG.»†ª$ñü8Cë× Æ‘¦¬MŽe±b±^ÑO·o)›0Œxz|d–-8œN„¡O7hÂt†ai)”’\Ý<ƒŽÁ³`‘ãÐã% M[±{Þ¬×WX–äó‡Ÿi‹3“nhêÜ\$›1j,}«™†ÇSX®ñ·Ú²"Îf´ýÄù|F·Fä^ä“ҔʌBé)N{×Ç #\G1õ=ã82#SßG Mßã….yQ0t½aR9†Æ‘d §³©—¶&NÚÊ”³tQº`˜ŒEˆq4»žÑ|.ý4r).øaÈ8 ,i†f“güÐç°=Ei’"øAÌ÷?üÌõÍ Šã–åÒÀ×f‹ÄiFYµhÝÓÖ5·¯_EðqGy9ŸÌ’zì9íŽXÀÄH…äÅ…sY±X-8춬²Œº)ñ¢”l¹¢é;,iq:p-xf§t,ˆgk²lÆñxá×ú¹ýÅÐÓ¶bPÒ¢ô$‚ÄDßõA„üüæã\½|CYHK’ÍbʶB· ¶ Y]_#ƒß Ç‘‡ûæ2éøa“ç ‹l‰n5ðgÿ釴mÅé°¡)Œ×ÂBÙ6ºïéú‰ Ëx7´I¥ÅÙŒw§‰iËñô€’0™1ŒKŒ8®¤È+îî^èi«†Q÷H;À ´8Žc=Ðé†aè™/W¬®_PwÏ–f18M8¾Ö5QbYÇs‡‘º¨Ø?=à»I² ,Í5 BlÇC)‡ÐS\Î;îFòºb’—Ë]Йt€šù0À0¹f^ÌæÒ5<(ÏñÐz¢®ZîïïQÒb5›a)I?õù‘4Žéõ„Šd¹Ä‰|„ Ÿ¶©H³ˆ¾+ ×èºa'\ÇÅõº¶bÐ CWQ^N¸J"å„ë*ÒÙ–ã£lÉåx î%a3_.‘Òá|)˜e3Âd‰e{ˆIà¹.Eqa}µfûôH›ag—–LÛæ|>áº.Çã%,‚ à§÷ï±,I6Ÿ3 šº¼ðþ§ùê«o‰²Œ^·è¶`÷ðÉÈ4º%âDñŒd¾D×ÀQu™£Áqw Ç ´6èÙ0x|º'pººƒQà:.÷ŸFè[*ê²"z®Ëÿõ_ÿÅ»8[„³«×D‹9Q6çœWøŽƒR‚®íX-nP^ ÊB— Ò ‘¶GvµbPGĤ‰g3š¶ár>­hõH|?b¾ºc±ºÁ’FXïº]×ðùóººÃ–ÙbM7LUN¯5®ãb)—t¾¦ÇÂuzÝ"•ã!ÉŠòL[œéº–®mèšÖèÍÚ†ÓîÀ‹wô“FXó2¹áñËGtW3‚8žSw#ŽðêÍ×d«Ô£ÅÍ›¯¹ûêÈ0¤¨+‚(y&2údóƒî ^JŠý#}W!°Ì²É1ˆ Û‹Ï5Xtm°:ŽÇ$m&)ô€Ö ‡ËWoßòûïþÇ–\Ý\áº.][a»Š8Ié'(‹œãá@šd$éœ(IéP¬®ï(«ŽÀwÀ¥«È/g”íâmcœç8î”eMè;¤³£’¤³9/ß¾e/NùÕ?øc¤«xøòY³º¹F)IQšÈ¶£|¢$%J DbÐÏ~í®¥kkš"Ç"Š¢ÁqMÛ²=îYÎW [Æ^£Õ¥m IDATõ@¾Û„¶ u˨5CSѵßU†1æ¹8ŽãÅ,¯¯q<ÝWì68RÒ#§ó…(б%Çýâx¢ijó…·MÀOf$óm7à(›(ò¨Û†q²‘ÿý?ÿ“w׫5Ò¹ûÊ& }¾|úÀ<ɈfKÂ$c6û¼¤íF:Ý3ŸÍ™,a^—]Ë ;Cìž&º¶ÅóÎUÅ~³c‘]ñæ›?ÄOc„œ¸œöÔʼn¾«¨«‹y"ø)ý0‘_rVë+ú¾#fdËâå’ɚ臆¦Ì9vL½f,$®ë?O0vˆi :¤ë0!èÇAÏÐw´MC”¤”uç¸\ÝÜàxž FÁüúq’šKìrA¶˜sÿùGž>ÿŒï9v_ø›ÿûÿ"ð#ꦆq`uµÄq,:ÝðéÓÇg¤L‹í88Aˆr\‚اkÌùÿ°;§ „°èšÇq©‹‚¾kˆ¢¾½€üx`h BßÃñfdókêVbŸ%èûËqžû]ÝQ>/¼¼ÈG*²ȶÊ釖ÍfdÙ lŸ04dËñX¬$‹³›;Ü æÇ~ÇwýúŽ([ð7õW¸®âxÞ#¤âéiÇ‹W¯iÛŽ¦®˜/Rªü„uišunŠ^]? DO§;lË‘P·Faä4B’-–èI0³ÙíIÒ,…m)šº¥®5¯Þ~Íåyòw|üÂÔUtmAèÇܼ|E§òüÌbqÅÕÝ„íºcÒ5%Aä3 “þ=¬¯Öìw„´(ªÖ´VÿÙܾ‹ã”«7¿¤Ó—ý=mqf¹¼BO‚K‘£žÌJ”Ç/<½ÿßË2=^ÝV8ÊbÞ~ý-–íssw‡²àææ–( (Ê=§Ý=ÇÍ#uuA)Ë(¶¢Û1,†ž»Wo膑ëÛ;\?‰º¶`÷ð™ü¸§)JÆ-Ý9ÖÐ!`;,Ö7èi¢Ÿ,°<ºÁPÄ×¥éfW/LÏѽEß[ÿ‘Á´ºûŠäêµîÍ&»®ø÷ÿî/ùüþ'leS^vl>~@1ÑVšþ™¸÷áýâ(át:âÚfF¯l…î[×1Þ Ç! ¶jJ³ŠS6OxŽÃ8ômÍ0 8ŽB·5—Ã%érͩԌÒ5Z·lÁr½&/+ªªÂulº¶Å÷]o|#?þýwŒýH; |óí¯®‹x¡‡F„‘ï¹ôMÉ4ެoï¸ûÕ¯ˆ²9Ÿï?óóχX-TEIàú¡t)yõæ[ž¶„®ƒ­¤¡‘.eq -xŽ!È7Z#F‹®3Þö %,,KÐkãFØ–‚i@*›¦‡«¯˜„@)‰‡ŒÓD[®ÇÈ„Fñ ÇX^]!ÄDÛûì|>£kj¾|ü‘â°CXãd.÷J)œ  ï;š¦¦)K”°èÊ#u~d‚ÛÛ—æN+zÚâ€ü7ÿꟼsœ$K™Æ–*?“ŸNœ;Š‹)äœw{”eÑ45¶´q¤¢ÌÏ9!¬‰8̶ÑŒ¾5¥®®¨Ê“¡Þw ma€ ~Œr}êÖ¼n§a4z­h†íÄܽú; 8ŸŸØ>¼gwÿž.Ï™¥+”åà?7ÄÇÁ c6 DAÀ"›‘d óE†çؤé É@ùøÒÂv|ß'Éâå T„°m&ËâÓûßòÃßþ5Çí–×o^‘Ÿ¶dqŒ5ÁîiC¦Ü¼|M8‹Ùm>™ÿ³©9,mUÿölç–’ëyhFš¶fÿø…A7(%iË%ä„¶× EY £åø´ÃÄ(\„åqóêžv;\Ï&KôdH!X6iºb(P–¿xñš~ܾGwa`;Å%GZ’ NI–k^û°º«8ìŸÈO'l9Qž¸l·Ü\¿àÃÏ?q|ø™Èq¸ÿô3‘#™/¯Ifk†aB* G˜1í~÷„çy ÓС»„09­q k[4¶¡AŽnð¸}"}¼À5úÒ0Ì®_¾1Õå¡%I]+]¬ ÔO·—MYÐw­n°•EÄTukˆ‘ÃÄùœ£<‡ªÌñ<©Ÿxz¸g¹Z3NNbIÛH—k^~õ ý4 ÿ·ÿù|WÖ%0P7]7ðùÃ{Úê‚mÛ¸¶CGÄ録nÀa³'ˆg¤³+ʺçêúŽ Iß·x‹R6—Ó–±+èÊŠ®kišŠ¶h˜FÁòú޼n̴꼄luÃ˯‰åº\ò3§ãUyD×µÉè$Kü(¥,Gáú6Êö9·ÌÓKX&¸7ƒP]×”U# yB#Žksûò%ÙõŠF7äÅ…ü¸åó¿åËÇ,1Ó©8pyøüÐwbät80M ,‹A7œ{Ú¦aìk\)M0Ò‚ù,ãþËww¯)ª [*””øŽÍåx`¶¸b%uÕ'Ý0¢\éÄLHºº"p%nPUEY!™˜¦Ž¦i8ŸNìî?!±xõÕ/9ŸOÆ4jMl¿`1p8<‘ŸM¦m¶º"<ÛÁu<Ç#]¬I—×Ä«kâ4¥(rî?}äýwß‘E1u^86C×3Z¶%(Ë/Xpu÷ŠËéH~ÚSWæíWæ9çãŽ(4T|Û¶‰“”¦miË5¸®ÃhYØ~ÀÓÃ#º.±¦ ˶yñú ºëM)KÚ ùåBy<±ZͰlÏ ð“”²®ñ\3!£`–­h#š l‚(FÚ]]rÞl`êèëÝjc±ê5U]r÷òE~¢Ê „4ܬq‚ÅÍKäÿþoÿõ»¶oIçs¤ãq*Nüø»ß(?LèúŽÃvƒD°˜Ïéú–d6#?_xóú-ýØ“Íçi…!˜†–ýýgÚÊxåFE~AIŨü Äõ]vüæ×ÿˆÕ«;úi¤ÌO\Ž[?qÞnÝP ,Ó!ï;„R|ùü ÁD§;6›šóžÌwØv ÃÀvóÄa¿1—v)ÑmNÛƒå„t£¤k~øûßR÷è¦æ¼dhk‚ 6™Ïááážõõšªj¸ÿôÑÐó†žËù@䛈u‘_p”2Žç8v˜Í±CŸãqm)¼0Æö\†q Êk„°°ƒ'Š8È ”m³ß?Pœ/Fµ•ç å‘Qx®R.žçQ\Ô—#žëS5Zkæ‹Ëõ5}?p8l ”Øöq¤Å4´ ~þñ'ÚÑ¢<æë—¼úåo¦‰ÝöžºÌùû¿ûkb׸ ;­)/Kp>nql…´’Õ5Òõñ£=ö8ŽÇ8õÌæ™‘ÇôšÅzMQäù™8š!•¤×š¦iXÞ¾¤ÒÇͺ:Çó¤ãÄ)ÛÝž4‰pâ¡cßâ(AÓµñr½¢¨rª²à|¾fK<ϫʦÁR1…­<ì0¡L5"™]£§ž¦n¹½}eþ·üÈêꊑ‰0Ù<> ó3®ãàû>LE^!ÿÉ·/Þ%1é¾cûøÈõrÅõúŽÕú'xzx ŒIÕ"ú¡£. ®^¼@¸>Ëëkªº@J1h›š0Ê(Ê ”¢, ót°N¢× ˆƒ˜ÙbEQž8lî™zëù.9b²±¥9«‡¡g–K ŒÃˆÖÕå‚ç8H žc1N“”œÏ%®MÛÐÖ-‘›òKSÓµ5e^°^­é‡‰¾m £7¨Š‚ÅrÁãfÃruÅñx¢<± ½æúêi=Ñš Äd^Ç– ,vMM:[p:a€^ŽMßk´î(ËÏ L…nF.ÂMHW/Ê&™ßàQš`»Ò˜œÂa`)zÝÒW9]]ЖeqÀÒÙ’‘‰(L®‡r"„ôL„$ðxýÕk\ß%Ï/fI:¶üÿþ/¡˜e š¶%ð=¾|~OyäÅ™0ŠQJÒ55JYöèÍ©i KÓ¡'MßÄQüìWlˆBŸ¦k°l—8[±ÛmÑÅz#½{óý¤«‚ÓþÈÕíJZ¸ÊÁ "¼0¢* ‚lA­%I¶0w/4æ\!q]›8 Iç»ÃŽt¾`~u…%ïí¯ÿ„8]ÒêŽõzÉöé,Ž(Ž'tב&B9L£Æ²çã‘¢(ñŸýÑ;[Z{în_P\öÌ—+ªNs:87¸Ja ‰î4~¢ÛšùrÍl}c ¨ûº¦¢.ÎŒcO]Üÿø¯^¾Å CüÀ£Ftžã³X]¥1UÓè†ò’“¦±ÙtŽ#®c‘Ÿ·äÇ-¯noùòé#ãÄ)n‡ßwÍ—±.ö„íùXʡգQw-u™y.Ûà ¥ºiÒfdBX#›/ñlAà‡ô“¡Å™8ŠÙ>=á ž£ã”6ʶŒ¼ÑñhêGÚLÓ€e òsN’¦äE#ÝÐDJ),ÛÁ‹"öû=³lÎi·Ã¦cšL&¨m Úêˆ=VÔ—=º©Ðz ºhŠ‚Å|ISž±­)ŠA>=¶_>áù>·ww”MC†Ø¶ƒ£$ʲxýÕ×dËn Áßþõ ËB>üþ÷ U –Ëòú†Ãቪ<3=Q”ÐÔ5Q™ˆ¯éuOè:Xô†}[Ö„Ah`kã€c+F$®P7-Qœ2Ž#ý8ÑmUe £|°Û>Ѿ²IÒi{HGzÙ|N¶¼Å²Cs|_ßÐÖùé‘A—žGS5ÜzÏÔ·ìw{¾|þ‚T§Ã=?ÿ;¤1vqÂ׿þSª®GX»Í=³4å»ï¾G9 ÒKà =yÈ¿ø/þü]žçv[ú¶%K2sî.sÄëëØ®Oœ-˜”E]HÛÇqGÒ÷ LæKS—%ÅùLšÍÈ/.§£¹ô¹.Ó0²^]›ô¢Òõš¢,¸÷ì?P÷Tç#M]™Íó2 ¦É6Tt̲!´¦© ’8 LbŽÇçýž(ˆy|zd‘Íp|—Óþ€§\E]áyžm“ŸO0ôXHâdNQ8ŽÅv·c¾X°Úp>ݘÖÒ²)ò3ó,)˜ÆaAÛ™LU×uæ|;MAˆ°•©¤ŽÙlE«5–e^ú ÂR\ö[¢Øe¿}$´ƒ.±…YVÅ‘À Y^ß°y|0Ú…8ãRž±%”ÅWÚÏ’Ÿ éL£™ ®®¯¸ìqhŠ#Ûí†Û»—t“ Rî¶öOÌ¢”ýö q’Ðt¶²™­<=Þ3´é,¥kÛcšƾǖ†¦Ç(Ë‚Èñé»[ÚôýH:›3ˆ‘¾×ômÏl¾0q!iaKt},'D*Ÿ ™#lŸ²¨Ð}Çl1g³ßQ9O÷LÀž&öÇJªÓ‘®>Ó7t›3t=J9ÌæÅiÇ84,3²$£ï-†ÉFJ÷ÙËâòáÃ']3_¤øžÏlõŠn„ I Å›Fkè;äÿô/ÿüJ!måx”Å5I®¯oh†Šïÿ[º¢ÀóB|?!bãÑs—ó¶>3t-L‚¢ºpÙoéÛ‘_þæhtË0öˆa$ŠRÖ×7ôƒ¦¸Øn¾PW%ž´Içk„ôqý€¶«iÚžõÕ£˜'‹ÕrM?´å ϵˆ}€ªi‘Â"#t×aÙŠ¶HWX¢,/8~H^Öøž‡î:|Ïc¿ÛAß’Ì2¦qDI…R.UÛ'3» ®cg¯4;¦0L¼£­ÌèQH¢$3¶Ó0¡×=nPT §ã–ÅreÆØbÀ‹"„%yøò™,‰8žð\×ã˜iìAŒH7D¶¿ Ó³yŒdWW(ÛÆQ¥*&@ÚLŽ »Šã逖«+„ã¡‘8¾Ëv¿asÿ…º¬¸6dIÊ~·ÃýMcªÀIšòåý{Ò$Å"Ž—Žãú>õsvbbì¢lN£bb1!]ŸÅÕ ŠKI[×&<9‚' ]k6ÚMÃOßý 45A[ÕȱCȉÙrÅç÷ß“&!–tº#Ž"’ÀeìjæË9ŹÀVå8ŒÏð7KJôØc Áñ´ãñÓﻜ¡:r|ø‰â¸a¿}¢¯ΗŽt~ÍÏ? MCzº¶2615"†]ÿËû_¾ëúÛ–è¾Gëžqи®G’-Ùw§#u^g LàzfR3Mã¤8lŽdI†ÆÛÃ÷cü a}÷ša2f ßuRP—ê2'ŽÒg…±¦©MÒUHð|?L(/%Y–‘®æWòøù‘ï#-…r$»ýô@šÍ±¥Cš-8œ.œö;¬i`¶˜á†!yQÐkmVuCúœÏG[áø>m× ž·ðÁaóÇsŽý<…²‘J ¤¢®KlÇeÐi9<>mp^·xžošiJ±\¯h»žÕrÍ` ƒ~é'êç¨FšÎØï‚˜0NQAÀÄDU\u‹n+¤51ö-ÊØ®Ç~¿áøô„|fSIÛFÚU]ÑkÊcí³Õ5]Ó²{zBô‹õšËq‹§”y»H ä‡#qà8 Ï3–¥ãaKe”e‰R6^`hø®R(˨§ãå’IIt[£$éàE ²ëÆq ®/Œ]ÍзdILÛ•Ïž¿]u8ÊFëŽ0 Ê(âhÆ¥,q¼€ÀX¬W”Å Ý™ø4MXJâ¹>ÙjM~9ÒÕ³ùŠ®øðÃwx#ä±ll¥ µ±.ð¤0¥§® ?cusI×6=PÕé$ásŸüžcÌÂÒu‘¶Cäy…„ØŽ…çXlKFÓc¼ñBhÚ®çpÿ˜ÝzõÅkOþÑ|൛‹gh50žÌXo6tMÅv¹¤ØeøH¦ó)]]Å1¶cF½mé …-„)¥жnˆƒai<ßÃs}º~Àuº×õ\3³x”uE’Œˆo+B~R×¶Íö‘Ò¹u]ØáÈ Í&äER}Û²wtJ¶Í)òŒÀÇܬ¯¸{ï,a3Ïhûž,ßà¹fÒÖ²0³>Y…-m’ñ˜âV¾™e[lÛGõоmq\˱–0à‡ÐÇõ=ê"»•Ü{4UÍÐÖ$ñ˜¶×¸žV†5kÙÂÒ¸¾éœ—»£45‰tQ½bq}a2ÛA@œŒ)ë‚¡¯Í» ÚÐTèhÍ :¶«DWR¬nèÊ¡ ,U¢ûºÍˆC®7°²ÃÃcvÛ ƒên³ØŽËÐw8Ò¶-,iÓtŠ(#¥qž†yU&_áxh?®òÒ<èK3Vçþ˨a`³¼"ðMDa»]Ñ75ãñ”A Úº1lä®Cº¶ â Ž0%ĉ‡%tß3M©›šýÃC¼ Û®xúî;æy6Ï9<¾ƒÒæ‹Ï±CÛáJsÔÞmwAHSVT»žoÓõ-uÝÒ4šõfƒciâÀgµÞÆ”»-ÿÎÿƒâ‡?ö™‡òG~ö“¿ú}¯›÷î= ,[šº§« 2SJM×Õ–#RX+”jÙnWØ2Dõq.~’ŒÇ”MpâÉœ®ÍÙ\?ay½`qõi „ÖLÆ#~í³Ÿ&ð\²m¶Ï0X }k¾ %Ù–ó³3<2šOçÄqŠp<..¯98ºËÁñ=úa j¦ã çg„ŽE<±c]›MìJ„0cÖËÅ%£ñ„fèÀ :†¾E©Ë¬×F㉠öס碱†™„¶S´UÅ8Iq}ÉlvK¶P¦û+4ƒR¬79³½#¼ =жyžƒÄaLÇ,×Fñ%mä]ݳ¨tz0²K BZØŽ$ #šNá{>Ž/±l [Út}OUu8Žy–Rz Ì à 7ØPßöyå}¤ »š^ ŒRÓWºÛs@Àx2§Ó ­ñtŒù®`2ãùñd„ÖЩ†élJUähÝÓu }gŒNÂèÓÏZ,·²zP¤L¦)GG‡¬–7è¾Å±áòùsÞóÞ÷svöèÙ®–´uMxñ•W9;?£« s¬ |3¶´ÙPqÓ´éh÷-M]à».U¥ÁƒåÓU-çÒ5=M]ðg~Ÿø‘}ú!·KüÌgž>ü™×Ï~ý×|ø58q`tJ€¦©’ޱ]›ªÈнá|Nfó/'º®ÛF -$q’à9‚·?ÿiº*Ç N^¸ÏÓóçܽ÷7—7h­™Ïæ¬v,KãÙ‚ª(ˆã)£é2çæÙÞ n2¡©kºÚ¦Ú,i«ßõŽÅ0XøAÀêæŠ phª†ÀóiëŠaè±=¥1C­}‹ªgK0™Ž(6l¯ŸGÿÁ_þ[â'?ñÆ7Ä?´1~}ýõþÂÃþûŸxøµ_ý¡×¼pL«ÚÁa:?0zZ/ 4Í ¨Êо, .ÕЙœBÑÔ‹‹sÖ× îÞ}@Õõ´mI™çäEŽí×7Ìg{EFÛTA‚Vº4±ËŠÛ­éh²üÝåÐäH4åÆ4‘´åP¶o¿ñ+è¦A"©‹š;/½ÄÙÙ9Q¥cæ{”·ê4úž0 ”2jÛ| jhÚƒ%}N^xXòl‡j;KÓ·%Q£»†z·¥iv j <Ç%Ï0 µñÞ)›õнƒ^xÏ{V!IˆâºkOÆÙ–j»¥Ì2&ó}êºÃ±mî¾ò*çÏð|(N±—¾ï(óŒ¶.È6¦ãŒÐXF HUUtUA¹YÁЃj¹|ú”Q!¤ …IÛe»YciÓtlËŽÀ醞F ,—+Fi`èêñÇvéÛŒahxãõÏ"´&ŠCÚ¦c±¼1¼^i“å[ÏF+E‰ç'´­¡6a€eiúIaÌÐÐg[,Ëæàøãù>Ò6ˆÖë›Kê¢ÆBã{¶ïQÖ%§§§\œŸ“Žz=¢aÛQe[\ÛÆ²¤q–…©àõFK!èhËŒºjøŽü¸à7Y¿é_ü•oÿÝ+}+Mì5Hb”e†mYP—;&{÷pÂýвË6tUI9½s/NX®®Ù,¯Ç ÉtÆù³wY-®¥Sæ‡÷h{CoÛŽ¶.Çc”jq‡‹zÐÔÅŽÍÅ;„¶&Žp<’tÄÓwcY.AàaÛIšòÎÞäÁ{^¥ë Æ]Š|K§¼ýö;tÅë6>©UOàùèÛ ™eùÔjÀ¶4Óý}¤´Ø®o(w;‚À7ÂÈ*'ðcÚ¦Aë–¡ïÙ›LÀ–¸É>o=zÌ?õÏ|„Oꤱ+C²d4Ý'%\ž?A55mS3 ¡ZÜ b·ÍšÛw锯‚(ðA ”ÅŽ¾ép}Ÿçï>!ô|ü8¢W¶”4j0lZÛ½-©¢àááA³ÙípÜ€¾ïY]^rx°Ï&Ï©‹šùÑ):˜Q.³ ¡­Y¯/)ó-¾£Qj06Y×c»ÝзŠýùœ«ó'x @H!ˆã1žç¢º–Åâ’0qƒÔàWw9‚¡oLÅϲhZaú]ºCHs·âWZ,¯/Ù,.ÑÀ¥5ƒÖœ¼ø"‹Õ’¦-p¥CœŒÙe[–ÏŸº>M§‰Ó”&ßR;TW1™NÀü™¿øcÿŸ×ýÿëŽñ×ÿüëÿ¹÷ß} éÒÔ-Ž-98¾Ãd67ˆÉœt<ÇölÂ$¢n*Ú¶áðà„¦ƒ$I‰G uß3›NÉó×v(ŠÕ5ì¶KFÏâæU‘áûûøi„²,òº¤«sšbËv³Á¶|¤eÑ6±oSŽŽO ´ ©M¼WXRRf[Éò‚Ó#ž>yL_—‚×#M IDATƒãbIðÁ :¤eºÉÙvÍÐ7”UFœÎéû-Às=ò w°mºNQä+¼Ð!|6«à…¥Z.Îc©"ÛmY_¯H'ûDã9›mÒ ºÉXß<z”P„eä-žçâ:.ƒ%T‹íz RdàÝ•‚8%œŽq|„@8’ªV$ñ˜2ËHÂË¢k{ŽN¨›‚*_âº.uÓRÕ ËÅ5t ¨Ûvj ïk†¾¥, ,<_Ò·%÷î¿bÀ“6ÃÐR55Qœ D{Wl9<>áõ×?‹êJf“Z–Àd+†^˜ÏP³º~ÎúæŠ(°xvöÏqˆGŽçG »¼Àv}Ú¦†|ÏåúÙS’ÑKzt} }Ë·~ßß?öK~Kâ·¼1¾¸A~é‡?õ‰/<ü£~Ïkƒê™Î ǨëZ@°¿d0+Ò6„;­Y¯–8¶knñM…°]­§ ]ß1 šÀ ˆÇ#ò²$ÏXª"_-™Mgl·9A!…´QQ+›ªQ¤q„´-¤e±¸:g:›a;WWg¬nVŒ&s´e¡Û–®.I‚€óçOØ.¯8Ü;àèô>‹Õ[ „†(Ž)ë ÏsÙmWØ–ù­—WæÛ5Œþ·Qx¾‰üZ  {„¶Œg{t½©jÅé”›k3Š]µ=ãùŒÍÊXM‡®gq}cHñˆ¢nÑÂAõ{ÇLp‚˜½ýF³}l/Äó|ÇqÍçâ{¬èA ú¥jT[ÑkêlI¹[R—9Û]Fà4UÎáá«›+T¯‘nŠ?>$Hç`KFãëÝ–«ówñ]A×d؃¡úaHEl×K,¡QZÑÔÒ¶‰G)M] ûÚXS‹mUã A¹Û ´&ÛnöN¸¾¾!Œ‚  ¾}æCw4UF¹Û0ÌÙ?:a›•$ILžeXRÒc„¦go¿M¸x!2ª¶'JS²2ghkâ(%/r ä[þ»ü6–üÇýÿÅÏ?üÑ_xãáG^š¿Ç·ÑS×-z0r@ÇöŒÛBõ”¹)Ÿum´mʪd6ßõp\‡"["-Íõù™¹]®î98=e·Y"t­b»YSç+"×f¹¼Â–>®¤Ëë &É”  ”æøÎ=„í°Z]3Š#¤ë°w|—¢4Õé:¨¡%ô )OiÁf¹ÂÒ¦çÏŸ!‘ÌOÈ« ›d4f»Ù!”ÂqJú^Óu ¾-i”E¦Äã1êÝà‹eÛ0Ýcÿø2Œ)ZØŠ$Ót-¶ ¾ï úÛÕµ mk†ÿêé:ØŽƒjüÈÇv=ʦGÚÆß¡n]uU¶#Š&8žO4›3jײ·7ãüÙ3¦“ Ç/¾€¶ú¦C(MYl©Ê!mNiUG¯´i—6àACÆôh|ß§ëZ\Ç¡.2ä`Ý)ê|‡¥Õ-XPk¦iH±[¡•"MGqHÛ7”ÙŽ¡é(ú¦Æ’i»ìŠ¥ßÇóCzÕ5`I ¥:£xp#”VôÂv}<Ï¥)+â4¥*Kö™/醸õe©_ðÿ¹ïõ{¾M»®Cà'äeNºXª¶Bï4ºí¹ºZãZUµô–"ß^à8>ñ(e³Ýryö˜(&{ÌçD£€ÃãcÀvL¬1ˆêUC] ]ÇñáeÞpp|ÂbµàÁýùÜoz¥Î |Tƒåir…¸€D©éjaÑ÷C×2èž¾wñüˆ0šp°‚f ï¡u¾­²dyI§Œ@Eip\P–9aœbYÐ÷-ªUqrKæ»Aˆ1R(Úb‰Š]ÖW-Íç´¹j9½û"]Ù°w0gy³ Hö°œé‡Ü|áMq:BhÍl2Á½ŽºŽgv®£COU®)óB)&“1MmPïÝ%ž³ÚìÌh·í"4Hé¦ Ùn‹cKÂ0fµ5ªˆ¦2w15 ôÊô×Áõ\²²¢ÈJÆéÈġ˒(òðC#ëÌ‹÷>nãy1m×ð ÿé_úßÿÈ‘/åúÞïøfíZ&mçJ›É|¶@u ¾ã¢TOè»l7K²Íd‚^u¨FÓ«OZøÏÉÝûôƒ¦éÁ Æ4µ"IÝF>OŸâù>‹« èBÏãpöüÜŒX ‡ãïÓ »åC§hªÖÐHtO×–KâøY–s}ùœétŸ NðCãÉ[^_BÓÒ”Žm¦Z“É„¼Èé« Çi[ÍdvÀÙó§Ø^xùý àêÝ7Z¸ÿêïãzsC'tƒ2!|˵|¢Ð§*· ôH)ÑJpr÷Ž`û>_xóu¬®#[]ptr¢¬iÊŠ¦iqüh:cÿà˜w½I~s†d ͨ8¾OàXœ?yÄ»/c…ï>yÌ4öyûñcÂhÄ{Þû2=âæfƒç8ܽÿ€ÙÞ»õ ®”Ü{åUzÕÓ×%Ïž<ÆÌ·l:ߣ×/L±¤Å8 ùµ_ýEæ³9­2½¡Ùþ!W«s{.m[¡šßsíÍp½ˆl»æÉ;_àôè˜ÉÁþ¥ÿ»~×®ÕßÑ;Æo\?ñ±O=üW¿æC¯ÕuFždyAÝ4dÛŒAóÒ Ï5#~6A4¢¿µµÃ€$dEK:š$é(Áqm¢4Å "?!Ý;b¹ÞiŒ'IÓ1çOŸ2›ÍÙf,4“ý}4šíú­b×·i›Š^kË¥h:Ú¤ëaK³Q·Û-º·v‚í…¤“9Ò˜†Žkÿt’Φ`»Ü{Ï{‰fSž¼ý:ô Óýжg<ž°É2¤pql›õ¶@ha&Ó˜¾©Ñ4EÁf±$ˆ#Æã EQáº6Ú’h“¼Å¢#I&#Þ}ûólW1hÐBc[’8 ‘–fusÉ@Ï.¯yôôŒggÄADDüÚ¯}–“ýC\Ï1ýâ¨Ö ϧ¬†²Õ’|·"ŠÌÄåƒW>€¶Íˆ~×u,®žÑ×9Qœàx1Ïo–øŽBD!éØxý,{ r=†¾Ã²mÂxŸøÎÿIüÀÿƒ‡ü./ÁïÁú?¿çÛµÒ‚N+†º¦©KÂQHGŽC?tôª!6UÑÞÂÕÓ½Cʶa»¾¤Ú®(‹Q:Çñ#Óà®+VÏÙ“wˆ¼|wCÓvÌæ‡”»§'X¶ÅùÓ3Ä`ÀÒõ(Ê’®­™Ìæ´Í@YW”9Z9’ÝvIUvÔUÃdbÊ­E‘ãJe»l—+e*YUב¦Ž^¸Ï›o?æää.ßú,ÍêšWÞÿ!„ïóüÉ;ôyÆþñ u? mÕÅ“é„Ñl'gï2OB²[¯‘B% ûGw ÇS..žPìVL'cŠÝ–¾UÜÜ\ÒlÊ­ÑdÂd:ÁvlúN£º’åÍÒõ¸^m‘шËë%dz GÓ1uÓâù~àqy½Fz1}U“Ä>R(‚È%LGì¶;êÝÎÈt¨¶B:.^~ÒsùÜç>˽ïsþÎ#Bײà G..¯'c’Ñ„xrÈôà„¶Þ"¥à«ÿõoý=¹6×ïÿPy÷£?ÿðo~ôç~ý×þÁ×ve}[RìV,®¯q¼(ŒYÓˆ#ƒÒϲœªmȲ5ùfM_ՌҔGQì2ê¢6\R)Œ@SúXÒ¦ëZê¦ÁqS¢Ñ”º¬iëŒ$ˆØn3Â(¡¬K˱,Ê2=з5»õ Ö`¸º}ßÒv ¶á!žd4AØå%Øám9¸N@:™“ÌQø~@UW¸~Ì‹^âÿ9"×ÁB’4fqqÆl’Ræ¶°PBà:’«çϧ¸~Œãû4j ºU‘%£”ºið|b·¦.v ] BÑ¶Š Œ‘b`½¾dè:c£ºmÖ•]’6jÀS¥…ïÛ¸ŽƒDeE[å UM˜ŽØ;9¤íJlÝquqAS×($A2aÿШü74à=Õ+º¶ææòÛñ÷}è©Ûéø†?kIô€Ñ?ÐÓ5øOûï馸=»cüÆõ¿üWÿ‘}ÏдÕËui»ŽÉdDàIFQh¢®uÅj·5ÐVAÐ'YešI(p=#$<ºs?IIÆ3”‚§ï¼I½Y!,Ád>fuõœÀ·Y-wìï`Ù]WE 2Û¾kѪ£é;†Á¢Ês3ˆèy,ož“„yY ¥K¯óÙÌäºÑxŸéÁ±©Å)2ô°lŸ|·äÉãÇÌÆS>ó+Ÿ`o6¦ÊsT›S®¯‘ޤ)kâ8Å‹c„pØ,/‘–ËñÝ—È›­5ÒPºGÕ“IJß÷HÛâùãÇÐt4½º’I6«F£„®ë98>¡ë;ê*c~xÊóåŽwÏΙ$ ‰ïbÛoŸ=ãÁÝ{! £”h2åúê’r·d6N誂^ω%]’ш»÷_âíGoz>óý}‚$e›H««sººÀµÒ²q='£°`èPUF™×üÙÿæÿ²¸Ïî¿qýÈOÿÂÃ?ôêÁkÉÈ$Ä,Û¢ïмAx YÑà»Û2€1¥Óù>NRw³½=ª¶#Ž,iÑö%MQÜÎ3™lzžm(vk,zvÛ ¶ôè-Ÿ¢lM78ÏIÓ «Õ5Ju4õδ›ÛöpCt\ÃèµÁ¨ˆ{ðâ”8té…Ç.¯9<½ÃõrÁåóg,o.Ø­V·”õŽ;wîÄ ÂÒlV×ÄQhRs¢£«›0Ihnk‡‡§\<{Æx4¢W=ƒqþî[´Ù)mò|Ç|>çüù9ŽTyA4Ñ4Z+„%𤃠8ŽMWUÜ\^Ð4 øà?Ä8Žgb®ã}‚8Å":Õ°¸¾ -+[â:6E±£¨;´ ñ‚Ðc»¼Â¶lÏEHÇ»M–•„QD:#½€²È7+ºbM¹YñMßõýâïüì§òe´ä—Ëù»¿üÖÃþû¿òðëþÐï{­é¶ECÛ ê²d»0XHi{DQ€k ÖË%ƒ¶ ˆ®,ðmI¾Ý1šŒqƒl—l·&_-pm‡ñdÊ.Ûâøu[ãH›¦ohšÆÄ*…äâòštv€RëÕ’ÀóéÚÛ–¨^‘å&}XçUY -—¾kÉ«ŽVy(pxò]ßquùœA)ò²Lg_Õ%ùú†(‘ŒÆ çgOñm›'ï¼Eà»”u‰´\\ϧíZÕƒ¶ =ÏvØ?9½¸KxöÎx¶…Rƒi®ÙMÓ"èM™×ÒxŽƒë9ȾÕ†Gåº>]ÛX®Wœ],nÌáÑ)³ýCö©Ë ëå5ÒòHÂa)BÏCé¦kØl š¦çäø²Ì' »í†(Nq\ÏqxöüÒp¥|Û –CYÖŒFc4ßôþWñ£?ÿú—Õ†økðý“®?ýß'¾÷µoÓmÓ—JU3 hú‰²%2žà¸#òlËÞddùËŸ0Ó¬Mƒ°L`ih L Ó‚WÞÿ6Ë5Åâ†lq‰ó‰±3Ñ¡:3Ù»YŒ’„·ß<ãààˆ²Ì(¶k’ј QmCU78‘ƶmÚ^ -IÕ·ä»WOj|Ï3x¢é”ÉtÛ èÊŠ$ˆ)ó-e³·wÈ288ºƒð|4’››k×E+ÌØG”b ¾­©›ŠÀaFá ßü±?ÿß ¾Œ—ýåúÆþÃ×L#çûÿëOûÁ!}Uðôñ3’4&¥ø^@µ¾¤¬k|ÛæàÖ"[f;Æó}Ú¾¥U \a e¶°]ÝàiŒS¡ièêŠj#ðãn:±šªß :cŠê›šýÃ,Ûçîé+|~ûIÊÍÒq)ŠŠ0sp' ,lWKÊõ ù ðâ)X‚¶Ø€jðƒ„Ô‹RRµçŸ~Ê«ø~aG¨±~@—åÜ{á–ëò«¿ôsÜ=9¦®Ò2ž [zè¾a Ç’‚ŽÛrÌ8¶ëßT„~@YæhÇfÀ2•³õšq2F¨‚yóÊWYg »Í E¶Áó|Öë5ÉtŸ¾ áq·¤ï 3kUW4uŽj2úz J#r=¢ÙQࢺŒtä£ ]h·H[ñu¬7Ä—ÝQê7[û§ùá¿ò‘û¯Õ­áåU%$I0æøÞ«Þ¹G§*ôÐ#oËÓùŒ<Ûày–Ä7›Õ5ã$åâü)¾ ¾g£-ŽG¶+°h¥1¶â{)–eÓ÷5]£p<)ê&gzpD¥,: a”ÞŠal„´Y­V4ÅŽ¾3bJ”"öBßFhp¼¤gˆ†žMžg¸Žƒ`µ¸ÄV5y–qt|ã;/óÂ˯psóŒË§_ . ^zÏû¹x£Ù!£Ù>ŽçPÜR¯¯oˆ’˜ÙlJQìèª-M–£…[òÿÅÿ(þÚO~ì!_!K~%¼ÉýØçþÄÇ_øoÿðÚh4gP’2ϘŒ}êb‹gKÊ|ÅÐT»%Õvƒg –×tMÍtozûç¶P×i¹¬–kF£”¾­qøËÅÅ3\[`ÆQ5ùnKß™†ZQµžröÎç}†#MmPx~È`ªÃ=ŠŽl»"Ïvx®Çx:c±Îà UÓ“N&Xv‹^|áö©ŠŒó'o‘]]`[~Ö”» ®”8¶‹î{TÓ"U[£Qô}g€ÇnDß÷0h„ô ã‚m^¦R[¥YnKNOîó‘?øÕ¼õ槃BÚ¡ï:Æw‚0wÙ|sÃâù33R?(öiêŠɽ_äÝ·ßäôî]6ë5MÝ2?:åßøO¾Wð¶¾âÞ0Àwó×êQsx´Ç€"Ï+,é`û>Ò (³ Ý–„ÑÇ‘ø¾_^<çÎÝ—¸ºZòà•Wi»š›ë+ÐãÉœ›‹Ç¤qD^4d»%h¤TU…Ð=Q2X°Üö|ðƒ¿Ÿ·¿ð&¨Ë‚¦¬)óGwNy~öW Ãü’»/¼D=(¢0¡(2V‹ç´½ÅGþð¿ŒåG<~çmÒÀáüñ[ŒBŸ¼ÈX­nˆý€Ëgψ#c‰­»’¶ÜáJ›ÑÞ1Òv¹yþ„¶o±„E¯ü Au=MYšä”LfszÕ›ÞLßq³¸âôÎ=†¢AkE‰Çïãôþ>ú›A˜½QÉIDATÉ(¶\\¡ñ#›º¨Éw;ü0é%f‡\^>C¢Ðƒf¼€RŠõòŠƒ£{Œ'3þðŸùޝÈëë+vcüÀwþ›ºéJâ(áñ£GØ2àä…i:Íx’Ò65ªG¨†A:Ø^H¸tUÎâòŠã“;äEÁÝ÷Éóœ¾YS ³½cÎ/Îȶ;ã|К*ßây¶ãRÕšÑôˆ£ã;œ½ÍЬ—Kl9?ažCoèßÑh hÖ×O±T‡ãšñrãÝá vÀ{Þ÷!ž½‹¥[6‹Õ#„fwµ OI§{œ?†g›¡ÊñÞ>a2âÉ;p´¤*K‚ØE[6Ò’õÀáñ]ÊbËvq…è{l߯ñBÊFEc졦+7(Ëå¥~˜A ž|áuÒш"ÛâÊt2¢n³ýC´íÒu !$ÉdFS•¤QÄÍõËup‡VõükßöÝ_±×ÕWüÆøõõW¿óOêGOž ‡Ó£»ô}ÃÞþ>=;ñ¥CÝ÷TE(w»%’8‘¤#®/ŸszrL–­ Ã3( ­×—çÄqL; ¨^±[^cÛ®à…cfó#žŸ=&ß^1Û;`·ÝÑw¹ñ×)ðCC_Ü\A;Üš’ê"goÿíF4ƒ J&ìòœýÃ~ñç>Æé|‚Å@™í°}—ÙÑ $³}>óK#°Q2fvpÄÛo~Ox$“)E»¥-s„G«ÁÒCSãÙ>H°|—²¶‰ã T+ú.gvrŸÃ;/ðùÏü2ÒåbÁ(JIãíXDñ”³³3æ'Ç<}òŒ¦ìyïßË ÛÕŠ/¿½½#~ÿÿw¿â¯§__ÖWúà¿ëÅùýã$fP-~²Ý,è›Ú†t4b@±^<ãìÑë4YÎñÉ=d±Ý,x~ö›õвV$ÓSΟß~,6éhŠpLÄÔsŒjmzt‡A8Dá”®®¹¼8#ˆÒÙ!yYây¦d‰tPÒ¦­[ÐmÙ8¾pl„ôIçw°Ã)ý Ù.¯hö÷ö¹>ÊþtŒЪé9ôªGèÝ·¦|«àî{?„?Ûc¦äj eÙ¸Ýö†¾­éºl'J°¤Ä³;èWX´Ø€/,ë5EƒtªGéa |7àùÓw‘vËÇÇÇ|Õ‡?Äþé ¾ÄáÉV«Ýÿ¯6Å—u¹öwýù¿ò €øÏ¾YÄÐ úÁ1××K¤tâ1}]’e5£Ñ”Ý ð=ñþ ›lA¶½¦-Kn.Ÿ!,I2Ÿr|zÊâò9»›kü0!™LØé•QÄ×W—T»5ó“ÿ§½3‹µ,+ëøoïµ§³÷Ùg>çηêÖÐUM  A†À‹ÆÄ8= ÊÐ’&1¥h1 QZ”ÁvC¢B¢1QŒ&ÄˆÑØ’ÖÐHwUwWݺó¹çÜ3îy\>œ"!<lDªÎïy¿­õÏ·ÖþÖ÷ÿoRÊ‚p6¦RqÈ­èÌφ(RÅ2Mdž/~L›B‚¤Q€LC¼É·y•Ý[·ØZíÞ1fƒ"-Ñ- Y*Ó–®G9E–á4먺NÏPK Š:2K)È©X²Rb».µf4+Hâ”î3øç¯þÃ"Ï#I±íY^2ùŒÇa²¾}·Ñ ËsÞò¾Ç•ŸzûûîJQÜUãÛyøÃ¶¯}ô!ù­ç†a¡¢àÔm’Äc÷¹ë\¾|•8MÑt$IévV0ê"£\Q˜ÌÎpë-š'ÑYZ%1õf›á`€í8XŽMž¥ÌއŒú†iSs‹Ìô¬À6+ ³â•u|oŠ&4f³Çm“IIœçTÝ:v‡4MPÕÃ0‰3¸øC?‚P“þ.uKaµ{„àô¤?Ÿ &M×%’ F¥ŠB‰¦ ʼƒLjAE”fª,fKM§Ì3ŠB¢:ó OáÒÎT!ùæ7¾N­Vg}c“~Õ+9é¬o0™Œx胟½kÅpW]¾ÿ'<ñÈ›dæû4ÚmâLRä1Š¢’ªë1vÕemk‡ÉtLè©Ø&ƒÓ†e°½µÍ³Ï|“v«wÇ%CàMf‹§ç®‹çOˆÃˆÐ Ѭ­ob»uŽön )’¢”„qÄl4¥ÙÝ¢ÚY!Kß·Z«(B!=’È' æoa¹ŸD„‡®iŒj:'§§\}é8Í6'{ó EãØB¯Ðlu9Ü¿IäMЄ‰¢kØ–ƒ0-¦aFQ”´ëöÂHÚn’‹ýý}zm—ÉÙ€ªe **—î{ q–!txÓ#Ÿ¾'öË=#ŒoñG¿ös²Ù]!ËB4¡0©7›$qÁÚùóh¦Ídq²ÚÝ Zkpóö dZ"³”jÝ¥Ìâ(Âv]|ßãùÿú—/ßÇÉé€ Wî'— KçøàEZ * n£†*I‘Æ‹LÀ0Ši¬´É³½RGs\¼ú·®ã÷o³¾}…Úön\o< ð¦T5…jÅ`es‡ŸäS÷Ô>ùé|¿X|ùÉg}óO¼òŠ,©7:h†M^,¦óV·w˜ù>ç.à¶zÌý9–iRkµiôV¦ƒ]ï 4$ ¨Ú‘ï#U‰?÷ tÚ]„®aÙ5|NE\¸ú§£12IyÌÑí]Â(¥dÿ¹¸Õ:çî{)¥¶ð˜­7¤YŠU©Ð^]#IR@£(LKGQi^¢ª‹‡ŽS%Š"ÒÈC±°½IS¦Ó–i¡ A¡mÀÙì®±qñ"iÑ¿ý<ªRà{'LJèšB…loï`˜&ïøÄ_*ñ•¯=Ê=ˆÂ=ÊŸüöÛeVÔm6Ï_¢ÒÔÇ4Å‹Ò"%5ס°‹Ž ·}‰j·ËÁóÏÐluØØ¾Èt>f69¥Ýh1)’ˆÜ§¢J‚éˆ Î™z—w¶(‹‚_þø_ݳû➬ßÎ_ÿÓSþÍWÿóчßüú`è¤yÆÉaŸ½[»t{]$9ýãL£B©¨ôû}Ž÷÷Y[Û`<žÛ; *œöi·;HE¡Q¯ãû>ÕF‹¹y‹9ì×¼îÇšB`»mÚëkH@¢+ÃÔ™ÏfôÖ·À0™{SŠ$¡×[e2Rk,²4  ÈK4EÅuk‹_¹ªJ)5T$B)PPqªu’(¢Ì3ÌJE˜Tªu¤”Üz!4jÍ.“ѻڦ±²F­Ñåm¿÷Ä=/Š{ºb|'ÿø…OÉaÿÇXxá†Ò8$ #*n•f£M–/&áâ$F‘°Úë0™Né®ôxúkÿ†’§˜–‰å4¨µVÏÎïÑi·è­nѽßè´0›MŽ(Ÿp>! }&ã­Îî7o< aÈæÎE¦~€) Œ<òæ^€”%Íz Ó4@S9¸}›2ñq«.n£Ç<ˆ9>ØgµÓÀ°ÎA”2™ÌQ(iõ:4mŽNúH ïøðg–{ánîc|·üèß©h”È"çö ÏM‡P$tºmvÎ]`08!O=ƧÇÈ,åÖ ÏsóæsáÍfœžöQ…ÂBª%Áì”4˜"(qêuò,ãpÿ&µ†‹0⊔„¡G’„Ô[ ÊBR$ƒ“œjaW8 PU˜ž¢‹g-ëv•ŠÛC7ëXfUÕAuºC!s*–ÎËx9Âj±²}?¢RC–E–1›xEcprȯ|è3ÊR÷Hã»åõï^<~ûüo=$… †®c(9£áÍêšÍ:ÍfF½Á3Ï> %̦3¶.\A×óɘ²HȲUQpª$QSs[„Aˆ#t Óe6ýëœÛÚä¹g¯³sñ>ÌZ‹4Œ8>ÜC×uj½MÂ0¤bëܺqµÞ ³ÑQ–(¦A{µG†œ?…ÙÔçÂÕû™y#Çaw÷Ro¾ˆ&<*–RP­Öég´:Žn=ÇÖÚ ý#Š8² â(DSUe‘ k²2'“v­…ã4i¯¬a96Ïݸ¾žŠŠ2£ˆcÞùÉååz)Œÿ%ýúÏJ·b„>N¥JZHt«‚7±±y,‡Ó“Ú&h´ÚôðFc®¾ìåBÄ9šP)ò„K—@S8=>¤ÙYaÿð˜ù¸OîMqlÊœ8J¨7WÈ¥äæÜå 3ßãèöMºÝQš`EQ i&+Ûä²4a88Æ1u÷i¯lÒY[Ç󿬮¬ñÓ×>¼\ïåQêÅáÚÇ¿¤|ö7A Í Ýt£ˆÕ­sXµ¦]òlö÷vyÍk^GR”œM&(V€j*íïÒ¨·)¤J«ÖB–yZàºU¾þïÿ¯x{YÈQÿCsÑ„‚Y±(óU]WI ‡Z»‡VuiY‚ ¤YµAJâ8 Œ2dšjS*N½…e[è†àáßýÜRËŠñ½åK¿ÿN9õ¶/܇aÚÄYÌÙ Ï|:çÒ•8Ø»ÉlpÌÊJÕ0¸½·ËöÆ6Žëbh:n·»p@ŸÏ8ðçSî¿z?O~íI:Í:”ÞìŒN½†i€çŒf ¦ÐP(Hâ»æb‘ï1Nȳ’jÕeëÂ9‚(¥Ý]c88"ÍRÞúþåÅz)ŒÿC¾òÄGešåP$œî£:ºn{sÒ8¦Ó[ÅKBâ$¥×j‘e V‡KDA€?Ÿ%{·Ÿ¥éÖ(¤Ât0 ê¸@‰¦(e‚.tQ¥Ôu„¡ªÐÆDqŠmש5]üá K£R¯¡ÞðÞO/×v)Œïþ‘wÉ4‰£MXèÌÏÎBà¶Û¦MZB£Y%œEÁæÎ}$IÆh4D×Mƒ#”B!—’ÌŸRµmLÛFh ÛK¨äèyjTÐMñÙ–Ó!Jrê*Áxˆ!sbßçÚþýrM—ÂøÿÁ¿ç2ŽSË™ãÖkX¶Ëh2£·¶NZ¦äI„¢¨¡“*Î*h‚Ùx€’ÇL†§¨²¤ÑéáØ.ÞtBN2Ũº…D7ú£1íN—`RæBwؾp…Û¯.×òEdÙà{ø¥}A¹öø•’TPTÅlž¿ŒÛlâÍG!X[ݦ”çÎíPµZ5—È›¢/Ü:‚oî¡ • Ðì Ò4ÈÊ‚¢ÌQMˬ’Æiäai Ép)ŠeÅøÁà_ÿôcræÏq‡¹?%šQjÝuŽNû¤Ož¼ì¯ä©ÿxÇ4Î~ˆ0««ë¨¤±’… œF›Ã“3ÜjpºÔ|ë—›–ãˆ×>ø¥ÈÂùˆÓƒÛIFžæäy‰”y.ɳ¡ LÓ!/”;I§:®Ýdptˆ?ŸráÊKˆ¥DªóB+‘y̵?ø¢²Å÷–eã{ÄÏ¼ë£ sêk?)j­¨wAŠß‹ˆâ(Š ¤Šf˜ÁǵIr‰"5L»NÅ$qÆ»?ù¥¥–ãîàÚc§<ü‰/*yyZ, WЭ**IY’”’<+ñ=ö™+9LJ7ÉŸ( ©Z6×ÿòr]¾Ïü7—^=+3RkIEND®B`‚pioneers-15.5/client/gtk/data/themes/ccFlickr/sea.png0000644000175000017500000017723411346241564017474 00000000000000‰PNG  IHDRÆæŽ7úkbKGDÿÿÿ ½§“ pHYs  d_‘tIMEØ%Ë«êõ IDATxÚ¼½Ý’$IŽ¥÷ªfî‘UÝ=?+¡ð)øž¼â ’!—;;ÝU™în¦ €€™{õpW–ÂÍ)‘ú˪Œ7ƒ*€ƒsäþ_þW¼7¢5„Fs¥yCöÁuûÁÜo ¦@Ú„µ5l7Øalðõ¹3‡±XÐpÆœÌ9@c@ì(ŽŠÒQˆŽ0pCÂEpܳÀ <À£+‚»*ŠDÐ{ƒü¿sryçOÿð´Ë•á(HƒPÜÀ‡îˆˆƒt@ QD¡ ªtzZ¢þ$Ž{þ°f̹cÓ ‚üŽÒ‰'êyŠÿWˆ„PBD}ü„ùWTPQÐúС„+æFxp~%Éo/Ï Qd¹Ò/ïŒ9°9ÇæŽÏ‰D°¨Ð[Cl &¡¶FÓŽ´Æc3"aY¯´Ö@¨÷˜Ï7šæç«Ï ¨#=·.J».,oÖ· Òóuï¨4ð.D[ä§ÇlçǤ]tYíh(1{ ~üx0wgºãÚkï|ü`>v„ÆÒßiÒ˜îŒù`ºað9‰Øqà‘ áo¸YþPïÚ²ÒeÛ'ãaÌÍabB£!8ä£Ê@BòvÉ×yÜ2Rÿ¢"¨4Ð|ÙA †‡I¢Î•“÷w¾ü9g¾Lsíˆ˜Û „6DÏ7hkhSZ[h­#ÚQT”CÌëUÄ÷z~œí:´Gœ*‚HC{p¹v.—+­i˜çMáõyxfƒ ‘xþ{þ’ç!Šxf‰z„ˆNCkz?2…€d–r!³u zëD(#ò{ˆæ¡¯ÃáÇÑ­ôã¸O<œ¾¬´¥,™e[ÃBòùiCUòàÍû'1w<&-óJ’Í™Ûd0sžjÙÐæ4…¦B_]ô§Çlüß°­]]œÖ¢Â4˜CA;]aÁÆãsö‰ª]˜Ãè«Ð/":áWˆb™)|"1ˆØòEÔíŽHþ?ËEšvzk´¦hkˆH†1ç`Ή{ ­~=*­Rn¾7CB¹è‚´­ÒŽÜT—ªõFk ÕÚ‚ H¸X¼OÂ&æ“°‘_%"ÿß:È^eOf3]…ˆ ·Ú‚gj¬à9EêÊ@ùïYþT¥v–TîœiÀƒüÌ‘÷ æš% BÅZfš83¬TɧL›ù3J%¬0<òó QI•:šåP]Hû>±€E„årA[‡¶€*¢ èË%3'ÝGaŒ,1¥2Z̼ìê™Ö·Â¶N#?oøÄ% ÅOÙnól±K•ÖASAzC—푎oƒÇ}gîž©+2 šØÌo°~\¸¼]ðÍ_æö¨éùIÅ=nb?¯>‘¬ã[Szk¨@ëÂõ²Ð—Ž»3Ç`ßó–ÌàÈ.ZÕ¾?kê¾®t­^!”3o¹çñЦhW´i]Ø6ò–Ü&6a–/LÑ0d:êau½ýܘí|û…Þ"O#ŽZ¢D˜áí±1Æ$<œ‡ÓÅQ Ä;r”=¾cÓ]¯,×+¢ Ä&â­þ^ Š=ÿ‘&.­‚αiLs–&,½X]°y5{2¥z¾èl˜ë`´5oæiŒ9‰q DB¸c1`Ž<ˆ­z3Ÿ˜ZP@H €Yà"´Öhy}`@f®<gƒŒà¢h÷qË›E5¿™Ÿ­qý^´åÏy”QhÕœ· ëÊVò,0<³—MT4kù£]ðʬG ÿ<7™Q«y "uɲL Ï Ã<ŸIK0C»žý†j#ÈÆôýã}½òùùËËGg "(JA q/СϽ Re GÏ¢õù4ËâõÛ•·_~Aņñøº3;± l›È„˜NLGªñã–G<2[ˆÿô˜íË/ÎÆÃ'ÄÀ-kn¿,Ø~–9‘Û'óö‰ Ù ™7¤çßÇØ‘¥ÓÞÞ ˯ÎÇ·•í_~Ї¡šO«@—@Ãr¾ì™…óöô ¾ªgóE7´ MTêmx»¸ Æ0lúÙ‹ˆf˜fðg>£I$’¬…(‹à*9ûP%Tkâ’PrtE¥5·‚€ì‘/½õFh0 ž5ÏÙN“ªÿÍóEY-€âÙ?}U>°: „ˆ*jÄë÷å›j t鬗•® LØÜ~û+ò•·ó"]pi9?Q=§/ÒZÖíÚQ]ÐPTÌeÇ}B téx_@¯´þ¶®ÈÒ5èWaySúûƒåšøò«r»)ÛmÛ‚íJì[ÀpZ=´.'GeæìCíçÇl_· ÄÁ³ŽsĤwáíòFsãsÞ¹Ý5ˆÌfâÙ"Ì0:µÑËÊøê|Ž Üé±£áh8îŽÅÄð¬'£JšDäë¨DžÓ4Q§Ö²Á”£ŽÏºÔ͘33ƒO{^wâˆzÕÐì[Ð ‰º 4%? tUè iyª¼É¥U?¡„DäÍ”3£Ÿ™ûÄ,#º­ ËÒ±ª—ϬP"Üq+t®€á:öOlöÀnO¬6žg—<¬ù3jk°,´e¥-]W®oï(ÂãëÎ>nÄc zï…þ‘@‡Ósx¡­—÷7Öw¼+cÄ;«4â1³fË¡ÝÒé—w–ëýz¥_¢.ó {–…mi¬ëM®¬ vŒÍ3fõ£kY Z@C‡Öþbvn?&1ØØ‰¹n4·DtmǶ¯¬élb–s‚lörP”yoàÛŽ›cÈPlj… ¸çL'ÓüýGS,/P®ê1SxÞšœÓñ ›z‹ÁÜqÖìÐN\ÿvâôŽÖ ×:O휅T {«R+Íêµ×¹²ÂLhTÐ8€†ÇÎó®Wšg©¥×…µ_òe›+ùl#°á€an;sZÍ}ò±†ÐéQZãå°H%Ïü‹RÉRæÒYùËõårŇ³#sAâ2°Ü Ý’ÌÌ-§¥‰©r¹4~ùçúŸ>øí¯7ˆõ †3)a`œI 1\’]°-‰<ÊÚ!¶+왵óO#ö‡ð¬’¥O#æüé1Û·Û߈ù(UÚTͪ ‘ÞØcË“ç —iëˆ(öd0@½ç=ÇÔ ŠðŠCdE r4X‰8iÝrª-qi‘|ȼ#q«:Ýr¦‘SãÈÃpÖ⠬׎tÇ lzÎ Xù¬&S”jês¦ Q3ì ˆØ‰Ü æ/a× :æ9˜ìËÛk_±žŸcRÞi˜’æÇ\"³M?³‰,„jÍCȆòœi%°¼‘¦´.ˆäœÀ}çoÿúŸxoá—_þŒ†±ÝƒÞ•Yƒ1ÇÆŽm7Æ£'|Ú;¡Õ7†ƒm´¦ÐYV¤_ ªŒÚÀfÍOg 8¦wšxU·nã§ÇlŸ_¿Ñ"ëꦠ5Ørs¶ÇFŒ‰DhòV—:u9;8nµä¤ôš½&dŠHgúÌ£Ó{'¼Ð¡ƒÆ!‚j£/‰(%õ¡~»Öáð ,cwÃ"ç ª…þKIª1¶ÇÄØqS K•SYrHÓ“b‘l$ä¨éý büžB+À,L?‘´*Í"ðÝØÆ¹NÞ>¾1=óF~mÂk:/E³Hø´wá…¿‘Mcͤ0âpNŒ_µãv¯ÁŸ(´Þ¡iD$\`â¶×,:Ó€ÙaWlnYùÈ>ÂùñBê+nÁ×ÿå\ÿù¿\~åû¶³Û÷¬õçsCcÃ}`{äóí ékqÓ‚Õg‚ ½Áõ _cŽÆŠÎo‰(-ÝPv°‰ bî?=f{›;‹‚zÀ挱ccâcdwL:ÉZ»^Y¦#=‘l€µ£$ñÌÝÚÔF[.¨‚OÃ÷q™!ZNjiNâ Ö×õ™™Á Í:þÈr?¡Ðƒß”)¼p}Á}-ŠIÏÀŠ£D ÜŠ–Q=HäÄÊ"¤­¡Õ}È™#ª Š*¿üe&9;ðáØHÚÈþx°.É‘ŠLaù•ZG#›ï×™ ÔÝ‘P¨j «/;»‹â%“ÆPõ„kY®úìMè9nÄõÊÛŸ®ì>Ø¿˜ yp 3'¢¨.¦H+n˜ÎþýÎö¯;}ùFkW†ý—œ)ÍÏðÔÐEX¯zËKÃ#h‘°i¿AD¬(ô%7ö„ôƒ6¾ ;Í'þÓc¶w›Ìû Òœcf3X·è“öÐê†Òç ©hGxü5l@M—{M–uY2ŠÐµ³h£iÃÈdºeÓGCèÁœYªTÿuæfQ²8ÏIí9$ðž319`©ÈzXþHÅj¨C³$²iwºöhҞÂðç<¥ÐµšL¾Ð\”뚦asÐ-vF5öz4fˆ&\}pšΕq®/­hV —±R^è†R”—lVÕ=¹`Ȉ`(û×o¼ýú¬ï {4æ=r~a“l r ^ŒMnÕ¬ÃÁˆÉÎÖVÆuÐYÀ;¾~ ŠZó‰‚qé5%WÅ"/@ZWÖµ±,Ä"ûö`Ü`;Ûã“°„W{dɤî?=fûç_KÚCr»“bqŒ¡ãxé58ÓVÓÔçÕÕ¸jaô A4³‘Duô² ½'"Ý;N£á*ˆ;sìØÉz ·Àgr“§‰"q°YÂ"©¤_åP ØjȦÑ`&íù¹ô….!z’ eãSDiÚQíjþþ¨çƒŸ\‰®ºU‡BõüúÚ{þ¬Óˆ™Ï…ʈ'é¯^¦¨ÖMÆðóuåtvßçËx#o8‘Nk=g-¨ Ÿ‹™<5#ù? .3&ÃwéëËÚÐëŸ;3´†Ê”`HÚ =Fñ¸ ÌwZ[pÛ˜3!ìNÏ sïˆ\@vhFûtTƒÖ;C“ù,‹°¾_xûxãz}ÃÇäó·ß¹ýí¯ÌÏß°ýã‘Ùhz^ Äœø6~zÌöùõ¨Œ,5š/xL¼P ¥i«áNö¬fI)´x:­¾ÆÌþ¡¨"ÁÒa½€ùƒ1A£É…Ößо$L«Ð[Ã÷ó±%êàÅ"‹ BVèŒbVeOÈ‹Öà ךÙYü‰ÑK$. êò¬TóÊ™Õu#¦e‰T”ø1ÓÖ˜¢ÐZý»VçÙGÍÉœ{Òª½2ÔL¤È[=¿u!\0d†Kö«:EŸ‘ãçî Th+ªw6©yybŠ[ò°D²þŽ1û-K+›`{èÛ é7éoWBysìáÄîÈô¤[ì°¬‰®M ¼ƒ˜cl9àó¢÷+½_à­Ÿ‡4'û©Ãh-XÛÂz½ X¤&ÙƒùÛ¿ðׯOîß¿3ï±ï¨çÏíÓ`ø>˜s³huKü̘íáÉô<¦ÏqIê7÷àäÛ#~΢ˆ}]ª4¼¡´š6ˆÁx Ü6† Ü}In‹Æ….aß°ß·¤hÄ!\²* jØWÚ‚àÉÛñS€Ã ñ®àÎúðTóÚ{NfU;Úò×DâÔS$Ã$kaÇÍq·‚vë“I”Cµ(ÚOøØ·œ©ø9myö GÙÕòVk½ãc–¨ÉOz÷1Ô:²Ë k/«œü²³K$ž{e>­§† Ó‰ÇF è¥obÑ.ïòí²`ßû…Û÷…y»1wæÜ@9oH´]y£µÑkÌÿð?ÿã?áû0ú²2­‚Í' è’,ZÑ€íF<Œíñàñù;ã~÷ æ„éˆcwl/ Åö¼<ÄDŸ~vÌvi ­µõ@+êoÖÞR$3)*xkykõÞékïÄß÷<éØãÏ ‘™J­ °é‰ç=ɾû}c{Ö€5ï ìµdÀæœüÀpæø¨«)ÂX¯,¤tÑlpU‰ó 3›c·Dbçɾ.†ëDZñƒMmv$œð-Y®ßÚDcÖßyûø&Ëú+û_þÌço?¸ÿqÿÛ1w‚ Þ –ó@_®W¿.üú?üÊ?üåæ¾¾6_7¶¯{rölb÷Û>vâ±û(ZÐDÇ€½šæ9™ÛÈÙN€HŽzıDd?;f{[.ù›õÍœHò´~-ð:‘¤ÄsÉo”×ÒÎ4#ö‰o‰(Äì;s°®KrR¡+—·+×÷ñ°“#VdÄ<(àÅÊ•làU[½x©Á©ƒcP}Â×îÄÌ Ä̹߾ù[£_Þùø‹Çû¯ï\/‹øT–vEéÌý1®ŒýÁ>w#ZÐW¸~×N»}çÇí“û׃ý~gÜØ6’‚±m<¾ÿ`ÜóÂ+¾ÛÒ„0gn>_P±õvöXí5xr²Zë?=f{êwõIÛT¥U ­<õƯLQb Æž÷¡dKJ…„!AžÊöV<ÿŽ® ×· ËzÅ|bö –«p½~0·…Û×¶ƒÏj¤4Ñ\. ¼i„¬·s:,¥šõH(Ö¼$”OÆu6] d U¡—Λb¤º9c¼C¯2Ú“‚*Ïÿž„¹Ô#\®WÖ·7B$‰Œž%šöN´Ž Ï5S1°T{‹’n…¢h Œ<^>ÁÕ²ßhJ; OdL©Ït ,— ÔØ½ óÝY—…¹}±o;Ûý‹âþujRå‹cAbÒJ÷Æœô7øüýаßîl_w|Ï,áÛÀ¶Ì: ¯ Œƒ[ï…~“ýÊÚ/ø Q¢µ#FfÌö;ŸˆMo'öY÷ŽHÉHŸ¼žÓÀ0Oɽ¬ ò!’Íi»Ò—7´wöél?EzÔh"è­Ñ/Ë/Btè— }ý†¶+6”YJ>lÄ„€V(RW.¿¬¼½½3Æ÷û£xCR°d:cLÆãÎxܱ9ªnÛúëä*ƒ6iÊuUú¢!šn3cî…ûAí§Àè©À>õò’²‘ÎõÔäC‰ÖpQ\4ëúÞèëB_W.× ëûãëqgΑ¨Ö¡wd&ñB£–#=±÷Ì‚zvßQŸ¨àŠ2dk–쀢*')Bœ‰ÓÛ…¦lWæC`,èì„Y8h=õááÎÒ—÷š0~ î¿çöu§— âd=•OéVBÊg/ç•¥ëcNU^½· G·–ÆOŽÙn>hË’Sß(2]äô/þ&‡ž9¿‘¨×\àÐô’¥Nëö¶Òß?Ð巵Вġ§o4ÏI­Ç¬ïãÜïÁœw¶1¸Ý?™f¬ËÊÛÇ;—õý1Ù‡³ïsß ›´C¤Ï‹vá ÃI+$ªEàŒ±=ðñbþ­!ÇóP¼H;Ô¬RrXmyûŠÐ´x]¢'<œjÔš-ôF_rà·=î|Þ?¹í®— ïï´~!¦³Í KG¥g/Õi…朵ô)yMˆñ<B?3E‘©ºÞAM ¡ ã‚¥K43PeîrABÛ<§Ö“CZ]n“3Z›ÒcÐìÎ×çw6Kç”h•íÒÇ {ê`9À‡Øh¨’$ëÓŠ*˒͵:—Ò\ÊGì0¼ø¹1Ûa8­œ‡x¬NZåDaÎuZxr$„åíå}!ú•ÍVƶÐú_:mX'ëT–X˜Û€9÷ûãÓQD’’Œ¥èÆ*HbÉ—Ú{OPœ3$«®ŒÐz«TéáálÛ#‰dñ÷Må®ñB²ÌàñSo~BK_“˜w2\KÕ§ Uo­P©"^V.ׅ墴û¾ñ¸mØn¨*ooW.—+÷ÛÇ~ƒ£¡,´L{N`Yj°šåP³”ƒ‡pÉ~E "ÒÃÉÃN-ˆ´ž0«6š Z}ÆØ&sß9)§æÌi¨¤YDᣀ*IJ†¬\»LOd©ÎäÎ)=Ý^²úô#¦žÃ·ŒÔ†´4¾h½c61‚®/„ÍÃlâß!f{(LRÄ!açL@ª1}qi9›ÁƒàæÕȨh¥ÉseÑo4cÌΤѮŽ÷iº x<°í‹íÇ'óþ ¦•Ç"宸&îòö ëÛh’T‹¹Mz®y°nf#o›WÙÛ«;ÍiÏ÷„YREJŽ)ZUÔ=¢¼¢xB„®˜¦MOtÁʵP»ÀÚh×β6Âv¶Ûý12ëteY{â¼V.àS˜SB#_;Sç›·_kwJÎRJ"P›ÈH†lztú²$ Ж칛ƒûnØm#öYêÉtÏÄ\œFo‚,ôÒio òñŽ‹Dèì.Ù'PϬ2TÑs^œ•ɳÜ< XÉŒÜzÎjÛ,Ä/…]z(/ÄŠøé1Û©›PJ{MØsê›?z‘Éžª9‰ç)Õ–úmÊD±MqK$JzÑ9ºa|Ñûƒ…ÁÜ>™Ÿ?ðÇ@¦Wº=h³ZBë m]i×w Á½´¾(ÑR®)*ؘ ³ˆš¸¾úTýaô|¦ åÕâì@D”P9­p¢l@s¾ØÎ¬ª'Ýà°› XòçÖËB¿vÚÒØÇÎ×÷ß™û@PZ_¸\.\®Wö9ØÆžF*õý‡KòêïTX9íEIzâµDèÖËÂúþŽ®Kzå~þà±= àãúÆÛ¯¦·Æ˜Áíó‘â™˲àQbšjô“p(‡pö¤Åke^€{RºE²YumÈÚP7æøÁ×íÁãÇ1,%½–(•”Œ8¤K¬Ì2ð¤³+¦U^ž¸&¨I1 SË@D„! !$$$žÄÎH—(ï©KÊ}V™Zö¨š3·H Aåe Ê­†~rÌöˆ4ÍÒÃ{è`žX¥R¬C=í`Žú-Ê| =œøëå‚^éwÚšþ?q{°}ÿÎýûÛçJDŒóäC2UhÂú~e}»$W6²aÛÆ¼ß±!ÚΦP5ëÖÃu;<_Du¡/F¼ˆžÃ±ƒn e€ö”UËi~¬zÖ¨Ò'õK 67¶ýÁ,k™åÊõíÖÛöàóóAo+­-‰61Ri¥é¨^yBâûÀwÃvKNW~ÿ–V5—kQL`y¿Ð¤ÑØ|°}öÛWzo„K²z½Ük† =²ñnFœFÑíô¹uÏ›¾…´¤Ñ7Ezc}gÚxsÄô²÷$R°ru~£™~ô„n-c²^.5ÁîYZ»3-5âþ:¿C¥ýô˜ífžÊ©?ª*ÿè£T\•(£²Ó]\),/®×…vQ\7¢?pßøþû'þýŽ}ŸÌÛDª<˜áçE|°!ó&l\Þ߸¼_KÒj4mìûƒx<"Fú1Éé=¥gy” ŸžB%ñÏ€xú–dU‚ÃÐi9 *ŸÖ8|®¤—XOÓÿ’– ÆÄ“ˆj‚[çm}ãòöN[ö1ØÆ¬> ç8ù>ÓL,ÄË** ‹­uæ0÷;£åú™3=ÿßåzeõ†ŒáŒ1è]iâÈØÙnwüQj>íÐ¥\’æi6ÏA¨»1‹Ä÷œçí*êµ!KØ1Ò…å²ðþq¡½ÁíöEûñÅ~ÛðQÚöäÈÄ (ÔiõY¼úšìïAø¨çØÑ••%km ùé1Û»¶s,ŸTƒòyupÆÉo—âQ”l©Ïc¦bíC¸¬¿3Ç@æD¦±?6öÏóQNžÁK9âµcèÙÚBôÆåÛ7.ïoyóº¡ÑðÇþHäÁ«I”VžWÁ9“ðÃ’;·£#‡'tXcà(<ÝUéêyh£á­á ÑÛé5ëÃðéi0VïDÍqf•1±¤È_/Š®=E3k4æné…[]TkB_Šþ,ЇÐd:ÓîìÃðyŸ+ f‹Fë+6VÆ07\¿gU§yÒüǘYŽHO=¼&ì+‡û¸¦7×Q>JK—Ÿ;è,³í²Ò@V¥_`}[Óy0 >Øç¼­\ÛôßÙ¾>a:ìÉŽN¦´fbyº›jÍÊôVx°òÊœkÃâ û÷4/øwˆÙ/¶5€¹RÑV0a¸1M‹vQâ—â¼hË[}¿o<>ÏA¥ØÅ÷IÌ(e˜õBO´Ô]“_­qýø`½^Ëè+¯{79 ›OÎMœþJÅ"ò´µÄª~öã€ø“úý¢á8ä³ý˜U¢h´´óÔZhï5=žtÉC ’ÈGÖÔ•®¥—X)i+v7îK_YוõÏ´kBÀ‡k»ùà±Ýùþ·;Ó’š"ÒèË…Þ;¿üò³±0gðøÈ‘5Cw¥_b2¶±ß+'’FSË ´åAP©òô`l·ß¿€E^l’™ÒõP¶¾)ýR†bà+6×È>K„ýë wIGÀrvôã¸K¼b‚§§œnçÀ‘æv½øh©c§ #~vÌöi{Ö´®çb‘´Ž,¡‚.ŠRpX["Gæo›6ê>’+ã#J¯|ñC|­á½g±®\ÞÞhë¶Â#¤àŤ[̹šþJyBÕ¨ßâàJ%²p°‡Êðš×cçE;D}'·ˆ\ûs¦¢VÁÔ´µ±\Rë¦h™Žj÷=Õ…ÃoÜôpSÏÒÍåÞrÒúòA»&ÚbnŒ±Ó–†ô^’t3¿i 0Gªñö¬íÍÒWë îkëÉ›^ìá†Fä^V DËìHèsÏF”é„9ÞRÏ‘ý[ÃXˆõ }먤ËÛ.ƒû÷Ö;ýúFLÇ,oÿééú(óǹ¾¦¬M΃‘¯ÁŸ¤Oxür}£¯¹ f„çꂟ³]$õ´î#«Œ–2J³4£‚ã›<ýbý†Lqbrá9E=ô¹”45âï=XåÙl÷މr¹\yÿÓ¯ôËÊ4KUwÕºsO¿%}Î×ÝÁ„Õ”¥Úá~ØòÓˆªÏÓgµùï07(†ä†à8ÈRÏ ¿Tïã°ëŸÞ¹þå‰1¾vì>ñ‡sOa¦ye„\èLê†Z_iýJkDrðæ‘öôNr˜¢JŸÖ|öýÎ|<Îùáñ¦hÙ½uZW¬W_t`ü~̈ê½Ô”óôõ*«Òˆ'KªÔ‰ÃxA[ІÚú, tC{õh‹Íñ‘YFûoŽ0iæÌ}#´zJ×'× eœŠÈ¸Yµ' "Á’ö§<Æ8Ûüì˜í1YºˆÞWM¶¢•Þ9üùryåiNVép·¬Ÿ™œ_ü‰JAŬlå÷Zpàåý_ÿü'ÖË%îû†Gš Îe’V„³cÿ^ƒ3¤2‚æR¼†âšNîšEðéùTnã#ÒF>óÈ,'q/â€*Q2+vÛˆê] ]µ³êNpcó O—°rDtºfã:ÓFæm%.©‡ÑÜ,¯«Òqë%1öÓ!aùEá>Ûý‹±í4r8uXŽæóMäÌ[ «p}»°®Éë:YÚûƒÛç'1˱€èŒÏËÀ‹Ö*Z+ ¸,KÁ·eÅï-)=!/󗃮/<·ßä¼J 9,äì•Ý_†²/tŸ“ÏßÑÞžN,®?=f»ÏIï=o•9ÓÆÆ£ô¶é0®¹å‰²ºI—EËe8Ý‘ÖÊ™—íÏIyBÖ³–äÌýÁ´ÉõzÁí7î9ÂôZÝUÂ~i=‰w‹ÑWçr½Ò–ÌBû˜9ÑÊî2KÊ8‹äš…eÿà2iÚÎ##¯e…ÞŠfÄÎøþÎø²díš3ó‘®ãssÏä±Xô)¦V9îñw»ãïøNRn/3ÉŠ½ýô˜íê‚﵆© ³tÞϙØ!#}Ñÿ ™ø¤gãT.oRîà¡©§X.ú²bå2í Kïñý÷ß /÷Äó}¡h-9´,EÕrÆ8{Œ£©–*{zZ¦tÉa¡*i7cž³±tõ¶†3i%Ö?7!¼}ɉ¬DnóŒë¦\>¿ˆ/gì;fiÆœ°¥åáÑyÙc²@?7Új´¾–Tw2ñ¸¥›¯döð€a¼ÿòÁŸÿé?°~>пý^µ7ÏmÂy‰IX°=îè<6º‰ùNzë§ÛúÉL®ÒBŽÝÇΑj¼Û¢¬×•µwÚ˜å9ƒÇoš5:Áãvg¿}áû–+¶\úƒµ*$Æ Œç Ü8 *åX‘@²#¨5$™1~~ÌvŸ–ÚȽqnv¹ôFþ€ÅËFÉ)bÑ("¬Ž¤) ÙX·uåÛ/¿€6¶} ëeV’Öõ¼µÛ#ÉH:„39=Ž¿Hœ%ÒiP67‡92ëp$CW— ×ë•wéŒ}0î÷d–ü*H÷ÊrÇο4 SŸ,ØÆ××ïyP{ƒ~AÛŠHN C«t«í?ét’б°‰íixìb§¸ÈÓ¹ÖsÙâ²^x{§û@¯W~»ÝÙ¶öö–{Eæ¬ ZŽ-/ÿÁ)ƒÕ%‰yZii=å­s/Öº¼ϽðŠôà%ѱ]4µëÞ°¸-„+sšbÂv¿sÿñ™&Éû@ÌêPÔ~ÂÊtÇEq ”G<=é ’KwDêY†×ç©ð9zÌví)ñœs?÷5”C>¯ž‘¯¬ˆç“?Ö6B?ox©ÍHQTæí¾!­¥Í’äHßû’¶,½üˆf²bÅ·VÕœæêÂÜ>G’èŽ=Õ­V·Ž…œ¥Hˆ¢}¡µ+MÚ¢H86~®ÒZo?n|ýõ;vßPŸˆ%‘î9|T<£3d¤?TZá¤ý=ºÓ›Ä´4Y>Wœ>§OÚŸ«P\2Kˆ6–uåúve½¬,ËJ낉37Ôƒk¾°1&Þ’ôf&„ é×Ü,+µÒÍ-áÇaLqÚÒYûJ_жr쥉O ͱ_=·¬f%î´kcyëDۙ|3˜Ñyã“ûí‹ívGF™ËyÃwG¢–F9 ¯]xfÀ6K_¤¥Wsÿ—ƒ›½@íò¬íɦZ{Os9Wµƒ*-úõ‚ŠÈÛÏŽYz˜œ \Ž´Ÿ–ú•N…çiçÕ]üUä /Ú†¬ù±ñÚO “õíÂõ²²±çÖÎÔ8¢-—¨×·Üšjc€yZó‹ó¨QýXPöbe“8õ—ÂßBQ‡†äŠ-)í“·_:úõ;ÿùÿÄB˜Û–úˆ°z€z"Yìèâí(©è¹èFé­R<_êáÊÞ]/|ûÓ_¸\¯lû`ßwÆHûI€Ë²",eS™+ŸDË™Ãaô’*¿eÉrtß“òЗ¥ö4 6·cs­U2¶}ÐzcYV–nìlusÚ"›íµÓÖN¹¿–Y¤ 2óñÉöãwÚcO ˆ6>í$ÿŸö5ÕûY)û¤ óƒÁLk¬ë…¾æ3«ïY~-­±.KBíÛa‡¡ê÷˜åˆÙž:å"Kó]=k®±Ÿ‚Ÿ¿KBØz•I¨–óÊKú0ŸýOþõTI¸%ÉíèË´§yÁÒlÛÓÇÖŽML¯Þh/¢T90è×Â)Aó(*»*óØ}]µs×F›Ná\fr¥¬ú©ºõÕÌ«i;ƨeÞvli5æ0F ]šœñe¹°^;&;_·<„s¦§+<­:Íi±œºò8©¡ž6@%¶Y û¾³ï[nä]:ëzIZx‡1r±KxîNÇ›0w%¼¥ I1†› Ú²M·yþŒKotw?~0>à÷²'ÈàB–šgÝ_Úé\B.Ê´cP“‚v–Ë•ËõÊ), ‰ì7.kjXæ6³—”vr£ÿ;Å,³½õ5ûŽƒq˜°H:üÿæòtÑxõfÃ^ùpáÈ‘ÿSù"­©9ÊîÄÍôZæ»Ò ¯a¥øiÅH½äd•gÍzXðŸ kð{Љ.[R~*ZÐî,5ìkR '_пäé4¨ƒÜ(?©:˜ÑÚÙTz-•Ÿ¥­LáRçñ¸asK¹i…üeYX×%‡™eàœE4Ïlq4ªþô–rσ˜‹^,9>l¨)ý2èmÍ¥™ÅžÅW+WĹTÓ™eV¥µ¢¡G0ÆÀÌé}a½\é l»³~²ýødl|Ÿtï9!/Nœ—ÞOUf¼ÜÜ™)úºäZˆ2sX/—\.éΜéärìiïËŠjË©¶¦®oGÌFŬüÿˆYþßb¶/eWøÃæ÷sù:üQ,"R+²âÙ\ßnÔá:þ»üa¡â+TP)Ö_qQ½£Ö‚5í´&Q;÷^EjÃåÎÁÓÚ¬t¦Qiô¶¦™v„iQ0«œ³¼ö9üÛ=¯ŸÝâ…RMÔD¿IÊ3Fbœ™©h+Ëåëº0§±ÏÁÒ×\Y¤Bqš½Å‰Á âWQA›†™H˜ Œ,Áöá´¾§AZÕÓ-ÒU\ :f#¾ÍKì•uÿØž>LëuᲬÆ×ï?_wæíÁþØ‹ƒ”²b·ZØñ„Ïí„æwA;´ë]ÖòΞ+ÿ³·;JÓÖ5K«b ·–C׿‹Ù¨˜•ÿ1Ë-f;x-îËUº³¢·ý³Ö>\úâéÿzF¼×–œ4b~îçøcB“óPÊéZSÍgÍiäºÚ¶.;…C¤È|Åõc]©aˆoµ { l…Ö<Ñ$+º; ‘S€©vÞêr®pÑc:RhÊ«¡BÔÚâô°ò&•q·?) ¥Ò×+ëÇ/¬oŒÝ0ÛYzÊ:£ŒÏ´)}mµyvÔçi@ù´Jœ‰ÛóeŸ´(9¬5|L\£MtÙk}BiEj¯ÆéôwX}úd ?KÛÞ;½%ïë1nì;÷ÛlÙ¬,CS÷=§Ÿ+–EÚq˻Л¶siKýÚé—Ñ´ÒrôcÃÔzîgÜüqЦ–µ'Ü;í¿³AÔöÚÿrÌòß³Ýç q?íåEPåŠñúÅã0ù‘à'žÑâ\Äu™_Ìœ^–Ù¤XIž:m=·gÝj1A=QŽ×”ÌÓÈÙ_ˆ¼õôt¸`‘A™ÑxðpΗª3ÛÓ¢Eks’@‹ù21j‘Ò¡Š¬Òf”¬!­±ô%K ÷³¤õÊúök¹tl9k9­«¥ìwrG`Ó¤u€§£a}_±€9 —Úá9øÑ–6£’ÞÕ[§pËmX3M ÿ+1[EV‰kÿ³ü·Æl—ZýÄËÔóäåHû·i²xmîž#ÇÒsŽ’íduxæFI‹»$‚ˆ26ßÍ0xæk)ÐqÙî‘vjªñæiîfy ^C»ÛcËŸ.— pè¾RfO”y …áý@×–¶PN îho`.è-^ê©èŠz;}ø®Y¸¹Ã•þW×l)Û[rMÇÂõK˜•UWL:$Ìð&ðÖ’efY]¼·/­ÔüÒL7ªu¦ù½žœÃO¾¦ÄÓ£ËÁ_M2„#Œ?˺€JÆe.œ0rÃÃÕHIçæL6½GaÊÑi”‹¹ø‰.c½g#"€p×)J‰ñ 5J,e柠®X”e• Z–(ì Å«•ð$B(é>3kðáé`3qÕl«R˜k…PˆÐÍ#‘¹=ºyÓ£À”Ü4ülP1À/˜f<Í”ø'Ù—‘ÏL×®f™Á=c§g„o-ÃH¦ÈìN ?Yä_,µÀì‚­2˺„‰Íò4Ë<5OfñWkÖsÍÒtÍ–.%v% YPì>ÙîtÍi!9ÇN5ÜQèé÷7ù+õëÌãtjŠoØ“]|`õ=;ñ„äÛ,Ú‰~![AÂXÖªŠ³Ç‘ì³mà /˜dº)B¸pú~ÉFMz‰ÚüÂíç‰Å$×5$Æ–±[Ì‚ÝåæÂ-¾.J(ŸñÙw‡jäW°DmЦ3°Î2íß… ’ÜS¬WŸ‚1óˆå½"ƒ£\²ü?4óá"÷ºs$%}‰™ôqpVfÖñ#k€4]ç§âðí³¥«­á<^hç1CÙ—eÅöx`y[Q*ãsA¡­@F·‰(•1¿hÇ=dÎZž49¸“O™RîêùïwÏ4e®Jp; #|9™Â›¡l5,°0t ¤ [\N-} $%Åð›§Ô9¤jAý¶œ¨RzB"—!Þ¹C™çà‰˜qX]áe‰ÌŠ|FKý`ŽŽŽ K Eܘ,‚¥<+XûëËU²t9Jg†M IDATÔöxÎ3RF[·s¶šrstÈF3Ú]1¶ÇX*ÎSÑiÐê‚Ô…$ÅKì£Ú4OˆãËÈf¶Á¡kÅòý T œj}‚yÙ¦!ã2%_ ¢½›Å³±ÀÿJ"þ Òaœ(?aÍz®YrÊc«`3ôìGCßZ;¡_YÒsg·¯ÖH¢øà’”çô"a†ˆÃ²<ò”™µe7ÆMÞAÌhu±lobXÛ3¢…®Ðj¨øý"fEÄ÷œ!àuãΙ„ARVˆC›x› åÅÏãÅCášéF‘x†0¥BÖÈŠs“æ,m²¼¯ØÆŒ…‘¾ŠÌô°1$xÿÏùøDûü¯OèyDG¨ç%=»I#iè^“ŽR*v÷Áü€HǺ½a©Œ·ÍXw–°èž=ËÉÜhm½Z[)ÆÌärSRF¡ÁC)ìÐÐü—?W‡kÎŽ¤D'ˆ×¼¬R¢ûæH\(Ç ‡«„¦ëç­Y'¥ ½^"x*ªãä>]ö1§5¿.¨~vaBÎ’8Í!„óñÖçD–ʼ]-?„u ¼‡È®w’U„ZáçoGH˜5¤Ì’¢<‡GDÔ¦)…KôÓUCÐ'ê(‰ÎŸ¤ ‹é0ælÅÁšº(?u¾F1°ã K,å ÄKäG§<¢ÿ( s §Ü!h(Ôãj¥šäqÍö¬C„Ã8UÏœ¿ÿûü7EÍK}×áûPà}ÒC %ÊŒÍH_<¥ÖžÐç j =ì0øîó[GpÚ–9‡Y9ôðô>hÒóòb“,ç¦Q+ŠÝ záŠó’‰Š¿2Öb€oµ”’ ”˶ÁJú’qÅ=üØ3p%zã½÷\!P«Ë†êŽÖ;Ô“$†Èß»Šž]Ÿ¶[]*7 w1UÀT°rÁ¶0P"Ö‹` ê¡ø´˜ƒuÊ9Ä(ÞÀz@Ïz6ø¡ANTÃZ íãÏ8Ó‰îðøÒQôÀ„rî~”y“Ñ܆qNoà²l‘åðÄÌ„'I‚Þ‘Èò„RdfÈ`Oá/:BÈÔ'S…™á|}ଜ§GX*Í{drØEäå~|¦(‰3ñ–‰ e€³3º,Ã5ÇI¤¦p.Nûék¶P&£„ó8ñ—Ϙ o·È/ÈöŸ{X81*ᾺRn’dÑ dd¨JÔá™}1Ú©©Ø¢zßý’j€‚ ™Ø5²1Áz a[— ð‡˜‚ǤVçe­Ô‚m{@³ë€å,X±ˆÄ&)¬5h?RŽ` S E-Ò^?ÿxÂXV;D EŠSeÛ€î K ¨^Î׉~œÐ½-!"8ºâµ¿ ÖQ—"¿ÀhÁ©{ìèYºži L ÷ž/¨ÇïÏw—L(]G÷%°',`Î(rgMr !>!G­SÅÞÝžŸxºÍ@.5ó-–°óÈÖÈ‹Çx˜æÉMÙpï‰q±Ô´Ž;1æïç®ÙBÎS^QVÆ{©_Rʬ-=v¡ª¿¤›ÎIq<´Cã( G\x‚Ž+kï¯~/X »bÞg07¶T†‚À4¬°YŧLœ2ÎvȾ½+º*YÔ:²¸GíšæúŸºÃÏöbX?ÁÚQ àaSm)Þ£ž§Kø¤…"ph¤xUðÒP–Y~Ønh»M¢ýˆýP¼>?pžZ±Go¼lìŸ/´#’¬¡—’©üð8=8 ¡‘’ÑmA‡òb üˆÊá¦_M‡É‘ Dó…égŸ/–ìÈi¨—CZDÎö¸pÀŠ ¾/g‹üºv³¹#*[Â0ÇžyDÄùg¯Ùb¹ùDí–nqÄÿñ™ßÝþU¸uiR{4¤šu:ç Aã!b‚ ›ñ¹yÌ3$Ò£à:gAô@´…o åè®KÊõãYë@»°÷3ö¼Ã„'&Êaͼò$ÐÚ¸$«_:9Ü2À%ç]BsÁS]âr¯ÖýоþÉk¶¼ý—_¡§â8У±÷ö Е[z"×í •Wk4P7˜™ÕÓ<†J”žà¬£—iæ¬7B}{úšTèç ê/x{A0Ê\vW‰,ØQQ ÏøçhøÛ¿ûoøþ·¿âßçó3˜K¬q"hCožñbEnxE  ð.®^(op«°V ÁN¤gùˆÎŽ$òß: '´ï‰æú yÊá2Îú‰sÂÖB«œ¥‹X1˜U ¸ÀçŒÆ$/ާªz–rs—ðs  ¤Ô(›f)å©#¸z€£órÁ* ’Aù‹¹ ³Aj˜š>.íbN¢NPÕ!6§îÃÞÜ£s¤¬—mÞ°",ær]&s ªeAyÈO_³åù—O¼}û†Zçy´£Ö­5¸zdßy†ÊƒQ«\„9ÇHJ¢›áœ&!BhâBæ-QÓ*:ŠZ^ú‰RR7ÔÜÁèˆÒ ú ÑðZÃ"s‚8vL2†Zö±Û ÿtt¼ÿÃÊŠÎ]_ëÿÛb'÷Œ6–%Ò˜<}׌„¯5–lJW–õu¼ÐL .1ñ)`;´Âú±ÀÝPˆQPRi €*ÚžìÞõ²kBÏH¾ºãê`SëB& -’:ÜV-3Yjt_†Ê–™Pj¸áŽ‹þ›‹¥‡øÏÔ’ ~U0Ráüaá¼{ë¢emèâEX”•º&Öy·¸ù¥‰û2…²¤pFF'ë^äŠçžÇÏ_³¥2ÁÏG?tíıýiÃ-°³ÀÎ`.5b( ¬éÃÍgð‚ÜñÖƒßûÀÇßÿ u‰®•å5U­Þ[L³‹Ã½ Š£ _ÑËŽo@À˜K¢8ô†¡¢†¢¦ìÜÑ'¼íìñľè—Öó€õøwë6y®C}ì)ä æ´´ø­þ¥¹G0cÜ­K rzoŠÞÐNq¾à…çü%j¿Œdƒ@UfÞ„¹¦×æ×*ìàð¦î(¨‡2à `’fð#¥ã^²°YdvcÄZã‚agG‰o`ò ¼²fà(uªüü5[–²€…Ñ[X =ËßlAœð6Ñ͆ÏhÖ“’Ž®kõyã'BÇØx˜ %Œ5æ–¾Œå 8×ùáà,ë7¼¿U||~¢[x›Ñ;¼#°1ž¶Â‘Ùgíù—ßp.aÒç¨?û–ªXDï^Ô ý—:õAFC1ël‚‚ãl8^;Îh¯Qµä‘$Ä©ÿ9[ôíûÊ_Ï!ü¢ pRQh8è2øpÅbÙŒèµéy$!Ô’‹84s%¶)Áè¦Ù n§z¨£'#˜\ãÜ7qÂá–µýøsFJBJbüfh¾ó†”Äs°mÑILBá]þ˜WåxI=ó¾GIY˜P2 çg®ÙRJ‰‹Öy\óÕTš®q9µV˜™ÝD9´ò¬ ÊáÐe’D-åð(ˆï—LÁ`ðÞg=,Ú³ÍÖà8ñìôýy`{0N+è^ཆ,Ù ªql‹#v¹Kù‹F&Å^u¨F[—½¦Ý2¤¦s ¥V–*x<6,µöÂóã¿ÿÏÂóóܨŸ1ô³žw—­ë P¹Àg—$‚n;%:‡y ~†G!ÿOæÆytt¹H‚ JØy+Ù5*@©PåðÊ£€´Âµ£÷3È‚Šq¦üÐ(Gÿ#&Ê/Äetãâ‡DAwêÜýf0§Us< ‹Þ1 o„;@¡7Òå–º¡|+Ðå;Ú«â|hûŽ~Œ“fGBB ËÁ’JÄq•¼½ƒ áûEO«i¶WCRo µz;=ñúíŸðÏ?p¼>¡{ø)$i&Þ[,¶ƒ:d¢’kæiO¨1OUñõBÄí ¨ ,ç(¥À5y°aù4g`Á^ªKpm÷sIs!”e .®DÐ¥£@÷ÀZZ³l['þh脦0Ê t…ÐO!Þà ܯ¾»Ùp2§r6‡¯RJê”î1 Ã8¾ëäS’H‘טôzN’a”\ÿk¶œç1eC}wIró eŽq¾Y´Z‡ØÊ!š—æš—Èh©Qo®+P1Й7÷!bGÍáÏ=Ž~âø‹ºm°Çø}C9ƒ¾Ý? h'`GÌ,´?ÄméÊ÷7ôÂøÓÿø;¼ýíß`×lOv…Ÿh-}æÐ øŽöùÄ¡zìèÇŽö|Aè¬o =Žhgæsq‹Hß‘ËÀ£¸q—†êÊР %4R‡2„‘X€ZÀ¥àÆÐIy Y‡>w¸w°Š64õ ÙrÉÓqœ±‰PúKÈÌõŒ¸;ø¥K¸¦—WCò…›E@ÉÖoIR ¥Òù'á¶ÔËZ:Ð<æ¹~x²³¼ (_žµœšïÝ2íJúš-Gëñƒ G° _ÙÑ´”ŒŽÛ})ì„vœ§¥áˆãÑ•ð¤“w ö<Þ¢ É4kw æË{aˆ ?ðò=Û÷õÛ¯øþ·ÂZ7|üøÀ_þç?¡?ŸÀ±£¿> gË…UÐ à Èvbýö†å½ã¿þ÷@ÀççŽãÇŽÓ_p;àÚ ç‰þüD=£ÓqÛý€z$²hÚóŽ?WÁH£¸.w2'í”hQð¥Ë!ÌPÆŠD~u)%ÚÚ•A%9U­GtòúªsÖ±®5Af\ã×F®"ÐÚ‰ó|Áí£Ãpf~^ÎæüâšøÚÔ2„÷A’˜D“ȼ<ßï î-NqÓi<ó[hK`t$,Æ)7¡›»°èÖåJoczŸßÛ——ó'®Ù²nu{$*>Ág¦Ù€µ,¥ 'öÏ'ôè‰WAæU‡ÞéâüÆå÷l5 sûÞÄ-ÙS nqÙ¬µJÐW nÐþmåüÄÂòýW°=±HÃã½@–¾޳a?œ®€ÔªÚïoP?ñçÿûÿ‚šâÈœ}í@ëèljóù„~¾€„ÜK¿³õðAô(ø†ë¼Ò<[’Ž˜ÑpzŒ£|èJNÑWR{‘X,D›AkУÃ3 Õ{À\Ãeh®qºHηÇwlï Ô ç©~byDY©§ýÃ’"¾²âuh”€=R^y]P×;+^ŸB&ÀÒÄ}`BµËèå¦0¡ž-ÔÔJyv«ìñ@<#˜"Ar£f“E'i†]ò{¦$ßwŒAL?y]”uûék¶ M—´y–õñŽåí«„ä<Ÿ;^‡¢ö’ …&qÑsV‘?Ç õÒI9€Îø+Íî‘b§HòfSç’ ;C; æ èL¼åÑa¯¨c¡„Ã4úöE 5¡¾&„… ~ìøñ¿áÜwhk9$D¤Âž=T®F¸1ÇÐ)î>ó'<_Œ™Q J-霻òÝE†çÛn#­ €S»]t½}Ýj¤ÈZ¾ö!Ý0^€~r-5vÀ£ƒÏñy…N€R,¿üŠõý;üó‰rväz!9ÖvX?â²o-¤åÙ*žºD\™ž ‘+p†“¥ù"¨Úüu4qB×Ë1bÆ®¶~jY`¥„¥€ë¼Pÿg¬Ù¢(puÔej j¶·˜mÿÄþzf0cźmqœŸ#´SsO©[¢l^,i†rÁpÓòø•Có?L0¬!3Ÿ6Mqxˆ¾÷ºl€SÌÎŒáMÌ‹ˆD¢(ÅÑìè`‰PùþzáÇ_~ÃñÇGD㎨³“5b«|RÙoQ æSZ1IìY DQ µyÚn1;44R…˜fˆ Ü¡FSd8JŠy;ö0ÿ;G{q€Âh-X·oåºç“k&™í\§¸”/ Ôjx{j©8·úж2ƒ–E$²Ï÷¸…ÝÓ]7r½/à°QÌ68µoḚ̈Ĝö6êzÕBÆ·`–‹Žþ¥þ÷ÏìHÅeœa%|9ØK­]JX~æš-á]bTa,øùÂÏ^¯Oa¼ÿŽuÝàjhÉe’a*Ááñ ·GJ (ãžyÓB» ÐÐVÌpù8úÕ¹š9Ì¥,XÖ üõ˜y5*,&¦•SVÒOœz„Ì£ô£áßþ@ûÜÃ÷aÑþÊË Jí“Æ>ƒë‡$ãÆ~ÝÎ|8d{³÷ÔæÐÕ£÷ô¢Gø‹õÊͬº[YvËœ ôKÄ…‰¬$P­àm¬ß€å Ú·w v8Ø „Ž¢°?qô?°{àþûÑ Ì¨ µ¼£©àxè‡B‡=âÌ,`úÁç` Á²–9dãjàýìa@šm»¢ÃnXÔ{i6Ü–—2[µó9JÈJ83åŒ*4„~öš-´¬Xß*J%,•àýÄëùB;O.x<X–Šýxaߟ!Ãù×irá•IjQ4Ø¡£ŠæÂá• ¬íÒKêÓ7à3”0åLA¢` ¢6Ç™QÍ´RÕd¶Æ|1Ìbuèyâ|ýõćkÝ\)tJ‰q¤W±kŽ]–ëÍ@q/’þbµé-6–ÒhÚZ¾¸× ì:)çkñ/Ì2AýŽüs€Ë ” Zx<`õ ´<Ú@PNäôlú êj íõ„ö”»͸æŒÏÏ'øóDV¸ ?ï%ãÜlJÌãJ¹6–ÖŽdn]¹‘é>›£¥JCï55A3á4§‰Ô$Wò Ê4ãÌ0‘¼·UP•Ÿ¾fËòˆËÙ²\^ŸŸhû¡®Ûö€;p¼^ð¼è!™C`¯ ¬¤BA‡F)$ª0®q!Æ@ç¸v(7Pjb˜µ¦2Û¡wÇëu Ÿ-LõC9ä…xŽþqM\…”mC]èþÊ™Œ²‚äÀ×g “±Ÿ©‚½_‹s±‡Xb¶ÀEÒ©–¹Cúâs”rÀ²“”ÞãIì úW_ЉìÇ¥J-%?64¼”ÁZQêüÛ¼TSxÚljóø„?_ðóÌËíhƒÅ$|¬ÒÂoXËPe ‘Lj»àg(%n‹ Iðl©p¾ÊKÊŠô_9iDÈT¸ÎgÉ%r=úxaí`N‹Bº3Y"bà?aÍ Ô8Nöã…£5HæÖÕZQJAË'œ^Q'2çô¥D\oÐ<–üBž°áO À@2gMSè~pMP–äE³ƒñÚ_8è3r"Ý-!á ”)Õ&Ðòn·÷GÄä’Áý†Cj4 _>6‹ï×g•y—( 6–$w—9uH7âŸ7CÊÃÇ‚WXHÑýV®ÑMU”'ÍÖÝ_ã,)c¬ƒÂX7P–PÌAðs405ë8^8>~Cÿ< -T^Â^š w‚HŶn¨ëÂ% Y"¸Eÿù.® IDATs¶»Â=½+MAzi·É Tn“µ —¹„zwgÚx1J ¡£Äšs+m˜N¯éIŽˆã?cÍ–m:~ÿý/Ø÷dòöø†í±¢÷†}ßAÈùBFØúlŽËT– ’%·\ÏÎÁYPê–c~@\áº~‚i{‹²Fè„n ïŽco8÷#| Ž\رÈ,mª,ŽNfX:ÐL ÊúŽÎ `„Þ+Ô*º+8ÙPdwÔ}ɬó4ÖØ=¬’uY ¥ÀÜpô–BºK8ÉJz°deaLºSåéÖcgQe¹Xü–?M#”†. ªQRš:ÎW‡X–¦5ȆD §˜ìðýýówØþw¤˜N@ ]¤ Ø +¡nq’7ëS¶6Ô% z*ºv˜F«•FÜߺR¦WŒ KkÀ-ˆÇ&?Ÿ¡+¦ªxµ@qqÀÝßOê—(­ëR°½¯¨Ëš}}þŽ}ÿ„»c[6|ûö'”ò3à¹?Ñû5¦”èÓP$¦P´¸FNe‰ºÑuvˆ*†j±ÔÔ5uúþ‰Wo8_'ô@ìn-Lí#¸dXÍ[†¿û% ÜœÝ@Ñ‚æ‚Þ g't£s>…Åš6xB|¿OV]š„¤&„Cg8ü¸qЭ?vœ "rÏš™¹äfø2“\°6ÀÀ¨gûs…k/N­„ʲœ^ÐöýùÚç~v°—é˜ÓhZHlÞ²§7€Ed jgP{ üCÄXR˦×ó™rº¼ ©oâ¤Iùƒ!O䉥«Úº‘:h*bT+l)mÃR+êRàhøÏX³åøhض_ñþþ \JÀ¿^dË‘"ÉfLiŒæ j'ð¶þbèçžwkžŒ ®‘ŠÃK,¬Æš— ê‚ýã?vèÙScfáw&€Óö'…ÍNJ^ÄçXω²x3—TóvHÍï×CP6f„t 1œ$õKÄ­¼ŸèÙØ"‚u)©?¼î)sæq¹8ã…NòE@ƒo0¸J£þÕ#3îMîÁ'BwA§ Ζº¢,†e9±Ðkð¶ãùÛ_ðúí  ØšIIqÚŒœ‹c´-ðõ #Ÿ®¤¨²½ö€I%ÊeÎ*š>€×ã¹Oæn*«ìÇ¥©ÌS’-²:\†ó¯ hLðB°"àxÿ¥B*Á­áõùç“öŸ½fË÷¿ùKÝpœ'Žçgp;K 2Ç“å[œJG-g`ô£áxu¡ÚÏ”U ¬å²nXÞ¨B±ûiïèÏÏÔò4”š|Tã™ÈyåT‡¦ÅNš"/F zârœ²o×h+ÆÝK,ïo ÂhŸŒóÓ`g‹`i(J‹± ïI Èn•rĆMT€s&:él;ú”8¤JÒû<ÀÑN0¢ÂdëºÇ½ˆ´Õ1Í]s@çàŽ" ëVÁåjuÐýÇç¯ß?ðúqÀ›‡ZY#0†Ç¼€)¦Ð%" Ö÷·8eÝÂ+ßNœ¯,ƒ*‘Ù‘v‹$­Ä)Á9¬ËÝUn6Ú™)ï™ {——äõ\*Ôd¤ºâ9Oë`ª*£Ÿ/¼Ž¸[ Ö·hªüô5[º‡ÅÌWÀ°žq]ÙeD^Á I{ÛpœÏ'öý(v²Wøž]`~Bì%w´ÚëˆC•ð¿vè“ wžzš›ïÞÙXNèG½jÐÿÂî­W–ƒKGLD*ËcATkÅùã}? Ôfp 1"žjPh|D5{’ûR*ßO´ó„gˆ&ßÂa¦"»H ý™.Q!%>tb®ÅDwÛš^ÓoÊH,ï†u#lÃù„h'^¯Ø?ž8?:ú à¶äï«!’ãÆ¸Hd°®+ßßCù€ð˜÷Öp|>aç™ØÑ¢¾fÿ˜€…=̬ ¤]w¨o'Öƒ¦cS&¯˜ÀPŽ#B^Ë´–fRR"p¾>ƒrâ))éÚ Þè Øìtå;‡µµDOÓk—oo ¥àl}^œÛy )R$š‚?·€4[6îb ŽIwÿ2sAÁ—ÑÌÍwCs³° YŽòE ìqÙ÷ÄFŽKŒ!î=¡Ò/XêÈ@ÐwE;>à¼ÿü5Û?~ Ø™3æ5SfRgÓ²E°áèžtS´¬Q«Hl)òB%‰âÜw´³.èGbÙ-<Æ5¿Ñ>^ž†­Ì¿ðúMœJ̡֚ÑZ »¸ç6AJ/5C-”4 ½ØÑãamkÝŽu©PíO¤Ý:NŒQ#äó¡y§|¶.K©x|ƒºãì=BÕtçб£Mï‚ÞÄyW›jœÞÊAŸžÂÉÃÀ^‚ú—¿ÖÓžËÙ2%)PH©Ø¾½£¬+ºE2*»§ëPgØÒ@¨4>JڇͮÚ\Ü÷™¤óŒö"º"«Ýô:U†#‘d¦Ðš¥gŸþ\Þ*Êãa‚ j 6Îð™Agñhwƒ~úš-›mAÍbÇ-1*öê‘Ä%s’ã˜YӀ硠ãõã/8žñ›[,¨n9ާ0•Df¨…bgKâe—F{ ÝwØ+sUTg€x¨òš-ÅÏX0â¨o äm B1Ü6¸×Hiæš%’äþ\žÍ’ÀΠr°%r< ò¼78 TBY –÷в\ÌQ!6Åß Áòì<¹‡4"Ñè7*Eêk<Â-K©ºFA¤CGSà|½ÐÚÝ!´³ÇîIáŒS¿4mg¹bÙÏ×)•|¬ÀÄ3Îv ýh‘Ëá­dzi ],ã»ü ñÛ¯øØk6b¡8>{ln-˘ØÞcߎÏÃ<ý,’ÊZÑl ~ù›?¡¾?pôíá9X¹À¡8Ó»M÷SÌç龋`fÖQ¦Yå³¾ Zõ aÄ]C'5 ˆ#E;YW}HÍIà~ŽÃÑ"Ò€ mE!Aç°=¥7š[@_?yÍË P÷è \b¹7â±#F~uÍãSЛã8­)ÞÞßðËýßñ›ükmj‘$³Û¨Ä\‚ A*£BY~ÜÝ·t÷˜Ap|@à 4–ÍÌŸH:°“G6‚0¨µ1”ÞÞQˆq¶íÇ VGZê±ÃŽÌï;Îðë5²Ë\ÄLSº6r£é†N”~{\fz“#ã,b¬<…‡\ë MøÃݬs뾩9Ú-Xg:”}Iµr.Z h5K(]ÍO”¥àí×µ:ö?£õ"ƺ>°­:XànqAÐûÈsê‘w¸ŒkðZ"KQÂ81 â˜M#‚ͺæ2‡²dõüŒðòž‘!1T>q¡‚å l%Ì·¯ý@ë=[¸2e|*~îš-ß?A£;±·˜ CI¡´Ȳ –G¤¢«R°½¿áûùD„æqäÏŽœ6›)Ô‡ßZ‡Ðu¶yd€Ìä*a@™®S#'×W”Vx0¢,ŠãtY*–5Ú–A¥3ô®Ø_;úÑQœÑöûÇ8Nxëè­"Óo#êÙ‘ºa.Ç…rÔ}Ã{,’YP6ØLŽê½ƒÁš­·x.f÷ì™;>d!_, £É„‘;·P´`!Œmݰ>Qw÷he;öWG;>‚M›öæ-€‰™ÛB%JAGä-…€ÓÑ—%Ä@•ræ#“¢t^—H?::Σ¥übleÏŒT±ˆ°‡“4²¤AÞA'C?€—îè®hÚ²§ßa(pÖ€9 LëO^³…ך5ëP˜Ø­ #Þ²Øñ4YF…“`{_±HÁãû;êºá¹?ÑÎΆú&Ñ&;[ÂüøðÕ€~†'» ÅaÒÁlKÁi=Û—°höµ¼§,ψàÏUP×0 õ³¡›‚œÑ^ P‚ àüøíõ¨{¢ö#z7ŠÕ‘«÷WLW^Î!©9â/~dbÂÀ,©öÌ +è­£ë Î?}æ™\ú(LjåÕv`7üÕk"E‘Ð(U UÐ-¬¼LK2nãw¯5Úߦ m޽µ "‡ª™ñ@†pâJ*Ê®`LM)èNù¯‘IR+¶ï‹)Z;ñúüÖž‘`Åq2}aDçPÕÍðqüdjB„ EÇËmÅ3køç¯ÙrøžM9‡ÒrÖd—: JAɼºsX@¢°ÿø `[—) 3XÞ "ŸšŒÁ£úáœ+F“Ú[ƒƒ`]ÔúÀ¹wìÏŽÞC÷aîzAy9º>²0ÊV±Ô â~F7ƒp…wÃù|¢}¼`û꩹:0@\ã"œî²L`¼‚SÎq!Z¢|’GÛÈ–Ý5…”…8%ŽBršæ?ék—g õæ=GB±ë4}Ï”ÖÙ¸ôÝ:üÜS;<%ýE"Z{ÊÓûËIê A?ó¤ÑK¯2P6$„švˆ@i…• ²¬ÛP+P“9ÅœYÝo&x?íÇ8þ8`Ÿ/poyZìÀ‹kk$…>¶ˆp4úsø¸‹À3ÈY~úš-ŸÇð>º‚#ŽkA_6Èö@©uY±d˜âóó3,¡ª”øëÈ¡üI4JzÓi‰¿é¨ÚsØA)šòëZ¼{G)Šßÿxõz²š/½øâý§y¡™/&abj|Ì8ÚŸ#4^DâR^Û¶¡.;µ®qèÉíCHsX;àš©MC@áäìÛRµVðRpn‚öpüú7üú§?…gæÿûÙp¨¢¡Ÿ€£ Ö¿ü·ÿçö'üñ÷ZøRˆÛ]]DÆA5¿Ñ=:M6´ì”¹Z,½ÿô5[ÞË÷YÞ¤Ô^*¬,ß 5Ãï?~àR‹¼¾®ð5K‹hŠ™Q( ?zN¶év?^6ûšI7”Rþ}øà!mp mÖ 6Á??ÿÿøþ=ºE™ƒE‚ †y\ër"¨£V5‹Ž\2Æ —ŒcI-ÿü5[öý/HEd]P×7xÿÄÇïø°ã®¨EP—š Ðç ™J)Ÿ Ä2:Ûìã°t3úqà8O¬Ë‚Z7Ô5‚ݵKˆÀºç)t:­gË憎 çÈ´îÏЄŠe©05á¿£??`GKžÖ~^|’A†A|+×®Ž „ µ n¤ÔØ­FØä‚ZÔ²E—+›RK”/™/9Q¦)˜üúÜá×è=róð¥Cæ Op8Úó…ß>?ÁÐt"9xøìûH_]¢{䇇EwZ1§«3ìþ"ŽâÎc>¢LÓ“JÀ‘¯‹ÌÈ/ŠZ*0zG86§ˆF’Äâ3$,¶·cªÌ §70Poàf¹‘᧯٢ÆÙ e=ÐmE;uYsUÔµ`­%}ÖLH#œã¦¾ÔQ—{ô÷½)Ð Ôc~QÔB’qvð¦Àz¢ˆ –H6ש¾Ðêî€æ×a)àJÙ•‰¶'Þe[+ìù‰ýÇÚë}žÀöN3%‡*þ=ÂIîsì(\ã?À ,ýYH ¦ïHCxGeA)5°˜ ÏH%å @¦¡˜Øý,ÝG~¦xãÕï^šž J±áU†$DbvËä‹«ÔRþQ Щ'c¶M§äd~3 <ÀÍDeó.D·4¢K»†%ÊÊRJú=¢Ú(d/ ÏATQ½Ï~oº…Ó0_ ®d%k­Ì?±FªŸ¼f Ëm¸RÀR±.ȺĜµà"@‘ÈH3ܤLózzÍž¼¥ý4†0Ö4¤)¨k®0Ýv€j…HÃ`׿Žì®Ð~‚\QkÊ¿5¤ÈžPYfƶ-s?~àx¾°<¡ç™þ„4èkÌR’çK†"#“‚<º¥‚÷h9ĪKÀ•{³Šs†°±Z†°À{ú0.°Øð°»û´VTæåqö ÈvÑ^oDoŸ/Æ€7à¦dý¢T¹:sáYäê1K!ˆ››‘üúž¦òf³˜¾‘áñ¤{ðZC¢CùÊ'¾4^ú¬œß׈¸ùwí“0r7BEƒ!ºOšR“ˆ¨û¹k¶h¢çk)X·Ö·7(ZjÖ# ffD"ï-{åvË~(ç›:¬'1NaÊh=¦Áî%âhÓ{3Ðÿîáô’R³&‘_!dêÖZ”&ÖG!8Ð~|âµ8÷ý8`­Åi w™ ž>­h =¨v˜™ 4o`”mƒ,KffGh0ï%gñj0mh7}•d»SU'ŽrÔ ×Kq…­PÞilÀV+ì4@Í“_0 ô…Æq1r1‚&o'Kï†RÂH“´žBò0![¾×ójä]‹K`o"›ƒ2œÒfè fÒ8®¹È¤šöyTЗ—>TÒqç¸6b¤§$|‘€ûó×l1\—^6P]baqB˜}äª1˜ Œ QªÒdFTUÌ+@1†‚#Û:¦BAö°¼ä_ôp‚eWǨG†²†8 ¾€AÏ–6Ìdš£/ìljނnj!6Ël K"ž%>Fä•›ƒ2âÜÚÞ<\n7H¨Gã ŒQ>6{‹©6ç{àðá VÓ>é BÃhé³4qCÔÓä—IЧî(´X_%#³?õWT‘\èN·x·Û©1ôKfs„9-ÙtÅûåœÊMu(gyÆsNÅ9:Œ·ÄGŸ Q¾<ˆéRIÚT+G±!@ñ¢_É”ž~q²\«aõmí§¯ÙÂuƒ1ÀuAÝ¢¦Vd¼o~`CUjî¹#Ñ„hšœÒ!<ãË œO”-Ô!šÁ¬¥#˜q”P1èÑl¨‡?|© ‡ïÀ»¡í'ÎóL¡¡æÎ;B+ý‚gÙ•qµAs('’wB5>EëwYËÅÑU‡Çt F–6°¬kÌ¿õ _±9(ºT—ôÃ#Øä–£”|ÛÍÃw/’}±Ý€>=ž¿@ _²]èÎtZWŠq’Å"·‘‚Ÿw¹‚*9Ë£!¢`ÞÒ6ò%2§P|nñY8ú@yŠÛœóp‘›ÿVRäw°e«¨¥ A~úš-e]¡DØÞ¿cÙÞÑL#'€e† º}@}'µMøÛ/üÌ-èž$ dì6¥é¯L², ÿ4Æl>e#”ñQ§5ô$…[SØÑÑz‡jµŒ »¡\ >ìØœ2ÿ!›L·Üœ<5AÄaµ45´óˆîéüy9c°êº`) T ÚzÞyl:õ¨”8nˆœñòø»ŸtâˆÛÊSFïÂAÿ¢J¹¢ñï"óqƒJ_Žº ¾¤‹ÞA3m5\qHUdøª‘¦j–]I¤Èž€k¿㈕I²D_^êq:È¢i0²öœ¦ ôÆÿïÙ),+ÿô5[¸ÔxjͲ6ûÿÃÛÛ-Y’ãZz éî;"³ºûüŒÉL¦GÐû?$3i4g¦»*3bow'è Ý£Îè2û¢ºÓ*+3"|ÓIXë[çŽî}öÕ™Kì)ù¦‘Îyd^µ7(¢Š¥ˆL5HäU¦dØzÖ‰cHãC’^5®p äÎŽRÛúÙ“ ›yuveÅ©ú×Ké ÑB³+ÿŽÓ‚šÞc)Kb⣟ný„[pCæ)› !”ŠRã1Õ0Ù˜ÆÏg:w¦alúRJv°§òªÇ‡mè ”»èŠ__ÇŸ®_Ë,ÿêñÙâ—‚s!31˜Ó®;﹌e{ƒÔšD•L_rÿÓÅçŽï"7@ž\yâGø¨O &¾Ü«“N8Û>ƒ7.J$ L>m–&ùqÇù•k¶Œw6Åk?±¾=°=ÞP– ÓvŠX´G{ïpí( ¬5M*ýˆ¿¬ƒTÇÁíhP=3a(»#"ZXÚ—ìz䎳£Y‡pðM5¥ 4Ò>U§oc^¬Ç?æS䉡b 6k†;Æ?TäêŠh˜‹˜B.‰«}öÞÉíH ÖõGL“ÒP½zëèçÊû5 ÿZጉo!°_ÙF.O?ò¯]§ÿ\IÍàÞí™ð¶q? ëÒ=[À$Ó?¡¦^P¤‚ÐÛ5½)d´9 ×äž¾v¯F³È&ƒËÆ÷áWNç°Gxv²DÊ킞ªÓ$sÆÉ®nÑReùåk¶Ä .@ççR×%..èç–O]r`;šw¨¤ç™C%+¤@o1xk Ô:z‹ÝæUÅ#UóvÙÊØ[s@¨†§(¨FX½"ˆsQžE´oHâŽ!)É–ä8©žI˜a2^xð¶B–x T’‚¦=aʉ`ññap„ÐpfG÷„«ÙBÅf$#‡/á%®GHì]ë=¤œ;þ|Ñ…ýç!®SËÎÍË'á–zt™~S÷„ Vó´þò‹åõØ šçÆPÝ“š˜‘Àn œŸèÔ€eÔ\k<‹SÐGÁEá£p³øáR Œv,¥–ÉfÞ^BÏpÅ0ÄgÏsž02ÎÃf/ªd‘_¿fËH5u´ãDko;?#á'5eY°½mØÞx¼-8go˜ Ð5‹…r€s?âÒš.½‰f1K:ÞÀ>†â–ŒUÕi;(Ø¥ÔpÝià#KÉ-s2 í-²òR:í®,²,([¨C¹d|MkôhαÃqÈ–‡ÿz|0Øyñ›3+¯”°ÌJÜ3Ödžõß·6…µ=R^µ§““Ÿë=CuSuyÏËÌâ˜ñ\y‡šg#ÓÕY…ߟW‘îp¨è†*AW qgÏÀ'Ç·Ÿá\$Q -ç4c#£l6ðlùÞ´KfSX9BIÝ ê„Û¡s;ê‹vs¦ì–qÉcFæ©÷+×la©©í—9l R…CJ… (p–mÃûoß°>VÇÚ;–²8»‘„”¸˜N©akäÑåÈØì‚à ¤0XhwôŠ…ü!†;î—¤ñb¥xH=rò<ëóä ÏáT©ÛÛʲ‚k0hµ·¨“÷ƒ²ù]‘ßï0"Eû··–/tìâ_§ˆ)“‘VÁ² . ¶ÃZ¬¿~æÉÐc=g£@D€Zó. é äKN1P;Cœ-p˜g \k#:VVžJm‰Æ¼ˆƒï5§aûµŒ6 Pk¨KP K­™ÛaWKuPù–•ç#Ûãi@· õªéf¯í´àùF=£R#5f*¿zÍ–¿üï5RkD@ˆ1Ät6lÇÇ’9:Ž,Dº‘(VZ>?NœMQÕ!ˆÉtï!/V´8'à«`ä/ RO¡ñâ IDAT€i^ŒÒV9¢g5Ût’X¸~F ..‘–Ä@Éc3fQݶޱ¾ þò/+d%4;#m‰cÑÖ”¹§x¦Ì¾>Qx¸©,(L¨BØäЦšSƒÀE ‘¢Ÿôù¼b™à((È›3"¿ËárÏÒäå^ÜOÎ; Wš˜üØI—¤ÉqÐÓÇË=tU“pBŒòölë[¸ {KUmHóÉ®ìáK!maÓª!G²ì~茨˖C¿,íLÑãøÉv¯G"/¶@l <¸2d«¨ È£VÔb%)1€‚@+ýò5[ðó¿BÖµ$°3¼toøùsG?-Ȉ‰çR ~ì?Ñ÷A-ot3´¾£›B›Ææ'Ì`mN<÷ûKmÏDaâp–) D®ñ LíuÁ¿&r†Å"h?qša>0ÊÛ# òÄ)°‹‰¨õ Y°à÷e€Hîày7`8Ð5H~y$¹jèwòÅ0‹‹ûÝ"ûùÚqì ÛºaY–kxIžÚŸ[{ùv·ö°Íº%2Áp5 † 1FŽ£â¸zøn QœàËÏÒZÈZŠ8x 4eå(Ó¢•šÞîÌÿܶš-ч pêË ¡Gøg²ý®ÜâôÏ\×°Àœ©{Ÿ[ƒˆ‚9ª/ ¬òË×lñÿö”·¼Tp Ý‹u‡ŠýSÑŽ¨M×eCQAÿ8p|·q*‚çì"ÇA‘^ ¥0 1'*ëËr˜¥ª(jèTÑ%ºsf=B>q%S¹ÓECõl˜EèÇ<éW¯Ù‚Ç78:‘šJ¥FAºàZLrý„Ÿ-§‰ÓáTL;2;ó¡2PòîðâI¼óÌø¶ô%0È ˆ—yä xä0 t„3tÞÔ.¡£WO¿x&:?BåeÖìf<ЈéBdo[o¡ã§3s5(êÎ㜠a±ˆûF|¿a:ô¹tÿBŸÚ¦Û ,¤ºå¢xŒd¢ÛËäS€™…}n†ÿI`_Ú…CœdÐ ¤ŠfYF$xà7;­gÔçÄaèh|bà/‰  ’b½ÄgÊT®qKYâÔ÷¶#ur–¿tI¦c…óYÀz`sºEöx2Eõš-øöE<ÞFX£KUØ~âØReª‘¡PŒêÉ ÞÎèRƒí ,Ž o¨Ûb‰!‹öˆ„Ò2m9½~‘Ç™¡þÞ®Ñw¯%z±ÁÆÖl>àfu ƒÌ"êAo~‰_¼f‹¼ý-1£Ñ2…6è~Àz £ÄF%&“žK Ÿ´[Gû<á]£¾„À,&¸õíJÙÐÎOôÖAÊ/píD yNj/I3sŸQœ®ÈnÙæÅ¼° óµ+[<#g¸ž1í=dî—tø ò¢+Ùs5K­<îý~K<–)ȸÊ?ÏnUï‘YGS~Óå¤Á,¥2irš×Ë“õ¦{ºÂW0ñ2#–€8ˆž“z ŠY˜¢8º8‡Ìó¾Áº.ÞÞ¿¡,>>~À<üÑNt)ÁkíÙžì\S[µø 't/ï†Ý[·ChÄ3Ÿ˜#Å覢OJÐŒ" `]P˜¾Öðüýï ÏØ+!"¾HÂy—YŽè2q)‰N­`F˜ªq¬â18-à R¾A–T´8ÊF¨FyÛQ·h×ßÏ'ãxVàY¡'ÃOšAœÂH”­j¦È3!Ö_¿fKPt§00° ðŽRõ1ÅGáùJé€;T{Ò³#‹½Ïë‚öYðÑØþBñì'³˜RâžiE9pO'ÛЄ¦ÁˆÓÒ8ÒyüBÆ4ºÇÉ`]¯íŽ,‚a&ÏŸg«8G½ÓSI–“§G¡0™{b˜ÐÕÅpª…Þ+v¦˜ ŒûL?{*rY*j-Ь—ç©/„›Í“†²1LSWt—ÊÞ{µ7ÕíÐ%žsŠ.uÔ^l70ûç g{Â÷î@)eªJ-0¢ ¦ÏÞAXßXÞß`…ÑNYÁBß{Ôì¤ñjAYßP·ʶ¡¬^F-¢ÎDUÁ²< ´aà„âÐêXóiõµ œÊFCA*`ñšíÇO:¼ïÐvÂûJJÓèèìöㄟE<¼ÍÈËÞ i8` vœáËn"¼®`ÍŠYB™-YñçÇ¥˜n­ÜH'„pmLÇq©WoègKšœ§cnôõŸ³Oo`¸¸%31õDCn0K8Bþ;Í_rÉ÷JiZc}H¦‡ñ¯)ÌO\{=C2ô·Š¥¬ña+Á¤(Ρ-àsJ€é‰ÞuZ`9µ^|Kkº+uïzï‰âeYŠ4y-X¾ÿu{C]7X3x/ ^A¾ÔB¸©ÙÝ¢8™ÅÑ1bƺ ¾ÿû;Ê_Þñûߟx}t¸W°­ >p†6Í î ÚC‡7ÀIañËGÎ#-pž œqjÇ? ?Cò>Ú³Œ(…¬+¼÷_¾fËñü¼ï€6„¹/‚EÈVés‡îG2F{flšE¿ÄEJIX¥äÅ_ ¥$ôÊZ‹ –^P *””€;]3‡!”0Í:]c¦¡™y ÜÂPÁìX¶*Õ@ç¨u8jôœff{\êÓ;à4±8Ša¹^'Ô@ç¨úôÕè.¦0û¬G˜™J&¯"'¼I[ô´ó"U­Ú{ä‚ä9ÁI=ç ^‰yHh²®9çÆÓS ‰È1h©@øº¢~ÿ 0Aç78ººÃ½Í!¬šgÏt¨K˜øÇÿøox“¿áû÷¿‚]q¼¥0zÆÌ-r<Ž'ÚR~.>¼n€aâ* ª ¨lpduÉ“€õ0É*¿ dYt˜î!-ÿÅk¶ôÏß!uµ0"„ÜÂÂyì¼uXëé€Ê¨,¹ ïcW òwÉÙkZHÍ*èÖc!0+n:-Ÿã”àŒŒ Ôdt?¢¡2⯞д §ÛTÁrvm˜.ùŸCq슦‘ÿ Ô,§’‡!<%Ñ’õL„¥Ù ‚™ ~k-Žž~ŠaÊù©8Ú}éx¼C7Gë{8“ÓyšŽ5"A)ôtÀ¸f”=b·+ñŒÓt52ð<ÕÊRJxB„2{¼Ãô„°½¿C½ +€^€“¡ýˆrÈ‚ïSàh9„T°-0u|þ?†íßßð·õ7ü8Nœú#jý~ýû³=£êåÊÒ†; ŠÛVJŠÞ½1¬%fH¢£T‹‚qÚ¡íH…òùË×l‘~¢2"÷¬9zoºL*Ç(œ=UšñqñÍîH!ÕfH&7ÕXBÛŸ,Õ›`¹h›‰Hvš#½ˆóïµ'ƒÙO‹ü³#vlè›FD°eKÄT-)1ÉÜ;%Šg±Ï;ˆ§8q¢9GÈIâ}†´Ó?s™d˜9£˜X ë«»áÜ÷`Ú2…*6ó´IJxÙgxå]©š§pæLbž)QvÓA9b:{žý6ÞH•ÈõcL4Od’KOzš"ô?iPÝ;š(Ë;êNFë'ºs•‡¤_“îâ ¬H¥6¨©0=Ð{´° âyQ) Z:Ãààìf‡”‚Æ¡|¦JXÞV<Þض¬u|üþžÿø;úÇïÐó´=N£>rø<0IGûåk¶ôÏ}êxE|@=9Í;’D¡\V I1e\·÷¸?¤ƒÈQ °¬€ÚŽÖ[@†i…”¸ÔhÓr ZìÜÑ÷#ºɘ…Çb1N-⺆íT³ìJTÚXXª:‹Ÿ`¯JøµåD $mSŠÝope7Mg]‚Ìò^Ä Qè՜ûz)%w³3Có„êÑ)2Éç·T¸QðŒ< OqÂ…ú•3Bx0šâû. 2I!ŒÍ#-MC‡Ùèo ôzFi¥Ðühþ†òØàì Ð‚î‘B(O'P—è®urX ֫∟ýJÙPÊ <Ê|Ic²¯¡ŠÇ"˶‚ÞW RN²úïÿ¿~àõãú뀟'"Ý8O©³ÁΆÞ[0 †¶ý¯ÙâJOºóÍé.çð‹iêíA6ç #0¤,5Kƒ@ãpÚæÃÔÐöÓMÌ¥†¶…}E¡ ÂyþÄù:B¢áø4Üe9ìKoãÒíØ4àà&¼ËvgþðÈËkI" sdÖ>ǧŸÂSŸ4Èz–XÏhí/5Ï{K ãC¢}éÀÛyÄLÅü ¿`8ÏFLX ¥ÀZ„GŽRmÔ…ûêˆÍ¢©/›·tá¹åÉÇ9ðd'Pæ®x‚ú`éõ ßÖ }ÿ†v®xþ¨èÏ'úþBïÀ†ÞŸ B`YAô€M Qÿ/ßð×ý7˜gS”º k.6ë‘G¡¢%vàxÂwűïØ?þ@{=aÇdn ©¢=³Ñ¢ç„nó ::~ùš-$5<ÕCÇCÇ/)ýÚ{RÀS .»V)e á)ÁÎ3Þô¦èm¸)êáÔrdoºGp ç©8_zÓ«ÌyG€€ujˆÌ“t9+/C’ÄC0Vò ô=ÉÝ9î!=.ǃ5äW†÷ýd(—ÞÙNžIïˆÎM@Íá«~åÑ@v¿xHÞÇŒ&‡jª p›CÏe;â$^ÅÌÛV´ñl¤0îá9EP¤eÇÙ¢CåAïå›ÒÁ~BÊïßP—ßpþí¯øøý'^?þ@{ý„é ­‡ë&€×ùB¯Û†ý·Šßþ—ßð/ûŽÞŸŸöÏ'ŽÏ×ðÒB_;öç'¬ðý€Ÿ-eAÜp楹wô£ÅlÇ¢rzé†CJÎØ¯\³Eêš\Ò¯—9¢Ðñ@¤Àò Ç…P$m\v¢«ÂÏ4sSxo8÷ú¹cYjhRÜ€ÂX¶·w˜KLÂ… c7…ÌŒŒ õñ¤{kÂÓ®ûæIK^ê)ûï™’“ÒOùÅ€¹M~ÑŸñ—Iñ–QÞc£ªhvíÆƒStQ0íâ­¯Z6”%úùp‚ƒ—e[rÌNx° €`¯ÇψNØ#Æ´-›¼ÊÜ!%~ƒÓ@ÌÐ`Iá¦y DÕðz~‚ú'pÊú†÷¿Þ~{öVXgTÙÀß úù@kÚ¹ãl‘Oîâ( °½Þ·yþÀÏç^Ÿ{ÄF¿vèÑB‚qØüĹ¿bÃK½[ŠðÐã×èŠ9À&óŽ%£©K“%R~ùš-,~ÜIé ®ÓH%òé–»”¢ À[C;339l¤•yÑe)`y¤Î¿€—Ší±¢.Ô:Tw¸u#lÛ;úQñüü„ž€uQ;ô‚qƒeVç‹õöà«&õÒ£«¦æ6ɰÙÞ%¦8B™PÒç‘Å­–Y~W1t·ÑN ê-ã"sáGX· Ëã' !cby¸¸”ÌâΪ‡¢y _˜K S’® ’#KÜdŒ5îÂÑ ²¶\&Ñ›‘—ÇŠÓ²e~–ZÑOœÇ‰ãõ wàõù„í ÖÄk‚à­‚<ð?‰eAï;øwàãŸ`Îç Çç vÆ)aGƒqBpPƒ&±¤M©]HÍa‘õ+ c¤-I\Væ ñ«×l™¹£cS&øj°ªÇ¢ËáUêz®†ÌFë=ä|Óm4äDÀ²¡Ô¸œÝpüÜS&´çhÂQ$¸±ïëwìÏ=¹´1l¹®%ÒB‡»=A )ÔdŸöô(À’.?Õ¼äׂ" I3#$CkåS+u½ 4;W·ÉúŸêÚ@蔤Æ1\ ZÞ‡” ¨2–*Xßß±¾oà§Pß Öq>wØ©ð1Ë ‘`LÅâ”茡ç™ÜûãùB?ÎPÁv…·ú“^±Ðìv¡ø¯øÚ/2{ºjŠð©%Æ,#¦ê¯Ù,C­q×0Ë[hýcgµ;’1érÁ]B¼®á”†}^€²®(Ë7°lÐÆ‘±œbˆ÷r@tDê`ý¾àñxCk¼^{ê†(Û’@Akm¡í/hoY7g"èô_‡Vi ÚHÛÂ(5^&ÿ~fÿÛþ„̹ Å¿æâ} s!) íJo:1\F #Žº¾ÊRQ–ë¶byÛ`¤øÜ_è½…JJ wzGƒÁ32˜yœF7¢ˆ#=ó—8rv>å)ñÛ*š™„H¸´Žð0tЬ^¡'£ï´ î®ÉºbJøÃÝ µÖ·BûÙðú㞟/È !š§&ërþÝ`: —«Œµ<“?5çTÉ(Eb0<‚ï9A¿x͵¬R ãO5:—Å…ãM(—{Ø%Ùr.0<½ˆRGŠ@ ÊÛ;¸¾ÁtÉnIô¡»‹I­yϯcx½½¿p´†çë]K]ðxú¼áÜ;Îf8Ïý<áÚ!~%€^©ª4™DщŠ{KkÇõ€ÿ9G· ýÍÚ9Žf¦´Ãf¤®A28ʼng{xЙòå¨1ð;ö>^xž;¶uÅûÛ¤¬"íŽBLÁD¢â Énά¥/Ë+’ 2·Ø\ê¤ AJd²®W‹R!d)qmñÂ@”uSE;Ú xo±ûŠ†Þ O´#„}\¿aµ†n†ç|ÀΫæJÏwÄ`Ø36æ¼óLz!Íìx)Ư=#|Ä x Zõš-Ð|;‡‚µ'•mâ;Õ&j~Qòü½ðTk1Ð*À¶À¿½ÃÖß º@ú†ê #Å)O4N:±¨Az‹àÀ§âõ‡âÌéµ'˜€FOøO´uC7YÔ½ÅÒáá“FÖà S !TfÀÚθxgÜÔ,‹ìÂBƒØí7I;'T q:HÍÌk¾ípáÓ ”üÿ˜7² ÖGAY’nÀóç'zkؤ෺`AÁóùŒø±Nx3Éólèt指(Û·‘hu€„„l;ÁQ“XÂqe×äŒvô9µVïp ò¢äf`Úá­C¤£xƒè Ÿ?phò¯<킈tù`gäÚ0õ™&È‚vÖ—kÍî\Xs‘0ê¼øµk¶ c8$œ·ÐOq1¸„Á"“i(!¼ä„úx ¾UxÙpè‚vTHÙ`µ@*KÇÒÕ+úÑ€ÞÑ^;Î}º•šB’ •¨æ"ñšùË¥DS1g@‚~‹d-Í##Úp{ÉüÏŒ¦¤kÜ­¢»&üX&­–%„ySáš®>8ëm‡dW*……ë‚u«¨+C pžöç=ÌŒÇcúnx=ŸØÏ'0.”Ù-ãXÔ칃Ug&yÈHÂ84Rˆn„tØßá!)Ñfe êbÞ3ÚÑÑÏSrª†Þ5)ãcH¾,¼. e…qA7ÊT© ñ4›3¡[{ „@óna•C¢I€/¤”ÀlÂQø&ذ‰š-Î@G˜8Èo¸Æ¼˜Þ(-ó28ó(ò"Çiô•¿AìÖ :²¬œ ÙQ´û=>qüü@íð®)ÌäœÈK†qèÖÇw,¡Zô£¡°ÇŒ„‡½G ª#cÛþÜ¿àù®6ë(U(í˜ÄÙ¡òœ gš’ßâ0†r`z¼4©…\X²ÔEàzâx>qî-N¨Kæ„Ƕ:ñ­Ó˜“F#[ :ç›ÄEÚ)š¥¹ƒµƒZ(dƒQPPj†€Ô¸sÐÞð:ú<àgO÷¤O¼)Òzbdp!P]Ák<*èý FçÐ× À‰g–'TÊsnd‡á2¹ÊMܲ:$£Ë@ØŒh£0vñp^ŽŽü—¯Ù‚Ü )½×p½¦¾¸ÈÕtK|&¿ÞR–ð°0:z0L£E%åE¡øD);*úñþñ¶7P·’wF×™‡œB°¾=°¾miiU Îs‡ï;¼õ̱ì)žåQ\øx•ÈnÌÿšïYF  23|pZ}p®@ 3|×÷l&(:tïpÏK°<–GÄ!׊³5­ç= æ8ñy†åÔ)áS°(RЛb½Ð’ÀHc视nñßÖmÃbS 5Ck ¥0„ ÔNÏlO7—ˆ2›ì®0&‘Å Ô,2?,'ÿcèé”$ ÅÜÑzB]+ÞÞWÈx>?!??q>XKoûpËÑU$Þ±Ÿñ™_°ïsopkùKd’ N}ʲ,‰IPÐ/_³¥dÇD¨Ϋ†6õí”ú!¤$›rQyëáX{'¬ËªÒ;¨+ÎýÀù±£ïIаX¼H"žŒ¡§0 ^ë·oXß±óš‚]`ûÿtºšèÒҵ̙„ $w·½Ì¼·Ù:Ì1°g?ݘQØâ¥uIÄåz‘Éšµ¦°nËÏ„UAdèYÆx “?¯ ^/ašY\ÐO nÞ¢D¥¦ü™æ¡   ë gSXÖAX@^¡Z .²@Û‚vxdÉñ'ÚnXØ 2ÿÖz”#TÂÏ5ÏDHfùH”ë'À}Fy[ø5FYåIT€œýx,Øä”?p|~Ý€3ÔÑ¡”æüH袛·fžôšx@“8cúû—€üÖlnØš 'VQÉ6¡›¢+§ì"Í/©ya‰]ý|Ø?þˆA†ÙÅÎïžÎ0JéÏn©à%ôE.‚íý˶%è+¶{SCoI@ê_,¬S8ƒf²~¶ñ‚Ø%ý¾y8†}¶ŒYEžø ü›…ׂKÉéqG¡x ˆ¢ó5u×TÒ¬²})^ûŽZ,Ë‚÷å¯-ZÀƒÚ®Ö°/üøÇ ]CšB$(uE)ß¿¿Ã°d+¢¢wÇþÙ@ :Áªà“QV¼£;öv¤Þ+À!£Éð–x˜²<ŠmIóý­Y‘âE¡8)‡³ ࣬ ¬ lvƒ±Ç=‹çç'Ì(ˆ€IvœÓ³ðÚo(Nš´óÑà¸]I=ZøØQÿŒ5[ºžQÓÏ`‘@Gâ_hXe}„*Ú•]ݵåK@°Zkž>à®æ•°–eÁúx@–Šã Û"e{1äÖC9—Ó_J&TŽúuF’YæÓùD :ad^È0õMmÜa\®™œÁð°‚ŠCA]ÃkÊ`O1òÒxžá.4 ÙO4õ(ÝŒ†õÖg¦`©ï-º-jŠÖNHP)3^‹Ù±Á Ð[¸ñΨíU3¼3e),%ô`ÝR=,`OÜ-JÀ%NG8_9žÐ 5˜„Ÿ#îoE…/𣀹ÄQ5¼~RP¶¼Tc÷ïÔGêÃZ|M¡m2_Œøìud:ïº=P–¨in]ð‹×l! ?­Y‹*cDÇjÀ¨€ñE.^¬›åÉgOÎ-¦¨ÃŸ‹´¦ºÿ™ÁJ×e»(1ÖuÃÛ_~CYôŒFÖºý Þ߇sc»JX[ª:øÀòCàYŸgµ¤øoÀ À¹Ô¨æ3@òaÓŽJTÂò—7l{C‡¢}žÐW‡íÑeNh^‚³;¾!8Gž¸” "+ˆbðfxzCh˜*qqJÊe3Û9üu]QêMÊ´1PKÁ?~Ï~¹E?ß* p†‚ /KJ5(ÉóŽ1.Õ”eO dJ¡¦ÀͨÅÀ¬-¨Þ*0tHšõgÒÐíSLdÉ#͇ ØÆúñ ÿ4´ó„jÀ˜ã”ÀQF¯Çv¤{ÇÑüq@…”%­ºNæÏ ùRœæ@Óðöýý·ÿ‚åcÿ㬽qE´æKïpuû Ü“x0 ‰ñ™)“¶>•ÉYZÐ-|È^Œ©Œe[°”éô$EvÇþûQAc¾p>?aç‘G„þ@%K Šïq4ýÊ™¥ñP؈„:C'Ư_³Åº†‡Ö#7ÎT§{toèKÈo!ŒSÄ”Q¸kv:B¦€ä2ɲàÛ÷ï Ž³E¨ˆ', $RxîÚû±‡8„ptLÂøòY"MH@bnÔóå….×Û¶á ÚÙÐ^¯P–}5PÉ0u™ cë¨P@|~þ/j ¬`Y@hç,Ý2ý'H'ásíÐ3€ÇF:ÍEäH‰°Åº¬x{¼¡|{o~¾päñˆ\‘ÞóÍ ÖŽØü¦ –kó8O¤*%ì­ýLÕ:ÝÀs7]-Qeåð®›@wÀ´ÂÑO‚¨‚”p¼^xýüHòÙ@ªùRd>ažtc#sʱž.y„ä³tËŸ'×€õþË×láÏÞϙׄ|Ü™‘wUÄ`òµ¶!”¹ÃS&#yJ™×Œ–GzŠä¨Œš°ªX²è[3sLs¹¢Ÿ Ö[ˆèS)HH:ÍRĉÁ¥Bdƒp…TFâçRðž^ëãçŸÿ}`ë !Ý5|d˜3ÝT¿>BØ>QD§0- Ë3âôš>q¹¢À0ŠS‚XP—Ûcò.¨u‚’¡íO°9Þ·øÀZë0 Ñ›*Á•à^@e‹dYÊH7Óh?6E'ƒÔ‚¥,(o, ^û™žøÐŒ|õHYå$¦;dÔGˉn7‰çÑÝ øÀëù‰ãùµ„Ë™ÀN¹L¤QLÂ3 O)ºHCýGCÎ\D2œ'†“šÔòòOX³¥–š!*%ÌôùV⌿°Tïu= sЗÁãÈSã‰~¡TÊ:‡!edi×eÅú¶ø×½uôàR&IÂGo"|É>HÙÓ&šey©^BbþfAy<@ÿþo¿þQC{=Ñ3]ÓÏFX¶ ü/ÏßÀ^=Ë’ä1Oñ5L† I¢P7´¨‚¦8Ȉ¸À`ÃÐ$KÈ0c)+–Ç[ìêÉwmí…×ëÇÔ~q)(˽ú$0 æ5.´ÚzÊEjìÊÚaÖB‹„g’7¨ÊRñí·e>îAœ‚ÊàÊNƒÔî¾R¸ÎÁ„ „ûÇŽ×zžàA ìIä¶= …0eœõ(çRI×eZV‘\b¬ÏeÙ Œ_¾fK¿±’‡dXÊýÎF½‡X§#Ô€ÌW‰O?ÝÌúÑ¿®•Sê qôýyñ#"ÜÁàcí='ÎV©Râk +²ÔŽpi@ƶ/øvþwøÿÑññóç¾Cj2Ö}Ûðö¯ÿŠù_ÿ7`Yñÿ_@ÿ¯ËsKœû—.ËŸ½ß4¥ë·¨×èàäÄwøm” .p+ )XêŠíý=CLÚkGk;µ ùI…5@ .R-y¹¿^8¡°[¦S†¡¤OCB ›¹uÝb&$‹ãñ^a¾áù¡±ÈØR è`±ÔAe/+¾ýåoX· ÇÙpž'Z ü$¬u¡&'O®0|Â%fôì.¿Z£=Ï<”Z3§‘ `:’k5Ï Åq6HÔº ʼn#wN‹Çe{)¥Àá‘_‰S¤¨7ôýÇÏ? ûuhk°®Sü?ñ5y÷ÓtöQ¶Î‡‚"X–e‰Uͯ™¼,µF«ý8ñÏX³%|Ê£Eð]¦+¥G˜/ÃÏŸ¡/©WqÍ6ÛµH³ûÐ>þþ;>ð?¦KÂÔò¨Œ†KÀ j©Ðã Ž­Ž$&Ü<7S*ô=B8,hæ)egF9Ð[-/H7¨ÖZ)%ž]‘{p%Œ-Ǩ o)­ŠÞ-‚£F'¡)¯uŲ(ø|ÆKØ»ÂÁÁt.T§Äëô•û”†Z`€ÒlCTQœç‰ó<"‘·,˲ð´Á.n‘#húÉp“ ¤bX˜À÷âðy«Å÷X‹ 0 í…ýçO´Ÿ°×tF“!š Qjκ?;h“\‚ÊÔ1¨ C;êºaÝ6L`r€Èã¾±.áaéG»ä?aÍ)KûÆ i÷ìð™ÐEѸ³YÈšC‹Ëù&οæŽì‰;1U´ð–ð]’ìç°’l¢‘r¨Ê£fþ蘃ßi&Z ´†ý”8Ðf¨9ìÊÀÉ[ýíœ@@¾È‚äIå‹é"óRi*ßÓ[Æ¥‚}BûvÓ\òk­X–ÃÌ8Gë´U»ØRfñ"FЋ†ÆXem(²Dhfª‡»zêÕ’ŠØk^:£Ìbˆ¤ Ý­5¨J©XÖ E=^8?>püü@;vØÙQ¬Ä„<5q–fx›®L¿íÜqR”¥F,D–upI3ô$—‘Ó^êf‰©6‡¯&¿|Í–š¸úÁ‡ß·ÙS¾šEˆ2"˯Ëåøú-¿Ññûô%PñÞ*È#Ön/qJ½=cÁ„ D%ÏЖûAÞðáÜ:}Ïd¥yŒ’ È0.p%tõl³ÒdÌî°ÌsøÏ9÷Ÿ]ý&©F‚r¢/öÌ¡HôIÀˆ“ ² ®oØ–ŠÞgo¨e‰0Èš· {óÙƒ§KWt;9q_°Ö£f´(ÁÎfr -ëiñÀ ’àª-¾biöŠº¿‡iÙ*Öº®øüã'Úç ý¹ãÜÏÔ …­Ø’ýkîWû|x'86¸9-€l+¸.ÉŽ;Wüùën7JS)¥Uª…Ebèú«×l,ƒû"J—¼g ÊØí¯Z{PúüÆz°LÉ ó•Ïñõ@£ùRÒ¤ÖäåÇ¢æTD\­,#S؉RÌ—jQt醈ї¸Dúâбè&iÊÝQà(p)@g»Íh#Ó‘ì¦Ü ž±ÅaÌ1¡ãaû4MÕ¥D»·ë/_³Åúd6ñ¿t3”xR1î¹ÈÑ×>½cpîwUû»ë÷0›0+ÑåÓæ™Bu«zØ¢Ëq?’qœíÖ€ˆ]'ášTª 0:.£=8Èù”u¦\ˆÎä$ÄûmbJÈ ¥áŠÌÒ¦¥,úîµÔ(-ÌfIAˆåñ[R:Ž˜µLt5%~'2…CÖX óë’:Ð;Ü(³1,Ÿ#ˆü¼ì&·8Iîaç¤âp:áh RaRpöŽó8A¹J%ޝ³7ìû+Bh¬ƒÎùð9XO[læ 2'ë ):Æ Ï›Ôúxj 51¥¯pë` ̨9À;ïÖ–HÃêþÕk¶PF?á6õü¢ ö?‘Áçßí7nÐ×æÍ—l¾ ó…ÍiwôúùÒÂdñ…óµ(鲝ްÊÉ?ð-ɇ}µæâßçPÍ4ºL“1\ÔÃ:9:Î#£hfNÏcدEÓ¿P9¢‹ »FöH]6pô®uˆŒÁVhuR1 v•Íd(ÕøcG *‡èãù!sÆGŠëD9ùõIGb®N¥o?{LÚYð(52µ»b?^‘pÕ¬eÉt7ƒe¤}AÉtÆqB­=]™“:’'Ѻ-(%†j1µîÐÖ¯Á.ž|¼àš`%À<ƒEÿ k¶P ‚Ýz¾cÈðFçuX„3ñˆÍWõÖ?áŷȬa.¹ºT³ 0ê¿êˆü>FžÄä¹NtJ¢)éVw>Ëz;GýËœ%ç‰Â—:Õ/à°Ÿ®JÏg@)C¹?ôAq\€€J…€cH´TÔ·°T¨2ä,é}ÈË‘ö!nÓdñÚÜ=GŽ «hÉv²:¼Çų¤¿Å]AŠ‹eC™N›o‹f<ó‰µè¸l÷H;5Õx ó4w³<¯¡Ýí±åÎO—KP8t_)³'Ê<Âð~ kË[(§Gw´70ô/ õTtE½2üò5[Êö–\Ó±pýfÍåAQnt…™À[K–™eYtñÞ¾´RóK3ݨ֙ä÷zr?ùšO.‡ë+ÉŽ0þ,ë*7–¹|HpÂÈ W#%›3Ùô=†)G§qôÒ²]Æzâ6ðuú%úÑ3å•sA(3ÿu­À² ,+¨TвD dg(^­„Ÿ y¸BI÷™Yƒ§O›‰+¨f[•Â\(Ä€B„n9 ˆÌíÑÍ›~ ¦ä¦ágƒêˆ~Á4ãi¦Ä?È– ¸Œ|fºv5Ë î;=û#| l‘F2EfwbøÉ"ÿb©fl•XÖ%Ll–§Y摨x²xÝš-]JìJ²¡Ø}F»SsZHαS wzú=ÆMþJAýúó8¸Äöä&X}ÏŽD¼!ù6‹v¢_ÈV0–u…ªâìq$ûìŸGÛp &™Î/[>Í씌šôµù…ÛÏ‹I®kÈàZeì³ 7¨0áãõ:ð¶¬XÖoY¡zÌ ‚ÀA׆17È 0V¸?Ñõ €ââYƒ®ô ×™2ƒÀØ“9u« „/fJÌb˜€cßÑzO°JÍ–ù-ócDCçË;Ì4í§N’3Ÿ "-HbX ‚­?«zš¡¤aK[Gk-ã¦£ÛÆ¥¢­ ½ø»äqÏê­ýò5[Ö·wûïpäM¸gè#Ó„ŒÑÀ¶p ‹ÔråZÞH~enÇ_§ûŸè€Ã„ÉEºbٶ॒E¶ƒ#)|–Ϋ=ε@jDRY¸%'Ò“‚ÃQòðÜU<#{ù‹ÈofP€òÄÀŸPÙÖì%Ó/ VÏ-u|ñÕº¡ û纄+j àBÚE€“œbØêБ ÊV×™¬Ôá½Á³6·Ö`¹#´9ËQ¾z‚æNjÈC*?FÄIVO_¶õqú4ÎìK&0~}*\ȲZgYƒ >"-˦óaA{ %ÙÙCϱ7"(%'#@o|_½fK]7ÔíŸvBÏ#Œ<6AÉRˆ‰Ã¬“ǔ٧žßo£bŸ‹îrsá_%”Ïøì;ÈC5ò+X¢6EÓX g™vƒïÀBPIî©GÖ«OÁ˜yÄò^‘ÁQ.Yþ šù Èp‘{Ý9’’¾ÄLú8¸+3ëø‰5@š®óSqøŽöÙÒÕÖp/´ó˜˜™eY±=XÞV”ÊøÜ_P(d‹œñ1› %@Ì/Úq@Ï#™³–§Mî$ÀSæ…”»:@@¾ÀûÝ3M™«ÏÐtp¨0óGtyæ÷í0 *eYQ¶-ÀÌ"رÔË0†H¨¡Nfº`šê€¶†½5àÅa›%IHò9ÿÿW¯Ù¢½EööZ±¼­P{Ãq¼ çÍ x¦™f'…,ï 5¾ø°›Ú-û É6éÜzëÝ^QPCƒŠ›þi|t­5¬´¢. Žöœàè]‡óδã÷Ỹv´‹)9Ue¸øtcWæO͘Î3ʨ+™Á/œÅŒn†°vª5xo‘——¥ã¶0~û¶ áóø ²RâkyÒËICÝê½GÍœ˜M¢ë§›ßÙB¾ ‘òꬆº Q–<î…†yËÖMOèôEû”‚»”eÃöþ†º­sç;{K„e6`l0Æ!GI0§|áRKåADt$ƒK3ìG!¨õèzýâ5[;¶í u ù¶žRÃy4`o•“AÊ0’ÿ¯··[’I²3ªšðˆÌªž!¹BRdßÿ•önWöjHNOuUF¸0SÕ½P5¢ç—\æLKõ´HwfFº`úsÎw†…3*vBÏu2’4Çæ¶«f íÑLöDH©9ºLÎè'´ÀßȺBÖŽcGa„Ï ÷á"Sx3”­††NTa‹æÔÒ§@"QR Õ¯yJCj ÔoË-*¥'$r2à=‘;”yžˆgÕ^–ȬÈÏhÉ¥ÌÑÑd)A¡ˆ“E°Ô‚Çc a½ "`y J–.gƒÚÂyFÊhëàvÎQó@nŽ ÙF» ÂöxKÅy*º" ZRz£¤x‰^B›æ r| ÙÌ!8t­X¾¿j“C­OÖZ4Ût2d\¦äAA´w³øl,ð?Ć’ˆ‡t§$ Fÿég¶<¶ 6CÿøÀ~4ô½¡µè1  ñ•%=ßìöÕI_\’òàœþb@„ ÌqX–Gžrâ±³¶œÆ¸)Ð;ˆÍ¢.–í B k{ÆcB´ÐZ Õ¿?@Ĭˆ¸âž;ä±¼:îÜI$h…8T±‰· R^ü}¼x(\3Ý(Â0&°TÈYqÎcÓœ¥M–WâÛØ±0ÒW‘™Ö#&€ïïßãs>>Ñ>ÿÀëãz1êÙ¤ç4i$ ÝkÒQJÅÛ½F0? Ò±noX*ãm³Ö%,ºgÏr2_ ´¶Þ@­‡­cgr¹))£Ðà¡”FNè è þ˃Ÿ‹kÂ5wGRbÄk6뀔˜¾9ʱÃá*¡éúÉg¶´×+BOEUÃbœÜ§KÃ>ö´æWƒê·e&ä,‰ÓB8O}nd©ÌþèùA Œ¨Íà=Dv½¬"Ô ?x;B¬!`–å9ì<"¢6M)\bž®‚>QGItþ$UXl‡ç"ÖÔEyø©ƒôå0Š…gXb)o ^"?:åàýG@ X˜S8õàAC¡­•j’Ç5dzãTapþþìóÜ5›ú®!ÃýPà}ÒC %ÊŒÍH_<¥ÖžÐç j =ì0øî³ ³}>¦bÉ IDATÐ5Ê1 nu¢h¢I¥¹H~ùþŽïߣÞï]1 Ã’4ú[£;´¬ƒ+›ãñR ¤,‘¹'‰ÈII '+˜†~Íý§ŸÙòüí/Q·kä³Õy§m™s™•K/_Aïƒ&=››d97ZqPìÑ Wœ—LTü•±k<ÕR H*P,Û+èKÆ÷ðcÏÀ•˜÷Þó`„@­.ª;ZïPO’8"Küì (zNY|ÚnyL©Ü€ÞÄTSÁÊÛÂ@‰X/‚¨‡âÓ<0 (Kä\£xë=OèÙà‡9Q k)´?ãL 'ºÃãŽj¤&”óíG™§1Ímçô.ËYOÌLx’$艌!O(Ef† öTþb"„L}2U˜Î×ÎÊy{„¥Ò¼G&‡ PD6÷#à3EIœ‰·L)œÑe®9n"µÈ? §ýÌ3›SÞ®ÉÙ&œÇ‰¿|¾ÀLx{¼E~AŽÿÜɹP ÷Õ•r“ ‹IÐØ #CU¢Ïì‹1NMÅÝÐûî—TdÀÈÄ®‘ÑÖ;XÛº…o|pˆ-xlju6k¥lÛšS,‡`yÄŠE$6Ha­Aû‘r™-fèh‘öúùÇÆ °BØ!b(ˆ8¸PÜ*ÛärOXbAõ:p¾Nôã„î l )ÁѯýµŽº¬ùF NÝãžå¡ëá‘ÖÀ¤pïù Œzüþ9æºkŠ dò¹Fö„ÌE¾Y“ÜBˆï@ÈQ«ÀT±·@·ç'žn3KÍ| 9åÅ–R•¼Ý8ù¹ã榸ç¦#–Ú€Ö¿Ói®ñâþßxfé~f 9ƒ2絬ìï¥F|I)³´ôØ…ªþ’n:7ÄðЫ,$ÑðWÖÞ_ý^°XvžÏ`nl© ‡iXa)>dŸ2qÊ8Û!ûö®è¨dYPëÈâµkšÿ9èê?wØ‹aýkG€‡Mµ¥xzÞ.á“rˆxÀ¡jàUÁKCYBfMøY`»¡í4‰ñ#ôCñúüÀy†ß xÙ .Ø?_hG %YC/%Sùáq{pB#7$£Û‚åÅXø#&=”ËM¿†“<"ˆæÓÏ>5^,9‘ÓP/‡´,ˆ œãqá€=|_ÎùÕq³¹#*GÂ0ÇžyDÄyH‚ÊÊøÿyféŸ:³ÅòM”úÿ¨(™b`C<ã‡øÌïîÿ*ܺ4H©=RÍ:ó† ñ!b‚ lMìgö)²°Ølko_RK^p˜š8ó=‰Ž~±.nªçæÌF9ÿOŸYú·žÙ²{»¨l9Ÿ/ ³f?o¯ë®ž˜û¥K™V‘ï6<WÂÑP÷inˆ …ð’òj*ÙFd¯A¾ÿí¯ RðúË_ÀðZy&ZSLIB>#ÁžŠÛž™l\$êlI QaÔ¥¢¬Î=%Ù/tÔµ¢üú ï¿~ÃÒýug‡tOƒŽE åQ—Nßö;¨7J¦ëíÎ~¢·3ˆ=°’2/(нÃðB]cüÜhê…ßCˆ!§B=!È·øåY:¨Ç´ŒB ¢q»[lÓ#Ó"Ë­|O«*¥¢ lÆ‘eNf, ä)ÎãÖÒø^S$ªç™ØaÁ’Ó3ËÂ._³¦aÍ]áS·% z_ZÚ Ætõ_9³_Õ úŸ=³Å%7Ðqà™šá‘`ä#Ý”bŽìnn7^温é—‡$Xrk—®qf¦‘ÇÈ NðTeF×~ÝVp1œç\ÏØ¾ŽÌ)LòÑĨ )è‰Çœ0¢Ù­. Ì Ì9²·E •ïë/ßðíf›sï8?Øn°—COuƒôlç´ë^$Š™Î8±„Ÿ¡üd˜q€ª^³·lhsƒí±m¦ÞáÞAE"÷Ž¥ ÞÞ6hg¼>÷½9CÒ,dî¸ß›Ç>C"= ®swDÄXøRŽéº¤\?>kh÷ öžbÆž=Lxb¢ÖÌ+Oý ë@²ú¥“Ã-\rß%4<Õ%š{í°îWôõ¿í̆{~þíg¶¼ý‡_¡§â8Ð<ÞCªK· Èƒ¦nî¸HF– ùW*Ecä7!QÄxij’T6lw¨uœí…çÎã©­ˆ0ˆÏ‡7[2R¸T Ä²rÌè=ÉÖÈ· Ãe…×e á•[:øÐÒ(+ƒ¾9ø;£íÓ€ž:ÔÖ’Ïx~09¢Bp„lÛ‚=‰’d{ÛP´×Ï?„¸°£Ç¡{ØvŒ-› :á÷¬)ɇޅ¯µyæbØðN[¨€µ‡LÄRú!Ôcïà xªœ5õd9† §_ý%§_ƒ[ÊWîጲNJ>FáLtu3W÷Ë™¥Û™M8÷Åø×ÎlQW½¡k a꺂@P5T¦)°3 ½FæN{U}>R{à_äÄ<õI£w"(¿–KA]”í\6H}D2‘vìµC*ÐØaRP¥€¸Äò(cX ÞùïúûÞ /‡(_^ ºõxËY6”m§é‰ÅBνÔZ$ëÔ$U<bŒ³Îð›ÂÕ²/ÏÑr|èBŽRt&³z.½ÎDo6p!lu Ë8…·‰±7 F/ƒ‚•k mÈÁÙáÇ®ŽözµåÛ°ç™æ¿0üvOÝI¶/1¨xT¯YºÜöÒÑ©Cû‰6˜Â9"§‰J~M#QËQ1ç´‰/o‹Eùì©I‚0¨y<¥œŠfÆñD_¨Šh®ÿ…3Kÿ™³³õÌt`© –B¨eƒÑÎÂ@¡enB•–pe¿Ñ-ZàZMv_¬W|Ôñ9’FÇ@-„ò¨Ø¾?P¿Âyƒ>ØcŠUµBÐò-N5Α“dÏPŠš¥¾ý²áý—oøñçýˆÅVSÏE‚ÞáI¥.È(1qˆ;xdÉ0è)°ÃÁ¢”Ð3â à)Æ 2b;;ÈOÀbYh½EФ)Ĭ‚çë¯Ï£·í'`ž—Š$Å#5KfðÖ îxGXM5&RñöÖ„›Ñ¤—ãVv„p1z:‘Ðx™DšàðGä§é°i4ð8«'@'œ ¥†ðÒÏos_ =äØh›ÝìµùÙåg55‚í•.Ž-1ÍŒ KÔ©%ñ\¸@¸üsg–þ gör×ü g¶PÏ÷„0¬utí3{o¯]¹¥ rݾP•ö:3sº½¤x,•(=ÁY?Æ=šiæ¬7B}{úšTèç ê/x{A0Ê\vW,ØQQ Ïø‡ÿÖð·ÿñ?ãûßþŠ?~WœÏÏ`.±Æ  ½pxƃ¹áA6À¸8¸ x] ¼Á­ÂZ;‘žå#&;’È뀞о'š?è'ä)‡Ë\8ë'Îý ?X ­Rp–è–LsÚ&)—ˆdã(q«ªg)7°1w ?§`±@J²i–Rž:0‚«8:›ãVQ Ê_ìm˜ RÀì8Ðôqi{u‚ªÎ±¹uöæ“#e½ l³Ãа˜Ëu™Ì1PLª–å!}féáÌbXBÿ©3[žùÄÛ·o¨…qž'L;j]ÐZƒ«Gög¨<µÊE˜s\€°@RF‘=Ça4 B‡2o‰šVÑQ|ÐòÐO”*º¡æŒŽ( Ÿ ¯5,2'ˆãIÆPË9v{áïŽ÷ÿȰ²¢sG×ÄzÄÿ¶x“{FËiLž¾kFÂךK6¥+ Ëú:h&—Øxƒ°Ú?a}Xàn(Ä((©4P@mOvozÙ5¡g$_HÝÑ:ØTã:…øŒIB‹¤·DËL–Ó—¡²e&”.@¸ã¢ÿæaé!þ3µ$ˆ_Œ”@x˜AøïÀÞ:€YÛ:¤xe¥ƒ®uöv 7¿4q_¶P–4ÎÈèdÝK‚@ñù†ç1Ï,ýo8³W„ðíÌ–Ê?Oý8еC@óDÉçn1:–1NCz=>IbÊ1Sf¦ºÝ|Ý>1ð˜)+…bnpgè©Ø_ŸØþ´áØY`g0—1V‡ôáæ3xA¾ñÖƒßûÀÇßý_ u‰©•eƒšªVï-¶ÙÅá^PÅQޝ˜eÇ›o@À˜K¢8ô†¡¢†¢¦ìÜÑ'¼íìñľèMëyÀzügë6y®C}ì)ä æ´ø­þ¥ùŽ`Æè­K rzoŠÞÐNq>à…çþ%j¿Œdƒ@UfÞ„¹¦×æŸ3TØÁáMÝQP'eÀÀ$ÍàGJ9ƽda³ÈìÆˆµÆÃΉßÀäxeÍ<ÀQêT!úß|fqÏùuÊR°0z k` çqù›-ˆ~Ã&ºÙðÍzRÒÑ`­²´÷9 ß/R/ŸÃ§ä©Ã±£œç:?\€eý†÷·ŠÏOt o3z‡w6ÆÓÁV82R⬠?£ù=ç&}Žú3¼k©ŠEÌîE Úp©Sdä±°.ÀöX (8Άãµãüøöú%Q;@IBœúŸ³ÅܾŸ¡üõ\‚o‡Rƒ4„tœõB—±X6#zmzIµ†ä"®Í\‰mJ0ºiŽ‚Ä)¤êèÉ&×ø î/qÂá–µýø×Œ”„”ÄùÍzç; )‰ç2Úb’˜„»ü?0¯ Ëñzæ}’²0QÉ€žŸpf‘g¥”Öy\ûÕTš®ÑœÚ+ÌÌn¢\ZyÖ‹åð h‚2I"‚–„æEÁ7"¡Áà½ÏzX´ç˜­ÁqâÙèû/(òÀö`œVнÀ{ Y²TãÚ Fì r—0òLб¼ê0P±.{M»e(HM*çJ!¬,UðxlXjì…çÇ~ÿçç'¸5P?cég={—­ë P¹Àg—$‚no,Jtó@ü Bþ/™cç1ÑIä ‚(A`ç­äÔ¨¥B•Ã+Ò ×ŽÞÏ *fÄñxÃè Ÿ¤/úPoî`öíÌ)wG/wÒüå»ÐW;pr¸XÒM—éµj1NµÛc%4nMŽ’›x´¨~òŸ|fQŽ}Ïõ»`”S~i”«ÿåâ2¦qñ—DAwê|ûùà 0;«M#6—-“èÌÒšy@¸z#]¾a©Ê·]¾£½*Î׉¶ïèÇX8iNÑ$”°,Y DWYÁÛ;ø±¾_ôd°šæx5¤!õQñöØP ¡·Ð¯ßþÿðñÇ뺇ŸB’fâ½Åak±¨C&*¹fžö„óT_D,Ñ®€šÀrŽR \“–_@s쥺×v?÷Ø4BY¶àâJ]: t¬¥5˱u¢d†Nh £ JWýâ ¾ðxÀýš»› Wh*gsù*¥¤NéÓ0Œ#I°á»NN0%‰yQþw%$ø÷8³å<)«ê»K’›O(s¬óÍbÔ:ÄVÑlf˜k6‘1R£\Þ\!ãSíèÌ›û±„£æðçW?qüÃ@Ý6Øã ü¾¡œAß°#vÚâÀ¶tåûzaüé¿þG¼ýíß`×Ov…Ÿh-}æÐ øŽöùÄ¡zìèÇŽö|Aè¬o =Žgæç⑾#—G9pã. Õ•¡AJh¤e#±µ€K À9 ’ò²}îpï`7mhêA³å’—'ã8ã%Bé/!o0×[d0¢wðK—pm).¯6†ä 7‹0€’£ß’¤J¥-8òOÂm©—µt yÌ/rýðdgyP†XH”´Íšön™v¥?ýÌ–£õø‹ G° _ÙÑ´”ŒŽî¾” öHµQ€W>Q†2¼S±çõcÈܽ€!äT*㑯…ÅòÃo ßsÜip?Q¿ýŠïû'¬uÃÇüåü=úó ;úëz¶t%'è+©½H"Š—AkУÃ3 Õ{À\Ãeh®q»HηÇwlï Ô ç©~byDY©§ý´Áú*YÏYÊ¡–ºÄô–ñ ¯C£ì‘òÊ낺ØYñúD@2–&îª]Æ„,_ á9BM­”ç´ÊîÄ3€)b$_Ál²˜$Í€—Ù\Ñ=S’ïoŒAL?y]”uûég¶ M—´y–õñŽåí«„ä<Ÿ;^‡¢ö’evä¹«È¿Ç õÒI9€Îø+Íé‘A„(ÂÚ)b'MgÂÁЃù:oytØ+êX(á0¹}HM¨ïc aa‚;~ü·ßpî;´µ\"RaÏ *×#Üøtcé}„Ïü ÏcæCÔ‚RK:ç®|@wG‘áùöÛH+AàÔ®E]O_7†Zé²–}H7Œ „Ÿ\K7àÑÁçø>ŒB'À © –_~ÅúþþùD9;Œ ¸„„k;¬Ñì[ iyŽŠ§.W¦„'(Aä œádEi>ª6MœÏ£3võSËÈ+%,\gCýïqf‹¢ÀÕQ—¨ªÙÞ`f´ýûë™ÁŒë¶Åu~ŽÐLÍ=¥n‰rz±¤ÊÃMËãWÍÿ0Á°†@Ì|8÷#..©~‚uÙ§Ø œÛ˜‰DQŠ«ÙÑÁ¡òýõ¿ü†ãˆÆQ5f3&kÄVù¤²ß¢̧´b’سˆ¢jó´ÝbNhh¤ 1͸C¦Èp”ó2ÞØÃüïãÅ £µ`ݾA–oè œgl®™dŽs¢)_¨Õðö0ÔRqn+ô me-+ŠHdŸïÑ…ÝÓ]7r½/à°Qì68µoḚ̈Ĝö6êzÕBÆ·`–IG§/õ×è?s"Í8ÃJør°—Z»”°üÌ3[:» ĨÂXðó…Ÿ/¼^Ÿ(ÂxÿþëºÁÕÐ’Ë$Ã(T‚Ããn”PÆ=ó¦…$Þ&@O@X1Ãåãvè—¼qܧT¼”Ë„¿ž 3ï¡F…ÅÆ´rÊJú‰Syô‚~4üñÛhŸ{ø>,æãCyy~}ÒØgpýdÜØÏcšÂ™‡oöžÚºfôž^ò±ž@¹™Uw+Ën™”~‰h(‘ÈJÕ ÞÈú XÞÐQ -!q{Ç¡iGƒÝ@è(zûGÿ»î¿ ÂŒúØPË;š Ž×‰~(ôpØÙ#Î̦ùl!XÖhòYÜC ¼Ÿ= H³Ñ¶+:ì†E¥|³ÌÞÜøs)sT;?G Y g¦œQ…f€ÐÏ>³…–ë[E©„¥¼Ÿx=_hç‰ÂÇËR±/ìû3dØ#ÿ:B.¢2I-Š;tTÑ\8¼”µ]BzI}ú|†¦ü‚)HQ¢Æqf#ª™VªšÌÖx⑆yÃB ¡=Oœ¯ žøp ¡›+…N)1Ž4ð*víqcÊ’b½™ÀH"îEÒ_¬6½ÅæÁRC[Ë÷Z”]7å|,þ‘Y&¨ß‘pYRA«¬¾–@¨Ê逜€€í@?AÝ@­¡½žÐžrw¢7Мñùùþ€È WBáG@•¼dœ›M‰y|Æ„R®KkG2·.WçÈtŽÍ1R%¢›Ž‘’JxÏR R“È3 (ÓŒ3ÃD²o« *?ýÌ–åÍÙ²\^ŸŸhû¡®Ûö€;p¼^ðlôÌ!0ƒ×VR¡Š ‹C£ÆU×hˆ1Ðù®Ê ”š&A­i£Ìq @èÝñzÔÏt8[,å ñ\ýãÚ¸ -(Û†º,Ðý•!2eÉ…¯Ï Ýâ”CÛ=zŠxšz@–Ø-p‘tªenFŽfá{”rÀr’”ÞãIì ú'ЉìÇ¥J-%?64¼”ÁZQêüÛl*‹)¼íãÄy|Ÿ/øy&cŒÁbž¨?~ÃZ6(€*kˆdRÛ8C)ù÷¶x!iž-ÎWyIY‘þ£‘Æä.òsä:>K.‘ëÑǃsZÒÉÿg¶°¥Æu²/­A2·®ÖŠR Z¾qÂéu"sn_JÄõÍcÉ?hH#<%Éœ5M¡_øEÂ5AY’.æ㵿p1gd5J¨U!™Rmb-oáv{DL.ÜŸaH1¤Fúåc³øy/ÛÕW‰Â`cIrw™S‡t#þùp3¤<|x……ÝoåÝTEyÓ aÝýA1N‚J¬uP¸ëÊŠ9~ަ†bÇëÇÇo蟤%ƒÊKØK4àN©ØÖ u}@¸D$K·hî¶@`W¸§w¥)H/í69Êm³–á2~§LgÚx0J ¡£Äš{+m˜N¯éIŽˆãßãÌ–m:~ÿý/Ø÷dòöø†í±¢÷†}ßAÈýBFØúŽËT– ’%_¹ž“‚³ Ô-×ü€¸ÂuüÓöe Ð ÝÞÇÞpîGøy°ã™…`‡EÂÑÉ KšIAYßÑyŒÐ{…ZEw'ŠìŽº±/™užÆ»‡U¡. ¤˜ŽÞRHw ç"Y‰Áñ9~íø²)í¡våøQ¿åOÓ¥!€‹‚j””¦ŽóÕ!–¥i ²!‘Âé&;|ÿ@ÿü¶¿À)¦C)è#6ÈJ¨[ÜäÍú”­ƒ u žŠ®¦1j¥·Á·©”é#GÃÒ 2OïøD˜9”]1UÅ#¨Š‹–èÎøy P¸Di]—‚í}E]þÎìëówìû'ÜÛ²áÛ·?¡”7˜Ïý‰Þ÷¨1¥Ä¼˜†"1…¢ÝÀ5êp*KÔ®sãCP1äR‹¥¦®©ƒ”Ð÷O¼zÃù:¡âíÖÂÔ>‚K†%Ѽeøû`æâVboÐ-h.èÍpvB71çSX< i%/Ž£ÕIDATƒ'Ä÷&x²êÒ$$5!:ÃáGÇA·qüxãL”{ÖÌÌ%7×¥˜äµqh<F=ÇŸ+\ ÌÐxpj%T6½àô‚¶èÏ?Ð>Ÿð³ƒ½LàÀœÆÔBbóF8½ì(" kP;ƒØSà—"Æ’Z6½>Ÿ)!ܼùÖ¥KChšå*Oõìà\©ÛˆœCªñLä¼rªCÓb'M‘#=ÑÈ:®Ò<¢wC2¾¼¿ £}2ÎOƒ,‚a¤¡(-Ƽ'"§UÊ6QΙè¤sì8C×-õP’ÞçŽv‚Ù&[×=ú" ÒVÇ66ßš:wiX· .?P«Cø€îŸ8>Ÿxýþ×Þ<ÔÊ1œz,0źD„ÁúþÎ8·ðÊ·çëË J¤Ev¤Ý"I+qKp.ëòí*§î™òžÉ°wyI6R1 &#ÕuÏyZS%Pý|áuľ‰P°¾ÅPå§ŸÙòØÐ 8,v¾†õŒëÊ(#ò IúÛÛ†ãìx~<±ï@ñf!{…ïÙæ'dñÀ^rGûx¡½ŽX8T ÿðk‡> jуðÔÓÜ„x÷YÿrB¸êUƒþvo ¸² ¹ô܈T<+–Ç‚þ¨8ÖŠóÇú~@©ÍàbD<Õ Ðøˆ½õ$÷¥T¾Ÿhç ÏM¾…ÃLEv‘@û3]¢BJ|èÄ]Í9Ýmkzm¿)#±¼Ö°m çN x½~`ÿxâüèè/€Û’¿¯†HŽCã"‘YHÀº®x|åÂcÞ[Ãñù„g6°cD}íþ1 z®é¸I®Ã'Öƒ¦cS&¯˜ÀPŽ#B^Ë´–f(÷™÷€6xñf€+ayTZÞ7‘»p8é(o3vù°Ã2ÖÊHlÝä7åðHÀ@6Î~ÓóKÁ ù’Œ|ÒMyê6úšðªÏlì„yÊÄ'Wƒ6`«… çëô{ =Cß_ ¶âh ¾ø¸Ž¡D°<6<¾GéÑ´ÇHØ ý xƒ`Ú#R-þR±ÌÔ@ÏÄ-dI¦¼ÍëŒn޽[ôÀì,³Ö¯ØAMò¹CÑ­…æ*ýélÍé~P&e‰ÏÓàöÓÏìþRkÄϲ Ô‚²„ÚòìŸx¾ž8Ž­iZþ–)+µâ—¿YÛj+^¯ÇþB¼Í‹¸+º8Û§îùÕ­p†’04©òõ–½TeSá9¸¥æ4ãˆB¢šDðò㺩*j­~RDZŸ*X¿} iÉëªi|~õ ³T°Ñ<Þ sÖ5`Û%åE@…²ìH.ª^„;Ê-/F&ÄDU¦}¤¤&Dà|}åÄSRÒ;´¼1аØéÊ$1kk‰™¦× /.ßÞ@KÁÙúlœÛy )R$š‚?·€4[îb áÒ˜ÁФ|YÍ\øìh"þǯ{4ûÞƒØÈÑÄ¢ï •~ÁR7@‚¾+ÚñçýçŸÙþñ ÀΜ1¯™2ƒ”Bp8›–-‚ Çô¤›¢eZEâ•"/T2(Î}G;;à‚~$–ÝÂc\óícáåiØÊü Ï¥ßÄ©dݩɣŰ‹kpns¤$ðR3ÔÒQA(\‰h¯ÃíèñamkÝŽu©PíO¤Ý&NŒQ#äçC³§|Ž.K©x|ƒºãì=BÕtçÐñF›Þ½‰ó®1Õ48!¼”‹>=-„“‡½õ/­§=—!sdJR $R±}{GYWt‹dTvOסΰ¥P%h^|”´›ð¾y¸ï;IçíEtEV»éu« G"ÉL¡5KÏ>ü¹¼U”ÇÂ;Ôlœá3ƒÎâ1îýô3[6Ú‚šÅ·Äª<Æ«DV—ÌIŽkvdMž=CA!ÇëÇ_p{¼$ÜZ†ÔÄë=ÞÛñ}˜G'$•µ<¢Ùüò7B}àèÚÃs°rCq¦Ë˜î·˜ ÎMïÊà̬£L³ÊÏú2hÕ/„w ÔÞfI0XWÝGu,p?G‡áhi@ж¢ óØžÒÍW@N0~ò™-–A' ¸îѸÄso0ÄãùÕ5¯OAoŽãP´¦x{Ã/ÿéÿÄoò¬µ©E’Ìn£{ .©ŒRe øqwOÜÐÝcÁqƒÐ863"éÀNÙ  ÔJXÄPzzG!ÆÙN´'Xli©ÇNv4xï®Çþo½Vv™‹˜iJ׋Ühº¡¥ŸÆ—™ÞäÈø‹è5Oáa×:Hþp7ëܦojŽv Ö™e_R­œ‡–ZÍJWcEóe)xûuE­ŽýãÏh½ˆ±®lë†Î8‚[\ô>r x 04¼–ÈA”p#N ˆ8fÓˆ`³®¹€Ì¥,@=¿#¼ƒ¼gdH,ÕƒO\¨`y[ óík?ÐzÏ®ÌDŸJ…Ÿ{fKÇwÀOИNì-¶‚ÂPR(-Á²‚åÕ©èê€lïoøþ~¡y\ù3‡#·Íf õÀá·Ö¡t¤m 3¹JP¦ëÖÈÍõ¥Œ(‹â:]–Še±ePé ½+ö׎~tg´}ÇþñŽÞ:zëdMá>µÑ×þäöH\Ñè6Ü:ÓÂ*‰5 áàHŽê½ƒÁš­·ø\Ìî!Ù3w|ÈB¾XÆ ##ÞÜB1‚…0¶uÃúxDÝÝc”ídØ_íø6m"›·&jdn •(Q£X §£/5Jˆ…*åÎG&-0Dé¼.‘~ttœGKùÅx•I|f ŠE „=œ¤‘% ò:ú¼tGwEÓ=ýC³Ìa`Zò™-¼Ö¬Y7€ÂÄn-Hñ”ÅO“eQ8 ¶÷‹<¾¿£®žûíÜál¨oc²³%L àÁaÀ/_ ègx²‹R&LÀ¶œÖs|‹f_Ë{ÊòŒ8 ú\u ÃP?º)ÈíÕ% Î?Ð^/Ðq€º'j?¢wÃìë%Ë_ýßtõgsIÍñ#fIµg]Ao]OpþËgžÉ¥šÜz¿Æ|’¯B*G@£TTA·°ò2-ɸ߽Ö›*´9öÖ‚`ˆpª*yæVŒLv\IE9Œ­q²)} Ã)ÿ)2IjÅö½b1Ek'^ŸÀúÒ3¬8º!ÓWF„p.UÝ Ç@¦&ä@ØPdq<ÜVbÁˆòóÏl9|Ï¡ œCi9k²KP¥ d^]„¹, QØü°­Ë†,{‚ȧ&c0Ǫ~8çŠÑd§öÖ Å X×µ>pîû³£÷нD˜»^P^Ž©,Œ²U,µ‚€èOÀèf®ðn8ŸO´lßA=5Wgˆk4ÂQå.ëb¯"å¢%Ê')qµl‰1mQSHYQˆSbá($w¡iþú:åK½ÙçH(v¦ï™Ò:M?ЭÃÏ=õPñ†§¤¿³HD@kOyxr9I$ÔϼiôÒ« ” ¡¦‡"PZaeƒ,kÄ6Ô ÔdN1gVwÅ› ÞBûñŽ?Øç Ü[öQ ‚xqm㌤ ÂÇÑŽFwx9ËO?³åó8ÞGW0`Äq-èËÙ(µ .+– S|~~†%ÁB•ÿ¹Ôâ‘¿ ‰F)@o:Í ño:ªö\6EPЦüºÖïßÞQŠâ÷?^A½ž¬&ÏØ0‚ÔHZÖ bD 5Úr m8?Ÿ°ãõô˜txB4=×’cÅhc £·O‰‡ü\ªLLôÞá`,u¹¦3¹k­›Þ|6½øâý§ÙÐÌ“015>ö ãÏ/"Ñ”Ƕm¨KàN­kô=¹]9‹%sX;àš©MCdÕÈ*/ŒRµVðRpn‚öpüú7üú§?…gæ¿ÿ7ìgáŠf„~Ž‚ZüòŸÿ+žÛŸðÇßýháK!nCtuÕüND÷@j6ÙÐrRæjA°ôþÓÏly/ßgy“ROx©°R°|€jLVÔ ¿ÿøóØQE0)HvL"º–jI”LЙ j —™§­ÑÛHÉä¬c|pn¾.ëÛ‚µ9ŽãˆØ¬tv9dI’÷Zàähí„z0`™¢=Ÿ8þøíù'}Ðm™'äss›WQW4ŽçÔU”¥–8ìnQËšƒ(ÊfgØ ’î{<žèÊ BwÒÍq6ô·%M¿]>‘+Zð¶EøMG‡ÚÇóJLe ;ÐÚvœHóÏIŽk”aÁͲ~âØ#?…B ++´Vü ZkèÖÐÝÂrZ—8”oïøõÿø/øÓß|G­ŸÍÐ;;jÏÁ.©½yM>.B4ÓyW<ÒnlA;ï$ãgžÙò^#È%Ø­¨+ß¿ãýÛ7ô~ í{6²ŠZ jùiB‰áW·ñˆšØ"‘sŒ“¸0¸DCÚ)Ö÷R^, Õ84®žÁ'ñ¡ àÒ!² A7ɇ™«äC±Ä’§µ5@&‘ƒ û'ο¡ï/öýu›)C±;‰¨e‡wˆ§5”›9—eÁúx@jòOÏ,±|nX % xH)²‡N+ÓÄÓм*ÆmpBè¾;|#šÙïj%ó˜re4™÷ð°¨YZDR„˜…â€Ñ¡ð£çf›na÷ãa³¯™tC)e!á߇ЧЩÑ&`­`üÃó¿ã¿ÿ߇nQ&Çb‘ ¨¡@¦AîŒ_G­j¹dŒ.5Æ(’A‰et¶9Çaé gôãÀqžX—µn¨k»k—uÏŽ)t:­çÈ憎†sdZ÷Œç”R±,¦†çÇ'üãwôçìhÉÓÒï1‹O2È0H€oåÚ5‘¤ªÛ)Õ-Y®#·‚\Pë‚Z6ô–À6bH-Q¾d¾æF™¦`òëCp‡#\«÷ÈÍ× ™'<ÁáhÏ~ûüCÓ‰8äàDL}¤¯.1=òÀÃb:­˜ÛÕ vGqç±Q¦éÉ%`ÈÈ×EfäE- ½#›SD#Ibñ™ÛÛ„1Uæ†Ó¨7p³|‘á§ŸÙ¢Æ9 e=ÐmE;uYó ª¨kÁZKú¬#˜F8ÇM}©à1ß÷¦@7PýEQƒtvð¦Àz¢ˆ –H6ש¾Ðêî ,Ǽ¾RNeb†í‰wÙÂJ{~bÿñözAŸ'p†½ÓÌAFÉ¡Šÿá$÷=v®ñ_À ,ýYH© ù~€´s¢,(¥ÓBᩤހ›’õ†{¿tæÁ³ÈÕc–B77#ùõ3LåÍf1}#Ãã!I÷െD‡ò‘O|i<ô3X9À;pÿùòßµOÂÈ݆˜>iJM"¢îçžÙ¢‰ž¯¥`ÝXßÞ Dh©Y€<š™!‰¼·œ•Û-û¡xÜo겞Ä8…)£õØ»—ˆ£Mï5Î@ÿ»‡ÓKJÍš|D~„©[kQšHX…â@ûñ‰×~àÜô〵W¤1Üe&xú´¢%ô fØaf.DмEP¶ ²,™˜¡Á¼—ÜÅ«‘iCÓ>VwªêÄQŽzáz(®°ÊžÆLa`µòÀNÔ¼ðÓpkài<3õæåá{.%œ4Ië)„!órä{­0¯aAÊ%¸ö&²9(Ã)m†®`&ãÚ‹LªiŸW}yèC%wÝõr FzJ0ÉÜŸf‹ájfxÙ@u‰ƒÅ aö‘«Æ`*06D©J“ýQU±¯Ä ŽlëØ ™Î²É¾èáË©ŽQ 5d q@|ƒž-m˜É24G?^ؽÜÔBl–Ù–Dé BÃhé³4qCÔÓä—IЧî(´X_%#s>u¿Ih¶ÉN·x·Û­1ôKfs…9-ÙtÅûåœÊ—êPÎòŒ) æÜŠsLo‰>A¢|y07Ò¥’´©VŽb-B€âA¿’)=ýâd¹VÃêÛÚO?³…ëc€ë‚ºEM­Èxßü†ªÔÜóDW¢irJ5°|y3â‰r„:Ds"˜µt3Ž*=š#õð‡/µ`áðx7´ýÄyž)4Ô|óŽÐJ¿àYv¥@\cÐ\ʉd¯Bè£Æ§ý.k¼ 9%)zÓ5YÚÀ²®±ÿÖ+|Å܈²zÀ¦ôÃ#Ø·E¡QJ¾íæaÈÞÃÆƒdøë*éVjѽaŸ …/Ù.tƒGg:­–bÜdqÈm¤`ç÷]D® JÎòhFˆÅ„(˜·´|ˆÌÇ-ß[üFŽ>PÞâ6÷<\ä&Á¿ýÍ(ò;X²UÔRÐ ?ýÌ–²®P"lïß±lïh¦‘À2ÃÝ> ¾“Ú¦ üí~ætO2v›Ò‹ô×&Y–„ã 6Ÿ²Êø¨Óz’­)ìèh½C5‚ZF†ÝP®v¼œ#’‡M¦Ç[nÎ@žš â°ZšÚyÄôÇtþ}9c°êº`) T Úzö<6zT ‰°ß9ãáñ;v?éÄ·•·ŒÞ…ƒþE•rEÿþÓ¸üû>d²œpåýÅ[ü¢wÐL[ WÒD~£j¤i šeW’)²†'àÚoÀ¸0be’,Ñ—‡zÜD²Œ¬=§)Ãsñ¿÷œ–•ú™-\j|jͲ6û¹£{ŸsuæoŠ”|ÓHç<2¯Ú‚QÅŒR D¦$ò*S2l=ëı¤ñ!ÉŽ/¯ŒW8rgG©€í ýìɄͼ:»²âTýkSzC´Ð,äʿ㴠¦÷XÊ’˜ø˜§[?áÖ#ÜyÊ&Hc $¥¢Ôx@L5L6¦ñ÷3¥|3ù06})¥Æ8ØSyÕãË6ľe,éK+7Â?óXduã>G¼ñPpd&FT~·tUa,Û¤Ö$ªdú’û_íQ|¾ñ]äfÈ›+oüõ)ÁÄ—¾:#—bÛgðÆE‰„ɧMØÒ$?zœŸyfËøàΦxí'Ö·¶ÇÊRaÚ®@‹ñhﮄµ¦I¥ñ›Õ`Jâøá¡ÓáQ"˜¢ ªg& åtD$B Rû€]Ï…Üqv4뾩¦´FÚ§êômÌÆzüc>E~X*b³f¸cüCE®©ˆ†¹ˆ)ä⑸Úçì<ÑŽ´`]pÄ6Ùa Õ«·Ž~: ƒ¢c"ÿZáŒo‰øœ‘mtAàòö#§ñ®ðë¸O{&¼môt5ÝsL2ýj áE*ؽQÓ›BƘ“pmîéëôj ˆl2¸lü~åt{„ç$K¤ÜôT%˜&™3nvu‹‘*ËO?³%öÑŸH\—h\:ÐÏ-OSr`;šw¨¤ç™C%+¤@o±xk Ô:z‹·=Ì#ªŠGªæ­ÙÊØ[s@¨†§(¨FX½"ˆsQžE´oH¢Ç”dKrœTÏ$LŒ0™ / ¼x[!K| T’‚¦=aʉ`ññep„ÐpfG÷„«ÙBÅf$#‡/á%Z#$ö®€õNÐa›{¾èÂþóשådÈSv¬ù…_¦_`òžbdêiýå;Ëêñ‚jž/†*èžÔÄŒvSàüD§, ¤®àZã³8}\> 7 .ÅÀÇRj™læí%ô W C|÷<÷ #ãÜ9ÌaÆ1ñ’¡JöAùùg¶Œ4QSG;N´–ðæ°ó3~rQS–ÛÛ†íýÇÛ‚óØqö) ]P³8h!8÷#šÖtéM4‹YÒñöQB…jÉXU‘¶ƒ‚]J ×>²”,Ñ2'êÐÞ"+/¥ÓNñëÊR!Ë‚²…:”KÆ×´@߉æoØ2Ùòð_/Æ;Ï ~sfå•–Y ²Åúذ>âçÖ¦°¶Ã{#Óî”ËÅÁÏõž¡º©Ç"'ŠaE™Y3ž+{¨y7fI6’>/äçU¤;jº¡JÐCÜÙóEà“ãÛÏð .¨„–{šñ"£äpñùÞ´KfSX™¡¤Ñì:ávéÜ®º;¢ç¢Äž)§e\òš‘yëýÌ3[Xjjûe.›‚TáR!( œ€eÛðþË7¬Çñ„öŽ¥,ÎéC$!%.¦‡SjØyL9ò 6» Çð) –BÚ=—b!ˆåŽ»F“4¬©GNžg}ž|Ṝ*µb{{CYVp ­öu2¢?!›ß…ùó#RŒ{kù@Ç[<àë1eÒ#òÀ*¸RÔeÁö`X«‘õ×Ï8ÉÚCˆ’ƒj“¤+/9Å@í EpŽÀaž€p­xè8Yy+ap´$û"¾—zß){?…)ZC]‚bXjÍÜ»FªƒÂÈ·¬<Ù·Hº5Ôÿ¨¤›½vŒÓ‚çôŒ HÔØ©üì3ûÿÞtãh%HkIEND®B`‚pioneers-15.5/client/gtk/data/themes/ccFlickr/brick.png0000644000175000017500000030513411346241564020006 00000000000000‰PNG  IHDRÇæaõ‘UbKGDÿÿÿ ½§“ pHYs  d_‘tIMEدpÉ IDATxÚì½÷Ó.ç}Ÿwm}v÷é½¼½^€ƒsP ›YDQ‰EQ¡9¶dKŽ[VhÉ’“qŒ'±Æ‰l$¤db'±#™´#ªQ$HŠ ˆJ§···§¼O¯ûlßü€™üÉLŠ•Pßë/Ø{?÷µßï}Ͻ»Ç|_ ~ÿ×BA‹Ðo¶\×öÈÿ­_ŽïÌ÷Ÿã¾\ýkÏ„Ãñˆ¹Õe2•"H"݃:²™#ÿ‹ÿì8Ÿc9~°þ“_ ê>z,НJô'#lÇ!’N$™N§L =ž ûü~œÓ±ïm6¾ø7Ãáá×'“-ƒ.ãˆ!B’ÏæðÅ€ ‘$Õð­)ýZÒßûí㬎åxoróïþXh™cJ‰áÔb¨D9{òý~ŸP†Ì‰UÐUœ½TDšG-â©8²J Ð߯Ҩ58ý?=œÙ±ï Âÿù‹áÝÛwŽèªB1™!¥ê ÅT*ÅÁþ.÷îÝ!ŸÏ“Í¥õ{˜¦ÉC+çP Ôr‘PV9ÜÞeÚíQȤ‘$‘ÄòkÇÙËñîäÚßûlXÊeIÆÔj,Ÿ:‰çx´ö«ŒÛ´d‰d:.IìÝ]G“%DEU¦±sÈPÈŸ=ÉÒù³É ÃÝ}j6È%“èÙFÝå/üúq†Çr¼;hý7_Så{ûÄ$•h(ðÕ¯~••³g¸øØ£„ŠBµZ§<[ÇÁŽ‘B¨7ý€b6CçèˆD,ÁöÞ¢¡0¶Æøn€50±ºSžyòý«e^ù³?&xü_];ÎñXŽ¿ØÜûÅ¿†²Úä# Þzû:'OŸAÑu|ßG’$âQE‘دí0;;K:›£^=DzÍ62†¦S˜YbØéqÿæZõötJ*ŸåÂ¥s¤2Ú!/½ú2ñt”|ü£ÄNŸExúsÇyËñ‹¿õáØšb»{µ=\Ïæ£Ï~=ž`¿Vcim ­XÏ%´MÆã!ãñw2eÜꢄIF–ef/\`ÐÚÁ†ÂÔôhµ:„B@¶"•Žqt4"“M’›ÉA< æ˜ï]»Î#>…ò™¿{œë±ß_¾û©ÇB#§Ñjrá¡‹Ñ(þ€T*…e™JEBE¡Ñë°_«2µM>ø‘gQâqˆFémn²}oåÊ,19‚"+¼õÆœ;?ÃÎn?ŒÒºK3,¯-±w°N§sÄ勳¹ù€v«ŽçL˜_˜e86‰'SDcIŠ¿r¼õ{,Ç÷½ŸýHh¹qŠå"¡èSoÕ)•Jܾ{™«ÌâºN‹H4Æhjbù.§Îœ¤Õª“HÆI:ª¡3èõˆGt4_Ïg{{›âj†bižVwˆ¢Æ‰1j4÷w9ªpá}ÏN&ôZ\}ë{È"<ù¾÷ãx>ós Œ,H‹Ÿû…ãŒåøÿ‡Éõãa¿ÙçÞN?8é/¾üF,J2žbuñšªÑjÒlwÑ$’ËåÈå²<ÿü×H%ãÌ./R^]$½<²>`»0róö-6¾þ:¥¹2]~#¥ÕiqýÚ5ºG-ž}ßÓªFqf ,‹~o@*W ^oÐlµY9½ÄÐr©\zBá?qœõ±ÿß`ÿÎÏ„jTÛepÔ¢v0Æt\Ò…^²»³À…3gɦs ; Qf{¿Ê~µÁÜÂ"ƒÁI’XYYbÔmâF$ĸN±X$¡ê º=´t‚Ôl‰­¯]ãÆÍ·YX›av®ÈÈŠ'HÆ3(šÎÁî››[ÌUf(ÏÌ(á!ébñTƒ)÷¶6¨¬,“Ìæ -Á >ÿËÇ™ËñïÏ£óùåWá3[¢[µÚ£6W}¯msýö=bÉñTžl®D4žào‡¯ýñ·¸üÈ >ðáÓ˜X¡ˆ¨õzôúC–VWÈ b:†o(šNk÷þQ‹IàröÑKd+ †8GM^ýÖ7Y,–H1^øÆ·YY\bõâ)ö÷÷Qd™êal.ÃâÒF&Ü~ýZ)ñ’…h wèà#“ûåÿö8÷c9þßsç—~8­zD<Š<⶘áKÔÑÔ,Ï}å…ÿÎ+o|í8ýc9þOù—?óÙŸùÑsK¿s°·GDSˆ–+$bb†D£zˆ3¶°{}FÕCôÐcåØvLžÿÊ hr+‰%–é°0·ÈÒò*›{›(~H0™’Hň¦hÙ,Š rÿÞ:_£yXåÍW_BUDŠ¥j,†‘ÊðÚw_§ ýÒyî·ÞXÿâqåø þ¥úVçá`@Ó³@I’hZÛ´ùíßøïøèý%N}úI0-nþÙwظµÎ£?ÅÜÙ0ncwŒzm¢‘(¢/!( ¶ïbÛ1UEòC_f¯^%TÊó³Dc ºÍJŽé Æ5ä ÂÎúЍ“Éd˜˜}ö¶¸uãMbù¥™yŠ¥YlsH!¥×UB9Bõ¨E\’™N§DãQäˆÊQ£Io0ÄÐèÑŽ5áèpf³Î8HR|æ¯|žôÊÛ›[,®\æê ߦ”Ô0í>–oad³|ãO¾M4ÔÈç£ä Yö¯^\;–ã=Bï×þQ÷°o§+'çÈÌÈbï¶éߺK±XÀqF¨z*eÚ;„¢FþÔYœõ·©·Ì®,!¥s ©„¡‹éu1Ò2BKÆéôð¼Õ0tkbå üf %•€ˆÌØup½Ï²±‡&Š ¢I!Ýñ%'[(£j:+`ަ$ã)ÜLÛS©ÍáÍ{ôuô¸ÂæÁŠñ­n‡l6C@Èìì"/~÷U‰éä ©dŒ×ÞDrLÔ˜FñôIN\xˆh®Ì^¯Æ¤Þ@©µÑŸ‘¡AuÜƂƴßgttD»Z%“L‰ÆPcqŽz}>óg×…c9Þ¥¼ýSŸ ½ˆAk2Á6MN.–ÈeuŒÙ±Õ%pFÕ*jà¢(¢¡2Œxù…×øø'þCü|)"c7Ddñ°‡!ˈÈè°†#“dxÈ‚H8õ™öL´X=‘Ë£Ó¬Š&’ÊdFS—X<̓ÙÃ6ñÌ1×%žÏ“˜Ë3‹Ç4qÍ‘Ä×ç•o½ÈѬœ,¢‹!w¶‰å’¤VóXSŸiÃAÉD™]˜go÷€½*¡%ráÒYÒóQFa#‘'ON\¶67™[\ÀÅáÆõ·ƒ€x²B d2³tMÜA1´0} W’™O}ãÞ{Zù½6 /ÿðSá¥Ó«È¡ŠÏ“ZõödÌHv¹»¿ÉÓ©ƒZ^­F%Ÿã°uD¦TàÞý-^yþUÞþYDÑÆ04"¢‚ˆÓlÑ7M¹ÊL¿×BL¦‰úX6„!ZJIe:ì3ÙÛ#•ˆ#GD†Ýãñˆ‘DU4Üé=]=Þ˜A£­!fgŠÓÐrûìßø.œ>K¾R@ST|?@Jeˆ.–¹0=Ã&gÏ\Ä mµS]âÔ‰ÓÄ3 6ªëÔö 0â:ÙJžN§‹qY<5ZŠ{wîóê·^$ôÁ—®’HÅY[]¡×iQ¨X®L¿ßßc4QÌÅÉ¥ó4û}Zµÿâ\.¬î¶ùã÷æCö=µ[õõÏ"L1 …Ýv“Z󈇯\¡JЪGÉå <ØØfv&O¡X€À£;²uÐ •›ATŠÎÛ/ü1‘ÐÇw&D|¨a "“©C:—Cͤ`4¤]«1 P\)|Á÷ð%?ð0‡C&½ƒFÚî!Öh N€í¸Ù8¤t0T"†¦h¸¶C§ÕÁkT9ØÛâpslTGÈlÜ»‰×n“Hèôî72!ˆˆ„¡„¡FHgã4ÛMvq§A¡,‘/ñ½€FµŽª*˜c‹¹•e¢²Î凯Ëq0m—L:K.UÀ“|²Ù<åâ !žm¢Hƒ~˲ˆjm£âñ—Ó‘ç>ªÏ}u~ñXŽ¿`´ÿáχÿé³—Ÿ[š_`míSÛE}¢ñ¶iâNMò™$†AV#ìl°»³‰šAÞzû6Û|ösŸÃ|ŒÐ£×è"ºAo8$=3C¼TaRm ‚,#ûÞx¾G¿Ó¢Ýl’N$ÐW‰hQñhŒÊÚizõ¾þõo2YD£:í^Mrwc‡­Ãª$SžË€ë’3tZÝQÝ µy›üJ‘ˆç‰g>ÈÞö&gO€T0 ³º ¢ƒµ·Ï°Ó}ç@ŸAÖ ¤hŒáaƒÉö-ŠÅ"º4DQB“e˜vÁU©¬¬WÔS5t]'’O!dtmÜæUSP”$—?‘J\ŸR§Ív­†çø³3¼õ½o³ö̧YýèÇ·G¬_½Ê°áòä•  i<œL³³³Å¿ý·@9ŸfêÙŒ¦St=M>›ciÁàäÙsÌ®Ìs÷Á]Vææ‰) ¹¨Ä›¯¼ŒZ.ÓTîÜ» H4u’QÌbQ’ Â(ÍÀ~µN»má# ª_œÕÃJ¹ÌO¿ùî]´¿ë.|øÏ~9TBŸ‘íC_äâÙ38“ÕÃ="ñ8’f +G6™TžòL‰Þ¸ÏÔ Ø=h#+1rs9æ—óè9zc¾ü;¿KLѸpù$…Ū<¡‡:Hª˜í6>ÑL !¡z0¬¡( z>‡ã{ˆ‚ŠœÌÖnÑíô1-—¹ÊD ·÷¹þÖ5œÉ”P׸òÉO’ºp<³qH0`(:. ÄÀôMMD<ôTŠúa•úúm.=ü/¿~“Û›=Î}ˆIc—”"£ÈQ²eŸDf–7Þ¼ÇþñKäãLé̯.“Ÿá`k‡r®Äáá!f`sùÉǘ[¬0h5 §SÎÐ Á IÆÓ|þìÉç~okï‹Ç•ãÏ‘?üñÏ„R&Ž‘Ð]‡hèL–‚¦8Œ†Gø‚B¦rÓèõêdÓ21!Îï~å+è’Á™¹üñ×þc®ÈOþÜÏ …¯_}¹JšýÝ[$,¹ä<~“^×ÂöÉ-ÍBTÇ× ¬ B¢1‰Àî!NC œZˆ¾„WoÒó&äç@¡:À"ŠÆá[wèxò§ ^b²^#:¾Gß`Ùc + ¾±‡ÂÚ=†¡£"ˆ2‚/àô†D¦ôoþ o3³X ‡¡§Xß©òøG?Îìù3L¬1ž9æ{/¼ÀË/m¡k2?…Ô›ŒlÐ’Eyôip÷ØÝØ¥}PcÒ=" Y˜/Éd¸{ç>I}ŽR¥ˆ+¾S½‘%‰öQ›B®È—~ÿ[t:ûØ“är9îÜ¹ÃÆÆªª‹Æ©OÛó%æ*óL'–e1™LÈæ3üÕ—n Ç•ã߃ï|á§Ã'”ÈsñxœåS' À¨*RÉe%0Ô8¶=& <QARu”ˆN¯×dcýß}ñf——8þ<¹L–þô§)ŸX RÉ8^zm—ˆ¢òÿîuÞ÷äãN,N‡èšÆx4¦ßíÇÓ9„©Ë´Ù…êj½ƒé»È‚Àh4FD,kÊö­ût¸S›x¦‚­JLì)š®Mê Œ  ç!0Ç0öÀWp9špãÍÛ8¦ÉÙS§9æ,‡û{|¬˜|î§=óÜ—|ñXŽÿ‡ü\ŒpõÔirFŒB&K4›bíÄÞÄÄ÷Qu•L¢Àþþ6Í£#Æ–…ÄÓIæfÊ”KYt#ÁìÊ{{{LÇc–V—QSß{ë5Êù,­Î€l6†9öغ¿Ç•ËWÈÇdD†£1OãÁ›¸‹d"œN¡Åtü©‰xs9ìö€q½Eb¦ˆzr‘l1O9W&áËF5CCtY¥µµË×ßijÆ$Ò:ò@DɦÑtË4™`ê18hIå0 >NÓñ˜Ñ`H2‘Â4m6wvi´ÚhFŒl>‡¬Ê¼õöU"¡Hqn Ñ0‡!ötÂdØG‘ÚÍ#z³³й$—z„Qoˆ„„"A©\ bDDY5p}H4B,¥Ñ¨Ñm·P…»÷ÙxÐáÔ…ó(ŠŒï{ø¾O&“aii™R©Â`0Âñ,F½!rFDÇs\²é –irçö=†}“¿~fù¹¿qræ¹ÿe§ñÅã¶êÿ‚/}ò©°ÎS;hZZàòÚ\ÇgØdùÔY]cûÞ-T]7°ÓÀsMôxAQI%tg„=†ââíf›þèOI¦ÓäVçh÷ºÄ Wž$õùç¿þ/Yªœcq.K4êpáâi‚ÀDð£ï´<é8¦,1Õ4Ôh=ô‘]»Ó$ˆk¨†Žäø0´°z#1$”}´d 5šBd:wvq‡SJŸ…Å"Ö;4ª{H’@Dbü@d⛡ÇB±ÂØqˆg2t:=2ñ4±lRq €½-ööQ‘·Þz‹—_ßBTá©÷=ÌcO<®d¹÷/}çE¦£!јN¶!™NpcÀS &hŠJ2¡±´X"“Žaš&¾/0Mˆh*žcSoTq&åBÏñ)ÊÔG‚  (¶=Å4-&“)ÅB‰b±LkÒdØáLŒˆA0¿4O:›¦q4&*œ=9ªJx‚Àåýuá¸rü¸ý¿>¬ØÏÍJä²yæVy6÷oÜÂ0R <ßB&D $$žH#+"ñXŒåS§ˆè:»LF#¬©É¸3Åñ|ð}¬ÁˆÀwe‘XDCõCæZ\»z—Ÿû›_`v.G£¹Gà»$3)„Å bRÃt§ úœþÑöÞ™ xŒîߣyXÅ/½¹‰mœ9‘¥µUŠå"¹lI’Q5n·ÍxÒG–%ºvŸˆ–à`¯ÊÖæª’Ðc„¡„$G8lõ@Èó¤³Y‚0d4šÐë÷i¶ÛtÌšapúÌYR™,F"Ží{xø*%K@Â#ÓôÚ5«üý^yîw®oñ¸r¯üÂφÛb~¡Âæ½[Ôvw,žyæÃŒ™"Lf %â•4>>i]'šHÒªÐ)grôÛ-ê †–ÅÜâ…l†›o^E £1™a¿KRQEH–³ŒG&ÓNŸSœÇœø£?ü3þãŸý%””ÂÖÝWqí)‹ó+t=‡J!Í›ß}‘n£Íè#šÆ(4‘ã òö6v&Frm:#:{U’•2ò| O áAw4BˆØ¡ƒ&A}c“­í¤g œý‘#&аÞd²±Ïí½-´h”d"Om4fÿÍ—X:w‚Ì\‘µ“'ß9Ñ;0yíµ7¹uç.ÁÀAÑ"D“yl+àÌÚivª[(º€¬„\¾ô4½¾Ï·¾ñÕÃ’"ËK)ŽØ,/-ÐéÕ™©ä9ú$𤢠n\»FàØä²i’±8AÐl¶éÇìõ(ò˜Ó1¶msòäIJÅ Ãásb$C„@ ÓêÑkvI&“ü¥™´hú IDAT} Ë6¹vó:¾Á›t¸pb†|.I³Ý"$ßfkƒ¿5~`å¨ÿÓ/†z2Íöþ>Š*RH%p]—vϤ0³Dy©žHÿÁâù£éˆÎ~9ðIf3è™(íZgb£ÇXe»ˆ¡È°ÙC5|M TΑVe&£··î&pztÍ#™Ióò÷®òÉù1²³ePÆŒšHdQ³ÛB—DIAJg j@>7íR½Qwȹ !al™…¶ç¢J*’–ƒQB |—¯¼Îú­ûä‹%ý#²ùžþ‘ÿœßú•ÿ’þ‘Ob6Åî^ŸseÔ¬ÁÅGf¦\$Kñ•¯üo^Ýࣗ/Q^Yâ ÓEèÈlÞ¿G*£0Sbm©@ó¨G®8O§;áO¿ö<ýÑK—âìÙ3|÷¥oS*ÎQ­ÖúÌV²è¢Dm÷€qwŠšˆêäsY„ÀG×u´¨ ÊÜßÜäν#.\8‹ª*x¾C<–D× ,Ë¡Û铘‰±¶¼ÆÖýmlÓ¦Ûí"3ó3h†Fva…ƒõ›Øýºâ“Jf°¦SËæÞÍÒå<Ý~—¿}à ?0r|õG?–VO1¿TÆd²Åãá€T1K}{—_¿Îìò*KÜZ›õ[7X;{’ÊL‘Ã{\Ÿt>Gn9O¯Ñ%"jhFŒ±cÓlõhÕ;8#“‡}â2º!q]®]}3ô(ç Œªm&ÝmT=AkØá©|‘TV¤V«‘1N#§}ª÷ocxýÞx±D~n9ôiÕˆx}ê›»T«uN^¾ÄÂ#—èmïQk4)/Ì¡/Í`šc¦“ƒV³Ú¥q»Š`)z’³ÅAu@2¯rRyvpýO^a&"c¬­¢Å ¶÷×q§3d<€|E%](ó ½Pb¢ølìlè˜ý1B p‘Í6{Õ}–WWX\]£7Ó iuh4šHºÂÂü‹ +ˆBÀîÖ=î¾}„bU¸’I*'"‹ÉL’±9EˆD¨Öj¤S§X^^¦Õj2öÐ"š¦ã8›ÛdËq7 OcŽLÆÃÛ»;(šÂââÊL{PgÚ9 ‘˜)•iVlÖ‰©púÒÓHšÌÄ™àân~è÷¯­½gåxý÷M‹ ™¤A°Pd°µÉlTg4è2wö‡“ko®óñúa²0 1⪪’JøžCuo]VI§Ø‡f·ŠdÙ,,žÂ‘4õ6ÃÆ…b9€úî.㩉¤ë„Š ¾ÄâÜ";×®Sš]DV!L&-Š¥YL?`0"ûS̾ÃÒÜ*3åþÝlîmJbÉ3k«œ,ÍÐkÖÉW²øžÉîú}怉â¤ð}—õõÎ9A*Yà`¯E£6bw§FIWÈ–‹X„(ѪA%n¼y„aP9!{jóÊ+osæÜ2¡b{.3q‰‹—¡9žðG_ÿQ#ɰ3d<Hi Bè¢*péÜ,"2¯½¾‹¬Â™+kdJý¼ðg7(fᓟø–e¡ÅÊ Žà1À èViíŠE‰D ò³%,Ï%. ìV[Ôš‚òÙªn0ö!BQO%yåµW@Y];cù5Zd’†f—ÐõÀö¬)ötJ8L…¥"¥Ù<âL-‚  2?ã_zYxÏÉñÏ ñ0[Y#{úùåYlêÖ­­m{{œ:u‚ù³§¹vwƒ3+±\Y¦>ê k ®=ajI%d’ ÌÉ„N»G)?ƒ ØZ¿…×é“M—ã)ô¨ÁÖ»L—Q³ÅdÐãòåËÄ‹i¬‰E6EŠêl¯o {û[<ûÌ!Š {;;¸ö„–Y£×PÌVp‡×Þ|™ýÃ)—;Á§>ýîíÝâ­¯¿€î‡äòä @r†–É›ùÒ Î]<ǵkWqd"Ëp EŽRˆ ؾ‡‘J‘Îh6›t»}tYei~‘zÿURè¶{¤iÆã1Žï+d‘# ýFƒ3ÎSž›ç7ëÄõáÉÇÁ1|ÇesÏw(åìqÈdÉ|Q+‘Ï-Òë¶)dRH’€ëº8žËМ2µ¼Ð"©Çqû&z òä£WHç¢tÍ’&€¥10=4òÅõj#“çæƒM4ÇæÒ•Ët}ª‡”Š\7`§Še¹”gÓ$£1&½G‡5Êù<’Òí1H&²È²HTɤȕòLl Óšòìÿú†ð®—㵿öL蚕ԅÙè‹‹ô‚)ñ„Áë/}“`!¡`'(³%Ì~ŸasÀÿðßÿ ˆP.È'bloló£?ü$z,ÅÝõmÞxë>¢ óóñ43•%Î<¾ÀöµÛTrGÜ|ûóéÛ»{!£Ã•Çao‡l>ÃÒê),'dýÁÖ·ÑŸù¥E$Iak{›^ÏBàìÙÓ,­,S;¸Éx0ä`o@.§qåÊdY¢<[àOŸÿSZõ1²*‰DÐ4X"‰išD£QöööЈ’NŠhºƒ,ˆD´Ý‘¨©ª@6•ç¡ ç|‡½-t=B(‚¢FÐcQz#ï>ÿM®œ;E""3êÔ¥€Ù¥Y¦Î”ý½¥¹e’¹õzFý€T*ÉâÚij­‚ÝG‹g*dóyöê4ëm¶·qmLÞ T,Ò=jºKs³Xö˜v§Žahx–LT éžo£Çtd%‚‡H³Õ!¿hpé7_Þur|ûG—O/cãÐ<¬qrfüòy\Ãà^mñdˆá l=Ø"°=œ@`ùÔ „ dÒ겘/2óÑ:Ü&4»Ì“LG}Úí.ÑTPPhõMR™(ΠÍd¯IèKˆ©ÅÅ9ðlêÕCâŠJ6®Gè Z´{mTYdk‡G?øAIäêÕüöoÿ!¥|–gž}”™Ù"o}ïmFL¦’a0±†Y™N DD=@¡¸8K|®¢€Ýè2lw[QaÊââ™|–‰=Árf–˜[¢Ö8Â…(ŠÂƃ<¸·ÎìÜsK‹(†A0 Y½O6•%fD©VŽú$3)\ߢ?RÊÍ‘ˆÅQE]׸~óŽï³¸¼HÄ’JI8^DZ(•WX߬2²}VÖVÉ'‹Äc:Ï㫚ÂÉS+ŒF#Z­[; B)ɰ3àsŸù V¯ÁtÐÂlr¹‚$ÑŸødŠ3 íQõ;Ô«¸¾ÌÜÊIfò ’"3˜˜4»=rù‰xŽv³‹5õУP)•‚~»ÃpðN§Ñ$Ǧ˜ž¥Û>²º$RqbɉDžF³ÃAï.²åS_½-¼+äxþ#•pqù•ò;û NÌ! wÞ¸NoäQ¹p‘sO=Éáþ.;÷wp¦.ŽÉL–þhH9›Åê´Y'vö!ö7ï"ØCÊi{j2Û¨Ñ4¢ª!é*µv<&‰†ã*L5• §I$ã`Ø»vÝ{hªˆ×N†èŠL³Vgaq‘Ýö÷ܾµÇôÉ3ì!è2øèRÝ]çÕ7¾‡“Ë—Q$ÀôÙ¹¿…;µPUkb"ÄTîí!(ËÙ‘âév{—D*N¡T¢?îSmÔÉ—K\~ô1Ea2 ©Òj´ˆÅbË3¸^ÀÖþ.ƒÉ„Ók'X¿»ÎÂü<žc³¹µÁì|™…å9ãÛ··}Ç®\f<èÓl6ÍÐHfÒLZS²¹(’â0±&xÄkoÜ¢ÕAÕWУ*‰¤ÁÜlß·±§&Ó‰I¹\ÁÈùúŸ|‹Kç‰Éà[ct]@”|)@£ì6:œ<ÿÉdš£ƒ÷«x®„¬Æ¹|y‰Z£Jynd™½ƒCT%ÊÙ3É¥ ܹýA™L†zõN«‰ïY Y<ÏaÜ£Gd ]œŽpD‰Êì±xUó¹u{B…L.Á“¿÷úŸ»$nïs<ø‡–eÓk¶1dƒÝÛ¤RY ¹8Íz›Fs@éÄðDÊ‘4,J¸®‹(Ê \)]dØíÐö=×Âv(¦“àH¸ö”À™LmŽZ¤2E&î%¡.æèî5Pµ «§W‘t‰á°…æÛè)͈à¹6¢¢‹¥¨ïW¹y}ƒPVX?2ùæ­=æU{ØdÚ: ÓŸò‘C"“ÁŸN‘´­ý]\ !ãrîì)òk+8½š®2ß™g{sƒJ*ETÓéÙ#ff–#*µj‹t6Ź3ÚÝßýÖËØžK!›#‘NqéÊEô¨Áþþ!H'׈&âŒG"z<…K¢ˆ^[á«ßãæÝ;œ8±Ê_AEz½’®péÑKÔjUG5Æ£¥LYÛ÷Т1,ÇgvažsKŒÆfÏæ‘G.²vj¾ó-ÞüÞM®<ò‹ó1,sJ¿?`lƒªEˆ&5ö·›ìÔL ¢QƒJ9A6›§ßï³¾µM\Uyâ±Ç¨61§!ÞdÂųçHçsÔkÄõª¦pçöUzí“Á;m“˜–‰íÙ¬./pæäÍÆ!"„>®ë1L˜N§ä‹yìé˜ñd€ú‚H*“bl÷yãó†Ahðø¿þŽð¦r\ýÌå0šxç,›;ìïÕØ=¨£LÎ>u†S–‰Ð9ÄË øÈ𨃛*ɦÞùF“$Ҫ׈H2•RS„Éxˆëº(ŠB$Á±}¬©G4'¦ ô½…\š|<ÍîÎÕa—•SKÈž…šŒ¡#QÛÜæÚÕkô‡¦¦K`Œ»CæO/2•Ò|ó•«üø~‚°³‡lŽP%™Û[Û {6ñ¸Æ£= ?æ¨=@T4´¸ÆÞá6¹R’Õâ ECÐ#\¿~“íÛu>ûÇQEz‡‡¨ªÊd›»-’±8Ž=e:“˧)V²(´ºmtW"ƒ"áúa`Gdb ŠÙš`ûÕ (Ñ…¢ÈT R™$n`ãy7®]'aD<¨íWÙiØÈ²ÇSO>DŒÉ¦Òx.ìî±±¾K!‚£Öá8pj9CLQP„±D)œà‡™rŽátÄòʱd‚v«iš„tû=BI&™Œ†>ÖdH*¦“JF±,‡{[xN@<š`<#+!ƒQ¤‰DŸsõê6†£ÑnQk6d‰|!Ãñþ.º,ˆXø¡Bõü!ÐÈç–pfSÜpÊEõˆìB Y çˆ¢ÃÆVMÑð(¾«#„¢fñêý¿›"ÿ·ÿ·KÉðõÛ·‘ìáÉxHi¹Äœ7”‰¨ ì±`d4‹Úñ1јNª”"Z(1ÉtZs–VòœžU°}UéhÊ`æ# f*[×o 1ûä—ôÚ JÅr…UF–¬rzzÊÄ“Ê%‰EtþôG?äbÈÖNš¥ÕE—ÓãVŸïïWÐd‹Ÿþì=òI¾õöWøô³û”J«|úÙ.Ž 7Vâ¬\ÝdåÚçå ¼‰ƒ&HØó9OŸ=ã…×_&žLñÇ?ü)™L”¥Å""q+ÆíÛ·iÏLF]†Ã!+"J>Óy—µ•mv®½ÉùÁgT*U¢\.Ó騼vd®ˆÂý³™´Auÿ!Ë‘/½ð"m{Æî“ÇtÎ+(ŠJ&—!–2‰Æ-J‹œ™C§Ñ"ŸÍ3·hwºŠFµÖ"”4.*5Ã9ñXœX<Åö•-ðƒÎsÔ†GOžbè2Ó±@&“b4ì3›MÉç2(ŠBàùȲÊêrC×8=9 Y¿Ä²t–VW˜Ùsº½éT‚ÀsÑ5T*Ád2"WÈS(–¨Öê\œ´¨œ!ø.ši°~u›ÙlBçò ì1ñL‰X<熘F €î°I»SC}ÂPÇ2ug‚ªÈ˜šŽjx¾€çB¿‰ë…˜V-b"*"oýñ}áÿspÔþ³ß?ûüKN/ê¼ù·P 3œ0ê ¼IU¸ý+ß!àôá|ÛaP»$™L· Z—g„¾ÍÄ P­=…Ïa%âôFcBß!5˜ŽFÌÜE’Ì¥8«TñB™½Ã#’™4¿ùwþMF*ÞQ&nŨž]°¶±Nf!ÃGÈŸÿðÜÞÉrëæ×¸ÿøsvn\G£üùŸý5aàðýw~•û_Ü'tþÞßû]þô‡ÿ+»O‘ÏçØ=¨°¼±ÌÎõ[Œj<~öA‘)æXÎ/¢( µV“L1O<—@×¢´»CjK$É%bè4jmêÕ.uNÎÙXß"be™LFô ¦‚Û··‘ñ¨G¥R&“KK¦˜Úsºýk¯¿Ãb)Eãtu4eÐQëvQCW 4ÚMtSC¡Óé ‹ †¢ú!5`b;XñŠa!kQ 3ÊÑá“É”ñ¸Åε+hŠŽ7sXÈeYÚXa䇼÷ËÏTú¬­­Q«Õ'¬®.cZƒ~Ç™SH+TË¢f”åÒ ÍZY“q|›^¯Çl2&aÛ3²Ù4±d/ð‘uƒT:K{ä1ôµø®G6—GV@]ZÍ*’daYq칇ªêã”Ozôúæ¡(„އ©Ä£ ê— Z­©œI.»ˆãúLœ)¶7ÃBWäßúðâ_êßÿ_ZÖŸýƒ¿þã¿ó¯¼Û¬µxpÿ ùB‘lnP4+tÛ]Õ_|qÄÞ³˜²„€ÏÙÑ>–'_(2wlñy¬e.™Å°ÒØžˆlXÄ)DÕ \)3ôi5êxžOn!š†ãúÄS)ò…SgÂe½†¡™D"bÑS{J¯×E’Edõ¹2s§†ˆÈF”dÿèç { 677¹¶}Q§Æ Ùg>vhvº<Ø{ŒÂÕÍ<1Sçâ´ÏÜsóÖ6×6JTw©W›Ÿ ±E™¥+[ÄsEb™‰D SõÚô‡#T#ÆÕÛ7ùüó/¸l6¸ýâˤR)Î/N9==e4°œ(òÒo`Äâüä'?彟¼G:¢’Ϥ©ÕjÈIB‰ÉØG‘¾÷½ï²±¾D*áÙîCþÇö3¶V–ɧDu•N§C«ßgcû:’apöà±…,_ÿη¨5œî·â1RQñ‚•å5œ¹Kµ|N,j°~u“ɼÇY¹Îã£)ICâµ;70 ¨™&WŠ0O9=8BEb±ýþ3bp÷Ë{(ŽÀ7ÿÖ·É,¥8z¸‹=˜ɦñÑ›#I¦i2Œ \ð<ŸN§ƒ®™¼ýöÛÜÿâ/‰$’ÄRYzý¾ ðÙ§_‹&¸zõV¦È£‡÷ÑQHÉû?A·àß{Oa$@@Åž‰¸ŽHù¢N,š *µ2Ãa¥Â–naOÆ¤Ó \oB³]f2•#hªJ6³€ëºŒÆr…<ª¥!ÈZn‘êY…¤£S½¤Ó¸d!—ÆæÄ3)ü‰ó<Õ%e82™Œe Ç™3ŸOðI$’ŠE ÈhºE³Û!ÏàÓfŽO†ÄÝa‹é|‚ªX8Ž€‘\@W5~ýOï ÿÒàøè·¾ŽS¾û;¿ŠÀ/?xwÜ$®xÔOè6Z ñˆÉk×Ù\ÙÀö=žðèÙcâÑùT†ÒæMâ‰Õóâ¦HÌP8Ú?¢°°A»çз‡Ü|å r+4{ªçG {=4Ãàüâ’ë·®sãÆ †£ûG‡(†Ž¬*Ôu …½zŸ?øÜßúÝߣ?ñøñCFí6¦¤pýí-R±Eþñ?ú§¼õµWyù¥›´U¦³ƒa A^`<k£É ³Ùóã¨D.G·ßã«/¾È,ðøìþ—ضM)_¤ÓjÓôI0ú!¹bŠX2ÂÙy™õÒ© îÁþÁnl]gcg‰ÝýSÞÿpU3¸z¥„m˜ôǯæðlŸ›;·¸¾} Ï xºûŒ™c#ˆ"åû÷é¹Jk%òÙV¯\§çÎ9?:Àt\´¸E«ÞÁžÚ˜ªÅd2!•I“L&Ñ T<äî—÷©5;¼ðÒ«Ü~éuì¹Ç`0¡YkP³çŽMB3Ù*.Œû\^3s'$óywVÉ•ÖxúåSÆY2ˆÅ³4MÎÏÊܸ}A·C*' )ÐhVÂ9í~‹¬¥Ûìp°¿*+$qÒ¹‹Ky¢‰C_ vÙF–tFÝF…b.ÃÔµñ‰T,‚(ŠG,g6›1ôÐ4F¹Š$I(Š‚iEIærÌ<ÅÔ©6ê,h&Ó‰Íy¹‚çÙh–„(Š †s\\I Ncé¦Ó9¿óÉð Žrk1üοú+$bqN÷NIr\v{„ºÂË/mãõjüìþ`ê°º¸Æt>Â1•|i‘h./HÌG3Vœò°ƒèÈM·]ay)Gë²Éåykk/-¦#Ów³)éTמ‘/– gØý‹Ë%*—U)äæ‹·±’I6’¢P;:ãGø/(eKôº}ÌhŒ¯½õ ÖÖW¨—« õüÏÿ‚òIwÿÁ¿Ã³ÇŸóôác^yå%V׊œVlmmÐn69::bkk C·xøä1ÇÇ'ìl¬cF#ä‹*§çœŸœ£é:¯¾õ&rÌâé_†njllmòdo]7ÙÚÚBàòò’³“c…¤0µMâ‰<·o¯c>£^—ýg8S—n{@·3`ii‰•ÍuT]ÅŠšÈœ© ð IDATÃ)½Nèr~zA2["žÏ±!t{tç}’±$ÕóKæ£Ñh”hEÕÀ<M#”$dÍÄõœþˆãã2Óéœd*J,eii Ç(—º€ªªH‚ˆ‰b».Ýþ€ßÿdÿÿÀ„t÷ïÿ{áüúwÞ5S1!Ä2£èŠAëâ’ñÜ£¸v…t&G"¥yÖà‹PÅ(¦Ðët›áxÀƒ§‰X1æ3\t)E8Ÿ2é´¹º¹D€M«Ù`ÖŸ ú­AÍŠ"›"‰ë$“Iü@@³¢¸ý6¾ç°¼Tb:sx|ÈY¥Ì{ïÿ5Ïö÷yðË_É$¸ñ ìéo6ey±€lHdW‹|ñø)ï¿¿Ë›w^dmißÿÝô{u"–E4å³Ï>A· b©8û‡û<{ö ! ؾrÁéûûÇTkxaHà{h¢Äî“'œìb˜*ür/í²¾µÌÒú"Ÿßû”»÷î±¼¶Åb"ÂxÜbuy™W_ú ™dŠù¨ÉÉÁCœI—|®@àyLgSòùél’™3¤7jÐ46zÄ–s¤V ˆ²JDòèá#úí¾ksºí&ª(±¾²ŒïÙLf}ÁÆŠª´ë-ž>}ʽ5jµ„.ïÿüs.Ëg¼ýÍo²yea³è†\»¶ƒ¬'±¢% -J*Ã5¤ `2‰št: ¼ÀAÓTÉ8¦*ÒiThÖNÈ&-,]a6¢ÉQ3F2—%OSZ,¡kŠ$LGð}I \/Y·D‰a¿ƒ¥ÌçÃñœ~¿ ŒÆTU%ÄçèèD‰H$B£5Äó=tCf<ꆪª2ê°Ç6Ý^)•–I%Ó †lÛG‘ ²éETÝÀ4-DQFÁñl|\¾¿‘}÷G§íHðk¯¿ŠÏ™¿ôÚ-4E YJ±±²L0òàî§TªÇllormç*?ùÓ©ŽF$Ó%ÎÛ<;ž‘‹Q 9ÑX!âx]ì$¥ˆa-³º¾ XZÙD%)®]ER j—UD|†ƒª²¸²€x‰8ø£ŸòÞ{û<ºw‚?¹Ük3¬¦ HÓî´ÉÎÍ5u†í6é6ùþ»ùæëoðÊ‹;4ZUž>;FU ”ÏRÈ.Ò1 –®\cayÑÜ,ÍÀRT Yb*IȪÄt2&bjdÒIý.2¯¼p‹ž-„ßýö[\–OC›¯¾q‡h,†,Éô†<×'‹"ø.ŽîS»8Á™Úô[cŽ.¨\Ô1¬8k›;Ìœ€ó‹åÓîLÀ®Ö9?>'pn]¿Ž3&³€ÀW9þò–"`iÏýNÓäßÁþÃ.'O›X¦ChÆð-“‡§cºÍ¿òæk¬ä2HÁ!¢G uTE#rå:Ù׿EÄ°È kLÂ1pp&Cü™Mõì’l"Çb>C¯U¡ñð)íɈ7¾ÿkÄ×ñçN{HT‘ɦã¤#a—¾g£F-lÛcÒ“ЧˆÇ³ø~ÁÑ€ÊÉ!ãP(ä†HbHJ‡ÀMKÐl iÔ›$bqtQa!‘ÃJdñl›IÌ|b7cH‚Ä ßC3d\9J¶AÑ$Fs‡üâ&’j2q„ʹ c{D½QeÞâôÇØ›vwÌw—sïþe£ÿé?ýÎ×ßí´ÚT/.ð\Ó0iuºìîíÓ¨¶0 “«×w(­¬‰¦X̯pcû ÝyYô˜û˜2ÄÒ&ÙBŠÍ+ËÈŸ2Ÿyáö-ÌhŒ¡íâKóùˆ­íUê Fn€K §âh–Æ ×BA¤Q®â6²"ñÃÿQ’X]-`™ ƒ^Òb‘L:Aµ|Fë²ÍÒRžH"Ë`ÐlŽøôã/Ù¾ºÍÎÎ*•걸ÎR)K,jÑiöxòäD.M*ãÉÃûœŸ J2²$='¶ÝVÜ¢Öl Ê"’¬ÐUÛuèô{œ^bÛ.—µ‰x„élÈáÁ>Ba N‡HÒó|·V»I­Þ$–ÌPot™{……,¢"Òíw) ll®‘Í$ÙÜ\Å44íX±\š“ò9étšx"M~e…öd̰7`ïhÀÉEŸÞ°Cù²ÅxæP(eÙ¸²N­z‹Odì××—yçÛo£«!„.S§ÃJi™åB3"RyïÞ„`†Î˜X¶@€G4ª#Š!ž0ON&²L0÷±bQ<Ç!ÑH¥"„²Ïe·Jß`mQ"’LÅ0T {:¡Óí0Íæ³)ÑX„ ð™Íf,är,—–QÕTA6˜»0±m’éÃaI„D,Nqe!ô ˆF MÁ¶mBAA¤}Ù§z~ú|âûV<ŠjJôÇ=¤C«Z'jDñƒÃ£ Ù•U^þú7°òyþù½§?þów¾÷îâbSQé´:$39$U#¢YD “•Õe¼>ùâ½Á”~§ÇÚê /¿u‡ˆ!"0åêÎ _ÿÖ×È/. ÈãQS2X]\D}Êå•:íf“v£ÂÙñ>²d’[^AO¦U™ƒ½'XªD"Ás<:ý>Ožîr^®à:“é„ëÛWI§ã„AˆïØ,3Ll›'ÏÎøü‹ÔÜï~ç5`FµrB¸,/-aÛó™(Èô{]öwŸpvReÜ’IÇY_[çü¼ÆÑáWnl’]È¡éÉLÓŠHgظzY×Ù>뛛Ĭ(¦.# ‰¨I»ÕA–D,%@Ueý¢¬’Éæhuz˜ÑÙ|Eñ<íí-Àãìôˆ^§Á ×†Àecë:k[›(²H:žd:˜qYkÒŒèdÒKRÀÌ3™{,yý+¯SZ.ÒîÕHE|f#]RqGc./ŽhÖÎE‡L63µ‰h•Z™'ÜüÆwÑM‹HÔ  .ž;e:¢+ÕË&£ÉŒh"Iii™gÂtŒ:T.ŽP …hÜb:8f4Š´Z-×|J+ËІç»ÌœãɘA¯‡ç¸(ŠÊl4¡oO)¬l€¨1œŽI§ãŒÇ½ç-ZaÀd6Áó?9¿üôÿê[ïö»RÉ …<‚¤’Ë-²u}›ÀQo^â !’fÑMXY]$‘´èN,.. H.ÇG{DâQ’©4{»ûüÙO?¢Skq~|Bù´Ì¨?¥rÞ$¢ªÜØÚ"œÍp4+•ÁŠ%õì=|@ÌИ»63ßç'òWìí÷H&udA! `c}MÓèõzø®Ëri… pñ—\i™ãóÅìÿîïÿµò!½n‡T&…ïùÔë-tÕ„P¦P,„6†i°¼”å›o•Ñ`È'~BÔˆ£Š:¥åãáˆÉx†(Hd³ Äã 4M£Ùl‘+­ðÊK¯ú÷¾øY yõå—è¶ÛhªF§Ó§Öì°_$¡ßpûŹyc‡á ÏÓ§‡ úCÄ@à£_~ÂdÔgs}á`@å¢ÌéQ6gÒë!Øwñ)g‡¤Óq®_»Š²/H¤$™RißS«—ét.‰Ãþ„qJ¿Ùų§¬–Èæ"(jHqé ¶Ðn4i4[Dsë,]y…¥¥MFÃ! I‹¨õ\žMƨ²Š(šÁÖöUúã1ùt#t™4›ì>ÜgУ +ë»ä‹y¢Ñ(Ã~I0LÛó°Ì^bE-ÇÆÔuRɾçÑn´¼€Ý‹slO`0š1žÏpÜ)Š ¹lšÐ©Ô*ØöŒrå‚Éø¹þbšL3 ¡H»ÞFSTU|D1Q`d;tFL=ÉÐu1Rid]ÇžOÑåwÖg6hò/*ÝHð·íÝn¯…mOÑuUÑp=võ€^¯ÁÍ›Û8€fY$Sq¾øì—|úÉûìž\Ò­_bOF8ó¾³™ .Ä-ƒk¯¼B¾XbyuÅ¥UŠ‹%dE£V©PÌɬ®°{pÌÅeÓ“âѱ¨…j˜\T/©^tɤ"¼òÒ"V”¹íà¹>®ë³²²Âæú¡2v‘€‰cƒ¨qóÆ6ü3.OœWQUÁ`Ä“GgM±giq‰ÅõEUÆõ<î߻Ǩ?bmq…õâ*†¬q~¾ÇáÞ9oÜy•\¶ˆø¾O¿×£Q«¡šª³¿»¡*\ÙZCÁ¶Ÿ2dJd²EŽNÎY*-Ól4¹ÿÅ]úÝ& É(¡˜@SuÛÆTU’ñ$®ç£è3Û'Mày6¦.óìñ32ù"_ë-¾þÖ›´;—”SÞŒÐwðì9³ñ˜/¿xÈéQ—R!Š®É˜FQPqlIVˆ%,<ߦ\>#šY$ .él–z£ÏÝ{I9`ÿÁçôÚ5LM"O⺠¨&õf Ý4¨5”XÈ$é gl^WIá+1<ÑÄw{4êuÑ[[D"ÍV“z­Ž$Ë€eÌf|×ADÀs\º.±x-AÓMF£ãéEE1 \×wI&@H@ˆ¢jä29,+Šˆ@ĈH0\IÆÐu #‚hD‰dóDµ,õ^ŸÜòŸ=áðà˜ÕRœñ°ÊhTãOêþ¤¿ûÍWß½¬^ )ÏÉ'ˆ¡(NI¥ìíðt÷€£Ó3Eâ…Û¼rë‘t‘`>'eè|åÎëĬ8ç'e”0dçê™í TCÅ <$Me.ø,,H峜U+ˆ³—_û ×ßúKË‹ô†=º½6¾r~Vfsë&©d’baímb‘ý~Ÿ\a…b‘A·E§=@\ìpÄÔs ! ¸¶½H1½…e™D"QnÞ¼N>Ÿ@ÒÉZ-f±s}EV¸¬6B‘òy™q¿¡ËúÖ*ñXߨß;äó»_R­Ö(.-rvqF øÌ§S$_ ô\ZÍ:N“å•uRé ™Â:‘H‚n§ï tEb6òôÑ.z4‹ªÈ芌"K覎ŠØaÈâÊ:Wnì°º¹È‹w^âöwP¢IÊííaÛé#¦¦¢©"ŠæÓi 9Ø/3™z¼òÚkÄ¢ºõ?û“¿ ÚîRÌ$‰*Ýú%§çè²DÂR1ä€Ý“=¼Ñ€Êá!‰¨I:ÃJ˜˜ƒÁdÀãOŸ²¶y3%$¤Q¯!Êv'X[-‘ˆ[œŸãºüÐ%IŠ>''¬,®qûö ¹ƒÉœ‡Î¹(·PÅ9ë‹[8þœÓ‹Câ Ç"ãÓë49=>äéÓ}jåKj—mÎϪȒJ6—!WHaDæÎœÞ`ÈñY…Í«×È/-SmÔ¸z}›o|ûm"†@³Ö fÅôûi™ôú#NNÊ|úÉ]÷÷‘%™ZµN6³@§Óåð¤Æ›o¾ÆB±ÈlÒgyie–V–Ùº~r£É_}ð!J`µÚVúð#zÍ!Þ¨OÒðЄ"„‡(*HŠŽ XDcqb1E˜tÆöŒ\&Creuy®/0›˜÷”|„Jˆ?Ÿqq~†¸lnn’Iep¦sLÝdÐëaš:®mÓë÷™ÎgÄ dY¡ßªz’$‰˜¸îŒjù”n«‡,H¤S9Ï¥7 )2‚ b˜B @0n7H¤hç<Ý«0šÌºï?¾àÇœÔj¢†aʶºÂF¾„dÛ²D­Öá'=~ ´þ‹¿š±8¡`ϦîœéhÈîþ>úà>‹Å+lß~‰/ßàÏÿüOùôý)&3¼ù¿BZ“h=£sYÁÒ ®n®ÓmUðæâ±ÞØÆÒ-"Ñ(¶`dÔêMCÊûÏK*«½)ѤÅëoÞÁˆšV/¹ñòœNƒ¨a « ?ÿë¿bssÕÍuEeïàˆa·¶F«Y%³¨#[i~ôÇ_²˜+ñÒ ¾øå§„,"Üzá*’ HÎÔ¡[`4¸¨6X^¹‚jÆ8>>$g¤³&vg.`QD%B$’bi}V·ÅÏ~þ3ÀC›P¸ºqƒAoˆ úøøaÈp4#œyDãq,3Êt:ÇŒܸ¹Í“§÷È,dY,e™‡8ö„X,Bù²Fqó*ë;7ù𓻤§­æ9Gg‡XÙ,/¼òuöÑý Íf¨\¹rÛñˆÅŒ&sî~þ€x"C2‘fÜxF·?£ÝwñÔ(‡å&N¯®D±#‚9l]/` c4ÍOB|DaL$îcŠ‹Äsò+k´FSŒHI¸¬Ðižc1Ö²idY¦I ^3çô“)úsÎ>ÅMv;èQƒ«/ÞF±"T/ê„H‚‚ëÚ”– T*´Ûm¦ó¥Ò2ÃÁ3`F3Ì\ÅÔ)WÎP䀈f Ê>ÑD'´‰%bÏoz Ygq¡@*›à/>yÀý“>ßÿþ¯qãÚ6åË*§½Û¥[Äãqâ–Eûü„æÁSf½ ÒÝù·?ª ²¨Á½Oßç+¯ÜaÒïRëtU•vßàÍí÷¹~eƒó½üÓò_²¹|ƒøÿ~BÅV9ß=béêëÜøzޤ¥!MǬt›ˆ‡ÙÀålk³}m‘‹ócœÉŒáXD^Ë \¬®ÃW^~™ƒ‹SŽÊMÍ)Ê(`åöcJ ˜”®l‘\ÈK¤8ØÝ£|tÄÆê‹Œ§=¼I¤q“Kß`ø¬ä’Äexõͯb*KKYjÕSj—5 9J‹«\¹¶ƒ«*¼ÀáÁ ¢àR,šôZcÜÁ»3'°#Tç-^|m…H:ÆýûÑk5)‡»=ü¤ÆÍmbFš×_ý:s1äü¿Ñ¨V¹}s‡l¾€”+uÒk‹¸öœT!ËWâoð‹÷ß#(–V¹ûéTÏ.Q£Ö‡Œ}~w~õ»ÜþÊ;,îsz^æâè„…t QHM'ÉÍœst\c<›RXÎsóÖ5,-N£ÞG”Ó^ QSéûÝ@ +G8-ÛXŠÌWo¦YÝÙÀÓf³J~s@4žb<P¶7¸öÚ+V„ì¸ÏE£„\^^"zª)Òð¦èšŒÓñ‹ÿê§ÜºùñˆN}Üe: ‘Õ4…5D) ^í¢ã礻3@SLYeïÞ%²ª Š"‰tŠádH«Ý eFYX_@pæxŽÏJ~‘Q·ƒ=#D\’™-\a†,Zø3•YÛá×î0U ÒóÑnŸ/Ä aÒâË¿¼Ï°×'‘Ûd3ŒPzLG#:Mp˜ã°×²«Þùæ @¡þßü'á‡?ûÚÜçÆ•kDrd×Wð=ƒ¶ãƒç"…>¹û9ççmî|åk䮨=~ÄB$ÉÊÒcgÎ|2btq&†$’hÒ”qg‚èÞP *Õ!µ¹@.¾Îßç¢vÈ­;/ÐîM1õ(ª¢š¢1éØÞºÂx<æéî3F³ Å’h²PLñäÞ]P >~VEpEþÖ7ßdÜ?ÇLæ)róiŽŸú6¡ç?Oá‹%!.±·wÁÆÚ¤Óë«KÜÿü>{OOµš¦‹Xd2\^VOGüÆßþ7h6‹&+ø¶K§ßbçúMF3›ÓÓsœ¹Í|< Q¹ÀµCÞyç5ª—-F÷®]CômÆÓ7o2 DÚÕ}d’l²¸¸ˆ©Ôªç$1BgÎxì¡Gœž—ÏÄãq¢Vš^wL½|A»? ;rðeä ù…•݇(ö„ÍtÈŒ#e±¹µŽä>?N¤²X±(åþðyw{¯‹¢+lî\#™ÍñÁ_½ÏW_}ƒÉØ¡?h°¾UÂvž=ÝDz¢è†„(y|úËLjˆ¼ýö·1u™ÃƒÇ\¹ºþÜB>vq$iHhÛˆ²„l(D"ºõ:îd†-kIJ ’Ù ÓɈúéUǰt¼0ÀMˆeȺ†; &Ì}Ÿ_Üߣ9›WÖXZΣH6Π‰„¨šEjq³vŸp:DK.Ð÷™ušÄ­4•Z—a·Êí¿u÷RÒg{ï®®¬P\ZÂæÓvo‚aÅ韽æ³!«››¸¢‰b²‡¥DPé÷»Ä3q$Y b&3ÈÉ4šè`è=G-@Ñefv€ŠÌCƒ»÷÷:.v`sxpŠoû¬,¯pãÅd“)æÃ9—ç5v<ãÉ£g¼ùoðÍï}#AtmÜpÊú•-’‰Eö÷Žxã•yíÕ›¼tçnßx‰xÜ"ðmšµêßti;¤“iй<¢æ’JäÈeKôCNÏŽ)-/#ŠsGe­'‘Hà†>Ñdœ™ë ïQ=/3»t»šõ¹B3fòðñ#\Ç#ðEEDIEQt®ï\çÅ—nS¯UHG-@eØŸ1›ÙÌ'sªµ6½±M,[Ķq½çÂ[‚®éxΜí+èªD£3B·RÌ/™ÎÍ.ÝÁF}ÄÕ›·(±Dƒéx†¦Ë” i¢Rˆ®,(_œ£)*–¡×*þ|ĨݤrÒc4³°¸@»7âÃö¹qýk«K„ø ‡}l{Núo#úƒõV›LfE7q]ÍP |ÓÔ=!1s9üÐ'[ÈQ\)1sç4uœá˜¨¬Ò$ôBšd2F1—BSdÎÎ*¨zÓÔTIQ°݈ñt·J8ç{ßûU¾óæ+¬”2DMÏ#Ë"ÑLŠT1+AD6é '4Úm6VV‰EÌ=HÆ,l~TŸü@þ×ç·Ù¼~•ûõsÎN)‹3úÅ瘹ˆ!k¥W·v0n8>?!bû$rb„(QôÃ{ûˆsظz[S¨Ÿ=$¢êô‡]p{”ãxBH{ÐAÑ’|üù]ž=ëóÎ;ïðÊß`ïéž=>`ïð€ãóž<½`u)Â÷¿÷똦I4cæOùñ_þ…å<…˜A¥;DRMb‰_»s›L6ÊܳùéÿòÏh·ë”³¬¯•|‡Æ¼‰‚ïzD, ¼€òÅ‹¥ÊÕ ~ñÑ}ÞxõM¾÷΋4OöQM™ë°´±†n¨|ðó÷qß HèQ®¾´ÊtÜAP ¥'“2I'£¤^Œ‘Ê‘)ÎjM$ >øä.«+ßÂñz4š^}õUú⨱¾q…míí>Y£Ù튉¨Æp8"M’Ž'¸è¶h”ËŒ£ÌíŒXŒñI™^µCuì äb,'3$S&“²¢Etœ d0vIm- I ~‹L*Š¡ÆéÖ”1¢N—“Ó²(‘Ïe°çSü`ÎñÓS¢—uPcDÕÝE <3 /¾ø—íÏŽxðìçå^¿s›ãýgØý'gg|øñ}vêܹ¾ÍxPåƒ~Îe£=šâÚ3¢[7·™M&\\œQ¿l๲,2·gˆbH&—çè¨ÊñÉ%~°±µJwØåÇ?þ1ÍzƒúE™ÊÉ93gN®X S*R~vÊt{d39NONÉes,®.ñ¿³ô&O’¤é}Þã[¸{Dxì{Fî™U™•µwWº{`0$‚E˜NÒA7šŒ2]u˜9É$3M¤ÉLÌt@ŽH!`†Àl=ÝÓ]ÕÝÕݵW™‘±ïá¾éüÜÜüûü}¿çqÝ9ãéˆQ»À IDATz½†$ ŽªúL=ŸQ£J.fk{âBÅ·è·O©.ë7øð2›N)• X–…øD(""•Ú)žç¡…u†–Íñå%7îÜçν{üüÃOI¥!›KÓïu …¢QÁ°Ç›Ý7F D‘£££ ÉtŠòâg'§ôZ}.N.Éeb¨’>øD"“G$paóÎ6J8B­ÝÆÃgÐïbY©l™vßb<©bÙ3¤‡°í9f›÷n 8=”d‚"xãAŸ¹ãâù"ÖÌA dr‹Ëlß»Çí»·h·.9>® …#är ò÷|:åRöôõ÷Ÿ=}JÌ0øà»ßA•$µkw·“aô¨Êl:âô¢Nri=®!ÏG„%—I§M¯}‰Ñk:Š/aMlR© ” Ô/Î|›tÒ zqÆîî!¡H‚H$KpyÖ$-â ·ïÞ¢?˜ÖÂXÓ!qIæìôœH4ÎÎÎmÖWטö{¼xŽêú4:-~íѯó΃obŽF`PBÉ\–°žàÑ;÷Ù¸¶†, 8îìêáÎlIfiywî GT¤Àßüÿ‰D¢À­»$ãa?þ™TžÀ÷é÷zhºÎd6ÅšÏIg²œ »™b1$sR¹ ^kQ­Ö‰§sll^g)—GTeQdëÆçg'4ªÞ»Ãt4àÙ‹¯9¹¨Rm¶ÐT…Ñ ‹ãXòDYflZ,.® jQJ¥Ö××¹sç6®c!.æxH>—Fô~ú³g¸V›ù¬O£vÈÌv˜uë ۗȺ€¤Øã>†*‘L†9?ë`ÏfdâqŠùѸA:Ÿ#rY­Š˜S‹h"í{ØŽO$!ª©üòWω ÖW6èuš8ŽI¡DzÝ6n #Ë!–WV‰'dR)ÎÏ.¸8­ÑmOè ªÄŒ«Ðä`Ú'Ð$ŒlŒübžH*ŠÙ8`4èbÏ&3qrqMt‰…#¬¯¬’ÊFp]‹ÂBö`Ê›ÃKšÝ!ÙlÛî‘Ê­c›CB’ƒ$ŠL¦"íŽE6] 11{˜ö„Wo¾b:lrûæ5š­ç•×üáï¼ÏÿþÅá¤ÿö~ãûßùö·I‡t>ÿé‡èñ(‹;×ùÕO~B«^%™ŠÑkÖñ]™Å›·ˆd£´Þ~‰=¢ ™b Óõxóæ?ÿ?ÿ’ŸýýS^<Jfcë×6¹¨áY&¸owOBa¶·ï²R.Qmôh &l\ÛàpoŸgŸ?g{{›x6ư7fæÀpìðúõ!íV—bÐí21¯îÀ½ú”—/H§b,ä Ê‹ ø²Š3 PB‰T I†V³Ž®iÄŒ8JHe4S*•p\ÓœbY.ÉTš™9f6J„ùú‹WLÆcV–X^_£¼´D±\Æ;\TÎÙº‡x1ËY½‰®Exxï×PۜѨ×èëHªÀæö5ⱃn—úù¯_#™R5’ 7šP*•ˆG# LsÆp0&]Ì‘Îf ET6®oP*ç˜LzXÀœóƒSz.æp‚"*t«5®¯.áL{(Ø´ë]¦Ã£Q]בY’ «!ö_½â´Þ&‰Œ^5ö¦öŒ‹zÁpHD,-Ñ£àƒ$+¤Sœ©Å¨ÙF%fÈœœ\0™,•J¤bá«ýDo«ûäòf¶ƒ (tûCÆ“ 3sÎÙqÿªl͈!©®¤„u]Ó%ªí&7VÊô&ݱËó—oq\5åÓ/žÓÏ©mÎ.ëœ7LæQ)…¬­æqìŸôšóý Î.‰Æ¢Hj#µ€ãŒF4׿ü¢J`O y6ÂÜ¥×êpy²ÏöJ–?{~ñé·3Ú÷«ÇÇ(ÂU„4SÈ£‡#L+g|ýäs:ÍKò‰$¢bÿ²‰ò)†eõ/Ÿ¿àÙ‹—Ôcf3MT®¨ÝŠŠ7¸ù§BÁa›S|O ¼¼N.·ÀÛ¯?#SZ#U^æðô/Ÿ¼ElÏáÎÃ{„iî>|Ÿta5<|ÿ=~ÿÿ!sÑçí›—,d6xöì-k%šµC“Li™åÂÊÕ´+$AàóòÅ3DQ nÄI%SœVÎiÖªdsyJK̬9ý^çªënX*/]\£P,"ù` Ç<þøSöö÷©¶ê,l¬2 ž¾zÁµíZ—öž¿eg}‹(S*äñt“pT#bDe…ë×°'3sŽ9˜²zã:±DQÒ}0tAwH³ÙFŠ*(ªL€Ïó_óäñǨš@"f0j““ ú}Ýõj ¼€këkœ¼eföQ !…Š E<Ûò<ºÃ o_¾FÍYº±äØ£1>éBQ‘™šSŠ…<ž¤SÈ(ç‹Dµ«Ô«ày mŽ^í²ñþìlíðÑÏÓ®33M.N«<}R¡Ó¸óî±X {îòùç_‚°R^ÁuöÚP¯»´Ûðâu•¯^ñÉgoùÙÇox³[å¤?âgÏ*|y1æb,òü´Ãë³6-Ï åE9«q%‹Ö˜ÓªE£;c8lRJI؃…Ø a p]-ÊÄñ£aCÄbèö1¢i¤@$®hX£9‡»î^ßb5Ÿæ_~}üá¯ÿñ¿úñO¸¾Vâ[ß{¿üÑ_£¨*÷¼‡¨äxöâ5l²‰¢Êa$]GŒŠ(戳քÎÈ%‰pc1OõäˆÿøŸ~F²¼Îîñ.d d—¨¿þ’öGÿˆ|Xçäà+4yÂL, $ã¼¾¼D‰%©ž B¦ƒÕîÍ'èÎmŽöN¹¶½Éïü“ßg<©³ûü17ÞÝfAÚä/~ø¯1aþðþ€_þò—\V›Ü»ûýýCÄQƒt>2¸O"b0êõYYZ¥ÓláMú$ y~í·¾ËëÃ#^¾ÙE—#¸–àÙ%Ð3¨©(o¿|Êæê*üÎoq~V£Sm#'$ní ÍÆüè‡ÿæ.ßúæo""­Ê k P=ºƒ>ùbžhÌ@QU\×#È" 2ýôoxñ¦Âw¿÷–=§V«q÷Ö-djUÔp„T!ÃpÒÃ1§(Ž‹oYŠÌÖ­ -ƒ9ïáùÏŸó‹÷xï×®ƒ4A5æZÙ¤ÍJ9ɨÕ$¦D´8gç G]®¯½K§wIHqÑtDŸT"MàËÈ’†«û”Ëdsfs‡…ÁØÂ²Ž*Ì;m¦–Ç«·Ç4F& >sD ¾w#Kv±@n ɬu†Š Œ¦6±Éb±„¦„9<=gÿ¢J*—ck㪬pÒkSÊI&³XÓÇGónl¯£‡CÌZ§Le…âJ‘iwB¯>ç_þ«Áû÷×TÎeÖv6™ »Lj}fÄJN«G2¡©F³u‰¨ˆ¤ŠE¼ÄhÔas)Íj!Éæÿúw‚ðÑ?ûï)¦±ÿö ×ò *‡§øj”íkËTUgm9AL9Ø;aiý’¡0oÔpdq‘ÇÓ<;ekc-&W^âÏ~øW@<{ù‚££CÖV–(.m1ŸY³9—ÇFæIéúH†J`Kܺ¹M¡áò¢ÂçŸ>g¹œæî»´mä¨M,#k$ Ú&ÎtÎùiaf!F4²Ë+„Siú#“³Ós„9ܾ±ÃêÖC.+œ¼~Åb)GuØåü´ÊÆÒ&õ*©¥˜Ž‘\‡xÔàÚÛ´»}†½&Õã}Ú•3r¹,Ë«e¦³ óùœ~¿m9¸ŽC®´À½û÷9=?#jÄY,—øüñ<Û"—Í¢ê sÁÃ<Ö‰È ãNO„ÞhHÚ(QkðÕ³=C M—ùã?ù=Æý¢0'žÛâåËÏÈ%5áíf—j¥Fo8D’ •*£¨º&€h#KK+zA8>{K¡TD GPT‹jƒX"M(dðâë'$R9—Ö%ÁxB¡\ ™Žsp|À`oí{7Y½‡¿úáyöùk–‹)ÖÖ×q8oV1´(ºfŒ9r8LHV÷Fôúò™Ã‘ÍùdJW€ð Cqþí—/øá—»üì«=ª/÷Z6ñˆÄY«Ë_|ú˜¾¬Ð²<ª‚î€%ˆŒ=ŸQ¿¢\źÝ)Ív“þdÄhÒg21ì÷EHeÓ‚ÈééýŽMXp^m²w4¤ÝkÐëO®ˆï„ï ÔêW”o6ã`o—D>Íî›· »}.ÛMÌV—¥R‘ë›×ñ|HeÒ¸‹$ËLf.*‘D’t1OiqX:ŽK@<›$]È’/®0um¾ÿÕÍU\N4EÓàH<þô#\×%¬…FÌ%$³µ½$Z„Ô,'möŽöYX.²¶–%‘Y*.S,/2Ž99=QÆvÀžÏÈ•2Üð€DÊ žŠa[sTMň'Ðô0Qà “Ë¢‹ íV›v·K»ÓÆu=†ƒ!£Ñˆù|N2]F•uf¦Å|6£Ý¬Ñ®]`›C.ލ·ëüûÿð5{¯¨œžÑéÚÌp½M3ˆˆ:KËDuÊÙ{GGÌçÉXŒˆª1›»t#\j£ÉŒH"ÉÌñ8:bvg8Þˆf}HL¡ÊíÁ„fcBHÑ«]`ûöÜ¢F9¬1Œð§6±\˜T<ÂåÙölŠ.+ˆA@:!•ø× ëÒ?YÏ}ÿ`ï×ÒœF—^ý]q(./`™3¬ñýÝç„T AÐyøà!FTA–\ädœ™¦`!wÌ’¡ÀУüôéÇ8³!;7®ñfo—d*K£Õfh{ôð…JµÉÁþ9’§ IJàáû0ò}F̱”0‹F’¼#ñ­-î”ÊÄ,‡D²@J ¡û˜3$×'ð\'À²\ŽÎê<¸w—Í•Urù™|Ëv0Ç©x5Ú;ܸuÛ÷ÞAÄ™Tk5Î)•—(,iW/¨œœ£'4J¹"woÝáþ£‡Ä"Œx’f»Ãññ1ÅB–B.K>›ciq‰ÕkWxüш¦¢È^#§¸PF2" F]ÄO,APdM"ž‰ãKéd#EeÒé ®ç‹EÐt•°®`ÄtŽÎÎøôÿðw‹w-’wxüäC<´ˆÊâê"åÕuY#™- †ÃŒ¦cêõ3Zª¦‘H¤˜Ûsô°FbÐkÓnUIgW°ì9[×o°ººNĈÑŒ M–WËd#qF–IýÒAôlÛ¦Þ`ÎdÎm°z3‡£ÊË&š"šŒ1žŒl‡nÿ‚I·ET“¹¨4P×ñé÷¬­mð·~ ýÏÿÅw¿¿Q,c5º„xÿƒûœV÷P"ºõ6û¯ßP½8çúÖMR©ædHD÷çc”å"j6Š$ÙÔ^~Æáã¨ï³yg‡L,ÉÃ÷ñì³/ðæ2Õj“­íll¬# 'ý>)D9¢ QJÇY*yÿƒ÷‰Ç³XC›oßy—-JV(§’O~¥D,žÄÐCìlm²ss‹Õu|%D¥Õ¤iºˆ\VNÙ{ù–DG +ln¬2è·©ž‹éDÃ:CGR$‚À#V5R©4÷îßÃ.ÏŽÑ$5ap^é0îvøýðë(Ò k:biq‘|>G³5&¤Ë\6jœœž Q*–ûTN)Sôú]...)—ˬ®¬Ñëu©œÓîԉƒ’D8%–Œ£…ub‰>öܥݩ3÷ðƒ9ö|ŠïÚWK7$Q†pžN«Æ|æ°µ}“D&‡+($ÓE$AÇHD … f3OT@ÖqÉ qyzŠ¡«LÍ!—çgLFtUauq•µåî½û¾B¢j”t6ËÒÖ×vî²_Aœ4ºôF6+ e|ß¡9î^É>#q‚ùŒa·ÍíÛä³i$Ee8ã¹.ãñ¿¸?žÿó? úƒ)³Þ˜L,†‘бºÔ[=¾qÿ›Ìú}.jLË%¤ÇÐtxÔÆ5eÎ&cêÓéLм&qúõWŒcnܾÇλpZ¯ðÿÛ¿&žZ‡Žé™TŽ+hb”¼”Á¡T޳q}‰@òPe•ãÝSt1B2™äÍÞ.³ÁˆL*M,Ÿ"QLÒt 4‰ë÷ö»ì¾~ÉË„#"J8Js8b<‡,ðÍ-¬N '˜²´³íƒ7õˆ 3sg´Ú|IÀr=â‰ñTšF³I6›¥\^âö{÷xõÙìñ„ÓfL"…0 xs~N&™&O³~í:Ë Dw‚Ðb1:£)²ñp”^»…Œ@"‘"‹#iêí6•Ó7¤Sq¼ùsÔŲ¦èQƒïüæ÷¸¶½ÃØñúészÕ6Ë‹+‚O»uIç²B\S˜…c¼ú²FTSI$Á`Øf<顇#ȲŒï{‚@"‘d6u°¬9¶íÐé\¹SÖV—‘e‘Ý·oÑl6K³Þàã×mÂÀæJl)‹–ˆÑMÑÕ ¹E^ì½fÐlã˜6·ïÜ!•Ïrp|„=™’‰%ˆj&£ñpøÊÈU©T‘¥«St¡´L8Gg($Ó|ý’"YÌ“_ZCâÔc>{úo¾|ʽ•Fƒ:^Xºòª)_|Á°9$eÀÒR5Ųm†N¿Yã¿ÞŸÒ?ÿÍo~_ÐtlÛbf1_r~zJý¼Á¤;¦×ëqóö}Ì™ïNh7ù›¿}³€•x‘­µm&Žá$™d‰Ó—‡üäoÁîÁ3 Þù6‰xŽB9ÏR±DR “XÝâÑ7q÷Îu燜ìír¸Èë£Köª—á9ßýƒÀ£G§h {L‡Vr)$aÎóO¿àóO¾ÀwY)fÑ%їɦ ‡âŠÎÚ«¥ˆ0²L4#ÁÒÂödŽàû>±d#ž ™JsýƽÁÛ™3µ&L £N›ÙdD~±DX 'Hò„CrÅ2ž¦9¤×¾D}|IàÚÍÜ~x1$R(æÉ–Š´¶M$“%šÏ³ÏðæùsÚ——<¼{Ÿ„apø¶‚ˆ¾DÇé ª C—µ*.ÙxŒ¯žñéË.ïßb>µ©_´ˆG=>¯_µÐ ™° ! 3Ódn9Xã«>º5Ðo\rxq€Ò‰Z­A@¡e:áº"s2é8sg†a„éu;ضEíò’^§Ç½»ßÆ™Cõ¢…çÊô{6{û ÌQÀl&¨ 3Ef昩=¢3îË$‰1‚@ ³”%ŸÏ’+fXÙXE k4[ ܹMDÕp é§”––YßÜFTfsØ=¨ðÙë]Æ3M×PÅ€T&Gf9Ïx>&ðR«k¬m_§]kSVW–¸÷Þ#Ò…eZ­ ²'²²R¤TÌ¢ë*f“"NF‰hÿúlôáéóOƒþÜÄœñÆc–‹„SQ.û/žÑïô¹~û6¹LŒ·Ï¿àè htl‹(°±XƲŽZM<r¥<½^õwV™5{è–ƒè{¼ûoÐsg¼Þ?Â0âÜ}ôÊÁož½ÂNqm©çS.­'x»ÿ5îÜàÆÆªâ¢uÉd6Æ5Ǩœ^vñ&C¾÷'¿®ÈÜ“Q"‡ŸRȧÉÄȲ@õò„»ïܦÕj0Ÿ»ÄŒ$ž/‚9fèX˜¾Ëââ"’/2ê©÷Ú,¬­vmŽöÎØÞ¾N4&qqYçù‹ ×·ï h’&dÊ¥_}ù„ã·Ï ‹†F#ŒœRÈd2I$Ó8ø|þô+=|µŸC,¬óé‡?gu¡ˆ* س_~þ €Íí¿ý_þW¶ÂŸÿùÿ4S¾»H4Tâï~ô~PÈdKb‰£á”Öe <Ÿk«,­ÆŒg¨ GsÌ‘‰Ùb †¬.-P\:×ï>`b:½Þ#"…¨7jx¢O8"“Näð| Wpp½Õ ›V­Ïý»Û¤WŠœWΈEÃȲÌÖ­Û ç6ñb -fPVe.¨ñ0z<‚$ –ͰÕ!gİS"šæðõ!GGä )–Ö—Iç¤Ï_>!›J³÷vŸQwH1_$™L¢(*õz“OŸÒŸ;ÜøµwØØ\&®BºƒxŠƒf¥¥J ò/þÇÿ…¥\–͵dÉÅ |.ë-„ÑŒD,ŠäÏñl“ñhÀÙE‡åÕ"+«ëüÆüD~ô§ïá|–ÙdFcÿ„Öù(¾õûW>:E¢7¸DÓdâF‚/?{ÃÓOŸ‘)F˜X6­®íƒ.‚デHŸàwÞ{‡¤a04'’±‡ÉpÂŤÏd0äúò2‹¹ªÕ¥…%â©í^Ÿó³]Ž÷O1‰ßþíß& ˆÙ¸Aõô„'_¿!®* q¨^Œ1QÚƒ «ªÂ÷~óÛ˜Ó1g¤R ¶nlaÛ6ÇÇ'¬®®WTÊ›kL\›N¯N@³VÇnÝ»ËáÞ3šµ>éL#*¡Ê:ý®K2‘£°Â *gç #>º‡5P9ØgÒS9¾d8ñÞûïãÐY(—Y\[QDF¦M"fàXc&º,²ÿæ5·¶nà{™¤Ê'»~üwŸs»ÌwÝ Ò¾à‹'»¸vÇ2 2¥ÅÙ|Žd"Ëëç¯ pH&"(!•ÕMl;àãO>gØ›P.i×ëˆ>,!žO±°ºÁ;±ûf—jå‚N§ÃÁA—Å’A8]àà¼B¥ãQàÖµ‡è1 4¡Ó¨RdK ,//_AœËe”hôJe¦8¾‡ “_(âyÍË*²™D‹A{ˆäŠ(‚€ 1u¦\Ô›è‘$J(`jšH‚ˆ,ˆ û#<ÏCEZ­™p7¤€bnöqÇmÖ×–â ¸3Ÿ¿ù÷?&“ŒQÊ'¨ÕÏè÷¸®ÏÝÍ ]õ¦´[5EÂó†“z³Ëÿd"ÈÙÒ:É…dA&¥d‘Ý+ÕV³vŒб¹s9å§¿ü{:=æÉéDõ0–ç/HôúS¬9¤3It=Bll‰Çh×.ùäÉWD5ESH§ÓÌÆS†Ñãÿè÷É/Ÿ=cy¡pŽ3{a™„¡œI1š¼Ùeqm‰x2F³ÚâÕ³7’ ©4¦"Ðᄂ;˜ ˆpccÅ·¨¶šŒG&zHçìì×…••2étŠf«F}<£=éI&QB*®ë Š"²o^½F‰ŠÜ}ï]ªççìžpmuƒ¥•5.Ïëô‡Uò…2™X] Q?¯Ojä ~ñóO(dË|ã݆i͸½ºA®˜#“ËÒõÉçóXx¾ÃÄ ÍèTŽ˜ø&'Õ#Ö—OÇŒ¦&ÝŒd†x.ËvTd±¸ÌÑnþ°G ø F#:ù܄ɨ$Ó𠘌àg?ù”‰i1žˆØn€å H‚H»ë‘H‡èV›Tâ»$S1ul±ÄûßHqxZcjK”—b,n)llÜ`yiÏî!‹&Á&@ IDATK¿GH‘˜Ç ‡C\,⺂/øè•x:L£Ýb<aŸôˆ%â$R:FƒW_½¤œÍÕ "á!) ×½`îÛdSQº½ÖTÆq|ßG’©8ölF½^gi1ƒ ç°E•™2áèà‚7_?!²~ë&Íj=œ@ñç,-ðüž=çÑÝûdSº:™lŽX"ŽïûL-±7 ™_€'/‘Ëù¥«RŠk³yc“…rŽÉxÈÑÁWä3)¶6¶C {g(JŒ¡3jÔhT‡XΜŽíK…¸ýÍûLCN_ï‘ÆIÆÒdB!z½.žo#)"“Ñ€T,Î7ßû¬PÑ÷ˆG£ü淿Ň~ˆ¦i(! ÓšQÈæˆ…#\VëÌ— 8>>ÆœŒÙØÚf:œrQ¹ÄT%⑚æ#ÉóÙ˜vmÂxj‘LeI%¯¾ª`š6Ž;G|lgŽkÏ©_œ£èaDQœšøhšF½}ÉòÂ÷îÝceµÀdbbdÜÎç¨V˜™&ý¡‰ \¥~?ýô ZHfscƒõÕ-Ƴ­óS’É8²*2÷è \^^7oÞ¦°XDËÆÙݯb¹6ýÁˆ¸Á±=¦A$OÑdH¢¢}R£Õ©q~vˆ‘Èskç&ƒÑˆv«‹ÀÎÍôz=­æÛßøöCvvvˆFcœTÎÙÝߣrzNÒXY\¡^=¦qqÌí2q&Lì1³ºÍÎ;[„ä±LŽÚ +©,¯ä1»õJ—^Waf™¤c 欭,`;RH¡Ý®óvÿ%=L<%šÉ0¨ÖðÈ” ËEÎ÷v™M\ê§',/Èåb8®…ëô1£©J4E3TZíƒ ›N’M§œ9õÞ óÀCÓeZ• J Ù"²&c÷ºˆ“!îÜgØ®³½ùÔêgäß¹ÇbnAoD"vÅ?k÷'‚DÔ0È–òŠÄdj^©–5yŒ†ƒ#ùhIƒp.Ž}9aö…ÉÙÁ'üâï>Æ×㜞ŸW!¾šÁžYdâIJ†•O¿¤×w)È0m Pü3Ê«‹Ü½µ‰ÃIð]ÃÊÌãÓOÅlj²}}÷=àââ‚ÉtJ&§Ýë"H"Ë×V±,‹Ö Gø–ÊøŠˆbéWîÃàуۜU|üä#ÊAXV(—ËT/Ì&sŠÅ:Ý>Å|A óìåפ£Qœ¹®/Ù(‘(±X #Aàäàk¾üÕcî¼ó.…¥,Þ/ž}uuúM;Ä"zƒ.ŠbuyNóœN«Íν›œŸ+%I$£¬l,1wLÏc>·pÝ ­V‹Y¯í¹drä %Jé<áG`w§ {3N{UærŠ©­æ€ÊY¿ûëÌ & ø¾ÀÇÿ Y–¸¾µ‰ªi¸¾€5wé)♀b>ÏÎÎ:­Æ)5ßCR5Þyt›9sbÁŒ¹3Ù›œ´Yº¶H4#\¢ñ8‚åZ.„ã1N÷*üý¿ûYô(–#|õùc¶ola[cŽOöQ•ÙÌ"O³¶º58|»Ç'?úzH%™Lrýö†Æì)g3Ø3‡ŒaàÚ&{¯|‹p8ʵå5}•½ÃF½!!YÅ4§8ÖU’Àe>F|ü©Cï삤%›ÍÒCظ9™fgÌεuª•cVVh·蚌)øªO,¡b;’Âñm|Á&–PQõÿ¬ øËß¹œUq c¡ÈÀšqppAl 9 O#$ÓȺÀ¤skºXžÈr¦ÄØ›“(—ÈKœÓ9«“6’ä3YÂQ-&^LsxrD·Ûe}mÇøèñcBSk×6 z(¡«¹¾,‡ÐÔ0…B‰eÓHd²¬¬¬°±²ÊpÐãÍþklN”(óáˆÞ|ŠBˆ‘iQ¹8á½ÿ€³Ó·œUë$“i£1ÑH‚Éd‚!3ËĈ*hІ(ŠÜ}ôˆ±=Cdv_¾áôð˜R*B,UÆH¥ Â>ᘄ k!$Åâðàgê’Ž¥Pe[ëŒÇc^<Ëx4GÍé¤qò…ÜF_„N§‰(A&“áôÅ>gÕ>KY¾ó½ïaš3Ö—7¹8­2êO*ñW?e2ñy´¾Âw~}‡½ƒ¯°ç0ª[4gˆ"j;Œ9™`Ƅ֯¬>‚¨‘MGɦ3ln®sx´O4£˜+bYsz½>+eÖÖWp¨Ÿ1n5)å „ÕáP˜x"˸0ÍÑ‘Ia>mõøêÙ –Vò\Ó¸®{åYÀ(e™L¦ úW •Óc! iø„tõë[˜ý.FÌeÔqðü!š`æö¹ÿ»¿N²XfP?¢R?aii…|)É|2%‘¨÷›MA–LsÌ‹—ψÇRF##nDQ #©“2c´ut9D*§ßé ǰ&&Š,âØ.ýv kêUÒYÙ¬‡/ÛdóY4}\C×9ªŸÓéOiwøžÃÜIær$RqtCfq)Çx:Âtçù\–t&C¿?F‘5R™0ø>'GG_2¶&HªÂ|jãÙsz½ªž@C‚€È­[ÜÞ¼ÎÅñ/ÇE‰°¦qp´O<“båú½É”\*GHR1Íš¢ã»±h’qßäôø MÍ jQ*•sŠ¥wÜC14^ì½fäša—7¯/Ù.Æ‚>Íúk"«q^=‰7ˆGD²™"ç•KÆIÈä3´»mºƒÇgMÎŽëÜÞZ!˜[žG!¿€ kžÕÊËKèºAë²ä©¸sˆ% ܸÿ.z!K<¤7lðÕ2é4é\Öøð“cÒ†qÀ×_~…ãÎ)-,Õê%“±É|îàk:bHD„88ÙeîL¯Œ£“a‡N·$(èj˜Êñ1ÇLJDT]ÖØÙºC$%ã¸Sš:bHD‡˜N†xDt•Dñ:‰tšÒÂsF:Wdy}|)‰i÷Qc ò…RF’/?ÿ IôPu #aO')d×èvGˆ¢Ê;÷0Œú=wwi]ÖøÎ{?þÕ½BàX*ñ´ë ®@½¾L«~Œ'†p|…T¼ÀÜ´ÙX_e÷ð-'µSL[dcyt*‚"«ÌæífxH%"I Ë×78®µ™X. ™vdóêËg”«z£1½‘C¹‘çñ»ß¢¶±Å`>D‹eüuÀd8%›Îrçæ tU%ð«—[Rˆytÿé„LV×yóâO~ú ëÕY !!’/Õ)·è^Ÿ™ ¶¨“Ö$bkN^“¹ýøV1ä ƒÝ:š–&¿³E£¹Ãh8áõë7FUOc.\&‹5º.’52¬í‹ù‚­­Mâ0" #òyƒq¯K"Ù¨–Q™£ã#ÎŽÞ EI9bsk "v·Çb¹Ä¶–ó1RòêÍ æbÎb6g³±‰"H¸–Íe«Åõk×4‰?û£?ãâõ)woÜaº2IdS8¡‹¹\°²Bâl -W¡Ûë %ô\–n¿ËF½Ì?ûùÓŸH¿¹Uû¸Ñ00ŒžcÓïtX-—XsL6OÔçOÿìOˆð"{ÛL– Ž&4KEšù4¾e1LMf(z‚­:ß{ÿ;»;ø„DAHRS¹±¿G.—Å(TËeÊÅÄñü `±0‘E®¸ÖRšá`B»5d4Z“Ë02y ùŽe¡iwïßCK^•±†Á­[·X¯×„Q„ç^-ó޳f4\0›Hé:I]eiη.Y›K^|ý”˳»Í&å|–ù¨ÇùÑ+²F‘\&C§Ý¦ßëÓiO"—l.‹®¥H…W h!•Ä·]ŽOæŒ:çtNŽ9yù’YÿïÏ~ÆWO¹wów6÷øâOh½" .Ú R¹{×wYZ Úísrƒt:‹í¸Ö’Íj‰ýím†Ã!z.G}o[ˆiÔò´Î/¹h©Ü¼Eã;ߦú÷°Ëõò¶¿ËÄ´ys|ˆHûä Œéb³}k-™g5Y`ÏfÜ>8@EÜÀ§P(r÷î FÛ²ˆÂ#•$ *Õ A0žL°¦s‚ Äu¯›Í&{»;ÄÌ— ÒÙ:aàóå×ßptr®ç±¬5õ-nݾEµRáðÍ+VË%ÇoOÙ¾v€‰<ÿìS>üè{\¿‘0ð¹uë^àñÍÓ'äJ n¾ó#ŸçÎõMÅ,½ËK"ÏgÔióžŒ~"ü—µDœ@@“B2)…lªÄd€ã‰>÷Þ»‡$ÃáóWˆR’'ÏÏYpûÚ ªÅ$9U$ \|?`:ž[±½FNi,}Á"BO‚*&¸wï¥z•d>Çl¾&ÚÄöŠã7‡L—ÕzÂåxˆʬ-#›äÁû¼zsHb’*¹qç>­ö„îå1i]äþÃ{(ZŽÀøúÓÏÙ­o¬¬ÙB’£“SÒ)ƒl*ËF£D¾˜äÕëcúÃ!±‰D‚d&M]Á\¶··™ g¬×k2™º®3›NH§Óììl1±æ¾ïcZ+,; —WÙ»¾M©dðúÍ+VN‚zµ†C„ôÚ²Ù,ª®²X,°‡3j5ƒXð‘ƒ7±=›/¿zBÆÈ±Îù›§'ä$8¨–Ù36˜tNj&…XÞæáý;ˆ±Í³¯?õl6ëMJF™ù|ÅÈœ3íwø•÷Q-e9>?AÔ“ä6šXaÄêð “ñŒƒÛwØ|ï]>½¼DÙÜÂBáåë·üîý?°Z̉û-nDKz_ü‰Øa6í€grØsÑÃÍ÷)d2¼8|M¦˜çÚ͸¶Ew8bm.Hˆ1› 2¹,¥:¢¦á„>‚#Òp\UU \Ñ ˆ|.»]ú—Û™L‚Zs' çlî E!¿øìˆ\×faN©m4(Uê$³j–?ù¿~â˜{÷Pi6IdRÄqŒÅL:= ·÷XE:ŸþÍg$Vö+yƒA±U-óø÷~&ÿ¤‘‰¿ûí¤tkÐîŒ99=çñGßáæƒ›LÌ ùç?åâhLäìïOX-æ¤TH&¡Z­ƒb ‡H.ôP’°¹¿Íë,§sæÓýÙ˜•çÐz42?øà]ʵ*¨:¶ïsqü%r9=â.Z;÷nãø sŽw!J r¦Ä›_óÍWŸ"'ºƒ) -‹¿ZSÎå¨f„±‡žÒyþòB¾Âµý}Þ¿D’|RéQqÖº ‘HpëÖ-ò…Óé×u±-×uñ}#›E–eÞEà8 ±1œŒ¯ÝynÝ»Ž,‹œŸŽ°Ì%b$ +—­ößzƒÀ @MÀÞN ŠXù7oÝÁ³üâ_’+fXø¡§ððîMBÇÂH–ØÞ¬qÜyM,hû»\ßÛæõ7O8~ù9ŠHi)67¶™ g|ýò~û1¥|5!P­Wt@ÑPS†_=§X.sÑoÓê÷ÉÖj –+"E'”š¿õŸS¿~²ÓúÃߣ0ëqã`“Ï?û­£o06n#zž¹@D9¤&P‘“7¯PÒ9ŒLÏ_“˦ÙÙÛF”e’™,3sšÌãz+ËCO(,&²¹¥F /Šw=Š9R>I(€¤eY»ƒNŸÎÙ)FU¥¹±…e;F–åjÆÜ4±×!’¨‘àÍé[~õÇ?BÑ5>ûâsÞ<ÉNµÁýëÌ„%¯.(b‚ºsP¯â…2gç—\ßÙfëŸÿž üïßË7\ –“/—¨_¿ÇiëŒÏ¿úœÖQ-%Y¹yûj*E÷ô ¶9#Œ@K©¬—؃f-…G–ÆnÇw™úÉ$åbžH $be{ÔÃìµÉ9n½ÿ>I#ÇÅ›CºoIfJÌK–ÖŠñxL©TÀ\ÌØÞÞ"ÝØ&rW(±ÏéÉ9íÁŒB±Bä9è²€ä- ¢?òIê9õmÞ¾9Âq®_«Q­ï\¡UÏó¸ìvq]—­Mt]§7è"Iq,–K‹Ép‚adÓY¦ó)æÊ"ŠÒ9M×ÑSF>Ëyû‚Ø÷XÌLl3¤ld‘‘0ôI¨2Žcã»Í*zÚ =]±´lD…½öxôÞ{X‘Ï´7`·Yg¹0QSiô\†D2…‘/³æ .»ô[-2z’Ýæ¾ëašKæ‹%7ïÜäö­ý+ †>gg¡H._f£Beg‹álƋϟ’‰eʹ,ÙZWøÒÓ%•r™Í¤ÌËOþ %ò(Wª «d %æ½£v‡È(5vd…ŸNû)¨ÔËÊydMDQ$ºÝ.Å|éŠÿM£ëy:Ý‘e±šöqíJ*EcïY(°Q5'ð¹Îysr&'Y/MòyjmQÑM'ìlÕ™Žúx–K¿=d4³}ã€âVÝÝ./Z´NÏQ4 QU˜õz{‹E:Ï?#%†dJMÎ:}*ƒïþþ_ òf­L÷rÈñéKÒåwß}ÌO?ù9Oÿà§•»ñGßyDEO1¿0ŸÍ÷Ûh©³ÑŒ´ûÍ ŠÍMГ8‘C§sŽ¡×èö¦ø‘CJM"I í‹¡£ç2H‰áÊâðe›Plóââ‚ÆÞ.›å'gg¨Ú”ý7I¤RôÛ]\7„ÙœQEìÑÔ“Ôò9ò©륇š,2šL)±¿&!¸uï&Ÿüü¯9;[Ðë¾fs£Éö¦Ž(z|õåç”Ëe¾÷+1 ˜ŽG,Í9g'Çȉ™B/ô1g 4-‰k{  bm»è±¢«¬Vñb½ è.:hzŠ ¨o§h\g6œûš¢‘N'É2¼xý’|"…7š³žØbÁ‰ü5„ÞÅ%­Èäý{×ÑP +6i6ö(æ·ñz=Î_?'£fI„"žå°Z­8ï´xðèÞyÈ›£çÌ']ÌéÐu´§äSin”6š]N_ “ŠÍ&@ÁìuXŠ-{HÊ,‡ IæSßåýo½ƒßíaMmôb;ЏMqW•R IJ‘È$R"AB"Î1rŠ•2¦m"k nܾÃb<åò¢Cãæ6­ñ ߨkTÁÐh_1ZÎÉ%U"QâÓ_þƒÎ[ÒF–ÚÖ>[Ûu2z–8°f-¢@¾PCU̹‰ÆØË—oŽJüµÃ‹ŸÆ›¯žrãÁ]”|7¨WË”õ+d>±H(IjD&oPŽ,˼ú|Wô>î.©m7¹ýμ<ñäU—]à‡wwyÐ(“•bj•)#Ea£F¦T@ÎkìܾÆã¾E¡YáéÓ¯˜õ{ÄK—„/¢ëynßÜÅ0ž\í Fu›ÍÝ눒Lçä—ôÆ}Ô|kíÌ}ÜÁ’ÙlÎ?ü>[»û´ÎO˜Œ8nÀ:–ÙØ9àöí]nÝÜ%4 †B²¨ãèIì0¢–K±¿QáÅá!ÓñœË‹KÄRŠHäød“ ïÑiuY‡!=Å_ÿô ý.¹b‰8!¡ª:ªœÀ´l„X@K$©—k4j&á·F]âRƒL:D„•âf‘‚¡´fë^YOy>b‘ÌeÉï” Tãç”S ^œai/QS>ßÙàÝ÷÷‘ó)^t†´æK*é ·¯]ãñã»±I:™`>î“ÒdNOO8ûü+®ß{cs—WgD¡À½}nomÓŸ¼¦R,2ýÉ3:—kʵ÷ß{Œ˜’ÉgȦsÑåÑ­2,a^EL¦¨åklmíóøÃï1Ÿ®8ýô¯?dEì¾s‡Û®±lðãoú32µB"d<ûìS¾üü‹«8¥(D %“Tk5Öî’Œ¡óý~Ÿ‡ߥÕn1›LØÝÛáèÍ[1ÉtfcÚš˜ ±Ù _ÉstvŒ¹±³³E6›!•Í’ÎDqÀj>¡Û:¥Ý3ì¶Ðô4_¿xË“/ŸXKìµ…žI“ËU•d&ÃÍ[7Hf5ºÃ>!™bŽbÅ }ÑGˆáÚ}PeMGR±DÆX+‹J¹ˆ"I,æSRéÉd†³‹ƒéÇ\’Ôu’Ù ‹Ùœ¬¦³»½Íd6Ã3]r†ÁÖÁAèú.óÁMOâ¸"‚£* "Q`iyŒf–í3\úˆ–‘Ñxùì)ÖbMRMóôé+NÞ^Pu„@"/aZkb1æñÃ{ܹµ»ÄB€šUñd†šPù{÷ßã£_ù! ðl‹ün ǵ1zF½ÒÿMÓœa-–øù^äy.ÕF•ÂN r­À«Ï?çòrŒQ®1[ZÌfSÓŠ$`-Mzƒ>[»Ø¾C«Ó&›Íá»!a¢j2%¦ó%ËåhõôìË2éÈrAT‚5ÕZ…R!ǸßáœϹlŸâx6ÉT’QwFè4*£óÉ€Q¿ƒ¬HLæÒÙeC§XÈ*(lí &¯€¡~`£¥$’ršÉp†ï:W*gB¢ÙØ@I$øÏN"üéoýF,K03‡œ¶.X:1*uEB’„ÿ_­U…©¹$eÒ™ƒåŠl:…(Ĭ—+ö÷ö¨KÌ&sQ¡ß½Ä Ö Àbi¡jÖ–G¿×CUÂP¡Tª "…LÁ°zNeå.©×rô»=AF’t–.Ìf3Îßž“IÂd7¶3Ä’Âó³)A ïߨe·Y¢¿˜"‰:F&Kä¹ ú]Idk{“Ͳ,szrˆ5]QuÌÕšËñ9©# "𤢩*¢cd“8®Å7ßœEp÷Ö>“É ’ÁÂ&ŽÖ„L' 2"ììàH!ÓÑ”:Í:'''DAHè…¤dǶ1—kJEM“éõ/™¯C„„ȵ{÷iîì39?âųç(JI”±=sícûõB‘ýýmö®mñè½ûä i:§ÇœŸž! 1¹bš­-þú“O)ªÜ8¸F¯ÓÆ\Lˆ—q¼ J‘Õ’xîÕEE×öÈê:Ì|PC•éhŽ^.“ªðV+ )ÁiÇÄ ‘ÌRE…$ÃË3Æã1Žë#ÉÍ2QlÓÜÜÀœ.Dس½%™bǾâÂÏÌ©´ŠíÚdÒYÂ0æõáS*M’É š,"†k¦“!‹µÃÎÍ[ä’Mœ•Iä®ð쪪 H ÇçúÃéL•8°øþ>¤þø}̥˓oðÌ)Íb–سXØ„ˆ95 Ü=A(‰¿ú¯>¤ë«éLJo^`Y&õ*·oߦ\(ròæ5åJ‰r©@… ž>;ceÙÛÛc³ÞÀœNQ%‘ÞEÏvX-üÕ_þŒÝ½ öö·©Ôª¬›ñdŒ®%ØjnPÈlìî±v,×!›Mƒ‘Ê$iloÐÜܤ\É“Jf˜/,f‹5ãÑÏñÈfR TJ…«¢1ÓâíÒc·Øä×>ús9FË$Q•4ÕJ™­fÏu¨VK4› æœv»…¬©Wëôº=K‹R½Æå`Dsc›ûÒ9½ÀœÏÅÛY#>²Ç½G:Ÿa1ž "H%Ég3T UVY»¾c³è÷É9¶n졦2L‡sDGĎ第%ãñ‚0Œùà;ßâ?úU¶·7h4òÜ¿y€i-™Ï-=G6_AIêܽ›bÅàÑ;ïñþöoQ($9|õÓa‡T&‰žN1œÌiŸœà¬Ö$u¼‘áÉ“/h_ž£i2Y#KN‘‚Û\qy~gûTJuIg8^B\sMJKsëæ=’ a«Ë´7¤R*QÜÜãöýÔ7ġˠ}J£RB=~‡\© „HqÈt6g2_’HèFäÒ å ]g<™²Z¯q\]OR«V¨UË4ke–æ !霞`¯,”„FJLKÍ ºÎ`<Á ’™§§mŒB•J6…*ÁëׯFT››lomÙýV‹î›C9Ál¹dw‡ýM®_Ãò]þç'§?‘þÅ?þ‡{îš pØÜÚÀZZ|þË«1ÉóF£!KkI©\âþ½ëlmosyÙÆ1×3‚ÀÚ4Y™ fÃç''4ëu$] 7óôÙst=ÍFcI±V+¾üüs<É¡\ΓÑe|w F¤riÇa½^a­ÖXv€ãÆ8ë8ØÝ§¹¹‹ë ¨²L³^"Ž!£f!¸s}›ƒkÛ¬—r*·¶øéÿ1ÖbNìù<ùâ <סÝjqÙᬖ ‚lÏgiÛÌç ºí.’  %u.Ú-1fk{›‚QDQTZ­F9ÇF¹qÌp<&ŠBµKBùÖw?à¿þkÔ‹%¦£i#ÃÖÞùb‘Àö(å <þî nß¹ÉöÎ&él Û±XYSÎ/ÞpÙ9&cdÙ=¸Æöµ¾û>¾(03ª%Þûö;|øƒñí)æ¼O6«!+"q©Lžµ¢8­³3æóª&RªäÙÚnÒ¾lÓöIÅ2¯ß#²±·O*W¤¾»dyÕjqñô)©D†\¾‚ ,<׿Ê`'³i%IÔ'Ö‰Ý5›Õš"0 ™ÌæšH·sÆîV“z­A*[À ÎO.œäˆåÊÂ#+Ã(G!²,bÎG^À|¶¢×q~rÎzn’ÏHe 46ö˜›3,×Ũ5Ûr²€–ʳ˜Y̆Sö¶ôz—ÄqÄl¾àÅ“çL.{˜½‹~ŸJ¡Àîþ>ª– ×i³˜LXLç ‚ùü/OÏ"m.>VÛ;M$I Óé]±)D×ó¤+OM¡P T­P©Uðý!ŒH$¬Ì¢ Ð:=# îß½ËæFoŽŽxõºÅjí’Ô3HÒHD‘$¾÷ѯòèƒô.Z>ÿ†B.KBWèvÚWYFËdYZ>ëµm[” yÒ©$í6¥j Y–Ñ•˜ï}ïWÈäó ú—\Ûiðüù×,,‹ÞÙ9?ÿù×^€®蚆šÐ0Kv6wELpçÆmvwvIyî=|ˆ‘ËáÚ¹b†µ½& #V+‡È‹h6·Èe²¨²Ì³£—\¼=c±0É ÂÐ'v]² %¥pz|ŒžRÉ—Ë I,¦32É${»«ynl°¶m†£!kÛÂ\N©ÕŠ<|p›k{Û¬Ÿ„¦R(Wˆ$øêÉ—üÎ?øh4Ê8ö’ËÓפtðYšS ×ñ§X¦ƒ·\áy>^`³··M¹œgµ2DQ”ÐÕ[”6›¬£˜UP=Ø'³¿‹œË  1’ °°lÎæcjw¯sû¿B³˜Çwm66Tv¶Ñ$”á.§¬Ì‡oމDYŽpæsº­sT=E©Ñdn9TŠUÄbÑeíÚ¨É+ÜÍhl”±û*<µ·ÏÞæ‘m¡+ÕR‘•½&_2H§u&£!Q±0MŽð¼5paþDø—ÞŒ›5ÂȽ²i'²$5ƒ±y5#Š„G.“AK&åji™ÄAŒc!qL>—ƒÈÃõlYC–3…*íö£q#§3Ég –QŒäù8ó9wîܦÒlàøóé]T ŸCO¢LÙÈÑ(dD8¹ì3œ[,Æ6›e™TJbáDü«ßÿC~ã£÷¸yë:¦!D>oŽYÍ(R‚^§Ëp¸Â(&¹uë3gF°téœ_ò£ŸúÎÝñY±­5‘±^®9|ù–´–"°]<{Eµb@ìc&dîîÞÀ¶,Æ+“0ðØ)‘„˜T)‹ TÊU Ã@KêÌÌ9ž³F `6qzv†$ɆA>_Dˆ#’º†–ql‹e謰µ³ËËÃcþâ/~ÎóOÿ‹v‡ËvIŽI¦trù,——m†ý²¤¢'R¬W6ã±I¬Éç4td"B7 !i^H·ÛEÉhhù,¥J™F½‰DÉ$¹z¬,Ñ}~Äre³÷Þ#‘MëðíœAëí–'àù†aV%4!äՋ窛øR‚ÅhÄF>‡·¶Y÷?ü¢šÂ3çÌ: å$Z:E2›§;˜3èŽéw:\ß­²Ñ0He ´tžþ`ÆÚ\bÏ&ŒÇcVnD"mE0_š4÷wÙ½~ÀËož‘R¼úúêLeÒÈ¢Dçü1Šyøð>¨"ÃÅŒû’Ë–P¤€Éð’Õb‚Š»v9~ó1òø­O»‚ôO~ýÃG“1jRFÓR‚ŒžÌ’-•X­-¦“ ëõšt:Åjµb4žR(xðÁ{èé4³Å’Þ`@±T"àèøÕÚâ÷¿G&]ÄvBn\¿I±”Ãs-Œœïz´Z ¤P$´|³)g­s×&ö}ä8fì,QT•£î9“Y§/žÑö)7(tT5¢Z¯òù/¿ÆYPd™éÒ"À%™J1ËÕ #Ÿ¥T­1/Pd1ðm›/Þòå³g,4M¥T(ðøÃǤ39Þ¼>a<\M¥‘%‘Ùd€¹XSÙß!­éˆ¢H±^¢Q/S/乸xËd5CM§yûú Ÿþå'$“in=¼G ‡t[gÈÍí»ßæáƒÇÔë Z­6“É„ñhĸ?AŒEæË)‘ïsyÙ¦RÎ3 8üòKÂõšQ·K†Ì¦3J• ²,c.M ¢hdبU(ïÜ 7îñÃ_û±ïp~ò–´œ vB–£ !d>›à®-Ã)AB”8bÒﲎ˜ GL×&Žàsñæ'ö§8½KÒšH,+d³Y@ =Vó “É”{Þa45)¦ vMVs“É|ÎÁý»øB„ª@µc4á¸.SsªepœÈcÏ^0[/Y».‹å’‚‘Bæó’š @`½¼*ŠPÅ1Z³Ó,’Õ%Væ˜JµˆšÎ2Nxñ¼…ÙˆŠ€n$1ý5¶¡%ÒLG}–“!–ea®,®ßÀ·×x«%¿×6"üë߉55ª¨T*b<Ï¡qýßõY[à9.½n‡LJ¥Z­Ð¹|ÁÉù€bq›XRxúÍ—bŒ*'Iê9„¹ƒ‘”Y;3|I¢¸µÏak@·5$Èû·oP®V±CŸ³ÎÅR™€Ø³©WKì?~Ÿ?ú׿‡Të¨F…Ö`ÂýGytÿ‚çqvô Ï¿ú YÊðÉß¼à‡?øF*â›/ÿ)H³q½J"äìí”q×D|2y•J£N:•ÇqlVë%§§Øël6Ëoþý¡'E¬…Éh¹¼JBQ4•ÉxÁt:AVdr9ƒ‡Ól69oò‹¿þ„×/ß²¶WÜ»Ÿ¤¦ã®mˆnß¼N6a{obµ€Qαs}Y•p|‡l!O*gðâù7ˆÄW¾ŸÅ”ûwoÑl”ù“?þ#Æ“ÍÕZ‰j½ÌùÅËÕ#—áìü*x>Ëa—åtÆ¿ù~†Jüãô“I‰¼9zÅë/YÌæèºFè» =z.ÎÏ?{†m™TŒÙdŠb¡J6oP«—ˆÃ£WoÑ%‘Jµ€(DÈ"ô.§¼=µðÅ'ŠI–·då˜b„_eJön×ØÚ«àûñUBóC¿Û¥R©‘LåГeÎN‡ÙCsÊÁí;ìÝ~Häù‘¤é$’9Ö–Ét6%¡j\vÚÈ’Ì;÷ '„QÈÆvÛqè´;(ªN._$Œc¬õš³ós¢¤(&“ÔˆC›år†¨Ht{c–+—w½ËÒ\Òï÷Ȧ“” 3s–-PÝÜ!°Æ(ºF2“£-#ÆJB¥Ü¨’ÌêüÁùà'Ò?¼¹õq&“ÁÈgÐtåo»RgÈbUQ=Ÿ(ðQT™b1O*¥£j £‰‰íÆÔê[4·vÂÏñ¹ìôhµ®àï7÷ Åùr‰Qª²µ¹ƒFÄ¡KBi_¶é_¶Y/WŒúC{M¬‡o{D^@ÁÈ!É2ùbN«ÅdاœMq­¹O¹Za²Xbš.™tŽÛ7vH¥ufÖ9ÎrãÞz.…šÐ0rid% –k—õÒ"\ß&ðCÊå*ºždnNek{»l67é÷z¬–+f“»[;4êu4MCPDê[5¼Ða¾š“Ê¥)–KÌWkÎ;t-‹í†^Èb2gÔ’Ôu …ªž ›JÑë¶9|ý$°m‹á¸OµREOª OÏI`;_~}Êãï°Z iŸ¿&©ÉÌçs¶·¶¸úx[[Krƒõ*`2´ØiÑpV¹\ dz9}ûšÞå%Žå‘Ogˆc×uHH";;Û|÷{ï²µ¿”Ù¨äØØÚÀ|”LšÆö.SÓ$ˆ"r‚FÝ —I“PdY&¡&˜Ï×Ä‚Æd¶&Š%ʵaè! –kŸ´‘#ŒD ¹4A`.æ¬æ ºí®ëÐØ¨³vÖ,Ìa# é)TMG”Y"¡k¤)æÓ ³QYöI¥²¹<Ó¹ÅÂt©UKLæcÇÁó\TE!•1Ø9¸‰Q­SÔææŠÃã·¡„¦¥ñÈL!Ëp>໋ŸHÿàÖÖÇåÒ=|×ÃY;Än„,‰XË“Ɉ p©oÔ¨Ö«ä ƒ‡ï} Ïóx{zBùœžž"K"|ûÛT+>üö»lmÔô»|òóg´[çÄ~D.›Æ loA¥RDF$p<â0 —/"$$Ö®Çzá[K4IdARP´©¤†k­yóõ Jõ2ÕæÏžqrtÊý{…<‚¬sçú-š L{AÅQÈtÒGOfØÝ»‹ª¨¤3a†!vÏ?ÂewLµj ëIæ’r¹‚ˆÀb1§}ÑâÙÓg|öù ŽŽOô.ét #—Å"Z.F±Èþ½©oî£*iv7èvúÓh\I›'oOùæ›ds %Á½û¸s÷ÏŸ=G’Î_ùÊU†Áqm¢0FE®Ü@õmCiãÿëÿô|ÿW¾ƒ9=áòø„J&KéZEN²4mÂ0Ķ-Z­!qž/rPÑÑR"KËa0ðqx÷ýM6¶ëŸth].ñ\›BJG"s‹0‚ȇͦJsû€J£Æq«Åbµ$ b|ÛG2¥:ɤŽ"ÃÏ~ö)1P¬4w¶Ñ’I‚…E6å1êµ)V¸ýþw›ËÓ·õ<ž0ìõöú¨²BàùxK¹V¥T)ãÛK,Ëáæhz†ÞhBsg—µcsr~F5]àâôŒÐ³qí Í ÙB‘§ÏŽyÿ[?ÀòøaÀÒ´XÍV,§+òù"J.ÍÔ^‘ mvwšH²LB˲´ŽNO¹v}z£Dá¿øïáßþ½wbˆÈç‹È$(•J,Ì«•I¡`P(æñ£·Ç'´Û—,M‹„’bsgƒñtÀ»·I% ÞŸóòù 4=>™CDMàÚõ›¸NÄÚñS2q"¢\Èø1'oÎе4’tÕ@—Îe¯.j,Ëê”ÊýÙ‚ÿûÏ>ç½o¿ÃÁÎO¿ü‚B’o&ùèÇ?æûßÿ-›µ&÷ï4Qå¿úé/ #›…;£¶µC£¼ËÅÑÖ|ÈýïÒÜ|@:+1]òöô|¾ÀÚ ÑÔ,•z…ŸýìO %‰»[Z–P$ºí¥REÖ±Ý] ¨–KD‹ë¬étZd<»ûûÌ&Q=ËþÎ.ƒV‹i@FU1§VË{{{¤Ó[¡§tªÈéé[/¤Y«“ÔRXë9Ãõ'Pùâç¯ùíÿà¬V-.Þ¼¥‘ßÁU§Øë€ùÔ¦R«R­•@ñ\׉í)ýù% dQFct=¤¹[§¾¹K¶²Ã‹§Ï˜õGø®‹íYdÓ:bè‘Õ4’ŧgmÎ;+:d Q”1gjBÇWr̦ÔDLàA*• ™Ê°µ»E¾”C°§Lú§Ø‹Ã1hy™÷>x%xòé >üõE‘óósºKdE$“É D1ÉdQŠƒ˜£P$#ö®ÐÜj²XÌwûˆ‚‚9]p~~‚‘OR,å9½èQ­4I³(ª‚$I ZCV EQ¹´(4ËìÖ+d“:žçaÚƒéŠËј{÷nóÝ>@øÿJ~÷»?>8Ø#ŠCdEBRDˆ#ºÃ1gçLºý£ÑˆÓÓ3Ì……ç$É0ôq]UÕh·$“9Ôê V³5¡"° <:ÝQæÌÄöÖÔš5äX`0˜ §²˜K‹¹i’ÊdY¯V\œµØ»q€QÈ‘ÌjˆªÊIë”0Š©•JxKMÕÙ;¨0_Nxòõ²…2Ãá9¯Ÿ}…oÚ(ZMO!Iiz óá„dB@ˆc9ã[߸ΔþÅ„óK®,áø/ã+ï7>û옔SbÍ"_ûúÇŒÇcÙb>sùüóÇlm·ÐM×óÈB­-ú×=–öš|¡BwoIW)–óT “ñ0‰˜/ç¬ÖkÒÑ'ô)·Û,+й:mÄÄbkS¥¸QÁumz=d1½9µSp³!ñyýü˜çýÿâŸÿ‘;`ê{H¥<9m“`>B öY,\õψÓQ)UšT‹EÝ+7BOówt–‹KloF¯×ƒÄFJu„$feû W1ë4 ¢+Üûp‹»·î3L„?vøÍßþbm“­wÐÊ!i´"pˆºËÃnQkåùÁÿ=+{@œ¤ «LVs¼µËöV+磫eÚíRlT ˆr½Ž‘/ Æ1ï? "Š››ç½ ¡ˆå|Ž4 ùòן‘¦1FÙÄ]yTË[ìîpyuBš…¨²HûÌ>K{v3Ð)äY÷–x¶Íz! ˥ʽÃCÏæäí9ÝD¦Òéb{>²Üà@ÿüÛïf®·¤Z. k óùœÐWèz‰×Ç—¬<¨Õ%w÷q‹©Íþ—¿Oèûœ¾ú*ýáÏGÇøK‘·o.(Zß¹»Z3N0ÍЬ±spÈ˗Ϲî]!‹P(˜”Ëeµ:ƒÁ€áõ€æfž½[·ÓŒB©‚ïû, NOO¹{»"êøëˆF¥‚¦ Æ=ü0$ŒRVË{‘%EMùìóOIâ”wîP(‰#Ÿ|AÃÊ›œœÑÞÜ&LDÌ\‰ÿ“_²èø—ôGä, ½`‘©'ǧ ,Ö3”,Â]NÑ/UÖÙno ‹ëx‚Q”•0Ö™MæŒûoÉÜ%3ˆ-•ý[‡”›m¦sŸÁpÍãÇO ¼%ÝnnÁ%Ff2]CœSÞ½'¹`ŸAb”龃i(¨‘KÁÌñW?þ‚‹qB¹”"¤’ ±¶çH2¼ÿÁûJMâø&A[¨$ô¯®ñ]Ÿv³‚½Ž¸¾³³W£Ù¬ã‡®!É:År™åjŽ8Øö M0H]—{·o³öWè…WW=æƒÝz‡ NX83Þyÿ>†UàújÌóg¯¨– ¤™ñšòFMÍ3½š#I§ó9£Ùœ¾Ïoþ鿤ÿx¿ñÝÞÕ%—×DAÈ||xUŒyñâ TëÓɈõrÍåËcüù‚œ$£‹Y”ñù/_röö-[Í&åV™Aï’ÅdÁz¸d5™¢ A0¯‘C›YoHl‡$Xt*9noo²×jb; F£%Šš§V®‘3, Ý`íF¬ÑI%?MÙÞi3¸®f,C$3LÃ" <£k>ÿÕc^|ù‚—ϿĴLZíùb™ÕÚã~ö?úÅ ûçøÎšN³ÎîÎ6ÕF­½[Tšmýò§¢È;wn#ç'ç,¦ ²8e½œ1s'7Œ#Ï2ö÷wétšÌæc.OŽQªrµËɘñuŸ¥»Ä'ÄTz—+¶7»YÆpÐÇ´,¬B‘0‰IHqœV…ƒ[»lmo!ˆ"×½k¦‹A²žL…‰årÍlº gYò9öwöd!•1íN‹Z­Œ¢Šø¡ëø¬V+ªÕûûÛXy‰z³Æd²äÅ‹7T+uâ$AUU S#ð]¢0"‰DAb2™òøÕ˜£Ý ªÛ²vg8¶ JôÎ/‰‰;ïÑl7I¥PDÍ›Ì×sš›-êõ*Ãþ£óÓëöbMF@®T¤ÕÝÆÞ¾r9?3]b¯Þ) (X½Á ÏÏ0­2‘" Y’‘ˆŠfÐ*6@QÑòÕjÈó9~{Jžã³nè£dø¾»& BTɤ\,SÎ[¸Îwm#I«õY2‰S‘Åj‚()$iÆ;wñ]H)æ 8k›N»Mà9ˆ²Æ`4Ç bÆ“9ªUà软ðÑïþ¨’qþúž½¼YS„!2=G¦FxQ„"«´šMR1%ÈB6·;DQÈÿþää{Ÿ~ØÌrùåý»]öºE¢Øaí,l2…£ƒ[ øâÓŸ“7%ÚÝ-ŒRQ¾Ù–KIŒ7a˜ÉMËÈ—òjH"@œé¬'=&ãE“U ÓT1-0ôEg–’+U©6šd‘.%¸ö‚ZwQË‘Od"¦ë9çgo‰ý€QÏeëÖ!O_Ÿ±X‡(2lwZT‹:ž;'C|/#‰dªZ[£Vß Pls|~L°Â÷aï¨ IЉär9ìÕ MÓÐ-4Ë(óXšLcãA6YL—¼yû Ù4iÞG«µIÖCN?û9 )fÜ¿ Q5$­‘€g¤–‹¦Z ‡cvwwiouøÁßÿ˜™{ï¼ÏWþäÿ¤ÿâÞÖw£$!ŒabÛÄÓ§ÏQUf«ÍéË#ÖnÆÑÖ½÷Ýí;ímJ%BÁ`:pòö•JžrÅb±žày+¢`M¿×çë¿ùuTÕàôô‚ã#Z­¢$ÑînÐÜÜDÏ‘D/òi¶ZÈšÈùÅ ²,ÓlnâzƒAŸ ð%0u!“HÒŒÐq<IIÈ2IÉ¡h÷Üa0óúÍ)?ø _ÿÊ‹Ókž¾¹à“'—|ûëøàá]v¶YÍ\ž=?çöi6699>åËÏŸÚ.RRÊØÚܦ`‰}ŸÁå%®—$>ªeðàãØ¿sˆ;èfŽ»wbZTº;[ÔjuT=G®PYÄ}ì¹ ’@w«ËxÔÃ^MÈY*‰˜âG’3÷xùú5'o<;Âq µÙâw~÷›ìì * ­6Ý&d1YšÑ¨uhµºlmÕÈ„«Ë!oOzÌf 2tdÕäÎýz×CdYaÔï!‹Š,3hµÛÌfsJÅ?ûå'Ä™„¨($YÆÒuÙºuDo2ÂRDÍí­ª,Rï´qƒÕÜf:±X (™%ršÅ'Ÿüœ4õùøƒ÷1U‹ã7çüùÙø{Â× óÈ$ˆ /ÌÈ*h¶OšÅ´jU,Ë¢¯ Ë2¯Oß0›M(™uã|üIxùò9ÅRžf½E³ÙÄÎ3Ÿ,ð¦ƒÑï=Ävm¦³ši`Z:gççTŒÃŒ‚ÉàìŒÕxFµÙbºZqtpDµ ÓɈQïM©ÖJHŠÈîî.Qš°/ð¼Ó³“éšZµ‰ Kô‡7^nEY;ö:àÖÁ*• ž=# ªÕ µF˜Ç[à.› l¾D¹˜J†HL,«$’L¼¶ “7L˜Œ|Â@ffÇìí•Ø½Õ"“Ö ›Z©ÌÖFƒùlÀë×oIcÇMè4*”«*ËuÈpä’°rbzý%õ–ÀþþEÓÂY.È[Q¢êÍ šn¡è’jÏ—ùÁL¾\¤Ö®c% çÏÑ©˜˜ºA¥Ó%NÎO/Â7’yGôæ=Æó­f›j}‡O¾xÿúé#Aú¯¾y÷»ÝíM4Ý bTIÃÔuŠ–‚$JŒ3Ž/ÇØó1²"ã ÓÙšN§JµQá³Ï_°vW|å«_£Ý¨‘†ý«Aæä¼ÇÉ0B‘ Én¾•Dˆ¼/N <ŸþÙ ‚]R(æTœõŒgOßbÏoj»†¡à9KD)¡Ñ(³v—èºÌ½‡¿Aµ˜§”7±ƒ£Q)ˆXÌæHyƒj!G§Ý¦Ón±ÕéPÊçyùü—gç,gst%Ï'¿ø5³©C£Þ! â8&—³°,bÁ‚Dä½ï#d?úë¿âìø˜­N {1Å V+‡J­ÎÁÁžçryz„B§Ñ%_Î! :¥rŒ„0Ìnœ²Jot¤›´Zþößÿ€å|ÉW>xŸ¯õcÜ=`r}No0£`ªDÁÃÒ©Ô›”ª5º[mní²õà.;[˜E“«QŸX–XG>nàR(Y|ðßǵg¼yö%×ÇgØó9"iœ2Ÿ¬™L¦øž‡»¶‘%]‘PUY’Q5Y’0s¥ºüÚEYc¾rDƒ—/Æ\_GtÚ&ßúíß¡ÖìÅ.ï>¼E±,⻺ª%1²$P,(Y;1ùB /ôøòÅ9§×’˜¢(yêõÕzŽr¥ÆÖV{± ^.á¬×¨š†¢¨VE4qÝ%ÍN…ÎÝ#H²4AÇßœަˆ±Ëåù1õvÇe•b¡RŠU´pW>’dÐÙÛbjOyóú-wÞùˆBcÿù¿úžôO[úwÓ,#KdAáúbD„”JúÍÛ¹Ò¤–ËA±´—èfžû÷?D©ˆ4ºtv»t5™WÇ/8¿:&H\žœŽé# 9“ÍíCÖv„"k45d!¥^ï²³±ÁèºOæƒ&JÄáŠÙ¸OàD´[gI:ܽ{ Aʰò®ç/ZüõÆéógL'Wh%¼¥a¦–erï«ñä×xôù# Mc¹˜¡«†®sqr‰,I¿¾@U 45ÇÕå€Ñ|E«YÇ4UI §ÈxŽÇÉë3~õóÏÐ$%KYM†,§S 2­Î&ºn±^ÛèšJ½R¥d(jLfcŽçQ®)U5ÚÄ´ˆ¥ç3…årc ‡Kl'£\Þàøô„ÞpÂr ›­GwÞ¡P(Ñno¤.›[èšÂðúÒÏuA©7›¼÷Á,çah³\Žyòè׌—+¶ÚdΈÅÕ+âÙš£Û» ÆCêí ‚rV+oáG£+9FÓ‰!qï½wXÛ>‹UŠhTù_>ùÕ÷„¿øÎW²4rY-çd’I –»É¢GÉŒi•|'D1š¤bÃ4)U -Äñ>ýü''=‚$!'ŠH¤l¶JøF•õ|NÞPÙØîPª™Ï§L.{(‰ˆ¨¸]cª ½ƒ•Óè­G¼9;& LA¦ÑêÐînóäé3r‹z³Ä“ÇOÙÙ®Qëìa¯\ü¥ËF»nȆƫ“+JÕ9àôø5iäP)Z̧cŽŽî§"_>}F(·óh…k– œ¼|–%´E"É"I2æ«%²,# Å>ï H"‘¡¢bI³Õš\½Ä7ë7XN ÏéÛ*›{->øø>¹\‘ÉÒG.æ2ŸÿûÏþ _üpÀï|ûcoo" ÉMo&n¨‹Ý6Ÿ¼¾âϾÿCr2|ð°ÆûŽØßºM­Ù"Ll q›µ=çû7Ь*ìlíbYìP«æ¸óî=0tF³ǯOð§Klu7I„ˆT6ÑT1ISß 8=¹àâô]7Ùß4Pô"×ý r’KÂ8ÁlÈ7›Œ"’1è_°»Û¤VÖ Ý€4Ô(uìpÁÛó>½áŠB.·^±··M¦¨\Oç(‰ÆÊXØ+v¶º”ó9’8à¢N,¥$£)nqçþ!©(†®£K†¦SiæÙÞÞfµZq}}¢(A€(ŠL&ÔÔ¢Ù.ðèËOiotƒ U³(‹twº¸k›éhIµÜàêê‚Z»L¦ŠŒæ»ïpë{"¿þã–ͦcúýkô|©¸AiãÈŸâÎÏÑâ㫲\âý¾q›õ©ì¶øâÑs¾ÿ&  Ïv)˜ ”ë„HÿHIUÀõcÈI:ý-ÕWÏž³XO9üè!‚"“x~H¹Zg0œ°t\’4"ŽŠEßw¨ÔºdIFà…, æ‹)åj‘µí2G|õãYÌåÙ)f•ùtŠa˜¦I–ehzžLбƒ5¢¤  C”QÊäL…‘0Ÿ-QU• p– Jy’KS®W¨™‚&š¨šI­Ûâ|p¥ÉÔËEŠ<}öAËex.»›{Û!ß{Êzçˆo}ëcF“366›èZÇöY¬–\__Qm–©VöøÉO>a6ïsx¸Ã¼×go»ÂïoáY˜¦F:”‹5b7epÙçâô ÎjFµ•£¶±bå‘D•³·Ç,Çc„$agg‹ÅjI¥‚ˆ$)ˆ‚Š$ɬk./®ÉY«üaU!AË|ªU Q‘ñ¸>»¢Z­Ñé´QÔ ?X³X,ÐÔµJ—«‹çÌhlRª5\]P+çi¶ZLKæW+ŠÕ ¯OOYM礎O¸”ëeî¿ÿ.½çÏpBÝÛûy“ùrùÔ+uŠùŸýìïX­V”J%vvvèõzôzCöö¶‘eÏVxsú’Ûw»|ç;ßáõ›cFã9Iqx¸G>_äìôšœ™çÙ³§ ¥ÔÛ-.úSJå6ôýŸ Òûñè»§Ç'ˆ¢@Î*à‡N—|Y§V2^ž‡>–e1\óŧ?c=ﱈ†£1kgÅF»E–eˆdID¹˜£\¶(å4ò¦ŠU0©ÔÊäŠE"/d<søÎC¶ºX†ÂxtRÆÆá>± óöÍý×oL¦s>øðCZ­qÒjµözxvÀh0$#úƒ9+¤TÀÐUn´™;××=– Ÿ4Í(Wê´66¸ut #gÒ_°\Oq%$)Šp£_ðÀ$Kyy|ŒEØë5f]×HâˆJ±ÀjµÄOD&C—Àñèt¶¸¼"©ï'ð@Àuº›]LÉ`4D1aœá¦1%]ag³Áñ`ÈEÏ%‰ápÿ,£€j­‚ï{HºAÆT‹ Å$ …›å\óèÉv6;” %r¹†®§1aP©WÙÞ½ÃV§ƒç¸œœÑª×øÚ×>f½^P­U1óyî½wD»iQ«–Ù{ø1ùégüÖï~ÿä¾ì®xðÞ$EÀöl4Ýb±\£i ®·f<²9;¹äåã邼!±r2J9YÐåx„½œb¯VT«5þÆÇ´v©×Ë´ª%,ÃD•Â$Á,—(Vª^È˧ω3 Ý(Q,µ0reÖ^Â|åsSd3 D‘b¥D§ÛA5tDQ‚L@$¢8a<Ž9¹œqy>FSÚƒQdz©çrÜ¿ÿ'¯®øÉþŽ—¾„8Q@Ðd6;›\ô®q£EÓi4tºÛ¨9‹X•IDöF‡ÅjÁ¨ß§RÌ£ "g¯9;¤Î?†-e ¥"Ív‹j½ÆÊ^3[ÌÉLÂxÅj5¥R© ç—˜†IûŒ†cÒ4%I"Ê•2¦‘Ãv\ Åw}þõÓ·ßþk“,§+«5»Y¢Å<üö!‹A9ÙÜÜbiG$©È¨?À_Ú5…0Î@Ôˆb‘4‚z¹‚œ Èd7; ¯¯nt¼‚ÀÈ^ã %«D^ÍSÌb¦Þ]ƒfÇ÷øôÍ;„z.Ïf>Âö"ÍM’LbíØø¾‹ëØT«:Õ&qsÑë³vb²XA2b^¤f,fKTrfŽålF’d4Zqâ3e˜*h”¬[Ý]Â8¢7¼¦P6ðæ.íÎ&’¦bóȺLšÞØu«Õ2÷·ŸÐ¿ž`*`Ê µR‘8‹‰Å˜ó+›ÍZSñ ñd‰·+Þ;Üâkïß!Œçr8ÞÙ™Û+'!o˜Ï§Ä¡KŠFŬ¢ˆ/_?ãÕɘ0„ïnP/§ÌÎk9ÌŠ‰QÌãFÈ:£ñ˜ñd@»Þàýï“ 0sŒj…£;wùåO~ÁäüšRcëFÖܨnݺ…ªk ‡C^½z…âx¤$è¹<’¦2šLX/—ù4+%ί® Õxõâ„bÑ¢Ö°È2›ýƒ.qS+×x÷£o1›E\^yñôaâòðkïsøà—¯O™®×(fŽ0L‰¼gµærØÇŽvõ"qè"É1ªš¢«"Q ›[?c½^#Ë2•JMÓ¨×ë„aˆçyLf—¬V3ü F–d,£Âb±¦^¯Qȩ̖+\ß!Šc\7d£»ÍÞîi žëóí?ÿ© ü÷ÝL“DäÄ'^-Iã˜Fk“¬!Çš 7 ¬lŸ“×§¬§1»­ÆaùrÅÊõ ƒ˜|¾HÑÌ#D1±0‹dA¤R©ÐÙîâ$ ¶R±*ˆQÆìüÅv…œ®ðèç¿d4 Q+A¦PÒËL‡(† ‚•0œ.IK,2Èå$’²LÂwCtY¤\4XÌ(èqJµ\aÔ@ †qc%µ,ƒ0ÌQ,™ä £ÑˆQDš¦H2È ƒýƒCž ²DD bB½QA2Ä@%`:Ÿ ¦ºxƒô)–‹h9“õ™ÍO^¾¡GF üñ~ƒ{íÞrÊÂYcÏ\îà¥a*Ë×Ib\_0ì_r=ì“׋lnì“éO¯8{{Îû{eÚ1Ù$ÌָъÝýÒLÂqlÛf¹˜ÓÞÚ¢µÑA·L¤œA{wfk“Ë“K“9¥V‰årŽ(ŠdY†ç¬ Ãv»MEô^^bê¦ib䋪 ˆ¤‘G»Q³_ IDATåÕé ³ñšO_ÓiVP”ˆ«ó—T+Zõ‰ª`TÚ”7÷iml¸k&ƒ>–e±X:lÖ*¬‚'LÈåKXFY–Ñ z©Àø_ÿ‹ù]‰ÒM•Ð5ƒá`Ž®$™CšÞô¢èF€Óét°m›~¿O–9@Šad©Lˆ\œ÷ØÚîP«‘3‰•?§Öj`û!a("‰qœ`šßþw?äbÉ`g²¥ñö˧̧SR5CôNßž¡"“$7'°³Û ´]Ο½¡ÙnS¯ÔÉ‹Àt4$v<’8äèÎ’(æòü”Ï?{Š^–èní‘™+ ZŽÖ~-o1ŽY:!íN•ï’2Ñ:`pý%—½)~í¥Öë%f>Ï`¶F“À dQ$òBêUãæÄ˜;¤$  ˆT›Ûû]†½¾ŸHV¥Ît4ÄÐËdÅ ­n‹bµÂ¤?ÆYLÑð’ˆO=& CáÖч·vö¯X̧ìllSÙî²{ï÷Y¹.×g=V³5ßÿþ_ µH@,ê|tçß|ÿ=rá‚ýý_S­Vh7Ûl6rœ¼|I¬ˆä*U^>?ãÕËsŠ9™Ív“í.‰Ÿku Ó<)P)7)ˆ¶£`ªEÄT@RT?f2žS©ThÔryÈ@µ RUFW×líí³¹#0ŸÐlÖ‘„Œ~ïšÈs˜GÈ¡K½^'ßjðæÙ‚å’|¾ˆY¬Òhµ¥ˆÓÕÝÝ} MãõË/YØcÕv‹È(–:4öZŒlAŽ˜/¯â,vXŒâDââôQ×Èsùâí)®í°u°ÃÎÑ÷?z@9o°ž ¸>}ƒ¥k,—6¯_~È4òÿ?\‰¢\$ ®/S.åЕ<õz“É`Îh˜R*®Ib¢j¡[2J™n2™ûœœö˜Ï稖qYÿ?èf{‡wXÌǸ‹·nÝb81Ñc:˜¢ë:Û£ÖÊ1·mb ìß¿GµQçõñ[¢4Á^-HØ£º N{j¥2²(0œ¨o´™Í<úä ?|—?üã?ä“ÇùË?ÿ`íV“·Ã!AJ íº‚jäX¬<âDİЄaIŒié´·«DnÌð¢Ïr²æý‡Û,í5³¥ÏtêRÍ—X,t]²”Z­ïEL&sº; DMdîÎ-bŠºE£\ ltï¡ë&ý~Ÿ‹³szWׄX4ë:G·k%&BÊ`i#f:O¾xÉtfÓÝÚåV^â¿ýuˆm>ùÕ§ ú3ZÕ…œ‚-¸zÝgêdÈ9øê7A¶½„õb‚.Ã"’ÈËκ‡h ¨å.?ÿ_ŽgìT$œyB}Ã@ÉCµÕ@Ö Ÿ^ÓnmR­•YŸòíÿè0ÛUŽ/ÏI¢ ]Ë#j9]Nž=Â÷¶66©Ôjø|ñÉ/Y.fTKeüzœ««Kj¥2g—}Ž/NhÖ,D\Û{´š[(’ÆÉÉ1öjFÎÌ£kyÊ…&ù†„¬[è–É›—Ϙ÷û´›D)Ocó€ÕzÈ|½d²Xa©&ËñM‘©Ö«t¶‰‰—/SÊ«tÚ5‚ ÀS®ú3A'ž®ëË¥ãÀæ¦ÉrérÜEIMI’°Ý„÷T+:o_ÐØ0 *í=ò•MŠå«Õ ALyð?ü™ üø_}; CIo±f6qu<`nC¹"!e †©`èçg å²dà8}ªÍ™.!*² ¬<–ÃíJ‡«é‘Û·océçÇoÈŠŽ“­zŽ÷ïðwïQ7 ~ýè'Œgsš­a ’¨"‰:O=Åq<êí íNÕ2ÐMÙl†½ZS/—X/W4š5ôb‘Þ`Âz¼¦ÝÜ P«ðþF³˜£Ùî ÈÎjL­¨×kÔšmÖn ¢‚7Ÿ³½½Íáû¬²òjÎ$g¬'3Îß¼àõÓ/øÚGbKx© ’ʨE´^Y¹r ÇYÍçTó:•BŽ…íПÎ) †)óòÅS zo`ê:·ß9¢X2pÇ^Q­VÉç->ùäSú—CîܹK>_¤yw“r¹…3sùâ³G .¯! H"—ýƒ.ÅÆº,±šM°tßwˆ³QW¹î÷8yù%Õ‘c…«ëKnÝÛ%œ•Ãl´d´Š‘25“o°@1T›2¹ŠÎF·BÇse¨T 4U`e¯ÑJuÎ þó¾ä$(äLÒ(D)æ]‡Îne“¤{ ‡=f‹›ÛeRA£ßRΗØÜØ%’3®ל÷ûh‚„!É,—+Þùð!û5.ÆÏ!œ芌©f\œ>b¹ðˆ£%ñO`»¨-)IYOôG¬Æ†áúšDÒøú7¿nüòg?b9 Ð [*eCÇ]œeˆ=_2  @³d±W/¢ ~3¼CšÐ¬µ-&јL€ÉÌ&‰"T ´œÈÚöˆ²]ÓÈ[*_ùøë´661 åôf#}ryÌ|³Ù‚Ù| bF©RÂ2!¡Þ®9N¦ ’¬°»½ÍÁÞI> Ob÷èY—é_ X gX²F³^&Œ×r0’9;#‰ÍZK•‘3ˆü7(è š”PmT‘t‰…½ ]«%÷nß¡Újáxç'„~BkâÒÜÀBdRj–ŠøL–s›ÙdEä;Žƒ Ë̦ U“‘™F£D¹\$—/ðîÃÛŒG=r†ÊîV“N½ˆ½ê#à › j°\R1eL]Ʊg¼~þS³€U”âº>ËÅŠR±@ÎÊ!ŠûûÛí#‰)AàÑn71tÀs†¤iL¹Td9šðì¿fr=B7Lšµ*Ó‹K&×cîÞ»Cš†ÌSTYESMNާô¯'YŒ"Ëj€ë¹Œ&“1îÚáùoøì'oH×î>|—v³Ál:f£Û¥ÞÞ@3t®®Îyóö9õÒùb Y±ƒ€É°¦êäòE^¼y‹çÙÔuµ®' žëb*‹À§»½I¡T@”DÒ,¥?0_¬e‰b½†øDÔ7›Ä2ÔºȹË0a8¼DÓTD:Û]HæÓ1ýó+tQ¦Øªbj:ª¨°ÑÝ “2À²LÖ«5ó¥Kœ$˜9‹TÈp|U³„4¨ìÜB•ap}ÎÆæ6wß'Ê4¢0£Um𯟼ýžôŸÝj~·qF¿wø47Ú„iJ»¹ÁþáÝ͇h†Ál¾@ÒTúƒ!õr öi4êTë*奼HB«]FÑ5\BD)o¢ˆù¼ŠžW.F¼z»b>·Y Ê"®w>ÛØÜ¤Z«Q¬”ÙÚnP¨jHjD{£Îþn—, Y-GÌV1O^¼e½\S*‰”òn2Y¸x‰„à¨()TKE67»ˆRJ1¯‘Ï)$2ˆ²Ag£É;÷oQªäy÷Álv6‰c‡ÕrÈbº¤]+þ,½É¯mišŸõ¬¾Ýk÷ÝioßÆÍŒˆÌÊ̪¬¢ #YØ.bˆG çì¾Y}¿ƒSÃZúô}ïï÷>yr~òo·æð`Œ(VÌ7´: ,Gc¾]Ô…$Q99²dÇ BuU’fq²sWx¡KÓ´%Qf«Éƒû÷9>>¢( –Û ¦ÓÂévÝ9`t8¦ÝmóÕÛWøIN‘ìÈ’Œ<¯0 §a¡*‚xKÅ7ÌëÙ–¶Ù¦ß±˜m‰¼]¹’¹œMȲ„·ïÞp=›Æ)q¡ë2ÃQþþn6kâªàÎÃ{¨ºÌ6Ü ¢©#*5’,0_,˜o6Üyü˜ÃûwÙz+Þ¼ùšáhă{÷I¢ˆíj X†E«Ù&ôî>~ÌøøÛÑq#—Áþ$•éÚ¥4¬"fÐiãù[¶Û5I#IÃÁˆ¬(˜nˆU©ëxžÇäæ $‘ý½}.ÎϸžºuIQ•u…¬IØºŽ©kh¢‚Ýqøµï~Ìzµfëy&²f%Aó¼>û\ø'÷ÕºÓtˆó˜ù:dïxL\ {ÔE͇“3VsŸ¦cÐîuéôºUIÆt¶ Ñn!k*iìc™ªTºtC`éz|ûÓÐn·ùðî-£aÑ2ù—ÿúÏñ<™‡ž¡(¾»f»™¢©Ð´šÈ’FUŠ eDÙ†Í:Ä6TLÕa¹\E µlv~ÀxÐC*B4Ab¶Šqã[„{{mZ–Áj±&¯$’,E®K4 zw‡¨Š…¬©h¦ÀÉ»÷È‚‚¡é´[ªœy—ç{#‹££;ØM›÷NYo× Æ”YL‘Åìßy€Ó?DÓ-NÞ¾æ`Ø" ª"çòüŒº,nábºÌhoHœ¦4ÍWW7Ìf3lÛF’UZÝ §IG(’L­Ùl¶>Qàsx4ÂtLþÍý£ö>G#ª‚º’no¢„$YŠ(@AÂz6c~5%.ÀnÛèv“Åtƒ¿‰ 8ºkp|ÿ€O>þÃá«ÕмŒiõ Ú|ùú$ÑhÄѨ‡¢ ÈN“ÍzË—?ýKÇ#¤Z bjÅÀ04†-ƒ”þÿüÇÇÇ|÷×>%Œ"v;E3pÝITØm6(ºÌÞaE‘ ÓCï`]¦³ Ùê=íA‡f¯I’ÅìsurŠ·ØòþÍ[hÈa†)ëX–'?¸‡¡*üñ~„Êh¦fضMú,¯¯Ñ걬ԌïýæIk89?£à“_ûf³Ýìqøßü÷‚ôFêgš®Ój¶1 IPÐd½¡& ¾ "?¥×PSóôùŠ4âêæšÕfMG(ŠŒ¦*u‰ ‚®htZ¼{?åÇü+Š´"Šþâ¯^1]–¤qEùtZmž?Ì£'w9<Þ§¨æ+—"…´ÊIª‚‘*•™]»PÊ<{ö”oÿúw05~»‹®¨8Iš±ó"l»ÅÞ¾Š¢ÔxÞŽ8«( ?.©*Y®=¾ýí'H|ýÕ[â  Õ2 Ê© ‘nË!M ÖëUUH³’³—ì6B%Q¦–¬`É2EZSd2ýΫ錷/¿4UGDʼ¼´Õ ÊI‘ú!ý^^¯ã´@ï Û ¢4%ñDÕb4:DÊ+Ê,âõ»7,¯#™K§cÑ iv:Hª‚¤ªVƒ››%?þÉÏéíµ”EFœE´m¢¼;!p,E†4âæòœÈÛaÛ îŒˆ6.þjwks cŠ,§cjØ"üÉŸÿ;./.0L“ÀY­7Ø&E^áún‹;÷ŽÄŠn¿CEã8øž‹¦×”UÁÁÁ˜2IøéŸÿ9ñ·¢`o8Æìv (‘ÕzK^IøÑmU¨,3ší=ô¿¥àWeEÅ„A„ ÈxqÊqßÀtZ‚Êj»c³YñàÞ]ñã”ÿùO~ú¹¼ÞƤENRæ$~ŒŒÂþÞŠj° w´mFèt:È ¸AÉW_þ”_ýâœ"‡†­’F5¹*°MtMäá£ûhªÍ/¿zÅl¶C•5–Ó„ËÉjTIÅV Ò]ÄW?ÿ‚Ó×_ k üíÞ‡m÷!ôPÚ*ý½c.ίðÖ>N³KÃqŠ‚Ÿýò§ìæ;tI'ØzH4Ú{{û¢ª!Š"e^!!¢É²¢Ðn÷Ñm ªX/7˜¦I³Û¥D`ízT¢ÄÎyöàG‡÷?ºƒïÞ[vcÌ«/θøpÉ“'Ϙnæüø¯¾ÀóA!/ÁR$¾¹^±ÜE(µL³×'«`6Û" @%¡(;/ÆO.ˆ½Â…3ç fC£R3v;O>þ5–n@šfì¶²"SäÄ9Û¼ •4Zã#rQçâêŠ4Œ‰NÎy8ì"™‡{÷¹ûø)£ý=NN?PÕO>#JR>œ~ÅdqMž'Ø[»¬ ¤eÂjwM¹^PU%Dº¡²¸¸BÑ5dEãá£'ô{C¢ÇÕôI\òäÅ36žOgßáô̧®ª´d¹\R’¢#(š¢s½YÒ P„ZÂÐ[¸ë”W?ÿš/~þÅmÎñ¿<·kQ–pìþÚ%qClÅ jj,çÒîß½C«å!~¼bºp©3ƒý;~Êû³DÀP ×sp&j³"J#ABLEüeB’¤ÔªH*<=#ÏKæó)iÐè (JÙÂe¤g\®§8ûCŽŽí ®Ï§tG]Z£6?ùË?%Ú•´ô²" Ê5½Á¬¨‰«ò”íÊ#+a—€$Ü&ì¶&p`;L§.`èpxØe~³Fºƒ:“ùÍßû~ô§ŒŸD‘ÊœÔÝÑ0Trµ‡¥fèjÉt¶&. –›˜?yÄÑA‡<ƒÅÍ”<ŒËšV§I³×¡’œ^ÓÐ<ŸÝz‡iZ”µ@.tF#²"GtÜiÀþõŸ0Øï0ä[!7Ùy°øð§«¢9:ÝqŸ¬€ÉdÉüƃRd%Ý:Í- çˆ†Ær3ê´È‚ ¿JÈÅ Iƒ¦*ÐVLvófǧßÿ!a.Pæ)÷î°œß ™{÷Qj:Bœ!ªy.+·;è/ÿúiU9ÁÆçW_~Éóž²wpÀÍlÎj³£FâÁƒG,^ÿ’ÕzeŽ{w¹sçÓé×u ¼€hµáÝÛwdè:|ôç¨wŸ=eºZGƒ._üÍß`è-öŽ‚¬òæõWŒú‚»azyÅÕå9ƒÑfËaE +ô-M‚FÃâÝû3ÞžmQPkxrØâ¿žìáÿúµAííwñ¢”õ®f¶ˆ‰Wº&ðѳ‡è–Î×oßr¾LÉ•»N©éP×è¶I†äqLG×¹¿wÀª Ymnv²ªðòËS ÉdoØ¢adjެš”¹ÌÙù”v«‡ªk¤iÂ|1ÅÒÚŒc^½|‡¥[dY†eªøžËpè`>åëo¾ Š2zõm²øưËc’Lg·Û‘'@£–Ž£ëÔYB‘$ˆ¤¢ÄÔ/ùè£CFM$Râ<ãõ鲨! ¶ëˆ^l DF‹ã£GÈ›ÕbåSç ›’gV‚T# ž|ò1¢©‘¥¹?Ç›]AQ’ÆzÃàèøQV@0h÷ŽÑ “7§o°Aóæ«&§ 4Qæñ“h–Žb˜¬v—¯^c˜*Ÿ~òã½>§Þ±^/oßwÎÉWå×*•¬§! 5ý¶ˆ*ULW)¢$"ÕuU²?îóýÇŸñ½CÜxËdvɾílbÓD$,¡btoŒÔl⌠Övï!nsÌ¿»¹ä;÷)^~w1aòò¯y¶ï‹"ý'߯‹Eξ~…•¦”zF0_ÓP$ʲàÑ·?"©J¼yIæ¼zý7 è1¹¾¢®kž>}NK¹š‡\ÏcšfŸízN»i"èµ*c™M&'g¬f+Ò¢ÄhµðC9/Økué´4®gsâ Ö[Jyþü)¦®rtpÀƒÿñ„úI§®‹VÛ"Ls.¯ò\CM \wƒª ·K*«” € –Tc© (ÝáÍ6vk¼™Kׂ‡?øYƒ8K™L–¼³ ÝPõZ@Ê›óˆV«…$Êœ]ÏP^ϲ |ßE”4:EVâû>I1ì÷Xo–ÄqIÙ´n×eÎncCÀnÚÌ×>–yËI÷¡ª‰v;²ØG@( *Àì4¤ ]©¸ÿ.×Ë-oN9<:î¢I2û£6YprrE‚®Š,¢ U‚ã#…ƒA¡)J/öYï£`X䢈ïm°¥[‚ÈM‘Ùª¢ÙVËQ!¯eŽ “-Yé£ZT¹‚Fžç\\žàìV›~Àlísö~§ÏÇtóé iZ’W5 Ñ&&/+ü¸¢4UFUjtd±$ØiäbMQç”yÍÞ°Á÷¾ÿ)ÿàS܆¡ŸÒìvÉòŒ†c²Yωâ AHIÓ‚²€ý{”„i};_/ ’”Z¦Ûi!• ¡—¸[Ò0Ä6uºí²,Ṛjàç9bU“D)vQ5øÅ×—Ô²Èßù­oQfI°]/Ñè šlw!~T“‡û-š ƒ8 Ðu…£{‡´{m’Ìg1óXmM§‹¡©<¸w@š¸$YHIAš–¬–Köè‡,VsꢠÝl^`UY°7Ü£ÛnD+¼Ýo¿ùÿïUþ¹ô?üÁï¶\®8ýðùÂ%KêZd²8'Œ<  (n­Nu]c&Šx{GWe j,-¨„¹.éušX½i’rr:åúj Ôˆ„aJ’€®ªŽ{wÑ­Š¢ŠèÚȺ‚yx^Íd¹c·Ú"ˆpçî˜F£‰,©XVƒËÕ‚ÙÜ%ŽSz ›ŽmÓw ò4Åjz&º¢Ç’t› €¦Ë$RB{ÐE1M²Jd'œÞÌP‘üþoÏgx»-mǦÈc\/BKŠº¦Ûë†1ƒ®ƒe*ô»-Ú­&ËÕŠ‹É5IVq¸w—NoÈåäŠíÊ£ÊC²(e¼7àøÞ=òʧ7h¢"ûhÊ-‘ÏÖ Q&ô}Ò,'Š"tKÅ´eöG}Ò0#rC6‹í¦¦Ȧ¨9|s:áb!ÈÀ-î•VŽF-:-MS@Tð㔦V3tèö¦ŽDÍìæ†«›ªað;¿ó{Xíi\ èƒ#¦73Ö“ vƒÖáPÊÀ§ØzTªÎ£|J¬Y½þ†ëJäÁ§ße²vIÂ=ó9ù%qáÇÃŽƒ$I$IÂl±ÀvZ IØ­6ºí –£ý1¡ïán×$aÈh0$Os/À6mâ¤`³Ý1½¾äÛ/Ñí˜H²€¬ÊôzcdUAÓu‚("ÏRZí"›Í Yҙܸì[üîïþÊ7ßüŠ2 I€±¨?—þ`ÏúìÝ»wø~F^Âh<¤å´i÷-:Š"¢i †i’gE–ãØ×W—,;êdE¡kò,A¨*Óälºàí7vkh˜"-ÇÁws g0è1îTuD)$¦z«G^oùp½Â‹j¢8CDD±ÆÐ5AæúzÎvÇ%«8EïõyñðòÐßàºá­€'.‘Ä’¢¬¨êŠf§QD†´† ’4æzâ¢Ãý<{È‹o?åòò”ÍdB¿Û%/2¢(DQ ÕíÒé˜Lfè&Œ(˜ß\'ºÞ@ÕDÑÄ6-’"IäÑý}‹2÷°*#;… IDATȦe±Ý-h9»ÍŠõj…(Àv·d0ìpïîÚ6½áÝЙ\žú‰—±¼ÙPÉ׫ˆoζ¼ºXñælÎÚÏ;}˦%ª2‡4%EkÒ4à v~Æ^פ¢&/ Ьby³âý©ËõdG–ç‘V?ùÓS×"¥¢¢Ë2Ž(¢ª•Óæîñ>wF{(™ÌåÚ…n]Ó IѵŒåÍ%™»evò5&!:Y2êö…élFYUx®Çz³¥Óérðô9f£ÁÅ»wÌçSÆ£>£ÁímEQмb:[rrrŠn9ìÞ£·f>›q=2Ñì´(jþv|¡P•¶c£Ê:Uás÷ÞB’Ä;îÝ9fÔ?äz²á_®ÓÏ¥ïä›ÏQ¢?l„!Š"cY6ûGcê¢Àõv¤YF¥‚È`0DS5²¬D4EEReœv˶¨ò‚í|Ãå•Ç*€–ªr°?±lÜmL昦M˜øl=Ÿ­ã9«mÊz›±Œ*¢ÆÍÃA]×QA”Pd/‰0l›»£mKc:ùÀ䯣Û3{(bEÃTˆ’7,‘V¯‡ÝjcÙ&e©Ÿpïèˆ'¸wé ?ýå;ÒåŒd¾æÁ£C4à¬JlÓÀlÌfK\7¢ÛSUiy.i\£Ê5Fƒ4­Y¯CÎÎÏ)Éyòä1¦&³œŸÓr [çt2áüÍ‚*O™Ï6ÔUF³Ù¡BÕ$ª:E1’ÆzµãòòšÐX¯|Vë‚8Í’Qšmnܘ€Û*uNÛi ŠY”‘e@]P%¢¢Þ}ó”ù*d³»…!W9’@UÕÜ,B^½~Éóo½àÅãG$aHZåh˜"˜¶N·Ó£ð=4IAÔ{ÀäzmØ8ŽÅôg?"¼:£Ygœ¿ü%†òœØßѳuÜ\&ËKÒ,¥ÑpØÌ—,çsæ7SM›~»GYäi‚eh˜†A^Ôœœ]¢˜º¤!É ®ç’Ä>i¸C¨K¢èvì¼Ù\ÝÌpýEUql›ýáIYowHµH{îu‘¥‚VÆZf2Yàº)äÆŸKÿèÅÝÏ C§Ùjà´tùö´ž^ÏØn¶È²Š$)·¢VMÓŸµN¯ÓC7V»ÓåŒÅb¹€&l½P‰Èó‰B—( )ë × ™Ç~ Q a\á%b-òñ³§üÿÙÂáA—4X¬Ü,\B/$Í3Tµ¢éhšŒïnñ¶.šeqxÿÎpŒ·ñYÏw¤ä¨†Ag8@RUV«®ï¡j:yQ‘„~±\¯ˆŠš¨·O÷ùÞ³§”¦p>Ö5qÓíöPU•›©‹ëÆäqBÍþèÛH’ˆ4‹¨iwzu‘ÙbN]ä ºʼàb²d½ƒ;Ý>¦¡!J"ÝÞMo²ÙzlÝ³É ÏOx÷ö”$ŒP•ÛŸI’5Žîcš:7K7. ËȨñJ¨ŠâQ¬‘„MUWD IÐPdéÂ%+!Í@¬Kê¤Â24¬†FUæ\z%‹› z¦Á|rNZd|ýå\Ÿœ ™:ñvÍÍÕ…í»èÿ·@7©Ëœ`9gòîYšpÿÞšÝÿêG?æäbÆþÞ MÂîÝC1 >|8C“%ݹƒmlv:ÝªÒ M" E& \dEA5m$Ýd¹õ‘ËÛi!H"Tiìáïvf‹½ñ1µ¨ ¢ª‘e9Ë›«ù’år…¤Éœ½ÿ€Hų§QH²‚¢§Ó⟟/>—þñ÷ž}öÃßú!GÇøÞ–ÓÓS4M¥*$LÃÄ4-‚0B‘uQâüû]ˆ"¨ÊmÃ4+Sòªb¹¬)ãK5ÈË KSê ¡E„U—I›²FI'/KDjT©¦ß‘¹sÔáäâ-¯ß|ƒ®©ïyþâ!ŠRPT wîŒh:ȲHg\¯C¦—ËëÞ& eZH†L\¸~ÀjR ÃáˆN§Ãzµaø,ÝŒus¹Þq²ôo=y€*dx$H²JDEA]•,—k,«ÃpxÈñ¨CªJÃÖQÔ ×‹Ùl"솅jŠôú}./¯‘ÅÛ/ ºÑ¤Û°žL(‹MWˆã‚ÓÓïßÍY,"6Ûœ¹›³Yy˜ª†eèø^ÈfSÒ:¬\ŸÓeÄ2ÉHÊ’CG‘(ÒŠª(¨³IMWPdQ(ŠŠÍjG­è´{]$©B×äª@ CÂnÈd…ÊõÌEˆ–<ºwL³ßÁÖ LYa뻘rÁÝ8Ïøâ|BçÉ3œ1»º¤ººfôüSî¿ø˜T’ÑÚüÿ¿"JUþêÏþM°Pqš¢,à­·(Ôe…¤Êœ]œ!J½N‹Ðß1]£:~”à† ƒ½C._¿Á ÂÐ¥×o’ešãº!ïß_0[¯A–A”%•íbÍb6#N²ª"ñCöö¸çq¡h:qš–†­ñ¾›}.ý£OŽ?»º|Ë«_}ÁÏþú”Ù ,§9ƒaD­H|ýîšÙMÌò&b3‰ xüñ·Hê˜2Ëð·!Ëi‚B]W ˆhºA÷¨O³c'›ÛjRb5;Üÿè•ês¶Í¸©*‚*GCA¡"N–?ùùk®ÎWØ(´-†,²»Y¸)-«…eXä¡G'¸aˆ®kˆHYÉ^Û¡¡køG–VŒG]¾õÑcöÆŽAVç„UJGV‘¥š,/È*™¼®ÐNKg´ß¤Hs„8Á¨ º­µ*SJ2šf`Èž»d¼×E ÒW'l—>š¢2l§?<¤s4¢s0få®quPzÿìÒû\úÇß?øÌqLÞžžå%ãƒ1÷?dØ7¢I8Ø¡HÇ1aZ±sgt{cò4%BT]¥Õê éb]’„>£n™”Ý& a ˜¶a+t)Jo•Q•5¢(£‹ ² PU%º(±ßè3t)ÉðY©%‰ÅÚ%)í»Ïl¶£?ìáX·â[ÓXl\¢0Æ6 Ú ‡v³Ãb¶àåW'\žO™_.ð7u‘§Y¢,C%WzÒ6ŠªÆw=ÚÍ.ºaQK*qZqrzÁz½EÓœVE“ˆ“ˆ¬Ê0,ƒÑÁ>^èÓë:h–ŽïÌç+tÕb»qyýÍ%IñÑó{ ú=,Ó@QT®¯×HŠ€å´(ëݬpZP’¦ÛÝŽår…ë&BM£ëP¥) ZŽF³©ã´l¨+’,FÀq$úƒ6q˜9y\’…–®b*M³A(¢„* ’ÌÊõÙF9V³f@I§Ó%ÏRdI¢.+tÝ¢2ò¼Ä²,î>º‡ÙÔYMÏÈ—sî †h9Ø;º}Ì£€ 1_®jøö‹üöo}Ÿ:ɘMìæ+r7B(j:½1ЦsýÍ[67[îÜåÃÛs..¦|8½äí7'4ô™ŸA-°\Ü®<Ìç ’(e³öÃŒ ,˜®CÒ*e:Ÿq}}…nYÆÒ¨“’{w÷Q%©Jè6 ššÉz¾ HKþÙ•÷¹ô‘?ýlr5e¹Né÷;ìííÓé6)ã Ý0ñ—Éå IL›˜–Dæ¼½Üà¹!¦‚@Å|î’§E^`[àÎwèJÉ“'Ǩ†L”„DIÈåäYŒ´Ë($È+jJ⺠ªºF,Eú£[_w-fdyN^Ö(¦ŽÑЙ­ç„~I–—DaDúdQD'È"h†FÜžnÞÖ¥Hr4A@©* Y¢.kêêÔP†i`:¤ ¶Tq4èc·lö©J8¿¼AÖMºý!N³Í“§O˜ÞÜàú.¶­SÔ5%š©Ñév%‘«ÅŠJ”ñ½]µJ‰ùÔe¼ßå[ßzNÃ4ØívÄQˆ H¬wIQžâE%ã½/^¼À|>|XàEQ¡ªÐl™ÔB…!ôUž «Q1ßä·DÛ J3ê2%ËJêR!ˆJ”J¢åt(Š¿•š¤!Ê2šÝ`—e̽IÑpZUqÛ.Ê’õjÃ_üø'\]ÍùÝøB e”²Y^K8ª‚ít ÏÛ²¸iœœÒi;´m•ów_‘Ü\1<:æôü†ÉÅ”ùÍ wçqrqÎëwïHÝœ‹«¿üÕ+^|ò]Žî?äÁ£'4¬bQ“æ%’(!+ eY¸®W“$5¦aÐÚ"ê†cP åmàð8˨ó’^Û"ÜÞyK²Ðc»Z³šo1&ÿôbý¹ð?hµeÔµBfT¹€,H”bÁhßæà¨Çv7ÇóbšN ]osrzÅ•mGfo`Ñ2MÖ‹-†fѰ5¨R¶ó9£½!ÇïcØ‹õŠ,ËЉÝnÃÛo–œ­$UBd²û#¢$äf~M]ßmYS”·„u¡¬0Dè6,öŽš¬–[D¹&ÍbËíN §Ýäòz‚Cè%hJ‰Pž‹¥PVx›ë¬"KJ’¤DÕ,tC'M3ªªäâbK–€mËhºE&hšI«Ó´m¢(b2Ù°YyxA†"ËŒG•Èûw·r?% 2¼mJÃi 6^Ñl:¬—Næ[¶aA’VdeF«Ýb8Ä.zCEÑ4¶®ÇÕå߈¢ˆÕÖA¢Õl£Ù6»Í–º($‰2Ëpw.I#‹Ôðêgßðòõ„óWoé¶L=zJ”V¼½¼!Ø.ØÍnˆ6+.Þ¿g~uÍfvÅòâ ~³ÄÛ7'|óú=¿ùë?Ķ4$±æõëWäyίÿöoÓnÛdUÂr3e1¿F¨r~öW?áõ×_ð¿ýë«kèwT÷{ÈrF«¥Pæ -ÛBW ¢ΗޜϹ\íp=ŸºÈq+¨³šªÈØ4i5uæË”uTs³NÈ“?¿­MËHUÅÃ{Ç z}ö‡CEYc™ ("²,¢©äbU±¸ö‘UFËAÓtIeµô8»ÌºJ@¾­£(ºˆÝpH‹?ˆ¸Yl‹†ãðþâ/ö°š·Œ¥q¿‡,È覅· Hâ‚n«P ~LÓÑévtzMš-I‘T‰ª*$‘~¿Ëho@¯«"J[7äzã‘”­Ž¥ XJM%šÔEŒ¥Á¸×'õb.NÏI¢œ$*4:ô:],Ç$Î"¢<&+ ªªÄÒ5D!Å05tÃfoL’† ¸³ß£ëèXjE-UÜ}rŸýö+Ÿ—_¼£*]¾óé#¬f< ¸8yG$œ|8åââŒá¨‹©6øÅߜдE*b&“d¹¤ÊJÖ‹ Y™Ñn98–Áj6£HR4U%2Z­5Ô†áðË_¾¼íR­\Vk½ý}‚ a•T’ˆ¤èì¶~”#jšm²Ž3”ºÆ(Ö3—å&e´[W™_ðÿ-‹Ï…O ~$* ꜡)a*5AXqøHD, fÓK| •o PŽ)à”nœ‘ä2ðÃô:-Þœ,¹¼ŽÉÑJ•¦bB  ¦#f5I šºÉ‘Õ¤-‚_zL‹´èèmr×£Ñi _~3ÃÒ%ÝŠTÐjjQB)*TªA”×L.§TYÆ^·M•¥Xª‰,Ë4[ƒënGUU·„uMMÅÒt.&+J`o´G¶õI¶¶)ªwíÓ°Gt“ËÞö„Éå4E$‰}ŽŽ%•÷'çÌf)ýNß}A,¥¸™Ožf„+—¡Ñ%X¹œß\‘d`K"½N‘šÅzÍý#tKc—º46gg J4Í[|Otû(Á±|¸Ø±ò*ÖYA×€;ƒµï“¨ lMÆ[nvyív«a2»œcZ*ãã!µZQÔšn © Í"K·DiMV+h†M§,.Þ1°EöºIærµ0»]’Hƽò ݈Þž~{LûùÇÜ;ØCòRä_¼Ân:<|¡HøWÿâ'¦Íøh\ˆé dYF© t©A*貄Ì&ª"C$ÞŸžòàÁ#N'—¸»õÊC4^|ô “É„›éI’Ðîô¸Y¯¹ž»èŠH™V´MÉ”™¯}¶5¨:M(j.V.µƒ. TþËW™ }ª Ÿ=tЋ”"*ªš~¯…„qÌþÝC‚È#IoanÄ U`&²P#×:5$!jàØ%N+åfYÓÓE,)B–nðÓ‚  zº@§Ùf¦¼™­Øz9$°ïhÈe@UÜ,–Û˜¢³R©Â˜$ 9<:bÿãǸqÌÉé%‹›-Ž÷ùøÓ' ¼|ÅÅT$dÔŽCç ÏþÃC:£6^²Ú¹ì5dŽ‘-›Z+¹ÿhIˆ ½-š,cö lCF- šfƒ¨,y?¹!ô}²Ìd;G–-NÞΰ5›v£Áùù9ÿ?Oo+Yšžç=gžOÌÃ;ßœ3kÈʬªÙ]d³Iˆ´(šmC Ã0¬…76à• ^tÛÐF´±½°Á Ê’MP’ -R$›CwWuuM™Y™yïÍ;ǽ1Gœyö" ^Å&VñÇ9ß÷¿ßû=¯[oÐn·q[iYp3žá¯bTtÉ@@ÖN⃭:bé‘%!²£›TUbÔVË)eQ`:.£ÉŒ­]~ùW¾Ç«WGÜ\ÂlQâ…)¢»½6ƒF‹ëÓ1U!¢¸&û·÷±›5Â<Á¬™´Ú ò´b:^’T²Q`Ø*’(£ ÜzAÑX$z ºéP 2• Òn7)‹ŒóÓ!ˆõîÓn0¹^c|â2C³t®.þÍŸ~ŧ}ÁÛÞ£»s@ÏuXŒgÄAÉéÉ„ñõ9¿õïý Ue2ñ46‘S(3Ÿ›ÙòUŽLÉý«‰$äUc´\—$Øy°M«Ýcsp‡­[÷Pê×ó1þ,dr>f8š#åZ.¢äªPQÉëJ’9—4E‘–.²¢»mÒ´ ªªÂÙjðÏOÃI ~¨ç9BZPVëþ;« ž‡Ó‚›Õº<©²‚-;¥€žÉ$BN†B\D€.ÃÖþµî€ —_ÅyJžWä%¤ÕÚ—« "*–ax1²ý~‡²È”f«C»ÝF1e*YF¢4F  ¿=Àm·8<<åôð©ÒøÆã÷ÙÜØf|3at3b1[âIâs3q=¼d¹Xá- ! R\Kf6[’å²$R|½e(¶S'Å# d’<&LRòJ`xµb>RÓ%*±¢Þs‘e˜\\N ºý&wï%9_}õ’JHÒË614$ ˆ³ˆ X!Š ˜*’î’£’&–iS‘cèN­I–T\]dyúõöä˜,ƒ8ÏJ04 ©‚pµ¤ÈK:–%£Iè!Q¡É ”%ީӬÛ4êkN–¦ˆtÚ]TI'Ò,¥ÛîFõFËvÖ@µ,F‘Á´ší‚Èz¾ÕjÐê¸ 6; 6{ˆÄQ€¬j^Ê›ã眼|NÍ]WðË‹s6}¾üüsZ½®ëÒnÖYG,§¼åœó“s>ýèKŽ ƒ€ý½]lÇæòüQèt: ‡C~öãŸBQÑj5QT‰¯žÉÕé5S"c­p)REE‰b¨X­h&Çsxk{ÀfâV3H³˜‘²„~k‡v2ù‘ð7¡2º­"Ë"aSUp–¯­!–F•ã S@dDÕ Ïl]d{g@FÉ‹×'8…ˆ£ª ¬’µÄ¨Š bÊUšÒî×ÖûÒ~€ ÉLç"p÷Îë3–qN&¬wËlÃ"-2†^‚#®'ɦ¢ !‘dkØpZä¤X8n¢¨$Ï ¸ BL`ÐpØÞp(sX,V¬>ªýžƒX©™Œ¨.‰—1Ûƒ&e q–£j†^'2o‚Ñ©Ó9Øf2šðú“‹’†-cwëL§… òøO‘ ƒÓÓSF£kމ,‰,Wb™Ç1+¿¢¨@•5ä4E*+d:]¤€é*&Î×¢‰ ¬]¦¶)#²&Ú—y" äy‰ ƒ¢ÈlmԘϗDIŽSsI’ n§E–eÌÇe£é2T"½ÁÈNUWð3IQU•¢È)ò”$‰ÃÛ4é×t~þéǔԛ5*Q" 2²¤À¶ê¼z9æÚ©Ép°ïðÿ½ÿ( ùä³O©Õ›¼~~Äæîßüî79;:"˜/Iý˜O>úAV˜LþÝßù5º½Ÿ|ò3tC¡Õj0 X,LF3fãE¥ 7Úž_cXW§Çx“„TQÐep‘"”°¬Ö׃F·Éö;ßÃVuÞ|ùŠ/ñŒXq]¦×WdãœP!È–qc]ž«DÀ@e(2*Öo~Y€LÏÈ¢µ²“U9e"‹"^óì«5â$¬ KI§SC1TÌ`I–edQL¸šD®Z(’ÎÒ›‘…¶ ;ýiRrøú×°&¦mQ¾—’…u yMZßÝjQæÇobT5Ç5uTCÅ-–«áx"ɨ†NK„FÍfk»G/9z5F—àÖÁyî#T"+/`6yt«ÇœŸÍ¸µ·Išø\Ÿ_R³—¬>z£…R–qzqÃdQ¢r*_L, ßøÅÇ¿ ’D®'š‚'–LÇ>iš²^»Šõá yBè-Ë$ÏEæ3BÐT•"I¾>Ÿª*« U¬h6”T’H˜†Y†eÙB¢F£ÕÀ0õu¦¹ÒÞÜ!¥Ì¢4cîs)Z IDAT¯•‚z¿‹Ó¨S³»Lo®Êœºc`YmÂ(áèü’«•‡˜fhz ÕUe™$Í^, —T)ô ‘ª,©Š‚£×‡Ü¾·Ïw¾óM~öñGdEÁj¹àüè5b‘áÏÇL¯§Ë’NÛd{ÃæùgÏðö·D‘^§‹Û°Â%gçG‚Ã;o?IJŒzŸ/^þ_üüó3j64𠦵A,ÑËŒFÝeÿà¢éRßÚDw\NÿâèïïP()… å&ŠÚBpcœt ~Yà‡:`V5dltrli­ûkk{º’* è0èt)’€,¯P(‘%ˆKÖ$pEaàˆ¸MÙPÈIQµŠ¦­c¨%WË”¹%%šBYÆ1y’PPwlzÝ:b™`j e!0­ÐdYH’œ~ÇA ¤ÈRJÖû(y•Óh¶xõzHôµÂQ%~’`ª"†Ž($qÆ[îÐm·¨ª‚V³N§ÓÆóBŠ¢D zíËåš”8'ÔmI,X-+–YNX]޹š–ä€,ˆ¢D”e@E–¤IFše¼ûΞ¼÷˜““c⸠ÎA Ã"Ê *@e-€íl×Hü‚••$‚(# "Š( QX‘Æy–&Ѭ×IóEWhµÛdìßyÀæÎ-–aÆõtnYh–‰Q³AVQtÉÉ+È‘°j5j¥Xryu…©«8¶FE‰j[dˆDYÉ«O_àGÍv‹V¯‹[o±XøÌç>š¦BŽmqïÞ>£ÑˆÙtŒSsxùò9½~—íÍ;\_ž,§TYÂñ›#Æ£%Š,"K:²!óêõ ãÉQÇ!iq~~Âáë!š¡²ZÍ™Ìf¼:>#®ž]LÑT…¬¹^̹™ÆX¶Äw>øµºÁF¯A§îpyrÈí]*­äõñstÇ¥{ë!÷áyK›?Nù‘ôÄ5 j¶‰©(ˆUERæèˆåú°tICÌ„R ÊJTiEìš*ºB¯Sñ-Ê$F)*Ú¶Œ­•L—+®¦ Š2Á2lCAU¼8ÁtÚ$qˆ®B¿ãRsײeEÁîÞ&šëR•!qäQ–“iÀÌËÐU MH“E1™M\ÏSš5‹»÷!HGo®©9&‚,â4\œš¡Ë´Z.9ÇÇ31#4ÝÄqL«§''L'B ©ŸÄ)’nÄš&¢ª šm°±[ãzè1 .CȾþc«ˆeF&TyIµf;• +q" û»î¿ým:Í£)"†ƒª–JN§arqéá•ël°¬ Ì±t ©,QˆÒЦ£Ò¬›ˆ²D’gxqÀbà{K^]z(²H«ßGd²*c÷`v«¦ h„IHš§è¦Á“÷¿É»OžPJ%/_ P¡ÊkSbšd ‹Hб†k%MÓFTe¢$áðè„áõEµØèo#HYš3›û(ªÈbp~•°˜óøñcjŽËO~ö9G¯YN朰k:fÍÁqÜ¢·Û¥ÖÐ()¨ª?ôȲ”V½F§eaX—ç—^Dgc‡_úþ¯³˜O9?! w6øÞ/}“F½Ã'Ÿ|D–­xô`—Ív“çÏ8¹8£×i‘¤)ç×3>}ÊÕèšnwïïð{//~$77l²$E’*ü &“*$ íÊøaÎ*‚*MDCS)ò„*ŽùêøŠ¦N¿eX'²RR·4Ú®! „sŸ2ŒioöÙêÕ ƒ©(`wk”QŽÖ3ÑËÔ©‘ £)°{ë6BÍeruH#4¨J•°X"ÇQžP 9Þ×µèn4ðý%Ív›z¯‰Qo¡9-Â`B»×¦^wª‚7GÇœ¼>G(À’”J f;UÉóÃCŠq=\ѲTlÛ&Ml[d£ª±šÞp2žbš&ºÙFDF’ 6º=’0âúâŒ7' zMݺËd2¡ÀqkdeÅ*ˆ‰ãÓÐxë;ïpu=dx=ÂnÔØÝ;@STʬd4!I g³7ŠL£K'YNWüøÏþšårA,h<ºÿÃTÙº³ÇÔ[¢H*ûÛ{„Å »e“~ž"‹ª(°ZΨ¹ _…SW¨Ù >ÿôŠÃ£¿$Î3~õ»ïðÁû …ŠkÒLAÎküê¯ý îÝiÓ­Ë\ѵmú{¬JEX*œ„HŽÈŽ£Ð7DŠ<^s«þÛ–X-ç%ж^|0ƒ~C%/†× ¢² 4U¢( –©RF˜ ¨H†‰[kRÓTª4DÊET§Åë³!PÑod…O¥H”’‚äÍ‘‘HÓU·u «Þ “EæÌŸR× ]L™}¡Ê`û6o=Ú‡|Ér™ *"nMÃ_Í8|sB^ÉìîÞãürL£fÑßh³XÌ×ô‘•Ïç¿F¬`··‹mDYNscI(Š€xé“-3¦W ¼wÀª„¿øìС*)…u¥xÔY«s= (IÌ…‚2ƒ<_„^‡ùœ~«ÇÝ[·ùü“xúîÛ¼~õI6é¸].O‡Ü,'zÉéMÁí»=L¥†Æ ßäƒÉÖøâË?AÁét¦—§Qˆ0ô©¢’¡Xâl*tt“‹—ë%°X"H÷ÞÖ‘sò"#Š¡æ˜ìöwk"Vâ$£,r,Å  ˆKº®‰R$˜-AUªJÅ÷}¬ºƒQwˆ–go‚EÈÐMibj5:Í6ÝÛVqÅáëãi„?[BÌœ¿:EWEÆ—×T¥L’¬s;no ³1‹ W~° Œ2ZΓË)Ç_qwPÃQ .^|…)U¬–cæ«Ûm½Ea¦kpv=dÆÌüŒñõ©]X —ó9iœaIU1|Dtò0g±ŠI‹õ…S’+dE@R@Õa¯ßF—ÒÐê ¥ŠÈ™ˆéØÈŽÉަ0=»ÄÖä¥ÌÕ(&‰%’E ±Ä2N˵%/)ÃHÐëI–óf´d‘ ä•‚†ÆpxÍr2¥Ñ6hËm^?ÿŠxé£T"«¯c££8âìü Ï>{AäMƒ€áÕŠ¢PVšjñÙg/¸úô%š¦a5L4ÃàìôQyë»Oð«9Îò­Ö¢´×¤ÆåðŒÑ«ç\Ÿã/R¾õÛ¿ÂÞÞ€Þ Iï`“F¯C­îàtT”žD4‘¤_}Emsƒ»O£É&ÿúŸþ ³)iñúÙ+d6{}4Uå‹Ï_1™M¸w÷qÓÛÞæÚóY&àg2VÝAu,º»}ÚÍ-L³Áñ³Ï oÞŒV|úW眞úŸ/È1V·¤ÿ Ë݇wH‚Ó¶™ë‡ã§?’>4Šfiòu±ÅæFŸ0ôQt‘²È Àv«‹iXhŠF’† d98ºg„AA%ÄQN´œ# [¦­a9fƒAŸ¢Š‰¢9bžz)¦¬!”9UU2õRQB«ß@Ö%¶·öñ‚”ÑxE–¸ŽŽcY«ˆùrFY”e‰(Êôº›hªŽ$´Zu–+A¨#Ï_a×ëëýwIg1Y U)IQ1÷‚0"KBЍ¤L2’¨àlæq¶¾OX²‚(­[.WK± Ç6©7m*IÀjÔèìl³JSü›’´1\Û È*¢$§¹Ñ§Þi2^xô¶v@–ɪ‚Þ ¦K«9b±–°eEÁµ-rM@·TTCc< ñ¼E)E‘¼ÈP(qd‘VËÆ<ÎN/Pu‰8O¹ºY± }œšK)(H²Ngw‡Ý]Üv ÓuÃ`¹Ä’dô¼¢@¢ÑmáÓÙ„årÎ|1f³ç"qóÕ+æaÎËã Žßpþæ˜<‰‘5ÏžðKOЯ»TaH½Þ¢ÖÞf´*Y•^æ °{ï!O¾õ-vvÐt>ã«_|ÆÙ‘FHƒªJÄI‚ïÌg+Ê2ÃóWlöÂÐcsc“ƒý}¶76xúø¶{v˜Í:‚¨WW7C~ñÅ5aµNƒƒ{ìLçKƒ-6¶vù“?þ”7gKÚµšÍ/ƒ ÿãzEY!IЍ¦ó邬Ìi´Íõ¥²Y.bênÊŒÅr ñZOïv{DAÈÕpŽ,¦©¤iJ¦Ãîvå|I£Ñ$ s|?¤^×±-•Ü IËj¡ê…X1œ IY÷êi‘åШw98¸M§åp3rzô†^{‹VÛ¦ e¶œr~vE¯»ÅÎæ¿âòê„Z½E‘Dä¬â€J‘I‹1•è¹–Ó¬šEœ¥¬ÂðHã”ÙÐC&TÔT™z“åt²(ÑdÐ ð%‰ª(Öòv¹†¸ ?+y÷M‰í½ ‚x¹ŽçE–«­iS°ð+6;m2oNšØu“8Ž ¦>B‰¬ù)% ŠÐìÚˆ²„æ gµYRYcN¥ªl œšHE³Ùd4¥f“þ`IÖÙÜÜ&ÕTöoí3Ž9;}Ãѳ/¾Q“`¯W§ª5Iâ­¶K\dœ^]3š?õ©D°Åõ]h³ïâG9Þ²ùßü5j›¼¹˜0vžþ ý݇x“%f=¦ZŒÉoN¸üêc.N^rr|Ìb²âîþ=¢bÉÕåßU­-Š"c:’$9; ºæªâprzIÜ¿¿Ãƒ·î2JJ’0G&ãKnnnhw¶yëñ{œ]pòóçDIЍUìÝÛçôbÆËç3â¬B“áÊ3AúOÞÙù¡¦)ˆTU‰(@³îàèëážc[ÔšuÍ JLÇIJ5Ê$Å­›eB{¸®Š¡I„þÚön÷k¤Q‚k[hªA»ÝǶM¢ÀC"§H /Á=Š dMekg“ïýòwùÆ·žððÑOŸ<á½§ïbÙ*%’²$³³³E‘真Ÿâ8íV‡4.QY‘8<:âòzÎjåaêëva4õ˜ŒSÒ0F$C’ &Ó íVY,¹:£IP«9dyN) PUôÛuö{}Š8¢¨Ö‰µEVá—º&Rå¦ ®!‡9YR¡‰2fUáÔþŠù<"Ë ¢¬dêœÍ" b>šBRsõ5kŠY’EXùIY!Ýn›(‰¹,¢ KU©ë½Í;û›è¦ˆ.UhR‰¢ªtúDEŽá8®ƒÓ¬#›:í^«V#És²4á§?û)“Ùœ¤Ì‰¢ ۔ʜª‚Ë( #$AÄ÷2^I’•ÌÆ§GKj=^Ÿy($•JRVÈ‚ÆÈO'}Åg8>[:kM¶ž|ƒÖ7¿ÁÉõO>ý½fàÈðú§Êþÿ„xvM§Ó@3-4§ŽHø~LQ€(A',½Ë1MìÑïïòðáÛtZ)G ª<ÆÒë\¢”ñè  ¬–7 „,W¸Z›ZäÑ1‘”EÕÈó‚é"@V*>*ø‘ð?ت²4YcMü€<-pL ]q‰ÒÕzÚ§hÄ©ÀåÕDZhµëÈyLžçÌg TU Qk’„)a" jg€7±Ñj0™/(*‘ý]²pI.%DYÕYù17£ º®2Øìpïþ-ZÛ]ò2a±š“ggQ°æfMF×Ô¬q¸"/dÕÀ±›Ì>qÓîÔ˜Îh‚„cèÄIÈ/_ (2»ƒV“óyDšD8¶F™'X¶N«Ùcµ Ö~*TšÂt4%_¤¤@ÎÚ…kË*iž! ÂZ¢vL+Ÿ›0 %jeA½[ÃmÛ¨’L•$qIX¦,3`£ Ðnhììma6¢$&öÊ8ãz'¶£²±±ÁðzÂx¶DÒUT]e¯ÑÅé¸L¼ ‹éU’Q(E‰z«‹í68::¤Õ®ñö»¹¼º`¶X ª*¶ëpõÅK/f”*kôéÝ=:µÏ?þUê­}v:uN_¿" rÉ`êÇddÈœ*9« d BtMÄOJJþë'ãqˆ¡ <|üœûo¶ê HA@•ª8EÌÙG΋Ÿ~ÎF>}es5œa"Ží2™,˜Næ„aLY–X–Á`kÓ´iÔÛ\ž_SfLJ¯ÐMï|ð_½üYn1ŸÞ Ê ›­6'ç\M&‚Ä|˜ÓÝÐlÕ(+³Ë ³EŒ¬XFÿòõPþñ;Õb>Å1 ²$†Ê¢€ÂdïÖ^²d8™PT*’¬£(Žm¢k)£Ñˆšër°{Àùé7Ãk\ËáìlÂ,1ƒŽ#b;5Χs4KÇ”KêšÈ<Œqê†a'%W—\Ç U3°•Oß!JW¨¦„¬D,¦>óé”Ó“CbO Þ°q“(LDÓ©³½·M§ßàäô’—_øþ 0$^þôßò{¿÷{üø£ÈšLVX®EkSy°·Éã{løÉÇ?çû½? Êáï˜ :¢¥Ç*L9[ù›¿ñ›Òo9üÙ¿ùœ×Ï^  ðîã-º›=’4Ç[†”aÎùø˴ɲŠÀð‚MU©7jëpÓÃ+s0u(²µbz÷ö&®+£¨0œy¨Š@âÇ\_ص&A–sq½")*vQⱜ­aƒí… 2™®øïn"Aøûv%‰2–¦¡«k:yYظ-ƒRL)EYu(rQ1u•0ºd1÷‰ü”†ÛÆ›/XÎs6zP2òrô¼Â–aA(ÀÞÝ=¼É5RÓ („ ?Ž£œ,xpÿ.÷ïîâ/¯Éd‰«ëK6¶6°ËeÀ—_¼äôx‚¡‚ 8®ÎöÖ€å|ÅÑÑÝÖ¹uÿY•àÖ»øãË› žç± º›5ên$ðñýuÀ{^B^f$qyE»n2趉â`ÍÒEÄBçj8b™WȺ˜–¬’U†R„¼ˆóŠŽ£s°Ý'\-xs²ÌCÒu±AjŠ‚ª+Œ½^·Ž"ÌVÓÀ'©XW”tÝgwº®k£:ªf°ŠSÝ + ²U@£×c”ŠŠjè(–Óª!F°\.ˆbU]·!²¬rxxˆaX„óçç—ä†AšÄüú¯}—ïø-NŽ_“¸ûøÉœwßŮոºš"[.¥®Ñ¿µ ÛOáò ç?ýfC¶6»Pë0ŽùñGŸrüoÿœ¦¥2¿2ž‚(€ë@·k¢j~RQÄ)YRb·\öîp9º Êv·úÄQŠ&DQÂèfNA­aÐl6áù b%1ŸÆ”åú*P”1‚”Ñj;¬ÂˆvËäî­œŸÏIR‘ëÅ”gGc$ö:¼óÎmv6Û Ï®]OØÚÞ^[L•§ÿè_ Â?z¿ê·›äYyFàùeÅñù’¬Œèn¸ÈºA‰B•ìmï éþâŒÉxÉÉÑ [—iÕTe†iÈHBAaêèYÆr4Aµle ÙÚôÈ‚Ò<" Î.#Ê ö6¸ÛãÓ²É ¬Ì(ÊŒó³!Y$’„w J ü¾"J&ãÙŠy8§ ÜFŸ ·ÉâzŒ,ˆÄUÎÒŸ“e e Ь1š%´{ :½.ÇG¯!-yt»GùLV¹,%5IB•5RE!Érä¤À¶EÆ‹Y ^µæÒÞ9èÒ´d.N¯#“æF»cz>þÈãáÝ·lõøÙ§?ãÇCDA@M&Y€ÜßlòþÎ=Â8äÅóW\\ÌØ=èa×-¢,%-dÒRDÈâ²d8žñþÓoQe9/^¾`ã`›;{(~Ê_ýÕ_0™øDé:;ÍáÖî6“Èc9_!UY±á¨üîoý:I4atsŽª·P‰ÞV‹Go?³MA¤\x3¤'¿Í½ñ'̳?ù¿!òén°uÿ„Ö€ÿô·þ´•¤`Ù‹ÅŠñô”vkƒÐË1TQÒ‰³˜$• J‰ªæà>b)`.h Te>½žÉùÍœ«›9Щ™L§!RU­¹¬qE–`Z^L^…XŠDš,c0M3YóÞ{o «f0™.t[|t8åú,¤ÖYMô Ò+Æ/¯P§s~÷ƒ'ø•os:õ]øâ³ÏyñjBw£Ã»;lØ6¶{럳·½ÃîNŸ$ð™prrÆbèÓDdJ2V9„TŒNÏ‘€AÓâ½·¸»¿ÁíÝÓëÓUŠ;8 ¸9¥an³1¸Åh¾ÄÉKÂL©ËþÖ}fBBŠ„þ¿Å^ã6áÕKúøäã3”øš-ÍâJII[›šET*„™ºmÓH}ìz“³ÓœŽÇ,Ó!NÍÀ’UFçïÞ;àüjH'85“›éŠý­6U)­_vÑ”hUFiRRŠÐêÛTBÅ`°I¯®QØ TÃ/ž“ûc®†"V¯Íá›Oñþâš|øm SF-b’ª¢Rs:nŸùx´žÿ¯OïV†©QV ’" ²dR¡¿¢Ùp15 ðÃÝ4hv¼Å’ùÜ#Mršõ&u×åææz½ƒ^«ÓoÔ¢ˆÑhÊ2LIªE©7,¬DâõÍ„H”yxÿ¦TÑp,îâ÷î碴¾›]Nc~òéç|úÕ u¾ÿô-ðW¬¦KnݺËÞƒ»lmw89}IÇ”YI¥dq€miŒ/‡$È”ªAI…ªÊˆ¢ÌåÄÇ®o—"—§'献.ÙÚÚÂv.oF\§Ä²@ݰ±Ëé„üëÉ~ÍQø»ûwùηßc5£ ÓñyÒiÔ1MY–ùê“gL…‡ßÿÍ6̯!y}:eš©4Û-VI…»w@«Ó¤¥ÂòÙGÈÑœ?ú?ŸK¹ÇøÅsl¥¢×obJ*£ù˜”‚®M¦ÂjQs[$I‚iÉ膆„†¦ºL®/ÈËE3Ðt“ ŠYÌ=AâîÝ»Œ†ç ¯f,Ʋ$á6têm‹ùrÆæöm§Å›7oЭõïgê&ÓÉœþíÛ¸›}¼‹kÒ`ÂãwîQ‰‰ 3YFP 8†Î{ÿã¿d·m’çY\b™.+/Ãv,ê ‹Ð×ñ=…8ô ƒ„f«I­Y#ŽSÂ$E±¬Ja§ÑÆqâ$D }†Ã!磀¡rRdX†M£Ý%#'Š$ÁŠÙ° ÒJ2ϧ0$”n·ÓÇ÷=î¼b>žruyE诸³»S“hZ2uKÅÔE¼å?ðèoô¨ª”0œRoœ]øKlK§Ölàô[hÞt†$HÔ]—škÅA@%Å5GatqÆåù1FÓäáw¿Åݿϭw¾…ÓÚæ÷ÿŸñãÿù2P#ŒN“´¶ÁÆ7¿Txø‡_Òêš|ÿÉ4©à«ãK’(äöÎ6¶®c¢¸û÷PL«áPïtˆ³”œ„…ƒí4Ç¨Š‚¡ë<ñ o‰¢8¦îðן”Шiy…cÕЬ‚Qç½ü6îÝÛüÔ½YŒdYzß÷»û7ö5÷¬ÊÚ»ª{¦{¦gápÈÑ !A–!€,J%€6 Èal½ÈS[ ?Ø~²!Á‹lE;9&5«¦9Kw×^YY¹gFƾÞ}õCtÛ2 ”¹ ÿOñ8q#âûÎ=÷œïûÿ¾ô7ÿ&Ñ`ÊþË}®Ý»ÇÚö6–j‚»¤Z² z„®C§½FìúÔ Ô™òËïí?”þÁ_ýüW·w;ØÅa”ñôÅ+æ ŸîyŸ‚¥Ðj6ˆÂˆñhÂxš€‘fÅ1ý¡ËóƒS9¦wÙ§Ýé é ½«sv›5:¥†$ñêÕk¾ýýs>õÙOsçÞu,%' LM[¡Ä–KJ• ¦¡s|°aš˜Å"ªigÐi­–¿ßüÞ{,‚ˆN¡Àl4d:ê1ê_"æ+?Ü^÷ŠîÙ%QR®6P „”0r(,¢\¥ØÚ #Þl–¹³ÙA/–9¼ 9jâ0?Úçõ>`so“Ï~â>UCæë8›Í»!Ý, X_g–ä,¢ŒÑ2ä›ß}īà >÷ùwhtªØ¥woߦßïqyq¹êA)¨wÖ¸}ï_ÿ­¯SnùâW~‚ŸùÊ—¨Ú&)»·nÒ¹¶Å"øƒßù5¾óëÿ - I&SúGGäGNÊlÜec½MµVİLDIb6`ЇOñ?N ÿèA5W$ó£šR@SE66[¥€ñhH„X–…¨¬¬+õ‚M£ÙæêêÐWxúäAŒ¹qwV§Ld¤‰ ÉŒÀq991õàþÛoQ[o2S*È4B•¥3ARD2ÕÂjlãå Çý.…ª…w5à­Ï|†ÙhÌ‹÷~€,g|î+?Aœ¹,û=’yÈb1d<0_dÈšA˜ÊtKj“µÊ.¾»$'&KD † ˆ¤iÊywH£Q£\±1 I„Õ²âøô„ÅpD£U&ŠDÒL%R4U&O|.ÎgܸµÆÆÚ&í–. (1‹Å„ Hˆ"X¤1–œsm­Í ˜yƒÉŒ4ryçÁ=BCCÊ"^¿x‚;[’Ä2?ñÅ/3–üóßú5ÖëÔŠ&ÍJ…e Ždðî—¾B¥^âÉã2|ò>µjwé æãÉp…¤.ZÈR™í×Ù½¹G…¼üð B’1óø¤èþ”, ÙÝì0›ŒX.]\/Á÷jÕ6•õ Ó%ý~Ÿš™R1ÊkÖ>ýeÂê›ÿÖÏá?}Ù7—áÑâZ›£‹.wÛMŒ,À’u.ã!÷Þº¾ÉÏþÂC¾ëghªˆe4K€ª­Q6 ~ú3Ÿeo£Cµ$ ª1AP/U8zuȰۣÛï£Ù÷ß~›gû/±E“ÍÛ·1ªfƒÙ|Œ3ŸãË õk×¹8;¦çøÓ1~`#"/CB1‡V…8yóÁ]nܽIàz<}þšƒ§Ï™]^ò÷N¤ßëû§ç<ܵ¯›-b7fv1Ä®hL§ƒ~Œ](£kEEŽfËH©‚(I”êE®ßÜ¢Z2™õ/),¦X%‹ËnÍ2°mcE ÕudIfÃÞˆµí]Úë;„1i8AL”D‰ÄùÅ÷ŸŸpzÔGÈb¤4a<É0t‰ÖÎ.hºª!ç9ƒag4ÅR¼Å‚ŠQ@ˆa6˜R4Lb×%“2tÃ$ "È `i4ë4ëUJå2š)aMâ,c0s„1" ¨"ª–£g!"ÃnOI}ムÜYŒ )X õšÍxxÅãÇB³ÞéGóé™Io‚ïú˜º˜Bêżyç××p§#JƒÝÛ̼9/÷Ÿ"¦ —ÇG¸ÏÖÖׯíÑj¯ÑjשV‹Ü¿—»÷ÃÁ€0 xör?Mél_ãõñg'§¬Éç½>n”P®·i®_CÑ‹HªjZØf‘ÃãÁ hS-â†K×%ΠZ­®súúbQ³ËL®.¹:M£Ra¹ðN—HyÊðâ‚õJ‰;éËÜܨº!­r[/0\2¸<åâð”$ˆ898ヽO«Ö¤¹»‹ÝÚdàù¼:=¤ÚnÑÞØâîÝ70M‹þÕ%Ã3ì‚Må8^H½ZÅÒ4!"’dNf¡R@-¬0t¦j‘D)ßÛ?bxæ1>¾Â4$ÞýÇßþéÙì!ÿŠþ5úO b®ËÊj‘Å(RŽëƈ"ì\__íë·4l½Ät0ãâä]‡F½„aÌß{î1.°D‰4ËP% ÈHe¨ä9×®m0Ñ4; ë 9QS.µpý£ùU7öƜҨ•hTlÌ.'¼>ê3GÁDJ†JÙÔPt‘Åp†@ÆZ³Å|4f>[ ë"²,³¶±Nko‡r±H¯ÛçüìÇq©ÖèVÛ¶ÑJ:³ÁédÂlºääl„ C³ZdowƒJîà,º—cÂ’pe›“±²Mmµ ¬¢Ž¤f¦Š¡©øî’óóÍV•rµÂy¿(«ähŠN§ÞFF ë¨¦ç½ Fî‚j£ŽŽÂÑ“.ŽÍÛo}‚óÓsúý>{7náG!q´³ì¿xŽç.i´šFÃË1ã ãÏÿ4kْÓD9g}}“r±Å|º wyJà9ÌSò$%I"Ö·7謭ñúüˆérÁ›Ÿ|“ëo}šþà’îy—µÖb–1žaª%«’Ƴ?`9ðλŸ&Sœ8EHeþå7¿Gµ½Çx|Îèj„*A¥ 3¸JPU¸wo“æ]Ò\¦ÕYçªwÉl1fkw%•èž3X0U‰Q¿Ç­{obñøÑÖ>÷©OðêâœI¢sãS_"HÚ†Èüð9§Ïqøò%/ö,àæÿÚøÝ9þU}7Ê~3Hþµfã«÷îݡժÓY¯#rvÚg:š'‰“2½sñjŠGÔJe–3—Ó㯇!)PT5ª– YJš§øy†ŸA–ÃÒ_à')×nmaWm^¼|B’GX–Æ£ý§ g#ŽÏŽ˜ÍÇÄI@³]ã _ø,wïÝa>íâ,CŽN&Œ‚˜4IVÛÂÔUÚ7¶Ð )‚ª“ 9ASߨSmÕÕYš‹é ?ðÆ,“‰¿äàà€~€ ˆ(ÜÚÛáí7ßàÞí=boAœ$ˆ²„(dhºB.$¤˜¦†”B¤Œ†ãAˆã¬H°Î"d­ÕÀISvnßæ/~›Ÿ|ÀÍ7ïS¬VÑŒf±„a)´ë ²,æüòœñ,e{³CâÇ\ßÞ ¶Qc1_ðÁ£¬‚A¥\e¹˜¡«2ª,²\,)‹ 'CZkîܹM£REIsNž<¦ª±Kÿâ˜Ãý#ߣdäqHÑ”Ñ+6wï? e’T¤Z«£È2ÞrÁÉëW¼|üœ’¦“…YR)Y”l“ òIò”~ø‡Ü¾yƒœMW)W+y‚m¨bÎñÅš"°wsM‘8;sVfu¶ˆ„\œy»„Á¸wEì»?zLxÚeÌ\—,ƒ …01Í"š$¹K«É­w~Ší7>Íl±€`ÆÁãï`¨µf‰_< ¿óÿ üô°)çíæªv~6_ÍŽfBgÕä`‰°±QG7Ž/®X8–E‚EF«¨P-™-dŠ‚V-’)†n“¦)—W]J%›Ù|BDt:M<Ïc„8NŒ@£¦R.¯vz š…€„˜/|†Ý]•M³ZdwsƒÛëë;—8sŸZ±AïüŠ,I1-•ñ¤‡9”«ªÆ£÷ŸQþÈÀ@–eTC# Cœ$"KÁÔ-•2qàR* &qG‚õJQ„8Ž™OA„$ÉHaŒãzdˆäÈ̇0ÈÐdY’mغqûŸ~ÁÔD‘ÅÌáâð‚åd΃7ï¡I"§‡¯9;;¥P*róæ-Îΰd­¦‘$O?ÇÔuµ:Ýó36ÖÛäYÂÅ倥ëäpÿþMjµqâ.|A™@Z¡Õ‚0åô¤G–4vv6É iG‡g<{v„© Ü»»‡nHŒ†—\t—˜…Ÿüä'©Tl’<âôò IˆbŸæV¹ˆ¬J¨ªŠ­¸K‡þ`Äh2áƒ'Äq@ÁÔY_Ûfk㚬1è_âz3ŽöW Õ8eg½I¢Ë,e ‘ðð”ã îܽG©¹Á=æøò”Ÿúü—)M¼0D”T¶¶¯³¶¾N&DT*~”’' ÷Þ¸ÍËB ɰ’»Ò`>3èqÓ²‰Â˜£×¯ O)Ë8‹ e]&ö9þ„¿óý+áŸÏòG”À¿¡þ.äzþÈA$iUæ%ꪳ”¢¡±ÙЙ/æ´Öš”Êü8aêø ì¿>!õ2Üä%!£S3…‰q{ç&‰/0.jµjÓ,ðÝïü€ñDqåI¶ë&¦¬º‹üf‹m‹ÉdÄáÅ”y÷ÜæÚf‹vI£uH”¥Tšm’«ûû/‰¨×tÂ0d4Ê©VÊÅ"Z»ÁæÖ6ÇÇç¼Ú˜åè²D£Zb­Ý`¸ˆä”7îß!ÊCRr´b™˜•9·{~Ê|± T-¡:OŸ>çÖÍÛܺ÷€ãÓ3.Ÿ|—¥`—Û”*MÇ#Ï"²( Z±ñ¼Ò Ï󸺺BÖd¬RÃ2q\—l<À.[˜¶I’ „¡Àd¼d{kIÎp— š¡’  gN¤A„&+¬µÖØw†Œ®–tMîÝÞåßû!OöÜÜ]ÃñgÜÝ(‘gqóìpÂg~ò&Ÿþì;ô/.(©¿ñÏÿ÷ß|ÀoÿþûK*­æ:½î››J%‰çakÛ¨a†iG¸ìý•Ÿ§Y*ñµ_úOX\Œh—t§”J2†]â¢?!rt #ø/ÿñýÇJŽõ‹ y–‹ÉÊHÙUü,"ª¦Š"DÜzp­Yád4#IdÊv}ÕT¶ÑT‘Ë×Çœ>{A³T'D4Ûf¹DILg+‡¥‹jè '>Ÿ}÷MÀ#\8lÖ,†C†WWTš*2ÃÙ-«fàd¯N¯ˆ$‰e¡ªišÒ¶k¨€‘‚&R¯ÈÅ”…;cÿ< QRø?û×)× ¼:yM*ˆ ›«³+–Ýg˜… ûûWÔª+¶nÀöv(œ HìR“gÏ^a—EtS&Ivw¯c• ƒ¾²½½ÍÖÎ6Q–ƒ(P®×3‘îhÀ½Ï¿ËË÷Þã_üæïðàöm.ú—”›uZoS.êxþœ4 ™MFt›ËÓ>/Ÿ½B–R´Úµ aè2w=¬²†m0Uµ 1é ˆâ G6øä—¾ÌÉÅ)³Ó—” )ëx~€išÄYB»ˆJF&D\õf¬ÝÚåèð’ÈK¹sç­N™×ϱ eÞþägÁ(3òûtÿð}*9‹}*u›lÜçËùKœ©{üà·ÿ7’«3ü©Gçúu .Î. ”0-Ÿb»Éèj†IP­£ßØæàñ>âÅŒšÓ%4šíFËË”«iÆ0 X ðdüØþcð±þóV=ï÷G”u7H°l‰k›ëÔJú“>¡ ›·n!‰:*’"3žñCÄ 8;8„L L!×4Ö[u®®®˜ÌBT¶·¶‘5•ÑhL»Ýfc½ÈÑËWÈIB½X$fλRE1tž¾8`é®îËìÿù²’´r5·U¡-¡@¥j¥®#–mv[M:e‹,ñ)Õ‹xqÈéñY„>kë[hzÓXk ¶F¹¤1õXÎæø^N Tj5¶v׈boåFçìí®1Ï?¡Ú¨³±µI%ˆªLo0 Óhs5òìÅK²8a§³Ž”Ái÷‚›{YhŠ€ëL)L\Ç$Çubޝ0Š"eà È¸Þ7É#ÐT¸{ãBK#X.ñ>/âßý÷ÿÇççt_í“/FLÏCŽ/)”d®ïíP­WP5‘Z³Ž®«÷÷Y."DA'Ë2$)GU$NO.‘D/|î xrÌ¿ñ±ˆ½yö÷¹ss‚ÃÏpùßäýßû]âeÆË£î¼yƒÔ÷9{yÊÚú $SÆŸO¹µ½Y¯ð/Ÿ¿àÑ÷Oh®)!KZè)Ïœ”e ¿û'Óbüg¶”kªLš§Üzã&ã’G v¹D"B%ä¹€e˜üà½-…r£ÆZ«M&ŠU2EÃÍN_¼`¹\mGÚVAXu€mllp~~NŒðsä,Ã6 dF“%»F£½ÎÝL$ IDATOßåðä”gÏ_2›.Wì 2'ÁT!‹V¾¸†š$bè2õF?‰’OµØ®”HF=ÏaïÖ:ÅŠÍÉÙ)I”¡£* ßg0pQUØÛÛF“A •\ú½‚hrïÞ=jõ"H)²¤Óïèž’')#ÖÖªt66U…j³Ît>§{rÆöµëŒf3 ¦Mf<}ü”bµÆ½7ßâÙ£9?>¡Q6Ùh6<«þ¥µºÍîk†ÌúƒU5°©3]:xs¸¶Õ ó`Ü÷_ ¸Lñ…=¶Û›¨YÆO?d¹œáù ­¶Î;ï|’¢m… I’“)/_ðþ^F`¨`Û*qËeDÉI‡íí:»-ƹÿw~›_ú"½¯ýxN1˜ð¿üwÿ„ÌÈD•rE£]*08îòt µóјí†E–GØ•2‰›°ìM©}ætê;Œ_ðáe_ŽþDcùO<9>ÖQóOÜc>qxòè˜k×ÖÈòœÞðŠ7îߢT4s?ÔÕR£{ÚEV Ú;ר¼u‹$pð½vÿù æÓ¶U OR†Ã!ëÍ YѨW° <8>º {µÀ.ØÜûÜ=â(E’$DQd>]=³½>@†#UMQˆÃ˜0U/ÊVÝ~¦…à¸4¶µšq¯ßÞENOOñÇéªá¿Q媅çfX¦„”+4ë Š»:žS«vˆ“Ï_°³³…ãŒG œÙ€étJ£^§Õ^[Aw’˜B¹BgmÓã}j:ºaƳ©C’Š˜…"ãÉŒ¢%3¼êR2 LYB‘d†ã1ÇÁ²Kxî!N‘ãÕº?EKa/$¡°)S”e,aUk&ã…‡iÚä$JƧß}×›ðèñ1u E6˜N¦“„7>u7nàyº®£i ®ëS*Wxñü€ËÓçXR•k{nÜZãT(Súÿ1"ú·¾Îüƒ_'‹¨‚Îÿþµï²Œ@·àÚZƒåpÆá"¦PÐqææG ¢NC¢Õª³˜Oil4A´˜÷øûÝùŸJKƒþA?ügǃ‡×&³¯¦9t'KÜ©Ã'îß§^)ã-]dU"'#Ë3Üé‚YoÄÕéˆîéš,3õ]>|ü„çÏžcÛ%ÖÖÚ‹6‡Ç‡,„ÙÄÅ0l¬J…ál†X¶(Àlºàôä!KØè´È“˜îÕ9º¡1žO¸†(’@.ÊÄùʱ0P-¼$ÆÏaÅh@§hÒiÕˆÓ8OHHsSÕˆÒ˜\V‡RNš x^ÌlîÒíh7XºÅÅñ)—g§Ä~Àt8EE1A×4jÕ‹ùœéd‚¢êÈŠ‚iY ‡(²„ﺜŸŸ#« v‹  {„IÀÞkTª%zÃ>¹¥F•R­‚yŒ.Nˆ]’%8‰PCɘóyyBš&”«EškUæÞ”³î’îÀ#œùL‡"/DT–“€ã×ÞäOIŠú~ÊïTK_-ZªÍJSWè ®@–±J6‹Å‚Q¿ÏõÍmÊ“ËÞ !hìlQ«Õ…V«EoÐc¾\’ã…!y¢Ðs–(ŠÎ'Þý ×nÜd<™à/fÚêtºT°˜ ‡¼xþ ?ð‰’˜«‡¬**H’ˆÅÄ䤬ì~òl5 m¬[üåŸ|‡² ËåJ«H®B’gܸ¹G ä„B†hªØ­:åV›B¥Bôf.Ûí2ýË>å²MžE {ò$¥{ÑcîÌÑÙtÊl6C‘5 EYU „Oàø¿>f¹t0 HF>¶¡aÅ¢Í|¹`Ẩ¦NG,]‡Á`@Ù°ˆügºòÕ ¢EѰÌ"¦®‰³œ*eÌgS*µ ¦©¢j µ £Á„ål‰a¬ðg亡F1I&¢(iqu5Äõ—tÖÖ™Ï'ŒÆ*… ßyòˆIà>ûû¯yôôUE$èñòßóá‡ôú=º=—ÞbIžCç8~ˆjÈ8YÈÈOAŠ‘*´›¼žLøoLø­Qð?e üéVÕÜRe6·7(×+\ §”ª%†ã“AŸÛ»‹_v)µZÌ¢ŒO}êST*eÂ$æùó§ãxKA {<Çÿ(»EQDÈ2t`£¦S1T–A†®«ŒGD®]ßår0 ÛwQ 5IWcÇQ³pWx7KU0uƒT\°Q-QVeâÈ#H#¬b‘µö&žã³ŒL§S • íÖY–£ª*B’1‘ç°X¤ž$*BáNç,%A²òØRETÐD…ñxIŽˆGJ³ªà‡1š¥¡ê6Û”8Iñ‚ˆL‘5‰rµF– ËU±JvÙ ÍÒL`:› oÜø4¿öýï“ù)å8#—áj¹Ä°ËŠ6÷Ëu>xôn£1Ä™@¥^ÂÏCzcŸDZÕ§5, 1H™fð?‡vñúgšë¿ZWrͶ@-Ñ\o³¾½ï9\œœ’¦)j±ˆ—¥<{t„¬*T*e ¥"³Å?¸ykÞ`À¨7çòjH˜H8IŒ TíFëë-Χ ®.‡É #¦ª:‡G}jÍ:ƒÑŒ²šP®–q}Q\BÃT ²du¹Ý*Q¶Mâ8dæ9L×¶wéÔÛXÍ€ÙÜÁ ìBYþÈSÉY`h¯_0¹lmÔi¶í¸'pÈR™0ȘOcj5‘‚aÒï;Lçpç~Îæ&/^í3ÆÈI΃{·Ù»¹ËIâ[ßþ½Ñ­ë×±ª*šÅ‹'ï#è­vR©B±VáÅ“xü£ïbYV1ôyñäŒî4¡Q¨ÁÒaääIʯ¤™ðxÈŸƒþõËnä‚Q2%t1%3üTC¶›Tv:˜–Æ wÁ<"Œàþý7©5*dBÌr´D24NÎΙÇL/Fd)l¶«$YFo<ãÆµ-¾ø“_@•b¾ÿƒostt…ªj„’B³Z$bÔ[µ‹E Ã@’$FS—Á`Ä골ªL¯E£Ñ ‰Sö^s5œ ‡P.(L½˜·?yz $Xd§—–Coä#¦1ëfIYaûúMÆC—Åt@äNQ Ë,“d"‚’³ —´j›Ì#‡~ï[±,«UC/Ø”´±ï1™MFèºþÑÍ!Il«À£ã º("å9^ã… «Ð0-´DäÔ ˆ‚˜,[¡¬?>ò\1óÕ)Z†°bzôŸ‰€"­žÏÄ$§"BA7ßÚÄ|j:wßxÀ( ØÚØ Þhp|°Oø,&cN޹qsZ½……Di@‡üÚ¯~‹ÑÍ"åRÄ/< þ\cóÏ=9>Ö½WË[e›ùÒ!7«¨¥6®³¾ÑF’sž=Ý'M*•:š&S«—Ð*&~~Ä´˜1<:c|Õ' b?B)H4kušµ*q0'ô”K6ËE¹ÂxèQ+—‘ÅŒéhˆié”Ë%$EÅ |zý)º®ò×þí¿Bày|û[ßÂó<„ –‹˜AïîlÓ©ÚxÉ‚’­£ ËÐÇaÒŸ!7¶wˆ<—/º 47*T›m !#Ï}H|–s‡ÙÔ'd6v7)7Ê$KÌý€¢(ãx.å5DY#÷b&“ ò"ÿ&Ìf3Úõm³9Ýþ zIãÕa—~7â—æÙELþØ$ÇÿýЮ’:-n¿ó9B%gºœ h"’¬cèe†ƒš&ñàþ]B-a8¸çû¯Q£„ºU&É2êír±Ì ×åôpŸF¹@£RdÿåsAÀ0,Î_Q Y)Ø’,£Z&KÇaܳ¶Þƶ-Ò4!ÏWE|Ë¥Ãp´@«–X3uî쬱ô'œŸ¢³šSÛÂsDv7êtªËñ˜ÐO™Ì\N.]ô¬×ULCBÓeò4 DÅDÔ$â<&œ Ñ+EI%žy„A ‹j³E£PÆãU— HDa‚çDIŒãøhÅ*¡ï‘&qŠ­V]Ó˜f\ 3 C Ó©%‹…KÈLç)A"" ‘|$~ÔÈ•5*²D« ÒhÙ¾½ÉúõuÒ8¤Q*q|xÆ|¾ªÉ:??ÇóbnÞÜåîÝÛ8ŽÃáÓKNö0l™w¿òiJµ{ÿèW¬âñÇêb>Öÿô3_Î í:‚œ£š q ’lù)Š”G>ÛwvY,æÈ¤,z}z‡8“•jAQ©]¿C«Q¥{vDA“õ®ØùÇY2è"Ôje$1CV$DI"ÉRTÓä²wEC²°ŠvÉÆ(šØ•*©GÇgœ]^ )"eD¶ÛUæË1à=ê­ "Uçrâ{v; ¢À´· MD2Q É#ò,§Q×)–,DâDÆ2ÜÀ!%E#ÀÏ!M¡®ÚtÖ·øà`ÏOøäÝ»„aÄþþk\gå©•ç`TLÓ"Ïs¦‹9™“¤`j"d9Ž“ÃG$*Q€JQáúnòˆétÎÂI3±7V5sŠŠ"¢ê I£eE ÚÕ ¢’SlU¸ýæ]ìR,I1r‘oûÛÈŠB†A„i˜ÏçŒÇ ¤ ð Ñ,ðï½r~,ãðÇò¢~õoý\.éa’S)7Yk­aj2WÝKŸœEÌ8xô!Ëî`eÃoq⫾Že(+gqÏÇw\<×E3..OÑ5›¢e"b-šÍ&Ša‚(°ðaâÐê´¨6kXå"§ÇŒç ÚºÉtN‹õÍ æÎ’éhHµZ¥R©P¯7ùðÃÇŒ†Â0DUUn=Øä§¿öòÇ6þ~¬“ãcýúô·sÙÐ%wé1êž’g!†Þ¤`TË|÷;4L ‰Ÿ½¤Ôn!Õ²Ià;,&3<7áÍ7ßäú-ŽO_2_$(¢@¥\¢R²ÑuñxÌd¶`:›£F)­N›b¥H”%ŸŸ‘K õf›R¹Êbáñúñ’$¡³»Í?xŸb¤J ”Mä,ÄR6ª4Ab6]à'®¢Ž˜T*6Þ"Ä÷WÍ]Å‚ÈÚµ6²U ôfº" *^šRª7©u:´¤‰¡bTKl7Ûœ>zÊÅá!·vyë'?ÃÑ£¸¸è²¹¾ÅùéÝóKN&<ôþâÄÜ_˜ ýX¿ñ÷ÿn®©v±ÂÅã8£k7¶ñÓÓƒÃç¢Z¢­•xõâ9[›ëì“Fª$P)Yln¬#YU>øàgg=önì®~ 1'ˆ}’$¡ºu—N`6FT5"QAÔttC¢`Hø®ˆ¤©xqÈt>¡U«"…>g/^PÖt‚¢L0÷8}þšI/fw«Hg»Íåà’R£yŒ· P0™ Ä^D§4«6Š ÍV‡éb‰^(â¸>g ÚÍ:q<%—-¼8'r} ªH¥P`î%L–!ÓqŒU,0].ð¨V4J‹Óó í’Ìoïx«Ý¾ÅtA’Cœ$,½„RÉ ]_ãªwNœ%¬wm‹¢U òdAäâù˜JËÆ®Ô:%4SòlœùŠ YÞ,’E>kÍóñ”k¿ò›ábMþ¿Ú;ÓËòó®ξÝ}­[[WWW/3žÌdŒgÆŠ…dQ$DœEQ”Ä/!Éy„l!d±DP³))/ñ"d,EQ01Qlg&í™éîôR]kWÕÝÎ=÷ìûáÅ^ð„œxºëóœs¾Ï÷þî9Ïöq»à¿ü/CøíÏÿd•&‹éŒñáZÝ Ùk¡TyTÿñ~Ÿ{kl¬ù£w¾‰P•XšÆãý3JdR=ef w®2 ž>=æåÛ{ì\¿M»Ýf9· \U[µŠ&IŠ&ª¨¥ÀblSe2Š¡ÓPUß]‡!Û×÷Š7÷Ñ•bgM»@­ÕÈK%™,)ÉÓˆãc ²Õ°ê$-ö»¬5k¢D³ÝBÕ-Šj ‘((™Ù6ª\¢Õ*D²,'A`éœOìZ 'p)„Õ »^Sé­õ(²„Íõ :­žäaYuÊRĶm†Ã5öêuÜÀÇóȲ„¡ªln®Ój68=KÍé~å7?v¦øØžÿ;¿ó ?]=yÌÜ[ภ,Eãê•]öOŽhh%ëëëÌç6ºn2®q÷îû¸KŸ7ß|£Ýdkó ¥ ²X,pýÕî<Çs(Ë’Ôq¨w»ÌÜ%=äêÎ6/_»F„DaÆñþ#?`óÆuÔšI) ”yJË4©Šœ^­Ž ¤qÊñÁ!EQP³V¥(E–à8sÂ0Â2Û^D‘•­6^õEÜyù*¥q^ &gçضƒ®PVd¹¦[ŠN™•ª„=µ9ŸæôÖjtzmÂ4aỨMþ°g[ƒ¯üТÄAÓ4ʲd2žâ‡N˲ˆãß_²{m‡š¥ñìäMÓˆÃoé¢išnaϧÔÕ,Þã“)g‹ÿ•+ÙÔuþ~¬ãëc}ñ’D|õZ•æ Mân5H„’ºÄ§§g”•Èp°Aš’†mÛ¼rkÇq8<:E”Un¾t‹n·Í³‹3f³ë뻸yÉŸý‹?åÉïÑPeºõ>­æ€‹g÷©µZô779º¸À |v¶¯°¾6 ö=B{ @£ÝÂ÷W•²ÎܦnXºÁÅô ÛvÖ©ÕZ8ŽÃÝ»†pûöˆ+Â$"ª ®ï1/è4»H¢B¥è†ˆ(+È’JY‚ªª3ÏØ¾º‹½xÆæö&öœ‹ÉשP€7~äkýó唪p<—4Ïhw»Ô?2F†œŸ°µ½AèyÔ,á`@–eôúCŠ¢àôÂE( ª4ÂÏ©D‰±½ÄM þÞ${.â깸 €¯¼y£òm‡f£MXåÜèjüè iUpûÎËL§S<'¦Ñé!›:• SG.KFÃulÛ!XEV›Ñ`È·¿õ-œéŒA§®È<9;G–eE¢ÛíÒívE™žz>މTUHU‰!ˆ&¸ž·äÆkUV8?=$‹“Õ/ºf1ØÜª5eQ‘DUUñ–ò<ÇP5Z–Š JE†ØsE6ÐPD•ÞZ“åôœ4ŽÈ‘8™,øàþ [£ýnƒ¤Ðm¬áx.‚(’¥1© T-«NÃÐq|áÖ^rxxˆ¥i´juLU#ÉBÜÅ‚º¡c*õzŲXxF½ÁälÓ²?þµ‡ç5†äçõÆþÆw€ßœ-*Ë4i·ÛPæ´Z-&çÏY,<¤"b6_Rowèô{|ðö0Nqç.•¿`dI¨UJ×ÔGCÆgŒ‹˜ºÔB’$.ÆcÊ*GU%’(Áª›UJG¬_" ží`Û6ySF½†@¹ú4š%YЬˆ zâ8f:ž±˜¸tû]Úƒëëk xnŠ©›”…ÄÙÙ)Ãöj„ÑùxF^ÊtÛ›tê:em„¬( ºTU! ñÆŸ§µ¶‡=óö×ÿ+ÛÃM¼ÀgjÛ4[-š­e‘`h2”Í.Pr>SÈ&~^ûZ‘¡• ó$@*ÒÀ¥L~î]û…Š•Îßã 2¯_¯íÕkmž<>aæ€i‚n(ø~ÆhÔÁ«×¹ûÁ?ñÚ-®õÚLC—«Wn!Iúf›Ä>c:cYeÇǧTùªbw‰¦ŠD±njEÁÔÏx|:eÀTWãŒ-àå¾Êíõº‚¢šln]ãˆÚà YIDATéƒX8^°³{•v»M·ÝÁP5Ξ=ãþ;÷È…F¯Ïp}Àù¹ÍùÜÃÔeÚu™|!ˆ"Š©sóæMÖ6ÖH"×Y0 çÁrA‡˜~¦š(Ð2 J³dÐiòáÔþÇ_|ïìK/bœ¼æøÿj¯öØ¢½ «=Qãøìœ0‰qªœëׯ¢‡!B3 #zÍ.áÓŸÆê™øÁœ,OI’ˆÀó™\L™Œ„nB·3âåW¯ãÌ&ºÔñҾЖ+U” *Š’¢(éo[&q™cÄ-ðs–†ˆ><N¥ŠOZ°© •@š•ˆªÁ܉HrEè´$,S%‰A«i‹¿uèt.Ÿö÷ùò|øÊ" çŸßÙª–³1¢(2¶(‘8ñS*Ð[†Þ¦û¸™OZI4j]L+'ˆb⬢%ŠHŠJàÅAA–FüYtù /OŽ7ÿì•váj@B"&“L¢*#ê…0®óßg6ðcÝ:f3Z“‰¢* Ó]7𽘿}z™Ä»4ÇsÈ?Ü2+¹éwûœ•b0'ÈJ¾3¹WÜÖ^W4/fÔUh¶,LK!+~ùž{©Õ¥9žþÑz½’*¹ër6ÏøF²Z ó™žÆ®)%gç2Ðíëüéå§ÙKs¼`üÚKjâÃ7Æ6£N‹Ÿ¼±…‚Ï|2ãÑ“”_Ë“K}þ ùŸõÖB¯qæãIEND®B`‚pioneers-15.5/client/gtk/data/themes/ccFlickr/ATTRIB0000644000175000017500000000213111346241564017105 00000000000000ccFlickr theme by Aaron Williamson The ccFlickr theme incorporates the following images, all of which are licensed under the Creative Commons BY-SA (Attribution-Share Alike) License: # "Catch the Sun" by estaticist (http://www.flickr.com/photos/ecstaticist/1048502108/) * # "Cool textures" by MaxPower (http://flickr.com/photos/maxpower/27757115/) # "IMG_1833.JPG" by mtoz (http://www.flickr.com/photos/mtoz/541984160/) # "obscured by clouds" by vsz (http://flickr.com/photos/vs/186075406/) # "Oh my gold !" by Tater1982 (http://flickr.com/photos/tator82/451998879/) # "Sand Dunes in Gran Canaria" by szeke (http://flickr.com/photos/pedrosz/2254534211/) * # "Swirly rock" by bcostin (http://www.flickr.com/photos/bcostin/57023380/) # "There are 4 mln people in NZ... and 40 mln sheep!" by Alles Photos (http://flickr.com/photos/41433660@N00/296832420/) * Though these photos are marked as BY-SA-NC (Attribution-Share Alike-Noncommercial) on Flickr, the authors gave their express permission to distribute them with this theme under the BY-SA license. pioneers-15.5/client/gtk/data/themes/ccFlickr/board.png0000644000175000017500000054057512532610642020010 00000000000000‰PNG  IHDR Xšv‚pbKGDÿÿÿ ½§“ pHYs  šœtIMEß .4ÍM¢) IDATxÚì½Û–ÛÊŽ,Š T¶çê§Ç>¿Ñoûÿëg_à‰çÐWU×ÄÌ6‚¼ÖööUDþ}[tË$؇âÌÁÝ’Ø`4àÀøõ¹öÑÖ•ò?¤¬x½]R‡Ë7?lRûæìÌ¢ó¦l¯ëÏ–‹~ƒó¿ÿ^¶È œÌÌ‚YsÏüŽÄsæ^@ª~^6‘okù3ç¨G¶{x³ -êù)G^WËaôœÒÏÀ0D÷Tuè+‹Ƙd@¥R,<4~™ÌÆF/F¼¦þ;?£‘z™$ÂY'њˆÏûy s‚ÙAðþ¿ÀÃß3ÖüÎØâ¥ì׎ðq\òˆ¦RúhÎöùUýNØ8ÎŃwxîh`ø š(Ggàññ ¬KrÂg‹~&œàí&ö¸9èÉñ«©IZŒ¥ýóö:ŒÏ2±#÷¡Ð‘]‹%}µãðADU :ë•“~ƒ3!"3ßéS€YV«jLŸý™"BažZŸÀÞùÀÛ!4gìɉÃ~œ@8Ö:$p°"G‹'.3&,žG’\ëÎðUqf2àFã3U'óOp0Œ Ø:¨Háª0eU> :?Oð¥ÁF…ñÒÔö¿ ,1D/ÚïZå66çwi% \6ðadÁ¨2MvÕý7÷hŠíðŒ0š{[Iù÷ñ˜YàÙ¢žṳ̀³ÊÀî2ðVÓìÌ€œàä=Vì:ñÁê“áTÂ9k%ÃxÕÌ„}½ÂYâä(8_ÁdïDiXL†©ê?TýbÇð¬sýê ÖgÆgÛ%î!ψb¼Âöjtí-âÊy‹OòÜŸxdv«z˜0aC*‰'ø\Uç#{®¿à£~`e¶rxü[Ç|÷L ¹m‡W3ìÙ!zÿ,&Îî<çdÏžEÖ+Œø 11s¶ÿO!ª¥>ªà¥2·žû§ÍɇüÎ|U÷ $|D>W4׈ˆŸIóuF³ˆ·˜ñI&ùÙÇsèP|ßW0ŽQt¤rà| õÑËq& 1sx{( ÎßGÎËŸ¸fíIÅ´¢’ØXŒ5Çdï’#(hAšÂ{+¼n­µ•Á8=œ+C½Hcè^tCâ:@ŠÈ¯_ ðø goâL0çYgVh{ðgÚ„lŒxÀû¯jY0ð‘O©ûøtá““õêó2!z¬Y *ó¾‡8æ$8š±g,‰«nz÷"=r‡ø8ƒ øïÊÜì9Üþ0õq¢c€f#l™¬Ï¢2P¯S‡Ð«˜»fZƒTÈ­꾂xüj šƒv"€íßGåªVñ*wœH‘Ÿ\å—̧¶|öõæ¥AìXg¯íûó;ú¬‡¯·]§Ëø€ðÑ›qgjЦæ”³1Tå<04Ïšªë©†',Ú¿Vëå6ñ/ÐÈUÂÎ#&L'Ÿ v1ÈGìJrDõ¦.ªßdv€£‘2oåµÛ:7œÍk ³È(u¹sã<°‡ˆ°+_é}Ez”˜° Qæ@–Qp¨Î€”H=çYåï¹o²Â|–Š—_•µò»¥“TçIj¤#u B¦ÇžÕáã†%:k®§®‰¡àhÃD«TØü}ùN>y®ô'ϲG¿³­Í>sú¸è ¾™²âp)PPyžEúGw››ÕEæLœ^ •œnx7™ÐÒÜr~_Ýï³-x¿ý«íì¤È¿oÒ)‰›^Ì:nG†‡Î$FëTWª¢xêýEóp’á8*µù»eSðÀºA|¾[ëU;´8û¾+{Çr˜ùs÷êõQmÐåù¶•ªtLî¿ÆÒGifŠ®§ÏSÕH"0€¿7ª¬úÁÈlxóY‡ÉÆ^g„ß­™Þ™Òë¯ÒiÃ"c¢t¿ =ZÅÉ‹plÑŒ¥é&Þ½µ«ôéVP f»;›k þvãX ý¯ŠrT|çLÆÕìŒ+=‘aâ@hß©!@?¥zÜIùEÚÀ£‚tgA©H½yB¤Kž¡Æ=]gÏÔêû½±8rNXLl¤Œ†{ǽœêèÌqlWuž³l0 Dbi| c±x”s¤—^᫼ÊÚSeŽ Â"!ÐÒõrЇ>ÒpôzÆØâȇ*}èñÉÔG¼>â0ùB˜,´8k-ï­Ýø¬ £=÷ø7{€«5M£6"jZƒ€]"ýù\ðümóÝ÷¯D_ÝöØÐ·U!«W)PÝwëèµÎü•r&¸¢jÔ9.¬¯ù‡¯õ‹47¦PoÀc• ే}¨¶š®Ì•b¤j—Ñjg×Äñ,ï³6{çþÆï2»©;s¢—Óî3¶Zï…ö.òoà€Ê‡s6çÉÚAâ£U2YöDæn ÏèbþY:lW@]FVxÛ“Ú¹Œð@±û²Ç‘2U²¼NW46’ЉÃä;v§~!“EÌ¢Sñ;¸Y'å3Z‚ekýï+ƒ5qÎ6~–ÅhaÓ™ø¡ÀZB~(gý>¯ìÃǸ13où‘·ÿ^6ƒyë"N6Ÿ¿}°•"åí½¤½?£óÙz^ˆPžAUSÁÉyæxÝÀø! ¢»d¿¿a¿¸Ê¿€ˆq@@õ»ªòtYs)ë~àü›Ž3ªSr¼Î”LÎãYÐ29Lò]½^5æñFµ–›Žððò Në`¿{m›Å6 ù»å82XG^FIàäÒ!\¹= ö ßb÷%¿¬½q†£‘í×êùôQNP¥ ')“â”"¨H6G–Ú{ÕŽUbÄ•êÍ:ãd ²èˆÈ)¹"ÏÀÓr&t´N¶Â­³Ù¯ý3¯Mt‘¼dHW%å»Úå3‰£äÛKAÇÞ¢ôµá0Ô÷”ª†¡ï¤lpà¸Õl´ÅâÛm¯£ÂÈÉ o×Ñ|—W?¸E¨}-© Ç™¿Ûq£hÝóË"ºýj°Âi1ëkJ¿dí¤w—½J/QDÇ¿ý8 ŽG† Cªî-T{ËÚ­Í9‚`œÌÛlÙj8ÇZ ú–EC½ {ö±í'ŒéÖb*º™FÃP¢3ë!‹0D9´A”ÍLGEoC€ä­8?­-ÏÖhk³1ubÜX ‚¿íqf²yšM«ªš1ÇJ—`æºKóm×M’™ƒ¤žûê–¯;^'ê;= ó„ ¸&í,UÃj”+»‘n £b=ÕL¬KùhŒÇ^a’ŒR2!.×Â3DGÏ$5^ zQÀúU²äÃQ§AFP³ìAªB[÷€¶ßÕ8µµ·TªED°Œ’¶wÝhÒ— p–!ƒÄî½³C5ŽmÚÑ;Gt˜[‹cæ¼BõæEFé_+2ƒdL~­ 1¦lRvîTS¡X4FìÁŸá`aí»«}Fv¿vîMºZp@#sA­±l/Ã1¶]¤Ìp:eÅ¡‰ìA|º ^ÕYé>›$5d•š‡| x0yÎl¥®ÀøîÔ½ŠÈâ Ù„Þq½ût¸….f¶ìz%B¹Ç1›ù[Õ@ÍÔdURBgƒç´'¤MGâ9DAeDV”uó÷ÅbÕ,€Õ†ö1 Ö £Ómm66S¼NÖõŒl g’»¢ÃG=O—SÞ¦‹Ð×s&í0òʇƒ^µS3©¦,‚çêàjWJÀx¶º’}äy$!¿2߉;Ö쇿(y.y§q裷dÿoËq&‡"Wˆ|‡È÷EämyÿyS ê"쯧Ӧ†_C=ºÁ¶.bgSß§ä¹Î´X]øãëùÁ®é„sjJƒáÄÂÃU(?…xÅÿÞ àÙVóX€'®ÀÀHbž4(¡ÀÌ€y÷’}>Ú\™ƒè0úÝP4õ\^ÚV,UY(&h{Ö©©äó³g´»³V×Òx2zP‘.?@ŒŽÑ‘±ž1g¿0..¬-o­fu;L£+Lkü˜?þ=ê¤ì­z2'È`¥)ßë Ñ“‚Û§ú€„,z{ mt£1M"™0ƒGºTçpFƒ_w*nèŸÍÐélÜ‚.”®A›Åæ5 X§8S°apðÿLÃÚz|×`M re)Ð3@ìL?]ßG$0R‰¥z—öãÀ™ÏjZ!û2>Xß ´Ö¥3Ö¦ ÇìSª=ÔÚÄ6‚g­QTÛ3dó“±(¾¬¡R5J8»6²¹Q »Ò úû¼´IIÆ^ý|_N*àu—gù¢€½clæ3G‹½le—{I{ -‡¬æK;Ž:÷Ý%U.œÕ½¸ƒÎ?{ç¥s¶Œt´0úô7X%ïY‘ÔXNEQ²ø©.Ì0KÒsÂn0øyVf™“ø™¢Ôf £V‰ ›Kµö©ÂíTl®‰\D.Y„rALâ²8€†¬í—e`E‹egÚz­ŒeÔï‘FQ¨Oqw®8êYÌd9¥O›»§þ(ò%{- I4Sc^**JŸ×°œÛ¶Z ±c} ‘PAp{^–J‘'ýAÈ¡ÙSTû¬]³ŒÅŒ€Cå¬Î7pIX2·Â@ *Ç·õiÜé£o_µï¢#äw"´"Øñ£àE`±”„¡­0ÀL±àýžHç#;Â0êkL2Ü(ƒO¬Ö½+G €œ¤&EÏßò¬v[%V ¢Õ˜k²x¡º‡WË)ÔéLF/:2—ãÖ‚*:ˆ¨rêW°g²³,+’Íj8£½— uH̪D¬ñÊ"`Á™Sú‹°øûÖ¢16hEÈ…žì& c ‘Ep‹rðÞƒƒÍ§~2!3‚‰0A;¥öŒfû;{æ„ZU+uD…õ7î[ÿh®DãJlœÅÃQÑAMOÄ«çž€ÌøL b/ïÔ=1fÞ+hm¶™íÞ{ŽœµŠÁÏ Œ°‹zptŠ'å°Ýç'÷¹²vRüûF¸ éØ5-µŠqÖÎÂÓ™Šmjb··´óʱ~§Üó¤’òPI[‹Œde?f)*^ŸaU¼³Uh8$6¥£2wôº²Ä_¶·„ÜÞþ{]ïYŠ’÷Z9ÊQvÆ>ƒÔDÍá {宋adN´¾t¦¶®ßؽUÝUˆž=érçQ«¨BVëïë„m>#²!’ËèF@$³YÇÂX}¤òÖš C ãú˜î#’฀·ýÁîš«ôò°Þç°—õZÒ]ªÌq&2“õ%‚ˆM¨n·„Åßyïaà`Íœm„¢¨N¤«U¤¥ÊNºûÑÏ=]ã©×Àuöy*ã/RS_š‰22 ³z®…µÇá¢11–aø·¾¦—Ò’í“2–’D Ž(1=‹å¯¤t²@|Tü¨èÌ€ìOþ¯:ÌìÞîšÅž]ðÞ#û2 h Ç­nè—Øþ»47¸tq˜u½ï‘Ûæ3¤­õìfÎ9j¤…GþêgÜŠurn‘Iî&e,œ‡5ÆÄüìT•,µ3ï¯|nª¾¬zfjU`S•ºa À3 b6yF-/mJ×60™Ÿ!Û£"=÷Q¤= P g¶œ!‹,º„CëÀÂñûãÚVÉAäèL'ÝÇŒÔÓÍj¯{=‹Ð©ÚXz‡“1ã>…kÓQ (S#%¥Óȧoô˜ò™\æëuFR|Ýi#’câ,Ëzýd©Ø’ŠþY‹Æ‡1¡šö’—{µ·t*Üåic’¨"ÝÜë<ÕÖÉà ÷l‹º‡P=OçͶNñ›sâÆ½¹ÙìÏ"£wô¼CÔ&*Böd3IÉIÿ`63#‚³¨¯G: ÷Ÿ½}º¸E±ñ^ę́6^;Û.eN$ÎÜ£Ðeìm ¡4-á³Ó'`«¬5ÝËy0îtp÷\ÿ"x¯ßÀ"ËÍb½Ï-À±*j«§/Ý~•ú†ÙmÞJ±/"fÏ¢pm(°6M’3Í»"À }¤;ö€þE[ OŠ«ý®û$ øbßS™£¬ùï¬8EöüœðÇ3 ‚gìëÁS>€Ö*’‡gâ“rΜú£÷Ä5™½ÖÇò(ùñá¯,¯ì…Ïõ.± ¹Üj9–PÀmFÖD"pq~Ž"n]:“±–`ˆ1¤‘ÐN8èóQø§ÓïÌæV=”ªuN‡Ó=aÃ` ˜êÒ^L‹}xMu32R«÷Ús|Uûìí)­Ø}îeÊ:…±7ò{¼°ÓŽî¸Æ-©„Ç¿ÈaÃßôZ§_˜òG¼J¤åÁ±¸~úQÀ¹ŽðŸþšMÇ:ÃW®6Þýk lïÖ̵ÜÞöªn£Ru]pó_³¹2¼Þ#úY pØ Ò*ˆ«Ô=<ÂßiÍJZ^*m«ê=ÌgcÍa¬F ÷´HžÕk(©.Žb3ºV7>SªÈåŠÂÎpþ±óýOÞÅ01ÉÕú‰?|<ëú3R®{7Èß×Ww¶þ¾¾ Ùsão¸iñy÷X–˯0gŸdÍ úÛÑ÷ÄÜ¿‡,.n}8xïű¥TeçîŒmÎrŠÛ³|)jó ºµk©Azøt©€IFIõ ÂqðÔ³ÑK¹ öʽߑÊòÔ(¯¡¬LÛß…xH%û²³Â‹`ý©‘WßOU…‰Ÿoéý}ý}ý Öî˜1ÀŠ}¥å°˜yœ”¢†XSíuñÂkJ?ŽžGÎ3Н"äÈuÙŠÓU«å4ãØäßô‹š ÉÓõŠû¦—a–Êb¡Œ¶;ó©Š;ãN/ÉS\ ¢;mˆœ` ðóöZ.+¨Þc£ðž‰Àúl^zÂ"´i£ùýÝ‘÷ß×_ò™apd€ÿDè~Vòq¥ÁF›ö¢ F’ÙÏgÌcõ3Æûî°O¸nø´5…[@Ÿ^Õ‘ž|2Av‹l\¹,vTÁ,ÐÝj-pl+Kàç.ê¯ú>Öîý|¯=i»ŠªbŽG#¤û»)â¾Þ&˜(ÄDL®<£ÕÔòŽ*Á‘›fâXAœlꢒ–³ýÚÙç¤H퀌Eÿ»ÖÁó!êW:Í,œé|Ú<N¤ R§'?j¤Œ÷L—K›ê¿Q˜?€D:¶GŠ)Ïb9DâoY7¸=]ö¾ ø8rê*kIß‘Ç\ ót†qGql`úß}ÿˆ44Ýs÷ì ÒS:ÅÚgÖÊ´5ïÿ × äÒÞCãü®Y(òK|Ú2wàþLt]?Þ :òh¿¥)N@¿øÈ6úFXn`äñÿbvK#hðŠMtTµÚ´«3ëþ"‡±ë`ia~íqú_å¯Î×ϺwxÂ@YPȼmÐF$=¸Š cUÓàÚžOqªUÿgeIxÈ ;¯Egnþ 0ú5ó¼[õèí†6©÷¤ÒghTfVqáþ‚”ß €T½¯Ôf­âU ¹g¨¾ ‰œé3œúÆé"žåW" +R±0Þ=%‡Cöntê=}}í¼w Ž~=‚F›|Þò0‡"o äz‹vlR·T€j=ÑñNZV¬eÉÚ¦wæs XØLU¯TîgÜ®?N4¹Å9,‰~ÑlÑ’îÁ[ŠHoz…gæP¥"žÀ)<ã;>òÞMÉöæÈHv˜5DÊy¦8îLoëfϬm¥qq¯I\©fJvFs2rï{-¶|dß¡¾ë>7Xa^¨l³‡•ôyU©1‹Ä&2÷@ŸPë7›‚ ˜œÍÙ~´K÷g í3ÙHÏŒ€x; ‰õÍvÉWyUôs%a†ÚŽ®Jâs34ÐI¦?_0¤n4-cYg l¶¥=ìïŽ0šÚAÜTw©ëÎÖ Žx¾áŠ”9¯ dYÞ%r¼t]ä**Œ±¤+µÓÂñ>¶ G˶ÿ¢ŠHŒÙþ­¨vïi'0‚m$0 åCŒßÃy¶j|(5 Ý3úÖè(“~ôdü+Ö_pÀ8 wÕrŒ†˜äŠ5ì{Ð膑˜xS‰Oú¨ÎL– ¨t‘Ψ·I†l0‰x*犞8D ÐqÅØ“b„ñ˜­­FÓ¬H÷[g2^Ÿl #¹ó¬Ñù å̈î_ûh¢þá‚ò,G> 3]¨<'ú³,­#3b t )UPÎ$wîF‘¼Ð±jí¢Ô? , ·Mý7sW ËÑ9´*äLö!ð–5TÚŠ8]¤O€Ñ;Øx/¿¸Tƒ+ÝL‹Á¹j¥U¸ [N¶ÿ†HÇ6î0Xã^Áj,(g0Žè®ß:5TaßãþŽ5ç|>=œne8jœ°ù3=·þ¾³×ÚÚŒpë,vû,,©¸r…¶ªó í (@rÃ;Dq²Æ+•4ì¬1cÆöT¼j=3QþàM uÆG' vÄ8tª”÷^ Ö ?q)sõFÅ„‡0ƒÿ ;–Íßè‡@‚t¨ü`O"ô)Ö›‰A‰NßÈ™ýÌ'P‘¥¿µÎ²Ó]Kç`;Þ+<Í"P{kNÄ¡]ƒÜ²mº{3”ÁÛž§Kqh5ÆÚ¡VÃh*Áïò “l-û"—e‘ DÞ€Îm¦ˆ‘IŠJxòÙÓ´´]O³">A IDAT";PÇæû90òÜ¡tÓXŒ;`SSÒo% o•)ªŸpÈa¯‘W:f†Ÿz4t#`DEþ‚Ã\•ÆÄ0æÃª;ƒE’Àpú3ËS^Aðèè a¡ö&ÎîZÍ®¹ü¯J-hääW ol,ߥò}3l”•.‹Øa7ÅMjŸ–ÿ—qŸT‘ØÊ€@LÂd ŠCBéÏ´Õ!Ï¢³jfݲè"±“¿;h¹ê‘d“ë ÇêëÓNSI6m´Zq.#ý¡Z\iÇãáÐ=†ÎPˆNO´™Ô(J¡‰Epp¨ð1i¤Ë°>]¼GˆY§Ç‘Y𨉠#30VŠÈååx[Fu‹¬z[ðQ±¥.IÀæ˜X“"ãdÜ䈦|ëѦ­‚®–ä#¶'…š@ûitYûŒà½¾£E®[ù9Ejš˜dM°àœi–¢l”ˆBDkðg€Š½ãºçÃPÀ=¬£R·¥$JÅÉ(Yb¬³Xk8¤U·v௩sÀ‡2Äbeè<y¶™M¯6Ÿñ¼Î›w îË0}Ã44g^—‚,cSPËPµ~:*ÝÏ>£6’êa©¹ €ŽYA÷˜¿ Ø0m*çÎ>sŸÃ¶ÉðÈk=< #õ´vÊMÇhß uíAªÙpæµdì~ðц´Ü#Jîõö¡ ©`eµ–,žé:Óvvù…E8F –mcT"îoÑÂFZ¡%ÝO/L¤®fgªwôYGÿ*~ÄŸÉtebjÙXõ™ ý?€8= ÎÀO"QJ?òÆ<Ÿc$™­d:„.šžpà]Ï”;•Î×dgŠbnéíVçzƒ¡6b²¾î|´ýAÆ{«µµª6‡£×-Šât%¯pœØ68àѧ¬ €Ÿ€‰Lø»W=à?ºßX˜³ê3 ¤ù|·JUŒ:7éI«0Ø£PÛ|-6 ‰OImh„ç”`TÔò¬†ôU{nþ ÙjÚË(œ1“/ÂTæb)413S©2#°ÇCdý;²Ì­™9u|ž8ŸÕ®°™qlÿ½@äÚÈäÎL‹§™Ð¥>5¬)ŒüîÖéÖ¤¨VÌjLÖ.ÇKäøÜäÆ|ª:¤ÀbZyó­bV®o¢©¾í„{tïú?y½FÀ¨Òp,#d30pDž7sî%ô²ó½³q6(Ø)¨5¥…º´«¶WS 6hø›FÁ: ž¼ýD%B“ Q¢ˆ\“uDè”ɬ"~ÆÂ°¾8‹Žt^"Pr„ôîÉʧ­Ö®Ìl¦jx{Fò¸Òèc–îå¤+zØ9ŒGšÇf®•@ÒW‰œ §1V»1ㄞ ›Ovtýl4¶ëˆ‡¢}*Lëô0rçÛžP(n—3.qÁ{÷ño ä²R6 !w ’ÛKB«„ÉØá>ê$KŽNL›Ö¡cš)ãÁqæ˜FGOÍMÆ4‘>ÒÓÖrxB‹ÖÓdx+žWêYЩc7±·½4ìðת‡&ß[•Ã/¹^ ß–¥gJ¨ëN|¥‚ÓÍ¡S¿1œYJõ|O·êôãÂùµ§ [(1Y‡k›¦Eö©ˆtOç@b¥©¤Ü[wÊ2yÐ1«;õQkÅ *ÜÎ3öê,°8jÚ3ÛÃS±¢–¼¹–c¿ Ýg¿Ì—WÞèû忥8Øà#x¸® Ír9™C8'€‘³BTDX!Õ¨ËÞl‚J¡{µ7Ê' €+8ë£ÒB«xôäò— _öÅ×~m¥yY÷#wÞfqƒ£`C~§éÍ”(ª›"òvy—ɽ KÈ[“»÷O°ñ8¸3Råú‰7Yr¤W´\µÂ%D@'â6e&; –4Àk/ÐÎë JîÞe•ίīX¾ÆÌgÍK2Â{‹Ð=ðS=„Q¸^ (²±P·AÕÊñ{!ÁCW Fá¨]”q £8â GèÛ\y¸ÍèUY'•×”óvñ+$ÙžÅtTŠyòx°¸i_H¿j¸¿¨Ëê.•Wù×3nþ£[Ì¿éQγM|Á*­°¦{‹‹?û&­Î“g¯¼÷æ¸ÞR«:6¿=ìVöÝ{ ‹2K«Í7úS ~‰*r¥òìçH2¬T%óE"äŠ"ÛO­”oÿ»ÛOä wàæHrø²W¬ùÌfdEŽ^.2Ç»0ªì`Öƒ~Pšõ}PøìÑ(ŠEA#ÉIï)fÙë0ŠDˆŽóZá‰ÊyÅGãÛ“cþÑãgçìbŠjÑU& ø‰ÀÇŸúâÑ)5 Õ=QQŘ8L’Cg9ü›!jÎú»lLø»7&—e‘ë"rÅ­ž£ýŒsòu°õ±X ÷©e’òL,OW’‚Öáç ÚÕ{À¿'³+7k¤1”x/ÕïjVh¾ó]å ׿Þ"éŠ{U‰@EåùÖk î O°?G|¡ì3U°UšîüÜ‘‡:>öøä³`¥øZQÆ2[u>³N¦Ù?Ùû¸g9øDžì'Ã|Ÿõ~÷Ó?óÙO‹€Tt+¼ÆÞÎfaòY¬ëòäÅñ:~#›P!^ªŸßzs,Xä ‘ï×ÅN—5Î>ÂÑFFß0,ÒôáæŽujö„™ð¨Ô´(âD4|ž|kžØ²‹«x2¸ «7šÏl0c xû^ªõñÜݰ·N;íßLÑ÷š@8xø 9Î!Hˆ­ê˜~ ¶älàqˆDë`â~=>œBVd=!êr÷‚xÔglYýQ- ~ãöݘÝÅ¡?+s¨Ø^¥û‹ß‰ƒK0;£®ÕŽ¢3T26*’ävü@÷ž³”…ˆƒ9»§!¿€]ú ¨~oÄÃúýÛ²ÈÛò¶à®jxoèÕiÚ´ŸÇZuD«CÂ}Ä)U ·ÔZw›WÊX"cŠ4#•›‚©¤s“,Xñ-#cåŒ8Êmì‰Á+º÷'d›~gª)yÜOœFn*šÔR²ö,Hø£ÌW–qQ©Û˜u ŽhàjvOü^¦0¼÷( *¦ï%‘'1+¥ôboø•Q‘ÏNÅÿ¦@$S®Š} h‡èøÑ3ö:êÏæ‘B³Ëk•±6³R0¿½ï:cˆ8øÑ¡ŠÄ‘*çãN ÁŒQlïs[dOÎögrüБ™ÙÆÑŸùvYäÛ²Èe雮Ƈ¶bm(p¯xhò Á¹µË`–*kÏ:¢»ÌÁG òÇÍ™÷7„¹ïiÜ7ó4u§¡FðöEã¡ðÑ\×ýAí³HX±Hó}Ö±”¬*,ÚŸ¶Úƒ$;'fk7ffìTçôwšw8½ðQ¤€Â½ÌЄtú=Ó¦ÔÜWeŸÄŸ¢ä½:ª}˜ªÓèù [žI‰g£gʈ®ÑMVê*)>Y¾Òleæ0ËP%Í`F?;ìßW¼öÚd«)àÛ­®#°Öw›òív§í³%,)rXØj°)`B8ÏWúý~7ÜWó¢ëA27ÂØLP`mKŸâ-‚MR éðV¯µ­Oð3÷¦TUÕ*='¼JEiOwFMÞ,+’8Ñìv *]ŸÏôÓðœÆ+ÆÈiÆü˜õiW¼§=>l^ÐXÂ4³ÝÿÎÎ_ød@ä£AÌ,ÐùâQ‘j¹ ÄïÃå­DK.ÁÐ!9Cì€È—¢í÷®Î¹V!‚-u­„Jfâ™”qÉTX«jíÿuvÀl¸èø•yxë­)àÛÒsàkÉ[¼é(Ýs¯ze%Ëá¯0N¶#ôœ°å(6Gsû#âHdfþU”YŠH ˃}‚"(bS7rWçÁ]áê!‰Z~œ:íըܣ>ÈU¡0a£Ä9 $³B"3î¬t«—:gÖAÃó¾Ú4=j£›î¶qÈ=È í *Ü£*sûy]ÆÝ2‚ábDºK©GžµkŸ0Ÿ|°ÎÌóÞ¿W>çmò߸Nd†ÉdÓ½ˆx–„äÜ®ÞSÛÿ‰âWcyŠÊ– òÌÊõèz¨°ÿ3ͽ ¹\äL!»&-Ó–G\½b_}55‘Z“ÖŒQÈ6ãöïï—E¾]ß‹ÉÁ¸°´ˆ)]›ñ&…Â;i»Qª!…²`Ê26Ó¹ø^ó3µ9fÔ8+¾—•~µ}ne^Çœ¶ ­â|€¹vžoÿÀÝ9㡹nc )”Ý 1ꢢg8¸h­‚ݽg¾¨rÑøI¬á€m(…8´=FZÁ(çP"¥KÙÒÏÑu3Ïä'gÔd4».îøœ·\šLßø É«<ïäjîq$Їîm{†¾¢þÖ‰D«s&n'•EЫ~léðüµ ©?#¦sÝ=ÒN¾÷žFoÞdE}ÞÞÛ“G—9¼ &ðLðÁdaàY»ÏÛHPvôZ%fQ[MÇe‘‹ºð:5/[bÀMŠÍáÞòu[èÁºô]ºÑ}¯Z—Ĉ,·qhÓ¤£lkSÚú O¦×rš§;®·ˆ»9ËûxD›4•.š'Ô/Ù€ºv+—b¬íÜ^!I* Öì=zdŽ< (œ)¯~?HáÜx¬Ûq#3öÒ‰ˆpLÑ€A"è‡êöœó·3Hœ‚¤›ú `'¶C‚Ö‚f1œA…覢A—s“ýøb`d¥ ˆÔ÷!»"ô-‹þÝ;W¸Ì`5gé[•RYå¨}Ögç‹ËPvÄ“Â^€ÔrÑ<€7Xf´D©ô  †ã>›Ç½Çyx©ôFX°…RxÖ‡*@Þ®‹¼r]ú?’u‰^â¬[‡lzëÛð(¨Ñ£º¯Ü–I†z{…-Yí†}­sEÖ Ö=r1tÕMÒ(«¯ÊÍÛFñQoóp†ÒºwùbÒeéööݰmºhŒ "Ø;q0Œ®ëÈêE*ã©?¿$ N6!Ïgš0“ j&üIkPé‡ã¨®‰èt€ùf?Úßßçý÷‰Ö±~ÄJ[l¯«³Û”@6à¢û¯ggPõ™WV“®ÄQ:ëÚÞnéö,ÐŒ/Õ{Äu­É€)*óá)(?›Æ÷éô-êŸU*›jëÆZ°B5XTàÉ’ë^Qé©ãÇz¾ Èþ2@cï™[mІd¡gLoœ+lÞK·¾TŸ+Îlâ ëü¾ª¾ K€wMeOVÛ‡†$ÑÍ6]à ï%ÁFvYÎwõ¦«ƒhuZ–àÏ(ìó gXÉ=Ž<žiô¢j ø qvƒœ¡&´E¾/‹ü¸>@G{p­ôšû!§0ƒ˜à£ýïMM‰Úƒh€Ë> mÙÎYåÔ^ ÃÔB€aÜù`ºž °ñT|!½Üî²ØÅ(651C–w§Q4Ð{Z ‡F†gœ`CaJwcà!X°»oôÝÞQ$"fŸj‘¼¸ñ³ƒÊ³/’7St¿» 2Öæ´ï»/5l`CD0¸©6 ? €Hà @µÎîjT7ØÆl9…–mzÚã»ë™_‡GãÒÌ_ÍÝgv ~æÏ¢ X‹J®*îT;w:ªŠ¦Lôl÷Ï—§y|WÊ?³éülmJ$y¥[”™H&£21 ‘~¥¥P7ˆ£;d1’IÒPÛßÛZ™T]9ðˆ ¹7z¦à¹s. òíz‘o Þ É¥W:Z›9M‡¡ùÌ"~o¨•×瀳g,©=ûâ,:™ÖÇG’µ±\'¦u„VÆûÉSÝœîÍ [°q/ªt©2À±î§é {–%ÇŽñ§ìŒ£_2*{(»Q9÷«L’Ç‹äQÈÏî“eDjÅw —ºEÒ]ô–WiI–)°Ò»Ä:sZ‹þzªX˜Øm@ÉfÝ»~®.â‚)`<^ ¹çûp³_Ô‹IbÁH ñ2ªÃÆ1ˆþ Bæüƒ/ÿ,ê𺺠7[àÆIÊâ~˘ҙ<51”Dçïêá»ý ÓJ±x).œµK{«ég w ÜYE–ˆ|»\äm¼)©žUD`L5Y½ÇŠA€`Ú9­í2gó=ÅÁ©¤vïç;¸Ëì@º­Óh×z—>²­eŽÎòȬýÕ1´wG¥ajuëÏRv& ¡’Ç{Ù8e,¨ßŒ£)K…õ›Ô^¥ÝñÈìB9™Û¬³®~­’×€RöÙ­!x˜$k,Öߪå€Ä5Ö{(ÃÜz2Ëa¦£Ìì¸Å¸yÅóè#) ƒz`/“-Ñ1P6¥còOxQì”Ø¯šÞãEA"GÉg#õ—ÈàT€Aä[dš/Œ?Ênò“^ RTGký˜†D¾¦á'ÄñgÖž—w.š5rN f}åÍʈf#µ"±Û»¤ã£²4ÈPØh}îì°]Ua×e‘ï—÷~C¬ÖãýŒAï¶Å‘àhûT\yž:t¢Æœ¡²<¦Y_³ÖyÐùáksé6]Â[¤ßátmÃgU°¶Ð[šbÖs´­ÙÔ¼Ðç*:ð§<·?ˆ«~C׿E ÈTA“8:›m!sˆÇOP·1ÞzzµÂeõÀšíg—ÕÛÂù¯ì=e«Ðï2ìeËÚóAç8ÓYÐEîJuvHyim?Ð;Ï €´– §EdíöBi“N7=¨áÜÁ“©Õ|vg××!·™Aabd*)kG  `æËju6ý¬×¢ÖNoæþê±)%Y<é!£œG æJµ–Œ&©ƒðÙ‚M‡ pTT/Ô’¶£úª…kÙo—E¾ßút ÉØ¥9š÷Tj1‘^v*ÏI§¦àžf ¤õ /Þ"w÷ª…ÚáoŠÅAUD®.?(cI5µJ±¬ma4Œb\åx µ!É9Z9÷Ø& ƒ»ï ‡Ô¥õ Ö%´V´lo:Ñ^n¢âW¼bÛãàß32;÷ÂkíÈßc–?èeIü°m7ŒÚûòR%Ûf›Š\ºÛAÄXQÜ.ýØ" ¼ü>ê»pïÂù‰ *¿ÓE2´•Üç¨+]ÕˆR#ÆM¿òo$ä÷AIÖ±³'¯é¦E€fŽ"Y§h3ôbŸ‘?¸\í–gô€Fõ ïc¨UÀIsƒÙtl¶>ß;’Ó*`ÖX²)¸^öNsÄlvú¨~'W„%CÙ¥Šét3*ÇÆp¬òÖÆßûˆˆŠ|ÐášûYÕ:´ÊI+ŠhÕÑrO&›ÂEiIûü¨%ÚDZ’†„‘íÍ€zô%…‘OäGU}ŒJQyÚú@ƒ·ï£R$N „8 Aœ4/qê9öèÈ÷>ðh:½X캣l@§ö-âˆO?ˆZp,¢ÊÏîôz #Êñd‘©€Ž½š°,0³Ï¬ þûzíúŒ0CÖ€@âêÊ#íÇ=Cœ†j¤#¢a+úÙž³ƒ€G…Δ€)p@ؽњîPi t›eÜÒ«ÞÈ÷ ÆHGÑsBàÁEÑÓ%ªêIì}Äp½d½n*gœÉ`k¹\«ÀT¥u´éVÖ÷¯f6`Èoæg—W²û_y1M+Š|6w‚}ûá$ÛPéU’¥!‰|𑵠8" <ý¬^7bðâ.4ü”!<à"âY$êÉûnÏȺ”ýðsû=-€»Ù˜_Ø >ú‹À _^ F¼6ÒŸÙží‘5Û:ÒÊ…kÿÖ ~¾å Ý~¾¦º^Žb†/=‰æYð(*”`Ö¯Ê:õðîCaªp=¿±Â`L`"Î~@D.ÈëE¾-v‘3³¹Õ5 4ÖkÄË0”NzØz…Ôñ­Nu©¸’ö\B5V¤-K¹8b‹8ýBDuM¿½ª–:õ0’€0}3“Œd´V‘ ½[”±Û->6a±¬ìTnBæÍÔ§=›N¿g1´Šp» Ï>W—’5À¨êžë"ó£á/uo”[±ù‰‘ ˜^´ø¢î®_ÅyÎr«)Zg°Ž3Ýç>xL3¡ ¼èZŸñ{_2À"©ØÁ5\LC³µ¸Šyᬠ4CÓ(>Œ$^‰ö19?±åjÿjÈÑUª:Ì6?çO÷Ý oópY ßo ã²ô`uFÁdQˆð®î”M•BsóîiIëj½óƒ{uÆšÖ`£—-:âÔ¿¤D(Š4©VÎ~¶X}æµF¡ðYá·=äaå]ßOÍCüÜ3øÏ–n5l=ý¾9y`g]p½n™Rtl=§q¦%ý)š“&ó>€ã)_ouczÉ:«A¾žnuôlÚ/˜í7³gÛxÐÍôbÜZð¢%|V8õ ‰ÎïD(áê-"<T<ÚÌ¢¦ÆþÌ@÷0+#î’öªyLJ×”'¡ÒÝé¯Íw.À{1ùå½W‡4’¯e»ƒpMºÑ’Š$zÿ3gz|ûºŽ÷'X´cÞ‚ø *ºÐª¢#Ñy0Ðt…OP­ô½»"úªÌì]ìØ‡•mLóqÔÃ+ˆ ¾Ï,2Ææ3‘zκh‚™ÁN¼kTɇHB•;=À<®VÊ•SW³wó#ˆ·~±›O D¢›zV‹l½“pÕIÛ{~àË‹LGQìêß*=Šªgæï3Ó•¥ÄžJÁXO€p[„N:޵ãuï Y mMÅb¶Ïm¤üÐBqôû\´%£môh€rYÝÔaÖib‹:὘üÇõ½¶c[0[ïèºnETÄÉÏlÞÓØOãq º¨;l²YkªÖ˜(ì)31Þ:_ÜSŽ£!ú54^4ïKG Ú¢ôº2äŒ3;’õԊה§×©Çƒ½äs6Îd¥ ÁÁ—ù83Íd_I¥%Ó IDATz3<À¨ë/€¹±Ø$ËmO®Ý“‹§W¯Þƒ±; >úÇû 2“‘ð™£"( 4ÇP&Ø/^×9å3N™àØÌ¼D[…kÍøÛYÖáS@ƒ¦¼s|uoÜRÉÁ‰‡QÖê×yÚ²-Ÿqâ \ë(2Ÿtý=SÜÊ(:^SºQ¬~»Åbf9øv}—Í}[ Ëæ$ÞºƒïîM±iŒúÊšk;ŠSíôVYw¸,q/F`¼Z—vî·k¯Iq{VOXa{(yO2¨7d¾TúÇ@ -OUÖúÿá©*@îÀ# #NØNáð|Ÿ†Å±®=Øaާ~T0#G(nÄËõM£bKÏ0<½| kÄ‹Ä9›"™8A›Ž; (‰ûö?^½i§ìï.²1Ÿ!³¦üº`è«×Žt"0‘ß¼5vŒcäswgÂŽ5öQ]–-g¨28»NêÊÉW˜Ø¨>vA¶¶ÁÄùzCë‘¢îYè4”‘*óÎØ]/ï€ãŸ·E ¼É¸²sÚ§šHJ±~“sÄ:܆ó…c´;–å@Ðö0ۉߵî`<»Ã½RˆKdu¸8C™î§㬗Ø:Áú6øÀcodf–¬9«˜ýø@r˜.EÂàP†=þ(Íý¬›Ïjx£AÏÎ;Óߣ±×ñÚ¹L‡ïý=h5~=pŒTñ5a^rð4MJ&DÕ„ÒÌWë8ßoˆ7Q{=V€Û9Û|¾Â7x׈"(YÔF<^z¥”>ãz×ö'd{P¥`í)â6ÑØ Lƒ;X Hª¦Ë¶4¬:˜í8!O<¤š‘©%fÎ,D~\/òãºÈ|¤0QäWaÌÛˆ$Ný›f8wâÚ¶{ºÑ‚à¡p”° ULÐ)[¡–bfùîÕ±¡qÝ|À¼Z_“»í÷b² ¨¶CpOòòkJã6±ó‰ ƒ–Õ¡dýtGú%ð‹^yxg­2§gFaÖj 8\ó)‡ãš8 &ì³m3"‰L$ÆÔ˜GuÇYyK >~)Õ¿®ªØÑß3°bä ÁJãüï5Óá'uÔ‘¯ðñüW• <¯à©?בN³È\©¨xÏg²s%³I_¹’UR­·=³¶ï¸F7Ùýþ UC72ùÞ)ô%µZ@­Òfi*õW‘žaÜgwU‹–ÝßÝþýíz‘WÜS¬Ö{šU-=¶eE#¦‹O´t&hÞjTtçtÕ뎶¯ ¤LkÜ‹“Gx¦—À,8…æ÷M-)$ì8›¨?œ±:,ºC0à×V…( ugj¬;û žr Wlç̨ÖU{ÊXÈÔ'ý‚²óA¿–"£hÝL›ÖÅ ÁŒ¿çíÉK'ìÎæ­<¹&/²kgãQUžçahs"¡ø9/@ìyžŸ×=G%eÖ³Œ‰¦Ìwˆ¢s ÁŒ“þ\Ä´,XYß+àwy˜±ypFœWvaE×;®^»ŒHíÅ4rŒs$(¬¢0“ªÔÞΚ RoÑ<«sFVž• { —Œ‡z»Õtüs]®‰²2v°¡›VÅØ& 3 Pà¯äw$ SßÈñβù¨0§i!‹6"UëÌ ê?b¶…sMȸ‡Vó"hôµFká;,yÆÒö+oP0¦UÀm×"H3Û¾”¿©3fž)È¿¹Í+3Äó²HጓŒ¨óÒ¸¶4ßÌ‘ÔgzËf$ž>†õIÿ ‘¡$ŒZÑ|œƒ?1!M”äã%¾1i­êç2êÓYrÄ+¾âŒB±vÙ¼hGùôï Ói`ÑÀÈ@L´è{¸Výkt:f b"†'\H¬ÇŸ1OGÈÙV+SS)ÿ•ÂuS?®ùçm‘ËrÜLÒ}]Tĉz„UÝÊ"r9úï{φV¥Œ1Õ «àŽC­Á-£)ªŸId“K ´`§[•¶Êx´…ÚÌ€ÇÉ'œ»²ûmᾞ¡àD•äl›¤aÇþ÷Œu•}{uªUö<3at&•ÕJX7ã•g¨(–‰äm¨f£íugðy…™{¨0ÕûÞú{БoçÆ I%ø'îÃí!ÚåKRMÔ¥fk¿’6ó’ÍoÕk© ùl}†ŽÂ7Ï¶ÌÆ×X f}Nb^&÷Ÿï¤Ñœ ‡ØÍ7[œá‡ö¿W‘:ƒIhG‡q܈ì+öcÁ)˜ðÓw™8L€‘(ìw¶yýv«ëø¾èë¨nŒªI›¶£wDû¬‹ô O¦3ÆbŸÅ^PÙçWß¿•<²Ìhx‘BIX09Çg›½Í&YsðÆý¡£ÂXÓ.óÈ…²é,‰ùÎF*2â`&ÔvñÕ„®$Îðl«ŠL<¢Bh™…Eƒ+s2˜?“2—Û^Åù®DÏÚá]áQen5øh…®_Ñ2ò”ŒuV˜ºQ$AÿÞ±S+žô‹÷½¾åôòq²À}ÄÇÜüñ©„ÄÍ㥸÷¹séõ3«äi¥‘2;h‚Á®º Èjõe¨±šþv#r­<5w¢À~Óµ½’Gn“wMð2b¡(ú`ë'ˆ"™ãùÔδÁýˆØ¢3G~«è6 B¨ƒ¬;ƒt”ãsìUºÍš”5f6b«‚XmC3fÓ{¿•;ìwˆü\›ô©§¸ÈÁž |¶¶U\ wO¿ãóz§ÑÙ³Ñ&ÃP}eä3zO°ð+)`U&6ø{€ô>Â'ó3R¿bÖ¯{Ó`PJ=ãÔ.m‘fë_¥ÈìÍ—Ùƒ†Æ¡qÄt&,Às†¯Ã“–ze^^ùúq½È·EÞ”Ïh2fì\Ìî÷¨ª2Š ¿†fæÐRKëÂ}†" ›¤ðwg†¶êTæ5cXvüC$b4¸¤¿fÖ¼§¨•” ##=ÓáÅni“Јbê>ëXØlbà_!N[ãܱA•T”èæÏì%ÂϰS¡ÀHÑñÈŠŽ+‡à¡è‘:—h,Ü‚ÊWмcn…gEÛYSÍèù´jX V¼G>ª$#‚> ýßì‘âôžÏ} |@v¦fÍä"VkŒuÛc ŸÀËo9¤(Âÿ\ 0ÛûûH¯pqΖKçø¤Jò{F"Ù‡^bçŸ;!Ü.úÚÜÞÕUË òt=§Æ.œcÇp>þ]“òÙzç|äý|».òý²È÷ Lefž¼ŒºùUõqŒy«÷PëaÜC÷ïöÀ5‚Ç{éš¹è<±@Gµ6g(t/ÏÁ$P£"+lŒvЭ7>/ñéoZGÊvT# ":–aζ^#«áµ"¯0 ¶ƒØ_p”‘ôôâuJOdéµ&˜Wà­ñ)g)¸óÚ“¾gµf'óI½T‰H.7“Ædò|:bôK`öª %ÏS…ÑV]Á!A$ÝÍt!ÜAS‰E^&Â\øD‘Œ9ý¯­¶‰’1YôDêT ‚÷=ëœã±­bÞnUDLì•VÚ-ßž"5¶¹¶ÕéX4˜ÕëÔàÁÙEn,£‚Ž·ÈØ“—š}9 ²,"ß.ùçºÈU ãz›Å2Í•ÑlŒg[§TÁøHXÕûé€Xo¿éûœLÆ`•2¯vaEÞX݉Ó@Í&ÐgǪRÐzš4 óùó¤­Þ2gE ­¤ <&e*:dEl7iyÕÆŸ]ÍSð¦{? Œ}!tíRæ0ïáç >^;HÅgvŒ.ã‹hÜË_‘õÊ”¨”ït5?FÖ¶דLç“‚¥6Õ¯~]–E¾_ùqE—rð³ù÷J‘ z±÷#ƒ|÷4oñ(9ýŽóe6¢¯(±J-êáq_³­%Pð‹·ÔEvÚØ¬§:MªÎníYUr/mT70ë2+ÆãPtF'\C =@ µƒ¢uY"Uë'Ýri¦÷®·ÆR_C˜C Z²@}fʹ-¦Z„(Ví £ ³…'ÈíXÓ?š²ˆ þù#NÎ*_{–N0Œ6«@þxˆšÉ{úºOš‘Îy‹²c€ka¾[±£…RNÀ3×±1ÌP"™¯ÙP3À³ú™È ¼À‡æÒaì¾*ð/*Q*§Q‹Þ“S¬ä  ë"(È„JHQšq”M¿w†¿"øxõëûu‘ÿúñ&ÿï«üG>î¡ñ­qߣ!õܡǩá-bƒk‹/kb¸­ýöÒ\º.àíïà;¬ÛgVù5ÜÓs¤w‚埡@®¥ŒLÛͽ¹ø}ï(tÞmC›4AÝÝMêÛ¦™)W)¾nÿ>Æ4`8NãŒ>o?öQ=(¾t7ÔÿôÚ•ØB?ô}1´Õw¡¢Ž]ÌRæÄ#<þ+>$`,niIS×ì 4±ù;ð(?ô >Ù¯|$^R¡Ú»SAÜŠéäØÂ“;4¢„›åïz>Nt+UÉÙǦéî6*þzçšÎé:©Æ®OÃýÇÆ‡ÅaÈ 2Õd"iÞFñ‹Ê\FTÉF ÖµhÛÌkI"Ô3æÀ¤6Yþò?÷uY ÿ¼]äûe‘¥j]ñ+û<Ýn½¨ý†& é]%áṂ}êTn·Ö¤•'ÚF²Þ,m>½"Q}E+»KxF”.Ã4Þó#‹Î9­eFa˜GÆe•GMÎ`xïHµ@š±Ðúý}”¦•¤UyZªÒ™Q»ô±ê,çŸ&3 ƒ»Å¨Uí+!î¸ö%°Ö1·D‡5FÀ½¥1ÂmQ§JAµCg‘(8â2FG7Ä`½œêÒ@·3ÂHWK{3aŸJ£H5 )¤`qíV4Ê*Û‘³´?¥—¡æu¼ ®£!Ñ@ÖRݽQËÈ*š£ýuÞmf¬T4†ºÐy–§Tޏ¼4mÉæË4+-º»¶ã´o|Ædi'Öã¶ Ñ`,<:FYX]‘m“›©©ˆDN—!!É¡HV‹ uÝé‹Zñ|‘<¯"×Ë"ÿ\ù¶,÷CäoàŠ÷ˆÔùÀ!"ƾÙàýôUØÅÉù—„_ÒÅ”kaÃzÖˆæn·ëóKÔGÒÆ„¨©œ;ƒmPÁ‚µ¸<©€™(ÐgÖ‰™g³§#JÓ¥Ët/Ívzù*K¼âQ5F§¬òçT‰JdèûQ©ý ŒEºxPÍH—.g4 ¤¦ÃšÅ"5‰é |˜×ÉäšÔv ¹}n"2°ï¹ÚÜ N™ùLûàÊY…š7Eä×Eú ±ãì÷þ¤Rç}.YÝÛ‘F\+J3Ë^W%Z -%+mêQp¸žàÎìRAÜã]AâÂÄy±8Ç Éy?³ì:â¤G¬ê¸kZÚ Dk(9dAô‚Ðÿj&S«JQS&QÀ˜µgå5c_Js_JòŠ~q£Ô½¯Ëùñv‘—¥I¯âÈæßœ ßA 壾Yúü*Rzæ1:LDƒŒõKa›{õ!ZEÍ[Kª¹yìèH¬$åçî3¨…°I^§Ä¹ôƒí‚Uк9s0UÌ`“xmNE3˜ý5³â‹#rÒGsš›1l¥vcÃ\^íÒŒ´iî¶a„bÂ9Úîv @csÆ« CŠG±GÂ2a]‘1¡­£ 66gpxÀÝ‘‘¥•ÂæÍe¿z˜acÂ&ñÖÙRs¯Å7“¥c›b7Û»byÛ¸E»}¥*§hÛWR±íD l;ÝÍãUiuü©PUf;È ¡Ú¨LŒ{D¶²¸ñvº0‘ºcÖ5"ÎMlÑ®ÁÊ é¤è¤ñ6©åqÌ‘§ò×3ºñÖ¶áØ<´'¾ÐácƇà/(¡¡Ÿ^êG0÷ºNŸ^é\f”Ÿ >~¼]äÇu‘7<Ä®PÛq^~mëÏH%¸«,m)W[hävZ,·# -+8l[ š7¬RSÞäµÀÇIE¡q‡že¦ÑåœÕ%¡HÁÁaLøµökàð†à¢²´9*p™ÂÛ˾K£  ºîTÅ}ÆäÈìso9ôëÍ1²%¤¨Üa'—¥<ËÒ€lotê†Þ¢œqTˆÚ¢™Ë2îøÏ^CÅ™ô Óqož×<ã$¸€b50M¤ÐèoSr8¯ŸYù™æ®ímüÂVÃÕ•ïÆcÏ’Û© éxsTàcìhœPð;¡ª¼ÏÆ^•Žd¶ª½îfÀD3œJémô_kDQx”Á–UX‹S]¸6¶íYª™Nbû¤ƒhËU#LkÖ5yÞöd#C idw[§¦KyÊ‹çônMöÈ„MD‡¯¥M÷B{ûíž4éŸäµ,7 ÝE9ïw‡Yˆ¬›åm‘QÓ”G- úƒ*Eˆt^8¬+®yxëÓYcn¤ÂˆæÜS¸ }/¢Í²ŠªÛ’\3†ÉEh8¯Ù–‰š}¶gfWçaEŒDj]¬»&¦lŒ0ÿê:øèû Ñ(ƒÕobÂfl¢A4™àÃZàÐNUí£±<8ÒO4òœ $1n3,˜¾ÁlZÉ]ÈÁŸìggrõÒ÷be%Âc‡ |]äXΪ²ýdÔìCã0ngIÄŽ‹Qsh|”‡<÷m/ª(¬Òz—¸÷{æ[qý,3_m –Å£jÎÓz×I€M¢ü{:½W#Ûð?G4ޏ6œ±œ”itÖ»ë«üÐÕ*ƉµýzŽ«1Ö@ž B,"°ÍtJ‘¤Ôo÷Z'àAõt4ÆE³»MºouÀãÎcgÛ [($ç £z»èÕüPD³º„­Ñbb!'vÙ ^ßßùq½Ê·V÷›~‘55› Û•j{kðùxÈ¥R–ÍaS5D\KgE`€’JþõÌ,·)ˆt¾xL£z˜”G9#ü½í•:]SHNQÌÏ'JIa‚Ÿ¡çƒvÔÞDF–È ‚‡þ=,²'Rk‰G÷‰$,Xæ„Ãølìï¯ðPëÎíG©K œg9£¸Ü{_©OIPŒa²§4[×.ÊG|fœB `, Bfd‹Ïh‘æ}÷Ï­¿ÒØD_Z_[í •À¬þ…°Ÿà±Ù‚ª…ÌÊŒ~â"„,I5PO±çp(Ð(ÈÊIYª5¼4çR?õ ^Õ¹aÔa€I›—¼Ï=œ¤+”(ës–—0¼÷f$BT ~xVŽG1¤¯— •Ñm}Áp<·{”Ùèócb28Xe56×CЯ„Ù˜ávÙK£ï]Êÿõí"öNåøéF•X-:oï‹êx<6·ª—ЊIÞ¦ òý×İê5ØÙl€ûP>´ªólàóÐüÒ‹<7EŽ]Ü©XzþPFy{ïÂ>ݪº W‰óÚa îÆ¨äF?q¤£¥»º›†aÄUDÚ59µµËáØð“ª ‘˜ÙÕüp%>c!E:‘»«õ8ÚÈ9{/*ÑzÖ…^ìÂq©:ÿE³Ò[5RÂ$`»+@¢b™/Ønç—ˆ¬KËb¡[DhÐ0Øñ—A?›lÀíðÑ"Géæ4bí°Ò¯ªy%­XH”¿_Ïâ:-š»úҢ΄!ðâuB-Âô€íÞL˜TÁuÖ© p[´¦Ñ¨O©ßÃеÊèh7$mYc«{E宩/ΚA{¨&|šl¾ã5œ¢×eH­RR¤4kEЈé<<²,Ä=Òã×}QŽ=`äàãƒ" ×òÏ·FB—ò>ó¹·âÁf=”[ïQ¼ËënǪTœèJ®sfäE¯L”ÝÛ^lÍÎÕ•½-•\n›eZÎÉÐqÆ[nš«d"GD[”¥l‘‘#‹žôÐ ƒO±ÍƒƒdÍäh8xÃï¦`ôiª÷~%þqäsRTÜZn½Üè)wGGÀŒðÙXŸ¤À$*cu.øJä H¶ÐÐjÀ;|ýžÂ‡Àñw)K±çB‡kÆ×µj®£RÚhÈŠ·È‡ò­ïcÇØx?½‚1ÞE+ëݹÇ{Á>5roO–Ì ¥`$ê|"*¤Ü…ìÚâ\ÎùˆÏ—½–þ²–ð‘>–Q3mKYé†Î|ú[*mª•aï/VÒ ·³#«´4B&ò Á™Ö“ªlg·ìš¥Õ•9þšr¼gq _>Æ„º[ŠdŒÆ©w3^ô" §!€3:@}Îבï7%«ë­¸ƒdÓèÎF›²êò²)ÞÀÆ–Šu[@ ÉÊCù˜æb tD.afÐh8b%gZ]k•¾ÐrÆ[Ѫ~múÍ@4`¢ÒÃÊ{F&Æ\÷ù„¥&C+Ù0 ì‡ôëGî´WŸ‘å£kÐ2Vïìiφj.&‹ŸÀ´2Yw…ÑÉeAÏr ò»TQ­IÐñlàáz4IþzÖ€-bJñŠ£ù=͉W‡ ùm¤²Þ¾?(ï_kó?¢O{ÁVöwÀÂ0)´¿«{FÖÖ; âæÐ¨ÂsDd[ù ¢梜¨t…żQFô̸3¬äˆe× ªÄAº4ÉKp÷DC*XêÌäøLÞ¼›=†nZ©#ã4â–.[£ä–£ŒýO#ü´ê4úÁ‡Ø^½GP¸Ñ_6ãÇGƒ¼ëå[Z¨Ç´_äH9¼¯Ï9~¿~çÛà/‹È?oWùq½Ièòxphuf%ƒ<¢QâÒ9¹Šd³™ ¶Ü_È"š¶ÎPÈÊ…וً˜~S¥+a— à° áf¯5´¼La2›ƒ¡—l­ôÀÉ0|ô}?ÑdŒà¤SÓME!Ðç½X¸*Döà¸ËˆrJZ‹ª¯Ç# ¦0°^u0þžåìz‡IFh"@9Z €†Ú\V¼¼Çù=-â!“Þ ”°;øÊW5²utLyâœôàà ˆÞÜýk:ä ®«cÑïÙ^èœóÝÜ;ÜQªÄZŸÂÉv½áÝQ߯•+ÓïL†H¥_»N½1ûÇì;'GW¢ð2A‘Jœ?«í™ƒÐ‚: tuDàw™"`vÏlØ»6“#Ò©Ft­Œ–ÞoÜìʯ¶Ç–ˆIÎ"½*a—±³GmÀyÿ“" ¿_ÄãûÛ»’Õ·÷h×J"ö~Ï (§™*vGà*øèv®Î#«Y¡EÆ>TãV5€¥ðpÊøÐ5¢ÙVãZ£¦NgÏ:1FÞ˜Á`…¡€E›æ­S•SÉm|bë£vŬ÷"¸GDo/@ãFûìïö®4ce³£} e|§4ö8Š^OÒ*ÿ.Ÿ| ð´êQÄ*dyà8Ó«?àÅWu—μ=œñAŠü<ê=¬–ò–‹Ô©ã8®û T•M¸ºMS¬qͶö‘‹å»¡lŠÝãìèþ½nóyTÔ¬íÊÕªµÊÒ=)5%̽òϯà‘YU™Ɇ|òWO_Qäé&&­ÇÜûÇìð¨6Vºr»ä yß²!JDÕÒØª`½â˜ĬžÆÐ왵‘,´'ŒSþ:/@äÛu‘½]åÒ À_4NƒªŒN»™VMZC¨ó/kYöa‘±ÆŠÈä{,Çß"«Xhlgôm/½Ö`2˜áÜL#8éÃb± –3Å0Î?m¨Â¶ÐN#Gx诽ÍË`_G¥S3ODh#ˆû!ÂAÙÊo¦¡ ä"U+¯j“w.~³RÅ9gw§ß{øû -,RÒmº<"+—4"¬0Æ/Æ,G½5äûÏ[Š“ŸDÀ컣Œ±Ù‰h…»}O>¶BHÖÌ%±÷†DUâY ¿¢~ÏØƒ,®/³)lKj›í)&I­ßîµï99C¦ÓW¥Ò·±kÐù&ªŸèøQÔ!‚¶À‘úLÉôŽîjÔ¥%îFÝ/vTL€/bZrƒOØÕ ¤øºò#Lû'’PDÞ‘ïo×÷Nåx8·4åi9ð¶UÍŽ4ÅZ30Mñ:3ÇBl]$Àb6äK‹P-fIvÆÑ‚ÚÊŒR¢ªyžU#!Á¸Pmb=O”‰B.­âã×\þþÍDµ…@BS“ÂÑYLÞÄ h‚,ÖêȬõÉÙ½6¢â’a÷ZŽúX”QNÀ(0W<‚z$O÷2§Ârx8o uÀ´‡Î`ž-¸ÎÝ øx!ûÒw²›±]©S®ƒ¦múþóF'œÅÈ)˜‡ IDAT ÷Ÿãý•Ø.øÐ…Ê’O00¹yvF72Øa2w/Ȱ9­‘‚¥ë3 jØ/pÎÁ"¿5½?²ÞÖcšPŸoLP%©„_õOˆ¢r60 ¸²q¶ªÈ&Â8÷óv|4"kôcj•î›n$O°•ÈÏÔ'¡ãcNwºÝÒ··E~\ù¶,]ÞÀÑÜ}7v}9¬ïÌúºòvH ÛP¼w¡½›v¼ÿ f ó·rÎHLEE¼>‰ónÕG̼¬”(²:j*'Ü»ßãì–I÷h(fl4žñ¶^´Ú‹ê8ÉÆÂôź¨/Ç<ÞšÆ`"­qÒR¿½¤¢Î󌘙bx’Cë¥À±bÖ0/[ˆ£¦2«(ììW@D3ñVÔ÷ì¨Ï³@È+^}ŽEVàÖ\pf ï¦ÓnoËK%)ˆS˜¼x$¶Tà¶ž Vˆ;¢€rÁìøíÉnf‡Ï`%…ô¶b„»<ñN~µù·èÊ|&¤ÏÑ}’©nñ´}‘‰¸5ˆèVö ÀoªÙºFˆÁ”wÄVÚà•úƒÐo·i6iŽ];Óûñ‰SLñ¨'VÛ„|mÝʬÚû¼>×ü&ÔÞ'""ÿ¼ÝÒ¬¤g¦<8ÕýívP‡OtÙ®f…tN™•¸çÉì2W¶jÁ@ÙjˆVTÁJ$°k ÇÛô;ŒjCä™]Õ=£”õž‚Çr8¬G:îÑ7Dê,çg¼ß¶ôáÊ΢B† gcEZýw+ŸU:ÐA Aö5›9DÍ€R6Iý<¢^:UÝuS-²¼í»<‹ÄKØÇ²%Hjàa¦ñûlϬvæÜ; ê†(ï)W««%ìÅŶ÷.ÃN±¤5ï²EFT’×#û…÷Èê#Š #Gt<5¬cÿêÌѱçW„]ô’îjCñyQî*’Ûk÷–8½¼ŠN Õ¸ýŒ hG˜Ç¿³l[CËbYNàÛ¿.ÎY>‚4;ó…±U9«Zò°p4×^ð®_¾ZÇõÜúƒîtt^Ÿ~õÝTÞsÀÆöº,"ÿ\¯òÏué‹¿ÚŽE5{RÓýñ²7ÛûV%qDôf× 9Su)…bf ©Ø¨È2'¿»ª‡TÊQað½‚ì |”¤ŒGB²#ê´“–5kÌ¢Ñs[!éÓRÎ{@’?Cv¦ÍÞYÙÖy…©t"Ýï4“5ÓË.ë Rvd™@Uð‘Õy”k#P8 f|Äà®ïÿZ%–5ž1󕚘٣"žÝSaIujùæmÝþ{Yò»DàjÃv?ØœÀ gèhSº·ïºq#ÍüÄÌ‚fÝ*i¬.nÙ6#* uÏ"]ÆÄC7ä§–#·c³ðí.ô‘‘V»]@õMo"~ÍÒÎm'‹.N”6yÖé¾)Ζµú[ºK<ÃèV“©[íK¹XóDw|nÏ0§þ퀼Lœq¢ì8|~|oø­amüþ:•]ƒ:],Í&g¶gÓyÏ™}ß7ùûw·Põ°R¯Z#-ʱ£ç~õ6)GpSAó™4m?š•¢Ãh•R¯Š©¿Ñaý­:HÎr/¼í] õÕ¶úÂd´N3ºbÒãEÛ4¸VxòµŠ(%“,òáÍ+ Ö'‘=fñˆDðà‹£˜&Eÿ&‚³H\Ü﹑†~0f{8K;Édv# ‘sÝè±§1·¾§\a‚n hH¯ ×Ê™Ñ64)¸Ðé°>U.¾È£+³ õ$xÆŒ†*¹ä}m”~`)¶x‹}Vú¨aìJIcwyXdAåè› ñZsy’¿Å½C4†µ¢OŠôŠQ[qýˆmÖÔ@F‡Uäù\˜Î•ŒvùÌ%€©º¿›{.Pî<€x!z÷¤—øTª:†ðûu‘ÿx»ÊÒ9¸Z9¹g‰fÑÜ{)˜Ï jšíÃÄ÷†qmÛ6(bgRQç{'ùïñRƒFåÿ2 %Ûlz­Ý“y8éWœ““µ"YáIÄ&¯ Óα0:cÑ8a;80@H{m½iºJ3v*®}dRŒ ° qfKæEkßE,¾+jÞƒ3`è "Ýs½¢C”G6®eikç‘*©p‹"‡Ø]Û÷¤¹é_¥\eÞ±&µ¤؉PQ jEñÄí÷ïõo­h.ÛFe§kPEœžc|o$TaÅ+èÔkT~ì~\:_¾Ëž;ªŒàv?LŒÎG5æ™ Mõ§­²r£+b·Å9Ú¶Nu¶×v€Rb±ýyw½(G¨PÏuT²²'¼r¡²²¨ÕäëÜåj7ÊìÐ~»¾Ëèþ¸ôÚÐìñsçéõ÷î?Ô¨$q¢ÛÜ[L©€õöþU UOCIƒõì«çD 7õ/mÁb²n†H¿Ž‚´Ï¡Ó:V'°<ÿQ$dˆñ•l-ïí,ý¦w;F7^¶ë×m4éÜ~¨´«b¢†Ë9€› 9óVò2®}&,õ ¹eFÇ‚&É÷ 5™³ç“e›#^×%n…n—¦Ÿm3kÙH½î6J£cè=-$ë3{Ö_©'ï«uéSmþ È/ìªÉñ¯º–ŽgÏF6Xϸëm+„£êm­wG("/¦àmÍÈÍe…’¥¦M¢ßiKÙ¦ õ ʶFú0  ^# :=¼>ÉËU¿GB8¦`d6—G¥ôä!D$ìS…UÉÂŒTrUž€³ûJüœëˆ´´Ø WË™ŠÊeÁëo·4«kפ¦—BôîgmdÍxEÙ¹àC:·­ j•‘õîµF% {ŒW±ÓÜZVí§¡Õ´TeÎWöN½3ÒDœöĕܡF4Œ Ëǹ[•PupY©'x®U ·óÙYàÍ1ˆsv­´§š b (Ž•PNH£ê>¡göÏ"4E‡ÒfÊRW8™1‡•¤ÃÙÇÎØ£`D‘ÒÜ™ÿÅLˆÔ#U¢y‘>òu ޾«T×aù'0Æ¢Évl×ç¯RÊUÕÝ2þNk÷ ‰¸Q±:+* äwµi$T€£ÊgoKQ w3«<^ Cš!*üg6茤}Š“ñ‚†4Ô¤;Q=HÂ}K”E5@<DìjÂól§¹O¸°[z’6\:¢D2 š²ZäÌ› “Bœ Êƒh®C=u?†*!f±Jë@cr¬€ x\Þûw¨"ð¨.Èb-e¨% JÚ4û®±xZÌ|Hð: ç@™ §_EÉ\++ÏqÖ“Ú7;N¢Å=„ýàJei|™í¨˜S¬oèèÒfkÑÀ%»BÓµŸ­î°ê¢$a«áX`fÜk´ú¿sØ Õž.ÝÜÁ&’96ö«•Âê©;‰ XDãcüqF”e樫Σ—˜„‰­Pp†Å§N>AZµ)é?QI¹Ú BTKú!ÂÙ¿·)Ò°F"‚¥E 'U°ÓÛˆM$0+´Ž“’%dˆi¬gÛf©ˆº—µ\µr@T™â°µšSDx™ØŠÒÈ&?PîÝÅÕòˆCÉdglÔ©{VRÓ)²;Çÿ.§TU^ê`°ÔÇs÷Eá¬,ä] 3‘ŽTJ}È‹Á˜xX` ‘¾]åÇe‘·›dkÚ6¶¬íPžgòÖ„˜Ÿ‡½½ ú•9{Ü:ÖÞ¸€µò½j=Ðଫ>5Ë౟k™¼q(Wèº:j.Z#kKÂÖœ H•R—ã,öù2o §9¡·¦djTèvIª:‰”¾b¤ÿ›vgzg±w;Úñ[niˆ20³ãÌTÉ2›‡Ì˜a>­«²„Q°34 9!M…?!;v±ösã¨Ï–%8Ç«l©w–xΨpõûQO“7•«Ÿ8ãà¯Xš]M; 3+¥Ø÷ŽsÉ>Eºžîÿ¸î+ Ü•8tÖ­°&+Y_ X€cA-Á@óPYcií35!CÿHcABgÔ“åF@azºo ìF„¯òc#rX‚ÙV:»æc—Iô%½ÚÉ2Ý•÷°áù1;R>®³L_˜?Ûª,8¶å9Bý°ƒˆ\/‹ü¸.òOSßñ+HœN×tÚ¡]-ðJQQö΂“ÔÞ[Ÿ\bïõÕ8ˆ·*MùÖˆc̵ÖÔZ\D:unݵº•<1PqäÃÓ;ü’^•£¬Êëœb¯#ʹczT/ñVy££Õæxi­6ÒkÆyÇ;;Æû{`ªU“4OÊTÕ(¢Ú„ì¬é8ÓvW ëà,ï ÇEg ö¯g”uÓjQú¨n¬âQêEÿ^?j’Œ÷þ”«Ì’07ê<Òï½Q›®ìjÇ3™¶ÌnÏ”Ê*À`QDë­h ?QŒÉ;ÀWwÝ,Î!Uõ¢®OTº€HØ>¡=÷aHO%j@ðät[DµëŸˆ¿c)±ñ–‚¢K?ó,÷®W ¾Ûà}{o¦>î—P~b9jŠOØ’›3r¿gEàXQn²2¦Vמ6%ë}|NlÞ]&Eq"˜˜yÿo¶ñyèu¤C”Q„7u²î“ôk£¡hAN®úø¾>º^K›Šp»Ï1ÚÐùAáÞƒ+™ÛÙEíºÃ@P¡‚#æñ GüÔ´.ß.ôç\ïŸÒÙMO9xücfŸÏÿþÏ ;ƽ?dâƒzŒULÕX;/¼ äe|»È?WÈõöû_º®_´77a8‹ã öÑí4,/‚ Å5Õè†rú–¡n´©êý×äz•\]‹½XàÇY_ëL@’;F#Å ÜTÆpœ› ‹Ù„þè¼7ì?ßVz`œ‹]•ðþ¡å1Ù¶{Öá וáEÂ#[e´eÞþÜã×TRž¦ÃÓE/ «¢pý 4S÷5mÌVÛ™Ø3Çn>ZWõБ:ï)W‡ºjwN™’=sÞ©yq§áÎÄxÞU·ft8i5žüªå—îöew)•ßH/%ÓÜT纺ª…ì«1ÔXÀEWZݤÔ] A% ±û˜ÃË’¥ÒDëÿ´¬—^§{Í<ùU]’Kžoï¹j€Ñ[ _BGc¿=(•Ž’Å-cû¯oWù×u‘Kƒç~)楡de¦¥!¯ß·ŠßO¢}­b7) 9pšÄ)PÖ=Óº®©ý~ʾÅSjH8¹ŠIºëº•CÖ9K9Éæcôš[ÅN-ZÖT+ ­’÷ª²öŠ•Æ¦§¶B ’þf”9Vm®vüGÉSãỈY®ô[òö¦™²Ø[ÜÁYAŸ±"³>k|Ë©^;üPˆÏ6˜éUðsf/“³ž/ºn)ptçˆuo$Ùÿƒ|Âùàƒ]QKDzôî$ÚÖÈg2 ÍÁÆ4eÙíK/E†©x+PÀú£–ØÍXáˆÉtA ‘õàC[ ÿÿ>ú\FaM´q2/ßÄúœÕ uæµØ0 ÃRóï=…(VsCIê5¢qãÁµ9ÙvaŽ®Ù ÒÅo¶[}ü«–•ƒrŽ-*R–ê»ÄÃô®‹È·‹ü¸B.wCöÚ$rp!‡ýZg3’efqvW±Õ´V <5;…pˆœ8×ñoœ±.„»ÝßDY|&™ÈXc,Û áÐMÂNÖ±æ¸ðúƸÊ[tAŠMñLïÓö0uã0Z’7ª® an]3ÄŒÏmS•ùbel ŸSbª`غ.âÜÖr݇Åá<àñö00ùÙ‘’v{7:Ž/q=u[ù¥hÏORþå ÷éíÍWÝéǃHÒ)Ƥ&mGË…º»ßc>ÁkO ‰&-UyØ„f Œ´„bÒ>ª±Õ›ÜyÞÏí›ø 2’ˆ"ìúÅ÷@¿q¯t…9.gŽ;-#$‰ŒT’ë2OÿTÏy”pJÓeÝîä¿ÿóÂ]åùh’ÀZœ—Eä?Þ.òýŠP› Fà ¹Ç¹¬wÏ=`w˜w·.åÿNÔ4ˆØ…˜VdÄ{<Ç„¯Ëݺ›ÉY2Ýó)ðÑ«©9{÷îØÓ7ô&®‰¸µ@Ð+Hµ Úâ1è{?óȼËeâvè t;É4R}ø¨NÙØjÔcF÷wÈ\rË ÃîEmÎøîá÷;¾³òÂÆÀ,S÷~‚Ñ2uùÇ&ÙN¶igKÈÿBäçËÄš÷QáV¾aß u’Ò(é1‹sfmo? áÁUÎféÁýw°“Q;8¢x®À‰iXRÌc‚Ÿ4êT¦ËÔ9z¡0û·¹KXù ûiâþ¾¢þ{£ç7>“½”9ˆ´«æ*Æ´³€8™ xž»^ÞS­þYŽ.3‡q¡a´±|NI©O~´5Šº ÜU ¢ï/E0"F“½ZóúÁŒŠû}©Uø»ßêÖÞ¦ÀbÙÏÖ¼vÞ ÙßZ`m‘\‘Gƒ10°Ã' Âì}O¦X²•¦>×FJÝL‡¶:uØäÔî4¹\p"gKÓÚèܹŸ³.„öuéz[`aÿü»Ô yµîiœ°d ¯ýþº²»|”§YÏ]{»Bþy»Èet¸Qª÷ß.wÔŽ®èM/ÄUüÎìdÒ2–ªxÕrɆhç‘xêæQ}·‚Z`³¸Ûá¡èzäR’ô òx3ýÿö4¸5͇0`©*]”‘0Æ€ *g]ˆCGÅÇz…sÉÂJ«Ó¸ßF…c=ådRåTòNì€G@$VþÒ\ˆ·¥¨”ÍÝ[)(gªÓOŸqNøš]ÝÃØÔÈHÆÍÃÈ! {™¯k™Ž¶‰ ´¤x׌òöÿ?{o»%¹‘# ˜Q%©{fgÏ>ƾÿ£Mß–J•´ýAàp#3Õ«ì£V)+>H§;3†=¤<ú+}'å‡j4•ξˆø[KQ 9á†ðlòÈ?ŒfUFƒ_)’uzA¢‚k\bu/™?׎ÀíL°Òà¯!Í=ñ’£+™p JßL³+¿ê½Å¸`—…4/zž±U‚#\™äšy ˘òçã}{Í-Œ@ñ{|k§è=Ûgr|ömlfÌ/!~¿-òÛ·e/³ÒD"ym6ÖZ;Èî8 MŠ)]Õ'­®B*ýiï¶ÐTž~¦y¶dxŠœtÕoEØqÄ$ìÙé è×hŠ••5‡1$££º.Ïu¶Ï¤ÆŸxf°Ñ 3.4æ+®•WÌÈîBâéê®i)N¼| ðû+€g(¶šôäÂÎ ±ï7åEQYzóGU¬3NüŒ®2ò[÷«¸`Êáñ†5m”?ògÐHóq]µ™ñh aÌHÚlYÊà Ž²Â£Ñ‚­D*/©)zU§i*¸òQ± Æ¡•À_{šé)Ú×ëöc^Bd³'- ,IôQ¡)g*o®!jf„·“u.á™§vôléŽÞºµE¤·n1SÉ™ûk¾[ä·E¾/ÛÔò£f çé·D§Fò»ÃóŒ^è……yÜ1øÁ.ô,ýù`=½?ú¨}[ïvxŸ ò“'öxc䜊@QÇIäu;qL#ˆòøhöåøI¡@‡âƒ[¹ß”hF£¤êŸ9¨Þ^ùR–ÑáòßÈ7-%Œ SpÄÐ|ÐSsÉq€]•a[ z/{ £\‡üöù¯GÆc˜ès7•ø3í3U€ÒËÇ5kç}Îêõ>êcƒ 8L Û£ ÖÓI¨8ðQ`xlÛ²7§Æ|e;w£•g?ü¾ÊùtKÂ1²’:¼¤ lä…Aˆš÷áDÕ£¨$žÍòšñh³€¤"'=ê=²sLô-d£ÌÎÜߨþýì g\ØÛ¾†‚*_d4ôgdCÏNx…QUÿ2zQ0x­)1bN¤Àbÿ!"?—ã¶â bw^ BZÊÒVyob,T]íÀRKvÒËäÚUÓÖûFâùè3ÓqvžˆÛ]m_Žª¤b¹©jÙ† ŒÚb&:ðnË»ÏÆåí¼-v¶7X–¦(N .ÂLzeANÔã’ÙÇFD ÌÊÀ†çaF{_¯ññÀihš…{/£g°0øý87Ö ¯h®RÄË~ŠaÔúúÏ[kh†4Üÿýýû=ãñ‹êñмžÄ À˜¼Ezu›Æ¤eM3·î©hÒ ÌB7pÐ ¢ïÙ3(K’^X&Œ@8]ëé«…i¹bE­¶Y–o¦Mâµ HÜQ1‘Ò®»ÍœÑœèÙˆgÃüv㾉›*Úµ†ýsè–ŸürþÕüŸÍG<ï8çùå8[†‹V’‹zÙ7Üz–Ýf”F%•¾€ˆ@iæyˆÓ«"ILª"ˆ ÏuÉ‘ö+•« |zjˆýÓç;tX’o„”ºJ¨_â'§j{gŒvCÔh\ݽ×3æÙqÛÊ*ÄÚØ`óf(ÔL出,È(Ø.Þ*ÜÀ´žWU´¡+?·Ž^׈?€pàž'2#÷3u·åüh.ËßÌz§žaÙ=HÕo÷&5gÍÅʨ’°ÐÚÔô7q”ålÕAz»‘[¿sMp{ýÇãV¶»i w÷"­ª&L—aÙk3!1l½Ãü‰S&5ÈJXðAë4%Êe\Ú08ÃÖ¦ɉ(mÒÈTƒzò7öìG»©7ùH¬áž̸ܵ>­còàw,ZúÑïqÌèü´e7íWö8ŸõS)Ñ:[¾“5…Ÿð'îë¢êÊ>°-Y€€ÑLàsàöW †a s rNsnÙC1ë1Ct1‘4Æ Ö)L¸ÃÿÞT!jö°ï¡‰²=”ÑÔë1ØŒ²phCR†8°Í|lŸ¹¨àÇ«Õß$àŠÈ(‚,Çø|6øhÃj8¦)›˜ÔëÈ•A­]f‹‡g^È–åõf»Ç¿ã|¤ç+*¿¥ø3Nh ”px¹G ·£â‹B ->i'4¹zR "#BÏÍC·’LW7Ë‘NðfCUØN µo$aŒX‰.ÝÄmú²ªõß׉ât9ôvÐ,+–¢0¬(uT¡gBÐa%욤1`cø›ºCµ>›ZáÿûÏ7~{ƒüãÛ›ü²ø%K)‚¯ì€Œ…NBÃä‹©›ÜžéCîj]îà »¬F’ óìlí§@72¹lKÅÎ0E‘¡/±o™&â¨BÚ$©ÔÃÖÖndª÷Ú£a³Ãćªß56p078Ëf¼ºÀ;›P>a‡÷š—](‡äÒK£Ï î^]årœQŒ¿´iyàe´À’Ë“ŸÉ~d„wÞFB—#Nc›6Nrn-G¤§näØ×¡ëµ{çw‘¦×£lµ ™| "¡ýÄœžs8š2çÀU”°ÒGËQ>bv¥ësA¦üEÙ/{;VÊfC°U˜ìâ.÷?ë˜Ð•³OúSÏnP²¶º™’ñ™LÕÌ3F¾mdÎðwaû…k¯X¼©=lUy¬ß»“oûÒµˆªØ½Ö`S|i‡’JGV¢gäá0ÕÍ"f Ó‚Ìä¹¹Ð-Ò^þç×›üß¿¼íCWéÍØ0P1s :²’ƒ,€žâfT³>$_°¦ IË|n} TƒÙËô6Ä}âCìvèb6prd(X"‘œ07µ¡t•)ôŽOÔdó> iA.dD9ø(›Áûí™s ‚W‹ûà¿gÌs‡žZDØŠÜæ™œAE™ Åk [¥:KTÀ¸L\O˜©ÜÃU[AÏ2’øð¸ƒ3¥g#°Püw¦äê…tÿ‘Yd3^0š‘õøïŸ¤üøà£rí0jô~ÿEðqü‰õ¬¡S§ Õ}éïÑÊZÔ§ ETd<*¶ÖuÍáŽÊ3ÓŒ .ØçÍè€MØ å&ðè Ù'ºH'èÒÄݪ–Ïêbˆ ŠFùTœÕ,tn.J)(É yăðˆoÀbžª.zj¥ùøxU)›R)>ü Ê§»J•¸àãHUb`¹©–vòHÔuh7bµxÙ;i4Œ+Úƒðøç¶,²üúð–ïlÕ­¢fñQÌDkà(}¹œ+»ì*[@ µÙh@ÀŠD¼Y!e#š!VMÏ àPÿtAùžôÎÄ&x—ç½·»LDUNÊ®¹?šÌó€ ¤ÜKT’&‰qç€+‰æz Z‹àƒ#…¡§)þŠ¡O"`)@J$üñ¹[aèÆ1ÏFšã.« Ö“ÀAÌâÕ&x LêUÛ¡Ô´ù5½EPv&€fqÝJoåÁ5YÐYª Pø]D~_ðôs=”ÏRèÛé,Ø®Fä(ÜдÝIk11Ø#µ,viûß:$Ë4ˆBÛã:&¢‹båTh›¨¬aç$$¬téÔâ"’²ø1ojž(ÙÊ:1¿ù#€QpNÄÑ‚A$~É’ÏI)ðÈjÍ^µ*X-H ÷ùt=.è‡l”C4÷§%)œÍÀÎvý%"ãlr i ŒÝnoò?¿Þäÿùõ&·UÚÒ%Ý|•=0ªP…HLàºó §A'5• Õ5s Vv×»nË|±UÃB-ð‚äˆÏTn˜Žš~S¢æf+íÀª$sšÕìz½Í¸‡¬ :‹ÄSâ+º'Mí:Lm,c±Çfÿ½ ¶ÂZªkÑ€6§é’I¦HNÿXõL`竈–äh½‹ 4Ö©k“q†¾ÂøÎ‚9qÕû•oU]GLW9/0µqgð#Œ³ñÞ…ò»`uã’î¨ûñ¬ {ü÷“ÃÆƒ0Úô)]bÃF+ʆ¼³¢:Ô½ÞTÄNØ=Óä+4fvÊéÃÚÄÎNóJ'`dû‰¥FJ§5‚– Ksaa˜7}‘G ªI7&À¯:Ó W¾¦Ñ's$WÅ0ô¨v4gƒC¦õmYä×o‹üãí ¶Ê¥›×„Üx"]_ØÙ–½Ô ß[³ø;}ö8fŒè&ïÒ•>m›gE_{½¡×Uº!¤þÆéØè˜Éõ¸ƒ ¥Wÿ² P¬a%V¶÷†!:]ó~fЗÊuŠLÌÍ«$m¤† ¼=då$µq¾”‘,”^¸rÌ“¨ÿ". ÓLʧ.zløgHÜ "ÆPÎUýξÏË—5®ãü{qÝVMC"œ½7Ø¥¨»ÅC· ðÀÐKÀ4®šÖC ÷EF DÜ,{¯ÁÊ~>ˆ †`0õEF”ÐŒê&Ý>bóÂàc@ˆ_'k¬qÝݰ­GiŸ7ËÃ] :¶𣭨C t“&Êê±7Y³DØ¡´EB,AÐŽ5Y–˜`ç¡•X´`pD›L8£Eªh‡0lAƒÑ}ðf‹ršÇwSÅbH4óå3ªOG]Þlò€ÈÊ P|¾ì³ ä—Û"ÿ¼-ݰq{*nÛ¬^¼«F!î%‹ÊrÀB÷)0ÍvuÔHVš’/{Å=•ʵtFƒ³p«¤9oõlÕhZM/Œc€h6 9sìM„O›)F,ÓØ›à¶†‘Üš(¯Q2rQ» wnÀ ÏfûýZô™…äÌU²l²ìj^fþ5³Ô|1Ñd<¢¼Àã^1Z±šQ¸bÂyôìÏ€œøRœ¸Þ+¦»WX™0~,œ;r(*ÛÿDÞ/º“RÃ×Ôá†ÑÓ$Æà…Ó° cR¾ÄÂszÿºkl‚Þ»#ü“6.‹ž³GjÚj›&ëá ¦&åEV‚OX—¢m±#&,éí¬eTrï7 uÿØÊÕˆÝaÑäþ :e³®""ƒ‡#Jt` <ö–û†fîD~ýv“ßÞp’«¨<L| RWÔÐ5s«5ñÁì(H[M]¸ÍJØÐ+›|NS’4 ŠS¥²ª@ù07ÊMù åæ:è«C¡ N‚à†Ùî-ªÜà8ôG˜+媂|4e.šƒaŽÙ? < ÒG¬:"ðø4/ÜÓeÁ™2¹tؾÝHó5  ¸÷’JÐÀ…6A}¡ ÅÏ»ÒÏL7¿bKMêÛìƒfÛ #²œ_ )òS(¿/¸`Sÿÿ„L/Õ åâôRðYsöAÔßó\Ë{ÐÕ¸kÁähCrqŒÎ¦y"=|>bߟzsºgù6¤%ÔØÛ—\/6™z8…Z=GŸXVAF%«§§yÙVõÄûÂíE¿ßooòÏoË<Ö`K-Ò‚®›•àÓ=!Ëã!¼{ñµÉnd½-: Ú’¤P¹ˆ&›¥{E,¯í#D›Ë)'½[„™Q²ˆua & èö"M„?GU¢;ª§fôËe`¶4(ÏÀÇ =AIšÎ¼™rº§þöZOáo´çÍ+žõ 6d #x'–‡2g¾³¾zò:Ë='úh.éψXØ3ÀÇÄîa ñï¼÷z¼/_£äêkƒãI.0¬˜±BO×õ<«P'¯M™ù|;ä)GvQƒyF1¹}Ç3.1Ñϵ°eÍži‚ö²¶'j!v…-5Od-:OÎØÈx8ALÜfG:)H§SÌö :V<èó°Ïræ8ÙLõpj¡çÀ‡+ c°i?oxƒ}ÿßgžݥåËjjÍNéÍrÇð$àüõž-%âß×|7æÊºf”µž]ø÷Ž“oXÆÉòq°ÞÈöQäOùuyÝ—…D_0 ±ácÝÃkbIJŸU»àÇ>€QF¡v±Dô9³Öô1VâÃ,ø CÎ4¾¬üÉ8&kˆ(EÌr…å™@ºL¢ ïÂI³‰^íŸQ±ê¶õýoËr ö˜{­úõY7QA‘M*ëTs¨ó´šQ:H¦çõªXÑÑ7߯u™+AØ™&àfŸ9Ô!Ndš€l £¹MɉÊÌb>ZΚƒM> {(Ô1à(6¨¬0ᦺá<ë][#c>÷ýW”–â˜tI/ÅbÁƨÌ«ÝxF®cÂÅ æQ-=k}'W ÏAdÆ£°'¼ qط±¿v—Ó®"֢ϫüüø€F¾hY8µ‹øêtÕÞ³Œþ3[Ìëñ7CJÇAeÅ«Jª÷w§2,Áž‡œ,u3½V Òª[YÕ°÷µÍzT·¬í— ¸ ˜¥Ïd¸‡:Ò_#ŒpËè¶& ©3›3SJ[Oû IÁ¦Â6Ǧ|å„ ödöƒçPQ5þë€ žçYa'¤¿TqêYÌ™' Sñ«@¾ßùç »_?2[÷Y[³H^% ¯á>>¬’WûœÍLà„J‘÷ßQ©U÷¾@#;­ëçÅ–Ê}”ƒ6a¥Ž¬ÇSCtÀ}¾¥N é" ®éïc^wF"L6Úgžœž¾6ö]"¬”aÎhÚB9û$à_Ǩ%³œ(ØþƬì=4Øïˆzª5,Ýœ ][ŸUni× ‹þeÊrQù¯ÿœÙs˜2›¤n#ÝÝgL¡úðökXã¬GºvVûßCÍgYIqQ-M¢ôÿGvþƒ€E¥×hÌ<|Рv°QüGRÚñG6&@ä—¯ˆ±^÷!åõï2='ŒGb ;ïè' Wƒe[ÞøŸž á S=*¹¿BéOûúZõ^z6e«·q¸vqN?ÜbÑïÂÏ-¤–”µq “Y«UñËvfÊßÖ,ðŠúLd¾¼¨ü8wö÷¡ÿ­ÁÇnL¬@nÐd–QœO‚»‰sã8–Óe“.fÆŠ<9ˆÂ ‰*Kš0JlöY;ÄÙ3H¾!|cILíÔŽ"›hŒ*ËQ2óØãÈõžþþ25¥³uðÏ_aàjÎ#_æp€JÅðdñ#nà  ìåg€‡Ÿ´åVtýaÖƒæ³íœ/iƒÂÙXô=óL 3`”ŠÎƒ ÎÊ0Æo±W4D‡F¯ ¹ü-úØfMEuÝÃ@ý‹ªˆÄ¾§ÉëçI/v@/ ZÒì+üÄk>*Kž8kT[³ûÏÈõ*8aå^¾¸¤·¾×oooòäÛ£Üj•¾õA›’EÇ“~äVn² ¼&ÒX CBP/—ª(¹Æ} #ÃÞ6_t*aYišÞFûç‹ê«ò·ÙzåUª€h¨²%µºËd·ÚZ$îåB°ŸèL€M­gМù ž\­Öà­rÚóª:êhjëL¥W56 Áàšm+‹ø Ñó~VÝêtó.ŽËï†B5Ã?H—aöPTÁ¬ Ùp8DÍÙA…€É 4‹Ž6èw"URäÏÇPÁÆÑ'(J‹¸ÛÞÀF£~óá=窗þ€@Âão*•Q=Hu²ñA–ƒ8ÑÏFσµˆÁxˆ¢? „dY¦ôLÁê¹Íž°Ò½‚#аj™€t"EæZO-Õ‡¹¡Ã¯°g7$ïÛ´ä x ž(”V=3ãéN£ÜϦóÞ`þ&¿(5ðµºÏÛ‹EQ jn£'£e4µ¡Z%'í#å$F&þÔÆä€[}Üå|v½™A#ÁÀ § G ˆÍ6 ®=P”ÍP«g]Ä™êª?ËôE7C%V$â ­ÝLŽ5j=ñšg|Hœr¨4Nû ö½QhÛ=ßn<6'täaë]Ü1®bdv{µô« ñ\“µžÀÞ;p,c„x0(aªd=’ŒJöçÙŠ®Ñ*YÌX ¥fÕ ÷çJùw´€ UĬ}„i8*ž° ’àÞ“wù€`.Y‰Çt˜OCJ>°ˆ ;ËÆ7פè¢MFý—Bµ¹wÔÏV[VÒd–pþj£ŠìnmüŒO³Ï 칦Ï!9ÃÁNʤ&kG˜…FŒã­°eÕ)…žoYŒ‰>ˆ¼òËm‘_}bâ{cgÌF›ÔáÙêÀö·õó yEö6 8Üì0$lã >ÛtþD´Ä—ošçÕìž;Þš_¶Ë¤ü ø=Š0@p³‡Àteffƒ¹8š ÊRëøF3*‡Íâ™#ÛrÑ&Ûi¾ ÒKÕÓªšDCM‚“Q¼†U¹þƒ<¹P1€¶Y{[ׄ'ì’v ¡—ÙðìÛŒˆ¾Ý’iŸ3zÄÆî IDATõðƒ[çB Ùàä}}irÛÆq82Ëpžrà/¶/MòÛ·;ðxÓÉ€ÄÔAΖíúìV9”¢xZ4xÀbk@]³ZÈÚeg›%D°ôYÏÏm馣‹ŸJ>’m=%ûýUmž53…¹‡à#­£8CLª[$ë½çàüÚ{ ó¿× X9ýF2¯q8?è&[žjcñ·'½hjÌ¢°'kŽ5Ç!Ïm‹çæôÙK®™¬Þ L¡J‡Ü†g‡­ðzl ?, ¨ËìÑQ¥òÊÕ³Ïum‚m*üÌMÖC}ÐÏwÊï dõš¶–m†ØµIÒ«5J™‡ˆ´ '—< ‚Œ ƒ¸Lnyä#Œl3ÃÐÄ`2~¾ ºmÆ^LÉÛ&öæ À)3E2ŸT’ÕÅ›]Pª!éö}x*—•ýÕ|-=Ô ^,ƼT“üð¸”Ð#)Å68¥ÜíTTi‰ÄËoÆW ܤõµ_ŒÜÞùç÷e«³ðÕ>Íg¶×-ó«Ãˆgª>«ˆ,j T;¸ G¹xaý×gãD=?cj«ao¦7èIî4MÊžñɇÕ^é•2¤#@DÛÕ™•QÑ)ƒ`ªeEûlÆ•Ëê‹ÄsRœFrX[ìJb›¾7š'rJk?hbŒ ³¦ÜiEö Á7û_T–x Ö Æ?3Tç·>—õhSПœÒ˦Á“‘-?†´Oúµ4x’~~xÎfÀ\œ/÷‰Nšy ˆþ-".8²&*+IiÁЗKÑc·à¨I«øÛ¸îE€1Ï„›}qðP)…M1*(ƒeïí˜"çhÃÈò2"&M¬¯¡ª÷akz.ÂÓêŠh‚Z»oÖ Åñ²cfËÛ,ø1Êm†LÓñ‰õ‡î2‘á7•§EÏ9Y» w1½¾$>Ö -IÚÔr%κ¢‘®§Oã™Âøë¼ëÛ²Èo·eïóXÏ¥"Š‘]Åâ>Ûc—‘® ØÎx>¾Lÿ#Y‰{v!‘AÝþŽt§RÒ é ºz †÷ë]Ì=êïßÁ–3±<¤ô£i’šà¾²¼”‰+=Â>æA’wÆFþ…¨3w;qP¹_úõÚݰy¶Æ;º6 +8Ç"øp6 ž{fÏ%¡yd+Y6¶g#:Dí ç­¬ìê ðÑ4-ÓÄpˆØ õ»72"XÎrØcúlâ`v»ØZå®ÿÉù@k'm{p׎̆#Ûï÷YQæ ÿ\EþWDþ\${7{Ymz"X$·TÓ(6׬ìMPU­lª$ärf™…0Ä•¯Fhi€ãH˜£`‡»v0á£97Ù¶—ÀºÂ;TIÍgu*yMƹÝè/Kv8Ï¢Q¢dpNГ±{Ÿ|äH6š‡ÆÿÐøqX»gº1CU;âþ̨ýcX¬üf%sçI¶²ÐaÒRÌì}ȯ·7ùïïwðA'Žn=2Õó„äowÒŸN0/˜ ÃýêØd‘ucM÷¿GÎöÒQP¨ÿã f8bí$G ¢D(ën€Ù4*Ú:h¥/ôž¤‘êÕÁlûÀý•XOFáùÐ ¤ hµ~õO“]´óXrȾlÀ08JEøÈeF%¨*£9à‰7…„WZó‘I£o&Hv”0à8a´ìñì K鮪àê½kr‘›”WËÍÙŽØo¶Êœ¤JS¶†IðÒ(|škiJ*TIŽ÷ìÛW²[™’u5õŸåš<&Vš^;œõ~wÕæÍÃÍè[ÆŽÑS3kK‚¯X›ðî!›MâÆ„¶"„Q)’k écRL¯{H ŸcÈ¥ŒlžÕqéÅ6°=#pÑ)&9³Ïô3Þ6%h2Èžg_=ÖÄ.× P†ñ¦Çˆ"†$Ó"ã©ãöðÙ¡Bï ¤qÝlè|´9©Eä^ø›²\É<¨º¶»Æ£—ì®{Êø:C\ôYQyµ‡­‘>Õ(ºf8yºj6UÓ8Î}Vf$ÉÙ@N,Lc@Ä,ÑhåK)nŒƒÒé…y¼ðGØC¢¾ü')¿ „KΜ“R“tH41rV5tú€ñÉCùƒÆøì½,A«¹˜Ï-œ~º ÜÌÌ‘º;\B Øp:Á,0`æ&K²ÔÛRgålyݘ_³Ñ^³9 îP®€ÆaWKQ9Çm÷qÚúRK\0p*…瀈-ïæ½»ÿmYä·ooòíñY«S ¯ | Z«ó¶FåÓY‹C´¥nG!R¿Û÷[ô“ W‡ñ[Ù‡qí„Zö}$ÞÐ)&Nw[P£ìw;dn 8¢ænr4 ®(k€a€üYý,&‡UžÇB9Ñ÷xF0²•ŸðØÜ#6ûuá;êv`xŸx/àÍ×soÇ)Y®óJÏ D¶Yn2Æ‚¥9^ÖóSÛ;“<“ÊÇ–ÿ¾`d¼×B`J¶àúJïÃÖUä‘û@A)f—® Ì+L:/8lNG"WÈ€|êÑ@Žüf‚lÙj‡èÀ¨ãâŒG5>ˆÓ(-u¯¯¤%ñº›ÃÄ=ŽäjµŸçÛ¬†ëª6iÝ÷OnRE~6q@]da¦8ûãÅl‚4$‘É×q%•†àµ@”1Ïšm]Óv…Ȉ¸ã[F¥„§&Û~s‚.ⵃ|¤PüÐZËøß4CÙºwtéÀDz­[È„†ýq]Û"òÛ·7¹=PÆÊÁšdŒ®$"û!°#ÉùP)X†Ý—8Ûô¶š5²%JÌûÒz'LÎfððõ÷4Ž%*2‹j¿ÖSEóè:.d9%çÚYÞÖ…xùdæcTfÙ3&Æhu6Ÿží©,¦öaP:Á/aö>2¤8:D²R5GE xàm¤·Ú¬¯•×VJ¡pæqš(Ot¶<«r£Øg¾ëñGoœõpï‰"¿“ò'0%õZ­ÀÁ«NÐ'Y•ÞõWÞÖp ³uÒp¨0f¸B`ì•Ê|¡†æ™ÓÉnô tV·3¡v1Í”K÷©˜ÞLE¶vtWUåê/ÎÃÞ JÍÐvø›ž°cî »?z®)ÅqÎu¶#‘id„×’õX–û0Áï)«•0½¾_³²Òd¼›mÈÀ‘W·¾WÈ(|¥‡þÚâ››ÈñöV\Æs—¼A§Í¹ö‰’#§ÀJrôg.²ê2"_.$Ô5½Ë±§ìgMä–¤žše9 >:îhà'h3NO*îžD¢A¯•’Œ±}s:ïüàï<ãkƒ‚ý»™iÛ@”òì%Ø 1Dà:S's<Ýtæ.…K¹"H…s‘@<ω·ßšÌßÕ\HÛ"$8‚{ò UFiÿÏšéyv»úg@¯3A™. Œû^€ÁÉ3˜„teÔêÍ0 „#–º¬è1“¼²ö‡˜Lóªoõ¸ŠMIƒí0» _ºûädïOù±/ BP%ÃËï “ Šæ•ØAF®PåT&o´î1"Kú` ÷r«_–û9g×?pü,`S™J±{£-š ûÒy±„Gž¯4BTú6íÚG¼yÓ`Ckx5]-‰rÔÀ~5д$m œûëÄy•Md»>£Ç‹×¨6¶häxöxë½c"ü:ø$`0âó×ûZ›ÇxÇçÒ¨¾à d8–»ê I˜| < ´uv®¾LOL<¥6þ⫳#@óŒêWù"wÆ ØÊ”ÌÖõ^nõHe¥.$`ÌFÃT£€£Ò>úäö½ìø"ßÝÆƒXXBg‚O¥Ø1¾@º.°2Çâ3ž‡d3SQ…„”zfôî®:)- ë÷úòÓ} 2šz|ýJ4R¼Îi&ím^Ù+£\J³* ©W5­~Ð9òʃZ L[†®G.•(VëXÿšæ;³gÒ*Qxù¢»-òËù¦ú<å/ßä™?$^h´1a¾‡Ç‡Ž˜.×Q$!BeFAZŠ”dچןEÉÀD$7„'ÀG6Δ§e$ pÔ–Y|DÀUäÇ*ò/Ü{=0±g­ý¡%Jú8Î%~;¹h‡TL Eù|ûv4p#Ú5^ìÆÅ{‚֊ȸK‡¶\¢j›kφ‹aŸ±¼HáÍ$Láâ#"ƒ &±O7ƒ ›YO‰›!¥•C­´Õ”çëV—é«€¶$°«Â„dãë!œHè PWíÿ½ &!L¯ G C]È?¾½É?3=šÁÜÔãcO‚M[Ñ¢âH½…áäzF5ÐrÞ–Woç­O†’lW}Où"¦7c+ÅÒ %h¤òñ庞Πx³}ÏQƄ͌qN±Oñ:7 ÕÛ®l7¦ÏÞá”ïc —›ª‹dà5`WÉ2YƘÒ+WEÞçS¨>ÿSpæ ©R:xÚö(;ÊÝU#~·äŠuˆ=šì­ãÝ!6€ Ää^žö<,QUa£T3?ÏvÁ8©í!nÎÅ–ÓÖÿÏÇ$ó£æ.Û-LˆUv÷®Ëî.ø f !{öŸX«U'ÝT€#}4Ù­)ù» ¸ «å†ôÁ®­>=n $¢Û‹’WÏìpŸ=U†h QèHä¸ªÝ k<š}‰Þβ`"³‰B|ð¿âÜ¡åtE‡j{ Ñ!n*z m¬æþ﹜ Ò2´îßßù¿¾-ò]· O#E·ÜÏ呲`Ç4[Ð’j4Ò³”A¿7Û…llÈýt¬lÁJwò¿¼­V³%nayszg¯¬&@ŽƒZt¶RDÞÌ`ô©â¤Vóž–è8tu·\4‚«&™ÿ ¸àΓ½ïYIô1”ž÷ã‰Ä¨}nå“=… !«* %_ÄJQ±ëm¨ó(lÚÊÞlÝô>‘öè782L¼+JꩵÛw`q4‚N¨ÍFÑ $ì‰*î:÷7Ûgt…9ÌNå¨=ù™‡Êa/·¹—\Ì/MÓ*m“:#•%Ãò»,s}€@Mÿ/5ë£NÖØµ•~4ô'ìûmP¶_˜_~ÕËÅ{’Æ ˆˆÜÈ/·åÞ˜¶¤ÞeplA¶6^ׯ©ûÛÔgï}Øv®O¦èÜ˪mɪ“ˆÛ]Ìr¬|4¡¯Íu£?»ŠÞ)ªyš×ý.‹^ªü1¢@¸ïÝhO FÕ9¥i@'LÐi°à¿˜Ìñù‹‘ÖÁÝÖJåzO6‚qƒÉÍ»msd“€pdÌä:cöëÛ›|_ÄO½2Ziu šl1©ÈKì" -ÉŽFŽ5ˆŽ…¸ÁÓ®ä‰PÙ*¶‰J««gç ~ÄÙï­f<2{ü½ä²Ãàl2/²¨«âvÝ]§ßB´Ar2&ãA!A„9ÃΩ9EuËöZ@2Û«:ñõ­»¥Å ôªäì³ÛF3pÒûŽö÷Ÿ+å¼KGšŸwÑöXj«º5ÒŠß¿dçE4³’ÍC zeŠî`Ô/"Å‹A¨ÜiKQA@C'£ÝwéÚl.Œ@+ìÞî¹C=Ç–EµtfÓJ™!s5{d fh€ÖƒÐœ©fh3Øt‚tŸb§ÀíY•­ov#ñ~Õ¤eÓ˜Ž¾w§.—€¿/B`ˆ^nÙ;•5Fó{å94q¡wZiö=u ÿ@šÏi¡,¥‘oo_=‹yh½J/¯ëÒãVnX~RV¥ý¶çXÉ&C»_Ù)™,².ÑÚJ=‘¤[ŸHÀÑ\¾õv¤n@6fA þÓF0œ”È:`g}µa–Ø)°l✠uùª¿Ñ¦±—§Ú‚9aߣ/á9­÷óÁX='Ëþ¿ð;§#’Œ˜‘ž6àD€ì!Ƚi(©e΀αx™¶€íyUy ’2%¯ç* y¢Ê¯g†ÏÁ¹°Hïûþ÷G¹Õ»Ò´§Év4Ĉ) uø5(b,6ã•›ê÷5—Ë~¦˜›å°ö‘‰¹þ$ ’69'Qá’r¾´‚в“@[ÛHèŒÛ`ÎÈÊšâ ÙUŸL“vfšáÙ™Ù)ª€‰˜=cŸ# ?ª¤ ¸Ïqd›dj½‰8[¢˜ ;Ø5ö³eŸG>o¶Ñ¨ëRÇ©;‹cÝLÐoW«y€©‘q€FTébK+žÝJˆ`üö¶È7ôñòÈ»eÑÁ W2ÝÍt‰Z#KÛ¾_éls„I‚dÆ¢3G£u;ÇC— 5ì“]¬ÊYÍ׌èjHŸ•vS’Fk7œdýa`LªÏ:N\Zزy«Èxö˜bfÏ‘ŸÀSÕ^çjSkq5§Ö¡ \Nu‹?K]Wý#ÒŽbb*»Cy^T¦ø|­Ál‚LcÐQýð³çI&Ì<†hÞHÖ0v»!ù €ðz£sOŠüûýÞdþS]žµÅ³îì ªÙjrÈ}7) LÖc˜QÕ~ÇÉlÐFòÞP6RÉÖ&ᲯÅÓÓ\´ÚªÄ.Ú#vÃúÙ .º4ƒMŠ AŸÍ6ûaÃf¿$úù8;À3š¹Åo®…éE3VP倚2%‚6S$"Ígl1 ›aŽ6Û4a×¢¬"%žbøÉ?•RìÒPXH ´Ò‚«Tj;¨´ ]E[,PE ùýËÛ"ß—{cuxö²£7ZçÐ…f4½ÇÛÚ0Fúg•XAFûNÌ»DÊT0_"{s ÷ŒYßp1ÆdʹG¦& :Få3ç‘’÷™xL„§‚h&ÄöÞú"}2Ï]V¦mªÀ!ŸXžÏÜŒØ{ñ‚}A/µÇ@@Åà è1ûDœ(ñ‰¬LÅ9 8~ï=PÌ;×Jªü IDATOJéfÄ«Ri’NôÙ§¹å)ðñÈol»@e=̽À?¨\E~§ü¯ˆüÌÀoaZ"ªÌB O@GÆù -Z±•_$èbÉ/Ý` $ô¿»²'ÛÔ 5«E½ Mcz«¼ÕD êÏV@× y²àœx¶9.q×a[N~ü?Â1Šl˜j4%è‡xq»†6imÃZ£‰Õ\Št¤r™ žúYÊx˜t¹T¿iŽÑNÃïü迃of@ ¥ø3ŽßÞù¯Û"¿>Ä»s_oAîs˜M©ªÇ,4õO¸7’+5>lˬŒG76eTªâ©™¢€àº7ªß¿—Îß8QÚø= 2™=@¡æ°’›&w"Í8qˆQ<(™Óˆ&‰5¿š~É+€G‚¼8£œŠÉ«f7kâŒöhë¸qr)™º·)Ëêþ½¢lÙksÐæ-¯ËÜ@1ȯ¨úŒÀGbi¹I8’”Oì7w*³û ©là—\tFЄ-‡ô'P½¹ÇW‘?Eäy4"`BG˜Ü–ËxÜ% UID&m^a~*5ì04çlÞG1¾5_à)8»Þ0+©¨Êqwüšccoάù5šÏö×Ú°JZŒÊN­°îó°ÕÞœµ.ÜÏ4]"aËüYibŒlë_Hé 2®‡‰Älš×šZ]ÒšÇ6÷•ÓÓÑ›o Õcþ}Y ß—{ÖÃëzÖbÛ5XlœIg¦—›ù2ÄÌ)(Ü:[§š¡WqÕzÞQßêq‹ôUú¹géù™ †38J™t‚Ô_4}Ýq ÖÝŸ0ªm>¼§Õ^X´-L<&¶zÚƒ3–•´UKµ%yÑq—„ Dsy:àý$&[ˆtOކÇMop«ƒØ ú†#kð™ åk£Ÿâšux“—£+¼Ú:ÞþÒš,Å3ã)11wÜ3GtÖ™VÁÇ–õ²%j®œª¹Ÿ?y—Õ]géÓ{Âä`W‚>[&@ÄLró (b]BÛØš6šòkÅÕïáô0@ikÑTÛÑ ýæ`»×k_?XøéÒcLmZvEWZqiôwÁÐVU†Fñ»·æKdm£bˆøõw7%ψD NKÑn ×”5âÇl»œBåÑ™Û$uvno‹üö—Oõ¹¤æÌ#’8Ð,——d¹žuÓ6—³Iž®ûðF]ë÷yŠÂ·YPÍ#d‚3õWŽìØ5&5•_·ÆÕ¬¨SÎäañl]RF±> >Š4 ¢µL yTŽÝ“³LkDÃçÚ] »ÄnðôÂO>S4ÈÁlï ~5‰ ‚a$‹Ó„V;û„gz ûØi׆ mžÁIÐaå‰1`ùQÿØRÒÌ:Á8ÆvðYüYŒ¼Säòèóíʽ`´À¾»x•ŒË ò,ÕúIYDv1½hJ·="}ߘÉNhI-ÜgN4­¶&ÚÙ&A(¹E÷šÃÈ‘9(>¡l?éCÉè¶¾_«R4Y죌ЃQÑJ[ÝüE(4ó¿ åìé2ÈÆ¯P*º'ëºv1!Ôú™Yä5–AjÅ_æŠû²,_–E¾-l‚ì³þÕJ£ÛgGÿºW˜«pNÇñ¾¯×*^e”žuÒÎ@ÑÓŒl„¶OBÇôÞÌH@"Í<دè6)}„Æ&Õ«È訃~–g‡3¡21}š!Âúœ“HõpXÁA™šfTíˆÚR»Ê¨ eßÅ• I€Óà’®fžmÊŠ´ý›n^Æ!ç<[Ÿ·M3¬×¿pxf{g Ç`žtˆˆz7’©óW×™5ëp2à^ÏèY“"p•XdªAæÌ„ð¬*K3Uí cû «ûEàyeT­N%½ŽesAß96Ó CL:VS—†2 Q£QÇÁ=°ð,Ÿ~N‘g¡óu-å…tÉü¶ÜwÔªš2¨*.’ëmÀ\®-íG1>Ó£C~Gõ_®ÉȺÑ[?±pàCÎ×ío¯Ú›£†aÌA Yr˜!0¿4ép|vqöq`×ÎÐhd ¦2+…˹¤9?ûÇ4X°c±Ý¥ ûÊëàï;ms‘SMÞn ÝÊRRÉ4 ÐÖñ{ Ÿ âs7c¤]koˆå€ûÙ™îüÍêèIד3oÚ†íø€ù{9=Ñ=û¿ðÊ¢SäO¡ü!ñS~”O>`ï¼Z:üÕŸñAVÉfvQ&H‘Rx‡ièT"DzÆ…Ÿv¾h©Õ—<ÇH}¡µú½2¤Ñ=ȃqz`è Ûðy3%Ïë)éù:”üá ½TMê–že¸òŸoo‹|Û³m$°É.»Ôk ÷Ü_–Ù*“ÙzÒ 5£xˆ€á×"#Îíx1%*=Mú£çXjh“Zne™µ+„RNh^ëVñ=giÂ,Lâ\n¸¹S ð1iX”6ZûODëæ²’„¯³ñ1zZãY*W—_EÿM9™ñ 3ûBN”Ì]:r§›ÊåV‚SRþM‘ŸÀóOä/¥üô÷’éîýX’1Ú£è‚ðúxß HɇVC&¹Ð ¡0Yº¯‘÷Í4$Í3Ñ= ÅþÙ•J³!ÁRÅH‹#ÏHöÆ{ÖÙ8d­¿-華ß´=Æö°“C¨Zó%9Ákò¼ã¹ ”U|µín|óš;ð¸/éÊnÄú]àÁ°î h‹BöG"íC¼eäî¹`38ÂÝÓá$ü÷ã1h+½8g1@žÞ—E#ÞC¥w0cbó]ÚXƒžé÷Ó—¾ž|þÑ•éêZ~ÃC“û™§ªbEdÔúJßp“¤c@ÑuùuÕèë³;×<]‚„VîOëBÛ… Cã:90Ô†ý;8§tEÄœÕuûtÆàwv2'PYýCD~¨±ò2¾8ØàÅÏà?DÔ1!¼@J—÷€€&+"QÁ…_°—묎ÝÐŒÄÙ9 ’ï?8¿é#”ÚTìñ ::Z@»×Ò Ò=¯û°Ñ* K¢¿(QØŽ!¼Ì@HuD<ƒ«¢,€üò†ûÐÀÇG­ö˜²µç:Sãmýα4¬ÑkÿÄ<èb‰£=É–KµdßQnu:EôÆêÌØX:ªÚ\²Úû™„¨ ª HÿÛèWg?hrD<þ;ê—,Ù+£ÿo§x£"'?¤–•8k;ÖÂ÷{ÍM˜Xª¡@q6Šu°v¤–CÖ³eÂzÞ¨¨V¤8¥m×5Ú½îe§€¬´Ì9\»Ecqá5ìbI{ÅgmßdYFe14¿ÅŸüŒ:kõ>²õ:XTˆ`8àC,A ¼¼O0ÿ1yŸOü,£# jTùqLþýÔ5ÒÓŒ@y6ß‚Âq4­ÒXœaÎÒþ:r*n ê8m§TU?mñ–vnìf|ÿNÌíY‘zQ f¿c0ÓCÊÂAHzšEâÂÞûk¾¿Aþ±i§…GŽB+?ÂìÎíw‹Ü³£„Pè'è ÞBèw35½rNw9øVG™¸M›ˆâLC7•ðÔdÕ/Þ³Ó\ë ¼Ãà|7ûÀ§IjžÕÝ;:å*d¥>QÒÛD«Ôë:+Èäó,ÿ”;`ö›gôLZºq‘¨ËéÀö™xÛ«B³0XÈ&8€‡N9f>p¢Ñ]Ò]›¯æ‚®(5zŠÕB¤\6ðƒóÙl°q¾×ôï±ù®àqý\)ÿ‘ß“F‚ü•3 Õ’Äh†UW‡UÌи· _ës¦aó\ȆòÉN‚9œÙ¡¼dWǪÛìΪlwÐ~¾‰%ÀkîsêJ¿À¡U_ÅÉ¿ëœÊ0z:þ¼òëm‘ïjr¸7rQ¿…ogîy±÷Ÿd~Rv’V%{4Ù†n Ú¹ÈÝç·Ã‹¨èArÓÇêÎÍsg©Ð[3ñ;2øÆ3[Ôß3^ã·7y> ®\«—ÙpJß:ÏI+óÌs†åQp¤ÑïÚ Õ“f…=âuÝ f¾¯"í—ÍëÀñ¬Þ‹½¡d÷t)[ùýN™÷YÊvh¢ùŒ2ýg¿Â àÃ÷£íùxÖßY%Ò3+K¼+ŠàC€`Á=óá«$µòN‘Qä߀¼Ë°Ý·±!gFz¼>ŒøkŽQuTÉÏâ9y6Üî«{­´-S^·ÔáÚ§ˆ—¿a¸}߇ô|S²üÍ|*³§€ž­fÅxÕÊás¬ÅY¸Égos6ëÛÛ"¿¾aïQX¥¯Å6&î\pÿG>²•‡é„rÏV¬ÉbìÙ¯ïBØÇVi§˜ Ñ”I­‚Ne±ÍÕø!²h_'½N¥2óæY8ÁÚ”täå­òúEÕÞ^€t‚WS{‡È;Ó”b¥²Ys‘“ʲ<„ÿ}¦ÝàU¡ØèèMãlÜOÇ¥7S…ífÕÏ á,‹–wÕU÷kØD4²Î5zcFMcRÓŽ¶„LKÆ>(¢¾S qé3Æ{tLÈN§û1PæÂ¹eóùHàa¨¶áO„D[v™+E~'å'à&±²ž’ÜÏg¿b$jöÌB&]^õSbƒƽ‘šã²™oÊÈ*–Wî¹—]b9eÃàø†£!]WHåfX²¹m|ìÓ3{•LóìAxÀ‹í²s¢Ÿ- ^¹+\ÝË­J’ fà0ºÁÃí5îÈq£t|Ãyš¿[Uü¼:SͳìUª…„Cu´;uÍŽ¹ Voy’4þͲŒ ‘¹©ƒù Í„¶Á¥‘aµ¬AŠ­tiÔ9KbÒA·¹ùn1¢×ȼp`e€Î¬ S¥ù¨ËÀ¸ÿ°BP9ª90F×óz™zlêp«Ö´©ËX³bD+3‰PeÎ÷df¯ Ô0äÝ>¢Q› |TäeKàëóXfÏ"sš6¤»Û t@hØÿ¿Ê«Èχ”&ìÇ@ùÑ ä¯ú“!x¨ê÷l~Ø ‹1HÐÔngq”v$n¸ß…3ù¢¢@x-¹.8. BŽièt‰ ¿Ÿ#¾1_Ö—ìÅ6gçjñªäµç ¯þÝðŒ‰ïH@Èm|_°ûŒ5 Ùìe4ç†À×2¸{ ü˜Ö¾«gîy‘î~š{Ôñ´Sž%·@ìs=Ti’9ÕbD <²ÙÌθûUúoc6Î.ªYhQ²f½µˆ¾88¤ºûæŠÁ΢ ¨W€'1S AÉãi`Ôêlƒh5&³Hš:Co…‹Ðƒç0 ï·î(àò/Ñ_ix›Êf-ñ3èK1:£ÄhØž2ZÃ@'¦Ø`4'æß4Þ/ç¾ þ¹(âFá2:@d¤@å ï/¦œëšÛž™_NÓ—ZaÚÀFZÇ Çg4Á&_—Ù³6‰§\Wé¡ ŸÐËm¯\( ¤’gÅâ(†³üKËäÛßûºéÿûÂÞ¹‘cDѽø¹Úõî×ÒNAg1XæÔ¾Š'KhnÚ'ç£áÈÑ•ðÊE»à\qâÜÍ|¸îYÕ>Ø™•·‡¼î’íS–,tÂŽnšÙnq¹9ìkB„R‡æ8¶t‡jÓ—ŽÊ­F{ÒþùÆQ´Ì$Lj‹ÈÚ&ÓÃUt'#Œ7ž Õ`§âð1XðQ¶Å^ä©ÃHWôOƒ4ïQÁ‘YEÖRYЉ¨d(ïó˜Ì2Åš·lc¨˜ÏÖ ¾/rÆ“ŒRÌßù%gg²Y ãÙîá'{ÀÛŸKô1¨]óbŒtzÆÝWÂ^¨Q)òçcžGCÍYÜez²f˜Ä¿ÈkX<ïÍï¬ô;$=0Nˇ £{T¨ :)%NÏ5»íêƒágRp]]ʳ0qlfjs°¡&vÄÔ³Wݹ٨âaBIó”>I†yJ£骳JǰW€ýím‘ïËýa¬Ž¿_"W¡[ç¼ê"˜8Óp-íT ÚûâÀ&5ÔtmY2¿™¢nKÀ’oöÙÝRëÄâÉʲŒY¿´!`ÏÜ-Šl—UÊÎgEI%ª¥k6dÎ*Œ†¡=”÷ï¢_{î x/ây „¡5d¹g9+u°ÎÔýP .922V‚sêÿ14¦Àxž*Ÿ4æáçè2ɳžÉ4çY©ÁÙ>-eé >,ü=úaƒãJ‘Ÿ¤ü{ŠÛ+}¤é›TÇú÷Ïuaí¨òŸ0@ëçfú9È‚»ÃI–Ô]p`Й§Š'ìY³`ÏZ§¨˜^E«±tgÙ{zª&m-ûÊùÊŒ)éÝ‘ªË±Vˆ18ý£"âhF UekÅÛžÍt8V Ó§§ó„«åÓžôìÙÄ’5f°GÌy KØž•Ÿr‚f&s>j’’sŽdH³`âH+2a×øìºŒæF¦à#HkxøŽ-û¹R~@dqŽè8HO1ñkƒë~Fm •ˆÐ$#Œ®¿¡“|µv|¤Pø USÍôúQLБÞ_šÇ³¶nÎãÏÎqáðÒk‘7s/ÍŒoŠé1Ç\r@8çÖ²Ò§ù·“Dš¾–D¾/h„<ˆ=ô÷NlãJºÇ Fí5¾3<Þ]˜¶½w=±.1ëµT4q¤/VU9cÑݶ«§eo|±n®im˜®ït4ɈÑä5›rdL*¶ôtJ1jt±tGUvkTÀëµ7;˹;(Qµ™2$ϡ̪Á¼þ QI²¡6N$4ŸíÈö<²UÀ‡ nlmì,øÈ¤i£ãp4@L& ¾÷‡¤î{”‰ÊÔðœýúx\w®ŠñAh-p Zßè~†'-ï]ÄU¥Li@à€KœŒ˜ÎtVêd'Ûsôœ Í¿¹J¹fÎ!¥à{ÂFùð*‡8#凂Í;—öì€Ç¤“‰ƒs/€yo4ßëÊ÷rl˜/X2¢r„Q‘u¿;€n—ÓÕÝ[íMщ}õíWÁGc1¹W¾:œ‰Ä!oŸyõž›§á»%ÿPêž=ÊDf{®ª¬ÚÙ‘Þ¾H¯Þ5eª˜ô«l±¡Lá Ø¦TNž@uIP —-¬§·§ «2±IRÚ™|2”³R—_¢ä”ƒ;¹Ùéß³ÛÆžm÷~*_”¨.„=èEàQ½Ç¥q„hŒQ&Ÿ‹A©Ù;E~_)ï Ï(ñ°gæO³¿®!x¥ÈÖzÐÌ­2v•Yý‹v¼fد‡­œ¤`k‘ 1H®à2rüL~©RÉ žä:—i¤uu¯ÊŠyåy‘>sóž+ÊAÎÖ­¡'‘œ§s«è¼ß*¬J/úâýYoùŽ{°K WW¤£*ŽÑT릞 Cpu>šÊÈü5=½>hßd4#Ò/köÎÖ‘¹¯mz5¼±pHõ—/ ÊŽÄCZŸäl" 6êù`ÆVöãK)¼Á í•wÍ$jÏH^wâŒÑ€Ž’Æ{Ls–hÀáÍ—9Æii ýUê °+Ε-Ó8-{[¿Òú¸x´“uÇàKçZšÉíÁôò?Vî³<Ò ö ódÌßMèךϧ‚7+Ge·¢f¤ˆ&ö]  è+q`N'}Qʤ}Ë¢ýhñ5Ï ®šƒ'È"8wÙŽ×Å~ÎËŠ' mkIø—+€“–Á‡“!Ä£j䆇¼.Úiài4ð¬”<ÇËú.º% QHÉ_à§ ö3HØNó öv3èyAì}”üm$Ígmä:`FþgHòE1’—”`erTD³|ZO¶e—GËœ7Z= ̳ö¥l iœñ¸FÓFŦÔé¨éý„1‹ßÎ+Ÿœ ®, '7–uMDÓ˜þZ切&0.Y¦,@1Ư˜ÿþy*†˜Bã98A‘í 3Èö5 än8 𲿅ŒÞæ4e÷-Å`áB…ÙîÚv ´“»7Â.¦pˆãY§ˆËJ@€(8Ç»]Ñ´/bz2Ô/Ð@€»¬îmy4š3>¶Qùí\Y!ƒë>Dc¶óûŽž$µÆzríØñÎtd &|/òXd'EŽJÞöûv7O~c`W–ýï^û´ë3óЮ@柂¤XX|é=wM'™ªákuZ’±kÀEg/ã±ÃÇ£v/-½²#Æ.{„ð¸hÜ6*¿¿|ÀàlXU«cé¥V˜±c³ÊöíËüüÔ…MWEð˜pJ#ÆÎ¯¶|¶“¹O;âyÎ@Œ,éõJAG´‚ =˜àÅùˆ‚ÓG£™MÁœ@ËÀ)îY°+Ö ‰ñ‹öcrX"ñ¯õí™ykˆàQÝ´ÃÌn ä&f½,i™}¾°Ž»‚;ñÞ3‹Q&õâ4K¢ÎÆÜý¶h'…ùò]÷Ÿ•}0 w`!'M‡¿vº/÷¦§'7oûäLÅ+‚ŸyØ-õúî H“3ÎaækžiæžÝÜU‰Õ¤vX—Àœ»h¦‡sÀHøÉ€3¾—éêôñ÷à0àW¦ÎÞeØã©ìz<;°lP•Íxh£é²33U7r|i_Q¶¥ÕfÂÙgI(vÇ’ w)Ñ T9Òh&ŽÁ3ð”ì~±¯Ùþv²&·ù]¶ÅXbû5UŽâgâÑs“|T¦¶KŸ¦kúX h‹oÒÖßì“ÊÝ Jp»á€žÝaä@$”¼…ÓDŽ„’u¡¤êß‘ÒLÞ$sV[9mÂÚßÅ‘›·î(,ÊW#Ü2à>\Aµ²%Ô¾¨+Ç:ù³¤‡W.Íz =Aéô+$o|ˆT*[Zà!h‡G¹Ÿ( 5ÀÃÔÛuðÊxcµ¦ü?)zçέ ›SÒ!ñ Ÿ*Ê?c É*ÉRÂAŸÌ ¶ƒÿÚgë À‰È–ÚºlÙ8ek»t©8s0˜ã“A΢®†MÁJõv"<*ê<6(¬Ïô{dSíûæò„”AÙ£ë<¶b)²^°ú­Å-¿ñŸ xxÅÎYeV²ýsC´6lu©{B8gGåˆa[v Ø¿¬ÔÏT_Ÿ·ÆI¸°1Å3CÏ*¥{W ñêužÛË@D–o#Q sÖ(ò¶Ü³‹ŒgZÚÊ©.A)qT0=þÕ:Xé}ä¼*§á#· x#RV·¬ S^Vâ’™ Îú¦Í?û$ôW±¬õd`„²œA4yäG—dáÀ…z6Ó/ò„{[%ž$z¦¿5뛟š>º&Û”²ÌNšoŸ%š?Ÿµ­nÏ&“}5]Õ_å¢`85Ãàu{c4âŒã).ø@­’1ÚNhç–7²•ö ilôX¤}ŽÌ©x¼ü%ó"ÿ™àãTüf»:£/£ì˜Î\óÍÚtC+íXí×êžl§¤Àê%1I£#UÊ&÷ÜKóœ¥FK[ÙRÚ _Íø¡Ì®4ºÏÄD¶žñ÷Q8ú“‘&9ñ@ÍõÊà5ÞãŠ2Ú J6o†wù#(4TÕÅXÁŽQs ¶¼)œ½5+}Ô/;cr€ÔêÇŽÖK7»iÃé–Ÿ²pžq0žWÅàæ2I¨|6Š[ª>žîúv¯®”¯”ñÑ`^¼Y¼$‚Âô‚ô ŽõÏ?|l߇Fª#9ª ¯ŸúR¬;q9É~Êþ9kŸ5éQÑU?ó4žœBËÝ4OßÂf¯ßäÎl¿=ª\þf‚Pn€|ßÁÇ8,æG%]ÿToÚªW9þ­!M¼Ù€õÒÕ½‡ãO«$ æÒ õ@]{¥·•íž”hë^êíߦ߾éA ã­yX¶9;—źî°>’êHg.„R)ÓÉwèjƒ¶ GäVƒCs-°3•4Õ^5 EÕ÷ßqüFÖmØ»'Ò3ãG^†¡»±\•µã0¦ÍZoU1¦Ôu&ÂDoŠ9a°ˆ»šÕÁà¡„r¹¨ßÓÒ<]ôY4äÏÈ;›¾S~ˆÈŠg»¥žDÆùïîíØÙRÊ Cò»YÈT»›¹¿æ²ã£Ó{âšj?u?g³gLè¿„“.LfýÏÀê:y^;ÉU:C]—r퉔^ß¿ò•K\9ÂŽC‚ù'uó0£FhˆÈ·EànwøŸÅU]×%üx³™.®ƒiˆèg•I_~NsMÙ3 + Ê¯º¤ÍÅß‚áÑð3šå³7øL­”òe­4ÁO×Mfv2_š‡@>nÀü½d‘fžnSÀs:5>™÷7t/Ã|³8OšËÌ£ç9q‡7ˆÜ–V¾øè/dHû-Ohÿi¯b<äz8ÀÀ€Ý}2‰fcbqü¾þN>ri‰ …¼ê*÷=aûh¼Ê/JºuýI`Oö¥bM}—åJÁJ¬2§Ú4Z³í 8²3à*ࣹ~¦÷wôÚa¿°÷ŒÖmc³l#Ï„xs}ЭÉ`ÓKaÛÐÛGß³61èûJ…]¾ù@ò¾«†ŒÛø:%kd…'/"–aöÙŒP&Ú‰å0äÚŸcbí("?Hùs8ÈÆ­v±Ì'NfvÛ<;P烢”nPUdyî=Œ0wi§̱²©·ÍÚØhÌòm”bOÑfmõHœ¾H~ØÏLdEÒóZéU ØœVÉeqN`©W-ï€]ÄG(.ÉÕ×;þm‘½Ñ¼þ—nû}‹+¹3òÚ_~Õª@•Õ’ 9+-XÅ}à`XQ!¯Éþè1iÏ­íaÓŽîJƒ¹‘ƒƒ¬Áu‰èõ‰cÁíï1ÁÊ>iUÇ£ê¡EÃÉA¤$X~¦ï©¨D*€]ÄÄÇ|00¡Àœ¼z­ü²ÿ· Ñd !qGá[)qŸÇ¬ÏÒ4Ç1<qäðç“óF¨® Š ÜI¼#Û”îëÀ‡(F&Ky3¾Às¤n:§S&Ä ÝÇqüooóPÿùÙÝ ÿ¾RþwùCpÔ9h¯Q©@ŒâQ€ü¬ît3J$ÑA¶MXvÚTöåÏD/É}',²¯ÎdMG–ù‰<:½}¥ø¥“ô>™8CøµÙ† 'è <#Õôfþ¤ÇÛ‡ÀØã¤My::®¾~Dí÷žÀþÓgêSï{ø–`T»þJŽAý,fúöøóÞÇ9cìBª?‹ˆ|ƒ4*W4[²j¯(”Eó$‰rÖ^BĶ<Éë±Ø¯ µØqz›,H‡j~Å£·äªq0˜Â.›cšàw¿lpB´=ôXÜÁ8d£#ìº9ú®ƒ^ƒ:œôG`e4úclk®¤Èµ¨dCʰ!9¢ã¥iJ¤k™?‹j7òôöÍžíløÓšm“G¥e׳­$%ÜyJ¶ÁSÂT‰HÇ9á³®ëà s…ÏôA²| òû͵C àGãDŒC©ˆ/ü”GcùJùñHŸ71½SÞ{-Ðî5‹/Ì©d1¸ä%,ÑI7NÓ3îxdŒˆÁWÓ°Œ6ìM±z²™¿¬™fï‘ áà*œ0B‹ê~èâ -6ˆù9ÊS")F¦Ñ_úÞá)Yž¨ëtØ g?y í~`[Öà±biü¬ø@E5£bE£È^wÆ¥¸(±ª‘J ú3¤Ê† ÞT6÷j0¢.wyà7ÞƒÿE3¦xî1ÎøÀ7ˆ|_ã™èsI•Ûž>‚˜ [õZERžK@¨g1°ûûá çŒ?æ¬&ÉÉ—‘ Ú\­³\—ºù¥!àlH@°Aba¤(AÍ$”ó8˜™Q3'|^ÒPƒ)Pr¹;àcÄzC”‚’ª\4k甩ƒƒ~š’« ¸ª±‘‰YCXÔkÆFbÕÖ 'OÐ)§êy­½³ð¨Nþ]¦^ÉwpðΈ°(åh°:ò*Ê~ôÀCÚ¬GÑ·é¿{‘ÿ³RþEÈŸ€臶h”¤uM…Ç>AJžÂL§,<µFúO5Á ³^^¯ØûA¡¹.²àíáåù xaïÑÒ‘6DÍsÍR]„ÈŸÁsP¶™Èù{u4Lqr}„^öÐO¥‡h‘&sïɾÒ5u‰R!ÛÇÌàÙYfÉ.œjÉŽj‹P– 6Úw£iX#±ðtáÒç¼÷ à(ÙÅ@¡fc‹‘%u&\.ì³o ‹.”5åQDz›=é-ëÑ| ¤“›­m^Çn6­¹¤OðQÆ÷Ö.Fo2ñg¨ËG]H–Øu>_Tbâ$ÑôgNŸýYv,N‡d‘‘|æ\™h6ùš“™@.>Gñô/|¥c’ØËÐj"i´V1ËNã<˜Þ[7LÇØMÇ\ >*¯`"@ÛåcÄÑ—é˜I1ChNïxL= C¤OºÿF_Q•é±Uó¹¬R“ÏQª`ÏÚk@5·º=Z,-ø¨Ü?å.¥û¯u½Kéºò0ð3é~ÇŒ3_ è€÷ö[äæIx…úÔ=”…ýŽND]±ß *g?ÙJÄ0hoeÀÆ7 ‡aNg•H7¨:ÎØïÐA8QÈVD?],â¤[smT°P¼iöž˜‘æn¹˜ aÒ“t¶Î<²Í¢xŸ SÿàºEq­Š'Gàÿžñ@|Ò*oÕýP¶Ÿ *D制6ýö%\(Ò5s#ÃÒÛlô8Œ<ûMÙå­†T²,Q}Ñ Åf”Ñî³o dŽÙTXœIàª>¹çzxWdÒ€1'C)HÞ‹¤«k‘|϶«›£Ãgy×ÈA¥hbl•ŽõXT‹‰Ûâ²KGÛÌ@¦¼4;ØÌ£œòàèdbTää’V ÷>ž=Kå±Vís´ìAx[v…¿Zà½Cì²2¦\ík4Æ ©oÅšï$UƒqÐ%(º½Öônp¿G‚‚Çì6ÎÎÜwCÇ39ß(DÁ€rD‘šŒR‘íä.”çÙPPG™=Abïáñ¬üqœUÀ¹¢%xšLm_1 ÁºôýÑm{G5°?B~ÙÎ0xDyMP–L·;ɦß]­s­ºJaLë5÷÷Èt[“ikÔpç¬pâ;µ3²¹lÙZ«€ûY#QêʼncLŒ®e¹ÈvHrK|u4$Æ’JúöÎ=q°ôõW™Ü mû7ûtœ7»ùlé­=çÎ=yŒ4Œ/€±/ÇóÜC °\Ä v•**=ÔF<‚LeÀ¡šÝ4ä±ñ"¦‘pŠhé€Ü žq½)˜Ñ±Neü9Ÿûâ¦bFñ#°‰¨Ó CDäý18ðgÃd›ršTcÃ*Ûta‹Ô©¢+(Vý`ØŽà ¹ÛL†çr¼Tbä»,¥×;³îGð õ „Àó¦xT¤?Öëþ<¸w)Á¡Ï޾tCHÑÜw špí1ùðŠFûó³•îÀÆV‹-“AM2Ð9…}€&½ì•©Ñ”X 醦]Æ“€4Ul X„¤²-e—Ý@iòx&Í´àöÚ›çˆG‰u;±NPÕo†F鲦 '峜IÆ©µä¤E¥Œ :¢ 0¼u`øÀÇɇ'ƒ$îÁn=P ÜÏØöX‘~²÷ÿÇÞÛf7²ìH‚0¦jº»ºªöÐ5§»§kö¿©ÙA½L…Í1H8_””÷¦Îyï¦(’áp˜0O7ýÇf[c§mÒ«w9B+dAåyLÁüÛ?qábíÆ‚ˆˆ°³5Ù¨ZŽD i’&²¦ÝÛ¿ùg?tb=(› ÑÓµj •Û£™Ÿk7 Ê“iÜžq×ìŽÆZlZTÜ uô!øt8A©º)ûæ½ÒñŽÎ›ð»ÍU‰¹ w/©mÃ' óTÛÓ­¤[)ç’Ö“cdЮ›íV]-ÒÇ7Ñs[î÷& 0lêÜ\ƒ‚ÁYvËf¤ßl 7ŒÆ~™’KˆŒåU'~>ä}?¾xsN+0»uvÇFdÊ4‹R8€Å¼“¹çEל}$ºÏõhô½o—ÍÜVçPÃlô3„5¿¼ƒ›n%’6DŸ"@¹/è ä &á?þퟸ˯Ýœî1á… ]R›iaж‡B?uÒ‚3±ž ™x@'’òº0’N ÚéÑÏné Ìù;«¿H© eÓÏ4¿ >©M>à w)§’…²(cùÞˆU£×WºIù¸@÷ûQN´Þ¼( ¬¸‘®ïpȽÀ±ÿ¼?€š!Ç&}#MËy×?à'¨^›^¤WŽymª»Þ×8TZ\—‡Sä%@’0Àû*¨JZ4CëÒˆ—FÂÉ}ö#Ei)ÎÒ’=ZiÉŒ?†t7NÅ”ÏÏX°6¨O.¶#•b¢«û<1+{¶èÿ§Må ©☮çdh»ý¼yz€¡üxVìqŽRGî|ý¥iœLäbO›ã ƒU‡E³PjÃý*U³*£VÑ<¹²Mt#ëýå¡GN®²¸ÿ/3vŒ3~S¸þ©VÕTï k¨öPr£ßß‚¸ÒÁ,‘Ûžn|ÁºÁ¡C®8;“åFÆ×‘Žâ2‹šFoƒÁ#—mØß‡à¡=ª•‹ÃØ¥xà„yv¼ŸYËÝñRçÓͽ:„_¬>¤™>ŠíFIENt?'2ŽZ }:wq,èýbaáuP£¥*iºìr%êá Á `à ÌÍ@B±iàL³ÃTb†+±)HŽ&(¦sö´:¶ÌŸ/W¨]y½î¦ÈWTI–¸ëžÚª×Dô¹‚h‡8ï]0L?7ÊO¹§YE NnÕƒb&³iYŒ4ž°Gˆu¨eŒ=ÿ¾§»àÑ'hpLJ&Tœ@¸&dpw"ŸW©f{º—6XC©0=]BÖÒõ;ˆQ ïv†ýÔÏDÊøìB e¤æÝB©P¬ÝœV9øÏ%Ÿz.žÀ¤çÞ{jPwËû((—çç!cE3Ü ÍhÖNù(ë2ê¦Õ(jf½áY“Øløx@íÇÝ9éP!–6ºR$'eŽŽlâêߪ×fm$qR¯8Åí¼:‘{A¶ØÄF×ëy¬Øûžü¡Mz—Õ™ÊOlO‡|0½lU`:¤,ÿhÁ[ýqO·’ÒÅÓàØ`ïÀÜi_$¬–¸Ôà¤ÒЉHÇNZ+v'ÊN Rý×`dÀàÊŠî#`mˆ€XDMaY™yŒýàHÀq0ô÷Ú„œ öB†^jÓ¶úˆ3Ù% ¬ë›ÕxT9vÃõ­,¾ôCr™3›ç#eߎJ¥Î& &¦Aœ°+­Š49Œ(ÝN[¶ð˜^·Ê¦†l·µ"~}‡ 7.‚”ÿ$å}îãÚŒf«ÞùûÔ[Á|fÀ0†‘~8”:r÷³´ÌÜTŸG˜ãuR§|æõ«u~SßC'E‹‹–Çyç”zñdðÍñ®€ÊÌÄ*õ-ÃãÚ$3×ÖkU¦É…ŽmeTlªÓŸ2q”ÙNþšN(Íu¶/ðªLêJN`†— Ü=±šB§œHuž™˜öù(àà`h¸LÓôì™ë=G=æô Ø\büpÑùûj‹j áÀ …é}ÁõÁ‡Á‡ž€‡ÔÝÊõÏíx/WXµ²èGÁhG¬òP­òe,Ãù–AsO¤GTfÍrd²½¹áCÕh–v¶Låäî;¿Ð±yO'ÕwÓétТ7¤¸·Ž˜å”ÇOØäqhç IDAT¹›£Csi¸ßtÅ^u†£;½·NƒŠoØ™¡wf.ü1bOÇÝt©¤™Ÿ©íÉ$Fà-[8Ü:M Ïþš9gu6ÍŽmÚaæÛ•æ åã#Ñ‹N$¢íü“jŽUZHƉ÷ÓU±³§âܰï5üÒZ•Ê;ÏXQÃmG*’9û=^°#Îg~4ûŒqŠR-:^Žš9l›¯˜>j‹´èe‘“Ðgã|à9ja}ù35—÷ÿÛýò›úΛˆ{Æ´‰[¡ÓÑ7™`{ D/ZáÈÿø×·ºå|l µM†¸c7Ø[O“á}µS2ªÇäû×þô)‹8t·^Ñ$;fÙ1+•F»I!µµ  ]©=pþqñ¸zÖçN„ðùU·ñk¨?V£å'DþÁlĪ>ªI¤#ÛÔSÈž`ª‚dNàÀhÛä=/ር8§8œ¹Ï‡öT,×UËÂ6ß6a¬ýÐÓͧG,˜C7šàØÂ9J1FAcõo5 ›Òk‘•Dê’õIç)Ĭ¦±ZÒÆq’ûc4:ÞJšÇ´Kc]WT#·£•¬N$>½ØÊ=ŽtŒæ\~@5„ÏD/ùG­mË9 Ù“y•8e)#I‘áJuhü Rs®lêž1éÙ{óû}„€qÄd%-ÉÍJ‹ÀÓúö„H’‚N¯#¯„5e|ÔR˜éšNzW¸‹]e{e—þã_ßîÒÏ3³ ,Zá±Õo´­º¹6ü¸ªçêµ£–z½êK¦·þž*5 ×z©ÀNÿ‚ÙˆÕ‚sÿÚ%r¸w»@Ðu•üß9ç÷нwô3Ý\äHGgT÷yJ^úD–MÁêT˜Ä:ßhͳ゠çOª®Û~ÊwÂ7öÁ5Ѹü¶Q~ŠÈ/Q)™\9ÈÏž8k09ºnxèæðåL°A@ÜõzÑ:Àao‘0×+Б»•rÉTÉW:J°ý$ Û‹/ÇTÒç¢kKÙ†ßÑ;Âü÷anÆÚÖáY[¯ Ñ(uÔôèêõ¿ƒ­YÎæl˜Gu5v¹$XMw:·»¿ÎÒ™´­Z"¢ W,ñ¡FµÕ¶,œDzÍß“iXÉNŸ×©ÜÙ{ß ‡a£Hîµx42 ÞàoÍb [`‡:{a µþÏ¿¾5"÷ø‰’,v)yÝBã1ÿªÈKº¿å^ôÞØ Ï íÑ¡WÆÆJ¦˜ºŽ³`íê9W„ëÍÀOÕ„tßW^ëÀÀ4|DÀÃ>hÙdz’Ü£Ÿ¯+Úu äL¼4`@o}@Ž3ÉÕ§VëÚ)ïGI”- Û åܺñã)ñ9YÖo¦°÷'ž^ÚVWÌ¡Cû¼ú';°8æýèHƒo÷¦pHŒtugì2®ì©7í~µ¿61©ƒ½ÿÜîNè ÍgÔäÖ^jÅT„0~´“Þßy†–\²³èu䓿X *{âÅ<°^} `ì+¢Á'ËÛ´ oËÆB R¡”•ðO¥ R•NÁ^z¶b|×8믔^T§¯TÄ6esmÁð^ J¢Íš¡gø,ÊUÑ vOŽÄ-É:¥ã¢‰z“«Èp.œëè¿Eàcvü­Õ´zz‰‚t £¯Ñz@V-ºf5'TYÂ8®±ò uib7m'ƒÖ\x5÷Ìfñ‚@ó§tËêŒþ®PwÝnàyðîÊŸâu­ógN·¾#ëñÜ÷$tÓ)Â, 6îp~Ã*-.Ýì¯7ßÃáRНþØí†åÄ·a‡29_Y0Ž>枸#½èk[,ZùÞwD~LŠLZ‹jÍj°°Ë}k[nÐëå^õú©ï÷mõ£^›7u‹ùиnoßX_°ÖyÙ>É÷B;¹©}C„N{9V/‘¯6¾¸1†“èƒÿù¡q¨ˆéeÒ“ŒÄTçqì(s«zº²“‰ÇíEj¶C”Ëõ'On/+.µ"þ  ®ËÑÐ÷&¸ UtÌv@î…eþ¶:°Òòüh(ˆuÚØ³yýUØe4ðÍÀ¤ôã/‹zxFÔ­‡6 Ú$7n¬TžÇüÜ‘>ÊÙJž+jFZßµ0Q·a°á‚’Ì w@Ú;)ÿ .(?Ûj±ãÂñ‹vÑѦ@gêMX i¼„ôèºOW9Œ¯¾ßŒ®X4X½Ê5 gýS\ÿû[÷Ò¾ÈgÎ¢Š¢dÈßèønô”KŽÊèOñ8¾h Ý:O©—R8öÎù(2Ä:°pËîÙˆõÃU,·@×´þiAØ{ÂuÛ£ ”Nn=+о¢×½xvÒ½­Ü(²›W²ª¶ËíYÃŒ`º<Þ¬N]ÿëXÁ(¹âút+ô;Ìõ6ƒÊôƒB2M&ƒt<¯wò°®œâr$`ìÄ:<ÍÇBèJ7~¿ÞÍŒ‘Glx7ÚA‘ŸÜä§@Þen–ö9Îäg9¶æžNk?ö®G›Ž$¡®æÁÖÏw!j:´Ö‘±:›0üE3tê"ß)"¹ùœè¦ƒJ®YÙˆ@0MÓYºø¡P=ƒó(÷ñàÅm¹à§â{›»ÕÉÜ€«ÀG–¦ux˜2ª3?7'ÕudäËû&òsH±ú®µO¯H‘kåÌ _8ßW<ãBÍó‹Æ{|lú÷!ßm å¢AƱBÕkhŽ¾Ý…Îö« œ ª+; žYJM®òœÚ6Øøð•£øh¾ÝY,Lx.^O¬z”Ù_êlL†)Y^ííúC8º»¶pÝ<Ô[w}¬e,W î×’æªÿ8„Æzû㫲Ž3yV>[oF7 tÈ‚'Ö€ûgnϲÂj+r¶]³h’´z!LdN5†ìþ+(©ñC4’¹ÍlÝc‡#kMB3vyRõšIXNVZ2ÉŸí‚gEɲ/ã2Óqö°¦;Vz R¥Øœ,)ïY†6WŸÍ†EóŒÓ–¬ÿû.„˜•w°ÓßT4Ž:J»(i'ïÕ¦„Þ:Gq>d~€i£ÀÇ÷5"ö9ß7Ê?„òþpŸ®ŽwàvÂ'~å%…Dè惽ï šîV į%r M7·o…IÞÃ!‘™UÀž_Jˆ¼®Œ:rK ]€Þ¶vøoBnwîö À ÕtdCÖrÚì@rÌÍÈ(R&Øý CþX˜Ã:Ï\\˜R­vòbèlºªrô£ˆzņ2ûQ§Líª*ÌÍ3QdƒKì‚€óõcóÒ8Y>À=•pÏ WÝK³Gbíó•¾ëý;Þ2[VÉ­:¢h½[R’½ëh]N<×gøMkÑØ{àÕ³‹˜4m:X;)qc÷·ÄÚ%툇øìÄUEú™ãÉ–:…iÏú>4åEÆt¯‡GtXFϱƒŽ_²Ç®®¬í8³ºW¼´\¾ûäfÆeo†ƒ‚‘gg¬#|JŽ.0}6zm Š´-¢¯~cãIßU~ÿÄH#9¸2 )wÖ"³÷fD‚>˜‰Ù»¸2°saÝËö|þ}¸Gn{ 0œ¸Ûá¸ÛeEþFêªói˜ŠUäp. Ó‰`-Ð.¨™E»Ý÷ýÍ,BÜ3i?¯èµºn>§Kv8c/lA;¹¶¼ãû2 L¹ÓÍ9øpÓü#Õ«ÕÞ.G@H°è4DèWÑD/DxBµR _?\ú­Ò>æÓc?Ëd­œ+Õ'u‚×Ǽ)΃I *g__âæÙï¶¾>Nþ´Ó¬Ä ®› ³9ø'詊” *É¿=r`y  2sò;lñ£8 ³‘¯ê%o èø%"¿îuTŒÖÚºèzÉ:þHúª$œãK]úEæÃ ;¯Œ UÄð(²ÕÜÛÌì •h®Œ+2Ô^–§{°0t†š£©ñ=*9ƪŠÞßG.éç¬îRñ…·2à:‡ø@°_Q?w^ÖΔB v¶yØ„¡£›×µ'yÅî)U{Á¸@åæàØ«^ï6aûã,âcnç›IÁÑë Ï„ TT çØ[¬æygÄAÅ_ÜψýØ÷¬¼ã&ð1˜:sw<±i•N ôÚûZXÞLHƒ1àG–¨p}Cd™'ó¡æ±Û¢“tè±ç ‘äÒÚ¯{ìD¡r°²tD]¯B7Q¦Ï›œø™u­ç€Ä…íÚ™º¢[9 FÑ:ý:銮oð’¢Ï4%¶(ÑC>8Y–@Ï*÷Q ?qú.ÆdO8ŽT’+ÝÖ¥ã#Cô€ˆ E·Y ¿ýµmû($ÿEÊ»¡^»fŽ$ÊÖð3ksx>±ó«Î{—!=R ­L˜lNrùëjI”N¥¯¿`£R:¶¼*‡ UèŒ"«óo-αR'”õ«cÕµðüI‡ìGÞâÒrjïÞ’~ë.zJž*ä›dÁ5ÖR§ë~ÇA¡»áø":qE´£ª®&(®3ò d¬Á#È>'ê5p¤—Gæ´»ëADnº$5èãÇv懂Õ&¿(Hdzš¿.ƒ,r¼Vã}h9zÞøãˆØï«ÌíY_ )D ZS–û©ƒYÆelÕÞÅ#·ücÆžéÏÓŸvMÜS‚v¯t%ïÌ'q(ªÔ/Ògâ÷%^‡AÀ¶oè0îÏ`@Þô è5‡çPm¢@…òøœŽø=›%Ìy§]É@i@· àãίG*ËÝKÕi-úà†—cä xÖì,2•â m‚|€—Vï¤[ ¡œ¬+Z§öÃn ñ÷›Pu׎حȩíJÏu£!ÏH˜ ÿö}énL€NzÍPÀÍ1ISRVíç!ÁcÁ Ƙ2‹¨4ñ{NñhÑ3ƒgÓÚ͘=·,ÌD  =ʬ¦ŒŽ?CŒ ìôØš)Vq>wI™·&Ð‗ñ¿œÇÙøQ`æ¯Tîéj„ËêmÌ)½zoWø ÆÓ#}’ÎðHvRf!ЙÈ2 Ž‚JéìzfóÊÒ=¼øýÞÏ-YXáÃD^Ïq¾µ$DÎMѶÜ•¤žnƒÀ.Ø›©<Ç 1Ó$Q¤£!¼ûïò<ÞCÇ>š³q·y¹é  o‘VÄäHêU÷3)T3i7ô ñé¢{'ëИP æ4*€à3Ýj‘»ÃF¨ÜguDÜ 1S¶*ú17ÄФ™Þ;?œïû3PWáb΀ÞÄÄ|ð(äÍm{¦›Pîà,pªáá–‘OÇe/BçøxL=ƒD˜h–W›1åÛÛe<#_X+Ã%¼üúÌûˆ^Ä®sÐ 9{©…ìÇ;oêq~<® ¶ÑšÜÌÚÇ;ª"d4ÿ&ó-Ja蚈Ø´½XôL“€´qœ+žâ— ióCXŽéM0ø7)ìSªFc$h¬8ÖŒIòp 9$‡÷¾Cý1.XíÑŠèô¡&J˜õ"qöqçx&Éöž7勾u]†ý¿›è\Ãñ÷7š\£ÊyAáè,­.8D‘ÔõaG™ø¬·Øê5Vû€µê<Ï:–Áç|gUçìj³UÊÂà˜Ú «+ dÑñsß)òÙd¯çÙ¥žNÜCŒÐî<Üþ~2j¶P•nݯÄáóÌ•¯Uy®¥ãd9SÆÏQ˜,@çD£bïßûd5ñˆP<*ÈTÓÃiæSÊ’ÇŒŸ‡|®; Ï©AP1:íû³yåÀ?ˆ±= ËfÝ7ïî,‹ Š Ÿ×ß)W(çìyp? ì᤮GMU—§r–8-µFU и<ð,>ŸDÖé¦)=T’÷üLÓ¡‘Ós.OaIåÂ=ê‚L/+t• f“xÔDæ½¾ÛVçtT:¡QF€[üÔøòŒB?¶ÍÇï{ôZ+óñ’­+Òû§¹6NÖEÙ”¿¶ûò÷UB“ïÊÀFDøf# 2m¹E!Ǭ9}¦`#¾eìwÅt”Üó™Â+Åùh Z,Þ@9ñn•,™ >4Ø«Ž@ƒw¼Ý¦ Á ò®¤Ð<ÉG!ù& ã} ;5@ʆPGD88uó˜Ð°r:•B÷XµÐ#†9µ#ÑѼk¡ÃääÐ)N  uiСÊZýwO£™0Ï#JÕƒJ…q.5úÄ =”ã¤çQhE9¿ ćì‹8/,nê uã6ˆ¬þ#¡°í…äõ*ß"ÎÍ/çVPO…8Ïp"i˜eY \ž‡&M‡6Ý()$ÜÓ¼ƒÔ‰`Êžh;+k$cê¿“óåõQÐmì!÷“ò,¦êöZꮆ(e7ãa›µÓm²ÒsèLäÄÕ’ü`,\`j– à±ùЅᔃcý˜]{$úÚ]ÐÌ“¿`™DVÜFc ÑéQ;º®˜S–+yž2Žì³ÈLòhÈœ¥`$¶'íwì©Ë9½EGÏdŽéG¶ƒVDéa? !n9DýÝ‚1Õ5ã`§ç8¿ÍáåÇjƒx<#1^òB½.¸¶mg=GIâ•8¥¢6úÎgJ†ÿtX¥3ÏQ’gA?‡Ü«ÑÃ¥âEü K¿ÿÀ£ç†5n)…Úտ̪*º¶áèOm/8År;ZŸ½3—“eôÚh.2*rY÷®ß‚­F'ßß3c™6ë`'aÚô¬pÅp^Üî6T`ˆ i8©ÌåÎ{–‹PÆqâÜØ <>=p뼑©š„BÒz›ŠmÖ¸à)R©çl¸°ùïN7÷8Âbþ ³¦ïŽÔPXo/5ý¿Y v0‚t¬:àGôE°(N‚¤2ÙKµšÔñ ~üzjÛ3gÙÑL67 l$©z¤ÈFéP“hFv†±ë›æ9Ð/I,¥‡çt«ˆ·“Ò ¬ï»Ö IþnCv]9]±©YÎÂÐ~Œœc›üì8Á€ÀåÊù±gŽ.šdOZU àŒ"SØþ]rfŒØ ÆMqYà ]pÄ962–R: ¡j1 ¾ê¯õÂÿ‡93ù:Ò2/û§*ÕþÉN$•Süª:幸‡«SêªnÐh;6s"ZwSŸ;Vq˺q©PÆtÎ$xòÌMö|šE[§‰9Ðæ¦™±¿¨Ç6ƒ¢O²4œû=‘Yá0‘M˜ç,-Lþ‚Ó¨ndØZ¬¨ieàc²îÁ–&Ý •t÷Ó·ßz8šޯ3å­r’ÅD@lS,/Ja%à6>£AmúC+x’|£!;«5ÀšJ¯Ì®›½µÛ•M +`QåÉ­¢m;¾”¹{çRCŒ¨†×¤³• D|qÇ épy[{¯˜^Q¤£ I¬ú:~‘ò“”MîQ»©Ù'@œt&¶@‡ï˜sÒ½¢ÃŽKe¢Ä¦nÙX‡H“­ªs#½c…«¹èŒ?*W u£OÚŽÿÐv/jÆÏl òˆdç™^ñƒb¿V Ñõ|õ*¯¦˜â ‘p§OŸ¸¤¶í=n “ëMY&Ù‘®}z~r#\9ãä/Õ IDATùüS»Ì/d¢ÏI¶ŒÔ”™éuI N§k¼Çúôò ŵQ1e‘YÔpëtÄ¡,âh §ºáyÿç¿ü w˜®¯4’Ž«íÉ6¡ÇVfá´ç.A\Ç.£m¼ŽÝΑBóÔ ZùÍÁuÖ†!ìêܘ”û8*1ƒ8à·Šf ñཎCTj•xŒ0›¨¸3‹g|ÅÑŠM×lZ=ãŠ Ž¥vþÆÄ³#¹´±]yß×꼆æ\®ð´]`‚c]1Ý&éï!‘»5ÉÕ¶]1ZyöŒ_K;h HÉ–êÿÝZLüêÚDHŽîͳ€c¥ŸP™ -uì“@ÿ"Œ‡hõjj'Q8§ÝKÔor* vN #_½ÕXqž1A o<§fq 븲 tYku¦(µVh¶*‚„ôЇ¸ÝݧûpÌ3 x¨$ò^·÷Gc(›lû:…q ßÜæ&†5ׂƒä¾*R¢* ·cuK¶q¥Ò¥l²cÙ\:ç p xt³ÜϘ¶©PÞªYY° ½‹Â¿6¥j`àè‹#ŸÈGºÔÉw›÷A¬…¢æÄÏ&G)ÿØS«ÜãPØ£¡æ7âŒX:Ï©1)6Î5ìwXÉݞŲC^ôÆl˜J߬· 3Û«}|ÍÊE§qÀºè:B+ÇI•W¥ÄtG_¤BÔQ#òÛ]ækET$»ï.—èagì¼1é&FdÀpŽ4j'þqlîWݘ@x²÷òÅ ¤3Ö]´tz>­D,žyê4[i‚í·aÏ<¯«àCŽÜ.+†õl¯³»=VŠ|4c>CºK§2(òKúß2ö3Vál6¢¶ ŽMš”{79AiåÝÙÛ„rã³ïÑ£GçzïoÚÑ´é°¶~4ÑŽëúÖ4Ï›¬ÉŠ]õpìK¤"à:ù‹ü)¯/'ãÐ-|qgL³€òe®%"×\ñ~NM‡T€–0ŠÞ Èû¶}D8©U‘µŸ+¯äÛfǨ‚`à;ëÕÆ!pìüˆÅó}›ŒyÌ(œÎúø»ÖL„ü´Š¼´uþ BE‰:Eä¼W¶ó(q=KžVc%UiÅ E àhTÔ.Í{އ¿uK¯8šMËÌÄxѬ™ùÝ›r¿n§5¢S¼¸4ï9ìR׃ŒŒ|‰>S•Y£+o•Uux´]›‘áÜ‹­D8U |¦Ç39k6gÈÖu_*UÆku;ÓHòH»aÀ 1ë-’àØ)Ý#ØC )3žíˆ€‰)©éH¶è¬¸J×€LüÎãgË i¯cÔiµ2#4x¡ßlYË5#‰Ðáþ÷\qz3Ó¨ÕŒ¶À Ä0}…‡e‚‚…a(Ècà˜É­Ž‡…«j¬ÜZè&ñŒ`\¦6kk¢:^ZÛɼKƒ |£ÝZEa9å©Zõëé¨O ¦MœLk9ÉZqE«S»91ü \-ޏlíœ 0ƒž‹¥bq€Y2Eb¼Bf:n¬þL€áL:H7ªëÄg–lÅë^«ûLÙ5*zg%d·ÇÞãèx®ÔЬ®ó¨ä¢ÅÍÇä¦þ7_m-­ÌßÛ>Éà‰où¹R(·ž³ÕˆC·‰aE]FmÂqí@ê‹\­âme©%‰R<\uÕŠŒ ©Ldn½*$‡üs„¬Ü2€$CÒ¦E½ói8šÏÂp´ZÝÐѤ#ÍGöô³T¹ #蘴W¿cö~€:[Šm‡õxímО.†Ú¶kLi–PÐèœÁ]é)ǾICŸÝI¾xM»ªüþéo‹©VÕø!ùpx˜ÆÔ0ùbCÔC§t¡Çc¡8;öŸ÷{ñ—›ZUM"CîxL”²Î6ƒ²î!ˆi>÷\%1óO÷•\wÁºú”ªÓéƒ,ÐлÛF2Æ>%l«›AÄínâôµ6Ú_HF Ö «×UòÒûµ­ÔŠÍíF_²ÈK§Þ¨‡6ºp¯+§p6¿ÝZ‰¸U4Øp·ÍŠb³¤õhU˜([ùµyë¿# Dׂ/-;ÕP|G•¹ŸŸŒºwÍÞ¸î‘ÞqVWß`“”-üS¬ÄGνˆã0tœœïNÿîød‰È›q®fí6DÂÉS4|ÏíÙ{}§œIÈâxSOßTÀÊåvW„RG‚kGàc˜9ÊÈfYÐö[uþî6-¡Á]6y¨§&Y‘#^Ñÿúï?h•Ž”‡vï 3fαËîWç_’~„ £W+[¥Ž}¤¶(+…ÆÜ û¡§œÐ:ÔB„²ÐQŸÿ…|íìäÛ½€œ-F[†ªÀJL­W> 7à9וÊx¥cÕªñ±L·ÈA¹,ª3;Qp¾Ý×ã‘„ÔB‹¹žY¶ã í‘÷®²eG£+5,«ÅÛ ‘ àc&¹Ï®°Â0tCÿ$ÝüϳD@âóœÿN[Ïëî¥ÙX¥î`?†kv¯ûv*âgX_¶ý§´*·§¾¨zÈ”w<@Ñ9&C9SVFÄ£ØRy[ª!¨£pmÓ½[>)f˜ ùìÞ£DY*JŒtز™ñ܇«u“S!¹LËñ3×a´æ+¯@í+’Sôiÿ盾àJÉžH¯_j5Y{ÚV+3SéóÎ*ÿÌÌQŽ‹|¼ |d;ÑÂúõ³ÐÌ3„µ‘ZÑj/ ‡I-J¢Óål³Êàþ?j9 ïÜä N *fÕŠÛŽiY:mÈÓÙöœp{0®º¤Yÿ¸Ÿ|ÑÄDkÄ=ÌÇ­Uw?í±^ #¢:•kf‡ØHc\qfQò…%ÝäZÎÅ Éå ±•š…Õš’Nñ=öò¨»Íæ{:ÏwÎ…x‡SäfjÎìNðÚ4ú·~‰µ\ö$=R¢Ó½'_9Y´O ¯¾³¯È~ÎÐç˜5€=S"…¤JÍ:Ë™úý ó²H%‘ Ì‰ëÆ£úÌJˆ¼;ºÒ©ã58LÓzôxï}ƒà´7RdÓî´£ûô{¨taíɾóu8öC•^¥ Nƒ²ˆL~ØŠEå=QCð¨ÖÄÏÑÖݳ ɑۗ·³ºG'/B¡£ÜѪ­º g‘Væî@qDG#}LO骸¡.#~ECçö†Q@ã¦\Ö$-Læm¯çø¹Q6ˆl;€ì櫤¦ã‹ù{ä&Ù¾¹¾Üô\k ?G%ðú1 xôð5Gl–ŽIp:,¿» œ´¿i\<˜º/e3’6”DÈ‘Õ:n)<H°=Àª÷ÖÑt&¼ßì¸ømWóù¼ìÛô^|åº VC;Ép?F‰m_¡+U퓌-¯Gÿˆt-RÌ«ŠëtV @u¯1´™4Ž+`RT’ÿN/ß9Œ»Ãò"bÅJÔÃ$öÅ»þˆ/æ;˜Úª,©´»øÀx+=v„!•ã@á!ï­Ð›¬%ñ­[–'-)‰Îœ7Vž³î¥­– y*WŒø%.»ÕŽ-üì…Ì7o¿çí,ÕáͺiAš½-S>òMà4¨í0g‹ó*]’40²µ€Õ&Ö, ?˨˜ Õ©žÃa6²W"^“â‡ýê×¶ÝA‡ôH¶:‡KÀÏKÊÔw €§meݸ=Ñý¤(:š"óãè0ÑXa*äR/bO-‹ê`kOÐ,q«N8“ù÷x”‚ú¬ž~Ö꯷&)Ú7Q4á ý²«WæJ™vEô³5/h𠉟žZw–¡s~ìHB!ÃK‹2é:pØã©‰­ÉÚEŠ(×Ó¢Ãf à,:5®µ¼G¼G2jªo©üÓë˾ÉoH½7äÇüM¢h1úaBÔñ"KÓõˆCÑ¥À5¡MKsSŸb1LafóùœëõÏØÐ‚YºµÈ]†÷UGèƒ?äX°ÿY­O”]cØ $=*êFxkàcx„ߟE=¤Z ïÓ¹‚7…Â)i1ˆ)#ÇH,¨H•Œ¡£oν) yO­B]ÓЬèlE£eÖ¢ÉzÇtU‚¢ö½h-ž–Ž÷{×-EÒè¼›÷ d„ã4a雾Â9®îëh“ij¼yÉ݇Ÿ‡Ô­bhÏß¹_Õi:ö ›—i Ù¸+[+ ^Ó‘'!í¼÷×Ð|Ö¤<‘ó{4;øΙ3ülN£[ƒÖè“éS¤ höÖÉJ¢1!ø âÕwìRíÁ”loÎl@;ÁCŒÖ˜ŸÒ‹"NWÐ@/óaú¡©íâ5¥/‹ÆÅIôql»=Õ‘±x¦ŽEê"O.¾€¸7| Ölázr`ȤÃeÈ<(uÛÐ¥£Áq†Y: >$h ƒ­o7ÃÞð˜…aoâ7ÉñùÐø†2uUßã¶÷æà‡õøýÍÿ xôx¼è*¨˜¯’%|E&ìám ½oWÖÒfº"²Ñ¯ôŸVK¡é¸‚£Ðo×\~>ºâëŽ|×Ê3¯)õûù#9¤QñÙ™wa{~œ¶i®²ãwcÙ“ÖŠµƒ“ôüí~$–Öœš¨FsaGfUWõúvutÿ†ç¥ z-ˆ±‡Ýä«$}²Àî‰íúä‡]±®DgÛRZöIÁ©(d@fÿƒ:Ý©Þ!Úž`hÒVj'½õüª½]“1Ë„*cÙx5\Tæ¹ytt©¬º'ÓSîí(3.d½Ù13dýˆÐ”;–|@Þh !U£XqôY‘-©Ñé ‡tä¨x4‘wÙÓø ;$¾:Œ{Û4›L>¤rß·Ðñ4ž7 {]X¬Ú)Äd¨ÁÏÒ(Ò‘Í®ÂЯR©#"›¥”팥=Yúž.à™{?šJuì|VX6öOÿõôÓcÏéK•f{í³Ô3çV¶¯# ìç1§§;ÖZÜÕ¤j5)Ún<Œ87ðð1¤kâ’#‘I™}Ž2K"ŠƒØ9Biƒj0â³0вS¼¦Ø*q Ì™t1·}":!㚦Š`“Öœ|’åó„ ÄéuÂÆxŸ°IL ìQ )+–˜ƒûâ.æåü™P2kY†ƒÎM6@<ö¸%øXéiÒm°‘Kn8h˜½ózV­ÂÓ¯—¼9`+’d$¿mÛtès}—_à4eÅÎÒp|—û¦b>NŽ1Ò9¿Ë“®"/«\è¶ýûºš¯rypô¾ Pë%òìá@‘óé÷[ÛƒkKå_û4,œ—ðÃ!߂̫Œ"›kÄÞð],ú`Q|v£d«í1AãyEx+Ú]ù™%jœÙ^“¾Û8Šé:À3è>žÖ ¸ þKáÚZ„øjXáµ´?8e`/ŠßÁZ¯Øƒ7‰ª†÷/´[ŠöãY9b4þÞRÛŠHähGwHS`LµíÖu¡UÚ×Âäýeb|Ý2[²Òʨ[ý„Œ[®-aB"C6óËö&Mϰ2&utÁfÿ¿¾‘ò“”÷í#½ê‹‰W‰¯r#X¬K^bü²uþ¨hßÿ½€‡|£¹vn½ÿ¹“ßg¾s$süýhB`MÑf|´œÏF,EZöºW]°á}‘ÿî ¶Ü_Ø.[QçøÆd7ºs6Ì*‹$~wyPpÌ´(fß›]+ù½’«âF¯²´¸q÷•S|S ÷˜ÝÀ)ëË[„›‘Œ$Ë1å[z¬yI¤c\û°RÈ®îèu#¯úåžñƒÑD™iâ­734q'âË{½Þéƒ5]H€¸S‹ˆ±DÇ'Ðã=5>»Íw¡9¶é”ÆÒ.”:fþùtu!ªÁ#Nè S†ÃÊÙyòºp6216œa’?Š4á)§ÈhÅ8«¬ê;òUÙ>Y‘¢v:[ÆÈ‡icº)àþ/SL~ ‹ÒcÜ#Ù¸É/^^õ›z¡ük?ÞKX??¿ÏÏm·‰ªÌ¶ý6 a¥i÷o»ãäÄù§Ç¿ýqD–Rqfósá1G®›óÏÓ7uÔÃî5ÿd"•ŸyÔ<ëw×*O¢"_É9`Áá¾Â•I’[&Á$.DJ0½øpGU\·DäH§E¾M@…ãè$çÆ3cwì˜5cA9‚ÖZƒw±w‡“R¡pd6Ž!O:E¹G‹Št`ü¿•€ãdtdÛD¶m“_ò÷ñ”+óçç›Í‹•¹ Ûï`&¤~K–ÀsÜð×Ûm£ÈÆÙGDÊ:OCÝarƒ²„NʯUž ÊQNú«gekêwØ®\õj—Åê%‘“öGÀÏE{ ÷øÉ·–ŽÓ*hh)÷6”´ÎE~Ý›nWä ý›ç矱øv@Cä©>5ÙBÔ´Wþö%£sˆCD¼ì(6,ÏñÞŒHûܵœÏ@Éhr%tVF' è´7Y+v;šh1ïÖØɹcó©¸> Ý´¥Ö­àdxÌÀgœk•xRjÎ&Ó K"J‹ÞB_Óê®\&(sŠ(6ªÉ!î¦cú‘Cµ5ùÝ…ÄœxkG0:ÍhG¨BãtÂ{ʯF2÷ aÆúØþ׺W=wá[ü%ŽŽé«çb‘¿8vüô—=Ë  ??»‰1ð€ÅéŸ0óìÚ$%'*óÒ·½¬-G 7|ÕcÌk^<63ZD焼¾ Õ'¢Fþ­1ÙŒÙçüi>ôȈü´&¶çŠ!äköÕÙÏ\BàÌðz cs¦íD§©ã0eŒ9ŠDïûüÍ«€eÑö½{ó‰/[w[F½Xq¿gìÝÒ‚@SY뉶Âþv£ûK7íÀ¬1#]àáXUò£¼íçFyO?tͳüŽã~Íg²ÏúþWï Xƒ²¬O›‹›¨Æh}V©¯GȾ³›«ú5fàßsÝDë-ÇnmøÚÚòÒ²c<€u3âé¸á¼‡¼©Ÿšÿ9=®æë³ñoß>Ö@¸/²ËUã’}8išÆ+öÑÎ|¸>²> ‚6ìÅ€§À«ÈZ»‡Îw·@O‘¦×MÏ#æï¾4‹Ú¡·àP£bevÁ¾5¬Ô™¬¬,2i=Œ¤艓žÖéM›1’J¹ pŽ¢î¦ºÞvO¯úu•ê_”öî.©U¿·_,ƒ8@<|•¿÷ÊëuÇëÕ™<S›aì! …æ3uëݦZ¿ÄñErHÝð¥þÛ¡÷;ª˜ÄrY‘†9¿K¸h»Xø™i/õôîß‘hlxXd8d›9|C î)ð’«òѳÇùªS¾¿Óôíäg]ÓY˜Œà_1†,0æêÜ¡±ï¢ É2”BÂu޺xTAäMðÁœmxàúÀ»J²Üx‹ d_∲&D‰Æh*ðB‰{ œ­ýÀ‰•9=F<€ÚiÉænï¦yáagò/:¢ xÔ x ÌÕàeÅAfÃɬtÌ+¦ëŒC*¢ng/\ñŒn¸Ýãxívãâ¸RúéÜK=!~sÒ c]³íXtˆWþÂ@’7ßÉ> ÕyZ©¥ícÜPàÄó½¹°òg¼ºlêKézŽòµ“Ÿã1úöûUÿŒä:CZf¿œDQUÖM”õæGåö=›Ùhû6þ}ñâÓ¹Æ9èàë·lW Dâ¦ké5|?×Þªš„#Ù‘LøtxGi ^Ý.ñ»·¶M0š+Í{[¤U,tºÆkd1ämÛ4+ä†ų½²¹« ãK³ÎÒø ãZÙÀnØ~0 Àp4¥g%‚a÷‡5›J"ÀŽ…û:VVí’—·Œà @ƒ «˜µÎx[G܈À9pZ)˲ùÙ. K Ï»2¯á¤YU©PžÐœ³kSè=.?4v¤r°0¨ÏÌÀ…Å>ñêLô·T6A‚•°½²³„¯ë ¢-:¦Lï2DmÃÇäV_Q<}åvÕNì°>ø0RE!™u‘MãêóŠŸ~Õ9ï( ;Ö! •²jVäŽæ¼½ù”«úÿ<ú€À6 â|J’ýv’ Ö…ãèÐA¾™7æÄ•&)a mjBªp6w»bÍá³Á¸@ŽgŠv$À£zÞý?6~tx…™§{m¾“‚™9j­x¥…±êèdWÑ ÛœóQTÉ8õÍý<ÖÂý]c9:¶òÀëÔâµ ý±°îªIZlT8Edø¬ûˆê?ì³¾y+õ!ÅËšë 4$X,ذúÞ@q?É÷EŽUçÌëöUrmb…bõñ+æ.é ÈÈœ¶”Ÿ‹ÉŽ„‡èwƒ· °M±Ut,ÚôY}º{Æñæ¦1z4`œ95SâÛUP¥~u^Ëœ¿Êy¯ÂÒ™ßÉ?^ahÙܯQ´#"²HÈMÿ¥¿ïWð÷‘×Òßé¯SJ7lUŒ¬íu¿ƒ3ÉC“n覫úŠÊ³úà•”M<\qª~4€2ÖDPÁ ÿT‚ê.:@}ó󛬅' À}÷èøÌ¡I‰òT¶àŒè•UŽœëT~•¸q¯X¹Ó‘[û6: Ê`A!Ûã+ q~ðgc[ªzE´‰†ÆFCãìa1ŸX.Gm‰G•Jª¶wœÉ„†‰ûîÝ<<8È-Ió–Š,:¹ÃÛƒNG'NV0qî;ÈÅYVn(ØÇ(Z:QYQ9ÖÒ;`@Çûtè~S DÊQµ2ðÔ*ïïùÔñÌ!yE—Žò˜ Û«E«ÃÉÁðŒDµQ;ìXųpÒ«´Š(p“B»q?ÝœUÁ]0Ïž_ǵËú\ý73Pl²âgÙÉe/AÆý`ÁáI- ŸåÖiµa®hÎt±[—ˆêF ÷Hä#EGGtk:„ß:B‘Š£§x`*áÆàÄ ÆýèÅ,àÝÐV7¡³Àï¯ÔK‡É\V¯kÅÀ¹nà9³ §‹% /)ÔFþ]ˆŽ#`$rSX 2gý ¦93 zLm4=e¹†“kk‰nÆ&¹÷[ôÖ j,®ÞVÎ?$ÌδÖM:Ô£ðdµ’ÕaÜá´¨j>à²æt¥u=@î’¶ŠÙp¢âœ#)Vï{“@ÅГ³ãœÚg7"3V@Ç&>óØêYãUg J¸Û4©¢Ò›ÔõùCÉ“jÐá9ÖûÕÀlêköp–êY²PÒ#ݶ+,Îç3ffh5aÿM?ßÅ‹„ÐW}¼ßÖ1+åYûÿþÏ?XE¸»ÑoíœÁa£|ˆƒ˜"§<ƒ¨èí¯ê\¢?-ð7!0î­¤YU{è×¶É/ :gbˆ‚ÀOeê$°®JAT91,&¦ªdå<"¯w(Œ ÖMWûºrî«"ç |ˆtòÅ{)\‘M>ÒÁ¶ƒ3Wsb»Ë§zfÐ脌¨Œê óÕ úM‘áÀjP\œìâïnn1úc5|Íg¢¤ ~åºûü¯ IDATfúÔŸ<´»Ú¨6O[þmK¾ç{°ñ õØd”¬ÕŸßßå D$—nX¡ødÑÒ½îgEÉFœe`¤û×½­b÷g¾Û®±ØŽ {uV àTCÆ¢f…Kà50÷lÓB[§£bƒØ8©{ž–³pÜ{³©éŠüï‚)ZPd}LŽòÁ½÷ÿóf$ÑjÚ-Ôæº©XRÑBPèÜŸ_!»pÕߢúŽ)Íj<ÙÑg àÈgAùfØûðh0ˆox¥r² &ØðX«³?8'ç®Sý .ËÙ×;Çö<ÞapÑéB›í¼øyŽD¤Üíä¨ ŽZߊÁêîÕ)ôy§ûwîå†Ý岞ưrbÎ*èZÍÝ:ƒµ«d&õ&sôIH'ªÑà”…©øûy4pIŠ›Ðûjñ×ÀÂStäœjå “´÷Sæ‹DR²‰*‰'òb¯t•½R· &CÇ)vž?\A«-9ËבÓk˜ïM@†JTáýÙšE0D‹ øG$õÝûß:Ýp[ÕÏ&c~;MWKèŠÃÊ'‰ÝžVi²Ÿ¾Ì&戆©ï bgÊe¨!²m”÷í^PžŒË ï qÁZU0t“㛞jÇøYf +’ðŒà‹Á³¯G{ð´¿uÐè`H.,«aOhã œ—#¯3sÞu„®«fÑYô‰±‡XTÓ1¤«x]`å|±xW†,Šxâ•3¾Ä”i‡ŠN ,€2TõÈøyNwá/,¦«[¤—PÇÏÙ¬˜Ï€¨càÄs¥ÃlGT%ø7+Ö«OÔ÷i{Y'=*Æë6\âá%*[d³©abïtŠtä×E¶ªÔC÷ÖÌÁþ"…+Ö4ØìFðv|À\öÛ>Ü”æÕ î¬Ø”›NfþôV©Äœét‰ƒ‚š­$ÝÍõf•¼øõð¨T­´˜Ó¬07âú™Èm¤üÚ”|.sö“ÞBRkIWe·Ø¼CU՜ՙgúÌTXxì_ÇÛõ]#|ñõWÁ“>@Ñm)~“ßö‡Õ ³…Ù\û8l8æÒx|;7ØkXà€ÿÇÆëz´ñÌ)ƒuvm0½z Æ¢p{Bsðõä,ÐùBðpÖGãȪQ G§ÅFäT$/ØYw«Q=|„²÷–èÀâõ;u˰û¾+ f>^ÎÜŠô•]¢T¥*ÒMaò†îˆ=â!Ok^X6; à,¬ÀNcfýÌ\ÒYÇZvݤgÆÑ|ߣ¶½½ 2çlkuˆn—À3gOF²¹ö*’‘¤YA¡ÏVªØýÅm£ü’ÐÁª ÇæRG’ÅÚˆËùÜJëų«Î_+¬Ç7?z/lîþº{Ò& fñª+Wª—£¶\Îê4}‰öu%•Öiæbò8yEŠGv­® Íe—5)âKÖ^mƒª{ˆ À?a7¤®+ÕçjT[¥å?Ûzv½Qr)ùì\DsÚ:iCêhMÑcÑ-XôÎp#®xHVÃÙI} ²;&§·Û”­²‘ÌÇ Jkšüe$Eò !ˆKuãüSó;¤Å©îa¶¼iPî= Õ½FCð­µ­y8»æÚl”¨ðÞ¢ðú„ŒA§IØQ§nòŸùáÍßÄ:þ^±y¼l£¡÷÷MÞEä½Ò÷Œ¾3+ÜI¶Á0:¥'±¼šÛžíꎠ¾HÜôð7ùé‚+}®# [ž ꛬ TÄè] zªt{ïà¬ÒFØIY;^‡»T ˆxår‰'j öu>ùoeÐV?“ƒ]ç§Gùê•U§ã檎:›û5H¢s~£ŠlƒAI}•­sýÿ*Â’ù6Q+ó=°)®à«|d6SFÅÕu”ÝÊ3ÖÖèJU±õ„ÑZ—pˆãÓf¶W½GŸ×èº×‡Ž¾€þн¥‹¨yX†6Dw`ÌÞÑ ~8º u«•:ÅÕ¦šð°iVÎk^¤!“êݶ§|.=4ì}/&CæÜ¼rœ<„_° É“"«¼õnÄJ‘oÊ´¯ ¼øZ·àìâ-x”[Çvàõý0.%æ“«'Åg½ËrÊ̤ ¯ÑiHÆ<½†#ϳ"èP¤.†þ!ŽNöŠC6RrYêÁy°*ñãUúÿ#K€£êd\Õ"9 ÁcôaÿîÍ|-éDû«úìNÖ”[¢…t{N¹Ìè†ë'ûŒ{JDãmÓi–€‹&ÍÑ\y×GQpwn½ˆ˜nzçùb]ؘª%g·1íi?~ØòšèKUZàa.Šï|cÃqïÜCÈÚ•¦VÁe2±Õ}e‚£ d؈t—úÙ6Ê;(¿ø,è·ÀlèN³‘"G¥Á¬xÆòâbæ•h÷ÅöJÄ@™tø’z,ZUêðí€GGͳë,Ÿ­óm:2Ñg;ŽE§2ÎㄯyB^2q¸d ô¶ð™ äsYpR@ÔJGUÑùõЬ*öo (ªž†݆@GŒ±4@6Ÿ­…´Œo‡¼ì¯Eš ®- ꆜzo*")Xã3#‚)OèÌgâ`¶Ë€:…Çê ЫÈóœ\® Ì{©ß5ÙMæEìSù{ lz8Rò˜A`”†õÖéÇ’žY# ¿sx«€iÑ'½I- ã¹î>»âÜ~ùÑ·ƒ”÷ûÄÜ‹JèM¸BúvTæ^ŠÈ_ZPðµ¾tú{"„®yÄë¥[KÖM£þ2'åªÏòE“Êëi 4Àï¶\¹¶Þ¡,…½ûGçáV²CR° ADº ÌÏ‘jÜkËBxäð8¼taÿAH‡\xÕ°ÄtüƒvÀÑ8j(ö@VÞ8ÜO>V‚¾_×s¡*ódã˜/›ŠH£ãgMþŽ.xvê À ÚuÑš ;}'ÛæbœU„);#¸™,ÎgеVöÉ-6‹ÞÎo VwêFÿýhµn¯˜Š±ˆÞótönåêÆšú:›ˆüâ&ïÙ0ƒŠNÏ0‘ãdp·¹ç%ÅÅ¿ ˆ¨ÿ UÖD×»§*­µ²™ü=§å·HYÃ'øàB’ýÜ9¤YÜËjª¥»/91ÉÂzQšÏ`èä=¦2rʰ¸Ï¿ñ~ù-÷ð ºWŽkGð*ÛC6Åò¦ÎzIÎõF¯à’©ÊÛºõÙŸEÖU-¿²ûŸþͱ‡†mhH$£ÚWˆÔd*ç•/Ve—Ÿ'¸¯ËRÌD]lhæ)F\aa $Ýœö‘ÍI­{ !N+'g¾¾á(¿ ‡¬œ…Öዹžã6\!èĹ¿×v¼+u˜[ƒ-Ìëý·÷+!õ÷.ˆ•¸È—¡°ü^Ž0ÆÇWäÕ­ÏþüHcωÄÙ•Rpg®³>{—:ÖŽaõÖpv30bÊŒÍ ðñèqEͼtÞ³4kå2ü ½‹Š”[Q™~²¡ôB\ßxÏfk§Š8wê(+a¹¨ÏgE"vÚ&Içþêó¡Zã]g\§ôL@Pùp›øéõ´]â%ê;´…¢º¤}HªvÇë~ˆÜäîèCâ”*O ’½nšÝ„˜f>²¼Î:~[õGQXí%9ÍV$™)&éV,/âa¥t3&ÜóY÷4«Ÿ¤sŠ@G¤¦cŒº  g-Å ’V¯qç‰ù8u¶Ú¡ y¿!ë°Ï^ÊÖˆvÒ©ÿÖ ähãÈa`S¯½3Oá/$Dk‹7Ô‡*56)ù§–ý¤*‡¡iŸìŵÅë^Q®üpŽTiÇéãEK/ª%ŠÒÔÂûs€Ö’}ϼ½Ê°¬4ÄYØúYmVõè¿1Ù‡Ÿu“fa²óÜlNÉj+Oµ9×CÖD âž=öR3µ€@Xûp`Ïvü¶tÙ·nÞ2¢¸×ÒQ Måô–“£Ë¶®#ªéHsLs¤!÷͇µÃ¶[§ÔuÆ9EÛ¡}Sý;¦Bá@ÑJæC/ˆŸÜä—n]€Yù‚Ü~s¾ÅÌw§±ÏPL§‹°%)ŠÒ¿*ã’±Ÿ­ÈGÖaµ1L0@ƒáÈRz:õØU«oºE«¯'©lvO¡æþ–ÌW×?ÄÊÉ…ã÷ÎྞSÍû¿™&懴yX0!v<àá|qZGKÓ­YòïDÅ(èC6°ó0r™V®àËbÎWö‰4j…V÷{‡êGóÐc>ž˜o ˆÎr÷;÷µÚ-6œ†ÃÕê~DŸ%Mßi0¶âgŸs•Æ*Ýú¤ùÁ;Wˆƒ=áj T‘í”{—ØåÚ0ñäw G—t×ùÿüƒh:÷·ä zLr×Îò›oЬÜÈÑ!º—¤HXä#ÚñR6F)0dQœŠa<2lN_'(Sß8ÐÉ-ÃúHé£Å……ÎAfòRW\•RU¥Dsöm‹ÐW®³âú¯8dO‚õêÔ«Úܲ‘ÿÎ¢ŠæÞ¤_”™¶$àâ\ IXf¡ îþQ¯ÞÆwg@½Pü9²Æ‰Æù³Ò+护uÏÁÃ\ N_x{xÉq…ͲÍ»Nó‘{¸ò~®—:½Ó™ËÞ±9A›±›ìal‘^Ñvæ¬ 1¹NŒeÏ1¬ßk÷3âH×Pm€ qpt¤àF\tR™VÆv-È ˆ k9>®¥rÕ¤È;7ù%Eår÷U?ZûyB¢X7¦©¦©®•1ή‹ H#ã„#ƒzâ@s{‘ú$KEv`-ƺÉ'þdc»I/‘¾ëUaÞVÞ›j†Ÿøþ¢Šz,/ç+5r³Ë¸ªTÏØGº2¢&k¹q¤¦Az¤Dç=@æ @™)‹dÏ–E”WÀ˜A4•£uÔ+::]] ÝÑž¿ÊÑ‘Æ\µÉÊТô bÎÎUgG«TÙåïÜ÷äSœXkËKóŒÁÞ[»gÀ5=‘ºâ‘1J™ìªµ<(˜Wó­ > s§àLlÒwožýížP„wàñ( Áý€@ ˆ<ûðK§YIþ¬®ŽU§ØÉÅËØ!;7Yø:Z¬€8±zÕŸ‰@h­ÏY;h–”ÕàI*¤ï„Ámñ+VëÎuþÊÇ»%/+M˜kw‹JÊMk]YO/Ñþvñx4ÀG¶>ø*üpá—ýãÊk¦a1ÎñD‚HñòÖBG©ÃÜGÚ&êàì8únÅb…®ý.V{$º7D”&ê¡öèúÛÖÖJMqDm pÄÙýö»:ÝíÙÚX¿ƒ‚‘EªGäõVˆ¤ì™Dƺ8ãÊ^|Ãq÷T —¾×íÔÛ¢ê-ûï[bnxà‰áÖ¸6·7ì:Ó>½‰J!ñ)m:9×Á¾euˆØÖ(•‰26³Bí£¬¤<º•ÛˆöûDéȹïm»§YíŒ$qñ‡$y›Ža ·‰a6qcÑa ÁgM!ÿ |ƒ69ÖÍèH+o¸B{l ½Ä¡Ù\º^…k~sxX x§ín_唲XYÞbgÁW$¢ ÚÕLiƒ¾ŠÈ¾ËµâÑÜG+bo‹a ¾‡¦‹lgUUUxwíOQãF Ùéî¸7ö½`axšfÖàîbйjÖé©ääL\A`t¢]„ŸIguåí˜xÖ÷m¥g]rãr•tBq¶7 +ðšY'û’´jï°pÎyÉé1š@ŸâЦbøwDª"4«¡†%EŠ#n˜jÌͽa}«MØ|ÀawÏ69sЮ‡²;¹W ÿ¾Qþ±Ýet•CÝRPj†sØa¤;ÿW8%‰1ÐFoïÌ>°g‰x7Ø´ ]¶ºb¨P8#‚’®¾W È›¡Þge´Ud «¬M¤­æAGÂXc•—úö #}ÕÞ:h{T)¯}@5¾Éwqñ{–|‹`ý,ÕÚ°¹¶#€ÊÜñò"ì4uZ)èbl‘iålZ»ûˆÆÐŒ_Wrm‚]6ã%éPe•›¿’Z‘S3¤cÓX¤TŽ,‹=ÆŽ-:¢pÒµc˜ýAï;xQeøRÏ“ªáš{¢Kf „][V™‹ŠDI¹'U>øÂlî[.Ã6ƒÇéÐþÙBXç±sÞMOZ–%ƒBPÔèJ±’"¿¶MÞåYßd^Á­Á¾È\é Fkß,x¬6O‰ÆKÕ~¸Zx¡Fžô:RfqG†îhÝV KTÀS‰¼g÷l.ÌkfL‚5T.ÕÜ_4Ç ãÜaŽ2ÍËLž¯ZsÙa¿BÙvÔX®tOùÁ9KõâD¼XÉìQÐݵ½•³!ÒoœÐ)6Íö-7û¾ÊfjÅ*Bh™u..=«†µž/õNWºì¬©4u; fVR±’³† º©ßAƒÌ*ÿƒ’Ý]}\ï~›gAEدé{: _VɬS”œ™n÷¦ o© Ÿ©§:»Ç€{ÅìÐà˜3a-•{”€°70|:ü1ðX!Wë&€1ü3˜¿å Љø¹}–³ÓX£jõ( V¿s`€Wv€tƪ–Ò}†·Ñ9ô:N¶F›ÅÐq²üîÌ©º¬uØ™Šåg㽈Ùͺñè:ÍNO„´‡Eä Ù~ÀAƒ^5Ù`À¤HÃ1_q“´¹£ìÞ•Jx!éÑŽE¶šCýNu…åíÖ t$ȪµW{uìG¼#FY ¢æ¢<¾Ê  ”ä6R7ia"3›%ãg¶Ü€4KÊMéOöõ2k¥)O5Ї,ÂÓÿñs°ŸÌY•vz­ëEêT¸™µâ—42¸ÂVAIûûàƒÄIqê>ßìñU4Q7KèàCŽàйbö^DÕx`ôÙöרE1:»Œî;$/<­VF¡pD‘l$< ¦ÍÛ Éé|bHìB HF[Nûjç½Õ4F¾myWë8ÃóW9µTTÑ_mL¤ìêE£ám‹†)Œ*Š1μÌÁGƒ•–E& `ŒÈ¿ø@9ä1V)…+?›ÄÚ딹¹T·î!r†(ýÔÏ9·~%u+‰ÓšE:)uqœ’ªæ¤IÜP$Ž>óÜ2ª¸“—ð—E'…·Û°¦ãt®‚$3(üJ2KŠý$ÒKÒïÞoa¤ˆÄþ3^WUЫ.ÄÒÔŒã0Ã¡Ú +ˆ¡ãóI_Je¯!#.›ŒŠ‚¯ì-vaH’JÄUÁ‚Š>x5 @?µ7 “pÛÿƒí0ȿ۞!¿„òS×w`qƒ o¦Í¥xgƒoÂWnÚ çÐ-Å/@DG=ÃYÍ@l(´sêˆVÎQ`9dä#‡£ÃêHÓ²eúq›”ým¥±Çg:°ÈèX5s-9«×"ì‰b~‡¾ ]€ åèäCKÁüuNƒ`¤ ¶ûŽ1ù{§Ýwô웤©S-!«’ÄfÌotJ]è¤áTÿÎÆÉ¼Ué1Àx`t”c¯¥£T1í,ö^‡¥ï8- —ɬ tw7zçu6 ,¬ÁιìÛ¨¯ޤkÖE| zĶ>' €„qÐÃ:ˆª‘[e'N’N«¢åßѼ–µÏÆHPBST=±ª0ÿÿóÞÝ'릾¨SßÑ)ÚŽ0¶|¦_!,xw0ˆpÙ䣰|»0îQ-…W”ɱ=œÛÄ »ìE(Ü W:D®Ϩky°b—z†Jox+cyYê@æ\' îò5;Ål·†CÚéžÐ0ä€í^jûXÆBhŒJ4?2ç3ÉyŽ¡©˜ýîéâl±†¯L¤_ÈØü¹%$øj,âÎq†9o…CRíq*Œ"’=Ɉ݋D`œµ—:‰ü6ä„}¨ }E2!›kî§x?½èÊ>ï4L©sþ“uÅ…[:»×SÛ±ÚpªCÚ­~^x.6oýªõÒ ºb<÷†þ[6ÕüE=n® Ž|¶Ã³º€ˆß–!¼Ð ¡úXÙ6 2¼ûwþÀèÔ "æl ×P]ã1&2Zoùõ®Þ¤nMY8ƒ“Ö1‹´K'¬ªeµ\-{@ÃÞéÆŠQäÄ:áë$íÍÄ4ˆÚÆqu™YøL2¶Û8G¨˜),MÎL°‰ÊâmØéS9%ÙweùÉæ÷=ü‰(ꤜP»Â(6ç(éžá©¸£›,ºþ}G±e!¤œr Ðüþ*dÁ¶W™@9LcO†×9*'Ñ€’á·b_TŽÍ¶àl¯{ 5M}7Žè|G•®Ã?Ðq†‚úŠÅ7¶ºˆ?ä˜t³s>ÅiªÖC§è\Šñõ^rú¢¤—È"!8¶×SIi.¼×†¼1ÃÂâiÚ°Ll“Z_¡À™%±Ä«H£ÆŸ³‡ŽJÜàò+0‚îÉ¡-êeF•>¡/{¼¿‡O}ƒ¼ßíô›ÜÁÇͤ^Ý’»>ÒŒO§wí¯ŒÎ6æïÆÈäÚ…¿Qäç½qàv“å²Êªù6_ƒ…°õAOU š(…ñ."§^’ˆˆnPäIîð8a3Yï©Õb`ˆ†/<°"²Ó™‘ÈYë8<]º"(&À¡˜5ABôAg÷ö8;·¾âüÞ©ËüÊxwãJ*_‡]ìª_" T—)¬è»# òÈn´ï½‰Qtë@^O»Е©@u"pÎ}tXCáÙtm•‡KuþêP,ÛªµÁ,l÷;VȬÕyëÚmf6@¤®GZLt—4®·Òe½8—R<‹áÙ¤_LNñU”&°“nÙaŸ˜¾d`~||ÌñmÀË2©Ðh€€ŸºÝÿ÷Î{ Ö¿ýHüƒó›îZ>²ï]Ímô#øò÷òK>þÇOšÜ$ýؽݳQÒLò¼z}E8c`lÁñW좗ÄpûÄw§\`x?zóÚéŸÖÉúñœ‹/ýyIS‹ä¡_¼0»}û2P¾Êš<Ö8hîŽÎ·íºòîÌîï8ª<ùi[Û‰ÂDâq{-|ØdÚä‚ßL‡ò¦a8G«­~šZ -ÅØU5ì,•h“‘³b$“ °Z’jж›´›JÜé-hÙn?¢Áñ™•Û¹°'«{lùþ*½ ÙF£¼>¯ÚtzT2'ûµÊýtÆfúlBûvuô/«}å#Ž˜Þ'^Zô3Ñ™ò>®˜ó£iyÝ4HõëãØ§¯üÿþ“òößnÁźÅ*ðÐ Vž¤/¬Ôn<þÁM6|>‚Ç.Èm%ÛQ$¬ÈK7H½l0­/ð­ZCÇ FEz5Ï\xÌ•Vß„t@Éëäp“Œsk£"<યè|v±áXR½FÃ61œ8Š4ŸM2Lćã4º`_¥Ú¦n”q’tZ$v”‰z¿¢X~{¾Ò/¯ÛW,tR (NÔÝHÈN¥t(ÜêÑWãØÃ+±> Çú«@Gg 3ÛxF˜¯#íšõùLg+Këí83pËzûVÏýwp0³Z@6?WÙLQïÀ\8ãVAç«ìÔßlt"î–(Ùÿ÷–˜¢ú»61T)WN}ÖîãïÅÛô0Xìý c.Û =dµ\á¦ùµ}HéòÛTØÎ;aUÐûc‡_1 +÷±Ú᯾»FÏ\0ÝCB‚Ãý!~щŸÌ×J¡dù©‹Z3öïhj¬$8^0œüFûú*'fÕæW äQŒÏà~²ž¯]’«Ú g3”íÉ.™•ÕvʲzȳüíJ¤„ãuq”0«l±îñ·ÿÛ~Ç–|·UV„ã×ëÇö¿o+ív™™!Æý0;)ËÃ¥ˆ¼¿+àñݽU9ž#Œ›øÒf2ÕaŠ?›Þu NJ¬9ÔJq¦Ë~w ¨û¼¬AHÄeFÿÈaÝqܸŽVlÇÕKbU-ê³¼»WÛ³hœ±8ß™œé6ö^±oG°±…èú™ÚµW_5/Çu°jO:€Óóv°qsÖ‹½KÎA‰A`¨}±a76‡„³OžÊêZùÜA¹ cwæÂq"E~q“wYOmùî‹(Jƒ8°®Þ +¾ô_Ñg==pø|ƒt‰c‡/Ø_½Róu¼þ‘Óùtˆœ£CÃOœ†ÃQ–+Ûtãë—à_Õé>ÂdÿùY#'ª3 ã_VÚ•üùù~Ç`êméàðĤ4ØpÓº™¤BblYÄȨnÞØÐ© È› vn"Ð14…ç¡ú…X˜‘W9P8vÍvƒÑJvà³¼|­-/ïßx¼xNŽÜÆK¦hµðäw8Í$Q³Ñ,¯ª˜Þã\‹É½LJkÝb¯[‚íÚ•Ã×À{ïíútNæÐèõº"{!‹„ixþw ‡2XÎØ•"åW¿Àâü¢È¥ƒ‡4)ÌMuÿÅ™è *™³/úø[6I¢£ªÈ\}˜ÎMüâ&›$…’½®†×2™.6r%ÜžÝ7.²xhìºÎõ^Pþ8ù&kÌgËü,Öø¯Fçvç©yèÓ¦UzˆU}¾nX2–÷á¨è6èX§?vèü±ÉgøБۂW¤Lÿê3_QÉâ¼eæ+Õ¯•BÒÚùîG#?<Á‡'»n¯1¨§QGpxæusܶnèDÞ¦M„âÞJßXœÜÿ¥ûC”Ë)òóñhrYw¿Ê©¯Ü*ÄÓ±6ÑÉÁP¯RÍktï/ºÞUŽ å¼ÔÍ_Íä‰uSµ7vÖ+‹¦I§ï»³w<‡™_8wŸ½>ºùÑÕ©JÇâþ»`(c”æhðia¥QIÕFÉØ}«b•ßÈÓÞ£èø3¯ü‹ÝÑÏ\>.ÞyÛõa:„¯ç¹ÉánsW¢ºg±p&A/·NM© <œd“h:2ño’øE:l# z|Ôšc´Mæà")ï¤<:+muQˆô›'dº€Õ¬é¬ÔX|48¹1í#fÊh«it<8·W;¤«B0ÙçÊx9;šI÷%ÛU5‡Un=›ó„ãëè%?_ÕÆ»ó‹â+×Ëɺ‰W7]º¥U[éí-H\[Ùó¿ªs½š^ù*2ë7Æ^W„¿Z3½+[?}&.Eçnb'?8Øk{4㦺‰oU€c“1Ý fÁl2¦UÙõtóŽ ElBÿ×D9:Ü}ÕFbr“Tçø·Î|iàq{"ŒiÔx›,#»¿Ûjºs¸t’»]~º• dz} ®°Ù-$N|—ÛM=˜»œN³ÕœIbÏi$ŽR×á<ÒV6[;(€P‡I>™»ƒ(¼¢‹ùwép×uYýíHj燚'‹Ý?}³„ûj~@ûÖëgY¿&«õ®ZËGk7¾+è°æêÛ‚t S‘5­Aäg¨¦ÑntO°1Èߪï~|%Fa&ÝcÃÞVçhÝœó›æ¾5ѬAÔ#*LpGUuptÀ‘kœ‹Bl—ì7ìÀã›ü<>2Æ5ÝïêÊCTâî°CÞ¿8£6%'ê “é›UŽçóÀ"ÞiE{¾?ê¦dݦ/O4ãèÝü÷áŒug{Ž#“u1º‰“Ë`ƒ‡r’ì6@¾Çî7(1x{ceü+°)r,Bqô´¼ºÁbÕMÞ[[ž`±æUhýȺÛ$êtEУÈX ³¾±c÷Òu&1`þN2­¯¾6¥Ñœw‘3ŒŽ®ß9½Ê;¾4rӵj†G&6Ó¦ßeWuÒé«{ƒ½‚Èÿ‘ÿzÿï¹Ý?´ÉÓñßSªtzãC-ŠÏÿfö³4mTs朶¶ŽíàÁÅ¢¯iÝ€7d(P#KмË6·c?âôUz©Úª"wÀô›9j(™¬Jع·Tm¡j·îä0B¥í '÷65[ X“¨.TEÑ0o‚]œR³—.cgºm1—aÊh@te=T†,†DÙÜp°.£ ×Và=aÕIã,6:Z Q'6Áw"ùÛ*#Ü™§Õ´ª®ƒq\iÙØ¡!Ì®×MÁŒ£¨§°Ž"½Àl(Õ[Ùðª¡B¹$WäU¸åÖJêpÒ:ÙK÷äuKûò±YýÙãZ• ‰Ä%YúÔ§G>aÝFæèË¢ YTþ‚ ™‡-T ý e4 ǽfC‹ï·½)§ž™fÌ+A}W¤_²g'Ñ8ú ü7LxØq§h=â…37iûÍñ·ôû‡k˜³Ô8‘÷iAÚRÚi›ì¦BUíW§žõ¨¬IÕŒJ /÷ ®‚t˜C1ŒsaÁ9ú+‹l,;Mæ´5ÀgØ`IÝ/³g“"‡³Só4€©$Îl§®ÀùîR[!sÖ:Æ£ãJ€]Õ¦ k‘ˆéD(;iF+^ ¨•š¬NJhðlˆÄ‚´Ñ€(ÐQFTuAÕXf³ÔêtÉEȤ¢œYXµzT|dq™]áà-e?ÁGgý¹@Ï4³v ¢«%&ŸEG.ÃÖx$k»cæ¿ôíà1F‘ŒÆò—ÆÖ”Âe åYP‘â×^d[t¥$tÅyï&TÅî‘ÞUè¾¢Èþeà£+ÄÙNXFÛ-OˆÁú|F7plüÐþäžNÄgzÕΓB¸XKæÚ¿mÈý@ÅIŘXOÇ”Ùê¤ø3Xh,6Ón«Þ$@WÏâÅ6«aÙ&¹]²ˆí²ì/06ݨì~Õ £bÌä7W0³ü•ºQutóð;r—+É´Ò´ŒС‰MàÃ_––]‡0K ô„±qqe3Ð[—ÁX»*`ÖуöiAÙCÐN²ãsÒ•G­æ'çì$–ÆÚìxZIªZkmTscÈFƒÊ 4Di“RŒ½ùý±ªTÀÌ…ï£ÜëaMÅÒ,Æ»†“†IË–ÕŠÿ*ÄéÅâôÕ{t1’hó² T~P¼\ŒüرŒÿjÛÛ{ã»5Mð¿X óóÙ-ˆªã7LQþj Q…%}°Ñ "²9–€Õ›ê(þ#Pl²c·u‰\ Ò @äÉ÷RüZÝÎM{¸"D ·Fd·#Höf-µ÷Ø# Q7HŽQFDoóÝ #ÆÀ<øQ‰ˆ¸†çÜ®°ÕÒ I;Ö—lä.µŠôªT*iD/Ž&ÉjæÜ8P¹›4ÀR¯YóÁ v´«DM.Ì7 pš4‚'s‹ ¸‘:SÆdú˜³™“޹C #ØÀ‚*ïH°Fó"Œ YéÙÁ‚}IÞò b œ/Bå9£@±ßçF7<9H'ÚxÔ¹åÝGüÈɘÔkFk”>ÐóDä ½ÀÜ䜚Ô'xcùú.È‚£óÏÑyœ-'- ê&ý 6©{V/­ßWLër#´ëŽ¢¥„&¿¯¶ùBå$~§¨Fµ9~MTfŸÛl¯þL"`7‘¹ åÒ£Õ·-â¹ëöX²¶úæÙ]¯ÕÉrЄû™FµèOñàSêYúûÞ"+B*:èÕóEõÜ«ÿ( ƒëó…lF ®þ˃Öê ÚëÒ?…sÜ¢ +Ç̤ìLjP&'1;O)[ ²Öî,°ÌvtfhÒ(‚è §ngLWz(êZaoYç•sšL»çI‡r¬Ó+ʰ³+ƒ”¯¯x‘ä¡ÐœH:KÇ0çv]yÅ—û¿µ#?€['"qÖ?A`w¶;[©íû&¹½Æ\‹Å ]'wóœB>èô` séEü5¨bð÷lÿvþ*Ì_qiU‘l¥!“aÿJ(0cþW" ÞxU°†àå%ýEØ|ýKÁ†·hœ Ú’d$ûÏÆ˜Bä&¸G9øH¯¢úÔ/dF2.hG¢É‘@ˆ" ôƒðO4E´P‘ý­ÿn–ËÎÃ7 rYUé)˜f×É5-Ò«íø §P\¬ª%`AgT±ÞnÊÊUÑyÀbV×í,$Ç„‘x¥S@æÅÕè´õ¬j ºÏyìU'®ù¹N@¸T¹FX¹Ëšý%‚Ì{ènÎN­M¦¤´¢®Ä<¯\m„²¨A¤K+BÑD ˜{àÚ^Ê$ì 4ؾ8.SF_áªÌï]tì;[®s¦K ‘)özn lœ,ÎÆÅ«Ã5Ì}O r dÕiÉÂVU`"+ ?º^ÅòwJÊXEñ:GzåÛ›Ÿ:¬LÜáš½ÿDéTújTØð¯S¾nê·…ãŵ‰&J{ƒ©á~Òˆ÷ìnÍ+z¤…·¼u¶ƒ¡mqn‘A”àm2h•¤ä¢°­Ø‚Šu‰6ýt/ˆÙÛ——­ÈXT¯w¯]É|tNšJ¥«Ï¾ÛÍžá  é \ œ¾ÁiÁ€±ëî¿•´2g §üOÀ¯Ë²ET% Њ³ÿÙsy"Œð˜‡@‘*#&'0bÆôeä†ië§:7¥ tl4®­‹¼;g%vÚ,ø‰Nt÷üM˜ÒÖYr/¯´4Úr4g ɱÀ¥U¾@U ÚHì8áßµh|Æ IäXòDh# rîéTxÈÓæAêˆ soëä´_Á îÙ!9næ,hõ6™Mµ©UîºãÚ¾¢³Ow à­;Nô<Aº¿ùmP²DdÎi$ýœ™Ý³½W&ýr‘­¿Ì‡Ï4;z|ÙbÄœ0ÙóŠüÙ¥3£aaÙb°A:ÎFö²W©U÷uÉ^äåuöHYT _Ý2°°€ûœð 1üÕˆTõWå5|EvP“‘abÛ±ÜÓ¤O{ø¨kqágà¯ê VJÕ¢¢óvWë&®”0W™Q6^¼"Ó¯P‘ý –î¶îlͪh¼Ó3d¥çÇ·ªÕX$n!Ö@Ó™ç}Ž=ÒÁ¨Ø¿{kº[CT7”c¾lº¬ „éÿ&2Š3•ëÊÓˆÀ1OÞûâz~ün£¥Æøóõ7$̈×YµÊš©ˆËî8edxW)C £<—Ó{ݪŽÚÏYGw_¡Û>Ž8ѰcvÇ-=%²n<¯:Myì#õšçÒÙa½DKg„ý}ýiÿ•iY_èU°¼æÞßWÈÿÏÞ·vÉäØ̬’Ôc{mÿÿßé³Ó#ñúC&™^dfU©UçìN«*d0À½.pòmã9¦« ˆÙo*.™¨9ŠÔ”žµŽJÑδf ãÏ~®®K5pž½þO >‚Ãd€;óýâ[ÿ/´Ü“Û³E8V0¶~Š>î„9€¯ŠgJ åšEØÊª”·V“e’j3­ßÖûóóççÏÏCñ;&þœÇr‘Ú´â+<³O²gºù?‘«zbíßC—ïs8°ÏâØJª2Þo8f=2,[ €ÚüV»¶ÉÔpz¼kÈ„¼3ÚjVOîêLèžò«µ9e–FŽ|‚­ãOjÙ¬¡z&åÂ/\¸p†a°q`{r¾•æ¦ßyÿùùóó€ÈôO¯´Ã3Ï'•¨}„/™õígD~œ¦\ì;éga"f¦ 3]—MãÑ…±ZA3[‚üï·C¿¨äoyçÓ™U‚‡·aV‘Êb© ÈFw< ïÂS|•%XM  Xuš‰«­³ötô>Af;˜ú¦Ê‰“ k4/hÖ¾À)>Ëqž‰Nè¹Nêôä[”)ø¤¥3¿WÕ½þÉÂü ô?åࢃú'>'>ùyCµ ˆLD’ôÙ¿ÏxŽÕ÷¯Û'aŸð½áGhÐ&„#˜Ûòª& Á“ô÷ÌÆ•™.‹U0‚¶^ >v”)ˆsõW}kózÜzOäTQÕÌñĺ¿ÚxD˜›mÂB0“+Ϙ…;´½#%*ãC®^<ÅÎô³âÕQâúY×ÎÞS4šÙAüÁ4^ >ùL«Z'gf<—T»þÏb)A±êÀèwÁy¶Îü6æ50û½Ê­vKkÔ[Ná09-Aá•yz,ÏQ‚àÏÏ fG³ ¯€Š&¼eÓàf§.~UX µ€H‡kN…çt¹Äŵa3þnçGD Aúû‰sØk §YûÌ^Ù#qüÇt½0]ä5ˆàwe¢D¿È¡²r€1_éÌÍÔÛoØ@Ý+–Ÿ"œ%·›ÙBÀt#ÿOæä‘ÞgÂà›è¨jɲ«3uG"º™¿f5iöø•žp¦Ÿñõ½®d¢ø‡Ü¯]YŽ ðY]¢ Ž“@S‡Ù=‹™žsñ†Ä•ji2›“³¯µPØ,øÈ>C}ÖþlÔŒ Y>Úiª£'Í£’Y5ªÕxrqÊq˜!“¥˜ìï³lÍQRà³€–?à©p¦9aFž­ÍZ©¤9¸¿¯D"»xFP/‚Ž.³‘}û\e1*‡Ô»¦Ä?4þ]ûTC¡Rï ˆ`g~ƒ6ñ¼ía. ½-L×{¶c“º…Œ>®±ÖSfåe–^½3˜ÓÀñ  æ’ÃxsKòýûû ly¶D»i¶ì×÷–2Á‹^1 C.På_GîkTþñ«Î0DÌ{ Fl˜¡q³žZ h=0’nÆT 6«32ƒ%* ÓÍ6É "žŠƒâb$Î "„à4Ç¡uJ`ã6%ÀäzLQ‘δþŽäQxó}²GÉ fƒÎÏ-gftÿØÇ€”OÀ|¦÷Ì4×#ö'Cé_é¹x÷…äjÿQþCmV—u@’Í¿*9n6-cYG ö-Ù¸7÷²1ÔŽÉ-¥q·ºžl@áçOïˆn¿.LËr“È]ðÒº,+©0Ä’®Ð¤©á2ª ŒÅyä HŒö/Û±Vte4¯‘0‚2Â0€™å㿇ÏÙêñÕ$tϘ[£³l¬*yŽ8ÖëÇZ4š’ØŒ° ›ƒ–TÜŠs…„jðÝ(ù;œËðvYœlðJ¥ "ÌX¡v²¨Z?Œ–-¸F³A ­3ëü&|r|V©TÄ®yûõl¯|±³ÍTN¸°¤œ%hbÛüÉ~é7ýÓ{O¼ž##¸ÍqУ´ó"ªM vlÓöv#kZM•V"·èžØ¶{:[áõzçŒÃß´ªähãÉ3«²r¦HŸ88F7°qk¿¸Ôò1MËDÀëYeGn–“mßÅ]¦c[w6ªVZ«¾¡Á:róý’T…JÓ ø÷w¨›ÖQ“v¸ÜÊ0`ó3syýÁÇ¡)°ÜWúYuŸl)6‚~ޙ塍Ç0°:û²¤ì”ˆñùS«Ñˆk³_ãU©ÅŽ‚ XO€å*Ÿ7â ¬t5Ç»Ù\PûŒÛŽjo7™¶•9˜c#˜  @¨•ï^çU!¨gúk]¯†1T#Ñå$¹­…‰.ËB&zcnÂfj>†ô)®D Z¶æùèö9tÿŸŽ‘gæÉ'»?ʹX|“üTÜ*RT?“²½G^å?ÌpFÝ 'ÏldEâï+ýÆ?8øfV'¬c%êR‹[ôÄŒ¬*ÅÉ(Yp_ƒj±Öì8&6Ÿ” [»éØu“2xýÕá3`4§F˜’?JÕ‰¤»Ç @dS@ýPPËãH† ŽJ ÛÄJµMÿ­“LÜ^ÇFŠ6Uç¹$K—e1/WGöŒœ‹LÆÄºí` ¿D/2" "´Ìç2Ò àJ€îq¾¢‚ìrÞQ)òJ_+Ô•¯F¹ ÚûÓâ!`2E8ô:"+;50‰mŒåAD—{–ãmy:[þ`ÕÇ~Œ­t‰œÇébM7&~"zä@ïÛV⦗ä#¶;eõí»Ñmí;á[‡D®[û9œMjš˜dO À‡ži–¢jø¨„¥]à'ÕßEØ£B‚M]:’ú IDATnáTA}Ð%óÀu%EêÖfXHÕÙfÒe0šàtV<¶È‘­<% Š-`ƪÃh®²ÒÇeAPðD5‰Bð`sŒº£´Àȸ(æ®a­ÁFS:1± [7»µhnVƒ=CTŒ ¨ýÓ¦lKiPVÁV¸é²sÏ0üÕÑÙbÍh|‡@Eûc•RÀ A¨Õ÷—ÙP(0b¯­Z"‡œäbÕoIàC |²mÕÕ$€5¼{=sÌLol/]øžåXô|ðöÿˆÆZŸ8‰k®ŸM-`æ¸, yµeÇý†-¢°Ëн[÷ÜA ÐÜ ’šøêvȸÊCƒ9¾·[wuîå·„”F}àÞoô»€ X æ¡„c£²>aÿ²ûe´ÍÊÒ½è@ ‘ ›á[PFyÒ^@üè–únãß—å8äô‹¾O¢ªPy¸…²Vt>Dú—,¶tÛé!ËÆ7‚œmnMÙÝ!‹Ðlä|UÜÄTrî¹,Úê¾5>r È9{ ©Œ1€w)&oÎÇdœ–g®å³ ú eSHìbFä0]/ -LôβUM†£#Z,É`äœÝBqÖD“¯jH•GÙh,ŽºQbã9x^ = ©ä}ôåX¬Íí{6ÈñZ«;kÍHšÐWM8—TÌÏâ}9ö±Õİu©×‘8‰&¾àU D28Y©h錊yiþ[ ü&ňöß]ðgî€ìÿûßS2èá9-µ k€!¼‰EÍNa2âÈL™ÙgÍäH­BÝòÖ›Y·„N…Vdñ¢lµ™²¯`í²Û¨f¨ëx¥X£›ÝNUë ZÿÛÿ|¦ }æ\càýŸígó?”ò¹0ä`¥¹ †Ý•u5S] ÐS³ÊñªªÆä¸¨n9ÏŽxe‹ ½- ]¾³ÇØã5ù>N‚:O7À‹V{0÷’ûyÄöãIþ>§Ãw@ÔæFˆŒìû<ä|¾ÀWjm­jÌa¯ÃuÏ¢8SÉ+Ž p.iÕ?‰õ3`ïR¯#ࣆR_ :FâÌ,Ðhb^A<‹2i¨•Ñofjhé^ê›ùäçk¡ëÕ°tÃ…ósÍÚk£¼¦* OÚp"à­Q-œ.FQÔ‰dƒVóóœ[vëý²Ðu¹M_:ÀÂMwGæ³»ê ¶cŠ,0fBVºM>d™n¯^Á¹R­5k„/ÂpÜíÞA‘-1œ¨žuB س&ž£ì•ÂLãLsÈ”kq@Å¢àLTLEäî£A~ÜSr hòµ|Àg}¾Þ ²F€ª‘ª)»â=²Å6Q NX+X%‘U‡:jš@“.Ña²Ì:âG<ê–¾H‡à%%Gœ°wMV>»Ú»2r˜ªôÒˆäqeÐÇ€! +z<¹ŒG†7eÂJ•DÒà1Lg‘ãYHòE˜Ê«…!ff)6ó@À_ýŒ’Õ/>SWÁç‰Ï3"(!C¼û^˜è*drG‹§™°ê˜F(têþRtë¢ ­˜%צƋˆ#1o‡­òBõ!†ÓêÛ•ŠY¹¾¢.5èÑNxFG=§ì×Ug!DõÉ{¾Îû<øÚªzÞºûUFbäTw‹ª3ÔNõ@JØaT-RL6;V­)›ñ 5Æ×¯ž W5 ;‰rÌÀH…2?;­Ž&ÊŽ6mF{ÌÛW•Zî,æF7Ão³±Ô³@§þî ä´{¬l¦‘ ôÌ´Ýö 6ÇbÖQP|ÅžÏlF&²âõBz „JµAFxé×[Enå&ôQ„wDå&cxàóf¬5ŸySGÀÇLLŽ ëZ‹XTº#êÜ:¶ü¤EÿÄ`dövG¦ÁÏ®ÅoíµŒ@5UŽ/~ïÙ5J|ÁÁ&;䳇O<ú|qÛ0ûwoM.ËB×…èÊ÷~ù‡‡ÃÔå6Çb-\{¤b”´BÂ|4} )‘?ºQM¿û×dNåF­h…•x/ÔïjV,>ó–– ÷æ¬HS…Þ­d ¢ö|ëg ®MϵjtfR#±”çX¸°ÐŸÆZ <Ž‘h#\ÏcƇÓ(‚ŠŒŠ7¢7šr÷‚|ÔgYýQ¡¿ñøn=Å¥?‹¹/ŽWqƒè3ùà|vI—g8ñ•,ÂQ7zߣ 8Ÿx¼_tŒŠÅo³9^èÊDß®‹Ý®gDÄ`G™ÛÅx 1‡ûÔœ 3`ã Ô´@äd4|ž|žØ6²“«¸ØE»7Ä{6˜Ñ¯…Î0ãþ¹Pûã¹§aV'‡'í߈èÔš@'|Ñ=ñˆ”íD¦8½Ÿ‹vÈl<¥±úÚh>‚G n¯•úÚèJÃühÖɽ{ÖÁ[“¨€3IÅ{ËJ¼½ä¸¯<>Û÷Ÿ tgîÓúýÛ²ÐÛ…émá]U}­È´ê˜²ìçñ©ÎnõbPxŽ0¤ªç¶ZëióJ‹¨wóˆT6 NÎE¢à7·Ðcň8ã}íÁ]`´ÏÓÊóÒ+ŽTÓþ ¸hÝR4ª•dÍ,ìÉÿpõŒdU˜<Ú»1º(\yÁ+­§RƒøAóDÐûE³Í\¸–7ýA.ï™ø3¥æ¾2(û$ATÄÂg{Ô gL~EÜ#“xˆî-²Ñ˜ØÊ•{Ͼ×sªœÜ3O<ûÌifŒ¢¼Î•lA™šíÏøã7:ïYùXµ›ñý²Ðû²Ðei‡®Æ›¶fmV aïx}˜Œ±½‹à)UöYvƒÛëÎÀG ò8 g¶`Þ?湇qÝÈÛdÙ°^`µ‚÷êI©çˆæºö–kïåàyRâÇFÃKɪ’ůü\é+}áÌÅœ£™ùIÖT7f±®Ÿ4FÖ†Ç׬-»Âžvän¨q8Í“1:ýïlþð“‘1£@ç‹gEªuëZz2dªœ÷è÷³èpBüŒ(0c²ÜÏ]çQ Ä* ‡~@⃑ì”g%À•a#dZ¶*e#úù#R~j`ãˆ9µ†¾Ýû:BÐÁÖþ–%?¬ÃîôAûqJŠ€–X ÇHˆçþª@¿=ï†bã¹è~à;¼ÃÄ ¬mÑ îAo’º¬îñŽÖ¶NÂͳ€}”)®¶Ch¿T%‰¢¶ ¯`6,¹Râ\?2šúqÞG›L¡-3Ü6N‘œ@Š* Wñ¬3]÷¯KLúÍXdXO òÂOÌÃ=;P¡¬éÄ¿WÞ—Ehÿ€È("d2ÙB‘ÊXx¯ƒ×$õ×A~7–§¨l™ ¬|jfæCÖ»I“–•JUË0ðß<°—F¾÷ÏOìÍ‹ÆY@ñ9Ü@Óõ>ðmi9ðµdkï:J{íU«¬düˆÁq„žmYîñÈF”2úÚþή8ý¿•D–2RÝÄòàœpAôìê ¼+\=F2Ô³gG2^Êžõá<^çEAF ð1ȬÊÔ§³–<8hú—¬XOÝþîs“9­‡ÐL3Ïä_Fº9Ý´.Ñ]£@Š[!M¦oü…ÚŸ€Wr¥£ Bï£è²½Z£Š^ßoØ'íΑ¼$c°*¬:SœéðB%¨mf}†0àè${»™ÔªªìÕã2òÜ(~¯ â¿ê™Dòûȳ°ëÙn?ß. ½_oÍ䌸 ´‰…Áí&ÜãûtE¥† Ðb€)ëÜ—Fz×Õá™Pá~­ò«í}+ra$àT‚6™ÅaÆ#š‘Ïùþ[æ…y^é*ìsC ”"…²Ý‡p}¨Á°·å`w€œ)oH',@$ìÚ,÷´W1c–ÈÈ1ÈŒ‡XßTs(Œ"§uÊuƒ‚dšz§ A¶×c‚Ö‚f1'óCÓ'Èžõùb`d&(;¢zá>ÓTfž¥¶"²ß}ÒX1 FÁùE€ S°aÈ¢&ôQXŸß(nó"ᣃÞ<’ù˜£`$;âϘ›˜>åè>Õd÷“­ÙJqó½§ã²ÐE}ñ:ô\°ûGl@cD½À–z°®‡Û)ÝÜ|®o–„ÄXîë Û4£”½)²¿Â“éµìÚèžó=#„æ™ås<"˜€J7̓Õ/!ÀŠÿ¸¦•‰ýÏb VH’J}ô=2‡Nröghá$U$kK˜'÷@²¢Š+zÔþe¨ïäè4önDäï!«ü¤uwùbÀ­˜»aÛ$n²1.ˆI4j{aÈ W@y¿He=õûŠ3ìga†ë3Há*A±@8 ¹©X)Nh$õ©’=™ÂÌHP¥J¶ ŸŽÆ)é«R.ˆ…’u›Ò€@-x²äòV®hZ³:F}=me“ 1KwT‡p²Ñ³H+ÎÕ›×Òì/¥3‘C\‰úþ?U§…ÂÀÁSS9“Õñ¡aœî¹1iUµËkð¯d8¬µd~Ý,¬´)°žGµþª™4þH[˜¼5x7»F(¹ÞÈ¿]ZÔóXƒ/XŒ@\7·=‘zª ¬Ž“…ÃfŒ¬ô¨:Èêû³GÓ‘lØüŠøeG•ža, çuà±Îò^³3«ƒ}[9½Aï@¤E0±‡£IßÖ;Kü!û½-šÈY.ÏUWÎQ”9~Ö€ÖSÈÈॅòa&îgK@}mœ|Ý\¡$C€à¢d†A¿Ÿ-BA4À ˜°šê‰G­Ÿé•=“¦Wè,ËÓŸ]WF|?eñjÅŸ9µëlt] ¬8¡%=»ÚñZÜ騚˜2Ñ£Ó?_N³~Ÿ*”æÐùÑÞ” HòZ·Òmà5½°}­YÍw4UAœ5i™‚¿ƒ ACXÄ a%gùS„LWŸm¿”q3“ÅGù–Mø¶,ôýú2^XŤæœv>¡:ÝM5Épz²«†¶l¬bè,˜àí›@ ,F3„m<•_¦VnwYhr›š˜!Ë;IÊÀq~h XÆxÖî³8ïÜeÁlÇlÀæºU\ÈE"bô®ÊÅUžñs=²è2x$v oÜ¡N8 TíÜTYRô}9zšM¯†ú,ÉFQj†·Ù(éJìk×÷Õd\xèöB¡±æw^OJyÆÈ$Ù@*ÒÊټƨû¹2óQߪÅâDÿ!u£ßá^.g@2•uŠ4ð+#M]ûdù'6J¨´/Hš~˜küBƶV@%ŸõÀ#ðÈ5¿?Û‚9ÒðÜQLô~½Ðû·Frj•ŽVñLÓeïYÈŸíÂjçµ=¨h+&@vÐA†}¦ñd3¬@µµ\‰*ýõŠøãw1ÕÑd@®ƒ8oÿTõ‰ ¸b_2IVóý†’!Øù»¾d€©³Š3Ó†©È_„ë4ÛM?2€fÀÌ`¡J9÷ÂDï— ½-LoJªgU‘¹/5Y½ÛìÄh€`Ø=ur›C|êg“‚€¿{=n@b—Ù5€´ìÓ{½)_ßö2ú`ydÖùj*Dö˜H€0µ»õ{¡V;†Ð„è㵤0 ê›ýªFÊR¡ 4À´'™SèyLæ6üÖ-¯”kЀæìÖ4áãVxmÖoËÎÿzËS¶ ã.Ýsá0™ú2kœ­t­nrWª³]É ‰L ïí8ƒK{ ä:-D«šNšs…c¥5¨yšœÒø`Ä×´O:Ì)ti¥dm¤€:+­ °øó3Ř}†ïö.Áà‚‡œâQ¼ÆêÜ/ÀîÈ%IEå¡Y€ˆf$£´bðƒˆÈ¦d:Íâþ›Wü¼==¢È¶ùìë²Ð·Ëm^GÃöûÌml(ÅY½ynKÅóÉWЩµæå5Íæ*ËD÷§®â«Ù:ÃjF9šmÝ{ÕbÙèMb€±urT#DÏ |®¢:G)´±t³jýÌLBOvK!¥?ËÍ{ûéÕáÖõ ÐQÕ¤¯|‡”†Ý¯u |ŽÙþ A|ða ö¿9Á=ËëòR•rØ2î»a2@ŒÅ¢4éËxõÿ |Ô#éÙ@ãúç«ÐÝÖ¦òºÔªá•©tYV#*Œ<TÉŸLÈ8ØÇ%k‘L“ó@3sé^¬ž+ê;Jà+me¸©>Â{ @ g€£¢º§ž!`ª¯ΖYy¿,ôí>§£›H®*š2kcæ”Ze4¯'5•p|ß^f-¤õ/ßB{øÕ‡ð‹fq†j"W_ß)cQµ´JUyÈÆh6Ä€ñÙõ†$<^…wƒl€eL ‡ÈT—b×;XKøXÙ²Ùv†YÓ^á5_qì9 £šÂ•¦òTK^7ƒË×Á)§æ˜Ð@N™9ý3:ŽÆµw~L§÷É®û£ä,±Nò-䈿=ˆ ÜQD•Ÿ=èõ@G”cEÁ"V@Ǭ&, ‘Ñ3;¨ÿü¼vV@E\©@xÙ’£^Õz¿.ŸÊÆÖãäµôàÓòðØÊÊ=ÑG׫À'=£àñWÖf›Óñ¾P?‘þú@3 @4\/³9ª¬hôQýr îK¿)ÓåfPĪËX=¬ÒísDHe>à¸&q=«Ú‡–œME­º:]íûà”Ϩ,iŽeµEE¦%Hq?P S?rù5ÑŽ^,¾×kðæ¼¸Šÿ`4þ¸;rt'xò¾Û=¢.%Ùý[M*m¤{‰èςͻôÆï¥`„©>Kã³üŒÎÎÈÄæÂwÿÿ¬.ö(¦¸»òÈøqïº2b¢šéˆhتÍÉJ+ÏÂì(Ú–$ºZÓ3*CI`³,ÃÃ÷òª·…éÛ…ûLG1râ èˆ&¢§[Tõ“Ø8á~ÉfÝT€šÉ`k¹\KàF••Ër+ëóWJøFŒ†üa~¶bC¥Š°ýeP—?0D°¢Èg›>ž;'نʬ’¬ ‚èã*ª¯£¾éô‹uv™Td˜2ÀD¹׈¡ÏØh¦ºî n2? ?¹g³VæSY>îÐ_e㊿Bðœ•fTK´Îðú#Óç>xM3¡ ~Ñw}ÆÏ}ÉÕÄ ûÍÄ#£MÒ€òj§:®_Ûù*xvÖûv$¶Q Ãø*Ôm„‰}w¹0}¿^è}±›œ‘=[ÝÓc!7‰æR:åÕ}é§oõQ—Ä]`?KVƒ¡@€¬’X±…œy!¤¦¦ß_ÏJ„ºôkA`ÂôÅ úªL?#*ÂñPÅÞ.ñq‹meOõ5ŸÉ]GÉŽÓ/ƒ‹˜M¡ò¦ÕP1°¥"“í˜)š“Ý|(‡S>ÞRCÉ&«1}þ²,¸7+¸š #jX§DJÏ[²‘YŒ3 …_´…Ïr.§ŸYJÈì/DÉiâèÓ¡œÙÞ優tn"ˆs< >2­úJY¤õk¥ªƒ,ªm?=Pñþ. Ó·;è¸,í>Qf3«¸<8»zR6T Í=ºûÁ Î;¢-ð0ö´ͺlÙ§ÿÅ H.2VöAš¥ gq 2£€hBY0¨hTøm$Ë5B­m W€ÂKØž †îþ³€+Q½’ÏZ™ „+;§È~sõðGª˜Œ<óİZ%WN_Íl„"ÞþqšM?5‰2lê^­`gw‚Õ‡6c‰?øÇc†"©ú·ÊŒ¢*ÀùûÈãÊJbO%€ØØOáD) …ˆ†+m€Y Scè×0:ÆÈ%íTÿ<òº”W ¸Aºƒæ$ûÌ…ùÖL~¹Íê6®lŽ8ÆÄ^¶¤2’©ý7º`ºÚ¾6ïIÓÛæ̰ª¢/ZUv$ [º$‹©ð ªiÐÜÚ±[ ‚n®ÊÈÙå‰sX9Æ ¢sN“rÔð}f“yB}–Pèú’o©Lv>Ö àQÝ\¦uÒ:³ô#Ÿa½€²þy“w?ˆŒ0‚Ÿ9+Â……†Ž@_¼¯# ÊG"Á±™y‰Ž4¾kÄadU‡Oy†be5Õpk'êžh£€’û¬Ï–UòäÉÀÔliº²g4° Q=óežÃ‰Q/ëÄ·fòï×[oǶa"¶Þ#uß’k±È¯²®åqLý<ÇWÀE (Ú³ˆÈèž½ìçà 3°Þº_ÕSŽƒ!úÕ ^4¯Kg dSz]rÆ™ÉfúÆ{* åz •|NÀÆ™YñBrðC´h5¯Ù«yÒ¦ Áü"¨@fœà#N׿FÍ–Dñ¹™`ó)™naqœ‘LŽA›; –ÇõËHUF÷7Ùš8“ly¹¸ôÕïŽt"0ŸÑð骃åÂïÝÞñƒ{¬¹NK%‡Çx¥a/— ÑÀ—4âð8n2PÄà>Õó)¤Œ»5¥@Ýš÷ÞòÈáuÞð~½Éæ¾-LË$Þ§ƒOϦF=ÞˆšÉ³s$§ŸëY €sL`¬{1ãõºÈg¿}÷š4·ÏcË&d3q€@ïùVioƒkh!¸«ª¿°öWPý›‡êÙG@Fœpœ¦|ÕGÊZ?üM8çÌÄ£,&s«›õðFO"«|2} én~íƒL—•oó=` ^: ©¢À؇ö…@¤:@o|8u•~u2£Ô€á.Š3XYµèŸ¯ð ÞwD”,kC ¯½RIŸgÔ”eËnTÀÙ”§®x¾â~KœŒïÖ RÞÄQ½ë–¢ެ‰•ƒ`¹©é¯˜Ävêz¹Žo 1á.ãŠ&h#ÞØÞ IDAT"IEýŒÛKf•­5˜j_ËTÝr™9NÄø¬5ÜùÚ£Ò„š[ŠZÈìç8R²1oÄU÷±ubëÓØ³™™Q_yV3û‘Ð%óÁºÝãjÍȨ’MÍ¿” )£ë}ŒÀŸkâ<°8&Ú5<‰¿#=æQßqÖÞ"ÁÇ/¥ºÑ #rØ—3°b ±•Fýˆè5kfÅ' Ô9 ~ àãù?UW|^Ã+*{ÌDcîQ)þÌ{¼sâiÍ”l°ºÕz÷QàÚ|üÏ5g'L:I7tB¦Ó]sIr1e›«‚9¹G’·‰ËE•†¦,˜e¢ï× }¿.taºÃãsqíF§/nöƒ )ñhÀø±þÀY’—Ø«Ö,rùS#A'6cD¥26ÂËvD™Oÿšx¸ ,"±¯-þ]að¼gɱ{Ä1B'™í;¢¾´¬Úz‚ÁÓ2bÚÊÏ´òÅÞÀWã¦Þî=?®‹ÈuƒVÄ6롹1¶‰AˆÔ„ƒ0¬ºô­žmôžˆÊ’<à!iãg¹ BÿGW°Ð´ª=™´¾—©`¡¯Õ[ Ÿ0Í;0úRR¿ó&;£#€#:®éá#{¼>íªÑd½ÖUx#ë+_Q ÊeàG³òƒ»ºOβÊ5TÈêuoó=àÈüÉgc5€¦˜×ájø‡ÁÝ‹%©ê«ìî ””k§›zyF]óùz@æ®Ê³-£ù5ˆƒÊ^Ï÷¹’\~B8ÍæT°¸5X–œd,]” æÂûM Æ½reÔ;’í+¦¦âß‘€CØC4¸¿Fö$×cÏÚÆ6ë÷ë…~¼-tÙ!Ç=ÀÜûТèGXÕ¥,D;ÈÑŸå¦d !™£ Žžÿ²ZwÊ…ÍïHd“K ´ÀI»’åšž¨3$Ãõã-ˆlû «¢({)žÝJ?‚+E .=xxqRõ3¯YóVÅ¡˜¥¢"Â6xóVœ KIË/©H§UÑ«ÜX‹Á¦U1½Pèþ-ã¨AI_çÈC×AêRÇ+´“BP‰¤_¸€lO½üÇasàsp'ã’)Oųɭ3tf™YϢײ}Ý%G È’Ú7Ô̸m\•ÁŽFøDθnˆæÄFP âôCû¢F¢²ž³­êû½¯ãÛ¢¿‡» M€‰¦\=;BÞëB­Â“ŒÁÎG@«ý‹¶¾*øü­jåóìe #Ÿ¿ÙöGs@žIvÌ›D`îÏc„ŽNHc û›¾]¼HìÒX¦"#f0a%^~}˜µ•Y[=qN²ÀM„ìZ+ËÂ}óÙ¬´X6¤¼¯ñ´W¬º‰äÏR`6½×[ééÎp1Ñ/f÷¬2·©§xí(œ’8à’&×+jà"Ë<éBfˆôÁ4TBñÀºO0ä+)`Ul ðg€ôœÁõXÍÙÛéi `0(¥™ ê—ŽÈHšãlPÙøÜ&„ÝáÂ3ʂųmdŽ¢yµgíçê]. ½ßU¬.êå¡´õKÈÙ/[pÏÉ/I øAÜÑÛÝÊ™ûr.¾ÿÎÐYFku¢ Sƒì‘= "P1›xd…ØÛGÕ&i#ó=¿š‚ÝaÓ`cnÀA‡ˆ4ïÙ$BHÙ‘ö¾uG«Š>Øðâ‡(“U\ÌŽ¦;BŒD¢#”£Tt»¦ ×?4ÝçÊ9.1òé(ÜT‰ùâñ‡à]g<#¨…vTÃ$@Zù–ù¨:y怴³W ‡½ê˜=ðѶ†M ˜‰eSi±˜m”çü ¢|iÃ#†í¹@atö÷‘YáCý1âนæÝ Vòšî„“sèeQ¶:–b=e“}EOÜTls´ŽùÑdA°È &¬gtF¬ƒ“÷N„ _ùóýz¡ïo ½©˜ÑÌØÃ9}ÈAUvb=±Ù²7K-­)74!ôL…­:•±b ËB„.៣‘=ï)j%mA„ÈnE÷tx³[Úˆp|„œ³Î]¶#Û£Àƒ–ÉJ¯ì4o­ë›éîòqψ ¾Ÿ@Ö5_Ý4A׆Ð'Áõ%IæN¬ªÖÌe1©W*ÉåfÒ˜HîOgŒ~›šß´„qŸ€ê&3„f¹ß1p!ÜÁÓÂ7Y.„¹?øe¸¯ém·MTŒU¶f#ü²3Þ¿îY~8vTÌËm²Š;ÖÒN»×»€ŠÑ^!m«Ë±D6\F‚[¸ Ãùøož…ŸmvçG^Ïûu¡o—…¾]ØT†CÉS?·«ªÞCNP Üû=Ô~Xcnú·ÜÃÆ~¼.ÍBß®[U mhø7¥×ŽU”(˜ÅU¦{bá5ÒßH;ke;ª"݇°gTï äYÅÕž0'ØŽÉþ€£Þ¼*/~¯&tDp5/2¦r4ðªHùQh“x9j&×C¶H123*VY¿\ç_Ìí]\pÖÌNö³:baK˜¿ËÚò3­rã]yðáVþ6hY± #xè%0@íÓç}ïX{^Œgh"­sr(ñL$T.@vgG¨·Ñ/÷ÒsÉzÓ»#¹»‰àFƒ4•c©ÁÊnÅÙÛK]|9 ²,Dï— ý¸.öq ’îÏc±‚gÁrèl°Çí ©‚áQÖ±ª×Ãñ,Ù–ý ¬¶Èf€ÆÕö¬Ìªg"6P¦ç–y¥{a)_7ÓD¯ÈŸŸ'eŽÐÖ¥=É€~e*8>#æm`ưÕÁŸMÏSð¢Ýs?—N÷.e„ýLàBÞ=£àî8 ¯Qpœ6ŠO:ožY¥= > ®ˆ9øb‰’ñÒº_®|Ý£‘*² >^»HÅ{vŒ.ãËѺ ·Q‘õÊ:ÁÏ4 Ÿ`„à9}VŸÒ‡ñêŸFï×…~\/ô¶]D¿êHüže  ˜½œ»À‰Ñ—VÙZ²tX† µ} B[Àõéî«E€Q>+2+‰ÞKtÔaµ†2G&Â/Â@^l’v(„&Bú«§ª²ùŠGO­¶»ï-ªuÿ,V„wôÙAÌS.½2ÄJ²6 .>—¨F×,\M’Å 'ÈíX“Ó?ÚX†‹¹þþ#AÎJL¿¸îQr­Ü­- Æ×ÛÑH^ÓÖ]Ãd†Ø™®Áìšµ˜hEÕ„ø™ûØXfæ(¨{æ…IUqÁ|ùeWÓ¶äCk鸟¾jŽv¨ÊR;ÚôžœI%g_ˆp@êkF¦é%•Î'k~Ô|õÏeYèÛu¡ïWnJ&~J¿¢ ·bG*y4ïù(5ýNðe^„¯h·R-ëáÙäÑÑ\ˆ‹·Ö)4³yP/u´ÉÛrk`V•üNÕuÌ:ÈÄ@Љ^ÀI×ÀBO'˜å>Fê=±¤L#UOë_:ªš±Ê\ù¨FÌA‚I¨÷ ‘ëEÀTËŪ}že_ÌnèÄóQ–4pñ¤õ>Zûå€&ˆ¿3?šÁÝÃ@Lö«ÉÖ.t{7*$Ó»îBÊ|I|£ æoÔzÊ” œ‡”ùÓÒ2Õ¢Ç:+1v8¨A¿îçôåÁ5÷7¨rG§áþcëƒâ2Pâ• &'Ã@~S™‘(ùÂHAÃú.ø63• ¥¢4]hSçoƒá¯>^ýóíºÐ}£ÿûýJÿàc/ÍÝ—â– ©×=X9&Ü39ø°\â‚>°±5~¼2—f ¸üûëöž•ˆ~%‡Ü“zn&©BC(94Ë{Yçzgß "lz„ùÐÓ¥U£¾8"ã*Í×½ï…àõf†ÉõsU·à…PWÔ˜yˆÍ[kž{4÷­¢COqÜÕ-€ÆÄ#*¤þû5xФa·¶#]”j£óœJÊÎ%hƒ@|ZÑ(ël眥ýɬô²Ç‹¼WÐà:-d A™£Â§##«höÇy—™y…h t¡3ò,’½œqy)mÌÉáš=´zC%Yg<”JÎÝ˼5~SR^ÆÆƒc”QVEî¢6†©¦"âÑÍŽ„ *4e$a$¸`d»ð´øûü\¦oúvYhž¤i~EÛ'ØœµoY”!ÝTÚ‘+£-ŠÊ}-Llõ©Éì@6›EÖÓk õWÈãöH¤G¡ ÏÑ–Æð>‚¿î.ÆãÞ¶žœ5paž5µ@‹µÐóÃÚ,”¤UuZªÓѸô‰ZÙ¬çØ*#GwÕzpJ«Ö+µ[ ‹f["²{À͆9'µWeŸï‘qè(G(ëˆ:”àéšõ!7›VÞ<Û¡Du¸;@†0_eZ€#ãƒ+Qפð@D¿VF—“Í/w/†•:÷g‰ªdn¤ÑÐNc¯«­…‘’•1õ\¸žËL©L7ÐýÐ ÅgLš^‰:Öâ“n±ª£¨ƒÀ†l”† Ù bQ|¯# ÝÕdMñÄc¡bÄ3Ö°Q^ò‰û‹Ôy-Lt½,ôãºÐû²ì>b'·ïàÊ·ŒƒÞRè*òÐÜÙÇ~ 95ÿµ@Ô‹¹¬‹á ]#=¸!¾_ð|¡ŠŠY€€t0¡j*¼W²T²`-nO(`F ô™:&7è©V*»â1pÈÂdT=ˆÿZK¼âÑ5§äÿâM;ÁPï¨ ÒÀê9ÀÈ€˜q¸Ø3l³ñ^ R#º°âÅ»+£puǯ²}A]ɲ|›•Bòh¾{ŸÉ¬j~ˆãø˜ì´o÷ûìrŒ$5y¸ÑÊË­ÙíÎ6ùJUNÓ8?ŽH[Éh<ˆ-̱6»3Ý<ލ,ÅíÊ‘¬2ÛA]ˆ<}‘¤‚³G“-_Gƒ1âÜÄr~P]XoΑð¡ìŸhºÎÆ#ºÖ±A?<´u<Ü u#£ÿ= †~zIô„à¨&Œæï‘2'Ÿ™™ŸËÂôýíBß/‹(¯BÏæß·È7†òQ;,ÛúCÂð\ì›0ÚtPŸ=q“D×ÍͰcƒf†GD´R¬$å×î#è…ˆ]X¢ZúŒÁvÁ‰ÔÙL›*fl»D¸‰Ål¿}_T-¿W=Ž&ød4R»1‰á.¯wiDÚ4wÛ2Ê,ˆô :;âÍÌW† º,ïߣJXÖ™qSⳤÙóqƒ\°b’n|2Ð"E*?Åà ««%«›ño5”’P¸ ,{”ÂN&S—¯idjÁG?Ñ8¡à^â*¼ÿå>Œ­ÏÉӪκÙÃp*¥ïÑÿZ+Ê…[‘2}e«qjü&¹%OŸeDÉ®õø0‰Ž\5Ãdx­fÈÚv&… “Ý%ù5”3«ºX‹õå~õì¨îJQõ^)–ÌRšÿ\ðñýíB߯ ½ñã¤5ÚNðò‹”?W@àöº;€ÙR#w‡±Ü÷&U°MP'PÖ`@¼`¥šòN7 OǬ@g XpÒmSÎQݪ(¡ ¤ã¼Yæ#ÝÚè¸La=²«MÐNitT3·xקּw½Û@Ëm3•íâ²”gYÈööA£®îŬ*öf*’_3—õk àj#åß Y‚¥7~ØÎPBvñdãœçÏ‚ÙéJ±ØÎ ²ÇÑ^†Ÿ«ó'o[_å:DZȼuÿèõ™g£<äñî¡bA”Ö"ås:)ÑÜO\Hš í harÔ‹¬¦S¶×_z5êÂþÑPxöfÖ¤Ü@:Ê/·U¶ÜÔ Ç‰ív?ÇÕþÜ× Ÿ B,G,+R$éjò¬5Pwc]tt%Ê­p¯ÃïOžÌ•r[S<òœ+wÞˆjM龜·{èü$?ËÂôý.¡»¨à}??šCÚŒdÊäþ‚½—„Ûø’•¯†×+ÅŠÏ^.]#œ=æf*ŒlÎ^ÂU˜{…•”nåš•H¾Fðš™hØgbÚ­!ˆ•Á.ÖU£ž¥ÖÏmÄe}a²ð ]Ö8‘U3X¦qñ®UmpÖ¤±öÝŽÆrGä‚ÒLÀ–·æÄ|¸Ãxù6ÄeOõ¦uuEþ+â3£ €qƒ„ŒÈ†1"ÍûìŸÛ|~´®ñÖt)cmÞjw­®€‚”(íóaÞC’[kW/¨»¢j¥QÜ4xE3n£$qнh!ή†FAdAí!F!Js¾ª§ž×x+×­:àcÄ)PÖp{öì]qÉ„Yïk]¨ÿYu@‘®»žÛgì(PßÝ+Zvus lá (¢f“¾¼³Ð9>ñ ïEá{–ÙÐÙgcò`r°´Ê13иèY‰âybcS9ÈzÍÏ··…¾_¯ô.çÁo²†f“Ù~\r¶†Üs¸o˜eóªÇkyX™6@I¥ÿsä)Ë(8Ü—Q=¬ÍCN…}nÁkuš2¦09Ž–Sóf [ê[ÕãåÆVÊmr´‡:t¨¤¶,g ²2áfXß?b‰G·…ìÜÁ„ÌıñÞØï¯ðPû’ËJ—ß6(yFs¹÷ºÒœ#<¼’®ä÷=ê *ÃNš´*çH?c»+@¢Rq³Ðx‹Àv9¿ˆh]¤ᆆa± Ìã°;ßÝD÷0>÷É[ÓœU~U­+‘ÍzQý~eû’\àŒhnpàK‹:Œƒ(^×i²ãМ3å†Q£UœÄFQmr)¨ p[Ìž°È\Øõ³Ü©Æíº¢-kmµV{žàñâì–l”§ƒ½=§ˆ,Éèö]SŒÞ3Á,ÝÔ¯¶¡Fž¨ZºWrP'ñÉC >p'¡ü—f;nSÊÿz¿ÐmPc~[A##Å­7wt³ªú%´b’g‚zÿ5!#-Û¸® " Òµ­ŠOë2,~ÇÔŠ< ‘‡.nT¬›”¦-‹n‚+Õ«}åzD}µl$ ¤kÌ€\Ïsrœéè uµ[fÿ+µâñƒ³ƒd¯GoËX‘Xqe‰Ž»*•¸#Ö‰)‰Q¬L‘ÝUÌz™ÎUy-W¢u¯‹ìA>x¦ñ¡ÂmEBÄ“ƒäùD¼pYãä¨i*:0?‰[æCíÿýX°ž­ú`D›Î‚#¾¶˜”ÕkÜ㵌659«)RQ9ÒFbO×A!å&e'›s1ƺ:È€É6æ&`1X¬Wc„É/mäh¬Ô&kÏÓ”¬žLW7WÒ '¢qZ!yÐ[¸¢ÎìEàx6ÛNl- Lt9Tø?zÊùÆ¢vÞç„…{åä£uªäiƒÙ,Ǭ…y¤Û€ëÂôã]Hèâ!/bÞ÷&^"ü]Ù|·,ßäu7ÿ²*'8 m×’öfØNÈüé¦b•ñZj*»”jYî'eíFÎQ7qÆÛn:ÃS鄌lmÔ%i2#+÷,zFBÁC3‘Æ6dS6ÌÁÜýnÈqÛ&·Ï+ñé0?'Þþ7 ä _S¦[u vÌ î·$˜Ã³ÁGø¾ÁÀ¦)Á ˨¸Ž¶³Oú{'ﱺð[n!ƒÃŸ «è_kóß Ü@H2 åÖx,“²íUíY›v;3ïj<çÈÙ¥Ð-‘ÎÓ@§+[žíÚzyíJÎÁË­I½ª9¯)á¼~&R‰Î,NÉä%˜ØBå`è¡•š™‚Á“YºlBÉ-FûŸ2l°ú4zÊzØAáf!ÖÓ•{x×¶OJ¨‡T/ŸéH;ÿ«ƒô¨Èð÷ùY˜èÛ]Éêzoî ÝÙ` ª­þ€\¶w°±•bÝ,ÃdåYŘž}¬€ŽÌ{¤3= Ž=ß¾k¥VèeÄZÙ¨y²üF“˜¨ÌÐõîÉ™Ôs>¢ûƒÀh%M$r©¡y4üx ùYÞ»p™1¿Å3m5†ÎûßÔgèãxŽŸRmuy¤Á ísëžá‰åV§YÕ¨ù(™;}%C6…€/ú©"Ë£(t lÁ‡q@Á-‹° 8Æ…ÐÕáNöj/nùjÌ®ºp*±í›Ð¬R߈ת•i×w„¡­Ìk×¥7æü¸€}ÇàêR⨟Ѧ©ÄùOUiʃ{•ÁŒpÉç´*Š<Úܳaï$“õüU³ ºWFK_Ê7»óKÏòe÷û­Ñ"<£6À¯´ú¿ß¼óm —…èÇÛ•¾_ﺸt£Î¬bG¶#²Kä> Ôf·Þz™B7¬PCaVØh¼®<½ˆé7Uº2à–‘BÙM4%¤ÙϤ0¸Éç’í•8A/üØO~¯yMJ&D!¸­»·€TŠ „°¼â{ÐX<–õŽýdSXï:6þžE"™•Å -Cm.Oš‰…OËxÐàG0 Ÿ ‘êwVÕ]:óòøŒ7‚è'ñ£ßÃ)o…H:ŽºwJU™W—iªƒ a޵B,? …hv[°£ë÷¦a–MÝ}_¤ÎŠÕªuDÁU”hfåŸ_Çe“‰+Q+„ñ÷wOÛQäé–$Òÿîõóèò(O«\@n9k–KÌþJnOCžµ#²Ë­Pr|Hw¡O5ŽGCõßëçÛÛMÉê}áݯ j³Xg¿g‡UÐ U;æ;¨ÀcÚ¹âÃ`l.›.ÔÏÁ­x¢*SªâH3ÎpIœìVã»,F=ôÄ÷µ¬‘·f¬ìQãk¸%tÉ0*Á“kÀìù ˜ÎÞþÈèͺ!ÚvŸÊ«Òs;Fis(ý+= 1CT{3騠ÿ;}ðÁA`£UW#VÁûÞkáT˜Ã’O†‹v}‚|ÿy/qò“xÁ6ßeî‡t#gçî¼—çæÐXޱõׯ©¯ä²~A$5sE¥\ûËÊ$´fá<Å$ªâÀ½%v’ìuWÓà–$Ãç“ þÕï»´(›.38Ò (Ù‚ÖçE=(¶éÐ…•=É¥ÏÓòŠ}Å'LÍùПߣôŠ™èýºÐ_oWºú ÃidÀ+«#ÏÆª©Sk uß’ña’eï@.jYY|ø[®…ÁvÆÜöÒÏ<€L‡²s7g¬=à¤íÈbÙç³Á¿uöŒ)Fna{usxhÕ9 t2Ç£1 $y'±Ð)[ùÃ4´@G¤jåuðà•“ƒß¬VUˆoŸÝdî¡ì°UHIÏËv]éµ®ÞŒ€’±/mAq÷¶8+tÉU²%Ã’ Mß_Nµuà$"Sæß“’ùm†“ÃH‚{ˆL™(£×ù°h”jT$;¸!ÃáPF –®Î$¨q༘ eÿ2|>²Ùr}™P›ïC©„»z'DQkL¶Î–ƒˆl¢–ë¬ôA­€\|-7ŽI>'ØJ®†/¦–>q’Dô¶}{»Þ&•ó#¸…)O‹Ž·­úÛ´ÄZg€Eó:²À‚l]N€ÅhÉ)Œsn(–ù޳µÝ•DUû̪$ë0ôs IhQ$FÑ<ÔwŠD65 M¢„¼‰Sp7€ >*Q’š’FZŸ¬µ›l‚ Rާ÷I”êžÝ%…2Õ3V·äÍãb‘XÞµÁ"¸$Á¡+èY?-nÈÙ¨ëY ä%ìÕã8u”ÃfŒWæûpÁêöp¢›F;‘[þ&lˆK˜<>€·T¼¬çd‹bʦ…ú\0~{p†9a'ØI!½­N3a*‚jäWÅk®,Fbtž“Lu §‹¬‰Ò¨æ–™Ô˜ûPMép9S«XW=05DÂ^jŽ!êUaêëüãS~Ôó«c¼Æ¶n5Êϵå…ìÇ'úY½¿-ôý²Ðû²4" ‘¿ÇnhærXŸÉ xÆýÁpèï³¥Dàu A?èרœ–Õ_1f'‡²"ޜĎZý#?VIP5•EÌÚnÎq¶dÒ=£Ï8vHì­6©&NB šV|E‹ŠÔl®µ§¹£h¬uÒR¿­¤»î3Œ€YbxR,ë•À¡bÖx\6šÊLѤ±_N€¡Bfv±Ì]†—(îAΆÞñg0²g;Ä6H@W·º•\­œq?>o‹]dIkîØß2•âuo3n ‰ Áb°‘£íM¾Õ`ì;òÝBöÁŒˆ.„å„þÉZseœÙ4¨î²·ŸQ!Ã:ÆñϬ°:þõ°Y˜dÕ[ IDATÇ›-¼üë⬑;Á P2&’3‰{f8r¤Žžµ—¼k·¯ÖñæzmËAûT•ݪçøDY}ÿ?ÞîeVâa®A%”™Ív@—.ŠHtÙÂCPËm5y2»È•­$(“0»•U° ™mà†èñH‡ Rgÿ7ÛSÕ=R$sA™[ô†$¢ºq› «r– «˜„L¥¿6ȇ˜¤á_E–2 †HΟ²úé¨0ÁÓÜêÏL(ei`žG4Kg4ööú<Øq?Ü‹ÄK8ÇrË€p­Î“˜q”• QöÞ»’Y]Iö{8W=Už™Û«6ãè!§êÈÅ ÂmB:´ßÞdÆÎ>yÒˆ¹1Îx‘㙞Á‹[Uj(nö챕’VƒÿtmN³i.ÑNhœ”àÁæ€Ç~Y/w«CHr Æ2ŠY#&µÚàWÉ2„ò˜Á<9k3WQ…Ät¼<¶ût2Hì”Ë<|}øðÖ÷²ý¸^éÇui›¿ÞŽE ›U9îýö²›ÛëV%qni³äUôiµ7KíjµÀ@°­3𱪛`V%G…ÅGj—àwöœ¬sÞÐØ¤eó¬FŶ²ç£¬¡Œ•àÈå‡<%‹ 4OYÞÖ·E¬;Ø {ÐŒ#„êH”Ÿº—q‰ÏüLItô,¬Éá٠؈#åâ#Ck ªú gJŸF­T¸ý=÷ ÈJµi™ßS©Iõ_™ðìL‡A&ÕÉ"úϲäWÉATØüÂp@°SèÀ FèhSÿ­ äôàF˜ùAŽðAD³TÈrØ(§Ê¨¦Q¤‹øà7K^ ar‡¥€o§ÐGæ4¦ãBf57]°kb éà¶‘%$'K›ÜëðÜçÈZó-Ý-žatKäýÞûR.–>h§-àájö;ýoŸêçÙ’û^¼,L½]è›dd XÉ(ËŠ×í lÁÐB^³)e°×*ÇiEp¯P£K°`£î7ÚÚYÆC—5uæ>°•Œû DŠ3 Y°ˆ‘gm)>¬ì²“P¦åx€Ìm®I\²Û"V{n¡>Z@R±½~vXvöU!ó¥çyÀȠˤÌÒÎæ‚”‰täX|d}åž.dAÌQvEŽÙ½FÓ&¬˜n´äŠ †#’&­‰ ”˜‹§Œ5¸¿ñVrÅæ.0“L­*ƒ”€½ÓÍìŽn3°ÁÀݧ2Ûæž‚{¬p…HJæ°#úÏê˜$ò ‡ë›5R’÷ÓåÙ:¬•àl„b±žåIÁf—ht{Ê€¨í¸‹ÆŠëûàØf -„atP5@Ö‚€r0wŸ‘C°¤šþnž¹WƒJ°ô"ð±}ì÷o·¡ï"kìÏŸ×phÔéfiˆ3вéØ{önû=Ç£~ Õ<«ôJ2ø+ÙnÇâq*Áý¢0³B—-ú¿O2@Á—e̳g£rK°²þÖN¸D¯¼6³7n| Þ°õwh[ÜÍ܈ÙoÚ† Àõ„©¨~P«1ö^& Ž q¨·Œ¡€D’ù˜1‹G$‚­xÉTL£âŒ1‘ÁY(nî×wt%³Íg¬‚ÅÛûQG„̼ÌHYºKÞûÍ9œÔ艇ñsaZKJ‚¢V“fb¶)˜íP³ÒH‘cv@gEµ2Æ^ö"YPQã~ð¼žEª%änåÀºGÌ5ÏXÅGv¥¦QuŠs™)Íƒàæ¼—2¥@ØÅìÆ˜êziPë¸rK>”/+j‰”ÙJ4ç\äŸÚqP½þçÌ 9¶(‹äyàøÈÌ&úv]è_oWZšWOni³Ô£ƒ0÷Y æ}²5"°ûÕ®_娆«4 åÖ\›Ñ,¨û¯4H›|ÿŽž;ŽbP²SÞnƒ›19Y+Ñ5΃ à…ÑV•ñâ:’¾ ©Þá}@ªKõåPcûÄÓ$“€ÕÓÎuñU{Fü«šq¡(ÉÑäsž±Iœ€é#ÕYiÑrüzE‡(úÒJÛBYZÎy•TÔ¢˜‚;K}bqÑ¿(*¹Ê¢cãijIF#Bz ˆÒ^~þl|k±)ƒÊ˜ÕîŠ8$Ö(øÜH6¨ÂŠW 4jTsØÖÃ×õòM¦ú(Sœ[õî÷£ó -úoÙÙÆ>­¨î³Æ#¹ð&§ƒ´Ê`¢¼ÞSÓ–Õ²«,WnU4 ‘ï«jÊ¥c9†‘ÉpÓ(Y¢½]éý²ÜG?XÕ’PÖ{Y"g1$c¸“OE·^ëæÓ„” †œÙ!¯|M°ð(“ ‡¹— ªÒ)‘B ~~^ïÉCM,ÉÂ̑PîþXíkÁ„ Œb–j…”ëB …ÿötYÇê┟äNºŒ‘‘_ÉöòH,“µŽUû@܆³ŸäÄR½;›ƒFMØÏªìªX(nÀrt ÃNÆêœI+ùËÔï}ËìÎÞ5³cÆmt¥ýêaò„ͤ$FŽîÏgœÕ” *€·„‘m›²]ïÕÑU$^%šżDSƒ£Ï*õuX‚mT·e¥ûU*¹ª†[¤˜/øÎHèt8+&®däd: ðp/³Öb.лçˆ ËY`w¢ær8r"iŸ.Ä@gøX²têP»SqHx®ØjŠT»š÷â:V渱[1¤áÖ9ý'©¦¬óæ0$8/@•g¢)²Á#à»y,lS+åêBÞßÞïeV×fHf+Åî]Ï*dqºé\©I ƒ•žõnµz% {W²ËÜ$R§¡ÕÛ´T噯hƒ4xˆ0áO¹mC¨[”éD·+¡jQ©'D®Þ ‡‘cëX6O›b«ì©&È^Š}§+Ã,¦JuMèÿbšm• ¶|ŸåC+Eí. fç;kÏ#ÊšN1…˜„΃{»Òç„àÆ*µkU†!l>ejÚ—HªM©„ÄO®”\Í‚5²cÚ׊v‘® «7(í`vJu˜íô ÌÀ4­#±bV’,*à C„Lc½¦‰\ÔR¡›ZÁj5Ä^¾<çdc´šSäpLl²ÉÂûtqµ‚˜7rKP™ê’ƒœÁŽHŒÍ yĄ̂e”f&‡Ó•½íZ8€¨¨l¦ÏÃ8¿`2›åe̓KƼËm~‡²p‘.Å8ZÊPK°d™}3Ø”¼Y0L ã!Áëœkef,œy%ºH©XE6€Z3koàª®ìØ®0@PVÆ—q•ÓÌÙDrnaœc.YÅ.´íî°ú¢*æÒzÚ€™•xïÑjÿŽî,TgºtñƒÆalÌZõаÓЛɰ(¸ "rU°¼õ¿ž± ^@µ~¼Ê–zèÔ pz…+V¿ïõ4qW¹úÉg8þÊxD˜S…š,³*E2fmà\J>Mºžîox*„º ~÷à]Oùm²%Ü™Yèé©,äþðè éæG’uF;xX.Á–Cånú6±=ˆðUqlœyg<ܻ֔Á3z>Έª«=!h”YȘáî¼ç€ ꛤ\G2é(nKî`2Ïñ‡ ÆLôãýJß/ ½öìhX‰š å>ó¶É*@ˆù~¶A°WA¿¢¶åˆì2%­þL +\Õ#è|‡š“e9½ê‹5ضáÓV£+8€Súí‡E™„äQAõq9pèµKܘô>Y­ Ü)­U{j;FÚ¿i:µ5ñ-í)×o¹—!j˜d•eªdç™1ãñ²®Êæ‚©„Ÿ|†ËäŸ89;¿½ŽÖ*RÔ³ê6+qQ”’dçµf'×wÈ|ÉUf#bYû»gm6‰Eˆ©ìê #y2̆tú…]Ð LvÃ¥µ)În©LÄ3œdìô7ð= kƒ{dÇD“§ªït§ú*ýþnÍÎúCÃ@´àÉy‘ª¯©2•½¯Cçi›äCëÜ#" Ù‚—æÖvt³3A—ÝöœÜ­ÝN§æîÁžü“Õ༯¨ìî¤Ê›ó<öÊ5®;;&¢ëe¡ï×…~ˆþŽ_ cŠÛy$ѦÚÕzäÊÞCÔ‹Zûß²”mq‰}4VƒÜþQÊ·:Á¶ôœÄÃkq/éÒ¹uz×ö6˜ lÍ)±ÀGóT¨´Rz–y‹(ç&Ó¬f‰K忆«‹Ñj‡­fœ°Ð¬l¼¾¦ZµU×i U¼ –¨ö@&{:ÎvQ™aíØl:.âàx~?³,Áª.D|D,Aöþ…|½ì ˜´sØ®Ûßö“Ž”\UæV&ûE–XmjT{ж« 2Í ‰ÓÁu¸ÝeÛ÷×ÔbÈXÕ(ÙÁÉþdzœ8­™Dô삳ö Ì ´YËaP{Œ¶oC;ôüüpã<µä¬¶¶wŽ\vŒãŒ­Üæ‰Y +ü>kÅImJ€¤Û=º²+©yø¨8XÌ/]¨Ñ(=‰yæp{ŽwPçÙ~ñ—…è¼_éÛÂ]vÂc¢½å€ÁÎ{þZ—_AMÁç}¨ #ÞöfÀm¬ý"{ÕHM!ÀF„MWƒÔé‚öÉ:“õ„#ØzÆF°$F}ÉÈnͪ4#’Í[ +£FÀc|îAÅæßö"nN´Ú˜¾Ø)Îe%aêWEƒ”Ÿ^“s{Æ >°Ï]Y̤ðÀ¼v„Fx’¬ùpäΑkÉÐøÖ¸x/×ê gãöFR<›e " d](7zºV¡ííçoQ¹ÚeÚV–Ëìa¯v·Oä³ à°î¿a`ŽÒ»i šu-Ñe±:Œ•ógu +)Kf`¤ßÓÖ& †aÀrç¼§'5¹Š}g‹)ö0ôÒlÆItjk~™ê ï$Tá9fŽÝm§%<¹÷‹³ÜÊmÓþüžÊª r•ºwËþëRFŸ „­F¯*gm¤¦ŒQõèëü~]èÇu¡o § #ÅÞ£²÷‚úÞ³í;WêÕ€Òa|¢Ô¯‘—ŸØ°zjŸ‹— 2Íçp¢«SK]/ qÝ@¦ ŠÇ T㦰:“Ñ…NÊ”ÕýÆ™eÆ%µAÁ–´Î‘g3|BÕÈ)+ˆÃ.?¯Æ#TtåðU[f|X$üÙä$ã±L¼üZ®Êy¦/gŠ›¶"E|p+c½k£·ù¨_úÉËT/OÞeÀ¬Ýƒ‘ýš•µX& ²¦–j¶,ɺ­Ï#ˆÍ§«Øù•ÁÄh÷ëh4+œ4¼ÉpnÓˆaèí{µÄÑRH“«®ÜöG£u¾©H1߯³.„È@Äg]±ˆ¨×&«å¾c“-N1#ÓØÄø#Ù€Ó>0&%‚$Ýþé˜è”cH3;¼ ÂR…‘Š:r+p"jÚXúv]è_ïz #Rê¶H-„VЂ‰²¨ª-Se¢vž‚˜'“±]Å™Ú~¬Ègsù ïqîFLLšŸqøØ¡ *K÷‹à¾L:Ï•¾n6p:#7É<ÀY.bQY¡†þ5=I‘>N² ðUS¤‡U{ ¤ªžÚÌé`U®LŽo“¼#ÒßCv[-?¹ÝÏQrÿƒãÏXÊl¼¤€ ®”ÝgˆÙôpÊy«ç©xÄ ‚pSºô“ˆþÃË¿œæ¦@HÉ&'  \/›b’hK[CïHùzY'te šº$Nœ«ô‹öQEÎ{4IäV6¿GU¥­Å ù{XVϲÑÓ:ÊL¯ÎnëõäKsc%KF®X[µ†ú¶(Í“Oú”Ø:¼¬mÝ0Î8Ø Ù‡ôr3ýæ°iUP–…éÛÛ…~\o ôK™…º ˜X…¹¦òG‰æÒºO]zÀ(E4“D7=1êÁqÀÒ»#È^†*PH[%Ã?Llf n2G"Ã;ë]ììn9CE¶’¡5v„”<Õîl.XÜ›ƒ²§CàhÔ &Žn_³„òœtgŽÆ>µÎVß”5Q›‰þz¿Ò_×…."ŸôKŒ~´ «YÙ=[3¬ôëVòçIØ@&6Y0>«+磸ʺfth]ùù(nØ„ƒŸŸ #hÀ5RYKÙö3µˆ¼|°Þs+Ù¥E‹ÃÊk´•òY¹ÖY±Ê˜}kG3ušÅ'u{Ë[C†„¼œmácä%þÖZ×n¾™Ìžôá+cžF}À¡>dÁ˜|¶Á,¯âüûÏœeâý\=nü(ý<–ûþ —T&~ô^žp}‘ÞÅxÕ«¾=F A~ œÂž\Ê{ÌÆnL¦íñàãàfìšÒ-UG¶Š‘½ÜØg>袽$l$Ò|IXy’†USåºôŠÆó)YÁ\ŽDÊ(ZÓPì!œ84u+ãôŠ7^à$¤ˆrYÐç}¶Ö  "e)yÞlZ™ëBôýíB߯L—Hy@‚kkÀ‰_(èw1Øöèg%[MkµÀ÷öE‘7ðWb0®7«ø8ìq0±IÆZÊ‚nšDœA–hpáÍq“ßh×¼X ÂP<3ú´#L-JKrSõUqX—AÙ.Å6©’yåŒTƆõ}z7¡$í³ì@õÆš .çµ2<à@Ø /yîÜíë˃o ‰’4˜Â†gʧ7úˆŽepÓr²"9¦¿™è'/tþ'ÿ]·h6mqŸô¼€±)¼é¤ˆªLlæò>7)ÍI ¢ï/–be±’Ñj%-IæDrÈf±ê !ñ[ù©·]1ð’”…ïGµºÈ rJÇ]V³’ã¶§½®H}ª·ÕN FÁ%rŠ@©-dR¥îëŒ!ñ—…è_oúvå¼A[4š.":ëe5Ô®ê–M¿ÚtkëžWDQ<#Äc}9D K–ˈŽŠ'È#OBˆälÿæþøhÕÔœû†æàáÒ0Û^Ñ“á#àiYÖÅb¬™øàÙÖ͘\ŒG9gòj.Vmä‚kD#ƈ¶Œ>K˺d@œ50*c°÷{²Ý'[Õ8l1(2Fð{>v­3q’Wºêï\¦ë‘`m´».U¶l,RL¶x(«ÕXW¦¿:q¶ÇLôêql×ð´x*<ümú¹Éˆ â#&¸Ú„ñB."›¼ ·dÅ[Ÿ¶j0›ž÷a)ŸûíÍVé\t‹ äQߥ{>Ø`}k8]ŽÞxæÌÙK—/l­Gìš§¿/›Ÿˆäž4¹Ókï:­îŸd„òŸª9öz¹•ZýXÁaDÔJ³*ªy;§­ÔïŒ8Ú:ôº¡ÜU ‚Ÿ½ˆ¤ëÓÄ};G|MÔ_âÛ@6"EƒÁµˆjŒ\‹žLé-Zk!eã¾–:gäñVÅ—¸lÒaÒäÁn´€LÙH¶'ÝE•z\`ÝÙ¢´gºýOÕ¡Èþšƒ>sÀo.Fqf4xà¸qvRßmÍÂu‰éˆCi>—}ÏË¡-/Yw‡@r” r‘ùñ亽ÏñDÿ>u°àˆ ÎW …똣X:äVxÊ—ÐtÅg’ÞqŠ^ì^΋+í·ýÎ+R|àºSœ2 n–€v©0Â=8áX¯åV{¸ÑärÁ m؇µ 1yž³)„ö÷ZÃã`„’øç_¥.ÈCéN1`É~·ÀÛœiÝCmÖéºý¯ïú?߯ô}y43ƒ’J»ä¿—À‡é>PàŠD=¸mÚµtD²¸gÛÂZÿÕÙ}Þßš7ŠÅ’ÍãÒ~̨QÁ8Võ½‹o5’ŒÍ¹A 5  í*zëçÞ@äe„„5óEý¶ñŠ}ç]oNš~TÊmËÅÁëFMö mYlÍVHã ˜ãÉ^ä$4àb$ÄŸ™Ú•"øñ¶ ˆO‚ß>ƒnHÿéJŇ]•c,-÷jVz0ó£9ºqîÖÅ}¶ÇQ•™íµ·7ÊŠW`‡'ÖåXGn‚GßÕÂÂña!AÔrœê9<úÁXþ|Y4œ ôåÞTŒu<Ø‘;'¥G²Z ¢\é,ßì›vF*„o¹ªÑ6@¯m´–Ñáˆzê^gŸŸhàPK8˜u0Âãy÷ g€gâï}»2ýx»Ð÷¥¸¹¼ n¿]¤ú–ÙÐ7[f*¨id,Uóª’uÙ ÔÈ¢¡0O©„Y)¨uÎTuëäe‘|‹à Þp TÄ[*ÙfÓm8Üô[»P\Èj6sPj€e®â!ËÀ#.Q؉gNýЬ.%–ØüŒ¬ L}óÈ ×ï!£]FúJLÅ_ʘܭLÅCX¸p*k¢+áXÀgòÔ,%«+K@ïÿU'v¿ú[4šsÕ`ŸDl‡-«å¹1HCx$;̓?Ù¬oðR¯éèñƒÑ(%ä+^BÔ%ôÝ "DWUÏ!Í=M¼éÅhÉÜ^†Ì ]±Bïöó„9 i"œô<}«ÄŠDátx¼$wýÜó±¾½¿æFT§ÕÛÖ¤&š™Û¶¶Ë*çJŠùƒ©Ëo Ñ_ïz_¸‘o,‰g×Ù€ŽÇ€Ñe{v›Šb3»£­å_Yû[cèq5.lõH‡ÂYX+D†˜)¤Ëfý ’µ:ËP5U¼àŽˆ$Š•¿t.ÖT¨”6Ý[%(gNÇŽÃ æ¢>$z&c<†@²°n©é'Šè‹4êa.¬èQFVÛÍÄErÂFÓ:œýÊä„}ÖW¡ï™ù¹V§0Wt8#½Ñ—ÇKsJ ÿÓœB¶×u!ÔfÆsSÓÖ¤J0fmVfpqÛˆ@",Ž?†Ù3±Elƒq–J`ßòçÎ;>u?Æ%D:{Ò†a­‘‰DòÍçÞa¶PšËS+~@jóÁ§ö8è‘ËdèÙi'è—h •5Â*$™¿YÊÍÈèXC“˜ºæ ¸¢r/¿Êêgô÷»áG¥_«ÅäŽjæ’b›á´¦»õÎMÀ#ä”aà¾ÑaIŠåŽ8 v|“x,Xïö©Ù§7ÃûD`¨”Ÿš+‡Ár!0|‡Ñjb=²sá±KÐtĠ𤸎ð9Ö¼r¿a Ç’‘}æX Գʗ¢ŒRÈ/'À†îí+¦àA(ða޶տõª¤m5L,¯'þÞ÷·…þº.ô~¿èQ³0¥s$ÐX¨Ë°P_–À&ÑÒæªž¹Á|·Œw:|Õ¬7ì))»ú±´»ÚNdÍäqÔ‘awµ³‹Ž “۷󺚕Y˜Š}A±èx$[lÙºªœòþÚW¢;ÈïÀ·%½Üe0ÏãÐh€]ÉJ…ËãL?:, ºÆÎ2˜QI©òmYI¯f»èÞ'·8Z)[u÷8,¦¼SXÿ\³‡m…Kö"gðZSbÔÕ&²»ÈòçßDôsy¼CW`Ðð>„´GÔVyÚN_Ö IDAToÍ]íLMvÂBÒ…v•ÁPõ>‚L¼²}F*>ç §]°¿Ì Ûù˜´ËbâÙo&–ªR8ÃÈ}yÅl\Žæl¡ ´­ÁNPEyþäà +Qms­å×–³E#"Ì ÌŠÀ†eݳ½/×øñf£t§)Öïi,9™¾à~œê…WPWÙòÇÆYf§þÓ«‹2hÀ· Óÿ¸g<ö€ ]S‹?Ã>S8´¶?£_¾îsVcÄûÇT³h‹uC^Pké´UÄ,0gQN‰°0LiU´å4ʪ‚m–_j­ºˆÓzûŒG1.; âÖd£æ¬izSU€5´&]n¥×Y–dô“ˆûÒrB 5¤áö¿ïï·ŒÇ7Ñã!x9‰Û ,Ìc=Ž…zuE]F Í«fnRƒédYUdI™¾pX‚ƒBדóer¨uôK [-L!A­¶Y”o¦ßÕ}¹s¥a¹Ô8¬3g°Í:›3ìœppM '·kÍú¿Ý@öèä—ùW3ùàÈu'î*  T¸;!ë'»àZl#Ûb»£ìQšQÊJþä5^ Cý¡¥¬U;Ÿ|;!’Îà¯DôŸõVr•nôüìGÃëËxZ5"J² lË)v*F­sd|<ÆaÒŒ¬ª³ª2`§ëͽÌåÆJ5áÃAº³Ì{jûîжo ÄØßig"{Ì](lZpF’° YjWÕ)Càâ‹ê¬>ô¤ÎW–rÃ÷ÅŽ2Èfg7všášf9‹=`Ñ Aƒ ˜ì›aãú$¸xÉZR¸Og1L)kòø° ƒ®¾õxÜÁÀ*3º¤ÈÌßB­ª“Þ>K›°Øÿ­  il ñ˜æŒ2©$+¡Á4iGŽT.üÒo„Á [Zê‰3ºŸ.ôI=†œüÍ{ö£Ýgð›|¨Ïì±c™"6À1¢]%Á]%%…9›÷8f0~ê²›ö+{ Îú©”hÍN"šÂº¥ Å9 ºd>dߊIP²_ˆ4O©X³[T®a˜ê¸«W®C ÚðA^ˆÅÄ“¾¸ÀÙ(Ø”P@ÿ&¦uá’­Ý8lÖlh-1‡9©¦}iÜ!Ts«½¥üG¹2õƒ¯oWbúxMƒºÄ‚7 ‹2Ò°É@Äd|/‰!w|r”&åA#äÏl…cvBÿå€>%(ל¨+óë"˜ˆÁâ,y= …Ôe< (Fî'8©ŒkIY3 u±°s! >ÈØ¢1¨ª(¨ŒÀSÓ¿±#™êÓ^Ízá.iKÌô~]请…¾ñX¬Ôg tM²Þ:ÛëMiôíC[‰*‚ ’ƒ­˜ñ7 XZÝÁ$Ã5ëå@[7ÎFQ’Mo3R›éÙO _Æy½);€‡BPbÛH·õ@õžUý>d |8“ÑÎò¹­+·eç¡Ù£èô8ðx^4hQfTê]xårU>+2(²úGî?š¯ã‰ êï\½ëè§DС„k­®±&‘ºlè ! AnA*£Í|lŸ¹ˆàǪÕß$Ñ3ÓÊÅ›Ô5ùüñ࣠«ûR3ËÛAcqKr]ÆrÔ"[![„«G«Šóß!áyòÒß {Æ tïAàféöÀ„ì¦,nÉ߆¶dÜLŽV‘9îVáêF9Ò¿åyˆÂv²Ÿ¥s|ögbÁ-wt¿ÿmú™¨µÙ× âÔ™‘~³²i=ŽÎ.‚e•@ÖÌKMV¬»&(ÌÙ"ì¦îÔ—^a¯¦ÿúq¥ÿz¿õÎv¯Ú·°bÓ¸hð`e¼éΛ-˘é&ñïÃÅ ‡¼;Ä,ZE<§ÁûÝu ¿'¤±ζu©ÝÈÕâ>VjYw]ÚöÈ@S#sf•Üòb¤ÒÚ̬Ó+c " ?ÌáÙ$tŒ ÛY@8<õ#hã¹Oǂ瑀³ê*¼¥ƒ"̲ëbÖ£z9öˆK×èü²ý½¡Bíè3@ßCãe{Ä"™PÒ5|ñd:¹ýE9œÈœü›¨éõ(mžB*û#AˆEëΙµ—8åZ³ä²t°m¹ÄH…-Q-îk,Yc9aI¹g½-: ußÜŠ,Äwíÿ¹tóýµ c‚}RZéópW-V16\\@ãέÙ!LqßÌ'¥Ýé”UŒíeÉ ¤›Ò™:Oæb‰â¥Ÿ åÝ{ˆN}/‡B+eÍ6Mñe[,ÕƒY´IŒ;SÝʯAÓUM}½BP8ER€ÁÙ®ôÀÁô~eúëíBß„œîJýŒ¸vd‡êÍ[ý>ކɧ¾Ù|¯ÓZ‰~-·a…M¹Ú»Þ’-ß[YÓΛ@·Kà ã1ân#+Œ¦¿˜.‚ Û®Î[û@Ztèª6;H%aÂEÙc³¢eŹJã< šØ•(wãÍ@Íâ¾8/U—2¯ ¼Y“˃‰ÞË@àŸe1Óqt~ ®Ù˲°Úè^g.@„ÜÕÒ9Ê(Ëè-§®¦d¶˜wC+w Põ'@ÿ}ð‘Ž`Pjg"ó³¶[«8ƒ:j瀩q ûPUׇM S>ª©ÖuÍáöÒ£!"—ôã>oF†™Üh’5ƒz°‰ÜûBö‰.Ô5T6=Q‡ŽÙÂVùœ¹nÐ*‰‚x×Íj†7ç '6ÁÕ¶ÎP5ÎNC0š4ùTe0ÔJóáþˆS4¥R¸3í"ŸÞUª¯Ó³6dÛ·² –vòt·BoÄjñÙ® ÆyF{¯ËBÿõýJÿûÛe"¸Rß(-»¥ Ø8Y ãÊ$0Ùé„õ.ùÚ$‹DÀIæhæL·JD/ÓÛØ C&—ЄÛڬƺU’ᬋ‘9±âzr¸ßÔ–%„3ð°Q™bË÷¡$µÿ6E ìüŽeç"Ûçùí'Ä6O_±“ê9±9¥²ÿ°µ0¹ˆË6½æw²Ø+»ÉŸh@Â5pºkŒ GŒñI™ë3W/(wü!¸ž#ÓÜ9á©°Õß_‡߈z5 *[‘“(HyÝ£h2*ÈýiÞøAÙ UðÞ¬2©xU1é'wL37LjZ–Ÿ±¦£ º[C«Y¤8§ûs´JÖíõ[£:¬4›E2£oŠm íET•ή+uǃ h£É,ùÀŒ2Ó(lös—{´e¿X´ÉÞb}Ù±¦ÒŽôhº½%DÚ4 È.‘YDNç³&¥)zЄð6a|¾L.™ †ãþù×ëBÿº2}»,ĸM ÿehÐ[Sʳ˜ ÔŸI^5-(,’0$ʹ\øDd¾×#8Ц¿ (…ÓÏ• ò† F fdMìp4w4²-èLä~²¾$r‚ÜãHÛÈ9‰4üXú«É¢N×w"o—Œ B¢y¢r½nÏ¢×€êñ‹ð«óÌ™â±ÄTØfYÚòY=/¢´š ‚n´>£ Ôªs.&éºrDä½Ñ€×£RÝUYâkŠ–Jl ^aEmØ?¿ôßÄù„éÑà+é ü˜ò¬ö‚àÚAØ#ǨQcSyÓ!¶xW¹«bXÙ àBScÏ2ÌÒN‰Œ“"³ÙSlcºT‡÷ghàÐWÈìRWš¦¿UIkwÂT*À„¦´!tOÿþæè >Mi×m»<¾„!Ô¦îMáÌí(Ï–‚AÛ°[ 7šºéÅàžµ4Ó]ÐXYö¢Ë…éÇu¡ï ÓE6—£¯ÐâÄ™±R…Ò·l•ñÀ±yºéR7BëiÀú‚VÀRA¸¥fekùwÙáM)ÏJ°¼êEq#B'ÃØH‹³eWõÀÜ`§b@½Do3.ÆõQpˉ2–ÛâÓÉe‘õሇ'Òr Þh÷gä/ mïdŠŽøäÈ+Œ*.Yåþà6ÉÚñ,yê’»3^0HB„ž“~O‘ÃÅeð‘½6«ÚaED?×C'çþé‹×jo¡QaÀÿ&ИÏ=È<`•>iÍH±3›çg(rXþeÛ¢–h&èŒ ¢ÿ÷ÁaãÎ(mÈÐ\é°QÓíhœ§njeG-°YÃ$õ¬¬V˜ÁÓ÷è“‘ FóJ×@ÌŠ¥vÈ\SsÏ}ÊÞ—™ng l{„Õ›uÉÉÝÄl˜Ç¦9€Êê±ÚEkÑʰP«Î÷(AL—ßïç²,ôým¡¿.ÔÆ/Ò%omº×¨ËFi <6_Ñ}mу «):ªGîÔáìU¨ž2Y~[~ä÷@ý ”°¬´ÖVרÞjcÚ¯ºÿŠ‚¡.»#åɘÝù&‘ZÕƒŒ»–Õ ~™j$ŒŽ`´É›½NJ?RF˘nY؉€¬{'?”Map‘Q)ŸSz%ÑÔîÀ;9Ù0çjãwI—p´ÿ9z+ƒ ¢¼Hžì · }"²Ç$ l¿6yÝIðq ñ‘3Bæ$ñ"šÉ9”gªiÚúL‘ÈÜŒœòÜöºú¨k„»ë=} fIÙdëªHµÉnèˆh{ŸBžð-l³¡áÕÀi‡Ð35äþWñ8™Å|¼gI8•òá¢Ì@Bü·½“­âÁöõÆtû¬ÈšD𼉆îõöÞ…‰~¼_èûrïçŠV²÷bµÌ>úž'«É—eÏ»¾êûß–û~Áfÿ™3F¶&o¢{©Œá}÷2,]{½eVRèäWôåU^V¶Ò÷ÝõSå$R€¤ñQ[b¥{opâÙdF2jB®“–02Ö®Z¶‚.RÃÖÒröDq;Õ3âv¶Îk¼¶Þ¼8÷×;ž)±åÄÌûßLÉ )§lWA@¥)zæ^GçmŸ|ëÄäÂÏ\‡~Fãä~r™iI×Üßú›?¶üT£óâozø1‡CUɱ”‹ÏbÎq`õªŸÉ1õ¯ïA…îàPtnU•*éR^¦+U€Ë>„`rkƇ¦ý@(¿@éÔÑ‚8£7Ú†)žß HqÿPdD3_>rµÜñ–\v™ ÇÅçkô33}».ô¯ëÒ ûë==b»,Î¥­Öj íÙƒV6¾·Ÿ¹ÏìXÑϱT7TóU*L¯ÑW+ðw>É‘ÙËŽÑmaÝLcôŒwšXYò›Ö,s-`DØ hf;¹‡Üó,u³ Ü)f ІS÷ò3'{†ª )ݯN¢ŒüÑÍÕ “÷±f¦‰bö—Ó,ëÛ{øê*Ÿ£A½×ãttáêG¿÷ï}ø;¯Õú0úxô|hwÉŽËÝ9ü›‰~t[¥†OY‚•‡ÑÃF$yá0,ˆ,Ù§Xø¸!½¼öŒ·Ö†÷æ?öƒfPZ𜭠¢SA•Yc05ðœ]:=ºw€Ó€1¡ƒNc-½’ ¸ÙSàú?ðV.rfkögÐ)›uŒd³$±Vô#ús ¥{ÊDßß®ôãÂ;3©¨1£g›E®J­ò¯,gá°} F— ªäKdƒžJçL8£Áx²«¤‘×j pBacØwy…]LìA%sü8lЕªŽL¼m/Ûª°ï$¢HŒ’=×Ä[̹eIŸÍöûµÈÙE­<•Fê¬'Ò'Úi·ä“ÎJù 4úÃØ{õŽº¼jFጠçÞ³Ÿ<ñ¥þ¨²¨û;&Ê‚Üf ÿ˼ϡyÆ@¢\j4˜ï* M#\ü¼3éÀ‘éæg¬ñ5{÷>‡Óÿû…[¯Ç¯ås”\}nBôÿÙ{ÓíØ‘œIFéÞZº{æœ~’~ÿçêšÊ¼ m~D„Ã8œdHÊ:¥ï|•™R_à0`ðdg/û컑imùigöª@M°ÖQdæúVd=GvQyfâݼê¬ñ•÷$#ù¯—€ï×"z ¸“µÙäZ£ò~¶”«’‡ÃÞV…¤§q< Úfѵ‹ôûû›üóÛ"“¾Ez8QI›î廞=¶sÀñ¯Mt#«­×ûhS’Bå"šl:]+âŒ$Ë…6+/‡”œ€žnXâ+‘îö$lÙ;ÞÜV•ŠèÙ¦nC|îfèÐ×B˜pŽª(t»Ër g´V°‰¨:J¹ŠŠÆ£¨´×ÓCîQ7âÔ_ïµçnóF»ß¼â=``Q!«™»Ç Q©gî ǯ>óœå.ç'êh®vPÞ ¨~Ͼ½<4ËÇÁ>­Íñ£ÈOùuyÝ—¹D_0 ±ácÝ‘{|ÄrNçlµ?vF…ÚÃŽ”Òó“Ííšù‡™ó=88“ˆû²úñ‹ä˜õ‰zéqàÙUœžÙ¤ËܯóÞI£‰^îŸQ±ê–õã_Þ–å<4ÝËKk6Ê÷W~”ßì9(HÖ®îDZ7 T]³É5EÐ^”ÃÖ¤@±]aK5(\‹‡4§ †Lus>£+“撾ÄS K”¨à™•Äï’Vðw<†¯èÇáÕéºZnjT'TyA¾ÿÏ3Ï®ÒòåDzþA³SzóíõѼ8ÿ¼gS‰xá~ͽ1—Ö5£¬utÝ–[ý4ýóî}zQ )Ùí²i¸¶RäY—à¥>¼øžw…ÃpKVã$ÉäYf¼ú¡À3F㜆/o0Z`ι÷eƒyÓâüJªR—ŽsoØÃáÇÑúEKçœ+ëUK`hÍG–òÏoïò÷…M½F–6Èèoú;l:pª8Ôñ@µš‘02E?¯WÅŠ¨sb,×z­á'Ú¥æP‡t*‘i¶aÏX›*µN}FËôø¼å¬9°'CŒö` ¿4à«0Ó,Ø{¯m­Ã4§T™fi——œ1¦YÎWšë-"BŒ.ËzDðŠbíºo¬­(\³ÑCÌD>(÷Õ¹Ì\ã½b¦ÿÈIÖž ¢Û£‹|øÏg9îU ¸„3A`4|½Y:#Ã×àç”i¾ž×±=!²SiÈy¿¬ ü¯³ëfjîðEàªP™¹øsÂsŸäŸßßä‹Èò´0«sz㸌öâ³£àÙSÞÈ!§OÎ/ÙêVíªúöÕ¥u0|«qNÃk^M˜7©'IJ·Þ PTáŒñ¼bzMæ•¡Ûœ5?§]1òî¯î&ÇùŤ­u½ê¦5ÐÜf¼éØGn9™pÙÏ(ÞÏUÀ¾–ͦ[QÑ:'§<Μh·¸B˜.ˆÎ÷:˧'S;“nve¬Þõ@mµV Òª[Ùªýßkõ¨®W›¯Øâ f2xC·¯áF¸ét[“ÔÌÂLaÄ”ÒÖe£ËEÊ›¶€8–Ø0é+'ì¯'sÌCEÕø¯Bn˜Ï³¢/A¸Tqj.fÌèT¼ÕÈ÷÷EþÇ;v‡þˆxlÕg-;½ XºlÓñIïnjbåWvæu&<ÇTœgÚkä=sí~ÿŽÒ¶½¯ …^ˆÅ‚Q˜gç.mSž‚¼p]Ëx”êNîA•ëñšðœÄaÝ ÇÆ-\N«ŠXó>ïr®'À4òEË2À)è[ÄW§«Ö~œeô¯,1¯Æ#üCÊ>*+^ º4x;a ÖÕí}ïçÑHçõŒTì~Ó5ŽztšÙÖèÒÔ’$¨‘VÒOTJ¡(ýÿõðAÀ¢’ë7Þ»O¶c»£íŠñJ±ÏMa¿Ò™çcø—òøw‘žÙ3"È <úèUgÙ¦7þ§GC8`ŠF)/³Œe>ÇÕ†;Ž0¼tlÊVoσ{휜^\vÑï ¯Á§¡qç6é™@žéQªU÷½ GOš×W÷[ç¡i :#/cwñ™Ÿ Ï;÷HëÖµ3=¬Ûº!¼éqAIïzõSA_™h˜Ý4GH šZž øÏ1’„)G ÀÆP?jh”w£»ÊRÃÒÍç¤ b+ã³Ò­"íLdÞ¿ €Cu ®·8øç,pÈæáT Ц[ÑqüõÅè{ä*ÖI¦yaGR°sôÌN&Lƒ*: F²AÅMÞ(p`g#¸ªÇ\åæ}lZïQžáÐQÿb ¤Zĵ¯iò>Âyàt®4(q¦ÔüÉ,ÿ9»2ŸÕn³M꜉׊ͥÝC5#Z¢“¾0ÔïúííMþùùöL·Z¥O=Ò¦dQV锿5SÞ@ˆGŒ˜±\5p?mg¦üfͯ¨ÎDæÓ‹ÊNÌÎþ>ûið±“V 7¹È(΋àƒÃjâÜiËé²9«­¡«"Š@MT!Ó€Q²ÿ™°ÏpØ&†Ìæ ¹1BøÆ’˜Ú©5LÉ W¼Íªµ;Р"×{ú÷ËÔ”ÎÖá^ ¾Û_¸‚v¶÷PE™‘ŽÐÓIÓñ×H¸ À{rçJ? ò¾@³èhÍñTI‘ŸÏ¦‚ÍAŸ¼….6r%)F}¤!h'3ÕŽäHxö³’Õ/‡ X/:àDÏî=¶_Ÿ=Àäȹ€|*É¢Léž…Õs›³@a¦z(CbÕjt‡â.reÖ(pi¨^²®SBûà1‡8ÅžèÎ'R¥U¯ÉÎÉÓ(÷³‡É£~˜¿Éߔȶó¸u€P=ኙè5¹ÔX CBPO—ª(¹Æu #b©-¾€7Èר6rãt¦ð˜45£`…Mî£vØ£ Áç¾½Ô"±–‚õDÓ==49LtꜣƓ«Õ=€F£œVã¼ÊVEkT³CTç+TÛ^k¶E¬'ÀW@ˆæûªºÕiñ ß5¥µ~©uN‚pf7`EÌÊ0Qs¶Q! )á½á-šƒðÜ_+åO@~£0TÌ`['L³ÀPñ ‘8÷ž¼Ë8s™d8$nkÐa> )¹`8˜–IkžI7°2ݰEé­Pmî(ïÅ6­¤‰,áüÓFÝØÎ×fŽÐÏØÛúÏ!¹…aWJØÙbµ£ÌB Æ…³aʸ“Š0ÕÞO^ÌÚ™7@þö¾Èߟu»ó=°Ïõ­äLa4/*–¡€÷*ù¾ˆ”“˜¬ù_¿?rB²ÿÑÜFñÙû]Î…°ëML –^‚5 6ëØ(¾ûœC5R6C­žn‘¾ÏL§\Hcãá¤ÕêèZh<æY<69TÄk¦ÍWP{Û(´íÌÛn<'4b°ùöÇ.|ôïŠøsEÖº{ï»ZG £ ƒ¦JÔ#‰¨È´TóÌøa•k.f ,"òÞu¤uæŸù“”Ÿ€_£¡6,zacã4jêÂçá@D01b|˜c’¬®4dÑ8·ª6Á`ŸnĈ6wó9ß·—üYýõ›òÇY½âÍeËиΗôªD CÀ òá‘ôä’Áj½Ñ‰ËäÎB§h°F-3}0'íç§Û2fbR~ر7Lœ0ÿÈ“ù¤”¬nƒmÆÑwã>‰+û«í­M=ÔÿBÎ-ƼUðð8•Ð#)Å68©=¦3‰;†ß´íª(@ yIÓ‰÷+€‘÷·EþÇ÷e/â[Åg* „ÙK–—o–á‚Xl¨«3Á+ý½TuºòÈKm/Šéê[ºÛ¡"F%_϶žË±­ÕbáùV—S1¿!øH3Æ(N“*c$’ÕÞsÀØw ó¿kŒYˆ k9Œd7Œÿ³E `SçãK$u‘8\êÕ‰»ÉsÛâ]{UÜóÈEÊdž`tˆq¨Ì1·XÜa+¼²ëèü u"›ºið¿WMv]×&XQ+â IDATôâ&ïhDkMÿ-"?¨E±”vðmQÑZðæ‰;• i` ×=C½cȈ‚žÙy@q?‡uÈÁ²÷¶L ‘ƒ^`dy9ÆIÖÏÐ5Õû°1=çáiu4N-›¬kë´ÅöNƒ]lÓÛ,øÖ¨¿;ÄÙF9:vÎæ/Òü¦2[ôÎ0'j·yh3H¯.‰Ï±Bë¤4¹\ˆ¦¢Q¨»¿áJbÊ}GëÛ²È?Þ—½ÎcÌKE#{ŠÅÛø˜´]Êáò´S©Õжm\†#]¼°ô×+‡sˆz€Ê:µm-Ó½Awr§)RöÈ'ín÷§öIï”!"ZU™,ŠN* S-ƒ(Ú¹Y;V.«/÷Iq Éé1Â4Φb¤e°³àC|¯PâĬ©#¢"{…àNľÆåž5ƒvçWްРðõ¨GKŒƒ~/ž„ ëê§½6åiˆ@û$¯–’·Ò÷OÏÙ ˜‡sÓ#½nØ¿V‘ÿ+"? ÁÇžÇÍ^ÖŽS¨Z¸¡R£²mè +uáL•þI¨;q7S,lHÑ:ZÚà­÷¨H°–aÔ¥cz',ÂCE6á%°®ð Ó‰Y_ ­F»Y8ÿ8^ñ;¬±qæ¢Q‚a°Oà0 ló“?û‡&RŸèš¸°©f÷cÈŽ·‹9S7!Ó¹z3Œ"wžd+ž<&-ÅÌÚ‡üýýMþ×÷øèšè1g²=3\ÙOHþšÉÜ20' {<`‡fí¬Ä#ºÈ nÿ¾Fàƒ>HI;¤?rõ@ Ï»˜wÔ÷ßÁ–Ó±<¤ô£Í$4Á}dy+ -{‘¤…¹“ä9y#œEÄ@ÑØUÛH¿^´k6Ï–<ŠžM⩼f|8‹׿ìï¦h<¯e‹6ïöØ"jÏ9ç``³®‚F4‰> †g#ƒŒØ’Sž¤]M IâZ—u™Ä’§ºþɹ 7Zû?À£ÿÔæ³7WÚ—Úº•¨Ç¿ñ”×U© ^:4¡•_ d š0´øÅêt^š6¬¥AôтЀ¿€=F†*…Ö)79,WL:NsTääx‡ùQ‡ ›&eP)5yÄÛêl΃xÜ {mòö_q>læÑF4ôšwS<Ù>çDѼg@>ãð€8ÞœQ¸gƒué:Å-b²Îö"]%`“ö†Àx(\£mÇϾu][è ù¾,òÿþímo&¸z·6‘Ez…«ê!õÝ5yNÇ;òE@aÜ/m‹VY7Ö´»KìK4&ŽS¨ÿŒša‹ ´ä5ˆ¡¬ûÞg#”b󠤾ÐC’FªW;³íªñGb=yü…ø\ƒ‚¢Õn»Ôÿ7™<¶K®@ß§-›2‚R>r33$È*£9à‰7…„W²I#KEŸ¦`ã(n X sFN>&ÖêYð/â ¼mT;OJ­ÏZ’…˜cÀI6ü;’öŒ ƒ­a¹rzaëdÞ7ËôCÒº– ·Q‰¦6Á„,éxá^ž.uý‚SS¼e•è]?¢D†mIåöt–H ld§‡ë =Àk iúÏ#“o±÷‹´ƒ½ól¼þ'1çÞYåè’PøÍ8ìâÅeî[˜ ÿ[ì{H–¯]¿·¸ÔF„h”5ªE1rå†Çõt€#7W¥>t–×h(êMIÚÜóF˯o äßÞä;rIÝÊÝf Ï+OiM,"G×éÄÖû-g«ÌIª4I³ç¥Qø4ÏÒ¤T$ar,b¿¾’íFJÖÕÔŸE”kbïÈ9ã:JöÎ'ˆŸ6´ÂÁùceàõžm@¤I§özRé[¬ÎKxïõ&qwžÍHgäAŠäh@Ó{=$†µá6AÊüÍVä‘kÙi[ªøá£XyõÌQÕoͤqpwmØ(FÕ J=È”­ÙRgñ¢úì·¸[É,^$ °©ñ°ÕQ;å÷Jù—ˆüØwŒ["x8½–¡‚RþàÄιêãþÌâ-J.välZï*XaðV*Àçm6´óI/,÷y.îø…¿ã¥KÒê¡þ„0>ôø¡,°q0ÿeñ³f -ãÙFî,{Q¸â` ÐÌïÁR4Ñ5‘/Ï»jÊ4ŸÚŲò÷7ù_ßßäoÏqü­ °_kùåš}~M“Ö\Q­ßHœ:‡y34ÊAæ°[‰öÆø°i:eK¼Ö4«‘ïEOjuÊyûÒ8†ÎËyc©ß™³#Ên¬Ç[Üq0çQPè}a:g{¨,e$‡»÷6ÄW'Bc|ÕŒg“òÁñ;ašzLÉz2Œ’«O8!à|dôƒ‘+ÁÎÙÝøl.ÚÍ™ÊÌxD8¬šŠc+ùðõ8ªÒ–HG”2H9×㩟Q¦Bòì9¥¬}LŠ®Ÿ>à¦[E½ã–-G_ʸ±¢ˆd¾ì哱*O"I[œXq¤bµ™ª+¤ÔµÔˆ¡S øL†WpžB~ÙŽÓß ƒã b‰@Æó‡Q³ŒÁIíe4ì'ƒJr|íq cÙQ!RÿyD À‘•« aš®TšJœ¢%üIúÛxüó™nõKÚ'”×Ì$C9më`ÉŒÎ×Qôvq°^ãSñé^³eÈw²JÓóåp¼g•¶Ù ·"<&¿aÄŸÓÔo°%¬š0ž]áØNr@De!c¿‡C§ÛMû\ͦXÙ. ˆv,ÁÀ‰ón‚øèÛRÛVµe<6£–~Þø2ó9„’w„)Ú ¹µ6>Ôù,{êâ1è0+mOžÝ#è¼ÜÍäu2${äEòƲ•NÙÞr§£PýŽâÐó6䇨3™.[ ?¦/ðp\›ÍnY”U䕻УŸ³ÉåUþýmYäßÞäÛóZ«“Š­ü§–nUï~”¾¥åØýy¡™kˆ`YU8ºù­ê}㪩®Ü¦lÇSkÓ)¾ 9‹¼Á\Í6ç£+ãêݸoÒ¼&ÝÅÎÁ"ã®ã#Û¦¦YV„¤(ë6`CO0FÜ$µÈÜXþ–êW2g’ï-Ä®ñ襓É%Š^c°Ï6ÓöÊŽúÇ.h››|+œ È¢ ™»†×ö~‰ 2³GÅ ?É/‘¡ÅÿvWkV¨¬H¸Ç¬*07w kHÔÍ‘ò‡@¸@É,ÔM{¤ÀM¥]Ý'”þRÇÍÂáŽâlžyåÊp:ñÎ6jœMmãÝc{&ŒÅC°ÑÄ«òeF.“݃ÏüyJc”ñmÖÌ_øÇsDÆ›$ ¨¾5Ždâ¡Ú'LÈ>/£&…c1Üeü}y“¿¿?þû7[p Ýbš}µ„ǨŽ1à (VµŠ.ÚÞküÐw‚^¥OsYÙ»qÚA†B*YSI09t·)\Å—a5@¶–I™m_GÅÝä¨!\QÖ ËÀ‡+R]‹ Y ¯çÝŽwDç;^†Œl>N‚8"t8i¯ußQ?^¾rç †ÑfÙ’1,õá𢼘ïÚÞØ™dN*—-ÿ½`d¼ÏB`θ\w±uùSäÑÐüùÍ÷Ò¾»aí0|¡ZC©¯Æò¾””,C)Ý m^gÜàõiyÅØ¾tžª&÷@A A„ô"Þ=ÕY çö%… Hœ¦ðüéÀëÛ;æ ÿQ:Ž\"ÚË¡~¥ 7x sš9ª33Ç^lŸóïïoòý òÝûB éÁH#ËmQkB5‚y£åÖŽà[X¬y@ðdÿ5 ³Ùx´"'P)YDwxÓ,i°Ûqó@ªVÀ¦HßË 06¶Ò©øª3ɳé—#ƒÏ9M/=é÷-ªµX܇šÕŽ‚—Ù@ñ•ÇÉçx׎Z/J؃FµˆTÓŒ£ÁfØvÞÚa^zö@‰ ðÑ÷l¬ƒ|F<Éû€ððqv©=k<à +d!˜§ þÁ§È•ùèû‡9"¡KøÙà€ºÉ®MHqöžãÁla$žÉ×vq%j•†à³@ÄXE‡ Cx]³¢¯Lã¶o¥žê,õuöIºƒË6òABñ]k-ã‹&Ù9qlÞ‰¦ou™õv¶¡’ÇsAÞ‘|{“÷§g»rð†&£™|²o;’| ‘ƒaØ~|¦Ÿ²njcì¥TéÕñóè\aÓõh«À¥_ 4uM[G—ð3Lú*}óK-ó õ ÐoÚHx~c&³²-¯8òÃCÙ!¢ÜÀĶѰÇÛØ¯j[¯¨œO7SLãÙ»Ìâ4z‡ áu Q¯ÚR%µn¼.Ò^²ÀÍ*?;Ú§Qzí>_ Kâu/‡‰wù©U?ÒãÛ¨†ãª¶Ö¿ƒ‡¯æ–F†áöˆâ'9Y•Κ¯|­aCf[ § ã&\˜^ª ?>Îìdv­í Ù>h©ZdI*Æê@|éªÑØÑ™®ªÊÕ_œ‡µ¤z  'ló­Ù¹cî »?º¯„¡Â¡À„mSËhþm4Gõô`}.Ë£™à÷§”ÕJ˜\$qYe++MÆK°Yvp€ Ypõê;C­ð•nºeÉïÕ8×6E‰Ì—qZäÝúB61«}_:ÄV”:dÀ‡½­§*zÌÁc zIJœ6çÙY†ÕùdäcTæa&öhu4½½¼ºë”Ÿ¤nóKXÀ¤4Ïo½#;1'ÞFúª½ÃúzàQùl% g¦¾®ÌèlzVåGîÎÜëù?n¹ôµZžÑúƒ”ŸÈ¡è{h`‚‡g™%nÛwa³…¤×™ý¯˜qÝ 0X¾Æóœ.A}„pÄR—+êfpù½F·'èŽbÎæŽ*oüx ìlÌ"¢§Imyðц%•9­ó¿A” ¿«0´ÕÉŽçód‘n·'¿g(0ýY—ØdD–tb t«¿-}Î.çøYÀ&2J!Òg¡ôØlC‡Ì‰S7Yi Á)ÄæT]Ê®nµí+Æ}_éë]Y*kª•,ŒRrô5·´ ov…ÏYžƒÓ½«=o¯u¬KâfΗS†WÆætÛÅ‚6ÏÖÁyC·Oƒ~”Ù›ë3ž磌Òóßf¦lSʳüa=Œë…LÛt}æ…G9 4Ü慎â~Hþ­Èü·ê i[¼§î¤Ã˜šEG¥|TªŒð‹IHþP4pæ¿é,¡q1zÊ/Òª3²Æfµ׃n±£×ίUÊ—MÔ­°Ã_Kèÿ{C34ùøú“Ç_FT:Ú\zÝÀ#.RPw­ò!p¢¥„mzPëàÝΠó4K•4 IÍÙÒept¥Ž)j§Ó*Q˜„|п½/ò·òMÕy bÑðH/òtÐ8±HNl´ïLó=ö×DŽ)½Œ³Ût©E4;Ï«)i#G‘ágq6FŒD¥í:÷AÃò‡˜U™ÑkojóŠ$ Ï~Q ½·iÐѬª‰ñ€Èé”êäyùrkõe`ýŒ\bé5˜M÷Æ=Ül?Œð®UðejbÂæm ‹xwÔch®¨~•rx£[™’Ùº>Ò­~!8²ï·:mX^ªÞs‰ßN®1ë2¤°ø9»<:0iàF4ýž쵦éJw錇F; :]¢)”›gÏš‹a%¯˜r¤ðæ&pø¦ÓuF!Ú‰S}dGàƒI¤møüûœôÉCòB¸>2°q&=-ís‚£¶õ8czð=W‘«È¿ð¨õÀÄš]¼P‚°»þ aÙ9V¶Í‚$¤5^Ÿ˜«U?ô”ƒãP?ݘÒé¿,7°eB»œpFÙød=ãÑ¡Q Ê :B² ¾Ã{öÍk{x¢uHÛ«]Ý„v«7ëÒHym“;:‘hÈÞï+ç(NôÞèÑ-ú­­D‡¸™T4ô@[XÍýŸs 9¤õº¨=þùým‘ÿçÛ"ß•¼,­x )îû’Ê1ïifèñu–¢)ˆ†† y쎕-Xévž+%Í}oé‚v4Rù?ºžÇux3ËÁQÄ„Mñ¨ö±Ä$’´\f Œýìœò½Èå¦ê†œÃΪ^%‹d cÛÄPöëS¨>ÿ*8säUB/÷eÉ ¹å¿ñ°“EßM¹bb:{k <İD¤ÛÏoA-NHYÁ´¾¬F~®VÁd{ƒH´5”ÖÏÆÿçJù—ˆü5º®]Â|±˜~1‡2¢'#J¶ÌÈ—y ?@rXT J¾_q<ªÎφr`¹Ë”uyÓ{G¨£Þàˆ0ñ¡è¢»Fm÷0Àâ(=Š?ÚhMCÂþ à.¡óø²mpf5 ÐÇÙ’•'_™ü(Q{ÊÃ#åê€`~jšNPi‹Ô©,–ßµ¢Ìõ5Ë¿T¯º±´c+½4êô1'sb_ßh;›‹87ÕÉMvçÄk’Æ ˆˆ¼/¿½/¼V´)-ž”è±Ù‚~¿¦ÞoSzüù°m_Ÿ~OÑy—UÛ’U;ýˆË]Ìp¬Œ}¢F½Ë9Ø[°À\‡ÞY «qc'††X©$‘7¶’ÑUÅIíÌkZ"³ÚÕýíjôàXEd zhTØçr‹j´Íoö÷¿øÐgI宪5œc§ïLÏVÝÈt;·ŸikØqäÈûcÆqmñ¤ó^!|G@¹Ñ&‘ö߇÷`>¦3νó ˜ñ†Ùó˜jÂóuƒÖšt+­x…˜^W‘?äQd‰»è¶[}Vä õ°´!¶¡.xyÂh!zJÿ-éO4X~á#ÚCÓ¬\ª‰…±t)ð>>Mi#Ô9ôO§ N²—M ÃêŠáßjB6v¦`&jÀ«£èŒJ’Ũxݯ²è¥Ÿ¡Â}í6@{g'•3ª Mµ&aœÖÀˆ!Qô‘ —Cê•üAÈ~ÀíÐJåz3Á¸Aç´§äðL‰xÒÕŸæÄùûÛ›|_ú~!ïöº)sÙ5•ó€]D¡urÑÈñ‚‡„-Gö¤Šî{Ÿ{퉧¹à¥ÚXÙ൙oôà=È´›v8åçzçfÅUt€ýù ¯0fo¦J$`Ò§Ðö¡øŠ`zLÖÂ)Ö¦E¦›_xÜ>f4$«}êë®Üm¯@×5)†Ù÷Oû—6¥³`â^w_"§ ­«¾]w½üö”Û2ɦ"MpzéCHþy–—GæŽuÀÃ9«¼¾R«Èyü?U¸åhÏ~ÓIñàïÔ…´âçÚ~¶z²jè,/Lè6&ú"R¼£n”¶ô44q¥¾Jײ)0B ¬°M²¤ï´Ë&*B¥¡ß:Ò¡Ò‹‘¡åŒ’-G23Û£¹ ³rÂ@·™ZcÈ5’Ø£*[ÞúFâõª†¦0}íN\n_„À8ZÜ¢w*j*Œf{å94¼¾·[iÖ=u d/ÌÎöÊ6×øöùû‚£fCb1ÍF­ÒËëºî©•ÖÑRRV¥ý¶ÇXÉ&B»?Ù)™,²NÑÚR½"e¥uÅ3œ(IÚ‰~1³·ºÔˆŽëEµÏM×6qw°Ã¨HK[÷ç5~ÄÙûV#ô½ä²µÄÙ:ÉÂ9¾€*7o!Z'9ê]E'º‚É»n.3£æÕMÚg¥ñŸÎyìãYÔ¯î–6z0U[^\]6:@úÞÑúþ¹RþÈoé’vÚÃMüÚqéü|>U°Ð×t†ß‘Gvì{йQ«dEÆ?ˆdàƒMÌÁ‰@@ÇE”»ÝÅE¥ÙI -q²u挬¬IÞ]õÉé`g¦®üyð‘™” ˜ˆO/ö1¢ðúP)mlT€hÄ•˜›#Ú$;øPãHÄÙÅLØÁޱ-û¼ãúzV$u]ªõwÔ›ã7ãôÛÑjE`8jhDÌ\¦‹-­xv+m ‚ò·E¾¡ô†¿0¦8!½pÅ!ÓÝ´0Aç˜ÓYÚòýJe›#L"I£k¾¡ìÚ³Ák@ߨ\öã &ÚY²À¾Ž$ 0tK`â?ÞÆ¹ èä«>üv0!nËÎnüã0-YSTÑx_·Eõ˜,ûÿÂ{N3¢ÑØw1Ps3»žóMAI-rp|tN²i ¢Í¯JïG’¦äÕ\E”k”ùu¥Ç(œ[€ô=¼çÿýL·ú­zjÑD;bĤ†}ÀYlšÍ§Œ†:ÜèD6h=y¯)¡‡dkwÙ×âéZmUb—íwŒ9uõjÐݺ·>!¦o¿±°— ¶Å–h~çË&ú•8Û@ ÿ™M¶Í_G° §>/Mwã ’õåYeî°€Z·“`KPwÂôž‰‰òÉ âÉþfî¬7EÆ0ð¤hÇܳ ´ ¾º Ãþ¾t$}+9T‘…- òýýMþçû"ß%êdÁÚE‘CÙÊE‡ažh±Gtf#!¬Á‡_FÉÝ®Þ{H«v%Ò7‹§ØRod`ÎûŠÏ(ËÚÍk¾ª.}–ÚÙøx3ôþ0 3ª{ɳ3›£°èân<É~¼ðâ^¯h5`r𣆂M9ï?Î=¤íý2\<¯£AIeû‡E1 \Ö½®8„MCr·Õ‹ŸÝ'H"af¢~#YÁüÙå†ä7Âçö=)òïß"ó_ |èô¬Lr{iÿ^¹or¼hÔ¢ ÅiF ¿øÖBiѧÉs1ôÁEéSm0ÔÓé˜t2ºìTŸÞ{¡×qš?ðÆÆ ã![,~›aö4"Ú¤<­Ëæsˉ|à!÷XÉàÖü3<(Ñ$ÄЕP³ æØT ÷tG‹±þ¾ÊQ´ªb˜w6N]T´Æ¿ Ãè¬)B 24m<Œ¶w Ø%4Â@ÑÄÑ ˜\8Z¢ým«ä}üo‹ücYžµÛðTñÀ¯ ÈÄ9°ÜÄîܯöóoÜÖ<å…ˆÇ*´óOø;³WyjSwE´$/óV:úó´Àc g¶ÌŒÒ;þÊúbvÀª•é5³-[!vxôœ•®„‘Š ‡1*~¿C“Ã8·zFëé¬öÐ ׋Ìû†Y~[7`/òX~˜ÆÃ¬Ó(`;ÿüUޝc[€hQl@èñîY4ùÎiØô¬v „¾ÞŽ¢âfó×CÝêÇ‚ÎW¡÷ïvüÑ‚xÛ¸vûyoP‹ŠaÔ2 UI :…·«œ=ÝltGF@«Úh/”j@©„ÐÐç¾Ò¼N‘gÛøCu¶ ôÝvÄä‰Y)mBÏ·GÊ:ü´Åû}=@û]˜lm4mU ¨IcQ…xh#E"Ò\c‹,±iæh£Mñ[§‚a¡|©bôJ*D©)¤ZiÁU ²TZ…®¢-T%† Œü‡þÛÛ"ßÕ9›µ÷Žºxƒƒ3°«Flץݦ„æs¤V‰L`´ÿºW•Í±Äø‰›k³2v1ôúÞ@ÚúQS] ¨åĆÌd8\£ ¶zúf8ž;}fÎá xË;ÒNüd –3pâÿ™F…<÷Œ™t÷Q`==óç³ÝåðÏŽ¶-pDÚC*Oa™!V›²îUêZ`✶÷s$¥,ð(1eTç’š3ÏgÒL–K€K2U÷ºi‹ËÙO×½y£Îõó¬E|Õ/#ÆÔõ8KÏÏ8‘01Ë#•I'hú{L?wœBÁ„uïË9ÁŽZm’Å­ÏÁZ¾|$Ñ0êÜ4j£gwÓ=ͼÇ×é;}'X›ˆtMŽšÇM/p«1Ý5úÐOÈ–ŸéðW~6ú!®YÂmòq´[ÓÖöÖD)ΘO –9(šÙ¢³d^|lQ/›¢æ¶s0ïó“Yݵʼœ±'L66U H7*Ä3cÀ®R­ŸäE‡ Ó‡ÖT–­éP³ÐTóÐ18Ïêlbod˨¹J? èÐäÔ³]£™ Ìåf…>_%£«ÁAÛ•~¢ÉL‚ªËyZ4­´Õõ¿QºÑß/¤“¤ÃT8ì¿@©8螬k§¢¤6º^ä–AjÉ_æ‰û²,¿-‹|[:ÙÕÃÖ‚R8[‘þuŸáÁX±ùÇö~Œ×*^dB÷:i{ ènFLŽÕ U#d‚3õWŽì÷Öx·Ë×Fzä±åš]@ö¼åsÂçW¥Y§‹'>Ã9ë¨eVyTÚ“³LkÔÂyí†J 7xýŠNΩ{öBØ-Ò¡ÜÐ'‹Ó„V;ûÄÁs û){1 ÍœVžŸõËV2¦Æ †˜k/Çײ`ä7Eþ$:Ñ:¬Ø ü쿇yW£µVal¯°º_„žWFÕêTÒËáX6tR-Ät{4 1ÙŠ ðñ\]Ûæ>µ'Nç/&ÎòeˆéEôì£í®Â4ÿŠ™þaë›ÂöéØ²ÙœHÉ ‘6$¤äí¾Pt¤ª71$V…,8s.—sÆhµ_äo€¼°D?—Yߘƃ`LŠSÒ¥T‡7M&]ªÍ`¯¬„éhš¶÷_¥V[1DâGy°·è¬¡•‘‡r=McZ­OúQžÆtHëÄT:¦O3ä ²ú8‘ê>à°‚ƒ25ÿ(Ûµ©v•VŠ_W¶0LKºZ|˜™Ûˆpµ )~\Æ6!ç<[Ÿ—MÓ— »px³Ú=„CØœ$äÕn$]çïÚ®3cÖ€û<£¹&Eþä*?°ÈT Nøñ™ãì©`Ž8Tˆ7\ã 9YehmõíÑÉêxõM›ök`x§ ŒVšf¤­ÜÎÌ£pÑp³š­bWB‹ž¹0M-޳©µ°ÒD‡øŠô¯îÅ/°?.- uÂ0„+˜Ù4ßeyt2_+jUETMÉõ6lwX:Î+Šc‰Dò@G=Ò¬LÖ›9ú޽€Ÿr¾ÞýÇ]1fwÆ8ÝF„{99 }´-Ð×®»Ž€@É?Šaºç(×)sj ¶$ÊQÏ"š½SU…c `¸RPrøu‰W>ZX3¢ËØÀ•éÚç4wG$}cÚHÝ g9ESN›õÉ”«;ºvÀ£tUñì+ Ð{îÑß'Øyu+<åsÐ4ßpS­?7)òC(?B,s/ÁÄšaË\G@^-Ý÷êk| “Ur¦ºÄDç)RJï0 &0Ò3VK¨§)±k¥©Õ—ÌcTý$Í÷ÊT^D÷ؼã4/¯µƒqø¼ž’gõÔéxJþp^Šæº)„gO˜üçÛÛ"ßö¨G› l²ËÁ*õ Ƚ3žÖ­Aèh÷}&6!£uHHÛí©ãƒlSU̽ek!>Âsù•Ëm”Â0\î8\0ö—&ü޹LØ„Àë½ôY6R‚AªÉRáòXöŸÏ=Ÿû‹í]XW^~Ý[› 9Uäí:Ò­,>•L¼m¿7ðY#>w1FÚµö…Xv¸¯ö´pûÏ©cYó˜Q…1Ûñ;çN)ìu)~6Å΀T"?…ò§HH"òãxq‚Õ[¾Ë¦mF­Ö†¦<ŠÄ›€C!÷†c!3Ì »n%5EKGd§Z¦¿ËŽpÖ²§O9þ5¨É´FÆ·MWkz>Nˆ.ˆptQ˜Ê¿ˆŸŽâzJUáUFk¦ÿYùþ¶Èû³›ž:"¾pÀȤ/n²F^xKdˆCÄóÑýÚ*º»ã!}»`K/Â1áqšk¥*¤¬Ð1k¨‡3gÔš8éUBÈ[A]-×ì>r<ïˆúÑKQMdÐãl3*ôÑQ:&‹öÐ? ØîE˜5BÕþôúÜäc®=Z\Ü]îžA„ðˆ„ÀKµÊ$uà ¶)‡4aÙá¾£¡œ=%DYªogóÙ^ÀWz#Çÿ ŠÄ ¾îoŠü)AÇò þ @^ÎÜõÇàZöÞü!qe[eœQ{­ HÉÛåT]¦;@ˆ?&­&˜á•¢f2IÂÕßÐ5 ÅúÙ‘â4EúµúÈ™( ¼ÁQùq´Yëo ä»J­± ¥Ž¶=ì䪦|Ivp¦÷á³³¸¸YVÂØkö·<{¬ìZ¬?DžÎ΢%e÷)q<ù™z–+k)òÏWgÜÂÔ!;~³{+Íh"X‰ZäИá¢(¦d†JOŽþhK‚R+­ ³¦â ”ÛšÏ:æ!~gOEÿœ‹À ÷±y€!p˜<|Ù·úÒN:*ž¿WüBÄ©W%$7œüp?ñ ÓûBN¤ÌÝ:r§‹ÊéV<RþM‘_Àõù€¬Šÿ¢ñ¬Î #3ÍhSdý-88ðGÝb̶ęÎËÛ8Rº©hmÐüŠc6RݱÉ[ÇžêH{6“ðþüúa5›_àkíÅ«Ã×»9âáŽÏ|ƒüsÒv —`Œµò ÌêÜ~·È#Ú1J mƒ¼üÍùmº¦·]ÎéŸÀêHÓ°Žú±ˆ(N7tìÂSs*”æPæ £4¨¶ ý»Ñk¯Î¾Ñ}Ŝщ^ÌxÆ ÁÛ¿”¸mý„ ­D%Ξókáþž¸&†j(Pìb{l{‰QËaEs¾pL •[Þ$Á6×S¯u/:Híìi@n Œ9„],õ>¤}GrœÁù‘›¶‡g¸ê³ŒÞc|tãYã±ðÑ,ÄŽÃ>:˜ÿ˜|‡ÏöýŸMÛÿº?Õ g&ÃlÈÍKŒÚ»Lj}ÎÔmžsÙjóÈܙÙeÉ[–r¬º‚ð·½Ã^©Îœ“l´·Ÿž„6Šà=ï9õ¤_`ÓŽú/œÙ/9A¾µÿ¾ò÷÷E¾«Îá^c³Å„Ùs¾=çÜMò²¹ËèÛ踮ó“§Švlß[µ3 i"^í À szуä&Üí[Q¬=bë;¦ÿïÙg·áüB³4̪œ¤æyÆ{°^Éȉv‰ŒÑ¼·ÊW©×•IqéyËjGÎÆ¿sýâ)štª±Þ*êržpwKŸÒ6åÙuÝZµ„"󆃜(t×6t÷=jØ©FWˆ­š¸©þ|Îg£pÀÆùZlÐ#|Çæ^ÁtýZ)ÿ‘?’FÒƒ_ä/öƒ‡1ÊäÙÑY7«P N«`#s'pÜî— º{¿0<”|qŸzÆ,†äÓ±Ö!ª¬¼kä>„ðÜäÕ×Áœ ýö¶Èßß•Uz¦Û¨IÚØ™¡YT½TÅ+æþî2a©¢8>ß9èÏY¥íb.D“&µ :•“6VãƒÆ¹—¾õTf¦cêfüwd Ž'W\Öoˤ\yë€UD¡+ç诳¶çªÊZ3$÷µÎ9/[i7jbÀ«ãmˆ†n È®‚`¥+«DeyT}Ûž ÕêÔôï‹“&¿<@GWuªq¸p HÞ?É›Wðž£ÎvB8“ãÁÌN¥PÃ" ‘o_%ŽèoŠü‹"ÿä· å†r¦¥Ç+=Š¿d HT. Ÿ|ê &&ÞT1Ý ‡x/¤æ¸¡“$,TvX°v¦®æ‰Z!^}l`o–f«B*/Ó·¼óItpoTþoç(JYàÙð"Zãz‚Ý`Ïè}Â#­ ^˜îÿ<®éV%IÓð ]ã¯ö÷f`8$xèløÆç0[•ºÔêt5Ï¢T¡ªE ÕÑ®Ô5ÛæÊÑ^½áÐh¡*b§™R êb;u.=WªÐÛ3š¤ã¼šÚDfƒ¦¬(ý“õš“ Û1Úê¥Zdɵã¼,"4 ~78ë$³{8z=UØ‚e=O{Y´qµQ]g?†}cAD-Ûá<£UÖë~ˆ¼ÿÕj@ªNRªúý©qJJa1 Ú‘Ú ŽÔ½ÿÝwÁh–@î!÷9§#À¥AÈÑ ®aðë9âóe%ÑqÉ4„>_fuíy×òÞ}…WßF1WŽ¥ñz9wƒNxô&…Çèmñ(x(ò'E~ÝbÈü‡Úóý€Üî°F‡†`àHQÜf/L|qÝY/Šq|¯HHð 0Qnagu‡aмp^íx÷ci» ³è,sj]Å%47í“óQs2IÉÛí†}ʼn}7ÍX¦³ÉýÆõƒýö”×]àu /6S9»Ý:4½;YУ]Gtª8´hj,7œíIGéV£59j,7$6¢üí4ï‘Üæg¥Ôå=›Š~èH3 A]I+Ël:OlSdÔe³†p^vcsBi¢J‡8šÿÖðèFGÅC µ¤†ƒµÍ™ŸNÓ§Zašà‰´Ž¶ÏhœM2~.³flw¹Î¨ì“Î/÷|r |ȹ{† Sãq¦Ï€õI½²ºwžŒBï– M  îÊACÂu}aÛˆzÝÊÈí¨>s Üõj¥FHfš>d݃ÉSNtÊO#2†”h1^À]^Ê]<ˆÿ¼UÖpã§èéª_t˜3ðÀˆqœP²9IW:ŒÎÌŠNéÕ½JðV€ýûÛ"ß—Çd¬NÓ¿%rú"të<ƒÇîèQ¹æ¤U…¥}/lRãÖÖ‘u¦›.ê6,8d§çnä-3ñ“Ü"²¶gu#B]À ÆÎ£Â‡ðÊš’k°S9ðG{km±ÉÓî‚þ…ñ¸0êÞN‚µÇàP@j9MðPÆÑên‹Sº"é¶@Ë7Ì#Rüæ÷¨÷—ö=óºÆ3„UFL„?r Ìú\¢Ë öÌ‹!‰Ò=î^^ýÖBjÒÔ¿Í6Êæ çõHЇ`¡p 7E‹Á„¹:ä‡Õz)„ão†Û»½¤:H×ãÒ9FA7ïÍïô"¡Õ=–=‘¨$'ÒO¶†C$dÆFðž°õt×I®,q¤PXÝ7FcÐ]1°£"ƨG U‹õì¨3vÌí‡èÌpµ¡|Z“€ž`²&=EÎ !‰¤.“¶«òSŽÓ̤ÏGMÒþäÙγ„§CZÑW°;;.£¾‘)øÂžKÇ–ýZ)? ²8Gô„§˜ðj_ |ü¥H¥b´þ-p –yŒ®áI;ftbö¥[<€À!Öp˜ÎÔüVâÔ“Žíuþä:¬áô7| Á¡ÏÙ«LÃÒ\êT3Ì—Å–NRH%B‚Ä0p"gudo—Caç¹ÎEci]]Ä«¢b^z^¤ÏÜ|ç:ölÞúÃÉ~:7ŠÎ÷­Â‘ôE—"yŽýD¾Cä](zu: L\Ð*7Xpu>šÊœé5ݽ>O_d$ÓO+pY1* ߈Á‰m{ˆ,AÊ?Ô^òøLôl¶Öᮚ¥*¨éí‹ôê]Sû‹Éz½‹ 2óݬöªWÇAy¯=ƒ›­PO¯¶UVån“Ä·=9xÑ•³Rû_"ñÁ8¶Ç³Ý¿g—ÝÛá¹8ºQ¢ºžMEàQ}Ç¥ñ=УL>ƒT³ßùc¥ü^0s7ëpzîðä6û/‘{6Õicgå !ã†"2Ϻ¾@9)&'‘çÌéŽ<ÊY†%óö# Å×Ì-\5M«Íkã8wÑŽÇÅ^çebb(N4ZÖ’Ø¿; -C 'Bˆg=ÔÈ;žòºh%_S£zUÊ‘ãaý-º$ î ­³lñ¶ÀOƒÈŸ=HØ*øûn»t¿ ZV(O< $vP9"3£´£î±>‘슶ÕÈ„ucE<üÒtðB;QÀÇj¡fæÈûžCœ6ÐQ‚Ñ`Ä!D¯¿ÌY7ÎHKcdŸoŠ€Tß±¯lšøiÙÛbû•ÎÑÇ}Àã°a&Ù 8_:ÏÒtnº—ÿ¹rïå‘’¸Ùïµ_yÂ~‰ü·ý¥öô éPg"£ðŒþ·Íïk È]p`è³â…ŒÞ¦Œ[eŠŒ[ð^ª\­'ø˜ÕáŽmGÜ íܽ˜Q3*ækÔëá”ã0B çν;ŠöELM†ãå :ðÕ}_ž…挷mþžK+dðÜGÑæ¶£wR¬âÃzrìØñNwd&Ü·]$ }!ÃVe»ƒÈÜtz¤U¬ ¸¸ð$Á£1uǯҹV¤ »ô9/§‰•=ÊWnmy-ôÇ*O™Ä‚†† çÈO°Oé¥B¢¢÷ÞbüuÞ9s.¸jîw¥åö #&½iLßVG9bà¡I €ÇÏ" bÀ”ä#?Sîƒÿ“6Œ³Öª +­ÏG]Û¤EêŒd&ÓŠøÎs¥ýq’k™‚ŽhÃ;r–ñW¾s'ªr¾”êµuZ$c3Œ›&g±G8‚ä…©W¶ÅñmSè›Úm£òûÛ VÓªZUâx¨³ 3vlVÙb¾}%çý?¢aÅï.Oæ¤I(ëjÈ]J´UÚ©7“·å•„) {ßïŒzô¯“%™Î¯’°,Æ‚›/T¥rä¡]q$Fó&ù:¨tm—>MÇô9@Ð¾/Ø;•»”àuÃ=¢ÛÇ›:”¼…SDŽ„’õBåêßHÍ\ˆßÉœÕN›°öwYD*}‰HÅ+œŸ©ý¡²*3üªñ3×¹Íe†~/Ó:wxK¶'ŽõÍ̹‡€Žôâ §0Ò¾èpÆï2];¾éNÀÔñ-vÅyßA:Snj<hY£\ñhÏ>‰õ~+U_µãÂÏû_õ¸|hdŽôHŽs&Â`Ý.âÓ°‰0) iWnfðP¼Æx„2axÙ¼Æéñ’ÚÍìP9W´1QD+ʳ¾«˜¿’R—uÑTë’ƒ%tªã3.*öÓÙ_ ßy›Ú‰ŒmBq?S”z ¼T%öù7ó£[Ñ\ö×=-­ë5?4ã¿r€YOÆÎúM4oÇg·l +Ðí‚ÂüzøƒE¿œÒ#2N±:ëÁó…ƒpò63‡Ñ@v‘¶I¥TQ’q³ãù Õ$ˆ-áDp£.ëäÏ’’rkÔcÈDež~AϽ’dR"•ÌúxÚæµÑyæ)›6ÀÃäÛu=¨¢5ô»L1êÊþƒj@²>S ‚ÓtlEk§Zð÷n=6÷-V1£(F@C$gÕ³ªåÝ›•ÛÓ²*yƒY­Á3]|%£jEëU"v%¹$ûZyd쀵CDÞyZ÷5 A­:n BÔ×ûÎw9Q# ÷)t„ÜÎxðQR)`û‹ta@¤T€‡62¿¸]½çh|$öתôÑd@\/{ºÏ¸ |(æ¿sìZ¤;æEðe‚Ï‘àÖW©Q@ÎSÚ³]ù”?V‘_&Øš®”uDØÒüûHܯd0þãŠÐqff†:R'¡{Ž?‡ÁáßîÌ~/2÷£šA&Äèw•Ö¯™_ÿòGµÈ9_þDmú^ dqNiFŸ|L[<ªAŸ©ŸÚÂíô‘!ß‘7ïQ±ØÃ Øü´¬#Ô*ÙX|ó³vkÞ)øÈ­F5n@Û‰u°– …€éÄZýhLìá_ËS>+©ÛýÞSåÊ´ŽåÄÍ> $Üi‚¬£ÕyÁŠç Eí³Ñ Û÷úÜÈ„JèšœÒÑöû¤$Q»ÝbÿZ¯‹·ÐnVBŽÈxP±='Kgà£ZϽÿïÓ¶C Hô®¤Åm?V>‡?°ˆ }Jâɉº >>/·ë?€œ<׈ IDATö}«Nâ™ÆNƬ!Z¶:óTŠ5!œð³£p`˜†Æ–F²ÙnËgfÈû\©M˜ÙíV.Rèøa§’þo§J×ÀL§µÎ°ËηÂä”BŸм-¨Ç"ãž–6sª ÐE@JÏÿÓþùùa½å¼,§á”[¼‘S¤KVЃ)/*qKOPg|Óâ^ÚFSÇ!Ç Á‰¨o‘“ý#v»$Y>jþög€×¦Î™j½˜4Ø6þ Ö>ÇÁÞÚ¸l…Ù'¢â¤kŠÓƒ‰syÒ´/êùa¢¹¸¡S–íŠ:¨¢Ñ`½Rï‘™¡¾¸ü!ePcÖ躭ƣ¨oƒ¬Œ7ä`~1e?ˆ÷ù §Î¾®U.jõaþƒNuç0ÉB¦VVý„c;í° V×Pa¾Qô±qH•²á~úÒØ³®É`h‹-[Jk§%ö28yÏ$¥h;ô–Á êž¿f)¿/[ÊU½‘’è­eÑl¨4¦m•´·öaÐû¶³}õYL[bïÜX& ÔÔªaÀãÜ- ¦»ö:k5­_§¦HÞñ8ñsŒ2S!~ÎÌô˜Õ>¸ŠŸ5;ÄÅå2] â…+0þœh¼× »bZÛ¹DóïgM¶«Ãd]MçEõO¹(»NU—£ÇyaÔâŒóU *\ðZ&c´œÐö-odóíÒ£ö9H{˜>Raܪ¾ÑgW™QŠ—òös„Lz¸pª;m+’—èãΧßÜè+ͳý ËæøžU„ê©wf|gîŸÓ%¹ôð¼qÑÖÛc)8ýÕÕðp¶\—cRAtgô£›º38[ìy jÉl2òõó>ŸKp{®qÚ²‚œ5?M#œ"à9àmŽ¤Â ç4pУ†™Ùš·Ž¡Wó¤SgÉtµžÂ5„å,:g}›Ù³ÈXKål¯ÎPøÈQkë6¥‡Ã­ys:"yfä®qÒÕì«Vüʬ¢K³:ÇðQÊíZ¹K‚T×Ê"ÌÎ #JXU%‹’Rà@ЛYŒRb2o@O€¬"òçoö5ƒóžbæí$PFé»3mêïýY®{-¯ôT9¹á.< >¿TéVå= †Ÿ=‡w^Ïö;¨èž™‹] ø¡‹æò+àiÞžÌÄÛ3Ê Ôð7„òÈ÷|Œ3£þ\QJ—¶ÕT_Ú²W9þ™¡vttÂöYÝw8þm•¤À\úBY¨g¯Ô–£²Ü“ ]˰ýÓÔÛ79à,,5÷s£‰†d,e&Hvz àÌ®4}g,ˆ‰8l=ãûé1×WFæå  ÌÀȉöÆ.ªŸðJá½ð ï ‚gû‰s¸Ý1ª§C’Dçøœ<çQ׸ìÛ¤V/;/-¶ÑØO¯ü…ý<àAq¿\/—)ØCÅ;°…ˆqœgøðú>mïús¥ü{¥ü‹ÏóâËâ%‡?¦WDR¡kŽËää'?ïc„…‹¿B…e-ÆãÄY> A¢ö¥÷9‹^™¿ ']èÌþúŸ3:ÕqòbØ™Ò¦íª”«|Bážä+†½’_ž<“^U pÔ8£ää(=o‹4ÀÝêð~•¸9p—õŒØÒ #w'"$ú^Ò§ÐÌDãÝWâMyñÖ)±„Ñ8”­Fão„IpcY%0›síÚF< µ#.ð åGÀãÊ,| ø(êßÅßÅö}À³Éðx=ˆÜ>#‘+›¶ëõÚÐmMG¯ìiƒV^| ¿zý…g}Èg¦öMzÆ‘'=¯UX•€Íu‘¼,õ–zÕð¼“ÅX¥tГ£¯WüÛ"{¡y>ü›në}sðy0ò:jøiT«UVK‚f¬´`†ƒÁYi‹z½"û£Æ¤Ý·ºhÖs1ªw¥ÆxÈÁ‡v"Öà¹DôøŽ‚稢Ðo“}©JS_"AºRð¾ë¤ua¶ìÌNŸ3 à*à£yî ~¦öwôÙa½°7GëfW Q9®äÔwè0@lj)lzûÏè>«èãbÐ×7”Œ¾©‘|ï®&ãÖu‰DÉYáɇˆe˜ýè2Fî&ÚŽå0äú\ÃÄØQD~òs8ç¤ÆnÍ3“™UàêÍ6Ôù –ôÉ.Óh¦9Õéˆ=[ñL½F¡ã·È¸+—ÞA¬¾§N°¦¿X|VO¦VdPQwè…ÂÒ£¡Ç£u7½|ýÑ—-«!¿µO—‡²m¥æFnÖsÝÃg•9e·îÝãêg‘÷g“ŸETGf‰å~&ßz‘oFåŠfI7¶P(‹nè(gí)DlÓs¼‹ý¹P“îÜ›N%ÆçéͯxÔ–ÜÕ†SØEsLü<¸c²<ÌhåŽÙ³˜ëzýB“›¬+º (Z!,eNþðÁ€ÂæÚ;ÕÌ{· Úú 4BâŽÂ])qÇìI¢+iàhÄ‘WpÀé±!a¿ª§¨ö9‚7‰Wd›Rú:ð±ß‹yz㜿©™`ÐI“ Žzˆ®ã8þo/óPÿ_'Áüc¥üßUäOÁ|PçÀz…JÂ`Ô  ÈÏ)‹¯žYdŠÛgïWž{ ÒyÞ v!¿!§ÎÒn¨GgÕF}.ô©ÀÍèô€˜Áý¢Ióh³Æ0H‚ñvš×Áy+Yž¨êtk˜G.гÔùäðº#%¸ÎiiþÁXG1hßÕ` ”ÜÜàc”–ä Q JªrÊŒcÅp‡A?MÊÕ ìüØ>Äñ*t~Üèàø†d$è¤SõqõÝÊbÕ“nSÏä9˜‡3"Jy¬Ž²=ð6êQäÖôß~‹Èÿ·RþEÈO@ôM[4JÒºí†äÅs Û„MDEjôŸ*‚F'¼¸Í)ªq´‘x"^xyƼ =˜µóCÅX8Dÿâ£Ǻ³ØÎ¨¹‘Óö;ÜŽAÇs†Ñ&¯;¤¼„t{²,oZÔkZš»ébÖ1„¡ØO®ž[°¢x×…Éÿ@ðÜ",D…KÄå™7³¼ÈmÙýPŒ:TˆÂ67ýò%\o‘§kúF†¡ï¬õ8Œ<û "Xž¾lKP•EFùEƒ›£ÔG= ßȽ+¨ly°såÞÖò¡È¤b›8jHˈ¢3 vÅùÍ–«KvÑ9OQ€™|k:,¹õXT'ó-U”¡˜ËgΕ©e¯9™qäòæsOÏWz3”{ZÈU̲ÓWLß­kæixëÇÜ >*Ÿ`"@ÃÃg‹Q¢O5Ò>“ŠLCŒÍËVå Qø¤ûoñYÑ[Azá‹t2ÎD=TB˜û³öÐ@ƒÖÛ¦v;ç̾?å!¥û¯u}Héºò”ð#Þûí½G¾ÐÓ´Ê[cl‘›'áêS÷Pö]'9üÆ•³ï¬+bsép¨'J;p~Ï{O× ï {QåäA§ôštº[•¾.l30=ø‘N‰c̽ ¼Ú‰i;àËíèt3vº/*7y-Eáua Ú*«±§úþ¶EwùPЧWµæ§¦à+Ã^”e(±–yÓÕHJ¦GÃÝ»Ï{1ðVK£ÆÊѬ¢:­Q6!fì `ù{Ô¼qr,*Ò/¦ÎÕ€Z7í B`ºÇþ‹Î‚µ­© ÷tÄ^¹îµQ*g£Y¾ÿ/Ÿš5%Cd¹ØÅ)æM°5aЫÙlPû›Œ‹Ï]–ÖYÚw4Ž“dº³bî6ngp#^ ²ºÛgªÈ„–ĨZƒ&áÁ§TØì{À—h&O`ÈK¯=½–Î;Ìsl&n tëGñ¶Ð]­55ê¥õ`^ŸØ"ÙhqG÷jŒ‘4 vv &ßÿ’Æ’yý’¹ÐIÁ¬#ât†§•ÏEwF æÆC§¢Õ¢6‘ñ-VP3üÇÚÑ™Y0][0bÍV Eæ¨ÉãõmVvÙgüp;¯F½*‹fñ¬:>PmáY×Ás;ô–~^xÐ;6M߉¡sÙ£67íÊxÀQÑàÓTJ&ý#m]hÆÊÒÃIU²§“ãV’mm é¿æ„Ñ'оèÔµlª>º˜üÝ@’‡;¢áíØÊXëˆD$4`¸GÜwÀCÚºª;¤ü01éíIÒ®¨†ÛÝŽ=Û Q† ­©é=ÁF5 pœ*$çH,ˆ8Š@žrH¬˜8¾gÁ‡ão¡Ôµ­¡ñ€ÇlÎÃoyHéþâFnÁUH—žß8ÑìéM\ƒÝ £éÔJ×ÈQúÎì.8€™³!¡Ã’ØA5€ÛÓ­4˜rX…îPñü1åð£…4‰ÆßEÈ#¿7´´çÑB½h:HHyN®Q°jPxäÑí(Ñ;5Z@i­7ŸNxözÿ8Gî;DgÂeh?£1™Hí)”º ÆA hO&[»ÁýõÚ×´íhaSˆØÓÄA>^Ýx5ILlÅ5ˆ¨€V9¥HŒ4®Ñ5R¿µaBéQúqXÀpÞ…h lÔô{ˆÖÍ¡WƒåMœrùNþq°Òz¼HºÛd¹ÞÍ–¢ãxžN™ƒ'{´ [šLK£†+gEïhi§9ë‹õ©ÅñØH$T@ˆ9dÇhæšêw£†‰Ñ3À²,:%öô9ót¹à«*`‘?;êÁQSbóãU~µY[eo³–5ŽŸ1Ï6’Ôo«Bex/:êï®ãДYwüxïæÕ§¢#ŠLÄ" e ÚNì&;c‹¤b³ÝÕCy)ŒäôýõãinEmÛ®¦ Â!õ‡¡¼y…û|4ÜgDô›h‡†e@žfi‘?×U~Ëò˜Í°¬´Â?€ -¶JÚnw½›´óæsê^+vij¦,šïØ…Á¶ÚÞñר A+ñ%ì“86±?1ýºœ1l ôªó£úm=}—wóÈžºëOX,¶–„z“ÓYåÏÉ@Cïxa"šô;‘.}«IWó$XÌJRƒO ™,xN*Ûp,;vdAPFë âšn]í³kÀ÷pÄÐÔìJæZ݃[þ«2c]äá¤ç‰ÓI,uð« @ðáE-˜º‘~»Lp8›`~ì7ÚÀjï<@ù6 ¬HßÙ›<¹·ÕÐ-*ÀoŸ‡Æh0)ÍþØÐÔ9š7öydŸ,ïÆ$ ‡ï,güÄ»L&…% ¬Tnçt¡OÕâ€5ïÎ3Ö1Ù’ R󈳶J­Þå ­9õ:Ê3–hnÜ»›áDM*Å9"Ä8å]e¬[bàë¯2yÚòov>K è‡ûÀ–þYžþ~q#ê»0üÆñß<7)éŒ2ºLjÖ<œLeá:»Âdž›C@Œ!Êt œ">ºV0|ÖÿïÀŒæZ+íÏyíÆMÆ<Œâ`<`Q§A‡ˆÈïgãÀ_M&I÷¡ 56Y-6\ØTþãDøó¹ÛH†Gyy¡•ÔE)½Ú™p?ýN¨;Í”oþläKîUJpÂ÷G]º&¤hÞ» X4^ž~Zªÿçã°µê6 4¨q/>„)¶e¿ icÃm”Ïë¶G²“ƒï°¶+éÆRS;òêû›ÄçãùuK¡ädr“÷¡Zm¯µ9 ñ>6¶è) ”iƒùåâ êÑ‚m^èÅBÝב­a^óN‡È +gÉ›úåm ôµŒcÂÁ›ˆM@ÌÉÛõЦAðX½adßl¹½º›I^±øpë×mc£M™Ë˼ëç¨õÐÎ$Rõ¡(q%ËM§ –Wn`àj&ax»‚â~~¯r÷ô ü†§¾v™õoΠ—Ñ„è=-3ë5`\L”d~±aê%¨ˆ;«IÒÚ©e($MÒ‚‚3¸*ƒc•Ô7[á9ïä8½<›ý¼šÁxŒº±÷ J½Ú ƒ²pd:lNOk/6¢s-6-ªŸL8Ït°ØÔ~0+otoéf~FU¯>Â=f@<$©›A <Üh‡“HSùyt,ç‘fÕáòíNѳDv=¨—…½‡£þ$ü-‡®üW(?ÁR0 jˆ)4žNëÁXhÜ”0“ŽchÉ“ *Ý€—MSl*Ý6s ÞcMöcÊ&*Ùó{ëvmÏeœÃ†Y7Ì.¶‡}* ‘}ø¶©n# š­4SøL/i@ìö;š€ªb’ êC—&s8~ú:¾lêD¬¾¸úð¾lp(k4ΙVKjŠ—Ø‚&Ú%ª°€~ö}è`/8±tK1aP8$æt–†­®Ž™ð=T¦8ÜX‘ µä5pC3ö÷ ?Õ€­­ŸE›Ã j×ü6§Ëóš Øæ}z èÛÚÛ˜•@ö‘f ‹I‘”¶¼êÂÏCÞ÷qáÕ9¦<Àì2Z7Ôkv $Ë'†X؇çmÏ ‰ ÚtåºIDêÖm»¬Î`·:›£Ÿ!ûw°éV"iCô.$ƒh;e^Òv¦;y¦XaÂÎu´~…ôþUrôÛÚ¦>w 3ëÀ¢ºîÒ051,8%Nõ"\Zb·D/úE|WxmsW¢/ÈmÂK ¶óˆ*c[º’t+E<áPÒ½oÝvÝ,G°ÆÕ"uü°˜ˆœÇr¯›Ü,4¹h6u®¯AAã,»e3Ro(ò°­?¸Ê/Yr®kÍ`CXÒÔ;C|ÙAlÀAm4ì‚(OÒè} ¢ñUwâ8€§]Î…6D<rR³Û-4µ¢Dk¥OóreÒÑúþxÁja4 @E ¶gS 7ƒDÜÞ½×ñŒÞIoË*[}Ø´šÆQDç\}û8žùr褘)&!Ê®2®"[2û71Ì‚H þè^C©2¹*ü45Œ˜X‰g…ÒœãhDh`ˆ0¿(²taßf™Ôô"_C—OmÕk"z¬ƒ Úဠ™z´Ÿ+å§<Ó¬"'WµƒA1“Ù´Œ4ŽØ^b<’ÖƒÐßÒí±” `a HÄ€iMÈl~àþ}•j¶¥{iƒÕHÑÓ%´a-]ŸñGºábã;7pë°Ù”öݳp” (Ï}«açBû ßÿݪaÊJö.¿}¥–Ý4Z‹³–}¼È.¶aNLø¦j#_ólæ¸ § ŽwYHÓn„^RwÔ#ÃÄéÓ—ª¨êW­(¹–gˆÐ©µ›^ºÞk‡ý%—êHòâ®ßvˆÅxL2ô£ Ùh"):•U0Šzd3Ýf³bê`ïpã`IÁ­ >¸ÄþGà%MWjê’Þ—ýœrióÖ)n Ž'ç2srWñ•ÓGŸMIT&îØ;"6—ÜõeGŽƒ¡¯kSò5å¥,z©MgÖ÷gRŠKxQ`ÛŒj|šûÛ¶\RO ̜ټjPöí¨ä{i¨Ù„Áœ#´u—E¾ÖgReÞ¬¥Q°rT¤ø@i-•í¬ A»SÛÑEGÐG kiV”?IùíØÁZŒ0[õÎß»Þnæ; †i} ë—ê:ä-…Ïžy-î#ÌÀö>{«…#z¡×ù¢®C'E‹hE“ÄzR&õ{ï{b} TÉâg‘“Ðéc |º¨hZ_¾H[”Ÿ»c¿¨k.Ò÷Ò¨v!Ÿ 5ë«ô è{€å$¢ò »Îö^#Jg¦&éÌúw#XžX$ûTá1 @S¯§Ü/U$‹¦á2MÓ3"ÍŽfGàŸ¸®éDSÊ39ßd…5„¦[稉74>tUù¶„µ ¢d½ ‚êþëÉ{Ú8ZÓ¼oé÷T/Ú›ª¦—­SÄú0•4Š“UÙ†Ñ9è…¬Yày¼§Â¿ât‘±=7–Ö¡MÏÇï<Yúð IDAT­€”ÙKšhàÑ>>ÙämÉÓò¶Ÿu¥ü‘_²¥d";ÆêR¾~Èpb·ZòÝñoÑ«AFþÉq‚ @Æä=éSp„éV8Ówä² ukBCÍA¬ ¯ëTWn]Ûn1Ç; w1HlÊP]&ø@#zòñÔ–öáÜ Œ”’hqš‡}¿8ró -Š´pÒ}ò®ã??B8y\i!wv?ÒþÃç(%¼f‡VÿÚéœ×™F¦Ì¢Ó&¦<§çâò<\ÔßRˆvœÅµÎÉÝ8íI“ª¼. [²ë2-½Šc4½áX°=c½£3K“)ƒNñ´ãÚ¦‹6?yU³$Y×Û,U‘7ß}–ËhØÐ|ø™Þ3µÜ•„¶×þ¼ |\*oÛKq¢ø»y6²K]×qIò9s`ßDûàŸ83ï]’é¾iœ‡Q”“éVZ•ðóŸäÚÏ”Á´ÑŽláD~ÕÔÕvtÃ3éùµeÁtâ[³C™äGGHnDGÊ“nÓךMÍ÷¦¦²c9‹ÂE5g58paêybîéõrgP„s¿ÜUÛ|•A¤«Z˜=>Úµ ÉN$»ó+ÿx…ï(îÿ³'LqJ6àÞN½ÞôÏ}^$ —Þ06 ³àc„pÓD½W ž\ª›’¤XEàc‹vü­Õ4ë+ñ­* Ëg¸ß9s2·2ð«*ÕÞ8ͼÃV˶•ÿ~Ÿ‰Ë«ÚŒnæàcÉØ^›XIc'ù‘Y¯á0ðä<Ì\ó* ÉÚ1Í€£ñs,”&ÂÇrž©—È× .Œaƒ²¤ÀVôŶ®¬Lº:sg˜›hWna_Ô룱ž2yç>;½ã&¶+ßo¹)þ `œ§¡ùQô牂D; çmï«B ×~U²% nÆL§"º…ó4È«GêU@lÁœks7ao¯`JbpšÙu:Nõ ÇQïžC¼v˜Ûórë¥ßf^ ¿sËQ¢õ¯Uä—¬ª¶£*†>3êUâuÙœž‡óöS~ä¿ï,‰^êXTþy¿qZ&?3[P4{—{@Ïü·8ÿwܱWøIß^¢ZFo¤EŽGp£V9xVÆÒSÉzÉzó «°‘Áìö/mïœG‘yT,7SËá2q˜ß8œÅræ²ô÷H Â>îÛå£÷âÖ³‰k:#p1¢‘fŸõ¨URu#|4ÔyúÕ½;s gñÙ+qm]ùJ càÇßõðH·nØØs£j×ÃÎWèß;Òg¼ZÉs5ݪ•™˜¨¥l¸ $#”* í7)?¨ ÊïpbªBÕŸÝÏl–s¢?¶Ãk­òYÿõÂú]>õ‡'ržIçËðCÖú}“ÞuE¿»múרTážíƒÈÇ Rg<¬éó¥g†9ɵ´šNÓìd·€áôðDŽûïy»eëìp àÉð‚NíÇ)0€ÓÁöþ¢y4¤¤ÒRÚ#ÉâõK—.o¶®X©tÑÓÓ?oñ€´*×wÇŠîÿy68J®¸?Ý*7:úÐÊ6£­ÚCئÉdŽgYøÎ.:%#HÀØ9ˆu xœš‰Ô[¨¾UÛý3Fž)ñ"LÑO®òS ¿¥oÖüzç÷3|  ðqIy€á\œ÷ig,äGÚ­ã^ï¯ÔW,Džñu²…_„|µÐþ"d,<Œçǘ)Ó1ùFgûæ¶ß°MU! ž™J 圴 <éÄúàÃw~hšÛ®ÕÅÂäœá=ñÄ,å…ÁÆjcvÊŽx-¯á‡ /Œ‹uÊò¢oÿX¾C×/ZU‘ÆŸ_Ɖ/AýŒÊãeœT¨¶ï²á­;¹[>PÜæ‘3V~*¾G.”:™â.ð1ÛgxSFµ9ó³8‘ ¨®# þþ^E~6)V_µöééêrŸªÀ¥Ëð…ãñyÖëý£õå¾îg¸Õ¯g³]Èþs”¤A¦a2pm‹”‡ŸtmÎÇ 3îÂfâ™¶r( Ñ=P« ÄU¸Ì<› ËŽÎ$±H7ûiWþiNוo7pü‡ÍèO|¦YpŸ‰0°o7<›RÕ ë°q™Øb£Ïå¬=%H§)„3Ç+L!zlßgëÏ>&+ÎäÕö=­H½¿§Úu:âu¸9i5 •ß8AÄŒÀÇY?t ÈT@Ø^û؃$u3ëå÷Jù%"?…²ª¨ÊÆÏ ÀÇiç¤þý©KF  mÿ’wMНÞo›O|R°¤{Œ×?ÅHõÖ“„Í ÞÔo@.°!Iÿ ãïÓ ºqß|0‡`AÓM¼°Ü?C°¨ö$°Ú&l~]:ìšþüã®™ôF# «§Žq?Ë ¥­ðr4F˜4hhz×A†ä,ˆ"!µ[«^3‰—ÁQ-gòÏV|œSgÄÈzÑäK&l5'Iç@êr,cV|9¾.k{îd„»lúcqö&÷Ìð¼EbvGó1È6íÛêsOIý4ö®*†xü!£ìH‘¤ü~Êçv ïô¦_ºê_Ì–Âi£Ï·a+÷ÆÌsLþƒvn/‘‘INžã½< ÉgØ„&xpFNµƒ¨/ž_dCö|°èÊÚ}²<=ºe?€ £é¹C§Í$[n4sQ˜ìSÈHSn˜˜Ãqž‡:`Ð¥ZmƃM0©mktÊÑ""¨½ ʈgþ¬ÔÈè"+Xb\¯ózP\ÚÞ{ÓÁ-'²Ê^iJMÆXûÓ¨;¿ûQˆqÂ]ÍšÁT¿•ÚÞ±iaüPnÔž §Ÿ¥b uÞ ž˜‡ý!‹ŽØx-nÛ|”%:(i'ïÙ~Þ:Çcd,üÓFûõ ûž¿WÊ¡üÞý³»ãø€ð—¼¥5bÀü±á›*ˆDá`øµD®¡©æöI±é¨îgCT~ÇH#AŒÙ)€ôì*‡Ùg³Ü|†¾aŒ­ :Öhb`ûÄÖÛX€9B<# ËÖƒ ž†fâ€ç¯Èߨ‘Ú¨ÙT33ªÈá\.‚µ@» úSly¢Å,¢g¿´kË®÷Hý=]cóÿ·÷µË±#¹rÈ]ÿ´ãúE6ÂïÿD~ïHLÿP³‰Bá«Hö9šÙQÄîI­n²X @Ây@0öÂ6´“kÛ;¾.38‰ÇÄû,JdÄöˆ£¶´:Ûå IÕC [Ýt㊣pÓÍð„jAÞÞ=gñÇ +Ú¬öjÌtʇ®YPœæˆÞTÐà8úïçb4 ¤4c:X)R›OqÌduO-róÆ>·¬Ž0ÆÑ_Ã×L«ƒª·Ù>ªdÎè:>eÏ]ÝÙÛqg,ræ½.|>N¼÷ÅÃŒÛ^ #1ÎÎZGŒ1yŒcãXX=祕ýxf=ž÷éΓpû1Ïûc›ÛtwYPO‡þ£½®…íÍ„4ø^pd)Õ×70;¼X5¯ÝGÃŒ $ýR-ÕçÆQ¨"«¬Q7Å«tEÆ´¯|¿*xÕaO•3àýÀë;H|¨sÍd. vül¨fßÛÆúhùãe"öÝù²v4û4\þ glˆOÐS5,7TÒÿw&ô@5.}rV|ÅÜOv¡t|ŠÈ糯ƒ*£¾¶/ºQ2‡‰?’þ4zwŒ¼‹ùðÊ^WÖ†*cxÙÎj îefvÐJ4WÆj/K é¯_ý1ÁÃéĪ‘‹}k©þ`Rí¤…gšÝÖÊCmÑÁjbl8>ÿPñ{5Ì‚.Am¥V”Ø)u¯ˆ AQÞEˆ&:xŸ;n!«§ƒ¡½K÷¹~Hñt£cïFDµ¯.e¥úŸí²±:€$‹`^cI³†GÄ,‚f.œ Á¿ªFÎÐß=ãå̉8{ç}¶ P"¤u S]²Ô-¿‰œp2¦ÀÄ lÒfmÄÀG&p ÝÙGŠdÍGœâðÈ:¢(r{kÁøú´ðõ¿½Îu" ®#ÛÁ`Ý1­œÎÞ¤h~]tE76xKÓgÃ꣎ûŸ4r\< –H\R‡Ža°·ÞÃ,b/ðÊlÕ5Ëtàpªk1QÑh×oÿÙ¶}7’’òeœG×p€DÙ¢@‘ÞÕŸ»¼w+4ÎtC«Ø”™!Ï[ìݘ 8Öp¾Ô!6Öä~bh8Üæ.wn§‚bžÍÓZY„‰¡W<ÂÃ÷ê}üa3¯ÚŽ Zõž3ÀÐØ9Ö‘ˆ¯šà@mÑcÑøº ô·c#,Q–Œq` 17Ýj¦ôUꃱ¼Ú²„é!ï Ó©$úÜi\ƒÛI-¿¨Â–?^ׂ“yÁ>™ hm£é'@ÎYnÔ šžûMö™².Ð ¦Ú¦ ˜ù@íü@s¶bg¯t©Õ³_Á­ï5 ¨,»¢÷5‚IÐ%iÁ[÷§~•à0*Y ¨ôÍûl8†qöE8sµPÔJŸ}߇$Y¡A3T&% ÐÀUבMOóµÄXe&΃°{­ÄNûYIr 0æÓAX¸]™ÜÕëí´›åœr¤B ­ÝÎ3¿ñz˜Ø Ê¡*¡¢ôšxG&aœf? aB÷jç™ jó~ 2{3ù÷{Ín#¢$:«µôCÔ¶nK9äx8͉驫:eÁÝE5l&g|m0‡L¶ë¨ w  ‚—×j ˂ȜZcŒ«tàð††x%FFÉÿÇ^/åõ÷78b8ˆ…"NPóN/»"’ °k*‰Ï¬àМ'”ƒÁPÖ2?ìÀhä P%UW/ªN‡]À÷µÐFD3¡Ú”íÈÜVdFà~ÿªÉâ:{Ö¼+ýÐ!TA¿þ·Nß&Wc2tÊk†nŽ¥HÚ%XµŸW ¬79¬ñIN|è'ƒ#PÝ æ–eš`(¬Ð£ÌŠ`Ê‚tâêÕô9Ç?7ä2R¬âx2)nM ÅüýJq^gÇwÄAQYŸÃR`L¦ Äëljû-ÜÆk{l3Mû3¸©’Á»–¹l…áÙÌR'K³4éº?qp~ÿ¨xxÉvt¬ðy¬šqØûr°uFxXò=—äqwwHêFL˜ùÀN><êì…SXJÐÛÄ¢ù77ù¤¼2G7 &~]Yäx¯2®´Ã%ƒî¯ b߯¢M®ÂøM!ÚÐêEÚP“‹Š'C³›¯ÞÖï'v”›,ûLê·$ìÎxi@>+/øÊCQ•~Ñ+GT-:Æ‚AÀvnè `(ç ˾ʿ¡÷Üóžþõ¿ÿ‹Ü¶£Ü„ Œp_œ ¨r„WXFËބΑñ{eTGD'8J‹îÂÄ÷e”q Ïa±5QŸÁ«Û¿€ùˆÑCÌ-€ne9è§öØ=xG߆Pä×ç?çÁnêLqÇhTMÈhþÎe˜Õ¦P»ý·ø‡ò8×X˜ ½Öò‰*Â-" —YµÛœ„åXÞƒ“Æît>«nàŽãX/)ĺ[È!9¼×šqÃnvDgÎ5QÂ$X‰³ÿ œã™$7ñjÞl_jµ³fH~õsû%÷‰w=àF°ëYÓ;¥Cðæ×{_ÄN¥šLä½Å÷Õ#;ê/(ù•¢žî€À.ؠɾø¾ÃIä… ¶z4_ò <¾ÂÀ>zfãiózcøðlwJ'ûãÎ4¤W24¶ìŸŽÖ|ÂN…Aˆ‰'iⵉw|?­ƒªõ$x”[íz'Œ Õ{É¡ˆ; ¡-éW`Ó’7ÄД™CÜÌW6d,±UËЇ˜˜‰¯ç5¼˜}³èTo ëœTê‰4Û˜ª.VÕ,Ù‰ÅÔœ³ÊÏGóù$rè-}©$½®ù(Ó¡‘_Ù½”ÌUXR5_‡‘…Q2š¨CýŽ)±Ò“ÒK­œ0 t@•SUÍ|~Z*åP%o'\ïZúÌàø>LbPFÁ÷ \Œ½•–ü¬ªk[âÑ(~«åU“è3 ôg˜ÖÉŒšr¦¨§NˆWO„`>ë»­a‡Aö._E$Œ·ø5àñ/ ô:6ßßïì‘. à $[w”×LÏÚ48Y?¸)¿òc <Ì`v½"μœ¤Ÿæ‘<3£›ó÷y›ÑûÃ@Ir(Å\ ¶oxP„“¨–ZŸâ,ŸÍ[ýŒîí{€*3Õå±èxþEJÅó¡{ý+X–×7¥¹ÁK]a€ :ˆNœûE‘Ë&›xÝ8Ç”z:y1B»órû'ØÚQª¼ÅìƒÜzóÉwJÈÜå´¨¦nfc¢߈Á̘ðF?ª*ðÊP¼"ZUÆôŠxHéãšãýP1…¾O :0€Š1|Þïní¹7µ·NLUgÏûû]QI b&ÇçËãÙ„NòÕ?A½ž¤Z4œ¿œÆfQ“ሬãq½˜24…„RÔ2QÌž!¡*„Æ6ŠR$Ç&Ü Ÿé±ï÷…I‹ª”˜ˆ ÚÆê¯­d‹òt*e äÕ“€?Îõ¡ –0„ÅÙ¤6±G'ìæW£ŸÖ&Þút\‘‘áúYxêPLÖ±âc‹é¸Æl ´’L…çdWæ0m)£W1‚Hί:PK¬Ÿ <šÑ˘èê±W×o„d%O÷Ń½Ñ ‘*åììê èdÑûT5Ô¬>ß™¦àó^¨2Ã~Á L½LM6;ãü<¢ ì÷žRƒ!"ŒfÞà$øCAœJldô±'j‹w¢-ör¦'Þ'£¤:{\$¶gîÖ¦#c.t."xvQàÏ…ûeB™=44fP”}!k4/²DÛö}Vþ-ß™†¹¯×BÄvhøç™JŽw,ÑÒåÆPr1ÚCÎQ„ 4æT¢öxDeÕir@‰ÕbçLšÓxiJ'lTwY­¼WfbJ¸àc£eà¹fÔv‘ƒ(ЫäW†ÜA UÔB[g¢þfýĸ³B¬îõPR6'¯{cµ žIL¾üã{0dŽ7Æ+Jßè‡ÿb9:]}8 ˆÎÛÉ4 @4dX‚nÁÃÁê* ò@nT1ÌÑ8³žÎr  x¥Èöú¹yê0p3yK¯æ…þÈ®?ž/ÿ£Ámqª¥öKŸ¼¿‡9‰=uœÙX3û¢ø•ሙüG,sI/‡bK6ƒ-•iÔ¡+É6Ú4{„Šw{Q¨ÓX˜•Q»òØ‘*—8̶:‡{øà+ò©^ÛÖÔšl ßv™&õOŸO¶O&O¥­qs| w>6\èºDíhG¼ŸlPÀ !ñ…`¼kÚš ŠNfNïŽU[]Ì9©v¿_Nl0gt‹žÎéL?#žŽÖ´3§¥ >Ò’XdC¢9²cÁ¶‡`ÂI@ñY÷]Nõ˜DÖÿfÀ`ÛÉ_êU~Þr~9¢ÕaΈˆÉŒYþyOÛBIý=‡ŽJš9Bé t󬌧y© Á»?• XYUK—àl<ÍÔØjêÊ›±_€úw²ýæ~éWúP¡mêq&Ó4ú×çça$ý_±ÎP¤âv*ÅLtùQªþc復 Ùih4(ø×pî6>4„š1 ¥7AÁ¹€(Q‰Hó8`Gw¾ÊÔØkú8ÔáÃèÐap ¼@IކµWc„;òèö Né‘a_37$¨1M)ÔŽþŒHÞU‘…NwÔÓW²2‚×°¤©v+±X±m?‡Ë!…(A–³Œb·*![y¯é6TÀ2¬3mÖ!#/ÚsÔiÃùá(åN™Æ1zcïæÐÉ|Ÿ.èž“Ÿ°%—,è4öÐÀG«œ…' “uÊŒ;y~dœb?„ò²UŒQÁx¶â _]”qÓp×HÀ² œËëEÇ«2Äžnl<©kŒ¿9á.¢Õü´À4êÞÁt½QªÌ|ªNWûûu?_ø×ÿwÉ™1o2õf,ò„.8âš ‹LS“š-¨¸ “ૌyßH«5 ƒf&_gZ8y…C•jÿË?&ƒ~¬4*j Zfú®Ih6s!ZWS;w«¸e{p¨ ÏAÇÁβÀžOOÑÖI;Òµ^™Y|þnMFâƒmß÷˜à<èFf‡Ãd6aî³´<0üè\Ë‹v³+jZø˜‚Jˆ`s€œŒÐ´1":à ]ƒ9¤`˜»ÎO÷æ€ [ÿ§‰9̰˜_ U2+œ»jŒšN˜ùrf‘øgXëV‰o ñç§B×°(ŽˆÄíxƒ‹'µ6Ä^ÿqä4×8c(ì6ŠÄFPþ»g+7ªL‡úÀÈûq(¸â&êôRD'GçºB‚œHæ¨n@Jº¾î^Ácð{›²›~îÂh IᬠéTàNa¹³:ý)f]1e¹òØëèD“Àîv8£Ø€|ì§ŸÊà Bßü#,ï7€#8/½‰n2–"1ApÃô?çð½>ÓÛ Þƒvz4RJѧkFÖR¯^€ãáàK“>ÙcQr›uµ"»tG–£FÙ•Žyò``üÌ,è0ÿ=¡†# xxŠ\Wú ì›°°/ @·IÈ.ALÛŽA¥Î)5;"# ¦RYkkŽ­Í0ûŽ2X¶a³eõ:,zSÕ/Y­¹B”5o2 áÌcÿyv“tÀ]$‹É€Ø¡X^––`o<²AoúkVÉ$9MCvV”5•^Ñ>nõ–nï[ä¯+`‘õé¬áÞú}¡ÎV;> QÚ%â«¥z!rç²öSÑR¢I¦£• IÝn7?Iù“”MžY»iا^œr&¶@‡o÷8é^1éý”2ï¦û$iIØ´&´Òó4£ò,8±ŸõGÎgÒÜ+í4Üìt#‰Å s«€î·¦ñÕÌs§Â@÷*sl/HD¶²8Uœ ÜQ$Ð Õ¹ ùž­ ç9Õt]¯/m-"ëé_ÌM<§’„ŒÃ«´5->³Ã7;A->„¯þ ¤\¥ÓŠ*þãýŽÇј#o#WB•h½s‹\ýêt,IiY4yÆ íÅ+3¼I.ò1?+ü0ftýþ,RŽK‹U”‰Ña‚m`’ì†ñSe¦7%Ý$–±‡2ùÞýGõù}^±È”°·êC€÷P@„A5]Àóy¡¼}ê}ŠÂ’Os‰ªDØd&)néÒªÇóo…ñ‰…Ó¸‰3HÄ<#|ÄáºzœZËÒõ@"¹¼UÌö7 IDAT•+ýýÃs¯H´HàÚ©±ØÛÛRÈ?"ýr8¥ÂÐ âcB 5Sîjt<Ñ·1†“É(=r»à-è—-­šaÜô¹p{ŠÝ‡ÁÆN¡ &#hËTØžA¸å½V¸R³Ê ¦þø×ªÛ °bÏ1µN£ØKãÚ˜Ó,b¦ÊC9×ÁN¤_EàÕWAùè©csñ; Ü9(ì¸õÀ\Sú…Ñ=ÍŸ ÄgV»~u€àÏÙ`xï]ÒYën$5•›ƒ{ï5û8<¥àŒÂÎÛ0KoªàkàÑì…£lÛûìÉL(E Nl‡†ú$&˜š¢Èle4ú?"PÒu&g¤«Ù õâUïkJ^ܼ!‚Òæ'ÒÛ„òà1÷è0‘zöêÚé«·E{œœ3#¹¯8)ªr»®ÄCuBıò%SÁÌ„%¢+µ»{Ï–Z 8çg‘ªš5~6ޏ€ä€Í3›¾.dY%tÁ^(zN|àq YÝHù÷^ZÅ35-+ŽÒeì´)±q>þðƒ¦u³§ƒ6¤ûwhÅD¾Ej Ã,QJbî_Äæx‘Û­É„ ^ª¢\¢ –$þ™´CYO4I`è ®ü-W,½#6‡’+”¯jÖÌsê=­ïÍÉ>£ÃQ•ÑÊ_; ¹Nw…†«6k`¥­v31çGÛÜYFÔ¹,G‰pºžüAsRy†©ÑÁ¡MëbHÄ 4v(§”rÇê 5 pC³‡Â(ŽN01å²–I]WéЖ'y ob¼ùÎöku(­Œ¢KüÜ>3œ]hÚv<Û?šìÇÏ|4é¡MÖd[x5‰œekù‹€Ÿ¯Xp{+tÀGÉ®˜Ô([Y„e¯¢Ð\å;œž©-`½¯mûÎp¼J«"¶iöS~íÂXÈ£J8žÞzw ñ€ÄSó,ôñ36Ë\Q3ôA‘íð@Ù˜‰÷âÏ\Zgþ„ jÖõBi]:Å’Qö"CúrºSn&'¬PäeOˆ˜{„à)ÃËï×Az]6¼›n”ò&úïQ?Œ‡úŸxlJ‰3§‡ð{âwg¾îÊ­ŸÙjÆ¡ÈkÏëÆ„ãÞ…(ÔO¸ÚÅÛüÊø„ðÜqï²0£B™[:ïà8_GÈŠf²jÞ3ψ&{çá,ŸÌpµZÓЃ¦å3ÃGöò³T¹ #è˜Ê½^ßcÖtæqp¨+GŸîÉìÄgÔŒV3Ú"Ö€YÈ·”õ`ALä1pÚü¤ôÔŠÂUµVn/t“xF°.ÓŸ6%ª™F; Z‘ûÀbø¤Qkoå”Cµêó™é¨Y+¦ãõÆ@ß\ùc€fÈgeÀ,FéÄl²tC|¿kÔÏš}ýFf:a¬þL€áJ Iàœ‰—3K¶B¯ÄÓÝØ¹*ó[‰å{×s¨`ŽÚºH­Ûø“½W§Ž/{'‡öîà¶¹£–”e+µzÙè¿3D÷‚¯œÍÛ/¦±¬Ä -× íU¸+«©”Â]Kã„&)[ø¦X‰¯š-Nu¾¶+•SðÝ™ß=ïtÆÓŸš “‘ò'Ì yb£öÚž}Ö‡ "˜¤,^‰1ýôM¬\n·*Ó‹ó'ŒÀ„}Á^D£_qá³}„οÃÓf³%ô?p—MúFª÷xîŒO‡êy(`‘Q9YAAh cÖpÂýÀy–·r7ð8[vUÅýÓïK­ªõCòÇ¡¯Ó=A†Ë8û{¬ÁŠ&’GaUÄ]í__Ï2ÆO·´ªzˆ ¹c»k›¶N¾{)f¡q&Ì?S«ˆ‚8…‰…Æß¾fcxdêm&cœS¶ºDÜé&Þ¤xñýÌ{Dzaýt%f®ËÐb ”ý¼Êþwé#ÿÙ³½YAL"kePX\ ÊÄrrzþ§«s'•™O£`ð¨ÏL¯5œ*çÕÿ¤*[e4º}(CŸC›rý®ãU¿©Æœd˜Þ›îI Óš­ž¿§ñ©Ë¬Zæ!{\ƒtçw#p80Aƒ'ßIg&ÀÑ -­Ûzg„8¼ºól®I¿<%6챨,^rö´&œZȈ²ùØU­fªã"¡xŸž‡©€½ €cÞ‹½ø•jß• iœÜómE¨ŽVm5=«ôdàžgĹÒÛô”®Š ê\Cš} jèÜ9¿ h<’Crm©|IòÜö~Ž?7Ê‘mŸ„f삘­¶E²O*\¦>.e‘Œ›{Mh~=O¯@w{z H¤yˆ$'Á‰ˆ²õ%q(>˨ǂ¿ã'ú…ÅvMýgåù´÷«ê£«™Y4ZgÛ)xòz³k3 ¿‚Ï¿zË÷ ?U©:–œã,½¤Ñ¯!+mÚÑÏ6Ò¯xḼʫ½ŒÈÇÁ¸™©ÈPò9º j?¦„Ž#Û9=O‡Ç< *fš“À£¬íWÉb £*yÛ^‰8nÛ7õ·TÑÚŸ_‰tT¾#sÚšÇ×b\®ŽÏä­v*/¥`TÖG3wª˜ý‘èÖ£;?Äù¼>àùZ€F±ç.ÁïÎû¸s=¿çCzó•» Ñ/[„âOЗÑè€ïl¯ôË»à’ HXJÕ¨[$å¯4™¢CÓ0ëv‰•ã?¬MÚžBŸÛöR¤g™,ƒ’ULù*’¨Úž–2µá¿ïIdòì¥*a9#)Ê-Pæ2®è*Ø:t×ãM ËKž{Ír‹œë³¾ãÏRPß_¿;жGw/¡‚T©ì>ƒïÌ,ýÏï\L_& dy¶6XE[IØ€ÆIÈ.×Þ†?™’'r~&`ufb”Uì׿ š2h0±¯ÓeT. á1d/ÚI4«1&äï"^Ç.•8øä踓­\«yÀý™œ¼oÔŸ"nÆé3ü®³ ˜yê¸xCé˦qqJ}Û–‡?³GéáØ¤.r¨pñÙ?Ð |CÊþgZQuɦ"™Q±:’õnྖõ8Qj5¼NK@?T0››[!SáŠTù-²Ûªé‹ßMä_ðbcG¯ÏD/V4"g-ÌœTê€ùj Afï³µñ´<½ï»aiÔqêužðäY°Cx!uëùxó]ä|u]'‡$¦»îlÉUÿëãWÚÓ ì]ÿ«°»PôƦ¹Ê*? ŒewZ(ÖNºÐó»û H,mK8=P·^s².÷ ná¥õŸ?{ìŽq˜Ú<ƒk…Hú&:õn3§£Üžn§b]‰ÎŽ¥´-û“‚SÑÈõž0¢ªèô;DÇÓ{ÈÉ<…Ž<»Gôù›ay©[dëÕˆqR™ç&2뺒zœgl½‡ Äd–`ÍÎ'Ggö¾Ùg%ßWrµQÞè]à#7î¹ršÏ]ðu äž³¸dóuYù-W{me™K*‡xæ tL ¼Û`{@VF©vÕÇθËåÞæ $RPg³¾l eð­º`g*”5ê’¼”?Iùھ˫.ŸßV¼—9ëS®]×¹ÉS¿7V’"îùÏù⾺ hìÿ~Lñnÿ÷Áþðmä§ÑÒ´ÊÖŠ³õë“ónÎs`²°tص¨ßb (8×ÙgêvËs¾¢Ú”3|EX9]Ê\ÙÈyG®<¦øªO¯ØúùðÀª”RÁo¶–9cq½mOdÂ"¼f ‘]Ë*Ë܀܂ ‡¹˜ú½<Ö<¨¡C@¸üÄJ#»º^ 7< Æ®4›é…Ag>¢ÍmhâNÆÀàCôì¤6è"ò%ÏžŽ tœ8ñ?& ½ÏZœºõ[b¦+²+ïýŸ™íøë}}è`"œþ ø±x–㈦µÈAd€§¬ΩæêuÎ×0•–4J½8ü^ùL½eÜ`>KÒ!éƒ5ÝH€¸K›(è½qm3µ}òuõ8# ³‰fÛÞéîÏ8ÍP긘æžî® ¤Sµ{†ÁÌšC6ªšLl² ¿LhêMGBtÈÈô#“n×Ì{ ³[ý,Û-¡ƒ‡f;× gõ>O—X“+ñ€ òµ‰|Éöj$÷_Ës‹ø#=ùy;ÅÎ:ÿ軾î×ÖU­þùúä0×ÿK„•¡Ýɯn[bã˜RG¹þ:"£4¯Dt\¸M'ëÖüóòE°óá;¯'R•YDÍ›(¥›ïgöú瀅€ûÊûgý´~HšöwÛ ¹wí¯ß’&ã¡,RærIê3Qhê¹ ^2©Ÿ Ešpȹ³cB-èðwUûT>ÀKJ°lvÊW0„ùü¹™üá\[ <ÔºQdã&Ÿ¼¡¼ê/…òï}{·Ûä¨ê¿Ö×c·OõÛJÍâ/qJ½À ·£f›Ü®Þ"RÖyZê“´%tRîVy*hG¹¯^m­_a§zp5ªm|,Vï(Éœ¬°ß8~n:ëX¸Æ_|ié:­‚†–roCIëÊ}”ªKªi| (GÈq|9NÇößg’+6A¶!Ó‡#ÞcwEwWŠÔY@dœ")™Tëâ2•éÀøèqîé±° Û&²m›|Ê.èøçϯÁ?kñ󞋳ŽßAÐòÛã÷3dôÜ‘ËbÃÜœŸÍèDôµÁhNCÖ!l”Œ&BQ³¢2 ËÑd­üÑh¢ļKc$wž›wÅõUè–-µ.· Ûà`~(ÁE°V5/g æjb2­°¤!26)ë’)›Ièf*¡äÜÑ_tÛ—ìéUÐÐHx¼`A1Mt©Ÿý”íÀ :<€„îPäó9p»£nèÐñsÿüg-~Ð9Ôo'[ˆ˜Ø†8ämøJPÒ??ïáDÍPo{–W}Þ¥…ú7¥½»[jÕãß!xPU-Rzò¿g2¿‹o~ççu×ëÝ¡.Äôf{¨ÍAg~*›œíyª H†`Ò†o\©‚Jï0$0a.Nnl|IÞèÉÎ!wgpÖzc%_c4,PàÄ‹½¹°ò{¼{SÄêzŽòµú×!£O¼ ã_‘<¤ HKöù"ŠªXï¨êÍëm8+wé9‘ÆØ…ñ÷‹>:A¿×¬ß²]ˆAÂôZ½‡yÜËC¾gí0ð«ÀÏU’Õà&¹ŽîγDÍ)ðB‰g \íý€œƒé6àÔAKöìvÐñe†ž&ÿ #"ή-xSPÝ Ù2«9JÒ°çwܰ™?ˆ2¸³pÇ=ºMàöŒã½Ç­Ù¢6–`U²œžÁu ? Ìª*…ò„¶ìÏæ"!DО‰oº*GF€… œ@ýÍ \˜øòùq‚?‘ÆðéóçÙÛ/+øºß@o‘á5³ V´“K}GóôÇUÃþà{ÀH•…dâ,#›ÆÕû¿üªÃQïÔ 8öQ´ƒæsfc(;VÍÿ‰Á;çk%h²“´­JSv?‡¹Kü>ŽÀè® „¦$ÊSÙ‚³v WÖ9rmRù]âÆ½fåÎDnÍÚj‚¬ÙÔe$p£6!ï·ËÐq…hh4`ÄËFV½¼xÏY Š  ¦”ïèæSÐ;%(@Ù+Àg]éfã^R¼¬±Ö^’¬Z`S|€/ד¼_Xu8·î\W×…"VXÔ%Vßßbž’ž€ŒÌ%o¤üɱ™üHhpˆþ4x KàPÕ±d]¯Õß¡@2g=ûBCºÐ€ix§Ó3ÕÿY”º¥‰‹„Ju–½,1“÷`ÈUêX”zhlu^£lGÅd.›þKÿܯàï3?K¿§¿O)uߢUQÝmïGºIá³¼Ó«<Ûâè7Ë!tA—Ø3ïT£Î èÑtHx-°‘qB4ÀAL-Ü@œÄx輜#ÒMmuª¥å)ö++)ë°¥ò’9i€ó¹…c<:N7K†ÜÒ¨ü½gÀHä$X$ ²`ý–0 zLo=e¹±c{‰Æ&¹×[hÛR ö“úÑÌÛ¼#v\g'.6V0 î;¾©ro•UDÁ>FÙ‚0ˆÊšÊ±VÞ:¾ž CÏë˜J°‹ã‹ª©•A¤VEØež*´î<$/èÎjÁOÁ«s„ôrûϨ¢A‹xbÛ¶ç&ö1“b3!ÇOæ‚/kr¨žxœñ'Œ¬µÃ ¼ƒŸ§Æ o?Ý›êÝQlt#*w€…[íêÍʽgµ$‹âO°¯[בÂñuwá•r4ýú‡aD‡Ò4ø}2 o6öäÀH7í–wN¼}†“óÑÖeÈÓ”C½ßW;YÆ}ÏNNrâs„â^*–SÍâ¹Kڪ̪“íÇÑŸ)±úÚ‡*†žœçÔú;YÒÕË^6JƒüÞÔP˜JÆÙÔI;SímH]Jša¤nï™Ï‹ ËÔñô™ÈGV…ŸŽbÖ+É:y%÷ÒµMÎϦk¦Î+yø!{®}EôÜïlþ¹^wË‹í³ø 8iÁ…Í4|=¤_\ß•¸E“mýÙ8XóÆæŸnŒ:³ ”þ½-ÃâðI0íä†xyHx–½ea†Pp"« d R ÂÔÛGÚübL–ZMiÕ€Y©!Ñcþ-YÕ~½{ §£6Ô‰ù,»1ü­9ÃY©gé¤FºcW2‡vÕÌ R¯ößô3 À¸'éeBè«>½^on¶¥fød¹Y)?-XÙ̹w6ºqj§ÆÉÊñrÎ$Àf-“ëŒB¤H.¨•Nçœý€éíÁØxÚ‘*ÀÂöEùS¾AÇØÉ–é±ÉÕÙfA w‡¶VTz“º†:Ðef0ýFÁÚØ=ì’Z¨Dk|RD à×U´ìÔôw{Zx€wfäQ‡bLxâ:õµ>t¼A•ÒHȃ ¸UY¨è™L¤ÉÊý±úµ IDATð³ ø¯º<çïàØÚè¹}xofk€+¹Ñ­RZÁ‚¦¹œ‰W¸ò³ýÆ-8-ýö_ã#ÙÉ(Œ SlYÖXÎ¥ÛÄ9èn‰ûw"s!VÝÌŽüCaü „{˜ƒ—‘vEÂ;QŽe“¸qN0ó Ç-Ì×ö³hü#ç­M\t"Ø…~‘îŽ>%Ó‹±AgÅà”Y ÷â\¬fÀòæ™ÕÁ÷RË\¿çÉ»šýݘpX{Œ×2Ô(À‡ú08û“ÌÎT©@%=dÄFPå<£pÈJ™U…á?·M>5èp‚‰! ¢l*“,Óô_ïæ«ù²l‘3iǾM¹ªø:[ªqÜ{fUÿ(·U59Wàc%þô¸0™ŠÊFvšÓ«XŒR°l’M™{ ¥ˆ—’˜Û2’!‘Qïbt茮BJVÞ(Ò—ÃÜÛ»Þóù˜Û•¥75¥«0qaBcççŠrñ²b &ª$žWDoí‚lC»º†˜&h`ê±ec?H/º¶~'{а KÃs–˜#cÆIT¯Ú," ]"3eVà¨Á‘ Íäh;g Öø O>›˜™÷ p^§tbz9¥H’©thZ"’«K+z¿Ð4GÓaIQØ™N@ì•z¨ÚôÁâÍĘ>†‡”f§/Ø{ÔeÍ4ž•‡v “>õ³Dç,ˆä€{*ƒ;ÛÛM¨øeV£gG3îÐŽ<Ê·"³±ƒ =xr¨\mDáGTuUc˜l¡³Þ’nÏ*}?Ù¥N ÌÑÕ1õ\|½$æµ9­¶Ý°yÍ+²2g !œ¦¡ÊÀS¦‹À"žtg=Y•Á³ãÒ»±}UÁäÅ<Ž/~•½'gØ3 ]!ã37˜ÉDq§²]nöz‹)Ó Ø£|jÎ{@uŒÏé*üÄ!K.Ÿ'ÖíMHãF†r”ºDEñ\™ðÔij þͪ/Þ«6Àv"4œRì> Jí ±Ínˆ{g˜€(]¢`Ë­X¡JP äE0›ö4Ø (ñìÊf.û-3)>–yÛa™Q9™ôj¶#kÛñ™äÀ€>ƒšZ‚´?pvœ<ž挆éï â#à2ÔÙ6Ê×öl(OÖe˜/W\g‡â^qßU-M·sÛ£¥uyUÖ$!Ž Ý]ã?Îàe¾÷"5\çÙµf6 Úˆ<ä—]ynøÐ†€Uœ9‡®ìcWº¯‘ŠcÔS>TVA>v‹=¾³ôßJ_î<WDTW6Xž[ÈaœÒ¨¹ëƒ Ê›KÇög}i•«”`g „Óµƒ`‚UMZ‰(u' šÐ†ò ÝXùüND½ÂöXÉí ¨Yæ/™-âÕÐpf‚•Ð~‚6Ú)û“ìýö¼4Ægƒã¾Ö™ÀÒñdÖÏ—9ûIȪߵ$‹;µ9fóŽ;¯Ôd*ÎÍÌ™©=°° w}GPŒßüù«àIÛBt3ùË~±:tŽ0›{_Ò“ÅíÌ-Œ½^×C†÷Ù |‡þd1ÈQƒø°EÐØ7Î÷05÷CCz ­Љ˜Þ½è:ÿΤë¹ÀÎ>‚?H“^Ž´5:ò­7¸ ,ÉLFRf¥í¤ nž?Ü6ʧ|ƒVu…¶Ï+’,F ÀÖF\‰íªËw•¯ì¤ç*3~¢W¾q¸ûû®IƒñÌß¼Iõñæpç}%/Ú-Ow¸ò­YùjhJBQ "¼õ¡A¼sÏDƒ¬øów¡Û¿x8{â²N,ˆË3óÞ”ºG¾jÚ®;^PèMF6n«!:;04À‘Ô×ç®Q$±Ê°TÝ‚2M ›bÎ_5à#+µ“Qñ( \ÊiåYä4;31Q°jUQ‡2›ßÈÎiåžèïuó žõ¡³/àÚxš­éœ]ºÈõ¨ñÞ={sB&¯3$ìlP7™²!ƒ…£Ùuü½fóÈÚA§__›|‰ÈW¥ï½g²F§Zíl‰ç†Ñ“Xî>”N¹Wg —H^˜ÿøê‚;ã°3ƒ [ÌmÖËóŽyÃÚ·â !ayDp‚¸«ÊÖ«&¦L¯Øü÷cò,W[Òäµ\Gz Öu¬Í?_§`|U2䌡”ª¾"E`9Ž,2Jð©ëü2j{Ë”¥f3ƒ –²°.cÐÍÖHܱ›ùè:“@{_¼Æ»rè@aüL ÿzi£\É•‡-ÎIôØ^ ÎU+g/» å©~®×ÌÊú2Áíðþ =ç LßIbugdXŸBŒ¡36I©e5iz%ÈH%o߇@˜Ÿy™†LªwÛù\›±³ýeOLða¶7¨\'/ÃXd5ÙÄA'€ëthg’m?Œi_xóg=‚X÷t—ý¬£Û•N?eÖïPèìJ‚ân|¾!L*lÕVÜ­Bb6ï½ãw»ZÉfÝ ¯îcui§êNïmÔÝÞƒ~²], KõÏWIQvQ&Á·" ö2T]ûcÌ ag¸Àf`—uÔA9ÚËPy}F  Ò+Oè²{ž¬•¥”æ5VÎÄ“õÔ¨4*VMêØV9%ú~ÔÊzªK©g柯ÝÄ©Ö`¢¸NÈ|†·à¹ÞáJ¼L¼{ôH‚YŒ¶eß—2§ÕTä+ÙôqþýÚ.KM9²ŸÙë»Bø‰[¬6‹uÊjÕ©8«³åRÛš+ª[?ü«š é ’F¤Á ±~6 RAd—àC¤7d£û3i χ5@;°¶vé4öJg¸ÓO•{6 zðÙƒÍQ"W6×Óq:çÀG7Zú=3)þ6_•D›ø.9¼VÊæç\ylœ %ù©Eú[ô¥€§J² >âM3eµ¥;£kWjcäöd¥ú%+âïÓ˜J~ÌscCDzRÙi¨JÝpŒ¢ Ñš´JÞ:Q½ª®@r§Mw6]LoIÃVVØkÅ’FÀ<Ä–v8&dz9­;ó}ºZŽ²Òˆ~€ v&âÀ‰ Äf;ÜsN¬bÖJ¦geœ­„«µêR5mä¿üþlGW)5S&vUÖŒ/ÃYI·wœŸ½¦3ø£3QÖ û^]œ×„<Œèg’­“Ü—Œ¬”¤µƒzéËXgj“Žá‡2gÝî®é¤)¹¬ôàúÞ^•ø¡¬åiÿùjÓ–"½Z@ ˜ËÀ9EizFÎÅ0l0¶Qor§jÊ-‘4e-™œfšÐ9ÓÉùçÉÖÕ±`0º;‘®5k›Öe‡œýâ)º„È“˜e7ê l ‹8¥*—½+¨ðíμŽJåj‰« ‚Vhõ=Yp÷pc¶Ó²¯ä£÷²t”j=˜Ëª<])çxèç1Ìí°%Fû§˜-íè$•»A°·–@ám‘¸$ VÖÏãü¢ä¾½ÅGp+ÎqÇ…I¿2‘"႞ ';\6“·¦s)œ MÚʉ7„mž+÷³"èP›) j|}\Ù»ä¬Õ«·›½ïÞ·sïšÚö7ÕÌ‹î˜è«xð$ÆÜ÷Ø.íífLŠ€£C|yÀÄõsAÿÂPSï=ŠH Ö䬘¡âwè<Ï$Àl·u ÿ£ofÀ®îŸ&øX .ÄàË)+Îó”%Z˜ä­³vS&3ŒÊ°ªdh×4„#“1mKbÒ®zW¦¯Á“2lD:€K}må ”O ý˜ ÓÉa€|¨4 O‘œi¿=–ï\`tSXx¿_*ØÜ÷^0iûeèÏ­­ä±úêÌ€éËWu†V&":Û!6;Épn'ü™'ôàõž$D$W€L@€ÞÞöËžÚq74ì+U`ÕeTî(ÿd;ÒEìê§ß /üùCÖZtYT• ËÊA]R +¤Ë`/Ù°¥7ª2OA?ómS92:ÁÕdót‰•7}šA¶ë¦=•ºfÇæb8U†)c¹=(Uã½OË]–Ž [·²£dd—±­Æ²•/yH- ã¹ïcÎxDUúǯ¹¤|=Ïı¨&VHߎʵÈ3‚om(ø½±tú}"„îyÄû¥«eÑmãümñÉ]Ë7=TÞK“ÍÅ\âÙ\kó'ÕÀèl³wýèÜœSÑ!)ô[|ØvU]¡<‡å}ÿœ/Ã9Я ïþ@ô¯é­èþ7¬kGð*âSŠó¡œ¼$¶1««´M•âk·?ûW9ËJr?»þéß{ì@Cª@/ªaG“hV>q)‘5M€îµmÒh&T6 ó#®°°’¬‹Nû€ÈÆ|v™> Àjª&Õ0ÀÝY•ÕºD¯9‚}gZ¹º!H@zÿÞDä“›|Qdà *:3Ã"{û[·[š‹ÿ" "ôñQ#þI9*H»×mGXõük>–¿@ʲîsBNèT±F6] »–ÕRKéø¥Sfò±OÞî1ÀcÆ£Ó óÒuÏÒ¬UÍ Þpà*§¸¢òö6dS êûÁ€£³w*ƧSÇ\ ;Dsv*'Þ‘-¯…;Ø»™;‘:… ’`Ǜøå-´Sâ-€¹x„˜«ÁøT­ñê3?÷Û?äè¥5:Ãöœ„3 ‡€Ñ<Ï—,¯Ä#wÍ •S0_ï˨¿¥8`¡å|1÷s<̉@‡$Áý׳·ãK©Ã<LyV•‘—ýÔ_h¤¥wŒýv 0pﵬ2ÆÝÀWäÝ£—ÿù’Æ™“ˆd“Z)¸ó¬³9ß·ûŽaÍ„:£Õ üž„~X¡@(w3½ÑÞ\[Ü•ž%ÕÊ7äH•v‚>^]ì$8‰ËÔÂë£?e¶mȳoï+‚Ô A!›¬wëßE3ì*òfc²sßl>’ÕQ¿œ®ZT¢ä ~¡`†)ͤQ5â ,ÔªPN+‘…Ò¢j©_¢xöÒQ MåÔ+µåØ3jXQÃ~5t=%Y)än•  ƽCY–»4žý£Ú+NÆÃJéfL¸³îeV’BÌ%Êl\÷*Q{Eìw¡¿%zN¬ÏvG?¥<çèÛYÜ—Ù|Ü TnPµsþGƒ_àK#Â’ÍyQçT•Cf£Ñ–BІ3Ëbâ*fØûÁg¯‚*ï‚™;i+‰ÊİzÀÃyã´Ö“®LÞÕ‰ÖNV–œãfÒuía9šA=I§Yx¥É¦ÚÕÈw€µ£,RÏ{[Œ…sÁ·˜çÝ,:ˆyè&lIDŒŸ&æxÁ«²(I‡hƒ£·L0Ȉ¸èº"[Ù©X F9èŠæ¼ |\,¥a—kžïì5Ùsï¡XaÎpþÚ\×Єž9ÙH.Ë<¸À ÚH\ÛìH 9¶/½|Oyg—Y?@‚²*4›ŒÙPµîýã+ûƒ^Ûm?IDC%Õ,fïä€ñ)Тay½u*ƒY'¢Ç&®–v¤QO&YÑcW‚.G]0^¶d Î>ƒÚ/3s‘±Ã`8úBgÄžÙט¢³±ß¢í˜ß‡Øq'¶³ÞÛY&¸ºo¤K”Q¸"tÔ:»ØÇ˜Ùx<¿Ct-I“°Èw¶ãߤl˜íVF¤Dî'íRg‘lOQ×eEê®ÈEAR•£Ùá­i$–±ÍHöG€ÝJq|ßJ˜ÐöÅeqVu›”^?aô»Î<ž·|‘Ä«Ðuןá†kì’y…ìò¼·\ÍàýÕÅ+¾bÿéÇþ£jcÓ1È “‚Æ ðÀ^0žL=Öì¸xv#l‚Xe ÖÉ i¢dlˆI5$€RŒ_–{U‰™<.[þ‘€Ql9CMý7+ÆÃÿËßÉGå-UÄ ¯gE¯ï  èN¨2÷§§%Ó\·! ½”v™èå-¹ZÎX8ªlfU¥˜vµýõžp†žx¿aûÚgÉ&h zIª¡¹Y`Lˆ<胋N)Ó ÁØ& E6ÝËñý)P*W]ÐAŠ|q“Oùn*$ä.zç£Ûäû˳Y˜•xô¹í”ƒÑÚõ "@-ЍXûê, MÅÛ‚d î½µ±qê5DÃUÛõÈFqu•Î~YtZe2dÄÂ'vˆº•›îfBç–âÊdîNÕÈ¥žŸ›†²jýšp!ƒàÜ6™"êJ”F`å­b§SŽsp$Q@gŒž®+ý(˜_ìÐ…dgôCÄq”4v+¶¼&ÔU8}bC¹µêHªŒŒ4à|e\Š2¡ÔÙxu$é[ÖI6öï `ÃE]egä-ª‡˜@Ïñ[ãÉŒÎ;aÈÊr¼3hŔۢê%û÷[bnxâŽáŒ¸67ì>ÃHØ!œË¹H¿äú¾À𕲠Ӽ”e)–þ¡åÕÏïï€e öŸºÌª (.DY âN4ö'âdzJ>Š‘âô*:6óHUÐÈ•t#qÍž~>±y¶4‡A¬êíö{5÷ˆµíòí;ÐʲÒD/uAì U_ žܼ ß–í¾ `Þøf^vò£ 2½77â WÁ&›ôŽÖXFM#Hµnƒ4%‹|ÿD`a¸šÅ(“9{ ’.î9·YªÓ9YΘÞî kf¦Òëer€X_·•žu;Æ5äªÑÏ€ +𚻋sIZµ¯XøŒN b$wÔkIü‚S‡Šáï0* ¨––)H®áQc>*ŸIžh{d Ã1.€ÿº•2,dëa3د­ {ÝÛö,³ÚÏ2’~¨E'ê Øl¤G"À Ç7U±t6Ã7ðýûXw$0»}‹ r‡˜êèµw€ àœuꚺ¬ âBî+Yº+(e*°0ªºÅ•ÁOÙ}>äžLKׯ'àÿ-³ªVãàÕÛRÿq&~`¼9“tË7ê=f„yàå±숪wt¼¿1×ðb†T°i5û©ÓÎL&bë~ÇàœîÏÊ ƒÜ ¼«ºPïþÑ|}–Ò’ª ­Ê½Ø‰ÈÏt6™”ašv²Ö¼©3|iæI5p¤ÛßÔu&a×–Uæ¢ ¢@îI•:›ç–kñœrÊjØæÌœ²|Àaw¯9s Ð>åtr¯þk£ü{{Ê誀º¥ ÔLç´ú'; "w%I;õ~Ùì}r®Q)]™ŠtðFwKÇ#ÖR×Ã8¶^“Ov‹(ìGÔ¯‰âcVz+’ªìGqL´ï¢~ÕîúÎà›¨"殳Õaᚸ™W¯c5[x¯¨ñã2-.ª¡»Ò¤­Xò΄%‘º ~e¬{³¾4 òªR-­Xe@-;ÁÅMdÕ°7ïéMÛ™J' 0¨´;fVJ± £ûÜy gRþ'H¤cÛÍÖEuͬFEدék:_VIÇR'Fw(a:Q`^R•>)JO5»n•¼fvhpÌ9`Ìpíp6÷k§‚ÔQyÁy·í²úPÇ™ˆäz»™¨X·l̓4ë§ò'ûóg²"Še:,PUƶ2jýä<™«*‰ôF׋ԥpgR UæÐ à@ØÒ­õ~ðAâ$ ¸tƒ [þbèK‹Ã#àÇ ‘¸Ú7˜üxÀü./Õ6Šü¹}7–³£”Tš—«Ï…Mc²HÝÒ @ze±A¹Ïð2:¤['È–‚4ª´:ç‹¶: è;òUUüÐí ÷‚üÊWÏ=Ũ,›%í2ÿ“eºIUòÜ%”*ÅLŠ4óâ:)›;ãTní÷¨bÿîX‰*¦S_\hL-ƒ!J¿tÄ Î­Ã‡”3ƒ˜1 •ä——áèôœ4 '%a.€†ÓÕð·E'…ÞŒî« É, §3‘â#AI Qõü&€ó;è»™Ž%QÕm¡ñ¢a¯=öÿ`B; ò÷¶qçPþÔýåXúÂ0v“:ˆwlÝp~LùœÛ¶Ä¹tÔž'—Ȳâøê€¨Ð{ɨ©l¾Q€w¨ 4_Àþùâ˜ü$m½ÞÔ.¬Ÿ7©ýø •áÐ=ddn´Þ(òù¥>à¾p6 Â"FvH5-Ë®åj¡À»æöÛ23OxÀÕï9f~–¦Pà (˜Yø™Jdl· ŽPA+Î6ÈÖgó1ÊæíN`Œâ€w” *樣0¥Ê/eT¹Ýi ˜È,è±+~Bï1ÏŽy`¦²ŸßÅäv†o¯ìƒà£êDH¶û0¬{ú9GåÖaœ„½Å­AX›{þ/ã EÆaÁ ‡eëtnšù¤k.L^Q` A„) ƒ=e*Âå0?÷ÄœÉû›ªÑWÈ (Yq&«Ï­U1Ë0ˆÔýHÝìÍ íÐaSV¦¬Gì\ã9QêyG4¶ ÏßSQšÀLI† ˆ<ö–™­ìÈßäëNÅÔ– hÈsÚ÷ØýËãù¿¯çCø"SzõHnìÌ0>]Þµÿd ¶1¿7Æ2#»—6Šüù¸=dYØ¢ @#5±Áçh¡²!ÚÑS#ÐÉRD¾Êë=”™EöÀÍÄtË ¨4øœ²=YŸéÛb€ Wª ûZžÓ³F)+#ÏÔÁÒèQzMþ&Óùs1{‚ „hpg÷ò_1á+ίEäó¹`X ¹ýV,Эnè6ªß"IÚëÑëŠ;©“‘Ýh_{²/ñþ×ì:€aí‰7è쌛"2µà3¡¼)’T"k£;=JÅØU5º,;¸Éè€l3àÀdÃß0ÖILlÍë«ËVÏ`ª=þCài‘|gæŸvÅ^™~®è½æòó/Ê·MšïˆC(·h–÷Z]V¶6Óß&›ïôQgÿ²ÞQ,_6“†ã9™Ê6Ô‘™ÒÓ‘ï|æ«Y;4 K ú¿§·ü¿ÿïÛ@üÏ?’Ï< ¼`¾ÓS˧Fö}ª¹Í~oþµQ>åû¿Èf¶$‰–N<$Rk[d>°j‘ª¶Ð‘´ Ç¿Åó¶³O|wÚ¦8ªñ\;ó›;º:^Lü[¿Þ2Ô"¹é7oÌîܾ ”¯VíàåÏY˜>¼,Þn)ϧ¿c»jçŽeüÿ ¤’IDATU%SIEND®B`‚pioneers-15.5/client/gtk/data/themes/ccFlickr/ore.png0000644000175000017500000030076111346241564017502 00000000000000‰PNG  IHDRÅåã”3ÆbKGDÿÿÿ ½§“ pHYs  d_‘tIMEØÎ‘ IDATxÚì½ç“åéyžwýr89wŸÎ=ÓÓ“{Â.»‹`vA@¢X$E˦eR)¶P¤MüÁU´]ÅòÊeË´)Ù2U0X„åævf:§Ó§ûäðËÉ–­*«J v¾þƒó>ç®û¾Ÿ÷=ÝpÌ”^øtr| ï-„ã#øÁð±O<Ÿì³¼| {äPªTø?ÿàŽçq,ŠM~úç?—<~ç!'8yâ$™L]ÏÐíöQd…ô•|<—cQüh°òÄ™deeg졪&'N,`Û…r‘ÀÓØÛ£ZšÂó\¦çëüÚ¯}ùx>?Äã#øþós?÷KÉ™ó“å¥\;F‘MN/Ÿ¦qpDˆH$ˆ´F}"Êõ‚¢ð[ÿè¿>îÇNñÃÅÅ‹W’¿ù7Ž×ßzQÖ˜®OãûÙœBm2Ï[79±t’^ÇBU dIÀóÇèºI&U¦X¨Òë·y¸ú€ßÿ½ÿýxVÇ¢xó‘~8ùÈsÂ÷=®ßxƒÉÉI*•*q"Š2QP©Up­™\™V»Mœø‹E&ªu׿èh\¹†¡üÛ¯~o}ë¥ã™ǧ÷ç/.'ŸúäÇè÷ÆÄ±Âdy|ºL<¾ÿSÑЉÈq ¬s‹K´»-¶ww¤):ã1ÛÍ&S gYšœ' W._J®<ùÔq¬ú>"ÁL38ö˜äYÒ¦Â+¯½†¢Gø±‡’VIŠX–E¹>AÇj¢H"ÙR ׇÝÝAqöÌ*• ·îÝAAOé ÄÜÚØ¤Õ’™<ê»,,,095“üñWÿðØ5ŽãÓ{“ùé…$IΞ>ÅôÔ4o¼þÏ<ó±è‚à!hY$U X©Òlt(d $Š"‘ÉfxåÍ›Çó<î?r¥JòÑO¾ÌŸ=G~¦Ž‘I“+—°}=›bqy+‹!±¶íQ+O¡)Y -GÚÈ“6KtZ=6·VI<—j±@!“&ñ}T ×"pÇHBˆ*†Á˜ƒ½Ç±CJW(—Š$IB’$qˆí:|âùwc§øëåì©3I:•AQ¦æf)•‹8žM ä³)BßAW1DQü2é~£2…Rk8Àq]IÀõ<‚0"›Ë‘N§)äò®Çw¾õM\ËÅu\dAd0ìâºåÚ¦i¢›)ê3óèé ÿóÿð;dz=vŠï//|ê£I6#39Q`yi ´x¼ù/3W¯## I¥|žÎáÎÐfsuULÅ>’Òíí„=£&¶Ó%"ûhºŠã:ŒÇ PÍ ç¯<& ݈ÞÈ!WœÀóeÆãEÒp]~w ±N«8¶ÇhÔ§ux@·Õágñ—“?üØðXßNL/$?ý I4t85»À++žË°;bƒdꈄˆI ~D¥X¥˜Í’Ë™TŠÄXdÐé1žåû>ºͽ5«ï¶Qu‘;÷n³¹µM… †#Ö7¶Èæ+ÌÌ.Ñô]t=˃H¥$Ο[Ķm>÷Å_H~õïýú±8þ=8^Éþ;Xœ]HQ#“Ö0sYŠ“Yâõ;·èõ-¢ŠÅ2fÊD×UÒ™¾Å/] mmâ¸ózí6étÛŠ0RÂ( Ûï!+*¾íbYqœP.ÈeÒôû-2¦Dà™©ÍÐÝïà»6b&E³ÝD7UžûèÓt{#vv¨U*8NÄph3ôyõÕï‚pjy‰—_z‰ÅœɯÆÚq¤:Å¿?ùl5QT\Îdª6ÇhØfÜ= Ý ˆe…¾ëaGµÚ™LŠb>‹?´€r^§¸XC’<ºCS2IåŠ G6kLwÐb~þýþ'ðð<YRÉås˜…¾àG"#; BǶò¹ªà±¹zßé!GS 4=ÍQkÌÚú…Ò—¯|€V«‰ãZ¼ýæ]tCaùÌkëo3µ¨Mä¹|åóÉúÆ·n¼y,Žãøôÿ\y2Å„BÊd¾^'ŠbQ'HLV.>C½4MF6Yž›§Rȱ¾¶ŠúLÔ瘭íMÚÝ.Õê…r‘U‘˜¨M¡«Fý!!¾åa|ÒÙbùƒ^ÏïÇ!‚ ñÊ+×9{þ®ß¹K"ˆAB1eR©Ì/–A´ÈÕ²´ÛXŽÃsÏ=ÅìlɉÂ@¤ÛR.)•çØoŽÙ?j¡¤SÉÙ +Ç‘êØ)þÝ|òãŸLš­6¥ò‚“ÒEDIÀñ‡¸žEùÜ BVãv“«WŸ¤>[ã•—þŒrÎäìBG!6 ˜¹CÇbZ¸õò+”'+TŠ^}õm&j5&JÓlol2ìôÐ5•Š®Ò&$‰G1_$Í1¶<úý63õ9þéµß!›–1å4¢.1t\RfšåSypwSËGc«O±˜ÇÈÐ3E:ía’ :FNcc}›ÃƒC†ý6é”Îdµ†êl’Êg¸ýæÇÎq¼’}—/þôO&bìbõ,ZíÙB™tÖ ,AB’$¢$âpØec{Ÿs+Wô,Gòƒ~ìiŠÕbbR.UØÚÚ"e¾Û1®Þg4êR©– QÙk´°ìÝH#  ÊpêäI<ÛÂÌå98<`8F!™lÝȰ³³ÏK/½Ä©…ˆ@Ñ5´´‰$ ìllÇ!¹rŽÊDå3Kèfž­ÍñÚ«ß&=f§ç°]âÕ‡|›L*ÃO~;ð:}ª“U¾ýõo ãG9>MOV“Ÿþ‰Ï$‰ãâû6ÕRšJ)™9èíÈ>#¿ÏA³e{ä¤#Ïö­ä¢!+'KüÏ‚¹Ù)vv0Å„^sŸZ1Oµœ§TÈÒ>8¤˜®ðÔåSJg)èj…*R"ñ̇>„žN"aäòììnGMIiJÅ"½v‹É‰ _ú¿ÇÙ‹ç©LO3sr‘×oÜ¢Ñé3½x’ù‹Ôj à ðËDz<dºÝFƒ”–£Ù8Â󲥟ý©Ÿ!U¢0áäÜãŽÃÏüìÏ&ÿú«_=ŽT?Š¢ÈŒÄ±-lÛFK«¸‰G¦^çôSçI•tä$'DQ ªÓ3ĉ B@ä‘…˜ùùy~â'>KDü‹ßÿçô»LOO1YŸ¢T©³×ìÒ¹<ÞÞ'Ñ ½.JÊàÜÊy>ðÔeŠE“µG·™œ(B£ª*¹Œ†¬øTˬQŸÅ“Ó DèzÙP¹óè>¯]•fc‰ˆr¥ˆíº¬­oÓïÙ¬¯î0ôɤ`wó¾k³|ê çÏ]@$ Ým0j–?ûõù)|\*Õg——¸¸|ŠÈóGøð…ŸúLrí+¿‹âG€¹“ ÉÜòB2YŸâÓ/¾ÈØóYßj’ÏNóo—À¹¤Ø!£袊&‹ÌÌ•9lõ{—Ÿ¾LiºÀ«·¯ã"qòÌeææÏàš)6»}~ïþ²^¢Óv™Ÿ>AV“ G-bAÅö|nÞºN6«‘M›„®ïùôz}Nž¾€í%¤óUŒ\%%Q²t‡0t®¿¹Åx$"*G{G¤$“ó‹<~´ÎÃ{ë´l ™G#£HéY>ôôÇøÙ/þ"̱̾öºž'uzm—Çvpì —žb8ŽÙÚm¢jYæfOsåÂÓäÓ5~åï|9ùÕ¿ûßüHŠã‡¾h¿øÂ'“{k{\¸x‰JµÈæãD‰@&_ ÜGV©à´Ú».™Ü z¶LâG¨ŠˆDDmªH±’ãô™+¼óðÓe²%‰ZRà $^úú×$‰bFbf*GãÀaåê¢È!ÑTRj–£V“|1G*eEÛÛ{Ô'gH¥²´¬nlašiªõ"²¢àô¬|à*žâ8¾3fáüIdB–N.0²†Œ†-.¬\f~q’±Ý¥Ù<âÂ…s G쮳ÿµUnßy Ó("È"3SsäÓEöš»D‘CÊTxô ÁùKç‘Ä„ê䲤Ñî8鯾þõ¹sIcûþTß~˜?Ü/üÏ%½áˆT>ÏD¾‚;´ÙÞßeuk+—Î2?WÃ0#NŸ_¢5+:a¹B3—A ¦œÍ13=Ãpd!É*f:E>›£±ˆ®äùÖ·ß VåÔòs 5Û;ìîoP­”I§r˜z×s•„á¸ËQ»‰(ŠLVkLÕ'Ik¶å’13ô;#ÁäÂùË<¸—ѸÃ}õ_3¶;ÌÎThw[$‚Jã ÍÑá!ÏâSÔçæÉ˜YÖÖW;c †ÖˆV»Å°ß#ô4]diqb¡È~³ÉÖÎCNœª#$Å\]•Hâ€b1ÇæîÓ³Ó¬­­âŒ†TK9$U¿–)¯õÚ­¯‹â}Êßù•¿Ÿ,ž>yíæ½» Çcƃ!¢,²×ØàÙ>A±Ã±Æ A¨pØF*‡ªhØ®ƒ ‰dr9®ß¼I§×ç©§?@{,žšÂó-Ú‡Mœ¡ÍÌÄ4Ålžn·K¾ÃµBAIJ†ò2¦N’Ä8އÅŒ|›DÒ8!v±Û8àÍ×ߤsÔFŒžÿØG™©sãæuRfš(Š02&|æiv·÷xù{ßÃ4 ²¹ »Û[ û}ÂÀg8"ˆ2åJɉiÖVÑk7™žœáÉ•göl²“ý}DÙÀK¢X ÓnqÿÞ].¯¬Å"ãÁ˜R±J‰×\?º…îµ8~¨lñþæ¯%šjpãíô»}ÜÌG>ü<® Ðt1LL&ƒ¦jDA€&'hº€Ûma¹’n°´|š\>뺤 ƒƒý=ÊÅ),{ÄöîQ„>…B\!C‡œ˜=Å ?@’JÅ2Ù\ŽV§‡aHaDóèt6ÃÎÖ®ã033C§ßCÖ5f*<ÚXãÑÖ6™BBiŠëoÞgaf‰½­}:‡ûtº‡H*LMM! "¶=&DL3ÍáQ“úÔ$ív‹f³‰¦i$QÌÜü<®ër´ÛÀ0T2é4¹|‘j­‚¤J”*UGóiN.Ÿ!JdadÓ<ÜåÜùÓ¬®=fŸb©ÎÒÒ9–—Î`èiÆ# Çsq| ?ò3 Ín—ÖÑ€g?øV¿‡©K6ÉJˆ‰@µ\¡ÛP›˜Àv,Ë"mèØ£!~ä0=3AèºN¾P`8á…ív›H’ ™æA wî>¤˜M“MIˆâˆÉúSS³È¢Îa³ÃÆÆ6Íf‡ñhÄÑѧOŸÂ±\ö8±pšå¥³¤RYt]GEæç©”ò”ŠYæg8}ú4‹‹‹Øc‹t&* ˜º@µbpØZgñÔ剫ë4šìí7Ig²ŒG Déb5A3~(‹øû>>ýç_ú•ÄÙ Û]ª¹2¥l…É©Yz£kxΘV»I¯Óá°Ñ¤uØ ŸU!²™(—˜«Ï2»tQRÈe³IH¸¤LI‰Iˆ†„,œ<ÃÆöïEÏv)LÎ#é9NŸ¾ÀÞvƒ\&¡ˆ*™ÌÔg9½x‚…é)N.,²0s‚(¶QÔÏ! µj™R±ÄÜì"{Û z.®ë +»Nœ<ÁìÜ<Íf—íÝZÚ P)’J¥øã¯} ϵP•XT0ÒeRé*Ãa€ªg(UjDI›oÝÀ±–Nœ#vagc‡¬©“MkxþdzØÜÛÁŽ"†ý)C%›Ñ1R2Š"N§‘%ßKØÝÝ$›Iqrqß³P$LZC !›Ñi¶šuÚ¸A€(‰Ü¾{ 3mpbé÷ïßÃñlŠ…*Õyž¼úaâX! Cv÷·¥„‰Éo¾õ&11q#‰QS.•I¢˜8LÈ+ɹ‹—“c§øpùég“t±pMTd÷÷™(T˜®—ð i ú<\_ç»ßýý}ƒ!ý±ÍÑa‡|.Çç?ÿ“TË9N--!ˆõ©‚8ÄÐM30³Yš­a’Ðôyóר>Øejj–¥ù%rºN9¤R:C²¥2+çOãXc|ÇFÀ4Mª“3¶ªI*%!‹ IäqttÈãÕÇÔ&jh²L¯ÛâÌ©SìmoÓéuéõGäò2Ù¹|–Ã]F½!õÉ $AÄYøn€ª¨¨ªÄpÐezf†‰‰:ÝNɉ:åJ™Õµ5*¥"[ë«Ô'Ê,Î/òðѪ®ráÊYöšûôúµ‰"ªªÓéõ9l·Ù;ØC–ö{x®M³uˆe éôÍP ‡LÆÄq,„H¤ßë#é Ÿ|á…kïÜ»÷¾v÷Í=Åoýæ¯&û>oß|@à\¿~‡‹gÏrå©ã}ö÷÷¸ï2¢ÈxÐDz5Ë!Œ1Æó‹Yü  Õ dRŒœ1Åb!’„£V‡XÛX§ßéðâ‹/rt¸G>_¢×ï¢Ug98Ç¥t)óú«¯£©†frîâU²Ù [[[D±D*•bØmøžçFý~—¹ù Mgw{E)UŠt»]ÇÃw*Ù*ƒæ|™+—Ï# pjé$[[{dÒ‰1ö$‰õµÚ‡} Å{{ûèšÊâÜ ƒ~ŸBÖ¤˜Ë3Ú ûç.L +*ªn¢›1w0¿ˆ¦™ô-› /óèÑc¦ë³Üº~ƒDHˆBU™¬Wh4 ãˆÁp€iè”ó1 V+N)|þ ŸMtUã_üËõ¾,ãï‹øô¿üI:[¡×ëPL+˜ÃòÔóÓÓ -‡#;áþÚ.Ã2Ë"%×çìâ2ŸþÄ'øÜÿ8õr• ºÁùsçyóí$’ÄÆárZÄF¬mÜcÐ;Ä÷\N,.Q,Ô(d«ˆ¨Œ6­£ö·Ð‰‹g¯rbjÃÈ`Yõú­öˆû÷¢i2vÿ€(% A”e•l¾Ì`ä’*—®ñü'ñ=¸scUÌ#K*º™%Œú£Žã±¶º‹mìlïcYcD? ;ÌÕ§b‰awDÄœ:q’ ç. *!’à!„.k H°³¿Ëò™“É©åï»HõžŽO_þÍ/'Wž¼z­=è㇠‚ qãÆ êSSü­_þe6v·°œ.·oݤ×ëQ(Œ†Øã1ŸÿÂOñä>@}¢F"JTgNÒ†¤²y6¶6é4{öüÇøðG>ÈþÁµbšÀ÷ C ’àÒ><âÔ©%¼Ð¦×ÞÁÔU¢P`vþª–¢×ï£**½vEqíµ,A0Æv‡Ä‰‹¤¤r¥LËË™D±…¢F¤32qìãz–=D&!mš8Ok8¢3àXC"–G³Ýfåêªõôܵ[·n½ç…ñžê?÷·>‘I&v¿@B.«²Ý±µ¹ËÎÎ.gÏ^`䈬prñÃÃ#þè«/‘2³²ˆ5ê0;Yåâò9n¿uŸB9O¡\ÀÈd±=Áɧrˆ3ó y¾õ­?#  \Éâ.Žï¡›&Iä¡êkÈää­¦ƒ¦•©Œ”AÈ(Œ¬¥RQŒQD™ÁÀB“sAÀÌì4G6 e2$c—ñQŸ`ì‘NkLÕ'X}¸ÆÃë7xze…~ø9v¯r÷õWèuzdtç?÷9¼ à/_½Fƒt6C„Q€$Ä("$q„ij(¢Âp8D$$U¥69EºZ'ˆcdÓÀê{˜²B©§ßï’$ûÍC’ÀÔR4v¶€L¥ÆÑa‹l:… *4º”&Š|0u•—_ú6ãñUÓIeÒ¤Ì4S3 ¤Ì,ª É2S¦†ª+ E¤M±cóÔSO%»»»4÷lßxÏtŠßþo;!€”n ’žfç°M,)ì4±m›B¦Àìô9&ê+„R…ÍÆ Q±ì—.-“1C®\šãê•eY`éÌi¦fñÕ0‘U ITðˆn»Ëý»÷Ñ´ 3ó$ABFÕw[$žCèÙTÊ9’$dà&Hz–˜™›£P(`¨2iSdÔÝA=T)À÷‚€\.K©T"L¢X@Ëu“ÕµuÜÀà =lÏg~n %I±|ñ©bž×®ßæñæ>ÍΈXR4T>G§ßÁ|Šù¦aà9>2èõކÄA@ìÒµñ1òi*SurÕfZ'&!A34œÀcì9 ,›Ç[ëô­éT 90…b®H¯ß£Ûëà†ºÝ^“0rØÛÚ`<cè)êsóLÏ/PªÕ¸üÄ“LN×IgÒQÄph1rlZÝï¬>bsw ?ô)”ËÉÄôtrŸþ?øÙ¿õŸ&jÚ¼&I*öpL.›&H"ÜHà{ß{!Qˆƒ]ÕXZžâáÚË<÷Ñ'ØÝßgáÄ)š#ö62 ÙC.\ºÌö‹è™ í~‹‡·¨æ G:Ý#,×"_Ìã²fP(O°¹¹E:SD4Í LBr…‰ ³»w„ ¥“B¾Œ D¶¶Éåt|ÇÇ4 h¢‚ç$$±Š ‚¬…jÀж»!µÉIâ(æÞýû8ž‡¤ŠŒ}‹l9lj3Kܽ¹J¯g³¹½Ã7¿ñ ¢$¦X©²»»Gë E±:M»Õå×_'ŸÍ qày>‚(!Ä€ 05=ˆ¨†AujšÙÙ9@dk}MVFl­=¦ÕhP-pÆ#<ÇÁÐSˆH!¨²ÎÑA‹æÞŠ¡#D "rë­ìí" © A’pêÔ233óLMMãnà 2È C{ˆ8ľE¿×æ¨Ù$ôjàØ K'O"ŠårË ™^ãF £±ËÎö²(¡J¥‚Œªº Çmrù2–%¢hEÙÄKLfN\@M•ˆ0ÙÛëù2ç—/¢Ë*o¼ù=¶÷¶0Ób'¢ ¤¸:{šà°OZЈ"#•!Ÿ/ P®”ØÞÞÀq†Ôgjä‹ÙwR Øc‡ñÐFdYCU ´l†HÐ̹ü™l…ZµŽ¡›ø®…ˆìíîÑØÙ†0 Ÿ6 ‹ØsX9} MÓ©Õ§(T+D˜i]‘üEP Ý«?& @A.\¸ÂìÂI2Ù,q’àù.GíÍMƒ&D6º#ÁxDèØÄAŒïøŽçø¶Oàù”«õäGÚ)þ«/ýÉ3W¯Ð\_ÅëRÎæ©ÖŠÄ‰HBV×Q™ž®â¹nÞ»Å~³Ë­;÷i·¶˜™ªòÅ/ü÷ïlÓØ9BÕ 4Ù¤Z©°µñ€|6áé'—Ðä€su\qŒç;Üç!†a@“6 \—–PE IDATk„5ì!“°úðåB!JP‰¬®¡R*G(ŠŠ®Ä1(²Œªi¤Si”t Å”9ƒ!š’"Ÿ«ÍåøËW¿Ç;o±xb{—!e˜ä3yÒ)“LJÇPÓȲD6Ÿ! FÖ˜S§ÏÐh·yëÖmìQHgÐgc“åsK8öýÝu¦&‹hzˆ$ƒX}´FÊHáz>ívIVé´;x¶¢¨ì4ð#—ˆY•eI”ü!ŠPä„Óg–T‘×ÞxÝPY\X`w“ÃfƒýÆ.£AùÙY>ô쇹xé*º™FŒúã!•z•‹s ŽðF6Í£v¥J•ƒ½¾ë#("¥Zb.ÃêÚ}úÃËó'h±¹¾Ép8@W%¢ÈG bÐïrÔîpÔî!’ˆªª"âÄ1™t–$‰€Z­z-Ÿ/^ë÷»_ù¡Åïþîï$?ÿK¿tÍ|nÞ»NµZ¡ÛíÐ<ØÁ‰tCŲÆHèfšj!OèZh¦š+PL§v‡œ9u– —VÈÖòö[Œ}3_"NV·óí—¿ ŠÉÊÕÑ<0U›¢Ýh" »#N>ÇT}YUÑX_Ûbb¢Ng0Àu<)&_H“+1ÌckHÅdÓydÙ@–uR©õ™9¼8ÆH8lõ‰UQ’QÕ©l™îÈ¡?ó'ò§LU&ð£˜7ߺŽïEØŽO.“#—6‰ìYMdóñCn¾õ&½~—"Q<ŸL*K:W@¼±‡ey$‚ˆ$ÉH’ún¾G$¥ëžÏå• øö«ßáé<É;÷ï²±ñ˜0J°F—.€‹W®¢è“Õ“µ{‡Mâ o¤h7›¬>~H§Û& C2ªÎasŸÈ÷1u o<Âî÷özŒ+g®ò̳¥×±¿Û AâÝ…FḚ̂µµK«5$ŽLÃÄTu¢("ð¢ "@Qu$Q@tM&ð$ADUµk–mýµ ãûº’ýÿéLRzŠJ!ÏÈwtZÔ Á°·sŸóçϳ°pŠ;wP©Õµ»,ÏÔ DŠŽg‡ôvy¼zŸø©™›[f0ðoÿ9®osa婼ŠUø“?þ:­Ã>¥35šG;ȪÄêÖC¢ÀÅd$]ÆÐ ¬‘ËвIÄÉ0±"—r¶H§÷î3q3g< kQ`!«©jT…Z±€ûHT+lkÄa{ƒºq‚~¿K*áþÃu:’h`ÈvvFXc‡rv Ës¸uc M-SÌ瘟=…`è¼vý:í~Œ"åpG>š®’Ö |Ç%Œ}$1f¯±‹ã8ÄQ±ˆgy¨šI%˜ AQB7 ÙÙß'dþô/^âà A1[¥7hR)”ÈfMš;” yö„„ÉÊ$óSs¬Ù!×ß¾‰ç½5Ã0äÌ™³(ŠÁ½û·±¬†fÍf(•ò<ñÄÊå³3 ìíoÓn’/ÙÛÙb ÁôÌ$n—^¯OZ6ÈäshšF}f–ƒf“íÝ=IDU4„(" |ÂDÆP$Af4a9²¬%Š"â8Žð¾wŠßû_ÿYR,eÑT' ±Æ#z½>S§ÎðÝ—ß V™âüÊ­6R$2 =cðÎÖG–Cerš·^‹8 øÌg~„˜b>!Û¯½ÂÔTøÎKNÁ(’¸ W..CÒÃõû¤sizc ™ÉZ‰j9M·{€®Ê(ŠBèGÄAÂh8Àu¦§¦I§MlËÆ±m ùI Òö¨–ÊID6•%N-…¤˜ìí·¸}wQN³×è’Dsõ“T‹S,ÎäÆ[7 BYQŽÇä y†#‹F³I*›¥\­rãö[´ºÌt–ŸÿÅÿ„B¡Ê£Ç›^@EXc‡‘e% J I"&05UçÇžÿ(RáZiÓd40Q©qîÔš» b?Âu5Áå+—XZ>A:"6xóÆÛ4™_\À±]lËÂsTE¡X-rúôi&fêŒ=—åóçØ?hÒï 1õ"BÂ_õ4p}8MÓIQ”‰‘®‰ºv-ü¯¼ïœâÿþ—¿Ÿø¾‡nêôú]J•2‚ V³×ÜâÞãLVrT&*þ<ßzùuòÕ)Aç Ý¦:7Ãên%½ÄS§/âÚRq”3YI³»¿ÉD}–qßbwsÃÔ$I9±0…¬‰Èb€€Gm¢@"JôFR¦‰, DQHgÔ§P,%I,’M£¦jrîìU¢ ÁµÆ´›¸QÀ…«géõ‡Ü½Q6ˆc IH’„?ùÚ×xå;)’ ¢>Ueåê2ÃQ‹'Ÿ\Á±-îݽ‹ízºŽ (²B@Œ$ \\9ÏìÜ4÷nßDÖT …š®Q¨TX¹bVûˆlZáÜÙóHŒ,›Zy’S'O¡i†ªú›«8Ž…™JÑéuñCŸ“ ‹ø9ÖaUUPU…b©D¥V!›ÍÐjµXÛXååW¾Í•'>ÈåË—xôpA †LMM ÿÕFï‡q]Ÿ¿øæ7é÷†hšúî%a*E%øX¶ƒ¤ˆ¢ˆø$â»ïÆQ!ˆrÕ©$mìo}ÿþXô0Q|åŸþ“ä‰+çHb# mt%…„8 ‡´n8ðÂ?Ë×þô/8yò ý}¦g©Ufi÷Û¤ “KKóܹ}‡¾ÝçCÏ=‰Htún,ѹ´»CšGìÈe¦˜ÁLõ<·n2êïsyå4¹\öÀ¥7ô¤>žm£™:ºa ¨*™LŽ8 ‘Ek4@ˆú=‹L±D$+ Ç1¦Q(fQÛ¶I’E’¨O(åÎóàÑ&£n–no„¢Ê ¬6‡mêÓ3¤2emK„¬œ=C¿¹OâZh*Ì.œ¢gõØ\_GVB?DRe䌉„ô­1½&ív‹L6Íìì4õz¯þ›¯2èv1 âˆ_ü ž¸ò¶åòxõ1k[kìn¯sõ‰Ë5HæQEÕ‘%D€AgÌf²ƒ(Šˆ$IB­Vã _øn‹í]Æ£>ÄuFƒ>ŽcS-— Þý×»»»Ô§j,/#¥¦ØÚÞb ]S‘d™é¹ºÍ&ñx¢€ Ø®G¨†Ž I²I‘€ˆ„g{d3…d8ê ïIQ¼øâ’•=É;›ëL.Ìb¨öØf²ZÃÛ„Dþ€G«7ÑE• ¢ÙHƒxäa[º^A’3¼yãm6Ö H zÖ`aª†ØH²@%ëÓ v·Ù.ÎhH)“¥ï…ªDcwƒ©ú,Ø¢2‘'Ö$º>Ä#C†J¡Èúã»Tj*õIH4=‹t!†”Lƒí=´tAO#H)z‡[¨†H™Œú•b)‚(BÖT”lŠâD™Gk÷Ôùî ·”ÓÈ›vïˆlJFœ(ñÎÃwõPT…”™F@Äq‡œ»pŽ7oÜBÖSرÀ[·ïó|µŽžz÷•¬çE„~@:›ãÔÙeÂ8¢Ý9‚8&ŽZGqÈw¾óúÃ>‰˜Ðê´9}úŸüÔóØ#›ÑÐâÄâ{ûk8ö˜N«Í㇂Äaëß÷Ð QÑ “ÑÐ"!BRTÊå/^äöí[¼üòËœ>½Œ¢(¢LäG4Mn^¿þî—Ð “¥¥jUEARUL3 ˆ†N6—E”%OÌ#'ƒa]Ï&6B$’+ü Šð<ˆBk4@•bò™ÿòüzR,æøÕ_ÿŠðžÅ‹Ÿû’ó§æQ„ˆ¬iró­Ûôºò¹<ÓŸ™ÉÁLëvm^~ë/ùð‡Œ¾cá9oßÛÀóc>óÉç‘ä˜ÖÑ6ƶP­M“ʉ²>‡C2nšA~H*#"ÊðÆë¯ ¡©A້”±µ»"*¤”³œ˜¯“ô[Äy¡kAJgav M7‰¼J¥Ì ÓedÃÉú ±ï`¦òl6ÈUJ4›kȘj¡Ž;nsfå’¢‘ÏØoì°¿½Eïðo8¶Ç|÷Oÿ3e2S®†>~ÆäÉË—°]‹¡ÕGÕBßçÉ'/!Ê F“í­;MF£>Š*Å2I’à‡‚ ê)žûðG˜™®³µµA&“affžõõMîÜy‡J©Š,*Åý~ßÞ½ãˆ#YƳÆ# YÓÑUÛq8Žˆ’€É‰ SÁs=þÍïÿ³Äc¾øÿgÂL_úòo%o߸C.7EH‘ýG™˜˜ >9É®”Ð<[›œ93K³1àÒ•‹v¹÷O_¾‚ëë¼õÆ NY¢Ï`uŽFHŠ‚‡€(F18¶C6'F.? ¹/ò“?ùcÄv+¶Éæ8lö1 ‰…ÙYŽÛd )’0ÄK"½;.µrÕ‡wI¤§Ÿ}–­Õ.‹ ‹xÂÈ‘Éä‘—ÈuÑE´»L“R¾€)t{™\š|qžtÆD;(ª„ðn‘wR©wï#ré4>!‡Í&ºb²º¹Á Ÿ~AŒè4vÁCa;.©tÇõxé›/ñÿòö^±²¥×Þ·sª\§NÎáÞ{nŽÍf7›ÍîfS¥ñŒä$‡‡Ò²,Ù€Ÿ z±Ÿ<ö`ä <Œ‘53°lIiQ¤š¡Ùá²›}s<9UŽ{WÕÎ{û¡~1 §÷ÚOµ×^ÿZÿ·¾%& ²,Ó¶{øþÃÔyõµÏ³±¶ACÐ'LÆ\¹qn¯,¨ªJ³Vgu}•z³É'ŸÜ¥ÞhMjˆ N@×-HEü I$IfjjŠTHpÝ1FƒñÈãîÝO8;«ø!I o½ù6gÕ:×®\eyy‘½½—„aHŌچíЦƒ$¦ $ I”ðøá#Ú6qÑëuYÓ‰‚U3) D¡Høó›pI’˜žžåòåW1ÔYL#K_¨5ªüÑ?ú‡iÖšâßýÖ¿#üÿ÷›ßHË³Ë lËÈqéü:qèª27æQDfót›uêg'd ¡›rº×âæÏ£ê*ó‹‹dòE^YXb¾<Ë`0D’§ Ã#¬LžóçgðÜ;/±(NŸçÃÞgv¦ÂB¥ÈáþKrºJ¯@a#X±3À%ÔXE·,Z6]GÀ,_£áîà2NO$cL3»´ÆÓƒ=–f Æ6Ó³3(j‚ݪ1赉RÈTɨbG—ºd2žßESUúíº¬ÐôQ4U(dL ùSÅe¾óݰ¶QÂ4uº!ÍF8#KÍ(¨øžGôãqˆieÑ‹ef.ܸÎËÙßÙ¡?ì’D#’0"Ž5¢ buf§ßÃq¼Àƒ4æÜ¹uÞý¥/q|xB£Þ¦Óiâº-¼ñçVnÒŒé;¤ð÷ÞãÞýŸQ¯ÖR‰4‰c@ñÜQQÕ Q” ý¼¦j¶ºŒ‡6OŸ=AS5ÚÇ †Žƒe™|å+ïò¹W_áîOïqîÜ9^¾xŽ‘±xúé§Tf¦¹ùêëx~H«ÙÂPU ƾ7á¥FI³3‹Ì-̳³·C¬$,/¯£i:½^‡baÒU•ø•¿õ‹,,Ìñrÿ$Jé]Ìl†ÊŒ‰˜×øã?ýnú_ÿáÿÓ ø~÷wÒl¶’F½Ý¤¹Èfªd¢+9~ðƒ¿¢KÁ¸Ì/Ìñî;ﲺ±D·×`euã£CÈX:ÅBŽv«FÚéQÊçè4„¾Gš&ˆ’€( Fªªñ¥·Þ¤R©F1{„mOZø³³³”+wLÞ°¨L•°ƒ‡÷Æ!–•%—ϰ´´Â_üå_ ª*³3ÓüîüÇéÖÆ9þà÷¾%ü¿o}þFzûÕ;¼|~@«ÝåúÕk|úÙ]й9Fƒµn Ó“&…\EËafâH"$¦˜ÉàŒÇH¢ÄáÎ1—.\§ßLVâáóÇdr:Ö”€êi”¦2ˆÀÝ£'÷1ô^ª°¹´‚ÉÞá»»Ô; TE"%!IÇ]dUÁs=4ÞyýU¶/¬£I}^ŸÚÉ7nÞamí<µF‡åéb9!”=‚8á´^czz]Y],±óâ!†)ãû#–W‘$‹ÅùsÔuòÅ2c×#L¬\‘á8äàø„b>dz—\»z›‘C,†!õÆ?Â2UÂ`LšŠˆb‚(‹øN‚‰$§Ä±CËØƒ `DQ"›µ(çó”³9.^Øf4¡et{H.ŸÇ²²¼õö›xî˜Á ÏõëWy±³ÃñI“Ÿ|ø)ƒq‡(•¡=FÒT"IdyN¦t;}Š¥··¹|å"N¿ƒë»d²yFvƒ…¹<ªnÐhi´º¸cŸ$Ž„Ò”8ŒpCMWyû+¿ÀæÖû;<~ôÛ±±6¢(2S™¦gwH“„|ÎDÎ|òè¦a¢ë:nÃ2ù¬ñ)ÓåYJÅåRžWnÝÆ²²üÿù?J+…i¾õ»¿.ü?Š/¾ò…”$åâÖu4-ƒ¤¨Ü¸q“ÓCâÀÁPZõ}6××øZù uÖ6·¸÷è’,Ä^œ€" R™™¦þÞ¸÷ð)‹«Üü„žÝä[¿õo‘ÓU¤¬$‰|ÿ½ïR¯;Ì—ÏsvzÄÚÜ"¥â /ŸïЮ²ÿüº¢ø)²¦“GR*¡¥‚,†cWŽȘ„nÀÊÒ*Å© ÏvwP$ !Iè·ºˆ²@±8M¯?âñ“§ˆÀ?þ!¯¿ö&S•2ÕF=“!‰TgL>—ÁuŒÝ’¬“FYž>À“GOY˜_ayi/ð;±Ñî´15±Ó¥Þo¡ë:’¬1v'û·UU#Š$T%ƒ&¾KF·R gà> ‡Ç‡¼óÖ;¨šÊÑÉ.¯¼r‡'OŸ¢iË‹„IÊÇ>¥\*aLMqðÃ÷Iâ{0ÀE$Q`v¦LÖȦÐëõ:cdE'›)¦"I’2=3M’è†ÌÂb‘“£:m‹$ H…˜¥Õry³Ú ýA‡©|ÓÓª']* CÕ]¢M…q2Y} )a8Aàí·Þf}k…GãôÆô»’*¤ vˆ$@³^öǬ­oráÂ9ö÷i´ZœÜNÆ4(½™C– â8¢TÈã)'‡ÇÈ’L>7ÃËçGÌT0t»ïШžÒ霒Ä1šª3´mlgŒª%ø^D”ˆf)#!KþÈ#N|bl»ëäòzEWyy¼Gy¶D±˜Å«ŽIâ× ©7iÔëˆr©a K àØ}¢0EUTUäßüú¯Ò¨×8;;¥?qtrÆpä¢k)’”òÊço³}é"?üá÷9«žÐëÖYYYÅ´tŠ¥<^‡ÙÙ2¢"Òïz eD)!J²Åûû„aÀòê ZÉbûâe>ûô1û‡hºB„Ä©Gƒ Hˆ¢Ì½O>% ª'g$Q@>—eì:„a€ï)—sܺvIvlrŠÝé²¾ºÆÚú*"Ó¨ÏJd³óŒ†“ ¶ ê& KEþù?ÿÓ´V¯òŸý§¿'ü_ž§øgÿä¦ç—è Zt].]¾ÈæÖK‹ ŒÇÏŸ>æúÕ+d ‹|¦ÄxœprÖ!’-|4žîш’‰ªZȪ‰¢g8«÷(LMS®ÌÆp÷û|ý—…ëç×øôGßáéùû“¿æáÝ»\ߺÈBÉâÒ֯ݹ‚¦˜xžCÏ ±(‹!ˆ)Iœ"¦’â…ŒŒÊ»oý9sš ”ñ%Ù¥izv«7nQªL3)sØýB<µp†- b~n‘·ßùeRQå´Z%ŒÖ×ÖˆbŸN»†;rÑÔÙì ŽíRÊçiTk8ý.žkÓnÖ‰‚§?bä ¥Ó4Hã”þ`H‚aYhšŠ,KÈ’ˆçuñ¢~Ðg<²éõ» I‘Œ ‰²L«Óçá“ç(ºmÛ«x䲸0Í/¼ýEfò9:§uzg=„@%ôDÅB|nݾ‚3ê#JãqÀüüKKK@L.o¡¨ð…/ÞæÚóìï?aw÷9îÈg< ÉXvwIÅ…%Â0fnf†«W®£*:§Ç§œŸF!–¡#„!yUãíW?ä…$IŒeH’ ’ˆ¬h(ŠÂ7üñÀ§Q­Ñj‘$>q”`è¢ÐG|.o_@BÂv\ôL–›¯Üáö+w˜_˜§X(²¸°„®›d3E’D¡ÝÒëyȲN¡Pdè„^€©¤¸N‡ßÿþÃô›_û;éÿi¦ø/ÿè§iðàéKý>»;{\¹x™7^ûù\‰Ÿ}ö)N“õõM–—½U×iuz<ÙÙan~‘fë)†žeuq‰Ù™yò…Õf“úË]ü FÓUÎjì±}þç6¯ð?ÿ̃{÷E.]â êðþƒ'Ì.¯*ó¦5b!â;ÿË]ž=?E7ò„ID?G/4<×'Qu1UùÜ­Ï3WÉÓiì°´0‡eŠŒ:E«AB£×F6dÆI@$‰(º…?賿ÈÆÚE4S§e{ÄaL£5"gäs2­zLàñÃ!N“Õõ5¼pˆ@B¯}B§ÝCQ Jå,õÚ.ã¡‹a‚׈IÓgì#à‡!YÃDÓ&¦½(tI“„8ä„ Š #5Qz6’*úФ²¿{F«ÑÅ9¸ÞˆÙÙ·n_¥^=¥Õîò¿ùoøÏ_ ÍVƒ?þ>HH2V¶€(«¼ØÝg4vT• ðX\\¤ßðo—n·ËЙŸtEáîGŸðú>®ô{}’4b8pøê/¾Kóì˜Ý'/Ø<·EÖ²ØX[âþÃûhºÊüâ ßþÎ÷é8#DA$IHt]¥Ï“1-\oÌÈñ89>%%Ââ$A@ ¶·Ïsûæmò¥ ?';UÁöÆø‰G^ˆ1¾çCª°µyv«‹?Ž(•§DßO°‡ª"Cœ  ÒoÙÈ’ÎoþƯ§vßæ/¾ý—ÿ‡Ì!½öæWR/MpF#>ºû1N‹+—·y÷Ëo3=]æÙÓûüì³÷™¯°¶ºD½vŠë:8#‡ú f&Oš 8ý·.]&ö”õ7  IDATÊåYâT`8r9:<&ŽC’8¤Ûn3è÷Ø:¿Åã§xy¸G*I|ñ‹¯37;Í·¿óW^L±8ÅÎó=J•Yâ4açpŸjã„(rÑ%R%™(‰‘ Ïv¸²½Á¯~õ4)ÅÊLI1±Œj!ÇêæyFcÈš&ÃÁŒ•£ßе],3O¹2jŠôì.?ýä3ææÊ¬,Ïb÷úľȕ‹7iuZŒ‡(‰ˆ‡áÙö`€¬¬­¬! ª*ãyczÝ>­fm„  ™&¢$F¢çáŽ] BÓó„QBœD H(ªŽ*›¨’‚,ˆ$iDÏî1± í-:}‡ð1¹â_xçDCÁö¦æŠl_:çJ„A‚¢Êx¾‡ie¸~ãgõÓÓÓèºÎþÞ1‚ óúkoq|\§?pXY[a`÷Y_]ciq‰(ŒÑ4lÖbuy–Œ!s||€®ÉlmoÇ1år…8Š™›™§ÓjóøÑ#"Ab`Ã$I‘EQÈå2,/.Qo´ét;(ªB’Ĥñ¤-|ýÚUÞ~ómÊ•)¦§æ)—f°{}žˆ Šl`Æ4Z-šÉXòÜÜ"Ý®ÍÆÆöîî=ÿß@Cùè`Œ*!N• o“ŸÊ²µ²€ªÜ»ÿï¿ÿ‹ó3šžôˆÂ€{G$‚Hef‰ç_ÑE~åoý2V>‹ Å$BBÄ(‚Lø$ñÄOä¤QÀ ÛÂî“¥…YNÎNhu»dsª)ðgþ¯(æ³¼ñÚºµCû/Q¢Dù>º‘#Œ¡R.….²¦ðî»ï’¦>(’®QÎLãŽ|ê­Këk —(IS!Q°¬,ˆ¹r™ú¨Oä'h–HJÄÇ?%JBΟ»…?ŽÐ­Ë…9œ$«ÀñÓ=vööR…ï力Ó$©‚©— }rÙ µÓ#bßCFô½þD!M‘R’” ôq†Q’Ä1Ц#«&RR‘Æâd+ªª‚”Ç12•+°½½ÉæÖ…B™ ñz§'Mþø¿ÿŸXÛXffaš÷?ü˜TRxç7ðFcövvúc~ño ?Pðþæåü4År…Ë·eT=åÒíÛx‰LçÏþœb~й™"—¶¯ÐíYYÛÀ÷lÒpÈüT§×%k©Ì/n"I">$ŠCò¹,ÏwžR­¶ÈÏL‘Ú>ã±K¯o“&1ç’͘è¦Á?ù˜êáÉ„¹ŠDtYeªR"_ÈðÅ/¾Îùó[x~©G¥¨ðæk7ØÝ/¬b;!aä‘5M3¡7h# !Éò "LCCKĉ☀¾m#É)ѬHè™,¿ÿÿIÚ¬¶ø“ýß òæê*V¾Œ›ÂÍ×Þ Õ¬1'<|²Ë>øˆ™¥e²³ Ô»-²r‚©)Ü{ü]Ëâô{è²À·~ó·ðƒ„NcÄÊú&Ñ‹(B¥˜C%ü‚0ÀõGHšH­Y¥Ûé#+*¹lg8&Œf¦—¨µ¶=2²Éhäñéƒ{Ô;]\$YGJ!òB UÅiµÉšßüõ_C“e†£¬5ÃÒò $ …RB½qŠ Èø¾‡mÛTÊ9Á%ñ]:ý>ÎxÌ_÷û¼þú«Œý6f¾Ýä­7¿Â‹ÆŸ™Å)Žë5äNÃÊðàñ"²µ2·ˆ. “ò,è÷mâÈ#ð=’8¤Vo1rdIÆ bÒtòÛ(H ½˜$‘P0óy$Ya4vñýÍ0ݘàÓ¡ï¢*2—.lrùâΟ_g~n–F³ƒ?ÖXYÁ’óȪÄÇ|H®å¯ü"ÝÞ·ï°¼´Âüü û§'ä¬/ŽŸÆ=¦7¯`· Æ4»{Ï)—+žî‘ˆ÷ž|Æçî\Ç lÎooЬ70Ô„l1‡¦C¡¸H«Ý&IDF£Ýýc¼ âö­UÙ?<âè¤FŠXÙ Š®Æ"ª¨ã¸!¼À¶,Ï-`eŠxA„néÌÎN‘ÍjÌ-.Q®L•N«M.[ o™™›%J$ Í Š’Ÿg E1g`1•©âä4!ktìÃñEב5ÍÍ $ ªµ.šäpv¶O|íë¿–J—¯~î³¥ –e É º¢0ìÛ¤aBĨªF~jžF§‡lüäýØÛ=äì¸Êt1ÏïÿÎß'Õ%Nê5V6¶¹={@&cÒ¬×èu[4Ú5jÕ3ú½šª k:aa²,F³ós$I„¦Š\¿¼ÍpÐa8ððÙcTC%Bæã¾Ç…‚`̽GQ$‘Gï‘Çû/xòøS†v‹•å9ÎmlP*”h7«´,/O‘>õz‡µóHªÎÓG;8#—D”Çô‡¾3äè¤J­ÞB–URDYÆ C¬L‘(UTùê/þÛçÏcX9¬BIU:]n\¿Leª„ïyÔêU M¥T*áˆ2aãºÁÏÑž Iœ’2éfMÞ-…\ÖÄ0e ¥ÝîRoÕ±‡6‚¨ ê QÒl·‰|wÂÑ%>± -¯lþáæÒ4J”Ð9›¨Off+lnoqëÖuB×åèð„ZµÆÉá!Ïüð§ÌÍ-"¨Ž¡9>{üŒ8•Éh&Õ£SÞ{ÂÉA I0ÑD‹Wï¼ÆÆÚ&—ÒmÛ4Ϊt›uŽwh5(²Ž¦f°2š¦!ËŠ"Ñïw8::â쬆$ËhªIF¤@6gÇQì!Å>a3y„qŒ$)ÈŠŠ¦é€ILœŠ¤IÀ­›W¹qý*+Ë‹ JTff™š›AϘ4ZMž¿x†fjrptJ'œ;wƒãƒi(P?m0pl\?À2‹Œœ)M‰ý©|gOQ‘JiŠR¾ÄìÌ"g§ûÌÎÎsnc›^wÀÁÑ!åJ…õÍm†Ãý½=ªÕ½þ€ƒ£c†c(‚Z½Eœ@”ÄÄQH„©D.Wbzz–±kóoþm‚(äÙÎ.™LžÙJ™RVc¶\ kŒÝÑ TgÈØó°‡#U#I*•)ŽNOð}Y‘D°, C—‘e‘v»G0 Ýmâ8} ! |š3â & |? Ž Š@ÞÞ˜åÖ+· ¼€{?ûƒ‘!˜x£z»Q§S=át—Ñ¨Ïæ\‰éò ó‹ËÌ--1 }®n\Å |̬…’Œ‰G.QR™*Ó—R:­:q‘Š"1V>nj¬¬­¢íîù¹%^¾ØC2MÎꊕyvv÷ÙyºÃåkW˜Ÿ›bmmM“i´'…™•—‘TÀw™™¥×ëS)OÓj´‘4 C&NCþæÇÆîîWo_Ĺôm‡{÷°÷â)v¿O·ÞÇz¬¯nòõ¯~ÃÃ}6çY¨Q“^¿ÃÉÉS }D§UG&dqa­mfçé÷lTM¦Q?áð°Nõ´J¿ßGbÂ@Y$W, i ƒ@G$1€‚(«¤ÄIJâ‡È’BÆ´pœЦ'1×n\C”eÝ.#?  [tì!¹\Ñõpz]'Ç,,Ì’z.¾÷}æWÖH唂UdëÂ*÷>û€$Œ89kzGܸ´M£3¢V;¢U? k™üêßùUŠ…õf~¯K¹4ÅÆúsóóøÎî½ÀëœÛnq÷§?âÙ³dU£Voàú>‚¤pj× ÇÈ¢‚ç‰SË´È*²JÐa~¡ÂhÜáÁƒOÉf 5BS˜ƒâCÕ]V‘åÉ•Z³ÓÆqü0@Ut¦*ÓœžžÐé4¨LÏàù<×ÃÄÄÓÓ,ÌO#µZ•ñØ!\,+C£^Ãu‡ÄAŒ¤Éˆ‚J’Ê ÅöùÆÝþôÏNX][&S0‰¥˜G/¡(:VVb{{“sëk´ÎN°r¥,¡d (E†ŠÅÞQ“%97YQ%DLO¨žœÑo ØÜØàè¬A˜ $š‚^.Q.dIHHãˆùùÖV9;=ÂÌj(†@¶h’+gé4¸~‡wÞù:Iñé'1Û\¼pNk@{0=SBR4RAÆ4r~B»Ñee=ÏÑávwÄëwøÓ?ù—LÍÌPm´¨žÔuu$IÂ0Mnܺɥ+ÛÜ{xQMQ Y׉C‰ngÄT1OË”¦Y\Ù`}s›­­süèßãþ½Ÿ! µ³Q”NPIÆ "H#dAÁ42¤Ä„aŠ(ÈÈ¢AǨº†ªjøALœ “¢[Õˆ’„0N™)Èä*ÈŠ„b¨¤(ºALŠ„(^„çľOãìYˆ) FN‹¿üóÍâÚ:ç76»mTäD`<öøÉþÝ* §.¥b–ó›k\º°ADL•3Üýä'\½zUÓøÁ>àåî§SvžÉjÔ«-VÖV&áŽe‘ã0t†ˆHÄQ„’J¢H¾XFÒtÂ(bÐïpasŽõÕeZ§UN«u"ˆ6S"ð$Õ"4%‹eåqì¶= ŒCÂ8`az‘(JhwšD1DI„@‚çñ|UÖPTF³ÇIõ” Èg3´\‡N»Eà„˜XHP5 ÓÈÅ"²"#w‡Cvw>ã³ûÈ—Ê<|øϵ)XY3;AvƒˆÊÌ>‡Í.¦¡ÐQÜ€r¶Â ÓÇÒ³Œ‘—’)ÇGUÜ‘KßR™YáÞ£=TÝB7$ú­c{D©PF‘$¶/­0°=—×YY]$Œ|v^îÑí;TV¨9!g℞/Ÿš§6qT¯³´¸A$«ÖëäL ÃÒIÒ ²ªÓéÚôlZmDVé4;”óyöŸ=ƺ(¢I„hZ†q<ÂÙ$$øqÌó®Ý|ÕÈ¢¨ i ÷Ÿ½Ä #®^ÞÂÈåt™z·A£Ycä8„‹“š!HUÓQ•0 ÃE’‘(Lei²9uì"I2¦™Áû”JSÔkudYÇ D•F£ÊôtUTEX[šcoÿˆ~¿O¡XÀÊgyôà>aMüTªÌ\iŽæi•ï<~Ì›Ÿÿ$Ÿ·xòøÏží`˜Y¢ÈGÕ2¬®å¸{÷#Z­‚(’¤ ""º¦#@q  ínß«‘-(ås T5‡¬xôäýÉ\¸ï3;»H¤ôœ1K ‹$qD§3i‚ˆŠ„¬kÔ 4ÕR Ýb4t'>.YGö¨UkŒƒ1ð‡£ÑˆÑhL’ƨªR‚¦g©LÏprv†"HÈïü1"fI4¸}û]»M¢šÌLÍS;m1•UX]¹ÀGîSXØdks‰¹JI - b7‘-©žœÐjT¹re›ÁÈáh碔 &.é¸O©T<×anã<33óÔm4-?™›^ Yí037O „”4…œ!ñÑû±°0G»ÛA”f*sº‚m0M“l.ƒ=´iušTæ¨uÛ.GO™+yxÿéd¡¼™#MdQbeaŽ‚¥{.U'‡ŒúgçÈéíÚ>Íæ!WnÞ¡RY@UNOÇ’8ÀÐUBÏEU4â8F’&€t*((І®ˆ¢„,ÆH’@š†¤ÄI ‰Dš$ Ä„^õ=L&Çpäbj:wn\ÇÒuvŸ?GQgçé6«2L­.óüå.²¬¢&ápˆˆÆh Ð! C¦ŠÓ<~|ˆ$Hhº„”¦h’Ž,OÊ—Òô4‚*sT=¦Ùl'>~‹v§ qЍl¬\¢Õî ê:÷ï=d0à mTEeìŒÑt•8Mñ<4ŽIÓ3W MÁBI¢hZ\ºt‘Õ•-jM‡ýºC¦4ÏÜÜ2¡—x[[[¬®.ÿ¼aÑ@RVV LÆTëU¾ý×ßÁóúœì<âðg÷¸¹u‰•ÙÆþˆ³vƒéùúƒ>¦"rek•Öé> •ÅR× QÈ蜾Cê œ[Þ"'´š]†ã1Ó Ì/-³¾¹†(%¼õå7ظ°N³ß!†ã_úÒë,-/ðàÉcÚëËëÌJe‰iK¥U= N\ÂQ—ñp€¤H(š†¬*H‚€(Êh²âä­“H“AHÿw[Eqè#¤!²$‚ #+&šž%“1˜›ÎqñÊÿƯü27®ÜÁÔóÄIÌþé!Ï÷žrÖ>Ñ#M]V—çY[^asãå©$I"IZõ3ÜáâMIRÛé2tz¤©‡ ”§fXXX£YëñèáSvwvé4:tªÆ!Y_]CPb27ôxút‡jµËÈ{1¢ª353‹(KûŸ$’Ê2¦¢1UÈ É!o¿ý96¶×(ÍTX\]Å»hÄœ__áK_|“_øòW¹zù:ë+¼<ØãÛßû>½ÑˆTU0‹yÆÁ˜\!"©^„ xŽËÈ’µ,dE&CÂ(DUtZÍ6Ѝ‘µ,|?"—/ae3d¬,¹ìD»¦Qì"­fyœ¶Ž‰y±WgnºH¡TfÉ̲¿B¿Ñ&<Í@#²êäk'§ Š&R0UNºuòV‘Äi7Ž©”³ôú]NŽèÔOØX?Ïááç.nSš.³¸´D«Ùcnf™¹Ê*;'dsyÆŽÍÀîÉH’ÉØí“ pÜ:áã{Ÿòß|«o|‰Y²4û—o®ðÑýGˆr†\nE4‰CÐ@PHÒ„¿ÿ׬/Ì0;e`l^ýÜôz6­n3gqûs¯±8»ÊŸüË?áõ7^§ÝnsóÆMY§vvÊÈóýÇüâëëk8έsëLŠ»ÑHƉ’ERP$ÐOIQA’HE$Q–AHI‘$‘0 &’aA M&—Љã!…R Ïí³±¾Ä+·®#ÉÅ’E§Ñf<ì‚ N“8)²´§Xž#MŽOTÝÔQd‰0ò'ÂgIFIDR:NìN:Ê2a’") ;»<}ò˜j½Š®hœžÔ‘åɼöÒÒ&åÒÏ_¾„¸^ˆ,+RLàÇ$qŠ®ëœž1‘~¾šuye•×ïÜ¢ÛéÐï/°µºMµÞ ce üžÝci¡Äç_ûŠ,`ÛdUãÿ‡ÅýO™ž™£Õ¨â ûضþð.qh ˆ2Ëóó¤‚ÊÀn!)*åJ ×âGC‚ ¢V­Ñl¶%Ó203&ª"“$  K:¢$Óé H£pòßÅ1r§Jh¨µš .nŸ'BA2ó|úè¯XÜ8Ï㽬¯®Ól×Y]žÃÌj¨Š€aš,ÎÏÒµö^ìq|ø‚k7¶)òS¯€èQ©˜™)ÒlT¹uç6šªÓ¡Ãæê ýv›ry2o{vzH¹TAL4!‰#Qápo‡§OŸ¢+_yû]ÞûÁq]—>þjí€ßüÚßÅ4L|×%c©ÌÍÏb‡´Ú Æ£¹Ì2qíÎ’êãDz9•WîÜ!î}òÏo1©×«üƒßþ÷yÿ‡qxPG3$nÞ¸IDIÄØhvºìïí‘D!I˜0ö#DQAÀ<vUÉ£:šªceLÄÄöüÀC$qÒQQƒL&‹c1 ‘€í ›Ü¾u\ÆdiyÇîóbç)KIÄq4DT²¹)2¾ï“ ÞØAÕ$ ]›è+e8 iÖ«$$?Ÿ`SÑTEV‘¨á‡4ÛMÂ0f4vÈg²XŠÊÊê Ï_>Gd!žLÏ q,’$išÅžç¢¬ðÊ+wÈY9Ý:ФpëÆMî?|ŒU(05SÁqH’ÀÚúÙ¬ÎG|@»UÇ÷c^<Þecqq²¶ÌÌa÷]nÞ| Ë, kªn„™Œ‚aXŒÇCÚí>½^×C?𻓱eAJ˜®”É™š~ CW°¬<¢(“"#K2q4å—ãt»|îæÞøâéØ}ºvD­sD®²Œœ™Ü’úq„ ¦ëäŠÕ*ùb†^·ÝÓëTÙÚXÅTLü$"Ÿµè;C®Ýü¥J…éÙYîöaß¡ë· =—~2pl.\žBR¦§gÉZYž=y@ÑDêQ‹(™[ZàåÃOyðÓ15]¢hpMsR£ ¡ª2c/Ä‹F|òÙ§üø½÷É(G'UH<_ÁtÕÂwCb7äå‹§áÖ­›Üûì²¢á%!ÙbU•ùÆ×¿‰¢d ãI–d ðpƃþAð½¾çF!ï!‹ª""È"IÄ#wˆihȲ†(ŠI„¡kXfžÑئÛí vM¶¯_åóo}‘–m“-WðÃQÒ1´,Á8BID^>yLÖP¸uó’¤R¬,&#ϧVÛ£}§3nS=Ûãèp‡³Óc¼ÑÏqH€8 ‰ÑulÖÂ´Ô bc*ÁH‘ qfq†L)ÇûŠˆ¬Éè¦N’Æ4êgˆ@Î4ˆ|¥¥yvŽvqÓ;ô8¨ŸòâhÛ `"@dqiŽÃã¬Ì4'‡UNwQSdRîÜyÍÈÐî xÿØ©”øÒë7Ù{þˆÀíPȪ˜†N€= ð˜XLÉd5¦gÊÌÍϓϕˆý»g3ìðŸ½÷îöœ»wóòy?ûÓ¿ÆG\8ž$!Œˆ£!šžpxð’B!ÃÌ|™þ°ÇöåkøQÂÔÔ o¼ùv?ú {ûOp½.²u~…Ѩ‡Ýo!‰!¡gc aäcâH Š·¯ßbea דbO†tZ§âHáÍÛß KEdM#L#n¾þÅJ¯î}ÉãÇyöìƒÞ9²˜!‰ w>ý-íóIà2t!‰Ðäi¿Ù÷C’LÄ"F£d)²(S5rºAN7åi—K§ž¯Ž¡ê:Ф ˆ`äÖÖ— ;w¾@’d E‹ ëÓÖ™mÓêtô†diJ»Õb<ì“&¶cÓlu˜cu}ƒ8$AÒÅiäAS\Ï&ŽB$Y"Žb’8EJ¥…r‰‰çÑ›Œ©/®`«ìíŸ`Z9V/¬ðÕý‡L&6­VƒÓÆ!‚$“f°uu‹8ލTÊܽ{µµU¾þõ·QT™“Nƒ{î3;?ÏÊÚ:~S*—¸vå ¿ûÍoGvwTkqO†K7®ËË\»¶Âü|J¹ÊúÚ*E‹a¿GD†‰ dxn‚(¤™Žë¤ø¾€$çÐŒ<žïaå ”JŠå*Q ¢¤eù\žzµBøSÆ™r«{Ff¬_^§ÕjñégŸ’ Yšryë2ÕZv·G¡4Kš‰ßãw}Œmw)ên÷œ'>C5.¬¯R4/ùczƒDÚ¬­\Á2-rZ}Á`<‘¤ ¹\yJ‰’ÇS.±, Y¾ÌÂâ2I–᪞G44Y"SIF×L<ï Ý, H òÇ¿øV%ÏÄuH¼ˆ•Ú*åR$KY(ÕÉ©8}&ŽOŒJ9]L‰B››o¼E’Äž£k½á€6mNÏÏ$™ÿñÛcF£.‡‡G,ÏÎse}ÛÙC4Q¦yÖ@RLªÕE&“ ýÞQ¹ýömV—ùÅÇ¿¦fTÉç zÝ d"Y"f ýv‡¿ý·ÿù_üW„IÂhÐcçh(M!IÑÄÅÒØX™g2£ê–e1 ‘”<Žãrz|ˆç…U•§QnÇE Åz®ˆ¤ k<Ý~‰(*ÓìR%  šf ‹îx‚$¤H¢¡;ÝÞ0L’4šš{ª†šMêÀõQd“,3P•šR䛋ÈJFŽ˜ˆ£‹çúÜpŸÑ¨ËúÆW.\¢Óo¡*År‰ÑØÆ Æ(BŠ"§ˆŠDš¥¤)H‚…iN_½á×sP”Y®ç¢&’¢kצý¼‰œEȲF–‰DÀÓíº“¦a»1ývnûœ«—/ ‰)f.Ïp8äg?ÿ'êµ*9«ÈúÊ"%ÓÄîùÔj5ú­_ÜýÍÐä*››— ú˜uN»ƒ?³ú÷éöU"Ç!_0‰“Y(røAD{0 >¿D·;BHSFýI²P_Ä4 duʦMHÓ”ñh€®êȲ@¾hbV‹t:-ôLÂNH’]ב%$ª…Y:Í>·n¼Îƒùîü/òé;o?"r}ª¥*Ï?AUD–æHâ7N9é´¢Ã*ú‘çóôÁ3:gMþè?DW&^B«ÙÅ ¾ýáõ<£Ö¦©àS2MQãd—nóŒ,ŒP$‘¯]GU&£!µ׉BŸA€ €¤Hdd$BFLŒÄŠÂ£¸w÷.ý^]“ˆÓŒBÎÄlÞ¸uIØ?irëÖ;Dq„ŸxèrÊáÙ!ö°K¹”ÇÐó‘&L‹LÕ(—J´Z-1åÞWŸã6ù|qJW $?Ab¬¢Ž®jxnLx)8a€©%;ˆ3ü˜¢a® H*¶;.^¼ÀÜL•ɤë‡H‰NÙ2z„¾‹" hšÈüÁ‡(ºÅx©Âp8¢P©sëÍ7øõ/Mãä M·D)ËI’ÛvP IQÐ40Ž^õÇcdYÁ¶mI&‹SÜÀƲrøízSвçâ8‚(†j æ4ÌbŽˆ$‘ÞÀáä¤M¡T'2rF±G)¨,n¬xš5Ëÿü¿áø ÉÏ?úã««”ëU#ÇÄqq‡Ù… ¦¸†fh8Þ/òÉH˜Øc’$bÐo³:·€aètÏö¨”,Œœ¤(Øî2‰QJ‘ÈÐÿÃ4èµZøžK}f–å•9&ÎqâLPr×om²{üˆD ä2Á¦uvÌÓûéô» =²,b~~ES±*Ujsó¤¢HifÛwÈ„E©×$Þ¸uIј„ýžg/ðÞ·ß'—/b» «%t£ÊÌÌ 3ss˜¦ÉÁÞï?$Ë PªÒèØ9:CÓuÆÃåRUDˆã˜„tZ†O@͉?MèŽ}´DßçÂÂ* +‘€çÇKå’ÆÉá6ýÖ«sóÜÿòSvž< Ÿ“ÑT0-ƒXh ûœöûäÌ<ƒáÛq89;áääC×È™Yš 2†a`ä4dIDc ]•É鲬àE!a‘Æ b ’¤ Ê:qb»cŠVׯ^A&ÄOE2!†n¯A«s‚¢FøþµUnßþÃA@»ë³ÿò9ÍæK«›Ä’Ái{D*šDI@ÄQY†(ÉÈ¢Dš$8Ž3}/¢HœÆÓ^K’Ä1²("º"ãŒÆ¸¶ODLÆ6Žë")Ê+ ùW®]! Dfjugèõ Ĭ¯_F•+™OÉ4ØZYÅ’3+9JzÆB½ÄÕ˸ýÚÛìïñdg©XF­Ö¨-¬p|tJÕ*Q(›$‰Cèq‡}D ŒRÆ#IÐH8dS%“3$U¦;è…)ºjâNB²dd¬œ‰¡*¸ã1º"“×uF“áT² =FÃ."‰KÝ*¢"¢Ë2oܼÎËíüäßý-ÝNŸ,•Xœ™çìì„åõ%Ö.­aÍTñÓ ÛvI‚„{Ÿ|J=WA"¾ÿá×Pe˜›¥Z«ÓlŒ¹{w¹úeÖV®R0gEB±D}¦†íOˆ²„œeN£¼q@à”Êu7 7™"«ëkÌÔkhšÊÌL]Õ¦}_iJ¾¶m‡V«ÍW÷îQ°LþüÏ~LŠ„¬ªŒÇf®Žï*Œú)q q|Ø`ea…ÍMšÍS’, o¨DžÏ¸ÛgÒ ‡O_²ób8L9=>£ß¡i&Åb0HH’ŒñØg4öÈR$N'ض¦é¤SBäÔýE’8%M $Ô\nZ‹M¡\È£Hö°…=3:ˆ¬¯Îs¸Ìþîín›œiP›©„!ó÷î~Iã¬IµT§R,ðŧ¿ç`oÃ0ˆ‘ˆD UÑÈR¦ 5’$ MB¢È%‹#TE&‰"D@×$24U"IcFã!žã’„Éý’e €ž7¹ýµ·ÈYyºç-Ê…Ióèþ$!A"AÀ2LbRªµ9ææW!‘q&.iš‚;{/…#:Ã_=|Ä?ÿìg$iÈÖµ ü4äðì”Fï7œ$ª"ã¹!’¨1·°„çùìïïÐn7‰“€‘=àåÞ6žg³²²ˆeåÉéI, *:¾çE–e"ˆàù.§zÝ.‡{î"烠(:΄+×Þ&‰cž=Ù¦Ržamy‰’eÒmµè÷û”+^îí¢êöÈÆ¬Ïqt°ÏÚÆ&ë[WØÝ‘ùÇððå ßzo;ùÕÇ‘+ª\Ú¸Hè÷E•B±Äi³Çi³‡¦+h‰Ç¨ßF•cÆ£6Iì“Ïi\X_áWÿ Q–8>9E’¦ìXËRÐuØñ ËÈ2p‚ ýQŸ0‹xã­ëÔ—g‰yyt‚¦h´; fç4l¿ÃîÑŠ’G)˜«KËœÑn6¹}ûk,-Î1ôˆÂ˜n'À²,¢8D5"fç/°¸¼JgÔgùòD$§M2)! R2QÂñÌ‚AãôŒóÓ&B:ÝõÞ?9§^-Q0sÄALC$ÌÌU™¸Ž÷XšaØéŒf1§¢ëŠ® c$%%2loÈìÂq”àùÃá˜n§ÇpÜ" ’(a}eyä†ÔWç¨/Íx>ûG{7Nø³ý)†¦ñôÑ£éL¬$²¿·Ç¥Í ØýE«ˆçŒøþ}Ÿþ¤Ï½øêþ#ö÷YY¿‚ïG¸“ë Ë”ª5V——Xž[A ÙíOÙ²qD†‰HÌ‹Ïh¶ÎèhºN%ììì1‘e™áp„çN$‘þ`„ëù€„ï¸h²J÷¼E฼÷wi6ìïî“D ª¬1tHÂK›Wiž 8=lpqsoÜÁ·û(ªŒ+HŠJ†ˆ3ñ 'nßFM%dìÑ]›/Ž'½þUÓuJå$ÊÅ"Q!D`½ªÄúîôH’Š¢“e¦™'ŽÀqFô»g,Î/R¯V˜[Ú¢;|Dìù¤Ã!Š®q|Ü`uu‰r¹ÄþÁ>öÈåì¨Í¯õ Uæ¿þ«A¥2ƒíxyËB’DÂxJ „YS£A–!Mˆ£UU)ʬ.-±47Ouv…ZµB¡8C–¦ÄIDÎÐpÜ1µz™µå‹èšÄÓgÐÄ„ZµÎâ|‰$–iµš´¦—ö(`cý"‹ ëô:CœQ„.§nH¨hHª‰ ‚︄ã“AŸ‚©âÇ¢$£&qœR(UY]¹€ïFLF>ŠV¡DùÄÑ”†Óm”v§yÌÏ- ¨2V¾Œ‡¤H Mc$Ç!L""R:6Vi–£ƒg,//{Û/)*on]dìØ<|ð%!3 èl¿è°yù5rfŒ¬d´ÛçÌÎV¸¸¾Ì\½†"%”+Už¾|ŽïÙdBF 쟴xñl›~¯ƒ d‚ŒÄ ‡dI¡`™XfŽVóŒ8‰ql— IÌe‰4M%ß~Ë4pœ!i£j2£ñÁpL½VBEìш kóܸ2ŠÍë—/±½€mÛd@§×g÷茮m“È ¦•GU5RR¬B‘ ßAdlÛ˜)†€¤H$QBÅ(’„b•H³Œ0Lqýˆ ð°Êu?„DQ Û9c}a†¾óm‚(ãð A¾XÂÐuªå >&g¨\»ü’(°Š”,‹ýí\½´LµVbsk‘0Õùâþ§s:W7WižàEQš‘e2i”$)‚”N7ï’„ Љ¢˜0ÉÔ).S”’$%KSÒ4#‰SDI™ò÷ÒÒ„b¡ÀüÂ"7oÞdsó"‚'T-‡=¶Ù?Øem} ALY\\œªsªÊq£ÁxìÒi÷ ¬olâAŸ—ûÏ ›RYg¾jRµ4,}–¯ºgˆªEFŒ¤H¸¡KÄ8“1½þÀX^YÁKb¬z3‰gºë!d$q€$DäsED†›n·ƒ(€(Aèy8“>²¡©¦•çäìéÒæ•¿ÎYœêµ²¬7søŽƒœ¥‹f•PQe‰,ò<›(°IMËã ² QdÓë5»HbF¯Óæìì˜,ŽqÆ>^¢ætÃr¡RAT4¾øêŠ"³º¼@­dQ+˜¯U9zövÑÄÆd¬_ºÄÙÐå´ó˜•¹Þ{ë å9Úý!Õ²Éîá²–ãÁ“m¬|‰ëo¯aÔÙ>9Ã?<Åóm„$cÜ·ñBÇpt|ÊıÉDMÍQ*UÙÚÚ"•2RIÆö]R¦€0UUiÚeN3²4A– êÕ™ ày9#G¸n@… €¢L™J ‹Ïž>æÖ믳¼|…gÏ„Íósº.i*‘F1]ÇÔ5,MAÖ$¢Da< üœaR©VHâ]×1$™Á¤Ï»o‡Åzg÷“PÐ-ªóej³v÷˜Ø•Z+W®Q«W±òã±O7ÉøçO¿ä/–VÈçu†N—Æù1W¯]ãðà”ŸþÃä»ï¿Oy¶€Y4è &”*sÌ2G{'”ó3QB†Ä£§Ûxa@šM/õI§S³0|ß'NR$¦G"Ò”(ƒ(M¦jž¬@– "µJÙZ¹j‰ë7oðîûß Ýëóbçˆ(Y9|oÂ`0"Œ&Lì<¯ß¾ÅLm†8Ž)×ê¤ì½x‘G^‘9ÚÝcëµÛôú#ǧPÈ3[_Âö}†“€F§Í%wB*ûˆrJ,F¸#ófÏu˜›ŸEÉiÄžK©dáG>¢”¥ 0èw0sf~ºÔdò” &þBFx´]—áx2½ï¥A”´ú$©0…œœ!¨¥j¼‘›gÔ«˜ªŠÆX¥ öä)¢(‘%&¥Âÿá'ÿ–ë×7¦‘j/`¯Ùâä´i–ÉåMš§-îÝ»Ã~ô§¼~ý§§û z ZÝ®çR2 „®G>—ÃqRZ­.d ‹ÒRåzÔgë<}öŒ0ð‰¢€,I^Ñ?ã8f[Ò A‰0ŒBg2 ]„L ŠbdQERNŽ;,.õ(UdZýï¾ÿ1vÏÆ±#Îκ„ÑT¡ÉÊDqŠjåÉUKø“1Adf¾@¥RCSUF£dà8] 9‰ZEÅµÏØÚš£XR¨Væévút‡.6¯âŒ‡¬,/pqë"s‹ tÇCþý?ý”‚U%ŽN޹rù"‡;{¸öˆ?ûáñð«»½|ŽðÞm,Ë$Nd”\Ó̳×ìpÔí ‹1q”ò»ÏÐŽÐ5QÈ„ I‚4•ð<—¢U@Q$U!Ž#¦@EÒ„,Œ \2X¿t‰o¿ÿk««¯SöOüâW¿@ÓtpœFƒ……eÒȧÙè³±¶Œ‘SùèWŸòlg›ÃÓ#Þºµ…=ŽÙÙ{ÉüÜ"¦¡E>³õ:íó©œaUKLü»û'(ò]f*eÄ tMƶ'SèY1‡ãŒ± tÝ ŠbQÅH¤Ï¾j4Ê úƒ©p)œwÎFL¼)ÙÑqltEÅ}œÉ5gf1’¢¢¨)âül“Ã]4ÖW˜­pãÆUÌRŽßÞývOÙŸe ¤˜‰Ûææë\¸¸„¤©¸hÌ­.f!ë— ü1‡{/xëöär#{À½¯¢**Y’R/ÍÒi¶14E€ÆY%ÐIRñ¢ÅÐПAãE’P”鮚ë8$Q‚,Mƒ_ª¦àØcl{Œ¢ªÓä*fÎzTÔ‰£˜‡îó›_ÿŽJ¥ÎÉé)‰(!ªEÛ}¼T"Êd#šË¡Q1Œ˜„1q&`'\X]¡Z°Ð™b±ˆnêÌÔŠ¼ùæ- ]GS5^¿ù|øfAáãOÉæµ9þøÇß¡2cðÁï±¼¸ˆã„¤‰Š YœŸ·lйOî?áåö>¥â<í¾M®Tå­Ûo’ pØhñùý— ')_œò›/Ó˜Ø<~~Hoä1;H’FNAŠ$Mç·Ò”\.÷ʨ›VOIBT$E!‰clÇ&Š|.l¬ðÃ~ÿøGܺ}‹/ï}Åãç/hv‡ìíD"E£„3p™ômê…*¦apãúuúýoóìÙ?ü’³£=.¬.E>ëËk\\¿ŠeΡë5’D¢7stvƨ×F C$?!ù<ºû˜í§/$‰F㄃ƒ ľËx4æøèˆÕåe y“ó³SB‚(d TÅ Š˜â‡ãÃ^îìrrvŠãú$q†ªæH’Œ(Md•0N%™ÙÙ9QBîµ[”s9ºggl.¯WU|Ûæ×}ăÏïM\6/]žJlAÂááySÇ‹2¶wH™Æi›·o¿ÃìL¿ûÛƒëû$ˆlï«Ô1J3žtÈ„$›¶ºÎ´:]º½!²aF!²ºªbh:‚"â¦JÆ4Õ'Œmw¯Èâ$E$üЙ2€‰8Ê$…œžC@Ïe C¯;anažœQÁñ3MöÎ8¾O'ˆ’‚™Ï3S­íN‡(ÈÈYENY]^à_“f³ÅÁá1ãÀeqi‘Å9…R1ÏêÆ¶Ðé±Êv÷ÙܼÂÛ·nñ¯ÿõÿÉòòå…2“‰Ç|ÙâùóVfk|ü솔1lŸ!e)ùçN³ÛçßüäïI„ŒË³‹„¡†$U8o<âÚ%‹ÄbwlÆ^—¹Š…ehwz(²:íG§"Y*!Iï#ç5Eœ(F¦4Ã,JIc^ Ç ü·õ/Ùº|‘( ‡<{rŸ~·AM®áM"Ïg¦d¡ˆÓ;õõ×ð|—‘ò“ŸüG …©ªöÙ'¿¥y¸Ïûoßæ­ë[¼x±Ç•Ë[ØnH”¤LÜA—½c~ùÉg$ф؈ýhº_‘Å4ÚÒím$Id¡>‡$h8Žíxhª†aèt: ¤P(àM&$IÂÄ™™ÅÊiwšxŽKäĤ©@GLl‡L” dDHQsyNgŒí!²e±'.KË+¬m\Ä*øÉßÿGZgmtÙdëæçã]3 ŸÑÈÆ ºÃ17®æ¸zñ*Qœ’Ï©4ÎØ~ùŒ0†íÇÄYF·gSª—‰Ã„¹jñ°M«Ó¦Û륆•GH"?E%\Ûá­¼Ád8ÄP$dz ý€8IÉÈP58NQYÉÐU}JðNòù"²ª¢)d‰g%Ej uDU X¯`ZENé¶ÏÇÞp„‘Ï“×uÖ×–Ù?8$%Å4tp]æg*|ð½ˆÒ7 9ï4XZXäµÍ‹5X¿¸Œ‚›À8Œ‰ÇåJzu]©°»sŠaå9kÐjwXZXãòÅUþßÿðS&ï}óëTŠ%Þxý6³s <}þÜùݧ|÷{ßaey‰$Ës¸ûˆï¾ûMVgk<¿{Ÿ²$³uù&¡à²ý|›,ÍHÓ”8Ž“EÕÐÕ)T!!CÑtB?BÈ ‹2HEþâÏÿsÞyóMþé§ÿ€ªˆ¬­­q¸û +§ðá»ïLSÏ®Ë{ßún—áhÈØ›Ðíõxôø¾ðáßc4tðÜQT¸~ý:’ P®ÏÐN(WjøQJ·Ó§V©ó?ýÏuP Ã2É´˜Ðó‘‘S‰N£Ïòò2º^`<ñ)Šä­29#O'Xy“™j…~·‹cpÝ©aš )½AIÔ±¬ýÖž?xöÀ™ùDšŸT IDATyDU¥×"«2¥R™4MMÜ)¤Ï÷|,.o,1œóÅ_1;7Ç…ÍwøâóÏ™]\ ó|—•Õ*ÇG{LœKõM …2•Ê õê,gcîÞÿÇw˜x>_{û[„~Ìýû_òúK\¼¸A§ÙÇžôxôä­v›40sTIfh@„ ÐJyfÖ—yüà!f“$ã„$Ž_ůeü(DUuUA‘%Â0D•§a® ŒP …$Ié]Ò8Æ*j˜E‹ ˆÉÜ€¼"3éŸÑ<ÛçìøˆñÈáʵkÌÌÎrxxÀ;w¨Õk¬¯¬VUfëµ×èt:¯@l#¾óÝùÚ[·xöì1¢l2²ܨC©RfhÙÙßÅ·ÇTK¢,"Î2Ú­>Î8bØóØXÌÑëŽÙÙ=@7u¾ýá÷9<:%Öòüì·ŸñëOËkW.³µ¾Li¦Äƒ‡û,-ÏóõoÞâô¨Áßÿ&¦iáûÿëÿö¿Ðô™‚„ɲi플 pþ“š$ ©ç#L lH|ë½o±¾¹ÅÖæ¾xBÄt¹ôåþ.sË‹˜¹ºf±¶v‰ju ?JéÇŒœ ‡­ÃÉFó„ù/þŠ H88<¢;ã§ Z%ÊóËô‚}¼$¡¢ä3ÆÉ§gh3[1qݲ$à& 1)ac**95Ǹ7a7ÜCUU.l^¦Z©(âyY–Ñmõ9=;‚,#Š4ÝÄrzŽœa`Y{ÂîÞ.ãј¼eáG õ“ÉMQX]]Æ÷NOÏÈiÒë7_ÿë?ùÞûªÄáîK®_¹„™SÙy¹ƒ¤ÉŒ&cÂÀ&ާXùZu‘ÅÅ‹üÑÿdúE•2=~É`àðÅç©Vf$z­ÄpÔgóÒE’xÀºsç3Ú­YŠl`æLB?$ŒC„ „4¥œ/àlŽèwúDq‚ H¯0íÓ»‚¬¨ˆò4˜3rx¾K!Ÿ‡W¿‚$á‡!Š¢ Š"Qš6‹õ2+ss|ç[ïÐïŸñÛOK}fù¥D‚0&$^{í›79o4)*¼÷Ý÷°›—ÛLì1|÷Û ˆüæ³ÏhõÌÍ—Y¿°ÈÑá./_nø­f‡…å$Yâì¬ÅÓÇY[¿ˆ$ê\Ú¼†ãÜðŠ.Óî·1-‹L„v¯M«{†i*üá|À°Û#W¨pvÞ`ieô8:=`aežN¿E·ßåèèÝS"K¢Q”¦IB”^ù™€®hª†(‹|ó[ïðöÛoñlç9GÇû4 ._Þb4™Ðh·@Qt/I2Ø98âùË—œ·šísx°÷ÊѾÅÜÜ<îßç‹/?§ßíðÁß¡Z©"ËSˆvùTkEüÀ¡ÓjñïÿîßMã&©Oä‡qB˜¥„d²‚ HÄb6å3 —.]Ʋ Oš¤ô»=ý>qâ8‚(#Ê…BUÓȲ©úæú>®ë'1)Šª¢j*“ñ„(ŽHâA€r±B¡XD^ZŸççwBS-äAµh¡%<Û£?êRÌÏb‡˜z­+W ‚„í§÷‘´ ;шV»Ã•­5ŽON˜Œºø¾ª™[¼ÂƒÇ_q°óŒn¿‹€Œªè¤$„IHœMsAŠ$‘%1ãñ˜‡MeCYEEU&K"¦ ¢ bš*†¡#I¡@œ f jš‘ ȈIXÞ\c뵞³·¿ÏÜò ×oÝÄ÷c<¯ANI½!±'âú>þh•K— ‡,.Ìsë×ùý—Ÿa{ÕzÊÜì*) 3… Q”ñ³ŸÂIcÀ›ï†27¯§/ž#!Ò†¬­]äÚµM~ç÷ Æ]âªÅoݺÉËÃçoóƒ?ü#¤W¸Í$‘xüb«\&dÌÕ+W)+ÜùýTkEìQŸ‚i0j÷99>CTU#JEƲ,ªÕ2ÎĦR¯ðlû;‡/0sgL»Õ =®n]£T(2ôyðå–—øðÛïc–Jœ·Œü C7íçg' Ç=d Κ§,-.“F"¾;A |–g«Ü~ã*š.SŸ©±»w@kÐ UNÎxôà1_=¾G&ÆÄ¯TÂ8žö4u:Ä!’*cJ2J ¶gsx|Àì\$Lé´{8c‡Ð”MÓh'è’ïúˆ’7 YªŠ¢ÊSb¢œf û=¬ÙYLÓ¤6[A D%EZ˜Yýk/Òêžcòœwš$YF©Tb¦ZÆ™Œ¢€ ë<{ò”j¥ÆÆúF¶CkÐGÐddA$Kî~~‡Á ‡(‚aäqý€'OŸ“¥ò'Æw¾ó=Ê•»{;¸žK"ÄÄB ™L’FH¢0 ˆ%)$’bêy„XÀq=ææ©Õjd‰À;_{ùU2R$ ÌœÌØî!Jð½ßçÒæE+O–ú\»±E>ŸC•u £È¥­×iµ;ÜùüSšíc~øýïñµ7ßäÆ×¸zý«—×YZšgyqŽHÊøßÿæoØÛ;¢Z]dõÂU6.^c0p˜­Íòù§?ãøh›¼!qam™¹™:›—‘å„n§ÁÓ—O˜ŸŸ!ð<$Qfkë2Ïž=ÅÌçÈYy:­1•Ú,’$ÒtY˜Ÿ¡hæ°cn\ºÂlm–¹Ùv÷wbAIˆb—(ôyþì9/_l㢪®‘eL‘<âþW°òEJ…"­f]Óñ#LH% I‘‰’ ‰âéÖ8iŠet{mn¿ñłų§hµKX¹2‹sK¬­¯Ç ²¤#KÝ^‹0ôñ|ß÷QT™0Š‘Ó*bJTk+8v„,OùPr…äŒEd5âó/Ÿ1;7C¥\`ûÅ3ªÅ">y£ÈÑþ.Q³¹u $ Y3øòË»,,-7Ljå2s³UìQU×è÷G I”g*dIÊŸýå_ðäÉsî|qÇ ™Ÿ_¦?ìáxR–¡ë ¤)"S—5Íbj¥:×_»Á'w~‡@J)g¡ë:ï¾ó.µ¹:÷“çLFcE@R×6XßXau}• ôi4Nh´øÆ7ßÇ,Y4Ú._¼F©ª¢p÷óßqz²Ë÷ßÿ¼ñúu†ýýAŸAk@¹:ÃÃí§üúãOMý~‡™ÙæùêÑs’T%N SáÙ³dBÌ¿úÿë+4ÎÎ8i –iñË_~ă‡/XXYãõ«Ì//£™9FŽÍx0¤ÕlPm‹‡w¿ÄñCŠB…(QHE™•µKlïñÓŸ}̵·©ÎT¨×f¸}ëmÈT"?&Kut=‡¢C}¡Ì—¿ÿ‚µþ?¦Þ#H“ô¾Ó{Ò›ÏÛúÊ{ÓU]í¦Ç;`0ˆÝ’„VÜ]I±Ò…‡ÕY:(xPè®ÐŠÒ.ÁˆÉ%ÌÀŒÁ`¦Ítwµ«®.o¿ú¼7éS‡ÁÐ!™‘ÿ÷ÍßïyÖVÖ8=9#•ÉpR®ˆ"ÕN“V£ÆÔL]P.žR»<¦!IT›U×'`´+I†ª""¦i" H06–a0èssskèPÈ“Œ&±=ŸññY$I¢ç88BÀE¹È̯Ü~8:>F%^}ë}ö‹—lïlÓé78Ú}I(šŽÝI&ÇI¦òî³õøÃÁ¨ø33çâì‚BvŒLa†x:Éã'øäóÏù£?üˆd~‚{î1‘/0ž¤Ûë²õô9wîoñþ{òÝo„cÛüú‹Ï°|A‘Y_¹B.‘¦Unp±WBU$2é2ïãtUáÇ?ü®nÜàOþøOøûü1šn’ÍÇ8==%K25™Y¤tÙFñŽÑe•×nßÂÐrcYòãÓìI¤sœŸ³07kw¨\žq|rÈÎËšíËU, Gd?`uuÍÍMR‰©tг³ lÇAÑUUe~nžO~ý1ÓKã$ã”HŒaߢÕêR,žRϰ´´ÈùéÛO_°·÷’[·nq|¼‡(KDbªÕ ~àÓj7ˆÄtTYavzÏIgR4[=žqvVdíÊu¦g¦XžR¼(ÑŒ\…Žçâø:*Žç`jâÑ$òÀ±½Ñáû øHŠÊ ?DÁ±:LMÏŽØ`V—òe“d¢ÂÉé3réIÖW®ñðÁ#úRŸf·‡52 é»ô‡}U¡Õj¢¨:ÍzÍT C˜GJe¦þ²\ªb¨&cÙ<§'çœpeí*SÓsX–ÏÁÉ!¶ë“H稷:xa@oاR-£j"kK+”//ÉdRl¬¯£È õF“ýƒ^}ý5jÅvA¿‹®kTª5fææAÒF™Böv„ÛvÙ¼vo}ë}~øwÿ/±XCypÿ{ÏŸ¡º6íó" 2ƒ¾O¯ë‰GXY_g0´(•ÊôÚ} ICð|æ¦f#IÆ&'ñ½Ã=î}y‡•…yþð£ïÑûÝy/éö\Ê•/žï2XüÛûß¡ëŸq‡Ç[ñ\‹±B–‹Ë¦g&ÙÛ~NñäˆL6N6%“I"åËs.NN¹}ó©d”|*Åphá"qQ©#i*ö°ÏåÉ1¢ï3‘Éruc“üØ8ÑxY–(žžÑnÖ±»mrI•a¯Ç½{÷ØÞÙåì¼D©\ÇrlV¯,²4·„52=5Íäô ËË+ŒOLÒêu$™n»¤Š¼’(ã9aà073ƒ3 ×GWT..ΈFuÏ"›K‘Î$9:ܧV®`ˆ2Ù\n”"¡ÑípxtÀ ;ÀÔM!J5 ݤPÈóÉü!«k4ê Þ|çuÊ?.Òl´xã)"±,†%<;C•D÷ØØÜ¤ßëÐísóÆuz½õz•‰ñ þôûÿ-ûüøï~DßiÏÄI$,Î%Išq4Cd"nR¬Tˆj&½ž…¤Æ ˆ©=ÛâââÇu©Ô+¼rk“[kWØÞzH$ƒ@âèä‚ñÉÑç<ð|gçÙßß§X©ÐïÛ¸®K§ÑáxïˆÌX‹b燧ˆ±4ßýý?¥Ûmó³Ÿÿ”o}ó›LONã2³0E&—µ|÷Œób‰ÉÙið]|}ŸB*÷ßû&‘„ÆÔôÉd†0 ¼n§IèöÐ BÇOsrvÊñé1!ÓS3ÌÎÎ15;,E˜[Xfn~ùwá瘦¡ LͤA±‡C*µ;[Ǥ3qfg&Ø;xÉùiÇrˆGcÌÎM“ËÓhu©V«”eõ&Aèñý?øaýnA™›¤XY]œgnf Y3.±xŠÂD–ãà5šÄ’ÌhŠv»ÏöÓS Žʨª„¦+È’†¤)4ZuÜÀÂ0µÑ(†èšÊ°? “Š“KÅ8;ïñÖ¯JgiÔ«¨ºF©rI©Þ`,7KR.^p^9G3U’nœ—ÛÛø¦†®ë¤ $Af,?†—ΆC6×Öɤ§cqF­F³]gy}™@ ˜˜CÕáèð†ª²²¼J(l?ßa8´ñƒ€¨E U67®s~v†©ë^@¯ÝÁu=æq}—vÀÖ‹—tû#x§kMgd‰«W(Ÿ ("­NŸóÓ 2Ù žçðɯ¾À³l1×ß¿M«×DÐT—Ö9/—˜ž]ç½wޡרÿ®òéq~ù˜«ël®/>…Éq^¼|É¿þóÉOÿñcYC—$æ¦ åùµ5ŽËßþè'ÿ +ƒÙˆg£lm=dhù¤rYªÍ:›ˆ@T‹Q+7ˆ$3LßœCŠŒq÷Ë{œ×;Ì®\Çs}äh’h&‡+( Ä€³Ò)ós³¤u™“ý3n_¿Î[ï¼ÆÄä8²¤£k&Vn«Éééíf•‹Ë –W–)ž¹ó`‹R邱LŠÍõ«Ü¼þ­v“³&–ó¤’9BI!aoï%ýn‹xT"t»HzEI% ¦&®P­Õxxï!õZÏ8==%O²ymÝÔ¸(—8>¾ä¢xÊeý‚PS %/v(äóä& (­6—å"o¾~UU9==%$&§gÉä&P5?1 MÓñ}¨”kb@*)Iömì~]7qú}üÐÅ—$$QÀsCd%@’\†ƒŠ`ü.9í` d2tͤX®ðõ—÷ø£1ÆÙñ6õr‘h2‰o;hªBn,$‹xO½Rcyõ ¦£ÛN剳“3äZ­N£U$5 ½!ùL‚ÂXßq™ŸYÂóBÊ¥:¶ëðÕ¯(Œåy÷Ý÷ÙÞÞaccnSNš´›]ºÝ€•õM./ô°\jÝ <ûw’V•TLåâü’ù…öÏhu´Úm ]çÅö.¦áú­k ¹ôúçììñÝ?ý\¿ù*ÿû_ý’êÒj—‰§R´ºmš.Š¡cù6ÉlŽÛ‡D!ãc³4= ãch²‚c{,Í,Ðw4º]ÎÎ+¸¾Š ¹(^ð÷ߣ߿ää‚j¥ "¨Ê›W¯’Ï'%Ó’Ù$“cI2†B½¶‹Ým0ÍÓ­×xôl›la‚ÀÑéÓ©×ATq<•/~»…ïùðÝ7Ù\^¥9èrq°ÇÜÜ‚e!y.g{ô‡]Z­¿ýâ>Þ€âÅ9¯ÞØ`mu…ÂØkW6Ùß;@p5êušj™RT¦Z.Ó«ÖY™›7@4\+`àÚØŽëZ(rŒl&3ôiwjˆ¼óÍoaÙ·÷é´šì½x‰eYô.BàáXšª±¸¸B颂ggl^ß@WMZÝ]/dii‰…Åuºí.ƒžM,%\Û£ßéQ»,¡I*£2]ÕqìC«‡ªËDã#—kƒQ@èÛÌÏ/Ñ5:Ío¼ù…ü8~ £É Ĥ„X½ÄPæÆÇ¹rN&™$—Ÿ¤R©ó¢q@,‘Á0bؾG§Ó$™-‰Æ0 P”ÑÇrètÈV“H"ÉdaŒ¨f€çQ®–p\¤¬²l2¹îß¿ÇpèKfˆÅ£\¿±ÎäÄ;;;èé¾ ¡ê¿üê7#¢ž‚’Χ)ž›×6ÂýãC66®òüé3ºÍ:>!$‹§1LSS¸¶±F¥\âoþÃÇhZ„¥Åeööž6­f—_~òS’ñ,™t†v·K"ž¦Óì±°G( ¬]]b{û9•:ŠirãÆ5²é<<£Õíb˜îÞÇvZœŸŸðßÿ»¿ ‰³×=¢ÑªaD5dUbb2†ndH&R¼|¾Ïñî>¿·ü=¥&ízß÷Èe [-&Ó1æVæ¨ÖOHÆ3œ6ê,¯­¢8÷>¹Ë·?úKk‹´º]DI!“N¢Ê&]ßcoÿˆZµŽP«wét{T«U6–VùàÝo7o½Š k¼óí7988ãá“—¸v—ãÃ=Þzí-¤ ààhËsÑ\›X†>Š“Ûö€±üµÊB(P:=çÞý¯±mU×èv[H¢ÀÄX†˜®£ë:×6®ã;ù±,Ž3dfzœù©Ú­:­nŸÍµ â©<ÎÐF  Í@œ¡íÛȲÁÐ ˆeòÌ­]áÑÃû4[MÇÃñ]t×%žL "–eø#e@ h ú]„ÀE”=Ri“ÉÙ »/÷°ÜÉdSW/ŒÓl4ÑuL&‰"‡H²á(aÝj·‰Å#ÈŠ¬Z¸aŸk«7hÔª Ú]tE%e$ëí¼û…LaÇBô5ßÁó'{œœ–‘U7ðƒÁ¢×Pn6©µ z¬¯.p||L๜œòðÞ]¤&ÆÆ˜,ä™/pvqB®Å=vŽ÷ñ%‘¾mÓêv@ÐM‰ééIâ‰8†¡#JG'ûìì33;Çk¯½ÍÂâ2_ßûYиyý-ÚM›ã“"—å“39^ã4M¥×³)Wª¬,-P«W8:>âò⌅Ùy$AæÅ‹mÚݵz½½=D9¤U¯³87ÇÜÌ?ù§Ÿ )ÓS3¬­­bh®åR.Õ¹sÿÏŸš ]ìaŸF­B@œž#rãwÈÏÍ2>=ƒ¤tÛJCð¨–ÎI¥Ÿ›e~~ MT¨•Êødf¹¨wøé'Ÿ²{|Bz¼ÀÀò)—+”ÊEr¹k›ËˆªÎòÕW 9jrgk‡ýäŸH§L]à¿øÁŸòö{ïP·-Nêê] _Ð9»¸ ;qu[ýCÀôì/÷_rvqN«Ñãgÿù§ ;]¢ºÆÙñ)®ãâÚCÒß—µU½~࣪"‰„ÉÌôÙlT‘X*I*W@V DU%šJÏİ܀x4J"GÖRù ·ßy‰Ù ÌDQðÂ?„Áÿï™P5E”P$™˜A‘V–V \‰zeÀùiƒnÇfbršL:al=þšÞ°ÅøD–^¿…e HÄbÄ":v IòD"ƒ JXö€@pIæÈ•18-] Æsc& i:Ív U2‘•õ•M"±O=Äô0#1zCA38½(cû kª,S¿,•TÒz%\Ï>ÿ”0ˆGøŽG:–f,=Æöãgh²Fà:$óY 34Û-ÆÇ ºÎþá k+ŒÍLsv~F£V#—7˜OÑë5Ù;Ü!T^¹ý&×Î/è IDATšaïp¯ÞcoÿS‹ñÕwøÏ÷´+mfò³”N[^„'_ H*ƒ^X4J&&n$0U‹ãcæg§I%¢ÌLŽsqrFD‹àZÙLžt:‹,+¼úÚ[tÛ6b(‘Ž'ÈÅdV'2\Í1“3!t°€j½A¥vŽU/3?9ÆÃ'Y¹²ÆÚÊ*ývHÄ@W%^<~ÄßüõÿI©rÄÆæ@çÑÓCêí!²i°¶¼‚HÈÄÜ4…™1úN›÷¿äîgcÕNY™Êðî«7(düæ‹O¹ÿè»û;Ô«%"Šˆ7°xüàkî|þ9ÛO¶ˆ›*¾c¸Ó… ‡^@n,ÇìÜñXÏqؼv…x Þ(‹éŒå2”./1Ì™±<Ï_¾¤\¯“HghwúTkM­6µf“nßÃóúNŸž= ÓoãùívÛ"«"Élš|6Aˆç:¡¿ ªª þˆ"Ž ‹š\ݼÂ+·_åÕÛo‹Œ³õà;_}M½Ö¢T.q|t€¢I$’ â‰Ñh”ÅÅILCÆwm ]%bÆP•8SSË”Ë5z3ž¤ÙíMÇ‘––Wþòõ[¯°¸vAÑèõ-®]¿I4ã³ÏC»YÍø7o³¼¶†/ŠD¢1tÕÀ±l¶Ãã­'4ëMúƒ‚(Òl·Ù?:¤ÝnaÄGªØX=B½^eÐbê&íf“\6À‡}ˆ¤È¼x¹M®%?–¡^¯¢+2Z È «Ž7¤Z«°ym“V·Ãîþ.¢"`DMÞ{÷-¾øô—ˆ~ÀíWnsrz†KÀ…™)’é$åZ•¡ã°²~ ݈±»ý!°™[YãÉ£-Ì ä_þñѺÃ(ó«_~Æ?þÃ?P­•xë­×i7ÚüúŸÒo·H'¢ÜÚ\grjŠ7ßy—•µ+Ÿñðá]Üù »Ócz,Gafžx*Ç“';Ü¿ÿ“Ý=tI¤\<£XŸÅ÷~þñÏ99>"IÑô™[$ŸǶ}ÍçÅ3ò¹$ÉDŽãÃsDÒÙ8WÖ7е8¿üøs¬p@§Ó¡×ê0=5…¸¼¶FcèÓ·@”"ô6sk‹ôý!Ož?Å ð #–äÚ­[ÈšÎp`cê ÝÀZ ÚÎÎα}QÓ¨µ»Ë5= ]3Y[¾‚©4* Ä@ÂØDTƒ‘X)$ªh4ËÚí&GLJ¨šÌ7ÞŸ±LŽÉlŽ«›s<Úú‚Ÿÿäg<{úQ``5$Ð…8î=¥Yë273K<•d‘µk« <~öˆ¾ÓgùÊÊ>ÓóX¾D©ÞaõêãS3\V›Èz Q‹b¹!/˜Y˜c~õ ?ÿä3o¿`~e™‡G }J½…‰c"’Ëä@MÐu ¶÷/øô7_àø0¿ô §——tkMþìû¿FH«Q£o ùÅ'ŸQ©4¸qõÿêÿCŽñÙ§_63‹9n¼ºJ*Ÿ`z~™åÕ« ú6O=&¢ÆqlYqóõoâù°{pÌÞÑ)NI”°‡H2‘TGhõÛè±8f<@$‘ Úm±}xˆ¦Ëtû]¾~øˆ³‹ <ÏC%\ÏÇb‘ºª373‹ªj$b)Ær㸶ÏÔÄ,×n¾ÆØÄ4†a`Ùkˆøôú]úƒFÄÄ\z½vxTçüôZù1ô ñB˜ÁsFZåápˆm[¸®…n*(š ¢Š$™¸žÀýû÷8¿?£×kÑëw‰Fu&'òÚ'—M`F#X®ƒfF¸wÿý^‡X*Eà«ý5Û{{²Œa˜Š#o´% }1DâƒÍ«\–+h†:BѨ*J»Ç‡äÆ'ét-®_½Éú•54C£7°¨5Ëüê—Ÿ )Q†½(„>>KK³LNæIdÇHÇÇxøðÛ/_âû.+«k¬­®B òäésÞ{ÿ]l˧Rj2ì÷9ØÝaqn–V½C»1zцDM™™©Ÿ}òR½fn¿¡è‘¢Ý%cŒ§ãÔ[{Íݯ¾D&Äuˆ’@»Ûå÷ß}—|aŒÝ—Û#Ñd<‡(K4;%~õÙ§´m—P'PˆšQºíñh‚Þû=l»G:GÓM^ݼÁO~ö DUáÕ×ßâî½ßbœ©4kUÞxë}Ö6Ö©/øøgÿ@!?F¯gÑhU‰F"ø¸\½¶Æeé×µA ˜*¨•JH¦Œ5´H¦cØÁn{ÀGo½ÇWwîñèë'üÿÃÿÄ¿½hryθuãŠëÒk·yçí÷i5;‚È/?þ)Ù± ]«Áÿò?ÿ^îL呤˜i°²¼„ªÄðE‰ëñ¢”NXŽÍËíg€Ê|h:Íy£Æ¯õ%ÝF‡Õõej­"•ò%²"cùN`Sí4 Å€r½ÍÛo¿ªª<ÛÙ¡ÛïÑ« ‘µ B”Ð A=x&Ej,g9T›jÍ2åV…Wß ™#¢¾Ü¦Xo215Aßb!’a""2ìv¸±¹‰‘ˆÓ¬wÑ”z‹^ÇÅö\Q$ˆÉ¢ãù8¢©(Ìp8²³¾ˆ¦Ê ‡ˆ@­Ö!.+‘– ¸(•1#:×o½Âг¨TjÔMD†¶M¹T¡ÛépQ´PÕ¯¾¶L<•"œ×j ¨l?}Îéé>ÒÍÛoþe³×åäì”'ÏžÒŒ°™êïˆÙ!!™TŽoðM†ÝBà“NÄ©\–8xù’Ë‹óì8ÑèÂlÇC’danZ|ðíïR¯·9?;&ð†ôÚ]Â@ ‘H°~u§Ïžp~qN*mðÍÞãþý;|ü‹ŸS©–QdEÖH$RØÖÛî3=9ÎìtXT¢Y?Âó‡ œgÅSBa4c–.ËèŠN$®0=7ƒ(ÁÞΚªqrrÂôt««”JU–——™žžäg?û ãÆryŠÅ zý.Ód~aIÕ ÑXXÝ Tn"±¼´Îó'ÛT*—$ãQÖ–×HèI&óÓ(šN{`ŠfL§;hñäùc̈ÎñÉ9Ÿ~þ%ºCB<{ÀêÚéd”t6Áîî¦i²¼´B<‘æåË=dQæ›¼ÅÆÆ*ï?ååöµÊ)SSçxþì/wvBAp\?ôËN°°°L~,O©T¦Ùì£éæ*ç{´»]‚ÀÇrF›ª"#àqëÖ ò™–ã2ôè÷LŒO‘IÇi5Kœžpr|„-€Qn¶)^™››ÂêuGëIáøìœL&ç <{¾M«ÕÄu,üÐCF¼/ÇqétzÈŠ†¢¨H²‚ª¨ mE’ð}ÏõØ¢$¡ëŽëÑl6º.²¢‰D{h±õè!šªÐïv©7[”J%jõ:¶ã ª óó³H’ÀÅù)½^‹F½N岈¦JȆžäÑýÏ©–Ë(ŠLD7 Çv ]Ïu™/ÄÏD99ô©¶›Ì­¯â«[Û¨6.‰F’¨ªö;j8žG žªH(ÆH§ûèá]f t ŠÇ'HÌÍ­sçî^l?ID’ þæo~Èoû%ÓÓ3,Ïåy¹û?q`=×"p,¾ñÎ+ŒeLTE ¢, È*vµN£Ñ``»¿¨ydÓs\]¿.øöH âØž 3ô}vÉ Ä1¶¶¶0t“f³®ëD¢Qææç°m—t&ËñY ]ÑÉY±Ï@X"q…ååU’É8Ãa—H6Ê×{(ω&™l†ƒý#v¶wYY¼A³ÑÁwDÆ )Ö–f9:8`óÊ ÅËËQõÖ±xíÕ›ÌÎÎðø#<×á;ßýS3s,/-:!E"‘¡È2ËK rclm=¦T*¡G Z>¶ÛLj¤(W‹Ôëu‚@"Mã8£¾‚FèY¤PÁ÷\DE`iy•d:G¥Ñ¦Q¯177$ Ä#|NNö|‡ù¹%Ú­.n¯‡kùÄ(ÞÐÆ4 öO8<9#t}$E¦ryI©²m×ÐpÄì’dyôw{,_Àr|ª®£ªêùéy‚„¡D°¾úòÆ23ÓÓä žmo“J%éõú4[M$AFWUênQ©ÕëÈŠJÂäøãÈ/v¶ñ]Y†D,BµR¡Õn£*Že311Á‡¾O¥^fïpÜÄ’¤"FCâ¡ë¢&~( +ÖÀB•$zÝ·oßÂé5è4Nùæ›×PVV8:>¦X­Q®–¨V*€ÄGßý&ƧùÙÏ~J·ãS.7„&§âX=DDR‘ k7Èg’ܺuU‰r~Yåñ“'ܹû€v»‡(‰xŽG<åÝ÷> ]«’IÆ(ä³ÔKµKæçÖpÜ!ž«²qý*÷ï~EµZÂŒD¹sç.…ñ &§¦)LM²õà)É¡Ëx~œÓƒbŠD$™£Úit.ùþ÷¾C4¢ã».ÿú3ï{/OH$cˆ’CñbÝÝCTu$4Ÿ_]!’H€¬Óxøå +k¬ll°»»Ãݯ~ÃÛï¾Íää4¾ ~è’‹bjí—ñpyyÆ·¾ñ.…‰qþþG?çÿø¿þL#ޤÈ(ª‚n‚€aFh·FÑiÓŒp||ŒH„â¨÷n˜·o]cmm™N§OˆРÛj‚±|žt:Åo>»ÇñI‰ÕÕy’Ùiî?û«ºÆÕµ NO.G Ù àüâ”a¿…*›ì¾xA«UC– CÆq<7@U MB5ú}ÏóÐ MSÐq$çù¯PÓTlËqôu±‡#™Œ*ªØNŸòeS7+pxxÄùy‘âeÅ]—í 黦aO%ظ²F¿ß'TLîÞ½ÏÙé1ÃAÙz4[U:ín ×vQ UÑh4j¼ùîDbi¶Ÿ='©¢šg±÷l‹òå%†Ç 5B•±úCÂpD·À¥¥9^½õ»»[Ì/.’gÿàYQ©ÕjXVM•™žšäèøÇóÈä² }dI@Td°á»ßù7¯Ý¢ßoˆ!µ*ŽÛâã_ÿœÏ·i6躌eÙ¤R)*µ éDÇ÷i´Z\Ï ´ñ†-fg ÄÍÖ É•µ&Æ3|ñùèªJ¯Ó…0¤Ûîâ„C¼AÃ0˜(è˜y‰H*IqÐajvŽ“óNΊ/+œpzxÈGßø.¹ô8—õ2G‡ Ü!Z ò‹_ÁÞî®çâúC¿O.[àôø‚ÃÃC"Z­Èµkkô»]îuC¡ˆ,;Ĉ€ˆ@èQT>É£/ñÃ>‰¤‰çú¬,®±ÝÅÞÁ dÑg8èàŠmúžc‘J¦ h4êÈ¢mµAJ`šQ/@3ML#‚mõ1 ת*ýþMÕp<Ÿ~·‡a£IDVУ:`Û=ŠÅ2;Û»¸¶Ãíë·‘%•z»®ëX–E:âúõk4êU–çQ‰R±ÁÙI‘Ëb™Òeùðhghá{ÕZ‘t¶@:•¥Ójðæ›¯³0;Åáî c3¤9wä·><:ÂöR1Û!-Ã!¶ã ""IÃÁ€>úùñiþö?ý~û4†åfƒj£ƒ¡ÚVŽí!IpïîodQòZîIHˆh±Ù©)|% ÃWw·™­té[_|ykh‘MÄiY6aà¡©¦© «"ã9l×eçù êµ ³³3Ô›>ããyÖ–—ØzxŸ©ÉINö™ËQ©5iÔ¨’D2j’ŠDX^X¦Ý¨S˜§Ùê²õtŸN»ÍòÜ4w¾|B«cÓê H§£ÌM¿N©xŠfFÑ‘ËÓcNøìà×õ!Q% Çöð…rù’^·ËÆÕMÂ0Äq}4ÕàóÏ?gff–?û³Ðï‡ ŽÖxŽЬÒî¶±ÜC·K$ª`D"¸–€ ¨LOÏÒèÖ@t8:>Ä0Í‘çËrtt€aDPT ÍóX\šâ×o°8=ƒã8ȲŒ¢‰\”‹¤Sq<ßçã?gviŠJ³‚K‘ÏÍà>æØ^$ÁQ»MÏî±õð¾; ß·04!°H¥"Ô,¥ò%nÇé3 Ñ4 Ï÷i´êx0B’Ê ª…À#ô––—9:<æôü‚H,(ŒÙ³sÓ\ž_`õ{äsJ%‹ÁÀ¢xYâöíÛ¤Ó#ÕðT Ðlµ CH¥R”šžGïåýA»ÞÅõCÆ TªUÄ~׳B'$Obh:—gçÜØØäµ›×˜Ï,PëtÉN/’Ÿ]㋯žqttIÒŒã¶z¸¶…ëØÈ¢„Èx"@‡§§8Ïëo¾E¥Öâ·¿½G¥Ú$áû>ý~—…09¿(R)— ÃËàºÃa!TÑô$;»§TZC²c‹ÌÎ]§Z°û‴™ eư6Ž= €Z„?þþ1–Î"¸pzTâþÝ'ä²Þxóu®Ý¼A,•æ¼XBU ž>Û¡X,1¿°B:“Çñjõž2?³Î`PªõÅ9s–^©‡×³…x4ÃÛ·_Cql6––ù7þçܾy Ùâ–*TÎéÕªH¾$"‰¨†®ˆ¤ œÀgja‰xzœã³¾å²Þã´Ô`nu5bÌFA€r©Ãã/ØÙ>¢^kÐëõ(•/™_Xu&\Þ … úÄc&‚bYÊ¥S<Àì܉DŒáÐÆ²l,ÛÁ dM#Cƒ!ÙTÑרy¶‹.›¬¯ß RiÓhÙ4ƒ‚mC·; Ûêóòá}ž=¸G«\Áé{ØŸV³O:csó:çJ¥ýK¹T¡ßP¯·éw)Aà:8ÖÈ^¥« ï¾ûï¾ó7o¼Jà’³|ø’,ã8Î?«Á­C»‹" È’€¢È#¼&3p†(† šD>e";Ž.4Ëmœ®O`A«Òd]ù/†C Ã@lÖ[”ëMŒXœP°=ŸïüÞïqýæuîÞ¿K¹rmUÐu—A¯ÄùÉ ¾¾ÿ9¡o¡H É!ƒ^A¯išf#%•/p|vÁÑþÓ“yNwxpç>϶ž#Ý^AtA PMmdétFâMwØCÀÂv:ŒO³½³K©tÁý;Ÿ1[Ȳ0>G³\Ç:D#QVV–ø¯ÿ«?§ß©³·ý„HZ£?ìÑêv0#&‘h”t"‡*D‰™YÖ6n›"žç¤X£Úêã Åj“®íòäÅ3z锈ë´xþòm«Åß|›–åž^âγ'¤&³LÌL"H.CJ­3lu@"žÆudQEedEÁŒšdƲD‰•™q$¿OT¹¶>Oñä€këkL„2ްõè{»{œžïsr²‡mût:]D%‚ç+„!\^^R¼<¢7¬JGDIŒÒn¨Uë  ¦CF¬Y9€ýÛè²Ha,ÏphÑìtÙ¼y“ÙåE^ìµZƒÐBQ00S^¹~…n©Ìƒ;ŸÓk–øoþÕxõÕl?Ä×=ºv›µõ%þâßýoë;Ï»–$¡¨"­v©©q†‡ªÜÿö.¢Ä ˆ¢0F’e$²…²¬¢(*^àãºq"©*=K!¯`u;”Kyº=ƒ…ÅEFFFh4ZÜ»ÿ«ïréüy äÖ­7˜]dgk—oî|M£Ù¡P*C*Õê;û»tZ-Ξ=‹ªËtºÇaH¯ß#ŒêÇuHtŠf³E¶PãäÂ9¢Xbsc£ÛBS «J\¿|‘0ˆ1º=ª•!<×ç«/ïðÉo>ç•Û·9sñ÷_ÿ+nÄ”( Ñu˜“'&¸~õa8Øú³m‡©©IÆ''XÛXãÔéEJ•®é +:aè`Ú fç¦D…ú‘Aµ0ÌöÎ&¥B‰±áQHbŽöq›^·\:‰Ãƒ}Ç¥ßíâš&¾ç8ƒÆô IDAT.¹L?p¹xé'féõûd³IgkgŸÝƒ}–×Ö¨Ô(ßIbè4[<}øˆk.1sr³ßÇs]¢0¤^?ääÉYª¥ ÿøÿý”§ÏîaÙ¾ïÇ!ªšAÓ² Œ#J2ù¼Î©¦§'Èe5ÖV—ØÚÝDÓTY¤Sïb}"/Âwl<×B‘$$Q„4”CcUË’$ ("Q8ø ݼ~‹ju„‘Ú8¢(Ñ3{”*EYb—' ª’’œâ:âÑQƒ¡Ú(ÿñ?ýG®]½Ž¦*˜¦I©X†lÓ¦RfddŒ‡ž`&Š¢Aš@’’ÍêDqB’ˆ¢‚"Ë@„¾ƒ®©ìln ‰ÑTTUÅ÷||? Œr… ™lq ñ‹¢dM'_*“¦ƒÄ»Ûl“’¢é:µ±afæXÝ\ç qH£Ûàå—orýÊyÞ¸u¡¡<µá*­æ¶Õcaq‘Ãã…|™Ã½=M¡R"›Ë±¶¶ÆþÑûõ&¹bUÏÐ3úx®8ŽËÎÎ>!•¡<ï25>J¥˜'£*¼yû z]›V³ÃÕË× C;_ÞçÑÃ%²ÙŸGS4’Xbc}×óH„ôRV%R²YÇ1q“žÑÆñLT|o «vlY•ææD‰4 1{&ùB†l6ËÇ¿ù-ßÿÞ‡Lœœãÿ†O£ª2ºŠçz¨ŠŠC!_%A@–E”ú¦,JäsV–VĘɉ1êõC‚ Nbxaæ°aEQhŠôêcIbrr’4891ƹ3§Q5­ óìÑCRßebl„©±*‹s'¨nsþÂ"ë›;¬¯?¥PÌqêÌiÎ?M»Óa|d˜‘‘aªÕ2=ÓT Þh!(`÷Zí5r™<‡ûGˆBŠeÙŠˆ¬@ý`ƒ~÷E’È”²ìï ÔF¦±|( MÒO–V×øú“Ïh·š„qH&“åá·p-›Œ–'ŠrZ!Q0MË2A€|©Èâü"k«¨º„–Qé÷:ˆBŒmõI5/rXo’$!õ£}§Ëɹ§H’„+W.“Ä!K+ll­§1†ÝãÄÉ9.\½L£ÛcznžâP·Þ{Ÿ³gÏ!K!ó·ÿ™Ù…Y2ù"¢Ž³ܦc¹ùôãá‹H6«ø)¢”I" ]¢$ÀéÛäryjCC¤¤Èª„iZ†iöñ}oP˜'AÄv‚À#IÏCafj†ë×n0\«Ñé·Ðt•'KOIe‘z½ÎÑá¢(rêÔ)N/žbyeÇó)W*tÚ=d­H¡Teey…ùÙA¡Ûë# Ùl™0 ã×vèvöÉeuÚí?D’bÂÐ'ˆâ azrŠn·O±T£\¦XfgO?ù„;_~N·Õ@U]&“Íá»I§"¥RžR©D¿×Ec2ºÀÉùqææ&yxÿ[×¢\¼ÖÓ0Äì÷}ª˜@—ž-Ñêt1ú3³‹\¼tõÅ´ÍgéùC6Ö—P3"©¢f ¥<#£#líîóÅWŸ!É"'fgñýËñèYZNesk‡K/£g Üýö>k«k„¾ƒD¼ùöm Å"‡u?zÈÚÊ2¹l†[¯¾†¦å9>h‚ ‘-—H…×öÙzºB{û+¤  jYT-Ë믿E©\åð`‡b±ÀÈð(õÃcîßÀúÊžg“$^à‚#Š ab;qç…dsTYÁóC|×'M!Š\¢Äal¼ÆäÔ,abY£M³qD’„Ü»÷-G‡û”+Eâ(%E’TÀ²=¤?ûÓÿ• »{»F›B!K.—ecm ðŸO~ó Çõ}UFS5R$úŽCD‚šÉ‡Þ T– ¤)•ê(µZm­ mrÙ"¶ãà¿8– b{YS)‹Ä$$q<e‰\6Ãâü;Û›ÜùòKÒ$a|d„v«Ù7Y[^£ÓhrùÂ%Ξ=M½ÑÄvÐÚPz£…š-’/– ü€©ñ±ÓB“P8Mˆp98ZÃ6›d‘¾Ùgéùqœà{Á@I,©Ä‰H’¦¸žËìÂÅR‰'æˆã„£Ã}ö÷wxòÕ×FèYÛµ˜å­7Þæá£'D¤$bÂØØׯ_¥Õj’Ëiœ?{Šáj•J±È½‡_rîìY:íºªSÈ•hw:\¹|•l6ËÚÒN‹ãÖ!v`áøår‘ÉÉ):­&ÝfÏq¸ï>ÝNüUU‰ÂˆÝ-VW–¸yýÎ#"Z&‡û´Ú ²º†ãy<[^"Má—}„Ñj€’à…!ÕáQVW–ùô“ß"Šï½û’®eÓé™xÇK7®S)•i·ðÜ€Ééb@T•_P•l>G6“AQEzF‡~¯ÅéÅúý><äàpŸ4 QÏw m?$MdI"Ž"Ò8E–et]}A Œ@Œ‰ÂEQ‰IP4™7^¦ÑlÓiwQu`iêvxöôš¢PªAñ¼€8‚qxlES¹péãã£Ý_|þû{{ìnnqç‹/±úI@“5¢PÄq#r¹<ª.“$>qÇ1¡i:ÕjIq}8Ãè¢):’¨"¡" !I~” Š2)"™lŽl.O­6Â×_ßÁs~ïßãÆÍë¸G* ؾO®\fáüE2Õ*c'ç‰S™™³”JÃ|}÷!•á!šÍ=::zVCËÑi»‹#ôlŸ££6vÏ&ò<Ì®qÂÆÊíN‡b±LŠŒªe‘•Iª +"¦ÕG‘%ff&ØÛY§~°Mó`÷_Jm†Ñ'—+ò»¿÷Gllî¢i:’$¢i"$ ŠCÕ*ãcœ>u -“Õ‡Ðä"ŽÆ"›»Ûd YŠå"¶ebw}"?F–e¶7wȨ:º¢öD®áàù£ã'8‹ó‹/Î.çÎ^$ðclž­îsrî õÝ=ª%•»÷cX&ò'D&´ú =ºG¹ú*Aâãø6ÇG-õ ’$Äwlt]çÖ«¯òðÑS‚ÈÇ3}2ù< q(’Ë0º.[[{äsYöö7±-‹$N‘3 ý^œžáÆWèöleâ0F f瘛Ä4,&ÆGѳ:HÍfÓì¢ÉY¢0Á÷]ZcrÅ,‹§Ï£iEðƒ$ðÝ>×/žgfzžéé“È’ÎîÁ=×'LRΜ¥:1ЬÊ‹yž"¡/P-Vi6MZ> à}C"ß,ñ(z&ÇË·Þ —­pØ<Æï‡´êù$ŠŠGllîpêÔ"¿úõ?óÚÍ—9uf(ö8<܇Tâ¸ÞãÑÃe,»O`»h‚N)—¡—vIÈh9HáùÓÇØžK©X$Ÿ-àûq#J"b Aè D²¤ Ò·mR@”@E5C"È ºbÙìª<¿xމ™yÂD&W¨²}¼ÎÈÈ4}£‹éõÐtåÅ’º®#) rY×¹ûü)îÝ¥}x@·~ˆ¤~L^) Šš:(S¥¢LFËa;6I QêS©T8qbš½Ý]æOÍ¡(*Û[[(êt†!¦ÓDz,?aPÿP1ŽÄdyïðRªzVßàäÌ4çÏœ'LbLǧٵ•*³S³ÌÍOñ|ùÓsóŠ@¤A’Ïqñå[Ü¿û1Š(ðáû""Q]e÷€¸V¥ypD!—A’5-O³Ý¡oú“$*º¨DiêGÓW¹rå"F³oÐ3º¼tó%–Ÿ/ÑétÈfª££ÊU2Y ÇéqóúEZG‡X†I¯Ý¤ßîsêÔ¹¿Y§ÛI™šg¸Z¢Z,‘0;s‚GÏQ*—‘Å”îñ›ÏŸƒc´Û”‡'™8±Hutωè[&qœ0;9‰gܽw—fëÍ5tUç/þâÏ8}ú2z¦DÇôìc¾}ü~ØD•Ý;[é›>I*#‹å '9<¬³½±Éúê ¢¹l%ըߨáüüº$óÚµ›¨šÆƒ{‰â£×å¸Þ#ð £M’Dä y<Ï%! NIFRL»m»ˆÙ nÑ·]¢ $—Ëa˜æ`ìÄH¥~`Û6I2Pºer9âX@–4dYÃñMz]ƒ“s‹\¼t‘ŽÑ`|´L)/’ÆÛGc$1%Š<ß% ÜÐGr Q”HÂy¯¾ÏW_ߥyÜ¡”/£gu|×å½·ÞæáÇ(ß ƒQRñÉ0ò8wá4Õj‰8M¹výÒ@x¾¹IúsdI&p=<ÇÅ÷} ù"¹l˶óg8}z‘úwAH‚€r±Èå gøÎïáz-#äéÒÝ~Zi‚Ù t;{(tZÇ„AÊ×_?`ï`! P‰>ÃcdrÃü擯ÙßÞÆ¶Mzº¦rùò677QÔãÂÜû{»Ü¸ø ¹Ü’’#Šá`oƒ^§CGµÛ¼ùÚ+‹E¡XªÒ·L:6¶k!Ë2µáºFŠŠ¼÷Þœ^XäÑãoè÷ZLMŽ2<\£Óicô{ä yæçÏ‘Õóøžƒ¤IB§Ý¤6RãùÒc.Ÿ½ÈÜì<»[›t:-¶ö¨M޲º²Â‰Ù)TI¢ktq‹©“3+U¼jÓ'IÒ˜k¹zµL”‚czhªÌqã˜DˆÑ2í®aBL6£ñ¿ý/ÅäÔ V—R©„|ûå§|ôÑOȪ")Ý^£gã1‚4øSŸ‡4¡ÙhbÛ6a4È‘dIFŠÅ c£ÓœœãWÿô3FÇ&±L›b.ÇéÅ ô{!Û{[Ä¡Ï÷¾÷=ö¶¶(rxnvPÝ.×(”ª$iL¿kD!~ß%«g(•òH’LE’@”&(ªNÆ€@Šˆ ©D‰@§gø/¼Ø±ÇK¯Þæû¿ó;ôz6š¦“ËåP…Õ•%<»ÇÌÔ adFŽc»ª¢é@2m'iš"ŸæÕ+×ø›þË+K”ËCÜ~í6—SªPßÛe|j†Ñ‘1ÖÖÖ©V+ØŽÉÅ çñ€å§ܼv‘^·‡(ŠtÛm2¹ qÐ6:¸Ž®ff(FÏê\¸|™Z­Êþþ6úÓ³S8AH,JüåÿúW¬¯¯óɧ_qáÊNV'ÙXÿŠ‹g¯Ðèw-ÓîÔ®ñÚ­÷ØÝÛÂ4mÆGŠôšÇäå,o½÷^pçî2K+Ï9Ø^C’$Q¢×38®>f¿Ãæö–e£é92Z†N³‹®Hü÷ÿöÏDØ^} ¡ÉH9ƒm÷±:u\' œ•ð<‡À¶PDŸòpŽW^¾…ËÝ>¥â$W®¾Í¥³“´=ÄPd¼XÆ/¶)‰>¡ªR• ˆI×hvC†ÇËäk£”‡‡$ YH$™½Ý]*µ*¥bž'–Q5‰+×β¹µO§Ù"¹ËÅËWXX<…,å¨7Löx¾|ŸÇî£}# ŠÀõcœ "%…X@’i4öñƒpP‹dDd-G*J¼tëUçO²·½ƒ"f¸vé kk«Dé î£f²¤Èœ>wžñ‰)V—–Ñ3:ŽÓ!ŸØp_ýMö´L$8ŽÁPe×u0ÍX%NRTE#RRDDE!I„4F$̾-X$É@F?R«pzaŽN£ŽïG®‰Ó3Ø4Ú,?{D®a¸6„çxXVË2I¢d å>Y‰£xàÄûÞïý1Ÿýò êMÒ(BH|ÒÐ%£I8AL9Ÿgzz”~ßbrjŒf³Îâ© „AÈÊò2~çC,§GIÏðìùS®\»‚ë¸lnl"% ¤’$#I"ùBžwß}‡B©ÈêÚ_~}‡ï}ø~¦—ðçño9l÷øÙ/~Ík·^ã•«¯a&¯\½ÌÞ~›åÕm††r¨’F¯eÓl¶¹{ÿ>²3ãCcf¦OÑî?xÈÊê*ív{p‹SDQ$ŠR*CCDQÌôô4wï=@QUü("Œ#ÞÿàF'j4Ä”3§é[››ìííÐl FŒ¶m³ºtŸË—f897Žç[Ô†‡‘Uíí-ü æé^“È8;w’rV¡êôhwš 159‚¤l®¯ „ãµFÊC¨’ö/iÇô{{»T*Ãtû£cCüê׿åÉãŒN­Í-ªµ ç/žÇóš{{ì®q¸½…ãùtº&½¾‰¤hø Ž(¤Qã¸iš Ú³²Š(i¤$ˆ¢Hœ’N£e£è5†'çØØ?ÂÆîÍeVW×)Öªè… ?üû¿Ãêó9JÙãììn h>s‹£ÜÿÑ·,.œBËŒ0Q­rÿþ}\ËFÓ2 *¨ªŒëyDi y•¡R=ëâ9ÐnpbzŒ Î2¿xEËR,V‰“„ ˆÈè9¾ýöz†E*$ìíìPÈ88ÜÇ2M$I&«éÄQŒ'hš‚¢H(²ŒüÑÏ~ÉÆÆÇõ#4Y$<†Ë%ö¶¶¨×œZX$MÀqŒVI’( H‚H«Ñ"ðcÇÇøž‹$>W, ±»gา*qïÞo!á¡1޼]âTD˰IÍ‘Éiw ÂÀ#«–©ïÖ ¼QT!ŸÏ‘D ýfUªÑmmprf¡§n´yþð9kÏ—±í&Ïâwß¡X.S©ÔØÙÙá뻟bôZ¸ŽMÛêãÅá 0µA÷,Qu• òA ‰j¥ÌÌÌgO] Tbc}Ã4(×rLžœà°UçÙÚ¶v¶È袳¾£+ ;›Û$‹Ùuð] y )«–Øß¯óÎ{oréò>ùìÕÊ®+²¾¹Ãîþžë "¯ÜºÊÂüv÷ATq}b©@âG=‹¾iÅ>õÃ]fg§U=W`kó!½®ÁÁ¡K©cg{‡úÁ6y]'BÄžvÇñÑõA)Õõ²¢D¥R!ôC2YlFDzzÈ÷?&õˆc$nß~ «o0;‚‘¡Žm141É+¯Üæð°ÉÏ?ú'Œ®Éõk—X[Y! |¾¹óŸ<¦ÏàÚ.vÏAHEüÀ'[(@(0=;‹ÆØ"xBŒ\Èbö-†Ê% @Wò|ðÞïÊ*_Ü»Ëøðíz)Ž)Œå)dËHØ}‡SgçÉswºllï2M†Åù‡G,=LFÖè·m,Çab²B®\ÄmРj’²µ¹ÃùËg‰âÕµ @}󉙞#“QpíˆÀ³¹qó%$Qekg7ðYZ^Á0,$IDe‚v·D•L¦Ì‰ÉTIB@¦ ®@¨ IDATR(365J‚‡ew1M‡4V™šœGDBßfck“LÎAÑ,EFÑòXQAèuü BËf9un‘µÍM6ž_Ķ;BVdEÆv{dôzV'ŒRDäl$"f28^ÄßyR9eõ8sáN‹×/±³»ÍÝ»w¨¢Ë³“£4›ÄIÌQ«·»=Øé•B9$ ||×EÕT\×âOÿôßpûö-~ù˦ß48:< Ó1£\¨‚(ñê­[t{[7 "QôIŸ—^}U(ñäùsÔ|ž~Ë&_©R©ÖØÞØeiƒïð=VÖVùÍo~ƒoõ Û2É‹8qˆÓÿô3t%äÂâï¿õÕÊ8›«Xv—ã£CšÍ.ŽíÓîv ƒ€(IÐ$•Re±«ç¾pÊɨ¢HHJXÞØäìÙ<¹Ê’¢s|Øààà€¬žC×4úFôÂ#ËcãUÒȦ2Uâ½÷Þçú—øío?gkkƒñ±¥±aöŽö1Z-*•2ë«Ë’ŽžÉ“D º& I cãã8¾Ïññ1–Õ%="’,Ë ò=@$M3´š‡ÌŸœ¤×ï³½½‹ç9øŽK§Ó¡Ý5Ðô Š"#‰aa9q<¸` lË$ŠC4%¦Ýn¡È"åR yæä ³Çí×^¡\*ø1'fç1z}ôŒŒé<|ø-ÓS yΟ;Ë7_?d}m•(ŽeA°­¹Y×3ƒ¼”(P¤OŸY@$æpwãÝ}†‡j¼uûî޻Ϲ³™™?ÃGwØØ\aöÄ4ãCU frfžêÐ$:Šš!ŽJ•+Ï×ùòÓ;¤IÊÐPíåU~ò£ÿF×0D ÂAPIE(ÙBÓâßÿ€ó/á…?ÿÕ¯ùÙÏ~ÎäÔ8/Ý|™½½M!IRÇc|bœœ^àòO|öíšíšžEW2$aÄdT…$ô™œczv -'bôê\¿r×é¶32<‹í ¦ýNÓ'ÏR­L0:6Îþá¦""áxnàQÈ—Èäʈä«5‚TbéÁ3cZíŽ×ã·Þdbl†3‹çÙßßÂî½Q²pj‘oï=Çö=Êwnßfdt‚íÝC>ÿò[üÀ'Ž#4]E×t]Ãs2 r$33UnŸœšÅ4„XÄ0ÚiHµš¥×‹(—Ƹõêm&&†ùB†ï|÷mrÙ›{Ûä+E®O¼F*‚e™¸–E©RæÖø-¢¢X@× 4›Mšíª> xV¯ÃO~üö¶wÈg³üÙ¿ù3š­•¡ ßÿï³µ±Ï“Ç9yây-Éœ›_¤Ýè°ô|QѰ-—•冇kx®ËƒG°}Y×yxÿ¡Ïd’YÕãÁTDD¤ÙîòÝ÷?àõ[·EÇÏóÑ/>bñô"ÿá?ü%µ¡*Ÿ|ú)‚$Ðé4yÿý÷ãù³þáG?¦×5Y’Ñ™b^§\Ñ9}æ$…b†+—.„6ª¢rbjŽ3‹çøùOIɦMßqÈÎ_8…"êXýˆv»C‚O»{„&Kt&S3ÃTÊE*ÕQ Ó'Áu6Ö7ÙÚzÎò³;d´[/_åú嫨ò ¶{Übûà€­¦¦¦év :­§æ¦¹ýê5þô_ÿ;ž/¯ñég_ÒíõDI‘%a`EÇwÆGGÉj§Î,rX¯Óì6q"Ip©VŠX}‹l¶ÀPe„v»Å™ó‹,žžeiköit›ä²Ešõ6S“S7º Ž012È3†*ÃHªŽíú$ ¸®Kß4j/m ðm6ޱí>f¿G¯ÛÆè„Q€(Ê@2x4£g"ˆ"{û d3yA"Ÿ/€ ÄÉ 8â$t]#MR´Œþ¢*"S(HÒ£g"') W†ÙÝÚebt˜¶ÑBdž<]¢qÜäw?`lz‚;ß<`wwŸzýU’Éè®í`[6aš É ’ª%"I!*:ÅR…ÚðÜżÐçö¯Ó2´» Μ9ËþΪÜçÔü$Qœ°½±Éé“s¨j‰³ç®¯,Ó·ú·Ž(UK4ÛÇŠy$ z½Žã03=ÆéÅE7àÉ“§ììî“ÍæÜ^æþà»LLÎðdk—È·ùÕ/~ʹÙI~ðGÿŠ yòô)aì£e$Þxû ÆÆÇùç_~ÌOòؾC˜&ˆ¤¤A„&Ãõ‹W*g™œç›;÷¨MM°ñå‹ §¹pí&O–79öcÆ32;Ý~ÿ½w›œ@5 £Ëöþ>CÕ)x +!7.§:R!«eØÝÞçÉÓeD%alb„n£Îúò#N-LpzqžjeÇ ™À´ž=_ÆuLöö(—*øžËk¯¿A1_$Ÿ-óÏ¿þœŸþü×4šDY"y‘ˆ$‘‚–‘ˆ’=§"©"i¡K0’Í2:[àÞê}²Å ÅJ Ç9<9¨ÍLǘ¶ÍÊÓgDI„çÛ¬¯­àÚaµºFR$L°ÒITˆ“A”H’APˆâ× °½ÓµÑeÛ²ùð;â»><@×uU¡Õj#Ë2Q#ˆ"¹¬†ð‚{ÆÑ`,-JôM›(ŠISùâ™K8F³osíÆUšíDiÌèÄ8o½ÿ.]£Ão>ý†Àµh·É("…lËñðØDQuðT¦ +*A˜¢gód3Y>úèÔjEÏœ%ˆ#äŒÂ½Gøîw¾ËWŸE$ ed²¨ºˆ¬©ÄŠ€x¦M¤H<}þ”íMŒv!‰ñ­>Žë’0Tæð°É¹ó±û[ûû$a„kY\º|™[¯Ýfh´ÆÇŸÊØÄw¿ü’—nÞâÿYÙØâó¯ÁÒãû ¤LMM"ðÓŸýœÿè'ˆ¢„¤*H±ˆ¢ ÀÅË7X<3èÖl ÏžfõñÅL…©ñY~øÿ-;d³yŽ7W833C»w̉“ l¬ï±¾¾ÂÔdm`&š%\ÇÙ\‰¡ê ÕÚ4Oî>¢¹±N¶åî×wÙ^_áÂ…Þ}ïûDaˆeº˜ž‡îEôœ<ËèQ)”QT¡Ñ¥‘"?AW‹Ü¹ó-–ÕGRâ8$MAÓ‹$±@©TÁM\d]ç¸mà„M3  tcAR˜_x™å¥g(j†¼ Q¯ï¡( ž°¼¼ÁâÂ×®_E“e>ýôô¬ÎðÈ'Ç')ëy Ó#›+²³w„aö9n²³³IèÙƒ?Pyp7“%A”‘¨T‡0M“]ΰ5žƒïù&$D¨ªFÆôM×i4¸®¤*”+ªÕ ‡G‡H r' ’$ƒ2Y‘ˆ“Ïó1“Áꃂ(ˆH‹Sã½w¼ËË·^a{ï?LIÐ?Á³åU¶¶÷ˆÃY‚зð Ïó[™,^à;>²¬ „Þ$IJ>›C!IbÞzã5î|ùss'©Ö™œœæÜ¹KÌÌ.R­"P(—È ŒNNÑ4 šÝ¦ióìÉ KØf’ppžì¶÷t=C’ xŽD´;]n½ú*år•3çÎrrn–rµÌÇŸ|Âò³‡ŽIm¨Â»|¯ï=äãO>æáÃo ×^{ YRð]Ÿ_ýòט¦E._Àó#Q¦\âÂù ܼq“½ƒ=VÙ>3'1m“ÅóÐ UöŽXYzÄÔÈ3”Šy,Ó¥Zauu]Ë05q‚$•‰â5£$07šRyˆv»˜¦œ:y‚l.Ëg_~ÃÙ3‹œ˜9ñ‚…šG%\×f{w“­ÍM2EÃìQ¦\baþ #µ ž>|ÎÒ³%Â(ÆvÜJFÕÉçKDqB±TQÄô<<×!ŸÍ¡ËîÝ£Vâë{ßÐ3 fgOóùçŸqþü9Žq]„„4 ñ}—LFelr„'+Ë8aÀË·Þ \gx|œ¦iѵLÚí6_|ñ)k+îâ»i’ ‰q, ¤’¤ K²¢àûƒ Hƒ„]A\ÈE!M"D £eð½€(Œèöz”‡*äò9ší{»;ËÿÏÓ{5Y–gzÏöîøÌ“>+³2+³¼¯êjo@ÂÁáL)R¢FWŠÐÕDèN!êèRº•"†‚Ä @ °ÙvÕÕåM–ÉJïŽ÷Û;]ìüƒsNœ½×ZßzßçQuÒ4+ɲˆ$ iJ„8£I#"bªª#Y9óo/Ýx›XT8¬·ÐtQVX_ß vØ`fzž~{$ Ð5ƒ‘íÅ1aàº.iœ@ )"’"“¤ÙS™³,â(àÝwßdoc‹$ y÷í·8sæ’¤rØèröÒu:#Ý£ rŞхìîÐlì“ÓS§Cï°C…$I‚ã;]×)ÊH‚D$´uŠy‹ÕÕìÔö¸xí"­NÏ>ý«`±öô)ss \¸x‰µ'Ùzù {ÐCÞÿ,£À°osóæ-ÚÍ&Šª0Ù„±ˆà»”óo¿~MJ!q‘Õ„TŠ Óˆñéqffg°Æ»LÎÌ ›ßez¬Ä™³Ëll­S™œ¤ÑíSšÀq”‹%Ž/ç¨vÀÃwqƒ€HN‘rŠfQ©NÄ1+«':Að|ówîÞ¦R-SÈÏà9 Ë+'Y=yŠ“+g8Üï°ùrŸá`ÄÈ…²¬‘Ï^½L"*ãe$M`Øì!¦)¥rV¯ËÐqñãÝ´(—KȲÌQmQôéõDa@'ıˆ,ëh¦ÄDµ‚&Üxãm«Lg¦ÐëõÙÜßâ7¿ûu’ÐCHB ]E7rH‚ЦçPd$N„,nÅYß÷}’Ø!•EÒ4E’É Ð‰‚ Ȩª‚¦è”Ê%dM¥Ö¨Ñî´ ú„¡GÎ2ñ¼Ìl¤È …BžÀ÷EÏuPD™(‰)ä ¨ªŠ(ŠÈo¼ûWNsóë/ˆE…žg“3-Ö·×8sò{‡ÏñûC ¥<Ý^‡”E×è dYEÖU}|?‚0&E"pGœX]æÞÝ{¤¾ÇÿÿGl7 U¶Žƒ„þÙ?’Ë©ÌMUIS‘Ï>ÿ+WÄóž<¼xñ4ý^Ûë€(„A é943š‘UÂnQkøêÎ}d)b"_`«=âØø"'Ž/±÷䀕¹“¼ØâÉ“{,¯,p|þº^A1*ܼù9Íæû»˜zω^¥7)蜻zÙ…iÖŸ?£T©Ò9´™¬N#ŽU(j9ÚG5|¢ÈAÕTZݪšb•yö´Åú³çµIÊ‹ƒ­¬®¬F1qh£ˆ ½VC6PØÑ,‹åÅÔöÐ5ƒƒÃ’£«*Qrþüe&&§0­)ÙÄ÷\ÒXƲLúÝ:ÃaÇq›TˆIˆˆ1T ]ÔqGÃW{í„4èõG‹EòùÏ^Ðiw¨V«ˆª@0ryrx€¬H¤iÊ«º5…r×ñb…©…yʳ58Ø[çi·Gøm?£ßé`(ž`-ŠÅ ¾ãÚY_?M³f…ø¾‡ˆ„ I¥È¹†náŒl$QEÓTŠºÝ’¬€ HNˆ; ‹3“œ¿p‰ ‚gÏ_299A’$˜šÁLj£”Ryœ(бIÊÎ,qš"¯ž;Ãæú&½v“›·¾àûßû.»;ûD^B³Þæhï%Í e^ +*Q”RΗðƒH% A Xiƒn‡Ëo^@QT:逿ùŸÿtC@ÐCîÜyˆ¢HÌÍMfL'3G©P ÓëR?|‰€Á}G]ž­=ÇÔM¢(Åñ$IB@ ‰CDR\g„ë{(Èi0Mhµ{,,NòbëfÅBS ô±© aÔgñø…ÂuUg8ôH5 ÛéS«R;:Dd‚0D74$Y%!!—·8uò<·ï?§V?b|à1^ðŠèæ8ÇN1´=ìшÀóí­Mòù–e’«¸{÷WoœgnªÊìd•ÈŸÃ Ö7v«–H‰B¹ÈäÔ¾pttD©š°½ÿ”‚™cyaŽ'pöܶiô†|÷»?"òS¢$fnfŽƒƒìO»½³Å§_|L½u@©)誖Ñäý„”~D𤝒½1¡ãH­áß÷‘HiÖpìŠ^À2-œa‡8I‘µÏáÁ.ßú挕™n­Á U§±¿Kd{tê-¶¶Öé†ÔM¦§¦ˆn;£†ÈŠ„ø$Ȉ‚„ïg 5]Õˆ£á ‡, Ȳª[Ì<Ãn‡a«CA3¨äK\½t7Ô¨ÎÌ2slJušs®% ‰¤áÅ_~ù)Ýnë-]EVdYFÒ¼ÀfºRÆtyðà6Ççpl›48Ú­‘7ó G.žëâz(Œð<—Ù™9?Áw<„0fi~žbiŒ^˜ MÍððå:»û;ŠÄîá>õVÃ2ÑM E3ˆS쀠’HziŒQ3è¹vù2ª"3°{ŠI§5¤Rž¥˜Ÿãóßßcg§A’H8žK’ˆär4E#ô}â($b/|”2ŠHœÐm·ö{$qD>g`™:KKK|ã½·X\œEÐDMC’EN®,£[E{G|ö»ãW?û_~ò1OîÝ¡Ó<ÊVL=¥X,¼òŠÄqB¯?`d»x~€ãùÏ÷ƒ(ë…¾çá{a" bæÓ³É“†ìî’ àú¶k#‰ó³Ó\¿zÓʳ³{ÈÝèuû¨šJ³Ùdfn–áp„ ÊLMM£–i’$1ýáDZI¹sTÃõP‘ gÏqó˯pYEQLéôl<{D®GÏ™¤ DaD…¡O’¤º¤ÄqDu|Œ¯o}ÅÌÌËK‹¤žÍ¨Óâþ×_cZ&Þ(ajjžvo„ ¤Ô;C‚DdhgéN„”B)‘ÏQ«×‰ÂMÓ3pm’¼BvF(²–ùõ¤ˆ0Šé:Øv—Ü™EªS Ì;ÁßýýOöû¼õÎk”J% U'DͤÓh±½÷œ£ÃZ¶Ï ‰LÝÈ–nDDIÆ cöˆ’EXY9A%,-ž¤\.rPÛf¢:N»}ÀôÔ³³SLMU(”4’´„3ÊöŸüÛo8qâ8s‹‹<º»C¡˜C'±m—±1 +—§Ñn0Qgeu U+ÒíˆbÈN­ÃÆ~‡ÃzkùãoŸ¼cc‚0N’J®ódí.®7@’DH4ÍÄÐ-Ò4Åõ’4FAÑTdYaèRHHÒCÑyA2¿0ÏÅóç(Klì¼$RÎ^<ÇkW®±¿sÀÐv‘H „QDœ‚ï¥ÈŠŒªi$‰Fßvñüˆ0 ‰S—T1, IU Fäs¾ïCI”û¢¤`’,ã9ŠQeIç(FE<Ï£V«“·Tf¦g(+x~LJŒí ²Tª¨#K*ßúæwxþô>AS5 $F£!F Ã2Ñ4•0 ‘"/üÛêÄ,—/^£vØBH%\ϧÓ **WûÂr¹”ýÈI‚(@J’DxžCŠDš@ÞÌSÌ—™™š! #þôÇ?FU4RDîÝÿšf«çÛï¼ËÔì,©¨0tî޽ǟNí•^IÕ4òù< §"¤ ŽëP.—Ñ M7Ù.’¤Ç žbÛ.¾çQÌüà{ße4è±µµÉÃ{·Y˜)ðÇôu£Ù¨qíÚëÌ›gkg‹‘ã°pìž“’¾²ƒÎÏαöø!;ŒUXXœåëÛ·Q 1…j¹Ä¨×æÅúc4Mf¬R$¯t»],+Ïó§üòrtP'‰c!ûs欦eF!ƒAEWþpYÇ aš + †™C’3¬©çû\¹v+—#ö=Ü8å°ÙDSÆ«Uº=——›[4v±ƒŒåGav>HD$TYõ}‚0& #EGÑtY"’DYÎð_ˆè†(ˆYZ×Q5 QÉå,l×%ðülUS5 #“与ÍäÄ8.]F–TRAàþ½;Œì7nÜàäé³4š-vvwyþ|4MC?«W © º¦£)*r¾XàOþäO ñ|YUèôz躆ª«T*b?Äqm$!ôÄiDdt…4ŒtE)–ŠŒ•Jôºmþ§ÿø7,-/óxí  ’/V1s#Þzã-¼ÀåÎí;<~ò”ƒÚ!­æ~f)Êç!]×ÑuÇõˆ£A0r}{ˆi˜¨¢EG„q IÊÒò)VN,z6ÇççÈ©:_~ý1Ó“Süð½w¨LT(¨E­½ájµÂ¨ßcóÅ:r¢ ªrö¦Œce?À Yã+…Ðîpîä<"W¯]"NjGCÇøäÓ[ˆ±GëØ"óÓ3lîl0¿pŒ^ÈÛo~ƒµ‡Ï‘•¹ã‹Ì-£7pè8*s3 té·Ú”Çd45Æóz¤Œ•'0Í<‡\¸¸L³=DµL4Eä“Ö°””Ï`‰ Ï^ròü5|/ä‹›Ÿb»-¬ıJ'¸®Ÿ‘¸=ŸN§óêfXÄu=ü @S5”T!ôB|! ‰b’8BWtJ¹"››ô™“Å *…qí˜G^· ,Ì/à™ÙCÙï IcDÄUÏ J#g„¢(èzYQŒ¢4£B†Q˜sTýgR’5M¢ˆ0MÐuÛuñ\Ó4)ärA„cÑ4IPü€ýÝ]lg„çxä¬ßúÖwèô{ìîoÓì é¶³H”D¨ª‚DB‡ÄB‚˜ŠDa€“ĤiŠxõê G]>þä_9{þ aì“¢› Ic&ФDÉ«ŽDˆçy¨ªŽãøˆ‚ú {™ðÃ~ÏïqãõK\¼|Ž\ÞdéÄ2º¡Òhö°rEŠå"7o~Îí¯nq°³ƒÛo ¥Š‘ Èjnv<ý>¾c#º¢P(2Óe½Že™¨²D¥œ§ZˆÃ6²ðÅ;”¦f9qþÇNÃÊM°±Qçð°…çø„aD¿Ûc8ì¢jú«sŒ¨¨ˆŠŽíqD©R@ â/ÿüÇLVM†£}T5aws‹‚f1l5é×wxÿƒ+,-N¢h!¶S§P‘™˜)²º:ÇÕ×Π«3LM_¥ÖÖøâ‹‡ˆ~—™’GÉDMÂÐ!_0yùrÉ©iŠåqzý!i*Òéö¸{û.¿ÿüSzÎÞ ËìÌ4Š £‹'WQuz³Ž¬HˆÈ’HºØî„ˆ8ò MS)òDA„mÛ蚆$K¨¢DÇDADš ÄQ‚®é<ºÿU”¸ré*Ãn—Ý­M,«ÈüÜqˆáhY5±û «:B ª¬ 0²‡ø¡ªhäóýA6=TÒ8E”ŒAåù¸®G¯ÓÆõlÂÐËÞæ®Ãh4bh;¨ª‚* Ø£ƒ^SS…U‘VíˆÈ¶9wú“““ÿúÕâ ''ø¿ÿ¯ÿ]q˜ãéÚ#~ûëß°tj™ÍÍ-W”cóÓ\:ëqÐjÑéÙ4û1è3|uû+\×feå4/ש”g ‚áhH^‚Z³ÉÓç› †ÒT@UÒDas¿I7J¸÷h…i›ýè#öwñ=›0È.êò¹2Q…1º®! €”&1Q‘†!®ã"a’&B¶MÛÅ2tÆ ®“§\C|•CÚ¢(R(ÙiÂÒ‰Uvv¶0 +Si9.±R4òŒMàz#|?U§Q@§¤‚Ž3PtE 7òIâ$1›tzÒ«‡,Ž3ÍòÂ<Šª"’²²²L!WD%­C×£ÕjÑì÷Y]Yaýù¡ç¢ icY&¥R‰áhÈ`h„’.£Hò ~² …˜y×MX±‰ç†È¢ˆ®*3è÷¦„a6ù]Sp_µÙtE d¾ýÍoðìé£ Œ&[H‚ÎA­Åƒ‡k|þùWüÑoðèþ×l¯¿Ä2-¦ËãDQDÅ DHŠˆ$‹\L1q<ESÑM•4IB϶!‰€jµÈâ…“\¿t‰ÉqÖÖžÒjvñØñj•âø$Š–§Ý³¸.ÏÖc˜"²c;mzýq( ªjeë>"ª¨ iŽcãûV¥Ä‡Ÿ|„kwøÓ?ùkOžråÜê»z‹ñê8Š ›ëȲ‚išˆi‚@DƈB‚$‹ˆ©‚*ˬ¬žäÔɳüòÿŒçÙKº&ðøÑmÂÈçõ7˜›A’Eæffùê‹;ØÎˆv§Éþþ.¤Üj4¡&2¹\ßóI“$» ½ËÖöÇÏsåÊZí¬Œsúì%Ú½¿þíï(”Jˆ$Ü¿{Æá‚û;»8ŽÃþî)Š$¢ˆF>›ÄȪ„¢ÊŒ\'34©&)Y•1 lnÝú˜êd™ êññ¿aòX…ŽÛdc³Î±…)zÝBº®15QA¢Þ¬ê393F"øô{ÝNíÝÊ9ÜÂ((x^ŸÝýrVÌ™SÇùé?þœúÁ>g–Ø©ï³wtÈâñezu߃‹xôä¦äsñâe,+G½V£ßï15=EÇ$QBà¤Rö™’'BS5DYÎ6©@$YžL?–F¥\‰7^»žñ¾„€\®ÄÊò)öx²vŸR©H’ÂÎÖ!ªfáx.µõg”*9¾õ½o2…4šM\ߥ\©°¼¼L¾P$Žbîß»‡çyŒWH<‰ííZš¦0rG8£¹Ržååй"ƒ^Ÿ|>Oè9”òUú}—Ù¨5v¨”N "0=6N7_CWª\»~ÒØ8»uÊÆ8H)K¹%?¢>¨36Vf0d`lE&N4EFEä(ŒÙ|¹Éh0 ‰#Ò8æ¨^ÇÐ4$Q&ð4%A’UzÝ.¢(aš=Åó<$Qä«Ï>¡Ù¬³0?Ç·¿ùC 1qpùÜyþ‡¿þKìáϰp|†J5Ç•×nÐnè'ÇN]Âu; —òX6aªíocÛ„†ýW³k2›«$+‹%TMAÂ3B._ I$9Aˆ¡\ÊS(099Á§Ÿ}ÂÎÎ.ï~ã=ƪEîÞ_CQgŸ/o~Áÿö¿ÿ”ŠÖÖÖi6{ 䨌M!}öÉMråŽë°yTcVg¼Zå·Þ#ˆáÿùÿ3/_nòÁ{o +!_ßý’×ßx‡8ö8ªm¡å4Ʀ&È— ì7íÏ×Öˆ¢\Þ"y•ò=ŸT„I’Ð$ßñƒLd"H¡ï$bå ,Ã@LBtÅ ZÍ3²{ÄäóH.ùR õkkxžË÷¿ÿß‘¤Ð¨9ô{múÃ6ª*1øììÔyòô9}»•ËqñÒe¸}û6‡‡X–ÅÅKçiÔë´=F£!9#S<Ø#YX˜šæÚùsÔ BW!‰fçæQe•££#ž>{† FÌÎNðú—°‡¹œL¯7`qñÛ»»ØÃ>õvMU8é,ÝþR\¥Ê‡O \EQ@¢ùð E»ÕÌÌB¡Oãè€$QAÐU Ÿ$ŒÐ5 ß2g™nBêqfu…$ô¸u{ÈÙ³§˜›`íÙ S`÷à9“UÆ'¦ÙÛÛ#NR¬œ‰¦+ìno¸¡êE!’”áããŠÅЬÒíup¢„‹7®°rf…N³ÅÃ',.çÂÊž<Ý L \-cZOÖ^°¿·¢ÉZclbœ©ÙqŠ•1ööZ4šªÕI!Ævš„‘Íôl•¹Ùyêµ=žìÞfn¦ÊXå,wï¿`¿fÓh6X{üœS'—1­QrñÌ›Œæyüì9§V/°°´ÄÁβ¢³öø>v¿C§UÏÆæ’„ãxÆ+Õ•ª£ªbv§¹ÄqÖç.œEÖ4'ÄóÙÛÝ% ƒ, Çܽ{Ÿ½½fçÉJ´Z-dUan~EUÙÞÛÅ÷A"Ž¡Ñh°³µÍƒ{÷҄ɉ2ýÐæñúKBQAÔT&g&¹xî %Ó¢¬êtÛMv^¬³¿½EÎ0‰ãN§ƒ¡é z}E%—Ϥ:å±1$Y–ÿÖ4røGš&(ŠÈ±csœ:½‚ ¤ln½¤Û') "‚¢!É:a"¤1圉$ö¤ˆk×®211‰ªYXù2I"#+&ÏŸ?e8裪"ý^( ð½LD% ˆñKÇÈ žï3²m4M%ŠÞ}÷ó3sY ,ÉŠ‚ P¯×˜ššäÉ“5~ñË_0ì÷ôÛ z]tU¥\*ãG)‚  ©zvw)H dú€T^©ÅBÑdIäÙ‹glïíÐkõ£œeño‡±±1^nlbš&ª"ãû>öÈÎ`‚üjEΤ'¦®1^2yëÍׄ”V¯‰(%D‘G¹hqâÄ"Õj™(Jy¹¹ÇÉSøäãév;DaÈæö&$¾—5ÙÂ(b8Òh4èv{¤qˆišØöˆ4Ž$‘(N𣈷Þ~UµxøèÃÁÓÒ™™™bn~ŽÃ£}Ï!â -ÔhÓëu«P.9wö†)C¢)9d9‹õºnèÎÝûŒœ­zßuIâÏó(ÆØÞÚ!ð’8FÕERdEưLdUQ‰ã,›ãyW®]ä½wßâîÝ;lmm1´Ä1ØŽ‹$ÇVÍÈÒ£¥BMWùñþ¿úí‡DÕUÂ(f{k‡((MV—éöº´[u%Ì|Ž·Þ{¬Š#òÑ¿}ÄÁþ.–e¢«*ÃÁ­m$Y¢ÓÍÔÒ¢˜ù>•J‰÷߇4ñûì2=;†@@£¶CH„.¤jÂäÔ ›/‘ä,œËåI€ÍuŽšM„$%ŽCptÓÂõÒA9Œ|ÛÉP-’D©8F·kspÐbhG¤˜È²©i&"I”¢Q€|AC³J”J ,”*Ü{|›K—¯0r|t%Í–'SE• |Ò8Ì@`QŠ ¨‰@Lj‚‚*)ÄĘ–AàÇ(²Nµ:…n™_<ο}ú­qîÒF®i|øáÇØöf£™¥\%‰j¥L”¦ô:C’4ㄪš‚¦ŒF#¢(Æu= C‡4û$ªd05¡súԯݸŠ"ȸvÄÆË=dEE“v‘D…$I˜›gyyžéê e«ÊAÿ]MñìããsTÇ&9hìÒéu+W8³ZÂu‡äŠGõmæW§Y>¿È­»Ÿréê =ÇÆÎ!þî·LÏU+Œqõê Žœ„Ã-úí:K œ‡×¯_g¬2ÉÏþ|ßãìùóT*Už¬e”E‘‘d™0ˆ‰“ì&N!ôdMCVELK£7h³ÛlÑmˆ¼˜Ðñè:æcaù4ÃÌ^­K·çðÚKüú×Òj¶èõ[LLŒñÖÛ—± S¼|ùQYZ:ÎpÐçèð€F³ÍÜØ$c• šÍšQ"J#¢$¦Ýlb>ûý—$‘Íìô4a"Ê"®ç„>’$ej^B¢&äsqèpëËX]9c{¬®Ì“+• ^®?çØò)ô¼ˆ?ô°{ÇALcJ¥ ª¡Q¦HB†ƒ>q!+A˜"dUdU6‘嘑=Â4Ln޼ɧ¿ÿ=¾ZjŠhŠ‚H‚"‚¡ˆD~ŸóçO1tðƒˆXV(ŒSÈ—ÑöRìO¿; v0 Û&B&¤OD!EÒD$Ž=MB3‡ë~ÌäÌ IÐòz^ˆ •ˆ%ƒ‹W®qëΗÈ"4š´DtCÇÐ \ÏÁ€+—GÑr膅mÛ F.º¡¡ ª‘áx ùI4M!Š}$)äÒ•+8AD·ÝæþÝÇ+eNŸ9Ë‹Í- ã%|<ŠãW.®2ì·¸põ4µZÇO˜˜£ßor¬dÒíŒ8ØoR­äÉ™wî|ÉÔL•ùcS˜Ûqb~ž³gÏñáoÿ…Ï>½‡’F¼}ý’X¦ÝÐî¸4k-d)Ás]*ãUF¶ÇúË»¼ýîŒ vÛ¶ÙØ|Aà%(²‚¦+ØÃ¬ ¥(Y/J¢$EFÄ@áç?û5ªœpþÌ2S3yj5›KW®£pëácDÅd~é_ß}Àúú3LCä/þâÇÌÎ,G"¿ùä·´Ú ®\¾Œ$ËÔ7ë4º]¼0bøôúM$)aey™ƒ£CLSc4èc©*9SàÄòû»»˜’N§(’„® ‡CŽã£ª&ºn%1B츈š®eP,Ï¡d™¨i&¬ÜÞyÆ™“Çxýµ³|õÅÇDÞ(³MO  ÝV‹¯oÞbo{C71Moû»Ü~x?PŒn˜2»¸DœÈìÔ™˜˜fØk¢«ï¿õ[/÷X{ðÛîqñÊy1ÇæAËWn É2A¨ÒîEìÕ´ºÖž=âþ½{躄¦)üð‡?¢X*²½»K>_`l¼ŠaHììlR?:Àst]&ð³]ÇJˆ’L%$iûÒˆÐ03=Î\%Ïò±V–ϼšÅ´:]?}ÄÕ×.S;Øab¼ÈÌÔ8«Ë'+sëë{ܽ{T€…ňSl{Äã‡ð=‡‰± iGþ£?ãÜ™3üî·¿bõä'O­¢kÏ_q9¨cƒ›loïR+#%q"‡ ‚šB‹•JVߌ"äÀËðŠLº$ˆbÌ`Øá{ï~‹‘]grbX×™žš ˆ ¹1zI/ðг¶%›ÛÛôCdEC7,4ÝÄqbM&•dwÄ+«HBÈ;;Œç'±¬‘ÏêÂ2—.œ¡×k°¸8ƒiæ)W«ÕêÄQ‘Î`Èýë$¢È”iÉ/]A—T¶ž&g/ÍÓê ˜¬Îp÷ζ·^püX…~¯Ãï¿O}¿Í¨ ¯]ûª)຃¡bžGO×™™™dnñwî®!ª̓67wˆÃal¡è%Ž H BÀ£PЩí÷!VД<‰!Ä)ŽãfãeME@ÉJYš‚¤ˆÆD¾Í±¹þæ¯þŠKóüêÃy±»NilŒ'/¡« ãE9veK—oðèîž>~NàÞfjj’ËgN¡êÏžm²¹¹ŽaÊœ99Ÿ9±'&ÙÚÒ9uú ×_¿F«Ýal¼J½Ö¦:>Éãk´[-DY"F'¢8CIŠŒ=!É2šþß OŠšc{sU´hÔ÷)å úžÃ¹•ez6‹‹‹LÍΰ±µÍþQMU@ÌúIš… žS4¢8FÀqF(iB”¤øŽ¡+È)VD"AÈäÜIL©TâÎÝ;øa@øŠÀ°8?OèÇ´š5.^>ÉæÖ Š…*ÇŽŸâö½G”ÆÆ˜š™æ'ÿðwH¤ä Øâ‡)žŸiL3Gɰð}ŸÀëƒJø =’¤¤‚LÎÊ“"‘+äyãí÷ØZ[C4Fv»ß¡XÏŠB½ES¢Õ±{PÃB …2Aœ""Ь *2Q±´´Èò±E®_»Æ‹gÏùìË›œ¼pš¹…¶ŸíP*ùÿ {¯&ÉÎ;?ó9ޤϪ,ï««MµEh4\ƒ0$A93äh¸’b÷Bwû¸_bo´WŠÐ®4CmPœÑ A‚ºÑîê.ïmzŸÇ›½8= …"sî²ê¦²"ÏÉ÷}ÿ¿ßó°|þ:û‡§”Æ/Ÿ}ñŠ.rZk±¶ºA,+Äqu1tCÓyþl¡"ÜyíL×n`d Z]L6]·ñü€«×^fwo‡^³N&e°»³AFˆZ QQÈè9ß§Óï# ’§˜,%­:ϱQÓ*š"Xƒ^—L¶À+7oš*²³½ÁÌô¡k¡JC¹ëÏ·Øx¾Oq¬„ç†èºfäA¿O¯×$mê|ûÞ; ÉjFç¸U#’d1BŒÆÇsÈŠÆqùÅЈ8:>æ´\atl„ÇkOØÛ< ˜+¸z37>Œ¬B£Y%WåÜÒ "²d³#|þÙçŒ £Ë:Õ“.Ùóc|úÙCcý2Cc&§•C_ÂõÒ)¦gæ(—ëTÊ=šµ.ývÀŠÉ)Jç.²¹¹ŠHŒ¢ëÔj5L3ÅÄÄ4»»G8á/vèÚm)ÆóR™aÒïYH"Hb’ã”$‰å Wùð?¤Z­òñßþlîlӳ؞›ÐÒ‹Nm@1Ÿ!“Ñ™™Xâ˯>§ÑlòÝßg~q‘‰Õõ 4SçÆ›\Z¾mGüîÓϘ››åŸF&“¡ßqù䣩2™´$&î(QPðCHЉÃèÅ#9M§Rt:]Â0"t“î|èC·ãñ»ß}ÉååK ê’ÈÎÁ>—_~ ?yüÍ3?Œ (êÏ¥%n¿a$³Œþ ®©dsd[Â\,ÛÂô‘R©ÜÏ4ECDTUű, "Ž#,ËB‘$2¹ó“ÿãPn 1¶/¡)쨋„È ßÁUZµ6éT–““2¢b H)²9“©é)z½º¡C ²$!‘ˤ02:7oÞ`vn’µ§ i¾÷Ý÷xë­Ûø^›|1E&“FdŒT𥋗Ø9<â·Ÿ|Šj˜I¥2H4³¶ã¡Ê2ƒ~—b6Å¿ý7ÿŠ+·^Æ C|×CŒ~û«ŸsáÜ8ï¾ý6Š ãz §²ô-›rµÌþÁƒ^‹8HóÛëdÍçæ¦ ²ù³ïÝGt3O(Èf‘ƒ£SFÆ&Ð OŸ­òö;oòñÇ¿¦PHS+ŸQšDŠc †Áë¯ÜC—# K¿ãPÊ“ÉI²yö÷·XÝxNLÌHIG“º«Gid˜n¯G©4Â;÷ïóøñSöN88: ÑlAŽc>¦a"I2–å šž¦P,’Íd™˜ãøäˆ_ÿæ7œTÊ‹ý ¡3@{¼óÆ-JCÃ(²Æåë×éô{ N061IµVű,F†F¹yãZ±D¹Údà¸Ø¾…ç÷ˆ"ŸV­ŒçD‘´ibÛž‰"ÙBŽ@ˆb1‘3ºaä“ËgQd5)´Ù6Qxšb È~ä1>1F¡8ÌæÎ½|øÃóûß}ÁÙþ1r,GA Ä!BœÀ¾eEF×5DI$ „8ÂôQuóOƒ½~€,ë~$}]×Ohm‚¢€j舊BÚP8­ k*ªž‡°‹ö}­'«Øƒ&ÙLžW_}™¹¾zøIVB×ïSíuð¬™Éyç)ŸÍq@6ePȧ˜™[à£Oþ€k\}í%AfdxœããõÕ ffgÙÚÚadd”ßÿñ)}üÇ„›Y2è…Ââ ¦Õª¡Éÿîßý[Ο[æÉú Õj…n·ÇÃ/AœæúÕ[”O˜™$Ž2´».‡û{ ,›jí”ÙéY¦ÇæØÚÚÄ@.«‘.¦´G'g,-]ÄÌdh´:”²£,,œ£Óð÷ÿõ×LMÏ…Š–#[çôx‰ŒŽçˆ š”Ë-ŒÌ†ës®8‰šRÙ­œØÆ(¤( ™øN‘ñaúý>Ï7ŸðÒÍ×ÉgØ}üGææ§q,‹j¹A«Ù"¬~EJf²¢ãG1qœD&|Ï'¥ª Ȩ†ÁÖÞ.QàÐït(‡¼€Ð ‰}E øá‡?bjr’ÓZ‹.²³ÀÆö6K/ð_~ñs._:Çß~ù™óœ4øæ«‡è©<²V¿M&•czvQ>¢||F*«Òé5éY!ÈàEÕfA”qì6B#‰Š¢#ɶ›Ȳ’4;UÛ³‘C‰À‡µÚm‡ ò™Ÿã¿üülïî!š:Ç‚(&c¦‰£Ëóˆ£US |G·¤¢€(áx²ª“/ê„a‘ØÇvú€Ȳ@Lô"&.#Š _àÿð+j6…B‘Ïÿð ãE¶Ö‘5#Æ'Jܹû2’16>œÀ$8ò.䘘çÎ+×¹ta‘PY¾vŽ×_»ÌÅ‹SL/Ιf÷¸Ìg_|ÉüùEŽËG<üú+ Ó`{{‹Ý#:íq$ai>xÈþÞ6CCütãŠ^è`;}¢Ø# }þò'Å•ë×ùâÁ—<~ð5åã ;›;8N—‹—™˜œB”t,Ï£ïtøíïþ•ÕÇd²y–¯¼L&?ÄÈÔ4;‡B"$½@iì"²>ŠnŽrzÒ¡Q f³‹‹W˜á?ÿ?ÿ8 ™›»@¥Ú§oÙ´ÛUöM“‘‰b1GÊÔ‘D×±‘ÅÄX”J™HD º].ÖÀFšÝǧ'ÄJDa"ÏOÿ×ÍÍÛ¯Òê(Æq{*{‡ÇØžÏÙé ¡ïñò›˜© ÿás>þòüê“èvhÖŽ°\—H†®Õá›o¾áÉêSœn!Љ‚¤áņàØ>ž2LTYA‘U†ŠCH‚€ë¸„A€¢HD€†èz Ûõ±]—€ˆZ£N½Ù¦oµØÝߢÓmÑé´^ôÐ%7“é½íZô=¼Ð#ŠIÄ |ü0À¶|/¤ÑhÒØÈB A‘Ïdi4ø÷'J³ëyˆ¢Œ H’ÄÍ79ØÛõœ^@Ö,QÎ#©ƒ¾K¾åÑã§ô,ÇwÈd²¼ùþ}í&)M¢RÙ¥41Ãp©ÄäÄý®C¹Þ¥Û¯±±±‰$ë\¹rçÏž"«­F•\Údnvšk—¯ðqýwìînqx´ÍäÄ?ùÉOxúÍSªõ*£( ss,_dzz–µÍmV7w¨”+¼þÚëøžËüôãc†IG¬mîrxtH¹VåîÝ»Œ qCC&=ìÎ>fVç/üC>zÊ…‹Ë\X:O«Ù¤V­c¼„´çÆTΚ¤³iöOÖ)2ŒŽ˜”†Æ- #É•F•l1¦gˆ#hw{¤Í4qT#E§óTª‡ll<§ZksC»ÉpaŠjXçÓO>¥×jðúŸ" °º±Ééé)ƒN YS”iFý^¡H0FGG°ú6F*5Ðëõ’þˆ¢£Ê!">o¾öm.]½ÁêÖµZ‡‰©a?_gg÷€^ßÂwû\¿z…n·Ëêó5~óñglîÛc£¤ócœs|xÄÖΧƒàˆ˜éach*}ËEdYFUe“–¦i¸®G·ÓÆõ}â(Ä÷ã$ê.)¸~„¢*HŠ‚e[øFÃã'_œ´)H¢ !I˜4! ¥QQ‘$ QX’$Ç1^/‰÷- ߈"$Ùü™(ÈhŠŽ5ñ œ¦ëH’„ë8z,-Îs°·KÊ4$8wþ–kqzZãä´‚5pÙÚØÆ Èj:¥\…©iŒ”†bˆÌÏÏbè&­F‡=ÖÖwx÷¨ì±ñl™©9ú] ×±ñ<‡z³Ì•ëH«®ksrrÄ?ýÓßD?ýéO(Ÿžò›ß|(DaÌⲘ¼qÏ÷ØÝ9 Þh33?CºDGÊÈIçxøè›;›(šÉ`à¡JY–h6Z¬®®3;»DitŽož='°áî­»ìmoráÜ4Ýf™lÊ ­æ¨Ÿµˆ|‰ÙÛÛbnaÛ²'cfEAP!V¨Wz|ñå× —Ø?Ø'Ê’Ïc÷¸®ƒaȲÆáÁ1·ï¼‚¡›<_ݤ|v@ùäY’YZZâì¬Ìƒ/¿À³ÉšXˆÃ€0 ^ldRfŠÑÒ(º¡ãy>Žëใ•P%)Ñ ‚ öá{Ì_žã¿þò—ìÖPs#¬mmR¯áY!ý~›tJerbŒN»Íéñ1žmá zL sni™0ŒxøåØZÛáùóul·ƒ* „¢” ;ƒ„Ž¢ˆD®ã%ßQ€çû¨š†"ËØ¶“ÈßC LNEEIARŒ¾¬$7”㸸–û"]­"K )#Ô§=78È"¢ ¼´„/‚Ÿ"ý¾…稪BLÅÄqòÿôtæg)-ç»t»í$«*¢„¬¨¢„ïZø®ƒÕïñÒë,_¾L«ÛåÉÓfçæ88ØÇ ŽËgô»m®ß¼NqhˆL1‡–6*Ñn[<]Y¥R.Æ.»{è†Î¼Çq½Ìãg+ضM§ÓæÒù%Ši¯×á[o¼‰$Åœœœ²²ò”Ýîß¿OÆ|òÉpÜ ˆadd„v«N*¥3¿°Àîî’,¡ëRÒãPuú‹0 BßõÐ EQ˜™e}c…Éñ12Ùýžƒ¦é¬l®!ˆÉ$øÒòEJ£CȪŒ¬KL-ŒãÇ>ÍNjµL¿ÝbblQŒ!ÙØÞerrÃÐôú„¡Çôä(}«ÍÂâ<©¬IÚb}{‡f¯ÅÁá’ѨŸððÑi¶+ôÚ-Âû¾³òBì³|~§ß£ßí#Ç^2¡Ž¢Ðë(Õy^ó£DÁ+D(šF,$dU‘Y~ù·n¼ÂöÊ&Úã…"íF—Íí}†Ó×./19^brl ßóI„Aðæïr|tJ­vÆÒâŽÒ·l晣Óï *º¨º¾Ýÿ“Ú€HDVDd5©¤3iÇÁ¶ÉQH"A"²¬Å!!Kq¡ªZÂæB~± K&õƒÁ€0H¥LrÙQxšª2;3C©TB‘T,ÛÆó,lÇÆ÷CR¦‰T.þÌ4Tý.¶=@HþEGV4\' Œ’~¯ç:,..2°‚ FWL:­.£™,®å@ ç¹{û5?}ÊÌü"‹/Óﻨ’†*ŒÏÍ1‘’2 Òy“•M6ÖÖ± ׳ùÞ÷¿C,ÅȆÁõWox>OWžóO¿þˆ?ÿ‹“Íù»¿û¾ a*…bÏs¨ÕNYZZ e„Q@:­³0;4{=,Ï¡Õiñþßaws›\ƤRu^˜}"4YáƒÞ§V>"›ÊòéGŸÐhVpí×–çÈ"s33±Ìá~´>D­ß§\;CÖÒÙ4¹\‘Ñ‘qvwÖ™›EU4¦¦'ÑTZ½I.[`oÿU3‘‰µÕœ æ´\§Þªajg§5Ú>¶ã ‹b"R— ð\† Y®_¹H¸loo2:2ÆøÄ$f:è‚k`'=ÏÅub»( ¸¾O‡øžŸtï5‚z³FàX¼þÊmº ×—99;ÁêU¸óÊÞ|íÅlžêY…f§ÏáÉ ’¦Ò²ÚŒ§ùÖ[ï!iy¶Q5•FµÊÌô8)=D—Þ¾÷ 秸yó:o½ó!µVI2Ñ Q‰‰q]‡À÷‰(NXLˆA i’(a;6¢ £ªšª H"Éßó¼„FÄhªN>o°··O:¥³´´ÈK/]§Þ¨Q«Uñ}Ýÿ“È&N#‡žÏÀó_Ü•ÉdX×uEG%tC¤ßMŠî…BŽƒÃ]Æ&&Ig Bª•.©Ò4n½É{/qnažß}ü …¡bBÚÓLŠK§Sfh´ˆD¹Ücqò<£¥,OŸ<çÑ×OÐ5“cD>}ü1“(²L½ÑFt¾~º†Ä´»6OŸm"«)ˆbR¦†¤Šœ–Ë 9Ò¹,Aaê“ãLNNñde˜|.ï:|öÉ'hºAÆB![àÉÊ*7_y…“Z5_à¨Vc¿^&$._¼ÎØØåZ‡‘Ž› EAì‘Ïù¦îÉf˜œºH6k²¶±FäG3%F'‡‘e…j³Ë£§«rˆZììnc¦®Ç!ÙTñE.'b%$Y!£«„ž‹mõ’v¢€Ó‹S œ>o¼ñ:²b¢è!‰2ë`gQè„¶e!J*’(ÐïØ‘ÝT1/]»†ïäKE¼ìMIfå«Ï0åo¿û:ËËéÛ6û‡gT;~qV¯±s°‹ªH¼ù>o¼ñ¦ÏóõMޏwû&ƒñ!ÅlŽ\:Íøôšž#&ÃÞ~…^Ï ¥ÏàùlÛ! }:¾›ÞÂA%å,#é; €,«˜b2ˆóŸá\æOAL†Ïÿ jðƒ€Z½Æò¥%lËavf޽Ý}¶¶v Ÿ ò‘å$-mš&šª +‚Šç;ønb¸‘d INàf‚Ä>Š$G‰åeddŒV»ÏÈHžÒÈ¥áY>ûâÌÌ- Ðî·ivª|÷ý÷q<Ÿ8¶1 #“KìWÐ4…ÌAµUæÙ7Ï Q’V<:(£)‹ ó„~ÀÖþ+«›ÈªÎÃÇßpþüEzý¤ì¸ø"Ë—¯R¢ß­“/±¢ì5öNéõÚ†\š_ WkÑlV%c._ã׿þˆ —ç©VjxNÂI*WšØƒ.W®Ìòö·ïòdå#£Ó¬lì2°,R*ˆ-›±©óÌOhµºœŸ™¤ßoS>:æöWe…V# ×kòÕ×OIå‡1³%bÉ@A¦Õ¨“JE¤R:­¦F!?G·ß§Ú¦i )g&£ããœÕëT[e¦fÆxðÕC¶7ž#‰²¤á…!F*ƒ™2ètë(ª@i8Ç ×cåéS²fUQ1$¹ñaŽv7ÑT‘L.‘Ê0=7A.“#mš<ö„»wnÓï÷ˆb‰^Ïbå›–槉bÜpŽâØ8Gǧ(²F³qÆôô7¯\çþá׌ݙDÏkììíG*/_½…Õ ÊM¢)_?ø=W¯^FFD!ÅæÚadsñê9ÌBŠZ³ƒë+ØvÌóµuÄÒ™"ŠR-ðøQ”¡ðòµ+,/Íñ»ÿZ\d¬h"Ë:‰æÂ'•7éõšDn"w|ŸtÚ`xh„òQCÏÒévÈ对vý6û·ÿ/‡;»Äqˆ¬ÈX}]Up )X©Z~Ëñ;wRi˜¯¾úŠÚé¾Õ¤U/“ÍçÑU™ÙéQ.]¹„:TäùÓM*.'õ†™çñ£äLøÑŸŸý½=þË?ý=³ss4áñ—–9-Ç"7.]&Öiw:ìV©µtz}T9HEp‘tß QÓLG"¢¨á8}âÀN²s^HŒ€,*ˆqœˆcÐ%“„ðÅ’) Dd#C„BŒ©«Xn%³ºý”ƒ“2½ƒ¢hxžªÈùKK¨/xg¢å:I#K^lÔB¢ 9‚u=/a„¥LBE¦ÝðÍ×I*¦¡°¼ÃöÉ6®å°³¾‰‰të-b?"ŸÎR.Ÿñlí"1ýV›N¹‚×n±¿¾ÎúÊs<7DÓRè¦Aq¨ÈÐP×µÈçÒœ_Z¤P̱±±ŠªÀü ó‹sŒŒòàñ×tºæçH­r 9QQ°û——¯F!él˵Ù?ØFÕ4^¾óõn@ÏAÒÑS™¬N³µÇßüõ‡LOX¾8ÁÂ̾ÕcåñC–&Hç HšˆÅÚÆ }k€a¦)MP*P>­“22Œ q¸½ÎÖúD9@Ï¥9ëôµGTk[ÄN«ºÃå¹Íò{{k Oγpñzz„½Ã Ïžo‘Íæ°}l«CLHDÈðè(oÝÿ€ÑñEº}‘Ãã.ŽgP>ë²µulì7×ñ<›”©£™Žïƒ` ÉéTYŽX¾´ÀÖú7<_y@¿]a÷)qè³¼t‘[W¯à÷ºüèÃråÂM6Ÿï³²¾’J14”áøð92î½vÏØÝ¯qtÒFQó„hÔ›n ÐubúL$çhØ"'.Gµ ÛûÛds&Ý^“Z­Œm÷q]!Ž ýÛ j`˜*"ššY&–eTÝ ›Ë’ʤIg³dRi$IÂq<¼ÀÃüÐż„Ä"ÈD€™)Ðlôxòõ3<'À³Zõ‚‘Îê¤uÏéb[-D\$QQ¦¾d¸žû‚(—˜óavnŠÛ·Þ@ˆd\Ûæ`‡r¹ÂÌÌ©”N,gCÀyúl‹›7îp|Tcnn ÇMÖ²/Ý|™^¯$‰Ü¾ý2Šñlå1^¯Çäì<ÏV7PÔ4÷î½Ãôä9š-‡£J—âÄ"3S³œuxút“^ߥÕê` Xƒ>窞"+pïÍ·˜D’UdE'Ž%NNöXYy„ew Ïóhw:X'‰ä+J”DúÝ>¾ë¢J`÷šÔ+G\¼xŽk×®“JLÍÎ-ŒóðÉ:{{'TªUâ( V>¢×®òƒ? ›IóäÙC#“ŒOŒÓhÖØ\Žª \½vYÕ”f¶„)<_]cgw›V½ÌP>"B§QƒÈ'eêÉÉX£* Š5Š’žwÆ(Š„¤ÈAðý#‰Š,ãXüÀKö ’„¬h€Œ€Œ,$ YÏ÷h5êdÒ)gæ ýˆn¯K…@ˆ;p}— K \¾x Y%$QÄ’c<^¤(ý>‚$„2©²F?8®Õp#ŸÓƒ}ÞxõUÖWžSo¸uã ÓîTÙÚÜ¥˜Ï±V^aìía"BšÍ&ÏŸ­Òëõȇd‰(©7ê"dÒ&ÆKLŽQ.²¿wBE\ºwƒÕ]ö‘e…f«Áëwï0>1ÎÇ¿ýˆÒعÑ"V'”MDð$¦g§9:8¢V­áx!QSiœ’:0˜›_ ^/#½^Ÿ©éEÌT‘Ó£mʵ6g•—¯]%eÊ•*~ãE²¢¢HýA“lV§Ñ¬R.7˜ž™Áö"Κ]l«Ïîñ)£Ã#´ºS“sTË 5C!7B*SLBšN>—e¦T`wg‹~û)¢¤°x@«YÁ÷l|ß!2ÙC¥!ü  <$)&mÚí‡GœœnŽcÓëv ,,Ë!Š!—Kƒ"%ÑtUÇé;ôð‹W_¹ÁË×^æ¨|†' ì×j´}Ö[xn€ø˜b„Øä ;÷ßGŒdž¯>£Ùm‘ápk› èðòE._ºˆ& d‹ÃD‚É×OÖØØØeg{“™ÙQÖ«§8ry<ßAbl?FTDÒJMOâ?‚ª*¾@ÚDH‚J…ÈB†˜Èw! p\'ñcK&²l&ªˆ8BS$AÅvÛôz6wo¿L!_dsk'öÊ“cÌLŒÓjUøÖ·Þ`}uY“eDIxqî!"‰É^"Œ¢ds ôÃ0©7êœ[š§Ó­óÖ[oA±¾±É+wïÐØ|þ‡Ï±m›«×.³°°ܾ}›¿ÿÇ_òÕWp-U7p<ßò!ð+ sÿ½·Ð4•‘‘1&§G89>cna–t:ÍÁÑ;/ŠE¡ÇüÌ(wn_ãðh3­0¿0ËÊÓmtÍ$›•]KáØžërvvŠçúŒçÎ »³©´‰ë; Oñœ•ÊG§ëÌÌŒóò«78)Ÿñõ“¦gXœšfc}ZåYq8<|ΕË×I¥dFJyTÓä׿ù-Qè15=Jåì”N· ŠÄ ˜L¥ñ=‡‹Îay6Žç2=5E`°ú=j•{û»\Z¾H«yŠz„±K…,..²|õ½^EÕ‰ˆ'ò諯‘‰ ´1MDzè÷zX–‚€¦iˆH‚Ž8(²L,‚k%ü§L&¢$)t}¶vvˆ}éÉYÄ8@Õ"Udxô<£Eú}E2°6ÃC&¦Æ¨5:ŒŽrv\CSÀP5JÅ š-/< Ý³‘"[7¯“͘쬮S9kptxF(X®‹ ¤Ì Q qàyÄ!!²£+=`¸ IDATN i:Q$ зI!¥ „Ä(Ú €41²”hàd!ù<Q®–)7ÊøÍ•«7xõÕ—ÙÝÝ¢ÓëppxÀ¿ÿ?¤l:û3ß÷Ådî‡!11²¦K2ªªc¦ÒˆbLi¸H!›a(—áòò%RfšT:M³×$›Ë!Ê2Š"p÷î]Î_¸ÄÐP‰Ï?ÿ#Ÿ~ô1D1s³sŒŽŽ2TÈ£ßýàÛÜóMtSC‘^»ûGGÇtû6²¤przÂáñíN/)$¹6¦!31>F \ºx‰j£†×µ¢DMeõú,,Ìáº;;»t:]Rù“33\¸°Ìîö‘1;1…"äÒ&ª«ÉÔT ߨÙ=¡×³q½ÏM–3å³õФ1?sE1ŸLÎ$p»œïrñÂ9._^fan( °ú4Eb|¤ÀÁÎ¥B«ß£46Êãož2\L<ë{œ14T R=ÃéXZXâÖ˯òòK7¹|õ2­VE•)Ÿžq¼wHùä”ÀO4]Q¶mýéBdL3‡¡gД 3CÀ±ËF$²ù¢"S­W8®žÄ1s³ „Nž,8œ›Ÿf~~Ž(Ù?Úcz~–»wßdm}õõgܼv ÍÝmÚí3æf§¸rõ2ù öÏ8­ÕpØåå%†‡†9=«°³wH ˆ²Œ ‹dÒtM%] $ð=‚bET "ð"0SYTÍ bAÂBÂ0FbR醩âxœA8r‰ ‘8LœÍV‹à…ƒÂõ,LC%ðÖÖ·ÙÜ>¾|°òÈg•¡˜+Ķãኪ J*n ¨*¹l‘Œaàù6k1V*0==Eù¬ÌÉÑ''§%îcßÅ÷l¦§F877ÉúOǃ?þ]Ѹzí Ož|÷Þy‹é©ijÕ iÓ$ˆCNŽë,--rrVEV T%àÙ³g ú.]>σ¯Ñj´P‰Z½ÍêÚßþöû¬onù³³#œU*”÷tËr¨œU‰ðCT&‹‘Ic»6¦¡cè:N¿CÖÈrëöËEl"úôí¥‘ ŽŽŽh4)æ 4j-^»ó†‘F–•Y—¹¹Y^½û6+k»t:Î-Þ¤Ö‚Z£†{pŒ1<‚šÍZ.g§ez6‚qp´Ã_~Båìש"á±°0Ã_üå_þò,Õ® ( ‡{;/öWŽ“D!$Q‚,g@EÈ/$‰ªj K2¢(£©‰ùTˆc$QA%bIÂvœ d*7„((TjeÎÏÍðúí[h¦ÆúÎ.ÏŸ­c¦tÎ_æó/ÏGŸ~Ä~øçhjޝþžÇOñãŸüßzï;xžÂ7«ë”;MbM&›Êbd3îÑëÛÈªŽ¡«±Ÿ¤²ã˜X÷°½(¡ qèE’ ! ‰S[Ö ˆ<×"D Òi-¡ÊÌØ¬~ÏvÐT Y” £ß÷PdXH*§åÓ*SÓ,;ÇÑÁ‚(³³w,ðß]2@³ÓA‰%YEÓ5ðrù!Y£\¯Q*åX87ËÄôÍNƒZ­AÇêQï5q°8Ù>%¥«ü«ŸüˆÙ‰qþóÏÎï¿z€‘/2$kœUÎ-rëÎKØÝ.A!_*‘ÊåXN—¨6ÊLÍ΢h:¿úÕ¯Xyú”¿÷-Žö×hÕO‹0’(å¸÷æ[ô=Zª36}HÒðb…+—¯rttÄáþ!ÍF{`sÿ¥›œŸÇó=Î/_ m˜4ºMZý6…b†ÃCÑdï°C§×F75LDŠ(ñõ¨×ŽŸ¡Ó:abd”±¡aÔ “O>ù”ë.Rà×_|Díd—Ù™q Å·oßC×sÔë]¶ö¶@SøèãߢÈâØnb(’DâTQIøY"Ä¢’ ¼bY ‰°°-‘ˆ(vP•\6—tèõ\dGBñNËG Fä‡KìíW©Ôkœ6Nè´›üðñÑÇŸÑîÔyïƒ÷©4:üþ_ólõ/]»ÌÝ[÷X_; ˆLºv@,‹,,-q|TçÙó5z.V«×AÂÔe‚0JÌI~(”˶¥”i ‰ Ž“ôÉ I pm¢ÐÃõmE&­§TßóqM5)d‹„aÀ`Ð&ˆ|,ß&ð|@–dt9E6SdsûSasûÿñ’ÿûqì žãÆQ,¢ê)$QÄóúLOŒòöÛo¢ªƒÇÆúÔ*;ìoïãØ]Þ»ÿ6º¢¢k&ÕZ‹òY~øC*• µV!LóÝoßgiá>bbfŽÑ±QŽNNp­›/]¦7è²þlÝõ=ŽO9>­àÚ>A£¥t Ƨg89>BK§Ÿ Ö¶xøh…ÀXZXdw{“­­MÇãÒ…ó|çý·±¼‚ âw!?d²¹wÊáÁqõ5V×Vå6’¢!&z>K¯Ò Ñí¡+ ž²±³Çòò%B|t]Á¶]ª•mÞ¹ÿÛM¢Y9$ñYß\Áu} ù ç'ÙÛ¶±Ü>ZNAŠ!ô{œ›¦Y«3¬gøÖ»ßbf~‘\±D·gqZmÑn5éwô[. ³ç)—@ô±ìÇÐôÄoã†C²ÈrH®TÄs\"ÏcÐ`fS¨²DÊÈa˜)2Ù"–pp|„™Ê0»8ËÀP«Õ™šœamc•““CÆFFe¬”åà`‡—n¼J§;Êêóž=OÒÉ÷߽ϻ·ùÕ§ŸÓ·l^½uj­…*ÉÈ®ËþÊï™™ŸäÒõ%ž>Yg·_GÑ5ü8@Q5D-‘mú±‡ãu BCÓAJÜwQl ¢£¨’¬!Æ:^3Ä@ÔS¸žK»×G”dI¦mˆÂÇó!/E"‚â:6Ÿ>?}ÌÿìÿÇD‘#xvKH§ÒX–E§ÝâÖk”ÆrØžEDÄ1|óÍ7œœ0pZ¼vç-nÝy•B)‹¨ÈÔZ]TäÕër|VÅÐu–/^$ˆ"=yF×ñŸ[â¨ÒÂr¦ggP4“}žol1p(ZBÙе¾¤`f RzÌhA#+‹è‚ÄÙiµõ]ªg‡ìmorztÈ?ýã¯ØÚÚ$ŸKñþûoòÓýWd‡Òt;m¬žÍÈØ–ã¡H!——§è öP4v§œèÌô,õrQPðl›f£ÌÉޥ¯޸C¯e3èX”O)MçÇé×÷IË>þ ƒ!éܾyå ׸ÿî{4š=ê ‹tz»òÛ_ĵ«/1<:)ŒÌ,ÑóBŠcÓ¸Äþá)•jÁ`€k;\»r•¹sË(jŽ(ÔèvI$ZôðC AJØ·¾cQÌ™¼q÷ƇsDª üðÇÎÔäf*C:7D¬¨Ô:MŽÎö™ŸŸàûß½.G¬?{ÌÅs³x4Êg\:¿H!£1:¬“35tY TÌñà‹/ØÙÝç¬Ü`brŽ«7^å?þ„GÏ165F·×áälÓ“ç¬?L§U¥h¤ðz=Jꤠk’¬F"Š–À²-@ Pbxx]Ó‰¢(Y¦ªf*“Å –SVdâ8¢Ûí`»q’írt;-zÝ®mAœä³¹,g Qì ü —ü?ûEùx]˜™»§sõzSשVÊ´šuZͶã0Råƒ÷¾M¹rŒ()Ì-,òèÑ*Åü'‡Çä2–ÑT…Vo@­ÕabfžÍýc<Çãêµ›„ŽÃêú.š‘ç´\cvaÃŒ¨œUè´=b_FTòÅ ßÿÁwñ¼>ÝvA³Š*FÈ© ;@W¡|vÄåå üõ_ÿ×õQ•4ÕÞ€21:BµÑdmm‡«ÏÇV¯nJD g0 •*¢ˆ ÇLJÈbD«S£Ù>æƒ~ÀÀ鬲½w‚ã8¼r÷]~ûéL1GÚL“ÍåøòÑÃDY¦)t» Öž¯“KgYœ[ ||Š©ë,/_Ævbd-ÏШ~TåË/-äcYÑètºÈšB£Ûàìl 'phµ[È’†‘2J¶p㥛\:?Ç?þÃ/ùÁw?àÕW^áÿþÿϵ˜œZ@%BU eõ{=¼À' \Þyç-^¿}—ý½=¶6ŽÐU“g+O BŸT:Ã…¥Ëä2 oJ DV>ÿÃgÔëuú}‡Ri‚”žåwÿŽÀ¹º¸L^Nq¼µ‡×m#)ÝÄ "Öê,-]â›Õ'X~H(DqˆªÉ8nÏqñ½|>‡¦i8¶‡('Õãh`‘I§QT•F³íX¤MY‘ ^´ £8FR5DAx¡çõ…fL7L45ÍÖÆÃñføoо÷×SýA, 1ƒAjù~·A§Ù 7°øî÷¾ÏÆþ6ét†… ×ùì_sxpL¯Óö:|ï;÷™cgÿ€WîÜÅ8>E×õdi*œÑhÔD™B±Ä`0@À£Ù°8>:!ŽtLU`hdˆ{o¾F~x_”YÛØB%òº‰cõðý€T:ÃôÔ<§§Ï%ŸÏ3<}rÜy­í{À’X*Ià0ï¿ó§ëìª~Ï·¿µ¾ïyJIlÝÈæ¦TŠaÙlmÞü=›á÷l €_ù;GüÂÏüTÚmÑiÕü?÷§Û)ð/?ñ¯¸té¢TãÕׯ‘wL–§ÙX¯‘˹,žXä‹/¿DpÅàÂÅóŒä¦ÆÇ¹þö;ôûŠ…"Ï㨺‡e@·Ý¡Ý®1årÍ’<÷žðׯÝbnfšT)4Ë 86Ê•kW1¬”'ž|’ÉÉ ÆÇF0 éKÆÆ'ô:}ŸâÀö Íàð¨ÉHe¡šÍ.ã#¤…˜J9nŽ/ÎóÒ‹/slnž“'étÜ»¿Æò‰e.=z‰û›X9›£F“H*‚Èa@µO=ó>~û³Ÿbfz’³§N TŒÐ5 å2wïn²PÇÐáöík„ñÓÊ“ú’ÆaØ%ò3ü¼–ê ‡}T3:6†aæPh„þBÑB×4¡ñžÞKµÖâ _ù"÷wŽš•qsãdzjŽå¥eò™&ܸy‹ ô†>µZ•c Ó\º| •(ü fmýBHv¶ï¡I…Ç4[m4ÃA’Ç ¹œIèáÉ]z:çΜ&ïŒàÌ•¸·µŠp]æOgw¯‘ ì™ÛÖHS$‰B v§lg4È `8ð‰ iJ"³q ègY)Žb¥²AMGª,€™eœ¤¤¤)ìí¯ÿ¾Íðû2Å7õO~í×@ÁÕÓ_ø3¿ÈÒ‰E>ýéßÂ5rŒ—'ùòoé÷8{î"Ȉ?û§Óryíê,./‚a²½µAéÔ ¶ï¯319ÆÁQ‹ÃÃC¢(`8ìS(8 :4LJ‡8‰˜^8ÎøØ4wª·¥<÷îopþâynÞYåÆÝ5Z­.Ž›ãɧŸä`×µ©TFÙÞ>B._zñ«‰ŽE2²|ì${‡‡D~Œ{LNNrbyF£E©XàÄÉë gNŸÀ tL{Œë×ßÀ°‹|øcŒW®\¥ÙéòÜsÏ1Vç`ï€Zu‡×oplñÃÖã¿Ýİó\¹ò–åp¼²wTcbb”7¯R«oQ̹4[M¶wöq‚&2èsJv°¡¥Ž›#Šb$mj:,--ð àÆê=¾öµW¸}g /LLŽ19>E©<†“˱µ³M§ÓàüÅs˜†An.ÇÍ›ïpã­×yôò#h2`d4O«Þàòåóìí°ºz—åå $…µõ5,Û¡vÔ¢\.Sc£¬®mR¯ò³?ÿóä¬"Ih1=¶„c–¨WÄDÆŠN§ÃÏþÜOÓl5i¶;_šç ^çúëüÉý“\ÆlÞ_ãþÚ**Žè¶ÚÝ6ƒ~›Téhš-kÙq¢!,lÇEÊM&r.#£“ÌÌNpbe‰V×ç‹_þ2»»ÄQ„aò…Ç—Žñì³Ï¡0øÚ‹_åko £€ çÏ2Z)±zû³#ý~ôÚ˯Šòè}Àè¸ËòÊúèG ”`¿Õàë×^ãþQ•ÑùyîílR+1;?ÃfµŠÊ—Y?hÐOµz•F«Å`0àüÙ3Ù¢H"eÄÉ•x^È›o½Íñ¥ãŒŒŒÒm÷ùÊ—¾ÂáÁ.© Q \×áæíwh´+±µ½JR­V)sœ=µÌÂô*ŸÅÒtd¨›&玒Ă­Í”LBÑj×8á, ó¬mÞçîú]æOSž°YÛ¾ÉãO]fåì ƒ G­qÈøä(í~‡§ž{œâX‘Z«Ng8 H>ÿÅÏ15UæÜée’¡‡©$o|ýT÷viÕZÔë4º}‚ABw0D© R‡Ò ”"I5Ü\ Ë4©”\òNF¿Âæ·¾ø94SçÑG/219B!ïð_|ì£ÌÍ.P­6¹òúUvîßGÈ×Ñè÷ÚØ®Í©‹çY8·ÂkW_dmý6šÐ‰B”/Ñ5)u"%º‹iºèºEèBBìc ¹ôè9®ßX哟ù·Wñì{ŸæÄù%V7o2ŒB¦fçðƒˆà‡ A˜à{ýž‡L44MCA¥\btl”B1O¥RÆq\<Ï#Ž4ÍÄ4m‚ ¦ÝîÒlµ1M“ÊH…Ãý  ÿp ñ®ÿ¾n^˺ú½ÃýtskÏ÷H$äs£Š#”+#Ô÷L,îÕ(äóˆh@Þ|ãk¯Ñ®7qÈää$ K§xýÍèŽCÔ ¸üÄs\½vÃ0øþïûüæo~’^§GÞÕÐt élÞ# ç¹xéi^»¾ÁòÙG¸våU¼^‹_ü³?I­^¥Û:`qv[·7©Ë!¾T,^a0 ØØÝÃt †MΞ~˱èv[t¶«¼ÿ}?H‚¤Ù*ƒÕÕÛ\¼x‰^Ûcok•¹ÙY–WNà˜¯¾ü*;;{›žg¶4N4hóþø‚0¡çÇ41m?Á‹IÅI“`hš¡¡‚0š ïæ0ôlîçù÷÷¹Ï3 8~lžÇ.?BÞÍãù¦ç癞Ÿccc‹ÃÃ&Åò‡Õ}ÇæÜ… 5ˆ#ã 'øÊ‹ßàôéefæ§©×Ø¾¿Ã“?ËîÖ6ž?`wo‹|è9lSãÞú6‘Ÿ²pú,÷·÷è=êõs3Óh)l¬Þâ‡>úA¦fyãú›˜–ÆÄH ¿Ó#çæ¹·µÁÆæ§OÌa»yn¯Þ¥ÖW†Ta:¦núJ¦ˆ,Ó$U¦fd¹†‰ÌîÜb†"Õ|Ü\Ë0‰‚KM`;Qâ£9jÍùBŽñ‘öv÷ÐEJ¯Ý ‡D‘‚Ô$MdöœqLÞqq,Ã4Ñt™*†ž‡®[äs|ß# B*LC˲À¥"ŠcÒÔÄ>ßJiߪ?ü_ÿWA4Žˆw×Öq ù²Cõè€V󈱲‹.búÝ•rŽžšÐ÷X<¾L©<ŠiZHóµ¿Âs/¼[·×¸»vÛÖÐ ÅìÜ,/>ÆüÜ1^yå íV×±0MEíh‹Àë1Є‰6}/ ãy4ºM.\¾Ä±ãËè¡QëÑo{xŸÖQ“•…¦Gøú‹oñ™Ï¾ÌÄ £À[oߤP(Ðj±··ÉÔäÿåŒóçNs÷ÞmÇ¡ÙìqãÖ:‰Ð°\—'Îòè…çc …†ÉÔÌ3ÓXzŠ$tIâ˜BÎͪGàÑnÕ¬”ê Ócž~ì4³SÅ|ÌüLŽ^ë€ÕwnЫwév:Ôª‡ô; ¡‘Ëå‰eJ”(ÊåqÆÆ&²cK¥Qˆ)årR1O©˜Ç²Ý,Œ3%a"iõz |Óq° o˜›†Žã˜¤*†4Ƶuz#&ÇKôû]º.[›{´;>9»Ìüô®c=ˆW³)Käóy ãAt—Œé÷ûX–E!_ Š"LMÇu2˜€ad4}¿'ÂÄ|d|+ÿø_þëMüí¿úWÒ©™yöëm"-O­Ö£×l£ü€J.G¥àÒnr°·ÃÌøE¡<±JË]WèºÀ÷"Ξ9lj‹|öß}š»ë÷J’È„R±HK†^B+îÝ»G._äè¨ÅÖæ5 ÅÇ—æØÙÝàì©sÔ e¦&'ùÆKWX]]ç…÷>Ëܱ êÕ&åbŽ+o¼JÎ1¹pñ<ý~o8äÎÝÛ\{ç.œ„Ñb*%Š#etJ¶ÁáNó§Ïq}ƒJeœ¢[â—¯Ò«yÄÃb‰Lb’0à`/ù¤2cŸ:¾ç±|ñ,gŒÝíCLg–VOÐïµéöºì×ÉYX†ÎÄÄ(aÉÐ1 …F"=„]Fº¡Óé‘2¢ÏáXEa)SR!Š¡&ZRz„qœ­è}Ï'ïæÐS+/¿É™3'04“µµ5ž‡!4FF‹|øƒïgblŒõÿý&šïc9¶i!ã(‰ñCŸ$ ÉçsH™Í&ÙŽaš`èTëµo‹¾m¦ø¦þÆ/ýrfŽ_ú•4•ŠÖÑF‡$V”Gòü‰tX„ˆ IDAT?ñ£´[MŽ)EzÊhè´ûïyþyvö6è:Xº ÁôÔ('O,bj&Aà_ùÂçéu8Véµ¹³Î™Óç¥~¸NýhËg~ºÈë¯|<~ù_>Cgà³¾~)SlßàîÝwxäÑEÞÿÞG ŽX½ó6«wÞæè¨ÎOüÄO2=3ËÛoßäö­w0-J¡HNœœŸÁÌç9¬2?5Ç;WÞàâÙÓÔÚ]ææQeë~• €X †Q@j‚­gØFÛ¶³½–ËB*0,‹­µ*Þ“ –n ;ÔŽªèBP?j`kÙêpǨTfœV•R¬Œ`Z6©„^w€¦)4Rd’'1¦mã8y¼a@8È@¶ñ BY˜†I"S4¥á¸6‘ìD£ãcJò¶CGXúËÇÎÓmñ>*X:}’å¥c”Ë9ê*Q #–a˜3ÒETÊ%’8"N$©P$2!Õ ÚÖ·Ýß6SüŽ9þê_ÿø‡Ò8õð“ÇÎ>Áô쯿òžÒݾ‡¦›\ Û´yéÅ—ø}ˆ#â8aØyö™QÌ—xãµ+zÂøhê~‚Œ4¡P„äòããâÈãæ;WËáZŠ‹N²¼tн½*†éÐl7QXìïï ³sæægùȇ>FÁ­°µvgTŒé©iò¹*‘äÜ³ó ŒŒ–86[f,_áäò ‡4ÒÙ¾{Àù³O‘/8è¬S›%N-©’€®×Ca $ÓÌðI˜á#-ÇEèB4Z]ölÜ[gmý>†.ˆüÝ4Б´Úm|ßGÓši¡™6¶.°LPx~H¥˜Ç25Ò$eè{È$âHaº:v¶ƒeY ™È(À°L$‰’hhøÃ>O<ñN‹£j‡¥“ÇèGûÜß\GÒác}?Ï_d{k‡½-*å1,Û ?ây¹œ‹®ëèšž=§íŠ ç6º×ëþ‘˜áÄßÔg>óñ#?öÓéØÁÇçÆ­u®^»…J5t]!U€Œ5’(¥zx©™QÌÓ§Ÿ¼Ä‰ãÇØº·M£^#LF 9䈮r¯¾‹eè¤`hèNÉ”’˜vP ã!*t»­?R3ü‘šàÿú_ €©q'm4ÛÜߺËüâ,…B‘~·Ç`0ÀŽmÂ8AX©BΟ˜áùžcuõÝfŸòäqÞºvMw¨ŒMrtTÇ ÅDÃTZ ûû;üðýqææçÈ宼ö#£´\‰7_|™¡bé.c“ ŒO'Ilê‘L(K¬®®159A»×d{w‹‰ñiê-ÚÍž ¹°ð‰fž»kœš_fº”#ˆ–(Ò>Ú"—«Ð¬u¨ïWiTÑ]7Ñ4),ÝÎÂKÛtѬ Œ¬ë&¡Løò>‡m™Ù*åp€nd°°45Hu²Œs y×!HBÂ0K‹rGD©Ä(HM¥è†d·Åvž0d‘Îhئ‹ÒH= Sbš.¶SbbbŒ­û(•püØ"W^½FoPÅ2cž|ò<ï‡ ¦qØÁï÷QI‚Š*• èõNŸT€fêDa@C·Û|Wâ[zúô{Õ/ýòßÿϯþªpݧN`zfŒÉé ‰ÌÖ-I5ô ÁHr,̯03w™î°„žŸ£PZb¯Ú¡X(sxPãöÝ l·@¾\Á´ ÈÈ!r”Ç—Ä&¯½yOæ8~ê<[»÷ Â6E×d0pâäÝ~ƒz«ÆÈø4§Ï\À²l<¿O­¹Ãöî:* BÓçÎòý©r¹·V¥ÛñˆÉÆÞ*‰pØé2½¸„4bjÍ*Ûûkì®Ó!ñ‰¥G»Û$º©£Tšp i™X–•ßÍŒ½åæ26–aš 4вýäTÓˆ¤"Žbâ(!çæÐ4 Û̘I2–ÈDá‡!žçeèù(ÃÁ$2A3uÂ(&‰SÚíVvW%¸nÃ2iŠç+ ‘§X('ýn“v»ÍÄÄ·n½Åöþm|ÈÇ?öaFÆŠÊ#ô¼”|qœ|©œmÄ9YWÅ ‡C|/ YoQ=jˆN·ñ®1Äi¥øÝÚÛÛ=öhzçÎ6‡c»]`Û.¦cQ=:bg{›ƒý:#e‡éñ)f¦&èõúƒ6µF×th6QiȰQcv®ÈÝU©S,—©UëlßߦëÇLŽ/ÒëútÚ}LCƒT#Šº¦Û±Ñb B`ZQeèOÃÄ&E&ŠäA‡R ¾Ÿ  A¢ gç³Y%)&§'iuÚê^eÈÌoŽRè†AG¨TàyÁƒ[d!`¼2Bœh„A‚aÆèZJ –®PQ‚ï{(Ê¥"Ãá€f½†T óÇxúéçxãµ+œ;;¦A¾T¡rPëĶi1‘Lp,›ž?aÌ»RÆ»éË|úÓŸ~0…[I£8x@™v° yfÆxêÉǨ7 ½*aÓëïRquÚÝ!VÞfja’¡ 0ƒ«÷©îðì³—ÙÞÚÇ2Z8š`dÄ„Pqnå4O=ý4³3Sä+%^í*•âù|žV³A³~ÄÞî.i23±ÀÊòi\w„Ó'f¹òÖu¤,ÎÏrþ”믾ɵ7_!ðN±²r†……Y”2ñ}ƒÝ6c³#ô:mâØI2D×Á4 „ÐIbI&8¹<)Ðî´± “R©D»Û¥×î¡éZFrÔuâX¢ë†e +“T*,Ó¢(D)…iX(óÁë€&p\›Ù™iªÕ*ýÁMÓÉ›&Q"1,ú'IŠ.‰Lp,‡0 È™ZvÑëdû…†f²½¹K$¡à¹çž`}í.š®Óh5¸~ãmöö·©V«ôz}4¡D1Bŵ»‚w¹´wã—ø%xöé'yÏóÏðÑ}€¿ðçÿ[Z>í^ÈõÛwçO]faj™Ø3I|° ‹Fã×_{™·Þ¼ÆéSç¹y}Zì+KÇ™Ÿ›Á÷|žzò9Æ&f¸½¶F«>àþ½Mò9ƒz}ÍõU÷¶ôëLŒÛäòˆ˜Å¥ELÇåü£—)ŒÒéµÙ¸¿J»ÛâØ±VVN2:2ÊÊÊ9ºý€_~_*ΜZ¤ÙØ%6"ıŒßA ™ºÐ²NÃ4°MÛ²1MÓ0p,›( )Ø–…eXhBÇ0 HJ‚Ð „.x}‚0 ?à‡±Ì ÃnÎâ‰'ã±G/ã †¤éƒ~BA’$ÙŠ§LI’(ìpryš³+ËøÝ.gV–867K*}æçƘ«Ðmu‘"çä(––—O‘¦cãcììlñ¥/}™ƒýýnÀïaZ&µfW|'â]W)~·^~íUðçþü/¦Û‡{|å¯Ñ¨¡’ˆíÝ}ž}Rdµ^v³‰Ï¡E‚A«Á‡ß÷\S‘Æ>ÿØûÙ¸¿ÊØL 9~æ1¶ªuZ¾‡måY]»ÉÄD…ƒ½Mº&#Å"‘—²¼¸Ììü R%‘*{ÕJÉú/2¢‡¡2Ô®“Ä1óǦ™žcnv8Äó† %,Û!Ib‚aˆ‘/ã{}ò6\zt…~è|æß~”¤R)….œgbb‚F£EJŒí¤˜–$—/Ðîô‰N§ÝcwëC³éw|zýÛʳ³_ûŽ0ûºRüný£ÿûWŵ믆3£L¢¡1ôLÎUÐŒ€z}‡cóSŒU Y@ŽL˜_XäìùËx¾@âÐì ±òy{úqL×¢Öl17¿DitEÊîî>ãc㘦ÎSO?ÃÏþÜŸã©§>HµSm$4zð¹/¼Êk¯¼…e¸ìmí²¿»ÃH^ǵtÞûÂ{1tƒû÷îø>B%غ$ ³ºÀ÷²ï¦Ð@35‚h˜íM£ˆã˜¡Ÿ}†,šÊ°ŒlfÉ4³þàA£,4 ¡e=(ò®K)_D=Ú MÒí¶8yr™Ñ± ­f S7A¥¶ÚR¼a×ÖxþùÇùà~€ÚQõ &g§°\“‘ñ'WVz’·VÑ4Åå'.b;&¹Ì±9¶wwxëÚ 6îÝËN±¢!}ßn÷;ÊïúJñÜm|ê àÒ#çSœ¿ôõZÀÆæKìïbç (`lrš”wèô=0 ŠcejíadáõCNŸãþæ&×ß¼n|ôÓ4ZGµU,+O§Õã=/¼À#O#%›Ñ‰ ËgÎ|]†:###UïsóÆëTJeLËá«o …äÒ#—Z!Lt$:ű:¾Éµwî% µÃo¼þ:Þ°öà×_h:–™ïÂÈì-O²wÐí x7Þ¹ôéöÛ$QŒö ™NÓ•fƒyiºž‘(LC<ÀFf4l•ÅýøOÇ /’èf޽{÷ ;„Á€N³ŠŽ†ßóAéºABJoÐ'I$–ܲr”&4,ÃÀÐ ¢$|{+I• W²(º†ÃA¤BÅ1ƒ~—0 °í<ºfÏå |ŸDƨT‘ªMÓ¸òú×¹xn…÷ÿ üý¿÷¨×ŽHÉZ‘Ñr…3ϳ³µÅîÁ.AsþÂYæç§ÙÝÞ`q~M×¹~óM‚xH˜xè‰$Š%¾ïsõê[âêÕ·øn’öÝðƒaWtºM‘Ý kÔk5Û•’*X[_E©˜BÑ¡Ù>¢Ñ>¢ÖÚgà5yçWIeŸB¾ÀâÂY*å :q¤S;ìQ*ŽP(;DDô‚€Fˆ[ãè‡)Æiu¹ñæí&cù[{»´º-„)‰äD%LÍL [{‡5^@©2ÊÒò)šíïܸCµÞàÆ[oÓkµpM Sr–Fí¨&Ò,ný»NÆwÓÃtŒ ŒŒŒ¥ƒAŸ*‚³#<~y…Íõ5t!± Éñq’ F'æòÅ3 ú *… ‹ÇN‘š÷·vƒ§PÄÌ9t;õ&þp˜åª)E«Ûevn“çÎÑ8ªcZÖDŽO~òtÚM ‹&,\·„iÙ8Gš’j]72f‘®Áu4Í¡£XŽe\Kƒ\ÎÓªá=à8¥©Â |R@Ã4ÐÀó° /Œ„²C¿×ãÎí›DGªFF‹xû}’8àøâ å|ŽêÎ}Ο^æ®HI”N»Ûgÿ¨I­Ó'–1y3ÛëH”†aºlîì}Wšá»ªRünµÛMñâ׿.ÆÇÇq‡\>O½Õ&W¨+ŒR.Nrjå,K‹§ñ‚tƒ™…y’Þ~ûív“~ÿˆÃÃ{Uw¹·½K¯7À1MFr½ÆŽ‘"“( šbfažÃÆ!­^;˾6¾ïÑëv0 \.‡a¤‰B& ©Ê"q5Í@73RdÕÂ0 d’`;ºe~F!‹ª ‚Ã4)—ʸùÅb! ÞQ)š&²¾E¥˜¦E³ÑæÞúmN<ÎìÔ¦0é·ûœì£ϘSõ:ËKÇ™›žbg“[×ßæÎëìoÝg¬ä03;†nhìílˆZí»Ûßµ¦ø¦~í_üsÑh5øê×›âHH¥(©óꫯsçÖ-‚¸Ïò™c\zâJ—\{ûW®]E%’3+g)åJ|ésŸãÎÝD±Z6P773Ëäľ ã¥bv÷vxãÊ› >2Q¨DÇu\J%‡TËÓISò…Žåd7Öz– Qœª£²ÏIœËå)K8–7ÅQ!t°m ÝЙšœÀv@ „†&ÝÂÉå1L‡Á0`à Ö69jôé ‚DqáÒ#,8Éî~•Ýý&BË‘¦Ù±u·ÕCú!†L0UÂW>ÿqïîÝïz3|W¾>ýÇôÿñ?¿ü?ýJz¸_cvz]¬ß~›‰Ñ"*¸Ú·¯ßfmý.++sœX™&—ËñÒK¯óÚÕ«ÍÝÔ³]â\‘Þÿ„U¤Xe8éìÞ¯ro}(î!ôǰq\›0†C4 ×űÍfÍŒŽŒ%B€k;š¦(…’’(ˆ(ä‹ †nbYNV=ô¬Aׄޮ º¾‡$ReiT)¶LS„a@*ÙÜ\ç­·^#—äs+'—‰ü¥tû-’ȧ2R$N‚ß¹—7®Þøž1Ã÷Œ)¾©¿ò׳­¿¿õ×þRúÌ3—ÑtA"Ö×îqìäyö[-Ž<ËÌÜ8Adðö+lì0R)“Êl81M|ž{þ‹S.G»÷¹¿¾ÅÜâqzÞko}Vc;gR® KDj’Jtpl“0 Ra;9 @ÉÛu*‹é’RÍ@w]b%ˆbÐSD&TÊER]ÐiwÉår” y:&"¥$Ähèº cË"J!’Xqãí;Œ—YZ:N±h³»·E«Õ¢ÖëR­ïR*šäs:^ é{¡xC¾¥}¯=ðßüŸEœ©€ÞÐgÔ²ˆIôK…ff³Ýa$Ñ Û²ñƒËqps¢RhB&¦fpÝÝn×Îbuà ï:„q@„–E"†fd ²$Ê®B”À±L4MÐït9L%woÝç#þ(3ã۱ίýÆ¿ùž6Â÷¼)¾©Ÿûù?%>ô‘§¯¼ö*•‘ÓF!~ï÷1:Qag“FwÀ£žãüÅ‹TkL3]g踿y/ÛCÐ Jå"n IÅxALªéär.*…^d{ʆ¡Ð¢•BäÄq‚íæpœq"1 ¡é˜š ? ¤D©„DEˆTRÌçHÓ„^£ƒÐM4ÍDS MhÄQB%€FšJt]'‘Ó°i´Zòy†ƒ~ÐC¥ÉCC<4Ũ/|î3àûž¹˜Jez^ÈìÙ%®]¹†ˆ³$Χž¸DõpÃÈc‚c‹ |ú·>ËÉ¥%N¯œâêÛoR(0¬”Ø—¤º†iÚ¤ÂÀÉéDQL' ÇÎxdŠ)tÜ|Žn¿G'”Ë6 Ð…‰ë8hºAô‰„C,KÏšð( ×‹èvûYî8„A˜Ÿø(=ÛãNÀÊå³ïc™DIˆî8,9Ã_þþÆC3<ì)þÓúìç¾*Š…I–—ϲvû.ývƒ;›œÂÄ@ú1Ýf“n³N¿çÑêx„‰Éܱ9H¡Uk#”E(ÂPb¹ºž"e‚eäܺÐ0_}””¸Ž‹:¹\Ž\.OD¤2%—Ëgá(byB0A74”LÐ…FäG¤qvß‘ªS‡TƘFЦK4]‘wЦoÍQɾø_þö/?4ÄÃJñ{Ó?ù§¿*þæóÓ7¯291E~4OµÖàäÊqw±moXCÆ-Μžâ Ú¢Û èµ»øaDId*±]Ë„°lÄ;ŠbB?Hà˜¶‹ah(‰’DqB®`aè~àãyÊ£ònnWG†ƒ~*!CÇÁv¤ŠqrQàX:¦©Æº¦¡cêGÕÇFxX)þàú[ÿÇß·¶·ÄÜÅˌϞ ÖSܸW§3L9¹ò(9s„¢5#J>  Q‰"Æv²ÆVK L¡”ÂÆ63¶“m! aèØ^“Hºi’$%/–Ùò‘­ë8¦E9?JªLd,@˰’ÂÒqœ\B",Óür·‰ifœØv§ñÐ+ÅŽ~ýŸe•ãýþ@jjEFFfé´cvÛ¤¶ÃN£Î Ûá¨^C¤ :EÃÁ²\)IDŒ.tR*QH‘bÛ9b©°,;»|v|*åQ*Åq¼ Æ‹< réÌ<3³S”Šc¬¯o²·×$!¡c;.®SÄ0t\'—õ¦FÖXÇ‘ä°þ°:<¬ß"}ùó_›·¨%KÇK”Š “ ;ÛÛ¨D‘s]¤”ô‰”„qL*4¤fá%Ša“¤d'J–‰BD‰#Ô ˆ¦zŒ¸àê07?Çèèù|…N«—áðM R •*|@?ì£LE¾œGÏ™(S°³¿'âa¥ø–ë«ßxS|õoò¿ÿÝÿ5ÝÝi0>>Iè)jÕj†.!‰¢H’ Ã4xÎÆvr(‡!I¿®ë¤BCi™ct"Ï ˆ’“++ÌOéö<óž÷SÛoñ©Oü&»;;Äq„n¸¦A’Ĩ4ÆŽa"eÂν͇FxhŠo¿þ»¿øß €§ŸMwo]'Ÿ/`~02:FI,Û"Œb<Ï£XtA‡T¦˜–…H2p'ø±G>W¢sCIÅcÏrlv„a˜`·nÜbm} CWˆTbé&i#“7gᘺJÙÙÛ}hˆ‡¦ø£Õëo¼"N..¦^©$Ž]@)Ï ð¼!º®cé Ÿ(04[7qóyL¥0â„r1£ÛÄý6œžçÄl¡çÐl›Õk7¸zõe = ´4A7LtöLvööšáaOñîÒÆö¶¢ݰ³ü>Å| 8–M*C R\ËD p\×Í¡“RÈÙD‘¢ÓjóèÙóüäþK‹g˜œ^¤ÝíòÖÕ+ÄaÉñ B€iêèº@©˜v»+ª‡O•VŠw©Ã ¸n!Õõ,üݱmL %Id¶s@3t†Á€^¿‹eYèFŽÓ+Çù±Ÿü),Ãåõ·®$Cnݼ†Ôq‹£Z ‰†aZ(­w¥û¡)ê?©Ý½¬ÑŸI“0ÂÉ;*"‘ MӺΠˆãÛµÑRÅ©“9~úÇ?„Æ€Ýê>ÕúWßxƒÈ’¦ ƒ^ß°Üívë,$¯OîIDAT¡¾>}gªÚ8š.H”$‰Sü "V)´â]×°-Ó¼çù÷±tâ,–] uÔÈÒ“‚>JzÈÄG"‘¤Â÷û ñ°R|g«Õí€Jy$Մަkx^H"fAcbºÂ‰ãS¬œY:ýk÷7ðÂ!Ã`ˆRŠ£‡FxhŠï>uºíŒ2R\Le$±„d´Ræ™§žda~”vw@¿ÿÿïËço>}ùÉðåÛ/† Ì wN¾fŠaÞ¿~¹ÒLZî¿“%ƒŽºÃï_ž?ÿÂðòù}n.&†s/f†Ï<`¡í?ÜIEND®B`‚pioneers-15.5/client/gtk/data/themes/Iceland/0000755000175000017500000000000013252243610016067 500000000000000pioneers-15.5/client/gtk/data/themes/Iceland/pasture_wool.png0000644000175000017500000016102507771100213021245 00000000000000‰PNG  IHDRÅåã”3ÆbKGDÿÿÿ ½§“ pHYs  d_‘tIMEÒ;dЂ IDATxœì½w°oYv×÷YûœßïÆ—ßë4&*ŒÐX2KQ’p•ˆ…†¸.pþ¡l@®rlC”ÛU"ÚFI» ‘Œì)$\Ø–d„„РКԹ_÷ 7üÒÙËìµÖ^ç¾–4Ý–&™×÷ÞßïœÖ^ß•÷>Â篟öÒ]n{÷xšoáoð¦¾QAà«øoùÅ|…z©ýÉW_jsŸõ—ü|àÓùºl0lÙçŸèŸâË×!ª*(‚ €ˆˆÈÀo®ÿ1ÏñÝ—Û9ŸÇ'{}oq]6ø~¾ž¢ªÁ ˆ4PÌA¤"7yžßT+×øÄ¥ŽåóÀøé¯ÏƒâÂuÙ€x—oæï ,3–DpM!("‚ª"R)Ôª”"òþú­|Pÿ ¬.u\ŸÇO~}v]6NôWÿ*/—/CQÑŠ6PˆPh£]’þ5€¨N"¬„è߸ôû<8½>çAqÙ`رäCüQ¾‡ß‰ ß‹ò Åø\2¹Õ@!Šˆâ`P‘nT‰@ˆJaË×í~Oê÷]ê˜?Œùõ9 ŠK÷~ˆßÀw”¿H­D´ˆ jZÀ4"˜¢00Ä!Ó€áŸ7€¨£5óDý~~ÍîwpÄk—:‡Ïƒ£]Ÿ“ ¸l@¼ÂóÍ|+®¨Ò$¿$Fo?•þI»Ä,¦þ\û.!ATÝäú>A~Ñ¿³ûËü’é3°¹Ôù|®ƒãs — †s½Æÿªÿ‘_ÞÅ>Pì·–}0p$J Pf›é„šÓ]BC€ƒ£ ¢ZÆÍ7¿Ÿ÷í¾ýóþÆ%]Ÿ ¸l0Tþ9ßÀ?×?€ˆE•Ôh5Œ8_K™QÚAÑ„¿"”äo( ”2Æßà‚"Ïzc""{<à×ýzn׺Թ~.ã³— €áƒ|;•® fY8j˜EBæ`‚â3óI»Ie.Â`ÍÛ*"HQû¬)L0DžÞ~ˆ¯9ÿÝìsïRçý¹ŽÏZP\6 îò.þŽþmÊS æ>ûœéÕL g|Å[\îFXXª1·öP- ¥`í¹%”â+iF RLó´{Þ£Èó_¶úÓ|ùúÏP˜.•Ÿ àø¬ÅeƒaÍÿˆ?ˇå×4["RÔþÐ`jÅa{ØmW+þ1„I¾„ƒÄó¹Üd¤H€Š”Ì•÷_€ÿàä·ñìî].QøìÇg (.¿4Cø~ÿL¾UAŹnî4÷y¦Ú¿Ô\ôRi‡´´º²qˆEšüý,ôäRéõÙŽÏhP\6 ð—oæ®|˜‡`ÂHyƒ ×ÅÏ¥”þ;̪‘‹è‘'wK´#òá<ù{þ¢b(PŠ0”¦%P~Ÿ¢ô°|ÙÃ?ÊžýEzyÉå\Ÿ-àøŒÅå—tïñüIþµüR–¡Õ%IÓü€ì(ˆPš>ðѵJ×ð'Üì¹Hj×á/ø½p°˜ã!C)Q†"Í”*6†ðMÀkq{ô*†,"Â/í?ä±Íw]ãúLÇg(ÞŽ’îä·òOåϸ½¯Yê7æœ3´xHÔo0M j9²/àþ@7i¬o3¯ÈÀˆ~%ú"2ÙÝ¡/1ŸÂ@Ñûmy«µcã¶üI»§È•ÍóKîþz§_aùÌÆg (./É—ómåï2±ªª’ùÒ ôH Þ¥m))¡VzÕ-”0a´ÆEN¸…7¢æk¢‚𹣩$¤5î hÎõP¼ PEcz¢¨Ù¸%ƒ«íÛp/_ž}ø?ó{ˆA?_¢þiŠË÷ùŽÅ_ãåòï5nTZ_±p‘hÛ ªÝFo?@5û½]Ã0D¤Éê]»DÝ6&—R†6¿ª][ Ñ—¢f”™Ã‘@å h 1@»„4€ašEÜÁOeë³^µj¸ûŸòÌé_¿tÆøLǧ-(.  þÅâñýãïå[¡üæÃªŽ“¤ÅAÌ;Ji %.™í{—ØHÚ0ÔîDŒÉ+¾‘ˆÏdCÖRbÅ*l«C#´AšS$2àñjá,mξz ËL0kC%Íŵ`×t2èŠÿårcó=—ºŸ)Àø´ÅÛbý±á×ñ{ßÔä¤ÅC/îmèÎóÜtò?s4¨é€f‚´ÄY7™üÐU1vîÒ»W½ºØo RÕ6ÛuW´™h-ÝP»©f5M1x¨µý/ Ý5@µ|EŠ;0xÈXSd*Àdc´¤¤ÜXý¿üÂWÿ#öê«—ºŸîàø´Åeâ ùBþþÁßc-·õoÌ¢ER´1  ‘‹ ÉΜ£E~ü†ÁË*T˜Ðfùc.λŘQ«}\Jh›š¢¶¤œû3ÒÙ’w>‰'1«Bõ¨•G¦´F¦0‡€Ãµ°™÷yó&pó]÷ÿ_ðÆ£°½¬¥i]š‚ãÓ—_šqÿcïäã× R"¢¤hKÂiÏ4÷¼‚Ûî^|×í}5½;´Â  žUv“k¢4V¦¢T­-#î=øF£bcа{Â+"ŒáL·'½Ì£Húö·ªRÍTª¦uÚlZ[ƒ¸F̧j7ójhÄVƒ%&@UD„÷¿ôõ<~úm—»X|úãçoGI÷¿\~ß·÷‡Íí{è¥Ý)t¥æh‹›1î¨B £áìE,±†IîŽî¤ Õ¢JîÖª”pzsÖZµ£Ã`¥mn]CØF#Q‹l™¶¨PqP£äd [k­¼]#Yè`"¼x×E¼K „­È8½Î>ñAŽ6Ÿ½%ê?/ x;ü† äŸþ-ïA»èþº}!Ý/mWw–‹”îÔºUE¥46)Úó-Û<•b§r T… 5P¸–hý…/ Í·p g[Š×Q44@Kª™K­Ï6ßæ« 53d8 ´Z®¤‡  Ú(ohj–žG¶Š\;ùǼ÷…¯g¬Ÿ}%ê?ç ¸ôÒ yŽxð­<Þ‰ˆøúöœ€»Ôöw0»¶è ÍVO%~ä“6tïÒ‰ gÔ¡D1­µBµª¥†ÉcOÖµµ¶¶Ê€i"õÂls-âûÀUiÀµ„K)Í+`Á´.T%²é ñÿÙ3%ÂÎ}·Ô¾Ï\xO)òü“¯üW<öÊ|•¨ÿœâòK3ù®ý?Çóã¯#̤âQ.ñ=>¯š>7&©à›œ ¢)LÛ˜Æé{å’Ô–V~áüç™j¥tÇÖžÉæJ.nþ7¾«áP{i¸û/E@J‡#[ ´3£ZðS·Ÿ•æSxun*†áãÑùN?­³:®ÒLG)(Oÿø¯åèþ?üÙ-ê[\?àxÛAñv”tÿÐâwó/öÿ„›FšÙK:‡½îd2mµÐg ‡Òãú%6Pk§g‰µùbaNwºãU“ÌÅí .jª®Àzm îGi D.¢àa`ïËú.2µ— ÄsRî?˜Ç•8ÀDß?^d辕Xÿ šSD–›Ÿàñÿ*ÆõóŸÚâþ$×Ï50ÞVP\ziÆðüƒƒo‡VÖ 3Ÿ +:wÓ?/fÃk¹xì˜Eo¤kŽº#NòKr?&1%¤®9ÜfÖäÒqg<Á€nIÁ `x©¢66ÙsžŒk˜–ò¨0=´›BˆòñÀ´™”b‡&à Ûöj`О'qêE(MR÷qƒ×¿…«ÏÿJ=½¼Åçço (.ý´=y’ÿýà›ysüÑà±0ƒ<ÐO$Ÿm¡ZÌÑ=FZÊŒ_ù\z˜ÖÓ˜oÎ%§ÿn Xßn‡+Õ˜¿×*u¢õg3í ü’ÃÜðb¦“hžǘ٢bÀ ƒ­ÍÜÚrĬ`1j¥ó1$Æ fFÑ~)íß Xˆº5wôßÀÞKŸy%ê— ŠË?moÿ{ïóËßNi!—dƒwsI´â[5 öt»Ý˜¬OR[ 0fͯ3ŸÜ¸€"ÜgÍ í½˜šzjL›ÎrŠ]w"Æþ[ÂL"¾óèQL©9Óδâ p&mŸ úâ߉†É3ëÚ6åi„ä_ÌM'Ïu„±{U3§ZĬmó¨þ«¯f¸¹§¨¿À¸P¼%Ý?2þ¾ûð¿ÃxVÅŽ‰ 6/&-Í,È¥ÚYê9»73¦ï{Ö™'¢æ\K+à0ÿ¢›;aRÙC®è½(\ò¶2î 0Ù6–‚gš‡ûºa/nVYѯG–<l~Žh0dËw‰{"D¹¿ ܇–«zi;LRËÊJ]K ¤¡Ø¿ö·Œ'?Àøƒ_‹l^ø™²ÃOy½àøYƒâ²ñZùÿàèï1É!ˆÕªÆ–ʤ¢¨-–œÌ´.Áf'dàŰÖVŠéãZF-“MX4¸¤÷¦g Ðô7¾ýÓ*Ö‡1cìIÜ«Ûò eèJJÚ)ÉvcpŒÚ´‚}ï[Ts¶¬»¤¾`ß6L÷_Üéá@Mâ˜"ž)È6þA`‘ÿòc߀ÔOßõO—~Ú7ù΃¿ÂËãWP<¢‹Vm»L}´ì %IÒzŽ!Âw¦ùjv&É6p»7› šÈf¶øºƒl‡YÒµ½Þ(x½ƒOi% iÅt»ãë&’Ø\<<Ü’Œ…ÑúV ð6¬Ó|?¸!†’²Áhwܯ‘•RHw J¼?ü»—ÿ'>ýŸ1(.¿¤{ä{ÿ9?°÷ý½ß$—ÒÅN©ð¹ÅœV?û¨y—Ú·…ºÓšæë[JS”ÉÀáÁ÷$4ɬɧ°¶©L/×%1™*6î>W™! ^Y,>°]ΨsägûÞµ‰ç" %çL[P­tD:%ý @îÇÄ^ð¨»rªÌ¿ CdÂ¥ÿ=ˆ•›¤UiwÂòû¿šáä{†\óS_?[`|Ò x;J3ž¾–º÷M^e›ÑšêvIèÙàJl¨qqåf•8@zhZ«³ÛoI¶‘(ƒGü³Ç7-x~^ÓEç9í›H½‡–Ë•¨…]£‡îˆS$Ðõ„ ï/Kx£‹G‹òý¥8£“>ÏçGufîù~q…\xAƒ¹ å 0¿Ã‹‡8ÇJBEVª"òÆwqôÿ‰²{ý“gžOâúTÁñIâ²ñ¦¼¿¿ÿm¬Êí‘s2=Q†i…"ˆN¦Êœé4G3F¦Å™Ò­ûÐñW÷Y°S8ŒÑ³YiHäúíýuÓ'1®ÓµˆÝá/pñí¡ý½íjÉy}—Ä.}{0AzYF¾OzUŠ9ËÒÿÅümL¥tSMl^ÎÜQNBKdÈýYÿ]3ðR'žÿð¿@ªJE˜ª~[E¾îàš+û/ýù-Qÿ)Aqù%ÝWù?÷þ>ˆ¸ñˆ„ÏÃ2Pôh2û>¶bæÏ5ÖñTb%þ¬?i à!Ëx¶‰È[É;ØÈ]Ì|… »Úfàðì°EÓ,÷ êÀЉ2 ½$%¨ڜf×:´RÂÎì}œ" È<÷âGlÚ“ùd&O:w×\M‹º#-Áè†óöºÍØ“™tµ’JqüÜ«ÉH+7ÿíoæðo粯Oo ŠË/é.|ÿâð=‹?ÔVtšö…Ìm87‹ùI>Å¢f¦ØHÜëÿ¬?¼÷'û/⦆¤Ãr~ÄÍ“ð1{,&÷4„ß›ý„™f ¡ê PÛ^BS4F«¦%:­Ü¤ñFEº“ÜÝ5êŸG§{ÌÓK¸’V*é{È–NÖ¤"ÍC²#K$¢E×ÒúØ÷Õ´J•aû*Oüð×°8ÿ7\æõÉcŠ·¥¤»|ß±÷7 ¥Õ37éïfG"L?ÍŽÄNi«¹®I$%$Ì1ßøÑètÕ IMWI7KDÓvž’xèSº/AÏ S]ÓÕ dñ}Óyá}â¬wÑïðÇsôÉŠ ãsâ4Ž"ý©n:‰¦]Šë„nû“ÂÇÑJŠÜy´ú-ÁÔP´ü…t `¹žz wâÓ³ª­TÄ×ɶÊËÁ›ÿ€Û?þõ ÓÏ]‰z×|— ˆò ß±üfîïF«j1.B–ND#¬û^¹‰Ø‘ö¸ýÞ™¥ý⦎MÄ.ÚKhì•¶}GmÅÝ4É›øiåEj!Ž¥ŒÃ 4œRªPcÁ‹qЦwÓ&çZòUX‚û˜¡gfJÓ]y´Ç«z#ó/)ŠQ,y,]Žh/2$i Ó2~ðsq6Ñh¢íïPßÑgA‘è™_’ƒ"ªvhœ)`è{Pž¿ý‰?ÆÍWÿ ?%êrù%Ýü³Åà ¿ /’CdS¿Š9º®-Œ*®fÅÄ–oîïk ñO鎶Øs*]ÙkúçŒ'8sèÕÇie¶‘h0ÊKú1”vo´‹Ý}× ó¾ú\úá t&"=cBĵb/ÝpFò½æŽþEÄÊ\¬ û,N(Œ¦»v+a¢µñ æ× 0¢:—n]Åd PÚW!"Ùq2f*š¦ÑÖFU´"ªÂ~üWsãüŸþdì÷)_— EøÁòõ|×âO:õÐ3)˜$ƒQ÷Mvʦ›\K¨K^L{Ö£#.yü¹öß’ž¢é`æâ·´Á H2y¬+Ë}ؾc”ÃwiívºŸéÔ¯§ÝzíRßÌãùdñù„ÝocpÓÌ¿O&¡·«ËS„âüGMö¿˜²ô-²ÚXÈ m•¿ 9³]L›Ø£±º3“IÛN@U˜ª2Ñuòê^óÙ0Ð@àЮU™j{fRµ¿•iR9Üý8¿ôͯåxúè'Á™ŸüåÀ¸P¼(¿ˆ¿·øT0÷Ò •Ø0™zwÛ¿±§fl-hŠ 9±»Bo¿—îR´½ËÆ‘ÔK÷÷×òfÌ…gh÷»>)4¹Vé[Ccn¶¨ïaN:HÛæ 8˜Yó¸šÍÐE…†–H‹ÀT[ÞÄi•.7¤ fLÏÂ'äþIí‰4¥ïáðî\*ƒ±ÑÆëw´]ÂÛÎÁ0qTð]€Õìv0©Æ~"® Ä—ÞÌ.m€¨ m‡ÖM¡=DÞ·ý;üŠÕbÁ—yý¬@qÂcüýñ¯óZùRj"  Š¥f0òã2ßmó¨í°ï;щvÏlw©–9µC‡ÁÓ`Åd ^Ã¥n0jûH+vj_õ«Ú´šGy"*cæ^ßðÓ[ô‚$ý ¹RÖçè40S¨´ÁØÓ¸ÿã&™­ÖÁ–Ì·ÖoI¿»fsØ»‘ðž$´QÑC)aók­TãxÅÖûª MÚ×¶W½*±O^¨*ö]3§5Ú©ÔÚ@7©¢ÔK^UåWîþ0_®•GÅǧv}J Ø±ä»Ë7òåw€ÈŠÜh‹Ûë!R¡j¯ãçB"­±y[À80Ï™€ÌÈÝFp†Qh'cˆP´v;Xú ~n Øa˜-{®Ý(¢¶mSì¥'Ý@V³‰|JøêŒí¡b/ôks–2ÄQü3IífSh9çy{6ŽÀ)hú™„›-¨ø(íÜ'j­-h‘O>t3Eýµc¡`¦©Ý¡14†tæ´qe@+j‚Å$:˜jEëdЏW)@³&j5Ð$aáØŒqJ¿sODDê–ß¡_Ë3ü?ül¯Ÿ(ø7úø‡òg]j…8ј$´úŠæU¸ºNÜl<׳Ï^ûÓÔÎÒŽgIßv¡IÁŠMã§öÙׯ m¨î{øI­­ym{< huV×Ù­[Ý&Ý4ð𓘫š¯àÌ Ä_]kØ­¡¥œÆ¢MKb­®Ñº°ÐÚR´Rñð“ }¡¶ Pq&n¦IÜäR›®!còÙÁÐ]wiú«3»1F˜hMPú!¶Êø™¾3† Õ©! ´wAýU•_¤™_Í72²ágzý´ 8Óë|{ýó|¤~ídÞ6¬ t"w9dÕîÄh„¥——½v¦$$ =‘Ä-M2›c)–`s³†^ŒŽm€Hf¥UrÂ{’£$¶"Ó(é\›|$“ÆN…^@çýwªå2ºD720ä‹^Xö@G1ÀÖò>$?-pR±×x¶¦U¢ª™OšÌííyØÉƒæ$‡âK%Îü¾= ׆-ýtoœ;eÑ?f ð-Æ’–;jF}ùqйQ_˜üõ÷ñ¾eþÜOsý¤ ˜täCÛ?ÀwO¿w«ðãYÍ‘ A@ÿ“ÄX™æ*´M¸G‘r!±‹$€Åœ»ÔG<$ڴϬÎ'IêW˜[î8{ü½E—üÈ|WÎÎ,a a‡pÂTÄ*}±>°±e›Ý¥pL¬†&uø´ø~i¾©¾ª&ó'˜°õg  ùaVEÁ>jŒ®²˜¦ì33Ñ}!%ÕµwE–›D‹ó¨b¦Î-§Q„µ¦¦¥·+} f»%Ûó²§÷ùüžäød®·Åí¾†¿µúóÖèl‡¾ 6¥Š’ŠÍwX‰jWwÑFçÃX(•q‰qÖŠôwB$sE(qTSÔö@+¢3P¸y……‰ÅžuP´³’Z‚J2áM:6ÁÛ#(3ɤaõù©‰¶Ñ'’™Ä¥³ ‹¸ä;{(Ú'í ìK&˜ã.Æi ß{nðd?¤ËÑ5E„J7 Þà¥ô³ÄxŒqk¢©šáAkFëEßSÓ({EroÕM/¥ ßLd®Õå|¿…ÿ„Cy“ŸêšâÕé9þÒé_á>Þ­oT2›ä°jô™…F ö¯Òå¤NšÄ‰ IF'V%^tˆiß5§EÞM™ 7š–p-mæ§í“È[8縔‹¯¦=ººî¯A2†ÌA÷¶ç~…=ÔM±$• Ÿ§¿Ï¦/‰'È<9êÅuÖ\c¢GDw.É+’°ß1µdÖùØýŽlùüÐî«mX]Z÷}™Ó ïZ3‘l{—¬È\ÃúsM‚ZV=“êìà ‘ä£jæ£xûâ‘&7™4¾ïN¶Ýë ÃA­ÎÉB´Ò™·1„xÐÕÆÕ£/êöÍœét¯m’N'ÒhÿÝû(Ò”h £±È&¡=²—«Ý\ó”66¸¹5ÓFpNk{ª3§¯¹õW+µN”¡€”¹–pµê²yúA"š'Þ¾u® PêÚÊï¥>¾Öíï>Vrž spk$vÔð׿“/þ1/ùÎïøíìË)ß~òG]È«1GuSÀ¦”=„ ‘`€üaÐ&Iûb¯’í ªŒù&\Êë¨ÑOôs³.&ÆÒ¶¬º0 É„³ÈäçlÁ¢Å2¸Ê÷±›#Ú7é ÒÇ­©ÔÅ5†“dMÇï~‘‹î¹3}Z2/ós'€ CëË1&ãƒÁkAa=Bgf˜¤1‡Fh¯ØIk*‡Éµöj‚L÷E}Σڡ–siñëdª*_¶ÿ!~×õoä œ"ÿÙÿò!šýßìç„4‹jÒÕmKN"eÜóVW×&ùÅˮË¿]‡êËæQÈ®‹Ny’´Iç­1ÝXò1%æÕÙ‰uçaXõè—ÝP“ ”j™c·‡ƒÉóš] Ñ¬Û&Œ†$mxèäãÉc /&èåÔê“©ÖXH]£ƒ›3Îý=ácT§ßœûõ_.€bFØ,Kiõq£ÚïÖœ™hbocR) N•nê;&µ`-»o}Ô>\Õ* üÖ›ÿ=ãn·#-Y'´¶^‡ú9Üá‘ÔXÛêRÄ?n…K"›‰¤†óã[’hA{§‚µ›i‘\rª>ò|:(Ôç”u1ÆÃ,ÛÜü( æp°Îî§7—•X?TCkÍçâ9.E/PufÑG¿BÓjuOâí„PÜÏéP&ãÿ>®ø-äIH¸ÈÔW%@玼S¯YIUÇÍzë#§KŒ®%¼“І© ÚUR˜F†Ò6O ‚ô3‰¼='’0“]‰ÉÂÙr@$ÉÓUžý!˜ŸÓ%ø,Ϙ€!^!›7õxÈÐMŒ±€Fë/æ‘4"­ºSk8Ú*>ÏÎîQ)ë “µFêÍ}¹B k“nb6P$IëóóuÁ£Bj€y¾V̾Ë/ŸéQ0 °ÉÏëìÙîÛ%ŠúÏíï  )§ÛÚsV ©ißõÏ;í½‡X6ÉËçôÐXCƒš°óy«õ=®ÖÛh,˜À+»#(økh³D#…6­‘Ù@½æÿbìß'¤á`焞ª/)aþDÿÆ€Õµ‡‚†„# $H€Ä7ù^b—LZégµøÈ“ä›{ùRzŸ¦Í¤V©kM5FAg¼ªsi†D2 ¤©x‰AÏæÓTz]6 ‚¹S$©w•V!ù3c§{€­?ëÿmªÝìŒ1„†K§º[ã~"z¦30³ï³VèLÓMYji&sõy:(¼\GãÍ—ý^73dzժ7œ˜-ï?Úw!ýº‰Ã±‚9fS™)ž,Â<³í’/!œ´°F¨è4È’JE¢xN1曵QMAÏ&YÚ&—ÐhIZeßâ-€±¯„õSÐ¥›cát«Ó·«ì¹+½P.i5 zN¦;£¤{ŽÈünæê ÛýCû"6‰µ/ëTídA+sñIKƒ‡Ï±‡S]•j¯Î¤^ˆ¨=**­XÉDZ¦Ü¯ о¼]ÐÅž–FôXöd>¡ó¹«Â¸ÚnRCÎÝ>é¼0éJûŸ4!?ƒ‡Ä´„ø‚™Ìö˜½jêÓBjS}a|p±ÈÎPÐ}1V4Ÿ‚*ʈ³¤Ê`oêR±Û°¶IȘÝÎZË]pSkefBT7ElŒÙ£keDÑZíÌ&éti|bc7 Ïx¼Ë£E>Ìêê6¨$I;Ú"'ÍÚ5~Ušä›œk¬¿XUu¿+CLX… Ð.$}ð*í g^/ämôT'T…~Èv3·K/fÕyÆ…ûä£wzåÈVgŒêo¢€ ã®N1à!å´ÿ´FJ)hðX±“§k:wðÚäZ^­1U©ñb,¦%b}üÔ Iá_g3(ÏÑm_…ïœmàÚb´l3ʾï¾S²ÉÕPbñúØÅ´½/DúÜÛqº\̶žGNÚ}Þo[› j„µm§®IÚF RJJé4DÖiô˜ÕMkðS«£Óq«ÀA”ÚumY)´qKÍsm-T?ÓK\Õ’.¡ÕÞ¹'mCRs´g¶µWþ†‰Z& ”¶G$ ‰ö÷X'‹¼˜hÉ5óØ$ŠkÕ°u«©ÁHÚ˜é!8Ã÷(†ûeÆM},j‹ïû‘T~ž’«>ë;€‹G榎ÖttEëá#„P6`9ãˆI!jg>r3*—Þ´Ãß¿­NGstUC`´…t'»[ïª&q)& R¼Kš¡¹ìw)ø=Î!IÈ÷2v™¶=“4ZºÔ×ë<éëåöd™µê î÷×ôvW/Þ„8Ê úÞ°u¡ð´Ö¶^Åw&{$h\U¼A§d¥Ä#m$ô×¾SFfˆK&E0ºMÚU´1WS…&fšù¡ýY¡y)ξmƒKUÅÏ8nQ¹pÁƒÓL}ì]HÀhsóϺVÊNš û}®ÇÚU³nÔÆ³ªºƒYjNftÙ|æÑ#<ˆ—'æqú̹»j‚£ßž¤¾1â,ÚýÉL=kX2fà\NžX]\Ì5N1‘“UTñ¹ºŠÕ±yY‹ÂlIÚôâ4píì}¹‰®;¢¢xÔ#}ˆ2†Ô‹‡’4‰Ø^§¸ ç‰3½p+âÒa¤³’„IÌLªqÔÌ>óŘ¹øÉ64Éï{Á³H –ËŸ=2;«ŒP¨t­¢F—`FgÓpM%;Ñ/îÎs³ÎÛt‰ŒÏÿ‚-Óxî«Ö1Ö+; å.&|3aù¨rsØ¥îûQ>>v‰¶ç²8ƒã’ ºÔëfÏÜ‚Hp HAc?|ÒMšÖ™pÈz AÎ÷œ·CSŒ ã]ø \{û¦ýŽÈŽ«BA#ÁÓwÁå(€!Ýí€á¹!Iº€IMB²çš4µç8×ªÉ Öô”óN_ß2Ø÷àY­Öf‡Š‹Jç-M¥JÆl&¬Gq¦ÊÔ©D"ÃÇàGË èS×>¾> 4}­úù)I@à 0In«=K´Cך.‘“ ˜-Ôÿt.0û·kjC­HÝQZHŠ*¥Õ8Q’pêâÉe¶H¥]º£è¡2­ “ª”!A²ßµ: Ú[—æ Áˆs)3MåL£é¤híkät©ö‡×X ^‚îçŒö £-Sça\µvßÖüŽ‹A'tx˜>nM œ¹ÁÕ¹±ZÃDý…åv"taB±É|è¦Tzoͳö!Ã|ËÒ IPé™ïÖ†=¼žÉ#ƒŠGëÂÇH´Œ{‚–Žo–L§uTP&Ò¼äÔvÍ5“Ïɉ (…ÊÀÛº9…ÍL;Ê0P{°<€Å!µ,¨:¸Ti£ÚÑFÓÙQvç,êŠQvì-öö¨eŽœO#+Ùé¢M#NgKjB…1ìw:ï÷Ÿ3=>÷¨D'|óú»}.Hj! ü|QzöSì¬Q¯uÕê2²I ‚Æ!ã®e"*’Ê3\=© ¬¶`®\â¤ÌÕöwmŒBåUõ^øLH;ïÓ7#ù‚n§&ß rý &ý¤í8Ž´.Ïí§«#C™› .Lœ‡lá½–Ý‘™F–mqñÿ¸Ôô{‚h>V£o’IwÎ,[¿G'†ºBVؾù*›‡wٞއݖa(Ë}†ãkÝy’½+7Ña"2´p÷®Vt·b{ïu6÷_cذ\V†qbÿ`É®³w|•²w̺qw­¼q>±Ñ=`ŒC{º…Ñ„ÊèÌ¥ñ½vPgÕg|è2¡ÚÂHB­Ò%—ìºûÌ,Scþ¬¶´&…®:_éê»Îጒ´]$á¤o?zô*¡Æ@éˆäPÿj}Z86žp,pEÕW<Úï´óKHŒê|ããö/Š@mÑ Éôüü%â3Bæ¸ Rи;pQ&o§ %Bhoµ€¸6MãÍàIãQd¶®’ï2StGÙž0½ùç/Œó»¯°=À´9‡:QŠ0.ݸÆññÄ3Orë±,—û”a`µYóàáCNÞ|Àǯr÷ô£œÜ“õþÈx¸àü¬PO^çøêUޝÝàÆõÛܼ~›×xñþ–[ع¨ÌËŒÓ貫 ‰EòpY¨}h»5Ò<; 2Át–[èLÜ~É2êbLÞ‰éÒÓŸÍÏÇ‘ótiÜx¹ xRn® %îÍqº™[f¿úëƒy>f›æ%øÍLÒ’æŒãÓQÚû1šY*µö—ÀÌb‘°M`]#d–´ù–>E1Õ©âºæ‚6ÈØýa9]ÔkÒVŸx× ýYíR i@aB¶§œ¿üÞøñóð…±;;ºc”ÅRX.®^á™ÇxÏ“KÞugâ¹§Ž—T„×ï=äþbM¹±äð}ïã#?Zø¾ï½ÇÝ{XÕçªl×[J8<<äÆ[<÷_È¿û‹8>Xðo_Þð`;0©y\Õç%ͧH´p*Ø‹™F]瑤 B|1ú ¾3mΌޖRÌ{Œ—=ÚBfS!KÉ&Äx¥^âï9ÜÇyt’voò 4i²öl7•:$Ì21fWFsHT¢»ðY$I[ò<½Kchæ6»J?–Ó¿/Δt¼`/Ve¾¾H oÊLÛE>DÒíIy@™v,ÂÑñ‚år[]ãÙw=ÅSO?Æ(;^ýØó¬_‘£ÃCÂÉÙ9ªO?}‹÷¾óÝÝ£k™}f÷ë|í¢FC“à!CÇ?Lf0´n×'ÜÿÄG¸û±rvÿ>:mYŽpóö5ÞûEÏråÆ1GW¸~ã Ó´ãå—^esvÆB”ýƒe.†»×öxìÖU>ð¥ïfµxx¶ãáöv•Q„½½‘ÝzËK{‘ûwpåö;8zâ]<}ë›×Öœn„8ÂT”q(iâ.;Åq»´ç²š¥p¢_ 9ìÒ63¨w›m×”¿&Ocb•~Ÿ³å[å­²¦Ð<ë°/a‹Îe¡$áQ' ævBbýG† tJÏÕôcšÉ;ý‚¥bš­=×Dô‡íLÏ& 0¬˜ÈKN6^@ˆ¦d%NÏLÜ”’«,ðú²ÆH¡j£ÈP·¬Þ|û/~œíé ehBa¹7òØS·ø¢¼ë·¯svvÊê쌇÷röð„ízÅb6ukZEX”Âê™;ܸq…gÞù Ͼ±âå7V<¸wÂúÁ Þxȃú€R„ýý=nœmxçõëÄœ&_ÈîèQ™dš$¦l’Ý€êÏŠ[åšÀŸ´pT“JjÃÍF»»„M|ÜiçP·¼Ò]Õò/vˆ\°¾v$‚¸‰v¾îá'%QÀ+ºD‰‡‰©ÓQt¢®²¹÷Ë…pó¹÷ðø{ÞÝÞw±>ãê!Ü{pÊ«/¾ÎnsδYQ7ö–\½v…çž¾ÍûÞó Ç{|ücçÿõó¼üÊÎW†½=^»wÎéÙš»wïóàõ7XŸï(‹}n¼ãin¾ãiŽ÷9܇{/¿ÈæÇ~‚«·Ÿæúá>wÏ'ª Æ'Â8ÐU­&)¨‚í› R˜jïª4˜=ÊB:0êŒì}ñÛÂ¥xÿlÁj¨™kíÑ̬̜ÖR ci€è/Gу«VêTãýkêqcZ±HV”XûjvmëŸ*ušl¼CTèÎò ªÔ؜̼£õŒ¡¢ÆEˆo6îÃÅ„¤ÑÉJM`hŽoÆ Pƒù;v;¨1³¯ãG …†ˆÕKÏ;"wÕÖBêŽzþa{Îõ[×¹õì»XÞ~šŠ°” {»‡Üý±æ•ç?Á8TŽ—ìí \¹~…[wnòôSwøïÿb®ß|OÞù0ÛÕ†'Ïs¾ÚòÚݼöá0MÊþÁ˽“Ž?ñ ×ÞýÅ”±vÛ¼ôúóìoßà=ï¿Ç­ëÏòÑ»'lt +`éoÊ{ÄÞgÕ¥]Ó’äª5mã5³šªKC­¨ÙMÊ;„t!å`ÆÜaôHA†¶ð¥ ÃÀÅíq~ÚýZíˆ_üÏW‘ÙÑJK2úÚÚ$j0ž1‚ÑÉ÷DkÛJëšC÷‚øì:²:Mb¾6ÎØ2iƒ©gHiÐ$e×¥³¨h{D @QÌ\KBË#€Éôóˆ|Ó+-\ìŸ÷5rmÕAÑ„@µ-Ñy¥Ô ¬O8Þ¸úÄ“,o>ƶ¡ed±¨Œ²dØ?f³­hÝ1Œ]9âêµ+²Gö–Kޝ<ÎÞ{ypºâ£/Üãå»9ßì¸÷Æ ËEáÉ'osóÎmVå ãw±>¸Í©´ÈR)”ãÛ¬^þ Öpû öÇÊùÎ÷aX™‡O<œßÞÝÜqp8.¸ ˆøQ1bµA¾È!ó4€JmRzè&‡ {Ò®i‚¨jŒÂ¯‰¢àñ}Ϙ‹3¬¶A VÆmEŠqjxä—‹x ¹S ¿Jã õöŠÎæ‘5Ccãq—¯âÕ­Ý ñÑ“vÆ6u©ZeŠÌŸ‰¬‰¥\Eà¡õÙ$\.¸$7° ½”#̸r¨q¼QÖ ³„¦¤Ô¢*ÐÞ\ÔL¸2­õ ×®r|ëÛ½ª T-¬vÊX®>þ8Ï}ѻّƒSĨ˜\‹ aÙUƒûÙ:êÒ%ÃäŒ1x‘ k,¶Á£,Á¥ïe¤T(“%òR³vÓ^Ëê[Kú´Ú±ùÝoÇXºuZ…9lÖX§…B%úš1!xÝœììÕ}ˆô ·âý¥çg‰:¼Ô¢1¯i££6´”k°™æWÒÙÝ*è6Ûça Õ¼†F­ÚÏìè `»¦®W\=bq|…uYØxšRÜMÊÁþ>w¿Íòeõð>Ã00î ËCÆã;ŒûO€ì®^’ÇŸx’—_}“Çî\狾ø ù_ò%¼ó½_ÊK÷·ü؃°žÞd‡íúD™(,Ž({¼þÆ=Þ¼‘Zklr/n’wx’špâÄÑ‘î5;jÌëH/ ôwÇ!óõ?Ƙ<¤n0ø!8¾¿Û÷U»iT§Šè3 Ê_XØí3›Ä–Vû ÄjYĶ|¹cœ‹âÚÐ5N…´íâëÚ1³uHžÎŒö#¢âI;†§å&Œ3¸µƒ¼ñdBŹï ×NóЮ‹Óš‡ðpSÍó6ÚÂö5ëA›¿ÐÊÓ:OTÈMûÖÝš:m÷ÑÅ>;ŠÕ¹UF™8XŽ t»¤\;f9T®Þ¸ÎÕ[·9¾y‡«·ŸD†܉½qû)¾ìË¿œº9åÉgžâÿ²_Éñ•[¨*Ûõ)ç§§L»èH  #e¹Ï¤Êéù9» T  J+ì>ƒÿ42-–‘ØôÌ!÷oòbkú$é‘`ÎèM54•8’¼7lij¦Òýû SТTI§ÄùJÏxÏ'#øY·ýÔ?f’Øk°ºž €Y>Äûp&öûw3ÓH€QW§rñkGf"Ý¿+2n2õᙣnÌîs‰%2;Õ'æfk ¥ãÏW1ô›†Ù•çäíQ vì¨긖E“Þ•£<~}ýÍÈé)ÈÁ‚Åx•£ë×X#Ã!»ºd½­lw[ã‚Åâ€w¿çKv÷8<¾Â•£Ç†}j]sûúMž¾s›¼ñ"«óÆÁ‘¥0îíqp¼”Ân7Qu@­äc¬:ͨ‹ŸÕܾt";¥…΋†ZÌQ)41UÒ@þeCéç\¸"c„¯uš•¾ÏJ#rûa½ÔØÌäßw(ر1>H€VלíûAÜ H{#Œ)â¦ÔeðftdeìÎØI³åƒTûß>¾0¤Â¼±Àô1úÌòμØþ<>3ŠŒ©{©Mw¾é~Œts© !í±õ–RØéÀÉFX®…+áPö†Ê+…;ÇÂêî–ºÛ0ívŒ‹2 ¼ùÆC^zé¯|üu^{áuÞûÎçxö©§¸qý&‡WŸàÝ_ø ™(# #¥®*Oß¾Æí^ãÞzͤBÕ•›d@Kƃ#vUØìì|Y&aÌ…ÚYçÏò’ PÒ†þ¼˜Wˆº}ÿ$Û¦ŠÅ¾(B¤Ø…tŠH_Ø™~@@gr‰Úå–»ðN]Íç6b‰Ó˜dÖ¾ó¿ÀzmVŸ[=Êl~“:(®óxkïUz¸»i& IJð˜«Û`VMãïú-1ꬖl.0d:N—Ñ] LÖ†Ù›ðô‡ºï±!׿WTayÀª°[^£û e`!•›G…ÛÇ…²=a»9gšvì¦-e\òàþ^øÄGxóõ‡ŒÃȇ¯]ã¹gŸä«~ÉWð•_ùU°õ ÐPÖÀUÊr,f ë4‰)šœ rà¤+[¥9[ÒwNø‹ãgU§Ì®!úu&:UZ›}ûj –¸¶ê¦€¯Â\`e:8Ð\#4ée€žðöA~‹UiQ9`8¼ÆõçÞËÞè°d¸¶?ðÌ­‘kãŠógì¶dXì³Üßçõ×îóâÇ>Áý×°\ lNŽY=|…;×öyÿû¿ˆýýgrtXXÿ[JYpûú Þùäcüè+¹¿^!®-Æ}Êõ'¹·9gs ëa°2ýfáŒËqÌ×ý4OðhHönX•R·…%-~ ó)­6ÚŒÅK¶o–V¾ $XÏ™ÁµÍ£y„Fî…}™:ë3ƒ'š|tî„Jï­û<®Á²47©hŒœßc‚?™>†…·`L™89÷C¢'ಜò_\¸¸&pÿ.‚%!pf–+Žíh.„G0ÆÅÎPM'aXÄefÂ$‚,8~쩈Pî/”ǯ-¸u ì>`³:g·›(ã‚årdGàÃ0 :±Ýl}¯ìSeý7>ÊÍ×Xî]Yظ&Zèab1îs¼¿dl~ËÖ¶«,Žo¢ub-#Uú¹4 ˃`Œ,³ÕÒÃjí>U?‰Î) ñ«K«\ë¥æé%ï=˜ä”x)Ä,¸j •£7éÊë%‰üÏø~6—¶€Î”+²~Ë…öC:‡Ð9_øô¥3o1†Ê"½C¡}v·ö ¸GÊŠ¨ƒÖièÇ„F3½ÝÞÞͼÿ¾¾Ð_’Øiê4‰õte‡[¨Ý޵¢m+öª¤±™é‚IiohZÈŽG n)²yÈúì”ÍjÃ4µˆàvªlv¦ ãbA)…ÝjÃÙÉ9ÛÝĶnxýî‹<ù䳌‹E£ŒÑ ö#ûCi•Êš‚1eieå¾—ÝýÌqƈÏF<Û â’Âvjtû7U •ÅŽoGôdZûÒz×Ý®G„~à˜/¦}–¥©&g[4J«“LÏ8Î=µÿ'²[Øþê °9_{<ÝÛ•$RýÈ˪V&^lK¼úþÄP'‰¥›:€Ú9z -fN /S»‰æÍ$å˜Ü„ÖVZ-[­îLöuÅaàQšàç¼f'Ì.¯ö¾‡ZãýÚÎ Q'%~°vM³Å•)(‹}åæ•Ž÷*ÓɆÝnËn·¥ÖÊT+ÛÍšÝvËéÉ ë³s¦íŽ:M¬Ï×÷îÝc7U´nXŸ¾€ÈȰ8b\\¶HÙgáêÁ>7ŽX”‡°«Á/\ ø<”v¤øBû¿¾Ú¹ÆEƒÀÁ1ýG'íG’üî|öÑ`²°ñÝOp³#_BûȤ6@T~DÉH¢ÑmDÕ0)êÌ H?§´’¥,¸6uâ"©  –0%ºÛÓ ZeX6'µâùÚQ;%8Ïnsç¶—Âô$ škÂ(·#³ŸýÄÀ9º¼ÚU,c¤Ú^“5Uüåö3[ZéM;´z ?/´ˆ*#²(R'¦ÝŽív×Âë´×&Oµ²ÛníˆÖvZ‡Zf½¸rpÀÍ·¶¬ÏÏY,¯R† :¶>í$£ƒ}®°7 eӳ˔p%[•¸ݞ£Å˜ jWŸ¥„Šu,‰éËZ[ðjžßÈÙË.©º´¬þ§S(•%¨÷à6°;ŠÉV ;p’¡Æ^™¼‚’œUbaò˜33ÙHíóN¸‹™ŠG¯,ñ»íÞg×ÿýŠfê"IVÄ@U„‹'ëå¾çôíWkF£² ?ÓŤ¦Õç1ðZu¦¯˜é¬þ\ç#TîÂziIì IDATI$v#¶5k¯c>Ú¸uuÃE¡n7¬W+¶Û­…ߘÚm™v;—ܺsºÝ°:-\»~Ä{¿àY>ð/e1,øØÇžçðèë7íÈRöbÎËÅÈc7®ðØõCΦ3ֵ휹x?øÎia<_Af/‹Ø}ŠüˆIŸ ©2ú²>Ê:ÑD$?ñjsÈ¥2.–”å’ÓÕ9ëõ9»í ÓöŒaáÈhÀ?Ü;àhÿˆýåÈÆNV›Ç< ZKºÆ«îÛ¥Iê. 238Ø‚`33¢KM¤IÂZ/ì‡.Ýn­vp•ÒöM Ca EÚ–Ï2”GÀÖƒ¢Î¼¡(sÏ^òÞ×µ (^ shóŒpŸô*ج™Š¤ƒâºÝ×µ‘ýŒd—Ý¢Ùé÷—ŸK§Á,Ng÷5/ÏÇNõ ç üut.½Çq ”‘q\0ŽK†¡•FHйÌINÅ׸I²fðœÌ °‰ë‡ï{ê:ïº}•ûKŽ÷—.G*/¼~Ÿi»6ßabšÚ{RêTaj/y\,ìì3m¶ìÖ[6«5ë“3NÇ‘åþ’½Ã={ Ž®rp´G­Þ¿Ëþþ öÇ;m]ö—ûË‘¡¬[ù=B˼׾6ڄ渰ŸCb‚bf`ïPO¹ M$¤~0އ©ª½á¾ÿ«n“ª™ *ý= ¤<¦êËPÚ;“n¥”fç½ÔªL»‰2 –ô?;ÊdŲ˜-bÕžsä¢_Óa ñyßá«qÞŽDbÓ¨+¢.Ò×mÌ3‡…ü’õH²(ˆæŒácça¹{gB7A‡¡0”1ö)øsí„Òý¶ O`ZùüvTŸÆHåhO¹smÁ;nîñøñ‚ëÊá-wpº:çÍ{¯sòð!Ûí–Ý´kN¶zˆ¥IÙqØ[îQ¶P'˜vLlÆåÞÈÞÁ‡Çï³\ެÎÏ9?;Ã_“à×€pípŸkG#hËs4þ›Ðdí4Þ-ŒGWºj·ŸÅ¿iféDÙ‹И£¿›³/úZhm¢îvLµýžcÕ^:ÐM³®YÄAaZ¡ ã¸` CKæ ôœJUªLÈ0PÆ!Nœe"< àïñö—ÐøË*¡PÊ™½É,œF¿J§M^ÜF/‰~ÙÇr`È Qµëc´sm]ô4Oo‰*‘ì(›¦·~¢:¶¡¡ ¹¡ e0ëÓsŸ-ùDš+0¸iá«¥vpÄ(•ã…rûX¸u¸fwÂúT8•+ŒË›¨îX­ÎyãÞk¼öæ]ÎÎÏØn6L»©[Ú,‰ÝÔ´‡a¹·´·)U¦õˆ,÷–,÷ì-P›ÿ±^¯™´Ò–oÓdú³µ¼¡îNZŸ®œUíUl®¡ ãÑáqækýâr/«~ó% °m›¶¢Õ®Ú¢®µ2éDÛk0Ai‘Rv¦f ¥IÖ8ßÔB‘ {í-JeP†††Òrc¥Û‹0ŽcpXÏcI´Ædê%(:»Ÿ ÔjK’zó}Ä|‰ÎDýe–ZÅ4Ø€ ÒlY)¥kä«óWºÜd»]ã{âÑŠî¶m€4¡Wì]!Â0¶µÖŲ°Ø[¶èÙ°h4­L›5›Õ}ö¯!C;H¹HA«°ÝB‘%‹Å@s¥Ý¼i4qÞ]2bAü}°~k–[±‰ÑZÄdbÒ†ò–鮿,U¦ÚìÅf3NqZª¨Ñï'?»éÇé;˜DKašF†RÆ‘2¢„<{$nS÷FˆãþkeÂJ2=Ünvå’$m0"ö¾3–Ç÷Û0›)2ŒcÛB9.†=JÛÁ e ”¶?@dhZeãsI ‹Ô0Âìr¾ë%…òA$…›«~¦“Ÿd’͹E(r¿í÷¾¤xD+KÙpTÎ9¨Ñí ²‹#¤ ¬×[ÖëNNÎØ®ÏÙmW¬Î²Z­Øm·Í‰ÞX(VŠù‘25-Qûg‹Æq`ØKÆq`šT•fŽiË‚7P\9<âÚÑ5Ž·LCeªÌx$ ¿q³>f¦V«»ÑN¬ …i‰ÚèT(˜¬Æêajmß™1™ɦC=n¨ÍÕXh‘B-ÍÆ,Ca˜¶fæu-Ö«¤åÄmŸ†åªLÔxySH¨‡S•Lµ) ®=;À‘,h'eŒ‹…âœRF†2¶÷-0FÆ¡ùFu\´è=x àÇÍó@š!Gøº–œ¯q„™}²PIaâ¦ð=ã]¹v!„FûÚ5Ecà‘-ûœs0=`ÔSìíï³ØkÛFÏNÏ89=a½>gÚ®ÙmVœ=`½neâÛÍŠÝzKu2ZäÎ¥\L¨›§0Œ-Ï2.”aJ+ ·pë,l,‡+‡1 Êd¼ÓBËÚÃßãúü!Ê ÝŠ¼üØÔ¬0ÌÓ ^Ú÷F÷‚¾ÄuÍ`šÉæâç3¹¼¯Ø‘1(EµãBxun>õðjæÕf)…ÿ”¢3ª JíÔµC–e‘ˆo©î˜v[v£%Æ,æZbÊ4R‡ã¸GÕ%µ.›ã;4ðx€Á ó¼P‹(i8n Å%ý¤×f(ãêìacp¯x¬ýíœÙÞÂÈß¿i á!÷ê\çR9ž5'ÝCˆNe? *õAb¸†s€MS <6š‘{ŠÃ„~µ~¼ÅlAHÍ¡øx³Cìe$B?³ù?Å%©&Їv‡þ;hó°w¬ùII€´éx1\ž;Ô À"ƒ%“^”&õúµ~jG§‡“BBSg¦wd-ܯþÒ¡TeɆ=9cœ´êç_QÙl·œŸqvzÂúü„ÕÙ »Ý–­k‡í–]Z-•´üL­•ÝfÍf}δÛ6ó¼¶BÁRJÛ$T+Œcó'6…ÅrdooÁr¹hs¬;g )í/9Þßãd½ŽC¤Z!`m¡y Œ«ó3›°1ùœ A,7â¥C.lÄË)ú‡]»tëÕo f3 8KÀ93¨D!› Ufí¶V‹…ãub–ÔËšÆÓZ¾ku¾Ö Àê zÄHœ 3¦‰\Õö´°_‰Ã=¼[ìŸûK˜sÝS¬Ÿ¶–™¯Ñg1'¾Ô²Ac M"~\¬¡%D ´Wsù3Š' B#çIO˜ˆÞ•…tQFvìqÎrz€n"¥RÊ‚ªÊf½¡Ö5§§Yž°^²Yµ£ó·Û ›u Ÿ®WëuReÚN즉ízÍ´ÛuËÖè€b'¶qí-÷( a±ØßkɹÃ%‡W£#ßø¤r¶°Ò“ât²õÒÒr[Uµ†V¼þß90ÀmûišÚë”j5;1ݦv›Ï3£‰óœ#gc,z¿îWÐì‰B1&÷ÌyŸl!vÅø»è·:È‚;”‚6P”!ƒ¢k® cîì ÷0¥f—…«~ ÕµDZsÆ[àÀ”qm%ØÞ ý8›ÖÛL«5M !°|úK ]KhjHILj˨ž²™M Y±œNõCРøÇ0,)l6[6ëç'XŸ†f˜¦Û͆ÍvC&£õа»»mËg•qU¦º£”V®2M-B¹X.†Âv»åøÊ>WŽ÷9ØŠpp°¾¦ÈI  "\YŽŒ :µÊ ÄLœŠ¿Y«ÖÊxpxHF[`’dw³§©–VŸc[-ûˆÛŸ¥'׆ÑË&EÃæIRž4sF•¹Í.€iËìú–_ôb/ôÍ-Y d«#l&+qv­•bîÍÉ–Óz„«•HXX„"Cûç 4LÏ7óF.˜>¡5ŒÝZ–9%ùüm tû¾‘¥·“ËM<é©âÕÅ3™aSHÃÌš&@FþÄIëŒG†tbÐ K=¥lÂîœaÑ¢nZªÂv»au~ÆzuÎv³b»]³ÝlØíÚÞ‰f÷o7;6›¶É”qZ@d»kt`Úí¨»ÐJT†"ì6ktZ°\ ,Ó4±ùÿézÏfÙ¶ë<ï™a…;x#”H“"(˜–¥rÉe}µÿµ«\eÙ´$Ò`@ä‹NÚ±»W˜ÉÆœs­> wÕ½g‡îÕ+Œ<ÞñŽyÆØ6OÕ5HN±\×ek¸î„,!ú€Ï²­8ä’½Ý]^¡•­Vïã!”È`­m̉Pnz6ÉH©Ô”n³•…}jñõ¡–‡¤€bIõ’¥VRO~ÿò ×ã%dHz)1ªÕ¹/ßž{üÌó1ØŠ„ ‹W¨hÏò³^H+É!”|zî–—þÃJ©Î枡ޓ¬WªBjyY ¢kêüýÅŠWKŸê}+áÞzFT”¬”˜+ï–'u—÷úž¥„NN(ÿ@šA9´î«œx™ç‘yð~"Gðâ¤\ð>཈GV’‘2;+¨GöÀZ mŒàÑ[LÓ‚ iS‚Ùyާçĵ½Cë2\%_5|zÙóÕÅýi&äœNQйO±Ù^ŠÅ+qt¶dëÁŸ!8|ôÄj2žŸy.Gf¥Ð6»Ñ4\ÅÔU:ÒJ0Š•Z»èE–—_©ÅÊlD=¬ÊÛ‚‹wîq²P'•s™¥„[JXêZa,ÑÊžSº*TZLqõ=pqy éØ ¹…(†VŠ—û-_Ü\p?>gÙ––оU«’ƒÊ.r m–»gXª< ©ÀG‚ùу¬Â rP»6D+ù+¯­aÿ™Ð”וÖÓ&-0îü«â½VBu^N­ñÊâ]«ÏÈV;+Êًμ«ãæ‹’CO²œ›úèõ¾¤ó{P›œå&½¸Üuv ªxíú°RýöÌ£ç¬lÁrÎp–÷¬' ˱TJ"†@ÛhZÓ’’ŒŽJ~iÁà}N¦gÜ<1×PÉç|"Ï_dZkI11ŽÌ“Cm2m¢22\Æ”ç/÷éðtÄÅõÕÝ7b¼U w0#бÈù¶møâÙ%ß>Î8.-h†Œ}ZîBªœ<âfGÓutí… b YXó½×Ý4 Ñ°†¤´„oZÓ´-ûýŽýÅ…4+î¿ÐåFžÖÜlzžmnÇHŒº’>&òÊàÅJdAËyýpʬpdÅò«ŠT9X¼È’l/ÂUÀZhÓG‚¨Öœ&éÜôꬤø9‹­Ë¸åwë¾BÂÕêÈjýZÞ_·*w®“ÿÅÏægRò°b¡X{¯¤V¯ÏoJX.5[•Å“f¤qª¦©@)J5¥ ƒ ,'†TŸÊc©Æ˜Ü§âÌ5„‚T”%g°Ì´: ª€ òY+-1þ<3Ï#ÎÍxï3‚:Ã~r¥¨Þ÷O#÷î˜Ç‘~·£í[”Rx'=‹B©S ˆçf¬Qô}Ãf»áêú’¶µ„Ak´i‘°).ÿÛPBù}gy½ïùú~d )Iˆ¬ååò+‹W-p~À©º‰s J-}qÏÅk,ì\Õ¨³ÂyÞyê¤Øæ2áµÈ•ƒXµlõÖÖ¶*ÄÇVˆWýñaW–ö£òhú*×ë¡ÅÚ¯ýùÖá»"ÃòüqŠ1/u‘bº–*¨<ªRŽ•…:B¨]Ø”“g½D)Ä!dPf©¦˜•$ÔM)“ç³[éS©|ÙPÄ\ª[1ÊÑØ«'#u“4ÔrLsŸÀÍÞÏø¢Ù+{'½†”)xæqæøðD ‘ýå%í¶Gi•߈>fz$cpÎA”E;M+÷ÊÍŽyšq³$ôÍnÃ4N<Ü޳ۿ´[ ÐÝxÖ¹Eg-//{.Z¸†¹¢j—®n‘¢œræm‘’w-k¯b€b°Ï–”Wë_º¯åeÅåp¡Îäh‰*Œ©su +ï¥`5h@íÔ–¿*éG“dÙÌœÿ¤¤*L£n Ísíz¤Ó»„EKø)'©ó8«`¦1†\…‘š½ [iÈ:­šÒ%EKÕ:gK“T\VÄcgÝójRS"1zR Ää3”:€òù½yòÎtù¿FúT¯¥*_”0hzë°z&ù~ n…S¢ñÎ3#ó4ãÝ´4èœÇãi@‘0FSÀ»m47—4}G$7ˆçI®7W­T>¯”Áƒ:#l^ŽãC`ž<ã8£b±Ã(M 0=ÅC,.WJí7» ¯.¾º}d zá}*–ñã°C©%+«qÂbhÓÿOXÄâÒKÉr¿’Vò¦Šµ.ŠH UV¡A)ª¬»ÄõsV%Ç•õ¬¿­9QÉ?VV^%T*Vw) ,NÂU|¸xŸzýzùü¤d7xœ›˜ç#³ˆ1Stj)gš5l$ã¡R ç s(©Ì«PŒÖ¢´ªÞ+úŠÕCH¥§Îºòa¥H¦A(í1Ù:šZ¯.zŸ0*ÒÙ€‰Á „\nM$tþÑU)¥1¼'Ì3~šp³«ç˜’t±cJtÛ ¶m 1 ýþì„Þ&FÁ@9±‰U›{nžÑm#gSî}Ìt­ ©ä ܃q öÀÅJ1ämlËmK¯FîÏÔ@ [xö-uxU»ä«ÊR «þP‘–¯UÔ¿ iÖáMqJª¼¤Œ¡ª¥Põˆ=ŠÕ_Ö¨çÅS,‰ª¼JôI¾üMjâ:{¤T„}Õí*Ö³^CMŒÏNJ˜“ªažÀ’1MÄ8ÉÀ•Rè”]y4(móçK…¯Ü79bÆ×¦˜›ÓÅOgï§‚%Ÿ+pšý—k)X®º®9{r ‰fSú#«ŽzJ˜è›@¯¸Áx/^BkƒÉ ‘2ö­(nL1w­=JilÓ¦™iÇÓ´h­Å‹Œ“ä ÙØ… Þn1ˆËC”R­Ç‘0F†Ddš1D¶Û£ÁÏÍüˆ²#Ê <¨çTº~¤<ûl×sÕ+Þ>¸(^ÚÆò ÷Ê+¨rsËýÈ*WIK‹ÍÇÒa],X•¡UaH)áI*B·(ˆ*qÓbÙËïk裊_©B„@>—råpëφ³sú8@ZëzZýE©Ìôwö;ÎÇAk(ªr·_e¾%ƒÒÂŽ­A‚³OÎÿ¦Ä/¥0(¢lw-^‚ÂT®+ÕÏ≳rr—*Á꣊bÔHA©Šj(7MÅ@gg¶MĤ™àË<µÏãǢƻˆ›¤/‘b¬ä²S<'ý!0O#ÇØ«EãÁ1F`»©39²7Eåç#Cù2¤EVp©x)¶±4}KŒ‘Ù.¶=JÁt|B™†v¯Ñætƒ`¢l}ž—Û-/w[~ý枣Dvv6Ù:SB€(|ú|œÌVñ׫ÞEìW/ÀrãÌÍJ´JhS»ä+;_”£Zèü†:X¿Š±S ïUU‚¢hêìóñrP½VQÆD­U_+P9Xu\ŠõN»rÏ´Ò4¦!Ú )i”Þ2ýŠ^ÝgŠ@–ð­Í™qªÄ,V]Wå¢*J}~%ï@A–“Î –@‰ä^K£n ôéHšN҅θ·|.›ÊõŒãÈvé®ç\èÜùœMÎä²ë‚^ÿ^!l]â\ŽU®º|«¸6_W ?X:ëFgˆL }Äê§’ÔkJµ³Jø‰Rª*¸Ü‚|)-CAµ XŽ»811t9¤J‹²Ô¥+Ÿ5M¼cBÇHœÒ| †’Ôk,}“<Š“ Í3ÑͤP(ä<çäñ™ÓÏÂö'-¼”›åHBnÛf‘0k0M#¹œ–k.àÌÓ4Ñmö´½¬ÿfÏãÓ£:—³!ѧH³Ý ºˆ—XŒ{kz^?¿a¿yÃ<%lkûÜÕ´uJ¬\Ttià­ÄCeëU¥ÜÒE€UZÒÖaU@ÊKزÒ*y¸gPŠÕʮ·V’–—ïjòšj(´†a”«.p5¯^gå6ò±Å±}Ô‰,¡R«Yèå5´SP „Ê¡ÕòÚu¨ ì†EØ‹»Xšw˵êÊB}2õvT©êûÉÞ$"’üDt#a0Jr‰è}f|™zS1fª-ðÞ1OÑ ±Ùú–Æ¥I79¢ÒÄ”0Vrm3ãRª¡ªŠŒ˜rµ™ë] MÛ’ŽmcQ)ŠK»» ùG’½CYì(CH’p_pÑ]pŠ Ûwý2-V¡bÍ)ØÉ,x*U¡N*»øT„³XÀ,bOU¼C1èEÀ‹°ŸË¯Zÿ uWñ,k¥©f\ç\Óâ•]_¼S•*\Ö¹J‘ÌõûÎ"ÉòIÕÂ.Ö·*­Ò,“±«×ºýCNK[¯ªoA—û\îM¾ßeÔ´/¿vñ6+C±hÿÙ½W*wD?ý„ ލSž¥ÉLZ粬ä¥r½gž'Qžà‰Ñc¬&81p]×1ãáDJ »…ª{íB†,ÚÒÈ«Q…Š(PáA‰'šÇ¥Ã0 íÿVÖ{=<lj¦Ûp}Ó¡ÓÒTåëàr{ɳËgŒVamc«ט;©zêRY|ÊkÊ\tyЋŒ e@­J$^~ªâ»@ÌÏ~ò«TlÚê˜YxÔúgµò*g"x¦ê#Ã^Îw%)EMk\+¿¤dKîR®3kEU>]C£åãÊ}]oùÜÕPÂÌ|ܳeFåÜ ÆQùS<m>æ™Sà£ã­^P½„PȪ¬D!Ë^X!µŠBR°M1Rð?2 žÒ‚™‹)2O‘ãã ïݶÏÛ‡òµf2g˜°ÌKJä%’‚°ø,S.œ3 '0&Ã<ìö=Ÿ¾~J3œŽ Ç#»íÓÎ3‚:@ºÜnyý슃NX¥ ×E1¢¥±¥D+‹h¥ìº”<ä›.¢·F¯.ÂVl±F¼H=¢Z«Îzîa-`U¬ëY-ɺ"=|8‡ÁCÕ€lCýd¬§ æ >²úÛúK­Îqýs=rÍ…Ê{#p– —¿×ÏÎOZîÏÇ^J}|ŸêËJú®k ɳƒQ yg-ΕqP)üDœ…ÖR0W ï½(L6@*ƒôB9l’ÿ‚÷øY8ƒ×á›±†é4¢­aÓí°]#çQºð¬Ž1£¥Êp(Ë)ÉaSÌU°IÏX«¹¿{ÌÌ‚wooyvóŒýÅ%ÖhR˜4› L3@òõ¾¥=»ØðÍiÆ.Éa}‚‹PöB8Ãò$DZYpU›ÙêÁ­l¼¦„TœýmåfêÏ%b;û¾> †(f˜·”ek2ó{_&{m »« ´Ö3Ÿ]®ò)’Žh“ȬÂf•CuT ´VÄDô‰q˜ÑÚpÿp¢é;v}Ëíý#¿ÿý×|úú]kH)2#ÛidçÏï¨RtVCôØbu?~~å¾Öwe—8; }¨ ÜYáê)hÏlqÖIa¦Hgó°;?öò@ËyfLIfCRµƒ(-;•ÝUäÍ2¿WV9Ûí*ø+ïRÎ qfÅÓ¿ðš³ÓMçw¨^]ZÝÿjÅK°™ @yýÊÑ-»,ÒꊀŸÝöúÍÙ³©%{®r1rÃ-ÎÁÄ(ÉrááÕy×EÌIwRËÂIxeàˆ\¾ÕJãc¹‡¾'Å€;HùÔZÙ¬DX‡í(á“ÍçZÉã”Fé„6–óä™ç@ c-ó<ñöíö» Ýó=Å|¼ÃjMÓ8”IËÍIÂŒ›Ø´·ºQù¦ª¨29·`ú—G[PoýÚmVa­¡AyäTŽÌRc—ß[!ÿ*9N>zaÜHT÷!ͯ\©Èø›"EËm–Ÿ3H JUSB¹,UëÂYMdŠ ­“U0‹IäÕagRY•°^tñŸ%ÔPÅ‹¬~^ s*7®6PÒùg|²T¥“»³úí‚Ï*ÚZ<¼ ç<ã8’¦…À¶C>J ŒAv©K?Ë4­`¸t€ñ³¯ó©éåœ$ù½Ð I¹Ï4R†uN¸´ acªdL—PF Z@/Šê|àáéHŒ‘›ë^¼ø„N„i8!(Ú Eª½†;lt~qe¢>\Iޤkª3ä™IZBŽúUÂ)9V:/7¿°~g [Œõf‰âþ¿TÉ©¬ö!µâ9”ª,(ò@O9Æ"E—r¤>»îÒ¨¬ÇÊJRç´µ¡T²ä=q9gµô JX)Ê+TÛô2fzá,Š–S ”²’TÀªù™VùÈ겫¬¾_û£T”ð£PY~Š‹‡!Aœ )ƒò¢Œ -d¥7‘b¦Öl°„EÝàbÄ#nš„ðÌ(‚[° n–9lcL}¦ä0¬’t§HJº¤¸âÙSÊàÆ¬Ì ‘Ieiûm4Ã0âÇ« y~Åá80)i...é 2€¤<$ªËà™æ§áv<¨+‚?â|Š!‚Šù¼u%^ßÐR&-Ýà3·RL9¶LRÖ‹1ˆB¤”aŠr”d™xdg¨ÊaVtxBª¶pF‘oIæŒBè/Wµp hÎT)¬íâñ”TGD€‹·”㳉ͤmE)òû‹³[åR€h*AZZtb1.Y¹…onñåð±Æi+´n\*U¸™½Íòì":zb òÙ!ÉLF,{éª3Ò‚˜0Úˆ¬DiÎ ÆÉIã,È’±å ³$âÆ QrL ENÊ@Ã胄³Yö”Òøà1QžŠQžWcèw=—×ìöÜEaeNAU,™#‘XÛ U•íl…̗ͨ1+SYÊY¶æWU;CÙ“§$MañÔjÁsÕH.kSë”PáDT2»ü(LZ¶"\•v!ÞYž¹1VŒ‘sbý‘…žÎ•§”ÙÕ…‰=exG 9lÎÌáJòŠd<ªidçIè¼Ò•ì¹¾¹äå'ÏñÞsrަíØ]î(X0‚ƒßÿî[zÓ°{vÂnÊ?áãÈ··ßòÕ»7œÆöñþ-†„!¡RLA¬¢1 ­Œ|+ûæl“-5ÕêH0’P1`¢ÃęଆÍ~CßmˆNq8y¦ m}Yü—gbÌ7uQ†Oh„oµk,»MÏÅ®çųþè³ÏùüÅK.·{á £4]Û±ë:a,Ì[|&7sw8ðþážw÷üýÏÿ™¯Þ¼e þl•€ªXu ³fs¡Ëy–ÐFI–…Õ”} ÅSÔŒfÙʹ9%vÒ2¬ì²â Rcó5ÝX:‹µOYÉcJËžâjÔa)g²Ž öM::RîbK¨£ò9$Yü¤5Álg…À¸±t}12•m§²·˜a81e…m,Ê𮕰)?÷::¼„í(bðx',†˜ÙÁe‚£hÃÕõž®k˜ó\ÆfÓóìÙJA×µl6!/‰y|x`îéö'”ÙÂÀ»‡·üão~ÅûÃIP²O··´Úè§#§Ã#>xšmO·ßÓnv4}GÓ ›vKÓth¨Ëú¢ŒÇóp¢ÕVEŽ··Œ§#7{^~ö)Ïž½ffâéi$dJ™þ,‰vö ºÆÒwÛMÏn³år·çærÏëgÏx~}ÅÍ寮Ÿ³ï7yJª„-¥º\F.PnÍ¦í¸ØìøôÙsŽÃÀu×󫛯¸=øæÝ{ÞÞ>àb­ˆ¦,¥,ö;‡+Z¯¥ç,R¨ÅêDp •õBž\ãûR¨ÙÀ"•”Nç°3e¸ö’…3Œ)|¼%ZUK ?×ñk‘#‡x罪÷Ô½$LŠXèhˆÑãf‰<ÜC §b04M#žÜIZ½#dO‰áé‰áþˆ›flßÒneÓ‘Î|O©€rwŠ×óˆOo¥he²WN«Ç™išiš†Í¦c¿Û"!xd»Ý²¹¾¤3о1¸ Ä(“ãç_¿åWïÌzGÛ+ìðø$‰ÕéÀé§'¢Št—[ö—è« n^]óÅ‹—\Ý\òúõ'Ü\>#zx÷á=ß~ûï¾»e¼û€v3ݾ#:Çt82M3W× ã#Ö|ñâ’ýfÏqˆÌÁ£µŒJT 㮯÷|ñúŸ½|ɳËK.¶;ö› »¾cÛõ´Ö M¢Ñ ™+ƒ,ýóN>@:fAØ-F+Œni­åßþéŸñ§?øÇqà׿ÿ=÷ÓŸóííoïnñABˆ%´)y5”'¹W :ɉ?1+IÒRß±ûURõµú–” ÉÖ> I"/•¥ˆF“´&¥œ ­j²%%¯ Ê:I¥¥o°~VµÆZ&éÚŽÔt¸ñÈtœaFÆÚܽ–ërN<µN‰é40 c]ìè':Ï|™ƒ£Žñ0qìŽlv=M'º8(dñÈ! L)˜$BÒdmL ç­mñ1±ëZž=¿a»Ûpx:0œFn¹çùÕž‹gW\^_Óv× Z|øp<ñÕ}àÈíV°Ìv×7tH=ÁíñJ3ùç"añ:1[Oº¶\=kø¤Ÿyu9>9><½Çݽ…Ó={=Ñ_[®n¶„ذß]c÷;>ýì9Ï.÷(“øôóp¹ÿ”Ó9#Q%öý£ ‡'’J<»¾â“gϹÞíi›£t†G» XLÄ4“R5¢È"à žˆáƒ„_F±ÌÕŠwÚv›¶çæâŠ—7|ùú3~óÍ×üïÿ÷ßðæñ O$ÖæxJ¸T«TY¨õBÎ\”µ0‰Wã’×ׯ¼·TçX)GB6Ž.‰sY(¹JÙ…½¬[sâBÎA LÔùy*UB7j¾¡2“bÃqĹ{|HµTì\^¨’ÿP %náx$8'ÇOQ*M!ä‚0¨¤ñÃÌ< $}ÂÝì¸x¶—!$ˆ•ѧ ï/˜ð¼}vvÛÉ ‡‰yv„”hÚç<§ã€M‰ë]Ïîâ†Íõ¡LÏq<ðÕí‰Çy‹i÷4ˆ`wVñôî‘ñé ?;’Òôû=]oPnbFUà·¿ò<¼{Çïñ6mÇé8ñæý£sXkèÍåæ‚ýGßã“/þŒß}{Ç?üô§üôoÿAö¢m[î¿÷5ÿáßÿÏüè‡ÿZw$Àæ‘ãIk4¶`^(åIxH²#™‰”™±Ö¢TÒ8Â&[çÇ,0e>·‘²'†m¿áŸ~Æ«g7¼~~ÃO~ýkþþW¿ãþ4ËQÅ_ˆR½ÏJ×V7×Õ!Sü(Ì ¸,2 ] Y«¡ÂLrcp!‡[>«,†)äÖb¿êp%+^‰Z•¥(áVMò5wÒ Tr$§X?CIÑA(+´NB"zéL´”"~òYá ))´iP6¡ò¾‰iœ™B§D¿i J#!!‘Nš¤4Q ˆÊ+HIͦaæí×ï°æ=ÓiÌḣé Ïn®P€'..v¼øäûçϱf#ïŸf¾» L¡ùˆ)`ß}õ{>|ý†ããyQFÑí:^ö‚ë‹ç§ÑqúnæÛ¯=M¦^ .R¢í-W×{´î9~þÓâ~ò3~ó›÷|ûÍ{¼Ÿi{ËÅerGþì_}þ“?gÓ]ȃ‹“ˆ©‰Ä4RúKŒsv˜ð(%«£bò¨$7P–œDR˜ðî¥Á6ÊîQj‹`îAu ®pBÈ Ò"`ûÍ–?ýÁs}yIñ³oÞp P¤B×£aNYàu.§…é{èõï²@ëun’›Z%w‰°4!Ï»x£¢ ³¦j¾“V¯ò†U©Ö¨ ¶Kõ³+%7ÁX)lõrÉÓØ-qv¼}| NGH\e !%¢›™ON>#F ŸæPÏ͇Æb6=ÉX´uÁO §™Ó<³ß·ÜÜ\ÐöJ áCô¹B˜g¶›^8ª¢‹œÆ~ô4Åó4Òõ=)z6ÛŽÖ.÷ö›–mßÒ4m-!Î|xtüâë;Þ?Ì¥T$†‘ègìÕg_p<ÇÓŒ î82Žùé¾÷‚Ëç7ø§ÇnÈo2º–õl£ˆJ”fòŠßþîž÷onÂósy±ãêzÏ÷þä þãú÷üå_ý5]ÛÖGœÒDŒ>Dœ»Ç4y.9)Æñ ÚN„·±­¤\~Fiš6Çì18æéž¦ëHÈviÐøœs¸"fùóCþ V7¼ººá?þÕøäõ~ñæž7OSÙ/›-óZ%ºÊYuµ»úÌ3Ô:€Ä'0d©8)¥j¥©ô>´ÎTŽ”d¸üªêEqÔ²'£x¥3Œ#fá/ú%‹©yFͶWÇ×…Œz·§5ŠÃ»·¦qvæ$\?{ÆÓHð>{¬L<áJkLˆ4m`F`$(…ÝÎRHl•¥Ûïè7Œ¼Î3Þ!üR>ï™È9Ê|œ™F'ån•Øô3'!d¾%ÒYÃó« ~øýOÙozÆÃ‰ FÏ4y~óÝ~óíNû£ÍæÙ+žï-‡w·|û«ßq÷æ;Zehw{tc §7æ)H‰ÏBÓ ˇHº=lwž5´-Ÿ~öœýøÇ|ñý?æ‡ö§¼~½ÇšDJeÀFjÉÎÍ ã@d’ó»Û;Љ‹Ë=Zk†tW]gitÇ8ˆq¦iT.ÜDHcîÿi0½<ôð&ˆÇ åœkÎRÖÐ4>ñšËý%}ÿ†øÕ;î§H`©-ɶ®V¶ÄÌ:‰@K7ºÊn}o2‹BÔWd¡%”IQ!ƒ(ÂZ’u´(böÔcæ45϶F¯“ýU.ÿ*ù^õgvϹ~ýæÃ#Ãìa&)s½j±dV?ÓXÚm‡m[¦Á1« 5ktc$ln[ŒÄ„h-Ëá‹õ7yæAˉÛaž»÷GO£ô¬¬bè,M§iZClnžùðî_ÿökþøûŸq}±Å6Ÿ"ÇáÄ/ß¼ãoÿé+¾»{btŽ1Ì„y”qØÍõ+vW/xùÅpÇgŸý–ßýì§ÌOïQfÃp˜˜Ç ó²n­±Å¶°HÏïã0a\ß\ðòæ%¯_\òã¿þ1ÿîú_¹ºþ<>üš‡»ï°zÇfsMŒŽ”F©#C">FŽÙÍøœg8™RNTIÑw ΠܾKL3——»L¢DŒmPºÑO眼%à ¡SÜ r%«²¥ÜÐêij擋ŽHà5ñl(g#PÇKI¶,ã k9Oä«õZ¨Æº C©Œ"uiLU°µPç¿Õפå/JɱR¬UªRhH…—*—,ëW¦ë\úEÙ+é–ËWŸs|øÀp|"¹«ÁM¸ùˆ›K8%‰w"ÛKhÛFöË… ^<%”tº¾•2¯„õƒà˜†‘ÓÓÀxš &šF”z-ѽÌUÄHHšØd¾Y¥ð|€y¼{wÏ?ÿâ+´1\_ï1Ý–¯ÞÞñ_ò3~ùÕ[†yZÇe¶Ül¿¹›t»Ä]Üðò‹Ï¸ÿú×|øí/x÷í·Xè;ÁãØÖ°¹ØÐõ=aöœŽG¬U4FÑZÅ÷¿xÎ_þè_óÃþ€/¿÷.®®ÑÚÊ`J4 §‰y mŸ‡{Rš0ÖsÞ (e‰4ÎyII¨0ú¶!DÏÝý‡Ó‘¦ÑÌ>Òµ !&ðA’EãQÉ¡p`[±¬i€4åªHƒ¡pI‰WÑ6–Ïž?Ã'ËnñGS¥Qʯ+«ÐAÉ¿¨ÕŒúZ\kH´LÐ.)•{ «Ö÷”„½¾ÅBâ˜g¦×Uª”›£"Õ”FdÁ¢Å î}F¤š“¤‚?+ dR$jÍþåk¦á‘Ãî)O×%Ü4e¦Ž%ïò!fW4]‹óã „ˆV–ÝåDt3Ñ{´÷LOG¦”˜FÇ48‚ÏÝs#á\p0E¬Qìw-ÁGŒR²²~¬ÛÐn¶4݆§Ó̇»Ï_¿bˆ‰¿ýÇŸñ?û9÷‡“nR”ûŸ@E-ZÛŠ5-°…¶iØo[.:xüækŽO#»­Æî{´†vÓ±¿¹ m{æaÙï;>ù䟼¼á¯ü§üè¯þ‚›çŸÐ6–ólÐȘçGÆ¡ãîö->:®¯oð!1Œ#ÆÊz0¡Cô Ã*²Ùm˜ó:YeÿÁñxDkÕFTPLÓŒU‰äm'˜Y”©DR¦dO³$ájµAfvAòŒZïÙö>½»ãÀazâÑBm`.¸ÿ‚«›rx“YªB97©_àWÈe$÷V«g’}@,–•«¾tSY²gFñ•RˆÙ–1‡BgŠ‘%<*X$ =~¸Â=ü4a›F Ú“xb“;î¤Ä4ʼDÛõ4mC˜ƒl+Jefv~Gœ&†Ç#ɦã1á\$ù„A±2ª-(c5ûMC×õ2ÁçͦÅtV:êÛ WÏ®ùþ>ç‡ò%¯_?ãÕ'/¸|þ’_üîk~òÿÌÛ72jCåsVhù4H™K–”ïYJ‚] ŽèF..{^úâ„m º3l.wl/vìv[”ÛàÇ–ë›-üÃÏùþ—_òƒïNßöXsIRšñøkÐ[ÆáNyb¿ãÃûwh«é· Ãi Ý´´Jã½gžã4ÑuÒ,šÝæa$.Dº®A9Oㄹ.GkÄs‘¼üÝhtKÁ3Äô$-Ò³:´²ì7Ÿß\ðîñÄñaÆç©·ZrƒÊRÊ›!Uæ UM~ñ‹ba_B©$´õÈÆÎTþ‹kèF®ÒÅbísy4zR˜åzI™¥EHî¤ÁIq&¸ „!<GÊ`¼úYÉC,£€>àiz… Ñ÷ÄàpóÌ4ÌË-Ì*æ}ÝF ª±l)_ݦgÚt’»H ® ¬R(#…Û•R‰vkÙ]îÙn·ÄG‡íL+HÙ‹«+¾÷ƒ/ùñ_ÿ9ÿêO¾d³íˆÚðí»þþŸ~Íwoï˜FWÉ4d€©Te.Ôª¸t6ìñãéøH×*^ö‚Óᢣi-›í–ÍnÃgŸ½àó—Wï±:ñüůž_£"ïi7/è·/HÉüÌäg¾{ó-!M áîî‰Ç§'.o.p>0 #ÇÓ eÄÝOóœ±ó‚‹×ó$Ö…÷Ù Œyž'\Ûæ‰àÕô­¥k4ÑO¤mGÓZl×£š‚ïV¢%1Ç'*õIBªUIÓèž›ýŽç›†oÞßá\Êôò¬B„Y¯W%«L_³‚¢—…ô…ln ¨ YÑ*m~Àǘ “}.…ÊrÅ}æ`ò¤˜ÑÏ¢ì™ËËØF,`®ÈÉÝŒŸG|æ…•MCBnBŠ„¥"Vr­46Xmße3Gïc®øÉÚ®„t¾CÆ+%ì±]'M7¥‰>Òô=Æ’„a+9ˈò–‰bA×[lg±­¡M`›Ûµìö|öù§ü›ý9ù—Á‹—Ž'~ö«¯ùÿñ—üó¯¾âx3{ûâăÌ4 æ±*ET 'ÜxÀϪQì®ö€#Ì#ý¶§ßl躎gÏ.øïü§\o®ž¤èè·[bJ ÃÄ0ÜÓm^b›óôÈ»wïøæ»7tËiœy÷þ<Û«=³s<<ÞQ ãÄ0ÎÌ™E:ÅÄáxbó⎔˜&Çä¤HÛh|ßñt/Œ?à)ê IDAT›¾ej-­5Dß‹ûmL¾»Å4[‰MHfR: ЏpH¥) ²”…úFsÑ‚šò'B¯jBJ„¾àœ”6¢«ðE)#Ô¤Å[e¥*Ü€1åçàs8ƒTFb˜‰^þMÁ£AŽNœ ÐëàgRœdÃÒ“åõFr›:ùy®¬}Ó4×õ½¾-ʪj>SиÖXZÛÐ6-m»¡Ûmóª.ªÇ)ìå¶m„ßužQ)bt­Å´)*bHlö;!¥™\ŒD/õ -ÍÊüË’úØ®¥í;¶;>ùä%ÿö¯þ;~üãñâå Ã|âç¿þ†ÿü7?áW¿ù†Ã)?;UÀ TE¡2a‡ÂOo³RÈüA§~z"1Ón:̶•%6qñ슦´b·éøôóàFÍÓíWŒó¬A¡eC $,ï?<ò›ßþž÷ØA–‡Ÿ†‘ÝÅ–|¸»Ã‡€Ò–§§£Œ1æDóéñQðöAö<ŒÓ$LpN^ÓZÍáñ€ÑÐg’ÝZÔ¶g0Î3y”™°Á£ìeÛܦH¤9‡JCS–z)몈­iu îÞáSÈJQú˨®ÌOä]º(Ka”A)›ÿ^è÷K2ˆU Ñ;b*Þa–]Ô~&zGʳҲ FºÇª$ÏqMZ&–×X+”ÿ¨>eöÜ#Ps€9€÷½„ÑJ¯¼`”ñ^ Oˆ0Gñoö;RJ Ç>F´µÃ7†”ÓiÌšR4ÖÐ4–ÐâfC¸ºÄnz¦ÓˆÕk—8_"ååõZ@ÛFcdš'0ЦiÙ]^ðå÷>áG?úWü‡ÿðo¸y¹çÍû7üôç¿áoòÏüê·_s¦šªºÔ¦Ðþ—K%ºµ§»ßV\OÓYtÓâç1:´•îfÛwXãé÷;´‘²Ú8#èŽ~»çøðŽaºÃn{Yäg¤Ó¬L“Ž(œW<¸à±­e§5 íÄnŸg†ã€›gP‰iv8çéúžyr<=>2£ ZŒSŠ4åâb‡Oà# @3ºÇ‰%>ï»›@iá`œ%…‘äFTãá>›)]â¾1(wätû5sœ—¤º0›d—¬Ô¢²1vÙ;¡Œ­0r@ZðQK‚²7È•EI‚¬»JAzEiµ:«€AI‚¯J! ¶$3 Z¡WóçeÔÊjn»¤“l°€…D,]²'#„!½(–›-ÖXlײaÇï0Vf/$áƲÛo0VßMÛ÷¤i7x÷Vz Êèì™ruH§:;b2QZÊž¨íz^¼¸æßüÅó?þ»?çÓÏoøîý-÷?çoþË?ñíw3oT™¯H9ÉQ¥Ð&³ò {¼ýª ·»=ÝþR¬Tð9±K(%k]½óøAª Êøåó-Ÿ¾ø’—Ͼ@)±L³÷DdqGJ£ Ïž_Ô÷˜Bä·¿û Á 8OïxùªÇ9Ç<9N§Ó4K‡hûŽÙ9žž¸¿¿#„€iº¶“¦‘i¤T›Ãè2Þ^RÂ…†[”†¶µ{Þä”àlPá(A«²YâËŒ°¡mZtˆŒ îTêDTcšxK»¸|“¿ÏIfñ9ÿÐ9^–P1æÄ6J¶dÅe+ *µ×\š%•É»\žÍÿÆÒ½Î•¬u(c¬S‹u.> r"æžIÊa™LßU̗ѨYâ­4m× Ü_ï…`9‡8e7^ðMV c… ÐDE·éé¶üņ®·l/·ôÛ m×¼g<…@!ÿ”í$HÊ€—y‰g×{þø{¯yõú%oÞ~à¿üÝ/ùÛŸü’ïÞÜá¼ìä+**Ä 1 ‘(³æäéÍöpûNø|µ¦±Š´Ù.£¡ÞeÚÃk4O·Þ|{ËpØmÁ?~ÇÎÀÿòŸþ7lÛ2ºÀãÓ#}o麖x ¼~yÅ<ÉÃ÷Þ ©.žÍ¦#†Èéxb&ǘÖºN÷ÆaÆXC£ ¦±4ô%N£@¬ṶŇ€Ïù‡–CE‡ïZöÛN:¤MKÂ0O9$!aí€ÑM›,‚¬i×¶ômGt‘ù4‘ðJ”˱µKWºÐ*§ «I>TmÒi½Œ“V"†ü^¡½”½Ð‰Xû7•Ý0+_ˆ§LUI’®™(EQ˜Xóƒò_ñ1‰7ñÞçD[*a*Is/äp+äiÉê‹2#èT×õl¶;š~ƒö³”«S"hW+XM×a›m䜻MÇ‹/^sq½¥ß6ô»-×\\îˆÞóx{ÏãÝ£4n#%àqò §™¦mÙm[®¯.Íþ¿~Âûûßñîö‰VË6Õ•r/)%H:’L2Sùþ¦„GÒ`19ä’w7 87²Ûn .qÿîžÇ·Ð¤#_}õ;ŽÃ14¼½½çîéžg/.x®™æLJ'ÆÓÏ_½âÕËK^¿~Áíí-“Ÿ¡1„9‡¼ÔO¶üt}—gÁˆØÓ 6j&ÜìemmЦµu³æ<ÍL}æµÌ}Cò=ì6²ÃÍ”å$!Oy)Nã„­R˜¦G„‚2(i¬XùàãbÕKù¨Â,X~'ésNX+³…šóóL‘ñRd ¡Ny?unÊ•)ÉÃS¨jÕÂ-¹„÷‘…!– Wžª,Í8U’Y-1vÞ‘'û&ÈÉ?µ<Ã*DËØ¯ !Î_)E¦0‘¼¢Ùth ¶íéÛN‚°à¹¼Ú³¿Øá½x²àý¦åÕ—Ÿ2œ.%ä‚1mÙ\li·{.^äÊc’ë˜æ ÿD5Ö6l·=›MÏ7ß¼åïþŸ‘<§Q3>( ̘¯%¦eò2[¬Ÿs•¶¹2R ‚1rÞg«]»eqÁáî 7Ï4½Lç=Üà»oîøå/El`{Õ3ûÈû·¼ÿîŠnÓÐn/ùäÓkîî_ðíwoñ!r&ÙáQZÑumg¥dÊXLëiúN±Jf‡Ó‰"Ú.L: åC0ZÑzß0…À#Ö’š+-ޱ7z¦ã€5ÐoÊÐô6h°Öðüùs.ö—|¸½Å{Aé*MåË¥Ôò‹bÔ;YþWJ³ Vi ÷”Yʵ:‡^R’ÎèÊ ‰Rá‹Êìe©»™Å[‚Îõ3 BFð²’Kë¼,,ã°p4¥œè’™5R•SéiT1IUþ®à<1*šVšia™ÝLß¶›žÇ‡cÝ~}àòÙ%³wLã,£Ê§™ñäéû†®oeSÑfƒUŠÃý=ÃqÂϱ }Ó6Ø®åîëoyxˆ˜B9?µŠ\C¨«,¶ÁЙØ\ª ”á2ÁpÐÊÐïÚ^,üåÍž—¯?çÍ›GþŸ¿ù;¾{¸ãÙëÆÉñtyóÝ-o¿ù–Ít“èwF¯?Îa¹»àt¡•TB^UTh»†›ç×(¥„~}œAÆq’Ö~J4mK×Z¬Q4VÓ¶VúV“f˜=fœ„ì7EZc°FcŒTPšÆó :Pdö¢£m /_=çòê ’ÆÏR2ÍÅ{…›Hnéí•å$•¸,-J!†+»î\©* åßçÓIe´¬E³ÊÈ,7‹b¤˜À§LóS’n]s–²óHWåͰwDHÊ2Ç¢˜’ؼ*£-Ö°¹H —´½¬  †ñxâþÝ-Ï_¾dž§ªyü4²iŸÓËÑ”>‘›=ÁG†aÆhÍvÓ¡S`8œp“…òÖÔ„±2aS¤nsZAåå¬d9gºÔE¦ehI‰ç°Þ{´µØ®Á¶m .¤Eý½ŒÃ‰nÓrù|‹NŠ?úá÷¸¹ù”Ÿýägüâ7¿Co[.Sbš=î|øî=>Ür¹·4½Å½ûÀ#¯^|ÉÅÅï?<1LRjÔ:Ñ6R®3¹¹#à1E¿Ý°Ýíèúžiœ9¦É1Ï5ÖÚÊna2[uåLR=qs`¶‘qò4^ÍtÖŠ2Ä€±b•´i@ aƒ€‹à A:æF10¥»œ«èDe8)pŠÜŒ ùûlx©—J?Ö©dJß/— WV­æŠÆZ:Û`T¦ÐÉ–N%A£u")I uþpRVºò¤Ç¡•(y©<•\§f3]5 !¯‡PyN¨æFrÙM+QÈáéÄÝíœ#ζáb×r:X¥&–-*¹QÄ(ÁÚ•¢…Õ†a<ƒÃOÍn{Iqá³V‹"Wã¨ÿ,<„EbЍ¤°1¥¼DJ„ÄD QflCY$'¬Ùî,—WÏé7=ûßþ+?ùo?å0\í”VÌ!ñþýw÷O £åˆo>Ðï7ì/÷4Vóüù oß=F‹7†¶Q(¦µ¤¤™'Oˆ2à≤„cšfž¸¿ÌLs £¶±ô]Cß·ù¿&»þ†Övئ© '÷DbBG•QïM—™:‚'™¥;`KÛöDgxº{b'¼µ ‹–›©t)UuM6¥‡s¤ yR±þ!úUE5£Pöû š„U¦2x$Q4M¢±ª®íUh´ÍbœifZžÂ§•=µ=EÔ Š¿H+ö’œ¥Œ®Õ’‹FUAîKI9æÚ^áàÎ žRÄX £¼›¹÷ûÛ[¦É|àåÕŽÏ^½æáþ¾(ÖJV¾qÎÓ#¥B¤œ>'TtÜÝÞòôðµìYQªØŠ4.3îävD¬ÊkÕ°@ÿ!••ÁR‡&„\\ÑͨÜnWÂÞqNhQÊóþÿ…à!!„T)s§‡#ÇÇï¾}‹Ò‘›{lßqÙlÙ´[¦a`³{Æç_¾æ÷ß¼ãî~b˜F'öWìö8ó*Ù€5жiÐÆÐõÛ‹=»Ù X0ßà‡ãÈé4Òµ–í¶ãâbƒJThÕ³éd-T2dÖá…róŒŠ0Ï=(R³3´tC×]óù_òòõ+Ô/~.˜¤LgS‰$U«{'¥áRô/|ZRóÏM¤(ÌÞ!Æ\:—ÂXhFÙ„mŒ ì+MòI0R*¢µ”Ì oÕ²¯XùÒHÐJH‡@V¢ÊЕ¬"ÐYŠT®p¥\"Ö ":iLÌý¥ÈsG”ZM"EÅ49š$óÒ²GÂá'Ç|qóüšëg×ì/d±†ÕŠmßáf©4íö{fp.2Ïmg±›ô'œlæF‡5šÆhŒî)1…ˆž½ÌjOR‰®i(Cþ1øÙç™nÓÓv ¥”#%‡1Qz6ZhåS6G¥'QJª¾TÍVŠ øŸå T+ž*êL£0üĽi¬­ëš–u½Í×1f·º½OGq ЂA‚(R„`“ –I%ÄŽ€‰!¨Á¢A!&*&þà¦0¢JQe5œ:Ý>çì½W;›Ñ|íÛùãy¿1WUNŠ:Å!~ÉÚkïµ×œk¬1Þæyîû~îÛ`Ôê%‡ÒÊ¢«!“<Œ&’$:K+LÌš%-õü¹×YOí\K¤¤{?oB~5ˆrGÅ‚³’»Z+¹Y•B+ƒÑFRŒt.ðrÓ*)NyžÃ;ʺ¢j;æÑ6TuM8±í*^|æwû=§af,®}Å L·wŒ[Zü,)HÓ©‡8¾ùé-ÁLLNŸMäÎ?Xÿ¾ç»(¿î<¥(Ö‡ˆ úÜ®/êQ¢ ÍgT²Q¬5gD$„ L(à½gìGbH8úà=Emäª 0ΑãþÄápĘ[ž½è¹yö‚§Ü?ÌóB?ÌŸ¾ãx蹺¾ Û´´mEYm(‹ ç#>zÚ¶åt‡‘ÞX«)«k-Ö¨YB7Àu뜣© *kqΓBd»m¨ëSlY`”]„#ð8g! ³w‚ÄÙ¼)ÒÙ.33¿Éãâ#vΆË=ŸJš³q§";åA‘7f¬b>qó¦PcVy„¡0&ßHéÜœ'^A“ôÚåç¦þ\[§õ6ÈNxïäÌM<û¸ ‘TÊCвyõº9r.ž^»Ž¤ß[¾ÙÄ.ýi(»{QFc«’¢,xöÁs>üÜgøòGŸ2ûx.k{ AUµpDx·dÓ‚~&y‘¬/!ñúöžÞEé#×;"bg§ÄÇ2êý?MæËå½°Ñ'¢M¬’€D<;µ‰c\Vô§ˆ2B†¬Y«ÍaLï§CÏé4ž¯~Eb'Æqáa¢®àþáÄñx"E±¹§…§|†v×qêkE/¨ÃÃT¨D:QU Ei† ï=ÆŠOÏH”S}òÆ8×ö$Ÿˆ©Ò˜²¤Ù¶à'®®.èÚ†yYp!â µZku^·ë{t>°Î£Š1s3`ÏöŠY-õÏk<’˜Ùj£‰)#%Y”ƒüÎàÄÿ@[EA LãDL%‡}Ï8GÊr"ùE!懇·|‹ë§7E%<‚˜² ÅâÇC- EY‘’p$˼ˆn?ʲ@Ó8àœ#TžX­·V“ÐĤð!‰5OYP¶µ4¼Þ3 ã8SØžMÑBY`ŠT$xÇá¸gœ’ʸgýSžSˆž">³À¬ìpî!¬É°±}´¿Y¯saÍäZÝRîÍÇšÊPoÞµK?Ï$áü‘çÏN>g•ËôõäÍš'8Kêó#’¥hê‚iQÌ“Ï6?¹TTêü{Ö׸ÖϱËÉÏy‡s3)zªLÈõ§‘Ýå ÖÖ„!C¢²sÖÉDd„¬ öXki6L€ª…>|Îf³‘ym¬såC’Ã%fWÄ÷oGAÍd³È¨²t6D㼚ßj+/,®²äð.ÆHpïÝ9:öl»äQO¯ J(eX&ɾЅ#DÃ2gƒ\%È„ÊæwGæias±ÅæØW¥%A+13ú‘ÝÖS”B"9˜G¡ÿɵ¹H0´ù6Xåó<* û­ü>®WR&UI ‚èkœó2yeŠ<ŵ­?:ÈIý(µ¤‹;kØ… ñ=Á\>=³þ~Y1Ešº&&á ¤A•°òè'§Q ÁуÀ½MÝBz /Á’ÈRE(>«%eUf§‡…º*i.7ÆÈ(QTL‹Ï)9”B¤,Kñ òï' ëXÜÌ8â´Í 0Èí¾6ub+QA2(Èï_Š %ž v²›X™V¸ôüá¤D²2w–¯oŠÙTèçxÕæ+ ¨ ú~wí³Mÿ{-D^àZ‹cxJË{lt.A¯Õùf8ß0¹·ÐyqÉÇŽ˜_[vd ­4EÁ89L!îåZ[´ÿÖ”‘°5Sï쯛{G•d£Ú²Å*ErkÄÒßÞË:“ÍðsºéóFÈûâ X?·\ž­ù‹Ö{išæia™š²Î76Ò`r†jóDZž ™ÇO^š-ó@iqí¶™pKHý»L ) kI^‰G—€rŸÇKAjü¦k©ª’ežÅú=iæia'–%2 #ÃÐçqBùúe!… Í*ŒmØ]m)­eFîn÷„๼ÚÑ5 Ú` ±È4Æà“ø›–ùCNB޼ŠjuOY¢ Ñ?ÆæÊüƒ”’fÕË!r®Ez|_×¹Ës{r†ò‡$«Øhá'|¤¤]EyÚèœ8$Ÿ‘ó Mס&ß¹I×êFxYì1<*Î3+s•slBÞVS:o†Uœ˜eS¬Ytç9÷6!& cp!ßkŒÄeüÛÌŒ¬%Û¹tƒd­o™dTÈP’±V\ óÄá{ÇÌzýžy¹Rþ«>nˆ¼‹°Ëâ1Q‰¿ÿ4»˜'Ç´øv¦$¡~Þç:=ä=ý"¿N~ÑZ«³ÀÍ–¶7yÜ4£­Ê pKÄ;ù°cJ„,îŠ1 T,\ØA ~I çÓèO#Ó0ähZƒŸæy&,3nªº±¨ë-›‹Ž¶m¸{{ËÝýQæÈ›«E8RzL1ªKP¢ÓÆbŠïww·ì8¿œÑ¯ÞG‚ x'äeÌ‘¹J‰úv3V¢Ñ´^åsù@M+g¡Î(“1ZÀ\¾lÒz;Ä÷ú òÁ“ÿL`Ýâ †~äx<²Ým°Ú  +§^X¤9Íø¹yMœYìõ’JJ>%¥µˆ óMᦿø,/¤‰2€î—SX´Ò„aIr‚©ëRN-õ»sevLÃ$Ê]Íy¬18/3˂҉¢ÔÔmIU\ì.Ù]îx¸»cYâçÕ E楉1°G)§R@YË9n×dÓ­˜¹ò‘eœ™ÇALt‘n‘¨¨õ T$LªDÃâ*8ÀX[’D‡umAš&) IDAT׈?‰˜n8(Ĭl¡¬ ¼«^æ½OÇcÅ_h&6ÛÍÙÍnšg9uJ#Ó{1±øÀi 0‰M[fäÍããļŒ8/hœ÷1oˆp÷s­DVéB£ %*q]~¬Ö¥­"b‡“EO‘qž)ŠRJ|„,ÍÈýõÚ¢ ‹žû²W3¹MBð”EÁBµëÉ‚xIi"ê†Úhꦔò;÷\›Í›¶¦0š%<îÙsÍÊrʳ*ShЦ¢ëJ¶\PŠ‹Ý–'7ŽN¡lÊï‹‘iL“$dÞã<‹Àíeih7%>ÎXç‚ðµ.râÄþÝ=7WÚ>²¶1_¼!ä,3©©•QÙ*)SéˆÎç¯Ìã,ò+bé%&ÆUÙ)n~ˆÎ3‡Ìƒ/Z[±,ŽÓ±W‘Ò32O<~I´D î6ÔyÛÍÁ¦aF‘›ôa¤í:V£±º.éº ”1Ž=S?’‚ãê¢6cIIñðpà›ßú„‡ýƒ«ž)¿«Úêlm³fk°ê,µN:É\.©µé;í›"A6™öÒÅ(³èI´aÂŽBˆ¥”ÙÚt²²âùÏð.дõ¹Ä]Ñ¡GóšÕ¯#W]|ßä )‡ÎÞ_øï]5+y·E­‹OÉOTÄýj#'øp:`ƒ'¸™¦iyúô ûÍOP>É­cæ {­• UZïUJx?“êšÓñŽÂx>÷¹g¼<|„K‚fÙBc:wP«9N°:Æ'‡ã@×|ø¹'˜—÷X•¯©a ï^ÝòìÅ.//…sP‚ȬQ­bdà…da]ˆA”‰n™´En|äj>± ó4å\jWŠåFÖ£uÂÚ+´©pÎs: XãX¦À<ÏÄÅíÜH}9kq•¨š2ß~.÷B²Àb€±ŸÞ¡T„è*Qž¾9 ŒýÀõ͎ݶâp80»',>òÑGßâ+_ùˆÓiÓZÉ`жyPe?ÈMõº(´Y•ªùœ:â¹Ö~Ÿ¨SRz‰5Ðc^E©L)QZ1QZ‹ñÇA UžžDea‚¨0JÓ¶ó²Èm’{R:Kxd-ç®!="¼)3ò«„lâ|þº\"«üBÏüÀÚx¯Mx¶«Q¼_8í”É3 ØBñüùý"t42Qf‘ Õµä6¥¥*T+´]L#~œ(„÷G^|øŒê+ß$øÄâij¬ ¶Ô¢®õ‘i\H)a‹ì®’Ueé6–®-°ÉcW @ ‰ÃýwoïØì¶PLYb‚Lž•UIôÅ"]ÿ~…UÖ´‚¨™§ÀþîHÿ¬§ª LUÂ2ƒ‘ƦíZšÓ±'Ìc ³_Ä<—šÆ”y,T£¢Ê¥ÇO )I‘R ¿žãáDÝvøeÙ¯[ .0V1œzš®ÂV–e‘Z[œíB¾òEDƒÇ„ íjE±)(Š?OgXQk ÑãæÀxè™Æï‰‹› ž¼H¤è°Fq}}ÁfÛ2û…Ó8àcÀÚœHÊûòï|â›Gì}­‹Cúg]øëæ åÓW¯%}þñ¨…:Ÿê1ODD(‹·,¸ÅåE.7A.ÂèPJ‚,CF}“0RHY®~N´Žíj#I¤!‚в±ŠR -]Xž?»fžfîï{´.P$¦y97ê¥Õ㿘Rò#†ÓÌ2즡®[´.dr1ó ël) !‚óžSxõú-›®¡Ù5ôã€O—@ˆmËëþÀ”Fì¦B1âçÀf†ÓiâåË×hUQQÕ%›«º0(+‡œ›_ý‰¯ðñW_)+Î äMšäן¼#xϾø9ÙEM#5™wBÏ·Šy6Y²L¥qèj]fAqyôq !b‹R¤ñõsÞQ—¥‹.‚:ßµ6&),b)œDð 7Ë­&äWÖØ­‘jí» ¡\¢˜Z£¹¹Ú✣?ˆn¡® º®&zͼ¸Üg¨|Óå]NÊ"BMÙ–”MÅ0LUa›šzsª NDÖ¾LJÈÞ‰ ÄÄà"–ĘrMiq!2/‘w§…ŸøÊ§L>àµF—7 D0UAègú~a¸ëqÂQŠÝÕ–Ë› 0Šëg—T…Q÷oöüñaÄêBg'••¯°Ì7¯î0ư»ì¸yr.KæÅ¦º¨k|L¸ÙÑ´5…1¦I|—†™ÅK¯¡µ¢²R¿ÉîlvY–á$”Îȇ4È`TËt„}u‘YŽï,CÖâ—’hš¬q§H4]Íõ³§4› nö$—¨ëŠQEAYUH˜{Ì߯¢¨j†9ðñË;^½}Ô,Y›ìuH ¯•Ù]Ã#ü™ÖŽzmùÖò%­KQš¿eÃ/k ‰W[XXœÇ®î‚^ ËUr“øíª”z?F9/üš:kò¼ÌꕱÿÜËX»ÚU®3ZfÖ2— xþXp¤(Šìß$³4¢¬P™ÐyEþþFêJb“yIã80Î=Ã8r8†m»Ë F|’8/ŒB—ª)9ú™Âj–1ðæÝãiàÝCÏǯnQVÓ]nÎHŸµ–nÓ‘‚Bƒrš‘9¿ïÃa¡ïGÂÕ?ûüÅÿä-Û6aÿäï;ÐUQý±¿x…Š*Ř=@UâîîÀ08¸Øv,N ¬šºDÕ%Å*S(E7M³œø^¦Þ|Ö³]ëV\ÛæÓ0$99}Œ82— îËÉq:ȉ½L Ç»J)¬6LÃÄ4N”uÁîzÇåÍ%ýñÄ8ô¤PâÉÓ¨Ú U]I–v=’1šª*©ª §USÉíb mÛpóô Ï?óêÝŸ¾=ñÓ_ú:ïnd¶B)öQ!ª83ø«Nim0×›De~ e øylæL6ȱFSW‚MaÆÍïzl) ˆ½OYYڦ˜Àâd^ÅZ)'A+}/b&"Ö”ÔuEèǬãËRj i¨ëB"–…yñ ^ú1e¤Iû™E-he˜ƒÌâÏÓ"Ö7F ¤WÐAz¡ï†ÓÄи}Ï˯¿&ºÀÕ“ b©ùê7¿B? üÔÏü,Ÿ~ú¯dô ‹X8>ÈæªƒJS§c |R¼z{à+_úÉGž|pMjL©Ij jjp`“¦n;¶uÇØŒôí†ãÃŒ[ÛMÃfS«2ÜñÿÁ¿ÃžÎçÌþðï%!J9YÜ4áüÂäã"ÓSE]S*“-Ó³¢4ʶÝvôýˆe´3Æxnàš®¦,JRRL«‚y L½LôI“(+CÛ5ÌÃÈØ¹Ùvø% ‹Ñ²Œ3„D[W\îv w=ÖZœÓ”­x—¶›Šç~À³? êv<ôž/ô)_ûÆ'‡1£6+|y^Ë‹›|C ËËu¤\6åŠì¼2âŸá]#Áôiµ%E!ýäÑ”u!6>VÑÖ5­’!,…U¯5#Î&U)7­’øä²4ÔMżxæÅ g”OSm„Õ5@2¯.Êœ¾±b¼ BD©<˰EAO›gcæItdÆæ¦V+\˜ö#)ÞŽo(«’ÍÓ ƒ_øÉ¯~…ÿ÷g¾Ä×¾ô’Å9Ê­˜sGdFgžZK5¡'Ù\å±ä)äêÎà—Àñ¶—×;%ÌeBSXC×4²Iƒ†Eœb±N]\oøS¿çgøu~ÌÏ,À¶Iüç?ô–¯½yà_þsŸW¯ö) (¨•Âfì¸($BiqâÞl7”UÃ~¼eè{ÆIhòª©¸zvCÓ6BÞ¹EØXpãÈî¢Áj}f¶Iòa7eÉfSÓ4cIQ65ûû#)NgÍÖé6):†Ó˜óHˆŽR‰D|›<ÝÅŽÏ<¿ár»ãîåc,¦(iw;nž]óÁ‹ž}ðŒÃÉów¾ü)w÷G¾ñW¼y}—™ûø¸tb•ÈE2cšûµ^ù*1¹Þ!’RŽ«ÒJ|Yòžx/ö¡ÚHÒ()žíZt„¦®(rBhÝÖâýT—ÌnÎ1kÅà­*,eaˆº‹Ž7/ß0ô ›ËU+ñ«ª5Ä(DçaUA”²Î˜DQøãqÆ„Y†¹tA à&JØX<èï´.QmEðšî¢ã3OŸòôjGTž»ãƒWðp<r9$S`s±ãòºÃX%RSp¹í8>ì™úéÁsÿòŽËgW<ýìs.¯/yöÁÈ2̨(À Ûׯ›‰¦©hºš0‹êàöõž»·û/_ûáÜóËßĚķ{ìûÿñËŸ9þ·÷«üÏ?½ãÿןWRû’´R¬¡îuS’&q^0eAU¶ì?½gê=ÞGª®æêù Ûë lYPmì4SÂ$…ë{â²P72¿0O3ÖÀî¢åò¢“Œí$W·­J6» ó¸°œTŠh“0Zj]”0çJ%l¡Pú1ÁX )âç…vcøðƒ~õ¯ú"6i>ùú;ÚM¥¡îZžø„ì7þzöÿçþmNÓÈ©™ælC™U¤kC«V ^ëóf@åS?Ë8tvézÂg+{£mN …Ï_¢4·&D¬Õâ»:‹[‰& §K\p(¨jKÝm™æ…ir8™GÇ|ZðãŒ) .¯¶Ü½}À-‰Í¦£lL¶šYHÉ0/²á‡>C¢™$3 J(ŠŠÃ¼ðòÍžª(ÙìŒ?Ý¢0øS W;t°4¶À £G•‰'O¶8½@'R‘qœ¤Œ3†i鳡@ ­W×[LQà¸Asð7HE¼ãîå-Êhv×;®žl†i\(ª‚0Ááa ‰º(i»V6FHìïNêû?{Ïú¯½ä² ßv3|ÛM±>¿íûüØŸúIþüÿò‚¿ð7^lCZ‘%™GP9FXà;•dŽ{{±e{¹%¡Œd’GÄ\Šîâå(.•âx¿Ç–ŠÝõ†®kYɨ˜æ‰Æ*ʺ nj›aP£ò`ŒÆËœÃKYl¶,¨š†ª©QJĈº«¸¾ìh+ƒ‰š‹‹ ÝvC\$ú¸.ŸÿìsúÃ'¼þäžÃÜyn)ûÖÙÞ¬mZŸßÏRdç* ãªKEÓ z¶Ì’H2œóº¶Âv‡ÃˆŸ|F¥b–YGJ­ØnKB+^©hñïÓ¥"¨ˆ 2¨T–ú<\`<ޏqÆ(…)å÷ÔuÅý»#‡»Û‹–¢)ñû#!$𶦬,Ó<0N#Ó8 c5c/³UQÆo宣ݵ`‡ý‘aQ­æòê†mÙÁ8žN‡‰Ò´&7¦Y¦"7ÛŠ‹›-»Í–å©ÃM#MehjK³iY‚bž‡vd™EúÓm.‰D–iætÜS·%7ŸÙ1Ož¶_ð.R¾Õ`:ÌÌwŽ‚úàƒŽ?ÿ¯|•_ñ¼ÿ7Ã/¸) ?üÛ_ñûþñ·ü[ÿýù>ÚˆßIHجj,µ&Î n™'8‘9¤\“®º!ròHR”]C[•Ô›–fÛQŠî¢%zÏ0,LÓŒ²š¢.(낪«h/6<ʈ)XY•ز åSÙ–9³)%ó ©P!2ÌMÁýÝ…ȇϟsqµ¥Û6à-OŸÝPhƒ'nßqêG–àÅGIç~gïU²±Ma©ÚŠ".ËêÇÑñp{ÀèDYhP¿ð‚ÝÕ†².ˆGpÄ iNb¦`,ÊÊFT´ÞË{iX Ý>ܱ¹¬(+EYYª¦E—%ÓàˆNnŸááÀxšés/ѽh(*Iuº¿} ¨+Æñ–¯ÿìÇ<ýà†/üŠÏ²¹Ø0-žÓ~ i ¶[ŽGE¼u }Ê µ†·Ÿ¾C{Å÷ü²)U"¤@µi¸¸¹äÓßðñG¯8<iÛŽë'=ÏŸ?cÓ5Ä­ð9C˜Qû!:N÷'¼´m…‰‰´hSÃ1ÞÜ>0M޾§a÷ôšöæŠæbÇ׿ü o^½EÅn·!âPE¢ÜØFcêŠÎð™ËgLlj[jÜÏüÛÿÜ×øÁ_øù:È_Ú¦XŸ‹6ðgÿÀÏò³/~ø¿úÔJ”NIkq•v“ÄøÆÌ hcr™V™ÜŒqj DjMÑÔl­ŠÕôû#§qá¸?¡5Ü´U[S/ŒFgÆÓ––Ín“M¡³)n&aŒÑ(cÄÖ}ñ,ãÂþvÏ»·÷TÆðü9ì.®¨JK*Ïž_òÁÍ–ªm9 K,N46Éš³‹ÙoÔ-žiò ]Wc”f8Ž7O6œ{úÓ‰a:qóüŠÏ|þCª¦äØû‰Cp,Þqyµ­ÄD¡)ˆA³Œ‰ÂjB Lnâ89æ›Ø¢ 1Ð:1;Qh«À$ÊÆ (±…±VR~ЊÍņëgLýLÕ ý‘ª)¹y²c³i1Vb¢hehšŽ¢* iê²a™¦þH¹ëè÷=‡cÏ~âão¼åÕ'ï0JýIš}­°ÍsšMÎ3&¦I¼‰«Â°érþ‰‹ÌýB`æîöÀá8R”]Õ0¢©S¢(Õ®ââÙÑhÂ23Ï3‹Ù´ ºPÂs¡0øè¨Ûê‡Únûç÷?ô–?ô¿Fi¿}ßð÷´)ÖçW~0ò#üÇø‘Ÿ|Ÿþ+ß«RL¸iIó8æyY­ ʲ¦V‰FÅû5ŠV࿘.&Æaš]óY«4ª¬ˆÖ¦jjš®£Ÿ@µ$f³ÛB¢°ç 5çya™$°¾Òçýþž×Ÿ¾æÅ‹klY¢{ˆÞ£Œ§­_øÂ ”1ÜïO,^x£”hpòMB`fÆÓD žÃý~þ)W×—Vø…ªÖ\=ÝqqÝòúåL­è‡û‡êvôÌ{ÉçkbÉâ%f·0ÂC¨”( $ç9ì÷ÆEkØí:¬.ÑLx/ðë4ÍÙw61»Ÿ<ØDW—è¨XfO»m0M‰­,O^옇…‹«Ë02¶*p‹gNÒl?Ü8ì{LQpõ¤A¥Ä“'×èëk3.gNÓLxèqK ªjv» —W˜_ïîJÊò’=*¢S Çóàiš–ÅɸñæbÃf×ÑÖ ¦Þ‰C‡±%ÞEÜ<’€'Þpóâšä=Çû=o^½&xÇtš%/;š$ÕçÚ[þ½ßü3\7Ëw¼¾ãM+þŽïÇoýoù³?ò9þÇ¿ýB-Çá¿#…ß+ƒæl¦ÞÊ_ÝÖá˜ek"NÌŒª),ívÃ<ÍÚ¶âÙóÆ îN #:$¢6¤~bê%c"i¶ëºb'†~¤Û´\í¶([1Žw¼yõ–ÃÇŒCÏáaÂÍíuó';ž>¹âíÛwÜÞÝ#ÞUf¨ŒøIͳcñi\ð‹Ä¸Å1Œ#ÛØQ6–v[‚¦î,M·*’”Œ§z˜ÂŒ.ÝEM]—ì®:šZML)Ž…Ó0áŽÓqâÝÛ;Ø=ÛÒ5šeŒD73/Ò?Eã8q<ôö=Þ;T‚§——<»¹Á-²)(ºç%J9hÅÙQÔ–ã~ Npx¸»íINѵ £¦HÆÈðê„Ršf×bHLýÄþ80 ŽÃÈþþxîáÚ®"Å€ .Ïd‹ŒìýÚ¿Ã|ï'9ÿlŠõy²óü—ôc~ü+%ÿꟹQ©¶(«J¦êV]"ž'ÌÖÞ"‘DÎlÙ¨rLÂ75cœ™§ ’ãꪥ®Júy”Y‹~ät81õeÕPw ᢦÛz¶Û[Xqµ e ½liw†9ðÑ7^ñp?`›š¤-/_Þñ¯¾æ+_þ„0{®6uYa›~r’IQXª¦b³iÐꮡíjö÷”•¦Û¶X¶Ô dó»Ù1OŽÉaƒNšyârŽ ¯Å1äþ݉ý}O ]Ö\?iXÂLÝÔ4›S(ÆãÀtœ1JìzºmÅEWc 1›·(îo–11{)Nô§Ab6’"èO#ïö,ãÄf[’‚'9Ge4Me™ØÂ‚çþÝ=c/áœe-Á8§ýˆó›g e-eQ€U ŒX í*liè´ÂÔ%ó¼§î¶lë-W›:»"NÓòèþ1k†ibò3Á&¼JLÓ"jí¦¢»¨)Js_–öú·|ácþõôg¨mü»-Õïèù{Úëók¿wáGÿ³—üóš?óW;²Ý³Ò†¦­D3µæ-±²¥½÷8ç€ ­­ EQYe¸ß|éK_£ª¶Tµ¡q}ïdöö8}$YÏi¿GizqAÕìš-EU}`:"}„-ØŸfÞ¼ùˆapèÂ`N3_þÚ+ú»÷¤1!Òêk ¨+ÒM¢®úa":±ÃÔÚ ùg-MÛP·%í¶¤(5eU±¿ï™FÏ4&úã"_CI ûû§ý‘í¶$¶•L'.‰eN,£#$EÓ5PZ*£é®Z6W Óiâx7qzw"ΞªÒD™}vA•Fʨ¾Ÿ aá'~âË|ðᇴ]ªD$;bˆì.¶2^h.žìØ\µØ²`ì=Çû#n¨`ðA£‹Š)̧™'WO‰¦àë½áí·Þpz8±ÛlhÛ†¤5á°M…^Ÿàa=>”MAH²Ì‹Ç¬²‚ÃýL†MwESoQDt8.‰4sˆË,‹Eݶ쮶ø0¥ewsA2žfc©ªŠþvdÜ/,}Ã;ÆÓHŒíå†4F*e‰‹çt·eH>Ñ\4”¦DéÚ‚b×ÐÖ†'WCßÑ÷ýibU]ÑljšB£M"V↘„™–HuY‹½~W±¹jÅ498¦Å}‚“ô*ãa¢*k–IÐ|U@2¬%XE2j„\uÓÐí:â~àp+æxEmÄïºPªh5ÿÁü8¿þƒ»ïÖ²=?놰뤿þÝùæM™ø“¿ç[üÐo{ÍùK_TߺK(MÒÚb¬AYÙ‡)(Â"ÓìH ŠÆ`­ÆåPÀ²2œ#¯Õ+>üü‡4mA[Úí ÏMÛ²8RŠ'BH<Ü÷n˜¥Ö,³HJ| ò- =_ú©¯òæ“wb_•<{qÃîzGBS(ƒ­*’Še˜]Â*Îó I%no÷ÂzLj_¼ZøËøgø¿¾ºáþå_©ŒÑ•RYZßL$qö; NGº¢´žBóäÅ5—ÊR3 1zêÚPoZêÖ°¸HŒ¢È¬»šÒ×¼ùôÛ×ï@ÃÕ³k®Ÿ]¡Q¸ab™gîï÷h£°E‘C?füâ(»Bv{×Ru5c?±8ˆ»¶-Ïñ`¨ÈvÛÒµâZîÂ91cXú™¶Iìç^z'éžZ¤ðׄ@Õ”‚@)…- :h”mJÔÊeie¾?$.®7l6 ÉÊBSmKº«J™ÒðïüÎŸæŸøÂ›ïÎâ{ïùÅlø»4Úßíͱ)=âŸþ ¾ñÐòÇÿÚ¯Q}¬¨:›^lžPT6»†ˆœ›zæFAY7uÃâ19@1žáÐsè=Aº¶â×ü†ï᳟¿æ«_þoß¼%¸…ÓýDBæ5^û·<¹¹BéU޵ô:óˆ![ÓXE236‘·»Ä0 Œóˆ1‰º-%%ÈxêNQv5Ê&à’ÎV_0ž<ûÓiÂçLï·oï„à´°Ût$Oó°PqÔ^FGÙ6ÔÛ’Æ•Ô]ÍåeÇf[2û‘Cd\Fla°ÓÌ29ÆaÆOwY±ÝvTEÉv³¡iö<<<°L~™y÷rÏéaBM·-qS¤Û.x)¨dXNžý»JŠÒÐ÷#Cï(‹s Fˆœ¦…¥ tm¢ÌNiVL£C)I›RI c5¥-i¯[´†þg(ŒRµá_úÕóûÃ×°ú;—füBÏ/v3¬Ï/ }ún÷_¸øo~ïò¿~ýš?ñW¿¨ Éû c¡>áfOPBâÍ›ÇãZcÍ㤞ûû[Noîy{{G|@…‰_öË?ϯû ßË»wÏx¸•‰¯o}ô o_Ý£tÄêšñaâîöÖ°SŠ%¢­p Oc¿pq%úþqœÁ&ê‹J´W¥ &ædÒãi`š7“¦mEÏ¿¸@©´Œ–w˜I:‚‘[Ê-‘ÃíÀpȨJL\>Û’Œ¡j ÆFœŸ9gf7KŽŸ÷…BÅÀé¾g¿ùnÁöô‚;÷nÓ.–Ô°h+†ížÓ§è¦É!¿R W Íb‰0Î]çÂò!¸D¡%¢H-ó¶*¨W=…‚„g'æíÀÙÉ6ÏCÌ EBIIR]”©¤XIt_³\w¤Ç‘a?±Ûì±Öå+`ûó™áªíSJÁú¸C· ©KBŒìwùšÓy5ŽàMW°:XÒ¬lÙå@œl‘N3m&B ÔR£µBËŠÓ‹-)‘+ÏTÎ9É´Í’õºG]aO›¾ARp÷Þ1ãÎÐ6-ÓÖpòðŒX&„‘•®ÑZÑ”%•Î2á ‘ ƒµœ?½A·¹‡¢.*Ò`uâàh! oøW¿‹—ínîKÅÇo†ký±ç7mUÀ7ü¥§yý«NøÞŸÿÌ_|òü–èê698}ê‚§Ÿ:˯ .¿ÄÉGR€².ð© DË0Žœž\à­çþ‡¢ëš¦íè=e]rx÷$sAM³nèo‚àüÁ%n²¶8ã°ÖÓ­=¶Îy­ë¥H ÑFR’H¯ð3 û)ààÖ’¶ÖèFSɆB”D)©W-º+¹<¿È ­mgeIC…÷žÁ'ú¾¢YäW¨BIšºbÙÕDû‹±ÉÍ Û‹‰É{Tª¨dÍrÝstt”ñ7Îb÷Ž4%Žî¬¸÷Ä1ó4aGÇ©n˜f!æh­X,zÚ®¥ëÖ‡(]dæ.É”X~Ú1x››4pñàœóóE] eBqxë€;‡=Ó82M3I ´¬ÑUMQ–Ä$xøðœÓ“s!4|ÿלòeŸýðéþXô‰>áÝM›cÝ~è¯ý.ï9}Šúo_,&Ó")“3Ð+GLgñ*3B«¦D·=»ýç=³uÌ&£=ãÆ#‹‘ºÝbËܦR峋Ê6ç{ÆqŸrç·9ŽR ɽC$…Ÿ23V¨LÝP…¤Ò j ­T˜nÎÉÏB¡uE t‘ëBxq“¥@²ê{ú¶ÃzKrÒ Ô¢ îJ\éXwÈB°ßŽÙ\­Îi€¾¡¼¤Õ†ÝÞá\ÀÛ ÛZ,; )ÙœnØŸŸà­Ç‹–˜ýºã%¯x1§g[Œ±”EA¿¬9~l…®JÚ¶¡(3;Ö¸€™,¥H®˜v»‹‘io(•@+I ‡"·Û-•T¬W-ZIÓdÙí.™Ý¸Î9Œ±$’øò?ý4ÿø«Ï©õÍ|o®uføÈϺ‰r“¯Tóƒ¿ð›·øæ]pv¶R Þ‘DÊÔ®¥íZbp4]Îùè¨tM[¶8ÐMK·ê¨Ûk,ÆŒ9e+ÿ€Æ7ކífOQ(ì83·îÜâàö2ßHŠä%ÎDUUѶùuÄû™ár“ÔDŒs)éšž2*¤—h¡ñ&0š_ªe….u&1î÷ì6[dHTµFÖIGÚUEÝ*væ M/v#Þ.gm"‰|9àeyÐspØSùjÓª$‹ƒŽR¸ßSÖ5e×0Í9\–yŵ(v6”JÓ6ãÞrú`ÃåɆ®Q|úKïáaž UUÓt-ÖçõÕ‹³-xòÃTUÍg¼ìmáÉ>%¶îŸcCBWJ|á+KÞò†ÿÕ»ÑïÊMšáZ7ó¸é§FލŸðëo9á{Þ±âßüÊJ‘Þ-µøü¦­èK‚lÎ7Tº`ѯr ̓ÂG°šÞ9RÒ4]E–<Ó0³¿Ü£*EQ º>«£)88\Q6ÅÕÿpo"ÒCÈÈE7ád^vš.gæqBU%E™{ñTZ±Ý »‘ɪ¾¤Ó-R ¦Ñ0n-Ûó‰ˆGEå+t«X­{— Î~ÿ\^Îø+²JŠùF'…¼ö[w«ƒM»¢¬ ºU‹TŠfšyˆWJI’g§ìîŸP÷ë[K¤8c˜‹Ÿ<›a‡’B(Üè)’„(Ø] ÎÙ\Â(kG-í"÷~Œ» ãBn…%à’C75ì©ö“˜/~êÛ?Ä«^ú±­‚~Ìß‘gÀ ׺±ìܼ9ª¾ï þþW|Ç;_úª÷žw(¥R!Jvçû É)ó]uI&7ä‰ 8&&ºÓ„`sÌ#Dv»&V-×ÔWÏñ”ºRnÊg—è"8‰¦@EIaÎ\tD‘˜G‹÷ ÕæmL’ÝnbžgVëWœðøÙSïÚ¾]"uI¡ËܱvõÚrùpI“çÃï{ÈÙÙUU¯ÑMC¡%fry“1fø™TÕU²F‚qš‡‰@Ê›lM•«tgÜì§=›íRB°‘¦Ô¬º"bð,–-«®#¬3¥Q‘Ù¼qX¹0–r[!ë !"«ãçMßP–»ÓËÍ^8ùÖ¯ø oúÒË N¾A=“†€6ŵnÚ·Žÿšßå7ž^ð­ï|…0“ÅÌ>¥ ¢ Tš²¬À( 2 )‚ÀHIŽi2˜É‘T‹€(%í¢Ee^ŠJ ?»°ßÏ4u¦•ŒÃ„sžÉ:–‡ÝvMÉòh‘Q62àØ_NãÙ–˜„ùJt½î0ƒer;Ïv72›UJê‹e¥ò„Ùb‘Ðu‰ˆ`<Ó˜Có<ƒÈ$ŽNt¬i›š~ÑqtÜmd{2‘b¢¹úyÚD¡ØMA@ÙUÈJ]$z8?9ÏÛA¼ú•—üÀמÒÕŸÜyÃÇ«gÄ׺éùÆŸº»ãgÿÖ¯òŽ_9ä;~¼Öx¼‹©?Xr°^¡UE­*Æ‹%ÞöÓo²–”@hEµ^" Ð A½*é»UÕ „bÞLL§#ntØÙb!…H 1€ÄÄÉÅ%—›”¤î5‚Ä8NìΊ*wjLû™ª,qÎg’^!Pu¶žÙhU Dnçdry¿èAÕh‰b7îZRuU#©Ô ë v8ç¸<Ÿ ÁQ·%ýA‡{µí§¢ˆ‘äãÎ0í1€®«Å"3cĘáÐ¥V¥Äǰ γ8Z0†ÝnD´-Ãv̺݄n*|kÆxqw5ñÓo>åÅ·ýÍ}è<{f¸Ö3j ¸ù§†ðú?wÎWþøÆnù¹_GÔÝeê–ýc=·?dì4ÄÈ8ì1jž²4Ués""‹HÓBÑ9dcQZÓT5}»â,&>|yÉÉé9Ãn‚‘…¤jkdQr¹›ÙO†Åº£ék„ èF‘¤ d*H{Ÿ».äÛ.-Yv4}®‹)®AÄR ÂUiº”&woÍäFövÀK –ÙyÌäÙí÷xJ¨F’^uÆeÆ­ŸeS²Z.H!f‚€@B·%Ë» bðÔMMGK+aŽT]Ku­…‚¿ýW?Ì_}ÊUeáé“a†k=k¦¸ÖM¿R}úÀ/}Ïøå÷\ò]ÿá"ždM’17ç¤à!b”lΆ«Êà@ÓL뉺)9\Pß.)„ˆÂÑ Ö¡E÷fc‰34MKŠÅ—ª¤¬)] |àn{‹hóvFµ9"ﻢrÌä¡(ÐmILàƒCŠ\m{ÝfCÎtí¶[G=(A#»‹™`#Ñ_uXÈâª70g§Bè6TŽãÏ[K4­ ¦`ÑJÑtÞgŠàe1µç±'júå‚Êh( ð"P.eYå›®PbLþŒQˆ/|ù9ß÷Æû,»›]ýdšáZϺ)à™‰Œ|Ñ˶üâßýÞößoñÏÿãR”B¼¤iÊ'!0M†ÝÞ°ÙÎØ9dd͘pFæu¤ êã3Í?£ËÄцåªÁm#q€E@H ùÁchº ,-!ÆÉáÆÈ¸1Ä9œgž Á¤©¡]iª^cG I¿ìÑEÅu ]]×Ý.†‘ºi¨ûáÂ_b&·çuU³h»¼Nš“1øª+Ñ”˜hª–”ón@-júE Bbg¿Øïd)°îj]X&f£(t¦Á—e.Ùï ÖD¬ó¢i<ÿꛟâå/zôç ¯nxÈþñ馇—ƒà¬áWŸli;|ð\\ŒŒC ‘[DeºBôªRòؽCî0î'ºeÍbÝ k…5žË³.8—yº=8ÆÝDßW9†¡OÂXÏ0Ị̀Ùˆ¤È;ÚZ‘œ'u_¿4ßûå/’¿÷š§Ñ7ü^ñ¨™áZ”)àæðoßUò o[2l ~ IŠª®6âl@™w[”ŠnÑà<·îÐ/{R¤ è=MÓqÿC'œžnÐ}w1Œe·Ù! Áú¸§Pã%¤ˆ5à ‚ƒa;pöà 3ÏÈúeÇrÝsç±CÖë%ƺ®ÃšÀ¯ýòï°ÛMDe)X,Žn¯9¼½Æ¹Àƒ§Î ˆ=¾¢é¯:M^‹-«2÷×Aò ­$¥’¹*¬HH%¡¹¯b¾ZëEn*2‚·N|ÎgL|çkþ7Ÿmï£éQ5õ>)gŠ?JÏÄy㫾ÀñÚÏ;㻲⇦ݪù©årù:7{¦]î]ÐZ3#Ó<#® nã8g¢¸!eU²:ZÑ-j>8ÇŽ–[sëÎ1ÛíŽíå†D@·%ªÎ×ò#Hý\!×ty¸¼c·÷#ÛÓK–«ŽÕQÏágp|ï¾ï!öýgÌÖ ”¤ª*”T•Ìt‹"á Ø”{ÿJ¥¨{M_4„öÁFê*ç‘v»‘E¥¨Û2g»®²O¥VRebºbѼù¯¼›Ï<ÞÜ܇À£o†k=r¦¸ÖM›C+ø¾7¾å«ßòÓÇãÉ‹ÁÄæH[×H¡Ønvlv;ʶ¤®JdLˆ(ð)cdžg¶ç—Øi"ƒ3†äz×<þâc6>|€éj»mK×·h©™vŽñr‡, ºå‚”|†@Çܾ´ß¢„“‡çè¾äÖGŒ&qrÿ çÛ݈n%.:„tëšÙ[|¦W#R>'•By-<Æl†=f0 Û!ݪ¡÷unDžtEQ'agÏ7þ…ßáË>ûÁ#é~¶ôÈšâZ7mŽãEäío|?¿ýð!ßüï?KøYR •†‹™²–t²"ŠD¿l‘Aଣ^E^«Ünv —’ˆ®e‘ÐEb}ÔÒö%ó´ãâdÇùý »Íž¸N4ªÁÛÑÓµ:ǤDpB|ùçœñM_ú~ªò¹͸I=ò¦¸ÖMÏ7^q{äç¿î×xço­ùŸBÌ£%y‘†ÝÈv3°­tUR¶ŠõÝ‹£ŽBÜÏÀ8N誠[Vèì4pùð„|«)r×ZÛ=$2nµné™È®êŠfÑæ¡³-û݈VŠƒõe%™'ÃÑã îÊ5RI¶›!#Ëã¡1 •¹TÁÌì¶np¨$I&bG—YX1¤”!Í»h>ÂÎ* !žXlùÑ7=Åã‡ÏBæQ×#wÐþXtÓ‡ñÉÂwýË?ù_ZœõÉÛˆ($¢€j¥Y7ß^p°^²98ùýS* ]P(PU—’˜D&k÷3É<ªºàèÖ*3šö3²,¹sïËUÏæì’§Þw ÉÝÝB‘ÁÌèEE]W”J3ÏyýU)R¹¦Ø_'Ã~7sy²ÇMžõÁ‚Z•<øàfãè-ª¬˜Gϸ7€`qÔ‰ÕqÃ[ßô{|áËn!ÏmCÀsÔ׺is|ø\ñÕß¿â÷/–èJ%ç-I%T•X®+Ö‡ÎD.ìè ÍÁ²ÅL.ÀäòG¡‚‚q?¢*ͰÑZq÷‰CêF³¹ð>qçñÛÜ{ñüìøÐ{ïc¥[Ö$‘¸Ü\n/è¿èýbÁ<æÑ‰² Ö¦Ù2ìònÆ}4Ý8ÕðÐó_ðŒw¿×ðí?ýyûýf3ÑéšJV„h(•BêÕ$YQDA£µo}Ñåâù”S¯e[RõšƒJaFO$1Ž3ѤHŸØo÷ìw#'§[\t4eɼHs&€LÓõ9ƒÈd¡ˆB b‚™‡™‡ãõªi‡®KüäP"ÑêZ¼æó&¾ý+~—VêUéÒsúIñÿ릟1Á¿ûóÖ_ú4ÎN/…HZ+v›a?Ñvšƒu‡¸ª .›:ÓLƒ¹B×+BH)@å^êºÎu3äý ()¦ÑpöpËéùŽÕªæ‰Ý¢P¹`ÒÚÀ8›l:ãr©æ¢¥îæÙr~²eÚ[ ©X]­§"À%qï(òƒ¯ÿ-ž8œoôßèùf†k=oLq­›6Ç`$ßýŽ»üÜÿj±Æ¦a7e"Ç¢âèx‰.Ö:¦¼<\f´½19N^fk˜æ9#gêš®Y0^.Ow ë*º¾ÁÚÀùéÀ~˜YÔèRaæüÎ_h2×íšÉ kE¿jÑMÅ0Nì·#¥RywA^šü³×¿¿øYŸx»ÏÖóÕð<4ŵnÚï}Zñºï]qÿBRj•„H´‹šª®1“%øÌ|Zß^ÑôHyUÎX$&;3¹<´# jÕ`wÝÅ”Qü>P·¹âxØMD`±l>ãïëîjp×–Dá1ÖQ”U«¥d6ç®JUÊJL£çk?÷C|ý—ú«¢yr–)|tZŠ?ÿâ‰7É{XÕŸ:7|¼z^›âZ7má­¿x›ûOÇXë_RêêÉÅj‰-ÛÍ@]—ÔZRW‚~YA™°DFkp!æ2÷¢Äžñr&˜„R%e¥3$­Öh]2ïgB”èFg²·°T½‘0³Ã…Ü*‹bÑ~ô¯ÿ_^v8Þèßõ…d†k½ Lq­›¨K¾þGŽx×ûVܽw+UU™‘–Î#‰(<º’x¼eŽ´d±jXô "À´5ø9R5-…R¸ÉS IÝÖ˜Ñbm"&Á<Í8gÐMA¡Þz’¢¨JþÉW¾Wÿ‰Ót4ã&õ‚2ŵnÚ¿ýAÍßyûŸD– BˆÉ;L‚`&ÆaÏh sòˆNQ-*ªZ°X54M…ˆ™é¤ÊŠ‚·w$)UÉ~kvkÓ0aæE©º‚xÓ_ø¶×ž}\ê”^¨f¸Ö ÒðÌP ö×WüÃw<Ö¥ŠäŒc³Ù²ö¸äiÖ·{„ èïÜ­NIDATH ªR¤R(*­©Êš4GÆó ;6çÃÎ’Ï-k E#ÅŸý¬ÈÛ¾á‚;«çß*裠¬)®uÓæ°Þòsó¯ÿÇ1ÖÅwÆ~þ0xoi»’[w—T}:Œ;K´Ð45m]çÈÅS[v›™i´8iº "EËÏ|φW½ì…µßðlëoŠkÝ´9N¶_ÿÖ{¼ë=Ó4§à,JÁê¨ay«¥9Ì4îicñs¢ï{J)™.'6öl.Fœ $ËÞï}ý ó‹6Ÿ:7< ú”)þnÚÿó÷J^ûæk…–I· Õ šuE·hHD(X,B²?ÝãæˆÖ5f2âË^yÂw¿þ!þÔ¹áÙÒ§LñQôLœ7~â4ßöö5E¥pÑ%ÙDúUMS–(µ®H¦ÝLSµâ >÷€ôê_åÎâÙ/B|¡ëÿïêÕŽ¿®p;IEND®B`‚pioneers-15.5/client/gtk/data/themes/Iceland/Makefile.am0000644000175000017500000000262611257440734020062 00000000000000# Pioneers - Implementation of the excellent Settlers of Catan board game. # Go buy a copy. # # Copyright (C) 2003, 2006 Bas Wijnen # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA icelandthemedir = $(pioneers_themedir)/Iceland icelandtheme_DATA = \ client/gtk/data/themes/Iceland/desert.png \ client/gtk/data/themes/Iceland/field_grain.png \ client/gtk/data/themes/Iceland/forest_lumber.png \ client/gtk/data/themes/Iceland/gold.png \ client/gtk/data/themes/Iceland/hill_brick.png \ client/gtk/data/themes/Iceland/mountain_ore.png \ client/gtk/data/themes/Iceland/pasture_wool.png \ client/gtk/data/themes/Iceland/sea.png \ client/gtk/data/themes/Iceland/board.png \ client/gtk/data/themes/Iceland/theme.cfg EXTRA_DIST += $(icelandtheme_DATA) pioneers-15.5/client/gtk/data/themes/Iceland/gold.png0000644000175000017500000020532507771100213017451 00000000000000‰PNG  IHDRÅåã”3ÆbKGDÿÿÿ ½§“ pHYs  d_‘tIMEÒ'[2ß IDATxœì½y}ÛUß÷Y{ïsîíîßð&éI²&I€0FÆŒfX@…€ `Œ!¸âŠ !6…ãØTR•T%e»RNReW9 ØIH&2ÂÌ’„˜, 0–ÀšžÄ{ï7u÷ÎÙ{­ü±Ö>÷þÛúi¾¯^ýºoßá { ßïú®µ…>þ{ÕÕ~Þ¬#¯~ìøWwÿ4)víÆ5nܸ ªì6—\ž_0 E^öèßâ™ë_½Ú/ä¥Wþ‘–ù@ÀããªÁ Þtû ùg} fj(‰q½bµ^‘¦ÝD›&V«BG¹^ÞÅËžö·¹>j¿ëqÕñ;ûòÃïü›ì'ÅTMUÑ&(Fʉ2 ¨*V+"PrfV¤,Lû½|ìé?狟óý i¾Òãú¨qü›5Šx\µ1ìô~æÖwñ΋ç2í÷VçTQmÔj˜@J™œ3­5P%‰QJa\­ÁŒiš˜æ‰f&_òœÿ›—<ý5Èß±Çï}|ÄÅUC³Â/Þú~íüËØÏÍj­hhsC0š*Mýµ9gDÀT±Ö03†±0Œ+²$j­Lsen U•Lå›^üÝ<çÆo_é1Ô0î|ÄÅSþåíO矼õ/!bf$PmÐb†ˆ¡&457ˆ$a†UõôiÈŒÃHÊ™:Ïl÷MÌÐÖ eyæÙÛùÆׯó+=‡‡?>"⪠ⱋgò½oøVvºÆ ÃŒ”2&`¤ø_1Ì„œ3)' Áj3rJä,ŒãHJ)öS¥jCTiM!g A>ûÙ¯áeÏ{%µ+=Ÿtãøˆ2Š«6†ÍtÂ÷½ñëxË­8«d !‘ pC.ˆY‰ËmfäRœÃS'5’ãXÆ‘$‰y®ìç‰Úš¿Ó@ÁïZJ. "_óÂïã?ü/>Š7®èñaWŽTøñßüB~ì-Ÿˆ˜™afˆ€ªÿ›’`&¤”()‘#UR5RJ„”3"‚U÷ëõÈjH–™ç™¹VªVÔ H˜AJ€9%Li(r’7üGŸôÝ<ãìÝWz®‰†ñamWm o|ìüƒ_ú󨪤”œRµXìîÏ‘DJ™$BI7’K‰×€V"ÆézÍzHx¤¨ÍÓ§ªFSOË$C7,RÁþYªò›¿ÁŸûÄÿ‹Óa{¥çý‘d¶FqÕñžóù»¯þzîM7I"f˜ù¿"âiQT‘„ˆFΙŒ Ö0ñER* Š©ƒèœàt=p²>!‰GŠZ+ªŠšºa’)gR@Д„¤Ê ùüçþŸÿ¼Ÿ$‰^éuøH0Ž;£¸jcØÎßó _Æ/¿óE$ÄR$ 3ò{B„Èí)%Ç"îÔÅhH¦¯Q˜):»aŒÎNW¬VkL JvFMÉ’˜[£äÄz¤HXJ© †œÉ’h*òµŸø¿ò‰Oûõ«½(|xLJQ\µ1¨ÁýƧñ¯ÿDÄs¬ ’ü—ˆp0Š”$ŒÅaµˆÅ CÂ(d1ŠH½š"jŒ9sr20Ž#"‰išif^Üÿ®š '‰*GôñCÊf y §Œª15•u~’où´ÀÓÏž¼ÒkôájòFñTà†7½ç9ü­ŸúZ¼úpx$wа0ŒûK¤HÙ- î3 $e†Á½¹a´ª$3Æ’8;]1 ¤0͕慻ø$%LRrš7g4ŒU’ %À½Ì S­Ìm’—<ãWùúO~9ë2]éõúp3Ž÷Ù(þÞßÿ‡ÅL›©ò×¾í›ïªx?>®Ú ž¸¼Îßùé¯âÝwAU­cIN²&#p‚Gè¯A0ƒ\’rBÔ0AÈ"þZqF*%a M ­Š˜²§'#듦êu‰Ö3ñ4«)"‚Š’rÜ:$(B’D6aȉœµ)U…©6¦¶§$#©Ê—¿ðÇø‚ùyÒG)Üß÷QÞ×7˜µO3cN9ý Íßï«6†©fþá/¾”Wÿæ‹133ë§å ÝTIö» f€k†ð¤ÊÚ¼.an=*¾°{$4¨\¯÷9»dˆëDÀìðæïS3H¶°]¦†d;ª(M Ä£ˆ’l¬b`?ò¯¾„yóËä¯|æ÷ñ±¾õÊ®c¿/êÆñ>ùŠÿí{þQšæö,5{÷·}ë_¾ZZãðx*¤¯úÍó¿ÿü— ªæ Ù½»/\¿<"Q‘N 8È9cèQÁÌ€Œäˆ"ê€:á‘E0(‘J^ŒI¬)«’¸qã”q1ƒinHÊ »j f˳¥”,*ãâ²’dÆ ¥D2ÕûZimÂÚ |bª¬OWòœïðŸô=Üï\éµýP6Œ÷É(~èÿ}¹|ÍðU”éª â-?ƒÿö'¾–©ewíá­ÃÉúwZÓæ©IòçEÃ+Ðþ;xTqMIU¯Cdzêä˜ §Ä\êQ[£ª"CNܼqÊjµF j3z½£µÆ4M´6FÉø÷KFr‚T¨ª^/…¡ ™fB5˜§-´=´J«Fe\œ¬×¬V+ùÄ_×=ÿå ¹^éuþP4Žz }ÕÆpg{Êßý™Ÿß|â™@“Ì0ó‚x bæR8 ÷ðK’Ï-y½ã 9x7%QY¢MÊþRÅ()3fÇÍŒÚ Æ!óÀÍ묆Ú,Ò A$Ójcž'æ:‘Pr‚$ $!%c’h9Ê80– ¨dª*Z=Rèë•|æóÞ|µ7‹>ãø€ÅS!é~ů}?ø†O'‰—›U{-À9e°©ãgœ’$´i4ð§XAÇvœ GTmrvI‡÷YÔ+’8 ÕS'B X²°Ê5£™ÐÌ=ðj‹ «A²—s­hk Ÿn^0Oe¤”œÄµ¦ä’ÉE(¥ i@¤ :£óž¶Ÿhµ¡ ¥$V«§§§Œcan3wïž³½Ü2Ï3ªJ³Þ&f&×ʆïüâ̳øð•Œ|@Œâ©À oxçóø^ýå°8z_°=EêXpNßúÒ ÏnFBPS,x¦^@“`—úêWkdɪmÑ8u£PKÁÓZH<Üh0>9'Æäxcj ÅÓª!;U[JBÍÿ^²E­ÞS‘¥GžÀøyd(%ú¿MäD ”i€\ 5ê´¥í'ê¬4m”a`5Žœ]£”ŒYãâò’ó{ñ}J« Kù@@¨‚‰¼ø™oå[>çŸr6î¯ô>~0ÇûÝ(®|„Ìù þÎO}%_Þ€(:;£äy‘ªË4°ÒîÒŹ0=J£#wÄLg”o¹T“%”°QM8D%‘’‘Hž~õ„*{Ç\‰oê²€”ëq`Ìqìâ¸'Åïun@kˆu’@°BføÞ_ü"~ñí/„^‹îÒ³¥ñ,Ó^Q÷øêÙ;®Qºˆþ~¢kîðý=2ˆäøÝ¬?xvÎ‰Ô }’\Ú=$W¶6Kñ:/º pð’PA[söÉ"J(q~ IūހZ¥Ö)ÆÅ……e$åZ©Óžº›˜´Ö”‡''g¬V9Ávwɽ;÷Øî+fÖšt‡ ¡ƒ4ŸB"‚ü_ø >õÙo»Ú›ÌÆ8žr£x*$Ý?ý–Oåû_÷y–8Ô |ÍF +X­E^®@¨[éÑ¡í L€l‘¦X|¶7ÔõÜZµ%€ó1_Œ"Ò«’¢÷Ç%)@vJÏj‹°GÖÃHrû!%#'OïjmÌÚH$´j¾Óµ¹”…Žç©eH¬J& ƒ7<¡ÔibÞÏìg[¼ý0¬8=»Áj(ä¤ì¦-÷îÝc·›Ü šƒm%òÒ…pªŸ»<íìãϼœG¯ß»Ò{þþ6Œ§Ô(®Ú Þüøã¿Õׂ¤X¢~“Ï•d{÷(ÑÃï…ºÃß ÑŸ,š'èR$üB)½0çAúêåSÄûR*žÿ§„Y#ë$½p-¤ªa%±GÆâ’r5c(.-1S榴˜ ¥j˜ ^/Ëü¨YgZ«¤ ¥cÂ;ü†̘¶;¦ýÄÜ$e׌«SN×+r†yÞ‡Q쨵Ò´5Ú¦è5OG¡©á¯$Ÿùü7óÍŸý3¬‡Í©†ï³Jöò¸jc¸½½Æÿüs_Ã;î<ÂÅÔOQPOmz½í *U§CS:¾˜:ƒä/ù<%éïµå¦K¸CëŸk,‘ޝk ~ï£zðâŸ,9XJm¤ýáÑ'IAÄ{$z/åD\µoã9yÿ„ ˆ’j€â}Ö !GX@S] ­c§~mTq°QcI)9:ï^óñËgöÚ·~<¯}ëÇÊ_üŒ×ð%ŸðÆ+“¨¿¿T¸W)®|JwËüà¯~1?ûÛ/é°Á%Ü( â}”Œª§RfŠ)÷J3Å æ8žÂÑ©[3_”ªê‹¸Ë9Ò–õâÞQE;tOÀÂ&•œ"šk” %r–ED¨ê‹;—Ìj(Œ%ŒM„R„’ Í3µiHBÖÅÅ~I†PÉM+:OˆÀ0dÆ"Îtƒc§¹²ÙÎL³17õ‚bÆ5'ë†ìw÷ü.——›¨US;ˆÍ„Ô#³A³CÈÇi©Æ“ÿêK˜Oxô±+]O¥a\‰Q<’î_xç§ðýoüŠhö9,j ´ÿ«†˜’’ë{ÔÜ37Ä:6˜¨HZm5½ 4uüÑ9$pV¨S²Ö ؽ,'½<×›ˆM··š–äž9áF4–‘\ïÕnµ…’„ÕXsAR¢©Q†4Ú4G*ãjÚfFSqÚ!åĨmFë„ ”Æœ)%1 ™’…:W6›Ênöž 3#åLY­Y¯N’1d¸w~—Ë‹-ûy\½åýl-¢sÜ ‹k ‘š*YzÔyþCOò×_úJ:½¼ÒµòTÇÙ(®Ú Þ~ç™|÷/|û: rè÷<,ì ã7‚éÞÿøÿÖ9ç#ð­ ÐtãRÈ kÀ:-ÀÙS ;Ò9yã ØHK\6žä£/׫$Â0 ¹0+_¼óìâ¾HORòé%ÁPL¼ŠD1m´V™¦ Óh\’D5Ç#Ú§fÐÚL÷þÅû¸Ç’)«L˜çÊn_Ùî9 ,y8YŸ’1†ll·œŸoØï'j`Û¶#—ûÒ#Bà5g¹í€ÍR 3yé ÞÄ7ü©Ÿc̼S ÿÐFqÕÆp1òÞðu¼õÖóè žHÌb5`ز©Ó®ÄMPs qœÑ”#‘ êÚ»ë0”&<}Ê’°hîÉž:¹šê€|A¡äÌéÉ)«ÕÊ&—³“k~<æ |»Ý2MJ­g–Ϙ›7eï>b®3ÚŒ¦³û€è“ШWHN4ók5ï·œ`(™,Ƹòq8Z»}c³7f3P#e(¬×§d"Ê4m¸w÷’ý~Žª»¢†ã¸î‡äoõ;r—eôzŽàô­¿‘ªM¾ù³ÿŸÿ±oþ ”¨¿Ï‡tõÒŒÄ+ßòR^õ¶ÏAHG©Ò!ï÷¹G Ïhµ-ÏKòœªmñð‡›Ñóý^ƒh?k’3ÍKnÐÂëåh ’¨$‹¹QHrj¶Î IÆ8 ŒãŠÕjÅÉjÅÙÙ)¥,4R×®ÝDÔ6³ÛíØï÷ÌsC›2·Œ•Û\'r)>ÁF+Ìs ›mÁ ªyw ¤D›g¦ÝŽ,Ê=:ä ÃàÔp­•í®²­B3ÁT)ãÀ0®ÇCJnó†ó»ìæmŠšQµaâc>{áAq¬1,ZB#4üþô ¨ËiZ¤V ²f¾ëÏüûðãWº¦þ¨†ñ6ЧBšñúw¿ˆï}Ý×`¨¥€8=º¤JL ‡´ÉpíåÇjî] £ô |I–ʳ¨V7ˆHÅlá¨`"1ÓI$z®Jñ"•ÍFDeÜ8‹pzrÂ8ެ×'.ÿæ:1M.ƒ¸~ý&9 ìw;v»-Ó<17eÚ{‹©‰Ë2 ¥V÷·Y ©2w<˜:èU¢Õ”T¼^Þj¥îgDç˜ýd”ãèQ¨Ve»›Ù·‘ÅuRe=ªåBFiºãüÞ%ÛíÎõOJ8»£‰ŠÈ‚áˆú`°X Ã0¢-"t;*t<`=•:äÉbøÎBe 7©VO)²Ó¥­µþÍ’Å>;=åúõë®tVœøÌ¦V™ç‰ižYœ²^­ÑZÙïwLÓìF1ù›”Å+Ó æê‘2´ÆÜ¢7Cëìsj“ão·ðB¡VeÞM~³yÛiŒ2dê¬ì'e;ûöbªÞ=X†‘aW#ÙØÄåņívÒv¯³¸ƒI½6ã×»Äðg枦ŒÂ µ¶0 •/ñ¯ðµâ—)é+Qÿ·Å•OéžWü¯ûJÞô;Ñ ÅèÈW;F8®J÷°H*4¦{÷GA²§7YÒ2ÑÛLºÈ/n ‰œÎÑŒ¡Öã*`…2 ƒÏWÒæàsP…ý~rÑ]sö¦©2Ž#?ü Ï|æ3Ø^n<ئ=ûiD5ºß3Z›ÙO3ÓÜ¢ÉÈNÊ–ø ™"Z™¢3ÏÚL ÷n»D³Fפ’isc¿Ù#V)"dSÄf†¨pkƒÝÞØU£!x ¸1®F†ÕŠam$Ùow\l¶¨ºäÄÏ»SØA@t‡’RìÌäÕû”2%—¶xÑQ¥™*Ç h­Qk]Ra’$Ë_ùÜçÓŸû¯¯vññ7Žß×(®^š!¼úmŸËýæ!øÖm˜}°Xi¸ ´¹^H‰Žv‡F÷RDãˆL’§b‹5I¦·… 0äµ³S¸qk×Ϙç‰ýnϵk×8=Y{—ÛP¨U¹Üì¸Ü\b.7;¶» x葇xô™Ïd¿Ý{%x®ä,l·—Šˆ§.¾cQuŒPSmÌíH§% ÃȬnøÙ Q¥¶†:½„XE²x¯„ùõÖkgµ6;´ª÷€›‘­y¤( ,±ŸÜ(¨‘ç¯NV”Ñ3êL‘Æ~?q¹Ýy³Q8€ÚZP­¼– —á§Þ£îÎ*%'$„˜MñÑ=É¥ñ+ØÏ½OAt©L‘kÃ9ßñE/çY7o_éZüƒÆ}FñTà†ßºó"~à7¾µfÒl­Ñjô&G•w‘0˜îôi÷2ÚõC’–ãâÙòl¾:#/drÊÁ øÎ)´F7o^çÏx:<ò ÛËs—r—ƒñ·÷>þ»ÝÌÝ»÷¸Øì¹{ïb‘Bœœœ 1‘o·ÙbZY+š6jÓðü`Ú°VQkìçÊÜ”ýT½^bêS9†fŽPE´y/EU¤V’’}¦œ½FPø·¹2mö¨*CêF¡ä¬Œã€©°Ÿ{õHÑÏêdðN½2€6Š(µÎœ_v£ðë6WŸ‚î)TZêâƒrƒŒðbg*ƒæïõhã÷°”fâñèܹuI¨6ù”g½•ÿø3~‚Óñý7ÕpYQW>5cÿ?ô¯ÿ*wæg,cëÅzuY ?ù˜Õî‘Ü`zH­ÕGGz‘Ë/˜ÛÜ:îgœ¢ã-'Ê"©H1)dá©ÔŒ³Ó5>íxà×®òð#®_;¥µÆn³å¡‡àÚµSÎ/.i͸w~ÁOÜf³ÙEŸCãüâ’ó‹Ë%†Ìɸb?O.»6¡5°ZF­3»yf®Ê4ÏX‹cÏ`)3«SÎ4s9¸5P#U_ÊHQ;$•‚ÓT©{ï©0ñ*sÉÄ0g˜ª±oJ•ƒêwµÈ%y_†¢³ÊÅfÏ4W°Ã$õYZ›c¾Ho;êsssÊXß“#¢t(ÕsîNBe{(ºaH7 ‚╯úä×ò¥/úeÒï3ªôòøýŒ£\½4cä§ßõxó½Ï"•l«ºíió!b>®ÞÃekÊ~šÙO{Þ”ÓR¦VŸL‘ÍŽ¢Ax¨EˆÏÞWh;®HÛR£È£7Õ¤2€*%%ÎÎÖ<ûÙÏb»Ý1OãÉškg§Œë‘'Ÿ|’<Æõš›IØlvä|œ`?5¦©2ígrJ4ml6;À\V‘ðÏÍbôŒƒ|‚MóãÔ¥*,’¼WÁ4„†¢ˆ(ÒzzåQ4…O…*ö–ÖÔsÂ8w‹C;^G‹?éR“ø¬®×ŠåÛ{λAô×åTHc¦Íµ„€¦ø 8œT5ú5)‰³zÉsô–£‡Q¢nmI§ÜÙ))eûá7}.¯øõÏ•oûÓ?Ä'=úö+[¯¿ŸžêÊfÂo}>¯yü›†bÃàÔa.ž†xÎï"·¡Ê™ke·Ý“óž’Ò"®ÛO{1lR×4…p-¥r´øS7úMÉ©2äP’ê‘øNKK÷h‘²Y¸Ýy®œß»Ç£×Eîßãtí3Þ|è! ñÀ—lwwï^°Ýî}ïSJ¨µQëäEBL\JÑÁ>K¥½ÑŸœp04B4D^ŠÏRŽ…™p)ºØ¢Üõ5©Þ9WkH-¢’o álýu1’³W™9f^óa!~Bºr_”`Žœ ;œO ã“ Ëe÷Ù#@ ù¾örŸ9í$ ³(9 žB2‹H—í»_óÕòÈé-¾ýó^Î#gW'Q·W ãJŒâ±ÍÇóÃïøNŒÌ8fóEêcW†aèQDÄ»ËbÔüj ''kßɧSÙlw¬çÊv¿g»Ý°ßí gWs:?„…4I”˜Ža1‡ÉC²QbwÑ”Â(#Í*¥¸ç †çñ'žäâr˵k×xø¡œžžpýÆ)»ÝÄúd ¦‹÷Ù“‹ØTãÊ?÷ââ’RJHIbJ`lÆ¡4í‚óܨæÀõx›ûØFlMDrH¶£6Ô²Þ•˜„ÇmG‹ç¨8Gã””$…$>xÙèQD¡5+Ñ’ë4wŸl¢¿s®úõIêÇÃz¿{°åËyyú{ÐE¥”—4ªŸŸcM–ÏêÄHªÝÐÍÄÞ{ñ ó•ß$Ÿóü·ðògX•«™jØ£ÆÉ(.ëüÈÛÿ*wÚÇ IÂo{‡ø¹µê›¨'§çD4`=Ž^“Ë)V ^èš2ØÀ8fÚ\=焨Pça^#¹ü8œ¥è})åð”‰28Ã’Rfš¦¨#ÀjµâÚµV«3e»ÝG_BPÁ↴ßÍÔzÎ~³e½^Ófe³Ý;;d.ÇVs¯¨½cMœ)¢ºŽ‰H Ôºw^Ä@GÒ8RÛL›gŒDZ­Õð}2 3xûô…¼eüo¸=ß¶˜çl/Ï9]¯Yƒ·Zu ˜CJfK ýZ1 #’ûyö›kÞÐNV¤!ây„ëqú,™ÖŒž± Ù#‡)g§'œŒäÜ)¸õä{ÏãXl˜˜ò@ÎÂ: CY¸õqW+Ÿ¯TIëB–¤\Î>åõé û»—Ü»{ÁÅÝsöû=»½K:œzõ…®">ÝÜþô]Áú[ßüQRÉ”aE**FF²x¿E ݶ;Df×ËÂK2,€·3@€]5òv³e2¹E4ñç{ŠïW]ä3½˜ã¸< «oO•R¨µzõÉAÉ$´N!¥ i‡·à¶ÀsŽübòz_gÚ{5‚¢5 l•ÐEáÐû`z¦ö·æ«å¹7‡oÿüåÁÓÍSoïÝ<›W¾ë»V7xäé{›ëLaµZ±Ÿg†,\{ønÞ¼‰s©Í=ZÎÙ'a‡6é8·ßÁ€!!ë¥Z«dñ½Ýe\Ÿ ©`&LÓá;±Z˜)ûÝP~ð&7n^ó›žÿüçóÎw>Æ/½þ×03n>íZ+󤌣c‚ÕjÅÍ›7™ZåöÝ'YÓTØG/´ˆ×Íë×0›Ùï÷”qäîù%›-»if¿w]O­ÕqHó"[µmÄ"Ydëv¨±¸ï†Õˆ•LŽˆZ“Ó¸VT Z2ìÂc‡·\ïeAj<]ã¥j¸ aÉ jX[¢U5Ž=×?ï¸M0¡böÖ'áÛè?”/zÁ¯ñŸþó ˆ©†ÿN£Øµ3~ô]ÿ)ïÿ8É̾qIpvº¦$8=»†¤Âµ³„L.¢ò˜fŸaTraŒbXg%jäþÃèÓ+†è#ÞnwŒSuo¯†5¥‰ïÕpûܾ֓}/„wkÆ¡p²=w­%Áv·åáGŸ”¥ZúÈ£’òo°Ùl½`hF5E ¸ÚOŠÓ§ÛÍ–y9ßl¼À¤>D`»ÙQJb»ÝRU8¿wÎf³w‘Ý<3M³{è¸Qu®LµQ«¤ ÞV7#3iq‘ž!ð¿A»f_lµ9•$A§zÚ"hÎ$qC$HÅØœc™¾Cô˜K¤a’‚¦=)j‚)d&uï¾ké ™3†]‘ltƒÑÅzû1 w£Õ%µë¬£©otéQô€Ëúj•P݆ª¡O‡ïц¶tNÚOþÆ'ñãÿòå[?ïÕ|ÞÇýÖb˜$£PËüÚå×ñº;_d±ql\:žëÑ!õT0b=:$;45%†Qpˆ:ªK#•.´|8KQxa¬" µÛÍ#ßùò¯”O~Ö{øë_ô*®¯ÿíS ï3Š÷^<Ä÷ü‹¿„¬ŸÅ£ŠœžRM¸}ûY”ó»÷X¯W¬Ök†qÀ¦Ý–ÍvǼŸÙn½ oÃl­rëö-r.¬¿í#ákcs¹¥¶A9;9as±cs±ejóíž;wïrq~Éã߯¶—4RÌ'Ê9;¸ÝíÙR. ã8ðĽKnÝ¾Ãæ|E!÷Ø’²/@”w¾ëÝ<çÙŒÍvO|Þv»c³ñæŸzË›wN×kŸÇ`uÚOêjeÚï F~L 7P‹‚#œ¼l‹bbïËpj4"F×í÷È~òYM$PŸØZcÚî"RtDêS;°ÚÐØ~X›+r‰Ü¿7}j ?Só¨”SD­FÁ²G’´EŠ#€ùì(3£ÒçÙ:è°ãÄ?£ÃÀ Q“1qÌR{JÕÜHµx¦&…•Ýðœó÷K’¥ï¾Cß±¶#- &%±_ï³øË?ðòÕâ|ͧ¾îß(Q/Ûyäÿ|ýWð¦÷¾ˆ³õÚ¹á9û~žI9Q犉²Ÿ+M…‹í„m÷LÓÌv·g³¹DçÆ4Ïl¶[ß%g(ä<°ÝO¾7Â{KÊÐ=HÎ mv»‰ÍnÇ{oÝa³Û1íö‘Ë{H'¸©j0ÕX˜~Ã$ ó"7ð ×ùîE7D›Òö‚ZæÖOrz²fnÝ<±~øAvÓä†-¢ÉðýçD0m”A‰ØøÝcw'÷b)-š-o²hå<Œ¨é‹Ä; {íŲˆ ;Åò…ï+‘•œóvrœgê<ƒVò!ïYη×..ߎRœæ˜@Q4D’èö‡¶†irU2¾ò¬%/B€7B©šõau¡UE"õëªß°’ã‰HÕL›ÓÕÂDÕE¾b~àq"•Ä|üh¯ªkŠBáRüt&O#%M)G0É.£!0Ä^ñ«/áŸüêK䯽ô'ùSÏ}Ûï5ŠŸü­Ïb÷¼á±šY%׉T S­l6a}²öªlʼã±ÇÙl6´V©Ú¨Se®C)@bžlæ¸à—›­hŒbNe=ÙO•ÖŒ©ÞÁ×þa­àAPâó$1M)ù¿^©ÎìöÕ ä÷ESâ¿K”£i·ÝòÐ7ÈIØïö€÷MÔ{—짉aÈ̪0Í”â³Y“äÈ‘g ¥Uc޽®çyÆK.vÐV¨6´ºD¾Yõ^ óÇ]ìHï?O™º# iLª´©aÚ˜ÃQdížØgN™Z›CŠ®Bb®­{û~/tI7 Iá8HhPµµµEHI¤N}[œŒ¶Å•w¶Ê¥ü}‹oè,ÕAFÒSÇnŒÑQ˜zÅáÃ!˜ÿ5á _R¢k‚„ #êXBâêÄÛãy ûéõDì|õËä¡Ó þË/ùQžyãîÁ(^þ¦—ZŠjsÉ…¹6ÞùîǸÜí¸}çC)Ô¦Ló1¢£ÌÔP|컄<[—~i½¯Øv(¨ ÃÃ¥·—.&êB„êûæ2…^EöχÐ:,UôEçŸÊò»wíEÄÈ~ŒˆP—L_¿~‹í–ËËKææ­Ÿmçsgë5''×ÉY˜ëÌ:¯ÉãŠTàââ‚iž™çÙ{˜cgÁÁhܵR†e†Rk•¦-ú”m©Å˜ Ö ´2«!ÙY·ºßS÷ª5 ÛGÜ žo“¡H¦Uû] ØÝzŠkк{ v)™.”®ª«fRô®¸2“ãå>ÆÛL›…ÝÇßr7:{u(<ØÑ"7l) .½øþlÏÆÉ°°† ˆ¦`yClرÞb¬ÍzáòÐW‡×9åèTµÛ—g|Ç+¾^>ãyoç›?ë§9&Š¡k7ÖƒWt§¹òž÷<Î~¿ó› GVRLÆCüú^ˆµ$÷r®ˆ6ðâD–ß›6÷½ê‰‡U¿Ø}œ½Ósó¬$™cªµÒcžô1’2)¹¤4÷gQoö9ßìxÛ;ßÉÃ<À8¬˜›ã0ŒÔ¦ì.·>†fž1Œ³³S<1H´ÛáÙÜì=ԚŌ rKñ.ÂîÒKkáò ¹|*ŠTêï&T§Ìo¬Äˆó‰æž‚¶P” æZ05‹–.§F{#¯¤¸Fìïíú¬ynär‰ÅjžŸ·žâYxcë)‰/LC¢7¢/ö®®µÐXõÞø¾Öm‘~øË [œe'2$ô`Í•Žc¿²¼ÎhóŒ„. \Qз. ÖfKý̯ƒÙ/¿ýy¼þÝÿ‰|ýK^K©u^¬mš|ögpyÈ”e<‰‡C;ÚÁ–êèS~çŠ{*Ë]ølë:™.ñ;Œ¡éÆ“svÃà@¶Èƒ½7À0«‹¸¬çè)òI¡ZN>$1“uš'.6™;wî!'gNϵ.7T€ÍvÇv¿c}>òÀýì´ï1Ä/CgSBÖÁÑHQK ;$O;QA³¿¯©9Óåoòñšªä.¥À\Bâ+2îusgc¾° bÀYO_]ÆÓuZýž6ž<6È0*î_ìKºÓ±MD´¥a쾇.}'½Ûr¡víЗ/aÐËÁÁÈ0ŽýÀ##‰Hæ=fìúú-%“Ó€j …nŒýQl¡­šõf‡Õî÷à/o êÏ“ÄÓû¨9ꇶeׇû0ÅÑÙ±H”¾séÅn‡î:³ÞÂhK Á‚z ‰¬Ë)d9¾”äLF–M6†Z•œ›ÏxÍÂvÞ x‘«„ô\ÍØî÷”ÒÜbaá«-I"‹¹ X€ØtR 4ùØ,)z%Xs¯E¿p¤ŸösÔBs•NŒ@¥ªã^ÔÂuê’·û±J:äùÖ—mTÕ-z=ªBÑDRh­h‹÷ôæàäúñuƒHAùJRÇGqŸâ6Ü7<áãKZˆCuœfûyÖìN3RtK5¶3T1¤ºß"Ǽa€a(©g =²b·ÙÒùëãƒéÁÿ‘Άûc±Zħڅ뗠'æV}ªCê©^ø“£¼—s)0KÆèš#gŽw1í7íÙ~s̽K¿x1<ÇpÖ™£¥„¨ºÑÄâsZ³‘Kan]¼S'Ľ\nuöîÀ8ßÇã볉ÝXa\­¢ ©²ŸvÌÆRb¡ú¢mæcv@=åð\è>Itrj&#Ž-®ÿr15R”¼¼>þÖAgoë;˜ÆEí F *°!@3["x“§!Á’÷iá ;MÙ#i–Œ”‚ØÏS¯³!âÃH ÉF£.í´)Íj÷ý߯I\?Ü#c‘–ÅVf¡ ÝS`Q,õŠY(&žÆ%,’R°XÑÏ×°ª.ç–ãþv:tYÈ}Å„atÚ}9§ccÁï{ŸúajˆÔøÂßã§á-µa G«s± TߦY¢þ•S‡) ®bÍ"¥vçYZluÐȧeÁ*¤‡Ÿ=×s#ð×¶ Ãlთ-sûˆ£ø¿ä‹t°žÑV#ZpðÀzð  ×þÄ’Jüó¬ok{xx{³y·ŸOZ‹Ý}r°@èÉ¢ËÉ)GpÖ¼ƒ.b²)1´ÌyîZ«æ4#‰.P øˆÃ¸¡,©\ ÏiÚ"E »–Dçì†Á'ƒø¸›¾ä;X¦¾é–×?|za8'óè%ò¬c—ÅQ­ yxò¢d*„Aøü׎£ÔÛ£ä$á ½‚ºïÑ¡3GKÄè©_÷^±˜ûõ’øÎj)Ô¿§)å0TÕŠX“½Ï&Ç œ2%e†öÔ/b§áŽ»5¯•ÃÆ…FáÖi8u€.¥6“x6J…âôäÂ2ˆçÀžWê2¨¸†×GêᆛÞÏn .éðôÚ#Ï0 q¼9`ކŽ&hºèÁNÉ£I’DÊ>…Û8Lqçá<å´Ü8±(ÇÊí…nîžZ–$]+AWg.R | ¦¶†¢Ô.ÇÁ]mÕ#es)¹„6)3$7öý¥ƒðÖúâ·åf/¢ÐCl¼ïß~ï:ðtÊóòdÂRŽP£ËØ']4¥@w¼Ô©ö~Mˆè.ùf*)Ç„ C%1Üñ{#É OoG þ€Ë ãVÉ>BÇb¡wÒ„ÃÚZèþàñJ§‘lym/|öÈÒ ´…“D°½]éV¹@¤åwŽ8”ˆ±¼úØ«Ñt9™ N;OðÀÓ¬"”q„|”÷«¢ôJ¥_tõ;ï“õÐÚªª”ÒGÄøÎÉ·Óõó=U yIIÞ×áÆ;“ªWÞØÅ"8ädÁ^H[äãžÝЋýûü&± DH©÷]6P%Ö7M½Ô¥A ¤$”q@UHCñqÙGÃôú‹tãëù=`õíé£×b¨?!¡äK‘è†1D„wìæ©¡ªŤÅ"Ͷ´«y±õ0ö&œ€„eá¥î`pC$e̪ƒcIÎÁ1{äìKð˜Æïç/é°Ö–ß?¯Dc\ @”ÍAüb¢‘Ž÷´„—¼Œ–‘å :àñ*q/¼½¸xbá™ÓQÚ;ç ç¬{9‹Åà]w%víLY©Õ«°îI:øŒ¹pMß¿§jx>Üóûà䃷Hu¬ç52Кw %ɤԀFŽAÀÇiŠX—t ·ñ¼€9èû÷¸ôëgDþõ•”¼qÈ?»§¤n\-ŠcÞcUä¡«T5Œ/‡ø¯-ÌÈÄSº”¢O0ï#D—¨¯â@=ާ?´*‡çÂØR–Hõè²€Z'*zµ:… Œ.©é"·ˆD>´Žøœ~}b/Ã{´ïªÃê:ÎZz8ˆ:—vêõ÷»Ô5–4¬8­¶tY eÈÙOFzåÚ—Qøé_l©7°ÄuÖ¾CPó/î†A§ñýršù\oCõϯ-&hxå¼…EG­¢y>lÆaä¥@í½»qƒzJÄ‘¾*Ð&bŽ%zõÝwȵãÅ<Pв§:iJgUz¹35’rŠ$^ wÚ¶”¡ü¿`U:>I‡¾Or>ܰ>ÉÁ–Õ©E—Ž÷TÉ͎οHJ¨høŽ¨ÕpVK“=‘ERY’1gëi"ôzV2GÓ0Çf ½I‘-$¿ât‚à ƒëÌSw¸º`ÖÄ.RÞçrÿô•:ÃX¦KG¦n˜,ã8bÀT÷ä\–ܾ¤ü )vW£öèƒqm™œí”WêÞ«¹^Ebö¨™2Ï3sc Ýu…p¦gì^Íú:ˆãêLBëãi¤+kYÒˆ°Ñ7w÷T$oöu1P:É`m¹ÈÚ Ñàë…Lôó=“øñçRÈæÑª¯oO oèUî2fD}Zkî,rìK—³PͰ”˜CïTJr–ªz¡«Z¯öv(ÌÅwˆ‘ÍçËvJÎMB;[R¨Ø<ůYÇgÒY>fXrvMÑ%ê‰ul [1Ÿ,…F¯ÚE³’…PRX ô÷Á³jd Á8®¤{é .RŸÃW¡qB‚½ >Æoz@mᨎ6¶”ú–Ò"A(}ºÞP†ÐýõâÒÇÈ·çØÊ,ò7–ÅìŽÎ5=úzCº×p·î'Ýâ{% kê£òï+é#컄01,=€Ûñ^u~û¼1iµ)Î]'UÃ{xDðˆÑ/嵕D¡\’.FÚ•ÅYrP˽ OÌ–jK.^Êà즀õ>êÑ lyHŒC¡d¯¦N!ÔRhµ{L \0Ó·01¯'”.z £‘p}xÚRT¼*2–ñøýÒ꘧FÔv 6úŸ£~äõ¥¨' ±í—{c¯NË~[kqÎ}4‰dÓÚ¢'áš¿ž’$ä<ž‚A`½Þí×ÜjmtåþöEÖÂq´ê™ÖÅÁ ð'úz‹ô©¶²¼¡Ë8„ZçE(v(óÇ«z:k=÷Ó0³ØÖ·ƒî#ÁÂ!ËðŽvôaÉz* ,C’{²œ¼˜Ö[;-Ñ)"È0 ¾U—öAc>¶¾m{{ î-ô½QÿÈóĹö° ¬ûE·g‘Bd!™zoéLi<Í”#ípÇ’S¡¤„$Ç$ª¾±ÊjÌØÉ T¥• ÒÌTA[Ñ?DÑÓû¨Ý¯yª9tÙ†€-ÞTó›,ðLè¢æPæ¤\¼2Žväè÷¼¹ÒTc gТ–×k™´aŠºW@›·¨xWQíìärŒKêç‹^´/•#1‹É<G+}½I‰s_ôtÙŠ;°À^}(¡"ÖJ€VñB^£Ôt*]׋®è©R_à‡8¾ f,³@[ë 7Ð<Œõ9EÖ;IÌå çåý3òÂ¥”ØM“SlG;­ À>ù¯Dj£æX¡x[cg 0¨³kú¢îÓý<ÅrJ± –+»,^ ú4 C "ëÎÀ:€î :ïàÓZÙ17"S˜Õ‹R¹ÖÄ'‡' %+ê43OþÎó'ßN÷ê›ÝìQ’DmÄ{?W_pÞp' cA™‘£Ž„¥%",¹w_H„x2uüá©—™QàŸñ«ÍÜÓvÜb>Å‹u­gáÄ,°Ÿûʵ¶ ëR^Z—lÄš“0-À³KiCÉ%9y)+ôÏ¥9)Î ;L´'À¹ÛK@1ŠFŽ/U‹ìàè– GØdO¸»Gí)WàÀ™…¶ªC¢ö}КFÏáÓW|6kúFß裧7)8ÀÔSÉÑnÚ¬eô`Õ7el­Ñõ=Rö)×”y¡[èÃ@{:ð»Ïy3£³ÑÄz’ŠO ר¬RÅ.“söéêcJ´¤ŒCæ¡nr~qÉv·%çÂ8&†\@ÚÎMÑ“NPó˦+‘—ùð}]T ÁPC_Ûä‹¿V¬ÖÀ²zXœôý3úuïQ ÔÀ棄rö\nò )ðι|·_Ÿšâ”·FáºgA%û>‰åØ¢zêpøý~Z«/ˆ‚)E?h‹¢ /ìn£A«^}FWSh%ÓÈ^Owã!Aó ¼»œ¹wû"Æ#>“k<ŒårˆLꛩ§Ö ÷!ºäÜj±Ð—Õg¿:f ³+H­p æ,úºô<åNYûEN,)Åšªî0RLŘZ[j?^R {Swûi ÆaÍÉÉÈzµâ=ÿNäêi‘€ƒ²^”á!´5†H³Î//¸ÜlèXP—ÅibJ.þ›6ÔÍÔ;-´×„Eׇ'3DC€ô*Ã÷ƳZ©­1ÀѵÀ‚†øþZÛâp}®UÔ" J4ÅQÌb©Ù¯mDw¸JWVKhµJNK¿{÷]îti¸ò4ú€I¤EýX79ö2ÎdQ!,”å5‡çïÇ‹,Ø ¬"¨ïd£'ßý†>ýé`B­;V%qzvÊÙÉ)<ùø“Á 6ÍÜ\9.xâ¿ÉùíǹùðÓ8½v‘‚†¬Ø;ã^ ƒj ­3¥Œ0¥3-ýXý_=ú_Ô¹§Ì IDAT"ÿ?æ¦D£RgŸœ&v/ƒÉRZ"-¡±"0‰V󊽵¶\#ÕÈ“U]›½íEÜè~ø!žñ´G¸õä-.//ÙîvÎ u¿!>×36eÚOä\¢îât±‰§²>áp åÂúdMÛ lU¡U`Ö°:QÌ;,…D²äÞ^•”*)ZL.ÞÌbä¶'O“¿>%¦yf¿ÝcÄØ qcmK›rw¦%È‹{“rv£ æ,È—À7) &ÞÞݳÌs]ØÎܧµ—^ŒõîN³õÚéùã‚¡ÀˆlEÄâ¸w:Ra¼¿úðÆã‘ñ=j¤.%Š%æC~OÆÄzµâÆÙš7®qûñßáz»NBIÅ7GÖ™ë§'‘Z\27ãáë#———$I¬On>ð¨2Ï•'îÜåîcoç^9=»Îl:!8»~ñä$»W–ÐT©.Œ¸ƒn—7õô©OÿîjKÑ^¤Ò¥øÕ#¦ï€„w¯-Qú•ÏÁœ%K4[$ß݃.yt¤#p¨ ýÿ\½K³%W–çõÛO÷ó¸÷F„BÊ”êÕÕ@u·õ˜)_€1ÁŒ1Œ1˜3…†`ÖÝ@™Ý))$EÜ×9ÇÝ÷“ÁZÛo$*K+ËÈÅ=Ç}ïµÖÿµ:ñ‚„›•R 1òñãG¶mow­”2Ö…)b†eK+)gEüd ^^®JÕø˜Ìº\Y_É·ÒË Û²°¤Múhg™byÉzœ› v|¯´´Rm$'wá1ZƒšÙnr•Ÿ?Û׌ê[÷`ÿ28€ŒÁ‚{+¹ItCm)e¯èã;÷jèEçky³tRJú}ë>ŦϦKž°•¥™ô¦—ˆè\\cלuûm*â|üœí1£¦¶cô¶Ý޵Ä2VdBÿ€ÕoÜÈø÷ýŽú Z³û-‚“Y¨èj…5^nogõFõ™R²:é¤úœÀ½ËVÒO¿rwwæt>r:Ø6‰Ê¥É~ ]_ÜzåxªºPúm¹ýªP®·¢æ G3².Ô´`[•˜—¼ F®3Fi•„¡\…äÑ'(£ªâ9k ×¼ðúrcÝVBŒ8]3kµ'uFnÛ9FLÑ™ ¹r*R­Áw ÝX~]øùå‰jÖE¾û«¿¡/³M× ÐQfþMÖ"‡½·ØT¼C¼Z­5º7†[ÎàLÅÇ€Ódõ)xœw¸àYSÂÏ')çE.8Ý– ­$jÑo)¥ry½’·„÷žüžÐH-—ׂuYØÖ+i¹ÈP›7¶—gÊzÃUɈšËÊï#~š9¿û@¯‚ž¥Û”6^5 :—+ù×G¶œéÆcl¤W0UVŒÙRåf·” 1F|k&œ×tm…¼ór±ZõEë³Ì%Ë‹?®ª"dhme‡nœªº ÁÚ©jp†*DÒñÆ;Œù`¼ocÉ˯(“UŽKP³¯þQÕ»ø|üܯLÑã­ÄÚ ·àÈ|»­\/WÚ¶aòŠWØNB¬û›Ÿ4t í ùÊ7-CnßO$ˆI6nÎÓüæTë¢@}ör8nûÞˆÞïå¸õþ¶¨C_¥ýÂXžîÌß`§ãÎÒÊÌ~cŒ6QS` ýz0ö¨š4)Ý­Á!L°sžÃñˆ3–)zÎç3ÝÀIÐI Tëš‹Ì@b´ºòªÒJÑÁ^[£’H­òøù39oLA4¦u¡–,¥¯¯Ü.ÏÄ`ð®s>ÍDãXÓBè™Ü2¦WæC$×ÎuÙxºýŒs[;e[IëJ®¬2pœ£äŽñ«‚Åà–Fð‚TÒÒ¥ “8 ×¼â¤ÏÏPj#׊íúöNÎ kå&¦Êî­ì<1j˨\Rß¿ráP¾"hYÛx{_‡`H'0æ(YJ³³úÆ@«8†Âhl逌»,}p Ëmá–³hešheÖmÃÁøm©øV©´7î¢5y˜NÒØ†äaO·Vn¢NÅ„öM<è€>ÇÈÔjkíþÂÐþFîò + `F;ãTR±m«ÞP[!½|f{}ÂÏgï>`§#·‚Câ1^öýêÐvŠýÀE,ÊOÂ`?ÛWátž9Î÷÷wÀRÎ’ ¥·¤”s1޼nôZØ–+—çG^Ÿ~Û^+!XjIœŽB_Àz[ض‚õ"§^RÁ:ÈÛJÚGN¥Š“nK‰Ûš(Ý‚8ë‰(ERK&.xlæ.±Àº(‚Ä–º&r¨ÓX ”¶òX'IìÆÉϘS%·Bð7ÚRóµ_Âjª|Ó6´*Ìk  P´HÂ'š(üõùH[5ZЊÏ÷À`ãµ(]É^zÖçkt'J¬vÀ‡ÿéÏ?ÑAö#÷NNe¿U}ð4 1†1~¸àº,B~•B)•œ^¹~zÅÆ™x|Àïôf“Ÿîÿ¿ug4¥c8ëÇÞ÷ñ tó§·„xÿá=Þ¿Ó•VàÑÔ¨9³Ý./O¼|ù—ç'n×Û²ÒSÆ”Dtp~82f‰'íjÀ˜Îó—ÏZ)¤­±êÎ<*Á{rIÂ"ÃN [§ŸQ¢j¼q2+Y ˆk5€ZZ\7¸˜.ak57ù½4Ú ËZ¨Æê<è¨I¸Ú+¥ÉŠaçd Un2kxë$} ´JÎY=|Õº ¡Òjc]Wj+*à”¹Ì9Y`鼃fÅX¥E€F©…T ½ ˆanY9;Ì-·çȈ-ù×ac”ÂþË_]l{#`Œú?Þ”º;Oe ”Œù/ÿ‹ÿ¼[kj깣طDç!6Y¾äÖ‡b죓›É(‚3à1Œ0…F˜ªz|(QÓŽ.í÷õpöýƒÉ;;n”aà©j qVµ1u@‚o„¢R'ªmšyG*MZ¿¤Ê)„;fŒFIŽ~¹V9üãçWäßÒÆ´2®È'è½Ó_ÞJŽµÚ–Y]/3ÅZаàNàÁNÝ0ÞüNhH;xvÁ›hyÀr­QY½óX1ÖᥧDI›dÿZAc‚Ó¾5бäîé¥cJá †„ñê,ÍH"FïmI¤-ï¶c„(²oÔÄ#dxC¬>ç!Âñ;MÕmµµí«ATÒµíÈÔ8ã¼Á¾_™™¬´€Ã—Ñtý¨ï+ÈÜOAöÉQ5õ?Zœ…E7h/è˜BÐÔÐR†ÞÔS¬t¿V‡Z¾ˆnÑ­H ¿sê@ÑÑF$wxï 1ê6Qù½I2ù:`áÞ¨3N/’Á„š‘- ôZ„˜ê2/µ¤b3+=­HDšY†ÒG$ä_ìé á?´aÉôÁã½Ãz­Q-»j•®ÊãhE .†F*YEs•²½ щ÷x°æatbÛ‘ßû´*[ïBÖ\©=ã½9|]½­‘Jñ¦s“ àè<ÝÉaÅŽËmHg:>¨˜ÒYš%ïàªLÈ´*ú.ùÚºB«‘ߨ©­jf„xï[Uí<ÌþžtcpnT¿¹¬G<òŠUÆ N«´‰nøxvW/ec-þt:á½!8Ë–²”3Üž=꜓!X·µVX¶7óÇ-|Fo_'#hy¢C;æ ³yqßn˜Aþ"Õ+«ÚÕÈY˜ÛÁ7» n¸Òz7§?”¯cо(r3yçö2ox òjõí0ˆÄ^ÊÔ[k9ŒA–^4i¤ëÕÏg\(>rÓõ…›|Œ±”,­KÏ ·ö*˜,Ò¢VEJº®ëÃ2j¬öÇr‹´®7M?éê1ïo±‘r€Fö¯úbœ„Õ9õ4[Õ«¬¹Ü¬a ØÞq^æ;g䥤¤tòR½¥µÈù·Vc÷µÕX~Ö‘…[«¡ŒÏ!Õ ¡ƒñþÏ.1Ðn~6m¯–rðF¾ºrncˆnYc3æÚ7‡gŽ¿m› ²uý¡%y{ @EOŸE-Œ±Ð´×‹Ý.MsÃ@…zGC§D¿3ˆ²1ÜBÿ‹ƒ²÷…FæDì[¨Uïid¢M²ã/õZrƒÄÑÜŸÞ:Ýjî.=§N‘-7< "ì3V­ÓŸÝ¹iŸÅ,+¨ÒÎà‚dÈbèTò–å̱•ƒ³_ ìÞ §ïô·NÄp×2R+¯°ÔÒ´Ú7Ù§¡í“ë`}P)ˆfiÍÑ«§6‘¢Œ„Œª‡]ʇÈõXa¦·zé™®Æ4ð¾b~ŸVÚ+yOûnþ‘Jô&6µ ïuú…€SPGù¨`Ù}4Þ{­ØúçAòÅÔo%Q~W ŒK¡wqärªÃ.Ñ¿ÚÜä,V!{/D‰ö]¤o«”Äô½Ïzºã­Ó°6¨åPNÚn!EszÜ80LÐUõ×½,T‚)í\¿*®y/í ¾ÎV-¾–mçûíÙÕìb”Œ{SLbò¤¥³ë°Ï™ÃÉ »B†ê­vÃüd‘ä}9õg¡ÁV„‰,ô¸©cô»§B·CŠÎI[Õ£Õ¼{F=odHÐ +U1èM_Š8ÒJÒjdÚ“NkEÚKaÒe­¯Á˜¦í7§ CÚïW  + ¼¼xg©Úƒ[­Šå+ÎÀZùÛ½äøh%SW"®Wm}›@ýµuò–TØ©¶õí²èSt;®³„èpV%K-8+3aßÿ€Ý˜&tﲋ<ç"ž{,y€ V‰~x±ÁhÆ&x'í“ÂPï¾â»‚tƒïN!U_³Å î;;òÚF4‰yƒ= ÀCZ¾Ëªuhñ›U½à£ZôÞiÊ—ì`@‘Þ;R%Ðøó€5n!9Švmu¢¯­¿}ÆÑ_¸XCWY ‚ÎÞ5?Õ ãm=#Š>sÖ¬„ú:ÁÇ[c’5z{u³ƒÖ¬HÖ¢ªN ^#w~ïöL{fJ7VB×zÛmmÐ pvM»+PÕ4Ö+ï˜Q…\ ¦*7Ò®i­¤ïÏÖczÙ+uW€EŸ»À¾½‹æˆ.´BÍït>ÓË×;É¿òNZ±íÚÒ ^b€ÌhwÇ&')Mûa·ÎÉ ®k”Óº½ ÇÌÙÅó1ÚK‹Å{o÷¨·i]Ñ«7¿_µVE´¾í3_•Ë.n4¾2µ÷N-ù/2Ð Õ^å •’Ù{x£ý»sX+C%ƨ£¬)zQßdî°·>CÄg­fÕš!.]Ú«é2D£:üÝ >úrkpþ-aÜyÆè‹dälŒóXg‰Ñ§ñ1:5ØGCÖ*P©ÑYzÅTñ¾Y7BãÄHdõïÂZ\ìÿ›|¦·&/ªšº¨üWsšHÄ»A ?­”Î[%µäv([5ŒÀX\óW¯VãtTöí¤¤Ø¶wr®ºTÇ7ñ•®†µÖÉ9 h°çÂ:¶\hÝŠìG/¥RJeš&ùžèŒu^¥@¥$m§§¯Þ94üloŒyN³Â\Ã8G)…çÝi9vû9ýß|°«îµüŒT¿f‡`ö‘¦êÒaÄÙ¡³¡ùÐ~Í¥æ+ÔÆ©F¥éƒ,m¿Yä¥Ö‡á¬X8ÍÛ‹ÝLÝaÉZßò|¼±t…‡k(N6uz‹£V1ßìÐ`×ðýûœó»— Ã‹9ªJWÁ›1„m­Iµ0‚ƒ;ë±>H;áß²Šú@µß–þ]‡ò®b«§iåBZÓŠÈïõF¶áòY+& ÌÞhK÷!EÙ‚u¸(rzïúî@‡žæ ×&³Œs‚( N®¥Q1˜Úuxm4#ìwë”2ÛšÈù ‘Ö¸Œ&Ž–µm™=¹Šã.ø@ë†uÝöAß(b¬ÀâÑKHwJE.. §ãï,9—ý0÷*¾-U!á&Ǻ¬Xç©9É…©3lÎRÝc äÞÉ%Sj!Æ Ï€áÃÌ(ÝrµhÌ$T‚ïPÖ¸U¼5bÕ^nh‡Æ/Rˆ7&½}­JF52ZeºæÖº}˜j4uM9Z“¼¦ñìk)"5ù*ØL{·hì¿×¥1ö Zì½í‹UjI8µ÷VÕiÒjeÀ—"ý®EnßM×¥ bu†ÙõBÎ0Žž¥2DoiµèâÏŽ7–»óI~&ûu*mP$¥U@ý5çä%ï%äsNeYWLoçsÀ˜Yæ /]GÉYeE²lÅ;Çû÷x7^ry>)mÒÙh«™‹¬…¨­`aoÑK)LSÜ/¼Ö;>¿÷úµ´7e¡‘d Ä8Q«~±Xnä%uF|¶#aiêÉuF‚¸º–nï#Ί'ºªï h °[[——«d%èìÛŒ3piËðh aV›È2†z˜õÇÁ„NpNÜ r&Ål¢žlÃRòQm’ŽHufA/ºÅ:š.%Ä‚Œ¥R¥Fµ)µàFBHѾUŠ^òfʲ+={§ Y³o%–GE!2+º2ª°s:87A˜¼u´ÚIi“6$F¹ÁõñÈ VU„ƒ KNÄÉNÓ=¬šwdP?Oø8QScy¾PóF/ãNBô1x)y9g¼ÐÅ9‚îžC^Τ˜é]µLÄÀ_k~ëAu`ÖÒ‘ˆ7|(ä'_¼Ùã]œôn‚la)/½Ç›± OúTñ/ áir!VÐ'6J%öS`š!zšLqŠ´ÖÉ[–ƒà¤Ê¥B«êßnXë5 Ê)RªàFëܶUf"—ñBëºé¥&u«…-%â4Ó³ ŒqŽ<ÇÐ8Ÿ´\qµPK‘Ÿû`iÕüÄå²€íD療ÀªÆˆO>D¿WDA<½IÅñqzC@KÖïúmÆRra[W½8 ÑCД0.%œßIÁ=·×ö%z1ÀÍÎQcñû×?°l‰Ëå†sp8o«œÇº·Ö´CЃh!L‘!5·*h²RZÎÖå³[k‰MVµùïø+m¹q½-|úô—Ëã)%µZŽ)xš"<ÖX.—Ë’Þ¼,×X–eÑ ;©±Oê¡d 4Ò'ʪ¬ÁŠ{h-(,j8Nøæ›÷X /¯RÞȹðÍßÿ5›îµ^—ôNÖ½qÛzå8yFáÃùÈñ0“ká·ÇWž¯™ŠÄ<šV”|“¡;jòO7(+,0ïÅèäœÛ—4#/àÈŽÕˋ֦YÃò¯VX³ªtû·èDzejí;aYÓàc†žJÚ§+O"XS8ÊZËt:âœ|6ô/+hp˜Êép϶®lÛŠÅ2yÃtš°Ö&a€sÄĉT ÞY–­PSüÕ¬yN¹ +¿P´-àhžJßCËš n¾µÎIPþ ùöD‚¤–Q=RF¼ËAHIÔÔ’ \T]˜¦Ix’6Ú+‘Àl9ÇE#ð¬µ{„³¿UéKçãq:q>ßk[bi%óòòLÚ’ú  Ë*§»Ö¶…:pÛDŸd­'iΫ.jÏ9ãc Ã>Ì‚°ŒÎ{¶u!ØÀ#%g¼âó½U¶¥ðéÓÊåå™ÃáÈñxà›xça"•ÊËë…óy&†€u޼mœNG•OTæyæõ¶², ëå•R S l¹•!7¾“éYÐ&E·¼³´”€a£¦A,¬±Ê´Z wS²rߒв°f@X]«VÈÚ*½u¦#F_–B«0O~7óû0‰º×{ÍÏ@!ñ9;ïñ!bŒå§&Wá ‚3äšéÍâ½ágÞxP%ñ×—Wz«§IМÚYÖÌr[é=Ò l©èò‘ü·Ú$Œ™Ž hß/Ø!­SjÒëA:¿õÞÉ›´ê%%èÂF·¢m[ŒÊl »êuJ ïi!£$Ï<Ï¢¥ªkà0Í;ôìÅÍ3´6VJF¯ÎÖ9üO?ýˆÅ£˜Z‚3œÎGj«xgyÿá½æsÊ-þøüÂõºp½.,ËB©U„œh· ‹ 8ÇÝé p\ÍXsÔ, ¢½måÝÝLŒ“¶òƒKïíÈ©PJfYV^_Á9Ç÷Äà1{)”Aò–6‡Sô§€ ‘å¶ðôøÈ¿ÿóO\n 9'¦iâ0Ù†´«}·uS#} ´FW©²ax,*^‡eƒQ©¼ü¾^ótƒ¼| IDAT8ZycÔ<£<˜‘‘âræõr%iy¼—Þ·C0–T«Ä— W¥mQŒV•˜ª*ìÞÕ­ÒÑàަV¼×;Çãï¾ûÇÃA˜w,Ëe¹át:Òèä’pn¢–DðbbŠ!sfŽòÿS«<ÜŸyÿþžZSôl)“‹dnýøÓÏë–”‡µìv»éP+A-•œ qŠxœ¶@Z%Ä@vYHÚŠè§¼ÈÊK-øÚȨ Z_a:š «¿¼z±»j Ø ¹wCªì T­u”ÚÕ×-Lþ–%,-N‘9ÙÃääœÁîHWW‘áƒdÌ9ŒÊ—ü·¿ûžÒ*O¬ËBpž)xJÝhµpyÞðÖrœgÍjfrœ#G˶%ÎÓLm?Ï|ûñ#÷ÏþžFç—OŸÈÛÂÝùçd`ÃyþüçŸx~~f žãï¾4¨ ñr½^w–4åÌ—Çg°ŽçË…m[¡4~[žy|z”>ËÒv“2[*¼^Œ5”$ƒuΕ-e^^¯ÔZxxwÏýýÞBlëÆº&ZkÌÖI…÷` “Ÿ(53GÁô»ä¹–]ÛŒÁz·#mM[.ºqJOtÍy:ÓywwÇa’—õõõ‰Þ±,WyðEÜuÞ.Ë*H ÜßßqwG-…ɉÊɉe]߈¿Þ9fj­¼\®\o+µdr©¤Ò$~ÓY"ÐU«ÑšiKºD”¼ÁÏ*ÏÖ| žnE%{˜ƒülÝ iš/¥ì¢¶S‘wÃïPôå—yÈú 9¹zzij½í¡Æ‚¦| ÕvŽw˜÷„çÛ–åùYÃ<Ÿh­‚Ìl97îN'+æÌZ+€MÔ‡®aþ§ÿî¿îeÈ[£•MÓÿÄlî­åþþ^Y]Ã4EBˆl9ãƒçéé…ói†Þñ>(”iˆÓÄ»÷ïd˜ëmÇš- „8sy½QJâÝ»wÜ?ÜÓºáüüùÇ?“Ö•ãñÀátâõõÂçÇ>}ú•ºŽ—=ge>kÃú ‚T$#®¹išvµæ™“0é·ÛÊëåU :hê–f4•DÉ8•¨¶]ò!Ìs^Øâ.Ò¯jSk Áyj7´j)¹ãº!ÑzE;¼Žiá4EœuœïîpAÍÔ*¨Í–$ Íu3öª_¡ê‘œ+[.äZõ÷°Ï|ÒŽÈG©½‰gà I) mßW±ãújª;A:`¼§öÆòp¾#ÎÆH Ö»w1p[W^__9÷ç#çó™ép$e±­–"r`ë#³·l‹ôó½VR)äe£7É0½]®”$ÃøižøðîOO|~|Â>¿rÇñ0s:yÍYü !RêÐ ú¶QJåx˜˜NG¼÷Ýw†ËåÆOŸ~#Õ$»0 Š º“™±_Oæ'‰Ê4°xr©T]+å¼+,}wM_:!¬œžCvn;j«¡–F¯bÒñ¼»¿ãt:0E¹µ§yÖð`IúKe%'e³J`”R¤7b¦TvSjéŠêÉ­­×¹e¬¼×%ßPôR£¨©|¥ sßô`8§†*g)ꛞ¦ E÷ä¢VÇ*yS&öC®ï½8Õ=6ë¾C㜰ÔF o,ô¦žj a’h%¯í—ÌMR¶„uŽ”…ÇX7aö³˜µJ’dêõVþF„^ØqB–ÐÈÎð®$tÇPMÇü¯ÿãÛAà°yŽP+çó™Ãù,NªÒ¹Þ.,ËíÍmWŽqdFx71}û‰óÃ;¬5\/W–Û…¨â¼’½Ô7™Sáv¹Ò ,ˆsŽ÷ÞÓzã¶%~úô+×Ë•>ðr¹°, ·×ë*ht1¸`8L³ L Æ!½šJ¿+0,²l„Õ®´¿VwŽ<à&zÿ}=—/ƒì‡®Œû¸]½¢OÎZ‰¾±8LÇÃL¯gdE)™±mIDt¢»’áæi »ðº1\^¯¤”h­Rr=U)Ô ¥u¦ÃÌá8Ó{g]’„D4µ¶PcŒ¸U†î()CžèûíüUÀ6ÐUb"½×¼WWäEÞêx»CòE“Ú‡÷& ¾¥ÊÜR5¥ÜjÚ¢¨š2ótH8GÂÒ¨­ߋ݇wg ¨â¹VI:wNüô¹¨}ZI½®Z:ç$jÌŠ¾·Ê¶‰‚q¹UæHÛÊívÁX¿ßLÑ9–¥¢#„Hǰ¬1DzëB¾¬+…ǧgèMt(Öp<Ìu‹Q»ZRX÷õõʶn,ëÂóË…Z ?ýô³ Öñz¹±-%eNçïÎ|xw^žŸY¯7!£lSEE|À¹Èýý™ižäËDP-g¶œy¹\„ÍW‰xéÜ*Õ5eV ½š}²ZÒc¥ùSSŠ&yqfò‘ÓA Íá0ÖJ?Ý¥¶œ©Nzâ(œsƇÈé|ǦÊѲ¾|yä·Ï_öE7¹‹UˆZí¯m°DMRO)ï>òãéˆW9ÈÝùHŒM“j“ Ù\ñ8gº$cÔ*ú²Ýûî,)‹—Û鈱Ønp¦)0…@Ð0ãªÀÌ*UoÓ“7¤´‰Ù‚ѧ4JÍlXCNBÔ ˆcpaRM˜ òc›íøG#,^ ‘ÌâœÇ™¦+ÀvÝhÀž{û3€¿^oXk¸mµ>+¶ë¬¥;‘ ;#°U³žT©Ã¶Þ„©µ‰÷÷j&rÂ3h¹­Æñúr¡tËýùDꆔ:—×gŸ€Î¶¬´RðÁññwßñí‡h"Ax~y%-7Þ}|ÏñîDiÒO/ éßßÓÎÔÒy~~Ág¢Éw˜&óÄ4y®ËÉ;Z©l[¢¤$R…}‡I¨[OnËr£#z}ï §ù@ÔÕaÇÃ9 )ƒÌÁ{6ËUBpXç±Ö³åDï’"x÷Nçèx}~¢Õ •(LÜ¿û†RÿôÿħŸÿÄåõƶn´.dk,nš1‚ö³wê]‰Ip–31b ‡9rýÆmIXH¥ðÇÿ÷Ü^/„à8Ì3ÞY>~üÀýý=óéĺޠâ4ñðp·2DÞÝ8ŽdYΠ”V ²á|8éÌÒX¶¼n´”xnb¢i­ ûÝ4Bß b?Ù8ä¼Ü “ L'¯L­c Žw÷Ç™R’¸ü$‚»”W6m¦à9ŸOÌÇ#B$ќɩ0¢ý©U씚 |~¾Pê…÷âr½Pr¡kä>ÖÒŠTB¬e>é4ÒºÊá—ÛU5\ ØÆé|àîî¬â?Cô²Áõõe»ï€Š‘[²M}œ-½) P!m¹tõk4Ý-g*y a@Ð{ËÕF‹#Ûg–¬Q=U¥† àA©"0Õ”Ýã¬c$ÀÈ×b Ê ñ¶¤tèÔ$é°ÕB°LH;,\6ëjØN«”*‡^ÒZ ¾ÖÊËË ôÆïÿ{bŒ¬[bžfÞx>òóÏ?S<~ú3)IÄ»éìmQva 9‹ðÑ:?åœèLu¯ÉDÉ™R»ÚVßvJx„ºñÚØc¡bÅß~CÉïàtœ9žÎ¼·ërÃXHë ×»˜@¾}àñËÎ8¦¸;ˆÓÌùt¤”Ìíza[7]"î¨%sp†ß| ”LQFòxwÞsJ­Ü–•\ çû;yh­².‰×Û† A`\kxw÷Àßÿ5ÿþà×O¿ík^–ÃñHGöÆ ëªÁ»Ö’Ó¶1˜Ú4ôש,BMV©r½?Õ¥ ÂK¥ÞÐ%gâ‚,²-vdŽh$U÷¦w0ÝÞ¼ÎÄ5'3†h© «ÃþH~ŒN–°ôèÕyÙuâ°”&«”"¬¸¦Æ=4æùþ›>N²íF¼\‹F°è:_„¶Î糬·íuI²kÍ{â$ä^I‰õ¶HoîËiz;•\ÙRÚá=1ô™Õ8Ó;l[t"­Ô,¼äLœ8ïÈ¥²ÜnX§†¶ ÈFß*ûF*ß›"o;×uaK‰Ã|dÂsXç1à\ •LJI$ÝAdRq¤¿~÷þóñ´ß¬¥4Îǽn´.ñû‰% ^|O/üöù‰//nkaM™N'ƃÞÔ‰–³¤zTY¥¦‰œîh­É¡keYé%A/ü§ÿÉ?燾ç矤¤"œE.å¶­à¬áp˜˜§ˆµÒ`Í•u“Õ`#‹í[#Ä@5–5IëQ4# T!>½¬È7¹tº°ñÞ{iGŒ×ùÕ—IkÓ•ÿêkQ9¨ ¹hK©F!xBôªi“Ðå!L~ÎY¬ÇŠ4Y+ Â°æNjئU”°[)’a,}4Q‚CÇ7<—Ë‚užþŸý+^žŸùí×ObÍ•)ÎŒP²uY¸½þº˜¬qîÎ:®ýUËa'xKÔàªmÛh­0M„ùvŽãéL7’‰ä‡ZpÁá¬çùùÂr½’KN­5rÊ8¥\e™FeÜÐP-"#ý¾¨r{¦uAcbðtkY·išñ.p:Iÿݺü<¼ãîþÄ«ðôüÂÿÃM˜VV6¯‚¡T¸,i©×µ°nëuäÅkÕu–óaâ|¾çz½±ÜnbšJ‰n½°]Ä|2¤¾ýøžõvYyoþuÛöm¥2#k+3XøÞ‰SPé‡xÆF3¤òžŠ‚£×BÚUR ~´%AéÆ,j¬nÔ²²·Ô´ BäÑ5éЉHÂì4ǦƒùŸÿûÿª×ÖÙJãéñI‰ õòS¤•B´²Ë-&ÖëM¥ ¢KÉY†¥eËÚ*U™”!ÍZÙyá4=:•ÆuYy|~eÙ§ã‰eÍl[f_CîµjHÝÓ=$Z&í(EﺤÅIÉgBMmRôÞ$¶å–2¿}~¦Vö6ö"Ëêœáx<àtp•˜ uð’y[’hîøæ›tãx}½òÛ/¿H¹wN¤ìQ³Ukåþtänž8&‡!LôZñ“cŠºá3N|úõ ¿þü+½J0—s^œÁq8ÎÄ •z]VNÇ3Eî¶%.×…uÝ8ŸOÜŸg¨•Z”Š‚Œ¥’%ø v^o‰†#%2êÓ*§“­çó™Ç§ ˺2M—Ë…R.B8êJƒJ%ó·óeÛ„WiR±/¯7®l AÒJ¤y‘xHlí|†]ÛG;L1PËFÞV9€jjº-›¢[“¶_cP—ƒ*9Sr ¼QRÎðááŽã9Þy¹l<¿¼°-µLm ùªV\rÆ[1ËnúÒt$9L¢H¶Æðý_ýÿú_þ¿~ü–—çGÒ²ìnDç[Ú4¸Ír:ÝQjçõvår[¹\Dà¼ãÛßpš'œ…j:­9Lp\n+©h%by-¥±¦BˆBtÒ2Ñâ<ðùó×e%Ì3×eÝ 6ï$,A^PÇq Ô-IÀDŸÄrÛ¤cpN =Cn )î]÷‘¨¼C¸ •œ‹\h!B«¤e$ˈÖj]u 1ѨÞYSÅ#16Ïz+ï÷ÒZÀ'Î磗Ð\/ðïß¿çp:³ÞŽÇ#­w®×+´†³Bݦ‚•ˆÂ–ÞÚº© ~gAŒ¾Ú6ºW‹ñª§Ñÿ Ááš`èïÞMäÖyz¹òùóY.‡[åÎIfQÇì %ª`¥ÕEk7Ž­7îîßñá›o¸¼¾p¹<³¬÷ý«ï¿åz]$÷´6\í*p*M–Ì#©éóáÀùî FLO·%ñË—YR'ĉҠ‰¿i ÿŨ9s ŽûÓ‰åzÂx¢áp˜)­àì‰u]¹üãøøí•ûwïøøíwäueM/× Æîf¹™½³¼\.¤ë–¹­+Ö9ÞÝq<˜BÄ45Åp>ßóù·/\×$Õ'8|ˆP¥5ñ^^Öm]‰Îà&‘Q|þ"ÜIœgr.¤”0te›,b©0Ï‘ÓA‚äÖòûs’^¿‘£ˆî‹êx;¬¥oé0Ãt8ìðhWwëÂZ÷6r²:}—Œ @r>D¼5x/m{tk£Êàv NœyVQHÓ›*À7»¼b¬cž<‰ý˜£W/°Ïk–$ŽmK~ÕÊnㄎ³\êî¤3ô=xXmÈò}ø °,·”¼q<ù»ý/øó§OüñÿQJ貈”  O‚éø)°m¢›1VÝkö-îòÝ»{\°üîûï™æ_ŸùåË -m˜&q‡9 Ùf=¥tnëJ*EÉ"ç9kñ~øýwÜ?ÜóôôÌ/ŸåE¹-I6ÆY…† 6ªzk¸Þ˜ãÄr»©I^¢ö§Ir²Ç3Ýz0¼®‰åçߘŸ^¡5Bô¤Rdq|<Ð5Dn¹]É Rf×iˆÄiž Á1fÖ«pó|äùåš* ·ëΖm£”Fˆ3ªû(„o^^^hÚFåÒ¡7Zɳ,né²òîþÄyž jC9ëØTöÂîÄŒ!3¡³žÖ% µiÚbZÖj5e‰€A:…¯eßX‰Í™¦Àaž8NC;´wÒ2ÕVdn°µïÃvP;kû÷²wpkø’+ÇcÔ•*F4ÕÇt¦è™U7#¡bGÜVñ]ôÞ¹Ý6æy’„¼>äË_í‚èr(Jk”&a[b¶o8ë!.—+?ÿô¿ñÿò_ñãÈ149kt'›ÇEÏÛ’0ÆaŒ¼r:ÍL§;Žù?~â§_~ãz] V+µB¦õáþÌw?Ð1¬µsIpše<šs5E &Ža¢c饱æÌv}¥å*ì²Ê%œVÛiš(E¼á>È☔ Û¶ÒZfŽžÓÝÌ’’¬P™wÚV&k¹?9Þß5Ü.« ŨÒ8ç*§‹‡;N¢Á’ K ¢8hŠ0þ\½I¯eYš¦õ¬n·§»™yMFVeJÕHTJU0@*rBª#¦ð˜0ABŠbÈ!1g?¥TBPdVvaîf·=ÍnVËà[çzŠB.yxÜëvÎÞk}Íû>¯®»‹„˜¾†î8g߆4¥Þ<Î:14iZÇn¿c¿ÛÓ8Ç0޵¼YcÁº–’2«•8ãÈŽ?¤Äô4³ÆÀˆ’þ³êâìa¿Cl„†¶íßr'TU4^ˤ”3ÚØš‹—雚–M×£ŒÐ댆nè1Æ ±ÂY©÷SÁØ–q„>ðôùîov´cDzÜ0M+—5ñçÿæÏ1õä>ÔëNAÂT‹8­‡–Í8b'M“Røyæxž0NÖužé‘fü×_ðüðÀt>ʦ8.—¥:ßqI¸$+¥ çËü¶OYÌûÒÇTtK#'_ˆ²V((‘»»wn6¼¼œQ¾Z3)ÜÝì‰9²dÅvÜq:žP9ÓhEnÓ$ ¦Ê‰Ývàý‡[šÖ"dŠ@ IDAT‹D/sÀ5]¥învØ+¬µ¦í{.óÂëibZ–êLô¶ÇZ]ª€ŠuÙ(SŸ¡sU²åá1"ƒŸ¦‰¢4ãÐ×­¾bh;›±ïðÀqºT5«–²)ÕÁJ-‘]c¡DrJ4ξ-ì®=DÉ©†±èº¬•F½­½¾ÊC’,R•ñpØq³Eè1ë*KSƒ ^ëpÂÖ娮{Œë0@YC˜'Η ά„ 1`•Rô]‹~›OZR¦k]U,\˜ÑĘÑ*Šh/×äQ•)š~cX‚Œs.b’WŠyžØŽî{n7?C!z¢ ø\˜çm%K@[# ¡ ƒ4L¥¶–Þ9nö;¬å­_gڦ㲮u\ªðͣǎÝfäååUN1¥i[19-ËÂ꺶c žÑXœ¶ÏâÑÐÆ ûR*ì JHXmk¿#ξû¡ã«¯¾àõå£÷·7,óDc5ó²Ðwî¿ø £2¦¬ìKoöLóÌ“ h#(Ìqèèœ4"tN‹9I­t»žBáVôÃ%’¡ª·Š±’ÉëÁƒ Z+¬³â¤ÊAJ'”Ȫµ1(-z˜’|ø½,BŒì¶cnr†¶kÙ©=ýЋ oñ„Ë…½¨1­áöîV ç3‡íˆ3Ž~èY?¿2M1v»‘u²ƒîħBÀ5š¾³t]KN™‡‡Gv»Œæ¬c ´%–„®€g”h¨þâÏÿ¢6÷2‰> Û:ªÀ7£u}y5ªT×X”ƒÀ{HP‹zÃm^ÍG%eJŠüâ—ãéÄëëãç§Gú¾g^=‡Û;þÉŸüSÖu!†™›o¾†\x}|À¾Ûóí—wœgÏãçnwBŠ´V1/3¶Fê¿âlw˜f Õ‰ÏüîÇGbŠò°U‚Æ`”Åm¹¾ ¹N¾zœ64mKAñør¬,Ükvž >C廎Lƒ¨kÚóX½'jE¬vY­ÄŠ›+GVWçbßµ´óRð¤äAObµÑF¨âåQoÿÜÛ Ö86Û-ýÐ3Œ#1dOG~ÿûßãcâ°¿‰ÕCßwÕ÷nI1°ÌgJÊU]µ|Z(í1Êw¼, ¥€]ëBäª1q®ÁXCÛumi»N4ýEyÚ¶}‡÷+MÓÐ4Ï/GžŸ_Xf/™i VrÆ6-ó|¡”Äñ,‹¿è=9FœÕ¼Ó†w÷·Ì«ç¯þúo³¯" EۡǺ ÷ïoI©p>ŸiZÇfèÅ]–ÕÛuX”ÅGá¶¢@ex}9Rvq Ï×üµ«%ÑÈV¦(Ö9¼-‘”ÒP‰Âumþµ¹5Š,åÌ·?ûޤ,Ÿ¬s ³°ÛméÆ77·ìnœÎ3Jø½ÙÄ2Ó ŸA[Øî$ ýf‹_fN¯Gb„sŽnÜàšÓ4óéá‘iö?{rÊJH6†7ß4è·Q¦­NAJaYË*—V²âÊ‚RXç@+š¶£7¬óÂér!¡ðÈCmœ%D^ÿ#š3O¦àI!sMR‘îÔU©^¥t•wHnF,’ѶB\”’Jóüòʲ çiw8Ð6];ˆ?bž/òlZK^–½Z‘ãO«R®- ¤ú •Lo»¾mŠ,••rZXkÆ‘a3Ò4]ÛÒ#—ó™’3º.ç3ëêyz½ðãô}‹±ŽRäoÛ8§ða¯CåÎî7#ÿö¯ƒqb=½½=ððéGÆè¡")Y—™—‡GÚ®§ïÚªÁj!‚bZ7?á©VÖ<]¬fe‡`Û–³€µ’Ø9âQÞ¤ ¶æ2¤\*¶EICîÊP±N•’Lsræöö†ÝþÀo~÷d‘‰kkÙÝÞswOʉ5x–u¢qŽ—gÏãã£ø¬Š‡ÇgJÌ´mƒµ°?Àa¿£óËé,”õaJñøüļúúB«jDª@îFN×HîGïµ Œ•Ú‘ LóD×Éžèíÿw}p”¦zÆ~@¡9]&žß<ÅZñ§‚uN6ÜÕáÜuRÞ| *ÚR2"lÓHÜ€þ©¡¶Æ‚L4Çq¤o-C?ps8pž&¬ul› oèR]IùÎê7µnò’°Uj*n,‹ØlS”<¾õ‹"®»F[)¥ðþj¯–=k‰!òüðˆªº›i^˜§‰¡khœeÜmi›žÛ›=Óê9>iZ…©4…4ÏXkX}Å­¤Ìýý-Ó¼ðrƒBj¿ÆY¾üòJæee™gÚÆqž4ó$[Û~ÑJK$@ŽœÎgÎóŠ6N¨é^jÛiß‚4çrmh4ԔͰ.à~BãÇ”±Êá ]Î-²•T7°T\eL~èy÷á¿ûøcÍÙÐØ¾çÝ»;Þ}ø‚Óñˆ5p³iL¦dÏo~û‘‡‡—·rFYKÌ5K0f\ð|ä¼®6#_nðËÊçOŸk,—@R7©¦Ðf)7®ä˜Ä.úFòP×(ù]dh{G3ô|~|–AN8×’)ôMCc›7ôÍãÓ‹ôEàÇkÎUÖ¢É^¦„ UÃ%kêS)!PD˜Bdš&¹…Ÿ_3îb΄$ym/ ‡›ý–¾“½Î?b¬Ãu‰u [ÛHïÙŒ-mÓTC“Dˆ­»f~T(…"Áû7_…1©â‹4¶qØ÷_SaQж»Ã#Ç×r œ'I |Løóó )DÆMO9]ØlàvÓ3üò;þÕÿö¯%¢É{Z'ã<](õ*>Åkh˼fNs@e¾,t~ñóoX}d{A2ÆÀ‡Ý;r¾c]¯¯'>ýø m4ã¸!¦Âñ(&A)J/a­ôMu‹©"ôo×t¬)³¬™‚ÏkØ*ö7æË…Óyb»Çñù‘a»åþñ/øßÿõŸKäSÛ`Nâ‹XÖÈeZÆy^‰>ÖtˆÂÅrzäÛï¾æöæÀ¥–%ɯœOgÚ~à'Žçgº®åÝý-§Ë­ ‡Ýަ(º*-妈hñz­jc¡Ô@{ñS8*"QK^û¾ pÙª$‘¾s‚ZDÕ²ƒÙÝßb¦78×ðøùئep2%iŒc¹œ8OضGEXWh[‘ãÖÝ€¼,mÛq¹Lõß_´YJeJ©Tô,à7ëäTŸ/§Ÿ$'MKL"P´F–b///b ΔÐsÕ³­Øln·[©ÅC`ö‰RÃT„?+'·uê-ЬqšF®ô¿FAûäR5NR&ýÝ0—i^)FP¬Ó4ÎÐZa:…ueØmÑf Ue®.‰ÏÓ"ŽÏË…˜2kðÌ1Ó÷Ë2óñ‡d4¬d¿ú„6r[i#‚SQ¿BŠRNëO3Ó4‰N&NÓÌóË+óå»ûö»‘×㫬ÒçÁöçHRhÚ–óeäIÆÉ™±—“<¥ÄtYðkÄ›œ+X Ðõ½ÌÕßd%QfãÈ‹ƒð\+~ Lç]#!/»Ý®NY"m눥ˆ5'ÑÍÃ5– Çʪ ÞXAmce™kâRõ—qΗªq­ãx=>áSzûP8_f¡åWb`ð me¯2Ï ]¥–óæ/˜ü«o~}<_˜fÏùt¦ïNÜ÷=_}õ…˜ÆCàþÙû磻éE4êý0p>Ÿß"p¯²î¾m7ƒDp-¾ò=%SÚiÞbH5™R½}¹@ U|zBÝBºJH1a¬e7”œ8_.’¤žMINe%lPä"Vó^n&g¥6ÞmºJ$éúc,~èZÃíÍŽ/¿øc Ç×#Ó?p>˜.SÍ’zØÍÐw\ÎÇúù5”TÉŠUA\ÉFÒ˜æˆÖm…•[r®Y«%ùÑ¥J)* ÊXý::M×à Ip»©Ùá)ˆ;Íu-Ê ŽÈC×4Bs\CmÆeÉ&êÓ‚3’˜Û4 ]ÓÐw Û͈«/úfë”(1 RzÞì·( 벊ùt!åÄÍÍŽMß°í;Û-mÓÔºüü¶mÑJ3O—yåöîŽe]y~~m˜æ•§§#óây9ždT^ ë*“,ïe÷Ô÷ã¸!'aÑ–z«Zgk¢À3¼÷¤1ÿìýê×˪’ÖeF#9k µFÛm~õ‡¿âóÓ³\çI’Ž®ŒT­ÄÊ9-‹Ôk³“b o¶»í›sìŠ4¹Þ8Z]15²ÙLTý|Ý!„ÑJ±ßnY—‰qèEC““,ïVÏa¿§ëb.¼žÎ¤XK m¬x›Ñ§$Ó#ôCË×_}àîö†rí+J¡kœ)|ñþ–›í†ËùÄ?V/·›_ÙïF¾þê Lu Z«™.Nç)žÓ#“/çèú–½4Á}×ܼŠFÉþ݉Q%ª×k^ÏÅJÛ2¨Rª)QW§[Í—‹N¢´Ò½_ÅZ£¯(Ÿ2º6È}×p·Û“SfšWEjyñ¯QY¶ søue»ßsÿáKºa åÌËË 1$6Û­5›A1%¦Ë1Í3¹v›÷÷î[v›m }3S¦àcä|<1Í3§óÛÈdðáá‘ÅΗ™ó´’24m'j_kÉ1ácµ—IÔ°ac5£éÚˆw]‡VZW4Ãüé¿û-Ý‘+}p]º®åõ2óøðÀÍaOë,Ëtæç¿ø%??ðúzªà³«ÏVt+›a$åļx‘MCXV ³ßïXÖ…¶m†áM=i­®=…,Êr©ñYU– ´xÁçyfè| 4m[Ë&¡Ë5ÜH]'×i¨ÏÛÏ@‘Õ5'‰Û›-¿üåw•y|zfõcåXç ŠLŠRÓvmGcn;ºÖ2ö »m5ÿTðpŒ^Df9s®j\¥]/ûŽÖæËñ-”fÅžj+tA×°tU°@\Ü’³dQTÀ›Òr«¦t©µ@¬urÌ‚Ð_׫7SR‘Úãm¬a³é¹ÝíÐ(žŸÄ†“H½…þ- ~Ó4€b^lÛ²9Ür™åá|=ž‰ \Ó°,}?nÕµ´}_Õ³™qhyÃfJ¼@ìóº0Ï8æyÆXÍëë+ÃfËfÜò㟤ìºJSšcœ 3ÇÓ¹F+ˆ¤?¥j‹¦Ðw²WF”ð‘Ôßší¾ÙlÈ9cþôŸþ£_‹QòÁPÂ$¦Iv1q9ß$¿ë²ð¿úæÕ ½{ñÂïÔòÅ m×ÊËRÅZá¢R¸¿»•ñf lÆŽqìåg#§¡Ò’ ^í:‡¯¨“˜$gè{ÁÕWÅ%E²”’à™¯ÇWñ†7VþuYb kî÷|ûÍ6»M•±4l÷;™k¿¾`áþþžq³C+AÍD¿¢I ÔȂҗþ¨i›ª¥Ú_/¤èú×µ´ÖÖE`g)ã}$¥Bô±–9âkÛšò™u½%rµ.Êí9CŠüÿ`brÇYôä,1Ï9 ÍÄhM¡ϪyÇiÆmÏn3Sæõ(@ õ–®*áJèkΗ‰¬-Ãnϲz¦eæáé‰5$”iðAÊZÓvlv{1œåÌ2M¤´²ÛlƶíqmG̅ǧ'\ÛˆUKŲÌbFñÃǼ¬!Rjéî¬4ß9…Ú·ÎoÁ:×½L©·å8 (­i\ò,4MM@B²ùºV€}Zùþé?üµ1’)Ü4’(Sk‘;Ç~»¥ï:Q5ÆÄËã#_}xW‘5E°—õô»2[›¶} N¹>8¥drlƱê߆¡c;š¦!xOãìßmÕB ¸âáW¿Ð4–ív”må²P² m%_ä\D¤Vçî²€—áýí–ï¾ù(¬1qšV¦EFÍïßß±Zv»-77· ýPXâ×ÖJ¦Bë² ­l¥%&Ìã}`š'Öy!„•~èijÆÄ<Ͳó)b©¤ÈØ7U&ƒ÷¥ ßn b®ˆ–”et|=8””¬(˜†x0&†VrÃL‚*‰M ”T7×2=²MÃÝíYyXE"Q²D)\©ß(%ecʬ!r÷á}õºÈ–zšeçr¹H ›$ GI£ä… cß „Î:Rʼ¼™gYªª½Õ²Á¸†óeæñá‰ó4½q£äù¼z»ÅÚ|E…{Û)í!ÂÄ€Bñz:ê\ˆÁ ñÆ,‹Ç^7ºÆhœm+ýmúIDœ,Úúaàr9óù‡|÷å;~oŸ8-Ó43-¾2—2¦(0×ÒÓ( ?Y–™ÍÐÑw çË™Ö54‡¿.¢ºŒV/æ/³s]Ãÿ|ˆ„ Zü±w|ýõÎç™óé•R!¬?­þŽúQ5[@Ì-‘u™iŒâÝÝ ¶£“3†¶Æñþ–›ý†¾kÙ =ß~ó¥dN癦íxy~æãïGZ=—ó‰ÏO<½ùôùI¤Òe764F‘|¬óvi†»¾G)ËyºR¥iXÉ)1ô›Í€Ö†y™å3m›·X²¾=~¸®£z6‡ývOQ–Å‹#Å@Ž5µødߤa¥Ä(áòEÂH„|Q—kÆB‚ÀŒ–É“¯cõÍvdØ3/žiöÌ—™óëI¦KNFÀʈ-VkÍãË‘n»£·l6[æiæ|™ð>T åfœ1ÚеŽ}ßÑið‹ØVCÌL³~7‡›¡Œ–l‰¹þo!ˆ{ÎUú»äXsúˆ¶NXaÕ»!ýÑOA1W3“¼ N àXkÆoÆ­E~±¿½cºLÌë"®8$÷{z9Ù+o·lwÒ#–ÄËÓ#ó² UÆQØlZÑu•D\$`3£X¼ŒË …¾©‹ÁÖWÿS¼²ßZ£GiC ²`[× bÌJÞ0Õç«þìªÊ&‹ 6ÆŒÂÉ’Æ_Ü¥þ]Ë*‘拉ÊÑ›)%7ä0ôt­Å(h‡ùÿüO~½Ùí+¦F`_ uxAƆÞûÚHÕ¨ß,仾kpÆ¢g:_êÒMëÁ¯(0u9Wª-ñšº)“WI%}9ùôøP'aÃmœ!VT䨵8' Ò8ölÆ¡ºÄí~CãÄJÚ4ŽkýÓˉ‡ÇW–0®c{¸åÝ—_s|= k5¬´Î0-Û¡e?´¡o-9®h•»æ-4USvRbYŒ‚y^Øìö|ûÝ·Xcx=žêɞĨ¥Ú8bBðö1Ié‡ÜrZ ŠRn•Hmü E&;2K—Œ*‰Öi,òù¥(ÑÅÖµ µà-ÿÎF;¬ ÛmGß7lv[ú͆eY%Yvž)ˆápØ „zšX—…»÷p]+º$Ò:ÑYÅnhiu&ú•u)E‘Šp¢‹YØJ›Í†Ãn`èZ.Gñʇ$ç3kõY€Xd/óŒ÷WŸK©7X©†.I/uÎâj ¼4ãd;vmmô¯ªJ)4✄+HOÕ§Z®{Y´ƒ\°ý¸!æŒÓšíf‹Ê(XW‘^ȘN¤µ}ßÒu=ÖµÌ>bLdèC'9rºY–™ac긫5-›MæôzQ˜7‹4Ë©.­:–øÝçÏ|m¾ÀéDë,ÛQ<1xZ+r­ÅðS«h)©1ç¼H­jŒ¥íz¶»[lÓr{Ïù|A)Åüѳž8%’ç°^ð¾ÂÞ\+¦¿ƒg®1J,±7ïÞÑ:G žP ¾ú ×vœNBk;œQ?aŒ·b–‘e®Ÿm*‚ä,YÊÀXË ÕG°–B®‘ÀgÖ6ômK‰PÄ©gŒ””Æ9|Šã8ìF×r9)!bÇ–¶“Ý Zóz<±Ì³xà•¢m¶Û 1F¦Ë…œ2ãîÀû/¿ât|eÓ5´¬3L— —³¯êW :‰IœW=nF&‘³tNQ‚çx^ñ)×@ ‰T#~S[ÇkjUÝg)eкf›)µ(m1hbRÛÉ”‡Y¦Zró‰G^‰)­XŽC.X¥ÄHf Z•Š>RâùÏõ?ÿ÷ÿui‹UŠàótAËÃÓ Ÿ?çW¾šÞ5}+fò¶1[c…éBÄj®)q:Ÿ¥1´Ò,w¤ã,Ó$ð+c+G<FIÍîcÆd—R†‰ðо5µξ1ZKÎl6[2…óe¢¤Ä0ô´mO®²æ®øîÿ>»ý« ¿ûíoˆ^n³ÃÝ-J) Lôp˜ç aõU>Ð@Û5u ²ŠV'l? mKÛ$ïyøø[™¦-3—i¹†ÝaVާ—ϯ“”E9שˆìŠŠÒÄ’iœ¦mœ !mÃØ÷4VS’'„m¤]§‰u]0FJ¾L‘Ç¥6Ï¥àç3mï¥H&¹_D¶_¬aØbEY:CÓ:Þ¿{ÏеݰzéÓÖu­PéŒijTX½lîû¦‘ž"¬h«¬CQX|`õ²ŸQú‚«¨TÆ(P-/‹ªr£+¦(Å((­„ž’¼\Ô¥œ’r©Ñdrˈ¤GÀ΢‘+ÈrW¡zˆL_¦UÃÐÑ7×Xìešy9†šWÐYêɶíØïFžŸ5êUÒ)—"±W)¶tã|ö¤Ð`kHaŽ+}ÛA½5Rʸ¦eõ‚]t©óȸ¶<®€è´£6e­Œc‹¸ç«ÑdÚ®a]…jmŒ¡DDt§ *úVBµ̽1šÍvKQ :òx>ñò$tób$G¢™=ÛͭŲy<¯ä$ròãñú®!O\!eš¦eØnÙîøj»}y~a™Žô]C.™Ó9TZ€h;Çwß|AQŸxyP­¢T•ȶk9ì·´]'¾êi¬"ú…àW¦Õ³Ùn 1s™f+¹W_ýìd$Ü%ɨ1¢9M“4£59V¢ýê«wŒ}‹¢šN'.Ç#«Ÿ)ZöD뺒‚Œ2SÌ(ë(ˆk»ÙŒ*‹Ÿ¢(ØŽªÀËë‰ËjæG©›yd2”ó[XçUä(¤òvïÙÄPÊOÿÍIüçaçœñ)É-å¨/äÎUý«¹”ëß–efß¶B+L õ?þ·ÿe9¢;].¼<>bU`ñí<<¹ÌBªVU@¦(4F³z™~3VK§tð²þœNg"WO‘¸.2 0rýbÜÛŒY)°ZFdNK¦ESI#1ÉrJY ÉÕ§Ùí¶ø <>$ÎÓJÑ–ïÿ‘¡mùÅϿïçã+§ËÌvÅó]?”~Ønw`EZ1-3¿ÿÝïxzzf³Û¢)ŒCO×8>¼ODÑ=m7°¬žÇ§‡šÑàåDk,M 1¼Ú.çyÁûD*2]ßSJáã÷ßSr`è[¾üòKÚ¾²¹2¬‹$9õmËËËsÍœP´Ý€. 9¢òtN)]…u‚”9N—YlÀ%Eœµl‡žw7Œ]šÐ½ÜÈ­£me½.Ë*2žäÁ'0†~³ÅY'¦ ¶A2Í N)œÕ—eå|Yð1Ñ cÕ|y®ÔùkÌ×5^)é/~ªùÅ­y±:cI1‰Ä;åj;•ÛF[#+‘ØI£]„Qk­I½–çËVr‰ÜÝZé'\c±Óeâ|:ÉÈMÉ þx~ååUŒ2ïnoÚ–œS ¤LÅ+j.óÂÝÍNæÙÎÑ´½ iBÄj6¥Õ„"þµHo ”H~+qÚZý&@‹1Ê©ä–Ò®%ĺ QBArÂ=½Hó Œ£ÌÕµ1ø”Øm·xø·ù×2òëZ·wüæ7¿ÅYam‡Œe‰Ï´}OÓ6ìw[ž¯ÜÝÝòîÆaCˆívËñøÊŠÜ<ÊXB‚¶ëùúÛŸñûQ^ÂKBQ¨¢¹OuG#ys©(r‘&ñÝÝW¤øâîüÂËË3Ö5t ”qìnw€âÛ¯¿âó§\ίÜ޿ï‰ßÿî7g …qã4›ÍHÌŠûà çÓ‘×׳à e3Žìw‡a Ï<­O1+ ¢tNˆãF†Zk´qhÐ:a‡žq+ªÖ¶pÎq¦óIì£}Ok Ö@È’}TÁ6¢ÿ%¯”Ú’PH©ÔØæ\›jy1R+Ò]õ«¾NÞ›kó-UUe”~ÃÙhUó´ªÁ¨ ã]SÕ¹‰eèZÚF2¸µØ”¢x|x"–LŽ^X¹ár>ñôòBÓ4ìv[ŠB2Æ¢4WÆ5<<>³ßŽ´Î²zÉÄ+NT¶Á¯B€(’ÐÙoz™XSí‘rÚS§(Ë*î:m,º±hSÄ?3k*\ÂZyP¾šü5y\äv»e9{rŽÚ¿Õ{ th6‡›»†Í–ãë+äÈa»A©Âëib })„ue»ßÐ:‰îê]áß~M×(ýC'Àeßÿ=ѸÞñáî€÷‰œê†ˆÞlPJ3M §ÓïWPŠ'Χ#F+‚¿¬ÛPP<<½p¹œq®c¥Døñãï8_˜§#ÁÏRÅ•ûû´*ŒcO¿ezg%èýÃýïïßc¬(@ïnö”äùË¿ø –%0¯‰5IZÕö°ÅhÄ2M²eö+i])EÔ¦mÓ ”ärl6Æ®e.LÓ¥ªdQ{s{rÅ5Œ‰=¸œ'–E^4¥Um–µ°\ëöÙÔ„¤Rj`$?I|Þ6öWÔf}J½ 4ܬd‹m´ùITÇâ1åªJðÒ¶µ|¸¿¡o,h1˽{w‡½¹}ªaZ?B”€ñ\ÝUmÛQtFYÃv»åçïÞóû$4Hýuž'þú¯þš_ýá/ÙŒN§1&ºÎ¡4Ò«hÍvÛs·ßâ\¥,ø¿FŠ2`çó* ©àÓLΊ„¼x!+æyÅû¥5V‹ˆl{8B®ÛH¹;MN<ú‘år®tm‡mnnï躞Ëef™^Gg°Ö0ö-©ˆ3̯RŒnô½c¾ùò=ÎiRò\Ž~ü›¿âãŸYbćUfÝ›…AËI>wK×µP`^¼¬ ¿ý~O*…Ï?>°Ì3ï?¼ãøz$åBu)º¶¡»Hˆ‹Ÿœ³ìwÇ—gÆqä»o¿b™'YžªÂv·£í:æ9Š÷dPÚòòzär:qy~àr:ãSf ‰Ó¼•a†•×—“NWã I–’Ûg ª(wï!p$0•:ªƒH EvJz‘~´Q J‹’¸ßt¼»;0T2zëZnonˆkDý/ÿÓW–øÝ÷ßsz}D©Ù¦ó£AéÂØu|x÷Ž_~ÍÍý{þÍ¿ùùñãGr‚ešPq¥ïïÿ~32].’gEÚl\Ë4]°Zà¾ó<É|^t3p ‰Ë,0ãÚÊXÔ5bÅÔ5„q99¾>ÓC×·ì¶{ñ_ŽŸžy}üôæ?Võ÷m66›pŸÐÌuJ1Žƒ€·Jæx¼p<Ÿ $7"¥~y|¢o,›®a»ééúž‡§>}~–^H+\k¸9ld§)K=ÝT¬O ®ë(J±.+§ó™ínG‘?=HÍëäª7ZWl©ÐbS zU% UœÀýí9'¶ùÝFËÈx m;Ú^ô`ÇÓ‘¾ëñóÂ4_¤ IU\Ð ®µ”ˆë bеT…ÆiºÎÑX!íõÝ@.S(ˆ^ͯ ÷7¾¸Ýq»Ûòúú"¾ (ÆáÚžu+ðºzNç‹PÆë² %þhÐV’[K 郕¹TE&]å>ÉôH×Möu+×O™êFÉË×ZÅf‡[;îývÇ0ôø5pš.¨ÿõøoJÖäC?~âáá3¯¯螺@ƦqìÆ‘÷w÷üâïÿkL|ÿ›¿åão‹_Ȳ\ê¬å»Ÿ}ƒk¯/¯8k0NP-ó²’•¢ë6'ö‹ÌûÑו©lOØßÜWw\•)¡_üåÿõg¿Ð5ÐÇKa·?ðÍ·ß0O3Ïϯ 4!ɉBáM]Ú4xD”Ü‚ïo8£™¦3//¯<>¿²ÝJï„·H r¢qŠqè)f‰E®â¾oè[‘Nc™—H.†®æmXfæyâæfÏa·ááóÚɈút:“³&‘úï®Á*Ö*Y&jŽxÍé0­dz"°11Wµm+ Õ”PV(Úk=ÔÐ÷øuár>½œ‡uxÖKÁGŽ¡ÖóˆD;š¶¡i,†‚_.l6òB,ëõsÒ4N³i5ß|¸ãøøÀËñ FÒt3bÿ½\&‚G¦2æ r}%1Vµqª*rS\ÕÁÍ[<—4å1e´µØÆ‰¼"‡®Ëádú·ÙttÎÊd³È®G×%óíÝÖX¦iañÒ³˜ÿèŸýñ¯‰+¦D,™Íв?ì°®!åÌf»a·¿!+M®¹‡›»Ú<þ;)™EQ ša6Q<^e½YL2?Ò*¯µbçÛ‘Ýf”å”÷h2NAžÿûÏþŒ‡¬Ò‡Šµq ¯Ç)Áû¯Áí_³¿}Çí—ß°9ÜÓmoPí†Égγgšú®a7¶„eã1Ìk í:YÚ)]7÷‚ÛoÛŽq³¡íGžOóÛøµq2i A¶²ÂQÒ Ã fûybè;†¡cè{^_\¦™Óy’"§7µoë„+%@0‘°ˆHRò!Pº:ï*СúÌSY¾À×’4þÁsYÄÖiŒ˜¼.ç³ÈSBesÓ¡Ð(eëTć¥ªŸ7Û-mß½AÂ.—‰¾•|¿i‘ú.5x%S’'¹^^Ï„¬(Ú²†È²xΗ‰Ë´b–‰c&•R¦Ž‡¯¸™&Õ£U‡âY—ýÈu—£XŒ§VU¥ë) Ô¢q†Ö)zgØ -ñ¨D¿ÛP(ŽÇ3köxš°m'&|¿,¸Jñ(ZsØn ÞÕå“›¡ó÷º,€ÆÇv”½y^ê˜U¨m1Yx¹†®¼VÄ5¦ Æ4¸¦“&«fìÍÓ…”> !z]?ü€÷ò~ûåfqMÃí»|ûË?äËïþ€ßýø#/§gΗGœ³üáý}–5ðá«/yüô‰éõ™Þ&bXÇ Ë<¿m²Óº²ú ¥,·Àöîž¶íH) -B ¯i C瘗… UëaõätbØr³Ù #—éÌÓó+/Çó›$’l¦+Lá<‰ð¯1ºŽ"ëÆ×‡:5‘SMÕˆ*(™º8+\ÄYçWpä\YPšìƒx’lkß(óh-ŠÖeUw7 ã­ ¯/ÏÒû…ÀþpCцãéXÓœ´@ã*ñ_8é–eÁ'™­ëúFn‘EÔ­ZQÿ~’eoÕl­«¼£º,+Ùä*ÏPZáÚ–óåRs ¦n¢¯‡kL‰TŒ]cé[û&TT9 KA×ÜßÞ1Ï‹à_sáå<ã£Ü|öÿù·ÁaÜðþþŽTd Ò6r 2w» ÁGV?1XG)‘çO¿Ç8Ƕ·<Ÿ¥ÆíûæM­)ÆÄéx¬9r¶¢+JY9]#¸’——ÊÒòþË/0¶a^&Æížù/ÿßÿðP¼{÷ŽŸÿìg<|úÄËË+¶ÊÑÛ®¥µŽÏË?øã?¦7²Ê·š_þâ|ÿý÷œŽG~;8~óW Ù/ 5Ç㹞n:¸ú¥ÊrÕo9B*ž(š¶c¿Ý¢TÂ9É1ºãùÊ0MV[+/Œ³e4}Û³®žýnÃê—Ù}&«Â0tñ‹›F†JtˆÂ€Râ‘Èr*bQäp±ÆQrf¾HŠlÎ"8,º:æÈ"!ÏÕ"leœ*´C¨i)P ]ÛJŽ¡ëy~ü‘yºˆáË5ò]-Xm×Ð;'Þš¤éÇ›»{RŒüþ·¿}£‘ 4±D²’éfŽâNu \®Á]UL‰®ÞÁ"#Ô+Ò'Å$˜šQ¢•sÎt½œ©Æ4-â™ÐÕ9Œ‚±oE¡ªF!”Rx÷þžÝfWûÁ MË,¥“…ú¯þóÿ°´Ö26Ž_þêïÑ;^_ž)) ‘”3 YÓçŠVì¡÷Mó ÚˆR³⨙ Î6ÕS¡¶A’(µk°¦‘xÚó™®ë·;–øøýïP*ñÿ±ön±šfé}×oÞówܧ:tUuuÏtÏÑã±b|'Ä$AŠ E(ÈÂqrHXF‚€¸!î@."…!…Üà’ØÁ§ñŒg¦Ç=3=Ý]Õ»öù;¾çµÏúv°e„ÝŸT*uU÷ï]k=ëyþÿß_)Íd:cß—gz®oîxñòçUYòÆ›oòÚ“§äyÁl±¤ïfÓ ŸýÜg°Zs~~ÎwßývôlÈå»ßþÎw¸»½“Á Šýn¶&NKEÊå¥À›s)½CÔlš‡µ«Á"Óøã£#NŽ—¤‰ `ºNf‡¡GÛ„}ÛA€2Ïð^:@û}K×°kº˜QVnßÃ@sô±„B1xµ"Rô íú–®­ã¯Óœ´œb3qÿ í7ô1R@ÀͲC»Hë©Ê e\ðø¾¥{lšrt|Ú¦–aîÐa•Dë$ƒTbÙ¬×%Ì­»Õ: ¥]:#DÕ¡­*°ki½† 6Ûƒàñ ¸ž´îC ÎEòHEY”x7bg ¾n0FÕrBˆ2y{²<çèèH,M'L«¾gMß³o{´¶„ÑaµMý@ë4/ÏÏ9:…j¶ÄuÛõ Z+ªªº¤(m臎ýn‡oZü8¦Ù}À´Æqdp#¡éðžèqΙN§äå„Þ9¾´¡íŒ†»ÕŠÑËÐˇ@V–¼ýùÏ“çyüU`mÆ|qÄÃG©ªŠf¿ã+¿ù›\_^qqy…µ–£å\༓’Å¢ ËS†ÁqusÍíÍ-¶(Ai1Ðì÷dyÒ†L‹qå`e½çf%Ò•q-¡!®ïÉŠœ¼(ØÕ Ö&4Í-*Š­5"¢l²,—;H׋±æ¾":HÃݽ.Iz÷‹ ú•ÑXb´XP1¾„:ø-IV`³“äÑŽ*õ¶Ñâ;0Fß§†E9¥÷¢ëRiC’ †ÈIšs‚ëHmKQŸA±Û솑fÁ¥Vï[IKR"U"gJîò!zĤ”Ü3ÎJâ©( <'ޱ q´\Pæ™lèØy“¤ÕÔÊ4=K,6Þ]’ÄPUsË#ò…ÂSèû¶ÇŽŠú”iU‘g… Ž”¢©kpw’­q¸Oº ¡6/湿õþµà"…ÏEã»5Rç“2Ç'¨æ'lÖw ­ $Lövu ¢¬06Ã&¢§wÎÓÔ;¼st‘*žf6IPJ³ÛïÙ®×ѹæY +j%oÁ{º¾¹ ÂP’¬…Àf·'xTÕ„,͸½»Á»…Ž­[˜ÏçØL*c/“I…VÒ×wÞ R²©Eœ •# ²”ºüæúš»Ûkq‹u§ggr)Æ0™Nå´¨[V«5wwk’Lv˪ª°F3Œ=}'Æ¡z¿£íZÎÎÒw=»Ýî~£”È­->ë>JVªI"€%?\²,_³Ç»6fÕii˜ô‚³FÏjµ˜Yš’æ™äPxG5™â]@ë„¶­¹¼x£t…¬‘¯U·>xò4Åj(2-ñÁ³JÇEå:¶›­0b£½qÚ¶aè{ÜУ¢U«°IG[™‰Ñ÷ˆtÃÇùKš’%†ÙDD§ ˜Íeái-ˆ¡àu½'K­tE•"Ë3ò4C 6¡m;úaŒŠXMÛŠE˜8õã€wC[‹ õ?ýwþrHL ÈRt’ÞÛµMXžœ1™cLÂêîŽaÙn7RiÀ ã@ÓuTUÅÃÇÙÜÝ“¼¹Vðr^ IDAT›»5ëÝ.¾ñb½#Øùª*ÉË’åòX(Ðûݽ~¾šÌ0©¨/#t†Ûëk™KDÀ¦Å+ž¦™±Þû8Α‰ HuúêÞâBæ0‰t¢Ñ÷Áè&B f³ù½F§z¬/Àd:¥œLÙm·ÜÝIû2Í2¡Mx! )M+VÜC·ÖòÿÈÊLBnŠ"nŸ¢ö´©-°]oYowÌsNŽìwküØ£äfË MÛwàE!ùÓMÓ²¯kl𣴽RÜlz72:6Ž£t‚Ä·!ðõzÇl¾d6©Øí6ÔuŒ Ðì¶$‰‘ï˜N'ä©Ââ¹^­7Q_dÉc*Õf½eì»û¦€R¿Çc„˜”(sÓ %³B«@–ÊÆ’$’§ãäÛhñ^7͈¾ý(:TZb÷ûŽÎÃ0Šœ]GB qºí†ß÷(:¶ÉÛ®CýÊ/ýlÐxò4i’PNäbÝG¹0 N²âÚA1‘.в¢RÅ8Po·Œ±Óc³›œœœP4mKšçbª <͘”i–Ñt›ÝNr¬£#L+ÅO®Á{º¶£ídPä¬cj¥-§bC‚ÅÑç]¸¿°:/-ÎÈcì› X$ÉB̲„å|I5‘¤Ú(>ûÙÏÑöív‹1šív á:å%I–³^o¸ººÂ(M’ˆlüúnÃz»£©å$²ÚHûéÇ+%8k-³éTæ=ˆ>§ÙÕLfSË%I’Ðv58(-màaâèK‰1ÏízýÌ$)ÖZŒÐZÞ§®ë©Û«5Y"´nB`:™’Øô0ÒƒØRšh(³LË’¾ïè»Z²?¼c6™Ê ÑG¸À82öuÛÒuLŒc *§½L£µŽbkÉA¡¤tÅb1¡(äyLbÊ©÷^b§½È[¼—SQp7}ÓQ7=ÁX¼@ÕbÙrÀaü}:»ë;>ººBýG¿ø—‚|žDÃl*éf·“Õä`ß4ÔMO93™ÏHSIÌܬ·ÜÞÜÑòf[#þè,Ï8>:!)+T$i N4þ!´µñat%o’÷AÃE藍­Täø%®,IIRùà= ?Žt]g%!:óüÁû)e•|?Ùû [Þowr0š¶i™TNNŽY,¦L« ­¹£ôg›eŸͲ”¶iØljïØn¶ŒÃÀåå%›]-á$]‡Ñ–ívKßwŒÞEhœ„Ü£ÑJÀ¿&¸(”7ž`‚Äkœ%Uæ¼ „ ’<‚8'½£u y9$£Ê{XCY䌱½™¹Ääö½˜¡¼”nyK5’g Ežpº˜0¯Ž—sæ“)ÞìÖ+¡ÔkEj3öuËÍíL%½,¦>væBPl¶[Ú¶•;PÌ» ^4rÃ7±Xæ þ2'I4}áÇQè.1ÕèàÕ&(š!°Ù·t£ dÇ –ýÞÄߣÊ‹'ô5xÇ~_S·³ùõË¿ôó!KS†q`Œ&õ4KâÎ/+ÚÍñÉöMÇn'ýݶëpÊàƒ&ɲûº}>_ˆÞf(&}¤7„ȇ%~hÚ˜{–škbiî-…²`\ëb@|Jë¨Ë:¤pJ–2óƒ “D`h Ñ(DZ…|M5ú!Æ~`è{öÛ-V&ENYd$1aÈ#GGK&ѧ±ßïPF`/?úˆ²˜ .²È©&3ömËf»cµZÉÄ5öçewSU%«õm#Xø±ëŽ<:¦ó夢ïzêf/±èkWÆHR©Ñm¨[1óŒÞƒ÷Œƒ£m»ð1iÈ‹7;zžÌ$ô]CƒZ|°Æ@Gòz·•ŸQIª6ÒqÂhŒ54n¤®E9j‹ó’%§u";¥Ð‰x”FÙxŒð{£„Zcï§É‡”¨€§dBOgœ€Îú¶eýÖiªZáÅN&Sæ'ÛÍšÝf‡B†iÇÇG$iJVN†¦nJ’ZâºK²”,M™0eX­64ÝÈz·g9Õi*¾,¡ÃcÓ‚ýnO;ôQû¤Ðh’TžEMjÅj·+@ÜL˜4‘ìsZCÛÒÈŽÉlBf5&xººc7fÒœã³ò<öm#“ÔˆFY$yVaṦ©•:»ÞÓÖ IߣæÁøÄâ‚\b¯D÷P(+Ä ^$½h#µ¥0Q&Â1§(eµ—˜.­¤‹dÒBt@ˆé–ƒM‘(Ißç僒‰­Ið8’,HoÛ£‹çG|*š¥¾k)³”ìÁ©àâoWØ\¦ÃíÐѺe,×ë «º& É;‡r°E4g3i={kZNJÀiq¼©x¢áFi!òñ¦¢‰¬V1⇸¡øø/8[¢@–=;(…Ž®3¥‰°²QȦpÁq0èônÀjƒ&c6¡‚´Ä•±èæËŠ<ÏFª•àÆÅr!—Ô8C²6a±È%Žxì¢?Zp§>ÆçEÁÒf웆}3bM‹àtfSò"aÛ.z.œ_œSbÚRâqßî×4ÃÈàA²"a¬…²buzßlÑŒàÆQ¬­Þ³ÝnY­VdeÎëo¿EY”Œ}O½ßamš0ÒÍæ†ÑP„òAZkȪŠ<±,Gcßãö&só×@?÷'ÇAj6II+ÑÖ ÎÝ?¼Z‰nž±g1­Á³ßíD7ŸjvÃHf­L\‘Åä¼£˜–¬ÖÛë$¶ZªÉDèÃH½o°!!O-w·7øàÈ­!MRöM IBšŒMGЊåÉ *µ<}ú> ÕŠ“³7ù½oü.¿ÿÎ;¢Åñ! ˈêÔì^¬Œ³Â¦2'¼“¯$ºV£„C{ð燀’˜DÄ(ùÝDÚ]7DJF|è•RBÌC8I±°Ž3 Ù„âq §¦X|Ì0÷ò°1gNÀVªéð캃F9ÏØï(ËœùdÂP׬÷{non¨Šœ*ÏÙlֱܕŸÏXËb6§:úÑQ"ooÚ–Ñ=ÝØa•ÈÄ“D"œç\’åÔmGß `eP‰AÏ|>Çža 1>Ààœ'X³Ãé@½¯©w{º¾£œ–¼þÆ3G\+©ºAkÔñüB¸Ýì]`vtŒÒ Ãèxñá„¡'ÏÊ"£*3feÎlREÊšf³m膾íY.çL'J+áü1‘Ï–8'º¥Ñv»hµ–¶ïxu~!“R#rßÉtF^@ m‹ÇÇÇhk aÄ÷Ž!ž*2úÕÕ5¾Hiã5mÇÕõ Ö&‘+í©M„ǪY*åËËK”R,æ8'ìªùbÉ|6'+'œ_ß‘æe4áCÐö>2˜X²ºg!ˆù?¸ÊszvÆÍÍML)åþa#>Sß—3áþ!Õ"ç‘.J|!æÚÅùQct ’ŒQÈñ$¥©îeÕxïK§Cgîp¿ÐZ¡Bˆ§©#³ EjIŒ¡Ìr=®Û“™€QŠÍzÃv»÷(3ŒÙLºp.J˵?’; "O?­µ´ÍÍÈ 5Ü{+l¬0†N¢ÒL"z®MÝ3zÁm:7FІ¡¨*ð"…éFO?œWô£g_×D•T즎xïH“„Å|Šcì`I€Ž [N¨l"‰?6%Éröû=§ÇK HÌl.ʾ§¹ÝËýÁ&l¶5}' @Y?`zÁº˜¬ ­éï% âvµ•‡iX,´}Ïí݆$/Ùì[šÞQé”Yµäv³%Ï,˜Œv„ç×/dòƒç#± 7WW¼zuI;Ð9K³{=PÐÒÝJ­¡¨ Üè$Tp»–©fsI‘Ë $ÿ]ôë„›ýÀÎí w5#) óp±hÍào¾ñŒÛÛ[´6,—K>øà{|úSoŠår³âÑÙ)ÏŸ=¡Þ·\\¾”–kÝP•K¦‹9›íŽmt9†¸«{'ý÷ 4 ñ^c¬¡0 }Ûãœ>ÂòàKw.Ê'|<µ¬Ž‹=‰÷ý±Z5€2JÄs‘ñ—Z ãÈàÆ‰V¢rÞ­w(% çÉtJêò¨Ûsy³fRdYÊd2äµìÛct’ÄÛ FqÄ&Š#ÏRÁ×8á4eyŠ °e_^V\ÞnðÊ€1bxCÅΨÐÙ(Ð>k¼Ñà5‰ TÆ@ˆùØÆHt±cË{d¼ÐŒLª÷›Í–¼(¤£Ò÷èÄ0›”äYBš§h#x›¶iÐEE’d(-„í£a kŠ<¥, F7Òl×,¦‚JØ®7.¯nèúŽË‹ ²,磒WÖuÏÅõ-Ã0°œÏ(œææzEçF¾÷ÁKf“’ªÌØ×ˬáôhNÀÒõ’oFV±<ªÁ“%&ªX%Ô¥ܾ¦k;‰‹ÕZ;n$ô»º‘dغ&ËSNŸ¢ÒBR‡£`ˆ“X)ùDj|àòòšqxtvÆÑdÂðàŒ“ùT"ŒÝë<}ò6OP†nhùèÅ×1IÅèe®™Ì|ý›ßâƒ_P–¼¾ÞnPqVc´ìˆÏž=áÃ_°«;Ò²ä]†wB§€¨"ÂØ2 ²<#QËÉ#øÓÁy™l•´h­6,æ3n¯oÀ{²IA½ÙðŒÚâ’‚®©ÜU¥#Y^`Û‘]_“Œ@3Šîk³^S–¢SG‡;á.%)åt"§l$Ž7’"•OS׌ƒ£˜L±‰ånµcß ¾íð…,€4Ë¢¡ Á$Ø$#ñBædÝ8ð #8ùå¼ðj“$cEšÅè3OªæçÿÒŸÿ• ®n×ÒÚª¥­8ŸÍH¬Ð¯S›’&»ý7H{Ïûíšn¿¡Ù­Yß^ÓìkšÝŽz¿=ŽÔ]ÏÍzMÓ;²jJH ÒÉ”éñ óã3ÞþÜ8}ðˆj2e³oÀXÆ iº‘}Ûq·ÞH¶M¸]ox÷;ï1 C$C8†¾§Ìsº¦¦¯wX ¯..ØÕ YQ°<9eytB1ŸS”%ÆXfó9U‘Ëñ­ƒw”1¡§˜Îé}ÝH©x*Z!H$)ÆŠÀ®,Kœwœœ1Œm[óäÑSú¡æìäˆiYqyþ-†~Ëtñ£ÚvÍkO>ÏÉñU9§kZž<>å³o¿MßÖÜÞÞòö[oE›ãé“ÇL'Ÿùô[¸2ŽÊ<2ò\œ›mÓâ|`>Ÿ±ÙlØìj¬±$©¸5û^¦ßIZÐ{Å0"\Z,BïZ+òÄJÄ0Ð6Mߣ£6«ÌSœëéšmL‘ V‚ëØTZËt>ƒqP_Xþ=Ôßú¯þ“à‚§È2Ò¬àåËxõêœ2Ï£´ÚѶrœ7ížÄ&YN–I8OÓht‘²jtÁ‰áèön%b4m„Ñ© ‰†,IЉe³«AY>~DU– }‹Ši5!(œ(²Œ,/¨[#´½„¤gYÁÝj…VJx´–£7ˆ'`µ^I ºMX,—„9¡I&Ú-Hß$Á¤ At"/"Q"ü JØ£F+ÎÎNQÁÉépqNp#mÝÐYbùì§^çÙó/£fww. 9ÕÓØ õ²0HÁ÷Bš¦ˆíÓõÝK”ö$Åm+”o *£Þ_Ë]dlÁ5tõ†åÙs¶ÛÛõ%g_ç×çŸ>$K ~ã+ÿ”§¯=ÃÅÍÍ ¨ë=“jN’æ¼ÿÁwI RA®onIÒc Ÿyû-îVk>|ÿðŽ·Þþ4C7ðÍo¾C’¤ÌçS(còvµa¿Y³ßm±Æà†“ö­Ó$•¯8Ñ¢±l2™ µaô‚èéšb^–Z†žàGŒ­Ô¾H²œ¬¨HÓâ~V#ÙÝò€c³Ý MŠà‚£ëzÚ® o…5Š2ÏÅèe­zcþæ­ÿ,P¿ûw~ Ü–ÿù·~$(¥ÙG MU–Q=*“Ne Î;¦Ó9w77ìö[¬U/Žä3=t?lJÓtOˆ~èåk™ÍPZ¦¡AiR#šù<ÏQZæÐ]ð1ÜÜXÉ=Hóhw ÔuMßõœ=8£,Ë‘ñ^†>Ú˜˜bªH£Ú5/Dш½y%=õƒF)î§Ÿqþ6†r2A¨2Ãb>çáé#ÒÜ‚1¼÷Þ{¼õ©/°«/±Áq2?!M-Ø3=Œ-$˸(DÇW„!®—uücMP†¾yEV>=…°g¿¾¤Ý^1=>%I§Œ£¦ïnùîwßás?ð%®®oÙ×-ç/_°<>ægoPG ®c[oùÞßæ3Ÿþï|ëëLfǸº8‡Išqy}QPfǧgÜ\ß°^Ý¢‚ãÉ“g\^ßÒ6 ÛÍ« E–Ðí!{o׬ˆ°˜Šr£¤L)KV··ô}O’f,G´MƒwŽj2¡o[Ò4Z|ß±º»ÂL?PGxHÝ´mº‘ËË,ŽŽ¹ºº¡©kŽ—G\]KËúìdIÝ´Xc¸8¿àöæV©Üˆ B,¼xõ"nX™ ˆ¼\X~e-V'(UQbu Ùídøj4u³Ç#CÛRL*²¼`»«iû¬|‘àa»Þд óÙTlÀñ4·£R)š¨Áë»”&”ÅÛ»cßr{u‰R^ýëú7øÂÓWü¿_*üêÇÿpSñw¿õW é#†q Å{&†š#?œ°@õ=qBfK"öQŽ} 5mQÑ ®”0}P:j”Äx䤣£­kº¾—áP¤‡øH‹–DÍ4Ú]=UQ2©JÖY+àÝ8´óµBæžF¢ºÕ‡®9÷v̪šDùt‹µ"·žUŠÔòüùSyÓ=Œ}KQ-hë5VÁr>£Ê3òÉëÂÆ nl06G…ë‹(ËŠrñ¨¾¯ŒR@ßý°¸îeçhsøsÏмâîöš³×Þ¢Þ¬¹zñÚZÖ«žêóä“S†æ†lz†óЦ¹b·k™NøßüU~ìGš¶Þ°oZ..^ò©7?M–Íùèåwùê×~—ùò£ m;´µì6Þ|þŒG§'Ð÷|ýëß mŽ–Gœ¿zÅÐu4õžz_‹mHòçý0ˆïÁK+Ú¦™¨ö5i–²˜MºV¦Ç±AÒ´ xw¿æEI?¸¨*6›ÆL’7ô"-M Î{Š<ùË(ŠÝz_ËsÔ6¸(7÷ã@Û5h…ú©/~›?ûåw1:üñÅáõÞæóüƒcMP(ŒM"”KßOA‰µ\*®Ð€¶gâù˜ƒ,2 ÌPJ£¼£K\@x!˜»1:å´HšwTÓ Þ ñmõnC×¶QI+º "JKÔ• ‚a7‰$©¢E.üÇÊÛ(/p0m>¶®šh­âÁÃS¬±lVw<>9æ3o}‘¶Ý µxIf³#Î/¾Ãj³#Õãz?zL6yÈÐÝ–€èد^RLȃ>Ö`K·„®A¥§r¿°sy+‡zîGOšåÎAeö *._½ÃùÅK¬5|úÍÏÓ×^|ð.ÆX>|1´ô} œNYo7Ì&3¾õõ¯röð)«ÝÊS@|å«_ãñ“'Y Öww<{ö)~ÿ«¿C³YÓ65à V±âvlV²"'±™h­lÊd:PE´ÍžÝÝ-££KÓõŽ,+˜M'2ÜÕ £¿ÿš]×Ê]/†Pz膨ðž"³LËŒ¾kµCû±aˉYªï…2Œ#ÖX†±€ƒÈiÔ›nø+?õª|øCù(|Ð|åö_â›?‡16 1NX)É °IB×÷¤i.?Jy ˆYä°kM¸Ç3Ž;+K%êŸF/QTI’R•'§gd©e¹˜swsGÛ¶¼÷þ nnne1Ú8HÓ$`VÊÊÑÝñJ(šƒØê0?vý=° -åÓAÍ+‹ÞQ&†/~á3̧§Œýž¾Ùðèµ·HRÍï¿'J«yúì‹\^~£}ž±«±©]ÄSÀÄ“aϸ¹ÃNO@%:êÛï’Ïž¢“aÀN ݘŒn¿!ŸÌÀLA†O PÔ„±ßcÅæî‚››— £c1?e½¾äìÁcüÐ3Y,1ö„»›ªc_×l¶+ž?{‹Ë‹øÊ×¾ÉbyDW×TYFj7—×4u3½©µÌçK6»->xŽŽO‡5?:†¾c·Y³ßíÎ]ïºËÓ IDATE†Ç¤)YšÆÖ0HàÊ0Š7¢mÚ®#±&êäÚ–-bGïÑÁ1ô-atô­X{»A<'v@q2±Ñfcʨ,øÅù7yíxûG.†ÿÏEqx5CÎß÷çx¹}Îà]hb}™¥)AÒ4eì{Ú¡c»Ý‚PÀbqÄòøX(Ë^]^’9=.D4ä÷ãÈúfCb5E^e £s¬Vwì÷{Ö›­äp§™\žµ#»zž LûÒ"`ôÞ‰ïB©û;µ‰pF½ʵæcïF¼Ì)u@FàË?ðyœ–ên·ãøhɳgO¨ë‘í~Ë£:á-Íæ aO–Ïû›=Œ‹1@h©×ç ížùÙ§X]~›Ùñkèd ®¦ÛïÐÆ‘T¯Éâ8x@ö/e÷ÍBh (ÚÝ9Œ ÙâS¨ÐÐî.º•N©›-W×—ÔmËÑò˜¦Þsr|ÌÑñ¨ÐS·[Þ}ï]?~“£ùŒÝêGÎÍå9}#3‰‹ós=zÄÕÍ*ž¶»õ£`¹X¢´¡©[š¦fèzn¯¯iÛš¦ÞÑw=«í–ÑKüY‘ Ä¢¬*<òùš(2-_oî¨ë=Àvµ&µ E–ÅùÁ…õAj奈NÒÑŒEéJت ï½úÙþ«üЧÎ9h$?‘Eqx½Úœò?ýöÏQ C?„ü=ï57š4¯´ÑŠqì™MçL¦st’ä9Y&𲀸¿ŒÖ,– ~‹Õåw˜/NñAaóc´)qí-:©P&FÂî# ’ó³7P:“ûǰCé m+àãï• Ä‰±½ÃæSv·/èûžÙñ 69áú-Û›ïP-N°YÅíÍ5I&vÔÍvÃߥ+5›í¥Óù ›«WtmM‘Møßþ-Vë-óÙ â|fº˜³oZ@Pª¯Îú‘4ËØ­7 m¸º¸À»‘õn+zª¸9M'ã º¸ÅbAšŠ&ªÊKÆ®åÕËY¯×Œn¤mŒ§çÐ÷NÇÑ4uqŸîþóJl"ÐÍpàÔêȨ6cP?ùùù‹?þ.Öüá÷†OdQÈ_{õYþÎïüiÒ4 Ív»f¬wè 5~U–²ª²âѳ×IË)í¢¬ÙHmré™ù8ʱ§ÄÓ÷=L¾‚h7I’èíV4±ñÂ%;†‹¢¯îQ]ÒIÂDehl‰F ïAª­4dy~¯$uãÀ¤ªh›š"K±Ö`´¥njŽÔ(žðìÉ&“)C³§:zÂß mKZ,ÙÝÝqùí¯ruù’ÕÅ9Óå’/üø¿@’¥$Ó×H‹kLr„²#¨Èad؈J*¬†=*Õ(=G{ùL|`l÷ŒÃžbþ7v(5RïW((K*mñ®åÕ÷¾†69CÛ°Ù¬YÝÜñÑå%Ö&âßeöð Ð\]]PÔu#¿v‚wÔ»M½çúæšàDu*y{’ ‚£­w¤‰0£\dÆ*/˜OçFúÁaÓDLd^@Õ£sÑ! £w ƒ»·"ÛÄÊ€0Êà•RÑ"n*ç½z¸\ñoþÌטOúÿß‹áµ(¯ÑþÑwþE¾òòK´õ.¸®Æ­8¨BˆÐ¨úT[Î('”Gǘ´ ˜¨½ÿŠr,'B6­¨€V"ÝÐÑ£«P eê®ãïw© nk¬¸¢nép¼Žþ‘Ï‚ vÔ!f«I×C8Jòu GG šÝŽOúÓ¼÷Þ÷øò¯4×7òðìu¬2ø±%ô+’|Iê<žwãŸñî7¾ÆÃ‡ùÆ×¾ÎG/^2Lp $yY0›Tœ>8£,2òªäôÉsH&<þÂObÅ«ïþ&³£i‚Jœ×d“g‡OƆíú}&óÇ(+A3²X aÀ0Òß}„7 WWÜ^ÝRw|ð"z 4?"O C×’$ ¯^]çišs»ZKܱ6Ü\]rýê¥ÛõŠ6¶êƒÔgj-š@b4m×à"èwÈÊ]Ý™o¼ Ѫ,­ÝqwàÆž4Mc7S n÷£ú¥¿ø[¼ñpýÇ\ ¿þX‹âðÚ69ûý/.sŒÒÁÅTï…˜Ñ÷2DÞ#Í+<{΃×ßdrr†;Ø£AÝ_>†°‹Mõpg8°]åÿo2hˆ`çõ¤AqŸp$wI ʼŠ:má²,hÛš,Mxúü9ëÛ[é„ cßò?þÓ\¼zŸÔÎüÎWyï{r}}Ëëo¼‰œò5«Û[Vw×LË£Eh×õ=yN×µè฻º`³^Å!«œÀVcðƒ„Ê´]Oðž²Ècùë0VßËùUlß[+Ì&ç3KâÂpãˆ7 óu·Ý È-I1Q“'þ~‘Ëk¥Õ_ø±oòcŸ{yˆ®ø¿þD‹âðzÿbÁó¿| ïBÐF"›º¶gŒyÇÀý›c´Á&)Ÿ½Î³Ïýåñ:"q" ‚ŠÝX*N™…Í#â®ßd1÷ !ã(¬–tOÔa~"‹ÁWAPõ^Ž^çClJÇIIå9Z,Ø7 §g§4p‹Ž îîî¨òŒ“IÉg>ÿÃx§¸~ÿë¼ók¿ÊÕ‹—ìOÝu÷9ëõVêäA’^»q”¦@Œ ¯±tIJÄR•9‹ÅŒÂÀOüÌÏðöüP#áÛKt–Cèq½cus‰2š£oSï.¸¾¾$µ†¯}¥~¼A© ÇÝùwHŠ‚›ÍžõzË÷Þ}—z·cRÍ膑ˋ Š<£ïZ†¶qäæú„.Þ45nHKU”MluJrw$Q5Ë$ÇZkaÛŽØØh¥IR´¹QüÓ“ªÑ^×£ý’2‡’î›ñe­Q_~þ’åǾAšø?ðLþI^ŸÈ¢ðþß<á¿ûß%68ïi»AÚ¦ÖPD-•M¤ûÐõÓÙŒ·¾øC<þÌ"ÝïPóûà0J°7Á«èóX£‡cSP× £÷”U)Ü#'»S’:º³4.žâsÖÑ!è„ø/Ùe‘ñüõg¬noX,iÚ=U5a·Ù2©JnoW¼þÚcêËsØoùèÛïòÑ{ßán½eð¶—ag^” ··w4u'VP«…åªÀ¤B> ÷L]-»0ŸÎÀõÌ&?ûoü¯}þ‡@ÍðãêžJ¡Œ¦k6dÅT~+Ex(AY‚Û‰ËÏ–2Dó­h„´guù’úOþ1õ®¡Ý L­ÙmÀ9v›5»í†Õj%ø{/¥å~¿£ªJª¢‚4J"›ë>#e§ľSšæ(%›Ï0ŽqH+³ ¯w]×ÝÛoÑÒQ(qà)£‰úÕ£ŒVg‹–¿öÓÿŒå¤ùdÞøR?ÿ¤ÅáÕöŠÿöïžðk_?¦Æà} M-ež‘§6šéÕ=šÝøì¿Äçþ¹%Øõðú“}hùxAÀ÷ýXŸô⸸MøÏÿÇ缺Éiú.X£ÉS -H2Fo|úS,Np·Ùðäù,ŽOñ&Á/r£GÏ8—TiËühIP†ëë[”wLçŒQX›"€kp.bqâ.ÝûøÚO'k y–0ô­¤¸–%NŽY–ͦæÛ¿÷ÛüöoýûÍ×ì÷MTáÊÐO—A+éí+¤¥¨‚s‡H ­Öô1’í Z÷Ý{Ú'õúþÅpÿgßÿŸôÂøíw þãÿþ)YžE xÇd*QWÁ…h$÷Ìæò¢d:ððµ'˜,§¨&$Y…¶–j:£k:êýTUŃgŸœÒ8¿¼’¿óž4†:ÊO\Y>‚$7Cßã7%ŽJº G‹™„½ó"c‘Z¾òë¿Æ{ßú}†¾g·o$œ¤ié{±/*-ùÐ"@´E‰i–’% MT“&i‚÷RÞåE!ÔlïX-ÉÓ‚W¯®$¨fèÑÆóå?õ%~ñoü2J§ßÆ–¡kY}ôž !MÁ×þïÿ“›«¶;™Öîö;º®# qƒ„V/=~u_!:ƒô:”,JؽIb1é‰ID¢aKƒV’o–€O£å}c£Câ|e>Ô =ã(­ú<Ë„*;{VKeF¬IéÉØPJÀuÝb´R_xcÍ_ù3ߢHÇOô¹üÃÃýßýaøI/çáý¿NøþþàÃd2A)MÛvt˜Zæó óùŒ´È9;;ãb>^–Wx/ÊÕ$Ë8::Æ]Sóƒê‡ IÆ«‹k6› i–I[‹¾©wRFÔFñ±¬ãøäX™mG™§hï˜d)4;~ýþ*›Û;ꦉ¦& u#‹ƒxñ¯&%ÓÉ„él†Ö†ºëÚ–,K¥«ÕttM+f¬DJŒ"£ÖŠª(Ù®·|ðâ#ê¦Åû‘"3ü{¿ü+/ðíßý'l¶wÜ]Ýp{}%† ˜ÙѶ­”4Q¿Õ ^iÖëm”}Ì1J1Œòý+#nC£Ô½Hóû„n E‡pCDú´mK–&âyÁœG7JB©6rö^œtÀ0H:R–%rçó!2ª$~!Ä!ë8Ê)#ôB¯Š¼çßúó_áÁbÿ‰>‹Ôb¸ÿwþ¨¿ü¤Ç®Ñü—û!¿õûSÜ肊$è4M)sËãG8{ü(ú0dÂÙw=ÓùœõfGµÇ'§4m‹ǘ©]PTy5£åø·iÿO{gcÙuçoOçœ;Ö\Õ[ )[)&²LtHÉL, ‚cøÁ–Ù0ä$Èc^‚¼$A×~ œF` vâ0`ñL%š M‰¤(2¤Mq&ÕSuUÝ{¦=äaísiMÒ·Én²÷[7»o5«îºg¯µþÿûÙqF½Ä$þ ·¡)Á£Eûžöè ?|öOyáé§X/¨ªåx,ùhèm$DPîàÕ¸d\lL'âûÎ:œétÊr±]×1™L©*‰øJZü¡¢Þ¥‹—é:¡QD$Ïæ´â§î½‹ÅÅ‹\<<¤‹Q°¥m'r-²•a´<:š®'$Ó£ÑKË ±c,™ÁÀ@d×Zѵ¢ÚMŠ’Ç9[k3î4ßb$yáw-›ç YhºœUžVñdFÒ”ô )ÊbÔ’G'bNÁŸæœ?õs÷|›{ÿÅõ¾ùxcEQ gÝÅñì+ŽùŸN³èÆhkSá Æ¥ãìé]Þwó9b‚ /QV#º8>¼Âx:ewoÝý}œ-X,—Ôm‹ÍÔGYz°p†ÉlŠ´«iá¨ëW•b¸Ïr€a÷QFĦå¹ïçžü>G—/KÀc”]Èh\QŽ+º¾ã並ï#]è)ÊŠª´LÇ¥ÑôuÍöî6³9uÛŠcp¹Èá/šöÏ)9Ï¿zºéVID³§¶6ÆœÝÙ`”é… ×:ج ™QjL²"BìƒÏ„¹ÿ«¼!VV¤óÖZœuô^º$‰Z8r¤°‚èÔ(b†3› Èö1È(ƒ]ÅiõÑ㣄L*£»BˆNª `β(ñ}+LÞœlÞ¡(ýÚ® ¦D ò4”qvw*” }âx2ÂÁŸú…â}' -ôà¿Qê}»çùÌ=¤zëÒŒ¿ì¼ÙbXý½7ûÖ]>(þð÷óÅï}€££ãdˆìíîÐv-89®%Wa2¦%D%7ÐóMvvöèºß5Ø¢Dkñ^ïéuÛá*+Zk˜mn2Ò2úÀØ:ÿöƒ|ûk_eq,×õPÞGú ÜÙ²ŗF9"7ô=ÇGGÒ”omÉC6#´™dRU¡ïdúä ‹eâéèsð£UjEȓѤ€’Qš½­ 7ŸÞ%ø^œ‡Œ&CìåuC ï{J+4r™ ÄLúÁ›¦¬ qËå„×¥°’hŒYzáCîµ9£ÈzeQ@p½§ó=ÎXé#¢¹†Ejݵò=sðAFÞ}ž05mƒ1FªÄ?ú{_çìÎÑZßSoµVÿ­þÅuÇÑÒñëŸÿ Ï]: (‹4Ϲ||LÛÆÓ9³é$'-‰}<ªhÚŽºn( Çx<m×pçw5‹ºf<¡½~áPÆHBΘ°ÚdE²`=—õ’ÉxBßõêçïy„¿sÇ…7%é~#ç¯[ð×(Šá¬»8žyuƯþÁ]´©¤¨Ê´³»Ç™37‰¥°ï‰J±<9qÙc!}†ÑdÆd:8˜– ëb±Ä8CQ•(kÙ,$žyì»<öÐC@è;¦£ Þw¢¬¥óB3±E‘Y°’Rªò,;“( ‡Ñjå>‹>d –ž$\€ …s4Y:¡ò,fiK‘œû[cNïn’bÄû°šÖÑ{ORÒÔMÃbYSUYŠÑ53´ŒÒ´m+©@öµ|s­‡ÀöìQœsùCAFÖ÷ÏP M¹ äÉÒÔy*¥](Š‚¢°D%ÊÕ®ëpF8Z˺U÷Þþ"?{÷“8³fiÆŠaõZëx‘uFJð§oæ[ç‘r4J“ñß{Ž®RwFÉ\ë=]ï™LÆœÚ? ª*\á8uê4­ï¹páBVËÊÄ”•ü`CàÑo}ƒçŸzRòØš–àƒ„–Gé Fã11jº á—U5Æ:#ÊÜ<¹‚|FzžÊ¢îD2¿~-Y!ɳ3Z´B!¬áä%yÉ:‘E;ìn 88!©KÖˆ3ÂgQ¤à]ä¨ì7Z<.1ɯ­þîkW4¹" [>ÈÕGg?CQðÙ·ùJ”2Ξ,Þ“á„1²éîû¿Ûx´³¨œŸ8›ËÏL€ÐQÍ« üÊ'bcܬõ½²ÎbX½æ:_líýF4|ñ™OñÄå»ië:i]N[2ZKO0™°8‘Mîl>g62Oèr󩌑„T%ªÛ~¹à…gžá©Ç£^œÐv½HÍ#2FÌ2gã$U4„@Û èK¢´à‚Ôe°+JyÓ*±EʺL®41|×!ÏÙ „^ÖHZT¢ Õ*aTà¦3{lLF¤ =€µg }ײ}‚úW(N–µäEkEë‹Z¬ÃV[ÉãÎÿk,ÆÉuÉçÄRy3 ˜Y!BE)"•y¬=&oŸȦ>«ü†çK‡Ç…ãÜ™¬‚ºmòUõ+Ÿø&·\^ë{ãjÃ굯Ƌ®»8~ƒ?|ò—øÁù ³YÚ?}šgŸ{ŽåBâ ªñ˜ƒÓgO&¢Â4§][Ó,kʲ`qtÈÉ•+\zåU^|áB„¦¡\×÷”E…Êm,:RÝ4(rÏ ’i¥”¤?%ÉÏÑÆAî#‘"£cÆL”Ð9µ ! Èþì1 %ÙR«Ähì¸õæ3¨àWÂPcäš|X‰&]Q R nd’'š¶4m·JŽ®LeUfÐò°?0 RÿI¤÷ž²B¹Rš¦né2ADYìŠlCöd Š9xJ«óÓ õ÷ï~Š»o{vm’îá\Í‚€«TÃY{¿qé ¿ÿØ/“´¡íúSdgw—j<¢*K¡Ã…ÀÉ•C^}ñYêÅ1©ïe“q;ËeÃáÉ’$ºm[¬¼£ÏS›Â(Ͳ–˜I•L²­$Ž„´ $ߊU…]•!÷>KÅè‚´•ð›^â‹uþ„÷>rp°Íéý LJ÷•û–„Âû~%×Z­ó>Š3­ï½Ð+œlŸ­u¢\ ÞKªp™ÀÁü©AÚ€Ïå”Tö3h¼,ØÝÞÄ™!—#QX‰#VÆà»N}øÖWùÌÇŸ¤\·¤û*Ãêë\í/p5úïüð'øÒ3ŸÄj’Ñ gÇW®Ð.t‹NŽq9“YËà_Æ–JšìËGµè¡²é"OÛö(¥äþ<¾ëð!ʧñI/NQÔ½CÌ–ÉcÃhÔª„Aq¶²a[7Ùb›Ðƒ*T©•tÄàcb4rÜtz—éd$ÙÓÙ— ]}š{ï±…ìKLª4JâÒú Á6)D¦Ó¾í¹pá"óù ëLV(Ë"®tNz‹¼¹.*¡±k¢äž»BÔÅCh§Öø®äfþyd¢£ÚÞhù§Ÿ~˜ùÕ‘t¿]çªÅpÖ]­·üïâá?Ý'ô}’æ/S·õk9 Z‰µAAOzúì׎1ä °ô)}fšêÌ“È]ÿµ†Tö÷ÞËSƒ7@þ”5Šä;´–íóP4«Wˆ’FbX%~ÊôI@r£Êò¾sûX-ÉE!a÷&VIA÷¸"óY{¡„+äD#´¦^6œ,j&“)—ø‚ VH”«rmv&;µ–©Jd!1ÿ;Åz¯310cŠ´&¦¨>÷‰‡ùÀÙóëý!óö¼E1œuÇÅã1ÿåË÷rþrs& ;„„6x|r„µ&O‰}8<ªé£HB”§AJúž®mÐÈhÕgI4 ú®#…(ñOhB”PF¥Ål#±°ä1mŽÄÕ µ˜e”…u¥r$J—Ÿz>ñx$ÞgÄ ëhjÉò¶ÎI„—s´}Çd<‘¢ò¦óÔËš"{;[LÊB&i!¨³›ÏñÙûeT¼>mïÍžw²Vÿ†wò‹¯_¢®øÒ#·pÿ÷âCL*ëqB”Ðô>\QqéÊ’_x…ªª°… c/N9¥ )Ižµ¸þ„GÛû ±ºÆ Pô^6Í Ûå!§{EÌÚAŒfà´R¢.…,Ðb¹5"­ ElaùÑ=Ç´”!åà›!üRç ³-]ß‹°Îøf¨Ê ï{º¶[¢«²’ÑiþõÏ_àÊ•Ũäìþ.[Ò§ÄÀ²n²ÑI3Ï*Qôö='WŽTa–|öc_f{zýŒXßìyG‹b8ë.Žekùݯü-žx~£mZÖ5eUÑ4EaY¶çŸ™¢(1VËÖ8xz QAÊÒ¾”V3û>s©RÎeÎ1ܨ×ÜuJ›aX„6‚i‘×nnÌ\£!½T'1ÛQO°µ3çÖ›Ïà}+O“˜ÐÎS¤ë{Ù;ç,EQÐõÖ•¤sÖù%>¡m;&“}'C„²*©Š’΋¸Àº¶ÃZñ·Ôm+1 (yÂ¥L NQýÌ;ν¸Ö­bj IDATÞ×VAÀ5RÃYwq¼tq̯ýÞ‡Àl`]‘š®ðAR¼ðÂ+(c³é>‚6t}¤i=ZÛÜ³Š˜UJe9y^Ö9™¾ °¢,és¢WŸþòí•Ñ©—<ç<Û‡¼…Ž H8§Ñ)pûíïçìé=”Ö¼üÒ«hg(J‘QÔuCUV”£J¡2<躎QQP75˦¦i;ŠétÌ`O' ท.–ÐĘŸ†)Iß#vێѨRŸüè+|úÇÿï[¢í½Þ¹ÖŠa8×TQÀÕé7¾ûÌÿõþ;¨ªqÒÚ°ìz^zù<))Ú®•†è’Áìcö‹Ç¸(*AˆßK¸yB6×俏(JÈ[3¸xV>gELbØ÷M·ÊÁH`¹†9«±>ü7ocTÆ“)—OÇyA(EjÉœ¤(y Úp²Xbµ„7ö¡_õ9&oà‘“£r(Ž v:/þ†Ê í[Üë2<Æj{òŸû»2]’î·ë\sE1œ«!Q¿ÿ»·óµïÝBÔ6½ôò«\9<&yÃ¥Q¦ íãÊ"k­P$RŒø¾Cå Tƹ¨ÜChÉÜЙDaóï¡_S·#ÁY }erFÆÉ³Éˆ3û»8§(œãÕó麎Ùt,BA¥p® mZŠÒ1žŒI Ea,Fkæ’¸¤ÅbI5–Åc×õ2D@ú%eµø:P«]…ät·ÊêÈ?ùÔ×9·w¸ÖŸÁµ^ ùf‹b8k·Ä6%¿ýÅ»øÚÃ5''‹2ºyئóÄ(N¹¾}ˆDÞdkyã ¢6á2·Éç€ø”]¯U^[(Á‹Ž0Iئlóÿ ôÎ9Níá”"%±ºZç@e tŒL'c@üÒ£<5“/$“²"]Û2—T“ ïG£1ÁKv‡˜¶DÈØu­d¤CU•êg>òmþö^¼&%Ýo×¹æ‹b8k—Œ¼2ã_üú>]¯ñ>¦åS´÷²µ5J‘òݵuÖÙó©‡Öñ{Ù1 0YŽå†V™s$ð”å"BÇŽ8k0FqöÌ7=ÍÉñ G‡GLçùþ\¾rȨ,ÙÛÝ˺f2‚ˆ³6“E’HÁ³>aTVÌ'#¹‚)1J…ؘÍI¡§ïúü‘#ÕHâÀš¦¡mZBž igP*2®FLFcNŽN!Ðt}׫;~¤à—>ö5f£·Ÿšq­žëª(†³vÉH¯ø¿»Å}}Jˆ)ù˜¯GJ®9JVÆ+ºá`•MµF«,W‰è3Ò9É T£ÏO‰AA&@·ž;Åß8w b m¬“<ç¾ë¾§p–ªª¨;ñg;ciꚣãc&Ó IžMy2U,êš¾óDóÙŒí ”†®rH ‰‚Â(>wßW¸õà£f\«çº,Šá¬Ÿjhøç¿¶ËSÏ[ºÎ§½Ë³ù˜¨Àh‘U¤˜V^i¡JŸ!A•B3TÙ¶:¤vÊX6Ñö-$…VšQa)¬¦°†QURŽ ¶7fL§•P‚­ÌI²½÷ß3žd2HßSU#œsô}GÛÔBéè=®()œ#¹&õ>rr²À«~ú£ßçžÛÿì=Ý7¼Þ¹®‹®Î÷›Y~ñßN‘Ô‹ÈÖæ,Ó³³½4H¼±+‹Õ½\g?´ä6縀$z(²÷ºi;!ðY‡ÓCè¤%ñ0…c\övæìoC\qqû¾#Ä€s–YSTZ’—rÿO×uÄrtZNê[fÓ )¡Îm?Í?üø÷(]Xë÷ëÝR ùî‹b8ë.Žá?¾äWÿÛ”Ò™4ªJqÑå oŒq•ª$ 1‰¬C¯|Í0l¶#Úˆ5ÖjÉ)MÊHÆ·1Zp•¡gosÆÙ³;øV€o;Û›¥|íº®åMžq–E]ײ ßÚ¤íB–¨CÒŠ¶mÕödÉ?þäìÎoô oä¼kŠb8ë§*þÍoθÿ ˆIkƒ2v5êØp”¾"‹ó´R¤¼õvƒïÚÊDJ+-Ë:mrŸ¢³[Na´Aõ»[Sn¹å N‹Öªk[Û–ºéPDš¦•'”˜›ÊŒÜMÓ`ÃN}æî¯ðÁ›^]ï7…woAÀ»°(†³~ª¡åŸýûκÌHYLŠ˜Ôê*S¡qX+\%Ã<# ±’²ú=!JÃn ‡o[œŠlO™ÍJ¶6æ²'Q’óa¾‰!¾/„°*ÌÂŽONÔ§?úîûГï*I÷ÛuÞµEW§ßøê#cþÕože ‘‚`í¯ø JÙ¤’<%´yM1‹„ÄÚ¦Õ"0¨ª‚¾ë°:1›Ütj—Ù¸^•µ8+t R¢*½›Ž+Ç FÓmÓ¨;nºÈ/Üó UñÞ’f¬ó¼«‹b8ë—ŒÀoa—ßúÂ>ÖÚ¤”p´’\ Wˆï ¦«W•=Ý "8£rá W¨€2‰Í)Ûó »[s¦…k¨R‚×O‰éd"Ž@É ©kNµšÍ ¿üñÿÍé­k‹¶w=ž÷DQ gýTCÿûï·ò'Oϰ֦02&»ïÈr;£M¶ÌŠIk…- ;›sÎ= ²š*çwûF@f>xšÞã,K‰ÌЉã“|ìÕgï{”»õ•#Ö5÷TQ gÝÅñg/ø×¿u‹Æ¢”JF)áÊ®"‹_û64²0lmÌÙÛÝd’£Ï ‘¾íÐFxJѪ² Ä@QU˜Âqùð„º¡>tîQ>ùáDZ×0mïz<ïÉ¢€«#ùêc;üÆço#Ÿ‚÷`RŽÅÊ;Ž…3lonpf›ª(h–'Œ«R¼ÕÞ‹~ʉ«®^ÖLF#áΖŽ‡'Kµ3=Ï/ÜûM¦ÕµOÛ»Ï{¶(†³îâè½âwî?Ëÿyä&ö÷¶ÓÎöÖ dÖõ=Î*ëYKŸ‘7!xæóF‰lá_9:"ÅÈ|:¥* euägïþcNm®—šq£þâyÏÅpÖ/Q¯øƒ~’KÇ{c’ÊqZ! ?ô .±¹5Ïa‹`ЄЃҸÂQŽ*"¼W?uç|ðÌ7ú†·áÜ(Šÿכּ8ž?¿Éï}ãSĨqÎ&£ôÊ9àÄ®kÑ ¡jX‡VF9$uÛMÏpßàì iÆÛunÅ_r® Õðïç~óNœ¶i6•v´õ°™V”eA}çÕöì„pïWؘ,×úo¹Q õ¹Q¯sÖÞoÃÿzè#<öìû˜ŽÇÉ‘xø¹rt„QŠÉt¬~î'¾ÄÍ{7¤ïÔù›Õ†Ñ£ÀIEND®B`‚pioneers-15.5/client/gtk/data/themes/Iceland/desert.png0000644000175000017500000016101007771100213020002 00000000000000‰PNG  IHDRÆæŽ7úkbKGDÿÿÿ ½§“ pHYs  d_‘tIMEÒ1à§ü˜ IDATxœì½{¬gKVß÷YU{ÿ~çt÷½wfîÜa†ñ 0ÃÃ†ÄØXŽàqxËFFÅ Nä8q";‰…òpb E–#[±ÇŠì#c [ €í0%² & Ãcf˜á1ïûè¾Ýç÷Û»jåµVUݿӷoßsa^%îs~¿ý¨]µßõ]«j ŸlÕôm×{½Loäo½ö‡øÐü­ö±|ÍÓŽ/}æ/‘(×z?ùòk½ÜÇ}“ßî|´·ëVˆ£ÜàûžúŸø‰'þ8€  ê÷’€€ü‰_ûJ>ëÞ?½Þ›óIyØöIŸ¢]·B(Â=ñ'ù‡¯ýëLsÒŽ±ß@'¿À·þÚWóÊåÝ×Ú—O*Ç ·O*ƉvÝJñ«ç¿¿ùÆa•˜ŽøìGBÄÿfø^/zöïðõ¿þ²Ó»×Ú¯O*ÈÕ퓊1´ëVˆÛÓkùß~Ç?â×o|1ª¨†Ðÿ¿Ô¤OHûßFùº÷þ)¾ø#A¯µŸŸTûÛ'ƒëWˆUöüÐëþ"ÿüÕÿ jÿxsá÷ã ¨Ÿ†k‰ çV$ë‘÷¿Œ7Üýg×ÚçO*Çåö ­/GñÓ¯úfþþ¿Ët!„ß \>O Éðø¾)Ư Úÿ¢È§Þùq¾ù—¿žÇÖ÷]ë3|RA¬}Â*Æu+ÅûÎßÊß~ópçxƒé֮Ū´HÛƒjÿ¿“¦¨BJälC«¯Îï*ò%øø¿ömLz¸ÖçùDWO8Ÿn…¸7½Š¿ÿæ¿Ë/?ñ•,wU/ž¹à±O97×Kz˜whJS‡ÏÝ$ÿ^G÷¢ý")Óƒö S‚$È×þâ·ðyþîOÆ×Ô>a㺢2ñ£oø¯øÑOÿ/{Q€R‘ì`h?à1Ã(ì¸iWšzŒ2îJ¦qÍ Y`—ýëŠì×gøæŸý2^s÷§®õY?•ãã^1®[!Þõª¯ç{>ï‚ö|¸@{, .èÁ>]’qÿCÂ3èå »1W~bKެ–šb4tÅ‘„¼áéÂ×ýü7q¾~äZŸûIA>®㺕âÃçoá»>ÿŸrûìÓ!äx¬#$¨z)‹mFp-\ 6ÄÔ%áVꟛ1åg²’1ú—¼û/ðû~õ¿%±^ë8|"(ÈÇ¥b\·Bòc|ÿ[¾“w¾ævrI/{¨õòß—‚h.{ŠÔA’_8Š¦âœ¦@µŸ×IbŠ1‰{Œíl*T¯ÿé?Ä›?òùù¯jÏ òq¥×O¿&~ìõ–þ¬¿Dí?¾ì–_;ö?‘žh^bˆ¡ûÿÚ-ýÖ“Œ^¨Ñ¹Ápù 2°÷ë q};¿KEÎïå›ßñ¯óä½_x)Cr_ûxUŽ Åx9âˆ_}Å—óÝ_øÃ a4sIÚ5ǬÚ*Æý@Kìmâmàô$…Ò$¿çä?‘*°(¬ö»|ö¾—¯ý…oe_n?äH<\ûxSyŸn¥xvÿ¾ç þ>róóÝË?`~ÿŽMp¼ùnü]¸ÿ[%ÐÍy§Ž•cÆ$ ÇL9âÿÚO–¯ø¥ÿœßókaÀ×Ð>^äcV1®[!–tÎ?~ó_ãŸú­c’ºµÑ?hж qö_RŽÑKl®íyWÝ'¼ÆèÉFÅýB9Æ>òÍoÿ ÞøÌõ»Üuù˜SŒ—£ŒãŸú'øÁÏþ_Fâè‘ÚÞ7Zý­‡?ƒËÊ2*æø¹`0êA­øÏÖ)È“w~Žoúé?ȇ÷<ä<\ûXVŽ)Ÿn¥øÇ~/ÿûþ%Ÿ='qÊÊÃe!>%¼—‚å+ŽÛÖ;<(¦¿Oto0Ƨî+ñ£Ùz  òÖßüN¾êÿ4s½wE­},*ÈÇ„b\·BoýÍ¿õ ]^òQ­×­Evü_ŸñßñŸþgOÆÑ®ÎøüªÕØ[ŹÊ#Œeåãñ[¥9%À Ç}Úz³mœ±õp[X¶¹¾H¹àßzû—ñi·ìÔ£>rûXQŽJÅxYÊ8žúcüÀïü»÷ÅW±GcP¼¤Qض¹®8ç”W¿r¿Õ?¥£§ˆ~¦Íñ#´ƒûc„Wã÷us®‚¼îÙÎù™oàæò~®³}´+ÈGb\·R|èæïâï½õmv¯†A)NÅ£p§Íߣ"½µŸ²äœ8.{™)äx~âþ{œ¢†Ç6>kå~¥½Þ¯þÕ÷þe¾ì_þ9²OôþÑÛG«‚|Ô(Æu+ÄÅôJ~ðs¿›÷<ùo=1«ÑÆà”á8¸_ض0è”0ŽŸo•p{î©ß¯Š1N÷cŸ® â·ÊVNü=¶ñøMü#_÷³ßÄç~ð{Nôð¥µ6ùmWŒk/—‰ñ†oçÇÞôß´8bœèðZàÕÅ©À‡÷ §-ìHsn! Ãïãß•Óð.+Ýøÿ)µe–¶Ï³‡¶ÖTÊQØGE¯½½ÿö~€Ü8~ˆoü©/ç©ç†ëlMÊñÛ¦/GñÞW} ?øßOÁjîÂ;Œ‚rø=ÀgÐ'üàç€ç' Lin÷€wie—མ2^p9Ã|Jà¶ž`¼ÞxÎ)/—¯sŠ…:U¥»…Yã½”ÓØžsU<äŸËã÷~…?üS_É¿|Å•­ýV+ÇË®×®O|)|áÛ@Ò‹1¸lªÑV,€ÿyà×éžcÈ«„îÝzª?RŒŠiób§ ×özã÷§<Ç6ö8õŒò™ø¾â]ÿ»r‡ël¿U ò²)Ƶ+Äþõðù?·¾^ y`«˜ Çš†Gmc¶Þ…ëG.Çð@¦çü¹JпF¥Ùž³½÷Òº×Ø/è±É)¢`¤7J'¿ÿÿ _ð땵òökWŒk#ÒòY^÷'áâ”›P«˜µ€›Ã¹§hÖñÅi̇Ìs¼ƒWwl!Õ)¡„«˜o¿»Š±ÿ¾Ê[Ä52F6œÓ[íWú1GàY :ª?×ÂeVîª2Õ*èí_ÎëžýÑO÷èíåTŽkSŒ—£üÞkÿÒç|'Ùç:X¦qAÎÃ]ëòïî#Æ(}HízûhdàqLQFÁ>ýÿÝðý˜ëxø.ӼѶlUôéT:uÎj4í)Ï22Rpÿ½“?Ç“ÀS˜"3wîãÏw›ÎÀ=‡‘OÓ½ã©\˼êÎ;øƒ?ý5Ü:ü×Ù^¹ŸöUt·~7?þÖ·ñä|‹Wfl¢Và c™nq?Ï~ª…Äz„Ö lÂî(|°Ø†û.€“Ø=žòûœ*úY¡»˜ „'y³®·1ª7bŽŒ·Lж4cëUâ÷«’|[/°Åü[eƒôìÏùfÿO¯޾ns4An|óŽô1=ÈØ6qˆ|Îoü ¾ä—þ S½à:Ûu*ÈKRŒkßÕ/?żé{yÿ/ål‡>¾ƒÙvÛ‹5öXÖúILèöõ:Zö1Ø ëö<=WqÉó(õMÄwÜðïÎ0«ù ïT1ø:lz/÷Ó·!Œ7½ï³ö ¦Dëp=¸ZéOyŽSçT\3þÊvøL,¯sãıÞ·;ØX?AëÕŸóiL9Þ‹ñ6ó±ñVò¯ýü·òæ÷ým>ËÛI1®½œ‰öØ_àÿ{ìÛ@DQažaÞÃ~óÛr&ÙÏy†¹Â"ðÄ^/ðLÁ&`¥[â Lx+Ž“ãÏØ²qÇø,Ö$<ÌcÀ§ÐKRîïÆäTð=¶‘^¯9Þc| 3!ŠßÿµÀg¯:ñ¬OcL›¨)ÍM1EºEÃúÈéü¦[Å ƒ´UŽy½ÃWýÔ—óêÛÿ⊧~´öR•ãE)ÆËQÆñ'þïüŒïå,¡g@ƒ7žB: *þY­ »Kf…_Y´yÛoîg€Å"÷=‘Ïù•ÿ‚¤ ×Ù^¬‚¼ b\»BL¯€Ïý.ê“_Cñ1‰LôÃhiÀ•g0Æ$,]Ä dgºÞ¶ ?äß?N·~ãŸ#}’#>Ì#.õ­·É½SÐ(žu›¡Ç@OüDÿ®Z—1·½ïøÝ„AÏ7c°(ŒÂ]à½káW…'vO¤Ä³«yŠ'²Çe¯ûý¬b†å&W+‹b^äüp9ÞƒfŸŽ·äu?ûÜüà÷^qÅGo« WÊâõÓ¯™gßðmÈg|{Ðçè¸ú {ßxP‡èÅ~ °f  6à™ËñC´ÑbGàýÁ×oÙ—8V0á¹é?ë}S°¸öì3|¿V>Z(Çì?ÛÅJcà~Jâþ§*p·¿‡ãÇ¿SŒ€žA¼³À‡PXpçy#?Îv°¸¹ƒOÙƒ&8fÈ3<•á3Ä ÌUówÀr;«g0yw¼?¯>u‡"Ç÷ÃÛ¿îþÜW}´ö0Êqßs¼qÄòʯââ­?„`…~‚ HÔeL1†ºCÇ« d/°@q^ÁeŠ5\yðïJ§V÷˜§¸Içîïbp-Öf<î÷8÷s/g¿ïs\¦)#GB;ðH‘ïï- Ê<îç„§ Æ'Ž[é1J\óèý‘á¾ç~|@´äŸ ælöû¾S°¸è=n¯vÞ~Öâ9Q¨Å⺔•yv;8?‡WÁg¤N(œjJ÷¦á#I(˜ç¿Î þxç·ÀúÌW´ö ¹¤×î%ÎÞ„~ÁÁ7#nÄÆžÂÕ'¯3%]ÎéI´Ç¸/„Õ|›ôg1 îþSèVz¥³X!¸Û sÄþAg†r\`Þè‚ûKÄÁò¦ÿ~î}xìŠq8hÇ…†bDÀŠ5æ!X‘cäVâ¼s:œŠgxó(UáNu:ÛVuØ%˜³&!Ü3=¾{$Êóê&üËo‡÷üE®ÞŽâ/|BA^/‘n²¾åF_û-ÌW³ÕbRØ$†ÇÙ~?ÑÙ¨P†ÏžÇ⊠Q#2 ?/&›~U+X!áû¹Ldº‰Yè3–S–òa Æ‹i›…G ñQx¸ƒ4OùïûS£‘ð’òë ‰_˃ÉGéP¼úS_<ý¯ñê~áAAäz•"Áëþ¼å¯¡\Þ÷õQZÁ&òÌÒ= ôV9¶ ­€V¿DìrÄã¶_ã6ù! /¥ˆ0î ¯Þãýê=ìÙU^bÎ{9ddÙïï]LA"¦:÷ã£D$ú6ÒÉA70ň:ª'€ÏáÁ°jŒwÒ‰ïbNOyž r÷î/röޝfºø•‡ø‡h¡×§ÿ~øÂ4=’‡8bƒB˜ôYÌÒ?ãß½›¬s®æëC1V Df<¬\À¸ßë‹­¿:ÕòEp¤ Ú+¼ÿWy¦xÞ{˜€Œ›yðºñ—ÚBï«ß»bã>cc}‹¾Æ91žÁÐíןÆeªy ƒŠ˜(¾fo¤…gî^ÏÿHzßwqö ÿRŸÔ!8Ù^²bèîu¬ŸÿýÜyì‹( “öÉÌXŒ[áGKt!‰Ž@|‹#à n|[+µm1Ùq½—²0)(ŇÅÌ!à!4Š Kä\ÆãÆ€:H‚ç°gÞaJ1Î(8A„"F"1ÆýQZÀÏXÈ5{_>@‡[aP¢ÿc'„ø c˜"–.ÈP°çéŠ}>ĘDyƒ^Ãtõ:ñ±‚|ê/üižú¿Îu•·?²b¨ì¹ý™ÿ=ÇOû¸£è‡*ÜVXVH&…s’‹ âZ$òÎW$xLìAƒº 'ëDº Õ¾¿CZ—Ó‰®ÓÆLñXÚ±³®sƒ_Ó+M¶¤Á¶+¦ÐëÞDÀ¹ßczíWìÚ9÷gýÔ·±/!hL_響—.ħ @Xôˆ™ö˜wŒ¼Fœ^"ÅÛtèL\(ZÚ˜óˆXã.YƒÎ=£çmns)G(dÔ…>TvPæ±.?ÚØÏ†1üH"¼Q\/žGAnÝþI¾è§¿–³ãoð¨íE)ÆÓ7¾ˆ·}î°LCAYaYà°ÀÑG®zVJæ‹j\­?E \J´AhŒ” eû s‘ä Îg¸9Ák“Y¶Wq…íƒZ¡[È;ôàø.žøS/ý(öÝ’àMb¥ºÇ˜ˆÛ”W ýHC¿T¥ m7”zü<¬÷He´ך„•Ž\Ë .3k§àj0]p¿Â,ØXÿæpLŒ]$<ã¸Qðk<é„^´¸)’”Oûõÿ‘7ÿÒFÒ0AßJ1ŽÓ“üìgÿ=žyå—s.è-à\ .©ÂRM1.€»êé~…»î-¦,k…uµ$QæàÆQò$—jlª?½¸20Á4ÃܘaŸaŸÌR)fµ^Œr„Å +‚î¾å Ô&s‡Á¶3\#4frG6죵ìRP­;:|Û*÷˜içÔ3Æn-±âû3bã˜ÜÅ;Ž?úu£ÔgŒ=£ Æ8rKcà¿ñÍÞ;ÿm^ûþïâÅ”·?P1 3?þÊ?ÏO¾úÛ™wè3øÔsxãd<õ¶"3:ß²ÀÚª`h‡µ3ÔcmR°QìwvÒÏÙÑ‹ oÐ1v$ù^lò>*Q6ÇŒð¥bŠt Ã²P´€£¥|±Š2z¡·¶…°?¨¶ìA-ò#a¹‹1bmG\/ŒQÐãã˜F½Ë©ïã:ÂHŠ)Ûó>wÄ€_Còú_ôö/ã±;?ùPÏu¥bÜ~âøå7þ>,¢w’e9Ï3ÜÚÁk²¹²m G PdƒÃ-«Üü«ýFFê9,È}™¢Ú÷7^éÖ:°x0aÝ¡«qÜU-{;à#‹ë ãø±j4(ÄPèPè¹’1sþ0m›t‹ŠÔ¨ì ÃpŠÆ|©ía°­áK^.0(önàƒ>¨¯•žà‹œM(Å+xéù¢‚)F”ùdÌãm·.=HįxúmüΟýFæõüÇ}Š¡çŸMùÂÿ“¼ÿ4ôyŒ=ÙÓܘ í¤Ä@íƒî·±Þã¥ZÀ÷8ˆÁ¤Š1Y¼:Áë¤ç¢¦j´(#“ñ0­r¹*íAqÀøÿÀ†°„gŒ1¡xáÚ¦˜èhAo‡ÁÙ&:_jsa¶%ñc¥qÁæ.„ Ø©‘#qn”‡œqyYÀ‹mÛy®ôj†0haãYâÿ±ÚÙ½’¼áW¿ƒ7¼ûÏ_YÞÞCóãÔÏù;¬O} Vì–näÛö! &ì÷è8^0Oðì ϸ³›µªÅ S†³Ù˜¨š g¸5™Çˆ × ã¡Ã²FUí õ³b“øï[¼߫èIÀ­W9u½ÈUç?*j(\T­nÙ•Ñ#]¥Ðq\ÀÏøŒ+Ž¿Ž6f³#'÷û0*JxÌ`Šâyd¸–Ð먵mŸ=Œ[,!ŽŸ¸Àï­‚ŒäDù¬ŸùÃ<ñ¡ï»ï~Rß–ÑOÿO)å6Ç·üuªÎ[Xôb™’Q‚·9ùPŽ£Âí ÏW Ô«ç8²yŽ%Áœà,™—xŒî5ÖD¶ @uòï£JUèkIÆ„Vôýy?VéÁxx’‘û½U°`"¹Õ°A;‡u!‰çz*\ÛsErmë ÂB‡,…ân ˆ(‹C·çŽ^öÔÿÍ·²7ÊpÀ¼q¹AĽãÒ„÷Û Ó¿×ÿü'—ççUÊšèBlÊv±M×ÕÆ`6(í¨xŽÆkÚœ72}á5ð]¥£ÌK FØ6B¥Ï0¦!/ÐÇ"JiF::Îsc#Oþò·!ï{öÿÕ;q{ˆ c3ä±Ö%pqâa-¶Ynä+ÀŠd ׋©ßQG–aü~ô$áB£/ãö.aÕ·Ëgc2b?$6ßÇý¾•nl£bŒ“犱µtlþÞ^{ÄÆ£°Dàp2bíZ”¸~<ÏKQ”íŒ}?õùøÙW½PÆqˆc£Æ*ŒW(Þ6þÉŠq!TŒW¬Õáø=Ý´8äªZ†‹Ü¡çÆŸ¸a`ÜÇMÂ*Œ‹UÎé KTj ˆû‚Á‘‘¦ŒcÃRF‹û‡•1¬I¼×b´ã„D?ƒýŸwlc\ ÃïusLLL7ŽËC‡pŒçnÇo ÇN)LÜc\c>°/—úór]e-Û6fÇ·kÀO)Ì©Çm7Ÿ€Ë=Æ-îys~üÄOÙÑÄQ 8Ʋ)^ âM?(²•cMN~•Æn~ãOÉXÒÊô`,-:®yLò$ a ,=®œøTº±”àÔqámàþÉ“Íï£BÑà~åK~ª§ZŒaôo+qÌ)Á«]Çù€û“fWÅ4¡T«¼3öe{íë©¶ñܯÔc§<жmÇ,/ÔâØ-Kv Êmåè­âû1_0§­![xp¢rÛÿíxÆ:Žø.àñË DÄO8£ü„I€¼[U}!~á13< î(8ãDŽ–6dû€qóñáÆŽm-ÌèYÆëlY±¸ÿ¸f`ЭpÏ4ZÔS ¾ÑO›k@§¦ÃºæÍ=Ægö ¼=zÅñïqüã¼°ªcÛ²-c…4î/'Ž=Ýo·×Û*Ëè5¢’ fÿ£ñœR⇠\Çû÷ ´lŽŸy«è½’ äoz÷cÃÀçQ7¿Û˜b;ÐQÌBÖ;Ú‹b bñJXÁ ]·‚æ¸Zm\|j1Í8ɧ`Sô{„?[Ç\…eG‹µ=æT{! >ZÚ­'Ïß²L£ÕŽã·çnÇg;&qÌxÜ8®ãwãÜŒc¬# Ã1/Ã÷qnÀã­!Œï¶±S@óñº£÷Ëø<±QÜÈh¶-‰>¢ª#[÷OÀ©³µfãà G aZ‡ÏÂÚFÎd ÔGx2Þó…hLJéÿuž7žÿ¨çžêÃ(Œã:èíñ¡Ð§hÝ-4„«½ù)ȧ\^02|ã}Gf/~\º¼õÂÛ"®7îä¸ ¹â»•èï¨HãóÄŽ,ÁžFô5hï),𤌃´mÛ…¦ˆ.@ IDATF‡ÆLïãôŒrdIÕó.ïÈX«ÛûÇý¶x~|ð-s2Z°ËÛ¿TÅx©J±½ÆKo-^LøMFÁp Aá²ÂŒñØvÜ2½îhÌt‡ÀŽìY¦'RG¡_†ãÂæáZQ|9n9}‰9Žyá]ŒMäp‚]Ça Â膬Œ^67€)6èò”µÛV“CËÚěˆfL žÆàÒ™ÿÄØ>Z¢C©ˆqߨ±Ì#2ÞÓpÍí¤m­ìƒ„÷¥òûÛ 4ÚKQ¸QxGa½ÉHXl« B⻿ˆÏÆ~Aèöþ£EÝâôˆQ£ã†kã³y¥øl,óßµ-´ÚŠ1Àø11×®ôWÊÅø…wï©QÕKžv„2§pçH³m¡ÓV°¢Â1bè“1.â‰ÄÓènrÅDŽaÔüm NÚÁÚ(L[EÙ ó)Ks ¯oÛH1Ç=‹*ψ*¯ÜïI"'¡áxÍ-ìƒã7zê(ÙVúž‚"•žéÐKq¶ó~ÇÿßÏ·erÆ’‘ÒØaD§˜Äø~,=âh„᲌à9hþP¶ø}ôV#ã¹Í–J: 2OyŠmõâÖÕŽ;¶˜Èí dºåzŸqE߈«ãœQèGÎNo ÇDÇ otåÈp c`Óðo±s,‡ÍÀZ*¿ùüó$æýþ’‡,Ãñã¤l ÎØ—àßC"_0ÆoqþX'4Ò¤Q¥¼ÍEb­¢?±ÇWœSéDËŽËÂÕŒÂ0>1¾Ñ×-JØzÀ‘¼Ǥy½ ûV IïwÜ„nñ£òƘÄõÚÏsª:f«mƒêXp>Z¬­Äß±”5‡‰ÎpÅÅucK}è YBPƒ…о„P­ÃÏýÆx#&>î9 ñ޾Û^œ3¾+/ž?s´8 È µ*Ç¥ ª6fIÈ"‰Yà< $Ъ\,+$aš¦îùD¼ŸbqY`øDßJ39pô9}ÚQÐNÁ´P’ ´Ç*†ðÐ[øÉÙ‘ µgacÛœès\#JvÆþ…,ŒqGü_°¥¥ú.1Ú PÑn4V H ‡U¹Ð® û„¿qK¨>ü=Rû,K¿÷‚-–«Õî}¬ÊªP¦çèUµ{º í:5²ãp9Šó#xw¶‹ ;J SN&- BQÛ\¢&aNp.¦„ƯèåDëQàBM@Uì稗qý¢²˜âO“Y•¤paR…¬z)N4جT7 1׋ ÷Žp±ú©²TX«¶¾-ª åP+1…—Ó¯¬¶ÑAu—°ŠýTwk‹±˜Uìý¹‰*¹«­ËZɹ['E@ªYG± ¦€µTs±¥›d Kbš2UµYØ)M ïjô=°ô”±mÍ€$q%œìÔ„ð®ŸlÂf[eF ·©áò}Í<ÍÌ»Ó ¤lá^-…$™i?3M;Sа¾¢$Ä,y Š”»2¤Žáã1j5{uÈ ²(Rµ¯ËŠ{‡ ÙJÕݵ:üs¸’€¯ZÍrÔŠà0$ÍL.¬%›wI$Y‘äs₉+Y© ™Ñ¨°Gð©>Ž®»3ò41‘->q%]šâÖZQId6h]ˆÇx¥VôzaLPÈ@ #Âåä°_Íp¡Hµq=š!n\£ÕR|>ª[þÒ ,î“{­IÊ~·#§Ì².¬ëêŠâµy¯éOÜ@B CJa]3ål×PR¢x„nßYŒp•+¬êj î!Ôcƒ€9I’3 ©aÿišÉgìv3g7ÎŽÊj–©T¥®¦(0 –ÈÓdSüïœú¨+eq!Šß~,Ä›˜çÉ~­Ì<ª¨u­\Ü=RÖBNÂn·Cr2Ü æ²“X(æy¨ÕàjõàÒ\$Ó”™òÄ<%’@ÎJÊ«ýæ]˜òdA®[à€sê8Þ”Çíg EéÞTƉsxýd÷˹RëZWdU²:œ¡’¨$’ÅY‡MV ‰{öìÜ—´ƽ"ÝÛ';‹ñÌ{a—È"hvrÁeGëê^:`V2¨¢vrUJ-”ueÕñ ­)¡¹“Z{Š;'ƒš) ÓrñÜ`Ï­ãâ&Ùs™P«ñåy—›`KT“± ÅÜQÕlÌGÜOŸ˜¸æ$‡oæx*µm2‰»ËmW¦l‰©¤TÑÉðpʉR| ðî±’Ç:‹Å6 1fljÉx®äì˜]UD„"B½'hÒað bTg²D²Ç0>Vš8Þ½k±{½,%=`GÕj{R"M†-EÔØ«¤äT>Ö…ºT7"•êLÕºÒ-c(Ÿ*¤ÉÎêÐEÜÛ£½€PÌ3¤œL)kEÕaL1Z^ÜàÕZ)kq'V –¨r¸gh!{î,γËáàcéFÕcϲ®Î$šRI ÞÊŸ§)Ž ì˜Ë[Îs:;XÖÕmY@t÷¶˜Â„×7ŽyÊŽ5U…Ý<‘JYÍ@VLöÖÂtï™÷#Yš›‹É‡¦6±‰„hrkí4âÁ8›2†™kq°Î–5b‹ÀöN):@ÖZ¼“œá1bgp¯) ,$5…3/ʨdƒiqO›”S¸Z©BÚDº· çO‡1µY-P(ÚÆ1¸ ÕÕÇm“]§Õ9ûÝ¥u( ‹XËJ-Å‚\‹ÄZ\a0A]°è“Y_6¥Ô•Rª%8UâuO„2ÄEk-¬‡…e9vÏ4ôIÚîR"OÉIäÆÇ0US¾RŠ'' Hæ‹V›óRLyjxRU´Øè¦”ÈsfʳCøì)ƒäs©>ÿ jóT@­+ëa1xêÒX½ÂªJ]W‡•>ÿªLåx§ guüg£mbÇ…-`õæ²l⪻GûNI¬ZY—•RÖK‰`.”A’`Úƒ§‡)eË;§(a©T"7<Þ—Ææ8|³I²¤•¤€9qk¤ÀZœ¥ æ©F lÊø8¢ùxþ·R6c–¬Ÿi‹ÖJ] rÖ¦\Éû„ÀÝ‚v|F+H‡è{"“Z|,ì‘·h& Þ^º×£Rƒè¨Æ8–ei Ac,èB‹zQHžH‡çŽ$#219®Ûhñ ›J’ˆ=µÏ¥BY=/‘ ¤ä `cž§0zÉbN7Ž–ÑÆº\ì2ê&"yh±±Çè†Õ ìI z À]¢úC«R«Y±ê´¥c –º`eR Ÿ*¤4·˜"%ctÄ9ùÀ¾ÄZg,€¢âކœ²³E=¾¨ºšÞ8«¡mà rå®Ô“b)5©Šªóûž‰¸#®`çÒµQ¯ü™‹p‹•M¥ÑÃ.C ‘a­Þ·ê*IƒasvÕ å Â#I‡ ñ·ºÈ9ùqâT|PÁ67’œ¢-«'!u˜™Ôâ a!ès“Q—“ª\ÐZYkE ,^¶©`pZ~"9ÙÇâ,û½T'+J˜FuûÜ q #—,_cvo€²TKŒP³ºR{.dUÖH$6cSPµm:Ü» OÙo؃&‘ŒC[D O‚¢R¡vv(àA VR²µÀê—¤„¦LuÅÉÙØjàöÚ,UÀc“ 7®ëÚ„DƒU à¿-½ÌÃ|ðà7úSÚ歷fYkÿ‰ò­÷  ¢hªE–„í¬Õ¼M”;¤€cª.»"™¦ÙúZj´Žë,¸Š“¦ÆËDÞEMN^"b'4šÕMÌŸ˜c­‹3˜?)žèsoTÐèV$ú¢—…`E¥pëÐØ5“pÿOz¶~]#Ø6Ñ€d@l¿æt¸goAÏBŠ bΠ™UŸŒi‘‘xu+ç‚ê¦Þ¡EqË™šâ>/Z‘b˲ ë<¶ºb”†g“˜¥Éi&'AæÜ-¹[ªœÄb$IHv…iã¥-X[k‡ZÛ3Xˆ¤m‚´ô%®¬ãj‚€È°[¿VçÌ#ß V[˜'+&Ìn=s6 9%¨šYW'’6®_†…U !µ¬»?cYÍÒ¨ ¬. Ö×°¾Ò<9ªHÆKAp¬/^ëä Ï4Ñò9¡ÕŸ) Ás#R²Ej^›f|šý°1ÔðÆ1Ö.7CÁ †À‡—V7HI"âð[{ÂÒ1w^—£,ÙX§BËn3=QiU"Âtë±›-¨ŠŽ…š<šïÐ%y¸©€,•T•êÖÀа`N`Z01K\À€µ›µÇŠJ)«õÁ™uëÍdF·RÆ,­ëjAœ ¨ý ÀÚ¬B$³"¦©añ¢Ä¡,] Ðfíp/}p±À`^ÎgHŠ xòÒˆÜiÛä@ª{z0)]x´àp·Ú¼VÐYšx¦ Pñ{ˆÃ™”…4e3X*½´ÃIâ…†Am ]h¤¦.|Aõ+ÎBðíp'`¹ºrC¦!À)3‘éÁŽÇ£D6¨ËZƒ×‚Ãf€lKòªõ¹Ðìàl¶pF=WÒn×½>~¯ÉjSRBi7¤Õ(‰D¹‡y¼„.ÔªQÙ…»1âÙY L©Íê ê|tå‘íM¨&ª&H6 ?ªWŸY: ÒŸŽâÂìÇ·¹t(áV«8•Ø“KµÑÒ>bv/UO”™‰™ÒÄäp4åq*SÜ5g/£HN2ý¹.Îÿ§äžVÛ}Š?Kô·y<1–|,¼ŽD%Y̖ܼXì îý{V¿¦Öêt{mÁwˆ&µRÖ3 &w.ìh‡`>'¤ð«ÇýÜãµëÆXõOÁ pÓ]±¯ÄÕþwCä»}@Ú344ê}”Ô½nÔn ‘Ûéq öZÈj£oV¯K­‰œÂ(UŠÊj–E\Œ‘¢­HrjŠòË6¦õ¡ªV¾É´:û®¼»¡<0cfyí!k›Kõ ¾¬ˆ­\„ޤÏþ®«[Küän8‚ÎF&¸·™² 29EÙáQž Û[Emxƒ˜ÉKeŠšN½*.DÙ½T!@É!Ø–ÉG-‰¨š,™§Õæ%rÎÍ#„•-žÝ$ž@iÄ"N¯MЫ œ–Õ?wcåB&i“̉³zËŇ€a`’{è¨ÌUï“”®ôùájwÁæYd8ºÅ:<Çð™Ñ¸j1|„)aw LÇ£-Aê^ ¹ö›u˜r¶ƒ+-àV_e’'ži2N:’=ÚtjÔT.3ω¢;ÖãÂê™\L¨ei ,P,öÕF•&¬?V›deÚÓ4“&gZ Dt‚ÚX ê.ÞW“8噒غRËãàp$¬Š4æ®0}ššµK"drÄg=ÔížT¤®ÜÙ³ÌÕ¬¹$ë{+QÊby„²Õ}s1EžÇ¼‚ªUŒW€²®¦H¾˪§KV¤%:ëºZ9ˆ&œsƒ‘Ö:cÊ NE/[×u02“ô@7KÎyO„>o#d#”>r+ÒŽk :ïJá1HŠc¥{çÖÿ »m8¦Ã½;ÝÒJÇÿH"g¡¶êØv û^Ū<¸Tý@Áðk`–G¨>TÏ>ÇÀN™9 èÎ0=á6»nc`.WÛb”².¬é" ‹þ ±Ü15‹¾2d›;á$5ÜŠÃÊêÇÅ&¡,m2*MyP*§OL€àÔÚiè­cæZªçìÞQú^K1£â0…BxŸrξ~#4=ÄÔ>S5Tñ*∑PÊZ)>nM@üôêÆˆHê¥ì}÷À\SØÚdÉ Òê%Câ ’ÂÀXàM1Ú:"®êŸCÄ}ƒ¾)Ï”È÷ÄÌ{lH³ÂŽÑƒ:÷ŸJÿ¾-‹1qµÉuã7¦êí³Ô>óйø ŸqôTÒú¹!“ÚÆÕ•©ô@bdŽÇý6.ë>oÓëÄ;›Å•ìË]pëãlf‚uR[ŠŠx•§CšäÉ)ÏpZ=v_egÞ»x`E›QW¢Qx|PZÙ2Ò-qãª}‡ÒñgL‹-vÒFr¤d^«Z‰»ápþ ž…Zš±ƒ¥ÃÜ1é®°J²u9!^ l²•<ÎKàiñrô8±æ"jÙíèST²â…øºîÒáTŒ§/Eº@ãÎÎײØ5Õc¾·XUJ,—Hí–}€b\èм|” aa¹.àF™ôz¸®Àú×Á£øïÕfƒLn-eì£Úó« VeZ–£×ÜxA ­ ‘B®XýO6¯´Œ2ï¸V«¯r.\T¯Ó‰Ipž}YÌÙ­œÄVd×ÜòWJ”M¨/³ô{õÝ(Ü›%±¼Jr¡U‡eàAuÔU8^˜w“S¬}°«?£8_®U[ o0«×÷‡pº-1H§Žh5ÊE"ÓžµÇ VB$¨ÔnA£Î'¼€ jÕ¹a0Bs]<ÌÓÚä»v´¢FoûKsãv=ÈŸC3(6¶Ó4¹÷váô¹³dbg³ ’)UÂC›)Ø–Ðkþ‘îuðø¦?®ŠWgx®£Å+MÁúY-ÐŽ kŒ—ݪµ4îXü&’Õݼª¹R“©Acãb‘½Ä·êoj[´Þˆ­ÑÉ Äèá|ëX(N3BÔ`®"áÕ½–C›‚"k¥dpá2Øèi·šÕã˜Ø¡¢[(.|Z?ÌÚ›F51nˆ"7Ô´¾Yoƒzm ©.¡Î4†i^P.‰nóV /í~­r3QX1t/SKmU¸v³q)ÁèaíÇÖ'ÒñE0:@WÅäý&@ÏZãi˜/nîBåÓ¤„†u,*Ò¨T¥šukJ§,¥ ¦„m¡Žˆ—(ijyÂu¤Š¯ ªi])kiuV’2ËZP][]?i8?ž<9Ö×7˜ûîtf,úqe ÁðüOx— `ͰDiFXuiy“ðl=ÈôJÏ$æÉC(‚fr7`žµ L×QÚG¡Õ€xŒ!˜0WT´Á"#¬UÜÞ†µF•1M‘[žÉeÀˆ…AØã`uY#^»œ5£²20á9€€âõPñÜâŠ4–¨˜p†F}ÆKà³VîqY¨ƒ6ú–ŽK»Ðö¸.Ä)¬žÄD%?6J¬¥=ˆ%ºj \G«d°­ÔSÔ'>¶„Ai…yMY’Ä­»T¨ZšÂJX¯Æ¨øDpÙDHšÀ¬ˆåÅq«u.×ä1V§‘[6¸b–"„‡\òg1(¥ÿc•±PÞ¥¡ÒÕm0Ä—áDÃï˜Ð7š{•PfÔ—¹Ž¥4>ßù‡Úc+U_ë­^þcÝKiÆÙ<8ýó©:2x©}×eRûÜúÉa:ªqÅðú²VãÕæ10——ÍLë²zËÃ5b­…; Ï·7F׬ÍrЏUüÁ*¶ˆDšœygÅó*Å-ux©ºix7{¬óSË»lƒ6{rô·Ì¨45°Ž%±ŠÎžËð;.8†v!ôêQ)…¤½$£)_’FÞÆ`Mªf›'Á8üDê}ßG?ÛFÜž[Ì3j±UZI5B¶E'"L‡{÷| ú€¶|„¤š.óñ–83î)‚RT º¸5¾Ø¯:Óà•U©ÑçÒ´7 G<”zPŒ…yŠÎʘ@`yXÓ¡n‡0X©Oz 6¾ÿm÷¿ ‰`¼±!îÍ¥ÖÍÑCb¯¨¦“z9‘%¶õˇ; ‘Á¨ä¥=ßãñJ3žïpÙQ‡>-fr¨0®oüˆëDà*’¼èp¬›ûܶ IDATN–á~´2 1ù! "Øb¨b›¯u>FIƒõqÔl–Mƒ ¦‰dÒ4‘ðe¼.¯âul)ïÈÓÎäJ²ï ì\F¦3¦XéaI ÑqU„€jxËkthVR’'½T¡¹Á6UÜ2ÚuR×ÍÕ:<N´²³܃T%¶w1ö";/=Am7uÁ±ø³?·”áÅUBó*±@¼Cn ¬î(¡ˆPÆj0! qž I£mpè BßôÎ…Ê”j¥DIÕKCR`]IœÏdÁsB¨–¸«Äö¡o†ÑKä"Ö rE Nµ”n#›Åq6AÍS†8Nuèmub¬Û7Žƒ£ã^>^'« H’=›Ž{p·ÜóŽywδ;c:;gÞß`þ˜½ðfšIÓd‚&‡,³í¶;#ÍSð͆͡ìÐ4Ù`ï•!˜Œu]Zì¥¥Ú È(8 AUÛúh\[KÔ#a;¡Äq%J5,Zlþ|ó>b¯+d¬¿ ¥eе{½­Ð+M²½shò¥mÄÛªð¹8M©M0ÛÖ0>‰† ’ß®ÁÈx ± ¤vó§†Ê{ð‰ï³ëÕ_J”bb+™(Ú¦Äâ÷%,h£\^ˆ‚4‡>ž:×:ækB€­¶Œ\.Ó$†½ÕajŽÑ8°‘£B+»W`ÛiFòÔ‚FÛŠgò…Q¾ Ui6È‘ÒÔŽK>ŸíÙíÏÉ»s›WɆ˧™[õ¼»AÞ‘ó„¦l!¬KF0‘­ÍXÌÆÆëä.%~…4YRT]C0 AäÙžÓvy7DRk,’ Y‘† ´ªí_£J`€Óê5`mdõÚ¯¾ËKƒˆÅ`j»)‚í!†é bv°ÄH`·Ø´ª[A[xêûõ @ºQ»Òãu¯ bñûwe°îÛ"6æöS5«”Q©´oœë¯%b§¶0æò–¢±Ø*±-Ä÷ÒuwÝTy`Î:îÏ=60>ÐÊiFòÞ„vÞ1íϘ÷7ÙíÎM¸÷ç¤yo‚?ï ¢X( Ó„¤YðÝ%Ϧ¶óH§Ž#Ö¢Ç8DÎGŒ-£B #vÑ3Ö~~lkSÖÅAÕ”iYÃÒ5oä‹)‹Ùñ¶1u¬S6®j}WU{gÄnÔCÂíõub{QšÀ;>MŽÅ¶–0=ÐwãojRêƒTŃ՜۪«(&^’Y}™ÚFoöòÅâž)––ÚïcÔ•ZWΦsrÎÖue]æýÜb…帲WvûìJ+”uáxqåp`7 š”¬ÊÏ’mµÞ²àÛêÔFŸÞ»{Z…eY<î1EŸejFQDØíg*Êá₳³3æÙ*'{‘g@÷²FžÈäR µÂÇêcnÈD*m "Û§Ö¼¶ˆ™íªØËtÄÞùÛ5Ÿ ±E‘Éí¹ +ècÒt–ÃÓýÎ_\Â÷ø ô÷LØžF6k9-i((¶Ïþ¿³7»ý vg7 çßxŒùìóþÓÙ9LÎädc{p.Þëm bIØÞº¦·UW ¬Ôîi¹·Ô¬F ½FM‹—àWóyšßhÁ,u@O›®J –}žr¶—9Æ{)•1hv\$çDl¯)cL|R\©­\»WÖj­,uñ }ež÷HއI„y?³;›Q.îÚªÉý˺°, ëzD©Ü~Ö»UV¨•ãÁ¼ÿþlDz,Ü»sÛFr7³¬Çö. SŒL­ ‡ÃÑKŒòœs¢¬…{Ïß5O³›ÛÛŠž¿säÏQKåpá/$=,¬É¶(]—Å “¿1·¼2hl«”µU#´53"Ä»7Z,ì}5A¯-&i›E«ÅK¶—éÑæS ër¤/ .Ô²2…E¯¾$´VÚ¾ž1·©¹%S†¨ÒDÕƒØÿ÷FÀ7KS›`ƒ?7˜ö7ØßxŒÝù-În>Á|~‹io^ÁŠÁfì%ö.çª4²Ôj/_W4^ßÞªi•(×6C\h¯×J±KÅ„z1P¼¦±ÃÉw§ÐÞ)•±¨3Kt¦L¤*UÍ’‚°Ö β4/£4X©P.µ—€*ºT¦\™æÉ'üèJZI²’“°Ÿ'&QD*»3+ÌS%³ØúñÙ‚Ý$ û©Â Ë,h])ËÂùùž³3³à‡RY— ë‘[ûì2ó~&gáî3w¸uó¦aõeaž*O>±ç¸€mŸT8*·n±¬+Ï={‡ggìÎàÞóG´Â…^˜,¥.ô&´®°XlVŽF¢§·¨¥j²œÉr$iäRw?2Tf¤,Ñ]Ý WÙ#ùø@£ñgó‰äÕ# ZU—JòHwçƒo÷5eÖhtVdDœs|«µ×^;ôNü8¦³çí¤ ”CÛÈðuàz”Û=c×b‡#CÛ„EEÞŠþo0ï™.L”ò?åŒÈRjZªX„Ù°©BŠ¡KØŽEU1[ž3[]RÎTóÕâS.Ñy…ÎÊP¦r{ÂêÝ1xp£Ã»!Ñ0ÒØ¦Tum2âiU±­-‰[bÄúˆHeÁ ¼O" íð.&ÃQ\7V‚RÐyˆO‘/ál*A€Ñ£DÀ@y!–†Àä9yQ†Ïµ–\‡‘Û" k͆!(sÌkE‘)šv ð o àÚe•“iÏ ó%ÇcO;8*ã±Í­Üäm½el;¬u-m‘S•a¥[;„ÊZGQIþ<ÏÏØõЏ„^+ÅPX§ú Þ8{R¾ãáHY–Ôóš¾€°­Èd&¬EîFAÛJMd¥°¶±yçc¼M•÷I}ë¿‚“Œ… Š÷ÈÚƒ¸cÐ87à†VVÁ0ñ:m<Ç"‡Q(Ø^¸ö>5¿¼ô-œŸZ.8¡dHH PaN9[²~õ†ÕÕªÅ%ÙlEVÎAç© ffôB˜³0L; âæ ÌL¹9¹y?¥ns4hY“‡Q: JDÅ+3e*€Q5ÑŠ4|F†’®µÖeÎŒFÙë‚W²ƒe<öµÈs‰†ÖÐîw‚ׇ9rü»–aèȲœÙrE¹˜Ñl·;r`Ý< °ö0„»»Lap4mÇè¶ѱëÃ.Âq¤4gk% (A½BºÀ-%r?“‚|R,·uB}ÄΑêäó{õÕÏ#”œR‰â±NÍ´f›iát¿.DçÐ'4Óñá ¡¨+¼4]ú~1p.¤JOäÃX[¸t!JRX9*Tn NOµ4Ò¤ YC¤A6Øi‡Eª/@v¬™$5u–âLD\L¢î««Šoû·¼þÿ!;{˱St£§ëŽ}s]ðåj"zOÒÁUæT7I¾‡ Æ/’ЈR^fx}T ŸŠÔÀ à€•[*—>SX²PŠal‹QŽÂ8ÞÝ®¹>Ÿóéé™ÿúŸþ3Ÿ?`‡ !j‡ i©ö Ä˜)l!Ik Ä 72Ìg }‹µm§:¬J…ýâZ¼v,>ãž(üpHZ»¥¦ý&Jn Ø÷”ß'z“‚Ålðà5h§T1-_ÁÖÉ‘PÉ2d¦h%¼¤8à¦qÖHj«â· À„êΈûð(>ÖÎ ßÌäá0  `"R]“e:ýžÑ¥¼ÏtObŸ$±žEÀ:‹Eò©v¼ÉQ”×^“ç9¹¨XǶ»Ñšz6£šÍðÞÑì^ ³ £•Qèœ*Ï…£PÆÈ2@nNaBä°±ã)Þ^Ôô£Õ‡âÉGt"‰YŽƒ§Cr6—v‚ç”Ö(?2¶{†®¡o÷[†öˆ³=¶kpc‡1š¨J²²¤m[ƾKÈY,êB:ÊœPÞLp¡÷ÈŽŒ!9™¸6ù4äƒÚ)-kân¸©#gV âøþ.9ˆ¸˜'F.Aäuò=©Ê›^If&2TA%ÊDÖoXîžµFÉJ8&¹V%Ô·,”šNºâE@fûuˆlNÅI=’‡s%>‚›ágZ£óàL’"?9 iÊ%â_¢”D9'b'Í'AmƸ!Ê$G0ñä¬ìˆt¨ÿõÿú?}&è@äÜ"©vH«‚Nòë‰ãSÔYŽ"cC>l%E^P-–,ÎÖè,\˜—sr3ñò@ÂûÄnò8„¢1 &…B)Ì~Œ¢ï%zÂ<È(|š÷®=aßµÑ:(‰Ë­‰‚Í5;ENX·êô&†Gµ"Ÿ6¢MÑâöR¥búáӽЅ¿Nø“4‘8 (^6 £Ôd²žÍz‡‰“v_Õ{HHZᕌŠÇUq>p¼cBœëõ"ñ);ÄÈ&¯IÎ3–žŠT¼ZÖ*Dh9ññø:s6nœ(ÒÆ(AF¡õôþÄ«UÿúKYk%H¥ÔÓÿõ?.¤‹™—¼LaDØ+êÔJQ©Ã,FøBÁËX©q#’¿R ú^ÈuíÃØÑ7©zÎxüj oC8µ‚±G•òx§æâ¿*ðÕt1ñFã'Ï%t”äÅ9Á¢o(w–¢Tߥ5ýÑ:ÌhåÐYÔ×òœ¾T1¥¦6â`‚AÆb}2¬©™@v k= •&ž:ùžÑYäîr/\J?|¨·äƨéuôÔ"Xà¥Ï$)P a^É3FýtðTú0åh0Jj—Ì“1c‰†$I¦R²d(Rý£¿Æ:ÝðpèeŠŠ)à GJŤ\z‘3R»ÛéM‰†Ô.GfG!NyvW Ôeá7Iζû y¥ …R …òEÔôÀ­Uéb”s8?0Da¼Ð[KœmÐ*(‡+ÔÉg‹p<Ÿ'ˆc‰r8UOÔ'1šJ2H •rxâ´`šæ› JäßÓj¬8Ó¨éЇ÷TˆØ˜B‰O†tÆÆWüÌøb›x½ ‹¤t%}:õˆÞGa ·Ì…H‰‘ntx˜éZ“‰FGkH%4y‰ÆúdZ.Sw:P2&'.ËJŠãNš¿$Þœ8ò8F¬…ÒøÀ‰w'F߯¸{ò9_ÕTñ–:19Ké礑ÞèR «Y–Ë~;!×ŵb§ÃÿC×3±pÃÏuJ9â—f:(¨“œX„b(#zY9Y^’~‰ä~)"(ORbO7^¨òÙ1³±KEʾvñrmÒK8ÉlÒ÷uR0ª¸øä¤Ö9UTÔÚ€1ß#Þ($üStÂ)I?­ðñ¡ÄA~];ü$aä• =yÝÓI=ú4îä¡Lâ“J|ù »ØãÉ´ÑÍxdø*°hñS¯'¥Ѥ|løF@J4NOì¸ÇC“Aǽˆ©“-ô™”J‘î‰u¥Bí©HÏ2ÌÇøÄó µ•H”tÉÃDß”uL5$Éeóå<}°V_s¢¢Igqø%…˜âÄ Ò< _Ç<¾:”)"ÆSž;P„k%²LFðõ̆G¡^Ç„ò¾~¢·ËöÆ„¼„§§Å“ø˜ÿª)¯u²©h´É¸«¤¾’í½¤’6D;è÷V Îi¾Ä§\?ªEˆ†B ¾¥• ÿ*ů§ÔâÃ{œŠÅ¿JJz“m‰Q#ŒàtÕA8°1ERÉø‚ñ‹óð“!œÒ]´ŠÜ-9ìÞ¥ÃE:h'sÕ“¹¤L ÖZÑø½Qé¬Ä´IyäA%*XY'1½Ÿ•s i”Š·iŠp±[ácaú¢)`“eyF˜òÄX´„ùà<ÏÅúÂ;%½ %á(†äDœ ’œ|1¾º páq* Afâ Ó!öW2Ñ Š‡)¾øuEÜö“T­îdÇF /÷*Ñ÷„ur¸q_µ#D,•´jJÙ✀%'Ðt\¨¢’QoŠóáïã^t•Ð"É|Eø-D :xA|8ÌQØ8Q[¢¡(D„#ž—ê…$«Ä”¶M÷\nŒ>sJäbf-4œ´§Ñ«äŒ&À$–ç…$HŒ')ÚI†›tS ÷.ìÑ^ý‰ãk—çíøZÖ(뺎Ô5>yÐ)õI_R”˜Ûxi¥êÈ鉤½Tp åÎ!}‚“‡€‘ 8Í §ÃAj2©ÀhŇC§ “÷?ýGÅg¸ÅƒÄ¥Ñ /+<ü,3'i–„øH±NhbL­§(ðÿ G©N iÌÔhKÊ…I”„v´šD â=Œá^æíOåH“G$6ÖJ.¤©Ædé08=y<m´ÄÊ%q»‰’fEÄ»%'eU Î3:¾i_^p°ÓO¹ˆÌ¬Ddð´XOÑ1 Ò‰WÇcW:8 é?~"h&§àcL"\KŠ(njOIÄWçEYßtÒiÕrÀוN†4RÃáK3'EZ¼üa"=#ysù¼È©ŠFáãT–OK7/üRÚÕ&fùX±³›V_%&ñPEcJê!Á"—_žP4¾€ääéaé•ÂW;Th!Ÿ„z¹«î¤°Æ“ISÈxÓ]Ú:$ÿíQHÌïkv¨Ÿ®]žît¼Jé *"-œP¡ÔsQS7;=g1N-ˆà)FòØ]PJ`wÅ#Š8o™Îo4Òø(<ušsÁ{Ii”ªRm¯'>[oãó ÷_K³Mp8.‰Åÿ•Ÿ!Î ¤KSHJŒUIΖYQeóœÜx•Ö^îKH…Ð* ÇLö=Y]B„b.‘ 5å ážÄ…NÿèôW*Á—§yç”3Ëç¥fÎ×Þfê^’>+É"‚•¼ÖIW4ðÈtª;ÒE:»èøLªàñ€Ç– 4F'@ ¦r¡¥áäløäµðA^4D‘5S´t']ã˜BÊiŸ-t–(RSÓôS΢‘Mà^¢Ÿ¹'ŒŸž1ý†¥N#Æ•Ç.žÉxÞ‚ã׉TJ›¢ƒÆ4=ø²ÂG6]Œ&É‘gÅÿ^ IDATHe‰T†,4É,ÎkurCµÖeRæ åО.Ÿt‚wã%¨¤Ïªu&3¦R4‰‡?z>p8)¾Åê­=1ÔÓ‡>QjVÉGïÿÞË@T&8X‹‡DÜ çÓ¥I<ïÅsÈ AŒÂQ*(IËÇÈã(wRóLͶø'>´kã5±ð²¾àUc†¿ˆ´‡Õq D¥ ô‰®RúLy6Þ "Ë䀸4Î9…óð)ZÒ½a‘{çÒ£¼ ÂQ¢_+ìì¨ý‹÷Œƒ•³"þÃM† êT“…Â4œ1CB8ãÄ´ƒâ5m«TˆÅ3ñ¯ÎeªE\Má¿r¾áÜkFbj«dPÉ[¼,ÿPJºÏ:ñ©`q’3‡Ç•)Nn–9é<Çîp ÃxŸd7#/&<ž(Ý)»£Ý}"«6B ÁËÊaU`|ž¯ Æ I×”–šÄ§¢Ù¥üUšVÄšJÅLPŸQ\Ðr§J"^Ž< ) ѡۯFÅ×ÎBE˜rø“M ÿ13 ű–tH‰q±½µ¡êc?gŠ^N íØ•O‡Â„ÞÌh]І ±ñ“”PuˆÍ$wêF‰¬Ô*~2»ØpK¡äˆóqÞ2žp™B$š·§ˆQr:.¤µ62q¥Ð6±ÙœPÌð\F{Úõ÷) ý§&bê+Å¥š&B‚òí£P¶ÁèŒl´V¼…уÅ8Œb¹Ž,m÷T’ƒžÔÆÅ”HŸÔÑsÅ"ÖÞ£¬HÇ»˜ï Z2.bp±;›‘ܧ$ ŽrJå´j FTŒF#^ Vwò°¾¢¤FV0ÅIŽ¿“ž0ü˜"xñ¸ø)}‹óìM\Ì£$ Õëõ.¤£µ'¿"Á(Ä:EˆâÆûÄrM Ò9wÖÒ÷]z —dD]2Ö×ÙékÎö òwQ€ (´éžè@b§:õ½„ ñp¸Ã0ÓϽCå‘0•6Áã#óAc’à× û8gâ] Çè0‚ ñiº3ž%­'#ÏL†u6¿"l<Ç> (rél6#sÖI=àÓƒ±ãˆ×ÁC6(Fœñ Ä|Ð9aÉÈ2Aº&!Sò…›qúõtÞRÔ‰©HhFj2Rø)ó'=w?ưŸ€œzÖMê{©6Œ°uB˜|2ÚPì©ô!±¨Ÿ~_þû”*ËL·a^O‘/ l„nùW￵A™Ã‹Î“BŸŽÈ‘›–¾d_õ$õÕ§È• ªRÚ—"ÏIôK¡KRÌ @”TÌ+´rsÒÄS:ð¸â°Òä‹™CR4!1ñœ*”ÎЄžê$²è Î"¤Q×HwÆ1ŒNç¡ß>'̥䂛ì›.h‡CU—EAf2ú¾ÇKúºÛnñ£%3&ªÈ…p•湉ùî” »ÄÆ E›11³›œóèè!É‘t„äÖ«X¯ÈMSzòÐb¹Á~Âñ¶Þ£DM=âÕZk)N#*sjx!·Š$JèÇ^¬ÒÀašò~^²Ó/]À‰uŸ”Dk†Œ(॔ jÞÃøU*"¿•òðêÝÖàmµ¤:…bbh²,—ëp©xvj¦4iâXO¬§%õbñõ"ïùL>¥ŸÁ@¬¤»J4£‘¥Á+/+ $MŽl߈^Eí/˜ ᔹ©^K‚‘ó%Ø Í[tâQ¡_Uy 2ìÀv·§ë:´±, n^ݰX,éÛ–—çÐÃ0²Ùl©Ê‚¬*«¢QÙÂ$Ÿ³6¤'L ñ°Å¥–SxœB|øÏÉsŸ¼$=ˆO«x¼åp§ Ÿòš@,‹5|ÏÊ:)²$Mˆ‚ £Ó!V.Ò¢'ê“T(ìJº=<Èlf˜ÜsÎá­  ‚•…$;ÁˆZk,ãT+ÄïCÒ’•𙯨4èdú/¨”(Bp?mvŠ1èIö3ªs[Öh'ŠŒw²SC¼±–”)Eȯ,ܧ‰ÀH$¥_A$îðS!ÿ¤Hö‡„ë"³AÒ8}Rÿ8!ýÆD@«Ð(M¾+>ã¸JÂZŒÑ" ǾI†>#]Û’çUU¡Ê­MÓÐ4 ûýÙ|ŽGQÖZk6OÜß=°Ùl1& ŠŽÎÒõYÈsý \¸ÙZNhLeI $jÛjmRŸÉ…£wœ¸Iñò&cˆyy2ðHÙÄè±Tº1"2`­”ƒB]|T¯&™RRì»ÐͶ‘>‘ž­JŸ{#¡¾"íSHß\¾~‚ü¼}, 6D¼5ã@gSj’D¯Å(bq˜€ùcmH(]40° £œJ(Óiº•0¼Dû†Šœ2ù°¸Î7g>\J£¢aÄèïñ ]<½!Þ#H©gütn²\žƒÎ3Ï2¬ O±žŠ‘=Ö-§Ýò˜Â†ûîG× ômÇ|1g1¯è»ŽÙ|F^–¼<=É냰Å8ô<=4áÌMYÕœ]\ðæíŒÉ(òŒª,0x®o.©gûÝcÛru}Å|V‘MºðèMž,+‚–©‚Là¾Dp›dÔ}^‹¼{åã`È(5‚Ôé=¦Ü4&î‘7•òí8‘è$ZOÔ뀠N²¶SÔÃEÄB:öFꀪ¬ÄÃ’šL)@Ì[côŠØ»àe|¯Pg‘R <¢ S…˜„”(‘=²J„áü$ ð±*Ìu²âåôMìµ(AkÓ¹žß'á¸èp¦(äÒ3PJ…š*VI…씆Fpbâ MÔ‹)…=ù} ɺT臾Š#6qÒ´8žéñ;¡Óçq1Š—Ã†Çû'ÊjƒÂQÖvx|x¢znn¯°‹y¨‹‡ ¥5 ~PôýHžç4çG«%C×áÆ$"}O×udÆPä9Þy²Q¤ÞÃL´Š k„Ö†JÆ1xë¸5iʱåÅ^n“‚LЗ”6¤c~ò¿RcDtM)$3¥àK¹»«r-ò”Æé »{‘2~ªU:8q3Ö.i¦\©tÏ”\cêjj³ðú“ ‘<¹“sAÊ(œ?Z’—Q¯j¨ „ í=}ד—agÞ8ôŒ£“â9 E¼÷̪ï=O/Žû=‡ÝŽÝÎS9õ¼f]×rv¶À#}×QÕ5‹å‚ëâ–Ÿü™÷ï?a½£,rŽóõ9‡Ý!Hi/ŽLS–%CßópwÖ驈 yJ3Á¢Ù:„£mUÜ3àDy!È*Nðê„ÙgZ'†â¢1€Jµb§‰õVâ­¤ÀCšhñ>«©ik ËqdQÐèâì°Ã«T8ðΉ';ŒŠ‡Ú&SëC=0|¬RÞ£_4“Bl€¥r6&ì0 ‰F’6¯}JY½ lèÐÈUµh%E83!KHZ¨ƒžUt8ñ¾EªI„ßQ*¥¢Væós“É öR“øÔaŽ?B¬iÎ?='}d¸vÕ=¦~‡1šº.(‹ç=õ|A–ïîhš–ùbNY–d™ahZü`9lž_ÈóŒóõÇcÃ0Žî8[¯yûí2­ØìÌä'’”£ˆ1Oß9Ô'6®ßò.MëE/Ëô”N¦Ï ?F“e1 MIÂïòUZ“‰c±Ú‘Idtd¸Nh›VQ4Á†Fc¦=m†:A x‘Ï´*Ô–a#éuÑñimÈŒI£¼_¥¸nŠ ±id9-EQ €qèÀ¬Z°<_‡í¬ZÓ7ÚCÃóýÝ0з-8KY–Œväpl(ªŠ¼ÈYdš‹ë+†¾çþËšã À"l}ÕFÓ5-‡ÃzV³:[²\Ì(×g¬ÖkFë†;tœŸ/¹¹¾`1_’ßÜ µf»Ý’Íç3ñ'ˆŠ„UÅÔªGÅ-K+9àDdS8}|è‰èø_'ùz¤„{dJÒ<ƒä’Á ž@+ˆLJ•èÍNVdy쟉æ>‡M,kG9lÒ0ó!eYH«FˆrΔ6YjÌ…tG¥œ9²¡’æRžeX¡Ê…´Šqº1vnõJ$>wU”¤¨NX®éðÇ((«”s!;ÃãW§‘Ô¥QáTôFgtøÑ&G˜É Ï(V눋[‚±1ˆ‚ÊZLì±iqCÏí›[.¯.ÑZ3ŸÍÀõlïØo6üãûoôV1ŸÍ¬åéá‰ãî€õžÅÙ’¢(¸¼ºàòòœí˯ / Š2g¹\ð»ßÿŽ>‘eU2Ÿ/Px6OÏô}KQÌæsFMÛsØnùå‡þýøw,ê’Ýnϱm˜Õ%ÊÃÏý‘ÈÙ³6ˆsdFÐ ¢þÒ‰$~âLMÔR€¯<!C˜Ö'Í·XGDù7 Éñtÿ@ÛµÔóYšÓÑþåŸÿÄÓË“f³’ºÊ°ÖR×%cßñpwÏÅåšÛW×GÎW3ꪢ®JÆ¡—ZÊtÅèCÛ¢µa¿Ûñþç÷Ap-¦7AqRj­ÂòÄÏÄ@ÉT›µx9qp=¶Ù½gB$$S±Ð(™…PÒ+Ý4ŠŒmj&ZÉ«Hë2ƸGBk“P$uº›ú¤ü³Ø6ˆ-#Ój©0UA,ˆâ^¸Í81DòB6¡ª@…1¢l‡÷AUÃ+ŠÒÈǸ1,/H×:"Vá¾Å+ƒØù–õ\c”œt¢ ê’ˆBè [)~#K‰,v´x?x‚9ï麎㱡;¶ì·;gK«EjšÆÁŸæxdèZÞ|û–Õù’±oËМÕ5«ósŒ6Ò=Î ”eÁÙjMžk†®¡;ì(sÏÛ›sÎ5›Ý‘±†¯ šWdENרn‚€µÒš¾ÇùrÉ|µÂhÃ|QS×›nƒ6>nw ‡†¦íØUB¼ [oÒìôÉኡ3ÎĨ Er±wRctäÑÄ”F’4%Xõ š:ïqvA^¡ÖØÅõ>tó<ÇâqvDk+ä»HÊÓ©†ˆiAð¬!ß·.xR­bt~ÉyGh£§ ÛNM“0¡&órmJ+Q§ÅÈwшàÄâÞKG†C_H8‹"28lYžþÌÌ “ |2£X,—8ï釮mxýö–ù¼¦¬*²,ãúÕ³ª”}Ž«ËËeÅb¹àáþã¡Bš¸}ÙPÏg¬ÎÏ麞—§'®./ÈòŒ¡íˆÌ‹ëkšÃž/÷𞪞abqvNVVÜ\^áÜÀåÕgk¶Û-Ÿ>~¦ïn^¿fµ:ãîËÿåÿùùøË¯x ÏsÞ¼{Ë»ß|ÇÅÅšùjÅ0„:åéþ‘q¨f5Þ…Ê,ÏØ¼ìxy|Ai×/ôÝÈ|±àì|ÍÙÅãÐsÜïCÚ­nèQÿËÿñ¿ûÓ5M1-P‚b„óÄ"¹+âØƒ• #›‰½z:À“ ÆXwœô,âá0¢À1FYN¤ì³,Ð0†!Fh\Ó KäòLó2I'Fÿ>Ègj²¸2¦zá-C­‘g(IYò¢´,­ÚDµ6Â#óºí…tç|d O}•ÄuŠ5™ ÎÚ ¶á%jºP[ÄNrìö',4FθÄ]Ð?ï ï:ŽÇc>6†ª,y÷î ·oßòéÓ~úá'Æa ®£GÕdEÎùúï,™†ù,@¦Õ¬æxìÑ:§¨gôýÀËó //f³š¾mؤI™ì°#©–ƒP®äd¼÷X(âJ5ï ÆH£1æI'éç)È€,¹F'ÌQ14/¨P8TuMX秨Ý÷”UEUUAIOU•¬Î–¬ÎÏØí¶Ü}ùBUWTçdFÑ7! tMdz¦È3áu´MÇ0ŽÔu8ðǦ£i{ú~ kʪäêæ’«ÛW<>< ´âÍ7oȲ ; äó­gXkÉò‚¶y~Ú0:Ïõ«[¶Ûý4’ê=÷hcÆÐÀôÞsÿéÛížÇÇgæË9‹å’¢,y~| ¦aè[ʼàåéçW7×᜺ ë›™Œ/Ï[2‰6Ÿïº–ÍÓ#M{äö›7\]_RU%a Ô>ߨ…*bàCç=YjÒMlÇØL‹uØ-'¨UD„| Ç)mœpäÉËH 4QŸÓZ‡~.LèRLs¤6„ZaDL8ÍGD¦›žúZ…”Ç¡ÐÞ'\D¼R*ä 4qD¸Z¨.ïÁ[It<ÃЃ¤—Y&³+ÑfmŠÍ/;:|nRz„xödàÖN0®7T pïÓà•Å¡”cè;Ú¦eµšs¶>Ãƒì¼ EU•ŒýˆkÖg+ŠYÍh=‡CCÓ±CÏbµ¤(J‹9MYñüôÂ0ÔùLzm×sw÷ŠõùŒóõM;°ÛñÀ|±by¾âæí[ÎÏ×ÌÏ׌ÃÀåõ_î¹ÿøI˜¡Ã}8´>Þ±ÙlÈòŒ7ïÞ°üð O÷œŸ/˜—ͱÃiÃl1c¿;Lö¬b6Ÿ³¾¼äì₦ ›ú®§šÍ8ŽôãˆWš"s\\^àÈ0wl7[ʪàüâ_"¯ÃtvÀ:Çl>g¶X •æx8ÐdZ&Êòœª®8_¯éºž¾pÞs÷ñ3w?óðå—§—PcìW<<¾0z(Ê’Õz…VPUó™eì) #+ \sUÏ©ëEQðû?üŽ/_î9n·|ú况íãá@QetÇ;gEY PF‘k˜/*öÛƒ³Tó9Öƒ:ƒSé~þágÆoG¾ùæ-±Á<ŽUUðúí+ÖWk«…1l÷[V««Õœj>£ªjʲæx8rÜí@‡…5ûÝŽã~GslC  Ñ~·çéá‘ççf³’ŬB{Kž+þþ?þ‘¢ÈY.ç¬×çÜ=l)«’/Û1x»4Tb²÷ÇB¥HUa.7hûˆ€ž™tH'èUŠD&Q­TtB)Ë42)Ó^x⺂XÀ*‰©G‚ôcNÓ>IÇqZW¬T쑨d¬y‘i[‰ºá#2'JÙ:ÂÆ!²A°ŒtŸ²iïF` (Q%ŒuK}“,Ï)Šm2ŽÇn´©ƒÛ·ÃÐãÓÂÑSŠÑ:>üÂãã3Çý‘±iŽ w÷tM‹6†z9Gç†A" Î2š¦!+Âjè~˜P=ëEYbŒa¶˜SUUؘ:Œ”eàÙaà㯟i{Šºâúö†¿ùÃo¹¾¹¤¬*»=ÎäYÍ|>'þêjÍv³¥Þ}÷ïááþ»»{šc‹÷Ž"ÏÇÑd|ùôc`6¯X.çÜÞ^“e†Íó†ÃnKžçh£Ø<>²7†ªš‘ß|ûmгEslz¶»†—— hÛçõ¬¦mžžwÜÝ=±XÍx}{Ååù‚\iúø4 ;ïùÓ?ü…û—Žlè{ŒÉ¤-Ð-SáS$ˆ()·BœÔJët¨cçY ´™9ÔF,(FF4£EŒ8þLŸÔ;á+ åBÒ¡ˆE¨Sk-3À¢Î!ÁiCñÎQE0|ï‚Ì1AÉöcô>•[…žEL%£ØâÙa ûÉË,Ò$MË3Ã|>£¬*º>ôŒÔOOlŸžyûíkŠyAU„ŽîáØÒ÷#Ÿ?~æâê’§ûG^Ÿ˜ÍgÌÏ–\Ü^Ó÷½D?ÏÙÅYQÒuûí…çüâŒWoßÒu?|b¿ß³pžªª8ì<Þ=Ò4-Y–Q–óEÍ|1ç÷÷îïîÐ ~÷7ßq~¶¢Èsú¡çðò‚s–«Ë Ζs¼û°'pQ¼¥‚ÔÎжTyÎÛß¿AIMàÜÈn»áîÛ+š¶'+jö»CS´¡¬kº¦¡Ù6›–º®ñhÖuMUÏ0EÉ2œéúžññ™ÃþÈ0 ”uIQ­ØmöÀ-]7ðùó}ÛxÏrµ Ï3>|zàËý6(BGœyÍb#ÉǹÛHIž^Fhä¹$¼ëâÏÜT8Oˆ‘üQˆbGœ 6'd·©‹<½x2$¤aöK»‰®¢â”ßôrïí4<ã£ìMœG˜–Ýxrycyfˆ«‹µÑäYŽ)sPÓðµ«bDF˜†¬Ì.VtCF?X´ÎçË[./¯À9ì8`4x;R7¯ùòñ}7°?Ù?oCçÝK¡­,ÖQÚжJ+Þýö[^û–,ÏiÚŽÝvÏöù™Y]òæÛ·¼1I”b&l\‡—Æ X¡¶rÀËÜ$HXkM‘…n¼Q&™FQíÐÊPVeðD¾¬ØF IDATò>¡» Ö³óç—heðC8èA‰Ïq¶:§X®Ø¼ìøé‡Ÿùð˯ŒC(û¶åéá‘åjÉÛ7¯¹¸ZÓìw(cxóÝkvûÞü3ïý„Ö†qìY­Ï(ê­ë‹sʺFá¹¼XQÏfxï) 竟áåñ‰çÇ-m×s<¶d™á›wßórÿÂú¿ÿ?öû˜"gsÿF‘•³YÅíÛ×8ÆDŸïžèΗl^ö|ùô‰Å²ææÕ ó³5?üøßÙ7-g«%:ËxzÚ°ÛlÑxê:ÌPüõÇ_yxÜ`ò<Àßyαéx~Þ²X,xÿÓ{þúç?Ót–±8_±\-h…Â1:Ë—O_Xž…S”<=>óáý'úÑòþç|ûî-oûc &ϸûrÇö°¢:4#?ýú¼ãúæ“V«%™°ê²âüâ‚ó‹5ã8`‡²ªèÛõÝßÿ{/›.dæÕÑ5CߣP˜<`ù³YMQ–d&£®’Eö¨ö­1:-åˆÒ1Q/ÐC?Ðu=Ö;ŒRÔeŠ]Wšiýú‰yUðoÿþß²8?7üÃþúaóðÈÙùœ¿ù»¿ Ôhc¸ùæ¶û#ïù•¢N³Ù²ßlAk>}øÌn»e6«øöûwš–¶k©ªŠÙl!#*ÁÑ,—KPžÃvÇz½f}uÉ~ÿBUäyÅãÃ=/OOl7{¶Û#›§ ÎZnÞ¾âwü[2eøóÿ|øñ'†®Ã{…®*ªÅ‚¢Ê¹¼¾¤ïºÀPŠæØ0veU0[̹¸Xó›ßÿ–››+´Vl7{~úáG¶Ûm€W»…g½^3ô#ÏXoy÷»ïqò¢ggKÖüåŸþÄ?ü§ÿÊó—{´‚z5ãêæ’jVs¶>ç÷ü=EY²Ûì0ENY–Ü}¾ãã¯êÔvl7;”#,Í4—7W¬ÎVÔË9W××tÇ#¿þò+í±çÓÏ8ìö,/WüOÿæ¬æ5‡ã‘§—-˜‚W¯_Qd% ѧû²æØÐl?¦®ªëGÁæCÚ”Uvqvƒ1’+C]W˜Ì•9õl:ȘÄ!“gıÉX·Öi8@)ŠHþ/9}L¥´ÖØA6¼f&, šG€„Á»£u>²vÄŽ.F¦u‚˜Ñ”ENV䩍Q‘⚌G×÷ܹǻ‘wßÿ–õúœ/wOüùŸþÂÇŸÞÓîC‡ÙŽïù@×|ýöþ7¯ßòêò’—§g~üïÿÄÝÇÏì·[Ln¸zýšßüá÷ ¶§i{>ÿò‘öذ¾\cW#U]ðöݪªd¹œã½g3+A„ð†ÁòrÿÌãÃ3‡Ãžù¢fu±f¾¾ ^­Èt¨c>ýø Ÿ~~Ïæé;TuE½ZáPX;ðý÷ßóÇówìöG>}¼ãîã “a*¸yuÅÿüþ-¯o_¡¼czv›ß¿ÝlcTÜ¬× ÎVsÇ»^Q”ÿþïÿ#Ëõ9xÍ~{`óôDßw¼ÿùgÞÿò> FYÆÅõøãï¸ÿ|Ç/?üÂò|Ãl¾àööšª(°Ö²{|¦Ý¹½¾ÄÚ‘OŸî°uÉápäõwß²\-B÷=7\Ÿ/˜ ×ÂëW·¼¼ìxyÚ ‹‚Wß¾ñø²£ëZʪeè»–îj¡®.¹¸<'›WnÌ8ö])àð㊨Ý"v‰Ñ³šÕzEžçd¹š>F•fÂÛ:âòE¥4Ya°V Z¦¾úaHj^ [5‰´š¤SÔ„â8i”j±> ñ^E1-•*‰õŽãáÞ³XÎ)ª*p}úž¡À+žžžy~~f>«¹»àÃû<><Ó6-v1™"3†…¤gõ g-þú þÏÿÈØu Ýš›JWŠ, ^Ψ— šCÇöyK8Òl÷á}.–Ô¥¡¬ Ž›ŒÀÄ1˜¢`óä^î>ÝótÿDQ…)´ª®A)²,ç°ÝóÓŸÿ…—‡G¼ -­o®xóî¬å°ÝÐ~ùëOێǧ-//[ú¦¡¨Š)?|àÇ?ÿ@ß4Ì–sêYÍ|¹d±Xpÿå Þ °é¦f86¢Cfy÷î[ÎK2•q<60ôdZóðüL³Ýpu±¢È4/Ï[šÃžþ§?Ó4-³Åkÿò—øë¿üÈØt´ûc(’q,/Î8[ŸÑ yYp³Zòî·ßSÍ¡ïØ:6, šý‘‡/÷T³šåÅ?Z>ÿú™,h`YTUÉb^sv¾Â–—§'?ß‘].kÀ3ô=Ö²,'ËEÁ¡Ò!•š‹ë‡3Mo-ÛÍ–ÙlF^)j(Ùãjè¤Úê¤_bõ$ì& k]j’9ï`Pœ•Váû)-»ö<]Ó[#KØ ™˜ƒÄ{Â5:£µŒ06Q×%oÞ¾âí»o釟~ø‰ûÏwØa¤{Öë%U]±ÛØowÌæ5ß¼{…1ж9’iEµXÐt#wîh¶ú®£oº¯ycòïbV3;_‘•E˜k°#y]%nS"…åÃÇO cG]”u)æØÑrûö‡¢oºÐ\ò<§Ì5~VrvqNU—ŒÃ@ß ÌÎVlw;Ú¶cÚý‘‡Ïw\½ÞRÎg4džÙrAYWx?’—9£·|üð‰n î¼b±˜1=ŸxyÞ»íÉ{ïÙlv|úð c mÓÒw-ÛÍ–»»{6OÏCÕ´tmG^\Þ^bŒâ›oßàFGÛl6Þ?þÂËãgãv¡sªåŠE¦Y®–“s<yzhÓ´fU×”eűé9¶ÏÏì¶{Šz&­Ël>£®KÖë Ë9u‘Q9YU°y†ý~G¶¹{Ä«å LÎh=Æ(ʼH„8e4M×…¡uT´æ=ý0Ò5-Ã0°XÎq>4ÑzÊ"£œ/h†cÇ]Ç^w\ÝÔ¬f×çsºn`¶XÒµ#Oϡǣ5³YÍíí ×Wl6[îîîÈ‹Š¾wl¹¾½E)x|x`¿Ù¢´æ|½âúö‡Ag†,ƒª†¬Ôô}KÓvXïý@ߺ¦i˜‰¡ 4£óEÆòìœz¹d·?9}×ñüôÄ—Ï_Øn¶íRŠ,7äV³¾Xñý÷¯1J1öãèhöÏ_höG²2g6?cy~F½\»Í Ï, ™ºs”uÍlj6‡C?PÖ5/ÏìÛg—k®n®¹¹¹@+8î|Ùí˜Íj.FËÙrÎõõ—Wd¿þò™¢È¹¸½f}qIç¼ì‰–±O'«¬¢fP&ËâÆ˜%ýf¶Vd2i­gJ8Úçh$`šN2­€ÿ£½ð½ hÎBW;ËÒÈe„uµà,:3”u Lwm/è˜b¿?r<qvdµXy((‡¶m¹È3^½ºåûß¼ç( Cn4/OàGÞ¾{ÍbV2+3Jc ?ÿò SVl6{~ø§¿Pøýß~ÇÍßý64¶ŠŒ·¯Îiš×üµ°ýÀÅí+´1tMC×uŒã€1š›7·üî¿gµ^óßþ‡~æÍ7¯¹}ûŠÅj…wž®mC½âóå2DIcÈÊǦ£kš¶gû´ÁŽ‹³%& MC¥ w_î+¹ª+~ýõ3‡—=Çç OŸ>susC]W†‹ë ^¿}Ò†Ù|Á›o¿ÁÚ–¶ÙR´ÿNa‡0¦«”§kpžÃîÀæé…æØ± Öå|ûýŠ¢,Ç­ , Þ}ÿŽ·ï¾b‡2ŠöxàÃO¿`‡Ž¾90ŸU(¬4ózú¾%+··¯¹}õŠÍóŽã±á˜çìw ë›KÜ8СQk‚äPs<Gè<Íþ@Ó¶Ô«š¢ cÊ÷?Ò5ªY-U]£óœ¦0mËùjIQädÚº¶ãåþ ¥4³³ZëÀÛïû°Æ8k=¨Ó„FP3ÓY˜7Ãý‚L9‡ó#ÖŠrÝhQdd…ÁÙ8¬ã™/fÁòÇ(ô†ì]ÓA9¢®Òƒßo÷ôÍž‹Ë òªf·Ý2(a[O{8²}~ {öº•ç ]Ïíío¾yCY×ENs8òôðH–i–«e]óêæ’® êç§g6›»ç-ÇýåjIÓöt‡–ÖüåO?£uÆó¶¡=†å¬¦šUôÎqy±äõwïhÚ–ýþ@sl(«‚ëÛªºæáK¨Yº¶£o;p–Ë‹3<š‡»{Ú¦‘-c¾XjŒ64ÇŽû_ú!tô½#;_pyqž„Ÿ‹"Gf7º~ÄYO»=€ótÇŽOï?`òŒÙ¢f¶œÑ5yYÒüø§?q<ì9_Ÿ³X­X/ENÛ¶ï6©÷g;r<äÔ‹*èåvèyy~£¸~õ*4O ,‡¼(è›…'×õù9úeh¼ûî–¾mùòå;j ­˜Íj²Üps{…Gî~ýHß<yÀ+˜Ígd™f6›1_9ަiéÚž—‡gv/œxýö‚Ëë3ÆÑ1t–,/Ó&⢬Ñ•Ð-ÿth˜/ædQá£9q_îíH}¶¢m{ŽÇ&ÔYÆ(¢¹¨¨[ôõàsŠÞõÐ#¬ÓP§¦ÝhGÎÖçäY‰ÓmBn·^Ÿ£tÆáÐ0}u-v˜•A1ä°Ý0–%ûíŽî°çêrM!ÃF”8ðPÕ%zMf4Ã`éÇ‘,ÏY­–ÔeA‘g¼¼løøácpóOOÆþŽårŽsŽýnÏn³çùiË~»Gá©f–³õ9Zi?a÷²çÏÿô#>Ü)ÏqDe¡x·vä¸Ûbû†å²æìlAQU ÃÈóã#›íŽÙrŽÅ‡ôË:ª²äþþ‘O¿þJßudE…6}f3žÛ?ÝsØì±ÃΑ—7¯ÏÃÜó0ò²>ТFiÃq Ýî YC½˜±:_É ÑYžqÿåžj6c6¯±nà°Ùr÷ùŽºª) Ã|1ÇFAQ…hPV9¯Þ\2_Ì™-W  ßàùiC7ÜS×3–‹JkŽR˜ï6[<ž±(¨Ê’Õjó’Å|Χ͖—ç-÷÷ǯ4gë3œõ©à›Rx!$…¯êƒˆQP’˜:u;µ÷Ù{¯ë¼ký~ï>´±VË$$'&,XLƒÙZo_û¾ÿÿ÷¸G š0ŒÚYÜX€ÖÒ4 Â[ø¸¶ät<‘ä%¦ãp¹œMfh¼ýžÍý†¶é>ÉŒúóÉQ•%CÓbê:­c³yذÝìiÛË–Ìçk‚Àe:1Î^ÇuºÃ4•g¼(ÕéÛÔäYÎac˜;Ìá\¯kº†fª‹*¥:l×RC64Æ^ùl)ˆ¢S˜ç·kNž¤aF³ù×±°„’±§iJ¯µH!Óˆ¡ëÐuÛóð€ÃîÀë‡7dI†¸³)Í0¢&“Å×ó1tý“ÈÍõ”1'?%ħ„éÅŒ¡ª9N<Ý©ãx<¡é`»ó‹%a’ê§8¦E#˜NÈóœÝ!¦)Ÿèûž¶ëÐP>ïnÍ4™Ï'Ü<»æóï¿¢í¿}MVd8Ël±¼\¡ Én³£©J–ë%á|†ãyXR0=U]s<œxøðHYVªû$ WoF4UOk°Ûìȳ),LSR”1MÓ}š&ãHW7tUã€aê8®KUÕTuCßõg2 ˜Äq¯¾üè#ºiª‚§û{ºº§ëª²Áñ<„” çá¨0 <ßWwŒRI<ÒSÌ8¨ÙÎ0 ,—3lË¡ÓMš¶£ÈsKâ‡>¹®s¨R¶›G6O42õòâ[¶ÄsÒù„‹eÄÓcNœ&Læ¦iáú®qØÆœâÝÐέ.kL©ôOe^ÑTäi†t,Š¢¤*+\Çf½ž1›…X¶Ä±m¥œ6L¤´èu‡ºŽ¶n(ÊŠ¢ª¨ê]ªÍbF³)^àÁ¹õZµ MªÚÒ4±|‹ÓñD•S }—À¶0¥j•¹BÐÛ¶š8“ÐWµmUQŸ;YeU¡Ÿ;Dm­ÀX¥QÑtO›=ñá„cIæKW—\j:†¦ˆrmYP¥šZŸÍPW·W Wk²SŒf˜ ãHÙvlîžh*E´‹fStàk:¤iróì†Õ励W~rÝ4Ð “¶íql‹‹Ë5Q!LóL«K#ëÛ’,e¿=°Ûíiš†ÕÕ_~ñ’Ëg×´£ÆOþðkvX–Ä•aà!mA‘åć˜ýî tNEŒ„]K໊OÛÔ´†N’æ¶;Ê¢¤j[%€3LL©8‡Îd`hլРÒSŠp$«ë5–m#ĹI1h÷oI'\¯Æ =\æ­zÚfÀ <ü(@Ó ,Ûfè¢ÙǵéÚŽªT €øxÀuD9/JuIwmÒSÊ8jx¾)]ÜPe)¦®z¶¼¢ëZ‡#išÐ‡®B „¥Ó6%9BŒØŽ`2Ÿbh:Mû‘Ì¢†µÁÔgyµbµ^óôðÄqL&èºÆæîøp gÄ‚h.™ëSfÓé,²%R*ò¡®©ñ häIÎÓÝ]7àxmÛ£é:Ï^ÜÒ÷æÍ³K&Ë™R$v=mÛ"¤¤ Ï2†¶¥<&´e…î:iƦëp\‡¶mIãLiKLqR*GÏwσ¤Í8K×QC6Ó¶yº{¤Ì ¼I„!L¦Ë9Ž0°¥TCG AßvŸ`»Aäc¹Á§ÖîÓƒr‰Y–¥ØÑ„é|Ææá ajøaÀæaÇ>ßR¥’›œ;+žëp±^qy¹æ'0Œø¡OUVäiFÓ5˜Â |¤PàÓ²ðƒè“Ϻë;ö»UÓ‘§eQÑ·-Ëåßµ¨Ûæ ,øˆíëY,¦hºrˆIE4 ±=¦m•°(8ÕQÓuµè„ÀÔMš¼$?%ªœ•Žïcy¦0Y®V<{ñ×óIN §Ã‘¶i0„`Ðuª¦aŒ{ö÷i†nØ–Dš¦Bà:‡Ã‘¾©¡‹c{„aìASÕl²}Ð1t“¾îIêÝP]30¥ ÏK?<ÀøgAèÈÈ|>eêºÆqmÂÐűl´Qò,„L…EžfÔUk™ºÉd„.¶mc;.žoQ\_2Ž£’Ó `ê¥@†6py¹d…ËFÓÀ4̳5¸§,+ò¢bö;Þ~ó޲(q\ÓxŸI°X­0ó,Ç&ûCBYÕhCÏêjøÇ~³§„¸žKù¸®Ã0”yNžgê×-NIJÓ´“qèi‡‘*+FJ‚À¥î@XêRéú.mßQ–ûû#‡íŽ—ã+žù Ó²yº»';ÅL¢€Às°|‡ÙbBQ–ìw[ÕI©Ô ­í:Ê<£mŠ¢átʈ u–qÜ‘¶Åí‹L[’$)aе-E’©¨ï¶áp8²ßîèå'»i|ñ½/À´xzÜðþÍ[›'7{ú§=M£jýgŸ?g:‰˜„.CÛR¥B}j××+泈 軎ÃnOšä˜ÂdL)Ð¥D7rÏÂó•Á©È2Ê4Çõn?¿¥o;4m$šNÑL×uÏmÔš2-¹{wÇ)ŽÑuýSéVäqšÓwí9UU£Ê ò$c:Ÿáx.e]1—7W,— ºº!‹ª¼âîݽªóÛî“|ÇrlLaaI©à gåá¨/¾÷×s(‹’¾ë1MIàáy×7+ú^ãxHx|ÜÓ4-†¡‘¥¹Jä²<,iaÛmÔuÍ!M©[¥˜î‡‘±oñ}×Y2Ž#YšàÙ’ù$Âul„%QDJuù/òŠ®hºžÓéÄ1NÈËŠ¦n¨ªÍÐhššì”p±\ ½ú¥/G˲‘ŽÃ˜ãÈtnpŠî>Ü‘%)ë%º©dÔ“(D3 Æ¡G˜‚¶m)ó‚ùrq¦´XŽM𤧶m1™Nð¼€Ã>åí·ï¨ò7pY=»"ˆ6ÒSBùüð¾Äv=îÞßÑÕg³¾ºäêÅçD‹%¯ß¼ãë?ü mÓ±Üе-“©j¹Ž†"™›¦¤(*Š4e·Ù u-¿øK? œFħ”÷oÞÓÔ5–´èûiɳž½÷g(š)-²cÂÓ‡TuÅÅÍ%—·70x–I¸çGa=³¼¢îº¾Ã |²<çt:Òt eÞ L ÏóÔý§íð|ÅꂺªÐ€Ãî@Óv\¬VèºÆöá‘÷ß¾#9žø˜JõQÓÕ c×þñ ‘ý,5LV3~åŸú^¾zÅÓÝ#¿÷·‡Ç»GÊ´ >Ï’4 SJÜI€6öÜ>»$œ*”În{`F¾ÿ‹_RäB*3”6¨šÆl>§ª;·ÄÇ„,>áz6–#±µ§“ßsºÇT­«ölUÕôMMž&¼{ýÇó˜Ì&0Hó# x šLqÜ ‡Ã$ɰqu¦qÂÛïÞ` Éý‡{6O[l׿Å÷^Ð65Ú_øË~lz8Æ)‡ý‘ìÃ8Ðt·Y‚ÛëK¢hÂãÓŽÝã†éãË_üŠ"§ÎSÆ®¥«¤´mËiBÓ (k iNCÚn`s÷ÀâjÎ0ŽgÙ‚‹eÙéà…áY Ð ¬/ëŠG˜P•]Óq<žHÓ 2e¹^)l¼¦ñôøÈ~»çÛoÞ2´-žï!]›ÅÕš›g7,ת{ƒÎaw -kno.p}ÍfÏ«¾">ªKTV´uCFL&!e^P× §8¥Žœv{%î[L©ê]—ô$§œpêM@`[×Ïžá…¦ô]C4MÃÛï^“Ä aqõìš0 1L%ÊÌÓŒ$IØ=m»–ª¨ùö¿¢«k\Ïùän[®–¬¯/ɳœïïÉË S)yG iK>ûÞs^ýà%‹ÅœÇ§ÝYoäóE€@ñ¼no—x‘òŒwG,ËÂñýOÎÊ¡ï騋’ŠéÜd¹œ1´MÕpŒcÆQ# |Ö´ºAU¢ªÒøHžåº†&ëÕF× ÉbŽ? ЄDÚÏ?ÿ\ㄾO9ìg}ÛH ^yÉ>&>žhºž"S%—ëÚ˜u7 …%%Â4pÏ8PèɪR]›››Ë3mA gмĔiÙTMƒÁÀújÍ1ÉxÚ9ítÝÈúúGx¶s³¦ïzšº&>ì©‹’2Ëéšú<ñ¡ IDAT÷Ð 'Ž* UU*­ÍnO×vt})$‹ÅœÕõ5ËõŠo¿ú)e®¦h†N|LÉ’Œ®©}¼n‘fèô8®d}sÅ­eáx¾zsç9i’*›f`˜Bå1ÌCæŒè\,/–uÆåkH! ï±…£Ž’¾ëÉóœ*+ðꪨØV5mS£ë:Ñ$ šýýö‰ºÈ>Ä8nÀd>Á†1àG§cÁý‡´Ac}¥Ð7}WÓU5Ú0 Lôt" &Gzç{þ€+u3Ÿg·+ Cç§ô}Çîá‘Ë« ¦³DZð<—qÔxûíáy\_,°›¶n¦‰ëÙüà‡_ kðáÛ×¼xB34l[`K) Nû˜"Ï0Lƒ¬L¢ uÓgFœ"m/ðÆÇè3 tåÑ©ÊËRþñºn0¥EÛèýˆ!,ú¢RŸ±$/*ú¾£®Jº®Ç¶,¤%xöù Žë¨{Þ|ŽcßS•‚x÷ê¥ÚÔ5çoÿ.I|D ÁýÖ¬¨°\—ºnUMœa:Ž‹´m¤´)Šœ¦,™Î¦ŒÃ@V”¤ùºL˜Ž=VàqŠSîÞ?Dұ金(Šð‚„EYwHǦª*’8åý›ô]‡ë¹tí@;ôôc¯Ø©šÆl.¦mc›¶8c²øD–d|L •ŽM•äqÂÍ‹[VË ©> ›¦P›ºÌJÒº&=%`h|þ½ÏY_­°,”*f¬ÈÕ¨©kÆ~À÷\48 #>°,ò¤àÝ·¯q=S â8¡­,!dº¨êZÉ_¤ÆétÄ4t<ßÅq]úâ£Ò5ͪ¡ïÂD3MÂhB8™ Y’RVñîÄf³}Ør÷î“iÀj½d>ðƒÆ×±Um­iìw[ËÄ÷}ša okÚºÆÐ¡îÛ ¶mM"&å<Ãvl‡X}÷Ð'ÏrÕÛoHøâb͈ΛoÞðþõ; SÿT()¸®…Ôu‚ Äõ|únàñiOßúÈ$ ˜Î'ô}Ïéx"=TgÌ48S²SF[U<ÿlÍ_>'Ï*î¶ÄqJ;(ßúÕ³k^}ï]Yñáí;¾ý견`²œ²¼ZóÙË\ÝÜrÜm9î·Š e(¡¨´$RZ†N^ ‡4 öÕ µ©Æ¡gµ^âX6÷ŠŽøò‹Ïñ‹IèÁww[~ÿÇ_ñö»w ]Çl9e}½¢,Jò,çÕ¾D8Éñˆ-L\)Ȳœ ÛuΑ :͹uÓòp÷Àé”à86žç`š:M]RU}¯Ñ´ƒÆIN‘æ”IŠ”¦Â:N#4S²Ý9žÁµžëKÛÍ žîžxúðÄ›ôu¼¹6“‹9Ò±hêŽÝÃMW’jÓÔñC/ô¨‹ Óð £€§wx–`2_°X.q‚)];°ýðð *¢d)jž ›&]×rŠSÖ·kæÒUlq[78®Ïl¾PHG!€@U•1ó4AÚ’,ÍIO)š¦½Ÿ_¬Ôç#-ƒzÔ(Ç+ð¹™Ïé>æüµ=ï_¿åŸxüpOYÕÌV &ó(ò <¡kDaÀØ·÷{ÒcŒcY8®M¥ªŒÊ ú¾§®ê¶åöÙ5óù”ãñÄq ‰2Rt<ߢÉSÄPÓ 8Å)o¿~ËÝÛÊk3l7{’,W«øüû¯øâO½àGd§Œ<ÉA7?Ù &¡çû”ýH²@çùž®WäS(Tïø®Mš¤Uƒf@–g˜Ói„¦›ìvNi†ièTMK8ŸÓô]§²)²¬$p‚0B×M’$áp<‘%)#á|†ëû8¾Ët¡È×ûÝ‘®Hã„$>â.žæRVªV”R*€–ë±=fØ;0’$'OH[¢k#Ú§ËžG8byEžcœ¥ÕúG ”®¡K) LC'=% }OúضÀ²$ãØÓ45q³ÛÄì·d‡CÛrܹûð€e[˜ÂPù{BAØ&‘‹p]„©6\×t”iA™eêRßµtgìhYTXÒÆò<êºáÝýaê6’%†0yùåÌ/.hš†²È)ÛŽ«·8®‹©ëL'!ËÅâ,Óhè…Ï<îÕ) ¥T6Ù‹9Ë‹%ŠÊh /ðp]—( iÛÇ’Lc±œO©òœ,)Ð eøÉ‹Š4)ÔLd8ì eY^M=\ßA×G,¡34ÇÍ“šeHE6|JJÃÀo|ŽÇyQáá$Ä”Ê-Ù”eša¶íÐ8?×êh‹ ϱ8l¶1o¾»£<—J};R¦Å''èû×o˜_øEÎq—’%%ý8"l›iÛVOB¿¹ÊòóƒqÎ캎,-‘âœx¥8¶…ù£«”ß×'$‹9I3Ž#u§`\W×>Žc“¦Ùùöž0öݹž˜^,™/—!ð<µhM©¨pûÇ-u^óù„¶i°I4 1…D mI@Ç’·ß½f»?’Ä©2ºà{þå\á§BJÆQ§kzp-,Ëâ'$iŽ6ŽH[`š¦r *¦6MRÚºb: m…©/²’±ï™-fôý@™©á×0ª’lPi”øžÍâr‰&Aàcš‚i2 #›Ç Éá@r»åb½FÓ Ç=¦-©ÒǶéÛ†¡mIŽG…òÔ,Ce8¨2A5z.¯.¸¸\a˜çôÖA•+‡Ížü”PÖ5›‡'’Ù)¥š¡œR²T•¨ŽïcÚm×sÚ©³?ô°\Û¶p\×ô]OŸhŠS<ßÅ}<×b¾˜‘§›§EY³¸\ss{ƒíXjÓ%‡Ýž¢¨ˆ¦¤e1™ÏAÓðµã1¦(JÆfdóÝ;ž>ļýžÃöÀôbÆbuÁ0€å¸ÊzkTuƒ©UôuÏ)N8Æ't]¡g¢(¢* Ž»#ãxµ ~ä!ªÜYß\Fžë²XΘ.&¤§ôK»íž‡w¼{ýžÓ1¡©jú¾ýD/©ß7\^®X.f¸Òd`@ÔìÁqm Ó kZ5‘zRxÉìD‘ž¨Š†"MéÛFyÙO1¦”ª~—&W7¼üâ9¦iP—ŒóOÖž¡ë1ÉS’òö›7äiÆúÙ%Ï_¾`:hÚ–<-¨ÊšnÐÈÒ’{„ü”‘ººá´?`»6·+|?DJAÑ4]O–ÅÔUƒ”óy„ç»géŒdÔL&KÉt>Ç–×¶0u(²‚²î¤ë¾G7²ë:Ö7׌£FU$qFÓ?¨ì” ²óÜÅ }æ«%§ýÇw¨ë‘º®Ù|‚ã¸<|ØrÜHc…%rCŸõ³kœ Â_,™ÎgH!š–2ËÙí$ÉI•tžàýÚ?û-æÓÝ“V–åè†>³É˶ÏQ[}×ã˜&ßeµ^rW•ª>³%š¦ N¿PU¤´mÏýÆ,͸¾¾dv{ÉæqÃO~÷'abû¦”x¾§ÒÙÀR×­:)v'4S0 r(ªª9CÞ}ó†ôtb¾\L§<>íÈÓËxA€¦k)é=†®Ñ4šÇà KHÚº¦.?ªSM Kðìó[^~ÿ{D³ Á$Â4iœ`:}Uà(û0_M‰f‘š ¾mÑÐI’‚¶ïxóÓ×êb×v$qÂÐ)lOÝ4h†ÎnwøTòèB0—« †®§­Õ¥¿®[„´˜LB¤Ðñ\›ÕåZÍ’ƒ¦©P—6’9E© Ã¨ô\“(àÙÕŠIäóðøDÞwŸ2?³]ס)+ú®U€iÓ`Ú¾çñq¯btÛu´‘²NÑuIS×ç®Ûa¹ZPä9Ç톯3.o¯BRÔ þdãÈnwdw÷€® ܾ¸!œMð=WÑÇžé|ÊâjuÎBQ€½<ɇÏ^>çÅ«Ï¨Šœ¬(h»ŽÀX,fLB®xÔ4ʦ¦×azNñ 'ô˜¯—L¦,Ý`wÿÄãû{îH35à §öçÿLÇôçþ&žÕcþÏ¿þÛü׿h ‡ÿöÿþÓ£íº1Y–#LÁ0Žç´ååDZ±=4S’*âu¥&¬¶´ºÆ4 aˆ÷{¶OOlî‘B0[-°Ã€öìÿö=×¶©¶{%eè:üé„ÅjÉtúŠ ð &>Ý0`û>—/>#LS% ï;\ßò-ÛBÚ»]LrJ ¸X/ð}÷LÄÎÈ’œ2Éáf?jÐàH,VøáDýñOôCËÃö‰*?‘žrÚA£íF„%ñuMÅ[U –´ð&ºa¢›)}?°|$=Æ*OüìA7Χål9gº˜q±^"¥I×*¥í4 >Qš¶aG„ŠD^•ôUA™(ù·®xÖt}O]µª,8%dY‰!m«ŽçÒ¶?ýê§ ö'”UCUÖ”yE×v4µÂê[ŽÅt5S4aâz.ÓåœÇ‡'ú±b¹œãz>¦t° iŒ\®–XÒ$Ï+åç1 ¬0 4KÒT k]?àbµ¢i;²4ãtHHÓóÆG>7Mê²<Ç#TMƒí;L\G© †Q­·Q_âã?ð˜ØŠceëb Ñ£1¿˜ãN"êºU:­^Iñ‹øˆVW$qÂæqËa *+ÐFíöþÇßxàÕºû$™1 þÊŸMIËŒÿåïüXû_¡;Îh&P®5ÇæñýÂÔq}i[ŒšFYVTm…nh¤iÎýî¡)Ð¥Â[êBcr1¡-[ !pl‡``Y*¤#;×La€ Ëõœþò˜_,1 i*ŒfÛ) }Y7|ûÕ7œö;¤04hÏåÃ>FHaš*Gƒžp2&Y¢.rÚYë#›Åõ%×Ïoyþùs\_éÃêºÃ?ДܢƒÝ!¡mz\/B34\ÏòmÚ®çý›wdñS30Ì‘®ip‚€åõþ$¢(2”(q6›r}sÅr±À–BÁ¤ºªì­ëèGümÐÚ†¼®iÛ†ª,És¥íÏH¢ªj(sE0©5 £‚àIצhúª£ízìhJ°di¡6ëЫ–¥HÛb6›& ß~ýYš2[-϶¡ï9ö hxž‹ÆHQµ4MGUÖTMzFÕT•R.$§“¢ýM"¤&À±ÖK4MãñÃŽÇ„ßÿ?`v1ãú³[fË)vàÃÐÑÖ-ÉñDù„QxžÃjæ–—³DüÎ_Ý0p<××Ùï€âwMÏþqË·»#iœ€HÇ&œÙÚ_ûõ-ÿÂ/$üÉçSügàŒüæ¿yÏ×wüëõûZiØ–5zžË¨é„ÓÐ÷˜Ï¦p†%‡QDÛ5Šl]5TEEÑõø‘²‘“ˆÙÅ Ã4(óFUž)¯…ÃȈë»*ö)ò©‹‚›ëKæ“ièô}K7@SÕÔe©p™£bPGª,Ã5¦«%eUS¦)~-¦†¢(:žƒ3‰È²œ¾é0L)Ï>ÎóW/ C†žýfÃ0ŒøáÍ0hž*OŽ›„É$R¥~ ÈKÊ¢¦kÒSÆØ«?Žnš\Ý^ã†!ï_¿a¹Z ¬5#®ë2 C"ßE&}×ÐÕš¦©ÏjˆOÙ$œ mÛÒ÷#MÓ©Ïß÷ é´ú¬R˜ CwøT•Š5Epq1gºXPÖ5E¦JNC×è=eÝP—R Ú®ƒ¾£.ruâO4ÝÀ±$}Ûà¹U‘S”ëëK‚À#MRÒ¼ HsŠJYN…0)Š4q(ŠŠ»»{»=Mù182`: ±íçì¶{’ãQaÆ‘ôxÄ‚É$ Ï2„©¢ž•sTÃ’&}Û“ÕÆP®<+1M¯)ÿv'êÞÙõ$‡„Scè Ak Sû¿˜óïþÙ Âüÿí u¥ÿÆßý?þÖÝgügÿÇ?Ív³ß¿yÇj9Ç÷\šº¥¬*Ƴ ¬m¥2í0ÙyñÅKÂi„çûäiB?”eM'X¶EE }r†-5ª©÷»=›Ç- òœùÜjªÌ¨ðù}?|Jù<îè}Ïõçϰ<Ÿ¶Vt%upxöÙ ×ÏŸaZ»]LšdøžËØ 8ŽCQœâ˜‡»;»“IÄrµ¢ëZ²$ÁóîÙ=np,Át>Åö< Ë&Ž“ó¬àÄõí%³Å\µ®»Ëu¹ÿðÛ\^¯¹¸¾Tþ4Ú3Êg:U&96}?¨®L?œµi]ÛÐv=EÕ°ß8O èzóE8,–s¤’‡WR˜´=ÜØây.¾ç’¦‹åŒÏ^=#œ†Ü}x$Ï 4à Oröû˜,+˜ÎB„i „A‘´MKÕªôªÐ·Y,æ© jÙù÷ëºÂ0T(§¶eã:6uU' EÙ¢‡Ç÷ïîŽM°˜àzÓù”ª()ÏY~RJË9aèa IYÕ¼÷S×yöü–h2¡ë•Ã*ý¨®+Ǧ=G±éãH'¼ûîÝ™PÒ*i.ãÐiÿÜŸÖøëÿ~ÆÔþî ÿOžòù'®ßò[ÿò;þ»ÿçÚroñð´«ì-®c1¿X€¦“%mÛÓw-Ñd‚eKú¡§( FF¶OjCdEY!…`¹XÐlTT”k©šÖ±f3æ ÚºUèMS•eã¦tÔ<å~ü‡tmÃr9c6Ÿòò‹LS6TE©¹ê›‹®c±˜rÚnùðÓ¯ºŽyÑ¡³Ýìé‡tÇóCöý{„8–EUUÂ$šM‘Âİ$Bš´mCSÐ5Ì—3‚("K3v»¾ç`¶&뺮â°"߇a¤é;ºad<7ÚÚ²A×t4CÝiº®#MÓ3 Nå@ šãŒ£Ê(1…ÉÍÍ%Ï^|ÆØ–TYB×ôö)oÞ?±?$¼{}§èŽŒÌë%¦ec»> †ÝÖç {ÏÅõ<•tjLfSŽû#e’„>~R7-Y^b;6ëëKlÛ¦* „aÐ6ÊsqØøö¶JFÍ—lˆ÷'š~ Érš¾c¾Zຆ>N|ÜÞÇ #…þ´lÊ¢¦1êº#K ê² ˜¸šö ¡3øÔUK“fäuJ׫%]7Úž"ÉÈ⌠ö´/VüÖ¿ýGüÒ‹îïµäÿÁNŒŸ}޹Á_ù«7üo¿ ®-ÇËË5†4M§°ê®­tF:ö†a$œÌØlw¼yóŽa°l˲éÊŠ2Í՛ݵY].yõýÏ!-4³\\y—«²¤**úNåx·ýÈÛ×ï(ó‚«›k’$Á±AXÐw#a4§nž6DžÇêrºÆ7_}«úìyŽ©ëøÓE^Q$)ï±¾¹"œO°˲Ž¥ï©Êšaì14E}·¤d»Ý³ßîÆ ŠTJëÐ!- ϱY,¦!èúáÿÃá2…²¨*Šb§ˆ"m‡f˜Â¤©ʼ8oŽŒ<Ëοkž!qЏî9‚Û› ,˦­+²$a»Køæë÷’M7ql !t…‰Ñ5–Ë)ËÕŠùrNYU$§I¢jkÇué:e¢ˆayýíwè¦ ôÔÄ^×t‚ÐW*ƒöû#‡ÝcàQxÝÙù–••Ú8ޤ* E/7Št$Ï ’8¦©ÿ86JH ÇuÐ4ÝnÏáxD+®oæáŒÃV dž¡Wí×錯ú >ÜãG>ƒ>P—M×`HI?Œì6{ÒÓ‰õÍ—Ïo0t)¶°ÎiK*ëcóðHq–áOfBFFêº!]fÓ žÐ\ÐŒATuË€BŠvç ë:Пƒ% Ó`è»O¡<}«tiŽm0ö¦PÑʦ°0 Ðw±¥A+iEÛudy¦BˌÀëXx‘‡®«`Çû‡-»í‘gÏo°›ýî@ß·xžê0 MOzÌû/ ð\—ŸüÁWg—£†ëØgÄœÒBul×µ¦`u„H)¹ÿ£ I8ÈË–˜¹’I䜓“ÂÀÇuÑÖ5ñþˆzhãÀÐ7XRœ¥÷•2ºXeQÀÐ3ñl¦Ó~TÁ.¾ï`›àé=zWRå-ºX¢Gü ¤zø” Ûw šVUã¨B^¦žAk˜à;hšƒ¦éØ®MøÔMKYVXÒ"K” Ð0Ô,c6ñ–…½KØm¤Y¨H[âG!ŽçQ—EÓTj! ËÚ?M åÍ/ ¤k±¸X%í& ë)v1ãFÕF]Ç´$¦)8žR²²VÁšŽÄ0Fšn k*šu‘w,¤øž…aŒŸ²Û¶åŸhZå„ÑèÛÓ×µÐ*¯8ìÊ> ¿á7ÿ•ÿ‹¿ùÅ¿ö_}¡¹“ÉèùAÆ ¶4qü£¦‘çª=ªÊ4 ÃY™:Â0¢3`Y’¶€"K14pm k1?'¶ PV×4MÍd>C ©:W–ÀA7”_d¿ÝâÚ6—¸~„íØa€çÙg:ú@Ó6w\Çbu¹¦iª"çÝ»;´»†®ãêjÉâbަëTUMžïϱc®#‘‚¡Eg ojú®£¨jŠ¢q G"ÛÄpMêºC;•ÕöôÚˆ)$uÝp,FÆ^qf5ãcTyÙ19^7@×éÆÛ–ØŽ…mÓ‘žJîî¶ }ÇþÔ÷˜8:MvDiÐéhƒÆXiJ–ÜÝ?QwÊ$4™M |Ÿ¶iÙí÷œN ¦´tJÕvùü‹—0 lÙovUt%mS“5 é1áéî‰Ç‡'eÀšO™­i~Â(i†®òïF(ŠŠ¼()Ë¡+*J7 P–d†AxØvpŽè¨òBy?¤ Í šöÏñŽ_ÿg~GþýÛ¯ÿ°Ï?òÆøøüÊ«šÿ§¿ÇoýŸ3í¿øß Ʀ. ÂàSæ…¡éøžÏØuçALY6”‡Ïuñθ•ºí)+U.iã@×¶*ýF*ãŽÆˆk[\®˜¦IÓ¨ÌÕí,I aªÓÅqlA`èXº!%USs:$Ha1j¦2¸X’øx`ºXày.®e` ‹‡»'ò,C Û¸¶A[åŒõˆ:U9Ðj#m×Q·j§ÂkT´Z?Œ´­ a i]Û£é ôe:m£1 i? #º>Pw#hçä']áQ-Kðÿ¶wæ1–¥åyÿ}g_î^·–^¦·YXc›Á$`LÀc$aE†„à$²ƒ!G+‰C8XØ BIpD¬„$vä Û ŽÇ6Éxfº{–®®õÖÝïÙ—/|çVUwWÏt·‡af^©UÕw9÷ܺç¹ß÷¾ïó>ièdYÁöÖ€½Ý![Ûú{#t]Ðnz:øuÍSú4“è¶£,Ò i˜tÖV±]f³‰®•YåŒáhÄîö.­N“SwÞŽWk „A0ž°¹~™Ç~”¬(X>qŒc§NÑi6ec›½í…DZð.í¶OQTWU„(J‚Yˆf¨Ü+Í ¤¦˜ÁyY¨÷iŠñZJÒ8Ut’ÑDù-ê†8ÓMøø[ÿ˜­dQ—0âÕÕO€)ÙÞLD©ÆG>÷Ý|öÂij͆Ô‡0ŠØ¾¼Éd Æ>]×AèaœP”%Ýî’*φ±Rìv4eža[&®§Äwë¾K§Ý¤,KÏfîפ)ýÁ˜½Ý{»»dq‚iYøõ:®ë2²ÄwœªB¦›:¥ÐØŒ ÈF«AGÔj>ÇNžD×4v67émï²½¹M«Uç̹¸&ø¶‰.$e‘cê•]ZY ›&;;ýj»h¢‰’¹It–«½µ&Tr0¦eà¸Y¥ÿšçEe樾³²¢$M•ûm^”ÄiA^H%o4˜ÑÛî1›„$i®ô,ƒîJ‹'WûÕ³IÓ ¯Þī׉“]×*}] €0ˆÙXßb2ž’g)®k“¦)RÜóÊ¿Rgsc‡óqž^o·æqÛ¹3¬[Ãs]t$Óñ”î@Éú$)õvƒs·Ÿ¤Ûí¤9ýþ4É”(ëdSm[ƒ™’åwl‹¢PÈ( '3•UY–aˆ_óÅ¿|Ë_ðý§‹½h92 †Ådgêó/¾òLÄI†ã±ÜX¿Ìd¨rMÓ0MK"º®JèL`6#KS–––HÒ˜`8d¹Û¦³¼¤r‹$Q^YŽë;4 4¡‘•J‹uÅ<ðÿγþð£ÈRRo5É“TuKM!•7¸eÙt—;øÍãY„”à9ÍVÓ0Hâ˜BJvû†{#t$·ßqšãǻ貀oÂ/¿þÔìëZßhˆýû®wÇ¢RJÁïŸÿ>yá•DÁLn^Z¯ É•#R'äY†ã8è†F–¤ô¶¶ÐËŒ»žwŽZ§Í,Œ&ìnï1O*ëå”V£Æñã+tV–¨wÚh†Ål:c4be¦ä5Ó0è÷'\¼°Î`0Äô\¼fSשy.µF£²è-Õž·ò#·,ƒ"Ë04ç+·Zd eF™e˜غê¯û&;º.°L%9_ÁD‰%»ŽIe3€¡‹j[B–èšPÊ嚦” C½¦Ðp\—Þ`Æçÿ÷}ìnìU^ª;è5Üvû)„¦ h$`{62/‘EF–ÄqŠeYœ8u‚•Ç‘R éx®M^dX¦¡ëŒÇÒ¼@j&½^Ÿ8˜Q&±nCRoÔ9}îKË]¶·vyäâ£DAÄt2¡æÛ¼è»ï¦Û]"‰†ýy–âyRìõG$YF™çj|º”8ŽE£®~qœ ÏøÍ¿õ ç–£…^‹ˆy\7ùž?yQÑ„äÇïú¯=s¿üÉ»Ä×.K–WWd{I §õˆÑpec+÷,šqööS?¶ŠSo²fÂ0bue™édJZ”¬_Ú œÌ˜v)…`<±³¹E”EÎd0¤Ýò9yb\Âù‡# cVn;N£ÝRåGdåC¡“K“ÙtJÇø~ II§”EAR Ô‡¨Ä#r2W¥fMS3Æ%ªìl:–¡T4â bßOÐ2uÒ$#M3²\ÉèšÀ44È ttCÙX•qh’¤³H Åi‚²T9ŽD9[¥iJ–gØžM£YÇñ<%(E¬4›´šjê<'OS( ÂqŒ£59¶Ú¦UW¾zc_JâÛn0ÌØÙØb6™P”Êž Óªcé‚n§I½öBlËb4èÌfÊ0ÇRô8N †4[)žçÓé4)PÝÿédÊ£n ›&yYâûžøgoþ&åù{‹¹øÅ€gŸ:½‚Íöj—“wœÅ´M<Çd¹ÛưLŽŸ>C«ÝF½ÝžÊåâ„­­m&ã1­VƒN»‰çè´ë.º®TÒã @3m¶{S¶wô{â8¢»ÒáùÏ;Çñµ52ÆäYªÊÆI’eضHfÓ€‡¼Èx<âywa©Ûe<‰)ª1„ét¢ô»âXü—oóÓ÷<ˆ¡ßú<âñâ†ËµâÕ‹ÇóOÜ÷|ê =~ö_/‰3çNËNÓ§³|ŠÎÊ2>v™ÿó…/ÓŽq=Å­é†ìõú4Z-¤aŒÇdiª˜¯¦Î¨?rN=ÅÙ;ϲ·½Ç`¯ÏmgnC³L»ð(álƉ•%u%H¬Q`[fE=§S ËÁª5¹|é^|Œá^Mjž{«ÕÔtY$s|ÏÆ±MJãY‚$VºDšª¨™†fĹT¤B]m‡Ò †¦œ© ]­¶©Wþ%£áŒ J g¤YJ·ÛÄ´ fQ†éøL&ÛÊýV°o5]ä¹ò)Yj’Åq0£¦yt\“l2bsc‹8NÕôš,YjÖX^j`ZýejᘂfÍ¥ÛªÑÏb¦³)“AŸ$Œ±m‹’œ<‰ˆ§c¢ºGÆŒ+%GC´ÛM4!èïì’g)E)1 Áñµ%|ËdÔë³¹;f0žaÚ&¦a‰7¼,ãüЗhºOžÆqTÜ, æqS}ŒEo¯Þôò”7Þ³ÅGïEüÞ}áĦ®!ó ÇuE©¶†Î±ãÇp}_©[w—Ã~oô™—ñÍ.aœÈé, ¨thë5Ÿå•.šiàÕjJ¶¿(ØÝÚ"ÏóÊ.K”¤q ¥Ä¯¹Ô¾*/–’h6E£ ßE «k+t–—É+ú4N*Ÿ‹lðÐ7¤L2tÇB³Le䂤L,ÓÀõm\ÛÄÒ†¡kMKǶỖÊ™P iëº"H’Œ<Ë• s¥†¡kªL›IV0‹2Â(U•+Ó ˜FD³„,S¼«0RE‹}Mš©qâì º«K¸Ž­š¦I§YÇ0tâ$áòVþ`BžçIÌm§Ö8sî6lËR6ÒR* ŸR¢.Œ²dgs ©îfƒÁhÂd<ŲLtÝ`§7`ãÒ&ÓáT¯”rÿ8ìÓrľÃÐÜ•Eh´\Ξ^¡^wÈÊ’á8 Ir@¨ò¯,¨ù®bºZe*Á4%‡Qb[F Ó²˜Í[ßåá [J,nßfÿÅ™”^Óç®݉nlon#ÐÈ’Œ`<%Ï3,ÛÄñ\ÏfíØ ¦m“¤)†¡úDRJLÛÆ2-v¶v謮P²ÈU¾$”Ý 7@àû6~£N§”µ&Kcå@«+f´ãúâÅçï{ý—XòÂ…^+‹Ä<Æ•Ztþ!¼êôC¼üä>öç/Ÿ¾ÿµ²”ž¯øúañàý±»½Eg¹ƒ!LzýyY¨Æ¡DÍ‹ÇEÕéVJ†0”míx‚ç8 ‡c²¢¤(•yúÆ¥MвD3L‚ÉŒ,ŒPë5gÈlJÿ¨ò€(a6Mè  ÇFÓ5¥••Iâ(%Ïsj5DZðl Û±ö¡B(oô²,R0›%dyÌnoÌúú.Q”ìƒB¨ÚÁ«:?Ë2±l ·æÒ]í¢iQ” ™j›Xkøè”´ê>Ë+KHM'ÉKº+JuѶ•¥AQ¤Y†ã¹ØV diLœ&Ê}˲©5j´[ MŸcºÚ>š–‰í:$iFš)Å~ì ¼`¥·˜‹cþ Ü@ÌcaÀ˜Ç¢bé%ÿ•ßà-/9Ïÿì‡ÄÅ^Á¸?£ñ„´(xÑK_‚ë{<öð£¤4j.e)•"¡aàØ–Ò`’ǪÎB ä’íÝ>µ0Æõ=âD 䥒 )ò‚P|+Wïðšs_´E^2™D¸µDZ*+iÔžk㢚4AÈ}5 Tþây^E)YVÅ9IZ¢Y6’™(Äþyˆj’M7M¤ÄQ‚g+`Ú††¡)ÅtÇu‰#EÿŽ&$QB{¹‹a;´›uL]#M¦Å-3´jë8hš`0ÌÉs‰ã¹4Û-š­F ϳhx†P~‹¦ë“–ˆ7žýS^}ú¾…ÑÁçq+A·óX4@º~ćßði¾¹Õå]ÿí/‹Ý®\[[fi©E)!Ks¶×׉ ‰,$a”&)Iª’ñ"Ë}9Ë)Q¯eÄaŒí˜¶Ã‰ÛN*Ï¢d¸; ‹â óOöð6æèR1[}LS§¬Ø¥^ÍÅ÷t¡“ç£8d*"4M¨~ÊpF”$hºAšäÄAL‘)R¡0 4K×”ùAޱ?½&Ô9©%ÕI“½Úþ5ë~¥˜¢¬‹G{}.I)I”¦n·Õ`©ÓÆqÓá„`0aOÓÉÒT}é”’R–âwÿQÂÞ³X@ÀS xŠ€1EÄ12Þ~÷§yÃÙüÓ׈‘ãàù®l-µ([‡†c4xb[&««]–Ö–èõ†l®oS–%FS§OR¯{dA€Y÷©7´:MÆÛ;‡rŒýwRý<š¶p`,¯º]ºÿ Š¥¶J:i!ÙÙ„©rR:ì?|M®£@¥ºeQæ9Ež“$ŠŒÙi7(ÓÈÕq=¿æÇ¦çÒè‚_ÔY]mcê:ƒÞˆíž:]PoÔé.µX^é‚ÐôúDÙ”xLBunïSü÷å¼ç§ ªjöÂâÛˆy<¥À˜Ç¢·WËÞ„_çø³ûk¼ý#]aBê•Ü|&Üul|ÇäØZ›zÃ#œÎh´|Ò,§¤dwg—uå ˜Ä ÝÕUEßç[ùNªŸGæÊ¸²ÄzøvÔ A<)s5µv°]Ž«V'Y*í*Û÷ÈòLùà•z‘à™~»‰í(a…ÑÞq!~݇B’çºåXL§JPHØÛî)§­(¡·½§$k¦Ê%iþF^÷}’ÿ‹íúã>7ßN@ìŸÃ·ûÝÿÈ øwŸ]åcŸ=A%Ò2 eE8–Éñ•¶rÍrÒR ö†diZùwƒit»]6¶zl?r 5eó²ì•ùQ ¹²·pmEëÚÐLSBµ9ê¹ç 4 ÃTïrÇí§9uú˜êzÛ&º¡3<òÈe”“²Y(d‰©˜º†íXäeI$ä…",Öš5ÊB°~ñ2½­^µ•C,5áþyÆÝg¾½D¿[ßv`ÌcÑ™%&ü_wó‡_̦SÙn·XZjͦÓív¥ž7špy}‡0ŒÕÄ\–“Ä©2(Ϙî¨y‡y0Ÿ–ƒÃ‹É¬(×Éœ{xe: 8q°ÝÚÏ'ʃãhB%åU"®ij*Ðum­å6ÍVƒñxÂÞ`ŒW¯JÒ¦Vo ©Ïò×s ¦á,Âq-–W—fE’pp^ïÛÿZp¬.×áÊ•çšgr-€ª„]p°ªº®€RÊ+¶|Blׯ©dþó2Çv:ÝNE?Ø–I§ ‡ct]yKôv†¬_\ߟM ƒ„4ÉÄ»Þ,yßÛS¬o¾Ÿn€˜ÇÓ°xpüÑ7[¼÷wÏ¢†Ô “$U2ó)=™+ý'e,p}—8Îé¯o‘E1OÜ¿XÔ¶âzÇ ´C¯U­††,äþÜÇÕ¡–ëàÔ]|ßW4 ý™p×óHâdzX;yŒõm¶ÖwšÆt</½3ç??e¥õÌÝ6OK`ÌcÑÉ Áo}ù…üöWNQ–RÆQHG$qL%”…¤”Šî×ê ÷&Lz{çG|»_ ”›½pnäOè1ûTQõ5$’²2¤<( _ó|¡!4¡œ§jJË MR«ût; V–Ú*i·4,Ǥ×!4Sh²à7þê×ùÞ³éM¾¯'xGOs@Ìãi Œy, £Èæ×þü5Ü¿Ý$BÇQSäJ½# cF£ãÞ„,Šy~¨Tzóßœ×ß6 ¢â ½S9‡>©C ÆýD½ºS›wƒVìË0 +Ûsp,N«F£ébØèaâ=¯ßàu/Ø~ZÒÁŸªøŽÆ<Notù§ò¢L’e¹”²DÈ’É4`{kñ8dÜQ%8p=P\}ûõªUóû®ü¯ÆüÿâÐ]âPëbþM 5¶ú­¶OHÚïˆýãì …êÂk¦éXX–N½fÐêøâ'î™ðî7ìb›Ï®mÓQñ X<8¤„{<ÅÇ¿ò2„©,¾F“ãYÂöæÃŠ$ãè~Æ•·=qR=Üás8´$hšÊ%¤¬æ,`ÞíÞÍÃÀPÏÝýâÊœCpŸH$B×±<˵Å÷÷ðò2—i–‘ íí>ï»@Ì¥ ŸÌªqíŸYBÆ@ZQ]ÜòŠ#\¹R\uüùª!9´Â‰+³_Öº&îýPÊ+^øÌ/¿Þl|Çc‹ÈîÄæýøR6§M4S“—Ö{ÜÿõIf•¶ÑÕ[˜+ÏFÝzhÕP¿_ù¨9(dE.<È1DE!´ª_qèyRZAð®9þ‚®:7qøNñ«?“óÎ7)¸EÆw: æñ ¸5åÝû¶–øÀ½¯`kw$ÿï—ï'O9˜!½äÚºÀoŒR¢.r•YìÓAÓ˹”ê9å‘Ç»úušxÓ+ >öó)uï‰þ7Ï@ÌãŒy,^=~çKÇyLJBÒ(‘×Ò5ž¨d+ŽÈ9wΧZuµýÚÇu.G…'»’OÿjÆ'ŸK¬o$žQÀ˜Ç¢2àg?lð©Ïë!ä•û|8úâ½z%y2êƒ-Ó•q½ÎûÕç!ÄýÇo|ù3ƒþTÅ3óX4@Î_üè/š\Þ»¢Àzƒq½oøùnW?^ˆ÷¾5ç½í™Eªâ ¸5ùÇ|Aã'ÿ‰7Õí;Šÿôx+Éãn®óXµB¼æ{ >ñÞœÎ3þTÅ3ó¸ôö÷ÿ'þgn ûguûžèpGC4}ìs¶ÖAIDATɽ¿–óâsÏåßj:ÿñ?ߟñš—,>7ÿ\E]7BÖãaIEND®B`‚pioneers-15.5/client/gtk/data/themes/Iceland/hill_brick.png0000644000175000017500000014103407771100213020622 00000000000000‰PNG  IHDRÇæaõ‘UbKGDÿÿÿ ½§“ pHYs  d_‘tIMEÒ;¾>:Q IDATxœì½{жëUô[×u?ïûí줅(Th‰ NÕN-¶gìˆcÔ‘2XÛQ[µH-á´“}HBHHÈÞIH9 @s©ÇB8”8c£ŒÁb¤ŒÖN•ilUjKK ÉÞß÷>÷µ–¬õ[kÝÏ÷qd;Ù{ß{Þý½ïs¸ïë°¿u¼Ï_ÏØõ¥/yhxó2{…™¿fþËüî¿øíú íù À|¦ð\½¾ä%_>¼Àgð;øºÀ>ë³~ÿgÖgýþ}ßûþ†=cƒ|Ž_òLà¹v}é?tð*6ƒ½Î˜j®5 0Àð¸™ý¯Þýöw|çóšä>_Ï3Ç}º¾ì%]x%€“¯g…b õ}S,ÆÿffÀ›ÞþŽïÜïÿÈŸ»×óÌq®/ÿâ—^x™½Ž¯“` s^0„ ¹¸\£àõÛ|Ý;ßñÖóýýs÷zž9žÆëË^òå·< ȵ^ç, 'z$?˜i )^Î5ÎâšÆìqƒÜø†w½ó­7÷}RÏ¡ëyæx®—~ÉËð°™Þ2Øëj™Iöâš#ˆˆ™k`÷ZÅ °`&ºL7à;ü£ÿì]ßõ¼Ñþ4\Ï3ÇGñzìË~€—šÉ –ékM&À ëÉ©üGDµÐ ;Äjé{Ü™éÛø¾ù{Þõ¶ÛÏÄœŸÍ×óÌñQº¾âe¿À«–ÊkèÕ¥¿2Ä ;`”Ñ_ À­p ÛCAïU@¨Ò$dj›¸_|ýqy À·½ëo}êZ‚gÝõy?×áÙx=Ï¿Æë5?ò"/ðLðZ‰¥ì6‰ÖL‚­Ì„v‰û.‘±ê^ @ "gU·?ÓÚÎ'|Ý;ÞùÖ?ÍË𬾞gŽðúª‡yÀŸ4³Ï‘׆ ‡Ä¡ÙËHÌic;ÌB`6`ª¤wËofÜ.v3ìªÉ|=/±Çaø €·½ãoûÐÓ¼,ÏÊëyæø®¯zø‘ßà¸Æø9¬^IwÇA’†µ*°Ì`P†+ýµ ‡Û"S9¼Œ¼}Å ØÕ°â>„WÉNf0ɯ=Ã/øî·¿óm|:ÖåÙz=Ï¿ŠëU½ì7øÂ9ÆoÁW‘)DÊEk&ñ·ñM'{5¨Vñ Yc&X3Ü}cÜ^d dDÜN9/ nP3,]a“4Ïrx˜"O Á¼ý;ßþÖ_|:×ëÙr=Ï¿Ìõª—>ü ¾`~³™}ÕÁÆ9^¨Î8”âk) ;¡Â&iÑpƒa IÞˆ´G €•  k-ç@U±«º‘®áXGboàþÓ¿ø]Ï3ȯp=Ï÷¸¾â¡—žøgDäOòš!Àí€!’«&4mÄ\ÄÌ5‡A\{X³/Tõë0h†æ20gĈøßCFGÊØw7ð‚ ªØ×Ž}-(ªô;§MNÞØÿÀ»¾æmoÿ…û¶°g×óÌqq}åC/ýDÀ¿$"ÆpS[ €DßЄO) ]¶ sÈ!±ÐÄ`ñïéÁB×&‚1œLj›ÃBòû8‡øß¦žŒ2`¸ÀÕt?c­…óž¼Y¸}vFsâ4€9€)‚Íý lös|ÏŸÿæ¿ôû·Ê×óÌ×W>ôÐoðgü6@^#@Ú„;©4Ry4›CÜb–†ƒðá;xòÎŽÁœ®NâL´ML(†(ƺyƒØúæ/xËýüÓ¾ÐG×sž9¾ê¡—þfÿ¾ >ÙÌ^Ãz :N©%Ѝ)½¥±F9ŸºÝÁC]e[Œá÷&˜‚Òˆ¸Gh‰zÏ=C Ø¸Þ¶a8ÙÂi Öù Õ²Î8ïwpš§9±vÅí]ñá;;nß(–¹æØ&p5 ×ÛÄĂ邙â¼ïoÓà/é;þÛr?ÖþcýzN3Çk^öÐoðˆ˜¼ˆ¬X]‘æaÉ q¸$nàŠ”°à ƒç@Ñ£äÎ( ×m=sˆ`L/ÁœælC0Å<ùPNü[€) =ßÖsNsàj/: NØ÷7çûùnßÙÃH¸9/ÜQà¬ÀÍnn1‰`ÀBÓ Ó•†ÿ6§9߸mãgø/þì·¿ç9Í$ÏIæxíÃýÊŸ Á«%ÃÓ; »KS\ØÃ`!ùÓ×:ÒËj2–FmÖô‘[œ9æpͰ Ái+æØ`ºãzæ07ØM±Îw0ula ç /º5±‰Ç:Ô€}_øà“7¸Ùó2ì œUà:G &PS÷‚ù+ë`ئCµ)†m›SÅìGø‰ÿðÛßóœLEyN1ÇW?úÈoðï˜ê§ôÕc0ƒ¨aرªš„Z¢Å¬i„{ÐðjD•b_†؇3Œ¨ÁL1GÛ¦¸>M\6L2‡(N¶p5Û¬Ñ'q‚ž¸šS kí0æ8Ÿº½ãf ,,ÀÿgCÁJC:NÌ€o† ÅóØm‚‚·ÿ»ßöÃ?wß7쾞ÌñÕ<ü[üq>S€¯d­Dãt¶cÚÂd;mŠî²¹Pi#"îb°ÖŽó¾ º2…èÚ¡ºp:m˜c@Lqëú WW'Œ10`؆⠜†b“3ଠÓvL(Äæ°xŽ?Œ9±p£»s &X¨Zû~E>– ÃLº‰á$üÛÞtkâï ð}ÿÖ7=w˜äYϯôáOðR3<àV/"²¨™°u†Øîx<0’£©` :˜˜àW^&7ßÇtfÚÏgì+ Y°ªBׂض Û61\]pÚ&ÆØpk‰–Jó#ÜÄŽ€M'Qœ†C½M®°‰½iÃþ÷ûþÏù¦÷þ£ûº‘ÏÀõ¬eŽ×?úðoðy"òO›Ù«¤¦ðô …˜¹±vˆ)D bšucŒdB)˜¹Ý0GêUÄ l5ÅÚÏÎ k‡êwA9#Í91·M]m×W¼šxðJp] çe¸Y>–« ÜÚÎ77Ø×`ØWÀ?ˆLì˜8ÛÄÂÀ2/½ÝÍ<‘1!=í]Œ1ÖÂVÌÄõM€ShÆ…«a¡Õ`ö5fö­ì›ßûïÿÎÞ¿ëYǯôáOð¹>@2…_Ö …a˜klwF1Lð3žÓ„·€PŽÕ7¾—j0M -×Fî&u›CügŽð ž&¼u…¯Oxðjàz"cAM°/ƒŠÛ×X×ÔÎç³÷T€yÂ’ wÖÀ ÷ñ2FÇ™)\é,7X3"¦ÁÀî1no`DpqÃÕT.™ãñÇùíþˆ™ýó^ɭՊƃ˜„Š|"ñØBIÌ‚S`Ö,J©TJï­`H¼Ü»Z˜] 'q8òà•àÁë¶L6§MÒë5‡G»§L777˜Û3`ç™ÃO·ðÔ⃷w|àFñÁxj ܨ`׌m e‡Õm€V8\wÌñø£üvìEª— J¢Û¸Tߨ9#õÄH4µê…"gš²á)2fÇj1Åtb?Mí ¸Žß§DSĉHÌ™á2‚›óŠªA`ϸµ >ñÖ†ë \Ÿ&8M<° |èÉ?ÿä?[ñÁÜÖ‰Û:p¶Àò T&–&#ª5µ¥çr©ç66˜èú…Ív\‹âz.Œý盨*ƶaŒ‰µÖ¾ãz¸>¹«z8Óíœão‰à½ì[ÞûqÇ$7ÌñÄcÿSþ ~7 ¯p©^P ÚØt¸9DwÌ40ƒi¬"ÝÒTƒa €!³<>õnHY¬Ys8ំaŠâ4½–bÂèj›¸¦{T<ûVDð߬b3Åo¼Þð lÁt§)¸ušÐøÅÛŠüÔÂnOéÄ“*ØáqCÎìê£TS¯-iŒáNMæ0åÚ•GïÌq% z¾››3Æܺ¾‚¸sÞ1ð‰ÞÂÛ†}-ìkyª¿W‡}Ìùž1ÆOýѯÏÇM‘ÕÇU€ßcÀËI’ª]KT- ;1QD–E=µ{Fð.¨<+ä 4X*M„ oE&B1 ûÄ,?MÁ6™Â4 œ%ÅiŒøxp<0«é®á›óÂÏþü/à àÖiâEW>ñÖ ×8ï;Ör°ôà'lã„'φÜQ|ðÆp['ž æP£œÕ°T œ_h¥ëdX˼ᆶf™â ×C1Ö ty rÁõÕ XŠóZ8m‚Oxá ðàõöóŽÛ7gù„”1~ ßk†¿ü'Þò×þß§p> ×Ç,s¼áÑ—}*€Ï6ÁïðXö”Í=. §ôÒ2°¥á»W…™øÂìR†7Ø‘\v±*ÍßåÐ(zŽÍóáØÆˆlÚ–§Ã6 WS°Å{'(nWbx`Lžº9ãç~ñÃÐ&™ã/øSÍì=x  @6hp€Sðüp3ˆî‘{´GZDU×1'j`#gº i ÌÂÂ'Otß‘ˆk 2Ö€{ Ü]ì ¹…!}š^¿1Í"=}yÞÒ0\o'ºOÏÀnNå%¯¬Ñð¨ýiÛðÔ®¸½€;:p³€›%n›A…XOŒ4Ö¤À,}ÌÎÏ-ŸœW).Õø ó¬²ÎË#l¥}?CW¤ÞÈÀ˜cL@ç}á|Þ±t¸Ú6@ ~ênïëëmÌŸýÕïþÉI&ù˜bŽ'{Ù§øƒòû x´zÃFwF{‰™æŽ ·¬®øÙaꌑéÂDAž´ÿ[Ä€òL%#÷È`%ž$ÌBË0¢Ox]†ÀSÀ=|\ȶv×(‘²>Ì2ýD†G(tW즑¹;p5'®¶ 2ž:+žÜç%ØÍ Ï,0Û.m C0¬3«×¯‡}¦^>b Öò† ã]–by={h±®áÅð4lz “öKØYb‚'oßÁíóÆÄò "x€ýŠïýÉÿûi$¯øú˜`Ž7<öð§øW ö<ÂŽLc34¿œX•DkacDáÂÏ ŸˆE-ö8Þ@væ@g à.ãœJƒ¶‡H2ªß‚õÜá½"cgÿ®1¾ Žà÷‡ ÎT3 µšpÚ6œÆ†àί۰¨Õ¤¶CwiGáÀ®Üü9­VÖv,u­.D¢®Ý+G@/„1?tAD1CݪzÆÀ¢°ê^@q­{Šn)·oθÏoã7ªÙ·¼æûß÷1à Ï(s¼ñ±G>À¿l°? wÏÖ¥i 7 Ñö˜©ù¢KaD“3‰DE4‰„j‘i‘$~~1óJ›‡A2)Æ2F·)¡Ñ=ÞÐ@FN™ä×w¥Ðy¦Ña|ó"%'®‰Œ²-<û–L4£Œ)’€öEÆb¨L!Ô"P¬ð4™†WÏkíÈ j¬•-×Ð3ˆ^D°Ì Ë™£(Ë‚É}®ç†mÜÜœñ¡§nã¬a¬P³oÈÿ$À½æžy&yƘã=ü;| °O"„j*"±jMÄîàjÜ:mO=uº}sq(æ½Áä›DìÇüø«ßý¾¿ÿ«£¨þuß™#˜âöyY¯òúßüÑfg@—ãsþø7æxMoèM–¥ðw05JM@æ°²?©Þ_À5‡|öŠñģⳌÜzp'oÛÄÇmЪS²]P0a"¾Zÿ\LªêŒG8[j.‹$G˜»·g$N®}Ï€¦­eeè#K»)œ‘âÏ{Ÿ¯…3DsÌ®¶®N3<ùÔ|èö n/× 2†k"_ão"?,ÀO¿êûÞwß‹¬îs¼áåüN¿OÌþ5^Úœ‹pÂ*«ÃÅaî‚TÓÔž !Ià qâ÷Þ¥ƒðOC:>«Ç‘`+Èä¿:¡+4¤q usïøsˆ1SLERÛœsƒÅ°b-ÄÜ©8JŒ'm¯ÙAöño«¸ÆÐDŽ>9Éb&¾nºçܦHaãD¯k÷´[Þ…‚'œ`#k@&d¸R]Ø×žc¦Ýèëåksëjà Nt)>ðáÛøàí;8«·D¥ãĵ+þÎã{Dä{^ñ_þûªEžvæxâåßà3|‘:ñùÕÏ­8Vêi¶Ž¡ ±~êsó.C;d*‰+^צæS ö¶çd‰±I2G¤– ²YØ>ò­Ø%Ýñšc §Ì[älYÙ½°¨,´˜ŒuR Øâi-‡P"#‰Ïâ}‘ŒŽôò‰ç©3iÌEzHwU·?,‚§ ¶z B²hØ0¦C=g­Ë4ça©]‘û²‰àjóù~øö >tûqBa‰ù^°oYj? à'_ý}?ù÷~mÔø‘]O+s<áÚâ ìs|þÁ¶ "¸L)×^¡ôŒ¬Ì2[éAŠ…q8ÊÈûwxÖ¿ g¤Þ´p¨Ð˄ԃeª F…-¤ï«]0”ºÿ?¢Ö€3ǘ[4Ž&îî†æÕë” F ñ4.ŸÎnGè|@j8£à 0|Ì\[„§Šv5´@3Òçùh`¹ÃÃ{i¹ÐšîŽõ¥Ê}°p~ 𱌤x-LØh¶0Ìp³/ n2=S¥!Š1xåïAÀ„6åztb’(rB‰ZpvðVË!NØbH_‘s÷E ™@xËÆ¶c:s„[× pEk‡2Ä%`¤×ƒóYۘݗ1Á.'´/JeFŒ(—Û×u„ðCRc3)qÚ…š.`1EÄß³¿×lÂ(ü %Èœñžò®Ëí’})nö=**iCÔ^¦~ܼmªpáÛ ø.?óúwÿÄÓrâG•9ÞüÊG?Àï1Ã1Ø—éA+ðU”iÌ)#ßÁ$ Ç{ÒhÍY¤AM«çÝ™ºmH$†qËD JmÕyYT^,kL:Æpˆ²<Í›Ì!ðcD&ldNÌéÌAÕ `kP©u xghÌÐe Á&3ò§ÜfbI/mIÆ ð‰ûë‘Gp}TÃÞAí‹Û-Ša`¥fP•ƒ„€µˆÎ°Qxe¡–ƒŸ¡K±”i1;nö…µ(XÂ4?,4R`H=N63ü€?È|õ÷ýØÿõËæ¯éú¨1Ç›_ùȧò ¾è»B;¡!bÿM™µ8}ÚŠec¤š·T4įt;¶öͶa}<9•$FÞ A°þ¾ûø£-gcŽAˆ«8g(ziÚ<½ËyhŽ11Ç̉'É¥¶ûÂ#æ>>oÿÃxÍ6‚9Þ©ÆèGmÙm+V;úúŠ„dÏ i›¥µ–Z=µK¶1ͼ…§YØwa™øjt»)-ªØ×ŠZüÕ4‡Íùµ# ÚNoà½üÍ×~ïÿðQc’_7s|­k‹ß­À¿iÀ—äv‘uSŒQ?\$ <Û¯Î`4ÎuÅUhÀí$4Æ2ŠÒDŒ¤CÑIhdYyG›ÁÔµ€‡@Í]ª%-Iãj­¬ÖœŸ ½9é¹Gczì…=A“, :}̈Ìmb›pxáß#¤Ôµ.,¡×ÎýXŒJ¸ÁM{Ê¿¥ÂAi•µÑKòô)Jø¥djS3ÇH°@:B§Ã…x›õí À:}$òÐÔ¾Pýv[7ÿ5`?ýÕ?ø¾_7“üš™ãk_ñاø ö¹¾˜ge7¡—Ìa(9aÂ~÷ñû!ÌãȦ ¶ ”®¡NHÖD9ÆJo9€Ò4±èÖ´@åù¼Ô<Ø—ÁÀx}v72‡:Nv‰NIаÂnHi_0çÉÛˆzkÌX[LüäZ‹ŽíÉY†‚¶gÈD ŸªŠñ <´Òv¼°k…Æþ¬Ø‘Œð­èÆBbOýÁÊF#ܾw# ͼ/ÚœNGzø7%@d!™ƒõ; öuÿàOýºä#fޝyÅ£/àw ÈçAð’Ô¹ßéÛ4m ö æ¥tì›° )àÜelà žû–¾"è€é¹jâ“Æf×bÉ| †Ef/܃xÁàdky[=¬ÌçgpñÓÇ/É ü;cx­w‚ñØøj¸à«1Áæ;¥‚|“· ­@"MXŒÊCv¸öÚãFäÕvÓÜ2¦]# -š8hî(æàš„ÑÎ5c¡çÜ5Hý¬Ðô—‡„ú{„SSáwˆá=þÖãõ§Þÿ‘ÒyÒà¯öúšW>úb^%°/:Þb“œšSí¥ZLéK©›¤q%hé!Ô½@2†{làn‹J!HùüËcÕÝÅ$pçUB=Ãýë$ªèȱÓ9àF"LÌÁèõ[<×|o‚ êþV=° Å[ò"5]x¼èÿ‘Ð8L?‰Ói†+4uhƒ!ÃÓåc=¹~¹¦~³?Hí½²—¯Ëß?ÕÐØ _ØÒ‡ó ­÷–rC䮲ŠÙhFÁXîeI>Ï Þ\Dl…Ý;´ æO'ê öªöWüïozÏO¿ÿWGé9Ã_ùz£k‹Nÿ6̾ˆQ麨 iaÀ¥¶¨¿‘kmè…6PKm¡”fiChÂ-Eh ¡!¨áø¦îQ—›e*i‹¾Võ³û£I®ÈÊ>¹îˆåü-™ÓGî§ÛAP#áÝ‘Ë9ÅëcNs`Û¦†×†3îkt/æj¨¶í*™jÖWL©‚®t¤V¶< eÙ€L&† @Åb*H1±Cè )IG† ï%Öª¿;Ó4Ø%Énë0˜èóxÆøþö›~èW§I~Yæxâå¿À?+"r@þ“XRP6Ôßõ»Ï;#!ò’jîõtjZqÂÒȤ+#­Ô½ˆãVÁ&1mA„Ôçy]–ÊQÈØÇÂÄ:zR|GÝ›Ézñ,æE1&aæÆºµ|0¡Dv˜1„$î5G¤±D>Õ0®%ëQ¶9Ò¾Yñ#Cr]Y÷^´‚|e³q‚Bð?c7Á¬›íã.ô=÷Ãù: €t’‰Ž™ï½¼œàÙ>–<‰ ᑌÈÌå†É›¿Ü IDATQË{ »;bÄv×ë ÓŒ‰u»@Õ¦4ÈMjï2o~ó¿ïýø®{2Çã=òI"ö™¾ÀŸ#á¥{Tú—+UÃqº¦jKæ ê¼|hÙ̱$q²%{dxö4ºônt {÷”Š!ò•ÔÌ!jé„ATå×ÑÎfJÙI°@ÈCˆ¹fËÖ ÍKA^³ ¦zd’Kä ¨^¨5$mS÷œèiß,]-ãÿ¬vôµf0ŽÂ  “1'ŒŠZ|w/"ç5æ‚Ë´zŒ„f4ÐOÓ™aNgŽÓ,—o˜3IÖ‘C-´.ŠyÃRÉE×XWW^T5±Îa™ö} ÕÚÓ£'cbnÎ&Ù·uj”ûlÍa28õ£}Ñriƒeè/4 ¥À%m™sì7°ug”X ¸ ¥†äüƒ~dLÈØ sd|·Êü+þ¯ûþÿþý—4™õÄËy1€Ï€áOðÓqxÀË5]²ür1F&&‡·¦0îãn’QbýŽ"$npóÑ {×$|òóàÒ^|ïlÞ©~Û¦YL ¶,Ú¢¹‡ÅR’v“’º¢"naeQhÞtHÂ%V)²ëoŠæÌ2Wsó¹Ä¢/¥ðða/C¹Žã$[2q¼±Ì*ç åÖN§$â26@æ…–=°hݵ~_S¦«ô½Œï~…³ÁçÀõ®*O¬X7°Ý4ÊtAZÌÛVÆDá Ɔ1'D¶X‡ÀÞn¦ÿ9€Ÿù†üñÌ×’Ç{äý¾àRú ,tÉÍÎö™ÚRª­-D#J­›ÝMäµH—ð§3ÇÔ™¶_]òSJåf°F Ò Px c]{x]‚¨{Ëèµ'¹kj¸Š¨ktÿ[ZDEŸþ¥†£4Ä€{›¸ÚZ‚âÀ¤.6¹z®Å1‘©­¹Þlv-#*ôâsî˜Yã=P0Ë‚AÒ™é‚ç03GŠÐ ´'D*È×ö@§ˆH•ßHH  ?ÊxçšZóZÉÚaëì ²Î0=çAAÌǪ¥04½‹ ,ãMˆü´XÒ;¼¯ýÆüñ÷Àv½Ýü7»N,De¹Tyï Ú –"çÆËö‹ê‚IHŒy/þS‰%üÌ%3ùÇè/I̪çšãQ¬°N­eu^Âä9KCRëvç’Ý×ÓÔÀìswù…¶ !ÂY¥'ëk>Â@fͺyÍ/X•z2’ùL£³C0r- Ès>ÍÏQÏõ’¤‘uËê±pQ7©Fh.ÈÔ{…x×ø|x/v'ñŠ•vr£É |>‡cj€(0Ì+E1¼3‹÷5Æøb\=úÇÿ•¿àïn/¼õAf H…€dÈùÆœ(²Ãw¹\ÒÔ`¨ØNWõn…lX 7Æ‹9jŒRaˆ.†Œé€®Tσ҄L¡m­L‹@óøt¾&HÈãnᲺºpµ‰Ô½Rà0OAaAm_é< †X3hÄXâ!=UhHÛ§´s¦³!â¹m5ÀâÎ&ä¾`c>M¥{§²ÄHZµ–)Ù#8<(·`P['.\Wÿ\² -™ã4(ƒ)$×ùn5¨êÀ¤hë jñS­ÛÅÀ0Òž¢T ¾C‚ˆé+¸-# I¨Á´ò2Ä)tâ¹£š%ì˰Ö9øió3&¾ÃxŠAÂ3D!†{"j`zJ²˜1Æè Dv¡ % |GšàÝõb½ÚÊ]ì·å–Æ–öYJúÞCì œL´P–£$Bà]£÷LÚk#"øî­šá¼@ÄvšÚÖ`ã²$|´zñ V,«¸ˆW:—ƒÜOHÁl. ‰“ð䂨)Ñr©$™#'©ÊëÛ !hdsî„ — s±½¥ÒÛ=)òØr¦¦à5çtaŒ¦›JT삈›mÀYzsöÏhΈܱË]ÄЀŒ¡ #)¡c­ é b@¯6Ý.±KmlXú[Tܿ״DÒ,µGŒÍ]´ˆ“«×–9ƓΕ²Wj0+ÛƒTÙ¨{þ6Œ¹¥g,iuŒ€¥ÚhÅßÚ’ $pq½ÿ ”—¦349Œ¯ÙÈ‹€€€c)mJC”†wŒé›Ñ0a~œX›—œßÆâ^‰ž¨&(c=Ò .jµÃÁ®t#_3Î)Ò?Fa3\°Ü Î€RRp;˜½ª2ç*Έj;7Â-× ƒpA$+Çì # __²Ú1›l§îs/!TLo(ûì"ý$6…÷¡ô',Md|Ö¨­Ó#1–Û¹ wÚ(f@ÓPîEŒ"µ%*‚3|_][›LÈœ°ª&1Å>À¶Èxd>ÁvHÏàM+¥l´˜ëÒ´† s!‹·Ž˜±äGiÀ¼ö9Þ°T£ª øŒ]’·©l Xq¡½î¾2­ï %sDI¬d]+i]LU_o]˜¹YÌ/}¹R(òøñsT/+ÒM:â¹K5›B!0•$dÙ”IÌGcg–‘{–Þ:‘øv5mÚçžkrù»´õL%’ß*ï¤å§Êö¬}«U$½IÑI0Ðküáî óQI¤„@Ô’†¸ 78ãªÛ! ÍìãÛJpeÃ?Òï ©Á›¥²MFð[H2tüRŠÖÂhLBB ³ò¸ûÌ¥ž‘•³”±‰•—öënã"în³\0‘Ô<îr%§”ó,)zGqã<…DÜ„6„Ä™þÌa.‘Ó½nוö€ÿo7@¢ ðEëÍìUH¦hEü·((lDFFÎSkŠ ‹‰¤HŒ¬FÉ\šþàh邲Øô  ¨ü)Z°ëÒΡÁ} Q·ÑÆÄ^sïûµJÑÄ3Æ –³Òî눻«kDܰ¬ÍÙ’jÍ›g»°äªÜ©F wKçÒ)ä®ÏSФ!ï°ƒFzºÚ'ƒhVŽ· ;ˆ<¶ò¡FðS{¥ý±€ngTÔýxQðÈàø(C¹p#¼9IÙ$àŸ¨Xñ=?`1“uTôœe¤L´ôîç¾Ùd®ÚY3z 1è õ¬Ù1 _¸µ¾±ƒ-mI¬Ò~ïW%rÖ=Y(ÐöÛ ÚTÊæÊ•z×â󣡓†f.êò°U‚!T(ºÛ^æ€ÌSµb†¯X¸œ5îï¶Û†½ƒçåÕÔ€¤·âÜ£{c(õi‡¿/ *¸R™dfDjåZìÒ¨Ô7׊*)å8ÄKiv9Žcú†¿Æ´ g '^?Ï”¦”^QƒÔ=ãÇÊàö(UydÁJ”úZtnÔ¸?ftr®ìd Æ[ö}eì`Þ+#ûUoï¡mÞr'œ4&ˆG¯//–§ŸKî}êƒfdó_ ™" îM·³BÀœ‘"!õë;Œ_Zªi÷DXS&tL$`5ZP@#ëyœœ9¢–Ýt¸k#(«!`ƒžÁ£‡½FÓ‡ÌJÃH¤bn*°H²&Ä”gZ\hw ¶oÒØ£ºNïªG¸Œ[”æ@l g%¤­Äø~÷‘.Ó Ã–i3fÕ&Yј­î^ð)YWFº5=‡0à9ƒvxDowÃêGgZÈ#)£½Á{³i²•EO. ¤Y!ŒBB'…BíÎÞ»IÂ2WÁ/éùËâ§Ø ,®]ΫèÉÃ1#½J—Ìá D"y’Ñõû9j™üÉφûVzzbDÇwε=u°IœaÑdó‘éÅß—0*˜­Iûãeä´T³½ ªËú7¿wùÌ|ŸZGKkÜã¹Gøçn i§¤Š^M ¹èeÝ=ŒƒŒ}ôr%ÓÆxd7JÏøb0W4\3oÅ?Æô·…Ò­Ã‹ÈÆ%JP„a®P ;¢ôI¬Éw —öF¸¼_Æ®ÍÜ“3ú¼¿i[!¤ë’ô# '*ˆh‘Ð_‘Q,<{¤·ˆ7X´ó!ôæÛåI-ÆóƒF<‰Ð{²-ÒA` dœ€1›¨ }5´FÐÍÆÜ¨†Rš6½›àëuÉߪ×À߸ønAš9µF¹pû³Í.t’±ÚË?gYÁs/û€LÒp¦j0äâA9ËYÙžqØãÊ.\°°Díîp 8ñ|ÍÓ YÍh5Á"žS5gxªè¢D«•°r]²ë¢* dŒp}“y´Å2Ê[š…µb€ð\òØ…¤¦&¡·§í'÷$_êÉï¥ÐjÐÌ…í†VÚÌ6Cñ~ ÒF®•Ñ^OÎÁœ›×á°¥O !¦á3Ѱ$£äÀ}Œï:­lɰŠRâ^W‡@G¦¹ÛëS‘žƒF” @.ŒÝ `݃1-žíZ/ܦr)]Ž©+Ë8¼^öÁhÏ¢V¨LÔZ€1ñ{&ì-w׺&ð„½ØøÄÓmF2¼%¨9Œ)‘.YÀâÙ¶.txD²e-½ªy6n`ãr¨œs¤­”¦'K…]e°Ì/2B¶>J ÒÖ¨ï5‰_b¥:ƒÙ¥ :ÒK÷ÒI" }U‚)½ÔhÑûé„ ò ±O °/N©Dø©Š˜À|Þ,ðîaVS©T‹#¼:|£½w4ÎîùéÐãøªu×)5( ´Œ&ð²Ha-M47CÛ 9ü^‹Í Žâš${ÎáÒ}K€ btXº&~‡ªÎÒÖÑ Ý€~Ùç*n7G$ÁúÍ—i0ÇCIÏ.«iƒ~î_TCÒ[dæuïGÛ»æEÔ®­Ø}@2kÖHÂõuKM`åÍêðê¸Ã\Ï+jNcð—oñ™º—·Ñ‰ZŽÊi|‚ðGŠ€€")æŸe΂´s`šÇ7¨l†[¦D#8ç‚Ãïåyú¥¼Q5¡Z¤Ã"¶÷yÈ}[Îö¼RÝ™ ZÃÂÝfp— ÕqÁ&¿£jÙC|R›•¡œP’‹ÖM7'æ-=ßœ«®¢­–{˜Ø@™Ò0é°#¡¤dóËj#Òu|ެñ¶œkíË#•5ñqë,±º½Æ|`÷ž»cTQêp¯ áŽQ â5½Ü×G\2Äì’ùgç?9o‘O¤Ôð#pD=àêäЄA¬ b'5‚xF<Ôê[F©’"±ÿ'¾oÛ)èM¡Ø %©‰ G‚æ ­Í¹‚nÇ‹¦_*y ¨ôki^˜d€”ÚñNÔKøU@'×”fGæ͘îDHGA£Þ\tÆxBË øÙá›§ëZq8’0—ædýDi%l$±ˆ ¶¿Â?”Ò+7—!ô+’7­ûÅmA¸6žTN}!‡‰Õ¹[µÔ.bênËØÎUD2* «Ò 7êZ«dÐÁ–‘$Ä"‘¤Ä¶€0NÐB¤)™ 8e‚Ò™· AÉ8àZ‹Ç$p¯,=hcÌ<°†’9P_ÓÒ„½–ŒìY±Üú6×8”s/Öç@<‡~+–«ÐFíW‡@b©oG ]š䛤z m‹/db`±šÁaUÞÁZ¥VWmmœcÞÿ0ÉZ¹ ’ô<ñ÷Øÿ4ƒ\¥±|;º_ éE¡Vi ض(ÆW㮂ŸÐ¡LB#ô2 ë ,ÚŒð‹«Ÿ¥çÓº‡$ â—d>#\¶ÎìÍS·`o¨ÒT\äˆwt $¯±ÉÅz9Q9óh·ì«§u„×LU«šœ©ø>ÛKß³ õ† ÈÔ~Y|Ðí;O<Æ'Š9n|I±Ð4µ¦ä³.T¹Çý’| ‡×,„Œš‰Ššó ñ$Ì¢¾8${›@/[½çUÒÔp êÀÁ–’Ça”$b“8«o#A¡ g˿ڤ†Ñi–¹Û!lšiˆÅ‰ k±ã}e¶¬š»BG­ÇhÇã2ÜýÚÁ{&H@Í@“¨‚5~.S!ÒCg|ª…1|.;æé®f~ÜÇ…(½UKŠÝž®NŒ)ÙÍ5˜HT(æ¾ð™>ž†ªaÇIí¿H}–pTºá|/ƒÞϪâ;cocäXɦ|¶„pu¤þi+»$?›°uóQÙˆ˜¸½qjÛî&ë Uu ‰ŸR„lR<Õ`¾Ç1»Ñ˜ž 0PÅo¾é¶ Eh%…U"ŸÌ,áXÞ;¿#™^c¬½È9— «%i°ÌˆxJâ–piq*3/ð"­%¨y4–¹¸:55›Zà)O˜ ¶<¢êˆ}.6´¿e¹YÔºI è0ÆJò¦ ,Æ0„Ö¾+m Ã¡"Xþ+¢ÍXs×36pl-G ,³Á‘"¦÷0g@F¢óÙÒ´yvÔwg ·õkªûëW„R¸Û#æå­—æs÷äÈl€|•ÆnB¢r—’€éíáÉQÛ˜³i XÅtb½Hö# Ì0IPŒ!ð† z–µX×&›g³ðŒ~ÁÒ ¹2¤Í|·;E¨ÈÒ>“x@{BÜ·£Ñ_жîA¨¸­ø¸(ôL‘Oà^ÜÛﱇÜXªæxxõ0*mV[ŸÜ]i“4FW“­î6?«'¥zæl¹öüG³R.µ¡‰ÛAaÈAÕ­ ÖÌøT ŸËˆTßܬ|¿ Æ£Ø8p%7g2H<³b±Hɸ›”pQôÓ¤&›Çç¿ËD-{|-‚¸F´¿4zbigÁ¤dÔC3ƒœRþÛé(i†Zÿúµv@[Í—¬©=CŠ6¤ŽŒïoÈí¯Ñ¦™Ø¤-ý<ç;¹¡¸ysÐîjù¾eí@®HjPICÈ9¿î}*Rcë‘ÝÔQDu„4Å´\<ÀÏ Œ©Ä§šög@Yãxµì‰xšÔ¸Ñí ˜Ïƒmx’p›–uR§aU~xý3’?Í+!©¹Iø€dÌÓjIÒ!âòv¸§olhŽŸßöˆDB%jÝÌ +âAó ˆØÖÞW€hÏw$ê Ù&JYÙáéaÿÚwè7 wç’øc#:5PY&ÚÏWÛ'ØJÈ÷ÀXWO%cK/¦äçÓ¾à„Ñ|PõÝh †à"§‘"hJ"~oÈÅÝÉ(í׋e­µoRZRâÔ±Â4gŒží„Ú¼VµGdg"_É”YJ3—%Ñ1ž+Rc„Üù a€# 30B°˜ )¹Ÿ¾e†µûÉSWW§¨W™‡#ÝdÐõ*à ³#r¢ü¦Òª#í®è"µŸí¬¢’ÜZü xK”: Ž$ç®YIìdøB%¤ jÚ¢¯KZ¼¼l”çµZFùp·®ôÔ’£Iöĵ‡¹Fó³&_S·*8T+¯C}¢¢¨ÒØñ‘ÚŽ†`ÓÆÆc´R‘z†§ˆ™Ù§E0ÝaÐ614ŒÅg)]å*,ómeR Ý´, càLH0Ú;¶‚¤l’PñodâªGÏ“š~.ÈO`X˜_a„Ïp¤ÝtépŒ±ÇYxGâƒõ߯a¦‹¼üØ¡RHIí1×z~RAH‘´C©jC¥=÷pÈŠæuF(:ÔóûüŠ%. @®mtY½@ÉÎGr0c­I ‚vC IDATÃg 86`¸djŒ¦Z­ßÇß'¶Ío¥‚A¦”w„‹äÌk ¯¸°~KÛè hþ=#Á$ ˆ(ÆÈ@@y—šR´Á±xXoÂïõŽ þÜÕÖ[Ú=í°¶3ÒÊÅqQÀ07"3zµ1€Ñ|J‘}üb½¨‰9„N¢bL§4ª×êséR? t­=H˜gVŒE­–ë#µlm ¶wZ*Áw¹nt´… vc/²iÓLdû€ÛÁ»”öJH^D‚B“tùâóΡy7Æ%ˆÁH<5ÉLŠ“Úšã8ýËéIp½’6 #視¤‚<·ˆ´U„¦Tã”P\“CH1„gõÕ‘c<¬²´5G¼D QUH/œw9W‹ï^8s8¤6©÷Ž)%‘Ej„¬@Á™š+’@¹týž\íôÃUgªH:6êû\+€MæH¬ë¶¶FíÒÚƒÚ÷ÚÇN[÷f‹®E/ö.éÁºƒ—=SãØÁÏXc”${©%I˜’¿7Îl±'­¸œkAÉ×ÝŠœD6‘3?5Bfz´,³!Ÿ5pÉG±%©i礤ªˆ6D<šÛ}¦à´ì@ØÎ ¡§ÏÊ¢ÑW ÞÉÛ T.YæV5Ò%3’¸ôlgjCAAÉØ ß­}çž)¹ÛTÄ Ú×J04³¦q’¹»åØû{õoyãx1e%׊¯49'\Œìš£Äál¡2¾”ÙÉ,i˜Öب’RŽ\.ö‰ØÜú=/ƒ=qc¹×ùtIþz1Õ ‹9f·¾;& ~‘Ð]rKHVb{®Td÷J´ÌŒuÓ€¥PQïZâwGD_ËhòhÝK’YèŠXÅ̼ÛI*ˆX¦wô]¨¬jjŠ£&IŸépÏÚú§€dvC@$åÓºVHMĽ;î5òwîaEÈiÓ±å%Ùçs€„~M¡µ_"Ê/¿t­PC>Í[XgF²Ú=õ<©wÆè†}S¬¹¹ ÿ=4BƒihØi_Xëí#‹¨¢zë°áÈ#ƨ™æ GF¨;‘dhGjÅÙà5æÒ O3Õq¬ÁˆH—ªµ Ú‹Ž|àFÐG+Îà•"îD!C0ç§ÊÆcF''ÊÌ”DÞ7ÒŽBªÐ ˆ’-˜5‰9_XÊ'$wm cR³€QR³rJľ ÂÌÜä¾@þvvù1“»{–4HÂg§TÓðTÚJÚÝ‘£XIÃŽ« T&¡Ú†ÈEI!¾m)ý8µÔPG¾¯E®•®I©y.š´E!F6c¼¯„ùe„e"Ê+·¸Ëõ9æ’’mðdÕX‰ú5¶íœ9>„6Ópß:#ŒèÎŽÒ×âmBÉ2$7ßçc¨æxÝce ²Åq¦ ‘ŒLOˆHˆ{”É4VpÐI†Qò¸‡H=« Æ´Q$HŽ”åÅ!$,mOKÁÛi­l-m Ó’&j½9–ð7Öƒ)¼Œy9Ô±¥G* R×Ó¥n¡÷”iðÆBf‘”uPÞÍå,(ÔQFáÒØØˆÞ–V*Æ(:wB§4è­>ë³H&»™=cIJ6eHõÏ\¡ LmrÜ,>>ÈOzÒZj;¢™öAò5$HbîRü$0O¯v‡…‘ßAø£WG.ƒ„8¥¾T7”Ü/îY“ìü;…)iO`‚gBº{TJS(’I¸.MÛzÒEÌšŸÚQjGÒeóžñÜ—èò˜ð{Òòô:ÌÌŽçp¾ .ßí:ÙÚ¼GŠ éOøK.á¢Å Ð¼4¼;m¹$Éö.–XfOh”ØŠ°ó„VFz¿èšóxw»1þOHJ6;´\!mM= ¨–½»‘PPìpÀFú HB9݈÷¦ÐÎsBÕ¢r>¾†êÓ·HÁ$%·'4œM +XDƒƒ`ˆ/’Þ«œ"Þ‘$„’QËæhöw–ÚĵgÆ{¬ö¸•¸•&Acläò¬l" fpû7%¾«ô„,–ÝØÃ'Y EÂiEe]Ê!S[OuîoÚú£ñ†áŠ3x[Ø=Nú(ø4Qo6¥¤¾ãiõÎd„b4øL\a,~¼{¿2$çaáa=_–še¬íì-ÍMä|èá±Qj>áEK.á5m % 6ƒ¶ˆ¬°±™aÐgoµæn(tíÝ¢ç•+}IƒüXTU®gq5á„-á†ÀßÓí—,pú+M[—fÛÖ.xTј¢æXKÉÝäë‚,nV÷•ìðWRAºbáðÓ¥‘£GEpÍ€6=ŒTRþzhÐMKcËãàƒZ âp¾‰Q7bβs\Ü!J¡CB4F1ç¬C\(}©$¤¾K^OÏž4V77œó(cAäRýAaþHÍÍž4k Ñó6´U¥¹6ª;‰¯„^lú1àdD—!Aç]M¬2kAË ŠžsykCc¹}Žù`Äz–ìßóF#…„èÈÏbí=çkçðØ¢Á™%ú B$í2rM,eËOãÜjb¼¼1µCº§-X$YŒ‡H$ö¡Û=œ;sÝ„ Ü`p…‘´hñ>dÀtA¡XK+˜Rµý–¸-w%6¢…K ðÿKÓüV÷JWbÀ€®ØïE4|_¤r‡œ†3„„'‡Ù¥½y3Š ò¾Öï]‡ÜÃ4u]½§w-:~×EŽž¸$J;j~ÂéhÄFÅØÈÍñ%ø: ¥w[Ÿ¬UoDzûØlÎ×¶yê¶ å>ð¹”—©öaü ,cˆ:óûeê‡g&§ˆ SÌÑZqQ¬ÖÀ’f®qÃ5!±‘ èÜ;Ž×$CÎÛQ‚mÜ`]ÐAçÆh•޵ïì8£ên#Ú!\j&3RjH-žv䆂™µwP‚û{ûz~ãèÃ?âl˜sbÛfxk$ þÓUl> òþMtð€%Ž/æb\þÔØ$5*Œ^•6m~ž y÷Ð$y?ÜÿÎ\ý³e0Vÿ`ië î \ PðrÝœŸ©¹Qkr¸_A'• Ñ"í¾Î}ünÒ+׸dd„^±¤Q”Ú«<©6n­V´È×}%4UeOír7WÒ%³;Äc0¹Vél1_û1±Mèzo 78Tmr&%yb6dc2i bq?Â#‘F,ã(]óYÉ(s›Ø&©9HìCh8jzQ$¤b*ôе¥†‹ñ/è¹¶P(ƒrâÑ:ÔªGcð:Æ«™»!D²ñu<ÙQ”ÃKmšäCÉ X/Ãy@&J¹&òlíŽÉÓ{ˆ$÷1µ¨ŒŠÚ° ~ÁÄĸ܍moï!QðS§áA~¯ñÞ*C€™š14vHo²QJ›w…9/Œî«žv׾ꈷêåeiÏíËü˜ê¾'æž0&]úºV£m .x¶òå5šñb|9ôpB,jn é#°ô”Vú™Þ_e¯J•:!ÇþJkíP°­›Ÿµ1ÆÆ9ÃZJ&ëš­¹Y¼Œ–MÝTI‰Ö˜6´‡Oų~û¬+’P)ED©i¨–­  0¹TDj)>ù UƒÀýž‘z'Z%ò%áÀrìÃU|Èçû;¹” e½¤qÈ% –¤mkÂAb=2G=‡Ê²å÷ä¿”ôþ¡Ü$T°rFC nõ6}MNsb”™Ã¡Ì˜üí€Àþ›P4%¿{rÊ%½t9ÓKÀîc85`µtñ)‚“ù³% µ <v€ß‰R“1ÙÄr¥6 8áFi©ô,“ð=ž™8ÊZFÛSxóÞ©/KÑp§f u(ÊÛVš®ÕsÔx®_7¼©Â¤‘™Ð@v§N& ¢û1•q¼7¥dOd[“Œ…”lHf¸ûriÁùhxJ¸™‡†j”v˜ ïï‹@%Í Û¸8ã“ë,6hõ? ÷ǹ߬¶d-Yý]D¿m8~` 0ÅÓP¶!ØâT©)ÁT”JQ! ˜- w[ÊV%šE8ü0HS3&ˆDqb_~¢Î$`)ûQd80Öð%|q‘ï6ÃLh¤` †úÍöÐRPm%Û´èñs(ÔêæF~îØT] j.‰gY+'ó‰hRƒ3jØæ,‰G›!á•”u™FîRÙä=‚Pdzd¥ ÿ[p†d•‰eqdj£¡äÒ—-1²º¤Pw»mÓ>]0Có:Á’Ó‹dêü/®ó0fïN"#¼5Aü3”ÚcˆÄ)Näc[ëé» ÊÀL­"960gØÆ†kæ `‡‘¥` † “k:† 4Ó€E›]–}©a1-‹Ÿ"Ÿ6?W¹U$ 0LwôJIÃÎ:¡{¯`1®=*ÃðŸA{MpR°Â¦ Í^Ú l ¬Ô,±·ÉNÁTAŸþ–M”¡)23 š\SÒ!79*ü\2‚qxH&JxBŽ”„ŠL‘Àû´-H¬—Fy¿(UPL1[žLÅÒÁ›¿×7˜ºÏ@bŽ:²t‹a€öƒÞ‘Î!áG-ãžsŒlaãnNg†, %˜û"ÂíIqa#áíÙÞ0cým8ÐA °%G‡°#ûëºÑ*0LÒ9Æœ€y&ƒ gu³€ Ø"`J=ö§{ŠâÞhŽ h[û„,eÞ=¥&µ­H„ª‘Ì“ùʸV°(Ë»Y’É=_1ææa‰E­kتj†™BwÚÁöbîÁ8ƒ's, Q®N!ÎÅÔ %U|/Éú2‚Tõ„?îq9:d+Å´ŒI&&¤tæ˜3J¤Juè…El€­ïØÃÚ£©ÃÜ&–68/`ßc"!^–˜š%}³/ì:°k  Ú†zmüÀœNéð‰¨ZœËèB̉öϬù°/0QÈæh·fò§ÕÞ„ MH¦MpR, ¨Î“~Þ)ÓL/aâb5Áðõ¾ôãÛ­Øî,M.ô‡Ê¤‡ÆÚÑX´CШ¼Lwaû¸§»GàpÁi\6\Ÿ&®¶À8^¼¯–&?0 óìMÒÇ'§™€w¬™( B%—Яm6µÖ ÜŠñ»!L5˜þÿ“õ.ْ츲˜$="òSuõyz†¡†F¦¥†æ¥Ž:OkéVÕÉÜ{G8 @ è‘¥¼ëTæÝŸˆpw0 Fçñ@Z…^ôwݲ6wÞ7‹€‡æÁ9…¬¹°[޼³ñú¸èçšm8ú€¯Å>YÊ$ •ÑËs½X‹yR·f¹ÁÀYw˜-Ö F‘dJfÕØsðªžu•æBÎû•ÐOЦð ²5“>H\ŠgÊ—¶k]jâjöùÛ,ŽJf¨š¹ÏàQi¦ž%7ìçÎMoÉÜq?×Ûš©÷¬5žËýõzò:b5Ô®4Š gõàߤév„Ç[ €k®Z€ÞÚÞ£))8+¸PnÞÁ5kM( ‘€ˆÃܲ°KÈ¥ÕX{qE$ÚÔÌ7³K‰Õê=xs4«c@u\…z.bÀô1Ð[§ÊTí‘#âEt #cÀB˜âsÇjmDî5D\uûÀ–á|ýF×ȼ4ZZµ£î°µ°–m–‰~ݽ©ê"ÛJXÕIvĺæßa).ÄõìÿÉ(¡ j‹¼³ašQìUßó? î›ØÃá¨ñÕ hγDZg?G =Ý],œõM´éÁÚ" q)Y"&¸j°0ïMÐ’²» ëÞž•“q sœË·VÿØ4 ^«Ê‘ˆk=åßECõš­É9Þ£JîsítWðÊ÷.ÆN:Út¨@¤7kMT•1{YG)\X º9¦O̳éÕéÎäŠ]Tãú³K„wfâZ. 3 _oÃ(Ù¿}‘ï ,ž&¾êfÊ^o­´@(¡n¾ÐrÖÄNÇœ –2x·Ø™³jF}Áªè¿™›„3¹ÁPY¦ Aä¿«Ó ±_#Ë róz½n~‹ÏÓX/³KYœ·ˆ•›ÊÙg1g4­óG'4Þl’ûvs!dd¼¤(õ<¹4xïÍœÍÏ6 ¿Ü…Hp?eíÛ‘.-3¼¦}FÍ{{“‘Jg ~W1©4lCdÀ/2%jÓp3(J„™ÒkȃQ{F.QŠòdíÐдuÈÈÁ­È®¦¢5J–¥\ã˜S1gu6w²¬u¾#qrå¨Fã‚òÊ.¾wFË:©6QvUaá&9‚•f]{CåMQ ÈÂÆ›uc÷†rÛf ×â^‹ETÑUq?Vla›ù‚ï÷íåk{ç*ÅÛÌ Ÿ6wUo0Ò%¹!§óh6 ón™ä¦(·óž½ËrA«êîW ƒ\ÉXü2ø´Æ¹}$Ã(I´ðynÛž¬ÑÜÀ1:z6G£ïˆ­M“Es¨j»~‰hTӲݙ"QŒG'ÁSBJϵáyíö†Œ"°=µ"7POÕByûÖóïý8`ó¤ÔÌ/ˆÂõK,G/ùé\à4 P´-‰mk‰r.(øB$ÛñV|ËU Hþû^ ¾pñÒÈèNhš™+×wõærˆåDü![½©‘Š–ª[*eb³sï¾Y— ÂyîE jš8š]wL¡Xo×FùTÊ¢§DñðÀÕÍ/ˆ 5©co *r²Ïl HuOCt«u/ÆÈ÷ki«Å¦ÿ«TTžë‚âBd„MÉLJÔµê Pg…Ëi’Ö$ÐS™ ±öº Cfì¬Yœ€Áª‰@»`¤}‡Å*ž±OGÈ ¶°¬gZ¡ŽÜ”«ëô†{nÞðõ,ì]†'5£qÇ™vQmœVQîs” H½ÒöO(wíÐü÷.¶jØêm3ðædQ§ Fý›™Š(Ó¿½“±Ñþ|‡ýï‚u„o9÷ àþæήläOfžÚ~%µ.ª¸Ü ù~²3CecÞ¹–=qqTÝ8¯ã’\ä Þ®ˆŽK¨y]C€ý©Ý›Ÿ»©àÞGË9Œ¼1Rë ›µÂHÛ2«(êæÕ@olºK¢‰Ëƒì ½)z/(Ýo‹u'¯ëzR,"X‹$ž)°reŠ·—,ÈZSÕ+›Ë`ˆlZæ:ó<¼f£÷lä°ä&kEŽx´7Épñ¨Å’”k¤§&áD³{œtEý\¶š›BÆKK(š WVK£¢_•›f,VlC£bªübYÞ?wÔZff‘¼)Á¶s.ÚHÄ“Y2.Ù‰»“E{^î×yÃãš°5É(U7˜?ç·³-ÚÖTE\_µbD€Þ°3xõ§4GLkqÔÉTªW¡»þâçÿvëø7|?c‡ >Ç×2Ló,TÏ)ê¾TÐËÐRæÖ‘ú$\ÍÌÖÚ_¾È-Â#—úý\Oy/Üé¹2À$Jx'd¥T7ïñ5Ož?ƒÈºŒu—yµJq´ >(8 ô¢ÄÈ8xå ¦L!s£YpÖä¢?Š>ê­äm1iFlrø6¿"#bɹ+²]jÞÊ«)ô°KÊV?û#ضþ d¡)´5Ô$Ò•…· I+€Ø”9oÉÅï4eӚبz"îžT]>„ÜصØÅìm®¼5NãÅzdoÈ…¢E` â7Ø„==ò¤Y(¸ )’:å"½)΀¦=ƒF˜'d0M©R³í+œÚ$QXk7qRÌ=in~æê'"„JÁmgд…ºAAG"ƒôýõ÷³L¸ ,e-Ƈ iŠ–×T×ZAy“¹!%‘„¥À°H‰‹q³ÜHWÆR ¡Š^þ­­54ï©^äfé)÷(1uq¨¡Òwní(¨S^€@¥gc Éó3‚5M¸·ÈXP)7zŠÜ"Ò‘‚•7' ºz8»Ï1ÐÎ6Óˆ‘-<å,qÁ¯¸zµ)kCRe0äðP2N]Jdä»O³üÊt# ZCøBׯžÈ<±"¥Ùƒàù{$k*i8R&pƒ™W &0Ÿ:¹à_¿ïZ'²¡æÎæ%‚ æœ Ÿ' ”deC.aÊÞxBü 5De÷¬D¸ÑZË#èXN#…×\8Æ•#,ëYì©>ÔÝp’›s.4ahPÍšI+êËÛ¦‹· Ë5rõ[áÙà g>/ˆ°æ0ƒÈ‚ª # ×äv´½j‹Á <‚K IDATwgWÙÃù@äâã¿«Û^YjOT”,EÉ^´‡É½A’ºA«àÕæôc7Ÿ<¿¹¦U¯UݶLÀ7ÁPÎä|¿ÞÑ䦑¸\¸ð*C°°”œM.ÿÛ÷œî¡æH¶ˆÑAY‰¢åxéè[˜¶)…~´¶;Ã@lÁ4›Ž|'fbUˆ3"®­Š-˜TXº¬ôçŽÄ›@Ï X¶dìî féÝ‘MܶëÍÈR é¨C§<ÝA,Ø|´¬,¼–crÏ%q’½·&1¼@ºp‘‚LT[Á‘ÙÙÌvPpø½é'쬠گ좗Ÿ®JMÙÆžÍNô3µUµûj°D@ éå.Å­ n¨fÐÊÂN6KZ5õÊÒžò K«vÊ›ògµi>|~Že†sN6Þ ôåtè(¼*òç¸i±)|^pÃØ•rTRÚRQåR¾2³90£ÄøÕãðÅï4ih­Ž2ŽŒžé9«„d†”C##¿§pâÛR¥"@ê³1£r3ÇU! .fôeºN`¦g©TC.B jŒ^“G 5ôôí¥âš™±5Eï £·tü+JºÞ[ç»6gžšu¦dÙ¢ Ÿ¥{&Ñd÷Pù£» È C¤ÃÚ£˜"‚.¯'D€޹Nøœd{>¨×á"¤ :– V¡ I[Ål91Ä|sc »ž’ò ΂@œ£¯¼ø ±ecŠ…dIÆã"Š:ÍÃÅteEUÁí½íºb¡Ï¹h663åªz6˜Z2Cü`¡ŠÖ„Yh7á1ÈÕ¥Î:γFiý@ï¬9d-Ö>"ÙÛHؘé<à8'éOjÊJU‹\”Ù„ÝÚ5UÁÊy”µËÖ6XëMpãP|Š£‘r5sÖSZÔ,Þf±Âdç;Š^ok-ñà½a½É^æ²| œ–ò¨£+p?:Ž£áh|–#³8!!¥ìçÊIÈÊ&ôÎå8ƒD1_·£c4>A` @Þ—pÖ­WQvPrç1 0PšUuK/´ô¤「Sjo[ÂíùKU`-¯ÎY¦@OÅcÏtÝõrÕ¨Nêu)‘ÃB-µÿ\¤ÓšQc›…i‹*Ê„´@”P°F,s³x²:^b³´­i c ´Ö(û^+o´!õŒ87ûh ûh=çB»aHå€b­…s-lëÏðŒØ…w‹™"4Ò¼®Ñ½÷-—G蜡d ‹åâCmJuéïçÂÇË0ƒw2c ÎÅl±20µ¬Ç|Xka 7è7œ§ã\ ­ Üî7þ¬±P5/~Cчfpá|ü¦Fóé®ÉÏÒZFx0;Îé8=`Np¯œyBïÊ5§ms òϺ8ÏÀ´¹®ÈÛ­áG£!mŠ.¶“dOÖYL:à Z•dªþ°.»X¸þíïÿÝ.â¸È.$9_n‡OÂàŒTwjÛŒƒK¹dTÓ-§àj‡Ö‡ÊÝ"„0Ù=&œ®™‘71¢Èºf¤¾K˜kaž+iÉtíK/'‹R›²™³ÓœkáùZ›¡¨¿c`@I[fB™:á€elj}çÊæW¤l¾–gõ¸Ãe½‚!ÆýJè£É€p‰)Z'­¾ŒØ½§ýL)¤)øÁ€ñûµðZFú9ƒƒ{n®²äÌÂü8z*¢y!—FãØÃK5¨ï¬qÂpÌd+™¾‚5­V+ ))ÂÝ4•æš“ÂÆg­Ê|/ËÍ‘eêVð¶¦è£a´†ãè8º&z`‡¤õ¹¾tÛÖ“©ŽÜf²â}sHÅ/þT þ׋Ð@3ê7õɪ[Lm‹ezçnðõªœý5s˜2š˜;VÚ6’O+šÞÐGC(Ù³™1wn˜ž4q¤"©CÕK¨4F47„;æ"./¨dàÏD(LGDC£_ÝûHí”{fe¶ëWèÙÌŽg4at”„õ€‹Ý)ã  ,ï›j‡Œr+˜D:5«ñÀ9'æ Œ1 Âˆî;ŒV+ÞnZ~6FïhM’F"Dà ÆxÖ<ÚX¿Ç¢à ָ1÷D¥hf üv#vÚiáô…=ã >!ÞÏíy¥‚ m‘âÀTìj™Uèà£Éã²ksI1p²~"À"1yaÕqÙ?SÛhŸO ÿ¿ÿú€ªbŒ†ÛÁ"­ÆZã Ž†‘*ã‹‚›°Ã6¿§Ûhœ3O5e§ÚØ’wð{œ!¨É.ê¾15`‰³«³M¼{|H3^"( 9'm`à¼CºM¨Tå¿HuÑ Oš6ô–ƒX)^ˆw¡¸©ê±åK&Ÿ¤°6ˆ6Ι#±cF¼÷®—Rº ¾yîG'IŒ˜¯åÙ¼¤è±5Å}d?ªåÚל\²}¾Q©ê~æ°®×fˆm!I7ç,8²7V=„„†¬›i<œ&”íGÝ÷³å ¼Uë4zv%]¾œÙ°¥2£¡”ØAj¯ö\ý…v©©ËÝãÒ‘.ŠM«­µn>Š€ —1—‡áhwÜîŽ16wï^í¼bFÕpM*s_8¨wRíèR8’½^p Æú Ujo4]âiÒÄd³9"y)KGâÕ&CÒ§­Ê$ÃÇwÎEm$uš0 &G§Ê<»¿e‡€¤;¶«Jk‚£1Í ÑÌ á Úd»}¢\€QÏsÎÂwàñÄôçœY4¬s’Ö¢C+Ò&óÖ5}²²o¤MѤ[1>zÁZ$ì(•%àä].¤”»qRªÁ…èF±ªå54 =MÙà¸õu \ïÕ; f¢s%9òˆm¤žË‚¥ ¤H ®…\]´’®Ô!»jß ‹U®^ZÂì: ®¾TxþýúïÿQßFÃmtšfxgJ~-Ù¸i™ÖÞ¤ÅiÀ"›)o¹í±PÀ“gn›¼ çd¨ìäÂNüóÀ¹Œ7±hÓL›ÓìíbqõT’>\«(¼–°¢§í{-"’}“ºQ‘é=H÷vqæÝ) ä˜jÏæ\o’ô-ÃT±J6HÀ «±õEÊùyÌ%˜vÕf¨E²€<Ö-"Ç€Shs_,Ør„š²ÄÙ<Ú®›°7 °æÂëù C@ Áz'̆sú±ë%0¤Ð-kÀ™Q!yÐ0(ÆÃC’\¨Œ˜0ˆkWòý³Î¶.JÄÒÛÎ ÛL07ê£Ù‘΂(țقûærò¯?Tá=²ê¸’7j¾½¿ ¨ ŽÎQú%±`R7£ôø·Ñp?î·ªJfÂj’Íà9bÉÆ ÞóõÂ×ó…5÷Ü€F|ã|¿µ8@$È~K}³§|×P ?Ž–-ôlŽe!<ºâ>ê—G;p}o"òÓ!Ài &%©ƒ‰ÀãhÀ­“^†œð×D¸÷•À×2x(ŽÖéH2Éš˜áëe8ׄ…£9EzY&""µL~éú#ïêŸZ"^pÓ (n§Òª’¶Ì¯j+LÝü‚MªŸª.º½Æ"‚æ—scþÒ~¬Ù@›¥(¤)2afýBÔ’` ŒÂÙ@å Ĭæ DÐ’Ro*hoS=–¿ê¯Ü….j¹$êc(îÇÀíè” åœÍJU§Tˆ®â=ƒó|0•S”Òú.¾ï_$0Ä{FìªÑv-°ý%¸!"¼ù9BdO7þ!GÚÏ{ÊÛ÷ï½QW~¯7ÉAýÓЛâ8îî·ÛÕPI,~ÖSNÕŽU—.ÈI+bø†@WÇñ­ãûñÓ<‹Ü†Ÿ@{Ö*uöç™_Óð×ç‰ÑËì€u¥|znƒcÉÅYçÕù®‹Þ Õxl±³+-¥Å1n ó4f‘I.™§ŠfnÇf:jƒ„½ež„ Yø]õuéÇ™H.xnê|öY7mŸÙ`½¶|ôÕ„5u\3áåÕÁ®SRz}û¾×¢Ê€ÀŽê’Ó…Õ_¹Ý©zËpy öسÖïæ½Øó=AÖrEŽ)7•åýž¾*œDöÿŸ_GQtߎ^*y_€ý,k®¹tµº¥Èì&ûx°y¾½FŠæ­MÜÙŒãÀýèxÜÜÁá¥ph8-x3<»RÈÙB úŒ^U€! Mq¿=ø€“®ÝzUP|š©Xc(n{`eÏiøüšø:OL3È2$_+ FFUâÙÒ[åúÎ ©YcÖyÂÝp.‡…RÒÑH»–É×2Ã4À#'–" y‹KJ¾]9raï#§ßÁ, öñI•槆–vVƒ{È_ÄAÌaƒÑ°VÊÖEáXZ5p³­sRi9yPá•l×%Açç~=f\Î#¥E£¬D¶¾¬îƒ Ÿ·VѶºìÎ49ÖìEå÷ßèS¯Åé‘*Š„ªI¢ðŒcÖÊÓ…kAƒ‰uû}ØgÖ{é'¬úƒ¬ºðÕŽ2ý¿þÇOTî(ÆXFf$ÏI)3‹$Ák,€ÖFN òõZe—~ eš"®…¹4Sº`´Žã8¸›1±œ³Ä\ŒÔìfæØcfˆ.‚ûAYü2ÅZŠs.ÌóÀ½è’ù¦‚Ñû–›W ɯ NûÿˆÀµ~SD™ÑŽÒef±«AXîG_\°×Ê…Cõ­N¹$Ôåà B,my KÕ>Rð"½¡‚ŒaB‹$wÊ'Îsáyæ3éŠæ Söš^@6EJe}Iô[`³™’BFÇËV¾~:9æp‰~¦c”ª3<ä@œ§à3·ï½­ƒØ]Ï)Á_f•‚{ÁšZ)^¸‚r #)É:†µbýÌyÆ{¦ÀwQÏ€Ÿÿb±Þ=|³ÛEãaC[¯É޲ƒ‘gA’QÊȨ¯9ØÓøý‹yg”³­›¤¸Ýo8ÏÎóDahì¼+e¯s±“žXY8Ò&8Ù5»¥)ƒ§S|Fµ’<Äe<àUØiÛ3ÈÂ{­’ðÓ«·¡”\dÀe!™MÂh9OÁß ´ý:¬1‚±Ô··¬¦©äû”ç’€×4v·¾ ^䆉„…ÛP™#]O´*[ΤxJZҫ˳Pá“H¢P ®‘j.8£Ñ©âÌÕißA$ÿ˜äÑi‚ü¼Øµ[ k©MË›"ûªi’äý#‹`/vЭ t" ÷ÖswaS]`méiÅ.©¥*yD~Ô$ÿïAîI1>_/||½˜¢zßCô³5xPËnXè*˜ x> =€¦%ìóýsn¶NNÙqîiðWͺa±¡ÊN£i*íïÒ,›€ Ô,:©§£Nÿy¾p.Ù öi=xoŽÆÂZ‘/4œ •fÌÙ¹/Zs/ŽÒ—qª`¿J ú (€ç4Ìéx ü:Áè=$2òÆå²¡E›š‘½èîÂèEýFfÏÑÚÖ·ƒE1²óÞG{{šLó¨ÞYÜêf†2%œ³!”-«ñe$APŸ“×Õ{ÃãÖf’ ª)N—±åe`p[Ô{Õ(sd¦BQÚÿ¶1dWîèHÜÞp—‹3]6J»$uW‰×󲇓ܽÑCà CÿvÛsÁR‘zñ8ex$BÛ{º ^_øúü„ôÁ ¹Þô±f8Æ>,+ª±èÁ—‚O¤¯däÉÚ²àî[*MD²7"ÊLH‡‡úÂ×çþóŸÁµ¡´,&Çí‘‹á‘ì¦Â3eÐÜðVªb¦ ;ñPÀ'ÜÊ”iT±çONfÄVp!¥ÞÀ€´¹§›=Å’Õ©nÉ@¶Hé„(%ñ–¦ y—LP Ñ gEpÜFÜÈš÷±Šîªa%v Bá…± á©„-÷ó¦t“l*éÛµšdÿ-×WÍ÷oóЍY¾ßûÙ*‘3J€-ßëE à0_þ®‘®…·Fpq8éèÄþ]9ˆR“xË Ë%w£ÀóAà Bù ÂŒ–¼åJ' ɨd¢ˆ¥3'È<££¯À­”¸ˆÔ€užCQÅq0þÐ hº z¢©âµ8£cßt©·Nv’¥á© vß{Shá°ó‰üëŸx™á6?¾ üýç|~Mü·ÿüÀR݉³}hËy±10cß¼ Ä}!*”–÷Ü–‚±‹™s¹Á|aæœÃ‚\3YßxNåµV}«kt`¤B¶‰bô«I€–¬ ‘›ç¦¨vpnýHhÜö¢î½³HEÀ1phvƒ2XÚ›¬ÝûÜ.Ò¤……æ½2: šbŒ_S³–¼@s¿çß„Á•Ͷh¨êŸÙiMœså&î|iª¥ Iô푸ȉ=QHC.TÁZ±w^oŠÆ¥ê”0ʣñ&!û…÷˜æRÉšòå@vƒÁÅÙzý€vˆôlU)ZÝU$u)iÇhVœ°514ðãÈžLÎÅ+ŒÖ1´ïúWx~}"Â☠˜Ñ銒&m¤*ÏùBko½£wÁß¿ü?è2ü³ Úè8ªc.)‘‘<ø^ù%o´Yu¦BqomG8·YmXF¨c6ñ2ª-™NÅå2IˆÔT³Ç#»z‹\…>$Ióý¹ñm):©:éz6åC¥Î-rtšØ,Ū`ÖÛh¨ 2f£—a9PöJ|¦¨KÐÈlaÁµ”•î®Q ÷”T?yŸ M!HGêé",VΣÕ–µ‰VEâôÒÃ[d/)äÃùÞg=ª~°˜õeéà°X䢴‘™ ê§ó÷Ê¥//+›I²DzYç{ð¬‰9s€µ´ÞлàÃPK5<Æ€™áPÁ]ÂOn‰pâÏÇ1 á÷Ä"T÷‰Ïi@ã„Zƒ: ðÞ€Ÿßï@ã€R͉ÀÏïwôûà¬sžøø|¢ßî8nw¤:Šý›Îƒé;H‚¨ÐL›úƒí9îÈÃn–íPt H÷u¡«!hî}n+EUE¸Àµ.¼HY>“Ž÷Á{Ρ© D¹»2p’'nï”ÌmS„H–H‚KDi2¡•x/º]ó¨‹@öÖb Á²î¾F0=6¤vçZ,æL=ûvåŠQxˆ@ϵ¥ª({ÕÑ:V”r€5QD Ó¥‚Œ@M wKü!SætY2-õ;Á¢ÇÎasclv9¹å—cûµ’­(RFÒŽó*†¸ãˆµÝ"JÛåÁa›ûmdô$ÿ>D!m0[¨@u ¤C}þ‚Ì ‡t¤†à7aÂ'æyž´•\Ö ]Ño4<ÖqðÄÑ>(¨4à÷çÄŠÀã6 ›N-”{#•Çbl±wpc€¨¡f¢Ã¹¸Áív`ôÁÚ$3Œ5|‡›5†E ýè\xqaíKK˜s2RjÇhœÆ8`©ÈgÍ`d´Ò±œ‹×ñKÁ^KÀ3\…-Ï ÁŽÛ#×HÎv´4ªCfYçÆ~Þ&eòG57Ń+©ë2õXž‚h\”¢zcZ§ çš*^HoIßÊëæí}­Éu&Š^>L‘l‹¤ñ±cc—5G>ß^Xk¢f"ž¯/ÌóDWÁ­³³.L›UkA”ѯt@Üx%lë9¼"”y/Ã×ç¾Î‘ðd´{>I¤ö÷ûóà¦ÁT {§s9 ½Ñ°àÖÈÉG”±n çó‰sN p³}¹a4ÒÃ#‡mDh²íPxŠ͜׈@wßÃYªŠûã‘ h"`Ð0À ± ÓÌûíŊʬúµ^8Í1àî´³‰`Ç”²ð”Ñ úØSs¨‹<òˆ Mÿ1F[K(±0»àÇ¡U{´”ˆ0›;^“Ôú¸åqÐIRè¹0‘‚Ç I4òÌ¿µr†0[*^ãrŽ› ³ÅÈõF#éê¼7’=ž–LˆrÍ,ãÉV«¢ê rã¼7X`áfAôÜl %›ä(q-í™ånÆæ Ù ‰ù{sLãÂAÚÒØZx>Ÿx¾^ÉpÐhàèŠq¿A8† ÉÀÇká¯ç‰Á­ N›øø|¦ÎG!­Cûï²µ¬,üÖÙØÓÆÍÇ`}(nƒLR`ÔZ‡¨âë¹ðõš~þø‰}gÛʦ>I!ÞGrðª¸90Ž[Stáð¾h#ƒ“$ .Àqc „컘“›š;TËUô6x_¡0ô $›^r¿ãAE>PU°-ö3#”'nËÙ–R*DPæÓGÃ(ó27¬91hžChkÂDá½qŠOA¥ñ¢¡Ûóœxyà¸?Ð÷x¿/³]Žp‘.t%aæðÏ/@žÊå>_:/T$§¢-{¤‘EZ›&Óµ½¨r³€Ë桤D&‰"ñ$i’-sT¿)]á¥HÕ-QûKÊá>BÎ^'û´,”"8Ü>-ðZ†çó ['Æ`Ôška™ãë\X8Æ ÛmÌ’ÙCX]ñýÖa`QÚ9|w!+“0å6Øñòðç.¿ƒ²)Ó4ú7> ¡>jÎ…__ø|òahx-Ä·Ñp¿Ý8¤ãïtØÇ‡vŒ}  .„l {@aÑÒ˜šED .X R¶u¹üu<âi$àÊŒbž¶<¨ædì…в5ÓÓŒƒ]x£šðÙ´D9•®6åðUˆBq`­Á¢3ízΓ’wËÌt¾&lMÊ×…Ò 9 '¬·Ý‡h­ïêØù‚à…1:T{ª•‡ÔL´6ÐGOªõªC7)òÖ,D¬‹-•Kr"Äû(9ÉÇaTÔ/ö2³„¡†½¨uc†¼´ÕòöÞ{¯Ö{€ú¯çBSà>G£Úôë5ññZáøìÑ:Ü^˜snÕê>¾q!>? 5ä4Х敔‚·Äƒ'$±)ÈÑÙ†€¤A‚ÅM«íaá»CÿüüÀïÏ<ç‰çkt 8:\{,|(p}wUËn9’)m`ô±Åœ¢ŒæŽ9éÄ¡–MÂýû”¯®JNŸà.0ZZÁ(+ÕÀ„^›“”dS$U^šQÐ"}ü‚Q´¢šºs¦ÜÊ%Q7 µ•ݨô=ÿN›Î·F“¼åˆ¦<ëB çÉgžÉ¡JõÂépkw,7&k¯#̸Ôú ô^6Í`¬[_ EV-±Ã“Ç‹Ê ±ÿ'»îÉ‘‰$‚Pt§'–à’¿—C‘ÍǪkóEu7f‹þ©ÍÁ/ì “ŸÓÝÑÿÛ_/ÜÅ|çb¸0Zàvªx~Møt|œ> 8Mpž†Ï¯',¨‰j½Ã>>OšKB Ø´mzX%l‘ÅH‡/F禺Ì@uF†ƒ›føýùýú À1ßn7´Þñ2Úˆj‡£l"º`´cÏD·dl¦ñó)€X‹Ÿ×)S™9ObÒ1@-P¥ëR'×l@ ÷$bÞíšo”þ¯dÄÔœ¼GA‰’e³Pfƒl¡‹`ž'þúÏá÷ëD7Ü¿=ðãÇ7×J9;‹nn v¸YTÛ\øøõ+7ˆ!¤aÜ··£ã¶î¹Î,“éD4Îs’J6ÇyNnæšø|¾¨uRÏì+)z9^ù¾u<^xlƒ…Z¼¹ð9^KV ÂYi|]+"#À€0B IDAT@¹oh «ø\‹_ß‚HAˆýžûgЬvôÿöë…Ç‘ªÙ‡bÍtà Ÿ¿'ܯs¢aá¸5´à9 ªƒN‹]ÏPAwÁù5ñ·äÛ]ϵg’§pøJYiΰ[/n(ZïÐv§µKJ8°>YüsÇß¾?ðóñ€Šà•2z‘–£ª€8ùˆy‚Ž! söÙã‚lVF6ÍüÖ°pßì`ƈÈ¿nìnj! Ô ã¸ Î¼•ãµÌ,ìñQí+é0éx›/¬p¼¾žx½¾è±%†Ïߟp3|{¸Ê žŠ"O§A_˜y •ö†Ûœé”b|¿•;htöJÛÁQåu0àÍå8'þ^§ãëuâóë‰ÏçIÉÐ:êÈÔØíH£ á=ÝõE¤çñ[¦hZ”~­Ew!‰šHä­KE·¼-úêéäFÛ9*볂Qµq¤‚Rfž~ÿö@Wòû9!ó‰&†£Ut OƒãËs)<:õV¹B"ø:sÜ^¼ðÖó¸ŽÖé;dxž3Åz¥š5„1³Td™ÓFck]îï£ý8p‹oXkáÛãîGO|˜î´Ð©¢Ä弡’ð/ÍÍ/IŽÀ¶Í‡k’éY^ñ/i¾,’›²çÑ•Ýüç¹vôÜÓpJê¶- <Ò½uÜFÏl?¥sÈPÅM;>Â8× QÅßq3à¯Oœ§cù‚6EïGfþ+"GvÂ_gf™kÕp•ãv4´ãž7T5ÄÊYwB“qÔêy5sR:ðú#¨^MÖReôhD#…Ö®}„ë8pÙÁA´¬@SZô}°»9Ô•ÍÐ:…‚€`li‚n+ù/ <-p¦£ P3À\jˆ ÇQä(©´FtHtÄ;yMòRlØ%ÐÌhn†d@²òb¶éy¾yG¿µ´áq4$ìѾSjÑP½¨nû—ê¶Vs à÷^i 8M¸Ùâ‚»PV!£ç'º~>nP~¿^€öÌLìtkp#a½0_Ÿp: ‡©Óì„Õ½èÁ¸znìL¶í@ù¾àa¸ßïx|ÿÇ·èÇ{–ÇQ;»ÜËïq¹=ªÂÝ0ºàÞîÍ1Ä·Æ „Ñs^=d+™+CjºÌÐ'Y÷ÂTm¸ÝïøiaN&²K@m&ÕN—ú6h•ùtgõ “"$¤rBeŠªMäm&5¿™ßÏe`ÅÎ(fƒ[êmà )ßïÿåÇ@‡Ï§¤´Î /[w•ß&øšyÈYbTbN¤Ò¡ï8ò‚ôb$#sñ©pN FÉåÉ6Lè*&"J®EÕ§0ɦi8FW<_ SÊC—\yÕž8œSgž:0þç’‡µ‹ä»Äq¤³95"ɘñ¿Ê.æ†õzbÎ'ºsã†çÉf1x¨*Ø|a~ýB¬æ4Ìó >àç÷o¸ßn›IQ$³æ4A˜“ÓŠ³¢°7ÆŸøöýo8Ž*º˜1 H dñg<ùÌ…ðhð<×;öFäºrd³Íd÷Ö\dŧ -Òe&ûWªô#]Ú-ðz(©yØJl>ÛÖÉfIkÉF]ôö;ò–¶d$âqŠ‹ºÊù™*6 ²¢úkµ­ÂöëÙ[j)N ‹Ox8Î׉srÜt¾Èg〠E¾–ã¹gðñIëÄÌùâ59Ûqa:)^óº2¹nv]öVîªC½d%Ør†êx2IM9^K'CWÅmÇšž}ö%Ö–r;¦S’Ñ=ص)AIŠ5?£"ÏÅp\Ò ŒÐËkþø˜a$+byžæó ›‹NƒlN¬µðù|1ãrzô¾¦áã\xåf]Y„;î­£ÚP¼¿ôªRô1v•ÙÞ o@J~‹eWJcš"•×,ækbY¤–˳ËnøüüÄ9n÷;ŽY­HU07\NÖÅe" kžvÞi¦!-7Ñq¤3|©V5ÞŸá¼ÞÁ4rS\…yäû–À1×ä® å*ÀQCNõ>µf¯¯÷ÿûÿùO² ¬N£.ÐQÂRËâ¡û¦× VÁÆÑËÆñÒj]¿º \ã';T%§÷ÿœPËYfdn‘˜>¾€•El˜`æ\Âòà€Qömª?HŽh ¨ëœ1¸>ƒ#’1ɳT9Üm¹“:Ç‚U¶^§áõúd}"Šãö`_2¥Kƒw¨:î¯Ï øýZø8y¯êHÁtàË—ŽåÔkµ¡¸õ <ÂÙÎÔh)f+ﻢûFŒåÈR=…º·Ô˜ÀiÕ(ãuÌÀ²êj;æœ8Íá¢8³aÜrsÆÛ”¼—ÚɈ}ûöÀÇÇ'þñëûïøÑFž@«y|3̤wu/Òú_.3/”GõÖÿ÷Å}-Ÿ:ãòb¥Šd(/€(%×ïÕëžn* –£æw§m˜–¿—ºwÖ¿m¼1ŒøžM+Jûþ9áÚŽ+£p êÏÔIHEy‹$“Q*Ô:­IÌHÇñ=³x³ÊV,™(ÙºØ=V¹Í—÷MMˆ%T—þ“8––Aª¥ʈœLØùüÄœ“P+€~Ü¡­¡7.䵘QU Õè˜+ðù:™Í h£ñ4#m€t gµçœ˜óDï•»¹9TìÎ9±æ‹þb½owȦE:Hƒ -ù<ÊÞ4¢fbh^WEdgTÖÞqc÷­«¶L6E«Ø#Áú)ÿ㯬høšŠi‚áÇíæ14éxò@ËðüúÄùú$Ð{Cïƒldp µdKBÂâ;ƒ$®½ÐФV™7d ®~KÅòÞr0r‘„—²8öP¤Ô8ÁêÔÏ®ó<ö¬2Å…É©^Š^j¨P`}àVEUäX\Îë dÏDÓ'–0À&i¶è˜q-Xp¿cI*4Y3pQ½íüýC©ô”kðžLRv±RQ ™X,–±3n7âªåµq6~¾X(ss,*L¡ø>D¿!’ÆÔÂÈH=7·=‡ÀÊÓ “:]WZO;W¨”>I !@È÷EšªÀeO 9ýWÏU”F+ i1Z=žŠÌEýÕZuÈ÷Ÿ?à:0³¸7hf® T岃£Îç¿þñO|}þ…Öãèh}hX.€4ÂÌûý:.ƒa«êb#—‚Ï×ûdLÜχל¢ÖÂú;hùxz&áí{ä!‡[¼‚-S\qÿíå ð¢Ýd×)ƒOqߍР¤¸0®œ‹Ò³è”Œxª§:N@5MŠÅ 16N­TœȾQ¬Fæ ©BFÑ –I96ÒÅÑÑ"ÀšLwÀpc ö:©Ê>>¾Xg4ÊhZ¸Ç7ôÞëÎB•Z5ýv':¸)xZñøÔTa´=ÊÀ9À$õôuCqñþt­›@—¡Âø‘z¤lOFdÁ­°ÊΕ‰wÝ)ÀíF*?jãØ„À¶–N¤NÈbÄ73Øœøúøçóçù„š#¢£Í‰í:…î“ÑQXD›îZ™,ö¿ú1‘xËÄ!è¶M³*½ðó›}±‚²z±|„%Úª×É(+Ž],ã@8’XÞÒ€­ÕÜv]¢Z©õz× '"±n¥î¼úøüÂZ }¸?n¯Ú傃õ¹áuóî¹ ì¼ÑE$bCµpޝV§6ò3žçDÄÜÒÏùh@fø|M„*¾?¾ãñøí´HíÚ¹À…½ MÑõ€ÔqÑ;³rNIDÔØéÊᡌžQÁì,Éàg†óub®IÏ[ÕÜ€žg(òy{ÁæT³ °³6µZSuÙäSÅŠ‘oV( L°æ‰i+—~½H©üZ6'Ì&ÊöÅ-`+JùÌ8x234E‹¸’9Wjf¦w×CÕ@¤êább® RåAŸ~ÃAt =ñ¯Í…쀔L.´Í.Ô ¿®9‚FYFZë(v³ÉãÊNiª°«…y)OˆG‡Dý#ƒ¹ópËsN²Ü}€Ø7*jË×ÊÊ(cÉ×Mb"N/%òJHÕ•çY¸äÆÈ úùñ‰eŽ>:FöŒÜÚÒ?Ño7Ü#™?¿^”HûÛÂc±NXèÙkÉHïY7…c͉¯¯'žçíøþø±]ñcßË\XóÄÇÇoœç ¢‚q ô6ÐÇÁAªHªyÛÎ *y<Ä99ˆfî m8þ’ŽÍÏWN5‘.ôÛy©.htŽá=mìÛ²ƒsC R8ÆÀãñÀíÙwÉ¢oHU\vO)†­¡¼¶åÞr5¡û¯Ï/žu‘æÎHY‹›·,QYÙq® §¹ "ˆÍdgþlÆ$ÀBXâ×ü´M§A ‹O÷ûÀ·Û áÀ×¹ðœ'Ö2ô8z]HÆOw¨*÷û.Ò®5p_ù¹Þ$¹p*‹ñ¤¦¼â ”‰»Ó!çEÖ445hë裣uÅ\œªÌ5ŽËl.R¾Ý[ÃM½˜%“ðrà ™Ìi5ÊÖ/_¯ ]ý‡¯¯/¼Î/Ì5¹ùÏæ³Áí~ iËLËß_sá_ÿùO|>9*|<@êàPä„aJ@êžH83«˜>ÿú…çç'7FÜî„6´¬›¨ c½án¾þ,©Üb¹‰º ¨ Rct¬µÒ8[pÜÓ²Vm©©Ò½Ì©TÐ]¤3Û•Œ¼ž†¯U”qáiÿš†fé”PPã‚}oŠæynü zU. k‹,­HŠ/{™ÆQøÖùõÊ·Ñp»Ýàf˜“NÀ¡Š›æqXM°ÆàЋqÄt¼™+RŸS*—mý¾§÷’Tª­Èr•I]ÓWöŸ/Rä©nmB Ë×××î×,7œ/Öý{DÕpQ˜¾ŒîõÇ@×£KÖ k9tоiϳ7JÊ‘MJÕ ŒÑ·„'ÕšÇY¤áÛ< e¸òù™<ðõû!5Âð4}Ϊ!(ªì›øõ’E|xz œˆ04ç¶ _¯À±äqƒ¤—òæx*£P.ôýûí`ç·"Bí ÁžƒØs Uì0RIvIYWT¸ò0Ì:µ‡ÎŒ8ŸŸøë¯_øýûÇ1ðû÷±‰”¸^Ï'l¾ð:OœÈý;Úñ ¢€ÍìhÎ l‚G%WáTéUË ØŠwØ•™l-NÊ… (T:ÇV§ãùZøõ×/üøñÀíø‰y>±æ cÜ úÀ8nh} ¤¥^H)d4Zi6T߇'Ù–Íe¦>Fæø3ÃÖ÷~ÿú…üë¦ Žûß¿QÄÐÞУ³18 ¢ÛãŽoßìB÷#ûìÞ‡}t|ÿþØægç\x½&æ ÈËRU øùóz/O­R&%Šò㎡ðµ˜-#Í&=Ò£7ÿ¯`Íù|áuNx`×e <÷{uÎw*!„nm[ꥰߧªOî§&ú‚À1:½uU¨"¿êlX©‹ËÀº»õÍOGäUΈ—,˜ ¼DX˱$‰7Œ‰Ë“5oá~ÀtÏ[°µðõ\x-Àuà´À?ÿõ ±3u¯'¥ÐÏ'O˜Bo8 ø™ÑøLm ¿À´žé’…™gç¸h¶%ŸÂˆ“E¶#±jäDä|>­czʦ‹0ÇÇד版ãv{àû·o·h ®g¶K2ƒ«#‹¬w`³…•Y7wõÞ©Õ3bIAøëõ‚‡£Æ1RaK\~{ÜÑGÇóù³…~»ãû·ï8n7fíI„Påì­E5á5ÒŽ9÷ûýΈ.²JöŽÖîªÇ`ÝFûª2=­šê,óëÐ7Ž7ŸçÄK¨^vw¼^'ÎóÜÄ–Ù¨ŽÉÞ³ô™ìý–5h"‰ Áv`¬Ÿ¢*Z€lìÉ2íkÝyÐh?úåãäAéDY®xÞì±Åb,ß8ª¯ ŽŠÎ¹ "Ê®èŠ ™MÚí†Þ ¿¿^À|¢ÇÂq__'^çÂ××Ä< PÅ4Ü¿ÿ€´#¥ñ|`*²¥"”ÍóX‚bWb\¸qÖbýœÄ£Çí éÛšˆõÄÅ¢£ Piè-ðíqçüÊqÃ·Ç ·ƒÓ„ EM}Gµ]$‚÷· ©áHGs³ìZCáFÆÍVSF"CDÐŽ?33ižÁ¸xëTR ö,¼Yàõš„x ã¾£#0ÆÀ÷? J"¤%¥¬­'sÕ.È `ÛV‘ËÔ ÑÁyÿ\<å7Rä™&âÕ¯“¬Pï8¤cŸ¦%ÕÜ¥[Š í?ßGŒ¾°‚£5Ò‰Öa&XË Ðè=ðã~àv(Žc•¸ãõõÉA®q@ûÚ¥EJ@Ê{Qm›œ/9Í`3ÏvG൯—cNŠäÆsÛÛ #{%µPì®?RÆLȊߟŸ¤,!´CjGï<ðÅ-' Z¤òAé`ˆýù«éÉì/ššWã1¶Ðt.Ü'={Ó˜N®Ïÿ’¬1[œÓî¤a‘CUx0jBd2‰~ÕƒÖfˆ1öb®‘€òÈÝÔ~\úø·-´û\EEnx3Ìç‰çÇúÿø÷|<>¾:)Ø@Î_ä-òÚW¦xߣœU¾ÞUsd½xû¢XÙ‰®3å’nEqú‘LLªn{vj{ åøK¶4èt"Âs¹§QŽN­X£íÎzíÆ_?ÇAͨRóí0¸ë£~'cy.Èéèîø&°Sò^Æ9©i8Ï“n5æ´G½­aMŽèBh–‘ÓÁ©Àܨ¬Åža%£ªåæí¨Ÿ_ŸðÇí~Ãã‘ÞeU'—Žj˘rKä†vV wœ¯'ίO©P‘U8½•®N3öŽ®óËy3—Ã9Ù­•M;Q: D€ŒÊäÀ ”&\waÇý3¨Es}4¬SaËÐ[ÇòÀsòlã8p;èön°sâ“S<Ð~dW˜úže<éê<æk (r™“­Ñk>…ÄÞ0z`&Ä ´ ûŠᥠdÆ|7gœ b´>²Ë“usЦ)vïª)!U3Iä"ðµ`ç sMˆFƉF*­«Û@žrL<ŵF…'¡ æó…Ï_ažçÿîÿç|Íÿ«?Ïö¿d~þ_#üc³=G\³æìr o'7<œu k5ü¦„DïsRzjÑu³.JÀº’|sß ‚ ä9†Æ'òe‘óÂ_SÀ²5;´àõbYqO9©ŠM»>ª|“¨5…÷;ý„oò=@s›n/GC³¡î]ÄÁêfK™4¢mÖbµ«×'RUS UÇü™áOs.7]ºóž]Ñ¿øä箾ÀÍoüÙgìXnlH^.Þ€šµ{ Ea…nŒ ±A!`æ¼¢öFh.;«ÈQ%—LiUõ® £1Úí#:Y{QR'0b–j" S»FEár+ +€q9bïž ½5:V#ÑA\ÆÆæ€ûîÙ‹`¶Öavœv„¸ë‚Ô!!-ˆz챂ÛúÙ ³Ù( ŽrÇ\2ækkÌH9Ã-8`\ácbÍyª¡ï¾ wò÷.0Ùûe)–Cú½˜$‚‰VAyóµU,Ë9éä¸ʨå+l¤(i²ƒÈ ù¨š,5}"8ª_‹>O â`&¤Ê¯a$Vˆ|^ ¦3 ÷TT?—;ÀfP:¥>h#{gºÀ³ö‰;n‡mÕ‰¿•j†¢· Ãk¾2åöZ{}šD¶1áÆ/þí-(|…þÁÕ;þþ¾3;¿VjùBŒ<†ÏrCÆ 1.p¾7¤eZ·–ª¢ezöª¢ j6xšôøkw¢Áù80˵êûÈçˆðí‹¶ïÜõHöû# øÍŸÖ©ÎÁ+DäMömãk1çc~Z¡es™–gëUÇSFtnRÆh}s1ë´£‰ è&ó«½¥aVHÆN³S£ÔjÃÄjv`66l. 6A2Æ[Ýl0c¾¦âÔEÛt˜Ïûög]×jÂ8.Ñ…`0ÕgñŽ,qE "G™ª ã”Vgz³`Ú´vªšÈœlŒ•Ž_Œ>…/:í¶z"Dnr;µè{:Á—òr¦zni°oy‚ãê4ܨÓ? OŒÚÔy*™Z#ÅK«ѩH†§VúÙO]ª) É\±llÌÜ…éà0(ÔÿIÌŸeæK/¼ôÆ]tŸÛÓß·õ/æ)þ1¿œÿÎý£9HqçºÊˆ¿sÔ"ůT•],ØØT^A¨”‚Øéd;öU‚æò¦_³Ý\‰©2øNý4xRRˆvJÀb,²B8ÒXÌj زu«*]*XÍgzƒr¬·ŽŽËaa9²µœE•Yî•íºW~’ë~ð"sJ5ÚtŽ}ÕbXùMäýQøèØ‹uÍÁ½5yþþHë$Z*¢GOmàÒNÙ°ÚÛf¨mûõâðpYmÃØK ©¶òCƒ,xª` v{ͤò¦ÙÌ?­³FÚÊõÜÓÆÒªOãL´ãÂËv,÷uïspøzó¿|ö)"rör_!çv1ê%g^ƒ+€CÉÙ: "úbR.ØÜ\`s±°M%óó0.Àl­C7×;˜4MKgíäpÂL›½þ¯u‡˜4x­©P³˜c*Æ‚e, ûu :•Ô‚<&Ìf³™*•sPûfý{’ªjôl">ÖƒWˆÊʃ6Ø ]­?X Vªo…p©M— æ7ao¬Iˆ °í–§HÞâõTFVNr»ñª¬ªwˆ] ܳÏÎoÿLawšÃW¤Œï>êáR³‰Z]*þG¿ÚæqÒ.öóý{<õhb­Eäây2¥ÃV{Jgo œÀ¦å„zj¿‡V©ëí%>Í¯è£ f“Õh,°kµf„§dúýµ+ÙaæµÚÊÉÚ¦öÊì”? ßÇ>ûg—ßøÕoßzï÷÷}GOëQ\}Óõë;ï¾û¬ŸxÜuþo­õng{¤Ù8c¥¸¬Jä_,–ؽg/6KÔ\šov5A7ï0[ï{M¬ŽO¥¢šC“*JLÉ.sð£©& 1­¥š’ꇠƒÂYßµº!µFŽægÁìšMÚ]rgÙÅrHѯ"VTŠ;àÚì‡4=¨f¦8ofB7jõ€ñ× Þ sü°·$ÀÔlþ‚NÅÕ7[É6ñôsJKÉütö4EdJ’í±ßp)@w8@+ðZ*•”×»¹\bHZÀ‡Èè» B_¤ýú~Þ㸭kXß²†ù|f™` ݄ոÞ!›dûiìƒ"/¥ ú¾Dy¦ÔFw^¶ AõVS X–¥¾h ¸Iý¢–lšKúóܰúß[ÙÚo•wKµÂ˜`ÿž²x<ù)kƒ;MlK{PBïA,ÿ×zÊùý†iQÕ"Z;Þ³3mïz[]¬f)íprh9 ‹%l@ç8¹*‚!Íoõ3¸ ¦'‚³õVÚØ‘ñ%ýõß~gîc_ºæx°õú—>ý)µÖ·ˆÈ¯ƒ0ó6d)¥ÄÙ4„‚.tÌ'(Y”÷»v;ù½ZWÂ'©50A öT±"ÛdŽô´7ÛÚ¯¥,ÇÜjÜt ™riÒ"Àcê ¡Ã˜…Ù~ÅÐaGÔ’1ïÕ²¸ŽJUEˆè×·¬¥ÎÈRPsF´Áà°‹m]ÂS#Âj´~ÖÔ:­~¶Û\Ã[EÞ²:ÆOv@)£¨¦¼‚°·÷? ô¡üÔžæL¼RÃxÓ ÐâJ…]°e­Cç‚~UÃH3:wZ§Ÿ búVl'yJÆdŸØå4%Ûc4Ý&&HœK5¨$!ZwFLNlʵ˜‹08ö(P$"U U͇—›#öîÙ ’É 9ú\ækØrâIÖVï=BE.#jÍŠ †«Â‡#oƒÁ);-ýk sº§kÔòýÂo†Z€Èn\¢ù¾PÐÍGSÓ€- jiWë„YÁ|ÉO4$lÍi0ë[·ÌÐâíeµÀ#R×®= l,FåU8aÌÔâ[©è§"è#àx9}í¢ÿó;xpøzýKÎxŠˆ<'çzŽ~kºbM"Åe8áï™hX•VˆzîïiÓqÕ ðÖeJz¢ ]íÃÔÇ,U@±Ó ¡uHJ-¦µdHaë®pÆéPÁH•Q a¹q×÷bccÄ@?ë Ę­mÁ–O„°òGTý’ô¦Hu’äo…¸.W‚wû¯¦VBlHÜifï^+n«Ë  -sƒ³¢ˆ¦¨M°Û?FÃVAVQÕ÷oàQz®”‚q±@× ~äxµ£#{äâŒË{ön`零1C×£ëç¡üg´Î}„8üág/»þÖý¿3ð:hÁáë—_ü'ƒp6½€ˆ~Ûý(´µê=B4}«qµp³µëLn«yª¦ÕR¶ ’³ÞÕ’æh4Y7®/E:0º`Yà sv€d ¨¹€H½Ñ…) ÆT°±g{ö.@ÑÍ×Tj2tÝLÕK„@1hq´CÆ$Èi )#H }`t®Ť©&¨à´ÓªfçÖýòÎNë|yªS”Ì…ÀÚ¬•ÔDo¦Ð6=‰“´&e¼i`¸ZL臒5]LËDFœpü¿eц«ªh)()acc›‹RUG\UŽ·¸ȇØà+—lßqPcz7Áú·?sÆÉ¼ ‚ßv6˜_̬) RÖÀ¨Y ʹå¦ÓMc¹1™…ò0øgØxþ¸1!©*A†Ù©š6Äd=‘ɇ`ö¼(¨¿Ÿãy8(l;ÕjuTU³û*ê­>[ƒ€± ƒJˆ 14U¬ÙÚÓeDÕ6:É`Ɉ–ŸÃ’±ëÐG5õ(UIC–Y7Jç]RÖ”20â¬G×uà&"gÁn'³Þ beÝ4"®òs°òïéß‹è£ÔŒ<ŽÈã€Y±õøã0ŸÍÑ÷=À8 – ,ª%̱3d‚ÊŽ €*øC©r€+>{‚Â×~íV=’õ›ïþþ³NýÑë ¸¢ˆÜNÄ?Õ &F¿ö9‘é Yë¶ZÎëøb¨–‘”²âü4À¦êZ SSrƒŒVÚ§.èà…¿Ôj ¸•*ÙÉÝE=í;?õ¥  #XÊôÀ°Â¸ JÊÓ0µ8´DªSvÔÚº`Á ób¸±ºÒuªu÷‚xGk°Y×~×|à#>­Ü@6‰oi·¡ÿÀá!"†#iE;AŲ›ü-Óºp¹0&;DXíó´M@Dà£DØvÑ—v\ñí[ïÝ}À6àÃX‡ìæX]çþôéOf¦Ÿ È[@ÍùÀEMsR10"Çÿk‡+6¥íLŒ4Žºáiê•Çuðf2û9« ˜b„¨åù"S7¬ÚTÖÛ!ÞXÀf%Ï„ÎN쬷J*Eu³bg²¦lFœ„±¥2ˤ’F1"W‡Â²¼”7̼Càˆ®Ÿ UOaÂP R£¼òýNþj0î\ Bgž{1˜Å5$|fml¨*¾!- WçRú¢µâauiãOë:\˜‹ÉsÕ >Üf^Õ Ed@UV.É0‡\xÙ·¤m÷ë°_oxéSŸ ¢0Ñsˆð6™'žH%+¹ŠB”‹Éó´v(¡Y h&ï¬nО³M(EUÕEOhd×e‚ÒSKµ\;¶î™f­€1&¥üRè°Ìê`Åd¸H›`R¤ól¾†¾›£VÅ­€EÎs†£¡U~ŠËÀæ ½Bm‚ 0cæÈhßÌîYHnvcó÷ꦙ“èík7«Xガ@w0£¢¬X•^ ®bªµ^MD—_´}×aÀa¾ÞôsO€·Šàm¥8:Óê¨94 ÈZ+ú^ƒ#ØŒDtª¿ê8.FjºÄ¬tß"*rNVdRÓiÝ»¹ 7tg»A3±W•ÇoÊç~óAa)+Ý8D¥‰ŠQGS)Q‰‘‹Êâäå”a€“ÃæëëˆÜ¸Q»e{–›)éÉ@dƒ’4¿p…Õë\¸kÅó$=ºòÑÓäî›ß; z÷­¦Wv MæE1‹ª7Y,«vd‡ñŸcì¾ND—^xé·Ð µëÕ¶®ºéÎÝÏ9ýq׸ºÔz3 Ïgc3vçöÇ™ˆ =± ²¥^vðM$Ëó½¥é2DnþBD3]ÉYo bÁFf’2åÙ§pçÜûéÊb"~yN¯JÚ©rBG@.À¤rÁëþjA¬Óô”CÅ2U+·X+Õõ@Œ¯Úy:cb><EOK-Šœ2çXíMÁâÿöº|j®/ËÅ$&ôoÉNпii«Þh_ÑGú¯}içöoÝrÏž»›ö}–Áh€\uÓ×>ó”¯Ó5]wxþÒÁY‡†æŒ4T®žàŒRÕ.8§ÀD€éC¶€r!ˆ½¾¹JYu¿²ô‰\:-P@>eן_ÛÏõƒ§ö©«y©À¤ÌÆTË*XKÛ¡ž² cÂÜHÔþ f"I£àŽC«Ÿ¼]Ý™|>È^W“µY†Ÿ.„Õ Ð{U“¤’°Ÿãï¸~ñAð…‹¿¼ë®ýºaÀ:lƒÃ×7n¾w÷7vÞóͳŸöc×åT¾7¦|‚ˆ<Ð6›È_ûD+~vUÚQ-Í»ÙúúÌÞúÌ 2­úµQˉBŠŒê! ‹]› º]Ô¶“Ú“M7ªv¡LV+(u¶@y`ÜÔø(»Ñê$'•l^z̈Qoš`&œŸ¨+S bÍÌ“ ià4äÕ! ÏOìîÑ×\EÛÑV€¸r¥x_W„3S+\ðA}Š˜þÇg·ßü­ëo»o8(›çQ®Ã²æøAë5/8uk­õٵʿ¢ßÑɵ ¦ªžº1vÊÙ¶‰¯n\™€|‚vÅ dXŠr&‚ñ/8ú¾7ñÁ˜2|è"CDsû>vÆgŸÚ¼t–Ђ} Øé Å75#Q¦vú 1jÊ c!EëNƒ1§jÊ•ÔcpsP*ûún¦'´Ýz`ˆM­7Q‡f³ˆÙ¼·;ŒQaª•UPÊØšÁÞ¯–‚Ù`¤©•À›ŒæääP#´1áRä:ùß—|å–;înyôë‡*8|½úyOþG½”Bxz áíÌ„a¹ÔYPÝZWCq&šuÒj÷Û’s®#bäÖÿ¦”RRB@ÕÂ!*pèØUVOPÀ|ô¨ÍO¼f©V¬–‚†JoBJ }§’¡Ù´z5ý#•°´.›:~*)G0Gä"Êq'nˆWHŰ¹y±¡œ•õ™ÁG€µÆ–K*ºè0ù•çi·²Ðtk¡Ö©m[ëÊ`V@„øèÅÛoþ¡ _?”Ááë5çœþfþYfœ™Æôvåÿ¿®¾ý{‡èã? ëˆ _oü¹Ÿü1¼\DNpž{e;cn•Mçä"…—T»”DT›V®J¬ F¼)¶ic p·-+ îR :S.0u‡Ãˆ9Qãžh‹8Ú[ózO󪆈 š_D€zÚM—M†Ôj*ÕŸó–®ѮҢZ=DÜÚ:A6˜ËXa~ähV*Z "Õ÷3á#õÍïþýÁý”Î:â‚Ãׯþóg<^D^QJþñZëy9+lÄ•ñ”×Ímþá$)2p^ÉÉl1œkEç…¶–§61zP™!@0ëûv;¹_G+¨Y>aRÜ™ôL„õ±Ùt±rJ¨P7$4(T±oÖžWÁ ÒØj/Љèk‰†Yk\qCùjÛÚj0R²¨@…¦aYoÍß#©»ù‹/_wdp‡¯_yÉÓWJykJù¼`s ‚JÔç äbÐãûp,§ÜNU!×Àb"Fw!­˜õ½úm´T+¨]«®nIcNmÖ21M-ÞÚ¾®E¨¢t¥Á3jUÖbà€dÒÿÚE³Ö©PEÐ…h-`T69"U[¬ˆ¬ë“ë’³}­ÀÊR”ºªxR¸ †,ïÛX ß‘Z/þÊ ß»ó| qöCÀG»¾¾ó®3Ÿ¸õZípm­òBÇZeÕÖ¡á9`ma4ö„'E¥Öúàk‚×»^.޳°9‰‘–ìï¢¹ß , ÄèE85ˆ‹žôÁkÅÌM]ðAÛ­i7RïçoÑÉoOLvi®ƒ¥Sp$3}<0ÿIè3_üú­—ß~÷ÆæAùðñ:âoŽÕõ‹Ï?å±Dô¯˜ùÉ¥Ê;ˆÕmÖ=¿ÁÉü ›)ŠÙh¢]PÃNŸY¸¡¨ˆ˜Ê¸LÚO"6XP‹‰!k‡)[]¢ˆrÇQªÙ Û¤Ý9öD¤ÿ@òÙLd³N® JV0"l%—‰›«» <ÕDŸ]W6†i;¨ePEÞЧ‰ù¶‹®¸erW= ÖQ¾~ñ§=†ˆþuøI yGÎYg¶Y¼³åÖ\L¬€Ô™"ÚnUýO=­«‡~KjE=vJѽQ vÆQ÷3)‡¯ä‚BdŒGç»ë)ÙNøœ3:C@T@!É´´˜Í‹±*,ßo«òõf Ö\ÈvMšR9Ž&x/˜ÿÀŸm»â;wÜOèðXGepøú7/:ý1"òÖ*ò²î`Hß`tDˆ¿ªõ ·}¹êx±®·l5@RÊæ+èÝ*Û¢"ƒl,—Ks²UKƒår™]A`JF6Ó7wñÇžu=ÀÚÅ*Yƒ£Mæ¡ßSt¥Ý8ú9Ò¸ë”yè:^ŽMcÂ{¸ÀŸn»ò¶{ÒGqX®#¾æx°õ]÷l>㔓¾¢[‰ø":‡[ZB-ï&«-¼ËUÅÒŸg´¤–ÊeubPí+²–±×ˆôº X¡~ÑsÑ•· Œ‡±ŽÇ#X¯|Þ“¶èw˜è°9ˆ $>ln.U5d6W–_-È%ÿ! Bk2ŽHo~åÃrÀr ¨ubõ 黨V €HóÄ1tȹš³-ì½¾»V|À§/¾ò;‡­˜ÁḎÇ#\¿ðOOÙ àrBü.ÅciÑsÁ˜'°`öËnHãîL­+jô1 šJJÕâMEç´}KLpY!´à¨UmˆŸÃh1»€Ã]à=>µíË·ì=èoÔ°ŽÇ>®×¼ð”㼉@[™ù]%FqèKQH»™k:L«Ñfë$uÚ$çlzõ´GÊÙøÚ2NŠÞ$ÔŒì«5 |²]Š¢nCàwÑ?wÕÿ9rÖ±àx”ëuçœv€ß€Ôã†!½k6›#—lÞ! ‘± †¥M°YۺРÍÑ=)¤Ù²µžÕ2†T £(w¼Xj™Ý]é‚,² à¾pÍ÷Ž pà\Ç‚c?­W?÷‰ëDt^?›½«”l³ åH¬Íç€ÍÍM³žæXL¹b¶¶†Z&¤1!vZè«\\qVu°£©ºÛ U.()/|ìâ¯ÞvÔO¶÷×:ûq½îœÓÖüVJy=•ò.QB¡ÚCF.Y½ÕkE`VÁl>È〔’iO¹1$ û¤Ëu‚‰ ¹ÖÅ®û.€_xéMÇfûy ް^ýS'¯xK©uŽBçC€]‘ÓˆårPèz`¼ ´aIDAT³u³[d›€[ŒQ‹A'î ,Ô€©èûxˆ>àÎm_Ú%?øÙ[ûºŽÇ\¯|îSæþCÍåñ¡£7Ç)›”?b í&dSR7*Ò.Wý|†R2†Aíœ9ð¥äÀ‡>Õã!~‰Gô:x½ì™'fzl×Çß‘óÝO9ܼÊcˆ˜Á§É––›ªªÔß-"À?÷µÛÓ¡~]GÃÚ§à8÷§Oü÷KoܯOæH^¯ø'Oè¼=†Øä|1ŽÈ˜tÞ8€ÐÛŒ£äŠq¬¨R°¶6»€ï½äk·çCý:ަµÏÁ!ª¢¼„mÛwËyæzÕóžÔ8O*"Ÿ¯7G5î0‹)eä\1 ù‚”Çà÷¾xýGEõpXûœV½öœÓIŽÇ>¯W}rp>ç“a³rÎ`øÝœE¼÷/®¾­>Ôc[fý?  z?ô›{¾IEND®B`‚pioneers-15.5/client/gtk/data/themes/Iceland/theme.cfg0000644000175000017500000000116211265710144017575 00000000000000scaling = always hill-tile = hill_brick.png field-tile = field_grain.png none #d0d0d0 none #303030 #ffffff mountain-tile = mountain_ore.png none #d0d0d0 none #303030 #ffffff pasture-tile = pasture_wool.png forest-tile = forest_lumber.png none #d0d0d0 none #303030 #ffffff gold-tile = gold.png desert-tile = desert.png sea-tile = sea.png board-tile = board.png chip-bg-color = none chip-fg-color = #202020 chip-bd-color = none chip-hi-bg-color= #c0c0c0 chip-hi-fg-color= #000000 port-bg-color = #3bf3f9 port-fg-color = #000000 port-bd-color = #ffffff robber-fg-color = #f46a0e robber-bd-color = #000000 hex-bd-color = #000000 pioneers-15.5/client/gtk/data/themes/Iceland/sea.png0000644000175000017500000000163111257440734017277 00000000000000‰PNG  IHDRëŠZgAMA† 1è–_PIDATxÚ%лŽEàÿ?§ª»çnvÇÖbcÀÜdK€,‘A‚D@FD€Äcð&ð$$Ž É@9@¾`yíñÌîLO_ªê¾Gø(øÑ$‰±‚Œøð¿ŽnÚTÛòôe0"8VW’@cŽIŠáÚ:¾ßöÏÇ|L¥í½ìáæV(*Šu5œ …Z×ñZí³h¿òýçòhÜì0 ´"(†ÂA7' ”PX•E oÔ˜ë:ì¬ü|ß_·–25Ñ “¸=ˆRùfÔ;Ëú£«ž†¦ ·>}Û—5ŒS‹U‰@ ‡A«›ßãÛÛÓ¯n[–pÉãûTØLòùEå­Óù{gÕÉlÜ_ja2WŽŠˆDÐÉ7?4wo¤ßžô÷þLÏu;¤gíä²\øÐËùn:™6ÕbéN)z宄Âú³{lKÿì1—p,QOãúÄkóÎ{íÒ ŽI»1N4i¸Ü£8AºCÿ`ÃBzí0çÈ,éå†o¢W:[ÀÒxÒÁEF8j=‡z¦Dã^ÜGÏ}ÔÛìmfd•‘‘f2AL$ .CÎ Ý+£ÒÍ­@l( Í,{…°˜u¥Œ€¥ü¼¨¬|>I19Í!DM¬° ‘™h¢UÜ÷erõê é Ãn‡x…>Quö}&↠‘€\+È8"ܾ>ûdí¯.úת‹ïª¦Y¬®.V\Ý‚¤ŸÎÂéjÜwD ‚I(P5ïw›¼ßÉé|þÅÇDø ($½(¼RLˆl±L>ÿ@+ÿ9`Û¦ýP’‰#¤.£SŒ.žM@9ˆ' ©&DÃÉ2õC÷ₜh-§£mۼݛc¦»^8Ôc%sø0æo:ŸÊ;!{ŠuãCÉí^abæ4Ðüm$æprIEND®B`‚pioneers-15.5/client/gtk/data/themes/Iceland/field_grain.png0000644000175000017500000016460407771100213020773 00000000000000‰PNG  IHDRÄæŠÂ*VbKGDÿÿÿ ½§“ pHYs  d_‘tIMEÒ;V.þº IDATxœì½w”mK~×÷©Ú{Ÿ|:ßîÞ /LÔ0²2 "ˆ X²°0kÁ( ¤1Ò(Ì(  – ²ŒcÂ"³´´,–Ä(Ìh›nê{ûÞî>}rÚõó{WÕoïî÷FMxóæíµîísö®ð«_ý¾¿Tµë^»>¥××ý­´€™1AÀòÝÿÍëì§›¶×.0Ÿn>›®·ýíg3àå?¤üg±Ö¾«€ïþ®?ð´|ú¨üì¾^ħàzÛ>ß¾Þ@&νÓ3](¬Ö˜†w‰søöïúƒÏäŸ>ª?;¯×ñI¼¾þG_hoC‘w†R0^@}PEÀšwßú_ñÔk ø^¯â“p½ýG_È€ß ü wbðÑBQ@¤ÄÁÔ!edaÀ`þ‚@¼÷;¿âÉõ§xŸ•×k€ø_oÿß^hS¸G¿W„7Ta ¡7`$N@À„bв +ï³¾û;¿âÖòS6˜ÏÂë5@|‚®·ÿè‹àÏkÚ".Í%JÁö€pºL€ø˜B5dŒy—Àào¿÷÷ß\}*ÆõÙv½ˆ_æõÿû.ðU]qòÍQñ0Á˜ÂEÂÄIY¬(Qµ%BŒÁ‰`ŒÁHYÌ}ÿ xï{ÿŧr¬Ÿ ×k€øe\ßP€áíÞ!¢\ ÊuƒAp…0¨(ƒêB¼¥4ÎñV£À®ü`„ÐR ïæÀ÷¿çËoÌ? ÃU^¯âã¸Þñwïö?î>ðŽÂ­åùŒ1H©á `€+Ë1á~áEœ“`‹S D¤„‚x@ÀÄÉ{—À øßóå7¦ŸB6¼*¯×ñK¸Þñwïn_ ² æÆûýå?ã-UÉ•ÒÎë5@ü"®wþ½{›Àÿ€a[œ|cÁ5 —¾’hvúµaã3L‡`cyãCn.J QfŸJD ÊgE¹ïsøÁïøòk“O&O^­×k€ø×7ýý{›ÀÛDøÆxWÊÒ,øïeìï——Sk&†ÚeKå7%è`0"q¢\Íï|ù>(¢mÑÖäßl0Cà¯~ûï»>þ³äU}½ˆ—¸Þù÷ïmÿ­1f‘oÑ'a«…nc´v÷îŽ_l3Šáq‘ö4E—É]ª ¬)-…ÊñXÁ¨­"Î[¨o΀¿þm¿ïúèÍ£Wãõ j×7ýý»ÛÀØoôîJ¼.ÐôF²LÆgÊÒ"au°èU 0ˆ-(áŸ;"< VHÑU ±Œ/ “ýà{¾í÷^~B˜ô*¾^Dy½ëÿ¼¿üA`_D¾A|\Œ>»^éêºAqdžågQ4pãc )íˆ)e¤È"‰5„"åBEðª|:JÀ”ϼ’²Cë],ã£û-àN€¿ñ­ÿÕÕ³O _×k€þB†¯5ð QÇ»Ry—™ ‰V!¸+&*aïJ˜è QðkŸ>•2 [ÞÆÄö}¦J\™IbP7ˆxa/‚wSZSš$ ô©õrc¾8þÖ·þž+ƒO;?£¯Ïj@¼ë<ܾ —Eä ±x@€×È!f qB%(6Á$”~¾Áø¿T¶#¹ØdÁã±*¸FaGc’ò‰ã¼ûS¼aMoøÕX¾ˆýÔ¿Û?òî/»rúËd嫿ú¬Ä·ü_÷€ß檈üùâ®ß^Îkq¢8…ïbÂ6 '*4º+…°´Æ”Û6 w*ì_’R¸}=NœîÂíGð¿DD{Jƒ¨€»ìÓ—×{´\eŸâÇÅ»ïý–/»ü(ø,Ä»ÿáÑ6ð;€_!ŸúSiQõ_XîP vpiTíŠò‘t‘‘SÃR‚Šz‚]²ŠPa‹w«áå#‘°EDm2ã €¨økònyüwÙ•“—¿¯†ë³ßò?ºü)#ò•Àåà{#f‘¢ÓaãóR›Ç’ÊR6£‚ Q1F™rª”ÁZƒˆ }Jpɪ{áŠÅG‚ 9+oÂb]eôÒ*]efŠr ƘoE¸üÝoþ/ŽQŒ}•]¯z@|Û?z´|™ÃÜ‘·ût¤w9äbõAÐS‚ÂÖ¤ 7Š4§¹ ~Yå¾”­·4e“µ¥Ûµ»¿œsc£›V‘m –$îœÒÑHéV™Š0ñæ¼c¾ÌÏÿü]_zé³*ð~Õâ[ÿñãàw#ò¤Á|½Ö¢Qš$Äúòß—Á$Á’ø¸Àk|å©×Ꙍ‡Ó5ü)ƒcë}ïêPqÍô "Å%*¶&¾P¤ÁdD-š2’WÛ2‰¨m&øÁw}éþã_,ß?Ó¯W% ¾ãŸ|µˆ|})Yµ>@>Ÿ±©£A,K î8µ*½ÐB€‹Áš"íªœ·66¸\~k·ñAŠÏr©zVzk¹xš,ÆÄ,å–ó`™|ýŠ5“`üF5Û%c¿ 1·ð¾t÷Ñ/m&>ó®W ¾ãŸœ\¾xäë}j3UºšCrJãVÓ¨5q  ¦Ø³¤½uÿÒ_ ‘Âç/ª†~üV ºE>Ö®§·L¥¥òcÔ›l%¸fV]Þû~ÞšQÉ>•ý—ëÛ€øM_º{ôñÎÑ+ýzUâ=ÿôô ð»^'ÈŸ+îF?ÛÇÊgA{¢2MµŒœ‘[ã\Õ… H VÆ7 ²UA›W3S•LUèWÆ/V)Ü g"ø ~íDÝ“HZxë@»ˆ>S¥¹¡÷œ˜€Üàfc¾Ì÷¿óK¶_• øŒÄ{þééUà‹AÞ€ð6¯é¢ò÷¹ÅbRC.ˆÚÙ6åvЍá«BŠÊƒìò©ò¬B¬Qm_·¥,–€ ×`´ ˆ+÷A• }ePeØ‚8¬±ømàšÞøM|s%‹ÊÞƒ!Œn•ñ.Uˆ<Ò#Ÿ€ožþñ;¿dû!¯¢ë3ïý£«8÷Õ"îëô’ouaª2cKèäûùU_ŸArA«eµðªÕ5ü¶ð¯y:åÄ^ £f‰mkæ<«äOüŒÒÇ·eRb o¼ûäG_*ï `C äJ+­†‘>/-‡ñ}]˜ïܳÀ?yç—ì¼*€ñˆïúçÃkÀoø¯ó{ ŒÑšLÌaPkJsÇWþ}JÕ pQß ˜R½úlNuÆ8%úèÅê´£êOYq>ƈ>XôÀcMteC¡ø×N%ÑSoPºR ¦l¿ê£=@bŸòõ«¦ò<&ç|Üb«ï0&ù0ðÏÞñ»ú~)óùJ»>cñÝÿbr ä‹DÜ[€¯+=Úò©öÙ_º ™Ñ…ãBV±)àâQè¬M±i®„ÓšX³3 a°¥…Z_ ¬ÎOcp®èÓêðÅo4´€èÞª#BQ‘ržk"‚µ6‚Ð÷€¤ù€×ÿE¯ ï¾ÿ¿ó3¯x@|Ï¿œ<üfÞ |­·Gkåp§Ôdá åèÓ×\¤ŠÛb<J@€P¤0Å¿Ã\L¾h‘¸Ê`Ô»qÙ –b³ OÁ@õ/6X°°z®"p£â#¿[VJwËwWÍÁZ}$ã­ŸÚ)«ƒÿŠ…• ÿžz½÷Éß ;¹‚! 5Þcà€ù ¿sãðe'÷x½¢ñ=ÿjú"_ |¿üùèh'Òß‹ Ð( EÙ !ëãÀ–"«Ó¯Â+åû %¸|ë)ª.»’ÜRx-büþ%/¡!Š-h/÷jÇݱ.i ÄØ"¸G5ÅP]¯.>ubG} v‘ØV°dD×°¶žW~4JïÞüë?ÿÅýûÍï+ñzEâ{ÿõì:ð…"òy_s^¿) f*®Kï]–Û—àV„€XûÙeœáAThXƒ¢½Ü®‹ž¹Ï£4jðuÀøíÛåLRjö²mWn‡ÕnW)ÆÅžnbDdLäNqÙPW¾œîíL — áêî`QEée<Ëtlã±cÌw‚ù9óößÑ{Åãˆïý7óëÀo@äó¯Vú(ƒ[¿ÁλA[–[Nš/4þV´(.¸VqÜ„x–R)e.ˆ§¿ {¢…Òg…Œ}`ëAZ]Þóߣ0Åñê©ñBéµ¶«ôÜ#Xõþ…ëhub[÷&Œ£’zÀg «Ë~¬ñŠ"°5T‰vÜ„Œð]À÷}ýoï¾¢AñŠÄ÷þÛùð+/Fø³aUVÙß y´‹´xôu£ÜKØGJ`QMá-w2¤Âç·RàW4ª€ÐÊP·¯Ü§åú‡ó9U5K™v%ôŒoÃSÂÇ E›å6nµZN™mªX6í^zåPDióüÚ‡çe„ YºÖU™«Êpˆ»vý¶EœïxðcoÿmÝ{¼¯O; ¾ïÇæ7þx]é5—ÙT\P® u-Vþ56|S U+·òx7,Z”r#6Ô«%þ­ ЏùÏ{s…PzwÁªÅ}JQcû†£pF­k*¸À¸0¶è·P‚¢ àCïþh›ä9YÐç“…%‰I‹`-Õ CÜ\(UðÆ‚ ¯ô¡ï6†Ÿ~üÏýÖî]^A×§ ?ðcËÀ¯u"ÿ™þLà ø—ĤÜ/¤´>à!a¨ˆy˜dï»{Í_ˆµ¿>]è] ²øâŽ©Òƒ%‘ÖàË]/z¢†¢T å{‰†+@„LV)üÖJ"•¾vô¨q­¤^Ÿe2&¸UAxMy–¬ž-GàkIƒ_¯ðýU(˱«0é{ŒáŸÿñm_ÔyE¼ñ)Ä_ú±åMàWøuÀŸö2ŽVñGWx4õ—]Jñ(…«¨_×}D "q•Á¢’B”⌥âcL¼F ¨ô¤Ú ÅÍ÷^‚ƒN逇þ‹¸"žð5-Á} 熔¨‹‚­³k˜ ˆÞò¡Õ€òΜGiR‚!ºN1PÐnf땹A“@¹xh¤p = )€øÁÿ'¿…áW¿YàO†OQ ë/øqó£^´‰ Õôb¡µüâ•ÿdÝÛ÷¸:[qïÔ—ÇÈh_×y þqañÏ¿àV6lÊ÷°­wG‚Ûñr—vÁ¤"ðzÃae›÷‹eaˆ!^ñ 4pï úJœ“Ê´TÁ×Nb›¡Ïw5?ÕÏ‹ à†S¥´ÈÖϪù>„øÉ¯ùMÙíŽOÄõ Äý„»¼ øã•I“šË#¥ù\wÕBèmžd!2= ¤ð/≾¼z3-4£ê­Ÿ0¯íLhBÊ"¾®´¨qÂìÄ…v]ì¶&)q.äö ×¥ÌÕ,@ôñãX*>‹Ï¢ùà6 ?Î)A ³E^ÆÅ…Áá«™ b"Р×6|y1MVM˜®½ÍÓÂϿϞ•Öäû üðS_ýIÆ' õßË“"ò¹ÎñÛŒá×ó×~ûAe \E"#h.ÊBŠæµc •#%ZÒK ™ÒäH)Ðç®nüu¬§¢‰Òû˜Î­B¡Ó+äõ~¢±ü“ØnÕ¹ŽDW~oüfǸu¤xVµõ{×+ÄD¶{«¾ Ý©þ+Ú)(¿Ùп‰èwþ*—§ÜÒq¾®TŒ°ñ‹þ°‡ÝU­õ—€kà?þÙ/Ì^ä“pý²ñ×þ½< ¼øNäù4¨W¨þß#”?)ˆZk(É Y’ ‰P%”òú) ¡Å(ž–˜¾­š©ˆŸ³’ÖšÔÚÐͬÅ}ŸÉ‰î‹×Öª}cç1Ò9õòS­BÔ¨¡]‰Úµø‰.ã5!ãôr®›(½}Δ~G®·Ὄ²c=—Ñ“¢†÷ò¹ç©–x¥ô8£>øïù³_Øø„ƒâãÄ_ÿò$Å x¿äúæ*î§VfznÊ[RjÇ I”F551ñn¤V)?ÊG‰‰Üâ{Øëd”+ëôùýK”±ƒb•‰. e;Øóë%Q#Ïü±–º¿Š™!ZˆJ,24E;^Ã/•zC¹31aPvè\IçKL{)‡‚TÞÉ®[û@[y.•'§2$ã-l´˜š%Ê(y.Wú¯Òå];ÿU0F~øW"üÌ' J0¼øÊ’ÄДN©Uâ‡èÓTdY$ºù?¥•×±‚×$úM¸âO ^SK,[(J%izõZ•‡pN’½LÙŸ¨7ÖL 11éê­—wÙœß@(cËs^ý*ÖÐ :ªOi @©/æÙ’nQîZujB¡÷ëµK¤qér+‹'¯Ö–¼ƒâáÂ>uÙ T×&<+ .«Úy1yà_6ÆüsŸýÓ¿þ—ïFý’ñÃ?%O"¼Ù9þ c<âU„¾Õbbc¦‡*34A3¨ï¥%¨¢Ê…´š• <…FñZc‚%|ð#Öšÿãþ§æ…—¢ÓüÈÏÊS"|ð‡Â€_œF]×bPha‘ò´w«X©,D½­ÉÄm-Jq/\€n«âÒøûZax¦×E¤5ܯªBr91akµÚbGA« ð‹”ŒiЇh¤®t¼À¨{¤J°‚¬•ÖB;á] £µôý=XÁ[‚YUY¯Z=ÞJ9oêÏTÿ^ùÏÕGÑÒ×®à}ÐÖJTÍ¿1ü5¿|ä] ó#?'_„ð(ÁP'NwàÊ G…ÿ‘ê¿ÊËú•µj5-çÛðÂS.ìú=_á;ºñž¶0Bµ¬bL°0úâeÙ À‚¦¥j±tûjLA`kஸyj,•wuê@Ö]„1Ç´ôEBV¿¼Eòq¯_õ~žŸ/ÿL3C¿‡§•ÆEÖè"zÑåÕØÂ£ª±ˆÔÛ¯•/žÅ‚ÂÅ,ðÙf%Ûÿ³1üàÙ¯ü‚ ó¿þ¼nNyAË^*1‚ð9M Æ¥7È‚òz éÑ[dpaëKtÉbÕHg…Šž°o¦ø®Û –\鵿võÂ}õ]wåÇ+DmçÁ]P§ÎK­4]Zã*öœï»Æ‡šgRÄ—»Ÿ¿‰szÞ}9W½ÒW-è@]Î."®jaTƒêù¹«Æ—ðè~XàÝ´…ùÑ(ƒã'û"‚8/ b}5E6žJ¼ojm\ïPVªßUs¡Z0¯¦Ú¦¨gš^©·§åOæžgõ7 ‹•˜§¼BOS€ñÂ]º5ËæÑ[° 2Õ´ôEî#õgCØ.’#­µF®-í£‹+=?¿4lÔœˆúîÛz™¤J×K”Ó}ÖÝz}_Ó^^?ŒáG€ç;¿lƨɭ¶QÍn”é€PG•ñ Uæ¦&Ížp*)ÕŠ&´êùù1žW50@ôã+õ傪%¥D85~Š֪Ⴈ厚ö­äbrjZ˜ÊU‰üm+iW¤’5Sϵ?QßžJµî9Újd{Ö§í—^ˆ»¸QS›˜—ªVIETÐ{¾Üãûi%€ƒ­éŠ¡LMXÏ™ö"…ðT&AiÒzVÉ ùAùgD¡ ÖBˆ'°x:Ô¤hWÁÓáyä(@"œ§Ã’G`WÖ@|;Jâüöu¥¬×DÄ·m¨ÌSP JUÈQåý¸ëm«§Ç_=æ6ðR[DíûKïŒ VUñ6ðé%4{1¦*4o‚…ð_¨ò!ðÆ[!UOkw­,|ÏÍ¿ (ÎiÅŠâüé­ ¬¨R›Ï®øÆmý™®«™QC±žDý7ôUTÿçœéT€© ‚Z߷ײV™5M‹@8iÒêç& ¯š°ù²¡ªÙõOéÖi Ÿ•Ò î“©$´¥æCóJE ¬]…ž‹ˆP@‘¨lÔã(jÎ_Îõ©(ÙZ;ºLž£ÍÊÜéö”’UçBWÁ­H+ ÖÕGè:§i|;¢„§¼4wyË©~L½OO¼© L° Jkx¡ÓeŠ«m¡€ðrŠQ*`P4…!HI³Ô ájÚ‰XÌÒQÕp /Õ'ªN£þ*–BÏÔÈÏ:­ÖÛP$êóE{Ò|/dëq È£çœQ ¬ñ:ýk¦lË”Ę𶢯PYô¬]ihT3¦"éQci÷$0½&ÈÞz\(Ü^x¼ *7¦¢]©jÑ È¤ÔÞh5ŸÁñÚýciÿ[‡ÁS òÚ$LÕË·eµ Qã¶å÷º‰ön‚õ´*‚TÑŒñ·CŸaXµñh×Àó8hJ-°>°¯õw‘ìžé6êa੦Obý.|å½?îRQ%âHeEÆ+Ž¥³,MFn³00/?Z•Ò0"dä´lNfÖ¤Ö°r–‰K˜KZnÈ¬Ê²Úæ\±Ô¬JujÁX¥r5#JB¼y®*¢|h£îCEÐÕÉ'íTÝV4¸ýv?5†hú°…0VÖ*ˆ òLpâŠPFÑR®+–Ljãõ´hËdªuuÊ:œúQêsÙ/õܘóVSÌóÌIÕÍ«¾®I5]lÏVÏ‹Vl~^*(M¬°DMØõ”ÅbÁÒdÐÚÀ¤ âûEÕDíåÖü!fˆÉ<8[1³[d»·H:›ï°«A)Ù°"´“5í%%=F$²âáYÎG'-é.¶Ñ! ËÔÆ­x™ºÉŒÁ$ ¤ 65…}4ÎVð%„Ãx.Q ÷êL·ª>°Ç§ÒêøÖÊÜÐà IDATmìÁ¡@jQ«Åž‰º/ešý–_ÖQ¥ÝûÉaLz¼*íè5|EIÛ*ï´•ñÖ¢þcVZ ÛR³…çeß:“å»÷¿ XåV)3m´†yð¼2±ÝªÇá™YÇŽ™Ð_ÜáôÁ¸ýü‹ Í6ÛÏüZúOb“f1†r¬ÉjÌøöOrzïÿc– i§ŽÁñ„Ùa÷s¾ˆÖŸ‹kôRÖê­õÅ•™5W» žÙ±Õ8„“ç=ú³?Áôð}ìw…kÛ-zÝ{B§yét‹97IZz™Ð0+ò<'K €äk!cÁµîœ~v»ø(âF¬C–ã3Ì:#]Žh°&7)¹©¼ES2:ÎYšÊ 'W$"—"y‚q¶Fb"ILñî½×v^€µæ«juASBÜ/$DÁòu´ h_9¸Tq¡­†7ãaQÐ÷é×6ˆýh`ª&˜‚ò¯koU”z× 5ºï’j’4¹²(¦Ü¢y¢Ë† ¹&ôaXî|?ºý][1m-=?*ŠNñ-ñ™Î1£ç<þ–[=`6c|ç}Œû[ôŸiÐhm Öâœc>z„,NIܘv£É•'vyúsÞÀþõ«äcáùwK‹f²I+2=b¹^rù`›­vÆb²Àš}Yb×gˆm YÆfÆ•¬†]Î’%Éê”UÞÄ™¤M° •3­JF¤íÌ ¬ÄáÄá$/‹Ê‹Q†C«J¿Â8 ˜´/dJÜh â?*4ú²A@ 1(6ªÛ²àEÂä·^¨&VßÓ´Øj% ݧw=´è4†‚™а+ Ô…¹ì_d‰4¸+.¤.ã뫺~¨Á-«_Ê*SëS/†ê~ªÙ!Ý—àÖss¶Ú[;\23ÚÓ”Ù|ÈæøØ4H›L×)yc‹Ýn›Ko¸‰½|ÆÎ†áõŸû4ox’3ÖgG<½w@¾1c|vÄ‹ý/Þ»Çb½Ä=óv›Åh„3ŽEGØ=Ø"Ë2÷ OçL–)˹a4~žÉáó¬IH7.ÓÚºJÖÛ%it06 Þ¦Ä:LîXɺtH ôk!1…v)·&íï7úÂö†zP~sYMx|λ?µs{«“åÍ·!TÿR+‚O­!hýwí¶Uè× 0±¯0¦ªÜĨwAÂE·¡|Å”zõ‚­Ù”föVBòØ_Èn•í×·Û‡<»â_Èj)7É[ ïn9ˆ:?>>ÍÏØ¡»XFë¦yƒÎžÁä#hk›1s–•)ϳÒJŒhY|V„¡of\O¹œÞ§éNX/ÆlõÆÜ 8¼?æl6ÂZ¸¶¿Éç}î5.]Ú¦¿¿Mg¿Ob–Ìðè£wœÈÒ”½›½~‹|6d>]’¥†„5ëÅŒÄ:½6v'K>¼ÏÙà”ápÀr5çñpÌj½f4[±p–>í´I*ѵ²ÉmÒá s•¥íàš]ÒÌZŒ9ޤ”RcLt”=³Ñ4SLŽ­æÓ+Ëö^XÕ_ýEÅäú ö ö‚ªŸ«+¸¾/åøŠºŒv…<4mèÉ5çƒS}†1ÔhSÚ[ 9Š6ÿ<ШÁ®h³ô¹!å”ð— Õc¨¾ŸR+d@b„Dr:©ÐIý†É”ÕlL¯“Ñ–ÇBÌͽ§™æMWMF¶ÅÚføßå<(Ô2-“Ó-·d3?bƒçHÍ!²8%ŸNžŒy||ʃ“1­Vƒ7}ÎÓ\ºz™Î¥Ë$2õCŽ› ?:æèшñ*§Ù²,î¼Hg|Ìr±æÑƒ ÃéšÄ®Ù[mzÝ’&Ëd9év—^?c¶X3_¬8 qË)FÆÆÖ6;{—°i‘$güø6KÌt±ì\z#ij mïR ¹°rŽ5ë"£‘X›Â=Jì¹ÍB‰ŸPS;!ƒª”ê½0‡ÚìKÓø½^G¹ 0”’`KA@ÕU~§v˜ CÁù¸$´í³jD d‰lå÷ëø§òü‚ñëñùµQgb[פhxiªŒ'üË[ÞíjŠc·áØk.IdM#3´s‰#sÆžåñýCVýùâYŒÙ¿ùVòñOstwÄ(ßgÖ¹FºuÓîaJ`xRS·¦—Øt'˜ù2pvr›¬7Áôæä³³ñ„Û‡îŸLqN¸~u—ݧnÒ;¸Š•«Ã‡ i{B>8áìdÈx±ät¾`ühB#:ÍŒÕÚ1œ¬ÙÞÞæÏ°±½ k˜O–,׎ñÒp6ËÁËu“ÇÃƒéš 2lÚa½ÎqÎp2ÎénoÑÛ:Àæ3fƒ;œ½@úøENÝ<#µÆ”.%uŽÜ +'¬òœu¾ÀÍ×HžA³mfª„´JS¬å9e%Â{ÀÕùÖ×Ö¬ŠÊ­åûç¬PÝ:ørZ(ËÛõ5‘:h Šv¯u=ÿY§/k®‹¿W?r§ž8ð}9¨l8 éV£¬‰qe‘hÑ f‘ !d+nt'tçÏ’ØIoò¶Œyîç~Ž“ñš„œÍfÎ7¼‰fÇòà¹p|ç”G£Œ¡Ý¥sù4wŸ ³} Ûh“;‡[-YLL?Èáɇ9;½Ïh8`6:ãú¥—·-f±ps÷èç{[}öo>Ago›{|õãÇHÒDRÃøðˆ‡Ç<N/äNÈ’ŒÜå—“¸9—ö{¼îó_O·ßáôù#9ÍΣy4;ÉY͸eN»‘ÑÚê2™Ì˜ÍçÏp2˜Ðß:¥ÛN1«1’ ,ÅåSãÒ~;Å ¬äbX;ÇÚ•ß]‘’ÍÉY-ˆsÐj`š…Ó«÷ù Š‚zà¥J•ñ1CýYþ*· ¨Y(‚Bñr¤šÒ¬ûàÜ»wþ^bbì ”Çž–}:åFëU °×ØÞñt…´³27ÖÆcðÃl\%{´lje“j«îŽ&¾¿rp¦¤©a`Ãä<½=¥5}îøýØKÛX;™3½‡;?{‡£ã%s»ÅbiÉm‡­¼Çèö1NrºÝÝÉ1ÓéŒÉžýIÚÝ º›œF?zÀ¬\?°ù”édÀl>%_­xþ^µK}:mÈeE–8Þps‡[O]gïÊY¸!ÌOI“q&ÏÝg4^Ól¥¤g+zMÃÞòöw÷˜q60],xâuOÒÝÞ ˜ŸžÐÊ„'¯ï2™®xîÞ€ûƒ)ÓÕŠÄÂN'¡ÕÌh6;Œçm†Óg£ ³Å˜d²`5]cú³É` Ã嚬yHº»Ý!X,ó•c±rØñ'äêækòÂüMS™F ŒŸ3%HaEÖ?7QH*”(¤Z õ·’¥òÿ)×(¸,D!2¨ ¡©ï>€­oC©ìí©Y0Wq¨ìÐ aE9¦h !®X!e´Õ«Ç R¹hh•nÒNcA7cR‹»tÓ ë ,gd™e›<=àáÐ0‘œûgMÃ5ÓaÆ~wI+Íé¥+\+§‘8òùd~‡õéëÓ3Æ£Óù cY*lnt|Íl±æÁ`ÎÆ*¥ßmÐiÀ¥+×¹õÖ_M¯ß„é)4Loƒd¹fuzBÒi³ÿÔM¶— íŸû 4ºì߸ÉôtÀÑÑ Ëù”'.³¹ÙÄLÏÝ}Àh0dë‰d‹áˆf+Cž?áCw1ÍW4·7ØÚìa“Œyîh¶2öZ—è´;´í‚ÉèˆÁxÂуûœŽsò¤EcâH{ýâ`¹ a±r¬rÇ*/@à(O|“â4ì•X–À:/Þþ’DM¨luK ’uQÅ.t-tšOkÎs{í•ùnš‰·5°¬¯«Ë+Pz­ì­‹v­õƒPºÞ0ÚQòdV˜¡€Z¶WÙRoªüCµaˆ ޾žš8®´Ö\ÛÓm Hò1«ùåh@ôAN`vLêWn]æÚÆ>ãGŽææ6y£KÞÜdxü,y¾ÂÈ’ýíÍvʉk±”5vmÙl:ö;]7W<›&)‹Õšv;ãà`‡ÙlÊâÑóõš–$äÒâúë<ù¦/ ÛoÃàâؽ‚i[œ²^,hì_£±·O6²»Ùçáã)Ͼïý=¸Ït2áÚ­kì=õ4Ý^F>sz<âl2§o—Øæ˜VwEÓ.0ë«ùŒÉrI¯Ý`8g6Ë10’Ú´`x31ØÄÐX[Ö¹°vRºK…Û´vEŒ;X:ÃÊyë5EèlƒWP.J`4´¼Õ5ŸÖäuÖîY¥²×¾¨ÀTC ‘/oT}õíëÅ.L鮨gá‹ö`aLè&Z3¯ù]ì/ÔÉ«Ù'üXM8+W2ŒK oWz úæÃX7gÑd‘±v›LïßÁLÏhoõèmn"“9ãÅ«»{Ðlq÷dÄtpŸ¶[ÒH´®Aoãæ§F³ k㸺Ó#cÍp4¤±LÍ—¤­69mækƒM×4ìœ\æK8¸r“ƒ«$ò™žbúW1© ãS–ƒS†£)Î)é| k V›Åô„Óá˜N§C¿ÛâÒþín“Ü­L8ÌML?fÙ]cfkÖã1ùbÎr1e¹\‘ÚM¶{M–K‡¯X¯—Œ'œœ1²"¡C«g靯ä‰@ÖÇ´vH=gm I®Tg~Žs•+À»âó|]ü[, ¬ •@Z ²N¥jÁ®È²º‘ÑŸë>yE8Õ3ï骘êÿ7°æÞù­þFgÊäS™áIL·³« ¤ê"‰[.t:Ű¾õ4èØA·'1 ·ÍTÈÒ >‚´3h]'oöÎX=w—ÕÊb“]6›Âf¶&?ÓÛߦ±-œÝŽõã1éâ„Îæyšr÷ø˜ûgsl>Åf}Úý=ÖË Vó5N“áZ ë²uåi6woÒZ&\uS²Õ#æÓ‰[Ñi5°27‡ÌBf·pLF9Çg9mNi_¾I{cÖö’·à©­MÚ»Md>gr<äè#ϱ^¬xôpÌáã óåXÒëfì_¹ÌÖA‹þÑ’ÌB¾^2Ï9 ‘Ü‘Ø qŽédÄdm!ëÑÛ¸ÄÆN“Ñœ.ií<ݼAªeSÊUçœ"¥ÚP‚ì5«K™Àx,!_Wä0–ÕÚQ ¯Qª…°¢mkMù%¸45pT´¼­¶i zxZ õM~ZóulMØú`b¬€PÙÆmˆ,SIze¥]¸²ÑQ_e߉ºïiI-d)kp3ÌîeŒIYŸ=âäÅ9›µÙ¾rƒýÝ}³5I:"_œ1™§´÷ûä‹cž£1Ϲ¼iYdmÇÂÙ¤ÁÂd4Iè¶:̆†ÕbÌ£³1n5C’&;מ¢›n³ AïÚ[¸uýM$nÉVþGú ÖÃçØÜ+ Ü| í>¶ÓÓd5o0Y÷p&ÒjàØb~úˆÙ£ènйy#c÷ïðüÏ¿ÈGï± Y’ŒùbN³«îfó÷ø6¹ƒvw‹Í´ÃtîøèÙC\žséò5.ïÐí­'œL G#z½»mŒ[“ö{ì¾îͤs?%³WÀª(\y?§´3WXÒR˜\!*¾u]˜”;äë묕zØ[¤p©cÿ×RµZe?•ƒjmèqª’¤fõ¨Z¼°“VÓ± ìe9—kš‰ ó2K>±r-º{{lß< =ÀÌf´n^!Lœ ™>7b½ZpztÄZ³Êèõ®÷vÈÓ-¶M£½›“2&käÌsa¶v¸¤Ã•×ý*:—_Ï /¼Àé`ÈÆµ%Û{ld{lš1‹Ã—®î‘¬†,n¿€ínÐè ˜)ËÙ„ÓÑ’“yÆfÚ¢uø|påÉ1;­.ãÑ€³»‡ CfókÛ¤aW¤6§‘el]ºJ·ÝÄOYL'8qt{äMC33t³œñxŒI¬$›4 mY“™”Ín“ÝÖ6©,9ž1={@ú`EU“ëRû,,t’sy«¼ˆrW€C HRpCô߃ˢŸ—[üÎÐsë 墚wC4 ¬ÒÀçöï+iòÏ+ †ÚbÕêêÜÕéñšÛ[&e6 Äm5åŠ*kå­‘_g‰Ò¯è)ùøãªÖÕ×I€-#\ïMèf°ëc–¡}™ùr‹u³ÁÞåí ‹»·Y¦˜eƒÕô”ÑhÀèá”ñxÌÙhÈzµàê­'yb?åd2ÇõÚL$c1{ÌðÁ`v³^;ËæÖ&í­kt/ߢyåIn´z<ûþŸåôð6Ý>ãFŸ½KOq°1¡·5€µÃnôHºÛYŒu4··ØÜsœ®8›f¬ž;!™žÒ4 ¦ï3?¼]¬POYsy›f{ƒ4±<8p2ÌÍ,g'k¦ù çZ\¾r€½´ÅÄîÒ)­ü„áhÈxQlEšÎ挦Kò¤M¯¿ˆa6ŸÑi³ÙÕÉ]ÒãuÁ`¿9-ü10uåÅçµ™¥µ$Â{Éþýh?i>×.¥ÀœóÔÀJÐJ k€UÜ’zLd«\½æ­…ƒ_óÛ»R>}4¿'ÒóF§PÕåÝ%ou(ySY4”¨xÎeËj—~=©o–¤Kê`»)tÓûØÕ³°N`1´˜6.áú3`†ŒŽ™Œ¸|{ONg\ÙÛà žºÉVcÌñáé8e0s¬–SXÓI׆EÞ¤¿u™™éc0iÂöå'xc’ðÜžÁÃ{´šO2¶ô—À I§Ar9ƒFÒ $É‚Ä-hg–ææÝF‡ütÂêdÌéãëÕšñdJÒêpó-¯g÷Ú5dºæùgïsüÂ#Æ«ŒáÌò“:“p}¯M»)díK´²Ú‹GÈÙ#Æ“ ÇKšÍ&­ÄÒLaÝÚ »w“µ›0?bc“½mFÍ-Ò¼œ°\›l¥)—ZóEïz\¸5¢¬ãOð䯪^ ÚWÖtªòUØàŽ(k48ñ5R)µk>”›ñmµü/ÜZ[ÚióS¶S¡ÉF÷Lšø G&‚Õ&àò’¶DÑ[ã•·®†‚Î,q`xÍmÌö£“-NÙ#kç̧/О€ÉvgÌn/\X®,Ãl%Œf9WÒÍ>2rüðÓ1¬Œ0œ±ÑnÑÛÜ£¿±C³Õg4›qçþæýÛ4nÒèm±qù*¯KïÜfðøQ±"Ý»Mæ0½iVN¬CV&r÷ÞnR®´/ÓiwÙ¿ù9${ ïòøái³Éµ7=Ãå7¾ž´‘rÿƒwy8˜1“.«¤Í³‡Sò,ã‰[OÑY¯ÝcÕl³³·AÓ,8›MŠ=Pv¾ä‰ÝMöúF¶A£½E+é3_Œp.ßz ;½+¤AYÎiÃðÑOÕ€Ï{7¨ «Ÿè¶#h-íŽ*(Â>j¾·ïOm÷¨eí…úÁ%:ÄAž iÞÕ¿Íîc m1)XZ/}`¼2ì&{X{€Ÿ2>™2[öYw„v«I’î’4açFJóÎNÖŒ3hïñÖÏûÕì]ð?ð!æ6gã&Î\¦¥Éþ4ǹ,ús‰V>Á4Œèqÿ䘻“-v÷oÑxJ¸n¡Åœt=`~vÄsÏß&m6ÙîZ6;)½nE3a5vú¤.b¶öq¹ãøÑ#îÙ̓šËkÌ~˜“Ã;جM³½Çƒ³ƒ¹e2òdÛñ†Ï}3[—¦÷^äîÝSž?Zpù  "ˆX&cÇéYŽk퓘n4gsw‹þ¥k4’9n=%ëm³uíM$;×™š%ìwØÎ®a's$i¥Mf£S²–aóàýkOÑé÷p‰eX F°õí½ùµZÚêx—C¯2WbÍš_î\Ü—$š%7Kùãa'+¥V­“¨,Tø+±~¸ê>>Õþ}ë$ÎØÂµÑq—ñãtž^¯l¬!);ÑcÌs)Û1ç,«w›|»¶ä¡þm½è¤$2ƒÙ#†~;'íŒÙîå$«»Ìï°œ-˜Ìz¬Ò6úMš½œMÉ%eûêH7î2[MXlìÓê⬤Ó;åÅ{/r÷Λ݌ì O§ÙbÝØ¡±‹uÖ" 1NHºLš²{倗ó¡ï1šôybïi>b¾<¢™Àdd}²dpçÓÓ)+:Û]ÇètÊáÑŒ£IJãÒëØN÷èg .Ý|’~›íåó ž`×[tŸ|=½+4¬¥1šd6§;]`²”?~ˆ³–«OnöY¥¶"?©ŸäŠL(‹ÎLõÂV>×n”ÞwSK¸ÄUWS­“*W!´kãsß®ïOÔví›CÌTya õTú(Æ ”þÅEJÅ_—8.½j^YØSV´„'%xœr©Lì’ñÞÍóÅ©±è]¬žo-3'ì6×´¸ GïcrçÃÃC;áê­gØÜÙÁÎΘœæ>\1MæmKGRÇz1]åHwŸk{}îßÿ0³á=l‹Ø«ÌhP³ª-s¾žw«|Ž=€Ñk@"ð|]§€h1ª®ÿ.U¡ ™mÍ<-ŠþÜžCü m¿‚Ÿ+`ya.Çš—ŸmR´E¢ ”êK['T_þCþ}¤h1=¯jVÙæ)Õ2o³Â±sÉp IDATí:ùþç°Þ¸Å$iÓØ¸IÎ¥Í8y?½³.ãá´ÏîÁ3t쀣çžåþÝ6[fò€Ñ°ûÆ6ë‘ö\yýéíìÑ20øAfƒîÎ5h4J7Î`Úmv®]eq6`80Žhw»ô·¶ùO~ͯ#ôa„5"M’¤…Ç›_wÝí?ÿìwïÝãö‹w˜ÓL&üš_ÿfd½àðá„Yz™nÿ:3Ú<}ë»W.ƒ1ÚnÆ|r†5ˆ=bûŠãWlðó?ó=Z²³Ûg>_²uí-\yýo§{å)Ä&Ñ{‘â$‘ Ö³Kgiv·h4aÝFÿ”¦¹"0ÕˆœÏ~¾ä%µÏ/g,ê–ÆßË0ϘÍì$4ÓFxnU:HÏr¬èÐY—:pÂÜH´RúÜ¥s‹„¾]¯Å•EÑñ‚? á “î.wų´ˆš=Ía¯“ƒÅtEš%¤ÍBòó¼ij”h}(-‹»`\%Ø|Íðà­›n°8%êQŠX[Jâ@ºÄé»×žæìïcu|Ÿf·WÐFÍiÉ «hò.¤Ÿ=ÿñÝÃ:k1eŸ$mм¶ÛGìuÒhµ0N¸|©Çd&4®>I{÷ &M‚ÕôüLÒÕãÓGä¶Moc“4³QŒâ¥šÏà™”ñ¼õiùô"M®µ~EsGþÆŽ9/Äõú¾l–Zvöú=üªíEÖI ¨®’:áªî" Õ]³¶V¾n•|–§bItƒþ~xB¾X1~<àìø”5†­+{lîn"åùVÞÙÚ팉–,4U.$eŒ¢_R÷ZY‘âSÄÆF×ÑW»¦±BeçÞÌóóµ¶ í'ØÚøÃÏÓÞ»B#ÛÁÿèI]ùx0\da} „ÐÀZ §üÿt½YŸ%Ç‘å÷7w¸7·Ê¬½ (ìAÃFS¶ZÃô éEŸNÏúúÒü¦{4=ênvs ‚Ø ¨½*÷¼[D¸»éÁ,nf% ÅBæÍ›q#ÜÍŽsÌ|B/·WnÂÎ;lðŒ+W{^¿÷œí†çó†Éæ5šÉäBd;ÿF•ÔÍ™œ!ÓÛL·v¾c+ºüœ.fTѪ/¡ T_Þ—3Å:R½âkØh໼¹.ožqçúe|'¼4¤àÒÏ}ß{~ßu]\ð¯óâë„óÌ4þIëk¼´pU%øWk.”>€n¹àáçßðí§ŸqzxÄ|(\{ã?ÿÃõ;7 “ôòguû"‰ðR¦gÕŠ %r—üMÆìxñ9¬‰‘QOŸ?ð‹~´Ëkìr )“n½ùöûK–/Óníš–Ë^šÅ{á}‚Gz;r¾…„„VE¯Ò»{W%·™l\!Æô €‰fXœ0_t¤[»L§ëÀ÷R`ô-ªP+R•Ò÷t‹9Ëù‚R+M›”¼Z}7C\Œø—¿vñº..ÌËrÄ«~æUàrD¿¸(^õýËïý¨ség.f–Ë×P.|í2l|)0øhUNOWÄ(L#|úǯxôÍš”8;<âñW_3?9D€®(÷<áðÅÿößýŒ~üâdòR÷EEñUÌRYvœžÚ™ ·öÐ6Ùâò׬¯]ΡÊú^ßYc¦¬>ï«Íú~HdãÆ[\½ú‡>cëÆ]¦{×××pù½Ç뉪¤¡£.çÌVÙÚ%mNÖTéÅMžihI©åÊÞ'gKâô*i²õgƒ?Ó‰öô‹CúW˜4 AUësÖR‘Z(CO·\Ò/,gÇ,N9=ØçèÅSÎŽÉ%Ó¶-m4¿bCŒðâ‚~Õ¦oâå¯_Þ0¯zí¸_„—ú+£/Gþ‹¿çâû¬³Ò…ßwÖ]|ð,P+š µTæ«J-Š–Ïþ|Ÿ„i“øÕù?zÀ|ÑQG|£€Eeàó?þ™ÃƒóÿôÇ4;Ht‹ŽÕÙ’«›„¦!A¼ò¥2?Yòÿï/9zô€”"~üox÷Gï‘¶6!Ú¬ÝïËæÂyv¸|ÇqñïõÂ÷/n†´Åëïüÿô÷?ù–[›;ÄÉä;Ïjü{ª•éê”úâ>¾úœç«†½þœë÷ÜVÍw7£‚h7¦peÊÁi$NwIí†4Õ ÏX Z¡;evü ¶iÐå’U×1;zÁáógœS†%«ÓNŸÑÍŽéW'”~š¡j)Ôª¤HQQä[U½¸^C.bèïÛ oúÅ×]üúÅúªŸ¹üs—_¯|÷çyÅ×äÒk_õúËð ß˳9¿}Âo÷)OŸ°ÿü«Å b0i@¡–a=¢çü¦â¨j%†@ˆ)ñú[oñ¿üoÿ#7ïÜà7¿ü=ÿøßþ‰¿þÙ_ñ“­{·i¦ ÃbÅ“¯ð§_ÿ?üË/ÙÝž2i½ {o¼ÇÏ~ñ7¼þî=¦Û¶1ÆÑ’ÖK‚ßs_ʾ1_Û®=Oþø_¹ÿàoýõÿÌîí{¨{N.þ|‹2=}ÊìóÿÆÃ¯ÿÌÓ¼ËÕÁë?øˆvsã¥>š‹‚ÿì5Øì~Çpø_øã§ÏXíþöÞÿíÆuèéWÝ0 ZHÃŒíî[žñÏ|öõ žÍ¢¦aAÌ3È ´b „ ”œQª1e(eÈF€hµg¿¦êï_ØãMº).´@¯ÿ\Þ—¿Ï¥ï_ü¹‹úò&ºø`¾/üjS\þ¯Z¯üY…< œîrôô9÷¿¼Ïï¾æéÓçìŸ.èóhã?XkE«!ûkjÒ 8³2þ[¹÷ÚMn\¿Ê“‡Ù?8¢Ù¹zŸüwóÖ½[œ<}Êá·_1,œžÍhÚ ¥V4Df½²J~ô×óãÄÝ{w˜nO¿£ö] b—?óE¢âr)ÓËdFB‘ãÇ|ö¯ÿ™°û:wø3&ÛWX“þ>;yÉòOÿúõßñùAææOþWîýøo¸vóM_®u.\[À¶kd6ô3Ξþ'>ùý–“Ÿ‘®¼I¿Zr²ÿ”ƒçO˜@í¹2éùðn`uzÀ§_½`ÿ¤§Ë¡Ú8%ÂU—… „ ýÀjÙ“Ý¿‘b´ì¤öšÄÈA÷¡­7Ãå{2ÕW|íâMü¾ˆÿ*¨t1‚]¼IãC{U!|ñÏ埿Ȉ]¼Þ‹ÿD-Rä~àñý|úëßrðè!ó“#°½9ž‹$j ûœB ”ñ ª:ÕJx)°pág"J=;fÙrw#Òî5Ï2‹Ãü×ÿôŸùÕÆ„«á½Û{lïLALl›ÍVÔläNŽùÇ¿û¾úìK~ð£øà£xý­×ØôŒ/ßÃï{6ã}ºœYÆë¾ø½‚°±s“×ßx¯¿þœùóÛL§  ìD ÈŠÓVi7h•ÀËìþS²õ%×Lá¬çìÉSþ=ó^XÎŽV3JÉ–u%³wkƒæÖMæý‚ÍFØn!wEb"D;ŸZKe2Z+‚Praè Š’šHEK¥²yö‚ s‘ó…zyÁ^†"ðê ßæßý_•U^U ¼êzƯßñk Fi–B·X²¿Œ–ÂâìŒ?ÿþw<ÿö>óÓ3R Ä&¡EɹRJAÅ" ª~̘G­ÕY›K˜@ìªjU"J›*›1smC¸umÊ݆g‡+ŽVðè`ÎéY¡[ÀFÛ°5mx|0§×@_EЪd2¾ù–'óÉï?åýÞçãÌÛï¾N;š­â{îéÅŒ/½æ"=9Æ~•Øpõî»<rŸã'_±}í{×Q ç÷aHW¸ùƒ_pwïhwxðå}–gg¼vï5¦Ó ¨-КºùÏÞçdÿ g|ðö-Þ}k‹åÙŒãçOxþ¨c¨©r*J“„7ï\åGÝckCWø«ßãù‹øô+CÇt ÀªÏ¬V=Ã`G/±{(bô¿ja9ïÈÅ^Jšt^T¿j1_üÚåêrÄá?§^¢Ô¿“.^ÃåÂ…¯D»ø»^ ËJa5_rÿ«oøä·¿åÉý¯iB°1;y`¹XRsa²1AR¤›/m3` ¬> :ÈÕ—f%á¾ûqãTQ"•FxãÚ”Û»pkoBëšÃÎL¦›Ÿuœöä"|öø˜#C©H05_$D¨~Ê“ˆÐu=O<äÅÓ'üñ׿çÿæ#~þó¿æ·_'mN^‚R7Â`*6uñUðu¼çÏNHÛ×¹÷öùóÍñ“o˜nn&S¨ NöÑö.üäGg=ÿôË_óÙ§bc ÿõG¼qïuNOŽyüíœ<£Ÿ³8{NéÎh¤ãjü[îÝü1³ãC–‹A {‘»wï‘ýÃCv®Lùïño¹÷æM~ú “¦áÚî¥Wö¶·ØM[¼ÿƒ7˜Hâø‚Ã'­ë9Z)ˆ»Ÿ Ä&1Ùjhb  …åª÷¡W,¢‹ÆÅw1­^\ˆ/ýýÒκø3ëîxu¬M eJUs|||¦EØê «*L’£û©˜v0NÚN½XÆÍQ•~¹äñ7øÝ¯~ÃÓû_’—sÜšFè‡JÀÖVK7ô +át¶tü¯Ur(õÜ1ú7üºÌÖ ¶)\MvZåí››¼y{ÊöF%†J׆¡°9mèWJ×w®pG:*«R ßj!Ôñ®{%J©” BßeŽ^ìóÏÿüîŸÅ{¾ÏÏþæ§¼÷Þ›ìî]!µ „ñ°tyi±·œ‹Ya½.xEª$öî¾ÏkÏðè«ß°³½ËεÛÌOOùä_þ…/ÿü ·ïÜ`ïÊ.¾¹Ïþ³ÇÈjF+¾þÇßq¸ºggs–ÝÀjˆÓÈÎvC+òêLJû¬V=~ø&?ÿŸþ=7®^ãÉg_òùg_òúïñ滷г'¬ŽÈ«ÄòlÎjÙqíÆUÞûÑ»¼ÿÃwYÏ8;Ë/ ó~IÎ=µô¤hºG'<„€h!w™n•™-zƒLpa‘oñæ *«-ºÎ7ÄÅè_ªõ÷C†Z‰)2`© 5)NÅpŒêÁæÇj¥ô…ùÂÀ˜$Ãî«.S†‚i*•#“VØœ&;ûN¡m#Š ¦*‘Êf )± óÙœoþüŸýËÿÇñþê0€[Ø“DŸ+‹Efs2aÐÌP”Å ,»"±O¥ _˜ªÕ¥uÈ¡”"µ’‚ru#pïú×·ª½ßP*«!“¦SV«Àý'û,3„¼X—u0fF@Ä2†?Ÿµ g¨â5Îr>ã“ßü–/ÿòÞyï>üðÞxã.×®_ekg‹étŠ6Éh^ÎUùóȧ„ªFGæl¸½V²V´RØÞÞ¦ùö¾üÕÿÍ Ûœ½àÅã¯fGÜÑÛ½R;²k¢eÈÌÏ ÕÄ•iCœ@¿èÉy w‘ZíYï³:Þæèð‰-÷>xŸë7§pò]±·5aR—,¿ù‚¼<¥ píÎ&ÓgGL7óÃþüO¿âèxÁr¼õö›ÍæŸÍé§Ô<'çÌ0T‚’’e} É´%Í–ÅÆÍäBßf®µ0Šô¡ï «ÅŠ6ÙbT Ä`p«QXýY.:NNè– &“–ÐNhRBk¥”LJ‰* ­˜2ÒõÝjÁj¾`vr‚j¥LY.fP !DúnEÂjµ@€ÉtJLö)Ú‘˜(yàÚ]6·¶89žñèþ—|õ‡åàÛ¿XñF¥–Be2i©*ôCe£Ð$ûL§‹žÅ¢§Ï†ß‘¶H !Ú&”`÷Âê ”€²ÙÀí½–·ïlrmÛ®I¤K!×JhN—™¯Ÿq0[AHD\TÂê‘ u¡K­Ô1¨XÚ;ÏæâÿXÅH嬛ñû£çüé·ÿÊ•Ý]nݹÅkwnsýÆM®ì]aww›­Mr­Ô’}‘Ø"ºŽålÎbvF߯, HeV„ÒÑÏyíJÇÑÑ'|ñðŒÙ2 ©•<ƒvZéJ!hS «E¿â$­¸±½ÁͽôøŒÃn`±RRXžÌXsr¸¤¯‰Ì¨7½qwönðÆj`ö苃'¬úŽUŸ™,gœž.8:ZqÒ‹ }Ÿ¹{ç:onoòÍÓ#ŠLÑ9;Îô ¡¬¿†àÏR M%ýæ_?¥V]G2ÝrÉj¹@K1º*&ú!³˜Í¨¹'Ab ™¶L§›HL ÃÀb>£[-Y-çô«%ªJ;™ØkB äÞxùÔœH‰#³ÅóÓÊÐÑ- •étƒÐ´,ç3òЃ9wˆ(ÃÐS‡"!6¤ÔCDQBJˆ›[´ÓMºÕŠý§˜=#÷Z‹¡ÇjcCFItjÎ~—RT¬ó­ !DÛpØScÿ-#" „; ¯]ßæ›Sö¶JϪïH)Ò¯ }_èJÏãý3ž¬èVv@"P,Ë„ ä.¯3N©êL–[9Ôê]‹¾DP*ˆ®‡2ÌŽñô›Où$5LÚ†¦mØØ˜Ò¶ÏH•R3¥ ä¡§–b›£dËÊ@E(D*‰ž÷îNù>~“­¦ðíãN—Õ×1ˆ;btCJmij÷ oߨåÚöŽN88^ Ú±ÔÄl9p:/<{6ãë?ü™7ß~ék»HíH“ ““cbÞ¤?è™ln²{ë&ÝBIûô‹ŽUaºptÖÓõÊ|UÑÐ’™òìhàù‹c«DH1 ¡ì­ÿëÿü?ȹ0 Z Õ›cñ†œóîëö1‰Ð$$TuYj-1ÁE©ÀúôÒµ¯Åd­J)™RM9\ƒq¸Ôíœ  ÕŠ¢k‹µªGF§>•QÑTD"­|AYqlã`jUȶpì(b»)!¥uv㩳OB¯0N2‹±!Eߢ¨ “–©L8<8av¢ÔÒ“û%b —J×gr©ÌûB×+HX»µVŒÛ}4Ô¦…ŸC² áÜ kvñè&»âE¿œ??Qê ”¥Eï#¯T•\YWö(Œ‘9÷w#tÑÊ|±Ïõ«›¼q{—g‡ÏŽO™wç–ø ÌÃųìyp²Ïïìòúµ=J_8š­ØØÜaµè˜­Ø»z7?øˆM”rÿ ØhPMœ={LÃ@Í›ÛWØÞÛäìä¡ï™ÆBj”R5N!M8YŽg§Ëž¢ !í²êgÌ—+úa 8´­õûjͤ¯?ûd}ãt4¼;n•±… ,::¯®ëE;Þ€ààÖY¯µ¶=©8hUj­ßxÁe}#Ÿ¿VÖ§¢ðˆ¨þp«m$(`‹ºÚ9Û%ÄP ŰÞ,¶ÑMG!X±œ‹A’jÐ,U%ÅHõc‰#Å7a…œ{z]B\žÕB9=bJöûk&µã÷Õ^«V «7Dˆÿßþ¨J©{}Õl5ŠY—@ËÚ³¬EA²Yikv˜#fóH°lê ÕsU•QUƒÇZ+6´À15Õ ìàÁÑØµZaU&üëïq÷?~ÈߺÊÉbàÁ‹ŽÕ`ßW¡Hµû¶‰µ*ÇËÌ'ßDx÷öË+…ÛWZúÖ‹%üü¯x÷¯ÞdSŽaÒBl9þö9ÏŸpõÖUºAY,Nnžqu;ñöMÒÆÓé/ŽÜzÌÉÑ1¡i™NB%Øùð]Þ|çËžgÏ^ðÕ78™/(#z¨$ ŠÊÈŒ^…À(óŒ“åÔS â±ƒ QAG«œš/%øª¢Eí._”­Õ ùBöEF+ÂøþÁþ^=þþ¿&ñlQµøØz·T—å׋(ªgº€ø žÑ"[ h𠬕¨BQƒ1YJ-ëà€o$˜%@Ô¢MHÁ"´)Ù!2@ ÕLnŠM‚¨«Mª%{£íš ÕhC”PYmCÃnŸÕì#1ÏðeÍ®)Bõ`aÁ#^pÈ2ÕîgÅHÂù3Öó`4RÏ¢æbÕªœÌ•ß}ö˜Ÿ~t—÷nï0;Ë CÕõçŒÕA¢½_UD ½V>{pÄÆ[×øé{w¸scʧV¬VÍ èáµëH¬>c8›sçí7Øyëu6÷O8{°OZA-»»ÛÔɇG >?âðlÉ¢hÛÄͽ]Ú ]aÖšTÙœn ù ûœÎæô]F¢C {Ltü ªÆ?ˆ¸uÁ»a'–FÏ*êkä~´BOƒ=Ç%žGGˆbÿFiõ"Ò{mðFûÞmg¯ªoæ ç7|¤ÁoÊ¢7¼Éú\ó9ulÑŒ™R©Å«ƒšm£Ÿ]R¶ܘ—üôus“ÇÑÎcÊÚ &k÷øpXõªgfuÎw½ÙD´x¤/çÔ¨«s­°¬kTƒ]€(U³y¯‚ø×+ÅU\»žâ,–Ø–Ñ+øó1¤AéTøâñ woïðú­-öœ-:cÃFÜäÏd ¹Žf£ï‹òèÉ þö§·˜N[Î+æCeXfΞ2 cäáŸïsvx½Ÿþˆv«¥;lO& gŸñé—O8š-Yda–ÒLI“)›vw&t«ŽÙlÁ¼+ %SC$…Êæ´ek:! ƒMãBª¹Ø‚ºØ\ TÔo²? ªÝ‚á}/@mA¬çšãà c´Òuï±Õu½Elág­ë¹F"B-õ¥ö¯‘µ }Ž©×Ĺ=wj1K†Œ×0:S Q!—2"ÃõuD¢C/q(T*±Z”/E}#Ù¡A5W²ŽŸß1~0ˆÅè•qzÔÚ~¯‹Õ öÓ­ÆV7¯žÖï+FÏZfPJµ:,”h)Zíy‰gS‘uô×’×ôqë'5&- H„"¶E„*u$Äë·“Nùä‹§üûßâ½×¶yq²¤;ét„ßv4›ñ84Õhl •HáîÞö6u1çôtÉ¢WîûŒÕüÛ›‰›{7xòàgó3â­lÖ!ÍÖ:¯ô«žÅªgÿøŒe†fc‹”}W9)JÏ4Ád9>Ñåž­-®nO¸yõ ''gv<¤ªæçP_xâã:*Âyö÷Zûk ¼k‹óÅaoãQ¢ú×À})ŽK=Z‹iÒZ½~õb£‹­[Z©¹øµŽ§'†\©ÙüðV$ju £-dͶÎ%ýHm¬Î°erž)Qc™´8ÆvÍÀkœêµH}CóËD‡útµ2j0ÓmcŸ@)]«áçŸßÓ"â…¶“¥‰D,#Ö±ž Tìø"®#$õ¬àÀõ#U%k6&p$%ÃË×PG¢ˆ1P |s°äæƒüÍïñÎÑ‚ÃYÇr9-!%ë…g*!U®ì5\o'ܽ± CáøÅŒÓY¦+ÂþÙ’^•ÙÑ)e»G IDATÓð„{wnpïͻ축ǟ}ÉÉÑœ{o½Ãõk׸º»ÁõÝMOΘ¯Ä¹6Ù`Ùgκ£NØÙhÑ:ðüésæýŠ÷Þ}‹+;;lmN‰ Ûú«UIç~‡‘¿é²ñ{x‹âl„®'È P³Z 1ΆwQ)ö‹veM¢})ÎÖˆuÑs¬/˜QKG¦JÖ©–‘-òê)¹ÖJð±¥]¨ dcºB0l_²¢.¨Õbj£µdË¢‘a°÷\¥‰™Ø&BŠ&RªKF¾³‰p‚Ö¸f…j®ÖH–w¡”ju•@  jçú­íņHXCY±`TL¹&𠙇²Žú!b…tˆTF›„ DIç°Í!f­ÙáŒe3ÜŠª/ ‰êôìšá)c¤øÍgϹ¹w…¼±ÇÉYÏŸ¾=â¬+çЙó`ˆ*) ¥¦»-Dzàùjƒ'_ñôhÉ@`*7®Ýâ§}HÓ$ŽŸ?gcوƒg|õÍgy›;§•ƒƒðbÿˆU.\¿²Åë7w™- óÇ'-VÌ=«ÕŠí Þºy­ððÉsNç’’{G5 ¸·ÃlÙñÍþ’¥óꄈ¨QÆ1Dæ‹ÂáYa# L¦„R@¢Ã«È´i™ŸœB)LÚ Ó”˜Ïx~°âÑÁŠó¯Iñ ŽNœd2-›[ÛÜ|ÄŸ¾|ÆjV5P%šM_ ï¼yƒ«»-ý*óðÉœ',»’ìÚˆBýÆ"Ú8çéÜCÔ9,:/<×§ˆT{f:V¤êP ÛHE«O®ðH¬8í¨Dÿ}Ö¿£õÅUÃÛ[$ŠQÖÚ 8m˜[RÕØ,+ðÕÄ7 NõÎáaœ$¢ÛÃû± è²7l-b”­@–B£íßÕhE¹2*cV»ºvÐl†ÀàŒU¨žyQ$øç¨%†¸ºB‚ØD[äpa€tXÔc¡_³3±fµPÍNãR(.¼2j9¥®ÍecÆ©Þ5HUbŒF¢8+¡#V…9î*ÿüÇoùÛ½Î÷®°è OOz:¯ùìÃêX ‚&NO+tg ? ܹ¹Ëæd´§ïNظ½CS³Ó#–»W(²‰†–Øl²È™ L÷¦äù’£Yå¨[¢5Ðge(FL¨Ê:Kžœ-™Í:‚Dú¡0;›³ê =áS)^|Š+±8SsúTµâk´¬Y‘‘ïÇè*k÷ç¹ýÃ_«Æ^¥§ø?BP’•³'*䜩ul”ôÍ9šæüçÄé½â!¨ –¢ƒRŠã>÷¢×%Îëq¥yp¯’c$ÄhÞ*_`„ÐDÁ¬'uŒØ ‰ $2 18ŒP‹HÒ›5Z•2[%’Ï‹‡#¦©T¨©j£Ü›ÈÍVS«Rú&Íz²DÁ³†ÑÃV{©Q¸Zü½-è"¢Z²= g«„èljEFáMµ®©lÕuldÍxYGDÏ…84LxtØóÙƒ}~øÆMÞ¿»C7œ°?ËdÏFˆg ) ,™¦dŸýRï\+"ÔiÃO8x2#Š"W&H;çáaÏÃýÚd~þ£·¸¶3åàôk¾y~f0PgñÚÉ·8û+îoÎH!qp²4FÌ÷ºvKvc‘€Èhd¸ *;C1Áê¶H)£ç_SãqÍ~P°Q:†—M ³Ýz~*AQ!ù.RUbª[[ÍJanÓªJ”`‘Û » ç^yuÁØ Kj¶PB06h(ƒ/SÖ +ŸÃçÁ2ˆÕBÑ¡T†hã!C“Õj—ê 3FƒW5›>1iËŽbpl“‡ÀÜ«Z*9ÍE ÅÄÀét‚– Ù¼FZÕ&|¥!¦ˆŠ¢Á !6 L@Æûé÷o¤¾E.d@ÆúÈ6ŠT+”U¬¶Z"ᎲôZ%¸#´j¥h`Y#Ÿ>8fsyóÖ‹>Ó=8åd5Ö%àp­” bˆ)C6†Í¯¹,|ûð„G3nÜØä÷÷ò»¿<æð@8>î¸z=²³»‰ha±ÌôYÈ8Lï·×»ûÇ Nf@„>gº\ŒM]o !5¿ZÆÈé¼N°¬`°BÖ¡"\˜#)zNµ–Z)Z<ʺ ˜¯U;4d,`ýIAÅ•e×"¢¨3@ÆxD KÄFÅ;$BPº’‘dµO ‰¡(9{?m!ÅH“¹f×éFèc ‰[êÑ6#1œCÈjÎØZ2U 1>8K%ªT¯¿*C·Bk"ÅÀ ÙïA Ât2a±Zyûi%¥HL¦a¬V1%B5óajVBcZ¤i­Ö*ŠHuøeLY#Ãr@b&N[šI2µ%ĸ¦f%ØiBèÈöÙg+~ˆ…‘Îôi0£cµ&ž•ƒvMH^ë™Ù¾"œö‘_¾ÏÆtÊû÷¶Jåó'§Ì‡jA°Ûœœ×T"Bª³ˆn5p|xÆÆVàõ)7¯oP™ýYådv¯LÙˆÂó'3ŽÏzJ•õf.ñD¬Î³ÚÖÐêgÝ!:'\óUR\‰#7¾ÂÕٌѺá)U›Píøq­|F‹êêbØ"H^\J7`…“×xQÈHåbÞwZµZV!gÃìÔX] µ #Z‰"„d×`¬RZg™IJ†á‹’‹Ñ¯¡a͘h?W@‹ëÅÛgT݇£kJ3ç4cƒh%…膸BJ Á¢` }cŒë{£³SrÖþª4 HŒ")réûyìóIók+B®V'T‡|€¡®êšÚÖPˆÉf³æÚÐÄDˆÁƒ þMíîsµCɃ‰¦y(vÀHŠ”Á ï4»p&!XžVSÃçƒòÛÏžðï>~‹÷îíÐ ™oötE)ÁÙDÅ!žéé9g;bLQ®ß¾ÊõÛœ-ÙH §/–Æ^e{«…ÃãŽEçtä¸ÎÆÒmí­ó€šÍ{éè)qS+)ùÎ^»ÖïæŠì¬k=¾³ÇûjLê»S ÄÄ „”ˆ)˜›°œÃ®‘âU×TeÍ™»2RZ{`‚ˆG*Ö×b–ëŠH´3Ÿµ’b äÁÒ{räkB$„†Eõ¶P'~ qÚksKV·3ˆmÖè÷G‹®¯É̆%Ú&«Ú¨1»´áo%R̾€KovvUR?s¢’K¥i’GZ«œR@’Ù2ÌyFÓ6PÝôXÕ`N2 z¡4¶Á´˜úÕšç‹Vê`£WÂ48<Äj¦¬ÞðdH¥Ò¤Æ f? Å®³j=Ÿ/¦ÏÆÔ8ù¨äjt[Vxq”ùí§øÛ¿z“ߨ#åñá’eƒ¢1—Á™È![$o›†*ƒ¢d&©av²äøxÆ…R 1(W¶§ ƒrx2˜‡ 1ñv bA½Ž4²'âα¬idŒ5¥©k3¥f|,šz„6f$Œ†®`´ä¹b: Ô R‘Q…&š™­÷…Êå×1Z—’‰A”à¿Ã¼w„hÑ2猪éVSˆë ‚æJü<›Z¬9%ì"g³TÔŠÔˆ¤ˆÖ²^ˆµbÛ0ÔÁEH]ŒÑEÓhx#óRl«óúG @$WÓŒJÉD7þ™h^ÝÞY–B ¤HŸ³AG…d‚ŠÓÑ•‹ƒwáŽH!O÷Wüá/øÉû·xÿî&5ïÏé³Uת²‘ ÕÅáI›¨˜ý}ÿé«å’[»[üèÛüå«O_ÐN+ׯnÂ|>˜fT ÅÄH' Öq#ŒÐÈáþAs&÷=itÆXà—.Ö` ±â7lÞuF0›uP£›à{Ql—Žc®#¬Æc FÁ:']tÓ¢ äâ¤W÷ý—µ"-š U)âuÌHFÕB f AÐ*¶bDLHñ¡ãF¬´)Ñ ƒ-0/òd³E<^ÇR ¡‰„x¶ hÉ4Mp§¬E½ÐÜÝ'Å š´‰!hδ)Qb0 ¤:œ(Š-`Ôjv ”:ì©MR°Ï‡Db4ó_‹ag‰¢5Ï…nè×v!÷„IÉØA‚¹¿nëI Ôœs³Þ†:ªÔ¡®k̶m –¡åñþ’6=å£wïðÁ½m†>ótIÎJÛœF&ØÇ· QY,–L6¡)Ê{w¯±=Ùà›¯N!lLZ¶7¦tgóÓ•ÕªÕÙÐzîtƃ'âV!µúXK±ßYl½´)‘µÚÔM¨BWB1sµBO­xŠŽµKqÙÈÇjKÈ#C0Ö5¿Žø ©žúƒš«ÔÓeH¶ñ¤ª8Ñ€$!Ô¸†ZZªg ãÄ$Ø&Å¤àŒ’ŒV §©ÁšË›”èJ…PI­Ù9 •¾ @%¥`“±¥’Åü]`…eP§‘¥B°®0‚ )Y·Þ²/Ô0F·ÔÉhâ35>T/H&‡HídÊjµ²¢]¬[U‰mB3¶‰c¤†BЉX­¡5zánÐ'PÊ€†`Ó[£C h.¦b›]€š b¸?`¶ô0Z+¬öj¦j°çïÚK@½^Â…¬\«³w™¶mˆÞÞ[´²ª‘ož.™¤~ðîm~#ªûÕ¡b›l˜nÉëzÇj5‹äí4!j Þ´qÊ2Z[tkQ¡P(±ÛduF×& Ni£ŸA•6MP©äèJ¡s‡dµGÐŒ6{P.”¶“Ö ò!Ûz b Fÿ# ‰B’äYÂÛEÛDÓB•µ^£]Ž|õð„¦‰¼ýÆ ~ðöH¥ÝÛäõ·n±»»Í‹ª¯6pºX¹ã@øóçéúÀÉl ¥¤áÉ‹%_,Xôu ‹µfoq㨧 uSfE¥R$I0ñ4‡þ‘HÅ›fL„rÛ„zô÷â1¨ï.gIÖ¦0Î#"ゼP Š®;Ù çÄ%±Åm $B•ÁÖÁ…†Ÿª½¢±h0:qôÜ«©¹Îm‹H”<ªÅu0_‘c\‰Á ˆV‘¢w´Æî·RÔŽbJ^?»îIÓP–™,›"Y3a¨ÉÄI-¾ J1æ'âË""ô ë":ˆŸÍÐĵ²Z‹7 õó®Õ6¢©ÖøCE-# )&²öô2[ƒ¿UÇ:Æ®‹dn\›(b©»¨AÑ4mHª˜çBÜ.3%ÅÉ ¥šxÝšìY·›­Ál6Œ:„Nþòí ±‰Ü»½GÕÌÉPéW ºÅ-…Ôb+–­èg+î]Ýá ïm¨ÀFB{mùöÙ‚+†âsÅ‚xŸM&(4Õ­:uÈV?¥è®¯!†šÄiY!•š×"ŠU¢kbMX;\GýÀ ï`¨šQκ»dÍ ÕÑi:FÛQ%ƾ'¥ à€h¡8ß1Uy1˜Äú¯—¥§ˆaìRFZXÑd L+Y¨jÎÒª•¡Ï Á‹egŽ‚úš-zo!ô@0ê*!x?z^Ø«áèN]ËŽ¶y²ÂÝ£dYPµ’?êÕ¸û‘j0•…@¥J¥ªËà}Iªÿ\ÿ[Õ7yõˆo×Õ× •ªo q¢BÜ{}“eƒv"ëR¨ÛÛ©¦«Yäk0à¨Z‚jèöxEHëí«¡ˆ äÓñ¹«3—éUùüÁ1U3¯Ýܦ9[qüø ǯmSK%4ö,%$¤Oøá­×¸ùÖ5JºÊt²ÇW_=à4,+ }fC©˜.$ÕjTI‘¡dƒ”X} ŸJõ nÌa)™ÑÌš n¸Ÿ'„DQuªNÉÃà‹µŽPkv¾W¨R×dµØhµñ(ãfÐ1cŒ½Ùj–,•`_ª Z‰îÀL±°1MÌæ+ˆÁñB°TU¡ÑMªŠ=ì¡JHHÍvMŽyU¡ÏíqÙ¥zYôš$k]²j—­@®¾Éb¥«Ù¢¯‹‘ ¦-\™l$šÄ²ë)H²vøF±N9QY7Øu/ÒÈ•»Ú\ªZCÀ!¦ÝL 6.¦‘¸fàP¥(VÑa"æ|­¢ôµX!vO2…ØškadÞ|K‹ªTm¨ƒŽ×íP·„B¬g\Fu«Û(<Ðõjð©ë;Þzí*Ú-f3jŸºL^t´;®¸¾·Í6'‡§”EÇ•¶ã÷^ãÁÓS¾ü|A©ƒËÊFXÚç¯jŠ{j­MáÜñl¹h±Ã)G{½BãuÛI‚/ÜR yÔB­•q‡7Q  ƒ±µ£/3®åBÜ1Þ·ô, ˆËJªÚD&mCññ0©ITk —âöOÙ¨ÕÉX5*¯µšp5²\Ãh먕µ€Ž2h±cT?ª•6&©aÈ…®t´©1ßb-ÈP ÙÞ«èB&# ¥Ð¤„MCµÆ¨4Í”¾ÏÔš)C•ëÄèj1µ¼†<˜¸&И&n:‘¨[ÚÕ±¼×Qì(/G¦µFš˜Ðª e@c¢2¸WÊE95Õ^©„q•ì]q ƒ}ÎÎàX-i°Õ2}qò"¨ ÅÈ€Ug„KӃبú¡ïXô½9¤c¢/ðÕc$ýã·öØÛÝbu°`µXös¶Ú-D×÷®°³µIñÅý'|ûôŒ×߼ʽékÔnÁÐw 4[ Gƒe ïx¬(Eʺ~ ¤ˆAhŠ­Ë„†u ƒxKg°I RèK!+κ¨¿›)¶£á®kúIbc=AŠÝ¬ˆ sÙÙ•ªž÷¢3H¤‰‘äRJ¦Á°j¿Z1 ݘ0xWSƒ/!sƒ--[ Žù½0u!.Hò~çQ+f²+Jî3¡1k¸³…kV¨–Ô†rÌáÛ+ÓéXõ½mªZ .¢^?ÄñÙ†éÜßÔ$ë¤ë†Þz¸Kÿ~‹óè©r˜9¨¢"LcôoÌR¨ h0j»iZ «aÅj¨F`™!›óӺάbÌ_©ƒ™ ±¬Ñõ™’ M 4A(¹·.ÀŒ…Bm–•*CµzΨúóN¼$‰R ½ë}¯ÜxF,½}Ah$Ñ×è…± 9ðäÉ'ûGÜÑñøhÉÝ#'§+J1ªµî¿˜ÜÖ^Œáªµø(KC3âÎHŽqj~µ*Þ¿ŽÚó ]»¡'¦4‚Ђ”J_λÃbŒ$ë ´^qÙ+B“4F3ÆÁýNSdYaY²E)±)y° ”ƒQÑ1g²-c" e)¡@С0Šæ#¯2.Û¼/¸ÑuÁþfšØd:ÃwèP©E(bÖ…¡TŠg¸(Þ¾©Jß÷h $1Êr5d‚@ò"_KAk!=#òI(Þ™UjYg ©Õ=VêG&bª³yËN5˜+µÖJ£Â³‹f)D·i+ݰZ×BÃ`¬UJÑ Êt‡×±ÿZ©Réµ L±×1›ºÞ‡ Ö+QܦٳXµš(FaìY_hCB³e™ìïe®‹ŽžÏØ?˜±]”½ÍÄ•¶¥ÑÌпX2?{ÄééŒÓù@§põê.u€ÓÓC)¬§wI—ÊP …QIÑuVG:Š=ÛÑЩý˜……”šH"0<½È+K¸¡‚F¬Ž.JÊš¶ŒAˆUa0¾~" m´¨h Ùùxuÿ}0K€¸ŸGüw¶nûèC ôÁRÛZ5˜C±ŠQ€cÑ/n¬’ñ&Œl’³g!9jžÅµ€—ªxKª1g¹ïQ l6 a(HŠH1š6{º'ªñiÛ!©ý»ÔJã‹yÀæ2µmYIMü[šæøC#`f>'#ª“s!«¥ÇußG›Z†š­ñÚ+hš†¡hB¤(â.Ò*„jt8Ùê ©•¬ÅìÞ‚÷Øk1+yÁ¢?Ážy29÷¤ÖjFS}“6b†G5|Tèã@ë:Qq8»f­€!7ã 7nlðοù®ƒ“ß|ãÞý“žÚ+Ea£íí-ºåÀéÙÒ @ÓFrU÷ˆZ\ M>,:·”úsWg GË^ :©âÑÂëÀêX\€bâÅfˆ.Ä Õç™UÜ;Òª=¤(JTï™–Jj&H >ˆLÝ­`¨D”¦MäRhŒ7º,B¬]2¡MÞ§áTkÕâ°Ç8jE^² ¯­¿FÔ˜‰­‰Ö"j«Ê^øÃ‡0²8b´u6%ŽŽI5ŸZЬ!ÛÈ$%‹‚¹7ßU©$  iíšÕ¡bÃ$&†~e7Çn=|3äR×NØ FÙ±‚°[+ÀË@æÑÙÜÚ¦8],¬@ƒk..¾ PhcBŘ˜R­VpF˜¢‘Á¼ªõ¢Ùák±ac÷[›"R<è8…\ê`ëI‹1‘ÞSƒ÷ÕT«ó}½"É,.Woß"…ÄîOytšéºÀP Ôž×nnѶ-/ŽN™­2ƒûï¬L´È/ž k¶Ô[v‹y̪Œò„KNš µP´ö6'æ ïÊàâO4É$úP*Û©•]­4ˆD1Z ´IŽyE+º™¢Ð]ɤ&°1i ¬s<Ú†0ìSqë¸ÚµTgM*0(Á"§ÙD„>wVÓxTÁ ocfµ¬é ½V73Ìõ…"K¦çU¤Ð4ñ¡¬Q(DŸi¤Ög50mƒ*YÌ06¾!“-¨~± 6&r5Ò eð«–ý4XóM m0˜A6Óî÷1 ¶¦T„R#9Û!gËó•‰BTÓWΉks )ªÕEÉŹ’« žê`Y9N}ß¹}ÄúÛ“F‚{ rßhlJbúM×} *JkK jŽ`³t d^|ÇhĈ­AS°QAVEß 4âšR-î‡-"ÄfÖªœÓâ ŽÓOJ†¦¡N}(„e÷k»[ìlLØ~ÌÉbAlà­;×™ÄÈ“ÃSžŸ.ìÜ?¯É65UÌ)î\û IDATC£Ïù-ÖŠ+¬ƒC®º†Ô©ÁÒY_„ˆÓ}5%ÒJ eâ çª0M‘†>çµB;Z8l«˜pdr}éÐb‹%ø³‹ÂYºŽl³|’zˆâ½Â‘­`îVìsaðöCŠ1^“D‹2@¼ _麼n©¿ !˜ËWÕÆ¿kÀ‹o]³ëiZÉ%“±b°‰Ñ+{]¯-bpÁ`Ö8P5 @ƒYVâ8 C•ª6b¤xK©~-c±o™ j''qÞÝg£;ÝñêL¾±Bµ`T§¡$¨"Ħ±²2X[0òdÔ܉H)f§qT¡–l"®:‹•܃ævkÔ^¢ÍaÊÕæM‰äfj¸Õœ$ÏØ¹Gb`:™…ïµë{Û´)q2[°è;b^¿¾Ík{WhCàdѱì>”‘2Ø=ó~’êíÄí¤µÐg:ï#‘’âÐÑÐØ`ª”(£õ¡f¦)04l6­µÃêº3ÀÎfS5*SÍÛ$([³;Á"|µN´Q5g¨BMBæF%!Qö T‚Wàˆî®¦‹ÊÊ̪˜ÃÃýŽfvΞÖ:æ‰P)?dV„û½fçì½Öƒ Y`JH‘u-Ô¥Øò–­æ¸šäx9½Ð{AU˜S¸Zø²=š%oK4È¡ô ÆžÒÉ9ÓÆ ªå†&‘‹Š´ÑÜM(”Õnqü\¸Ê±± è zŒö}ôΔ } !2§Ìr:ÙmÓEš¡ê%&ª¨V‚À,zYÈ{´a¥7ƒ¼sähæ!IâÐe´}0D×f:*çÙOì3ä?ºl—²ç58t9Zwµ½yñ§(E‘îbQ”‘)aN‘ìäÏêÑøIŸ"´¾’0LÎæt»rq/sÎ^èæô±ð+¼¼Ð~6HÛÉÀf·Y2ú-Óñä=ÿg-Q|s¶u&Cˆabš2ÇóB )F¤5¤B7ö6øMŒb@bM˜ÉDz:,Ý»‰”‡ïQC’3µm?›K-Fgé«AvÎt”Õr›²ýÌ&¤‹Æ!yiËhÊ4˜SBZ`ÕfŒo&C»F÷tjç}B²S¸Ùx~xd0Øe¿±Ú´¬(Û ædãg¨MÏ÷H b0ûlp_ˆŒ6%Äc”¨ÝÒöbEB²ðdKNq{ˆ¶ .KbRm³Û÷Á(´î£ åŒ–B?!£Ãhì²0Ï‘¹YA½+øá™—saµGR*m8y+6zoS ˆ“6žé0Ì<’%«8Ê–ÌïkF’Ò–nÒ5LÂ†È  º¥6„AL¢^¼êÖûàª]—5‡`Qô°€$¶´ÖaÂˡڒg“f„d€¥¥ R2(;E! ¥u{A’$Sòfc¼«ËaRHì牱œi:|N–ºŠÚåíDó) O7ÄA“^V´œQ vQøå§¯¹øá»w<ölVêÉjªeÄkQL¶¨!í §·a%’€¨rHßüÉ/øó/îXΠԕµ)WÆ uèÚ¨ êötÏ[RÉ4âÆ¬C¨Í¬Ã!„‹<¿ú4’Z·”Œ>DûÂÝL-.â˜N¤«ááC‡!= aPi›@qèU<âRek­±+²×æzýei† LÅÂx{ï¤ Á‘¨0’‰ Õ¯¢¹æäZ5]|˜!FS´€ž¼å3ø‡£¡:Ñæý…6”.Â2šcÚFä4Q{é´ÕnÅ6ºEÇ—¨'hGe³ncؼMx8i¡£2ˆ9z±/2@땬ÂÎ3f[kôÐÉ1òl²ÉÑÄ‹IL^ݳм 4ò$¦`õƒ€QÑÞ¼ÃÈ2Æ'Ôj~è)D¢K],ÓÉÈ@íÃ"u©L€Y}µƒ®9ɸ…†ÝTvC!Ô2HbÊßV=†Ó'ˆ±A—`hÕzb¹o–"ƒµ­6þ:ÉXº¿l7°KÁ=YƒáŽðuèÐ׆våfž9—j/ùÚ]êãFûDíªLY:ïvU×çØ¸µcjüˆÆ¬Í>° îÓ¦tšå Û9†“=­5sÈ%›%k«@dš&Kùö¢›_œœb¶e/`M—â(Jí¶ÜÅh‹bmŒÍÄe hª…<ùWª ‰“‹Ù°`3U$$“`,kJ‘ .:‘L“NˆÛég#D©•µ&H˜œ<¥dÑmïƒÃnǹ.¦¸t4'ÅȨFîvK-„a)¦Öü(«— ˜èbô®6þbÒìîZL"ù(aqAcÓíH5„ ”Ò¨Ò™çDˆê¿—ÐJ³(º — —•µÙ°Ú‚ˆçù4q³ŸyûêšQ OO¼äEœ;TÁÓÊk«”èW×|÷ðO<¼,8©9\˜©Ýˆ¸6¶ ¤Ù-­’P{ó Ç>#­6’ïRâ*G–RI•ÍïñêjH‡à’Ä”‰!#­g0¼~(¸l[Škm< Äd-pÁÞǦ?’ ´‚¡®oÌ@l'¸Ú(Að]ÁqíÝËÜm4ؾXžµƒÌ9EÊŽñÛŸ³9¹úèÄnÒ \×—m˜ãΠ×vÉ|C/2öMž­A|% —‡u[Ê[Qã ̦bQ.¦ëŠ›ïÇùq4ÇvuS‹ÄA&:éePbW¯®Jžíψ)xÞzR¢Éaz·Ø˜¡¹Î9Ú>Ӈ陜 ÜÄ>“¦F'4e Éz$º£BÚ­´Ò?»cÔ¥rnÒíVH‚çØ;§ÄÕ.3ÅÈñåȺ.´Ú(Åz±VGg v›çÄõa¦ÖÆË±P–NÅÆ*Ŧ¶™ŸÅž“K®²Ú$PýÙj¹QÚ4—ŸôÎ9E’F%¦„¤LÚ ½›É%*æéµ7ÇtýÂi›ÅçÖâ³í~´N_å¢å銙âǦ1±ט¬^70@»ÏøÍ¾oâQÙDÌÈ®}°v Ųñfë¡°+Ôáwö9‘‚P—ÅÒåü!¶Ä›W—^léöauQŠï&]Ä£‰-šÒ”—Fõ¢ÑÅnUÝR¶ì¥ ÎO Ïo Öùã°L¤¡œ[AQŠÚé%rŽ„¨¤)’Ód3ðôï1ØòqC´ÓZƒ²ÉCƒmÌôCA•Þl†®Í`Ø” eB‚/ÙÆÐ JÛ³šª[vm·]hÝeÓ>©;‡áúÝn¸ ‰¥R®žÆ¡<žÎf„R%©°”jš³ÀÅk=pØï¸Ùí(ÏGNçjṴ̈}O‚¬½;ã·»ÚJDµ©/ø’ýÎK|7T1oGÒ¤hÎÙ/V‡å´ÎžpÖԌ޸d™¶‚q9U,µÎŒ+ëèè²Øâoª} Bk†\ÍóDÌ™:¸|)&ä3K¦u÷íÜ¥ÊD$ˆI7Ìڻ͸¡Ý’=v)1ωZ<9/‹ï3n‡ex¨ÀvºÛ [‡¡iµ´ˆúm°[œöÉNñ>\ïB³9f/}L~ê-«w»‰‡‡­Ó¹ûçiZ›ÑÌÇ=MhÄ)zSýß¶ w7Ï—Åt\(MâlôZ.iB* Chk3ßvk¶ûÏa´€½à]I»“¦Ú•Ò+µµ ÖÝ#œ6O|Dˆ9ÓÆ t\«Áš§eåÅ5D $ÛÖÒÜ*l¤)ò0v»‰)fžžW–¥YÚ»£‹Ã#“rGèFNÛ­ê¾3„¡n=æ’W•„±y5:I ¥9qñ!ãrßiÄ„kªJŽÂŒ„H©…>ìDì#2idm•4Ùì9‚}¨eéÔnIA½qsÈð/Z)ëʪÒà6Él¡–èãeîTµ)>ø‡’c%Ù¸!ˆR–±²ônÅèݽ!¸ŸÁ/ƒæ ÔîD’PcO«¥bK dUó]wCÕšï7½9ü9>þ }8rå$³Õ–Ôªj%,18A„í÷ïMÉÁ’©wS´\U­6b¢”ÖØJmêô:ŒàqñïBÓ–…Äð[Pu0ªq1ÃÿžÝǎаÃ0 \.bÒê5ÇAmKÑ"øCØ‚’·‘4:ô+¨: 2,ÔY”Rm4×/¸`-Õs]·”õß]MѰVžŸN—âå'¾Caʆ9:r5p¢Ôôé14Üu»¥m' þÿ“½xŒk $Û L'“ Ãä¶C}ñô8û>s¿ M€g?˜!C9A×5°®•Q! A$_ØØ6:S”KÌpÿÖ$‘sBUYZsNc‹o°Y±y’sB¨ÚIC8L3±m— ÚÚ Î‘µuVOünNÆ… ’˜bUµ9›bf• Ë Åú®+H-iža‰†ØÔj×÷öà7k£8ß[W ™vîTíä9Ò×z) 1,¾7…)Õ8„1Ôôd.“ÀGUc³k©ìRòûÃÎV,UݶÎÄËy!ùÑÅR×S'$˜öÑÆnýÎýÆK)6š¹÷¥t%t»!m¼ùäÀ§onøðþÈÃýbòÛk]akÉŒ !ͳ¹öZ³4ØË¸VƒôCˆöïtã’z³Å÷ôtâþùÌyµÚ³2º+YÕEK€D¦l~òÒ;mYQïT {[ÚS±¡÷HÃ6:©ù<ßu *V”n²éH9#kï¬kwá†m,â'DÇ~˜îF¡9ÏÐ;­/®ÌÌ´ÞÍÐ!Ø-†4ÿ³TÕ B†‹ÈÆÅäϺýóªLÑùmôM÷3u˜!©rêçZX†•3ª~ì¦R˜±[©+´æ3jƒVÕ¢Ýj(Œ: º Štb¶ƒDhWj0óÌÃÞ˜@…º4dØž³…H0ÉIïö÷ŒnSmÍ'úz«á¡õ]ÂÖú ¨q ›Ú³ûÎV—J$r;OÄ=¶‡ºÑÎv2ñ.šÈŽUÔ6Ìc.–ôErjâb-NK­þKÛ‹¦¢¤dóYˆÆRníBÃæ$lj·»ÂX@ öVÏúT1ÅgºDßY ÀpüzŽØØ  µxä¢GµîŠP…É;c“Á=¼“BÌSœ@\KáÔ:MÌ·`‰ösêpQݰ¿cÈvO»7uÀµ¹B¡WG©¾pÚï¦b'÷v£Õ£ ÂlhWi8¬£ë æÉw—®~+ :%˜GÁñ?OTÜœ_ –“ØÜ¾AßþaÐfvÈ—ꀈÍÙÑOï íÖ:¨çÍ!9 “ÌGì6¢ƒ [gj'%CíNËÂ/¾ø”W‡™rüî÷?qÿ²p®Õ|®tl$´ÓIPLò½4w¦)#zƒ6”¥t><­¼^9ÖÆªæqoþòÇ%_)°Ÿ3Iê!L6šz’M½ík'2Zrb²SÙ–RqaZr‰·øöÄ.žç³Qíöùá¦øÒLqZº2´‰ä)³K3¨c"ÊŽÓrBt3°«ŸL&& | õR쩞m Æ’¦èÃØð0”µ[Æb¢û¼;eK#¯ÝcIâ¶'¹Ô ZÇéðQÂwí†BŒ¦î)´âÿlµ‡Oð±a(hp¸O6 Ú0d¦ªEà焞;ÉwVô¸Éåµa7  Tíl¹MCM‚m ‹ŽÔäþŠdpisŽÅiQÄ_îs­l…'yçRðnE.ØålðAíf¦@ø£Ïb…|«æzN|öÅ5ûëDYÏÜøÀoþôK¤N|÷ÍÞB¯]Þü«ÝÕ¥¢”¥X²Kž²ýžmЪkUŽ §3çÖ¨go»™ý\ªqX‹yi\IPF7£™£Œl .¾Ä§?òÖ¤fA•CŒR´X Kd°ån4e8ÐQ^ÖÕäj_m@1n(¬µÃ`H"öæu]v"MyFG¡µ›æh”NJÃ黿Õç5FS’Dr2c»ÔžTÜ7Ô+{m÷é¨]‘p .0™€±–ÍB"–†aHˆ )2Š2.%å:粎bÖÚ-­N-=D‡‚Šó4 B³;Š$bd虽ˆcíöR„@;›”¡´NÜEZmçR FìM)¡Õñí¶ëeð1\LÜ\o‹¥ApÆkŒaŸ1&®ö»<!:Ì9vn^æ‚7jÁ Ñu]¼¾ºâî*ðêvGÜ)9ezYù‹ö'üÿýŠÖή#ŸîHU8=/Ôa=¯”RmƒÓ¨° È$6²Š0ÄFœí<#ØØÚºÒ†õmÇ´ÕÄyTšz …lù‰†H)Û¢HçÒØòÙÀ°ÒG”Z cµ?4¶A8{gˆ#þÅæäWWT´àeàþf1•æÕ4§ÓÊR“#3*ƒ1’Iw]Úa†ó(rr¦Ç®ÉÖ:•yCº„ŒÑœ,sÈÍçõÝ. ÕföM=´ Œj/PL ÅüȪvò¦ÐÙO§.Tä$cWÓu¹Üv @’hF©`/¤ŽÞÙÐÍ£Õ‘¯j7m !d×H•ŽÒÐÉäí¨RÒ~†(–DakÆPŸé õzDYÖ•rn¤¹ÝM”/¥Z¦íPƒÉ6"–ÀÛ»k&Þß¿ðTŽì¯yV^ßìù‡ßþ¿ýÇoøü—oùç¿úÔÁïþÝ7¼<.~Ì!PÖa})˜º”ÂUôÞxx|âáx¦2¡ÓBþ4_ý¾Yf–xÔ‘ˆÛÄ&"ö!DÛsÕGÉ8 :ÄËrlW¶Ä“¥Œ¡¤â]läcŠE·™¹«ÙíFµÑhíÏhc9ÕÞpaûËýs–`³gŒ`גɾÍ3°¸š˜’›cÌ¿r´ˆzµ®weŽÑþw¬³–JÞMF*yÚ¨ƒš‹“²¶Ÿæåºù ºi uœÞÉ›@@ÔÌœž0íÕ0m“T+Ì­X¼ùBÝ“ÂG”ièðLU—1 {(B ìs"§‰«y0ÊBNÁÜzª–³©ƒ¡†£ï¼Ë Güµc–U½™³sf5e™¨bXµ&Ò¨†ÊŒfð2Y].’MÑë,:'K@媵‚Iî{uùûPŸâLvm¡ Âìe‰ëï pw²ig5½u+flƒÐ7ôÆn.ñ¡Ó”MN^ÇEÒ°-ˆ£ÂÎ|Ç|ˆÑ2¡P9Ê]ܳ›M+:Á7‚‚þ¢ëƒ@·Ê`1=P÷.¥D+•?Ý£õ¥QZg7gF)|õû¯ùáÇGî—…;o^_33óòT9-…”w¯”_ür&çÀW¿]XJCbäé|æ·ïyé™×o?c7VŽïÎì¦Àçw7\}¾‡y>®|÷Ó;]ÑŽ窔nÜF©ÕÒ¿=ž”°!£ê§íaµ*¥Ú¯?ÿeë)ƒ\`ÁæPw9GïζnçèÐ ë‹Ã~u¸mßm…" Ñ*„"‰ÌƹÖJë•àö°cž3u4Š/ÙÖªä,wbDTJ‰£e–“¬c @¶ØÉ¦£K¢zó0IÄR7BB±‘¦7ã<Ä ¤9<¡1\¾M<·ii.n´àŽïD„¨õ\L‘«â™¬6›OÁÜÐum®Óhu?ˆXòvJÑ£kln¥ÑjÛ. ûÔäÓ”-é¬ä<ز½$Í…r"pwuàõÕ•Éɱ±¶ùÍ60Ãýê>h—ÓOœ¡£µ àøræø|‚fÜÉÝ«æ)sÿxâñxFæÀ—¿~˯¿xËñéÄÃË™¥­\¿úâÀëWA…ÓCã6_q=Í|÷ᯟO|X+)î¹½º¦×nÿ97ÆÚy{ûŠW×7æ™Ó®3Ïps=sw}-µ>(óœÙí'ËÒò1)Eq߸^d:½Û²žD¢¡9Å“³çÀˆf´‰Ñ> vE·fÙJâûÅP#r6é¯lG¡X HZ'§x9ÑS²]á\ 0µš L¯înÄŸ§™ý”é­ñXòH¼:\ƒÚ(5º!#Úh'½2ÕúåeÜÊ]f²g·:lé·D̆ШbÞU²$v)Q–Å\¾YšÂÅ[žÕo5qÂpËŽ’íE›{Ë«¿0³”èkåæúšÇÓ Š]íV5˜÷Ɉº9çà™çðcïƒãq%]ML$O,½š#úpôn¨rZÎÜ\ߘ[2ÌÛP0‘\Óî&ç¤r eØe¸>Ìüóÿô/˜çÈWß}à‡wOôuåÕÕ-¥ÙO;~ýåÀ7¼”… ƒÏ>¹á2¥êJš:¿üÕ[>{sC*‰Ÿ~|"ÔûßóÕOï©ZHô(¼~ÏõaÇ«Ã-eí|XŸ8SyM!ÔÂéüBi ׯwôÑùpÿº¾PªÀw·7쯮yz>òÓý“)Š3[÷馹⠈’juE{> ¸ôØàhk¦!0Ò@³}Á¶9Ûd 9Û‚Á}Ñgpk†tHWŒ«êqMiXºÅEæi2­—y¨ZJEso›i’¦˜XÚÊFnÅj ÁB¹ɺë|ĉ)ZúÜRÙ‡h! ²¬Š&ó쀤æÈÍ£ƒÛÅwƒhÒú³V¡„¶ö1Às¼Õhæõ(áR÷«(iNü;DƒD·.oB´<(Ë"NÑÄ‘ÚÅïýÍØui,I˜wÉí²Ø¡æÜŠ)h“!8ëʳõ€Ç@hÑ•½œi5µêåõíŽ_ÿê-QSn\í'ÖåDm•…—õÄr>ñãß½ÐÃ>³ßb³‡¬Ë­R öå§ügý%ðý×÷”~äy – <ž M!åîú€†Îz~æjw` e-ÄiðÝÓ·œ• §²òT,“k)ÝnfÚ Ï n,ÏgN/ Ú;ó=ºBHb¦ ´?”¸{•ÿ¥ò­Jžj’Ø ²²“?§ÈnΖÌœ$%Ñq¸s8²L}æÑ Nè©RÜG›’}脵Â4…‰¶c²v¥tõ×N®2b t—„À.Fó„b7D©¶€æœèÍâ*·‚µ¹ýÔo„}ŒÌ~›:aŽñ|‰àux¤|tC1øZ‡ñx¥± îBpÔMMþ¼u$oÈ[Žk2ÎbkÜQQÒœ=Řsõ%_d#ÃõiJH°¸Puñ¤úms²ä1ã ~þæ ØÕ{ IDATsÎ<Ÿ«LÔIW‡no^øå¯¹ÚM<=ùñ§{ŸÎ¬«5 !Þ;Kk'%áæj&xu{ÍõnÏW_¿ã»Ÿ> 4¾üåkf |÷õþñ›w|ýpÏ㺮3á´ȳO3·û‰He]OœÖ…µ Aœ+çQ¸)sàIÈŒn‡ÏÕn²ÐŒÖX—Êñ´šElGSU¦œIqFÕê@iMIâ-Ÿ¦Ew Q÷9»Ž‹!;Kàv·#O÷çÇRÜ«ëXï†÷úC+ˆ—šØò§bªQW}Ø’&ÆÜÎ)RÔãË…‹X.ও,K§{iSÊ”-(g¡Cô›«“'Ki[Kgn¦y9¯IBÞ »`Òp±!߀`í.g–ЩÛ¸A÷m°¹ƒÆX²ˆ:g#˜¨Á§ŠÚš-5a‰}AÒ¥ü%‰ù«C ª²À“s÷: õóQ•mDÛÝPíTOüÈœPÆI³ ËFº®Ê2ó<™¼a5iǦK )‘R&謳âþý3ßüÓ{žv3ïv »)pu˜o29%RBÜ¿¼À·…×7;Æè|õðÌwïQ*?û|ÏèGþí¿ÿ{*§b6‚yÊ즉º”ËXKãá¾p”Æá˜w_~ñ)¤J>¾ÿÌ»wňêDU–s缤 ×W) ÄAð>ìî ~öÀ6#‡ !M~’àiÚ}ëIðÔ ·àªÉÍ$㢠à ÝÑtAµÛ]câ?[B‡WÏnR‡mü•`ÿ™¦À~ž)gOͱ]×Üíg‹>^ŒaYŽÉ”¸~½©‰R ˜Ê5NÙ óùJ,ÍŠ¯n&ædQ‡¨ÍÚctãAdXâ`oŒ ñrgØH¾lº/$°åýøC©Ã U¶´¿bE,ÅÛ óptôc\ŒÀ°à=GW{¼¬K¿Hч ½;†¨Ý¢H’ùMî`„Ó$,Îh Ç™e ÊÒÙV$[U­{ñèÕzˆ[— (·z*—[eiè»4{cE¶Ä8Ó© áò³i5{È!´ÑÕÛ2M¾­R!FêàÒ¼ÓP‹ƒÏщ¹Aô\ÐÑšt9EÈA) Ûs–f/ÑáI;¡­ýb²V7ìX g7’zü¥š¸mÊ&X–kƒlŸKLÊ'¯_1$ðÃûG ñÅ~žÑi—Mû߇¥27ÕˆC‹‹±Žµ¶Yš}/„ˆˆ!)¢ŠbãbmEí3iΜËFÿë ®Å4jÃóÐQáæ0™éJ¥W>¼?²,‰›«™×××쮇ë=?=?²,gÂÍÌ›뱨­å¯þìKÂçóô´ò‡?r:u*B˜WIÑ‘]FGeJW·×¼¹¾åùtÏñþ™ÿã¿ç»'žïWÎÏÒŒ›bÀ”“¥×‹ðf¿çöjÏ›»kÒ4ñwÿøß<¿pí¦ТN„*)GËòQ‡F³}áú0qµ¿r“‰y‚ϧ…—Z,ñ ˜Ì-5|X¬áÍÔSz÷8ùx½»ÆW"BQ #¾¸Æ\Bƒsb­ƒ JP¢©8µ6—D›3açäÝP˜r&ÆÄÕ`Ñ:9'JS›9£É›[ЕCŠÌ1çı¯LóFŽùŽ‘—ª,¹˜‚Ä‰Ä ö‚†¶_ùÂÛ ¼„ކ % |r8ÐÛàË‘Å5a*J˜¬…õr¨Œ@?ÛÏÌÆ{D»qzLÉÒËMÎnÑ8†:à?W©ÍSUL•K²ßOdCÒìôlè±ËÂí>óêzÏýñÈr,4„ó±3Ö3o§kn¯2÷?=ñp<¢ZMùÕ/Þp}=!ÇÄçûkÖã#ϧ…å‡Ö‡…‰ÀÕ>°¿×s‡³FòîÀ.XšüõnO¢ð»¯ïùÝ7¼{*<¾tZ³™0xàÂíõÄ—Ÿßð—¿þ„/?}Íùyå¾þ‘?¼{Ç7'N‹…^̧U¡ ¬¶Á7Õ¤w% áf:%ñrZM8,÷,ô*#¼Þíx}½cDx:"®¦=/kḛªüVˆQ@ûå ñíÐp`µ¸›• ­1sI°Îd›3ìÂME=ú›cš÷¥œ‰i2´*e†›–Æ€ë}à0xX;å¹3Ì!1e¡×Šª1±I\…bRŠÚÞ³A¶b ‘{>úq½½ &PÝ<rY€[ä90ïwvJÂÕ<ñöî–r:s:¯d"NöîèÖ MÑ<ÃÄ@³G‹êÃ1é›s¦„î¹¥0çD_0œØ¹[̃!‰Øþ¢ž/£Eüˆ(S„„zÓ¬%’f„»ýžzn|÷ãõÌÍÝ̱ ><žøôõL j·„yà¼ÖÇBRøä&q÷þò?þ„Ï?ÝñwÿŽóO¼œWjžØ·ÄmÜóøðÌ?x9ÃËQY–AœׇÈ<í¯¯w|ñæ–I¿ûýüÓ×ïùÇŸžùP: ІM3&æÃ’}¿U<Ç÷±3Oî_Ž—b†Žn¬390åÈ,ÖZºœ i޼ÚXÖB9WÎçÕÌ÷jZ‰(Â~˜=bõëj{ºÆpƒ·“%6ƒG?œÕ“¢MȵE#–Ö Ù^Š¡ÃÞV¸ÊV¡Ö¥6§È/^ßÑŠò¸žÙ2{2’°Šܳû$FëÆŒ/ÚH³—K2´+Á€l žî„›ú‹|7£{†IÛC6U*#p˜w ­œëÉsOë°eÖœŠƒIì5hÐoŽ,~Y¤ånJ­æúŠÖÁ½¥àæ%<22\ 2ö Ëvn4öYH°rxÛ/í¶/K±/ ûÝÄô§¿à×oï˜QþÍÿý{ŽgâmäöÓs†c¯è}cÔŽ”Á7w?òf7óô²Ð‚0í#¼üõò)?û$óøî=ÛVŽ>u¾ýñ¾ýáƒÈaÞ#ZI9ðóÏnùò‹×¤ üpÿÂÓË¿ûû£ÖÒ9¯c¬˜ïœPì°–HSF†°žV’ø=%»ö[ éëÂ˲²”n•Ij œÉÒY—‚eš-ÔjKâ^kgd?n»…ÜŽ Üîfn¯v¼;/ —ŽoøjæuñE7¦d¹O¢–;ä§ ó ï0uv7¸£êÇèìüüõ-û”øêýÕ‹EQëÇN¢¤YØÏ‰”u)ä™ÒÄœk)v Xü¸ûÎŒ†4!v»Æ<V·=–Ö;ÓdãaJ×fuOQèxÿÄÛë+noö”ç#1Z)|žfl²v±3Ó‚›=6`XÖÑyEsæ‹îF:!á¢."ä LÉ J:fœÊb(Kïv+m)àVb£ Ò°,W $Q¾xuÅŸ}öŠåe± ¦·w;rÖÒX^*kçf7‘‡òî§G~öç_"‡3åtfi•ºž™›0_%W‰y²Æ© Âõ4ÓKãøéáÈg·¯È*Ü]M\Ç™]Šs®•û¥òtnœÝÓMûÉaSQàÒgìpJÄá°³ îÒI«{”wØÉR0£Tzûˆe‰¨z /›ÀÌ;ªÛp‰E$8 ã¹/ Jè°‘Ð…¾Øu¯ÉÞP«|ò ( dÏZjµÅx b·„ë”óÖŠÙÕ.9<èv¼);?{uËëë+þñ›Ÿ8W#Ïr²öŠw×3Q0vžhmPJá0íØçÌC[mî6µËï·” q(4ârlÓT‰%¦ìAÊ㢥éa0èL!!y:É¡óööŠÇ—3S´2™Å *yPO¬Çfc›ˆÿ̲R{cÖhvÍ:Li+Ê(vÂwµ‡v¾JD …µ[ðt4â'hÄdÕêüÐñÔ˜±q-$(çÊ÷?¾ç0ÁÏ>û”7ŸÝqÏÊ.dÖûÆÃã™ãɺõSåÓ«™rÕyúñ‘Ø;Ú*K¯L‡ ¢Ghb½‚9F¢ÀËó™ÇÚ9ÕÂÝÝ5¬Â¸2XêàôPŒ— ¦Å**´hŸÓœ#ŸìwœÎói±[Á_òQm ·\[@r $3Æ'#©» ÑJµl}ó3ë÷>{nò k%µ[e?e®÷;F‡¶ž\d2…„2à¼63ç»7vŠâù¼Jaã¢Ú­<#¸­s€j§ó1ů«—½˜€ß—B!2¸gÞ\]ñü²ðx.Ôn¬©5ߨò® Ñäµö€%å‰s) ì¦dË{Ì»DR«E'â{„ˆ¥Æ©Ëêqø8Jd/‚¸™ªŒ‚n)Z°ŒÊsQ¦s`ÎÉÑ3¥$£Ã¤`ÝWû=¥zqi f4j:8®«‡ü»’Ž—Bš—Dë€M´)Æo¼¾>ð|^ ÖÖYUÍš4…K“eéí*´Žg~‡ÏïøÍ?ÿØsEš&îN<ÞͲV“°W˜´óô\oí€<>™-ô´r„u5õoŠ–§P’¯1³ÛëÝé…—upj2\4‰íCÛ˜²…\Mwû­œl$ 6:êº\ü?C;2ÌL”Òìd–¿ù¥)ë2<ΑìF0cŒÁçô¡öÏJ‡¶v ¢m®˜cänJÜNÂ.ž=ì*%ϪS³E"Úbc¡Ý•¢}ƒ7—/<wáËv3ŒÞ˜ràÕÕLë•÷/'Óé¨!R—­Þ‘–;Á˜3[ ÁÚ›-ûLsfÊ‚”ÁY=#)¸\ݹ’ÞÍ™#î#ï Jñü×`vsϯˆ/»XzíªÂG¢®nfz«”Þüæ3MÊV` Ä È.XÉ|6ŠÙd)æÃnÚÑ:ZíAͬíi¨Õz¡LÝ•5 ^–ʲc˵™…WÕº@¢©…%pQ·aÊØ]6† ¬çÆ·ß}ड़XjaÊ«›k¦H90íì¿çÊx>sûê†së|ûr¤ÎýÝŽ›éÀ4VJ‡>¢ kbýrw‡Ìgó ÇUùam ]PgÐ-8Á¡ä`:¬±Þ€Öι VmUÅæ5­ŠQWâÞ¾Kë‹sé$§’C6#Gr)D­.ø²aÚz"‚}à¯HõYTÄš?‡›²ŒBê/ä–Ÿ¿ºF[ã§Ój*Yì϶«Ëpó"9®ÓŽu1Þ#N™Þª¸+Þ‡±¸¬AÅÜ|kküÄ^R±6¢¾åù4µ2•`ìr·Ìeeí–àV]†¾uDÅ·hÑü!ÅLUeû³ÃÅÒdµÁ‚P«²õghŠ–†ãC™Le|ZW>{}ÍËRxZ;Õ¡ÞiŠDO›P_»{Èm·1H6GOFŒÑRèc0cI‹=ˆéœ‚ZjvÖ¡L†2§È¹Xšx ÖøôùÛW¤(üðáÉö½ÉÆÎÝ”™%±6áá±ðýû?0eáW_|N"Qkápùó?}Ë÷Ï|:Ñ£ðÕó=u?ûäö·;Bè켜_}}æáÍ[©‚ ÞÜN|±xW§“¶©Úͳ˜¤%Ð2È*\ï2sJ<«2I±Êdß´`ÝÜAh½q.ÙšT1¢ûŒƒ¿Ûî ²Aq†z-htÍ‘ÂhöÅ…dÿ® d®¢ îB4"ätGWö7;¾?ܯ¼êW”1§{V-ÎC9Æ­&½Ï9pu53í'ŽËÊfj“Eíep8da©í_©èÿ„ÈïS Ñ…fÞ6Ù씨™fäB´)V–h¸¼¥;Äi/‹Ù*‡1›s„ÃÞ®º:䙫?7Sb„€&“oHôä?—Ì¶Ö‰Ž°ÐÌÔ#(:Ùì¿-]S°FÓ¥[Á×I‘cm”e¸ì×]mjéÔ§ó £,6zè`ž“$Ì\Ï3/µ³žWD3Sˆ¬½yÄ//؃³5žv¯FµŸAc2^G ÕÞ/§˜`W³åÚÙ¢|áoÝrš–Ö¸ÛÏÌÙäà!‰%’tÀÆ0U7'£C¿2` R»g  ! éÑ¥[w¶âû¡Z̧ªW7vs„j1 µuêhÄ$<¤`ršë9swµ§”…ãèô‰Ã$<½t–ì*:wîß ·ÊÍUæ³7{R޼ÿæž÷_?òùŸqz*´Óà³»+þÙ¯ß^ž¹š¬´q-…2*o^ͼÚÃî 7»ÎåLwŽh µ —H qP¥Ùw‡‰C³¢êÖY¡‰á_­"ÿݻ߾ü … ÿyëã¿þEé”&R†…^ëêJG±þã‘ê“§Û¢@S‚tnw™ßüâsþôçŸòÍ»|õÍ„KYÑÉäÂW³ÊÛŒ,h ”Q ÛRüZ:}éN)qÊLÉpö¤n‹±Šio̸cvѵtèÂÝÍž¥/Tµòò}ÊÜÊãñ™VAãL;-ЄýœaîĨ̻Äò¼B7•+j­˜Qì γ°Ûe,~Њ¹Ýv9ÓVK—Èjm®kñ8Oçh6jÍ»dòûhQ4çÒùô.swdz÷d´Áœ#k±¿ >Ê`,¹ÏIbB·ÉSÈgñK#Šb>"ÖË'“Ý0ygAQS¬£Scà©,ÜìfP8ì&T”Ó¨´mÏr•/¬=¨B_;(¼;½°Ÿ×SägooxûzÏWß=ò÷/”ïߟ‘Þøüzæ‹›WÜöì§x±ÄÖÚ8-g~õúÀ›«D|wFjfÇ„ä=E}4Fµ‰FEiž×ÑÁ¹5Ê0õ´‹¡-A}èÿ ð7IÇoú½½ éïþõÓÿö'ÿáÕïÜWý/p¦ršš½ú¸¡0;r`cˆ…×v‹)¼I‘7»ÌuRN$Y¡LÀP ãiaJ‘«9@[Ñ ‡´ã ð\Ëj*±ÏCÖÚ9›>Ön2”)F®rüïϵÿ¯Cøûßýöã‹py!þð·Çßýì/ÿíPþçþ—§RþëÚSˆLS4Ñô‰3Ç›¹Á0øÁ.Ev9r³K¾úîžœ÷ÇÊÚkF…AÖf'ÝP%2˜¦Hž,4,f‹UÏ)2%eY4\}'¦!jƒKUÏ{5X¶–APã"dÊ<ŸyûêŽý<ór<‰v`å’Âóqáöz¶¤cŸÐ!îÊÛÈÒp‘¢X´ü8”Á ÉàzžØm/;¶‘Õ‚à§×ÞyY ¯“CÛö}ŸKcw3\ç™Ñ”µ*vSÊ„ÉÏÕ¼›`@ÅdïÉVÈóþiaÕÂó©sZ*­*s¶û/îîÈÕ¦cLäI1°ÖÎÓZ)±;Lä0.²›Ú½X²£©ì@²ÉÅÆ÷èwú7SäÙ¥ð>ünùÿ½ÿŸàû¿;ýøÝ›?ßÿvèø›¾Žÿ¢Åþߤ Z¨Uô¢+„¨œói çB®÷™cë×ÎîÜ8•Æî™s ,–ù¼{a"1 « ÇSå0M&¦S‹¡¬XáJ©ƒãiµBæ œÅ–ðœ…ëÝì˲‰êžÎº;·Ìãñ—uaH°RÅ1Ìz#Ÿ¿yÍÍáš—uðrZ87KöÎÊe§² b³ySæcîâ¦(¡”ÊtHÊ<%ž—ÆY•X ×óÄq­ž g¿SðàcQeΉ²¬Ä¸óÅ7\frA/hÞPq‘ -æ›{®{^oÏP¨$„iNŒlÙ¯’¶Ï³{±"´ç×âÿÛÞ›[zçyÏšþagêFw£1’â ©dÇ*YV'U©Š+¹É…«\I9¹HYNU*UTq’HÔ@‘’(Ú²5„N,[±lZ)GrD3R,Q&)F”(‘(ˆÆÐó™öÞÿ´¦\|k .’I ‚ø®PèƒÆ9ûüë_k}ßû>o#ÙFklÉG3ZájÃiè‰JJk,E6eš-¹¦„˜0Ú’M×r†W™u†aÈôc¡>–{ɬª87_†H3VW,g3æí„÷ž~ ÓÄî²e1s¨$9 “gôAî¿V Ä”YŠUÔÆÐ§ˆ×üÜù1ãS~æ4|©Åðÿ[Û:ü|ÿ$ðäÞ½õãh~Í’úÊ\Gøž% Ä*PÊ0úÀ”•Äúè#ËZl¡Btè‚ ÿZeÉ 6S  Åå$A&GÎ{”6eô«MmYÇbL¢c²%(²²¦H‹%28LÐV¶8ùÆŽÖc!u[`aZÎáÎZ¬R¬»57N6LI4T)*I rTã)£­Äý&£ÅD±iª’Ÿªä³ªœA‘1füسÛ4,›Š€bµ¥«fErí¬¼éÆ"KÐV|Új˜"•SLQ´N:‚ÊcÕ‹ì°¥•ˆ ãûà±9Ó[@ÑÄ%ˆ+Þùh…Ïb&ª+rŸl ÓV‘éýÀDÀUrqw¶Ì¤Š”@™ŒAKÇÊkÖT4µ£ëGêʲ„Ƚ·7c9ge7#±‡Ýùo~£æúÉhZÏÝ—/€²$¥‹ÿ%a±,çs´Ï¤¾£Q°œÕÌ+aF•ïgFßýŠS|î©?î¾ä®ðeÄ¶ŽŸŸ¹WÕkœÜù„ITÎH‡S} |¹ IDATš½Ýs\7Ü}÷ö— ŽŽ9:>ýéM?üŸÖÙGÿèÓ«?ÕBØ–ùrØßöaskºÑìØÏ’ø—Ý%øÎ˜26gÎÏk8Ý +gØiòÂë4BËÀÈÕ‹Ú2ŸW®nõô£È2œÓò’ã¶Ð,r¦¶â‰S.Ã5ˆi3§©µˆ§(íMç´³³b^ èw= tS`ÕO 2ÕPÚ¤1/…éƒ'±Ö±œÏ‰10Ä mäûƒäEä$ggg-Ä(Ü"Ê¥Î&ÕíÌa(è,Þ…©°£RYäRw.Ã΂|ß!á½èÄ@ºQû‹–#U4AÀX‰!+aS)\¥YÌ*‹i¨µf¦Ä7‘ e€e0RåãÕ$-Tz"3©t¦iʪº \¼ñ—ø÷þâŸã»þ­oå­oz~³¡iBðTµaowAމÓÓ Ö*mŬ©è‡‰U7‘•LÎæÏÜ{vfì,iÛëZöÏsnY;çètä° Øºe1Ÿ C©2ì,¹÷îs|û[ßÈå‹þîÍ·J)}ð—ÿå~ïñ§N¿’Å_f‡xq]‘cÔ¥K‹G#ùWTÊÿ±3ú{«qZ±3sD£9^O(­¨+‹­}IÖ‘Ÿw%hë£;6SÀh接sh­éR¢ Að0@c 6†ÕÄ> Ì+Ëþ¼"L£¨g£\쬕´°øTPšÓi$XÐ)¢"8é›1Eé¬xÅŽ«©”L¯µåe0d‘ãaIáC’@¦ˆ¼¼½ÑœåGƒÂI.Ë –‹ŠÓq"ÄÂy5ÛXÆà„üû‹]ÔZövÒPY J¡%­QŒJ:p‹¶"5Š~Ñæó RqµåŒÕb`,sW#ã±AInD£Ê•Ìíª6$+mL õ®nj| ¬§Œ]ÏÕ+O³S=À[ᅦÕÍˬCæÁïf¾\rxûˆ?üƒÇðÞsn¯¥©4‡‡kOÆqŃ­-ÊÊq7޾äxd¦MÏúhõÃn­'”uܵ»àþsw*:ŸpmK7õ¨”ÿîå‹w½û§~áÿ}ú+]_ñ‚ØÖµkë§€§.^l™YýÄ¢¶m1sV×pm=ÊÁêJ"bã$º!# ÍXcNeµeè‚Ø(ç ¬†nš$íÒG9ÎhÀˆclf£G>È2鲓뜳 £Mk1I”¡UÕ¢Œð%µ5»)Z#mݘ™ô"ÄL7z¢t~$™µxP&ÓÖ¢Ç#ñ¸i(œU1HP®ŒÜOªÂ˜*oøLÂ:ƒu2!ˬ[iÒÁf…aC œÔrï‰XS¤;Ya›´"„Èj裀½nmèþ<×nÞæÍ×o0í|Á}—ïÅÇÄñí›ìŸßÁU†ºÒœ¬:nörrP"ë§HgF&h–sbR<÷Ü ®u\¹1rëxÍfèÑUÃÅ»˜;EœzLöì·®±'Dûë''«Ïüå¿ö£_ÓbøŠĶ®_ïŸzð;¯²êw´Iÿ9Ä¿±éå‘…1@ëd÷†€ÊPWŠÙ¬¦i*ºÍ)¶×Ѭû‘¬aLž1‹Knô™©ób½>1—ÄMŪŸ°•\6mJTN¡u¢2§PÆaœ%N2^ÞÚI‰”:•ÔQ¥Ã9úÈñ0Ð8¹cض’;J”X[ .KöDPYVÅÉg”¤’¸ðŒHJl%R¦qLÁS‹Äl-¶™º6X/;b̲5u…ÓŠnèB”³­ÊÔ 'ÉC£Df+i¢ÆˆŒ‹ÈêË @dÛâÿˆ·ºÒà´“R’&†Ê ¥Å÷­rK·’°B£>dºI~ÏÄD7±wÿÑãÔµfgIŠÓÕš£ã#þìŸy#iŒ<þÇOqíÆŠ)‰DA!€dÖÝÄzP:³>=áö¸!× ¼ñÜ\w CÏ…»œQoNeàšõßÞ3æÿÖaøÃ¿þöô5/„m}U àwŸ<=äÉÓÿ•çâ5ãÿµã˜á¿L)3zϼÒÌjÃzôø˜K[WTUU¶Ä„«-]Šœn&êÆ‰é]Ëäw<(MmåÍ1–<:˜¦Ì2°˜”‘xZdî$$¾ÊÑûÀäƒä?IVB"WZhƒ Um 93DI˜±)£‚`(g•£Ò“Dó4LiŒ¤ðB6^Šr4ZdïøR|b?MªI*œ'#¹ )DÚÊQ5ˆ, c×YM×ô!0&16­‡ ×Z’‘î“ò *¹Z‰…Wb„·Dµc§Œ3†)GTɨP9áJ“¢L4ȥô\´ø~bÚ$L€.5 …¡v†äåUФٌ›É3ÏÑÑŠ“ÍÀ'xà÷]¾ÄÍ«·€Cb’Œrg 'sdô‰·O89:F1àZËrÎá©Ç…ì˜Ýz…Vü­¨ôo¢Õ§ÿêÛ>ð’-„m}ÙKõŸ¦½²9~úZÿǶµ øW ŽRÌß•bÂÇ„—— •Uœßm¨Œb}Ú1Ž™)Ã*¢Ñÿ-8­]©ŒÆX™†ú ZãggLm nDq朘 kØŒžÎBRøIf*gZ§hœ¦÷c4mãGù:ƒ€ÄBÁά q‘¶qLS øH.—<ä1 æ³1ÌÈÄ’¼×Ý$YÛò–€29â‡+‡JÑ4â|ó¦,´ÉU†1ú Ÿ‡Ÿ"Ê*j'8ø)E|A6lÝ0&eæ Q‰·B¼ç²‹PºˆÉ‘ÇráH!£"øÀ¬mhZÇÎþŒƒƒ9û»3êʰZõXã¨kÉ !qûpÃà I)rô ›Ž£ãŽÓÕÈf¢SS¢ž{dá[._Ä¡8=Ï_¿ÍcO<Ës×n õ#RËUÕÿ×ïúÈ'ÿÅo?vòµ>»_¬¾æ±­± Çc>×ÎÌî2UÌê»bu(ÙMmØlºõ„ !#”œ˜Æ@ö2©ÝLˆ ËEà$䩸T*à3«ä˜du1Ñkœsw!iƘ¦ SÞ,n¼Ú(ÚÚÐGa%I|"–¤K:ZÔ³ëõ@UWÔµ£R–ÊÔôÃ$ —F¤®RTµ¼½%wI`ʆabtªŒL¥s9 *¹LJ2k–áRe¦@0¦PõdØæ´¸[’ÐrÜÈ%Dk-xÏ·ŠzRÎT öæ½ À&D É, Bi-È,]¿#{»–¹î&´Ñ4•`{sKÝhÚFòµ3ÐT•5lº‰õÆ3øÌf(mH1põú ÏßXÓ•pEÙͱeŒ n8ž4D7‘«§žÇŸ»…O gÌûtLïûñŸ½ýý½+/Õ3ûÅê«>2}©:¼9~áÁ7·ï‰>þFåô¿Ÿrþ¯‚1Ìæ->knß:¡Q†”ÕY6±Š2ÌÛBÀ|–m!ÆZ±_j¹0F%º¥8%̘--•‘ÄL­ä3N „è‚xuÅ¡è‡Ä¢•¯®\ö(Y ÂÒ.MYÞ¤#!IÄíμ!E/üªbÊÝN™CÊlz/-)S$óJ\ˆh鄬¨ÂI’ð 9ÿkÆ9§‹s/‘UD™2DT‘¤³\žÇbZªËÏaRñ,ÓAd“Èg§üMsQH2/¡œ«¢ƒªk+ žÁ3yÅÐg\ehf`²ÁgÏñzà¸Ë¸ÚHÀM ì,[ÞøÀ=@æ¹k·8] Œc`ð‘®÷ì.kÖë‰nLìŸßã¾s{h•Y0÷l6=óÝÑþà©g¨û@Ÿ5Ìçh]ý¤±|ÔÖõï½çyY¶^²âÅu|8ŸO^¾8$¦ô;UãnÔûóÓ$4æºDÁŠC3QÓ:%°°1ÈC_;#®­œ G ¹/½Ë`¦­4Î*¹I•\÷þL¢á'#ª3âBd^[ªZ³\ÌÈÚ2 ù¥)øú¼íÃo³-ÁÇ3æ0zœµrÞWŠÖ:ɲC8RNj«Á $ 4©°¥bB¦ôdfMUXN2Tëú(†¨rçùY++*Ô.ˆÍhU$œÝQ|”·ßü–û¸ÿòy‹ºèÎF;-£Ü:\ñÜÑš«ë C?y°\þÄßùåÏýî'>{óe9}±zYĶnÞêŽÆGï{`ÿ‘ ÿº?®Û¬¾»mœ e”ƇÌ8Fœ*¡|F±ñBdn¬ Ž9‰”"Éù7#C(4­¥ròl)§Q!%™Šc”®„1P.´J)ÚJ1k UU1ŒÈ/M‰D¶@/Q•VYBˆLS ×ŒÁO³è‹T’û‰6"H(´ ®RP!R‹Iè0²ki°•¡®Zƒu3óAXH9¾@<É)S9Ñu“Øt+nÃÒNÒÖÈÿ;K÷¨4‡H!ÑjCçS”Æ‚V2ª€œÑ9s~Ie奰Yõ¨œY.k²†õ8ÉDIhü…ý]î¿|Ãã>$Îí,IÓÄÞbNe4£X,,MmXužiÌůIa: ‡«dæätàp3ÑÇøÞ˜òOœã/}à7ž}æå|>¿X½¬ b[ׯ®On\]?²¬õ#µ3&åôÝ©Øü|¸µNB •L¸Ç1á”ÂU†¤5cˆÖ¢ 6V<À…3r×h‡1’¢ÒZ;N»‘„Ò‘J–³V ]f1s„ «ÁsÒÄ,­Å&§L“©+Ò£ø$\㤃e£˜¦XhÛ¥“„¢ª+QúÀL+W³&²–;‡qF0•ÌL)I} ¶ iÔV†f¶²ƒ+;€1² Ò€PJª6R>ãhQ Æô,LIû8ÆD ‰Åܱ·œst{ÅÐ{RLÌf5®¯¥¶uX«Å®Ç«¨S•å駯rýú!}×sþü.ßò–{9=YqãpC?dúnbÓ­9Y¯Ç‘ý%Ë–¦©I‰Ÿ¸u¸y¯WüÒ§>Ýâ™kþô•x6ÿÍzEĶNÖáäÒAýHLéãJç«)ñÝÑK´1š¾$Ð+gñI|ÆÖ*°?…‚ÊT¦j¬È/ŠdB#8G¤¬ >ƒÖt“¶©—7®ÑLl j ½Œ91øHô WæÚFŸG™W¸ÂP•p¾ÄÞN ȱÆç‚•xt¹äçòöÝk*|ÊôEž¢ò"—PYŒþ)'ún Ò&6•˜]åð)â§DôÅF±²†-VvžXÂVå§•Ìj´µ2œÛâý Í„’&;Ÿiö—-)%î½ç.Q k…sâ‘Ù].8w°ÃЬמ·VLåH×­ú1sópŪÛ`”‚Ï^½Íª‹L¾ €jÃ=ëMGgÍûç³ö}û;¿øÏù Ÿ¸y-Ü‘…°­WtAÜ8OnO_8W=’búä̹çóê/L$:äUfº’dcä\샴+}©Y§ ZDÚ@*‰snŠ‘nLœtCˆøœEä‹CM©mû¥j(¦rÌ0 Ùi²••ùŒõÒ–ï¤h­¦©_3L‚ÈlkW‚ÏN"¢Ÿjm%Rô)IÇHÞürÈÅž³ÜS´Ñâ-Ð`k‹1?zùø^7© 7$`F•Lî|f–J$ÂDPåæ}bÔlP,ǹ½–ó-óF³œ;¾éÁ‹ÜsaŸ©ïñi 2ñÀ½¹û܇·Vô}¢›B¡³kÖ›ÊJgJ£X­z®\=âp=a«šÉGrX„B> 1üø4 ï›Æñ£ïÿÙ‡¿bÝÑËQ/y—éO[Ÿ}|s¸òü¹KBzÔoÒ_ýWBŒJ37ÌÚZdǃLJL¶¹´Ÿïœ)•ˆ³¥,Ý42x‰wRF$=iË~*%UG‘zl¼‡XÖ†™Ò¬r*9¢l ¤3°€µ™¦2Ì´fw·a5 ÈùEa!eVbœ,ê˜3cÊgG¥·qÀ"á ñÅ ¶‰€UeI%ìÒ{ŸçO›iFôò=ÉÎ'Qþê"&$ÚbYÌ9ÈÈ¤Ï‚é Šï=Ç·¾õ÷Þ³Çz}ÊsÏ_ÃkÞtÿýÞ¼ÅÐ˪›×–s‹9­­ÈyÄ8ÃézÂÙHeÇ]‡É‰ƒ¶AiÅj½¡›Êâª3 ï ~L׿÷£6ýµ^ö•ú¾tݱ±­üþµ+ßúàòç'Ÿ>–¢ºâ}úo¢ÊÌæŠ¶®ðÞKš'2UÈÐ.øLS‰£Î…rJ<À)1†’dP”‹%$—cJ.ÊÅQ¥²€ fZáŒ"™ˆ0I·çDÂè̲2¼áî}f-§S‡u=ÉÆcΖhN–éóDdÌêŒ0'èu Sa¨*‘Ž+-*ÜÖI+9)…M¦ø”u¹;ÈA.SŠ24UAÜ …ãä³°¤ÒPQr@r3¾Î‘ЉÝJsñ¾‹¬×'’‰¸tÎQ „Y¿@,L‰u?²³hX=µQ,“c¯i8·lé×D$”'+Þ“SþtÊüÖ'?|û¹;÷Ô}ézÅL_¬nOáxåo4µ{$¦ü)O+¥¿G—‡1«,¡ÊœÁÌbH%£!žQ'ÆÊ[RQh Ó°%`Ë¡­ÆɸO “3%­®$¨¦I.àóF³¨4ççŽïxà.%nõÜXuL(†1ÊW—œ<Ê‘Eo¿hjÇ”DÉCA€¾«¤k„Fò©ûË–Eëh¬Åd 3éKŠÅ›ÂvrO¹„‹~E±Zp¢Ö’b`¾h† `¹q5T5 ݚãcº®£ª+´±ÌÚ†“㞣ӎ¬#{;sâ?q›>äâµEBH‰˜»;x6Ìç-‹9Æšw“ÿirþÇÿëÕÇn=3®îØÃö'Ô«bAl«ëýi?„ÏÌæöà÷µÎ_H9}­@™òÆ(sŠTæ)SÞ¢š~Jø ¦>ÇŒ2 > ”$å©ÌPtù9”"©²Kª"؆ÊWr‡ˆ^üÓ£õ¸Òž®+Å4•ã£É¸Ê²êÄÔå¼f5ŽVGì,+–KÃj5r:J<Öó×Oilª(–ÙÈ|f¨›LŒŠ7ܳDžvF:±ÉéG§0=ìWG¿ñ¡¿ÿøó¯üSôÕÕ«rAlëÊSý³ßôæÙ{SäÖßRúïCa •“Á?‰±A.–IÖZž¥Ëƒà(µøõÑJtM³’Þi Ó$¢¹è#®Q¸JqÞiÎ-Ú$6]ä™Ç}OC†iŠìî´£åh¦Eú½Uçc°Ö}$Lí,¨$3‘ >rµ(—ååg(AF’-žJwL!ŠU¥PUFYÐQZœhdqå-ÐLPž'ýÈN£˜W «ì!y00_4ä Ó”¨lÅf§@ ‘)@=kˆ:¡X' g0J£³Ì`ŒEEÃÌjŒâ]NëGç®ýÈþñµ«wêÙùjëU½ >ÿx÷,ð¾ýÏïÞ“búLÊ|»†ï‹i‹.•äè!)òà+S|S*ž,ÊQCyAÀ+#~‡>ŽÒÊMJÌÙÝwT:ÑO·:nŒ“¨…rÈ ÑStâÉFB9 £)Ót%-¿íòˆ/N岿¦‚Rê$Ý$¥#JgJ:QÊdt§}†PBNÊLBÙL3³,v K »»3tÝà;ŽOÖ´UÍj³!ED9EÉõ(bÊl¶†k™ÏZœ­˜×sÖ›ŽUß‘ÒDΑÝåiŒÞµÎãûþ÷ø…k¯ÔóñR׫~Al볟e¦ZÉâã6Vqî.ËþAâ®Ø«vyæÆŠ[·n’¢ââ…]n^?avjΟ¯ÙÙq4e=ë~Me5KS5ŒÃ@Ç݆““µµ£~$žxöùã_û½ ×_ñ‡áe¨WU—é+©aW{—Û‡SΦœþØý­6¤pFT¡ iÏVJs~Ö°œÕ¬‡‘Œd4N¤ 1‰–èð¤Ÿ9?k8¨ çÅ}ç[lã&Íó7V\_ ±"n{ù¥Gß¶5Óà™ºDu)^UÞêâJS¹´€‘î×Vd'brUv¡$*U:OleËCÉèVh—ÑF{ÖȆ11›ÃÅ»+”ÄJ‰“nÃ󷎸uû”{î¹€Ñpt²ÂÕ°³chj!wk%Ôðe[ Ï׬€Ú8úaúá~ô?Ÿbú‡ÿpÿ;Ï?6wæ)xéëën‡xq=÷ðéóÀß»üÍíÝ ‹™7{•ÿb Ê›M¡ƒ7Vä$9Ç›J„‚“bº‰‘~Œ&N«ž»šƒÖÒhrÅ•k·¸}:¡Ñ,+é¥Þ:êI¦ÍSŒÄ&áŒeL•‹#L‰QR˜y’ã’)yi‹¢)—‰í"©"¿v®@ÈdȦLÆÕŠªVìíµø$AóVkúÇ)KÛ*¬Íô£Ç÷Š0)²M`"ëidµ9a¶0T3…«5UmQÚp|´¡®Î´ë@ÛŠaQJÿðÁîÎû>ü¡§oܱ_üËX_× b[Ï®¿ ¼÷Þö’Rêé˜ùŽqŒ#!‹aQ[¬.2ðr—È9bAE‘c“$ÒYÃéfd¡5í…]Œ5\¿¾áÙ›kŒu8d[ÕÆr\N5’M¡»ˆ«¬PË“<äÖê™!§(¶TÅÙ E2Îäë”ÝÑV|®ÈgùÑ9ÊN1¡43‹­ÆJbPJ™Êd\%yßziH>áÇ€Šu7QÙšÖ‚stÿä•k8ëpµá®sûXcéûÌάfwY³éW䊴ÝþÐ0NO‡åŸÿ“Ã×äb€×È‚ØÖɳýµ½{g?›B~ ŽSÊ3éLe3k¥…X¨ Ö)vjKmjnHà¡S†ÖúÍ@W\mÑÎqxºaL‰ªd9Ĭ9:î„óªUñ-(Æ>œy«»ŕɄ)ƒ ýÉexjkt¢äDkÉ#CV©øÊå;fB0ItXaJœ„D$ ‹Õ** ˹Lø‡M nj¢¯„÷ãYÊΣ Öö— *k®>·Â6°ZÎ/EŽ¿IàCü!¸’bøà/ÿ7oÞ¹ßî+S¯©pül'wvÛ÷&x òºÿæBY¬5X ^IæóÒ-Ó()•®ÒØœ¨” ŽÜÌq{µ¦ïFTÎÌ*ËÁbÉ×O8Ùx¢Ö%WNpŒÖTŽÔµ¡ïÅäc$e}öào/ÈÙ µCgÙ¬Vg1»Â–;Iþ)²£$ƒ/^«„v0Y¨jE² ²§©4˶â{ðAî7×nŒ$Ÿ9ØkX×BàV&sãöŠÃÛ˃ m5ÃäÙl¦Åeðñû¥rtëNþN_ÉzÍ-ˆmžôן=¸«¾”úJ= 2ÿc[Ih¢ %éh9³O®ŽêÅÝ–Ev™[GkLN\X6œÛYHæAD§K÷¨H.@1މváp•ÈÇ M¾fËœTù,ǪxœR¨ÏÄ[qå(¥ÌvH'> å`o62FÁG*•%ëAx@Š,jMm3•†àÄn;›[VkEN‰ÍÔŒ`îk ƒ?¸éýoVfö»üÕ[ÝúÞ‰zÍ.ˆmÞo?s÷¬¹+¤4UJo]éK.ƒœÖ#m­8ö…®o¼{I½È`…R¾»h™§šÍfâöiO_sg %©1'”ÎTM¦ª ÓÑÊ”)ºÌG(2‹œ¤ Å™RCˆÎ Èkœ$wB¥­¯B: T總IDATU*‹ÉXÅb×rùò‚1Ü>‰$U„JŽbÝøü•#ÚZqá`ŽÊ°œ5$«±Î²·€ÃãŽl¥?è§üüõÃþýnß¾S¿³;Y_·mׯ´® ݲµ¨ŸŸ9óXcÔ_ª èœH:¢*æóìZÃ[ï[pþ|M²™Óu¤R«MäÊõ}‚“I̵¨‘H0^ a>«z/—æ˜Ëƒ¿MO•)4IïsΘœhjKS+î¹gõØ“²DëBùÛéP™ÙŽcﮊº’ù8D†>ÇDd%ZW58-»P[WcÈQQÙ•>¥wÍêF½ÿáO¬>zûºïïЯéŽ×k~‡xq}þêæøÅï|Ãò# žO1_^­¦ÿ©™.]X²9Ñ9áÃĹåGƒ' ׯoè¦Èáàiš«KFCVd_4H9Ÿ¹äü1»¢¦º„B†‚9(ÎÎCPlŸ/L¼sδFsq9ã¹ë7‰ZS—pKïóÙĺj ;»5•UlN=ãYŸDÆAdëÆdî{à€Ë÷ì±\4ìí´Œ›#,‘ѬV=Ý™¦ ‹Eû΋;;ïýÕúÔÑúµ¼ªêjAlëSO­n?õoßÛžÓŠ«3W_º˜cþé_ûÐõß~æÉax?⯛ú†Þ!^\?ö«O­½÷{¿ã·2ܼz«;²òo‹J3„L7Ff è"•6ä$\)IåJ¤r”É[â¶ÒŒ½§ÕlçÏJAímmO!QT°êLí2‹ÆÐ6½JŒ°h8Ÿ û´-ôñˆÐ½œ»Ðpþ’F;¹Ìc•È]üUßÿøo~øøŽ"^¾êõñoÔûstüä÷ÜßîùÄm¥Ô¹D~["c+…‰â•P”ÙÞvŠxá\£83ö[0®›Š˜oê=©`8µßRøqp‘~XÌ:odÁ¡Q¤}—W -<SQ.?ËYÅl©8: (ë¾ß9u‚âý¿ù¡£W½}óÕP¯/ˆ/Q¿Òï½{§Þ5Fæmm%¾èÛ«Pס*F#¶`0dp&B$Í4EœsÄÑ öÒ*ú!sQܶ–Ú*†.rbšg®qîÜ.N­‚œ^@Z"Ês \7È¡7IXúÉÑÄÍçáoª¿šâiŒùç>ö/Öë;ô~]Öë âO¨«§ãÉ·_jß“ÉGÖ¨ýƪ·yï±ZSiÉfÐ#/2ñH©’g}FWœµV1›iT¶¬W‘ä!M‰¦1TKÐ…¤qóxÍ¥ ¸’Oc–EfÄ'¡’mÅ3žÂŠ<´>™Ö~zú™Ç^3’ìW²^_ŠúìµþøñKw¹ÈÇ)³ë¬~{mµya´°½ ‹÷œÓBİ`œxœ ™EkèÖ3c—È>1o5u%ë©‹œ®7Äœ…Œ^®%bNåÚ«5Ñ(BJùþ ïyâ‰áJjñR×ë â+¨_ÿƒ“SàÇ.Ÿ›-µVQùÛ¬Íÿ™k>ó¢ ‚œ2ÓhW1JY†ÕÄØyÎí7W#ÝÉ^•¬î„5PÕšAG¢´”zQ‹6ft­ÀQäÕCA8#?u|s|}1|õú‚ø*êùÛÝê­Í»•RoÖN?up—{ûæ†Ç÷g#:Ø…D3b·²Â•J)²³°ì, ÃP´’h°„vQ5†¦-A.F6g±³%pdÒCY1˜&¿ïè‰ñõêKT¯Ï!¾ÊºÝ‡|cnÝÿÖù'­Ó«“.|"çüïæb V@¥3uãXO“„×ÍÌeöv…nÞwG›7ŠÝÝ 3Ó˜¨*iÍö>}¢© >$$[¡z(yõ®[Ov¿µºáÃþ,^Kõúñ5ÖÇ>~´Þupw5³] ¹ÍðŽ­º®iµa¶ÛàÏ¢5hÑÔµ!™½…£ª §}`‹†['»{W×AEÊEâ!2S\åŸØlúñNÿì¯Åz}A¼DuxuꀙÍë¶ $þzJùnk mF%\ m m-G!cm¥™·5Ó„£Œ e-cìXØFÈ{S|(ÄìÎ?¶ZÓþY_Ëõú‚x‰«ÛŒýlÖü0ð äûƒß±³pdXÎ4’UWi¬…UÌf–“è‹üCÑûùÂSþ_´Ñ17üèÑÍþõ£Ñ+P¯/ˆ—¡ºn÷?ø¦ESœ\««1ÆwX›™ÍÑGêÆagÑ8¬³vÙ›¥ëÙCÉäzêÊ&ÞéŸç©^_/c=üÄz~ð·´•$oiS~‡± 2U ;çNV#ýYîX†¨Ê9§Û7»þÂýë‹á®×Ä+PO?ÖOÀ;¼kæÆÁ³³°ï° êt¥ð9æ˜yÈ9…;°ïü̧NòŸø—¾^/Kýˆ¼LÐÚ¹çIEND®B`‚pioneers-15.5/client/gtk/data/themes/Iceland/mountain_ore.png0000644000175000017500000020140307771100213021214 00000000000000‰PNG  IHDRÅåã”3ÆbKGDÿÿÿ ½§“ pHYs  d_‘tIMEÒ 5Àи IDATxœì½y°mÛuÖ÷›Ýjö>ûœsß}Ozz’òdälƒibBH€¸p“I†"U‰ƒQA…@HG q Mb(šP˜@R•@lŒEcº°] ‚MÅ4¦‘±Ê²±Õ¼îvçìf­5»ü1æœk_IY>ÏHOZUª§{š}Ö^{Ž9Æø¾o|Sñ™ë_xå÷ÜíëÝÄø û?Âkáí€Î!'•“âçn?_¼ùãh•îôï©/¹Ó—{Ã_ê_ö |2_w >|ëíoæ½Ó/D)•sÎ(kHQ“”†˜”µš_²ûj^ì¾ënÿ8Ÿ Ž÷úLP|Œë®ƒ!gøÓ/åÛö¿¥,þ•RcH)Q(Ú@J Hêõ~¾òú?æÊ|èNïå3ñ/¾>qÝu@|(|ßøø’phm³OƒÆBĘѶ#çLRà´!å€UZ}a÷gùùÛߎSÓÞ×g‚ãŸ}&(Êu×Á°OÏòî›?ÌËá A¥¬µ&†LÖå‘DŽ֚”J)”R`lûý#Îdz¥À— ¿•ŸÜ3êŽ?±ÏÇG_ŸöAq×Á²ãÛ_Ãßžþ ê›!}eÍ )vÐÄÑ”Êh J–(A¢µ¦WM€˜È9*g"¿dûU¼àþÁÞógãéëÓ6(^¾áû_Ä·ì/IYg€L¤3–cù9)‘Í9Ê”ÐÚ’âú«:ËÏäè麎£z‹þûü{»_ÇÖ<¸Ó÷ð™àëÓ2(î: ^ŸÇ7MßÌí²!)2YcŒÀ'J¹5Õ™ˆÂÉÒ;$)£B\Ðj-ŸrÎè,Ae•Fkùº1 æß¥Âü›~ææOò³·ÿ3Fù;}?ŸîÁñiw §tÉŸÝÿþYú¹YYÃ2YÐÚJÏ J  )ùE£)­’Odñ§Hë3Œ1xïÑZc5¥I•Q~Ææ„ÎAi_~õ[ùœþ¯~¦ß¸£ëÓ"(î:b6üé?åo-¿Az­3*¡0(kP)— `™ƒÇƒ1†eYÐeË7FIæÈb•0ÚÉ-P²V¨”Ñ$tXp&‚_0dTŠ«0d5¨Gü»W¿Žgìûîô½~:Æ:(î:¾/|ßtóGjy”sÎX+sÎR&)¥ÈYòG3Ó5(R’Œ¢”À²…²fý™˜ÐZ²ŒQ™ärœÙX-’FE: ³°é;´F½Õ}?CýW8žÜéûþt Ž7lPÜu@<ˆŸÅ7Ί›ô<)‘k™S!¥p¶ÃKÙt$@Í*å÷"Öv„)§Œ1Ä(™@¥ $lNÄå„ÊCÄ…ÎN%¶áj{ƒ1 c”Ò^ ˆ·þŠø±ÞÎ'|}:Ç.(î:æ¼å/M¿‡âÿbŒÙ9G…T’b[È:Ë1>Õ;rÉ¥29gb|:³@ ð‚ÒYz “åƒâõè~0üë|Ãôn!ÔRnEQ]ТO’h­À¨!„’49 1‡Ñ-è ‘Ü2€1ŽeY0Æà´!„¥dõçTŽè8a–g"6†NÓMgáÞv¤ï{ÆÞa­%OR´Ì‚ô.)%u?üß|Öá7b8Üéóz£ǧtPÜu@¾ØüFõÒ>ÛOåÀø” Š;—tÇŸÆŸ˜ß fKÎ9W¹C-¬Ò,Ë‚ÒYȵ±}GŒ‘N;)±Tɹò Œ~êoJY”ÑZ˜ì*ûÈ9cPèœó„6Bî霰 “px†N ôJ¦ë:TŠ ±­LJ‘6—‘s.Aà½oÐï +õvóøIù¨ùNŸó§bp|ÒÅ]Ã!=ËŸ[þ(ägcÌu±×ÝÛ‡¹-ìZ«×Å[¿ÒtWù7*aŒjk ŸâS%M}]­u›—Xv-s\Žä8£RDéL‡@¹ƒg"Ñ EçÂs(±ªðr)¥Jó¿@ß÷ĘYbí5äwæy®÷­bÈüT÷;y‡ùóŸÖ’‘OÚ ¸{i†ã;Â×òw–wa:÷Í)¥¯Ð$?µk @'½f eW4þAÊù·Ò¹e™šMjRûˆ”¦s( ),$°V‚¬ò½ÊäèñÓI8‡pZÑëŒQ‘±sX…ÜONòû1‘r`ìú3²p JŸH)áS&'…*,c-µRJä$ BJ¨e¹áß¾üÏxÎþ“;ý >Uã“.(^ˆõ{ã/âχÿ…!çœk£lP’¨s¬Z¤òÿ›pOkü1p )%¬Ò¤ZBÖmr.&O gÁbuò)’CDçT!p®')°)•€Y€D¯EO«ÂÌØz+¥ZíE ™qì%°£§3¶†\r?ÞÏg Ò˜¼d*r ö3!ƒ_"­ÞdßË—_ýf6æÑ~ŸìÁñIw¯¦ÏãO-ïfR÷2F·y×Ú»6ÀÝàSU)‹Ìú3HÏRAJ©¨R ãz¼÷ N•Kíg¤‰øi’ Ñ8×—YЦÂJÛ ˆ Cë3„»°VãL¦ë,¶|Š+¼›R¶,¡IN–e à‚h’>JJ­,Iñe1æoûé—ïæßÜýaŒ wúù|²Ç'EPÜu0LùŠ¿þP_Úšh™‰vOÍ1ÄQVÊ A}4ÚYY)µÀ‰1–™!Ý2É*ì“€ÑZËâ22vj­mýÆ|< ´ë\™¸K,ËÔP­yò¿PJáœähž .hR“x$¿08[Õ±h#vJA«”n0(O,1­°2šÓ2“KÉ9ãƒü[D‰š”ÀÙ¾ŽÏ*c _±ý>oü¶»ý°øä Ž©Aq×Á²áoÇ_Ïwªß$%ŠÖ¹¢2Pøe‰IvƵÌXÑšE"Q3@‘¤%¨TR ²­HÎ Ñé‡V,s@Z­/Ñrðm$µ¾¶0ÑRžé,%ÏÐYÂ<¡R¤ë-qñ8­ÐRôÖ­sõ¹æLJ<•ýrZÝC$P2„0ó1úò» í¬‹Úqþü’Bõ<ä—]üGÜ×o\‰ú¿” x=ú†÷§/å[⯨PÎY`˺ ².Y §Ñc GTm¸G¹µþÖœ“9‰ºàêU«îÌ‚ÿ qge­%"ÅÆ§4‰IÖåëMK¡‰—e¡ëácÒº<šl$'´ÖêEõ¾\ýZõÆ“¨ÿ¸Å]Äãüþ\~7·ê„ò9qÖ>tÖ2''õTs|þ3JÉBÈΛsÆ)ªŒŒž{5;T›šõ$é<;h­ëbj½J}}“Mùw"kU£tÖ“hR:#›hp†¼JCêßl2-½Lo]ƒ€•Î"ÆÕnh:®”!¯=J °¤Rë¬í”Ή/æëøéê¢ÕG¢þãw KÞð×âïã}æ£3¹î‚9‹¦()š¦háéÞÏtÝ ¢H-ª©@½ kÍ]¯ºk`$EËUº!"ÀzId­š\h|FÕ;µMû,˜TZK—¬ÕSš«‚ _õçm‹^QJ¡:¹©ý~¦ÜzŒúsõ½E2V鄯HܲL8×Ëß «“ |…ûjžoŒ~ãuŠ×CÒý÷ò¯â¯§ßQw°¼bò²ãJVø2ùp6× +ï\‰Z7Y7ü>’Ûô[Õ4ì¤)® ¤²Ñm‘5íš!žB·Ú{Å{žuηò³ÒÔwÆrjÁ`•d,aeØë¯Ïé©òªlMŒ˜ P2M3J8›$TaޤŒÎ:'@€4í™AÃ[ž½Ç›ž½¢³Y©ã÷ó¯üð—3ÄOm‰úëwÌ?‹?¿…2©&2eQ&EóQª ³3–e™0ƳI8£É¡ˆóŠ»†Î4˜5ä´š Ô¿YÍÌ@ÆDSxJç#§²ÐÛîJ ¡,²£ŸgSUrÏ­G)?S‚4¥VÛŸ\*D¡/¿ûô}Ô©ÊصÖíýÕ'¦¦ÝÊ9re/¾ùcïaB)E¿yðà ³¼ðÜ3\Ž–ëK‰=àæ0©ûËŸg÷ÏÞ…Nû;ýü¼‚ãu Š;wÛã-|‹ÿ?yl~Šƒ,½Î"ÔÜ´·#ÍhLÊ:²*¤›Òm‘×ÅzÞ‡´H çÜ™€NzBãÙŽ¼Šý€3Ø“öšU)«5-£‰ÛÇÓï³fƒ:€Taa*HvF*j׵߫:&¨ò MŒ¹AÀë¨ì*p±¡‡{‡sЏx™- Õ|ö‹Ïóy/ö‚„8 á°Å‹ÎB 3pµ³Œîáᣇªï{î¿òß0¾ö?å$êwwï¶×ó7Ôïà§ÿ ×ÑÏÊ'´Z?&BXœ MçaTD™ž ,Ê:BùqäS Ó·Ö65ëùlu Š®ëžj¨¥ù}:h¤ž_3pöõ•ä;ŸÛ®ë¼¼JI~¯Öø1Fb1U”È5S„s8¸f cœ«%áC ª‰AšõΊ¬d7¶£Ã™È¦ß`­e9qÎðÎ/¸ìÖE“<7Ÿä‡ƒq™Ùô» Ã`žÉÚ ¨yIØïùÜþ;îtm¼žq'AñzHºÿ)¿œ÷Äß[nÙ{ߚଠJi&C”9„Epvçq)¢:%d”vAU&Áåë­ .L§Ý™<<·À«½A‰®³gcž2#8¿*Š´¾¯‚ö¨µ4«’Yøœb¦&$š°Ì’¬ågjo”µ!¡QVîKYufÇ)%Pg,*{rðŒ½cКzëmfì + –®ëJI™Ø]Ž\o¡3 ?Æ*9ÌeIbµƒâêÊ~Ô‚Z¼üê¬ü“ÿ·¿üËpñ“ßEýÇw/ÍøBþÒò ì½Ã9'¨RÖ"Ú+½Æ’šØÏ'™.¸½R üBÝoHÖ‚îX:ú¼™ýÈÜió”é@-ÍÖšÕ=µ÷ÍÖ 7cd>ZüŸV>"á< •}³Ó4¦ eI1!Ô*lškÐé„Yfº´´Ò*(‹WUžKå%rˆôNàÔ”½Îlá¹ëÛN­ ~ZxþMÏp½sœN‰"›Ã:!ã´b3~ìÏi °ß/$»MGŒÐ÷àÎVTÞÀãÛ#·‡¯¾ú@½¾Q$ê,wºnî28>á ¸{·½{|ëôûy%ý ”5b`Dn€±d%¼vä2,“d÷\›QߌŬҨ®g´%ë•d«²ŒZ‚ÔÚý|jÍ9GRë÷´¶m¨–,µ‰ÕZü˜ˆÒ‹$ ¥kg,Vƒµš‹qàòb{,Ù¬fŠÛÛKH̳gšðq-Íl\}Ó1e ¢)£f¯E]k cïè ôZ±ÛôlGDzLM»u½»àþ}GŽ`íÓ‹úGº>üê››=WÏÜcp77ˆ ®"×»KŒÓ<|âyðè ?áx<¢³V}ïøBþ[ÞÞ}çMí]Çúžî^šaùîô_ð»ÈÑ©Îá[ëN›”fB²h;2$#0bò‚Ó»nE_’—a …i%k‘+ˆmLuàXëøÊKŸ*rîŠQÑ&Z%µiÄœÈh V§êν‹‘g®7\ÎdÆN1Ž0öÒ;wjýÎÝ`<‚ÛÃÌiñ̳çÑÃ'tž}æ’àÓ´ðdÀÇÌ” ['%QïÐ91t|:'Fkœ¦ÖòT¹x<¹¾¼àr;Ð÷rCö#€óëäááÃ[#ðTZƒÂ*йš’Ž$“Ð)È|ÃfÄZ˦ïʼƒa™ö Î2‰N3ädÈCá%>ºT™¨óñã=¯¾ú*WÏÜãùç¯Y2踀?Òõ[ŒŠlÆ *{6½åxœ{ÃíáÓ|‡q–{W’×Ì6¥#*ƒBÞkðbb0Ðà0M(50Œ9ÒÒš9^}åûýž‹‹K¼ðÌõ%Î9Lgð>‚si_üt»Þ¢½@Ä©dP);CåRò2üœ_ó=ã÷üoϾž·O¿ÅÝHÔëºýÑǘ)îÞmoÇ{üïá‡Õ—¡”Ê1‹â´A’JКëÀŽ~Jb¡ (ïQ)⦵rµG¹…_Dã#ÍqjçDT×=A³4d½–Seðf†f’,¥œ.õ.Ne~ºÜ»Q±#¡æ··†Í¶cÓ;Ri¶_dǬ¨–¶Üf>øÁ², óç/2væ3-U| †Î93ϲi(+Ä¡Ó?[-YtR„ýþÄk¯½Æ²,ìv;ºn ïWàažå¬é˜¦…×=^Ùü™çYÌ‘·/§‰#Ã0°ÙU¬¶Û-/Þüj®—ÿënp|Ì ¸û¾Aóó¯á;Óoĸc\ØS5ª®(?ÕØ ïðÓ‰N¥›^üŽ´²Ìt]‡ÒeäòlbŽ$":á1V±Ÿ˜ Õ÷}“8TÑÈl³Ó× µ» ³ [ι²àÄ®ÒÙžq:yÍíhÐû™œ3}? Œð9Ã÷ÿÀKüà_Á9Ç8Žl‡‘~p¤‡éÔæ­OûJg..6Ü¿­-?æxœ8-3§ã,»4"×9ñÙŸóž»EJ *­š©Ê˜û$0¶|mÕV…°Cäââ¢p7žiZØï€€]×aŒaGR m¤už#>f¼¦)U« !û¾o·~ÝZËŸi£§ï{¥üKü„'¿œ!üøKÔŸ*Ÿ^¾áƒü<þªý&ˆ‰®3¹O)R«¡L’RÆšz–'̳ Ód$„³Æ #1§‚ŸkŒ5tH@8'i¼7>ÌhÀ8s&ž“&ºë:¼¸œ±Ê RD+Åà,ÚÊO ¬MïD÷£Åu£zÆî¢•›Þàœ,ö®9a®üÄö¢ú¡”oí®¯p~Àn³åêz'{”ZÙåó•c¤DÒ$ºâ†a%Á™,ÿsbMYͶ½“ïëRw›ù™|äUµKÆ S£/Ã>2fZç"´†aYÇ4MxïñÞÓuƒl*¥ù÷^‚xž=··‚]^^Èœ„_KÀÚ@ß÷L“h”5 -›&a¨û~ä0d¾CÑÊÉ"¬<ÎÇÄv–˜ó<³ß¹9™'ɰÎ1 Ý*S/óÞû3¥€ RséÃÓtÀu†¡X–%¿’~¶züÂ÷qÿÉÿȽۯG=u$Ú'~ýHÁ¡îÜm Ëü>~ û÷Ée›¨HH©Õ–ýfÄiÅ|{ËtÜ‹çQóc…ãq:{¨2ºÙ]`mW°þ 1zTŽ,‹@o Öi‚O¨¤ˆÑ“‰2!WllÚØgi¢­ÕM-j­œ$64ªõÕÒk¨\JªÕÃ*Jy Ð€uãÁœ] ø›ßõv››”©½Ÿ Ú$½ÙlQFkQðÞNä¬H á4¥/Š\]ï°Ö6‡g®®¥DK¡è²:ªºVàÒU¹£oz°nÜHƒ>/Üì<Ù¤|›¥;¥¼RÊÐ÷R^]]J Ã@œÅ,!F¿f¹‚@#œÏ¦ï¤1/_?Nò¹v#a*ùœýW±ów+§ƒã΂"£ø^ó.þ†ýÝU–œµÖø0ß2@óXí Ê{ž¼ö2yžIó±IêÙwcÓÍAãÝõ=ÆqØ/t¥·N¾Êmg:äàé:˲b!ݪlÚûÕ_ér{Ö²¸½ÎXúÞ•i´®”T™í0žõ,æXœ8œÎ¼ý­o¦ß~td¼üà„zÞûOÞG‰Ëí}/–—µ?Ybh‹Agè:™í6VFiÓÌÍÍM‘+–8&pyyIå4¡T.ö7‘ÝväòrÃÕn‹R«'TUçŠz·¦==Ÿ" ¿ãt:ñÁ¿ÊíafšÓÜfÁ«Vk»Ý2 ———x?ã´¡ï{–éˆ1ç“‹º© ä>]Éše³)@Æñ°0ÏžÍf$eæ÷ñ§_É?p7‹·\50î$(^Ñÿ¹ûKĬqÎå”RÓÐTDD)ÅfsÑÔ¡É/¼öáb9Ü0v•2Ç£Ô”‚„Èk Cj˜¼5nwô}/&^ɳF†ík:–eaØnA¬(«8¯r•ãQ|—D‚‘è|hJå"õÈ}ïJ¯S“’ %Z‹,=–Cs˜ñó‰Ái>ÿ'~.×ÃSÏçC¯ìùðËxðàÎ9v»+:#Z£râiaÐáp8I†+»²1ªÜ[±ÀôbE³,Ka¾¥É>í×GNæ ì¶µ–Þ)žþMRR餦éØI‘6(Ï_Ê%Ÿ"F‹òöxâ•×s8ä~È¥çØÒ´œZc­”lpc×£´ tU,æ먬Ω•‰)I†)CT¯N(£î/ŽÏMÿF~ì‹øìú1ÅQ=Ï·ïæ¡ù" åJŽÉ%ÄÑâŵ¢ëDž‘µÁÄÈÍã×§F››hn•OXBù\êîîS¤ëA˜Ê.‚,ì«gžÃvYÜvKZÖ…¨³Ò2/à´ÁO'ާ=Ñ÷XU]þDûd’¥w†íгÙ\0ù…ãaZmî• N†LœŒ½âgýÌŸ‚þˆ¾b¾ýÛþÚ \ï.šµÝŽ2¹WЛê9+ Hi˜rEc ɨŒ’,–¥<\¢ðU¦ÉlúÎXׂœ“÷â;Þ*u|ö ®Ãûõ5È«[zͨ1y™+/’›ãñHÈp{<0ªt¿Sà¸=œ8NM æ:9¼Ÿ¹ÜnÆ®d”\‚³¨(¨Ÿ ˆ©ÕVˆÕ¸­Žè=šš¦‰/п›Ï²†êzøc½>¡ ˆt|·ýmüSû.@gURž-¼BeY8nñÓIôùÆRÏcðóäz§Ä/ËÙoU.Î ª?Qµº¯‚s®-|1(Ó ——¸~,P.$•Ç‘åtd:‰ÉÓ[G˜ F^›ýÊa´¡œ@g4» —Û Úɽï77û6Ñ;ŶSü´/ú\¶ýÇzRð÷ý®®î‘³”2Öê–!æà›³Æ<ÏMWµß߈ⵅ'Mi*4˲”!1wsÎ|³7³:Ʊ/œ„Z{«$®$ûý‘¤V”(Ì⺞|h†5ScšOnuô^ø’ÛÛCû¬Ž§ýS™µ"W¦dš jÙ§‹Iõy Áz,šØÅvÜl3>fetâç¿–gÍ÷üèôG\£]¯œá}áòöëQÙ`RÌJ€Á¹sD!M©3“:öþHœ<Î(¡rýþˆÍ-Ùª&¯0a.îõÍ;­XB]Ž19ÒÒIprÏéÉ#Ç_¯  IDAT&»'kø˜Ð+ÈÑ£²Ç¦±(hU",’™.Æ MëTF@Ûx¨ÑgÃ: Œ•òBƒŸö¼õÅ?f@ÜÌð×ÿŸïbž"oyË[$/½ŒêŠ=¾fò‹°½)¿Üd‚òéòÀüêG¥-˲¬š¯”J㜠Å%d’,1p±dˆ(zB˜$=X僎GA´ú¾'ë?Íx?Ó[×z—ã|bYÊ6› º<«XÜØ§i"¥Lß»VúnÔç ›~hDHÀ¨B°V«RïÅØ¹êÞêl{½$K¨Ò¤Ó>÷)’ÁðžãQ¼—Ÿ·ù¯Ù˜?š¥ýÔõqÅ#>Ÿ¿²ü1ßdúþA~ë[ßÚ„qÕ®2”²ËR·ãQ\8iÅØõ²#N'–àqeH(L‘qtP&ÃêÙÓºªY³Ôµ¦sew/Ù…Ñ™L2ö2{l7 —‰çž3Î9ŽÇ#§µÉÈí…ßZzuo^¬­1¯¡nPbŸo¾ÁÛÞvïc>¯ïþ{ïeš¸·»×êwÛÛ³‘Ùü”J·º˜×,k´¨¬ØŸŽåŒíXf:&ª9BΊ¤t©Í!P4O3Aeî]í°Vœ³®ÞOïc D_"ÎõdexðÚ#q84 µ1¸Á *åqC™§•ª†ÍÓ´<5ËÞu]ËçÒzÈL~i.!Æb˜s “|YQ6gÝæO¼÷â§å,ºÔ×µd”ç@~iù¬ßõûoúM_¸ûË|ñöa”çG{ý ƒÂ«{üýáåo>Ÿù¸Ïø9i.ô³Ï>˲,m—KIcºÜ˜Ø3]Úq8È‚UÙ“£ Zë¶Ykµ¡©KQ ½ØmØ#õ ï=n›#_β[Y-¬÷ÆÁnplvÜ>yÀ4EÖÝuì̶SÞG¦i¢ïÛíVÊ‚(¤Üùø§OÒ oe:D®/¯ùi?ùÅ’Z¿vï{ÿ?ãñÍÄÕå}lgÛ)sŠT2bŒ¹dCÛ.ÆX-+¥Ç(åBíwæ8£“^ãò÷Hו/%†NHÇúº"y‘à®3ç³ÌUTXz‹¾ï±Ý@B3Ïâeö!'9ÙO3Ó$%¨v¶òZ Œq ¤­3èU”Y{»úžL2à…÷©=–YŠOXЮ[P•¤tJUÛˆSN$)ź±| è¯yïü‹Õ÷.¿„cüm|öð­¨øœ>¡ HX^ºþZ~ÀýzŽû›/Ìþ[ûË‘½Îl6ã 6ñÈn4XÛácn}…sšm§HÁà0Û-—Û ŽêHoMƒ#ÏÏ…¨B2«4¦77ØŒ]çØôkª”¨UËîª åšßë‡>ô©•ˎ蜜úÓŽy^a¿Pd Ò3M‡Û'-“8çØ^ŒŸ¸;^xáÍ`DJÝ9ºyù¥n³4äe΢‚%çÑ%Ar–%œA¢¹-ìêJ@vÝ@ÎåÌcI³ÇG/RZ#"»jj€Ñ²€ bµÙ mÄ6„„Ö¹e%²ô/aYDh™4¾euN¯z°à«sù:]h­ÅKN‚p… ™ÌiS…¥2|*Ÿ™ g*©RÊóÍ9·Œz:ÍecÐè(™5.+7sZ<æÌº´öfå3¬USÖÆð7o¿Vý¿Oþ~Áýÿ’gÝ÷\Añ1íWô—ñþ{‚®ë¸9Üd?¸oÇÅÅ%¯½öc×ó¦7½‰y>µ”7Œ9)tA4€ÂŽ:B‚‡O&^úð+üÐ?„Ÿæ•”cµ†ñÞ7 ¥c/65›~À9Y\5ê MÍTÒ¬Ê|Dð©ô$I¤¨–‘ÎüïߥO>bû¦AZ–…Ç㌢ï×××-RÜÞÞÒ÷=ÃÐáçW[”2<|ò¸ÉÕçY¸•"—®.¶l6ÃZr,Ó27sµ:ë}>Ñ7„I|˜Bx?¯£³N¸Ê“ˆÈ11v=W×;T’X®6«1ä–=dÆÂ2MÁËsÌ9¯(ŸJ- jÆ4Æ´ÑUëôZúyY¨•ÓÉ97 Ñêc¢ž"kŒ)dc•ó‹(´¢” —²™„†>ÖÆüÜî# $jf=›°To龇/¹úïô,y*(öù|—úc,úy:£sß Âc¬â¹gîa:i¢b̺˜B-<~|CÌB¶Û«-WW–¿<ñ¡—òÒK/1ϾBŒžäÃS"@ùf¢·®ñu¯æ뉤‚Ó×fµÖ·K×  í”5@‰‰e翼¼„(hÓn·ãt:5v6ùÀÕõŽqìéû­µ,œÂh­ËÔŸ¨/–— yøð!Þ{ÆÎq}yÁn·åbëë“ÀªÞÏ彜[Õ ƒC~aš¤l±Ö6þ¢3RZUô­Î~íl»®·\ï.ÛxlÝLÎMrˆte·Æûx<2yÑNÍóÜzÄ–Áë†UÀj]™çæq¥]sM¯Ÿé´HPT1¦ÖëŒ{ý²Ð%£jg›H49ø¶È«ùtÝDzëV$ìlN¤q½R‚HV˲ð¯^~?óú0ÿWC•ß ¾;ÿN>0ÿú¾ÏN+¶Û‘ëË œ3-¥ÖÉ´Ã4óøfδ™äý~_F(„Õ|öÙg¹=xíá “Og Uêx•cC\ª \a–»Î¶ƒHRJM™Ùþ²´Ý§î¤•Ym»HÈO=˜ÎHïâlzzëÚ®w˜NâR­aìDÁy±iͺ¸‡kv›-1ùƸ/e…O™ÛãÃÍ­<3kØ]nÙôÛAʲ9t™³bY¬-M¦^9n§FÆ ~/÷UϺ«Ú±vôØÙ®›Rb;ö*E›,¬;¨¨R‡ÖCõƒkZ*­¤œ9ìOÇöìk¯‘Mÿ5ù¥}–狱¢tçv¢5sWdž}ûóE,Y<‰é‚VOð¹k‰üWD¤»"F<-sÛå^C[Í-¾|¬URð îÿ÷|öÅw~TPؾ ÂÞ7ÿ,4s\Çv·!ú™:.ÆKŒsLÓÂétâñí^š`' öööÐx†Ó2“øàp"ò ½±.I)CÖ„¸ˆf‘Sv:…s ER¹ìü© õ&©)ëŽS?Œñèp… ª;§*ÒÚZ6XkéŒLãõ}ל3ާ=ÓéÔ,gTS¦ÆEîs™&\QÛRJ”êèm&GÅéxyIÙeÝ8´Åq8$L·.À 7Ö5KM¿Hã;Ÿæ¶ˆ«fIć¦4áâBþì3×MhwµÛ¶òN4F²»[ëšuæØ9.//è‡â(DÊ=‚ðx<¶Ìz•ö;mÖ™y>?-3ÖtØ"³™¦¥õ•o‘µ¡±ew¯s½*ü\$„D¬²¨RÈf‘Ñe2Ò{ϽË]ËrUO‚? à⥛¾¨!äj’"{ù–—~‹ÚÙ|å ¿™gº®Añ·n~5!„㳂Êä««-/Ñ0gnno8d´p»ÝJÊ=LåÜ…žÓìÉii»Ý°Ýp¹»f:2-Ò{äYâ\Òs¤>áŠÎ´Ý"g’RL~Á$±³ 1A¨–0eµp"NŽô­ ûy-Y¯‚ ÎTõ«q"R‹™W¼V~ªþ}PJžÃñ¶Šb»rt°¢ë-W»–³“²4Îã82¥ãÙßOBÏ$ò¡H81.œûDù%óeÅéÔΡCkÍÕÅ}ï0(ÆMÏíí-ÖI&†®0Ã!ˆLB2±4²IÉ<»V‰Î8ÆÞ@ ÄÓAä»Ý­á¸?¢œ¢T-=1²#'%sè\‚:=[Wâ0 êÌ^4¯Ê„ŠšUB².êšá¥‡(36‹d«ìYÀȆ´Ùl$«îŸÐwb9¢ÎO>wyž9)bŽ5 Ú±@žÝ[ùÓ¿I½Ý¾‡ŸýutúˆÕ™‰\HD‘ŠqìÙm¶\ß»$¥ÔˆÝëË y~¥»Øt-È+#›B±è…C—€1²Ä…Ú`¬"Ìg ýè²­”ú<Ï丗 ÚŽ«YkÆã<á—\t(¾‰Èê©Aûã‘}è¦Ù—û?~Œuå è± "ù*íËÃ÷…ôs"Å(°cE‰d!ue§”ñ”<}76µ'ÐŽèÊimÄ•Î{®.¶¼ù¹û<ûì5J”U,‹ââbàööI©ââ­Ø^ôïx饗ÈYÈ1k-6׆Nöz·i;˜s®aêÆ‘O+ÅÕ8²øI$1åÄ ¹ÙùeÑj’O…è~@jûTŽóxŸÖ =OÄ(®Óimr—‘#FeúΡµ!Ô DU‰A$¾”1 ÓˆUæc&§DHR -~i;¼1fuO)"h•w(bð~©Y¼D$…‹úT+‚cp“‘ݸéÑ“h˜êU3Eel[æm;©È&昰vnœAeŒEƒ5“¢æ´ø6(CY¥ž/ ÃYù–] ÔÒšUëˆi-­ÒÌ>‚—‰C)Ãä½f­Šò6IÈ:XÕ îÚ4GX8w`ODrã Zó\ªÊ/j/%²~žâA*Ø£gìzœ3bŒgU™ X%K5b«Öܳø‡…e¦Ž?WeÃùßKI‘)CggîÑÚI Z­5ÊÊ›5Ö|æpš‹,6-βԙ¹ù«‹hNbpÍBHV‚pY<)I ¯ÚœW&·ÖçuüS))[_TJ¥ÉK mû§lQµ†ò^Ää i’!=õ¸±Ì©¨Ž-RzÎ^dyrh5xEÕê{Œ¬Bºúz š­¾ï]O\dÇ%fŒ‘`NiœÖùöM?´ u.›¯#§V‹y‚ÎKI2Êeˆ°ÄT´kë9~ó\›~|Šœ‰yñi)ëÑQ0äyA(N…Ji’’@µ5¢Œ1tÖ¶tBûøN\¥­;;[ÍØ†Í˩ՎVC?®Q)ÕÔ’uTuÝYÖ^Dv™…àSÓÕQÎ55]׉ÈîÞ%]ge4TA ™ã¡– ë¼:Lû=Z(gÛ"žg™k¨÷!Û*©¢¸¶ÎF˜×˜ÎÆ?Sf*}ÅŠ\ A™ÉÄQQ4Óiˆes5­Av®‡ÞC¤*ÖZ†Qî£Ê×ÓIvÿmû´fÏ%ˆ–¢•Z‚̹,±–Ñ’Y¦¥NJé\"ƈéêô pm÷ž¹ÂÙU¢T×n$¢|Þ«¾d‰ÒzÀ`m «6¿¦æJ¹{¿o‹Æ/r¢Pµa¯gHä‚Tä¬XüLß+GÁ:¸RQªÕé[J®ö挡·šív[H;‘jœN3Oö·8/„£ÓUÏ/ÎU9ÊÆ·Ùl8N,1±Ì¡"L5Xcê/¨™\~;XÑêÖäú›ÏR…Ge4™³LЉgi~êaŘyjšÈ jÊ+*ÆeňehEg…²å”8÷Ìs=A4æ…”6[Â<ák ,Ζ9LL>Ð))eŒ©ƒª™YŠÆ*4ôÄ´ÅiAÍv›m›Y‘‚‡°à´c· !µÃÜe"Ͷ÷ZÑ”ì€>E’Òø´çÐд§$ôí¹­²øÚðÎóüêSÕz5¥ )ƒQV|R"FAj”ÊhDUª”a®:£¢ªÕZc¢@ª”§b9*‹³v=¹©3¶ñ!ÕyP6UÊÆfÚÜEcàcàtšÖg–"b*#Á*¡­apCã¢Î7gAפ·ê]׈N­5&ÓqG™-/#¦8ºnÌ "Çã›CÄ® ‚+Ö> ϱջM¯ byØuâ):vòaùeðj¬ï²ÖË)Rxƒíªô;y™¡ÎI­§–lS÷”OÓ46øPàÉØBw®Z; Ë,mÁiÃÒ¤¦•TÓ45=P$ž•™®3 vÀXá,.¯.xÓýgèû‘ÛÛÛ³šü‹ûwh¤Tm C¬¤ ˜ÃtF`j"‰e–{¨ÇÇÛœ€|rú Õ+rhÛçÕø,¥Xíyê%~N™¬5!Cðsé|ËJkaZ>Å©ÈÖm#&ÖúÉK.*€u—†b¢]!„¦4¨å1†Ó鸞g"Zç2L¦Ê:먳õ™Ör'%!j•~«/ÆÛ­Ñ»80ʼÏCn>äï¼Ê£›[=|ÂÍÍžyž™gé)ý|ÂRБŒF©0JìB7:-¡MDUØ*'½9x¬*®ßÅ&¦6Ð!1Æ¢”Z¼KE‹#ú™E)æYˆÀàS©÷E[TÇJ{[N -æIN+r0žÎ ä\íñW2'¥2k]þ0 ç ñH]O*ÕJÎÃPJN»È1bŒfÓ S?ö†íE/°³†”ºNÓÑq*Žw9gôLqC„ůÄWÕåXܾK3H9’+Pƃ¸ñ…0Ö´ÒR2¤<´èˆÎUÀëXfFYMΦHc”fU)y • QŽQV(BÙè´Êbf]|—&¿<5¯á‰8%ˆc×uÍɽödP+ôj­lPJ)bÎ ÜHȽÉIµ¹,pñ™ÒFÜBêÁ81zb*=†SámÓ´´ -„…Ǿ÷Ó̲Lì6[6Ûý~Ïûßÿ~^ùðK<~üP¸·*l4¢\h‡fªŒ=?½³¦ç¶»«ÕKäð1B\ŠæÇª%-Ã÷¶Ì,´”w~žr\¹ÂgõC>—jä[ r®¤5Jzm‘é¯Yî+Ô×Ј†Ù6Ôa‰‰QX¬»ãÅζìOGX2AUNe.xÒö }©yôèIë·N‹4ÛËĿŠ:‡21Ï­¤œç©í†U†®ÊÎm»bîUH7[v}:ö”¬V¦„ "¦ïš¤"L5KU³¥2DÖYžg•ÇéizgPÊb ZS2NtZ·r£îÚ9D†¾kÊ…ÛÛ'M–Rwô¥¸ >:8N¤°”ÍG^÷¸¿¡¢eõ¹‰Ÿ”o½N­ñe³”rPæ9Dœ9y©«³V61F’_¿‡¸´MÚZ‹2Žãq*§¬³a³T ÖZÅYëÿJj”2«Ê‚WºíºY¯dZ×uø”ÅBÞjl° ñTeÛM´—V²2‚‚‹jŽV,\ˆ+JŒ¼ eVØ+‚ …°™Ë®)2’%’²øTF8S c±:šc-Ïl!«Ä½"‡ˆé{R’s"œWÌ%m/FzcYü²QÕÞÀ{™¾[æ #²I$ò±ˆÞ´Ö(Ùß<æÁƒW[_¶-V Æ˜6*ë½çtœË¼ŠkЩÌi{RL‡#§Ó©M%Öòö¼I÷^l5s–ìºÒë<›BvRp!0kÝJ<~ðÓéTÎ¥HÍJÖ€€§Ó©-Öép$FßëÜm{ÞùÎyû oåêz‡V¶ô’šÛã0/T—•q칺z‘ßñv~èý?Äw|ÇwÈFf~‰<-sc¸§ijYsš&’uúnl³èJ)öGq ©êê‹‹+6›A,F;#ŒöžþVJaME>nŠaæl¤4$0†Dæ4{âq*ÇáVÛõ²¨CÄö] çzêä\•?ÔïÕáürB^µ3Ó”ˆÚ“»žã1° ƒ­‹i²hC&¹¹Î ¥Äáphg¶U£fÓ9)íŒÓM¦×Í‚F£µ æ,^ÓϪôO‰åt ¿†èƒ4ÑÞãç#9²‰ùx IDAT2©ìd)ñ}ïý^>ôáæ©Lò<ÇaÛæ®kÿ&xiØ É´¢ÊÌó©eTk»6ï‘Y³®èÐf”­‡£Ä3…¬*e^…Z¤!PξPÕ‰Cµ «Z_VfŒ¹íЕ³è:‹Ó=¨ÀOþüŸÄ¯üê¯âó¿à³!Ãk/?ä}ïÿbfñö·Ót„¸wï_ð_ÄÛÞöøÀøþüÿÙzÓh[³«:lîîëNsï}÷uÕªZ©¤* $ƒ,dc,°Á#!&+Œ8xŒ`{ ;þ‘ŒŒà„ÆalÓ™A J ‰ %•„T¥j¤ª÷^½wßíNóu»Ëµ×þÎ-åþ©ö{Îwv³ÖœsÍù2åu«ãà0ŽIF‚˜Ñ¸à²¨³¶ ‘:¥èÀ,ÃÍ仃 éC/Ò¡J¼Çà<ÄÏüêÿ9? —0.æQK"L¦Ujªuw±ð|U%¡Å`±•=ÞM©¤ôA˜¼’ Œyþ€O;²YÜ!éÒh¥‚¢¦”F„ÇØµè:ŠÀ¾Ýàüü˜jLÛ£ÛlÑ÷-Ø)çd˜-¨ÊB›ŒÑóg6I¢R$~Æ9‡~hɘ+É¢™éûc’Ô3ô\´‘è7=NOOÁ£Rj¨Â ï&nˆ¡T–ºpZëD¦M¾»Zè­KP"±¹BPoÅó(4ì´£I2:Çð‰Ÿ‡¤IZ3Ú7Ær”˜{HýRÓTôÜ—VÞH¤nV¨ênèqï}Wqß}÷áôôgg+áül‹m?äy›{n‡~ŽïáÕW_Ýy<Ëc0ºÉ”À%f^kQ-ö£ªd2œæJˆgêcòözW^—ee 5|Bdd‚¸Âΰ¢¤„R(8ë“,›åÀ€LæfÞ[˜ŠFÙ¶‘rYÔâ›[çB d<åG ›.Û„@6òÎS#EÂ<&ldVK²ãcG' צã8"0Ž/&$¬P:?Dnþƒ 8>8ƒ ¾C&CþÒˆgpS“§ÑÊ d_úg!:!ò¼Å¼©Ð÷²4tu»Ep#Ëp¥AÃÔtc?ŽˆÂÀ‡ˆ`)2 ™U@là‘,éëF×xùæ-´Ûmî9Ú~"‰éŸg3“ä0³ÙÞ{l·$áh۷聾*s?×öwŽOÓ!à†MÓ Ýö<( r+ÇÝh1ú5ÜЃƒã‹R£ëi“˜dbA`†ËÆÏÃà±Ýv¹Ñ.-Íß÷]€.Ê Ah¨è;‡®`tnR.0:\¨H|¢ Ä¥ÞŽðQAêäxèØB‰r»)—ÄÓÚB“D‡Ö8­Uéé𪤦0ËèRÔ’¤k!¢. ´  Q©Éá΃<’½÷”?›OGï}Ö¼„Èc§nNO‹¶ïáÇ=ò äa\ÚŸã¾ëW½ÅÑÑDð8Ü?@sx€×fU>Éã=ü8âä䄆ƒ´I¹i=¶›Ž&ØÒIî]D»jaûC»ÅùfMx¾%Y÷0 身“UB²:Œ¡Eã8¦q[Ù¬Æ_ü‹ß€gŸ}]G‡ZHl{b”YºB@5#{gCFb‚·΢¨T!ÐTsxtƒ‡ £”*°\,q÷ô ëÕ6¿&ݺÉ`n½E]“ºtú´¹×¹(Ëëí€mg!ã€Y]b¾·„÷gë ÚÞ%[ÐuQfB-FmrèÛzÚ }?b",JM„Ûí6O‚n¸vèòØj^ž Ø€•§RMÉÑPUóIhc9’ÖØˆÕv•yf i‚Ó!$à IxyvI÷2Ü*dZ‡œmÀÕ%UðîL¶n ›“DNLÖ h×+¬Ùa™¥Ñ©¹2"„@ß·)…jà®ßæ˜ì䵦kî~ñÏ𱳊R6×g§’æ&¸g`˜s·–&øsbÌeD†?éä2(ê }O²ç¡í0 ŒŠ¸vù?þÜ÷àpAâw?òû8;>ƒÖׯ_Ç܇?}æÐZæ’G&eäO<'Ÿz>ÿü³p.¤y”õj›7®”Õ¬Êù ü¾u n€@] AC->R³ÚŒX­ÖBàøì”I 3…D†é¤ŠÍkH£±Ún¦8_‰ù|†²¨  Êh4s*1ÞñUoÃü—úòýy±þþþ1Ta°˜ÍÑ÷=^~ùæ{Ë´1'ŽÀZ‹OösøÌŸ=KIDEƒnphÛÃ`Ѷ]Ê®£ü‰ºª!ж²ƒZŒaÄ›Ÿ|þ½oùf<ñÄØlZ\zð!lî®ðþÛÿŸyîOÑ $úz’±<;`VÕÐeóó55’6 ï6‰ªº†”@Uh¬V#æu…jÖ Ôiͬpóö]"“´£.5®]¿‚¡ÝbV—°žøizï±—dÝÍŒœ^¨a-rŸÖÛÕ ‹Å—öæšì>•/QUýnA|AiÞñޝÂ÷¼ï»ñ¿ýæñ™Ï|º4iRÎBEƒm» ÑÉÚÓ0Ø"@ܲ‡Q$%ZÌêç 5E¬¦ê$º\­ôÝUˆ¬ÖžÖ„ùÑB·§7ÓBv(µAD@á:ü¹×?Šj^ááG߀‡^ÿzü‹þËxùÆmÀGhP“ФžÔ2"8š6,‰NÃ'J @M½‡Â((T€ÐÁaìWxÏ7¼ ß÷}ß %Ð\Âçžy?ù“?ƒæ‚˲F?:(—®H¥iŽ`Œº€Ô‚è­Ãè}Òû!s2êTŠ}àçþ)Žî #€Ú¡G]”Ù/‰n£]hš%¢h{"ÿ6›G'Ç!`¹\’ zr©hÛnìlasŠÇ}ã¾½í]ù÷_:¤¿Î ܾ{Œ~ 0eƒÍ¦…. 8ç±Ùœc9kÐÌ*l7]>d8SJ¢. šYº(!% Jäüˆýe@¢ܽywOΠ´A~èP, ”Z`Ű.m,ç•©!DÄþrŽÊ$%¬ŒáuâDšû®fFX)ƒS; YÌé¶ßn` •,Rüæoþ&>ôÁ!`6[@ˆ ‹Å›¶GŒMÒt ¨ë% U“¹ÝV"Ð|Ÿö<¼Ä½Ý>Ê’òqtM™¹—¡·‚6÷éé)ŒR˜í5Ähûèa¤Âñ¾ÿð½øúoû®ü~ú“ŸÀ[Gdy()¶—I9­uòø!í•ý;ü‡ˆ‰õ´ÁCD~ð@Ûoðîw¾ß÷Ã?ŠÝŸ+×ïÁéÉ9åW+…~¤z•â†'æÚ‹RNº( „G¡Ð,öñ{ùCüò/ý¾ë?{?à#¿û¯ám‡>z@4)ý”Øé¶3Æ @#‰Ñc»¡ˆ°år‰ƒƒ²ZÄ ´„ë;´í9šRã}ÿÑwãÛ¿çðÿ÷ó¿ûaüøÿôOp÷d]VèGS•éV$ÞAhƒÓ“sœ®ÖX,äÜgiƒ/— *£ÑT$z“è=•“Î8::ÆÙé .P±\îc»ÝÂæMw}Ý×âÙgŸÅæ|…ùÞ>†aÀÕ¯c6›‘³‰1°}#ÊÄÔM‚¥Si[×%˜¸ÓZb³i1Z‡²1túëIÇV×5>ú'Och;¬Óí Á²¤œ¸²8¤ÒmA'¼Ò"$@ÃúÄhGT)~GEþgÞY%ìÒ4 (=—×%Ëêg³ꆢ×tŒ1£D¡ïqu¯ÀßüáÆý_öŽüÅýú¯ÿ*>ðÏ~ Zh(Sd‚'K7Íø†@ƒJ(p ÿr)Ev× Ùn‡h#à*mð=í»¿dÁüúoþïÒÄÁj„K›4sÁ02ɲÉÜKå‡#’ò6 …®ï°^oñgÏ}ðóÿôçðÂsÏâ©7=z Ÿñ%bA“ѧ†Îr(<߬1ô§«5Öë5ö÷÷qÿ}b±¬ÓäZ<êRAØ¥ôøÚw¿ÿéþýÀüž/ùl/¿ð9ü“Ÿþ9üñÇ>ef°Aàøôe3˵:OÚ9°Ý¶y8„Ø[,Ñ”dü°œUP‰[’iîàÊò 6› ý½}XëqtrL¯+ýÅývÛ˜Íf8X.à|‰Ù¬Î½„ žn—0ùTuKñ0wŽOP×dô°{Ró¼J?’¶Íj‹»wO µÆáá•̈s?(%Ðõ[jÎ!¢‡Œ)=*D;  œÑ ŸøãHyÜìßå\Àl6K¼TR`—¬¡´@ˆEæã Ô[Þø–¿EÖçwðmßòïà+¾é¯¤¯.âüý¿‹ÿó·~U5£þÁ²I¡Ï $¼u”`MÏdêK/¡Dðƒ>ÒÄ“Ö ëõoyâ1ˆj â>ðüöoÿLò !¹.!$dÖ¯f“R@JÒ߳݊DÄéÉ1ÜØ¡ï[ܽs ÇwŽðþÿâ‡ð½?ðƒxããâßþÁG±Ýn!…NPe‰(ÖÛǧ§89[ãæ#Ÿža¾XâòÕ«PJa½:§!gQh`ì7hæÞÿþ÷ã›Þû=@±ø’ ñÓÿøãÇÿÇŸÀ[w!Uƒ³õg§kDAÑé|óúD’i-Q™¥)HëFC¹Ó•1(  Ú~Äí£l6=6›{{—0ß[ÂYõz…è=L!1«+\Ú[âöÍ›’<—”’†ÖNñJ)% „ʼ³ã¬mÇC×cÿÙQö]‹Å|šæ‡RFÌf æó÷÷aÊí–^G¤±ºí#àÙº“ÖŽµãh“7°’€TI–’$›®#‚/Å4Í,;Õ;ç©4®š¬&Èç6xJ–òÑÃhí½Gü°Å[Þø¾ù¯ÿ àÓú4~âÇ §§çØ›íÁCÀúiÈqæ-$ ¨d¢çbº&«Gùß1‹Bšˆt³¸|èÿþ0>ú±OàðòŽŽOq|vcÊDÐp¦D2ùM–Æ<É–E zH3΂HEÉÉüÉ'ŸÄýÝÁ?û_?¥žxü1üÁ‡?„ŸÿùmGrke Bh;‚bWÛ º;åþ%<õÖGàG‹—_~…öšº°Ã_ûޝÀ½ÿ‡Ù¥×l‡ýÆÿ_ýµßÀ­[·a HžŸ  ž“Yð¦kQš † ß’B8F%ÐT% izbŒèÆ‘l…FGz"¥Ñ7_½“¢½Å ro¥êºÄÉÑ]4U"„”Ç—Â*S ï<é´ˆ‚ Ö¸G[,f¸zõ2Œ®q÷ô 'ÇgBbêÆ ë¶pn¤¬ƒ9õã8â•[wpr¶^K^;Ì)º j’‰³G —˜’bÛÎMö¨›®Í¥Ðvk³Œ4hý8ä,6̃ ¦žS}uèÔ-†5û,nÂ{( îžœ¡ïG4Í2ãç£w¨Óø¤s>xÌjƒƒe=ݸ0†æÏ«Š¦!y$•Å™ûûû^=‚µ6¹“ÔE‰±î½~³Ù m»A]*\=¼”\0|úë$ŸFKwûÆü%‰/…9cäÙ{¨¢D „RFø,?ßßßGSϱézœŸmq¶j±iG(îãڕÔcNßÛ0 €ÔZ@Ĉ … –\$85ã^U Ûm‹qìQ–‹$'Â4Q§Y¡à!ÓgŠÇ Ä”Mxÿõ%~ôGÿ+ì?ú–üyç—±¿ ®'êîÜ-o ÖÞìúép¹4"z(Í£•i &NþH•Ñmkz>ƒf׉4È/’Ô@ë2™°QCv4i%”B¡È†åÓd·ã¼ ¤B­j|ò“ÏàGøý¨ ]û÷ÜÿþÜW¾_xå>÷ùçÑd_ß®7899Áµ{îÃÛßñÕ0¦ÆŸ~ú³xî¹ç[¬rªÎà„ôþ!þäcŸÄÿüS?ƒm7`ôÈS}§§§xã߈w~ý7 šÍñ+¿ò¯ðÒ‹_¤TÎäf"£„R¾Ý€+û{¸÷{aƒÇÉÉ úm‹¢¨²ü…|rFj´L2pår™ بF[NÜ@. ÉBŠ458fç kmÖ¤ã(Ò•E m$¶«5µTd)BÄlF5÷zÛáø˜,C ®œ8­5†±ËÂÀ®òA—E•‚~—õ›nÄË7nJcÞ¸ve‡‡Ð0U›7_Å /½‚² 2®(¨É-”Äáå=’ÃøÉtY(“Opïi í¢££Ê¥Zß÷ù6 Óê˜II^'ÙºÔÓmA²tk¡?ò}Ï>û,îÞ½ƒ+W®á|³ÅÍWïâälƒ¦iòâ2f^¢P:bº à<ÒɃKÜS03ʃ®_á;ßûWñWÿú÷ã'ÿ‡ÿÇwnÆH >‘Ã׉Æç9BÉÈplš}öyìJßs$r7*Õ…,‰Åüoyë—ãöÉ)bTPèÛ ºÍ9¾ìË¿ ë¿þÛøƒ~ÿü ·^¹fVƒ³ØX¥ë=Í\—eÖ:¼ðÒ+ù9I]aÓNÖ*ÖÒÞß_â`¹‡®ßbˆ³ºVƒ$¶ÿììû‹%ª‚˜`?‰§Ï¯ •«ÖOIB!„¬àÈ­M»<ý€~$«~#|°i`‡úu»ÅГ ‹ªP©$JÆÍÁ£®f°n ÄQ‹¬@†|ºŽOa½@;¸ä–BsQ 5ÉBL¥°:ßàèøœfª•ÃõÃ}Ì*²Ô/›*S¤Á2æ4$ ÉÎ’UÊUUd˜7í8:JÄ­8W\Q´%Xþèè u]c>ŸÃ UM¹‰”²M¤‹%ÔÉ“¿÷Ò¾ˆ£»§øÌ³Ïã•·°Zm!ác€’eÅÇiB*5Î6¤tLŠÐ&nB$²ŽbRKZnƒ·}Ùøû¿ p÷èU¼üÂ2I×Ô5†Ñ‚\à4‚°vD›i­’·’Ce dBjb€PpAÀº¥ týˆÑFúëèqûè·oÞÄÏü/Àg>õYì-ö]±=ÞôÄãøéŸýY<ûÜóø©ŸüIœÜ9Æb6£i8%QrTJ óyƒýåuMuÿ˜5_*Ÿü 4, \¾|‘&Ϙß¶¸Ñ¡©jÌg5´&¿,)1õNRBiTfSæT>ųa2"ñƒ+ÅÞZ‘$µ1 @KHÕùƒs8==CU•¸|p€'8ŸûÅiV[BhÕùÝè°^m µÂ¬iˆ¯K\½r€¦,QU%ú~ÄÑñV«-Š¢@a4÷0 ˆÁáúµ«y<À9 ?Žä8<9‘KH­´’ÉI‘`Z)S&žÒˆ"b- ü‘R ¬ ÔuE7–Vô}J²ýošeY¤è7 =_^ÊjצÜáàQ¤@žãõ)Ý“- 'ó­àOÐÞ”^ÊC'ÒHˆàâˆR?úwþÖNIV`Û®¡¤A]X?å(¬×#È@ž¢ÁA…„€…ˆh<Ü0p–¤}ßãdCÙ{ÃàI7è·$-/´Ä¯üêɇ 5=ô·¾õÍX­Ïð‹¿òËPJáòÁ>ÀFà[¿å/á£ò4ž{î9,ä‚‚C»mჅ³!©YM>éx&l‚¬V«§ÄÁ²,¡åd§Évõ\rià—x¡ITzN#Â\† H©pëΫ¸réeE‹‡]ÙƒØn7(K²»’¬1ƒŒ0…ôÈf )-W+ÒB­ “ºÀr9GŒËYž³fžâääŒÌ N`ŨՅÂòž«€ŠGzïÁRþ‰€K x¶]R“hp“™tº&¡µ„ë'­e–¦ˆà³97( MÏJë(c’«x¤"˜x©. IÎòœ´„Ç„H0¼*ƒ€)u¢Ó’5Šˆ¢:<:¡J|ücŸÂ[ÿÂëð[¿ñ¯ð«¿òk€0&rõÃT/†â@Æq„Š £i²Në„‚L6—Q(´í&G oÖmž]6ÉéÁȈKûs(1ög˜7M½„mJüá øô'ñÕ_ûNið³/`ô‹©VŽŽƒÂzÕ¡ÝŽY8yåp÷Ü{ 1œQC*|K±f‡‡pnÄùé1f³ŒQÙž¥,Ë”=9:çP:ßÀ\ ³ ¼›KˆI ¥Ñ4 †H,"NÏO±>;‡Œ÷Þw=wÞE4e¹hò(ɵSœ³§/¤Þ ¹T8]cG’Û—% M¦ÔÍÁœ@e¤"¿¬Šyˆ°”‰>©R¹×æÏ)ÓÔœ:!L‚U OëKBˆ$ãr€.©äžŒäÅ8©€äÀ6žZКä,Áñ¾÷¾/ !Rh"P–&Ù¼“Sœ”ÔÄxÄüâܼ2÷lx ”@¯µ]I²‘¬8ut0°x÷»ßƒg>ù)b8Ë‚`Õ²ËNb®éGf(q»ÝÂûˆ²©¡L‰Î{œžžÃY‚ë\ °}‡è-î¿v Þs —/_Â×Ã;ñ;¿ýa¼òÊ«©¦ Y•òðO;ôh[ äÔÞ{Ìf5#qß=‡4°“æ/zK)£‹ÅW. nÊ<³Ì¥Ìó¢`Ò Àð5DH½òíɳÔ|ø°/”íl2°èÆ!Å{œ­08½½fó’§8¹RóJfœzÊ’~¾Ü¼²½Íèiö!F‘ÓK›²@Q’1»•Ïf3’£o·8==Çè(½u:\¹t€ƒK{z›c D’{O¦xTŠN=Ý4ÕH^µ¬ÈB“îm³é3o Rù’5¼>'kšï×ì$NniäÜc çfV I†UiŸ¿¨QÁeÒPxDH”te#xè²Âæt‹ßûÈ¿Åb±GÒè@=гÓÉ\&…]Å6ÕìlÛɆd?ò(<ÎÖô£Ãvµ†R”UÇF]VG4¦Á_þ–ïy÷×âÁ7>8:^ãåÊÑUÖ[ô#1 Ãæ•¥†ÔÚóÓt24 Á²US êÚ 0¬hLÃÃCÌf ÞYTÍ<Ïnè$YQ†F7‡a E¬?"bZT¥QˆÁí,’‹L~†#‰áÚ“³|ˆÐmCŒ®Œó¦BôÔ—ñ(mi¨ïa[P;úÔ7 hCåÜfM2ð‚ ù ŒÎCÕ%-:²ø<ÁïÄD3ÿA"EU"âà€ÌÆÁM1 ‘dR=óÏs°;Ñ‚§ì„Ò†€’€÷ùåõí£OŠ‹‰`η"’bšõÓßSžÂONþÐÿ† IDAT‰12péßss LCñÞ“VCšî‚ò¢ë¡êö.]ÁzMh„Oi7ñIlÓFY.—Ó‰  …ðxÝ×ò†€÷þµ÷áÆSüÞ‡u5C;8œ¯·GÒËŒ£C=ŸÑ&tª^šco¾ÀÉÉ îm÷1ú66¦~¸s|—Ž)Pž´;ÖÒ©Þ…–®ì$^´ŠnS$ˆ €R11:mr`‰Å5Øv48ÓÛ‡ûˆÑc½^£YÌ¡¡9nQ7 *ÅødŽìrIE³÷‚8!O9äyKïÁÊ®KS²I#F$÷!L‰F¼àg3R#×m –k¿Ö Q òùÚ­&ÑßdîÀ?¤ŽÉpÎ]HbžL¤’i¼aWiÁ©Þ;èͦÍè?çÆD~ˆ¼xª®,K ]Ÿ¯òBi˜Ú@"À§ÑUç{² 3ïè¿9Ÿš¢~èðæ7=‰ù¼ÁÉÉÝä%`ªýzÌ¿sð–  õ$(%t,Ð Dä°9±1ôG„åþeR«B`±wcH§OïURJü?þ}ÚðJÂT5V›ŸûÌç0[ìa½îp|zžoJ65æJŠé5’¸2Phû‘\MRÜXÛo²µ }ŸùÊŠèmÈÃQMÓÀ—J‘Ë̓+]ÁzëÜýeòÁÍfèG‡Û·Ó/0úË=\¿~§§§ˆ³øÅbQ“â a°Ó"+X àà’æˆ²L¼ Áæ ‡Çnp-$d"ÅÆq¤fÇß+/j\ s‘J @¶ÿá5²<«&b¢Àà†LÀñë•å4÷‡;@à€©Êi"> ¸Ô£înFú+½WM£{B ´ë> ÜLyO^ªÆL4¹‘*1Î XŠ NN!á CÒh!1¬[KTŒg¸sçUrËDáKÕ¬!äF˜Tcúᓵ£€©ÊL ‚fœ¯^Aa¼|ó„TDªœ¼”P/á¤Äg?ÿ"žþø'Òƒ¢ì…f±„õg«dI)" K )ˆ—Ñ‚J ?ZM‹¼YÌBÈ¡‰Ra´DÒ ¥è ˽AÇ«m†7Tr8š*+݃µhÛCo±MQfoàô£Ãùù.û{ Ó…Áˆm€²š£i 4³ ÃÐaHOÆ} )žéûÒI¡à£%¾…'Ób\H òä/# Ó R(9´hÄÉÞRk!Lú])0eLA;B` 6Ù𓮉n zÝ<½ÉþZÁ#z‡BÉÔþ†öBëœwÁŽHÁ´qÒ% ¥$@Aíô-.Á;¸Hº¢Ùl–„v>o­)j—áBU*TŠâÞùÎwâé§ÿΩõ Ð)n­E­HÄW8"zXî}~~žÔ¨†®ðX7 0…®s/cT‘‚O"tQ@cª«­¢€ªJ<ÿâ !¼Hö2lI?=Pm$†3 ¶—qJAEÕ¦Ç`‰·a„”z2à; !cJxoÉòQÓ^ÈéB*Çÿºàà“­ÊîÉ鬇^D0•ÁèºÍfˆm‚º#¢KÆoÒ@› •7 Û]GÓÁ¦&·õUÀ¼¦àœÇW 0ùÆRð% gaŒÉ;¶B¼pdZôRH„XèðUð~Ìe¥`º1ysú„œÒJ ÛŠˆ;B7yBT“:—³ìXJ`Òø`Ûnï Tu¢ ¡ ¨•Âv}Œoýö¿Œ¯{Ï»ðìsŸA×m¡T„Ò*¡7Hq¶.¸D¼˜©ÎL5·wôÆÎWçðÁâà`J(s xO¦ ›ÓMvä‹BÃI]·¤ó¯ëFl7TÆM§2åX“oe $3n¸(ÑÛÉòž1vJÊñyÞš;‚ ‡ôÜ ¦0 Vîü°óEÇ4„oó uQ@h’Ë´¹±·ÝÀR’¤&F@JC~TB¢lF[¨”( t@='ƒº9É&H*`0 ªP9Q‰É¼1FJ“"®ÒŒ €ìÇE§É4RÌ}×èF²üZÀ§‰7(`m6ßÎsÜFfÏVz-$‰ÿE.†®äa •Aˆ]#6þì! AïÜÓ†fÞìâ7çÔ;HÉ„$Բˤ&dˆ‚9Fïàûº¤ApRWÎ*ò ©¹Ú®Oñàƒ÷ãk¾æ«ñ…^$'>ë ’IZð@?ö>d7ðéÊÝõIB”Ø®¶¸ñê EÇ„tBÛ>‡Ão”Ü3!bÔDÑu\6%´#iˆÔêÙ”ÏÜ,–èû>ÕSÂÙí¶fHnOræ31¶'Àïù‹Ó > Û³ÿÐä 15QÆ öú»Í$K›£óè’k†s$Áà:˜áQ2™ ¹aæLÊ€à-Ö›s, Ôeº¤÷ÝuŽŒÃºžÄ˜bʼàrƒZ1yð*iü”R*ÅnVÝ´xU’è3¾ïÉ-9™¨¬ôaVRbàã¢&‰nÚéV`‹O¢àqÓØT÷kÀ+Ÿå@>’“¤MÕ z5ÁÊ$réÀ%°Á¥Æ›þ- ]½“f‰²ÄŒQ( ¡55(Ñ{ŒÛ š¦Â7~ã{ð®¿ðuxé¥ðÁþl?$Â`»Ú`“ìa*S¤ò«€šÜÓùÙà!‚ÀÉÉ žzã›ðWþƒoÇÇ?ö <ýôÓ©9'¼€OˆˆÐ‚ ‹Ê( TUPx‰s0ƒGU`G8Jb yÞÒÉc IÐ9€¾(5†~ ˆçšò¹[žû5‰¹O~µl œ <ïÓ¼zòܵ6@B …Á#Ë™nÞytÉAE4I8k(JlÝÒô™* ”Ðð£%ÿ)ïp¾îR‰!r? ›¿»ªª  CrIM½‘*}~1¸t¢¦IH¨Â@x¤ù–D$ÞIhŒ)zÀÒv"BE*©Ÿù†&­•˜P(>ñyL •ð!…K2eó…ìC¯!¼ƒŒÖéû¤?zRo3Oç½ 2ÚÅV¢yƒ r"ÒÐ͘Z¦SÎZ2†wh7+ì7 ¾ñ›¾ßüÍߌçž{?ÿ ¿ˆ/~ñìÍdhå‘Ô¦ä&n³@PB úbga + ሀÑeÇEQà÷þÍ¿F=[ÐоupÁ£F8!©~—ăŒÞ%«C—‰Dì“@Q)•SE=è*-jbèe”FR#è³n JæÄPA’Ò~LŒ§G„ €çAPZ§ v"%Ç™¤Å!?¦,ÃFzÊãà2‰¤4 ÆlºÉE[jêµ&þ„2Þd.å—2,T"±Œ†õ¾'¤*::´aĬ.1‚fMˆ #5*îÓIêøôM¯íÉÐ!FRs\ƒsÐ@QÔÙ,`ÿÏ'3Hk%„Ί±sk)e££’Íñ‹HÐ(ÝVÈ17É»< É]6bc.sP)@~'² Yef÷f.: Ä7}ë·ÅÝ«TB“öF x‡û¯]Åû¾ë;ñ¶¯üóø7ýüË_ø—zÊ;¦k\Sðyð9œ±úü¥{ŸýÉH²‹¶ ·'>bô³å›vÄfIJÑ“¼éÔ !$ûv™,0éÔgfÓ*»I3ãSZOXÑ­@Lî¥K—°Zmp¶^íØ¼Oí>L5¼Í';N2l†‡ù÷H©³$Ü•ÕÃ&¨Q„låé,Y[*Mh_]²ÕZr2÷>æ æˆ× hf %óçš<€29}Ð÷ZUD:Fo!ù>±ì>„@À¤\ð!e¨dVà2»Ý4¹­¬ºK,Fx”Z¡(&Þ€5\}föÜ ÒɃG‚˜<„$ ݤ¬´pÎ ˜U%³:{ðîr%6xTf ñÌý—$Øß¹ñßõÞL¢ªí¦Á¦F’³Û¥½%î¹vwOÎpãÆ h]àî]šJkÊ eS£©çÅd1¢Ë‰)äfàž´hÛ~br•È¥ŠSZÓd-J¼ƒG„Œä(¸œ5YnS–ä¨H ŲŌ Á*ŸŒ)ª™87Œ(µ!¹ÿH9 Ƙ”Ã@I²MÓŠÆMꎬƒ×…”ôÙ»®£xEhã8ŽIÆù4çåûZ P´™c >“„¤HMõ®Ô"«y2I†šú1ñ%ë*]’–ù@‘Ræ"ç¤$˜™ú‘ ¨*êMœ Ðu]î\{óEƒˆk(5ÛëvÀÍO~cG6•7o¼š¼V§Ý=›Íð¦7¿ ‹ƒE>ùôØ­É´˜æ„6”ïnÝÆí“¬»Î’ƒ@”€–”JR)€HoM•LrqÀ;ÊÒ"¢¯JÍ>àü|E.ˆ¥‘ë¶Eß·ùf³„ÑYlNd.!¤Ñ(uš#I%¡Ñ%ªYCe™ XÞ½E #UžÌ F£Ô%Ú¶%v_SY†²p5‘¡]7'¬¹<ËedÿdF»2ꦄ§ÜÂ(EŠòµ¹Ô¡÷ÅLô¹ ¥Nš$Šc+ êÈ9…Å‹€R—y¢X­6Ðe‰J”1;z¡Iv;HcirôçNŽInÏŽ4}ßÃú}â;¾ã;"#.l´«1´ÛÕ·oa»]£m[¬ÏÎAš•)}èA9ç0Ÿ7xò-OâðÚ!Úv“â›&¹ ø¶Û£ hš†2ºS-+N#‰ÈÄ!†{ïsŽR4lß“ú’m³ 6%uc2gjÒbq=Xîáèè§§çYUWéDœB/‹¢ 4N¹{„d¹,êc§B†.C»žÕT&R$$ ô™,³–þÞ¥¡!ª§©‡Éù˜$ |òÉò©W¹÷Þë˜Õ%bô˜× Ð4MýñÍLi«i8+zbã;òÃuaJZå ÊÊ ,MòÍCö`Q!ELáñ[ÝHп1&Aèô<º Lu6¯nж-ê¦Ì½ñ.S-‚ß)ébFýø¹ŒÒ³ïúúwG#i²®2ösœo¶øâ+7qçÖ¬VÄ H“n€BBY|Âê£I¡ðÄSOàžû¯¥Iº‚€ðt ô݈޺Ûèúõ7RllŒmÛâîÑ ½õäØ'Ãudi©µF”‚BXRê%_ý¤>¥ÀG kÑI¡Úãìø ¶°\.Q6e2z°=m¦ªj2Î>™w¹Ï—©Qô°vÈÍf°.gzVK¥ROå“—Ÿß üçùð`ø0—~GÌ_ ½ðFÑ"&é&›U%ÊÊ`>Ÿc>§)ʲ,1›-rˆ%Ý´Uò‚LYç8¹Ä©5õ}ei,LVÿìOP/m(?Ú\BÕuœ'“ˆS²éO ?CB‰h Xksøcg;øÅ}S K›Uf(;¶8DÌ)E~·¥FÿÌÅnr‘Œ1„âÚá}QJªƒëšäÍd;éò—È=Æ8Áwé¿Ë ¡´ ‡±C”>ö0{Ãc¨ë«m›Þ<¡DÀõ}7nàää$/#'Ç)õ4—®òB%ü;&ç8ÁÓéųÄLã“¥ü˜¯on¤9/NÈÄ+•K-ùDá×ä>™û¥®ë ƒL'zHÊ]äf›’~ˆQnÛã蠅̪Ýv ã¾o'4&O2"ó'ÀtbçÍ%ØìG1Ňíp2NNx»Í&××»‚½(éû4ºÌrköÛRj‡SHˆ]n'&x̽ Ü+ñŸ+”L°µ…©êÜsT¦Êˆ‹M9‹tK€—GœµM=å‡ã˜¥íü¹œ Ùî“o€üvY^NÏ4¤–AB\]Þ¿-Ë2‡[pî£ ¼0y³šÑ`C~ÈBP^„÷®ßs?ñ8fË=X’nîܾ‹ããÓ@>—Ñ,ÎÞã¦O‘pb$‹F.ø E¢òüÌë&Ÿ.6¥pò¥«xÄ\³¼Kùл§qUUðÞæhìúéýE4=mÛ¢ï{ò‘1ŸÈ¤…bûG:Hró®$Ü0fò¾ðÆ$ØPNH*±Ø¸b„¸°Ñ'"&Bn7Ù‡ÿ¼–Îr ±óƒ8&9ùæRçÇot/|„¤w¹¡"ú)5Ý´<‡™í(1[îáôômO̶Рdˆ6æ„$$uI%ge¨Ôæ bŒÉ%žÖâ+Ç®ëò›cø‹Åkœbê½GQê|ÚcÒÉ´s-'B² !ËËf1‡ÐôÚ~ð)ÃåZŠCUŽÅš\ZÑ 8-Êg2EÏ^µŒ E7er “N[ÇMûG©¼ù´‹RäÿKƒ&I2£2rQ'ÍQ»ísž¿Ö®æ_A%ÓæÞ€ÕÉåm{ˆ›ÁçgÃ%%@ ƒ 1oú25þaZ<»?<÷ÐÛ 9¢Û(æC€À]ŸEfÕÓAE}Ý–ÆL¦ü™ 2䃓,ôeri .aÌNåMÓPÉ+iÁ:7¤bŽ>kêy’ïL @^¨$øý(¥’mNÌ7'?ÑOÀþb qýðÁcÄhéÄæ+4ãèé䈑ü–„Ü9e¥Éz¨]}{&²â¤ÓgÃ2&l‚@Æí½·Fb즇µ*üçdh³PÖ&JZ¤¸TÚPsRdÓ8¸‹n©´™6†žP¤“ÀÁ$÷HÜHz^¥¨ *A6]‹±³"ç'4M“É2ÊŒK–4’´OeY§[6´ È~O{ó8Ò‹¡` ±'ÅNž5aŒÓs¦Æ¢$WŒí¶ƒ"l*Pª2¬q„ß`6ø<²ÊC@M3õš&$9ïA™o=ÖL97"`ÑÔ0½Ï²4PÁB‚Æ[—Ë%œ ¸qãÚÍf˜Í8==¥Ï'%ë:ÊA¹tårË4¦„O¢QžÃ!`Ø Té”ë.h*pÌçs˜BA\»ô@´n¸P_„ñ¿ã®ñ*SLË.bpö•˃ó*VÛ]|AÈ\Ó[ká1õ,ù5RË¿G‰Rðì÷äJHŠ^Æá9¾WFdˆowj‹Q*B¢Š,8ãÓ‚Æ]>åO§aÚY*ÏÚ9Aòç\b‚§´×iØEå¦@‚1ýTB€="5éü~db ™«à2O)…Ñöù 2ÂÀ‹éõy3«8/%áöÖZõ¥˜½62™~°§Òt(2KœA ¹ãúábæddR(J¶Ý$½ÍD7³˽uAú#ž£èÛ†v‹{ï½eYãæíWq||ŒÒ\¿r³Ù GGÇ4r¬T"ÝȽ„Œ¦R)“K[þ®É‹8¹Y¦ ›¬eóS·¸~ùþ8Žcn®X¶Ë' »„ ëš ¹]ÑÄ8Ɖ¥æib wë6’±ËÌW„4zÊâ· y#°ø›ÐŸNÊH&~ IR¯ ¤Á¦k!ã—2¬»C'¼¦©’§ê´¨¸öŸ[ÚÜÄӌ̄œÖ“îG¥EGeÏtÃæÒ(ì(?Åt…óÍHÏN>6 ¸[ç‡k“>7ÚbšæÓIPG½2c/AßW–‡§Þ2‹ôü$nT¥¢ÒÚO–Fœm§×—Z`±¬ó _ê (ø˜t@Xks¹Ç3ÝÖZ4‹9æ5ÛmïÉ<ÎE6Ë›z ©›#æ—xкs(±Öb¹\¦„®4ŸþÈ}E¾úا•O¦ÁÙÔDÑuM¹xtú+Í $™$ÄÒ­Š6æè<±ª£ ¹å7ÏWk”*3ÉÀ”0ªää­º+]àI_šÈü‚‚H|†Í%ÜkeÇ»›aú+É«ù¶Ì²pJ½’O¨…ºøZÌ %SvÜ?’%Ò2ÿy)'Ù?ƒÝÍʧ2îóac¤4Ñ}m¨d––²Éù‡_?Fg|Ÿ{H.)óCZ@|ëÆÓ<…H’ânH[Äð§ÂroN62Fá`¹S”¥ÁÁÁ”Rxå _Äf»ÂlV¢Ð'Ä¥&@"Äa2÷Ñ÷}†’d]– þÂwEÍvŸOUUùwñÏ."ÇïוxèžG"?4ª-D˜”(EþLÁ6”"“$Ö(Ë:걆†w©O²rçFðDŸþä9+2þÌü€œcÝ.2ÔHµjÎÖ ‡ìŽÁ§q¾ñ0•(|ræ› É%øwMŽ˜Y.{¸Œ$O\äRh÷ýq¯Âͯ‚Ê‹*e ÚJ(¹ ±N%×þ,¥Èòæ|Ã𠵸°Q€KÏ×nþIK„$#™tMPª šbæw4Gôù¢§Y鈽ù eiÐT‹{‹Yr§²µceQãèè/=ÿ"®_¿†{î½ï‡o/’Òo6dŽ`$U%|òzFv³Y‘GVY`]FCyí)%rïzqӸ̉Ìçs¤ó'¸UU‘#L°{ÕA¼ð€Òÿ-#²¸o’jÐéOq¬.¹±N¢iªõ£\ÕiáÈ"™ OÁéœ2³ Kòn ‘@ÌUðéʆ˃óÔ %y¶÷$ß ¼ç?—{ˆ„]óUš{˜ô»yÑ—e™ÊGJUåLëbçóO§óT2MÉ5j5¤Dz}KÖtMýsdIÊ‹WFd‚=Vyqä2HN1Á¼IlðYÁˇE~^ˆù™ò, Ý.Ý @8îïaoo"úL¼±”%ÄÉÞGJRðwm Y€–åÅrÝH…óÍ6‘‹3ˆ@ÑÇASSÝ¡m{Ì÷–yñÎ}#Ÿêüð÷ìx!`^AL¼SZkô>-Ä}×^wO¾ÆØÿ‰4_GÖy†V)•L‡eþÒùA:7擇dnæõ"ð!éÞ'B‹#oYJ’œÑéC†Ì¬ï"¤˜¸°‰«}S©„˜KJ–ÞÐ}ÑŒ¿—Ý›Íè4WCL6#£÷ä¨X‹Y-úvƒƒƒ=t›í¤Ât²m·#¡æ»™UÉ`zr,ËÖ P‘}]Ká-vLŠa“o i H©±^¯£Ï Ÿ<޹Üäò›Å¡ãHhš6²ìÑ OkèððWï¹ ñ¶'¿8 %Q7%d ‰¡§ìèèBD,šM=&·i叫2Ù€òmµÝn¡Ë"åè X,gû›œd”\=ädØÆªeSÖ¹IÞn·y#ÁêºNßø†è²«:’‘R —.QlÁõû¯ãᇆxòñÇ# ,έrÊîÛí63²A„Ü.„Èo€K BCø £‰8oU˜ *iò¢ÌlùŽó[4Ð"tCQ朑ˆ(2qNC'vBXÀǃ̑Ë:ýΨ&ÏŠ³6g·á›—Ë€ ´yœ'w’d£1Ä<ÿÀŸÕ9’çj*=­M‚Ñ٬˸èŒ-h½N;Z“©v©¶í9*MÒ Þpœ2D2‹û5:·9ÿƒÞìñ'»ä«”Iˆ*Uy~%CúbB ¯_¿<þ–Ë%ú¾…÷/½ô¾ðÒËp1™õe(ÓóËýRš›ˆÎb6¯qùòeìííœ[j,—”~«‰ÅbAö$ŽCZ<ª²¹ÐÄ„@ì!°XìÑÎOî0XTÉ.œŸ, Yš0ö¶ÝP©TÐ"†‰XŠ™šŸÆT÷IÒmt™O¡a ‘ÙRQÞÂhÉ ¦®ëô~†ÌÊzO6.lλÝn!Ú6rÔ¬ é'Œ>FÈľŠ®î¢ 9uk§^ $O‚æÔ#9d ÔuI'”ŒhfEê‰'<¨xP’Ow‰GDoáÓP½K8¼RÑ)Q›„í[™$ ôE³]}"á"¨doﻦª,mèÙ¬‚(%¼¡ò–„{*gAXkéû:ó8RJÌkrJï·-úà0ŽMS>¤D!“K?!‰[* {T%'1##[ãØe:€# áñˆ®Ûâ‘GÁW|Å[á}ÄêüJ)b}xˆž ¦lˆˆ2—l!º4óNF{ÝÐáòåËxè¡qùÊ¥¬mÓ%•r¼ÖµV¶›.I&f$_o!„Àr© ´@ßuéú*1 Cbi Ù´[k±ÙÐüvU)ƒ¦Åœv”Üoà]F VC IDAT„µ=D'ˆ`rÈ'(‹ìBp¨0!(6(Õ„‚P=HW*'iA¼|ý:?^ÀªÝ0憊¾8‹= ºá¼1æ¸FëòPPT¤³q¡h¢X‰N˜æ ¤H0à\% 芆ƒ†a€!ù* RBÙ‘-DèÒä×& Q2 ¨À&a(ØF¢PU6 &UJÀ(ïiBPÊÛo!¢†€$ßÝ`S Ö4 ¢óÆ«Õ ÛíÆ”ÔWÖuæ{s”)3OˆÖ(vR[•J<•fñ‰_òˆQer2w(àæ­o{3|°xþù±˜ÕX,fèûÛí1 ¬V++–¤ÄÖÐR¹>sO>ù6Ü÷à0õ¼2*õФHrù‡®ÞytÔ˜2#Þ“kÐ*ŸLrÍMc4Û[En‚餦SÐ#¦gÈ<-³ÆHºŸ ¨̄Ys㜃uC¶šg4h´lÜ&²¤y»Úf7 –p¼CÓÐà׬BÄ Ðã.œ»;SйüßLUÒsˆØ™H}‚uy`G)‘e IL822³®µ†Ýñtâ ½Ýnþ/Èj²i¤œëI"C7^“&ð´–YìÈ7&kdä! AYqš4\³Ù,—@ÌS¡…É=‚w4¨”Ȳ|c FÛçu¡¡U xa`ƒ?CV8X—{MJ J †ñ–·<…/Ë›°ÚnеCV6âåG8::Æ7à½Å|>‡ôÝ:7bÑÔxýë_‡~˜Ìb¤Ù•4¾ÛK³úZÜézÌLgu! ]*èjžUuÎa!`¹ÜÏPJ)¸aÌŠU‰¦¢fͺ!éÈõÎŰt’Nõ4¼Ÿz.fŒ¢ÔG¹ÚE™çuIïUé˜ë×é„Èúr“´9Ä !枉dnæwÐ4^ð,m`µªGÜQçŠ|%óÐ ]×庘mÆÔåƒæóB]$9“ûŽüÚ"EyyG³e‰®ßŽ•¢¤yÖ1Q5yÒz´ÝMM~³¶0Œ±wéMMCA/~þyŒ¶GÓ4il3A Bg A*’¬´¦rdBò9Aé‰YÞmÆÁåòYÔ<ôàý¸÷Úe@5¯°œÍáœÃ›§xùÕc¬Nϰm׆.÷C—/_ÂõëWqϽװ\ìÃ9‚‰ë¦L Í©tãtزUªxãë£íiò,Jë’-¾H¥áÐJ© °êÐÓ®ôÞç’…¿ôqQeFLAê®ÿŽIK¼‘va½¦iòïe¼iÈ}ÝóX¤;cúlSCÖ–ÓÏç|dœ ½^»¹IãÎpk–7èÉ4ÌŽùÅ?YÆ’jæ]™ ÿºHÉèXFŸƒ›ÚI÷ä±;@´ Óz;¤š8¦Íf²m 5»2)v7 7Ï|#h#3Çe‰R*ÖÆxóÂîæ úþ笑Jkæ¼H}Èš.F¥6‡ïIÄær©ÅÚ¡]v›À‘ ÉjÛ I_’9ôDxj\¿~/ÎÎÎpûÕ#ê æufòsè6[¬V+\¹r%ßÞ,)SÃe!‰ ‰É&C…IpÉ7 OlÊH®“|«hUdÚ¢ +LzV"OBOD7ö¼®ð…žGÙÌ`*zÏÚ‡‡xÃÇ=÷܃aì²<}W#ÍtŽóCNeØVWUANvJ]HžäOì È_ö4î7éà_[RRY‹OjÏ‹§éî €¬­"k™ÜXâ-ò¢Ýw1?á0B ‘né4´ÖÂöCŽ˜ÇQJ!Ò¬ñ4hÂϼLZ!Å)3§TSíˆ3îvtJÜKíJ&†-4'…i ÷ÒáB0ä|ÞÀ¥ PCÚgz.ZÁ¹Õ+œô‘/ŽSP‡@×ޝJ 7®µ´ÈÚvƒÍfƒº)aþ?®Þlɲ$»[>?ã""##‡Qh 2’Á éä‹>@ŸÓŸ§G=Ð(QªUU™1ÜéÌÇ'=lw?‘³¶êª¬ºqï¹>ì½ö$å}˜9N~ ¤øðáCZÔY–¡ª*œN/X)ö«JQˆW&`醈Î9yí:o0 CB½²¼cYR?2FA•dŽÀ”OìæR8^°ÙÖà™Ä< ¸¹ßãw¿û ?~DU(j¾ޱ xÕ›Îó g©Ïsšk9xë0N¼Ñ`ÿößü•o8‘¾^±^ãÉòúDrn¢Ä‡OªØ„½^¼Ä>e î|ÝÈÒ¿»NÅãBJœ¡À]âè}¾æ½î b:iTR?ÀRßOZªw_S¢×Ìð8á|ý^Ý"x寿pjº`oùZ&…;’Sc; Ío¢¦4%õ\ÔÑgÛlk(Ae@ß A7öPJâævÄ’<Ì]‚¦e C2çaÌ„"Sáä$–¯àz^Oz)%X¸5â&‘l¥Ñ[„äªWzùzXë!å× èøºžÑAä¹c xp0¸LPîz€Ñó<Ãwßý€o¿ý6¹…ŒÝ˜6ÿkb'€TQ0Æ`"èâXšcÞyLó î=ä¼ôašìefçc×"ÏDú|2”NeN¡‡NÏ¡Æ5pÖ *xâïpÎárª™=,ŒV.c€=EÚ¯Œ *§Ó Ë@­‡‡;ÈB†!Ñ ¦ÍWœ0*+I ŠI¯Æd‘:N½Ôzø˜y†ÌÖÐÏX*€’A¸ì+€‚l|DBÜ^÷rÞ{dQ0„øžéaΓøÌhLKûû;¼}xƒ÷ïßc³ß%öu æ‰7X\ôÏHô´h8ÎØ =yLË€››‚óûžnèÿ·é_“þâ)„H¦Ö:ìd–vc| ¯™Ž1€/šMÅY€””b£»HË'‰ DºÞcªehøÙjz5àq¢¨"XâMA«–¬T¦iI·W"h“&Õ2Q@èt¡AN2A¥‘1†n)§WNFv:®ˆÞØpÚÒs§ž6X& 혆ôßHU@r`š†¯&Æ”1Q¦çO¼®àœ£ü"ËáÌšN×° ÝrÆŒQ¸Ä˜Ò …Hësõ§Šß_JEùk$†¾v6yý×ø|#xAù2æ6É?‹´õyžãør¦çUV8ܽ^BùfÌóH<¶Œã‡o¿Á?~Íf“$±±Ìk— $/V1ñ‹›$šŒ ø>ù/K:ö¯zð¯'Åñ¤`RÀkÿ ã_5Ë8¥“æ_’YÆÀ5Ûe•'<8¡CŒÜ$”RÉN3>ܨ¬‹½bã¾¾cmn’ '¾‡è"1éúFº:ÎBà_ÆÃ‚,íWd6 ¤#`œò” Ä%)y”к4pŠºlÚhDež´ASVxxx€R ÇË—ã tÈĈqû«W·æ‚²¬ÑOs¢rä9eÇ9½ jÖãÁä9ý}t ‰ x”èÆ÷µR"âK7@àHdG®Tì1^‹Éâºy]ŽÎ³îâÕÚàw(ËïÞ½Ã?ÿéüòË/Râöþ v»[Œ³†äÔ›…Âû;|ûí·Øn‰b%Ã0€9ÿ•@‰{$!i},f£¿²7z=ï)ÆmÛ¦ÛÉ)¼—t'82Oç!€²,ÓÂ?J©Db{ ©Ê|56ÈXÈTcgêTEŠ˜ÖÓ ÖbÕbsïxPêOÆ2¸Ð|gÏž~Ý*;ŒNv¶àaÌ>˜ò 0‚'v`žNáAA#œAq‹Lpd‚§GAsî)˜R”°Æ£¬ˆzlæ£ÃRØN¼IáÆPí÷[x£1Z±kgÉ[ !WoªiÈœaY5(2 Ëió)fÑÞÒ[ÈЀÇ‚N›ŒÅ(cN‡ƒLƒ±H~ä‰*-ƒ Ä ~^³ !.ÂÈ Žÿÿ5_ãµàÇ# e3x|ùõºë÷wà™„T9ƱçDÌ»¹}÷ﰭ逘‡9Ñø©G’È”œASU°6è/¬ l݈89  s%d"¾p¡®kŒã˜øOìþ»ß{)%¼ð‰ÂiÑÑ›•3™Ð†¸b½÷>å^Xsâ&ÛZ âˆJ¼x‚¬f‘n¥HæâœlóÍ(&zm|#íãõ !îô×3:×øØˆ÷GZ7ç”]-II•’in@³“è‚¡ƒ¾€&ÒÍnþzÁõzN¥VžGOÚØ'­Ôö8„Š~IEQ`³Ù mÛ¤½vŽhõqþnßpà, #¥ Œ¿,ëD[ÏsBm"MÌ¥ï­(Š`ļÞêñYSéêXoÜ ¯Ä«MQžˆäÅSâÃÎÃ2ÇPóµîúj>aƒ1[ÌD0ŽÍoLî‰xwz}¾ªÜ’E¿]ݱc*«]è”3³ñôezNö5‘ýÝá¢Tl¬œsÁL¤dÀ~Û@këõœfEQP’kâ<Ų’þû¾ï1 ªª” §ÓK¸¡tÀ±ÇŠæ±)Ž &áøá3Çë?fXÇ?›¦ Ûí6QQLÂæiÐ¥C.%ãÆ.Q,4ÎdЙ¬"~Æ™FñD×’“çiªKÑ8H‹ßY,ƒ_ëpŒ1XÆ•ægA‘TJ=c‰÷ïßã/~÷—ØnɆtY&´g²²É3z¯*+¾²Wêûžróتg7†8zÑù>–³qãÆß›eªÍ61©ã¼džgŒ]öáôU³M)Ÿ6 FÖ*JèÃñÔC;)eR°Å$zÆ?/›ÞÓ"ÒX¨cƒâì5×(ÞÉB%,Hîé4·‹ÆËË x&q¸»…” “6 ¦‹( €°x+0æShE&Qæíù’¢Yq>Óur™­Ã·W½°‚‘ÂÑMvÛÃ+d'(ÉId£~Âs*]⌠~F)CÚ벬ÚkΓáQo¢vÞÑ¢ ñ„0zL°Éœ"6¼t«ù€4xCµÿn·K·ƒ¤Teûû{|÷ãøðá²ßÔZ£»\1Ï#6Uh5Œy˜yyO*³rÑ´ÓÈx–Ön¤ÅnYšƒ€…nNŸhDª,°ŒÔ„˹ŸQ–ež¡ŸF0”EÆŠðÁ4²\€©øB,¡Iq×{Ìd9oAtÿ8´%fU)t ]ûìß~ØùÅ3v³;€ÌèËÍ‹ ‡-)ì~þùgÈ\¡®kÌÚb\4–Å ®6Á‘Žœ-O†¯Ýf³I5flØ£ŽÁݦ}ÙΑ¾Yð »Ý.±#±Îv»M¯/ ²ÏŒýŠÙZ?[—j Ï63ã¬Ó"X|þü!‡]ê d:á£L5¾°¦¼Æá›ÖšJ!³ÒÖ³`Lm­Ç›7·x:¾¤Mä—ÔkÄ/ŒsžÓMcIo콇I=Ñ$ õTžãr¹ ë:€94M)IH]¹#ìMi¤À™×™r󬓳F,÷®×k*“ÏBøLž¬y¼÷iº}:9‡>~üˆï¿§ò,)cäññ3¦~@^d¸¹¹ · •PdCƒAëôê/ì NÖšÜËcv»ç,U/0ö-<d…ú¢žÈÔKD°b•GŸ±o¿»‡sÀÓã þžüÖ.øÝï~Ó3>ýñ¿cGÌ­Gî,v7w(Ë]7` t\ ²<£DÎc¨¢ÃéxIf·ïVJÃ@(†ÌÎL£,2›œÂÖ3áQæUµ#óâaýs)xðç*K¥ ™t)`ªÓí2Ó`Çj ˜_F¢mxŠrŽ,Þ_óx™ÑÌyƒLÄŒ¿U=e£v{6:¹Oc ƒ =Rž º9‡e¤K‰› –’ÑdŒsŽŠ“Æ».J Á´ä–§zâô8Hô4ãr¹`%ôp˜‡È× ŒfÝHydØàÅ›@ˆ"„²ïväyN(‹sXF2_nš&¸ñý\¯WœN—´>ÀI’+׆;n¾¨ä‹3 Îy¢ääy8Yluì#&5å{ó5P2<{®8öû=Þ¾û€‡‡‡„2^®'èiFQ(™Â8Ž8IgeYJrÞ¤^$¾×x@EW•º(IŽÀÖ"O@Å4-t¡×*OÏjG‡t€QSNàÇ<éÔ¤Ëq¤‡Î3‰ýa ¥&ì÷{j„§zš×’H œ^žå` —˻ݸt-6› $g°FÃ[g(O@)šQ¦Ìa– €E)$8Ê6Ó3æ £&êñjóâ½…÷@]7˜ggä¹BYR=îLt5—‰ +9À8àƒ¸&µ±îæ”S®þCÓàx<†Ò‚ìï=cà^@¨5èd=$$'îPÛ¶àžRJÀ{ÀXÜöŒ6˜ƒAœµdíR6Lý@ô kp8ìqØn0ÏtrÂ:Xm_A·sxýO®2„¤iÑÎÂz–4îqâoï-–Å`ž44·¨›2¹t—/ÿJzN\›ªN1ÃL7ÉÝÛ;<<<àöþ rEðæÐvÐf¬C•+dŒárzB{%]=÷ zîƒ/Ìt…'ÞÞ[0‹ôý1)PäUJ©e܃“5`³É׊Hܱ¸"ŠKDžIÀ¬ö­J)9^þÐuœžŸNè¯=”T€£L:†›ÍuDþÞb'xk4uî=œ³ØÖyo-îïnP—š²€R°D€SJÁ3ÄåŒñ0Q$Lß:!98_o‰Ø”+•AÊ Œq,  ¬¹WX‡~˜ ¤¬—E^›²038DBhà>£(dàÒĽõ´Þ¶‚F挑^!hþøÿý*g¸÷¬ ß¾}‹*/0éH릩—j¨ÞFàYãSôX´~ÏóY‘§‡ÖµäÀ÷Ë/¿`šhr,„@ÓTØo«1LèW´%žœÛí6õÃØ…ii4£ÀÔ|ÇØ»$ŽSü"”R8hžõÉÑtØZ‹º(_‘ƒyµÓXÆ 1:`FNŒ)¨ª JÈux6lŒ1˜Æ³!䨬òÀ)ãé¹Ó¢ÊÖy “‰À™LP2•‡QËVéæýý=>~üˆÛÛÛ°¸(³/ã¤Ý^Æ)±.×SòÈ%)ÌÆ¢*êï`ñôù7ØEcÒ„ ª²‚^<¡z°ì•ê2äe¿žAðÔcÄÎ9‡¢n³â`"Ký°20¤$¦B× hö²ÿñ¾ôÖZì÷[z°‘bQäp ж}²¯‰™ÐY&p÷æ&Ô±#öû=„è¯}bœ.áÇ»fƒ››ò:2:±N¥PíiÒP&±8Až(íù«tÖpbG‚åQL¸OÈó,A´Jò@ƒf€ ›—xRE¾Ñáf—6v´}Œ<}b¬Ú'ŸñDŠhN¬…I ÊÐ4ôEÄ8€•²&¶mÜpŽ\$ˆÕ¯7R4b9?ƒXÍÌB"‘ÕÙ‡7ÜÞÞâpw øÞ®O(™7$ÕufA½ Ê>Ió+`Â#W5îÞ>àåñ ódñP}=‹ðL@©"‘O³"–´X °.f0Èq™±Ùlƒ%™Š Ã@Pª¶Û»ÝÃH"÷ø°µ£ˆ.Ç<Χ+æaÄ|@.3\¯gÌóªÇŽ%‹R+ä'¥J Jæ*ÔÐt \¯×ÐkQ ûfS鉵Ù^ûäS»©c,•KÜ¢xreE¾‚„5n‚øuñŸÇ׊š˜ ´, <8£R2Yâ •6ŸGÔ_Ód(‹oß¿Ks%©"hÏäŒ"ƒt8Þ®Q›.x™sèiF4]¨ª‚ú>³¤ ĘœÃ¦.¿ºÉÍCH<¾¾i í@Øx!p:]R÷.x!inq8 ›Xˆûý ΧýÐ&¨6ëºL2 c‡"“¨·$¦ª¤/¥)+ ÄÇ_ñðñ÷÷wÄ\Të4úz½B¨é¸Ô<¿f–vã@%N¼¯ë2ê5Æàáá¹Ìñòò”P¢Hñ¦òOc[Wij<Ž3M„íšÇ¡§9ý^âÍÐëgJ¤YȤ ˆŸ%ê´£§l|_qìQÊru5Œ›5~Ž•ÎÍ`É|¯æYƒ—ubÜîS7Vìçy“Õf‹Ýn‡ûwØnö!ˆR`ìZbßzþJ²¸Ù=%Gv¥dRèCܬèÌ·&2yLã¬5iCl·Ûô™‰n"Ò³‰$ʸUY`ÕæuC/öÕíKýU]×I#YÈ]×ucžJÐ¤Ì où»ßÿ„þÚ£(UJÕZ‡úÕb¶3Êp¥öÓ˜ÞXÙÔx9_ðùós¨]rÁÑìèÃefµšišR’Ñ{‹Ë¥…s ˜cxlÌýŒËe‚Ê8vaj“n¶[rª³:Ö”³‰éÒ¥"—‹x FwŽDÿ.JoÁ=gE~SáfÛãÒµð&¢eçó]7`Ö4XŒ ^kI,“ešÝ>Xôpˆ,ƒ«e‰41V*˜‰qñ#–ú¢Õþ?6ίE;*´Ð3ê—âíYµqÓŠÈý îçË2¡®Ë´Ðb½¯µÆÝÛ{în±=Ü Ùm‘Ë }ߣïbx*f­±˜¦>H};:D¤ŠÜ5LôDŽ˜ÏL)…Å:´}fc%ŠB¥Ü:ò¼„ Ó÷²©13-nK0ü¸hT2Ó.}îÈ»‹7kœ»0)E¥( Jtz5Ùç$ÞkH¢ýÒ©'T†ÏÏÄ(D)hq½^ɧÈPH¢SÇß~£é¡T˜ÍŒepà=q“0Î8ìvØï·øù矑皪ÀÐ ]âÇåzI(Àf_ ¯J|úô EQ`Ø¢(ŠTÊ´m›jS "Æ7¢3™³¯l+餫ëUN¹z±h‡6qp’HG’…¢R £q½vX¬I“ÒN»–&ÍÖb^(}Õi“`ùøÌ™#ò¢Þ­•qÄpÎáæfƒÅ:8ptã3“Æ&W”7±Ìô¬=gÈ«šz8YÀƒ¡¬*,ó4*œªÆ;Ó4š¾ï4Ÿ¥šsáp€P9Ú—¨eØé„Gðö¥ “ç9Øßÿ¸ñQo<šˆ~#7…Â'Tb^.…BÆiˆ³X‡~$ôcž5ôdÐ4Þ¾¹Åù|L´ŽívKþE}‡w÷tZekcTdËBfÏB²d­Ø4 ¶Û&•)Y–Ã8*­Ê*O0`D¸2.±,ÚÀGÕ§«æ"úG5MƒËåc–ÔcDÝnTòE(”1Ué÷Ä8ƒªlð§_~N%]ì2.hÐfEEÊÔŒæ978o’²ðµ²1.b2 ÷¤›náÇOÚDC5ï=rU¦ŒŒ ö·wxóö]ÄEÝFß^ðøÛ¯P‚½öFº˜$÷“ëõšt%±¢ˆY\ìÿ»ï}VÐh|žtšŽêIãÚw_]ÑÔ3P3»Ûm"`áQ×›T+žÏg0ç±ÙÖ‰@fòpªª*SEù«ͦ‚Ö´ƒëºD×ÑõiÎïß¿§š[о½½EQ*l65Ú¶Çã—g*n‚“úÍÍ>}þ Ÿ>ýFB¢Íž®ÚÀš›²,A!+z›IÚ.ÝTtª¯ó›Ø<Æ“¾¨+,³I½Eü™×é¿)¤Ï“DÕ1bir¤t‹57<'Ó…¨ªã^•k홼QÊ›yBå"0²ßßàáÃû4C‰›iêòbŒ]‹L°“&ìLó’,);Ý.B½Š8fÛ-Ñ„b¯Æ9GYo¹8aл¡ÏáXÊÇž†ñä …JµÄYcäbîùšÉ.ÙøÄÅë0ÌS:£šT ‰¢®ÒAÇìêÔÑLñ®Îþ`5Q!œóxyyÀ ƒUH½mpØï‘eã8AÊ ›Mƒ¾'AÎn¿¡Q>3Ä“2¹RhšÓ¸àÚõ`žÁzæfS&œØ²¡q!èDkƒ¾ï`­ƒÌ2p! ¹Ä8N°x9ŸñçŸF&þþ?ü;ä…‚Öý8¡k¯Ä›g U¡ ¤BÛ÷`BÒ—R6è† CßÃX ™)€uU›†¢.QæÅWâ rw¨Ê "‹é=1-U‰,“(Šy®É ªPȲH³à(Êœe¥P{|!${e«€Kž º8”.‘©e‘ƒs ,+ÈL@)ú=2ô÷’¬+ãû.ó \ ó&>~÷Þ<¼ÚjÆ1õÎOÏèÚ+ì÷¨r¿ù›ß£¬rœµ¡ª 8gÁQÔÏ9ƒ;ÆñüüŒ—G¶¼{÷‡ 3¤„,]»\zšCôP×5Îç3•B4—¤—A=G¦Â1‹šÁ3‘ŽEOáæ s«)>Ø‘Wo¼-c®F¼¥¢IƒKáöDt{ÓÅWk^„fÕ…_†Í~‡‡ïQTŽ2G‹ür|!}úÌ~wßázé°è‰r¶{Œƒ†Pô%ŽËŒöLTΆ±C3ᄦ¹B¦‚VàØBO#”äØÜìWò@Å Òƒ9Ÿ4ìQêÈâ°/LUc/]ש!qb*„â¾$ÙsºU³a¼³`>ùC­b èÒA.$wG½ÝáæÍ]8y² íÝõ\6ŒA •P¿ëõèÚžl™€”È2 #mGi¦ÒŽ“}þãË3¤”Øï÷¨r‚h#¨Á9I…Po‰$-qÓ–Ù@f2<Š·–d"‚Ã,C×EEÁŒÁXƒãó1åm”õ†ž g¨T“Jöbd™€žÝtÚÁtvìý×ï} MaMÓ`^Æ$–®nîoÀ$ÉB£ÑÙñéœsÜÝÝ%¼:ªêTNdž—a Ïíùz¼¢ïg<<Üq—ó‰ê‰êºmÝ`»ÝâË—/©NfΧߓqa!$g»mÈ×Y‡”ƒÜ”Àêjƒ/Ï´iãŸâD}ÏfSã¯~÷¯(Öw^°, ŽÇ#^ŸeꂸCß}ÿ ¶Û&ùE€÷6….r.CëÉÿ «kFÌ vŽÄü\€lëOx|rÓàkžvÔŠÌ3¡Ewï=2™§R ûýžÊ¤0±ÞöA5§l½ŒƾE×]±ŒtsÅ-š3\¯W st_aÉ Ž·9Ú~¤ ²ʦÆÍÍ ^ÎØx“¨u]£i¶`Îâ||É „"×ò7ï(&áz%Ÿ¯œâæ™ôÞ{œN—ðïQ–%–eI1Ì!Ín‹\•kÜX˜e’dϱ?tÞ$2eä€EÑTê÷‚ŽØßÜ)›Ûy&…ZŒo§v³ÛÂ1‡è~à›—ŠÐ™a˜Ò(Ï3ÔM™ÈvÛmƒ|‘“V¢q¯§+¼§\:/|°¼, TI›À-2é å\âtº k4MƒÛÛ[8îp|z¦ëž?ýô#¶‡ ó„±ëq:½$)¦7—ã ?ýð=~ÿ׿£Õ~-Æ'Ó­àpÝD¸LYn2ã!‰ˆ8_ÎÓ¢N”‚4hã‰áA¨‹ˆ9ÚúÄðU釢զÁ»wïhr;NX–c×c™ô× ¢ä4†ufY–ˆ–qóÛFÉ€qŠˆÍ_0Y\ŽËŒþÚÂÃŒjGò-8Ÿ¯(KK¡“6j³ $T)ªªžžžöû=.çU] ÏK m‡v ßRïYš„:íà §ë…¬Znða¶Au0jo@>dáI?RæðFúq¯ À².Â"ç üв(Î’2mSð|½-c!"6FQWÁU…"†‡Ë…z½¾KØ9òÃmˆzÇ ³íõì¨ÈÍ$W%dN§f³…ñÄIBàéé}ßãÛ¿ø Í.ÜLLâŸþéŸð§?ý ýõ‚Œ3l³-ö[š…hë1Î:õÖzO7ÂfCå5GÙl¨ƒ¹ˆC>_qÑG†³÷¤#‰ÐjžgJ2 Ãx¸e\ê m€â°ÆB'ßöS-½ ‚¢½Yk±»Ùa»kÐ÷m:ÈÉc¿ßÃx‡îz†R2e“«õœ&ÉýµM¬T&šz‹q™1´ºnçÀÃÃ=¥šª9ëíB0xáÁéô¨ÃLÀ$8µiŠ´ÙÆfY&•2™ãt:‘0ã®C: ò‚Ò7§iB^dÁÜ€šR eS&@× ú Jÿæo~‡÷ïßcšä9ñ­â†5Æ¥\¥VûIÒ¥û”±ç iÈ9£Rë+Ÿëò¯s¦ã‰¸àcµæ‡ÈÀ&2b•`Å¥ïÐ_/è.W CG_6'Éh^•ÈÑæqé†!Mvs™§ù åX“ÃàÝÛ<>Óï·–˜Ìõv‡ææŸ?ýŠ/¿þ†©ïYÕoÞ`·=`³?¬=Rp„ä\b ó>X¨ÆÙ GU6`Œ¡¿¶˜jø£Û`œ›EoÙHŒ|~£Ço¬DÈ qÁ²©WÃîÈ’Dg +c\(E&tŸ}úþóoØï7xyiQmeÐÌ28æ°k¨3vÁÍî>•j×ök#õ™P‘4Âñ!źF¶ËÈù-è3†¡M>Oûý>Ѧ»®C?¨ªbQX‡9„W¦‡-(7œ…‰2“‚¦Ú i®’Ds(¢ýŒ”t@8¢2dYN_̲2ÑÒcO‘q‘’}¢w¯ñÔÈ3"Ì ŠB½2 >£¿^ˆœ9ôi¡G'r™“ㇱ4‡²ðÐÁÜ¡,k\ûeFß—€ÙÐàœÃj§§'hCü§ýþŦÀãã3ŽÇ#ÞZjâ| Ö¨ë:¶‹tÃ9Ë ò E äHðsÀåŸJÊ}{ :ú‰`zY1,×aÈÃiJá I\ÞQ‰󳺮[¡†Œ³cxgDÅâ›e$ÕÞªm…qÐAÈO'™MÈv#Œþp³ôæ¦i³56͹"ªùçÏ`Îc·» %™¦‰«TY@æTQ!_ ºqÀÍ›{h=£)+·x~~¤4")À ‚_‡a@S6pœò1ú‰‚È£e½Ö»ÝE]`³Ùá×/Ÿq>Ÿ¡”Âç§g´m7»Ѥ=Ѩ«ªIije¡0Àº.ÑÔ[˜DkÊ &38>Ã0®”4’yAΈA§à½ÿʱ.:ÆÆ—Ôëø™,#i ¨°!^³_=c„·32«h ã¨ç«›`mwÁùå3O§vMy“!º9ø===Q´™d€uä oIøQÈyÖ*ÃaÓ +¨Ü0ËŒm]A:@Ž”àxþòˆipss‹Re(w[”* åÇ0/ØÝÜB–n€c*«`=ÑÇ…dÈ^ù…MzIVª‘þ•ZaY´í%ysG¾cQ·ðóù‘8YÞ¬†Þ+åŸaNNŽ””%=4ÞxÀ¸ÌØnHQ ¿¶$!-‰My:½$d§TÚ¡<ÇÓÓSh’LÂÕmhFç¶…c›Í›ÍLRý½ ib¾ÙÔxÿþc¨Å}`¤ö‰FÝõWÀ!Ð/ 6Í.íì¼Þáz¹‚{`ʧtª:½$­¬³Œ¤³œÌ8ꢆ÷ Ûm¥$Ê’ƒ¼Èp¿»K›qœGÔuºÎñòò‚óù ­5žŸŸÉ~O.vÞS|”†OˆŽç”œ³XMŒòóx¦B¶e ÞsHÒ¡¹¤`ci¸†~îI5&8v»6UpJéZôíÃÐaIãMFnkRmY°Æ¡ïGô}›²Ñ­±ÈŠ’nÒ"ÇØx~>‚sàöÖâîîÑÕ…Œ’Ë„¼åu‰—ç#TYáíûèÆÎ,`¨ëMš4Ä\Ðé®r¸Š<¶ó†ÎQÑçÏŸQWl6dE޶½’óa@-7E Ekq>ŸC¶#·vpµ²Ž±È2žæZñ¦½^ÏiÆŒŠ˜añÚÐA2ñ¿üO¿ûÃ?~Ϥ(Ëz™1ö-¦±C³+AypÌ\+„@^•(¢§ÿbà¼Æy‚ä*σûÆ„q^Ð êŠFý×k‡ó•^ǘÆÇçç°GXm‘‰ ›z‹ºiP–¦y„÷4`œÆzÖpÚBJ.$¤’`ÎArxYkèÀlep¨76ûT•ãééC7ÀZcgšfÂBprº›ç%$¾™p·m $Yµm‡_þø3þßÿöÿàîî ò¢€Y&˜eó ³^àì mÀ¸ãÚm¤ƒ‡ó€ƒõól`L‹Æ¼,°Úâññ ®× êM…ÛÛ(%0 ô4áøüˆóË3ô8`Yz0O“YΣ '³ ]×ãçŸA–Inv€g`‚åÇ2[Œó•Il6 Þ¼y¥È¡dÖ -´¼„f™Ñ¶d&ðñ›ïàD†özAÛ^P–5²¢@Q(ê u³ îƒ4óÖÁXJ„¶µ¥®kTUƒYkÁè Þzdnó˜æ. qëL‹f?Ä™“ÉT™ˆ–ù+&õ ´äZ/ðAk¿è "ˆÈ¢æ^üÍ7XŒÆŸþ3.ç3¦aÂ48Ÿ.¸ö nïvxxxc ÝÐy†~üª(¡B‚êû÷ï°ßnãWͦRº®¥Q|®À¼GS×Xæ ÌÞ:tmóñŠež Êx¸ÝßÀX£=Úî‚ãË38÷¨74T<ìoеWxÆ ¡$s¥áY, v»^^hºÉ„G^f(Ë ã<΃K.©UD˜+« CGuxd©2ÆÉ#Ë1Í Ž§3«!p¹vD?q’gà2çÔ,CH™Á3!—`\B[‡Ù9ëÁxØžaÑ㾃1 ®§+é x–4Ê«€C$TÊé / Úù$Ó̸F_ϧ#8 ¾ûþŠº@?õà\¡k }ˆÙÎ]Eר64È3sÐè _ž1‹Û»ò\šƒN$³8‘Žygâ‹™°¤ŸvÎ%ÿ¤hºÐ춆ÕÓŒÓéß|ó þîïþÆS$/Š5¬’-«&ÚZäÅ(ƒ©0N=˜³’ããûÔuŽÓó –i€Ó ú¾ Š:ŠàÔô(:ËÉþÆ: êeæyFYåhêmZ cxžã#›~$ší> cBPß÷ä",œæIãîî.DLû:Ð:aÈ ó"Õúu½çœä`°6Mdås{{‹¡íè¤îàQ÷à4õ}Ìù”öYÆQpÆ3ÒjeêáæaLúㆶòL‰&Oó¢Šj¢Ÿ–%ã™Q>CY–¸÷>57}ßãÓ§O˜—ÛíeAŒÔ§§'‡Ã›MRiéIÃzj.c È0¯§/@ ÷îî»Ý×k‡¾ ÙX(æ—˜Ÿ J7û¾ý€ãõˆKÛ#o6;DOÑ<'-ñétÂétÓäÕW‡›¦i@Ûö˜Æ‹[¼Õ„vXZëúÁ$À(·lêto·M‚þÂËÇ#.Gʪøû÷ïñá‡`BÖÊ t#Õåô³f± ÁÀ8m˜e6X¦¥ÊðöáÛºBw=âøôˆ¡%.’ÖѼ®Ê Ìó2òp+fI& ¬y!Û]“ƒ8æ™ èÛוÉ, NµÖÆŽNsUÒÄ™SNö8kÔõ&åð9†´P½gpàPªH“å8™öÞ'£í58ž¥çjÌÊ0Žï_VÔKüKø5Ú‘qÝÉŠÔ­Q6ÜIœeÖ  먼bÿùøÎ›eçß}÷.]ò~ùùSâžÜ¿¿Çã¯Ïèû tÜÜî1›ÎŒ%o^/ªªÂvKs‰®ë ‰º(UƒG*£ëÏYšn^/´pc:j.œ™ ÊÆ,‹ÁÇï¾gý4¢m[ª_3™ñ@ëx‚Õ3¼ E†»»;H)ñøåH$Å0X¼Ýïps»%¾'4„É zÒøüÛ#ŠRa»mðáÃ7ØìwI ÈœGÛ^°, ®}—†ez"¯§ß~ß~Gb()°ÙÝb1«-N÷3æ1Œ«ýÿ››nØeÄÓ—O¸>?ƒy—l÷«ÍÚÑü#æiXk1ôåk¿R<ÆCŒlzâB+ZÈyž2#OßÏk®Pd"8Æ!¡Ê*+ «áµTÖ˜‡¡ ðL9Ÿ`Ñj=SO8É›f芓i)%…Ï ’Ì:‡•…Õ5þÄasÌŒÿ^”¹"åÒfšú|…³¨äÉÅEì¥ûÃùrõ—k‹ççÁL <<ê¢gÎLSûÃ÷7PÜãñ×?ã˯?cj[ ŸÑÑÜ`ÖyQÂs&Âæm/È3TE‰Y/IEGâ|½˜„ÇóŒÈ{Îyp.Po‰²ÁÁ´‹Öa¹*P6 ¸P0PE¦ÞÀƒh\dðžÜü#:¼wŒ¬,U™eIF\–%ì¢ñùñ·P:J,Ó4*+‚…KÚÌ8_‚êA©×CŘñáƒï±ƒ3pB\ ‰Á bå–Y­‘) †Õä!ÏÄï¿}û‡ûû·øóoŸQ—nnxÿþ»›ʲÄf¿E½©!3‰"Ï!³ çã%x Çã _¾Ÿ¡'²(ñÝ÷ß m/hÛ7»-Æ©GUpŒœÜŠ¢À¸5Cˆwµ£–²,Ãáî€<Ïñüå×+ñwŠ¢ _ôD$¯0‰–’2íTNv(ª$±Ð4¸Ý  ¢û[g|úôô¨Q65.·wØ ¨‹T‹FL[åªÀŸþúkK º¢ÆéüÄ.9¸®—ww÷¸^ÏPF¡¿ªªÀv»Åá°ÃÍ~ ç(7C ¤dÎÆcž,N'Ê{øðžüdÛÎ/ÏŠ¡‚ê¬}5ª—ã Ñ?JæEˆ"Ë“µA×u‰K%„€ù/yNôÂ,˲ îî 1ÄуA$Etm$ûúkì!˜óÐzN½YÛ¶ðÞãp8Ð@MÏx:¾ ,j0î‰Äžýíí-êº&ëSO±ÓÓüJyhèàdTzüJms•n €úZ0—n)5ñÖA:?a·«Qnrü—ÿóÿÂår‚÷ T¥ˆB>ÏØ583¡)oøã7÷€ J7x||Æáî¿>‡/ŸŸp¹žðöÍ*T^£›:0ä8¾q>kìêºÆñrF•ØoÜÞßÂ9ztýy'àATív‹yÖ8^(ç .J|ûá#þøó?“r+Ï‘Ë"H§à3B;R}Æ$HùüùÏz @¼­de=ÍD™·9ºñ €¬W.Çš¦A‘Wx>‘˜j·Û¡,h’ÿ††Ÿ:°1…˜ñôôc¨²Xí`©êJEºŒÏŸ~Åã§?UÇ“U$‘ööû=²"ÇoŸ/h'‹yÃP‘’Ÿ8 ö‡*Ù,Ë‚K(KYâx<Â9ƒ"SÉÊ1kˆ”7O§Ä–‚ìD'm4<'—‘,ƒ0OsâBig¡ )‰%Ì3EJ·,ÚØØäke†cCµ~UUDñÐ3Ù Íš´Ö¡ ƒÆÃÝ-"' N&z^ 5Ñé#‚”’Œ×‚Ãe?àn 挴ð¦iÐ]®º GÒ”Ãöð_}ûöÚ9üúÛoøòÛglêûýÌ3dR S z^0õ=T–Á‹iáµK‰8ݵÇ2R gýpc@™8Ÿ/¨6[(U¢5Œ––ILÚbš ºŽFó]?âåx…T¶ÍBåú¿}~Æé¥Åo_žq9·€c¨›-nïî`—…ÊÑT5yÓr‡¢Èpww žÅpsŽí–ì1á9ú~À0׫ªBü,"]›vã<ð° ‘7›ã8¢kÛ€N”ß­ T޾ë1kM¿k·Ç4NØvÈs…ËõŒf·ƒR9EX c,.§ œgX&óµC?h<Ÿ.8ŸZL“ÅùÔÁ0Lå`‚ƒ ê/^N'8ëðíÇoQÚ®Åïš§ß¼‡³ÏpǾ·›Nì"h)h‰"CABQ`l ¤(ÒXR±P)ˆÚ­H¢¥( ‘ ¢˜"U&(DÄ2EšQ.Ýw¾gŸ=ü¦õ[óôæg­µoSMÛMï{{|ÿ¹uÎ=gï}ö^Ïzß÷y¾ßÏ·mè×÷iê†Ý>Æw=:¥0 Ó¶°zÙ}YèþˆV÷”Hдý‘±® R ómßyÏåÕ%Y‘±œ/Ä»lÊt¸i;Ï‘I¯m—Ç´1 ¨Ê Ó19Ä)Î×Ü==¥ëZ<ßåÉ'£ÈJм¢í ²¢æüá/˜Ð6Û¬ nÄßliQ‘• YY‘ç EžÕœ_^±ßdäEƒÖ¾PÕ-Y‘s}u…c›t˜c”ê8>Ypÿþ=Âi€ã:8¾‹í:ÔmC]¢Åq\<Ï¥®+‚i€Ý'|ö1Íl6e¶œÒ”5eYõ‚º‚8ŽG ¿2Å.ŽY_oº£nkf³9eï`ó}£ÓS¢™H¡³<ç°?°Ýî(ëe˜¤‡œøb™‡¬¤¬šÞ±h°Ù0-m) ËÄLÓ¦n:Ò,EwC”eˆØŽ>®À¶]LG<㈧ºoQ€XY&Á$B) Óvñ½Ls„1 ê[PÔu…a8rs\í°]§Ç‹² Ò ²%íñ®–S€aÚ‚PU&Ir ,*Ü<-P¦gç0O0M‰»¾¾¤ë/êû!Ú0¨ŠŠNCè‡r‡i»qˆY75ºÏE§“B2•`ƒnäÐõy–ccºMõ×u) yXª²e¿9ìS’C‚a˜½ù~µZáøZC’䣦Ý÷|вb»ÛÓTmoWl÷' k5ÛÝe™ì“”Vw´]‹¥4®eH¬Gâ†n;ª²¢ªjÚ¦Å0†2°ƒº)P†& #è:ºFSyǵ§á(iz?²¡,âÝž<—pD˵™Ì¦EI‡ü •aÜLFÛ®?ƒvDQˆïûc‡F´ƒÌÀ"/rÉÀð…CÔ¶"+0 ÅÝ»w™Îf¹0¯ò¬$šLY,WL¦3ʪf¿ßc`’¦9mÓ Ñ2Ý=ìiu‹x@KUT”yAžg†" ê¦ãââ’¦j9²4—##¡ž’I×PUõH ¹{ÿî?FYÕ´Âv\LÓ!+*|?Äñ½~ÒŠµÏ¾ÀR8ž‡íXØŽƒa( CÙ†¡F5«‰Èk\Û[­‡$¡­«M߄ڣ¾ïßÄ!tuYcÛ7°hCÃ!Mð<Ã0±LÏóIâ„ívCvˆÉóŒ2ËQý×҃؞ãá¸7éRCa ÷fñÅÕ{ª<Çu,ÉtSñ>áú"!Š|šºb»¡˜é°k‡4gÓ°::a±\$iNG‹zeËù£=U-í¸;g÷È›’4-p,Å|²˜F [\ß¡®´a`Y6ŽíH‚íö” ‹££óEH×jŠ¢Â÷|š¶Ãv,Û´ L[â_–¬i{Qš¦4µÌ\ÜÀcq¼`6_' ŽmóØð\O†ˆEÒBÃÐ}hŠih:Lâj…da9ÓÙ”`âQ•†¡°l“År*AŠ}@|’ȳ’ÙlÆSO=%y JD!Óéœ$ɨʒù|Žx˜Ž…㹬N–¬Ž–8ޤ&yo®±¶ãQÕ`ä'ʪf»Ûsy}Íb¹àôä‡$¦ë]†iã!«ÕWW×l·1†mãy±Ò97 Ftš”eÚ˜Ž%Ú7ס(rÚ¶Aõ©Qh…mË)#Ï3† ÷á¾Ó¶-Óù¬¿hÇ#Zh ™Œ ¶Å´$Ë0IbÑ´Y&žH;Ù 'S®.®èº–¦*ɲ®eá86mÓÐÑâ96NƒæC_Óp·±,ɯëZ™÷ö{¢iÀÑÉñ!šFÝâ{ÒßVJa86ʰH‹†¢êØïR..wB ÔfÏ*²Øïc¬>G[i'!óù„¶­©ªšº©± ×R,çSìóiÈ|6!ŠLe ºŽÅðÂk¶Í~½çø¬Ï~+–²xî¹çútMƒ‘_l3ì $Ë26û]Ÿ]aД—Û5‹ÅœããUÕðÒ‹¯ zÌ¡ñXÕU.Æ—g8Êe0é5Râµ8;;# Ã1Þàúúš"Í8ì=nÇ îT)p…®3¹¸¸¬¤ “`Æj¾À0 O„v!¾‘N˜¬}^Ãd2éóà’xÃnóÒK¯ô°6Ål¹`¾:¢i:šNîUoâW=JԦÿIvŽ4ÉyõÕWyâ‰'¤Ó˜$#¯©m[Û휯GP—fÏóÆ9ÖÕÕÕˆ6µ ‹¶•¨5ÐýœÆDi &ÔUÝÏ™úD«ªîg–+ÑaþØ®Õ2Ö"¯òBŒK¶n%ÂzøZMÓTS¿àO~õû8‹ @韂4‡÷þÀ”òÓ`èºÈG|‹¦î„ðŒ6P=åí¥´Uƒe) îœ,E\f)Ò}Îùù&šÓ;+LÃf½^cÐq÷î ‡CÊk¯­Y,„:íy/¾rNäÛØ"‡Á¦e:S³m´¡X_®©‹²¿ßÈ0kï ܈xŸP”Ó©ØyÛ®ÄRË圶Õ\o7Ÿö»bÂd2áp8à8“ÉLØ»¾Çá°Ök%?l7p¹ÿøܹ{Äˈkq"P°FD…nŽÏ!çÀ œ>‚Lö,Ëü¨3“è†ÁÚÜ4 ¦¥ð\‘wµôʲd¶\àyÁ¨o꺆"ÍÆµi«~Àw£Ã’d)É÷¤õ¤m:RõmsÛ0GÞ¦|Þ²ÊYÌWuE™§X–Aס´Ö|×üïxâšß¼”þ©›_|àUx×·)6±…¥ ]6ïÇ—aM«»‚L9—ó‰Þ:ZLÙÆ"ÿ8Ä9Û­P«‡i§Rpt’z^ÒõÞùêHÜm¶ÍÇ(›’»wïrvv6±Vî@Û8Ä)ÑÇñ@«‘?Ølµ\ÎÛ‘È'áž…hßJ)ªÉdÂ9˜ìãQ1‹êFŠŸdzÄÛÝ(h)Y)(£áˆ?Ä¡]]]`)Cšý®f" îëëkªºP‹Å‚?üΗùÒÏy ÓÔ|¨e½þO߇ý÷5ÿâß)¾å»#`P–µrÆê¢&«ëþa·1"‡Iä0›G`vAPÂdj+ÑëD‘åZL§P –-Õ¾·ØžËÑÑÛß@YʃMÓp}}-;‚¬»êéx´Pæ"!¹ûØ–Ë9û½ÄýÖµH4ÛãpHqŸ,+ÈóœÕ|ÖÛ,ßèÂ\³¾¼º™n">tmèþø“`Û6Á$À¶ì1UHuš¶îú>}Gg÷…kÚFŽƒLÁq-:ÛÀ‹†ö®BuŠÝNŽl»ÝNWiB[IƒÁ´uW2]É$:/{F‘ZfY6l<Û ®Köûš®0 ÷½pŠmØl¯·=«I·= ƒ×°ß¬1 ‰>˜NçÌ–=D®¾ÓU•$¬dC¥²àZÒé Ã)‚¼(0ÍZMœ&"ñŸMG&í~sàìG¼¨e‰ÄG2çhÊ›„Úªòc­5tf/ Ün·Ìçr$3 Ó‘Âõ°‰íº‚¶#Œ|ê®fy|‚çŠ<æ…÷€ËËK‹E-¾‘<9àõ9ƒaâ¸ëõẕs]W¢·tÇ|>§Ur·mK‰?¦,…:¿ß‹\ä©§ž’Ý­»!œ7„Òk­q=»8X72uºñ’ }LÓö±\¦¥ú{k6ꑚùpŒêê›,¿A> äg'jØÃáÀÑÑYVP“PæIE^õó¤Fµõ–où#¿ÆƒãÂào«(†µá¾þåÏ‚ë:Ú0 ,×!+ lZÓÛ0)«œù|Šë™DÓ9ÚUäÇ麆ÅrÂÝqy½AuŠÃnÏ~¿c¹iá8Bï8::"œNH‹Ûvцà:&«‰Â°-G+ÒxOÛÖ„¾„S¶­&œNÐlˇ8e¶\`š6Ê2Y­V\^^’ƦÓHŽL–Íb± É3Š4“!bSã6?þ8>$Iîß¿Ë|õòoŸmTºÏ¹®q-Sð7•蓚²Â² –Ç’ttrv7ð9Òñåv8ìq]?œŒ˜OÚŽº)Çéº!ªØ|Ô¬=<ümU‹ŠÖé‘êÆ¡µ„ÊGøTC®a׉+P7-žcI6F×*Ï x×ü*¿ûm×à ÿvŠbXÿþE“¯ùv‹ëmMÛvÚu-!{I"F™0¯óõ6ðàdu$o"Gá6E^ñòk¯2›ÍP„¢Fs×’ÁÍ“O>‰éØÄqÌf¿£EÁ<ÏQ¶mêIÊ2g·Û ‚T¿«)Ó’ºkǹçܽ{—^xý~K]”ÌWK,Ë¡lêâ+‰‡ÝžÙ|2¶Ã0Ä÷]Ê,%ÙÇL¦!M)ŸÇÄd¹œ÷\¦>c®í8dbrˆ‡í,“ ~4— jž ®Ç Ò4§)›Ñ ÓÖ7|Þ¦îä¸Òÿ` ‡þ^#dFùX¥°­ú·.JŽïó–gžÂq~áç‘õzK]kl¥ÄyÉ´×Ñ’a…Slß&šM¹sçeZòÊù+£ÃÏsÞòÌSDQ4†á,zH`•Ÿïñ6’†h6ûäøoîÉ!¶íŽA,]×hË×ßû “ÑœdhTݵüþw<â«>ÿEìßâÞp+E!_üø¿ñù ßçQf)–eiו°òÍfƒiÚt-de…MFˆïr5%œR6вãn½c€+{žÇ|>ï3õ¶äU>Z‹´y>Ãu¶œVBÕ Š} Þ ß¼ÀÃÍn·ÓàÁÝ{¬×kÚ¶e2 ™-„ÓÉè+Hv ûý¥G§'ضÍÕõ…¼Q«Ç4˜„þ8 ͉ W:E^•ä•8øü(İ-šZŽ›_¹ÂóLÞò–§H˾bXr&ÓŒõÃ+ò$åh9åôÎB h^yáœÍ:Æõl&ó ÓY@Ù¦þ”'kY2ˆKùZºNä Z‹Ü~½^“ šÎ Œ|¼ÐÃ6ú¢¨Z®®ÖtuEx=)1äâÑ•ì²cÈhdW´=mÞä z¶ÃññŠÅb1Rµ!²ó<ÏǦÄÀúm¹ŠÄ¼-£1phR —ì‘òWV4m5¶…‡ù“e9êÞ*áÝ_úËÌÂê£.†a™ïùºü+ÏÜoøº//0¬)âÕ{-Ë|»áo£ËTØŽ…a˜†­IÓ’Í6ë©|}ŸÙ²1•Ià{ئE×µT¹x‡//w¬×—⨖0´K„¸¾K¸žËz»%NäáͦÌ'‹ “G.±í>ã®nhu‹© Zzrƒcø>ûXh¾çÐ45Yš`*…i™¬¯7òö»]«qmô©êš¦niZÍ£‹+^~ùŠóËEr®6išS7Ü5 E–ãy6‹ÅÛ·oÜz–-E? ŠB¼ ¤¬+ eÐ&­îHó˲)+KbišZzîM#³´Koœ²Þî0 ƒºª©ê­!K ýb¶š÷ßhë–¦Ñâj«jšªä‹aö¢)EU’ÄZ:lÛáz³e¿)ëÇsplݼúÚ9ïîE¹)1øì·[º¦ÅuϦij‘f4 mÛôJZݯqÊ­Ûf d‡Ð³§n /¼þx¥,“÷~óWü_þ»^ÄsÚßú!þHžóf§øÍëzoðgþ¦Ç«ë ³åBÓB²Ç´Ì"oúK§E×5؆\Z}ß'§®k³œÍûp÷=m«‰|‡éLÒo¦‹)‹Å ÇúHñ”eÉ£×ñðáCÚªäÁcg,'¼úêC~é—Þfs¯ïß jÑPEowDQD‘%(¥{¤‹1ÖäyÍõf7b—Ë#î=öÃ0ØíväIÊ£G±”Ñ“·+†L ˲8Ä9iÚ_è=!¯WmÅãO<`¾šYm«i:ðý°‡£Ø®X6ÓÃún^Y–â) §l·{^{í%‚ÐáÞ½4º£Îk’$ãòB8¯EQà6oyò1P m«û‰E^Õx®\öu#¾®–7¸Ò-M)Ç¡“³iÉãlBøJCü®Íjµ«c}½§ª²T‚\K v'§Kž}ö)²,#Iž~úiLפkoȉM+bÃÁÔeYðS7}8¼!€·[3ð3Ô]ËWýî_çóÞþ°—óìëc*Šaýòó6ÿõß:a{½£m[mºÂ]²L‘÷*%{Ï“µpy¿ IDATéçk¯½Æv›&††ã“Y–Q• ®2›…žC§:ÂÐï ƒÒïÖ†êÉ "+Þ\nxñ¥çɲ„ ˆ¶lZ ,Ø®np]› ô(‹ÁdÒ”~àöòƒÝxÆíºŽºOùÒ;ý($ eHfÛ6žçðâžg`¾SUÍVØ)ƒÍZŠj PX–ÅññB0•Jº?`Põ¨RU2ì°@£¢úŽË‹/¾Èåå#拈0œŒ„•Gç×}ñÌ7Ç̧‹>wÐu]‚ID§ ^~ùU¶û¶íŽr ÑnIˆ¦¦eÈæ‚†Íl>áÎé]®·’}Œëú,—sªº`³ÞÉ15ˆpü@€ ñ¼Øst4Çq^{í5î?qŸ·¿ýí”…´wë.aŒ€²Ê?¨{5ü~?³ø®¶ª¿õsÞzÉùüçpíîcˆ_·n¥(@ˆ ÿëOÚüõ½ŒíÛº­$>É÷ýqpÖÒ’ç%uÕ¸†I-©iN%û¦¥8ZÌi{¸ñê¤ç<åÒ¡;ã^'N¹Óô’ƒåñù! ÝqHöba;…žO’ÊŽN'Ì'Óï¹ûàþ˜|äö %´A§Œñßo7´]M‘ é"Š"®®®0”Õ“mLÇé]Õ‘')mW2™úܹs‚aËåŒQÆDZ˜ƒ¢¦c¹¢ 2^ž§$i,ŒØª¥È+6ë„$¯ñû¼×õI‹œt›°˜yœ¬–h$/ÛB6ë˜_ûõ ”‰åÞÄdÙ9#ߣíê$QSprºä±'ŸB™6ÏÙm®{„‘X@W«†¬¨X_®)³’0tñiOÏæ"Ø{üñÇ™D³Ý“'1^U%ØÍáHÔ´r'P¿©m¤µV'Óœ¯ÿ¢Ÿc5-nçáí—ú‚þ¿·UÃÊ øÿxÅÏ?ÿ€‡_Õñv7fªª`:‹¸{÷.M#€+ù&È„<É â½HŽ£(’˜.4-¢j¼{ï¶m²XH˜´tmV'+ÚV<ÌÃeµZÆ(!PÎ/9t…m@0cKàz£WùÎé]”-Å)àºÄvLžzæ-ìw^|éyÇ‘ãV-»àÐ~•Ÿê¹TmŸrª¹¾¾¦ëVóÓå”ý~ÛŸ‡û1òØ–‹?‘”Ð4É1M{l* )ŸsqqA‘Åœ®8傼ÿ¾Ëå’¦éz™KÍüh*!?´<~ÿËåR¦Ù#HÕ¶-_üÎçø‚w¼4ok½¾Æß{ý/n»0~î9Ÿ¿ø÷‰·1UUèN72Z.9»Ó4yøP.­¢@„û /½Æù«i+°mð}0ôÉòdœWeC§X6Ìç!†-w˜jžAQà6–®Èb9AaqáæE^‘ç"‹>»˲8?¿@©Ï—\ß±]`Íçsªª¡(DÀ7NÅ*Z×c‚ç~/Ùm‹Å‚¶­‰·;\×e±–ë½¹ºç"ÊÐÌçS,ËéÛ¹ˆ›Ì'ø¾?JF´˜¨rçèF>þà™®ªŠ,OF…c Üú¥—ÎDââ9B‡ŒB<_^E^j„ÓÓÓ¶VVùØu ) á[Ù†ðe§SÑmm69w"èkÙQë¢$É[&“€årNúT(©½žzxrrÒwKõÙOnùÚ/zßm>üƒöQ®U ãÿûP¿yÛÅÑvðÃ?îñ·D ¾O<ñ„§êºÙfËéeÙA4¥lZ6WÐÆ˜’é˜2õ.އƒ°M]Ϥî$QhàÕš¦†îJX®32GwûMl.XÓ4‰÷YOG„ÙrÁéé)»ÃnÔsG- K×W)Ó©‹ë™Ìæ!a0!-n°*Q4%Ë2¾ò*®ksrr$ XS„rb&EÁjµ (3 @vÉ8ÀÊ+¹[M§Ï>û,q*á‡~¢{áæ|ÑÕ¢³R–+VuA×Ê`Ñ4\â8é±§2'Ún·ÝYކC7¯iDÓHWhe€t‹‹u×ÒöÜ$´Ä¶ óÓ4±\×2 B4ÉÙn·= D®yžö?S›®¨(²ßqÕÝS—¿ú§¯yüìck¯þæõáŠaü3îÞvq2øžÿí./^?FÓ4Ú²,=º¼/¢è­Ât¤34‹„„½ß¸ºº’T£å’ÉdÂz½’\Wã¸òC ‚e$:ªäõGÇå­ØU÷ÒU™MЭ(m_$ÛøÀ£GW˜&¼õ­ÏÇ;¦‹9uSöSsÏs˜Lý2阦‰çJ'éòò’Ýnç¹Ü»sFÕ6c’R–Ée1tCÞñ}®ÈóÝH\]öCÆþŽRUÊ2G•°ï¸$y"æËìê‰YUE¯³²e°˜çÔuËn·áììŒ D)Pç”e.ŸW+‹Eßõª^ç‹zîWÞ{_Œ±yb/Éõ°Lo´”péºÈQJ3$¬ÖuK^•cg­( iºèNåIÊ_ùS_òy·ûìÁGVð(ŠaÝvq¼raóg¿wÆ>q°m[·­¿AY&tYŠlD¢vEÛßéfŒÞ²,éÚ¶EÓVb$êSI»ªãúz#o¤VSu/a¯E‚P E¤ë\ÏÆ³-ÂÈ%K :%]¡{vvJ'\^^KKuâøE-‰Oe)ÄqÓRøŽiiLÃî„rÞ°Ù!£‘å.%oLØï,f!'§r¤899bµ:æÕóG’RÔ‹ðÆ;C±¾\“Æ÷?#šì7Ûñû8ŸÏ™/h´XMã8f½^cÛ&Y3›MhJy£/—Kò*'ë½*®ëÒèf¤‚ûNýÜÓѵ֯Ëÿ¶° ‰CvœeÚdY1~Þ¶miÊ ­å"=p½:%ÒnaºO›¦ùüýƒ{¾é6XÖàú(×GZ ãŸÿHÿàqßøç?kñ?¸†^Z0bu½¾ÞP•˜`ª–Ý.öáôx‰ÊÛè&LñÆ"©,é~L&³1Föüü…c -…‘\mÂíFÛ¶Åñ´VäÉa”~(%’ˆÕjÅâhEž ÍÄ÷BÖ›+v‡¸§žÈ¥Ùw\:%­jÑ9èFSöz8h‘Ž[–58&DÅýûwE—äºc˜I׉ßùêêŠ4M‰¦sÖ—kv랸ws¾3ÒBz‹£c0E ×6Âfͱ¸ÖTïœs¼ñè*éCâ'I Ñ!}¸‰hªDÝÁÁkšrß°8~ ;h’÷/ FÍSY–ã Í4Íž'Õ±ÙlÔüLÅw¾ûÀ|rË󆲯¿÷Ñþ…Û.ަïûQ‹ú¿,ËzJëöA¡ “ÃöÀÕÕ0ì“J±¬Î{´e‹æèô„ÐóyßûÞG<þÔ“´­–2)x/Ì«‹’ãå ßç™íù’Öše užçptt‚6Lvë y’örÁÜA0ÒB¦Ó©ìVZ¨àe™Kc%tv·â<¨@Ä,ËÂvL¼ b¸¸¸’;ˆïjp-SÚ¨mÍÓO?‰i¸lãÃè¸;ÄÔ] AYÖ8¦Ñ7”EÍl¶»“ì%øQˆ\]œs´˜rïþ)CþD]‹rÈÊ«ëËñP¦¬ò^uZ£:%÷º}?O™L°,ieY2Nõƒ ¢î>8—{ºÖM‰j¦i«(0øþÿ&ã­¿y—èèïÿvÿâmÇî øKÿsį¼àQwZ=ôk»ÙE“É„ø°Ã6Ìчk¹rF,eÉéé©d9[IV°ÛoDší;ã.0Ä÷:¦…éÈ‘*˜ˆ=2Þnh«/ŒF_ð~#’ïår‰l6›ž†Qã8ÓéËuú`µZaØŽéŒ=)>-!µxó“},ƒÁ>9jø¾·mKÕÉå|º˜3F<öäcÂŒ5 †>÷™ùCoû7Xæ'ÆQéC~¬Ûø ·]ZÃ?ùþ‡8—I±eêa›£IÇ!N©1ÿ/³qBžç%IÒ2D›L&¶1¢»®µùÃCØ"€ªÓD~ÐwZÛÃMkñu·?Çqäø‚d|‹/D÷MÝЇÁC1™ˆ?#ÏK ko%RÊжç~ÞiHÙ©‹r4ü‡áDúÿ—V'ÇÄqÌêhɬÃD_Ó  (ŠB~Ç‘üìÞ¨UTbnRtú¦ÓHvß¶âÎ;LÈõzçI·®îZÉÂó\Ix¶×k^yåš²’Ȱ²ÂŸøÜ¿—Ç{ŒùdŠíÉ¿)ÍêÞQÆñþ-³à‘fÜêǼÍvÛÅQÖð7þaÀÿù/=ÜÐÕ]ÝÐu Óéœ4ÉyþùG{œb8ò0^^^ Ü÷ÉÉ8lªzt½æ £êª^VPÒ&´{;©ïøt­¼µmÛæúârÄÇIדNUËwÜ0Dq[–uÏUê13³Óé×ñG[í0Ü‹¢Hæy.G >ˆRÌ3ËÅ/¿ð27”LSMÝ©>ÉH,ÁŽãÐÒ’Æ錙RpUÛÑjñÏk­™ôYº©%û0ë]”®‹RŠ8Žû‰w؇4 ©ïúâ’_|Û¶9>>æñ'p÷î‰ì‚ËWUYð_ösŸ÷Á×××ãbp™¹®HÞ•’¯Gâ $÷ãÞ½{,¸¾¾f·ÞŒ;ŽÖ7_¶Ll!–ôypišrØí #ùþøŽ;fi“`|É ;QÛ¶<~ÿwîÜÁ4e•S¤™*Š‚?ñÅ|þg¿vk’îa½‘oPQ ë¶‹ãßþŠÁ×½ÇÃР©µ´\¥UéE~âGBÞH³=º“öl²9>^õ?üiS¸ÖMÎòá°5âM–´XË68=9ãêêJúïMC[•Ìææ¡•!ò뺨©«–,O8»ÆÛÞö;˜.dw“‹(c ã|>E)O×EÉùùkxžÇâh5 ò¶Ûíˆ}‘%h¶u TŸPë8–´Nóâ¤þ~á¾xm˜¤iÊË/¿Œã8œœœPµrßðmÿu¾ %¦a6›aš&óÉ”ÈôųâªÓeËŸÿc/r²øí[A?Ôz³Šaü|oÖ'ºíâÈ øöïµø±ÑáùŽ^-ð<eÈD¹SP¤E"$½¶«‰fUWàòàn¯ f3/ôð'Â|ͲŒƒ²©Ñ= Þî‰|¤)[QåY/f›°ß¸:_³ÙT<óì1wîÁÐŽ5MS‘Æ’Ês÷ôZ·(eʹ¾¿Ä›ÆÍåÚó%¦ko…fa ßqEnq¹¾æòüѨ,nÛ¶Çø˜¸¶IQ$‚ ´®ãó‚ÁQˆå¯išÌçsŠºbsu t¸/žëNt`e•‹A+ðð| ÝÈå?ô|á»v¥´²,‹?÷ÇÎyç³Bæ£YovAÀ›Xúíâ8¿¶ù¶ï?ã"vñz„̇[Ïb¿†ç'¿u‰z ?ü“3~ìgž$Í¸Ž¯-KàÆyžS” +É:qoj¨–¸àZ™”M²L¶ñTÃdŽ4½º¨Ù^í™L&L&!´2É>ŽŽV,—ó>`Q±ÛípCé¥iÊñòÓ¬|YÖ(l<[x¨–‚¢ÈÄ/at4õMz§¡ ëFì±]‡ÖRXy•JL™­ÆÝÆRF¿ó™}¸¢h°Ê²îÛ¯­8ÝcL5¾/°6ñ¡ ÂEÕÏ?LÓVS·á¯¾{Íw>±¤·¹>®E1¬Û—¨+þâNùWï3ÑZëdÓ”-g§sNN—˜†Ý»ó|ªVˆØu'wˆ®“Ä&Ëuˆ÷»CBYÂ[ÞvF×I§HjtÕ-M‘¸®Ïv+fë õs¦ g!Úhéꎪ’V®çy”…¼ÉÄ£‰;XÚÐø¾Ø4%§ÏÁwlš¶ê#¨LbRy‹»¢-ªÚ ÚAÜXƒ2± >AŠbX·]Ï?´ø¦¿µ"ËmÚªÖžïˆBi)Ú¶MZˆ.Ét\Š´d%&Ÿ‘içUÎ3ÏŸ ÍÑÑ E]1™Ln.ÍZÞ¶Î/)Ò Ç‚ÓÓ³•(F“Þþ)wEš¦tuÃtÑVšÍz'®µe/MÉ3é:yaB)JÕº7PÉÑÅqê¢xGbÒ©D™;™ÏFÍÑv»åèèDZxùåWÇûCE¸®Ëz½Fµ&]w…#Ÿª-ăîûê©Ó„ÿþ¬¦Ÿz÷†·>áŠbX·]u÷ÇWüÈ?uhÛú MÓü‰´èC\ O&“‘ƒÚ4 î¸wï˜qœ$ñ(p™2éN°mX,e ì…Þ(õPª?ÆoRI£¼(np ÛíVf¶EYJl‘¨Ì'ÜÀçêüŠý>Å4% t>ŸË±0t9==)#À+.‹š(š²¾\suµÇu®k³šÏ0è”X|÷ŸZóY}rÏ~»ë¶(†uÛű=üå¿{Âû~C“$™vlÍf×?€«“žíPÕ2½ö£Ý)öÉÍfƒ?ñÇîÎ`Ò´`—«9‹… ·Òô0bå˲”{Šåô¾Š–ª’“éLÒ—Ò4%ð]Ô–ë‘×Ë è¸s|‡ËËKñsŸ³¾ÞR×mÿÿaÀÖ£‚‰'E^edqÖj,S>®èÀdš¿[_ã;¶j»šoýÚŒ¯øüúRÒýf­Oø¢Ömǯ¼`ñU®¡í –Ë¥.ŠbÄÓä…yüÈ Y–‰¨Ð2ûnØ–‹Ý3Wè‚d·IÇ(¯Êѯ«“c²¬`}y!ÆRäy:¾Ñ-ËâììÞ˜w=¤ôTUASLÈ×^=Çrf³UÛXüùD2öt'Yu]b¹Öèz³ ¯%‡ŒÝNø»–ëÈEÝ4Ôÿ®”÷þWГ‡nm}2ð>iŠÞ‰úOþÂÿÝMúœW£:\ëFb.飽FJKpÉÑb)´Â]BÇ#D¬­™cÛ6aè‹ µWÇãx¤EÎa·•l6×¢l$Ž`Ìt]—ããSáÌ6 ûýžÀ•K¶ndç©;Šõs»?0äjÓÈ@ÐqÄöY–9]×ô”‘’TeCE¡‡eYêÞqÉûõÜY~rê”ÞˆõIUúí⨃ðSÏð¯~õ”Gýì!ÙN×õÐa%ä¾I0Á°-qÙ9zï»=îÆ¤ÔýfKUK²ìÑÑUÙHh%ôI¡‚©Üíb&“¢.¨››\;Û”å€êÔÀ³(ìCÅÑ4¯V¦dy&Ì/$Õ¶¡®ÅoR&ƒyIãû¾Ê²Œïù–„w>s»÷øä.ø$-ŠaÝvq\ílþÌ÷ÌøÅçßÑžÝúI´t• ò$Û¨WWW˜¦)ÉJiÞç/XTuA×=í#Å L–«9–Q4g}½e»ÝL"Ú®d6÷û‰³Æu} ÛCPQ ›ÀívÏb±äÏ~Ït±C÷m' ´!‹¯iòLvž¶’ }ª®k¾ñ+RÞõ%í›BÛûd\ŸÔEoL ÷çÃá›þöÚŽÙl¦uÓ²ßFQááp «;?"Ms‘mkÍf³c6›qt4'>ìH“œI0A’ÐÇ1qeY³Ù—( &!,¡ç÷ôÀJ)¶Û-Y–±X̰ (j ¶\o®(Ëœù|‰Rò±u§ÆD)×Bû ÏóKYêþ'ßúŸ'Þ§W‹õ£]ŸôE1¬7B¢þþŸÿñǦkV[¶í™ï©&Þg="ÆÙ´u'â¿ t˜D3”’?µYobLsTì† «…OàLÃ)ô¡èu-åÉ4d6›ô(¡”´mM§+tÓ ŒÍö¨+ñ’“ËFàp¦A^•êhÒñ׿!汓ÏÜ>’õ)SúíâH xϸüÔÏ8ø_/—s\×¥(*6ë]4#­YÛ“V­m*<Ïáüüâƒ@y®Ñ¡’‹·ï0_L C—2OÙmc²¬ ËZÂа¦ibOÓÊàš©ð|GÔË’")ÆL¼¢Ìp]WÇ{¾öÀïù¬‘ûÛYŸªŸ‚E1¬[·Än=þ—ŸþýTÆ1]×馩Ø^oyøð!¦iöF¡¸O•|¸!ø°i«Ñ;@Á\ÏÆ1Áqû|Õ’g‚ÊDãän"¯Û£lZêºÄtMáC9‚ëŠPeQóŸ~îÿå—vXæí~>•‹aXŸ²EoÌ}ãW^9åúg¿“ÃaÏf³Ñy’ùá‡Ã^°0JºFCŒYÓV8Ží(êº¤Ó MS‘$î8¬(Šp«‡#ËñÉ2ºÛÅdEÅd² Ñ}»Ø* ç8¦têOW|óW\|JJºß¬õ)]Ãz#(êïÿ ø?1ääzÈÌFFíØ“Ê*%š8L¦väRS–µP»û™Äb1Áq{«i+q_¦iR•2èZ‹¼ìqŸJ˜¹bJ ÕÔ·øÎ¯}È“Irƒ0IDATwn÷¨ôéT Ãú´(ŠaÝvqÄ™âoþèÿþ•cêºÕC´X–ÅX¶Ñgþù´]M–%˜vÉbéÓ4 u‘Óhz¼ÍTØPi*Pra¯ª ß÷Q¦M’ˆN«^ŸÕQU•ò,÷~½Áï}ëþÓZšq›ëÓª(†uÛÅñÒ…Ëwþ£Ïæ)ªºÐ´ mWb™rY®ªŠ†ƒ ×oû\>Ù)fË‘‘°ªišŠN‰ëÎtlG+LÇ?øÕš¦îÞݶúû¿ò÷Ô|×–ØŸ&’î7k}Z¼1’‘Ÿ~ß”¿ò÷æ æÓ@{žPȕтj@U¦Ð2òRŽ9]'ídŸPä‘ ÆÆ2Ç‚rÓ±ñý¦îÔédÃ_úã1ËO3I÷›µ>m‹bX·/ïûßC~ì_‡LCï M«ý‰ÉÔÅršÞ aТØìcºª7Yâ¡.’ªGÔCÕ68†XgµV´­VwNŽù ïz…§î$·ú5¦>x}ÚŰn_¢nò—è˜W¯L»Ö®§išŠªÎÆL:IÒL§s&qœQäU¤îPµ MÓ¨¢¨øæÿ¬à+>¯û̽áMXŸ)Šß´n»8~íe—?ÿwf´ºÀ´´Î ẠO)@Ù‚Ó/ꆺҤE‰¥,<Ï£S¨ß÷;Rþä%¼®s{+ë3Åð[¯ÏŇXoÄ}ãŸý»üçK ³¡i3­Û’(Šð<‡EYÔtÊ"ÏJ9*ÍkÞó5 §óÏÜÞìõÿdZ¡·u«üáIEND®B`‚pioneers-15.5/client/gtk/data/themes/Iceland/board.png0000644000175000017500000002337111257440734017623 00000000000000‰PNG  IHDR@@ªiqÞgAMA† 1è–_ IDATxÚ=»I¯4ËÞ÷‹1‡Ω3¼ãxyIŠ£Iªå6Z’ h Ñ0à…ý¼ôçÑÂ+¯ì…†ØÔ¶Ô²Ýšz›b“}IÞùÏPuª*‡˜Ã‹ºöª€,df 2"þOüž'Äõ­ï×çËßùÉc®Ï|õ©çß||Ëïüî’¿ýãøïÿÉ$ˆÌïl`˜ .d&—˜ÄTyËÀ09P– …\J¤’!W$W½áI£øñ÷6¼x‘¹x¤ùløW¿~ÉÿôïüÃwWèW=Ë«%v!Ñ6‘åľó->¬[¶s¤]*ÔÁó YH²Áì+²h\Gcò¤ZQB¡…"çB.Ñæb)Ò‘BÁŤ¡º=y8„ Ê| íøã‘ßýð9õ™ «{jjØy˜¦‰” ž†Š/L¼ê(©%ºÔiÀ2ù‚X­ñMÏH`+ZQ°+I»ìÐZtÓ“«BH‰/…˜¥@ARLËç/oèô§,¿¾ÝÓO 7ÒR‘;±¢/ Ÿ3Çš0BP+ÄB-…,}£È$N‹¦ÊOCR-xy÷†o'JíaÇ9…¦=ãö>1’j5q®l½¤ÓKbŽÜ•¨cÎÌZbQ {FŸék!ºÅ¢á¼™™ÆÀœ–äœÂ@r´¥`¤ iš¶%=ÌheѪáxŒÌAsóÕ-ï÷¾‰éޝ³e;¿å÷úþñÆ#mhDÆ—@Ȳ§Õ Y%U€mú¶å8Ì8_‰N’«&Ȉj¬jùâóœ/À‚œ2Z[7ñ«/^QË9ƒ=p( c„†ˆ’‚‡d)³‚X ¡Vt…\%c ØÞð4~ðP*¾ d¿dj%{ŸˆI /;JJ”Zxýö–››ÄývâË’þ½wpQ²¾¸àû?ú6u~C±+~vttþàï}Ä?þןòxmøð¼#’IÑYµ ¢Â0ϸ\5qÜ|ï£x³X· çëK†C¤_-™>iq~¢í¿÷Ÿ}Äry‰lo5q{sû——\œŸóóÏÞð¿ßfD-,D¦Ó•éjBå†ýëÏÄÎ$…ÿãOÉ¿ð#ÍêŒY-н’̱à‚G‰„2¾8|•ø Z+Z+ði¤i*—ãb Ÿ…l<9%šš¸Td&( )ÓâB‚̈ÑB¡W=±ddQTÕàR¢µ†å¢£ëB„4ø2SeByv¾ O¥)t . f]xˆoi.5ŠwCO A³è™EĹ5s?KZÓpÕ@]%# ,FD´”P%8ï±5’aŒŽqîØÝï¹°²ååÝ[–kÃbÓóÑGgü»_èž=§ŠŠR‘3%G´´ 4µÔ“”`¬&úÉ‘s¡V@`´¤hÃèw„xÁÛÝ-´†ZgúÇOXnÈCF&¨ƒAÍÈtOzÜtàÚ®Qî›å+!™B`ia_-F(JqÌqf²-"šÞR«ÆÔ„NJpÈ‰Š¤†Œ”‚ÀÌÒ>å²;g/ï%h‚Ï`FL¶Ží_ÂÔmø*¶Ì7•JÉ„d 3ÊZÐ’98”±¸ HUR…f2Böœù#\¤ù€¨˜âí4þåg´øRЫ%¯xؽ"ªÂ.Œã°#ÙŽ]””¦%/–¸$p!1Tš¢sª$µ$BrΔ’ˆB •œ3U5¤ì¹¢´¡TˆYseµX K¡ • ßþÎw1ÿϧ„ÁÑÌw˜ÒsÙ7G‡”ND–]Ã0ÏÄPJ2”*ÈHŠ+AЊÙæY}ÅÖ‚‘Šq7ÒfÃt™¶7´fN‰3‡} «‚*×<Ì#utX1âä"©¢R¥ ŠHˆ™T J)D­”RBœtJ.§hlGU ÃØ”RÆ™3‚4È "&rœ]ôܾ}Mc4‹~…(£$ûýv¹$D‰¬+-UWçQ²%ÉJj%•J•\+²4¦¡Ö);H÷X{N¿Ô”ƒ£¤Œ¢!'MB ¤EëQ$c-2‹¶ÁÈBÈž¶kЀJ­8ƒ”’X"¥€Ö)O’X‡y&玟ÿò¾ýd BCæp˜yå·(Ó½§Õšá8¡íŠû›{’¨ìljÐ,yH•ÕÙŠmrȦ§&pÁK%+MÈPP”xª6©$ª”’ÑÁã÷•ßþös†9 [KQ’ƒŸXZEDðpœÙ\uDÉÍLãD±Š¹dŠÈLó‘e£P5‡HB€”ø˜(U ÁS õôõc-H)Эµ,ì’äŽÜÞm9Öž®ë¸¹»çàw¬×LšÉ)bÛ–·7oY.¯IµJA…=ßýßá{Oר¥e‰ix8‘ºÁ§Êo>ù‚Ç—¬0T±f¤5¤’i“†<1Ž#±H²„×÷÷dÙQ…<Í[i¹Ýíæ@¯Jƒm$}ß0¿nØt-ÊHÊg¾zu˓ޣ]´L_<ÐÃ7®¯Éy¤(Ã~šÙϳYòfФ”(¥œÄX)$©¸0†Qjesq¹OõŠRŠÆ*ÆñˆjžSŸ`NH#0"rÖÂ;Ëž±TTi‘EÒ÷=s̼ڎ$)ЃZ²CbÈE’\eö‘b ‹.c­!‰}¼áQZДËóÏ7•ÆTjv-mY1w¬//8ÄÀ™Ò\ôš[LJ{â~PÊÐu=ã8"¥àƒÞçç?ÿ+ž¯Þi)zÉËû;Ô0bå »è¸ßͬBfÑóænÇm¨ (‚1$¤–ä2³S–Ëë+Js‰´Kt{ HÍCŽ‘]„ï=í‘Bb"fÁ2mÌ,í’\àÅí-ÅÜ2ÆYP)ôRRmÇÛ± Ÿ/aµj±Êb”&úÄp¨(ÓR*”’8'þü¯>fΉÉ'‚ƒÙ þ×—¿àÉÓÇÔ‹ur‚Û—Ÿ±^/†‰T&Ž$ W—-^7\<»æÅë‘ô~‡ÞþùŸÞó'ý[~hι?Þaú ¶»,-ã0ò‹_}JH‘ a_ Ë›ýŠÊP,?z~Ž›û½ÃGÉHa2{w •Âw¿ÿmž¾ûw‡†?ýŠ÷®7|ãiCîÎø'ü1ú{çWlÎ{Y µ­V•(Ã4‘kÇÜ5)éJ&O'¶×UÉË49¦Éqñü‚㛂Êê¬GN™åb‰}ð,¬àjqN a+QaÍñ&Q›ˆJ3KUøæãsž¬3.IZ/©MÃÜŠ<‘èX3km8&Er PÆa"Å.$œÏ¸Z¦A–J*‘u ï_Xz÷KŇWß¿!¯–üo’Ñr»eífJ8Ò)Áªm‰Ã„§a•¢ä"žBH ¯ Y¤+:ž.:Þì!¤À 3cVX-Iµ¢• §LÓ5Hcð1”ã~?°9{B+*»í+Lºä\êÑãî™n4 Ûу^XˆŽâ<¡F‘û9Ì7tUŒUó5URHd)U!k$–ÂÀ’ipìœc7õl|%5–BõT5FÙaZƒ®Wh¹y¢ñKúµg?ôzÏÃp± Åñ°'VCQ‚,9CI€TÈ’Èòœ9e&"ˆŽ¦;²\hFixlz–—TuIÌ[ÕC/qÙ’FÇHDójƒ–ÐØkÆa`±X"Í=mÛ±½Ïd¡BdS-¡$’”d5 ½YñÅgw±D¢11ÑVÍf±!}yÇÂ. ¦Ñ3‡ÄÛû[„zФ2°Åž-yüh½Ut"qµ¶x UÁÜœ‹d{²Æ*_›+Û5„$™B"Sºá¸È^¡œâþõŽÏLäÙ{OHlÉH„°l·Žè4zÓ)™ZªÕ¸Q‹%ƒiWìsb?Ì\è–6 ¢$àÿk…Ÿ·Hý¥$Š9ª%º€é$™ aÙ­Xõ+tc)Z¢­!W¡gVgdïˆUãÐT¡p%3»„±-©f*•$2B)@PK¥”ÊyKÓÐ+yÏB[r<)Ùeϯh{Ån8"%Åì2(Q£ÿè7¯éT¥‘™* 7G°•å\°MË_[zÕܯ…T*Ò’¿% ¯ï¸Xkîç!z¾Ü îçB·Ÿ™… –ˆ›Xö ûi/™ÃàXä–£²üõýŽÝ°åaêÍDhËÞº¶ Ræ|½äpØÌ¹œìµW»>þ¬á~H£c7kdÓ2Î#¶•ÌãsÛ2ûÀî˜X¬Öܼ¾¡äŠÞ¹ÑKÞy|Éä#NV†~úãÿ„ÍåùÏÿ)ÝbÉ£¬Ù˜s"Q‘Ja„&FÍÏ~öÚ$\ä6XŽÛÈ¡Hv/9zAÓ\¡¥ãì¼c¯…Êv7°X¬q}aP3ëÃçlî÷Ç7» éz–M+œMžŽÔ”I(|UÌEáPˆ¾£1+ªh aFÖ‚¤‚¨@åñ$©ð5qÔ ™iš–®]œ ‡t]‹òž*)Ufñ±¢UU\œ_0O3»1ŠFj1†T+"E4žY ²!×Ó7H™“ë«Q&r B*´Ï˜\0H¦Ï>(Þ¿Zæ™ÕòŒàÞpž=¹ÀZ‹U7 ¤’Ù»ÀÁ † 9ºÂ <ÄŒ'‘c À‰,S©§ðÁ©=µRêi­À{r´hÛ}äèU*œÏ ¹€”-«`&òRR«`œfn«c»[Ñ4š³Fñáfè#*.É_óü”3!&)„”€$.*±V´Ðˆ¨9£*nð§ûbEAÓu”V‹'ÉŠ“Šè}ͼ»nùñz‰6‘P%7L †”BÅ—Ê”"µB*‚òuu¢ ¤5_Pºˆ˜î¨B0—ÂY 1±7š¥VR„" EN•¾íiRÆ’©næíÖ1šG(éHê’5‡yħÊÓ~įî?#¸JâÀC¨ô¹¢uFÆJé=Ö5ìr„©%éXe¾¦V™Š!&ÅhJÍ,ÎW¤ù¾iÑ&aD€^Ì`)íÑ®€² ¹*—ˆÞyç»`™ÌÝaÇCÚã‡m×r—2×%±¯=ÁG:»"¦€P†9CÊG¤ª”ÙÑKÉ“³wµÐÒñr{¤ÔÌ!H|Yr˜=9f^¼|Ãv¿¥oÏè[ÉÈ—Ûí$Ø-þaŒJ¤t v„.ƒ€,BTª2Ì©Ex2¯(û@ß¶hÓpØBV|G\Ñt…’Á'R,”"¸{{‹¿îPB#jæÑõŠßýɇ¬Ê’7/^ò¯~û‚ÿö¿ùCþç?þÓeßBj‹/’ãrÿõó šÃÍžO-|yˆøùíçoØowÜî‡tRþÂP¿ÞŸÔ(Ì>p&ž´-…ÂT'6 h–8± r + IR¢”zJÂIÞlzRMˆö Ÿ'Ì¢¡ÖBn×<ä‰^&D©ºG7Û/ÈÛÌ~¨²ð•‘?Òwk¶ÃHÖ‚4VºöšÝq$˜ÇÙÑö-¢ÌHYJ¡e¦"87nÞóˑן¸»{ÀèŽEÛ³»»'·=ãiÛŽT*“s¤Ò’½„, ;B¤>Þ£ZËà3Fµ¤È1Q¬¦Z!!E ·šÚ²?LÌaÆî™Ü’‰™ÏßÞp³KüäyËÓ‹s¶¯F†:Q„:9¼}GQðÞ“5?üÁѪåg?û”WwoøÎw?$ÇÊ'_ 4Ë5Ÿ~¹çr)ùæùŠiœÉ<‚¢%5¬Ù––ñø%«î)J†û·X»a½\| êŽãpº¯í;”Ö$W(¹Rõ–~ÿ”ià7_~ÊêlM¿|‚“Š_|ü9q,t¦A)‰¨…¶íñ2Rr¥Sýî@_r½â£¶R…!L‰u[˜Rà;Põ®,øäþËfMM'pùŸÿ£Ç|ëûï1m39¯h?¾áûïjFvüðù;4— ÿôßêaÇ7Îc¯IÂrt™9$†šY»#iùˆœ2}#‰rͦޠBäao°)¡¹`W_p=k¶¦§$GÐ’ï>îøÉ·¯¨ÞÞ¯x÷é†GO+y›øÝ’ß¿nÙ˜N¾%ˆŽ8G”< ¶P ÚèžTAæ%#ÉÔª©Q@̨lPI“³aM·æà4Ç£c<Î\Ÿ]S¦ˆ’%à¬_ñÞ³+îŽ#²€òa¢zÁÎYçI"1§r²ÊLÅ—Óµ9f¢´Ä¤¸98>ØR^€Ô̳ãlÕC=ñˆç{Vý)Ž{yÞóJCÓ-ɦáÕ” Í?$Š)+.§SíÓ&—L¬•X E \¬ÔXYØúB#ã$]eô7gDRn&¦í„½¸â׿þŒs-¹½ßqýîþãÇ3½©<àî>òòí@( ´$”xJs¥B*„ >bˆR¸\BL#%óàñ!#u5 )6«5‹ž<&†#»·ï½Nk;‚ƒcŒüæ0P³v¢) ™A©Êœ¡‚þäv¢ ¨²ž~E%”!,š³¥d¤PhÛ2ú ƒTоm¸¿=òío¾G]¯˜räºoØNK{ Íš”SC”ìJ 4§ã55#Š ˆmöy'WdÔ"(U"TC§ÔJt…ÃþÀÂ]_ã†SW¬©åH nÊXÙ`­¢)?U޳çX² ”ʸ’(R — ‰ø'åRˆ¹Ò4-R[Tª˜atè\ÙM3ŒjRZ-QÍŠ’±5H¸ˆ~¦º#ÇùBÒ©‘Ÿv,ÕŠ\ ¥€ó§ Ä*©Æà(ú:ˆ ¡Κc¶£ãË·óis•%F7X]yýò%°f'º‰iÐg Äœ2ËUÇ£+Í'/(EQ£„`IÁ°Ûyl»DÚ#G/0­aJ8¡ B†¨ ¡\šñJ"•À—„Ì•¤NUåâÙ5ÓçŸÒ.žr(ŽFi|ÊènͽØÝM\TΗ¤]&KXÌ”ÇXCu#‡êX%PÒ²§ìÿ¦éˆ~f¨‘1*’¨´¼än¹"WhÍ¢•µfâ93‰Õ©fJSý ¸VÎ6–7Ï!8þò“7l.žñêþH’'$1V|¬TN~C¡RÊp:—P+jXœ¯ÈE°…®T¦¡Ð®Ë »Ç€‹ŽÔ´(%¹°’é‘ÏÎhŒDÿݳGŒ1×–qö<îÎH% …äÒœz1Ç@T•µìht‹« [ÛŽËå†u³@fO re¾¯0,©RƒÐÔ¯·yjÑ”ªñ®â² iWlK˜2½^RL@ÖL$Ó·”X© ´¡ÖŠ’ŠÕjE=25ÆÓÙ§qûH•+–Lû‘ëgQQÝŠ!ÜÒ]j‚ÈØÒ¡Ÿ7ƒ5ÄÆð Ž\­6lÇ)d„Dm ¶eA¸‚‘š"%Ò<³»µOXnz´Iô+vÀ.9®ÎÖ¬bBæußÑ7†Ý~ éåÉ,‰# §4•’…m ÆàQJ2Î3¡+$ Ñ~m‰©a?8 kö Š%Œ;–£”¨‹Ž¬wü¿²(øö•“¡QIEND®B`‚pioneers-15.5/client/gtk/data/themes/Iceland/forest_lumber.png0000644000175000017500000021326307771100213021374 00000000000000‰PNG  IHDRÇæaõ‘UbKGDÿÿÿ ½§“ pHYs  d_‘tIMEÒ8/²¹8à IDATxœì½y´%I^ß÷‰ÈÌ›w¿ï¾µ^½Ú«º»z›ž}4ÈËl–# ¡åìƒaø x„GBÀÈ00pÆÈ`ä# :ˆXÂ,3$3,³õôôtwUwíõöåî7—ÿ‘‘‘÷½ªîé~=ÌôLœîºïfFFFüâ÷ýmñ‹¸‚/–—\ô·½»ÓSüOÿ27Æç´¡5|çÙÆß>ùsxBëûÄ—ks‡Ê~à“­5Ýûè{_§_Ý·½úEüewàó¡7(&i•»þÃü»­o´ÖZÖhh‚Ÿ|øoóÖ¹?>Þ—óê‚ä‰w?鮣žä‹à¸O9nPh ¿±ù­¼ïú 3h´FkF£…È*)ÈfFœ ¯òþGþ'«·µ/¯¶y-”/‚ãå¸ñäàM¼óé_#Öˆ Ö™pU¹ÎZ¡µFAv[‰¯Zú5¾÷ü»©z“cí×ArïòEpÌ”ãÅN¼Ä»žûEž¾rV7Œ/ Ó Ùm«€dæ–õ;„Öšw]x7_¿ò¯Œf9¶òE._G^Ž‘ªðÓ·~€_Ûü‡9«)ÓæÅ:ÿ;3¯ d”΀#r cŽ/¦üÌ£ßÌã­kŸ¿rù‚Ç«áWüîÞßà‡^øiŒ>(€¡0$×:ûKèÌû€ "P®9 -.7>Æû. •ícÃA’•/hp70®ŒåÏý:ƒ´“© ÷]ùW‘›KÖzÊ¡¡sÎwÁ!sG=Ó*…é•?asõ_òÎþ0ëx¾ÐAò ŽãE/™ã=×~Ž?ïé!PŽs;ßJešœ„ùRrÔs¯$W, Pò§hÞsé»øë‹¿ñEä˜Ê8މöø¥ïå×ÿǬ}­³Ðìýú‡nsÿ¡d+åîz昛ú…†°u­q¦u¡@²š¢!÷ùÙǾ™Oß@ùÂÈ8Žÿñà¿âÝ×þ/rGZ#rÓÉJ|‘1¬£H â¬|kQÔ!_*f‘‚bÖ”y_¶€ˆ0_µxkûyïCï¤븿@òšÇqãæä"ßóü¯³ŸÂ•ÛÆ/¹6P4åô£Y^Gh›"¬ë0?8-êR­A { Эù§~’púýø"}¥C/÷ï $¯Yp7(Fi“»õþðàëríàÂñ \ïA£ GK°²ÇôÛŽñG´ÑC¹I%Š{FÓ ÍBb¾”hùÌùч¾wÌÿîñ…×6H^sà8nP(-ø7ÛßÉ¿Xoá[ÁHþÝJoe™Œ“GªDné<<…니rÛY'2pˆÌ’îûu¤aú¤Y l)¸ÍùÎÔ^8N½fòšÇ«áW|lðŸñ½×~Ë e¦“Èþ/Lþ¢‚]õÎô ²¨’¥²ïF¸Ï b¢Zæÿì–°OÍ„q3l9‹‹YtžŸ%PèâùL›ˆ/›ÿx÷¥ï¥á •^¯5¼&ÀqÜÀØŒÖø¾«¿ÈÍèQ„WÕ‰+È|QO‚[—Üj 34"_åVe!Ÿ×ÊÈõÖ×Gø&æºÓŠpÛtL´XXp€ËtÏ;Ïþ/|óêÏ#Åïyåµ’Ïkp7(¦ªÊîüÿïÎ×¢ÓX ¿öêh±·.ÂA=aV¿!Ó$EçŒF£›¿'[Ùð­ÎWÈUÑzy1Ä:ôÊñY |†Á•1ñŒÖÈßè¸;d?ýð7ñ¦Îÿ÷JÉw¨|¾ƒäó¯FÊÇ¿ßÿûüÄÝ÷“NwIFëºTðê«h¯Aª< 'ÚÉ‘Êb²gK޵i S@HЃ+WÛÿA«|ÅB8 m˜¯ÖG±ï+ô–Èûª‡ïÕú=_{–øïr"¼óŠéé–Ïg€|Þã¸ñéñ[øÞëÿžX‡ ¦:Üd¼ûijÕ°ûª²Œ&ÌXo6d˜Ð:ÓŽRýÜdÊÀ#md©h#ÿK‘oñP‡s‘ûï÷Šl¹fTYÓ¸ýuþÒÙ “'Ë‹¯^ü×|ÏùwzÓÏ’÷/Ÿ ù¼Çqƒb/Yæ=·~…g'oú³j‚^c°þL‡»Tç¡yâ èJ­EÎìÂEæ1a™VØë†õÎVÄ)–ÉÞÏ7;Ùü+P¥żˆ,õ$«#î ´.aùß3Ëð¥ B1*A6Pø¾óß˳ô¯¿ SQ>çÁqÜ ˆuÀ/lýþíþwe(4*#´B H‡·m|„Qo‹j÷Aš«oDVÑÈ’)¢¬Ä%p˜ … -†Za5BV­ÌÜÖ/Á8úeFk”V9Ã}qv†”ÚB u5+úæú*Ù?Ed± 1`ÂO?ò<ÚúØ+¦»[>_ò9 ŽW#4û‡ýo䟭ÿ2yTkè„h´C¨7ÚˆtÂxû B'Tç/Bu-B² 2&N&”)®M87Ï€r´† å0¿5ÍÌËn2¢vøÜ ÷æ–’}VW"•½O›"ïº28Ï”Í3ÐZ‹GšáGú6æƒ/¬ÔøÏIp70®Måûoÿ.j@ »(…Ž{Dà <Ï£Rë ÷ÐJ4W³h•åÆÂœÊ€•3±°J¨àNr'Á<È,@Œ †ý$o §ÊF¹ ùoÖØw|†¼(ÛO)„Ý8%l´,—uè-4l׳[~Wföä7­üßqú‡ dü g¤\>WAò9ŽãE?ãÇ6~™Œÿ:dúò°© … P=ÒÁâñ•Æ2ZIRí#kh™ƒÃ]pËÛ¹4VäŒ6ã'XßÄ^PŽ­ï†iµûXi1Pi£ƒŒDY”Kà$'ÎLdîÔk ÒDÒÐ6Še%u”ÏbÍC]nSçð/~_±ø›/q^zù\Éç8Ž©öø•½ïç_í½'[ÍÎYBé|A̘"IŸ¤÷)ƻϡT Z"ÃyË!ª'Pxh-0kÍfIÚ ïœ….4YŒ]ßÐJÚÂŒßù.\”`¶Ëæ/îNÁÂ$+Ú1é'ʼn&y¸ë1*7¡\ªå£q "×Hî^Åü?ÑñwùÀÃßÈÅú3/wšŽ,ŸKùKÇ«áWüÙè«øÇë¿iÅŠ;ËÈæom¢>¡ÆèÑóLwžb°—ýÝ-„WçÄÅ·R›¿D¢+¿ ^#sÌs–±æä1Q*3r6ÈâÃÚôZ—¤½rm}Þ‚vfµeMUZÇÀÄh<ët“›k¹éWèŠ<ç7uë/cÎ@ ÅÛ:ä=—þmÿµ—ÿ—Žc?=0¾È®ÿ.éyŽÚ'qÍ0F¦JD:"^!>x‘ŽØÝZgwgjkZk ¾Jgå1¼ú ßY ›5=€ehípø!‰­sȹ$rsÊm·¤"°nAqÝBóoF ÊÎÛ(b ¹À°Áš“EÀŒú¶»šo[{wí§^S©ñŸup7(ƪɶž?~“±n²÷èb%[¯ äÌ!T‘ýŠNÐÉ>qïÆ»OA2dÐßgýö L§)ó‹X<õFº§ß Õ%”öò-®¥`(vùÍ]?ÐŽ¶ÈnZÌFžÜû.œg´.Ö!lêIáØ6ìdêâZ±P1 ŽÌØ,@èÜ7Ѳ@ÍN’B J@Zk~ìÁ¿Ç—tÿˆ™zeå/$Ÿ5p*¹ä·ûïäöÂH?mR‘f­‰ub­ŒE« éøÑþ§™ÿ|ßùï¡îî?¡/±>úläUÕÇ Šíôÿtû·¹¿®,«´³}ÔÚÛ‡q(˜FÅC†û×h6B<=b:¼I<¸C2Úå…gŸæ`·ÇŇÿ*'zººÄhš„]ü°mãÿsä3Ö„*$y™qÁÑ&¥fýÃð›&_J/ž1$ë´» yÚÖs}á\c¦7®Ðùó9K4Û7f5ˆÑxeµBåBAÚ×j¾ëÌò +¿ðy—ÿª€ãØOÔU~áà'ø½Ño 2©–æàŽioîÛº…|¦LöŸa¼{™î0ÜdØ[GÇ»{ŒÆ‚ó})•ù¸yý*R)|ýWPë^@i“@˜"ÐH´2o+­lØðªqjÕ!Èõl+7›¬”›@J©"\\Z•/("­BŠÂ½°a]'ƒ˜Âƒ1mh­‘›-¬sÓ.¯`M<§×¶w#:pÚÍO]þ¼¡õá{ÌòË+¯&@ŽÇŸJ.øàøïó3û¿à¬.ZBŠì‹†bÅX;¼2 ‘­uH’=Ý$é_e´ùçô·žaãÎ ìní0§¤i@ØY¡>·D<°zò,§~;s+g™&1RTO<ðZ„ÍUR|Œó\’ëZ#…Ì"P*ÓŠ‚‘\mbC§h̨’fÐÚîð+|Q˜Eè|óTFBAä ”ÖÄ3¯rM$„Mh4ZÄ’ÐJ[ÍVò?DwLBéÒó™ìÐâbõS¼ï¡¿ÃråîgÊ÷-¯HŽ Ç Œ«ñ›yÏî™Ò„œ‡„2ÒŒ|Ûi^Ù1£f?Å$cA%¨h—ª@2¾Éþõ1Þ}–éhݳ³=æ 7&Š2f[X]âÜ¥ Tj54Š8TÛg謾…j÷QRÑ$ÍmyÓY×™Щ²¶ÿýRÏù¢lD­È©2ŸFCªÜÌ1Œo"Vf3ÍM2éZ]dàNŠ~ ”6{)|(Èè†Æt11Šì}’ p¶ïÎø@ˆ¯Yü%¾ëìÊÏÝÔøW Žc?=P-ñ¿üOGïǨ5¦¸‡A ²šyÅ.0Šƒ§SF½LžÆKï ûŸb´{…ímöö&CÉt¬‰§ ¤¹Ô&lÖ©WêÎ*ó«.¼Ž ý ©¬¢,“a;PJ4TªdæYÅ€+‹¸9Xæ»ÉÆUJ#Ui| “e} w=ƉriŒ“]h-SÜîËߊDä qþƟÉF¤0NzfÞ•‡áD¸´Z+¾ÿüwóU‹¿ò9™ÿ²»tü§üÊð½üæè]ÖžµÎv¹yäD=KuÜ î=WØyjÈdçcô·ž$¾€—¬³·y‡Û·ö(â‰DÊ%%ÕV V¥^oqö'¨->HØ>EØ< áJø¹à¼Ð˜WV›ä!Sk •Ap$8 «É^&ŠÁ ã#8Úˆ\ (…V®ãÐÂ*]8³~…3 ¢O¦žmTiõ”°¾‡I¨t·ìlÕ䟺ü \n~‚ã,¯ Ÿ18^”?™~ïïÿª}…ù÷(Éoãý¦fa%» ¿8ÏÍðšÌçPãMôø&zz‹xÿI¶o|Œ›Ïßa÷î„$ ¨4[ßg:â×jœ<ó0çû2Úk¯C†óàÕÑÒ·ÒØ*ÙþÛ™(—cÚ˜+*g' †Ì´±ƒÖ滈.6­‹|…±v2Ë'ŽBˆ¦´Žý,)Ì­Rï±t'ÿGˆ"I²ÔmòÁŠ…Jw>̺Žñºæ‡yï¥H7Øå8ËËÉg´ÎqÜÀ¸•<Â{{@O¯Ø54C<3ÿ&Ûò î.IVA&¤e~ÏLœ=l¹àͼ ¿ÚAxR±OøHŠÌšT%4j5‚jH­½ÄÊÙ×QëžGsˆJ¥<‡¤Ì¬ÆÊœÞ¬oˆ^ ‘ûCÂÄÆˆf&åÑ X eA-÷ý¥ì)-H°5TõÜÆ*ù=¥ÖD+4oñNm3!Bgë6ˆBõ wRmû®“ô|bðvñ5{Šo9ñ¾}íGðeÂq”—»>ò’4Çqƒb¨æø™á/ó±ø«¡ÌGÎKA§•daIáKk+[ÂZ3àÈÇE­ÜëžÐDÛ$Ÿ„Ñ3 ·ŸbãúU¶îöî§ÄS•*K§N3wâ,õÎ*KgßDûÄ#DTˆ¢)qœP aËJy5Ó×|)"P…EtÔà­Ïà ܘYÒŽc6ªTj`¦ÝŸÆp¼ Ð{t6³Øø(¥ý(¹ïa} `âDÄt4–ùóÊíK®% òd±¶ºøí|ÙüoA¡WV^*Hî ŽãOùðø­É»ø¿'ÿÔ¾âÐ;]FNuåáÉReCw9ûŒ>\Ç5L‘™îœƒ›ÈpçS¤“]ú»¶ïí§¤±Ä¯7˜?sžùÕ ¤: ì¬ÒX:Í$I‰ÇÂJ‹g'l­êâl+× 5à°©çGôsöZaæÒ~f1Î1Œlq“ ³–(âE›—Y-¤ºõyÆ]¡ÐŽe eÚfž00k/XˆY²™þˆ®¿Éû/#çkÏ&Ø+(/ G‚ãÕð+žŒÿK~lô;Æ:”·7+q’éj'3¿ï-If{ÝT1ó‡‰&m0Úú#úwÿœkÏ} ö#z[ÉÄà *P¯#ƒBmaJ»Ã0žR­¶¸ðàÛ8óð—#ªó¤zÆ!»ö"È*ÝqU,Ÿº]6DpâF+ìÎA,ŸYSÆÍìLÛF7¸›´Žò7ŠëYhVåa÷Å8õ3÷(Ó f“–í~•ÓŽ­kt£žJ´±k*âKÚ¿Ç»/¾“–ß;šx/³Ü$‡|ŽãÆ–:ÏûF¿ÃºzA–x¨Š(Œ{Y8|á2ž(îÍ6'dñlaäE Q Câ°Eª|â¸B2šâëÀó©L˜x°OçÒ/«ÄB0æ –NœC†M”˜ñ92KÂ2©ÖE„í¨ñë{\Ï 쟆óEÞ¸eKëwiKwã“KW›¢…aï¬]QêÀáÉÈÖ?ÄL_Å¡uÔ&ó& `¸Áþå–ûù#b¶Òq•©nðL~–?I¿횪nÇ4ö<&Û¡ a®™úƱ¶“äV÷|æìüÃ¥£€Qo âÚáˆÛÏ~›Wža:Ü'£~ŸþNŸh’àUBjõ*õQ©&NZ s´O²tî­œ~ì+µe”™ÊÀ%<:’Zi×gp+Ÿ¦€Ë;¦B!íÅÌ£îJu¶®bBªnÞ™Ic1,k  Ì™Î[š‘Fæý*ÿ hWH~ÑL3FAñCåä¤Ì”‰ÀžùX2ã¬W#„Ö¼ïÁoá-ÿÀq$âÕH%ÿPòüŸÓØ Š¹w(´zèK‡þ…©@n»‹ÀÌÔ5³æ¶©õ·¹ýü‡iÊÒÑM&ãþ.û»ëìì3ÜëS­6 [dP£3’zcjc‘öÒå³xõ¨vI Iì8ÛGùA†O »þp¿S§-[g¦-Á3»Î³ÑJGY—ðÆòVÕ¶_è"_*{ŸyW~B£5¿Ì!®ª›ÆËãÕyó†Å³¶L”ËîkwæSÈì]yÍr0!7݈“•+¼ï¡¿Åjx“ã, Ç ŽçÒ¿ÊN?„>j&îÄ,ŽÖ.œµrqë;g,Ûß§pýå´eŸÕE–Ñ(¦H1Þ»Áx÷)âáMö¶ï²¿½ÎxÐÃÓ0î¨7:,Ÿ¹Àpš°°|Šg§Ò>ƒ¨. ý: / åæHÈÌ<…V)JI¾Õ(vLÌ€yF0˜:Êü®™.>ït(®åƒvêàÐ%k‹–BÕe9`Eˆ×Êl#ÕuñóÏÚ« cÒõu193QÏN˜ Z‘ÇøV½Š÷à µøÊùÃwŸ}5o|˜0¯  8öõI~2ú-n¨7 u±é(I„Ù(Žq¥®ûiKN¤R½YÍ`´ŠS_ã€Ã‘žB§ˆ¤Çdÿ*½­PñˆéxÌt°ËÖ«Õõî*ý>Ó(bùôeæO>@ØZ¡Ú\Ä êxR¨x R(ÒdJið»øµ.:wél˜,ýRÙ¡`Biüf¬Æ´R‡ëú›bÝž>b_Qf´B¸˜(U9^äjè4ÍŸË4QÁó¶Å|\ÚÖÃé;±J8^Š.ZÑMe–U±m'y™@CæÓ(B¡•æ¿?ýý|íò/[jü+G¬C~5ùç|0ýN8Œ‡cêR¢¸Á˜’æw™ß¹1Ëä®1ïÂy¯ž«IÌËU‚šîB2A°½þW?ñGlßxŠó/ã7èíí1 ‰Ó”úÜ2s'ÎÓ^“é€i!ƒ* ¹sã :Ú¥UóX\>C÷ăt×Þ@ؽD"ke'Ý!³š å[Ìú0B8{†–ÖÄ´ 8ϪL38«…´Ò†!)N>q"W° fOŠÁ\†™â`†,õ½˜”Ò¸t6.™›¸¢8¯ô[Š÷Ѧ¿ŽØËøI‹KµOðO.}+‹•{?ÿ"å3Ç ýþyú!&º]†#¤Ù¬d4÷ŠÜ¡™OM†Õ9œ¶m#wöu™¬Gý¥’Œj@4Üb´ûjºOw›WŸ¡Ù^dùÌÃÈ Nooƒñ`­»·ˆÇ=âh@«Ycí̃¬ž#²q†Úü¼ú©I9 äŽÌÿr>]Ùa8×µ½XR ‡h}øoÇŽŸ‘è™™¯ “×1µÎW¶… ÕÚrm&ß]]×–¹Ë(|3Q~¿+ì„æc¥œ骛Ü-Açg¦—´øšÅÿï8õ?¿¬S_28zÿMý*ÏòeÅØf¹ ÷7²Áh4f‚iX¼*5W*G™Z³à(u«$µŠVmªG‡ª.2¨¢Ò V›jµÆh0@iÍÊêYªÓ,œ~”úÂER¿ô+Ö¯°ý)ö™-ÛefŸ"f\”ÇV®ü(9Õ\b¯+•›#Y>”ñUÌ{\{¿Ø íw›„hÁá` ^Àé’ÎÊ•¿ËÎcÁ ¥ý"NÇmîYÞO‰Fè?—4 H´YvĘ€­y×Ùïä+æí3JQp¤:à·y¿£ÿ§¬«Fµ›>;ܱXrHß÷Ý +Ä‘ò.€Œcë.j§®‘&ªh¦ªÖ¤Ñ!4^PGá#”"™0Ø~Šý;ž™N=îÞ¸A2îMG ö©·ZxA@XkT•æ<ó'`áÌëQA›j{¥efJ˜ñçpùç~RÞŽÕyÞµWIÈ|dɦt¦Æu”3¯‹ü­\þÛ½2æ†m;—Ð68`û{5‘í6,Ì]§^þi„¨ã½Â\ß'ë© 3ÁR‚ˆµ¶ÄC1LàNOÑ$Jz(ÌQ­ÙãuÙãGøZ.Õ?yø]G”û‚ãã|?ϯ‚˜Z»?k 4f§åF˜•ŽS›?ÌÄRß×\Ðk"Ž4zf‡`š€Š@Oî‹‚v®Ô<ʼ(×|3ôF)&¢åσ4î1Úzžd´ÁÁî;[×î÷îm²zé-Tš+ȪGäÇ ‡·î]gÜ3›(¯ÆÞÞ^­M+´› Ét8ªR [¹‘2õÑJQk´²RƒÓg»ç¤à“ÒçQE“Gòtº{ IDAT˜¡±YÄÐ3´qßwDl;fRެ$J}¥ Ê×âÝ¿M‡Jï6ºûœoÐtêÓOÆŠ•®O=€$MÙkFÙ~ôFÕ£hV['ÛЪ(.Ÿªpz©BÅ/^(„`u1äÄbÈå©â‰ý„i¬ŒR|_°2èI”2ý€8Xx/s×þ&bç7ÑÝPx|P|7¡èó”ÿux8ÚŽCy$á-]ê—+Ì2¼+`JRÓmkF*Îú4ÐÊZJàUíøi±Ôy‹ÀëÓ®&Ü|ú÷éí¼ÀÒÚe:ó+Ôý˜¸ÞDé)ÍÎÍÅS5Ò=†·I§Û$шÊt´ MFƒ{ÛT몧DúÛ¡YI-ÜΛ?ïáSk÷(Nû¥:3ZÆšrMgµù,}³‹ùæ%kí»Íg¬¯\­íŒÉ|Úqïsá%döóÓUV:0_— zŠÏø¬-IŠÛ;Šëë)ÓH0ßö9·$¸¸$YíB™=ëAÁ£HC=”ÔW*÷¨ TU âñ+ôô6ê£_Ž7yÖÖðŸÿ?ëý^6™YJf°&UÃr†aí^ £¶E1ù¥dÂÖˆyÏšvgêÚ‰t˜Éí·¤|QÀ ª(á3žŽ‘^Jµšâ{#âñ»7v©&ëp0G£Ó%”U:.ÑtHØèÒè.±±þiöî|/Ù¥UU($ÉVqó&ã´ŽVÐn-Rkw2z¹¦ÒáŒÅaï9™¥‹1}Ž¢—ÌŸµÀº‡Úu•Šž¹n§Ð(G»ç0Úuk§1™ÿáž[%œƒ¦í‰ñy[Ƽ”„RˆiÂJ7àÌŠO§)ª>Ëê¡"Ž4suÉÅeA·ž€Šï>Àx©E:w®ÁÛžÃõ_§öÜßCª>þ¿ð¯,à aò5h i´+ÅÄX[V”‰o$¹UûÎ;Ü☢åfgñ^ÅH$§-ÐDÓÓÁ2ÙD'û˜kJB2®3ö©ø!Qƒq¼N´ç1ÕMz=ÉÁú€›¢Âîînßü$ƒkL©V=”’(±Nµq—˜ÍÎ 'O^¤ÙYÄ*…V0ý2æ©KßÙâšé†ùu- aãÒÓýî>S¤*­ àξG»õMßÝ~¸íºNž31d@9¢ÍÚŠ´­d€ªL¸8o9+©W$£X³=†õ}j¾`±ª9=+M^±Xü"rõå=žûz±ùø×³t÷]øBÀiýgÜ”o)Õ%š•\.=„“~­œ!ŠFŽLÏvžqßsdO¡¤=L}Ëzfribˆ™öï÷žÁWûTý”°U!ñªlo  Æ Ò=MiÕ•Pê›S&ƒ‘ èïÔéínƒŽ‰=Éh!…O¥Þ`~i…î‰Køµys§]¤_)c:§•ÈS«2î5|×Ä·sr/š¹€9¢ÍC´v4¼y܆˶S±•'ƒÁjDaŸ“ùDe?Ò R'È4Aäá³÷=ÛÕé#tÂ|%âugë\\õð…`šjÒMÅ'®ÇÔ—–%gÚ°XĘ̈£Ù+-ˆSôn¶?*|áÁmÞb CP$¹¹¶«C¤C`ÉròfÝ7m–À2;XG‚Jç€hû^Óǰ¦SQ¾Tj Æ1»»yÕcöÆD‰„X°»1yø~Š$"%Ô5N®uéOûh¤çá‡5üZÀÊê9צ{â¼úRö;sËàW±*ÂÐËÑäRO¹D‚A\ÿÃyÝ\ÿÄÕî ïY\å eíbÞeÍ qÄ| ´ÂëÌ—¨‹„3혋Ë¡/ˆbˆ"hÔS%xáî„P*=íqaÙ§âe … ô4ãþ”x ‹çœìzøòðÇ]4hˆu6}ãíÛ;äÊía£‚Å ¥Î5‡1Å 3å+¸m å® ¸+Æ®Ä4]´Ç€:×Ìä”R2)•j•öâBú­9n_ù0»;/Ð"°ÍübÀözá…T;K‘0ØÙ@§xÌ7Cí*Óé>IZÁo¬pî‘w°öàÛÑ•9b%²‚tžsaý´¨ÆT"_@•eu‚B8YíጳÒuR2Ÿrzx‡I_røeñëÑ8,1ËÖ­»Í@šñ9ýùs§ÿõã>¬Uð$¨Ò43•¦1¬Ÿ†F(Xl{´j^ñn ':o¿¢”æäœGà½Ú°ÈJ¢a˜B¬ @”€/w+ õo…šÎKÛTÒ  h ß±gKëFe›‰5LCÙ±2;å\ídWé„l µj·šÑp‚Ô ÕЧŸ*£>¹y¦Ã“ vï “σ3β|ê!¼JƒõÛ$Úg²³C»»Fµs–i2åÂ¥U6n?ϵk7÷n“ˆOÒX¼ÈÜÉy¼J%dNgl¶o²¸>d°BˆbàR †‡B¸b†¶.Ì3뤻™ ®ð1m ‘ƒ$?MÒexó>û[ꎙUü^HÞ™OЖ o½ xÝù ÕÀI4Ïw* Í0£ÉŒ@«&xË!hJaÚW³h &ˆÈù¸^ßFV¶ÃÊYË.‘ÄÊÿ1’Lä‹~¥csœçíŸC•¿WÊüÎ æ93»éIm¨™wšÉöÅ”í;WÉ5B(#&ºóKÄã>·n,E¢{! <PX{{nßR2%ÙØë "ðÔÐ2W—² FIÕ1.S¦•`Ÿœ-ÆG1„2û܃×ìä˜v “æ„al|çÒøbÄÞú“ĺ‹'»mF²O«pöT‡þNŸýÝv¯l¡' üÕê¤ƒÍ žíãU<¤r·îq0ˆ¨µºD“Æ·vÙ»û)Ö¯ü)í¥‹œ¾ü¥tW/!üÀÒMçšPx… p}#)œñ:&añ«·X! œñ¹‚k+Ñ¥£• oÍ ™ù€Â³æ­y÷ Pm ØMè á}¸ÿ³T0"•Éb Ò4ë»Ì• &“Lh5êÙP}(_²;)àªN›ÊlˆeL ‡ø%ÐÌ÷Yc{›I0÷(Ôxö¥èƒŽ´]Å}‘#¬ÖhÌ­`ïö§¸sóa(©…‚f³A2huB&q‚$ jÒHV¤ª' Í…Ešssìn1âÉ„­»7 ë-šs'©VÚ´[‹´:]¼0(ÁCN/#‘¥WH4&·æ£éÐÁ¶cLIéÓ\›ÑV›ë¢™R”Ï™S÷™ÙŒkÒºõK§mOdÙOQ{­½}–ŠéÛTeZÁD •†$…4)Vª²Ï$.LÚ8Î5‡I¿"ÿKx+ˆ‚Xžu¤ZQñˆŽŠ#.;*^ëÂ÷˜MA±ÍºšË‘h®úÌrt²|Ï÷é,&¬6²Îæõs°¿ÉÆ`ƒF0¥VëÐ?¤ -2”ĉfØï“ŒÓ|e}YmÔ#&“ Ýå.^蓪 Ý¥UVϽ™µßNØ=…ª4í¢©Ç,ÓR»Å¦è8c¶¾Ác5uJ~Òî;gi>›ép¿ç­Qn¦ÔžÄdÉjºUAã/_q¹ÒG0™fÚB)ˆÓ,H RH$I®=4øL£ìßD¨ì$ä­º+¸GÐ 8‚9ÝO×Ò÷nÂËiÓ¶m´ƒ:Ó¶˜y±F¤ã=Ö;Tjm„X`aí28¸{…À«¨]’É:AP£¦ 'R ~#D¤zšdfY%`¯×cÜï¡UBP­1·r‚ƒÞZøLâ˜A5¬"ßšCš{›¡³k‹sPî}Íáüµ#éy(Õ "_,‚XÒ8º<Ÿ®…™ÉR“šf ÐqÊj[PùG–½›}¦)L§Y89N è$G *Í’,}_Äpü’é£ Ó f$„kﺽ0÷î¡5ÀQÑGÝ3¯žEX^ŒÝnÍ5GhGãiRÆ7Ù~áOÑé„ÎÒæO>‚¬vé,,P«¿žj½Ëpï$Iï»·üÚsUÂ`B TªIÂ1ãQ‚ï º ó´Û-ö·ïÒ Iäi:E% 1שu¯vV +a6Ž4ͤ©ç…Œ“î —l³ç”&4áîC+ëîÃ÷ ¯]/r¾5÷»fÖŒ–’@̓‹š‡5Ã<²z/1øòÊJî%¥³cŽÒ4Ó I\hŽLshÒT“¦ ¥5ž/ðã,ÊfC¹–¹s+²¿ C Ê“ãª|D6±®ã}d"ÛìÀïSÇå¨ûF‚j'N¯µFEC»7ïÝdçÆ3ìÞºJ{é•s4çO°zæÉÉ56®µ˜LFÔ§5F½-Íš 83BÃÄY€u×2J‘½Ù=4Gù2nU3ÎûŠ`A1¿¨zp¦ õ,[öå–—k:ݯ²>5*°Ø€h (ðLcˆbH“”4MQJ¡TJªÒTÙ=ö⇞Ês&E™q ÷u š‰×§ÓÈVÓG3¶{ÍÍÏÆëÝX~ÉôšéÙËîš$ƒ-ú[·ØßxÁÞ:ÓáÃþ.ãþZEœ½ø8ýa§?ò訇ЊÀ¯Ñlw Â*Û;x´_jú\—z÷4‰PiJ{y Y‘lÝ~€ˆv» øÄÓ)‹‹Ë¬^xŒ¹SR_>•*æX2 ~Gèhc.åc-5(h)œñÚI2æÔt>D®yì®_¸&šÐ­f~Kݱ „†Å*|éyÍÛÎ Úµ—Îà ìÞ;Ÿ™ˆÚ1MF‡XÃ0ÒÌ)¿±‘²¾“0MR¢$&‰•¦Iþ3qÙ>D_xØðž™HqòlfU±WVÓ6-ÛÃØ¦‡N]8nä(à@Ñ7Ϩη[Jß§³¼Š ªøa“ÖÂ7¯ÐF(±G½æ³¸Ôf÷à ef‡(«”½­mâ8E'Štš0M4í¥~­Ãh0eÝFzJOéï}ÏOHDµÉâÂÜ8û‰’¿ÆÜêYÚ˧ÐA•QNÉÇa„Š1QÝÅ6+ œÔ+už¯”dsaR¹ïŽÕN»M]ÓLhBŠÌÉ–"E H ¦R!¬æBg¼1M4;˜¤Ðþ ÄŒó¾TšxɾhÑd,›’õkg‡Ô¨V 5ÐÜÞJˆâˆ(‰QqBªóã«u¶=XJY˜U†x좞‰sC™ùÍbŠEüÌvMÛžSßtÜõ5fï›:ÆÔ:JúÍ:’Ì©šŽ†$“B'´:mÚ ¼°ÂÝ¿ÑãüÃu˜vÙ_ÿ4Ï|ê?¢ã˜“ksÈJÑXS ƒìhží}¢4¦Úª"‚¿ÑàÂc¯'Á£Ù™§Rk0êmríÊÇ8ØÛįԩÖ:xáSšT: t—–iÎuÑÂC«)ýl\†`®Šv²옌MŒ³Š>£ |?[Ò³íÁ=…Μ ²Pgðt¶w¼¤œŸœ—´ê>ƒÜÚ×\ÝÓlO‘ÙοœO‚õ}Åþëâ%™V†y#…U=/ÇqM¼HÁh ûý,JHƒlcœKœ8ŽIâ(ÓR"„$YÒªô$¾—§6LÇ1B &ãˆFE = "À_T2Ä6ƪì11&’t(jbê;’Ó¥‰57L5.¸ŒtUî;Ãý=zWìÝd~~‰“÷ µÎRö™“>©T«uVVÎÑY:ËéËo¦¹|/¬"%DÓ{}j6n%=kC¡ñŒô6㶦¤"r¬‚¬rwÌž£èêF…†Ž-BÇÏ~n©%8·(˜¯‹ÌORðXW·5¹¡¹ÚÓŒòøs,Táü¢ SGj­£Š%*[c˜èL¢W^äy‡Õî_Og+ÞÓ†c a<É4­YRaƒR^þûì…0gò )²- é$FHIoë%lonRI{øõ%–Ï] ¬ÉR „UͦǦ×ÒIX¤ì Zÿå‰&rPyÅ>‡J¶÷L¶ª±ú*¡Gw±Ëx¯ÂÁÖ úëÏÐÛ¾Nwù$~µCRc:°»µÍdS C”Vì÷'LçÔÂ*"ªS?¹Àè aãúm’zö®ëÏ>Éæöm×΢DÀÖÝëTuÕåÎ?òa÷"Ëç.Qiµ8ØÝeýÚUz[·©7çi]xÑxJ5 AKzZeæV.ÐŒX¿õ<Ñd@™Lz tªð½ ¹.Iš&4 Ò$býú³ô¶îú>‹+§9{ùõt×ÎãUë eþ4ãeš’_:ô4ùJž,˜ÁŒYÏÒ>ÿß,ÌIg>¤(Ú–"K+?Ñ„7ŸœŸé©~n³'Dš‹ópzîÅŸ7ÎqJ¡Ê×ßy_ªB™…Xbø˜j˜¦ài ¨«Q›ØÜ…~_Åš(Nˆ“Ì¿˜FQ’Ç qšçá>ÕªO»å‘¦šÞ0[ïðÇ;7hÖªÔNœeþò›ht–X{pfxܕܒi4#Õ\5î†~íÈ‹ÒC:§h»ØHB뇸ïÍÕd§l¯¯3Ú»ÃââóK'ˆ£Lô&ã.÷´’äW@TŠ4÷+T ÷ m»Ð꘾‚²¦±‚&ÿº?†õ}XkB=8‚ËŽ(˜«Àã«p®':‚Ê‹üнu¾É˜Buq…;7îo£EÊÂò*Ê ÙÙ¸ÉÂò"Íö<·®_A 9wé2ÝÓ—‘õ9t.U¬VtbÍ(gLf›±Oæì6|è†CLb8ˆá ɤ¨2ôpM°üš7 Èa()²4î­! §PóËý¸_ <85ª#2ö"ϹZÍEå¦/rßá%´Qó2íâ‰{¿S“i—þ&cˆcE’$DÓ q‘¨ iš¢užG%<)ˆ"M’Dq@E¤iLVñë„_g·GûÄ%FììÀj³‰)E!ùÝÉ4’ÏÑ&f¢Jö°(z_º—KP“g¢*³{8ìárFº}ÑE»µf‡S—áΕOòÌÇþ¥`iíAN^ºLµÓ¡Ò>Awõa<¡‘*"ŽŸþÄŸSmv˜ëž`íâã4Ús¬_’žú(¢Ó Ú]dåìÜzð vnòäGþ˜½ƒ=ÖÎ\bs]pëö]–S‰!µÎ T¥‹ò«ô÷öHRX^]¦RÏ]0ÒQÌli©3fiûp¢ §Zpq1cÞq 7àÃwàö 8ÀÝï?k·»Ûd Í=2àUjâœ_|Ñ"È̼YKÊìÆ4BQS¥™%'Sªòï/5qWâÅü­³ìÚÉ¢HÇ1q4!N&Dñ”$IITJªòóm5xaˆô–uó‰W.@t±¬ôG#6·ˆ'Cª ùyÚsmVOÒšëÐ[ÑîUö7¯Q¯·8uö!P)B´Ö<øØÛ™_^ckãq´ÏÁΦà :Ý:û;ûlßú4µæ&ÂSìÞÆW1Qšâ{>çz=as¤`<ÇûÛwñ¤ÇhûA››ÛìÝ®pêì’á.­º@7$q4BzJ•d:¤ÖY¦Þœ#f¹KÐLñî0=¸A:Ù!ðƒXzœèÌ“Œ6ÙÞߦ֨1·ºÆ`ÑëðУ1m„çGcn>÷iö¶îP­ÔÀj5´Ñ#÷_@ãˆæ¦H¢as˜9ËKÕÃf„'²ÃÍ [¿0Ÿ­þ¶ƒ P[cØòÈPš‡Å4ÂÌIíøÙ‚ß|íÅ}Œ’_ø"Å:!4ó~ع¼Gqo)¥Ø?8`ck‹ÁxÈÚ‰UVWNà{^¹žÎö’ü3Š5IªèGš»›{ì iµZ€dooÌöNŸÁxLg<×*ûu-:‘ˆl!P<¡ñ„ÀrÇsˆ IDATó$ž'ü»Ï_Ç“„ZÍ6JIºÝE.<þzN=tŽúœ‡¶ËºØ“ í§˜ôv×'0Ÿîÿ”ç\ÀH“C›yܺÎz€Y(«7kœºpŠýV»W#ö7oñü'7I£ñhI‚Šø^•F£B½îsú„Ët–5 ™ì\#uiŸh<`2êѪI^÷Іc˜<¹Ç‰¥ê kܾ³ÎÊ\• + d‹ç®o±»y‡ÉðÒ„Z½Ë‰µsÔ;mêíFvn“ saöäÃ#!ó'fý;—±4ÙÁÅ.ˆÔsó«Á0Î4FœäsB³ ;ýì7-N¶…eà{EvdþÉ‹% ²ÔŒàee ”†·nðüõØ»x-ªt»] û±Ñ(ÑŒ')ƒ‰bi¢8e4I˜D ãiÌúÆMèt—³ðý$bM‰óè”2)è€)%BzxÒ£Z *|?ó” è4Åô-oG)h·Ôš¼À§½P£³<ßòˆÙoläÃ1Ì®f|c?›¼+7ofÕÝ4c}Éq$©›¶n5R³È(DžS¯3·MJûô·o¡”_i‘†câ½ F»;DÓ˜S¾ÏÎz©ÞÈNÿU&Ã}¦Ãmƃmvî^£·;d4˜ÐðÖ7×Y[»À¹3g¸pá<‘¬ñÂ3OÓßHYÿÔ‡È6[w{ C*A…Îò­ùšÝZO˜ ÷©¶ZÈÀQÈìÒÄÐT™@ò±JMÆ´&!´YßI»¨x°Psæ(È“°\Ë&¾ú"¡WÈè;ÒYø¸! *Žìα!²4 Dá±s0áúFŸ^R£D‰¢?ˆéõ& 'q¢ˆã„(Ž3Äcƒ› FSž£ ޏe5„Yè:³™+2“zãOD*‹ÆL´Ë8vAÜõo­4½½!ÄCÍ:“Ԛu<ßGé„z«C.°}7A©kÄã>[½>ÓÁ>w®~ŠÖÜBþÓe È B|p‹t¸Ï¤×g¸?aY–œç}¿Ì³Ÿ»Ö^]ÕÝÕËô¬ $Á¡`ZbP"-…åðûÏð_åYÖGØ¢Dв`’ 3À fzz«®½nÕÝï¹gË“™þ·º{HЖ#|"*ªêÖvêäò¾ïó<ï“ô7oa¥d:›“t|vÖש–~ñ“¿Äx …×¢½q‡¤Ó]‘I,˜ŽN©ó6ÝõmÂVòwÀ‹o`û7‹€…rDV'ø»“r>½â V¨…Yí~¶ºTëÍÔ&þÏä2nžÿM'~ýàÆZYÎ,/QJm=^ž_qx>¥ÕÚ@ˆ²¨¨ª¥ÕjâßðU5æjðŒª¶Hâû¬‘Üœ8åy>A†qœÒïöØXï°Ö èv<ÂÀÃó$‘hí¸ÉJ¨5øwnw |‰Vàùé ð\x/WÍçz•ï¿"áhÄ+˜võñ7ˆÃÕÏ…ËKÛ¾C3¼U®½l`\9ÇðFJñÆïƒ¿Õ…%›9ùå‘MF«Ó¥Ý¿E¯¢zæãUÑ lMûÔ>TYÁèì”À¿d‘ĤqH÷þÛ,”E“z¡ m…U­,ólÉÓψ‚˜v§ UÃÁƒG\¿$ö÷î=àlR° !öJZiLÊ‹ÁŒºlðû]·;ŠU½ä9ÜÍÿ&WµÈ ßc€çs0 Þßp¹üÆ+xôf[áI­áåN&°Ó‚÷¶ û+Šúÿ·kUÞÑna¿Á¨aR5] xòâ)ãÉß?%ˆºll°½ã{N9«^IÉW5Ö=;©¨ÊW—c„MÙÙ}„ô\2(…À÷C’¤E%´Ò6ký.Û[1›ë‚4qE !‘àYAceãx ø}@ »j<.|×& Œ§§yuþõÍÛMšôF”Ы?ü[EŸuˆÆÂ@^½–F€Ë³+íãÕ!9«BÿMhã±Ö}o§›„-£3ƒgDIJgã€$îS-<»DY‰ºIAKKêe…ÐPM§A˜"E€”¾’&)VB¯Ðmû´;ßw2v)`ˆ×R߃§ûò_œ6„¾ÅÖÒZ|ß§½žp~Ur1-éßê’ö¼oÒxóÞ¥8¼rô üb±J¬oÑMj¤VooF €Wn‹7‹íWñîuIgm‡ü.Wi§Ÿÿ9WG/x;éG1£«ÝÔcgç!wn¿Ãäò˜ËÃ/`Š+jYòñCŠ|ÉZ¿GÒI(Ê­§¾FW ßúD^ˆÑ’ã£SòB£TCè Þ~ë?úÉAÈV;%ˆ{hÑò[¼spŸ·îߣ”1ãJ -”›ð©{]¸“:Tªµ:¡H[××ðxÁйþëfÜ,{î÷{î“Wî~¿Æõëüx,Wc Wi^{Ñ–¥åâbJÝÔ„iÄw>þ~/æøÅ êFÑím“¤-¶7Bnßj¡ÍŠØSÕXòÒ „ N OÂŒñõ ÙL#…GY”HÓ[둦]?Ä÷$Iâ±Öô;î9çK÷OFèCy#pô„{¾Ú‚øÎÿø?Q.çÖª)-QÚeûà}ÖoÝáŸüË?dûÁ•~c1ð:­ªK7¾ÿMo¤_ÕÏqÓLõ*]º‰+ˆÓ_¥òCßüÍÕB3ú5 Ãäj‰ÔŠÄ7\¼øŒ§ŸÿM䪲!jßf‘iªù˜–YÐ2z9æ¿ýÿ ï}ë[<þúõoþî¿ûˆ¸½ÁéùˆËó/Ÿ²˜LÙÙêñOþà÷ùÞ÷ÿ€ÓÁ‚³‹ ÎÏNyòÅ/@ÜÚYã­÷øàýøîÇßãÝ·r=š0ޏ»¿Íöæ:ÞŠÉ3Àܺ¨Ñù{&>7Ï–_o‚þÿyÕ¸b HëRò\Á´t»±çW<ùêgœ_‘¶Röww8zñ5—¤­5>ø€?üÇ¿ÏÁnƵ¹Næ–éLS)M’‚'=ŠùœÏ~öŒÜ{øi«ïŽž¾gñO_œsëÁ‚þî;,ê6w|ÌÖî#šbMÆÛoßãþé?ã`o‹äî­-îïo:tJ:ñæR¶ÿf^ô÷\ÿ_/Š›±ø!­ÿÀ¿W(˜ç®BÕn ºpïÎ÷~Ÿ_<ÞàÇ?ý1?ûù!‡O¾$›Ïùð;¿ÇÁ[X4ƒ´#(´e–+†£ŠÙ¼&[,hLA·Ó¥ß¨ÊšVo“8é$!Q(°VQ•5A eȽ^ݽ}ŠÊðàíé¶c¾:<æåñ9[;wQåßÿÉÿNU)î=|H#"®g5;ÖØ;è#¥åãOöYïIÖƒYN9»šÒJÒ$¦•DøÒuOÖÖF^™½5MCHñ›®–×òðÆ8yÊoò/¾Ê*Œ“µ/sWFCËäj˜e%ãé³Ë#.OY.ÆhƒPZÒ-Òv@,]„YXˆ,tV £4.mêI—O·¼×µˆ.„«pfY‘PÖ¡&÷BØòàXÁE½Ê]…Ë_Íj0ÆÃ‹ñ9‘Èé´}¶ÚÌç“ST’p~¤ltÙèu0ÖÐî´ÈiØj'ÔF²¾}¤{‹0ŒYdsZí”v·Ïÿ#Âþ~ࣰĉO»2ŽxöôŒõvC;hVÓJ}¶Ö7H£ˆÆhʪ¢iâ(¢p|r‚çI®—Ü¿õM‚à7ã¶|S¨ ^oT¿ÉËàR©ZCV»oêÏ^ ýÿ¢ 4Úrq6à_ý”gÏ?ãzpLžMѵ¡Ê5Ëù€ÇŸÊîÞûá:ŸºZ2]2›E‚Ͷw¶‰1 ºiÒ# |„µ˜Æu6&©G»% G~¦«ûV‹µÑ.ºa_w"Þ(ɽüï}pŸv`±|ýò˜¿úôs"ÛðG¿ÿ ¡ís9™óòô’Ë«!ƒë!û·öøðýwÙLMÁz=ç~Ð\ãŠ0×®¸ì¬R­Ò¸•É7ôø«…£q7fYõ-1êÆ}o˃uß½Þf‡|Õ«P{Ð |t6¥Ñ%ýÍ6b8Pœœ^q˜?g2qrvÁƒGìßD†O¯3-}.'š¢hhÇ%Vk ÂØØÝgxý’ã—ÏEÈßþˆµ6Eq5¼f*g¬·}”ÞE5)E1Ï8=?'BîìÝb0ñoÿÝ¿EbXÌ'üÞï~Âo}÷{lnmoDB~=ÿ'XAð«ç˜Šûúôøk_7¿K㸪y‹Ü!‹aàˆÉhŹø+¥À¼°d¹Bʘ~o—3ïryM74•EÕ5ygB]/Òâ„$ e1f¹¸Â4 ³¶CáÒ+UQ×%­Vß“ã©ZçQS5<Ÿ0ôW¦sÁªF®WFÒÒs`Pè;.NK— úÙ2ãä|ÁÕtÆ×‡/øôg?#šÀÔì޹Ϭ´¼<»f½õu.}K'N¸¼>£È¯8zöC†£ÇÔµ¦Ûé2Ïùⳟ O½Ç‹'_òøçŸ‘Æ>ÓYÅsÄ|8¡.r<ÐLÞ}Ä·?ú˜þÇŒç níÝaÿî~‘¯î¿h`4ihËÞº;.,”®ûÏeõ*:/*/Ú@úùn’ö#‡Â(ëØ÷¦q‹¦~Su“é7¤AR¸ï7ãiVfðª§T®g; ¡Ÿ:p&\Ýû«Úg• ÔµA›†¢˜syyÌb>Áhƒ1Ä)½~e4“Ѫ^"¥GÝdÛày!RF4¤¬ Œz¤©A±â$– ð0AÕK|[ÒÜ?3É\MQVΙd‘['Y‘Н¡Èg,ó‚8îá—Fsxrȳ§_Ñ[Û`÷ήe@§lÝ{‡Ûwˆ2ñb4Æza©EÈh:%ÈÇ ®'ÜßÛzcŠ»]en`¢¹¯jŠdîoÒ«7¥Ì7[Y*FnWÑȬÉõÒç;mØm¹±¾›2¤i 4jï€÷ß™QTŠëË3·à‚U*òù‚ádDöË/Xä WÃK²É)ÖÖ´û)qâñ©óš(Z08ÿq°¶ù€0˜M2†—#fã1_2žGÙ ¤ð.QyFJ6zm¬~@]VlmmÑ_ë±¶¾EÇÎ_ÉÀ¤²\kNOTEÍ|ÿV‹õ¢¾ë帹¯‘§›—•…¬qjÞéÒ |¹ <Ë @w€ÔEð›‚YKÇ¥øò›)׫Hn]-hôët£Æ½V©×½ œ½¿Ö.]I#·¾ù;Yu]iò¼d2¹àéóŸòüé/]]ÐÔc ( ¶[Ût’ÕdÙ”l9ãzð5Ùb„'ãW2whƒ”ͽlŸ,Sìl&„$ô=ê¼ÃÑѓр[›ëX‘0[XªF"<È ‹jÜ j­QÆZÅr1¥(&ܺåãÿàÇÉ—O¾`xuN¥ ¶÷ßb÷þûÜ}í-JÑÂkù-Ñ5N„håbõUL‘4ˆW¾:¯ ÂÇûb•K[7¨¹ÅjpÊU¨ŽV?Sk÷;vR(|×÷üÊL@€zØ &ò}*#¸}·`œ×/AÕ5ËEFYd4MÍáÑKº›šÍÝ{H BX–‹1ÖNÐ* ,¾ðž¦,-B¤Ó˜+tc©+Åäjˆ”x’ èãIA6™»É  BHÂ0â;ÿÿÎ÷Aø´Ú=66·‰ãÉk]”Ù’—‡/hêš(éR7)¦l$nB ±"×V9²'ÜÆà±2G3Îûµª £$¨Æ²X€ ‰çä$-ßE#?ué©/]­Ó˜×5ï¹…`W‘~ÞÀ¼rú¸Æ¬ü Jg«y£ÌNCË­¾ ~saÜŒ«Ä¡•ªª±º¢ÈG\_¿ [\£T‰jœnª(NOˆ’ˆõ-˜O¯éö{,fC²ù„$Y£*–SÑKÛ¬÷bnoI´ Ïjnmû “Ù„ÑðˆÉä+ Ï^ž ýu*³†F¢kC¶T«®@‹n4Æ:ÕšŠ P¤‰Â?zùk ­N—º©¨êœ­û\Íæœþè§ìÜ~­Û^á«v[‚ •pÎ/_Ìñ=¥­Ë=-dÚq Ò®„p7éxC•ú·v•›Ï5.tOj÷÷º¾ÔPºN3­x“¿½¸„À÷}úÝwî1)j¬µTEA¾˜’uS²Éˆ(î"Ú[à{[‘Æ!¡¿F^Ì™Ojª²B ƒ5–0n“¶Låqì­o§ëx2" <ÚI«Åàô9ÓÑ€*_Òi¥xÝÛ;·ØØ{l²¿¿ËÝéÊ‘àÕ„°ß÷h¥!Q/¢Ó ݆Ð@VA/y]¤‚W½Û7LxÄJÛqϺÒ.¿_–®G!‰ MÝs0_–¥% ž”Ê0Ë0ðXïyt[‚8àU·fÕÀ"ƒ,³,KC­ÖŠ•2Û°Û·´·|Rÿÿ¡åV8‹Ñª^pyuÊd4d™MѶ"J!Šò¬"›MXÎ%ŒiÊwöÞ¦Ÿü6Ù|Êd2Çó`o#àÁˆnê0¸ÖhUÐŽ{4Æ0]óÓŸÿ«ëSîÜ}¼ðØÞí&‚ªlX,K–E…1ú9­MƒÒSêêtF™Çøn?ät0`’ÍXÌ'œ>áòd€!íþm:ýTíBëZbéÆ51 6»oŸ¦[Ûˆ(d¤Ü¹h\þ[U°]ûç›B8‹KŠUØNý×ÞXóÊ ˆga¸€RÀÝ>xÑ+=âß;¾t’½&ÙßÚDçט2$ï†\…’Gwöùä{ÿ×¹áûÓ?£ß‰hÊJ…X‘ç¾—ƒ­ÉŠœºV€"R:i›wïññoÿ#níD>ÓɘÅ2'øðç'/)ò%·v¶QølìÞfïî=„ßÁOSßû†ÞL¬vSk ‹ù”ëÁIìz)û{è¶:¤Ñk¥‡ÈÝÔfõš'\T CW‹ÙZ5 ¶Ãô³Æ3ÈšY¦ÈŠÆ™ Cݬ|,xž$‰$I膒À«¯[jåúDŒq~OÒóPFë†Ðƒ¬”Ä¡ç4pvÕúlÀ`ÑÆ2]žsvuÂày>u]!¥&iy45DÆÇj Ƨ¿ÖGj1áîÎz«ÃåÕ ¥ ô*æ“ lÓÇóÛκSú`¡ªkʦ¦Ö×£k¬—rpð·÷;H_2žX¬ñH´µ`]‡ Ò—§O˜NžÑﶸ(üÿþÿˆüä'üÙþO'gTYAŒ¸uï뛬¯¯û‚n wÖ¡\Îùì—ŸSÎDqLàGdÙœ"ñã„õ(Ä„N¼5õ\¹,\HNVLº²0nà|æœ"Öœµž°Lç°Ö‚Í®@¶Vù­p;ŸhcYæªQ„Qˆ/=¼•½ŠŽ ô‡Í Gcºæþþzí ê*'MR¶Ó€v;Ää>­î>aÒc6_òâŪÒÓ ÖHò¼!Û¼óî·ypðˆï¼ÿ>ï½÷­´…”‚Ç’ýõ˜ ÏPuÁ»ï¼Ã?ú½ß#HZÔ2@ˬۅYMlµq* ‹Ú’磉І^dy°%Ø\sÅ´+”iÅëÔÆRºú-’o˜¬ž“SôJVýéšÖbÉZ'`º”Ì––,7©’׊ªn¨*˜XûZ…½òý±€'RH”tÖ®‘È0Í$_Ÿ5 ç–8¶c)WHjJU0™]stü%YvVQV TUS £-å²AÕE ív‹Þú&ý~Ÿ$² Ç'Œ¦3´I ƒ‡/ɳ÷ð­ÞÇ÷}ê$¢1 óÅœébJÜn“¶»(]srqÌýûØîµð¥!M}f3Ét6f8‘åKª*ãìèg GO82g÷½ËãÃc†ƒ¡±ö¶¶ytp‡ínÌz6Û°Þ4i—ª|ÀÓ¯s—§Ì&CªlÆ»>àÞÝ;ìm…øÒu mF0m`’Ãád…{ûn—òL£Êi]bßrw]ÒO]ÞÝNøfÛhÃáù€çÇøOƤQÊý»û¬w;hœžæöfŸéÁÙüŠy‘3_±˜OÈ–K’Þ‘'xxç.¿÷É÷ ã>Ï/huÖyyø5—gÇÌ' ëëlnÞáÁýwx÷Ñ;|ðþÛ4Zq|rHFÌÇׄ¶äö­]êFÅmò¢fo}ƒ~ð:…R8r´1p;û˜yYnÉò‚ªhXëw‘*c«ã³Óói¯LKjÓz…2­j cœž- ¡@ì¿n$[*‘›ÆA–Ø‘^¡­XÐj{tûEeYµÉKËpZ3]”+´›s+\œvqm„k,ÂÕ™B ÉÓ“š—`]£‘±c,Æ(”Î(òKƒSFW_2]2™\ÍÈó OúTKM]LÇ£¿ÐÅÅõ)…1ÏÎÈw‘ténì±wû€ýM<ߣ, ή.È›€Ñ슣ӯŽ.)«œ,[p¤4¿õ ºÌyöäeÝpvrÊ_ýåÿÅÕÕ VÖÔz‰¤m¨ª†Ù¨Æ¿*a«Íw?þ.uQq}qJ]U¼soŸþý÷i­­áݲ<qDÿ`Ê)×—G”ù’4í¢ ¨Ò_ üU¸èu`¹E0Un·ë‡°¹]W„¾CÔ*ç¾~tÅ£ù’ƒ½m.æS>ûâsòåœ$jq|y‡ÍµU,h;[{ô{-®Ç ÏŽO\ ^œ"¬àíw> —t‘Æpÿö]¶vvé­oP(MGtÓ?›æl¬í°»s—Ù,çÅËZÅüó§kÒ$áÖÎmÞzû}Œ ÐÆRiI¾¬èwå+ÑáM*™óºÎBBœ â8 HR“k*Ö7ú4~ȤviLV»Z¡^MxmV ®t¨Ô"çÆ(¥Gm=§Ö]A¬AèžßMS—vE‘ Ýfûl@èIŠZSU5ËJQ”Žå^2Üà.â Gm•(iiš‹ÄóœÇH£y>¦È/PjL¾0^²˜ÔµÂó|tcÐFEJ•œŸ£ŒgCÂHÓëÃÆæª‘lm´»ë$½¥1\Íf,fc~þå§X9¥¬'\ Ï©ëcjªª¦¨2~üÓŸ`jøË¿ü1óùœ"Ÿ3_ ƒš¸%aCû®µFX þäzÀ‹çO]Põ­k–Ù”—‡_óôÉm>þÎwèFâÀGçDIÃÅõ9‡'/XKûTF’W á r}óô«@8t‡Ë·SRî=xD©ƒóŠŸùcfÓ3f×øJsÿþÛDÝ.ó¼$_–̧S³)UUry~ÁÛßeks‡¯ž<¡4—£ éùܽ}‡l6C"ÙXßâáÃG\Ogœ\^rryJ¾óå/~Š/ßúðCz·øìñ!UU“Ä!û[k´âGt;ñ7¸›…ÒœŽ¦µG·×#Få†ù"§,süȧi"æZPKê&@逺v§ݨ—n“ò|·ãWuÁèúTÉ­Ý=6¶{¡÷JXu#ú+*‡2•õÊZS8(·9ó¸¶Ç¼ôX”KÈ`Xs>ДŽ6\ )Å*õñ<‰”B:/`ϳÌg…3n <šf…éŒñè³á!E6ÇC:£fÏÃó}„ZÕH|²LQ U‘Iʲäú2cx>â²wÍó'_aE+‡’6ªàêúÎ(ª)Ë<Ãh‹*5ea¸¼òÙß|F¹¬)²£4C ’X"¤AE£e¥)–šù\ãÿèGÅd1Âßúè#NÏ/øú§¼<9æ_ýëÍç_?á½÷Þå[Þbmc‹an8~Ìr±àÙ“Çé!ã”e‘3£òÂhº=üÀgwgNk i`2Ç1ÒP+*Ùª¦áÏø#µ&mﳡ:, ²,–£Ã\œ|ÉæZê§–0LÙÙ}@ÒÞ¡ª=šÆMæ½RäYB Öjæ³kž|ñ׳!ò£ßfwí#zi›V$¨ ¨Ò-¤ºro¶Ð8§Ð´"—ž… € ÆF´Ó¾+VWÇ0%!¤‰pªW#É A^Š•Q³%Œ ©!iµZ”UÃh>§i2Ê|ÈdxÎ|4¥ÊôJ¿^UÂsÂUUÕ,—Ί³ÈG\ž/HRŸ$ñh·"h ¦WSâ$¡VŠÉdI])‚(‘´{á+ÊbáÆÔ°\Ö,³^BÚI©«­-qì„/´_µ$Q"i”GU*üPâ§ Ò¹: é,ó UÕÜÙOi¤Ï×/8½¼fïþ»„뻜Œ¦žœ²X,˜/gÄ"äîî.ãñOXz­„À—ßhñ”@‚“ô#(˜ú0dÕXb|Äê"óA W`žp¹vU[¤´Ao«Kh(ò+^ˆˆÙ¨@-kºÝˆµÍ[ì?øˆá,ãòúkêRÓê®c¬Àó'ô»-î¿õO¾|ŒLºtú Q+@Æmê;·8{ùœÐÓ¤¢¬ç¨2g9ᙆN§’ó‹3>ýì‡|ðî‡|ÿwÿ1y®XVšB„\•.W—¦àåÑ3~òéÙ?x?ÜÄ w¬C Ö×ÛhµO•ðÁl1'Jju‹È¸CeÒº ´èÆÐŽq X ¿´cÅ%‰X°™6Z«ëº8=½tº‚Ò-°jßõVv£ËrÅ¡¬º9;±d­­È9ä ‹Ã•]Ž¥ÝQÅF7®S¯“&=:©šÑx*¯±zŽ'„µ”…B©†8¨ Å2WHáQUÊý¿©G»’$ i+ |LíhyÏd ÒnM¤Á“>ÒÓY„Dƒª5ÖJ„g\Ÿxji·=ÊÒ§¬sd(ˆ;ÂÓ±%J} 5uc)+÷Þï®mp~5b6™qxüœ£Ã¯ñDÍÚæ6k·î°P’ç¿"‰cª˜¸7g6¿d<Ζt‚n¯Ít6äÿø³Ç'¿õ;<¸ÿ^'!\ùÀÜ0á7‹$Z™-$žÃæõŠ 쪙‰×þTš•œ7 דŸ†¶Œóœ“ÑO_pq~I£4Òóð<ŸNwƒ0ìÒn'lm/¹®kUÅ’Í”Èð§§G\]ž ±ôÖwXÛØg­ï³Ñqˆž¿JC#Ï!Gu­QÍ! ŒÎ®˜Í§lôÛxÂs@†põJÝ¼Ñ º²óYQWøž“}4«`욯UC›ZE÷å¦sVšóhµ<"­™ÎÆ .I§µA»€õYëÀsêj„ª3ŒUøxžG’ú4JS犺ª‘B§žg‰A§`Œ¢i,Ua2 Ä4V“å3z)a ”%}êFclCy䙢Q–(ñˆbŸV'¤¨–(­ˆRHº‚(q-~(¥4³YI–5Ô•ÄÿÁú,Ë|NSM¨ë©cM›‚ËÁÓÅ‚²ZÒê¶™e#ŽÏ¿$Ÿ“ Áí½;̆C?}ÌÅå9Þ}ñbNk<¦•Þ¼×Òi{l¬%ô$žpE{ï Q⛩˜ríÒ¯¼v_´Òržå̆—L¯Yäc®§× /žQås¬ÑÐXª¢áôè™<#L»Ä¾`£×¦X6J‚Ð ª˜s=ñüù/ñýˆvâј†«ÑˆªÑ<{yŒŒ ³Ö¥Q9~à&1I£iêŠõµuáÉ^Ücjbê%ÔªæòêŒãï¸8ý £knß~„¶QÚ•2 ®Çœ~AìçÌg.ÏYfS66È‹œñdL”l±¨|–«Ãåí<¨À°Èæ|ùÕ ŽÏN˜^Þsvö²¾±…_ÇÔ 4‚iáH<_B;õl´^£\Ç«ƒ‡<ñºEYY@|ÏRäšF)”2•¥ªÖÔøRÎŒ/89ù%ùׄAŸÁŧ…ò ÓѪZ8²2¨F JWøWU…Yù¯›FP—5I;b:­È5Ö8éK’TÒ˜©$’À—Ôu‰n|<Ï£.K¬Ð¤-Ÿ¦É3Myø¡¤ª*TÕàÐj¤mIÓTø¡!I×fP6ÔµEkª5þÑó_P– BZZ©ë/è¯÷HZkô×6iuûÔMFc–Œ¯¾b>=ÅT3Ö6ï÷n±˜MB†>‘°ºa·“Ð ýo°ØJ&‹œBi6º)q¼*VoȽ7/ ,Ó ¸|»‚îÖ&£ÌðÅñ—Œ®1êš|>¥*rt£Ö`¬a¹18ù‚(j±{›íƒmŽ3Fà ­jîîߢÓmñég?F7 !nuN¦Œ'3ÆãK^<ùçÇÏh·#ÚÝW×Sž=ûûßæ[ßý> >D[Dý»>ý)ÙxÈhpEžå´ûï°(=ŠË“2Æó#´Xã ìJ)Œm0jÄÕÙ„ñ´¤ª,óeÍùpÎÑUI¦²Òs­žgIs¨7{±‹FZÊ•‹ /4ÂÇy4šñ|Áp4e2ž3MÈËšªÖL§ òlN],˜Í/iĈ É™2&ã'<ò)ÒÕÔ´ºQj¾%L}ŠJcJg7ãùÐߌhjËlR`T¥¦(”ãi<@Ú ‰ÒÈ¡OÅ’$0Ê")–ÖÒ4O¡Kz,µb:Z JרZQ5uí,>­nICw-¤nJj¥@h¼’vðêÞÂØyâÖ•A)CEx~€ç),Š¢¨¨Uƒ]Oà{Ðjûøëë;¤i²R4泟ÅÕÕ5Ûkt¢þz½ƒ÷8¾8e:»¦šŽÈ‹] "ÙF5py~M<:x‹Nw‹áœ`Zp÷ö6¡¿’•ú’Bk泌V+¥F¯R©Imùôë—<ÜÛæ­ƒ-ŒX—»*ÐoT£¡… ‹å”$’´XÒ IèFQêiè¶¼È0]\±x2§© ¾ÿm½õÎ/¯x„IÊá‹gØâ("Nbƒד9W—CL£ˆÃvÚaºœPçKÚi‚¶p|ü’ñlL»›Òëw™Ž_2O(ò!Æ6ιp1c–•$É2HAÆI‹À/¨iT…çÝÃÒ¦\^°˜]b$MöÕÌåÛQkçôgq§ [QWsò|A^–èÆǧ/¡u Ï?G hJlSøPeSž}õ§Ç4ªâ¦uÉZ‹±«¤¯éô}’¶ÇrÞP׆¤²œ+´Ò«sô|_b­Æb ‹" =‡a "¦)ñµÄó ªÝ½+/évcB_âyÝÓŠ*ÓèL ï#ŒÅšÆ!T°B¹ ù2s)b§>­Ä§Ö°˜•a€0Ðrg¥¨ë’F[e¨+èuRB¡1¦¡TšÅ¬f>©ðl@gÍ#M"üëÁVGQ+M‘W”E´‚µþ:k›=‚È­Ü$‰Ñ¦Çl>b™åäEMi ¬†¦¬ÑaÃÙÙ%Ož¿äö݇¼uwVìÜÝr¥ÎK¦ËœÙ|ÆtÙ£Ýiá{’Ji¾Ìøôñ3FÓŒL‡éÓýŽO7 ÐÖÐ4––/iµ-‹iÆàâˆåü‚z>¢Û é÷S”šSä Qk¢Z2‰ý„ýíÜ—µ]´ÙÛ»ƒ|ñ˜ùZ)’¢P”y µ (ë’ºR«æ0…µîÄ&keÑP5r¥¿Ó~C¤$ Ò5FB‘7Ô¥¦Û i¥1qâã?{öŒ0rx¶±Oø¬uz¼óá·hì’¼ñìðØyŽF)¾P” ‹e…­>>iF 5!^Úgc÷€Æ9̨uƒ¥Ì²%ÓùœÅbÎ×/Nxz:Ãz1‹ªæÉÉK^úÎoóÞû߯[´;„ʉRŸ(ŒÐÆ`¬rü@h‰"RáG„$,¥¨HÒº.=á$(Æ‚jOâù¶–Ô•Eš‰Â ÿc­$Œ<’V@šú¤iŒ$tIH˜"=K¾, 'ÙÁ Mø+³Eú+5Ù¼ÀXK’‘cãmcQº¢P e~àc „Oèû4uüTø“É éy„AÀÆæ6žzëל=ð ¬2ʼ¡¬ i,¾‚­PJD1Ýõmºýu¢þ>ÇÚó}I–-xo“(^>ãòè—TÙ‚Vo‡`í&Ú Ö9‹éK¦Ó!e©ÑÉ9Q7¤±!ƒ©" _JK êêœéø+“—dËŒådH 4a`‘¢&4¡¿äÿæêM–íJÒì¼ÏÛÝö^ˆ&YY¤häDϨ—Ò+p¢I™dF32)²2#3"Üæ4»ñÞ5ð“Yfšaà{oÿý_k}K¡¨d^ß.ü÷?ý†ÝGt –®Ù]ÂÆû¦x[à:{ÖõÞ~{àøá#RFŠªlºîÌø\ù×ÿþñþúg›9NB(ܒ؂緿¾±­ï3¥¤–ôcæòþ;ǧÀ÷ŸÄð•oo3‡ã<}ü ¡÷M¬*¥&Öå7Âæè­e»_øåþW¦§qwF)(¤…’n(óBñ!mߘ¬Äìnk‘%tº~—8žuÛfCŠC  èzE×A7€`„é[®ÇE–9¢õ‚­BFT- ¶—˜Žæê• ÓéÆYÓ l¯@dœ ”ªH±ýºV˜öýc_/”ДÐJ²?ZÆ£¡"pÎKÀG‡‚ц®C«J®ŽaWøøýŽq×,ÈJ*Rl#T‰N‚± I­’ëæð¡-•˜ÞKjý®G É|O¤˜Ð”Bð—bœ?=1}Úó_þËÿ‰óWì )–¥p»$:;2tRHBôV!»‰j÷¼Ü=oÿò/ØaéìŽÙIA|¿ð·ÿñ'®ý~žé¦ ßýûö, þÛË_¹¿ÿNÝGúË_È© ÍžˆaÍ…ÅÏrþŠào”üÊ<ϤT(dÖei—Ô´2ƒÔ•mÙøþÛ¿ðç/ߎ?"»'L×áÒº¾Rs$Öˆ¶ eÚHgФë J ¶mÃ#JW¦Ñàï7_¸l+pÞ“à~Ý(!‘RFhÁþ<Òõ‚ZWî·D)¯hé™ög©LôÝÂVjÊHÝêÓ:;“½ãýõ ó|gÿÊátÆÁ~(Ȳà×wÔ.A]©1“f¿ßÓ÷’—o:[ÙM ;ö$1“Ê*l›ùS"•À4†ºgÁî¬è†fA¿¿¼¯ÄXÈÉ#•h`Ɉ Æ(”†*"¨Ö™1/žÓáÀåú†T°¦Vã 1$c Ãh‘ÊðözoÜáÚ7TLh#°½¦ï ÷Ù3߇STühä”XÖhÇ÷?øþ§=ï— Ëír£³–~訲QH|MP 9BLÌsd]‡ÃÀ4XºÒµ¿‡‚¡W¨*y~ÚbA%8žGާ ÛYŠ€yýò¡ÞEL×£g¾Ï¬5p×$Eg:Üxy}ÅåÂ' y»"ÊÊqßÓ³2m~wýn{Å;O3êÞÙ8ãÝÌË—_¹¿Ýy­†o¿ü7º~‡’=J¡)9 J@‘˜•éT‰á ™ï< 9Ãý*pk¤ï,[í O#Æ„Ü莱byCñN'^YÝÆ¶,\ÞCâéãD%òÛooü58ž_#ýÿú 1.„ù+²nl·…{ œžôæxÜ¡1|ùõˆ‚,¦‡ÝAbàýrã÷ߟ?â»Ïߡ̮-lažçËß~áå÷7îïJôˆH)P:˾»RÕÀJ„I²+Ó)&Ö{¢$IEq_6rHY16rzÒ([ùò2S«‚š²²ß[~øñ>ÿ„í$v¬ù•×럛>4{î·•RÃб®ž”3OOÓ`Q‚fø“’*-oׯ¯wJ#-RLW©2±mR+,©5¹J¾}ygž}7ÒëäAYÁt(®Çå}%øHt‘"‚BÜ Üs RùðÃÀùã„4 ç=¿ÿvåúYç„5’§Ã$™ï·UÖ%³n‰ýa‡íTŸ· F)”즫%i+ÔG¤L—(èm6¥§]‡é{| |ýíŠskÓÎòãO{^¿,ˆ¤ùᇑªçý¿a»}Eæ;yû…Z ûÃŽÛ_þ+Fw(+‰eaóW–ëLØÃرÜW„|mʧMÜK@¤„ôðýw{N§ Q5ÉÐO(­ˆ)òÊûí ¥D¤l_,çZ)ž?ž¨5RE¨JNè’;Tnßþolÿ‘q¹Þo\/¯¼½¼\F ÃwŸöüôÇŸøåo¯Ha™ï+<%F¹Íw´pvŠóáÈ·—+÷ûÂ4uŒƒewR¹Ã9‡ïV^^§óŽÓAóý§gr²¼üú )¾ï¿²;XJ]ðo_˜_îáÃiÇ?$—@)…Ϙ^ U‡ RÊ 5³.+µ(†~ DÙ.º9q<ôœžz´Ù*³ÛYbÈ<;ìO=ý8Ðw êLô…-Ï•)B¦3¿%ªO-zЖuc]VvCG×ê£|²ë-û}ÿÐ" ¾;¢lFèŽÓCm®¸-\dœ&|„J"„àô|JI¬í›Þ"ä#–œða¥¦ŠD¡Œf¹o8¥¢y)„mÅ*ËnìË4LlK¥†Äý¶`{Õ¾ü»¿zbŒPRJÞßîÄÒœ·Þ9þx>2L†Ë˶.ÛŠÑAÇr Üßƒí½ •„÷­ÛšÚ¢´ ŠÊ庲¬žÁªÇJ¼Iª?ŽäTÿR†!‘Jp8õ|øt¤ŸÝNa:Ãípk¡DU\&m­Ô?2ܶÓh+Ùâo„¸PŠG¨ŒT©B%l¯ÚžÁo™¸e´2ôƒa7 C‡µ%Ǻ‘% IDATBTŒjâ2³…;.ܘö;@¥šÜï3«ÛPZ0/‘û5 …fºöµÏ…e^©j)¸-Rs;RI *JJ’«¬÷ˆQÛW¤t cFÛŒíb÷úzaÑjªôAëËʵ± á‘cmìºb»‚²žad&†D Müº\7~ûòζ%”j=uó-°Ì‘àBv{ÅnßøM%ç‡ZmRbƇ6„h¡Íåˆg>´ÑËö 3Ht'©¢­€×{äöžðkÁ¯P’$ùŠV¥ —wÇ:g|H˜N±?ŒxÿФ"¥ÖÖ™bÁ»@Œï29ׇ=^3ß_¿ÎlK#„¸¼Ì\_n”Ü’SA[MФ†7“¨fG¡mYŽÛ+ªL,îÚ¢M¦Z¯”÷+¢vÓŽš—o-P^«AÈB-‘’ ݾàª]6S„´âÒ$JCgû½Åš#ëºñí×­‰xÚ"4h%:MÊšum–© ÃØÂ?5bðLƒâ|x%³ÞÕ àãw=û³a^n—­Uš¡°´•¸pΣ­B…¤’&¾~lê±Ñ•ç㞎è>’j¥¤‚…*1È6ÒdËæà×_oÔRH!±{úc ë)yJrìö‰ l+›k¬*¥ÚW¶äʼœov‹±ï‚J¡RE%•B}DS’¸-“½$:Ѧ6hÂV›¨8¤iqÝ——…ù¾Rk¡‰Ò‰¡7QQB³®¡µSIÈ`ƒµ‚þÇo™ÍÇF  BVkmp¹PK&§DyŒ_%VjMHÛ² ) >ÿÜaúŒ”‰®h#8xCÜ$ÛI±0î,±ºæüqlVù†Î¥äBˆ3JžçcO§RÔf\ì,:®?¶ >)( n¯+Îy§žnÒ¤Ø*k»A±‡¦<Þ ·˜H["i®£}¯›ák'("RK&æ ¡®1¦„ß2‚Bb¤”ˆ ¶mãõ-s˜zžŸN 2-Ú|œJÆ{G-)Ú¨’·Ìå²ÐYÍ4vÔÜñþ²Ðw–aÔ a£ÓšE×5îO?%:Ý“¤ØfkÕJ•²­ …ˆ«‰9ò~]x{™R¢MOYJ úIc¬`š,ÒHæ%|E˜Ê´3œN-áÃóm )%œó­Ã=rø­àׂ¬íCPsh—Ç"@f´)]¡Cl–)Œ¶•A(b‰(%Ǿ!sz‰íu#•ØŽÎ*„*H )妿KA¥|&åʺJ|ÐPP,³§EÉsBiÅzw¤¨p[û=úÞ²Û)Š H%˜=òQv_¡e6|B©ÊñØq)ŽZ~"W[Ù§†‡ÕŠ¡·øØnŽâòw%_Ð÷šZV¨ä¦ˆ‡Ø¶ö³oÐÞ0th¥µfwè©Uq¿9j ¤\QDT˜&Ãù<1 †š[sWJ¹¤¥ªÿ4Íí8)¢R¬À‰‚ ¶×h­µÍÕnkp)e»SÇB ’ÙfGt‚aµ§PX–˜<Ó¨èz‹wíòè¶6oçœ!+$Jáz[p~Áªµô¤IÅ“s$æDÉ•¾“T©‰äÇ¥°b-h™8;(í%ïzI.‘š ÊÈq1ñô±- Ü=ãb@Ð:¥©ÜîùïŽ#*‰qÜa ¤Ù¿ïñ1c¬B{E޹}@zF…Ð =›KÀÇÀn72ö–ûâùÛï¯$]'K§ ƒÈ J®¡)%»½2R LW0]%?¾ªJ[@"µ$Ç@¦ÕkØízJÉôCGÌ®yŒ¡³m r[6¼kHeÁZÃVÛµÚ´‘Æ­™û¨HЍ]§ñÑ!…b;œ 8—øþÓ wŸJÒ=EV|Lxß¶JtC=Ýæ)Y°Ý÷ÛB.Q$Þ%Ê¥é-µˆ–äëÁîÇçŽÃÉ>jZݘHŒï*É·“¥”‚é%†ä+—·™uõØN7Ënw©ý®ƒšÙ]1¶åL*ýùŸŸXß=·¯%UªâqIStS{ƒ“‡äÒãA®¤ÐÆ(D)²’ 9d¶5ñf òa¸/wº®`>ïI©å¡·-1Ï…àÁy¨‚°J*”ª°V“ræ:ßè…éUfBtÜ®3Cß5¾§£¢æÇv-Ô‡‘ÍEbjfJ)!W¨…¡o½ÓÉÛÛ·„¶ïß$Ê+ÒZ1Ò`L¦¦Ê8çÆ¹ÜçŽ%xÂ-‘ ˜„/Tá±CîÛR 5ѵοދཬls"¦ˆê`ÜI„¨t{Ôñ¨¾¢²2¿Ÿ »SO7n÷·Ë•nk_Ä#1·غrRD/X—LI…¡7øØœ£&Ù²ª¸à¹_W6©µ ­ºëÊdt'Øõ=é©9p¹y\ðô“fÆ:aÇ®ñtƒ!ÅV$]äûŸŽ˜A1o‘ß›q[|lÐzJ©,óF?tŽóÜâ§Oå ™_ÛÃ-®MGƒvìö£ÛIæ¢ãð¬ø¹1V2ö† kª¥ˆ´ÖYQ%ÛâJ‘C"‡Œ-ÓÐ3î ¥BÎ…ÛÝ‘bBŠŒ6 !>dôùóÄ:û¶Ž¬PE¡PYo3˜ ¡E£Xø–U¦Ÿ"Û=C¦PV#*5UÖ[ä÷|!ׂ´™Ý#Æj|HäB´Ëñº&¢k£D˜ãƒì]ØTâí’YÝóóÀs·ÇÿáD.™Í¾ü~!xþ8‘"Ü/Ž×/3Ó.pþ0B$åÀñ¹ç¸;±Î‘°%޾ܹ¼®UÑ£b:ljåºñíëL7´;JúAñüì#¥†iÂv¿Þ¿ÌÌ—@I­3ÛñsjÿN²éýP8-JE¶èí€ê ÈJH‘¯ïCœµF?zK©ìö#nŽ„èéÇ£ [ôÔ”1¦'•ʶ¼K )®üüÃl/I%¢@*‰í%ãNòÁZº^µ’­—ðÄ×/ ½6 £aØuèèéÅ8Ò’3Ë,Øí Ó~äò¸¼ÎŒÃŽR*)e†^óÃOG®— c$ÑW.ß—_³Ž_vë%3§™íѶqËô$P÷öœ…9ã„"-3nÛ8œ4?þqÇt¼½¾7°¹ÔœŸG¦ƒ`½'Öµ ²"ù"#uæô4"Tá×ßnÜ.£ 5Wt§y>í9ï‡V±c›èZ§–¡×,G?¿ÿÏ? uÇ—÷wúÁR#¬ÎQje½8D €ýþ‚ˆKRÔvâ¬KdØéGg[Û0Iyú`Ø;Ü"ø"2Ó©ããç#.m “àÃ禗ܶ…è›øf¬!‹Ê}‰¼¾.-ãZK|ª\Þzm™ö‡ãÄË·…mMh$ÖhîW‡Ò#·»ç¾¬-w ÑAö¯yÃè' .‚œ _ÿºÃÓH–¹q`s"$¨¿Í„­²¼{R( S‡TETkdÉ8>|?a§B?U†Ñ"„A ¸¾4Дó^I6WtU·ÜöêzÁÇó™Íy c&¦±'EÄr»D¶{ÂÅÀÓÓ@”žî‘sÙ\.+ÞyŽgÍþ8"dj)BñN2߉¨‚¾ë²<CÐé‘n 8Ÿëfè†L.; TA$r‘Ä”èÉ¡t$W¸¾Ïä\ØM}+O’õ-n?gn¿]0“Âöš*5¶\Gð™pY1|ÿïþøŸw<g@$°ÎmÚj”Ün7n󊈆õ^1¶#ŶS² dE Eð%Zh´²ÌkÂû•~0ìw#ûCES*?þðŒRšëû®Wœ?ö¼_ýÐj÷ ÕY¤T䔩¥™*êCý{ýÀ#ãú°D×% ÂZXïÍ XFA,!*Ï÷d—ËaêÑV±:‡4MÎ]݆ïï5>}D(ÁåêX— -$ƒ•èQ·Èå-"Éì}Áù²D–±Ròô4búž÷ë×·™m Î=óœ(¡Í¨b¬ëF¿„Šm=%9E¶ucwêZs¿®/·$-åv<[’yvl! :‰O¹zL?òñû#R·Î4úÞ2ÛŒý~Gg559¤Ðø­ eæ¼Û¡µ Å‚µ ˜†ÔÁpu‰el÷„%3½©œ'†ÑKâ÷_¯|û}F)IɆӹÃöç)6¸At‰õæ[™ä¶a“"¥B×.Ïëûµ¹qið3ïè¿Þè:Ãó‡=Ó¤QV}ä6¯Haè­n0jY9 r$WÐÆðöâXß"5 jÕ„P *!…DA}°­„-ÚÖIp[spä(˜Æ‰è·Û•Û=sy÷D/Y°­±6mJÁ¸ïØO°Þg¢/„Pð2²¾~£ŠÄtÒ˜nl¾±ZÑÃØ“J™9ï:QªâpÚs_š)¯¤ÈñÐq>+Pe!–DÞ56GÀí¶aL¡S†5%–Õ ©µ*Þß<_[ñK…}§9?õØ®Ñ5bÒT49 j–hÓö—·…ÃY¡´jcD¥Á8rå¾a¢dè\Œ 5]×7dRJÔ¢PÂ`T‡ó¶‡ÅeºÞb•a[Ücé¡ä†:ìÙdå÷¿]¹½GjT=EPSûŠøû3ÔéRÛÚþv›™®ë÷{àå«ãùy‡¨ ‘,sÁ¯)ôÃ}œI.Rä~ÝèGCE2ß"~{pqrE™Â‡ŸG>ý42 ºéO.¡Ç®GˆB×k„”ø-ñú:³l‰û|ǘ±]Œ‚*©B‚(ŒÏýÐsÿ¶²¸íß^ŒÇá¡zÁþÃÔJTnJK†Ó@oB&„*ôƒäé|FiÏ׿-_ rjŸrK £ µ$¤PlÛÊÇÝȇ;R¨üò¯‘÷ÛÊátä¸ïñ1â£'¦€Ñ•ñlØ4»cGÊ‘oßfjVhÕ6·÷…¾œŸö­‡zÎt¥„JðÝ ÌÐ.xn^É" Ä´‘J&—„”†J"f÷˜ß%¹¤¦ûȺVþÃú„ê*[|ûõÖ0þn×…ë5c´ÅÇLt¹uoÔÂo¿^2sÿÓ‰ÛÛÆëo ë["—vq–Ì @”­ž$?ýqàüÑ"ue¾ bhfÑà#Zµû•±‚¡SäØ S?`zÉårãí5±Ü𡔤PZ •âýÛÆoYI^R“Ä͹E’-h«%½XrŹÈ}õ”Ò.³B›‡ «Z‰ËˆÒ,HIð±myÚõA;Q~ýå•ó‡‘ÓóŽqgy{[ð>Q£ Ü¨ªŒê)¶crÝ<Ë*ùñ§„M°ÝiKª*T©ÈÒ‘\e^=÷‹§øÂ4ØfH,­®¡"—Chl‹iJI͹öžF¦QóŠ’M‘ï{˲Þ_Šó”EQc&,‘…D¤¼Tî—@Îm+Ti§MgðºÞÒ †a§ůÞ¯ ¿üúB7¼ tVqþ´Ç»H‘®Ó¤©Ö̓Èìí€Ñ%ôluMÉÝ–Œ®‘ÝÔfóR3ÔJYu+äN5ýdH¹P6ÝþÕȼ¾>èáͶ>N]•\ož-ÄŠÖ’š¦IÓN¤ZkÓ™bKj­êïÑ2) âųm ªÀê)J5Š|rðëÿX¹}h”­Hæq…Øî-¤¤d’#Ð:¡M¡Š@Xa:Á8ZÍ% D Y«RS‹DTƒ¬mQ‹çz_ˆÁ£m¥ÈD*‘\#F·ñ`ðCû³z£™v]ûy®žZ*Ý(Û œ ¥Æa åÄõº11TJ·%v»~4˜Îs¢ë  U²ÞÀÝ#sŒøÄ[¦„‚ÒM[jM¤‚¸e¨™Z!û6èË›ãö¾`´æÃ§#©FÎljí¶èÙˆ†½ΰ?TQ)–Ù|åéÃØÌ¢QFsùºq}q—ÐDÂÒ6PÛ›ùÞaÁz‹üͽÐï5ÓÉâ·Œ•^+Œ,Ø“Fw TZ>ŶWÿ0`•`s èÂñ©gÝ6.ß<%´ëèFƒ2Áî³ç°ê‡Í¹@JQÙ »½&E2BW=RBÈ ÙK«Q¦Q­£oÇu)`ì›MÞ,šè2aËl÷L âñ2Ýo+¹TºÁ¢li®›%bȬs·É()Ñw 8V"ØÑ,õ¢¶‡UxþáÀñ< TÅ¥€ÌQ%JbôÍ”š_HÙ^)Z‹‘‡°6§µ­-¶¦JØ2oßV6§ñûÜ,&[Âj~ô)‡˜¨µ-úRnÕóº¡u¡m[î§Œª­Ë}ü8ÐK§U³Ž§ÂÔw%™ïŠë{«|îv’é(™ŽšþÐc'ÉËì˜gÏ2CÍ’®Ó캃ÛmmˆkZô–[Ë©”$ÛñA©¯ IDAT†5=FÝÆ¨äšÁRÔvŠ%Ú‚)Wtô)5v°t£¥#K Øu Œ‡Ž B ú¾ÁÌæyÅûʶxv;Åé8@–\ÞÖ[ÁÝ2e-ä5µþAUÿ?¾Þ£Ë²$»ÒûL^õ”‹©Ju V7äþ³ú“WM‚¨ªTá≫LrpnD% (¼d¦G¤‡ç{f׎³÷·ñƒEkM˜¤žÿU†;ñ–çFò”QU“3/é£9‰²·q†]oqNCÖ‹«,%¤œ™çI”ºÖà›ÄáNóö}‹µŠOŸÀ{-´ö˜/+u+ ú]Cа®p¹eÊZhmGX Ï?Áh†c‡RŠÛÇ…eʘÆÐtM\QɆ 2… ©fŒÒ_"Е‚ˆÙN _õ8_q“ø/néïç)|'¨Jc 1´Þ1®Ó²ÊÆk4ÕLczÇýcÏþNdû¹Âùºé28£i}‡· m“¨Z GÓ˜(ªÐôм•Ò¸Öà»Mn£ÊA‰Y\‚ELK¾ß@Ý6áºmìÖ¥¬¸ÆaŒf'P™Ó±ÃyEã-%JŠx«PN>G£å+5S•¦PÑ\«D½¬*1GŠÎ` uk X[±®ÊD¼Õôárö¼¼Ü *.ωç§Èpå±Ušã]Cg—v¡;:ôÑ–„qè¨VbÅTvÉEô+µb§ËD»ë9ì÷¤¼‹Çï‡;¦ÒúùŠP™¯‘å¡B Y5FÀÁ)Îí(QQŠ’`‘R0Vávå3ÝÉâ;Ë8jšÞ‘ce½Ej¬ ¦ˆiÅšªaŽ™0­ØYžäŒ3mmï±mÆ·–;ghšÊ°kxy]HB*¤ HQ³L‘” èB;ˆÆ7-1^![²RÜ^#ë5c¼¢æHÓxÈž’fLS‰óŠ*†%ªªXýnÓ}’ fÐè¢%èdxx7p¸kÑ Ó¾ÿã ã©Z¥h3ªÞ܃ .ŠV¨uŠüµ°®Û+Þu´;Ëî`±^¸³yÉ$ è|)Þsx<ÊPÖVÚ]' ðE6Çáä7_G¦V³%¿&ÔËBŠë,ÊiJ ˜&³¿k8ܵ8§1ZÑï<­³˜ª0ˆßºÖÂâ2!†ÞŠç[iBNĘÀší›ÐkEk(J¡¬v––qÙœŽÚA78|oÐVƒ’€%c¶¡AU¼ž'æ«âv©¼y8Ѻ…ºÞŸ`Ô‰’*Ï?%¬Wø^fh) û`ºlpŒª%œu‹[劜ä¶naêi 2¡4šþ|átR¼|ºap¼}û†óë•ó2 ô ÈwÑΠœø¿µ±ä© Ú£'Ž…4šâ«ß=àv•Ã}‹±B2 cæåãHÍg[BŽä%—Zs™'B„ëeFÕÌÛ·;v½ø(´AŒF­¦iÆ9®—+ãyz^¯R.„© rF+³õë3¯Ÿ5;<·93q‘ žUâ¡¿ÞR(´;Ëé}K˜aLìÏí² ­‘.‡– xJ…¸HSÃwЇw-_}·#æÂ8¦)óñÏ#ý©aØ·„zb[%ÉZVá´¦õRe™Vv£ïP+§7GNw-ý Œ©Ëeaw¨(Œ±œŽ{JÐ\_®ôÖb¬"/X—PNñþÛƒøÑ}"X¼áz+€¥TQü¦5£8Ü{lÛrÿõŽwßÝÊâ¤C€º$L­´ÎbPM†Á`²&ÆY.ÒÖäb(Q:PhKÌ UÀZ+§oÉ4^:f`°ÕH6x“)¬äb¼P¥D˹r½æ>þ¸VM¼ÍÌ·YË{Uĵ2—„2™·ßttw–±ÌÀÖY ZÚpDUW‘­¶:ËyšÉUp5a\XG 1Ö³Ü&~ÎY§•ŠÜî5ho¨ºb¼¢íÒ¶†@ãG¦ “ýöÐRØìœ‚ÿ­Ù¦W íÆ)AÒ¼7ây #y“>dÈ3Œ¯‘¡sè{‹RØ\n¹P#xß`­ÇZƒoäŒ*›„¥ þ5W´6r¢7- ÃÂJ2 •+%%bˆ M×b­ƒ)Pc¤(ÁµÆ±^‰s/•ý©£é;pÛ±æ,,6éZE”š‚bIÂïÕÞÒv•¶s¤{Ík·šâÏšè5b©XW!«P3¥jt[i o¾ë8ÜYÌ–ž«B+Ã#©l¨×j±%T˜S¢í<Ã]O5šñÓD ]e”N’¥6õ¨q†ë‡™R3Ê+ÌQŒëF‰§Ùõ•®³t}#2ôβ;8úÆbe]6<|Ê´{MÛTJ@¡fÐZᎎõ}Çõc ¬™¦µÔ¬ùðã&à[‹Rš®S4_µÄè¸]„Àáà7ãVÙ2®3í®òøuÃ׿ÙQjäò"žîf'ä¾ù%’CÞÛS»(âTI‹P Õç_Ò@„¡¤T•«ÃLy)B5¢ÚNògl|Úªd–ÑöÝŒ²\Ÿ&jb³’ý»ÊŠœ‹¤Ãn£*!’—X¹|˜¹;Z¬q"E· ï51‰§?ÇÌ4ßPZ±Ï}ëé»g=)*rU¤)5³o¨0]¨Š”35ÉIc’(­0„Y+°8r&.ÆJ+^[M] ÚYº]‡²âQׯR*Ls -€i\Ùí¶Ž"ÖʲBN GO¿“7¿;ÂaßCæùUlÞÞÖX©Õ MŒ ùl¦óZÊQad…Š µÃyKI†œlÅó¼Ûw¸Î’J¤Û9ÖÙ׊–z›®+¥¨¹R&NÒÙVV‘'¹¤¯H!Su¦iåCiúvƒ®É°Ë1U£ 1à•!ªDˆËö”S¤\±Vóæ]Ãnßò|·ðò<±Ì+ßÿëÄîàØÝK™4ŽŸ~é;ËéÔñÕû÷Íž3Óœyþ”øé_'rÌ|õë¯ÓSTæŸþñ…óm4J[JÑ(‹ð’*P¥©´¢¢©Y™"3²AZ‘Ȇ‘l9Aƒ( ŒÓÔR7x¼ŸaF(…ÊðÐp÷¾çò:3¿ ˆúoUò æ³ví$³-àÂr«¼>­=Ö˼ W…¶–!&œ÷ä\eâ »®ÅuV*äD¸ŽÌKd³|>µ  hSQÊÒ4`c·ý¾Æ¹à­Áö-ÞK MUÐyù»k™,RlvJ5ÌcdY")D9±*ŒSÙîBÈiš†™æÀþ¨ØÝú»k5MÓb‚°Fj5([išFÂmJe™25Y{!I8c(*“s!”‚9ÞÝs¼;ü¡ßwLãÂõõŠÖšfßp8¤e¸¦íi%1ë ¥JSÊ)¨AN!•*N2g§•yLœ_'æ%r¹-œ¯ ¹ŠlÛzõŽ˜*?Ý8ŸJ‘Õf=ô½¥é ýÎ24û}ƒup¸ÓœIJÖB.ŠáõyaÞiw-M/º,c5M¯8=zB^yþ´òóWÂ3ÔE“&‘N(ôñ ¨²ÕMf[[(Í/W¨Ú5µÝÍdÈ…ª4½Ã6 Ìöp‰@Ú.Ø¿ ѯQ[TZ …é%°\àô¿<=Ô—£ç/_¬Uð@…JÕ.¸]#·q¦’1¦Òöž¶oÄ1­2ôm*ý®¡’ézÇéÔa_2Ƕåüqfçk‰!Š&Ë(º}O©UÊ®qE•Bã-Æ´Ö‚õO²¹¬iÐVc¬Âh#ŠÑôûžX !gš®ß ‚ uKŠ‚òNã½b™/µ*Þ~u$å@ÛY´V¼¾,<Z§„oÃài¼a¿ëé:Itjšo;r¨,!³æL ³uÚ¦%cóA'¦ùÊxÉ)òæÝí¡ÁVKæKAi¡A §×^?Íh³¹êçEÚ}µ(ÖX¨s¤iäIv~™½•̧‰Ùpg¨?[Zï°˜fáÛZ—¸»÷ÀÊù2ãlÃé®!™ýg·³(“ «ä9Ü®çO|ùSâùO‰‡¯¶LááÍ@ßïYcâùSf½54J±¬óÆ`’zß8î %K7JU9)%b{do•&[œXÝVgÝ}È ²èÎÒ"iX¤¿Ôk©b°H§ï9BU í?yU UŠúÅfÝäæòÏë$Ïû<Îäµ²Û;-‰°¤JÍÒ>_™`_.8ã¥*Ë4AÐì@çZNdžãá]`^f …i}¥„•ÎT­QJ„©UCÈå´­¹ ªF׊µŠ¼fŠ 8oȵbµÂvŽ~7`½G—­³9X´¶Ør•™Oª,׈ӖCÛñéed¾šÞ2_àv |ø0‚Âw–¶/dI„ÝäªÇëVî6óʸFŠRtmC]!dH{}½1JdØ –ñ²2M ÎbM -w÷;ºÎS·ˆ° Ë-‘¹ÈU-tºš+ëR°¦m[vCÇñ~OXWj\9ì”W\Ç…×ó„¾~ó ãÿb©µ2Ž#7x¯QZñô:q»^ÑdNdžÓÉcb™'•}×q-+e÷y)Ü^F´«b :Ï´C¤jŇãs&ßÀ(iÅ"ŠeJ•Fã!…*‹\ñ(ð‹Gö¦.*ÿ®Õª¶‹ì|Ý.ß[©óžU>p1ᨿÝú;DiùùJ•|>Ô’i:ÉJ¼ÝVò9¢ÑøæHXe~’Ö•˜ ó’IÙJ·k-¼>Ä2s¸Ä;c;ÖÞÐ7ŽÃÝ=½íÐUÓwîßs¾žùéãŸøù§?ᇶš¢"¾µä"¡šµH Qcpä|#ªˆ2…fhh»Ž´&¼ï0Õâ* ®FüÇß9!”¨LMÊ “ÿøŠiDQQ²¢zîNŽTF‹ËQþ»DL‰Ö´c©©ŠÖ[®ÓD!у²–²‚-¹àz1š´J.\Ï+ºµìž‡¯ï9-ÆÂ§¯Œ×™¶óXk)9 íÅg¬ è¶BÊjú¾§ízR®hS%ÐqM8ÀÃÖ"VQ `ˆ9’rÁyÃ~¿Ãl屆ª2ÓRˆKfgr„áÇÙiÞ:Ò;ÅåY.…¸LTŒ¹rý0QuÁõ«[Ò5R×-"ìs¹dä!¡´Â7޲ Ø´‘’I‚A7|ݰ•2·úKY³m2UÄ¿l¨ÿtÉ׿úwµ}“¿þú_½¬…ݱAYÃõ,Ô˜ 2¥k-çç™JÁÃÏ?½2O ­5MÓR¢åùã™2Gîßì™CæõÙí,McˆF1U˜®W^È)PŽGœjÑÉÓè¾ihMÈ+¶±äˆYXX9‰¢W;Å…LëZL”,–W¨kJä”èÚ†ÎÂ7dFWQ-äT8=w‡!¬Ì±bqØÖ°Û{öGO¡Ð£3k\@nãDÈ3ƒWxïÐÎàE—5ðmC­…é6c›^äÓ1FLc¡ŽGŠS¬qÁ, Ú\1ØÆqОeJLg™wøÆI)^ ¹öû:E(‰iŠ,Ëj¡oŠËœh!c(Iž.!eŒ•dRƒÂÏù<3/…~gë’¢bXVøþûÀŸÿeÅi¸hx|hÃpÜ?×R¯ÆJYt¼V´ ””QÅn™ ÒéQFTÆ9Ö[dQ›¤_kµ%ÖÍâ[7@ƒ0^K9 ÊÔmÕëMúwù‹ ô·^JË®“¼¾ÿè7@UÛk÷­hµêç) â&œWÖ¼¢zè‡êÆ©Šr…²TŒÍäj˜®‚ý,áBÓ´tÞóøŠÕ™¾•Ñ.ÔUáKƒZ yÉ\^/@aØ5ýkIØ2rêW§XËÊ´Vié*ÀU•Q¦â”¥uÌ.RÁG@¶Ì·ïŠWT¥ÑJƒÒRŽ©B\V–9ƒJœN;úÝ©*R6¢U‹+‰«Ûuªffµ%§Š³kÝ Á´*ìö¥ÂmZhûuÉLcÆT<ÎÙ?« K P9ÜŸç™WNozþîù†o~ûÈéqàpwäv‹œŸ®’î„Úž„b,‰k&/ï ‡Cϲ¬g «øb”oß´ñ•q”põ‡Ç–Ç7®s,! Ç(T4Ä[az‰„K¡¨UtIMoq^ä1âZ(9Óu’µý¹jœÆµÊžXùæ·wøÁ0´$ŒQT ë™.‘8‰ìÁuÛb-µÍtª*T Êv'O³kX“¤7ÕX(±fɧüE¢”úÒÕ“ûþKLV¤œÀFm§’Þ²"ªª"E±ˆ¨oÙb–‚VëM§i:²'ݵ–ÓÐ ß¸ŠÆ(óy YeØ©áðУÅù|C[ØŸZ¬3L·ÈrKÌ—@˜¥d¦eaZfZo9í÷X£ÈYÔÙÝ0дM¿£*CÓ´ôíŽÆôXÝq<<òp÷k4ÝÐÓ¬Ó‚߬òþúÆ2 ]Ó¡ŠÃE¦â1ª’s ÕH+šB^#5W†ýž3qMxçÅTU ¹ oàr¹c ~¦DÖDŒ+!¬„” ˆE+Ãí²2/ãvUñ‡íÇ׿úšnß³{ðüþ¿}Å7¿»-ùï¿C鞟þøaœÑEèµTj)Ò@º>1%b’p͸ªøZ\ˉ%Qµf¼^?.AÀçÖ¨"Ä'2fÊe®•Ý“ ÛvÇŽR%ÎWʘ‚ÊJ¦ðs¦Ä EB"mš‡£çî¡A)EZÓ9P’ â”ÑÛ®ðöÛžïþþë ó´Ò÷Žãý€m*¶ng8¾é°cZƒ«” Ú¨/›/¨m"®ÿÂ/ÚÁr)L³e—|ž—lGãDœ˜–DY„)«ª ¼J,,S` ‰P2·ie]*çO#ó-3Ž3Å*ë’hû–º}>‡Çžþ®a ‚»O»Ó,“HijÐÔ(™-1fB¬O‰‰š#Ózã¶Ld ó:³Žâ®³Ž¦iÑìá°;ÐùVÒsÛ¶ßã\#e °D­VsVØÁªVQuSÄ£>Ï,³œö1FItÒ] KZ+iÉR²æLZa]—‘9ÜЮRÈ(»U:Ú–$ #,eÍL¯çOÓ5aÛ½PòÒK`YgÎ/?ó¿ÿŸÿ÷ïö¤"¤@U[JPÌ·ŒQŠnï?Š>Hm=…Úè "m`ÚÜ_*nºýÅó 6ÊB¶ kâ²òÿ,\.™Ç¯{TÑ,×LX²ªäâé"]…šÁ:¹ ÛÆ¢Æ`pDnO+·—@Ž"qÐV¬ž¹–3×Ä÷|bèöØF1Ü[r€¸TbM´{ÃÃûŽï~}DÙÊ ouOï´6„-$¦Õ¦XÀ8?x-n¾áåÓD#²Ú…E«´àP¥ÝU~q‰–I{ y#Ëe^T¤òî–5˦@}yà-kï+¡Aš  óm嵯ìšÁÉÅöþ0Ð-µdrMܽÛ3/ ãe¦5޶|Îk^ÑŸ¢ʪ˜/Ò–‹Nó´Î¬Ó÷÷ïß¾¡¢¯#;»#ÅİÛQ9œÑ€f×4ìß¾ã6MœçWnÓ ó2×x¬é¾ˆŒÑhœM+W@6X ÆÊ\J¹‚ïZ.O#%À:Jàæz[Q‡'Ó Ýé (q g Î48Èv®#Ëu¤uŠ]ã±Ö(t#o~JŠ]?П,M_˜× Î9œ¡r¾LüéOOœ_/$0¡ÙïX§•¼‘P°Mu•¢–,Ú¬­Î.% ÚZƒUç4SšÉK%M°ž·óÊõyAU…wžä qI¿èô(rʬS ®ŠÒz˜†ªÂhða8y†;n`wôÂVŠûûk ‡ýžësà駉R »£áþ½!ê+ÍémGÛÖKÜÊ„m-ƉÂW;Ãm\Áv÷Þ^>ŒhWð{Cœ %H(eŽù/Ý«úù$‘©<Èi¨²¼‹ZkÁ×ÑKm_²,~Ù«Š2¦TP¶Šb×9œHžª™°,öÝÇ»npôû†üqeÖ¸ðz-¹|îg¹r½[ ·ua~Yq¶r86„·…ûã#ºÓwÇíô,Œçñ§8OZ´±œîîøú«wüñÏß3Ír"YI¥/’’Z§g,¨bðf„°œ1vCÕDï5µ©b/Љ’EJ³ÛõdñW•0¾Š¥Ú'0E²U†»¦ŠÙ(¤ ë;ʱÐz¸¿ï0FYö‡îÆ*RL¼yóÀéaO¿ëx||Ç~GÛìȱðáÃ3Ÿ^_I9càx:òûÿúœ/7ÖëÄça­R¿h]þ"©çKý­Ä)Ô’Êñ^RHs–¶ëí9°¾fʤd±Q’åøýüÒÖ;7ˆ°0Þ*¬ « Î+w–ï~·çw¿?ñð¶•Ñ%cQx4ËðÂ芳òd==:~÷Nž ›ólfZ"kiÓ[l£(H‰¢fœ%äÞ7‚4¼w_cÔJ\¢ÈÞÑ¥RL§h–f°”\¶î–l‚Ïï£Ròáÿç¯ÏbG œ4Fv^š3Å2&‘{¨BÓúÃzM˜!$Ú½'WÏ‘Þ÷1‘3Æè- jV”$ŽÊ°fàµfßvœúó´PrD#ó ”ë²¥*O~ævyÁM)Ûô\Ö°0O%eüI5UKS£j4%ç* m)›ÑL¥’ÀÕv-®1(/É\8EÞ5[lmÈ«æv<ÿ|åéç ã5C¢ëZ\÷=6œWžÓ Ê*b‚ÿô‰OŸ8žùí¯4ºaY&~úá#>}ø‰eéûŽ¿û‡ßñ_þþ·œ—Ìñ¡Ç;Ëóå…)H„Öд0GæÛ•R2C[){żÕhb.üÿ̽yŒeYž×÷9çÜýÞ·D¼Ø22³öêéžé™Æ€±†1‹ƒ±%lá±Ab1FFB`#ËÆ²#@F Ì_FFHزÅHX 3ò [Æh††™î®îZ²²22c{ëÝÏæ?΋¬ìžêšªîÂâ'…2âé½ïžß=ç÷û}•H¤ ¬8°ÖMe Ìç2SD‰g: ^*¶HáPqÊv=Ðí,B8êAHËáiŠž~ÔÈÌ¡ L“4BÉŒvkñÎpò0åä^.¢Þä¹dq–£2僦í<’˜8q8? ,™r{ÝÒl‚(]–Ÿ! ©ˆª"Ü­<àB'%‰bÆVssµcÆ@Ù©Ç`·  Þõ8/Ø61¨4 ¥ïÂã´ b‚ç\ŒZõ¿ü¾8:Ã.¸ùF*8r=± _Cïp›ÕC>Ë*¦«-Cêƒ.² pv´ †2SêXëmÏ;ï^’')eU€ô{Ö`Â8ŒhmRãu€¦{PÞýnǰ«)³œ¬Èhûž¡ÕèÖàŒ™Íð^Pï:¬ÖŒ½!Mæ3²"§{f³Ëþ†›Ë iž°8ž‘ÄÆ›@°–aˆ£˜4 ×Öxæ³ ÃŽ¡ !‰$á2":º?áø¥ Tù”ÃÃ9£íX-Wĉ¢í;m‰Ò`Ì>™L˜䤷WX½e’ÃV[Ê“’bV±ÙlpFSUe¨ ꎡÕTó„£ÓŠÉ¬Ä8hêëž«,JJ&Ó˜Ó{)»MÏØ{Ú]Š¡šIâÌcmÁ0 êFbGÃÁ<Å,".툔äû~xÎâ(&*êaÚ½Á¥ é5Û¦e»±ÄqL$4÷N¦$*)pÚ°[ޏbé9˜e¤*¨"""¬jôB($áƒ@õ꺥Þt“˜xOµcðÆôÀÐkúÎÒw†¸ r!Ä 98 2ØQÿR1>¾Ìø¥O+Ö {O?Ç -ö4ÚÐéw–nÛ—aÇVeÉ %Ö DÒ\˜?|§çfÕòÁ³%‡Gs"giʔɤÜ7gxKš¤8çÐ&TÛmÓÑ7-*Ëè\ÏÅ“Kno·Xެ*‘Áô'OÈŠ=f˜A3ŸÏ˜/fô]éGÌ8â¼!­RÒ4Áº`élö~•RJŠ çJ¼ÆZÃtZg 2¶DÙ~ׂC]‚¤©byÛpú ¡ÊÊJ1ô ÖkU ødD$2ªJ`]¸KTiŽ¢Âôž¬špt(ˆeB‘G$‘ ÊQÂfÝ …$SAíO AׄdZ‹²`ZǶm™Åd“'c6FHOVÅôƒÆY‚*=€Êö>‹ÚaFT¾Ý·uú¾‡ð64/Â\„ªÞ-Š|’Ïb´õHh²Š”±×DqœD)øˆëë[ºÍ†“Å1Iœà„ ŽR¼‰>bqtÀÉé—×OÙ®5E¦ÈŽQQI5™²Þ^‘ô¢m„’”• ά·äiN'D‘¥È ZëÞÓ÷#½´èNÑ=]ïÑmp¬•™Ec=uWÓ7#¸(8…Î3JgºéVš<+‘IÂ8XÆÑclð¤Hª’<JÅ88ÖÛ›§·Ì¦G±#OcòÓéÞpÅÒwduu[“Ç1Êb/É3EßÖHb–7VGLòí‘ ]O½mÀ îO™N+nª–·¾zíÃ]%’4‹ôÔßäCÎÒ÷žÏ߯{D´|ÇF?ÜÛô8„Á] »uwí;q„¯íÇÂî=‚¦3ôýšX*¶»¡"Šª$-2<{#%kQŒn{´ ÇžºéèÃäpA¹ˆJ±^-É&&³œÅÑœ£Å )C-™$ O/®¨Û!£q8¢(FD¬Ç;ƒ1#H£© éîb´Åí[ÜÊ¥x¾¥Š±ìÖZÄ^ä@8px÷m‚2¼Þ‡DiGÏõ²áhU“•Ep!kú0ˆ#ª²"ŠÚN_.8}øÕ¶ãfµ¥ë¬½O’$ }‹1ÃsÝ‚ÀÉvÌ+~øG¾ÞÁpáÙn·ŒãX²2E$ž®­#Õ¥A¨Ü¹°‹9P>bð#±Pté¼bDàú¡_ÿ9Σ§_~¶IIÛÔÈTqr2#˦¬nj§ ~ø‡•=z‡®Þ²˜ÏH£)Sœ¿Ê¤: VFÜC?Yþ1p )E~H–M8;}ÀÑ⌡opºe° “ù¤"I'Þçôì>¯½ùÕbŠP’ÍjDª‚$/ÈŠ‡dyݳ¹ÒL’‚2hÛ€pH¡Øm:ÚzÀX—åì€8*iv1gǧLò‚"Ë(šmOæŠ8Aë0ÎeJ)æ‹EIYdl×5ËU‡ÖŽ"ÏHãë4ýÐa,¬×J¤(/¹z²Æ4¡CäEp¶Æ èÁ Ç1Ôw(]ùÑgû;‰øˆÎÑÇ…¸Á<ÝŠ;º|ñyìœ>ŽËþü7I†v{ánAþ‹Ó˜8ŽÃÝ{ÔXc‰Th9k(Â}ײ^.Çž4‹88œ2™T€c:„³XŽb«ën¯ž1Ô=vèñ^c]Oßo±Þà„…Ø#"žwM6à2S‡#-2÷NPi¨)•PAp¼×H”ˆœí¸u/óÊÃû|åþ ]½ TG«qJ3Ž ÃnÍ¡œ ¢”åÕ5 Š®É&z¼ ®¿Átš“%^W$QDgkn——è~àèhB^Lñ6åé×Xs› MYT“)ͶÅYEU͘.@zfGSŽúÖ·;NÏïqx6!Ë_ùù¯Ñ\÷d*âõ×N9{P`ÑŒÃHw»¦­GÜ(1ÖÑš¾µDIŽGr½Z"GA,!V Yš’ÉØ èaÀÚ`|ÒÖP׎ž‡Ï898£H§ˆè‚HH'S´µ\Ý,¹¾Þ²Þö8#|ƒÐŽY™á"Áåí:xpˆ(¬Q%QR"¬ãŽçq7 ì¹Ö~xÂì^àbï§|ÏDÊ€Ùr{Žˆò9îêSÅGtÅ~ù¤¸ ·÷¸ØØd˜m84²æ”yPûk4E‘áq Œq$‘#NÅt‚Õõ®Æ Iœ&Œ]ƒ‚,/Ȳk ›mM?6¸Z{ˆ'Ò…¥1Á¡ÉA½Ú HgˆŠŒ4ŠðÎr»¼]Ûæ)B(áÃïüžýá/ü_ü±¿õ+ÄáÁ-Rhrï„Ë›+â«‘Å Íšq¤ï;ÊjÎzÙpq±âRl±Þsv~ÂÁÑ)Óù”ë›+žý“ f“œïûþ—èM‰u¾øòKoW,Wd’EZ—”Ó‚4K™ÎŽÙíjôØ‘¦9Co‚dÌ`‰ÔœïûbÆÑ½9«Õ’wÞz¸5ÎI¦•: c%ý¨ÈóŠ G·I½@õݨé†-½¹¸yÆùáœ$’èÚ‘GYA ½Øõ;d"(ÊœÁjv]KÂ?*ª8ÃÚÀ%hš!ÜQ½€|Rà…'Ž"¬ ¾Ývx!à9º¼)sñnáí9aŠç@Å!;¼€Aûˆø;Ï/}Cÿm?ÿ_Ë+¬ ª0 .QB2©*Ò,e»‘ŒCÖRIb™2™• ù@ÓîÛ–¡°ÎcQŒ­¡Û…çŠH8~ñàè]¿¥ïwDiè2 ½ X6ã>ÂjHc’,F’aìPXââ(Bè@§0 ‹¤ø—Þ¨ùƒ¿öŠÔýê‡5?óûÿ?ù /q0Ä_ö›xzóÔ_]ÞâÇ‚$ªxïö ×W·ÌŸ]s}uƒ1–j>¥×Áä&RAfòfyËÓ›+¼˜³Z_39Ì9=;F¸˜É¬Ä Gšªj޳pu¹ÃjôÌʱ*¹¼yÂn×Òl{ú~d~0çäìëvà6«šÝªá•{©Ê9½iPÑ#¨œ£ƒ÷ÎîsûìŠ÷ßy›aèPy‚7&è³æyà§ ïÝ4c+iÆpò<ÅɺéY]>FÔEWV9«ÝŽ]Ý!âˆjš3‰`½jPfEAÇlo»àu¸ÃÍfˆ }ƒ‚ÍjÇæ¦ÁêøîÃ…&•D¦Aq1èd}û00,t÷Âcκï|¿ÿÔ‰Aº4`ì}Æðô<1î~þ9X®ZÞyçºf‡Ï™Í&¤YF‘Lú­5i𣔢kjô¨ÙãØöÉol˜xïá6*‘ìv;Ó!c…V`G‚0F m8„ˆC å"Šq&¹)F;¯HD,Îð_þöor~0<ÿ«#%áwüàû´:â«ëoð•!í0øa{Cš÷¡éÐnËdªpVÇ‚¢ªRq{{‹Ž ò¾=1ÄZ8L½s/Å{°©EK?zíØ¶I>2ŒšÒ»çJšqša¬G¨E YÚ®!N2TœâìˆPžHKÚ¦ žƒ^Áàƒgëñ.ÐåQq‚J2œ3h3`FM–¦h7âŒ(ÇïøÑÿÞ¯y›H}ô_}Ôƒ¯öü­?ðsüô/Tü¾¿r.²,fq˜ûíjdèMëO&̦S<†Õj‡Ñ=ÅdNšH¼‰ÊoUP(LÂù:‰ªlJÛuô» Ø„,QäYF½kÉ“’*KÑIĬÌÉÓ”¾ïX­×ì6-“É„É,¡ï ÖF$Y…5†I>!ÉæäÕ !bšæìÈ 4ã¨1V“eŠIž“DCÛ"½%òŠÎŽLSãGI=vÁééŽ> BJögoï.ÿ?…ðÈ=aÉ;ˆE–Å­^PU%B ú~üÐÖLEŒ]OU$”eŽ”aÎ0#Å$ÇM7 èq@[‹T³Ùm-Æ9ÆÞ„†OžS–m»#ñ)Yž"cìÖÄÄ8.‘QŽ.B±g¤:‹5#Î1kïŒxãø–?ù;Zfùdž™wñã?PóÞŸ~‹?ÿ¿ó“_}S CÄõ²ñ0 ¢ ³¼EF·8ë™T“ Å:Âkß`>;âíGoáh»:ÐTÇ‘Ýú]nn–¬nÖ8+(‹œªÊØ®7\=½ –žL Ü8Ò45.NYmv,Ÿm^r-Ń6t½ÆZK–fÔë ±‚"KXêÝLG,(«)ÚÆí†Åñ1“ÙœÍf‡Ò4ãøäOç^¶ínK’H¼4¤y€â¤©b-QRE9ý0`­ÅKÏ8¶¡áa*R"‘š?÷;Ÿòúé'ûü>69bÿño¾æ÷ÿØŠÿüû"ç6Fkuµ¤,#NÏ+²,%ËRÆÞ°]îz¶â ÁH ¶›†¶Ý¢fuÛà´¢ï{Œ¸7=aq2ç«_ùžããÓÅ”ùñ„d*¸^ÞÐu»mŠSno;L¿ÅÃØ¶ÁšWåÜ\\³\ß`ÍÈÁÁc »í†$ÎȲ£¯ÊÉŒÈ)Æ]5–8Í@ÄÌSŽŽ+"4ë›¶Íަµ'R ÒÅ4ëžX%DID§Œc4!³£Œ²Ha´¸Ñf9½¬¶-iQÎâÀˆŒ\Èï,Ú †d¤Ùö4V>§Â|KìÉOÖ| Ç·=Ùã‚j¸v–û=DpÃr¤™¤È3°#nè)f9Ó2e:I³”²ªp"b2™!¼c»Y3ö]"⟋µÉ(,ì8IµEH¹‡³KF=Ðu i“ç9Ö{†~@ˆ!S{ 1i0JvRañ¾G© çœFÊ8ñB!øOÿÍ%¿îó»çÜ»O¿lrÜÅ,7üwÿÖÏóÕ-ù·ÿû×Ķ6N|0Ø,8;¾ÇzÛðèíwi›–ùa…Š^¬ôºg0†q4ÌŽI£‚'OÇÁvëÁý{ÌNh¶;ÆaÇüäÙ¢@ÆŽ£Åí-œž2?:¢³ðÞ;àÆŽ<,·×,ëM˜eÄ’¬œÐv–fÝ`´c:/˜ÏpΓžÏNyüö{ŒÆè=et 7:î¿þ…Eʘt<¤Ïo6Ô«×@_$Ï<’ž¬PÔ½a½ÜPÎ"Š\‘çq‘àeS#¬¡L#§%*–ôºG§å%]ÔãÓ"ez(i›1pæïD§¿}‘Þé]} ùIÁdR¢âˆÕrû)fß9¼uŒ]rŽI1) Ê,£ÈS&UÁt6!Ï2””DôýÈé¢"‰f£Ñ:˜cÆIÄœ¥,KÚ®§Gº¦.º^%’ºëè†!ø»HA9­ˆóo¤ò4mÍ0Ô€EF1ãPc{a‡!нø7~åŽßóc7ÄŸx¥Ÿú%_8kø§üŸð“ÿhÆŸý»¢ÊÁá—7[´˜L <ž¦0®EF–$/R—Õ´¡{C^%Ì&%e^0I3îß;e]7¬×—Ìrœ3”jÎ|ñ‡˜¥o“å¥_üâçùà銛Ý•D¸È©ˆrVQT Æ èn$/ ¦“#ò2br˜“—òdA•p}½ÅjÍ7ßþ:ì:¢(%‰ê劃ãCÞøâQYŠûÙH³{‹QoÀÚìlR1š‘®³8á©ë†f;2êˆ(ØÜaû>ȘJËtšo)òë,ÇáiÎ.»‘rš¥M7²Y7èÎô¬†÷‘ç´Y h\}kqîñDQŒ’Цî>¥öîw­é­¦H*ò¢¤œTTӌɴâ _ø«Û%O¿OQ–(©0}‡Œ£½¬NB’DŒÚbƲ ð)B·Ô{Çzµ¤m:ŠÙ!ÄÍfÇ0 å±Ò`Õ¢Çy‡–$Oh‡- A? D*(;z/Ä«Ç=_þwž±˜|ÃÐ}¨/ÿžOÿ"!àûï üî_õÍXò~}ïO\__}ùâñ#Œ5 $Iž1Œ†²œQ‡\^ß"¥ã`‘’W>Àf3â8t³êM‡T1^ZŒë‘xŽæ÷PbÂÍÕ’nÜO’$‘p»nصÒTp¼8âüìI!‰s‡T†ãųٙXò©$-´v»ÜaG'øT¼ûèínË$QÌÊëFT&98> Ê2ºÀQ.ª„CÉàŸ­1¨R"‰G1 šbše ·«¡‡‹„Á"Øi¼ƒ]=p³Ü!bˆÒ¡öþØ2•h4iaŒÁ›=üCð¼0~ž"ÌžKí‚Pãé=÷… '>ѹB¼ðï _Þã}ðj\¯kvÛŽ8Š˜OJ°š¡o©ª’ª*‘BYžR”JE{þ¿Øó;B-#e`éÅ©bì;ðåÄI‰±žõzƒ–(õXÑb,?/M×Ò¶Î â¢REâÏü»ïð»ýŠ"ýÞšßÅfóa$‘ç÷üÐßç_{íò‡þ—7ÄÏ¿¿a2›úbæØÔ–z×rväyðÒ”";`W_§kòÜc#µ ^õ¨¼äþñK¨¨¢n¶DQÂn»¤ÌKƱæÉ“ D42™Ôµeµ¼æáùÓ™B[ÆÑP·[Š™D[0_.¦kjD:•9ÚjÖ«ÓJV·5Yž±WT%>•LÊœ¸ˆ0ô¦g³]³8:çÍ7ß I#ORšuÃí34tÇíZâJ¡l0ˆ-ç±ÞgÓù”8M÷žˆ{Å@+I’œ$ Æ-£54*8Ì"ˉ"–ØiQ!ØwÍóÂä…i9„‡Üžû-Cº}"Ý¡u?>^Lޱ^°…A;´iQêŠT9ÆzC–ÇÒ7' NÂpO °Æ ¦F†~ïF«-ÅdB’¥t]Ã0Žìvb7ç-N}/%=N·Ñ0Úï^(ºV#E‚T^ áüÆø-_\Þy}Ïñ=%Ç]W#ÿóïûE~ö½”ý/(qÛ‚o¼5·—×ôýÈì`Ž»[ÃÊwÄÉÈt^1™”ÄILÛ7´õc-š‘u¿¥½…»ŠIY°ÙniCžNyõå‡dÅëü?ÿàﱬ/x8?CF)s”›°¾Y£uϼHq6¢ÞY¶«‘£Ãš¶£<, °œŒçø¶CYM1™p4ŸSÌæDJp8™s¹¼A¨Ž¤€z3px2ãsŸÿܬnØÖ—ôcMßl™æhw…Á¡­áðxÎñ½St×Rs´¶x+éjƒÈ Ó“œÑŒ¬7’\1Y”Ü®ôhPq„ˆ!¯Rv7A¡Å»;Y‘%a–Ðk»'4}TÜÝõísZîÀñ;£z_L ÅsÏýŽ-RántlvËåŽ"UŒÚ`íš±ë‰Ò„¢Ê˜MKÊJàB BØPˆï•U–ã¤Â …Œ âT0›/qLÛ6¤‹ HÃûï?¥vPA}Ý{ˆ”ÿÊçþÐß’%Ÿm{û3IŽ»ø•¯ \üÙ÷ùKÿ÷„ÿ⯟‹$ΑQìoW5m?ðÆë/e ÛSÍb²Âpx°@†Õõ’¦8;{‰n‰Ó—ˆ3ÏÐï>XVi#£F©‘y™"ˆðcËK¯N‰Ógcœ‹¹¼Zsùä‚I•—ã J͘MK<ŽïÿâçÉŠ‚¯½ý‹¼òÆKôuƒéF&“Š$ϧi{¾öö[“Œ££)³É!¿Ø}•<¯xøúCfõ„>°tý„ª|XE³YmiÂâÁ)³“9ý.¡Y.ñÑ€s1»¡&y!c’%dUü%|‡’ “,eèGº]ËbQ2–ŽÕu^ ¨¦9YLuŒwjì/BCž/þ};ø®6ñÿVa–q'B÷!d_ÛàðBT3ÂS ·ÛcÖ4]‡6ÁU¶(bNÎxp~LU6()GÍ0öH¬Ñ’4cp„§ïû€Jö X#•BÛ‘ºÝ²ÙnyçÝ –ËR &³‚,“ⵓ‘?÷ﯹwøÝ×â7„£»oüÿñÙ¼±”ðüØŽßõk¾Á—ÿÖ«ü¯ÌÄl>õE3™æTÓ„ÙÁCâ\aìšåõ†Akz»e~4!+$ã((’ Qâƒõ€ódÙ×j¢x¤·ë$ÉcÇóÛÞæýØcþèßø±“'ìšÏÊ‚(*ñÖ±¾Ý²¼Ù€ŠÐ¾£œÐ4;¤Èêí¬ãÁÉKT“ïuIã•%ô¦EÅŠÓ“Ì’9µîØêš²(8œ[–rR0?˜–z»E›‘ÙlÎêvÉ{o•zœëIb…ÑJ{Óú²HijÁÍõš8·4M0hÞ{ÿë´ý–ûÎ8>:"KsFcðÂröà0¸âz˜f‡D>Eù„fדeeQ×-‘ˆè:ÇvÛך¼”¤Rrÿè!4‰J*h>•UJ•ÅŒ]ЂrBóuÇíj˨-Z-/ñ"ÕV@šÄÁ4òÛÁþøäŸsô>l [§¯µ—ÝWˆ@”Ê“ä1YQ&Š^JÆ1Àd¼hc°H\g1®a6I¸woAU¤±dµéÙl¶› IäI“ }s³Á^Õìšõ¶Áíkÿ„sŠÿú÷kþèO ¨ïùønãŤøð3úˆø¬äÅøÊõ9þ~œé4œßí¶´mÍ×^§4uÿ„2IH8f>9¥v4ýŽ®îP&Bª¯YéIcÏùÉCšzäñ{ï±Û®PIBœgdiÁã÷Ÿ1Žg÷θwÿœÕí-ï=z›²Èyõõ7¹¾^òøñû¼ôê=òÊ«á "UÑ´kUQ±YÕ)™Rï¶”EN1ɹ¼º!8>^ D§Y®¶ìš-óyIßwÄ2'W%O]ðÁ£÷ú[ª2CwšÕÍ:XtAŠçxQ1Ÿ&h72™X7€ bv‘JHã’¡Ötm‡Œ"ÒiEšM¹z²¦i;c¨›¾Öt»3XÜèÈ“”¢*X­¶/êÜ]ø»äø¶¢[î UwÌ?©önºÒªDDV–¨4Ãô#^o1Æá„¹ ¿“¤UUr0M9:¬xéáÃ8òìâ’zײÝ쨪˜ïûܲ4âÑûOyçí ¶íˆuëØ‹Q(ñãÿ¢æøãóê³]—•~FŸu’8/ø»×¿’ÿé«_`³Yr~~êç³cZ­Ùn/yÿ÷Cδš1?™– Q”°ºÞòäñŽO8?¿ÇõÕ3ª"GªˆõfE××̨H±]×\]ßÒõã8’Ä1c×ã¬åso~޳{øû?ûs¬V×|éKŸ'Îä0'Ç8UUÊØ´ëžÅ∳‡÷P±%&Eˆ”¯}íëȲªÀxKœFÛѵ ³²"–)U± kG½÷˜IuÀÓ§Á6(ë¸|zÐ'U‘ ňv=C’ŤE|ßm@é&QÆhF’·7×¼ÿäšm3`¬ß',€'žŸús_xåŸM]ñ±Ïù$oôY'I«cþÒ×þe.ø·7+?;˜°ÙmÙlZ.?X’'’û¯.(g )bn¯V× “4#ÍR.ž= ¶rB”*ÌØ1;œ!l×uðWŠg——8«»é%‰ŠÑF£â†;¿·€D`ýÈtžâ½æxqBUMÙnjnž­Hâ˜ùÁEÔ›|ÄrsËé½S⬠jÖÛk”²x§ÉUÌËǯr~òoð˜ëÕ ¯¿þï®ñ.FàÁiƒ‡‰u8/@Äáý¼ ¯;+]3™fÎY/·´mGÅ{ìd Æì ¤ÕĤðhïÑÆaúXüÕÿªå·ÿº¶uÅÇ>ïÓ¼ég$Oê)ÿÙÏüÙìeÒ¤ò‹ãsÞzë›´õ’òPæU6!Žî14‚åõ%Ží5ëeóܱVIÃl^24–nk8>9!ŸNxôÞ»3`ŒG†¶ë°¶çso~Žó³\\¼OVe¨Ê"éxéüÒ¤àz¹¤n{ŒÖ˜¡CªgƒûPupxx>¸žgWO‘"©¨¢œ{Ó3†fäíÞGæ“YJr{µáêýwpÝéGÒ4b £µ{Ëá0ïÈŠ (Ý5AA%’*(k QReŠÞÌ(P"&’)»›–~£±V²^îX¯²,!hû± ñØýˆD…dÐÎ⥠˜&Lç9^{Ì XÝXÆQ"œÅëñ"ÉIH„ŠBmãì¾p "¢˜H b%1ãOEA¸N†×š1øž‡«ÀO÷~Rü‘Ÿùòïk¿+ÈÇÇÅ'MŠ»øT¿^ü†Ï6AîW[þÊoû»üý‹s~¦ûE9™0?(½š$ ­GéSªÏÚ5Ãt“ç÷ï½B×YF¿F›%I쨽dì"””¬onÙ®V, æ÷ŽèÇKM–ÃýÓSN¸^^'Áôsè{v]‡ž|¨ï*MÓâ­'ImRÜŧÎÍϺ«ðkÎ/øUþËü§?Æ7ýÅÑâ/µßn-·›†nó>Í`h›U™ñÊëoP&÷Ynw,kÁz·chkªÉ‚H%¬V[¶»Ö[Ò,å`>Ã8I:ñL¦9®“xc¹ÿàœMó”(vĪD˜8\,åIRR€T)óé"ˆÄ Ij™ÊtB³­™V‡ ÀîW·+Úº%/3Ž ªiÅjµaW7Lf1Gg§l£˜g­&Š¡œäŒºÇØ e­cÐï%ÞFèQã„ 0zïèwÍn$JRºqdH!Š,ËeËnÓ#œ +SÊ<"Š=Õt¦nzƒÑq"˜‰"™Í'¤EAÓYš­¡Lcd,)fž¡ñ˜ÎG)í=ƒ4ÎÉÉù Ö¶/ã)é®ù{ÇÑr£%9É’`|)‚’¤PJä‰åoÿ·k~äsŸŠÿÉâ»MŠ»ø®7®Ï:I”pü–óÿ“=úùkO‚|=Ck}³mYÞv#!>'Ò%ÿø+_a×ÕÉízd½êxùeÅâ¨dµ¹e2Ÿ’Qss}ƒskŽ” Šn½cr¦ñf œn¯qcÄÀÈv¬ÕD‘d>ψȹÿœÕzC;”Ù‚Qi.o×ÙŒÙäëî’¦Ûq{»£ï¼ÒÜ«&TSE?Dx„rœ?<ã•—^Â㩪”£ã3.>xÌòê‚®ÓXí1Na½£ÈKdl©ë%º×$tãé6ëºÀÀd@ÛŽ¶68l ÆÞÒ5󃜃ù„8ùàñ £ÖˆXËð¹äiÅá|F’*ÎË›5JB{&¥f³Y_w(ë‰ãï,zhˆó—Š®i÷d%w.ÄÀ±?zÞzŒu4mÏ ƒ¯¸GŠ(RüÅ?²æwý¦îSAÉ?I|¯‰ŸÁ„ü³N’IÒó{_þË<:<æÏ¶¿Y¬×ží®öC«9?=ÁŒŠŸû¹Êõím4GfJÏ1näý'O8åüÁ+,Îl6×8= ¦1ÖXNf´º%ŽºMK»Ân±ÿRÁ¦+˜Ïx»·K–Üqw¤ŒPqØ6ëÛšû¯=ÀxM9‰™L¦´f³YbgÔ–z·ÄE[vuËã Íè’$"É ° NkŽŽ™Í¸º¹ nnÀ*©·†×^zÀÍú¶«5kµ$U9¨LÇâtÂþÀÛ#~ê§~šÕö–óWÏyðæ9µ£œ$ ÝšÕã%ëaÍb:gFV»W·AT`ß,º„ë>ÐUG]SNJÞ|ãe¤ âÚ Å´œrÿ쀼̉©x÷Ýgl·kÊ"e:™R¸×[ôá„­ˆè‡>Ì2lÀ5)ã±^?××rÎâ‚pJ(”Pahm¨)€?ü†á'ÿÔgÿ|¡>*>Ó~Àg½‹¿åͧü†?öŒ?ý·Ïù›¿Pˆh’òàäÌÿà>Ç£'Oøêò‚go]"Œ½äñrKçœ-ŽxprÆ0jšÍŽÍfÇ×Þz‹7?ÿ¯}ßë$ENó‹=à8==âò憱!t}ÃñÉ}޲,//ZMÃç,7·ÇÜ?;ᇯã¼â+ÿôg)ò)g‡î¾Ézu*À»¥èAÓÕ†£ÉëMÏrµD ”g>[°8<¦Ý ^ýW8˜fÄ™„¦ãè´¢Þ ¼óÕ+"¬T”‹Cf/?¤ýůӋ5¦u˜Ö=ß=¼m,Ú;ÖÛ §ºä œ )0½¡kn®o(ÚKÏz»¢×™Ðñ<™rWˆã„vsA¬â€°c¶h=îwñÜåi6Ÿa´¡ï7Ü8‡Š"’¼8ÍßüSOùµ?d>öšê5òÏ )îâ3n–…ø¬“$<â·>áÿÆ5ùŸ`ÙÝÞ}×?yvÖ†'×DiFßxvµ'EôuÃá„`´ÓÔÃEއÇÏXn;ÎÎN™% }×°«WtmM¬Rò4æpv€Ó ÝÖpuù”Ñn±v@Ê gç:ËãGïòôò’Ë›Çì6Óª"Q)Óò€W^}§×W¼ÿè¯Ìyxö ¾ùM&É®ïHI²œ›ëšwßúX¯8:Ÿ³˜£MKÛm¹xv1=E‘pïá ¾Ïˆ\àT‹/}á%Šƒ‚›ÇK̳œôàIDATVOkìÌBÝgå"ÏÀÀ®Ýpx4ãüü%6Ë-C?Å)eYñèÉ5† ¬,…B…î[Îï¡dÃ[_›ë%N„´sv?ï9Q“d)E‘1ŸOöâУGËŸú½WüíÙ¯léy—ŸoÍc͵«víá̧§´wÚ&è[iË ‚ ÂAÀE,$Q$ÂEŒDà!C ¹°RÈÁ‰ã`›´ÓîÙçøô÷®=×®¹Örí¤ÉßúÕËäl_¹RFáÇ)ãé‚<Ù^oÑít¨7¸M‹R™Q”!µJ M­2ŸeìÜÙÁPÓe4¾aÐ^o“Ä!{;÷0Ung‹ë×î’ç d•Áé1–¾¤iØzYÈ©DQ%ò4§â60TƒÄ Ë2˜xÁzg ß‹¹ýÆ-zçÏç †¶c K šY¡ZoÐl9 G· ã!¦QatšÆšR’ÍJ6ׯ'wîí WLܺËî^yþ5‚E„¡YÄ^†?óÑ« Ï>÷! ”<¦¢¹8Z,ZfÇ*ŠF”: ÆÇªŒšƒ£è4ëmæ³IZ2š…fìõAŒ¦«ËY]Ža,—Co&à ÛÛëÔ«&ЦŠg®ð÷ÿÒì?&åã;å~KqÆ}yrüQV}y¢3â oÄ~©Ëí_š¢"Ëz9ŽÈÒÛÔ©W*hªÌp°O)U0« « a‘ç ÍÖ¡×åú«¯²yî®SAI™ã¸M$JNN‡ÈªÊÞþ1“ÉEUIƒó¶@”,æª,Sä ­FM6È¢Œ( ²„çÇL}ÍÜÝës¸wˆ"éìììâTÊÂ@ä2º&Qq5s™C<úHŠ‚\HLN=¢8¥½ÖÀ FìÜ»‡¡W°m“f«]m0´7{è†D§Û`tFEÆmk¨šóÍ/è& ê2ªj¢¨:•º‹ÏXYš‘ ².’€ÊZ“È‹ñ›Ý:†¦°ð,ÛÀq]’¤`áE$QŒ$$ò8e>óEEòëÿpÌö·™òñíò ¤ø?×{°—[ýS$ÎUþýë?À/>áx0,UY¡Uqq-ËÑI 1•îzש!‹Ã\Ö™ÎÇ2¯½v §ZÁr$6·j¤$qŽT*Ì'ÕÊ/¾|ƒ[7ï`è:­ºËãO\ ŽöÐU UX†‰$TLסV«²½uŽ$Íyý¯1Y ÃתÅ9óù‚Í^ísëøóóéœÍíu.=r/ð¹}ç.¾·@UUò¼@ÒJ4S㨊£UØèmg ’²LõË‹d9M5ÈÒE±ÉKƒéì„VÇÄÔl¶×Ÿ@Ê5÷úÄãyºœ†—Ëîº4˱ —ºS¡Ìb²ö¡ø½oß)Z x ä8cå¥(s“¿ó[OÓ?U¨:N©i:ƒÓc G§×ë"É óÅmY…á>D X®K)l§øfZ£À›GHRI§Ófçî€ÙéId¥¤Ói’ý½C&ãuÇ¥Q«£Ærßmä¹àèdÄd>!!IsþÜ6’¢-Ë^Pq, >%Oê-‹æz·ÚÄóNO‘Å2 Á¬åÈzÉÑÞ‚25q] U•‘% IHJB‘ädaJ£ÞdmmÕ¨pí¯b˜ËˆÝê9f£ÃC¢Éœ8Š‘ÔÅ*)EŠ¢jÔkkˆˆS4YÅÐl Ã" BF§ DQts™V¿X„œžLÅÑñˆOýÈ)ý‡‡ošøÝòVHqÆÙVý¿Xy)J%ä7>ñ%®M.ð›ÃŸaXðüó^é‡!A1û –Óc…&¡™£éÍ«X¶ƒlt]"!R’pêïc;kkM¤\cjL)‹Y—HóQH¦bÄä²B”/3mýù‚þ>ÃÑœ0ΨÖZk¢4 Þ2°Y¸¨RÈ Š\ #!å®Y!ϦÆÑÁ)e™Ó1l\S[ö”*y‘#Ò”å+Í Ò$Á6šõ”‚8X~-—Ñ) …»wï2ÉÃSÓ©V«deL.$,ÛÆmÖ •ðOÆäq]1i4¤•e?ŒeëX¶NœDÌf>i‹ïÙ<à3?·KÅ~ðU³÷›·L¸?¥(OÔïñXíÓüƒ÷Óß|\Ù`2/'_ˆUÑHÈòY¤‰ÏñlF£Þ ]?‡?9aptHâGôZ\è^Å^'IOQTÍ4NQ$E’ÙÚê'Eªe 2ÅbfY$eHIÂF¯Šf·Yï™$IŒ”å´k fZÈa—," FA1ÎØß?B×tÚëÂ…ÊàxÊx|Šii¸¦J£VÅ0$J TÅ!/uŽNÆÔª Qì1ŽÑ¤½n‡©PHS£^ÇÒL$ÂØÃófDaF™'èªG£Ò@W5¤² c¼ñ˜¬(q]Û1eFÆÂTüƒ¿ú"[­`u7·‡g¼¥rœ±òV]QòñÍWøðú >{øçøo/I"“Òv,dÅ$ J’4ÃÐ’osO²”…?g8Óßß'õCz5úwŽèïìD!ç·.‘d1“éK/)òMÓñˆ"[Ö´ÚkXvÉdÎÉàE ©6 TMCQ5¦SÁþ+%I Ë‚0É(~pB˜fx‹I’±,›z¥ËÞñ€ýÃ9³ùËÒ1zkTÝ*š"’ˆ4ØV»âÒYï1™Ï÷ ÆÃ)"Í)å Íi·ÚˆBà‡²a‘Í|†ƒ9¶ã"I üáGsY,L'StC[dä¹ðýŸx枺p´š›õ-¼Ä€·‰g¬¼UWŽøk[Ÿå¹F•òÒGE,Ë”9eÅ©3_HŒ‚ªí5¹r·Vc2ŸRmT¸|õ"w߸ǽ½=†³ aìSk¸ÔZ‹(Ĩ)Œ3ÊRFÒ ªêPqlæ‡}£!‚”<ÝddŸ, ›†³N¨!Ež³qi§”‰qª&I¢cuÛæú+_çhÿÉÖ¨ÖëÌÕŒÙ|ˆ^rH™—¸•¢(ÎÔ§¡ *šfQµ×I oác;–¥²±ÕD3tz½u:­Y’áûö&ÜÛ°»?%"$Y I,° !dòX"1½GÏÑÚè2{,Æcjn–Q““9ò÷ùSöß–¥äŠ·½g¬ZG ù›k¿Í˜[üÚðoˆ‚€‹W¶ÊÇ®<Íp8¥ßßçtàáÏ"ªv»Qa11™„keP€P%ÎmmóÌÿ$£Åû'×(ò€v½Gè'ìíîpëÆu¼…Og½CৈRåäô”º0–%èŠB³ÒÔRŽv_ÃÐ3’8e|"xìê4ÕÀTe\»MšLK°ÖµpÇ”H¢ £Ó¾#+2ž·4ª(2Qà3̪®‹éºÈšEžƒ&JD4‘šá"åp瀅5ü€ÇŸùðWPåÕön?LRœñÐÈqƪÏ# îòÓ[?Ïïd=¾Æ_5'gçîi©›õFoðô“üáW_/ïÞº‰!¬5•:Eš1M04™õŽ rÈÔ?"gB’M‘ ‹N­‹®Vð£Œ,ÏMæóS\ªoЬµ!W)²œ0ˆ¸qó:GGC拈85È‹’Z½ŽáÖ‘”’ý“cÒ %ôCLK Ù‡û"Ïa1Ë™LCòlŽ,•4UjInR¤šç.¬ÓnwÙß;f6#Ë9¦¦ƒ" <þö~›ËÕƒÕ,æ·®ëC,<¤rœ±jIT©à/t_à#¯ó™Á'Ùéh¢¶¦•‡£cþ×|ÓrH„B)•ÄIÈAÿõ¦ÆÚzálÈÉî ZVå‰í yOåõ_Ç3‚¼ ô4ÇáøhD½ÖBÕmÅ brQ ¶å°ÞírõÊeTMç÷þç>{{{¸–A­S!+=d9å¹-Ó„ùxFX䨆‚jêè–Êš]'=šu×Ræcâ0 Ìs„”‹²,ùÄS·ùøÕÝ•¥’Ÿñ°KqÆC-Ç«ÞjÕµOmþ;>l×ù™ù%q÷&a•BWpmÅTæ n¼q‡j³ŽQ©29M˜ŽJâÅÅìsD‰DxH%¬5+ÄaB«Þ¦ß?Â6mº E$èèjÍ.¥ƒÓ1Óù‚Áñ>$‚Y”¡ª†¡#KCÈRDL)RŸe©“$ÎÄ3WŽøÙí`iï¼’UòŽîÏ«ßÇë>÷ã_ã¿Ü:ǯ¼ò¸8ìïâ8Vi;âDäÛÛ¨UZô‹}d¹J ìî!„†$TtEÂv ¼ª…ï‡ÄIH§³AÆDQ€e™ô6Ú´»ÝeoEy‹ÝÅmÆ£)߸öuškëTÝ:þ<$Š|¯¤(%Š\e¯ßÇhjIgEF¥â`FŠÝ`÷ÆAŠ[kˆ«[.?ûÌçèUüÕ-ï<)ÎxÇÈqÆêKQàG¯îò×øÅß}‚ß¿[ˆK—/–ŽÓ@9Õš‹¦€,K膵ìŸtÎomx¯¼úW.^Àm´¸{ë6y–1ШVyìÑÇè´ÛH’BµÞF)u¼Ù”(˜²·?Á2ÛèŠCžÊlm<ÂæÖ¯^{¼ÔHʈ(ORI£V¡·Õ[Á)2Š,ǵ+\¼zY†ÁO?ý%¯Ý^Í¢| ïT1à(Ç+oÕ•>ýÜËìÏmþÓð)1ÙÜÄ_Ì˼()‹œóÛ牢Œ(è£É*F›,I8>:!Í ²$ ×µÉ“y¾L,/‹£½; vwÑ4“no›ÃÝ=d4Ê\ctàuSÍ6½nÁ¹ó¸¦¥¹t/´‰â€×®áiP«49é"B•ˆãˆjÝ 2?öÈ.éü²xw”|¬’·¬ŸãAr?RãoÇð«÷þ"F—ùè¨O&L<Ÿ›wî‘çÃЙÌfŸL0 §ŸºLµ©qr£J&’H ,èß;bïÞ!†éP«×ÉŠ’R”È Ø¦‚ëlmœ£Ýé1›Mñý)E‘ ©i¾ ŒŠL¢Zi²¹užÑt†¢âcï—ù°ü+8ÚÃÝ÷VòŽ}r|+÷ãô#¿ø»Wy}ÚªQ–ó  W£Ûix!²¬R”Ðl8Tœu4Õ`ï€4YFkêºB%$yB’KH¡Èhº¢ÉJòlY5Ÿ!0Œ ¥Ȳ* Ãä¯\þ<ß×¾ý®.ùX%ïŠmÕ›±êíÖÎÌåç¿ü4‡ƒ’8 ”4mªõÛ.i~€”Ù´«p|<á…_b¯Àb>Ç´tÌŠEVÌ ºªÓiU¨V5zëkP¨Ì&Óe0³¤Y„nÈ””âÏ?Þç'¿÷껤”üAñ®–V/HYÂó'ø¥ç¿ŸÙpL§Û-5S§ÕUIÒcL¥…!ÖøÚ‹¯°wtˆ·ˆŸŽ±]‹õÍi^â‡%šª£+%²”°ÖiQ¤‚““šª°Þ[©ëfŸ_øÈË4í‡'(íaâ]/Ç«–$-$þÕ—Ïó¥Ã÷QiTЬ¤L“€µËŒO}nÞºÅl1Ç_$ìí¡è*ÕF „ÌúúE–G LKa}½ËÁÞ1wvv ,ÄZ«Âgê€'ºó•þæ÷¤ø¿yOŽ?ª%™„:¿|ã‡xõ¸@•´R•Næ“ãшÅ,`6 ÐLYÓð£„V³…9Ò7C›5Yáät KåýØ Ÿüó÷΀÷äxV-É®ßå_ßüQÂPfx2.#/âk_}™Ùd†$dLÇ%—$â¬@Ȱ֪³ÖlÒß9d<‰ŸøHÈ?ýä sŃèß“âÍyOŽÿ÷ã<òÅþeþí—Ÿ¤û€›×ï•Þ,¤(K4[Y¦T$TCâê•óœß>/¼á5þÍO\g»ùÞ¹âAóžß+OiÌdþåŸäŸýÇ Ó¹WJºŠªÈ”YF^(¶*d¿ñ3>úäj¥€÷Äøvùßeæ7}“L6IEND®B`‚pioneers-15.5/client/gtk/data/ore.png0000644000175000017500000000035510434245071014463 00000000000000‰PNG  IHDRóÿabKGDÿÔATò pHYs  šœtIMEÖ /1žNKzIDAT8Ë­“KÀ DâÁçævAL¨•IÙƒó„AEê˜YRkñL!Ú C´¯ˆ zèwÞX2|†¤» Ç ^bðsøz ÈÈŶ’X&ö&ⶇw»#êÖL»<À ž‰›[ô z1'PýFÈ_ñó6dun7IEND®B`‚pioneers-15.5/client/gtk/resource-view.gob0000644000175000017500000001443413252223516015553 00000000000000requires 2.0.0 %alltop{ /* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 2006 Giancarlo Capella * Copyright (C) 2011 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ %} %headertop{ #include #include "config.h" #include "callback.h" #include "client.h" %} %privateheader{ #include "map.h" #include "frontend.h" %} class Resource:View from Gtk:Misc { private gint resource[NO_RESOURCE]; private gdouble distance; private gint max_width; classwide cairo_surface_t *surface[NO_RESOURCE]; class_init(klass) { gint i; static const gchar *resources_pixmaps[] = { "brick.png", "grain.png", "ore.png", "wool.png", "lumber.png" }; for (i = 0; i < NO_RESOURCE; i++) { gchar *filename; /* determine full path to pixmap file */ filename = g_build_filename(DATADIR, "pixmaps", "pioneers", resources_pixmaps[i], NULL); if (g_file_test(filename, G_FILE_TEST_EXISTS)) { klass->surface[i] = cairo_image_surface_create_from_png (filename); } g_free(filename); } } public GtkWidget *new(void) { return (GtkWidget *) GET_NEW; } public GtkWidget *new_single_resource(Resource resource) { ResourceView *rv; gint width; gint height; rv = GET_NEW; rv->_priv->resource[resource] = 1; resource_view_calculate_size(rv, &width, &height); gtk_widget_set_size_request(GTK_WIDGET(rv), width, height); gtk_widget_set_tooltip_text(GTK_WIDGET(rv), resource_name(resource, TRUE)); return GTK_WIDGET(rv); } init(self) { gint width; gint height; self->_priv->distance = 16; self->_priv->max_width = -1; resource_view_calculate_size(self, &width, &height); gtk_widget_set_size_request(GTK_WIDGET(self), width, height); g_signal_connect(G_OBJECT(self), "draw", G_CALLBACK(resource_view_draw), NULL); g_signal_connect(G_OBJECT(self), "size_allocate", G_CALLBACK(resource_view_allocate), NULL); } private void calculate_size(self, gint * width, gint * height) { gint i; gint num_res; gint tot_res; gint xpad; gint ypad; gint size; num_res = tot_res = 0; for (i = 0; i < NO_RESOURCE; i++) { if (self->_priv->resource[i]) { num_res++; tot_res += self->_priv->resource[i]; } } if (tot_res == 0) { tot_res = 1; /* Avoid division by zero */ } size = 16; /* gui_get_resource_pixmap_res(); */ if (self->_priv->max_width <= 0 || tot_res == num_res || self->_priv->max_width >= size * tot_res) { self->_priv->distance = size; } else { self->_priv->distance = (gdouble) (self->_priv->max_width - num_res * size) / (tot_res - num_res); } /* Set the optimal size as a request */ gtk_misc_get_padding(GTK_MISC(self), &xpad, &ypad); if (width != NULL) { *width = size * tot_res + xpad * 2; } if (height != NULL) { *height = size + ypad * 2; } } public void set(self, const gint * resource) { gint i; gchar *tooltip; gint width; gint height; for (i = 0; i < NO_RESOURCE; i++) { self->_priv->resource[i] = resource[i]; } resource_view_calculate_size(self, &width, &height); gtk_widget_set_size_request(GTK_WIDGET(self), width, height); tooltip = resource_format_num(resource); gtk_widget_set_tooltip_text(GTK_WIDGET(self), tooltip); g_free(tooltip); } public void set_amount_of_single_resource(self, Resource type, gint amount) { gchar *tooltip; memset(self->_priv->resource, 0, sizeof(self->_priv->resource)); self->_priv->resource[type] = MAX(0, amount); resource_view_calculate_size(self, NULL, NULL); gtk_widget_queue_draw(GTK_WIDGET(self)); tooltip = g_strdup_printf("%s: %d", resource_name(type, TRUE), amount); gtk_widget_set_tooltip_text(GTK_WIDGET(self), tooltip); g_free(tooltip); } private gboolean allocate(GtkWidget * self, GtkAllocation * allocation, gpointer user_data) { /* Remove compiler warning */ user_data = user_data; RESOURCE_VIEW(self)->_priv->max_width = allocation->width; resource_view_calculate_size(RESOURCE_VIEW(self), NULL, NULL); return FALSE; } private gboolean draw(GtkWidget * self, cairo_t * cr, gpointer user_data) { gint i; GtkRequisition r; GtkRequisition r2; GtkAllocation allocation; gfloat xalign; gfloat yalign; gdouble xoffset; gdouble yoffset; /* Remove compiler warnings */ user_data = user_data; gtk_widget_get_preferred_size(GTK_WIDGET(self), &r, &r2); gtk_widget_get_allocation(GTK_WIDGET(self), &allocation); gtk_misc_get_alignment(GTK_MISC(self), &xalign, &yalign); yoffset = (gfloat) (allocation.height - r.height) * yalign; if (allocation.width != -1) { r.width = allocation.width; } if (allocation.height != -1) { r.height = allocation.height; } xoffset = 0; for (i = 0; i < NO_RESOURCE; i++) { gint n; for (n = 0; n < RESOURCE_VIEW(self)->_priv->resource[i]; n++) { cairo_set_source_surface(cr, SELF_GET_CLASS (self)->surface [i], xoffset, yoffset); cairo_rectangle(cr, 0, 0, r.width, r.height); cairo_fill(cr); xoffset += RESOURCE_VIEW(self)->_priv->distance; } }; return TRUE; } private gboolean expose(GtkWidget * self, GdkEvent * event, gpointer user_data) { cairo_t *cr; if (!gtk_widget_get_mapped(self)) { return FALSE; } /* Remove compiler warnings */ event = event; cr = gdk_cairo_create(gtk_widget_get_window (GTK_WIDGET(self))); self_draw(self, cr, user_data); cairo_destroy(cr); return TRUE; } } pioneers-15.5/client/gtk/gameover.c0000644000175000017500000000426413252223516014234 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include "frontend.h" GtkWidget *gameover_create_dlg(gint player_num, gint num_points) { GtkWidget *dlg; GtkWidget *dlg_vbox; GtkWidget *vbox; GtkWidget *lbl; char buff[512]; dlg = gtk_dialog_new_with_buttons( /* Dialog caption */ _("Game Over"), GTK_WINDOW(app_window), GTK_DIALOG_DESTROY_WITH_PARENT, /* Button text */ _("_OK"), GTK_RESPONSE_OK, NULL); gtk_widget_realize(dlg); gdk_window_set_functions(gtk_widget_get_window(dlg), GDK_FUNC_MOVE | GDK_FUNC_CLOSE); dlg_vbox = gtk_dialog_get_content_area(GTK_DIALOG(dlg)); gtk_widget_show(dlg_vbox); vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 50); gtk_widget_show(vbox); gtk_box_pack_start(GTK_BOX(dlg_vbox), vbox, FALSE, TRUE, 0); gtk_container_set_border_width(GTK_CONTAINER(vbox), 20); sprintf(buff, _("%s has won the game with %d victory points!"), player_name(player_num, TRUE), num_points); lbl = gtk_label_new(buff); gtk_widget_show(lbl); gtk_box_pack_start(GTK_BOX(vbox), lbl, FALSE, TRUE, 0); sprintf(buff, _("All praise %s, Lord of the known world!"), player_name(player_num, TRUE)); lbl = gtk_label_new(buff); gtk_widget_show(lbl); gtk_box_pack_start(GTK_BOX(vbox), lbl, FALSE, TRUE, 0); gtk_widget_show(dlg); g_signal_connect(dlg, "response", G_CALLBACK(gtk_widget_destroy), NULL); return dlg; } pioneers-15.5/client/gtk/quote-view.c0000644000175000017500000005174313252223516014540 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 2004-2006 Roland Clobus * Copyright (C) 2006 Bas Wijnen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include "quote-view.h" #include "map.h" /* For NO_RESOURCE */ #include "game.h" #include "quoteinfo.h" #include #include #include #include "colors.h" #include "frontend.h" #include "theme.h" #include "common_gtk.h" enum { TRADE_COLUMN_PLAYER, /**< Player icon */ TRADE_COLUMN_POSSIBLE, /**< Good/bad trade icon */ TRADE_COLUMN_DESCRIPTION, /**< Trade description */ TRADE_COLUMN_QUOTE, /**< Internal data: contains the quotes. Not for display */ TRADE_COLUMN_REJECT, /**< Internal data: contains the rejected players. Not for display */ TRADE_COLUMN_PLAYER_NUM, /**< The player number, or -1 for maritime trade */ TRADE_COLUMN_LAST }; /** The quote is found here */ static GtkTreeIter quote_found_iter; /** Has the quote been found ? */ static gboolean quote_found_flag; /** Icon for rejected trade */ static GdkPixbuf *cross_pixbuf; /** Icon for the maritime trade */ static GdkPixbuf *maritime_pixbuf; /* The signals */ enum { SELECTION_CHANGED, SELECTION_ACTIVATED, LAST_SIGNAL }; static void quote_view_class_init(QuoteViewClass * klass); static void quote_view_init(QuoteView * qv); static gint quote_click_cb(GtkWidget * widget, GdkEventButton * event, gpointer user_data); static void quote_select_cb(GtkTreeSelection * selection, gpointer user_data); static void load_pixmaps(QuoteView * qv); static void set_selected_quote(QuoteView * qv, const QuoteInfo * quote); static gboolean trade_locate_quote(GtkTreeModel * model, G_GNUC_UNUSED GtkTreePath * path, GtkTreeIter * iter, gpointer user_data); /* All signals */ static guint quote_view_signals[LAST_SIGNAL] = { 0, 0 }; /* Register the class */ GType quote_view_get_type(void) { static GType rt_type = 0; if (!rt_type) { static const GTypeInfo rt_info = { sizeof(QuoteViewClass), NULL, /* base_init */ NULL, /* base_finalize */ (GClassInitFunc) quote_view_class_init, NULL, /* class_finalize */ NULL, /* class_data */ sizeof(QuoteView), 0, (GInstanceInitFunc) quote_view_init, NULL }; rt_type = g_type_register_static(GTK_TYPE_SCROLLED_WINDOW, "QuoteView", &rt_info, 0); } return rt_type; } /* Register the signals. * QuoteView will emit these signals: * 'selection-changed' when the selection changes. * 'selection-activated' when the selection is double-clicked */ static void quote_view_class_init(QuoteViewClass * klass) { quote_view_signals[SELECTION_CHANGED] = g_signal_new("selection-changed", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION, G_STRUCT_OFFSET (QuoteViewClass, selection_changed), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); quote_view_signals[SELECTION_ACTIVATED] = g_signal_new("selection-activated", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION, G_STRUCT_OFFSET (QuoteViewClass, selection_activated), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); } /* Initialise the composite widget */ static void quote_view_init(QuoteView * qv) { GtkTreeViewColumn *column; gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW (qv), GTK_SHADOW_IN); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(qv), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_hadjustment(GTK_SCROLLED_WINDOW(qv), NULL); gtk_scrolled_window_set_vadjustment(GTK_SCROLLED_WINDOW(qv), NULL); /* Create model */ qv->store = gtk_list_store_new(TRADE_COLUMN_LAST, GDK_TYPE_PIXBUF, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_POINTER, G_TYPE_POINTER, G_TYPE_INT); /* Create graphical representation of the model */ qv->quotes = gtk_tree_view_new_with_model(GTK_TREE_MODEL(qv->store)); gtk_container_add(GTK_CONTAINER(qv), qv->quotes); /* Register double-click */ g_signal_connect(G_OBJECT(qv->quotes), "button_press_event", G_CALLBACK(quote_click_cb), qv); g_signal_connect(G_OBJECT (gtk_tree_view_get_selection (GTK_TREE_VIEW(qv->quotes))), "changed", G_CALLBACK(quote_select_cb), qv); /* Now create columns */ /* Table header: Player who trades */ column = gtk_tree_view_column_new_with_attributes(_("Player"), gtk_cell_renderer_pixbuf_new (), "pixbuf", TRADE_COLUMN_PLAYER, NULL); gtk_tree_view_append_column(GTK_TREE_VIEW(qv->quotes), column); column = gtk_tree_view_column_new_with_attributes("", gtk_cell_renderer_pixbuf_new (), "pixbuf", TRADE_COLUMN_POSSIBLE, NULL); gtk_tree_view_append_column(GTK_TREE_VIEW(qv->quotes), column); /* Table header: Quote */ column = gtk_tree_view_column_new_with_attributes(_("Quotes"), gtk_cell_renderer_text_new (), "text", TRADE_COLUMN_DESCRIPTION, NULL); gtk_tree_view_append_column(GTK_TREE_VIEW(qv->quotes), column); gtk_widget_show(qv->quotes); load_pixmaps(qv); qv->with_maritime = FALSE; qv->quote_list = NULL; } /* Create a new QuoteView */ GtkWidget *quote_view_new(gboolean with_maritime, CheckQuoteFunc check_quote_func, const gchar * true_pixbuf_id, const gchar * false_pixbuf_id) { QuoteView *qv; GtkIconTheme *theme; qv = g_object_new(quote_view_get_type(), NULL); qv->with_maritime = with_maritime; qv->check_quote_func = check_quote_func; theme = gtk_icon_theme_get_default(); if (true_pixbuf_id) qv->true_pixbuf = gtk_icon_theme_load_icon(theme, true_pixbuf_id, 16, 0, NULL); else qv->true_pixbuf = NULL; if (false_pixbuf_id) qv->false_pixbuf = gtk_icon_theme_load_icon(theme, false_pixbuf_id, 16, 0, NULL); else qv->false_pixbuf = NULL; return GTK_WIDGET(qv); } static gint quote_click_cb(G_GNUC_UNUSED GtkWidget * widget, GdkEventButton * event, gpointer quoteview) { if (event->type == GDK_2BUTTON_PRESS) { g_signal_emit(G_OBJECT(quoteview), quote_view_signals[SELECTION_ACTIVATED], 0); }; return FALSE; } static void quote_select_cb(GtkTreeSelection * selection, gpointer quoteview) { GtkTreeIter iter; GtkTreeModel *model; QuoteInfo *quote; g_assert(selection != NULL); if (gtk_tree_selection_get_selected(selection, &model, &iter)) gtk_tree_model_get(model, &iter, TRADE_COLUMN_QUOTE, "e, -1); else quote = NULL; set_selected_quote(QUOTEVIEW(quoteview), quote); } /** Load/construct the images */ static void load_pixmaps(QuoteView * qv) { static gboolean init = FALSE; int width, height; cairo_surface_t *surface; cairo_t *cr; cairo_rectangle_t extent; if (init) return; gtk_icon_size_lookup(GTK_ICON_SIZE_MENU, &width, &height); extent.width = width; extent.height = height; surface = cairo_recording_surface_create(CAIRO_CONTENT_COLOR_ALPHA, &extent); cr = cairo_create(surface); gdk_cairo_set_source_pixbuf(cr, theme_get_terrain_pixbuf(SEA_TERRAIN), 0.0, 0.0); cairo_pattern_set_extend(cairo_get_source(cr), CAIRO_EXTEND_REPEAT); cairo_rectangle(cr, 0, 0, width, height); cairo_fill(cr); gdk_cairo_set_source_color(cr, &black); cairo_set_line_width(cr, 1.0); cairo_rectangle(cr, 0.5, 0.5, width - 1, height - 1); cairo_stroke(cr); maritime_pixbuf = gdk_pixbuf_get_from_surface(surface, 0, 0, width, height); cairo_destroy(cr); cairo_surface_destroy(surface); cross_pixbuf = gtk_widget_render_icon_pixbuf(qv->quotes, "pioneers-cross", GTK_ICON_SIZE_MENU); init = TRUE; } static void trade_format_maritime(const QuoteInfo * quote, gchar * desc) { /* trade: maritime quote: %1 resources of type %2 for * one resource of type %3 */ sprintf(desc, _("%d:1 %s for %s"), quote->var.m.ratio, resource_name(quote->var.m.supply, FALSE), resource_name(quote->var.m.receive, FALSE)); } /** Add a maritime trade */ static void add_maritime_trade(QuoteView * qv, G_GNUC_UNUSED gint ratio, G_GNUC_UNUSED Resource receive, G_GNUC_UNUSED Resource supply) { QuoteInfo *quote; QuoteInfo *prev; gchar quote_desc[128]; GtkTreeIter iter; for (quote = quotelist_first(qv->quote_list); quote != NULL; quote = quotelist_next(quote)) if (quote->is_domestic) break; else if (quote->var.m.ratio == ratio && quote->var.m.supply == supply && quote->var.m.receive == receive) return; quote = quotelist_add_maritime(qv->quote_list, ratio, supply, receive); trade_format_maritime(quote, quote_desc); prev = quotelist_prev(quote); quote_found_flag = FALSE; if (prev != NULL) gtk_tree_model_foreach(GTK_TREE_MODEL(qv->store), trade_locate_quote, prev); if (quote_found_flag) gtk_list_store_insert_after(qv->store, &iter, "e_found_iter); else gtk_list_store_prepend(qv->store, &iter); gtk_list_store_set(qv->store, &iter, TRADE_COLUMN_PLAYER, maritime_pixbuf, TRADE_COLUMN_POSSIBLE, NULL, TRADE_COLUMN_DESCRIPTION, quote_desc, TRADE_COLUMN_QUOTE, quote, TRADE_COLUMN_PLAYER_NUM, -1, /* Maritime trade */ -1); } /** Locate the QuoteInfo* in user_data. Return TRUE if is found. The iter * is set in quote_found_iter. The flag quote_found_flag is set to TRUE */ static gboolean trade_locate_quote(GtkTreeModel * model, G_GNUC_UNUSED GtkTreePath * path, GtkTreeIter * iter, gpointer user_data) { QuoteInfo *wanted = user_data; QuoteInfo *current; gtk_tree_model_get(model, iter, TRADE_COLUMN_QUOTE, ¤t, -1); if (current == wanted) { quote_found_iter = *iter; quote_found_flag = TRUE; return TRUE; } return FALSE; } /** Remove a quote from the list */ static void remove_quote(QuoteView * qv, QuoteInfo * quote) { if (quote == qv->selected_quote) set_selected_quote(qv, NULL); quote_found_flag = FALSE; gtk_tree_model_foreach(GTK_TREE_MODEL(qv->store), trade_locate_quote, quote); if (quote_found_flag) gtk_list_store_remove(qv->store, "e_found_iter); quotelist_delete(qv->quote_list, quote); } /** Locate the Player* in user_data. Return TRUE if is found. The iter * is set in quote_found_iter. The flag quote_found_flag is set to TRUE */ static gboolean trade_locate_reject(GtkTreeModel * model, G_GNUC_UNUSED GtkTreePath * path, GtkTreeIter * iter, gpointer user_data) { Player *wanted = user_data; Player *current; gtk_tree_model_get(model, iter, TRADE_COLUMN_REJECT, ¤t, -1); if (current == wanted) { quote_found_iter = *iter; quote_found_flag = TRUE; return TRUE; } return FALSE; } /** Player player_num has rejected trade */ void quote_view_reject(QuoteView * qv, gint player_num) { Player *player = player_get(player_num); QuoteInfo *quote; GtkTreeIter iter; enum TFindResult found; GdkPixbuf *pixbuf; if (qv->quote_list == NULL) return; while ((quote = quotelist_find_domestic(qv->quote_list, player_num, -1)) != NULL) { remove_quote(qv, quote); } quote_found_flag = FALSE; gtk_tree_model_foreach(GTK_TREE_MODEL(qv->store), trade_locate_reject, player); if (quote_found_flag) /* Already removed */ return; /* work out where to put the reject row */ for (quote = quotelist_first(qv->quote_list); quote != NULL; quote = quotelist_next(quote)) if (!quote->is_domestic) continue; else if (quote->var.d.player_num >= player_num) break; found = find_integer_in_tree(GTK_TREE_MODEL(qv->store), &iter, TRADE_COLUMN_PLAYER_NUM, player_num); if (found != FIND_NO_MATCH) gtk_list_store_insert_before(qv->store, &iter, &iter); else gtk_list_store_append(qv->store, &iter); pixbuf = player_create_icon(player_num, TRUE); gtk_list_store_set(qv->store, &iter, TRADE_COLUMN_PLAYER, pixbuf, TRADE_COLUMN_POSSIBLE, cross_pixbuf, /* Trade: a player has rejected trade */ TRADE_COLUMN_DESCRIPTION, _("Rejected trade"), TRADE_COLUMN_QUOTE, NULL, TRADE_COLUMN_REJECT, player, TRADE_COLUMN_PLAYER_NUM, player_num, -1); g_object_unref(pixbuf); } /** How many of this resource do we need for a maritime trade? If the trade is * not possible, return 0. */ static gint maritime_amount(QuoteView * qv, gint resource) { if (qv->maritime_info.specific_resource[resource]) { if (resource_asset(resource) >= 2) return 2; } else if (qv->maritime_info.any_resource) { if (resource_asset(resource) >= 3) return 3; } else if (resource_asset(resource) >= 4) return 4; return 0; } /** Check if all existing maritime trades are valid. * Add and remove maritime trades as needed */ static void check_maritime_trades(QuoteView * qv) { QuoteInfo *quote; gint idx; gboolean check_supply = FALSE; gint maritime_supply[NO_RESOURCE]; if (!qv->with_maritime) return; /* Check supply whenever any supply box is selected. */ for (idx = 0; idx < NO_RESOURCE; ++idx) { if (qv->maritime_filter_supply[idx]) check_supply = TRUE; } /* Check how many of which resources can be used for maritime supply. */ for (idx = 0; idx < NO_RESOURCE; ++idx) { if (check_supply && !qv->maritime_filter_supply[idx]) maritime_supply[idx] = 0; else maritime_supply[idx] = maritime_amount(qv, idx); } /* Remove invalid quotes. */ quote = quotelist_first(qv->quote_list); while (quote != NULL) { QuoteInfo *curr = quote; quote = quotelist_next(quote); if (curr->is_domestic) break; /* Is the current quote valid? */ if (qv->maritime_filter_receive[curr->var.m.receive] == 0 || maritime_supply[curr->var.m.supply] == 0) remove_quote(qv, curr); } /* Add all of the maritime trades that can be performed */ for (idx = 0; idx < NO_RESOURCE; idx++) { gint supply_idx; if (!qv->maritime_filter_receive[idx]) continue; for (supply_idx = 0; supply_idx < NO_RESOURCE; supply_idx++) { if (supply_idx == idx) continue; if (!maritime_supply[supply_idx]) continue; if (resource_asset(supply_idx) >= maritime_supply[supply_idx]) add_maritime_trade(qv, maritime_supply [supply_idx], idx, supply_idx); } } } /** Check if the quote still is valid. Update the icon. */ static gboolean check_valid_trade(GtkTreeModel * model, G_GNUC_UNUSED GtkTreePath * path, GtkTreeIter * iter, gpointer user_data) { QuoteView *quoteview = QUOTEVIEW(user_data); QuoteInfo *quote; gtk_tree_model_get(model, iter, TRADE_COLUMN_QUOTE, "e, -1); if (quote != NULL) if (quote->is_domestic) { gtk_list_store_set(quoteview->store, iter, TRADE_COLUMN_POSSIBLE, quoteview->check_quote_func (quote) ? quoteview->true_pixbuf : quoteview->false_pixbuf, -1); } return FALSE; } /** Add a quote from a player */ void quote_view_add_quote(QuoteView * qv, gint player_num, gint quote_num, const gint * supply, const gint * receive) { GtkTreeIter iter; enum TFindResult found; QuoteInfo *quote; gchar quote_desc[128]; GdkPixbuf *pixbuf; if (qv->quote_list == NULL) quotelist_new(&qv->quote_list); /* If the trade is already listed, don't duplicate */ if (quotelist_find_domestic(qv->quote_list, player_num, quote_num) != NULL) return; quote = quotelist_add_domestic(qv->quote_list, player_num, quote_num, supply, receive); trade_format_quote(quote, quote_desc); found = find_integer_in_tree(GTK_TREE_MODEL(qv->store), &iter, TRADE_COLUMN_PLAYER_NUM, player_num + 1); if (found != FIND_NO_MATCH) gtk_list_store_insert_before(qv->store, &iter, &iter); else gtk_list_store_append(qv->store, &iter); pixbuf = player_create_icon(player_num, TRUE); gtk_list_store_set(qv->store, &iter, TRADE_COLUMN_PLAYER, pixbuf, TRADE_COLUMN_POSSIBLE, qv->check_quote_func(quote) ? qv-> true_pixbuf : qv->false_pixbuf, TRADE_COLUMN_DESCRIPTION, quote_desc, TRADE_COLUMN_QUOTE, quote, TRADE_COLUMN_PLAYER_NUM, player_num, -1); g_object_unref(pixbuf); } void quote_view_remove_quote(QuoteView * qv, gint partner_num, gint quote_num) { QuoteInfo *quote; if (qv->quote_list == NULL) return; g_assert(qv->quote_list != NULL); quote = quotelist_find_domestic(qv->quote_list, partner_num, quote_num); if (quote == NULL) return; g_assert(quote != NULL); remove_quote(qv, quote); } void quote_view_begin(QuoteView * qv) { quotelist_new(&qv->quote_list); if (qv->with_maritime) { map_maritime_info(callbacks.get_map(), &qv->maritime_info, my_player_num()); } gtk_list_store_clear(qv->store); } void quote_view_finish(QuoteView * qv) { if (qv->quote_list != NULL) quotelist_free(&qv->quote_list); } void quote_view_check_validity_of_trades(QuoteView * qv) { check_maritime_trades(qv); /* Check if all quotes are still valid */ gtk_tree_model_foreach(GTK_TREE_MODEL(qv->store), check_valid_trade, qv); } /** Activate a new quote. * If the quote == NULL, clear the selection in the listview too */ static void set_selected_quote(QuoteView * qv, const QuoteInfo * quote) { if (qv->selected_quote == quote) return; /* Don't do the same thing again */ qv->selected_quote = quote; if (quote == NULL) gtk_tree_selection_unselect_all(gtk_tree_view_get_selection (GTK_TREE_VIEW (qv->quotes))); g_signal_emit(G_OBJECT(qv), quote_view_signals[SELECTION_CHANGED], 0); } void quote_view_clear_selected_quote(QuoteView * qv) { set_selected_quote(qv, NULL); } const QuoteInfo *quote_view_get_selected_quote(QuoteView * qv) { return qv->selected_quote; } void quote_view_remove_rejected_quotes(QuoteView * qv) { gint idx; for (idx = 0; idx < num_players(); idx++) { Player *player = player_get(idx); quote_found_flag = FALSE; gtk_tree_model_foreach(GTK_TREE_MODEL(qv->store), trade_locate_reject, player); if (quote_found_flag) gtk_list_store_remove(qv->store, "e_found_iter); } } void quote_view_set_maritime_filters(QuoteView * qv, const gboolean * filter_supply, const gboolean * filter_receive) { gint idx; for (idx = 0; idx < NO_RESOURCE; idx++) { qv->maritime_filter_supply[idx] = filter_supply[idx]; qv->maritime_filter_receive[idx] = filter_receive[idx]; } check_maritime_trades(qv); } void quote_view_theme_changed(QuoteView * qv) { int width, height; cairo_surface_t *surface; cairo_t *cr; cairo_rectangle_t extent; QuoteInfo *quote; if (!qv->with_maritime) return; gtk_icon_size_lookup(GTK_ICON_SIZE_MENU, &width, &height); extent.width = width; extent.height = height; surface = cairo_recording_surface_create(CAIRO_CONTENT_COLOR_ALPHA, &extent); cr = cairo_create(surface); gdk_cairo_set_source_pixbuf(cr, theme_get_terrain_pixbuf(SEA_TERRAIN), 0.0, 0.0); cairo_pattern_set_extend(cairo_get_source(cr), CAIRO_EXTEND_REPEAT); cairo_rectangle(cr, 0, 0, width, height); cairo_fill(cr); gdk_cairo_set_source_color(cr, &black); cairo_set_line_width(cr, 1.0); cairo_rectangle(cr, 0.5, 0.5, width - 1, height - 1); cairo_stroke(cr); if (maritime_pixbuf) g_object_unref(maritime_pixbuf); maritime_pixbuf = gdk_pixbuf_get_from_surface(surface, 0, 0, width, height); cairo_destroy(cr); cairo_surface_destroy(surface); /* Remove all maritime quotes */ quote = quotelist_first(qv->quote_list); while (quote != NULL) { QuoteInfo *curr = quote; quote = quotelist_next(quote); if (curr->is_domestic) break; remove_quote(qv, curr); } /* Add all of the maritime trades that can be performed */ check_maritime_trades(qv); } gboolean quote_view_trade_exists(QuoteView * qv, const gint * supply, const gint * receive) { const QuoteInfo *quote; gboolean match; gint idx; /* Find the quote which equals the parameters */ for (quote = quotelist_first(qv->quote_list); quote != NULL; quote = quotelist_next(quote)) { if (quote->var.d.player_num != my_player_num()) continue; /* Does this quote equal the parameters? */ match = TRUE; for (idx = 0; idx < NO_RESOURCE && match; idx++) if (quote->var.d.supply[idx] != supply[idx] || quote->var.d.receive[idx] != receive[idx]) match = FALSE; if (match) return TRUE; } return FALSE; } gboolean quote_view_has_reject(QuoteView * qv, gint player_num) { Player *player = player_get(player_num); if (qv->quote_list == NULL) return FALSE; quote_found_flag = FALSE; gtk_tree_model_foreach(GTK_TREE_MODEL(qv->store), trade_locate_reject, player); return quote_found_flag; } pioneers-15.5/client/gtk/connect.c0000644000175000017500000015027313252223516014062 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003,2006 Bas Wijnen * Copyright (C) 2004,2010 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include #include #include #include #include "frontend.h" #include "network.h" #include "log.h" #include "config-gnome.h" #include "select-game.h" #include "game-settings.h" #include "game-rules.h" #include "metaserver.h" #include "avahi.h" #include "avahi-browser.h" #include "client.h" #include "common_gtk.h" #include "game-list.h" const int PRIVATE_GAME_HISTORY_SIZE = 10; static gboolean connect_spectator; /* Prefer to be a spectator */ static gboolean connect_spectator_allowed; /* Spectator allowed */ static gchar *connect_server; /* Name of the server */ static gchar *connect_port; /* Port of the server */ static GtkWidget *connect_dlg; /* Dialog for starting a new game */ static GtkWidget *name_entry; /* Name of the player */ static GtkWidget *spectator_toggle; /* Prefer to be a spectator */ static GtkWidget *metaserver_entry; /* Name of the metaserver */ static GtkWidget *meta_dlg; /* Dialog for joining a public game */ static GtkWidget *server_status; /* Description of the current metaserver */ static GtkListStore *meta_games_model; /* The list of the games at the metaserver */ static GtkWidget *meta_games_view; /* The view on meta_games_model */ enum { META_RESPONSE_NEW = 1, /* Response for new game */ META_RESPONSE_REFRESH = 2 /* Response for refresh of the list */ }; enum { /* The columns of the meta_games_model */ C_META_HOST, C_META_PORT, C_META_HOST_SORTABLE, /* Invisible, used for sorting */ C_META_VERSION, C_META_MAX, C_META_CUR, C_META_TERRAIN, C_META_VICTORY, C_META_SEVENS, C_META_MAP, META_N_COLUMNS }; static GtkWidget *cserver_dlg; /* Dialog for creating a public game */ static GtkWidget *select_game; /* select game type */ static GtkWidget *game_settings; /* game settings widget */ static GtkWidget *aiplayers_spin; /* number of AI players */ static GtkWidget *game_rules; /* Adjust some rules */ static gboolean cfg_terrain; /* Random terrain */ static guint cfg_num_players; static guint cfg_victory_points; static guint cfg_sevens_rule; static guint cfg_ai_players; static const gchar *cfg_gametype; /* Will be set be the widget */ static GtkWidget *connect_private_dlg; /* Join a private game */ static GtkWidget *host_entry; /* Host name entry */ static GtkWidget *port_entry; /* Host port entry */ static enum { GAMETYPE_MODE_SIGNON, GAMETYPE_MODE_LIST } gametype_mode; static enum { CREATE_MODE_SIGNON, CREATE_MODE_WAIT_FOR_INFO, CREATE_MODE_STARTING_OK, CREATE_MODE_STARTING_ERROR } create_mode; static enum { MODE_SIGNON, MODE_REDIRECT, MODE_LIST, MODE_CAPABILITY, MODE_REDIRECT_OVERFLOW, MODE_DONE, MODE_SERVER_INFO } meta_mode; /** Information about the metaserver */ static struct { /** Server name */ gchar *server; /** Port */ gchar *port; /** Major version number of metaserver protocol */ gint version_major; /** Minor version number of metaserver protocol */ gint version_minor; /** Number of times the metaserver has redirected */ gint num_redirects; /** The metaserver can create remote games */ gboolean can_create_games; /** Active session */ Session *session; /** Number of available game titles */ guint num_available_titles; /** The settings of a game */ GameParams *params; } metaserver_info = { NULL, NULL, 0, 0, 0, FALSE, NULL, 0u, NULL}; #define STRARG_LEN 128 #define INTARG_LEN 16 static gchar server_host[STRARG_LEN]; static gchar server_port[STRARG_LEN]; static gchar server_version[STRARG_LEN]; static gchar server_max[INTARG_LEN]; static gchar server_curr[INTARG_LEN]; static gchar server_vpoints[STRARG_LEN]; static gchar *server_sevenrule = NULL; static gchar *server_terrain = NULL; static gchar server_title[STRARG_LEN]; static void query_metaserver(const gchar * server, const gchar * port); static void show_waiting_box(const gchar * message, const gchar * server, const gchar * port); static void close_waiting_box(void); static void connect_set_field(gchar ** field, const gchar * value); static void connect_close_all(gboolean user_pressed_ok, gboolean can_be_spectator); static void set_metaserver_info(void); static void connect_private_dialog(G_GNUC_UNUSED GtkWidget * widget, GtkWindow * parent); static void connect_set_field(gchar ** field, const gchar * value) { gchar *temp = g_strdup(value); g_free(*field); if (temp != NULL) { *field = g_strdup(g_strstrip(temp)); } else { *field = NULL; } g_free(temp); } /* Reset all pointers to the destroyed children of the dialog */ static void connect_dlg_destroyed(GtkWidget * widget, GtkWidget ** widget_pointer) { name_entry = NULL; spectator_toggle = NULL; metaserver_entry = NULL; gtk_widget_destroyed(widget, widget_pointer); } static void connect_name_change_cb(G_GNUC_UNUSED gpointer ns) { gchar *name = notifying_string_get(requested_name); if (name_entry != NULL) gtk_entry_set_text(GTK_ENTRY(name_entry), name); g_free(name); } /* Public functions */ gboolean connect_get_spectator(void) { return connect_spectator && connect_spectator_allowed; } void connect_set_spectator(gboolean spectator) { connect_spectator = spectator; connect_spectator_allowed = TRUE; if (spectator_toggle != NULL) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (spectator_toggle), connect_spectator); } const gchar *connect_get_server(void) { return connect_server; } void connect_set_server(const gchar * server) { connect_set_field(&connect_server, server); } static gchar *connect_get_metaserver(void) { if (metaserver_entry == NULL) return NULL; return metaserver_get(METASERVER(metaserver_entry)); } void connect_set_metaserver(const gchar * metaserver) { connect_set_field(&metaserver_info.server, metaserver); if (metaserver_entry != NULL) metaserver_add(METASERVER(metaserver_entry), metaserver_info.server); } const gchar *connect_get_port(void) { return connect_port; } void connect_set_port(const gchar * port) { connect_set_field(&connect_port, port); } static void connect_close_all(gboolean user_pressed_ok, gboolean can_be_spectator) { connect_spectator_allowed = can_be_spectator; if (user_pressed_ok) { gchar *metaserver; notifying_string_set(requested_name, gtk_entry_get_text(GTK_ENTRY (name_entry))); connect_spectator = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (spectator_toggle)); /* Save connect dialogue entries */ metaserver = connect_get_metaserver(); config_set_string("connect/metaserver", metaserver); g_free(metaserver); frontend_gui_register_destroy(connect_dlg, GUI_CONNECT_TRY); } else { frontend_gui_register_destroy(connect_dlg, GUI_CONNECT_CANCEL); } if (connect_dlg) gtk_widget_destroy(GTK_WIDGET(connect_dlg)); if (meta_dlg) gtk_widget_destroy(GTK_WIDGET(meta_dlg)); if (cserver_dlg) gtk_widget_destroy(GTK_WIDGET(cserver_dlg)); if (connect_private_dlg) gtk_widget_destroy(GTK_WIDGET(connect_private_dlg)); } /* Messages explaining some delays */ static void show_waiting_box(const gchar * message, const gchar * server, const gchar * port) { if (meta_dlg) { gchar *s = g_strdup_printf(_("Metaserver at %s, port %s"), server, port); gtk_label_set_text(GTK_LABEL(server_status), s); g_free(s); } log_message(MSG_INFO, message); } static void close_waiting_box(void) { log_message(MSG_INFO, _("Finished.\n")); } /* -------------------- get game types -------------------- */ static void meta_gametype_notify(Session * ses, NetEvent event, const gchar * line, G_GNUC_UNUSED gpointer user_data) { switch (event) { case NET_CONNECT: metaserver_info.num_available_titles = 0u; break; case NET_CONNECT_FAIL: log_message(MSG_ERROR, _("The metaserver is not available " "anymore.\n")); net_free(&ses); metaserver_info.session = NULL; if (cserver_dlg != NULL) { gtk_widget_destroy(GTK_WIDGET(cserver_dlg)); } break; case NET_CLOSE: if (gametype_mode == GAMETYPE_MODE_SIGNON) { log_message(MSG_ERROR, _("The metaserver closed " "the connection " "unexpectedly.\n")); if (cserver_dlg != NULL) { gtk_widget_destroy(GTK_WIDGET (cserver_dlg)); } } else { close_waiting_box(); } if (cserver_dlg != NULL && metaserver_info.num_available_titles > 0u) { gtk_dialog_set_response_sensitive(GTK_DIALOG (cserver_dlg), GTK_RESPONSE_OK, TRUE); } net_free(&ses); metaserver_info.session = NULL; break; case NET_READ: switch (gametype_mode) { case GAMETYPE_MODE_SIGNON: net_printf(ses, "listtypes\n"); gametype_mode = GAMETYPE_MODE_LIST; break; case GAMETYPE_MODE_LIST: /* A server description looks like this: * title=%s\n */ if (strncmp(line, "title=", 6) == 0) { const GameParams *params; line += 6; if (game_list_is_empty()) { game_list_prepare(); } params = game_list_find_item(line); if (params != NULL) { select_game_add_details(SELECTGAME (select_game), params); } else { select_game_add(SELECTGAME (select_game), line); } metaserver_info.num_available_titles++; } break; } break; } } static void get_metaserver_games_types(const gchar * server, const gchar * port) { show_waiting_box(_("Receiving game names from the metaserver.\n"), server, port); g_assert(metaserver_info.session == NULL); metaserver_info.session = net_new(meta_gametype_notify, NULL); if (net_connect(metaserver_info.session, server, port)) gametype_mode = GAMETYPE_MODE_SIGNON; else { net_free(&metaserver_info.session); log_message(MSG_ERROR, _("The metaserver is not available " "anymore.\n")); if (cserver_dlg != NULL) { gtk_widget_destroy(GTK_WIDGET(cserver_dlg)); } } } /* -------------------- create game server -------------------- */ static void meta_create_notify(Session * ses, NetEvent event, const gchar * line, G_GNUC_UNUSED gpointer user_data) { switch (event) { case NET_CONNECT: break; case NET_CONNECT_FAIL: log_message(MSG_ERROR, _("The metaserver is not available " "anymore.\n")); net_free(&ses); metaserver_info.session = NULL; if (cserver_dlg != NULL) { gtk_widget_destroy(GTK_WIDGET(cserver_dlg)); } break; case NET_CLOSE: net_free(&ses); metaserver_info.session = NULL; switch (create_mode) { case CREATE_MODE_STARTING_OK: log_message(MSG_INFO, _("New game server requested " "on %s port %s.\n"), connect_server, connect_port); /* The metaserver is now busy creating the new game. * UGLY FIX: Wait for some time */ g_usleep(500000); connect_close_all(TRUE, FALSE); break; case CREATE_MODE_STARTING_ERROR: log_message(MSG_ERROR, _("Incomplete information about the " "new game server received.\n")); if (cserver_dlg != NULL) { gtk_dialog_set_response_sensitive (GTK_DIALOG(cserver_dlg), GTK_RESPONSE_OK, TRUE); } break; case CREATE_MODE_SIGNON: case CREATE_MODE_WAIT_FOR_INFO: log_message(MSG_ERROR, _("The metaserver closed " "the connection " "unexpectedly.\n")); if (cserver_dlg != NULL) { gtk_dialog_set_response_sensitive (GTK_DIALOG(cserver_dlg), GTK_RESPONSE_OK, TRUE); } break; } break; case NET_READ: switch (create_mode) { case CREATE_MODE_SIGNON: net_printf(ses, "create %d %d %d %d %d %s\n", cfg_terrain, cfg_num_players, cfg_victory_points, cfg_sevens_rule, cfg_ai_players, cfg_gametype); create_mode = CREATE_MODE_WAIT_FOR_INFO; connect_set_field(&connect_server, NULL); connect_set_field(&connect_port, NULL); break; case CREATE_MODE_WAIT_FOR_INFO: if (strncmp(line, "host=", 5) == 0) connect_set_field(&connect_server, line + 5); else if (strncmp(line, "port=", 5) == 0) connect_set_field(&connect_port, line + 5); else if (strcmp(line, "started") == 0) { if (connect_get_server() != NULL && connect_get_port() != NULL) { create_mode = CREATE_MODE_STARTING_OK; } else { create_mode = CREATE_MODE_STARTING_ERROR; } net_close(ses); metaserver_info.session = NULL; } else log_message(MSG_ERROR, _("Unknown message from the " "metaserver: %s\n"), line); break; case CREATE_MODE_STARTING_OK: case CREATE_MODE_STARTING_ERROR: log_message(MSG_ERROR, _("Unknown message from the " "metaserver: %s\n"), line); break; } } } /* -------------------- get running servers info -------------------- */ static gboolean check_str_info(const gchar * line, const gchar * prefix, gchar * data) { size_t len = strlen(prefix); if (strncmp(line, prefix, len) != 0) return FALSE; strncpy(data, line + len, STRARG_LEN); return TRUE; } static gboolean check_int_info(const gchar * line, const gchar * prefix, gchar * data) { size_t len = strlen(prefix); if (strncmp(line, prefix, len) != 0) return FALSE; sprintf(data, "%d", atoi(line + len)); return TRUE; } static void server_end(void) { GtkTreeIter iter; if (meta_dlg) { gtk_list_store_append(meta_games_model, &iter); gtk_list_store_set(meta_games_model, &iter, C_META_HOST, server_host, C_META_PORT, server_port, C_META_HOST_SORTABLE, g_strdup_printf("%s:%s", server_host, server_port), C_META_VERSION, server_version, C_META_MAX, server_max, C_META_CUR, server_curr, C_META_TERRAIN, server_terrain, C_META_VICTORY, server_vpoints, C_META_SEVENS, server_sevenrule, C_META_MAP, server_title, -1); } } static void meta_free_session(Session * ses) { if (ses == metaserver_info.session) { metaserver_info.session = NULL; } net_free(&ses); } /* Developer note: very similar code exists in server/meta.c * Keep both routines up-to-date */ static void meta_notify(Session * ses, NetEvent event, const gchar * line, G_GNUC_UNUSED gpointer user_data) { gchar argument[STRARG_LEN]; switch (event) { case NET_READ: if (ses != metaserver_info.session) { log_message(MSG_ERROR, _("Receiving data from inactive " "session: %s\n"), line); return; } switch (meta_mode) { case MODE_SIGNON: case MODE_REDIRECT: if (strncmp(line, "goto ", 5) == 0) { gchar **split_result; const gchar *port; if (metaserver_info.num_redirects++ >= 10) { log_message(MSG_ERROR, _("Too many " "metaserver " "redirects.\n")); meta_mode = MODE_REDIRECT_OVERFLOW; net_close(ses); return; } meta_mode = MODE_REDIRECT; meta_free_session(ses); split_result = g_strsplit(line, " ", 0); g_assert(split_result[0] != NULL); g_assert(!strcmp(split_result[0], "goto")); if (split_result[1]) { g_free(metaserver_info.server); g_free(metaserver_info.port); metaserver_info.server = g_strdup(split_result[1]); port = PIONEERS_DEFAULT_META_PORT; if (split_result[2]) port = split_result[2]; metaserver_info.port = g_strdup(port); query_metaserver (metaserver_info.server, metaserver_info.port); } else { log_message(MSG_ERROR, _("Bad redirect line: " "%s\n"), line); }; g_strfreev(split_result); break; } metaserver_info.version_major = 0; metaserver_info.version_minor = 0; metaserver_info.can_create_games = FALSE; if (strncmp(line, "welcome ", 8) == 0) { char *p = strstr(line, "version "); if (p) { p += 8; metaserver_info.version_major = atoi(p); p += strspn(p, "0123456789"); if (*p == '.') metaserver_info. version_minor = atoi(p + 1); } } if (metaserver_info.version_major < 1) { log_message(MSG_INFO, _("The metaserver is too old " "to create servers " "(version %d.%d)\n"), metaserver_info.version_major, metaserver_info.version_minor); } else { net_printf(ses, "version %s\n", META_PROTOCOL_VERSION); } if ((metaserver_info.version_major > 1) || (metaserver_info.version_major == 1 && metaserver_info.version_minor >= 1)) { net_printf(ses, "capability\n"); meta_mode = MODE_CAPABILITY; } else { net_printf(ses, metaserver_info.version_major >= 1 ? "listservers\n" : "client\n"); meta_mode = MODE_LIST; } break; case MODE_CAPABILITY: if (!strcmp(line, "create games")) { metaserver_info.can_create_games = TRUE; } else if (!strcmp(line, "end")) { net_printf(ses, metaserver_info.version_major >= 1 ? "listservers\n" : "client\n"); meta_mode = MODE_LIST; } break; case MODE_LIST: if (strcmp(line, "server") == 0) { meta_mode = MODE_SERVER_INFO; } else { log_message(MSG_ERROR, _("Unexpected data from the " "metaserver: %s\n"), line); } break; case MODE_SERVER_INFO: if (strcmp(line, "end") == 0) { server_end(); meta_mode = MODE_LIST; } else if (check_str_info(line, "host=", server_host)) break; else if (check_str_info (line, "port=", server_port)) break; else if (check_str_info (line, "version=", server_version)) break; else if (check_int_info(line, "max=", server_max)) break; else if (check_int_info (line, "curr=", server_curr)) break; else if (check_str_info (line, "vpoints=", server_vpoints)) break; else if (check_str_info (line, "sevenrule=", argument)) { if (server_sevenrule) g_free(server_sevenrule); if (!strcmp(argument, "normal")) { server_sevenrule = g_strdup(_("Normal")); } else if (!strcmp (argument, "reroll first 2")) { server_sevenrule = g_strdup(_("" "Reroll on 1st 2 turns")); } else if (!strcmp(argument, "reroll all")) { server_sevenrule = g_strdup(_("Reroll all 7s")); } else { g_warning("Unknown seven rule: %s", argument); server_sevenrule = g_strdup(argument); } break; } else if (check_str_info (line, "terrain=", argument)) { if (server_terrain) g_free(server_terrain); if (!strcmp(argument, "default")) server_terrain = g_strdup(_("Default")); else if (!strcmp(argument, "random")) server_terrain = g_strdup(_("Random")); else { g_warning ("Unknown terrain type: %s", argument); server_terrain = g_strdup(argument); } break; } else if (check_str_info (line, "title=", server_title)) break; /* meta-protocol 0 compat */ else if (check_str_info (line, "map=", server_terrain)) break; else if (check_str_info (line, "comment=", server_title)) break; else log_message(MSG_ERROR, _("Unexpected data from the " "metaserver: %s\n"), line); break; case MODE_DONE: case MODE_REDIRECT_OVERFLOW: log_message(MSG_ERROR, _("Unexpected data from the " "metaserver: %s\n"), line); break; } break; case NET_CLOSE: /* During a reconnect, different sessions might co-exist */ if (ses == metaserver_info.session) { metaserver_info.session = NULL; switch (meta_mode) { case MODE_SIGNON: case MODE_REDIRECT: case MODE_SERVER_INFO: case MODE_CAPABILITY: log_message(MSG_ERROR, _("The metaserver closed " "the connection " "unexpectedly.\n")); break; case MODE_REDIRECT_OVERFLOW: if (meta_dlg) gtk_widget_destroy(GTK_WIDGET(meta_dlg)); /* Close the dialog */ if (ses == metaserver_info.session) { metaserver_info.session = NULL; } break; case MODE_LIST: case MODE_DONE: close_waiting_box(); break; } if (meta_dlg) { gtk_dialog_set_response_sensitive (GTK_DIALOG(meta_dlg), META_RESPONSE_NEW, metaserver_info.can_create_games); gtk_dialog_set_response_sensitive (GTK_DIALOG(meta_dlg), META_RESPONSE_REFRESH, TRUE); } } net_free(&ses); break; case NET_CONNECT: break; case NET_CONNECT_FAIL: /* Can't connect to the metaserver, don't show the GUI */ if (meta_dlg) gtk_widget_destroy(GTK_WIDGET(meta_dlg)); if (ses == metaserver_info.session) { metaserver_info.session = NULL; } net_free(&ses); break; } } static void query_metaserver(const gchar * server, const gchar * port) { gchar *message; if (metaserver_info.num_redirects > 0) { if (strcmp(port, PIONEERS_DEFAULT_META_PORT) == 0) { message = g_strdup_printf(_("Redirected to the " "metaserver at %s.\n"), server); } else { message = g_strdup_printf(_("Redirected to the " "metaserver at %s, port %s.\n"), server, port); } } else message = g_strdup(_ ("Receiving a list of Pioneers servers " "from the metaserver.\n")); show_waiting_box(message, server, port); g_free(message); g_assert(metaserver_info.session == NULL); metaserver_info.session = net_new(meta_notify, NULL); if (net_connect(metaserver_info.session, server, port)) meta_mode = MODE_SIGNON; else { net_free(&metaserver_info.session); close_waiting_box(); } } /* -------------------- create server dialog -------------------- */ static void player_change_cb(GameSettings * gs, G_GNUC_UNUSED gpointer user_data) { guint players; guint ai_players; GtkSpinButton *ai_spin; ai_spin = GTK_SPIN_BUTTON(aiplayers_spin); players = game_settings_get_players(gs); ai_players = (guint) gtk_spin_button_get_value_as_int(ai_spin); gtk_spin_button_set_range(ai_spin, 0, players - 1); if (ai_players >= players) gtk_spin_button_set_value(ai_spin, players - 1); } static void game_select_cb(SelectGame * sg, G_GNUC_UNUSED gpointer user_data) { const GameParams *params; params = select_game_get_active_game(sg); if (params != NULL) { game_settings_set_players(GAMESETTINGS(game_settings), params->num_players); game_settings_set_victory_points(GAMESETTINGS (game_settings), params->victory_points); game_rules_set_random_terrain(GAMERULES(game_rules), params->random_terrain); game_rules_set_sevens_rule(GAMERULES(game_rules), params->sevens_rule); player_change_cb(GAMESETTINGS(game_settings), NULL); } } static GtkWidget *build_create_interface(void) { GtkWidget *vbox; GtkWidget *label; GtkAdjustment *adj; guint row; vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); gtk_widget_show(vbox); gtk_container_set_border_width(GTK_CONTAINER(vbox), 3); select_game = select_game_new(); gtk_widget_show(select_game); gtk_box_pack_start(GTK_BOX(vbox), select_game, FALSE, FALSE, 3); g_signal_connect(G_OBJECT(select_game), "activate", G_CALLBACK(game_select_cb), NULL); game_settings = game_settings_new(FALSE); gtk_widget_show(game_settings); gtk_box_pack_start(GTK_BOX(vbox), game_settings, FALSE, FALSE, 3); /* Dynamically adjust the maximum number of AI's */ g_signal_connect(G_OBJECT(game_settings), "change-players", G_CALLBACK(player_change_cb), NULL); gtk_table_get_size(GTK_TABLE(game_settings), &row, NULL); /* Label */ label = gtk_label_new(_("Number of computer players")); gtk_widget_show(label); gtk_table_attach(GTK_TABLE(game_settings), label, 0, 1, row, row + 1, GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); adj = GTK_ADJUSTMENT(gtk_adjustment_new(0, 0, game_settings_get_players (GAMESETTINGS (game_settings)) - 1, 1, 4, 0)); aiplayers_spin = gtk_spin_button_new(adj, 1, 0); gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(aiplayers_spin), TRUE); gtk_widget_show(aiplayers_spin); gtk_entry_set_alignment(GTK_ENTRY(aiplayers_spin), 1.0); gtk_table_attach(GTK_TABLE(game_settings), aiplayers_spin, 1, 2, row, row + 1, GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); gtk_widget_set_tooltip_text(aiplayers_spin, /* Tooltip */ _("The number of computer players")); game_rules = game_rules_new_metaserver(); gtk_widget_show(game_rules); gtk_box_pack_start(GTK_BOX(vbox), game_rules, FALSE, FALSE, 3); return vbox; } static void create_server_dlg_cb(GtkDialog * dlg, gint arg1, G_GNUC_UNUSED gpointer user_data) { GameSettings *gs = GAMESETTINGS(game_settings); SelectGame *sg = SELECTGAME(select_game); GameRules *gr = GAMERULES(game_rules); switch (arg1) { case GTK_RESPONSE_OK: gtk_dialog_set_response_sensitive(dlg, GTK_RESPONSE_OK, FALSE); if (metaserver_info.session != NULL) { log_message(MSG_INFO, _("Canceled.\n")); net_close(metaserver_info.session); } log_message(MSG_INFO, _("Requesting new game server.\n")); cfg_terrain = game_rules_get_random_terrain(gr); cfg_num_players = game_settings_get_players(gs); cfg_victory_points = game_settings_get_victory_points(gs); cfg_sevens_rule = game_rules_get_sevens_rule(gr); cfg_ai_players = (guint) gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON (aiplayers_spin)); cfg_gametype = select_game_get_active_title(sg); metaserver_info.session = net_new(meta_create_notify, NULL); if (net_connect (metaserver_info.session, metaserver_info.server, metaserver_info.port)) { create_mode = CREATE_MODE_SIGNON; } else { log_message(MSG_ERROR, _("The metaserver is not available " "anymore.\n")); net_free(&metaserver_info.session); gtk_widget_destroy(GTK_WIDGET(dlg)); } break; case GTK_RESPONSE_CANCEL: default: /* For the compiler */ gtk_widget_destroy(GTK_WIDGET(dlg)); if (metaserver_info.session != NULL) { net_close(metaserver_info.session); /* Canceled retrieving information * from the metaserver */ log_message(MSG_INFO, _("Canceled.\n")); } break; }; } /** Launch the server gtk. */ static void launch_server_gtk(G_GNUC_UNUSED GtkWidget * widget, G_GNUC_UNUSED GtkWindow * parent) { gchar *child_argv[3]; GSpawnFlags flags = G_SPAWN_STDOUT_TO_DEV_NULL | G_SPAWN_STDERR_TO_DEV_NULL | G_SPAWN_SEARCH_PATH; GError *error = NULL; gint i; child_argv[0] = g_strdup(PIONEERS_SERVER_GTK_PROGRAM_NAME); child_argv[1] = g_strdup(PIONEERS_SERVER_GTK_PROGRAM_NAME); child_argv[2] = NULL; if (!g_spawn_async(NULL, child_argv, NULL, flags, NULL, NULL, NULL, &error)) { /* Error message when program %1 is started, reason is %2 */ log_message(MSG_ERROR, _("Error starting %s: %s\n"), child_argv[0], error->message); g_error_free(error); } for (i = 0; child_argv[i] != NULL; i++) g_free(child_argv[i]); } static void create_server_dlg(G_GNUC_UNUSED GtkWidget * widget, GtkWindow * parent) { GtkWidget *dlg_vbox; GtkWidget *vbox; if (cserver_dlg) { gtk_window_present(GTK_WINDOW(cserver_dlg)); return; } set_metaserver_info(); cserver_dlg = /* Dialog caption */ gtk_dialog_new_with_buttons(_("Create a Public Game"), parent, GTK_DIALOG_DESTROY_WITH_PARENT, /* Button text */ _("_Cancel"), GTK_RESPONSE_CANCEL, /* Button text */ _("C_reate"), GTK_RESPONSE_OK, NULL); g_signal_connect(G_OBJECT(cserver_dlg), "destroy", G_CALLBACK(gtk_widget_destroyed), &cserver_dlg); gtk_widget_realize(cserver_dlg); dlg_vbox = gtk_dialog_get_content_area(GTK_DIALOG(cserver_dlg)); gtk_widget_show(dlg_vbox); vbox = build_create_interface(); gtk_widget_show(vbox); gtk_box_pack_start(GTK_BOX(dlg_vbox), vbox, TRUE, TRUE, 0); gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); if (cserver_dlg != NULL) { gtk_dialog_set_response_sensitive(GTK_DIALOG(cserver_dlg), GTK_RESPONSE_OK, FALSE); } g_signal_connect(G_OBJECT(cserver_dlg), "response", G_CALLBACK(create_server_dlg_cb), NULL); gtk_widget_show(cserver_dlg); get_metaserver_games_types(metaserver_info.server, metaserver_info.port); } /* -------------------- select server dialog -------------------- */ static gint meta_click_cb(G_GNUC_UNUSED GtkWidget * widget, G_GNUC_UNUSED GdkEventButton * event, G_GNUC_UNUSED gpointer user_data) { if (event->type == GDK_2BUTTON_PRESS) { gtk_dialog_response(GTK_DIALOG(meta_dlg), GTK_RESPONSE_OK); }; return FALSE; } static void meta_select_cb(G_GNUC_UNUSED GtkTreeSelection * selection, G_GNUC_UNUSED gpointer user_data) { gtk_dialog_set_response_sensitive(GTK_DIALOG(meta_dlg), GTK_RESPONSE_OK, TRUE); } static void meta_dlg_cb(GtkDialog * dlg, gint arg1, G_GNUC_UNUSED gpointer userdata) { GtkTreePath *path; GtkTreeViewColumn *column; GtkTreeIter iter; gchar *host; gchar *port; switch (arg1) { case META_RESPONSE_REFRESH: /* Refresh the list */ gtk_list_store_clear(meta_games_model); metaserver_info.num_redirects = 0; query_metaserver(metaserver_info.server, metaserver_info.port); break; case META_RESPONSE_NEW: /* Add a server */ create_server_dlg(NULL, GTK_WINDOW(dlg)); break; case GTK_RESPONSE_OK: /* Select this server */ gtk_tree_view_get_cursor(GTK_TREE_VIEW(meta_games_view), &path, &column); if (path != NULL) { gtk_tree_model_get_iter(GTK_TREE_MODEL (meta_games_model), &iter, path); gtk_tree_model_get(GTK_TREE_MODEL (meta_games_model), &iter, C_META_HOST, &host, C_META_PORT, &port, -1); connect_set_field(&connect_server, host); connect_set_field(&connect_port, port); g_free(host); g_free(port); gtk_tree_path_free(path); connect_close_all(TRUE, TRUE); } break; case GTK_RESPONSE_CANCEL: /* Cancel */ default: gtk_widget_destroy(GTK_WIDGET(dlg)); if (metaserver_info.session != NULL) { net_close(metaserver_info.session); /* Canceled retrieving information * from the metaserver */ log_message(MSG_INFO, _("Canceled.\n")); } break; } } static void set_metaserver_info(void) { gchar *meta_tmp; g_free(metaserver_info.server); g_free(metaserver_info.port); meta_tmp = metaserver_get(METASERVER(metaserver_entry)); metaserver_info.server = meta_tmp; /* Take-over of the pointer */ metaserver_info.port = g_strdup(PIONEERS_DEFAULT_META_PORT); } static void create_meta_dlg(G_GNUC_UNUSED GtkWidget * widget, GtkWidget * parent) { GtkWidget *dlg_vbox; GtkWidget *vbox; GtkWidget *scroll_win; GtkTreeViewColumn *column; GtkCellRenderer *renderer; set_metaserver_info(); if (meta_dlg != NULL) { if (metaserver_info.session == NULL) { gtk_list_store_clear(meta_games_model); metaserver_info.num_redirects = 0; metaserver_info.version_major = 0; metaserver_info.version_minor = 0; metaserver_info.can_create_games = FALSE; gtk_dialog_set_response_sensitive (GTK_DIALOG(meta_dlg), META_RESPONSE_NEW, metaserver_info.can_create_games); query_metaserver(metaserver_info.server, metaserver_info.port); } gtk_window_present(GTK_WINDOW(meta_dlg)); return; } /* Dialog caption */ meta_dlg = gtk_dialog_new_with_buttons(_("Join a Public Game"), GTK_WINDOW(parent), 0, /* Button text */ _("_Refresh"), META_RESPONSE_REFRESH, /* Button text */ _("_New Remote Game"), META_RESPONSE_NEW, /* Button text */ _("_Cancel"), GTK_RESPONSE_CANCEL, /* Button text */ _("_Join"), GTK_RESPONSE_OK, NULL); g_signal_connect(G_OBJECT(meta_dlg), "destroy", G_CALLBACK(gtk_widget_destroyed), &meta_dlg); g_signal_connect(G_OBJECT(meta_dlg), "response", G_CALLBACK(meta_dlg_cb), NULL); gtk_widget_realize(meta_dlg); dlg_vbox = gtk_dialog_get_content_area(GTK_DIALOG(meta_dlg)); gtk_widget_show(dlg_vbox); vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 2); gtk_widget_show(vbox); gtk_box_pack_start(GTK_BOX(dlg_vbox), vbox, TRUE, TRUE, 0); gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); server_status = gtk_label_new(""); gtk_widget_show(server_status); gtk_box_pack_start(GTK_BOX(vbox), server_status, FALSE, TRUE, 0); scroll_win = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll_win), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW (scroll_win), GTK_SHADOW_IN); gtk_widget_show(scroll_win); gtk_box_pack_start(GTK_BOX(vbox), scroll_win, TRUE, TRUE, 0); meta_games_model = gtk_list_store_new(META_N_COLUMNS, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING); meta_games_view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(meta_games_model)); gtk_widget_show(meta_games_view); gtk_container_add(GTK_CONTAINER(scroll_win), meta_games_view); gtk_widget_set_tooltip_text(meta_games_view, /* Tooltip */ _("Select a game to join")); column = /* Column name */ gtk_tree_view_column_new_with_attributes(_("Map Name"), gtk_cell_renderer_text_new (), "text", C_META_MAP, NULL); gtk_tree_view_append_column(GTK_TREE_VIEW(meta_games_view), column); gtk_tree_view_column_set_sort_column_id(column, C_META_MAP); /* Tooltip for column 'Map Name' */ set_tooltip_on_column(column, _("Name of the game")); renderer = gtk_cell_renderer_text_new(); g_object_set(renderer, "xalign", 1.0f, NULL); column = /* Column name */ gtk_tree_view_column_new_with_attributes(_("Curr"), renderer, "text", C_META_CUR, NULL); gtk_tree_view_append_column(GTK_TREE_VIEW(meta_games_view), column); gtk_tree_view_column_set_sort_column_id(column, C_META_CUR); /* Tooltip for column 'Curr' */ set_tooltip_on_column(column, _("Number of players in the game")); renderer = gtk_cell_renderer_text_new(); g_object_set(renderer, "xalign", 1.0f, NULL); column = /* Column name */ gtk_tree_view_column_new_with_attributes(_("Max"), renderer, "text", C_META_MAX, NULL); gtk_tree_view_append_column(GTK_TREE_VIEW(meta_games_view), column); gtk_tree_view_column_set_sort_column_id(column, C_META_MAX); /* Tooltip for column 'Max' */ set_tooltip_on_column(column, _("Maximum players for the game")); column = /* Column name */ gtk_tree_view_column_new_with_attributes(_("Terrain"), gtk_cell_renderer_text_new (), "text", C_META_TERRAIN, NULL); gtk_tree_view_append_column(GTK_TREE_VIEW(meta_games_view), column); gtk_tree_view_column_set_sort_column_id(column, C_META_TERRAIN); /* Tooltip for column 'Terrain' */ set_tooltip_on_column(column, _("Random of default terrain")); renderer = gtk_cell_renderer_text_new(); g_object_set(renderer, "xalign", 1.0f, NULL); column = /* Column name */ gtk_tree_view_column_new_with_attributes(_("Vic. Points"), renderer, "text", C_META_VICTORY, NULL); gtk_tree_view_append_column(GTK_TREE_VIEW(meta_games_view), column); gtk_tree_view_column_set_sort_column_id(column, C_META_VICTORY); /* Tooltip for column 'Vic. Points' */ set_tooltip_on_column(column, _("Points needed to win")); column = /* Column name */ gtk_tree_view_column_new_with_attributes(_("Sevens Rule"), gtk_cell_renderer_text_new (), "text", C_META_SEVENS, NULL); gtk_tree_view_append_column(GTK_TREE_VIEW(meta_games_view), column); gtk_tree_view_column_set_sort_column_id(column, C_META_SEVENS); /* Tooltip for column 'Sevens Rule' */ set_tooltip_on_column(column, _("Sevens rule")); column = /* Column name */ gtk_tree_view_column_new_with_attributes(_("Host"), gtk_cell_renderer_text_new (), "text", C_META_HOST, NULL); gtk_tree_view_append_column(GTK_TREE_VIEW(meta_games_view), column); gtk_tree_view_column_set_sort_column_id(column, C_META_HOST_SORTABLE); /* Tooltip for column 'Host' */ set_tooltip_on_column(column, _("Host of the game")); renderer = gtk_cell_renderer_text_new(); g_object_set(renderer, "xalign", 1.0f, NULL); column = /* Column name */ gtk_tree_view_column_new_with_attributes(_("Port"), renderer, "text", C_META_PORT, NULL); gtk_tree_view_append_column(GTK_TREE_VIEW(meta_games_view), column); gtk_tree_view_column_set_sort_column_id(column, C_META_HOST_SORTABLE); /* Tooltip for column 'Port' */ set_tooltip_on_column(column, _("Port of the game")); column = /* Column name */ gtk_tree_view_column_new_with_attributes(_("Version"), gtk_cell_renderer_text_new (), "text", C_META_VERSION, NULL); gtk_tree_view_append_column(GTK_TREE_VIEW(meta_games_view), column); gtk_tree_view_column_set_sort_column_id(column, C_META_VERSION); /* Tooltip for column 'Version' */ set_tooltip_on_column(column, _("Version of the host")); gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE (meta_games_model), C_META_HOST_SORTABLE, GTK_SORT_ASCENDING); /* Register double-click */ g_signal_connect(G_OBJECT(meta_games_view), "button_press_event", G_CALLBACK(meta_click_cb), NULL); g_signal_connect(G_OBJECT (gtk_tree_view_get_selection (GTK_TREE_VIEW(meta_games_view))), "changed", G_CALLBACK(meta_select_cb), NULL); /* This button will be enabled when a game is selected */ gtk_dialog_set_response_sensitive(GTK_DIALOG(meta_dlg), GTK_RESPONSE_OK, FALSE); /* These buttons will be enabled when the metaserver has responded */ gtk_dialog_set_response_sensitive(GTK_DIALOG(meta_dlg), META_RESPONSE_NEW, FALSE); gtk_dialog_set_response_sensitive(GTK_DIALOG(meta_dlg), META_RESPONSE_REFRESH, FALSE); gtk_widget_show(meta_dlg); metaserver_info.num_redirects = 0; query_metaserver(metaserver_info.server, metaserver_info.port); /* Workaround: Set the size of the widget as late as possible, to avoid a strange display */ gtk_widget_set_size_request(scroll_win, -1, 150); } static void connect_dlg_cb(G_GNUC_UNUSED GtkDialog * dlg, G_GNUC_UNUSED gint arg1, G_GNUC_UNUSED gpointer userdata) { connect_close_all(FALSE, FALSE); } #ifdef HAVE_AVAHI static void connect_avahi_cb(G_GNUC_UNUSED GtkWidget * widget, GtkWidget * avahibrowser_entry) { gchar *server = avahibrowser_get_server(AVAHIBROWSER(avahibrowser_entry)); gchar *port = avahibrowser_get_port(AVAHIBROWSER(avahibrowser_entry)); connect_set_field(&connect_server, server); connect_set_field(&connect_port, port); g_free(server); g_free(port); /* connect */ connect_close_all(TRUE, TRUE); } #endif void connect_create_dlg(void) { GtkWidget *dlg_vbox; GtkWidget *table; GtkWidget *lbl; GtkWidget *hbox; GtkWidget *btn; GtkWidget *sep; #ifdef HAVE_AVAHI GtkWidget *avahibrowser_entry; #endif /* HAVE_AVAHI */ gchar *fullname; gchar *name; guint row; if (connect_dlg) { gtk_window_present(GTK_WINDOW(connect_dlg)); return; } g_signal_connect(requested_name, "changed", G_CALLBACK(connect_name_change_cb), NULL); /* Dialog caption */ connect_dlg = gtk_dialog_new_with_buttons(_("Start a New Game"), GTK_WINDOW(app_window), 0, /* Button text */ _("_Cancel"), GTK_RESPONSE_CANCEL, NULL); g_signal_connect(G_OBJECT(connect_dlg), "response", G_CALLBACK(connect_dlg_cb), NULL); g_signal_connect(G_OBJECT(connect_dlg), "destroy", G_CALLBACK(connect_dlg_destroyed), &connect_dlg); gtk_widget_realize(connect_dlg); gdk_window_set_functions(gtk_widget_get_window(connect_dlg), GDK_FUNC_MOVE | GDK_FUNC_CLOSE); dlg_vbox = gtk_dialog_get_content_area(GTK_DIALOG(connect_dlg)); gtk_widget_show(dlg_vbox); table = gtk_table_new(4, 3, FALSE); row = 0; gtk_widget_show(table); gtk_box_pack_start(GTK_BOX(dlg_vbox), table, FALSE, TRUE, 0); gtk_container_set_border_width(GTK_CONTAINER(table), 5); gtk_table_set_row_spacings(GTK_TABLE(table), 3); gtk_table_set_col_spacings(GTK_TABLE(table), 5); /* Label */ lbl = gtk_label_new(_("Player name")); gtk_widget_show(lbl); gtk_table_attach(GTK_TABLE(table), lbl, 0, 1, row, row + 1, GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); gtk_misc_set_alignment(GTK_MISC(lbl), 0, 0.5); name = notifying_string_get(requested_name); name_entry = gtk_entry_new(); gtk_entry_set_max_length(GTK_ENTRY(name_entry), MAX_NAME_LENGTH); gtk_widget_show(name_entry); gtk_entry_set_text(GTK_ENTRY(name_entry), name); g_free(name); gtk_table_attach(GTK_TABLE(table), name_entry, 1, 2, row, row + 1, GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); /* Tooltip */ gtk_widget_set_tooltip_text(name_entry, _("Enter your name")); /* Check button */ spectator_toggle = gtk_check_button_new_with_label(_("Spectator")); gtk_widget_show(spectator_toggle); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(spectator_toggle), connect_spectator); gtk_table_attach(GTK_TABLE(table), spectator_toggle, 2, 3, row, row + 1, 0, GTK_EXPAND | GTK_FILL, 0, 0); gtk_widget_set_tooltip_text(spectator_toggle, /* Tooltip for checkbox Spectator */ _ ("Check if you want to be a spectator")); row++; sep = gtk_separator_new(GTK_ORIENTATION_HORIZONTAL); gtk_widget_show(sep); gtk_table_attach(GTK_TABLE(table), sep, 0, 3, row, row + 1, GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 6); row++; #ifdef HAVE_AVAHI /* Label */ lbl = gtk_label_new(_("Avahi")); gtk_widget_show(lbl); gtk_table_attach(GTK_TABLE(table), lbl, 0, 1, row, row + 1, GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); gtk_misc_set_alignment(GTK_MISC(lbl), 0, 0.5); /* Button */ btn = gtk_button_new_with_label(_("Join")); gtk_widget_show(btn); gtk_widget_set_tooltip_text(btn, /* Tooltip for button Join */ _("" "Join an automatically discovered game")); gtk_table_attach(GTK_TABLE(table), btn, 2, 3, row, row + 1, GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); avahibrowser_entry = avahibrowser_new(btn); gtk_widget_show(avahibrowser_entry); gtk_table_attach(GTK_TABLE(table), avahibrowser_entry, 1, 2, row, row + 1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); row++; g_signal_connect(G_OBJECT(btn), "clicked", G_CALLBACK(connect_avahi_cb), avahibrowser_entry); /* enable avahi */ /* storing the pointer to this widget for later use */ avahi_register(AVAHIBROWSER(avahibrowser_entry)); sep = gtk_separator_new(GTK_ORIENTATION_HORIZONTAL); gtk_widget_show(sep); gtk_table_attach(GTK_TABLE(table), sep, 0, 3, row, row + 1, GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 6); row++; #endif /* HAVE_AVAHI */ /* Label */ lbl = gtk_label_new(_("Metaserver")); gtk_widget_show(lbl); gtk_table_attach(GTK_TABLE(table), lbl, 0, 1, row, row + 1, GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); gtk_misc_set_alignment(GTK_MISC(lbl), 0, 0.5); metaserver_entry = metaserver_new(); gtk_widget_show(metaserver_entry); gtk_table_attach(GTK_TABLE(table), metaserver_entry, 1, 3, row, row + 1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); metaserver_add(METASERVER(metaserver_entry), metaserver_info.server); row++; hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 3); gtk_widget_show(hbox); gtk_table_attach(GTK_TABLE(table), hbox, 0, 3, row, row + 1, GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 3); row++; /* Button */ btn = gtk_button_new_with_label(_("Join Public Game")); gtk_widget_show(btn); gtk_box_pack_start(GTK_BOX(hbox), btn, TRUE, TRUE, 0); g_signal_connect(G_OBJECT(btn), "clicked", G_CALLBACK(create_meta_dlg), app_window); /* Tooltip */ gtk_widget_set_tooltip_text(btn, _("Join a public game")); gtk_widget_set_can_default(btn, TRUE); gtk_widget_grab_default(btn); /* Button */ btn = gtk_button_new_with_label(_("Create Game")); gtk_widget_show(btn); gtk_box_pack_start(GTK_BOX(hbox), btn, TRUE, TRUE, 0); /* Tooltip */ gtk_widget_set_tooltip_text(btn, _("Create a game")); g_signal_connect(G_OBJECT(btn), "clicked", G_CALLBACK(launch_server_gtk), app_window); fullname = g_find_program_in_path(PIONEERS_SERVER_GTK_PROGRAM_NAME); gtk_widget_set_sensitive(GTK_WIDGET(btn), fullname != NULL); g_free(fullname); /* Button */ btn = gtk_button_new_with_label(_("Join Private Game")); gtk_widget_show(btn); gtk_box_pack_start(GTK_BOX(hbox), btn, TRUE, TRUE, 0); /* Tooltip */ gtk_widget_set_tooltip_text(btn, _("Join a private game")); g_signal_connect(G_OBJECT(btn), "clicked", G_CALLBACK(connect_private_dialog), app_window); gtk_entry_set_activates_default(GTK_ENTRY(name_entry), TRUE); gtk_widget_show(connect_dlg); gtk_widget_grab_focus(name_entry); } /* ------------ Join a private game dialog ------------------- */ static void update_recent_servers_list(void) { gchar keyname1[50], keyname2[50]; gchar *temp_name, *temp_port; gchar *cur_name, *cur_port; gchar *conn_name, *conn_port; gboolean default_used; gboolean done; gint i; done = FALSE; i = 0; conn_name = g_strdup(connect_get_server()); conn_port = g_strdup(connect_get_port()); temp_name = g_strdup(conn_name); temp_port = g_strdup(conn_port); do { sprintf(keyname1, "favorites/server%dname=", i); sprintf(keyname2, "favorites/server%dport=", i); cur_name = g_strdup(config_get_string(keyname1, &default_used)); cur_port = g_strdup(config_get_string(keyname2, &default_used)); if (temp_name) { sprintf(keyname1, "favorites/server%dname", i); sprintf(keyname2, "favorites/server%dport", i); config_set_string(keyname1, temp_name); config_set_string(keyname2, temp_port); } else { g_free(cur_name); g_free(cur_port); break; } if (strlen(cur_name) == 0) { g_free(cur_name); g_free(cur_port); break; } g_free(temp_name); g_free(temp_port); if (!strcmp(cur_name, conn_name) && !strcmp(cur_port, conn_port)) { temp_name = NULL; temp_port = NULL; } else { temp_name = g_strdup(cur_name); temp_port = g_strdup(cur_port); } i++; if (i > PRIVATE_GAME_HISTORY_SIZE) { done = TRUE; } g_free(cur_name); g_free(cur_port); } while (!done); g_free(temp_name); g_free(temp_port); g_free(conn_name); g_free(conn_port); } static void host_list_select_cb(GtkWidget * widget, gpointer user_data) { GPtrArray *host_entries = user_data; gint idx; gchar *entry; gchar **strs; idx = gtk_combo_box_get_active(GTK_COMBO_BOX(widget)); entry = g_ptr_array_index(host_entries, idx); strs = g_strsplit(entry, ":", 2); connect_set_field(&connect_server, strs[0]); connect_set_field(&connect_port, strs[1]); gtk_entry_set_text(GTK_ENTRY(host_entry), connect_server); gtk_entry_set_text(GTK_ENTRY(port_entry), connect_port); g_strfreev(strs); } static void connect_private_dlg_cb(GtkDialog * dlg, gint arg1, G_GNUC_UNUSED gpointer user_data) { switch (arg1) { case GTK_RESPONSE_OK: connect_set_field(&connect_server, gtk_entry_get_text(GTK_ENTRY (host_entry))); connect_set_field(&connect_port, gtk_entry_get_text(GTK_ENTRY (port_entry))); update_recent_servers_list(); config_set_string("connect/server", connect_server); config_set_string("connect/port", connect_port); connect_close_all(TRUE, TRUE); break; case GTK_RESPONSE_CANCEL: default: /* For the compiler */ gtk_widget_destroy(GTK_WIDGET(dlg)); break; }; } static void connect_private_dialog(G_GNUC_UNUSED GtkWidget * widget, GtkWindow * parent) { GtkWidget *dlg_vbox; GtkWidget *table; GtkWidget *lbl; GtkWidget *hbox; GtkWidget *host_list; GPtrArray *host_entries; gint i; gchar *host_name, *host_port, *host_name_port, temp_str[50]; gboolean default_returned; if (connect_private_dlg) { gtk_window_present(GTK_WINDOW(connect_private_dlg)); return; } connect_private_dlg = gtk_dialog_new_with_buttons( /* Dialog caption */ _("" "Join a private game"), GTK_WINDOW (parent), 0, /* Button text */ _ ("_Cancel"), GTK_RESPONSE_CANCEL, /* Button text */ _ ("_Join"), GTK_RESPONSE_OK, NULL); gtk_dialog_set_default_response(GTK_DIALOG(connect_private_dlg), GTK_RESPONSE_OK); g_signal_connect(G_OBJECT(connect_private_dlg), "response", G_CALLBACK(connect_private_dlg_cb), NULL); g_signal_connect(G_OBJECT(connect_private_dlg), "destroy", G_CALLBACK(gtk_widget_destroyed), &connect_private_dlg); gtk_widget_realize(connect_private_dlg); gdk_window_set_functions(gtk_widget_get_window (connect_private_dlg), GDK_FUNC_MOVE | GDK_FUNC_CLOSE); dlg_vbox = gtk_dialog_get_content_area(GTK_DIALOG(connect_private_dlg)); gtk_widget_show(dlg_vbox); table = gtk_table_new(3, 2, FALSE); gtk_widget_show(table); gtk_box_pack_start(GTK_BOX(dlg_vbox), table, FALSE, TRUE, 0); gtk_container_set_border_width(GTK_CONTAINER(table), 5); gtk_table_set_row_spacings(GTK_TABLE(table), 3); gtk_table_set_col_spacings(GTK_TABLE(table), 5); /* Label */ lbl = gtk_label_new(_("Server host")); gtk_widget_show(lbl); gtk_table_attach(GTK_TABLE(table), lbl, 0, 1, 0, 1, GTK_FILL, GTK_EXPAND, 0, 0); gtk_misc_set_alignment(GTK_MISC(lbl), 0, 0.5); host_entry = gtk_entry_new(); gtk_widget_show(host_entry); gtk_table_attach(GTK_TABLE(table), host_entry, 1, 2, 0, 1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); gtk_entry_set_text(GTK_ENTRY(host_entry), connect_server); gtk_widget_set_tooltip_text(host_entry, /* Tooltip */ _("Name of the host of the game")); connect_set_field(&connect_server, connect_server); /* Label */ lbl = gtk_label_new(_("Server port")); gtk_widget_show(lbl); gtk_table_attach(GTK_TABLE(table), lbl, 0, 1, 1, 2, GTK_FILL, GTK_EXPAND, 0, 0); gtk_misc_set_alignment(GTK_MISC(lbl), 0, 0.5); hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); gtk_widget_show(hbox); gtk_table_attach(GTK_TABLE(table), hbox, 1, 2, 1, 2, GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); port_entry = gtk_entry_new(); gtk_widget_show(port_entry); gtk_box_pack_start(GTK_BOX(hbox), port_entry, FALSE, TRUE, 0); gtk_entry_set_text(GTK_ENTRY(port_entry), connect_port); gtk_widget_set_tooltip_text(port_entry, /* Tooltip */ _("Port of the host of the game")); connect_set_field(&connect_port, connect_port); host_list = gtk_combo_box_text_new(); host_entries = g_ptr_array_new(); gtk_widget_show(host_list); for (i = 0; i < PRIVATE_GAME_HISTORY_SIZE; i++) { sprintf(temp_str, "favorites/server%dname=", i); host_name = config_get_string(temp_str, &default_returned); if (default_returned || !strlen(host_name)) { g_free(host_name); break; } sprintf(temp_str, "favorites/server%dport=", i); host_port = config_get_string(temp_str, &default_returned); if (default_returned || !strlen(host_port)) { g_free(host_name); g_free(host_port); break; } host_name_port = g_strconcat(host_name, ":", host_port, NULL); g_free(host_name); g_free(host_port); g_ptr_array_add(host_entries, host_name_port); gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT (host_list), host_name_port); } if (i > 0) gtk_combo_box_set_active(GTK_COMBO_BOX(host_list), 0); g_signal_connect(G_OBJECT(host_list), "changed", G_CALLBACK(host_list_select_cb), host_entries); gtk_table_attach(GTK_TABLE(table), host_list, 1, 2, 2, 3, GTK_FILL, GTK_FILL, 0, 0); /* Tooltip */ gtk_widget_set_tooltip_text(host_list, _("Recent games")); /* Label */ lbl = gtk_label_new(_("Recent games")); gtk_widget_show(lbl); gtk_table_attach(GTK_TABLE(table), lbl, 0, 1, 2, 3, GTK_FILL, GTK_EXPAND, 0, 0); gtk_misc_set_alignment(GTK_MISC(lbl), 0, 0.5); gtk_entry_set_activates_default(GTK_ENTRY(host_entry), TRUE); gtk_entry_set_activates_default(GTK_ENTRY(port_entry), TRUE); gtk_widget_show(connect_private_dlg); } pioneers-15.5/client/gtk/legend.c0000644000175000017500000002217013252223516013661 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * Copyright (C) 2005 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include "frontend.h" #include "theme.h" #include "map-icons.h" #include "cost.h" #include "resource-view.h" /* The order of the terrain_names is EXTREMELY important! The order * must match the enum Terrain. */ static const gchar *terrain_names[] = { N_("Hill"), N_("Field"), N_("Mountain"), N_("Pasture"), N_("Forest"), N_("Desert"), N_("Sea"), N_("Gold") }; static GtkWidget *legend_dlg = NULL; static gboolean legend_did_connect = FALSE; static void legend_theme_changed(void); static void legend_rules_changed(void); static void add_legend_terrain(GtkWidget * table, guint row, guint col, Terrain terrain, Resource resource) { GtkWidget *label; gtk_table_attach(GTK_TABLE(table), terrain_icon_new(terrain), col, col + 1, row, row + 1, (GtkAttachOptions) GTK_FILL, (GtkAttachOptions) GTK_FILL, 0, 0); label = gtk_label_new(_(terrain_names[terrain])); gtk_widget_show(label); gtk_table_attach(GTK_TABLE(table), label, col + 1, col + 2, row, row + 1, (GtkAttachOptions) GTK_FILL, (GtkAttachOptions) GTK_FILL, 0, 0); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); if (resource < NO_RESOURCE) { label = resource_view_new_single_resource(resource); gtk_widget_show(label); gtk_table_attach(GTK_TABLE(table), label, col + 2, col + 3, row, row + 1, (GtkAttachOptions) GTK_FILL, (GtkAttachOptions) GTK_FILL, 0, 0); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); label = gtk_label_new(resource_name(resource, TRUE)); gtk_widget_show(label); gtk_table_attach(GTK_TABLE(table), label, col + 3, col + 4, row, row + 1, (GtkAttachOptions) GTK_FILL, (GtkAttachOptions) GTK_FILL, 0, 0); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); } } static void add_legend_cost(GtkWidget * table, guint row, const gchar * iconname, const gchar * item, const gint * cost) { GtkWidget *label; GtkWidget *icon; icon = gtk_image_new_from_stock(iconname, GTK_ICON_SIZE_MENU); gtk_widget_show(icon); gtk_table_attach(GTK_TABLE(table), icon, 0, 1, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); label = gtk_label_new(item); gtk_widget_show(label); gtk_table_attach(GTK_TABLE(table), label, 1, 2, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); label = resource_view_new(); resource_view_set(RESOURCE_VIEW(label), cost); gtk_widget_show(label); gtk_table_attach(GTK_TABLE(table), label, 2, 3, row, row + 1, GTK_FILL, GTK_FILL, 0, 0); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); } static GtkWidget *legend_create_content_with_scrolling(gboolean enable_scrolling) { GtkWidget *hbox; GtkWidget *vbox; GtkWidget *label; GtkWidget *table; GtkWidget *vsep; GtkWidget *alignment; guint num_rows; GtkWidget *viewport; GtkWidget *scrolled_window; hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 6); gtk_container_set_border_width(GTK_CONTAINER(vbox), 6); label = gtk_label_new(NULL); /* Label */ gtk_label_set_markup(GTK_LABEL(label), _("Terrain yield")); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); gtk_widget_show(label); gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, TRUE, 0); alignment = gtk_alignment_new(0.0, 0.0, 0.0, 0.0); gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 0, 12, 0); gtk_widget_show(alignment); gtk_box_pack_start(GTK_BOX(vbox), alignment, FALSE, FALSE, 0); table = gtk_table_new(4, 9, FALSE); gtk_widget_show(table); gtk_container_add(GTK_CONTAINER(alignment), table); gtk_table_set_row_spacings(GTK_TABLE(table), 3); gtk_table_set_col_spacings(GTK_TABLE(table), 6); add_legend_terrain(table, 0, 0, HILL_TERRAIN, BRICK_RESOURCE); add_legend_terrain(table, 1, 0, FIELD_TERRAIN, GRAIN_RESOURCE); add_legend_terrain(table, 2, 0, MOUNTAIN_TERRAIN, ORE_RESOURCE); add_legend_terrain(table, 3, 0, PASTURE_TERRAIN, WOOL_RESOURCE); vsep = gtk_separator_new(GTK_ORIENTATION_VERTICAL); gtk_widget_show(vsep); gtk_table_attach(GTK_TABLE(table), vsep, 4, 5, 0, 4, GTK_FILL, GTK_FILL, 0, 0); add_legend_terrain(table, 0, 5, FOREST_TERRAIN, LUMBER_RESOURCE); add_legend_terrain(table, 1, 5, GOLD_TERRAIN, GOLD_RESOURCE); add_legend_terrain(table, 2, 5, DESERT_TERRAIN, NO_RESOURCE); add_legend_terrain(table, 3, 5, SEA_TERRAIN, NO_RESOURCE); label = gtk_label_new(NULL); /* Label */ gtk_label_set_markup(GTK_LABEL(label), _("Building costs")); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); gtk_widget_show(label); gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, TRUE, 0); alignment = gtk_alignment_new(0.0, 0.0, 0.0, 0.0); gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 0, 12, 0); gtk_widget_show(alignment); gtk_box_pack_start(GTK_BOX(vbox), alignment, FALSE, FALSE, 0); num_rows = 4; if (have_ships()) num_rows++; if (have_bridges()) num_rows++; if (have_city_walls()) num_rows++; table = gtk_table_new(num_rows, 3, FALSE); gtk_widget_show(table); gtk_container_add(GTK_CONTAINER(alignment), table); gtk_table_set_row_spacings(GTK_TABLE(table), 3); gtk_table_set_col_spacings(GTK_TABLE(table), 5); num_rows = 0; add_legend_cost(table, num_rows++, PIONEERS_PIXMAP_ROAD, _("Road"), cost_road()); if (have_ships()) add_legend_cost(table, num_rows++, PIONEERS_PIXMAP_SHIP, _("Ship"), cost_ship()); if (have_bridges()) add_legend_cost(table, num_rows++, PIONEERS_PIXMAP_BRIDGE, _("Bridge"), cost_bridge()); add_legend_cost(table, num_rows++, PIONEERS_PIXMAP_SETTLEMENT, _("Settlement"), cost_settlement()); add_legend_cost(table, num_rows++, PIONEERS_PIXMAP_CITY, _("City"), cost_upgrade_settlement()); if (have_city_walls()) add_legend_cost(table, num_rows++, PIONEERS_PIXMAP_CITY_WALL, _("City wall"), cost_city_wall()); add_legend_cost(table, num_rows++, PIONEERS_PIXMAP_DEVELOP, _("Development card"), cost_development()); gtk_widget_show(vbox); gtk_box_pack_start(GTK_BOX(hbox), vbox, FALSE, FALSE, 0); gtk_widget_show(hbox); if (!enable_scrolling) { return hbox; } viewport = gtk_viewport_new(NULL, NULL); gtk_widget_show(viewport); gtk_container_add(GTK_CONTAINER(viewport), hbox); scrolled_window = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW (scrolled_window), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW (scrolled_window), GTK_SHADOW_NONE); gtk_widget_show(scrolled_window); gtk_container_add(GTK_CONTAINER(scrolled_window), viewport); return scrolled_window; } GtkWidget *legend_create_content(void) { return legend_create_content_with_scrolling(TRUE); } GtkWidget *legend_create_dlg(void) { GtkWidget *dlg_vbox; GtkWidget *vbox; if (legend_dlg != NULL) { gtk_window_present(GTK_WINDOW(legend_dlg)); return legend_dlg; } /* Dialog caption */ legend_dlg = gtk_dialog_new_with_buttons(_("Legend"), GTK_WINDOW(app_window), GTK_DIALOG_DESTROY_WITH_PARENT, /* Button text */ _("_Close"), GTK_RESPONSE_CLOSE, NULL); g_signal_connect(G_OBJECT(legend_dlg), "destroy", G_CALLBACK(gtk_widget_destroyed), &legend_dlg); dlg_vbox = gtk_dialog_get_content_area(GTK_DIALOG(legend_dlg)); gtk_widget_show(dlg_vbox); vbox = legend_create_content_with_scrolling(FALSE); gtk_box_pack_start(GTK_BOX(dlg_vbox), vbox, TRUE, TRUE, 0); gtk_widget_show(legend_dlg); if (!legend_did_connect) { theme_register_callback(G_CALLBACK(legend_theme_changed)); gui_rules_register_callback(G_CALLBACK (legend_rules_changed)); legend_did_connect = TRUE; } /* destroy dialog when OK is clicked */ g_signal_connect(legend_dlg, "response", G_CALLBACK(gtk_widget_destroy), NULL); return legend_dlg; } static void legend_theme_changed(void) { if (legend_dlg) gtk_widget_queue_draw(legend_dlg); } static void legend_rules_changed(void) { if (legend_dlg) { GtkWidget *dlg_vbox = gtk_dialog_get_content_area(GTK_DIALOG(legend_dlg)); GtkWidget *vbox; GList *list = gtk_container_get_children(GTK_CONTAINER(dlg_vbox)); if (g_list_length(list) > 0) gtk_widget_destroy(GTK_WIDGET(list->data)); vbox = legend_create_content(); gtk_box_pack_start(GTK_BOX(dlg_vbox), vbox, TRUE, TRUE, 0); g_list_free(list); } } pioneers-15.5/client/gtk/histogram.c0000644000175000017500000002007413252223516014421 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2004,2011 Roland Clobus * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include "frontend.h" #include "histogram.h" #include "theme.h" static const int DIALOG_HEIGHT = 270; static const int DIALOG_WIDTH = 450; static const int GRID_DIVISIONS = 4; static const int BAR_SEPARATION = 3; static const int CHIT_DIAGRAM_SEPARATION = 3; static const int SPACING_AROUND = 6; static void histogram_update(gint roll); static GtkWidget *histogram_dlg; static GtkWidget *histogram_area; static gint last_roll; static int histogram[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; /* * * Non-Gui stuff -- maintain dice histogram state * */ void histogram_dice_rolled(gint roll, G_GNUC_UNUSED gint playernum) { g_assert(roll >= 2 && roll <= 12); ++histogram[roll]; if (histogram_dlg) histogram_update(roll); } static gint histogram_dice_retrieve(gint roll) { g_assert(roll >= 2 && roll <= 12); return histogram[roll]; } /* * * GUI Stuff -- draw a pretty histogram picture * */ static gboolean draw_histogram_cb(GtkWidget * widget, cairo_t * cr, gpointer terrain) { gint w; gint h; gint total; gint max; gdouble le; gdouble mi; gdouble ri; gint grid_width; gint grid_height; gint grid_offset_x; gint grid_offset_y; gdouble by_36; gdouble expected_low_y, expected_high_y; gint i; gchar buff[30]; gint label_width, label_height; /* Maximum size of the labels of the y-axis */ gint width, height; /* size of the individual labels */ gdouble bar_width; PangoLayout *layout; gboolean seven_thrown; gboolean draw_labels_and_chits; gint CHIT_RADIUS; GdkPixbuf *pixbuf; GtkAllocation allocation; pixbuf = theme_get_terrain_pixbuf(GPOINTER_TO_INT(terrain)); cairo_set_line_width(cr, 1.0); gtk_widget_get_allocation(widget, &allocation); w = allocation.width; h = allocation.height; /* Calculate the highest dice throw */ max = 0; for (i = 2; i <= 12; i++) { if (histogram_dice_retrieve(i) > max) { max = histogram_dice_retrieve(i); } /* Make max a multiple of GRID_DIVISIONS */ if (max % GRID_DIVISIONS != 0) max += GRID_DIVISIONS - (max % GRID_DIVISIONS); } if (max == 0) max = GRID_DIVISIONS; /* Calculate size of the labels of the y-axis */ sprintf(buff, "%d", max); layout = gtk_widget_create_pango_layout(widget, buff); pango_layout_get_pixel_size(layout, &label_width, &label_height); CHIT_RADIUS = guimap_get_chit_radius(layout, TRUE); /* Determine if the drawing area is large enough to draw the labels */ draw_labels_and_chits = TRUE; if (label_width + (CHIT_RADIUS + 1) * 2 * 11 > w) draw_labels_and_chits = FALSE; if (label_height * 5 + CHIT_RADIUS * 2 > h) draw_labels_and_chits = FALSE; grid_offset_x = (draw_labels_and_chits ? label_width : 0) + SPACING_AROUND; grid_width = w - grid_offset_x - SPACING_AROUND; grid_offset_y = (draw_labels_and_chits ? label_height : 0); grid_height = h - grid_offset_y - (draw_labels_and_chits ? 2 * CHIT_RADIUS : 0) - CHIT_DIAGRAM_SEPARATION; /* horizontal grid */ for (i = 0; i <= GRID_DIVISIONS; ++i) { gdouble y = grid_offset_y + grid_height - 0.5 - (gdouble) i * grid_height / GRID_DIVISIONS; gdk_cairo_set_source_color(cr, &lightblue); cairo_move_to(cr, grid_offset_x, y); cairo_line_to(cr, w - SPACING_AROUND, y); cairo_stroke(cr); if (draw_labels_and_chits) { sprintf(buff, "%d", i * max / GRID_DIVISIONS); pango_layout_set_text(layout, buff, -1); pango_layout_get_pixel_size(layout, &width, &height); gdk_cairo_set_source_color(cr, &black); cairo_move_to(cr, label_width - width + SPACING_AROUND, y - height / 2.0); pango_cairo_show_layout(cr, layout); } } bar_width = (grid_width - 12 * BAR_SEPARATION) / 11.0; grid_offset_x += BAR_SEPARATION; /* histogram bars */ for (i = 2; i <= 12; i++) { gdouble bh = (gdouble) grid_height * histogram_dice_retrieve(i) / max + 0.5; gdouble x = grid_offset_x + (i - 2) * (bar_width + BAR_SEPARATION); gdk_cairo_set_source_pixbuf(cr, pixbuf, 0.0, 0.0); cairo_pattern_set_extend(cairo_get_source(cr), CAIRO_EXTEND_REPEAT); cairo_rectangle(cr, x, grid_height + grid_offset_y - bh, bar_width, bh); cairo_fill(cr); if (draw_labels_and_chits) { sprintf(buff, "%d", histogram_dice_retrieve(i)); pango_layout_set_markup(layout, buff, -1); pango_layout_get_pixel_size(layout, &width, &height); gdk_cairo_set_source_color(cr, &black); cairo_move_to(cr, x + (bar_width - width) / 2, grid_height + grid_offset_y - bh - height); pango_cairo_show_layout(cr, layout); draw_dice_roll(layout, cr, x + bar_width / 2, h - CHIT_RADIUS - 1, CHIT_RADIUS, i, SEA_TERRAIN, i == last_roll); } } /* expected value */ seven_thrown = histogram_dice_retrieve(7) != 0; total = 0; for (i = 2; i <= 12; i++) { total += histogram_dice_retrieve(i); } by_36 = total * grid_height / max / (seven_thrown ? 36.0 : 30.0); expected_low_y = grid_height + grid_offset_y - 1 - by_36; expected_high_y = grid_height + grid_offset_y - 1 - (seven_thrown ? 6 : 5) * by_36; le = grid_offset_x + bar_width / 2; mi = le + 5 * (bar_width + BAR_SEPARATION); ri = mi + 5 * (bar_width + BAR_SEPARATION); gdk_cairo_set_source_color(cr, &red); cairo_move_to(cr, le, expected_low_y); cairo_line_to(cr, mi - (seven_thrown ? 0 : bar_width + BAR_SEPARATION), expected_high_y); cairo_move_to(cr, mi + (seven_thrown ? 0 : bar_width + BAR_SEPARATION), expected_high_y); cairo_line_to(cr, ri, expected_low_y); cairo_stroke(cr); g_object_unref(layout); return TRUE; } static void histogram_destroyed_cb(GtkWidget * widget, gpointer arg) { gtk_widget_destroyed(histogram_area, &histogram_area); gtk_widget_destroyed(widget, arg); } GtkWidget *histogram_create_dlg(void) { GtkWidget *dlg_vbox; if (histogram_dlg != NULL) { return histogram_dlg; } /* Dialog caption */ histogram_dlg = gtk_dialog_new_with_buttons(_("Dice Histogram"), GTK_WINDOW(app_window), GTK_DIALOG_DESTROY_WITH_PARENT, /* Button text */ _("_Close"), GTK_RESPONSE_CLOSE, NULL); g_signal_connect(G_OBJECT(histogram_dlg), "destroy", G_CALLBACK(histogram_destroyed_cb), &histogram_dlg); gtk_window_set_default_size(GTK_WINDOW(histogram_dlg), DIALOG_WIDTH, DIALOG_HEIGHT); dlg_vbox = gtk_dialog_get_content_area(GTK_DIALOG(histogram_dlg)); histogram_area = gtk_drawing_area_new(); g_signal_connect(G_OBJECT(histogram_area), "draw", G_CALLBACK(draw_histogram_cb), GINT_TO_POINTER(SEA_TERRAIN)); gtk_box_pack_start(GTK_BOX(dlg_vbox), histogram_area, TRUE, TRUE, SPACING_AROUND); gtk_widget_show(histogram_area); gtk_widget_show(histogram_dlg); g_signal_connect(histogram_dlg, "response", G_CALLBACK(gtk_widget_destroy), NULL); histogram_update(0); return histogram_dlg; } static void histogram_update(gint roll) { last_roll = roll; gtk_widget_queue_draw(histogram_area); } static void histogram_theme_changed(void) { if (histogram_dlg) gtk_widget_queue_draw(histogram_area); } void histogram_init(void) { theme_register_callback(G_CALLBACK(histogram_theme_changed)); } void histogram_reset(void) { gint i; for (i = 2; i <= 12; ++i) histogram[i] = 0; if (histogram_dlg) histogram_update(0); } pioneers-15.5/client/common/0000755000175000017500000000000013252243610013035 500000000000000pioneers-15.5/client/common/callback.c0000644000175000017500000003571413252223516014672 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 2003,2006 Bas Wijnen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include #include "callback.h" #include "state.h" #include "client.h" #include "cost.h" /* callbacks is a pointer to an array of function pointers. * It is filled in by the front end. */ struct callbacks callbacks; /* current callback mode */ enum callback_mode callback_mode; /* is chat currently colourful? */ gboolean color_chat_enabled; void cb_connect(const gchar * server, const gchar * port, gboolean spectator) { /* connect to a server */ g_assert(callback_mode == MODE_INIT); requested_spectator = spectator; if (sm_connect(SM(), server, port)) { if (sm_is_connected(SM())) { sm_goto(SM(), mode_start); } else { sm_goto(SM(), mode_connecting); } } else { callbacks.offline(); } } void cb_disconnect(void) { sm_close(SM()); callback_mode = MODE_INIT; callbacks.offline(); } void cb_roll(void) { /* roll dice */ g_assert(callback_mode == MODE_TURN && !have_rolled_dice()); sm_send(SM(), "roll\n"); /* This should really be sm_push, but on return it should be * sm_pop_noenter; sm_goto_noenter; sm_push, and since sm_pop_noenter * doesn't exist, the combination is changed into * sm_goto here and sm_goto_noenter; sm_push later. */ sm_goto(SM(), mode_roll_response); } void cb_build_road(const Edge * edge) { /* build road */ g_assert(callback_mode == MODE_TURN || callback_mode == MODE_ROAD_BUILD || callback_mode == MODE_SETUP); sm_send(SM(), "build road %d %d %d\n", edge->x, edge->y, edge->pos); sm_push(SM(), mode_build_response); } void cb_build_ship(const Edge * edge) { /* build ship */ g_assert(callback_mode == MODE_TURN || callback_mode == MODE_ROAD_BUILD || callback_mode == MODE_SETUP); sm_send(SM(), "build ship %d %d %d\n", edge->x, edge->y, edge->pos); sm_push(SM(), mode_build_response); } void cb_build_bridge(const Edge * edge) { /* build bridge */ g_assert(callback_mode == MODE_TURN || callback_mode == MODE_ROAD_BUILD || callback_mode == MODE_SETUP); sm_send(SM(), "build bridge %d %d %d\n", edge->x, edge->y, edge->pos); sm_push(SM(), mode_build_response); } void cb_move_ship(const Edge * from, const Edge * to) { /* move ship */ g_assert(callback_mode == MODE_TURN); sm_send(SM(), "move %d %d %d %d %d %d\n", from->x, from->y, from->pos, to->x, to->y, to->pos); sm_push(SM(), mode_move_response); } void cb_build_settlement(const Node * node) { /* build settlement */ g_assert(callback_mode == MODE_TURN || callback_mode == MODE_SETUP); sm_send(SM(), "build settlement %d %d %d\n", node->x, node->y, node->pos); sm_push(SM(), mode_build_response); } void cb_build_city(const Node * node) { /* build city */ g_assert(callback_mode == MODE_TURN); sm_send(SM(), "build city %d %d %d\n", node->x, node->y, node->pos); sm_push(SM(), mode_build_response); } void cb_build_city_wall(const Node * node) { /* build city */ g_assert(callback_mode == MODE_TURN); sm_send(SM(), "build city_wall %d %d %d\n", node->x, node->y, node->pos); sm_push(SM(), mode_build_response); } void cb_buy_develop(void) { /* buy development card */ g_assert(callback_mode == MODE_TURN && can_buy_develop()); sm_send(SM(), "buy-develop\n"); sm_push(SM(), mode_buy_develop_response); } void cb_play_develop(guint card) { /* play development card */ g_assert(callback_mode == MODE_TURN && can_play_develop(card)); sm_send(SM(), "play-develop %u\n", card); sm_push(SM(), mode_play_develop_response); } void cb_undo(void) { /* undo a move */ g_assert(callback_mode == MODE_TURN || callback_mode == MODE_ROAD_BUILD || callback_mode == MODE_SETUP || callback_mode == MODE_ROB); sm_send(SM(), "undo\n"); sm_push(SM(), mode_undo_response); } void cb_maritime(gint ratio, Resource supply, Resource receive) { /* trade with the bank */ g_assert(callback_mode == MODE_TURN || callback_mode == MODE_DOMESTIC); sm_send(SM(), "maritime-trade %d supply %r receive %r\n", ratio, supply, receive); sm_push(SM(), mode_trade_maritime_response); } void cb_domestic(const gint * supply, const gint * receive) { /* call for quotes */ g_assert(callback_mode == MODE_TURN || callback_mode == MODE_DOMESTIC); sm_send(SM(), "domestic-trade call supply %R receive %R\n", supply, receive); if (callback_mode == MODE_DOMESTIC) { sm_push(SM(), mode_trade_call_again_response); } else { sm_push(SM(), mode_trade_call_response); } } void cb_end_turn(void) { /* end turn or road building or setup */ g_assert(callback_mode == MODE_TURN || callback_mode == MODE_ROAD_BUILD || callback_mode == MODE_SETUP); sm_send(SM(), "done\n"); sm_push(SM(), mode_done_response); } void cb_place_robber(const Hex * hex) { /* place robber */ g_assert(callback_mode == MODE_ROBBER); sm_send(SM(), "move-robber %d %d\n", hex->x, hex->y); sm_push(SM(), mode_robber_move_response); } void cb_rob(gint victim_num) { /* after placing the robber, rob someone */ g_assert(callback_mode == MODE_ROB); sm_send(SM(), "rob %d\n", victim_num); sm_push(SM(), mode_robber_response); } void cb_choose_monopoly(gint resource) { /* choose a monopoly resource */ g_assert(callback_mode == MODE_MONOPOLY); sm_send(SM(), "monopoly %r\n", resource); sm_push(SM(), mode_monopoly_response); } void cb_choose_plenty(gint * resources) { /* choose year of plenty resources */ g_assert(callback_mode == MODE_PLENTY); sm_send(SM(), "plenty %R\n", resources); sm_push(SM(), mode_year_of_plenty_response); } void cb_trade(gint player, gint quote, const gint * supply, const gint * receive) { /* accept a domestic trade */ g_assert(callback_mode == MODE_DOMESTIC); sm_send(SM(), "domestic-trade accept player %d quote %d supply %R receive %R\n", player, quote, supply, receive); sm_push(SM(), mode_trade_domestic_response); } void cb_end_trade(void) { /* stop trading */ g_assert(callback_mode == MODE_DOMESTIC); sm_send(SM(), "domestic-trade finish\n"); sm_push(SM(), mode_domestic_finish_response); } void cb_quote(gint num, const gint * supply, const gint * receive) { /* make a quote */ g_assert(callback_mode == MODE_QUOTE); sm_send(SM(), "domestic-quote quote %d supply %R receive %R\n", num, supply, receive); sm_push(SM(), mode_quote_submit_response); } void cb_delete_quote(gint num) { /* revoke a quote */ g_assert(callback_mode == MODE_QUOTE); sm_send(SM(), "domestic-quote delete %d\n", num); sm_push(SM(), mode_quote_delete_response); } void cb_end_quote(void) { /* stop trading */ g_assert(callback_mode == MODE_QUOTE); sm_send(SM(), "domestic-quote finish\n"); sm_push(SM(), mode_quote_finish_response); } void cb_chat(const gchar * text) { /* chat a message */ g_assert(callback_mode != MODE_INIT); sm_send(SM(), "chat %s\n", text); } void cb_name_change(const gchar * name) { /* change your name */ g_assert(callback_mode != MODE_INIT); sm_send(SM(), "name %s\n", name); } void cb_style_change(const gchar * style) { /* change your style */ g_assert(callback_mode != MODE_INIT); sm_send(SM(), "style %s\n", style); } void cb_discard(const gint * resources) { /* discard resources */ g_assert(callback_mode == MODE_DISCARD); callback_mode = MODE_DISCARD_WAIT; sm_send(SM(), "discard %R\n", resources); } void cb_choose_gold(const gint * resources) { /* choose gold */ g_assert(callback_mode == MODE_GOLD); callback_mode = MODE_GOLD_WAIT; sm_send(SM(), "chose-gold %R\n", resources); } gboolean have_ships(void) { return game_params == NULL || game_params->num_build_type[BUILD_SHIP] > 0; } gboolean have_bridges(void) { return game_params == NULL || game_params->num_build_type[BUILD_BRIDGE] > 0; } gboolean have_city_walls(void) { return game_params == NULL || game_params->num_build_type[BUILD_CITY_WALL] > 0; } const GameParams *get_game_params(void) { return game_params; } gint game_resources(void) { return game_params->resource_count; } guint game_victory_points(void) { return game_params->victory_points; } gint stat_get_vp_value(StatisticType type) { /* victory point values of all the statistic types */ static gint stat_vp_values[] = { 1, /* settlement */ 2, /* city */ 0, /* city wall */ 2, /* largest army */ 2, /* longest road */ 1, /* chapel */ 1, /* pioneer university */ 1, /* governor's house */ 1, /* library */ 1, /* market */ 0, /* soldier */ 0, /* resource card */ 0, /* development card */ }; return stat_vp_values[type]; } gboolean can_undo(void) { return build_can_undo(); } gboolean road_building_can_build_road(void) { return build_count_edges() < 2 && stock_num_roads() > 0 && map_can_place_road(callbacks.get_map(), my_player_num()); } gboolean road_building_can_build_ship(void) { return build_count_edges() < 2 && stock_num_ships() > 0 && map_can_place_ship(callbacks.get_map(), my_player_num()); } gboolean road_building_can_build_bridge(void) { return build_count_edges() < 2 && stock_num_bridges() > 0 && map_can_place_bridge(callbacks.get_map(), my_player_num()); } gboolean road_building_can_finish(void) { return !road_building_can_build_road() && !road_building_can_build_ship() && !road_building_can_build_bridge() && build_is_valid(); } gboolean turn_can_build_road(void) { return have_rolled_dice() && stock_num_roads() > 0 && can_afford(cost_road()) && map_can_place_road(callbacks.get_map(), my_player_num()); } gboolean turn_can_build_ship(void) { return have_rolled_dice() && stock_num_ships() > 0 && can_afford(cost_ship()) && map_can_place_ship(callbacks.get_map(), my_player_num()); } gboolean turn_can_build_bridge(void) { return have_rolled_dice() && stock_num_bridges() > 0 && can_afford(cost_bridge()) && map_can_place_bridge(callbacks.get_map(), my_player_num()); } gboolean turn_can_build_settlement(void) { return have_rolled_dice() && stock_num_settlements() > 0 && can_afford(cost_settlement()) && map_can_place_settlement(callbacks.get_map(), my_player_num()); } gboolean turn_can_build_city(void) { return have_rolled_dice() && stock_num_cities() > 0 && can_afford(cost_upgrade_settlement()) && map_can_upgrade_settlement(callbacks.get_map(), my_player_num()); } gboolean turn_can_build_city_wall(void) { return have_rolled_dice() && stock_num_city_walls() > 0 && can_afford(cost_city_wall()) && map_can_place_city_wall(callbacks.get_map(), my_player_num()); } gboolean turn_can_trade(void) { /* We are not allowed to trade before we have rolled the dice, * or after we have done built a settlement / city, or after * buying a development card. */ if (!have_rolled_dice()) return FALSE; if (game_params->strict_trade && (have_built() || have_bought_develop())) return FALSE; return can_trade_maritime() || can_trade_domestic(); } static gboolean really_try_move_ship(const Hex * hex, gpointer closure) { guint idx; const Edge *from = closure; for (idx = 0; idx < G_N_ELEMENTS(hex->edges); ++idx) { const Edge *edge; edge = hex->edges[idx]; if (edge->x != hex->x || edge->y != hex->y) continue; if (can_move_ship(from, edge)) return TRUE; } return FALSE; } gboolean can_move_ship(const Edge * from, const Edge * to) { gboolean retval; gint owner; Edge *ship_sailed_from_here; if (to == from) return FALSE; g_assert(from->type == BUILD_SHIP); owner = from->owner; if (!can_ship_be_moved(from, owner)) return FALSE; ship_sailed_from_here = map_edge(callbacks.get_map(), from->x, from->y, from->pos); /* Copy to non-const pointer */ ship_sailed_from_here->owner = -1; ship_sailed_from_here->type = BUILD_NONE; retval = can_ship_be_built(to, owner); ship_sailed_from_here->owner = owner; ship_sailed_from_here->type = BUILD_SHIP; return retval; } static gboolean try_move_ship(const Hex * hex, G_GNUC_UNUSED gpointer closure) { guint idx; for (idx = 0; idx < G_N_ELEMENTS(hex->edges); ++idx) { Edge *edge; /* Huh? Can non-const be taken from const Hex ? */ edge = hex->edges[idx]; if (edge->x != hex->x || edge->y != hex->y) continue; if (edge->owner != my_player_num() || edge->type != BUILD_SHIP) continue; if (map_traverse_const (callbacks.get_map(), really_try_move_ship, edge)) return TRUE; } return FALSE; } gboolean turn_can_move_ship(void) { if (!have_rolled_dice() || callbacks.get_map()->has_moved_ship) return FALSE; return map_traverse_const(callbacks.get_map(), try_move_ship, NULL); } guint robber_count_victims(const Hex * hex, gint * victim_list) { guint idx; guint node_idx; guint num_victims; /* If there is no-one to steal from, or the players have no * resources, we do not go into steal_resource. */ for (idx = 0; idx < G_N_ELEMENTS(hex->nodes); idx++) victim_list[idx] = -1; num_victims = 0; for (node_idx = 0; node_idx < G_N_ELEMENTS(hex->nodes); node_idx++) { Node *node = hex->nodes[node_idx]; Player *owner; if (node->type == BUILD_NONE || node->owner == my_player_num()) /* Can't steal from myself */ continue; /* Check if the node owner has any resources */ owner = player_get(node->owner); if (owner->statistics[STAT_RESOURCES] > 0) { /* Has resources - we can steal */ for (idx = 0; idx < num_victims; idx++) if (victim_list[idx] == node->owner) break; if (idx == num_victims) victim_list[num_victims++] = node->owner; } } return num_victims; } guint pirate_count_victims(const Hex * hex, gint * victim_list) { guint idx; guint edge_idx; guint num_victims; /* If there is no-one to steal from, or the players have no * resources, we do not go into steal_resource. */ for (idx = 0; idx < G_N_ELEMENTS(hex->edges); idx++) victim_list[idx] = -1; num_victims = 0; for (edge_idx = 0; edge_idx < G_N_ELEMENTS(hex->edges); edge_idx++) { Edge *edge = hex->edges[edge_idx]; Player *owner; if (edge->type != BUILD_SHIP || edge->owner == my_player_num()) /* Can't steal from myself */ continue; /* Check if the node owner has any resources */ owner = player_get(edge->owner); if (owner->statistics[STAT_RESOURCES] > 0) { /* Has resources - we can steal */ for (idx = 0; idx < num_victims; idx++) if (victim_list[idx] == edge->owner) break; if (idx == num_victims) victim_list[num_victims++] = edge->owner; } } return num_victims; } pioneers-15.5/client/common/Makefile.am0000644000175000017500000000252110771471222015016 00000000000000# Pioneers - Implementation of the excellent Settlers of Catan board game. # Go buy a copy. # # Copyright (C) 1999 Dave Cole # Copyright (C) 2003, 2006 Bas Wijnen # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA noinst_LIBRARIES += libpioneersclient.a libpioneersclient_a_CPPFLAGS = -I$(top_srcdir)/client $(console_cflags) libpioneersclient_a_SOURCES = \ client/callback.h \ client/common/build.c \ client/common/callback.c \ client/common/client.c \ client/common/client.h \ client/common/develop.c \ client/common/main.c \ client/common/player.c \ client/common/resource.c \ client/common/robber.c \ client/common/setup.c \ client/common/stock.c \ client/common/turn.c pioneers-15.5/client/common/resource.c0000644000175000017500000001361013252223516014754 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include #include #include "cost.h" #include "log.h" #include "client.h" #include "game.h" #include "map.h" static gint bank[NO_RESOURCE]; static const gchar *resource_names[][2] = { {N_("brick"), N_("Brick")}, {N_("grain"), N_("Grain")}, {N_("ore"), N_("Ore")}, {N_("wool"), N_("Wool")}, {N_("lumber"), N_("Lumber")}, {N_("no resource (bug)"), N_("No resource (bug)")}, {N_("any resource (bug)"), N_("Any resource (bug)")}, {N_("gold"), N_("Gold")} }; static const gchar *resource_lists[][2] = { {N_("a brick card"), N_("%d brick cards")}, {N_("a grain card"), N_("%d grain cards")}, {N_("an ore card"), N_("%d ore cards")}, {N_("a wool card"), N_("%d wool cards")}, {N_("a lumber card"), N_("%d lumber cards")} }; typedef enum { RESOURCE_SINGLECARD = 0, RESOURCE_MULTICARD } ResourceListType; static gint my_assets[NO_RESOURCE]; /* my resources */ static const gchar *resource_list(Resource type, ResourceListType grammar) { return _(resource_lists[type][grammar]); } /* Clear all */ void resource_init(void) { gint idx; for (idx = 0; idx < NO_RESOURCE; idx++) { my_assets[idx] = 0; resource_modify(idx, 0); }; } void resource_apply_list(gint player_num, const gint * resources, gint mult) { gint idx; gint bank_change[NO_RESOURCE]; for (idx = 0; idx < NO_RESOURCE; idx++) { gint num = resources[idx] * mult; bank_change[idx] = -num; if (num == 0) continue; player_modify_statistic(player_num, STAT_RESOURCES, num); if (player_num == my_player_num()) resource_modify(idx, num); } modify_bank(bank_change); } gchar *resource_cards(gint num, Resource type) { /* FIXME: this should be touched up to take advantage of the GNU ngettext API */ if (num != 1) return g_strdup_printf(resource_list (type, RESOURCE_MULTICARD), num); else return g_strdup(resource_list(type, RESOURCE_SINGLECARD)); } gint resource_count(const gint * resources) { gint num; gint idx; num = 0; for (idx = 0; idx < NO_RESOURCE; idx++) num += resources[idx]; return num; } gint resource_total(void) { return resource_count(my_assets); } gchar *resource_format_num(const gint * resources) { gint idx; gint num_types; gchar *str; /* Count how many different resources in list */ num_types = 0; for (idx = 0; idx < NO_RESOURCE; idx++) if (resources[idx] != 0) num_types++; if (num_types == 0) { return g_strdup(_("nothing")); } if (num_types == 1) { for (idx = 0; idx < NO_RESOURCE; idx++) { gint num = resources[idx]; if (num == 0) continue; return g_strdup(resource_cards(num, idx)); } } str = NULL; for (idx = 0; idx < NO_RESOURCE; idx++) { gchar *old; gint num = resources[idx]; if (num == 0) continue; if (str == NULL) { str = g_strdup(resource_cards(num, idx)); num_types--; continue; } old = str; if (num_types == 1) { /* Construct "A, B and C" for resources */ str = g_strdup_printf(_("%s and %s"), str, resource_cards(num, idx)); } else { /* Construct "A, B and C" for resources */ str = g_strdup_printf(_("%s, %s"), str, resource_cards(num, idx)); } g_free(old); num_types--; } return str; } void resource_log_list(gint player_num, const gchar * action, const gint * resources) { gchar *buff; buff = resource_format_num(resources); log_message(MSG_RESOURCE, action, player_name(player_num, TRUE), buff); g_free(buff); } void resource_modify(Resource type, gint num) { my_assets[type] += num; callbacks.resource_change(type, my_assets[type]); } gboolean can_afford(const gint * cost) { return cost_can_afford(cost, my_assets); } gint resource_asset(Resource type) { return my_assets[type]; } const gchar *resource_name(Resource type, gboolean word_caps) { return _(resource_names[type][word_caps ? 1 : 0]); } void resource_format_type(gchar * str, const gint * resources) { gint idx; gint num_types; gboolean add_comma; /* Count how many different resources in list */ num_types = 0; for (idx = 0; idx < NO_RESOURCE; idx++) if (resources[idx] != 0) num_types++; if (num_types == 0) { strcpy(str, _("nothing")); return; } if (num_types == 1) { for (idx = 0; idx < NO_RESOURCE; idx++) { gint num = resources[idx]; if (num == 0) continue; strcpy(str, resource_name(idx, FALSE)); } return; } add_comma = FALSE; for (idx = 0; idx < NO_RESOURCE; idx++) { gint num = resources[idx]; if (num == 0) continue; if (add_comma) { strcpy(str, " + "); str += strlen(str); } if (num > 1) sprintf(str, "%d %s", num, resource_name(idx, FALSE)); else sprintf(str, "%s", resource_name(idx, FALSE)); add_comma = TRUE; str += strlen(str); } } const gint *get_bank(void) { return bank; } void set_bank(const gint * new_bank) { gint idx; for (idx = 0; idx < NO_RESOURCE; ++idx) bank[idx] = new_bank[idx]; callbacks.new_bank(bank); } void modify_bank(const gint * bank_change) { gint idx; for (idx = 0; idx < NO_RESOURCE; ++idx) bank[idx] += bank_change[idx]; callbacks.new_bank(bank); } pioneers-15.5/client/common/main.c0000644000175000017500000000353713252223516014060 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include #include #include "client.h" #include "callback.h" #include "network.h" static GMainLoop *loop; static void run_main(void) { loop = g_main_loop_new(NULL, FALSE); g_main_loop_run(loop); g_main_loop_unref(loop); } static void quit(void) { if (loop != NULL) { g_main_loop_quit(loop); } callbacks.mainloop = NULL; } int main(int argc, char *argv[]) { net_init(); client_init(); callbacks.mainloop = &run_main; callbacks.quit = &quit; loop = NULL; #if ENABLE_NLS setlocale(LC_ALL, ""); bindtextdomain(PACKAGE, LOCALEDIR); textdomain(PACKAGE); /* have gettext return strings in UTF-8 */ bind_textdomain_codeset(PACKAGE, "UTF-8"); #endif frontend_set_callbacks(); /* this must come after the frontend_set_callbacks, because it sets the * mode to offline, which means a callback is called. */ client_start(argc, argv); if (callbacks.mainloop != NULL) { callbacks.mainloop(); } net_finish(); return 0; } pioneers-15.5/client/common/develop.c0000644000175000017500000001460113252223516014564 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include #include #include "game.h" #include "cards.h" #include "map.h" #include "client.h" #include "cost.h" #include "log.h" #include "state.h" #include "callback.h" static gboolean bought_develop; /* have we bought a development card? */ static guint num_playable_cards; /* number of playable development cards */ static gboolean is_unique[NUM_DEVEL_TYPES]; /* is each card unique? */ static Deck *develop_deck; /* our deck of development cards */ void develop_init(void) { int idx; if (develop_deck != NULL) deck_free(develop_deck, NULL); develop_deck = deck_new(); num_playable_cards = 0; for (idx = 0; idx < NUM_DEVEL_TYPES; idx++) is_unique[idx] = game_params->num_develop_type[idx] == 1; } void develop_bought_card_turn(DevelType type, gboolean bought_this_turn) { deck_add_guint(develop_deck, type); if (bought_this_turn) { /* Cannot undo build after buying a development card */ build_clear(); bought_develop = TRUE; /* Only log if the cards is bought in the current turn. * This function is also called during reconnect */ if (is_unique[type]) log_message(MSG_DEVCARD, /* This development card is unique */ _("" "You bought the %s development card.\n"), get_devel_name(type)); else log_message(MSG_DEVCARD, /* This development card is not unique */ _("" "You bought a %s development card.\n"), get_devel_name(type)); } else { num_playable_cards++; } player_modify_statistic(my_player_num(), STAT_DEVELOPMENT, 1); stock_use_develop(); callbacks.bought_develop(type); } void develop_bought_card(DevelType type) { develop_bought_card_turn(type, TRUE); } guint get_num_playable_cards(void) { return num_playable_cards; } void develop_reset_have_played_bought(gboolean have_bought, guint number_playable_cards) { bought_develop = have_bought; num_playable_cards = number_playable_cards; } void develop_bought(gint player_num) { log_message(MSG_DEVCARD, _("%s bought a development card.\n"), player_name(player_num, TRUE)); player_modify_statistic(player_num, STAT_DEVELOPMENT, 1); stock_use_develop(); } void develop_played(gint player_num, guint card_idx, DevelType type) { if (player_num == my_player_num()) { deck_card_play(develop_deck, num_playable_cards, card_idx); if (!is_victory_card(type)) num_playable_cards = 0; } callbacks.played_develop(player_num, card_idx, type); if (is_unique[type]) log_message(MSG_DEVCARD, _("%s played the %s development card.\n"), player_name(player_num, TRUE), get_devel_name(type)); else log_message(MSG_DEVCARD, _("%s played a %s development card.\n"), player_name(player_num, TRUE), get_devel_name(type)); player_modify_statistic(player_num, STAT_DEVELOPMENT, -1); switch (type) { case DEVEL_ROAD_BUILDING: if (player_num == my_player_num()) { if (stock_num_roads() == 0 && stock_num_ships() == 0 && stock_num_bridges() == 0) log_message(MSG_INFO, _("" "You have run out of road segments.\n")); } break; case DEVEL_CHAPEL: player_modify_statistic(player_num, STAT_CHAPEL, 1); break; case DEVEL_UNIVERSITY: player_modify_statistic(player_num, STAT_UNIVERSITY, 1); break; case DEVEL_GOVERNORS_HOUSE: player_modify_statistic(player_num, STAT_GOVERNORS_HOUSE, 1); break; case DEVEL_LIBRARY: player_modify_statistic(player_num, STAT_LIBRARY, 1); break; case DEVEL_MARKET: player_modify_statistic(player_num, STAT_MARKET, 1); break; case DEVEL_SOLDIER: player_modify_statistic(player_num, STAT_SOLDIERS, 1); break; default: break; } } void monopoly_player(gint player_num, gint victim_num, gint num, Resource type) { gchar *buf; gchar *tmp; player_modify_statistic(player_num, STAT_RESOURCES, num); player_modify_statistic(victim_num, STAT_RESOURCES, -num); buf = resource_cards(num, type); if (player_num == my_player_num()) { /* I get the cards */ /* $1=resources, $2=player that loses resources */ log_message(MSG_STEAL, _("You get %s from %s.\n"), buf, player_name(victim_num, FALSE)); resource_modify(type, num); } else if (victim_num == my_player_num()) { /* I lose the cards */ /* $1=player that steals, $2=resources */ log_message(MSG_STEAL, _("%s took %s from you.\n"), player_name(player_num, TRUE), buf); resource_modify(type, -num); } else { /* I'm a bystander */ /* $1=player that steals, $2=resources, $3=player that loses resources */ tmp = g_strdup(player_name(player_num, TRUE)); log_message(MSG_STEAL, _("%s took %s from %s.\n"), tmp, buf, player_name(victim_num, FALSE)); g_free(tmp); } g_free(buf); } void develop_begin_turn(void) { bought_develop = FALSE; num_playable_cards = deck_count(develop_deck); } gboolean can_play_develop(guint card) { if (!deck_card_playable(develop_deck, num_playable_cards, card)) return FALSE; if (deck_get_guint(develop_deck, card) == DEVEL_ROAD_BUILDING && !road_building_can_build_road() && !road_building_can_build_ship() && !road_building_can_build_bridge()) return FALSE; return TRUE; } gboolean can_play_any_develop(void) { guint i; for (i = 0; i < deck_count(develop_deck); ++i) if (can_play_develop(i)) return TRUE; return FALSE; } gboolean can_buy_develop(void) { return have_rolled_dice() && stock_num_develop() > 0 && can_afford(cost_development()); } gboolean have_bought_develop(void) { return bought_develop; } const Deck *get_devel_deck(void) { return develop_deck; } pioneers-15.5/client/common/player.c0000644000175000017500000005414113252223516014425 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003,2006 Bas Wijnen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include #include #include "game.h" #include "map.h" #include "client.h" #include "cost.h" #include "log.h" #include "callback.h" static Player players[MAX_PLAYERS]; static GList *spectators; static gint turn_player = -1; /* whose turn is it */ static gint my_player_id = -1; /* what is my player number */ static gint num_total_players = 4; /* total number of players in the game */ /* this function is called when the game starts, to clean up from the * previous game. */ void player_reset(void) { guint i; guint idx; /* remove all spectators */ while (spectators != NULL) { Spectator *spectator = spectators->data; g_free(spectator->name); g_free(spectator->style); spectators = g_list_remove(spectators, spectator); } /* free player's memory */ for (i = 0; i < MAX_PLAYERS; ++i) { if (players[i].name != NULL) { g_free(players[i].name); players[i].name = NULL; } if (players[i].style != NULL) { g_free(players[i].style); players[i].style = NULL; } while (players[i].points != NULL) { Points *points = players[i].points->data; players[i].points = g_list_remove(players[i].points, points); points_free(points); g_free(points); } for (idx = 0; idx < G_N_ELEMENTS(players[i].statistics); ++idx) players[i].statistics[idx] = 0; } } Player *player_get(gint num) { return &players[num]; } gboolean player_is_spectator(gint num) { return num < 0 || num >= num_total_players; } Spectator *spectator_get(gint num) { GList *list; for (list = spectators; list != NULL; list = g_list_next(list)) { Spectator *spectator = list->data; if (spectator->num == num) break; } if (list) return list->data; return NULL; } /** Find a spectator with the given name. * @param name The name to find * @return -1 if the name is not found */ gint find_spectator_by_name(const gchar * name) { GList *list; for (list = spectators; list != NULL; list = g_list_next(list)) { Spectator *spectator = list->data; if (!strcmp(spectator->name, name)) return spectator->num; } return -1; } const gchar *player_name(gint player_num, gboolean word_caps) { static gchar buff[256]; if (player_num >= num_total_players) { /* this is about a spectator */ Spectator *spectator = spectator_get(player_num); if (spectator != NULL) return spectator->name; else { if (word_caps) sprintf(buff, _("Spectator %d"), player_num); else sprintf(buff, _("spectator %d"), player_num); return buff; } } else if (player_num >= 0) { Player *player = player_get(player_num); return player->name; } if (word_caps) sprintf(buff, _("Player %d"), player_num); else sprintf(buff, _("player %d"), player_num); return buff; } gint player_get_score(gint player_num) { Player *player = player_get(player_num); GList *list; guint i; gint score; for (i = 0, score = 0; i < G_N_ELEMENTS(player->statistics); i++) { score += stat_get_vp_value(i) * player->statistics[i]; } list = player->points; while (list) { Points *points = list->data; score += points->points; list = g_list_next(list); } return score; } gint my_player_num(void) { return my_player_id; } gint num_players(void) { return num_total_players; } void player_set_my_num(gint player_num) { my_player_id = player_num; } void player_modify_statistic(gint player_num, StatisticType type, gint num) { Player *player = player_get(player_num); player->statistics[type] += num; callbacks.new_statistics(player_num, type, num); } void player_modify_points(gint player_num, Points * points, gboolean added) { Player *player = player_get(player_num); /* if !added -> is already removed */ if (added) player->points = g_list_append(player->points, points); callbacks.new_points(player_num, points, added); } void player_change_name(gint player_num, const gchar * name) { Player *player; gchar *old_name; if (player_num < 0) return; if (player_num >= num_total_players) { /* this is about a spectator */ Spectator *spectator = spectator_get(player_num); if (spectator == NULL) { /* there is a new spectator */ spectator = g_malloc0(sizeof(*spectator)); spectators = g_list_prepend(spectators, spectator); spectator->num = player_num; spectator->name = NULL; spectator->style = g_strdup(default_player_style); old_name = NULL; } else { old_name = spectator->name; } if (old_name == NULL) log_message(MSG_INFO, _("New spectator: %s.\n"), name); else log_message(MSG_INFO, _("%s is now %s.\n"), old_name, name); spectator->name = g_strdup(name); if (old_name != NULL) g_free(old_name); callbacks.spectator_name(player_num, name); return; } player = player_get(player_num); old_name = player->name; player->name = g_strdup(name); if (old_name == NULL) log_message(MSG_INFO, _("Player %d is now %s.\n"), player_num, name); else if (strcmp(old_name, name)) log_message(MSG_INFO, _("%s is now %s.\n"), old_name, name); if (old_name != NULL) g_free(old_name); callbacks.player_name(player_num, name); } void player_change_style(gint player_num, const gchar * style) { player_set_style(player_num, style); callbacks.player_style(player_num, style); } void player_has_quit(gint player_num) { Spectator *spectator; if (player_num < 0) return; /* usually callbacks are called after the event has been handled. * Here it is called before, so the frontend can access the * information about the quitting player/spectator */ if (player_num >= num_total_players) { /* a spectator has quit */ callbacks.spectator_quit(player_num); spectator = spectator_get(player_num); g_free(spectator->name); g_free(spectator->style); spectators = g_list_remove(spectators, spectator); return; } callbacks.player_quit(player_num); log_message(MSG_INFO, _("%s has quit.\n"), player_name(player_num, TRUE)); } void player_largest_army(gint player_num) { gint idx; if (player_num < 0) log_message(MSG_LARGESTARMY, _("There is no largest army.\n")); else log_message(MSG_LARGESTARMY, _("%s has the largest army.\n"), player_name(player_num, TRUE)); for (idx = 0; idx < num_total_players; idx++) { Player *player = player_get(idx); if (player->statistics[STAT_LARGEST_ARMY] != 0 && idx != player_num) player_modify_statistic(idx, STAT_LARGEST_ARMY, -1); if (player->statistics[STAT_LARGEST_ARMY] == 0 && idx == player_num) player_modify_statistic(idx, STAT_LARGEST_ARMY, 1); } } void player_longest_road(gint player_num) { gint idx; if (player_num < 0) log_message(MSG_LONGESTROAD, _("There is no longest road.\n")); else log_message(MSG_LONGESTROAD, _("%s has the longest road.\n"), player_name(player_num, TRUE)); for (idx = 0; idx < num_total_players; idx++) { Player *player = player_get(idx); if (player->statistics[STAT_LONGEST_ROAD] != 0 && idx != player_num) player_modify_statistic(idx, STAT_LONGEST_ROAD, -1); if (player->statistics[STAT_LONGEST_ROAD] == 0 && idx == player_num) player_modify_statistic(idx, STAT_LONGEST_ROAD, 1); } } void player_set_current(gint player_num) { turn_player = player_num; if (player_num != my_player_num()) { gchar *buffer; buffer = g_strdup_printf(_("Waiting for %s."), player_name(player_num, FALSE)); callbacks.instructions(buffer); g_free(buffer); return; } build_new_turn(); } void player_set_total_num(gint num) { num_total_players = num; } void player_stole_from(gint player_num, gint victim_num, Resource resource) { player_modify_statistic(player_num, STAT_RESOURCES, 1); player_modify_statistic(victim_num, STAT_RESOURCES, -1); if (resource == NO_RESOURCE) { /* CHECK THIS: Since anonymous players (NULL) no longer exist, * player_name doesn't use its static buffer anymore, and * two calls can be safely combined. If not: ai/player.c should also be fixed */ /* FIXME: in the client, anonymous players can exist. * I prefer changing that instead of this function */ log_message(MSG_STEAL, /* We are not in on the action someone stole a resource from someone else */ _("%s stole a resource from %s.\n"), player_name(player_num, TRUE), player_name(victim_num, FALSE)); } else { gchar *buf; buf = resource_cards(1, resource); if (player_num == my_player_num()) { /* We stole a card :-) */ log_message(MSG_STEAL, /* $1=resource, $2=player name */ _("You stole %s from %s.\n"), buf, player_name(victim_num, FALSE)); resource_modify(resource, 1); } else { /* Someone stole our card :-( */ log_message(MSG_STEAL, /* $1=player name, $2=resource */ _("%s stole %s from you.\n"), player_name(player_num, TRUE), buf); resource_modify(resource, -1); } g_free(buf); } callbacks.player_robbed(player_num, victim_num, resource); } void player_domestic_trade(gint player_num, gint partner_num, gint * supply, gint * receive) { gchar *supply_desc; gchar *receive_desc; gint diff; gint idx; diff = resource_count(receive) - resource_count(supply); player_modify_statistic(player_num, STAT_RESOURCES, -diff); player_modify_statistic(partner_num, STAT_RESOURCES, diff); if (player_num == my_player_num()) { for (idx = 0; idx < NO_RESOURCE; idx++) { resource_modify(idx, supply[idx]); resource_modify(idx, -receive[idx]); } } else if (partner_num == my_player_num()) { for (idx = 0; idx < NO_RESOURCE; idx++) { resource_modify(idx, -supply[idx]); resource_modify(idx, receive[idx]); } } if (!resource_count(supply)) { if (!resource_count(receive)) { log_message(MSG_TRADE, _("%s gave %s nothing!?\n"), player_name(player_num, TRUE), player_name(partner_num, FALSE)); } else { receive_desc = resource_format_num(receive); log_message(MSG_TRADE, /* $1=giving player, $2=receiving player, $3=resources */ _("%s gave %s %s for free.\n"), player_name(player_num, TRUE), player_name(partner_num, FALSE), receive_desc); g_free(receive_desc); } } else if (!resource_count(receive)) { supply_desc = resource_format_num(supply); log_message(MSG_TRADE, /* $1=giving player, $2=receiving player, $3=resources */ _("%s gave %s %s for free.\n"), player_name(partner_num, TRUE), player_name(player_num, FALSE), supply_desc); g_free(supply_desc); } else { supply_desc = resource_format_num(supply); receive_desc = resource_format_num(receive); log_message(MSG_TRADE, _("%s gave %s %s in exchange for %s.\n"), player_name(player_num, TRUE), player_name(partner_num, FALSE), receive_desc, supply_desc); g_free(supply_desc); g_free(receive_desc); } } void player_maritime_trade(gint player_num, gint ratio, Resource supply, Resource receive) { gchar *buf_give; gchar *buf_receive; gint resources[NO_RESOURCE]; gint idx; for (idx = 0; idx < NO_RESOURCE; ++idx) resources[idx] = 0; resources[supply] = ratio; resources[receive] = -1; modify_bank(resources); player_modify_statistic(player_num, STAT_RESOURCES, 1 - ratio); if (player_num == my_player_num()) { resource_modify(supply, -ratio); resource_modify(receive, 1); } buf_give = resource_cards(ratio, supply); buf_receive = resource_cards(1, receive); log_message(MSG_TRADE, _("%s exchanged %s for %s.\n"), player_name(player_num, TRUE), buf_give, buf_receive); g_free(buf_give); g_free(buf_receive); } void player_build_add(gint player_num, BuildType type, gint x, gint y, gint pos, gboolean log_changes) { Edge *edge; Node *node; switch (type) { case BUILD_ROAD: edge = map_edge(callbacks.get_map(), x, y, pos); edge->owner = player_num; edge->type = BUILD_ROAD; callbacks.draw_edge(edge); if (log_changes) { log_message(MSG_BUILD, _("%s built a road.\n"), player_name(player_num, TRUE)); } if (player_num == my_player_num()) stock_use_road(); break; case BUILD_SHIP: edge = map_edge(callbacks.get_map(), x, y, pos); edge->owner = player_num; edge->type = BUILD_SHIP; callbacks.draw_edge(edge); if (log_changes) { log_message(MSG_BUILD, _("%s built a ship.\n"), player_name(player_num, TRUE)); } if (player_num == my_player_num()) stock_use_ship(); break; case BUILD_SETTLEMENT: node = map_node(callbacks.get_map(), x, y, pos); node->type = BUILD_SETTLEMENT; node->owner = player_num; callbacks.draw_node(node); if (log_changes) { log_message(MSG_BUILD, _("%s built a settlement.\n"), player_name(player_num, TRUE)); } player_modify_statistic(player_num, STAT_SETTLEMENTS, 1); if (player_num == my_player_num()) stock_use_settlement(); break; case BUILD_CITY: node = map_node(callbacks.get_map(), x, y, pos); if (node->type == BUILD_SETTLEMENT) { player_modify_statistic(player_num, STAT_SETTLEMENTS, -1); if (player_num == my_player_num()) stock_replace_settlement(); } node->type = BUILD_CITY; node->owner = player_num; callbacks.draw_node(node); if (log_changes) { log_message(MSG_BUILD, _("%s built a city.\n"), player_name(player_num, TRUE)); } player_modify_statistic(player_num, STAT_CITIES, 1); if (player_num == my_player_num()) stock_use_city(); break; case BUILD_CITY_WALL: node = map_node(callbacks.get_map(), x, y, pos); node->city_wall = TRUE; node->owner = player_num; callbacks.draw_node(node); if (log_changes) { log_message(MSG_BUILD, _("%s built a city wall.\n"), player_name(player_num, TRUE)); } player_modify_statistic(player_num, STAT_CITY_WALLS, 1); if (player_num == my_player_num()) stock_use_city_wall(); break; case BUILD_NONE: log_message(MSG_ERROR, /* Error message */ _("" "player_build_add called with BUILD_NONE for user %s\n"), player_name(player_num, TRUE)); break; case BUILD_BRIDGE: edge = map_edge(callbacks.get_map(), x, y, pos); edge->owner = player_num; edge->type = BUILD_BRIDGE; callbacks.draw_edge(edge); if (log_changes) { log_message(MSG_BUILD, _("%s built a bridge.\n"), player_name(player_num, TRUE)); } if (player_num == my_player_num()) stock_use_bridge(); break; case BUILD_MOVE_SHIP: /* This clause here to remove a compiler warning. It should not be possible to reach this code. */ g_error("Bug: unreachable code reached"); break; } } void player_build_remove(gint player_num, BuildType type, gint x, gint y, gint pos) { Edge *edge; Node *node; switch (type) { case BUILD_ROAD: edge = map_edge(callbacks.get_map(), x, y, pos); edge->owner = -1; callbacks.draw_edge(edge); edge->type = BUILD_NONE; log_message(MSG_BUILD, _("%s removed a road.\n"), player_name(player_num, TRUE)); if (player_num == my_player_num()) stock_replace_road(); break; case BUILD_SHIP: edge = map_edge(callbacks.get_map(), x, y, pos); edge->owner = -1; callbacks.draw_edge(edge); edge->type = BUILD_NONE; log_message(MSG_BUILD, _("%s removed a ship.\n"), player_name(player_num, TRUE)); if (player_num == my_player_num()) stock_replace_ship(); break; case BUILD_SETTLEMENT: node = map_node(callbacks.get_map(), x, y, pos); node->type = BUILD_NONE; node->owner = -1; callbacks.draw_node(node); log_message(MSG_BUILD, _("%s removed a settlement.\n"), player_name(player_num, TRUE)); player_modify_statistic(player_num, STAT_SETTLEMENTS, -1); if (player_num == my_player_num()) stock_replace_settlement(); break; case BUILD_CITY: node = map_node(callbacks.get_map(), x, y, pos); node->type = BUILD_SETTLEMENT; node->owner = player_num; callbacks.draw_node(node); log_message(MSG_BUILD, _("%s removed a city.\n"), player_name(player_num, TRUE)); player_modify_statistic(player_num, STAT_SETTLEMENTS, 1); player_modify_statistic(player_num, STAT_CITIES, -1); if (player_num == my_player_num()) { stock_use_settlement(); stock_replace_city(); } break; case BUILD_CITY_WALL: node = map_node(callbacks.get_map(), x, y, pos); node->city_wall = FALSE; node->owner = player_num; callbacks.draw_node(node); log_message(MSG_BUILD, _("%s removed a city wall.\n"), player_name(player_num, TRUE)); player_modify_statistic(player_num, STAT_CITY_WALLS, -1); if (player_num == my_player_num()) stock_replace_city_wall(); break; case BUILD_NONE: log_message(MSG_ERROR, /* Error message */ _("" "player_build_remove called with BUILD_NONE for user %s\n"), player_name(player_num, TRUE)); break; case BUILD_BRIDGE: edge = map_edge(callbacks.get_map(), x, y, pos); edge->owner = -1; callbacks.draw_edge(edge); edge->type = BUILD_NONE; log_message(MSG_BUILD, _("%s removed a bridge.\n"), player_name(player_num, TRUE)); if (player_num == my_player_num()) stock_replace_bridge(); break; case BUILD_MOVE_SHIP: /* This clause here to remove a compiler warning. It should not be possible to reach this case. */ g_error("Bug: unreachable code reached"); break; } } void player_build_move(gint player_num, gint sx, gint sy, gint spos, gint dx, gint dy, gint dpos, gint isundo) { Edge *from = map_edge(callbacks.get_map(), sx, sy, spos), *to = map_edge(callbacks.get_map(), dx, dy, dpos); if (isundo) { Edge *tmp = from; from = to; to = tmp; } from->owner = -1; callbacks.draw_edge(from); from->type = BUILD_NONE; to->owner = player_num; to->type = BUILD_SHIP; callbacks.draw_edge(to); if (isundo) log_message(MSG_BUILD, _("%s has canceled a ship's movement.\n"), player_name(player_num, TRUE)); else log_message(MSG_BUILD, _("%s moved a ship.\n"), player_name(player_num, TRUE)); } void player_resource_action(gint player_num, const gchar * action, const gint * resource_list, gint mult) { resource_log_list(player_num, action, resource_list); resource_apply_list(player_num, resource_list, mult); } /* get a new point */ void player_get_point(gint player_num, gint id, const gchar * str, gint num) { Player *player = player_get(player_num); /* create the point */ Points *point = points_new(id, str, num); player_modify_points(player_num, point, TRUE); /* tell the user that someone got something */ log_message(MSG_INFO, _("%s received %s.\n"), player->name, _(str)); } /* lose a point: no one gets it */ void player_lose_point(gint player_num, gint id) { Player *player = player_get(player_num); Points *point; GList *list; /* look up the point in the list */ for (list = player->points; list != NULL; list = g_list_next(list)) { point = list->data; if (point->id == id) break; } /* communication error: the point doesn't exist */ if (list == NULL) { log_message(MSG_ERROR, _("server asks to lose invalid point.\n")); return; } player->points = g_list_remove(player->points, point); player_modify_points(player_num, point, FALSE); /* tell the user the point is lost */ log_message(MSG_INFO, _("%s lost %s.\n"), player->name, _(point->name)); /* free the memory */ points_free(point); g_free(point); } /* take a point from an other player */ void player_take_point(gint player_num, gint id, gint old_owner) { Player *player = player_get(player_num); Player *victim = player_get(old_owner); Points *point; GList *list; /* look up the point in the list */ for (list = victim->points; list != NULL; list = g_list_next(list)) { point = list->data; if (point->id == id) break; } /* communication error: the point doesn't exist */ if (list == NULL) { log_message(MSG_ERROR, _("server asks to move invalid point.\n")); return; } /* move the point in memory */ victim->points = g_list_remove(victim->points, point); player->points = g_list_append(player->points, point); /* tell the user someone (1) lost something (2) to someone else (3) */ log_message(MSG_INFO, _("%s lost %s to %s.\n"), victim->name, _(point->name), player->name); } void player_set_style(gint player_num, const gchar * style) { if (player_num >= num_total_players) { Spectator *spectator = spectator_get(player_num); if (spectator->style) g_free(spectator->style); spectator->style = g_strdup(style); } else if (player_num >= 0) { Player *player = player_get(player_num); if (player->style) g_free(player->style); player->style = g_strdup(style); } } const gchar *player_get_style(gint player_num) { const gchar *style = NULL; if (player_num >= num_total_players) { Spectator *spectator = spectator_get(player_num); style = spectator->style; } else if (player_num >= 0) { Player *player = player_get(player_num); style = player->style; } return style == NULL ? default_player_style : style; } gint current_player(void) { return turn_player; } const gchar *my_player_name(void) { return player_name(my_player_num(), TRUE); } gboolean my_player_spectator(void) { return player_is_spectator(my_player_num()); } const gchar *my_player_style(void) { return player_get_style(my_player_num()); } gint find_player_by_name(const gchar * name) { gint i; GList *list; for (i = 0; i < num_total_players; i++) { Player *player = player_get(i); if (player->name && !strcmp(player->name, name)) return i; } for (list = spectators; list != NULL; list = g_list_next(list)) { Spectator *spectator = list->data; if (!strcmp(spectator->name, name)) return spectator->num; } return -1; } pioneers-15.5/client/common/robber.c0000644000175000017500000000463613252223516014410 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include #include "game.h" #include "map.h" #include "client.h" #include "log.h" #include "callback.h" void robber_move_on_map(gint x, gint y) { Map *map = callbacks.get_map(); Hex *hex = map_hex(map, x, y); Hex *old_robber = map_robber_hex(map); map_move_robber(map, x, y); callbacks.draw_hex(old_robber); callbacks.draw_hex(hex); callbacks.robber_moved(old_robber, hex); } void pirate_move_on_map(gint x, gint y) { Map *map = callbacks.get_map(); Hex *hex = map_hex(map, x, y); Hex *old_pirate = map_pirate_hex(map); map_move_pirate(map, x, y); callbacks.draw_hex(old_pirate); callbacks.draw_hex(hex); callbacks.robber_moved(old_pirate, hex); } void robber_moved(gint player_num, gint x, gint y, gboolean is_undo) { robber_move_on_map(x, y); if (is_undo) log_message(MSG_STEAL, _("%s has undone the robber movement.\n"), player_name(player_num, TRUE)); else log_message(MSG_STEAL, _("%s moved the robber.\n"), player_name(player_num, TRUE)); } void pirate_moved(gint player_num, gint x, gint y, gboolean is_undo) { pirate_move_on_map(x, y); if (is_undo) log_message(MSG_STEAL, _("%s has undone the pirate movement.\n"), player_name(player_num, TRUE)); else log_message(MSG_STEAL, _("%s moved the pirate.\n"), player_name(player_num, TRUE)); } void robber_begin_move(gint player_num) { gchar *buffer; buffer = g_strdup_printf(_("%s must move the robber."), player_name(player_num, TRUE)); callbacks.instructions(buffer); g_free(buffer); } pioneers-15.5/client/common/build.c0000644000175000017500000001145013252223516014224 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include #include #include "game.h" #include "cards.h" #include "map.h" #include "client.h" #include "log.h" #include "buildrec.h" static GList *build_list; static gboolean built; /* have we build road / settlement / city? */ static gint num_edges, num_settlements; void build_clear(void) { build_list = buildrec_free(build_list); num_edges = num_settlements = 0; } void build_new_turn(void) { build_list = buildrec_free(build_list); built = FALSE; } void build_remove(BuildType type, gint x, gint y, gint pos) { GList *list; BuildRec *rec; g_assert(build_list != NULL); list = g_list_last(build_list); rec = list->data; build_list = g_list_remove(build_list, rec); g_assert(rec->type == type && rec->x == x && rec->y == y && rec->pos == pos); g_free(rec); switch (type) { case BUILD_SETTLEMENT: --num_settlements; break; case BUILD_ROAD: case BUILD_SHIP: case BUILD_BRIDGE: --num_edges; break; default: break; } /* If the build_list is now empty (no more items to undo), clear built flag so trading is reallowed with strict-trade */ if (build_list == NULL) built = FALSE; player_build_remove(my_player_num(), type, x, y, pos); } /* Move a ship */ void build_move(gint sx, gint sy, gint spos, gint dx, gint dy, gint dpos, gint isundo) { GList *list; BuildRec *rec; if (isundo) { callbacks.get_map()->has_moved_ship = FALSE; list = g_list_last(build_list); rec = list->data; if (rec->type != BUILD_MOVE_SHIP && rec->x != sx && rec->y != sy && rec->pos != spos) { log_message(MSG_ERROR, "undo ship move mismatch: %d<->%d %d<->%d %d<->%d %d<->%d\n", BUILD_MOVE_SHIP, rec->type, sx, rec->x, sy, rec->y, spos, rec->pos); } build_list = g_list_remove(build_list, rec); g_free(rec); /* If the build_list is now empty (no more items to undo), * clear built flag so trading is reallowed with * strict-trade */ if (build_list == NULL) built = FALSE; } else { rec = buildrec_new(BUILD_MOVE_SHIP, sx, sy, spos); build_list = g_list_append(build_list, rec); built = TRUE; callbacks.get_map()->has_moved_ship = TRUE; } player_build_move(my_player_num(), sx, sy, spos, dx, dy, dpos, isundo); } void build_add(BuildType type, gint x, gint y, gint pos, gboolean newbuild) { BuildRec *rec = buildrec_new(type, x, y, pos); build_list = g_list_append(build_list, rec); built = TRUE; switch (type) { case BUILD_SETTLEMENT: ++num_settlements; break; case BUILD_ROAD: case BUILD_SHIP: case BUILD_BRIDGE: ++num_edges; break; default: break; } if (newbuild) { player_build_add(my_player_num(), type, x, y, pos, TRUE); } } gint build_count_edges(void) { return num_edges; } gint build_count_settlements(void) { return num_settlements; } gint build_count(BuildType type) { return buildrec_count_type(build_list, type); } gboolean build_is_valid(void) { return buildrec_is_valid(build_list, callbacks.get_map(), my_player_num()); } gboolean build_can_undo(void) { return build_list != NULL; } gboolean have_built(void) { return built; } /* Place some restrictions on road placement during setup phase */ gboolean build_can_setup_road(const Edge * edge, gboolean double_setup) { return buildrec_can_setup_road(build_list, edge, double_setup); } /* Place some restrictions on ship placement during setup phase */ gboolean build_can_setup_ship(const Edge * edge, gboolean double_setup) { return buildrec_can_setup_ship(build_list, edge, double_setup); } /* Place some restrictions on bridge placement during setup phase */ gboolean build_can_setup_bridge(const Edge * edge, gboolean double_setup) { return buildrec_can_setup_bridge(build_list, edge, double_setup); } /* Place some restrictions on road placement during setup phase */ gboolean build_can_setup_settlement(const Node * node, gboolean double_setup) { return buildrec_can_setup_settlement(build_list, node, double_setup); } pioneers-15.5/client/common/turn.c0000644000175000017500000000345413252223516014122 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include #include "log.h" #include "client.h" #include "callback.h" static gboolean rolled_dice; /* have we rolled the dice? */ static gint current_turn; void turn_rolled_dice(gint player_num, gint die1, gint die2) { int roll; roll = die1 + die2; log_message(MSG_DICE, _("%s rolled %d.\n"), player_name(player_num, TRUE), roll); if (player_num == my_player_num()) { rolled_dice = TRUE; callbacks.get_map()->has_moved_ship = FALSE; } callbacks.rolled_dice(die1, die2, player_num); } void turn_begin(gint player_num, gint num) { current_turn = num; log_message(MSG_DICE, _("Begin turn %d for %s.\n"), num, player_name(player_num, FALSE)); rolled_dice = FALSE; player_set_current(player_num); develop_begin_turn(); build_clear(); callbacks.player_turn(player_num); } gint turn_num(void) { return current_turn; } gboolean have_rolled_dice(void) { return rolled_dice; } pioneers-15.5/client/common/client.h0000644000175000017500000001606613252223516014420 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 2003,2006 Bas Wijnen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef _client_h #define _client_h #include "state.h" #include "game.h" #include "map.h" #include "callback.h" #include "notifying-string.h" /* variables */ extern GameParams *game_params; extern NotifyingString *requested_name; extern NotifyingString *requested_style; extern gboolean requested_spectator; /********* client.c ***********/ /* client initialization */ void client_init(void); /* before frontend initialization */ void client_start(int argc, char **argv); /* after frontend initialization */ /* access the state machine (a client has only one state machine) */ StateMachine *SM(void); /* state machine modes */ gboolean mode_connecting(StateMachine * sm, gint event); gboolean mode_start(StateMachine * sm, gint event); gboolean mode_build_response(StateMachine * sm, gint event); gboolean mode_move_response(StateMachine * sm, gint event); gboolean mode_done_response(StateMachine * sm, gint event); gboolean mode_robber_response(StateMachine * sm, gint event); gboolean mode_robber_move_response(StateMachine * sm, gint event); gboolean mode_monopoly_response(StateMachine * sm, gint event); gboolean mode_year_of_plenty_response(StateMachine * sm, gint event); gboolean mode_play_develop_response(StateMachine * sm, gint event); gboolean mode_roll_response(StateMachine * sm, gint event); gboolean mode_buy_develop_response(StateMachine * sm, gint event); gboolean mode_undo_response(StateMachine * sm, gint event); gboolean mode_trade_call_response(StateMachine * sm, gint event); gboolean mode_trade_maritime_response(StateMachine * sm, gint event); gboolean mode_trade_call_again_response(StateMachine * sm, gint event); gboolean mode_trade_domestic_response(StateMachine * sm, gint event); gboolean mode_domestic_finish_response(StateMachine * sm, gint event); gboolean mode_quote_finish_response(StateMachine * sm, gint event); gboolean mode_quote_submit_response(StateMachine * sm, gint event); gboolean mode_quote_delete_response(StateMachine * sm, gint event); /******* player.c **********/ void player_reset(void); void player_set_my_num(gint player_num); void player_modify_statistic(gint player_num, StatisticType type, gint num); void player_modify_points(gint player_num, Points * points, gboolean added); void player_change_name(gint player_num, const gchar * name); void player_has_quit(gint player_num); void player_largest_army(gint player_num); void player_longest_road(gint player_num); void player_set_current(gint player_num); void player_set_total_num(gint num); void player_stole_from(gint player_num, gint victim_num, Resource resource); void player_domestic_trade(gint player_num, gint partner_num, gint * supply, gint * receive); void player_maritime_trade(gint player_num, gint ratio, Resource supply, Resource receive); void player_build_add(gint player_num, BuildType type, gint x, gint y, gint pos, gboolean log_changes); void player_build_remove(gint player_num, BuildType type, gint x, gint y, gint pos); void player_build_move(gint player_num, gint sx, gint sy, gint spos, gint dx, gint dy, gint dpos, gint isundo); void player_resource_action(gint player_num, const gchar * action, const gint * resource_list, gint mult); void player_get_point(gint player_num, gint id, const gchar * str, gint num); void player_lose_point(gint player_num, gint id); void player_take_point(gint player_num, gint id, gint old_owner); void player_change_style(gint player_num, const gchar * style); gint find_spectator_by_name(const gchar * name); /********* build.c **********/ void build_clear(void); void build_new_turn(void); void build_remove(BuildType build_type, gint x, gint y, gint pos); void build_move(gint sx, gint sy, gint spos, gint dx, gint dy, gint dpos, gint isundo); void build_add(BuildType type, gint x, gint y, gint pos, gboolean newbuild); gboolean build_can_undo(void); gboolean build_is_valid(void); gboolean have_built(void); gboolean build_can_setup_road(const Edge * edge, gboolean double_setup); gboolean build_can_setup_ship(const Edge * edge, gboolean double_setup); gboolean build_can_setup_bridge(const Edge * edge, gboolean double_setup); gboolean build_can_setup_settlement(const Node * node, gboolean double_setup); /********** develop.c **********/ void develop_init(void); void develop_bought_card_turn(DevelType type, gboolean bought_this_turn); void develop_bought_card(DevelType type); guint get_num_playable_cards(void); void develop_reset_have_played_bought(gboolean have_bought, guint number_playable_cards); void develop_bought(gint player_num); void develop_played(gint player_num, guint card_idx, DevelType type); void monopoly_player(gint player_num, gint victim_num, gint num, Resource type); void develop_begin_turn(void); gboolean have_bought_develop(void); /********** stock.c **********/ void stock_init(void); void stock_use_road(void); void stock_replace_road(void); void stock_use_ship(void); void stock_replace_ship(void); void stock_use_bridge(void); void stock_replace_bridge(void); void stock_use_settlement(void); void stock_replace_settlement(void); void stock_use_city(void); void stock_replace_city(void); void stock_use_city_wall(void); void stock_replace_city_wall(void); void stock_use_develop(void); /********** resource.c **********/ void resource_init(void); void resource_apply_list(gint player_num, const gint * resources, gint multiplier); gchar *resource_cards(gint num, Resource which); gchar *resource_format_num(const gint * resources); void resource_log_list(gint player_num, const gchar * action, const gint * resources); void resource_modify(Resource type, gint num); void set_bank(const gint * new_bank); void modify_bank(const gint * bank_change); /********** robber.c **********/ void robber_move_on_map(gint x, gint y); void pirate_move_on_map(gint x, gint y); void robber_moved(gint player_num, gint x, gint y, gboolean is_undo); void pirate_moved(gint player_num, gint x, gint y, gboolean is_undo); void robber_begin_move(gint player_num); /********* setup.c *********/ void setup_begin(gint player_num); void setup_begin_double(gint player_num); /********* turn.c *********/ void turn_rolled_dice(gint player_num, gint die1, gint die2); void turn_begin(gint player_num, gint turn_num); #endif pioneers-15.5/client/common/setup.c0000644000175000017500000001017713252223516014272 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include #include "game.h" #include "cards.h" #include "map.h" #include "network.h" #include "log.h" #include "client.h" static gboolean double_setup; gboolean is_setup_double(void) { return double_setup; } gboolean setup_can_build_road(void) { if (game_params->num_build_type[BUILD_ROAD] == 0) return FALSE; if (double_setup) { if (build_count_edges() == 2) return FALSE; return build_count_settlements() < 2 || map_can_place_road(callbacks.get_map(), my_player_num()); } else { if (build_count_edges() == 1) return FALSE; return build_count_settlements() < 1 || map_can_place_road(callbacks.get_map(), my_player_num()); } } gboolean setup_can_build_ship(void) { if (game_params->num_build_type[BUILD_SHIP] == 0) return FALSE; if (double_setup) { if (build_count_edges() == 2) return FALSE; return build_count_settlements() < 2 || map_can_place_ship(callbacks.get_map(), my_player_num()); } else { if (build_count_edges() == 1) return FALSE; return build_count_settlements() < 1 || map_can_place_ship(callbacks.get_map(), my_player_num()); } } gboolean setup_can_build_bridge(void) { if (game_params->num_build_type[BUILD_BRIDGE] == 0) return FALSE; if (double_setup) { if (build_count_edges() == 2) return FALSE; return build_count_settlements() < 2 || map_can_place_bridge(callbacks.get_map(), my_player_num()); } else { if (build_count_edges() == 1) return FALSE; return build_count_settlements() < 1 || map_can_place_bridge(callbacks.get_map(), my_player_num()); } } gboolean setup_can_build_settlement(void) { if (game_params->num_build_type[BUILD_SETTLEMENT] == 0) return FALSE; if (double_setup) return build_count_settlements() < 2; else return build_count_settlements() < 1; } gboolean setup_can_finish(void) { if (double_setup) return build_count_edges() == 2 && build_count_settlements() == 2 && build_is_valid(); else return build_count_edges() == 1 && build_count_settlements() == 1 && build_is_valid(); } /* Place some restrictions on road placement during setup phase */ gboolean setup_check_road(const Edge * edge) { return build_can_setup_road(edge, double_setup); } /* Place some restrictions on ship placement during setup phase */ gboolean setup_check_ship(const Edge * edge) { return build_can_setup_ship(edge, double_setup); } /* Place some restrictions on bridge placement during setup phase */ gboolean setup_check_bridge(const Edge * edge) { return build_can_setup_bridge(edge, double_setup); } /* Place some restrictions on settlement placement during setup phase */ gboolean setup_check_settlement(const Node * node) { return build_can_setup_settlement(node, double_setup); } void setup_begin(gint player_num) { log_message(MSG_INFO, _("Setup for %s.\n"), player_name(player_num, FALSE)); player_set_current(player_num); if (player_num != my_player_num()) return; double_setup = FALSE; build_clear(); } void setup_begin_double(gint player_num) { log_message(MSG_INFO, _("Double setup for %s.\n"), player_name(player_num, FALSE)); player_set_current(player_num); if (player_num != my_player_num()) return; double_setup = TRUE; build_clear(); } pioneers-15.5/client/common/client.c0000644000175000017500000020654213252223516014413 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003-2006 Bas Wijnen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include #include #include "game.h" #include "cards.h" #include "map.h" #include "network.h" #include "log.h" #include "cost.h" #include "client.h" #include "state.h" #include "callback.h" #include "buildrec.h" #include "quoteinfo.h" #include "notifying-string.h" static enum callback_mode previous_mode; GameParams *game_params; static struct recovery_info_t { gchar *prevstate; gint turnnum; gint playerturn; gint numdiscards; gboolean rolled_dice; gint die1, die2; gboolean bought_develop; GList *build_list; gboolean ship_moved; } recovery_info; NotifyingString *requested_name = NULL; NotifyingString *requested_style = NULL; gboolean requested_spectator; static gboolean global_unhandled(StateMachine * sm, gint event); static gboolean global_filter(StateMachine * sm, gint event); static gboolean mode_offline(StateMachine * sm, gint event); static gboolean mode_players(StateMachine * sm, gint event); static gboolean mode_player_list(StateMachine * sm, gint event); static gboolean mode_load_game(StateMachine * sm, gint event); static gboolean mode_load_gameinfo(StateMachine * sm, gint event); static gboolean mode_setup(StateMachine * sm, gint event); static gboolean mode_idle(StateMachine * sm, gint event); static gboolean mode_wait_for_robber(StateMachine * sm, gint event); static gboolean mode_road_building(StateMachine * sm, gint event); static gboolean mode_monopoly(StateMachine * sm, gint event); static gboolean mode_year_of_plenty(StateMachine * sm, gint event); static gboolean mode_robber(StateMachine * sm, gint event); static gboolean mode_discard(StateMachine * sm, gint event); static gboolean mode_turn(StateMachine * sm, gint event); static gboolean mode_turn_rolled(StateMachine * sm, gint event); static gboolean mode_domestic_trade(StateMachine * sm, gint event); static gboolean mode_domestic_quote(StateMachine * sm, gint event); static gboolean mode_domestic_monitor(StateMachine * sm, gint event); static gboolean mode_game_over(StateMachine * sm, gint event); static gboolean mode_wait_resources(StateMachine * sm, gint event); static gboolean mode_recovery_wait_start_response(StateMachine * sm, gint event); static void recover_from_disconnect(StateMachine * sm, struct recovery_info_t *rinfo); /* Create and/or return the client state machine. */ StateMachine *SM(void) { static StateMachine *state_machine; if (state_machine == NULL) { state_machine = sm_new(NULL); sm_global_set(state_machine, global_filter); sm_unhandled_set(state_machine, global_unhandled); } return state_machine; } /* When commands are sent to the server, front ends may want to update * the status bar or something to indicate the the game is currently * waiting for server respose. * Since the GUI may get disabled while waiting, it is good to let the * user know why all controls are unresponsive. */ static void waiting_for_network(gboolean is_waiting) { if (is_waiting) { callbacks.network_status(_("Waiting")); } else { callbacks.network_status(_("Idle")); } callbacks.network_wait(is_waiting); } /* Dummy callback functions. They do nothing */ static void dummy_init_glib_et_al(G_GNUC_UNUSED int argc, G_GNUC_UNUSED char **argv) {; } static void dummy_init(void) {; } static void dummy_network_status(G_GNUC_UNUSED const gchar * description) {; } static void dummy_instructions(G_GNUC_UNUSED const gchar * message) {; } static void dummy_network_wait(G_GNUC_UNUSED gboolean is_waiting) {; } static void dummy_offline(void) {; } static void dummy_discard(void) {; } static void dummy_discard_add(G_GNUC_UNUSED gint player_num, G_GNUC_UNUSED gint discard_num) {; } static void dummy_discard_remove(G_GNUC_UNUSED gint player_num) {; } static void dummy_discard_done(void) {; } static void dummy_gold(void) {; } static void dummy_gold_add(G_GNUC_UNUSED gint player_num, G_GNUC_UNUSED gint gold_num) {; } static void dummy_gold_remove(G_GNUC_UNUSED gint player_num, G_GNUC_UNUSED gint * resources) {; } static void dummy_gold_choose(G_GNUC_UNUSED gint gold_num, G_GNUC_UNUSED const gint * bank) {; } static void dummy_gold_done(void) {; } static void dummy_game_over(G_GNUC_UNUSED gint player_num, G_GNUC_UNUSED gint points) {; } static void dummy_init_game(void) {; } static void dummy_start_game(void) {; } static void dummy_setup(G_GNUC_UNUSED gint num_settlements, G_GNUC_UNUSED gint num_roads) {; } static void dummy_quote(G_GNUC_UNUSED gint player_num, G_GNUC_UNUSED gint * they_supply, G_GNUC_UNUSED gint * they_receive) {; } static void dummy_roadbuilding(G_GNUC_UNUSED gint num_roads) {; } static void dummy_monopoly(void) {; } static void dummy_plenty(G_GNUC_UNUSED const gint * bank) {; } static void dummy_turn(void) {; } static void dummy_player_turn(G_GNUC_UNUSED gint player_num) {; } static void dummy_trade(void) {; } static void dummy_trade_player_end(G_GNUC_UNUSED gint player_num) {; } static void dummy_trade_add_quote(G_GNUC_UNUSED gint player_num, G_GNUC_UNUSED gint quote_num, G_GNUC_UNUSED const gint * they_supply, G_GNUC_UNUSED const gint * they_receive) {; } static void dummy_trade_remove_quote(G_GNUC_UNUSED gint player_num, G_GNUC_UNUSED gint quote_num) {; } static void dummy_trade_domestic(G_GNUC_UNUSED gint partner_num, G_GNUC_UNUSED gint quote_num, G_GNUC_UNUSED const gint * we_supply, G_GNUC_UNUSED const gint * we_receive) {; } static void dummy_trade_maritime(G_GNUC_UNUSED gint ratio, G_GNUC_UNUSED Resource we_supply, G_GNUC_UNUSED Resource we_receive) {; } static void dummy_quote_player_end(G_GNUC_UNUSED gint player_num) {; } static void dummy_quote_add(G_GNUC_UNUSED gint player_num, G_GNUC_UNUSED gint quote_num, G_GNUC_UNUSED const gint * they_supply, G_GNUC_UNUSED const gint * they_receive) {; } static void dummy_quote_remove(G_GNUC_UNUSED gint player_num, G_GNUC_UNUSED gint quote_num) {; } static void dummy_quote_start(void) {; } static void dummy_quote_end(void) {; } static void dummy_quote_monitor(void) {; } static void dummy_quote_trade(G_GNUC_UNUSED gint player_num, G_GNUC_UNUSED gint partner_num, G_GNUC_UNUSED gint quote_num, G_GNUC_UNUSED const gint * they_supply, G_GNUC_UNUSED const gint * they_receive) {; } static void dummy_rolled_dice(G_GNUC_UNUSED gint die1, G_GNUC_UNUSED gint die2, G_GNUC_UNUSED gint player_num) {; } static void dummy_draw_edge(G_GNUC_UNUSED Edge * edge) {; } static void dummy_draw_node(G_GNUC_UNUSED Node * node) {; } static void dummy_bought_develop(G_GNUC_UNUSED DevelType type) {; } static void dummy_played_develop(G_GNUC_UNUSED gint player_num, G_GNUC_UNUSED guint card_idx, G_GNUC_UNUSED DevelType type) {; } static void dummy_resource_change(G_GNUC_UNUSED Resource type, G_GNUC_UNUSED gint num) {; } static void dummy_draw_hex(G_GNUC_UNUSED Hex * hex) {; } static void dummy_update_stock(void) {; } static void dummy_robber(void) {; } static void dummy_robber_moved(G_GNUC_UNUSED Hex * old, G_GNUC_UNUSED Hex * new) {; } static void dummy_steal_building(void) {; } static void dummy_steal_ship(void) {; } static void dummy_robber_done(void) {; } static void dummy_player_robbed(G_GNUC_UNUSED gint robber_num, G_GNUC_UNUSED gint victim_num, G_GNUC_UNUSED Resource resource) {; } static void dummy_get_rolled_resources(G_GNUC_UNUSED gint player_num, G_GNUC_UNUSED const gint * resources, G_GNUC_UNUSED const gint * wanted) {; } static void dummy_new_statistics(G_GNUC_UNUSED gint player_num, G_GNUC_UNUSED StatisticType type, G_GNUC_UNUSED gint num) {; } static void dummy_new_points(G_GNUC_UNUSED gint player_num, G_GNUC_UNUSED Points * points, G_GNUC_UNUSED gboolean added) { } static void dummy_spectator_name(G_GNUC_UNUSED gint spectator_num, G_GNUC_UNUSED const gchar * name) {; } static void dummy_player_name(G_GNUC_UNUSED gint player_num, G_GNUC_UNUSED const gchar * name) {; } static void dummy_player_style(G_GNUC_UNUSED gint player_num, G_GNUC_UNUSED const gchar * style) {; } static void dummy_player_quit(G_GNUC_UNUSED gint player_num) {; } static void dummy_spectator_quit(G_GNUC_UNUSED gint player_num) {; } static void dummy_incoming_chat(G_GNUC_UNUSED gint player_num, G_GNUC_UNUSED const gchar * chat) {; } static void dummy_new_bank(G_GNUC_UNUSED const gint * new_bank) {; } static void dummy_error(G_GNUC_UNUSED const gchar * message) {; } static Map *dummy_get_map(void) { return NULL; } static void dummy_set_map(G_GNUC_UNUSED Map * map) {; } /*---------------------------------------------------------------------- * Entry point for the client state machine */ void client_init(void) { /* first set everything to 0, so we are sure it segfaults if * someone forgets to update this when adding a new callback */ memset(&callbacks, 0, sizeof(callbacks)); /* set all callbacks to their default value: doing nothing */ callbacks.init_glib_et_al = &dummy_init_glib_et_al; callbacks.init = &dummy_init; callbacks.network_status = &dummy_network_status; callbacks.instructions = &dummy_instructions; callbacks.network_wait = &dummy_network_wait; callbacks.offline = &dummy_offline; callbacks.discard = &dummy_discard; callbacks.discard_add = &dummy_discard_add; callbacks.discard_remove = &dummy_discard_remove; callbacks.discard_done = &dummy_discard_done; callbacks.gold = &dummy_gold; callbacks.gold_add = &dummy_gold_add; callbacks.gold_remove = &dummy_gold_remove; callbacks.gold_choose = &dummy_gold_choose; callbacks.gold_done = &dummy_gold_done; callbacks.game_over = &dummy_game_over; callbacks.init_game = &dummy_init_game; callbacks.start_game = &dummy_start_game; callbacks.setup = &dummy_setup; callbacks.quote = &dummy_quote; callbacks.roadbuilding = &dummy_roadbuilding; callbacks.monopoly = &dummy_monopoly; callbacks.plenty = &dummy_plenty; callbacks.turn = &dummy_turn; callbacks.player_turn = &dummy_player_turn; callbacks.trade = &dummy_trade; callbacks.trade_player_end = &dummy_trade_player_end; callbacks.trade_add_quote = &dummy_trade_add_quote; callbacks.trade_remove_quote = &dummy_trade_remove_quote; callbacks.trade_domestic = &dummy_trade_domestic; callbacks.trade_maritime = &dummy_trade_maritime; callbacks.quote_player_end = &dummy_quote_player_end; callbacks.quote_add = &dummy_quote_add; callbacks.quote_remove = &dummy_quote_remove; callbacks.quote_start = &dummy_quote_start; callbacks.quote_end = &dummy_quote_end; callbacks.quote_monitor = &dummy_quote_monitor; callbacks.quote_trade = &dummy_quote_trade; callbacks.rolled_dice = &dummy_rolled_dice; callbacks.draw_edge = &dummy_draw_edge; callbacks.draw_node = &dummy_draw_node; callbacks.bought_develop = &dummy_bought_develop; callbacks.played_develop = &dummy_played_develop; callbacks.resource_change = &dummy_resource_change; callbacks.draw_hex = &dummy_draw_hex; callbacks.update_stock = &dummy_update_stock; callbacks.robber = &dummy_robber; callbacks.robber_moved = &dummy_robber_moved; callbacks.steal_building = &dummy_steal_building; callbacks.steal_ship = &dummy_steal_ship; callbacks.robber_done = &dummy_robber_done; callbacks.player_robbed = &dummy_player_robbed; callbacks.get_rolled_resources = &dummy_get_rolled_resources; callbacks.new_statistics = &dummy_new_statistics; callbacks.new_points = &dummy_new_points; callbacks.spectator_name = &dummy_spectator_name; callbacks.player_name = &dummy_player_name; callbacks.player_style = &dummy_player_style; callbacks.player_quit = &dummy_player_quit; callbacks.spectator_quit = &dummy_spectator_quit; callbacks.incoming_chat = &dummy_incoming_chat; callbacks.new_bank = &dummy_new_bank; callbacks.error = &dummy_error; callbacks.get_map = &dummy_get_map; callbacks.set_map = &dummy_set_map; /* mainloop and quit are not set here */ resource_init(); } void client_start(int argc, char **argv) { callbacks.init_glib_et_al(argc, argv); requested_name = NOTIFYING_STRING(notifying_string_new()); requested_style = NOTIFYING_STRING(notifying_string_new()); callbacks.init(); sm_goto(SM(), mode_offline); } /*---------------------------------------------------------------------- * The state machine API supports two global event handling callbacks. * * All events are sent to the global event handler before they are * sent to the current state function. If the global event handler * handles the event and returns TRUE, the event will not be sent to * the current state function. is which allow unhandled events to be * processed via a callback. * * If an event is not handled by either the global event handler, or * the current state function, then it will be sent to the unhandled * event handler. Using this, the client code implements some of the * error handling globally. */ /* Global event handler - this get first crack at events. If we * return TRUE, the event will not be passed to the current state * function. */ static gboolean global_filter(StateMachine * sm, gint event) { switch (event) { case SM_NET_CLOSE: log_message(MSG_ERROR, _("We have been kicked out of the game.\n")); waiting_for_network(FALSE); sm_pop_all_and_goto(sm, mode_offline); callbacks.network_status(_("Offline")); return TRUE; default: break; } return FALSE; } /* Global unhandled event handler - this get called for events that * fall through the state machine without being handled. */ static gboolean global_unhandled(StateMachine * sm, gint event) { gchar *str; switch (event) { case SM_NET_CLOSE: g_error("SM_NET_CLOSE not caught by global_filter"); case SM_RECV: /* all errors start with ERR */ if (sm_recv(sm, "ERR %S", &str)) { log_message(MSG_ERROR, _("Error (%s): %s\n"), sm_current_name(sm), str); callbacks.error(str); g_free(str); return TRUE; } /* notices which are not errors should appear in the message * window */ if (sm_recv(sm, "NOTE %S", &str)) { log_message(MSG_ERROR, _("Notice: %s\n"), _(str)); g_free(str); return TRUE; } /* A notice with 1 argument */ if (sm_recv(sm, "NOTE1 %S", &str)) { gchar *message; gchar **parts; parts = g_strsplit(str, "|", 2); message = g_strdup_printf(_(parts[1]), parts[0]); log_message(MSG_ERROR, _("Notice: %s\n"), message); g_strfreev(parts); g_free(message); g_free(str); return TRUE; } /* protocol extensions which may be ignored have this prefix * before the next protocol changing version of the game is * released. Notify the client about it anyway. */ if (sm_recv(sm, "extension %S", &str)) { log_message(MSG_INFO, "Ignoring extension used by server: %s\n", str); g_free(str); return TRUE; } /* we're receiving strange things */ if (sm_recv(sm, "%S", &str)) { log_message(MSG_ERROR, "Unknown message in %s: %s\n", sm_current_name(sm), str); g_free(str); return TRUE; } /* this is never reached: everything matches "%S" */ g_error ("This should not be possible, please report this bug.\n"); default: break; } /* this may happen, for example when a hotkey is used for a function * which cannot be activated */ return FALSE; } /*---------------------------------------------------------------------- * Server notifcations about player name changes and chat messages. * These can happen in any state (maybe this should be moved to * global_filter()?). */ static gboolean check_chat_or_name(StateMachine * sm) { gint player_num; gchar *str; if (sm_recv(sm, "player %d chat %S", &player_num, &str)) { callbacks.incoming_chat(player_num, str); g_free(str); return TRUE; } if (sm_recv(sm, "player %d is %S", &player_num, &str)) { player_change_name(player_num, str); g_free(str); return TRUE; } if (sm_recv(sm, "player %d style %S", &player_num, &str)) { player_change_style(player_num, str); g_free(str); return TRUE; } return FALSE; } /*---------------------------------------------------------------------- * Server notifcations about other players name changes and chat * messages. These can happen in almost any state in which the game * is running. */ static gboolean check_other_players(StateMachine * sm) { BuildType build_type; DevelType devel_type; Resource resource_type, supply_type, receive_type; gint player_num, victim_num; guint card_idx; gint backwards; gint discard_num, num, ratio, die1, die2, x, y, pos; gint id; gint resource_list[NO_RESOURCE], wanted_list[NO_RESOURCE]; gint sx, sy, spos, dx, dy, dpos; gchar *str; if (check_chat_or_name(sm)) return TRUE; if (!sm_recv_prefix(sm, "player %d ", &player_num)) return FALSE; if (sm_recv(sm, "built %B %d %d %d", &build_type, &x, &y, &pos)) { player_build_add(player_num, build_type, x, y, pos, TRUE); return TRUE; } if (sm_recv (sm, "move %d %d %d %d %d %d", &sx, &sy, &spos, &dx, &dy, &dpos)) { player_build_move(player_num, sx, sy, spos, dx, dy, dpos, FALSE); return TRUE; } if (sm_recv (sm, "move-back %d %d %d %d %d %d", &sx, &sy, &spos, &dx, &dy, &dpos)) { player_build_move(player_num, sx, sy, spos, dx, dy, dpos, TRUE); return TRUE; } if (sm_recv(sm, "remove %B %d %d %d", &build_type, &x, &y, &pos)) { player_build_remove(player_num, build_type, x, y, pos); return TRUE; } if (sm_recv(sm, "receives %R %R", resource_list, wanted_list)) { gint i; for (i = 0; i < NO_RESOURCE; ++i) { if (resource_list[i] == wanted_list[i]) continue; if (resource_list[i] == 0) { log_message(MSG_RESOURCE, _("" "%s does not receive any %s, because the bank is empty.\n"), player_name(player_num, TRUE), resource_name(i, FALSE)); } else { gint j, list[NO_RESOURCE]; gchar *buff; for (j = 0; j < NO_RESOURCE; ++j) list[j] = 0; list[i] = resource_list[i]; resource_list[i] = 0; buff = resource_format_num(list); log_message(MSG_RESOURCE, _("" "%s only receives %s, because the bank didn't have any more.\n"), player_name(player_num, TRUE), buff); g_free(buff); resource_apply_list(player_num, list, 1); } } if (resource_count(resource_list) != 0) player_resource_action(player_num, _("%s receives %s.\n"), resource_list, 1); callbacks.get_rolled_resources(player_num, resource_list, wanted_list); return TRUE; } if (sm_recv(sm, "plenty %R", resource_list)) { /* Year of Plenty */ player_resource_action(player_num, _("%s takes %s.\n"), resource_list, 1); return TRUE; } if (sm_recv(sm, "spent %R", resource_list)) { player_resource_action(player_num, _("%s spent %s.\n"), resource_list, -1); return TRUE; } if (sm_recv(sm, "refund %R", resource_list)) { player_resource_action(player_num, _("%s is refunded %s.\n"), resource_list, 1); return TRUE; } if (sm_recv(sm, "bought-develop")) { develop_bought(player_num); return TRUE; } if (sm_recv(sm, "play-develop %u %D", &card_idx, &devel_type)) { develop_played(player_num, card_idx, devel_type); return TRUE; } if (sm_recv(sm, "turn %d", &num)) { turn_begin(player_num, num); return TRUE; } if (sm_recv(sm, "shuffled-dice-deck")) { /* %s = Player name */ log_message(MSG_DICE, _("%s shuffled the dice deck.\n"), player_name(player_num, TRUE)); return TRUE; } if (sm_recv(sm, "rolled %d %d", &die1, &die2)) { turn_rolled_dice(player_num, die1, die2); if (die1 + die2 != 7) sm_push(sm, mode_wait_resources); return TRUE; } if (sm_recv(sm, "must-discard %d", &discard_num)) { waiting_for_network(FALSE); sm_push(sm, mode_discard); if (player_num == my_player_num()) callback_mode = MODE_DISCARD; callbacks.discard_add(player_num, discard_num); return TRUE; } if (sm_recv(sm, "discarded %R", resource_list)) { player_resource_action(player_num, _("%s discarded %s.\n"), resource_list, -1); callbacks.discard_remove(player_num); return TRUE; } if (sm_recv(sm, "is-robber")) { robber_begin_move(player_num); return TRUE; } if (sm_recv(sm, "moved-robber %d %d", &x, &y)) { robber_moved(player_num, x, y, FALSE); return TRUE; } if (sm_recv(sm, "moved-pirate %d %d", &x, &y)) { pirate_moved(player_num, x, y, FALSE); return TRUE; } if (sm_recv(sm, "unmoved-robber %d %d", &x, &y)) { robber_moved(player_num, x, y, TRUE); return TRUE; } if (sm_recv(sm, "unmoved-pirate %d %d", &x, &y)) { pirate_moved(player_num, x, y, TRUE); return TRUE; } if (sm_recv(sm, "stole from %d", &victim_num)) { player_stole_from(player_num, victim_num, NO_RESOURCE); return TRUE; } if (sm_recv(sm, "stole %r from %d", &resource_type, &victim_num)) { player_stole_from(player_num, victim_num, resource_type); return TRUE; } if (sm_recv (sm, "monopoly %d %r from %d", &num, &resource_type, &victim_num)) { monopoly_player(player_num, victim_num, num, resource_type); return TRUE; } if (sm_recv(sm, "largest-army")) { player_largest_army(player_num); return TRUE; } if (sm_recv(sm, "longest-road")) { player_longest_road(player_num); return TRUE; } if (sm_recv(sm, "get-point %d %d %S", &id, &num, &str)) { player_get_point(player_num, id, str, num); g_free(str); return TRUE; } if (sm_recv(sm, "lose-point %d", &id)) { player_lose_point(player_num, id); return TRUE; } if (sm_recv(sm, "take-point %d %d", &id, &victim_num)) { player_take_point(player_num, id, victim_num); return TRUE; } if (sm_recv(sm, "setup %d", &backwards)) { setup_begin(player_num); if (backwards) sm_push(sm, mode_wait_resources); return TRUE; } if (sm_recv(sm, "setup-double")) { setup_begin_double(player_num); sm_push(sm, mode_wait_resources); return TRUE; } if (sm_recv(sm, "won with %d", &num)) { callbacks.game_over(player_num, num); log_message(MSG_DICE, _("%s has won the game with %d " "victory points!\n"), player_name(player_num, TRUE), num); sm_pop_all_and_goto(sm, mode_game_over); return TRUE; } if (sm_recv(sm, "has quit")) { player_has_quit(player_num); return TRUE; } if (sm_recv(sm, "maritime-trade %d supply %r receive %r", &ratio, &supply_type, &receive_type)) { player_maritime_trade(player_num, ratio, supply_type, receive_type); return TRUE; } sm_cancel_prefix(sm); return FALSE; } /*---------------------------------------------------------------------- * State machine state functions. * * The state machine API works like this: * * SM_ENTER: * When a state is entered the new state function is called with the * SM_ENTER event. This allows the client to perform state * initialisation. * * SM_INIT: * When a state is entered, and every time an event is handled, the * state machine code calls the current state function with an * SM_INIT event. * * SM_RECV: * Indicates that a message has been received from the server. * * SM_NET_*: * These are network connection related events. * * To change current state function, use sm_goto(). * * The state machine API also implements a state stack. This allows * us to reuse parts of the state machine by pushing the current * state, and then returning to it when the nested processing is * complete. * * The state machine nesting can be used via sm_push() and sm_pop(). */ /*---------------------------------------------------------------------- * Game startup and offline handling */ static gboolean mode_offline(StateMachine * sm, gint event) { sm_state_name(sm, "mode_offline"); switch (event) { case SM_ENTER: callback_mode = MODE_INIT; callbacks.offline(); break; default: break; } return FALSE; } /* Waiting for connect to complete */ gboolean mode_connecting(StateMachine * sm, gint event) { sm_state_name(sm, "mode_connecting"); switch (event) { case SM_NET_CONNECT: sm_goto(sm, mode_start); return TRUE; case SM_NET_CONNECT_FAIL: sm_goto(sm, mode_offline); return TRUE; default: break; } return FALSE; } /* Handle initial signon message */ gboolean mode_start(StateMachine * sm, gint event) { gint player_num, total_num; gchar *version; sm_state_name(sm, "mode_start"); if (event == SM_ENTER) { callbacks.network_status(_("Loading")); player_reset(); callbacks.init_game(); } if (event != SM_RECV) return FALSE; if (sm_recv(sm, "version report")) { sm_send(sm, "version %s\n", client_version_type_to_string(LATEST_VERSION)); return TRUE; } if (sm_recv(sm, "status report")) { gchar *name = notifying_string_get(requested_name); if (requested_spectator) { if (name && name[0] != '\0') { sm_send(sm, "status viewer %s\n", name); } else { sm_send(sm, "status newviewer\n"); } } else { if (name && name[0] != '\0') { sm_send(sm, "status reconnect %s\n", name); } else { sm_send(sm, "status newplayer\n"); } } g_free(name); return TRUE; } if (sm_recv(sm, "player %d of %d, welcome to pioneers server %S", &player_num, &total_num, &version)) { gchar *style = notifying_string_get(requested_style); g_free(version); player_set_my_num(player_num); player_set_total_num(total_num); sm_send(sm, "style %s\n", style); sm_send(sm, "players\n"); sm_goto(sm, mode_players); g_free(style); return TRUE; } if (sm_recv(sm, "ERR sorry, version conflict")) { sm_pop_all_and_goto(sm, mode_offline); callbacks.network_status(_("Offline")); callbacks.instructions(_("Version mismatch.")); log_message(MSG_ERROR, _("Version mismatch. Please make sure client " "and server are up to date.\n")); return TRUE; } return check_chat_or_name(sm); } /* Response to "players" command */ static gboolean mode_players(StateMachine * sm, gint event) { sm_state_name(sm, "mode_players"); if (event != SM_RECV) return FALSE; if (sm_recv(sm, "players follow")) { sm_goto(sm, mode_player_list); return TRUE; } return check_other_players(sm); } /* Handle list of players */ static gboolean mode_player_list(StateMachine * sm, gint event) { sm_state_name(sm, "mode_player_list"); if (event != SM_RECV) return FALSE; if (sm_recv(sm, ".")) { sm_send(sm, "game\n"); sm_goto(sm, mode_load_game); return TRUE; } return check_other_players(sm); } /* Response to "game" command */ static gboolean mode_load_game(StateMachine * sm, gint event) { gchar *str; sm_state_name(sm, "mode_load_game"); if (event != SM_RECV) return FALSE; if (sm_recv(sm, "game")) { if (game_params != NULL) params_free(game_params); game_params = params_new(); return TRUE; } if (sm_recv(sm, "end")) { params_load_finish(game_params); callbacks.set_map(game_params->map); stock_init(); develop_init(); /* initialize global recovery info struct */ recovery_info.prevstate = NULL; recovery_info.turnnum = -1; recovery_info.playerturn = -1; recovery_info.numdiscards = -1; recovery_info.rolled_dice = FALSE; recovery_info.die1 = -1; recovery_info.die2 = -1; recovery_info.bought_develop = FALSE; recovery_info.build_list = NULL; recovery_info.ship_moved = FALSE; sm_send(sm, "gameinfo\n"); sm_goto(sm, mode_load_gameinfo); return TRUE; } if (check_other_players(sm)) return TRUE; if (sm_recv(sm, "%S", &str)) { params_load_line(game_params, str); g_free(str); return TRUE; } return FALSE; } /* Response to "gameinfo" command */ static gboolean mode_load_gameinfo(StateMachine * sm, gint event) { gint x, y, pos, owner; static gboolean have_bank = FALSE; static gint devcardidx = -1; static gint numdevcards = -1; gint num_roads, num_bridges, num_ships, num_settlements, num_cities, num_soldiers; gint opnum, opnassets, opncards, opnsoldiers; gboolean pchapel, puniv, pgov, plibr, pmarket, plongestroad, plargestarmy; gint point_id, point_points; gchar *point_name; DevelType devcard; gint devcardturnbought; BuildType btype; gint resources[NO_RESOURCE]; gint tmp_bank[NO_RESOURCE]; gint devbought; sm_state_name(sm, "mode_load_gameinfo"); if (event == SM_ENTER) { gint idx; have_bank = FALSE; for (idx = 0; idx < NO_RESOURCE; ++idx) tmp_bank[idx] = game_params->resource_count; set_bank(tmp_bank); } if (event != SM_RECV) return FALSE; if (sm_recv(sm, "gameinfo")) { return TRUE; } if (sm_recv(sm, ".")) { return TRUE; } if (sm_recv(sm, "end")) { callback_mode = MODE_WAIT_TURN; /* allow chatting */ callbacks.start_game(); sm_goto(sm, mode_recovery_wait_start_response); return TRUE; } if (sm_recv(sm, "bank %R", tmp_bank)) { set_bank(tmp_bank); have_bank = TRUE; return TRUE; } if (sm_recv(sm, "development-bought %d", &devbought)) { gint i; for (i = 0; i < devbought; i++) stock_use_develop(); return TRUE; } if (sm_recv(sm, "turn num %d", &recovery_info.turnnum)) { return TRUE; } if (sm_recv(sm, "player turn: %d", &recovery_info.playerturn)) { return TRUE; } if (sm_recv (sm, "dice rolled: %d %d", &recovery_info.die1, &recovery_info.die2)) { recovery_info.rolled_dice = TRUE; return TRUE; } if (sm_recv (sm, "dice value: %d %d", &recovery_info.die1, &recovery_info.die2)) { return TRUE; } if (sm_recv(sm, "moved ship")) { recovery_info.ship_moved = TRUE; return TRUE; } if (sm_recv(sm, "bought develop")) { recovery_info.bought_develop = TRUE; return TRUE; } if (sm_recv(sm, "state %S", &recovery_info.prevstate)) { return TRUE; } if (sm_recv(sm, "playerinfo: resources: %R", resources)) { resource_init(); resource_apply_list(my_player_num(), resources, 1); /* If the bank was copied from the server, it should not be * compensated for my own resources, because it was already * correct. So we compensate it back. */ if (have_bank) modify_bank(resources); return TRUE; } if (sm_recv(sm, "playerinfo: numdevcards: %d", &numdevcards)) { devcardidx = 0; return TRUE; } if (sm_recv (sm, "playerinfo: devcard: %d %d", &devcard, &devcardturnbought)) { if (devcardidx >= numdevcards) { return FALSE; } develop_bought_card_turn(devcard, devcardturnbought != 0); devcardidx++; if (devcardidx >= numdevcards) { devcardidx = numdevcards = -1; } return TRUE; } if (sm_recv (sm, "playerinfo: %d %d %d %d %d %d %d %d %d %d %d %d %d", &num_roads, &num_bridges, &num_ships, &num_settlements, &num_cities, &num_soldiers, &pchapel, &puniv, &pgov, &plibr, &pmarket, &plongestroad, &plargestarmy)) { if (num_soldiers) { player_modify_statistic(my_player_num(), STAT_SOLDIERS, num_soldiers); } if (pchapel) { player_modify_statistic(my_player_num(), STAT_CHAPEL, 1); } if (puniv) { player_modify_statistic(my_player_num(), STAT_UNIVERSITY, 1); } if (pgov) { player_modify_statistic(my_player_num(), STAT_GOVERNORS_HOUSE, 1); } if (plibr) { player_modify_statistic(my_player_num(), STAT_LIBRARY, 1); } if (pmarket) { player_modify_statistic(my_player_num(), STAT_MARKET, 1); } if (plongestroad) { player_modify_statistic(my_player_num(), STAT_LONGEST_ROAD, 1); } if (plargestarmy) { player_modify_statistic(my_player_num(), STAT_LARGEST_ARMY, 1); } return TRUE; } if (sm_recv (sm, "get-point %d %d %d %S", &opnum, &point_id, &point_points, &point_name)) { Points *points = points_new(point_id, point_name, point_points); player_modify_points(opnum, points, TRUE); /* Added */ return TRUE; } if (sm_recv (sm, "otherplayerinfo: %d %d %d %d %d %d %d %d %d %d %d", &opnum, &opnassets, &opncards, &opnsoldiers, &pchapel, &puniv, &pgov, &plibr, &pmarket, &plongestroad, &plargestarmy)) { player_modify_statistic(opnum, STAT_RESOURCES, opnassets); player_modify_statistic(opnum, STAT_DEVELOPMENT, opncards); player_modify_statistic(opnum, STAT_SOLDIERS, opnsoldiers); if (opnassets != 0) g_assert(have_bank); if (pchapel) { player_modify_statistic(opnum, STAT_CHAPEL, 1); } if (puniv) { player_modify_statistic(opnum, STAT_UNIVERSITY, 1); } if (pgov) { player_modify_statistic(opnum, STAT_GOVERNORS_HOUSE, 1); } if (plibr) { player_modify_statistic(opnum, STAT_LIBRARY, 1); } if (pmarket) { player_modify_statistic(opnum, STAT_MARKET, 1); } if (plongestroad) { player_modify_statistic(opnum, STAT_LONGEST_ROAD, 1); } if (plargestarmy) { player_modify_statistic(opnum, STAT_LARGEST_ARMY, 1); } return TRUE; } if (sm_recv(sm, "buildinfo: %B %d %d %d", &btype, &x, &y, &pos)) { BuildRec *rec; rec = g_malloc0(sizeof(*rec)); rec->type = btype; rec->x = x; rec->y = y; rec->pos = pos; recovery_info.build_list = g_list_append(recovery_info.build_list, rec); return TRUE; } if (sm_recv(sm, "RO%d,%d", &x, &y)) { robber_move_on_map(x, y); return TRUE; } if (sm_recv(sm, "P%d,%d", &x, &y)) { pirate_move_on_map(x, y); return TRUE; } if (sm_recv(sm, "S%d,%d,%d,%d", &x, &y, &pos, &owner)) { player_build_add(owner, BUILD_SETTLEMENT, x, y, pos, FALSE); return TRUE; } if (sm_recv(sm, "C%d,%d,%d,%d", &x, &y, &pos, &owner)) { player_build_add(owner, BUILD_CITY, x, y, pos, FALSE); return TRUE; } if (sm_recv(sm, "W%d,%d,%d,%d", &x, &y, &pos, &owner)) { player_build_add(owner, BUILD_CITY_WALL, x, y, pos, FALSE); return TRUE; } if (sm_recv(sm, "R%d,%d,%d,%d", &x, &y, &pos, &owner)) { player_build_add(owner, BUILD_ROAD, x, y, pos, FALSE); return TRUE; } if (sm_recv(sm, "SH%d,%d,%d,%d", &x, &y, &pos, &owner)) { player_build_add(owner, BUILD_SHIP, x, y, pos, FALSE); return TRUE; } if (sm_recv(sm, "B%d,%d,%d,%d", &x, &y, &pos, &owner)) { player_build_add(owner, BUILD_BRIDGE, x, y, pos, FALSE); return TRUE; } return FALSE; } /*---------------------------------------------------------------------- * Build command processing */ /* Handle response to build command */ gboolean mode_build_response(StateMachine * sm, gint event) { BuildType build_type; gint x, y, pos; sm_state_name(sm, "mode_build_response"); switch (event) { case SM_ENTER: waiting_for_network(TRUE); break; case SM_RECV: if (sm_recv(sm, "built %B %d %d %d", &build_type, &x, &y, &pos)) { build_add(build_type, x, y, pos, TRUE); waiting_for_network(FALSE); sm_pop(sm); return TRUE; } if (check_other_players(sm)) return TRUE; break; } return FALSE; } /* Handle response to move ship command */ gboolean mode_move_response(StateMachine * sm, gint event) { gint sx, sy, spos, dx, dy, dpos; sm_state_name(sm, "mode_move_response"); switch (event) { case SM_ENTER: waiting_for_network(TRUE); break; case SM_RECV: if (sm_recv(sm, "move %d %d %d %d %d %d", &sx, &sy, &spos, &dx, &dy, &dpos)) { build_move(sx, sy, spos, dx, dy, dpos, FALSE); waiting_for_network(FALSE); sm_pop(sm); return TRUE; } if (check_other_players(sm)) return TRUE; break; } return FALSE; } /*---------------------------------------------------------------------- * Setup phase handling */ /* Response to a "done" */ gboolean mode_done_response(StateMachine * sm, gint event) { sm_state_name(sm, "mode_done_response"); switch (event) { case SM_ENTER: waiting_for_network(TRUE); break; case SM_RECV: if (sm_recv(sm, "OK")) { build_clear(); waiting_for_network(FALSE); /* pop back to parent's parent if "done" worked */ sm_multipop(sm, 2); return TRUE; } if (check_other_players(sm)) return TRUE; break; } return FALSE; } static char *setup_msg(void) { gchar *msg; gchar *old; const gchar *parts[3]; int num_parts; int idx; if (is_setup_double()) msg = g_strdup(_("Build two settlements, " "each with a connecting")); else msg = g_strdup(_("Build a settlement with a connecting")); num_parts = 0; if (setup_can_build_road()) parts[num_parts++] = _("road"); if (setup_can_build_bridge()) parts[num_parts++] = _("bridge"); if (setup_can_build_ship()) parts[num_parts++] = _("ship"); for (idx = 0; idx < num_parts; idx++) { if (idx > 0) { if (idx == num_parts - 1) { old = msg; msg = g_strdup_printf("%s%s", msg, _(" or")); g_free(old); } else { old = msg; msg = g_strdup_printf("%s,", msg); g_free(old); } } old = msg; msg = g_strdup_printf("%s %s", msg, parts[idx]); g_free(old); } old = msg; msg = g_strdup_printf("%s.", msg); g_free(old); return msg; } static gboolean mode_setup(StateMachine * sm, gint event) { gint total; sm_state_name(sm, "mode_setup"); switch (event) { case SM_ENTER: callback_mode = MODE_SETUP; callbacks.instructions(setup_msg()); total = is_setup_double()? 2 : 1; callbacks.setup(total - build_count_settlements(), total - build_count_edges()); break; case SM_RECV: /* When a line of text comes in from the network, the * state machine will call us with SM_RECV. */ if (check_other_players(sm)) return TRUE; break; default: break; } return FALSE; } /*---------------------------------------------------------------------- * Game is up and running - waiting for our turn */ /* Waiting for your turn to come around */ static gboolean mode_idle(StateMachine * sm, gint event) { gint num, player_num, backwards; gint they_supply[NO_RESOURCE]; gint they_receive[NO_RESOURCE]; sm_state_name(sm, "mode_idle"); switch (event) { case SM_ENTER: callback_mode = MODE_WAIT_TURN; if (player_is_spectator(my_player_num())) callbacks.instructions(""); else callbacks.instructions(_ ("Waiting for your turn.")); break; case SM_RECV: if (sm_recv(sm, "setup %d", &backwards)) { setup_begin(my_player_num()); if (backwards) sm_push_noenter(sm, mode_wait_resources); sm_push(sm, mode_setup); return TRUE; } if (sm_recv(sm, "setup-double")) { setup_begin_double(my_player_num()); sm_push_noenter(sm, mode_wait_resources); sm_push(sm, mode_setup); return TRUE; } if (sm_recv(sm, "turn %d", &num)) { turn_begin(my_player_num(), num); sm_push(sm, mode_turn); return TRUE; } if (sm_recv (sm, "player %d domestic-trade call supply %R receive %R", &player_num, they_supply, they_receive)) { sm_push(sm, mode_domestic_quote); callbacks.quote(player_num, they_supply, they_receive); return TRUE; } if (check_other_players(sm)) return TRUE; break; default: break; } return FALSE; } /*---------------------------------------------------------------------- * Nested state machine for robber handling */ /* Get user to steal from a building */ static gboolean mode_robber_steal_building(StateMachine * sm, gint event) { sm_state_name(sm, "mode_robber_steal_building"); switch (event) { case SM_ENTER: callback_mode = MODE_ROB; callbacks.instructions(_ ("Select the building to steal from.")); callbacks.steal_building(); break; case SM_RECV: if (check_other_players(sm)) return TRUE; break; default: break; } return FALSE; } /* Get user to steal from a ship */ static gboolean mode_robber_steal_ship(StateMachine * sm, gint event) { sm_state_name(sm, "mode_robber_steal_ship"); switch (event) { case SM_ENTER: callback_mode = MODE_ROB; callbacks.instructions(_ ("Select the ship to steal from.")); callbacks.steal_ship(); break; case SM_RECV: if (check_other_players(sm)) return TRUE; break; default: break; } return FALSE; } /* Handle response to move robber */ gboolean mode_robber_move_response(StateMachine * sm, gint event) { gint x, y; sm_state_name(sm, "mode_robber_move_response"); switch (event) { case SM_ENTER: waiting_for_network(TRUE); break; case SM_RECV: if (sm_recv(sm, "robber-done")) { waiting_for_network(FALSE); sm_multipop(sm, 2); callbacks.robber_done(); return TRUE; } if (sm_recv(sm, "rob %d %d", &x, &y)) { const Hex *hex; waiting_for_network(FALSE); hex = map_hex_const(callbacks.get_map(), x, y); if (hex->terrain == SEA_TERRAIN) sm_push(sm, mode_robber_steal_ship); else sm_push(sm, mode_robber_steal_building); return TRUE; } if (check_other_players(sm)) return TRUE; break; } return FALSE; } /* Wait for server to say robber-done */ gboolean mode_robber_response(StateMachine * sm, gint event) { sm_state_name(sm, "mode_robber_response"); switch (event) { case SM_ENTER: waiting_for_network(TRUE); break; case SM_RECV: if (sm_recv(sm, "robber-done")) { waiting_for_network(FALSE); /* current state is response * parent is steal * parent is move_response * parent is mode_robber * all four must be popped. */ sm_multipop(sm, 4); callbacks.robber_done(); return TRUE; } if (check_other_players(sm)) return TRUE; break; } return FALSE; } /* Get user to place robber */ static gboolean mode_robber(StateMachine * sm, gint event) { sm_state_name(sm, "mode_robber"); switch (event) { case SM_ENTER: callback_mode = MODE_ROBBER; callbacks.instructions(_("Place the robber.")); robber_begin_move(my_player_num()); callbacks.robber(); break; case SM_RECV: if (check_other_players(sm)) return TRUE; break; default: break; } return FALSE; } /* We rolled a 7, or played a soldier card - any time now the server * is going to tell us to place the robber. Going into this state as * soon as we roll a 7 stops a race condition where the user presses a * GUI control in the window between receiving the die roll result and * the command to enter robber mode. */ static gboolean mode_wait_for_robber(StateMachine * sm, gint event) { sm_state_name(sm, "mode_wait_for_robber"); switch (event) { case SM_ENTER: waiting_for_network(TRUE); break; case SM_RECV: if (sm_recv(sm, "you-are-robber")) { waiting_for_network(FALSE); sm_goto(sm, mode_robber); return TRUE; } if (check_other_players(sm)) return TRUE; break; default: break; } return FALSE; } /*---------------------------------------------------------------------- * Road building */ const gchar *road_building_message(gint build_amount) { switch (build_amount) { case 0: return _("Finish the road building action."); case 1: return _("Build one road segment."); case 2: return _("Build two road segments."); default: g_error("Unknown road building amount"); return ""; }; } static gboolean mode_road_building(StateMachine * sm, gint event) { gint build_amount; /* The amount of available 'roads' */ sm_state_name(sm, "mode_road_building"); switch (event) { case SM_ENTER: callback_mode = MODE_ROAD_BUILD; /* Determine the possible amount of road segments */ build_amount = 0; if (road_building_can_build_road()) build_amount += stock_num_roads(); if (road_building_can_build_ship()) build_amount += stock_num_ships(); if (road_building_can_build_bridge()) build_amount += stock_num_bridges(); /* Now determine the amount of segments left to play */ build_amount = MIN(build_amount, 2 - build_count_edges()); callbacks.roadbuilding(build_amount); callbacks.instructions(road_building_message (build_amount)); break; case SM_RECV: if (check_other_players(sm)) return TRUE; break; default: break; } return FALSE; } /*---------------------------------------------------------------------- * Monopoly development card */ /* Response to "monopoly" */ gboolean mode_monopoly_response(StateMachine * sm, gint event) { sm_state_name(sm, "mode_monopoly_response"); switch (event) { case SM_ENTER: callback_mode = MODE_MONOPOLY_RESPONSE; waiting_for_network(TRUE); break; case SM_RECV: if (sm_recv(sm, "OK")) { waiting_for_network(FALSE); /* pop to parent's parent if it worked */ sm_multipop(sm, 2); return TRUE; } if (check_other_players(sm)) return TRUE; break; } return FALSE; } static gboolean mode_monopoly(StateMachine * sm, gint event) { sm_state_name(sm, "mode_monopoly"); switch (event) { case SM_ENTER: callback_mode = MODE_MONOPOLY; callbacks.monopoly(); break; case SM_RECV: if (check_other_players(sm)) return TRUE; break; default: break; } return FALSE; } /*---------------------------------------------------------------------- * Year of Plenty development card */ /* Response to "plenty" */ gboolean mode_year_of_plenty_response(StateMachine * sm, gint event) { sm_state_name(sm, "mode_year_of_plenty_response"); switch (event) { case SM_ENTER: callback_mode = MODE_PLENTY_RESPONSE; waiting_for_network(TRUE); break; case SM_RECV: if (sm_recv(sm, "OK")) { waiting_for_network(FALSE); /* action is done, go to parent's parent */ sm_multipop(sm, 2); return TRUE; } if (check_other_players(sm)) return TRUE; break; } return FALSE; } static gboolean mode_year_of_plenty(StateMachine * sm, gint event) { gint plenty[NO_RESOURCE]; sm_state_name(sm, "mode_year_of_plenty"); switch (event) { case SM_RECV: if (sm_recv(sm, "plenty %R", plenty)) { callback_mode = MODE_PLENTY; callbacks.plenty(plenty); return TRUE; } if (check_other_players(sm)) return TRUE; break; default: break; } return FALSE; } /*---------------------------------------------------------------------- * Nested state machine for handling development card play response */ /* Handle response to play develop card */ gboolean mode_play_develop_response(StateMachine * sm, gint event) { guint card_idx; DevelType card_type; sm_state_name(sm, "mode_play_develop_response"); switch (event) { case SM_ENTER: waiting_for_network(TRUE); break; case SM_RECV: if (sm_recv (sm, "play-develop %u %D", &card_idx, &card_type)) { build_clear(); waiting_for_network(FALSE); develop_played(my_player_num(), card_idx, card_type); /* This mode should be popped off after the response * has been handled. However, for the development * card, a new mode must be pushed immediately. Due * to the lack of sm_pop_noenter this is combined as * sm_goto */ switch (card_type) { case DEVEL_ROAD_BUILDING: sm_goto(sm, mode_road_building); break; case DEVEL_MONOPOLY: sm_goto(sm, mode_monopoly); break; case DEVEL_YEAR_OF_PLENTY: sm_goto(sm, mode_year_of_plenty); break; case DEVEL_SOLDIER: sm_goto(sm, mode_wait_for_robber); break; default: sm_pop(sm); break; } return TRUE; } if (check_other_players(sm)) return TRUE; break; } return FALSE; } /*---------------------------------------------------------------------- * Nested state machine for handling resource card discards. We enter * discard mode whenever any player has to discard resources. * * When in discard mode, a section of the GUI changes to list all * players who must discard resources. This is important because if * during our turn we roll 7, but have less than 7 resources, we do * not have to discard. The list tells us which players have still * not discarded resources. */ static gboolean mode_discard(StateMachine * sm, gint event) { gint player_num, discard_num; sm_state_name(sm, "mode_discard"); switch (event) { case SM_ENTER: if (callback_mode != MODE_DISCARD && callback_mode != MODE_DISCARD_WAIT) { previous_mode = callback_mode; callback_mode = MODE_DISCARD_WAIT; } callbacks.discard(); break; case SM_RECV: if (sm_recv(sm, "player %d must-discard %d", &player_num, &discard_num)) { if (player_num == my_player_num()) callback_mode = MODE_DISCARD; callbacks.discard_add(player_num, discard_num); return TRUE; } if (sm_recv(sm, "discard-done")) { callback_mode = previous_mode; callbacks.discard_done(); sm_pop(sm); return TRUE; } if (check_other_players(sm)) return TRUE; break; default: break; } return FALSE; } /*---------------------------------------------------------------------- * Turn mode processing - before dice have been rolled */ /* Handle response to "roll dice" */ gboolean mode_roll_response(StateMachine * sm, gint event) { gint die1, die2; sm_state_name(sm, "mode_roll_response"); switch (event) { case SM_ENTER: waiting_for_network(TRUE); break; case SM_RECV: if (sm_recv(sm, "rolled %d %d", &die1, &die2)) { turn_rolled_dice(my_player_num(), die1, die2); waiting_for_network(FALSE); sm_goto_noenter(sm, mode_turn_rolled); if (die1 + die2 == 7) { sm_push(sm, mode_wait_for_robber); } else sm_push(sm, mode_wait_resources); return TRUE; } if (check_other_players(sm)) return TRUE; break; } return FALSE; } static gboolean mode_turn(StateMachine * sm, gint event) { sm_state_name(sm, "mode_turn"); switch (event) { case SM_ENTER: callback_mode = MODE_TURN; callbacks.instructions(_("It is your turn.")); callbacks.turn(); break; case SM_RECV: if (check_other_players(sm)) return TRUE; break; default: break; } return FALSE; } /*---------------------------------------------------------------------- * Turn mode processing - after dice have been rolled */ /* Handle response to buy development card */ gboolean mode_buy_develop_response(StateMachine * sm, gint event) { DevelType card_type; sm_state_name(sm, "mode_buy_develop_response"); switch (event) { case SM_ENTER: waiting_for_network(TRUE); break; case SM_RECV: if (sm_recv(sm, "bought-develop %D", &card_type)) { develop_bought_card(card_type); sm_pop(sm); waiting_for_network(FALSE); return TRUE; } if (check_other_players(sm)) return TRUE; break; } return FALSE; } /* Response to "undo" */ gboolean mode_undo_response(StateMachine * sm, gint event) { BuildType build_type; gint x, y, pos; gint sx, sy, spos, dx, dy, dpos; sm_state_name(sm, "mode_undo_response"); switch (event) { case SM_ENTER: waiting_for_network(TRUE); break; case SM_RECV: if (sm_recv(sm, "remove %B %d %d %d", &build_type, &x, &y, &pos)) { build_remove(build_type, x, y, pos); waiting_for_network(FALSE); sm_pop(sm); return TRUE; } if (sm_recv(sm, "move-back %d %d %d %d %d %d", &sx, &sy, &spos, &dx, &dy, &dpos)) { build_move(sx, sy, spos, dx, dy, dpos, TRUE); waiting_for_network(FALSE); sm_pop(sm); return TRUE; } if (sm_recv(sm, "undo-robber")) { waiting_for_network(FALSE); /* current state is undo-response * parent is steal * parent is move_response * parent is mode_robber * the first three must be popped. */ sm_multipop(sm, 3); return TRUE; } if (check_other_players(sm)) return TRUE; break; } return FALSE; } static gboolean mode_turn_rolled(StateMachine * sm, gint event) { sm_state_name(sm, "mode_turn_rolled"); switch (event) { case SM_ENTER: callback_mode = MODE_TURN; callbacks.instructions(_("It is your turn.")); callbacks.turn(); break; case SM_RECV: if (check_other_players(sm)) return TRUE; break; default: break; } return FALSE; } /*---------------------------------------------------------------------- * Trade processing - all trading done inside a nested state machine * to allow trading to be invoked from multiple states. */ static gboolean check_trading(StateMachine * sm) { gint player_num, quote_num; gint they_supply[NO_RESOURCE]; gint they_receive[NO_RESOURCE]; if (!sm_recv_prefix(sm, "player %d ", &player_num)) return FALSE; if (sm_recv(sm, "domestic-quote finish")) { callbacks.trade_player_end(player_num); return TRUE; } if (sm_recv(sm, "domestic-quote quote %d supply %R receive %R", "e_num, they_supply, they_receive)) { callbacks.trade_add_quote(player_num, quote_num, they_supply, they_receive); return TRUE; } if (sm_recv(sm, "domestic-quote delete %d", "e_num)) { callbacks.trade_remove_quote(player_num, quote_num); return TRUE; } sm_cancel_prefix(sm); return FALSE; } /* Handle response to call for domestic trade quotes */ gboolean mode_trade_call_response(StateMachine * sm, gint event) { gint we_supply[NO_RESOURCE]; gint we_receive[NO_RESOURCE]; sm_state_name(sm, "mode_trade_call_response"); switch (event) { case SM_ENTER: waiting_for_network(TRUE); break; case SM_RECV: if (sm_recv(sm, "domestic-trade call supply %R receive %R", we_supply, we_receive)) { waiting_for_network(FALSE); /* pop response state + push trade state == goto */ sm_goto(sm, mode_domestic_trade); return TRUE; } if (check_trading(sm) || check_other_players(sm)) return TRUE; break; } return FALSE; } /* Handle response to maritime trade */ gboolean mode_trade_maritime_response(StateMachine * sm, gint event) { gint ratio; Resource we_supply; Resource we_receive; Resource no_receive; sm_state_name(sm, "mode_trade_maritime_response"); switch (event) { case SM_ENTER: waiting_for_network(TRUE); break; case SM_RECV: /* Handle out-of-resource-cards */ if (sm_recv(sm, "ERR no-cards %r", &no_receive)) { gchar *buf_receive; buf_receive = resource_cards(0, no_receive); log_message(MSG_TRADE, _("Sorry, %s available.\n"), buf_receive); g_free(buf_receive); waiting_for_network(FALSE); sm_pop(sm); return TRUE; } if (sm_recv(sm, "maritime-trade %d supply %r receive %r", &ratio, &we_supply, &we_receive)) { player_maritime_trade(my_player_num(), ratio, we_supply, we_receive); waiting_for_network(FALSE); sm_pop(sm); callbacks.trade_maritime(ratio, we_supply, we_receive); return TRUE; } if (check_trading(sm) || check_other_players(sm)) return TRUE; break; } return FALSE; } /* Handle response to call for quotes during domestic trade */ gboolean mode_trade_call_again_response(StateMachine * sm, gint event) { gint we_supply[NO_RESOURCE]; gint we_receive[NO_RESOURCE]; sm_state_name(sm, "mode_trade_call_again_response"); switch (event) { case SM_ENTER: waiting_for_network(TRUE); break; case SM_RECV: if (sm_recv(sm, "domestic-trade call supply %R receive %R", we_supply, we_receive)) { waiting_for_network(FALSE); sm_pop(sm); return TRUE; } if (check_trading(sm) || check_other_players(sm)) return TRUE; break; } return FALSE; } /* Handle response to domestic trade */ gboolean mode_trade_domestic_response(StateMachine * sm, gint event) { gint partner_num; gint quote_num; gint they_supply[NO_RESOURCE]; gint they_receive[NO_RESOURCE]; sm_state_name(sm, "mode_trade_domestic_response"); switch (event) { case SM_ENTER: waiting_for_network(TRUE); break; case SM_RECV: if (sm_recv (sm, "domestic-trade accept player %d quote %d supply %R receive %R", &partner_num, "e_num, &they_supply, &they_receive)) { player_domestic_trade(my_player_num(), partner_num, they_supply, they_receive); waiting_for_network(FALSE); callbacks.trade_domestic(partner_num, quote_num, they_receive, they_supply); sm_pop(sm); return TRUE; } if (check_trading(sm) || check_other_players(sm)) return TRUE; break; } return FALSE; } /* Handle response to domestic trade finish */ gboolean mode_domestic_finish_response(StateMachine * sm, gint event) { sm_state_name(sm, "mode_domestic_finish_response"); switch (event) { case SM_ENTER: waiting_for_network(TRUE); break; case SM_RECV: if (sm_recv(sm, "domestic-trade finish")) { callback_mode = MODE_TURN; waiting_for_network(FALSE); /* pop to parent's parent on finish */ sm_multipop(sm, 2); return TRUE; } if (check_trading(sm) || check_other_players(sm)) return TRUE; break; } return FALSE; } static gboolean mode_domestic_trade(StateMachine * sm, gint event) { sm_state_name(sm, "mode_domestic_trade"); switch (event) { case SM_ENTER: if (callback_mode != MODE_DOMESTIC) { callback_mode = MODE_DOMESTIC; } callbacks.trade(); break; case SM_RECV: if (check_trading(sm) || check_other_players(sm)) return TRUE; break; default: break; } return FALSE; } /*---------------------------------------------------------------------- * Quote processing - all quoting done inside a nested state machine. */ static gboolean check_quoting(StateMachine * sm, gint exitdepth, gboolean monitor) { gint player_num, partner_num, quote_num; gint they_supply[NO_RESOURCE]; gint they_receive[NO_RESOURCE]; if (!sm_recv_prefix(sm, "player %d ", &player_num)) return FALSE; if (sm_recv(sm, "domestic-quote finish")) { callbacks.quote_player_end(player_num); return TRUE; } if (sm_recv(sm, "domestic-quote quote %d supply %R receive %R", "e_num, they_supply, they_receive)) { callbacks.quote_add(player_num, quote_num, they_supply, they_receive); return TRUE; } if (sm_recv(sm, "domestic-quote delete %d", "e_num)) { callbacks.quote_remove(player_num, quote_num); return TRUE; } if (sm_recv(sm, "domestic-trade call supply %R receive %R", they_supply, they_receive)) { if (monitor) sm_pop(sm); callbacks.quote(player_num, they_supply, they_receive); return TRUE; } if (sm_recv (sm, "domestic-trade accept player %d quote %d supply %R receive %R", &partner_num, "e_num, they_supply, they_receive)) { player_domestic_trade(player_num, partner_num, they_supply, they_receive); callbacks.quote_trade(player_num, partner_num, quote_num, they_supply, they_receive); return TRUE; } if (sm_recv(sm, "domestic-trade finish")) { callback_mode = previous_mode; callbacks.quote_end(); sm_multipop(sm, exitdepth); return TRUE; } sm_cancel_prefix(sm); return FALSE; } /* Handle response to domestic quote finish */ gboolean mode_quote_finish_response(StateMachine * sm, gint event) { sm_state_name(sm, "mode_quote_finish_response"); switch (event) { case SM_ENTER: waiting_for_network(TRUE); break; case SM_RECV: if (sm_recv(sm, "domestic-quote finish")) { waiting_for_network(FALSE); /* pop response + push monitor == goto */ sm_goto(sm, mode_domestic_monitor); callbacks.quote_monitor(); return TRUE; } if (check_quoting(sm, 2, FALSE) || check_other_players(sm)) return TRUE; break; } return FALSE; } /* Handle response to domestic quote submit */ gboolean mode_quote_submit_response(StateMachine * sm, gint event) { gint quote_num; gint we_supply[NO_RESOURCE]; gint we_receive[NO_RESOURCE]; sm_state_name(sm, "mode_quote_submit_response"); switch (event) { case SM_ENTER: waiting_for_network(TRUE); break; case SM_RECV: if (sm_recv (sm, "domestic-quote quote %d supply %R receive %R", "e_num, we_supply, we_receive)) { callbacks.quote_add(my_player_num(), quote_num, we_supply, we_receive); waiting_for_network(FALSE); sm_pop(sm); return TRUE; } if (check_quoting(sm, 2, FALSE) || check_other_players(sm)) return TRUE; break; } return FALSE; } /* Handle response to domestic quote delete */ gboolean mode_quote_delete_response(StateMachine * sm, gint event) { gint quote_num; sm_state_name(sm, "mode_quote_delete_response"); switch (event) { case SM_ENTER: waiting_for_network(TRUE); break; case SM_RECV: if (sm_recv(sm, "domestic-quote delete %d", "e_num)) { callbacks.quote_remove(my_player_num(), quote_num); waiting_for_network(FALSE); sm_pop(sm); return TRUE; } if (check_quoting(sm, 2, FALSE) || check_other_players(sm)) return TRUE; break; } return FALSE; } /* Another player has called for quotes for domestic trade */ static gboolean mode_domestic_quote(StateMachine * sm, gint event) { sm_state_name(sm, "mode_domestic_quote"); switch (event) { case SM_ENTER: if (callback_mode != MODE_QUOTE) { previous_mode = callback_mode; callback_mode = MODE_QUOTE; callbacks.quote_start(); } break; case SM_RECV: if (check_quoting(sm, 1, FALSE) || check_other_players(sm)) return TRUE; break; default: break; } return FALSE; } /* We have rejected domestic trade, now just monitor */ static gboolean mode_domestic_monitor(StateMachine * sm, gint event) { sm_state_name(sm, "mode_domestic_monitor"); switch (event) { case SM_RECV: if (check_quoting(sm, 2, TRUE) || check_other_players(sm)) return TRUE; break; default: break; } return FALSE; } /*---------------------------------------------------------------------- * The game is over */ static gboolean mode_game_over(StateMachine * sm, gint event) { sm_state_name(sm, "mode_game_over"); switch (event) { case SM_ENTER: callback_mode = MODE_GAME_OVER; callbacks.instructions(_("The game is over.")); break; case SM_RECV: if (check_other_players(sm)) return TRUE; break; default: break; } return FALSE; } static gboolean mode_recovery_wait_start_response(StateMachine * sm, gint event) { sm_state_name(sm, "mode_recovery_wait_start_response"); switch (event) { case SM_ENTER: sm_send(sm, "start\n"); break; case SM_RECV: if (sm_recv(sm, "OK")) { recover_from_disconnect(sm, &recovery_info); return TRUE; } return check_other_players(sm); default: break; } return FALSE; } static void recover_from_disconnect(StateMachine * sm, struct recovery_info_t *rinfo) { StateFunc modeturn; GList *next; guint num_playable_cards = get_num_playable_cards(); callbacks.start_game(); if (rinfo->turnnum > 0) turn_begin(rinfo->playerturn, rinfo->turnnum); if (rinfo->rolled_dice) { turn_rolled_dice(rinfo->playerturn, rinfo->die1, rinfo->die2); } else if (rinfo->die1 + rinfo->die2 > 1) { callbacks.rolled_dice(rinfo->die1, rinfo->die2, rinfo->playerturn); } if (rinfo->rolled_dice) modeturn = mode_turn_rolled; else modeturn = mode_turn; if (rinfo->bought_develop) { develop_reset_have_played_bought(rinfo->bought_develop, num_playable_cards); } /* setup_begin must be called before the build list is created, * because it contains a call to build_clear() */ if (strcmp(rinfo->prevstate, "SETUP") == 0 || strcmp(rinfo->prevstate, "RSETUP") == 0 || strcmp(rinfo->prevstate, "SETUPDOUBLE") == 0) { if (strcmp(rinfo->prevstate, "SETUPDOUBLE") == 0) { setup_begin_double(my_player_num()); } else { setup_begin(my_player_num()); } } /* The build list must be created before the state is entered, * because when the state is entered the frontend is called and * it will want to have the build list present. */ if (rinfo->build_list) { for (next = rinfo->build_list; next != NULL; next = g_list_next(next)) { BuildRec *build = (BuildRec *) next->data; build_add(build->type, build->x, build->y, build->pos, FALSE); } rinfo->build_list = buildrec_free(rinfo->build_list); } if (strcmp(rinfo->prevstate, "PREGAME") == 0) { sm_goto(sm, mode_idle); } else if (strcmp(rinfo->prevstate, "IDLE") == 0) { sm_goto(sm, mode_idle); } else if (strcmp(rinfo->prevstate, "SETUP") == 0 || strcmp(rinfo->prevstate, "RSETUP") == 0 || strcmp(rinfo->prevstate, "SETUPDOUBLE") == 0) { sm_goto_noenter(sm, mode_idle); if (strcmp(rinfo->prevstate, "SETUP") != 0) { sm_push_noenter(sm, mode_wait_resources); } sm_push(sm, mode_setup); } else if (strcmp(rinfo->prevstate, "TURN") == 0) { sm_goto_noenter(sm, mode_idle); sm_push(sm, modeturn); } else if (strcmp(rinfo->prevstate, "YOUAREROBBER") == 0) { sm_goto_noenter(sm, mode_idle); sm_push_noenter(sm, modeturn); sm_push(sm, mode_robber); } else if (strcmp(rinfo->prevstate, "DISCARD") == 0) { sm_goto_noenter(sm, mode_idle); if (my_player_num() == rinfo->playerturn) { sm_push_noenter(sm, mode_turn_rolled); sm_push_noenter(sm, mode_wait_for_robber); } /* Allow gui to fill previous_state when entering * mode_discard. */ callbacks.turn(); sm_push(sm, mode_discard); } else if (strcmp(rinfo->prevstate, "MONOPOLY") == 0) { sm_goto_noenter(sm, mode_idle); sm_push_noenter(sm, modeturn); callback_mode = MODE_TURN; sm_push(sm, mode_monopoly); } else if (strcmp(rinfo->prevstate, "PLENTY") == 0) { sm_goto_noenter(sm, mode_idle); sm_push_noenter(sm, modeturn); callback_mode = MODE_TURN; sm_push(sm, mode_year_of_plenty); } else if (strcmp(rinfo->prevstate, "GOLD") == 0) { sm_goto_noenter(sm, mode_idle); sm_push_noenter(sm, modeturn); callback_mode = MODE_TURN; sm_push(sm, mode_wait_resources); } else if (strcmp(rinfo->prevstate, "ROADBUILDING") == 0) { sm_goto_noenter(sm, mode_idle); sm_push_noenter(sm, modeturn); callback_mode = MODE_TURN; sm_push(sm, mode_road_building); } else g_warning("Not entering any state after reconnect, " "please report this as a bug. " "Should enter state \"%s\"", rinfo->prevstate); g_free(rinfo->prevstate); } /*---------------------------------------------------------------------- * Nested state machine for handling resource card distribution. We enter * here whenever resources might be distributed. * * This also includes choosing gold. Gold-choose mode is entered the first * time prepare-gold is received. * * When in gold-choose mode, as in discard mode, a section of the GUI * changes to list all players who must choose resources. This is * important because if during our turn we do not receive gold, but others * do, the list tells us which players have still not chosen resources. * Only the top player in the list can actually choose, the rest is waiting * for their turn. */ static gboolean mode_wait_resources(StateMachine * sm, gint event) { gint resource_list[NO_RESOURCE], bank[NO_RESOURCE]; gint player_num, gold_num; sm_state_name(sm, "mode_wait_resources"); switch (event) { case SM_RECV: if (sm_recv(sm, "player %d prepare-gold %d", &player_num, &gold_num)) { if (callback_mode != MODE_GOLD && callback_mode != MODE_GOLD_WAIT) { previous_mode = callback_mode; callback_mode = MODE_GOLD_WAIT; callbacks.gold(); } callbacks.gold_add(player_num, gold_num); return TRUE; } if (sm_recv(sm, "choose-gold %d %R", &gold_num, &bank)) { callback_mode = MODE_GOLD; callbacks.gold_choose(gold_num, bank); return TRUE; } if (sm_recv(sm, "player %d receive-gold %R", &player_num, resource_list)) { player_resource_action(player_num, _("%s takes %s.\n"), resource_list, 1); callbacks.gold_remove(player_num, resource_list); return TRUE; } if (sm_recv(sm, "done-resources")) { if (callback_mode == MODE_GOLD || callback_mode == MODE_GOLD_WAIT) { callback_mode = previous_mode; callbacks.gold_done(); } sm_pop(sm); return TRUE; } if (check_other_players(sm)) return TRUE; break; default: break; } return FALSE; } gboolean can_trade_domestic(void) { return game_params->domestic_trade; } gboolean can_trade_maritime(void) { MaritimeInfo info; gint idx; gboolean can_trade; /* We are not allowed to trade before we have rolled the dice, * or after we have done built a settlement / city, or after * buying a development card. */ if (!have_rolled_dice() || (game_params->strict_trade && (have_built() || have_bought_develop()))) return FALSE; can_trade = FALSE; /* Check if we can do a maritime trade */ map_maritime_info(callbacks.get_map(), &info, my_player_num()); for (idx = 0; idx < NO_RESOURCE; idx++) if (info.specific_resource[idx] && resource_asset(idx) >= 2) { can_trade = TRUE; break; } else if (info.any_resource && resource_asset(idx) >= 3) { can_trade = TRUE; break; } else if (resource_asset(idx) >= 4) { can_trade = TRUE; break; } return can_trade; } pioneers-15.5/client/common/stock.c0000644000175000017500000000642513252223516014256 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003 Bas Wijnen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "config.h" #include #include #include "game.h" #include "map.h" #include "client.h" #include "callback.h" static gint num_roads; /* number of roads available */ static gint num_ships; /* number of ships available */ static gint num_bridges; /* number of bridges available */ static gint num_settlements; /* settlements available */ static gint num_cities; /* cities available */ static gint num_city_walls; /* city walls available */ static guint num_develop; /* development cards left */ void stock_init(void) { guint idx; num_roads = game_params->num_build_type[BUILD_ROAD]; num_ships = game_params->num_build_type[BUILD_SHIP]; num_bridges = game_params->num_build_type[BUILD_BRIDGE]; num_settlements = game_params->num_build_type[BUILD_SETTLEMENT]; num_cities = game_params->num_build_type[BUILD_CITY]; num_city_walls = game_params->num_build_type[BUILD_CITY_WALL]; num_develop = 0; for (idx = 0; idx < G_N_ELEMENTS(game_params->num_develop_type); idx++) num_develop += game_params->num_develop_type[idx]; } gint stock_num_roads(void) { return num_roads; } void stock_use_road(void) { num_roads--; callbacks.update_stock(); } void stock_replace_road(void) { num_roads++; callbacks.update_stock(); } gint stock_num_ships(void) { return num_ships; } void stock_use_ship(void) { num_ships--; callbacks.update_stock(); } void stock_replace_ship(void) { num_ships++; callbacks.update_stock(); } gint stock_num_bridges(void) { return num_bridges; } void stock_use_bridge(void) { num_bridges--; callbacks.update_stock(); } void stock_replace_bridge(void) { num_bridges++; callbacks.update_stock(); } gint stock_num_settlements(void) { return num_settlements; } void stock_use_settlement(void) { num_settlements--; callbacks.update_stock(); } void stock_replace_settlement(void) { num_settlements++; callbacks.update_stock(); } gint stock_num_cities(void) { return num_cities; } void stock_use_city(void) { num_cities--; callbacks.update_stock(); } void stock_replace_city(void) { num_cities++; callbacks.update_stock(); } gint stock_num_city_walls(void) { return num_city_walls; } void stock_use_city_wall(void) { num_city_walls--; callbacks.update_stock(); } void stock_replace_city_wall(void) { num_city_walls++; callbacks.update_stock(); } guint stock_num_develop(void) { return num_develop; } void stock_use_develop(void) { num_develop--; } pioneers-15.5/client/callback.h0000644000175000017500000004037013252223516013401 00000000000000/* Pioneers - Implementation of the excellent Settlers of Catan board game. * Go buy a copy. * * Copyright (C) 1999 Dave Cole * Copyright (C) 2003,2006 Bas Wijnen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef _callback_h #define _callback_h /* this function should be defined by the frontend. */ void frontend_set_callbacks(void); /* this file should only include what the frontend needs, to prevent the * frontend's namespace to be too full. Especially client.h should not * be included. Any function a frontend may need should be declared here, * not in client.h */ #include /* for gboolean, and probably many other things */ #include "map.h" /* for Edge, Node and Hex */ #include "game.h" /* for DevelType */ #include "cards.h" /* types */ typedef enum { STAT_SETTLEMENTS, STAT_CITIES, STAT_CITY_WALLS, STAT_LARGEST_ARMY, STAT_LONGEST_ROAD, STAT_CHAPEL, STAT_UNIVERSITY, STAT_GOVERNORS_HOUSE, STAT_LIBRARY, STAT_MARKET, STAT_SOLDIERS, STAT_RESOURCES, STAT_DEVELOPMENT } StatisticType; typedef struct { gchar *name; gchar *style; gint statistics[STAT_DEVELOPMENT + 1]; GList *points; /* bonus points from special actions */ } Player; typedef struct { gchar *name; gchar *style; gint num; } Spectator; enum callback_mode { MODE_INIT, /* not connected */ MODE_WAIT_TURN, /* wait for your turn */ MODE_SETUP, /* do a setup */ MODE_TURN, /* your turn */ MODE_ROBBER, /* place robber */ MODE_ROB, /* select a building/ship to rob */ MODE_MONOPOLY, /* choose monopoly resource */ MODE_MONOPOLY_RESPONSE, /* chosen monopoly resource, waiting */ MODE_PLENTY, /* choose year of plenty resources */ MODE_PLENTY_RESPONSE, /* chosen year of plenty resources, waiting */ MODE_ROAD_BUILD, /* build two roads/ships/bridges */ MODE_DOMESTIC, /* called for quotes */ MODE_QUOTE, /* got a call for quotes */ MODE_DISCARD, /* discard resources */ MODE_DISCARD_WAIT, /* wait for others discarding resources */ MODE_GOLD, /* choose gold */ MODE_GOLD_WAIT, /* wait for others choosing gold */ MODE_GAME_OVER /* the game is over, nothing can be done */ }; /* functions to be implemented by front ends */ struct callbacks { /* This function is called when the client is initializing. The * frontend should initialize its libraries and use the command * line for the default commands. */ void (*init_glib_et_al) (int argc, char **argv); /* This function is called when the client is initialized. The * frontend should initialize itself now and process its own * command line options. */ void (*init) (void); /* Allows the frontend to show a message considering the network * status, probably in the status bar */ void (*network_status) (const gchar * description); /* playing instructions. conventionally shown in the "development * panel", but they can of course be put anywhere */ void (*instructions) (const gchar * message); /* Message if client is waiting for network. If it is, it may be * a good idea to disable all user controls and put a message in the * status bar. */ void (*network_wait) (gboolean is_waiting); /* we are in mode_offline, do something (probably call cb_connect). * This function is called every time the mode is entered, which is * at the start of the game and after every network event (after a * failed connect, that is) */ void (*offline) (void); /* some people must discard resources. this hook allows the frontend * to prepare for it. */ void (*discard) (void); /* add a player to the list of players who must discard. Note that * if player_num == my_player_num (), the frontend is supposed to * call cb_discard. */ void (*discard_add) (gint player_num, gint discard_num); /* a player discarded resources */ void (*discard_remove) (gint player_num); /* discard mode is finished. */ void (*discard_done) (void); /* starting gold distribution */ void (*gold) (void); /* someone is added to the list of receiving players. No special * reaction is required if player_num == my_player_num () */ void (*gold_add) (gint player_num, gint gold_num); /* someone chose gold resources */ void (*gold_remove) (gint player_num, gint * resources); /* You must choose the resources for your gold. */ void (*gold_choose) (gint gold_num, const gint * bank); /* all players chose their gold, the game continues. */ void (*gold_done) (void); /* the game is over, someone won. */ void (*game_over) (gint player_num, gint points); /* The game is about to (re)start, nothing is known about the new game */ void (*init_game) (void); /* The game is about to start, all rules are known. */ void (*start_game) (void); /* You must setup. Num_* is the number of settlements/roads that * should still be built. */ void (*setup) (gint num_settlements, gint num_roads); /* Someone did a call for quotes */ void (*quote) (gint player_num, gint * they_supply, gint * they_receive); /* you played a roadbuilding development card, so start building. */ void (*roadbuilding) (gint num_roads); /* choose your monopoly. */ void (*monopoly) (void); /* choose the resources for your year of plenty. */ void (*plenty) (const gint * bank); /* it's your turn, do something */ void (*turn) (void); /* it's someone else's turn */ void (*player_turn) (gint player_num); /* you're trading */ void (*trade) (void); /* while you're trading, someone else rejects the trade */ void (*trade_player_end) (gint player_num); /* while you're trading, someone else offers you a quote */ void (*trade_add_quote) (gint player_num, gint quote_num, const gint * they_supply, const gint * they_receive); /* while you're trading, someone revokes a quote */ void (*trade_remove_quote) (gint player_num, gint quote_num); /* you're trading, and a trade has just been performed. */ void (*trade_domestic) (gint partner_num, gint quote_num, const gint * we_supply, const gint * we_receive); /* you're trading, and a trade has just been performed. */ void (*trade_maritime) (gint ratio, Resource we_supply, Resource we_receive); /* while someone else is trading, a player rejects the trade */ void (*quote_player_end) (gint player_num); /* while someone else is trading, a player makes a quote */ void (*quote_add) (gint player_num, gint quote_num, const gint * they_supply, const gint * they_receive); /* while someone else is trading, a player revokes a quote */ void (*quote_remove) (gint player_num, gint quote_num); /* someone else makes a call for quotes. This is an initialization * callback, it is only called once. After that, quote is called * for every call for quotes (at least once, immediately after this * function returns. quote can be called more times, until quote_end * is called, which marks the end of the trading session. */ void (*quote_start) (void); /* someone else finishes trading */ void (*quote_end) (void); /* you rejected the trade, now you're monitoring it */ void (*quote_monitor) (void); /* while someone else is trading, a quote is accepted. */ void (*quote_trade) (gint player_num, gint partner_num, gint quote_num, const gint * they_supply, const gint * they_receive); /* the dice have been rolled */ void (*rolled_dice) (gint die1, gint die2, gint player_num); /* An edge changed, it should be drawn */ void (*draw_edge) (Edge * edge); /* A node changed, it should be drawn */ void (*draw_node) (Node * node); /* You bought a development card */ void (*bought_develop) (DevelType type); /* someone played a development card */ void (*played_develop) (gint player_num, guint card_idx, DevelType type); /* Something happened to your resources. The frontend should not * apply the change. When this function is called, the value is * already changed. */ void (*resource_change) (Resource type, gint num); /* a hex has changed, it should be drawn. */ void (*draw_hex) (Hex * hex); /* something happened to your pieces stock (ships, roads, etc.) */ void (*update_stock) (void); /* You should move the robber or pirate */ void (*robber) (void); /* Someone moved the robber */ void (*robber_moved) (Hex * old, Hex * new); /* You should steal something from a building */ void (*steal_building) (void); /* The robber placement has finished, continue normally */ void (*robber_done) (void); /* You should steal something from a ship */ void (*steal_ship) (void); /* Someone has been robbed. The frontend should allow player_num to * be negative, meaning no one was robbed. This is not implemented * yet. */ void (*player_robbed) (gint robber_num, gint victim_num, Resource resource); /* The dice have been rolled, and resources are being distributed. * This is called once for every player receiving resources. The * frontend should also be able to handle players not getting any * resources, because it may be called for all players in the future * The value of the resources has already been updated, and there has * been a call to resource_change when this is called. * If resources is different from wanted, the player should have * received resources, but the bank was empty. */ void (*get_rolled_resources) (gint player_num, const gint * resources, const gint * wanted); /* Something happened to someones stats. As with resource_change, * the value must not be updated by the frontend, it has already been * done by the client. */ void (*new_statistics) (gint player_num, StatisticType type, gint num); /* Something happened to someones special points. As with * resource_change, the value must not be updated by the frontend, * it has already been done by the client. */ void (*new_points) (gint player_num, Points * points, gboolean added); /* a spectator changed his/her name */ void (*spectator_name) (gint spectator_num, const gchar * name); /* a player changed his/her name */ void (*player_name) (gint player_num, const gchar * name); /* a player changed his/her style */ void (*player_style) (gint player_num, const gchar * style); /* a player left the game */ void (*player_quit) (gint player_num); /* a spectator left the game */ void (*spectator_quit) (gint player_num); /* respond to incoming chat messages */ void (*incoming_chat) (gint player_num, const gchar * chat); /* something changed in the bank. */ void (*new_bank) (const gint * new_bank); /* some communication error occurred, and it has already been logged */ void (*error) (const gchar * message); /* get the map */ Map *(*get_map) (void); /* set the map */ void (*set_map) (Map * map); /* mainloop. This is initialized to run the glib main loop. It can * be overridden */ void (*mainloop) (void); /* exit the main loop. The program will then quit. This is * initialized to quit the main loop. It should be overridden if * mainloop is. */ void (*quit) (void); }; extern struct callbacks callbacks; extern enum callback_mode callback_mode; /* It seems this should be part of the gui, but it is in fact part of the log, * which is in common, and included by the client, not the gui. */ extern gboolean color_chat_enabled; /* functions for use by front ends */ /* these functions do things for the frontends, they should be used to make * changes to the board, etc. The frontend should NEVER touch any game * structures directly (except for reading). */ void cb_connect(const gchar * server, const gchar * port, gboolean spectator); void cb_disconnect(void); void cb_roll(void); void cb_build_road(const Edge * edge); void cb_build_ship(const Edge * edge); void cb_build_bridge(const Edge * edge); void cb_move_ship(const Edge * from, const Edge * to); void cb_build_settlement(const Node * node); void cb_build_city(const Node * node); void cb_build_city_wall(const Node * node); void cb_buy_develop(void); void cb_play_develop(guint card); void cb_undo(void); void cb_maritime(gint ratio, Resource supply, Resource receive); void cb_domestic(const gint * supply, const gint * receive); void cb_end_turn(void); void cb_place_robber(const Hex * hex); void cb_rob(gint victim_num); void cb_choose_monopoly(gint resource); void cb_choose_plenty(gint * resources); void cb_trade(gint player, gint quote, const gint * supply, const gint * receive); void cb_end_trade(void); void cb_quote(gint num, const gint * supply, const gint * receive); void cb_delete_quote(gint num); void cb_end_quote(void); void cb_chat(const gchar * text); void cb_name_change(const gchar * name); void cb_style_change(const gchar * name); void cb_discard(const gint * resources); void cb_choose_gold(const gint * resources); /* check functions used by front ends and internally */ /* these functions don't change anything in the program, they are used to get * information about the current state of the game. */ gboolean have_rolled_dice(void); gboolean can_buy_develop(void); gboolean can_play_develop(guint card); gboolean can_play_any_develop(void); Player *player_get(gint num); gboolean player_is_spectator(gint num); Spectator *spectator_get(gint num); const gchar *player_name(gint player_num, gboolean word_caps); gint player_get_score(gint player_num); gint my_player_num(void); const gchar *my_player_name(void); gboolean my_player_spectator(void); const gchar *my_player_style(void); const gchar *player_get_style(gint player_num); void player_set_style(gint player_num, const gchar * style); gint num_players(void); gint current_player(void); /** Find the player or spectator with name * @param name The name to search for * @return the player/spectator number or -1 if the name was not found */ gint find_player_by_name(const gchar * name); gint build_count_edges(void); gint build_count_settlements(void); gint build_count(BuildType type); gint stock_num_roads(void); gint stock_num_ships(void); gint stock_num_bridges(void); gint stock_num_settlements(void); gint stock_num_cities(void); gint stock_num_city_walls(void); guint stock_num_develop(void); gint resource_asset(Resource which); gint resource_count(const gint * resources); gint resource_total(void); void resource_format_type(gchar * buffer, const gint * resources); const gchar *resource_name(Resource which, gboolean capital); gint game_resources(void); guint game_victory_points(void); gint stat_get_vp_value(StatisticType type); gboolean is_setup_double(void); gint turn_num(void); gboolean can_trade_domestic(void); gboolean can_trade_maritime(void); gboolean can_undo(void); gboolean can_move_ship(const Edge * from, const Edge * to); gboolean road_building_can_build_road(void); gboolean road_building_can_build_ship(void); gboolean road_building_can_build_bridge(void); gboolean road_building_can_finish(void); gboolean turn_can_build_road(void); gboolean turn_can_build_ship(void); gboolean turn_can_move_ship(void); gboolean turn_can_build_bridge(void); gboolean turn_can_build_settlement(void); gboolean turn_can_build_city(void); gboolean turn_can_build_city_wall(void); gboolean turn_can_trade(void); gboolean turn_can_finish(void); gboolean can_afford(const gint * cost); gboolean setup_can_build_road(void); gboolean setup_can_build_ship(void); gboolean setup_can_build_bridge(void); gboolean setup_can_build_settlement(void); gboolean setup_can_finish(void); gboolean setup_check_road(const Edge * edge); gboolean setup_check_ship(const Edge * edge); gboolean setup_check_bridge(const Edge * edge); gboolean setup_check_settlement(const Node * node); gboolean have_ships(void); gboolean have_bridges(void); gboolean have_city_walls(void); const GameParams *get_game_params(void); guint pirate_count_victims(const Hex * hex, gint * victim_list); guint robber_count_victims(const Hex * hex, gint * victim_list); const gint *get_bank(void); const Deck *get_devel_deck(void); /** Returns instructions for the user */ const gchar *road_building_message(gint build_amount); #endif pioneers-15.5/client/help/0000755000175000017500000000000013252243610012475 500000000000000pioneers-15.5/client/help/Makefile.am0000644000175000017500000000471513250006172014456 00000000000000# Pioneers - Implementation of the excellent Settlers of Catan board game. # Go buy a copy. # # Copyright (C) 2018 Roland Clobus # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA @YELP_HELP_RULES@ HELP_ID=pioneers HELP_FILES = \ index.docbook \ legal.xml # Keep this list in alphabetical order HELP_MEDIA = \ images/actions.png \ images/brick.png \ images/chat.png \ images/client.png \ images/connect-dialog.png \ images/desert.png \ images/develop-cards.png \ images/discard-dialog.png \ images/discards.png \ images/field.png \ images/forest.png \ images/gameover-dialog.png \ images/gold.png \ images/grain.png \ images/hill.png \ images/identity.png \ images/join-private-dialog.png \ images/legend-dialog.png \ images/lumber.png \ images/map.png \ images/messages.png \ images/monopoly-dialog.png \ images/mountain.png \ images/ore.png \ images/pasture.png \ images/place-robber.png \ images/player-summary.png \ images/plenty-dialog.png \ images/quote.png \ images/resources.png \ images/sea.png \ images/server-create.png \ images/servers-dialog.png \ images/status.png \ images/steal-from.png \ images/trade.png \ images/wool.png HELP_LINGUAS= # Various snippets # HTMLHelp is the compressed help format for Microsoft Windows htmlhelp: pioneers.xml xmlto -m custom.xsl htmlhelp pioneers.xml -/cygdrive/c/Program\ Files/HTML\ Help\ Workshop/hhc.exe htmlhelp.hhp rm htmlhelp.hhp rm toc.hhc rm *.html simplehtml: C/pioneers.xml cd C xmlto -m custom.xsl html pioneers.xml cd .. yelphtml: C/pioneers.xml cd C xsltproc /usr/share/yelp-xsl/xslt/docbook/html/db2html.xsl pioneers.xml cp /usr/share/yelp-xsl/icons/hicolor/24x24/status/yelp-note*.png . cd .. xmllint: C/pioneers.xml xmllint --format C/pioneers.xml -o pioneers.xml.good mv pioneers.xml.good C/pioneers.xml pioneers-15.5/client/help/C/0000755000175000017500000000000013252243610012657 500000000000000pioneers-15.5/client/help/C/images/0000755000175000017500000000000013252243610014124 500000000000000pioneers-15.5/client/help/C/images/trade.png0000644000175000017500000007636710654174432015704 00000000000000‰PNG  IHDRìÇ}Ak• pHYsÄÄ•+tIME×,1>(@tEXtCommentCreated with The GIMPïd%n IDATxÚìwxTŇßÝ$$!½÷BB¨Ò¤WiJS €¨€€ˆ ¡‹Ò/ ÈEEÁJ¯•Ò{(!JBz¤gï‘5 )›J¾—göœ™ùfÎÌdç›3gFuWEäìÍp¶üy»QqTett”8Z[0ºWÚ4tBAÊEUlßÀh–ýx ³ºÏbhfƒB©¬²¨ÊÍ%-)†¤ ‹¼?¢MÝm¥W ‚ å#رQ÷ô¿NrR|åF¡ÄÄÔœ-³Èµk†¡™Mµ©È´¤tc¯³~r/éU‚ B™£›ƒßõ‹ÔoÔ +ŠÊófUª\âbˆøó¿¾×… •*·ZTdf¦ç—%‚ ”`û߸„Kwt” ’b+½@:JkûQKO—¬ÌŒêS‘:J:úIAÊGgR““¨íÙ•ªê<ÊV*}îjT•ª|åA„2ì¼!gE•쇓ÌTÕH¯U*ªôä8A¡š vUôd•ʇ7ÕÌÃVЇ-‚ ”£`W5OVùÐS­„‚›Y‘šTòw¿U*Õ¿åA„rñ°«˜b+ÿ™©^Y¥R=a¹A¡|<ì*8$ŽJõØ„‰¹u¡iRËp†{)n`ò!KW|Q©Tœ=‰Ä¤dztëDþ´“|æòêˆ!ÿk/ÇþÜ‹[WV~ô©†­ó/³wÛWüùóÄÅ%ðÉÆÍæ›÷,XUh¹Ú{ôxÙÒEXYYªÏ9uŒÎ:b ¯‰‰ ÌC‡«Ãwîü‰Ë—`mm…5+W,Õ°ûÍ·ßóáÊå8:8`ddÄÂæñóþÿRy†-‚ ”·‡]„«T*=Ê›Í[~T|¹å{ƼêOœòâîÛñ5m[·@_¿ÆÆµñy{Ÿ>§aëÝ“±´4ÇÒÒœ93Þæ¿(0_…BYü¸ùã6vöçΜ9GŸ~pp®‹™¥öNnÄÅū㢣©ãêª>vs­£a7""’Vm:`fi‡™¥ž^Mˆ‰-ÄÁVUê:ì‚ Bð° G¥‚/ôæÚ[üï÷ƒøß¤¿Þá*\ºrׯ½CëN}iÒª­:ö!11IÖ“£ƒúØÉÑØ¸øó}x3 *âߣáÅ}ìxÆ‹ßõË$ÄFp7øvžGüÏ?[[[‚CCÔÇÁ¡!vììl¹yí‰q‘êOBlD¡å[A¨4TÔª¥Ë+Þ/ñÞÿaÔð—¨UK÷17wÆ» 1l‡~ÝÉÕ³9uä—|«•åÅ ¿§>¿•¥Eù*•Ê2™õžž†>úú„„„2uÚLð!/æ½yGLl,sß›¯>vÌëL6“  `²³³¹qã&cǽY`^²pŠ ‚PvñωǾ>œK§þdÌkà ÏÈÈ –žzzz„…G°hÙjp€Uk7Ÿ@||«>ú”~}zò [IQå*ìö£q>Y·–÷ÞÿG—º¼8ð%Ú¶i­ïý¹³173£I³–´ïЕÚk„û¼3™çÚ¶aÀà!88×å oñB¿¾—G[A(GÛ7¯V5hÒ¢ÀÀfm{påÌÁBç?tôoÖ¬ÛȽˆ(ìl­yý•a¬X³^Þ¬m|&Oà›ïwð -^=º0ïÝièתõ˜ÝG2öí¹¤§¥T›ŠÌÍÉeÛÖ ý-éU‚ B™SäæWΠ¨…:ó‡wïÒžî]Úk„6H#ý˜W‡1æÕaXyÜ~Þä-U5ÛûC& ‚ å,صµ¦¶ùäŸtVmôZ^ëA*ËÃ.YÓN°•ÿ¬tV½6Ä–gØ‚ B9{ØåŸÑ¥SjR‘·ùGõÚ [–&AÊÛîbž¬¢÷Ã~[6ÿAÊ×îŠÛkVCä¶ ‚P£~Ù.½JA(Áîï=¾J®º‰vU­GAá)ìê(Žrƒ!‚ Ô$ä¡« ‚ ˆ` ‚ ‚ ‚-‚ "Ø‚ ‚ ˆ` ‚ ‚ ‚-‚ "Ø‚ ‚ ˆ` Be`eçR£óÚÊù4ב´¶ "‚ TgÁ¶²s)ò¡E«vXÙ¹pÕ÷šú\dd”:]pH¨úüµë7°²s¡E«veþƒ%?ZâYÖTâ¢îJÛH?D°‹§S§?qR}‡Ôßûýõ÷S§Îh¤A¡¢»ãCÁþ[}îÏ¿bia­­ ¿ýþç¿‚}æ¬F€Ï6}‰• 6uhØôY¦Í˜CJJêcÞóÛvÒº]gìœêÒ¾Swþ>yê±;_ñ´ËŽVm;âwË_}¼mûNõw¿[þ´jÛ€àP^yu,®î pt©Ç°¯«Ñ&_oý–æ-Ûaï\—®=úà{íºFÛÕnÚ–###Ÿé³qóhˆ›GC¦Í˜CFF†:nqá%áI® #3“ÉS§ãìVŸMZðɧŸ™_zz:“¦LSÇÿxýÆÇú}Bb"õ6#11I#mBb"^[˜˜DNNK–­À«Qsœêx2nÂ$RSS‹ô( j›¢®­¸<¬ì\øjË·<Ûº=Îîtè܃ÓgΩÿ¾Ú¼qÓ¯Ðú(®-­ì\Øøù4mÑk{W­ÊU‘žù£mWšúøxýF¼·ÀÙ­>S|f‘™Y¢6x´~„"Øÿß“§ÎMfVG wïžôíÝ‹ÓgΟ'اÏh¤HKKãäñC„û3oî¾ùîæÎ[ðX>§ÎœáÈߨ¼i·üo3uÚ,@s80.ên¹ Ö4ºwëÂÉFDîÝ‹`Î{ ÔôŸÅo¿ì!Ðÿ:/ôëôs4Ú®¨vÓ¶Ëþ³ŠÈ¨(Ο>ιSÇ gùŠÕvŠ / OrÍÿYñ!qqñ\>’ã‡ÿÒ¸Ù-ˆå+>$99™ËNqâèΜ9÷X ssô­ß~¯q~ë7ß3ä¥A˜››±vÝz._¹Êá¿qëú% X´dyyÕ6E]›6y=vœýûvxû:C^„÷È×øëà!öîÞFÐí ð‚†ÍGѦ-/\¸ÄῪu¹*‹ÒÔÇ©Ógøûè_\>’˜˜XV¬\]¢6x´~„ªbûæÕªþÞã‹ÜiêáÝ`QBØ®c7üoßá·_ö––ÆKCGòÝÖÍèééá=ò56|²–V-Ÿ¥Mû.xzzpúÄáíäää`ë膕¥%þ7¯häíò9ìÉÊÊÆÞ¹. …BÝÙ´)£PxûTo¿ÿñ»vïáËMX÷É6lÜļ÷çðê+#xcÂ$†LŸ^Ï?–.--æ-ÛqëÆeµý;·|±07W‡»y4"*<¨ÈüKZŽÆÍZ±ÏNÜÝëÈÀ—½¹v9OÜŠ /®EQÒknÒ¼5û÷ì¤n]7uYÚ´ïRhþMš·æ—}»q«“ç Óê¹NêøË~ûö†xâÂÙèêê’Mëç:±ß.œœhÞ²»¶‡‡G=bbbéÔíyü®]ÒºowmÅåaeçÂm¿«XZX¨Ó;»Õì\~›¢M[^¿r{{;ušÒ\{qÖ^ùë­°:Ì^Òú°²sáüéãêþÄÀ—½ñ½tVë6x´~„ªnYêÔ©þ·ïpüÄIâã044¤[×Î(ut066æ×ßÿ$+;;/n‡vùîϲì?+ñ½vƒû÷ï£R©Ôy~ìÐÓË+öøBùЩc{æÌÀ®Ý{ødÝÖ®[Ï«¯Œàüù‹|òß¼;ú³çγhÉr®ú^çÁƒyw‚ ÅcÞßC Éþ§/”e9bbb©Sçßá½:u\‰‰ùw˜º¸ð’ð¤×ƒ««‹FYŠ"::g'õ±‹‹sñ<==hР>ûÿ÷ƒöçç_~¥MëV8;奈Œ¤m‡®šwí”[Šº6mòx(DÓt®¨>¢M[>*F%½ö¢D¶¬)M}äï?®®.DGÇ”èZE¬kèxþ!î£ÇNð×ÁCôèÞjééѳG7>Ê‘#Çþùþw8ü oqêôY6}ö w ¹-b\E022¢NWöîÛ½žïAvv6¿ýþ'nnu¨]»6cǿŸ7ÆpýÊyb#C ¾s³LÛOÛrØØXúïjHH(ÖÖVêãâÂK“^³­­FYò/k«ïÞ +4îÄ ãø|Óf>ß´™·'½©³³µåÚåsêa»e>$Zy”¦-+¢\zEºº¤¥¥© rFJCþë¿{7 ëJ¿V¡šv‡íP*•œ>s–€€@^è×GÖ¯oo!¡w™6cv‰ò033å΀'.ÇàxoþBbcc‰eî¼xiЭà Ö,Œ'½æ—dÞ‚ÅÄÆÅË{óÿ¥A˜ÿÁbââ㉋ìyy~ºuíLJJ _nÞ‚‘‘Ï4m¢3zÓfÎ!(8„ììlnÜôcÜ„IOÔ6RÒyÈUå’’O€¿/:ºz˜YXI#‚ ^`c*”äªrkT]ø]ÆÒÖ¹ÊÚA(+´OO/ÝÌg©eAA¨(ÁV(•lúdU‰ŒO˜2»R/ÎÊÎ…¸¨»ÒÊ‚ B l…€V~¦UüEs&ªÓˆ?]Hý ‚ TaÁV–B|‹Kceç¢qlffJ‡öíXºø긺š®¦ŠÅ‰ûÔß;ö(½W¡¡ǫ̃ÒxËÚ¤‰‹ºK\Ô]b#C9{ò(^õë3ú7¥e  cÏ"ÔVv.êO]ÏFŒÿ±qq5¾þoúÝÂ{äk¸º7À¥®C‡âú›e^÷‚ O$ØJeÉg=—$B¡ÀÚÚšY3¦rËï–ÆØÆÏ¿ i‹6XÛ»>ö£–••ͼ‹©ß°îõóéÆMÚ¿rÅ—&Í[óù›¥ÕµàáÔ¹SÇЯU‹é3ß­ÑõÌ —‡Ó·O/®_9Ï«x¡_^2‚€€@é0‚ <ýv~bãâøè¿ŸÐªÕ³ç/\¸Äá¿úXš•~„ß­[9ø;—ÎâÞ½ˆÇâüñ׆x•W,ãÍñoH«—kkk–/[Äá#Ç  å•WÇâêÞG—z ñ*±±±¼8ðe~Úû³Fü°ðp=Ó’äärrrX²l^šãTÇ“q&‘ššZäÍZe±òÃxû­ Œ~m&&Ƙ˜3úµQ¼=éMV­^[¤‡œÿ\FF>ÓgãæÑ7†L›1‡ŒŒ xG7R\=8x˜{`ï\—æ-Ûñí÷?JÇ„-Ø¥ð°µI“øÕ«Qs¾üj «V,Óˆ³tñX[¼Üæö»X¹| ŽŽ˜™™²lÉ᛿ÚÊô™ï²í‡­ôíÓKZ¼((üÆkä¨ÑL|ó üo\Æïúe<êÕcÞ‚ÅL÷y‡W¯%7÷ßwÃ?\ý_Þÿ¦¦&¬]·žËW®røÀoܺ~ C-Y®õÍZEräØq†¾<ø±óC_̱kmgÙVÅùÓÇ9wê8aáá,_ñ¡zT#ÿèÆCŠ«§I“}xwö BoñËÏ»8þ¢tZA¨É‚]š…@´IóðÇ).ê.·®1qÂ8Þ}oF{û—øŒŠŠ¦N½¯ Ÿmb¸÷PZ4o&­] bãâxÁ"ºtîX`øÉã‡èÔ±˜šš0ÿý9jo¼{·.©½ìÀÀ 9Ê„qcøîûmê›-ccc>˜÷ûÿ÷›Ö7kI||66Ö·±±&>>Ak;»÷ìcù’…X[[cccÍŠe‹Ù½g_‘iŠ«'¢¢¢‰‹ÃÙɉuk?”Ž+âa—½‡ss3Þ™2‰³çÎkÆÎΖ½¯ý{w±ïç_øäÓϤµKÀÃQVm;rÿþ}Ö®^Y`¼³çÎó€—p©ë…• Înõ‰‹W‡Ï˜ö®ù/999¬Xµ†wÞ~ CCC""#iÛ¡«:¯MZ§õÍZEbiiALLìcçcbb173ÓÚNLL¬Æ f:®ÚÍOqõ´õëM>rŒ.Ý{Ó²M~ÿó/éÀ‚P£=l¥NÉ—0Mrr ŸnøOzZ§>lsޛϽ{$%%óþüEᎎü²wßý°ÿ®[/-®%G=‚ïÜdËæÏ ô.ÆŽ‹qoŒáú•óÄF†|ç&*•JÞ§÷óÔÒÓcɲœ;×_õïÍ–­-×.ŸÓe©ì¡ïÂèÒ©#;wïyìüÎÝ{èÔ±½úXWW—´´´=ó„„Ç<òÐЇ»CBB±¶.z¡¸zjѼßûþ7¯°bù¦Í˜#Xj´‡]Š!qmÒä†Ý¸Y+N>ÃæM´ÎcöÌéÔ÷ô¤s·^<Û¦=ÎΎű··cÿžlß¹›Õ­«¶uâÀ>õ»Øù¿W&éiéèë£o OHè]¦Í˜ýHP0}Ú;|òég̘>•Zzzê°1£G1mæ‚‚CÈÎÎæÆM?ÆM˜T%ë~öÌi|ºás¶|ó))©¤¤¤²õÛïY÷ɧ̘>U¯qㆬßð9iiiDDD2cÖ\ ;ƒà½ù ‰%66–¹ó>à¥AÔáff¦Ü¹ ‘¦¸zÿæÛÜò¿MVv6*•Šœìùe„§-M y+˜•4MQ^œ6ž^QçôôtY¾t!Ë—.,2ž­­ §N®ÖUKùø¿«™·`wÇNÀÁޞɓÞdϾýqt”JÜÝë2|ØóS§¼ÍÇŸl`ðËÉŒŠÄ£^= ñ«JÔ«çÎO»~dñÒÿ°`áRîß¿‘‘û~ÚNÃ^êxÿ]³Š©Óf±ú£u8ØÛóΔIü¼ÿêðyïÍföÜy´l›·êÀ/ðþÜor&OšH÷^/pÿþ}uÿ-®žúöíÍkcÆ‚G=w>Ûð±ü² ÂSˆbûæÕªþÞãI»Ÿ\dDC#ÓRePœÝ§‘öÑ®k?ttõ*%ï’û_¶ÓóEïr-Ó+¯å¥ÁyypÙßpø]¦u牫P{™YYtëч™3|<°¿ü’‚P&õ›¬µ‡]…Wx2rssùî‡m?u¢VKOO?^ˈWGÓ©C;¬­­¥ÁA(Wt¥ „òÂÆ¡®.Îlþbc©VÊ«ê4oþ 7}ågAD°«-J…’\U.:œo®*·TïË—²£— ‚v•ÆÈԜԤD,¬+öâ”ÄŒLÍK.ô9ÕVqY_ÃÓP'‚ ˆ` ÅàæÑÿñT4ÇÔҪܽÞ\U.ÉñqÜñ»Œg£gKœ>##½ÚÖµ£«'áÁ·ª¬=Aì*Œ™…õê7%8à.'“«Ê-×ü” %µMLq¯ß3‹’/ã™™™!&‚ ‚]ó042ÅÉÈ'·ú•’Igôge¦K£ ‚ ˆ`×<ªÛ+p—Ï—FAÁª:Ÿ4JA¨L©ç'‚-޽‹»T‚ B•@»B©ìY×úú%ŠŸos-A¡Š"‚]N‚IhÐ-R“Ë=¿‡³Ä]ëzaic_ ¢Ø‚ "Ø5¤„8ü}©çÙ Ë y;%!ž_ttõJüjW¹{Ø*ÙÈÍÉ&+5]=ô-Kµe« ‚¶Pfß¹‡×3¶Ò™`i뀎^-‚ïÜ YëN%ô¯ËV±3Â1Jò‡œ4j夠¯¯Nö} kP»–Jœ‹ÎÂØNž ‚ ˆ`W"÷“163¯ð|MÌ-¸_š!ø2ö°õ¢.2äè6L’’ÈÌÊÆ&6ƒÌLî¹Ôá’Ï;ÄŸýcÛÊìHß#ÄÞ9O£þï Ô­UãûìOo7æ¥O¯ÖØÑˆ©Ï;am¬WhAD°«%•µ ÇÃMG*S¯U¹¹8Ý:‹ÇÕ+†ëëë“CJð9rÚ@©Sñ]0Æÿ Ž™§ñjžÊ‘í iþÊò2±»çíÆ ®Æ‚VX?x½ƒ_‹àlPŠüq BuìôôÒÍ|600Z®ò¿Ôe'ÙIѸ§Äî}ëêš’LVjÙ’©elQ±7S9ÙdÄ¡Ò}2SÊìú¯¿öTöƒ:V\N‘× ¡º¶B©dÓ'«Jd|”ÙRÃÕØ³* 9Iw±¸ŸThxDº$%%‘“›‹ŠòŸŸ~ïòŸ˜ÙbY·9÷ãÂÉ Þ‹—w;¶¬Ýó“ÿ'sä‹éz: ²s¥–¡ú¶BÀ+?Ó*þ¢9Õi*+;Ù¹geçÂÒÅ ØðÙDDDJpH(ïÏ[Èñ¿O’•EÇŽíÙðÉZ¬­­ÕizÙVv.¬^µœuo 2*’^^|²n M›4–¨ÊhX:-1’ç=•(•NèÖÒ#7'=]ÂÃà '1!´i„‡†¢ŠJþYô ËïnT·†ŽÍˆ ‰¤ËKÉÊ|@­Z:DÜËŸ'(%ºv #]¢’2Õi¢’3«?•JÅÝøtBãÓiWÏ”ãþ‰´«gÆÍˆDÿßÊH— £ê?6ÊQPY®ÜMaBGT*]¼ÌY÷WÃZÛòçµ8¼ìkóñ»¨T*Ìk둘¡¶™”ym]õqqáÅõƒüaÚØŠKÍ,².Kc£$õ&5Z°ËÃÃ>pð0ÿøŸV¶.\¸Äá¿am•·Š×ÈQ£YùŸ%lþb™™Y¬Xµ†y óÙ† Lÿ÷ß§øí—=˜™™òéÆML›1‡ü"=€²ÏÍÍEGGCÃZ(” 6hHvN6ñ‰^dff’ššÊ¹Óg°´²äø‰Säæf—û„/·^>œ:ý%mž¦}ßgð¿@\ª5-u*qÞ‰²±1Õ#2)OHlLõ«¿‡ß÷]Šed[;Žù'2 ¹5‡«Ãîg3sçâR³Š¿ ÊÊ%2)ƒžæddçr.8™ámmiãnJDRiY¹ê²Ùšé‘˜W6;ÓZ$¥ý[¿Å…×TÔÓØ*­’Ô› z†&(Ì޹­3¾çâñì5¾T¶ŽÝJ䎘è`j Ã¸ŽŽšõ—ïû¥dj×Ròâ3V¤eæý@ö›o,“»;á`ª‡Žܬô™ÝǵÐ|/†¤0®“Gn潂vÄ/‰]¸øðU+•Šãþ‰Œï䈙¡f†:Œïâȱ[‰Z‡Ù {"[O`£¤õ&ùTËO™ ‰—b!¥BI…Ïà´´´ &&‡7¬È?Œ{{Íe>Ïž;Ï¢%˹ê{ëÑ[˜ÿ»ò˜¡¡!ÙÙÙ"Ôeäaçæda}„Wú·Éóž’’¸?•””Ò33ÉÈÈD©£CºuÉÊÎÆß?¦/¿‡nmÓ y¥Ê¡y/‚Dûûe2–ÙÕ-U¾ßžŠdrg¾Û™¹ü|9†gÝL õ ÷]Žarwì Ô8¿ã|4CZÙ²ôåzXéžÁ¶³Q…–éBH £ÚÙsÔ?pÌ?‘7:9r០g[OFòVW'¾x½!7ëú›S‘Z‡—ÄÃ~R[¥µQÒz„§ ÅöÍ«Uý½Ç“v?¹he׫ÅÚ JôZ×´w“Uø³¬·ß™ŽG½ºϰó{ÚùÅûÑYßMš·fÉ¢ôèÖcRSïãæÑ°À4¥/Ï×¾NØG»®ýÐÑÕ+7û…M>+*¬ÀÇ¿lç›äžO\¦Ì”8tSïâižI#ÇÚÔqu$!) ÿÛþ89:’‘žALl ¾¾×É­ƒ}›aÞÙïüùîÝ_C©«_&öœ-õY4È7¾º)¿$‚ ” ¯™ ç‹ÞOèa+uJîa“æÝÙÓéó ²²²ñ6'G2228sö|±¶ÓÓÒ1Ð×Gß@ŸÐ»,]¶BZºÔö“û(z&–`bÉ• ¿{)(¯àb‚»µ1F†µI{Æ€@.\ ¤Þ Qe¾áˆ6Ôë5wB'~8‰ž®’7:9rêNR¥\‹ 5L:+Å3ìbÒ¸8;óǯûXµz-ýú&66SZ·jÉî?™öãÿ®fÞ‚EÜ;{{&Oz“=ûö?Õ•ÿ=ì‡ßËä5¯2Õº¦àЂp 89ÅÉ`t“ð K¥ÞÀ˜ÙWÛ-¸£’2ùbtCôt•œ H⻓²¸ UL°ÿ™@¶hÎDJš¦(œœøxíê"ã4tݯooúõí­qnü¸1¦)(}u\X¥¼ÞÁ.OQ×ÈŒš Ø>ߣÜó+oö^Šfï¥hùå¡*{Ø f/X%5ö"¯± ‚ –¶Ôoô,ÁwnTúõ7kÖŒæÍ[¢ÃèÑ£+¬7ndןÛùhÓŽ= À_~Nƒu¸zÞ‘Ã^E___k{iii¼þúëaooϪU«4†Á ñññØØØ ‘6>>;;;ÈÉÉaîܹØÚÚR»vm†NJJJyzxxpýúuõñÖ­[Õ߯_¿Ž‡‡‡ZTÇ™™fffL˜0ôôt Ñ-*¼0^ŸB¡P/ΖB¡`íÚµ¸¸¸ Ôb‹Ý‚%|SSSêÖ­‹­[·¦N:Riii´hÛœ‘³½9°ýWŽ_åű퉋L¢[³Ìœ9 í·hqvvæØ±c¸»»pçÎ<==ÕB¦P(P©TøùùÑ»woÐÕÕ%;;OOOõlk777þøã¼¼¼ˆŠŠ¢Y³fDFF>–çÏ?ÿÌ?üÀ¶mÛX¹r%kÖ¬aùòåŒ7oooFEÿþýqrrâÈ‘#xzzàïïO÷îÝ (6üaÙ ó€ó‡ic+<<GGÇ"½êGë­¨ðØØX¬¬òõ|x¡¶úôéÃôéÓ5j¯¼ò “'OV?¿ðööÆÇLJèèh¢££™:uª†ÍâÂKBYÚ‚¼IŠ«W¯æÁƒ„‡‡3qâÄ2iûéÓ§CLL Ó¦McäÈ‘¥nA¨V‚­,…øj“æ¦ß-¼G¾†«{\Ýà=ò5nÜô“–)€ö©?U‰‡«—•Ô[nÑ¢—.]*÷ò :”Ž ;sáÀUl-iذa©ì,Y²ccc\]]iܸ1Ï=÷\‘“Ö|||˜:u*³fÍÒ8ÿî»ïÒ±cGzôèAíÚµ9r$ƒ.ÔNïÞ½‰ŠŠR ÊðáÉŒŒ¤wïÞê8Ë–-ÃÎÎ<</fééé 0@c˜U¡jv)S'טÆ*ÉûÕ‚ BMl…‚Ù VI ‚ BUlÙ~SA*¥T ‚ ˆ`×ÌJU(ÉUåVx¾¹ªÜR½//‚ ˆ`×HŒLÍIMJ¬ð|S025¯2õ°uëVºuëF·nÝX´h‘zW/AA»JàæÑˆ;·®’S!žv®*—ĸn߸ˆ›G£*QcÆŒaôèÑ9r„#GްpáBºvíZeD{ÿþýÌœ9³Ôk ?mµJàÑ£Gquu••¡’Ñ•*({Ì,¬¨W¿)Á7xp9¹ÜE[©PRÛÄ÷úM1³°ªôë¿rå [¶lù·>ÌŒIJJåòåËlÙ²¥Ò×â>tèÿûkµ˜ðæx¶nù¦ÌDO¥R=uýyÖ¬Y¬_¿žÈ· ˆ`?]™âddŠ“[ýJÉ¿²gô'&&Ò¥KsºvÍû¸¹Ù³eËïG’˜˜X©eËÊÊÂïÖMbRÃ1µÑ'&&¦Ìl?b àëëKß¾}å[D°Ÿ>jú+pæææ ÔŸ!ês Žæòå;=Z±{–ïÚµ GGGÚ·o@PP›¿ûŒÞÞíØ²vþ¾AÒa‹!=====©A¨dä¶Pæ4kÖŒæÍ[¢ÃèÑ£+¬7ndןÛùhÓŽ= À_~Nƒu¸zÞ‘Ã^E___û±´4^ýuŒŒŒ°··gÕªUÏu ñññØØØ ¹=l||œ”””óôððàúõëêã­[·ª¿_¿~µ¨Ž?333ÌÌ̘0aééé¢[Txa<¼>…B¡þ^œ-…BÁÚµkqqqAYÈj‡¥±Q’zlAÐ ‹æìÝ{^}|ùr!!&˜™™UXvìØÁ3Ýš¢4Q0nÜ8®\¹ÂŽÝÛ°t2"ðæ]ú÷X"Ïqþüù$%%Œ¯¯/'Nœx,Ž¥¥%C† aÓ¦Mç7mÚÄÈ‘#±°°`ùòå\¸p‹/…¡¡!sæÌ)0ÏÞ½{sìØ1˜2eŠZ¤Ž=JŸ>}˜7o÷îÝãöíÛøûûÊüùóÕvŠ /Œ‡Ãü*•Jý]ΜáâÅ‹äæ<£46JRo‚ð4¢Ø¾yµª¿÷xYɬ ÉÈH¯Ôüõõ ´Ž{à—í ;£LóOJJâàÁƒpøðaLMM©[·.´nÝš:uêTH=¤¥¥Ñ¢msFÎöæÀöC\9~•Ƕ'.2‰nÍ2sæ,tt´ß…ÎÙÙ™cÇŽáîž·1Í;wðôôT ÙÃIg~~~ôîÝ›€€tuuÉÎÎÆÓÓS=ÛÚÍÍ?þø///¢¢¢hÖ¬‘‘‘åùóÏ?óÃ?°mÛ6V®\Éš5kX¾|9ãÆÃÛÛ›Q£FÑ¿œœœ8räžžžøûûÓ½{wŠ /jÂÜ£aÚØ ÇÑѱк,’Ô› TWv|µ†ž/z&ϰËI0ãc" ºEjrùO²z8Kܵ®–6ö•z퇠C‡´lÙR#üîÝ»œ={–¡C‡–{Y éЮ#‘!‘ty©3Y™Ы¥CNª.M›>S"±ˆŒŒÔ¸Ùpss+0^ƒ hܸ1»wïÆÛÛ›]»vѾ}{\]]§Aƒ‰bAtïÞ)S¦ðý÷ßóõ×_«ûôéÓ|õÕWjñzx#àîîNTT”ú¸¸ð’ ­¢Äº´6JRo‚ð4"‚]$%ÄàïK=Ï&˜XX–ûêc¹ª\Râ ð÷EGW¯Ò^íZ½z5 (rØÛÅÅV¬XÁ[o½UîCä«W¬fÉÊÅDߦ}ßgð¿€­‰+ýúõ+±-;;;BBBÔB\h\.\ˆ··7ëÖ­cÆ ê0N:…““S±yãîîÎŽ;044ä…^`ñâÅìÛ·zõêadd¤.[PPú™v`` ¶¶¶e/*¼¤õð¤¶Jc£$õ&O#ò »¾s¯g°´u@OO]½rýèéécië@ýFÏ|çF¥yÖʼnu~ÆŒÃï¿ÿ^îå²°° u³6„„cnëL„_ óæÍ+•­áÇ3cÆ bcc‰eúôé…ÆíÕ«ÉÉɬ_¿cccZ´h¡›8q"&L €ììl|}}>|x¡¶úôéÃôéÓ5j¯¼ò “'OV?¿ðööÆÇLJèèh¢££™:uª†ÍâÂKBYØ*’Ö› ˆ` År?9c³Š_"ÔÄÜ‚ûÉÿžóÃÕËJê-·hÑ‚K—.•{ù†Jdž¹pà*¶–Ž4lذTv–,Y‚±±1®®®4nܘçž{®ÈIk>>>L:•Y³fiœ÷Ýw騱#=zô víÚŒ9’Áƒj§wïÞDEE©ÅiøðáDFFÒ»wouœeË–agg‡‡‡8::²téR­ÃKBYØ*’Ö› >{î<¹¹¹œ;÷¯ý¸m#‡S{Û>ÓgãæÑ7†L›1Gã¹iqáÕ&϶ÇÂÚ]ôjéS׳ )‰2ò ‚ ‚]ˆ‡ýÙgŸÑ´iSõ*OÇçË/¿¤W¯^=Ë,ÊÃ~¾g._½Jlllž`Ÿ=O·®9sö‘\¿q“ç{ö`ÙVÅùÓÇ9wê8aáá,_ñ¡Ú^qáO‰ñ1˜˜[JAÁ~D°óyË!!!tíÚ•   |||000`ãÆE¦y==] èÏ®Ÿöpæì9æÌšÎ™³y;”mÛw‘™•Ebb­[µ$!!ŒÌL~ܱ‹ÃÿÝ "&&–:u\ÕÇu긫uøÓBRB,7¯œÅ«i+ kKAÁ.Ü[~(Ú™6mZ±i ¢i“Æ@Þ³ê–Ïæ­µÜ²e ¾Ü¼}}u8€5¡¡wóyù¡X[[iþ4έkhøLkLL-¤÷ ‚ ˆ`Q©¹áĉÙ¸q#;wVï¸S\š‚î=„¥ËVÒ¡C;:¶oÇÊ?Òð®À{óª7^˜;ï^4@ëðêNxhÁ·oФeŒMÍ¥ç ‚ ˆ`âa0¼=qâD¶oß^¢42äåÁ¤¤¦Ð±}ž`·oߎÌÌ †¼¬¹ Æ¼÷fcccM˶hÙ¶ööv¼?w¶ÖáÕ ÿkd¤?àâɃœ8°OýÉÉÉ®òeW©T¤¤¤ϵë×¹åïOnn®üõ ‚ ”€-M °hÎDJš¦(¬­¬ˆ R»º8k?ÄÀÀ€×®æãµ« ´S\xu_–´$zT6œ>s–Ôû©DÇÅ¢§W‹¸„Dô ôÉÉ¥F LãFä/P¡Ì[¡`ö‚URcB±üyàφmÀR‘DVv6®:ÑédBÜÊ©ÃN‹wøõ·ß*D°cbbX¹r%ýû÷§K—.a7ndìØ±èëë×ÈvR(¨Tª“¯ ÔÁ–í7mÈÉÉAt„6úWòN<²Ã¨¾¾>Ù99=|ŸwÞ)r?é²`òØ7h™žÃçŸÂü³ 4kÖL-ÖA_ÏÄ“§øúÛoD¨A¨ò(¥ „²$""ëœ{…†×ÒÕ!59™ˆÈH’’’ʽ<±‘Q8fæ Ï­ ¢Æ\ IDATë7ÈÈÈ`óÆÏüvÏ™Yqé¢öË»* õÇÄÄ„ž={rãÆ ­Ó—•XWĦ:²q ˆ`׌JU(ÉUUü¤ª\Un±ï¾—7·üý1'¡ÐpU]“’È© Ig¿ÿ–/o]c «; '½ÍÆusù‹¯é`jÉï!ôxþùÙS©T¨T*ÂÂÂèÚµ+¯¼òŠtxAD°«+F¦æ¤&%Vx¾)‰ Uò+_ÁÁ¸~í÷kÙ’œœLnNN‘kÍ—666´ØŸÛɉ pu'ä›émçÄáÐ ¬û=ÏŠK·|­™™³fÍÒð°srr˜;w.¶¶¶Ô®]›áÇ“’’R ×Z\ܬ¬,¦OŸŽ ¬Y³FÃÆCO_[{Œ3###ìííù°ˆë.,…BÁÚµkqqqQ·]``  ÀÄÄúöíKtt´ÖùWnAD°Ë7Fܹu•ĸ˜ ñ´sU¹$ÆÅpûÆEÜ<*wæu\b"×ëMæ'û÷øÖt:oDmàOeoöfvåÇäöÜÕo@RR.ÎÎXZ–ÿZè<Óµ3·“élçÄó.\ŽŠÀ´wæ,ZXêgèIII¬ZµŠæÍ›«Ï-_¾œ .pñâE¢¢¢044dΜ9¦/.îÂ… ¹~ý:—.]"((ˆ°°0µ‡ŸßÓ×ÖÞüù󉉉!((ˆ+W®pèС"G ÊàÌ™3\¼xQýZ^ÿþýñññ!::š¨¨(¼¼¼˜>}ºÖù–¤Î¡¦£Ø¾yµª¿÷x™TVÆÄÇDt‹)Éå.ÚJ…’Ú&¦¸ÖõÂÒÆ¾Diü²acg”I9T*;vî$0(ˆèøx\Ü럀BºzzèêéQ«V-~Ú¹“W‡ cÒĉåÞÇŽᳩ3é\ef÷¤rØÅ†-ß~[b±~ô¹®ƒƒ'OžÄÍÍ-ïFÍÍ?þø///¢¢¢hÖ¬‘‘‘êô°¸¸...W/(…BAxx8ŽŽŽ…ÖуpssS{ÙÅå[\¹¡¦±ã«5ô|Ñ»À0]©ž²ÇÐÈ'#SœÜêWJþ•uóƽèht q©ëFnN.z:º„‡‡NbBéiiDܽËO?íæ•#033+·ò:tˆ/§Íb¤k=ü"#ˆN@C3K‰IРAƒRÝ”¨T*yã7¸té’Z°ÃÃóYØä­ââFDD¸>ag/22’ºuëªKb;?ŠõÉ“'™3g—.]âþýû%η$u&5ì§H0+›œœ”Jj P*hØ !Ù9ÙÄ'z‘™™Ijj*çNŸÁÂÒ’ gÏ’••UneÙ¿?6nÂÛ¹.gCƒ‰käÉŸçÏÒÈÌÓàp~ýõ×R öCA©W¯ß}÷­[·¦gÏž˜˜˜àààÀ©S§prr*ÖFqq ,ÐÃ.={{{‚‚‚ÔžnPPP™Ôó°aÃX³f }úôÁÔÔ”””›°âò-I BMGža eBff&W®^ÅÎÞŽ†^^4jÐ]²³sÈÌÌ$( _÷ýLdÄ=T*z::èèè”[yŽ=ŠsÒ}nDFpÇÅž¹®d×®]üDk;ÎïÜÍ•+Wž(ggg:vìÈ?üä-Õ;aÂÈÎÎÆ××—áǘ¶¸¸¯¿þ:S¦L!,,ŒÄÄD vÌÍ͹uëV‰ì1‚éÓ§Ctt4>>>E^[Ayxsš–†1aÂðâò-I ‚¶ ”X½u+FææX[[“øÿöî;¾©rÿø'IGº›&Ý“NÚRö. ‚€‚ȹ×{E+C@%Š€rñ⺀ ¯Þ«²½òCÄ¢‚È^…B]@g:Ò•´¿? ¡¡m’–Núy¿^y‘œsž3žï ß>'ÏyNQÒ3Òq9ö2â®Å!#=B‘þ:À×?VødÓ&H$M÷ıwÞyq>øÃÕŸîÛtéÒ•R *”(UP©T¼_|[·n,Y² ÀСCakk‹)S¦`ܸqµ–3µìŠ+Ž.]º 00~~÷»páBôìÙÓàÒ±©õ­^½‰þþþˆŠŠÂàÁƒWm͎ۨ;ðꫯÂÎÎ>ú(¢££ æ›Ún}ꌨ½c§³& R)[tûÖÖb³—m¬NgYYY¸vý:2³³¡Õé swGAQàíå•R…ܼ\ÄÆ^Á#}ûâ•Ù³[¤n²²²°`Áüå/Á¨Q£šm»Z­–––Ðh4ü‚QØé¬æÝ^â%Ц¿ûAz‰7xxx@§Ó¡  .^DyQ\`gc‹ò²r$'ß@öíÛ7¶ådâáá/¿ü²Ù·{áÂxxxðËAD Ƅ݊ äHNˆEPH'8H\š|ô1­N‹â‚|$'ÄBda '‰´ÅŽ] ÀÅÅC‡ äää öÊÊåêtØùùçðõõmwçDtt4Ö®]Ë/1a·&©Iqë ‰Ì½Y¶'àâæ ‘¥R“âÐ¥×ÀVSnnn:d†‚—_|±ÝžJ¥’_ "z ìtÖJ…°wjþ!Bœ%(U2DDLØdŽ–zGK=t„ˆˆšžÙ—ÄzIO,³–‰ˆˆš+a „Blýh}½V>c΢Vu°Rw_ȳ3u""zˆöV¬ÛbÖò+ÇpL`""¢æNØÂ$_SeØâ5_~^6n¥%¢¸°"‘œ¥®èÒ VüɈˆ »¶v}°…Ýxn¥%ÁË7Ne¸}ó®ÅžiU·pQÓ1»+³PXÿ^Ï )S½õmlšÔÝŸ~ö_tïÕž>ˆ4'OÁÎ]{Ñ«ß xøtÀà¡#îÚuƒu|øñf„EvƒO@(æÌ[UE…~žF£ÁêwÖ",¢+¼ýC0}ÆL”””lsó'ÛÕ­7d~ͨ¨ѺyÂÂÒ" xû¡¤˜·p1a·öo¿ÃÁûp#ñ*&Œ ÏLù~úù|³Rã0vÌhÌ_°Ø ÌŸ'Oáß~Âų'››‡µë6èçmüàc\¼tGFüÕ Ûˆ±rõƒòçÎ]ÀÑ#‡‘—•ÞbAÓjÔ¸•~WžÁDDLØ÷%ß´–¦½yã{ëàíåÄÌ˜Ž’’lX¿Æ`ÚÅK— ʬYýd2d2Ö¬~ û¾þF?ï‹/waÝšÕðòò„½½=V,_†ƒ‡”{Õ È¤-7ôçñ#pâè!ÜNOF`hÏ`"¢v¢ÎpI\ „M7‡KµÇ3ÚØØÔ:M­V”ñóó5xŸ““«ÿœ™•…>у^%ððpoÑ€ 6µ·3n ñÚDõÀ³˜ˆˆ-ì–ka[XX ¼¼\ÿ9¿  Q8=ý^¯ôŒŒ›pu•é?»»¹áÊÅ3ggè_-yé»." xû¡¸°€g0ö} Eõ_yÊÜŽ7}‚òòrdffaÁkK倗¿¹ yr9òär¼þÆJLxú)ý¼©Ïÿó.FJjÔj5â®]Çô3[E â¯žGYY t:-*+THKºgžÁDDLØ÷µ–pIÜœ2Rwß/xÿ½õøîðŽÀÈ'Æaà€èF9à>}z!zÐ0tíÑ –.^¨Ÿ7wÎ,ôíÝ ãÆO†O@fÄÌÆèÑ#[E ¤2wÄ_>ƒ¿Âù“GQ©®DǨž<ƒ‰ˆÚ‰z M T`Vß2u16hJç¨N8zİÃ× Ï?g´¬©iwß¿2ûå:®1oîlÌ›;»ÞûÛÔdîÞ¹{óŒ%"bÂ6ÕZ`Ñ›ëYcDDD­9a——*X[DDD-„ÏÃ&""bÂn§•*B«Ó6ûvµ:mƒî—'""&ìvÉÎÑ%EÍ?Îwqaì""&l2G@p’â/£PžÛ,-m­N‹By.ãÎ# 8‚ "zY° Ÿ“DŠ Ð(¤&ǡ좢ɓ¶P „­ƒ#C£à$‘2DDLØd;GxÛ9Â; ´E¶ÏýDDLØÄ„IDD-€¿a1a661a661a661a1a7©»/¤î¾-~`­e?ˆˆˆƒÙÿ(,,ÂÆ>Âwßÿˆ›7®®® ÁÞ]_4{26FžÁÈQûKØyr959¹yxïÝ`ÔãáÓépêôYlÙº½Ù“eõmÜMÞLÒDDô03ë’øÚuï!%5 +ÞX†‰ãÇÁÎÎööö:dpÖõÝKÑ……ðö›W²³sôó³²²áæoÿB§ÓaÓ–mèÙg<|: s·>øà£MÐétr€;wíE¯~ƒàîÝýÁ'þÔÏ3gÛwç?_|…î½úÃÓ'?†ú«×¬Cd—žððé€ÁCÇ™³çxFQË%ìÃ?üxrôH³W,qvÆÄñã Ñh°gß×úé{ö} FƒIž†ÄÙoúo¬X…>}z#%1™ò V½ýlÚ²­QðÏS§ðë‘ÃØ±uâ1wþkúyõÙö¥K±8öëOø÷§Ÿ îÚu<û×çQ_€Ó'~ÃgŸnEì•«˜9g>Ï(""j¹„-—Ë«Z›R—Z[Óuý¦<ãŪ’ôÞý÷ö÷wç}úïÏ ç¿Ä̘Øñégr€K-„F  š–®ŸWŸm/]Rµž¡>zoÚâªiÇ ¤¤¤òŒ""¢&aÖoØn®n¸uû6²³sàååy/‘ggíÞ¢ûãø'p9ö  ÓáÚõx ðŽa€Û™Y€ž}”͸y«QÐÓÓ`iYu¨Õ/w×gÛ2©Ô`=àê*«ú«G(¬±n""¢foa?qçRøÎÝ{ë½—î´¤wïÙ]{öLï;\¿ròì ý+73­É¾%·MDDÔè {ñk¯"2"ë7lÄ?ßÿ™™YÐh4HK7Ý3ûñÁÏ×û¾þû¿þþ~¾1|ؽ„>cà­ÕkPT¤@II Žü|žùK“|Kn›ˆˆ¨>̺$îä䈾;€M[¶á›ñÞÆQYY {tŠŒ@çÎêþ‹@(ÄôiSñæ[«¯Ì™©¿„\ÕÚž±XŒŸ~ŽŽ‘]a-¶FŸÞ½0ëå—š>a·à¶‰ˆˆêC°{ÇݓϼˆòRk£:òínLza+‚ˆ¨Øóé{öÄ3µ7€Y=DDD­661a1a61a1a6²`4>•JÙ¢Û·¶3DDLØdNÂÌÏÍBzJ®¯>G·®]q""z¸[Ø Äœ2wÖgg 9þ bfLÇ’eo,ãáQ÷ŸÙÙ9ð÷÷«sþ¦-[1ù™‰LÖDDÔ>vC[Øõáìì„WæÌÄé3gÍ.ãî´ô:çüfüß·øè_[m""j-l¡¨þ+¯g…¢ÿÚô B‚ƒÌ.3yÒ,^önßÎDQ‘¯¿±Ò`¾——'¾ýf¾øjÞÿàcFœˆˆÚ¤z œÒ€¶eªÿ†mkk‹¾}zaÇÖMfocÑÂW±båÛôèpè ÃÂWçÖXÆÃÃÿ·cŸžµFSë2mAõû°ï¾çm^DDL؆É÷Îåí•‹cPß2u1g”Ú–©>ÍÒÒkÞ~ kÞ~Ëèrnn®øóøÑ6,&g""&l3ZË,zs=kŒˆˆ¨5'ìòRk‹ˆˆ¨…ðyØDDDLØí´RBhuÚfß®V§mÐýòDDÄ„Ý.Ù9:£¤¨°Ù·[\X;Gg€ˆˆ ›Ì¤øË(”ç6KK[«Ó¢Pž‹Ä¸óŽ`ˆˆB¬‚Æç$‘"(4 ©Éq(»¨hò¤-aëàˆÀÐ(8I¤ 6™ÃÆÎÞvŽðm‘í³G?61aQ àoØDDDLØDDDÔxI¼ ¨TÊݾµµ˜A "bÂ&sf~nÒSâQ¢húû±ïö÷ëW€ˆˆ ›ÌQT GrB,‚B:ÁAâÒä£iuZä#9!" KÞÚEDÄ„MæHMŠCpXgHdîͲ=7Oˆ,­š‡.½2DDv:k¥ŠBØ;5ÿ¡Î”* ""&l2GK=„£¥:BDDMÏìKâJeÃz>‹Åì±LDDÔl [ bëGëëµòs±†‰ˆˆš5a €붘µüÊÅ1ú2-Aêî yv#LDDí+a |Í)“““‹ ÿ|?ù™YY°³³CîÝðâ´©xlØØÃ˜¬9 ?`ØXž½DDíˆÙ=£ÒZ6U&33 #FL&ÃÿíEFJ"Μ<†i/ü[·ÊèÜgÀ°±LÔDDLØ&ֿ׳©2ÿX¿{n -œ?_XZZÀE"ÁˆÇ†aï®/ôËIÝ}±ù“mˆêÖ2?@jZ:þòÜ ð ì/ß Lzö9äå唩þþߟÿ]{ôƒ‡O ú8b¯\eô‰ˆˆ-lsÊùù(&Ošhֺλ€£G#/+0å¯Ï#æ¥iHˆ»ˆëW/"8(Ëß\Ugù?þø‡¿ýn$\ÅèQcþ‚ÅŒ>µõê%^ï„-B§­û¾`¹<®®2ƒiÕ[ÆÕ‡~{Õ È¤÷†ÜÞÞøpã£ËÔö›ö¨‘#0jäƒi/NŸZk™ÚÊ·ÅUx6¶­e½¹ž5FDDÔšvy©‚µEDDÔBøqü8üúû1ƒiçÎ]ÀÑ#‡‘—•ØøÁǸxé2Ž9Œø« ¶cåê5Œ(µó„]­µœ––†Áƒ#%%óæÍƒX,ÆæÍ›–©M~~\]e5¦»ºÊŸ_`0ííU+ “Þró‹/waÝšÕðòò„½½=V,_†ƒ‡3¢DDôPªG§³ªä˜9s&k¼¿¿Œuä!‘H››OOÃVäææÁÅEb0ÍÃÃp˜Ï̬,ô‰\¯=Q»jaÇÄÄ`Ó¦MúÏóçÏ7Y¦6 ŒÆÞýÿ«1}ïþÿᑌ–uwsÕ‹g ÏÎпî^.'""j· [(|މ‰ÁæÍ›1hÐ ›Uæ~‹ÎÇ¿6}‚ÏþóŠ‹KP\\‚Ïÿû%þµé¼¶`žÑ²SŸÿ+æ/\Œ”Ô4¨ÕjÄ]»Žé3f2¢DDÔÎ[صŒƒÝ»w׫LuÁÁAøzßN|wøDtîˆÎ=ðí¡ÃØ¿÷+-;wÎ,ôíÝ ãÆO†O@fÄÌÆèÑ#ê`?r@/võ÷DDôð«×Ф°rq ê[ƘȈpìÙù_£Ëȳ3ji½ 1oîlÌ›;»Ý‹÷`1a›ÑÂ`Ñ›ëYcDDD­9a——*X[DDD-„ÏÃ&""bÂn§•*B«Ó6ûvµ:­þ~y""bÂ&ìQRTØìÛ-.,€£3@DÄ„MæŽ@RüeÊs›¥¥­ÕiQ(ÏEbÜyG0DD! VAãs’H…Ôä8”]T4yÒ „°upD`hœ$R€ˆˆ ›Ìacço;Gx„¶ÈöÙ£Ÿˆˆ ›˜0‰ˆ¨ð7l"""&l"""j ¼$ÞT*e‹nßÚZÌ 1a“9 3?7 é)ñ(Q4ýýØw{‰ûuƒ‹«@DÄ„Mæ(*#9!A!à qiòÑÇ´:-Š ò‘œ ‘…%oí""bÂ&s¤&Å!8¬3$2÷fÙž€‹›'D–VHMŠC—^"¢‡ ;5RE!욈Pg J… 6™£¥ÂÑR!"¢¦gö%q¥²a=ŸÅböX&""j¶„- ±õ£õõZùŒ9‹ZÍJÝ}!ÏÎ`ĉˆè!OØ`ź-f-¿rqŒ¾ =³h6 ù+Ù ªŠ ƒiÏ=?Ýà³J¥BXDWäÉåí>PòÄž;?~9ˆS¿F•s¨¬Pñ &"b®½…]ÆÊôêÙßÿ㽄TXˆïø òü|ý´o¿û½zõ€LÊûŠo¥%ÁÇ?}‰îý‡@daë±çx1aß· °þ½ž•™2yvïÙ¯ÿ|úÌYhµZœ9s/ íܵS&OÒ·¶ç½ºÁáÇü‹¡R© ZãÆæ·uº÷‡Dæ‘È–VÖèÒ Å…¼ò@DÄ„ÝÄ-ìdž ÅÅË—‘——W•°OŸÅ£ƒáÔé3€ÌÌ,\»†Ç† ¼óõÈÊÎÆÙ“ÇpæÏc¸yëÖ¬}W¿>Só6…ù¹ppváLDÄ„}_òm@ ÛXKK <5æIìûúÀ©Óg°øµWqêôYÀî=û0nìXZVõ‹Ûÿ¿X³ú-Èd2¸ºÊ°öUØÿ¿úõ™šÿ0)).„X‡wáLDÄ„}ß‚ ÄT™g'OÄ®ÝûPQY‰ÂÂ"ôêÙPUT`çž}xvòDý²¹¹yð÷÷Óö÷÷CnnžÙóEy¸vé4¢zÂÆÖžg0vÓ¶° ªS$€ªßª{t°š/IIDATïèÑ£¶ïø bkký|pu•!=ýÞ}ÔiiéɤfÏäfßBü•sïÜ Žž½DDLص,(Õåf”™ü̼ýÎ:DG÷ èßëÞý§AëÆƒeo¼…¼¼<äååaéòxú©1fÏoën¥'#51zDÃÞÑ™g.v­å\7§Ì„ñãP\RŒý«vÿþýPQ¡Â„ñã –[¾l\]eèÑg zôw¼¾t‘ÙóÛº”„+P)ËpþÄÏ8~ä€þ¥Ñ¨yµõš¨Á¬¾eŒ‘I¥Èº™¢ÿìçëcðù.±XŒ7nÀ‡7ÔºSóÛú°¤†åÙJDÄ„mNkY€Eo®gµæ„]^ª`mµ>›ˆˆˆ »Vª@­NÛìÛÕê´ º_žˆˆ˜°Û%;Gg”6ûv‹ `Ç[¾ˆˆ˜°É<ÁHŠ¿ŒByn³´´µ:- å¹HŒ;€à€ˆè!dÁ*h|N)‚B£š‡²‹Š&OÚB¶Ž ‚“„"%"bÂ&³ØØ9ÂÛÎÞ¡-²}öè'"bÂ&&L""jü ›ˆˆˆ ›ˆˆˆ/‰7•JÙ¢Û·¶3DDLØdNÂÌÏÍBzJc΢Vu°Rw_ȳ3u""zˆ¶@X±nKËäççcçΘ5kV.ŽÑ—!""¢fJØBÉ755#FŒ@BB"##Í*ïùòó²q+-Å…‰,à,uE‡N°âODDí‚Ù=£Œµ– FމÄÄD¬[·ƒ6Y†êçVZ¼|ƒÐ{Ðãè9à1Ø:8âZìV ö} ï-ZRRb0oáÂ…¸~ý:Ö¬YƒE‹ÕZ¦¾¤î¾F§IÝ}ñégÿE÷^ýáéˆèACqòÔìܵ½ú ‚‡O ú8â®]7XLJoFXd7ø„bμPUTèçi4¬~g-Â"ºÂÛ?ÓgÌ48V©»/6² QÝzCæá׬Šê ©›',,-!²°€·_JŠy v-ì-[¶ ** ©©©€cÇŽaûöí>|8–,Ybv«¼1üöû1<°7¯bÂø§ðÌ”¿á§ŸÁ7ûw!%1cÇŒÆü‹ Êüyòþøí'\<{¹¹yX»nƒ~ÞÆ>ÆÅK—qôÈaÄ_½±+W¯1(îÜ=ryYé-4­F[é7 qqåLDÄ„}_®ÖZNKKÃàÁƒ‘’’‚yóæA,cóæÍFË4…ï­ƒ·—lll3c:JJJ°aýƒi/]6(³fõ[ÉdÉdX³ú-ìûúý¼/¾Ü…ukVÃËËöööX±|:lPþíU+ “¶ÜПÇÀ‰£‡p;=¡Q<ƒ‰ˆÚ‰zt:«J¾111€™3g"00°ÆûûËhÐty¸H$ú÷666µNS«Õeüü| Þçääê?gfe¡Oô`£W <<Ü[4`†…F­ÆíŒH¼vQ=ð,&"b »öÖrLL 6mÚ¤ÿ<þ|“eêý—„…ÊËËõŸó å€ÓÓïõJÏȸ WW™þ³»›®\<yv†þÕ’—¾ë"²°€·Š x1aß· Pdð9&&›7oÆ AƒlV™úˆŒ ÇÇ›>Ayy923³°àµ¥rÀËß\…<¹yr9^c%&<ý”~ÞÔçÿŠù #%5 jµq×®cúŒ™­"PñWÏ£¬¬:•*¤%]ƒƒ³ Ï`""&ìûZ˵ŒƒÝ»w׫Ìý¤î¾5^ðþ{ëñÝá‘OŒÃÀÑrÀ}úôBô aèÚ£$.,]¼P?oîœYèۻƟ Ÿ€̈™Ñ£G¶Š@Ie|'~9„ó'¢R]‰ŽQ=yµõšV.ŽA}ËÔÅØ )£:áèÃ_/<ÿœÑ²¦¦Ý}ÿÊì—ë¸" ļ¹³1oîìzïoS“¹{CæîÍ3–ˆˆ ÛT [€Eo®gµæ„]^ª`mµ>›ˆˆˆ »Vª@­NÛìÛÕê´úû剈ˆ ›L°stFIQóó]\X;Gg€ˆˆ ›Ì¤øË(”ç6KK[«Ó¢Pž‹Ä¸óŽ`ˆˆB¬‚Æç$‘"(4 ©Éq(»¨hò¤-aëàˆÀÐ(8I¤ 6™ÃÆÎÞvŽðm‘í³G?61aQ àoØDDDLØDDDÄ„MDDÄ„MDDDLØDDDÄ„MDDÄ„MDDDLØDDDdÈìST*k« ²¶¶f%µ§„]^ªÀíôd”–p¯ÖN(ÀÆÎ^~A°¶ve…µ—„­(*@úxDt鉛DB! °öZ)­V‹œ›É¸|þ$:Fu‡£“„•BDÔö­ÔDDtí ©»tZ-45k®•sõ @PYn¥&±KoVQ{HØe%Ep–z@«VC§Ó±ÖÚ'‰+Rã/²"ˆˆÚKÂÖêt …Ш+YcmˆP(„–`µŸ„­OÜZ-k¬ a¼ˆˆÚaÂÖétÐ1´)ŒÑÃÃüSt:ètÚ&9øE­ïïäeáøO_]†/^'"jw-ìædç(A©¢ Æûê¯GÇÎ}àØ¡°ÖeˆˆˆÚaÂÖÝyWV¢@ÒõK(”çB£QÃÞÁ þÁpóô­ç®éêx_¥¤¸^þÁP)Ë QW4Z…”*Šxý" å9gWGt…½ƒs£mãçowbèÏ6CxÙÂ&"jw [ÀÔÖòÒbœûóg†vF—ÞÂÚÆŠB9¯ž‡§oÔ•æ'ÖêÛªm»Z––P–•4Ze”—–àü©Ÿر+zF‡Pd›i‰¸pòWôðlÄvxÁ%EùM›®™¯‰ˆÚc Ût‹-%1Á‘éÔÊr(K°´°DT÷þ°°´‚ºReY)®žC<:©;»ô…U1¯ënaÿrhàÿ¾Ú2z2´-®žCvf:ÀÝË¡=! õe‚#ºáæx(•e2zr-ûþá‰èŽ e9*”¥ps÷‚*8É×Ð1ª7´Z ~9´«FùêÓŒí˽}ÿ—~ß«’«7â/ãvÆ hÕjÈ<|Ð1ªDU!’çÜFÒµK(/+†•µ B"àåÄ6Q;ѨOëÊψO‡Ž¨P•£²By§Ó“ʲbÀ¥³¿Ã?(ÃÆ>‡áO¿'7¤$ÆB 0Wî&¹1SfaÌ”Y°w’âFÂ%T¨ÊñÈÈg0ôÉ¿@]©FÚk-èþÃÆàÉÉ/ÃÞIZëþûE R¥Ôï¿N§ƒ«‡r2oÂJl£_¶¶òw§Û—ÚöÒ’âP\T€èaOaøÓSa%¶AJRw†€»t Á]ñøøi8|<ÊJJ`iÅ{1a7@eElíí¡®¨ûÒwŸA#áé­F e)üÛyÖ6¶ ÚfI‘%ErdßJGd·~°±±¦²A» óf2¬«%ÙÈîÑÛ8 ¬¤%EòZö_[{TV>™ÌÊÚ•*ˆ,,ÍÚ'sö¥ú¾À팈ì ;{'T¨ÊŽì›)°WÕ‹H(‚F£E‰"u%B"»A(²äLDÔN˜IüNkÓK++T¨* Õjê\¦¨PŽs'Ž XQmµ1ÉE–ë¯ë}ÍݪšWQ¡„ƒ³+ÊKÐj5°‹¡*WÂÂÒÊòR€ØÆ%Šü:ïO¶´²F…R­ÆpÿUJ%,,-!Mî—N§3k_î/¯R–ãØOûkÈÒ Ê²tꛩ ˆ= ‘…%B"ºAææe”eU-w±½É˜Q;ka›s[—ØÖ]ú Azr⯜ƒV£ƒ‚#!¶uDy©aQ=qõÂ(/-†•Øþ‘}»ª7u]·rÛîÝy¡QH‰ÅŸ¿„N§ƒ›§»öCe…ÊìuÙØ: kßG‘šx ±g V«!Y ×€pqóBiq!t: ¬SO$\½€„س°ÛÀ?(9™7õë7µ/¾Bñû÷{ VWbðÈIßq;=Oþ •² 6vö‰Ò×›ÔÝ W/œDYI1líìÑ©{4 0¯nLÙóé{ü&µr‚Ý;6èž|æE”—*ê\èÌñ1xÔ3PUûýÕh³]d±DVZ U™þÒ±…¥5Ķö EÐj5¨P–AlëEAÕ`%Ž·Zß߯Æ<66°¸Ó{Z]¡Byy±>s[Wu"‘¬mì! ñû÷{Ù©«ÁÓÊD" ˆí!YÔz ¦öÅZl+±-Á>Y‹maimSU75TÊ2TV(–VbX‹í UÍS–—½$^\¬À•³¿£×€á<Ó‰ˆÚK Û”_ï5¹Ìà‘«’W¥ %E†¿ûV¨Êõï«'0c ¶Æ<åe  ÌÌåë Ñ¨QVRìŽ+çÿ@ßÁ£!.SªÈ¯óLí‹JY •²´–éeP)k/TY¡Ô'o""b®‰§u=2b<œ¤&WS$ÏjSdïà„è¡c`ç AqQ^›zŸÖEDÔ¶N§3z»äÞz(+I[¡A¡<³Íí76Q»LØZ“ ›ZÙŒQûJØBZ­¶Æ€"Ôº©µj«ÿðNDDw¶µwBîí4ØØÙ³ÆÚeI líXÔäT*+¡•²¾ïÁJŒUÛ‰Uƒ¶w@R¯À¯CGØ::B¶ÚZ3-t(S(›•Ž€N¬jr™7Óqæä1ädg²2Z‘P©«zõˆ€ ƪƪA ÛÑI¿Àª=ÊK‹¡åƒ–[5¡@;øv„£“„BMêÖÍtÿíF› ¿ÀPˆDðú¥ÑjwßÜKkkxûø1Vm,V NØàéO“Ï_¦ÖÆØ€8DáÔ‰ßðäø)ð «êœZí¡>ÔrBÂ;C¥RáÔ‰ßðô¤ç«6«JØüŸˆj“Ÿ“oÿ hµ“Oô£æåé€üƒ{«6«JØDDµÑBwçy핬ŒVÆB$‚¶ÚC€«¶+&l"jt€Žõ´B:­öN|«¶+&l"jtB:Nÿ¼xjEI@§…P d¬Ú`¬˜°‰¨ñ[ØBÁÿpø›hëK:}|Zs¬líõ\j¯ûs¬jý㘧4=PÂæhzm&>+[{ç&Y¶µjÎc0&l"z õþvãûÂÁIŠïØæþSŽ‹»†§žž7wo¸º{aÌSãqåÊÕV ªÇÇÜXÙÚ;×xÝUŸ–gS´RkÛ·û÷±15gK[È„MDMÝ*¨ú]ÔôK£Ñ`Û¶X·v ¶oÿÆì²Mù`r™¤ädŒ=OŒ‰¤ÄkHN¼Ž1OŽÆ¨'Æ"!1±Y÷ÅüWͶ¹ûPZ\`ðjéú¿ûª¾O÷ïgëŒAÃbÅ„MDß*šÿßÈ?³Ä/ÇÌ€‹Ô?ýô³ÁüÊÊJ,Yú:ü‚áå€?üجyo®X ÿ!¹yâïÏOCII‰~¾ƒßÿ¡pu÷BÌ˳õcjÛ9HôÿÞ}_›wÖ¬ÅÜWfaÚ SáààL{a*æÍ5ÿXg°­ûUŸ¦Tª0kö\xxùÁÃ˳ç̃Ri|_LŸ¹ñ©O¬êR}¿ì$ؾãßì g7ô‹„Ë—ck]öÇ gï~pvqCxdg|öù Ökl=õÙ·>Þ„ÐŽ‘°wt¤¤¦bâ¤gáîᙞzzrssõeT*^Š™Ww/t Ãû|Øàã-/WâÅ—^Ö¯kãû=§êû]bÂ&¢naßi’˜|mݺ13¦:fLŸlÝf0ÿ5kw ÿ ×®\Ä­[·Íš÷î»ïáÂ…‹8qìW¤&'@,cù+î­Àñã'pæäqÄÅ^DNNV¿½ÐéPªÈ¯j©)ò«Þ×±ïGþŠg&N¬1ý™‰ñÛo¿l«FùjÓV®ZÌÌLÄ^<‹ËÎ"##«V¿mt_LŸ‘W­¿a›*gl™êó;v ?ÿø=ne¤`Ì£1{ÎÜZ—>#Ë—-Eöítüøý!œ>}Æüõ˜»ŸÎž=‹Ç~EI‘Ðé0aâdÌžƒÔ‰HMŽGhp/y]_fÕêw——‡¸Ø‹8uâ~ýõ÷Çhî~®Zý6E \»r gNlj'ÍþnÜ«Z¿k»wlÐ=ù̋Ɍˆä«ÿ /Í_JU¹ÑåRRS1xÈpÄÇÅB,¶†R©BXD~;úüý¡ápèà„×ÙØ¼ðÈ.ø¿oö#$$““‹>ý %)¾ªeäè‚ËÏ"(0”œ\u)ûÚýü»É².ŽWäçfÂÂÂðæµZ ©›Šòsê\WõiÁaøþ»ƒª:ŽÄ¤dŒzb ¯_­³¼©ã«K±B½_lÁ”©³ê+»;­ÓêîîSõý³stÁÍ´dH$U­È²òrxzû×ZaQ˜?ï<9z4¼½½jlÏØzŒígõº²stAR|<==ê,SV^ŽðÈ.H»‘é‰ï¿;¨?7“’ѵ{¯oHÇHüøý!t$߸Î]{š<·j‹[ØDÔè„wo2ñÚ¶ýSäååAêæ ;GHÝ<‘——‡mÛ?Õ/“••€ÿZË›w;3]{ô†£ ì]Ð!8 ¹¹yúùàﯬ¿¿?²³s æ›Ú©ÔÙ9¹5¦gçäÂÙÙÙ躪OËÉÉE@@€þs@€?rª­ 8>c/aµ[…Ì”(ò ^µí8K$úÏ666P«Õµ.ûåÿÁÏ?EßèAèÔ¹;þÞìõÛÏû?{xzL;yê4†7Ø9ºÀÕÝr¹ü^ü²s ΀ÿÇhî~fgçÀ××WÿÙÏÏϬú®-VLØDÔ4—ÄM\êS–+ñåW»p5öJŠäúוËçñÅ—;¡,W:<ÜÝ‘š’Zë:LÍK¸vÅ`ÝÅ…y—2ÓRÓôŸÓÓÒáææjÞ%à;¯Á<‚Ý»÷Ô˜¾{÷<2h þ³……ÊÊÊôŸóårƒõ»¹¹ìKjJ*\]eF÷ÅäñÕç’¸9—gëqIÜÜù=ºuÅž]_"íF6¼»s^™gþzêqIüþežûûTÄ̘ŽÄø«(.ÌCæÍÔªŽew^îînñHKM3zIÜØ>¸¹¹"==Ýàøðc”•—ãöíL¼2oÁzÆ?=‹–,CnnrsóðÚ⥘0þi£ûbÎñ™sbÕTžáE\¿ÊÊJèt:¨ÕšfÙny¹ÖÖbX[[#5- ³_™o0â„ñús#77‹–,kð¶&ŒË^r¹r¹K–-oÔï6=X [(¨º¤gä–•­Û¶cú´©µÎ›>m*¶nÛN‡%‹_CXh(úö„ÈÎÝáãã­_ÎØ¼W罂~}û`ô“ãàêჩÓfàÉ'FܦӯoôêˆN]á"‘àõ¥KôóçΙ… ½“´Îc ÄÁûqèÐa‡EÂÓ'K—½o¾Þ‹ððŽúå>úð}|ûí!xù`Øð‘U­ïjõóæ¯ÃÕÕQ]{ ªkxxxàåˌã3öº¤3S±2u[Sõyµ-W×üÑ£FâÙ¿þ nž¾xã͕ؾu³Ùë1w?k+³éã°dÙëpóôŨÑcÑ·Ooƒå–/[ g''„GvAï~Ñ8 ºÎc0µŸË__ ;;;tŒèŒž}ú£Wϰ´´4ûÖ.S#±Ó=ý_mÃß_^‚ eY«ÝGgYÕ%äFTQQƒ†`ñ¢ÿô¸VyÜÅ ¾ÝÿÆOy±ÍÄêa’ˆ§'NÆ•Kçê«Úp,q"z 挞åà,3ýV#'Ô¦fee…-›?ƤÉS0hàÀªß¡[y|4Vm-F-aÉÒåX²x!Tª ,[þž=ªÑ¾KLØDô@ªŽLÆÙ¨0q{€&äcS¬¿[—ÎH¼skXk|d¥N§­ùðˆËišŸ¯ºöè ¥R…Q#ÇëK™Uo÷ÇŠ ›ˆ?a „Ðé´Ðj5­v ó2[õþ5­VAµŽLm!VmÝK3¦á¥ÓjÄ¡¾±bÂ&¢F'¼3>5“@ë£Ójk\g¬ÚF¬˜°‰¨Ñ‰D"hµh5L­Z] ‘HÄXµÁX1aQ£“¸Èp;-N+£•).”Câ"c¬Ú`¬˜°‰¨Ñ…uêŽØs'ѵ7œ¥®qx‡§…ò\$ÇÇ"ªGƪ ÆŠ ›ˆ‹Ìá]z#éZ,Š‹  Õ±'qK „pp’ ¼Ko¸ÈÜ«6+&l"jþAáð gE´B÷ŠÅXµX1aQ³ÿGCŒ5BkœU@DDÄ„MDDDLØDDDLØDDDÄ„MDDD沪†DãPuDDD­¶)ªª ÅŒÊÁð¼q!ŸîÜÛ –$,lAé(”Ìÿàì3ðÿ>|æìßVPѾq58͉²yoYCÑ«~ΚóvžëPbI* €ü‰c&Ž ¿/Wo¾|áojá9NÅRGvá×CjÝ|°*_dÑ×çËË"QÛ^òýc].zm… 4:ä´^5UÕ˜0ˆÅýê–>õF¹òƒqÆ… þ}«Ì݆£¡‰ßŸ¡é¨ÊbÂà˜qcŽ÷«[ú\þþ6øæ¶~ÇŒ{l¢¨*x·ï}þÚtf“ZPÊD™ªªQ‡Í"H{cp ðþï{/:o™C{>ûÖIïøßƒ#àþÙcîÐ^ùcWŽÌ<`jŠÅPíÌÙXõåÊ2­¹ÿïaðÊ/WŸ’‘aKjèÛóŠ6û€¸dXú¤Áii6¡&ùi}å×+˵>¢‘]Úß™_tňŒ«0ñå5r¬7ž–Ý=Õl)ñ·¦|Í~/–‚$²EÓªªÆ„Aí¸—¼»¥Nøïoï=RgÔ÷’w·|{ÿÚê¤ÎÑŽŽÛ˜F ;÷s~Óåâü ÷¥—ûôU5PUìJæÑí¹±—íÞ¤ÌÁXðÒ¾s‡…ƒ“1†«ö„«‹F€wÓìôIO^9"cêØ¬Ï[óÖ;ïÞþ—ɽò"Ù¹ÿÛ]ÇŒ’¯î¾á¹EíÞW¿ëîqIy}“àÈ»|DÆÍ§çü²|ûÓ/üýº‹'L»áª`ÅþŸö‰ÀqìÒ˜æßzõã¿Vo[¥¾ÿÌýÞa1Ìxî½%‹Ô§Ç×]³tå!5K A:¨¥ÞãÄéG¹èíM?LP{µñó@=ïæ(šÌ]Þ}çâ®5#{%_sÓýy½KÍâ~ïL~îí,Ø_õuݱN˜¶yçÃÔS†e íéJ1êo=3~[°¢ÁšØ®PáÚ ¥À‡ï¾’¿ßà€É£zù¶üÊà`/ð·ŸÕì^¹Æ-@VFªgíwªì›<8 ÞyóÕ0O~Ü€KÆôòm› Ù¥ñÖ??ul4÷`0ɨ‡p$Rº§˜=pw$û·~ôo_¥èJA¶×(,ÎåhßIí]õ†'níìªãï©Çrrá?¯È«0øe54 æð.z%O©Zés€(º¨lŠTtïÞ³iLÿÙXüÒölZ2TÆ*=ò'?þñÖïëí]àH—¨Ãb—Ûmê3ÌËY =Õ!ØlÌ9è­¬ª¶öÌtFà8N•agaŠu<ÌþÏ?cÇÉLO£%9R¬ÃÚ¥­º=^ëI§èˆÍ”ýñÒ²Çd|ù¯«*Û]æý¿…ûWnÚõVò¢‹AÚ’øß>èψögÔŽ[ïqb;çÞ#ž½üt×Àó_[ßÈyë×( †çM‰_°þpí±‰zN8Ë2ä1ÓCù²µÏîVJ™ 0<‹ í6f€ãxÁbptS{ð&©vW ’j’%)¬SÒ»@EUµ¡Qÿáo_p¢³gî(¢r•7œ!‰ã/œRír>Š·ª‘]‡×t‚Þ–É€ûnuÙ—Ÿš-ÔŒÔÿžÛnxø‚ü 7ì0¤tÇNAÚÜrP+ü2ch½ÎýûÚ#´B­q!MÖSOÜØyµi«sîÜÈyë×(Ú/ÁžÁ8ýw¿.™4ºÿU{g#k¸Çp¹}g¥ Ù} ŽõN‚ ­‡mÀµ”ž7%ël™µüosÕ_Fg]wÕE/-»ì”løîçßxaÑÈâkMwÄà»5ewLÈ»÷¶¿¾óÛn¦3 ÈϼbüÉ÷½=¢‘Fvq+Æë€±§/íõù"¶sûŽ-U<È2õ®ý6ù´[9‚~i[?ʱƣ5î•Õ;f¶^‰g\8ûåÕ±ÿ{`xãqk”£‰¸K«*JÆ é]´uEí@ŸìŸ×++Ëô»K°Ô¤Ý²5²÷“%%JÕžó&œ~Ý•INäƒï}øÙ×BZ/Ngh$Öw«Ë½E[.×öYãÂQØRìýrþzZ¶Í6üšFv}œ9*o:5õä©Ãã6ï¯xù¥W8ŽSj ™ý±à¤]ü(^\ÙTMÓJqë=ZãQT%¶©,¨‹ªÌÀ«žMs•(ô<{.hðo ï»`ÏÀð A{í¸‚´ãŸû³ú׎n¼Gï(‘­t¿ý鬰«Ed^4Òû )Ý9SRƒÔYýµ@÷Ãü…+wGÞ×ëì]„”|¥j¯Î‘ÛЮñÏ)uRµb·sÑüõrñúhÀÅtFɘ;8; I4?J-9íýšCí´½âÖÖ(ÑØ¦ý=oy±pÞ$qÙÉé:AϹCÊìŠìÍ)± •'Ïe¶(ðÕ¤«ïªìžWÕŽ‹ HÛ`q £Þ:·Þ½±{Ÿ.ªA‘1àu¼)‰7'15Zç GÄ2˜H÷S„´žL¡À¢À8N0r&©ñ]G§JH亮¦09LÆq‘·¦c§ íåG9&ÜA­ ÆÚi{Å…Øw¯ÚXWs=ys²Ô’e– øôÃ3®ø{özÞø”nŽ[ˆ- AAºù'¡÷Yqïœ×íìiee¥íWõ–ÿ<ë FùcÅ:,EAé|dtÉ)œ÷~œsϺ­ü@q»ÇeþªâŸgÕó¬AANCYIAîY·Å8âjze'èÂRDAÎ)Sv¹:\\àÆŽL> ËAAÄÁäÚª€5?èª,Ñ6á„l‚ ‚´ ±ÏV”Ü:ý~-‚ ‚ HrÔ<³èGAA¤]8äG©_£ BAA¤}$Ê‘«G¯U ‚ ‚ í% ‚ ‚ @£0)H’Ö¥[åýhAäØå„•(iYÝ*K÷cFÚTÅ‚ H<¥q?JeeÕ«¯¿õû‚Eåeåf³yÈA7N½~§'N~Þyïƒçžùч¸cÚ-‡LÏê^Qº/¶ZQº¯]|H^Ÿï¥W^ÿõ·yeee³å”SFÜ4õú±cFÇŸòÉHd4²±IUAArì›Ú²òòI_qÕå—þ÷ë/223ü>ßšµëÿïÿ>ž0>Q4Šªªÿûó§g>öÁ??švËM<¬Ù_àâxË­wæåuýþ«Ï³²º¸Ýž?—-õµ·Æž:ºi)O«íŒ‰+W­þòëoG=#;¯×™/ؾc‡,Už{þ¥~‡åöèwËíwúýþFRÒÐ2á"Én»é¯×%%I ýÛQ"O<õlßC{õôÞ?þ©¥ Ò³»§gw¥Sû!Ëô¾îÑw@¾f<øˆ,ÓX€O>ý|è)cµ”oÙº5vÒÓΘ˜×kè)c?ÿÏ—MMóŸË–?þÈC]»fët¼Ã‘tá¤óþûíؤNÊÉHC ¦4tç=3òzžÔðˆ·ßýG,üqf¤ÊÇ*_ˆ¥öíwÿqÒ áy=Oºgƃá°ÜŒ € .¸à‚K_Õ(Œ5¸Ì_ðÇå—]ÚÐÞ)×ßtËݺaõ– «òó»?ñÔsÚvX¼déßüg×Öõ—\4ùšë¦þ¾`Ñ·_~¶kÛ†IçŸ;ãÁGµ`¯¿õÞÆM[~ÿåç-ëW‘<óÜ‹¤¤¡å£O>›zÃuŒÁ_¯Ÿò¯?mùïoìܹ{þ¯³W-ÿã@Y9cP^¼Ê‹÷–ï¥Sûñü‹¯–WT,_¼`Ùâù¥¥^xéµX€¥ËVüüßovn]î9gÇR>ýî̸gïÎÍ?~ûåšµššæÇÎxð‘ÕkÖ‡B´Î®zmR'åd¤¡¿ðÒk^¯oÍòÅ‹æý²rõšXøãÌH½•'¶±¡ò­Úå+W-š÷ËêeTV9_xùµfT\pÁ\:ôRnìè‘‹—®ˆ}¯'–r¹dwë]°{›^¯ÓV3rzh?Ê‹÷Ô  …†·uÃ*-ØöMk’’$m{·^'×^íÙoPÉþ0lÔ¸¯>û(?¿;T9gœuÁæõ+šä*,*>oò¥ëV.EQ–å!#Çþòó÷]s²`ðˆ1ß~ùi~÷nµÃgäô¨òØê a£¿ÿæ‹îÝò`ï¾ý—]9eýê¥Z€›×HRÝ”9vú´[ÎxVffF3Y¯÷íw?øß¼ù…E))ŽóÎ9ûþ{ï´ÛíØ¤¡”×Ym(Áƒ‡ŸúÃw_ævÍ€ý…£Æž©…?ÎŒÄêC´ƒ3/9=–/™ß-/öí/¸ôÊ)ëWý‰~NA ƒ j?´ïõ4a·ä¤ä*gUfFú¡kÏnÈÈé©EY½fݳ³^Þ¼uk0‚ƒŸ:x¨¤$»öÛh$uV%ªý.//?õô³K§ZÑãä“^]íÊíqøÎÿû³'}*+«r»æÔwÀz†uT9«s»fk¿s»æT|h Iõ¤ü_¼ýêï¼üê6«õ™™}ÖMJ¶Ýf}ôo3ýÛ ÆØÞ½ûßûàÛ§ÝùõŸË&,žñ)õ&¸²Ê™•©ýÎÉΊ…?ΌĪđ¥gå{ðGל,íwל쪪*¨‚ r‚£?úYOCœ>nìWß|÷ôiõF¹yÚ]3xüé§Y- ЫßàØ¡ê³ÞÕ´´´9?|“qHA?$ËòWß~¿jÙ¢C](*.9oò¥θGÅ´´Ô¢îGúQJIjŠ£°¨D»¡/,,Jq8ÏÈÀ>ùðŒ± ÿ¸ïG6NXÖܲàòó»?3ó±Þý‡Ó&ñ˜´‘ —Ðü(EÅ%-˜‘z‹,þ¼ÄÌ^T\’’’‚_ŽB9Ái˜ÙfÜùñ'Ÿýýµ7‹Š‹E ‹þX‹B)EˆBQqñ=ZëPÐèÈʃ«×M¹úþ¿=ZPX¨(Êö;o»ãî&²ùá§ÙC ÌÉîÛÒ5'kà€þ?þ<€]qÙÅ<ñtYY™×ëyâ©ç´6›mïÞ}G§dò¤óŸ˜ù¬³Úé¬v>6óÙ 'ŸßxʧM¿g×îÝŠaÀ”¨ÒÔñA—\ñ—ŸfÏ©rVE£Êž{áå¡C5n“:)o(# %øÂÉçÏ|f–Ëår¹\3ŸžÕRi ò³|§væÓ³ª«««««Ÿ|ê¹K.š„cÇpÁ\pÌlœ²»dÍþáëÒÒ² /¹ª[¯þÃGŸþ¯?ûò³´½¯½ôü̧ŸïÞ{à¥W\;|ØÐ&J¸sÚ-#† »üªë»÷:ùö;ï;wâÙMÊÔGŸ|vÃu©³ñú)×|ôÉgÀ`Æ=wöê‘ÆÄI#N=3»K¦¶÷ö[nœxÁÅ™]{ÕIÉÃÜ›š’2jÌ„Qc&d¤¥ýíþ{Oùij&L½ùŽî½<;ëåw^¥©ÅqßÝÓøqÎØñçæöèÁÅW¡Þ}£q›ÔIyCi(Á͸Çl2=eܸ3Ï2xA¯o‘Œ4*Q.ßZ©1|èéÎ>z|R’ôà}wcSÅ\p9±%ÊQcfeDç҉Þ½û¦\óŠ?ç·{Jºäö>P¸KAäDF$&íGcfÐ%¯w#=PÐÎW—F’×îiKÀd?ùô¬ûîž.‡ÃO=óÂ9gO8þÁ©-S=p ‚ R‹xßë9P°#‘//&/q/}í•ìœì¬SÇŸ-ËòÙÎxྻŽÿ\-T=P¤ ‚ k¼JœÜ8õº§^—P…^Z°ë‚ Ò˜F|ãAAÔ(¨PAID‚~AAQ£(Þ‹FAA¤íÉï3¨12ü´ ÐF‚ ‚´14è ú=i”Ødn‚ ‚ í&@A5 ‚ ‚ jAAP£ ‚ ‚ FAA¤“£oƒþ6ï÷8CN¦¦g”(Åf€ Í(±ßÝ›rt¯¥ l‡´/èGiÎG¥ŽLIð›ƘÛíâ€Kr¤r\«(ñ€®”ľ®w²Œtè¬Õ«BbÑ›‚´#z4As.ó“‡4¾7a½)*Sk\ÕF“Ùbµªj”ãô<Ï»\U:Þ`0fžGÙŠ´âu½¸’# kGË(HûÒZ¤Ù³gkc›±7‘‰³Å&¦7%UªUV«Ýbµ©Ñ(cŒ±hzf–#5Ýj—8Žw:+~_¿ N t¥$äu½C»O|§q5¯ßC§Mý(ut‰¶Zo«NÌÛ‘&5ÔDó¦D"‘—3)%Å`ÂáÐ!ÕrH«r¼Él6™-wÇ]c—’°m ­w]ï .‡x$Hçó¦ H'Ô(GŠ={v‡ž7Å‘ž3p,Û¸$Þûxî§u õ¸G¯×ë úP À[ùHXVUåè0<¯·Ø¬~¯×ëóجö„²“(‹Kf,ÞCn‘;ÑŽ8zñÄy2ÒqÁ±HÂÒÖƒ:è3 M 4áʘ`8ŽKNNUUÕçñ¢‘×é@¯F!A4é "cª,-6 £Q›ÒªŽ‡Îúd¤g7… i·»k4A3 ÷Óº:aj¢M@C’’=žÛm—¤HD6ÄjgÏóƒÁ`0ˆÄ‡"YÅ@Ào³I ’ìf:Q©³q¥ @©7 zSV¦à0¤Ój”†f’ípó¦tJìö$Ÿßëv¹ìIIÀqªMJJŽ*QÀ'˲ÙbGdŽc‘H›‚´¬8났Ž4A' Ò 5Jçàhr´^©=B%ñІÕb ðþšêê¤dètz½Þ ˆbuµ3 êtÏóÑhiWeI2cÍt¥ AP  ¨QjÓ f’í|”Ú˜M§«q9Ì#Çqƒ>êtú¨ªêõ:lrb ”&H§Õ(Ïšÿ¸×„ý¸`ç(Ähäy®¦ÆuÈÝÀ"‘°Þ €¨’P©m¦+%aœ(Øé#¬«HgÖ(ÐÀ3׎5†¿º¢Ø‘ÎÅ/S:P«fŒÅ~è ‚”ì`Œ1Æ<×!WŠDM’›‚ ÒÙ4Jü$ò#¡øeJ‡(š9òÏé¢Q5ðE£QbU•Ñl³ÙyžK´,4Ù•‚#Q¤éàt)j”ŽÁÑ2%þ9ÜP hÿ;T( Z¬fEQd±X¬"1bé#‚ ¨Q:˜Léwš@‰=ôá8N§ÓüAŽãívIÄ„My\)èDA¦wwhä„Ö(’MÌ!´M›’€pG\ÔâAN\Â÷‹mANXðé‚´1<šAAH£üùûu~œ tއA¯Ô:ÙCºÏΉÖê±sC¦Q 9-»Îìà:M-µvï±Åúƒ: A:ú¦6HNo±'å÷>Ùd¶óÖéõF£Yr¤eåæ §3áÂä´ì¶|w£ÞË[zòçï?Ž™pa<;ÊíšVÇ,ŽÄ,¯X^ÌfóÐ!ƒ_˜õtï^=-‘Š¢íÝáª: ˲N¯³IެœîöäÔø«Y‚T°ÖHF(à+Ø»Ý몎F“Õ–Û3%½Kín*Aò®Õ4Žã,s^nîãÇÝ>í–‡/rÈ ¡Q`ò5w@$Þ·cãžíŸ2>ªDš}bíhQ%âóºŠ÷îØ°rñ€ccßÚmã—Kc—·Îñ¡Šz^˾–*‘N€–¯×÷Ï?ºuÚ‹æÿšh)ܹy51š‡=Ï–äˆF•ªò’ý;7¥ddGÂrüÕ,A*XË&ƒý›Ö.ÍëÑoàÈ3ŒF³×]½{Ûº.]óÃr¨v7• y×jZ0ܳwß¾úfÜ™ýCלNîÐB:7M{Öãª,ñÕT¦¤gú½n‹-˜ªîÙ¶aù¢9ËÍÙ³}SÕ&Íãª`Q¥k~Ÿ¬¼ ÷ó:}m/‹ª²ý»¶¬üã—Ì--Ü«mdŒîÙ¶ò_—-˜½s󚨢´Þ}É{ÿøçɃG¤dt€‚¢¿\;µk÷>]rò¯¸úZ§Ó©“Ãáéwߗ׫OÿÁo½ó~,z4}æ¹z÷”•Ûó¦[n÷ûý âe)+Ù¿úÏyËü´aå"¿ÏsÐÔLݵmݲ…³W.þµ¤pO,üñ”o+9$é9}òé ¡£2²»~æ9›·l­à÷ù O=íÌŒìnƒ†ŽúôóÿÄŽPo¬6Ãf³N¿ã¶;w¬6²|Ï}æõè›×£ï½3’åƒj ©Õ¬Eð¸œý‡5Y,>OµßSm2›<Ýh¶5ÔÜ´úÓïh?ê¬Ö¦¡Öúçï?–•¬Y:oÙüŸ×-_àu»*¯Y6_«–¿7Žèu«q#Éh6EûvævëÓ{ÀHÀë®b,Úçäa1ÅNW礛×þYUQ‹.Óàª%¿*­ÖGÕ‹ÉdprÿçŸ}jÊ5W=ÿÂË uG5nw¯¾ÝnO,bÛÝû¤Án·ç˜}WCµ×‘žóæÛïõ>ipv^¯;ï™!‡Ãx‰EÚT£€¢(%ûw™­6N{·…Ãô´³/;sÒ_TU--ÞßÔùÁcQ%âHI¯*/6™m±û(Ú·#ð:cò„I×r:ž˜¬PR°Ûçu:らÿ•˜­¥E{[oF²µk×/üýgy\3å†Ûn½q×¶ ;¶n葟ÿØOkažáåêj׆5Ë–,œ·äÏ¥±¸¯½ñö†›þþËέ뉑<õ̬)r 3qâÅS³ºõÚ¿{«No€¢=Û•pxÜ9—?ÿê€Ï |üåÛ,]ºü—ÙÿÝ·këùçsêì½}ú={pFá¾³úvÍšuqÆjm¼^ß[o¿×¿ÿIÚêsÏ¿T^Q±fÅ’ÕË—””–Î:t-ij5k¬Rò¶õË+J÷+Y¦a9ä­©j¨¹i6&_sÇäkîHNË®³ZûÈ´Ö`À7ôÔ‰/ùkn~¿mWÔ¸ª†ŽžpöÅSsº÷‰UËF¢]IF³©qUåä÷¥AŸò3UÆ”HØï©ŽuSuNš×«´`A4’8»²r{¦däp\;¼Ay픫-^ÒPw”$I“'ÿɧŸÇÂòïÏ/»ä"I²³ïj¨öÀò+—þ1oÚeUUÎ^|/±HÛií^aÅ¢9e%ûޝ(¨*/í7h1™iÀÛ5¿oYÉ>ã!Ñ$ ‚Q‰Èú#¿fWU^Üoðh³Õô»³ròy^奅ý6[¥€Ï••“W^Zh²Ø[É:Ï>ýdìî²% ÆŽ9•b³Yô¡…‹kÛ¿ýþ‡YÏÌLIIIMMyþÙ§bq?ûüËg=Ó¥K¦Åbyò±G~žóK‚ùÉÃO³Ø¤€¯&%%Ã[Sm¶&@eEI¿A£‰ÑLžÜ}kAË”o3¼&±åè½/¿4+33Ãd2M¿ýÖ£="„ŠŠÊjguvVÖ¯½g¬ÖÎK·žýþõñ¿?üç{ÚÆïþûc¬Ú¼ðÜÓßý÷ÇæU³¡ï€„˜öìØ´bÑÜÕKçíÛ¹E‰|ŒÛxssU–Ô~ÆQgµñèGŒ·Ú“þšä”4%2ú,«=9è¯Iv¤y\N­Z6½Þj‚’.+ IDATÜP2š‰˜¬¶0 ÅãvU–$9Ò8_ã¬ô»]•ù½Ñ Ÿ±vp@¦§¥×ÔÔ4ÒÝzóÔ}ôoÍÍ£(Ê'ÿþlÚm7ÅÓw5T{@Ûž’’2ë™™ß~ÿ^b‘ã¤ÉãQ~φ h(ÀóD²ݑîw;UUE1L©@LA¿§©éˆ„CzƒçÐLa™&9ÒüîjU@ÐïÖ6.›„/× Áçn ëdd¤Ç~¯Z½æ©gfmÚ¼5 B­¯ôUVVuízð:š›Û5¾¬¼|ä©§ÇVÛÌýÀq;òs6Œ±ÚgRã<ÀT•ãyÆT½A€ˆ,Ûi±r¬U.-S¾M¥ññ(I’¤ý0G;Ò?ùèƒWþþÆ‹/¿j³YŸ{væ9gŸO¬VÍ c¬ °èî{ïß¼y‹6> ªÊ«-¹¹]«ªœÍ«f-Ó  ]ºvÏï;Ð `À·wû†ÝÛ6ô4’1õ8›[#Ññp=‘®–E¯¯·|ÿh0D­ÿ‰“œÜž»·­qÚ¹;7¯ÉéÖ‹˜-žêòvéÜ+*+’““éŽzöìѧO¯Ÿçürñ…“~š=wÄðaÙYYñô] Õ^ˆÕÒ®]s*+«ð‹´FCcÄzô´aåÂSÆA¤Á@4ª  ‚ y;šJyi¡äHWî ˆ$tèàµ.±â¸s¯$&sêÍÓžyê‰3ÇŸnµZüþ@Þ!gCZZjQQq·nyPTT\ë&&í·¹?fff´q:ÑèsW×Þð{D‘¡ZŽVb—£ ÖòoµLù¶%ƒ üüÓ1Æ~Ÿ¿ð®{ï?góYíž$Žãºåå¾ÿΛgN<Üic,KjjJ¬Ú¥¤8šWÍZ ÆÔ ßà€Üî½—.øÙbwøÜUÇÙÜ^§]-›½5HJN--ÜåHI_¦$§fíÛY´w»Ïã<êLð1Ö>ß"ýô³ÿŒ;mlãÝÑm·Üôâ˯^|á¤|ðáË/>gßÕPíÕ*§¶½¸¸$55/±ÈqÒœ§¤ƒÁfOv¹*9ŽKMÏÚ¼fq4„å};7§eæ4éžCFý>÷¾[*õ:iX÷Ò2r6­þC‰D”Hdß®-ÚÆÌœ¼ +”ï®®(*Þ·mùüÚfD= Q"Š" ‹Šïñ`lû¥_øØO;««Nç#ÏŒmÿë Sî½ÿ¡ý…Š¢lÛ¾ã¦[no›ÍÈÎÛ°b~ÀïS™ª2ÕçqíÙ¶±KnO5Ú˜ç 5={ËÚ%ª„嘩à8Ë·]¸ùÖ;vîÚQÆXTI Ôvé’yÊÈšüâ '?òøL§Óét:~ìÉK.šÜ¼jÖ"l^û§³¢4–c²Ú³s“Õ. B#ÍMo0ø½îÚþ†Ú«1޳µ65zCÉh6]»÷Þ³m]UyID «Lõyk¶oZ}Ì“fåõØ»cc~ßA‚h¤4ÐÆÕ, mÚ¼å‘Çf~öÅ—?tãÝÑøÓOóù|ÿ÷áÇf³yÀÉýã컪½p°–VW?úøS—]r^b‘vÐ(Þ%·pÏV˜r{ô5Âê?[³ìw‘û ¦ÁxŽ nY¹ø×ÝÛ6è úÑg\(9ÒBoí09Ýû˜LÖuËç¯Y6³É"@VnO›”¼yí²å çìܲ&%#[{èµyóõW{⩜¼^^|ÅÈÃcÛùÛvÉ>pÈ)§Ž;ëÔÑ£bÛï¾óŽSF ¿øÒ«²ózÞrÛôóÏ?·mJ4'¯gzvÞžíV,œ³bÁœ=Û7fætë;ðj¬¯ÌËï«ÓéVþñëú kOŒÑìòmGÎ=wâu½9'¯×SÏÌzÿÝ7*m×M¹æ“O¿€Çy055eèȱCGŽÍÈHôá›WÍZêJìv9×._°lÁÏ›V/a,:xÔ™Šn¤¹eåöXüë×±7hꬾZ_kmjô†’ÑlˆÉrò°±5®ªµKç¯X8gïÎMY¹»£ñ“rÀÍÖî}…‚>hC'Š#='%£kï“ßy÷ Qþ˜ÿkìÅãFº£Ûn½éáÇž¼óŽÛâﻪ½0räðSO›0h訤䤘BBfÃ=rñÒñÜÜÔ™À £ÅîuUpg²J‚h€° úÜšo3¾¡é:´Œ15ªD”}±g=µ¢p&‹]$&à ðÒàÁ·àŒ&«h´ð:>ª(¡ /ñ/œm 1ZD£Y{÷*UäP€†üõ–cl•ã8“5IŒ1ô™,öZÛë)_¤3aDÑh1"Çñª„iÈïùÌêmnF³˜¬Çiõ¤ÎjíjVoôƧWivô:ÉhtzƒÑl3"œ¢DhЧÍÒÐI·m\™™Ý=¯×Éí5¥½èóK! BEiÁ­Óïo‚FAA1Vq è@ÑÞ±/‹„é‰vï„iq¢GC ‚´KçÿDˆ±ÿðÓôzCÀëBƒ Èq‚A¤eÐ>â£Fÿ )PЉ‚ FAI\ð¹9‚´ <šAAŽ­QJ vmÛ¸²çضqeqÁîÄ·Åko¼5åú›ñ/×M}ýÍw'# ¤:MYt”¼túÖÝö–i{‹5»¦u Ö„ F©5ª”îë;pd¹â¡[ϓʊöDS"" ¾ÿŸ™ùx3â>ýäcï½ÿOJi"d¤”T§)‹Ž’—NߺÛÅ2ml±ã©i¥5!' ñŽG©®,³'%'§tñÖT¡/’ÇÐ>þY{{l M«”ì©qšÍæ„Zcöœ_N9eD·nyÚjOÙicÁæ/XôÖ;ï¯Z½Æd4N8sü³O?‘’’ùù݇ 2÷×ÿÕžo±½ˆ§¤\ΊÒÂÝ>wN§—©ÝzöIœ’Ч,þv¹ÆŸyné± Uq楡 ¶Y^â©3J$²gÇF—³\Çë2sºuíÞ§µîVµLCýìÙV^Z™Yy¹=úµªÅâl5±íuÆ·Ö»=ÑZ‚¥á¶ê¬HÏÊDäØ×s´O ÆÐFŠiÃÚúâ:3,9Ò2ËŠ÷ö82a' øõ¿ŸÞ9 ] 5Þ}ÿƒé·ß:ê”C¡ÐK¯¼vÓ­ÓøîKm×ÅMþ5A4J%UZ¸'§[ŸÌœîÙ»kã®më £MØ•%OYh¼øÒß§Þpí3³^¬½1qÊ"þ¼4”Á¶ÉK9#»ÛˆÑã^ãíh4ÚÆy‰§Î0ƒ@‚>7SUÆT¿×%M¥u·vkª—`À›’ž xT5j²Ø}WLÕµ†ÅšÚƒÅIBµ&ä$Þg= ¯7°Zß¼ýé‹Ãã½ë<…mŽ×%¬!cúC×iÚnÏ:^ÓÍ[¶>úøÌo¾ü,3wIiÑA6ö%"'NIÅS‹þXR]íºô⠼œío4ݱs×#ͬrV?÷Ì“‰Vg’SÒ¶mX–•“ϘZ°{kT‰êŽÌW"·î6hMG£F£1jßIÕétQ%¢Óë[ÏbMêÁ¤³iQ$4è¯=À«Þç² ßŽ„„£îwŠŒô´ee¹]ݪ—.[~ûô{?úðýüüî±¥´ÆML3ˆ¿¤ÆL¸Ð–”¶o禛W÷<*qJ*ž²xüɧ_~qÇqGGOœ²hR½Òét'õëûÏ÷ß>eÌé1Ò6y‰§Îä÷X°gÛª%¿ò:}fN7í냥u·Ak:^§S£QÆTM€êôúVµXü5­I$TkBP£4ˆÅ–Tã,³Ø$õÐØ1hÊŒŠ^ËjwÔ¾I4 ¸fíºÚ-¼^þûãÏ=ñÔçŸükРµ·¯Y»nÈàA‰‘&•”·¦Ò‘š¾k˳-É[S• %OYlÛ¾ãüÉ—Ô¾eŒõȉSñ׫Ã6ž‹}ý»ÍòO1„^' |Ê™íÝ‘iì«È‰ßºÛ¦5ÕÁd¶ÕTWèu:ÆÔ€¯Æd¶iz¥•,ÖÔš' ÕšxÇ£8RÒK ÷4ûª³â@jfv³‡³´çœ=á‡n<Ì»ïÿsæSÏý÷Û/ëøñ§Ù'ž•‰§¤vn] úS#a¹`÷V›”¤× ‰SRñ”EuEql©s˘8eg^n¾õŽí;v*в¿ púÝ3&O:¿óOÙ½m ¼5•{·­Ù±iU^þJXî(­»U-Ói™ÙÛ7®ŒªJX¦{vdæt‹*JëY,žšÖ ª5!¨Qn«i]jœJ$Òx°?ÿQåðÓïÄæ  A¿ÏãÊÊí'î\@“.8oÕª5û÷4æñ'Ÿ.)-5f¼#=G[ìÛ·Õêµùâ_»õªq””#%}÷ÖuËÌY·b¡U<# 'NIÅS ‘Peg^.8ÿÜ[§Ý™•ÛsÒE—õÈÏéùgÛ8/ñÔ›=yÓš?WüñËâ‚ÃÇ:Ò³´‘¢u·ªeê÷2³»Ù¥äÕKþ·nÅ)9%¿Ï`™ZÏbq¶­ãªý£‘í‰Öšnìè‘‹—®ˆÇ{YR°›†‚½ûÕ¦ ¨3JŒä´ìÚ«®Ê’mWÚ“RN2ÖS]–ȳ<½þÆÛkÖ­ÿì“›qÊõ7:äž»îHŒÄSR‚h4šm:½AUÕH˜†ünUU§¤:MYt”¼ÄSgDb6ZlÇ+9è÷D•t”Öݪ–©·ßÓ~˜,ví•c9ú=­j±f×´Ôš‡ŠÒ‚[§ßßF“Ugüžê¦žÌbw(‘0 úÐîm–‚u¦Ý-ƒ­ AŽS£è›'ÔÜFÕ‚ÍÁ’B°ÎtË`+Cã„G ‚ ‚AA5 ‚ ‚ ¨QAAP£ ‚ ‚AA5 ‚ ‚ ýMÁ½;6 QAic’éÉ©™i”ËÖ_€fBŸõW×33òªí¥ÿoKqEëN¥Óñ]R’n8»ÿˆ¾YX‚ ­‡M€t6ï«|õû5önCò{¤r|+>ÄdªòT½úýšG¯6œÜ= - ÒJàx¤“ð¹¤üa¦¤ôV(Àñ¼))]Êö¹ø`A¤A? ÒI8PéšóÐI:Ž1¦¶ÁéÂaû…/A³#‚ FAcpªq‡`ÐGÂrµªqšA5 r\ÝõÞÁ»¾ÎÚþDGÃsÚ©Y[•:#‚ ‚9ž+*k•‹7wÔuºÍNT7ÏcmfOhí/‚ '8ØÉ¶0­êH@«Ê<Çh»…籬AP£tÒõu†2¥4 ÀXÛ,Œ1ý(‚ ¨Q:@”)íS•9ÚЋ;#‚ ‚¥cÄ—)\-Z6p»Uež;ÚÛaµ;†ÍTõ°ÿCU‡eµ;Z‚JA5J‡(µeJb*•:R£qåѤÀí™)mÌì‘RŒFã/¿ýÛ2{î\“ÉttȦ.ÀŽ™EAÒñJL¦àsŸ¶«ÊÇ žG2÷Üuçk¯½ÛòÚkoÝ{÷]p(dÁþÂ+¯š’™•—šžuÉ¥WVU:µí6)õõ×ßÊïÙ7=³ëíwÜ%Óp#³Ão;#‚ ¨Q:”@©­TP¦´EU>èÕ¨+R.œ|~•Ó¹rÕ*¶äÏ?]5®É“΋…¼âª¿Ü>í–}{¶ïݵ­gÏ?úx,âÒeËW,]¼eãÚÊʪçž¾î‘qÌ,‚ j”-PP¦´¡Fá@'R à8î®é·¿öú›Œ±W_{óî;ïÐWiV._|ÚØ1D­Vë“?²`áÂXÄf=“’âHIq¼0뙯¿ùþ¨#ãxAÔ(-¤'ÚK $ L©3ÍZã³®5)p;Âq|ý¯ß0¸úÊ+×­Ûðí·ÿݺuÛUW\Û V®\}Îy“3³»Ù“Ó3²òª«]±ˆ¹]»j¿s»v­¬¬<ÊÂ8|¯A5J‹è ôdÔ‘µ -¸Ýª2ÏA}cf0A4ÜzËM·Þ>ý¶[oDCl;výÔ›o¾iꎭjœeÅ»;± ¨Pû]X\”ššzô‘Ñ‚ ‚¥e(S:yUæyÖðÇzî½çNgEÉ=wO¯³Ò!¢(’¢»ï½¿ö®G{Òé¬v:«yô‰Ë/»øh݆ãQAP£´€@Ñ@™£ÝçGiñcò¿×Sw< «Øö·Þxí‘GŸì’Óí‚ /9bxl;œ2rĨSÇCoÛ Žñ÷Ù_¡åAZŠ \Ù4’ˆwÌÄf;ã~ï¼ç:͉â$R¶¹âͱµ¾ÚS£ÙÖ–2eÒ•7£ÍAZE‰üòÝÇu6v$Rýùu¶ R{FýNżQýDM¥¶"AR/ËE#h8 ŒˆbÖŽ£Œì£ á Î!9 {¬„ðÄ–…Gý!*SÂÀä X’`$ÄFDŽÚ *§QO%€h'•MeÀü61‚2© AViÄ œ…èyBxb#ŒÔÀh„‚Ì@–)˜ˆ%Öb±Q_YA‘‡ª¡ŒÔ.’-Ýí­p‡BP°½<#E•¤,€ˆ*áL@C.ÉžBe­DP(˜!,ê‹83„«,@}¡ò*·dPÑ>h´Ú'í3ò‘…Gwé‰>?ŠöC»OšäüäªHù6)™ô;×qCk¹ÙÛìDíc,þa°M œ@D8Ê1‰YGïö¹‰ÊhJ89¢ç€úÝÄ`#„™¹++ˆ…ØÌ’h¡²O™ª„Rêá=„rÀH€‡;¥* 39JUbä2ºØˆj¦ŠêvòV)óS¿@’ @ 6‘§ he ‚ØÓ(•AVAäAöS°ÞF#”˜ s„³S¡”Òj Ô§_¦d3N0GIØà©Ï ²ì–uQÁ D¦±õ‡ÜÕNwÐGx‹dѱHÈ*ÚíƒöAû$¢}ê#A5J½Ó ËMƒÚbª’6;Q‹›¨I2¥•·/šHÎ$¥[o¤ª”’Öƒ áˆÛ%„ÎB•:}ÄLô<° õˆZ\b°QÙ ,H}LÄï&aQQ”@¦ »A6‚]‘#¶4·Ç)‘R~pËaR F$k !XÂz*h„€ÖA€¬Ž£,HCA`É!IBpFbà)0"$e¤±Ø¨ßK8‘ÊÞr¿ Ñ2Uª¨n¯³OþITQ*ë©ÛEh€Š. ÊTÂñ’ɪõ†@ýTQíƒöAû }Ó>H£ Èq!gbAYvû"Zˆ@€„Ô¨óg¡~ @ŠF‰A€Ì€“€pF«>·ßD! ~JÂÌmå$ˆ,ƒ “°HÁN€|ÀAeHV;¤ˆå%îê ›¹%›D9/!„ð*2"p”pp~9àÌÀ€2Y.ØUJô<1ZÀíb`„pDP(J#Ì Ædbâ´¹ƒÕ„71êVn_¥»Z‘“œԥ;È@#^¢çAäAV á ðnŠöAû }Ð> jÔ(H'GJíBC>ê÷¹e/a TžðfÉ¡CÂ2aF£ÕJ¸ Q”lYOyP »‘R ¢HÂz @+ÈnQ ˆa¢AÞNÈlf"ˆÈ Ë e~BlDì”RJPJÄ(ðÉ„y)±  Fû1Âq„%ÉD ’Ûï&ÑÛ#4䣊Ë# ñ”XˆÐgQϰv‘LšÃÇ‹¨ì¥a¢%†EÂqRªíƒöAû }Ð>ÍÔ(îãvm–`üì_BÄ(0ÀJDžðfp;ÝÀ™€5/%Uƒ4„$@`T±›Jdˆ=@»O€(pf*A橇ºE¸qH²[ö€ìÎ ‚`µ@„ªúÑ>h´Ú'AíÓ ÒáÞi³w8Ëpm5« ×®Ó·PY„ãÀ¬`›)c «~ „—Œ©@ÌPg•ˆˆ"I1<ˆ?|&! 2È„7±šðFÉ"„Ç(‚A€*‚l vê7¹½êa „U)%Ãí­$,!Ío „p („w PÐR¦jîVÑ1+å%.·ËGC! 6}1$Éíq"­4¬‚À J`$BT/<,S`Q ¨n?uûddË$£$Hî²òNfŸùú­a•·îã¦dML4û|X:7 ¼•pcÄ>‰V>Üöµ–¶›úMK´úóaÉ|-mS²&bû:¡ú|Ös‚rI7 Tuû|4"0’T83±E ,pfªú ǹýŒ@‘l@’$Êd +°äh˜Q¿Q²hXOŰ „T‘‰(cD+€8*rD4•™Ûk ~„ b¦ÌïöVA€°BDОòB´D0R‘£,@ý”X8ð‡´ä—¸NJUb³g˜õF€eŒØDû'jƒç©ÏE9¥5„"p„O+÷WP/Ba! ©¢è¶„i€£>g¹/, ¬ÓØç‡š…©É¼Ý¨ÊœWÙÜÐoÉîtÝ5‰`Ÿ¿ý÷íÔ4Þ.LÛ¶äɮϞщP^_þÚiû¾ü½dwºr["ÔŸËçÕNÛÜÐoÉÜé5ã°}(ýj¤sC=<ˆª$$ÕJ•èy™APÜÖ<S``ˆ@´½¸4y0hu ‰0 ^ÊY©ßM@$ˆd*(Äbuû*Aà‰Ä…‹¸÷…h Šè ±ÛÝÔC3¥ÌÜnP%Q•Œ&" .Âë© ~ä 4¥j"!bK D¦‡ü¢@Ìz R€ù‰ªÑ@•0È< ûÜ®ÈÞŒnù„¹µÄJâvº¤¬,38¸ )ƒ8À`´ªHJ΢rµÛ"ËÔí°J„ï4öyxî")™S™š—¯æ¦A8ÂE#*SÙjÓg=KÆ·¯}®~æzÓV<àÏœƒÛ·þ<üÕçõÛÍðîXéŽö­?Oý¾¶þ´e-ÌÙ9ÛW§ïP£ 'À˜Ùt¸$`’=@U@â%°ø%'`¢æAõRÙ a ÀÑ0Р‰†+©‡!@éÁƒÊªÛçÓn)$«D©J½²Dèy™Ûn¹ŠÖ¨”E‰AÈÌ$¹ ‰†B„2 *Pw¸F !ðÔ-“XEŒœ‰² x‚D^²è$êá©«Úí“A43d¤Xˆ*¥$$P¹šˆ"1&à)D©+D…ˆÕ¸cl£N² IDAT÷>Â" D‰AíïottûLûñWPx•«yªrS$)IŸ›-(ª±¨ÉÌÜé*2dÔ\Úöö9÷ùOO·¥D†”µ£Û¾þLûf!,n,m;„zø®lûúó×ïæÃn§­Pdpÿ»+¶¯NÜÿ FAN?Š0(¡„ãÜ! å%+À$³Q"„~D¦æÜ´ÂÎDÄ(„õ@Â:*«”×A84„7˜vì/™bQ ÄJ,Äíƒ>y4“g¡d7Èn*û€FÂÀ @ôF"š$‡ÀF“± ’ÃN " G™…Z`!äË«*ÜN'22’@4£•2FlFªÛ/“d…FtÀé‰Y†°J€#Éf0paV©ÏI©,éTõ„˜ %æ@pAqû=×>×¼ú&¯'Sÿý:N0DYTaQžq^‰FÔp˜‹B„ã9QÌ/Q…*ªªšmB—LCŠtŠÛ§”W…_»èáÖ°Ï#‹WÚ®Ï>­5êÏ5_Í>þ´=4â†Ö¨?÷ý±êøÓvwþ8l_©ÿ™ø÷Å ~ù6öÝãŠÒ‚[§ßÏzNÅŽM; j¹Œª<•U ¼l)²öi+"¨DA´€%œ‰D¼TåÝ ECR†C Ì 2€È‘¨@ua@ïÙBE,²6™Oýnˆ+/qi‡91¦MfíöÕhó"P¦J8²ðÁÙ© °(xj´p›u:õBçõGDÂqÉ¡#£”‘)‚@}":¨ßC]¡rßNJ™vƒE,6Âq ò Ëa {€R¶Ãéé@ö¹ôݧòœÂ8^UàÁ5]²Mo³ a Õ5ªÛ­†"j„ª´š0‰:‡CŸ–¥ï’©3@‘y¢ò&™ÝöÍ£÷ô¾¶ísÇÂ_[*mïïŸ;sè¥-XnüÏœ–JÛÌ¥oÿmàu-Xfüö¿–JÛ ;æÜÓëRl_©ÿÁñ(H'‡pzèM€ A*F%"î°Lxô@DÑ«„èl”1€$"Gh˜wB€²Ñ¥€dWò Wˆ¨Y¡¼Ž A ÒjˆŒl «–©Ê$«‘ÒÜ®JÉL$»HeF©—*Tr¤‡Dü!-80(À™‰EO3 Üþ±å‚ÞCÂf5 n@”„ùòò2mr© !Ö.’M¡þõ8% Ìà§ÀÌnð‚"P`”³½¸(õ0wØ %• 3xÉf&6³ÖÙI D;Š}.õÞÀëtÀóœÞ £j±ÕnHqèSÉÆ‡B¬¸8²cW¤¬\UÆ3N:ƒžq:PUú¹ˆdY­ „=>E‰è^Ýú¥A¯»¶Ëøã·ÏÍ?þÖ²i{båO½îï§^süõçÚ/¿nÙ´ÍZûƒ^÷ÀÀ+Ž¿þÜ9wI —é¶Ÿ zÝßϽ ÛWgèP£ _£D¼`Ôb£Œ=€Y›U2ê Qª½Û¦PwD4@ @#@,Ö¼t;˜ÉÁ¯œk3¼D(±YN+d ¡` ÄÌQÞLeFDŽj3b¡, %§€Û#SÅ ‚HÌ©ÄF€3Ké€64¼³öì™X$H ̘©ì§ 'Ȫۥ}qCÑB :A*‹`à2IåÕ5Tf”V—CÀL’˜Ûç¢~J½nêÃÿ³÷æq’œÅ™ðó¾y¼‘•YUYU}TwÏ©[Hh0ˆË\¶lï®Á¬×ÆØ àc,°a-!d׿Æâ>,™ÅXl|~„¹%¡k$!©çꮞîêʪʪŒ¼Þ÷û£Fc­Bš0­éø£Ù™õëz晈ÈȈȈAŸ¨J„¶|P]p>à¾!¤&õ`˜…nqìóóìËß!„ ®«½Š¨Õd£)gfìfêVeXž'm enÚM(}£”+«¥&aSêR Y©ØÚ· ]& ²1<Ûš¯B\_ý®1âÙôì#ãçÜøû¶ ¾hŒøEù¸#ÓŸs¯ºúG‡í‹ú_L*ž?æÈôç¹¹êGÈÛþ+çîzñ¦}m|ÿ³£lÊÃ[ÂÒ¼3 O¨JaU3C R R¥(5pjlœ%ÈMgu@‘ ª³ 0÷IÔØ¬ª$’(ë“ö .4LŒäÔXæHÎ*¤ ‰z´‘K8:ʆ]^c 2Y–E4$wÄ0œŽ fu9 hÒ_F ð0 §Za`Gq6¦£Ô%¬‡²Å×rZ’ª@4o÷ëðö’„.‡-…–Bê#ÍIhvGH‡¤ê+¢ƒäO#R½EË0ŒpúççÅW}¸²à‘ðÑjY33V«eùT®´,!%² q®…@=”g<Âs<÷{w–{d)› ê¶¦Ôô¬[oN´L¤+Ò‚ÎÅ`NÍz7Ïróšî'ßö´g>X~~ïþîÇ€íÂî—Þöç>~þ+7ík#úŸ£´f·N„a½þ”§<éÒK.š›koÞ7嘕ÎþO¶œ$B¡Q81ª{$Äd=D ·…ˆ¢1‘ÄdÑ[ M¡™ €:„Oª„O“9ŒlÆt÷â+ö-‚½@¹#†[ålÈYŸ\À50#¨J8U¬QeÌ™¦L3À)@Ä0¡O¼_‡^•Œ!’œ¥TõÀJD- ŒæÚÛç¢NÜYóÚJ{¾¼Jª$jÀŒP­Ó¡v¹÷Ó°Z<„q<$Ñ!U2£h­ òóŠ+ÿÊó DR)á* ß—A |_Ú6``€45q\öºß×QÏ ‡ð+àSÅŽíîLK*%³¼´íC7¼qªÇ‰ÌXéV*Ò² ‘eE‘g¦ÈKdzu”[Fþ¯Oþµ4ÖÛŸùŒÄÏÿß5?)lOõk¤±®ºèU?H.øâç²¼}ôw~õéÏ+þþªŸ¶ßú³¿Æzﹿµi_Ëÿa¥»²/Ͳ÷¼ç½—\zù`0ø¿W}|óF¸)Ǭ´·ž@ˆÙLJ»²ÿÀ™é™½ðœW¼üe“·×|õk¿ñ²›n¾ÅóÄ'<îwÏ}ÉÏýìÓh­ßþŽwø£W.w:íÙÙœó¼WþÞyRÊ{}×½~_~é%oç{––—×:{\ùñO½ïºí¶Û›­æ¯þýßþ­ß<2H›ò°‘É|”¿`ž„ Ÿu¿cHT'"6™IÉӌ٬Gœ§¤" ¥Häh˜ ”&×çÞ>øMÎrpUج³+—À˜3ÍY WpGkÇ=Ñj—d \É(ȱÛÓÓáŽvTP¦93À˜„OS!UìÎ8/ŠÒIgyé˜T É­s\´›SŒœ³g: ¬(.¯ûê͸  =ÂŒˆºÏrfD™ U<’“n;vžÂk+ DkQØr¢aDŽˆÖÎpìðsÞ•Ÿ,!,[XB;R*%=‚r w¢?ÏûÀ‡9løòãÓ¾6œÿÙõûWù|c €Š÷ŸÙ˜w¾ûŠ‹.~Ósý×¾|ù›ÞþÎ÷\üÆËlÛ>ïe/ð’—½¼ÓYù«|àgæ©ß¹öúw¼ë=“€àmïx×/}óïwîk/øƒ7]öæ7^úfqþ+_~¸¢t?nÙ}ë|å_}ßð¾÷赯û“_xÆÓÿú“%-ù–ÿóÖ#†´)3Ù±óDR%„OΈ30ËI¼Î$RކäU§I;“4c(lTλÈ™u É2(…L3Fp[p ^ÁUm_aªNjïH¸Ûã¸ÀÎ9c¸ Y Œ8EXmâ!2»GÜïvº)²ªaX¥ö™`#¢Õ;CÕ@A•‡£u&dÑp­³´×kO58ãκét{ÌrÃp~šˆÚ³õÅÅ»ÀÌFµ§D”¬òêÀÝ–Å[®2›œÄ|{šàaÃ0ó±ÀÏo¾ãÓ°¥”ZYÚ%MÇ…"‹\Qdåz\vV Q ›DP+§B;ÓúÀb½›•¢´¥$V—N»¯üÌ3¾—Üb¬Gc“ز(ÊØÊXÁu,iŒJÚyiR G¹Ò‘Â@”E©_ûå¯Km=6iL)Ìpdöì—½ØÔû©2åòh°ýâ%oH°ý(x{îû¯:fy{îåïþìë︲¯ êŽ<’åù»ß}Å%—^þÂ<ÿ-—_:¹úSg?qï¾ýßúÚ—wîÜÑïN8åŒíÛ¶~ç›_°ýÄÓó,ûû¿ûìi§Ÿª\÷ðÜõè'ì?pà–¾333Ý鬜±ëì­[¶\÷íÿ˜|—eY—På¶[®o5›“«~ìOïÙ»ï[_ÿÊÎÛï ø mÊÃ,ò¯¯}Ô=›gïΠ"0”¢Ìf3"á³ÀJM¦ ‘›BÖz'«¼RƒÉš‰ÉIáÃŒÈkMz¾´¨i“SáÑqÆYNMŸã‚Ü‚œ €Ng‰û 烰òdã¤Rk€êDÁ4Cs·KG“‰Ô@´‘לTÙŒw´çxÄ ÉÃ5 <Žî'QÎ$\˜˜œÕ= -(3Bj˜3(çƒpj2n1y€›€£Þê±ÀÏù“·kÛ1¾/šMY¯ Ï“Ž²Gf9ú±îvÊõÕ<áÜÀr )²Ô8ÐO~ïÎÓ'_ú¶7\_5xå…»&Û¶ÞšAeaÉLYÒu¥ëIÇ…e„NÅx”wÇ}KTSÊqlc¦dÎò±Ff1¶ÂXœé<7BiÁÒB:JT|éÔ9LnyÁ©þñc;ÌÛ?}ö?n¿iw­^_8á„‹{¿þí¯&ÉèýÇØ·ÿ{þ Ž+ûÚ þg×y_8’<ÊáÎÙm[·¼áÂ×>¿´ÜpöžrøÌ¾ý&üÚW_üÆ?ý¹Ÿÿo–e=ò‘güÉë^û´§>@geÀÔT Àôô€åNçÞ(,-OðÜë3GiSný(a‹¹Ç@I6 J$ÉM!ˆ” ”HA‡³*B5äŒy6 R¤ Diºc¦aØÚÒY> )¥) ŸÍÈ¥ºGAî\çÀJè~çà]$+P"œš9Føq*Æ@»JÖj²V“~Ez$\W@מ²ªŽ z=ô:Ír[¢æÙwÜyÆ MËá«{÷íКºA*PÅ K)iY0…cJcûÆÒr,)%\ÇT‘Wì±ñ¸8lõÕë’GåzWú¦(¥00B—:-µÑ"“¦´­¼Èó4Í–@ùãÁ6áí­oøè“þ©ŽMÕ©6Õ;¥‘Ò¶W»ÑÂ̶õ¸{ñ«ÿÜ«x¦,÷î{ùÃ7îFÇ•}mPÿsä=³½(ºø’Ë>úWÿôg>;éü°0?·gï¾Ý7^;‰6î)/}ñ‹Îyþón¾e÷—¿òÕ‹ßxÙK^öŠ[oºÀÌÌôÒÒòÚZwffzm­ `®ýŸo •e©µ–R./ÿÀeòÕ{÷í¿Wå mÊÃí½ž¤ÇqÄ,Â* ê„úä¡„U\°cŠ  ÔÀ°ÃLë$šPÌ ê˜îƒëT'p?œž%ê@•H3‡. BÚ†µ:ÎÀqé0 êQ±¯GQ¡G¡×Šz«P€’T]€ÒlÊdج°ù5î­“S‰zË,ì¶g*¡Û€«£¸ÎV¢H† Äݾˆ¸RôˆíéYÎÍbt•¢Ãì»P•¶;5Ù¯e=dÐY‹ab Âöt (3àõŽÁ±ÀO¥a¤"éÒQR3NLšÇ‘®cÈ••)QõíFKözåhTº _»æ´ûN¾o°Ò]Ûõ¸'Ü´0ïV«–Ñ&Ï §&Ža„Ð’²\ˆ²4¥É´€´€ý ±5ncÊ |ð«8°·Xí!/„´¥`Š¢ÐZ]Š\k­!J×.½Š˜žq~ÔØ¾vÍiÿþùë?û7Ÿ¾ñÖït–öùÈ3·îܲ°°°²tðÆënt*nšÁ÷ƒZ­žŽG£1¿å¢÷ß]{ÞÉ·ã;6¨ÿ9Â@# /{Ó¾ðÿxñ%—ý×_øùIðÒ—¼è_ÑE—\zé%Y–üÚ׿ù—ï}ÿ§?u%€ßþŸÿŠóÎ<óŒC™œ»g³üú¯ýê_¼íïþË÷þÑk^ý®÷\à·Ÿ(âÙ±}Ûâž½_üÇ~ÚSŸ|ù[þüþñ¼ì¥/~íëþäu¯¿èmñÛ±ÿü/Þ~ÉþäÈ mÊÃLÂ:ajG(»à^ÁIÕ=6†SC`8t8·‰¬Òn…Qf!›"·à̆ÜO) Ö£ƒç†4¢‘ TQÄD~gÄ@‡—:ìTC¤,rçiX­1âŠ(s“-'¿.ŽöÒ½ ÖöHSàîòíh­CÞ˜kGa@Q$Û 'ÊKjÏ"°2d ĽÝû—á(R §ŽÜpž áÁ©€„`S…À!¦„Ù†¨@•è' ÂZy,ðcKcYPÊ8ÒXÐyN ŒP®!Oøø¨…¯ZÓ32Ï­~è„ Ü3RùÆ×v½á {´Æx¬G#Ç` `,‘è"7º,ËãRX„xÐØ\WxiÛFÀ¸¶”RHi «<¸†BÖ¥€eJË”Æ hW‰°aÏÏÙssv»m¾üÑaûè‡NøØ»ÿ&Ë2ƒÂ«T׆¯ùÆWÂÝá™g%,ìÝ{ÇÂÂö'n-ËÒU*‰ÇÃALDYš¿ëÒ|ãkçðÁœvÆ£©Ç?î±ç½ì¥“?ÿy¿qÑÅ—~ëÛßB<î±g¿áÂ×Mοæ_¥uyÕ§?óî¿|_{vö^óêó_qÞäÒÛßúg¯¾à_ð¢—nY˜Õù¯øØ•Ÿ¸0/þ_¿ãU¼÷½ÿCgýÔãZS­×üá«'K,¤My˜I”ƒ,R›1Ü’ª>8í¬öÈSàœ&!©N(eª. ]ƒì–D>à‘-#“±K†i´… ¬ âÁ4ì!…8匃œrØj@xe™xRôå˜Cª€ðÉG J€[D©8ø±mX¤4ºÔi!…´é*i´á–„U1¤„_ö–# P‡)^¸ëòË÷r*ÒIjŒÖŽ ""·¡5´6Æi=l–(ÑÚ!,[LMÙõº¥¼LZúàz©SmŒ00l9˜™µÎ8Ã=éDgªe!ÏÍph~Øþì-'\ý‰¢¨ÓYŒãÛOΊlqïë7uöVŸð˜ÇÿìùÙ^·×[;DZã¨4Mý¾†ö©Á;.þÀ…¾èáÁÛñf_Ôÿìz°=³›²)®gö«ïü%Žf Q!W 3 ð ×®7™™“!É̈á‡$¸JÈ r%çÕ¨¿Èƒ fÜÞ¢˜‰»}rQ¿ :Tù"PPÇÝ6 ¨é´çæp–ð¡?(¢õ@¢BM~…s8edp™!†³ b†;FV™ü{ª²ë üüÞ'Þ!l®+\Wضå:‘´mQj@–4Žƒ+Þ·óh”{öÒ¾ì¼;öìËû‘F i )!$„„Æ”%ÊZÀÄFžp«,MZ–ÒB…,¥dÕ·\Ç {åíw™ëwkËiÆÆhcÛFkJìz”³ë,5;kUTšjFý. NF¡;Ê =A­ZèS”H‡¤ÄCr ÔˆYtnO”µ §2ò™|"Ÿáª°zh*"¸‡É¬FÅè­/®ÑZÄÊ„‚ ¤1”è,§´v€ (äzŒ1ÇH"A¾M´Îœbe±$EÃATeak@X­Axív›‘ÜÅÎ2̘TÎÂ"e#RP¥jmñÆI€h8Bn‡MQ› eœŠPáxÈ sŒð³° t c „R:¶$%Ç‚1–”…IüðC L²)ïy×®'>ùæ4/«¾U†a„4Z#ÏE–!ËDQâ`ëFÂ+¤ÑR™FK*%½ ,ËØ°¦¦¥U5–'÷ÅýÅxl”2³³òÔSÝÓÏpçÚ¶WR¢( -¤Y¹¾^öÖõC…íƒÞùÒß<ïמ÷ü;nÚ½´ï.8ÒLæG17»µÝ̤Áh˜†ãO>í¦¯¤S d<΋ Âp6Ê8I«‰ÝÇ'¯øÛ÷¼ë—7:oÎÒqe_ÔÿU­gS6ecô£4CÈ ›QÌRàMR£„2÷"^‹¢$âQÔ‰‡˜¬æ"í@I"…T«ULGxh Ïö4² ޳{÷2 Göðk IDATW’á”ë3P uœF„ ÅÃ5¨€œ’ší0¨„Í1ö!ü°YŸ<ÍP•ÂZ»s`y™ˆ†ëíùjÔÚS œ¡¤Ã°Zï,¯øÚî»ØQ/jϵ(h­GÝuøV]äv´w)l5&+ÄÚr~J®¹³,dÙh²¶c²öG€+Ž~¦¦ÀŒ4“º”RZŽ-¤%5¤FHcÙ‚™‡\=ÚR)±° §¦QñJƒ<ÏM©…1VYfÇ'›‘&è,/ª„U§^µ\WèRsŽRŠŠ/Sf—­-oñÎb}`ZS8éD{ë6+¬[Ž#„0ÚhmŒ%§DXeþa0gî<èU+ÓÓsy©“Á¼dåz Udi4莓Aš¦§>òôÅýwæF ×rüJ#p«õpzvÛl™˜îpèÙêaÀ€ãʾ6¨ÿÙŒQ6å8èG‰ûÈ LÂÐ$Š0Ë8cÎvúÝ6)FС>5)‘RVÅÝ;½àÙäU ªhÁå\†µQ4`Ô ™ü´Óæõ¨£ÔÙö£Ä„•*Öâhm!%¨ZkO5à !Fµÿ‰R-'‡ÊÏyJGªJnA®e@n å‡Í™°:€¬Eƒpè\Á0¡ô('FF¹`Ç ¯!ë#HC׃[pf8w†òI…{xèKÓ1jµŽ~¸"²B i¹®p -)]%½*ýé]¯ýMsmÝšÒ¶S$œŽ]¶›eNQ¢„àì‡c“aSòX—yY!é×,ËŒp„°H Û”ÐN.CO„;œ™¶ÌвVµ›M›|H!Li²¼Ìó\ˆÂ¯`˼TŽ\m–Bê£Çvù›þ輋§¦§¤,ëÕæ 7­ôªt`§5Õœmµ=—´.œh­wóðÆn§;×Þ"ŒŒû±4[yìÙ‰úãñ o,ç=ú±Oúùš·ã;6¨ÿ™ÝŒQ6åá_è¤vàFë«Qwu73 "ä{^(ê,˜Gl £(çPjfÀMHzäW8<( »$D8; €Hv–úp€T³6c? @uà… A®µ| <'xP¥G>Ay=&¸Ù× ìh¹Óž9³Éu¢ás é/.wÉä;;á–Yô¢·tVû,2r]&€lzUè¢3\#Ø!\«ÀÌڭ¸™ž<² 7h›cŸ¯ï•ã‘(K#mX„V³mq\XR”ÌâG¤!ssÖÔ´ö}eÌY¼º> 2Çñª~#BcÔx,~(¶ÁYf¼Š”¥Úh À¸ ¶Ú#´aI éZõ*\®m+Ç–FeÑïË|gͰ˜j嵚6T­n%Œ£Ç`iy߀“…¹íÓós–mIéî˜_˜ª·£Qä:žR–.äc}pyußò¢´M¨Å[¿wÛ7Ÿ°ó4ÏuáX§œ¬,ÍØ¶XïF£þh£óFÎñe_ÔÿlæQ6åxhF‘<PUPPÅúˆ·kS bô×¹.h¾Ñžoh7mæ>ßÞcÎx¤9çI}42 2 ÃD+«¨âÊÄA0ìÎþ•°fàÁ(Z“DCA«³v)Ùžò&9N¢Å•V)TŠ9Àa“P­cu–ä6»k“)<*–îØ%ÛÝ~”cG£>çcN © íJ^ïs<&—¨Y§ªËiÁë½vÕÀa³AÊRÔt§;h»a„õhØ [óátƒÍilx,ðsö£¯/÷î×ʶ¦fäömh6JËm 5,yïåæÛ¿ò/_ùО7¸Žwê‰OxöÏÿA½6s_8ÿ¢Cƒ†ßzÑußWCN<ÉqÝmtÞ:ß\>®ìkƒúŸ£ž0ûƒäð ÀM9¹Ï›¬t:Cængì*í©˜Ñâî=;N<1"`Ðeás²ånÉ9O&ã†È\€üЖD’„3:4‚Zø 6ù%€Å%›z7 ·àÑ¡7©aŸ†-@·@ư3¢zûä6Ç I 6QÞC ¨* Âöø^ö¼?ð¿â¶4Ûwœ”¦ÜëõÞðŠËÇ\\þÞ×Õµ;vßšåÅt{Ö󪘲©ÞùØ»?÷üß}æÆåmk}긲¯êTŒÒšÝÚ{þI÷Žâ‚‹ª5œ•TU4L‘ŽÐ¨¶sC¹çî4ƒ½Ò6¸Y´žqÚ…ª’+‘Ù¡¢Nw…k¦Ý¨QµÅIcŒ¬H÷Ž~¢½{O;aáQ% ¤…²Ð #ËPj!…òûzÎ;ç}‡æ‰ÏÿÇ/½ïž¹“”5ù¾ò½=+e^óµÛ—»¹rý­Ûæªc —Éu7¨ÕÕýc“R:¶q,áH¤™à<%sÛ­Eš˜xJ¦™d­*«5S „X–ƒ¢0eiòܹ±$ÿÏŸºçPÚ‰zl\Þžz’u\Ù×õ?›µžc4@™„&‡Åó¹Ï}®µÿYeñ” kÓ¢no÷Á%ò) ›aµ€Ë„‹ð(p¸ÐacšœÐ$§äØ''áx€D£&áÉKr"E36@?’ÑX@©Za§¤…ÕZ4ZzGu;ù•(!7apVAPeÌÆÐ¨äL#-ÚÍYÕhù©®Œ†ƒ0§&ºáf¢€£õ¨áÂl{¶ÊJ´< ›uv-Ž50ŒÒ~t`ÓRžVz 3D…Z1¹5Eg=ê¬9][¼ÓОj„3Ûy¸ÒY=&øùÄ­]OùWs\*r1NôxŒ¢”R åÊûù/βäKßøÄÉ'<ä†oG#µr0[í-sÓ Ó¾ë«ÜXÙ óÚ-? ›ë±…〤„ÖèÌ`hú‘îõнûáy¯ˆ°.g¦¬¹yÇ $:KMžNÍh¤£~ÙYÉ£~>çãQ:ì›ms"lŒáGƒ €.ô™gœåE½Ñt£ƒÕ°ûqÖÏ®»õ[[ÛÛŠt¬ LÉ…-[ƒjÀãÜõm+I2è Ëëû—ÿí@ý›õgüâ/HKlhÞ¢4;®ìkƒúŸÍåX,ñÜ+@9œP¹úê«7Ô#Gyç’ —*h·gyçiЃÐw9—dÏD­½1ܰjˆéð|! “dÖ$D{F‘urÁÀ$%ËÌDº€KpUÛÎ ·€ë#Q«ºÂé ¢ÏqŒÉ•aӃ׀I"ÁœÅ<„e‡‡žT4C#ÎK>už¦fB  ü¨î‘+9«ðÒ&@n@b‘’Q´ÝæœiNc†æ8YÌAŽnWÃp>$·™¦f=t©cûš=&ø)÷QgÖ SÇœÚQ½¾Žc“dFúþôK“"Nà7ÏÑGîUßy1ʵî(ÍoÙzÒ‰s'lm4[Ê8ö`dbåűS¦£ûÇæW,ŸdàK¿"D 2ÕšMdl6ãž(×J#´ã˜°îηíÉa¿Lâ¢ÈtQ +E^i–ç™d:Â=¦¿&kUW:òh°8é´-0èuVûëCNFƒþØ‘Ó=îúÒ7þíwžsnά¥Rþùï¾õ†ÝAXµ•­*43Ûp×÷î„Gïz¼rÝ[n½ù–;oÜ2»}ד³¡y;ÞìkƒúŸ£tWö5îî“øÖ·¾u¸Üóÿ|ècgOn´›·Ò#PÌ¡)ÏxÎsžફ®Ú¤åè%ê á<’QL¢B¾æ‘Œân‡%™; *$Œâd8…ÕÆV”$¤¤)s)"iBÌB 6<`Q#3`Q#7¢>QàI–”ÅNIè3é>Š*§ˆî¼ƒIp7…ÒQ0€ª 3äZp)Ñ¥a>fshÄd;X ªÛ®‚RÉI‚\„nG·-uâ„\6gphÎô vÁÌ£© E;â5d"l5 NþT#§²û{‹Â€Âj›¯÷wïä”Q›:øÑý_ë ]ä™"ŽõjWöz&ŽÑçF´š?0òÖ‹®ãtôï_»òã{á+~çƒG¦$½¡Øº=âcwž°½Z¯R<¶zë&ég£¾Î™dYÜ?¶™Q ¤&MM¥"\GÔªb~Þhmù§îÑO9Û!@/Z[]_ß±õäBçI–ܵoñ?nüj£]»qykŸp|Ù×õ?úÝãIäÑšÝz¯6”Ã)‡V6SŽ@žóœç\uá+žó†·oF'¡p:l7‘r¸;f€c&^Ûµ9£0ЀÇq03§¸Ÿ²elDuB7e€aN!sRH™•jo™Å(a#à!G( \¸$%)Ÿ9Ɉ’-XTCåÂ΢±Çq—á…®E´§·sZ„îc_!OqÂŒ„ësœ•wÈ®„Õ:R‹3õ×£A— &/ärV†ŽE¾Møà*œ÷™5«‘Æv̵yØâd±{K¨|ªq|Lðsûí¢9+¦r+ÉôJ'íõd’ÈñHpn 4qòPË‘òî§Ïù§/¿ÿˆ•da‹õ”'ÕN=¥È;î(®¿>ݷǤ\”2«8EàýlZ 1o ˆ<×£¾'\W֪ز• êk¢Û5Ý.ú‘ˆGe^è$1²„6–„å a!l#µ6RJ%`€Ô²ä 6——;««‡ÇÛw×z×]ÿͯ_w͹ç¼êQx´W«h) f¯Ì;me_sÓ7NØqêãé©i±À¯Ö¦Â)Çq q¶­°õˆ“OÏó|Có>åø²¯ ê6k=Ç–\uá+&?ßüæ7_pÁ‡ÏîsŸ{æ3Ÿù¬g=k3ì;’…ÓΞ€ˆÜq´ÖÒò´ª·¸ÔÁ`È~÷G¨XTpšGS®¹”PàÜ {Î.1 bc)³F:ä!¢au™|´§ÛDˆæQA¶D8żÖZa38„d\‰²ƒ;sší*.€°>Çý(êi^[zqèè(—á°¶æ;w1'$:íY¢Š• }j!Sö!å(fÎ9 êä1¯E>Hrjˆ©a,¦éŽ©0Tè S"j×ç¢ÎRgßAÔêÇ?ß½ÝmvÅÔJ1ÎM?’&³ËRä,ÓÂ*€qü}b”+ÿæõOò‹¦[Ûâqï_¯ùÈŽ-gqÏìYgU¶móâXï¾-ùÎwòÛw‹ÑÈ‚åX–P®¸lã!çq9?ïùU›¹ŒcCªt!%j5Ø6*ººkr8,ò¼,3RÃÀÛXÒ”Z›B!l­!Læ¥%ò©)묳èh°h4§V<<Þþ×_sÝßú¥§ÿvk6Չ݇000ægþû£¯|ëß|g÷w;½}k«ËwÜ´ÀÚàà}çg\lhÞxWöµAýÏfŒr,Ê›?ÿÕ{(ÏzÖ³—6åAK½Éé˜MB¯=NM4LÂùóñ˜- &E` µú¯Ÿ¢˜9eBŸ¨Nb¡3X£‘ïÑdqª2H%¥j³Ì{Âê ¨ÉfDÔò¹Ÿ°î†­&>&ˆ¨q:¤F=òÁyL¶M^H@'ê î1 ©e§D1:Û¨¶·ÌAzP.Ò JR5Œ9NvÌŸÔ)»…€H)Ĉ¸O)1·êdR Â6…Ìý¨ÐH%í°×ï ™|ì8ó”°Ödchnæ4Gì¾ö¶cŸ,³WеõÌ@ t¤Ñ¥.í¼4¹E.¦g¯]]ù©{¾~|Æ)Oûȧ_ÓY½£âÕqò“^ðko¾Ÿ†•Ã÷Š]^yá®_úå{âO»Q_ßugúík“;îãØ²mÇ*µÔÚî[6IT®íO«­JPµ§$¯$Ï8¶±$„„m#`ŒBÚŽ‘f¦Ìe„.µ€–ÐZÃ2Ò¶…#t!m•ÍÍ;33G…mzöÚÕ•g_ö¿÷oÿ•oü€O]ý±O]ý± ï¾ì£œÞê:€Ï8eçÖÇãì¿ôÄÉÕ·_q9€ßÿÝÿ}ÏÁùç_øÂ ÍÛîÅã˾6ªÿy°1Êá¹÷nC¹ûÌÙgŸ}ϪЦшQ£Ð=¾ À#¸²&ª \Eí‚Æa ¡Gœ0WkdJª4XÁ)s £(bdƒì>Å)“Ö}òHIÍÊ Š&IÊʺÑbÿŽpj–ãþ¡¥\©€ð*ssH ˜˜sY ] !ˆBT)T pÊH:ƒ§ ”Knõá Rë"ƒ„RJa[ -ÀÒÚ½w7ôÏxÔÏøAM*¼¶Z³‹\ܶWß°{tÇ>=.*¶riöP”:äÇÖÅ()¬ÕÂvmÛy–çRpI“2¶ !LYB Fò„]O,5ñÐŒbirˆTš¢0®Ž¥*NµfŽ€{Ž·ÿßç]Ôªyìã&ãí»KË®ëfY¶ÞY}ý¹—d¹>ý”Gp–|ôŸQ~eß]‹këÇYr¯Áù·¶<¾ìk£úŸ£ü?óQÞö\|¿ù(›ÑÉQ†)xƒò6åÁÕzÈ"ׇ#pêœ&dR’u.¤}Ûì1g{(8…Ó1³ J‰³2Æz“Ó.rEØM9F!IÖ „­°ÓY"H†&ȰZ#WPÊ€×éíƒ#B%C·‰šŠ…õ©Åþm­€‘_€Â(écEÁ‰€¦êmRíF-œšæÑ08ŽB[¢Q§‘ë‡.±r&~ H¹ªÀÕgÉ¡\¯QªXda5„ô æXàÇmŒ4“9¢%¤-5 X°aŒe T)Þ@wJd¡È487œ¦$€Š šÛá<ìMÎï˜}Ô¡–1òÆn+lºt8JH Z[ k³5ª‚Œ¤@ÐÀn•¡ €æ¶ì0%yD~5"‹Ó1g“—l Ê2ª5ébF‚HGÈ5 "2³ —S¦O§”ÁÌ YQR†µ2Ê#€18È!Q‡NàË w»œfa­^€þåB ÒHGÚBBÒ6–6ÐÂÇèÒ ý«Çâ÷Κßy½ÎmäR¹¾çYÂrm¡‹Â˜‘¥-„@ù€°a )ŒBJiÙZH-¤4Ê2Ê¥–Ãõ2Í –åÀSR9‚\Ô«¢^·fgäÌ´5;“~ýë|×ÈŒuÄÑc[^:@¯×EÝFunûŽišÞw¼}i¤´íÕntÏÁùÍF³æ‡¶ãºvZ­Ö!{½>ðaûIñF9鸲¯ ê\åžóQÉÇÎÞ,ôüèŠ>›¹“‡DÈRŠÁ.!MW§J­­s261§9c²Ô¡(Ž.Á4‰û‚Æ-.†dÇ5Î9ê2R ¦Â b¡à2Gë\8† ÂÀƒ/02Ѓhd8g¤†¯=? Ö5²eÃN\ ÓÒíÆöwÝr×ô\³âÕî;Þ~eéà×ÝèTÜ4ûÏÁù£1WëuéÈùs‹7Üž¦µW]xîÜÖÛŠÂ9Jl?YÞÂ$;®ìkƒúŸ]ëÙ¼eþø#•M9ZI‹hm #ÃÃ> €tÈ¡…¼Ï©aôPЦ@…Á'@`ÃEWÈ1pj᡹BÙ$-IAîOì†Ç˜ù‚ Å Ù1†|AEaÖÚ‹7üÇä[ÂVíàÿgïM£$É®2Áï¾gË5wss ÷ÈܳJ¥Jm-h$4‚jÔ‚ž4‹hº‡½©‡M€¥µ4ÐÃ@‹ÄÐ „h }fšÃ.DI $´•TUY¹‡Çæaîn˵gfïͨRWk)UUf–jÉ›çø9ùâÄ_Ü{ý³ûî»ÏÏüš… ’ñ õV8"Ž ÁÔ ⺕0Y,EÐ2<1%€l¹)µ€H‰l’2»/€c'BŽImø zRu €Ã8EÇD"Í£Ÿþ 1µ2M×užµÚ9(t¡ßÅC/d¿\xå²qpÎÒÑ]ܼR™òÒ[oùþ½û¦§zï¦cGîØÞ~ €¯úÚwu›äÔï“ÔÎ4©éAb#g5àyJ÷ØõcŠz†NyN)(…qªüˆimM;ê;ª×Öõ0A¿Gah‡š±…=„õí·ÓÅ»©©º•1ŽŸ0Qß{¨Ø>ø¾'ß|ó™rÙô}¼=ÿ—~ê»Û»Æ\vh£Þ`w¹ýöwþUzGúôÏø Ò8þî#GNœºñX×uAVy¹\äÌlêf¹³0Î|Ï­ßþQÞ®Û§7¬¦O¨øzŒæŸëý(×í Ð%Y¾”ýŽÅ! ajÉ+ñji~ÄÈá· RÈ\raŸ9˜ %Ÿg–”N†““Gå@æc„z†DæLÈò Cv*³›ÌÌ $#¦ƒ9@d.­“ÙædrR €ZPCÇû,ûÕ$ŽX±,³lç,Úðg$ÙØÔ¨/A‘†1‡ ¤˜ïK.p%(NHî²Ý™äKćR^]I’ºd@ê6±€>: IDAT=´†º’º ûLÈL™½'=õÔG?ã±­kkŒ2m꥔·2ô×Ö½p ³]·7íæykŒ%ÂÑÃï»xùáË”—ÞzË=g/½ðK‚5û·ïÒÙŽyñÿúþÁÀ¬¯ c(dˆ@j[×ÎÔ0F=xlY íQÔ£8¡Áñ€Ò”’„z1#b•$4Ò ¦ˆ¡uÛY»³ÛZ‹8V+#ïôiŠúÿÛp¥ º |ÈØþåלß8ª?Ž·¯ûÙWÿÊtzyQæ§NÜdZsöü™Ùö¶÷wžýYÏú¢úEû{ûû»Ûyžû~X×õb>·°}Nâ8~ÕϾâcx{ØØ>í¼ew^|BÅ×c5ÿ\¡F9¸>æú%2WÝî´ç€á®¬\ëõi››è)éÐäY]±rÀìT–›4JÞ¡Ìà(ËJ„*Ë;`–V™h˜úi<„Ôrf9Ý?ìd>Ï2á>s<àhŽäûi03ŸæŠ© ™ŸqÀ²i² ä-:¸3ÈeZ×031>ÏH3B Í–È+4~…ÀÓ“í)¯Ç™qæR(Ø}Y s**G¨%ûRvnÊoÿöÇàÿòµE=Ïú«£±ïù“ÕuÛv½(üÛ;>\˜òðê¡õÉáÅl±5Ý^,³ª_¿ü'þýã‰7äO¬øzŒæŸ+Ò(ãõcÎèÞ×ë2å* ”›Þ{â¾ý„rðZ¯Ì×QˆÁ!‡ŒŸIŒÙŽO\P¶—ɼ:¹6f°°¤«éÉ›OÞñþm&‘lw`’Tt0^šö0sšj‘üìæ–ÈôäÉ ³šr®bs<„_À¬ˆi¦ËÝt0äqÂ}'…ÏD“ K!Y^K¶+mÎqÂÌq0Ÿî“ÁˆcÇkìûÒ4R×029>ï8bœ-–Y¾ÅàÉá¡Ì3!Õ00SÄ>Ò›n[œïÂSéÆ)™´¸t6=u!Ú¤á "™p˜  üıS¥s–Ú#:˜ËW•¶#ÛvΑ¤*`jZ×4ÖA=ëóî¾ýí·xJ奷Þà3>ë÷?ã–þ3?+¾ùÉÑÚ8¸á}ä0U•/¢E¼Ú´UÕ}ó¿½À­·½«¬\ž£È2¶ GZÃY×¶$bóZÃv0µ‹Ø…¶ª»ù¼n×øP~çGŠ¢°IªÏžÿØÊ¢+KWUöc°ýô<û9ïŽ"õ xû/{É«ï?:¶XÖ‹eyãM§?ðþ÷|t(mÓš_úÍŸ}¼}2lBÞÒñÚ*¾£ùçÄÃÖ(÷  ».S®bùäþâcÞÞôÞ÷—×zý㤎r÷–ˆJ9€Ìr©–<ŒP×ÒÚli#ó: «Ñ铇9îKÓd|&«TÊÜfË¥8{rm…£1 Ìñg>ã(B вzÎ(déMëv¶ˆ3& †Ùr&;u¶;ç¨?9´Î}N'È÷$Ygϰ·&Õ–Ô  Ƴ/E0â•€y€Ýy63‚9F¦FÀ²¨y˜6…CDÙrWšŽóšŸûÌËî<+LÚ+Óä”,k,k, ›`«l› w"  ü\¼hëZ5(E"]–ª(-ZCˆ }²¡ê¬ó=÷¼/¹Û÷ݾ햃¿õ'+ÒÀ±75§ô;Þn._.ï¼9:u*Z;ı|åiŠúð|ëyö?ÿÊßeY{Û­Ïð¿üË·/sý0°u-IÛ9)Ýrî¶6¯ölظçß-–Ít«žn[—Ë|) ¡ª?56À™¦5óno×îíÒ¶·ÿåç|γߣˆï¡ðöÃ̼úe?›-öÊjQ×õÍÏxÊÙ‹gg_ôâç¾úÁóö ±=:y“§¸'T|=FóÏõ~”GoùäÓ¾þqc“ã73J 4ˆ¦ýÌt²]2Qj‘BŸ7ÝÙ”†Ò°—Ž“t}#¤)aêÔ²K3„átûîé¥2Mú“S-r/[^8ý´›®c ^γÝ}'8OÏOAC”ª˜×ú²¬’yÅGyzq'[ì`Ü€™'Œ»à°õ‹,wwz´–Æ(âˆOž^g¨+Jû‘;d¶[^¸Ç_]ÓIâqDkßWÖR×RYÒÞžû²ñç{»Þ2œó66ÛiEä:GÖt¶îZØÚƒ1¦YTòð°mo©ûcûÇÏú_oß}ÆžùœïºÞ>Û£“7ÉŸXñõÍ?×5Êuòø·?û³?NWW'«Gxˆ™Ã8îûi¼.ËÝtdfŸ'ÎÁ;®û…>`iר¶¬PVèZ­µ~ê3ÎpÔthÞûΧßð™·+)¬í«Èyʧ.pŠœ¶|Û´ÝSyéÈ3Zu½^Àaì¬_KX–ábæyøû?óSvýÕ¤øç/½íJ°Eìs„¶¶dZ(i® ¶Õc_¿{á WˆíñvbüÅçöþäÑÆ›iøsž™þô{Þ0`ú®ç~×!¾»ùçºF¹n{îsŸ'Á½gØ+Œ@̣ϓ- {qº‘"ŸM¥õ9h„uÊ †ïyÿ‡Æ ‚GØWðƒáÉð©R׆ŒQv¨‚OÚls:9üd1Y¶»].î¨Ï2ûc„àdÈ §£~ê¥`H ±óél'­ ®`21žäK8`'ozªä•˜<¬OâHŒ`8œÄéto3“ùˆƒ˜ƒ˜CÔ;ý¢&Õ\Èñ¢ÎPà 9>fÕì§cÂÆ:ÏdâƒÃK9½pŸF~~æï~íК¦¶&_Y÷Â/ŒÆô3?3#€4¼|¹¶qT×Öµ®í¬íl'ªéP5ÚÔ¶n[g;O©¦õ:Ûyºã™Î#rZ“òµ:¸,·vÕÖ÷I›¶íö3g=Ïïu°]QÕ‘¿aQ„ËyôÛ?ùÓÞüAï³Oô=¯wO³þ‹ÿá'Åų¾îG®)º*ØVnþçÅ-ÜÊß÷Woø‡ÅÞo_9¶«ÅÛ±•/q*´J_Ñß|ûÙÍ·=xËËðô ½Ck*Œîõ·7þÃÏÆô¥Ão¼Æ×c=ÿ¬?l²·uá¾nÙƒf\?àsµìmïxæ?ÿÜwüë§kýcÞ‚Zfó,/„ LƒÆdE>½pæÞÀ`æ `f>dÓdˆÓ8•0bPV閭Ź,oÓ„'“PWÓéå,MVçrnkÂ6•F€é¼JCJãTjÍjÎD'O=™{÷Þ )bPf*H¤Ý† 8ŽÒ(—Êî%ûí¼‘ÖTö·.ûËæŽ]~áã/¾ùçΧ/xγþâí3Û¾øŠäþå¾ÎÙë“Ç®ÂvÏÛÞñÌ›¾ýwozï‰;o9wçë^t î¼åîw<øZ¯Øÿþ›¾ük¾åO^óœÉÆzšÜ ²5=?^¸¯¥i43÷’¼ ÕLfM:bбŠðJʾåQ6»”íellWÈÛzü¼¶í,ÁXëHŵm:; •öÈɹÍß}äy üv‘Œ¿=½úþÇG|=nòÏÍÿûïýɾåy_ö5)}ëÒÙoû®ïûå“I“ëåZÈ”û ˆ>E|-Ö?>4Ê»ßòõ ¥˜²êsèIÝåbú3ì'Ìɳ¼€D\º:¼·W+ Ó‘Ïá8[Χ—/s%œŽ˜YܽÏ%™CÚ‹séd ³‚G}/]=9;ÝÛOc>»ŸœL¦y3YI(†±ÓÙ>ƒ&'O2!«Œ 3³lo?úÙÅ ÒZŽíA`ôî}ìªCéR^›‹YP¦a˜nL¤ìeó{XmÀÍà€Ä8Ž™ Ÿ²¦Jã>ûG¬ú÷=Ã%™d$?_ñs¯S;ò]Û¹®…êüI‚§‚Ï{Öà©O |¶Òºý™=Wsçå…­jswà9å[ê¬-ÚÆt Ý@;G=?ˆTÛ¹¶&²Ö¡q< k-ù”FÓÖµº <å¹ î€V7u×v­«Gä”wû¯½ÀmÐ,;¯&O¹é†A¼R›zsk{¹,zý¨…]×4åösÒ&,7Þøâï|õ#†ÒïèTØtÖYËQD„®m©¥ë,3‡aà{J5ó6û•GÛ‘á?m[ªËR™©ªNùñ긗 [ëL× z}ß ˆ4Áž›¾åÃfòìä¡úÛ«>ï%ÝøzœåŸgýÐ[?^£xu—çº]-»ÿ85¼î™w¾îE\Þ¸Öë'¶Ìa {™„ÆÉn&¦’ œ½ç.&Åã1£ôR?™Šà qÆ“j6=cAK¡ ¦"f†OBÁÔ"ÈÄJk3ì™Ê%›ƒÞË.ÍD5’lÀALÄè¤!É;æØyx²ÈÄ8qBJýb›ª˜}Ÿ)”|Ž>å.€tœ‚úP ƒá-ØK‘D1\%‹ZdAóäÄ3¥1ÑÁ^²ÀÀX™Η¨› $yê!ƒ8žÃ§GŒŸõÚ߀ÁYε­±j¯q¥4M-ÙÜ®Œiof.\¬§›]¹°ž¢£«Ù=gWŒÖJ[íw¡¶Î(§5|M:l«šõjà5ªöèFQç:åàœo­oU Hµ¶NÁ5­ó-à×|оön ã„—w¶ûEG‰ï©®u»û˨ªm×µKºÛ¦A|ñ=Ù‘Aý'?ÿÃ_ð¯y°ÕƒGί¥)‹ÂSÔ6íº¶mʲ̋¢®kEªßï¥++s˜|«ßÍ1lGV¾Ô:tMYÏ÷Û2œ5U™WÕŒó•C˪Œ‚Žý@iïøÆ×kl°¨›ìC÷·[ßþÓ¿øµÿé±_¿üó¬«Õ3{½ˆre þç9°, ®õúÇeÓítСQ© ¹ï²"B±³ˆÝäÄ*7”-T:)€Ãò¸”-çâ S€ ‚i„|4ûYÆ2áÉ:ŒÀœõÅæh$ [îb¯?‰ ˆj•Ñ–˜ÃJ\‘&ì*aìe¹†©9`i”˜…É‚Ža³¼F]CfãÈ.ivE3¥‡nâA–•ÇQŠT‚@eFd¹ Š8fæÀÁ0’¦Ne![}˜FjÅa!¦¸GŒŸ¯øÅ×+h \g\«ù‚€ºÆ7†:Û”‹îê/n6AеÒZkûIpø¯)Ðíájºcî¾+´ä@ÖÐXÝ9嬑²J;_)åyÎjXKNYXç,‘¢ζ@³>9 ªßñ†Ÿð£ï6¡êõl¯%r¦2¶kjÓæEµ(ÄÔ¶±.ô}¸ë{— ¾œw‡ÆÃY¹»ýÛ?ýÃßóÙ7‡_ð·^#lçæÿÂ85 ¬`¹,S“³Y¶_•eY–[Û;›Ó-­ÔáëãQÓv‡VWýabƒ>…ßñ—o~7ªßºvØŽŽ^¥ꌔE^,s[ÏמV)òEžåûýÑ è…v{4ô"ë”>>ùêsðWçwÿàZ`ƒó +ÚiÒÓßnûó—MwÌ­_ýƒ•øz¼æŸ‡y®çcJ)×íº=šm²qJòÅts6-ÏHãÁ,'“µÉÑ#wÜs÷du…#f%ÕÇC±3ö«8x<ˆ8¢qâj˜ZÌ Éäs˜Zæ{R´ì) ”Öû ¥ƒU ª˜ ÀdqϱژîmI½ä°@KHÎkk@x°[,¨P#[ÎQ–èeLàx˜2MŽmpz @\%&ÁŠˆYJ^Â89|‹Fñ(–|‘å9|ÊŠ®õ`ºÏiÄÌ“°Ó@ Œ½Öü|çoý¡#«¨u¤lÛ‚ÚÀï"Ö£ÄKìíÛ,³Uc±²GA€^¨ÇcoíˆwxC÷|´µb«zµ;|bï™CÖZr€Î)¨ÖukMG΢†§ƒ Ð>YEè”rÊuÖZh&²Áv–¬u¤œ&ë½ý7oûKã3wîöõpãèZ%¦uµi6/ï*êLí<í|í)å|Û­Ó^Ìóù°7Pʳ° .´ƒv¾õÙ_þêmÏùúÛ®.¶{f/Èò:/¶‚h ¹ð½º*KØ®1u–e‹lwwïòtk¶ŸV†kk‡”Òazžï¬í¬R:¢þQ}ǵÀv8ùDÙ¶#­­Ã¢¨·v«¶nBV==Ï®Ç^¥ªå¼Þß×þ‘~)¥œ)Ò|lõ˯:6ç(¼*þöƒ¿ñŠŸùª[åñõøÎ?S£|‚>ÛëE”ëöh5qE:Y?=²ïËÙs[’/Î^žŸ€œ-w¯?ßò뿦|¥5”"Ï·Ù8Á`诎½Cc?MTU¹ š;>ÒlNmÛ:åȃö=G֢̩Ѩk»_˜ù²m}äxæ{úü}ëÀj 9çZXÓµ~i\´»Ógnl|À:å:ß#çyd ­‚vN·ÎÁþÍ^ à]ôOÚö.öSEº¬jëŠ^Ô‹¢`cc%›-­k[ÓT’úyQÏ÷}Ÿ@»Ù,âÐÓÁ²”ªiVGã…ŠùC;ß÷C·~ÅÓðù/¾õ±yÚ#«?%¶;¶¿´³?Ïï¹çl?NʪŽãž§ÉˆìÍfE^ŒÇ+7Üxêð‘ÃMÓœ¿pÁÂ#G¦éPkO)pÖ)Ïs:¶+ßý¶_}ªëSb{¼M†Ï7ÕóÊuÝþÅé`œpÚã¾øÔÈZgšF£LCÔE¤Qä+íêªZ´Aä{¡Öž"­HyÇÖ¾òâýíùÝ·^9oVY8O)}ýí%¿ùjßÓÿáó¿åÑ_ûüóð5ÊõRÊ5íœ=è9°;_÷¢>Ô}­×?æbb y€WÓtu*ɶ>4Ý«‘©-‡*]xaWHAb©—Rk°Ùb"à,@%Ôì3‡RU(™/p¡Ô53Ã<ˆaòt|DL“34„EºrHD`<ɪ,Ì8H9 Ó$2³Ì…™Ä9&B"Ù¬›¡¦Ô\˜b˜ŽCâ4ŸÒ/*eW‹«³ù=ÙN›]J¤y^± ‡ÂÁ.Ž`p-øùÚŸ-qŒ °Q’D­ŒÔÚš7ZуŠcEÊÓè7QÚ÷+µµƒ¢v•¸Îv–T¯çÙ¾nmWU0%"/X=Ü‹{ˆ>ã¾sÑï½µôt§´U¡o¡œm[‡¶uÖ@Ó6¡öuà‘²„d#íú¡úý_x%€7ž]ç~O«íµtc˜ vËjY5Icº®ëlW"•1„¨xÚzUáiU,L¶X´ RšYAPÔÄ~4]ò=u±õwú¯~ó6Ÿû ?úɰÕhµ¶€íû/˜Ïm;‡£££ÍÙ~–õú=­@„ýl^Vu:Z=qã£tPäKkí M´/ðßó4Ýw¢¡išù"/ :þ†O‰íSòvxø|(MÊ+¥Þ™-×ljô‹¦k²år^5^ 5Ã0â­l¨•Óžt×RcZ‹FYßó}ÏS¤ÎéàØú¿ºÞ\KyëˆÈ‹®‰¿½iþ;ÎÑ¿I_ü良'Hþ¹ùjÕQ®Û5(ŸRF\ëõ‡:Jž!HA,&‡©Å8‘}ŽO)[”Ó³°HW×ÒAzvçÌ„YЩs?M”›‰0À$Ùì; ”f!U‘Y§¤ý(+*ŽÖsæ51Žë:[ÎYÜts',³å^ºšKUL A}T{p ê3UKp,Ù.¢ZÀLkÜ/á˜]‘FˆSRvÁâ`ýtqoÈ)g—·¦Ó-É+¡aºRr8F¿Æ0’)Ô0 RLV8D‡1ŒËÌfM"µ (wWŸïÿÓ×')´FÄÔi<Ökkz<ÖýX…Òš”‚1ÈK„aªžöÔÈ‚»Îtç/™Z\<Æ«á¡õ`8rRYU©@ù†mh±€Ôn¶×˜ÆZSõ~†Êë÷[m[ã¬k\«ó9´­ È×:OÓ`è÷ô›·¾Àë?xd¿].=mbîZÛl^ÙÛ÷¶fû¦6Jk­©%k;Іªµv™¥‰áŠrhº°55ù­kuºÒ[I]ƒõ½½³“-ͯÜŒWWÞñë?öÏþ·ù„ØŠªuŸ Û¦Ï_ÌguÓŽMV7ކýáyùÁ÷½×:×Bé šÜx4N‡Êv·wM•'ƒÁÑã§<ß7m½?Ÿ÷ûq¿ß÷ÊÛ~øóÓ$èP+18{qÀäèøôÑÓgÏ|$[lOšš| ÷\¶½©–¢ö†O³Ô*e¾÷Îô=›É.»€ÃRÒd#M#YUe[ U%Rs2ã`œ†É0+ÓÝ&[î2ÅTš¬¥H‘péj$¹€ý%ÇCöÖ ç™C §³s B_3õòH¶ÜåX1²å.=L4Ýœf»Û'“C¡0ÛúPVÒd¤ãtzy)¦’º¥c¥²i”¦kxó«ÂÏþÑoEB³ C B0S¿¯â˜ú}¤5¨käy7_ØùÜfûn¹D¿ç=õfÿ䉠kí6½ñ²|±œÍöòeÇáð×h?„íª<[ÌvBß‹úýª*çûûËù¼* #UYäR ¾ïà¬uÚÓÚ¹0ðúý~?ŽïÝþ'åûˆÂ“A41³ï{åÙÿ”ØŽ¥/€ò ”ÃGUÉGU œ³®ë:)›|Þ–\§ÃP÷‡ðY–¶*œ³ Ni‚¦Ú¹Emʶў…sqÃ~臊4~@Dtaú–Àúêï”O¯¿½ùe?òHÆ×3ÿ|á>ônŸpûà!=…_™ÝIòÆo=,¦ÏJš¬®ˆ‰ÐtìÓÙ3žînË"ž¬©ÉÉõ4ŠD$[Î9NàJLà„9X '³â >aB4sqND y–wÌ E2ÉÇ ];žmŸŸînKÑ¥ã•4æ4ÖÌ <’¹Â‰]„!eY5ÝÜšîíO6‚+çç…?ûK¡G"ê!ITœÐ`  űêõ(bê…äTVØœÚóšéV—ç®,a„Nðžò¤0i С5bæ–¹ÉëÎ Y³§Éê¼j—s“ï7UÝÛYS9KÖ…ÐL¤?çÙ>©Î‘öh´¦àEßàµÿ0«®£ÎvMÛùš]—ÝrQûœêõ£˜Îu±µi*©I#ð<çÐë…Êz~ß9îyk¿§WGC"•åbVYåˆüG'DXd¥xµ4aèí/—ZuNZîÌ·A à¥ÿ÷O|BlÁ±WÔe¹\,ò¼h»Îã¾—®ûý¡ç)Ÿ:ך®mœµZ+ëÜ|?›ííæó¹±]«´îÚÎåù²,òE–EA¤z÷û½^¯Ö ˆš¶óý`%M9¼qôHÔë‘¢êžÛÛ±ñ—CijÄ{3?bô•çÝ;Ë9çlgª¶Ì[Sµ­u ^)æ¦3ÕÞ¼ÜYx¾çûè\'.â ß Có´ö½€ý¾ï…šp î+©Ü'S>[šè×ÿúòÑào¿ðâ>2ñõ„Í?ßøÿÜñg¸}¼àÜx¤ìx¨ë¯Ûu»BK“U© )гwdgFÐ¥«« Å*9y4æì'¨!$Ã4\Ëd&y)UÍTó’Óð8E q‚eÁãµtÀðYöeê.‹i%s‡0cãà3B0! ßóž¿—¼àäêääñÓé:e»[ÙÓ¸(í~:JXYî÷8¦~Èiļ&n.&™²Óˆy’L8Ng瘆R PŸ>ršcFP³f‹i6k¸¾œ&‡'OÄ8&’º†™daOœ;¸Â€,%[ægwÿ:]]eO¥ÌIÓ(:YO²åüJøùÎß{sÒZ×ÕFœ«K—Ï]ž ¨Á@­ ýp¨¤´wŸkï¼ÇlNÛb8}pdT ¿d»‡ÖüÁHëÀJÙæûªÜǼp%²Q :_wp΃Ò,¹Nu uë|U°Ê¹wß^w_ü…‰ú?¾é{üøßSê'k«‡¤iöË®íàœ´ù^išR*TpU‹&r@?â<¯ò…88¬Ž†}¦µÉÈïëÎu‹¼šeKÃ|цA”K¥µÝÝ›iè$®ŒS­õr^,æË®E/IV†üß.™Ñ¨÷Ÿ^ò2¯ø/ÿñ£Ø’Ó¯iŒiD¬µJ)¥5œKÒÔ|ëÄ+Æ´¦öà C­È:çyº1TRyUžç·­Y;´ö´g<ƒ9Èçû—/^ÜÙ٫ʪ³¶,¥³Ž™µ"ÛµUUïÍ2©ÊˆCŽ¢®ë´§qè{=tíØèË ”åYë.žÛ\lOûý~²v('¾§瀶5uµ4R´mëˆ@¾³]WMk´VÑ(F%èÚ0ô=/°aFƒ~/RŠ:g­ë´ò|hÒ‚ç¾: À±ÉWBy÷ÇÖgúo¿»è@Ú£Gƒ¿½ä¿þN§ñ_ÿõ×.¾žðùçÊzf€W¾òAÉŽ‡ºþº]­>Ü'8Õ“CÃô)§AÑtû J´™îV IW#ö„|!¹CH&'V% a<)î/ÄÙÙ³"ròÆ“RCö¶3UŠH¶¸$³¾cï”ДM„D¥ž’¢CHRÉg>ësf(MwÎÿÍßÿ9“ž_;yl’«RÅ`–ÂÁ-¤Y u¨ÚéNv¯¨Zr²f‹©L«,»€ “| [­¥Ì m‘&ñ½)`÷CwÜadÞbˆ4à“G„ý4HŅ̃;"’Ý; aeE¤È ™N·Ó8JW‡d>‡î?<~¾îõo‚§”²¡¶[føBÖPkºYÞMwZêÈcŠ“n5õŒµ—.µ³=ÓYPç)”s¹eáÎ]Tû¹Î5‡]-)‚¶´Eé*Oµm—k#!Ÿ •sŽBå94«ü0P¾"ê ÚÎþ÷?ÍoÃmÿùý^ßµ(ª¦Iz‰»_6^¨ºÖyJ÷úƒµ§¯íí/gÕò’ÙSÊÁ9Ok)g UmšV‘V©õýñùá¹_rוøÛ×þÚ_÷¢^õøºžÒÕèŠ4ÊGÇ}JÙñP×_·ëvUL»gwÁ;sV=©Ët4`(Fqrc=Ë[øH‰øÔ“!µäÂîŽ÷]ÊJ°·’®¯N&ýtm,~!;U–·¨s9ÔP𦓕ñ/‰QP×=x`/Ù¨XjartýôSnæh=+Ïg»û)0…ŒÌpE:J§3ÃDð‰Ã„}%Í£žOŽ>‰ƒzz±žî”Ó —¥Ù$òãAè”vÆV )–mmÔ¶C«úäÐl[ÛÛÑêj<QÏó‚û”ŠÓ„~ •¢ÿqÇŠ#¸s%þv×™{¥ÉŸ¼‹:‹ªìû‹¯)+ê’·Òò«þì¿ÿÜÁÿ?öá‡çoé`xÕãëzþ¹÷£‡¡Q>áÁ«¸þ ^óøø/~2%÷)Ü}÷™ø¡WÜþοð¬ÏùìŸ|Í«n¼ñ†‡°×³1IÚä™W ®˜¬¬0Ç,³lkSzàl€ÓQDÏ~öó²LÏ•Y–¡Þ̶&¢¦N›œZ©SÔeV‰Ì‹l.2?Ÿ®…ˆ´5{!Ð"l¡ûàJNÂ4È–™lŸa9‰e¹¸{ƒöàY'Ûo˜HœCgÛÛÙl)F±²ìEHHŽ<69yÃA-EÍ·9eç¦Ó Ø4Y™œs rÞ}æM'Ð`:­Þó÷5ݼ}2^IW'²¸<'épÄÃHæÒ8™&qxxüøv6U’¨$QýžŠ˜‚€ \àQê¯âûû˜/lmO!‰¼á˜‡C%E7Û³‹¹k;EŽlgaëÎ:KF¹ÎÓMÛ4uÝ8GšÐ©ÜÓq¬Ãð`K­ï:çõ]DJûZ)…ÀwŸšžWzðü/üGF Î]Úß™gE%çÏÕ}j±o‚D;…¼*[ÛÕRÃa-Í‹%3EìaÜ1›÷¼@Õ¦]¹£¬qO.ìùAè+”4]݈ï+Ez>ó=¯È+Ótª"¨ÖSz^I×µãÈpðã¬í:çœÖGQ½~ßÙ®®k^æEkáe¾ðÂH)j›f9_ˆÔe¾l3L’ã'Nž¹û.E´¾¾~éÂyRº×ûýžÖÚÔu¶Ÿ-—y2G½ ðÑ™éå "&“AܵmÓ6Æ©Jß÷´î“ƒrr¯(pÎl·¸®[ìÏe1õUÐÖ}jv–möö÷óXùê[?pq°U×)ëLÙvŽÂ8|Ÿ|G¯GŽ¡3‘muÛ:_¡–ªÞ¼Øìï6~¯·2î'ƒ¨™¶ÛÉöã8F±VZA(€)~ïáøÛÝgžà-o=¾rh°¤´&§ldíж~g˜5¿ù·¿{·zk‘­¿ðNãÕ÷=TË–¸êñu=ÿ°ÌŽF¯{å+_y_-„î_¹*ëŸàöQÍq}ƒæ£öMßúï^ð¥Ïÿå_z€Ÿí/~ó·}çŸþñ>øogÅôÏ^>›íîHé¸G'Ó0=y„¤éˆ9Ï–‹,ˤ€`4½p;PqˆÉqð³|1]4Ùl?ÛÝI“~:p4H“éHj!a˜2€ºqñÿ³÷îѶ\eèo>ªjÖc­U{í×Ú{ŸwN’“’ðÛ†nhйøè+ÚØØ*‚¨m_%H#A颂Š:Ô PDDÁ+*`BHà$9çdŸsöÙ{í窵V=fUÍ9¿ûÇ>‰´Ú„2î¸Í=¿?öØkY5V}ã÷}õÕ7õ})c]íéq¥ƒZ·‘òJÍ"=é½&6Ëmô´ÎUØÑZkíäh¤RJuVÐÙSa'›ŽQ“ÖPèéísÀ©¤RJ•ò¡ó Õå'®¾ 4Ð|\]=«‰Ò^¸ººƒVƒ¢¯y¼ê„zZ ·Ï¥³KY>N·RÏ©´Ÿª9h­˜K³OÔ#('Ü ¸#*+ªò<î{¤|ͱN,gfùhd‹Âúú3þÌœ—ÄÐSlupáœÙ¡5ŒKθÈãœ#gYëœs`Ö—6ŒØü‚·²ìw:‚µ-éšòĘãªi³–,5Žq€ ¦JÇr~ea¶™è퉎bÕIÃÁRÜ6îÂööhZ–u-¥¨šÖïøËó3ÝI°9Yåº(‰’JäÌÌB§6Úw2~àûÌIµ-¯ìïPÅÒ(ÜÙïe'˜q¤”× ã¥å¹@©<¯&£‰ðÂÔuž//¸}N:bִδÖkZg­µVëšqá`ò¢Hº½b:™ŒF2О”Ž\¶·7eQOÇcg­ïûǯ¼êä—¿†ÁácGïúÒ]UU9thqnFi‰j]çEQ•¹ܘVkí ã8îv»ùtjZ㬵­%‚ðy˧MÛ>õ©ßúö_ËÜÜÜ7Áåß{ß©þÕŸ¾à¿þ—ŸüÍw¼ëáíõ€)*úƒùùÁ\ª]M³¬D=VʇJR.€áîæêéáàPª­«ån7¡iê"ÏÇù”1‘ıàÌ´m›ÄIS×Î9çÈZ뜳Æ8æ8Ü{=‚ߟLÖ Õ¼m¶8QÛž™ä¶mÕÌŒ5®ØËz±²Ã¨ßÅѤC6aŒÇ,1!œ'¹'˜c྄äN^[W“«œaÌL3=¸²læÃþL\‚ˆ¬ò"!|"ë\ àáòíÞsìï>#Öµþá(«í#$/ÐñÂíáŒÆÚØ!µ<á ¤¬+ýñßù“îm·N^÷º³_?ß²GÞ¿.Ç¥üoT3{ iÇå4åð†7þÊpsóö[?I„—¾ü§ùæ_}Ýk_³ßí«k-ßÿ?ô¦7¾þwÞýö¦ioþ•ÿþš_ü¥w¾ýmß—ÿ¬gþ›·ýúÛìG~˜ˆÞù®ß~æ¿}ÆÃ:ÝÌ*?Q12ÆxÖXÔü”ëQ¹º±–íBE,Û©t£,.Á¨Z5E¹"1G͵qº*”"•¤GºËé\ŠBgy­ÓÛÛÙn¦dtr¼‰nïH¯§kR-²Óg¬žÜæ¨ oàsÉT øòSŘv€”Á‚â‰òœöèÒì#%„ç䬫+g\zÜ89Ò‡ˆH,ŽA0Käí¿D:7'{=„ nkϺÚ1z`´†ð°°(®»Î?~…77+”BÛÒtJºfu‹ª&rΓP k%œƒsDD ‹9Ê—Îz r.Œ«ÆkaŒ <‘Ά[YNZHì6SCðáˆE¾OÊ\OàaÐ úýÔ—áîxÄ£( ÃÐm»qY¸hä„öæ¥á(¶š1‚3m5-«X‘X×cŽ›ŠêF6ÇW⣑d­ƒuΘ¦.ò\×õ¾(dg{gk{çèÇ5º(Ú¶f{®­áìÊÁÖZ]UýÙÙí­Í mŠÍn¯·rðà…µ ¾þúÇ>áñ·Ýú™{ï;ö:aè;çê¦æ¥Ra<Ó›NsÓ¶œ#Žcçœ1Æ:×6M[×¶¨/æO’qN€8È"±Ò÷f’ר‹#Ï6Új#cŒI0"ɹÏÁ.v:1ÆpÆ8#)öK4ŽxkhT—c]˜”BzÒZ>Â@ á@¶V Î9—DŒös”‡Ã·7ÿê±’q&Fä}vÿ’,¹ýêCPóP3Î!%ˆ@_º00äðçÏ_ûZ÷¦7û:ù68öÈû×åøƒšnøs”ýÉ~ÚqÓMôˆ¯¿Œ}üÉ>ø¡¼o¿(ró~éy/ø¾×½ö5ÿ|Ù§?ù·ìn¨_xõ+n|Ü“¿9.ÿ—_Ó³¿óù7ÿÊpðÀ|øÏÖá««ë°”£f`1œK;‘êBÉ@‹FkÒ“õ“;\ïM2mK~Ú™¬ ÒN_S…BÃO†;PMµqÊZ…í¦¨¦(9”Rt+ô^޶«¼B{SÇ*‘Ù^®ëb0»¹¡·*]é4‘¥9¨ùlëìê=ÃÑ}h¼p¨Y¡ÂŽRJÍûºiÑb¥XM.è½V;Ie5b *t,€ÕÓ›Ãi®OçzƒùéÂBz @SkPô[äM¶;ɦãÕ3ö_PŒH“ªP’g­¾4ûÄ ã RÂóÈ÷™”Ü÷„R\Jfàº$Û’ ™ç k©¶Ž DŠïÄÜ÷ØlÏOúâI³³Q7ÚÂÑþÝhv†]sÂ{ôuþ⢈BF@Y¸ñÄM¦vc³g\0ÎE`œqFDÌZX ç@–t“nÐo‹v7Ï=f@®¬jdY×£­BJÑYˆ ¬aÆóÄ`¦.›ÀêÖØÆñÐ9V7s‹)<ãȶ¶1¶uM+¢átîô—òS½ƒ×FOìÏvŽ[´­Y?·'~¡kÕm bÓ¼n­ž7Ê+ãÕ5pÎ9g]Ó4“é„ljß4í¹óçæ˾'F{#M’Àȹ*ŸJ΢(šŒÇ+=~|{8ÔU•F7ÜpÃ…5¶zÿ™C‡]÷èGÝý¥»77·…JÄ©®›(ÒQO§E]×ÖØt&5­1ÖXkœsÎÇŒûGͬGÄs`ŒIɼÀqÉ8¸/æo&8cpžGÎí2†`ûBWÆ'rDŒs Æ8gä‘u®imm­d¼ŸÄŽqK0Î ^(<ßó=_xžï+É%câ…Œðõóí·Þ}ôßH­‹L+ˆ|cBÉ#Û&eÞqÎ÷ý*ìî8¶íhʹÈ‘ÝïÑBÌÒŸþ-{Å+èÇ_vúëâ[Ó>âþu9þ¨.¾¡:ÊM7ÝôUB“ýêÈ×RQ<Üõ—ñ ¶·w>´ÿÿáǶ·wþÅe·}öö×½þ—ïüÒÝeYâÁžÿûãe?ù3ß÷½/xéK~t_òÒ—ÿ—?}ß?Œ:Ч€©6‰²V‹Dyë„Zk­IOkïq;$ '‘.,(ßÓE“å5êVW¥æcÚ¸áÚ–nxÚ1|®|p ŸR¨Y­§•¦JW€Î³éY@¥”n•òUÀR]gÙæº —S¥NÜpT1†ÚN&ÙÎp8P¨p1M+„=TcUtu”¥Ý]OBD”Õ>Ê Zt²I¦¦ºœˆ%•ŠÅP7ý=Ýpã!*5UûÏŒŠº7>q€–´ËÑHí ÔNçSPêu/Í>+%sû]-çžä*àž'@$°†*ÝŒÀHùŒ“ãÍÌò àa!HBÌÍsÑ!ò󉹰fÊ’‚€ùÕWû×\ç/ d1Îa ¸@ÝØ½=;Úsuk;±è%HS$ #ÆÉ9´-k4 ÐcÞlä )¢HŽP×U6.'ºÐM« ®¾þhÚëu“ÞÚù £j$|ŒËé¸*úxQÍPN¼ÃŒhvF“i¥—D$@­-i;³w÷Ý}ÿ.Uë‡Ü•Ê¥ܽûØkÃljs¬lrÎÁ¹ô¥/¸WWNz,E ]N0 Ô´$­5ítšW¥îöº \ØX¯›v~¶_LÆU>‰ãHJ Î8sÎZcz½ÎÙsF»;+‡“IUUÓÑxíÜÙãW^uîܹÕ3÷§½îc{ãîînQ–mÓ[ÏÍÎ-.,š¶)‹éd’q¸²,“Ng¦?#—B*JÏ$;ÔQXCÖ‘s $Ÿ%19ð–À¸“l¿Ï¬stq œqN DDDŽ1fspÆY€IV&2 IDAT,9c±®5ŽÀ™5œ‡¡ê>cƒ\ ß÷”/Ág[¥8++_ß~÷÷Ž~øã3ÖñFÏ%êñQxÔVú½C±š•¼+¸dÂUf{kïó[»Ÿ·üœç …ÔŒ#þìïÙ;~“žüÔ/?$ßTòÈû×åø£µþFs”ñãÿ*íx¸ë/ãAÌÏÏ;wþèÑ#Ξ=777û/.{ñüøë_÷‹Ïø×ßÞé$y^9~Í7ÇåßzëgþÇýÞƒz”£Ç¯}x{=aG× dk1q™Ñ€VÒÜqÿ)Õí úá‘]§ €RZëÕ §µqtU¨0V±TЧáò°ÚM;A:{TñDÅ~–×õÍ,×ÙwílU¢ÒNO)†°“Š'*`º¦l:Ö»™Š#Å\–S:éjõ’¦R«dÐQGf‡ a¬³¶ÖÍv¶ãCb Œõ^ ‚5]‹tnfДפ‡®SŒeÓT¾Šð%È<Ë­ÂX7ZwÁ"¥b‘Ö:ÛÙzÊ£4 ³I‰JIi4 ®‘F¨€K³ÏÜ´FÝpg9瓌 îÀ'ÆIH¦EÄ)›¸¦5iÇëu„ï3gna9‹b>3G7Ä88®ž1{šÃñ+äÁC"í ÏcŒ‘#爧0`iÙ–[YásóˆBKhÛ–¬cD¦5»¨ ³—O»*jÚ†`âÐïÆ±iIF.RªÓUµ-ÆÚ4¶ç#Û¶Ö9çl„ƒýé´Ø-kF(Jm-ùRz>©™µäÀôš£Û÷ïLn;WOJ(Œs&Ôí_X»÷)Å3––BUº˜î•|–)ß¶,«qi·&ÕâüºTΉ¨ÖuUé0 …{£ÑúÆÆ•'÷vrŠ“ÎÎΪÖU*gmÛ4(tÖlmç—W¶·w¢8¹um¦?wåñãgWÏîlo¥i÷ºkOJUežO'QœA¸zÿýe‘ۦɲÉ(ËÒ4í$± Αµ­aÂ>à0\º¦v&ÓÂ4 äÅ Jmö²"脞çI!÷‡ì³Î‘#Έsb¬5ÆXk‰¬µ`Ì10ß’AI逺nðý@pÏ9ò½ RŠs¶/aŒ{Â—Ü»Ø eÿ±¯Ÿoˆ¼¶î%âß_{è…Ýd±-4¨­‘ç`l¦»°Ð»jÜÿ·e³—U÷¬onZÝ"Ãs\00£ +ƒ‡æ[>òþu9þ¨nïaïõìk þI¶ñ®¿ŒÏÞsþnúõ·¾À«^óÚÿ㻞»ÿ}¯×=uêôñãW\‡VZA ‚³çÎÿ·7ÜüMsùW_}Õ[í7^ò£ÿÀÛßù®×\ý°¿ã‹÷(xªÅ<ÈDÉPÅ*MC TjãVצ:ß üP7Õ‘£WÀ7h¤š_TžËêR+0­6«òM½ã¡j²\+Ÿ‡vSר”g;VÃê…`/]HS6“i§ ©ÂÉ“÷æbµÌTlgc¨ó4T¥®Py¦5)ÅÒÙ.ØTé¦ÕÓp8….Êբʶ'ˆÏ)&ucRß×€3H^Ú‰ÓD¥+‹YnR߇¡%†YVév²z~<èö4MÇi§—¶µqØ. ×§—f=bጠßg¸àÜxØA2ÎYÛÂp†´Ïuélk#Åã®@ÌcL(Î$Y8¯åiÈÒ#Þ€7Æv;²ß—*gŒ,5­mÛ–1G8°Ìo÷-ãniàfçœôL¥ë²rÖH‚ß4ž±°`{[S,¤¾ïÑÖ°ª›º…ÝŽÒ¶¬]íhÆHHéùÁòl_qn¸Ý¶º-mãÚÖkdÀƒR%‰¥äKLëGýÕ]þƒOŸÙ‘ô±¾Áf&°=u9¹ëôíW§ÇüAƾrµ1œ$…*RøAÐÖU©íNÕÞ~"`­mš&Žc.„ÖÕêÙ³pèÏÌΘ6¥Ôpc¨uÍg ]I·…j4o¬­ºâx'mÝ4;Ùo½“?Ñ]}âê™~zþÜÙÍÍ­ååA¦Eñ}§î?¿6Ì‹IžïéZF£^·†J!¥gcàœ òÔ¾ŠÀYkë’M¦†³Âó¹8ôLʬikëœaÊ÷=O:gZS•eÓè:ˆW¼¨Jç …$"ÆŒ9ð¢1çM[gãiÝ´¾ z”–ª¦ÛíÍôü0âB\|±èÆøûé w€nšoozÃÊŸý=“te?~ÎñÁ {j±©Zj[04MÃ…Ç„$"k,À»Q¯£:ÝheÐ{òù­§œÞøc¨ÏË`ʃ3ðwÕûßïk^s÷׿Ûêùá#î_—ãÏþL€‡]GùêÁ¹_Oòñp×_Æ?Çk~þç~îU¯yÜ“žàyÏýŽW¿êçö¿ÿ‰—¾äéÏüŽ¢(ö Qo{ë›_ó‹¯;ÿâ] ~â¥?ö~è›ãòë¿þ³¯xõÛ~ãžðøÇ½ëí¿þ°?2˜G ԦΦu<nŽNÜp Z«$ÕFëqO»€."]MõŽÕõ.¦ýÎ~‰ÕTõÂt6x‘ ®ÔhõHgÓ @v.ËFëšœRU8ÚUðfo|ÒuÃí­l§¼ã‹§(ß æçÕ\zãO õx¸»¡› Mr*ígÓ û=‹T7 ¢RLû~ºÔK—¾\¬©j*²M®âF%]ø €Î§:/³Mö‡ãl·•º•Ê÷Q¶<™kè©b\'¤ôÿK¶×ãeÁ¬%.!fûX IÈó!8³Z³ÉMCaĹeÜ‘ãÈ sĈ—ÜÄ}ÑëÀ—ð¥ <ɉkÆc³1l§yÓOÍÜlÛíÊt&èöD¥17ïâØ5ÖM¾½7LÏ ;ñL’¤D?fMpak8u{Jp1Ê'ΰÚcg< ýÐ÷¥@ë´çG©Šó­’'< ¥à\%J© ŽâNM¦“<›²G}n½¢kfjaãjkªjð€…‹( 2‡•T>åÜßî®-lº•õäÚG]_ScZg-â(,ËFXÞV£«u®mZ!½Øó›¶ÝÙÙÇóssÝNÇÛÔm'ÎÚ|Z.¤Œóñx,¤ìÄádZm‡ýùÅùÅ¥SwÜ[Jë›?ýã¿¸âø±Ç?ùÆë®¹f¸¹ù•¯ÜSêf”EQÕM“çSOŠP‰Àç/¬{ž¨@¡T(¥'„‘ŽÛ×n”S[k´5µ5à‡Ì ÉPÕÖ¡/7¶nc¡¿¨«<ƒÀ—s¦e‚ùœ9IÌ9Y€jkó¶Ö&÷<çœ A³„Q(¥GÄ«ñ´çA¤<zâœ=˜©0€“àyÍ7Dh›ÅÙä_'j¶)¦0cZÏóc°†3fm묓\Èꦗt{GŸzówž}«áÿ e€8#¢¶Y°´$‚oçyÿºpÉ{=_ÝÃãëÉ<îúËÀÿÜ·M)õ¶·¼ùmoyó?Yó3?ýòŸùé—?øñ9Ï~Ösžý¬?þÈþOÿüTÿ;âª+ðOß{ɇG#ÀH…¡â@2»?Òbõüe©Ýug–0Ýîêeʬ©´‰•äÊë*†lýþlgSó¸jO1¨ðЉk½¬¸¨ÐµÈ¦cŒ#ØòŽ;îH“h°ÔKç®H;PJi—×Ö³Ýû :¨Ý`fpâê>§‹Fyn¨GJrZ×C½¡W¦zr²í¨n’&¤ø’òöt-t3R^öæÀçi T>é £eŽäŠlwM·Lç»™¶©ðgU/UüÐ žèâ*íΧ~Thê nxó[—fŸÇ?Ö»ë‹öÜš ¤˜[à‡¡?c÷Ÿ„Á9Îx^ n æ\ÏYÛ°ÑÄ:×F “)çÒc8pKÌs€1.ËÜÆÐœ]5Ãm33c¯8Ú,-—3ójù` ò|¿­kèºÝ•_>³qæž5jÍÊåÇÜpÕUWpnmØšžA Or+Þ4v\Ö ôü°Ó’NÄ@MÛ´­ÍÍ´µf¶½õçã÷£ßý³m[aiöÀÿ݉G_ùÚX ìSþݽ¹ç¼ùMï>zÄmÌäåq‹*„[NKÊ“3u{µ TUh©È¥a¸}~ÍJÀàŒ !‚À·ÆæÓÉúúzà{ý™4TÁt:­ªŠó¹h·SïýyrdÿÓOÞýŽ÷ݲ¾5^¤/ÿ§?ÿÛåS TGzç‚¿mëõoÏï}öŽ;B~ûSž|Ó+öСCMUJ²}Ñ 9åËþÑãû¿ücý¶ÓÙÝ<ÞeDÖ€+Ž?ß:'qÿºP–W#z”o~ÿ¤5ê׸#>Üõ—qß8Nœ¸"Ë*]ì"ˆ0Ô¤]™52…§E4è@O›Z›úäÉUïjŸŽôûé\oÀ–U’ªÀ wóá…õ´¯Togu¤Êlתâäe”&B…ø íô²:î`Ð µ)³Í2íÔÓUàÈÁE}0RŒ­žfÍÎêidå–žˆ#‡¨ÈUØÙŸ ŠSAWE”Á¦9Ýhä5àtnÑ8•ÌdÓ==)u`5X¤ü5©@(Æs³G–¨¹6:˪l'Óv=;W 5ÏÓ~•&€2ÁÌ%ÛgþD¹8Þýef¹,QÚuœ9c™µpĈ¤ç’ó2† UIçϹ|lgz,ð„k`F‚{g`°ŽtmÚ–´vÖBæ ;}íîÒUךƒfº8Ót»aÕ˜,3wݳö¥{6Ϝ߭FZ ­ê µk’´Å,ø4DW\Îu£P®¥8ŒšÆ6eK²u¬uΨ ²Örbºm lg&ú©×ÿDÒWoxÙ›äeÕ4¦*ÚýàÜ;ùÀï~å7>vמpÕÒc;?ý3ßvóœ»æ-¿õ*—”ó¡‹€z›oktz°>­Ý^Œ&‹ÏÔä4'wðP7Âø")“žpN”EyáÂ…¶m{n¯—2Î˲œs.ööö$q(¤0Æì‹#T ¥ÑFþÝÿñÿ|úsŸù'ïyï§þâ¯ÿÍóŸóÊ7þâ«_öŠO}ê²iUllwãî4›½ö¨²iM^nEahÈ1âlskëÂzÇ÷$9ê÷ûœ3çKâ|ÿ§Q[ÃY2†Œ…sÐ%kKjk0"O:gê¶1^¦‘žØýÐ/ÑÜs_@0k¬ã‚;F{û©WþÚ‡^ô]OyýO¾àõïøàÿõ¦÷˜ï?ãI×~ìyŠ1ýÝ!…ç¡ç'“²n&ùަªÓíÅAŒ´¹'Šo/úÁÃüQ.8óýÑ…Ûf£ïü½ßɾð7ÞðKÆ6où­ßyÙý¹÷ÿî;±\J"âŒq)9c;§O2`öŠÇ–s~ôxcþŽy5sdÁ|ôü}ÿñûßûá~ákðÍîœ|ÄýërüÑ"Â7˜£\Z’q9)¹ŒÿW%·_<­ü¾núÐd>X¹2íB»©Û‘R±F£'…n*øøioºÐBèÜèÉz6¹@ÚÓÙ¥ôàa=ÙÔU}±Ÿ§0€blØTºÀêÆ)Å•(¥Ø`¥38ÚÉjè½®ÐÌ϶ÇÙn¡ºüÈòLhß98@gAE¥òf ²½ašÄºI³ Z–gucW·6€ E }ú’Zªü•ëÝ\×¥ ¢t.EåÏbà¡nº©¯Ðös=ê‚¶Ó$‚ôEU,3"í4ª»’õpcxrgëÒì“;wâØÊ¡ª*pk\¥Ñ4°ŽqÆ8gœsO’'˜ÇQ7L×Ð%®Ó½÷˜º¢|Ž× ïvx§K„…‰Œ!k©mÉ´$8Â>ŸNÝÆ–™æ4Ù½…i§?>Ù:½åÖû6vÛÀZê$ž`®µÕw]xÞ•8v`öþQEž—Å^Qôâ°“(Ò¨ÑX¯äU^5BLˆÈãLJAp†(J"×^¬(¸†5Æè¼}Ão¾>½áìáÇ ¿ûi‹÷™ÝúSÿþêúž§|Ï«ÿïík™ßeÓëù̬ &à÷á\]^eü«DÔ¢eRˆ^tÌÀ0ÎA̳µ½U–U·Óé¥iœ$¦m›¦éõz`ØÚÚ(J’8é4º2ƹÖe1½Phë¾åéOpËÇ>í'É­ŸüÌwüÀ ž÷Âï>}ßY[ÕÝ(‘RlloÊe?t[»;VVÁ9Ûšv¸9|ü W/ÌÍ!ËFMÛôͬô¤b4ƒpÎÖ5Õ%Õ䨭]9qŒYg!%ó}âÌ2c¡§‚N@Ö´ŒZά½x†‰³à ŽÄoð6ÏûÖÇúŒ¿ä{žñî÷}üÝï¿å;¿ý[8ŒqÆ`À9gRò0qd'ºª©Ú8ȃpßCñ €sœÁyrâ'g*³ñΛ_c!XG…?óâxòó¿ëÂé+G8üØoÙúòÈbŒÃÛo`׋箿òî53ÎYjšš{B~’$äÈsÿÙ³ÝNômOûÖ++䜱¦©kÓ¶M]Ûà"ŸôÈ´`‚„1pæˆHJëùP*PÑ~Ä‘Èö*sÇ}kûgˆû=]5Ù¹lóÔú=g†ÄÞd´±»Ôïøü—W¹Ã¾à„ˆˆàœcŒ3Æ`cÌøò<Ø_ã¾¾ €Ú“:ŠÏíî}Áœé%ž×èÿð™Çw6£Nx Àto;ˆ:ÄYÜKi¿w £Có7fÕ8¿óGÄW<€/}nú5øväúø]Ž?J—s”ËøæG6ÙØ/’§j @6eºªajÅ£´ÓCÀ²é8»pf_t–v"]—*˜Ý¯:®^ØÜÿ~Ð S?AÐê ‹ºÐRQ©X(£‹)ktár­™‚ôú”çtªP#XÜß9ÖùdxþþÕ5WÂøi7ÐU(UÔjM}Eüø¥ •„)|íù¨ HöæÀ"iÂcðå+èlg]OËt®?èB×”Õy6ÞnÒ¡“*”‚ÖYÉTL)‹/Ù>¶Võf6­=éZfcŒÆ.Ï©jˆÇ±Œ#+žÄ<ޏçA)(E.ú}4š*MåˆÙKÌy¥=y@2äÓ±­rcg ËZkê¦mx]àÂYïðnÇç/šbùÀÁãW,;8ÓŸ È““‚ò Ìs@àѱÃsŽ…ëÛ™®ZkÉ’­|-Q…ÓJ›¶ñ9/›Z›– &©)âðb= êáÊé+Ÿ´µ;]cãOŸ׬DO¯ùîÞHä^ÿ‘Wú.ív±iÓ3½zvzpO©Âé]¸â+'ïºñxêG c, BHcšö¢f–¨(Š¢(”ïY!Â0ìt:ÎÙÉdÌ)¥Ÿtó­ß&üšzk}tî¾=Û2?™qµu»ë¶/<æ©O|ús¾ý³{Ë“žñm¢(ÚÜÞ=v¤Cà£qf‰v†Û‡¯¾BJŸ€º®×76vövn¼îJ8çû~†BpƘ³Öó=T@äc$„àŠKnA¹n›ÆµfZ‡‘Ig{Š8ÒÝÜÝ{çŸüÃû?ü©l÷⸿ùà¨KvQÈ¢iØ­½sŸo<ö8€ñ´Øºp>êõ£$‘žGD£|*¥H“‹ÂxÙ_cRxœ1Ƙ»ØÉ7\ü,M F[æ–¦Xôù;­ÎnîüÊ»ÿ§_ôýç6wÂñdooëïþðÃápùh̉»ÛδûÂO3Åã®þÁn§wzã×<€/}Áÿ|»õ³ŸÄýërüI;½Ë9ÊeüÿM_7ÕS*…ž:×Úeƒ£=M€¦4ºòÈ ó†›Ãáp4d 9­uèv‚¦ÔyÆÀD´_׆ ‡›iÚQq¤¡d êJõÅâá…µ¬ÝVÌS½§S’#àФTœv¹šë¸ØÒQk d€2L-.`¿c¬t^©dTh)*5|%s  ³I©›J9;l*=i´©§ð#óKz¶J“áðÜPQ¡zsP*M”.8¨@°~Š=ÝÔYc€K´cæLÛ0ÎòÜmïòшòcm@l¶ÏX'AUS]S1ßcÝ[^&ç( ÙîQ¬nXY¡i1™¤kj‹Ö2–„㜠î˜$NŽ CŽ&…-D1;x¸}òŽ;ÜéuT^ŠÑU㦻V+¡¢j/ æºJM6sp—ô}.˜ Bß÷T âDíe»mmÚ©5†¼@´œ²i½¿û€ –.;ÆèÓ÷mÝzŠ6ÏÙ§~ÏýÈSþ›dÁþêdzÍO æÕä^Y=®yÂÂ"Z]gŸ?½óˆ–Pwfkx ?ò»^Y×MÝ /jfmÛ:ÓHΤ”aäÇq,…Ìó©µNÉ¥7·|`ápðùOÞzêÎ/×EiÛFz~kA dAôž·¾»jšg¿à9ÏýÏ[?· ˜æÇÉ'¹µn;;°µó–ˆ£h:ïìîmílQcì=÷ž £èðáÃ*TœsrNJ)ÜÅ.©BDzBÄx>™äZûRÆ¡òcàu6Í‘†þò¶Õ?|ß'¾|ßZä¹G<é©×½épÔ뜚ºÈ¬‰}™×-ÕÞùö{tbÅ]5ÙÙgª;Û‡¥Ö¤´ÊW†"Âý'‰pq@ÂCò g>çVpÇ<§ç'{gæÌÁO}îηüîï¿ü‡_ØH}rýþ@ÄœËÈ÷¯¾âh¸=4­åÖXkpÏž"ò•|õ©Œ¦_‹oƒƒK¸]Ž?úÑ‹þrŽrßTX]ÛÓ…»ÑíN(eW™VOý ÃÆHã™t°|äŠCYc³ÜÓ“óÙ¤Ö“SJuT¢Ò¹^¶»›ÎÍ)ÉQËl<ÊWÜ)5,Wiw TÈL•£t½ŒÒ¹0V+M¤’î~hM„ºSºm´ÖйÖn5Ü ++åQª´b@/T,Óà]H®Lôð Ðn æz3 N7mæ¶´aP t¾º:Ñ:K;  ×›tÎ?Ò;8P8y2Ëv†Z7”bZ3ÝzT|‰ö¹ï>Ö_ds­¨·9¬G#^U¼,˜ncÐ…qޱeÁÀÚÖâù>ïvpࢽ¶»K»»g,/lk\U·p.8„À<Æ$qçˆs0P ÁWàiOé^}UðÓ§Í¿XŸ?Kµ6–7‘gð]¤:UVeUÙþl¨‹–3f«ëÆ‘!²Dœ^ ça¬ºRz£éž¶õ4o.V;Œ™f±ªítËäw_üî§žxÖnÿå?zéçÌ×Ó/m¯ÍIײæ¯-uN,ÑÂì¥Æb…z=ê?% |•‹º,}Þ– u©Ö9Æ™ U B)=)¥1mÓ6 ÚÖ8BÛ´w~ü¶ÏüÕÇ 2½î ®m-aÿ­iîX«õ»ÞüŽXúÜÇ¿úæWœºçL†hic¸žçcë¬ê Ÿýâ`iÞ0Úng}Ï_ßÜyÌ£¯ÞÞÚžIS)…çûRο8( \z\áùÎÔÆØ¶u~on.Œb.dQ5þ7·ýþ‡>óù/­ðWæº/z棽<»ÊÙ´ó¦é‰1Ô6µðÔ±~÷ÎÝÓ[Ãý™a6pý•Ë< œqm·&[•fãqÝŸñÒ^k] "_*0æÆ¿86’ošš«#!¨ÓNÃí~òoÿÃ?yÑ Ÿ:ìN¡2)9wËåt>ß™½ÿÜÚúú†ïIkÜþ;AmÛ¬Y=p¨jš¯>€•âkð퇾ëšGÜ¿.ÇðË9Êe|ó#T6í´¶B²„tØ`yáÈòqÄA6ÜXÝÞÐ ƒ¹•ôðõz::yv˜¿ õ{ˆÃ& IDATMydå º& ­âŠåÚ ³I¡‹ûá)å,J;³é\ªÔÒêé3@‘R §*Œ•×MÓP]ló¬sM¤”Ÿ¦ý¬š¦B)@†-W¥‹A ÏŸU=„ª%=ͲÉA¤‰”RðYº°@O«l¿Ce®3@oøÙÞÚꪹãö¯d; R­­6S i”ì(%TW]²}îüK¿¿Ëæ6MÙÒ8ãÔHkY«ym„ÊÜ”SÝævy9Œ;Rk›ç¤ë{Œst»Q„$Án‚Ý>š¶µ¶a°b’'ëNŒIçÀ¨ñ+X;7'®¿^:æ¹;yoõùÏ·÷dEá1& ÒBôûóg·×©<ÎeQ–¥Ñ•®ü R\wÍñ'<î1Ö:¥çl[×|éI˜‹?LŠœƒï³ÆËÖÖ/œÛIæÒI-oùʹ÷þùßýå§ï.K3‡Ï¼þøÓ®_9ÐûA§C`M]—Õ­k[m8«Ú\wìÎÝ­n½xaî£wœbÀ³¯¹bõÂáIÉ×ÚyºjMÌDÙ¸Ö6Ʋ½bÂOÂ(ô_ wÞ÷| + p"HÏ~ü–“õ·½ñ5/î_ù7áÌýž4\µ§ÊÉüË~âþ_}íâü¢Ã8¬PLÆi:³;ÜØ,Ïkû§pýõÑ×àÛïýöŸ=âþu9þ@ºË9Êe|óc0`6PJ¨  §ÐÕTs—vºP‰ ,X|òÌÝJH¢t~E fôt2œl€…'®<†ë¡Y=>yòn4b»´»4XqY&ôtëÈ‘T¢§ë`‰® ´Õp ºÕ*‰t®5í zóÊëê)P“ê0=®t¥hS£ÎuÛP^6XžÑa:×䥲é0Û†J:郊@à@¨Ðu¡+­ Gœ«t>SAWùjN2ø\ç>ü<>¢<ø\ñ®êפ´¾8“ u}iöi¹½Åvöƒõ890ë¬l-µÄLËš’U™ÝY«;³QÒ‘žgUhUHž$ÁÁ8¤D’€ˆ1Æ¥GE‰º!Û’ FpÖ18æq)™Çœá2h––½…?»ûÏÔŸûBuú +s!%˜'¬ãÎ iwn#sD-9²ÎvûrÔLjÃ!Û6®©ZŽŠÕ´œea¬Þðò7=Èœ_ý©·øO¼ç™7ï‡ÆW¾äæWâ;8?çųÓ5´3UÚ·Ç®qA€¨ÃþöÞ;N“ªÊÿžªn=õ„ê8=9fH"HP0yÕŸ,æ´® Ì«¾fu]W1bZ]]W3æÄª d…f˜Ø=ýtw=±n…{Ïïg˜Et‘àû~ö÷þæüÕÝuëÖ©Óçœ{êÜs¿gUÂmÂbA 'ïüýÖ[6nÜš¨¿4hET_QRQ­¦ÉŒz{æ<Ï+ç”Tƒ¼_–%ÃKâ©™dÛo]è¹c3fž¨7‡åœ•c@²›Ý¶ýÝþSs¬¹ýÖíç¿ó‚=;æ\UzB ÇÞ !@L:ìöz½¼/¤ Ãpjrì1§<$I­uèQGhöìªÊóþõ`½'¹8ôóÃê‚OÿøûWÞ:ÌóXWG¬]uêñG2¯ˆUPY0—ÖZ-þß/–'^x1€¯¿ð1ðÇ­ÿû‡Þÿ‹×Þôì/þdº½åñ|ì!+|…p¢îï]ÝôÐǸáòÜ2ø »™ˆ |lõ„'ýôA'Ý•¾=ö‘ü‹Û×ÿS?£ ÿ?Ô£ÔØ®µf8J3&IÍÔMÚNMèÀ%ñJSWbÂ}„„-FUÊÏ,ŸAîg»t!³å­àédåøLJ{´»dm˜4R»×šhd'©­I& £ŒøÙ÷N>€qÞWœ`R’!!Á€ô>èôiUr¾RR&’QÄ&D`¼ Y)±s{HIªAµH0¡È¹ßãA_p ÊWDZ†5ÝhrUÒÍÛýõ›[vøaUS¡ÖBAITΗ DÖ¨5z½"ËœE«¡ÔdÈÞ÷R.s½ju³rÕ ³yU“V éßø‘×õ:Ã¥=}ÈÉÃ:'Ö>õÈMÇý³I»~­”+ÇV>ô±¸f÷à’,¬M»_ÎLMÐÁÅ!›ÜÖ‚Û¿Eßðë‰r<öH l¶åW?›_¾|¹ÑrýTR‹öU•ª tN€0:2km¦”rUé½+ËR”bbÅx0‰%š‚Áv˜‰@ "G¢òyQò7¿öý¯㇭¸VK¬Í“µù¨åsáX@\±wE`”<øÄc¦§&ˆ ”By:Ïûz ±¯œ£Ë6w~|Éåßûé›oÝY|ÈLò¸£ùŽ=TUCW 9C!5C”…­*úÖKž(„”$}QxæÒ•JjIT”ù)‡¬8ýA›L$ƒ@ ï&ÑΪTÚ(°1žJi(ÊH!y–V-,”ÑaÍ„£>wGßF5,Ì~TÐòƒŸM¯ˆß{ãï~ä³cS{O#Pc]üÕ3†í c¤ùÒE/kgߤÓM:ì°uí{ úZ0n?RÔhª»Ö·tiû_ܾøŸýqÌÿÜe„övO倈î…ÖLèL¡,¬¬EZf „Ežl¿Jê- B@Âö=¸Àõ(OÑHfZË1¥Ì‘¶Sìê YÀ˜qkmÚŸ3õ&(Mf–Ù°µõdfÒ¥iŒ¼d@cvvï¶Å1Ù¥ÔÓïk¦ð&œ0Î¥{÷¤À¸1v¶ï;o&òÜÈs„–¹ ÇMèKx‹´êXÒÛ¶o1ñ¸áÒ¢5³jÙÌò™´×Ù¼ùV”H‡[¬­ÙèfÈe3äH-Ë|ïä#©æ™°a„Þ$ Ì’!”€dPá|‘åÄè!¤PZz-¡„ô$ÀLÞ±g¦§äÊU²ÑJÓÒ’¿uKµk'õ»ä †')‘.Kl¿ 7ßä·ì°«•dí¥ð²²ìK©ìlÏõí ,JÏ•Ë2 ãûƒdk/Ê~>¨ª*Ž"U ›ç6wY>ÔZÄqm|cEÁRww·» ²{ÊC–ç² ]‡½éÅŸÍyu¹á±¦’E´=·Ÿh¯ß,³˜Z£NÚÐüÖÕðå+áKˆ¹v­»%nÔU }€PúÑ€H!ÈPU•ÞûZ­–gž„ðLq\'`ÙìÄtÒÙ1'•²eW†aÌl{ÝþR ¦§š-k ßé*:ï²¢PA@$’¸Ñ. † eBH­Ôƃ×>èøc8çGÍŠ‰ ’R*)¤Üçù¹òÛw-<ëÌ´û}æ ì™<È-ÍÏQ¦=?;Õ ¨Ê•ÔE–9Þ9ö$ ª²Ì‹¡1мW£´2ŠÆ§¡HH_‹B©õû “‡lêõ ‰à™™½BËP‹Džr Uc¬ÅÞk(-ô¨ŠùîèÛ(Þr£³Í‰Á|ï’dbÃ\gºju„,WBxÃÔ^9ÌVÔë„ÚU™F¶ÆìpÏæ´´b¹µ—£©”ep×úfCÿ·¯þÇ2ßãe´"Q†ããc‡mÚø”ÓO{Ê“ÿZq J¸‹1ÖÚ~üßøæ·oÙrkQSS“‡mÚxÑ—¾p ~ø?T’R›€&ý4ë!ï™V+iŽmË3Xk&"ƒ*GÕ@Þ·6Ðèç0I KQÝÿ”Slf-2”lså- 4Æ0°6ÏÓÅ%i¯A<»°„Q㌞3¨LX3j a¡˜Y;¹Üp7ÍÙ0À};³»JÊÀ@0m8³TOšÖèIcȦÙìÞ%ë³Q¾×D1‚Íc jŒü±}Ìn»;,i£‡Öò¶­Û µ6mÚ¶—Ò¶™í-¤%L½cÊĨи×òáJ“R DU14JE‚…„ðä‰=•/@Lž|I$HH"ï0ê¶ ]0Iv޽#°BJšzjŠV®”Ë—«±1ÁD;6V×_ŸßxïÙ­K+<‰,SÛn“ìüÂ^”Ciˆ”J Ïž½ÂH lo÷'ë5@4êQ\rWõÖA¨µóUVZYU\eU¹Ò{ïà*'Ø{Qè8ŒŠ\­›¨éÿÑÖZе‡M³Ql¹¹÷«y>6èºꨕQg›XúÂ3W]tã¬ZÈÅó·R©±®‡׊rµË‡%ÕD aßcBJ”¨ª* Ã@®ª¨Õjq\cσþ /óõXß^ìú¼ÒRU΄%¯f³$ÆM¤®âÌ.v{R+£ÊûŠ”d!µE6ð䤔züWxèôÔ$È33HJ!„TJ Aº}¡ íA%sx0ˆDæüå›o-¹:ᨠӡVE!=±¯„à@‡¹-„¯H2Sɨ&ÇZB ué«åË—¡Ê]™—ì-˜j6Î-VQœLŒé0‘gO "rì W:ïA‚”$ 1ÊõÜ}›Yyóì.÷Ã_’ ©lî¾î‚µµd–)߃Y‡6ž¾*ÓQl+7Ë¥¨‹‚ÁJå™ýOW ”APIáv¯;ø7“Sæ®õí‡}ð?÷¾_O{v{Q–·Þºõ³ÿú…³^þê/ýÇW¾ð¹Oc¬…’ºÝÞ“NÚM7ÝüÎsÏ9ý´'¾úšk?òÑOÌÿúõonI$“SÉdËjZëgó­IkÆÖ ÝC)MCØþ>ðÅÐ@Ï¢ƒ²it6»» ÔFßj¶è¡ª§¶4Yßµ…5õÈÔ£drÌ‘Ţݛ0um'H{ È06u3c„iN&u¶å2Óï 6­´·ˆ`ÎhcŒ€3E˜f[†pjv×ðÀˆ81"²Ö§9’F{6‹’ cÆ!JL݆!ˆf÷n4¢™‰1[ÛvÜlûsØ%’æt2ÙAØ’Òölj»³i{'Á‘`¡…"b ¡Xz†'fÍÞ1{x&E‚Ø“ !¤ò$<„àPr‘ó¢·èò²’R# E¨Éh5¨Õ’˦Åô”\6_~¹ÝºE†Aæ‹Yò¥B) Ž"I2P䫊y =+"àዲbǵFÐhF±ç^o¸´8ÔaN ¦rÊ‚ëV]õû6 d‘9‹ÂËAé8ÏÅ­ûü;¿úŠ7ãqÿ¶ì)'OܶÐËÿ¤ƒiº]ýiLäWKßÚµzË5©»Já!µ\sd|ËBoiœÕ%ɪ‡­$\ "¿?"¤B8ç2&RJJ!™©ÙjZƒ½”RIU«×îâÑ—þøR[”ŸûÑEžôÐÓ›­ú7/ù €§=âÉaPû×ïþ+€g<ö¹Bòg¿ñ1:ñ "]B¸¢T¬5§Ÿþ„£ïwÄ蔂A£‡”J’Àþã¾ðÕÌDü¾·<ç…oüäÐjÀJÀ±È€›ÓÎôÜRŒ[&9TÙf* |™³Z@“|Ô…ßpûŸ‡²8üì/Xøì+ýÞšWÀŽóŸ¯c“ðºèÛnÚ^h›‰‰úø„ ÉðÞWàJ1† ƾZ™»¡o{v + D‘\â pÌÈíƒ[ Ã\D–B@)0ƒòQX±‰ÿ’ÇÝÑ·Í¿¹ù/n_ü%Üû½ž@ëM}÷¹o«EÑyüðû>ðÁQ3^fþèÇ?ùéÏ|vç®]ÓSÓ/|Áó^ñ²3ÓNçÈ£/Ëòúk¯X¶lÀììÜýŽ=QkýÛë®LZ­?¾…èÎÜyï?xÁGþås_Ø3;;³lÙß>ïÙ¯|ùKGù›Q&ã#|àü >²uë¶ééé³Î|ñK^üÂ;æ9>ð¾÷œwþ‡öì™=øàƒÞúæ7\~åUÿþ¥ÿXXXØ´qã{ßóÎã{ÀÇüˆ“Ñ$:ÿýï?ÿ‚íÛw´aý{ßóΓOzÐþÞCw‘MyÏ{ßÿ›ë{ÎÙo~þóž;ú˃O>éÁ'Ÿ´ÀÇ.üä›ßú6!ÄääÄcý¨·ŸóÖF£¾Î÷¼ëüÐGwïÙÓžÝà£ÿÄÇ/üôìÜì†õë_ùò³îø K/ûÕÛÏ}÷ïn¸‘™ôÀÎú»3N=åab”M+§Ò¼H{m ‡&®Ø i(,†Òf!4LÉHƒ E>ZJÒîlÚî3—4ZÛn]„áDÌ ¶¯ëŠí/‚†ÐJÀpÍÔÙv°ÛfÖö“`Ò´!PÆhˆ¤šzÓòÐvÚ€AY¦Y–¶æŒ¨s@/í1ú•Ív lîmž%Í8™¨%zÌD&m§i{¯N“ÄcŒ ¬•™µ‹VJÆ$IÒ¾7¦»nÃF”4ÍÒ^šv ›w Õg–/ÛtغÑ[ÌwòÑaåKr^ /  fïH‘Š ˆQ?:bÁÄEB hMa(ÍR’J“Ñ¢Û "e‰ªä°º 1–ȱ–K„®òåŽÛ´-à §H5ê<6]׊•{}!•( ç<p{œ^]UVy;Í™Y ÕhÝΗ%|QZêɉàëQÍ{¤‹ÝÌÛ´;ìö¬Ñ22S#)Í_=ü~==ñêðŠßä}5˜Ú? ±²=ôwÚ½mÓøÝIÇ´´û]µ[^?XÕ™¿TÔomsä¦u¯J;ŸË\ò¨ B–DÄà GÕ! ”ÍfKJáJ_‹jQ-ÖRm8dÕ ×ݶmŸoÑ‚üí)ð~?`ßIéz Ýí'i'›“¢Ì­KƒzøÄÇ>âq>Ek5*?JŽ^¥RJ+)¥PRÞ¾×Sò 'm|Ë‹ÿêÜO~`‡W¾Ãøå¶Z‹™­;ݸ> «ŠsU3‚¸Q«©pßÚ1¶bºìûY‘¿ýÏðÓ“’+åEßzÁ$7,ºÝÞ`ï^×£±ñ¸“¤„’ÚÌ$II!G«Á]ëÛÎí‡X¾âwRÈ;ùÛ?Kœ+«R2U)Qse}ØoxA5Ûžæ=÷„¨@{&0ˆG‰É± œ~*/_}sUé?«o3Sqû:àne¾oõ(û¼çœ÷Á_ô•¯b”}äãç¼ýÏxúSþžw~ðC}û¹ïVJ½ôÌ3žúä¿þ×/|ñË}õå/ý;_¾è«Î¹g?óécIrÁ‡?ö'o¹ÓƒÎ¿àÃç¾ëŸ^þÒ¿{ÃÿzÍ;ßýOç¾ëŸôªW¾lÿ€ï|ïßúÆEDôê×¼þMo9GIõÂ:ïm8eÍÌšeYUWj©nÙ¹;ˆ†ãÑV< ¤ ‘RÁWÞ9/¤ªÕk£Ø¥Gq\«œ«ÅfýaëÒþ³û W”ei'êÍgœúÔ¼¬JçÈ»‡óè Çjq]é'?üU™7kµ…a¾|jfçméúu«ñð“Ã0 !hÔ#‡ˆ½‘TJÐP$«â¿Nõ‘â•Ï~Ȇg½é ïQT<€¼~ÇÜšÉÖúÌN4"DÉXBž…Ñxsççß”(.}"=ÿ©—« (.&Æ7õÍÒ9ÊKé] ¥BBÖž!*Wõª¥,³&lÔ……Ô$4¤$’ÄÄîBßn¸þÐoöJ‚dO«–߸sOzÑw×ÖÍqµh½ËV·ÖÄfB‰¦Š¤Ïªù½‹×ì]¸Æ‰í^n¯¸#•%bf<@|ú©üº³·r¸º;úö¿Ã¾øŸÿÎ¥ÓCN:ñg—þjqïλS{Q–Õ̪õÖ{vÞ à˜ã´}ÇΫ~õóõë×u:Ý ‡±vÍêk®¼ì†7?äá:ü°M?¿ä‡ü°GÞ¸ù¦_üçÛ´ñ¿»åN;úØîܵëÆë¯™žžš;âèãV¯Zõ뫹Ø5W^¶vÍjÛnÛþ€N^¿níU—ÿbÿÕ›nøõäÄĈ[›{íÔÔ¤÷~jùZ"¥(þ,'¿ýõ•Ë—ÏŒ&ÙןQfV­/Ëjn×V¥þLü眛^±nb|üæ¯Û?óÍ7^71>>ð€NÞvÛö;½éþ§¯=è°²(¾{ñ×7¶1 ‚ÑÉ.þÒŸþ⟼ñÁ¶ìÀ¶ße>Mm’$¶Fy“Œƒ£-Kk­µÞŠ‘³Í¬­rËQ3qCdLzÑÈ&4¡¾Åðöôl‰’Ó,1:c1*‰§š  … ¡PH&bkóö€ÙÞ˜h‘¢V3†’º2ÆXÔÀC„\ZAÀͶûÆ&2#ø¦ýçgçmÒ@2Ñ´E™v‡ÈaË®ÑM[’Ñ<ªÂK¦§Qòìüœí’‰å÷N>ïºîKyŽ¢EIeI®B¨±–œ^¦ÂF¶ya¶èô«¢`"H8­TédÍ„ ÔHj6©‘1ˆŒh6©Õ¢F")Ùyomå=êu16®˜é¶þšëüUW"/Zcy£Q¡|Qxka-lNyNEŽO½á};iÝi¸»/vºY^J%£PWCfâZ= •nÏvlf'V4yÏ@³KÖ»v,¨H7'êJPº·› óµ-3Q¸P\ÿûm¿¾ö›ýC;jrÕ4×å÷¾ý½ÚÊs0„ iBmÝkÛ^1Œ¦G½¬hÆ‘«\ ‹MÁâƒÖW’ƒÞädÍU®°Y™çrk–²¢\¿~½’¢,‹4íüü¿Z³zåÁÖ-v:ßþÚ·Ý:›Wv*®çÖFeeµ{a1z÷Òâôä²I+”z±o³2' =è¶ í/}Õ߬Yµ¼ÙlI¥ˆˆ Ðh»I)©´PJJÒ½önÿ€eÍG ¡ ̮ꤽãŸuÞ®Åy¦ÌRBÆ(ï¿|ê•O{Ä¡+#;NMM´â:—Uá Hé­tåc3ç}IÚ9Ê¢NhIF±’`¦²t…-¹òJ’©×Âz]†„$ mH)(1;÷­ç¾ýu÷Hßvî>jû–«›õeåÀÀeî™u‚(¬Å•+;…a±˜f7íž¿ºW\ª¢íBV GÀ3å¶nÛu÷õíµ‡¿ø/n_üØ>æüßþä»=ò O19·kÛK^öÚ{–GÙ3; `ffÙè×Ý{f÷À‡ì°cç.‡¶éÁ'Ÿô‹K/ûÍõ¿ó›ozȃO>lÓÆ»¸åN4;7`rrÀÔÔäþGï§U+WÜñ‡»þ`’ɉ Zï{»Ñ £­"¾½xøÏr²|ùÌþIø¿)9þcšžšÞµ{÷ü|{tûè—¿ºâï~Ïõ¿½a0Œæ\\Zúƒ¸ðöÀÎ]»ÿøM÷Ó›ÞðÚ·Ÿû§>ú¯¤”GuÄÙo~ÃÃú‘Š1dK¤%»”%““I£•L&ƘÙù9›!í‹´7oŒ˜j3*Ӣؘ}€T–°‚¤ÙnÇHB <0²i™P ݵeŸ;#`LÒ¬Þö¤ eN{EÚ]²½ECu#ülšHš°–M8°L¡S×7ÍÜ4šI™6D0ªð2Ah4;?‡œÍ¸NÂI[ømÝùuSˤKóû^“i;è§Ör¼î'“Ó¦ÍîÞ Ž¬lÞ3DF7͸¸×òY6I„@ IDAT¼@Yø<'›ÃZï7ÇäØ˜š9a0 -z}_x H„5ÔêT‹Q‹ÑhPÒÂø87×( VLÄÝž_XôYææö;vØ^ÇM-Ž=.:xC´fµNZbÕrÞ³[ôúÊ{0WÞûªòÖú,óEAy² ›bn®}SÇ×Â0ŽŒóH=¬l½¶šM缘ÛŃaîʼ$< £\2VŸŠƒ0ö‹,/|ˆanm•I¿j¢ŠùWhMŽ'I³¨ò±¬§‚ÚøÔ„Vª7¬\åm¯h4"AÂå>+k{®òUQø2WY8V€„%4*aï ’͆5¼DƘ8Ž˜=3Ë–}ÜÆN:¯ôØL+ét‡Þ9î•I#ì¶QeÑU> ki Ê¡ÍÇãxù²ÖY/;szÙD¿Û­\¥‚`äñˆH!¤”Z ¥„”Rn?÷à\é‚õzôš3qöyÿ1È%„ÊÒû>ñæ]{sðÔtCbª¨²ÜEY(.QVY’ðÌj=>] baQ EF2GŠÈ1W®žÉ{©´6FI’s±cb/„A(ÈtÈ`°gõ4¾“¾]~Ù1Gýë»Ð·õ߸õ–´·m岡( !5IÅÌ®r€hÖZ ÓhÖVδ´cïÉ[öüÌ5*ì=ç±åW/þí=Ò·dåØ_ܾø›Ý‡z”ýô™ù€§<ù¯G¿®\±ü¶í;FYŠ;|É‹_ð‹K/ûÒ—¿2Z‰_òâüÙ[þ`¥ŸžÚ½{O»½0==Õn/X>óKþÎ]»GÙ…Ûò•÷t1»›œÜSzÂã÷ñO|ê+_ûÆËÎzÉ_}ágÎÍíý·ÏæÔ‡?ܹjåÚCî"úYµrŶ۶ßéMï á>ï¹Ï¾áÆÍ?ÿÅeo?÷ÝgœùŠ›~wí¶o”0Ó [Åi»¢m‚(o%L`¬€)rØJ ì¥€-y¦3™Ø´iÛ˜ºAÆ £Q”¶ìZª€[ÆX„ÉL=I{ºs–›€µ°ÖZo+ŸîÊÓNeÌЄ«“†0¾iËnÒÄTѨf’Lš@˜îpæöö¶—¥–m¿j™ÃtŒi%–Õ ‚u$Á”íYkÙVÞ8g’qÓˆ ú©Á¦ºAØ0(l¡LìA«m±Î/&ár3!öÕÇÊòìAõ{-Ÿú<‹!³§Ê!`¢Ö8zG¾r¬C4*+.KÏA¤{®*²Ö÷ûÞ¡È92 ø,wN5»7ÿÝýßß< |3‘Û¶ÇÇ> ¾ñÐhz"ذA®\AY¦­•Öª¼¨²Ì n8ä,óÃŒû}ˆËáÚ–¼jǰdÇE`;Îñ0‹*Ç^ ®5"rä¥*ài¢ÙÌò\TqEŽ\2ˆÓnÏyh%SM)Ã;Î…`!… d܈| ”N ¡µ6A˜¹¢ÕˆòÜy‰0Z8Eù1ËõQë–ƒ÷ðíëäØ&/›R€µ¬r0ºTÊ—%BJ¥5@D¤•<ê¨#ÆA‡šŒO@P>ì/Ì͹ʕeY–ÅŽí۽Dz™é(ŠÂ Œj5ŵ¸„š™ã8Îó‡^*E!¤PRH%µR¼­û>ù\6Û³aÔ‚ TR¼è '{èšw|èWÝðû~áT ‹ óTµ|áÙ {³ ÌØdsÙ¤I¦ uÉŽYLOV’ ì={WeéË’ r­H(%” ¥&©•VBJU™&° R4P¯ïÓ·|ïx<éš(w­o'ž¼åòK°ç†ßh­‰®DΕÞy%$ƒ-Zõfký©‘ž:îAOp¿\|¿£ï™¾¥ó»þâöuÀÿ˜ÀÜû¥(Ë­[·ýËç>ÿ‰O~æá{Èk^ýŠ}Ëä/|Ó[Î9çïz×;ΑRüêò+?vá'G‡lû˜G­Y½ê¢¯~Ìk׬~Ì£ùgo¹#=ý©OùÀù|äc¾ñõ¯ýðG?àožû¬;8ûœw¼ÿŸÿ‘ˆþámçŽì{º–ÝMNîDÍf£Ûím»mûºµkþä€×¿îïqéeïúÇ÷6õÓO{’Öêšk¯ûðG>þ…ýô>¬ Ùhæ¹}÷{Þw×Ïzñ‹žÿæ·¾íìsÞñ÷½ÀèM÷Óß<ÿůzÅK<òˆ}mˆOìëFØ"3DÐlÂÚ(]iCmÐKê‘ ²4_0¶?‘LèÔv°Ó#ÌÔteA¶?@ÀF«t8†á $9P4MhÓ&L¸×6—¡³×Z l‚1yÝsÆ QÔ@;-í™É)¹·eT»ˆÀÌ4#Ë™--rçkI³nã¦Þ´½=Û¶ÏZŸÍL­HšËÒî\še¶Ý8;3é“d¥ €À¡ð@ vaÝö÷"l˜ ·£È êfÒØþ"8²›F@ÊfçÓDû{'Ÿ;}ž‹²T€D ’á =RBˆ 5ùP8ÏZ±«ÈfðŽí{žÛÃZ²T>|½Ææn¯œËg÷ævû=[²\þòÒb÷îáï7Fë×GÓSA½.-”¤(†Ò^)pQVEÇ-´ýB›(³êèéù+dzÓBÑÇ ®jΣ¬òÁÀjEA(ëq<>Þˆã8/‹ù¹Eò¼wWJSáCeÆq-ÔqU¶ªJï Ù•Ò+Íi¿òžkEß9ÏÄY·,†…™Pͱ0Š•iÈþ}×{_8Y7Õj!N:xj2jíéîе¶^ÒšÚ(ƒåðÞ;Eq]ቈ„ RJR¶ Äq<1>ÖYZ$æFÒ ƒ`||¼,ËÜÚ²*¸×(%ã¸fŒ ´Žâ0Bˆ(Ž1³÷>¡”£ô‰$.`ÛÛýµ¯í´ÇÄ’£NÓ[~šî](2S‹:ÐÇ2ýõ κiçÒ¿ë²/|ã'³ƒ¡w;½…ŽÒµ0©I½Œ“ëÖ)œsEž÷³AUåÊÙx3–R²$'¤“’µ;Ï>g&B‰Š¸’5¦º@Ä{°ÈCäüü¥§Š‘¾]úóNx௠î޾=òQ[´æï~ç~#o°tÛ-E6T&"æÑQd¨±u8nõºÕË¿TXÜc}K˜üÅíë€ÿ±£¤Ñ½ˆQ&gÖA0>>¶ñÐC>tþûžöÔ'ïÇGyÉ‹_hŒùÔ§?»éˆû‡&<ñ„ã_zæ¾äâE/|þÙç¼À+^~ÖݹåN+½÷îË}õ#ûÄ̲eo|ýk_õŠ—ÞqÀãó¨¿zâé·ÝvÛôÔô;Þvö‹_ôü{£Ü=NîD¯{Í«ÿùýçݱ.äNÔj5¿ÿo|äcŸøÔ§?û¦·œS–åØØØ‘G6ºzáG?ø†7ý¤ÓŸ¶|fæ•øF’êr~âÓ‡uìÚµk_ýŠ—^üíïî¿úÜg?󜷿몫¯!¢Ž?îmÿðæÊPI–ÙèÈÄÒ‘öRã aÒª™Œl?5ºiŒ@ÎéÞ½û¶Z›qÖmÞK[o¬µi#:Æ0Ó@ǘ–µÞŒ¬õ&¢™Mãc[ù´-PxË}Û̸Æ @(,Ãîs¦5mmŽÜ#ÈûuPÑ´¥51›‚ µ¬-­µv!²M‡/Oš‘ Ì>¤êØ™B§Ed{mäyšËÄxÄ0laQÖØ~–.´ÓaψzR—0õ¤.÷'Šï©|ææŒ”V’ˆ*ÏΡ°<º²`Rhh@C)RRR¨„ YU°yå‘Dì˜|á|î*ø\¡(в›Y_”2w¡¦@¹‚Ü`èoÞlÛÃ[õä´l6•‰(2Rká=¹Š†CZXà½sb¡­zýÀ¯^\9¾à”C¾wÍmO>ã3þ×yÏO‡…÷È­D•*s_©PH)ÆÇ;·Ï÷{ÃéVâàŠÂ3ŠF="Eu6‹í>yv™oŒE¬¸tyYòp˜•eå*žžjêã™Ërç8Ë¥D¨Œ¤‡­ˆN]cŽ›X懵… ¤¯ývã#_}òÑ«þî)'>èøD¼VÈ1×[­(® À‹}[1a µV‚ÈWNH15=™ç…wU?MkõxTßFDÚéV+)Š* MEAÞ;ÇÌ4‚²%)4í¯Aá¢òÉôj;~ùñÒ¬zæËÏ M”þæïiò˜z²±6÷«Á–_zK𠆺zì /zøO>ú'Wßò¹ÿø™“Y}ˆ—<¨&n$‰s޽+†ƒa¯Ïe! 루ÈsYKêR+B“rޏd_yç=³€krž=‘ð&€Xñ0œ<\Lð÷ïz€Oâi§¿þìãO¼‘ÈÜS};éä[ˆ ~ö³ƒÿØ1¬ßøûªoPqû:àŒ§{\3û?“`­ »¨™ýÎËÚW5Ë?¨SiEP(ë¶$¥µlÌíVaG…`ñ¾†æ€1£–W9rŸöxˆj&$&C³‡1µ62ÓMä¹iN¦¶TÖ²í[ÂÂ2iLcÀƒÛÈ÷›«!²šL$((2ZX°-,SoÚ~×PhónÚ×p{{[ù´ÛÞtÐÖ÷÷½ZÖ³•‡ØPÖ–½!a¢xä Œ®Þ ù|%ýÏ¢aè—Wô¬õUÅðÞUpU,È íƒZ ­)Ô0Z¤ÒWà à ®’RÊȉJ‡2÷®¨¬°ï]áUN±CP ªœwÎWeÅŠÜä¸H&˜T!…«ÕÖÙë܆ÃaØí„ý~xñyï0¹ú9ퟰ,yLýøýW®ñO–ˆÆjÍ|PeY%4Õ›¡B*¨¢(gVLj¥+ç2k‹2¯œ#‚@Z ’EUƵØyï*„2л®ÿþϯ>òä'L¬h «^n}Xä¥m5E#b9(·ß8{ÚC—»á~I4±sï7G<´»ñds@¯k6c8¼M«FaVÊæL­9î/m^åyYV›oº92ffzr¦"¥5®*gj5°w®òÞ»ªjÏÏÏÏ·§¦¦Z­ÖJ_J©”–J¶SFzB !…Õ ¹âˆýbÙòçމ· ølÛÝöÃÁ¶«+5)ƒzÅÞÃÊ—£J[©B…²,úÝÁ`˜eU},iŽ•Ã<Ý»ÀEhiŒ65)¥(m&ˆ]Ȩ¦jKåÁsÉ®òÞ13P“¦©bHÁ’³ 5#–=áØ­?zÚ¾HbÅ [wàÔ—üÃ}×·ë®8rÃý/¿ïúV”æ„c“‘-<Øý—²¯þg$Ÿ£_úûZ3{€Ðÿ7(jÁÔTÈó´_™°>Úï4Ed{BØQÙ9Õm¿c @#qÎh rå Q#A/í×, ô­)8mPÂä9‚Ü¡EË ß Lؼ i´0ÎîœK†)§I3±Ô5ÆQ·!„ kˆ@}„ŠÁ3*—Ëóm7ï2J˜¨ íÁh6†LTÖÂZfÃ]Dã¦F£¥Ã#bºÔÒÞÞtÁ#¤¤ dņ}5ö#¯—{c„Hí=“ÏǶ|gjZ´Ÿ“žÿØÆøwÞ"$¡BÒЏ*Q0å¹çŠ+ç½óΊÒ!+e‘û¼ªØ;%DY)ç’ B¡ §ˆXJZŠQ䜗^k’EU¹¥”½RºæàÝ Ë#=á`ö:ÑWþéÆ6¾•U½ôZ—n[ø €5çí«ñúÜ«ÀËÎy®ª…q ³¢êvŠZ¤HrØÐ’¨(*fÏÌUQ-tzDG¾ÈXJk™—U+n­n¬ñÏíÙ½8hÝ輻®[[ ʲÀboWn+ªÙ¬W=Q{ÐAð¨Æ›k÷,}wtŽòË7¨ãÖÆJÕ¶–ËT>·zë;àW¾viöúzosŠ“kï!D2Ö u#… !ö•t€£Èh­wì=I"¢Z­V‹¢}¨±J)¥„‚ Û¤&9BÞ‡pƒdæWßnÀŸà ?~:€ øbcúþÕï¿‘÷Û¬JKö EU¥ ½ÒºzhP¶—ùÜöúýlaI×ê¶bÏZ&Wš{_R9€úÊôjISÔc¥#%TYIç™ABÉ€µ°ÄU¸öÔ8èÖ?c_t²òƒÊõkoCu¿Ÿ|ümø¬·Ü}-¢÷EßúÃpÓ†ÚÔ´£}¶pC|ÝøÝÏCî‹}ð?w’Ï}­™=@è8%S+lÖ³ý^šw 3¼0"N&*£ŠÜ‚Q°e¶ k"p†Œ7++aa˜Vd­EšBYÀV ä©-½ÆÐ£sˆ–áåÍØä@H2å9rXîÓ4A´¬µÖXkB1n¸kMÝ0:Bѳ!2v˜$5£“´Ÿ—¥Üìû@ÙÿÍ‘ ;:ûª! ˆ™ÆŠ¤6aW³!2õ›wmaFÌ3°ahˆ’©øîËçm¿øA2NžýºƒüÚi%¹Ò³ç7¿)y÷{–¤b¥\`(_UBä”8«<…\ž|ΙcÀáU X²÷¥µåØyÁ‘B(¨rÞW¥÷¥öÕ`ö R`UØrqNȰN!Ëšh5êPJ”øà·Ù’„+€ZÔ<ü cŸqGe+zxå{ŸGËÆÇeT Ò´»dÛsÃZ¬k°è–ý~&´ Ë@K­U EQV[óí×¶3¿s~f¾iŽnÝ·‚éfM÷ìÂ;V×Ç4±ó’ù¥ömGvÃèѽ¡9{swnÑm(`0D£ŽÒÀúþݔϙßû>*!…Ë„õ¤kåØ˜Z»*¨¼fvµ˜ßÿþé*ǛϙwxMB‰DúŽË’Y _Á•”‹" V¥+˪’9+ªØ³Ó"޼·ŽË*—à”"b⊹ª¼d–UÎU©¸Ð•+½®]ü÷Ð3¯ [‘{çœ÷ W}ÇHåüW€7¾ÿŒ°®i´¢à&Ò¡R½,, [É@B .¬³ÎeYE¡™9x ŠÃÆÕƒ¨ß(Y=p•?nýêo\¶û;ßüõã?Õ÷¿|ò*ïºÚ²rýaVÕh~iÐÙÛµu§ºCÊMí‡;ê‡ågÎYƒ… {ñ‹.8ïo8ë4S›”õu"hµ&&†ý#"†w¾ F…öÞ9ÌD$¤ˆ ©u¯Óõž•„$"RÒèʱ™Cþdt²Ÿ6l<ôOò†=À†S>o&ŽÔÛÎÞ Õ8+]—z¢–I™—U‘;_UBTZAi) ¡³*_ê/Ö›zPƒ@ e+!ÀvP,yõ‹°Y†Í¦¬7”’‹jlƒX~ t󿢓5£ÊQ0À@@%Ü-ëWÍA¬ÿÅgÞ à‘/{ǽÐ7Îá^è[‘WÝþÄ]ÛÂì²ïW9¾õIwß¾øŸ?-Ÿy”ô=Ù\ŽvX+àŠØ2#÷@€1"‰¦˜8`Û{lÎ ah&£}“ô3ˆåÆ ,r[æFÔL¸`D”ÔC 3DCè ð!ò`–í!Åö´«m‡…O&gÒî^ÃCd£¼-Œ!•à…4Zö£t«A\ÇÕìÎÅt±g³ €iª£ÍX’vÚ£-j6lá‚0Ad&Œ­ø.a‚:ŠÂ¨{ŸömÚËNÒ\nêQ$éžÙ»–Ï ¾üU¡Œš…sŽ3.ª%”›as }øaZa+^ZôÛo)O:Vï˜îi7 íI)©k%»’½w’@¡¡°Ž«Ü‘LNUðHkfªJ9ÒJ(–Ò 0*Yæ’UÅŠQ2—âÊÏ}%g:ö³’}n¢ˆ®ªŠ"·CëÙ_é:ùÛ_Eû·{î©l½ûï/ðÆ¿•‵ølleÜ´õÎR¿¢J°N“ãš9çD††5;r&ðÈ;<{HëñÇ­äôYÛø7'ÝWxÛ·Ëž£‰É¦– ÇbjERÍív:ÌòZvúe{èW&~ËMÙA£Æà“¯xv£;aïÖ_qvúÃOŠkkƒp\ö¾*ADÞ“ P9:B ÅÞ;"¡­ƒÐÔbï ’: Q>ø‰åûªDÿd€2Úè¹ð›Ì‹ü.x»õ§ÏÁÿËÞ›FË–Ue¢ßjö^k7±ãÄéo“÷fC&yMP)Å¢DJ}ê³J}¯,õ©¼*:f=:ˆ‹ ¥…>Á†'¢eÙ’R±{¥<:THHÈÌ{oÞ6îi"vDìfí½×Zóýˆs“, 3A­Ë™ãü8'FŒqçXwÍo}kι¾ œxâk¢/õçþ¨Éwy pε¨Ç=qï[K¶²¶ìºª©=cºvae,T¬6Žo®Yw¶³Îy®B™ödª bÍ6žŠhR/ ÊÉ£o†kÑ-;$—Ä €p4›Ÿ<6>sþIòó?ö”ç¼ü3ÝoGŽÞù™î7PÔtª“ƒO3þàî_;¥~Ù“¾÷þ>øsÈQíZ7*ñùbaºZ"½†Œ%ºß¡UÀã ÍX^F­³>ô03ÔlO£ÍF™iÉQÖ+M+ªAÚÈØFK\±ÞºdF1­"¦¡|˜baº]b¨Èç;: ÑZ­°¬ò^U:*5"£˜¡ÒF§ Å€ÑøR™ïíãu°™H jC¤‘40µlž7‹‰a±1S­µ™æëã⊙ZkM5ôÚ¦RyÚš’!df±7^´YH³>ßö_þ` ä@dmëù~G•éºÆä3?±ýI{þB3¾ìª¹—œ]ÍÏœ¶BpáEà”ðÔr`BÙ–êÎÁù€xÙñFvgŽ'ˆïÏCθuÂu––sƒ%`@îÝ¿þzMïÙŒ‚ÆtUYJÎl×yç¬íªª*ʲiÎøÛßøÙpøøÆܘòà„ʹÛÙO<çW~èg¾«´N„Â{AÌyéTiPVMq¥¤mÝþ*%)PTuU`šo:¡y+–Õº%)!˜u ¶L¨p‡îòÉÍßWöjøšïåçn¿Á³ßä?óX¸ã¿òï÷‡øówßCŽrh_y”‡òY8D¯g¬×’k– ´yï„n[Bà4B¨TËØ:G°,êjÝÌܰž)r ¥CJ£1¡Õi/_ìÀ\g¬ÖÔå§kSîj©õ`›™±‰1”Wažð™òYkÍ¥ KS04Q)ñºZ÷W tc®æE¡™aTh/¡c[4Ü´‹|R£™ož¼AS¾t6Ku¾7ÉŽAKB¶™mêò’Ìî¹låˆiöó¢ ›Æä3 —iþPëó/^ûÇ‚…äZ²œX †ÌuAÛ2ç»jî>ú‘æÂå. 5Ö{ŸôÃíczuÀBa··êñn{ß½Ê3"€y<¡óÂ'ÏÁ÷\PÀ9—’¼€÷Œ¸‡'ò Æ8s o%8ÀBò#Ö¼ó7^ àþÙ7·ÄWB„X,Ê®mù<ŸÖUUUÕ•ÝËã+‚óíí­ÕÑJgÝ{ÿäúƒþÍH¦ò“·3ÏyÙÿ„A¬;ÖqÉ ‚•µD¢ªZϬå`7uiÆûÜÛᦸu}0вò#Ååø¢ZÉû½³^üþVñ8ö±eŒmÝz×5­-Êz^š¶ñ':Ô.‘K}©pk£Á¤ÚÛùÛP‰/à <ý¥ç~åÕ/ïv?šö÷ƒþuLF$äò¹.÷%ˆa9Ηs&8ã"’s&|=/š¢¼F=¡Ë@6uUÁ»®mò<ŸçÓ½½ýKã+“i¾2¬¯¯q.T¨¤ Èû{Þ÷.ø _üLåÕK¦ò#ßsä†á¼nêÚ8Ö±Ž ÒT…¡Á•³7ÅõcOúí~äZáÇíù;Ï4]{Ë·+`÷¿\¾g/ƒ­£ëiÔo-5mwùÒg®mH „äœïVYœ†³b6ˆ{œKßñð¼íÙéìÊ]“o<¥åŽãƒ›ÎŸî^õÊÿûÏùî4;ŠxÃË ç$C""räy·Õgœ3ØÕíG=<;¹ã—Ÿÿ÷ôíÌ;žqÃSß 8¿ùxö£ßûåÿËSžÄë¬óËY ŒÀ™LJ.8÷ŒÉ¹r#[ ÀAqçäÛ`;Ø– #0 àÜÕ®”e–e9ЬŸ\}ó_þ°|òóYÚoDL}Vbá%ï{ý«¾þ…‡øóˆøóàõ9ä(‡öG ¡Q)‹ÎhÆòÚ_xâL'Q¦µ „Ê´-ËÍ9´ €èã³¸Ý ÓxÃÚnù¦_óˆï>s iÝjcJ­{:Õù·œØ4[–šŽ¡ÉÑä¦)˜®ÓÐ2Ò*ÎFè›Ò½0 L ôRŸ€RÓ³ ZW|¼{%ßÛ Cln¡õ ‘îG>/½bM'À¤N´^ƒé•CGh½YìÓdÂCI­“«­Ä áH‡6/f^Ÿï~íïñ€ Ι ¼Ž|ÚGo¬ŽäÚ(Èú¼®éüùîîu—ÇÞZâÄ$D ‰ xª`@ÓøiÙÎÖvâÈñ<âÜ=‰—-à…˜#" ß:T-…¡•B2/‰´’"\T¦îºÕ•Ñœ§¯ûÈnæé_ày}à‡^úªj¾?=s'³ï;vËy´ÆÃÞûáú‘½Kg@ŒqÐÊöõÏN<û¥Ïø¬ø¶”T¹þkäiv]úskjG <‡'æ}ò•ϪÞýÿ1 ˜é:Ûþ&m/5ïÊõ‚ÎÀ{p€¥L*@  õ£ti"0$pðãÚ“ÙÀÅ»~ÿä_Ýñðûmoü¸­­»f¿yîA’sñYŒ…ç¾õ?RüØW~ç!þ<þ|>ßüép”?ù¯¿sxÎÚ?~{@çç“,É›Mª–WƒŒb´­Å¦0  ”׌±zhX{õ‚åc?´ñxÿ’i¹1 ´€±,KjE›kk:è/Å—L½€N5cYo3-=TÆ™²C”…Ê4TƒEе¶¥û^³ÄcZy€Ç!ª5(¯öM½·|@˜ ‡£1ÂÀ€gadÂÎ,¦À(M À´M‘7 kB–õ¨$K£|/ÿ¸ ‹Ñ˲Tj6@a—ëóÌßùmƘN†>ŠY¿Ï‡+|}]® E¯ÇÓTD—®£Í–*ÿ!ίì¢l¨6ä¼óŒÇ±ô‰°ÞÕ5Ú ‘ W·ã4–`ì1·DÑ[ÞZIá¸ð\œ¼µkÉ·h`…ðJ"”Œ{ æ#A‰âÿõ5/ðѽ¯ŸÍæÖÎÒÁÊÖѕ˻“ižÇI,8Ã4ŸUu“­¬^wà +Y¯,Þû^–‘„„ eH)^úÝ{ç»óÉþ—=å¦ö5/üÕåï?};{ö+¾3 iÛ[WÅæÆIÈW3|‰¼0y+ ~óì†NbÁwÖ³­^Øž?¿7_Ô‹ºëw­sÎyW—ÆÔmË%¡^:VÖ¥¼œ·ù|nÁZ‹0 ˆé /ô™¦¼ò>ñ¬/¥ù‡^`åÔOÕÓ‹ù•{âø’œàñÊ ;ò>`uûääòYØråØ#w~þ?YWŸeß–$ãú¯ý]Ö¿>Øÿ€¸øß;oì§_öºìËÿÏâý¯#ØÀ/¤Ò|럱ì˜ü8;9ö&8‹9`ð D ΀ðjîdù¨‡àññ™föAMµ èîNfoø«ß€'~÷‹j¿èl÷)÷YVXbŒÉès o^üûçÑ·âσñçSãó§™GùŽïÞáxhÿ˜íw_÷£Ž²43¡6<4õ4€FÖ.å‰ò|¸ÊøM 4€BÖÐÎCˆ ê¼4èL–mÕ §µTF´K\XvœåÕ~Þ0íP•6ŸïePyÑÐ,бÐ6Öíf² ,ç­›hhß}@)cŒÖú ת¸™tY8ÄufÌå»—Ðdˬl®˜iÈì—9(_´¥…&hžlŽ"½=Ò7Ì£5áæ4”73ÓN±‡ñ vOlo™Pÿ›7ÿR?ƒˆ4KR6‰õu1‰$å*\¶f¢mQtž1 2~êÖ(ˆÂ{O»sÛÆPÚ G«jm#¬©=¯yÈ'à;6ŸÃ44ÙïÚŽÖÖy3µJq™$VxÛ’§Ž¬(f(kK„µL:0'ë ‚¤Ç~ëŽp×øëæ³IÓÙÑÚæêÖQ• n(ªðo<‘a´yÃÑ4hrï.ììµuÑïõŽ?)ƒ µÍt6K’4I)yU,òéTpòïû³ÿ¦£èÔ?EBåÁi•㯢×ÜÎ^ü“ßö5'Ó­SV.ì¾yù×øÈ´6¢ZHѦÚYßmm÷§òÊdÚ6írª°eÞ; ¸õ~Q´\0 *«E(„"eÛ†–¬È†ñ0ë¹C±³»›/Ú_½;­¿yõ\q׋šÑsàöŸùåŸ}‰*þöØãÿՒ޼XÙ:±ûî_ÂC³“üÙgI¡vóùçÈ·Óò×íﲵNjìV>þK~üè ;À÷ýÝ^!6ÏÖž?ÀNœ\{JÁ !`ÝòÙ¸€ GrPaì*)q Ç    qrõ ÞùŸà›ŸuÇ'ï7ÖúOÞoý€]ܵ}Æ>×±pÇþoýûS_ˆ?KüyH|>¬õÚ5owÿíÝp4—ç¦ñhƒ¹FsµR:ô:TP)Ò ,ÖÝÜxž£ÑV!4:nŽBC=4€bÚ…F´Ú…šÔ(•h–bJÜùòÁ¤ {øŽ?W:|Ô—~"Sù„ßüvöôŸþîñÙ÷5pÑãà;ÇÒh´qD†y±[äMkU͉MšµZŽû¬a&hÓuÖ;kiáÚ¶³£Õ•µÕÉÞ¢íšEU1AàÁ`ØÓ‘jç]´“ºi&í›Øß:ºWíÿÜk_|l°}ëêæñçKÞ¬}ù3ÎÝû7Ço|ì'åN~júyñí„ÊeitØ—¼ðYîé“o$KEºš± ¦>$ƯÒ؃o’À0«ñ§wׯÛÛn$0~ÐÂB àœ‰ðäÑ7Ÿ¹ð-où…—~Ïÿ§OØoz±|ð~뭈˻™EÀ>?±ðãïÿý|†ŸyÊ×}!ãÏÝ{³‡ÇçCŽrh׸iÈd¬VF¹,Ðåm£9‡„V±–^k ô 0ÔMgZž—µ ÕZ¬È†CZ­$k¸0a¥ëÊìÏ H}4mcvì¸^î7ð÷¼Ç¥ÿ‰…çÿñr¿þÿò Œh³T˜Ò=>r”C»ö9J7G$µî"-$D¿—EÚÌjc–`é“w¦ÔLöNl Lø2ËÓª3ºŸÈ A u OLCZ1³T"´N •ÙÊ:€|Ö›#T:YÓ} –d ðõs.&ËÚ³N3 k4HLS˜f¶‡Æç“åÄ •ê@hT¦QØæh8ÞŸš†ŒÙ£=¤|11…1óÜ-æ3­{Zc3¹ ô€™nnf¤ÐÐÓÿø-J¶°ƒRP!OS–¦<ŽY¤Y¬X²ªÆÞÜŸ;ïÆW\QPU¡5,”VÂñlE„a BÖ_,0ËiQtEcARi¡%b-<¾#[v¾qŒ9GäWN¨ÞÙ<á+ƹKR&$[Y/üÖçýhSU]Û2ð(N¤Nd¶$)yÀÙ.HÂ^´%÷DÎvBp)¸ ‚€³^¯ç¬QQ,ª²(fyY–Œñ8ÒIÇq¬ÂPŒuÖA8̲®i·Ž¹ø±yÔmŸ²î³¤)7<•=ÿ§ŸÙ‹¹sl7/:ëÁÑT®)ì ÑI$“(e DN§ªi»i¾ÈB)‰Ç*r>6:–¤ít^)ãEYÕeí9Õõ$ BÆP×m’¤R(¥ät±pœ‘ÞðÔ×>”VìûDPþÝÏ=çÄ·O&(§)O}ƒ?“¢)!€e»«!8–/tüAÊD€-§`௶¤,eW¨CÀ©^t½ÁèÎ]ùŠÛ¼JÀÄÕ¢#Æ[À`úä£þòÌǾê—_ø‚ü¹Ÿú„ý–õÅëÿóBIö ßùÛÿí5ßø¤/üÉË)Ȧ³Ð>>r”C»¶-¢éÆó9ºZ÷tÖSZkc ;¸O7¥tCú†æ¦­ÑÑxw®s¦õÀ4ƒ13Íú†®zšÕy;Ó>‚ Œõ  tÐ7¼CS›¶€4ÖŠ4dé&:ŽÀçÃbßì ^ËÒz¡ÃÒ€LSB!ku¾o²T/ûË4ƒÌ¢ÎVGY*óÂfõ¼ 5&æÅLã´ŠÁV€èîMÓQš…&)ŒšM§™7a‰f¡Õ@Cäzç9øn&$,¹¦åË7MEÅŒŠ>ú=Þëñá Pn*ßýöž3íå±-ç‰å³LÓ²s½³X[z+B„ÞT¶˜òjŠYIæ£^Q ˆ$¸@è9î8K˜çðœèýïnœÀSžÜoÁòéÏпå'º¶íŒñÞsι êgYžŒo½i[Û6 •R‚3O$¥èÚÎÔ¦.‹º*¥ ¬m××ÖOÝv›Öa1›^ºpaww¿®jç}UçIk-8óÎÖu³?ÉM]EZé(rÎ=â†ZY]3]·?_8ë@d¬Ó!‹Yµ]Å[Vò0Ôucc$‘.Šº˜°º2H4[ß\ áÈÍ‹z’/´RÅܪ0*L-„ßÛŸˆ~:Ž2!ÄbVÎg g÷ûèÛËíÇþÑúSÜ–?â*óàx:‘]öm–ŒE'8FàŒ“‡_²¶¬þÄ š¶:¶¡OãÓãâQGç൬ۓ‚:–Hè>HŸ¼mŒâþŸ}î‹ü诼²O4ûý7͘ìC,<÷mæ~úëžxmãNÖÐ,ô`˜ç—AÙÚ#àó!G9´kœ¢d1m”1=Æø|1>˜VEZ§½ƒ«JÓAÓÑæÚæAFk0Æh=0Æ€h(•á`&§€D«ž„€A¨eaJ´1R®CŽ0YNò4E/Æf¿•&ˆ5‹*PmŠÆ@¥›k[ùÞe4dŠÅæfdºÊPai|× PãÓ`N«ØÌBcçã=£c–õÓÍ£·ä;÷›¶FÛ™ý}:¶:Àxwü½í¯!9ç^ j¯5‚J 2ÛºIáÆ»–9&5Kûn5“­÷/ÚÉ~ë<˜“œ»—nùäEþš§ÞÛ–¡­|YQ-¹µ®­QÁ‰ˆ). £†ƒ¨œ˜·Î¿ýÏ‹wÿÆKÛ?@ƒã®kmÛumk­5¦1Æ †Ã(®­ºÎ5ÎÓ8kã4‘÷çŒM§“®i” g³¼,Š‹ç/œ>}ïÊÊpÐï)]wü¸‚1N€RHá­µŽâÞ ªëÓýpQ”‹ùâ!&üüVw]?î·ÆO«N*î,I.⤷þEëûÓŤ^\l÷9'I!xÄ©…©›¶³œ žy)麷©fóÙ|Ñ”UŠ`8Ђ‡<€wT]×V¡VLÈ8N}GeÞõW”ŽäÿԾǰÕò}õÍÎÁ­ž‡ð–£iÊ ¼+]vœXS(Á:eŒä=É+¬­ù:Ÿo ïø½þH©$È!É­ŽÉŽ.Æ{•Ù»²¹Ý³«•Óz*Ñ,CÜPifMÖë1K^8Æ)ŠÙÊŠ Xñ@ñ àm'âÂïåd·«ÝÎ.]:pÖ6€¥¿÷ô5)ß!ü=2}mðÞK|…35 ¿xûÁ„ÒãÇ>Ú‚Yço»Š‡!# BHM=ÆD)H)à U*$‰ÜuÀææ‡”äíº¶1ƘƘÎÙáÊ0Òº©ëÖúÒ4žXU•Ä(å½kÚ¶mb<Ã$MÏŒ/Çq2ȆMÓv¶»|y|îþûûýþJ6èõÃaG‘Â;×ã‰Ò^®ãä¹m»®µÖ>âŽÚÝŸq‚s+lˆ@8¦R5\I¸tÝTó¶œÈ¬y7ZíYGMS›ªiLë…•2ÐÊs΄õuÖ’9牸âkYJä‰Ã4ÈÎÊ9—dÑU†ýOí8- =CŒÀ9Á|Ä ð6¹ ä 0ßÂŒ ˜ä(‡víÛæ±ë5 ³,n³?˵YtÚÐÜs¦.µ¦|ß Ä^‡‘N{`aÞY-9°ÈctŸ£©rÃ6WŽ›Àê.E tÈ‘ö4Bs%G¢À³l%2•‚èx‘ñµ<˜"@áL[ä“Ê´dŒÙ•Zkø™a‰Ö*[ÛÞ<ê4"ø©÷óž8ù¨¸F\iž¤r”C»öÍÔ S¨šg—h!ò¹R“†JÍCeÆ`ÑÊP0A;X¾Ê3åEZ14 ÐäMºOG#P‰¶È1Òj Ó˜²BÑ¢íôJ‚BëÐê¤ôÇãKù…ó¦›g½Ì4O2žèUÚ û“Å3³?ËÓVƒÐ@3­ÉèHgjE³ØP•%¡7!ߤòÄñS¦¨Í¬/öò½P ¯Q~iÅ´æšõi@EvdC~B€sòÎ75Œ3.*NžL Á!bÒŠ%1û¯¼¾xofÂáà–ןpB¹ÛšË?ª¶ï`âîO<†Ü­nü}M~%^ºãŽë~ê§Î™†5ê†~ÿM7øê¯¹`„÷ðžˆè@< ç<œ÷Ö¶MY¦i8BŠ½Ý½Ý½“7Üè5eÙuÝ"Ÿø®wGŽuΙº^vw®¨®-¯\îGŽ»xáâmyÌãÿeïy×»?vÏ}Ù E¡÷¾i»EQ !µŠ’á`±(l×qŽ$I¼÷Ë~”å(ŸOiÏ~Ù³:ßÍê6è`­SÈFÑÎå¼ #¤TûíÂ%<±8”³yU˜9<2©žZYÉBíÏö@<Ž£(Šü®ŸU¥'$ç4Y“–÷âÄÆÞvõ¢ª!Dê|KŒáAŒ??¾ýÜó~îö‡x^q»R/ù7/ÿ¯ûá|c/}Hßüi gá9„_æE€ƒI,¤ƒa<£ƒÜŠ˜$¼Ã¥èôuÿΑ{.ÝÛõ‹úe]ª1ê9Ç'Wâû÷i¨ç±±ýó;éþûƒª]!ËwÂ}[ŒU, 7@9‘ åg Á‘÷Ä’­®ÊÁ@¨¨åÂïLœo<£«ý"Àú†8u*¼ñ†`u$´F×ÑbAÄyHhO Zók2­DhÑ Ö=">r”CûèGÉFÆL ç•fÌÐèiÍuØ€i­BÀ¡f ‚I¦4z™i™ÃY¶Ð€2˜“¡è0fžçWè`ª“Øð»cìe™RPLº#ÓF¦Ý7 ÊzuÖ‹LÓä`f6CmM4ÓƒÖ:K5B…P1йV):d©_oö‡Ù`8Fµj„A¾Oùôr>3´VZ)Í7͉õ•,ͲÑÑñå‹rÖè¦1,1´Ð:ÔƒH§C„[ã‹W’”q)†LJBk.%sK5-S‘ëè—^{Òµ û™4ôÜíÇþ"cO¥øÅï¸êc®½Oô´õ-´UÝý}ÅýïÔ×?ƒ‰|Ñ‹žö¬çÜwùJ÷¶·Üò¤'}˜ Æ9âŒ3Έˆ9çàýòfé½÷Þù¶mç‹9OÒ°m»sçÏ­mn‡˜N¦ —¦=€‘÷u±œÅq<ŸÍŽ;~òÆwÇcS×ùtúØÇ>öâvöÌéãÇŸºí‹îúà]W®ì !´VÄ©iÚ82q”,eÓ4κl˜ÙÎZgÿû[ß8Ȳ$M´ìdþþÒ¼À¾³Ù\9ÒW+]ÙíEÀ,ÈWuK­¬šfºSJ)zë µÌØö#¥LÕªP5u­ç‘÷¬!nW72Ö“ë\k]çÛNÄãÅê},îíMŽÝ?aeÔ;yý†ëì¥s“$ KÓ¨é:ûÁÿøƒs"àèýòayËÈ|®}{ÄøZ”‹OöíÇŸõ‹h¥°—Ÿ Á%¬#p."0F¼‚óX*Æ.EÛ ƒ",‹8K¾»¿·ñ`|)›ŸqÃNÛê3{[wþæé'ßì®Û²Ôu×­›K»Á$¯9úãw‰?|g¹ž—Æ­f‹Õõö›ž²ˆbÀ;T—ȃIàÓ± ÎQã<ˆ5WŠ÷l4Ó”þæn»w¹iƒ§%û Ù£o n;nlˆ8bT¥ŸÍý|á._éf¹‡ÃÃÄ‚îëk²H,ïœÑ<†bÙêúÃãó!G9´k߯õÔ¹1,ëj 1XÞHŒêë& @çdhô €ÅØ 6ÑlÊÍ °6ƒ膙ekZ¡fŒÉB@eúx–õL SÌÐ,²t7¹!˜Iž×&‹tòé. ¸îò†jÝòl%6ôÍt¢ƒ8Ÿ^ÖÀÙýÍõ8 ‡}^̲8ÏyvD›ý ËÍ Zé[On®m˜ŽÎæ;ˆk°>Ș$„Š7ÃUCdŠEÞN—ÊžGŽ0¿ÔîdŒqH®"!@€³T¼îõ'‰Î‹pÆÌѼ8sù=;ÙM.”Ë%mË{Yy3÷#ÚàŠÿ—É[¹V~~ï=o·Oû§¾ú9À½Ëö”_xõÓ<îË?ØKÄ E–!MÁ1NÞ£ëXÛ¢mj;’ÎÙn±(êÊô}.^¾Ô´ÝÚh¥œÏêbž$±”œqæ½sÖ½ûÏ]œîï¹îºr>¯ëz1]8wÿ7=êܹsgOŸÉýÇ=î‹÷÷÷˪êÚÖºfu´º±¾a»¶*óyÎ᫪J{½áÊP .…Ô:’A.H.#`À‚Q )âX'ƒÈ4u>«æ¦4m§¡o~ÌÉl0觃 ç/Në©1«³º\é%zHñ³¢Ý›Îµ\‘uNtdÜpòد¾ëÌ>Õ—Žû›.V[oºkÿq·FON’Ô{Vµçà\†2nmÊ(fœÃZp¦u“‰›N|Ó¹‡…|f®Iüï B§ÙæÚÀtK0“1áaðù£ÚµoÙ@cõDÆ” a¦ÖÔûô 2D¦! ƒ@k\­¦·ñæ(Ë[vU‡Ö´X˜Y­Ñ@l’ïÓ‘öÈK¦Ñƒ-´NÆ¥ÆæÒØ½L3­„”隬×7`(j¦´yS[hÉ—ž-ï?h‚IûãÅT+˜ÌþEÈ|o¬£U37¦ßšE™¥:Ïùæ0È;§77PÌ"-ŠéÝ.#PZAtdº€fBh•jÆ õ@szµ†1hZîç\’qÁ=8ãÄ8 É4ƒÒ Ù½=\ùõ%¿µyöÛÏ» ªŸ¦äe „ÚwØzÇ\)vÜožxüó}£ÜôOeýÕîÒu,GOx¦Jï}ðÁ·}ÛݾQ9ÂW×GŽÐu9ψ„³Ì¶¬Ðƒs"jLS×&Š"!Äd:½tùòÑ#GU '{%iooï¬1uiï\×¶½8òÎî\¯mlllÙÝÝ‹“ôÌ٠Õ՛n¼ñþ³÷ïíîdYÿÔ­·(­ëª(ó8I•ŠÎž9S•…kÛ<ŸOó<˲^šh¥8DÎu– ÷ñ¦‰I±èë¸íZ‚M¢°Ÿ$¶#ûXë^_7®œÛºœ·ž\×9ï½w±Š6®,å~Õ0BYç(”2I/¤G>¹{foþžsͼ2JcV0¡ÿú>ö¤òëÖ·¶"צ\L*>b:t€«ªzV¹y½±f?¾=|p=÷Ïü”¾}Нv ´*QÁ Ï‚õ4y^‘³ðäà$ íòí[ÎèaAH¬­à_mû{rï£ç“s÷ÈE7#Ÿ>í —ÆsÜû!õ¤/nÿæžÞ0öÚ¡“¢¿Bßòä.N@öá4¼…»¿`uõÓŠâ”Ï}ÛÙ^Œ¬ z" ™wÞtpœÅ ®ÒcEgOÛÉœF«¸ñyì¸È"cäÉ{"Á)R,0×q¥ØÃÇB¶väšÄ£kc$X å0«  YšõÝÃàó!G9´kßò˜·¹2K"b¦´( S—øÿÙ{×pI²²LôýÖZ±â’™‘¹o¹wíºõ­ªº¡¥AFEdÀ ê £ãáŒ8Žsdð8:£ŽóÌŒÎ<:ž™Ñ9 ‚‚"/ ÊæÖÐ÷ꪮª]·]¹¯™±"V¬µÎÜ»‘n¬îõü(êû±TFíürG¾ßzã[ïz? ø‘”9fÃXŠòî‹¶‹RÉ÷-SäQ¶Í€Da+•mI™Œ%h({rp^Íf+;UÈ€ ˜$Jô“PÄÊðlÅPÕ`k(ÃJ+g%1Ù‘d¥dëªm¤|#e „R°ÌAbŠ™í’SrºªI*pÈ+$ xòJåPØT•J纠P‚²º‘.Ÿ¹¨\¥²£jªFŒû>y`œ1?`a aHŒ‘Öhü‡_8|ˆ¡©ó_àò›W_þ'«Aè†o¢›ÃK´u²˜V&Ç©³ðеÃÏ:Þl¼Z©,ŒoeöV,|Å{£¹©-Αü&bÍZ)¿÷{w½ùÍ.÷íܼ^Sªª(­i„ƒ_×^c`ö¬˜1¦®ë8ŽçJ•kçÎÁ¢×í¶itRÊÁåRãŒàÔtš´ÛQ(‡ÃÑå‹]C'ºªëíìÞ»ïcϱǎëöÒ çÏmll®¬ô{Ý^ŧ={áâ ŸŽ“(ð|OUj8vÚí0”œs!«Ón‰^OÈŒÈWk£µ&jâ«+,ðØVϳWÆÂ‰‡¸*ëP,ý"s ü&«è õù×8ʵ¸êC¶zŠ\¡(–>IŠB‡G®SJ©r"YWˆSIrQ¢v¤Ï”ne£5¨®8þŒ@)©véu²‘U²M @¶!“9)!“eìc2‘=¯¿¼ @Õ¥ª[X^’>e»úȱ[ÀsÈ•"+ëJé®TõNÚê©i}üÆe¥‹~%ˇiÒUdd“qŠh0ÙM©ò ôû×¼å#G”ÖÙx’]¾”¶æd"d)M2¯”®•é&2«¹ç±bJÆ8&À%æzXê#Iœçƒ32j߉K´¾½¹üSEýÙèÐ ñJë¿CÕv$}xíØ­ÏåúáDèb+;±qòÒä9¯Z²ù÷û·‹ê¤Ùúo¬óC0Á´=L ËË|~ÁƱ­k¥ê|kw2מ¶ân’¤ÎŒµºÖ\x±ç×ZooïŒF£…ùùv«eSW:‰kL>™rÆçÄØh4âB´âp<)7ƒÞÂÒÂÒò£_ï´à øBž`Ž5¦šË=Éë^ÚÌÏév[¤Ý Ýá¥Â•±p$¼þª¬?˜2ø…ª#)gÈ ß¿B}¾ÖG¹_4%‘3Ïh•ï}éÓù^6ÚQÓF•ÓÔŸ—†$çÚi,3Ý šÈÀC>‘žC0UЧ* R–¥óµŒ•Œ¥Œü mí¹"B 1ój †»k[I¶©À¥$$¨r4¸\ÉíKÊAj’~¨P¨IÊ“’d,¤ÜUªÂÆ4SLY6g- [¶Ú °ßï+ÔþÚà2\!­ˆË@ žÈ¤%[íµM¦Ð"í ~‰JÝñ5Þ÷šóm øü";|½®á˜i-8Û[L˜|Q3PgÎϧZ×azž ªªïúßô±ýS?ücãñîö0 #Oˆ?¼ûýô†ïx]6œ4^ès.œ«ŒuÅ´4.œLëá¨R•ó}?”ç !øL½kÍÞäüÅn: x‚5±dumFE‡Ž¶ÚQÒŠ®ÖµÖ&o&Ú4s½ÈË5¶¡†Y«å¹õ›>v"ÞªˆòCw{¹uÓµ‹y'ÅÆŸÇG¯g—»y1B¬Q†hFÆq«„Ë“3•>&YN•gÓ0ܺ0ŠæÄLµñ·Ïígþñ¿{d^õþÅÇr»¼¥z|+å-UàoÊí ¢•Y´—òc‚ØÙhÖe1³V íÓ |zÏ N$(8"ƒã9¾c½½Xç‹ëZãÌ¥êÝèÿÑÝÆ²xe®ú®—+óŽs0(pp¼yðè@\Ät}–ÀSÁåSTš'ëÀ¸ó隆cc­Ž)cÂ#X0ãÈ:²@ÓØ,³—͹µf°Õt»æú£õòJÑ]+c¸'Á‚\¯Êú@U”¼: à®\Ÿ¯q”kñU Gé¥P;å¦i²$“pÖ•XT¥†™Úβ2SÓlO0¾4Í%­‡€I ²ÒV 5qi2Rb€žwâÄ:j ŸIbé<¥E:8.%’95ÙFHÏÈ^?M¢´WP“(N{ÙÓŒlÉ´Ý\Zƒ.UMÙd·¿ÒÊv²þüUM$¨&i«3¸¼àîg•k²aÖ_ž“IWÊÝlg±L[>´Èί§sÝÙ±>[F\IŸ§ —þRÞº¾Xê†>D†ñþ²KÛ–‘m ëÈ9úþ×vãowâ8‹ ½žß÷ŸÞö¶âG~tòÿ¼ïcÅ™×ýôÏžþîù—x×ÏñÖΡ»^· sêwñ•ù%½ýr”缃0øâ¸}ë÷yù‡N}ð­[;”†Aÿ–6øñ—ßõŸÿäC_ȲæG.ÞÿÈÆ™ ;åPq貺TÙ:I5æ"áqky1-.]º¤µî´ÚNJŒEÁcŒïîîHâ Þ4~ý—þç{ßÿÏÞ [Gã´='‚ øçßö\¼ðÁÏÀé3—Úq{’MŽÞr” Që&/6£04Î’c´±¹yi½å{ÂY×ëõ#ë ·?žMB´EÀÄ|; e`µ‹Ã¨®M]h'´%mm#ƒÈÃ)]70­n4Þ.`™±®RE²;ºåïÛ™o}ê•w,Ý~rþ#»êÙšÝÒ"FÕ‹ÖìÆ6)BÕÛRhu`|wñsåÁh¼Ô÷šÊÀYÅœ…=x¨aôw•Ûì÷üÿñŸ°rǃY2PÓ½Ü>ózà+û£TÕÇ~uíà›¾Bnxb#ÅÎ9˜Û;~Ü€fìD|É7…,ßã0ô_Žb-tßÏßÅ'»ôöƒ´íãÍ'=ã–Ãö%wnþÎǤ”Í]ÏÝ=¸äجOCã  À>üUé|ÀñãO‚ç <›´È¯]ÓPc ,Ü…ó6™n‡Û¦&Ç™çÁ2ÁX§ªFk§”5œ“mèô)·³ãnº¥9ØL–ºu»–us,xk^•õµE= ’€r¥š>]¡>_ã(×â«@’P;¸RÁJjÒºVµRõæ`´Ó—(†³@7õ¦èÌ϶HeÝÂþI}„B†- -ò€¯4KÛÓl¬ÐqÒéãÇWö4ê圚Œ²Ò¥Q Ûy¶½­œ“ÉV»?ßELj B• ¶/})Ë`Mª=¥¡Ò•LB´¤ßH?Ìj@ 2ˆÓÞbÚƒµ³ñ†«4”ðIÁ¥,”Z*ÔR“òtõI•ú!üFÕNÕÅ`’ ¼óǯ;ðÌP–%‡il©P×0–c€¢Ÿw×ÙñoóøŽcO»ã¿þèçæŸU'Ý^|è¶ÿð#Íò·­EæP<"èù¡õѯ›;¼²xãí,”v°ð¢? z+V‡ïzéÑrƒ:7òÎy'uyG~|ðÐr+ñ8YmÊ/>péÛn1GMÓlnmEÙnµ:i'I£u]×N„ÍÍ ÀEI'­Z•MÓLs¥Š½GA”ÈJù2 £DS»åž T;J„à—·6úÅŠÚÍíÕÈÁZ£=ØÜñŒc‹ósÎ!ˆµ®{Íœð„܃ëVçÎKçÙQ1ÝN;qØJ¤S¨POó2/kÎÇÎ9‘ÜÁ6ÎEId5k‰á†/^bÆ~þøÁ]mMåy?ê^üèƒkyî¼KGÔ¶©{Jä˜ô6Ö3ÁìTÎWÅMß5’G:€àšç0h5Û³%ýoŸÛÞ/×Öš­qøxí×üèƒkŸy}ó Ê_§)ïúÅwýÔ[~òq¹=þR ƒÍ*³®ÉŒšT€°Ü a®SͬÛhÖDi€K¼h¾Å ‡xûA¬Ë½eŠƒ3Üz£ù“O‹vœÝv£æ³î‹ƒ©À`J¸°ëÎIèÀ©óO‚Ƙ'œÇÉc¨jRTAƒuwò‘¦*]>ϪÚM§¬Ýb­¶k%&œ{hgŒÓÚ5Úq†0dÏ&{y³™än<4»‹“VoÈ}w,Ü÷®Êú=SØìïV97w…ú¼t£\‹«£Lö;~¶»•ílPJd ¡C†)u)5Í X6É2­Rf•üR²PÆ‘ª ‰e“I”.-’ ÖGð Ùæ¨œr(NÈN(¦€$’~˜ÍÅ2 g¢3™„²PÆA`ï1Ág¨'j·‘‰È.ú ©ª…ô½l2 T¯]Þ‘NÎ ÒÕ%5fcÕ÷0Ø)ª¥ï+I¤`iØ‚m“m ‘¢«Ú ¨ZÁMûsþò‘0ˆ“°íù²ÑT”ȧ¶(ÐÆ>Öaüõàw ½á?íßÞÚ>Æq¿Ó îìG·n¸óŽ ÓwSñ Õ9¹<9ró÷H{Ѻ»õÀáàg[YþuéFÐõÄN;³Oyÿç'Ói°±©Ó¹þêòÂ…Øíx=Î µ={Ú¶Fù´h% #êÍõ‚ (¦¹±¦ÕnÕÎ •.ôo8þ´^·sâþ.žL'ŠÓžºÐ4š[W×bvLt[ñì¥ùÞ‚m¬5®®+æqøI’8ëlÓœ=w®ÝŠ^ø‚ç­8à¬mLSWU£u]Ufµm ˆû¦1Jk¸i­ÍÂB;Ÿð­qí¬3UÕÆà1mc-cu' óÏ×u=¿1pçÉ“í-­ÿã;Q¾Á8âG»Ý‡Š|u±i—üÄVí»p³2ñ£âòñZ?£´¢Õɇ¦úMê®N´êIÏ—œ îI¹hö úÛç6ûŒoû×oã$¶&—OWï;£ÿ‡#~‚ò×iÊÆîÙÇåöøëœÛ›Ñ3£&nÆ?öz'1ê œu]C€†c nã3)>ÚÃ×íâ¯zð5c¸˜YÍöÜ÷}󨓸v à ÖBpî Ø Vƒy —ÃíÂj°fÆÉ~2,ø>è¦w-TÿÊßZg[厾ïãüýá~ñ§ùGzžww!gõ:vàœçxÇŒ6ùÔ¯8òµ?û.”ÿÕò#ämµþóª9íÝx×pBë;Ÿ}ôºÃ­NKæîºrTOGV+ Àhm›Z0B„‘DZà"Ï'ÆXÎÞüÊêâáàžßýè}UÓÂèZx¾6pû ›jËLÕ4BxD¾Ü›\?)‹­|dA/\Z>¼GÑd4ÚÞÙÝÜÞtÎÕyää£a>|X†’1æ¬Bp»÷«Cé.—»a0ß–r¼‘ƒÙ¤ç3N2}ß“Œ¹›íèªÑÓ4Î ¸f.›TÆÚ$ /0žu£^É>ñàæ=ý*–æ¾fÿ`óĶ[ªéÙiKÎññIQ>«~öâ6"·¶N÷\ÀîD˨{fs°Úúm¯¨ªºÒA`æÂ=êß>·w}èíK_srÕŸ?|߯\|çèÕOï~û{ñƧ±'æö„U…P„›ÑFÛŸ$ȾRÏevÞ¸³`¿zçC÷ýÝóvéS]zûAúï‡Ý›ÎxvãLã pÎp 08cˆyÙ£®½äXø¥y… Æa{b¶Õ„'ÅÂâ"µ”•«*Eä{ÔnÑÊŠ³Ö…!íìÒh„锪šŠµÆxì l]膻Æ8n#Î, Çœ€e¼qÖ§fZ#Н„…ÁpxUÖŸÕ5)DÈ« g3¥¤ e^©>_ã(×âêï£x.MÁ#¥ j'})öõ`}@UȤR+ÒÞbf¸ôj—g; y9;Î'c©OÖðéYØiê$ü$mµQUÊ9TUaöt’væ×Ö7Ò¹.ô%5f …”=‰±LBU+UM%‚DB(Ϥ>“sݵS'$ ÆLÎÙ4Hé_§0•#¥‹,o¤Çe« @ÕF¶9©PMÑmõµ“Úƒ·¿P‹ÝT‚_g»µªv´¤ÏP‹4¿z7õ–h^󲶃j8deÉŠ))͉ðe*zºÌŸö_ºö9ùžßü'o|óô½ÿ6üMHõÂù`ŽŒ!Yè|¾Ýò$Ç^†ñ/PëM†ºÍîƒ'?ôᲪÆ5ÿÆÇUþ‚ç·ÝìôéæÞ{« ç\¥ÃêÈkð*k‰‘ e C!ýÁL]Óiwá`µ6Í~Å㬱¶*óCÃgû {ëe1žäùÈXÃ…üÂgïí//4ä..7Öøž¿¾±}û­Ç¶6·ºi*÷|_pα½,„ZY”EYšÞ\¨¦šk«ª¶®qÎ8Çœƒˆ…~˶Þp²«L5Éëº6­ÈŒç[½õ!ˆJݪ6§j˜ßúdÞÏÙVl–'­û·.ÎI/fõŸ×’8¾ì/a(–JTëQïùiàËl4­ŠÂgºXdW¹qÎÆÓf‘¨Ô­rÓpÆýÖ'ó§±à ¹=Abgçz€ D€·×G CÌÛ8à`1€€-xÁ.„Å×ñöƒôP‚` 13„Þçq‚Õéu{Ç›]Ì&Vº}¡.™Ù-=uêI°`-Ñ 'ÖvZ"É÷Y»…ÕUD:Û´³ãvv0Ê(ŸÝزtÌÌ2gàÐÎ#ŽYëcÁçìÀ*®€…Ýѽ*ëÏ`gCµ]¿Û–­n–—}˜ò̯PŸ¯q”kñUÐGY»„ HÛ ²á‰ÍuË4í¥­eJÕT@(O56í.Ho ô¤gTK¯Tù€ôMK¸RÍÉa‚  • 0*°¬ ØB¶"åÙ–i«M€9{¤uXÆQ–O¡]š$ªŽÐ$2*”srjTmQ5ýÞ’Vvù’ ø,›ŒÓªrÙýI™¨l7kXz`©¿ÔIY”]ž¤½Žò¹Ê-0ɪQviWUSTB?†J"9—K¿¤ìf÷ò{;4¿ÑÚ2æja iŪ†7@‘?ÆQÚVw¬Ý ’¿üÖ_Û¯<ôç¿ÃÍ 6›œŒ‚7çìÔXáÝš5Ÿˆy]`®W@»oÆÂï@< °#ƒ›_ù~}æÝë¸í¶èС0Ï퉓å=÷èS'h:õˆ8¸Ç÷´ŽaÈÐÛ4s®,µçyºÖÖ˜¦ª¨.G—7d6e1ã8\xŒ›½yt¨jc´Þ…žŸ“¶1ߟcÜë-œÛZošŠà1&¦EQ4ªT¥„\ð§Ý|óŸu»1VÊÀZ£« /ãÇħºù*cäïN/£89¢ˆÎ]Z£åƒœËÝ•äÐꯊZ&¦—@ùw’Û¿ü7µïÞ­Þ÷²[žñSÏùQð§¿}ì@¼‰ÑSØs{GöÕÇ{’‘ÙOK0r3Š |É@e¯¡r°Ä™ŸêÒ× ñ‰.Vðö”+äûûDpµƒ àf«Ùl~!8œƒ³`M àI±PL”ÎÍÊJ·„R&Ï Œïch·!¢I‚;Ûl2i´6¦& GÂq挵®aŽHX rµNz~žßv›¼Ò—¯\•õg°]¨j{í П曆‡Õdc°u¥ú|£\‹«?žùô§)ÍTãËýþ’:zvœÆ¾ÒLŠÅlî<¦ A;åAöän @-™’’L)+‰ú‹tÖ‘>0ÛRJI)Sð%ü /j°CàǨ§r®›ú€§ $ ‘ÊK >K{!Â.\™‘Ru®&ã4‰ˆtïIÅ*X`ª´QÇVäüb dÅgPúLÕ‘ZŸÂ够ÈÄOTTIÈÃBåPµUU®`U^®iHÏö[i]‹­MÚÞ­Æc΂Œ5B§5š–¾°µq×äÄ ×ï½?otزÿâ'JO»óòþŸsœ}|®ÂÔ9Û4 ·üÐûöú/+¬:÷§{¥Ê[zM„»^ñmyçóüldÏž©>ÿ…òô*r.ÈãÆ2k9€0Š<’º®uUY窪jŒ\L«\kí`9¹…~ºö€ ¬©Ò97—´齿öؽþön/Ö7·Ò¶ðį¾ó­½ôø ×/]räãÉdRåŒó æ»w½øišzžçûc€³Î4u{š´=9³Îig±¦Ýk9ëtcÉ14®qF×¶.5CÉ‚rRŒ¡0–~èsƨ™Ô~tÉú±Fþ6Ýü›Kö¡ùñ}ó×½æ9òý?rñ,ŒšÞt©=¹Ý-Óž¹îfˆZ´šºmÂnM;Ï¿xêì£ÇŽ d˜§’•h¦ùÛçöÁÏþÁ«¿éçü7z,ýŸßóóù£O¼æ>þÔ8Ês{üŒ¡6` ð|@hf­Ö@ ÎÁå\mQ‚¥œˆs 2?¼ÆÞ»BïYÆÿ}Qƒçdî®ïIk@° 0`PDmo ‰Ìžä€ä8€€'ÅB]P™™í‹Uk.JZÂóŒ 'g !$pŽˆ˜ðÜ´@U;£wä`%X ²Ü1!È#Û0ÔË+Þââ•° =sUÖŸt%•þÔVö:©/"~æÒ•êó5Žr-®þȆxš²lTHŠdlÕ”eùÎ@1éNƒ"I¨rWT5M[s(xV–2(QUJP!c.Å)ç ÆŠÚÒµ¥_eÙHʰ7I\\yFb¤@ҎдT…ìÌàpvAíTl–ŒD¨ô9<’ ¦Uª åö,nûÉÙòû-ÈŠ©²„¦Ôï¢VÙÉõA^JŸÒÞ"ö|¦ÇÙdJ©iƒÊ¥ÔÏÔ6jJçºiÒ‘ñ²-½èÄ£k€4Ö65 cp$¸‡¸µ>€Áç>?ÚÄpê§×ßÚø7sÑûˆºN_°ù_1£ìšF La›¿òê‰a']¸{ºè†né¿Qø• H«-M'ÏÛûOLO_°E‰Àó˜€àhŒÕ üÀÂì´R¥Â4ÚZ£µö|Ÿs6·Òó»!ÒgNå?}õ0ãLãjSÕÊ*¸V§eã{âŸ|瘣RUpÆ}þÏ3À5Κº0#%_÷ÜÛæˆ gŒÁÍ.ëšýE¶lE­É¤.KÃxÝi _øœµ“ÌéÊ[=ØnL3-UÕhrä ·ªVJ©|·ò|Þ:RyßÚ¿,ûùwŸÈÆö0çºǸeeaóå ÜÊ‹þÂÝPßxÜœ­ÝöÈ¥{ÚQ¢ /:¦ª<}÷ǺƒÞòò²ôøÑ…4 wÿ®r;Ÿ}æ3å¦YöÖw?²—ÛsÄñS…Ø]Ï{|n»Àd « ØðÁ"4“z¤uãdÇÀoäÀ–€[›Y¾98ßoX€Àý=²ã\ b3 S·ö˜ÊÞñf~0OŽ…QNÓ²á[ð…à!C'øÒÊÀ "g Aä,8'Ñ¢(dŽPW.Ÿ¸iΜUÌ5ó‰<D^«íž WmýAšÈ´ÕWÞTíŽNLΨJ¡=…ú|íìñµ¸úCU“~·›žÚ) r%á„}_¨Z¦‰B•A€RJU—Ô¨RœÏL¤ì@"õ+(甪@R%d€J© è¯.aZ*GðOB#%?|ɘ b•°YGT RÔJ¢ÎŠPå; aêÛ”R¨qá°ªšÔŸ¨2Žd¨R)”ª³¬j£òQÚê âªvÙh7ïH‡™y½ªMêq ™@mnI@é‘RVC) pd¹Ï)²Î17óÃ4`‚YIà³Ö¸ãL8pìÕË·ò_â-…Dcà5ØúÃ:û´'ºN=âȃ°T8ŽÊ‡¾q”Wm$/ø› ­ýóçpò{ú‚š*OpçYÎ,o”³Æqî bÄfÎÔ4ÚZEQUZbÌ:Šã„€i©¦Ps‹éèÂBéFA윚Œóa ?òÚ¥j; /0Ö”u-|Ÿˆ¥qk[ׯgT2ÆÀ=!ŽÝpøÎgßÀ»gFŒqÎgœï}¢‹Û¹šêZ@[ט²T6/ˆ‡±g™Î«iÓ4qІ©ªR•)«ÂóXG½ciúÃñúx| |üâ,à“wƛٿ£rõu7vÛ‚_ÒùJÝð\uÿ 6`áxÞuí~qx$Â{? «Á6¶£ñ鸕Ÿ[àß¹=EˆýÑ=Ïíqá|ðÙ?Àçh ø>c@íLM–8¾o8köÉÇ>#!ú2Ù Û€I@¾|" [;kivß8òö Y@Fx*X`àT[—9äg‚ÃãÖãŒ[bpެqÖÁ÷±¸À¬òV› †C{ætsé"åc2µƒ%Α§5®Œ…l°~UÖ5ey¹¶ópˆ) $RåWªÏ×ú(×â«€£¨jpn  ¥ô‹l{”Uæx+\[`ëèöîØVÇEc¬OZ1(5ˆõd(¦¦q¥ÚO¸'¤'9Ö6$¸cÜc¼.§– 缕Äßü’..̬sÄ9cŒ !#Ú? {~;ŸO"€µ’0NÂÊ4ùTIß<ÏØ¦ÔÊ‚7Óµn£­µ¦1ÌYËj/ö})B³‘÷;>e8|óÜíÇØé““»·ÜפS/ñ /ì”4ZcÃí+¾{õ÷ˆÊnë iG&¸ð¦šªÐ1_ÚWáüýåö!vðÜãs{ü¢"öðp`H˜r´¬óÀÞþ `Æ}ÉÅÖÁÕ{ Tka D FEû.²õŒ¸ƒSˆ@ûØ}NÃöùMUx*X XrdÉj"FŒYƒÙTlxµ#îŒqÖœõJÛÞÂ8À——E·ËÑ…cÍý÷W?ä.¯{Z1K¬,ÅÚ9~e,\­õçÈ|šL*)e¿³œ Ö6Ñî\¡>_ã(×â« :=UÊ•€öç¡*—MÊt%ÁJ/D^(ÎárÈ Š£Ý9vË,WªR#);’ ÆÛ²-eJ8!p¨˜¬2´—”:—¶!{ÊM%AÎÅjT*»“Îõd€G@[UÙíd1”Î¥2L%0Èȇ N]™˜,¯$åL”­´¿º "ðQÕ˜l¥ÙÚšÊË#+7 ÌŽD€DÊ @ŽLd%HÍu¤«d’öeªÔ(k,*&“~:†˜cÄ@ÎŽ[KÎyÎçìžEù^Ìf?ÎÂçÒÅ[yUÛæ2£Ô9CsÖ°j·¡dHìƒþŠw`íÑÛVŽÞkµ€f‡!'î ²MãÜ”['ˆhÖGaœ3ÆŒ±I Á9ãÎQ»Óö=ÎrÎQ=ó¹ÏøÄG>¡jmµÕµš¦ÝIþð£ïð/yMàGïüà;¼öå¯cÜ1rsa”°l—1fj-|µ‚ïzõ+žqÛÓf'x8g`DŒ1.8œö¤˜€…­u㌋Z~«ÆÖM&Åp·ð‚Š@ެµD ºvÌyDÜõëðžoûZ…úïü €üà7|æ÷Žüo8û[xú¿Óú·?îúWyÀâÒÛ\L¯ûÁU¿ö#gwµí\:xúžÌ|NàÅŒ{üÐÓãGw&ÞMW¿þs5b?dûwê6·_|(ÉÞ€Ÿ¹Ïåbúu€ðär~QmnËփϻ½ã™›u~ÿtu´õ –œiÝþôãGnXaÂ3¶â>œžåýŸÎ- #»O?²q1ÞŸŠrÏûo,£‡p'tBxÁ>­x’½+}\nèg÷AöÀ>MÙ×…Ðl‡ý5sC_šàƒýsÂ3æbz¿õןÄáí ò̾ኸ ýÓ˶†3à°õ¬oó±ÀÉ1GŽ ˆqÏ£ à¾ç8'ÆÁ=¤ÇÆ""¦5íŒqd€nÊ»ÖM™`¦±úÂ9OÕ0µ$®€Ùë\•õ' ºP•B9UU"ð¥ßz’ú|£\‹«¯GréÇð¥3ÈŽªJé*É:ªIP-”×`ªT}N&7©ªB®”€¬¤"¥P+ìöTµ-p ¨©B åW*¦*sÄ$‘²%P¦sé`°.Á¬K[m铬†àQ°Ô4D ÓÎüÚh[ìHS1A¦Y9Â$ËBe’9ßéË ßm§ó j:É•g©`èväÔÁS_ªÀ›Õ% R­*“%éQ†nÜÒuÅjmŒÖrçÀ`Ï$H¯‹b¢œ³´ºüðÅË_NSø ,¾LŸûaQkÄLºÍz\PêÛñ˜QMŸ>‘ ¼égNßx‹¸xš8±¹y3€ïxíg‰ ÁæSò|ŠcR•«µÀ`œRrΉ`kŒe\DI4ã.QÆqÔÅòèÍGv²¼¨j¯vªRsIûµßð•n´1dÍ‹n™Ý(N„7®u£ëvíÕòBÿâ¹ìè‘Õ—¼èùAàcDĈ@ä¬Bqι{Ta$5Ƚɴ²Öræ¤ô=c%c!83Uû!¯šÚ6æîÿÖF[9iF;Åo|ë×0ÆxÕxœÞõògUª¾¡¸îÖÞ©KbÿâOvNÿR«{»ü·õÏ¿ýëÕîl&7>ëúëIâˆÝ9rÿgN<£š\÷âCýCKeS3£=.½¸î‡E¯õ¿’[NÛ7¿õ'7vv5,cøÇ?÷zS‚Eo7}í¿æÖï=uôºvû²¦Obßøâox\núûo¸±µàèáßÝ›ÎCûÌm¦ie{;3T öø–{×X Ü;¾èêMl­ñùŸlÁ삵€·gAN¸ß¼Æa ð½^Œu`´×¡a|ï­ÉÛåÞðÔ±@ÎrÀ#ŒGÒÅ …cÂ1Æ0—2/”´¸È®Šƒ«|q‰wÚˆ# ÛáÔJDDªOš.ž&]šî®ÃX|E,\­õ'%R¶¬EuÚJÁBØR‘»R}¾ÆQ®ÅUé\o&KQA˜UUÙöeµ»1ØžÕDÁ—¨gWõWÏ`¤F2#…º’^ ƒµ‡P•2IeH¢L­«:–j®';àÒ—j6~¬ªús)¨±š:Ô*Û Ösåêt¾'á²Ö¼LvÔd”å @ ²‘J;2õ; •Ê•ª8üË X.%ªÚͦI¥`•cÒ)äc$!J’½|T ¨:Ïj Ö/KgeɰƒªQ©lsVæælUÙºfµ¶Z“ÑŒ1Ñíx‹K"hñlÛí Ì(oêÚauåþ‹ë_FShé?UŸøˆ[%¶«ÇåšUÛ,踼úÆ;šÞ—Í»S+ IDAT½ëìÚ¥oùFyÑ~î³<Ûª¿û{hµê¥%T×H(UÙªruä ãÄ=Ï3>œÐheŒñƒ@’@DGQEZkÎØM7=uâÌð̸jÔBœ¨BI)œ…ª Ÿ{ÃÝÅù%F0€®M© ç’±zÚÔ‹ËK¯ûž×$IcœˆfbLÆ1Æ…àÂcBpN¬Ú«‡ßû’cgÁúv¥µ)KL8Ç‹B·zq”ð¶£Ëã¹W”êÿcïÝ£%ɪ2ñoŸs"âDFdfäÍ[÷æ­WWÑÝtÓMÓÐ4OŸƒðAœÙ2éê( ¦³ª—ÄemÚÚnÍw/íÞ·¹ý!¶´ø¹rC#Ðzv€-/Œ»o÷ðbyÏÜíü‹n±÷CpŠšÀÏêøÖƒ[b½g©€ Z A€3„ÜÛ÷!,sИ =‹€Ï y ©(îPÚ£ni—²Œz=êĤ5b-z=ê÷©›R¬!eë¼ßÜj½GšŠÁ’ºürŠ“ÀBPw».Œ>;LQÝ/ùg,bMZ§ñ(Õˆ¦‰uÈ÷ÀÏ—]Ð(â~ùöù£åÔtzšÉT£Ã«Y65mšÊ4%}Þ*ÑP¤y`6u­ èÖkGB`f»‹×¬^hodL'„’³¥Ó±É+MÈ·6²Þ*DOw¡Yè”ô À„]s~'R¯<ÂNÇZ'Ý\KS—Æ.Êß­¶V÷–²åLrŸ£ñ´Ö¼ šÚ苤kcÌ¢éne^¹¬·¢™Å:R „©h꯮ ¶h¬¯k25ŒñÞqo )æŒÁ$1+¼õ G/¹åøŸ!S‚ÛnkŽú“§§gg±ÛŒÝZ63Šöéºvüû—>åëžu·@ùã·â’ćY_\ãõ³bV(ïÁÜzïÛÖã«Ê[KµEcà †d Ðb<„½'@HêöºAÀ{A¤µN’˜Ùƒ0Z]½úÚË&ù¦ £~6™–Þ9ž5Y7*¬é¦¢±Såã0¤A?À¼)M½”$k«ýçþÈsVV‡ÅtÚºV…¡ !„”2„RBJ) b¯qYOlllÝ6ñ(Jbí<‡2([“ö¢~¯çœgx^ÖΡ©[A“ÐÊeƒti_FQYت¶>BYÓVÒ¶Éã¿ýå¥,ëÙ¶T3v–ö ¥feëZof¶Û Wû:j™¹Ö·Öú¦^RU4h€à>Íí·?ößÿ)«íçÌ 5|ƹã='ú½9Y€x¯²(røó#´Ä tw/þ¨aìÁòâ/,ö“`È󣲋K=~H@1D ˜°ðùbQ”: : º]ÊúXZân—“E‘ ñtæ·w|U¹söÔ)3›¸}ká5ׯŸ²µÑý’à«Å‡ÂˆŽÙÞ6µÍzÝü|«ñ³òó…:Ê…¸ÿ‡fÒQ¤2¡F]Ðq_w²|kÇ´©†5\˜šÑ,:/rÔgÁKZG&!]M;Óª€è™ÆäÛ€Ž"ðm˜¥ÚP„ÐE¾ DÀ†‘¥1œá§ùœMcP³NãÑþå|ºÁÎÆE‹ñ‘ ö›ñzÞ˜l°’¥ c61«ór×èHGÑ‚ öTTmL]f‘6€!¯»,Éäó<“Ú´õ܈|¥¯ƒ®(/‘¦,JfO­CÈD )pUzG¾uDèe"ÔÔ´Ü4ž!õUÇ>øþ'X(•G?ë—îíý~€‡<üí¹:¹æáéeŒW†á 짪 Œ‘ƨڶUå¾ÿû®ðâþ¶¬¸(Ào}L.÷²'8mí&p·›J¥|Ó€ ¤TAJ^uÕ•Ýn÷â>0[BP]Û®uMÓ4=uò¤÷X­Äq…QÜéè8é$0 ˜9I’º¶>òR)"!…’B*(!È›v¾gÈ4åE}ùw§Ê†ÛÐLœã2Ä­ãÉlÆ wº19òRYxözU]«ZnÉ‘cË ƒ8ŸÎœG Dw_OJÁðŽk!XH¡B™tcß“BA Ã¨r¶ßëÚy‰(pŠê‡­WY¯ß§¹xU}/È?rÃÞCnà£h-FOxQ) @w—Rpþò¢æÑîYë¢É…å ¶÷{fùv±DäÑ¢{‚¼ç†Òän%$ @!haÍ‚$xa |!X;$%ØsÛ’1¾( %¼ƒ­9Ö… øªv“I;>Wò–âÓ·ÏçsßË䉓÷‚…rîÊ’«Ê/°0^߸_òD¬áÑ ?sG^Ltwˆ(Ô¸'~¾ Q.Ä¿‚¨Û|kG§ælfDÈÒ ê™4†h&¦fƒ Žt £I#Ñš€T!D^ttÀzÙž¯]”%ušÁL¸1e<× ™–ó¢ÒmªUaZÖ é¶Ìf½Ñ‰`ñ¿dà !Fi]4SƒÊ »™è¸4€c;‘®[Å ™1h5”±%€|¶nj ±0f€))÷»0Äš!ÖL¦¶: Q·§OûºM£!ˆ$ËRÌK‚”⢀|$œç@ñãŸp,ø]ï|Òù7ôݸ½ŒÔmÿHš8´öG …üÀûíÙ³å§/‹Wö…i*Ã@(Iqx¥üo¿þÃyÞÞðâGø–o}?€©±8þçý}—ÉpÍCÞ{Ç 8I…žˆH"¥ÌÌ@’$Ã¥Ádw‡˜»Y? Ã¥¥¥¦ijcš¶év“Ùl®”L’ŽÖ: ‚8‰ÂP „ˆ“$Ô13{ïÃ(J ¹(ŸHb ³³uò£oùŸoùÖ'%”>xõÊæ‡d~Û¶-0OUÇy4m=Ÿ›@QÉ4I––ºI’ÔÝÜØ!ÏçÎlACd}¤Ã°©8éDAV­iÛÆ;Hvô*à¼h½çŽ-œóL\M=T½A'JweQ²Ÿzï­“íROâ±—ì[ŽûëÓõû4·Ås!È{>`‹·¾ã¯Ž>âQÄÚ”¦7ì WÓN¢™¹(Ë{Èm.¾+o ÷-D x`qîXžŸr=?˜»wXÇŸß¾»¸âî6SYÈò ’FÈÏèyÀ$ÈŸï-þføÄ·‡¾Óü ÂkÉTðŽMɳ o¬s Y*†>ípðtÖŒ7êñ¹ùÆÙ²˜™†PÕ÷Ž€mÓÚ‰ÛÞòÛ[¤WïŸüƒH™¨[:J38MdLsü|A£\ˆó(q//ff×éPèE°µ)*£jÓ±F Õ ƒ™˜Âè@ëp„02Å$0£lÔ9h2K¨waɘ‰&äE@‡}Í"÷ëZkM‘ÉÒXSƒn˜‰iÙì¬FGÌÜ@mPÃ4¬h³[ÒX mfy¾ymWÃjeMoÍÀg@‰ çY”êH&»¦0à”flLÁùÖŽ)fHCź›éåAÆÂÔ¥LÝfûV66tª@I"j=;k¸,]c™…‚a¥HIHI‘‚dÛÂÔíc¿ê"H¿üË' àÈÝoòÑËÞém#k*gÉÍKû­fg«¼s`%zö¿¹ôO?r×ÍëínQ $yi½Gm„ jUSûVEBJ±4èž>¹YÌÊ•~æà¬õ ÛM“0V‘²ÞÙ*ȳ«|w³âÆÕMÃeY5MëZ^Ù× ö/U®ªãª–q¨*šSPöczÜa}ípÕ—í ÿ`ßùÄWrn§ð„®XÆŸÓ·Ët5ŸWØÙû™Ï7qÈÝb „@¼'PÁ`‹ f Ügø¼1ç«/‹× ÀJ<¦`o~ê67£ñªüç`Á;"")ˆØ1yë|íZøZÁZÛL+ó…aá܆X`A?úþÉ?¨+SWÈÒDr[æ'ŽgG¯¸'~¾ Q.Äý>Æóut„Iºhм®téPkya³´o ‡2Sž—ˆD^8`'ë.k­FS’¥}˜ÚÜ9ïÞ©µ0“IžhvuÜ͆=»YØ7v2.„¦ò ס6ë6K½A‹›é` 0ãº6€Ö€±J‡B†²¦YB ß™¡¨ÐHÂÀØŽ97Ö«ináDG¡™ ø]3³­3#bÄÚdib"Êïë5=*?s牵Ȇ=½x×¹oIº½zÞžÏD@³B@9XN“^4Z]TÐ:Wc›ºuŽ8 C¹ÿ@&HÚ¶I:‰óÞµˆdœ™í¦‡G‡‡û»e; L§(í¤*û=щù@—NÞR<þkײrU'ž.ߺ8.·|èYÂïeævÑðqwm½ºN®>/í\½O¾W œc¿·! ö{íw/æ,VrxáyÏÌ‹k;`À`ÑÓÇÞYA&øæ¼mK{KËÁùG™„¸j¯P>äÇÞÓJü/¯¿!YîÍ¿ñy7üs°ë@Çpðµ'ÛB˜æŸ‰ÛèG^“½òcoéjzÖÁ§ßŸøg¼9Ά}Ô@13Öäa}¶ºvÏü|A£\ˆuÒБŽbØ 7)v6U†çåÛ¹™TGV†Úh“-gG.;rë'Îi"cL¾50êUè:X•eZë,“Æ'Ö7Œ92ÒZŒu\i‘ê´`;0¶϶²n_{:a34AwãÑH›¹É‹Úä[¦-tÚÓZ¤ÃÉx{>ê.éTéኳXA´ftx„€u¬ê|:Ë‹ =Úß7“ÜÌk XhM±]z©ñó“-(‘­pý~qߊèg¾¦@x~ê“»KCzÕ«v7fUDAEÜ6°Luí¹åÖyï¼3¢q¨ik_·-{§„hZå¼S²%A°Ê:EÄR’¤X}­Ùy郀¤m[·›³W*è8x7¯ê8XŽÂh>f“øÍ/{%€[ä[Á joþç2Ž,‰üçïŽ?žÎn#«X;s à=„Èý(C­¥${ÏÞÇ:ç{O’ˆ¨ÓétâxÏ5V)¥”B …e› H.œ÷!Ü;ÇÌ|¼ÛÄÁà¡Ñé—Ûãø¿sCûüC>¾mk¡M—¢r6S( ƒÊ¶Ó‰íÄŠ$GÝ@YÛ2{fnm»=™Q{[q`UȺiûIÿP÷°·¼±~vgÞÈU_{hp‘7ÅÎìLmZê˜jf¯vsq7ºê‘K½‹ÖwßUÌ`pÙ‹X¥-xpñó]~|cûÍ_9¹|CßJø+_ÈÏ8©ãÏOŸÐžmÞž›yð¢:B@B„ðDÄ,†ÀÉ5{+B‹•ãâ0ï F#oú”ºö¢D©Îñfõ5ÿùe‡Òù£¾óE_v,etù:ûVDïáôå/ éÑgžò/rÓẩìèD€©m 4`Lnt”Ü?_tA£\ˆû娆1Æ Ô‘ÎR À즚é~Œº6­Ïg°fRçQ•!¾üÈ~&¦ir}g^Pi&>ŸÍ û#+£uúЫ"ò 8¯'s3Sãz› [˜&ëvEùlÇlÖùÖDÇÉhߪNt6ZC±mz«ZY­VLµaê)€AÀ*cwMè.éA¨u[“|ÇLôR¨Ñ­j3­u?|a,0fšÏ¶LãtQë0Љ֡6[“§½ì¿eKäÙ¹Ø_´Ûk<{~áÏf/ýå]©X)j„Ê·­5Õs®ZO·Ö“¯¹r 8-¼ Kö¾1†¢ ;/8VˆµÎû¶ñ¾ |[ÌžA ¬¬iv6„ŒRŠÜtD¿›B)µ(Ÿo@‚™½'ŸÎ£Ó¨¿‰Ïü×ç^ò·íÛÝ[–1UÝK E¬…óÙ`©iÛ Òb±·ÊÎ;ç\ëóìvµ”‘Öq§Ó:GB„Z !„JÊ R‘ òÏθÉ'ò¢áÁCkêôËŸœÏ•Û¦øè¡å§½àG>vçí•ÝýÐéjfˆ’X]„J«Pnçùt×lm”$èt#;mŠ¢š—MÈ Pa lÓ¯OþýÖÍ›§7çyåPÀñÇB$ýp¥× ff{Ý ÒàOÿùæîÖ]W}ë§öfx/¹Á4$\Ô§Þ]½væ×¾rõo½€o¥1<:xæ]gn”›¯=·úSñ€®Iƒw‚?ð^d!,î.™´ âü¦±ïi—Ü`Q2ñ̼·(Dð-ˆQ ¤€xèÿOÜ?áÆgýð37vÜeW.kÍM³nÓþÁKóÝ?÷eÄIIe²qö³àôãGßq鱯û—Ë?ùÜf2ë5³³3«ísÀWù9‚ù4¢èøùBåBÜÿctø2Ò„R0ÖhÚÍ­3çJM”ùƘ¢@[5Þ\7 eQ'ö²Õµ 0M [g¼”ŸÙAÏŸ)³^2:Ú¢PùìÔåW^ŠhCèÙ$ßÚpdW§ÃñÉ1¨2‘ê•@žWfRéƒz|z3Ÿîи€Ö„´§Qb :r !épšlÀ—/­dé½;Ö±>rä"ÓÀÔùxkˆu(³^Qœ%ÊÄ=ãK¤q>/Aóã/D+¤põ¶0ž‚N3¨‹†­˜]'áW¼b¥­ñÂë7‡> ¡D ¢…ã¦a–·pM åâX†"+Æ5MÛÊšµìÙ"޼7Ž›¶–àˆ”"bâ–¹m½d–mÍm£Ø­k|Ðyû+À§ÄŸµ{“’$˜hñí·º%øcî믶_;K¾ÿ×^õÊÿôÜoÕe™a¿?–Å<ˆb"†w¾Åb‘Ò9ï#!ÀLDBŠ¤Û•A0›L½g„ '!%-VxÐÐü Oo+‹Y)u7Ý|M²§Nî%7lÀZïáK½ÁÕkg÷oÎÙÊ÷\a[Fi@‹’‚gè8ˆ”šU•`iM+C %Øgœ«ª–"=ºä ,%QíÒ0.¶æJ¶>è¯=zèOþúì;ßúѧþþß½ûM_u@0úIÈÈš†ˆØ;ç¼'")ÒxÿOP½~jã¿\¹­¦o[W7Îú†I¤Z´MÛ¸ªßíÞÿÄæ®õW¶À]ýÄ[V¶ï&¹ Xï=-¶ˆÛó—}Eµ73»ç‰R€•ÔJ´Tm5zYb‰Á-”GæÅƒ?»:¹;pÙwç“sS“:5-©Ö÷œJÿàW^~t¥þÚïÑ— ¶n§Åðžqš?ö¯Û£?ö_ÿ  ¡K.ó0›\+…LjŸ!ì}=„©“QÓ½~¾ Q.Äý?þüÏß›-/–è¥ÐØ ,ë$ÈÒU3Ûʺ½Üîj« 3xŽÈé:ÑÝÖ˜y¾5×vÙÔ33©ŒhF½þå×^ifF‹4ëngËk‹[çÙÚèĉc† ÅšñëùVi™ïhùÖ9àœN{ˆ\6\Ò¢£•²<Ü9rdÍØD€Va˜¥q>^GØ1m¨ÕŽN‡ºfS··~ú6%:Ô¦ØÈ¹Ò#\~Íf§ÊMžOgÀÌØbAã¿þسÿè Bi!Î9®Ø¶»hn…©) ƒ+Z˜–wwüÉ;šÇ^œÚ(×·ºŠEàI)tv {ï$¢@DÂ8nkG 09ÕÂ[P0SÛÀ¶äHH*¡XJ'ÀheSKV-+FÃL܈¿}ÃÜ¦ÞÆðÎ1Y'2”M "fbϞ݌'Ÿ7=Ø?£;ÿíû®n3xä¹ãÃÕ§Ž\ñؤsQ- ¡ÀÞ· ˆÈ{j+ÄPì½#Aa¤;‰wŽÉ ¤…¼¨6¨¸£šnÌåhJk?~Ý~ýõ‡?ßÜ:›ó?Î=ñšCæ°¾m¼ûáõVE¦EÀNÈÖÇIÈŸûjp é™t²[´Ô –Â丣DÍ5E‘æ€9zÔ.Ëk.í?õÚC¡\yîS.ûžG]=@ÙsœˆŠªa_ë8&‚k[kkSÏ^kEa F*û¾6ý—8·ýoh[ªç¥™æ¶ªœÒå!‡3{nÛÖAÁE£gÜ5¾©3ùÍz‚S£ˆkûüZÉw?v¼X<öÿpÌ Ò>šØsä)i!¼ÞZTP<‹‡œ/~6²hô¼ö­¯®mÝnØ­­¼¬êNMŠf«ô2ì¶ê/û%÷ÃÿåK€p\7Q£úÿDœ¾ãÌ;O}¤ú¯ßðC_ùücš)€lyE‡ ë$Ôarùþ.<`33ÛÈ·7ò¢Bcò[ÍÖ=ðór!îÿñõ_ÿxîí°i 4Bc·5ݵùlj ³n!Ì6@:[ËPìŒM JtØ]Õ™îé¥þG?qËÂz €nÿHt…©kEKù¾ !lóõñhÿÍó­sùÙù­õ M¤ƒ!"è^_÷t¶”d*ƒ†iaüd¼³™- PW°¹±Ê3 èP8r馨Œ-²Ñê(5è÷Gi6Þ^ÏM‹bQ¬ÃT‡©Ž¨óý7½jáªé 0·­õb»áÒ4Mmò‰ i{Çž:]×]9õJÐÁåüø‰•RH/IÏV°”$ɨµ\5Î,¨FÔªl9v‚`¼¼‰ÖIÏÜ´¼¸Í«v|Ãï¸-øSf"ár;ó®qÁEËçHÂ{Æâ^ˆ< øfÜ(^é¿¥9ñÒµ¿¬š¬ïlÝÙÑ;zø@Šö1““BœIi¬`ç°W) O6’RE‘óBI†ÙÓÛšù©Y›î¸‹®{Ñ+^ýá=òåöèï]9þ§NŽë'_Ñ]îµoûèZŠÖV—æ­“¡ô^29¯\”†îÏ˺7ˆ…D©ÖºíÍYQ–‘â â²)Só}àš•nwÔ´Ãí‰i›ÿ³8jSwŸKÔ¦)çs%¨mï\Û6eYóy]ׂD’t²Á Ö:êý@à&nþG_šÜ žì®)ëÉn[!{[•EUíèb°¶OÇá¬*ãÐé R^ûvâö®ñ›Åø×¶W¯Ûn~a%zOϽƒÔp€Âó^´€w ÅÉ,¶~rZج${+ò€c0Ä•÷¢N~â? dpzãT÷%\Ë[»³¸ª½s팎ý,LO4?Эß÷ë?û5ÿá¥÷)à)—úϧ/ø³_¿áqÏýJæŸËŸö$SM ±žÖ9æX,çÄý¼š@Ù°¶ªwÌ(€ŽbÌÌåS¾~^½ Q.Äý?ÂÚìLòb®A£,Œam>/Ƨî܆Ö: µÖzŸÏz}D:K3Å”×[™Õ†9/Ú¬§G£ ®Æã³y6y]˜»6FÚçFdq `<©²ˆ²43µÔb¢‰Ž} îì]G3РÜV:Ô@Ï´ç`CÆYœÎÌÖ%º;Èc BmìvneúñxÓ-»QëPƒ)÷¹î-ȘN7 ŸÎ÷¼—H ØYnS †äšÀZr¾)§î¶[êÓëMºÖ´Þû¤î?¤—ûÊvÿZ5Þ´Çîˆ<1äÇO—Ž{"á…ä@¡{ ‡gö`"Aì[µ80Ë> ö ú¿ÿënQï @A0 Ë,’ZæÅWÒ½›-‹9°@ËöcêFMéeŸ€ÿ熓¿óëÿ¥Ù¼-ím½‹HÅ,ûÖ;)|ÓòÞv*caX+ (%I_‰êŒ›Ü>-Í9»ÿù×ÿÆ›ß|Ó믿é‹Û“ŸȽW/EæÑËÙ验vfy«„AG7ÔEÁÒ¾D²,­§V‡ª?èÔÕÜŒ·…o#yÅJgó[ŠõΙh)ïuO¸kòo-‹¥Ð!f³yckbŸç»UY–e¹qns}¼!…Ø¿my¸Ô´nßòrÐïù0¡è9\m}ò÷]n—ž !rÖ”ób>+|mU •Î΋i‘»ÉR7ìD¾›*ê+€È³‡G߆v~rãÖ—lÞÐdíÞ·Ý™õ’#G‘ÅqžWàÂlndݾÖ‰6EeŒu &9F€5Þç³Z[oì vbŠÊp©Ó8ëŽFÃ(ßÚ]²ÖÃÎM¡3Ef†Ñ2åÄf>6qÿ~ä%L^PË$|Û‚Ú0p±–K=Õë†Ö`{×繯ßo¶) щäp¨V¨ýk² ­…ö¢Sóþ‹¶OݹÏ{Oì8-;Ç­uÄ5” ÃPäÁ Á‚÷$‰¼"xçÉ{&Á’¼zÿo¸-|óð0[)˜¹!r€ïÏv@,%· f°ÑžY×݇\/_~Dþñ5îé¿óâÃýÕKOÝÙ¼êå¿öS?üÝivU¯B’ !X…ÌÌìØ9önaªOBÚÀnÑôŽù|ûô4þ™—Þô‡ø¦ßyñ;ò›¯û"ævÕã'÷wûÿâ/?”tæ×}ïÃÎñ÷wížÎk[ыӪ®*㨡†úi…¡–Áƹ—vª«úý½ØYéÇöÔG×½ü™°y|ç)yQó0îJ=T]•%¼klçù4ßÝÚÚ>;ÞØÙÍ—ý••}BÈ(Œ” Ø{ç…1%eüœvç7¾è¹íï=A„1@¾u$¥gLçõÆVÕÖM¤EG¡£üjª*QÍ&õî® ¬%a¼ðáìA‚¤>´üͧ¶Þm½ºZ½îŒNì¿vE¾! Ô` Ñù=d†x0üm´¨š É{¯¼øµÏOãžm¹¶ÍúÙ-AÎÖ¬$R ÁwËý¬“†“bÒït…P¾á©¶ÛîN6>¹óWÿý†Ç>ë†/"˜(ú¢àôÇßõ²W}Ë‹¾Bø€f‡•-ÚÕ‘)&y5’ ¡­"Öù$ס†Ö¦;ÕÈLQ™©»~þlA_óØGýåûÿfçÜéÅïßûö?ú¶gÿä…GÝ…øJŽ7½îWÿMßþ^|ïÛÿ蛿ý?~ä¦gé¸oæc-)S·Ìl:þä:èiM0E^´‘1œ-÷÷fµ¢([ t4Ìg“ñÙ³º2:[ÒZÞû^³£œ‘u††9uÍÎ\/%°*[> sb¼½›¥úÄn~d4ÍhÐ3¨@)¬ïìjÐèÈMÈ«©F˜Û|{7’üô)Ózö òLm4:{eŸ:2.Ó+c™š}Û „”NVéiݾXª}à 뉪âS§š[o¯ÖÇmÛJ%!I¸¿„áŠXêD]×»s³»S›y+HJžütâ•mH†ÛÆsë}å8`!ÃP*©ÈKpàIb¥È¬‚t Zß‚?øû/pkð.ǹÅÈHK‰, <³÷BÂyÀ3 ÁÎ/ÆàÄT7áö$+LÜú –u/~C÷ z~y9Ý.×?Jm}èòÇp¼ÏC2Ã{ÏÞyïšB€E“‹ê¤>›óÏüòþîïý2¿ùºû.7c²œõûzæêsg'õ›oŸåRNK)\Æqƒ¶ŸD±VE¾õð¸¸rÉ÷’þ¹SrzlÎÆnõ%€[Ï=¹4Íîdvüø‰$íÖÖÒ´£$Yc¶wvæÅ|8Da`LÝ4ÍÉS§>üЫ’e})• ""’JÐX3ÝgòÆ/Vn£þ[GuíÙ¹ÝÓãî°§³N1ÝiªÒ{¶M#­U¶‰¤c!j+U2Ì⤄q ")Õ¢ÀED AÞžÜz€yÿ9QˆaôþL¼‘ÚÛѶĀ·Æx<Fþ〸wuà¹7ü`’…Zw:q ª¬ò™ç¢:VI§áöî¶µ.Ö‘’á¬,«¦\îŨ«r3óüô+ñÕßñâ&XPèÔ}Ó=ö;¿¼ü”Yek#SvòÉq-ÖÀèŒejJ”7U–&:€aÒ"9_Ãîå&¿~~Ôϼí}ïºénnß8sâäùê(âþ³f;7‘…e³•[™8qüMB‡¥A' z£}1xn˜a•©vÆwzÐÌPÛ±Ö!Œ4¶6¹ñ¦õ9¶˜‘OKmÞÎÏìјÞÆÆÎ4d §u×øI*„]3ÍeÃsD”¤>©M‘)&H43Û 3PÑÓÐPS­2ôâ'¿èz"Ò)ÂÐÇêõÄ`I¬¬¨¥ìvEšÊ8JÂ5‘­wU["VáòþNÚQ zÈUsüÖ·•J:!½ˆÁ¾mmËÞ¢F+¥d CEÂZ%'‘xûÿ{=€Û£wy¦Ö;ÏŽ @+ž[bfø½k´ŽÁ Ïð`ï&3ˆ™mK§Ï­æó®oÕnù_6ÿ[¾ñôÌé'~ ÀÒ•¿\ížÉ7>ÝéœUý#¢³$XzOä»íÓcm~ûvÅ/~õÛ~õ7~÷ ÿãi urŸæ¦Ã›‹$¿F‡ƒCkÅåëw¼ÿÄVwUm½q¬ÐK¢²> yE´W,ËÑêQ¨ÕK–3ãÔÆMÉä7l¯^7ˆ?ë&æï H^Þ.äÈx<ç%È=”ÿvÓ/U¥=ujk:«fUÓk¬sÎyWÍ©¬%ÄI¨¤WŽæÕ\I1ŸÚ|:mA$¤Ö2 ÃyM:ˆÇ3}¼žo|XþŸ7Þà1ßýó_¸¥¢e"Rñ}‚Ó?™½›§ô­½'~éùGÇ\™imÌ:Âd”êÑEטÊ/fY ,¬[£‹ê&™¢uBƒt:A@÷ÀϺÐë¹÷ûÈÇç²®C#2é„óyŒ8Öì‘òè¢eÝP>³¦’YÜ]Hí7Ó3ùlbØj V°¡Ínžkôµ¶FVa-­  Äø ÃÈg[ØNFiWÆÔ"§ c#U†çY/‡ŸBô4¶óBÂÖ:Ô¦ÆN5yè4|^Ô¨k˜Pk «äg­i¶Œa­)Ûw©îæÿñµ/ïe±¦$¥áP®¬ÈáP&©ˆÂÅØ(¬EÑx"ô3qåq‡wÜéNž±µá´—£}«a‰MåE%B8 ßÐt SóÎvcÞ·"êÝ6Š„J’VúÖ²ç†[YL0¯Zf„dI9S’ºý éÒ_üBŸTo%€$³u­2å ŽöÏg‡¥hƒôG·ó ¼˜ˆDì%@$˜€26:ql„¡·sÚKØÃ×\cÿ6¹‘€kñÌâ“/¨‡?ö#?þŠ×þêõQqs¶ï°è`(rsžžqù§··Öõ÷þ÷‹~é5¿þ[ÿ~¡N¾d¹Íf•߀éÚn°ÿе[6¶ŽÍÍŸº³v=Š—Â¯?š®®]‰`YŠàôæŸìå6~ât²S7ípßhyí`”ô/.ÊO}ücž¹…a<ºø`šõu ïNŸÛ²UÑëv>ª‚À¶õîd’$i’$J‰²˜å»»RاiWÇqM?¬¤”ù«¿°ÜdO”D’ˆz½N¯—¢^¿ÓÔõ|{›à”¢@ R!©ˆ„b;wÕÜ{GžEÛ%x_³ ¨×;Z ÑÁÕ§3ó™soQ¯°«×,Ÿœék÷…ï‹/ùÍÏ”#‹jÊçR'ÏûÕç(mæÓÖ7kûÛ»jcg×Övqź%ïÅ}Ñz?+¬¤ÁórJqÔÚš‚–[™ :ƒ¬ë¬ä¹ÍÍ|f_k8\|à÷~áIÏ~Ñç……^@g6ÛÑ}Ól¿õ5ßò}_JþÉË\§q†D¡È­1³-PеÖ:dX^[gfj6†°©…ŽæÆ&‹™¢{æg\Ð(â~£µ£¦˜Ž×wÆå¦Q°³ÑhetðÀ­Ç–º»¤µ0Õ €NûÆïè@h‘f]¥»±NûhØp [;`ŒÉØÚL¶Í¼ÕJ¥i=0×AOeÝe,̇jCk0ƺÃZ¬·7L=ÓQm3ÁzeˆÝbƒ 5òÙe‰N® :ígšF‡Ötv)B àÛã%‚ÐëC Du:Ôë‹áPöû2ˆ¨iØZï<\Ëeé§[ËÞڿ"^*â„z}_V>½žŒ"0D É@ó™·µ· ¶Žg%u;íæ—®eNP[³ƒ Nàò©ô-t‡;]£ Ñâu/|!€[‚¿ð¾fáPýW?ð{#ÆA$ A¤=áØÉ¿ßÈß¿97…·¨ÐžxÏÛž½bÏ$àÛ–&“ˆbVeÎÞ¡š²‹ZÇqã£ðÌhûÕ¿õó‡úû¯8yÇ'^óŠWýè÷G<;“oŸû­›>ðœŸú¥—¼êÙD´(_âÜäC·üñæp}íEoûƵy9i®JÏnºÝ“~å´Ÿøp _;â{wwvLµKB–—W‰û˧t¸ºÿðÑN'ΖW3|UL'[U5/¶ÖÏLó|m´º²²¢;ñ™Ó'¥T+Ëû––²4M½wmÓÔm#„hgK;‰ „ý´¿ìóÊí`öH ’ ÅÅ‚ÓâMÐ! -È12Ò¢Ó‡ÜF.Œ¼­&) à¸-LU”mäµT>ŠbjáƒAÀÁÕwzãÍjã (‚ç¾ü7ÿïzÉ?’)çk'¿¼››E^[3++Á´SÏØzÔ¾ajºÓ£šLÒצiZïÚ–gÎÚ¦./í[]ÞÙšÙ¦ž•%I†úƒ®Ž#;mšÀîTu½cßB—¼ûu/ð=¿ðÊ{ÅBwI®Ÿi&-z}úÒàôÙoúÍ|‚?øîッùÇpeæ…caìÌ%,#,x4B/¥¦˜æE€òy.Aïê,ÖZ/œø³P0¬¿g~¾ Q.Äý? ϳÑêåK}0 sâ® SLOœ9²¥4s»G|›¹©fèwÌöÐKÙ°§mJÎg¹…^Ú—±1¤ÍΦA–‘7!!^‚.µ•†9³0ábEHè0ÂÜctD‹®1&¯7L53­íÁ*ÖJÜ¥¦žaVeË«jC5F„| ¨ MÈ ç§Öq ?ý¿oŒcDZ‹(¢0‚Ö”$"M)I„R{ƒœuÍEá&S?™ø|—g3$˜ËèÈEáÊPD‘°SjËÚ—•°F°;!%<¬mÛÆrÛ8X¿9o$‹c·ŒË]3h8…ËR™e¢iÑ_¦Á@ýâ÷¼ÀÉô#|Bd$u‡¦Ç=òêëÙyok3ˆP;ÏaÜ9zàê#+ªñ·Üù¾c[7túDÞ{ ¿°mÁ@ݨ8‘Å\Õ“BD‰\[Û5Öí ®¾ŸoðUꙓÿdxÞϼ|>Ý*Æ~Ï{ÞûÄÿS×]ÿ=wž|s{ÀÓûòçŽ}r÷È5$›ùÍ“fRÞ&ÅÅß–Æ€\{A1U;ÛmëÒn_÷‡QŸèt[‘wÃ}Ã@ú(Pq’TU9Ù”“IUέ©à›0;;ÛÅlÊ`ïY*9ÙÞŽB•$I’¦z±-O"ˆfѼ×M–†KúÀÏ*O¼ä^s;”=BAÆÝª„îþ%³gï|cÙ;’„Q$âRšYé«9³ ! Duã§µ)ÛFJªÖÃZg„“B€\xÌ|põßÑ©ñMW<ì«?—ÛgÊ”—üîóu»›ÎyÅ´;o D7Ö‚XvD_$ÓÂDi˜uã8 iFDÊ'ó­Ý-v^´AÍãA´º¿_ÌK·íg³¹¤ ÛéÉ4ëL¦mU²³MÛÎ^·5´g·Þðó?à^öòÏŠ…(ú)æþË‚Óg½þu‚回ûƒ÷ÿ,Š&ˆ<¨c¦»Z²È‚um&¬5!ló"( ›žNÄhÔƒ(êli°÷L4XƒPç³­{àç åBü+J Sôr–- zùÆ-ãí…5µ×‘È–cÝFçfNÆ6¦ž™Zm74‘À^‡9Ѓèé°ÖF£tÈaªJ‡BG=y`À‘©k­5x®»)l‘ ÛÀz±@ͳÁ>c ¬2y•G¹3EHi”öµÖfb´&ì‰Eßõú7D ­EÛ@¢Q(Ò”ÒTt:kêD„TVØšú“§Üx×%¬¡Pµ NdK2 ’5¾˜a’ó¬hŠº«HK­ÐÑÒsàn篑‹à˜½ó‘“ÑÇ?Z?òÑ ¡@IJRÑÒŠüé§=À©þÛØ4p$d`-Ö6e)¤ %•$ nêJ á½GcvñãÇÇfÏ u飨ž±p ‹ãéµ×Þ|æÌ¡|+)§|ðùêè\Ë^8€ °çîõöƯ Ÿ `ú‰Ÿ’‡ÿS˜ö¿ùiÏh„°(_ ¹=è;’ø’‹üoÐÌ/ùêÇ"ʪÛ~@xèçê²l¬%ˆ¸“(¨l5HúJ‰€·M„ÝxMJá™]ÛH)”Q‚ºÝÿ½7–%;ëÄ~ß9'3O.U•U·î½õÖ~¯õkµÔ-„Ð À,ÃÈ30à±=Œ{­Ý›ÚÕ`¹n}4-ÝØõÎbs+è¤ ½©l9Õ óWÈÇ |Ät`V¡'v 4–ð‚ùßß8‰¿üýâ}ý?°—¿Ë³•’´bM†Ãî™›¿>éÝKžëƵբ7ÜhÚZÅ©sL$¤€íÚW]zÝÕ÷ý•6|ÀÌÒ{&’ž™¬t´tl 5y˜C òÞ`-qŠ#^é(CËE;G{€®oƒp…ÌÝŸïÆQîÚ§¿íìì¡mL?Ïý¶µ&2ÇóÛ‡ºõy+'huqt`ŒÑ‘~êêŽb§†[]†ë<Ýœ¦uuÆh  Èú“Íí|«_¬³E¡ÀÉ Á¢h*,®GÆ”s˜hržt¦'ç'ºäù6°(f‡ˆVh|Q–“1 $"1é‹Në,`ü¬Àµ}éþ”ÂGÒ‡Úk D¤¥ɶî¤tÓCKŽ”¦¬ïƹj½ßݵ'Ç­ó §‚Ù/W|ý–˜•<˜K¹Æ¸vÚʯ*®•°Ö•²5€ 3S$£sÜ0‚( 9ëü¯¿§|ÿϽeÚûE <¼ôN0  Ž(Ël¡:þî¢ü/ºE¥SíÚf÷¹'øßc­‰@*€€`÷…ŸùÝ¿úøûE|l òžÞƨä)=ºHDK †’d×WU« Çò·Ûw¦J¿N|ÉÑÍŸ{Ùú6î¯gÿ[\t]kÛ®k[k­11f0Æ¡tmÕu®qΘÆY›d˜½w„ šÍNº¦‰¢p>/Ve¹{óÖÕ«ÏFÃA¿Eñ=/J)‰R)©¤·Ö:Nzƒª®¯>ýDY®–‹%zyE‘\ü¹º¶:þÅqu¡÷…{´ÞQ†·i—=²áIÑÜŸ7]¹¬»NFÒ¸Ö4µ·ä=³U¹:Z–eÓx˱[:™]Û’ƒÒìªzy0ó›£þx¤£BœV· vÞ ADòß©ÜÉzI¿5~Vu*β2I{[¯Ú:ž-Oêån{,ƒYI)bÁ-LÝ´$Eî•â{î?¨h¾˜/–ͪêB ZŠPðŽë²ëÚ*ÔI•$™ïxUtýQ¤cÕ:†LŠJþÒñÙ jþ}_ÿmoø¯þg(!„øTpzxûÊŸþŽ_øÆç>œ~Ý/ýÂ}É—¾dþÑ©.Ú!ê¾iç¦<(N C]p©{ùh¦eÓÚb±§}Ïtû¦õE(òìœ “¦\Â[SVšÈ´«f^,÷Íœ˜Ax~¾G¹kŸþ–‡1–áJ7¢°û;·ŽLÎo|öCWv®>S,&£ÍÉæà p.RcŒ©—R \Ak¡£HÁ˜bå§æHsh¢½Èûgò<Æ 0fz™º6¦Ñý•δXgƒbvÀÔ€¢tÅÞ¾¦ ¡y¨ÏÂçãÜ”l,uçéôçdÙKG‚ã„F#9P‹ A ÚN&¥?žª“î^v‡|+è ¨m8e±°,L»^hÃB×¶³Î#-|îœí¬i| ²ÎIÑv•CÆ„Pš{Dr¥(¥Â ‹¢ P,-;iÚ®òH¡ÊØ"öÞIÅŠ$û•€÷ÜÁ#U?ùÿÜ;þ ‰¶ënî\7È›•”É`C§©´M¥Ÿ÷ÐOÿþs_ËêL`K‚"&´é`!à¸$öD" ^(ŽÈ¢V g–àUÓ!ÆËÜ7Vн³]×6ÆÓÓ9; c­›ºn­_™Æ3UÕŠ Ayïš¶m›†Ia˜fÙµé^’¤ƒ|Ø4mg»½½éë×ûýþ(ôúƒá0OâXJékŒñÌY¯× öBÊζ]×Zk]×!Š„RIÅî45*#&âu¹‰÷]k}Sßw¶7JÅ­½ÙþíýZ£­´vÖÂ: ALÄ– È÷ã ëE,$·¾^˜Õ²óÖÇÖ¼H‰Ðí­öâñ8Â8Q*|A©°i»(¥DŸŒDA¹Z8׸҆¤£(‹†£TH™C×Mµh)˜-ÃúDtãžuÜ4µ©šÆ´^Z¥y!HZpg-[°sžYDb3Ϙ= ˜¦Ûùj![t•!a«Ù_µ8j,€5N÷n=ôÀCOþYqúÜÕSiró#?ô§¿ãoýú›×ÿ\¼ðôKÃi>~éüS0òl0=¹®AHW9 Ö:¦XM²¡¦¼XHt˜åQoº7-ŽtÖÏ7'¦ˆŠý'‹Š&£0ßÈ‹ÛÍÎÞ Ó¬Ì’MëMíó8Ï·&ZÍïÀÏwã(wíÓߊ£«Ó6Õ¡ÈÏnNÎóñYtNôÔ˜˜E†v@ÇÆ˜b9×Y\!9Eº¯u8`6”9Y!Õ:Õ“^4éÃlŒÑ¦,–sÓ-€1sS:Ó:£|ë3ŠƒO]{Ö¬\¾1Ì3Z‹Éùí|>`VlL15(–Ï¡aèžÎB 84õ.p @0Ç‘è÷E¿/ÒDĚ 8TG²ˆ,Âl†ùÂ7m§ú±lèÁ@˜•;9ö‹9['ˆÁä‡oœgO­`§dg»®i:f’'"èDf™Œ¢uÚ6`Ç*嘄 ¤aÀ½FË, IDAT€ºDUj]8àÉï©„ûj}Á{I.N°÷,Ê+ÇsF|îFx}?ÖᥳۯzD/‹™ðN„áøÒðó¯fÿµGæ× ,üº*Ó“l•4̤–D† ‘0 ÉtØE *ÇAúBQÃË×7°÷Î1³”JÇq†Iš²wMÓ€ä²\Y&TåBE±d»n9_ÓTåÒví ß¿xÏ¥«Ï?'ˆ¶··woÞ !“4KÓDJÙ6M1+–Ë2Œ´Ž“0 àÚéí›Æ´ýÁ ßËœµíÚ¶5uJÊ”‚Í©kìÁ¼Ž±s‹ÙÜ,æ£T„¶I©;\Ú(Jf³2©Bv-Ã×Î ÏmeS”…aPÀrÄÄׯÞJë.hLÝìÝêfG]$ôߋӸµî°˜eY<ˆ3)¤X¯º£Ý¸~ê ³6ìK(ëÊzטŒ­l4_-µ¦XaeƒžNãδ{·ŽU(šÖ.V¥i[áU¬r”a©:Ó¹¦3A ÉÙü$PjUÖmçDMV 9¯sv£l1ЬqzïO\}ö•þ³¯xþ“ÁéóWþI“íÅOoÜ|3€ñGÿ¬8}ìžzÉüía/k]ê¢>4å ›ºÌÇi®§År¥CiVdj3Ùˆ Ï ŠÃ½éÁnžô“,A¤‹r>Ùæ:è£!ƒ(Ê£­Âœ˜²2u£©ÑK÷ŒÞÈÑÀ°Ár¥7¶òžF ÍÌLù¶i;@˜9#*tË4"hBÞ<ö؇LÙàÒxréâ•|›Š£ýb‰éGn;ËG}-¼N ò Òy¬õ–á¹i#c¦š%2=éO’>ˆE¤Eš‰ ž¹ª¹i9D°E2¦^ª†b6s«• #Œ†ápd)Ì=ìÞ°‡3t–„$$ÀÖÚõ0Vê¼÷äBåâ„6·‚sgÃ^O²ç®cÓpY‚‰¼ÐmGä;n= @HÒ8OJ*%‰Ñ±·Ì^Jza© {ŒÎî,wÏݼý+_0‹‚íòøÁ«ÏóÞÁQEMÓ~á~îµ'ž-Ve Ý‘`&> øf½PŽ”y!H@~¨ bÐzÓ[ 9ÄA·.fx9û晜í¼íœµÎvÞ9çœ1 éaËÕ*ëVËÅb6S‘ ”òì‹““ù¬H’t9Ÿ{çÂ0¼ÿW<õÄ“qÝsïåÇ?úx]7—.^Ü¥T޹1M¹ZÕU©¤°¶3Æx¨4Mûý~¹\ÚÎzç\ç˜!ƒ@JOl_,2Ç óßດšPµpÁÑÜmW›[+3L·vck„äÀV(khvRO÷æåªÉ’p˜Çý,TJ*Á‘–‚Ù;–RBJ!I§‚ •W¢îæGÇ«¸ëÕ-ê¦QsΤ:K‚äB;$ÕËãÉ™´kýîáálYUM£”¬Û.ì…g7‡ýE´?9íû½$K²Ú¬ØÛáV¯±&ô*’a†ä•NºN4‘ŽÖY'©)O⣓ùIÑ’¬g­ƒ~œž9;Ž´.Ëz1[‘XÙ¦)˳[À‹8ýü/~6ë‰ûË÷ý§ó¹;ãô}¿wåÎêäÿS¬½ùõŸý±?N'½í—Ì?zD¡i Ð\9wEga£Å XL‹“N7·óþÙÉ+BÓ²&2MƒvRD‰a^¯`–¦X–;G¿ŸÇZ‰\k“çq>ؼÔLŠåüŽü|W£Üµ¿6Ùä]ÅÓƒ«X#ÛéQ­aòq¬ƒ>"˜raJFD&÷ŒM¡UfÕ×éÂøU±³cŒ¹tß%ÓÀ¢2Æ‹]sÒ `­.šê6F_äJ˜•CD¦6¯ùKoXÏPšÞx߇~[“œ\ܺta’‡cSgÐÚ¬¼0Ý–QÛéaq*ªÆÝ‚ÅbªK‰(â@°„ïZ˜†Á…¬cJ¤õsJ{rsKt CŠ¡8TB‚­tG°J8‚d'Ù1³|Q>TgϨ3gÔd¢²Txªò«•/Ëu4‚À’jo;öι•#)Oo1€ „ðŽ=@Jªu,³#"!™™zƒÅ¨7Ôç>Šü1 ë2~2l¾¥í¿S—_½¸YÔu=Þ>?½}mþÄf0yN/sÐ1˜„Àë2 àÅÊ…ý“ñb™wV´&8;j¼Ü}óÞ:ÛÙ®mcÚ¶uÎYëâ4=8üÐ#<ò‡ï{ÿsÏ?oê³ý~FÛ6«²œ—K"™¥©ä`»®ËÒ¬mï½÷ìœóÞ;k=yqº‰$%“XïãegÑѵm‹Òuõ«“b`ÆàQ—³»Œˆ¬'Ç$¥”ˆ B%¼”¢q¾a_{Kd—…Y.|Uµ[›ñh˜V`f‡lÿ§íïþOß&²êZ–BX¡¬ jÛ¶6žH…:8>±l7'½Î»Ãâx¶\–UÅÞ§I šóÂŒÆiÆÆtsÛ4#ä=c£× …šw«Å¼‘ò0 ¢^ÐËF£ .úIS×Mc¸õ«Êø8ýÒ/öÎ8ý™Ÿ¼÷Ï Pœd ˆ¤¿ù‘ú÷ýý·¼åú'S=/™Ì´.Š› SÎãÆ 2'0v•÷³S rôäSOµfn1@êKçúˆÒ<ÌÑͧ‡Æ˜ât@Ëph̪X™éô Ïâ|<`æsÈôü|W£ÜµO3‹£#èù‰iª|ÔÓ«Kg¶‹Ò"@N¤/¿¦1eÈ=õÑÝbQ ‚VÃ|{<™¤ùÖ† Væ°.J‹¦4ëIåy>nôÞéÞû'Ã|<1‹Û“~>éAlæ5yÖŸœ%ø?ßÕ(wíÓß´ŽL›îÜÞ)ŽMÅ:¡Ky”_:§æùHë²X.Š¢£éÍ÷µŽ0¹AQ.¦‹®8™G‡y?ÍG=÷ò~„|d€ˆ0È5€¦1†!'B™úÄÌk5¦KtPJÌrfNÚ\º¢ty40¦ÔqÏcŒGT¢UZkÝ;‡Þ‰Ž{ÅrކÏ#ï°žABJèH³”`ÀY® Ž ±I°7D‰8”¬ Ç›BöXÆâffwoÙªâ(âímñàƒáC‡g&*NHX !Ñ´îäÄÍN|Ó¹^*òY¶îcaïÑuÔ¶h[oX‚ˆ…H¤„sÄž˜ÀÄàuŸKó×’áoJéêf:{ÿca`™¬…u8îykÉ1¼'Oð^°—LÄëÔ‰ bϧš€à= ‹¾wâà†bW×ËNÁéƒûÆmÇÊ9Û-—e]™þ ÆîÞí¦í67F«Å¼.iš()H÷ÎY;ô®ßØ»çžÕbQ×õr6¿uãúý¼âÆ;W¯åƒþk_ûšãããUUumk]3ÞoomÛ®­VËÅ¢ðUUe½Þp4TR(©´ŽU@HV½.Çβóì=UR–2³‡è$¼R õ4üÓh€$˜™™={&rž<¼õ`ÇÞ:oï¬g9ë!Dë^)…’aèPFRH‚ ÓQ)§y¨I(•LbÓÔżZ˜•i; ýà#—óÁ Ÿ nÝÜÕ3b^-çõjÔK·õK=²²=š-–µ‘B1³wNvlÜðäÑÏÿصc®o_ôìVgÞù±ã×¾2þ‚4ͼ§ª-…€*T¡AS{PË<‘¦Z`wÆé7üÝëÎòOþÔeùßÞ8ükýΔ•f·ñwo>p5%Œ{"–ÝÕ¦ûÈÓËû³ñ¹àhºÞsáæG~èGþÏ7¿áóžø„8U/™ŒÆÀÞ˜F¤³Zk Ô:„)t_\yðà‰·Ñªë†9Ä;;Gè 8yÍC¯Ó½Ø,ëéá|ãLQΧ˃<ð:åz c  #{~¾«QîÚ_€\Hó q8ÙÜœŒs˜zYš¹Ö!t–èõL÷wžŸN.æ:€±FC#B~n{r>Avÿtg®1/›Ã ¨C˜Ò '½ažÇõá̵ÖZim›0Ó FÇÈ`C#ʼthKC=ì#/L#ÑpÑÜÆá¾vQ •€Sã1ŒAÓ ï„2P$¤ð$˜KEšifÁÅ·í%È{Á 'ü󦃔¤b8æGS\؈w®Ú“oŒqÿ}êÂE™d{öžY Ž#Êä:Etîœo"‰£ë:vž˜¥³d ­³àÖR-…Dì¹uë¥Á̼®,õ`"W·4+ÃU•–eÖõJ™QV{aè„…Tì<œcëȱgO`°‚…ƒ ,N/Ef`½37jÏ\4Å*.§*y~úÎýrö B0scšº6qK)Of³Û{{çÏurT pšõŽŽvŒ©ÓX{纶í%±wö`º¹½½}öÜááQ’f×vn Gãî¿ÿúÎõ£Ãƒ<ï?üÊ+‘ÖuU–ËE’fQï\»V­J×¶E±˜Ežç½,ÕQ$„dv®³$!_p Bù¶ñ­aÛÁ¶ÒŒ•±'Å*RèÅA(©Ôé #ç={ÄB0Qg­uÎ1;ç@ä †R fh¥<Ð4-aIxÏa%Z Až=³' •N$­ÿœ–)ƒÙž”˾NÚ®eØ4ûij;V‰O´îõuãVsc[×@ˆÖ³ë:ç½÷.‰âÉùÑr¹:®b¬*ã‡J!ëá­ìüò¡Ë‡×ޏÑ,*iÌK’úƒºõÌç®þã­3gbÔfµ<©ÄéЮªêyåõö¦ðÉàô›¾ùÆÛ~äâîa3¼3a]?¼vãú<«F Î\è‰îècOUïþðáXbkÖ«æãO87ùÄ8½tîÌKæaçÖ³Z÷&Û“ñÀ¬Z¤Ó°ˆ²+gžzò©Ç>ø˜I~y2¹xÏ$ŒòL›ÖL&СžN§;OMÍuÖÆ0Ú=X@ÁPR¨*&yo`Â;òó]r×>ýs=™F¦/m€)k3¯M·ÐíœT§w§•b“ɹlrZëbvX4^ûmlNv z“^—}À+ÝW”Ck†E;<7Ù˜vC‡™NQiˆ¢uhV3pifÕÎÞ­â:¡â¨6­¹´}DÝéMh.5Ha¬7õJk6-µVaH„"ŒDÜC“Ôu°‚„©¼ë\¢EÚ—2˜"©)vðA'ò˜òKÁÖD´Öõ{j4R:… bÇm纮#²i‚ógEˆÃ‘#áÏLüÆØ«ÀÖ¦©jï¬b„mXw:zË3¡çûƳg`]œ¼ q`À;8‹~Øfa7J–$@p!wBœæM„@@,™y¸ÓæïA¬Ã§-3$@ÎûÍíÝ|x²8œÔCÅÔ¦I Üó2÷ ι¶mÓ4RSï\¿Ñpxk»(Š´ÖÓ½©1‚ÀfµÊúý$Ö³Ù|ïÖ­‹÷ÝŸ¦Y×´íQñá÷}D¼Þ?xåÁá(¿yãúþþÁÙ³“Ñp”$é³Ï]»ykZ®Ya`3›Íý~k)¥Róž „hÔkéæ\SqkØ6ðN¡#ï°æäl×8ï-é0 å½íl]Umkš(ÕB‹U]y%3“ !ˆ<ε‰m×óeÓv¡Š‘RŽë¶ß aœ)OË‚Ng¸ÑZžZ—°µ=8Xb+À¦uÓ6½$î÷´qUÝšúȱT*£³#)åéa×™®r­ïº U‘ˆ*ez¶ª”àT…s¾}ùÕï×ý³?óûWf¬BÜÞ£án¢©?ÿÁó{ÃIAO>h­`űޤ’auM]wT·@ðÉàô­ßî½oyã±ÏîßÉï»<{fžYéÓqÏ7Ÿþã«¿òÑJyñ9Ÿ}Ïæ8}æÉÛ/žpó#?ôŽw¼ù»¿ûcwÆ© º—Ì?:Ë/õÏæã+S”&2‡‡Åq¡UòÔ|ýÁ¥ÁÀ4¬;Ï_°óÔá´TXÿ’ʡЉʵDé0×DƯäD[Zd:ð&à;ðó£w5Ê]û´·Û4ZP.Ñ(…÷y/Ñ}hÙÃfqû©#aN…±“3aÞOÎMòÞÈp•A˜MvQ/õÚ9¡ñKÔKTZ릓æ¤D××ÁÊKS¦:SÅIišÕdãÔž9¨Mmò—ÎŒ¡7‹ƒë;OïMgÏ¢•â  7¤Ž{Zk½š¶CÇHup]T+rŽ…‚ÔØa{‚,ã „ä<Œ¡ÅmËq"„#áÙ FPDž‰ )<À"”ƒB…P©(P‚…uv>·{ÓnY¶£ÜŽ7º~_åè?µÁxÓ§©o[cÚòðd¹X´A÷Òa–åÌ)EÏsÉ€÷ìqº,m-¼_'À ˆ"f{Cïüé;òú:Z§ DëOe9H ïá<&Zn×Óš±s$§½&î/e°BsÚ ðröÍyßµTA„m×ÏçóÍñ¸ßë9ëÚ¦ËÒÌ;W.WRH%% 1ŸÏ¥R½4^,ëýét´¹½¹}æ¹Çžif• í¿øù}ßý÷¾î ¯yø¡‡¦ûûO>ùteÚY±Z­ê¦mËr(kòæîí "I)µŽ• ¤´Ê &}ª–®1èîÆÄl¹îš8”$¬k:b&Šøæµ©©Ë<¢PämG’BA^1yÏ`pã\ÙuËÆ–Aཇw18!דQœÄJÌ¢ž/Wó2Jt ã ÒBЋJ…Á§¹ž0Š6l´{p‚û-…œ• o©±ÖZ/HÄq‡¡’è¼ Â$×iyP‰L$±’BèLk¥IÚ+“ÅrQKzÕÝ®ù¡a#]Z,uQ¼Š¡J8ÅÕçÞx÷ñ­­}îvöÊW=Òpk;ïÒ$®ªV:ÑÕ @|bœ¸¶Ù…ûþƒ(^üÚï°ÚÝNLEsíÚsOMßýtsX¸7}Þ™ ÷勹üÓ'œ9#ïŒSÝ/™4EÅbלtÆ,ZhgêTêX£çì<¿?]–šD>L6Ïç[[ùùmcÀy4@êP¶Åñ¢XÎw®î®'5€<‹¡WZ‰¢3wàç»q”»ö Žh`il¦32ÓC$AƒK“Øc ›ecÊc ÍSlëJ&ó­-fÕeƒ¦3ueÄ€±~zëÀ´"ïÏ€¡Ða89?Ê96Ô˜em¸65`ÊbyPk­§s­CQN0MQìßÖñÙ\ë+^ÖDhÂébQ­7¼®t¼ç5âê¹^õ_÷Úàñ»·|¤äxKÜs£¡[¿mz†÷‚¢\¡éˆ%y† êZš-œ÷]’‘Ê…P1à!“gò€µ¾(üÞÔ^ß±ÓC;ºû.·gÎVÃM}öB °k˜¦;šUO\Ý»úô-îì¹óg?ãÑW¼â‹$eg4ëHÅzKÉiïçÓízëûÆ„BÀ¯¯|VD–_{ÞþÏ1½ ÿâݧsZ×1 <·ð/FýýiJÅ3±À’¹s³ìe§÷Ù§îÛß/ÿåÛÝEc0ÜÀ£¯Åßþzä¾ RÊ( uårqûöí( FÃ<ÖÑr¹¬ëZˆqY®º®ã8BMÓü—ßø÷_üU×7ëâxqr4Ëâ$Pê]ïû?ú{ë«‹ÙÒ*q(¥bnœçjU;Ž—«v6oLÃaÆ: ¥”\WïzwšOéLEëÎgòR(Ä: ¶õmC]ËÎúV/æ]µ(…ä0 ÁÔµB…‚EÛtìÙ½ã=yÛ/¿ïæ~àñý=a @¤¼˜t¤#ÝSA$„d 캦,ÛâädÕÈ$Kúý^ÞWJŽ §u<7nM;;°ˆt(aS-ÚÖÍ«ŒA÷úIÖKÜvm×¹Ò.;g7F‰s^²Þ’÷ž½÷sùüs[÷2˜WLJøƒ·¾÷{>¶{¸s«äØÿõôò}boXVs¤êvîXz£¸Ì®6݃:ÒõÊ(M`ŸÇñáÍy²¡÷ÉàÀ¡O_™ÖXüÖï=õ¶Ÿz÷}øZ¬Ã7þÕ×}ßwþ7øÐoûöÚàB–GÍÓG×v¿ ÿÃÏ|Àÿ«Ç÷~åï}dj>þ„µÝwÿ'Àéô7ŸxÉüc’"ïŸ3ÍB#FÂE¢Ú5²W, Ý’î_¸t%¾$Ïè¤Ò”@ÓNONLÁϧ¨õR@iî¿æõtl|‰V¿BãM¹4çAÿü|W£Üµ¿%î™&ƒ*á¾°0ZÙÇ®=§ûƒÉ(¾t¾gš\ÐÚ³³û¼±€©W:Nuª´y|vZç½(߸¬E¦Ó°(›é­ý¢4Åc¯F:Óyo 5!î候ŽÈ4\,çæ¸Ði¢É%物o£9c¸2:›ôô¥íiƘ›¢kL{X…P€œó+Wªíaü±'È 99Ãyß òÖ‘sðLÌÄ ø¬GaËÖ’uPW|ó†/çn8 (¾…k‰¥xA 8Ϧ±]ÇÆxç %yKÏ?ËÇÇüŠWÚ v¹=lûý¸nmQØÇŸ¾õѧ÷¯Þ<®gF¢«›ÝÆ·YÞa ç|I¨=yϧE£/8ž^ä¼¾Î!ª$˜á½eÐ{ßÍ?ÿSxëãÞëM½ë—g&0 uÚ‡eç IDATŃ!NëXx&!Ø“pÌ’_\G÷)ûö®w¸¿ù&ú®ïcÛ⿈_øi\¿†üÑ?ßHÒ{Y­ªÝÝÝ®ë½þ`“UUI!„'''²4–JZkøñø_‚0øÚðmŠÛ‹Å|‘÷7´@EoþÿõÓ·nþÊý€ç¯îöÓþ²X^~åe©TÛÙ²:HâØy°'´p°{»Š=F#!ȇŠÅé\WîxÇÖ²uð¦"©PWq×€˜å Þ6]kƒ,Î))”`f‚WpŽœuþW?ðÌ¿ý½?õ½oú’oý1[ÃÍÓ¢k¥Q˜&’Xgs¤’AÅA˜-ª¦]”G†ë^F)^¨Í –1ú*jÜObùŽÓ8i[×V«ÎSç½ÕQâœL¦k-\o˜,Ž*xá<7¦ú̇Þðžþæ3WŸUR}Ùòª7\úšïxýÅÿëÉ7noa^P»åÝIê³j3ö ЊCƒÞ.ä[¬/$‹íI`öF°‡¿p±Ÿ`àâôk¿úžoÿ†/~Õ«^óŠ7}Nñü“~ìgë¿ö‹^ÿÚ¯GÒÿüW_ÿw¾ó¿ç‹Ò31'={óðöNó›övýÜw½ñ‹IÎ}å¿üÀ‡nÿÁó‹?aîùkõÍÿæW?tœV¼dþ1'‘Žn™Fæã᤟è Í/>¬‰ŠenV¡N[ˆ3PeQ:¹i™ƒD•¦ÄSpžÇÅ¢B­€<Ù€0È4Àøùn®ç®}úÛc~Z#Ðh  2­bê<¸2ÖïÜZšò€cÓÖ—.߇ТUzs[¾h*3¯AF#\ÑH”ûæ(@ݥѡ˜l}&º}ÓD ¸,ŽœahÂÎîp’olOÎç9 ã #×xê©g&ãTŸ%Ý 8Ú›š2ÏùùûtYÃZS¾ÑMÀõc7n\¹÷Ükb]×ÎúÚ má< "!H($MK¦©hz›ŸyÚ65—cÑ´¼Z‰~OôúÜË(Τ `-;Ç]Ƕc)Ç" Åré÷ì²äÅÌl-{£™ Ù5ùï½ïÙ½ã. Ó Ïô²@’ï\ýØã»ã0ˆ}ëàO„ìáy=K´žgN§í¸žáüib@ñ ø£÷óÛþ ¾ÿŸ`rþß=5Ap!É;&€äzêy/ÀŽà€É“ ˆ=3 /˜*÷b¾åSôíûþ÷u— Xã+¾ ¿ðÓ¸±óçã &kíÁáAUÕý^oçi–Ù®kÛv0€pp°p’eiÖkMm­]•ÆT«õ Q’鯄:Ž“D0'u³þ¨ŸdJɽÃýIu6ŒýÁñÑùsçˆá½ël7ÝŸ¾îÑ·ÆÌ(ŠYÛµ#»¡¥éýä½kn*n Øs×øjቜwPŠÂ9bÅŽz;Ûw‚œcë]ÓÙλ?xüú[~ò7~ä|SðÂøß:ÄR…‚’HÁy@AJ‰8óì¦n¸“Æz‰$Lˆ@/HË{Ïo\›Õøyµ:Y­iÜË44h]Ð-ʺ¬[)ÌRJ2¼eN²Äwä¼'{ûÛ„ÀjÞzïþÍÿÒ.}ͽÇf˦,9Ø…ºdŽ\;2ª|Üåˆá†‹ÏFñ¸©^aáÓ2é"(Ù‘€’rG={ˆg?NÁ}ÎßøÅ_ê¿îÕþùÛ¾éôyÝwÿ·}åCüÂ¯êž¶Ž°¨·¿òíÿôk>ë샲ÏÿŒV-€ßùÈ ™n~ü /Ús×÷ï€ÓGÆ/LÛ™e<]¬ªU].ÞФLkó04ˆ€«ˆXGAÞKóLçç¶‹Òæaˆ0AÇ&Ž‹¢6Ýbçæ|Ò XÎóÞ ˜ëq¸0½½¼?ߣܵO»4ÙD 6¶)–Í e<ÝŸ]yô^£³ÜXcæãKf•˜ziŽœiŽ8õÖ)ÔK=ˆó|$:zÀ 33S, Å¢˜Ý6ìµîé•`|`ã5éáéáAqT=öáçèÐO67õ8Ík> €1óéñžik´5Øë|T,w×3‹t? “ʬèɧã(Íâ~jÛQU£\ùª‚uBŠB†ttš¤XZ̼Xò¼ð³™½q qLiBù@l噳Aœ¡®}ÛpײixµúÙ{Ó(ɲ«<ôÛg¸÷Ü{c¸9VdUÖÔÕÝUÝ­®žhM-4"ÀÈÆf ³˜Þ³x~^^`?ôÌ3ÏË F`¼ðc4H`ŒIHb-ÑBjõ –JÝ]UÙ]YU‘óéÞs‡söû‘ÕB°J¢›µÌj×þ‘+22â䎱÷ùbŸoÛg×ߨ³A=Ìë|RŽ|d…Ò¹º™LÂÍ:]è­®,ZJ‚$¬YVÃqn·0‹ÆO7xQV’™ |YéÝöâÒ^¸@{1k!±’¢™ò?¦<ò~âßâGþŽ˜Ò;¦U ±`Ïð^{rNMJ‡1 éxJ}eÉ$™áÉyÏ‚êÙ"ÏØ7žu• *ñ߀{¾N°çgî@¾ñƒÁ`<ÉÛ­– š_˜Ã0ŸŒwíN»jêqnÓ¥Þõ§n™Ÿëžyøsëçú“‘•3ɸ¦–ž+Çm¡ÐÔ,Ô\{†ç—|ã½ãª*…–& Z­{öMsþ‰':íøk_üÂÕC‡ØûÆ5UY6u]•¥ ÷Ñ¡ÒÜÔ ÉR‚ ‚<3+åtcB )<±g1؃ »EóÀcëÖ·žXz¬¿ýÃ?÷Áÿ]¯•OîüpºìÞå`eÁÉ*ŒjJ8™B@ï=‘ "¤‰$¨ B£µÆ´kŸÒ`L"$¸ÆÙºOªÚ--uÆ#¹5¬˜áÙ•e£„€µkœ÷BTÝV$„uPWÕÞŽ'ˆô9k°uâÀk7÷ù|¼ºÜt yf« 8Ú,]ò¸º|ªªo+|‰xuô‡“¿Æ¾ª¯j£#¥’Ú¨˜cÀ~Å8ðœÛo½åŸ¾rxî‘/KP¢‘ÿè½wß´Ø8Yªp^X˹/½­µ0970(Å×Þó7¯ððgFW‰Óg’l¤+ÝteÊ €Ù™ŽåI¶!LR™V°ã‘çÙö†‰æûƒËÙN Îm­L \~flaG†„m±1¸‚?®žŸ¯a”köì·þÞÞ4Iš(2h-LGê¬]è#ϭ€¢Þ¹Þê –`ëÛåìbžU…m£„ÑCÈ.϶7¬˜ƒŸ@© ÁDGNݬ³É-À[Êl4À †Ëxà´÷Vºé≴ cŒõãþú¥lç1˜6Jß›ë:9ÐÛIe´ïÛ=£k˾½l×Ë•KM½ZHK­É–*`oàÇc.*I¢’X&F´‘ÄBkc¸ÝÁü<*Ë…å|ܶcòZsÚ öXEb4pŸi*ß4¨Õ®)«º®åŸàÁ¶è´¡Å¤š\=|ý‰•ëÏÍ/„¬ÕpÂã05€¢®½dçä£çmí´&{"Yvu%… 3-_bóØÑM) ˆ!Eãì%7-oüèá_½§nÆ”/²_f˜2X1íÄ!8’بڨzJt¬°€¨¼÷L’Ù‘€ÚO`ÏÜ·ééÐkï™-x`oy«Ÿ1Zž™oŽy2™L&h'eEívÛ{7PJ­Î/üZD\•›—öž|l×Õ„5³ÝÚÛ¢QÚ(á#OÐáÍGOìÄÞ sÌÛý­£'O(0P–å¥Ë—·w·o¿åxAER "òÎé@àr2ÅvžˆXJ)ŒPÂǶ®ª†¹nFe7éB74±’Á¶r;»ÿå=Ÿü?øólgw©Ó>}xñcg×~ð^tÊH_Ö3XöäýgÕ]"ŠÅ°i uÜ[-¥53ïGJÉ´Õ 8J‡@¤¤DD4mÈšU4_wtÑSti+³Eí;vE`UHI·âhTئ®!òª´M-$)®&„$â݉ÕRÅÝ0:tö‡_ÿþé‚“óï9û]ÏñæÞÖ©â‘Kb±“Î÷v°áÒsÝratx/®NRƒ³;>ô“/œùÜí×§AÜ"¢8Œ š¦ª¸ò+Ä)€#Î?ú1]z*7=ÑO^üÊü?þ£ï{àwÿÃ=¤'‚‡g~í[ëOÖ_|ÓÒ©›S·µ±¶^hÍ-ý+à4þlp•8=FO?ÿÀÏÔmÓi¥-6bÅè][J[í¦ÝEˆ%ÈLÀ6l[5FëD¶³nk²ã̺ÔH ¦›q¤— íäFë/¤A<±ÜFY#Ôý'6¯’ŸO^Ã(×ìYo§NȲÂNvÆ %[Ÿg•J¡­Œ{ÝèÚ¦´MyæÌšïØ€Íϧ‹Ý4­Ô„MgÜ¿x)7¦» ²26Œ y¶ãÌäÌyœ¶¤‰Ú@ÚîfeÖßF¯Ù&Ï6ò´ p×ǰ‡cC´v¡ŸUÛkg‘å›v(mÁÄÀØDm„¡!B—LØùÔùp@¾©+4û­±·Çã1¶Ó¼X^¦v EÉeÉqL¦N›dï9Šhg—L&TV”¨j ‡ å«Ò¡n$7Ž¥‚¤ð¤X°‚²aÏÉ›Tˆ:|´~ÁÝǯ;Úî¶Í8—{»\ ªÉÀ×Ö5j<úè‹;©#ÞÚ .ž§¥c.ÂÅå¨qWº3xZ™ rŒ§X«{»ø¡·}ù[ö/Á{ÿtöÚÇ 3õý/é™3˜)h:m˜™µœ‘Nž¹oSúÊïÅxˆ÷¿ïü%üÔ¿Ãÿû³?Sß\]û¦R‚”RQ$I¢¤GÎy)•PzñàêòÑðþÿÅã}¾œä®®”jwE(¶i¼@HpeÓ(¥‰3Â7*ò­ñÀƒÖ/\\9ºšÄñh0ØÞÙÝÜÞdæªq_|ôñ(Ž=j"#„`ï•RÒÏ–V&ò°“2dãáplm T™ Qf£1Æ“†?ø©µw½û|þ±õXû[÷ž÷¢[îºñHÇë÷ýÄÿí»?òeïé«~ò7?ø¯ÞräôÁN; ¦n_d¦³0©rkCƒaîL`BE2¾rA™ýS—ˆ _.v£p±cÌpc á[ódÂ(´ MÒ2»ÙN]6õÈ5 ëPÖ‚³Qé¼oEQ¨Ãª)Óƒþw¶žûÇž=Õúþ|þ¾fåÿûÕK¯9³Í*º;m›9|TwUw/o#æµKtÿì^@¼‚²ñç6û«ó{AGçeY•uº…HξBœ¸ý­¯þ+%'Íó^ñ ?öóÿñw?þ_¾ëÔ ÝÒ7{9d›å¸zþuÉé»–PåùFñ¹À]·?çöï|Å__ÀÞèjqjÜ¥§LÌ\Ú^´•Ÿ¼;TÞ´æ²Ñ®æ6tŠM£dJCÔ[\8v°‡RØÆfY‘mgÖ]Êžœ`œX1N狴嘦A8wõü|­ŽrÍžýöž5Á¼­æa3¨qïÐ iûê [ï“XTv8±U m í.ÂN¬”vÜØá¥lø€´“¤ +éá£v¸a‹r¦§¢ z0Dýª°¬]~ÜPË´Œ1Ô;Ôîog%ìn?±d[ƒlgb:âØÁHÚ 9v¸‡ö²‰sÏ*d»ý´•Ø*Ͷ3XÛ;¸`+·¶yù±Çhþ-Ö²¨üF¿ÜÛE!ò ÙZÁNï‰JÕµŸH" ÑicuqŒî6íìðÎ'®n|Q°pð !¤Àƒ5‘bá= !B¥”âÐ*^|Oçä1 Ξm|°¼ð—¶q¢Šuƒ7À£)j1ÌÌîå ñðǽñh“ïymÄdȵŸ~¢§öõ©öÅôÛñ‡> ž5ø€×¿Þû1°ŸW €›)ŽÀO@tåKh6µž¹oL3ßâ¾éÍxç/áì÷ÿï3óÍyO‚LdB)¥•RMSWuš°®Ϩ«ú¡?ûÔ}úÈ„›ng _׎Ñì×Q´÷eaE9Éh0#»äÃÑxû—öV–âËýËw.mlßqëÉ­Í­¹4UJê PR Ab¥…”R¾)›ÆÕµ÷º‹‹Qœ©&Eõ¾?ùÔ¯½ÿ¾û^ Zìü“W>çÖƒ #µ¶½à2Ë>ü=ߤ—U)´Æßúë à¿}ÛKÆ›;»ç“ät/hißøÊÕ›ÃÍÂÒ`PÎÏé´[;_ƒ9PD "1´_GQ:ò&/ò¢pó ‘Ô‚Èy_–•ç†Ù1 fèP-õ¢Ät”Ò{£]ëÊѸª*׎”b8i–‰v þÏ÷þÇ|þÞ0wû»>1îÅVâVF퇷ÖŽ¥ëYõGŽÛ§Vxù"vÜâ@òR<O&LÊ<D/ _1N Ϲ’”†Ÿ~xåuoúÕŸü¹Ÿú…ÿìwÝyÇuíl}+½n¯oÔ“îxþõzNû‹Ã­­ú‘À‹_ùµ}…Ë÷}déõ/?´*¯§/9<íü˜$°ggÿÕ¤&ÈÈØÝÛ27aœ.¦a‚ô4Ùª“Û`l÷:à­´azÄ¡˜”52mW¦s(Øþåþ™íÍ«äçkåš=ûíöçÞ »k­ËF°uj‹s}FGÆNL«mæÛ ðØ6Þ'Pm0ÅS ËœFkçϾøx¯#zG{id²,·“-”’ØÈ!ÒVŒÊ Ê³ª#èr\G¿tÜåVÅóÔ haÁ²'&öÓ¹ºR̶?ÕFcàŠ ]ù¶<ûuúÓ1HÀBÌÎ_$ÍN„ܯcLŸAì™gý)ÏÜ··ÿ |ó›pò4 ~ï·àæÓ7¾0QšÈ;ß4 3E­µ®«Ú;×”%UÅàò†‰¢¦È÷öö’$VRi!fjfeå\]ï¢^\0¾q¥„Ü?™Ÿ_zbëRÓ”-„šäyÞØÂAI%o¹éú»ïºÃ9oL轫Ëa ´BSLŸ.CÃÞ#¨ÒÙú¥‹On·Óa©îý“ÿý}ýà'Éóf1‰^yúúŸ>´:͇í6ƒª²Ì'æIÂ(¯òÚ6‚Š:Ùo6¡®«zwírYÕññ¡ÔJ k½–°EÝ$¢QÈ+_»ªq´;‰VG: ÔŒ…³ÛH"v ×¾é¶Ze߀…·Î×R(×xç\»ÝÒA`BíJïk¯µ®à†ã*/ªù?xžß9(ûú›nùž[ßàþ‡>yòPòØÜxU v'—‘?: ˜žrZ¡ÌúÕň1w°udõ”,óÊ´T Ü|+Їû q:ýHîÓ­ÌêÞôÿæÇþëïüåïÿÌ7ÜxhnoíÒƒŠþãƒZ–wR/ùáeŸ:Ä¥+¶ìŸ¯YM:‡ªñ¹¿²Âîî¸u§OÇW‹Ó¯ÑO;ÿJPUÀþôé ÁDZ.meÁ¹Ý†õ¹-¤ [‘}b'³¶·tpmtea+—j™./§­ÚÙü4¡ævbP˜;v(ÁuáUòó5ŒrÍžý– /0a˜šÙˆlQ¢)ˆÓv!e£AvñÜ”ôš¶c[æ&\˜V×.nLïïu¢4h!¬í¤éOư[ƒ%C²I¤ æÐnì$ÇÆ9„ø±µd`zÝyF{E&²L™+v<ì_8¿¶nàs4AÚ m1Aœ®­eDḪÔÖ&mïV ‚Ó‚=Èy§jÇ5SSS•S‘¹íõ²½·ÚJkg"g"ÖŠ¥À”Ñj™ˆ„Ò<ÉQVìj–L ï–J´t^x/lo¦áj©å›V¸°2^\ÚÚzô@²R.݈¶§ãWLõÒ¼ŸõúÊiÞ§/éöØ?Ç€Üוg†x6F~_l€Rûs 1«RDu=ÛÏž¹o¯}Þõ+xôóðŒåx÷áMÿôïÆ·(Ž5™éÌaÏ\–e㜒jRŽëºfxI¼ÔK×>çBÏ[0óB«ó“¿ýóW®Ö¯üÑoxõ]¯m§¥Õ~çÏ\ùÓ/ð—œ8pĤÃáh4*ÇBÊ0 —ç^õÒ§iªµ-„Àž]Óx¾òV̨žänî·òæ?ýÊGþð/Ïåe™èæ–£«/»û¶’ƒ‰  æÚZ«¥žQéØÕF™a1’ÂÂó>ð µj§qK°o.´œç¦qíDj-•ÖZZZì|^Ø­íÍ¢,Ûqk¡;·˜v§‹¤ÅË™g®Ù³ó®3ßfÏuã‰nØÕ•¯ŠZ a1ʇì(JLRjFUSÿézã«¿e!ü¿ ââè‰ÿú¡ŸÿÀ{þøßè½_øâúy8;¹ñbg´Žz®HçÝu7ù0DܦՔ· »íܳþØùÇOž<šh¼7éFÔ:ÙWŒÓ¥ŸÝÚxÛtš`wõxyþÏìçÿ À=ßùž+oÜë_zË­«8xÇ öyuykü¶_ýÔ z¶ßàÉúÊ ÑäñÞ~ÿußøÑ¼ðjqúLò‚m¹ ÓŠRV('P6í.‚biA‚ÐÆ„6Û¾dGyº8ßëÀ–œ•ãl°ÝßÚK#B;5 k³œLÂ)%_!?_Ã(×ìÙoÕ¼­¦kLŠvÚ±µ>ëïZ,§ñ Çn[Ðßè÷û;a¡R©wì:XkËÐÖCT¹ ÈxÚ«iê÷7Ò´m’؄ҨД…醆’þÅõ¬Þ2¤M7A¨mã,“¤a»f’ŽÖZ LCæÀ2¦jŒ‰Œó¾©  à„“’  ¤÷Á`L“¢‘[ ”’0‘Œ"6!ãMÈJˆƒ ˜ØCJRmŠ#Á„ªäñˆ'cÁ5¨Ü4iƺÝᦦGŸôŸ™œ½àó&V¡ÖBAI4ÎϨ~´ ãœÞ ½ç·t8iuJ¥ çJjINˆ† v )f¬µƒóPr¶—µ PþþWŽ]Â{/SñÔ®O ""ž6uŠi †¼²qˆðïÆ·ç½Ͻvß·+T•gî› BçÓ¶Tk ¥”kjï]]×:¤ 烹HìÑ‚ ¶yñßü±k¸ree½·»m߸@«ïù‡ß'˜ [z€æsŸP7ì]Õ˜‚’=ïŽå¥"(%…D˜Í."xnö¿£7ÎÑ'Î >ò±û>üÑO9·Þ|C/}Í­7üƒ;oTMîšœ TR3D]Ù¦¡º®…ZUUzfÁPRK¢ª.ßÿÖ×Î-vL$ƒ@ ïÚÑzS+mØO‚¥´” e¤Ž¼ ëv7+et›PïÏb¢hÇíѨ* 'dÕm«@± ÙûQÆu©Ww×L [651i’ÞVÖZ;Þ-u Ïï~òùû'{ÙÏü泡?*å¡Ó‡’7\ÚüÜÎJmóÞÒ]_Ýpʯxûs¾å8Q‰W?[œý‹ÿ1ן_YY1Z_Jãh:›÷+Çé•„”?ôaÕ¬ï¾ïe*íÁ´kgúg/ÿÁÇ.>¼1~ÕéxñÈêðñGvÞëáøþo¹ûÛ¿÷ZëïÞ~Ë—­b  ÝQWÓ¬éiç;.Lk<±Î-£Æ@eÃÜV…ñ®_vX!¬SmŠcK+v¡H[s£þ“}ÃÓ]„1iËØ‰O4Ÿb×VeV5ÀUóó5ŒrÍžõ¶¶¾k'î2d@¶3`Œ[#kB‘a†Ë} MæÒÞÁc'Žd•ËÆÚ/dÃÒ7¦mZ&]ìf;;éâ¢Q¥Ê{™Fxcz½ƒEÚYOdM™å{é¥y`/]ðk%®v7Ö² IDAT¯»a®£ä‰ˆž,íõϳŸ“>–ލ^×ùÐ{Çbüö_Â×ÛñðlÒn©@ú¡’¾š8½’‘šíËRL($¯"¦–Ž&ÝN3ßÁs‚׆HSok®´iB}÷íÏ9u÷Êhñ–/ÍiWVP×ÁÕãÔ˜àiç…è@ Ó´€®AÑCÔ›½Å®Åœ·UùMÛL v¼¶6´6KÛBô/Uébp¬{¸gpæL–m÷­­CÖ’­5“\-?_Ã(×ìÙoé"`&ÒNÀZg”Ès(z—¼I˜õ/¯m]¶„Þâ¡ôèi;Ú;óD?»pÑÚªüØ¡lÉÖ$1, mÓφ;9mLPœ¶ÒÅÔ˜•µ³ç€ccÀŽ.›(1º“¦‘ežÉ<Û±e6&HÓù¬¥ÒÂîõka2NXn4 !jTP C£V$XHOžØSMðÄäÉ×D‚„¤é xçêºb’ì{G`„”vôÒ:$WVÔÜœ`¢ '›‡.¿ðy¾|I×VxE¡ÖžìüÎ&ê\"¥„’³gï„0’Uî…sÉBÙž+…`IÐR4Z’¦¢’‚vXÓÑ{³–]ZŠ] =$áøüHHž±¦3qfG$|…§2E4E Hš©±íkÓ¡¨ñ÷Ü7BJÔhš& Ã@®iˆã8Ibö<Oʺ<~×ñíÝ¡/-Uã|@Øóª_Ô 1o"%0q vw8’Zm¤PÞ7¤$ ©…¬Š‰''¥l·’×¾ük——‰ˆ@ž™AR !¤RJˆ+GR€’¡ íA5sx0ˆDáü}gÎÕÜ<÷Öë–C­ªJzbßÁK[ ßd¦šÑ,Îu… êÚ7++Д®.köÌ ±-óÝ&JÒ…9F òì§å'Ç®rµó$HI@²Wº™žÜ/¶b@´[QÒŠJ׌'ÖA¨µóMQ[Ù4\WuÓ¸Ú{ïà'Ø{Qé$ŒŠ\<Ì*Äú·þä|œáèM wœgýÅß™NtKç:ê4X{ø×ý£ÕßùB_í”â­sTkáÂgE}Ø•yM±”"4¾š8íz´ñmzG#„M Wrãí¬ôù,“v´yìX¦eG—@-[LPýuØÚšVlÇÖòv¯»dtÇŽ€’M›ì °…`›åØÖ£³ÞÁ9µaÇ–u"õ³­)3“ - kÅÒ3<1köŽÙÃ3)ÄžH!•'በ‡’Èœ£]WÖ„”Q(BM&@·MÝ®<°,–—äåò¾ûìù³¨ L _õÉ× µƒ$Š$É@‘oæ‰ô¬ˆ@ÒR–IÂhòRVR’NÀMý‰lœzf³°ç( EÁ$¼¯* êoy©ð¡OÀ_æ°ßãóÚÀÜûTÑ‚hv L©§˜*€ 1ûÓTÆ]ÌŽZ€¯x÷¯¾ëÔÓö- JAôšÀ‡>é˜ñÚî{Å3Ë3ñmóñ-¤B8ç2&RJJ!™©ÓíZƒ½”RI·âÛŸwÛ½¹×Vµ¯}]ù=×tº­÷}ì=þáËßñ;?ôNozõ?’qÃÅ-‘í !\U«@ÆíðÛ¾ùu·¾eÚÁ#¥`@Ðô£"¥’$¾¤Ú7½…ä§þÍ·¿õ‡~)·°p, àÑl°¼±—àñÅ;nBŽóB…¯KB h’¯ø…?ðùÿOPW7ÿȰókÿ|2ùÁ_pág¾S'¦áu5¶Ãl{gÛ,,´æthHH†÷¾7Šyzœ&A‚q…+ã᫺aÇq;hw¢Äóh”ïíæ:, Ä4UƒC]±`Ým©ñ؆¬ gQy9©ÿèwÿ4€ŸüÔMÿèe ?þ‚>€·ß´Hý7^OË­è3”ÆDþP¾[ûîÅÃgïÏܧ^*¤–Gž“<¾3Ú›gõ±tõë ®‘˜Rª¾Š8½|é¦é«˜{á뚇ÞÏ»R¶áõ¸ÛÆ,*¢ƒ¯ºÓÞ?ô;Ãm@†UѺñôò‹^šýrѶé ÀW§!=íücZítõ°¡¸<¸Ol9±…µ@26é"2aÇ%÷‡aÇ‚qÚ;zÌhÂˆŽ™/g…k-³ gü_kË«äçkåšý¯ÀG‰Ø¡µ&Ÿ–Ó46-“mg&tH àÒäi) a«1Ba®£ €&c‹Š{+=”¾?d;…­Ï—ÓCó½dÁf€EŠ04â€õc²Uf««¥Ý.ûÛ}ØÍtqÉZœyp+Mk©1&ŒÒÅÔÚ1Jkƒ°¿=€il±m¢ÅÞÁ^º¼œ ¶uØøšœ—ÂKƒÙ;R$¤¢ b:óX01A‘ZSÊ@³”$$¤†Òd´ŽˆˆD]£©Ù9`BÌ¥r®+æR¡„k|}á m+¸Ê)RíÏ-·´b%AàÑXH%ªÊ9OºZéqÒ»¨[c,µ AÌM£Ê*0ä3ÑAí‚v\K©ˆ˜È ?sŸ«éŸÚ(gƒoý~Ñ‚öGóìè„ö%b! è Ñaˆ_÷î#ïàïüvúÉŸ½õéù&»ý6ワn2+Œ<]ßøí ëoïŸ=CD ÂpÊa€¤ìtºR Wû8Š£8ÑR]wÃêçœ{bí‚áÐÕZˆ+¢fãq9A5½Ý ¤óä\e‹<dIgQÔ¥uYÐ _ÿê—¿æ•/ÕZMé'BÉ©À«TJi%¥JÊý³ž ¯{áÉóÏ^ûï~é'6÷¸qðÆ'×.h-zç×ï´½Œ×íæ¶i?òÂ;ºÚ=Ò\’OV[÷ŠÖ¹öÏ9uìúƒBiçK€kãêqºþäÍV>"…\_Ûç~ýŸ­ÞóêÉg‡ùÅ‹“r¯‰Ó¥ApðûÿAvöó›^žýÙžÛx¼NttüÎÅÓ/É}òËSÚúÿös¾ãW?Ú4ú+Æi»xÚù@¶~Ó3—Ò›ndZ‘!Jµ‚iYk³a`;¥$«†½Õ¦¡*³­( ²ážµaÚÎì¦5ÑÈAI*£Œøþð‚Ñ«åçkåš=û-8G›Ð™JYžX X‹0´Ì@‹1<Ùq“¶º@„€ „{ð€ $ZQ¶•¡öº+¸~ÊóD¶áâéqÆÌ[k³ñ†iu@YÚk[fÃÖ¶Òޢ˲åé€v¿¿¹¶;1¦ÝßL·3cSy.ç²ÍM˜ ˜OÚuUŠªvÎ)ï%3\¨]««B£ó¡ÊG5O¥AÙK@)!cÃI‹¢˜Â…b! RÁБ¡åeyxU^•Ëd·ƒ$¦0ô]Ií–ŠÂayß}´~–êÂÍ-àÈÑ*J‘#øñ„t@IB¶äª®„ÝáÒÉí¦1$˜„'8AB¡MCÆÍuJIލpn:DP’¨ˆé}Ѭ›æý‡`"&úÐ'fjbSezqEgû½¤˜qQ…˜MœMá!¼äîÉ‘w0€#ïàÿó§_þƒîÓð àÏi#1á>A "~¦¾ñÛ€ß:qjý̃¡1RJ"øÆ;ç…Tq+žb—8‰’$nœ‹sü¦c;Ù8/+]±-íB«ó¦—}kY7µsäÝKîxe†sqÒRzXÕM]uâx'/W–zëOdÇ­¾ü%÷„a@BÐtFÎôºI¥ÔT E²ªp5‘⟿åÅ×l¿ù‡ƒá=*ƃ'_Ø8²Ø=^Ø…v¤ƒ(Kɳ2šï¬¿ë‡SÅõdL¤·~ùSAP]-ÌŸùÝ-£²–ÞZú@ $”aí¢qͨÙ+ kÂvKèPHMBCJ" A¼¯Ŧ‘MJï½lL 9̇Ö$JIáÊZ‘,›Ê7.NB®½ Í`'¯á…À[ô»µ¤–õnú¦ï}ã­oyìøuÎåúìÏæsw˜µ3â ßrxý³»ýÍÖ w8qòX+‰IÐñcêÌmå躗é9P4•pµ–êñõKA”Ï·q•8ýüÃ7ž šëjLêÜ–óI²r û}?ð½ËÆÃaãBLõ[…RJ­…RBJ)iÿ¹Ú11Z­è_|÷Ëäïž”Âuíý˜øÌÅͼ´Ü–Xªš¢´¹¨+Å5ê¦HSîÖóËMµ#vvµPd$s¤ˆsãᙼ—Jkc”T 8—8&öBH„2ŒH‡ {&áý¹Á8ÙÛ_ø8 “È8ÏÔyc[°Ûé8ç…ÀÆEžä¥s¨ËFð$Œré\k~) Â0WEYùyimSH¿ºÐ$_ÿZtçÓ´S5å\1RA<¿´ •åk¼Uív$H¸Ò—acíÈ5¾©*_—óªçj@Xþ+qzß'î¸õ¶®§Ç¯ÿÂùÇgr)+;|úm¿ûÏýíâ”ã§0áÌNìÅËà‰IjDd­ÏJ¤íí~¥ÁÀ†mC”š– Cõ7Ÿ¶£Þœm‚µ Úñ.Š´³œ.v§’'¶¦l»ŸÙ¡A?«pµü| £\³g½:´”•U6ÚFž›$6*44±AÇPXäÒ!´M͘HƒÓ*(ö³í1i»»vn†SÑC<˜˜ñ.(‡nP+†cÓb ØÉ%[X;ÚMƒEÓ%„@ -ÒNhZ˹luE ØØÑ6€Q6bŒìDØÒ·æYäÌž‡€‰¦Zkà"÷Ž|ãX‡è¤"0T7\מ!‚˜¤{n²ÖÇÞ¡*92 ø¢tƒAÓß,ùÂø±G'“‰ï¤ríÉäλZ'oŒ–‚뮓‡RQhk¥µª¬š¢pùÄå9…Ï §0.–bäÀfçr˜Íô`9ðLÙœÑ0ÐLÕe½ÃtgôûêmÎCN¹ôTOïSU ì—.à÷EG@<£¬¾ðŽ¿ \)oyýÆŸˆÿ‰¾ýu€òL¹íyç>ûÉ©ò~»Ý’JùºAH©´ˆˆ´’·ÞzK»Ý>qãéü•ùxgcÃ5®®ëº®.<ù¤÷8Ð[Ž¢( Â(ŽM”ÄI„š™“$)Ëʇ^*E!¤PRH%µR¼m&ýF)ú#A¡’â»^÷Ü;o<òÿüÜïúó+Ï †P±ØÝÙ¢¦ë+Ï.UÌ*0s‹‹&]‚Ö5;f±4¿Ø@@H&°÷ì=\SÕµ¯k‚(µ"¡”P2”š¤VZ 5½²L4ż,@‚ÍôF“:?Ú•Ÿ¾×ì¸ ìÀ9Γ¹¨q<˜Áà¸A#/UO NQ–* †rä¸âšAœ GÎC+Ñ^êH)Þq) )T “väk vR­µ ÂÂUÝvT–ÎK„¡ÐÂ)*ïXÑ·[_nµfqúG¾Àó_x‰«Çéóî9{ß½oðU"•çßàô]8}Ûß2N'O?ÿزH;Iº§zÎD&ÛβíM¦&MæX+- kw­”ŒIÓ6dcoÌðØu'Q²¬ÈFY6¬l94Ôê­8uÓ±éëê¯÷¯–Ÿ¯a”kö¬·cÇŽÙÆZk³ÑÀ'ýá¶¡–•ô–PbÈ¡f[ì€'Z¶Ѳ̰cc%[Í©‰€ü»Í†`ThÂÆaÑFÇ m§F hgÉØ©Ú³¡½…0˜ØJ¡fèØŽ [6&$SäYž›–‘&wXkm>°Ea‡2&\_÷e)êZB$H湘ä)gdP¨É‡ÂyÖŠ]C¶€wls xã2kÉRù ð­˜ÍÃQÝß(û›“KùxdkBQÊOÞ[]º”?v2:~Þó>bà¯ü1 +Cóþþùx¤%„ðDDB)¥Låp“$Y˜Ÿìís;í†A0??_×uimÝÔív2M”’Ic­£$ E€"J’ÀDÌì½Â@(%ä´|"‰+ØÝí'xïï½÷ ¯J¤·¾AŸýh¶¹S&NÚ:Ðwܰü{ÿéû¾¸¾÷[ïÿÄoüþŸö'¹w£Òq˜ÆAÚª£öâ±#B ç\U–ãbÒ4%¤²U1ßI¤”,É é¤d­Áγ/™‰P£!n$DÌÔˆ˜0,íÊåϾëÞ7¼ ”Y½myëS2ûâN5Ƥ¥bçQ7ådbµ¢ ”­$™Ÿo'IRÖÕÖÆ.yÞ¼¸ ¥©ò¡ ‚ºà$umšÚ;HvµôJs6n¼ç¸;癸ÖU^™Õ™ £D™¶çì‡ÞûÊÉf¾£ ñÂë—£îåáåiœÞûñç>÷ù"@}5qúõ¯8«5胳¡š#X™B‡Wþ{M`ñ·ŽÓS/8ò´óOo®wìöNvyl‹B:uêè±êÀÚÅÍl´cÆ8k#c˜ »›¡ÚI'Û{!Òva ÙñÀ,vO-õô·úýµsgλcK˧n½É(s•ü| £\³g¿õ·÷l=4.0¦c:f<ÈF;¶m¦wm#Œò&Ý'§Uc”ef c„‰Ú¦dë¬L"Q:„:m“1-è]#;Ð„Ö ª¸ÈÆ5jΊ pž•Óñ»(6¡C¥4v(íx ]øÿÙ{óxMªê\øY{¨½ëëŒ}º›N‚ ¨AÅ5E“Ü€ŒQ3^cŒš›äšk"`nÔ_>3øeP3HŒ‡7?œsCÔ AºéñtŸ©Þ±vUí½×÷G†ü¢âlP{uÿñv÷ùu¯³»ÖÚO=k­gÁ1ÜÄ7/ {Üjm ô¬È펖µ”uøÈ—¬N”V’ˆ|äP9žNC]1)J4´F¢¡) )É(!HzWúˆˆ¤ âÀ«ËàK…ªªêaábUË2M‰ …É4Þö%·±6Ý¿GÏ/Ê^OÙ”R+µ1Rð4Òú:="Ö×Ôhœè$þšû´9ý{à1sd1ݺÀ›»·ÙÃ$¨Ù` À‘±Í-N À%‚ïIEÀDˆ€<ƒhä@L6‰÷t…|mûéÇâï?‚û¦o»|áͧßOÛ-D±UŠ1‰ÖZ ¢èƒbaq¾,«ü8Ï[¶Rª)Üè ûý¬ª¼16MÓ$1@Œ!035R¶$…nfŸ…TªÑEEµòÛÆ£¼¶'<ëWÿØØ4¿é¥4ÿàNvzëÈ''w|b2ÚDìjc¾ß®™ÿùóùÅÿöÀ}öö7_û± »ë´(yâ¶ÝͲÇPM'ÓјëJT.VQU–²•u¤V,„& qÍÑÇ#³@k ‘#‘hú†@¬xjæÏ ç¿ô÷_àÎ\úÁÏnì\4Ïìiÿô¹»n:ì7Çã™í|ZÅˆÒ AäU]F¯ŒRÌÎtì[¦‹ý, TUdTÝN;IAtØn¬)r(bw&eÅu(ëš§Ó¢®}ð¼¸ÐÓ;f‹P”!pQJ‰4QMHOû)=îD{Þܶ8m­HÄ9bu¢rÁ-Dö›Ó‡_x;¤ÀÇ>öâ¯|6–Oï·§+§þ–óµœoÔH|fZ(±2"ñÙŽÎuWÖÆpÒ¦<±6Àv2@핉°t"²¥íùpŠùh`;}7¦•r¥™B8㜠æ•Õ#7~æ³ÙÜö{ÉÏÇ1ÊqûÁ7kÉÕÈ›n³Èæç³n?›Ï¬µ+«G\|,òѪµb €Ñ¶iÓ¢¶µ[ô²cÀxHZ,‰Ìhà‰•=Ç„ ùÁ;PnMÒfVÀڬעIk‚cÎGU>Üt£ K+âJ^ÈzpŽ­™8$¶ÒyÛ^i»½¬ÃÖ.Z"$°À›/}6’™ËÞüFç‚÷ŒƒGð HÀs]F¡c’@+¡5 DA’ë触‚—RÊÔj›" –‘*áêC±šB‚XÆkÖV‚O™T%Ehµk:uéÌtj†3›ª¶çŸ›ýæ_¿¶kéw.›=ýoìïáÍ·o¶¾0’90#6M£ÔôeÄxLH>Æ-e3£)´>&†vl¥Ä1*¢‘̧­Ï¨ŠR Š4Ô¡kª­Sé<à#_÷IxÖcð¶à¾éÛ.üÑ}·|:1:†(¼l0J·ÛI­UJ5¸*Ñ:Ñ Þ!$ˆ$˜ O­v»5-’$‘[‰BpŒ $„’¸ŸBH!„óä®ÑÆAȺ‹W{®,6QË;¾xçŸ`÷EoïÎÓºë†ÉÞÏzÌ#éxŽ®r:U?ö˜\üøKeêZއ“ÉpeïFg&ëÍÎÔÓr°>äªJ´´V[-¥µ›ÆÕIH™¶t+URE†bQƒ=bˆÌàf„»©ïH.’Þ’Øö4˜™;?pisD·Éݹa¶~ô©Éž\ýÔ]G¯½mÅE#e:Óí•te$4Õ¡BÈ™ùN»g–][+ IDAT¶Ík¥}…sU]úˆ“$‘;vf‚dåëv«b F&úàha®sâÒ‰s;ºS?Ò®5žVƒbÚï‰VÊ;»´ï–ñãµýœÅ³[éÜéu°xù_ÿÁý º–>ñéÑ·§gž}§M뀺Œ¡òN¸É·§o¸ä§ó}Ëù€MŒ›ÐÊê”lgufæ]÷WO^Ø ß\ÝJ³<É ¸É8w[ònxœÍ/ÚNºrè8uBpåÈYݳ³âÞóóqŒrÜ~Ì­v±ë|;_[˱f“4›íZ%lb€­J8/PrÀÕ¼Ô…ÏÜDº|ÍÚŽEÖb QÕ®:êXž€ûÖ:˜l©“å£Ã#Ž{€spιè|Ì–ùÀ[;µfWÖ6ö\=Ìz‰hD­êeÙ¼M„N—Ž­Ïp£"wìÆPÏÊvðgOùE`øÌ«ÞBI(CZCûSYFöìCŒ!'ꀢ–UKï9%DíUˆAIO‚P©*("–’„–¢Y€\rˆ2jM²ò>læ•Ò­€&E™êy“˜ÉÄŒéxjÎØÝZX&%iùÏÞ÷‡³Ÿ¦gÿñ³ÎüÝÑ·í_sHî›Ö[—:ó=Bg ‰Áআâ+½¨J•¶ê´í޵q"m5…ø ©1@K?Ói¨ñœ]§ðâÓóîý)hºUžùpõ‡î[¾5Ý*tÿó¬ü2kÕ ¡l¦ot’X+… !¶Z:ÀijµÖ!Ž‘$Q«Õj¥é–j¬RJ)!… Ad›Ô$å}ˆ0ÁÆn²²Y§zæAæÀT{`yç{ÕË'ÝÎ1¤ò÷ÝÅù/¿§¯±ê*-92HTÞçë£Ú…ޱ¨*7*béFãq±¾©[ç9²–‰-•æÅ1ÖTO' ±²£VÖ¶Ò©*ô2DfP2a-±7']DÝSîüà3›ó¹E^‘¿MÿÃ%ž´ˆª¦PGŽ|Ýͯ}~ýù—ï»îª¿Øyè·‹OÅj#G0šÆ ðhQ€IÞ=ph¡*i:FÛ†s/ØË[òò` Ä%›’L#™F ±%@¢AýÉŽéÑæ´çÜ0É—^ó > R¹ìqà͸où¶…Tvž`õ®[EˆÙÌlí½6VÀb!øBä @ i¬M[- ‘X+„B()µR‘ ІÁÍù¸æ™•,Ô?Ø*(œðT 0†ø×å“7öì=ûÎ>k÷ãß®ÏÛ-|¬¼ëc1hω’2a†VWŽn†®,+ÊÅžNEqšByÝRFe 3‰Öãx}cœOÝd¤—»™ù–éµeÚ•ÚH©!5I%àm¨Å‡Ðüyúnúä‹âº¦…ˆ9FŠGñåÜØ]>uUܸkþ'~ë§Nþü·Õæ§£*£IbÛìL¢¬Jäzž7ÝÚ‘i«­[]S ëñ¸ZM¦u¢¥Ö*Ñ¢ªýžrß¿­Ý´z`u’±iNï¼#±ºÝO{-=rë‡ÝLG?䔹YÝ\»ëìÿ"€'=ÿ•ÙìW‰…ÿõÛÙ«^³ù_§¯¿øRWö¾³ùgiaGÖÛ–äE`ï-+Kó1ËvºHª´à6`:n|¦k“ÒQUiѱóÖ7À©£¶5“)¨XYÍ3ï%?Ç(Çí‡ÉjrÌV§¶-­ù(·‘`ºÑR˲JpãÜêžµ%çG€íØ^;3WŽ2”.Zç\^ÁŠuì"0°¶ï\´ÃsѦ´´£gcÛù˜¯ TÑñØ;«Ñ"0Â1ÜÑ)pÄö+QFrìÐ=W;Ûf[‘¥þ[_ð›ùðЯ]{uà$jJ¤ ò®kf)¢G¨=THS™ Vu¨kïeÉŠóþk.<ö¡Ï¹òÞcáÿpÑ—ø_—¯~ïãô OzÎw/ÿ8W;çÜz gœ¹=ë¥6±[Jùí`+W©­¡,óRf6¢ ›ÀUu€ùúZ>YÑÉ:¶“uäÝ…ò¯žŸc”ãöƒÏ£Ô¨•mëþr%fóÛ Rˆ—ª:k Ôq>ºµضUÂMœÙ€«GK"ku›·A¸±ó÷žŸc”ãöÃbÉÄR¶ƒÄ£,ó±·¦ÓÔ;m•ºQ§<uÜxà*@# Áj J•,i7Ã(·*Œ­8ïRf`ËIi+ãз(s®Ⱥ}Ì›•GòõiÎyÖË ­µVtœa r–4†!P<±M»nYî½í U¦]ùV³µdK\ýŒË.ýë·VR ¥FF®K -I_qQ„¨YÔPµ(U Y 3À¬cÔQ$‚„2²×ž›=® pMÛE"N‹ Ç­ÑZï«(Ökžºº.]>ˆ3s´¾Qí?P®ÓaT‚žóŠß|óWdç¼ö”ò‰»6ßu¿iO½:t:²JYæ=)…îSÚ㹤ºýæm'í^ïÏ  n&k %À+Dßvr÷éC{ÁO¾øþæ_Ø(3OŠŒPO½ówëéXq¬*DRÙlfû‚M“2Ôib¬Ñènå?*û^L¿ðdÿç×w¿³¾Ýªÿ‰™HÄ÷~T•«Ãž ú¤ù£‰ä›>\ŠŒ@ñÝ Ê&T®ÀÂΓòÕCA q¬%¥®‡€-¦D4šl$¥2&Ä¡¤Ã­‹á­õdÿÈw6ÂI/ý?|Óå'n”¯G¨ï% ö$¸&€©!TD@}xyéfÏ¡§îýÄ –u•<ëçZ7Ç}Œu ¦ÏUM`É ÈècQú|R8ïe¢U×Ó°VŽv,ÎÙùˆ#33% á”IĶGRg™9îùÈsšoüîs(lLºÍ¹‘DŒÇ4g]Á7áZ‰ä¬øô‡>wqÏ?¹R>éÌî|Ï_ãAš5Û·ÍN|‰ŒQ2…¨‚é$3ÜŸLËÞL*$ŒQ¾ ë«£ñtjkÃÓzª]yñÉv繋ÝîRíçÖÎ×ÿ>çUøæcá„ù|ÏÞ™ïvœ^ó3/´%¾—ùÞ98ÇlyˆtÖ¶¨ù‡òéºmkB'ùèh¾a(«(Û±%\=´JÀ”ÑZa!r÷uòóqŒrÜ~À-[ØáŠ‘òrh™…ílÎ[P•ŒŠ³[8ÐI°„l¶‹R9±‹ÄöS猱•r€ó]”¹«£`*õè¢ïݡҡ׶%` \Y¢„ã±µ=›$@ß9笅sÖˆYËCg;€µÐ)ª1˜-‘uÓ,kYåã܆"”ÖÂ#çãëžv€]÷‘˜ŠØšY©£ ,8 ‰($k!„R%b$‘9‚‰pô  „£&Ž ¬ 3’%I{Á¤’„B­«ŠB¬§Ãpë-åÃu’ï|Œ±ÝKvì²ó}J¤ÿŸ¯ÿÝ•ÕÕ«~çÿù…+÷_ó†?í­¼åˆýÌÞz£¨ÓÀè-ŽN?¥»ï aU›öï™Z:?tº""&ff")8‘z¶íôÔ‹/}é믹æWÿ滜0û P¨Üt2žŒÆ±¬”–JŠPMÆÃq>ÞlÏv“–‰ÝŽ¢~yãÕD"yà×D*/¸˜üÙ{Úß¾o·¨€ ÐhØRÅ,j’|ƒoxk !3ïþ0 Çâk"•…ò£›q]Hë­ÚØ‚¤ !µRBŒ…(†Ámé;Zíø—ÿÅ;ßùŽ7]þË'Ý€0Eô³WàÀ$@`IÓ˜D j–ËÛ¯e{>ö\˾AœsºXýW:ô™ “æ "‘z®Ûíw»uCk„:´S-)ÆàIHC€È«$Ê…¡Ù³!{>øÌoáÜ"Àž«Ï«k-uNÒ“ùùØYã:Ÿ(¦fct$÷ªD·lMµP©gÚJËé´Šäm¢ú3­²˜¸•uýÌ’=b’Š”RoÍ ‰‰¥š=•/D’Ø*î|çÆ@E§Ÿ“ï:7üäÙ|æ3;>ú±O·[“—>÷ÁGø·»6äeUÐÎSf†EY.PM5õ;“$Vê#G÷žÖ*¸wôÒPɸRí¿qOYWg\bþÌ2ÅïH,ì8i}ÿ ßÁ8ý½Ç<ÎjkUö_›Ž=¤ÔvÉ¥p—dTع̨ʼ ƒÚ,¦èvP[ ¸8þ:ùù8F9n?øý(¥`‰ÐVÀTmÇŒ2cÖŠ,]`Û ·vØ• C0ÆÎ§[ɸ€ØníÄ¡tuiEËšu+Ò¬c€ÂÁh Dƒ²8 ïFȱ/j7` ŠÙüR>ì]¸(™bƒ@Là­5µÄ@wiÇÅ”îhú`€ò9·±K}ÔwÉOõ:ËÎ{Âyçàªsæ³þ©vtÁ©G ÊwÞ6ʧ+éÐ’Ó:ÔÁOYU«k™Ÿ5{íþÑýrzÇ„]ÕJâò›G\v¥Ðâ; ;O̵’û¾Üþöãô•|è}'ÿ¸*"!$&Cjç¬ó ≰IUåLt¢EÌÇ.•À ëm·4K²üðʽççãå¸ý Oœ‹ùhäêÂj©]@FmÛ«Q ¶‹cK”Ùb k³ìLæ¸t`ø®E•Íe®b7N³îÄUÊ™aÜ·ÕÔŸp"¤DŒb6m‘Þoó{oüÂËÿÙ¯{ýÏ4·ìŽþ!$ 5uåêÆhÛ\OtÛ“:Ôùh4˜P¬T"%Á“ÚÞ¢‘‚¥€ žêÊGÔ"j¥µRÇ•gí{1}ÕM„û^LÿpõÏ}Á߈o·™÷E&CäÀÀ BdOÌŒØló@à-¹Ž`1ƒ˜¹òtàè¶|Ò^ýÒ+Ï'Нùg芯±‰ð ôç·6Wb$ ‚ƒ‡Ÿ`x‡Ïo[/ø¯»þOþâª7_ý[èd×»<†€4ÁHÁ‚€äwÒ õ4Út¶:f£UŽmUD ˆ°œ]»'¿¤» õvëõ“?VGTHˆ‰‰˜"Ãë8RÆŠíQvHÝN¾³ç¶™¢ø€Ó'ÿÊ×>„.±ÉMã)H>Ò&3»¶Ï8|ûÇ÷®ugLáË#wŒí¬(ªØNxQø3çåÒ¶e¨m§Îgx°:°qý£ŸÿJz'ÙÎw%Î9[3§×]?ýÖâô¯ž÷<7*òÕô¾–ÜhÃQ˹Mk­MÈŠÅ•ñ7t¬µ– Ø…%còNå&„„ÜhmeTe ü|£·pe `b–Ì Ûu>Z%,µ‘ø¼{²­*† LǪhF@7E]kk†:êºqnalÀX”.ñ¶ÓÍGGa3*,×ù…›¬Zem¿Ÿ»ómç8Ÿ&y f&fiËšذB¹dâÆ„²vF»IpqŠº°½yH´-Ý1^¶­2̃Ç6*í|…R¸j”o(‡K˧XÎg³ŽÍ×6Þú›¿òËô§ÆÕn{}Å‘kör<À¤ðÌH¨"@AIêöu»K=MW}HJ¤–Ú𛓋‹rnN¶;Â$Mk&ª ã:¡Ÿ‰³ÎLušÜ~gØw°*wºÉܼYØ–ôgÙQ":HÄš†C¸’7Öëªæ§ýúå×½ö×˹½èeŸ~×_}½ó¬Å/Þ¼rÈ•ÁtÇ-Ó=}fñTuáUï8ü¼—¼èå¿/›[ÀÎìÉ’HQ¯×êõÚ‚¨×oÕe9Y_'¥H+A*!eH(®&¡˜Ä(²ð5U„K®†ŽtbzÝ´e­¨>ÿV%ç|B¥± ñõ}û‚ºŽ¢Iæ*xå¦3©Ù1(…×ÛÝ¢uhtic˜ˆD%@$˜€r•Ù{Ç ¤N’XMhsEþòï>øÜso§}%¡Ò˜ˆŽ¡(Lxx0ä_^_;ü'÷áßyõþì/Ÿy·oË ïÆ$@#T7c;hDýãÝÉ¡²µùYrK™8”`yþZ{Ö.¹ó—î~ü5´ð™)VþÙùLÍ&¨ŒH žrrÛChá|¨ÖÝèä»wn¨N<÷Üê_Û×p.þ9¿Iƒé¼®Þqæö[ެÝ1q÷Û¥¿xgz”Î&YîlÛ~ô¼úÀê{<õ%Wö2|·caaQ”›þ›ÓW_ü³¨ü}9ÿd;w¢b$„„–²%;‡|Ânu_6»Ó•ëù¸`ËÒå ›Yqïùù8F9n?=³ÛÐ x‚döXÕÈD†Î8K„Mh9•@º²‹ª‘‚&WÁM[®:êvK(ʘFÍ+EÖÍœ‹n”#˜9(’ó äåªÛŒŽƒÕÉRÖ¶³;l(€°Ža#W›˜¤FÈ–·Û®±`µO1˜:Fddn ÜÆz>*aÚ¶¥ùŽM²ù`Æ&Ö•ëÖ›ÎZˆ×ÿʯ¸±{ÕGßù’\´tȇ2zØ·ºœݶ¢;+¬½>Ic¨Õ¢^_ÌÍÉ~_jCuÍUCDð<Æá˜«ŠçzjÇ¢\>M¤mêõã´ˆÙŒîõ¤1 ±¯•"©…s<ŪŒUWGSzò _–ð‰¿ÛUgççãîÞþèÂGgŸÜ©Eïsø—%§]ö?žû’ÍE{BödH ’ æG3ÔÑÜ–6!a&@+Z}ÉÞ„ÄĪ˜¤€@`?vÅxêM´RÕBDcRŠ€òóo`¾¢Iåï®|òw÷âÛ-ú£1z@3‹PƒÊŸ~àýžkx.ÕF´±‘pǾ;’|uò~JnQI"ñ–¶=GÅ‘I zOƒáš˜Õ4çPL´VÕßÿ`=á?—~^þ¢KÆ?×N5æëGÿòŸøï¿ñêWþñó‰h‹>9ùìy«ˆÃÇX »õ›Í–DÇ` ~ë+Ù |ðF½{ÑŸ}*Kßê=1 IDAT€ÄV  Édù„÷ì9ðô{•]OÒ Q‡n¨†û„Ôªw -=f®q»ù²ïÁ¹5<̧pí¸DžS¸å]«s3Ù£Nj]úcÛ'ÓA}vçÐjØÜ„•½Ÿ-ÒsqéË_)½>¾7±ÐmùÕNÛž}#qúË÷œ[9ø}‚Û(\RØÄZÛM¿ôå;-×H‚ÕL‹_±¸—ü|£·%Åè@{ÔÎå…°rà“he¶fÖÚdŒÄ¸Ê¡¢ÜíCE¬æ{vq¶’®ŒNHT5Ü€- õ¥=‡Q²µ] pnbm×vl>Â'/¹í 긺Q,È]9àê d`UjM+›S@ÏͲí&Ù\ßicEv*VVäkkl‚¥¥mÓ®c¶½Ô"æãÒÎzWK²íU´ ;Û~Í¥?ƒš_ñ¾«jÖ‰YGf™¨=úó43£ŒŸþ´O¢±°VC‰µÔn‹N‡Úm¡ÔÖ5V–<‡Á01ßäÑíÜétòIÉâœ0FTuPj+qOË8-D勤ÕR"¢ª¼¯+öu@W'µdqá³~KðÚ?¿í/ì—ÞXWG–o½zßoê=è÷Ÿø3 w#€]Ù“!„`ÜJèîÌ‘cˆuÅ1ÔB#Ò¤t£i,&Ì$„$•u–nêk©•T>¢ª‚A A’@ ”7ý=@æœ{DVîÅ·}ÏÕˆm"'©",=îü^Î!ƪtÃHlˆœ¤­å~ãæÓŠògExHlUˆ(2ÈÁt–ï÷!øáž;ü¤²û™Éd?@Ô>¡ù_kþè{|nDø8_ àBuÉîŸìü…¿?zÇ6O>w§d7¹iP¦·JqÊ¥K_òÊôø/‰…;nY,ïîÌ׊ÓgÏ=Íʼn­Úß_ùšP3ªèFkΕ™Œ0ÊÚö±QB2gŸ÷’ŸO?ŽQŽÛµór‚r ž6¯ [ŒbºÃÊÜØ•€%˜h‰@t²qTݽp³6FÕZY?ä*áÜUàhÍBä¬eŠÂ §kC¥•ÖƒS›´;‹F£Y¨+¥$h«á÷ìBæê¦·%ç<À7\’ßôÕ}Ûß¿ž@K!‚„ÔUÅ;Ò§ÀWõt*¤ %•$ ®ËB cD]=ø”Ç Nï½ ±ÓˆÈ ŽŒFå!M‡çwÓÁƒ»òµötÈ'ìη-õE ›þÏ{ ߆7ÿ†<ñ&þÅ?ñSµ8ž–O}Ê $д»z@24¶¤p#ÁÇcú¸ fÃ0Ò@<Ö’ÒŒ²Ip -¸ÕÝþÜ·yèÙÑ´AòXÑ'0àÇc]¾ß?ï¹í‘ Y8õEù-×°siÔ;¯N—óÿõÿÂscÆG«k\àþÏj§§¾BäŸD=9õ‡ÉŠ[ûáϽÒ(ü×ÆÂ¿ßXžÿPý•qzqø±ïëü“uÛ0í¬“ækyÓcë\ j¡›ee©±¿·ü|£·üZO's‰u"qÅ”€EV5òDy>ÂÔÅ Ê PYw€ @êPä‡ÚeÙvgJt­UÆÉªÉ MÇY>]ÏK²1Oó±Ï‡kL>®XÒ¶%­¶Î; Zjof8_Ú¶t PJðºsë€1Î9kí×j„Û¨³d'iKä˜óÕC(³†•Í ¹’Ýú$ç£ÊabiV´—æR»cÎêè(^>÷l‡äÏ>}UѶôïTä9”•hæ7Ê)<î¡×Ý®˜ékÓnï¸ËyOuxÅO†ËfôÑU´ï`  ‹º;+eÝÔ7Åtƒ OPLKDÃZ0+‰$JÏ¢`~äe¿$ìà•7Ž?t¿C3À®Ù§B¡bäw]i·Û½Å…Þ\O+Ù,øó¾*‹Qå&Þ{&iŽ!“ÚWRŠt¶ƒÂ!xc´RI4©I»íV*Ž‘ƒJËD’Dzèn°Âõ¿¿õ±7\ñ'¿~ÿz·o‡³ë"{)‰ AæÄUI¢c’Ô·í¿a©»›"e¨¦ÃîÌ\Y*m‡ÀDB øºzÀÉçÝùÉÇWÉu3Ë™HBDfŠÌUmÚ½¥iëìƒRM…ˆ!M¥ $ðÆëTéí‹ë/J/û^€ù]Ï^Ûÿšá~,Ÿö¸ªi¤B<öSC‚A@ä-Ùæ.š¥Í]O A‚c£š+¡@¢ÕFYMwm³w®´î\ßogàŠê5%YŠ™@mÛÛå³W0¾kÏž Vo4bؽzûŸâ>pnu­Þ;zŸQþ¢ôââö+¬ Ûóƒÿûðç\p…T¸/ÄÂç>U‰Ç=º×ÄéÅõðžæßÿù•sH–`aÄJ9pÕ&Ö°²‡Õ“wl¿·ü|£·xûÒM_Bè£<ì¢peD©†½¥ùè°I´‰é 3µl=tQä(­7HœÕ3Ks‰ã.JÀ ‰“• ÔeÇOP6bnÂóF\ÜjØ®Èhñž’s#¦Ÿ6]ÇÑŽjg)q\m©Sk›[Á¥]Ë“¼-‰R9[ºþU Kt²9i;i¶´=›L¸ÑÀš97¸bet«sܼ`ÙNïçv=í§¯z;”B­…N`¬´ ù*lŒÃʪ§@ÊR§æ3UÅxð ßX¯B%X=tÆWòcžp{5Iü4N¦\(á}ËÊ$š 3“ŠQ.Ú$B bP€ð!^ðìW|ê-ØÕ} ’.5{YÀˆ¾vÕ¨ôk>ÙÈËS³²Šº–FºP¹²ˆ¾V‚bdr:ž¬Æã²ŒžS!m;eUEÊr˜££›qa¶7?kM Blu· 1 ADò?p*ÌÑ?ò—¯ m÷ï}ÓýÂãVº«‘ke ‚Y…ÑJ+Ïì¡êüóp|i=œÚ¶ Uyðö[’´×›ŸO­%) Áá1?òò÷ßü)‘;†ˆbdFô)Š>-eDm„X0”$ßÌÚ0­¬–,?Z½»­ìyâÉkûß²|ÿ[QÜtŒiÁO·¾ {lf‡Ð(òC$ˆ ^ ,'D= Ù‰L]Á‰Õ`O$¶P@b¶……XäÃí3ýßìwïœ@Âj{MªæH$#xªR˜]Ë‹×"žµgíÌ»Ö?tŸ=·‹ù· „ñÛ‰ÁˆG¾ë€Øs ­ ¥ ßN,Üðáñë/z”«JWý@åK#P–PIW 8Ç_ZÜ{~þ†0Ê5óÚãWÝqû>5K€@µ,à’©3!KÔyUZ! `M˪h­zŽ˜±eí*‘O 8.¬œõ#œ€òÖ(”Þ é’©-¦n}ÃV÷PFT¥‹œuS«ó£YÛf}ãJvnè¼Ëæ¶Ù¹ÌŽ ˜ŽA{PÛv”MÚ®šäãÚöN‚ت 1 —@°•XY9܈d;¬íîÈzÚºqák¬Cc‚MÚ9†ð‰;êY57à¼ZãLž£ $8mÑì¬ì÷)M…6BkQÕ²5Žë+jcµ.FõÑU> kªJÖ N*n¿s šüÉŸÿÊCþÈ l>œ¸ëÖ äC¢ª§"ID’²N ,w‰äD•PJ%ºcŒÖŠå-_X°´t3’†‰¸i7‰±®|,‹SvtgÛâÀáÍ#‡ŽVÏ.öamð>Hb"ö¼¦ØKu§kXH®b1t“Q}L½ïGÑ&@}xräèÑt~¾3;›¤-¥’cH…]UH!Žñ)¸{Ïqó ’:QŽŽˆc R±"Éq"#׈Èf§7ßòO»ç¬Œ¨êzÿÞ»fçç(º‰”­þœm·¥®*;¦ýˆûÿí¿Üþ³¬Ž‚ ìI0@Ä$tÕîB’ŽI€#t¬PC@ÇTR¬OÊ|ÕÐá ‚›BÏÖc„1#¦`É()!ªöiàh€A±Bˆïi$ˆ„°c–?¿¢(×Wíh2±-ÀH°Ú‚t$tT@ ¡Á²ûø¹};±àY¸ªY ÄB5¾öÁ;'´±×Á×Þ•ñ›ŠÏAºªžFÛný@æ[1‘õÚ¶×nÀVÖ‘nî-?#åñO}Æñ{î¸}c”zˆTYÛsÌVí½n–Z7(œ«Ž1ã.¯%ÜÄj¸¶Ó=y[íæ®Iܵ³½Î–¬¶¨´µmr¢íJ¶†\£DXÛq<ÉfäƒÒùÿ?{ï,Ùu• ~k?ÎÙ'ÏÉÌ“yï­›÷V©Tz—%Ke[¶ü¢±Á7˜60{wÓAD71==ÌôÐaˆ bÂ3A÷CCЃÇÌðè0=3vƒÁ¸Ç`#l%ô*©Tª‡ê‘÷™'3OfîóØ{Í“÷J–­’UО’öy#ïÍ“ge®µ¿½Ö·¾„&^3ŠÓõå© … nÒó&IÑ[ @l‹ÜÎ`Ç»(|¶ßLÜ&FKƒ¹-Bh¬ô†{#[°µ{CÌ€Øô8›îÛÜÚIfó“±1mc0ˆoE Ó%ýfø ŽètDÜ‘¡ E¡lk‘„0žø¢¬”@'RgŸ½ç¥ Éá:|öâs§¬¬>*B˜–L†¢ÂWkv¬bŽHH-Å™ÇnðÀÛÎVµëv‚&wææìËÎMFc;÷cÔELÕδÃÖh”'B;{°+~áœð\ÎkÇ&A 5i¦@Ë>\ùZÖŽà´@aÅÕKÕh·Ò­Vo%î´£8*k·“’$êF‰R,é/³ `xòÖûB*!$Ç~Þb/ÉE-lás“üäöÞØá_>s1¸°™àÄæúëï3Ól$¼A°z¢wDZžÞzÓ®ý DÝ”Vˆ<ÉRIËL*(I`b@Õ‚&!€ *°ÐjNàH/é‡ð¾QNkô]Q4é,“(~ùs–Êè5xYàDðnYa†¯©AIÈ`zæòìäíGÎ=7ZI½ ß‚4 Ü6|ö€- ÁõØüf¶›n]/tWL·+ìÌíïùɘk'ˆÁä‡/œgO¥`§dUWUQTÌ$ îe}AšÛšª–š+ Ô7dü±ÕÄŽÙ„@ÁÙl¶–LÔ/Ÿ_«õ¼¶npBJE5œLP-LÛ¤íÐc­EH&  `„¡)ºcybË*îLLFÆt-ìêXÞ´ -²rl|„PÛÚƒs0ºcE…baË$-²¡nš P hŸU„éžÝµ@«–eÌÔ3 ¶Å !ÒÒd{6MLÃ/3 Øé"]]I•åuÚ[ËŠÀ`?½,ÿŠ-œ [ >~lÑE%i`Ó•+!ŠEeÈÛ`†bjÂn«b'B‡Â3Ï\”¬µ4›@´V©«ÞŠÜlæ‚~áäµÑÉ×+{»§xÛãG7ƒv[²çªb[pžƒ‰¼0eEäÜw–šL!É,sº´ä°2ÃU1*áôîØîfeµ°—f¶+.ë•#]×BÕ–Fû‹áÕq>+’VÐK£N(%•àÐHÁìK)!¥dbAÊ+±¨Æ»{³¨j/J,ŠBiçœMÒÒ-Ï̼Jâ<)©”$FžföRÒÁàö èožŸ^ž<óܹpóó'ß5 õz¾w׳gùêön†EQ¾ûÝï<÷ÄýÉ,Ïa*Ì´$­’¶`€T òB$€–Ö‰ø@¹„ër^GºZŠÃúÁç`U@ ‡âÉA]  àtn)•Çð€’’Xr£9+ Rbµô[ó?úr|÷±<‰+È1t®j(† І³pì'¿™ív¾Ðï½UİSl·qùb½3BU“P‚„¸®ëFü—*ï½¹@¹¨EkGôµ}—ž–¾`«É  df¶M¼†bjº½,» ¶H×^&>¿†Q^[78DI[Œ ­m°ÖgÓárZ“´—G•¢BhmѵÁ2c XkéZë ìÂ0År&§€Ø„mh€E`Tng !P¶q3ÉÓæ‹l:´{xfuËP A^Ø|k&ƒµl÷* ¶ùt0ˆl5·ÜF0³>‡+ Ãáö³ g–¶ž w­iQÚIÇNfÛl¹@YÙ½=FJ£1Ü*ÁR" Y –ðU [0˜Â€MDq qB”â¶\;"ªJþúGo}Eå…HåKžú¹Ÿ»à=æs?›ù tAFOÅO”O˜ü‡&Ïe‹ÅbuýØðʹ­ñk Àäy àGÄ`C@4´à)³µ¿:™¦U-J«7ûÅ©æ«ê¸Xê¬q H<ÐDi@_MP y yMâC€¼#!Ø>ó`ðÔyÚ\ñï~K½Ò…H£¿Zób#•iKœuØ÷'Lì+,Ã_?%¾ô¸¹ù¨úûïo…BÃÍ!ZòõCà㇗ÿ‹‡Ûßlv{¥¾µ„RLà@ !H®¥ÛÞEí¡„#Hv’]ƒk}RÚS›jcC *‰Å7î i;½!ã¡hY; Û¦«O¤·Âðìñù5ŒòÚºñ×ðÒLl”h¡ɘ´qÓ ¨Q ¨S¢,›#Ð ú jÂÐð.(6¡ClFËss0øÊÆÒÙeg`‚LXäÚ¶œÚrl `ð a+]mAtLknKoJo[ÆXp{ɧQÛ0#lY˜v+`ÌŠ%Ì67odÃ|¸;·»[ƒÍØ:czàÚÝÆÅ-Ïì¸HÛm¥ %„`ï|±ƒ ¥E öl²Å&¤¸Eÿò¹N€rS>üáSùÈE[PQaQðï~âßúîÓU ÞÃ{f楰)©H,'Þ23ØÕÌ>”òh?H‚Þ$/Ú±Ž[Ú•ÖÙZI""E1+!‚f @T×µ Ì b%±”óUÍ£b>¶ƒ”’J+çˆB%¥÷\ªrV !„b&>À(àhÆìÀ 4Ý@ž H4ìM¬tÍ.¿:œë¤Ò}´¾~bèíV{7üåÏ=õäý‹ì݈Ïy¯µ*š8ŽÉ“CÒAo5ÀB€Äaí êZ‡ëJûùÄL 1Ù¾g §à Wà HßäEx¼Àˆ—¹•¦¼¦ ïpe;zöRxaûè™+î½uúmo®ƒ•¶£Vë–~ëÂî4 Ì$‡cÚÖŸ{˜/\Ðó²ÏµØöê|¶$Ô:80›77 ¾ íöŠ|¡¹‚cöž‰H*Z]UÝ® £RH¿½ï|ᙉæH#ëòž{‚ÛoÓ«+ÒTO§|è ì½V0/é 7büi’@6ŸìòÔ$mólw|øüFymÝøkpÓ­¹mrÃÖ6ÁáÇÙta§•ñFØ|À.fÆp¶gàÀ› 2IdUm”¦Y!a­éóÌÒ`¨„Õµ©hi¤mØ­ q‘¦ýÈÎC˜®iMS±–éiäΖy¶?·%[k'N˜$`*m©†IÌJg ²½Ki¦ë-;kfpXt@mؼ^Y wÎÚ£ŒŒ¶˜‚b»Ø·{ã,_˜&ˆÒÕ®é†Öú8!AP ZsR"ÐÒ¡9FéËÎÙUü+¿zËß ”Ÿþð©üg¯nUŸþäÉw¾ó !I´Z A‚˜™œƒsðÍ”8©™‘)E:ôB‘€2 äj¨{iKÁ{hÍÞ7£Œ!iÉo  fÏLBhö.!ˆ½gvÞ—•+œS$úIìI8Fí½ÔБÔt µ£„"’ËôCÓÏ @JϮ٢š†°[JÒznšeôIªßVÚ ŒJI£ÑÙËÿ6]]LÜG{ý}µþ'l=S”ÂJ^wRß{O°¾.[10ŸùñÄO¦îêV5Î<®á ç¯ oÈøÀaëØ$ Ö7îÁM+׈ϯvŒR4}P¯¦¾D…ï^§Ÿ|Ü™Ø,Ùïv¦kL7]í T›Ñ¥²±²U1tŒC#£=¸…Л NGÏ!îÛ²€ Lû]ˆA-=J ËÇÙnió§d;{Ft µÑj°¶–ž˜§I @sp1HWÖÍjjZj8¯Òdå ãë;f%´öÒÍëÔ¬ZSÙr–†m-ÛéK& DÚ^Üš‚gÆø±¥Ø˜0]Ûs‘%a{Y^Ÿ¸åΣÛä]Q"B+aB¡µ³”`ÀÕ¼°øµÿão ”ó¿ð¦·>ÚŽe7Aš"Iš~ öUEe‰²$!\Íγ÷Va@IÌÌ¢bðJ5üå ¼‘$˜™™={&rž<|íÀŽ}í|í|U{&@«=„ˆ"Óƒf6”BÉ Ð&¡’ èp¶ÞrCµ,AÄB´¤„sÄž]ÓýÃগ¤³ö™Vï³RºE £BmÞþp kæíºFípìèÙº&Çðž<Á{Á^z07å AÄž—û.Á{0 L&ïÄöEÅn±˜VFë‡ÚAT`&8–~FºÏdÁ5\ vÐÒ=?ßK¡€¨õªûÞÇGß1ÿäŸÕ§Ï®Gßuò–/_œÙ½ýÞÙ§§™£›6ëÏò©ÜˆƒIîŽôå]wì¿÷Õê*ˆe3¥˜œ{ÞnMfä›ÏnG~C¾°—1ˆM@‚½¹·"ÂPD-HÉ ruMÈ6ËH<—Ô—/Õó9‡!¯¯‹»î ^wO°1PQ‹„@]CH¥Ûßw£}_TîÚ¾pbspCÆ»»eØj’eÓlaK\+>¿Ê1Êb6¹rñì,ŸÜðw*ˆ¢¸½yü¶0\{µa”·ÜfBŠžÙÖŠ¯[†¡ÂfSµ¿öÆë&͘’B›Øj2ÞÇÄbqµz(½Å Á ‚ÚîÏ„ƒ8ÄjׄÇ퉅ÝÙ¼Æ-·ÙÒ"QÀÌHÛ=ƒù¥æ™ï ÷ ”#´Ó´m¯¿Û2e;Ï¦á “´ít;Û·e6Ý^¹‚ ¬öli‡û<ÜY;1Ašn®cëÝóçÏÁZËá`-´3Ê;vg `éùÀù'¿²º kQ”Â;!„ÔŠ„‚“`©ÈBÃëÁüÀé×Ý®Ž«khEŽQU;OÌÒÕd-5zåË—–ë uI`'̘Ûz?›… íHk­¤R˱-Î{ö,ˆ…`¢ª®kç³sDž@A •`†QÊEQ2¡Ú{tØ2Fòì™=‘Ð2PB/RšKj&j—I5U±çT5ƒy™¹ùïö r‹’Fy0›ÇyžTí\†¶Ÿ,<‹ p¢†Tì<œãÚ‘cÏžÀ`/šŽa®¹,‹%ãf1Ë ,7ŽÛlåCÕêë4=ÈñPœƒ€ŠQ%ƒg˜ÃKO: ¶aï!æìjx vpŠ‚ºéý¡fFyh†TXëã¾·ü÷j÷©çâ‹gÔ´³OÞ÷À•áÏ<¾ó å#gÚ½–7•’>ﻪV †êÀønëkâüf³Û7è ,8›ø²ªÛ-¤mÝmË ï¼­àµbÑ[åS1nZ‰Î?[ïOxe·ß¦n:.Ó®ÔšˆØ³÷ÌRpRÚ%W‰0¤kû²R]mÖ ‚$í±µöñùUQ&ãÑÅgŸºûÔ[{GŽÉ¦€yã.ïýö¥³ýЃ'ï}S§Û{Ua»˜Ú€ù’<ÛÞóí IDAT0Ñd‹0LIYžŠ-ÏR‚íFK•!½²ÛtåÙçG ² EYƒÏšhHïƒÁPŒŠ™!ÙYª—‚oX(èPê­†ð}o]|¢ä/<¢ßó@ûšÍ¦ò¯w»;½é¤|î9Ëtv^ßvÇþ¾µˆ‚fr±ÑÅóc$ž_LÉ7›Ýlùò¾ i_عw•kw¤Ô“&’Fb¯+‘F”žÐG¢¬]§­ú}eb"v\V®ª*¢:náØ¦µØé;þÚ¾`Œ¸!ãO  Tj”°h™Š_6>¿ª1Êåógî~ÃÛVÖ±÷ÎÕ7üý®mž¸m>¿|þLçÔ¯.>JºbíÈY67D–'@Ûa‚dL ÅÐûihÐNmií–mC¡€Ðb–K ÀÚI–m0zdâ– ì ±›¦aˆ `*¶edË=;å´]˜À¤íÈE²ã1µÆ¦Û5Ƥ‰A"0@ ùÄ„ *¤‰^:½´Ûb> íq6ºš-cB††ʼn#ý4IÓ•cë—dT˜¢°[ž˜nd’‚áå-­Å|FαP+}¬$¬HAÎÃÚÿTH}cC®®ù8öeim™ïìO'“Rë¨÷’$eÔó©+,ª‚«‚éˆk^TEHµ+*b&Šø¹sC»ÈÓ8 ¥É×I yÅä=ƒÀ…syUM‹:×Ú{ï"p‹\[†Q+RJ3‹Åx:çaËhéÐA‡H…qÀ­ðR´=ç xÏsƒ†!ÓÔ,˜AaÈÌ`ÏAà_¢æE›•Шýr«&)á=œÀ$ƒšË&ËÀøˆ‚Ø9‚ãvu¦RÏP2 › ’ ÃqǵàBk- èbm Û5];N×Ö"t(ÈZ›@˜šãiÚé°%l>F1M“nVd–a÷³laÓȤÑJ6ÚA„´"ô–¦i¿e&îØÑ¾Ñ­ltÕç·÷GZiÐCà³|œ®·²L¤GÝ[ ¦ÌŽaBs÷-ƒµu[ñùl­¨¶6¶Áªe¶ù4+GÍÜ7¿I?öˆ»xɇJ®7G¿çš ‚gx)^ŒQž8ógŸý³^¸üh £»n{Û÷}ç?ëvŽ|­‘êgßÐ<øW?ûõ¿`·Ý®ƒ * Ø¢ÚÍŸxöê³O]âª>zló§î¼óŽã*;§¦ÃÁÕy)"£©,}YPU²«}i&ãj>É…ä ÔZ0U¥P`Q ÇÕ瞤‹ûd+6ZÜÜ×ßùº•#@+)ï5“ MhÚJ‡BH‚ª*ò¼Ìö÷g…l%­N§v”RK Z±Üo%%…g M6`)wÖÄfÎátfOï}ëóøôŸ*¢º¡¸áOÿÿî×±}k|ð‡ñöwƒð\JÀV™ü²lá™Øk0tkìœf–íä€ó!8 i6fZM±@#6ÛdY®H3M°¹„@Uâç~Éì÷±›áŽãøÙÇß:!þÁ·•e…g/¿ùéÁï?輈7WŠÿüïÎ7WYJ (d°†^…Œ.Ô%Ì®| FyevCøްê ïú½Íî…¨h×O½oëâÛöœ_jÈ6ù’ë°Û7â ‘ÏPTÄ’úñÿö§~ô׿ÖÈ 49D*_[îùÉŸúÔ~%ËêÇžºôèS[Ï>··Y‰jQ\.|™¤VÀU︮¹vðvNR jÎUbÖÊ|]Te­“(mI©¥P‚™ ^Áùß}Éû®»ë{7ø‘+æŸlO«Ö?ÿþ%餮¥akmˆd³‡ ©¤Öa¤ƒd2/ÊI¾kyÑîtã0Æ7È9Ÿž¼ç%1󫈡ô¼XšËžÞ?~Þû¶Æûjnø_þsüÂÏãïýgøáÇG¿ø?¡ÝÆ}÷ƒ äÀØë’ø)–¼žá˜%~iI£¡ex€™H5…—ï°5èD=¯›B,—æ¿ÿ×ø…ÿù§øÉá_ÿ&þÁOãÿ Þ{?4CKÜ}³ÏÛ·ûóƘú}oÝ¿iE“§!@Hšy¹‚cp ³½9ÛÃbÏ+³6 fÄÏ©þ×ÛF·ÎþãÏ>éßñ©Koßkn¡Ir-g¼B»|9_`†Ò>iSPr]Sí`1çç.ú|ìz] µô%\I,…Öð‚@pžmQW[냔äk:{†÷öøÎ»ë›êéz¯ìt¢EY_ÃnZ;zCÆkÖ*P ¡ÃxaCIÚq׈ϯjŒrHÔxífoì•À¤ÌBÛ˰³yn3T@Ð2&GÓxÅF-¼TÁÏ!Z©‘Œ–òV¶+€Äb'5C™‰ hdúfxÑ6³Î­ŸYdCÀ„Â¥'ˆÉ˜Ç–çœiǰÅpgd¢¶²ì Ó5LaMû(Š]„dgL DF‰Œa0C#»ÄÖÌŽY&£aCF^ YƒšB‡È ›ÃbÛ6]é"ÊÊÚpÞ¨ØÜ¦¦ûðÅ‹'o=ú†È,®ö ‹²„ó$ˆ„ø:…žŸø‘_=|üî·ÿÐg>ÿ«/̼TÖäë®g.l¹"ýƒg®îUaßt|£hI¾r‹‡»ü½wÞ»¢àbÎ…{® ?Ÿx"產 `AŽD‘6a;dWWÄ• ç¸ö®¨êÖN`vꨓjttíV<É[c_:ÓŠ¤ !$‘ ‚ó¾ˆÏnbWÒÖ^¢´ˆ@Û)ƒØ—~)°‡çe…D³Ñäú‡Q–À ¡¿ûqøîïGâýßOŸú¿qê~@²QË ïØ5o@Lž¤&öÌ,¼`B 8³Î~©zâ@ËáÆ|8)€JÁ+H‡Zp·h¤Û¨yéû$ü“!háŸ|?ý ø—¿~’÷Þá>õªg÷ÝQ-…Ñ®€2„[€ç`@mÁ_a6/Â(¥¿.»1<ãÖÏ D-NÿÀå"­<ã¯?xùÄ8‚ä_‡Ýμœ/!´b-I %ÙvNÃ+üôSu±à|U%Ïf¢Óí·Š)5êšãªâºb)E" Ätê¯n×Óœ'#·dÚîdÀ×ð…NþØ €b̳‰D( ¨³‚®ŸO½Ê1 3ó«iÛæW%F1í¾% ž[ŠM@†bD°“щµ[­µv15"--âÔ9bP63>„­ÚÙø “˜¾ll°å–ml¬›€²ýêÄ]w€fäÖ’7ea«xa˽´Ý·³òä¶š›Y>J“ž% ›NR´†Óý416Ÿ"Ä`p+0‡Þ8qËš­ªl2Í®^NÛ+&Q&nÙŠL^ت´†§0&+å“OíEaœD˜º¢ùùÌÏ稂Â@\ÃŒe¹øü—~ëŽ[¯ŸÌôè_Mg³pk»JWÇ6ÖŽ®ÅAV,ËI>·»„Ò\W ÉR‚ ‚<3+åtcBÓRxbÏ b°öõÃg.Y»¸÷¶5sϦøëKîOÏŸnu80=Ò±W÷‚'Ë 0Bª†pÂÌÌðÞ ""!AšH‚ê 4Zëe|8à£0‹Ú7›¨(JÉL¾(õþ^{um.Ð^,[–A¬¤¨ŽÅó …Ÿ‡,gNÀêºf_¯agŸjª’àØ“sjV˜V¸ &!ÝqD2IfxrÞ³ ê…Ùˆƒmÿš(°êÃÜIŒr ö|ø7T`",ì2Ý‚ ÍàÜ/?(ðb™¦é÷ù‡¿{ÜM¸Ó¤€÷PRj_ÀWäÀ9x¾‚x1½¯v×i7ôžŽ¼þ7Ž·/GNû«§Æ}ßV” ì×e·—õ… €V¤5L¸,UJ¦I[€ZQ¼‘’ZQÓ„Ò¬EUyÉÎɧÏÝÙKf#qU)… ÓgŽÜ~Ûö‰›·¥€ †µg°—D8à†,QA“˜Í@©Št³¼Á€$6ª2ªZZ›â ˆÒ{Ï$™ (õ€€›^4¼W_pQ¹©‰ŒáAá] ½ä¦|Ï»ðñÏà—>ŽŸüAüÒÇ`:—ŸP`yìÞR ¼ñá*'\#SK\ƒDÉ ò`®ÆXL¬^¼µØêzìÖ¤^‚©põÙểϭ½î“›¢¤‡~ø7 ×i7W¼Œ/Ä-‘Ä"n ­a Œávý>JË Ëó¹]Ç䵿´lXEb:v‹¼®K_×(U®.ʪ*Å —/ðxWtÚÐâ¾`úñ Ø‚Òp¡JXðµãókµžë_q§7›Œ^{Kÿ?à£ôS(Ùò,MÖM5©Qƒ#vjí(³»Y¶Èì,æSL.7£¹Œ×…1!  m·±–°SN“±UkŒ2Ðúôé+(=aH¤«”v ÑÅIc¬Øé.ÂÄhgúƒ4i¥ý9;ƒâ´ßmN3¦mÒÎ`xù<ª…-)›î6ÛÙ^6X=j‹)ÂÅ4mw‡W·EUCëe«{+~>»q(ƒpØŸÒ$ ˜j)¨™èËÌZ;*4²sAq;a9¿™_8¸çð¸rÐo\ƒ=~心 ðó¿‚ñ‹¸ïNXë„£o©ÙÕìš4“`çHèìˆžŸWÈÕŒÝ=¨_ï©ëµ›g8ãÕB^|×®—|þ[w_÷ÉÍǺ ÷–®Ãn~ü2¾päµ, . nµ(ÐÔiÓæ&{ÏQD{û4c6£¢¤ùe…É„¡|Y8TµäÚ±ôBž VðBÖìy2s³­øZ¾0œ?sCÆ”å¬dË ;ºF|~ £ð R±_79ñ[K£(Ý_Û8yïý:0_ýï׿æùä™Ód{;ÎÕI»{óíwÙ¸éo㎮ûÙ”’Q2xaá ÕiYÚÒÚr{8Þ˜ƒ=ÐKõ ÝÕ¦DjÊ6:õ)µ ´˜£­DÚ™e‹.®NžÜ\rÔ1º–ÙNÇÙ‚ÓV»y¶»k™MH¦Ý¬ö“Á‚PdÃÝËÏ¿Ë𼱋ƒCga’È„mÔ&ˆ²¨ÆiÿHÚž@t²É–Ø42È‚S™ÊX”¦"«UåI‘‚Ú–lËùpš9CýuZ­ä¢ô[Ãb4‹…˜ÏÈV’/ujYæ¢ÂøÛßñ#ô§ÿöº?ˆ£Çäßygç®;[€8{¶~ä‘â¹ \ØÚ‰²¥k|„ÒBJ©_uíªÊ{ÝÕÕ¨ ©f‹ò“ü¥ýþ_<ôèùÁÑÕÎ|çëïÝ\ÙŒÔJÚö‚‹,k¦ö;ŠHo%úçÅ|6“ìöÏÅñ}ƒ Ѿö¥«¶'Û KãqÑïé´[9_9PD "±t/êE%&™Ù¿̧L`¿»ý$þ2v¶°yv¶àö“ ‰†MBþ õ¦AË,  åÔEÔ!Fám(g›¾P€ÐË< 5Ð(¶Ée:GHi€}¨ÁŒGÏá ßo}3¨H5¢«ÄI‚¯Ò[—íÍ\ÍTH> ê’{ÑG}vk²Xããó•§ÚÌíà€S~iyÐsýÊíö²¾à=Ѧ$PUùÙqDA :m;†V Ý]ÚÛã½=Œ3Êg®ªýbÁÂ5V¨ÖDŠ…÷,„ RŠ£Çp _ø¾wöoÈøƒªaØL—-æÌÊÊ5âóú«òÕ§œ¯»>ð¡ŸPØÅã}áéÇ¿rÏßqX1ù›TN³é_ýùgo½ó¾S|[µ&ÙÞ™Çڸ鶺*ÿfÅ«ëö†-ô@˜A× Èöw²½ÓÖ‚ ªÈFQJ]KÖÎ2(‘M³¬²©ðÖÁˆÈÄ-[Ì "„”M÷ Qº¾À1¼2†*˜ŽDÁ–ç 8M`º‘A”†ÈQ¶›$`ó…I"„HEdbƒ0râ@9µûµITvu8XKm©L ³é€µD|þêžájøì0=¶n'£lbñ¥Ò5À(‘Fmøz8Ý5P)z¶Ó5€--x6X9ú×g‚þ­nÕóŠÇ™àR9G•E-k`žŒòŸø™÷~Ë®­Ïç£?ùÂÇN»ï… WTî¹ï¾ÖñãQžûÓO/z¨:sšf3M$!µ”@††½GP©³KW._ÜMVÓI¡¾ðäÅ÷ÉÏ}ú‹Ïçõj}ç}·ÿûŽëGý°ÝfPYóÙ¤®ã0ZDº5+ÓÅ´/7Ç5€¹‘&ÔUY퟿Z”Uë–¡ÔJ k½–°‹ªŽE­0/}åÊÚÑþlB$’¨é0PKÞ¢óeQ³Œü|¬‹¼Š:~í7·ªÕ§$ •Ëž˜Ø;xßp6šL€Aå@0í{?ˆ‡¿ŒO?üãø¿"|àƒM[ ,Äòð$i)""äa­D`bÏ|®@Uá…˜ª¡Œ4?=ÁhÉYeµdæÒA*‚ üÄÿˆŸû¯Pøg ñÏ ÐËiÈàˆ\2,ˆnvŒf~¡$xYZúªu}vÌ8ÿž•§Ú7~õü»wnþÓU—Þ2Âa»2ÁñõØíe}a>µUî67£¸­¬uyÎ&t&!Ðé@)´ZHì%ØÛÓi]UΕçÁ`R,;ï¹L¤¼qNRµº*ï»Ï\Ãί^¹!ãÒ7)TŒ^_#>¿–Gù†R ùxÀ­w½þ ŸýdÅv>=ü_;Ÿ=ýø_ö¶™}oeýu§Þ„áCþÙ£7ß±¾y| K³¿úâ½õ]ïWêym£sg=qû=w¼þþÒ.ìl¢•¾÷MïP:¨«âë¾&€?ùÔoß~÷/=û”µóoÿzïO?úå«¥ÒÇo=ùZå¥É(ÂN'¦M&icfÈ:«æïÛ.™ÍÞ`³`ÐW֎홑µ¥y[Ù¦>šñ%PÀ‚³­´ òV ,ÔðÒVÚ‘ìd–í c€e6ÉÊp÷¬ Å`52ºcº‘ÍÙù­ &m›4 ­-XBÚ7hw1͆W&&èßÛmTì¬NWâôÄq„b°7Î*œèµÓ$¶ÕÜlÂd»?¶ùÜÆô»¦Ø¢¶û£A›PÚï™P!ŠÈ„kýIYªmÚÝ/§{óNUŽ+¦º¢µõ¯ìl½ñ…íÇ÷Üù®ýÎOwζ¢îÝw¼ó¿üàÿ| ÂÊáƒa—Ÿüð©ïùÞϽýA6öçž-þê+‹³ÏÒ<—J´t^x/Ÿÿ~2<Éý¹ß™×¿økŸýÃ/?;/ŠX×÷Ü|ìÛßrꎕx3VAmÁ\Ykµô³#*»jûäF÷ìpíÒdpqâÆit®/C-€Úi+ìk„+‰ó\×®K­¥ÒZë@«@뀟/ìÎîö¢(Ú­d¥Û[M»Í-ìn§>yT µ–ø: W6òÕµ§×ãâÈÍ[ÑÊn3¶ö ×ÀÞ„¿û¶çð]ï€O}ðxËÛñßü üöGñŸÄúÿôÀ›XvÊ6»©‡Ê&Pêy Ód¢jy*B^Ž„)¨tX5Òj5* Q%ɥݡ0‚H%$‘”@Á®~ÃI¼éû±7Æ›ïÆÿï¸÷äÁ¢‚·€ƒð€%ê0‚e ‰ÜR¿mÙ›S‚4H~Í‘lÚ}Ev#@ 0Cv^?yø]¸ý?¬ßõûe\ŸýŽí§¾ûª<мg†ÂõØíe}¡œÓ"s»—ŠöJ+i+­‰œ‰X+– ¯%IÀLDBižÍQ”ì*–L ï<5°‹¼‡d¡iòµPa¹±©¹–/ ÖÍ Aša?›ŽÒ•Ít­gyŽ¢F9½F|~ £¼Â³T_¥¡øÈ_~þäëß|ÿ·¼„|úÑ/Ÿ;óèÉ{¸ùö»Ÿ}ò‘Íã·»ºpîÌ7Ýr²Û?2Ÿf‡9˜ýÝ­»ßø-e±¨¤£«Ý|úR¯Ùp{³üïý@œôHˆ‡ülUïúîÿB+õ•?ûÚçóRk8œZ»7¼€Ö`õ(xvþô…·Ý–`²g)¶‹+Y¥ñde«E#7d@G&Lœ*aŒ0ƒg–bðÌP 30±pþŠ2:L#ƒ 1AmgËmzê$Ž ‚¥…*éîØ¦)Á”U#@Ø(lšö*Ê=DëÖÇ&lg&GˆìüEC° Søl<îW)mw‡½)j`2ʦ€¹¡Å6·¾Ñ¦Ì®ärÀÆy_—PpB€II†„Òû«&½ážïxÃ=ßñR$•oœ?Û¢§/úGOÏÎ>ççuK…Z %Q;_ûÚ9úâéñgÿã_üÁç¾túÙK5àÀw Òïº÷޼éNUÏ]=çJ©¢*m]SUUBH­ƒ²,,xt"ÕÖD¥- ÔêjÇD2”ðn¥]ª+¥ãIP ”ÖRA ŒÒ‘—aÕî¶ÂR¶L¨çöÁO÷#aüñûöB¯ÃþŽgI§Pz¡[kQ× IDATs%µ$'DM;†ã3¢rpJ.;ol%”ÿö÷áÛ¾ó…§á½„f“~~g%7¹¢)ˆ@–‡»uQlùÂA D¥…à!_D µ¦ù´WUͦëÔL€1„Äý~ìƒÀR¡÷@_,«'2X‚8æ$š¶ >È àPš÷Eó`’ËWd7¢¯²ÛÕ7Î7vã40þ&v{y_ç4[Ôr§VR&’QÄ&D`¼ Y)±s{HIªM­H0¡,8Ÿò,\ ÁuÍ‘–aK·;|m_ŽF7dü9]ŸóEäÛqßñg¿ @›`~±ûÄozº«Ê3ø(ÒÏ6oÿèû;™ŸMüÑ&‘ <þžÏòIßöÝ¿ø¹ ÷øÈÆ£Áö™ß„a‘Þ»ãÀ›Ã­Zæ¤È¹.NF;Þ»ÈÚS—tÖJϹXëé­E¥í]²Íí»N³M›¦ói«€Ý„«ˆmpåÓ¹]6ó6pHç;jz`åýìèç#äâ0mlÃZ0ƒvahÃ6’ª·•IRZ¡DS ”†”( åÉ“x*»{îî½êk8Vð¥·\µú¸Ï.î²âüæ ”cm‰ŒQF+/^¼SÊj ÀèȆaàA¥HQO”!Rç?~סRªžx`) LQhOâ+¥$ ¢œ å+Ò"T ªÅ¹ŽRd¢ ôÕÊÊ2ªÜ•y)ž!bÐà|¼¾UÅÍta.ˆbyñõ#·W¸ÒyRd4 E©ÙØcc¯œk.ä­¹\)Ñ…@«*ФAhR*Ma+ʇz¼Ýô‰Ÿv5\¨=4aÿü@i1ú´CÎÊB3Òh½û*P½Ë‚ iªx6Ó¢@ÕZ&pe¦ò5)Û„‘FËK §ê/ŽNMáÃŒåêRLYžÞÃ;˜&8†jÌTd‹¸8@xš«˜qPàg˜FÍðÍ?_íÎ7œÝ/¼ yò%‘"¥‰¼ƒˆse… ÒâœxGF”¶ƒ]»hϽ²bææ”¹´úÜçò;¿ Ç%+Oj21k÷ë³ûBº¸û1zcÎ7ÖiÝŹtéB¬÷Nž->ŸÏ£<òª9³õö甆ÎgœZŸÿ§\ü„ëvï{\d®*o»õ÷ˆ€Åå=÷ÝóùC_üÜN¶qÍ“žYä“/As ËGï¿gy÷ÖU{¸sN/cv|ÙÉxX£Îÿ¥n]}ŸT\…¶nw™÷_¿“6C.•5KÙÂaŒ¡`ç -dÀF-›[Åì-Qw)²BP‚º$ÄÌÖÚ4B‹0êšj„M#»0—†ï¤»öXŠ@}N€± U:#žƒL2b.†<ØI“&"“NŸT<Ã#._ºÛ..¥@6Þ5³NlCÅEƒ C6Ll¦b™r+‘½Ðð\x· ÏÃÉZ øn+)Q2¤@@Ñ^àI$ïD<¾öBk÷^¹{ÿg|iPª(lƱ&òU%2Ò^ ÕOÁ¾ê.4_÷Êþ?þ÷Ǭ'jÜõ—Ö·›¸wñšK”ÒÃñÄDáå? àž÷¤/þÇuã^…²hüõZ/{Úh8ðüO hüè5AÓªßúpwô³ßÆ;ÙÆæ†]XHæ‚È’Òï}©LÝ@"Ð %¨§à]ôì[ÿðO/[^" ׺К´r ®fm‚T6L½ˆ]ØvEj"¤¼/&Ëým àÝ€ï{†ðîA<¾ë[§ •S‰º;f–/¨ç¦sÙJ˜¸9ô¬:£gøÀVÒifÐAÍžSDŽÔÀ}JC]þ Pæ pŸ‡Š¡¯ÿ@)(@y)'õpšú{¥„/¡¢Y¥F-ÖîÑív{½€9ýhíö/¹Àm¿ý…8,¿ïe—øÛßù4€ï½ù‰þöŸïü©«ÜöÛŸ&Âwþäôõ—m·Gç B†‰'RJiãIy"(%‘–(&çÕ`Ëåe¥¡u€8RQ@6D§EŽ^^RK»ôòRþñó}QL0šø¢Gg÷¸ÇdüIw§6\€ÂÛùNÚži^½|¶ø|£<*é ;ùpŸõÎÇ–«ŠÍÞÆÁ/~öÌsî;pé>ýW\÷ä ŒF;_ÊýÙñåŸþøßCÜÜâ’ÖÁpgûð¡/^qí·8Ë9Ï|±´{ßçoÿð%W\ëœ¿ç Ÿ:Ï™}¸•mTJ[ ël2±ÑyÎÜGŽLIŠe(bðSÛÊSÛ†y–õ­íÓIâ6Ò8‹>ƒ¬ï£jqŽìР¸–íä͑ϒD bC€lD½Qž–c–©Äm7Ùc[a·›+žLPRΡàìîc½áĆ”Î/aª3½“ 6ÁÌ£ ¹¤ÔÍx¥ siÒ±ÍlÛ»î] ¢Ê—ä¼V^¤"Þ‘!¥ PÞCaïÞ»xàk“Jyé-W­\p7åöúUKKw¶™[J#Fƒ ƒ¡ÒF…sžHUú¹ßré+ì»~ù÷ß3â± •ƒï >¶v$T÷¾®½tU•LÕÖÓ´a"0·{©šmÜ À ê~J¿´¨¥ªïþ|4 5¹q±³38¡›I<7ßl7ISDÊèÀ"¤Éh¥‰pѳo½¸î‡ïúµ7<±Ù=$CR¢ ¥"E"Ueò"´äú#; ÂÒ…­F†¢µ!"ÿ`ßZÌc:hÙÏ4 ,ÓòÍdX¡ è´^mM7ª©ò½žÉÅÕ ÖºŽ£ÎGqTOð¡9wïO5H OS:NoQM˜©3S"-9H5éWÐm t»Ý/ËnõVîQÛ­KôeÛíQú‚&QBB0¤´BPé0­Iiè& ¨‘*KT¥8'l„¹TÏuÔ\ªŒr•/ÜpW8Cæl¾ð?ÒĦ­.#Þêß58Ä9£½x–ø|¾÷øQµã>Ü1"¸ô‰×þS™Œ¡m\xà²õc‡OO¤ÍöþK®äÉèÁg°ÖU7>ãðÁ/|ñŽÛ½sÍVgõqO°öd´s–sžùbÿÅOòþwj£/ØÿøÍ“Çq¾÷ø¡çƒîÜ\¼9f€‡l!Hânh¸°iâ˜‡Û X€™9?Êýœµ¶0¬íÀ" sX„9EÌØ9su÷.c4a!„@`Q"%A¡UÊFMNTµ†˜ZiÂÙ8æá&#NCŸR Þéîºó* <„m6lñ„î¬páxس¦‘¶:È5’õ·²M+`B]!Nm›Æ&à'-ÀeŸÙs´mmŒ¬®t›­²ÈUQ:çŒ÷Z . \Ò1‘ Æ;f<("žö®ÜùÀñ¯¦¼ô–«þ¯W¼øróÀAº`Ï]'N<À ~àDŽà‡# Bj6‰s)ʲöG"ÒJ½ô¦§ØÝú¡W¼Eà= …ÊCFП;²¾o±³ ­8cþ¡ ÉKªt<߯XM”£!QÐü駘0,mP,Ìó«V´sQ^jïÔÍOñ¤êAxÆJàªrÕ ÚžLØF­D‘Ò©Zi(j^ó¢Û·×ýÌçÞü?:¤„”'8EJ‘WØŠ¬›kçšÑÄ9ˆÀ{Mª ¡w|DÓŽ•w~JAˆ„èÝõ4sLR85.©îg©QVS¾§RÓ©{SÆ(AÏlqª)êÔ¸¾šÓª¦•š`fÅ^ÕgA•Áä½8¹¦ù~±-”ñª5-î¸ÏÈ pp2…A˜i«Ð4Csª¿—ÂÙOš«Þ«ÿív»Þnõº/*OBïüÍÏ y€ð®ßü´R‘ýíï|šfêÿïyã§MaØ—e·Gï $^‘Qºa¥™PÜ (eD)(……T ‚ØÒÒ’¾`¯¹`¯^ZÖ6š Š"ßÑÔJL5åÿ8=pʉ›[À¾ ‹¸iÒ²Þ±ÇdüáA?NÖ6ïL£MJ£‰åáÙâóù<Ê#h¸=ý;_ðé‡Sï/.ïîîÝo‰RÚ{·zñN¿~lí¢Ç_)"e>yÈ“ÇÆã¯þækâ¦6!\Uùø,çü’‹QŠ.¾âº+oxzD¹èñWÏ£<4Fá¼w°Ö†ãl£Ÿåî²V¼v¬‡7¸?BCÛ¤€ó2+Ø–žB.€5ãty0´dYÄ"göÈ<@6ȲM¶Mtwu­E6aUÖ(¤‹Ì[i{!O¦W2ndʼnչ$óÝ!€´³Âý,Ûö¼±•mÓÀg¥Jýta÷Zï>扥^w9µ°¾ÍÄiÓv“”í<̉EÎÙ¹ä4騀xļ‘š°ŠsA! ¹0ï¬åù‚Ïs_ª(}Y’+•Rf®,-›¨¥³ Ùì¹þ°* O„½»?÷À±¯¦¼ô–«î[;úœg‡+Kþ“ŸÐÙÉâoº£Õ*–—PQPdÁ Î}žK‘¨w>‚xžrÍEݹöÑ­“ Ê TÝc¾}íø·ÞpùüJÌãq£uš‰”Uár]UUÁaL 2Ÿ<à}I†c”EBµRV EDŠH+@¨,]Á¥Lòr\¸¼Š’DG!”&©À&×½øö3~ÑíÀuÏéÿÉ{ Rä BpDF“LI-P Ѥœ^*òF‘©¤n-ñS}z©uRÕ´ ¡¦žqD0}GÎèÂ=f0­_È©™í¥BåÅT‡ðSŠgROä¡Ól4š6ï(žà •±iøÊC*;•ÔŸÊâªJhž¦jD ô´ß§Nvˆž]„Ô} P¦„°^¯Ûí~£ÙíËò€¼†67(iS«…¤EiJí65b²±Uí6u:ÔJ(¶Ðºrޟܨ¼G’¨¹ysÙe7OûBg.oµ\=´/qö÷«2öOù¬©'½Ö&£áÞÕKóÉÙ˜"ÞUãaÿÁï?øœ}1"“ÑÎ)Tðøüßë!Vgžó1ËÄâî"8—l0Iw'Ø ˆ1³Ö!lÖhwVãš62çlÑ·¶ciOogö­mƶ.}G‚\Ù`걺$ ”CTÈT~D‰PÞWDJ©œfXÁŸzJ˜Ñ#jÅúºQ¶ž«‡ybVÇPJùSJój&#[—„‚ˆP³ãr 8cܱš}jž¬ª/TŸñœâgZè¶Œ[ˆëÿ*ÅS¬Ì~!×ù("ÙýûU®§<û{ævíñÎv¶¾ç?Q¾¼ZÕ6l"P¸Ì`;œO¬äVu¸J÷@i8¨0b.î·É%œç2ØÜ21 P0¶æ9ßDih ðˆQ€Ãœ‡Àˆ3²Dì'À$]H{½cŠá-TÚjÛlÎ@ÜÛ>‚€ÒH¥á<ÚqJÛˆlÚY\ëoØ :ÀH I°i6éceHÁ™¥Ä.vº6êεÓÅ]<d³Ô(ÌuìH6ÓÐrTËŽ¥@έœÙβ (ÃÜø6ãOJĶÍ#¦"m¥P1ü„IΟÏyŒâ¿Nbsýð7àïý†Lÿb+]˜¯i)Åià<Ï6ŽóÖzocÀæFhQÔGu÷Þt€>÷mFŒ"·Ad ½µ/ ŸØ$µyd‰2>ÆEÓò1ȼíXä@8¶¡å‚8çyw!Þá‘ àl«ß;6d)ÒÅy ÉZ‹6ÙäA?2€4êe}N;6 ;Œœ‡Ì¹FxÔ´Ë ç[Ù¨D’3<‹²Âî ‰1!;¿Qˆ¼B.†YÞ±ãV¼m6lÜA^158;Q‡ƒõu„&0šˆ*/Ρ`]Y ÂÆÑК"£éªçÕ·<ù^"h…}èªyÿ¥·ù¢Ô¹‹ +ÈÆþî»xkc|ä¾`qI·ÛÆÆ[Ê{rÇ´¹)Ïýînn˜Á0@‹×$é¥õüØh° ß ¢K.˜û¹?ýÇ¿ïªÜ~ïŸÜú!§C{ÁÅ^˨Øf+Msâ]1C) U°¬¡"Ï¡t#Mt`D©€Œƒr$¥øÊ;ïE$ çÅ©š+qÆ$Á‡]J¢ÆÓM²v®zÎŒ¢zbr ¼Ìžøë²î{õB0^ ätÐWÓG¦¢ˆƒ $dCÿíOàNüÏÚ•VíkóòH´ù†#xv—/âýÁλtr9ãôµù—v†NS{q5¡„@2(„ATP¥PÎdgOUy0˾Ôï3 Ê="ãí•ÝjNv]Ч²ÛWã ÞiE$NÈÎç®‚Ï Š¢(w&ü•ù‰uUû_1yLÆŸžŠ-Y›ÄÝÄ"jà2¶¡œ%>_z.cEä½÷îÚ¶+_)¢s £d›³Æïñ7ÚVˆ'}Ý}ËiºÃU’†Ë1;“JdЬÌq)œç–€Y»² l×ï¯._ŽhJ³MÂX.¤ó!vzœM,!ÛXOÛËPmÛ‚e²«‡-žé‡Û•½«âllm³•YÍù˜‹ºä^Ù¢°íùt1µCÆ™ÏPz ÖZY† 9g{ÑãmÎ`æZ ¢ÐÙÄ¥í%+„(¶cð°¥ÎŸüÂ/#Šozå+˜]U ¼w\‚*)s¯†Œ ŠÀ+ÒRúj<ÁxWi­õåOåý¬Îû©z˜ îù ”ÌÇfcó fûµô;M_; p˜ä¦?‰]éZQñíO›f9–¾õ­ßë?€Õ…ÆÚÆràðòK“ÆU»ôûtðQà„øi‡0 ˆŸ’[OwééøÒ€ˆÔ5‘ZŽQ×tàgc=„àË™Žm5“Z fÛ…¨¤À#”¶›ûi»Åh<Ž®ou_P->ëä¯þü—Þü_…jYúØ?¾_ˆm`c8øÜSQAqùÕûÂÛú%LÝÇdüŸ V ÞÜä¼HÛ­ZJÿáâó9Gi$“Çî›É9TõIç\Ã(VÈF‘ ˆC‹<`ãŽm¤ÙÆW‰EÁ2ä\P2êA Í†òcyk#n’/p5°fÕæ’³M`£ÒG¦‰eŠ20̶„„i£I üN6.¹Ø$îî^Ìj½œ€P zà ½"ßÛͽãYÉéÜRš40ŸÄ ÏÆÛl#Eu€˜þ)sæ|œF–&o[´™ÈFYª-Wò«üÄÞ-P6Tláÿê—9;zü{^óõü[QÀT% ¡<÷RIå¼wÞ±*&¥.Ùè@ª IDATrŸW•xg”*+ã¼3º"E(Lá ‘hM*Ъúš‹óÚ颪Üv&Þ˜ áàÝh’ÇÁbF£Q4èÇÃqtÙÆ®%Å>§àWþò¿všò’)RùóÖÒÕÕ=oχbZ&Ð⤊ªÊ6%»$²( L|΃áp²¹4®ÄK C››@Œx_R9†Æi[%MÄF™ºÒ΋€”Ñ¡ZIªèÂgRë¢Gs_½ðiîo>Œq9ã{Èi¶:‰!¨§l¡*´¯T‘›¸QÆÍJaF• 8‚8xš/*Ì ‚Þ!ÐÕ\cðܧL©0õº°oOSk/âVC¯­ÿƸo×Kvá™myáÃ>gè3FêøûäT¡DNÓ`§-0!T?„€ˆ¤žÞ§Br唀Z·—5@Q\½A/n:»Ñ®oüøááÛŽéÃÿ2v `öø+/Hž#KÏ?qׯ¢÷÷/}ýkv-©Nês ”—ç|Gk~~ý×·¾|á/nú²ác<þ DvôÞlØ·­D¡ÅÙâó9Qö¬^¼vÏûö_Öh·ãÙïìœì^½øŠs®Ø“WÙÆ–MŒ„}DH“ò (ûœ £À&][hX²hZK@b"6l ÚéTW¨¨Ó’6IÁýÚoxÜ€Œl“¸’l8±UbÍ+±M²Ui‘¶»kŸûXý-éBŠÝ$È‚ÊÆ„Z©™³qI %zÅD6¯8ŠAfT†‹1€lpœóbÅ|)óÛ 0‰f+Äyaë|ld8ò À_üüOýÐþMmÄZ„ÆW•R9å#™Tž"©, O>—‰ÀYåMhD‹÷%3E!Á8q^Il)ªœ÷Ué}øj ˆxˆ)¸ÜZW:J("HÙPVc iMãæú1òâW/ò.¡(É•þÏþáu?ôÍ/?ôþ<ð¬·×Ð|(¿ÿCÞ•„FëPqÙ?±ÝßáüŽ?zãžc¿{¯ú‡8ùõ³[êŒvEÿèÑ­(¼ëW|Ç¿ù¥t~z¿ýÁoíþ…ÿxÌ•^¼üÂ+Òÿô«Ûÿk}áMÿúÏòs(þØ(Iá,sy–ø|Nc”vgnßËŽ>8 üc]ÝLÅÍÖ¾—µ;sç%ngÃo;*¢EÎà ›œKF[ T¤à>ÙÖ†]„û€¥ÝNwu/×0óÈ·Qsß²aÀ†+*óÇ­µ–"§Il©D«!‚¹Ï•ðÖñnw•G 9#—bXÞžt“Ø*˃,;¹†ªeQXSp{…áÓ &‡£4Jldým2d JRaJ¶±ÅÃ’ÐF±m¥vq.ÅùØœWé®%äÎ' ¤IÓn{Í˰ÕþÿÐIèRFÅ ª0tR–"Zù ®¬`\ëPãQº²¬*‹¡J¼¸@EÊ‘÷줬r ‰È"!©DªÊk]åR•FŠ r¥E^í P)­\¾©ØSÐ(çæÌ…{ÃÊ"îƒG_†ï{!€ßö§váŠàðßE½/h3/&Ht°ÐˆÊ´Ì˪ȯ*¥ªÀÀ Z*˜Tùöp+i·’0‰Â0P†+¥ <*¶½‡EÔ.£v['-c´Æ–™; V¾ AûÑ “‡@*O÷Þò**@È DH¼ãI°½™xå×ïÕ.\ÜèÌkI±is fFüÔ4UB{æNNÓéü˜à§ÂýÊ#,W÷8zmý¿VÀý7_³hþ6¬ÞCz(¼÷TwW³É>uÅL9³SM” š*Š&¥]Ô˜Hã‘z@ ®Îä{3w•ÞþðlWzzýÁ«÷m¬ýQ9ÿÒÏÜš?ïÛ›ÿ;QlmíF„Ƥ³²sm{ÏžÀÅÁ=¿ßü#¯ù’û À…{©¾ßMyýë—ª¿ðê“ÿò¾ðÖŸøYÎs”ç\üÉŠq¶v_ºÿò³Åçs£X¹à¢• .:§6ìÉhç\Ã(½Ñq47[(‡Y>±AdCkEeÃ"M:éwâåëüá÷äÙI¤ZJ)ki)/Êû¢’j\U£²çO ,•iè¨-ïëîÚ3者rΫ(4IË4ã ʃ†¥åg#îÂØ ìßûv¸âT=å,ÐäK‘Ê3À¼Þ“!P@)Ú8¬F}U–bˆ( Ê) O€"x­!çA€Qð4Í<@©/Ìñy3åW5ï'@Éꊬý7å}éþôœº¾#¿«ås§gZ¤n<ö§žb§"é @¼Džš”·»@uÅ×Ü‘Ý"WmWOÞö7xÕ2ë¯?ÓnÝîòyüg4¢ÜwäÉÁÖŸûÌVzÉ-—?põ|þßÚ;6&ùWo7aÙX^¶+ùîÍ•ëŸÿÓ¿ôG¿¸ïI7½Bûàû Àú 9ó~;|où-×GÖÇÇ7Zÿ2¾ð7/¿™‡Ûƒs9þœ=>?äDOù–?ô‘Ø:ñίóëÿÏë}ïzëó^øc‡n½ 6²QŒ‚3.±u’ 1Ã1÷'«K €ííOS;ŸÞulj4"É6úºíZ…±ÑŒ^kæáÚñuf¿ºÚµVÁÎCFV%6é ¡P\”½c½´ÕIÚ¶)<šmÓòˆ³aÎÙWÞ&í:^ØPõòQ·5oc©iƒ€Ë’óœ Nç;ÄÆ¡ÍvÙpla»»;ÜϘ4ϺE-”E™0iö#TC6îȸÂðdºÕF 0g›ý4 0g°©å¼¶ÏSêÕZ¥+¯ØûJ %^S •‰2)œDJ¸2ÈM ]* „”@|=È-ŒHUªòJAJøœ\%RXà„ȨK†ˆA4)Å&²jùFJö‹øû>ø¢Ú†û÷½.ŸíÄ@5•â ©ª ®{ôàMï ½4¾m®íûì§æ&ŽL[ÂI;Í/<°ÙYè+"­D)hM`´Æsžüçw‡¾â¨*2LÛsë;Á D $X;nTË7£\_ŠÞÛvÿƒÌQ œb™fS¦?¨5íŠg­õè\(tå$ü®Íê†þ(nößôèíª%UêYÑ}Çž ½òu:?^lÿõÁìï+OîpðÛ-֪ï¶ž¿#7¾èßÿ—?¸åOþ‘ÿôp÷Û‰ÞÕÏ|ö¡‡¼ß¨ºomîëí ñï_u>þœ2>_õ’Û>ðî¿|Ös_XËúѵûSÿá{ó“núůò~ë,Þ}=|áÏþŸ8.þ|I|¾êæ÷?£œ×Â?¿S«»ïR‹1‡Ú pÁ–¶³Âñ‰±%J}É<€(°…é<Î%¥Q#]h§Ë+)ÀåEžÊ|vt QÔ;q°wtœ¶›Ýý†&¹ì #ZÆì ŸmlXÝݲÉBïpÔAH©JìR@–M¸?±{mï“ÙÎ6‹»XKHÚclÀFÔDH6ÜɆÂËæ—Ò¤ŠmlWW/äœg½ã@lC¶[ˆâ´i8n³#‰³ÑÔ@X€ƒeœ…Q3k Rm}аtì8ovËÖ™öyÇ«þ9ÿñW½÷$€U‰sRŽÄ#‡Ñaꀼ"8¥D‰óÞCƒ4‘7ï÷7%*}=. iCÆ(LûŠ•ò$$lTnæGKOF˜˜wö߆ªDU¢ž‹‚dFÑN—B¦r 3aSÿO€'u½¶‹§:SQ3K½9¢‘_Ý}ríØ®hã “å›úŸˆýS—ôŸê@rÍú럌Z: (k!Ú9ЊS7öñÔõÑnÒÍhã׿b»M©­• b¨ÞþÅ·ß·ñüß{Õ´ð$3™[{ÇkŸú4º;üäáÑèÑØ- tuw|ƒ+žöâWýå¿å¿ûÊw]~ù@è–¯þ~kä²ûÂÍ#‡v} }á}¿ö‹\0¶ÚçãÏÃÅŸ/‰Ïç:åü:ÖßÿýûÒÅÅîâ;rÑG!¶¤É26ÒV;+¶maX2BälÞ´­Šy”mŒl±Èù€ûVe·Ý¹ìú'ð€­JÒÖfº¸RÏ:OWºkk™`Õ ûãÙFžZmY ׳À ›´¹taÞª†5H³pkuu…‹9¨6k „ašÄYï8ÂW¡5[6Y°íˆE8¯îºç‹6jÚÐòp=“‰¥Ià²k/ç­IÆY¶3\ ëÑûèg¸Ü..ÙP¡Û mؼlw (R¬g›ëÙp‚!˜³»xãKìóW¯|‰%zÞ«ßàMxíò ©à WãB°2Ú×^”¸ÀCžP)h]‰À{å!F)­5”"xû¤V'X\0»‚´­&9r¤¼ëîòxÏW•(!! ï1R©‘ç~{TôUUê¼âeß žõ6ˆ—þ=rìï*ž8iÂ+x!ï댉d*^jôƒd‰v?âÝuïÊ xJ†÷SÁ={Êæô¤ºi £œ¦¦Û¹ÿ)@ ®}x’Êw—~ç¯GQÌ£íxpR\é[‹:ˆYNäEßþÈ•#wÏ÷B¼‘ä þçù(ç×9ÀGù³—pxº‡Í"äbÓ¢‰Þv6Øa ÛjsˆlsÇZkçR ·zým«šéBÀ…ÉúÖFéBºvl½–A5Ó$²aCk#æ<·QdAÙp‚€VÙñžöp‘e'xg”åcKdƒD°íŽmÛt¾™š½°à ìû(iÒB>á3Be“– -£°y8ábhÃÄ&1ŒN§›¤½ãu¡×F± 62 †]ZæIŸIìNža.ظÓ>l¶ o1Ø(Æ€±#g±Ï÷þ?o1J+])RNü¸T•ò…@ké途W¨ym¤i”T2¬„ˆŒ¡0DÜ@»MsójiÉÌÏéVK%‰Žce4\)ýêλøŽÏ—ë'1Ê 0tI[íÙ®,‡Z¹á(ß²¯¤Ù4IÀ¨Õ ~î??E*¾”ÍOù£*ËÊ©6’ˆD‘  00‘U+O¦ô s\ð7p  ÀCCêö™mÛr: îôî;Z¥©(G SÎŽ6~êåW'Q1®öîÃkï0¦|ñsý#POî~>Q-[_è”Ôkµâ@Ãkñ $¤C¨:‚² J@€ÕÚ"zm­>ªå›Cµ3§Þß ?Hå'¤ø N½GªËÙ_Ós×粬µ™w¾¦v€rJy¹/«çº#½òufx°Xÿ›Ãx÷'oßñ‰½_b·Åfã²ø’]ôô_þÝÏ¿òW~ ì³7?íß¼úëz¿‰Ð;Þ9þÊ|áOoùùóñç+‹?—¾ìçù(ç×cgýãÿüŸú¿}/‡õ‹w½íÍÏ{áúËg['³áÈ‚Fi£ó¨è94-]pÀ6Cv—OÛû1Ê‘9Š-(Ë7x«Ï"ˆ`Ôí@>éõŽš6TY>ä\u­ÏX¥q  ×Ÿ¤¥IÚl×ïØ¤cÓÎv.•eÅĆh;C›Ä6¶,à£6l"´à‚Z.6³B§¡íî1sº˜N›&¬ES b ˜IÒ²v˜Lvw¯×?É›&]Äê—¥Mf(l€šl£©±mæ–¢lc½û„KÏnŸŸ{ÿ¢H™f³Ò¾*^J©ô°Ñ¤R¤A¨BMÊ…šâNÐlQ; £'+"hØR3¡…½´¤t3QQ¨´&¥ žŠÒ!12Ø‘»ïs÷r‡9û¤¥£•Ýá¼ð¤ØÉŠñ°tFˆ8‡ÑT”òæWÜ2…)”#é}¸Zÿd)‘3)‘V2‰õò7Ñ®`§Ð €ý»þÎAZê9|TBJ E3‘ÓDÑÙ{j*Œ›ê™j™ ®?ôH$•7þÙœ»¨5Lšá¥sK7~ó|ü”zr÷óHišŠ«ÕTŽéÈ<Õ–ð1" @ *€ ¡Ð‚H‚8UË¢"/JÁÉÚ}U Srž¤vcWøÿ±÷æar\ÕÙø{î­åVwuwMOÏLÏH²F²dË6`l0Æ`vÈ–°$!Á !1˜@ „$ÆÄ€“–>~ >ã/da &@ã…ÅÆ[²-i´zöêîê®[Û=¿?ªGŒ-dâçËœGtO×SÝ÷Õ¹çž:Ë{¾ä_€u’À0 yz–m_ËÎê™Z'ÕîûPÜÀëMFÀþåçHÆ/ºèâ×ýß¼.^½êöøÖïuV~·Öc®øÔÑߺø½ Þü¿tñ¥÷Wß^ó†MO~Êþû¥oK+œ¬÷w/¼ëÂ7nØŸã¶?¼õ['ÒGŸÚ`eáÐÆa¹!ÿ-¢*>=ŒÊ¥ò¥·×žž êÛµ^èìtíG …BMWƒRªêhÅt¼ªW³ Ö@­P ÆeUS€® WBUkU§|àj°³ µVJ…a¼{Ͼ ^ÝÖ.ß‚#› ÖPJ¡ªtk­Ûµ1(@ÈZùò\+ì'ªþ›Åš‡Ê÷‚Z[»áòªªÕ‘¤ˆTúðjº@»U ׆zÐ ¼èDW”¼º5¥àê¨ƽòÑDðTØ •£ ”Ö½òñ¨st?€û‚Ïë?óñBPžÄ´ÄQö`r¨ UjÒqeU‰ZS=’ ‚®K• Õb|\6ÒUD3EÎáéEœ¦<^·f&e!Ñ™ÏL‡± ÆìzÝr]É„áÐ {ù` ú¬µI“¦` -¸?¤šÒŸ{ïÛîòTô Ï_ö i[õ“©}>ÜñR7Fá“ÙOq9[w½«ç€Y§:µ×ÇÙ¯—yæëW£¼F7ÂÞdoŸÌºƒ%@°Pι‘ÁóïÛû_'Ž(¤¡X‹,G£Ecc–k‹nОWA)áºä¸PŠªUáûT­ Ç!) @’ ŠŠnÏt»&\ã~ÕŠuú©öìV§ÈM7ÊÓ¬°,9 ‡b˜˜a,Rm fd"IФÃAž¦œeE69ÿ é@ C,Nû!OåÀÊ¡,]سçco½ù—~ù¯Œ=q7‹jn¸Úk2ÊŠ@ÍÈq@ÈC#B•#jŽ¥UFsnFúÉ ‚a!hÄ [²ÌZåf3wGr,õ“'Ý)ç6ÇN—‹GD±°lÇ]~÷Ï7¸>¤‹¼·ß³y*÷Ä-¼ù5ϸø-?¾ýÝßmzÛe Ç­o‚åi?7öãöÂï?îUÇ·¿6ìÏÝðyÔÿÛñôõ”^ÈÊêê%—^öÎwÿ¯•••w¾ãòÿÞÓè^ý‡ÿù¥¯|ì£zÂ.Ø}Ûžw¼ë='ôF®gô×~„z%ÔnŠ”õr¨ÓXgPÀÜþ; 5>®0Ô¨v½=áš©¥ãÕÎ>êkŠ‘f€§”‚Mp\BšhP›+ôª{C•–[z%<²ªE¦ëÓ`èÔS(tF:*”ªiÓ  NM÷B²æ\ ì |_Ù¶"WG]TÝ_Œ *D]AÁê)+@ÝSžǺ—h}Nµí«öÖŸÓ±Ö©§@#Ej„©VQI‚tƒ*p @Êï¦ûŽÏ›Ï}þÛoú aª>I‹š“2¨Ë+þ¡ïZ”§È3H‚ëÂu„ï“ï‹J…º¿5³w‹”„a÷äSR«ùswÞvÏOßÿþÉŸ¾YÑj?ý©O¹ô’?]\\<÷ü'xžwëÍßò}@žçgœyÎÊÊʵ_ûÒŽ'¿ïðCþÈá#G&'&_ú’ /úýWѱ;_þÖ·¼ç½ï›?zt¹sðn?lfËÉIš~ÿ»ßj·§îý7ÿàÛòõ;ßqù»ÞýÞ£G;;vœü§ò†ë¿ù­O|òÊ•••]§žúW—_vÎÙ¸_WþÈ…×jþÝVqd~^ñã Ø¹sdžÃqs=Am\§:pªÂáb€bŸ5CeöS÷•W+M€rëaïH¸2М*ràØH3M¶ŠCU›FC) hO!MuÔE•UlÚDJøáÚ”ö—!ªm¿@3#j(ºÊUš»A} ¦QWÖj˜J¤‰rÔèT+G)˜0J$@]©Tk @kÖYOkVŠ‚‰ª¦B*ß Pޝ!5:‰@>êcÊai¢uOï=ªªŽN³°7Tn¡©ªÕ¬†+KÇÏßïýl QSô¹ÿè i‘$c áºÂSpm¸Õê¨×D­&ÆöxCdlöÈïØŸíäƒÀ²lË„¡±:mšr&&íZSJ'×ÃåI;wîø_ûþK.½ìW_ð¼¯]~Ù{Þû¾Kÿâm–e½ò/?vÃÛvï¹öë_ªV«÷ü®`,XXX|ìãŸòÔ§>ùQ<û©O~Ò:+D÷62ð»ß½åk_¹úk×|ã…¿ù’_û_ø›/¼áÿU¾ý½?¸ø›×~õþ^ù#~ÏU\ø’—ÿ8(6¼ã=Œîö@{z›Žz£«á>YHûíöd{ó¦Ýû÷¶[cªÖTJè¸_Ö—i³ªl¡„Ô,Uó”ß@Æš¤‰NÇh­CQi¢»+z+KC` ìº" j-”Aô„ÁPŠ´Ç=Ua%¦;+ :é+7Ñ€îõ¡#59 ¸e¶X#F‚°ßÅpˆJ¨ÊoŠÚ[¦U°Ž 9Ö´1B§} ‘2œ¶A&TÓ×Q/Œ"Ø2ðT€Îš <¥TÉ,8Bƒ‘šãÃç¥[žùëW|–B¸Ò8Ê(Û«¤r(O‹Õ¨è,åT¥È¯­ÀJ9r$_]I *,A€€`.ˆû>pX¬EÜèJå‰.Ò“Í`ȱ%ò¼ˆdª]86A f&WXŒ¬àD€a»Ž°1¨€xä‹þ”Œ¸þß¼í´=ˆo^”¯ ŽKÔ]ã×ëP ¹@’ ‹lP'1Õ;(ç$ïb9+K+š LL˜8ìM5®ù^¾}ÓÀµÀà°5‘•±!’¼f°¦‘5·M^ sÆþåÓO)ž¸uÛ qÅ„,L¶;ÿrg¡%ê/˜ÞfX4PyÙÉ»j®ü÷æk懷÷TÿÓ+·ÐÅv§xÖÔ–-Î& ˜Jf{>Vkbl˜Hf%w,¨Ì䌂Á.™,f‹HÌîj"Ss{ç÷ÏŸþ Á Vxp·ÃíÂ|–Âü4ú¶4¿ëžvãñO¹ó¸õ-/ÌÕ_Ž®¸øw±w!\9aûkÃþ”øüH;_}”ÕµµK.½ ÀsžõÌyÁůúƒòů¾à¹]üÚ/|á?¼ú¢Wþûg>÷á+þ¡<˜¯üÔÿð{¿ûÛ>ôáxíÅyž÷»/Ù_þõ;ÿþCWü òÆ?~ÝtP¼ÿoßý¦?»ôû·Þö‰O^ù‰O^iÛÖ;þòí/üõ‘ó%„¸—…üñ^[­VŸô„'ŒÞ¾þµÕjõ©O~€ýûçŽãʹð{®â^ Ø˜ëÑ<ÚS»š e3"=w`AG½¹ùîìì †RÒò²ÎR¨ã>½r'T3¯«ªÒCû¡r„jN¬5)½º¤d´CðšPC•JͤДRÊÊq1ÐZkåR™ÀÕZ‡É‚Žû:7í™6R ‚•¥ A¾NúèÇAk v¢)AÆp.   ¡æðÐQÂè¡Å5 Šî­)ÕÜÌHÝe¥NÎÅp Ü*•ÕUU´Ûuˆö\”Í1U¶/V¤Ž ûËLJåldA‚½ 5›²Ñ ϶+l[¤™¬Df¥c­.eq?[\âÃvAiÂ6È÷DÎB§&Ï@ÄBÇy–¹ÖÂVÂdà¬È³\'&åE!Eš …ãÇcÛ¥¸F$V˲Ûw]Û¶Xæ\HfÃ’×=ƒ-À9Aðˆý]Œª2 ˆQ0Œ–L9 DZÝ 6€]ÖU¤%SHY™Z¦$ʇ0ÓäïvlW$+Kª?¨ àJ°E£ç" £a§@ deMi°þØ”ÀhÌEÁüù¥•ƒÝâ´Iµ˜ŽXW½š9mÇú¹ñÍ×Ú÷{Ž/ª.OzbˆüëáÁgLÖj€+ )g„#.Iì°a6 ¹Þï+ ‰Ë~_’TPù gŽU}°âVêÛÑçí<í¶û«owî¹&7]ù¶j_ÝÎERˆ,—²Æ|åê+ËOOÚ²çøôm×Ì®¾¿6ì†ò8}”2g!¥Ü43ýêWýþ½öâ{^síu7\ö¶ËoùÞ­ƒÁ€™KŸÀÃÏ:óüÇœ÷õk¾qÃ7¿uÆé§}öó_xèCÎxìù0´àìs{ì&‡ù¡ïm6ÜOzÜcÏÿê—¿pd~þê/~é/.»|- /½ì.åÞ¥5>À¶G Ÿ˜hskø‡ç!ß—+ÜÂ﹊{bCŽOŽù%w£ €N¡£€jAk ¢.ÜÖYI¥:1ÊAËS `¸.x ¤ÓL'}H­¡ÒE¤°QNÔ!êÊI”­Y*cxÐq¬¡Ü:€ÐÖ`W'‰R ×uI2¹å. ”ýé›WZµ*²4¨Xïz‘@aÃ<ôOÆ[·Ü_}»éWŸðýµa:+É©Çç£Ü—Η¾ü ‹ÿÇ?ññ/Š|ÓÖÇNñW_ôʯ_ó_ñOxüãâ8~ÅLüû¦™éíþÞåÙ²ifæÅ/úóÏ{ô£óø~ÿ.Z˜¢(Œ1Bˆ£G;ô1y/ ¿§ü8(6äæzt ޝÓi¢SÖzM5Æw5(ì ;s1Ð Z“A-˜[Ú×VJ£¢µÖ1+U êB§&ÔZŠt؇²꬧ãAP«……T½p+oJ£«Ô¤NY%IØï*Í£KA­öW‚V¤ãA{¢ª"^+PUa܇òu¸ /ÑPŠ&UuVŠA­ ? ‡€é)G(gj—ï©JC*œ_èttkjcC厣:Æ‘êÀ A­Qš˜pÀðÊõ‘r˜v‘."«ëDÃÀ/ŽŸJÄÂU¢ê Û†ys’²m ÇfåˆJ‹jUkl\¬­ƒAá¸hŽ9c-Û¯B÷±XуùÒ²œ„%HH€ó<7ư)(3ÆPáX…W¡‰I{ÓŒS«I6œe¬Ž"0‘*ÍˆŠ‚ N @HR~yÖæ &(ƒ’õóëŒh´þjt@ó¨±@1"‰‡AÁ0€%!%±ä’;U¤D«â4+ë¿Y=}säW3È.ì p–ÃbX®ÔPh,»ÖÍlqüåµ;®=¬mÏ6‰¸þè¡“u;ËsG#Íòªð’á´¥ö“ÓÃk:ÏŸ>ùŒF5ϹÖh²1X‚ˆY¬ÏëùáÔ6 Œˆc%“Ž-Q‚$ÀhÀE¾>ýÁŠÛ1}{Ü“îðkⳟ>ùÙ¿rç½ëÛu×ìJnx×u_½µÊ¹g ߘš£êMÇnVæ¾Ü9{[ õjÛW ßr”t2—_›&zeù½<÷û÷KßÚÛzÂ÷׆ýÙÕx ¹ð‹Â¨×êI¢ßvù;~ð£'<þq{èCþå_ÿ}ï¾ýSS“ÏyΨþw^þÒ7¾é’KÞòÖ·¾å)Åu×óýøà§>ù±ûòuÏxös_ò[žÞ£Aã¶Ý{<á‚Ç•Ín=iîÀÁÿøÂ/xÜù—ÿÕß<ÐÇä½,üžòã Ø˜ë™›;Š4Ñ‘£M70SZÄŠH¯tçæ—Tj‚údЪ Uáò¢ÖZ¹j÷¾9e{Ê«jNUä” x*¥u•ÏH ðë匮°ŒÖ:«ؽ0¢w \Ö:êB»íͤ|ÕÞÜVa#¦€^¸¶w€Ä„QÔnACÂíúX˜)å{´é‚-p¬AªªÂ4‚Mð€¸®Ó®ŽÃU(G…©ÚxÐl͆NY§yØ;ªLMg :5¡#\/uÔ‡Éu4TD:5¸Ðݰ¿ » @7œãÃÇ,%\—mÁ&K¡“ë°ò¨ZAÕ§z@Õšœ˜Y&‡¼Š°,&°c !HÎe±¸ŒÜÀAr!¹`fÇ¥`Ìš™¶¦§­vÛò«Â ‡f00%•ƒÀ’b“glŠ¢È0,HÊõÃÒತZÍÊÜÈ(ã1æœ`ä:ç©”ð$` ‚ á ×9{æhfÜ<þœ|¼ ÍVÞ’é@±·Àª¡ªÏÄ&3CܼGÜð}µu“õ+¿Xq…bQ¡beÝoà´ßÒ‡þíŽ<·Ü‡5p¸«³fDeœkÇiŠ•íÉ·9•-û‘Û²?úNä(k­OÜÓNÃØ@.qÉO"KšƒDÍàu€I â»| I P9Œ0c³W°âv7}û…gÜqïúöÑo¿á_?8m6²°R—/€ÖHDZ։ª”¯”ÍÊo„kKt<FExtA‘G ÄÓ¡0A+Ðk@Ù}åxAuêÝøÎêBuP£´#a¹í) Âþ2ˆ€ŠrüÀ­uŽvÂåEå׃‰¶Ýpá¶pHí¦Œá|2wô NºÏ:5:6“meuË‚”‚Ma’ $,[8®`Ã:†V.U+ÄD(˜a"’µZV£!]/Ò,®&1ÌÄëäÒÆä”<ã gÇÉvk\*…,ã~ŸuBI†8a6ƶ Ê,c˜™Áë> bp …"‡¦|¾/iÈáÑл²“–x#0`Y †)0¿èí;ìXÜtÇü‡nï?áìÌW¯T©lkV,÷}Gõ"L‹üË7ñö0mr.•<ê¸ k 2Ëõ°Cq“/î‹ÓÔ>{º>]5ûÓ'dcÍÙ»ž&ií¼ª‰{ù“¾‚>½ZŽ›¹ TH<’€]’ÝÃâØD9"S3Ä£tÏôpÙøSö“ÀŒÂ$bÜîEßþùSÛžû¼ý?¨oýWÛ‘î?ççŸ÷•^¾ÕÉ‹ëRXV$ðÆ *ÛëóÆ §ƒªÝÏòL[Va$„ciÛþþ7O¹à9þçÏ¿üòƒ÷Qß”“ŸðýµaæöÝŽûÛ{|â‚ Å)§Ÿ™$é-7Ý0ÿ“Õ (8)9Ü>þòV•#‚™‰vkL§²BÙ4·oOgyQ÷üö¤hÏNž§µû]å×ÁCŠ êJ9c´céÕA¹?‘ºÈºšYk …Q¡ ­C•cÓ€`ò¤pñ`gyQŠ`|,ðUàK¥TSw5=`mzå†GÂP5å; ž£c x£e¤}8µ ¥”Raëh äé8 ZÕ@©°?PŽÔÒ±n»ÓZwt7Ôl‚J ޏÔ0ÜuµÖp]E†qçèBge­=í>—]÷¯‚`Ypr²,éØR)aYT˜Q¦lÛPÙ¶, NŠBHT”t]Q«JÇæþZqÇ~þîî|ùh’jfà XÆ[tæYö™s§¦dÅ#†³°T<”8”uCƒB’ ÄÌ( ŒÁ?^rɶíŸǰ$„³‘‚\Hb¢0£NZ@\Ʊ¢R0 `Á}û¦kÒOÝê‘7&rÅV/yñ~ÛÆÿþÿ¶ÝúÍÏ䆛cÁÚÁýÝo\å ízîî&ÆÆò’I×í®Î»òÖPO4,UµîŽ ¬âÔ‡ï¨Ô6×Ï{Å+^¹÷¾èÛ[žöü¾¿6ìOgyñÂì~{œ0ó®þÏ0ì¾ü·_ò?üTÞ€âgë ê-ô`0·;œK%œ"hµ„õÙÍÐUv 4i¸nàN†zUGC'ŠÕWAM«ñ 4kôj|2¨)ØJ¯éÏë4„î2ÜP¥ [Á…"µÆM7ݨ£D³­öìI»‚) —Â>:7ÖùZЬ+aTµ¢üF`»*ð”šÔÜÕ©«uG±„¯Úõ¶*b¨¡ $»6íR¾‚“(Ñ{p5SÉ|PŸiŸâ蔑N¤íЭhær`Ý×a?š[þFÐj)KJAë ð‚ÆÄlÒûÝãÃgÓ&2˜AD$„m å Û–`– 9Ç+!ƒX9$Ø—ÇÆ…ë ¯)Ù‚lMYcé‰C~~äp>²ëòÔ”8õTç´3œé¶åUHä9„D’««ÅÚªI²¢V• Aß“`ce”¦HSJ"öy‘™P°”0²›Lœ£ÈÁlYÜ5£ À$) Ëö4ÞtÞð_¿žïÞ;å¡{ê®mß<8¸cuíÑ|öû4(hËL~Ý÷è/§«N/*&›òÔ«O>/kµ@,a* Ð(Pz$ë\IÎj{Ïhû¥¶°•£óB·¾uÄ[‰{d5øœé:ØP.N·'np25 v‰ @) FÁqY'+ج¥”¿,FcùX¬£lºa`*£$0x0ãvïúö²ß>Päüá+¶øîtõ ·Nd [·QU[üšëÔ<¯ÿÂá§&mÝŸöEª–kcÞöIÕžTñÁ¹mÛk èÔš¨Qâ¹6ß±[nNãkÞù¾¿½øÑçßúõ-œ?ñûkÃþÌnÀz”{‘‡Ÿ}Þ‘ùùsÎ~Ä^÷‡ÿÃÏÔ (~¹í‰FpÚ.×Y܇žÐ2í,Ç :hyʮÅŽz:b¸ ½µ¥]©¥uUíi3çæ´Ö³'Ïêze1C­uØ;¢Wج¬mš:*õP%ô €K:Ög=êÑ ÐZw–^wã)’í“&g·´§¥cJéƒ{:ë!gÄyg)9U­†ªa¯£;q‚ê¨ l%C½ ‚º?2Ë·íÞênŽGÍnªÃ­N€¬ÛYÒZ‡#‚„±1­á@w:‹ï­ÝíBVŸÖZ#I…)„Ò¶HHa H0 –)‚«˜‡=“fy­‚ f7jÒqÈFg(Uªb¬ÅgV±eܛۗ¯öx¼…'[[N’ACÚ6±ac˜¥`Ï¥ AE&\—6m­ T¼‚‘e†˜e‘“ÖTV€jàdŒH<ÀF²ª)6bÈE#Á ‹œ|Ä)_!Û€!-L4ñÂ'§WYË{UÞaõ³.ÿiœïôpç÷ÜÇœ•~÷ŽÚXŨ™%ëM~ÖY¥ «ŽBÁä(`&Fÿe‰zú¦É²R¥œ‘SžWåÄÛÇé̬º«wDG|Ñlz– Ûø…ñÖµé7š‹cÒ‘‹@Àl$³ 0X‚âØÀd¾+Ä•ó“,‰$ àÁz$ýAŠ[«õ“õíw_qðýï;)·¼³fDÓž™²,X†‰6NŸö¾m¼éÕ|©Dçºo)jí­c•‡´¦O¯[[ÇŒ# G¨"ÊAgày6µïƒ¾ NüþÚ°?AËûïñQnúöµ§é„ü辞ÞòÜ2ÔRW‰ŠN†A³¦ ³ÓSa”ÃF@¤¶è(„[ì¾åHØ 1„²Æ‚©V»] &ǵ=ÐKqåH"]6\fA{l|÷á#:±J*° ,Wë5b¥hB{óÔ®ÓNUÞT8<.¯ª@©†V=…JA3è¬¦Š¨$šT¶Ð™ Y!é¶7ïPNÒ9œt–†Có:ƒrT{²… íÙ©öD{´Lê4Bî륃ÞaÝ?„ÔÀí`‡ª該u°…ýž²®,è„Þ êññ᣷Sš ÒqȆB8®ðjð<‚² yAšBM‘%ªu)m€É&’JÅŒ‰À£`Öžl‹4/ê5«Ù´T‚ˆ N³"Ë2¢¼ZÁæáÚb©Y0Óm3Þ2–Ç:ƦÈ-†“¦v^ (‹CMÑAÁ£1¼à‚› { †€ÅȘ¢ºKùˆ¸l}â £,KA€"<ûQñ?§|Íwí'=²öùï }yÞCŠå¥±~/=tÈl;…öó“w®>óq‰çPd« ¤ú®xpJUX±OˆÁÄŸ©^¦ljXV‘»rÛ²ý¤OpI#OļE6&Ú- 9¸€`PÄ€ëØ‘,Pæt€²!bΊÑôQ= Á†óõšÙ)n:ýÉúvùe›†_½¼±éTgÿõ̲€ÜEflËBPo×_Qµ"ì,TøAÅ2CYà‹mãGVDCãX2! d¼ê_þø§>õëozÓ÷ï]ß‚Zã„ï¯ û3cô³÷Q6dC~¦¹žévà&ÊÝ®s­»1\ÚccJùJ¯† Gu*\ ‚fàxçžûäpéöÎa†Hކ m-:f·´gF'’akÝ„]­»ƒ©ÍÐZ牲\ ‡›CV€‡ªîn @Øõâ>¥\U÷u¿§àѦ-ŸuµLif$Q¸¸®öu*”0ÊòPevK{v{N¢NØ]€DètÝ®a‚úX{v\9¾F¤¦›gíÜŠ N|Ó_ï½¾=>´Úº7߯¦jxºƒøõö iÆñá³Çà Ra¼‰©6|ŸmRPa 5õzHSö*B$ €‘abÁ‚`áÈF ŽDz\Û,ò"ïvó£¬¥Í ogõºŒ¹õ†Œ5Z¦Z5iªu-­ö{½Ô¶½ZuÌ÷æ’jŠÊ©z£¼j’ cc{s 0åÜÝu¾öÑð<3˜A¹€0#F²jÏ|²îÊîŽdG}â _|ÂÐÊûߺµÞjFZ™G8áÜU IDATœ]<霴ꂳu’GÂX(2Ø£/ )%06¨»öd]o÷lÇ Ï˜à¹ƒcȲ * b°J`,Ò騄sPˆ¬LÖPY "…@²Gþ °µ^3Ëë.@<R,@eëò]%‰NÜìû o†qÜØ¶Kç ‹¢€åTe½"KblbË$92GV  Sb)r Wœs궚Ǖ(ba2!ãÁÐÐÀÎtonlÛ`zZÞ»¾…GpÂ÷׆ýQzuÃGÙÿ÷s=J¹:­ÎÍÏ…ËKzȪB³ÌnRp‚ ©Tö{afçÐõ@¬\´O²;Œz^®®…ËKA½4kÊ«uAS' .¡(I¢5ÃE@×ÕñªîÆÚMtVQöPSE÷×ôjÈ"ŒŠÀmh)¯¦µÖÚÀZJ)UÛ„Úªòja¿‹„µ†BC/츤üX)ÄÊŽzT]ì:õp[‹y¤ÖÜÜÍ4¼¹¹ed\9ë´³UÍÓý¸³t0Ÿ£n§¿ØFÍ@µ µ”›>gÿœý½ï×’­I±õ$4Ç )À0ŒDÑIF,É0„dGP–ÒZ¯0&«ødBHX61` &Ãd€<7ahŽvòsyg)+NÞ–NÏ Ç&ÔÌ–*Øvœ,I “lymxë¾£ûöæ,ß´yæágžrÊΓ@:(p¬¢“¬QÁ˜Ê6R”¤©ÅúЙr¦Ì1zù0¬w³¬‡¾º‹ç?!M3ì;’|ü³í»®0¢:3ž¼àéÙK QNvlÃnAV¬ÃÌc½w†FeI"Ôû¤¦3)0Û–Åé f5¦üdx±u=³&pI09xÕ@€E,GL&å¬cÊQòÅ "*óGå"%ÈÕÞ#šýép»î{øÈ§ñåÌ£°$NÙŠ_{:.~á Àí¾è¹ãìJSùSÄW]ýùO~ýöoÞ¹èH:ÿô™—?ý¬îR¥¨æ†·gÍÜx ¯ ›ïüê[ÿ­\úï}¾¤Bn{²3uŠ…´Ñœ°+M'ïø ú¦÷†'|mØŸ hnø(ò? ×R<€ç´'&Ú­@:î‡áIW)ÊÔê:+ s{;í“eCçZAÁE°iª½¹Gg®«Ð ë¥U7CbëHÃwÚµ± ðBª£ÐUJ)K)J;¾i02†Mã Q4ÒTÓÌÊ-`„N$“y,-¨¢€k+K °”¹Ãw(UkOµ[ =Ha“ª:¡ëïŸÞ}Ûu“•`[»}ÒÖ¶ã¾Ò©n·¡ÕétævwôVZ3Ò£È š*áRˆáPU+A­¡ãÄg×®áÔ˜÷ý[©²=ÍAÝ2yAEÃÄL̰lã×ÈI9Ï)/ ò¡ƒ&êc rmiR)±¶ #„°Nò,c­MQ@J29í½ƒWVø”Óó-yj,­×½8ÍÃ0ÿޞ÷ìYØwh%^ÓYœILêÆ²aJþSf.@VyôòÈñÈAå)kÝÅÿA,Å`nZw`P›aKœ¾Õ<éÑ‹ŸøªR*Ú£V·L±(ã  ¢u.WÎf+pœcw-縃l¬ÆÍI‡{v‘‡7/ʳOòÈlõR«jr4Ö8ll Q0A¢X§”Ũ¯†Ö{¯Éå{ˆ¨ôqÊŽ2#fû²Òv½oXˆb‚ö§ÂíÕoÇ‹Ÿ…?|mÝÎ +xóûñúw㎃øÀZÜ~¢¾]ø›[ŒüÈù¯>ù)Ï$i}ü²½þ×Ïoo;ãðµ×\ù;ÿòÊkþÏï<¾éYÕ†³¿#3ãn›È[Ž™{ÏoTL¼èwµ›Nƒ³Ó/pgRþ?ÍßxuÕÇÓŸvògþãÆ{Ñ7gùÄï¯ û£”³á£lÈÿ€\¯à«ÙqÐQ¬»±Îzʦ¹Õá¨ãnT)ÖnoòÛ› ” ×–ÂÄ(#õôêœF­]Ë»®¼x êPJU0] ì¢=åÐé¸r|UEH¤ ´@2€ãƒ#½6œ;z8\ªP¸ëTÏNMÖˆ35Å‘bUDèÜèx +?˜­Ï­F‰"ÒKKáJ¨¬ÊîîêÙFC'¬2„{˜Û½Ô‰, €(…#TÅ ”„ã*'PDÚ ¸“JøÊ6ÚæãÃ'y¾”6òœ‹‚³ŒóŒ¥€ç ×ý¾9º˜÷#î­«“ýZsM:\$Á5×Ýqt%sê–“¦k¾-ÉdE|Ó÷Žðgø)q»ã'éÛ1;°vxßÄɳ– ÿø—îùâG'hMMX—þúÃvñ?OLzŽïÀq÷†+¯zó…Û§dË–6)Q€|-d÷–ç'Ö}”òV6pç…{Ñ·gn?ñûkÃþ á37|” ù>×377@!ùà ª0&¨UTÊrµLµfݛ߽,ôj/Ôy{Ú j­ö¦vPkjŽ1ÐpüÎòÄ}U cÚô÷1PJ¹Ð™Ô«²º²Úî먪|+\t2ho‚uT/Æ:ÖA³Ó-¨‰pñÀÜž£µ;JØ^P㲜Ϯ&fÈU¥È {Gôj¦F/…*4ªª*•§P+Ìí]èô#E"h5Ú›ƒÉÉ`³‹4ÑàÀm Z JÕ^ØïÎí;R6("ïA ”%ÂL>7îYñܪïÕmGå cD3"/„ä:Âq`[dÛP.„€1èçèö¸×çnhÖÖòƒ‡áyT­PГ-9=c{>âØ¤ g)ë„v‹ÎBv³Þ0’~—Oš¦`l; Ü…Å,oožžØ4QuªnÆ2íEC½|¬²bTZ±.ýQ  Š´6|ì2°8Fÿld9fgðÂ_Ä¿Œm Í&¿èº Ÿë5@ KJÛ‚I`2T€#ð*L‘Ó]T­p åçݬQ¥MÕ¢¡Tn”g§ÛàØ¹1u39Rhb€ ÉYù[‰ “, @‚¬õ°aD—B`‚£j0¯“Ù———p|ÛO‰Û1oøêõ°y °~ZÜnûIúVzXlØ »Ü]¥‰™úÖYÿŒg.ÞðѶm]{Û£wŒ+N!ìr¦]ËÍ'N5•f8´à™£* _û`¾tÓô“þðØ­PÇ-ßîß›¾™ì„ï¯ û£ê¸Oq”/þû'7¿ yðË“é?2ר èëÜWE¡¥¯ì®5fÛžÖZkÖýDG+@5¨ø“»|LN*ÇÖƒ4Œ$™Ž‡ZtèÜt/êTõ5  G(ÇionìiJt?ÖëÐQØ?ˆ•RÅ®RŽr) è$ æ•7(µëÌmЉÓéõÂåN§` ¼© ˆá5wÕ ®+aPߤ“ž‚‡ ‡‰ƒá-ka/T)©ú–Ù]Þ¬œV•¡¢*$iguU§.L·ƒXõ¸®âúYl#cm"¤–6$FG}ír`ןo­©Îátªë$]y?0åÆÕXüüùxÍ‹ñ˜3±²ŠWÿ5.yVðÞ?Å‘[-°ÜüÐT <|§(²B%Ý*q)3È€9@è"îÁ'hÈ ’&‹Y.é­UiÆTÈ&>Òk)³šÝÔ^Ë*5Ç™ñ"WÄ1 ÊÚ”(}-¤Ò)!$ TfzŽ•›¸èCLT©Œxf ¦ €`ÖIôOn£–"}ðo‡øË‹Áøiq+’Ÿ o¾ðöúÖGywåÈž…ÃËAݯTTW6¾ydîuŸ¼é=/>÷úUrR,u¿þ×/,ßᕚã&qº¼¬|cQZýhu5ËÌ ¢¸ëVÓ[uËνè›ÊOüþÚ°?ZëûšëyþK6Ø;6äA-ÿçCïø±¹¯¦V„¢@Ï„¹´²ò›öß©êvÓ›Ý\ÓI (¥µž;²W瀎ʫªª¥”¼™N¼ÔÜ`|›¾ª:a”t/„‘oú^°U¾ j ¥^-”ð•K:á°ßÕ+¡ªV™0â`¼¢ãy$Óš‡ZùíššŸêøŒ®³D§Ká² ] «W]åÖ‰ ZcízEÙipÒŠ(ìzà¨j 1 + £B¡«S­»+  Ü¡¢ŠÖ:\^Êæ ðÂÞ ”²•q ‚D8>| Ü.™¨é{w'ÄÚXÉŒ¹ðåÊl|´qÏÁäºï‡<_ŽH³}ƒ*ùG|ÕïžõÇ«£é[0|ü×׉ýGÕ'r='Ư~®çö;îVpUŠ\8Uå”TEA >{:·3;:Z ¼’Nãé-'ÃË‘:jlB¹6Lzºƒ´B0a"Íë%qFZy¢9þëÈæuâƒÖÀQ¸d4Cf-+ÁÈDscÐP¨­f »vÝÓ­¨ ¤„Ks-AYùa°ñd…Z³RŒÔAMp¬ÓLwJ­t·7ÓÃÅ5Tö+rtšž§á{á³òÝ V ª*˜š£<ð¡ § Ò…@ B’`³`k¿L—sôÃ<œ’9¢¾·>uÐ!(° èŠo!pÇÌl'èóϧ0qßËa€]΀u0¬dnBV€d«èãAxÐÁ§M-¼ã÷}”‡-·¹þì-øÒ¿ãI§ãƒWãñÛW><¹íÞýú GÜ]ªœrŽ“·O™ðÇ|ï¦ïëçô±WœýÔ­Ã7ïuµü„‘ÒD£ŒHÚ‚Q÷Ü‘ MÕS[Güºbe%³¡#¾ ÀÔFy};ë1­ã¾¾Nì?EO€>ʉñ«3î3×3݃ ¤ó$ìh$]D¥ÖüêŽ3·BkU t®u»¡m@wË:îè%£“e  ׊+âŽj”‚‘ é–•¿M#Ó«:ì„Âýa¸:«Ù*US] @ÛîÈãŸrzkq!\êÝ~Çʳͱ15<þñO u»µ<§Ói ¶*;‡ Î"U¯Påžî’ö¼`²L<èÇT5wÃy¡*©ªÖáutÔ —æUi¸Õž —3pOgŽò<$€éíŠ4tG‘ÐUV ëëÿ˜åóƒÝÞð2Î罌ۡàÔ1†2-’\æ@/Ê{EfÆR¥æhm¢ˆ•o<—„@½ÇA¹ŒjËU,/‰N'Ï2cR‚±`09,k9LäX âÔŒ¤ltTžq†:é¤RÙ]÷Ä·Ý–íÞEÝ®K$!]Yà0%eú…»@Š¿–`Š<À`§ÏgÖ·” "<른ô"<ýIÈ\~ ü·çnAîBÀ)CƒpÀë`A 3ØBäéáÈCqˆs¦ŒÈ-¹09$]B 8 ¤OuÏ=Ø\[°¬„(b!NÑÜDDHÂ2,$3À…Ã"“ƒ‘ýƒ$‹º2zÎûpäöé/ã/®F–ã=¯Ç«.€X/]~Ør{@}@&c¿¦†š“ã“ÞüOýû>òí=ÿô§OyÜDÕU6¨U;9 U…ëÚæŸ~téú –°¶Tò¶6$¯Óá\fÒ%cý«œqFùhú¶ñø¯¯û|®çÄ81~)Æ}æzZ««€UU*)TGŠ–3Zèõ´m!é‚J͉¡æÆIŒAg˺Áá¡^˜Æ:¯(G(·®áì¾pi^‹!Ø.$®"¨ÒI;NsÃîéÀ]ȰÓF» Ó»ýöÛƒj¹9ÙFOjPJiµΆ˻¡jHls¨¹cû0|«»©rmK¯*GÐ:ié9=“kN¡×ve5U¯UVbR¹+:‘:]U®4F!Æk ¤<Ö~M;ª'‡ËuF:Zµ ”„7¢'5+kºûm^ÜÕ\C’Áw[?Y86ù¤©³¸@K+)ƒ`\Ád¬q2ÃSžQÚ£84K“ÚH¹Zs\ר’Q%v–$à8¨V‹šá¸Üí!IÙd,™ÖX‚° k!Y8¹dsáøéäw|Ü ÛvßÞä{ß÷ì¥^$äJc…µ|î·ùI (\Ð…)‡'asd})GR/’_‚$$‘”@rÙå×}/z b“7áí¯Ækÿl-à0ÐDu†×O…ÐzEpQõ›‚\Ðø(Xƒ³¾ÃÁ…ïÒ9ì@@€{ 6€=ì ¬W“ì“­Áž Þ€m T´ø£~à„‚ºa‰,À¶ð˜< }ør»ðò>§þ%ïÀ%ï8¼6í®ÜP߯&¾¿8Cïóûõ1Œ /þø­_ü!€ßzÏ¿N ¿íÂrÙ59P†ÊÂ1kñäK>[œ¹ô³ôG.L¢ÅTô&üúØñ‘ß;ÿgÿÆÑô-ÝqÜ×׉ý½Þöãâ£0sEY–ÍÎ͹®»í”S„'ìå‰ñÉõìØqrƺ» ¿ Ÿ°¶½0u¸Z–› hè<Ñy²k×ŒŽ–µÇÓÃÃÁh£IT5P~ÞZŽZ‡fƒa¥ã@;LÊŠ¢.ÕÝu{¯T¥*Õà1€ Ö“°µ„f­¤ó^8ß 7tÜ0½iBo*+¢™­0]šÙƒ°· ×äôæ*TˆT©VôEƒ”_Wea‚Ú¨N5¢°:2H­ª…½ÖÓ¾Ñ PYy=$¬|©ˆš£#ÓšH„ÎuÆáR¨Íl¸¿‹¨¢E ÇAÕPyè˜å(cmžBÀLŽ,¸Â$Öz툺q.sÇs U’¥+ž²ÊgÇAP>±…”äÔ¨\LHŽ:Üg Dpž³GäJ¿ìÖêœgtÏ~{ç®îž¶——ßu…G"76¶ $ó61èÃI!R ÀB6<ˆ2r—z´e9«†—]öˆñÛOÇo?cPxl¤)vð¢OÞ 2Ù0§ .ú깃Ë0hïWÜâ®Ç®p 6ý¬Fq›A!„éßfQ´ýå¢Ç: ÛotlêV9‡ËaL:(?–ý’Ÿ~¼"ïCeI€X‚$˜@ pBùW¡ EÔJcÝÅÌÜ½Šªªª”¢æT­¹¥&Ð+>lW“.¶Ã宪‹é MÔ^>½©‰Ú¸*÷”·%L®´‚jE§A¸Bëæ†š™…9 F·½§ÿ0*P^()ÝÖË‘NzÊ/£|(oM(é´x )k/Ò«uðbPõ?8É îæ2¨¥ª>¶uk®µkiáØä#©l™ܰÂVd¶gÉŽ€dPjl'ĈzR8®´®„ã@HKÌd [†ça|LNm”µºp\Z]µ{÷ä‡R´F&eX’R¹Y†ý?Á=wÛ=tW»Žd×Jae®Ù–Ò@Ñœ5`rÝî{¹é3¨Z)›”ðáOÀ7`9 N5#:°¬E3¾uø›C( <ðˆ,lÊÖöyIr0ƒÜAÙ‹À¨Ã¹Q2@ƒ 3Qd(8[!Àýt ADì°`†”}JWk‘ÇH„8 f.r]$@.±„P$t$à‘”€$8l 7E2zÀìz­õ#VnFߌŸzöÚìž²ŠO:÷÷zá꽟»wÓôäf_Žù²ZIKÔ7dVò•tNžhˆjoªæU]Ç%Ǹ¥©†©ŽÊ³Î)¤±6»§¾áä,óŽ®oAc踯¯ûR•c÷Q¾úõ¯¼ïý›Úí‰,[ZPi `vÓæÛ/¹ø‹_úÒ£ÜG!">wbübs=òiÐ+Z›°:ÞÛ2 Ü’Ò]U­©áhéÜêµ.¤KT}tÇH]3‡Î̾{ûïmÖEss3(©0ìéî"•²’|Õ2R…´¦1pÃôè0Ü‘ÖÒ²BezÇ$tÔZÊÀ³ ²R]´W‚úPÐDP)^3 9 £Á«)t¦§ÇU¦@¿q¼]©9Ñ©÷ô´íéX*/×)éŸ,‡Z7Ç6ÌtæÄ:5+ƒññ À5º7 —q“cÝUÈÖ”šžª`«lòáÜ%!¤@†NÎp‘9$XHK–ØRV”·2Y²‘ !‰¬³1Y7e’l [C`ëùÔݱ1šš’““ÎÐ`¢Ûó;ïLîú1Ïͺ™–D;3?‘lìò²žTDŽ#),[¶F%‹h„éB 2$X%t%j–]&èçC0|˜çƒ Ëà´ÜµÖÀ©€ÑåjZ`b°FA62ÀRÀl³ØédGq†Y”,GB,ÀælŒ0,ˆ-r†eØ>`¥_©Ów!ò"ÑCR@8 6[äǸXa* c@’MÑb Èñ!6»L’¹K".‚(d¹=}kNÝÓ:ô˜¸½Òi9õ åáz:ñkóû÷n^+»CUÇ…hÔkBQÛ“F¼±ª¨—½Š(;J’ÌÌj¯;7ÇSCNÆÊ%õ 'OŸòƒÑ1ut}›>cóq__'ö¥»Çè£cÖn¾ùÉ?¸ã§Žû¾ŸóoßøÆ%_ìºî “yb<r=áÚåûšvHÇ òD‰rPkÀ§°Óí-@gA­¬“žòGЍãÌ¡ùâx³^ ¼*üLwóV7‚îêT)”0$«ŠTÞj¹î–Áee ü:l¤5)¨fc€r­.•TIß(2Ç:ZkØ7sPÁö{AÝ×qå@q¦5£ä).Ã[‚×S¾ ª¥žv=$]8:hŒ‚Ê‚R .Áó•§”¯Ã¥YÝé£ÃÍ:tÂa…í¥ÖâjP"ÔÅ€RÐ:쑪p@•c— ®pH€Ø…pXZ†%f—­a¶°L bK$„Ž%a‰ û’ý+:+&Ér )]”|Ụ<4jÔhȉq1>&'Æ“[oÕûö ÑmÚ"›9È„ïUJ%IÒsÈæ9sWZvú”©rÀ$&¤±*ç H‚00ý¤4]q`H<–˜@Hˆ_ë)„…óX0?‚(A>쀀°œÅEáâw9ƒÍ üA$ °¾ä˜Yg’|pƒÝ Ny9#Ïa3*ï \m‘¸èÏ[¸pB@ÀF0‰>¹=lŸ·­ V¹=8}€<ÍZ{€äÓŸuÁ_ýÄ¸ÊÆ”_“RzP£•²Ü ¼šOÖª´’ç:öM–Fß¾ó·ÿõubÿ©5ŽÑG™››«šýÙã®#£µµ¹V«ÝnŽŽÞßí»víºêª«n¾ùæ(ŠÎ8ãŒ+¯¼òùÏþ/c´c=ºÑh<ûÙÏ~ßûÞ766ö_ÿ먠_açãË_þò5×\óío»\.ÿöoÿöµ×^;>>þ s=H‡uÊP ¥äÐ_GZÛ°¹¥¡Ð”·MŸ9 5ßjµ–áCà àÁ§æôVh­_gkH{:ŠAReE @çÔjÍAMUÊÊ—ÊñU«†¯¨Ò:t0̹ªQïêÜ*GÀЬT%¨ 5ÚЧtÔZ! rRã(Ø+JG±ª»šÊŠ{žr" )…k=ÆÊšVëµ~¸ ¾˜›Ô#qP‚_jío)îªÆ(” ªJw¸  á+:MÂ4ŽQ>®ŸÛŒŒ•ÂJ*² `¶†Ò¡ÂZHbÁć„p]ò}é¹,% éÂqI¹b­S”¥ˆ,Cž±1 @ù äPC Â&·ÙŸ¸:…ICN­ÊCãU×aG‚ÀHHG¤©1v@_Zsß@v€–X‡Ì*:ÑTg‡wÁuj²ÃÚ_nGl>.~¥O†8_o- HØl `ÓAüÈ»D9Kß’"·&¨LžFÃô¥0–3tôäÀ“ Ò¹ƒ.Ì@²^NLëý¹p%dÁÃFÒ&·Nì–©$ tH P…×çvlr@AÅB༾íߎ«­•pÂzèr{ú¶q㮃Ÿjf¾ºëöÿÈœR¹VχNšÅRÚs<ÑÊåX òùH@oÜtrdÅ÷îÊÝ÷ÜS WïÃwÙ¼%l·µG¹w÷îÝÏ|æ3ßô¦7}èCªV«·ß~û5×\ó ñQŽË(<ƒ………Ë/¿üe/{Ùç>÷¹_È÷Úø×^{íW\ñô§?½×ë½õ­o½ð oºé¦™ë™9¸¢».Ìd @¸Ü ”™!­|x~ˆ¹T†‚æ†é“O SF®^;®%zí^¥jªª‚ÑF¸¼ŒŽ*G qÂöjh…V©fsCÔ'Á]až„½Õ`vX F§”OðnÇšYUë ´fF’€”ÎR­5t¤uª3 Û {±r9PZÐ()òA¢G¨¼ 4Rˆ&r [hŽ64†¬N³Ð.蜠ªÐÑÌÌšÖaPKá£5›£ÞtcSSa×®0\jiPŠ´&¹TååS©ei"ÒÌãX+™!`|×TޝÜÞšÓëd fKÄV.‘#dYq¥J¥2ù> ‡‹pÀH nIÑø¸Ü´ÑÙ´QŽOÈF•2ù¾mHªU’_†ŸÜz+ÜCYl†FpÒæ´Tqˆ ÁF]r=ªTH'œ¥³ý˜Á‚1 ý Å€ 8…QïCbó€ÊÀŒøkXœ‘ú'¬jȾeE­Ÿ¤0w‚ÈAj`¸oÎ1àåÙÿiòú=uÀ€{ç=PÂÐð†,+áTXJrsXMœÂXF¿e_%-Jsúì&HÁ)¸ð4³!’DlAÖ Ø¢œ×@ð€7v@+e?+D€(A¸t8ŽòÐåf3PQ5ÄH±8#{_fUƒY±¢*p6Â;°Ç(·¯o'ï:8÷֜ړ6567œÑr)˜¨ø¾êÄúÿ¹vêH)íQe±â4Ü“7»#Aõ]ÿ¸ë×·iŠâÇm(ˆÌ3¢þ¤Ë_ó¦=ÛNsŒ¾5§÷õubÿQ¾8FeïÌ̆ÕðggcãkkkÖ˜£Ôõ¼å-o¹òÊ+_ñŠWŸò”§|æ3Ÿé¿ûjý—ù—Ÿþô§ìܹó½ï}¯Rª0Àïÿû¯¹æšC‡mÛ¶íøÀ½÷ÞûŽw¼cffæôÓOÿÄ'>ñ¸Ç=®¸ìï|ç»ßýî(ŠvîÜùÿð¾ïÿl¼¤øØ§ Z7óƘ7¼á ×_}EÏ}îs?üá×jµâšk¯½öÚk¯=tè½÷k||üºë®;餓~Y|É%—|ãßȲì™Ï|æÇ?þññññßüÍß|å+_yÁ×ìß¿ÿ¬³Îºë®»ªÕê1OàW~|õ«_-þ©V«×\sÍðððƒÏõ£€ê ê>­†¯ ×ƒcáSsÃøô†SPñÃÖÜÌâœ&4G§‚ÍgèÎꮟ´Â‡´î íMO @'¬¡U¥ E‘Î[áZWw÷ÁUʨÔF‚Ñ@©É™={€ËJ€îÌ©RE¹õ (iæ>ͳŽ4³R^ ‡q'J9>ôj+*ä`BÃ÷õŸ¨†ºP-©Œu' ×Vá—5³R ããt' †ÊH‡€žó•ƒ33ùíÿyW¸„f3ÐÚ較ܓ+§¦”TuuÌòù‘M›¦"Íl–‘É„ÎPßpüš —x¹eÚQž¦¶XmVB:T*SµNµª5 ª×©\"¥PR¢^§FƒjU*)H™k—rkQ­Š¡agÇ*U¼ÉqûŸÿ!ÃÅ´1”ÔjÆóPš’¯ 5tb“„Ó>]ª@n‹ÒÝþ{#ÏyÎsþîïþî†nHÓôÍo~óe—]öÉO~òª«®ºôÒK_øÂžÜÕW_ýêW¿ºÑh¼ímo{8xôŒ¯}íkgŸ}öƒ¯ëiŽøñ•’Ê/Ð踣… ju¨ªò ¨²kï”òQ-cSª9¤;k­µ9PiǶ­8ý$te˜´wíúRU±A}²9eÃPêÎÂôtªª;³ ªŽ»ÈâÖAèL«jYGZóR³1¦Üºî «év¬c @ç ’Hg)å†Í CºTƒŽ4»°Ó ¡ªµ`ã&E>p Xp î꤫c­sJ¤‚Qx¤üºò\$ÜZ á y𢠹yZ¹ð„u5œô_¤´î÷dï¿$Ç&Ÿ‰q$)²Ô& éZ[k¸>$‡†¤p™“pE'²©e°€„_F¹Jå ÊÔj40<̵WÊäûÆu˜ˆ×:vyÅÆ±™_Hж›ôžðÄÒ)[K'mrƒ†Ø8És³¢9Ö‚9·Öæ¹ÕÚÆ±MSJRd)@¸G´í0Ñ9 ‰”ÁŽØA*†2ƒÊJ5”ŠS;nÎÉÅë-nÒ> lòY =ì==ý•¯|eûöíæççÏ<óÌ¢É:thÆ GA´,..¾æ5¯ ÃðóŸÿüý!]z½Þôôô€'?ùÉ—\rÉ‹^ô¢bžwß}w¹\>† < +‰n¿ýö?øƒ?øò—¿ü˜Ç<æÈãŸþè»ë÷vþT®ç Ÿ¾þ9;ÿüÿ¼îiÅR€*zbòªªp)TJPAUuàUà öýFZza”!Ò:^Ab[km½«ºhSêB:”ôÚ|_‰ª¶‘ò§têÔ‡—襤µÔ‚î£cH.gA”‚_ ‚’Ö­=_G¨ŠŽ—Ti´¹¡ l/@bQÄ<«%U-¡«Ã°×Ï«ªfÖi ª„v0:®ª%¤I¸Ø ;mi­ý F:Óª4ÙÊ'#©r”îÚÖÚåÖM>üÖ;z=îõH'”e”¥ÂZQ¯úµšg¹á,…ŽYkÎrÎ2˵ªÔQ.s¹B• 7êh4P«¢Tâ’bßÁƉi·óÖBò£»¢Ý÷t»][ägVžðëÕí)xD2ÑǬµÕÚ$iǦ×5½DZíÅExÍóÞµeø6ˆ=€6ÒÜcÀ¶^¼»ç & ï‹}úö>é{Q·"†à`IkÓŒ\€ûùŠR.r"Þ€)`$ž]{€éÑCp³>ÀÕ#7°N•E]8%AY #Öà‚F%kØ´ßÐÏ ›3"чrô[ÿåÈÍ€ ßÀ^ŽÃ…—Ae€P‡IÂ)Øi]60ËË À#VnoùäÇ o·~ëdí÷?O!šwg“•ÎÞº›‹Äˆ,—ÒHk©QÛë>ÆnÿoàŒ_ÿÂCÕ·§­¼à¸¯¯ûRjû+ÿõÿ|é3¿õ{; ™ÌšyÙ«®x€8ÊÁƒgd©´iË´5֕ΡC<®®ê8ž;pàsŸûì‹/¼°Ñ¸oDîÈÈÈâââäääÏžšŸŸßºukñÿÖ­[çç缫ø§\.ÿÔÇ<Ï×/Û²eËú?…ðãСC;vì¸Ï¸ÈQüƒâ²z½þ¬g=ëƒüàOýö·¿}å•W~ÿûßïv»G~çUW]uå•WîܹóÍo~ók_ûÚ⡎mªqóÍ7_tÑE7ÞxãO9(GÏõÀ¸¿¬|£RGsWk@kø¾fV|hD°¤£<¨6€áç° 2}@IQªüeM l–°‘ìSͳIòe-PСöp&ðè7ÜpÃe—]öÏÿüÏO|âïïšû®ë)Úlº„4 ã’Žj4‚úÐLCk5RRðá$ÈkH" ¡=Q¢¯xâùãŸùLkë„‹¸¥bÚºZ'I¸² ì,¡[i-¯¢hœÑ1 ¹òËÊ‚Ÿ€/š››“Š×„é®hÊà9JXx ¼qű¦jP×ÊUŠt·Vµ‹x¯*UàuuRQJµb¿S:Bó4½v@“«ÜžÖ<³oFQcÇŽ­áÒj¸¤Zå0ƒª¶U(§ÔŽY>óóÊõבD”[6©æ^Ïd)“Cž ×…çÂqÈ‘’|G’yäÖIAĆɦÆ&&‡M¤iš­ÅÚ¦™LŒï’瘔L·gïÙ¥W–zö¹£ã²^wT‰JJº®°–LN½-/ó¼X^r:‘àžUÇi£¸É]û‚¬Î!J‡+M Dÿ/’dÀ¦FŠr•¢,ÆCÑnXÔ‘1Ù€v=[~ïßþq °aHTsÿw—qN‡Nå éÌ_ë¨U6>òQNbx1ym"†©ïK# ‡ÈÖØKÀt.ÈC,€ ²lm¿Òš ÇÁ9„,šÃØA>Fp”Y€\–.±Ëy MVûÆQsÚ« ¡³š?båöpôí7žz/¤À7¿yC±'\vÄþ°eû¦¾íxññ__'öŸcéד¦é?øÁDsbllLH)¥ÔI’¦é¾={ÿã;ß1Ö0³+¥”ò(˜Ùg<ãJ©ç?ÿù•JåŽ;îøÛ¿ýÛ6»sçÎK.¹ä£ý(€W¿úÕë¨Ò?.»ì²ë¯¿À¥—^ú¢½¨8xæ™g¾ë]ïºâŠ+VWW/¹ä’Ãv+î¾ûî"·àå/ùK_úÒ÷¾÷½›7o¾ë®»Þþö·êSŸz˜f5Žc¥”Rjß¾}¯ý댑\uÕU\pÁG>òÏó~~øUªë¹îºë¾þõ¯Ÿzê©G¹ì>ëznÿÁ½‡`t,m(%@u­m+Ù4šš€:kU¸dRÕ„Žú C§=·…6²ºrãÖì¼P.ökvWC©8†]Ó©VÕ’ª–‚Ñ!–4Vôl¢ühM·½°³Œð+ªªšJ¨úhPeM¨¨ŠRh„xóÊUJ ¨!•úaÜÖ™.‡º«Í»JTe JZÛ0AP[jÅ¥Àkk¿¦ˆUÕ¾¢ÖÂ~A­ÔÒ¹7sàÍãêãÁh£ Ð…K­P¯)´ÂÇ&Ÿ÷¾ðe —|ê:­Mž3¬59LîrÎ+\ëypáºä»€$9³y/F/†É¥”²¤\U‚M,¥9„ά5™ÄŽpÉx,ˆ¥5pm–›¥E #¢““JaÊeOùU¶n¢ý^Ï_kûQä§™zò‚×^ÿ7¾ø½û'^]-Ÿ9&¿.Ýo lû•®Hû0ÿW%‹ì·¡!Y`Ö 2€ ƒ˜Û7±L°Ù€5§~ñ­;ØD%@9#qi+~Š ¯—øê®¿&E1·Ëº%gƒ_®éŽÌçÉÏXjÊÂ4ÜqQ³§Ÿö(ÜrúÆ(ð¶<¨Ö`s¸é`ñ%&KœCz Ád .¤„¨Ax¶—!RT–cbÿÝË@þêë¯I!±r;õ±¢¦è–ïv޾ö¸½ª”d‰5i®…î>|}{ÝÏÞõƒã¿¾Nì?šbíqš¦ÿøñŸ¼}{Ûí¨u:¦I’ )7oÙ’åù™™¾ÿýCCC÷÷%Û¶m»é¦›ŠdG¯×;óÌ3_ûÚ×§Þþö·¿êU¯*!/xÁ þú¯ÿú¡Z²§=íi}ìc£(zÁ ^põÕW?üá¿ä%/yÛÛÞ655uå•W®—]qÅO|â£(*b!õWõÎw¾óÜsÏݾ}ûÞð†‡oY¯¿þúË.»ìÿ𧦦®¸âŠn¸aý””rÛ¶m]tÑú‘c›ÀzJèÈ¥_½qùå—8íþâN§S­VL®gÇÔX˜¤ag ½žª”•ã+êj¯®¨hô¤Ž5|V¨©ŒÑ• 9ú•!®µÂ¥¶RóA­1³wŠÑD¹ßNG+ Ü™@qYUYº;«c­;+7ªÈ*¨‰ î«j]sO·—…, ã8tÙ(QæNØaD¹Ž»º+tbuõJ0RÜ!URáR.-(¸A ‚Ê¥<­¥F¬õŠ–€RAP€0²J­MoÝŽ¬†qØ ÃµT'kŠªÍɉ§NOÑ:Øz8òyã“ÏSŠ^þÙÿ]ô¿u|r]8Äy†”)I,çœk5Zdq&ÓÄ&yÎÖ8Bd¹c¬qdN‚:©qˆXJ®Eä„•ÖuI¦ynVC¶Žã– ¬éÆIÉõ=¿Ûõ;íRÔówl- ¿dr…å÷}éÚáºðÉ×íû‹1œ[ç!ü»M4ä­aìiA}‘>«˜Ypñ–O€ëAx°p+è[]0<2Y¿Ô¥(Í C+b<~‰.Ïç?¯ðÃW_{õظh?5·Kí˜W7M§§©Ô& A»A]8'õÓlÁ8cq‘D1ƒN6ȉ¤à0 ÎúíøŠªãæJì€JL ‡qy%!§NCù¾=«îgnD¹ýîyµázÏ{V úö±¾nÙôÏo}=Ú÷Ÿ‡Š™mµZwíÚ57?o™G'&VÛí{vß3µaC¢“Å¥Å;ïüá3Î:ëâW½êbÆ~¹p£çŸþ\pá…žˆ‘—Q`fêà׿pÃsvþùßýk­uØiëµn˜ôU•°ª ͱ (Ðõ:^VJÁ«ê¤£DU3ëpIç «jCgTô_ÕšA9>ü\)¡Q†R jr\£IégU§„DÀ·B¡«SÃ%݉áåʯéµ%ÍPÍP¼¥?É8Ök]xŽR~PVÓ¯‡s‘Ž;ªTkÖê:Õ3‡ÂÎrshH)o€—JÍ _è•, t·®î‡ ÖPŠÂ¥#é±&€Öb«5³7Ôfzl|ÇãNÕø¸ÈçOoü¤tØq\_Áslž‹4¡¤›ç9‘Ïž‚k¥M86Èaé±dKù^Çd©a‡¬¹ÍSk3cóÀ,™É0§d3é é ò œ•ÅT­ ÇqbíGó`˜Æ&íôÉîûþþä«Þ8k2S­¢ZÅs{y>q©«CøfU~üßï›Ug˜‡‘EÅl!B?P ¹85È|èNXtªë'T*~m!=¿+Ïö–þÀyú¶õ¹—Ò GÎm˶έ…»ˆ²GÂeQ†ãA”À>Ãt‰»ÌšlAÒ’lÀyßGAA-oý- "Èeò­ 7ÑKdTÕðì¾}#?5·_"¹ýÍ;W±úvù¶üW®¯GçþóŒwüçCÃÌ6›Íf³ÉÌ«««ß¿ýö¸Ý®7*¥rÜ‹÷ìÙ;?;ûûçŸÂ^}Xk¯¿þú{ï½wçÎ'¤q|Ç}æzZK«:[SÆSª®Fê*j‡e(uè®è\(Ǫ` L#$I¨c¥„*ÕTÂÚhµUE"1ðÝ FJUá®(Y‡K¨N"íÇa”!ã0ž÷ÂÄÙ_ ²ò R^®×¤ŽÖ#Ð ÝÍ‹—…™ƒw+•u%Bµ¡¬UVŠÃ• ^øe$huÖàåÁ†j“j­¥Zª’w•2PÕÀ7 J««4OBМ ×zHvÚªÚе’VÂÛqÆc‘qkqþöÿü^02y\äóÑç?Iö²¯~Ѱg]Ž((Gd8˘¥°9L–Ã1¥’ô„ v,2“ey.v(gËÆ¾0d­6œå‰ûä8DLœ3繕Ì2O8ÏNÝÜdÖ-§I¾ R˜dYhKn9°y#åÖe6å ß²øÞü ž¾ñ¿ÿ¤ñò¡Ò¯:_öò¯\Rk-Õ°ùÀÜÁ§ýìs{Ä$$JÊ%rŠ—25*1ÌàŽE`Aäx|Èš3åêu¾wÖ_ýSsr6oôŽœÛ¿ÄÓ7^<}J ±B¤¡4y\…õ¹ß]ЖmÆ¥,€©}³_tÁñ‚ØY3„S0Ó0˜L§J¹%¯G•¥}‡¶øÙ¹ýÉíÚkÇóW½eñ¿^ß>ø¼W#uþ—®¯Gçþs,˜Ù"b1<<|î9çXXX¸ó‡? ——óÿúøÇ7mÚtÂR}H)§§§o¸á†£0ÝÇ6î3×£é a{U¯ÆÁèhPk£Rªµ8¯c„‘;‹J‰&ßUL‹*JõÛYiü’ZkmE"ð]à®’uÍ„á¡=Hú/‚P*¨W«;RùF3‡4\[Õ•âý Æ‚:´fåw5<•º¡‰T=QµzPe¥Æ< N•çë.µç‘°vT§vfmqzl@¸ºØgÿÍó IDATLî†1t7 µdŸ^ GE5`kv\ÒBÐIG)·®†Åñ•ÏŸs¾"zÉW¾â°p-9ŽtË›Œ­5’@¾+|¡ ç‰![ *Œ“æ ×e¦ÙŠš3íÙ/~½pÔÏÎM'ä{îýÌío¦· Ž«È|”-|É–ØÆà°`•DÄvP¼[ð£0XÖK„ÃE>’G¹ƒˆüC lßìŽû›Û/Ü~ã îùÞÜRí¿Fßþûsv†Ú„_Øúz´í?Çè£9ÆÇÇÏ=çœsÏ9çþç¿XûôË’è9Ñùç7î»®GGÊj¼¦óJ¸´bIy¥`¸¦¡<¥T&@çY'tÆÍÔh »R‡KJUjP mi¦³5MUÅ]pC) ?hVƒ°cm^s]ÐZkmunÃCIØÎ•ê)SPÊÖu¶Ôs3‰¢Bȹ H#Á,AE;ì"ÏÐÉIVÐ(“Kûîià¨sû%•ÛÆÑpßÌÐÏ[ßþå/®“ê#a}=zöŸãࣜ'Æ#<×ÓïFè4VDpYùeŠHû®B'¨–´‡É²r¡£‘`Ä u­RBÁÍ5HG]x¬\'ì ¡7§ ÒºòuX‡òt}í­¿¡J $UÎ+ÕCZÔ¨i,5GÇà¹H¬ÎÖ@UÐ+ðT³^ÒëL#ap¿Ô«ª6¬ªuÝ™›ÙßÒ6nŽmêáÚ|Çfîj5GmLið R ”¡WàWu´¿¦¼DSi¢PU£JG+à’¦Šò ~ (âÖb¸öç!ŸýîYJÕÿø³ÿb ;j‹Æ,„ÌJ­‘°B²+„p¶Ö ËlÁD‚ ØæNÑü–­KlA Ø% I–$ؤœ &×ç‘ÉÜ4%c³±±;|ß;8—yžÉun­­Ô½ ›Ôhƒ<™ÿÕÞÔZL?öÆš½¸ã>{„n,Ñᵑš~5ŠРs0È&W-ШD;À¶Äý–ó§÷’Í Qi_{ö‹ß* ɻ߹õÖÌÝw%4·ÿwˆ=­@l%nÎ03w =ØH[ € ª fB€%,qf¹Ó…±¢¡à¤Dfß=ñÎí—Wn&ãÖbºç^ÿç¡oÿøç/UTÖé#h}=JöŸ>ʉñ«Ÿë9<2ÒÌÊ-©ŠTJ„PY‚_ƒ´ŠÊÊ'å: •[WJ ápaTUÕ+_ÕI'@¢­ÒZ‡)”h+M`@m¥Z[•2|ÒÚª57Ô•­è܆K©ÕéÈSÃ. B$¾Ð ½ÐæUc\ë¤Ïê˜DUP Q×™VV))jhi­õrÄ;N› ê%å©>SuÅ¨Ô Ó’î,!IÂÿŸ½7—,+êE±ö°bçÞ™¹ÏÉsNå©ê®®ê±ºûBµÈ “ ŸNOAžOå‰òÐ눟Ãmm†§ÈãÂ>ž^'ôª(×{ßu`AÞEÀnèênª»ªº†¬:ÓÎÌ™±§ï¬n¸ÝÕc5t 'þʽsï“¿ïwVÄŠ+VDá¥ìƒCH)¨’ϲõl:f“¤‰NÒÄ»7Pü•àç·¾í¹/{ÿÇœs¤ €F L­M£uÙ:ð½0 ½€œ!4Æ¨ÑÆ9ä9ŸàGÎ)õÈùªd ÕJÆÕ5¨ƒ&bo±ãwÚa)ØØrYæf•«ÄÉ…!ZÖëõü•]þÎU¯ . ;Ó*ôÅ¿ò“ï}ý;f;^}Ìýxäž½â½'0ÿP@âôÊé ‹^ýWó‚ª  ÕÆ|ÝÏ>9ÙI^l×ßöŒïÒM¶ßØÓ¿…êum–>Z+0LÃ@”§SR´>§p¥Ë3L 㯑=…ºsב½Ïøþ×)¹ ž·—mÜ}çòc8ÞÞ÷šŸ`²ÀÎsS¿.|û³í£lË¿×3wÒA­tGûK7Å¥K; ôá&Ê*Ëf%R;YÇìèT†S°=½ót¤ˆ¡S“„-Î3.›ÂÚó:ŒŠÝ:UåÎJ6\O‰(rdEÉ€­Òö3C'(}±©s pL$:•Ù:I{i.€"Œ@9\è/“Žä#&+Åh;4'P8©]6ZßwÅõbÁh¤ð%Û”ÚA&b7!•¨c2i«=·†\j‡¯0?¿ù]ÏJCüàŸ|Ôù%à<©j W6u0-5 kßóÉyN6Oêûäµ§êÕªpÎ8¨oŒçy0†üÀqä’ÚÝ`©ç/÷‚´cf3½ûîêÀíÕ‰«k5J>¼ÀWòà¦9UŠÂmMÊḮ+ïû~éUoþøõoÝêþø¯ïÙ§æOÈÝÔ侬ú»#¨ž®êORzòÈ=q«¼¦r­ÆÍâ­·ý¼Þæ±Ææýñëÿãž+wB3E´B6Õ RPH˜W—¯ UÔª©Ûûñö__ýj)Šs\¿.pû³í£lË¿×sZ Sœ ¬QY^³Mæû\F2žÁB…æ Dò¡”@€´i8ð@@¡ µSŒ³¼%(‘ —šµ)µà¢@Xpi]f 8ô¤HÛ],ÙÁÑ“ÙÆ4Ó,í¤B#ff“ˆU† rXÅÐ ÏÓåŠâÐíÇØ7µdcp ÌÄP‹@D•u„h‘[4ÿ¡lºÁ&fÛdn’Oe–Ò’Ò—£€T#ö ¬AᘠÃdòÕàç_ú |Ïý•ï5ÆsÆF]]+êZ]‰µç9ë^è“q„ä"Ock´¦¼V"ò#„¡‹ZÔ阅E³²â/.xí¶I/ŠŒï¡©´¿H‰u·sr “Bg¢k™VËw±W»f6C9Eä‡K;[IËѯÿùUé_ô ;^=6O]0jÇEõ?ày5ÀÕhÏÀÛ¥õu"_3hž\èÏóý“o}þ¼–èuœ|e±íÝMêDó.B¦7/rÒ@AZMu¸Ž&¡dø˜6ñ¡#çüÈk‰è+íäí‰OT£÷ÿ×é£oôÒWH-’ã|ѯ Øþlû(Ûrïõ¤Ë;e6–|œ#V…3lâ´WsР,ŠREU6†"M6LHÛ(|1›0BîF"k¹ôº"“Ê1[²›W.`º2¯;T:1€%Ì 2 ˆæÌC +" ¶ Ì"ëH8™·ÕB¡Ì¡ÊD,Ó4mqfyÆÍ,ÌÙXê/5.癑yUø ¬Ehúíi«'—*qÒ ÅHJžƒažˆµL”.Ç_5~þâG¿ÿ¥ð'Ö?ŽkÏÕ¥:­´öò!&³Z!•ä7 Æ÷¨Ý â6u:¶Vwˆ<SœP¯ç­¬x½ž'ƆÆóÈ”%òÊ¡›šë¯‹~ç=W¾àï:r¬,D“vØ[²Ë;Âî¢ÊÌ™™ MÐxpFB77ª²ÒïøÙ×¾ÿ-¯-w¼úÈô›S~òrøa[ü=ü»áL ³ ﺪº|Koé•Rñð¾ýU¯ï¤xDØ‚(üâÍ£À¶gå ‘ú—¢½Lî`ŒZ§É&ùð„¼µ»îò€Î£Àvñ¶¼bŠ­ú‘Ž·Wìyþ`Í;õë³?Û>ʶ\ø{=l¨ÚR;XÃ&FXÈÖ3P :G)ÅM¥2À, P¥N¸ã¸èÀÎv‚Ã"H1 ³q–ƒ­á€Ù1Ïíâ]¨`XŒmJÃc°> T¦”Qš"¯XrP"ð'õXD¬Mã˜IØK1R `°¾•œñö]Õ¥¨³ñy¬_šýÙöQ¶åÂw\ ó6â±:A‹* ä˜M-à8 ë'¤PX‚µ¼þ#ù f•y"(¤*Ø´Øn°‰ÒÄ3&‚µj€³(º€]#ÑlÈPaÒ¥KýltŠuŠÙ¼fÃuf €m[J‡Ú÷Xên„Ðp˜ ,À$Dâ.Ë%À0í¬r¥aš|õùyݵO…å7øp¥Ahš4ñÒÔT5ºK´°àÛÀ|êS’Oœe0k)´`¦86IBql|ÿt õ¢ÐiáÆÛ äÉ2¾pôëB²?Û>ʶ\袗ÇRÍ8ñ2RйS¡´@±¸œ‰²\S0§ðB*Zu›Q¦½TJ•îé±ÞÆ—i¨?¿¸ïÞvèƒdŒŠò|Z\ñÒŽ÷û8¶>Õ%ê ÁZØÐ$ %‰iµ(bjY BšÎ°>rGîn'›<×é¥Pè×s6Í) /¤R\>Æ0Óq^åE õ-{ì£ÅžÓÀUZO*W4DE£êgÏ>ýý??ñÇ7þß¿ê¿ð4Mo)‘ª²ëoÆK_o}œ 6¯1é¢wöØ¢+~Éÿ1ðuÖ¾±1Éì¶_:{l6o7¶xêÓ‚û·«¾xMv!ê×b¶}”m¹Àã(CëÒpí¶ÔŽ}Ã#¬³ö.K"h!lÂþ´kÌ7u™+…Œ„Ú’g Ë!Ë($¬9igãSp€á”f¬UvçL&kì3w»™ ¥ŽE4›†YÀ¥Ö¥Q‹ml²ñ%œHN(*±LqST3î,@p!÷ÄEÁ±Ÿb š³óa©KFÊq¶9C1êb5›ƒMÎÖ7Ó]»P*BBHý´Ï=d•µ#éâ.)6²|€‹B²!ÐNÙ<¾ü|sôMY–}~ñ”01Ó_ýå¨y>ÕÚ¥¨S͇šwÐi›vÛ,tÛ52u×wÜUžÔ“ ÞüȨ”tä˜{Þs-¯íEÏ Lë|ËL·0œè¹¨€³x T}¡#mLcPÔ€œ3ªÏú_n<üÜKß°wçÖ~Þ½¶Áë<g‰­©ñXaûç÷üãž^kíŽzÆc„í‚çí_ÿ¥h<|Ãs:óñöƒñ·eÕD–.Xý:ßí϶²-¾¤;BÐt‚pñž Ô@jR$y h €ÒÀ¤h£œ—‚&)!Ó–”§d(àÓ…ª pÙx<_R¤íTÄÉ(ư=ø…f›ÈŠ5Ùr¢ a?yq'73`°(ØA€¬ÜÂ$Ì0Fºw•Û–¡µD§N€5iâ© lndã6æý¥„ÃåtiXà¥Ø`k9ZdA#›3 g2ƒp;:pǬ† ¶{z}ÃxÜùù6÷äWäácŒõ\ÈŽAˇT—ÍfÞ ÖjjÈgJ:ÍRê—Î;Von”5þ¼ËÞÚñ}÷ÏýÆ/–“°žºÉTg¾©ë&÷J±‚gT•¬ñU£…"°¡ )¨©÷uÿÛMÆyð1îl°Õ†t<ÑÃGÍV®Ý¡Ç¶)¤9°]l¼}à#ùïÿè‹1œf³‹B¿Î_ûs±ø($zÁvú‹6Ž‚15*a¢l&G?‰VÊq”2s˜#´R JÊäJÀ~©À¥'…㡬 lZ@ëÀ]'P(s˜‰L˜Ûœp6ƾ=}YUP"¡ÈPdRä¤*A,ûÛVÚóŽ,*·Ã´×•Àò¼Æ¢&Ò®¡3žšÁÚÉl}‡è÷`ŽÚ¢Êˆá²¼àÅZ*äs\ t âÅ¡R”NÆë"Eê9XŸ9¾'•˜ö8¬³|x.ðCµ:¯!£Q‹½n—¢ÈÖ)+¯•»¿¹VÍÆÕ©5=T0T€’È|ñÎÓSìÛ_÷¹û€øÀþù‡Ý—ÞV‚ê¦ñLYMMš0Ò „ÏÚ&ò&~ß÷à ±6|õnýü^ýþ-8 lµ)]]HT:««º©ELÀÆUЪ©«Z ÷ˆ°ÕÚxRVS7ÇvâèµW]{ë9ÂÛ}°›¼¥ý•‹J¿ÎSûsÍve[.‰³b‚b Η §#ŠÑNöÆ\ € Ö1ˆöð‚PyoÃÍùa?”­ÁÆq)È¥ 5¥ñŒ£¨¿¼ÌA‡™Èl N˜(mw³|ȾƒÍQ42™BETÓÐJÁÐ(Ï8h•;Ž))çMc@g ͦ2[Ÿ LN·ÆIÃHÂJÆ[@˜H  ¥ È³¢@^KHi;†Ó$ÊÖ³yŽ›Hj¡¦‰ÏÔE^Ÿ ü-U¸ÐšNÇt:&n™ˆ) FCŸ"뵓Xlma8rEYùÈ?xçõ4ÅÞ+÷~{äîýzK7 nyIâYk<ª¨mÔ5"ãž¹ã–+<õi«ºévÂé´~غ=îvLšÍ 7jÝR(¹ÆÁSG¥ÑÆ÷ªºªŠ¢R%Ð<$6cÚ¨jùSsl—_õ…;ï¸ÀwïÁÇ‘·3b;7y»Øôë|µ?_}eãoÿöð›ßœýó?{­Vï[¾åê·¾5\Y¹Ï3õpxçM7­ýõ_ËÑ£~»>ûÙ—þÔO->ÿù?RrŽN¶ã7_Íaó€{=I*!‹ evÀHËyy¢,ÍTÜÅ(‹´ÝÀƒ fÙDPIš®Š-Ðfö­xåÜ.Ì3βéFV»tšåu6ZOa³¼ÀpË〥 ìÇ«À© Ž= ƒnˆ8lÖŠ3ŸŽµZ#›U.ಀ‰D5[;Ž"Ge3KR¨lL2h6.=V°‰û½ˆwö8pB¥Âþ2V`ÅPÊ-¬c°ÁÚž«ç?­He'&°Æ©NgZ”& ”CÓZ¢vì/ôÌÖV3™4¡Å'?¾ïÁgÙ3NºëûŸú´ÏïÚ¶Ûž:­*•BóJä —QÓ\}Í/ ¶0qøÛâB¸°$1dŒSm;R¯m¡ªÉø†Œh]×Î9u UÎ9jB¿‰Z´¼<86m´tdp_lÏ~þIÛü÷¿ºâ»þ—/>^¼=¶s·lpê¢Ò¯óÕþ|õ}”Ão}ëe¯yÍþg=«™Nï|ÝënyÉKžô¡Ýç™›_üâèŠ+žôáóîÝÕææÖG>r×Þðà>ʶ\Øòp†ÍÉ;€¦‹â„8#…CFŒN©:-l‚d jq5g2\[„ÂÁB¿жQ–¸ Å+¹ áç(±  ˜S2’g¨€pÛ¤ô%GJTçŬ³ñÖ¼.‚¨ã±A%L¡hyº:u@ІCÃ%$j³N²Ø<¾`vº®Y–‰€$íyœDi5LÈxȶ'ùP6gƒñm":_`qÒa"Xƒ¢€Ò“r@D¬Ï~|£žk50êÁU%¤P(ÙP9¢¸…8¡NJqÛ[^1Uå½ç÷.Dí—ϸŸúäþ×½î°s˜NÝdâòõhæêJ]Ó4¦ yˆ1¶0¤¨e|_ úÆ2Fk¯9µŽÚÁ7 ÁÓÆÓFUàBKé‚¿sÕ_]õû}?‰Í£Æö­/¼c›·‡ƒ-¥‹K¿Î_ûóÕöQžô÷?ÿà%ÉUo~óGïÿÌÖG>òÄ÷½ÏKáòò޽hÇ‹^4ÿJ›æà7ÿß©ó|ù;¾ãºßþm¯Ýþ ч±”“,¯¸sü!—1¸™4\šÁàļ8Aº“¹½3í8,ùL†ë)X#8Œ3ŒP‡ê°?52Ô¬\ÇÑSåRš´s'ž»4ñdÒœ üø><ƨk\1ƒ‚ ?0¡5êTfð ¼–²¥¸EÿñÍr¢½wº½é¦ýozÓ)¨¨0+ô¯þò*Ï~î€*ÎÁ9UU(ˆ`¼G€Má¡QuN‰ÈóiiÉïv=•Æs§6W8URœ¶M^€•ÞõׇW^,õu·üÐ]ûîw/}û·—'OÞùú×oû(í°y@¥!ò™;¢Ê>‡è´Óˆe8™Ÿms€d•™p©ÀI{ÏŽ.âù2ÿVÂätY¡€Q æ˜ÄÄR([’y%"€9¤‹+²a!u†Ðr¼ÌÅéæe¤ ÆGÏ÷ž9I±0Ca€XŠ\&á: —mÎ;nXØ„1•Â" ~oa°±%…Šl 0b^Ðl¼)¹È(“¼ÄhÈÜfF?¾1¸KRd¨lB³ÉT„8 ësŸ8!Cð}†!ù¾ Ùø>5p ™jSéÿóÛ{Ïf¢½wºýù›öÿø¿?xâdõßß¿ï™Ïü‚ñÈ´Z C†T•šMçàab㈂Àk-g<´ØXkÚ± êuÃ$ÑϨ×O¥4p À÷Ñ[ k÷O¸>ܱÃkE¤Àtâ†#77'NVÃÌ¡Á£ÃöÃ/=ü¾?ß àG^z×W‚·³Áö¸ó–]dúu>ÛŸÇÉGö³·¿êU_ó·{ÿ¯öÿÅ_zÓ›¾ðc?6;x0\YYùîïÞ{ÓMÁ€c¿ó;Oú»¿³—\àÊ_ÿõOî߯—ðpäA^¿ö·~+èõì~å+þ‡ÿ°ï]ïº÷òΛnzÈ×÷½óÁâ"€Ë^óš»Þð†3þºEʼnÕÚïÞ}ÝúOÛÞÆc;l8!eE5P͸ÍiÛ2³ˆÀ[ …ÂZ.AGt$å •ÖFœsWL2uDOÚL³¬²‹`©4G:b*3)g´Ø*S7Mú¨ —U„ñ†¬ К7Ëbs8¨X¤%g’&<Ï/c‚2ž¥K½4ñ³¼N–³"dl¦f!Ë?#EöZ¢·l":ÂQ’†’ö,zEŒ¢brNPŒÙv^Ƨ8^F1æîB–€ ÒåsŸ][䨂ˆÈ˜À7lMxPõ<(ÐÔ:üîï?í½Óí»~s?€'}ÝÍíØë&HS$ ˆ”Œ:‡ª¢²DYRÝàá`ÛȤ’Qg¬.ôŒµ&jÁóÔ‡·´l¼¶z‘¹;©­§SµVwì0×\^{}¸Ú÷£ƒº†ñP”Íæf³µéŠª9l?úc‡›Zï÷÷>d†ì¸ ت IDAT#åíé_ÿ…³Äöøò†|zQé×yleëþáó?üÃOüó?o]}õ¤é•o|ã•o|#T'·Ývä-o¹ùE/zÒ> 8vìŸ÷}ÙQ~¢Gô»òúÜ#àµZ÷¹Ôº~è×ïÙ}øòçï#Oü/ÿå®7¼áÎ×¾Öïv¯~ÛÛ–_øÂmŸã16袤-,V¤ @ÄeãÁénUÊœ´O/UŠ V¤Òþrÿt†"ÂÜq`»L€µ)N÷ädˆÙ¶9 :‚ý\& ([H ‡a<ïä)ù,d£€N$h1µZèLòD`“þòj¶~…J>î÷#©¦¢m„q9šœºÔ°mÉ0”z4XnQÚIú—ìËN–r†²’ „K0X0EóÞ°mî{ÒË1ïÏ~ð³´¥q1Æ |2žq0d”Œz>1ÁòcŸþ½ß{àÚ+ý]»ÌÒ2ZQ£¨ªJGª^S“å9¦³‡…Mf#WVu»…´tÛ^’kœTh µb³°¤ûc\Ú‹ÝYoŽ´·„+¯ð/Ýí¥]/ˆH:§ê,¥]j*c-=¶Wüø‘w¿k÷cËÛ®þcƒíñâ EqQé×yjåä{ß{û«_½ÿ¯ÿºóä'?Ä£Dñ¾}W¿ýí]X˜ß°««OùÄ'ì®]î§ß×;OyÊþ÷¿ªëó7_xÙË–OœØv;¾"Ãæ–ÁÑ“à˜}3„Âs:WîFLš·‡(Ö)Q–M™ æ~ÂEkYG€º ˜mƒ˜çuE§|Oã+‰=&’Ó'Xà0äÛRŽ¥r„ À¶Ò¥L‡[S)—N)f¦1ËQ—FmVe6RÜŽ –æC“Õþe«Ù ¬Oeýdgdmü ÝåÓéri»=_„I>æÙ±1'mÖI¶><7ø¡²6d¼0¤Æ3&´&j#ŠÈª*Ô5Þô«»«`À½!÷½oÿ7~~µïzKÎê™Ó™kj_–eP7h@›!¤‹F¦®©š›¸ãy ylÈ×.¨LQº'X雲n:mqÑç†H-«¦ª*¢:ná’Æfm±!ãÎÛ6ogÀ&›~—öçqðQ޼õ­GÞþö'}ðƒñµ×>Ð3Ÿ~îs/ù‰ŸXxÎs‚¥¥âøñÃo~s÷iO;í¼¿â·¾üå×¼ã|Ùe“[o½ëWõ ú§óÐËô¶ÛZ×\so$æË/¿äû?Àëwéð_¿Œ›_ò’Ëù—£+¯„êÅZ¶åQ›’þ¥—3rÑùÖ®Ì‚à ³ñLÆ»l$Ù„Y³ Aˆ{x#NÚ 0«jö 0Î "Ü1(¦™P ¨Œ5W Cƒ¤Íåd†ØÂ¤éb$S îrkœšå,ØBè1€¼‘2Ï6§Rªˆô÷ìá$ÀU Tƒîuúa?Û8šZ›îhÉdÞƒC8쀿*y98>¬”¡ŒØ7RŒA±Ì6ec˜å3Áa”.u¹kçë0f#ủqóSÿÒÞ¹ÀO˜é„šFÑ[ÄŽ>’Dƒž¡ÆA„¾B£kuÕ[ZvqìÊR¤Ì×6Ç£QQ;^H’TÕN§ôØF#”¥F-c2N ¡…Oä”Ô¨ñᨠ½n¡Ð÷mà5uS‡õ‰A5ÎËÅ´^êUŽŸ.ØN×› ÎÛ6o÷džáÅ¥_ç©ýy|”Ûög|âºëî½ó¼ñx~„ç^Ùû+¿rô7~ãÀ+^QFáêjé ögó¯öüÂ/~Ó›>ýüçÇÇ×\³÷Æç÷/{ÍkþåÉOnò|ž£zŸË{å^˜òH_¿Œ•ïüÎÏ}Ï÷Ìl]sÍ¿û£?Úö<Ûaó@ràÖÏ3Ç|:û]N»ÌÝt©ƒÒ‡·îlPúûRý~‡ÙÀZ6 Ú‚uÆéÖ݈¥¬ ´ébWBÓÏ`*¥CÙÈòa¶^J~€lmƒMB#¨9ðûËËéžiš´Ì.š´·ƒ—Rnùƒi•&ý,Ÿ±› N¬qÏJèéj_ò:å%áJÊIjÛ’”íÏ~êSœ„ “¶—ú—§Ð 3à …bf›.ïì_Ò0"!#³,¯÷ì½ZÖO €"C©FY6Î6gRâ\àçÉÏ{ý-ŸkŽuÖ÷–VÌe»±¸Ðx0Ï­tðÌ}çÚ/ÜñOú§ß;|ìæ0ˆ®¹âißõM?Û휡jÎ+_{ÃüÃÛ^ûÙ3Ž+® °* HQ­oM¿pç‰;o;ªU½ë’_³ÿꫯÚÝï'‰`ò ŠŠÔ#§0ž††ª’¶FsU+!?5ƃ¦QrJ¨k—eîÄ >|¨¬Õ Í{ËÕÓ…eÞyi } °móvl|×Å¥_ç«ý9ãþʳžñuûø'7O_ð¿½÷E?ò³ÛÓä¶œËòg¿û–|û‹ïsóƒÿí½/|ñýóëžÅ¶ÅL¤„ÜÓóâžd4ÇQûô7AáNg±Dm´#F3O@UŒv´ 8MÂÂZ6'm‡X겤˜ÉÆ–ä5)¡EY)¶{œt€)J?Ë3n 6 ”[h§i›ûÿÓÁÚÁÔö²|È'ãSÙ¦0ZÙxmŒ0ê/-H)(u°±5¸ûhÚIû;—™¹¿£{èÐ]LEyU&e¶µ&ùÀ\ó¥vIVúÔú+;Ù6T*"ç?ÁóÞ»u2úü´1^•ÒŽ3äꆚNI•~ðöÜgÃâ7ÿàÇžõÔ—\µ÷)†ÌÇþåO>ÇÇ^ù²÷<Ðyåkox ¹ögnÚÿÿþÝg²­ú–Ûî¸ù¶“wÞ½1Ûšx¨Z_ºwùÏ»ækŸpÕƒckªjª*KÔ5Õ *¦¸ûˆË‡ÍB—–W¼tÁ$ qd‚€œ!úCó³n}£>q¼ºûh™eUº(W_W\ºGw,ØN'jšúl°móvFlOmÞqQé×yjö¿úCþ›÷ÝkÛO;ôüäk¶káoË%2Ë Àôtòì<-D6X›’/:aŠE')AºÑé*CÁ&Êî\]äK­¼”-¡(€"+bèAŽzÐ Êb› Bšøƒãƒ~g!í. 0퇌0È64Û:‘ ³ek™Åž•Å4IÓÞ%ƒÇdTpQÅ¢cæ»' WÇN¦ ЧîbÓ‚¥tiåáçÖÛ6"'Q'¹®h:C>qÓ)êÆC64ò/.ËÙÇ>õ'W]þÔG=Hnþôx2±'OUi¯Éêò®å8Œm¥^9ʧ²þØÂOA¶0Îa\c8ÒÑX‡™ÛÚªEQÜ¢´kV–¼ÕA”`6se¡U©Rèdâ²a38YeÃj4­¦“b<ÔÝ«”.LÔgƒm›·3b“ì¢Ò¯óÔþlû(ÛráË`¶%y&Bi°]Fw¾"Ûá(À™ FGŒ" ÚdZ„0èbyér—!Ãtyó¶AA"’†€Mywšvº¤„äCã4éfE& Ù̲™¤§Q/ÛZƒ¬áö.X':ãÒ¤‹-QpÜ‘­MZÙÖ Ú说Òp¡Ëòaº£•e&ÝŲ1CL™ Á–¯ÛÛ_Þ!•ÊN¡5u "qÛê‡K¢*ù8+·PÀ`=‡æœ¤ýå®(¸TÈæ@q.ðÓT<8ZöÒ"H ?bkèò\g¥ƒš8öd3@/¾òepïÍG pógÂI9ÙyÉ¥W^±zù¥ ‹=«?šhn£<šbòàØâ–³Ib·L€ÌÚî`q¥èLtºEÍz£ä‚@Ón¸³¯~dÆÃf–×uéêeCUSeU• ˜b‚c‡u¸n:íÐæl°móvFl\_\úužÚŸme[.|I»Œ¥=)Y ![µÌ6p7U)”!˜qOnuÙê÷Ò¬ôP.qXKécÎ,@›Ù)O*e‡lBŒ6êœ9LÈñ픉­Ç•ªHÛ!ŸIS©söÍüòÐäðü79é Æ[l!ÈÆ1Žýl}ÀÑ’ŒD:¥Œ'iÂYfú AV5Üß|$VÙ'ä[Žž@`Ù‚ƒ.*•j€)B¶ ‰¶¡#,<ñA-ØÙLIÚiÎ~ÜÐÉÕUI†òÜ­m˜­-Ís ¥†Roñão{íg¥˜|ô“ÿùÿú¦Ÿþß÷Ñ ’­1]zYõô§ì½ü²v·ÍùÔÛÚÔÙ°œ ]%lšúÁ±­¬P;Á¬Ð¢ÐV‹Â€:mÚ¹SÓ(¢M1™PQÒt†²Âh¤ð]Y4¨jOëF=g yÆ‘¯F}8ãÕêt4i&%ZñYaÛæíŒØå—~§ögÛGÙ– _²•™•¹!…Ljä¹Ì&¨€°Åœc~ð/ŠÙŸ}òh7…i¥ìÝ“Ñ2AÞÊÖ ÖRî0e3h‹ypDæ½ÎÅMÙ`k˜(ÝÓGL `‹N6ÜŽ!Å`m‹# ©D“á.àB¸½ Å:,IØ0Ç@ľÉŒ æe—Txr‰(q±Š¼@² ŒÀ"/$‡à”’ö@ƒ²²fÍçU$—”»@1‡ÓläÁ묠sŸ;î Å´Ty³Ò[[f63Ó IåA&vVŸmü Ïøáü㣯ݼëïYÏì\su 0ÖŸû\q÷a-¤nLÙ ê$zlÎíôTUn2CQšN—\‚V ÝuÚØÐ 3Ê'MU»ÙLM§0ž5à ‘¯Æ95ÆX‚…ç™]—àl°móvFlO»êâÒ¯óÔþìßöQ¶å‚n/ t*sHL1"ÈhkÏòå""³1›O§L¼Â(‡Fªv6<iA§ûö[–„ƒn6t2EvŠpœô˜ÁÉ*îÑIp‹Au€”3)ÛXÝÁ!e›Õžk®€@‘‹ã²ªI¹‘¶eRî»jUªi¿¿3Ë·ÒdAÈÈÆ£­Áx3MXò1,úýË)‚Õ={—¥ª²Ñ8;q,m÷8ñ9nIEœR•€u æ¬ô01§R¶˜m°m# Ï~þíŽpqƒ–NÖÓJ‡™ÑÒoªÄµWÓü síþË_ðõ/[îíΧ[þøì¹ä‰_¾‘ñˆ¶-žøÄÖîÝQž»·Ïþõ_«;ÐdyðÏ#Òƒc›Ž¥Ê›;£¸í‹4y®l›0 cÐéÀ÷Ñj!I°‘`cÝŒÇuU5MIhJ¾zFç´6Jä;Ò2ª¥%ï‰Oä³Á¶ÍÛ±Ýð’.*ý:OíÏve[.7%áyÍhÉOúti1nȤ–Ù$ ÇÃiDÜë¤1gUbÌ6@>æ@a'"4¸£ q&]*9Ž™cAhÓö骈-Ìk5ZÁÖæ¡µ$[ÏÄjJ › Èaip¢àõc¢àŠ8ŒSOQÌıϼ)Ràä$Ã6ËÆ£¬-ÒÞ2€´ÝEý~_P2ÂCƒÐ)ÛJÈcë£sÒævçÐ-·°eÙx‚ÊO-¨…p†BHA©"ˆP%zŽðS–þÚ)Zß,„&0ê@küªÑJ©®hyÇgÖN~Í—£½þêçüÁû~~°v°u¯»ê™/ý¾ÿëA/îýpŸ9øgnÚÿíßù‘§?#̆î®;‹OfvðNšæžïƒ¯qÆ9J<8¶rJ³¬Y?Z´{­¤íAÃQѾzdàûH¨‘ñLQ”ÚTê))\ãÎÀœƒ§Æ÷) Wß–«;ƒ••³Â¶ÍÛ± Ç/*ý:Oí϶²-A>Êb ¥ŠNÒd'Ñ<4ÊX‘±ÈV&ëY6Ëd’ ò1FÇæ­¹Ø°†ÙÎ+¤í6–32Ö4Š¿ €}F8p¥Ch˜LºDiwÖ¢‹}ÌHz2^‡M8hx±Ÿ&­tq @ÆCPœ.vç«nsÚéŽB5“’²ñfg;ÛÈúK»¤Ã&(Æi»;8qÀ'Ü%Zg[YµÇÉóf¶±‰˜ÓvˆÊÏŽO{ ób}³Š¸àÐKÃ<”ådÞ¶cÞö]&@Hç?7ÎÕ% |4Æ@É÷`<(à9wß º®ÿÆ®ÿÆJ¶8ãç3J»ã×Ý~ÄÝ|`rðn7­[¾ ãÃ÷P7®ÌCcæ4™ÕÞZ퇾ï#/Š”-BvlÕ÷A¤MC`Kêàyä·©%”…æcäF+Pa´®5$ <Û Ú={lÛ¼pQé×yj¶}”m¹òQò!J…ÎŽ©NËRJ‘òÔ`¸Ñg Š¡XHƒ ºKó-R.Û¸ç¤>"Ÿ£6@ï ¥2ig’]e­öíÛy:GC +ª2f3M[m¬çÙúº¨²%nwúK ˆI&Šl°~ìK(í!–Ùéíçªà$bÛæ°æ0ÊJ òçÙéâJÚÁt²ÑII1Bhj"®XPrE(ªÊ!’" #„µ”*åt0ÎPÍw¸Ç§´˜à^ï\àÇ£–S5:¯#ÚÀøÆ1Á#À‡ª§0_)ÓTUá‘øý6wðn™Hà{8Ï8¯uz^àQøØ <•+g)ò)Œg|ç¾ã92P%רS„!V–½]—xíŽñÚÚrw¬¥|DM©päy†(¨*œ=¶mÞîíbÓ¯óÔþìØöQ¶åÂßèá~—f›kÙÆÚ&°eT‘DQJ]!‘Ißdã,«$5Ngl"Ž[RL,eã &Jw,`6ƒãC@îx(Tt ŠÓÜQ 0‡QÖ‹9‰H>ã$‚Ej"Ž6pz™”cÙ¬9ñ³ƒþr*¥ÏaÇD ˜øÐ‰ Öjpç ½d‡Œ¶²‘ô Ö†B%‡¡0`ߤQ®Œ×~Šéty^nR'ýÞ.„¥›/YP)¨ô\àG?1žA…~­PùdÔx0Ž©£ª¿ëöÁ±ýa{¼Ÿ¹iÿž+ÿmi™µq§PM=&ò}ã{Æ©S×Ã…Z{‰à HÉ‘«ˆ È5PmšªFP*yÚ4ꂺÐRÚ –—i×.ouÕ_X0Jt÷5õÍ7·~AO*1ŽÌlæ:ì=¶mÞîíbÓ¯óÔþlÇQ¶åbHF12q›8icsÂ$ýÎØÃMéï\èï\Ð_ôE†rÇ–H)'•Ì÷G3¡ 4;¹†#oÍ „À=™v<2šd놙ˆ*'½ÁúA¶¦¿qÐán$ù,;t2§mN­)!]d´»gƒã#m¬Ï«ȤN{qºg7¬éo ³ {ÚiK5•BÙ&ýÐÈæPò)‡Ì‹]n‡RÔ²¹Õo+BJØú€E±]lŒúaša3o¥½éò‚èEr|.ð"4dÔÆ'ÒÆWÏ)©êU÷˜ÉÌ•r•ÊØ0Ž"¼Ð'WתÏ©ODh6%Ÿ ©#2Æx¾#ãˆ`ŒZOmD3ãͦ¨jž ²ÆÄ!ºmêv½+feÙÛ±RüË¿È]QÎKlÛ¼ÝÛ`íÄE¥_ç©ýÙöQ¶å—Á`,²18‡VitrèÀá=W\‘10ÚŠev<«ÜZI5›—â"ŽSß0¦:Š¡¦Üç¸pè¸ÏM#F˜pXËäô‰A^ð÷á AX£ø%s·U_rð| ¶ ¬ÚBØ6@i'·—Pn Ú!.fÛÎ8‡Evèȼ.n 6+XJÛÝÁÂ50ÚÊÆ€Gh©äÂpóÚ”Ùñ{b¹6ÀÐÅ2ž"i!/2Ü•‰0Gl£sŸÀÖ®¢ÆyÆy…ªkÈ'ãùTÂ8ƒK.9pôècø™›ö¯^z{]MÙøä·]XI_}çÆóMY6#môá`óH’|2žAµ^¨ç‘ñàðâÀŒÆDD¦ªPWÚ4 €-Ro¡kR㛦vÕ݇)ñXaÛæí>ØÒîÒE¥_ç«ýÙöQ¶å£š&»T JåQ¥BŒ}æJ@HW²Æã@PzÐ<Ûä³ùq>ŽYlÀåI„–7I•&i»ƒ¢Uc)0_¤Ý¥CÇO¦½TÇddSæEƈ“HJ‘bÂPØ„áKФ¡áÞ¡;0 #Ã=—ÚÀžþåòÿ³wæqRgÿU÷L÷3wïÁî,,° —W0F%ÄÄ+—W¼ðHAŽð$A•Qd 2€ÌY‚IcöIˆdIR@KÊC²ÌLD–ÃL\hƒÀˆÀÍQU…eÜaõ@„Hs¶äÉЬÊB[0»YÎtXÑÌ€ÕùKÅgø@޽ìOÕ5`ç; "v"D†Æn˜Wæ ³ÈˆRÔ°$±pHš48ÀY°ë³“eøœ-4z  ŸŒYV‹Œ*p}ªLX¥‘=j{…>µ5p\x®ï8‚0û~IÆ+ôŠ ] JiIH¡µLÖw} © 6é?ÏåöÂ+F?þôƆ Z ­¾N®Z©e²߇”Eß÷‹EŸÙ/|׎ Ï®³e¾A‡F8*„#ˆÅ„•@e¥ŒÅd$,L³ H!dGÆomó …RójwùrΤKýêŒ=÷ mWß”neß¾jí«ö?_ZŒÒÒ‚=÷Äòå݈O¢QŒƒY³°Ë.êR«øœØí‹œÓìtžD˜">ç4;Ûšbäbˆ0 ir¡ØÉY±*äu»P ³ÇaNíI µÐK î`'ÙÁ"N†cÛi¢Ð9“8™:K„4CŸF1Æì%ó!BÜêÀôíhÌ0\I†Ž  S¤rŽååYv~b2@1#9 ð„eTÀe{áÊT¶@†°*kÐùé;Ó fÎáHK$mn+¬ª +š H§`xÁXQ²bIæ¸-½ ³„F¼º7èJ-/¥/Š%Rˆòw¹ y¿$übIMÄ-Í á¥çùÚ˜ý¿õúh›yŽðŠÑ¾ö§¿6:²ç7¢#G„jªŒ¡CõýE¡dÖ™Ž[,Jù\)Ÿ—…‚Ÿ/Èl¹ìûf„…®Cú²XÌ~6 ]‡_‚ëÈIÓ€€_pJét1µÚùp~vÑÂ\.çÇ-½ñ“íî›Ò-›E²ê«Õ¾úhÿó¥½{|Å8ç\zi ʱK:ÛoÇ)§à½÷Ô¥Vñ9a'“¬¨°Í ·æà,$¢¡¤`—¬¨÷4 IDAT„8Û˜™&N;¬ë„¢–á0ÀR2;&sdÂa6Íd}-r–$x°„„ai™ŽjåQ 1Ë4pí|ˆ³­Œeø–°ÀÉ~ƒÙ)ZF†³ H˜B&˜QàD»%Φ(¶b 8:»ÒN·Ù­$Áå;ÄVP§H€¢àÕk`/Íì³ÙNdy uIΤíl¡±u¾ešˆËŒ"Jœíú¬Xá;Žæy@Ó„„&ô|^Ëå}è:4„ a…oj%_òCƒòÙg:§õèö¢[¾ÄX÷ˆ' 5}ÞëîÊ•ùE#CC†„júѨnµ€.B‚~ àÒõŠnºÔÚâ·¶ˆLVÿ¾•Š‚ ðK’ó2“–Í«dP—zÀ7 ?–FPvd¼T³“Zk^™ÏfØ(8_oJ7kìW«}õÑþçËG™?Ï=‡>ØXŒR&‘ÀÅcæÌÎÕR Ó§cöld³8òHÜsb1xöY\|1.Dÿþ˜>?ûYy çŸG€qã0kÊ_ÄYï!®U!pË-¸å45Á÷áy˜:<€bӧ㢋6æÀºt›qÉLœˆ—_†çá;ßÁïššn uL˜€GE,Ö™±L·¨ØÜ…Ô²K€ˆŒ¼Ý’¶Ò¨X¨qe Ž„p:‡°NÑv<Ûeò|.i0Áž@¼U;È’ –’à0ûp2œ±íV¦’ý’D° ̹"4XÕÌmV¼ÊªŒvz’Ûîꆊ:D+“10 V¢ŽÓ¶ÝîsK›Ýžµ‚¾íiV&mUõoL-e.H%kC14·³`+BɨÅT‰@Q‚Ãv–Ùc+š  às‹ iìH¸Â#™;§¡Ú²L¤2%uvjejùjĽAŸæf `@B}Y*Áe™Ï—Úÿ|91Ê”)¸úêΈaã¤Ó˜5 {tÎë®Ã;ïàÝw‘Hà‚ 0u*î¸N=wÝ…ÃGs3®¾ºó>}:V®Ä¢E§†3pÓM›(î­·ðî»è×®¼~ˆ÷ÞC4Š«®Ú„ëÒmÆ#ŽÀí·ã‘Gຸâ LžŒì¦Ð3°f –.…”8ýôµûìö›K¢’<ˆ’Õ`GÚ™‚Õ?ŠþQCÈæY×!³ ¬#žh%!;Ëì0!M” 1 ÕÑBq¢Hˆ !L G#ÇF¼–y™«U²Ì‘UE8]`¿Õªª¤h‚ˆ³“¡Š„{Y (d²Sȶ3$™-ÙY‡;‹TæCŠYÉú:h!˜¦F1Ënläl¡¡ÿ°T©•`"JdšÈÂæ49Ä\• éPÔJ’Åœ¶‹>¢I«=Ê0EаÛ+^ÉRR]ͨ XðÞÂÞ ÏÝgOælæÜþÀ\*%|¿TD©h@h(JÏñµ o´`P˜AÀׄ.=¿˜/ _@©¨ëº¾ËîK(ä•à9~É-²Æ9ß/y¾&d@ Š’!5!u¿„ ïK-k%-›—"àêZ)6ÈŒJ?谙ϛi3›5]nûñYpò, —ýõé­ñ-DA ¡ßñ…[„ÆÞÖûöÄU3íBÙö3ïz ·éö»ŸÁÐVžÓí¡ÛmÇŸ² ±ð•j_}µÿéöm’±ûyåõ7ÛV¯(¯¿øô#'üô¢mu½xáLŸŽ7ß„=¾·Òõ< €º:¼ñ ¡Ï=‡‘# ¹£G#•€Aƒð‹_àè£Q_¿6〘;ÇÀÂ…8è ¬X±‰q”¦&ôïßi8/½„#>ãXO¬K·×%ŸGCV¯î¦ÐúzÌ‹aÃ:}9²Ó·nP±.Þwó!‡[ÏøâÓ1î¬þr*ÉÈ;ì ð*hñÎ~´8IÍζ“E^ç4W¸œ“0aØp™Å9 vÓä‚%c°Œ"ÂÎ2 À0áj@†IAhE—'".0 d‰ÂìçÁ£ÀÛ¶`EC° ÜñéDT™ Jb³ÂŠ’eÒ*¸©ö{e“UIVu-gÓ“r9‚!’LuupŠYx²ü`"‚Ȃӳ¢³\ì`dÄZoÓç›ç], …]7ƒA~Ñ“.$຦¥ô h^ Owß)¥¯4Í"áb@w}M8n±èå„𠤦I­äC:Òu=~PúÒ•EÇ ˆDu và»F@†‚LÃÌåÌL:”Í›w]tцú|ï²k{ƒo½äŠ ëÏ÷fÞ×|{øü‹7¬?Gßò?½Á·û8Aµ¯>Ôÿ >î/sžýKWßÞÜÔxöyS¶ï8ÊEáŽ;>…ôô<Š”X²gž‰÷ÞëŒQšš0jT7¡ÌcaæL\y% Üz+Ž8¢3†:´3ÁСhnÞ´o]±€U«Öfï¢'Ö¥ÛŒo¼©SñÞ{ÈåÖϸn¡©† YësÝ bsïõNFA {6(ÁN¤CZ‚‹Q8ià8XDŽÙ]FÑì8È2@±`–€Ëh«d§^QÎ1\°ápȱ-%„FB°_ V••J­$h Ÿ Y±8‚B©öå ËÔ,£ñ%Úa’•¨nL·ÐÀÈÉrÃYv!ŒmÃÛ$¢TH’™¬ˆ[Õý8—±ÎÚV@CE‚rFÄ2ˆÍ ÀŽ™`›µ6*,!8'ÇdáZ1 Z~…ìmúüõò ¹öV= ’A0~±¨iŽpr²Pô…)‹×¾# % ”HóF@êÒ÷=fa’,ùš `j¢Xòý¢çû^Ð/æ)} € ¸ìµ5kº¦€ôÂZ"E ºþð•×A«ßPŸ¿^;é˜Ëoùr}»ÿ¼)ðº©?ÿå¤Lû²}»è¶ÃÖŸ¿N>ã˜Ûîû’Ïé%¿TûêKýϯçý÷1vl7ÃÝŽ¦ì´|{ïCA,†º:Ì›‡ÖO¹÷ÞxòIH‰gŸÅ™gbÕ*¨­ÅÒ¥cK–t>ÿ @>pZ[{ô³®K–¬?Ò“›Ìx ¸ùf|ï{ˆÇ‘É ÑËßÉäZŸ—.ÝÄ*6«ª²üX ›!Ë4°ãØ-«¸­9Õ’@N†aÜrªdý2 ¤9M¶`¸MH5~§@Q‹“„°y%»â••” 8€‘'ƒØì€'YewpNÂe»-Z™eéZÕ•iǪ)ÚÊ™´e–™²Ól%È2 ‡³ÌŽcD„j£ì´Ù9Q‡á³ÔH2²ˆ†PT9¦§ˆ(ØÍÚ.R+W‘ô)¦PN‘E˜íÕåî ¥…HECÉ(ÁŒ`/D†ì…ú<>ñ|ŠŽºéÖ’4ü ÐZB‘-IÏ“R×ü"J^R(¤Z2àÃ+y^±¨;2 ŠÒ—¥ fj%áû\’^ÑÑ!M!…,JY,úº”zÑ‘E/ Ý`±äùÁ°ëŸ¸å.‚„YÕ“>Ïüúj»eÕi¿ºë‹÷íªƒŽ·ª+9Õcý™3ñ†sÔÿóÅûöÈw| ¶§úsÇQ1óÔ¹ó¾xß~ÿ“³í4órÕ¾úXÿ3ò‹Qº½Ï²êëqÀøãqöÙ˜0ãÇcÖ, Œùóqíµxøa8é$̘aà %ŠÅÎŒãÆaâDÜw\x!N<±Ó>z4~õ+L™‚övLœØc¹§†óÏÇìÙ•üú×zt`“ K—nìIá“NÂäɘ=R~Æ·nP±™Ø­ŸNúïàpœ¤àB@rP­eup1jìåЧŸJda’¬`O²ã‚¨®Á8Ó^¶7Ôî³ó‘1Šä%Œ*«Ò@GŠí Ø-ÍV¼Zœb ©QTP`#Æð ÕÕ7È…ˆ"1›tvòìj€"¹.Å+­j‹²Œl߆ç#¨ˆd-È`‡i§Éa0³ pu»P²â5$Ì( ’HÀ/ ¬…¹µ•׊Çì® Ð{Ÿ>O\5ƒdé‡×ÿ: µ /=ödÉ“¾_*AfP35.É¢S>$ E)P„ïBƒRŠ¢·(JBÓKF@ H]/i(ꞣË@Q$<)…ô4ÈÐÿþê¦Î¹Ö6CŸç®šÈÇþæO_ŒoÏ^t» ôßœúóȯ¯ƒëžrù_Œoºù—ØÞ¬úóÜ^ç°0õ»/H·k®¡QdÕ¾úbÿóå<3»¥œu¦MÃÙgã’Kpã8ø`¬\‰‘#1}zg‚£ŽÂ1Ç`ñbŒ¹öYÔk¯ÅyçuŽI<®¹¦Ó~Ï=8óLÌœ‰0u*þò—î ½â \|1F†”˜1£ÓØ“›Ì8{6&OƱÇbÀL™‚Gé¾Ð™3qöÙ<±¦LÁ3Ïlì› IA¦IAÁÁqP(AaËniãb”à²Ì²#á1ÊÉÎÚpVBV™”¯âb†YhqöØnedši +J,L dí6‚’%¬hœ„ßaç${ GR4”ì_mw´u>ÈæfRÙ"R)˜~²¢?§VÙ[5V4€y 2Žog2É4ËDg/æ0;yË$Xø [ €³-¸èÂɱ†_  OÁ…´Á‡»é¿v6M±*˜¡·ë3ûŒ“N½ýaW×5Ý׃%S÷¥«I]GPºYteÁ+¡ä¥æ!àiNÀƒîi¢$K𔀔Aßúš¡ ­XÒ}©AzE(€!KðÅó³¶XŸÇ&œvä¯þ°½}{râôTv‹ëÏc—N9òÒ›·»n·ÞKmiýùí‘ûŒÿãÿmwßfÞ”jWí«÷?_Â3³ ÅÿÌ,g:(ª@Nr& VÔbWr& €Ì*ΦÙÉiT•ä,ñIXˆ š€òŒ ;ÎI«ÊbNw6Ý|2GÁEÉÌDý(墤€@Ñ@ÀµâÉÆEï hÒª²`H¸Âv|xTaÙ^‰ %:§S÷Ànì4Äc0|¸£H°›/‡_ì¸åVm…%;/È/0ÀB’ÿ—Êã±fœ"g:Ø+YFÀª®´Ùë+úyÙm¾%QÒ$„ ê¦^’%YÒ 4­TÔK¾VÔJéê¾&´|)}H¡kº.P’ ¤ô¥æûR8Rò㿼aëõ9á®ÙÛ÷g¦_¸õõç„K¯ß.¾]>cëëÏ ·ÿ~»œÓI¨öµô?#O{ì‹~fV¡ø¢ŸG Åíl†ÛKdhd˜&\‡³8ì1‚!BÁ"A8ÍY¦ ‘‘„ar6mÈ+™H6Ôs9ÌG%œv¸‚9MvÖ@F‚¤fû«ˆˆ„É`+"á!G0Àœæ¢ä¶UÉdç†ö$$n/$£!Òˆ3¶½¦ÅÁ¥€Ëñ:†oa#g™Q2 °nç,Cæ!¢–dÎJ»¥³D 2C³¨ºÂ’;yØ)ZýjàØ)0`E#$`»y»q©5d—¾¢ÏóW^xðŒÛ}ß² $5hEY*É¢[Ò‡ƒ€n†¾&PÒ4©É’ïûÐ!t!ü€€_ò…ïK¡I]ø×þ8‹<²ÆÖëóè„qÇþöÏÛз§/?„¹MêÏ£×M;vêÛзoº„l[_þ0aÜ)ÛT·¯8[µ¯§ÿé÷zŠ­!•[…°Æ‘¼¬í(h’A$5;ëZÑgKÈÛ¶ó05;[Ú¬X5‰ˆM€^’Iµ/!Ò8¶m¦Q4F¡˜UG¶Ý2ì¦SYDØA› âU®mä©Y”çL‡²œrˆ»2‚0$.{•ˆš Ømd ðt 0‚ì†yuŠj£¶+a¤É48§ÁoçŒ C@d±b)à°°)ìe)ª£¤°›–4¶Ùp4«*NÕÉÔš”U•€d3ì² ®oÕÖõ-}›úsd ÇÏší\À×}@øRÊ"|·T æ]iÅ€¾îKM–‚!á 5èRêE)áûšÿÂ6~°-õ™ýã#ìlþâÇ^Øzßžšt:/÷¶aýylæ/`ˆã§\¿ |›q!·oËúó·ŸOà"ç}[ïÛí?9:µLµ¯§ÿQ1Šâ+0Ž"d’‚´9ж5ìXæa·Úœ.4ÔTˆ‰­j«adÂV“Ìl·¤$ãÄJp–@D–¥3gW53§’DZŠÂÒ¢M ˜ƒ[Á®—Ê´X±UÅ)"9$Š…’IâÛY‡í.f)'"@‘Nµæ’±JЍª†‚Aöœý\cºͪÀæ"š­! 0 ;®eVÀl3™£Ïéóêu—³ç4óº€^Òt_3ƒ>4é‹Å¢ô]8(êºoêAÝÍ(Bø!]FLMŽ3.@QÚþvÑçvó$Ë'?ðÐçóíÁóWc7°=êÏS¿ºÌÎæO¾æ–ÏçÛ_î¾Ìvkd{ÔŸ?Oà˜{þœº=E†¨öµ#õ?ƒUŒ¢ØñÇQ733#O&YQÀmY.d(‚ãpÑ·3.àrڱ͂…Ш†þ°çÙ´Ä.0DžÓ¾É°ôj*(T0QtÝëaú!ÛIrœ ¤œ6¬iÀÒ{V,Ó´3m¼Æ±[ÒŠ$ûÕR„¬d²­¯¥€K.4³Ó ÜAÀ °ÛΆ£’* ¢ZÒv›ËHS¥AÃu`w8”°ß‚Æ®ÀÜagZØ+QÖ!#H"ƒ¸%mç\+œ·âC8ã ã ã’›Cð öj^Óì£ú̹~ÚÑ—_gšZ )ê~Ñ•¾ôdQϦ‘+¥„!\(A”ºˆ%‚‘˜ˆÅ•ßù1­ÞîúÌ™qéÑ7\»¥¾MyHãÂí^Ÿ~éé7n±o·Ž¿-ØÞõçñ³Î<ýþ{·Ô·ÓíÛØ¨Úרÿ¨qÅŽOrÐHBž Øeí¶[âÕyÂò=æ,˜Ar©5«Ø–¶ªâVm°—‡ëX²Ònjƒi¦V/N5å­x$9¤ˆlÀÎ,µëp˜µ¨eÒvK;€†þ1ŠV¥>IA$`K‹RM€m8] zJ­Xcw´ ,@$òh™%ˆ AF‡• 9ª²ÆŠº B¢††Áì;Õ² ‘¡[ñÌ p(Î~ÑËC„ª@y°ÌÛ†™b›X:ùŒ0 *°Iz±¾«Ï­çþ|TeÍiÌ*i¢èÈØÂÁ’Ý¡ûEPX†cÒ0ƒÒb•ú­ã®d?èð/FŸ¿þb2€³½s|»áà‰v&m·Ä¿˜úó÷Û~™jY5õßoŽo—œp1áFv¾˜ú3qô+¹sù¿6Ç·‰{œD˜û«öµCö?*FQìøÌû¢U]¬@•»i¸’"A+ZË™+·Ývr,%df‰œÅŠÌ9»%Gn5;NXó’ñĨ½vå “µb­Vu]y®s«.ÙØ¸˜H«c•ÝâX¤Ûm„l³Ý²XMÑ8Ì’UUIZ˜>`ÙF[CC»åO>SÀ…aXÑZ#ÌEƒm­¢¸ÉR²S\°èc2#dg›mY BÔ0jÏ]¸­`³mwd€ »Ùr—‘zãßìu°ªkÈÐàIŠdDFõÁ\‹3Ívk³- f{·ôu}®:ô2芗þàÉ ¡•¬¨nYšWD¢ZTTÌ vÞ·.d7›J úL=–5ïÎù¯õäÛq³@ã²/¡þüîÜi6ÛW÷>"™zíœÛ˾ý$yœíd| õ†úsë—Û™›ÿ~[Ù·Ýs{ó'7S½¢þ\2ú›µ‡Vg ,ó Y±$U™vKÅâp}¸9hýÎ ã’Õa»=Ϲ”J;¶Pþ®nŒ&gÓv¡ü¹'ƒ„ÈNÛdˆ˜;Ê?R«–Pú(}”>JŸ^¨O·ã(ÝÅ(«PWAE¯ŽQj^ë)Fy÷/?¦P‚s)Ò"dØ)àLGêÃ%Œ pÖÎÀÌÒªNt>«ešVeÌ*;“N­\I&«’ˆ¸k–)n#À–°ÂU,¥•Œq[Ž*#pVõ pcªµÝŠRc»ÝL¦²^²"Î(@Dáú©¶v‚H64€]è ¶Ûf·¶[{År.ú€é—{B¸óg—crÉ¢š4»Ì ä-Ó´ê’œÛ饤ÕA¦ C°+)Jdè Û+XÑÁRùô7\Üf[é£ôQú(}z¡>c¦=µY÷z¤º*ú.™,\p«Í¦ Wr‹Ín=иô¿$4ªª"äa+Oö AæXJ¸.´¥–ø¸"" “ à:̰Ùç¢o£·ivGžÜr“nµ›ÚXó8^ vC„{‚³%¢ûiËÀˆq‡Í®d™ƒ)¬`QßÒ¢ ’09›F„p¦€UeAD Å „@,ÄC"Èw8Ì«`D’QJÞ“ Ìnˆ Àpáúl—)›ãÙœ-@„a€ (šFP(}”>J¥O/ÔgLw=z·ïõt¥þñ{Ò´u-Î•T×DE¯ÂN­¶b%x𥙑v.„Pˆ¤¨L®&OØ— ºŠ•»2ûsG“I³tI0 p=Axí¶MH¹LÉZ¸.¢lù)6ö³ð$8Ë€iAk$ÀÌp4[4³k’Y`™³â6ühqB«Õá:d{»ì²m”¾uà8`ƒÈ…`¯tÙka–DÂê7œb¶·)²`€‡¡Ù.s¦" C.!nÂu,îàæ\Ì»‘r»Vú(}”>JŸÞ©67F‘ÝÄ(£þïÏCÊÊ_ìJ‰ZuQTô*’uC8Û‘ZÕ–Ê/a/7“LÖ$ë,Xº8Y]A±J" M°ßFA´¨ P,DÑ<ÉÒë°[€™mÙ4\‡Ó­œ+R@ò\ôã$„«FùãCŽ„‘¬ QX’V—jmf'C¦ÃwdÀYª©ÌòÝbFìLù<Â6 P4a‘H¬#k8 Ëç4*Ø»ÎæáJY}xUF9Ûag³ ;çAæ!Âj'+DDå/a[†Æp}¥ÒGé£ôéúlnŒ²™÷zä6º+4gÚ¾]?ok(eŠEoð1¿Awχî9×v ´½`¢ôQú(}”>}BŸÍGé>™ÜFÏ®lr?R=$£Ø4Ï>v¿A¡P(v6ýÙ"g³«Õîû­Aý¬kÏ6-¢Š:õHŠb›³ÏPkÜ7ìZs<ÿ­Åíw¼Ôhç¼MæÚðM…B¡Pôi´ Mò³èf$ѰÇwùîi'Ÿ¶î_$9ÜLÔÊ­f÷4bã¸1ýy³éè_¿}êïÞÍ9ÅGذJ(}‹·_{žÂÑÞ³ Pì ã(eþ•ö¿½Îêkó?ŽÖ Ûd®—/ÛÿŽ—¿Ï€ê¸qе¯41þ †Ãvï§kâ×V<úVÓº‰€vÁw‡\ã?ò IDAT~gçjs>j¹ýù%nÑ/o:qßãÆ úœZ~ýìb¯ä—wþk__·¬òê˜*&ÜP_j͸¼¶üoÿjV§¹oqñ?,/ÜÒ/5>uÑ¥‰¢¯ó­ÃŽéU EŸQºûúÐê½øò„C¾SP.ž÷ ¼9‰ìÜ?6þÞ÷ì¼àôo Ò/|Ö½ÿ*¸¥Ó¾5hmv)œyà ê¨qÊÿÀ´#GüôÀAw½¸´¼}ô øw¿ à’#FüôÀ¿{©±{W¥0íÈá·<³xÞ¢¶Šh𴱃þö^Jæ¾Ë^ Ö‡+2ê$E_‡óÙ^µ Pô ´ÍITä\&ÝöË5C­ž®¸íµßB«Œ°½Y×þß¾°¤ 8l÷šÛþ¾xM‡“åâoŸ_²^ʃwí÷›ç—Ø9¯=çÍznÉÁ»öëÚT¶Û9ï7ÏÆÞ-NѯŠ­HpuÚ¹ééEê÷]†ÕFÎ=lÈÍû¯’BÑ×Q÷zŠm3Ž"?ûNqë²mÖ×{MØùØÎ8ø¤­1´èoõÿ¶ñZ2N×rUÌXiäï,—-Ñ`S{çÖ•v¡"ìJ¹²»ì•Q£Ë¾Þ®Ê«—ÿeþ©cþ­AY.ýæùÅo,jS§¹/²ÇàÄ´#G^ùØüåmy¥†¢¯£îõ(Û&FYw\}éÛÏúûO „¬nrV6x•ç.˜sͰݾ H%¬³·ÖŒÛß2—·ºMÓ–õê,³©­ ¿Eí9¯+o—=™ öœ[¶—|IÁž  vígASÇ¥ €1Ã*qĈc~ý¦:Í}Žƒví÷óCwºì‘?^•éå®:«ó¥ØüzÒKŠ^ˆiÒfÄ(]!Å' üý§jÝ(k÷xÐô•ïþnа7§ø¿ÿ§ù‚ï ûåS néôo þÍó‹×ÝúòGkÎ?l§ŸúÀùßÝi·«»6{èÐ_>µÀy‡íôâkÊÆÅ͹qû|dÞò(ÏÿîN]‰/?fç?¼º¬©­]ê¬÷9Nøfý±û ¸èÁÿ,kÉ÷‰Fõöü¦‡ç|°¨©U;…B¡Ø"‚ºÖ¬8ñ ÝöÙyÀf£”ßí,r®ÍÚ3°Ñ¥Œ·ó¸ŽåOÆj÷0Œ²våþ¹çºÓìñßxeYצòÂ=/-™øƒá·€¹­¹wÎÒ®ÿù$ý?ö úÜÖÌ~¹Óþ˧>žzäÈSÇjÉ8½¾üÀ«Ëö×´\}ü.*BŸ´æ¯ùßêUÕ>ÇÏ à÷çìÕeùÞ ¯ÜRïôöý%«g=ùÞw9äÈõº®«Ó§P(›O©TZ¾|Ŭ'_œjwZ³ÞV1v¿1¯¼þfÛêåõŸ~ä·+öZø¼÷”Í-äÝ{v®´V|1œ[ÿÏÞóŶ‹ïzþëû~ç¼C‡¨ó¢P(Ÿß¼°ô½y/ß4á°.KsSãÙçMéñy7Ò°ù{÷¢ êíPÅW“ÅMm?¬«S:( Åç¦]Ý_šºyÁ¥Ç9ó©0ænæÞÝUÈš=”ÊŠ¯ ^ÉïºÅ#„P÷ …bKÑu½üuÖMÇ(å(eäžûoÁÄÆÕ£·Ñ,È …B¡P(=Å(ꇠB¡P(Š^£¨E±CRU;@kór%…B¡PôÕE£(ú.Ì|çïîyâÉ¿ýwñ×uûõ«ÞyÔÈ¿<òŠl …b‡ˆQÚ•.Š^M÷ßâAGGæ¨cNøøã…×^så1GeÁwÞ}ïŽ;ïQ‚) Å£¼:ëL¥‹¢7óè}7wk¿ñ¦[þóþW^~Ù§ý¤l9`ÿýØ¿uÓüéá?ßrÛíŸ|²|§¡CnºñÚý÷Û·l¿ëî{/›q•¦iÕÕUß;ìЫ¯œ‹E˃(P£) …Bñe ) ; O=ý €ãŽ9z#iæ½õÖÜŸ}÷/\tᤋ»ì…BáWç¬h\8}ÚÔ?<øÇiÓ/_7(im^®…B¡P1ŠBñ9Y½f5€~ýª7’fÚ/¦D"‘ïv(€ÆeŸtÙ']xþÈÃMÓü¨cï´surPMÿmííJO…B¡P1ŠB±m8ü‡ßðØÿ>±¥Ïμ7ß¾û®ÛW-_Ò´l>;¦B¡P(TŒ¢PlS/ž¼ë.;_wÃM¿à¡L&ËÌoÌ{딟üt“K%@<wžyíënŠÇcøì]!…B¡P¨åsò¢ê¼~5I$âÏ=óÄE“.˜}ßïGíöõACGñ³ ìð&3Þ}ç¬ÇuÌ ûëvºî¦‹/š”HÄ¿±Ïþ]ïø( …â‹! $PìH„B¡‹&]pѤ 6Ü´Þ‹9ë®ø­±ó^{¹kõ§§ÿ¤kùçÎúù„³”° …Bñų}ÇQZÿþ÷w>xN(ôªª~ücwõê ÓÓé…'¾>dÈKÁà?*+ÿ}ôÑm/m╊õFJzÉÀ‰¿ù"«B¡P(TŒ²U,»å–ÁS¦¸f;óç‰N:iÃ4ïç{ÞžsæļïÇ'O>yéÌ™êÄ|•Ùœj£P( £l{>ÿ|Õ÷¿¯G£FMÍð›n²_}Ã4í/¿<üÆCC†]7úõ«=á„oÌ[Þ$K¥ÿN›öJMÍœpøýO,e2øt¸âE!ºÖ]]—n³—¯¸óÎׇcšóvÛÍ~íµ•÷ßÿƈ/Æ[_ÿzöý÷7ý®»^kh(§Ïüë_ݺÑúì³óvÛí%Ãx­¡¡éÞ{UUÛ¶ÕF¡P(*FÙf´½ðBbß}7´'ößþøñéyóüBa½M×]×ñÎ;cÞ}÷Àæf=Z4u*€C¤,ÿïZXwu“Ù;yñÅoüã¶·'O>ù½ü õ™gö|é¥oÛvÍñÇÏ?~“ÙÛçÎÝûõ׿ÝÞÞïG?*§ßÐN=u§«®úN&³×+¯¤ß|SUµm[mzA]+•Jq­zcY¡P(¶œR©Ôµ/-FÉüë_ 'MÚùw¿ÛpÓèǧÁƒ?:묹••¯ ¼pâDïÓÏg5Íž=êöÛÍúz=và «|‹ ÝHöï¾›ÔÃáA'–2™QwÞÙµÚñÏn2û¨;î0 Ð#‘ÁS¦dÞ{¯ÛÒõPÈYµÊ[³† ÚE£lëjÓ{Øi@åÊU«ÔÉR(ŠÏÍÊU«vP¹¡ý‹x¯§}îÜO;íkþsxĈn<°¬a×_?ìúë!eîã?¹ùæ÷O8aÏ^à45½1jÔÚ¤[øPêF²«ª:#‰px½UY,n:{eå†é×ãk=¶tæÌ%W^H$FÜzk¿#ŽPµpV›Þé‡íq㟟+8°^×uuâ …b‹FP–/_ñÜ‹/N=~Ÿ/!Fi~ä‘…“'~â‰ø^{m"©‘Q£FÜvÛ?**ʳ®nïyóÌ>_Ñ_nöøÞ{~òIHÙòì³yf?õS{;U›/›Ý‡Ö\päמóÿýk»WòÕ¹S(ŠÍ'¨k ÉŠ ŽüúîCk¾èå“[nùä¶Ûö|ñÅÈÎ;÷”æo»þç?¯8ðÀ`uµ³rå²›nJ|ó›åM&L˜?~üÈY³hðàÜüùK¯½v÷‡°¬üLJGŽì<†Ï®vÑSöÍdK³¯çÆû'4tƌаa²§±Åç®6½‡P$~à^ñ÷ÚY8…B¡Ø ¹Ž/4FYxÑEæí²K—å;™Œ®›fÈå—¯øÍoL˜Pìè0êêª;l÷G-oj¸ä’e7ÞøÎÁ;+WFFŽ2}zÙ>xÊ”·öÚ«”Í–P]oµ‹ž²o&[š}=7jŽ:êßÇSX¼8¨*ß¶­6½¹Q) …b› Æî7æ•×ßl[½¢¼þâÓœðÓ‹”.ŠÞÌ£÷Ý|Èáã” …B±£ÒÜÔxöySÔœ‚ …B¡P(z#*FQ( …B¡b…b{RU;°ªv`]ýÐU«R]Æ•+WÕÕ-oR) …ŠQŠ/ 9ë·wv­Îúíêó¯ …B¡b…âËæ„ãýÃlii°fMËþéÇ'fVB)åwݳט’õC¾öõ1·Ý~G×7ì_ãÍïþà¨ú†?nÜ)s^þÇÆíîºûÞªÚýêï¼ûž“.ššÉd»6Ý}Ï}{|cßdýýÆôÈ£Yw,çsø P(*FQ(ú6“.8Ïó¼ßÞy7€ßÞù;éû“'ž¿n‚ßÜñ»W\=fÌ>K}tÊÉ㮾æú;¼iü9çýówï¹ë7‹?~òÄ î™ý?·( o¼:gEãÂéÓ¦þáÁ?N›~yÙ~ïìû§M¿b·Ývùàßÿ|ò¯~ò©g¶Ò…B¡P1ŠBÑ·2¤á˜£¼ïþ–.m¼ïþN=õ”þýëÖMpßÿüÀ”I„B¡ ã`ö}÷—7e³9Ó0ú×Õ MÛoß1zpv“.<äˆá¦iž8î8Ï?ÿR×ø €k®¾¢ºªªºªêš«/ßJ …BÅ( EŸgò¤ òùüQÇŒ+•J“.8o½­+W¥ìõͱUµ‡ŽØÀòMåM—^2EhÚA‡ý``ȃ¿ûüòêÆíóÞ|û𣎼ÓÎÕÉA5ý´}:#fyŸë;çR8°~+}P( £(}žÇqøšV®üéé?©­]ˆýë,øà½Öæåå¿5«–•7}Ö™‹?~ÿ…¿?uÙ´_üë_ÿηŸ9þœyo¾}÷]·¯Z¾¤iÙ"]•”£“®)‘—/_±•>( …ŠQŠûî¹³µyùÌ«.ßpÓÙãÏpåÌëÒéŽl6ûâK/7î”ò¦SÏ8ë£ù vÛm×±ì€LsãöRÉŇg^{㺥”ïà\uõuí¶ÝÚÖ6ýò«·Ò…B¡øªP(¾jœ}Ö™D4û¾ßÚu“Ì1ûì}î9g—7ý䔓®¼úº¾ó®bŸ½÷ºêŠË6n¿ûÎY—\zùQÇœP—L^xÁ¹ë–ò³3O/ù¥;î¼gçݾ>xðà Î=çïÏ¿ ëúçöA¡P(¾j¨ùz}¾8_ÏâÅKöÙïÀaÃvzëõ¹ê * ÅÆQóõ(Û—Ó~:þßÿ~ßóŠË>Y~Ée—˜|áyJ…B¡ØLÔ½žÞ‚êk¨;Çsô¤‹§~ôÑ|"úÚî»?pÿ½?øþw•, …B¡b…âKæˆÃpÄá?P:( ÅçcûÞëY¸‡†H‘; v“FˆÎ¿X ‡‚>R'E¡P( ÅvŽQÆÃ~û¡© MM3'žØ}2)!%V¬À·¿SNQ'E¡P( ÅvŽQ,À´i°,X.» l,q"‹/^;ŽR*aÚ4ÔÔ Ɖ'"“é´?û,vÛ ††Ü{o§‘g…D‰Æs§]ˆÏѵ*~ýk MÏÃäÉè׸ùæM8°.Ýf\²G‰X Døþ÷±zu÷…:Î8‘’IÜtÓÚ}v{€ …B¡P¨e[røá¸ñF¤Ó°mÜp~øÃ%N§ñË_b=:W¯»#wßEs3B!LÚi?õT\u2¼ò Þ|³Ó8}:V®Ä¢EX¸Ÿ|‚36íÛ[oáÝwáûp啸ðC¼÷–.ÅŠ›p`]ºÍxĘ8«W£¹#Gbòäî 1kÖ`éRüûߘ3gmšnP¡P(НÛ÷û(MMØ,[ƒã7пÿ¬3ÔQW‡7Þ@C44à¹ç0r$47côh¤R0h~ñ }4ê×™ÿdÀÌ‹áÃ`áBtPgİÞË2]«B ©i­3⥗0bÄgëÉué6ãºäóhhèJY¯ÐúzÌ‹aÃ:}9²Ó·nP±.}ñû( …B¡Ø|ÊßGÁØýÆH)»& ydö¯ä¶ãC䌲½]¶·ËéÓå!‡t“RJß—ÿý¯<ð@ùøãö@@kÿ„è´¿ý¶<âYU%‡•O>ÙiÔuY,v.{ž >³óõÊÚЮëÒóÖw¬'6™ñõ×åÈHdýŒº®Ï][»=@ź<2ûW]5¶ëï³'ú3ZwÜq?ýéOÛÚÚÚÚÚÎ8ãŒ@Wýè¦6@MMÍ¢E‹Ê–+V <¸l³òé§å~ûI)å A2›Ý˜È›)þöûy£PôÎå?ÿ|í¶.]ðÁ»¹\²…|¦ëÈgÓùŒË´ç:ÚÓíkÞÿç+¸óºÿyk½eû>²Ë.¸þzØ6l×]‡ÝvÛDúúzpþøG˜0ãÇcñb‹xÿýµït>úž)Q,vÇë|dõj\xáÚÄ£GãW¿B>¦&L˜Ðc¹§†óÏÇŠ°mLšÔiìÉMf,@",]Šñã{,ô¤“0y2Ö¬ÁêÕ˜8ñ3ö P±5TWW?þøãù|>•JÕ××tÐAIǧL™òöÛo—W_}õÕË.»Ì²,˲.»ì²W_}uÃ,ï¿ÿþرc…BâÓû—›SîÁ㡇>cyè!|ðÚÕ¥K;Q[» {míZû’%¨©Ù„2uuX±¢óÅ:);Ÿ”Ú&ô´çº:,Y²ÅnLœˆÛn€ÛnÔ)›Èµ÷ÞxòI¬YƒÛo゙pÎ;MMð}¤ÓÝ|;1ÅСxôQ„BøáQ,â‰'°ÓNˆD6&ò‰ß­›t¬L2¹¶ ®…¢×òìS>ð Ôj(y®SÈq>[È}&L)díª~µê½>ç™õònß塇ðÊ+èßýûãõ××嬳p÷ÝpÉ%8à|0Âaœ|2~ô£ÎG…cŽA$‚©SñàƒÆk¯Em-† ðaèß×\Ói¿çüõ¯H$°ÿþØÈ…éŠ+°óÎ=C‡bРNcOl2ãÿ³wæqMíŸp„\Ü0 —(" ^Ôz…êëM±Êe B=ßï+¯JÁ[Q+¢V_­Zª}ßzÕJym¥@ŠWË%—„rsI’Iö÷Ç’%æXõ˜ï‡ÚÝÙyfž™Ý}òÌ•–bc• fÍÓ¦iÍt×.`n—˜9³?\c!ÏÃÊ•+›››ÅbqFFÆŽ;¶nݪ4D©Ïž¯ªª’J¥l6;))iÊ”) ;{ÌÞ½{@ HNNöT2´1Yu΀ù*7¡”pò$xú<} N))@9"jÈòx`Ã6@¸6c]ºâʘ™êjê\[ÊCû=0gxú;h40~üRZùºüŠ˜;ÄÆ‚O>€åËAt4˜;w€JT忌Ÿ7@m&#ò: ‘tòð0ÚHwo©\í‰}©}=È+îëQiÞh`ZZƒÁ P(³gÏ.**ÒØ+ôý÷ß;ÖÀÀ€N§GDDp84¼²²rÖ¬Yd2™L&ûùù=ÂF@¨õ(©âä«Li)2w.B¥"T*ò·¿!%%Ït ìßÐé…‚DD bñá"…#ÆÆHT" Ðw#“!ÉɈ£#bhˆxzöõ§àÄß½¡Ñ4w.¨jK¹§Y¿±°@ÌÍ‘ÔÔA¨qú4¢§‡Ü¸1p. nnˆâá\¿®AÕD\\}}ÄÁùòKÍÅ).F .A„ÃA úï‹¶JÖ±òqêA›b*)ˆÅHx8B&#t:òÅÏ\…ý>×°¯gûÆ5==’ΧíO­Âv¿õI;—ÕÆij}ò˜×RÏeÕ±›jZW7×Wž<˜¨Ò×÷=†¼yhœ×cA çAiÛÅ îî@^s0»âèÁÝŸï>Ò#ÉårD.“Ëå2©ôÒ÷——}H Aär™\.—Ëe×ÒÏ-ý¤oXÜ÷@ È+E.—¯ý×ÿý3vCü&ù@ƒà @ äU(âïÞ½ý÷5wî=ØŸ€o¦@y}ÑÖ¡;z È›H̆ø²²ò[×¯íØ–t3óå•ñ›¡@ ä/fö‡þ?^ùÞÜÜ `nföÃ¥ÿúÏš‰ßV@ WÀ¢E är9¢èß173[0ÿor¹L[|èG@ /Â[·jÇK*Q\ÞÖ!Ú(ònZWÐvü%ôöH ‚å@>ŸD¥R­­­·oß®Q033Ó××—D"YZZ†„„°X,4œÉdΙ3‡J¥R©Ô9sæ0™LmY·¶¶:88(g­K¾€G}üñÇ–––FFF>>>?üðÃú=Æ*ßÌÌ,((ˆÇã½& `È Ï78™sà@±çÀ¿äc‰“Ñ Ñá5ùêë¨Æ8ÎüÍŽG¼U •OÔºuë(JSS &&æÌ™3‘‘‘*‚)))111³fÍÒ××ÿòË/—-[vçÎ@ppp@@À÷ß8xð`HHHQQ‘Ƭ·mÛ¶nݺÏ?ÿ|PùÖÔÔÌš5këÖ­§N¢Ñh%%%Xºté]ÿ\.7..nÍš5ééé¯CøkËy'NØ:Ä=|Ø&.èÁ„w—ƒ»ô‚AOOO@ÐÓÓ#zŠSB_ AOý1káCÞú}i4Z{{{ßòÌmmÓ§OÇ_Ï^$‘H$ô˜D"I›w‹Åb2™¬Q¶²²rĈb±X9'_Œ°°°C‡i,¦X,^¹r¥‰‰‰‰‰ÉªU«ÄŠïÇwvv&‰ùùùgΜ9r¤¡¡á¸qã>|ˆEÛ¿?N§P(‘‘‘X)€ö †°Ï<‚ R©tóæÍÖÖÖd2988ø)º9‚RSSííí jû+§ÜÖÖF¥RUÂkkk-ZD£ÑŒŒŒæÎ‹n80cÆŒ .`‚?6l˜@ ‚ø·%33ÓÃÃÃÐÐÐÑÑñôéÓ8Š)§#‘HV¬XA¡Plll¾øâ åôµå%øùçª ©òñ\»†€ý©‹`r©”µys©µu1™\,U”]R[ûç¢EÅ4Z‘‘QÍܹ½ =…™™E††eŽŽ¼Ó§uÏè™í D¢úððb å¡ {ÿ~|eðÓW×A™XüxåÊ““Ç«VÉí¹îñãeÎÎEDb…‡GG~~ë™3å#GVŽ'R´gÕ(€wâD™£cŸxq±J‘µEÐV|Èó¯…)-åნÊâߪÞÅÿS~·¿Š}!×çÇ=Fyy9Nä®®®#GŽø+¶^¸páþýû…B¡@ Ø·oß‚ 4JÅÇÇïܹ“D" 6ßìììàà`i&%%µ´´ÔÔÔ0™ÌÆÆÆ-[¶`—²²²nß¾ÍçóÃÂÂæÏŸŸ™™™-–-[¶Zi3º¼¼¼²²²úúz‡£qGCU•÷Ö´7£ÆÚŠù‹ÑÝröìÙ™3gΜ9sûöí‰7ŲtéÒ¨¨¨ööööööÈÈHœßß:^SSƒ†477;::¢áŽŽŽ,K]êæÍ›ï½÷ž\.WÉZ—| z{{5*Ã`0˜L&z\]]mgg‡)ÙÚÚŠwuu©œb¹ Iè1“É´··Çñ£¨‡;::b(²Ùl,šÆJPNËåFDDàxººº¬­­ÑcŸsTôø† IDATçÎazvuu M]ü(Ç?zôhSS“¶ÊŠaéØÙÙa•Y]] ú‘-©­-µ¶F]2±¸ÔÚº»®LJ¡r©ÌÑQ¬({›ýPQögÜ]]¥ =ˆç=Úól¡tÉH™‡vv’ÚÚ>ýkjT'}ú`mŇüµèd£”––ž={=65¥JJJ°ä5ÇÊÊ*==]$±Ùl{{{???œÈ&&&ñññ<@OóóóÍÌÌÌÌÌóóóÕEÊÊÊf̘M'ÁŒ]òõ÷÷¿|ù²FMlllêëëÑ㺺::>Ø‚câ 666}/h‘H„·µµi“6lXss3ö“HÇŽ•¾áBá?ü€åˆÍb±är¹P(ÄW‹/&‰ wïÞ]³fÍó(0 >>>W¯^åñxGÅúÅ´)†akk‹U&v  ¹DÒöí·žõõhÄñ¬«k;{V.Ñuú¥á°a^Í͘øEÙë‚‚¬££½X¬ r¹·Pˆí‰@ññqõêXÏþèÑFM½º``cÓóø1zÜÓÐ0 28hÔÇÀƦGQu=uuƒlÏCPã…òØ(À×wܶm+~ýõpIÉ×Û¶­ˆˆ˜+t‘-//Ÿ?¾±±±±±ñüùóËÊÊ^Ûº€k!¼&\¿~ÝßߟL&[ZZ~òÉ'\~·á³råÊææf±Xœ‘‘±cÇ周M¯ªª’J¥l6;))iÊ”)hø˜1cöîÝ+Arr²§§§º¬¶!¨8ùblß¾}ß¾}§Njooïîî~ðà6©'88$Áårׯ_2Ø‚ÇÆÆòx<·aư°04ÐÛÛ;%%E$±X¬µk×b‘ÍÌÌÐ^ ”µk×®^½º¶¶V*•–•• !wuÄb1‰D"‘HõõõÊãfBbbâ’’’ˆDâËSZYY‰ö¯a>'mŠ)K¡•Éårcbbðßü‹©“'+ÿ':;S&Mâ_ºÐ73“(Õ³f«zíÚÆÕ«»kk©T\VV¯(;"ë‘Hz$Rw}½²-R*©¬Dz{‚`Ž]2RÆ<$„'mm•¶¶6+ÈѦ Núõ1nމ‘r¹R.·iýzóAÞÐ!¨1(´<;½YÛ1äe¡Ëx”’’’C‡¢$û+.þúðáÃvGÕÔÔÐéô¯¾úJ( …¯¾úJ¹§ÿuÀÈ׃ٳggffvttp8œ¿ÿýï~~~ºGÑø³>--Á`P(”Ù³gi¼éßÿýرc ètzDD6³£²²rÖ¬Yd2™L&ûùùa#$´5å@œ|•©¬¬ 433#‰>>>—/_ƦEEE¡ö}TT”H$ÂP¢>¾›×M ***?~¼££ãñãDZø»wï¦ÑhØ©L&KNNvtt444ôôô¼xñ ¶KXø?þèâ⢯¯ïààðå—_*Ç¿|ùòÈ‘#•‡æ Am @™ .¸¹¹xxx\¿~_1ì@,‡‡‡“Éd:>༞ªI“„™™ªÓ|®^­òñAäÉîÝÅ4ÚÓmd²'ÉÉ}sO<=Ûeçÿøc¹‹K‘¾~™ƒ÷Ë/±øí.T¸¹Txx…Ò)£g¸ÔòI1™\J§?Ù³§ÈÐ_œô5ê#‰¢¢JŒKŒ¢¢dŠö¬> dPu¢¢†6ñ#h-þ³"ÚŽ!/i<Š®cfýõì³6Ê]†Í._¾|ÿþýÊ!û÷ïÿä“Oœ©1g*æ‰'ÐwÙ¸qãŠsÉpæ.ªÇǯAþ*ºººŒŒŒ;fòÆÙÜ‹/>þ<¼k¯ ⪪2ggX|È3fÖÜ|\FÆèqIIýãÇÆ¦¦¦Jeee-_¾\9dùòåYYYØ©¶¹‘Ãq¦bæææðùüÀÀ@ÌU‹3wQ=>¢6÷ò:pëÖ-¬ÛòV"—ËOŸ>ýçŸj›ƒ ye4oØ ãó{ÙlV\œÙGÁâCþú13¦NÎ+¸×Îmî³*~¾§I(fgg“H¤_ýÕÄÄÄÙÙ™D"ùøø`s2µŽB20H$ý«ÙJ¥R2™ÜÛÛ‹öãÖÔÔ¸ººjjjüüüÐ9µ…ÛÙÙåææŽ9Àd2ýüüš››Ñømmm‘HdjjЦïäätãÆ 777‡ÃñööF§6h‹. ÛÄëCIIÉ’%K®_¿>jÔ(åðï¿9øáBÕï™ÝÖ˜Ê8‰7¢=''§K—.½÷Þ{ð®ýµpaïÞ-—HÌ/v8yRFƒÅ‡ e»ÂÝk‚!Q__€wþïØ»ÃjX?ðZøè‚EÓ¦MLœ8 ojjzðàÁ²eËpd---9ŽÂáp”g`j›©1g*¦…b.™òÜKtî¢ò«?>äµ"777""âòåË* DGÞƒþ0x} ¯_O_¿òú0@_OJJн½½‡‡‡ú¥áÇðÁûöíÃY(ÅßßÿܹsÊ!çÎÃVðZæFj ìTÌ—4wò ¸téÒòå˯\¹[C ´Q4““³xñbüq'‘‘‘ׯ_×vuÛ¶m)))'Ož|úôéÓ§OO:•’’¢<îDãÜHm჊9ع‹*s/!©©©7nÌÊÊš4i¬ 6Š*¨wD—±ãÇ/..ÖxÉÍÍ-+++##ƒÁ`0Œôôô[·n)»î§OŸîéééäädii¹sçNüð={öØØØ¸ººººº2ŒÝ»wã+¶yóæéÓ§ûûûS(”°°°ÀÀ@üøñññ“&M‚«¤üåÄÅÅ566Ž3†  ³³VË› |¤^eE½ÊÚ~y 9Í¥ÌëÙ\ßÙ‡Hë˜Ùôôtt Š.ää䄆†¾Ò5éƒcW!øÀ1³oܧ>Ð/°¢ð£½ÊÚ~y 9Í¥ÌëÙ\ßć腌™ÕêGQÙÁ2™ ß/×ãI&`kÒcðùü   *•jmm½}ûv‚™™™¾¾¾$ÉÒÒ2$$„Åb¡áL&sΜ9T*•J¥Î™3‡Édâdª’5‚ ›6m277·°°HHHÐfy?z>þXZ##àã~øáMý¡F ôý™™   e¢—^ ôï-þ± >È»ƒVåáÇwtæu^áòN¡q…›uëÖQ(”¦¦¦êê꺺º3gΨ ¦¤¤ÄÄİÙ솆///lÂZppðÔ©SY,‹Åšræ 2r$bhˆŒ‡<|Ømÿ~„NG($2QQQ= ÿO±L3²y3bmÉHp0¢X¥IMEìíA}e[¥%&Û*U5¼¶Y´¡Ñ##dî\Ýo`Æ äÂ…~ÁÇ‘aÃ`( hÔD…ÌLÄÃ14D‘Ó§¨+Nœ@ûê]ÚZ½•ÑXvuµµÝ2å"cé÷ô 6 VVˆ™’’¢Zö?þ@ììõ=K4JiSO%k‰Y±¡Pä‹/WR•öœij¼é[øó?8Ch/»ªá:³È[â\Q>-//ljÜÕÕuäÈl†üÂ… ÷ïß/ Á¾}û,X QÊÒÒ’H$º¹¹íÝ»W&“¡ØÔ¤‰'VTT¨ fgmË«&%–PS˜LÐØ”ÖUYYàömÀ烰00>ÈÌÙÙ@ Ë–åñòò@Y¨¯д¡¡j÷²"9‚¢"Àá2(­Ò îßEE.¿Æ^E‹@L àr‡Üܺq[b"ع³?µ;ÁúõÀÔôyÐFx8رtt€¼ ì«sõ:°ìêh»e‹¼};¨¨ÅÅ ¾47?séçŸÁ¼yàßÿêë}h”ÂQO9ë-[êëAi)ÈÉÑ\œ¤Ô+íùÓÏóà ¡A¾ìª†~ämð£,]º4**ª½½½½½=22ÒÀÀg€òΗÍÍÍØzÊŽŽŽ,K›¬T*---5kVLL ¢§§'“ÉÐc™L¦¯¯¯.e`€(í£÷ ÂdöWW#vvý¿·Z[±ýŒTO±Â€`Ûw2™ˆ½ýÀ¿2•qtD°ýÙlÄÆ¦?š¶:ÀRàr‘ˆ$ Ï«ÑÕ…X[÷ûø çÎõëÙÕ5Dtñ£ Ž=Š45©Æ×XW8:´µi®sÝv¡ê/».j¨ËÅÞ©®ÖȱcƒŸÏçó?ýôÓˆˆm²úúúcÇŽ=þüÙ³gц͚îèè066Öä€Ñ:¶”Êu•‹ PZWXZöP(ª§ÊË&+–kÎÎ@ig`±ÀèÑ}ãOmm—Û‰ÁÀsŸÀÕtv‚“'U¯Þ¹fÌ4 • Z[ûÂQWŠL¶m7öjh È•+àæM0n1üôÓu…£ƒb©jÕ:׆¶²« í–i,ò“'ý-D™ÔT||4g¡Q G=å¬Ùì~ 5fŸ”ÆJ{Î4Åó<8Ch/»ªß yû±²²JOO‰Dl6ÛÞÞÞÏÏ'²‰‰I||üƒÐÓüüüÄÄD33333³ÄÄÄüüüž(==lEc?þèÛ‰³°°PãzÍþþàòeÍIÙØÅºÊ ® ´®²0ñ†€-ãl`D¢¾ã¶6­²Ã†ææ¾ž ѵc,‚~J G÷¢£‹är ö÷‰,^ ˆDîÞíi;4ÄÇ\½ x ¹\ó\%}yijkáÏùà ¡A¾¤ª~§Ösƒ6 ä­[¡Dy©’©S§Nž<ÙÊÊêøñãèVØ*,Z´($$„L&{{{·µµ]ºt ?wî\^^ºPrAAÊþS(K–,Y¾|9™Löõõuss;vì¾fÍšéÓ§{xxxxx|ðÁŸ}ö™ºìÈ‘ ;\¿FŒ&& :ºÿÝ·g°±®®ÀÕ0` u•50}:ðôNNÀÒ`Ë8Ÿ> 22€©)˜6 ({”âãÁ¤Iý¯¿Í›ÁôéÀßP( , ´J³N¤¥ØX@¥‚Y³€Ê ‘úú`äH Ü“64°ÅQ´­’–,T*Ø´ |÷Ýu5XTêPDzxË´±mpwÞÞÀÅ88ß:0¯®Fyxøˆ;futLÊË*ïyÍFÊÛc¬[·ŽB¡455UWW×ÕÕ9sF]0%%%&&†Íf744xyy-[¶ ž:u*‹Åb±X“'OѲ¶úæÉ€S§NåååUTT”——çææ¦¥¥© Šjj gͲøðéLæÌ§OÝŽc_¼øæÞ/ô˜Êdê=¶Þyå ÀyK˜1u²ÊÊ/cæ§ÅÅ¿9;wiÚ¦º—ϯټùއG6‰”ïàP½~}O{;z)ßѱK±v7›}[±ö­g? ÚNqÄ{{rK»ºTN³[tã‰+¶Wޝ¢FþðáGJTö€‡¼ˆf£¼7ö§b%(ŸÒh´vE£jkk›>}º¶˜("‘ˆD"¡Ç$I"‘ Çb±˜L&«Ë-û¦O™2%;;=ÎÎΞ6mšzœ²°°Ç‡i—‰Å•+Wþjbò«‰IåªU2±kiMÇÿæìœM$Þñðàçç³Îœ)92ËÐðÞ¸qbÑöï¿M§çP(‘‘2E)4>/·ÀþÐp¹TZ³yómkël2ùap°ôéS,þãÔÔ<{û[‚ŠÂÊ)÷´µåP©*á¢ÚÚ’E‹rh´l#£¢¹s»9A~Ÿ1ƒ}á&(~ü8oذ^` h{'¨\Ò½ZÔÔ+ê™–£©€ê (ë¯í.kKJ&‘T¬X‘C¡Ü¶±iøâ œ’B -ÊvÅÃ9•Å¿U?¼‹ÿ§ün¯,ÊŸ1uò«ð£ðssK¼.^¤Œ¥~ÕÀÌÌuïÞ)åå~"Ñø7d]]eAAè¥nëÎèѨç6ÏÖv°c'qÄ {rëS(*§ˆbŸ1ÿÓO?PÞ™÷YôõõÇŽ{þüù³gÏ¢!4­³³=îèè066V—2´´Ô6¶´‡Ã!»¸ Çd—gPŽ@ÙÙ;èa³_”ÒˆÁÐ&…Æ¿ãê*ëìt?yRÕpçÎ3füJ£e¿R©=­­hxŸ+E&«Û¶ÍiãF´PCS@ž§ZðÑV@”õ×v—µ%ÕÃf÷믄@ÞV^®ÂŒ‹“46Þ3l/S¼²1œ·nå\¼x×Ý=ÇÈè÷©Se]]^ß^rÚ¼ÙlúôBÿ ¥<,Œ®Ø Û1>þþ¤IØèz•S mâ:2Xq5è¥K–üJ¥ÖlÚ䩼<äE4›Aaee•žž.‰Øl¶½½½î~í&&&ñññ<@OóóóÍÌÌÌÌÌóóóx¢ôôäŠ>?þø£Ï/,ôððPoáïϽ|YcRDq}=z,®«#Òéƒ-x¿xCÑÆ¦¯ÆÀ@&¡Ç½mmÚd† ›ÑÜŒvj|ˆ :v¬ ‘g …cøËãaPÐðèè,Ö‡rùL¡[‚Þzñb="ñÏ„áÝ»vŠ‘¶CSàeW >Ú ˆƒ¶»¬-)¢­m|Åm”¡Ðÿ~QüéÓhªïh?¿±éé¾ííþR錦¦1iiýo ==§„„é þ==ï—•aÝöΉ‰³::°þ`•Sì@›¸JG²¶ÓÁŠ«¨a2õÑ#ÿÞÞ)åå–ûlj/¶Ù Š•+W677‹Å⌌Œ;vlU‚€M¯ªª’J¥l6;))iŠb2ј1cöîÝ+Arr²§§§ºlhhhyy¹T*­­­ŒŒ\ºt)–fRRRKKKKKKRRÒŠ+ÔusÙ¾½aß>Ö©S½ííòîî§mš…’KIÅøœnHŒIKcÆÆþJ¥Κe6mÚ37N_Ÿ2rä0¥®´¡) ¼r’¶oö ªEmŽ[üjCÛ]Ö–Ôˆ]» ÌÍst¼çåe>s&|ä!où+}ÆÔÉy÷Ú¹Í}OøÏ—‚¢â`½@^g¾ÿæà‡ UçÂXÐíaͨ|­ß •BJlBBlášÂÈÛ‚²]áî5ÁÀ¨¯¯/Rò{önç°ÖDÇÀz„@ !ˆ\Þ’–&úóOms°!È; ´Q È_I¶¾>ÙÉÉëÒ%‚ìz†@ ÐÅ.Ò1 IDATF@ÞÞ”Ž¸t=Ñüá@ Ú(@ ÐF@ ¯'·y·®9.¿Äõ<Lü¥æ@ @ÞÈî¿þëØøcÈ28@òî|§(òùü   *•jmm½}ûv‚™™™¾¾¾$ÉÒÒ2$$„Åb¡áL&sΜ9T*•J¥Î™3‡ÉdâdªžµÆ@Ãû3Ï0¼Xß5ÄÎõÉyÍuöuÿÛþät²åÿ,?¹ÿ ·[Ãvåe²y¶ó`s…@ ÐF¼C(o_Œ±nÝ: …ÒÔÔT]]]WWwæÌuÁ”””˜˜6›ÝÐÐàååµlÙ24<88xêÔ©,‹ÅbMž<9DËŠìê›'ãè£n[ Ëù2yõ¼ê1&c–Þ]úFß‚Tfj¼[íÆ7ìÉö€}^û¼oyŸpp±ébÞ¬ŸÏçúé§Jóª ¯¯?vìØóçÏŸ={vpnžeú×Ð32æŸÅÿDÃYbÖèë£Ñ>ÛŸl¹’¾Á§l Û‘âˆ;Q4¦‰šŠ>EŠHŸ§ödÆRÎåå\|ÿâ(ãQøés$ª zìBsáH8Ú²Ö¦ÕÉšËÒw¦:cl _Ï+S®ÜäÜws܈ÌíBò†Ù(Â3øqŒÁ‡‚ÊJxS /++«ôôt‘HÄf³íííýüüp"›˜˜ÄÇÇ?xð=ÍÏÏOLLÄÆ£äççðDééÉåò¡éiN4ß4zÓ¶>WÍ0ò°æ…͘ƒuyØl‹£Ç ] /¤Š "™=nëi{ÎÔ.5]Z~ù•©WÞ³xoÀÈ6$l*S]gDlvÃHÃê:ë†>ÞÐÕ`C²Á¯  Ÿ«Ó®òxGǰ“ ¼~éÿÃÓÜ fÎ˗ÛyÁ¬\¹²¹¹Y,gddìØ±cëÖ­J&rŸí^UU%•JÙlvRRÒ”)}£(ÆŒ³wï^@ ’““===ÕeCCCËËË¥RimmmddäÒ¥Cœ˜#ì¦T§¸»¡§k]Ö®.\]ÛY+E¤e²{}SŠB†‡Ä•Ƶv·¶v·Æ–Æ-/3C³êŽjìÔÛÌ;¥:E$±Ä¬µ…kŸ§¶S™©nÌú k’ù$]âŽ)‰ávs¹ÝÜõ%ëC†‡ 6ǧˆÿ£YÜ,èl(Ù {ú±¥±¼n¯›·¡dC˜C~U„Þ ­|ZÙ+ïE¢ì@‚kÁA o°¢;¦¦à_ÿê÷£Èd !Ðé€B!! £oNøåàé ˆDàä¾Vt K$`Õ*`j LMÁêÕ@"éwÒ¨øl°ƒC‡ÀðáÝiµ·ÄÆkk`n@e4 ÖÕÅ‹±1 ‘À¼y€ËÕœiw7ˆŒT*°µô§©±€Á#Q^•dêÔ©“'O¶²²:~üxFF†›››ºà¢E‹BBBÈd²··w[[Û¥K—ÐðsçÎååå1 ƒQPPpîÜ9uÙ%K–,_¾œL&ûúúº¹¹;v _Uë£Øýl—ßšéý¾¬7Þ<ÝjºÿmJ:%ì~X ] ¾ËsÍ€æpÍÁã†Çûïmo¼[ü¤¬IØ÷õô¤Ó¬ ÓM§åLó£û=Ï-ˆ+k5޹1+W§´'þÏ=6$×LW×LW™±Ûs÷`sÜ6f›»‰»÷Mo—LŠƒîéO·šîyÃÓéš“¥‘åNøU`°äÎj:uÓÃMß½÷|Ö WñJŸ1ur^Á½vnß`ø¬Ÿ/Eޏ°°ÀÙ¬X6núúâ .¡|ù%øùgpÿ>ìÚòóÁ7ßSSðÏ2?ÖÖ૯ÀÂ…€Ã;wö}ÅããAU8s ˆˆ^^}_}•¨Ø)‚ƒÁÑ£ÀÚÁ€´4@£;:ÞQ›ÊhôðG‚)S@Oض ´¶‚ï¾Ó鯠²|ó @°b¸~½O7„(óý7?\¬hA·«âQÇ£ùùóëæ×ÁV@^+”í w¯ †D}u àYJ~/ÀÞíVÃšèø—;¯ýèÊd ¢ÄÄ.hœî€ý¼6 `Ó&ÒÒÀÀÞöíÞÞ}&™ ž<<ppèÿ~_¸rs_~ üüžñLh$5µÏVüç? ;»//LCm (£Q°¢oy @&ƒädàä¤9Óóçûu>r`¿í5QfCɆ­c¶vË»ãJã>²ûVy+y}=úú`ìXpþ<Ð6ÝA€\þüŒKg ŒÝ7œÖÖ¶¿ÇäÊpó&7Œ~R ®çp€‹b\¿‹ àpÖŠ¡4càÉ“~q m (£QðÎ0c Ñ¨TÐÚª9S68;÷댡±€ˆ2NT§Q×Güe¤™¡ÖI@ ÐFjNzgºFŒß}þþ÷¾‘Æææþñ¶˜¬¸zðxàèQ°Z1¸ÞÆÔ+69©«ësN €¨o„>hÓ>YaØ0PW§!P£ èhÀb¹…Z ÛÚöë\¯´C‹ÆB ʬ¹ž·˜×Øqnò9š V6Ê  åå@*µµ 2 8ÝÁÞLŸΟ€µkÁêÕ ¶H¥ ¬ `Û¤„†‚ÊJÐÛ Hƒëƒƒûú’¸\°~}doo’D"ÀbµÚ'+DD€ü47lPL ЦÀ€‚b1 ‘‰êëñŒŒÐP x<À傘˜gÂÕ @ ´Q^$K–€åË™ |}›Pšî •U«À©S°y3˜>øû „…À¾9 ,Y¨T°iSßXTÀž=ÀƸºWWÀ`€ÝŠ‘û§OƒŒ `j ¦M8‹blÛÜÝ·7pqŠiÚP0- ÄÆ*Ìš¦MÓšé®]ÀÜ8://0sf¸ÆB ò®ñrçõ@ /ƒwm^á2c#¼lÅ«À_¥0ye¼y=p-|@ ¯#ÐF¼U(òùü   *•jmm½}ûv‚™™™¾¾¾$ÉÒÒ2$$„Åb¡áL&sΜ9T*•J¥Î™3‡Édâdªq¡¶ÖÖVm ¸Aú«Q±æúgša ë6 òö€ ¢6“jݺu ¥©©©ººº®®îÌ™3ê‚)))111l6»¡¡ÁËËkÙ²ehxppðÔ©SY,‹Åš| Aý.fffææægÏž=r䈺,‚ mmmb±øòåË·nÝŠGÃoݺÕÚÚН^ªwªµQß ÿiøÏÑñGíÉöf†f‡Æ©îq¡éÂáq‡éFt’Í—ã¾¼Ðx»„†Óè‡Ç>ßx?G²>ù‰ä ¯›ç@qøzÒ×j…“¯ iõi¨þÆÆû¼ö¥³ÒÑðó籎Œ;‚£›‘¨>ð/·Áv @ yû9qâŸÏ·³³swwwrr²²²Âñ¸…Âèè訨(4dÅŠááá¨}óé§ŸFDDh“Õ××;vìùóçÏ*6}ˆ‹‹;xðà€]B rÿ O$O\h.Úbr$jßUš GÒ¿éƒ3Õ;`KØø9^™rå&çæ¸›ãFdŽø©å§µÂÉW–˜5úúhtЫíO¶\Ißl Ó§€€ËÍ—ÝŒÝÜMÜa»…@ ÐF¼ýXYY¥§§‹D"6›mooœ&&&ñññ<@Oóóó±ñ(ùùù}Âf …B]¬‡²²2ƒqðàÁ^Ì#‚c¬¼@;“[Èósýúu2™liiùÉ'Ÿp¹\X'm T3™f€¯ÎDœB¡L±\>wïÞ={vJJJ\ÜÛ0ig“[Èó“ššÏãñªªªLMM\Kþ­ç‚ÕÝçŒð6öÕ”W[oSUC oƒR×ÐàD¨‡wéOŸ>•ËdÎë¹uëÖ’%K¾ûî»°°¾¥¥d2YBBN§P(!!!˜‹âСCÇGÓ$'Nœpqq122òôôüí·ßΞ=;jÔ("‘8~üø²²2LJù_u߆ÆK_}õ•““šTII ¾b¢¢¹D"Yµj•©©©©©éêÕ«%’¾}bÅbqDD•Jµµµýâ‹/ F#7oÞœ7oF£Óé(((€u@ ÐFÑ@›@P1":ÝöóÿšÄ~Æ9~Sïo=3/<Úd4Z(···°°À¿råÊgŸ}víÚµ?ü LNN.,,,**âp8d2yÓ¦þ¥¯ïß¿_TT„­&ž••uûöm>Ÿ6þüÌÌÌììl@°lÙ²Õ«W«ø60‡ºÛCýRnnnAAŸÏ Ä’ÂQl@”5OJJjii©©©a2™[¶ôí»eË¡PØÐÐPVVöÛo¿Áö7 ·nÝ–|ÕÑXT·Sù|~PP•Jµ¶¶Þ¾}»FÁÌÌL___‰diiÂb±t—EdÓ¦Mæææ X3ƒV¯Ò¹@Þ9Ag{û*¶<¿^Ê£Žæ(È7ô-µXPçÔ¡oòT(\€ŸBHHÈáÇ'L˜ ˜––vôèQ{{{ccã}ûö¥§§c—RSS­­­±ÓS§N >œB¡ÄÄÄtttœ8q;ýã?ž§äÇ·³³£R©ñññÅÅÅ*¦ñC¨ü-TÖüÂ… ‡¦Óé666_~ùå… }ûÄ^¼xfmmšš Û>%%%6l8yò¤î"ÔuëÖQ(”¦¦¦êê꺺º3gΨ ¦¤¤ÄÄİÙ솆//¯eË–é.{êÔ©¼¼¼ŠŠŠòòòÜÜÜ´´4¬IÀN+2Ì=nnnnárõÉäáÎNr™ÜP߀Åjf5³|¾D,~ÒÔ”ž~eyh¨©©©¶Nž<¹jÕ*++«>ø d±X£GVþäcÇ CYÜÒÒ= P(*§R©ôyJ޹”“ÂQLÝ1£‚²æÇÅE±O¬‹ ‡Ó·O,›ÍvttDœœ`ûÃ!777""âòåË£FzΤ®]»ÖØØhnn8|øp@@@dd$v‹Ñ»™““ƒÅݽ{·î²ß~ûíž={аgÏž­[·®\¹póæM4&F;pà€Fã«»v9=:Ñ"zÒÊ›"ïEJv>nøž‡HGœÝè¿?ó8Ⱥ兛ë3ÚYMÜç¤oÔ÷3£êhË£·ôvÉ­|Rœõˆzhâ¡­S”óBOŸd Š·?m‰±ö#>¥«k5é€Ë£c,Ñ“c²OŠKG½¤òPsWS·©åýã®fc(õ‘‰ä?¿_¼ðþx¢Yß»¥‡/½6¥dÁ½q†Æú“›j¿ãJ»dvóÌß;4¦÷È«{œÑfHÓý mNô_¬8žåTa‰Ù=¦n”ÉÇF˜{Rˆ јN…¶Jµ…kËZ%;ø\C /Ò"“Éôôô)Š‘8aܸ)ïOöó÷ YþéXoï1ÞÞ…%¥øs£¢¢Îœ9óÑG]½z 6lXss36ìT®ÛÀÛWÀ‹RÌÆÆ¦¾^±Ol]NÇÂ?~Œ744Àö§K—.-_¾üÊ•+ï½÷Þó§¦bS–——ãDîêê:r䈿¿¿î²“&MB'NœXQQ¡§Óªµ¨cî¯cÑXùMÂG⹿z/*/jéQ‰ùpO“øIïÂßÇ/|0^Äê~˜Ü„]âÞy:ï7ïÅÅ$ÜÞ‡{›ð+äîÿÕxm²_öø½òh+Ô<èŠs[àÕsií{Ž[Ý©z’Å÷ûÑciÝ{Ã,­Ó¦ÑÜ`ø"Ë?ÿÃÁÒùó?Ç¥VD3ƒŠC¬öÒι¿Ž |4É€¤Wº£ïAx˜Ü$i•..ž0/Ï›“¯a’ j—„¶NQ¶·8ÂÙ™ž×¾g¿ÀâÁ†>}´eSáC¨Rá8Y+g@^˜ÒÓÓSúð¡­»›Û˜ÑîúúR©¬§§§¾¶.óWÙOZ1Ô×pþÅ‹ÿïÿ‹ŠŠ:{ö,²víÚÕ«W×ÖÖJ¥Ò²²²R33³êêêÁ^RæE)Ãår¹\îúõë±tBBBâââZ[[[[[cccaûÓHjjêÆ³²²°ÿs2oÞ¼øøx>ŸÏçóããã;;;µ™/F£:tèðáúËvvvÒh4ôØØØX}¨5~§Õ„]NF–†èqý%Þ¤}Αhj0a·ª§íqzë„d'’•!ÉÚpâ^çÇé­ý‰ áV†’_iů}’ž˜Ó+i•RìÞ;YoôÚa½²I\°Ó¶’N}ÜÖ «ù†ƒH"Eþü–3zí0@Ý9îÄ}ÎѦï½Õ±éçö>cýŠR"ÉÎ:ÞSŸ/\ÈÈ=÷h¿¬«ï÷€–,p*|Uª1'kåì È‹±QzzzÎ|û-ÕÌÌÊÊJ 665>,{XYUÙÔØ¤§¯ïèì<Üщh`pòøqÔ ŽÏŒ3rrr8ؼyóôéÓýýý)JXXX``à )L||ü¤I“4vÐà\RæE)¶gÏWWWWWWƒuìÚµ‹F£988xxx¼ÿþû††ðÍ¥¸¸¸ÆÆÆ1cÆ`ƒ~”-ƒ!pâÄ >Ÿoggçîîîäädee…ãq …ÑÑÑQQQºËÒh4LÃŽŽccc嫹¹¹/^ÔÖiE¶%bÇbN/ÍÑH›z^ÿU𣑄×ï¤9abîË*Î8ëÆþUp}féO‹Y7øãYôuÖè“õTNQûC›>&#ɦ£ÉM?µj³ò1¦ØDOz®½_rÁêî«»?ºÿ!iíSRÂííW^{ÙU škÐG[8>„*ÕŽ“µrvdPhB$-ªzôè ‡#G¢‰Yôc0º%Ý2ioYYù¼Ù³ñ¿âÊ?RÇŽ‹Í•ÐÓÓKHHHHHÀ‰¯û)v˜˜˜˜˜¨Q•KÚ’Ò¦ŽÉdrZZ6vƒB¡ü÷¿ÿýïÿ xôèÑ×_ › Ž5üŸÍfÇÅÅ}ôÑG°B^+W®lnn‹Å;vìØºu+v s­…‡‡WUUI¥R6›””„ÑQmÞÒÒ’””´bÅ 4|VÎ!Öl®µôô¥EI *W-‹>o´öJZ{ ?¯w\b‰]*Njènëínë-Nlpú¸ÏÙcîA©:Ö"ËÅOz~¯Ã"ßYU#¬Ë{€D6t‹P›>¶³Ìz;d̯ÙT=s/*èºÂöÁ†ºÎ "E•¢‚UL4Üq‰ª¼¤µ·èóÍ?™L žþ)PmY ¡ÚªT[¸ŽYÃIÔÈ‹ñ£(¿ˆ-,,üýü\.·¬¼\ÐÖ¦‡ ¾ývøðá°‹““Ó¨Q£$ÉâÅ‹wîÜ +äł٠èê’™:uêäÉ“Á´iÓ222ÜÜÜÔ-ZRYYiaa1oÞ¼K—.¡áºÈ®Y³¦®2®š× IDAT®uŸ¬Y³æ³Ï>CÃÑU•Ç(mºÙÑÑ\ш翆—lü‹o)@€gœ½ÊUïD‡?6Õÿ<©0<ÀrìçØ%ë÷M2§•övÉ,½úÌ÷¸ÿÏÚòƒÍ”aD÷Ú5]mCÃíæ›ÿQÝÑ 1q%O91rȵ£Ûša¿ÇÕμ䎅ŒYoWõ%+'°RÌî1v%{Æö•nìçíûŸw‘!Mt4£%KCßÓèÿcÜð/“vÉ”‡Íª£-‹¡Ac•j BÖdàWúŒ©“ó îµs›Ñó¬Ÿ/EÅÁz¼Î|ÿÍÁ«ZÐáW@^”í w¯ †ÄgØ”ü^€½Û9¬†5Ññz°!¼†@@ ´Q @ @ Ú(@ /X¨m@‹àÞyzw]ˆÕónÖÌ;Þ$ /ŠªêšêšZ= GÐÓÓÓ#ôôô‚žâ”ÐHÐÓÓƒ6 èDñ¶Ç“ö»ØÍ5 Ê È_HÂÎÃèF½@±c/ú?€þ'ï ¹x戊 ìë¼U`[ü(òùü   *•jmm½}ûv‚™™™¾¾¾$ÉÒÒ2$$Û·AYA6mÚdnnnaa‘ ²–kk«ƒƒƒÆ½¢r+™_³±SæivÎ’Ê—ñq‚ ch+EÃüÍ^õ€ *E…Ž·¼ð\0§=¼À¦‚n]„ýÁ¶éí‘ôt‹»%]q§XÔ!îz*êvuºž¶w Û:­Où\u)h£@Þ*úlógY·n…Bijjª®®®««;s挺`JJJLL ›ÍnhhðòòZ¶l™î²§NÊËË«¨¨(//ÏÍÍUÙ§iÛ¶mëÖ­Ó¨­w’ã· [âÉ{‘GÇ[¼“àM|}uËõ ¯,»Öß;~ý¸rüNÇÑg¼µÚ:ûƒm 24`_äíçÚµkè݇ˆŒŒÄü.¨M“““ƒÅŶªÖEöÛo¿Ý³gƒÁìÙ³gëÖ­+W®DãTUUݸq£¼¼üóÏ?WWÌr"Í̃Òp¥Õ9Øúñ•VsOªåš¬[^¸¹¾1£ àð‘ÕÄ}NúFz@ÍW¯Ñuÿ$KP¼ýqG­˜lKôˆµñ)ý ‹þ‹Æ×–~¿'C&7Õ~Ç•vÉìæ™¿wh„!MuuÈÎÇ’¢Ï8¿=•÷"63LÞÿ·+ºß«»>).•GXbv©eò±æžTõ¿¶NØåôèD‹èIO(oŠ.jÈ{‘’¾ç!Ràg‡~ÚqtSN_Þ#ÿ=®îqF›!Môÿ1´9°ªSÇ)Ť.ޱDOzŒ]È>).õ’ÊCÍ]Mݦn”÷»š¡hl¥ì\áÝ¿×Lùj¤­¯)þPÑDÇÑ£Þ´• üó,Gýnêrk´9Wt©C™Dþ{\]ãÕ6Cšþè¿3Jv<†VÎ;Ë[èGÉ"à}…¨8W”OËËËq"wuu9rÄßß_wÙŠŠ l×À‰'VTT`—âããwîÜI"‘´eçèPu¬‘ý{gÖÄñ>ðá „+ܧHQE°V¬«"Öm«ÕZ@«åÄ"ˆ^(ZýzV­OõWÅjñª^x€Šˆˆ€Á„;$ûûcqY“ÝM8TÔù<<<»“÷}çwfw'3“$kÅÀeÖ€GIeM¯Äî¹N¸ëÚÈiy”\¦|IoýR8 ÚjZ©û˜“lA–{Øà¿Ë*´Ÿ—Ê©~X?îò@ÿ§nê4Õ‡ ¥òeÎzêl>¥ÀmÊS7¦ƒvnûCÞÚ¯þsþ¶ÈÝêûaÅòºð³Eã.œY5\I7¯+«}Ú4î²ËÄlׯŠV…¾áí?J.kæ·MÊì›é»VK8 º7ÔÉKÁ»ZãsÂyj‘»í·¬«ù¯2„£ÿeO-v·ö3º^LXqe'wBž:Ôë PGïI§r”/õG„µ©LÕŽ)ÃGÉeâ:‰ßƒÁ㯻TÝ®ƒw0ØG@>f|}}###…B¡P(ŒŒŒ¬¯¯'뾨¨¨èè褦¦nÚ´IyÝúúzl§@]]]‘H„_¸pÏçÏœ9“Â7½þt6ýNH‘Á†^: ôp²¥A3Ö²ºOé1¾ò%U£©6ñÄÍü6º•–û¦¾„2 í¬²¦ÝBSCGÍ%ζìTµ¼‘ñ7™zë©ÑT5˜j.±6¯.w<㇮³×6×T§«ö_d!Ìmè”ƒí´Œ4”w£äp•Ûš>t MM=õÁ«ìú†·ÿâ(Îä>Ê„¯NQŠ¡ûÒ-5Õ´U‚ÍÅõ·õöØ©àA=¡å?Nêc0¡dEà=éZŽJBX›ÊT xsIJ§bXú/ßu•­–‘†–‘†ëëj…|š¼Ý¹ÁÙ³¥ë××ܼ©F§ùúöÛ¸QÓÄDF¦­¶¶8>¾êøñæòru]]ý‘#­/6|ý-–l¤d îÑ"súÇozƒÊ4›N±}ûöÀÀ@KKK&“¹páB‹E1âRWW·yóæyóæeff*©«££S__Ïd2"‘HWWMˆˆØ¶m›Š¢½1Ö'‡äLÌrEO›«Ä:¶Zí–mµš«ÄÊ—ÔûOÇÇ)åוièªN¶³üšà) í7¾j==ì®ãFômø®èÁÊRᣆ¶F©ŒŒ¦Aû]EM[]j£¼Úfšr£‰×aJßðö›+Å:6n(Þ7ÔÉK¡eØ™S€Ü7Øß +Ò2R7ÎT&xOº–£’Ö¦2Uäæ’”as¥˜aõ:ÝZ ÞaåmQºq£md¤‹··¤±±8!áñÌ™ƒ/^”‘É1C»oßÁ—.ÑllÄÕÕÂË—K©û(ešM§`±XÇŽC÷îÝ;zôh a&“™””¤¼.›Í¾ÿ>úQVV›ÍnoÛ¹¹ÞÞÞøA„¨«cKÃþhÆõ/[tûÐõ¥-èZ €ŠºŠ¤IŠ>„ZªÛ7tÕyÐ  â¢ðίEþOÜäeÈìw§ ÍæÎƒ„—÷†&:ýbqÎ'»¹“ÙÇø<ÄÒx˜î%ÿ'iÖwnZ'xúzlî›[šf}÷¢ßcwf° n8/±Öë§}拇'‡ä0,µ:åÛÀeÖšúêÇ]²Ïx=4ñböT5uãaÌÑÿ²%½ÌßZ¡dº€L{Pò£ÎVMwb80ÆF¡vÜ%뿌ÜtßåÏ¿!½ oOÌ·«+ËÛ Nž>/¢Ç³=xðhÊ׳géýúÉ|ÔVSóbíÚª“'›ŠŠ4MLLüýûÄÇk®ÛÙ >wŽîèhåñn»¸Œär¢õ(Ø)…ú|¾†‘@ÒØx™ÁÀŸ^ÑÓó‹¨ ††2ò2n\·±±Š2™øÂ@ ‡sÓÉ ÿ¹SùR¨£=€.sŠ´µ)V74”——ý–vôhIbbñŠêzzý6m2ž86Ùl6ä#&;ö…s¤•´ÉY^j9Þä£aÒ¬_ä¹/ Éäßz…wøð³ðp—ãÇ™nnŠÆtTNNý6o¾jоdLËÜ|è­[Z––]Ëúýª3‡u9q ÿÌ™'?ýdüêlo¥Ù@ †µÖ)I3b9Î`àRkQM•T*•J%ˆT*•J©A$òow=ÊË £¢gdP8:;×óŽÖÌB =\3 @ ½Â5³ˆT"?×#•HßçšYy—¨© ;‘ޙ‘îäuõÙÕöþP&,ëšÝT‡|è\þ/M>ÑÝk,™<ì£@ ȇÔÁz¿,9ºdëÌ­“\&½uȇNgçzàž‚ëþþ|¢P(œ>}:ƒÁ066^±b…:ŸÏ·±±Á«#m```hhCø®X2et+ß2^÷W]Ý_uÇoŸËÉíÍOØÆÞ6½|€!—“ëëìû¾Ô!:¢šªÚjž_Q]YÎ羬ªxQÉ¡zQ5ì£@>®ûûëÏãY°`N/+++(((..Þ·o™z||ü‚ ð)»víÊÌÌÌËË{üøñ•+WöìÙ#¯E&£ŒîóÊç>}ü\ü8ë8œu?¿1©cžW>‡U é4‹›5Ô4Þ—:äSöQ ?§OŸNMM544444Ü´iÓÞ½{;pC&ùùùçÎ Ãëîß¿?))ÉÂÂÂÂÂ"))éÏ?ÿ”×%“¡ÐÅXqjEÄWA#ƒ˜4&“Æ ñUD©lÜbݹu¦‘¦ŒÅŒyûçµ´µP§7‹›þëg½=½½ÀÍâfL~Gæ»evš 5]W¹>(kß´V"•ÄüciB_DØ jQÈ£ƒ(*A*„£)Mâ¦9ûæ03Ì–˜­;·“)æOúß$Ý_ui¿Ð|÷­UV7TG …˜nuCµi¤©°QHæÌXNjFªõRkÕ`U€X"?nalf°áÂù'"a@d%7:óøŒs‚³æBM»ev\'Ø~K¾˜„M‘,S|‰°L©‹–Ušemµùâf™tB-2÷d²nik™».Z‰ëϯ' >¾ P´7¼Y2u1²ÚW¦U@`ù€Wð§?&‹ŒŒ\¹r%öÆ&ºyyyn¯_Ó2dȼ¼M!ÎA ;ÂɈåÇ—×6Õ¾H~‘—{ýùu,}âÖ‰¡>¡•*y)‘"¼x³dê2bdµ¯L«€ôB°›óЍ qkKƒ¨FT+¨VÖ¸ÕU¯¬êUi%§„WþüUé3NI~YÑã~ôžd_óöô€¿ë|ülß¾=00ÐÒÒ’Éd.\¸ÅbÉËDDDlÛ¶MEnO(úúz&“ ‰Dºººòºd2Êè1ŒxuN>ïħ¼sЧ¿vZÂ/A^ð_˜2M©ÓM™¦XzqU± Ó„:2æzæåkËѱwd'"32ß)L™¦¥Õ¥˜KXúô]Ó}¹ˆ³–#Ý!­Ý\‹Í»…ú„¢k)6_Ú96²Ëþ˜ë™WSxEª«ª7¶6¢Ç‚&<Ônè‰_NTm¨Ú2sKà_ò‘S²ÚìTÑ®F^=’u„p½™–’î™1Í0±êJïT{ëZkìÁV }¤×1þüòòò¦¦¦ôôô„„„¸¸8ùïdòSEhúìÙ³ccc+*****bccüñGy]2 ]Œø‰ñ)Rvfî¬k®«k®ÛumWÊ…”¸o:< ?^%ªªU… ›å>‹:}†ÛŒÐ´ÐJQe¥¨2äpH€›‚M¦‚¿ü+°¨ª¨MÚ–ËÉ Ø­@^Ÿ®_À+ ü(À- âH¿žÏ¯çã—;4‰›h4š­DP‚ºý|l]sÝÖË[u´t\­]»æ`Îð9‹-.–×4Ö„¥…É|JºX»¤œOilmäÔp‚cÂ3ÿ˜ùäÕtrŠpT‰¬˜2Õf§Šfe`u5âêžë{VŸY­¤–’îÍtŸ‰zX)ª =ª0ømo]k­þöQ  ü@Ö‡ðôôôðð`±XÛ¶mKOOwttTÞ`PP——›Íf³Ù#GŽüé§Ÿ”—QF×ÑÔ1#4#ýAºE”…E”űœcB/ô3í‡ x9x9'8Û-³3b­œ´’:=ir’)ÓÔ!ÖÁ!ÖÁBßbÕäUÔ¥[:n©—ƒ—Oª}}Ö³ü]ý©å#¿ŠtKr#|0$ú%êhéØ,µa¯`³†ý¾tÏì=áiáŒÅŒ/7|9Âa^%Ô'4äpÈ’±Kºì ~B|óþ.‰.ö¿Ù£Fx(BÀÝ?ìN®¢7b݈ÑNãm~.~S¶Oa,fD‹>0`û-Šbâ!«ÍÎÍBßâJä•¿îü•x:Q-%ÝKœ”h@7°±0`”ã(…Áïl{ëZkìB«€|<·t¸_äƒãÓÙ¯‡ì•£½üU¤O¹OÇo_œT Û*òÉ÷ë@ ½ˆ°´°¸ q-m-G"&š @PVÇ…ªª¨¨¨ª¨ªªªª¨¨ªªª¨¨¨¾>UiOTQU•Û}”^óY p-ȇŒ‘]¿åýšÅÍ“\&)œÈ€@ Ÿý?ë?`°º†¦ššµäƒ{7`ù` ›Ðé=!>!ò¯ƒ@ .óv×Ìþ÷øâ @£##8âñôOWŒž<•@ ä-÷QRR@h(àrÁ‹`À0mÉ—E (/£Fテ•@ ä-÷Q.]þþ@_èê‚ðp“C%¬§–,éG‘H@L 01t:¢×ÛH9œ¦&°³¼ÞÛ«¹üü3ÐÓzz 04¿Þ8Læ…„Ø©Š HMÖÖ] #ƒðp`l À† ÀC¨X\ &Mºº€F¾¾ ²’8Ó–0w.`0€™X{a!ˆò(|m|¯F³—Øìm>Ú¿úìªÍR›.gÝMõ‘w´¥¡lÙ||¨djkÁᅢAƒÚO““AVÈÎzzà×_At4ض fÏ;v€ V®óç@l,¨¨……AÀœ9`ùò7žú„ܹ²³±1¬Xòò@NÐÑ ÀC¨8q"ز> Z[A|<dº|9¨ª%%Aþå^„„@ °¯Ð›pQ†%G—l¹u’ˤ÷¢þ¾È/(,(,êÚïzÞÅž‚ &&Ha!é§èŸ¹9RRòz)[äiû6R—‹˜¾ÞFÊÚÙ²){so/ äYûÎVHAbiÙa\&/쀃ÛñÊÊ )Û„‹Ì7¶ï"R|cû®Äؘ8SKËŽ€tøFX@ˆ’{ b /_]]=mÚ4:Îb±âãã),WUUY[[ãÕ¥RiTT”¾¾¾ÁÒ¥KÑM‰šq×óÍåäúþXGg±Žïï¾ÊõÚÈSì)øaùù¡äc­ôÞÿ·í¡}Ú/´Ö¶Ö.Ûì¦ú{ÜS°µµ¹µ¥©¥¹±¹©¾©QÔÔP×X_Û(ªi ê„õµQ ¿¼ä‰üž‚ïâ=³jkÁ¢E`Þq¦\.èÓ§Ãg ÂB”nlˆü^$ , ÓéeeeÅÅÅûöí#S_°`>e×®]™™™yyy?¾råÊž={z6ßç•Ï}6úø¹øqÖq8ë8~.~cRÇ<¯|«ùøh7c¯`~÷êï´ÒÒÔÐÜXßÔðF7¥¾®ZT+ ÔzGïÂg2Ad$¸{—|Sôí  ¶¯ü07ååíËiÑN ÊСàÄ PU¶l¯÷05%¯7À*.&¯w¶RWí„€4wssP\LHè€BÅéÓÁ¢E€ÃR)¨­%}뉙Y‡Ï%¸Ý» é§OŸNMM544444Ü´iÓÞ½{q ¯cf7??ÿܹsaaoìù²ÿþ¤¤$ ‹¤¤¤?ÿü“P·³ùb¬8µ"⫈ ‘AL“Ic Šø*"áT6¼¿îÜ:ÓHSÆbƼýóZÚZ¨Ó›ÅÍ?ÿõ³^ˆž^ˆ^àÀfq3&¿#s‡Ý2;Í…š®«\”=@Ó%RIÌ¿1&‘&ôEô€Ý¢f…<: ®¤B8Þ$nš³oc1Ãl‰Ùºsë0™b~ñ¤ÿMÒýU—ö Í÷wßJQeuCµq„±°QˆéV7T›Fš …dþÈLy¤f¤Z/µV Vˆ%âð#áÆÆa.l¿§@X™¼Ðƒ3Ï8'8k.Ô´[f÷Çu‚ebòÅT>D2%"3…—'¬M<„a¡°Œw ¥­eîþ¹¨Ÿd;R˜"ô­;61bò*òÚ/Ì[ûу¼Š<‡XŠº¦hï8n2WÅÕŠ7K¦.#Fví(sMõfÞneölŸÚÚ— bcÁðá ä­¬€—ø¿ÿ€à`ŠŠ@[Èͯ·‘š9c× AÖœ]ca¼ûÚnA¦ïš~âá Šº¦hï>nøD ÇÈÚ^]FŒìÚQæšz7ëQêëªëjøöï-.̯®äxeüW¥ÏžäìÛ½[VXQZ@¸åíþ®gÚ4Òw¢à¾k¾q:v,;TUAL ˆ‰‘• ÒÐÖ{öù¥®® ;¿>€8S °iØ´éÍ!&*Nž &ãö*Y¼˜8S ìßö·X‚%K¨ éÛ·o ´´´d2™ .d±Xò2Û¶m“Ÿ¾ÑÑÑ©¯¯g2™‘H¤««Û³ù1ŒxuÃmFhZh¥¨²RTr8$ÀMÁˆ\ðÁUµIÛr9¹»ÈëÓõ x„¸D‰à×óùõ|ü„}“¸‰¦A£iÐJ%ø§ûØÏÇÖ5×m½¼UGKÇÕÚµkþæ Ÿ³øÐârayMcMXZ˜Ì§!  ‹µKÊù”ÆÖFN 'ø@Ƕ™Ì|òê :9E8nAVLeBÔS] ‹’–gºÏDƒS)ª =Ú#Nö”ÍqÎã„?ì{Àwß-ú{º…¢®;uQ¼í¸)Ù8»ÙµCqM½—wÁ©ªªnNM>|ØÖm;=‡¹§¦¬&x' ì£@>Vð!XÂÓÓÓÃÃÅbmÛ¶-==ÝÑÑQyƒAAA^^^l6›Íf9ò§Ÿ~êÙ|M3B3Ò¤[DYXDYË9v!ôB?Ó~˜€—ƒ—s‚³Ý2;#†~3aÂô¤ÉI¦LS‡X‡X }‹U“WQ—n鸥^^>©>ôEôYÌòwõ§–ü*Ò-ÉðÖ–è—¨£¥c³Ô†½‚=Ì~ö É=³÷„§…33¾Üðå‡x•PŸÐÃ!KÆ.é²?€ø ñýÍû»$ºØÿfNá¡awÿ°;ýAº^ˆÞˆu#F;uŒ{ù¹øMÙ>…±˜},úÀ¼ònPSaˆº`ªkaQÒrâ¤DºmŒí€„£Gõˆ“=eóëÏ¿æÕñÐÇyÀÐn-÷kö×ÔuÝ©‹âmÇMÉÆÙÈ®.\S²qýÿ~ß˜š²–ºƒPñöôȼq»º²}sÆ©ÃÓçEÀG¤7“¶wØ 3d M¬>Â.É«E{ù+GŸrŸŽß2¾8©¶U"È' ֯زaÕ²U›[›¥R)"•H¥RD*E×ÿD*•H¥R©TrúØÁ©ß·_ò8/‚EÂqÒ3„¥… …Ü:nÄ‘ˆÉƒ&ÀÀA •6q‹B1©Dä†haô vFvý–÷û,ö3}º>~Z Cù”¡Ñ´žåå*+̨®*û[cu>¤×B6¡Ó;'zB|BB|B`­ÁA x|'N»tþ´šºª¥­½ÑO ¤"¨âqÊ_Ž=^q%mïS@ ÝÇÒÚÖû˯ne^¬ü ¿ï±ººº‘±«»·±©…‚>JGPHï§èé…)‰¾Nƒ`>«{èÈ ØŠË^k¢ÊБ`4!Ho>] Oux#€@ ȧ†‘©uÏðÊ eyË=ÜG@ äS «çL yW>s¹Üž2eff†?Eâ{ÌI•„3{ @ ê—ûÿúû!ÆêSÂGz7›HOç@ È[z’ÁÛ ã{ÁfS·Þð2TÆPµ;]ÔÞÓda?ùt–è_ŸÏ>Ÿ÷ó¾@@-¯ð6Õ…¡‹ißËl~Û«nAr†/8²][Z[±”~œ·´´8~>ˆ/tçnU>A„Ädû~쾎ΉIk(vN†·wØG@ ¯LÀ+»w+SKS3 Tp[)s?‘¿ÞåïÔw3==æÆõ«ƒ…ˆÅm2¥nÞúàá£Ëg òrhÚ´„ÄdêôÕkÖ Õîß¼vùµë7Ú!“§¸*ŒÌWc|CþϱtÌíÕ«Ú!“§@ad44Ô'OšøÏ±tÀ»÷¢—„ß¹{p8í¿IêJ†±SkV :z¬£Ã¨¯oP¨¢°ìdAƒô~ÆNþ¡+ã(J²ß®ËW2¿ýõ÷gÏ_ˆûuý†M‰dͺ ¿þ²@[[PUÅ·µmŸµ±µµ©ªâ+ÌÈÌÌ´›®ÊX0Ð×G´µµÛÚÚ`C@z?èD†›‡WCCCjÊZ4Q™û‰2׻»Ʋ˜¨ËW®Þ¾sŸøŠËõ1 õÐÉÙ•ÏP§WVVÙØXcn+´C&O2‘™0íÐáZÅâššÚ¡nC„BaKkëßiÿÌ ˜Öµ0*„Á 744¢Çõõ :: …* ËN4Hï§±¾®±¾îmõQ\¹ükï³ü‡k’ ‡þÆ}ý•¦†FbÒš{÷³æÌùM46f½|ÙÞï.-}Ébµo¨««755¡ÇÕBaüé¾ÒkA'2^<ÏÿsÏNccõý¤ÇïfšÛ·n‹ˆÂ¯{051yüàê¡€W†M+“¥›˜cnc]§@™È pfþ>”6d°+`È×?öüIÓÒBÓßNŽŽ>D>zää¨x«8…e' ¤×‚Mñt}®GOùüyµÌÏA¿<+·µ!"i“È ¨¨¨„‡ýºå;"ÂC454ÐD¿IË–¯àóù|>?&6~ÊäIh:›Ýë¶MMM¯^q#–Ä(SN'»`Aþ‹l=ÈÙý¤³w…w3<Žý>›;ç‡èeqXÊÜ¿‹Œ.yQÚÖÖö$ÿéüÀ…ÔéßúûÅÆ­ä |>Ùò íÉS”HÉÈ̘º*iíˆÃ^žÃ×®ßH8ˆÒS·ÍÓ¿MZ½žËåq¹¼¤Õë•ÉKaÙÉ‚éµ`S<]ŸëY´0xôØo¨Ÿ¯ï׳çþlm×/!1yÇ¶ß eÔTUííûLŸŠ¥Ä.‹26f ñðâámffú[Lš¾iúÿΜ³søÜw‚¿·×eÊ)ãd,@ ²ûIgïÊÜÍÞø†6nee%v²ø—aîCý¿ °²û,0xÑ7ßøR§/[ºDO_Ïeð°_|5Âs¸B;dò%R22S¿õÕ‹¼<‡<=‡·¶¶LýÖ¿Gªû‘þ×F?Îþ~˜ÇPÏ‘£=GŽöîñý¬…v–,h^ 6ÅC6×£âíé‘yãö;ØJð»Ùó¦øû}ëïk@ d=}0t䄞}*ÉÛ42µîÙýzä÷çë©÷Ìâ-÷ì~=xË=»_õêëÇÇNþ¡±¾Nþ“áq^-Š|{ J¥Òÿw¨¤ä…¿ßDxùA ò)#?ÅC6×ó.ú(Ææ¶6ÖV{voWU…¯µ…@ È'Üp‡ l¼Dþ@†wÑiðÊrîßì:V @ Ÿ&ò¿âQø»u5|‚ ù}633{K–UÞºóS<ïs®@ %éë4¨ÇÆ!o³;;9S-“A1Åó>çz @: ì£@ }@ åh_Âã¼€±€@ Ò{Pñöô€Q€@ ÒÛøߨu~BêáIEND®B`‚pioneers-15.5/client/help/C/images/discard-dialog.png0000644000175000017500000004662310654174432017443 00000000000000‰PNG  IHDR (w²»º pHYsÄÄ•+tIME×ù72 IDATxÚí]w|Eÿþ^¿$—K»’ž )FB*zéHUÅ‚yAŠT¥(RDñ•ß ˆAi$´@RH !=—^.×ïv÷÷džãHî.õ’#ÌóÙÏ}nggg¾³3Ï´‡ÏÃË/Z‹¼Çiú§”ÔzcûUôŒZÿ}ÃÀðÙoäà¸x{ê•U;Hÿ Þ•ĹÅádj5Z\¢Àr+WV]~Xõ´ñ®Gáï+\'®í ;1j„¶ŒhPŽžGÅã<…\Éîî]pòâ3ÿ&oyAÚ,ƒÉðôð˜6aÌgGêÆX{¶T0rë=ñ©Õ }rÇÆ;ªSÌëĨÌB0-Ž€äaöWo,¡ÙXã¹ETŒÀq£vÑy«#Ë |ç™TA›3yø¤)¿fÛQhŒ–DÂggú}ð#„¸sæ pïÆ· ¤JO$”$äHÈÛG†ð&† <¬jšƒ7ÄgÔ¿ü˜!|wˆA@µ\s+»fï•B¹€–DÀ÷—ò§E;ól™#·$ÀäHᤡ‡QT­Ã¨”jþJ.?r[LÆC†?bK‚~tä©AË &¿&uPuÙÖªò¬‡_…Mò)r¶ÕÐÊ«!·ˆpÇ‘úÛͬyUÅ÷‰.ý‡ÂEZuë}6‹€Qý{Õ$ž$pŒ¼$ypÆÊ+bÙØn®6Ë7ïéÿÊÌ]Û6ñ֨ʲ‚˜ÐK°x”¨´¬bÌ›‹§Ìš/TdÈóî‘á3é”×ÖŠ6yû®ÆôäÏï˜Z©‹W M›¹ò—ð³JN¯™.xw°GFvÁðï¿1÷Hûªkl¶þí¯F  öH~ø¤ÿ¤·Ÿø}Þ÷±"ãA3{z´ó[ýÝ.Þ|;qÞ¹¿ÏÎíï6ÉG‰ã8>A%~©yÚ8jcÉo…I]¦D˜ Ôʪ]íÿû~’guŒ¿ã¬ùáô1Ý‹lX9LêC©gß'äÁxgÆ}æ{)™Ë”µâ®×ˆQ€Be°ê¨ŽÀwrR—çhõ’©È»gŤª5š¢œL–{ècû’§¤/cJÉ”(!lX¿®ªV¦uÞu8M+­€_o‰³sr~ƒ.Р_¨äÞqowîû_Mn²MÀ0nÏqCíàë¯6J”æ³ûlj“ëß>6ľßñ­šÊ>•"€ÉýüëÒ/ÆÌ&€ý»·cLÇß“ê`|ÿºÔsOÛLŠ"ïž~ŒºSý¨'÷r0˜üñ½-5©+wCòöMU0¤*\®‡:4ʵØßñõò;? ldl- SYkJ=/Õd=è|¦‹Œ|N&”WVZ¥Vö\3òËõ¢yýœüôŽÅ’Ÿ®äÜ~ð“”ñm™P$.µöH³qd8z0E„ZìÆyk »¿—“N¡ØqmÕUùšª€ÞPS+± êMcsîBG[—–[û¢Û8I¬=LtIèß.pàÀ™_÷鮺ÊÂd+žÆÌvâ0 ª¦ÆºG¤„b B¾“ª8ÅÊ£—~­Ǫ́'ŸgËl©IT–m—%‡  Fè˜×1 æ&^…ª,.‹Na ç„ßo¡B£zõÞúÇÚ"‚©%ºÜl™¢qaøëŸ8 ˜FßÉ»â#‡þçάŽ þäÝ9ËÆúLHÊ`ðº•KÔÎö,7a-Ëšîà4&+€|8ŒOÖÿpýêe*àw/œ P(¦Á”µÏ 0Içº@)“¨]ìY.B~ÓŠæàÎwä4I0ýÛIOx½²ªFŸZI¹1³«d¾-ÓÑÞ^Mcñ„®PZ^‰k”˜´¨T*•J’‡MFÝ8ù­0©Ë*Cc0`Ú9ú‰ó7\}ƒõoíU+‘•ˆ«‡ Âß^è1ƒNõtb0ÌkZo—;©Oöþßo 7 =W¶ÖLö ê=´Ä*8µœ *•Rrï8®»+€Ï?zÛž¶6Vïñ$§QjJr¹>QK–¯zö ×>G* ˆßJ`ñól™×ÚjÁ`Ï&Ç`ú·ŸHÀ¢wçºDŒuŽž4bæû?íý201³ÿI)€Ù3&Ò©ÚW{»À‰Óç© 6iÄ5*Ø7šÍ Ïîçf´J¢Ò‚0–üV˜ÔeJ”Ñ—Åšš¢òÒÂ~áÝóÓné{:sÁßÍM ÊÅ×»Þè+ùÚi—(±ÜÒÚu{Oý~h?•óøQ­Ÿ[ùWRÙüX~È[QAIÉ)ݲy+…BÑVçý‘`[›—2uPð›ß®•kÿ{5Wöð‚MÀð §²ÞëËýyÇWåÕÒÃ7òžËØ¿ßcå¦ íu:6F\£<ôo~ÿîŽÍO‰»%’üÔ)ƒÏ ¨Æ µ@räR¢RœÎšeÌì×¹Úò¬1ÃÍžîP!Õì=·ÿàQ¦ÀŸBclù+ûÃþvß®_VR)9t§ì•P‰¨ÿH(1˜üV˜Äp î"ãyr-â¿÷ꜼîšÛ­”F¥à¡Å& K•V§¨¤€ @€M¦(*ø]ãYTžûš|&*ÂdÓØv ;:י²¡;y…JzàöËp Væ'ª 1Y@³²g»t§stAwB%•gßÔ”?ÆTR*ÓÚÊ£“ßÊuQå&Èsná*•Ía»‡É³®ë‚Ò–´WÖ*²n¨KáZ5ÕÚží,ϺÖÀO³Ÿ»]U§Ì¾©.{Œ©eT*fçÊäù0¸š“—1³qY¥üÑ5uU¡QQYÖ G/¯•+¤ÙòU‰ò¬x\-¥²lÙaòÇ×LXn,ù­0éE/NÚªü‚Óë v=áÙTc6yƱâC„4¨QhÏ”º§ð&tfnéKÏ\ ¨•lϺî3h v× VSDèæ¯(@¥Ð™TkŠ•y®ó@w 4J\^E¨d@h P,ª­Â´B-ÃeU„Z€Q(4Š­€jeOhT¸¬Tr‚À€J4J2(ý`ŸuÕRBZIh•@à@cP¨tB£xÎO#³õ/j^;…´¢Ú8QX£f®ªÃe• UA•Fµv rxB«Âe ”4…ÊÐYb4êFÉoI/~qzF°kw’^–׊Jÿrà ã9c©ÂÀg‹ *²²kw2©pz8 =ÿïD3º,Á>üd±“ÐcÐÐQº]ìq4t”“Ðã£EŸ½XlébU€þ ô‹J°-_o LIMû¿ƒ‡I—ÿ;”’š´åë ]þ1U–T–X²m–l!"XÓ`³Ù¿ìßÃåÚnüjKm­¤¦¦ö«¯·r¹¶ÿÝ¿‡Åbá8þÝö]a}„nÞ¡á½·mß©kèÔ¬&*ZòÒÿ<Õ׎[ÿAÃÿ¹piÝÆMA¡‘ÎîÞƒ†Žº›p¯É0oÄß9f‚»ÈßÍËïÕé¯]¾r•ôМvì‡=ûÂ"ú8»{÷í?ä·£Ç5€£ qèðoƒ†Žrõð ‹ÒÕDðãÞŸœ„|¯€ðE‹—ÖÕIõƒýiÿ/={Åðœ=›4£m~DAìþq_dL?gwïž½b¶ïÜ­ÛiÌX[—ËÓhðAµÂ¤.5óö}¿c[eUÕW›·~µykeUÕîßy‹¼`ûÎï×mÜ4qÂØ¼ì‡ãÇY¿qóŽ»u7R(”æÇ’œœr=îÂÞ“þ0cæësª«ªïÄ_ýåç½)©i︨É0ßyoa½ûû~Ü•™òé'íÛÿ_²Žo²!Ú»ïç«Ö†††¤=¸wúÔñ¿þ>oÌBƒQÀ¾ŸþûÑ¢Ï\]\’ïß¾zù|úà Ý- …"þúåÂÜG+–-ý¿ƒ‡—­X¥àÌ̛ÿ^®(Éo‘:¸‹üݽ£ú ØòÍwÖ„OýˆvíÞ³rõÚ˜˜èœÇé¯Íš¾výW»Üg:mÉeý¨=¨V˜dù ôïsíÆ­æöåÚ ?ìù‰ ˆÞ{gõÊå¤chx‡)÷~IIiPh¤‡»{Ò½›dF£ÑÊŠsuõ™~‰oPË@fzÏÉI£Ñ:»{@Fj"ŸÏÃqœïâE¡PÈ2¦—O€F­þûÌÉÝYLfƒÀMt¢"¢csóòïß÷òô€Ü¼üˆèXÝ-͉"<ªo^~AÂíÉJÇ 0 ¸Šœ=LÖûèa²“£csÌh€é³fðÞ;1ÑQUUÕËW~ùçé¿æÍ½ÙP½qD½"ûä&ܺîí-ª­•tóòòô¸7ÞD[—Ë£6ö Za’%£•߃­X¾T«Õb¶bùRcIi)ðxNÀçó@\RÒ:³xNNÀ`Ôïe@†F¥R¡)3Ëÿó…J2bŒ‡ÈèÈW®^kîEÅàîæZß,<ýÓü(ŠŠÅàéáÞÀÿÍ[wÆN˜âåÀsö¸Š ªºú¹ÒïèØ 3à·Ãÿ7 ?‹åââ¼uóF8vâSE½ˆŠÅ%Ù»¿“У›™N`[rY?jcª&u©." :½¾èÓhÏôÁ>TTTê~]œõ«m²³.—´—ÝÆÂ\ðö¼ìÌ” çN±ìó¤¤ï¼÷Q3$‹2Y¾õÿ4†±(Ü\] ¿ a_`Þ;ïݼugï;ÅOŠò›®)šoFÃŒ¤¶,+Ik3Ru$åâ<Ó l¯\6ö ZaR$˜ALŸú*ìþq¯J¥úþ‡=0ûYä%‘—'œÿç¢\.ß´åÛv‰ÎD˜³ç¾þ0#88¨¿¾Àf±Hw.×–ìq óíùs`՗몪««ª«W¯Yo̧±(Þ[ð6|±âËòòŠêšš•«×>-y8pm¹*•r݆M¦“Ö|3`òÔY.^–ÉdÕ55+V­€™Ó§5ó.xg|¹ncm­D*•^¼tåÕ鯙N`{å²±Õ “^‚-]òéǾü÷“ÞÝOž:³légŸ|ôyiÇw[ýý|çÌ[ÐÐð¨Èˆv‰ÎD˜o¼6ó˵E>ã&NŽŠÜ·gé¾dñ";;nDt¬±YÄoÏ[³zEbbr`Høè±“Fn,vcQ¼=îöm[ŠŠ‹{öŠî?h¸¿¿_ýôÉ;üý|'Lž;`˜O·&Ê}³Í€Þ{gïO?…F÷ºw?qåò¥ëÖ¬l.ÁÞž÷íÖ¯SRR{…‡EíÛÿßÞ[`:í•ËÆT+Lê‚“fœä@@@èè."""""B'ƒŽA{A¥Ruº ,“o`-ÁÂVf!¥\iæB`T/W!“çgˤ’Nè‡P(V6¶®ž>,ß„7qaþÝ[×ËJÅ•e4*͉/ˆêÝ_äã×YÙÚ^e ëŒÅbW•—äçdJ%5íW|©Ö¶\OïîŽ|gc~$µÕùO2Ccî4*Zò…NÛãxYaöƒû·z„„sí ú)*Ìÿ÷êÅW&ÍðìæO£Ñ)@±,ÃpìqzÒ¹Ó',–›»§±l}’õèæ«¥âb3™ÑdŽÑ¨4ž@Ø;v`7_ÿ——`µÕ•ÙR|ü‚m©”öaâ^W]•ý(…FgØ98.¾¹Ãz; Ý Ç0mÇ'œï*ò‘Ë‹rsC£ z¸uÜ”Y^ݺŽw†…&àÐS¥RÝŽ¿:yÚ=æçÅ]úgÄ+“=DÝh4³Ú­ë>_½i·ÉZ ËLK:{ò“Ér÷ôzI'9r³Ò}»÷t¸0,Ñ.ƒÁr¸ø†çf¥‹W.­µwrƵZÃï”ÃÎ/—Ö³°ª¬ÄÍËÇ1Ç'NœL„åüáâ!ª*3º ?þúå1§÷ vpäqíìÍqP)TÇ5*…±Ó¨}ý‡wóú•4Œ]l-bü¥ÓQF0í?\Æ üÖå¿úgðêÝÿ:îuL«éÄ´×IjïÝ8Õo„Á«{wm^²ê ÓLšüê¿·œ,#í©“ÔîÛùÕ; ?7èçûo¿ZøùGžùÌX³ô½åë¶©ŸìiµZÝ÷Y$ª«+ùaÛû‹þÓd€äZÄ®ÖEÄ ¼½z†Gb879êÌ´›ŒB¡Žÿ~ü(Ñ©v6iã&6 ÜL=CýçCàÏuž““¼ùÖü?ÿÚS>©ÉbЕ»ˆ‚ :«s¨;LWA>yÊT‚À-çÐÙc¢f¤PÍ^P© A8Ž‘GbRÒøISž<É?iJbR’ÎÇ1jKf°:`]vû>‚hQÁºxú`{VS[*P¨ÒÆãÇŽ–=¤…ÆJ¿¹sB¥Ó?8¦MLLœÒº–.!8Ž•‰ó“®ÞºzF*©èmÍá>ßÖgg$]¿ðûÕ¿¦%ÆcZ 顲¬èöÕ³qÿùÏâ‚,Žz‡ñœ~:Opüi‹acë°ï§Ÿƒ‚Ü„‘Ñ}âoÞ:xèphX¤½£ O쀴´ú—~J¥êƒ…;»z:»z.üð¥R¥»}ç®Ýþ=‚8\GÀ0lÕê5^Þ~<Ë›sæI¥õ»½q}RrrϰȩÓfž<õ§Z­n`˜Îcµq’ãÀ6lpuuuuuݰaÃ/¿üb¸J@sJLrTTV~ûÝÎÈÈp˽{‰W.þMn ªÃ¦-ßfdfÆ]:—x÷fqñsKàÎ_¸8mæ[¾Þ°àíyؔᘶ(ÿ‰ƒ#¿Õ!Hj*3Sn\:U”—åâæ=dܬ¨þ£ù.*¥¼Ï¼¬ôºÚêØaGLžËd[åd¥“Y˜ž|Û70lÔ”yýGL‘K¥ &˘c Æ`ñêÔºöîÊ•¸óŸ)*È™>õÕI“§ž?ÿÏ_§OæNž8aᇓÞÖ¬]'‹S’$&¬]·^w{BBBüõ8im%Ä–-ß$&&Å_ËÍ~Äf³W¬\Mz4pÀO{~xœ™6aüØ÷ìóñ Xôégwï&èš]=ækÁÒÒÒ"##Éÿiii†'9šÓQhQ±eïô‡aöövýù»îtýÚÕäž¡úøíØñ“ǸººÀ†u«uîû>ðíöGèjìú÷â)`0Y¡‘ý[H lk›ˆØ|gÓj4*y]µÁ‰¾â‚'QýFÙpì” ©È'àεsA½ú¨2•†a¸TRE§3ý‚zQi •AÇMr?ú«Îq׎mŽŽŽðÁï}¹výömßèN×oüšôsìø‰sgOóù|غeÓ˜±ã7®_û´uÚÀãÕ¿ü=ðÿÕ2Ùý†MÀ´Úâ‚'&†DôkÉ4ý3þDôVY^r?þ‚ ×ÞÙÕKàìN5ôª” •Rqý‰çr…ÁTÊ¥Áá±…¹2SîÐè ¿À^<+t|Ú=5ÝE¤]Ø©Óf{Z¦É{¬¬¬œjµZòYY¹H$"ÿ‹D^eeåºhœ]œuÿ‹Åâ°ˆèç†|z±Ëd²“§þÿÏòòòŠòòŠ%K—½:e²AoóæÍýðãE999Z­6--ý͹óI÷eËWö I¾÷Øo‡'Nßø«J=&Þ/µq 6{öì+V¯X±bΜ9¦'9´¬ÁÄÆ3—²½•c0kkëÞ1Qû÷î6íÿóÏ>]½fý€Á# >ûôcýKÎÎÂÓ›0yšÃ\êD8ñ„™îÊeR:ƒáÀö‰lé4½Á+µ „®žî"?“-“¨õkyïÅùÙI·âTJ¹• Gä¶æ*d'¡kZâ-¹´ÎÚ†  0èh°ù1<ˆ'ˆ£G麲 Æ„OW­übñgKCÂ"`ÒÄ +W,7xû§Ÿ|´í»¯Œ›$.)ñóõý|ɧäÕøã ®ié•mœE\°`Á“'OȆkÁ‚óæÍ3ÎafÍž;qüØY3¦’—9vòÏ3G =˜k fâõqƒKºSƒ¾qý—×iðª@À¿ùï°$ð„n<¡[kïn¢ !pL­”«ŸÎ"MæA¡€›—O·î! –•JÃ1­J) .n^~,¶ •FÃ1­B&1æ¨g@Ó“SgÌ:vä0ÔÕTè{0vjÅfïÞµ}÷®í làŸJ¥.þô“ÅŸ~ÒÒ§¦³Ç|]D …²yóæÍ›7›®€tÿW,[2mÖ›r¹üµ™Óýztë¶OÙÕЧ¹Æ`íIu™î¿J)o<ƒ¯Q+5jes› <-£di¶èì1Ñ2´q’£yχJ.×€ Àßþ2uÖ›ËW®±··?vø@HP y‰háR)´š¾ý`Ù«é)T iáÔé³:ÝNý£Þ7ÕEì°Å¾O—Ìõ8zègo‘×ÑC?õÐ[M£¬ù…u¦M|F% БC:×Î íÁqŒb¶IŽfv#ÉÅ¾Ïæâ.þE§ÑôM·Öõ F~I3CÈM~ÊIßNL»éØuß;Í|}ί±œ,#í!pÜ‹ht:Žaf.9”ÆU$•Òð©â˜–NkAùêj]D®½´¶Æ!×ÕTÛpíMdŽã8†uâ¡Åµ¦Ê(†ãŽa‡ìŸñÚ›8†YÈï¡ûq Ój54ã×ÑIPYQbÖ’C¡Rj*ÅúV<ê¤uJ¿ï×#ŒëèÔŽ»JIª*³2’üÃí*õ0ùŽ›g7+N'¦½¢¬´¦²4ÀÈ®R7ãþîfçÀ³ÌŒæä>î3h´‘¤‰ïßþ·ÿðñ.n"*ÍøyÇš‘㦙ÔÔT¥%Þî3'pn2À®¹'‡ƒ“Hnvº0,ÚÞ‰O³¤ž xMeyvfJHD_c~x—ž1w®Ÿ“ÔT™iã …òÏ™c¦Š•ʵw ‰èÓvuÙ1˜• ×͆ë&ò7Sø ™á{¹vžÝzçg+du8AtpªÉ}=»õ0¶ë(8ò„¡ÑYSêj«Û«êi¯úËÖÎ! 4Ú‘'4‘­Þ~ÁÞÆ«Ž„±2ðR¬E‰o_¸xø¸xøXrò½|¼|^ļëÄlm#Ð4}Wàv—±°ë½hF@@C@@]Ä—H̬Æ#‚YH)Gú``¶Ñx¤fA‰Gú`ha7G¶¶º°ø/ñ{0¤fL¬Ó-l‹ñæÈÖ¸wö•é¦öù$pLœŸt÷zp¯Þ&–tq‚‘ú`Æ_Y¶4G ÁÌÍJ2¼Ï”NŒèð·Ì:Ø9ðs3“Œ]µ [m¼9²Õ…p­ÆÔ0•ïâán¢t}‚É$5;{s„lkï 3Þ?Á ‚J¥v®>•J5±ˆÄ,lµñæËÖçFàØókö oð ÇÞI–šðòv‘>˜%[ØjÃÌ—­ Z0}}0imuZÒ͈~Ö®Î‘Т…fhš¾ë?¢s…회½Ó-l‹ñ“ƒº¯¿¤’šw¯k4ªÄ[WBcY?ýN¢¥Ÿü!‚µ3ÚïýÒ™ÃCÇÎjßøÛ×Â~x`C} &•Ô¤&Æwïíâî]”÷(ùN\ψ~ä·HD ¿ûìè•H:L©†Ð¼ Çq<7;=0,Vàâ!—Ö:8 }º‡æ=É PiäU3¶`eeå[¿ýîÂÅËâ’›ˆð^oÏ›;|Øæ‡`ùÒa¹Yé%E¹àâ&òò lQY²>X,ì âm9Ù֛ɴR)dä©#_(tóÔ¶j~¨-˜X\2rÌxwêc9ïÞº>ï­7÷þôsWªÃÄE¹µÕ὇„÷RS]QRœ×2zY°>X“šé¸}í\þ“L•RÕFã;$[ŸnäKj•\k_ZIàX+j¨´`_mÞ:ûY‹>þ°žÖ#‡9|˜®ï·~íªÝ?î‹K*Jòsóò¿XñåõñZ¦_¿¾»wn#e8œ„d#æ$ôغyãö»KJKztï¾sû7!ÁAN°²â‘o“Å‘o@^v¦³«W[ªaÇ+J‹ÄE9µU<¡©&—Ö6=É|P\ð×jyÎî=B¢ht:T–g=LVÈë˜,+‘_ «‡1Ç–4Ïü\þëH÷àȼ'j¥ÂÊšÓ£g¤B&ÍÉJW)d6n@XoŽ­=àþ(í^©8„®þ‘T•¼Ý7°Wá“L¥R>䕯RáVVZtûêi{G³»ÈIàJ¥Ò:¸kn¶Í똉`/]¹tþ/H‰0RÄhÖës6}µnÿ¾ÝjµæëÍ߬XµöÇÝ;ø¿qãæßgþ°³ã~ÿÃÞE‹—^<¦Ó &—I8¶õã"[y> ’ÔTŠ sÊÄ[{7/߈Ø,–5¦U›Ð³²¶M½ÿoNVº_@(AéÉ·Ãz»yùkԪ̔» &K£Vtl½‘µU1F[sìs§$ß½æÄwî?ÒšcŸû8õqÚýˆØá8†=y”¬V)ŽžN§Ó“n]Î{òÐÛ/˜,h ™´ï°ñ6 •ššpÍ`*xBž³{P¯>eÅ93R..îÞ\{'KËV¢)…h†‡Ö¬²²ŠÏç5ž®Ð «ô%Ââ¯_&ÿ°Ùì•_, ‹èÓ8À-›7:ØÛÀÂ÷lýv»%tq Óí©B£Ñ0më—Yš>˜A„F¦R©*¥Làêù0ùVXï¡4<Íxp‡eÅQHkK‹ò{cee¥”Ë|z„&Þ¾Ô#$Ь&‚Âcét†\ZK¸±TùvÛ‰/ºzHjª’n_)ÊË>þõ[±ÕülÍy”b:(¾‹È\stt(/¯pqqÖç•þ¬ ¾DØ» kÖm|’&—ËÁÈά$»à©•%ŒJ£áFöm°§Z0 eÁú`-&‹-­­$ˆzAÛJwJ8F'B­VÚÚó2 Žc,6[¥PÒ,¥Bl+©¤Š|…e,ä Ó–‹ JŠr¥uµBW/‘_°ÇNw{œ]ÄægkÔ€±ML–¬m¸Òºj;>Èꪭm¸­ÊÒôÁLÎÄ)0™l…\J¾`UÈeL&K_ëD÷‚ØX*ª+JKŠr+J‹ìœøžÝ\½|é –V­’×ÕX^¶åâÜNë"þçóOG½2Q£ÑNŸöª›«‹J¥º}Çè¢,¥BÉf±XlV^~Áú _¿(³ˆ÷ܬŒ€ž¶›•!tólË\3¦Õ`Z ©†ã„¸ðIvæƒç1˜VŸõú`Ýz²Xl™´.?ûa`XoHO¼åå`¥áè¤À¤šJƒŽ­›ä0âÒðTàꑚpÍ?8DZÇi÷…n^Ž7–t1–ЬŒ$ßÀðXަÕhÔJ¥\Ú 3:#[ŸNrÔ “ú€íC0w÷ógOmÞºm̸I•\[ۨȈG KuìønëŠUk ÞzÇÅÙyáû þ8uú… ˜‹»·J!¿ë28»‰Z4…háú`Æ,lRãRä’“™r3î4AÏ€°>µªq¤ÆR;†ë Q+¥µU&Ö‘˜uš¾%ÙJ@FÊ¡«Èñé¾eâªÊÒ€žQÏ×,íM0pwsÛ±m«á)çß =rÌ葺ӷçÏmà͘¤X§Cä$òkÝ ‹Ökl¡ÎÓ§4*Õ70,$¢?É­Z¥PÔ üKèôÎÛsþÛœÙê휖t‹ ùe%…yY½B«Å[ÜGk;©Ö¤¦N B!—€¼‰Û¥âEn14‹Å IKºýH­d0X½'0 ù©aÖ¥RMäe¯¦´š¾‰ÇóL‡Ád†F=ÎxÞg8®Uê^6âˆ`Ê/Ì’Ëh§[hñ{NŒÎ`†„ÇjÕ ýþÂËÞ‚!}0K¶°ÕÆ›/[MW@j•¼‘Ú}úÙÕFꃙcó†fêƒubÚMëƒY‚…­6Þ|ÙªšJq“~” …‰bÐõ &ò |”~ßb.}0c~¬9våÅy«¦”J­9v–la«7G¶6Æ0Õ¾!—JK‹sMƒ®O0¤f™¶ÑxsdkcÜ»y¹Å ë éƒóÓ¹¶Ñxsgk»”—‚`HÌÂ-lñH éƒ!jŸÑ#@@@C@@]Ä—H̬Æ#‚YH)Gú`F!.Ì¿{ëzY©Ø¢²ŒF¥9ñQ½û‹|ü:+[Û« t}‚!}0c“ÝE…ùÿ^½øÊ¤žÝüi4:Åb^…a8ö8=éÜé ËÍÝÓX¶>ÉztóÆÕRq±™Ìh2ÇhTO ì;°›¯ÿËK0¤fLbëvüÕqSfyuë®Û ÚràÐS¥RÝŽ¿:yÚ=æçÅ]úgÄ+“=DÝh4³Ú­ë>_½i·ÉZ ËLK:{ò“Ér÷ôzI †ôÁŒ]­*+qóòÁqÌ2õÁ\˜V«¥?¿•ÀÕ½¼¬äåí""}0ãc ùÁŠefã&v•!÷3/Á(”ú`ÉÉÞ|kþŸ í©?Ÿ„ôÁ:©ˆXöÍT •°hù"S5£þFqfë"Rô¿K~2qòÔêêšñ“¦œüýXhÏÝHŒÚ’,ô¢¹Öüãâéƒ-òߌƒ0ݪ·ÑRAZh¬ô›;÷È."ŽiqL›˜˜8yÊô¥Kå=^ºdñä)ÓÉK†™°µ`–®ƒLRÝ1qQ( &,ìãÉžìf¯]ÿÕª•Ë^›9æ¿õ¦•{íú¯Ž9HöÃ[4iY ö0#sú¬ÙžÝzxvë1}Öìô‡]¬ÄWW–¥Ü‹¿qùôí¸¿¥Þk¡®Ñ£uw5'ÌÎiÚÞI3Ýü¶¥o±téRGGÇeË–lêõ£øõà/$»H¼6sú¯i1- XNNîÄ)3F‘–œ–œ0zÔˆI¯ÎÌÉÉíJ+ÊËr÷òé=ptxß!4:=#å^ËèeÁú` ¥S:~1}úíܵ»¬¬¬)¦š©6Ö{÷î½víZZZZjjj\\ÜþýûDQ_OÑé´5—¾‹¹Æ`›¶|ûÁ{ïÌ™ýº­-ÇÖ–3göë¼÷Îæ­ÛÈ«NBöì éÍsö ÃÖmøº{`˜›—ßüwÞ—J¥/Á‚Ãû:ð„4Ádyû×ÕT¶´®lpà8V&ÎON¸zëꩤšÔkЂž‘týÂïWÿ>š–i5¤‡Ê²¢ÛWÏÆýý[üå?‹ ²L86«k4O`cë°ï§Ÿƒ‚Ü„‘Ñ}âoÞ:xèphX¤½£ O쀴´tÒ›R©ú`áÇήžÎ®ž ?üD©Ténß¹k· בÌñU«×xyûñ.oΙ§Ëñ¯7®OJNî9uÚÌ“§þT«ÕÍ·°½&98°aÃWWWWW× 6üòË/†{¡Íë%PÌD°¸k×§N™¤ï2uʤ¸k×u§¤>XEI>lÛ¾+)ùÁ•‹g¦%²­ØkÖm|áZ³šªr[{ÇVß.©©ÌLM¸qéTQ^–‹›÷q³¢úæ»x˜Ð1y.“m•“•NfazòmßÀ°QSæõ1E.•2˜,cŽ-á<ßÞ]¹wþï3E9Ó§¾:iòÔóçÿùëôÉâÂÜÉ',üðcÒÛšµëÄbqJRƒĄ‚‚‚µëÖënOHHˆ¿'­­‚زå›ÄĤøëq¹ÙØlöŠ•«IoƒøiÏ3Ó&Œûãž}>~‹>ýìîÝ„Æí¯ùZ°´´´ÈÈHòDDDZZšáIRܲ©Ã\“UUÕúú`Àç󪪞ÑõõÁ:rü·ƒ®®.°zÅòþƒ‡oÙô"qLZWûäQJP¯>­ÁÒôÁ ß];¶9::À¼÷åÚõÛ·}£;]¿±^²ãØñçΞæóù°u˦1cÇo\¿öië´.€ÿwðÏ“'ÜÜ\`ÝšÕ1}û}÷í³]Ö966¯¿6ëõ×f݈¿9wÞÛ{÷ío¼Ÿ¶ù&9¤R)‡S¿Û­­m]]1_>{ÜtPÑýG¶ˆí- ˜ƒÃsú`P^^áèøli©¾>˜¸¤$&vÐ 4…¥ÚêŠGi‰=zFZY·d&ËÖ£’Óô òÔÑ‘t±²²jpªÕjÉÿeeå"‘ˆü/y•••ëqvqÖý/‹Ã"¢ŸòéE$“ÉNžúóÐá#©©i“'O|mÖÌÆš.TÓôm›äàp8R©”Ëå@]]­­­!S`ØØéMuLj(fÚq`ÿØc'þøhá{:—c'þØ¿ŸAÏBàüÙSúl|QP^Z”ó(504†ÃmÓ’+KÓ£P(fBšq*ðóróºuó€Üœ\>ŸgPÐÅY(¼|ñ<ÙgÑ¿wõÚá_œùëïØ¾}Þ™ÿÖèQ#ë¿ûj—ùZ°   „„„!C†À½{÷‚‚‚Œp˜hr¡6ÕL³ˆŸ¶èûÝ{~ù¿ƒuuÒº:éÿú~÷ž%‹?1èyîœ×}¶4'7O«Õ¦?̘ÿÎû/Æ,b~vîãôàˆØÖ²ë¹á0¦Õ¨UrRlà¨i×ìÌ4:£Á$©¬U^’'©.dÝŽ;]WS@¤'Þ”ÔVÈêªtR`Æ›7MßÊy‚)“'}þŸåååååK–.{uÊdƒÞæÍ›ûáÇ‹rrr´ZmZZú›sç“îË–¯ì’|ÿî±ßOœ0ÞÄW•&,lãlöìÙ+V¬(.....^±bÅœ9sLOrh5Xƒ‰g.-d{ Z0__ŸßÿºfÝÆ•«×@Çûøt3èùã?رs÷¤)3JJK|}|úñ A°œG©p?þ’Î¥ÏàWš¹ ÎÂõÁêñ&õ, ž®ZùÅâÏ–†„EÀ¤‰V®X®ó¦ïÿÓO>ÚöÝŽWÆM—”øùú~¾äSòjü¿qoÜU61yÐÆYÄ ˜Ñ^Oõ0¥®¶·¤9¨ª­C@h´£ñ޽• ×Û/ØÛxõÑ‘@ú`Ë×óò ðò xóéƒ! }0Cí3zˆ`¨‹ør郙ÕxD0 )åHÌ(>˜¹Ë@×'ÒCú`­Òk>Òk>X³€ôÁŒ]Eú`MöS>XÓ@ú`F-Dú`¦»ˆH¬™Ý9¤fdŒôÁLÁ>˜e郵íé!}°ö†“Уë1 éƒ!}0Ô‚Y >X3-ìúú`݃z©ôt1Þ˜3_÷_¥Ru «¨¬ì%þß‹§ô–6aH¬4ÓÍo[ú¥ÖÜ,*2üܹ&Œ Õ55çÎ_¨¬ªrrt€3gÏEEEèd^t´zkDÂäÖŸj•ª¤8·¤0'ºÿ¨ç󾻨M âŸß=¿cлoÿ×_›5}Ú«¤|„ ã;@ ¦L™²ÿþùó犢¾’zª¦Ç“g.æÑ›5cÚoGë îÜMÀqüîÝzqº_5cÙ”}òéç"ß‘oÀ¢ÅKu+ߌ¹wÉ™¤†ôÁZC°áÆ&=xPQQwî$ 4àö» —¤¥?>l(løjsIii­ëwo^/,*Úøõò^cî–‰ÛqÇ_þó^ü¥ÂœGm©ï‘>ÒkA‘Á O?îøï'ß}gþí;wW¯\¾zÍøíèñIÆ3t8ñÇ©Ó#£¾Þ°v”ékV¯0án±ýC‚ 䲺'™)jº›+?SGú`H¬e³ˆ3gLýðãÅoÍ}³¦¦6*2¢ººZ¥VÿzôøO{¾'=”—WxyÕ/Öôòò,/¯0ínÉÓY6nÈ{7/µ€`H 郵…`!ÁAäˆ+"¼DDôúiÿ/l‹t>Ÿ—Ÿ_àí-€¼¼|ÏÉ´û 0¢jCéƒ!}0h鋿Ó_]¿aSllè׷Ϧ-ßÎ|*ñ“&Œ_¾òËŠŠŠŠŠŠe+VOž8Þ´»"3%A.­#\¡=NOä ]Û2ÉôÁà¥×kÙCuʤ:i]¿¾} oß>jµêU=YôË?çóy1ý#bú;; ¿Xö¹iw „“À%35!þò_)÷þµ²æøtïÙÒizC¡Q«0­ZèêÙgÈ8–•~CBêƒqxI·â®ÿ==é&ÏÙƒmÍÕI];ÿGöÃäú` õ¦-Œ·`OõÁt€æ®ZùŸÏ ‹ ‹pvv&õÁûÿô“úôŽyeÜ$¾³ûÜyïŒ;†tÿ7îƒ÷ßåñœÚ²’£íú`ýúõ 0`@Sú`ĬÙs9ª£×á#GgÍž«;5£>ÏÉ©¤0‡üïéá®ûO‚ÍfïØ¶uǶ­ î2æÞ@RÌÀºñ„nm›£7~郵|¦]ºˆHì%Òk¦…H 郵ñá!}0„¦ù…ôÁZ ¤öb郙(£H¬¥Ïéƒ5Ò3ZF‘>XS]D¤Ö4>˜±«H¬É¾ÒkH̘¤Öä éƒ5 ¤f´—…ôÁÌ\^ ‚!}0W‘>XÇMÓwnw »|"ê"¾ä@ú`f5ÌBJ9Ò ´°Æ#}0 J<Ò³@ Ûh¼9²µÕŀʼn߃!}0cú`na[Œ7G¶6À͸³¯L_`Âcâü줻׃{õ6±ä ‹ 郻j ¶Úxsd«! 5¡Æwñð 7Q º>Á>˜%[ØjãÍ—­Ï¬‘>Aà >¢áØ;ÉR^Þ."Ò³d [m˜ù²µA ¦¯&­­NKºÑÏšÃÕ9R>XçÀÂõÁ,Á¶ß19¨ûúK*©yp÷ºF£J¼u%4fõÓï$ZúA]'ÌIèa[ß´…aÍ÷~éÌá¡cgµoüíka?< °¡¾“JjRã»÷Œvq÷.Ê{”|'®gD?ò[$¢…Ô¡• ®zErÇqÏÍN ‹¸xÈ¥µNBŸî¡yO2(TyÕ\-X—jmŒ#7+½¤(\ÜD^¾-Ê Ó§¿«ÝJˆy,ì âm9Ù֛ɴR)dä©#_(tóÔ¶j~Ážƒ¸(·¶º"¼÷xøà«8ÏÙÕ«ô²`}°&-4î\?çâî-t1M®„2«aÍÎÖ§jÕs[èéí“Gt(Á4kºS'¡Ç–Mw}ÿƒX\Ò­›÷7[¾ÎÉÉývû΂‚‚Ý»ïÞõ]`@ò–»~øþ‡½2™lÒÄq[7Åb2ð_o9xèˆT&=røwßn&Õ1œ„ë×®Úýã>±¸¤¢$¿Ýs¢¬¸@äÀd±@ä—Ù|‚|ú8ŽW”‰‹rj«*xB7RL.­m00z’ù ¸à ®ÕòœÝ{„DÑèt¨,+Îz˜¬×1YV"¿@WcŽ-Éûg~.ÿu¤{pdÞ“ µRaeÍéÑ3R!“æd¥«27 ¬7ÇÖp ”v¯TœBWÿÀH*JÞîØ«ðI¦R)òÊ c©ð ++-º}õ´½£ÀÙ]ä$p¥RiÜ‚57[‰æu,¤»zíúéSÇ~ÜûÓôY³‡tòÄòtÑâ¥çÏÖ ´Þ¼uûÆÕ °ðãÅ_oÚºzårض}WRòƒ+ÿærmÿóŪ5ë6nÙ´‘ôï^â•‹›IPS.“plëÇE6¶ò6|@%©©攉 8¶ön^¾±#X,kL«6¡fem›zÿßœ¬t¿€P‚ Ò“o†õvóòרU™)wL–F­2èØz#k«bŒ¶æØç>NI¾{͉ïݤ5Ç>÷qêã´û±Ãq {ò(Y­R =N§'ݺœ÷ä¡·_0YÐ2ißaãm8*55ášÁT8ð„[š“›§ÕjÓfÌçýŽÉ ‹{nV†Z¥T«”¹YW–Ï5[¨>ª„.q IDAT˜! ¸>¸z¤&\Ój4j•òqÚ}¡›ãýKEVF’­=oÀèi}‡Ltùk5jim¥RQ‡ašæ+¸wP¶>5„À‰¦=s1kÑIøœe•¥ß}³ùãEK¶~»ÝÅÙù£ßÿóô_-µ &&*vÀ0™L6aüØeK?#?þðƒ;wOš2£¤´Ä×Çgñ§w Á\ܽU ùý[—ÀÙMÔ¢)Dã“à9!tõtù1˜l™D­?=íáÝ£8?;éVœJ)·²áˆüBØÖ\…LBJÉ¥uÖ6œú` Û2MߤƥÈ?$'3åfÜi‚ .ža}4jUãH¥"2v„ ×A£VJk«L¬#1ë4}K²•€Œ”;BW‘ãÓ|ËÄ…U•¥=£ž¯YÚ›`ß2÷ ¾rñÙ Ä[sÞ0èÙØ)ù磅ï5lX©ÔO>^øÉÇ ›cCûBä$ò j]oË’õÁ[¨3Àô)Jõ ‰èOg²@«V)uDÿÆRõÎ;xš¾¥Ùê휖t‹ ùe%…yY½B«Å[ÜG/š;©Ö¤¦N B!—€¼‰Û¥âEn14‹Å IKºýH­d0X½'0 ù©a¾¥RMçe¯¦´š¾‰ÇóL‡Ád†F=ÎxÞg8®Uê^6âˆ`Ê/̒˨…ËYF>3ƒÎ`†„ÇjÕ ýþÂËÞ‚!}0K¶°ÕÆ›/[MW@ V$Žk_j Y¤fɶÚxóe«>š£¦T(Lƒ®O0¤fɶÚxsdkc4¡„\*--Î5Q º>Á>˜eZØFãÍ‘­qïæå6ƒ®O0¤fÌOçZØFãÍ­íR^ ‚!}0 ·°uÆ#}0¤†`¨}F uÌ$_„€`Þ2ä‹Ì$_„€`F ù"3âÅ•/B³ˆ/:R¾HwHªÊo]9#­­Òwl©|"‚®½"p#IMeÒ«rY]â­+ÒºZ{K¿÷Aëâh°OQ«ýt¼UA°úLR]ñ áZ÷žQÃ'¼áš|'N&©!/!ù"„®Vî;¶ë<ù"„N)߯6Ò2‡šT–§BòEÏÊ÷K"ÅÖaèDù"ÔE´t¨TªO>ý\ä ò X´x©J¥ÒµuNB]£—›—ÿÚoyvëáêá3mæ¦ÂT«~ü©»È¿Gp¯ßÿظ ½xéJ쀡ÎîÞa}þwè×úB¦Ñ®XµÖ? ´›Ð÷?ì5¯“Ðã‡=ûBzEóœ=MÄh0¢v‡N¾ˆÉb‹|ÊŠT^DóD°®„ _m.)-M¸uýîÍë…EE¿Þ¢kë*K t ݬ×ç¼»`Þ£ô¤Œ´$_Ÿ«Öš󫯷TVV%%Ä_¿ráú¿7{xá'ÿù|qÞ“Ì3OH¸O:nÚòmFffÜ¥s‰wo‹›Œ—š"eÜŒÅh0¢vG‹ä‹šŸ§SxÊËËçñ /3}ëí÷Ö­Y5tð [[ŽT*ù˜S àëÂÌÏ70 ézè?qñÒ•}6*e8…‚¼¼|Ÿn­ˆ×XŒ#jw¼ÀòEæÆ¤ ã—¯ü²¢¢¢¢¢bÙŠÕ“'Ž'Ýíì¸YYÙ:oJ…’Íb±Ø¬¼ü‚E‹?7æ”IêU£**–¯ü²±‡·|ùè±F«%ÓÖ¿Z1íÕ¥ËW‹kk%_¬\Ó¢xÅh0¢vG'Ê!‚Y:V,ÿœÏçEÄôˆéïì,übY}!^øþ»CF¼¢›÷ÛñÝÖ«Öxˆü'Lše:ÌåÿYbgoÞ;vàðؾFk£Gœ=÷m‘ÿšuܽƒtüü³Oýýü Ý×ÝݵEñ‹Ñ`Díwo;{Çû·.ß¿uÙÎÁ©)ù""#åNUE©Ž^eâ‚Ì´{*¥Óˆ”þ}c®Ý¸UUVˆŠ2‚Åâß‹§ú C£3ÌŰq¯Éêª@©§%Ýù6’/Ò¨¥Òº”„ëý†Mh2ÀÒ¢Ü ?Cc0„§—ä‹PAG0\·dž”/²±µë=x®UªUò§—ÐZD„Ö¶`H¾áe’/B@0#^\ù"4Cx ò ÌÊ|PSYn>i Ñ&*®T(K‹sEM}í‚Z0„ H¾ÁŒ@òE–R¦- h †€€†€€†€€€†€€†€Ð%`x1;# =„æÃ§GX ÖäÎú0öE%½E¾Ð    ÁBû"´¤ÅK‹…†ÐAPÈ$ÅùÙ2©¤Ë§”J¡XÙØºzú°X|D0„Ž€¤¶:ÿIf`hŒƒÀF¥‚É=ñ_tà8^V˜ýàþ­!á\;D0³£(÷q`Xo'¡;ã¦íòé廊|äò¢ÜÇÜÐhD0³C.­µwrƵZ‚ ^’$Û9ðs3›»– ¡m½&‚ R©X«ô‹_Ô‘•Š7»6AChŸÁ J,"‚Y ÛÒݸxéRcÇaC‡vfzÁ:žaæøïsç{÷éMþÇ´˜V« Ã/\¼8lèNL."BWƒÁk+«ªªj]ÇL©R¾H6”‹¹BñâŽñP †Ð¦Öˆ«6;d¹L èE÷\Œ2Ií㌤šÊ2°wøöå<ÝAþÒ™_‡ŽIþ—Jj’î\ñôðôéÑ6«P †Ð‘ô"Úí¸xñ²î¿ŽJ4*•BPžMÖ;äRéýÛ—ø.ÃÆ¿>bÒW/¿¤;q …¼>®#A@mUEâí+~=Âz·ÑHD0„NiÄÚz\ºtÙÛ[téÒåm†á&bÌyüÀ«[€_`8¨•2ÐÕË'0?û!•JÕRU!~pïzpx¬w÷ž*…¼Í¦"‚!¼h¸téJDd„R©"ÿ_ºt¥µF]SSƒi.Ȫª(õð Ô¨”µ’ ‚ øÎîeâ&ÛŠô .ÈÎH¾Þ{¨›È_)—’b°h †ðÒ±K«Ñ²Ù,@ s/.**•Ê`2¬¬¬ì¸v…… 7ŒÑ¨UÖ[…¬NçÂd±4j•N4=áßB£ð]<²:¼cL"‚!´½{H´q!â¥ËW""#drÀb³Yl6€Þº| P‚J¥EÅEµ5µC‡ Ö‘Ádª•*{&N©R* &…B%½…FJOŒ§3™¶\‡vH.ê""¼Hm×å+‘ ¹¢a¹Õòh´šêšêÚÚZ’] B°wädP¨Ï siQ®#ßY·äÂÓ' °Wßä;W«*J;8uˆ`Ï.¥Bi¢YP«U’Z‰\.¯­5À.ðö ÎÎH*)ÊÅ´L«)ÎÏÎÏÉô ×ê-Avpâ‡F|˜|«L\€ºˆ/^7±u· 2èÒå+NNN<>Ï ¸¸R©”ʤ*¥J"‘ 2Ø`DÖN¯Þƒs¥f¦Ü%ppäEÆwà åu5zþ [®}xŸ¡I·ã4•›§OÇ$ ¡¸Õ–!ØÁƒ/]¾BÀçó(z#€P)UuuuJ•RZ':d°‰X¬¬mC"ú³¬lȉ L«‘×ÕbƒFOƒ§²­lb‡N°æØÕÕV¶aȉZ0„§X[î:dÐ¥ËqAð| @­VjF©PªÔ*itèAÆ¢ˆûû˜‰ž ’ê2 †iêj+:¬¹FC°£P)@@EEEoo¡C™¦×A`ƒ>»:ˆ`–Å1‡C¡PL“Ê¢(„†`îb»}p9dЀKWâ†DXðòyôÁ%BÇó k¯Ðìߎ¡!‚!t‚áN‰öE‹‹†Ð&P)Çõ—)uyhq-µÙû«"‚!´ Ö»òâ<+ÎË“d¥TjͱCC踉ür§zz÷°ær©@éÚ‰ÅK$å%ù"¿`D0„Ž×ÎÁ³[âül…¬ïê›û’âžÝz4sczD0„v€‹‡‹‡ÏK•d…L‚†`q¥í%ú\        ¡E¨_ÉQZ”‹žB»ƒÒ¿o z fÂÿ5Y¹o² á€IEND®B`‚pioneers-15.5/client/help/C/images/status.png0000644000175000017500000000535410416170552016107 00000000000000‰PNG  IHDR’¢àú pHYsxa+S•¹tIMEÖ;9† ‹IDATxÚíÝkTTåðÿÌ@0“æ R,ËËZñR˜%v¼¤ie¦G–Z ¶¼ Jb2Ë”›XGMñ–iÇ¢‹Ö:•ijj(d%–¢‰D!"rköù`Œ Ì~aGüÿÖòƒûÝû}g?ïÞóìgfoF@ŠIÙ„œÜ<\)<‹¬°nu*‚CÃADDt·’$ §óŽ3d7öîùA!a­v\¶öxÔ6¸{êPRR‚üü|dff¡©•OÌeĈˆˆˆÈäb²µÔ¿席3®µ9ð”!""""Ù­0F3˺¥H6÷\„Ânâ,ÅÙ~ E¼uúééámö[0%O"""²––~ÛšŸæÞmóÁØ’­ôôðFÆš4³m¶8¨yûó#çŒÚšK—.Y½O77·6[h2¾Ù­ˆïÔ“’Õ>YÊuÿ¼û>ŽÀÙ‹q¢¢Föö"ùÑß \‰Ú6–ïZòÚ •yðó2ƒém8±£Mÿ Žd(Ã0_œ¬4Xýš¦þ1t É€­o†cŸ¼ý0{ÉvxýBwP¡1dèðæDDDt³`8u2Ù»?Ä“ÚØü‘ݾÖWîÿ³?Ìã¤ýM¥ö@´G9.¾Y€üuý± ÇêEÙ‹Qî OµÊfÇ9g? Dz°y×Aùf-\~HÂìÏÎqâèŽ.4„ŠºÊ¹ÑŠÜL…]°g=ŸW xoo9lv›e£áÕ.›,Ó_ÏÆ¿±(øËÉp ï.š ??xû ÁŒ×Þ7ùdÂÜëiøÌw«â0b°?<{õ–½oÍé×ÝS‡C›—bôAèåÕCŸ ÁWgÊxDµ!j—‡ðbl®üòžq™H®j*W4–“äæÔ:Ï/Ë@YÚL|[TÕøJ’-ÂÐG¢—?Öã²Þ »]2”!}A0ú÷ñ…ÏÃ#½r·Pÿ·—‘«-޾qÃð}â7Æÿ_/È@$!ãkÆe;öcDÜ0¡9kêºA®­IY˜œþ zvt†¦³;¤âPÒv¡>Dâiqî‰ žÞ-+6ê*ñ¦ªò†‚“1"æ]dû »¶-…Ëï+Ì®7#9;£ÞBý÷†Ýÿ^÷9Ixð%¼€ uضû ²¿Û¯s`ÒG„‚òf^d|¹'O³Ê¾5Õï¢#÷!ýã¯qü×xc‚¯NOáQIDÔ&ݼQI4W5–+ËIrsjÕ=]¾nNIDe­ù‹ï_Ò¦#õ·.X³c7r³¾Ä3Úý˜½Ovû‘%/bk±2÷ýˆ¬¯ß‡[N¢Pÿ–¶—“«EâÞQ·óSq¢òÆ7ç¶O˜/~Ýr /ÿÉ\£sš3køâJ&uÑÿo— ¨,Þ)Ô‡H<-Í ‘h¡ÑØs6½ª½R+ÎâbÑ5tpó@hÂF³ë¹x…c¼úbößøv£ºt/¢¿o•ÓÜK??‹Ää™è®u†Ú¥;æ¦-™O— ½–ä„ðPg«ï£¹~W¿‚ž®í¡rÐ`ðäŨ¸ü L"¢6¤òj6'„ÁE÷²q™h®Írsj}Z¯iH~ S“³Ì¶¿µñ8SfÃõÔ1)& »’å·’„¤Ptëà µ¶f%ʼnõoa{9Dâ®Pª÷TgÄï¼Ø÷U!"'Dáò¾¯ùÿ}]ÆÄ@­T4kÎZòŒG‘¾nŽ7oÝR9>€Z}‘P"ñ´47DÖ(4ÿÎÆÚMK°xÅf%¿ŠR§î˜“й£ºš]wîòqxbÖ›X| _ÍO€oôtr¸Q ýVQƒÇîs2®ëtß㨩ˆz->Û쪹~{:ß|³P¨ÚAªý‹G'QPw›Œ£Z ŸÁ£°.#ÐØ&š«Ds…HN­opd>}r$6ŒÝ‰i½:˜´å”ë:°Ÿé¹B!»=·\oºÏíý…ú·´½¢q÷‰Ʊç6@¿[*ûb–[?DâiinˆD ? Kf<ˆ‘ƒdŸL±9"!d¼uðBìN,X±¦ÉõU Î.X>ê!“åþñ›0±ÓOx>Àý&ã·áÃØ‡íó6Ä£b{üt¾òÜ\üÙ7V8æöÍýÑÝÁR®jiNÍ© yNNų…I&ËúÌY…ýË5u,tº˜8/ í†ÅÊn¸h#&jãéÇbÀˆ`\ì÷šPÿ–¶——æÄ½ûØE¨É/GÈß‚»xAU‰×Çv³é1Rÿ/i5ü«Z=žMCä ?1åŸþè7,ÅFàÝqb¯G$ž–æ†H´Ðhì¹ )&erróp¥ð,²vlÀºÕ© oõè[€ßfmÃÛCÜ8»DDtÛ“ìé¼ã Ù½{¾EPHX«—çî©Cv+Œß¦·.º{êÐ-E²ù¸ç"·Œ[ÇÖ¿ Þp\)ÎöqVÄ›¿E´9…Æ¡Ãáî©CII òóó‘™™iÛÄå«ÅñÏâ±üü}œ…ÑíÒÜBû(6Ü=} qõDìÆPñ!‘ªÿ- yˆÛE±ÑÚ·k‘m »)6ˆˆˆˆèÎÑÿ6{.âîºFgM’$ñL""""²A!av1Þíº#…ãÚÖé¼ã·r—É.6 5z@ph8‚CÃyVQ³™®]Ý“²‰Q!""»’“›‡“‡¿ÃœÇÃËË ]»vÅ3S_Fàô™Ín×jµprr‚J¥2ûËÔDDdåb£î ™ˆˆÈž?}uŠ‹‹QXXÐWWóVsÚKKKáää¥RÉbƒˆÈ–ÅFÝ1‘½*¿Z„£G¢  Z­åW‹Lò—h»³³3 T*\""ù?Ä‹–3ŸIEND®B`‚pioneers-15.5/client/help/C/images/monopoly-dialog.png0000644000175000017500000002131510654174432017675 00000000000000‰PNG  IHDR2ÖÝ™² pHYsÄÄ•+tIME× ¨ÌD IDATxÚíyXWÛÆŸ$‹l ;„­ ""î+ Q\k­V놵Z[¬Öj]ëÖV[ÔnÖújܰ¨ÅjÕº.(*²ïI@ !ÉÌ÷Çø“ Âó»¼¼fΜýÌsιÀ—á»{‚ ­KÞ£tÅSFA¾¿ã"ö‚´2û?¨(N­IJYEØGÒʸٙS⤔ɠ5ù _€½ƒ o’‡· â7æ=Jסƒä¡*¶\R[Ÿø;C\Í5md†Ý‡ - ƒš*ï=.QãYR¼Ý_QNÅ €B#³¼Qó9ý&2˜,ì;ivD9w â7ꨟ*‰¨ÙþY)l’¤Ník*mc6Þ¾'ÿ<šÁ`b'"HKðÿ²”+—¥UÑC6I’zº+æZ˜þ·ù7IA‰• ¿P*c°t°û: K¼`ô÷w°+Z\–„Ê% ®#ûìç®M¸°ê*>ƒA`÷iÏ™¥=@&'?ø-MT#¥¹Æì?fuÓa1 èÛ[m°Ú…GWÚŽ]‹Ãײ²$ÿ™ªá£ËI6tî5Éß&¸kÄÕHÿJDß(¡íïÏ{À¶Ó¹SúX[›èVÖE%æ§TƒêSmMÈ™èomgª_ñL—RvìfU¢š„|»Qs%RròîTq½XLÆ¡ù=L tfïI+¨¨Ã1Õ&-ËHYÝ3¾ñs-²6–°•[ÄH2g•&eͪ(¾E"ZCõÿžGØlÉ#}ë…Ùã{Y1°{×.ÅqšÔÛúÃþvç®Ý ;ëÌé„™ýíÂ\ë‚ sp%ÍØ½lÃ| Î'Í$Â’$_›Êǰ$bÛÑáï-ºwçæü!AϨZ½6a^AÑ¥ÛY]¦Ÿ<‰JH’ìÉ765ÐùïÆ­ä}Ë¥ÕYmî%OSeÏ*mîùX¾3̱ÒßÃ|êìž:£=‹ õrt™»‡2µÝˆjÇÌ[ºóï=X^÷´?Û´'¿°$1éÁÄÐQæu9ïzóŽŸ¿Y^.RŒâm {víëš½S c<ªÓÎð| wî9PùèFÊS°³æ=½GHª_›êÛ{Jîý+³òù)1 &ô÷¨ÉøG“âàÏs÷`bèȪ» @ü¸°ï`œŽ‘¥´"á„Ù¬‹Øîy¿Nt°k$D­,˜Cýl‹=̧ ’¤îr0|¦/cÉ%Ò2ÇždÝí×íö£öìO¼;Ü¿óîÕó˜ øé§Ýº\gÅ«Fl¨xòÄ s¯*†1Xñ,$Å÷8>T„rȸ‹ÉâƒÁ $Ïê…yFƒÕ§*)x b²9O9`cÅÜÖ·ëþÚâ #¯üÖ£’žîN]­uÊ¥Oúº™>Ì-Nº•jèÚ‡¥oÂ`鑸ô¡ei¤ P죧ə{û"TduÒÓaè 7ê¹³ßB±T~sý#Y©+ÃÞorK+/¦æöæï‰EF]z(^­x&åëš›šÖ³ô¸V¶P&Ò:yÍ‹¯L2Øú,ú!)—¼6•¯Z—Ã2³·47¢TJÔ‹eÕeš‡’=ÝmÂGºU(Ñc3÷Ša˜° ¹L#Þͽ·]k’¡wöŠ­[7Å£ìüžV=+-©nÙSÕ¾iì^‚b]|¾oèü­?ü¬kÁgêp/ý}OÓ'ÕaÊÂûØ@\üY&[Ÿ”K_O…?&“¯Oµ4bV']èdÀ™;ØþŒ9ÉÔår©†ÅÝÌ«}X 1¸ß¸@OáÓgg/èr]lCÏGV›ûAåW¤OŠe…ýzzæ§_WŒ´/'ÑÃήêâŠ/ã§Zs¯]ØF^Aò!È¥,# Å+û.ÊY£‡ š>ÉLX#ý%îß=ŽèZz0Xl5ù½6Õ¿Wnì^:ÅÎÆªâYýö}'ÆÅëÛy1˜lÍ‹‹¾Q¾*œ×ÍÓ9j_¬Ø–±%Žd3-b TRË’$›I<½› ““º:L(x*cÔrjRë³C²V€ @»ÖD1-ÒXoøOtf= LC ¦¡Å«—¤2éï7žDíßX_‘GJ%L=¶U]® ÃÀ¬A¦¢"œ<ýObšH"È&êŸ1uôõíºëZð™F\Í‹»øðIõ³:6‹qøHœ.× ttAÏo‰æ’¥œÊqŸ³9/ñ]½«Ý­Xº:Œ'bÙ©2û{ÜО&º¹¹{KÍÈNr`Šô«'Û»OVL‹4“ÞSɺª£ðê%†¾ ÇsÞ3È$@’Àd1 ̘†f$!oƒ&©è"ØföºVž¤L LÓËà˜hXò>ž\cCýƒq=­©5vp`˜Iྲùe ÏøÃÿ¬íí”û—QxÕhÓ¹+ÏÝi±0äñãu™\g‹9úNVJo&¤qûûNÖÐÉZiO6¸ÄÐ5dé*F âÕh¦zQŠ©ÝËWŸWãµÅE/òçuÒKË)ÛùÛÿtÍù =†ž Þ-%K`êåó'å0^¾jhîüŽùwªR!o V'>9¿CËqœðÝ媫{ IËÐÂÀʃ¡×‰ð®h9Y"íñ½¬ìœ]=»Mû`Ö¥Ëÿµr›ñ^i5De(ì–ëœf“å¬9óe2éñ£GŠó³n\½>nì¶ïvàí‹ oR–ÿýwuõW+øŽ,‹ka16ôÝ“Çb¨Kr¹|݆Mž]½íøî³ç,¨©©iVU©T¶rÕZ.=\<¼vîþ…þˆµ°rxõ³V饽ûö{ûXÛ;t/-]ÃúPùìþù×î>½¹ÖŽj’œûçBà€¡ÖöÎÞ¾ûÿü|(3<ìåßO1¾ÒPÕójKU=¤úýý=ýúÚØ»zýFò¡è¿€T)÷32_ÛÿJk¥&þQ»=½|ì<>^¼TR_¯aUÕwŽ&·_³É²wo¿%K—%§Ü¬«kè–ýýލ;©w/œ;ý ý¶>GͺFؼõ»ÌþýçÌíäkÅÅ%ôò@TVðê:Aé¥+W®>u,ûazðè %K—iXŠ›7o_8wZXš¯&É‚…‹¿ˆ\š—ýàÔÉØ””翜µá›-¥ee)×/'_»\XT´qÓÖ×öžbY¯¶Z“:ºxÑÖmßÓ?¬¶uÛö¹ÍêÔɸ •¡2xàÕk7 ¸¸dÙŠUÔÝsåêõ!C)FSÚªz^Í`iXÏ‹—.ÇŸˆÍ~”>~줩Óÿ9<.:çÑýÐ1Át)j²RZ+5ñ¯]¿qåb┫pÓæm_¥£áí§Fÿ¾þ—®\í‹]OŸVýµëÌÙÄœÜ<—<:(ò³%¦¦&àí{ø€››+Âþƒ‡g¦Ý¦>T¨QQ¡»Oïã±Ñ®®. >ŠT­Ý\²°rÈzpÏÌÔÄb±“[ײ¢5Å5È*=5ÅÚÚŠ:U•äÿE ç5ÒÖ–¶E¯½âŸ¸8ÀãÇÙ¡ã'¥ÝIVZ=ê´AYJ[­I‡ ™7wvø¸±ÙÙ9¡ã'%]½Èáp[š3gcãŽýöË®?îÚµû—•_.{ÿ½)³æ,˜4b8_i¨êy5ƒ¥ªž ’<ʼknfFekïä¡xJ—¢¦ÉJk¥&~ÊõËÎÎN@ué½ÛIšŒ¯úÎÑd(Õи»LL:}õåW.ýS”÷(öðÚÚÚ?šO]*)-õD­X:wó E ÒªŠPVVÎç;j³§Æ8ŽL&Ó°>´NÔ$Ù·÷— ÿ^8d¤oïÀ3'R®6Ÿï(_[OŲ”¶Z“:/]²hë·Ûårù¦-ß.Š˜ÏápšVŠþýú&§Ü€Ø¸c?îøöà¡#’rk@¿@ÅhJ{@UÏ«AÃzR"¤²mpJ—¢&+¥µRßÑÑ>(/4v|•vކ·_ó,b_L¯ †»»Û7Ö\»v ±²´L»“L­XDeÔRMU¬¬,óòò›}»üÚúhžÄǻǟû˜‘ºiã:zQÄãqóóŸÏyyù\îs[W±XLWTVª,KY«5©sÐÈáºlöº ›’Sn~ðÁ4-+chhÈç;?¯¯¯?bøP™LvúÌßNN|ÅhJ{  ¨ªg+d¥&>^PPÈãq›¿ÒÎiÂí×tYŽ ›püD¼@ ”ËåEÅÅkÖÓ«×ó;˜9cÚ’Ï–åäæÉd²û™³ç,hVU„É×­øª¸¸äéÓª/¿ZCOËYYUÍØª.iR\’|47âÁÃGR™Œ$I¹ì¹yTXè˜_}- …Báò•«Çó|æÕ%j×Ïb±¸¤¤téçËU•¥´ÕšÔ™Á`|ºdÑ;Zúé'ºl¶ö•:dÐÊÕk'†€ ãÃ"—¯úòÆRUh¸¼R,UõlÍJMü•«Ö E"¡HôåWkÂÇmlþJ;GÍPjþG#MeùùÒÅGŸìÓoƒkPðØÚÚÚßý‰ºôÉÇ}zû…Ÿlïä>gÞÂààQ ÒªŠùÙ§îîèÙ»¯½½-¸pÁ¼!#‚•6@Í%MŠkB’Q£FNŸù‘ƒ“ÇšuÚõÃó±\Éãq}ýûûú÷·¶¶úry$¾ýÛ- §Ï:¹uÖÿ奠"J[­aYL¦‹‹óä‰á/n,-*3dð@@6Æ…)/ <°A¥=  KU=›@c³Rßßß/pÀ0oß3s³åË>klþJ;§ ·_Óù m÷¦8.,t|X(v…ö¨y¸ø¡ùèàð¼qà`tNNnXè»Øí”åÛφïè`¿ç×ÝL&~e‰´ Úàr »´åhÞ©Óf¶ÂÿÒnhñG>S§ÍŽÁ`ªÙõÑß©OºzÑÓÃcƬ¹¸·D­dY/•fgeò¬lލ­­]¸p¡¥¥¥¥¥åÂ… kkkûaÁµzpÿ.“ÉR?1 .—ûùÒOd> 'RE[ z^Uê¯A“šz¯›·ßÏ¿îÁÙ鸲$äò¬‡÷{ €ÈÈÈÚÚÚ@°sçÎÈÈHè0 ýîm&‹õÚyL(}·ýGúÕ0xÙVƒF©¿ÅÙÄs§¼¿uÓ†¹ÍÂÙéÐ{K¡ ÜÚÆŽ=D‡=z4**ÊÚÆ¾° WÍl©¸½455ùëäQútýÚÕ\‹†ï›މ=M92lX·šßóû¾ïvü}pŸwÜ["z¶d0Ч{÷îÝ»wïk£½º·•<~6oÎì/V¬¢/)ÚjШrÙõÓ/“'M 5‰³%ÒqeÉbéðxÖ¥%…0nÜ8ÅKÔiiI¡½£3©âI¬"¦¦&‹>^”œ¢¾DU®"ñÇcOœ<õãΟԗ‚ A–Ì.^ÝS®]€-[¶DDDðx<±eËH¹v©»·AÈ_»·¬ªªÞ¹ëgw7Wõ%*õ×[[›SÇcŒÞ¾# gK¤CË’ÉdvözG$(½zñoƒ¨¨¨òòòòòò¨¨(ƒ«—þ®•{u÷‘ˤjö–Ô?¯½®]¿±ç—]êKTê¯A/zãÅމ£ÌÝq¶DÚ~ƒD\[{òè!3nàÀáŠ_'xú¤"|ÊL]]vYâ$¢9Ô$±‹Á IHK½ùèAzyY)XZÛtîòNž½ BÞ@“‚4A–w' I@?Ÿ^}˜L0@’!—I% öàl‰ M£‰¦!!oðhGø¾%‚4|ßA:ž,ØÛ ^>8["í ´oF6D+yù Òæ±‚ ,e‰ HsÓ”¿[’$Y/•r9I’L&“ÅÒa±˜øÛòÆdÙXç»æ¥mþø‚¼IY6ÁùN‘òrÁ¶ï¶'ž;_RZjhhèÛÓç£Y3‡¢yP“ʲáÚ•v¾ 8‚ç»xð]<®^ü;!>.|Ê ’Tþ¥¼’’ÒÑï†M™<ñıkëêšêä”›¿üö{£d‰ &:ß½zU•óÍ7[¶MjägKìÙls3³‘ÇÅD W§Šæw¹yùï½ÿ¡£Kg[׉SÞ …t4ú`ï¾ýÞ¾Öö΃†ÝKKDZD:¢,ÔùŽæÜ?&Oœ &Eó»©ÓfÌ›;ëáý;™éwÜ\]W®Zûjü+W®>u,ûazðè %K—áX"toI;ß)E©óÝ‹m¡¨‚ÇãÒ§ô¼GoÍï®^>Oèëëõå2o߀W3ܺe£™©),\0—ò(@7[6°´kl4ss3@øB¥e žß(šß%%§çàìiaå`ïä!ª¨x5CJ“Àápd2Ž%Òe©è|§¥Îw4CŠ>£aY~4ö¬™é©)ÂÒüܬ RõÓ]éЋXÚùÎÑÉMi¥Îw4_D~½Wµ¢k—Î8Òô½¥¢óÝÔ™ ù.l]=¶®ßÅcêÌo߀„ø8Ce†99¹cÇO4"=5%=5eTЈ°ð)99¹8ÒtYjé|·yëwóç̘>ÍØØÈØØhÆôióçlÙö=uµó\._·a“gWo;¾ûì9 jjjp¨”¥´t¾û÷Òå ãÃC&Œû÷ÒeúTÑùîûQwRï^8wúAúm}Žþšuq¨”¥r´q¾«¨¨Tt¾[QQIŸ*:ßø3zóÆu¶¶6FFF«W®ˆÿë4ÒqhÄ#-ïÌÌÌ¡5"ÍÍÍ^¨ZÁù®¤´Ô?pPc‹F7[jé|7°`LÜ1ظcû÷SÙÊÒ2íN2eZ)*+ V¶‚²|U–ÏïTEPï|ùÙ’»~þ㪫kª«köíÿs箟?_ºXiä™3¦-ùlYNnžL&»Ÿ‘9{Î*e©,ªvÎwnn®Gc%œ>Ûõß®ïøžúët\ÌAWW¥‘?ù8¢Oo¿°ñ“íÜçÌ[< ‡ é8 ó‚´!ÐùAÚ(è|‡ í@–€ÎwÒ’àÛX‚²De‰ (KAP–‚²De‰ (K IRR_/‹kkkëêê¤RA­_u +?¤]‚Îwò–Ï–õRi…H”pâˆH$ ™¹jk䪭#CÂKKKcí×Ö‚Š÷•=½|$õõôéû3fÓljij«·P$ÂÁ@FËRç;¿^=Ïœyþ:Xå“'gÎ&Š**¨ÓS güü|i»AZÉùnê䉇ÄQÇIÉ)A$'ߤNE™:y"5m.þ4ÒÉ­‹“[—%K—I$z:UŽ (K­œï†zçî]¡PII)ƒ ¸‘” %%¥é÷3† ¾ÙRZV–rýròµË…EE7m¥Òª G”%€Îwl¶ÎØ1ïÆ=7’’—}þé¤8|$6,t ›­qÇNl\÷5—Ëåñ¸›6¬;v‚J«*AP–Ú:ßM™.|Ê ’Ä/å!Hkí-µq¾ÓpsHŸZX9üþÇþž~}mì] ½~#ùPtŒ_Àk{çACƒîgdÒI~ˆÚíéåcïäññ⥴­\._·a“gWo;¾ûì9 jjjèlwÿükwŸÞ\kG{¤=ÈRç»&pñÒåø±ÙÒÃÇ4uzâ?çÇEç<º:&xÉÒet´k×o\¹˜x'åª@ Ü´yøýލ;©w/œ;ý ý¶>Gͺtü›7o_8wZXšc´Y‚ÎwMàûo7ÛÙÚr8œysf×ÔÔlÛ²‘>½“z—ŽF™âq¹Ü뾦œõàÀŸÑ›7®³µµ122Z½rEü_§éøë×®F«h¤ýì-µt¾k,æffÔ‡Ãip*“ÉèhŽŽôAy¹€:.)-õ¤´JÖÖV8êHû™-µt¾Sþ© £#‹©ãŠÊÊ&4€6Å+((äñ¸Ô±•¥eÚdQYõ—¬H;–¥¶Îw¯âåÕ%j×Ïb±¸¤¤téç˛Ѐ•«Ö E"¡HôåWkÂÇ¥gΘ¶ä³e9¹y2™ì~Fæì9 p¤‘ö)Kíï,¬ÿÀöo·$œ>ëäÖuTHXÿ~Mh€¿¿_à€aÞ¾fæfË—}F~òqDŸÞ~aã'Û;¹Ï™·08xŽ4òÎwÒ†@ç;i£ ó‚´Y:ß!HK‚ï["ÊA”%‚ ,AY"ÊA”%‚ ,yÓ(ÿ:ÁãÌ;Ø5ÒÒ¸vön„,ý„`—!HK£êFÅF÷–‚²De‰ ÊAÞðÇ|7CUUuGkr§NÆ(K¤Msÿî­;·oȤÁe†¡ÃÖñöñïÓo Êi»¤ÞNNOMöééëÈwÕÓ7h.Ëï¶ ä­—îÞ¾Á14èáㇲDÚ(É×/uïáíìÚYP’/®­i÷.P&:9òùÉ×/¡,‘¶‹L*uà»–ç ÓÚ{þÔACÍWì(KäMl¶L}ŽaøI¦É ƒ‰²DÚ.LƒÁ`$ID‡j5ÊiÓSuÐB³¥ƒ’Ÿ.)Èo#­FY"mR–LZ–Íÿ°ÇÀÈ4áêêXüLüôIˆÅu6ŽÅùym¡Õ(K¤MÏ–-©¹ ð®]J–H$T`Yqù[ÔjüòÒ¦wYM&/§€Öä[×j”%òFç ’lþ“•$ñò"ùå˜÷Óïniegie7v\xzZ:}ÉÀÈ”>NOKwqóܱãG-«„³%òvÈ’l¦¶|'ú˜†ÃÑo°SL’•=*$4$xtÖ£Œ¬G!Á£G¿;6+;›Î„:¸ž”<&ì› ë-ZØäê¡,‘·é‘O³`ÇwŠX:ËŽïÔ \,®S“jÃÆMŸ,Š˜õáLcccccãYÎüdQÄÆo6+Æ9þ”©Ó~ÿíç‰Ã[³Õ(Käî²´^²Úñžúµ´¸œÒç«â¬V¦\¿SUUÓ ¸ þ4a‚bȤ .\ø—^v?~r~ÄÇGc4°YÖÕøwKä-Ù[j9O:9<õkMUµ­åÈ!tæ1N0 ¶.ÛÌÜÔÑÙ¾‡o·ƒ¿Ç6H+UXZòC,-y"Q}úÁÌYÿûcw­ßj”%òFdɤ7{MÆÞÉùà©_ó² ‚°u°±u°&óÅÉdÈdòG™cœ¸•”Z˜›£Xœ¹¹yY¹ÀÖÖ†)+XX˜Óq~Øñ}ÄÇ‹-,,û6o«q‹´ÏÙ’ÒdAn!ñò×÷žVV%_½u;ù¥É9 8àð‘ÅK‹û‹`IDATÃGb |ñJäô÷ßûiwÔ¤)ÓþJ8³%ÒÁö–MФ³ËÁS¿”„ÊäÂòЇ÷³Š JîܼW˜“ýjA+¾ˆÜ©“ñÄðñwtÇQçÎ&¼ˆI’Á£‚Ž:0ù½éׯöÞ”fk5ΖH[œ-µ{[˜“=5䣓±§%uõJ#”•¥¥fä>פ2ÜÝÝNóìî ‚ÒÐ2$‰äSÓ¶nÅÐE4Leλã¿ÒF‰äÓó—+Žª8hPhJ*³¾+)m$‘H>=£kÂ%Å)É š5íýÒ:‰d›}¢—ïÝÁ’ Ç\:ø¹gíOßܶn\Å8ßÖ–Ì,X/?„ŠYrÂ¥Š7$.‘ìot¾zÿ±^¿ƒ…_zðÇ^xýÊÖÞ¡+Q)¨Y¶¡g[›åç?]óìÝÉnÐé µp™kΙi}‰d?¡ç?÷¥ïîxùt¶ÐóŸ?{áõ%aIlZÚñôÍtûA ¿û›³Ö/T„(-Öæª½yÑ;³>‚–>Höã;Z’óRù¡ÂB·¿—Ê®µŠBSg_{‰§,øÖ¯þhvôTö·wÚ"TZ_ò)yîÊ©pâoKSìýp¾ÃZÃ80.† ý¤½h>nÎqGÍ‚WÞå}åõî,•GˆKë^¸j:ÿ?쥹€]W}êÏ¥›öö¸f‹JüãâqpÖý«¿¶¦¤'Œsþñ¸Flé%m•øº¶bÁÐÇ6u<ùʇ巻‰d/¤ûɪNùÙÞyl¹ó=M3¥FP\ó‹Ç}åÞ•ð襆(é ãb¨°|‚Ö8œ@fÕ†[Îû!ñ¸yk`‚sΰL@ò›¸\D§Xù¥i~u oÿ{Qß?ß‹ 6…S§W|yf´Ì«t ÿ|/öÛàØÛn×~x Üþ|ë9G£­sÀ¸ûåö%ÙÒ>O?°ò´•ƒûüH-¯^#$®9ýžåÿº|ÒP•)­æJÎùPŸâÁï†aö¯Ÿ¼ê–©§5wE}é€Ö.0?ŒÿqŠ=ý…Éî„d„0ì”䌙•—U·dÕÆÃN»è±Çÿuááµ_l, Î…'O+¿üèúµ›ºŽ=û[çã’YeéÒæ±߸ý KÅšùº¯ßôÈ57ÝÕPæºâˆß$„8uzÅ¥GÕ­ÞÐqÌÙ—ŸwÁÅ“Û:0É^Ø~øN½{éPßz÷Ò¡ßk7ßʽ$'?PµöÁï°ßŸV?0kLøÜoN§'Žíòh›Tü‡£ñs—‹Â$ž­_ýzÙ²5?6Ò=RïG.'O«€ßßù ëO-+ÀésÆdW¾ N?0 ·Ü|SºÈœª™¿æÃ¶Ul{;–øýƒ¬{oa*5Ñòôûs3{ÚŒJ¸õ–›3†`5³îyn¹tÁˆêC‰¡ŸøÕ°»Û[éCMn{àÌÆ€’3yÁ† />zfu÷˜ð×úçÛ- üYföe¬ª VUYžU]$T[öJ­‰¹á篚QúpÂÿ¼?¸øì•ÓJ‹Crߘ¯5ˆ>þâÛÕ£' ý½jf¦3ùXÏÀ1Óe7{¤çk_ØW^zAÕŒ/F:íØs.ÿãýðOþ"0û±ù1øÞ¥xxÝ—ÍýH\³ ?Ò<ñ‡°üka ®úÖ…>UøÝ®KŽª—ùšÔ~祿Òâ±·-(-{Û‚a¶ä†?²ù6ŸÇ³S]ý½s¦m_1oh¡?ozyLMMŒÇ»ß”J?²XúæGz»so™÷ø‚X¦}ù—˜ôÌ1GX –wdyu‘ѳÒ?óÜ'ß9}kÎ9fú3GÒ2y§}vKhðʶ ·sÿZÐÃúמyô´§Õ“2þúVûacÃÒ/#.®ù¯ÞöÕÇ×l;_ÃÁU=¸P0O/}ÎaB¥:Ò*¸rK¬_\ @)†n+Ù;9ꦷ/ÜúñõeÇÿè…Vòä«Y}똕ǘ’@µivú7²†§Öðê`µ¢E8!Õ…ÜAÁÙ/¾:óá×|ë6Ž‹xÉΚüåŸXóÁRÜÛÚpð·Jmcè"R¼zó¡Zå8á 8%0ã+Â.k„’½9®ùDÐf­áC}ºù=ï7æ/®a…tcï³5¼óïqå‡Oìäâë7¤ïRq¤©ìbÝ_)°sÄøòsf[kL‡¯íJ=ü½üÜ¿]uS•òQ$Ü(í³_a,û·:ö˜,l­y¹éØËzzº6‹T&ÖñôÍ›µæ¿ó>Ö”|»{©Ñ¾˜ÓˆPâ©eÔWŽ} ù¤qö+¢Õu;5VV¬»cpQäú?SB†¯’­B£½ÑáÃÝ‹-rÉþCOgëÐÑö>±ðVÚÒæÿ r˜a‰D²]Yû©TvȬBXÎÓ"‘Hö îä Ÿ~0Ù×)Í!‘Hö½]­—|ûrO‰DòY µF"‘H­‘H$Rk$‰DjD"‘Z#‘H¤ÖH$‰Ô‰D"µF"‘H¤ÖH$©5‰DjD"‘H­‘H$Rk$‰DjD"‘Z#‘H¤Ö|ž”UÖ•UÖ}.ûÜ~±=q`‰Ôšœ`ÿÛ«ª÷ï]UVYwäÑÇNmÃ9?òèãË*ë¾{å¤û%’Ï ºË[&z;Egèâžc~â¶[oZºtù²å+þïá¿}ýü¯ÀŸÿò×eËWLž4ñ¶[oúl["‘ì‘>”âž{8pÖœhmÓÓfÝq×=ƒ“‡—Ÿ?>ø¿L›‰Öou Ü{ÿË*ëÊ«ÆOž~åU×d³¹wUJŸÿþÈ£3g^YÓtÈasß~çÝŒ®ëÿûà}~¿ïæ[nK§3©Tú–[o÷û}zð>MÓ†ís;G>Œ?Ü÷ÀÔ³£µM‡6÷ÿ|L6#‰äsК»ï¹ïúŸþ|Ö¬ƒ6­[ùÕsÏúù/o¹çÞ†XµzÍ»o½µokM±X|çÍ×:[×^÷ãkþïá¿ýøº¶õ[ï¾÷Þ^yþÁûïY³vÝWþp«eššçoÉä-¿¾ý–_ßžH&ï¹ëwM »pä%îà¡ënøù”)“W,}ÿé§{öùe3’H>tØ!³Þx{Þ§™GaXjÚ³Û;:Î{³©©1ÎŒ3±¡¾îƒï –\»jIY8ã CewL"Ù¥yènßowO <ø°Á5]ѦÉÊÐ5ïΛÓ-¿Z¶|e>Ÿ/ua’Ûú­ªª(( -õ€¶sT×]{Í]¿¿·ôa—¼DgW7ÔÖT—?H$’í°ûµ¦¦ºª­½cõòEåå‘]Øü‹/ëííûÛÚ{䑌95 -Û‘­'Ý\SBȧ<òÚšêÖ¶öήîR\S’‰DòYçk.¹øB¸ñ7§Ó™\.÷Ê«¯ŸqÖWw|sÆ8ø}~Ó4~qÓ¯>K[ìà‘_ôÍ à†‘H üôg¿”ÍH"ùâšK.ºP×õúó¸‰S5]›uÐÌo]vÉŽo~ÿîüѵ7œrú™UÑèßýÖgª5;vä—\t¡ã°ûxhÂäé W~÷[Ï<û¼lIÉöÙ ¹a‰D"ÙrŽ]‰DòÙ!µF"‘H­‘H$Rk$‰DjD"‘Z#‘H¤ÖH$‰Ô‰D"µF"‘Hön­Ôèòu?åë}Žš1钑ȆՋõ»¼¹cçí/d7üƒýÒ˜û*ôóýyb§µÔ"Rè$€æI/wèÃ?™Q¿ôÍþ€`ÅDÏÂWW¼ ù\CU…«ïòò©•GªIãH­Ù= nê©Å$Óa3½è¨2]:vLðz±71ÏÒÊ ÿeƒÛ‡e†ç“+Þ[ôÔ‚þluåø¶t<ëñ DüÉ…c{V4ŽþB :!ÙÇ—ZóiTF05·–Æ—"ìv„;Û×ke8VÍH•;à1Š]õ¨fZ‰¿aº,ïh!“JûÙTûÂu¯.îZÛ¹Ë}Û.«ðµvÄ<½;Ç}V&Ûÿ×põÛÑÑ'–Eš´˜Ôš¾–Ñb·k`17-¤VÂ…T²§³÷Ðb6—éõz‚å‘êH! ƪ–Z¯æ7ƒ“­Z6¸}ng:ÚÞ~nñ¼MùH°ª,Š3¹lGW aœÏ[n—[÷Ö;n—îxZ»ÖwÞ9¹v|ý¤“©·JšNjÍŽBœ´Ö·iF<é¢Â2™b&§ûw¹ÏqldÙadÌ F®PP5/¥*!>$„»s·¾ L I‡`•aÖÆÖù+Zç;î×Ë\B‚UÁÉþ”PQ´Ò¸‹†•-d Lévüa=¸~ýºæu¿œ3õˆÐ˜/Í%Í(µæR3Zj¹’é  5ˆ P¶îTW§‡;ŠG§¡°0rÔ2p\Ì¥óÃZY( ªªP‚È´=…ÿ:îˆЧç%ì€ ^ ªc³Þ5}‘2_8€`Žcä Á„Çm*Ä*¤d†"fSL‚ᚪ 8!#Œ6gj ”j­Ð§X½¹ð\é¼ 4=/üñ¿ou'¬êÚêT¾˜ÊöSB̬CRVÁ‡ä@ÆáÌíÒ Ç˜ád:+€ç f¡hhwQ­&Zmf| ÎÕòÅÝñ¤óì¸òh°áTi^©5C{O¶ >ÀDQÈå»Ò¦Çè­2rÄMs…,pGÈ }ÝÝÀ Ì(žÎ{{-ÃòG«TÍ…BpÁ ¡&ˆaKznD°rÕü>ÀåV·ÂÎŤ¹)šLg;bqÜ£èà d"Ë}¬¶¡¼ÎW³~c[:]ðh.‚©mØŒòhu ÁÑÛO‚Zé}y(¬:xjÍÐÙ‹ûÉÌb{:_CJ÷Œl–¥ûkýhcgl3TââÈÎ…ì€éÑݾ€F,ûT3uÄxª7™ì',÷ý‰l&èó芎 äSº|pB;9Ü'ZéÓò{F‹ºu­±M­]>U³ \(–08²š¯`ä5E)¯. ‡|ÉT*›éDC:u¹uj:g˜ î¾vÇd¹Œ‘Í˃ÄqøH´gË’†­.~öíðsiù{Xk0„…ÄÊkvÞÈÊû ñHPHPÇ"Ây›Z¶¢·‹`D1QˆFÆEÁÒùÞž\<“±í*oÀðêÄ)`{¤Ø÷Ó\ú¶Ên¬Âg`+Z"ëÆ¤€‰æW½~ï@&[´’‘ ×­(^À,“ÏÌ‚×ïM'3:5†‚ãØÅA€9éŒ%¡Qu•åc y;›ÈÄ ÁÐS*4Ã[–4ì—½=܇"€g€0·í€JgŒ˜¦£©YEбªà@Ä0朦B˜L¤LËŒ8á Å0‡Y”PÁ¬?yWŽ¡8oôÐ5®x¤ù޳?)|R£ªV€ÿÐCfÿòç?-M›·çdk[¼×iõš:õ:6$Ó9ÒbÒ°×·¦¹iÎÎwÅÛ© ªÊ"Å—Á1ÞGßWHôv„þ²¾ô·áŠG6\ñH©5ôo§Zy<‘øÍïî:ðÀéƒkÞÑë¯<µ-ö«Û~³zÍšÿ¼ú¢ïvw÷ ýêÅ—_9óœón»õ¦K.ºpWj”-¦ÓÅö¾„¢Ñx&“Lˆc¿'€ˆpïh:U¸à€Vö (ºZÚ×ô=]ì&!Èš¢ξ—™ßž^îq»‹9Ë¥¨4G8߉›7ÝòëXoïÂyo.x÷Íή®›o½m«Öøíw/^²ôõWž_³b‘îÒö‹›Ke.ÿö÷~tõUm×<óïÇ.ü`0tJôvìT õܻӷúïnç¿o¼ùôSm\·âŒ/ŸzÖ¹ç¿üêkO>þȦu+O9ù¤+¯ºf°Ø»óÞ{û¿//^øNüÖ_Ý^Z¹-#l«åìÜÅoÎ{©mzÖHñ|! Ÿc[€ÃÀ11ŠŽ‚"Èb¬h˜ ÀbËðæ–Z·×B(T§DB „˜mÄbYÓŒ”U½!! ùèq;¹ »ë´÷߇ڡÄÍ_Öoõà‡! <ûï;¦ôÕŠ% £ÑÊa‰€ÉÓzò±Gš›G Ûϯoùåoî¸ëá??8mê”íð†Õ‹gþÅ·¢÷Þøí«“.¯GWT,p¢?£¸‘Ûãœp‚)˜(bÌt,ŽÝÙàœù…øó¯§2½š×%Ô"Ë…+G<™ðΰr¶êCaU̬`3º~ó5§øôŽÕ6l<åËg-_¼àãÖ˜:cöcÿxxôèfèïvÔ1«—/€¦Íúî·/;ñ„㪫«>e¾æ¹w§·\úDË’†uSÚÖÝ{Ú‰³?€uSÚ¶ßõÛ~rØbYeݺÕKá‹ÅÚÆ1CGOèíÚT*¶pÞ›MM°qã¦S¾|Ö²Eó·c„a¶ÚYJó^~¹a†b±`B5¯Çïtí=f~&™9nV“áBGÜAj[Öh> ‘*<*°a¬(Õ<EUU.¶×lÕ+ûg¾R©ôþéG×Þðäã”Ölµ¹ôöö54l%6¾çÞûÏ>ë+Ÿ(4ÛëD+fÐë1îOeË|Þp™/+¦RyŠG¡Jy(€0-fQä€  wSnÐ*ƒºbFŒ^—FìT­•ˆô/‰½5-z„ׯùÜJ™7½ã  ¿?>X»††úþþøàWC­Ñ‹Í:ôÈ¡=ÐÒ‡?ÿéþÛÿçŽ_Ýö¿ßwÓ/o<þØcvÖƒrsâìÖÝ{ZË”'† Ín¿Ú•”\.×°EÇq‹Õo¹]P__××׿}#l«åìE¹a‚1u»â¢e¥²Ù€ß§pèl½úÁ¦§^]‘èí›Õ=t\£ÒVt°ÁÅî% vý˜H*T}Á¢ TåA¯¿,XΙGfÚv„`0ðÝï\þÛ;îÞ~±ÊÊŠ¶¶öaq <ýäc'Ÿ~f0øÎ·.ݵÈå¯j–«7” r¹tÀÏÙtÎήã¾d&ä÷¨nÒ05ù·7/_3š]ɬլ•µ{óµ_(zX²ªXݽ¡Å?Ã63¨;~ åå‘ööŽÒ5¼­­=)Ûº**^|ªè°õÓ¦Nùë_B¼òêëß½òÇ/;f¤ÿà ޽Ó×Ý{ÚŽ„3ŸpÞRZ,Kj’Ø…= Ú¤££³¼<²}#Œ€Ü0Rˆ¨¯/›Êãõ]ô«GOúöÞ|uÑé“Êo;kÎW'7”S993—CÇa&sÌøªÎΉ„• ôöôu'“‰\q g¤úú;â=9£(Ä>û2Ô`.æãišÒ‡Á„ÎŽ4ÓL&ûû{îkݼýbgŸyÆ5×^ßÝÝ“Ng~rýÏ×WWW=óäcÿí‘ß}’Zm‹hDòf>örr¹B:“. ¾€§¹¥6àñD{úRÙ\Îrú&5Õ‘vÚÙE )–˧ͷ6ñU1.à(÷¹ëk£bh§9픓¯½þÆx<Ç|ÝOO?õä­»àë_»ò×ljmsgåªÕß¼øòÒú‹.ùÖšµëlÇB0‡•Vþõë7ì”Ü|Ü_Ÿ&¢™8qüÝ÷ÜW,{zbWýðÇ»°‡ënøy<‘ˆ'?¹þggœ~êö°[ØÓ÷¼±að—ÞÙô'ÿûÊüU^2wÆçÎõRá8\XVžÙÂΛq• ëeåšÇ­º¼>ιߋu—Ë¥{&Yc ™¡J·îßW…æÃ4Ígo5M³#mtð*êv»ž5óÁûïÙ~ù«ðýŸþì—‡u¬ñƒï_ñ±ˆV>ýÄ£§œ~¦Ãذ¯v·‚ÕeéPhT\dSy·ËeÚV"×4Õ£hÙþ®êÍšì‰×:#ï)W>·ºÃµ*Ûý£ÊýŒy ÚН^·¸¹rJRŽ‹;qR]{õÕ?¾nƬÃà”“OúɯÞj±+¾ó­;ïºç´/Ÿënn¾jKeO8á¸ó/¸¨µµmtó¨{ï¹³´òÛ—_:÷Ø“òùüg“ïûxêwÿóë+®üáí¿¹£*ýîw.ÿ÷ÓÏîì>gÍšyèá_Èçó§œüÅ_óƒía÷D{47ìíyéÙ×Ö|å‡÷3fðj¹dΔYãªTÎ 0A–e!Á¹°ün7Ui ä×T.0CTuOœàó%@%º!¬¤•aœy°îÑT§ú„}\kv2%üù²­Üð·~òb'13šîSJÕlËÄB †Y(Z.–à Çkzý¡ç;y 7X—#¦GÉ™Œ«˜ÓT"mk – ®¥5§sfsmY‹k`â´oDÿ–:PÐréûÏû1¥ÜðîŒvôì–#fŒA@(à~ÃyráªÕmqÇá‚[Â1ü:-/÷5­kj®œ4µ1" z(>7ĺR«Wb °A€àÌR4¤L„|”o„ϳ…' üÇæéL>_´m»·ÜšîÓ]N‘%2©lZ]öZeÄOÏ>­×['‘5k‹n=˜{·- Ç×ëÁ ·‘‡Ú$òªºi±-4°îÞÓö·»{¶Å©”üë¾qú÷îûÏûk„0פ²¯­lSPÈ£–•…©B=‘€[˜Ž®*vU¥ms·c+œEáÎ@W2Ýç øô€Ï¯èˆjˆ(˜²â¾èŒDoGhXûûË»±“ÿÙÖ½ r F1Ëzt½˜5 [ B:¥Øò$lžLçU…B¢Å“ŽÄËÚ}e/>MꬩªÄ5eÌ$BÐÂ…KÂ4g<ÕPO:Yå³G´Ð •›ý'ºÙ³ZØ#8PŠ/;ë°yË×-ÅþæÆÎK|‡ÕÔÝšŠŠEd$X´Z|]™”Å@#\GDaœJtpL 6Á”@c²¯úcky·TôóÔ’n›`… %R©úüžžöÄ@*kŽÇ««Xk¬ª „nÜÔ=j¨špÿÒŠÓç´Ø–Ù÷þâšñu½‰œ[£cëÇÂÌåMôØ@Î3Þ3âܺÕ(f¿f`Ç5žšbçr‘V˜r IDATÆ•cf}ã¡>ôÄ[¾8/“Ë%úcJµ»ˆ*¯*k¨áTÍéP ¬¨*Âà0nØç BÕ‚ŠOõ"„8†`“yä;&#M«à/¶³–¥ÂÒ=ªÈfƒe^Œ•L6«`̉%01 [%´/žB7NE4àœënqÂLÛôŠxÚ±…¥`稽¹eöˆëDÉÑKö¬ÖØáij` Ž-°û7Ž® Ý|Å©W|uö‹ï®Œ†C¸¡žÛL÷GéÎ.Ç(ŠF‰¦(·¦»à&wLÎlnàˆ@Ò‚¦o'nyŠ‘ãFû8Oyé•ë—›ÅlÞrLb.'>¯«·+Y^°l®j¤¼Ú/XEGÓÙ…Bѱíˆß *XÂq+Äãæf1}ÎÌÉcGŸÀ´i[©5 mˆ‡×AÃcI÷›Ž™sû´ÓŽ›‘NýyÛÊæ «Ç˜ +ªæs¹°|wœ 'Pvûƒ:UmÄD8RË?)鳑Óªê§ß4zåoy8L ´hóXÌq¹Õ`…G×t‚QO_’(X!TñÛ­›… Ú.Ç“1“¦m(¶yæŒÚ²²/…ª§29AÔšmƒ˜«Š5Ÿ¡$–úû—¬ùü$ŸÉa—[±¼^µ€8øT—Ë—KfSý™bÎ –eÜå®@ˆ¨`ûšl÷h9EÔˆ1ßÄo_p£Ÿ÷ÈKÏo2_YÄåñtt%ÒÅPÈKm ^¯ŠîOflÃkzÒè­ ²‰e^5|hˤ¹«Ò”Rkvï(ä…–j™ ªê=\@Á6»ÒéËy2‚ÛmiŒŽªcŽ-(¡^ʽu†k§^骑¦š=â¼³§ lxñÑÿÌëÎõªà!A·EíÚÆH²·àÖ5U%éL^ÑñA€¦ùɬGxªf ìÒ‚RkvøÚ†„ê"r OVï“\ ˜ª#TÑ „j*%HQ@S„˜§ÊôçÈ%£™}*ÂQƒáñg™õÁ¼§ºúÚ×'ò4â^ÇpinEQ"„Ý×¥|ÚØIL9‘«Re¤ÖìBCà ˆÎˆÎ¢s©Ñ£f–(ÅápM$°‰TÝ âаtϾJ°¼qî¿C kó¯ÿuqgwÑ–Î1v©J‹«ÿÈ£*] Ç9Þ \¦f¤Öì½ÊÑ*•Â&%½Äac‹Paù'Ûz= Ììóv<ãô1£Os/xûýúŠýÝ]̱]sŽ˜«ÖåÈԌԚÝÞàlO³ãnTó«"÷ˆôÊþƒ@4T7ûäêÉZæ]Ç2r¾Ã4wPvš¤Öì¹GLï$éŒýN¼ÅÐ1 I[ì»Èþ°D"‘Z#‘Hdjw„Ó£§ÿ Œà¹ŽR-½²¿Á£­cž‚iuÍLBeGJjÍž«XF7ž×Œ¿Z„)¹·MåC?†ÓôÍþ€à,[ë{Íâ›8QÒ™%µ•G"-Ë[RkvHØzñ?Zþ.D׳@؀КèP‹/˜®³ Ï\é¡}Ve„Èeº:;_K™‹‘Èq.ì_žïn %¦ÖÖÎuy+‘|ôAjͧ¼–©æbWþnŒæÊ#@€@€„ÃïEäuÝX¨.ú/µôiò5¨}OeŠùxOÏüxf!GqÁM‡"a3Ž b ŽÞJ¯_Qî?¤ºúÕ%#\©5»ö{N§+ûg*þ(¼ °¸ HÁaà8``ò²g`¹F-úÿŸ£5IWí0«ÐÑù^ßÀRúe8²9âÜB€°(˜`Á¹èïÎ>_»,>¤*:“(.i:©5; YWþߪóg Ý`å0@@q à€À€JsrpDµòY¯Y®ó‹Á³8öI‡èÔL¢oegïÞ&°e3Û1 3–3ðSƽ:wQf0ǶÁŒ¬#„ Ê@»k­oõ;£j¬m<@sÉq‹¤Öl?5¶f¾£'ï¼ 8 €¤8@”$„ÓM„A ð&µx“bV©=œ¯±- à€Ú©€mI xs±ŽÍœh«<>ðg­®„Û° dã}™ù˵q-ÞæFXðÀN}$N—Q’„@!¡Ï®"»ËhD¸SÌŽxaMœ/OaG˜ylT"ôñGH±ÈÒ=\­ÒÌ\ÁN3Ikmì SI–Q^Hã¢SǽéžÎWzí ËV7m¨ Lž,™¯ùH\S䀢€á€¢r€sÀ€ŠoÉ@/›}¼fÁšÂa>ÕÉ*JP,]óÚ+Åu눪ÐQu½` 8Â|G4»t¶ì‡óòôõõßþ›ß½üÊk=±˜Çã™1}ÚE^pÌæîøv—Ñ(õ–¬r½¿!“Ãïõ‚`’µ¨Bùx¢0 ¸Í’sòD¡=ì-›äÅç€X âÅ\'\uo_Q8 „Só¨!²†¿ò+öTÝ÷I‡îZÀ8p @`° ÚàØ 8Âf Rá¢óŒ×>ˆ½·4ðöªÚh0·r¼ð$ã.¿Ï9ï´X]­Ìf@ÝÓ'ÉÈ¥§'vâ—N;çì3ŸzâѪh4›Ë.Xøþý|èsiš…žÞZÖ“.7]^>gŽŽH¥Ù²,9@ú¶MÁmÎJ%D!íyÖƒ)‚„¸pà TxÖ·3]³\9á‰@lï¯û>éн8_#" Ø3@I2Y‚1Dq±9Gî"8vš1}lº0×µ“9SX.'Ú6 š?ÿKýua¦œçÀwb€ÈÁ`‡1ö‹›n;ajMCË7/¾<—Ë +iZÖ·¯ø~mã˜q“¦Ýõû{GhÓ¼å×·ŸÞ¹WÿàÊúºZE¡áPè¸c¾ðè#Zã÷=0yÚA‘h=´¶µõ¼oÔW]×|æ9çÅãñaF+«¬ûÓŸÿ2uÆìhmÓ‘G¿lùŠ:¿µ ñ¼SäPån£©¬xðDç'ó‹Næ_>À3U[ÁA¨€¢@¶ÜßI~{ÇÝ‹—,}ý•ç׬X¤»ôŸýâæáN½õ¶D"¹xá;o¾þò›o½ýù¶°DoG)Yƒ6~Ûœz¯¼úúÙg~e;ÞÑë¯<µÀ¹_ûú¥—\¸våâÕ+nn¾î†Ÿ¼üÛo¿ûü3Ol\»â¤¿òªkvNkz^ !§<€F7¡°‡Üà%ÂÅDU%;ð<~nc³Ž†é‡‹±SœÆfˇóõ,TÊtt@‹a¦ir#o­Z’©®Tu›!$›íBÝoºå×±ÞÞ…óÞ\ðî›]]7ßzÛÞÜö½J¡Ã™õÆÛó’}{bïÁø5ˆüK @8€€c@ 4¶ù¼R†¸toÁ0¸þOÞ“±ŸaD) È® "½Y³ªØÁ|Í`šsêŒÙýãáÑ£› ¿?~ØQǬ^¾hhISg>ýÄ£MM°aÃÆƒ9âóê‘•ihz¸¤8¥Û?ªÊ𦮶u”Òa6´ÆŠ% £ÑÊoX,§Î˜½fåâ¡6)«¬[¿fY(,h=¡·kÓǷݰzñÌÿøñV¤>7ΧŸZ&Kd…Ë…\T(€P@QAØPYÀ¸Hño{ÜÞ@¹§ðÒK™p¹*ëŽqG ¬›¬w»á¿.ø`gë>qÊO?ñè¨QM%ÿžòå³–/^°w6€}¬R½]­—|û{8_³ùÍQš{C”U‚&ˆ¼å¹áÒ P PÈv_ûþ™…² G€`à0(h Į$5{b±Y‡ù¡Ê~ìQ÷¾¾þúúÍŽlh¨ÿ¼ÚÖ‰©”˜Í¶Ü¡€p8Ô߯ªŠ“˜ÁC…fþ‚…?ûÅÍK—­( [µ ”„\.—ã8;U—V׺çÍ+,OøÊpÀ•QäÑGŒH é@^ðz‘ÓŽ–šB:–ôÇÃÍíb–aZ‚awãnLýÕúÄ'ïBÝûûãƒnmh¨ïïï `_­ÔîC` „a”-êSz1”žÙÃ\Q.¨rªà`ƹ°AØ\˜2ýP̉]š6¨²¢bùâ‰ÞŽÒ_©1”ŠŠòööÍgòà‡Ï·÷$v~J¹GùÈ?ÝÁÂ߸è²o^xÁŠ% ã±öÖõ«„ØÍS¢sՆʚ*àYÈÄ`Ó¾hï-ò«ú]/¹™§¾»Šnj¥9äbDÉw#ÃTÃÀ@s¡Þ´Ó¾a ˜ÎåS,—^pÚaÆ9üÄ)»P÷òòÈ [ÛÚÚ#‘²½³ì«•ÚÓZS¾ù='! $ 4P ¨”ÊQ@À€0(.t­ô8×|üäAyé¯å‚¯íÊ\³©µÍqœ•«Vóâˇøòi§\wÃÏã‰D<¿öú÷ªŒï5𣫿ÿLJþüëÛÛÖÞá8N>Ÿíõÿn«°Q4tMÓt­­½ãÊ«®Þí‡ïMŽ¥½Ñ îÊqîi‡ÓiÇ’YÇ£és˜b÷,¥×½©&iíº øÕ—Ø‹¢×_%ᆱ¿ü¦º`ÚÖ^ðN P",†l& ƒh†@D ”k˜à]¨ûi§œ|íõ7Æãñx<þãë~zú©'ˆ°ÏTjk ÅÜæÜÜ @J)aìvâÔêÆÈ¡ÀT(u8¾9‹Œ0 00@Q@"J~ŽåŠï|ëàƒfžöå³k[.¾ôÛ't°×þè‡``Êôƒ=â˜C™½—$†w6Ô¨«­}ñ¹§:»ºNüÒi5 -SgÌþãƒÿûø?ÿ¶ÕÂwþîöënøY]ã˜SN;sÖA3w{Eø†åa-i Íá^³Vk^=Ðë"Q](6>¹rBU¬fŒ6¶QŒ›ÅÇNv¢ N8ÀXz69¦…rpHÐ4QMÀ„=QW¨ÒUdbê~ݵW——GfÌ:lƬâÑÊŸüøê½¶ì“•ÚùáÄYÂz©P‘€Â„0äAb L€3@  €5pœÒ ra"€8 ”?û4ÞÞÁ æób[¹áîßÍ7¦§+_kϸýŠ­Q;)š*úcäÿýM¿îòèÁ¡¾E+½åµ®L–ºh.³1'P–2ïKO‹qm$LŒ PHj”ò©5-–ùÐÄY3®Éá3É ó.LJ7()ƒÒ8Xtó‹Ý @  Àà€Jñ–@`šÀÄ–²à€80öy÷$z;ÓÃbÄN‰‚žîUGqÆ BvžØpŒ+"p`Òàñ|un1CÓU–}Y½:T°rE= ç’&GB€pq'_æñÌ­>è„*™JP&§Æyìa­¡~à 6K`€ìÒ°€ˆC¡Û&øÊxæ .€ (ÝÅB `uËm,àé¹AÇØsº2ïå»6)ú ¶ÇÌ… †”ùÙ‰sü¨¯_Aͽ<…ÊER¡Úªî˜9¬(B€à „¦¡Ã*§žTUÝàF#ÆAÑ4$‡•Z3 ÓÞœF `Ë Pxó;P›CDô ®!€Rº!Åâ[ÆÃ x^zK“pF÷ß”B›ÁGbˆJBž@…Š@Bpá¤-'V`‰X.oß[§Ufõ§C–YéM…\H ËBž¦ˆ#„ó¾ ç5ž¦1„±`ˆ*DÌäŠRk>Š­«w#ÔWzpmåss¸¶`¶ù¶("ár±    ÀA@•Cö—É¿Gúë£áð˜|ª¡˜¦˜Us¼á°'ãÂÈ;}…M #ßWÌ' Þô[¨'`UŸ]3ûà ·WÅ‚ BaLX0\1EžºRk>B>te®Çï¤èP m÷ø–?ÛÚ¨Ívõo5ë|½ð[d¿ ˆÀàØÃ›QzhUl ´åmŽÁ@JÀð^jz.@¥ÛF(¬™8g ±¡½û…ŒXç ̸p¸À¥I¡˜„MÁØA”bÊa"€`ær«ã«+æ"ÍÉ)1¥Öllª3,å!ÝxA+ü‰VÁYIM€ €Js‡ È&NžÑ°€  Õ¦ï«†û|ŽƒÒa#Spp(ÒÖ÷w/éHü'‹Z8 ŒU ¥—ü±.BsA1˜ÁQAhn³¶ªâðHÍ$,§ú–Z³#¤]'›Úá®Âjñ ²¥Ð!¥÷0Eà"ס!„(w|_/êg1R)]5ÒÁT«¬?(\9¡'6¿#ñb^*vàBQ„`ˆpŽ(¥‚ D€RÕ‰V©h™¡ºÒ€RkvŽƒyïOMýù÷þ‡D½Ï»\Š8†Ó´‡ÔšÝiä¾Õn·›–G‚9Éõ¹\¥jé›ýÄM’ø/)¾ãòš L%¾Ôtezç,–Z³›p˜“í]¹>ÕWg‘€·s€Ö*"ou-,ºÊ½å-„ÊŸû.‚“ì’xN󤉷ÂL‘.tûY¥¾é=ÞrO‘Ï×H­ùTpβýÙžõº7µú‚Kcœ9éL&ŸË{¼ž²pÔ]Lg6¾¡”µ¸CµË·¯AÌ6WöeÄÖ QfƒÌ)Í’üCj¡ÅðäèÍÒ\RkvþJ&D&Ù›ïY“Nå“yìµ¹ªйLW.Ó‹­Z³Ž¤Ûo¨±ù¦ï$Ó{LâH­Ùjj†ç’"Û«y¢…"Neº¼¡ò@õ(=®Aª?ðñDoû¦t2žM§ƒÁ€eY Á‘p( bŒÂé\>RŽD<¤hwͳ}z¸A&qFL 36ºò/ÔŠ4€ r³ χÝ+Ū»42õ–©y ]!:× ÿTzß5Bg9Zµ4¬ÔšPlǬg Ù¬mgÜ^¿¯²Ž¸}àါ2Òlšæ@_/·M—®ù}j¤²{Ç’ü¦B¦Ý;êé¼½wò_ ¬CJ„cs›"Ò[,ü_ûÊ"æWŽžå!´(EH– ÂaBp¡Ò¤©†/Õ°'{—•Ÿ] Ë—Z¤Ö mj„qW¥™Ë‹EÓ0ý¿*Ìl"—Ët[QÆc,‹©”Æûû(%åe ‡PŠ fL¸}þõkVõÆúU „B$ÐâË,ܯæ*«©ó(`ÞŽ”^$ìuFâ©®öËêÆ[ȸtôäçcë_ì\Ÿ ¬ÝÊœ­ç)CB¨4¿¤ƒÐÂ!Ä… ÀFþ ’ÙT”ç®ÔšôÓ1fŽÍ£”CAÇa©TÚpø@"¡Uéä@*•2‹…P(ëî —•µµ¶‚àÜv ÓTÕårY¶÷»t­h ù¼×ëui*ÇÙŸ„@”U¢‘(7B+礧bUXùSDzuqÃ¥"¯KYÝ)j#Å‹&×oʧš]!©*0B¢4½)Ðb€Tõ¥$ŽØHjͰ| PÇ4mÓ(är¦i"LÒEÕ:[7¦’É@(ØßÓQJ+¢Õ™T²¾¾¾§»»º²R0§·¿/o·Setó(ÇvlËfœ#$¶Ì¤¹ïÇ#%¡€o‘rƒ©RÎ]Vg$r(^@§Lˆn2‹ù>×W'Ò§cfï€9=\¡ä@ðæéĶ w€ aD €YÀyꎼ wÏ^Ö8cŽS,äûûúMÓÜÔÖêré¹ô€Y4ÚÖ¯á–YÈç+*¢Åb!—M…B¡òÊŠpYdþÂEK—­hëêŠõöSE³mG!Äíq[–e‹V>ç0¾­3óÃæŠ!SÒ !fÏ9ª¬²nÄŸÌîš7Þ(vðwW­^sÖ¹ç×W?jÜYçž¿rÕêϱõz¢Ó,¸¿ +.6ÇîÏó&§ê``nE %¢8 aB "¤W« @BP ¤BÀímY¬¬².­o=þÈ£ÿù/o‰'{>ê”ì Zc[̱S)ÆY&“)ŠˆÙX8^ŸlÓÐ4Å0Š•ÑL*Ã9£„†‚þ3¦74ª¨(Ÿ>m*6L¤Óép8\VÖ4M`Eˆm†Ð.·ëÅ—_\|þ…—Üž‘7öRéœÙµm7mj=õËgŸpü±+–,\±dá Ç{ÚçlÚÔú¹T$o›)#sÙè`3]±'UМUȧ²Ó*]Sç¢&ˆ©ˆà ˜ÂA‚‰ÍSà ²ex@€#Qš˜yÛúµ¯\úþ¿»½hGÌ=®ýÿ³wÞáQTëÏ™¶=mÓ+$€¥„"U”ë),¹èUJD¤H)¡#ذŠåzÑ« UÑ{½6RU¤&!!!›¾ÙÝiçüþXׄ&p>Ï>ûÌœygf÷œ3ßyÏ;3ïäœbÇùÕ¯5€EUQ9Ž7™Ì¿9îôy=‡#÷Ô)ŽÃÞÊʇíäñAÁ¡’d>”ù‹§¬2!!QøæÍR’[æäž9v2GU”¬œœ²ÒRBˆ,˪FHÍÃõ‰Œ{áÅÕþÙ•/®zlÂxÿ¬,Ë“¦LOJi”ÒzòÔ²,W{vòφEÆ¿ùÖö™\­ IDATº©Ý£âšõí×ÿÀÁCþ¥rp2+ûï÷Hh~]L|rú=÷»\®ºl§¡É8ÇEäujųŒóà÷Ùí6»Ýöà÷=2nÌò§Ÿóo|õ+k¯ïØÕ•º®/\¼¬U›±‰-Fïv»¶ý%€á‘‚f´`‰&‡ð‘Q² (×ÙÚÅ @€*@}@½*€À‡@A PÐéé: EQ¥²öýZ,–®o·tÑüûî¾tÙ £°¦?ûùÿ¾ìÙ§_T\³©Ý×½óníÆx~O`üyZC)¥Ôj³åååq‡†»+*€‚×ë5I&·»‚êÑ•?îÉ?V@=ú—Ÿlÿàí­¹' ¶mþú_ý˜}ªàxVÁɼ¢ý‡Žþ´ï`ii‰ªªšJ(kÚáàA ]®»2à»ß—” x»éâ¥Ëó 2ؾëûí§rs—œë…µðÝwßoÛºáøo‡è?yê xï­ˆtï}>B¿Ïž½Í!¨kl82"²¤¤¤ö?k2™ ιŠâbcW>·â‚5XŒzœx.óö9¯×W\\îtFEG•——[í¶’ŠÊ”ë;Å„;¿ûï·¥ù0"€8žçEÉ A{xpX^n^Ey96‰áNç™3…ÁAÖÁo7™MšªêºFùÚ$røßî~jųnØtèç_Þþç‹ ]‰‰ ÆtbbBa¡ë‚ $øìË6Íf³VÃ¥ö»2ç/\²ÿÀ!Ç`¼,øb¶SƒÐ@FFFFÊȨÓME!!!……®èè¨Àú{ª¨¨ß߸t:?¿[ϾþÙjù%kÅ£S‚¬V$6·„z o=*•xZ!`Í+`Š8°H¤#À0Àðû„À! H´Õqÿg BCCkÿ³o½ùêÓϬ|jų‡}ñ¢Œþ½µöš ¬@FcÑh²·Òl’BCBxŽ÷ù¼{Ðõ]ÚóÉç?ìÿQ“)'šeEÑd¯d¶ød“LQáQåeeùeÅZ‘·y«äܼ¼ìS9ɉ±'NžLMM5[Ì<‡9õtm1Q3jÄø “fÍœ&‰b•3|vvN³fI••ítž=;ñ<ïõzÍf3—”Ô÷oŽ=náü¹ýnîk·ÛÜîʤ”Ö R{çB6þiu¸Ž~Sïžï¸aâ„qþ’÷?ÜpSï^5œö#>ûdS 05°Ô ‰ÃVÞc%*EHŒ@ª‘©á¬S€„"J9(¦!$N^]ïå\÷ö»7õé]ûŸíØ¡ý;ëÞ ”~þ¿/'N~¼ÿ[¯@Ͱ1TC1[­111v‡]QATUÍ;üÛ‘÷ºTM%º ŠJT½¢¬BÑuŸ®#^³ÇSáñéY'r²²³uB£¢#CCBTE–}>ÝWû~'M|¤ ÷ÄcޝR>lHÚ¬9.—Ëår=1{ÞCÏÞçÞ¶më—V½âõzOŸÎŸ:í‰ þ¯  ÇÑ£Çü³>¯Ï$I’IÊÊΙùåU¯üãŸoWT¸+*Üo­{çåU¯L›:©Zㇼoòã3NœÌÒ4íç_~5f|Ãû5@xZÔÃC™À—‹œ[@•¼@=@Ü@*@÷Ñ@ @)‚³²ÂS*áprø·#ª¦QJuM¯WÍTé Œ?MkDQ²9‚$“Dt!¤È %Äî°Z- +º¬EátB ‘u¢êºìõi(E:ÕÝ^Ÿ¬*NgèÛûÅÅÅH’º®QB.î÷Ìž5=<ܙڭwj·ÞQQ‘O>qVžfù'Û>KJisû a½{õ¼àv&Œø–¿ôó/<ÿôì¹óã“Z–Þ­k—K©±¢‚œ*S_RR’?úàÝO¶}Öæ†Ô67¤nýxÛ‡ïÿ+9¹yµÆ=úÈ]» »sx\R‹1OGo( »( W€^j¨§‘æ½´2J|@)Ê‘A÷æ]ÝDª•Ó%:P€QhͱaãþšVm;>úØTI¿þß§ ñqµÿÙÛo¿í‡FÇ'µœ¿pÉšU/Ô«fªôFm¡wnß|÷Cñ™Ër)8àb¼n·«°Pø¼Ü¼ðHQ¶lþÄwFñTTƪJç$'Æ(²†E‰Êqâ/‡¸+ËÀéXyÿݽnL5™Lf³™x“I°Ê!î¶«¸Uü}·ZÝÉÈÈhl>Žýº·KŸAç÷"{É Ç\H÷®® („€b„à#À,E•+=ù¿Úí!¢=F•K•3‡|:£R­&;k›«„©JS$ïN öcާSY—¡ƒÖ‡b‰ÕÓš†D¬Bd»ÊŠ"îôÝ[LCn°9XrkŠDŸ¥—¢·“Ü_cм¶>„fÕ´æra²‡=ŒÝv~ÍB¸`oÐVW7l<Ì`0˜Ö0 6†jH´ÒSy¯IœùåƒX«\5 ý[EÁZYŠUU#›p†É"˜LL¢‰×9L(ÕM’ÀsGÇpN''Šàpp!Þ'#U×u¬:lDà4¯W+)¡¹§Hv]½Òƪ—iM½FêraÁæ3%kËéq„ô ÏÖ„Ð |È_]†¸*ðxH&㩪ŸB‹*pl0¬&N¢z Üžr..Þ’ÐLàÌ¢$«…Z,Èé¤AÁ$Ô—T¯ŒQU%GM&Ýj£, Óšú@‰Z¾;·à¹ÓÊ.ŠT„0 ýŒþsQáä˜Òc#§€µ»½¢©ìP€χt‚EÉ(8EÅV”å”WxH5yd ¼zS18ˆ7YtãNœ—“¸ëÚˆÁäõÉEå¾¼<½¢‚RŠ‚¬c0­©#Þã…k³+?Sq9âô¢J‹ITí&•¤På¸ïëSY»SìƒÂ#ÆöDo“†ªcŸ—½&ˆè WTªÇN ¤›Ub˜£@*=ÞCQ¥`wûèÁÇóiDÞ³Âwr)É(< 9•§=BrV Ó¦5)E…ïœ,ÿ œ–Öa„TŽÓ1Öt ”">p¨x/¤ò«æ!÷9 Bkª¦È‰“XSyEå(A(¡H R}Žò˜"5(˜ãA*)UûU^G$^ ãZ]g±òâÉYgUË´æ`Á‚€pQÐÒ1r#]¯à6eŸêP®xNÎ >Ѿ];P|á ͺ¤,Ü~ôN:B”çdl/Ín„Áˆb<§"ÐgAâ+GXdüE¿4F‰É ±±BX¶X ÎÊgŸ”ó J¨Ó)…„p§O)ÅÅ!¨(×dUŽG^ţ蘣TDf3æ$ŠH#V‚xÉÌ[$ðyXÌŽiMt8!•R(D8‚C 5¯×d_|ý žâ“ý÷žüÙ[“-8çÔaŽ×¢”JNô!¬c <@€ÈŠXT&{Å„á9Èg›â[¢ÁÔjå̸ÝÄí¦v Æ¡Åò cáyŽF…Iû*.àR}D=*š¦¤ˆÉÍEŒ ¤„ºtŠ¥ò2¢+ŠWŽgѺ¦Çå=? Ä!BPL(6æó<%¦\ Tà“­ÐqÂÑvóOÏø>W+F! ˆ&NA¥ QÑà䉨ܜ¨#‡ÃßùX«éà4>ÍZ´1zœ«¨èÒð?Qh6ŸƒRJ)5þZíkµjÛQVÿìýŽòO˲ܪM‡‹«“‹ÆjA’Hˆ¦órØyžÃ>p1‘\TÏqD’Pë¶ÒmýL ‰ý¢âšuHí¾îwýNM QÅ•,_ýÊÚë;vuF%€®ë /kÕ¦Clb‹QcÆ»ÝîK:UƒÁƒoÞ¼¹ïæÞáéÿ^ÿ¡1½sW&!d×®ÝÆì»ï­¿wxºáàLš2=)¥uRJëÉSgȲìw|ª-¿¤S™„“`µòv;ƒšqQ±\ó©ys!1‘ŠEžÇkšÇ£´4ÛC£¬¿/¤]{³ !O1I¾Ú¢^ÝQ¿[HŸ›ä-Ëâ*’´ðr7~ûíŽysf%&Äsç :dðæ ïŸÍ×Ð@5õ FÓÂÙ(ˆQTBu „‚NI¢V›ä3[tA¤<¢ñá@â¨ÀQDé€à°(WXTy§~ÌÜ€sï}>èç_nýK?X¼ty~AAæÛw}¿ýTnî’e+Œuk*¿Z64µ£öh»6ZJ3=¥9‰ˆ áQØŠÊ )-Ó(èÏ=ý”41á’ýy<ð¿Öî­7_}ú™•O­xÖá°/^”Ñÿ¯·ÖëßEEýîÊŸÎÏïÖ³o@Püâ/”¬Ÿ7Ñø^¾|ùôéÓýå[¶l×=Ãï~ô±©#ú¿ÒÒ².SKJJdEywý¯½ò²aPXèJLL0¦ ]µ—_ »öæ¶IætÍ\p†•PB±ÃÆÛ­œÍ‚¢ewZ?vLÿiŸìp@ó$1"š/+Ñ<•¤¬‚äå+ù…ŠëŒïØj ñäyZ&_×¶…S㤒‚Âjwä˜óäÌ9OΤ”=zìåÕ¯Ž=î£÷ÿUKÕÔ7MLk0BîûÌf…"Q8MÑâ­Á}+(€©áSFȘž•"$Ê!0‹ª±äB@1"µÇ†«0bô¸…óçö»¹¯Ýns»+“RZå;´gÝ”ÒÏÿ÷åÄÉ÷?PÖð<ïõzÍf3—”Ô´ßȈˆÏ>ÙÕPU·üãU„&--Ö!GÔõíÚÑ™ÔN 5µãk¯ÿÃ$IF9„‡;³³sš5K€¬¬l§3¬öòKÁu\øM÷º+éÉl|ÆEe š53ÅFQg¶YqbT¦ÂÑcŸOeëÙ¹˜@óɈj:æFD¹R=ø«ÿrkB§öÁ®"ñÔ)E-¿Àsÿ¡-R–.žß¼EÛÚ¨¦¾Áhbc(Šh™—+̱”ça€#B°Ã«ê é@©áÅœ}°‰>„!@`88|ö#ðTà¨ÀS§€¸zý Ÿ×g’$É$eeçLžúûKJisû a½{õ¬i=úÈ]» »sx\R‹1O8ðö‹®´:F¦ká®;‡U¸+zõè=ztWù®;‡ù—Ξ5=<ܙڭwj·ÞQQ‘O>1½öòK¡¨Ø²w¿ž›%ÅÄ+cÙ‹Nçˆß~Iþ³þ÷3üÅ—°ç'r:ŸpD„£ˆìpÒðX†$ #bƒÈ;¥ðpé_¹·þÇ[\Ž/øÔê;À´©“>Ú¸ùÆ^}£ã“ûêñxÞX»¦öª©o0Ô»G·o¾û¡øÌ©Ë±õ¼ŸF=µ¡ yÇʨ˜B'DŽPÍ‚"`#JçÛc‚ÊÝ>Aàu«¨ûznX…2žQÀFü.mß¡ãÖ«»aŒ R!ãÛРKy\à²rì×½]ú :¿µ¹¡DGD™¦<Jx޳—7 IDATž€Š(Á<æx*aÊ ”¥„†„r;I‰‰|i9ýn»ïèQ™ê82†ÄÇi¹eÝ„‚U¿ŠbGoS¡ ÷äØ _Þx¬{£!Ô.‹á9"`žR=¯(,&¤Ô""ž×ЄÐrŒh¨M¡g‡R€1À9¹Aèlà†ãÎ^·BÈ깚)*È ŒSú/Æ7±SÅ9#"L8D8ªRL1¢˜PA^$Gͽ´Â­šÍ|XnžÄÇÆñío7n¨Øþ É/T ϘDޢ𘖗!Ug9%Xl¸ iÑåÁs(B” vóÉ O`Nã0P#„°ºÁ€={“ ‡¡³wô!Nó5q±ÀP„PS|ÊÀ*{½š¦ €ˆÍ¢ÛƒÌ¥…š¢ŽsV êäívM”çÀ”Ç·n-ÆÇqaaÍG:m‚Eþq;o³èÍS^€ÊJZ^†Ý• ;t™Öü]“èÓtŠ@G€8¤Ù÷8D©NtŠ¥NQŠÐÙ`0Fg@À!c0ÆU‚~ ¥€lºBÉÉze%©¬T½^>6ÚÁåÛinžîSpàæ"¢ :%ÄCD8r8ÅLɹyÊ7Û=A!|ö)„í¹Â3^Œy]§nRQN++Y^>¦5ÄêèÍ» ÞE¡”Ò³îнöD p(#"cx2†!ÆÀ»Çϸð dEÁ–ЬåšF÷â FœIÂ<‡4ªœ@£¢xE¡ªN%h -+¥¹ˆT”Q‡˜$’{Ú·oÉÏ?—a‰û~§ý曃۴6Ck¬ªbe%..RóóµS§Xþ¦5$:nœ­´kNñ+gäïT~.s¹?è €P ôw5¡çäÈ kPáU„I| º)<â1boÇZ®I•eå0§éT•iÞ)BL&j6ƒIDV k*œÊ#$‹Œ€Í˜j@L9õT®Ç£b^òZ¥ ‰-*4—¹­ˆc±a¦5ÕA/…¸ÎÞ+öÌ{GÜoæ*§t‚`J‰"‹ûv·(9C¯»îL‹¶…¥Àc@(œ Ü„(±Òƒæø¨À^õÝÄðz5¢#Äaà4NÐDe®¢X/W¨ÂaMÓL&ÌK‚FäJ7F<á¨ÓUYS‰j$c¢èºçÌ)R0­AVÇaŸO`ïófZSDpXcÇt”Ó‹^?PüV¡¬SÊk*çÊáÝ(/7{=‚dR#P5yuG÷7GƒԚÀ^àÜD;â8@@(V5®² T¬ Ñ|º¼IÒyäõL‰Êy9^À^'D”8^ã5D¼ ™(õ¢X*Ö¬‡‰ÎÂr€2­¹ #E…ÄÌêné_p楻J±Úú:_V%ïT(%Ü ]Oס¼5Ièé ›Hl×Söz–¦Û½ˆ¢H&@)±è:&T¦€ ¥¨¢#, :åuŒyŠxMh8b]Ã@D v7!T×}'!Ѝ¬n™ÖÔ)ˆ#§Æ­-þüÈé—÷5Ë>r4®èR+æ[‰"&{w‚xÖBM"¤S$BxBâp@ÒàUÐuJU¢Ëšª"^8‚¨‰‰ãAã§é P %vàL€4Š#Ì#Ê’Û3­©O…õoÜ«yÉÖDüáAW¡=ÔÝÚq}KçH.èv³ W& :‡5‚$Þbë²—è>„xdÍ$ꢤªår%.¯PlÇ™°Ù‚BB±…7¹Ê•3§5qsf'Õ@ DcUË´¦žŠÃÙxçð»Ü”ó¦£qq#‰ÁîÓjr$_סÚGê"ÃIi È•œ€§€­&Ýn&²Ž·ñØd5#VuÊëzY²£ÐPÁnÇ6²›‚mÇUdçø’›I­¯0ÐÂ3$+K/*e÷×0­¹HG;²UÊL`*s•ñùÇç_:”ª3´V{&ÐÌfV“W,žÏ`0˜Ö0 ¦5 ƒÁ´†Á`0­a0Lk ƒi ƒÁ`ZÃ`0MkÂ"ãý/E œ¾KƒÑ˜¹¤û†|Aà##"{÷î1û‰/Ÿmüø|¾Õ¯¬Ý´ùã£ÇŽ+Šîl}]«þýÎ¥ÔI“NÌ`4:­10Ž+Çóêko.\¼ìøñ“Ÿlù¨.«\ÜŽ–òòŠ!w¤>üÛâEw "ŠÂî=?­Z½–õ £‘Ž¡,Ëè‘ÀÞ½ûªòÔq4´ú•µR»GÅ5ëÑû–¯ÿ öñÔ»ï½ß¥{ŸÈØf=zßòÝŽïý–¯®}#p#µìî©Ïî?pð‰™Óú¿ûƒ‚f³¹WÏÿzûMc)!äù•/uHíÛ¬}§Ÿ[ù"!gŸÙúnÇ· —Ô26±Å]ûû_~èèî±ZKƒiÍEâñx^óŸšÚÑ_ø6µºðêÚ7fÏ]оýõ‡öï޲郷}V»ý÷?þøÕçÛ^uÕáߎ<6yšQøÚëÿxbö¼víÚÜ—¹yãû›·|R˶lýîºchµKW¾øòÂ%O 2(ëØ/iƒ,Z²ü…W‹ÆŒ›¹{ÏÚ5/;|`ʤ‰k_3Ðó |Onµ– ƵÆ%½c÷|gAÅO¶lèÐác)ÇqgòNžȨi:µkÏ“YÙ{víHLˆ€“YÙ©]{Ö²ÖÁ½»¢££TU‹Šk†råg@çn½NœÌÚ½ó»¤Ä8qâdç{×4‹Šk¦ªZAî ž¯f8Ù¾Ó§rs9°'""Ž0¾å¯â“Zö»mà×ßl¯iu·d0ØêÂH’tÿßï€}ûöû u]7§Oç×e#†¸Š8Q/ •É;}ú¬ôäÔæ² x;|¸aSõJ.W‘ÿ;:êì+ëÇŽyìðÿ~ºåÉ'¦ïÝ»̸‰5í¢î– Óš #ËòºwÞ€ë®ke”C˜Ïþó¹ÇãyjųuÙÈèQÀÜŒ…Å%%Å%%óæ/ºˆ_òð˜Q0Á’’ÒÒ¢ââÙsÔbߎïüûý#Œ¥»û.XµæUY–_^ý 2îÓÿü—ã¸jƒ‚Ÿ}²iÕšµ¯¿ñÖ¬Ùªª†„„´kÛÚ¯D„èë?øhÕšµQ‘‘OÌx|ÒÄGŒE÷ÿýžŒK2wïAuíÒyþ¼'òiS'?ýìóa¦š,ŒkŠKŠ 7 Ž;ÞµÇM))É?~÷koãÊÓ`±áFÈÿ³oßUÕ²²sŒXõ”Ç&°&g0šöªr×C'O›ñóÏ¿˜L¦®¿~Ý?^pûm¬± ¦5 ÌàAÀZ—Áh<°œ ƒi ƒÁ`ZÃ`0Lk ÓƒÁ´†Á`0.<«FØi¤¨ Ç?Ëò¢2­a0RhZìK¬v6,2žÉ Óškñ`ý¾Ž¾Iµœ_{Æ*BSe¶Å¾DVíLkŒ?¨FÉý)%Ç{/yåðÀ’?ªFw†Á8Üøû½ñIh~ݰ»î9üÛÖf|ÜÄ`4I­s9FîÝÕ«g÷±ãemÆ`°1T½‡ý¼±võ´A5-u8ìyøégž7feYžñÄœ›·À°!iË–,$ Nfe?9;cûw;4UíիǪŸs: +ÊÔi37nÚj³Y7–5|íâr®á233ýè?­ë\í[÷>ù¾Ó€î{ÎÿfµÊh2ñšòòŠW_{£]»¶Æìâ¥Ëó 2ØN)ŒtÒ’e+æÏ› ÷Þ÷àSK¾¾v•¢¨Ë–?3{î‚5«^€¥ËVïÍÜA)<2q2kø Êqª¨¦ñnü#pãFâÒâá -ö%¶xxÑ5à ¡9Ò> Øeo¦5?`LDFF|úñÙ$änØ´eÃû†Ï²lñ‚!wþÍКÛ¿0 L&Óœ'gtHínÌ~ðÑF¿ýÒEó»ö¸‰µ}ÃjS ÜY3¬Eû? Sß$ú1¥ôdVöc“?pà`B|º ƒÄÄÿKWvîÊœ¿pÉþ‡<¼ ï̙„„x¿=køË$7ggÖt:²fsgWNkª“!„š%%®yù…~· ¼©O/›ÍîÌÎÎiÖ, ²²²W8ÀˆÑãΟÛïæ¾v»Íí®LJ9›¥<""ÜoŸÍº~]}ɪašs%;w>¿‰_Øà}€Á´æÊ}c·®|´ñÁî6$mÖœŒŸž˜=i†Ïë3I’d’²²s-^æ_÷ÎaCfÏ]°òù@é¬9¬ákšßï¯Y9ª»¿†‰£¾4±g/¸ïÞ·Öý fÏšîLíÖ;µ[﨨È'Ÿ˜n¼ðüÓ³çÎOj9dXz·®]ü+Κ9-(8¨}§{ÞtkÏÝYÃ3W˜«ÿ-ŒKòkΛªÞ7¼îhµ~MXd¼©ñÓâá ̺Æ1ÞÙžQ`Àùƒ£*7F­ë\—ÔùBGÖ cA1€=ŨIn.n­jïÞdBÃ`ZÃh"Ÿ`yù ÓƒÁ´†Á`0ê‹×0–o˜Ñˆ´&s÷žÕ¯¼Ö9µã¸±£Y\eBÃò 3‹ÖdîÞsÛ€!@)½”L2¬ï^y?¥÷„åf4.­ÉܽgĨq—ûØ`º+sóæÍÆôàÁƒáÜ£óUj˜¥e4:­1<šºS^^±lù3Û>ý,ït¾Ífí~c·1£êÓ»W-«0¡iX¡1$Æ¥tË–-‚΄†Qûu¨‘cÆišºñ£õyÙGÜñõ]w }úÙ•¬Ù®ØÐ©ŠÐøœÍ›7×+Á+ƒÑصæÛowÌ›3+1!žã8gXØÐ!ƒ7oxß¿ôÍ·ÖuHí׬o¿þª_‹Œá¥Õ­ÚvŒKjù褩²¢°ö®»ÐPJ)¥žžžžž^Ç?ù¾Sµß Fcך®]»Lž:cWænŸÏwþÒï¾û~ÛÖ Ç;4p@ÿÉSgœoðý?~÷õ÷fî(,t-{êiÖÞu'==}›žž¾~ýúõë××>h5òïA@¾ahñðbó#í³X&P¦5š¾¹6>>nÒ”éÍ[¶kßéÆY³3JKËüKW,_e±X&Œë÷kY²0Ãét:Î% 3>øh#kﺳ~ÞDã{ùòåå[¶l€´´´*ùåæÈšaGÚgUÉ7Ì„æçòƆûhj\š¹gä˜ñ%¯¿ºªŠMPcΓ3ç<9“Rzôè±—W¿:bô¸Þÿ—±4$8ؘ0›Íš¦¿ Žá„„ø3g Y{×—åï˜>}z Ð¤¥¥c«ó½–o˜ñ§iM^Þé›¶Ô´47//wS^íZã!Ô¢EÊÒÅó›·h[÷àÏ1œ“s*<ÜÉÚ»Žä sÂ1}út„¥Ôø®}-`ù† 5þájî!Nv÷ÆM[ ]º®çæåÍ_´´sçzÄgÏ]à**r=9gþ]w eí]/¹a2Áh2Z“6xà¢sëb¹hÁ܅󫱜6uÒG7ߨ«ot|rÿC=Ïk×ÔýtëÖ¥gŸ¿tHíòÄŒÇY{_"¡¢‚ã›Õ£~ç äÞ´yëmjy»îEÃn n¨jc uÁúdù†çsåò _a\ÉÁ”ߣ©¯ÐË7Ì8Ë)Á¨‡â\Іåf\‹Zú8«sFãååc0Lk ÓƒÁ¨;,6Ìø“aù‰™Ö0WBhX~b¦5WOof]öR|j©¥JY~bÆU®5¬_6`M–ÜŸXrì±÷’W, ©¡¶Y~bFSÕšÀ“dP£gî‹ÌKL`7Œ5ÒÆbù‰5Ñ®C»ò³wîøºUË–ŽËš­ÑžX~bÆŸã×Ô«{½±vu-ON!„œNç´©­ZýŠã‹Ì]µfíéÓù®ülÿ™SV”©ÓfnÜ´Õf³>ð*ŸÏ7eÚ›·|l³YÇ?**ò|û3g ýi†Ëããbéøø8ùéüün=ûÖX·¸hX~bÆŸ£5ué411ÑCÒÕ!ÇMppÐÄGÇ?·ò¥ÚÍ""Âýi†³³ÿááΜS¹I‰ “ó{n°ÈˆˆÏ>ÙÅzC /Y}˜æ\IçΛ˜å'f\UñšòòŠ×ÞøG‹”äÚÍî6döÜ+Ÿ_”Κ“á/¿chÚœy žv9Ìž»À_þЃ÷M~|ÆÒÅ âãb;rôÙç^x­æë׈Ðü~ÍÊáPÝý5ç‹BµÂÁ`\ÑxÍ¥w}ãÓ¶}çïøñõ Á¬™Ó‚‚ƒÚwº±çM·öìÑ=°ÜfµÞб[Þý:wî(guö±G¹±k—awKj1æá ÞκECÁò3~ï W ßp#äÈ‘£»÷=»v°p¿æÜ¸©ê}ÃëŽÖþðËOÌðsåò 7žœ3ÚÔIŠ¢ÌÉX8àöþ¬TKàý5gY×¹öÔù‹X~bF®-­IHˆëÚ½O–o¿íÖ'fLeÍ_»^\î-°üÄLk®ZÆŽ9vôHÖêW“¨1š ,/ƒÁ`ZÃ`0˜Ö0 FÝa9@ q!é2]Nbù‰™Ö0gµ€R@èìwÃJËOÌ´¦‰rYÃ×Ýw¨–Znä£ãA¨ºÈ ËOÌ´æ2²ú•µãÆŽfµßh…æ¢ó _ľX~b¦5—…¼¼Ó#FÛ•¹;/ïôÂùs/h_^^±lù3Û>ý,ït¾Ífí~c·1£êÓ»WÝ=—Fr®c§Üš„†å'¾F¸Òס ¡€UkÖ®~eííGާiêÆÖçeýqÇ×wÝ1ôégW²f»j†i,?1ÓšËâÑô8ÔƒÙsÌ™· öµ¾ývǼ9³â9Žs†… 2xó†÷Eº®/\¼¬U›±‰-Fïv»ý=Øx.üüÙ@ª]Ý0~ãë:ué×¼gŸ~?ü¸ëÝ÷ÞïÒ½OT\³¾ýúÿü˯\ýÍ·ÖuHínØ8x¨öŸÑ)*È YwÔø{ì=#a1áÿÔôwŠ rŒ`‘q ¡êD0òÙmÒÓÓÅuá“ï;UûÍ`ZSGȽ›®]»Lž:cWænŸÏWe‘?OðáC?™Ì¦ù —@@ê&ÿDàìW7øú›í[6}püÈ¡»îú·{øïÿ¾Øøá{'Žü<$màä©3.¸úwß}¿më†ã¿8 ¿a_ËÏh´rcüÔä•Ã?þ’’ûSŒO ŽT«¤F´øüEééépèÛôôôõë×מ¢¸JÂP#?1´xxƒ?ú‘öYFæPvH7Z®\N‰šNéCÒ½±vuMk•••¿ðÒªO?ûYáNçÀý§?>988:¤vÿàßo§¤$@a¡«÷Í·þzð§ Ækü³µ¬~ä×ý¡!!àõzã’ZÎ&¥´)È=QûêG ®bßã5õJ.xÊpjgÏõÒƒÛéóÓ†<øüÇÄ£6†ÜTÉOÌæFKÓÈ)ä˜óäÌ9OΤ”=zìåÕ¯Ž=î£÷ÿ—œ'¸–Õ e³Ù\eVÓ´ ®nMû«ž¢‚œs÷Ôü.7„å'¾vh2÷× „Z´HYºx~óm’KÌüç®Þø=¿#SeQµù†k¢Z§X~b¯i„¤ »{ã¦-…….]×sóòæ/Zê?”‘'øÄÉ,MÓ~þå×QcÆû]¡£GzF³~jZ½ŽÔwõš~F£:Ÿ*ašÀÀÍùá§ÀÀp­¢M+zŸ&´fÚÔImÜ|c¯¾ÑñÉýõx®}éöB@=£©jMæî=· rÛ€!Lnš¢Ðæ®ýp­¯} @Fm öŒ¦ª5™»÷Œ5Θ1j\CÉ ë4WÑí÷§§.(—ÛžÑTµÆðhróòŒÙܼ¼úz7GŽý¿cRZ]×¼ßm7oùØ(ÌG˲‰ªL½ÚîrÛ3.+—÷^¾@&£Æ½ñÚêΩÎÞxüø‰´;Ò§MüÜ3OY­Öƒ½øòš´ÁYË]B“‘‘qÎ×@®ÇŸbÏhÚ~M^Þi¿GHn^^nn^]¶ðÔŠg{tüˆï ‘D1µSǼþJ ;S%•ï !w~´q³õS¹¹mnH-/¯`-}qÔ1p}í…222P…ãrØ3®†1Ô%òõöo‡ I«ý`€€d(S&M\ñôs„c銧Ÿ;z¤Ãag-}±‘”j kŠøÖ×>úÊÁå¶g\=Z3bô8Ãñ6mÞz¾YIIiXXhÝ7{ËÍ7Y­Võ9~üÄ_}=fÔC¬™/Nhü—®zÖ”)¢¾öU„਎ÂqYíM/^sé„„GFFÔ}•©“'f,\2lÈàeËŸ™øÈ8#g0ã¢FOõÈ|qù†ýB0 ÖTð—ÛžqjÍM½{mÚ¼uÌèu_¥ÿm·.Y¶báâe»2w¿ôâs¬:¦¿ª¯SSílMrp¹í×h¼fÆ´)Ï¿øò[ëÞ))-•eÏO{9¶ŠM•T¾¡)“'¾øòš©Sµñ¥¹6uÍ\/û¢‚œ*pÁ-_V{ók yóf?ü÷¢%OÍ_¸Äëñ¶mÛfKÑT¾•••þÓ‡qóæÍ†§ßŸa©þàí¯OÕE.·=ãZ×hÙ"åŸo®­¶3S&=:eÒ£‹þýþ‡3§Oåy– ¬£6 k_ånÌ *Âå¶g\ëZS/!oÿë½'N2˜µnR4¨Ï‹Ÿ.·=ƒiÍ… NLˆ{}íjŒYºŒ†tmêž?øâò _ÄÁ¹íMIkҼ ÌúÓå«Õú&*gmÁ„ü ÓƒÁ´†Á`0©ÖhšÆjœÁ¸6¹ìùkV¿òšVUU¡æyÇU—Œ6 ƒiMUòòNoÜ´¥ŽÆiƒ4r­ñ?AsÕ?JsÁUþ~}íLkšØñÀzðeªØ’ûSKŽ=ö^òÊá%!•__{ƵIˆ 7`¾aWQQ«¶eEñ—Üÿà(ÿ´,Ë­Útp±nÁ`\sZc侩Oï?|sòø¯Ë—. LñY_œaa]:wúôÓÿ³%¥¥Ÿ~öߢâbcvë'Ÿvé’ê cÝ‚Á¸æÆPþ|ÃÆl•|ÃþgyœACîñÐÿÝ1ôlÚÐS¹¹½=í‡o¿ò§½wxúÛï¼7$mìÜ•IÙµkwÿÛn€wß[?âÁàdVö“³3¶·CSÕ^½z¬zñ9§Óyíô‰¢‚œs®bff¦Xô£uýu^_{vÔ1­iŒ|½ýÛsj?07S&M|rNÆÐ´AÆóPçç¾õ/ýŸ1Ëår9Î;3oîÛçÇ»úßvëéÓù‡~þåÖ¿ô€{ï{ð©¥ __»JQÔeËŸ™=wÁšU/\{Õþ¾¿IDATSݯvñbü#S_{và±1T££Áó ?4mðm€wîš1mÊ;3àßë?6$Mxرý‹Þ½zšL&‡Ã>çÉ_~õ ë( ÆU®5F¾áz­2uòÄÏ<¯ëzMù†ï~÷{ÿþ@QÕÒÒ².SKJJdEywý÷ ¿Û0ع+s`ÚñÍZ…EÆÇ%µôt ÆU;†ºù†¯o×ֈΤvê©©_{ý&I2Ê`Äèq çÏíws_»ÝævW&¥´¾Öº…ÿÒ^հ˹’Î;WmÕËžÁ´¦Ñ1cÚ”ACï’LRÚà‹åСŸ_xiµ?¥@Ã"‹Ö3®¨_3rÌø›¶äææÑsìÚµ»ÿÀ¡yy§ÉIûZvXê 4@)¥uª.Ch #ƒÖevL2¿æRéÒ9õµ«cb¢ÙÌÝ{n0dÄèqŸ~¼‘5ÃU§_Ô?›‘Q›w¿yóÙD‹ƒ„°{˜_s)ÄÄDû…:§vzóµ5»2wgîÞsÁ“ž3*!)¥uß~ý,ZzÕç®ýÜ^SöåFòËëå˜B3øF!¥tóæÍÌÁaZÓð¬Z³¶vƒ¢‚W~öÏûw¿ðüÓ^Ÿï¦[nËÎ9um¶VÃf_np¡É8ª£¤ú%&Áƒ3¹aZs‘tNí¸ióÖM›·V7¶ªÓ;¡,Ë ×·[ºhþ}÷_ºl…Q¨ëúÂÅËZµé›ØbÔ˜ñn·»¤´´eëö¥¥eþKJK[µíXZZv¾q•]Ȳ_hÆM›°Èx#lééééééìPdZÓ0Œ;úµ«»tN=ߣ7vt½6uÿ}÷|õÍvcú¹•/íÝ·ÿËÏ·>ô“Élš¿pIHppÚào­{ÇoÿÖ?߹뎡ÁÁAçWÙòâ¥Ëó 2ؾëûí§rs—ü{gÕÔÅñ—’P$ZA°¸Ô­Z­e à2U+­{m±*—©ãV§ËÌ8V»Ø¢b{­u¡î !˜€¢(²&Ȳ¾ùãAäHbBãýœw8/¿ß}Ë}œ÷ÍýÝ÷r]І È­ìœW.ù7E"ñÞ}ÕíW®^ËLç–†‡Í\øÁ…¬?Ó’ËŠïÍ ž»qÓæ¾NR½ù·Îþ–Zú°pî{³1{,O¡®à«Á•k×Cæ÷zY.^º2fùÃ{¢Bá(w÷¸/v©»òò—.ž×V òϽž ù7¯]ºpíúŒæ°l±Î C§ÜDDD …×#""8‡Ã[ÑäÁMxõFöÓzÃJ°¬0‚ GÇÖ>×eÏ çär…³Ûh¬ „7k÷tV%K$OùNÑ]Aqñ£ðÈÅy¼ëA¡PøOœš™Îub0z5î~ˆqü2S“FŽtC¤¤¤t^Xä]a.fÀÏ¾æææŠbæ…EÞð°öâ¢[AÚÛÛ\Çtÿè:꺪>OÛüу;6ÖÖöZæØÁp«*/ÖR+£½½Ý›5éÁ=!¶·Â|¾½ý¬ËÓÛ?35 󥤤4`òt-Y[õ(,¨éþ±ç¼—=â¤kD…îØëiÞíüÂØæfll¬º+333((‡ƒ‡å¦C]Õã˜5ŸúwÞü¼ÛF¯ò÷c­Š‰f00©n]}­mgµóšÚÚÀ)3ž '‡ ÈèÑ£<<Ædž92/(ã·ßüýœŒ¾Œ»#‰™LlÉt‰Äê.gõJ}½HÝŽ) ‚ XUãî …–“ÄÀ„FÃ^ Xõå#è=»x¹ü»÷Ü)|öì™ÆQÔBƒ H}½Hí‹ÚÙ¾GOšr£])õ:N‹€öšàà`ll˜†ÖšêꚪêêA΀÷ðk©éÓ¦v~ÏÓéç~Owp°×°Y¹"zßC!ó‚Ž|ÿÃ}_j7VC£ÙUTTbßùååvvÏ'¥S·WV>¡Ñú7W”Îãê–êËzÖH¦Óij_**ú8ôÔô6zêåcw¹i¨«ÄuÂbccq8Š¢Ø_¸'!_3˜>r´¿›´··ܹ»5nGÂÉÄ-›;k/[ºx㧛˗+Š{÷‹¢»^Mž9cšD"9öÃÏT*u¼—§vc5!ó‚·nß!‹Åbñ–¸øîÅFã¾Ø%nh74lÛ¾3€Hú‡k¨«„dIbèÜ0?ïöá#ÇüX>ý}üdD†¿ÚS5j$‰õ¹˜PöLõº-fŒ¡@bLã䆫«kÒÒ3Q]ÿ“EcÒ¨î}ƒÐ˜<†Ö?–ïG3ŽpéÿBÂý¼[ÿyk—7@kt3€|Íù–†8®ð"@­,@k­­´ÐÐ@k@k­´´€¿ ½ÿö²¤H—€àîáÝ­ñŸö>\2@_…÷ý²¯´ÐІ¸0X´´H^5—­¬^­Cs¯à¶P£Ë__qs‚·OàÄ7§ƒÖ€AÉäÞÍÏõñe¹0ÝId ‡3agQ½sµ@cA¥Lðñ­Ñ{ëª×xo7wQMEû³VTûè}†YY¹¸0so]­ƒ¢Ë]Ýë«Ë'½–ššlÚÿüí$•JÑÀhèù¼ÀT9òÝ>ö‚e¥ò¿9–”šÂ5mgCBÃ×-—Je…÷ cÖnÖnlœù¼ÀTÁáp8EÑ.U©LÛÙ.çòY浞›Àû50hZƒ­„†±QTeÚKh[ÃkÈ×€¡µ†›”hò‰anRâÕsÉ×€ÀwÝuaì(ƵuµÿúæÛÝ{ö\¹z­/›ü‚ü¸ñ{÷ï/.y4ÔœUûˆ­cÅ5ÉI‰:Ï¿HA÷?þÒÕ+i= x|þ‰ÄÓ¾¾,·‘î§O÷ëL(–Ö/ÛYµ׀ѴFŸ¸F"‘¨Tªææf///A~†Üðø|nJJ`` DÒbfffnn>dãÐ0^\Ã9… ¨öe~PP¾PH"’š››½<=ùùiééXÇ㦤HZZ¨TK^./hΜ^wòàÁà ÿÎpv³¶¥¿9mfjjZg‚è<\’9§@kÀøq Š Ú†cÕʘÜ\‰Dnjnzãõ7nçç§fdääærRRX¾¬æ¦& 5;;;,$dœ§gÏ=—”Ì~ïý™3gùµÕ‡¾ÚŸÄMÁº]Gñâ0xüóçPúØ»»\µ2ævŸH$557zŒõÈNs¹¾>¾Í-M”\àç×ëæ_îÙûÉÆ EhkkK"‘üýüN$×°éè®^³ÞÞÑÅÞÑeÍÚ R¬ýüù‹~“¬mé¯ÿóñ_°F¥RùEüN¦Ûh;ºÃ’¥Ë[[[µœ¼ÚGµ× 5`è¸&œ¥çHÄÝÕmULŒP( ÉMcÆŒññöinn"“-øy|vhh‹Õ×¶—/_  é½·k µs×îššš;B~€_YY¹k÷?°öè+ã¶n©«®8ÿÇ/kòLFÚÅ‹YžXN®›>e‡‡jØÄo£Ói^Þ,/o–ƒƒýqÛ°ö÷çÎY°øºƒóöø?ýÖ¸iãúI“&Î ¡Ù;-‹^4W[\Óå#^ï¸ê×ÀàÀMøþí9!î ¾9ÊÑ)7<<|쨓“Ó³gÏ(jeeedX¨¿ŸŠ¢ËË=ÊpdÈäR2É¢ªºzîìwßš1cH9ËŽ\¸þ£©TV[S¾x…vc¬~ Ä50Hc¨®7M8‰'P]d]¾äàà i‘HÄÊÊò÷ÞÅd2këêjëê(ÊvDå“J<Þ¬µ­ÕÞÞþBV–Ææ–Æ÷µ “xBÃkC€Áò5w;j¡Nck›gmmæDâ“'Uo͘Átv‹êëEØB¡XÌ ªªªÂápíííÃm5ŸmKšÄ}-Škº|„çP`4­IJÔ¯™=k–ûÈ‘DsBHpðëcŠ­# ®Å9™ O½a‚™™%•J¥P”J¥B©DU*¥R‰Ãáðx<7Ãã v'ÁêÅœ“ 7/e"P+ Œ×DD-R©”z.(ªÂãqDs‰D¤P,,,È$‘hN03ã¨Jÿýx‰ˆZc(0²ÖœLøI¥Rš¶³'~â];‡@nŒ¨5Q‹–¨”J“ÿ‹ ‚ úk ¼ËƒÃùŒDË×^‚õ:_­mmr©tV°Žš§ð. &cÇy·IZdrY×o­MT&—)¤cÇyë¹äk`p`º{Èe²²’û­JÅ«à/ÞŒà6zÓÝ´ ïä·}'¿ýJ¹ÜÒ(­€¡{㽂@¾Ð@k@k­´´ÐÐŒKç{ÃuUáZðòÀMW€—Íÿ\Õ ÁCóIEND®B`‚pioneers-15.5/client/help/C/images/wool.png0000644000175000017500000000040010654174432015534 00000000000000‰PNG  IHDRóÿabKGDÿÿÿ ½§“ pHYs  šœtIMEÖ(¦°oÛIDAT8ËÅSA À kǾçQÿäW<ö ~aÿÉÎND©Æ R,M !ý]<™cuw4„ˆèÅ9W™­GŒY‰&êT6¬êIÎ ^⥔–Í„÷¸ré ”WÖc™CLpõÇ4±]œõtt™àÝ$Kq-!âÚ-nR×§o[!>ÿ7‚€Ü¥JZ:ˆIEND®B`‚pioneers-15.5/client/help/C/images/plenty-dialog.png0000644000175000017500000006465210654174432017347 00000000000000‰PNG  IHDR^&¥8oá pHYsÄÄ•+tIME×Ì@‘© IDATxÚì]yXW׿™IHØ Ia PvÄ][kÕZWpEëRlm«}ݪV‹Z×Ö¥µVk[[ûÉûº£­[Ý« Š ( ‚" {@š„˜ÌÌ÷Çhb2¿'ÏÌ;sgΜ9ç̽ç@s¸{ûô<çekî’´”»  Ðñ¿ÅÃ4I­p¥_^Kðˆ/g&® pí@Rë…ÜÁz8*ž>(=·µ8/›¬nBPT_oD!kºúé…~ïŠ ƒ`oyË™aM™üÑʧ¹†ñ&nÔÀtªTô-GïØÛÑcFÏ·³³$Çný¡¬²ÚÒ-tæèþŸ Ê|ülȤNžú3f¨ËXþ Eñ-Ȥ™GŒˆÜ½÷ç1Aìù}Ò$W?ÆiöŒµCGFWžÛ 5â´î‡Cœ¯Ýy8hbÌ¥‹æ qž$£(ŠaØ»Ûï©í‚ !c«.nÓ:WS˜,ÝÃ,ÝÂðí&Q~SM‰æÑÉ}¼íª“x¼ƒÍ›»åت-{Ü,c(ª µFO‹ûòÖ“ç–P_ä.ªT`ênkoE¾•úà^Üj¥DDIÐL54³뜞øùi’[]?fôüPò˜^åÖÔB èçw  Ÿa²TâöäŧY¹«å „~51H¤»"Ú¡Kw§N5¡ÿߺžpÓÒ-¶¤OêøéÇï› Ú™, r°$ç*ÀàhJEAaÅû­ë¥dÀà`øþI Eð«îùíõE™Ö¾#èAã^”Ü×plp`ßnÄ‚ùg†0~€äÑ% `Zv=hì‹âûú§[’¼Ã\¾ž@dušGÇ÷á ðÓCuy©iõög.»áþ)T!Ñý¿çn¦N%~x è îÈ)² GY[Œªá#ŠÀâߦòk H¨L 86Ð;}yBæ,Ñ]¥7°n¤©`Da¥|îöO}þÃÁç >šX9@”¸4Ù¬Ñ0à»í;,8>d[G²ŸmKœ?ú›º§“#G^–iéâëõá0»¥™D;ºmSm‰²¶€þ€ú±­˜F§0\ Ò¼ã6@m}½Uïp1ÉàÈvP³,]ûí5 £¹…êt?qƒŰªEÜ™Ä=»!Ûñš+À²µÐG<¾[%ª±õíƒÁ–‰„*›ª‹µF/ÄÀƒ¼ŠPo¾—\¥¬èeÿ´Hx÷A¦µ ?L³#ÁTŒuœj°±€&@ 3 PQz"¨Í§SÉ$ x×&ô§Á‹^(“ïoÎS•c*âft0²%¾¢ëM¶u„ht‘¸‰kO}{¬šÚz ETbQì„Ñ6”%›NJ¼ôÞÕS$ C”ˆ¼áߎ°™î„’V¹¶Qɶµ`ÚÛ7ÁT–#ð\Tƒ*åˆTÓ9Íúï5†ÄMȆâàAe{AVöš} ÿï…Û9ý;¢x}ô£÷D¡ÞN“Ǽõ LA¥@qGãa+;ØšÙ° QìXÕ€oYØq1ùÔ¥¤q„wóÕGßsîÛ n¬­—¼Ë Í–·øuƒ€i̺†a§Ò*Žà/ýdÞO—ó0˜$pšúvಽD CP_YDôýtÚ¨o&ªjötAð럖®d‰ftž=}âÁÛ“û»N» Qh¢Ôº¹î5=h¬†"CVL˜î¤ÙÁñÍÃ_óe0Ш@¬©° +~5úýbÙÓRÑÈ·óŸ•U74^ºzÃÂ)D±$QmQ4½jxÊúrÑó²Á¡½J²S4;Å^õqv–ù)aÁ¾NTpê^¥¸äQÔ°€óïkBÀ£Rñ±Òå9ô¾Ñ[Îä:þÇ߈ê¤Gn-MoqIe*Qþ˜o͞ƨ–*÷ŸJ8pè„LJSZE£…Kˆ£ˆ7pÖo•ÍêǺpüwÀðoRðÆc©Uë&³zyì;‰Š¥lË!dÄ㝡¸õ౺ÉýñÞyžÏaˆ„b˜ Á,ÈàñsùçuY _) €À€u.¿oÀÿ>vj.}‹¿)¼€—þ…B"/¸ÓT•‡45B¶ãY°:vpW¥É SPE#D³¡¹„Èò“Ôç¾~- 5²§7›j‹1¥¢ZQ˜îT–'Dw„mÙ:É0L¤¾£ˆ×ºˆænã㫊²‡¢8Œþ‘H§‡Q`Ò»QsÖ.Ü^dN/‰DŒI ª-ùw …:Ž (ôþx[ñÕqÔä@GØ‚Lª¡:ÿÜ%‹5!Ô΢¨èÿ*™0:€jhn’é.ÞÓ5Ï%`ZØEDcr±æ "Q¬hžý-8Þ˜J0`$’…%ÉÊCŠ“Ÿ- 2 CÓÃ&¥?÷õëh¿"hv–½Þ¢6Ö•`€`ÈŠY3ðþ†O7þ¨âµ.¢¹kɰ`y¥L)|DáúöïŲµ¦9õwƒTfëê Y1†ÎD‡X 7ïfj@d üç;£eÉ6c!G?u»´:¿ aÄòpø˜Fw$8H “qbÉ@6šSTµà³ÿ(hŽ4gØA b±ŸÉ€Š+u[ /ƒA4›÷i%šµfz1¿×w)ß'‰“ÿUˆak+G•Ž ¢hj‰‡œ@·ƒmÿÙš»„ôv j2"%$4b Cö“1‰óøVµÙd@Ú¹µUe; x^^´`ÑD\—:@¨ª„j @€¡ @¨ª„j @€¡ ðf«GWGWóüÍ™6íÄ™³çƒúôcqݺö›DÆ:BPÛsM²ñcü{™ìÌsŠœ4qÅK¨„€¶á†jž—¬h'¾üj]U•èöÍz÷ò!n_WZ 5ÏKkž—ædÝ4hÀ®Ý{¾\½–N]ˆª* 3õáPÔšL榯×þ:söõ£†íûå·ð~ƒ¹.A}úíÞ³O3Ïï/ûwpte;¹û†.]¾J"‘âí·“SF™àÂ÷qv÷žØÚÚ¼~ôëu_¦O›RVôtåK¿^«>1vÍÊä¤ëÂ’üwí̘>oçr‡â”ç;}rä»ïs5Íß·[6F½;âÉ£ô§3?š?O“¶™ÑÓJž=‰ûc?Àƒï®&ðùÂOÊ‹ó>ûä#ÀÚ5«Z<Ô~Rµ˜9?f.`˦õ5ÏKÇ7vLÍóÒ-›ÖÔÿˆ’t^îìY%Ïž´H›¾ÇÀp‰¤óßy}h}÷¥ $µÈÉ×G7ü_¨;þßøîœfªw===ŒÔ°ŒµV*ƾÿÞÓÇ™yOŽ}ÿ=Àöo6·øì]MêÏ{€aØÖÖ&þØ¡öœICö# Øïæí”ekúWµuu_oÜrøÈñÙ³¢w}·MëhŸð%¥ei)Iü†±§¿»›ëƒ{ÉZD„Ãã;0™Ogܾʦ¦‹çO÷öí¥¿0òj€Ð¾‹KJÓRoyðÝ_§üQÆ=''®R©âºxH¤êÊ@phÿ²òòÇY8veåsÿàpW—Œûw j?©ZÎê•«ÿ̘5÷ý1£÷ÿ¼ÇÛ7ØÊÒ²Q&Ë{œùÉÂÅçÿ¾xìpÜ»#†&IçõŸ>Ît`2[¤Mß¿c`8GW†«„E¯ÿ;¯­ï¾´¤9ùúè†ÿ @nNËÁ À“Gél6 EQ¶“»ZNZŒ5±ÖJŃ{Éîn®€¢â’°ˆA|÷´Ô[†Ÿ£ã‡vlÛºò˯ÜÝ\:ØËÇ»Es¡-‹²qÓ¥·Ÿ¤¤ÛK/úö›M¯÷VTÂûqptõôñ”–•ã‡î¤Ü;!Ê]àËâºqx|\Ëà‡Ö|ù ‚†ãÊ÷ygÔû‰7“Z¼šÊ…7WGœ¸ … 4ê¬T>`±l6 PQYÙâ¡ö“ªm¸ Hµ°HM½÷Ïõ™LöÓž]/^¼¸zízJê=*•:dðÀIÒç÷sSôý;­NßÐúîKHjÃè-þ,µ`¨û@Z_{I§ŒµV*\œyšeå-?;FDZ~Ãf ÃÖÅ®6F/´+ Y%,JO»³vÍ*Ý™ç„k_µ}"ªxY1%æãOï¤ÜÝÿËžŠÒgåÅyšÿÂb r³®^:÷Õê•?þô?-^Mç¸%¥­ÈIÃá°ÕÕ5ê¿N\n‹‡ÚOª,-- èW]S³k÷Þð°Ðï¼Ý7<ì‡=?UWWÐF£µHR‹0@›¾Çðp‚àN{EE¥1C¿~_Ú@RЦ™­•вr¡æ†‹³s‹ÏN‹8zèÿ,--?]¸øÂň4ŒǾ޴µ¡A,•J¯ýscò´™¯ä Ðmé …|Ó–mšgÍž÷QÎã'þøK’F¥¶x5-|ºà#ÀW±_‹DÕuõõk×ol‘ÔiS&öý²_¡Püôó¯€ÙD·x¨ý¤Ò鶸ŨnñÎÛ€ôŒÌ©S¢S§Deff©Û[$©=7Eß¿c`8¾»àò•k2™lÛŽï ­ï¾´¤6 =LÓ‡×o_Û8¯ë¾ÞTS[[[W·~Ãf\K¶øì´ˆÁƒ=ô$š³àð‘ãÆžÖ¶0¤á£ßïüÖßÏׂB±µµñÎÛ'ÆÛÿŒ?âãíð‹³óŽm[5Ï:v8nÐÀT*•F£Eô ¿xþ¯¯öúo÷®þ~Š“÷‡ï·ˆTáÛ•e…‹?ÿÌɉ ð3·zÕ¢ŠâµŸÔMÖÙÙÑ5)I¹u·óž<Ä£¼ åÖ õYH2æfé£Mß¿c`¸³ðñö"“É|w7<$¦†4æ¾´$#Ú ü†Ï5 ð¯ß>Ãç)øY?ýø½——€B!;óx›6¬S5ðì]sûÏø#¸úõº¯L†$@€@‘’k @€¡ @¨ª„j @€f ,èP( ³¢‡ÚŽéC=“cÝš™„jÐ)aòNš¾C/ÅÂ’‚F©¸‹CÉÒÚ–ç& RÙfÎ±Š²’{)IUÏ+ÌV´`v`súöÂx›3MÅùž¢¨TZ­¨²¤0W*®ï˜‡ ²²¥»yôb²õÎÉ7Ô•<Ëõ îÇà¸ÀH¤®âŠ¢Ue¤ô ¥Û1Ì–cåe%·¯½?iº›§ “I€d†¢… H^NÆ¥s§(Tª³‹›>f>Ëzçvâó a'Ô¢dÁÌâ8ö4ÌÓ˧§«††ºš‚§Yï["™>¤‚b¨¤®¶àiL¦Ø1t zQž_HG EDÕµ a󸙬¼(a¶KMNíîÙ ÃP´«9fÞ¾A …"591rê:;”•'üseäû‘®|Oîð§l禕ë·í3øn@r³3.œŽ·° º¸¹¥ÊßTÕP”ŸãÕ+ˆÉq¢P¨0™bò…Berœ|üB‹òsôÑ “6Ø;pQ• E E»ügÇ`ˤ æÌ±ÚªJgwŠ"(ŠNœ‰a˜yþÅ0ÌÉ•_[¥wÕirÒõ1§…F0˜,º}Gÿ „¡¨RñBßQ6yùø=îNÒ c-‘7u Eò?çúI¡tl ÅДë|gœÎ£÷n]ygÜ,D¥4žHÄ ÷o_ê;x¤ÙrlÿÞí+Ö}‡ ÊI‘“ÿúó¤yŠN›DÜðÛžo>^´RgŸŸ¾ÿfÑÊ &«sHÚ°êÓ5›v55p¨T*2¹™ÁRWWsðç]Ÿ-ýÒðÕð5o¬CbhGXůûÏ(†¶èç› O Rb#‘H`Šþyòf6|ÓN†¢$ý.>†¡àGhò C›¹`™™ç|8?î߃ƒƒ4˜OjQ\ß|‡ÂL€a˜9¸ꟙ³ "A†a5ÃPóü©i3 IIÔ¹|#a†¢þKÏÈ?)êÙ³Âñ“¢Ò32Ôí(Š@FÇÂ;[5ô¸j1Öá»vîPLj5fæÜ"A$œg'ãaæ 5m8µúžÕNæ¸EUzzzdÔ´U+–—ç­Z±<2jZzz:~C4w¸j JE™ÖtFü¯Õ&zÔ”éfK¤š6©sUnm¡(Š¢èÆÍ߬[»zþ‡s¨Têüç¬[»zãæoÐW0Þg„ŒàÕ?OÿæÎ/.Ñ]½çÍ«êS[ý<ëþ­äÎ¥&\ÌÍJk’·j6 Ö¦_{Î5æÊíÅ­kgÚÙÁðËöTü1³•5mLã_ÎÆØ«V­b0L&sõêÕ:M?ÍáŽ:8sÆ4õîÌÓŽ:ØÂZa5àÉ¡ª+Kî&'öòñ™³ ‡¼ÊÊ‹óy®‚ˆ¡£Ã¿keKœu¯uŠká§+ŠŸå¦Þ¼¤ny%¦ÿ™¿Õ€ÛêQ“§u¾§ÐoÀà={÷UUUîöŠ6C¦ Šýû÷ß¼y3;;ûÑ£G Ð3ÜKíO&ÃZïÍ–Œ5H$‹µbùâÜ'¹jƒâç_ ì× R;J¥*vÝFß`OÿŸ~Þ¯uÌ̬€¾ZõyÌaƒ8Nd &“ÝRIk' ê~£(RUQ’™–˜’x^*®ó а²¡kY †<ÉHºúgâÅÙéɈJ‰w¨©*OM¼pñxòõ³ÂÒ|d5t”aü*zw²¹Õ`mËøí÷?üBŽá’ï¤:|$8$ÜžÉ0hhvöˉr¹bá¢Å\ž—ç¶èó%r¹B}úž½û|zûÛЙAÖ­ßàîáÍâ8Í™#•¾,õíÖÍ™™A!áS¦Î8}ælSS“N"Õ´APg„!ãââ¶lÙÂãñx<Þ–-[<¨Û1Îj$uh²º¦æûö„‡‡ª[îßO¿qí¢V=m;¾’››ðÏ¥ô{w„ÂfSâ/_½6uÆ;¾Ý¢N˜Û-€"ªò’g &»×××ä>J»ýÏ™òâ|'gáã¢ûyíäªË´zççHê˜82ržͲ0?¿µ9™©^~!££b†ŒŒ’I¥ ª¾ÆnkÀ°ÉS¦kY;7n$\¾x¾¼´pڔɓ"§\¾|åïs§…eE‘',ú|1ÞmÃÆMYiÓÓJKK7nÚ¬>=---9)AÚP0lÇŽïÒÓ3’“Š žÒh´Øµëñno úû¯?çåfO?ö—_xû.]öŽ{iZ¦—š¶Î±²³³ÃÃÃñí°°°ììlÝaHŒ1w(ZñéU3¾hoo÷÷Ù?Õ»›7®ÇK}hâxüÉÓ'ñxN¼FŽÄ}¿{ϱ#q}B‚»‘ÔâÎ3Å‚>¤—J»}•fe6h$›ëŠ"*¥R!“Ôéô!…¥Ïúmmc'!å |ïÞ¼äßg€âE# Á‚Jŵd²…·¦ ÐÙhrèÜË{œ6¸A¤×žù°#jD•’¯ZÓí¹ö¯?í-v0¡ áØ”©3â›k“‰Soii©µ«R©ðíª*ŸÏÇ·ù|÷ª*‘úæ:qÕÛÂŠŠ°ˆfOŸ9{øÈ±G²##'ÎŒž¡Å5œ6ìµþ“ÀÆÆF*•Òét€D"±µµÕ¥‰ Àˆ±ÓZ2WëIF¡hË„-{{»ÿ|þÙ®Ý{ wstä—žZíçNŸ9ÕÞÎîó…Ÿt/í“ÉÎî‚Òg¹í¼ÝÞÁrì^]%,}ö$/'Íá9:ó,m K¥Ò†ŽžJ³²Öj·µg„ ¶ YUW 3SopGñUÊ&ÝÏ¡À0€añÇhGMØåpØÅEÅžž€¢Â"6›Õ,¨«VŽŽ×¯]ÆíYÍ£ ‰7=vþøxþ‡ïõ2#Có±^ÒfС0¡Õàï–6|øpÀýû÷ýýýõh"¬Å%|À × K~Ú÷«·—Àp·éS'¯Z³V(¬hhµvƒºÇs:úä¡#Ç~hI¹˜ r³ÈdR C•MŠâüǶöÌö‡!•²I!£Û1‚#† =•Ááä>„É­0$Ï]™z]TY,®{^QšŸšpNR/ËI¿#n¨n”ÔÊebEh–6ú»YòÕ;mÊ´¶Ô˜ŠŠœ´òË5"QµHT½bÕêÉQ‘:»ÅÄÌû|ñÒÂÂB•J•3gÞ|¼}õšµA™îÅ?2qÂx}™ZÔ´˜#`ÂXÃìÙ³ccc…B¡P(Œ;w®á0¤J‰hÝó[Z£³Úk°²²ê߯ïýû ÷_ùŲõ6}{$°/–-Ö<Äå:žû+~BäT‚h2C8°sÞ“5JÉ ƒåØ;0¼uZÁÐóˆ)›Gž› ß›bAk7i¾É\=z K 2Rr™¥µ ß;fEÑ(vpäe§§È¤+k›€ÐA€0 èl4ð¢5G«§a؉c‡µ1cv×­ýjù«C“&NX»FÝM³ÿ²%ÿÙõÃï›TQYéíåµrÅ2ühò­×N›áÙ&üB±`Á‚gÏžáÆÂ‚ bbbôk" ={ÞÄñc£§OÁ9úìùGâð¦5˜È¤uH½K¡·nþzëæ¯uåpØwnÝÝ,Gg–£s[Ï6ê]¡H“\Öôê Å[ïá÷#‘€³»À³W …j A0ЍrÇÉÕÙÝ›J³†`ET/Åú_#Æd‘—vv0l‡O™숺]R_­ÙMß®%¶oïî}{wk]V«?AË—-Y¾lIÛþw5mãPH¤íÛ·o߾ݰJUoÇ®^15zŽL&›9cêá£'vîúñ•^ÐîiúXN€¸®J½­Ë^ÿ®©l’+›äÆ4v#¨ßišzÁÜ ¦ÍÀØ„aH#1|! Ðßïø¡ƒS¢ç¬Y»ÁÞÞ>þH\ ¿~눉ÒÚj4+/[çPà›2-Ú¬ø¦ù{I†`Pž IDATr(ºdyÕ«å•þ½OþÃï~âðþ½5V^¢„Õ`Vš1bÌ_5 \ÄŽ3¾i§ ER§„!t:ðåUê?ß„k“aX³Ñpމž¢ð”!pÒbú\ÐÍ„'†)1Ž©ó̘5WsQY§ CQÏ?L&£Ò‰ÒNzý%‘´ï8Š¨È°±wøu(¬éöÒ†úŽER_gM·7pÃPEÄL~*Te@šÍc0 £(‚"Èá¸ÓgÎAÄ ÿŽ;€"ˆJ¥„õ?fLNMueg:õ5š)[tþ$R ƒÅ1öšojnȆºš§9¼{‡Ð™”Y\[“ÿ$ÃÛ/T_~äÇ™wÝ<-­mÌ„'ÕUÏëkžûêÏ(Ý廓p±—ˆƒeþVQV\Z”7à­÷ô°ºâAê­!ïŽwræCpG›bà7Œ7Õ°c[__›žÚ§ß0‡køjoxnH;†ƒÀ'°¨ G–!6>^«+[º§O >)8ó½‹ò¹yô¶¢Ó¡.-©€L&‹*KøÞæÌ±^¡Y÷“ýB"ìذ¹š´@ëkD¹Yaõõaqœ‚ÂúÝMº$®¯í„ä $éÊùxĊ º=30l@‹záÍ5XZÓ­éÎ|ŸNëE£îâTt;†›goaIÁ‹F Ú¥óðêUnž½õÕ§1Ž1Y޾Áù³$ u¡žL¥ãlí¾ÁL–£fzxxèWÄ]}œïAªÁxt(œ\N®‚nÁ3ᘻÀ×]àÛÝeÌL˜Ù/{„†"8F ÕÆÁª„CaP(fE¾…ÆÇÞHfªA§„É;QDhÀ0´üM¾ah3,3óáœçÇýñ{ppóIÆO?'>^v°af$èæÿȽLd†uÕ`P“š0m¬q|k–¯!óaÖÄÈ)uuõã'Eþ3>8(Pq€:´°Öê†Öþ®;Ô†³Œø™»§'ú $Sƒº$¢BUzzzdÔ´U+–—ç­Z±<2jZzz:~C3Mçàèj 35MXÓ⺞ö_“H¤7ƒÚNþGpk w7nþfÝÚÕ3gLÌÿpŽ¥%mãæoâÂ=ÊI%ZùåW}Âp]<½¦Îøàêµë­úº¯^(ÊÏII¼’x¡8?§µfC›~í9ט+·Zå-ÛÐÁ^¶í7ã ›?¦²;W­ZÅ`0˜LæêÕ«uš~šÃ=t× 8fΘ¦™JdòêU•£ÆŒg±XgþŠ/-Ì»—’óáœý¿ÿÑ^eåE uÕ¡ý‡‡ö^_W]),nbh©z±B®(~–›zó’F]h\&Lÿ3ÿ÷p:ý Þ³w_UU•qÝAçTÊÞ¿ÿÍ›7³³³=z”pàÀ=ýÔþd2¬õ>Ðl1}¬á›í;g½ò‹¥n®. ™É`Œzwn¥àžÂÏ¿þØ'‚Åu—ÌüàC7ÏÞnÏä 44;û¥)'—+.ZÌå¹qyn‹>_"—+Ô§ïٻϧ·¿ @dÝú îÞ,ŽÓœ¹1R©ïöíÖÍ™™A!áS¦Î8}ælSSSÛ¨5m2..nË–-<ÇãmÙ²åàÁƒºýã¬F’ÉUõnLŸ:Å@‡û÷Óo\»X]Yˆž5÷“1Os2ždgx ±ë6¾Þÿöí;ÏÿõìiöûcF/]¾ÊœåUÖ(¶±e¨…LÖî„âúšÜGi·ÿ9S^œïäì1|\tß!ï±\_¯CSœŸ#i¨4bâÈÈy4ËÂüüÖæd¦zù…ŒŽŠ22J&•R,¨ú»e¬A—µsãFÂå‹çËK §M™<)rÊåËWþ>wZXV9q¢ÏãÝ6lÜTQQ‘•‘ö0=­´´tã¦ÍêÓÓÒÒ’“¤ 5Ãvìø.==#9)¡¨à)F‹]»ïöÖ°¡¿ÿús^nö„ñcùõ7·ïÒe_Ü»—¦Ïë«!;;;<üe-۰°ììlÝaHŒ1M†¬©©e³YšE­ðÁæëY/g¿&'½ŒAÐh´µ_­ ðúwlßʰ·,úlÁÎïw›³¼¢¢Îü Ã0¢jïÞ´ÛWiVÖaƒF²¹®(¢R*2INRXú¬ïàÑÖ6vòR¾À÷îÍKþ}(^4ÂŒ ¨T\K&[xû÷` &äƒVø@s/c×b‡öööþ¸‹Éd.üôë›wïúN½»yë·xŸø“§.]8Çf³;wl3vüÖÍ_Y[X¬—÷ßCgOŸrvæ6mXßoàà¾ß©ÈÆÚzÖÌèY3£o'ß™óÑþß4Šk»0 )•Jml^f¶µµ•H$ú4Ñõ ' _*bÈ(Ó×¼d2"Qµ“WS#¨€Ëýw‚íÝ{i6m}˜•-“Éô± × KKK•JeΪ‚aA`2·Eark>ëà^is„ Q#ª||ÕšnÏå¹s¸.®é1†)ä/’®žjvÃ(r™4 tPYÑÓܬ»0™âíׇÅát66wlÚåPh>Þ·®yýio±ƒ èq{L&öJ`´vU*ö*RÎçóñm>ß½ªJ¤¾׉«ÞVT„„E4 ph ÔØØxúÌÙÃGŽ=z”9qfô L—h z ÛÙØØH¥R:H$¶¶¶º41vZKæj=Éè/ÆJùð·ß:v"~éâÏéüáGŸnÚ°î·ß²µµ‘Jù^Ý#ÕŸ>XYÓ¥’:;Ð(©³²¦·ó‚t{˱W@xu•°ôÙ“¼œt6‡çèÌ}ý•J:z*ÍÊZ«ÝÖž6Ø‚fU]%ÌL½ÁÅW)›t6v?‡B_¼ÔpÙo p8ìâ¢bOO@Qa›ÍjÔU« GÇë×.óxNZ§'$ÞE9² qG”cÇ«*xúêË›pæ{å=róèmE§C]ZR˜L,U–ðõ—u7Žõ ͺŸìaïÀ†Í5ÐúQAnV`Ø@}}X§ °~w“.‰ëk;!9(‰Dºr>Þó!ˆnÏ Àâp{ºj°´¦;[Óù>0–¾âÎt;†›goaIÁ‹F Ú¥óðêUnž½õÕ§1Ž1Y޾Áù³$ u¨¹fˆ„H­Ã78‚©ßù²´¦{xxèWÄ]ã ‘¿±ªÁLj±;¹ œ\Ý‚-fÂ1w¯»À·»Ë˜™0³= >^ö EpŒ@«#‚ T‡Â  P(ÌŠž{“˜I¨&ïD¡ðœ…%Ò.öŸñ/<7•Ê6sŽU”•ÜKIªz^a¶¢C°›Ó·ÿ¾ÀÛ˜i*Î÷Õ@¥ÒjE•%…¹RýÅWÛ÷°AV¶t7^L¶ÞÅ↺’g¹~Áý‚@×-+DQ´ª¬àეޡú¾_šÇÊËJn%^{Òt7O&“€9.ÄDP$/'ãÒ¹S*ÕÙÅM3Ÿå?½s;ñy…°HjQ²`fqûæéåÓÓUCC]MÁÓ,w€-ƒÙAsû$uµO³`2Eßžò¢<¿þŽ.ж˜œ«£Áæñ2YyQ=8Âl9–šœ8.*Úݳ^¦Íl¥ËÛ7H¡P¤&'FNý@g‡²’â„®Œ|?Ò•ïÙ uqwnZ¹~Û>ƒï$7;ãÂéx ª‹›{V Eù9^½‚:nE “ãS,Šòs‚ûÑÙG&m°wà¢*•™›´c°‹r3Ì™cµU•ÎîEÌ¿<§“+¿öœÞ ˆÉI×ÇLœæا³FCQ•ÒP˜ÆËÇoÄèqw’nL™9·G«†Fq½}GbkÏhÔo~£A¢Rš O 20)Ó,80‚DiþF†aTÖ,ÑóJ'g×N#Ï×€4_–¦R©ÈͳŸsx.¢ªÊžîP´¸\ÚTÚºÅù¼¨ÙdI0L‰9pŒD"á ÙÍ_À ç>À0´üM¾ah3,3óáœçÇýñ{ppóIÆO?'>^v°YžZkc†u,O4© ÓÆÇ·fù2fMŒœRWW?~RÔé?ッÕÓ×¼$ÐÝÐÚßµs‡Úp–?swàñôdX7djP—$€CT(¢JOOŒš¶jÅòòâ¼U+–GFMKOOÇaB$€ëö°¦3Åu=í¿&u«´±“QÚxk w7nþfÝÚÕ3gLÌÿpŽ¥%mãæoðÊÕhkÒÆ¶Âjxü$wZôl7ÏÞnž½§EÏÎyü¤çˆlQ~NJâ…”Ä Åù9­5ÚôkϹÆ\¹½Ð*oÙ†æð²m¿oØü1•ݹjÕ*ƒÁd2W¯^­ÓôÓî衃¸^À1sÆ´£‡¶0cUCaaÑĨéï™™–™öÞè‘“&Ï(,,ê z¡¢¼¨¡®:´ÿðÐþÃëëª+…Å­S -U/VÈÅÏrSo^Ò¨ Ë„éæÿîB¡ß€Á{öª2®;èœJÙû÷ï¿yófvvö£G8 g¸—ÚŸL†µÞš-¦5lÛñýÂO?ž;{–­­­­ÍÜÙ³~úñö»ð£Ž®?ÿú[`Ÿ× € Ȧ-ßöò qv÷žÿñgR©´[«†*a)ßËׂJ³ Òø^¾UÂÖÔÑýGQ¤ª¢$3-1%ñ¼T\çaeCײ0 -x’‘tõÏÄ‹'²Ó“•ïPSUžšx!áâñäëg…¥ù»Ya;=Ñ;k[Æo¿ÿáÂpp |'åÐá#Á!áöL΀AC³³_šrr¹bá¢Å\ž—ç¶èó%r¹B}úž½û|zûÛЙ¸|®[¿ÁÝÛÅqš37F-ŸßnÝœ‘™>eêŒÓgÎ655µZÓ†!ãââ¶lÙÂãñx<Þ–-[<¨Û1Îj$™\5$ÜLš5I³eJÔ¤„›IêÝû÷Óo\»X]Yص{oFæÃ×.æf§Ó,i6míÖªAÖ(¶±e¨…LÖî„âúšÜGi·ÿ9S^œïäì1|\tß!ï±\_¯CSœŸ#i¨4bâÈÈy4ËÂüüÖæd¦zù…ŒŽŠ22J&•R,¨ú»e¬A—µsãFÂå‹çËK §M™<)rÊåËWþ>wZXV9q¢ÏãÝ6lÜTQQ‘•‘ö0=­´´tã¦ÍêÓÓÒÒ’“¤ 5Ãvìø.==#9)¡¨à)F‹]»ïöÖ°¡¿ÿús^nö„ñcùõ7·ïÒe_Ü»—¦Ïë«!;;;<<ß ËÎÎÖ†ÀÃÑôaÈÚÚ:6»Y’L6›U[ûoœlóÆõ,‡—³_>vòø!¼ñúØ5CÞ~wǶn¬PQgþ„aQµwoÚí«4+ë°A#Ù\WQ)• ™¤N§),}Öwðhk;ù )_à{÷æ%ÿ>/aFT*®%“-¼ýû@0…ÎFòA+| ¹‹—±k±C{{{ÜÅd2 ~úõÆÍ»w}§Þݼõ[¼OüÉS—.œc³Ù€;¶;~ëæ¯,‚-,ÖKŽû§O9;ó›6¬ï7pðßÿ[±ÑÆÚzÖÌèY3£o'ß™óÑþß4Šk»0 )•Jml^f¶µµ•H$ú4Ñõ ' _*bÈ(Ó×¼d0"Qµ“Ó¿ cD¢j&óß…:\î¿l+*+û z«›†uð†QÉdÜ…É­ù¬ƒ{¥Í6pD¨òAòUkº=—çÎáº@º¦Ç`¦¿HºzªÙ £XÈeÒ€ÐAeEOs³îÂdŠ·_‡ÐÙØÜ±i—C¡ùxߺvæõ§½ÅF8$ Çía0™x»¥¥¥Ö®J¥Â·«ªD|>ßæóÝ«ªDêKq¸êmaEEHXD³‡Æ@§Ïœ=|䨣GÙ‘‘gFÏÀôx‰ª×™°°T*¥Óé‰Dbkk«KA€c§µd®Ö“L^ØnØAñ§þúÏ¢OÕ-ñ§þ6d°ÎÎŽÎå g4õH·†•5]*©³c°’:+kz;/H·w`°{„WW KŸ=ÉËIgsxŽÎü××/P©´¡£§Ò¬¬µÚmí™aƒ-hVÕUÂÌÔÜQ|•²Igc÷s(ôÅK —ýÆ0‡Ã..*öôô±Ù¬fA]µšpt¼~í2nÕjMH¼yäè±ó_4pÀÇó?|oô¨—ôÐÓ9Vƒ¿¿ZZÚðáÃ÷ïßÇKfëÒDX‹Kø0€A&ÿB±ò‹¥?íûõàI$R‰D÷¿Ã?íûuÅrݵ†ç͵ô‹U…EÅ*•*çñ“ùÖ­UÇÉ¥(ÿI“BÞ¤å?áðZ;7^G8Q)›2º#8bذÑS^AîC˜LÑ CòÜ™©×E•Åâºç¥ù© ç$õ"°œô;â†êFI­\&FQ„fi£¯±›…!Û7S;*rÒÊ/׈DÕ"QõŠU«'GEêì3ïóÅK U*UvvΜyóñöÕkÖf>¸üÈÄ ã[ÌÔuJa»Ù³gÇÆÆ …B¡P;wî\ÃaH•Ѻçÿ¶´Fgk5xy þw´) ÃÃŽm}}mÁ“‡}ú ëéªÁŽá ð ,*È‘eˆ;¢;^UÁÓ'P_Þt€3ß»(ï‘›Go+:êÒ’ (Àdb±¨²„¯¿¬»9p¬W@hÖýd¿{6l®)È€Ö׈ r³ÃêëÃâ8…õ»›tI\_Û ÉAI$Ò•óñ†˜At{f`؇ÛÓUƒ¥5ÝÙšîÌ÷鄱ôw¦Û1Ü<{ K ^4JÐ.o„W¯róì­¯>™pŒÉrô ŽÈœ%i¨CÍ5C$D‚lí¾ÁLýΗ¥5ÝÃ;ÀC¿"î*_ˆüU fR‹ÝÉUàä*èl1޹ |ݾÝ]ÆÌ„™íññ²Gh(‚cZm, @€¡ @8f…BaVô´¸Ð˜àØ›ÄLB5è”0y'ŠÍ€ç,,)h”v±ÿŒ¡à¹ ¨T¶™s¬¢¬ä^JRÕó ³-‚Øœ¾ý‡ðÞæÀLSq¾§¨*•V+ª,)Ì•ê/¾Ú¾‡ ²²¥»yôb²õ~(7Ô•<Ëõ îÇà¸ÀºnY!Š¢Ue¤ô Õ÷ýÒ8V^Vr+ñÚû“¦»yúÀ0™Ìq!&‚"y9—΢P©Î.nú˜ù,ÿéÛ‰9`oµ IDATÏ+„@R‹’C0‹ãØÐ0O/Ÿž®êj žf ¼lÌšÛ'©«-xš“)úæð”åù…ôwptÁP´Åä\ 6/ÉÊ‹òèÁf˱ÔäÄqQÑîž½ð2mf+]Þ¾A …"591rê:;”•'üseäû‘®|ÏN¨‹»sÓÊõÛö|7 ¹ÙNÇ[XP]ÜÜ{´j(ÊÏñêÔq+`˜'˜bQ”ŸÜwˆÎ>2iƒ½U©Ì¤Ø¤ƒ]”›aΫ­ªtv (bþå9\ùµçôN@LNº>fâ4¿À>å0BŠª”†Â4^>~#F»“tcÊ̹=Z54Šëmìì;z[{F£~óÅ0‚•ÒLxAI™fÁ1€ÁŒ Jó02 £ú³f‰žW:9»v1x¾¤ù²4•JEnžýœÃsUUöt‡¢ÅåÒ¦ÒÖ-ÎçEÍ&K‚aJÌc$ _Ènþf8÷†¡àGhò C›¹`™™ç|8?î߃ƒƒ4˜O2~ú9ññ²ƒˆÈòÔZÃÃ0¬{dy2 IM˜6Ö8¾5Ë×ù0kb䔺ºúñ“¢Nÿ¨Ž8˜¾æ¥ÉáàèÚstCk×ÎjÃYFüÌÝÇÓ“aÝ’©A]’Q¡ˆ*===2jÚªËË‹óV­X5-==?„!‘®ÛÚÎh×õ´ÿº{:ëœŒÒÆ[[¸Ã¸qó7ëÖ®ž9c`þ‡s,-i7ìîQï3Õ¯—…FÕàæÎWo+Š^~!Õ55o¼Ô*•M÷’®h•u4ÆlhÓ¯=çsåö¢E>´žQ]ð²m¿oØü1•ݹjÕ*ƒÁd2W¯^­ÓôÓî衃¸^À1sÆ´£‡¶0£TCßðÐK—®àÛuõõ—._­©}Y ôü…K}û†© á¾Á()xìäÂmP -U/VÈÅÏrSo^Ò¨ Ë„éæÿîB¡ß€Á{öª2®;èœJÙû÷ï¿yófvvö£G8 g¸—ÚŸL†µÞš-&Ž5DOŸzüÄË¢¬w率(zïÞý—*êØ‰èéSqóaɲ•|/_¾—ïÒå«Ô3áõµw/ÈdÒú‘³»WÛô¾ÎŠ"U%™i‰)‰ç¥â:ß +º–Õ€ahÁ“Œ¤«&^<‘žŒ¨”x‡šªòÔÄ '_?+,Í7ÐØÍ Ûé‰ÞYÛ2~ûýÿ€†ƒcxÄ€ä;)‡  ·gr šƒw“Ë -æòܸ<·EŸ/‘ËêÓ÷ìÝçÓÛ߆Î ²nýwoÇiÎÜ©TŠwûvëæŒÌÌ ð)Sgœ>s¶©©©mÔš6 ·eËÇãñ¶lÙrðàAÝþ‹qV#É´ªáÝïd<|X]] ¸{7íí·†¦Þ½¨¨¨ÌÎyüîˆw[¾Ù^ùüyZJÒ½;Ieåå[¿ÝŸ«¯½{¡èé#WAoSÝoq}MÛÿœ)/Îwrö>.ºï÷ØN®¯×¡)ÎÏ‘4Ô 1qdä< šea~~ks2S½üBFGÅ %“J)T}Ý2Ö ËÚ¹q#áòÅó奅ӦLž9åòå+Ÿ;-,+Šœ8aÑç‹ñn6nª¨¨ÈÊH{˜žVZZºqÓfõéiiiÉI Ò†€a;v|—žž‘œ”PTð”F£Å®]w{kØÐßý9/7{Âø±¿üú›ÀÛwé²/îÝKÓgƒuŽÕŽo‡……eggëC`Œáhâ0$…Bž8~ÜÉ?OòñüÔ»÷Ö¯]³~ÃÀñ''MO¡§þ:sî¯x‹øvËÆ QÓ6¬5ÐÞP_+R65q¸.¦º`Úí«4+ë°A#Ù\WQ)• ™¤N§),}Öwðhk;ù )_à{÷æ%ÿ>/aFT*®%“-¼ýû@0…ÎFòA+| ¹‹—±k±C{{{ÜÅd2 ~úõÆÍ»w}§Þݼõ[¼OüÉS—.œc³Ù€;¶;~ëæ¯,‚-¸âþ{èìéSÎÎ<À¦ ëû üÃ÷;ÕÙX[Ïš=kfôíä;ób>ÚÿÛFqm†!¥R©ÍËÌö¶¶‰DŸ&º~á¤áKE eúš—3¦Où|ñòçÍ©¯oèVWW§hj:zâäï¿þ„w‰ªÝÝ_.5qww‰ª ·w#>}$èÜö ÒkÏ|ØÀ5¢ÊÉW­éö\ž;‡ë隃a˜Bþ"éê©f7Œb!—IB•=Íͺ “)Þ~}X@gcsǦ]…æã}ëڙןö;áP€·‡Ádâí–––Z»*• ß®ªñù||›Ïw¯ª©/Åu⪷…!aÍ566ž>söð‘ceGFNœ=Óã%¨^gÂÂv666R©”N§$‰­­­.MFŒÖ’¹ZO2ya»À<²ÚÖç÷iT*Þ`³Y%%¥|@qq ‹å`¸½¡Q*~˜–ÔN¡×ÝÞÁrì^]%,}ö$/'Íá9:ó__¿@¥Ò†ŽžJ³²Öj·µg„ ¶ YUW 3SopGñUÊ&ÝÏ¡Ð/5\öû¸¨ØÓÓPTXÄf³šuÕjÂÑñúµË<ž“Öé ‰7=vþøxþ‡ïõ2#ƒz:Çjð÷÷OKK>|8àþýûxÉl]škq 0ê€)OÓ§MÞ¼eÛ Aƒضãû¯ u&M¿fí×ÕÕÕÕÕÕ«c×GNo¸½aðˆ êhK há D¥lRÈèvŒàˆaÃFOepx¹a2E+ Ésd¦^U‹ëžW”æ§&œ“Ô‹ÀrÒ%µr™E𥾯n†lßLí¨ÈI+¿\#U‹DÕ+V­ž©³[L̼Ï/-,,T©TÙÙ9sæ½ü¿zÍÚ ÀÀÌ÷â™8a|‹™Z N)l7{öìØØX¡P( cccçÎk8 ©R"Z÷üß`ê0$ŽÉQ“$RÉàhjRLŽš¤>»f%›Í ë7$¬ß.×ñ«Õ+ ·÷´ôñS6)U“#ÏmÀðqTKk­—®½é VFJÂÍËædÜaq]iVt ޼ìô”›—ÿ*xœ:€¾Ænöñ§½þ°y£¾Ýuk¿b³Ù!a!a\.wmìý—-ùÏ€þýÞ7‰Íu™óñ¸±cðöä[ ?û„ÅrhÿlH~¡X°`ÁàÁƒýýýýýý‡£_a`ѳç9vB­Ž;={^>^¶b6$ËÁ¡²¬ßvsuQoã Ñh?îÚùã®Zgék¯y^Úõ¶š -uB‘&¹¬éÕŠ·ÞÃÍ1ŒDÎîÏ^ª%Á(¢RÈe`'Wgwo*Í‚aQ½hëk|˜NâCÛ|.}ï4I}µ1»–4Ú¾½»÷íÝmøt‚–/[²|Ù¸?ïPH¤íÛ·o߾ݰJý÷%½zÅÔè92™l挩‡žØ¹ëÇGâtö4™j Й×U©·rÙëß5•Mre“ܘÆn„7f6¤ ÃF:bê…|þ~Çœ=gÍÚ öööñGâýýðCXk&Jª¡£= båeë ³â˜Á‹r(ºdyÕ«•—þ½OþcÁÂ¥¿þ´+À¿·ºEQÂj0+Í€ªÁhãÒqsŠ"¤N Cét¨—Wáð÷óM¸ö7†5 ç˜è)ªOÒÑ%Š[LbV‚n˜sà˜VÞ³Vú(jàù‡ÉdA:QÚuð "ißqQ‘.Ûýƪkº½´¡¾ã2âÔ×YÓí Ü0E;SD C…ª H³9p †aĖc†˜©RÂú3¦§¦ºÒžÙI³xH©¾¦åôü©„ÁâôtÕÀ÷ò{šóÀ›Bg:tP~dqmMþ“ o¿P}}¬lìDÂbKk3á‰\*µ²±3gŽ1˜,aqžƒeþ&©¯a0õÒÒ÷^Òæä̇àŽ6ÅD‚`˜bر­¯¯-xò°O¿a=]5Ø1>E9² qG”cÇ«*xúêË›pæ{å=róèmE§C]ZR˜L,U–ðõ—u7Žõ ͺŸìaïÀ†Íµê"ÐúQAnV`Ø@}}X§ °~w“.‰ëk;!9(‰Dºr>Þó!ˆnÏ Àâp{ºj°´¦;[Óù>0–¾âÎt;†›goaIÁ‹F Ú¥óðêUnž½õÕ§1Ž1Y޾Áù³$ u¨¹fˆ„H­Ã78‚©ßù²´¦{xxèWÄ]ã ‘¿±ªÁLj±;¹ œ\Ý‚-fÂ1w¯»À·»Ë˜™0³= >^ö EpŒ@«#‚ T‡Â `n¹0[\hLpìMb&¡tJ˜¼E„fÀs–4J»ØÆ¿PðÜT*ÛÌ9VQVr/%©êy…ÙŠ ÁlNßþCøos`¦©8ßST•J«U–æJõ_mßÃYÙÒÝ76a¸½:ŒE’¸ÞÜ0MDTìÄIÏ\8—7{þ‚A- JY;×ÃÓÖ¥¸{ò•¦Ío’¢0 #p½ƒ´ †af>ÊtˆCc„Þñ/0'&“4í5«¹±Á?Ð~Ÿi ÄýÓÒpwrºï575 öEÓ¥ûK­{üž—t/ ækâ-Æ`0è‰ìŽ™÷}@Q¤úÆíF‘÷uÁJJ®½ôòâý_þ+1q˜Qã3,ÿü^^Úø/OÖÆEQ‡—'3JÚnc-k·ûü5”\»>}æì¶¶ö©3fýÏáÄa †Ì¥ûoßàA¢ Ö.ÙÇôb/ GïÀÓîɨ‡3ÎÔ°qGà$Íœ5wíšUuÕ·Ö®Y5sÖÜ¢¢"ú'Š ÀÜC‡ÇWÊÚÛY3*·±öñ(m¹µEw7oýÛ;ÖÍ~.BhñË/¹º²7oýÛáCè¥å}FKó Š'¼iÄ•egNœ9Y]Yf­ÙЫ¥/ûZrä¾Ò%¼e/28Âöïf¼yó§¿ìεk×òù|//¯uëÖukú÷ͯh] ™ÿüÜo|Õ‹ŠÁŠž©¯w´I“Gg$Îho“6Hª­†ž¢k5ÚêÛÏþÔ% EõÿâøÏáì ŒóØß÷îkjj²,;²O¤ìÏ>ûììÙ³¥¥¥7nÜÈÏÏÿâ‹/LשþNNÌ.Ïã;5t1% ›Þ¾Á_~õïä‘cýƒ†¤Ï,¸xù›C‡GŽï–ž9©ì÷rÃ.ïýdhÜð QÔ›ËWiu ‚زmÇÐØ¤ÀÐÈů¾®P( ‡ýäÓφ§úø…Øózm’ÔŠ"b\Xl[Ó$±6¸N÷p’$šêkJ Ïœ9¡µÅ KuãòºX EV•Ÿûå?gN}WZtžÀõt†–¦º‹gNæŸúö|î’ÚJ3‰Y`;£wwþçÿú2.>‰ïí;"uÌù ~˜4ÂÓK8&m|ii§)§ÑhßXºÌ/ Ä/ dé›Ë5­a÷¿ïÝÇåyÑØ;7…†Eúý_Z°ÈpíØ¾µ¸¤dXÒˆÙsž?zìN×»Úöï0äþýû·mÛ°mÛ¶¯¾úªûþ‹eV#cÀ‡!Ïœ=wüؑ۷JŸ5}î¼ÉÉ=úý¡;·Ê¦M}zŪµ†l .þvæ—âÂóÍÍÒïuF¸Ú½goqɵ¼ìS¥ElWö¦-Û ù¯\)ÊË>%m¨±çõªRʸî|ÃE¦ê³CY{KÅÂßrŽÕUWú†e<3oä¸ÉÿàãÐTW–É;ÚÒ&NræB¶ëÊ2ú¯-+¹›4iÖ¢qOÎR)Î.,S‰åXCwÖN^^þéS'êjïÌý쌙³OŸþùÇãG%wÅ3§O[úæ2:Û¦Í[êëë¯^+*¬­­Ý¼e«a÷ÂÂÂóçò-ˆ¢víú ¨¨øü¹|qÕM6›µa#-ýññÿúô“[¥Ó¦Nùç§Ÿ‡GƬX¹úòåBS6˜}¬†ÒÒÒ#FÐë)))¥¥¥ÝC"d‰á8ðû?xÏ‹ÏG½öêâ­Ûw¾¿s»asÇÎ Ù¶oy×ÇLJ^™6kîÆ ëB:òí:ñƬõã&<±ë½Nuغy£·½cm“aðüÉd2 ¼¯ðþö Û“’ö¤À/˜$p½^«’·uÛ‡”ÔÞùØ$×C£VˆÂc.ý)nø­ZÉĘA*d­NN.‘qÃ1¦3BÚnû±º oÒaìzÌЗ½½ïöòòB½ñÆ_ÞݼuÏî ›[·ï ó>òýO' „Ðû»ÞûÓ”©Û·n¾gl£¯4„Ðþÿ;ðÃÑïB[6m5ö±>ü#ð"—Ãyaþ¼æÏûíü……‹^ùìó/”²Ö†T(\n§çawww¹\nJ‰rO1¨ÔqOa‡‚„««k—MÜèÖ 6¬455wöíF¥¥wÛÊ~~¾Èî`L&IL''Úe:YÓh÷±“2vbKsÃÕó¿pxž~¡B¿ ¬»Ïc(ŠÒjÔç~ùþ¾?ÌÙE£RÄ'§Ý߬¸~‰éä;ÜG€ê6ñþŽMŸ:Æ·÷¯ÙǼÛ{Ì`A‡‚Lt{ø^^”Ñe¼‰ã8½ÞÔÔ,‰èu‘(´©©Ùp(??ú¤¾>)%õ¾£‚”JåÑc?üúÐ¥3gNŸ?ïyÊD/ÑLôº~ lÇår ÇCÉårww÷î”CMœ2·'sµaŸÀvNNNjµšþ«ZÛzó¦­¦¦6,L„ª­½+tŠº¯Pxúä1?ä¸qx y›_€RÊÛÜ8¼>çéÍ÷ñ?BÚ$©½]~«¬H ð =8ÅbŸ4‡íÆé’îîéŸò˜ ÛMÚ$)¹˜ç÷”×ëºM|ø:¦ÆK»$v·) ªÅÕC†„!„ÄwÄÏ}ƒº™ðõÍÍ>M›¥Æ¿æŸ9ûõ7‡Nüx*mì˜W¿VC\\\aaaFFBèÊ•+qqq&”ˆêq …(Ì>o(ââböîûT­V××7¬Z³®GÈzg³´¥EÚÒòö†MÏΜN'.\ðŠÕkq/û½|ñ«¯ìõ*ôW–ë´V#®,Xû·›á ×ë´*ž?1õñÇ'Íá ª*®1œ» C„†—\Ìmn¨–µ5Ö×V^Ì?.ooFˆ*+º ë*å­•Œ$ ¶+×TâC6 Ù·/µgÍœñÖÿ¬on–67K׬]÷쬙Ýf[´há›ËVܹsÇñÒÒ²—.¦Ó×­ß0,!¡äêåÃß~=}ÚÔ=µ`v l÷â‹/feeI$‰D’••µ`ÁóøžèòŸÿ‘bfYa5tyÑÒXûÑ;—­Xóþ‡{üýüþúæë?ÿÑÚÓ5jdÚø‰J¥rÚÔ)ëÖ®¦—½ùÆÇß7cÖs áá«V.ØëÕ?(L«V]-ÈEùŠüB­Ss÷#¥×iB¾!A¢Hg¶R¦3~’‡EKjªŠ òµ•+‡+ŠL`»ñÔJ™·o@iQJ!wãpã“ÓQê6Ñ̃Ö­z8­»ŠvIìvó o¯Z½6!)!4cú´ Yë ÙŒó¯\þ×Ý}üô33ê"#"ÞZ³’þõü¯ùÝÜTOÑ\8Üþ{C±dÉ’Û·oÓÆÂ’%K-ZdZ‰(„мNŸ:eÞs³éŸ¾>tøè'¾ûz?¡ÿÇZ»yc7,!>/û”aóåî6³©Mzå¯Kÿò€u„-_¶tù²¥–ÔÁ>ˆ"ãD‘q½ÚÕ¢g5E:Jwï Eúdú¥ >dh‚3ËØ$k5*„(¡p`h$‹ÍÁ˜L’ÀÕJ™©Ä*Ó?ô8ŽÐ‹3Ï4y»Ô’MW6{ßÞ=ûöî1¿;†a«V._µry?tlß¡`0;wîܹs§yIýÃ_·fμ—T*Õüççüæ»÷w|Oºæ˜aH ÈÚš ëZêÁ÷šzF¯ÓX’øñÈ| ÙÃvÄ ùâb¿=ðÕìy/­ß°ÉÓÓóð×ûâbéŸ(k>”i°10óÒÊ…Cµ˜Ù?–4סéU÷f^ÆÇEwðË%o¬øô»ã㢠é$I‚ÕàPÊ@€4Xl]i IG)dí7ŠÎ–êVW}³äRþ°”Çèé¿”5³ÝÁj€GÆj I’W•Å&¥ ýƒUо·oøÐÄêÛå ŒIÿ VÐoOøM=óÁ°âʲ†:1BÈ?Pk>slÒhW­ZIoz |}Cp\om¡ €9 ·:ÜöE}¸£Mš<:!ôûµK,Iµ‰H(÷ÂPH§½Ïÿ¸‘“q+<@‡°­V»|å[¢ˆQDÌŠUkµZ­Á¾ðö 6âêšù~9dHt@pøœçÿ,•JÍ›'Ÿ|úyÂðT¿„A[¶í›¹øÕ× qî³sòÒÆgú…%¥Œù÷ÁoÌÔçA“ǰ٥,½ÏzgsTL⨸|òǪ Ø”&I­("Æ…Åva±E1MMY¶€4¶cÛßv646œ»|áÜݺºí;vì‹–ÆZƒq1ï…¯-Yt³¬¸¼´8"<<ëÍæ{åJQ^ö)iC Bh÷ž½Å%×ò²OU”±]Ù›¶t†J}éòÿykUõíŠ?),¼j¦>–—õÞ®Ë+*òs~*º|A"éô°hUlŠJ)ãºw:àá¸óU&&­SQñBÍ-СlÈ÷ÿ=vü¿‡é˜ô;¶mž6kî¦Yf;.—^a³ÙÞ^›”2Æüa·nÞèãÝù Ž|{€ŽX»1ký¸ Oìzo;}¨ÆÆ¦iKP`àžÝ»¬ª©²¾=|äè‘CtYÛ¶lìEl Iï’L&“ÀMƼ½sóºùC üE € in–†††Ðë¡¡!ÍÍÝ÷.].Ü´eûµë¥*• —èÍÎ %IDATYµÅÏïÏŠëF¥¥6 ûîÿßÏÞÿ`Ï{»>äñÜ·m}wÒ“OX^Se566vï]l Æd’Átr¢»9ôJ·Œ?Åü¡Ä7o€46D ð©©© !„ª«k||ºŸ®óò+Ù²éÌ éîî\…B)Š°Â­›¯Pxúä1ÿ®Ó‡'%ü÷—EeçäýuÅêIן0S'''µZíêêŠjmk3Y–¯°ºº&<|H¯+`SÜ8<…¼Íƒ/@)åmnž‰ŒTs½Øü¡(†lÊŒiS×oxW*•J¥ÒuYgNŸJ§{xð*+« Ù4j ›Åb±YÕ5µ+V½eU ¼°bõÚ;âjÇË~/_üêëtú+KÞ¨¸yKãE8a¾>qq1{÷}ªV«ëëV­Ygª¬çæ<»vý‰¤¾£Cöö†M½¨€Mú‰+ËuZN«W– ‚‘éÁD!Фº =þ‘b•µ:`-Yëß|RFK5ÎÏÏ÷íu·ýÒ×_ËxòiË€?z?ëMÁ¢¨i3æŒJiUËÞ|ctêȳž E¾úÚÒ§ŸžL§OžüÔ‹ _ EmÚ²ýŸû>6_Ÿ>ØyòÔiQDìä)3Æ=–fª¬·V¯ŒŠŒ?áÉäÔ±AA½¨€Mñ óðôºZ{µ ׃ïmâÍåòP~ýR«´Ñ Mõµ¥WÃÚWŒqcGý­ µé.\ñÐ_üš}lLúŸ˜NÎv+nâ3ó•ò6„F­*-.EÄò½M µw«+G§OEŽëu …üzá¹Ç&N3´Æ:ñ’¥«a¬¨{ÆY,v\â¨Òâ‹7uggÖè S)BO»r°*2t(àÑÒ0½ÒÙÅ%6q$ÇÝcô„gH\£Óªîýs(`ðY Æw¾“³KBr®S}%mÕÒýÆÀHŠdÚ[î{cÒe&Bˆ$qËÌ€4@ÿÃáy*:Úíé²½¥¾Ç<µšÃ³Ô-Œ5@ÿ#Šˆ­¬¸ÖÞÒl· ¾L¦³™c:iÔšF‰XÔÓœn°À†xð½Ã£ÄUeªb™}ÔáÊ…\ó7wÞ¨ =̓4€Mpåð9¼@Q”£UÌòhà 0w Ãc €4ÒHýI÷ÃUåÅÐ40N²Bzô$À£)‡ NVå`c €4ÒHý Ì¡/†è˜ƒ‹Ò= VÊ$5UJ…ì‘?SŒÁp帄„³X0‡¬£­ævElâ(¾0ˆ‰a¨§¸{5$I6Ý­ºvµ :!™çÁi“Ô‰oÅ&öö ¢H’ ðGþ|¢p•ªN|‹—˜ Ò&Q):<½ýH§(jœ²_ ®°tH0H!) Ã0מSÆ0Œ´XA€Á-$ ' Ò÷ag ²srLœ˜™9ç Ò–kƒ-|ê§Ó£ÇŒ¦× œÀq=Bˆ È_²³'ff àé‚4À@âììŒrsummm3˜ñ­æ!:øPl…J­~xÇ2Àju!ÊvGV)U! Q Ä0*²Ž[åÅí-M!OoaDt"÷^친ßdNyž^WÈÚ‹/å…„Å„„G÷­V`5€%·/ÕoKvv®aÝ L cP d”b¼‹J¡¸z1GàV¤¬2úºää䆅‰rrr»ØAš)ñέk¡Cb"c“B:Rè[Sõ;†a†ƒ´Jë¯]9Ÿœ6t˜V­êsUAÀ^ää䥌HÑh´ôzNN^— :½®½½À»~ŽÝ*m Õk5z†¢(Š¢~AMõµ.lW:C}mUyÉ¥äÑ™¢(Jëí7UÆ t×ãl6K(Ò%u„†aÎ.ή®®<»w»º\Õë´n\wµRnHqa±ô:-ÓÉ™Þ,üõçÄ‘ãþ!j¥œ´ïD`0w&¨>N ÈÉÍK‘¢T)…Xl6‹ÍF!£9œ Ä (J¡PÔIê:Ú;23&—èìâ¢ÓhI‚0¤h5gg£³%¦¦—wrqqçñûát¡Cö°róRF¤¨Uê®wœQ×^ëÛÚÛ:::h]èrO/ßÚ;å ìÛ°±Nì%ð3|¶;|lÉ¥3­ÒF;ŸHô^4j™G±N§•uÈT*UGG7º€ ‹Œ¯*/n¨¸žÀõ’šªš;±É¸Ñ¤/¾· 1õñßK šêk¡CöëTôn·ÌŒôœÜz›7*®_¦(Ä÷ò‘ößÇW%o7ÊO¹ó<“Çd_Ì×ëµ!áö9Y`P«B_†2&LÈÉÍ£($ø0ŒÔB”V£•Ëå­F!WdfL0SŠ«›{BÊ8–+‡z$p½JÞAB(}òt¯†lWNZæ47®‡¼£¥C+`5€ÅâЗý33Òsró)ŠˆB:!J§×kÔ­N«+23ÒM‘ê°™#§Ož’µ5RB/ïÚÍDiÔwu`` D!©TÊ0ò1™™‘nþæçñ…f2ë‚ýi€þQ.—Ë`0ÌËCÝü `²óÝ_®\2ÒÇçäågNH§xª%¸r˕诣Mx|\? ¤PH¿™û«N¤¤` I’Æ)?òà$ŽY‰¤¤¸q=š%Õ®îà9eBáÆõisŠ"Å·n„„E»ñxb<Ú'K"J%“57Ôˆ"ãAÀ<~ÈhIM•Z)'õVt8Ü!Ѽi5þÁáþÁáƒê”ÕJKƒ4ƒËï“ALʤ@i¤@ià!¢ókÈÆ:1´ãÆŽ‚V  ÿ®mmÜ£Öˆ¤IEND®B`‚pioneers-15.5/client/help/C/images/mountain.png0000644000175000017500000000465210654174432016423 00000000000000‰PNG  IHDR"Hˆit pHYsÄÄ•+tIME×25ïBMßtEXtCommentCreated with The GIMPïd%n IDATXõ—ÛŽ]ÙU†¿yZ‡½ö¹ö.W•]åCÛ Âé¶ÛÁjÑ‘©I A â„„Ää)/Â3p B¹‰HIDL ŽÚÇ.—]'×aŸ÷^{çœ\4ä"Q¥ÿŸ4†4ôýÂSóyS|%õã¿û.BX¢}@ï›{âóΟ|ðãòFÝÞCxK=yAŽaïþ×ÄÞò=Ïê‚ µ QÀÚ¼Çø”zuˆ‡Ü¼ÿ¡øµ€>þ7¿|ó‚¨9À™.«tM8[3_,HW)I3a£ß¡Áœº^b6î°÷[ï‹ÿøà韾yÆ|–2I%Íþ&A‘­¤«gg|úì9JIîß{‡ׯ³¹9DkÅë,Aÿ:»¿y_üÊàÿå}ž¦ŒginyúÓçtûlmY-çL§3öv¯’çÇÇ'<|øÛìî^Ck…!óñ¾˜ÒhÇ4Ìm®=ü’ø…à¿ëëõ‚Ù NpB±wç./^süú%[Ww ’6­NY—ËI3AJA»Ý¦ßïQ9Ëù áI3! 5¡Q Á͇ß?~õɼ_ž£“-¦³ŒÓ“œ4tvnwúÌÇ—,'4»¦£1ÓÑ%óɈå|N·Û¡,KŒ’ ú=º½.R „hclô 6ˆTF5?À·npíîB>ú{w÷°¦Ïz¹d2“®sZWvQÔÞÕ£)Š‚—Ï_0>?£®J´R´;m³ G¯_㬣Ùl’$ ¤¬³‚^·Ëƒ÷\¹‚ôj}@mktCY\|…bµ"Ë2м Ýiø‚åxÅ*]% Œ1Xk±ÖrvvF 5£Ë ´Vl7¸qýI’ ´F*‰µžF«Í‹gŸr~v :½ªs‡Öâ1ÚK‰­+œµh­éöºÔµe6›“׎éxÄ@o3ŸL™ÍfÙš^¯ÏÙé ý ^¿zÞ᪚¼(0& ŽcÊ*g4º$ŽB²|Í:Mi6›Äa€¢F;4uQP9ëÕŠ¢(R3/0AÈñ«—Ì&:½.—oÞ€h­ÙÜÚa1›°··Ç›ÓSv®\ÁÛšóË Ò<'i4Úpû­[ÔUMUVXçÂíÅÖ5Ù:åòâ’0 ysqÌpk‡ÙdB‘åŒ/žñ¥{÷Y§)7nÝæää"Ïéõz¡¡(JþýñqˆÃQ׎ßxûmвÄ(…‰#ʲ¤È2J]¡¬CúªÄÖ³é ë,‹Å‚l!l…ô5ÍV€ªÈ CCžgl^Ùb1[àœE+M¯ÛæË_~Àõ›·ØÜòà½ûà-Óɘù|N¿ßgc£O†xið^!‘UY¡”&Šb~öü›Ãy¶¦Ýnsr|ŒR’,Méµ›¼zy@§Û' c>yü)ëyÊÞÞu£¹usÛo½ÍÑÉû¯Ž¨Ê’×GGÌg3œsEAU; ÷xu¸ÍÞÝÄÏÉÞþão{“½¡³û¥hQ®Kll`´Â{‡÷ž jPÿ¯<ŒG#²,ck{›0 QZa†%ÑÕ˜ròœTt¹qï«â—êíÉ“ðÀà[·˜.JmP\UQW%R¼÷x ®*¦Ó)ƒá&q#B*… ”Kñ³OXå–݇)~e¡óÿí‘/ÛW‘ÉU¬uØ"ÃÖ5uU!•Â9‡Ò¤ÄyOÇ›"OY§KØx«w>‡Ðÿßÿô‘WvE«§꺦.?ûlÞÕ©Æ ¥G燬Ç/±É[\»û»â×RÚNž~ßÇÊôÞÂÉk-ÎÖïÅ9õbŸLöÙ}÷ÅRS?þŽoµzèÖÕzLyñ ¹ì½ÿâ íÇ‹¿=÷Ù_ÿ›Mð½wáYþtê­±ÔýK}IEND®B`‚pioneers-15.5/client/help/C/images/lumber.png0000644000175000017500000000041210654174432016045 00000000000000‰PNG  IHDRóÿabKGD%Ññ!Iù pHYs  šœtIMEÖ!eÏÚ—IDAT8ËcdÀþ£ñÑÄ1ÈšU/Ê£ÜÖÈ€,v[ÿ!\/#º­èšq˜!,¸l%0Q¢fEÀmÇðÒ¸ÀÕ‹òp|{Fà˜ÃÿÛ3árÐÀþO´!X4c$¬ èöŒ@¸ jÆzœé† ‹Œ8¼ÉHŸX `Í ÈþG F‚ˆM3>C‰ÈÊxÕóàNß½rn-IEND®B`‚pioneers-15.5/client/help/C/images/map.png0000644000175000017500000060450310654174432015347 00000000000000‰PNG  IHDR|XPÚGê pHYsÄÄ•+tIME׼ʰÏtEXtCommentCreated with The GIMPïd%n IDATxÚì½{”dyUçûùýÎëwây2#‘•ý¨~ÑÍC›AÃÌ8Žs¯wXƒÎx.x½âƒ5¾•¹<Ör”QG¼ÈU3жТ€pEDTš¦š¦»«««*£*32ODœˆó;Ïßýãw2ªhº›ªnºyÖê•Y]Qg;ö>ûñÝ[¼óû¯14—í û» ˆäDˆò$ƒÎµýûNLQ"@gSâăj²]ÖÄÓ=nºîÉè:±ož»èt†.kÐstà.ЦF ‰ Û(WÞÊòuˆªíð¹—ê‡Þ»ž£ y֥ą¾j>#K´Î «‰“ Ì Ào¡‚9‘*ËÐYŒÖ!j£Y†ê­OöÐó­ :ÑàK”ïCPu×PJ™_t¯Ê «9Âÿÿ#üð4ðïûk ѶhJ@œ”(W¢Â.ñ ”g…‰:ºÔÍë d™½)!!4ºž£dTÄ©&ÞkQ ˆŽ] èbzˆ¬F) H¼7±@†Èïƒê€_B–'%ѱM”¯Ð3ô,m>Û€I@tÐÉ-ÀƒÈW(åC 3öçá%ÚètFœTè<‡¼&òKè ¢n„ð3ÈtÖøÈ`@ u†’mF§Ïh“õ"¢^@´¶aÚ˜%>JÐ Gøá„ÿþþ.ªcßL)ðBÈ0%J/ˆ¢Ê‹ˆ“U¥Ä“ ¥¸à-/öx©D«*¨D ‚|ɰ{Œ¨5@_Ù¼w§oÁɦè¼-ËPjŽn.Z· èdFœMQÆ@-Q²M4(Q^eÆ@nÐÆ Ç´Äü % ZíBæ¢å>hPø¨~ˆÖÚ*Iî¢]v­÷,j‹I£êæÞü dm},dzmTFs€,e m”êY/Kß* R µÅG®¢ÌÔâu„ÿþGøáÿ(àï*@QÛR´? ÂzÚH´íŸÛA§):+Q=—( ÞtCÚì"Ø+ë­üd=ÑÄD"E O•gÄÙ²Äzv@±€n …t؃3èÚà ,Øøeãc{¨f± åt½@Hm8ätÙAõjTÖ³^¼q¬Êψ5è¬ñÌéŒ8H”§P®×¼x h`0ÕÖû›Ä FÍ9Q/BQ6^@R tãõqPì@8@i}„ÿþGøáÿ¨àïêFXmêeX¥ ·I9•ŒNïïÏЩ½)Õs*µOö–y(tÑy ¾? "D ºô¡ž69¥ä¹õQs:5Šš8Ñij ˜õ¶PȈwFËÜm{O6Øn¸Hš|˜$ ×›ûö­ {;6ü „õ¤ká…´Z’‚ܲÌæe ŒQ2$ê@j?;À+Áê²~|=ƒ˜SÄS=1`ñµ!ñô<Ê, ÅÆ¨`s{~‰’‹5ÎÃÆÿÏÝO‘×’îÝ‚lÛãÿß8ónr$]%øÆà¦Ç<þ¦ÿ¿qû­KyþÏ'½ôq¯ÿ¿qúÏ—ò¼`ûÛóøÙŸÆ_¼ïO7xê„,–7çÄ{{h]£z}†mµÑByj™ƒйFgs-›§S å ”Ú ÖçÐӦ袪µ@©u9q–£çå ÈâYNä´®‰g3t‘¢<€µÞ'm”·yp!æ—6OHËzl@ù V"´iB¯²‹"GuBtnÐI‰bŽÎ]ô,%Þ= y@¹µ•³¢À öµ•ëðà²&”KfÄI ´m84áT¾@¶è£Â®-ž4Š£‰FO´-i}áC3ëÍí•2\¢uSÊfhǶU)!§ÄÙ}P£M…ò|†QˆZ=†ªRû‚F lÚ¤P„hR˜AtͪðÅðÑo¿J‰#+|OÒ_ko0<åI!W]áSÖc*Zmƒï»”<åà¹Yü¿ýg~õa˳ö·Ïü²áÿ`úÿÒßû“‡-ÏõçþõcVÿ_ôï~Øòœ~ëU_6üìÏÃÓñ±×=ÓèFØÃ¶)ëUSÔB2Ú=G¼·· O¢öŠ 3Â.ÚT/$ò}â$#Zõl+•ßôÜ6Þ_‚'¬‡ËkôloÙ{J —y8›‹àP~IœLšÐ¥csX…†âT_h›jE¨vH¤Ê—à¶W77Äzò&wèÛOT˾Y%›*¼t /l®%[¶X4̠݃T˜ÛÐRuQE<^pÓñžÍ剎íÁÍâæpl^O9+rm˜uÜe+™ê‡Dƒˆ/„ÿó^÷Ÿ‘®ÂSV˜ªYáùÐëÁÕ×ø<ëëº<é‰>žªÑ¥á`¿æÔg î<±à¾s)¿ð¿½ü1ƒÿ÷ýÎï]²:=g>•[r†Nšž×j®%ds[¥n^u䪶ÿ¿)øÄs …&жÐeÖxÀíäK€‹KñbŒ.ª®–a¦ž—ÄÓ="ëE%¨‰ãŒ´¨×sðýšV` Û.Ƕ\Z”YÉ$)9¿Ÿ2Ïyù·<*ø¿ìßó¨Èóª§=÷²àÿ`úÿ=o{×£"ÏOÜüoýÿž·¿ãÑÑ·'<÷²àd.Ÿý{ý îÄÀbHÐ{’ÑhgÙS¨î1¢^ žB')ZgD}…¦Íp¥‡5Êo3ï œ!ZŸG'>,ÎØê¼†8·¹)Aå|IÔk£zí »=¯î/L¶@çåϧ(Z°ƒÊ­-uy)8ĹFÏ›ÒÚ΀¨ã^(Š4´j-ð Ê€O 0(¯×ŒÄØE׆¨]âýóDí¢¾¥;k=E—šh°‰D¶útl¡È+A´Qå·Ñùœ8)¸åu¿Râ8R\O Bèô Û—¬ \ÖQO’¦†ûî+8ñ™”QIY:¸Ž‡  Ý6ôWa°!Yí{xdYÆÁ\s°Ÿ¡ç%RH<×á–cÏ~ÄðÿÞwüÙ£.Ï/>ëy_2þQïj¾˜þßò;·>êòüèÍÿêÓÿ}ßÇýóùöü’ñ?²?—×þ¸¬¤IÛ¿™%è9èÉž­ï[Ouû½†$‘à †ƒFãƒæÃÆŒ˜mÔŠ!ží£žÆè$‡éÄ Û×BT_ ‹)zbPâùÍC egI„.JÙâ„r¶½.Q¨Ð“­óæ8j@èù²2­:]Žoö¡­.TüÇÅÕë,ÉxÊf<…j ´l£³&l<$`JuÐfN´ºa=é$C—1øª½Žê)m¢MÑÜ€é‚ßFÏyí¯ „°ã9üš°%èõ$+«’ —Õ‡nWÒé8„¡Äu * ÃUA'¨¹MJÎíÂ<3¤ÚPÕµ´Z.uÛ¡¬+Òò„®ÏÚ±– Bð‰îÿÄÁsÔs.þ/yÏŸ~ÙäyËô½#øgòû”ñ@úÿ’[ÿøË&Ï{ë?Çd‚çO»lúÿÝo¹õËw>§ c/¹ù{2þGö瑱?⃯{š‰ÇúBïªjB]3º÷<ÑÚ€¨ã'%Ã+†Ä™òö‰zÛèì*h¡³UT/äÄmû&¨°c{H=³,v(Q£ý²ªß· 'çQíuÈfÀ q¼czs}é!)RTWÙABJÙ9_‡Œ¶f°6SâYºÌ…)O T9˜Ië JôÐæ0Œ³-Tq>¹ϯi˜t^- ÈR4Ö‹Ói¡ƒ¡%¼º©˜/ЙZK’„j*ùß{ë›B%hwƒÃƆÃ`àÐîH_â8)ÁÔ‚¼¨:®a65|枊ÏÞ]qêLN¦k:]‡ÁZÀÖ1ŸÁªA§9Ó8g‘T¸Ž-$éÌþž†Ý±á—¿å;.ÿxÏ;;òüï/|Pü5Æ’s¬ÞŽþÿÀ;þà1#Ïk¿îÛ.Yÿÿý‡>ø˜‘ç ßùâÅÿÈþÿ#ûóÈÚT–xeßÔæÀNÞqQØ%Ng(%‰óŒ¨Û³@÷:ƒhÐx¸¹axõñ(a´·`töÃc6ß4\X’Â!q!w/ÐÍ=É. t2»ß+%mŸ«º@6°Â‰‹€«í ;^u9&µ¡8Çñb9êÑ^Ž6%줾‹hÑ*¨ ­.P´Í%ZPo;¶S ¯?ÿ@ü:OÀïB>CS£ü>ø²9ÿ×~0„@Ù™A ð;W¤Ý–t:ö§ï G,‡Þ%IÅdZ3™ÔĆ٠Ú-—'ÝèqüjŸª¬™$%yQáºP•‚ÅB²Èj©$×5•1PH² fóœÅ¼$Ï EQ‘. º˜ã‰+Ò8üçïøÖÅÿßó®Ç<·¾êß¡‹ •²‡j-ìæ5Ú,ÐIʽã7ò¼õEßù úÿƒzëãFž_É 8²?¬ý¹XÿÝhhó@ªðТ´mSƒCH<>MD›-ôw£NíY(ÙAy5˜–%GømôÁ}Ð^EçECüˆVûh_BRöiPçø%Ä{9:9°Å’Ý1Jö–l>M‰ò\†ëë¼ì·~‡ ã QãIIHB;N„ t{ÐëJº]ÉJßcЗ¦æ®{Kî¼'ggT2ŸÆ¡5µP Vz‚íMŸõ ã—èEIr YÀd^° ! =I'xŽ ¯ éÔ0;0LóŒÌdHST…” ‰@ÊŠÊŸyÖ7,ñÙ{ßÿ¸—ç]?ýr”h£Ö"žõòŸxÜËó[/þî¥þ?ÿ7Þüø—çG¿ÿÈþ\&ûuZ Ù«FçX nû[Ìh÷.¢``™[žƒž'Þ×(Zij=TÐ?d¸¶²¤ ÆŒî;MÔ‹[G)Åp³ÏÉ“÷Ø¢„áúzžìZÂD³=Fy½å ±8wQžÛ<Ü8fC¿…} So­<Ë »¸Xr¡R/·âèz~¿ÕiQØ…nˆ¢²9½Ã¶©©¾¢­lwjðv8ÒþÜBÛ‡µ>*ÑYŠ “r9?hrzsž÷+¿®DÊÇ©ñ•±»|‡@y(_PæÓyEž–ˆJà*A§ç³¹äuÍ™3%û㜪Q¹H!0²æÜÙ'ò@×?üÖÏ’Ï}ÊEÍ|Q’ºP–žSÑ À÷8S²T2×i¥ÉÒ ¦nøž 0*jòªFÔY;˜<¨xŽ!ô}z‘Cà ‚ŠLW;yŽÎçÒåù£WüÀ‘ý¹û£3KøR°€Ü%NbôdÌhœáŽÎÞkCžNŽÂ@J(”ѨP«Ë¡FQÛGS£}ÉÐÌ9~Õ“m/ì$a4Û#Þ;o«Ê^Õ‰ÏNì˜O%mEZçà5y3“mo5;!ñKȱ£E ³¤ë`± ³–Uoâ©Ý mæ–®mæDt?´ù2oòþ²ì~ö¦íɾ6#ÎÚ`îB…ƒÆc'Ä PÁèÌ;’r;œ‰D¡üÕî=Di¨ ! aK°ºêÐï ÂPâÏ“ä…C+©\öw ÒYÁù]Ãi¯)È3ƒ‡ J>{÷MË[ýåWâ Êÿ³›—¿_uåäʪ‘9ÅBâû?4x>¸ÊÐgî’áâº>^' ð<\ãPš Gç‹.³<¥‘輦,@ƒtìÁ´,(«­%ž’Ô˜¢¢,JtV?få¹ø|þìþw~ê½~Ÿík¯åÌÉSüõß~˜4óßÿìWŽÎç¡È“LìÏ%ØŸÑè,ñéûl‘»5³yÚD²ZWåØª°D€ÑÙÃÞ Q… †¾ß#âƒâ‰^.àUA`wOfÇ7V‰:Ñà F;glÈ!2»xW´Ñf†Rvµ—꬀¿ÅèÌ9ÛÏÚ.FçﱃƒA´¶Á0 õ ¹âEC¯ž.Ç—*?¡Po7Ýd D¼}¢@A7²Ôè)h£ï_ 4L Úä@ClÐSâø\SÍ?@µ[h™Âîö"¢ ° ¨Â óÐN¾›¢n†ò^Ë`¨ñI¯gÿk·$¡ø¾ið]A8t=I'€ƒ˜Lk²¼À•Ð ]îºûÉjä/¾.~Ý©û¬ñ¬}€j9t:A q0JÏP—¶ ÒÁs$R‚ﺞ h¹,\X,ÊË"O è÷-™e\3ÊJ" QSÕPgµ©¹ÄT.NQRYa0ÂAP=fä9<Ÿ_zõ[ùÆúÍx®¢»6DõGTF"]—ÝqÌöÆUì'c^ó#¯#l…˜ªâÔ}ßt> ÇGöçìOÔ ÑYFŒ@O&–èp‚êÛ4”¸íMÿ«Ñû(¯E|°SM¬k†-ðWÀ¯‰“ QÇÕ©ÐãÚ‡{ºT´Êp}]âø<$ z…Q-"ß]ÎÂÐECžè ó®;Ñ2S¹íiµó*b´D]Pªÿ¾×ž²Þ±Y‚'2pØ£µ²í[¬Úv)­.~‚ÖŠ¨¯@OPªO¼;‚ ‚ÌAkR‚uUDÔkö`ævŽvë8¶}°sÍ‹ÿàV„@Iú«®Äs pçI||_"…@§5ñ´æà b>¯ðøÈ‡nzȆþ‹]?ôÊ›yÆ×Šíc>Ý®ƒ© EaЙ!I Ó¤fžTä…@‰ã TÒ”%h]^²<«+>+k6èYÉùQÅ™S%»P”éB„,©%˜ÚA5u]`¨ð\Aجo¸_vy>ò¡›xÿ»>ÁýáïsÛÇÓžôLžòUOáÊk®@ççΞg6O0$ñ>Y‘ÑïõÉsæsM·ß§ÓióÒyþÑù|Ž<¯ÿÇÿüÈþ\‚ý‰SmG;‹6ñÁî’Å;ìmCPãžüì=öMÆgPm—xo„ ×ÐSîåèÙÜ’"bÉpÅ#.*Ôp’):0(W@rÀ‰Ó;ਔ׷9°X%B[­:—ì‚™Zz´JÑúpáp“´a•uˆz¬'Ú}P¢Óñ²_V«LІv8u¯™F7DĹùÊ/›É|3ô$E‘ÙþU±O|ÞAUC<(ºP&(Õf4×À}v„öºDJ åè¢iC@³DÁ•Ç 0xÒàPSäv3 Fø Ú-hw½HÐî:¬oHŠÂá­oºö²ûçþ~äf^ýê{©kÛ+=Ÿ×$ ±Ï À8ˆ´¦, uUQ°¨Žc‡'^ª<¾/[×5 ¾+‘R ¥¡t*ÎïAYƒ++¦r0•Á˜¨ñA´bçµlm¹ ‡.¶ü²ÉóÖ7]Ë}ý’ç9†’°Õeovž}ôƒD'"žòÕ_pàÔ©»ØÞ¾šk®»’ªªðƒ€4Y0›&(¥È³‚_ýoá£yáÑù\$ÏÉÝ#ûs)öGÏK;'¿Lš ûÿNÎïµöéÐi¿B©¶]áåJbªY&¬“”ØhÔü ´¶_50dÐY·^¼’ €æ<:ÓDƒ! Aœ—(“,ûYu¢‰=¦h£üñÔ±3%ü’80͉½S+I‚NçP~ ¥’ -Qaå¦|ätõd‹H9Š*é’ñž:hv‰T%b[‘¨UÅè”^ŽÕõM̈fɰDLJж!‹6Ú,p]Ëh”ÒPW5Yj] ‰ëIü@bjƒN-ÆiÙ^»%ø…Ÿ¿|Æþb£ÿÊWÞÌk_{ ²ÒÌ`ê¯á—€ p¡®¡® Æ0ö (/]ƒƒPC]„°]$kk®%ý„9Ò©9¿_Qg5Æ fùµq<ØØtxò“}®¿Îcmà …a63º<¿ðó×òÇoû â8f4:Ët‘pÍÕ7—9'OÝÍþ§Æœ?ØåëŸöu<û?›ƒñ{çI’Ï È²ŒédBMM[õèt:üÊk~ƒW¾ò{ŽÎ§‘çÈþ\šýÁ¯PÝ6èŒÑî* @ËáinÔ]EÏsnºa ],'D;JˆgS"ZŒfûDeC¥†Ãkm%ØÛâø5ëè¢ žÎˆwÎ4•b׿¡ J2t‘£=PfJYïíT¡ú IDAT7—à/ÐyË*ƒ©–ì2|-´ö&Úv7¥hCzzÀñõk- .Ù sžƒ¦m=ᆲ+ÎÀRê‹.ñä$h;A´Vèqåõ‰'5zñù¦0ÓÕ ¨Î– ý ªƒZõnm5aVŠÎ»´;)ÀuÁó ¾/p]‰ï9(%q]Ëh¤6Pƒ^ªÂð†7^sÙýÅFÿÇ_y3/}Ù]ìœ+˜Ä5T6Œ–Z-R …±ŒË ªÊ~!/I <Ï¡ª YU#h)Û*ØmK|O0èût:†Oœ(ÙÛÉÈueßûyƒÁoòøª'ûln:´BóšÉ´f:«5yÞðÆkøøGïÅ ¹F©Ïq Ãní±¶:Às=†k›ÔeE+ øØ‰;˜ç Ž­­³9<ÆtʹÑy¦³˜´ÑíõYé¯òŽ·½ÿñrt>5<õkŸzd.Áþ°µ‰òñ~ÁñŸÔÜ“D£EÏö-MùÜœXKTϦÄ]›ŠëÍ£ˆápˆ&Gásr´f ´pP ùÌ2Õº=NÞv*hò[³9.Ñj`Ã'?…¬¡g‚(X€BѬk<ªê(© :¹PÝŽÖV‰'cô¼D§s"f_xD¡@ zDmE\”vnFàA2³³5‚9Z FwÚʸ®%ÑZŽjkT[¡Ú¶Õé­u ú ¹×¦àr°ÏÉÝñ^Œ ‘PtØÞÔ•-T !Râ¹H<ÏV°ÇÒÍ«ÒjøÍ7?rÆþb£ÿk¿z3ßð·“ݶC¿Qd÷“Úü¬¡®¡(yy.(+¶<ãØ€0(_ M +ƒ¦/¼ŽcpqX[—8]ƒJî딜9]²X‚À°¹)¹ñFŸ'>Ùgk趬±(KûT›åûûûõ#.Ïo¾ùþíó^Æw=ÿîúÔ ÎÞwxÍÓ©`kóJ†«9ÒÀ|–1-¸î†›øÔm$^«ƒLe ó9¹Nɺ)î~ç ïà×~õ_|ÅŸÏhtöÈþ\‚ý!K Œv2ÔÞ[“(ÊÑ,p‡ƒt.ˆgû u‰Ç1õmËT :͈º}F;¶zü‘÷ MI|3Ü :+(µO<Þ‡¶"êúP¸Ä§ÎÚªè3”[ÐÎP¾CÔqPþ&1ŽÝô’Ï—óv÷¢ž_´'7¶Ý©³i‹M˜£Ø@Ï4ú FïÅÄiŒžÇŒ’LÏ,©Ú»°Ê¬éº]X›ÙÙ†¨3A»Í< WçqâÄY{¾D I´&ˆú¶àÒ‡›”‚Î=Ûk¦ùU¬­Ù5•Y.©+‰”ž+ޤF"¤UtÇvAŽ2<š×öÐRí··%këÐ + Ea¨j1U)ÐZ$°H¾Y0>»CÐ Éóœ—þÄ-_Ñçó]ýÙŸK°?ªÛc¸¶maGM# K—Ÿå¯¹šxgÄp=Bç®X×lN×:Ù^nwÝ="ºb== žj†Œv'h‘£|}¸MÆ•–]V—Œf{(\"Vн¾õ ¹3g8ض †ózéE) ¬4ù°Â †}>ñþ.ñx—Úö³ª@A¢ÃHôÑB£ç1¸’xšHÖv™o¨v -PØ…¾ñll‹›ëË™£³ð€Tϱ‹Ì¢aÁ5Óô‰šùÔʉmëù¿>%YÌUe.8 «°9„NÇQióªZ ¾×Ö–ÃÚzM»]“ç'ìîϘNs¦:e{ëjÖmá¸Rú?¶ÍZH<ñ½ phGÛ‹šó;»Ü·sé:€“w|–ÏÜu;×^s¡ïƒçð„ë:œ;»ë öÇ1óÉü+þ|”wd.Åþè$µ¿ɰ .×6º'?ó”¿ÂÉñÞ²UÏK¢A›èøU¶‡sº/PÇV³û(‡«.ZOÐw uŽž×èB/sp±I!·»'5†øÜ.´$­%Ø—ÑésD=û §sâ=ya¡°1¨Î€ÑÞ]¨@2\ Q^¯ýÛ>QqêtMà:¬mH®¾ VW*œæa¢6¶@åÈ/lðo¿óƒüù߼g>‰ï…ÜxÝ×óœúÃô{hÄ_þª§.ÿ¥W}ü‹üë®÷ðý‚,ì,¸ýîî¾ã4¦(Ù¾âÿàæ'ð„®b8ì<,y’dY!0Ž 6 ƒ/E.8˜VÔuA«#p#‰tÀõl±¯FRkpj ,kâ¸fgTrïÉ’ÑnÉÊJÅu×äl[°²®8veÌ#'@oe€—Ι&1Ž9ÿÉñá¿}?ç÷vp]¯{ Wÿ›ã´Ý.Ý•.u§æÔ½'¬¬Ñï÷éG^òÿ|‰ÿ/üÔ¹ãÞN^\ÇæÕl{×Ðëíqçbþ>£¿Ù9²?—`T?´]M'Ï£ˆºŠ(hÆIîðص!ÜD×mTÐ%V Ÿ7\ót¤|à¯ßÆ›~ïGxù÷¼õø¡‘¿Øð?Pñö‡^y3ïzïßÇ%·ÝqšOÞqŽ»ï“h Òì YÓ‰ žöU7®çññÛÿ†ò¬oç«¿êiììóWýç¼á7‘—>ÿ‡iwÚ´Ú\i¸úøõd™æàà€WÿàkYè’×þúOÓ[éq׉;È‹’õá&aØ…5Õñ__ÿ'Üò}ßñ{>Wö׎ìÏ%ØÜ¥ú o¢P‡uˆL¸:£§5¨‰[>>¼Íue ],ˆ“Ò®ë6༲[ãg™ÝÔ¾ÒeXTáwÑS«»O¤®?'ÞÏÑÙ‚®ñ™»Db4>‡î†+=Tw…8I²€¹C\u®²KŽ‹ rÓVB†£³£¦rm€å*T¡A@´ºA\9(OCî€Iì¸Ò$½°*¬­Ð‡ÊÏÙõ`^ õœÈX€£no¹à˜l†ÎXzʨ¿ÆÉ³çšÂÐôT¢YŸ:ÅM×nóÔP‘¦¶c¡*kR yU-B å§s^öÂ7ÞðÖ7ÜÂÿ÷7~Þýƒ=ɱë³÷ž£Ê">ô‘;Ù~›+¯Ú¢ÛñpDMQ¥|ü¶3ôúÁC–GJ‰ç‘lïÌšQž:©›™Îâ3ûv}YæAèµ,ÛBk»É} ütJFû1£½:ÛãäÝNS¡_!Ú¸=;Çh÷ŒNÔ³9®x|À‰ógQmE­uªq•¢ËÌ’6:v5X´²ŽòæÀ*Ê«ÐIå¥Kºµò ž§MAæ°ˆ2ƒ b@n¥1À$…@/Ô T·…ö*TOu{v;ü æx÷jÞvǘ0hÓ {x¾¢,ì¼ñd^³X@YY&càˇd˜ó<å}7\ûŒËšÇÿäßΘÏÎ/ˆC®ØZg{½ß(ŒC>MXè=>ý0äñ}ð\çaéòÒ¦f%L¦†éÌ0‰kJN†0´ ¨/ÙXsØ:æv MkòÌPä–É8Ÿ×Ä“ŠÑ¹‚xR0],泉áª-A´²¯¼ìòÔeÍS¾úò¢¤¿²Âts~´K´1›$䓜ßñ1®^E™-¨ ˜ÊêŽ'`ûŠ+ét;èEß¶¼s£3¤é”ƒÙ”ýÓìüåúÓç[ÿÙ·!›…$_©çgù‘ý¹û£Ú-âÄÖ"¢N· ìØÅ?ÆàªÀµžììej;f³¨Ð7C­mñbjç3ôCK"È[è³ó ;ýªã…ʨ«]Ë|Ëk» ˜¤œ,@y5ÃnDt,BùƒÆºÕ¨Õ>‘¯¹mžºùdt!Ñ¥jÁp¸‰¾æ&¨§vr^!Qîñà̵ý†Æ’+V;\XS¦‚.*h%í8S!n(#@öQ¾-j†aZk”RD>à+ð†nòª¦߆|ެØ×è)Ñú6Õ}ŠÑéœA”áy¹Ä8˜Ô$‰!Ík0’vóåÿb×az¦Ó^ååßó–/˜Âù’ þßûÌó9Ç®¸’ë¯ÛâÚ+WXÏe:7$AH’xTÙü!ËÓn9´•¤Ó¶¼<Ï~×”2t{°º ¹¶K°‚j¯ÂˆÏ3D}ŸcCƒJf“Š4))󚲄¼UI–¹$ÙÎÜk˜ìIz]éÉË.Àõ7]F»LögètÎt²ÀA¾È¸÷Ì=|à£É‹þÕK(´¦–!%¯û±×sÇ'OЉº¸KÐRll¸ç³wƒ _só×ø>Ÿ¾ãv>}÷m\±y57ãÓ¾¢ÏçÈþ\šýQ"1A')°@ù’h5„pLŠ«g6dhØ`ÃÎ6ªë3ì‚Ê$:M¡Dþ äšø3g%)Êvkú’ª<%žíV˜y ™!Cb½¹ ¬uú¨ö Tåµ8ñÙ“6<é(¢îíÍÑûNÌî¶ x{kà•è¹$žØ•_ª]Û?'cFZ¢Ì]Ös &°nèlNÔÀÂ!NST6Ë‘íСX"6A +¿ž¢EÏ®=”ŸÇ“f`’^æUàXïÊ@Õ(»è â»?M=ù.&¢¦,r„$IÍîXrp`H˜èŒ`°úàOø¿ôª£³9ïÿÈoñÛïx%?ø¢ß¼lOø3Á•W|ÃÓ¯áÚ«»ô»Šdáp°oH'9óIM¡²*²<‚nÇRé³ÌÐj |OÐë Ž³ôý0Œ÷“ Ìç‚,·O¤yÓ©·&Ï*(JSRÇQGR # .5Ò)1µa:¯˜çÐj_~y&ã9û{§Ùét"²L3ÞÝåüþiâý)ôÞßå{ÿõËøÚ§óÉœª®è´#†Ûšwÿé;@J¾ñ™ÿˆ¯ù¦¯ÅSvçêA¼Çîþ>ǯ¼².Hó”{î;Éÿ¸íì ûÀÓ¿bÏgxí‘ý¹ûƒhx€gÔÄ)-È .~—ÈŸÙ»… tªÑ¤èþ:¯ÐÉå¶l“9èÜOö‰§c”ÃîBWDžƒj»¨èó»¶ ª˜ u,ùÛçz|kˆžÙõc'ÇŸ¶ã?Û‚(è@C¡®¬z¼@7l7…NÈÐwѹ²Kí&aÃ#­5:;ƒždhÇAqØÛ‘ŸÙ÷3¦Yˆ ujcÝÌ®2^± óÔ®8ó±Sñ ˆ„±KðQR¢‚6º#ÑIÍw V7k…Cš×œeHÒÔ¶kêÂÎ/Ñóò!f´ùGÏ|!öWÿïå%`]áðMÏêqãZ€ä®»J>ñ‰Œûî5dº¤’9-¯¤>tyêZ Ž9EQ3O¡ |_ÒëÂWXZ}O0Æc˜Ä‚d^Q”5ij {_:Òk¡j0B¸YS‰”¶w$Ãq$ÛWpÙå8¿³Ãhw׎GØÞþÿÙ{÷`K²«¼ó·wîÌÜyžyï9÷Ö¹õè®ê‡ºÕÝ¢!Ä›ÁXb`„m † ã1<ÌŒl„°R€XF„`ŒAB¶…xD€€™ ‡™`${$!¡W«[-uwU×ãžûfÇ3Ž'¼ïýïæï{/ÿžáE÷=HÒka¥¤6†dÐátç*V¼ãáwqÇù{ø ýõõ±·'íö¦CÂ0 wÜvA:ྻŸOUU_ÔñI¿îVþ¹‘üs´Ñ%#P%Ù*Á,Ž0$¨ñS×HCKVIÒù”tpš‹ã'1&G‹1£S ˆ.ìM0¶5£NŠÑ› –ÐÑP²…ÁTÆWÑP`–s˜ù¥-ý`£t Ï-53.ç‡)i ãyá]kú;dãkŒ/ïC¯ÏøÒØ÷±´öG‡S²¢áÞnÂÅkc˜Í1moN`¦Kh'.ò¦¨ÈJƒ®,¦‘ƒY›hµ"=uX …·+Ó~¹˜cæx>í‘A·a´5BkÈrÿ¡•„tˆ1Ǥ½é¦çî~ࣛG‚á^ͪrL3‰+M#¨Œ¤¨j`µøÔ ÿÍ¿ÿ¼äkÿ;¶·±XMøïøMΟ½ÿYÚÞ‹ÛnKX,,>–óÞ÷V|ôQÁr"DAHâH|ÆxVsCµh8}:¡ÝUãýQuÜ…~õ¾×ó:,­–_±?êÀÑ¡d>¯©ª†¦Ðx·%'.¸Æb]t¡,+½y *†Ã€ûï×Ï:€Í!ûûŸ ð®÷¿ƒ÷}èÏùÖ—|;£Á) ëå¤ÀK‹9Ç7¼ìAÞüúßç½~€ñä2‡»<þð£Îö?¥,Ciê/êø˜Yq+ÿÜ@þ0«Y¹Ïùèl2ê‚!Z«ev²E²Œç£»)£³; ˆ#(J¿ÜMÉ.^Ä,rΟ¾‹qs„&†ŽFÇ1, 3St¡1Ì vº“2Ò)ÆLÉj …DwF¤“)ã¹tþ…Ï#ímzà;ÛÜ ý‹Ç0Å ãr?ÔFÃõ@gž“žîÀéŽ×ÀX¬0Ÿ†£30ôúœOúÐÖþQ4þ˜¤ÅƳCtO£Û‰¯ÚB@ìüõôNaÌ%Òî6è͵« èA3Í1öˆt°‰î´¹>¥+KÅÁ¾àð¸ôr°MˆtDƒmU㨜 ®[§þ‚ƒ½/ýKÔÌ<ï¿à7界§•ô¹ïî¯á{¿óç>£~ÿÇýÉ Â+z€oý;ÊW}uD6µ<ùDÁ{þ"çñ'«E€R €ÆJ¬ %Ÿ1žr%ȳ†Ã+ÝA‹NW† :iЉ#TžÑ!¤O*8'B¢BÇrEéŽ'pX+ÀJ° ¬…À!•B„[KT\²s:d{ûÙÇããómüÌ«®|‚<ÂÛßõ§¼åÞÄ[þàM'÷ö_ýÌ ™ø7ù;_ð<.œ»“Õªä¥ßúU'îåuü“üª¿$ËðÃýÃ/êøbgtá$‹é‚WýÀë>©L™óÆ_ú½¿$ËpõʘÁp“SƒI¤±¶þ¢ÏHÞÊ?7’Ln0ÝÚ5èÖÆ®üµ›Œlž¡87ò‰~¹¾¸¶’åS˜gd¤`2´è ‡}F:f´Ñ#na–sŒEFª$lôÑKQ›4òÓõ¥xU¸nìÿ­þ)ï Ï©˜~]ÄQz…8™€Í1¡£6„k!ÿ*Ýǹ¯Ü²©;PLý„»R˜°†¥Á”—ÐçaŠÂKƒ*|åÆÑJÇ›ž›[)è¾÷¶4ÞÛ2òÚÚ, ™s ¼µ±9“RÆãkh¤×Ù@’v{¢…ué<ÃÁ‰¤BZ @ ‡ HÅçãGUEzÕÐS.ÈJ_ÛE;»÷¡¨1¢…ÉöOnêX&Þ´¸“0êhˆÛë›› #w£„‰?TïÙx¸‹9Þc|¸¦=s zÍk2Æ0:{ è{+±©&Êz/ÌñÅC‘ûê\Äh!ÈÌ5LÙF›kà6Ñ} ùÕms}Y¥( ÒõõÍ0K¥ÁÕ!BJ %¨G•BHo -­À ‡£31¾úÀçD@í=Àù»>ÀpKãËÑ>T«-¼†º $ÖYœmRˆWÏð8a¶B‰BX®i¨jK‡üm¸µ{R/dkKpæLÀÎŽbcCâ„àò=5ü`Á#vì^ ©ŒÄ Iž+.^ nŸοÿ•?a±ºFmKV«Xñ)å’8àô…ó\½øÔ_’e˜N3æË)Ûƒ!Nlõ·iõDcùžüö/úød>¸•n ÿdÇSÆ×W’7Ñ8²îÝ9Â̧(ýà˜ò:E°F—%º·I:LÑ 9d6ƒÊúJ§5ÚùžÔÏ÷ÅL|}[( ËÒÞ¶ç™Æ :ôÀ¬ðNð:D‹>ØÜëGF¶0GG˜¢$íuOÖ¥½>í Óêy¹|ê—$n;EšÎ0u‡4T˜j­r÷qÛvFÄh·©¦(üñ¨%Ðz‡ó뀚ùää÷ÏŸºâ§Aº-`å nF0c²Ü›'î‘öNù#]´“¾×¤“„R!$‚T¸Àâ°çõNCØÏéÛýÅÝÏé ïÇV *IµI’D(a©k‡[X§k,Ï !Î $~Ã3P!­wi’Ž8pĉ ±’ùqCQÕøMÎ$–Ä¡@GÐï úý€SÛ’í­€SÛï|§áÉÇ¡Ìa™[ʱ¸ixv¯=ßS)'–ÙÝn?ž¢(>¥<Â'31¿.˰¹±I¯¢ÂˆHt»}B!™Lügúfãy®ÇGÙ]·òÏ äÝèókeΨ»Þkðù]ïœE™~Ä+»ml“®›ÿÆÀ¼ [M0kwøë7ûHa0ÅŠ4ö®ïFXt·EÚöU'[f¤ÆÔ%KŒlÍÑ¡E‡]¤Z2ñšdW?F¶˜¢»ßGCxgúP`"NWÛõ IDAT …_+ÖIÝJÉ1uM‰q ?‰¯Ì‰2¡&[dP¬«¥Ž1m^ 0õ­ {˜Êøµg¼)0n µïCd€Ù1@¡Ã8H;‰o-ØÙÒÆ5¶4ëãª@€ÞÎ6%B” ­ gÏ>Ê•+7÷-ÿ=ÀιÇ0eÅdï¶·¡Ûqllw•C pÌ’@Iʲñzå{ÆxáNà(áß>ÃPÇQèá­ùB/Ì¥CÉlî‹¥ÒKùVþíríSÍF°Ñ—l¤%j[qùRˆ)¡)”PÏ*ž+Oy· ÓÈ€+Wþ¿÷¦ÿ‹'y’­MZIïSÊ#ì]ÛçCïûa+¢(?Q–a¹ò&æ2”œ>¿ÃÅ~”¢èñ#½œsQ×áMÁó…Ÿ4/oåŸÈ?¦2P8b9=$›?=Ð-ç(3è’ª äYKlRÁ¸\‚è¢ÆÄ  sƒ¡F£0åjí$³‹)Öëa‰Ä˜Ý55HÙÉ:íÌúg)Jôõ#X¬¼‹KQ¯wHi|¿ÊTd‡ÇèÎú²t^Ð?†´³>Îóõjòª)¦p¦k·šºh¡…†öÚ1¾£ ‚lÑò4aôÔ‰˜ÁɱMwR0SÖZ̪åEŽÚS;²EŽ®;hµÀÔÝ´»e!)«†¦QXàHâ°¡ÓWÄ:d5S¬æÕúÁœÝy„+»7'é¿â¡ø±W?ÎÝ÷)®<.8wæQö÷ý›ëwþÝw#DƒÀ²X ÂHÐn Lá(«Š²Ÿá, ’-íhwIKÇ©RúõþA*q„$Z°½pî¬âÜÙ€íSý´[‚8¶ôA·£HâÄï|§àÊã‚*oØÀm·—$muÃx>üÁçqÏ=O°šWÞ¸û$>ßįýü¿åpÿ²¼vÃ&æóƒ¥+ù‘‡^þ ñy¶ñ|!Ňaz+ÿÜ@þÑuÒ’´7ââÿóÉu¤ƒ"úÕ¿ét”`ÊœÌdPw}J•˜ÞÎÚf¬2ñ´ ¸ubÆtâûþ&Ñ!Õ!Æ9_ùsèDè8AwSôpí$¦XÁ"Ç5éÖ69¦ðÿ¯]ã*å Ž§¤î#;¸Š)-:’èHø•á²€(ƨ“Ò8ò’u…ÅL1º×79Š×}O¯JG}tÿ”ÿ;×JÅJá·áV]W»ë£d<ßõëΡ&« Z ¿ÊÜý€%‚zÓÏRP–’²T•wý‘R±ÑØ>¥ˆ»Ù¡ãh\2]Ô”¥Ch¸ríKžÕ¤ÿЇàÉ‹W¹tÙòÞ÷[þüÝ”ô7 ºÝ’(nKYzínc¼å[QÊ5ŽÁ*E’„¤襂n:]HSA¯'h%­!Ñ’^OÐï /Ô¥½Õ^c-ÆÔX ŽdcSáœø¼á¹ríKxÃkÿ ãñ5vÇt;éÓ&æ“#^xïý|å—}ç.ÜÎähÂ4û«MÌ_ñªï¿ŸÃóÓ/ûg·òÏ äc¦>ù#HCí‡Àk¡6eh‘Ïa‘{÷—0‡(ôZûcô©Yé š¢ã³”`'˜yéÍ­SŒLüFXa¼fu,È.Ñ;š‘TdWŸàâq…$ôÐÃヱf,æ˜ÒAiIOí0^îBKbÚ]¨dEî‘F;I¶(I;}Ì¢UNe+/4´h€cÒîpí6SyÇšNßÓ”ž˜3ž<Ö3’ek?ÉNtI=XLü@»œ2^¬åLsÈÂÌPvK²h…Þ'ò¥§¶=m¸*-E±°‹m½€:\ê—nd(™/,¥uà$îz„'?öì¼é¿â¡ø½·}ˆ»îH¸í\HÚ—œÝqì^“Ì kÁ¹k-um1Æza¬R¬1ø‡ðFðø­îVGÐjC« Ý® íÃæ¦£Ûuë7ĆP9„pÌæ–£cKž7ìí—\¾l˜O¶v"üòäYÇóÎÿô¥|Éï{ñù>~êŸþ ›˜ÿøë~øV|þxXÜÊ?7’pÀÂ0.ü&ï‰ÓÖÚÜJ¼ýg¿ÞéŽB‹6: 1U…) LiN|u¢!ÒÞ~±B£îc¦FëÁÀº!ÑD^N»„Ú¾md¦†Åé…óè¸ÆM=w|ÅÖ)Ú ctœø ´©àøS*¯#ð ÓœóÛ@3žíúÏfÊ£Ú'źê¯-½>t(:n>ÎÖ,À˜w÷0Ærþü­%èMŒ’t§áJ‰)½t;$ŽD;â–¼h˜NkÆû?²à£-Y.-½4xFxVˆÕÊ‘çö“âùã·yÒ¯üê÷~Öñyå½–Ú6Bâªi6úÛ<ïþç1?žóð‡ÞÇ©­-ÎÞ}7“ý}Þ÷þ÷ð‹¿þºÏ*>ŸÏ_‡øüà}?}+ÿÜ@þ9¹mÿvŸ- Lvˆ©-ºÓCüù/}££TP® ²m¢ÛëIÌá”lYbpèÍMË5¢>iG£{ñ Ô”k#3ÃÌg˜ªA/ túÊÕÕ˜¹![–èÖŠ´w¯5/1åÚÀæŒ÷³qì5)X¡cMÚYW«ã “ÏÑýŠ‚lQ3ZK•fÙ1z»GÚÝDGmt§©*²Ý'ÈroOfŒ%›Ï1Îr~{ üÙ|ß,¶ ²bŠf‰™dÅÊ+HÆ•`*Òn}ðMAv8å__ùCŠBRU H!H¡pH~¡ï.wâJÔXG¸>>†¡ãOþø®O0/ùtIàÜÎ[¨8ÐiKn¿sÏ= .$loEt:Q(QW;ño‡–ùÜ’e5?úO¾€¿ómï`¾žU¯~éÏÞÊ?7tÒf´uŠtûº¾ÿfÕB«­¶oûÑ/q:n¼æD$Ö&ÀƒãÞÍmL¸ˆˆhÒ>¦SdŒw½töºžþdk̪ö^„l¹V™k]<€q+tÔbl2´Z‹ Y‰ŽZ×i¯˜bΨê¢Ya¢õRÂu?Êã Y9Á쯼J]a<•i-F”&]2»ÄT‚4n­+àú÷«”ÆAvõÝOÈ÷_]‘öÚŒ.lC©ÈæSî}ÁÝÞ§‚l>%;œø*}ºëíÅžƒèC8CWž{ûCò›„‘"TB¬óÛŠ¥q¬VP•¡Qaè蔨Ào1†J ƒÔMm„ï·Jø³?»ëS&ü ÷ü1¶¬Š©jœj(…£*-* ‡!gO‡ ·z=…N‰C‰µ‚¦¬V^4kOrt¨˜/"œ oáœh(KÑÔ` %eY1ËÍž[ñ¹q<¿òßþè­üsùÇ_¿ó gog|åÙlrrúþ ßäL¡Õ1º3ðUÓy ³ñG?†ŽÛ¾,r2—£EOx½÷Áû0Ç~Ø«×\OS.N‚0~Ϙjæ/Ãmï4S9t;òÕïtw=˜N1ó=²#C¶ÈaáUcsH:2žAoF˜rê]gÚÊOÑ/z€r‚.•¿n·Dk½^ «1Æs_uoˆ)æ^ƒBVŒz}Fw]ðU†ÉH‡;OË‹F-ÆWÇÐrcwÉ R·!d×öÖU¹‡ŽþõãL‰¤«ÿù]sŒñô†—8³4$DÒ "¡Da9¦\¬ ¼mý>£NÊx¶{ÒÓq‚Ž:kj“òÑÛ§0ùÔÓ¡fK0Õ —ÕäSС׎æØ@ˆï™Í Ì&š¢\0¦Ã£nAv4CkÞHaqÌx:AË6é Ä”ŠlzˆÖ1é õaëí9ï ¯W©ènøé¢ð\\„ÿ0„¢šlwŒŽÏ`ʌ׿çlmKâ$¤1Ò:úmÇæ@ðú×#pˆ‚ & …_8©åÚ: $2tÄ¡%BR5Wea)êg%JJ¢–¢ÝªQAÉÃxwÜ÷êj‰‡”ÙXp®,©,ØÐa]‰« b%èa«[)Gž!Žb–˘ù4áwî_ðÛV|ùím”hÑ„ ªØã\gÉWü½WÝ?ßÜù­üóiòOv¸ïMÎ âÐábн¾wÅÚl“ª³ A|èWÿ–#ÒþÈRˆ4¦<"+ïüòÔc é0e4­Qkh;¿ž<÷üÖt½­–ͼӻŠì±1ãéæH‘áü¹{IÛ¾¸˜ù¡o#º“@;€‰‚¨@‹˜ìpÑ î!;> [,шbÒ(r…Y–Œ/?qˆÑ¹;Ðí³,Ñ[–´w–+LœøVz‡{ç=aÉht9ãñ5¿ÎI²b)$#mÉŒ$Mü~Âx𓯂´“2žOH“„ïû7’n ¶v,çï ÙÞN(+hª†NÇ+þÌë&Ê¡TH¬!R–º–”… XÖÔµ@ÄŽHChláÈ Ô(Ù ‚8¬€@ â¨â±GàÂ=ïÆ5 „EÊšK]ZlÕ`ë¬5Tœhp®DØŠ ”±DÄ\EKž¡Û¥ozè üò‡{Œ›1v¸çÐIÌr±Ç@–¼xs¯úîŸxÖñ ª²¹)xÚw½kýFéõ&¶hJD™1¿ú†›‚çfÆgÔ{ N€ ”OúAH —®¾õ &>¹‰Yìõ?íósîêËnåŸO‘üõ÷Ñ-÷ôRZ%ý÷+st¤0ƒ(B¼ý¾ÁQzë/ãVèNBÚ¡±_:èö ´P.Až†Ö’.¦Ñ°E6Ya–cÒõS`Z~)A;îj4žƒšå³“*©M6õ#´Æ˜ÙÉ©b¼ë ŸG;§H{w`Ìã§ÆŒ/? 9hôvJštýºu;ò\¬Ý^òcÌqåMº Z®«ÿFê·íºHÈŽ¯’eèîÐÛ–­O;i·O6Þ;±˲œG?òi¯Íù #¾ë·Þµ$ Q(éoÀw;^x_Âmg#j+p®¡ÕvD‘¢.àÇÿ—"·¼íœ0³lX¬µp(- khª § I"€SX*šª¢–2€KO¼€Ûîz7¡Œ ÅP»ÊÓ€D%B8„«q®¦¶Εø­…‹Bꦢžæÿþ5ßxí{,wŸ¹ÀVz–KO0YNnõè´;ÌVGôt@»8ஸâÂvÁ×ÿ«ž5<"¨°®zVñ„£ÿ‚„ô28lÓÐX‹‚@ ”3ˆb—ÕÑ¿VñÜŒøœê¼„ºn°JkqBÒÑ uc©K¿Û÷[µÎpi÷÷Ÿ³ñ‰ÂšÙbðŒŸŸæ?v+ÿ¬óÏõ_Ã-¼‡n·ï)˜mßþ2Æ0ênøá79ƒî¤ˆ·ý̃.Ex¿È+—Oè;€Ÿ¯×˜5­“ꪋÓ¤èí©wFŸ`EǤ;#/À?}-wÀùe LéÐŽY•“vÚèŒhÙ~úè¤{¾7—ô1Ë1Z¶Ñ±Â¬7âÌ|Æøá'Ða­˜ÙuS‘X`Œ#öOâ‰cÒÍÈæSÆ×®¡sƒN7}ÏÍ=]!1ÇÞÀAÚøĄ‹9^ò¿ô¿!•ƉW7¸¦ÙFÞ<âö _ó]î{~D¨-¦vLŽ-O}¬â£®¸¼—³{ØE9Ihµ,늲ñGÍ ‚À9D+$J$u㨠°‡0•k-"Ä? ”uA#j‚:BI…‹ éõ‘‚ª ©jWøCœT¼ó¿Àkþ¨bÞÃÏ¿ûº в`woŸù|I«ÐJbš¦¢ZíóÕiE¼œqç=þ ãàµÏ)<"ýG42¦j,ÎZt’x‰£º¦, ÌÊ`EkMG„J"«)uöož“xÎôÿ&u-(V+Ì,£ÌsÒhõúÔÖQ6ÝV›Py*¤Àriü;Ï)<ÖI”ÝðóóÓ_óC_´ùGo¶¡T¤ÃÛÀ\d|4!íh.N2ÎFŒ£†DJËøx‚F0:ñö7ü —Ê: É&sÌb ×'Êóç<¢íEzРfhµ ½Âsd]Ž™~­YïF®k3—f}¬CéO @V8¾†×f‹D "¼†E§¡@Dz£ÝOFs˜aÊSvã+ûh!уŸ¨ã­ÐÒ4ñt%çüàÂ.¡° :áM:u‘Ž6 ˜ÈkgP˜Ù¡ç ×½6³NûCþë_~3V€ç,4×”8[â¤Dޤ­¸ëŽ/z bc 8:.¹|¥`¼Û°šY”lˆâš'/n ÔXi°¶Æ•gD •·ˆË«Kè UX **‰BJïžd½|­±Ô²ÆJ ®[ šçÊ5ÿ¡áÿ}³O&¿ü¸&ßUíã„´[-:IårÁÁÁŒÂ6$:Â6 õ<ç¾Ó iÔ`§gºwÝñußó3Ï ÿ»@ËÙät‡l~²Í¨Ó:¡‚R€îkL£cqS¯¤yÝ E“•çáûW#Ïõdµ‚VËS‰:}R-H·Fè´Q°þ9f DSå³XyÏÈH@h¡’èÍSÞÍéPË ÜÊWR€Ç÷Ðiò GI¿hit§‡Y̸xé¬2L¥ œ3m3:{†GŸ|œÑpƒ´»‰Y–d“¿–<<…±Ç¤ñl2ñ}°nâ7Õ*‡q…úºÚûå H‡©ÿõéfYóoýœ°Haq"ÂI ¢F† ‰Øì)z]Aiàhbɲ‚¼²€B…QdiÅŽÁ@°}FqzGÑ ¡.j¦‹šý㜣£%—ŸØÂÚ áüõ4AäÍ*šW—8á° ¢("P ÛÐ8¤“4Mm,’@X%°¶Á ‹uÙ¨Fòö÷ã¼ùê€'>zH´Ø9»M'éQÖŽ¢¬Ø½vˆ (A«R” Mîhê†3gNÑêDLSú­)KUåÈzN=™’êc^öÍWÿý×|ÎðþåÏ)žÓ½—"£غAEi_¾ÂÞ¥=ê¢"Ö’–‚–²èX‘K˜;ÉÒœ=³ÃÖ`H¨bÏÞÒkÞ kJ.þáç uõçäùyýw>ô×2ÿhµ¦šÖv-»ìÛG' ^ ïÏëÖ_Ç1i7E·Z¶íy»Ã¸»h¯þš¯wFP9²<÷+À…„§Ý¾wg¹þãz!-ˆf6Aëi\®/¢89Õž‹[ôÚT€ª‡n—ŒF=#.>ö~ÒÍ / '­$Öl¡l~HÚúcYè`a¸xi³˜AÔc´Á*8¹¼lr@¶hH;ô[^'[ozºS[{½yæ…6·Ö zs|€!%-ƘEÎwÿêAJ‚ AJçebèô Û— Š­AHÚ“ä¹ãòåŠGËÙ×Ôu€ BtŒ_Sß„Á¶d³P“¥ar\`–5RHBðÔGÛXUR¸¨pu…u5Öæ4.ÄÉ€( 8?ÈÎÎÃàBl#„C)áz ‚¦‚ÚRãxçoýï_χ/~Œý+K¤h§Z·h%-@¯r²ã9ÖÕ€EÒŠCt¢h·ºDaÄÑ䈲lHtŒ "æ«yµbØKeA¾: µŽïx|íw=ôãQBØàáytÿ›Y™ŠÉtΓO^¤Ýé1ÚÙ¡Ói¡Ai GÇÇ,Kƒ â(Ę‚ªªxêòen»í6^ôÀý¤iß·;$!ü@W)P•†Ùá˜4xë3ÂóÙÄgÔÿ&êFP×4L®Œézè´ÅbvL•¯°Ö«Je‰*+â ÁII¤ íAJÒîF ¡Š=.¬¿—N¶ä©Ã?¼iñqR5êsþüü¯_ûßÿµÉ?Æ­Ðeà=vK0‘×ÅÑ‘ô§”¥ñ…d½¦µ~º#“Ï1µetz„™çþï)Íøà2âí?ùR§ãµ^råÈæfjN*‰¾rœh<C¶Ì½ÕV!HuôI#‡ŽÅÓšÕ¡@G!F¦hW`\á•ç–5:ìaªúôZƒý½©;`gë @Ôõž– ãûP€)ßë’=²½G°(1…EÇ’t˜ÚŸÈ•ß'+æþC°¾AZ =pS„¸Ç·ýÒëB ” Š iA¯'ØØ”lo+67º]I§$Þ®©ÓÚG5|èኽXžE žäÌ™ˆSlX, f ƒ­í¶¢ÓR Ýnˆs‚?øÃJÈÀ˜- ή¨ԵĖŠããn½8h!‚!-’šFXåh+ÉÛþÕ«ø·O¡Û-©6ùªäòåC —#T@¯“Ð4 mXL^R HÚ½nH«¥Q*¤ßéråòÙlF@È­ý[`+ñºá»GûäÅ’Ó­€ôeþm᫾ûÕŸ‚@~Fx>rø-L§3êÚÒéo¢âïý‹¿`–eœ9sš´0ɦ¬ò‚t#åî»îd3í²\̱ÖrùÊUœ…»î¾“tõÞVõÌMGUUdÇG, ­ˆ7}ÆxžI|N÷¿É·^¤b¾(Ø?œqjÐãøhÂwæÓ aKTøA4‚DH¨ ‹ $.PÈv›@'HCádH¨BB¥Ò¿í³–_¸¼÷;Ïj|\íXÔîóþü|ï軾`ó1˜ko}Xùg(ËsÒ^ {BMVø%0ŠÂ·Ü¢” tgSV¾-TkQƒYˆÿðc÷;º­·Ñ­Ù¢‚ùiwÖšÏfµ6ë$:êvt«N5Ùµ=Æã½õУOº±BÇh/uÿ+Ò û˜ùÞIÉ–’%:î@éÈS/;Zõ<+(* £m¦˜ÒlÑ]?ºcн5¿u¶b|1fœ¿÷vÒnÊŃ'i¡åOÎTHSZ²uuÔBÍA‡ŽûÓßökå$ZÐíí€Á  Ý‘Ä‘ôœ”•w ê(Ç|æxìɆ=ÑðÔÕ’ÂX:Ý€Á0fçtÄ`Óaò’YV²ZT4 ¨@€ð*‡*”•ãàÈQLâX¢ÚmêÀR—s¬«puÀb »»_Jºñ^Za„Œ„lˆAÒiwÿî¡à7>|†In b:ºEm+:a‹£Éœ½ã aè×ëƒ@P.+ÊyCØ—ÔV‚~?FÇ:ŠXfÓã˲@†é˜S[)i—¦‚ÙjÁþÁ”%£QÄ`¸Áß>Åù_õWâYæ5RŸÏÃãob6RT5ƒ­óÄí>ùðÃ|øƒïgssƒþÆ&Aœt7è¤}t!mÃüø2_Ðëv‰"ï@ÕÔaÑnwh·Û(°ZÌÉ@ÿ3å IDAT&¹¶öSá ÓGAö‹ŸÏgŸ3é·@xfkÛkq2Ø¬Š‚åÑùä%-a¤J!TŒ W.iò%mR¡’EQ¸€™„QL¯›ÐÒ^ogý½œs\ÝÿýŽO/\=¨Ÿ3ÏÏ[~äú‚Ë?žC?ÃäKÒn—¬ñÅ!m'dËœÑð¼—QÐÛd³=tQͧè°Çxw´«ÉæG¤Ã!&_2Úê{²ÍzûÑöj™þíݯ ›Å³È9?Ú!«j_ýòözâ»ÖoŽ4™[ »Ò“Å-çoJ±žW͉–tÚQP¶ x)ÒEq+ÒnSZÌDÙ'›O1Ó5ø~ÄùÓ›˜E„±SR{ #÷üM:Ì%º´¤½m/•ZZˆæžV[ÆO^D‡ :iŸ MN(§×{`À+ÿì·‘ÂÏÈ q,hµ½¾d0è÷b-xCçÆBS;V+Ëlá(KÇ §8½Ð0¾Vsé©’UnI7Bz=E8«•e5«Y.+–s¯ X–²ôʦe㘯]mȦp÷ÝÛ4RP9 †È ïÿàýœ;ótKÐêDq@[K~ýÇ}"ùýst’Î*&Ù‚ƒE†µeíÝŽD®´,‹"I¤c’DZA17´S©*¯©NâP2èo1LJsʪ`¾Z±½Ó'íè´ºfÉ•'ÇT¶¤Rí¶æÔ Ã·>À?øÉñIñd3°5Ÿϱü^&ÇÇd“ UÝt7عíJ«•· u‚ÃbòœÒä䡻W™e;£Sloo£[ W¯g׉ául¼S•ÿ<^?e8k±UA9=¦œ!ßÓÚd«2ÀÕ†&_bËÜ/”BE#$™©˜­jb­évÚtÛâ8AIõqÅ’+{¿ûYŧ»°{µzÎ>?¿þÃ?ôœÏ?'=yá[7i’n÷È–k¡H’/Ñ‘ð"j… ;4~¸kbFg70&ãü¹Y–“¦§€™òÆ Ïø ;ˆ·¿ê%Î:œû-µ ÁÔs@£>ããKþÓ¼„òÚ+›¢;-6ý×BÀ𫝅`¼;&;ÜGwzŒ¶F“í=B¶Œ6#ïº~mî)NÅ3wþÆç–4II·G ¦^^4j ˜.^ñTÑÑÙ÷ž½—‹O¨3_aó¥g̈…sÌŠ’U](EGhè:n‡1RxöÎõk?»¸¼æî:¬Ö¹¹‘$ím#þ÷ï=ë4’“ yºù´æo¦Cí7»ò³˜€H0ù‚tØ&Õšl¾DGf)0¹a4ˆ!ØÁ˜±×¬v–´Õ…($[ÐÕÀ’4>í]`ŒxíÚžåŒw÷MíDÞÁ=’¤§· 70eUƒŸøãÃ}̬Ãh[2:Š4Iü œO}5ukcaº§ÑÑ/{ï+ޝ÷%ž Û•t{‚NGÒj -hÅÞŠm•ÃîØòÔåŠñ^Ãbá K#ˆ”àÂíŠçß“nˆjJc™e0Í`¾(Y58E¬´ 6`‘×̧%‹IE^T”¶Á–9Î ¬‹!Ðð⯠²Aq}°(ØÜø§ßþ£žSÿhIÓÛPÕ aà¥r‹UÃ|VÐokÒ­í¤ƒà\ãåjˊ܈"¥pZ­iùà%tK¡t@Ø nöÂ'üÙqŽ•!Bn?;B˜e+ÂHQ˜Š8VLæsÙàLnJ^þu>&¯øÅ×ý•x¢s?A±Z1ŸÍX,–ÔMƒÒmTzаÝG)I(<³¤©+œµÄ:Çt’q|tÈb:¥4ÛÔÈ  ©kpŽÅbÎj¹`–e,—K„´M»Ý¢ÕjGA°–bÂßË0b#M9{æ4;gÏ´Z)ÈŸ|Íg„çÜàoù×`!©LÉòè˜0Ñèn©Ôõ|pç,M™SÿÔ½y¬dY^ßù9çnçF܈¸/Þ¹VfUVUVt7= îvÛÀ€=›A[†ÆXÍÈ#ìñÈŒŒq aÆHÆ#Ì"ÌbÆÃˆañÒ 1öÍÒ¦»iè‚®ê®-³rñÖ¸±Ý{îrΙ?Ndfµ4–hÀåñ“ÞË'å{ïFÜßïœóý}—rE×TtÅI“©­i¨Nç”Ç Â($ŠÀ8ƒvàREÜï‘$‘wJŽ0ˆÂõý0WÈ2<~bÊxØôÿCד~ô_þgW?ßû¾üÿ7ýGÇ¡R=Œ•m‘è<\ä…\fs ¡u^=´PösÒ|ï2ÅÑÿ7¬ ùöy¦È³à‘—¾žo¹k‡¶ Äÿó-Ÿït“ õÔû-gC&à *ÛìîÅ]kˆk&ã'ü“Å5JŽ(Sг–bñ€|xžÉ$öj6!|tWSRœ.6–¡’‡/HqâÝèT(É·v½/éf¡ëÀ¯ª5z]QhM±ñ¿ƒDÉá&õÆãX~u{ôÞá€0 ¤$„ðPK†žcÞutÆÑŒ(«Š›¯|ŠK.pþüy†£ƒ<'I¤Ò¬ß`}êå¥ÁC<ð)Ä#è¤Ö ¯¼z—ãÓÒY®]Ù%(º¶%H´iÐu…íZB)°Öád@Ù´œ,W¬êÛ9R)ÙS}Rç0MƒP1¡ 1¥kãÝ1Ã1qÒó ÎfVࡇ1)R<Úã ±Yð.ˆ‘âî­á½_û÷ÿ£ÕÏáƒçþƒ9_üÇ_ÿR?ßÿU_þ–ö½¢ú ´]£WZk®ú¬öI_áUt7E‘ÂP¢B‰^HÊĨÉ~vª5Óã;ܺ}€“Ë{\¹4ñVÌ•_ÄôÚ[^¹4y¤ S‘D·–Â)¨çL.^CÅ5Ó{5Óã’éÝ^R+&{;ÐÂäÊþg`WZÞ“ºËÐÇw˜.î¡—w7 É$¿æmX<â2XQ,¨ŠÓCtí(–|XqëÔñ%{èº$61fk®œÛ÷þäB ®>ãÍ“V$†—?yŸbQ@ ¢sØÀ ¤#í Æã€ÑH¦’(‘D‘¤iz+Ëé4ä츥Z¶;îE-HAS;"Y*霟¶w-á¼(²uT]Kg:´–DJb[p­¡k;tmitÆȆ¶”ı$NQ ¡r „ X‡Ô„„aL”%$QDè:gtC[z!Æ«7 Æ—Ï#ÔåøtŽt`LYuÄDFd [ã>2ÈQTuÉ¢© ¤Ãu:KO¶lï 茣®+tYSët„a„J|s: 8Ú®ÃuàŒÁ:‡L$»yæ±g‰W:ºŽùz -¥ö…7!Q0dÝÀÉÆ›À…!κ¶¥©=ϸ֚Ötl½ýA]U4e­k¬”å' J|³¯›†¦®qBzöM–ñÆô€^¯Ï(ߢ®Ú®åà`ÊÛ·‡Œóƒáˆ­­œ^ê%k µÖXçÈC0-ÒYdÐv mÛÐu¦m!I2 ïÿ°y‰÷‘yÓ¶m:l]ñÔùã¾äÞÁŒÃ‡T*b¼7¥<ìÔ$ oHf:"a¦Ù ÁÉ×Xª…f½l±%í:FVÒ ´kŽHwvÈÆcâ´GƇÄ8tÓ’D1”)©Eq<š0ü×Ïë7¯?z¦_ü ?È­Ê>ÑâÏSV3ü bù5|èß}Ï£Ÿ»|é•?°úÉ£·´ÿ¨p‹|‡É¤O¾·ŽÖèãÊÿ~½BSo´‚<Ï™lmóò½ûèF‚¬PuBPa‚Ö34k¨”Ï00¹¸ÏõçžE¥û劓¹mN#´Z È ý„xEqtDq¶D7ÒoÿÆ ^âÊ¥ WžA\£×1Åüb`僂§w_Ecɇ[L®l£â Í unÌ;Ÿ~Z˜N+^øÄ¯1=ø(“í-ZX<`²=$Q£=¯ÀAž ™œ~p‘Ô¨äIt§ýÿ'ÜšÉÖJe(}Fqx€î*Îüæcò8å=ïùcǯ2½]½âpXâD2úÏ~O’*A Ž8¤IÀ ’d Ìf0_x|;”0LCFÛŠÑȯ´g§–ÅÜщpà„ÅX°µÁ:‹h$΄mGÛÖԭÉA& zY$’À#t‘ø¾K2 $RB9‘ í…”þDΗ}ÑçÑÈ·ïÏ8ž¬+ÍÛ5}#,f ñ0ÀIXU%5Ôº{Ù˜ùz‰R‚TEÄIB6 ú)­n8¸wJKê¦c±^¡›iCRÕ#ˆI/"N"$]¶~ÇÝj¢H"EÀl~F†¬WMk•ÙÊ€y¥1¦c{±¥ž²à;"ÖœsAˆJSÏñï÷qÖP×5ˆ€åjMç•ý”«…ǵ¥ k[–óZ×”«%]Û0¹üÄnÞx)ûûûÜ¿{!zýŒ~¿G4uM1+X.WĉB¥=â8Ó0}p­†£ÃA†é:Ú®¥itUE!AÐG8N?n™Îú7Ux‰3†ÅlŽ^Ì÷%qWÓ-ÇËŽ$é1›­Èd„‘}l{Ÿ,•1HëhÊãIæ­/DäqD0v'À4¤¶#è C$¡ÖõÁ=ÚÙ mÔ£·µM8 í§4Ḙ‘e)£4#r‰¸ÿqÂÏ1¢ÞLýܸù¼g‘}ð2[»G€EÈ€@8¤M±v„í"L£Pâÿúé¿ÆIõAÖÅwî~ €íOþ¾ë§Xò–öŸ¢( > 8œ åÀ÷Õ‘E×9Ô%E¥Ñó5Å\£çwÈ÷/‚Öè®F… ÐAÒA°áù»5L<^Cut¥Ô0ó6Ñp7ס5¸ƒ3T:ðö µóp#¿KO*«6Æ=*Þ_5”\öp´|MÈ­[·ýi”rëÖ ´\w>÷nÔ E/+¦ÇwÈ·ÏQ¬æL—Gä‘õ/”Úñ ¨¤C7}n=¸EqrŒ.ª'¸’'äW. ˆÉó1Jùº( =š1Ó»õo½!'I”¤Ÿù]‰u޲rÔ#Š$qäP±¤·#ôC¶¶%³™a½6Ä Œ·b¶v"²>è% àþŽã´@†!=ÛuÞÄYƒh-Öz&EÒž`w/âÂù˜Á ÀYGÛ:t태X©hZ0gH@µAҥ釻\ØÛ¦YhŽš^_1ÈS&çú´åþñ1³eIYׄa@մă˜ó»[  ‡ÓFY†ƒY/£ÒkœíØÚPwšØ†$ALÇ¢z-­¬I6¶«G y/åälÎYÑ‚Î:”Ц}Îß!QŠÕªb1[%’uWS¯Vœß{@mÀt-¶k1]ç¿7³n„ °t¬Ök²áˆõrÁb6#L4Qb¥8;c>+èõú,çs¬1Äq̵§ŸáåO}š4MxâÉ«¼øÉ©ªš+—/³¿ãìŒsÔÚÛ4TåŠ0t]‹Ö‹gð ‡CVË%]Ûù¿­58Aáº7í’S-qLK_ÔÄa&âd®9)ÚJso­Ùꇸ¦c{oD ŽN†tZ0;«˜ÌY­k²^ÌVž2ÌbÂ0 ”ŽDHç°Æ¿Wú ¥€ Ć’ªsrº&mT TuMŒÑôUF/êù{X€Ý á¦~>òáë|è—ÿ2ÝúIêÕÝhŽ Z¤ëÒ"dI¡ƒ²:O– è}iƒ¸`´uÊýä%LóvNO~Ž/xÏK¿¯úѺxKûÏärD«ÓEKq6£89&öý©!ÈÇ`£Ü[9o\ Hüi‚$ñÌó Ô趇ŠJ´è¡—3ôYC¯üMFh½B¥Âéü¢Œ$òþ &DepëÞk(5`²½Ïdg„^7þéÇIÆõís¼üé—yáã/ düê„Éå'˜Ä y¦Ðf2ñÐt:åÖËSôm‡²Þæ: -zÇ”%ªïçt,Pn iÌdw—ÉNîs%«%EQB=G©TF0ðƒ“éé!·nL™\νõi§ ¥# I‘tXÚÿâ:A;T*è÷ Ÿ †¹ ?ØÝ“´m@ Òž$ ýQ7åÿttáè: ¡4œ pæaÁXâDoy?sçB&“¬/±Ös‹×kËjõø0 •O*òJ#iœ¢u˼«©[³ÙZ¬ƒíÁ€X†ÌÛ5‹yB ¢œ8‰HƒlÌxÛQ {ÔUE]k¯(Ûyø«mjj­išc ]gHû}ŽŽOp2$ CÖë‹yA1¿Ëj¹`rŽ4޹7/è÷3âDqvrÂ`4¤Ÿ ¹rí·o¼ÎÛžŽ·¿ýíüÆG>Êë7n «ó ‡8hššõjÅ|µDˆ€¬ß'CGÛ¶dýŒ¦®±Öb­ÃƒµÓuXa‘Ø7A:ß! /àr¦ƒV#ÛìoõpmËÍÅ Ó¶¨­-LgYŸŒú8C$`ÇxW³Îd!è¬À8AXY !lžNÆ!„tHjc©¥²Bt, Íra)ˆ½Ý”ñVŸ‡sõ‚ç ÖzåßoýüØ<É/}4¤CLü½|Š5ÖÙG'¡(Ñô÷>Nº‘ö5™âZI&Ž0¬©ô/óC?=äcYðmßvû÷\?ÅÉ[ÛÊ7ë ûL.ö »ÆôÖÅœB:ôñ™÷üIZ¨#ÏÈÉb&ƒ-ò<¥C0øñÆ*Aeûè8C!Ð8¯Êšm”‡`ÈWšZ ÐÎ*A_zžigÑÕ¥*˹2<ï }ÖšbU{öÍñ±7ì{¼áèø„«O]Ú½^Ó¶-Ëâ ÛÖ` .]ô'‚ªb¼½ÍñÑ!IÛ°><`8qáÒ%îß»Ïç¾ýí¼ëóßÍÇ>òQ^}íùh@šÆXë!ˆåªô°R’Òß±\®èÚ)¡ßïc­õ¾õL¡¶®½ŸLýx#½°'»ãðß;Óáœ% .Œc²x‹ÅªfÐè÷"L£1º# <ƒ&ÜP+](‘±|̤‚®ëB 7Œ›³…À:IÛ9fuÉ\×8„?D!Æ@Cš„õþI„´FHéÍñœÀ=lø¿úù®ø$?÷«^]+‚.žǾž„ñVËÞ6¾F¦Ú/ZÒ?¯óÜâÐ’&οþä[¿Õòßyç÷T?“'ßÚþ£lMŠ>»…fÀdÐ’GCT:òJØa±‘? T)š`!2LöãÚ×C檅($Ec ÞX+¸zVrëàÅ©Ê'ºÑ\Ù?GøÐÎSíz›PZ}åc¾÷Ñg-ÚjX4  š>ªxêPݺqÈt¹B I¾3b²{‘|oüâÆŠGžŒ o`ÕPœ.(–snݼÿh¢ý0( ÏRPkT()Ú ï”Æ[ºÔ>¬kÉ=Ôp3Èoã¼xÀË'}¶ Ð“s1ù`‡~&Âß@QäˆcAJâÈsVÃÐް,èÒaZ¿k‰¢cµ±ÈzÊSÑ}I ¶G1Yæøí—;Njmxx‡!lo ž»ñ¹ÏÇìïôR_°åÚ2_XKÃÁa˼°`ü±SJèõ@HÎ+ ão`€ dÃŒa2¦]·œ®VD¢g)«ׄ”uÍìhM öú8舢€ÉÖ4IÐeC'Ôm‡i,2µXQãdÇÎ~Q‡u†Ö4t¦Å6-AoÊrçŸ\½Îàìoë}ãíWŸÜÇ´îœÑÏbÖºÆá¨Ûœ`¹ªi!ˆ"f«Š.ªß4&ôЗ5–¦iX,$ý,¦iZîܽÃîäù‡‡ÇA€R N:꺡×£€^Úg¹ôú¦3ä[9]ÛÑ™Î;GZ‹5Vø×éñ?Â9‰ÖÓÃ%Xúlñ ‰v’ˆ­¼ç-¬…(ÂmR¹„”¼‰:¹1@sÎo,¤ŒçFJ„³Xç0ÖÒl˜L¡Œ³>VHŒƒÎZ‚¢4 Š#â(&ˆ"âXmT¸Á£wÄmXO¿×úù¼ÊÏýJޱ=º6À¹˜®K eÓf”üÿ«È IDAT«ÖÆÄqE:<ÁŠc¬["eçÇÎâÄf„lêÂ8~æßôMŽÿþo|öõÓ´oiÿ™\˜xWMWÁZCœ1=¹£3e Š-´]Bµ„RúÆŸ€nôÙÊ›¿Ekt´D¯ú¨,¤8[¡ë5“í  <3'ïÁ•s; v)Žns땦³×o½1E¥ûäyéª9j=D÷ òát½ð´ ž£¨c(Å¢@55¼Ä•ë)W‚s¨^‰ÚäDR7LÏÎÐMvΔ µTÒ_”òÎ/˜x»P»úŒ½Z¢G %ºË<…*ÈP‘$1âÊÄ‹´vèe^}ò¾…lëY@¾·‡Š#.”k63´M!E¡D%’(òŸ ðÃ5Ó9* §…áP±ð ıµ½á÷ !;»’`àRÉݬãþ½Ž²t$‰c_òì³1Ï=sn’öüÍØu^ƒS7†³3ÃìÌR·†A?`”AžûõYÕÊÞÚþ£×Í&o¤EW%ZÎYOï¡I>œýgYÌäâ˜Ü¥hQ£—•·¥¯¼¢¶XÞÞÜd~¶:=òð’J¹]‡Péyr¥¸þŽ«(!U¦ÐÍ1ÅI !Ì9ú,A%÷Ðu@¾³ÅdØCE ùåç7†?9z£ú Èsn”albÇæ§Þw:)Q¢ç9¦'GÀ9K-ʧÄ&Õ¥· RCÞó.o€®3W~i^XŠNv¼ðÆë¨áˆÉ8åÊÅºÞ 86V¡·îßxä%½ãg1Ôĉ”Q(Ä"ÒßA(PåpÒÓ³š¶cЃ|1x<ß‹nÁHA¯/ÙÚq¼£—¶SnÝì8[8¶wàÚS!—.ä#¥ á‹Õ:G i"ÈGÓziú… ’]è¥GKÛ:Œ8`:Öâ1Vé:ÎVK†ªGÓ68:úḭߧkaÏÒSŠÁPQ›5sÝј¤¤±Ó¶k±ÖÐKR&Ç,—kNËá`]jŒqÄaH;ÔÖ=²‹Kž»zÌ' >v§fQjó• Pç÷^å}ë/cïÜ9RÕ£Òk–g%r[ bʲb^Žû»orJ‰Û N«J“n(’g³¸xá"Irv²BâègNNn¡uE?UXch›†A/ÅšŽ£Ã)»ûû쟿Àññ ½~Æ·î±5Þáék׸}ë6'ÇGäùçßvD)ªrÅj¹ ·ñ¹õÆ”ë¦i(г¢ ÏsYµ¡c:g0m‡ 0ošÙÊÛÔØF㺺#êg8¥î8+Ö$! Òȳ}6¶Ì>×úÆ.Nz.ÛutÆ`œŸ ¼E±ˆc‚ÐCF* ±@]78 Ža­#Žo¢&Å#ü\IÄ„2z$¾u¿:ñ{®F´õˆ,øÓ¼íò×1Ìöi×ÚoÞÛëQœ€l ÷Ø=Ã|üÇ)›3Šêÿ&ËêÄédàwýÂÜh ~\˜|võ“§omÿÑÕ•öQý¥$yzžiuJ>HÈ·¯z©S¬j¦÷)Všâ…ÁE*S›ÜZé€|ÃÝW‰ð4Òå}Z ú=”°+G¾ÝCW ö‰XZe„“Ýüq’ÕöÄÄG†5-z™2]‚^—ÜZWÇ èßA‰ÝtäqŒ&nBâPID>è{yïÏQÍãâž_IÓ”¢ðØ­»s&ü’F³cÿ{Lmú`‰"B@‰ ¦¨¾ò‰W¢;Ë­{ËÍ *NÑMÅ•«OAÜùÕ{&h:Ï¢‰cA„${L¦)m»Ù} ÈÇ]ZLkè)ID€DB(‰KÔJòT_‰Ø›HšÎ0„ŒÇ¡gJáÙ­¡m[„èè÷àâyIIŽÇ!-ç&–íKuTº¦¬,¦ qÄ4MDg`3.eoÄÑöò˜8rM+ê¦fÐKÚ”T¦:ñ;¤ ‰â„óÛc‚ àÎô˜¶Õ´¥¡±-mÔ&’¤Td™b¶. ¥£ÆÌÝ®~îGQÃóüØ¿¿ÉÑÌÆðà@°µ3‚.†º\ðâólþ$ñ¤@|úYºNâBGª‚0 NÚº¢Ô†“ª¢‡c MÓÐï{Ý€Ö·nß ã­-ÀÒu-Iâ•°Óƒ)Z×~—C¯×dÃ!½T1›Í9¸wËO]£ßÏhë†æ¤à·?ò;È/°<{ýY¶Æ9wïÜæððˆóç'Œ·Æôz}^{ý îÞ›²Z/Èz Q¡kÍl6c4’¦Š Ãȇ¢ã› ‹Ô£±•5S—¸Fã:?c¢'¹qš­Ü3“jc±@Å1QbmGÛU”eC£k’¾B*ɺ*±ÂÀŸ¼„›8CE²n:zRÒ´5Å|IÝ´ÄaÂ( £j¡mˆÓ23ŠÞôÕK¯@ÚM†kóÙÕÏw~ûþ凡{šqÿOqmòuŒÔ>MÕâÚ4Mƒ "ÄæZLgɰ7b  {˜ŒÞËÝ£÷qãàÇAýa²DúŽïÿ~ö—žá§~êU¾å[^ú]×Ï­»Ó·´ÿ¨Ý}Td)êÒÓ;ÅÜpCQ°:DŸDP5^K&{ÿ´‡è:±·¢8ñöJÀ­û'Àùö>“‹9¹Ø¢ÐÖÓI¼üò«Lvú¨óUCqr@X,çzecúSzOœ8&?7"?·¹âx Ùh·¦8”¨~ã=#âóÛʧ_'‡¨tÌt~@qê“ft¢âØÓ®MÉË+ z‰yåÞCï €+“ÝMèJŠîjŠ¥öÉUÊôpÆõw< Ú§±{žìÈϽîyÓ¢ƒ®O‰F’r-0Æ!ClaYæ…ô8¤Ö‚ŚƑö$Ò¤uXéw=q¡X'próxÒ ’d0@zOš$ ‘NÒ™Žù¼ã`Ú²\5ŒóŽí–á0$ßJŽ* ;»–~ßÒ4ݬ8>[²X4DQÊ ¿E–å8ç)‘q’°Ý%Ü?:ÃIÇp¤dÀlµÀv‚ºëè:K—¦1iÐZM÷ÈUŸÕQ‰Ì$½Ô«MU¦P*¡ßë3XõX,¬Š%âs~“•ã¹­šÀô©Ž–¨d"H÷¡t›Pè(ßw‡_<½Çޡ僌·}ÎÛ©]C×ZŒ~/¥,#i«ðÑûí -AÑbš¶åää”ù|î#LghjÏ–±Æ°Z® d@)™ÏçaÈ Ÿ²XVN§Œw÷ÙÝ?Çë/¼J=+1qÇÏüøÏòÔµ'y÷{ßÉóÏ=ÇôðOúJÝ0+Ö¬×uÓ°Z-‰Â€T$QÀÝûˆ¢ˆD%Ì?% #‚ #´'Ô£ëéÊ%¦ÖÐÖ¸¶öÍ4NQŠëU[“ÆBv˜ºE8‡)ÇÝ7¦Þ¯ªŸÄ!‘ðêÙ@ÄHa Wàâ<”SêmYÖ«(ò4`kHqô„a$¤=ÿ·:'©æKÖóIO©”(ñ»þ77~È -3Š>»úyÈDm›}¶³ÿ’LmÓ¬—¸uO×µDQä!,ãÏÆ´Xc eà•Àºa” ]ýÒh—ß¹ýÝtò× ÃÍ_ œs´Í>çοûú¹ûÖöHÉÇƒÇ VÕ5JÉ·s&Q•<¦EÏ4ÅÒÓ;‹;ÅìÚY” Ö›Ó‚­ Úæèy¦ÇG'%/üöÍbc™ìî¢vrÞùÎÏßXÙÌ™ž ›ŠðQŒ–®™êô­íÐ ^n¨aFž9”<‡ŠÎÐu€nf¨(!í€ôÉ-úÜÈd€W=EqzÝ ôê”B› ;g5ÊQò2“þ½~mï’ÇÃMèïê’ˆéí£ÍK?C¥)JÙö#?‰[w§P–h;õo„H™ìo1¹xvA·§è‘£¸_òîwE¼øÛ†;÷,I°³'yâ2Œ· 79ÖùN ÅÆ êVàá›G,m#˜-ãýyý'þ6ëŒÇâÉÏüêK|ßO~˜Gs.LrþÚû¿„¯úâÏ!r•(5 Œ6·-õjESœq¶® z½áA>$ ÃÇj\éO_ŸmýøBÖŸ¼Îvï ~å×~ïý‘å7^xT¥|ñûÞËßûæ¿ÅåË—iª’P¥ˆ‡ó gQqÈøêµG×ý ÿöãFñ²ŠpÎ[4àŸà©k¿ûú\KûOÑTè® ¥*PÌ{`J^xáò¬Çä܈|ç)òÁ&ùÊ®˜Þ{@qú¨Ô–ÉÖ„ëÏŽ T:xäÇhc³Ðs˜G_¬jÀ¢W‹Ê¶(–gèE‰N ¢‡Š=UI%J&;Û\9?ÙÐ>5EQQœhó€âÎV}´\‘+òl“ÝØulqýúSZŸúÔød“áhKŠ&$'B=&£Ä;Êu5º«yùå[èÕ):v\ÉwFì^/ÙßJyéS#&çùÐçmvÆOð­žŠæ Œ,Ù@7Ž®tl¶*wïXVsÃÖHD¶Ó\ ‰"°Ò[ÝëÐuçE!Úïnƒ@`;Á×§§ŽgÞÖq©[²¿Õ0¦TMGQt¼øÊ=>ùÊ!7ïžRÍ4-U}ŸÚ6dy Û —) C²3쑪Û:úi¦14e‹ [¬h±¶C%=ŒñÒºmè0 ¶züõüU²±âÛ¿ñ»<ƒ¶¬hšŽjÝò _ÿßòêâ_ðßþ~áÅOðùÏœã]ƒÿ‘¿ñ…ÿ€ûÿèþlV²›Zz@},9Ö0‰÷>^q©·`ÑÕœEK‡Åréòó7é”a`m@¹.¹ÿ>mÛ2 r„””e¹¡ œyecÖO ÂÀ›Œ=ôvJh³ƒ_ýÿ_òg¾ŒŸþ‘Ÿà×~ößòǾêOñÍßñwù;ßøMüÚ¯ý:Ųb}p̰?dY,¹ú¶«aHÓv¬Ê#ziб>°ÃIÁáÑ÷ ˆ£gãñØcâqès[r\6TQ×u¸nCÑ%"ð§Ñ–þg„ÃE!V€íjÚ¦#ÊRò^@œ~ðïâœcçÏx+æ@:c=~.¿øñ×ùæüA¾á¿~øþ,ø¾Åÿô?ÅÅÝ1_ú‡ž#‰ûD‘Ú°o6PMDIg ʺa±:A»ŠÁpD?é{ñÕ†mvý³¨Ÿoøú'øñŸ—RÇ3î|ŒíÞu¾ÿGÿå뿎ïùö¿OgþÑüßø7ÿg~ꇿŸ®3ÈÐC;Rdè½vNn¼Œ¶ŸºÎ“ç>»³wÓu¿„ˆj„uüsüØÿyþâ×þ?÷óŸø]Õ9yù-í?q•娤czºbzÿùX¡F{Àœ¢î¡”§µ~™Êžw¾Lž²‰7M+ê‚é L)º+)KòàFèj½Qñî£/õPÂÃWEs­ª‹)N КÉùmtc¸utàùóë>èoÊêÊ}C'Eé9út…®KTÒó|ýT¼ “ȃš¡O›i:^¡gCpÇäY$ä— Tk@Ptù A /PÌ5Óƒ)/Ÿ¡â1ºƒ. \1¹ð4ùà²Ç¶ÚJõÑ4èÅÝTPIìOzôª£¸s‡ëO^à©¢ªeÈ‹©$QèˆáåéOÔÑ¥`úÀñê+uåXíHêÆ±^Kï8t 2Ašy¬¿ëÆx`×: iêS–KËÁQÇråXÌ g{KãAì0u·?ò§-IÜçÒås ²ˆ@XZSñ‹÷ùʧáɋۼ1«p‘çÅŸ­×Œú)ƒLá4Ô4˜¨e±ªXU A°À9G$=Ûa霣—õ°íã©m¼éš^µ|û?ùù;nóÄçMùê?ºÏ‡^ºÉ?ò×ùÓÏþ%¾æ}_Ãßùwÿc²zÑ¿]²µmH _KHwjÊg:â-ƒ z´ „A‹>9j”& º@n¬ç%8Ï-?:>¢,+†ƒ£<§ŸeÞc§iF àèèpô²Œ~6 Ñ]×±^it¹fy6–÷|ÉàÿðŒüêGùò÷ÿY¾ò뾚¯ÝÆT5Ã^F2)ϧ–£Ó.^¸àuÖÐv-ÓÃ)ï~dzìílãÅŒ¦mwÛ„Qˆo ¶S׸ºÄÕÚS Û[.°Â[X†ˆ8ÆIž$žFŠdàLG+­ôPÊÃ…5~È$Áº€ú¯¼åÀWþáw É_ùš/åò—ùÁŸú0_ñÅïñæhBz-ɆÓ+¥D„!2Ͱΰеk t‡  ÷Ñ0Ì…‚܇œÄK®\ÙõX}Óш;X>h·Ñ—?mKt âÝôíS ­™ìžçÖòê ÝòÈÓ”ò,‡È Ë+ò$'®B¯´ ”ÜâÊ…><™€>Ckã½/Ú]ÝdºÙm«(Eé5* Æç¼ð ³èÅæˆÔøÀ‚O¿rJšôÉÒ!Q¬èZïϽZ[Ê:㕳I,‰cˆBAJ¼ÄZXv0_8KǼ°ÌfwîùU¿'ÈG’½€sç#Ò ªÊÒÔŽ¶ñ²ïõÚRÌ ÓÖbÞ²([ÊuÍrî¸|No•u¬× ‡G-ùö„‹çv¹°Û'î'´. Y¬(µ¿¦ŽB&ˆÀC ºmÁ­iZÃîîÕ2àxÑàXg¨ëŽPJˆ$­ñ¢!)FYŠ”Ñã¶ HòϹE/Œyã¨bOk2ãDÀW<û'8*ïsu?àåã†Ø¥Õ†þë!×ÚwTØz—üüúßð_é?Á¨w‘HEÄÊ ©"Òs½‡Vòè,óùœÕºdeH!oI’ije¬a0Ðt-«R“ïN¸výyÆ[#^þä‹Ü»9e½Ô" Šb\×ÅþÚZëH¢i| yþíoC%ý|Œklg½ëgS#£•ÄdY†³Ûu¼qû6ÃA/ü£˜‹.ଥ3M]o ßjLòf’NäÙ9"Àg¼lì›]b¢”"Q½ÿ—·7²õ:ë;{ïwØïßoÕt ÷ʶ$Ë#ñÆvLð²Iâà°Cœ@ tè•‹þLH/¦î4 4´Ó@c°·§Ø`Ld[²5X²­kI÷êꎧªNU½g|÷;íÝö¹u¥E²–Ô¦U_´J÷T:§j?{ïçùÿÿƒÓºuž¾*¸/h/¯yèñËß·½ÜÇä%ÙÅŒ­'®òóžÍ¢öÆì_ÛesÙ;>øú¤õ{’N°ÖÞ¹‘ DèOÿ¢&Š5aà“¯£žËúñ_a`hµ/²»÷ µ XêwÃ.àøÜîå̩㌆[´º)ñ"]o²·CÜê⤠ÝO½ajÑ3ºiíÅdù{¸4ü]œ¼ðŒçxäþɳZ?'î<þ¼ÖÝ[åÌJãÙdÂ…'Ÿ ûÆlô$Ç7HM–Í1³("h·Ð*òîÜN JíqóåBà¦æÄê2„+ †»hÚœ8³ fÊ`X»ê».z£=ÒÞÁÙ¯?­í*;H"´kA4„hŽŽõºŸaÂÈ÷«ãw1áS®Ò$ño^£#Ž Ùð*f2']]f£çmØY1% ìì“&º)Úy)ÆÍºíHE›l|íàzžêÍ H`òêÂãº}ˆ…ç[_90àH»­ÅícbASh—KVÒ‚0˜" ÁþÈ2:òÒ‚“´Ûí–oë´= * ý§µ£Ûƒåe(#7Žù¾ 68a CGÚ8¼áÉdÔOkêÒR×P6‚ª©)ÊŠªt€¤˜Á•§£¡¤×¡dVÎ8|ô·Ü¼É©cK,¯Ä¸0`:#Õpn×Ûžý*/¾%%jy4@+N ¨©ËêÆÐÖ9f³³Ù …4J‘$ ÝnkÆã‘ïÙQ§Çݯ~=*JpeÁöÕ}.>¾GS ¢8AÔ–¢±€à«÷=Èݯ}ozûøÒŸßÃ+ßüzÿ:[-¶vv9u¢‹C²?Êhœc8Øáøé› ‚·˜ \½váÞ¿ðV°Ö÷ð“¥|á´MãML8ŠÙ xš§Jjd ipLMEYÖ8WQO ’VMºÒ÷…1°4eÃÖî¿þG_àCÿÏ%ÛÝ;xŸ>ý'²ž´è¹†C*`¶x›í=.>Pqâ%¾ï=šÌؾr‰V™V§C†8çØŸNEÚé"´’6‡£#¾¥¦Bä‚‘o=h‘=—õGPò)¤*‰õ>Ûõ=”³CDòÍ$ç©­!ÿþ7?Àÿð}ßÃÅ­!ÉhÌÞÞ6ñÁ_g0pødé³Ýl]Bê ¼ôô÷Òëö9wíWžñ<=«õóÅ/=ð¼Ö Ç…+[ÿ¾ÑKH£ÄfV3˜Mý ÔÞ÷T8PΛ\£%èÖ˜Y \kÁébŒ@£Ùè//6!‹Itb >tÐû7Ó1ƒKO褮úÐú ÇY[c¦9º³ä¿@´ÐnŽ!BS+¼ŽÕ”9Ú6þú1.!®üµ$–œXÛĬä¤%ˆh7C÷WAkÏÛ™IŸ¸b™”=LY•5°ì„u­S¨ÁLbÌÔ`lÆÆÉ¾§ÁGÚº•w­y9ÕÖ€Á`×3ª H‰°£˜‘°ÔU‰‚éÔ²³+Ùß÷À¥‘©Á V–%ëë‚nÇ[µ‹ÂÑj ¢PÐë öx…$ìî F#˜ÍEéO*™,•ñ›p¢×ò=’x•žÖŒ·¦ -åÈC¢â„( ѱ¦ÝÑìe»TEM5i¨kG+*éÈ&ÅÁUŸ`*=lÂñùÇ·ù⎭‹ ¯ý;ÿ˜ôšK b~îã?L¶õ96Ö4ãÇò—–¼|}-Ç…«‚.ÁÞ%hmBQ[Îo8º¼OÔ ™eQÇ +É¡mSUغ$‚ HZ‘WÓ鄦±( ƒÕÃGY?óÀ_}‘'þ:ÅlNS•aDÕø“±«K”süÎ/ÿ&yYò¶w¿¿ýžïâêÅ«Ì&SNÝt‚éxJÓXv¦#,‚Ë—®°yü(íV‹ÉhÄpwíá6Î9ʺá=AÒjqüøqt¢‘Râ¬%”½Ñ t‚øhBã„d:35†(h'š¨ù?›0eʬv|ì¾ |ð?Ç׿L+´ W¤Ö IDATÜqrƒW¾ö…ü‡?ÀɰK,e1#kjÚQÀ´¨pE‰Ùñõ/€n[#mÎxxQ¦é­,ƒ ˜ïÏt¤‰Ã„Dµž–|µ }²`ÀsZ?~!eƒ’ Úé%Æ{çY­ñ_ï˜_úíðc?ø^ÊÀpöê“Ī”­(âôÍ'IvÔUƒljï7d¢Bs:Øøkϰ?yvëgãØæóZˆ'¼ªÇ1¦C9÷¼|!@hP­ƒ– ©ƒÁiÚõÚúX¡ƒ]äè~ŒmW.“U;h¢ûmˆCïÚ ¤Ï²5­Û¤=‰^pþƒl˜{#”6ø4­-bd‰®;Þ0E rǪmTc Å”™ÝÆÔ£›ráÂØSéº%Ä0¸Z’®FœècCÃÙ³Ùp€1åAZŒ1Sù¬nïaf!4×@- »“Åc.ƒŽ%i“q¶—H7sâæ›ÈʆlbÆ—xüqÁò!Áj¥ÈKËÖ `_’ç^nf*ÏË1³kâ°Ïü¬*Ë,‡v"ˆ"I¯ GzÛv(ØÝuìîÂ(Lg UmÉs‡\Ф’¦Cí]‹.Dˆ'-ÖI¤ŒÉ¢JIŽ…×½¦ÇéÛZ€äܹš¯|¥àÒSŽÂÔ4²¤ÖðNˆƒÄjæùœùWŸã?~ðø¾÷¾–µS£tFH¤=Ì|²Æt¸Â“/sõê5¢Ð‡¹\WýTUÉåóX9zyYþµç8rT=«õóßyûóZ²q?áå•MºÚ'ÛÝ=HÜ¢ÈFûdv§×lÎI{›~C²º ›ï“^]öIW cqã?Ρ;½L„Gß 4¦*1Ƥ]íYËfŸA%Ñ™#=ä3Í¥§Ð}Ÿÿèå ºr˜IF6Þ‡¸åŸDkˆ麿%˜INvÝa65d€¹‘í]æÂ…š‡¾ü(Ù66RŒi0õê‚tÑZ¡{štÐ3ˆV<:üã‰Ñ0ŸC`ýîyx‡ovL6¸Æ…k>`õéñ;yøcË»‚Õ­šyåeW4 2’¢VÔÀ|Z3ŸªiÃáà ín€1>SÇ QèѽžçŠ´ZÞ½ÛÝ¡d2©©ª†¦^—æÀ‰§$®ñ*é"°X®Œ€%*VWwÞ©¹é¦„éÔrö±œ¨xü¬`6[ôYUx½W+„p4µ£²5ýN‡Ú8lí{À¹54¶BI¿pš¦¡ÛíF:i ‹­,aRrÃ"Z”'—*ŒÙá_ö>¾õm?ESIÞÿë?É'äoðpÌÑX"¢=f×`þØÑ<5v¤%t#ÒåÔgÛ/îpÓÑC(Šy‰îDAÃrg~°è¤E¬lãádÎ9òÜk¶«Òã’ë¢@”9£k[è$¡Îçìïï{Ô‚ ¥¢¡Æ• Âzú÷þÓÈüΰ¾ÜãÝï}'UUñÉ‚ªvÇ,/¯ñÔÎUêº@"eÀl>g^r“Å^ ôÂÛoáå/½›¦±èEÂVUGauþ4²‚ÆY Q„(C²ËW¹rqHg5e\ÜóèEþàOÿ‚}þkÌç5«í„·Üy ¯»óG—–ã.]¢,(æ³rO[Q™Ú¤äï~á)¾¶Ëg.lóë«|ò¡'ÀÛn¿Ù›sbE!1Æ*0yEÝ–ÔÌK»à$ öfc„t’I-`l?þì×w–:âÅüË«Þþòž³|ü£÷ñó?ó,ßúi’¥' ƒ©MóóñÿôGŸäÿ§f¦.q(º‹Q4þ{ÎÆ#Òt‰ÝÁ5¶æ—0Í3ŸàÎ;[ÏjýüŸ¿õ‘çµþ˜É>gŸ]º‚1(çœ8róÂÍë0t»´˜bêÙx†™= ¡FG€h‘vWHWS´Þä¹ó‹@k‹3¹æ½a4MndäúbL®¦`¦’ÆMd; ;]Ò£ÇüiÀå‹j¾è Í0¹ÁÔÚStº ÑBÒ…P8ã "‰™FMI7ŽsB‡ž!{èåâÆnd|Ì˜Ž›§eß°û_@œ,^‹xKÚíîø¯mΞÿZÇÐi‘®Ao,a&cãk”eÀζ`¸WzaZzS‰h°M@Õ8*'¨+A9äYÃðrAw¥E§† :iЉ# ¼âF,h~8'B„ŽÙŠÒã”8,`%X¼6[9\ l- â’ÍÃ!ëëÙÈòäù‚ûÌ9w^0Ÿ*ÏZ •X«ÓþU®eç*œu4¶¡·Üõ|ðÚ"œ„ÚQ/‚Ê˼B’#ãœÉ|ŒkI[ós?ö ÏÐyÿâÿ*ßÿ©˜ßyËûý øÉò~~’÷?ã±oÿ&—¡ZÊI—NÝn‰chuGSÇPÀ^)Ø}Íeò NŸ>M¬¦û3ú‰ s¸x£IÒj }@Ÿ´ÎQ…/W³bJUU8,J8Ö6R.|µ!¶Ž‘ÉqαÒé1¯æˆÆ"ëÆÇº†Á…‹üüoü{zK=.ž¿È¯üܯqíÒ–gî ¨hp¶AJéá\aÌx2aRL=ä,ŽY[]â;Þø:Ò4% C¢(< ”:ë<"ÙÙg¤F]ÿн¹eg^ók¿ý>ù¥óÌ‹‚vXóÂãGyÓËïâÖ•6‡ÛQmÀ9*c0¡â ¿ôûÏxÏ¿ó7> ÀG~ð;ˆ¤åeÇ–ù‰×¿˜ß{ð¼÷÷þœõnÂÏü­oá­·ÆÖ¯th¬£®=k& A†aùávc™ç†á6yQÐmuXé/±šúVÀsY?k‡dgë>ôéÀ£Âñ'ðßùm_ ~ø_þÊ3^ÏG? ‘®8†“gJšÞ}ˆÉq¾ïŸý¯;óz/øú½Ÿâ‰Ùøè*NŠ×¾¤æßõ¼êÕÏný¼õÛ¾åy­?ˆ„3·ž‚Þ3EVŒ8{ök Plݶ¤½M6ŽX²La&Ûœ8±ºƒ™\Ññ’Ë*gpLeЖo/¹!ý5tØÃLð²ø®¸q˜º€bê¶&¢“U6o®¯“üd9»|É÷‚ ‹î'èN‚Â÷éTûŽÏcÌ!úG9fãè!ŸÊ^d;‰lŒ÷1&&íf˜mƒN‘¶n"])ÑÆÌ,ƒñ¥ƒ``36=?¸v¥i ÝÑdÃÌ¿Ùm 4¤í#èN‘™r ±DÇ}@ÓXK]‚$€F"qˆ@áPx;ŒÖFŒ¦‚Y^£vj‚( P E’8t ‘¶èØ- WŽf¡”Ó±ÀY¯·º‚Vâ¡Weá˜N³©ÄU éõÙ‘@„ЏÒí9êJðØEË#ggœ»d™×-‚8$” ꆱ)sº­.“IIž7HUÒïzPYKÅ8k™dŽª9z¬GÝÔÌrCQW'ÊòSÿñ_0ÍÙ¿6%Œ«·xõ;‡¼éEgxÙÐdcËq¥8²t„׿¸:㳟Úåd¬N+6ÖV·”Üz¦áÉÒ1ü*Lµã…'¢€·¾f&çÜ?ÇÒ`™ÍÍMt¨8¹–ÒJn #ƒ(¦iÙ«R"cr‚ ð…Ùz,EE(%Y9¼L´” ÷+Júaçñ÷qöüej ÁqëFÊÛ¿ý’Ûê9M=ÇåPª‡¤* u-ø³ü-¶,±ÎQ5 QBPVo¼õ0ïzÕt¢ˆ¢iVº —ëŠ Ô8´ö-³(È ˆˆïÎn„EÅÝ~‹¸ ÐaLKÇŠçº~®[mýàÚú©Ï­s¸ý‹<úµÇ!ýÀÓ¯.u›ðÑ?~óÙÄ«?øÐ$^õÄíÜ~âõŒÊkL ™ÌוDÝ^ð¬×O¶ñy­?eÔdÎ@騨܀Â2ÈvsLuÜ:é‘e6Ú+˜lÁó!õ>)yc§èø¦Ì<˜òh †0Û¤«kg¿²CšV‹­ÑqBºš0¶èxÝ4dÛÛ 3`­ ƒ©EW‹þVØó©+‹ôb‰© t¼ì_t¡À6` «Gráâ9t{Ù+€è³qô›d“gÏž‡ ²ù9Œia’Ç@‚8‡Â ŒsÞê·Ðqƒ.Œ›a žäÇ~W†Å€d V`¦5i§$þÖD‰–Ï^u^QãD2@Z@-{§œÿÿ(n,eîabÓ¹ïÉ B坯ARÙE C`lï(‚õ5Å‘£ŠnO„‚ý}Ëùs5W. ¦cAS:°b¡ô©*¸ø<ö ˹K†™ ”#´ i•o×4¥ü"¼<ÜbjfTe•ÅÕ yn@[¦¹¡HÚ!VVL‹u]ÓN‚ZbŠS4äÅœ0”´Û-–O§$IÄþø*ãñPcÞøºM>öùËìŽØÎøè ܱŠS·.Ñ 7'‚‹…á–W9+™ `í¦€WŸêññ‡ö9Ñ‚ÿûK`+[CZãs´»‚Ha#ˆõ4ß•§BJá%~u]a­¥ÕjQä!%Ö Úí˜å††•õ”Ñ¥-T`ªšŠ8nãœa2ž²_BÔ Yëõ1¦ÄŽÆaLcò²$ˆ"„¤í.êÄÑIA.%ß9}Ëq^õò»ý¬aѪ?³ð\%Qê*ÂÕ–‹Wvùžþ%†Ó)ÎÕ Ü¯?ïïl!¦ w¬õ"D]¨2Ïi„ôqV ‘ÔUEQÎÑ:@XK -T•$,¯¥È@ •¥ÕŽøðóét—ÕÛnAw:DQŒxZŠ•”’PÅ„2^Ø DÐ]ê{¦<¡ †ùÏuý\ß›ë²P@È;“Ï’®œbkôܯÌüg³!d5N=I«]<‡ïñGÏzý˜Ø>¯õÇL­—R:RÐI|àJ7e£¿ × ÅÞueéÉÅ&³ìÔÓ-±é†4ÑÎ`:)« YÖ†bâ3vWº Û\Ø›¡u—Áþˆ`0--D‹&P´Žv9FtH{®úaF–3ØÞ÷‡ÅD'mˆf˜¢í_tÒ=x´™ÂÆ 0ãKúø-ã¸ðä´èsæÌ)²á>ÙP3˜ì’U ;#t•¢ƒ нA° ”S²|ÅÝï“ö–¸Päže±’ ‰!( î.B%& aê7)W‡)Q*Jj!TBúri…×B‹ ¢8a¶Z,l…–‡kªÂÒ!”7XÙÆc¢XöBÖÖGŽ(67––<íðÒéšG)xôëŽkWC*#±B’çžR¸Æ²» ÕÜ;•ƒ@(é%r¶AJþuq8eµã‡SÝNB»“P45Ó™AGqÒØš¼2XÔbÐWùᡵØšºA:‹•%a;"ÒIÓbœ•Ð ùýO?I+ƒã·¯p÷iɹÇ&|qÇñ’tFØ ™‡ ý\0º Ùÿšåÿ(zt@°[Žó‚*„¸ô ¤:ÖPÌ+DK‚§Ó2}q“JAu]Ç1QÑÔ5b!¥l·[8ë˜MgUÁÉ—žd¸7Æ5¡ ¨K$`ß ò „dY'fMË {ã * СFI+ÂIE(e>Ê¥ÝN›·¿ùõ¬¯­zí: -=~³–RRŠƒÐoeQÄ:" -ˆ çÊE[Ôoyc¹÷ìy*WóŠ;N±‡e‰²gk¤ôtË”H[#”É GÍêR)ARÙšÍÍCP4UAå,‡  e æ[{ÔI›te‰0N|w3,„ q eãÉ©‰ „Îë›×s[?Gcp¥á¿|Ásô¥Šæ#ßtâUSK¨"Šj”´|ëË'ny˜Õ5ý¬×Ïó]4¢.i䑯5/~ã}[œÜÃ% wÐbÒNBw fSd{û Yèfm»û7¸:“wÒë`ÉçÞÄ^ãÚD»1YáNœð¸NôºŒÉò¦ŠaæÈÌ såšOd‘mRÝ€L0Æ’v‡ ò„4aâ®oõè&ö§†ÁöÅ…8ace SG\¸ôfºW$iotµïµ¬€©Ùp@fÆhd%¤¤«k¤«}ÿsŠÆXÅ“¤ý Œð»¢©F@ T Ý•>&ìi¶}t’p@!\2À)‹Ã"œ#tÖ'[aq"@H±8ey® üÔ'ò8båˆAc%“½†¢ªQx§mKâP #èwý¾âкd}Mqh½àÞ{ Ožƒ2‡Yn)[PIâ¨M’(„Š„¥®n¦°.8ðxt³k­nD·—жŽÉdÎþÞœ0.‹MËZP•éBú€éÔGŠ2o0”X5£jE!¹ïC'øàÏý1ÿì§ámÿ×!¾û5+<µ;!O-ßu‹`½“pÿÇ<<Ì™³WYúWŽqîŒæË¼Q¢BÅM/jóÄî„ýeGðÙ”£ßz!$®„v”<3Pøb/¥ô§hÄN¦PRᜠ×ï…!8»8U´:-^üÊ»¸ç3÷`ÊŠÿôéyçéëßE¯ßáO?ûGüÝ7¿›8jñŸ?þŸxÏ[¿©ø“_àÛ_ùd¶çŸ¿¬"E«ó÷Þõîºó…¾¸ ‰R g©DÞH&$Ï6bk6VÚüÏ?óøÁŸú-æ& hœ$ËF¬oíÓæ Vï¾ )ÓyNGتÀII(!ŠoÿOúöÏT%/øÙß`÷?Îl:á¦þÛ\ú•ï'lk ’–°œbÆÃÝ!ze…Îò a¬R-Bgjp5s\O\Wx¥ÎÁLâ9®ŸkWo÷(’ÒŸðýziþƯ®'G^ÿx®ëçìÃ=¯õÇ”s4!F‹ “œÁÕ!D]¯jX܈L9ºCf*tžƒcJã[é„tu S&ö0W ?[cÌ("›ìz0eÜFw4Z¢{«¤‡©¡§#˜MLkL>ÃÌ$¦°˜"_X€[¤á:ñ=«l¸&$M5i{iqåˆ0FaÈ1f³ )i’.ò ²©Eë1'N†jä™:“Œl\úÑacógn?qð& .ÈŠÒïj‹¬IÄh1ÃD½¹ÓÀ\ùáDìÐtÑ•ƒ™BSC镸ÆV‚fq½ó! ¾ïëlƒ¬Dt»ãÑ!U¶åÐ: T!«+}ÀÒIZX ÙޘܲñœñÄ CE¢×~;÷Ïùd'ã•·†ÄaÌ}Lƒk—Ú¼´{„áVÄô²a{¨é~íÕÜÝi¾VsU=Âìèˆ{$ó]î~ÑNÜr„4¶@Eà*w0ÛDJ¤SÞ¬„#Šãƒ^¹[dÄöz}”’4•¥•´HZmBpêÖ£|ý+K eñö<Ûõsùâ <¹òð×PRqù²ó‰WMõ7žx%¼ëMŽÍcQ×ásZ?+kÏkýA6 Gh½EÚísáühG*7 uƒ)e¦{ ¼ëž*Xœø[èŽó™º³«þf0Ù#VÑ}á}Uº’´£;=ÏÀ  UE–çØ3˜ù“ç˜qQ€Ö1KœxqìÚ“O œ9sœå!.\Ùö» Ú‡ø.t©Æ$h½ˆÅ‰%fÏ÷¨Ì¬G¶ÑÛ„»¹oMGèÕ>gÖ<ºa°3`pá6èv@ $MQC¨ˆEQ—غ¡ÕŽq•EÇšÑîœ »ÀHxŽÐû~ê‡(LÉ-æ-ܱü8}AïZŹ_³t·æÂYÉ;¿û—Üc°ÝáÖ—ÞÌͧOÐi·Rpr÷Üw–»Š §Þx7"¯KdSª€'._%Jæ,¨±Háó•¤RÄÚóæ…[[šÆ"§ùëB«Ðn·¨›†V[sòöìfS¾ç­ï¡)+ªÊ°Òéñž7ýŠª¦j„mxÃÝo!Šc–Zm:AÈ»ßðꪠ×j±;/Ø\ÛàòS'OåÍox qù!²ð¼„TD_ð¯ëí•#(Ÿ©ÑB ¤äÇßû:Nîò=ÿúwý©šIÅ1CñÈ¥-nZís27¬tÂ(!]JÖ!¥"Yîqùƒÿš4pT³)B„ìü?FET:¤\Yæìÿ4ªiE…² Q¨°‘\ÀÒ ÐŽÐ:5M=¡ÞÏÉ&îvaìÙô2¥¼„Q ÜÂôlÖÏ×¹Ó§Ï3ŸT^cG7åòµŒ}üøßxâÕ»Þäø?{Ž[_<çõó|×㘩0)&t¤:F`/a†ÎS2ƒ×h-1t¡§Ñ@ÚMÑ¡ôH¡1sHƒ}L) [ Í S‹@ó–OÊ*jt,Ðùœ`°ýÐCË }¸å§Ð‡ÖŽl¯‚¨&[PÀ`2öŸî°!º †S0‹|[7óÅ^wH2¥ÁÌ_i6n‚tcó a&›ŒÐ>f*ƒƒaÆ™;_•c°³ÅC_¾ŸteÓ7Z÷Ð+=ôtD6ÙõQ_$à Y¸‡©%:°èôÆ ‹r EAfrVV,Ea)KIYYªÊ§LI°ÔY?wÙб;hMkÊòºÂ@`¨ÀúNOÐíB§+HSA¯'h%­!Ñ’^OÐï RÓ ”çÖì k¬…NG²´pæŒ iGl®[¾ü%E¶SÒ_*èv¢Ø?oY bïúÆ–¢p‡†÷¾ù4f1W‡UÕ×!œSÌçÝå6­NL„ #v¯Y9ì˜ça-£É„^·M…ˆZÐIz+)ȶÇä®áæC'1»I>ô©‡xðOî~ÉËX=ºGa·Vœ¿¸C÷ÈiÒõevGs¦yŽCt+â¶ÛocRÎiw5q2žäôÚ óÂP%ÃÙ>·v¯Ü¤¨0$l¢qu]š¦!Šct¬zÏíV‹v«EUU()¹íö“<~ö<ûçǵa­ÝÁÌ Z8 ¦˜©­ý=ÖW!…÷øVeC^5(¥‘²dV—¬oâ{¿çÝt:-@,dâ PJP®‚„È ð7¾âÆQÛ:ßöa(xÝÝ7³±ÔãÊÞˆë<†»@10†û/\㵯xË› f>§Õé·;¸Ê'•©º¦. Q’ãpË.[K%ÌdUIG@¤$2T¾ )B „’ÞiáUÕPš —T󒦨‰;TTˆ F†!ÄâÆòlÖÏ;ÿÞE6ª¿¶~Ž~„ËWŸââ¹ûÿƯÞómŽ'/\áo}ûÿ·õó|×­%:é¢ ‡iŒßpÚ Šâ´+кáZõüÜ ³ åü@ŸM}æx–o›“ö Wï.SÕ˜±G*€â^Q‹¿îä6Ř™`°³åµË!i¼Š)-Æ;œXóÁÙþΠ㌛‘å`fS2Óê†9kýIW×Ñ„ÁÕ«àŒ¼'6A áyÑËÒß*ÈFû˜ýœtu•´Û_4ƒ-LÙT’MvÐZzÔ[¢1^Q$Úh=ãÐ:%T¥¥(ôKãaY½%ÅÒ’B†—úX7J&SKi8 ÊR[A« ­6t»‚´ËËŽn×-Nð aS7¡z IDATàÝã‰ewÏ’ç [Û%—.&£†µÍˆ—¼,á–S 7 Iû’£›ŽkW%“i€µ>¾ÐZK][Œ±ÄVŠÅkðWÛÓ=ÉÖÖoŒ,­8¦hëˆTȼ6tz1ý^ÏŸŽ%l]qÌæMUQ#…ë !]ê°¼Ö&ŠcæÓ’¼(±1Ì ƒ©s”=ÊJÝæÛÞýÕeÒ´GY,储ÅòÚ a0™×4µÅLJºÝ)$Ma)âc&4µ¥.KlU°äÄKÕAâ• T²(°©Ô" Ö㺽.a‚µH!ÐZÓn'~è'`ãÐ!îzÙiFÙA¸ÄF?e4ž{µË¤"íÆLKC·#©Ê1Mˆ"ÁR?„YÅÜ,·Ûlêó#?úìZa:S75Ayþu'ª” ­/öþ„¿h<_w7Þõ+‘NÂÿø¾7ó³¿ü‡Ì Ò•µL…ãì•m kë]k”uNaæÈª$pT5yšâ6Ž.¯S—»ÈÝ=ßS× ç!hœ£nj¤ukQAH¨5 @(¢¦¡Ý8„³H©QŒŠDûØ@gqÂOW®Ó/ÿ[ëçÞÏßÍw=ô¬ÖÏÉ[åÉ'^Êð“ßtâÕ?xkÅô«ßÔúI,=¯õç ]ãðCU%ŒGh!Iãð€y¯Uã”]9ÅWª}°yÚëxTýD¡ãfd+½ä}²·¸XY¾ðëàS ãÁ™“7/â s2ã0ÓˆZ Ghí‡&\èТ:Fk˜É"À÷zêzºŒî&h¦dÎt4Ä]4%¦ Ðm â¦Ü%ÛÙ#7Ñ+MŸl²ç£ÝÌc…Ç3è@¢×»˜ºM6’1DG>=FiŒ]I?<©%Tïî­]Ы)‡œû6MÝ@äj G>·4ÂR7Ž0†^*‰´ ªUeqH¢–ðAÍÖ3ò±L§ ŠÔ²p$ÚG+› £QÍ`»àkNyü±³™¥—*.\ló’—v8}[ÂúJÄ©SŠ#‡yúyˆ (ÊšoVà‹d LùÀÏ~k¨gƒ?011QÔ"Šb%ù¡w¼‚—Üvÿæù¾üõÇ™–‡ P:ÉÞî¢îcK‹kæLJ‡ "ôÒ*½C«èt ÂÐÿ¾dmy•éÔ8ëÓijʪÂV•¿E„B2@ÅŠP( $ÁÁôÓy²ÿ>„«NçÆúùÔ'|’Ò·¼ú’D>ëõóÊלãÞ{¼»ôÚ×~ΉW/{Õwz7íK?Êw}së'Û¹ò¼Ö3S˜lˆÖ4]k…PV˜jŒ´›ë£µ8e£“’Mroa\Ïo Æx±˜Ú’])ÈF5ZÏÑñ1Ò®DÛ¦“ö$DòÀ%¬ƒAVî{2›+ n‘ö:èî²oúO®qáâcs6Ö“ö‘·Èr¿s\xtÀƪ%M`" òá(гq3ÝöE?*0¢ e¦ƒ^Õ~8áŒh/˜‰¿&‰œÁNFZLµpŠ•¹¿„·@o&ÑLH; &ÊÉŠ]tfºBº’™\¶\¾l) IU€ôWmR(æsÉlîO‰J-T@ âP`cIc½Ã¶©&Û8ÌÜ19¶®9BåP%Š,–# ãIÅ`«`°=cëêœéÄP È Åî)¹zuÎã§NžLX_‹ètQ( ” iû– ð¯¬jÊQÃîв; 8×QîZßá>•ñÝ’)3:A‹ÆBUÌf†0D±¢Ón³¼Üõ¬*ÙÙÚCXÇö•!h?t.mŒŽ"ªÜÑnń툼6^ßxÇj¥,AèȦ5Ö:Z¥9áÈÇå¼D¯ô–b’v€î*¦s‡[¬-iTÍr/à˜”¼ú–5V“>×T±)áÉÏÒ_;Š6±h¯E² AÒî ¥Ä.†âR‚ài(_ Ýn³²¼ÄháÝ´OE,//SU…1TuE·Ûf2™Šv»…Öš( IÚ1QäƒÄ¥”$í6‘NpÎa­%Уʼnþú©^!\ fáŇøðG>Ì;¿ÃÇ€¦w¼“ðÜ_mïRæšV»K…Ü}ë:ùµá—÷ùý?û<¿û'Î`6§Á1Þ1Ù„-â´E”v¨’.«'nBªEæoQ0ÍgÔu*À”9˽6J)œò%R¸0×`¥p! ¢F8eh9AGF~&!ü¡Àâ£<%1¿úÁ{xç›8X?÷üÕ+xÅ·<´X?Ás^?ßöíçCÇÇ?vçÁƸÿÔÿÝÄ«¥~ƒxÙ±Ûü*N~óë'ý–ôy­?ZKôÚ„5™Î rè0 ›/ÁüH  ìyÚpt¼é‚Ѷ×ÿÇ}ßë׊¦ÜBë9”-—1t1 ÙX]ƒ(„ÂzP›èøšaFÆ_b¹Ðv@ä {Þ¾ÛvèR Ec*oAÞ-€œ3/Ø$í%‡|ÁÐnÐeHV&˜ÉÐ÷° Eª-´AGx–~ÕYL¤s²Ý!ÙÜ7ÒŽòs€ŽzÆu†JøÖP˜xd¨–d“ mÄ]P-Z~8q=¶qšùë™–lmiÂ( |/¶¶Þ[Ç|ÞP•¢ÂпWA ”wÍÆD E]ƒ)jl#9X˜QÊÆR45Ø‚€’²¬ç[V¨¢!QÐPІÙÜòØYÃÞpÎ¥'CV×½^€N‰V„¡ÄZAS æsiÛÞ’ì&S?(ÿÌý{Yù7ÞÊ'xŠw¿ïwø—¿üýdók¡0¾0ÖAEak‚ØË ——º\¾¸Ãt2g½ŸÒÐP–GI·Ó&J<¿ã4{éOÊ-Ý¥8ª¦ ªóyNUÕ4µc}­Gxx™¼É)š—(I‹"œÓOoºIó²•CØy‹Ý‰@Úa[_åô·ýs^s×QþÉw¿’W½üÈöq¤Záèôû$í°Rz9¤RÄQHút$[7H%Y[_õ§ò¦fše´:mÛ·hÇ„MH¿ŸR–5q¬I’„(ŠýæÒ4>üºÛW(dèoƒ×{öb!•Â’®óRÈ/üïTú(ÿÇ~™X'dÿbõn:éiZ[_dvî Ì&û`»„q 8n;¶ÄOþÐxß»ïâÏï‚ÿô‡Ÿ£QúØ­Xå˜Õt›nšÒ4ýPÎgÌ'S\U"KCè@PHE+í BŸ¼Š€I#•³Ô¶ÁZ‡“Þé ¿!±‹“=¸9ñê k¯à'þÝð[ü]Þõ¯~–—¿òQ„Ðßôúyõkž@P>÷¹[øï}œ<ý±ÿÖÏKƒçµþP8olõ¬yt¯Mû¡nJ±Ú‡KÐr„6^‹ö‰XZ÷1Æ¢K±ï.èD°q¸‡¶mÚJ(-ÆM1Ó½Þ0Í.zýâ£?zò@¸¦…À,ÂȵŽIWR(%ˆJ Îkð7€é-bL1&›.¨rÅâª1rææ„úRžAQ[Ï}ŽC0•çC é?ÁþçõÇ #Úê¯ý1è~rã{Û¦þŠdœŸ†/>þ(ûKJ$]-øÂ}Œñº\¬¥©¡©´/éÂ"C»A‘^†‚%B *[3ÏažCSû^¢:©h¨(lCY¤™ñÿ’÷æa–fuççœó.ç}߻Ś™UY™Y eU0È*b+‚¶»¶Ú3Í ­Ò£ŽÒ£hÓ Eµ<*0(Új+öÂØ8*Òc£6.hë(öP ‚ÅVUY•kdÆv÷{ÞåœÓœ7"²Ø,¤Pœ¾ÏOfFÞ¸qϽ÷|Ïïýý¾‹s–ÊYDc‰¼…¤FŠë,Ö5Ô'–ÕeÉ`Å#¢ %-yž ÓÞÅ”&e>OR¦Ó”ß~ÝkX½þ¹ìœc课œÎ“þÙÃ^›oý‘oD‘±”÷(g ‹EƒŒ^Ú²ŠUU³q|•8Ši¬ea Uük„OHE+¤PTMM‘ØöuKUB|ñ}üÞŸ¾›Ç>ý«Y9ÞeÞL(c:¯(kC¿'éf5«9÷Á-¾þ‹6y™;d+\¸ú›‡Ïwg\°Ú ïw|ú‡YltþqÔ¥Ò'P½ òÞ2Î:jSÒ”%uÝð¡„Lk6ÖW9üJÉC§Ç¦±è<ï°6ôumÓ°³½ÍöökkkôûýC»¥T%¢PÉGêPt'• _d3£wüö‡½æ÷¿í›?ázÎ|é¯ÙÁ>ô6f¾›&ZE%ï0ÕœÆÕ‡Ã_¥DDP×TÓ1³ÙœÅ¢¡³4 ·¼D=/^ÝÅWI¬Ð:Fç ¥$µY …Ç& *ˉò ¯"žÆ{joi\àÉ{ Wš^T€’xÊ/HúÈcÏ€t‰þàïñ{9{)P.Ÿù]w}ÖöÏ_¾ó±œyü=ŸµýSÕš'?apˆ_è÷YÇŸÃÇÑÅ‘uq‹±‡ž=¥c8µAÙ[IŽNgA¨•¶Ö ‡NÃÀˆ\Êp´ƒ™5¡Å>5Á¯,I‚]}w5ÌPý ñÿûO*@‡6œÆ‡Þá´ }ª¬µ€Ž}Ëä Ií³á<ÈÅ=0#rA°¥SËpa‚¨a7¸Ë RÁàø™V´0>z!Êpù0Üi¹©©gôƒírÒ„«†iÃàø1ôB¸*1“Eû»=ø)?ÿ[Y[—¤YL)R¤óô ÏòŠàu¯ÛCà ”J‰cµ§j£ÈÛÁ“ÆŽImaQ+ªÒQ6 ÞI")Iòˆ"oˆT…“‚²jhêBÔ |èu[¾ÄWµ{œ¯ðMI ú«q^‚«H"OŸ MRf³”É(ã?½ú'û1?Œ:¡¯mv°Ã³Œwÿ7>û×9ùº#Òù¹…÷á{^ñ-¨<Å9Å¢ \ê<‹JÐëfTuM¿Û'Ž%Þ{æ³’íÑ0°`²4°(TD+ʺáøÊ&›ùI\å¹rùÃí³”uÃõ7ÜAåjfÕ„+“‹Ó rC,+žz*çi›]R¿Ârï.ïÿÎáó|Ó½O¼¡ 96ΈÊ+\ß ŸCqâ˜o½ŽÛ£X=C¼z Vd4UCSV4ÖrþüyÒ8a0è£d°f8èc{NY¢ý Ó¦T᪠å»êN7˜É’&³ÕrsÁìŽ0î~ûï3X¬m:Nݳ¾žQÕ`kK§.ìUû¨ÈE1©J¾¦‘T¥ œ54@¤žDCì®ô,¬"i‰T‚W'e3Mjˆ,ueñ6b¤ ›¦r¸Úâš9´ž#^X¼¯®FÅ•JD*À×äòÝNHwúwýëÐ-»énœ‡lð[qì¦Ð½ð?ø¿ï5ÿ”y«ý%’H%ŠÝáñ¾Á[È‹˜¼›Rkö¦d$±"Ž#’XRÕ q1ܲ}a›Ùp«AÄž,Ó$:¦è'¬÷rìØ°;5,ub^ô…ÇÙºwŸý9w|½>|nÿæÞ[³ºÚá1·ŸFg)³éVdÅ“—¯ÇÎWœãßþëW"Gdu©ƒèÞD¯à|°PØÝÞ¡n–úý@A¼·8k±¶AE¬5ÞƒmjZ-)³é„Ý]‚µõuŠN§mÓ„VNü4 d¥@¸KÇoý8 ¿ðžûÂoþ”ë9ó¬_[â.ü åC¢‰YøpØëYÌ ³É‚ɨd46”eElKÖ{1½,B%5Mœ“õú Ö–IâïÓÝ=ö.]ÆÌBXL¯«YZÍI{*ëBœ•  ̉!R%Ñú“«O?¼ª¿î¡Ú‘ê}áD êFÎ>x_øí/}T÷ÏG>ø8N?æ]êþY˜”é•þ_‹w\úêG óP¥ Zúe„‘{h—¡u‚îgÁ¶8MƒGO[P›ÑamZîýit¿NJýð3¥‡ÒÀš@—z36¡h¶. Ùš\E냎FëºãAkÄÛ_|§7iÚ‹/0èÖÿÞÌÂeÌp¸`xårg• º1HR6n½ùÎô°›(0~%˜B WG§!Êéá“ÔÌ!éÁW8!‹ØN¤u¾Ø‡—B"—Am+éùoù]h$JZ’XÒ_‚37{{[ÆÉë'ðÞ’ž$‰hJxé+¶ItBš‡˜6aff™Î=ðDZ7!‘ÉGeŠD*ðŽ[×4R!Uã|M,S”8 ¯© á±U…á¼oh\BÄììOf¸––s2°sq¢©¨œE%ŠLG¤I|ñl°q¶*A‘¦ -$cº3#R O½ÎñÄÓÇxË»Ä[ó½—}·ãæ§Y\ÇCg·ÙŸX]ëÑ):Œç»ô´¢(·¹)­9½D“âŸñ^ÿ“ü‹|=:_EtNa£>sS3ŸÎè„ðà,® egk¬uÁMJl]ƒ!?Ö9Œ1LFcò¢ÃÒÊ R…¹ŒT*´p"…¤aióæO ô ø/ÿé—>¢õœù’7â;ØsD¹u/*]Æã‹k*겦¬ª2¬Gʆ8‚(– •ŒY4™¤tz]:I‡roÈι‹LöGx,‘è,$‡¥½i¯‡êt‰Ò%¦DKg›_qïá@ò·¡)¡ñ ¯QB‹ƒ¯däiΞ CÕg}Ï<*ûç¡nçäMïzTöO7Œ§+Ÿ6ÜôÀ×ýñçÀ­f :¤D]D‡³Ò0tÕàF ËôpV0œLîN%:Ö :.P<[‹„CQW9„2…´Dw3½“ §£ ‹†ã²ÅÔ’¼­­Ñ‘l+ü‹Ïƒ¶Îœ7iغ°Çporx¹B :F/-cq؇Òi7TêI›k‹”¥&7n{Jp™ZÌ,|ˆÆ3œ̤ F ½Íà‘h†—·Âó)ýÑlA(A¹vpûŽ7ý?ÈHãEØ4Þ6 -qÂJn8ðô§t¹íóbí0gÏq~hÎù+ .ït‰¼$v!1jÖÔT6¨ZU Ê{D“d’ÆzšR œÃ>È‘k¢cº†ª)±¢A5 ‘ŒðI‰•!‚\Õ%¶±4¾ !^FÜóKoûkð|¬L©mhQè, –&MCU•˜¹Áy‡Öš;žþ¥ô^ò³Ï£4’Ù°!ÉâN„-S¬Œö§4¢ Õ[” e]"„ MS|ãq¢3GZ6L®ÌyÊÍ}¾á©×“¨u\1ÝÛc$ß ÀÝÿ¥fb+«=>ïæ3t;K”UÉå+W™LfäEFž¥X[Sϯòƒšt6æÆÇdGv §^ÂþÙwà;œºí pù Ô.€ð×ÔØºÂ»0€µMzû*ÆÙçì!ànœµ¤yN’$aX+ÇÊu·þÞGö¯ÿÍŸþ´×sêi?fwî÷(‡;Èx^à‹ðÎè¼Ä¹ŠÆ7Ì›†Y]3oœÄQD’jÖóURv>ÇÙ œ¥©› ÁH¢N—¸ÈˆÓ’8 Ž=² D¤Áþôuo{Tص•ýlX¶i”î@F¬ =ÆÙóá0æ ôsbÿ8/‰ÜÆgŒ¯|ú·=bü ª•¶UHfçrh¿¤"Tòìû„Å!ÞSbê&’ád-3ý%`Z@=}ø³fº€± þAÞx·b8ŽîÚàÚ95 V7ޝ¢ã¦ 2-à¿ìI?à ƒNçGÞ"»3†;;a"Üë³QD¶Ä"œ<ë9ºõÅ?¨ÔMe0å DŽ1¦mé´^gh®„K §ó9Z¯¡©–f&Љ€rÊpR1H|0j›L0õu›^ë3:Þƒ*å›~ù÷p"¨½w`=ÞVxWá¥D(OVDÜt&çñKXZìîUœ¿P²uÙ2;"iIÒ†³.…ÜTÕà¤Á¹_I¼SˆX!£I¸¨-XGì=5–:.‰jPµDÄ>ô’Û`Œ ¸LH…¤‘ NJð5¸a¼¯ð<–würû²û„Œ)ë†ùlF$iš„ħ¦f>Ÿ3Í(Ë)‚½ñ`i‰'}éW=bàÿ?ñ\ö·-ÙjQ‚¤$2¡žfó’ÞR†T¦MeÙÝž0Ïéô2¢Ä3¯§ (ùºSš+}ºÝ „Za<+iê·µoî×,.Gí‰Ó©bŠ<§“õ˜Í¦lo)%Óí' n;ž1H,n4äD·ä¦ÃFêÞþj£ËØáä:A¯Ü‚È×ð^ßüº>ìã×U‰·õÀÀi«x¥Båï‚à'Õ f—å3O~Ä@ÿÏâ;?£õœþ¢7Ý{?îÜâj‡}|U·¹²!þÑ45ûó9{³9¦iPIL·ÛÁ5’Bå__!IZ^½ kõ¼HiˆR<öDç4Þ;Îþ¿ßvMUÿ[`Ë >÷¦-îEÀvß„«KÑ´•¾Ôô8å쥯à‹¿ã5gûÇ A$oyÔðà%OøÇ-þv5’&\‡Ž•¨—ßv5š KÒ SyÌ´9´C0“ÃíKPe tÔVøý ½²L`/X=4FMéCªÕtÂpœŒŸ¶AT Tóà¢Y(tÖE¼ù»oÈÄ M‹†n2*ýí²Ã\Jqs†uå˜Ó7¢ýüà¨cppâT>xB'ý°ø†3Ù>Ç`sSî†S«íá3ºÁKb$ƒ*­Œ mzuÖ…¤á9¿øf$ ‘ÄXoi¼EzA,!‘ ¶ê:Kh³H’ÄÒ˜ÀØ(z Ç7cVû‚D5 ' [Û÷ß—â„ÇcVéO¬À§(ë±Þ¶š–FYœl6ÂW*X+ ‰åÀúU ¤B °^„"<Þy¤sxQòßÞ’¤}-•—,¯o')“шº*ÞÑÔ%‹ùœù|Ε«Û\Þº‚’’ãÇ7Y]Y¦×ï³¶ºJ¯ßã1OzÆ#þ¾òâ\#ã(TôeLªc¢X1ŸWÈX “ˆr^qõÒ6~¶@º†¥ Åmë}ž²>À>4eœ Òå‚^÷ÁÐâø‹ŠTæä®G½øðÎzt–Ä1㙡2ŽÚy–:9:I°¦!‰4Â[ÖVb¾Ã±æ*IªxâcÂ&{ÞÝçøw?û£$ÍÞ*qï¬Ì‚ÐÌ5mLb«›VAzÊ-”BDªµ¼Ê^å,]wû#úïzÅw?ªë9ýô_@ºý.ì¥?ÇVQ¨P­Ã9µŽ"¥xBj•­-E‡+)[Ì ”¢A¥µöÄò Ã!s0˜=}ÃÛÀÎ[twx ¾j¿,xÕ:SÊpöÈ$XVúc< ÄÄ€³—žÁ3þé]«ûÇ{,}Öðà‡îü¦ÃÓ]FWUòØ¢‘è´ÑD/´oâk>8µ3ƈ.Ôã`©|hÃP2œ,0£ÃÉÕâx€îf Ç1f¶}ØÓ7f„i Œñ ç Ãá0´‘Ò‚AFˆKd]G˜BA)бFüöKo÷*|‘‡Þûh~ÈÛ<`™‘ÄÌvNÊ`¿Y8tTg«­kf¢1å.:MîÕèåSÙ–&þ_ø…W%^ÞEû‹ŽÓ‡mªAvÍ•CkDt0/ø_þÍxáÂáE‚—DƒŒ-™V,÷"z]Ae`wß1–,jDD±"IyêYY¬Ÿˆ8¾‘ÇД £iÃÕ½»»3Î?°†s5¢µˆµ* ¡Öâ› /<Ž"E’$AjXô2ЭC,t]$pÎâ„Ãy´ŠÈJÞþ+/åìÞW0œ–Lg3’¬ËÚÆ&q±˜ÏÀYêªd82î³³³Ë¥­+ìíY^êsÛç=†ã››¬¬¬°¼¼L–¥V¨$7>þiø_ú­œ¸qƒñ¢d1¶$¹BHA¿Ó!M´Š¹òàƒôš!;æ8ÞK±•ÂmÁîƒ3ʺâÖoïã/_\áÍëÖéd=ªÆSV5—/í „…Hç1ee±‹ ­?qây'a4ÑÏHöõƒ IDATáqÔõÙLhöG ô_u{ø|ôïx-縗7¾áçyñ ¿…Îà:ÈáD‚ó!vÐ;ߺ[Z|ËgR"TÔ&k5¬ž¸åý]¯ÿÏÚzn|ö¯£¤ä1'¼ìÛžÂW?óÉÄzW»Ãª=PNÛçEH²àòVCÓ("£S( OVÖ%Ëý˜XAY–ìÏ û{%f¼fâHqî£.ªhˆQ>j|Sã|ƒs ¬ñR‘$ÁŸ]8>ÆYž(8<”­¡q4xîyãð¡«ÿ¹©ÙM8{öAŠNÍM:œH *cØÝÛc6±²²DšÄSR×5çΟçäÉ“<þqwj¢Š²íC·nާï|òáëûH€ÿ¯þv¤ù™—¼žïÝ é)™Ž˜wøülÊíËŽ^ÑçêyÅøþÞT€åØW††ï»Äqïƒ÷qõ )Å Aëœ< Fd‹ù‚áÞ$Ä*pHò4FgEÞ%‰v÷w©*K¦S"•0™ÏYÔsV{±,YÌ·8Ï?j©ð½Ç¾†ùx—ùå÷"š’ëo}>[Ã\s,­Ÿ`çÒÙV:/x–ßøˆàw×ßÊzÎ<ëM¡â}éhÌ ë ¼“¡í⿀ù=ÿ¢(ˆ¦zÛŒˆ‹uÄñ/AdÇ­ÁþÌ@=çÂP¶jý€‰3ƇÀ~-½l«~®„¿æ~û%g÷þ_øOîzÄûggë ln~àí/‰þÖñà‡¿à9G´Í|€.²#˜HHÒ Uª¨èýµ^Ïí}ÅÑ÷×Týòšû×í¡áàì0Òžö-/ÿk÷ÏÞÞX]{ï§Ü?¾ñLÿwŽÿP}C›ŽE`âhñ0-’öSV˜k©ëÁA?´bv/c*‰1“Ö’L# eèå¢Uê¶Ú¦Å$ÐÞ…hV£Ã>¿™YÌl>„±’”áT‚_á¬X:¸¬‡-Tböê£ÁÁAõ?@o€î¦h<: ÓÃ݃•‚á¤ÂР…öáÕrrsc‡*ƒ!AW4)ÉÖÎSí£“¥6¸NßÄT†ÿí¿dØ 2-(:‚•ÅúºbeEQt$i"ƒ=­ïU¬Y;‘g2ö|ä¬å¾,ç.V”ÆÑé*VVS6'¬,{Ì¢b<¬˜Ok¬…HßsS†¿Wµg{×Sî[ÒTr4Õçk|£˜Ž`¶hB‘Ç 2QiI” ëÇ]Á¯ÜõR>°õeŒG#ʺaemƒÕÍëH‹>¾÷Üû¾¿dyy‰þÒ2*ÍȺKt}tš e²·Cµ˜Òëvƒ`(ޱMIœ$E‡¢(ˆ"Å|:a¸¿’môb£³ŒÛŸöÅ-oÿcE\/ÿñoâkNw¸õÔíÈx%c.n¿åð>o¸÷û ƒÊ‘JéèœÆÕtâœÝý Wöö‰cqè*YÍjª‰%îK'ˆ• ßOÑi‚NfÚÑÞœYU"cHtʱµKƒ.¶†ñ|ÊÕím¨*66VV—øÚÕ°V®|/ßó}/æõ?õ R»ÏõOú''’Ú¾çX{Êwýµ¼úïû©çÿ¯ç̳Þ´žá·þyò+ñw]¾ê÷¼uìIˆµ'C”? èN¯ýXÛVòd‹áu˜’€H¯©èÝ5€o?¦ŠG‚wá¿UˆP~Xßk»gwðíóïú¤ûçòåÿ‰ÁÒ_|ÒýÓ‹·›Ïn˜Íjf“ÀªJGU…oe=“¹ « ÃÜ|ó:V šrÅ‹©e8×€ÎyW‘¤ŠBKþýKÐïÉocoáþ>ucɺKlžg}³Ï ¿B'ïRšÎnQ»Š:*) ͱ•ß°rßásîßñZV7N~R@?wß_rò¦Ç}Üa*úW}έç̳ÞÂ_îúøõˆ»iûû<¼ª?õf|¼ŽZ-‰\Œÿ/nú >°¹f0Û\ósö¨Í3šÂ¾7æÌzÃ7ùÐ’muï[/*á8{!ôö¿õ_ýä'Ü?ù¾;¹þÄ_}Üþé.+._¬?gñà'žùeh¤ÀË9ºcœÄP†m"ÑñR‹ò>ˆ±T…¶É៤ Zv Úâf´8úéð|4 ºZôö90Þ6O+ä:Ð X؈?ÿ¹çz¢Q4@6 0ÅìH¶¶‚à `p\£»ÇôÄ3]`LÉ ¯1l,õ0¡“‚­ÝËhµ1W1ÓæÃe‡azS̀ɠW {Ú&üàÿ÷[dY ™j-ISA’‚Ö‚¢t:áÏ$Áƒ<|˜N-£±c4r ÷=“ yÄm‰9uC‚m\f¨-QDk¬$™—ŽùBR™à3B-)K˜Ì*泆ªò!`dî1õ å%‘H¯ø¼',Qû’DZ”,Œ¤n ¿*XZŠxå·þP˜}mþÓñ„½½]¦“iÈkí¯ö׈ò.*NÁYÓ!ã½mÒ8"+ ‹9£ý}&£‹ùŒÊ,˜Ï¦˜…AT–xœó![Õ{Ò$¢( ŠNÐÆdˆé‚4ÕôºË+Ëh­9yÛqÿÀ/æÕï•dyÆJ±Š©,R(¬u˜EÃþtRÒÍ4²ñ()‰¤b<5¤Ý„A7'K“àQÓ†‚G3vöwðÖ‘Ä1ýAÁòÒ2Ét6ggwŒ ƒÞ€ã×Q– ö÷öÇ çs’("ïF䪡º´Ãw‰àÆgÿú#îÍÜ~ä ?ð9½žOöׂþÁûsúæ·Âbv™@XŠ#Ú¥o‡´N€õ‡•¼WGƒpáP™.QKæGÿüλ7¹xqŸ¯}FÉÞîÀJÚÇ œ³‚´„͘³|=ßùê×|Êý“Æ’w¾Óü½Áƒ_zÎ7^¼@Y3¬ f¶@'áPÕÙjÀÓNt4”mmŒTÁEÓƒÙ…ØÄÖüÌ̶1Î3èf@—áÞUŃ~°[0fŒi ƒ•cè•A`?¦@”‰K‹ ˆ¥À”SÌŒƒX:†{“6„< ?+4sL™B,ØXYbkw¿ýe»l1 ýû%Ïp²‡™Ìxˆ™V0…ƒ†âLpÎì‹à=òè(=Ïûýß$ ©‰@µiÞØNG’ç‚L ò4D—Ͱ3vœ;oÙºb™N=ó9TFD  ¬d°¬H’•*ã˜N`4ôL¦5Ó²‘j…Ž × çc\íif5®´aI±xï°.Ū”÷½·äÉOR./U$X^Wüà7ü@˜Y_ÿ2ÊùœºªH²¼ ÒÑàqÑ'Š$±°ø¦&.ºÙ&JÉ–eR£”$R’4މ¥ Ûíb›¼g:0ŸM™Ž†Ìf3„䙦(rò<'mMÁ‚¨ëÆÇ KƒuY±yÝ .~ä}œ¸åŽO ö‡ÁÏüÀk¿›n.±V°=œ†ÇTP”sK9mèš"‹(²Nðy‹î¤”UÍþpÂPAExyžGã-ƒÎ#¼nØOC0¸¹˜-pÒ³Xì‘ÄA µXTE‡H¥¤iÄþd‚•Ÿ.qã³ñS‚ýA+çZÐÿç?ýÂÏéõ|*°BOÿÙ¿Ž;Û í…¼…o+tåCß¾ 5Á hÜQ›æ`+Ž^Ä×TøíÕhÙ;¾†Xz“šn…÷~ä O½Ã‘m+ç`ŒdÛ+Œf v Bsú–?åìGžÁëðÅ|ßO¿êîŸAOñ†ÿ8!Äß­õüèÿõÃÿ¿ZÏ¡Ô]ó¥®mÍ´NçÔ³}÷™@dí}lKÿ”!…÷è…;êõç”ÕœëiØÊy`kÊ-'lp|%¨w"”WÈ%‹("Ð=ðšÓwlÁô!~ê{ÃUðËþÝk¨ZðŸcÜâø{‡ßûÖÿŠUðÚ/{Z™8FE°8n)¡E㯴oZ- «ÑÃ5O~ e°86²†r©Ú6O'G§-ú :PKˆÃZÀd³c€ü(ÁPOˆÌ4$¨vØXÛd¸s9´[¦662L=Çø.$³`ulKˆS¶®>"€½%˜fÌÖŽAç‚A¯ÃÆu·2¼úPxrUÙÝméI $:ÁÁÿÇ[ÿ"‰”ŽT9í‚[B8]ASYö¦–­íÈiA§gYDTÎqñbÃÞn…u l  Û—ný¤{⋟}Õ,¡™;fsÏ"’4eª*L I̺½÷ˆTy¨­§”Að’&’X <‹¤±Ž·ýÑ”{Þx7ýã߃ïŸÄÖMUSWMÓ µ1ô—–È…­æÔµ¥´cJlÓw:à=®ÒÈÀ±dº,IÓ„ÑhÈl:åâù <ðÀ}aÀÛë’¦7œ<Ù†¥b°ÝU¸¦¡±ž¼Ûg¾XðÀ‡ïe:1OX{ø¶¨kzyÊ8öç5Q*±!ïE—õÇ®³»?ao1ábµ‹”Að)…Ì$¾³(©ê0à–Gyn¸i“8JGŒ'%³yM¢b–ú%d‚gÓšºš“è¡"ò¼ƒ«=³aMo9EgÑÿÐëAæÐÌh4úÖÍaÑ'‚ŠÊEÐH(Kf$õÌ28é]‰O¢vªÛ ZÖÁArÐÇ_îÃÚšc1³¹ÔçÏÞßpæÄŒ4jï“x¢ÍÕx'Ê߇¨ CÌôzN¯ÿ:¸Ûyåó^ÌÓžó¯Z<:Hï±Â3™yº ÙŸzú£Xû¨ãÁ‹~÷~õ[¾îPDuÈÒ1æÐß>´sB¨ iÊý0Fè´‹NbHZ& :šbfþÐî†*‡Žl©¡Å¡‹§™.N¶B†‰Ÿ™2¨c žA¡1ƒ¬‹ö>¨]«`Ѓ‘­§F¯h0f›lܰÉpkÊÖγs…ãm5b¶Ñ©Eë¥ÀÉïöäÀ~†• º]DãqÊ"¤'ËËËŠ~_e’8•ı¤ªùÔ±»±·]³˜Ô\Ýö\ˆk‚ªôÄ:™ä¾Ž@~ög ÷шNîXx×%ɲ¤}Ï¿­#ºŸbŒ#ÎC°Z’Jz½ðUä’L ’$ {’H¥Šn,餰¿£±£¬j" ½,âþÂ(~€w¼ñ_àÔ2ãK2#Ùõ°_*ê‰ ]Óü×pÃW~ _ñžË¹ó_ÀÊêû)è\Ñé(ÒTÒv`hbõ…ÏR+ÉGß’zžüÔû©K¿—´×ÆGÉIJEè, œë¢À;KY– “é,´P̧c¢4CJAS×LFcŒ)™O'4uE¿×ãä §xàþûBpìØ1.ž?‡Š¼èP9J)ª²d¸?d2™’¤å$I ¶bëÒyŒ©èõûôºlÓP75UU}Zx2[Î=TRèd¼_‘ô^Ât1§q–Ò”àa½³Ìh6AkA¦c’4¥ÓŒÚT\¾°K”Hʪa<›bª é"2£OšÇ$iŒD`æ5¦¶”µ!ŽC‚Òþh8Š˜MTµE.ÈæïÅz^þ¼û¸çò/ÿÍ~ÆëA†ì¥P†^L[áËyøþAÝÓˆsÐ’íÀV„¼fÁaG%dGÁiY8褎sßÅ·Þ´ÎÙóû¬ ‚=.¥AµW)öjxßò>Å"°ƒš1püQÃþЦߗ˜™eo×1yÂä½pX®l¿*‰·ªn¨ë’²öx¡B­þià”Äžn,¨óˆy^Úº¦fø§;] úiCW& KÆ {Ê9C#ØXj‰‰tÝX… ¾ÓE“`® ¡HA,g˜y ºÎ' äÃx~ÿÔbª)ÑÆ™›»[—·Ñ+)&‰€Ýàu3mèUŒ®1ÕŒAÚE'Suyï;߉î$h$ƒî*g!y½µþ4¢ÉYkÇٸ΢É0Bb» § §NßBÞá%©–pŠ;ï™/„Š:©ºÓ¦Æ6Mø»µØ¶u#¤ÂÑ0ÍèôúÌ&cÆûûD©!Ž"œw ÷öíÉó‚Éh„³–$I¸éæ[øÐ½$ËRn8sš÷¿ïý,%§NžäØj0~³ÞSš`Ó°˜O‰”¤iB<¥#0xz½ÓÉ„¦n‘ŸÎ­[òBÓdllÔ•ãâö6û“9ó²$Š‹ª&é&_[¢7N¹²µÕŽ^7§“wX˜Þ5,­w)Câ"R•& ÂE輦–%i+Ìóx” òŒ½{ÊX…¨J­czYÁæñURzêŸëëyùwü(/JÓŸ'<ÿÕ|Ïk^ð­Q‡Ê¾lÃÈíµäø6p¶UH‰äæ¼à¨½gÛ¿ËpØö,8ˆ,ô-—Ÿvª¬æ Ëùœ·½«à¶ë¦tŠÔâ!Ø«X7yˆÒè‚5`° Üú¨àÁòRÂÒjL§3«]¸x®a{êF £à7ž¦ :ÞYDípΰ$‘%Ëkëñ#Æo=•Á]¢ÅƒSÇ7BE/;èØÏ! LÆÁþy(–1Uëc‘¤ –û˜D²1µÀ°sÌ _CkÍÆ±>>x6¤ªû”µ3 Û˜íÉazÌÍèÁ¾‡Hz”‚4õÄÒ£pÔUpà ÒÄ£3A‘CÑô‚¢«X[—Ôµâ—þÃjó_ˆõ20þÄì…æ1ˆèßšáP7¸Ñ×ðÎwüwßýÎ.îlæ˜NãFÀ+Ä"$û8k±5Ì­@©£Íâ¸&\ÖUIi UUa­¥i,YQpu{/#¢(b6›2 ŽÎ3Œ9¶±I–$\ )ŠIªÙÛÙ¡ÛïQtzœºé&ºÿ>n»ýó¸óÎ;y×;îá¾ûïÇ,ŽÓëuÀCU•̦SFÓ B„s%–†º®éª²Ä¹`ÌõéÜ:½„$WÌë ¯$²‘D"ŽUU±0!"’8âêîoXÛèR;Ëöp—ýIpÜôÎQäbRöw‡Œ††åÕ‚,É0¦fÔ””µ ø$ÎÃJ·K"#FõŒñ¨!Ðñ€$I»1ÝÎ2Ë+ŸÛëù™ïÿÙOö/JS^÷âŸã¿ø/ÿÆëÁׇV Bñç>ž£®QÆǃPx·óQgR†€’ßG‡_q|ñ“Vú­ûB Ë« £iÉæ@1È%÷[Øs‚¢ãÞQ;á¯>,yç47œˆøÆ¯ÊIeŒÛdްaÆ÷™âA’²\E'‰$R†u4Êru'“"i(¼UÁúÛ‡K›$ –‚ŸÎæfÄÆFD§c<0Æ1t[µl½ 5 ý^°9^\nq1 ¶3Ì Y æl{3HR6ŠVûèô$æÔ³»™6púÆ`ã¤P•Á~¡„Aw)ðþ§¨"¶¦CÌh—­Ý’hëÒC¡åÒ©Ðø0í :Ó ÒåCSµA‘`páò3N¼=pñGS¶&; w®†©rÜC÷3†—FÁæSË0‘6UH8ðS'޽§Mº—gå"¼RH¢X’¤ïñþ°·a·¾rx…|éwÝu¯zÕ9L)(kX”TÒÔ IDATžÿü!㋾øC€ ŽZ`o¹ðG€ï­Åaq®¡i×”%R*T¤ØÙÞáêö§o¼ gÌlF]×L†{¸ºg9qýuáŠ`±`ye…í«WHëŠÙ•Ëôú}N\=/\äŽ;ïä Oz"ï|Ç=|ä£÷3èwɲçÂ%îd:m¥4£Xê3™Liê)¡( œs‡=ükm>Ùí¯|>µ«-*â:dƦ±b°’qõò©7¨("U°[Mh<Ä©ÂyAžDŒÆs¦f iFÚMY^D»£ð’<ÿï̽i”¥×YßûÛûö{暇ž¥–»%Y²eËvlc.Že1„!$¹!\r¹„!ଓ„@.„a­BÀ+’Ø`c.ƒ1b<ÈÆ³¦V·º»zª>5ž÷ÌûöÞ÷Ã>]ÕÙ–¼–/9_j©«tªžªsžýìçù?¿Jš¦ØK2ÆÖöqá·¿DXIšµ:F „[•L‡¦õ€ h`l›ý!^ü,rãÿßñ¼åMoùœÉþö¤ÿ#ÿ×Oòc¿òƒO‹GüèŽÇ^ =>ÁJìA…~6 bç[<Õmð3á‹ëÛ"ô¯kk`s;åÒõ„+ÛG¸°y…ûîò–4,4 ¢VãÔ|+»C±b0òdËínÅŸ|ÚqåJĤ˜ÇU’íxjÔ%©®€ËpÎor…áŸ÷‹p~/ų¤‹‹¡_ÊJ d`ÙÞ7ØÜâœ8PVoQ-¯Ü{oÌé;#”‚²t ‡îiùÀYKzþÙçËJIˆö¡h ôÓ€iþç'Ïœ,¯ƒ»èÙún ňŒTÒûÅÖQ…‡S2R¨¸BÕ[@‹nw“ìú5t9 ÓìÌØGŽçÔéÓìt»è锬×ã/x7® 6._âøñãÜ{ßóyì‘ÇØÚÚ!”JpÒ‘çµz@ÔÒ:ágè›ÊЙëP••©øÀïþ&íN‡z£Ž KÂ쓌õ‡¼\î#9«óGh%ó”㒽шHxœîdZàŠIžÓÛ†Íå:A!*¢(`u®Eš$èIA'äe…),2µX‘ãdÅâJ¢ ë ¥)¨L‰-J‚Z—áâE=Esÿ÷Ô^ÊüB“Sw¬`ÊŠÍ«ûÔ1cãpäe NðÆŸ~#¥1‘d.-xÙܘ³ ú¯<žçòއŸ3žý]¿ð—ð vÃÓ(© ‰ R''`ìL‹ S ïÈt«=s«š-U‰ÊoÉFÈ‹—MŠ`›¢P\Þ]ãÓo¿ÄkÎN¬U¸²äIJfs'b?›… üáÃð‘1ËõˆÍnC— þæÿ6$­áO’ɦgÙÍ Ä¿Ø| RAãÈEPS’$‘4ë’8,´c ÇgÎUìÞÌ)´ñÏ3;hæwŸ¸ïÞ˜••€Zꥷ“±¥?° ††›[%ýÌó$žM>P-…€vú@‰ã+z ‡vÅ,Ö²lk¦fì¡ê5´œÂNv;t’ÄЀ*ºH=ysèè4sT¬è4Stž“!Ðý>L+tÚ÷6‰JvVZèÞ>*ª‘õn¢€í=V—ktâ9ˆ-Ù¨Og¥F–I:Gzo uA¦û Ô=§X]ZA—ŽljSσv]!©±/‚ú‹ž*Gެ™UB ¤$ %*‘D‘ŸÁl°rL5üʯžÂ¹kq¡’.sócÛtî2Ôâ:"b¦ÇO!Æú ¤ë¾èýODxR%ØÁS\xÿG±÷¾ú{€§úú?ÿV?Ì}ÑË¡Yh7 Óñþ—B8¯O¶P–‚¢€bFÆsE‰ ½ÛÒp8b:Ñ´Ú-ppãæ&yQ²´0ÏxÐg:P¯×ÃH„ôXSU´ÛM®\½Aoo—#'N0 ˜N§ {}®_½Â點ÇÕ«WÙ¸t™N»Å‹^ôBöööÏ–¼*“³¸°ÈÊò UY0 2$–ÉdB£Ùdn~Ž0„AˆR)a paóQ "j1AP«)êíOÉúzŒ.JŠ3÷Ÿ¢ÓnÓj´¹~í½i †þdH:f¾YgEÍáFÙTAÁnoÀpª dè‡Ü8JP:™Ûç¯~ŒË{Žéæqì]7˜¬½›Çö^Ä=ék¨×X+˜#¯û–!qȈ|j #A= èÔôd õñ<§Ùëç‰ç™‡Èœº ;FDó8¡ýÖT^/IÌÓáhjò…ėЕDÌ•ÜÿãÈ+&üÎ+Î]\!¥Ï™³§øó«c.ì÷xù}cÞó˜`lÇÖ+~,c4 X«Ç F†åù€3wíóÚW”,.‚pÁìæ!ÆÌ6¼¾¸|°—ùí2 ¯@Ks >Ù§5GHÀâ’$h:‚Tr­QqãzÅdâHÇÊŠäÌ™˜»ïY[ Ik>™W•G9ä…aßÐÛ·ä¥yÖù ëkû(1‰Fë™kmXêƒn£Ú tŸÎÒ Ju!1{{ÅN $ÔñÖ̼=êC>¤Óh“åÚÞÏȦšNªè¤ d½¯äI$ªyK¸ñÔeÿ${7Põl·‹JÑnèáØ/ee’Õ¹ˆ¬4¨Õ ЉC…F=Î]¿ Q‚J@Emï¿XNg`ŸÔ3¡“éÍ5Á R,Ný@^H¬‘H…3ßÑÙÒ‡Ž (‰ò¯Ì|çŸÏÿ É¿ÎêÆ7qÍD¤‘É¿ÃÕ\W|ˆjºÞ±mÞÎÉ—|?6O0½?&l A½³ù›¨ZÈÂK¿“¤ñÔ_z}ã7žãîÓ!GŽH— –%eé0Và\€©Z‹ƒÞÒëus3jÒ™Dr¿×cóæMŽ9J…ìïŽ8ê&»»h=¥ž*¬1”EA³–bMÅöV—¥•VÖ°³³K­ÞàòÆuææ¹ëôi®l\awg›N§Å½÷œ%QŠédÄhèýZ“$eãòe&ã¦(Ȳ½,£ÓéÐlÔQI‚”ÎLé5×Áms\ç*öGCZªFQ8*êiL«^§*aÍRSŠfK‘›1}]Q˜¤¤°S–k±ÖPKRVÎ3ŽÙ›äã‰ÆG†D±CÍ]§qtÈݧv¸¼;àcWsM¢ ?êã|êúy^9~Ëkk¤ªÆTîO {pûd2¥?1l¦¬,UÿKÄólß÷o¿óóÆó9¥ó•|1“äMÀň¦ÂY râ-ÿlà“¿ qu ê9àè ‘ßÄ BXš‡ÿýµï wyòZ«B†eg<ôÒMºxêÑ„W¾°à3šÌÕ,Ê@´æ_ûš’Z}Öø[`”O™-°K,.>÷|à¤#Xв¢YƒN3¢Ýôý|k,º#µºdnÑñ‚:[HÙ¸T±?p,,Âé;CŽè´ýìF‡uët¤‰ Ó˜Ò£žm>è,bWè"†èþEØ'ÛÐ¥CYÈÆEªJÕéŽ5ÐEovÑQ“ލ$@E ºÌé4[hÌûz\yN~5š)€ü¿mŒ¯ø›ŒÂ{.êØ TÝ[x…’Ìqhf>š’9E;á׆£KÞá%J`”£G ÙFçšÎœGs"ÈŠ åFëÁz¤é¨6º•ŸšÇ± BHß«K›¦Þ¨,ýiûo~âð>$Åè'ÔWsôõ¿ÏÑ$ÅõÞŒØú#̉ÄÎy&ã3‚ —!šlpâÅg©¶¾­3Òú}H{6YáØ×¼“ÚÂ;¹‚P_…Tù¿ù›ñC?ôk«–…EKULuÎdj1Uˆ#¦("*æ@q,1ÆPõº×qk=eãʰ0?7x7¦$IPJѽÙEëÜWù8ôxL£Õ¢–*z½>7¯_çø§©×”yA±›ñ™‡?‹|©åÌÙ3ÌÍw¸võ [[Û¬¯¯2?7O­VçÂS—¹v½Ëh< QKˆâkz½íV‹4UA@FÞÿ&s‘ò ÀòJ›í!,wbâȱݒ9ÍZJ«©Ðf´ÐLw5B8‚0$ŠÖæ ‚€«ÝÊRSN …-)£‚0‘$E£¡è'„ÒQcún“S÷}ÕZç¿|øÛ=GÃæMÁÜLªòÉ€G/~œ3;ˆW3Äg¨*‰ ©J€8I(ó)mØ3ù_m<Ï{KÈÏ~_þyûø?›çüÃÞøóÆóŒsáRzÊ™›íÏœ¥—È”Î{~ßÚ¾Õ!:C/qû²V1Ûáðu/›òîÂñ¡ÏD|åK›üÁ'ÇŒ‡¯x¾awgŽá àÚ5Ë©ç .N*î¼kŸ7¼:'oýŒ%È}m(ôÓnÏ5Hy¿akJCMIê­€ ò½©H%¡Ã`‰JI'tNF,¯JŠÊÐj†Ìχ¨úÌÑ8ŠÒP–%BTÔkpt]’D’yƒöYçƒs? ²FGÞÊôt £Ù®hvè¨Jd¨ºÑCÍ+ºWõÞXÛ1šŒ.3“s!èœ\…ºoñ0©{ÒqlPÍ:èœîN•& ËxZØiΣÇgïZC—VW×ÉF=:92²á€5ºÃ}: åÉ ¬®ÞáÝ¢5NžòëöÙ`Hvóæªú>T)P£]蔂RdE@I&c1zÉîÂ<¬¬B£áéûvú¶”°ùT7IñçÔŽ;aøߎ‹ÛˆüQl?ä©'68sßËÊGé CÊÉÙ¹-ÎßòÒ¯[ÁŽ~‰xõÂüG£ÑÁ9ÿ&6ÖR%AQbвdww~¿ï-›MLe(r¯–±Æ0Ž d@8óYí÷ûaH³ž2NÙêv™_Zaie§>}ž¼7ÁÄ¿õößãÎÓwðàË_ȽwßMwk‹'žx’‰.èecÆã)yQ0 ‰Â€T$QÀµ›DQD¢’YÏ?% #‚ "´'ÕÃq’°P%ÜØÞÇIG«­d@o4ÀV‚¼ª¨*¯»NÓ˜4Ž (­&ŠktTÑöÙÔÒ@JTC¡TB½V§9ª1eCÄó?ÁæÔq÷\N`êL·‡¨d"HW`â  “W^åì]gyËrd³Á=Ï¿ŸÜT¥Å¨×R&“‚ÀHÊiø¿L<ÏæÑݼñyãyf9æíB¯Â·2«™ó”õ­~ÜL¶i7pÝ,Ñßrƒ•9þΰê-xÃk52Ùã\7ÀÅŠßøÃ6ã+&„Õ?Þbq~„V–?høÊ—Ôp¥8œÇßò5¥?‡g?Ûs̓…#­I¤Hë°ÒŸ q¡X'prö|Ò/ÀÉ8 Ý„8ô ¤$ ‘NR™Š~¿âf·d8*˜ïT,.”´Z!¹„V;`ªyÖùàdzç¡×HÙ$ëo€ö˳/HÐZ¡÷¨¨MÖ·è dÛ³­Ü¨Æ‚gÙ7Ö¼Õì-eˆj æ#V×Öfå]4am ²ý’“gî™1zŒ4ZXÂl¸ïÍG¶ÆdZ¢’Œl8 kú“·³°4¨µ@¤¬®®¢)PÄlto‚› ’-TB1D5š¨f‹GE͜ճáÊÎ|â‘ñr̓/Šxô3†«×-I°¸,9qæç ApK×î <|EKõåT]Í¥KOñÉ?úÞö®·ñ‘‡?N-1¼ö{üûøBq¨óZæå£çÖq½wrñ3û¨ÓÇIæÿùaŸÿÂ:£Ëcê/¿ŸpúúWßÍ·HMô¾Œ;OGÄqIžƒÎKv{¿t“KO^Ç•GŽ®óÀ žÇóî:>Û{‘A@’ĘÊ0ØÜÜ$‰#æç:¤*a82N‘r‘ÑhLY¤iJÅ3Ú_Î7ÿ£ï}úRÎw½‘ÁÞ€ýÝ´F†üÎÃôtÕÉ7} YoHB”ÆAˆs9Æ:&ã)Æ¥ ǽ~ŽÎq“ª„( Ãà`ØlÍáïúêõ.eÕ¦"A%¡¬¨+IQú¿ÔŽSš­f £( ÊÒ0ª†”¦ba¾†1~ë´²¢’X[¢®lò¼œ£¾ÕC×£ãmÞ°nÌÆõíl½¿Î©;%7çFLúP/ašBÕ7¸À¢CǨq‰¼<ƒJÓ±&TÞ “¦ì\ëS[Ô_ªxþÕÿù“Ϙ‡¿îÝËO‹çÚ¬Š¦*ÿgs¿ õ…âyæ¦ÿ¡ ‰o³ <˜Ât½6ÿvoZqóÖsucÄ;Öá\&Ô œÁ7mÒZ.øÛ_QP”péFÎÛß³Êï>l°²ÎúBÎ7¿~Âú¢ï·ËÙ¦¯H¸¢Eê¾^‡ñæÁÏú\ó§B^ \ <(pÄRP‚ÞÀ`mI­!;@ùa¬Ebœ?,PU–,³ÜìV\Ù¨èîTÌÍîanI±~¬îÙçµYŸqÃ" ½óU2FkA÷‚Wæh+é,¨ºFժfg6̵ {³Å×ÙÀ··ÏÆNƒl7C'ŽŽPžFš toæ¨Ý^¥S Tœ¢™®.Ì¡ A6Ügu½I¶—±ºxÄoÊ& ?h¶éÞôÓã‡Ï]F»Š¬—±º¶€jÌ¡Ô>ÙÞ>Ôf eHvuÓ·tf@ŸU¹õt*^!# yç„•¹”ǰºæè´¼?eeüÄÛ:s‚oý–¸Á7â³È„Ç¿ƒà³ÿŽ·¼eÂ÷|ïÿ÷]`ré[øá½ÈßýÂ{Þö¯ š{è[8š†˜ ÿ-ÖW(w_Ó+DÇ~›î§´îûD£÷qá½?ÇΞ “&¬Þ³„ìþS^ÿÐÏðûïûYVñè“×yäÉ-.]ÛcÚÓ”Lóä¶ Ñ)ý`PÂ(ÀÚ€ÉxÂ7(Ë’v³E»ÝAHÉd2!¾}²¿ï‡yzJTU…~ù§’(ŽøÖï{³?47 ú:­”„$Iø'_ûm<‡øÕcˆÝ~è<‘ƒ(€{NX¾òåÛüÆJU<ô²}Ž­xŒÁ¢œ ÓExÈfŽ‚ a¼±/tΞ}öùÀ9#K£)ˆ GU ªÙÁ18®]µŒú†¹¶ ‰l¦¸@E`¥×¡ëÐyå—ª´¿MÀV‚‹{{ŽçÝSq¬²2WÐj¥L‹êYåƒhã)”­\s;+ ›°”ͼCF.ÍŒKDçÎmz'¬X¢„¤³(è´—½Ò§ g•‚Æz¸;£Ôü*FÎü¡/ ¢Ng¾ ‘#ܸÑ-ä¨F:õT¨8%+€2œyÍÖéÌ/Ói@¶È[èŸ Ïâ‘)ªTþP tä lAчFN'NýBAáÐÅ„î0£]åìGxaª˜NýëÂTž}S`¬@ ß·µÃõ^‡ü:AýAÎÜû ¿ø½gñŹyêÇïçß|OÅÚ×nP;²“' ÅïߤÿÞ;X8±Îò] GO!ö`éË—d~[&œx赜šn!Úw´—‘×î?ue “wøÐø¹W’ÄuŽ_£Ùˆ„¥4S>ýè ¾ö.R‚TUÅöÎ6“É”V³9“=6Ö?‡/Û‡úäÅ‹þygC}Áü¼ã|uŸvÃÑjÎ$ÖBD!ØÜ3tdäûInnöoÕÁùÄsÈq Q(ˆ"<Þdö-‡ôŽÁÐÑÏ,½^ÅÕë~à[¯ :mÉòbÀÚzDÚ€éÔR䎲ðØ„ñØ’õ Ý­’¬_2˜”LÆ9Ã¾ãøš 37¨zVù`ãÉMˆ§(™úyf>Aá ųáž¾®Ì*{%énöýL£Õ <¹ØM|•ÞÀï1‘Ò™ññUœ’-ÔQô@`£©·X”©'éml¸qþ<*žcco×ô¸¢³P§sò8$’Õ½>Y 'çštuLÎ*i°Kô~=š b…šo£š1:¯Ðû=V›bAg~Î÷øI OQÉݽ&Wt¯,tr¢H ó¬½¾e4rL NR¯Ï^äÂ@㧈âG˜ž{’ó~ûú6_‡Ùú?øÈÿx‚7ý+Ë{í¢÷ØÍ áž< Ó ÂòˆIˆ[¸ ÓÿYv?ü²ûÿgO–¹ â/#ùT̸³~ô§ï\ãŽcsÌ/$¸(d0vŒ’”ÑÈ«@ŒsŒÇcÆã1*Ž0A@š¦4›M¬5 }†!q£Å¯x5AœâŠœíÍW/ìcJAœ¤ˆê¸gõ”*ŒP¡Äã„¢„{NÜyÛ⼤×Ï0αÛÝáÄ™; Ã7› lÞ¼Éîþ./¼÷.°Ö÷ðÓ” ðnMÖ¢8"Æ‘Ï.Iä¸ãÄ"V¤lîdèi‰1ã ÓX&‚zR£QKN5UYKɤÈÑU‰ ¡+ ¨§Žý±& BâÜ'Éàož|íÉ»§þû Ýé„Ó«Ævo‡³+’Ç6%‹­ó«{°eè\j“/ 9Ö«38:¦£àâž%±cž8÷(/<Ý!®5BPKR+ªÛ–ž¾Tñœ¿ú$¿ñÔé÷3žLx°ý/yÅò ¶›\v? d<×ÇŸ9žgNøÒ³Äa?ßV‡CXáfèúÞÚÐâÙ÷·/XG·õôÿ#/£n IDATá5D7AüÚQøµ£þóǦØo¹ÀÇCpGï+$¨×¼ýa£îkQä7_•r4[0?…vLµcÒ˜]ƒ–(rtÚ1뫎0• û†é¨¢*,U…”¦"/JÊÂO¼ó1ܸâèïJZÍÉg•V­B-ºÔè‘/827õ{H9hÙÖÔŒjÉ^Ò½¾E§å =“íÊCCsçPº»Q‰du1õ~¸íÔ«*7¶ÈPtšŠN’øâW×ï€bÒ´õìåL l㪇õ;P¹%ë÷èî—ßןúÊaÐ#Î6p¯¤Ps葞y<&³þóÃÕìÄQ8l?¡/,UY ¤`4²ììIz=(êkï©¶0«Ñø¸7\~ÞÛXÊÿ%ñÎ&r烸SïâÏ~ïøû߯ù©¸ëä<ô®âò—ÈböÀ¹´1ý-žüÈÏpò¯}õ3ß Ó_Ä'ñ_#ßü1tu‘Øjw=Do(8v¢äå/9Å'š´›ŠÑ$ ·ï˜ö Æ}K©ýEÍ”%¶*¥ CÒZìŃÑhˆ1– ‘aÄâúQ–O$|òÏæ©Ï>N>ž`Ê‚0Š)ÍmîC€®*ìŒRmòŠ* ‰„ V‡ÕátÂΨEpýÚ ÖN¥^«1ì÷ÙÝÛg{wçEexòüS¤µ'Nœ@¥ )%ÎZÂ0$°‡ß8UŽ›Ó}Òd‘–R ¶F -ùØC¢’”8ŽP‰¢ÞPìg{”yE94T•#JJéȆ9ÆZiJ%˜($,*ô$zl›OÖoe……O¥dk›s»Ž•Bð’Nµ082}qÁK–w¡æØØ|òì_ƒÚä•åÒv—£ó=âVÄ$Ï)ò’$1,¤‡SÌ/U˸þÝ|ôÛ¿žçÏ}#ïäM|1ÏÏ3>B¹ðÒËYҾł?à¥ÉÏs9¸%ÃôKÇÈ·ž€«¾‡ï^±øÈ¬‡ÿK'po¾Ä‘—T8SùyÞ,P3Ò¦1‘=åh­8dútn››¡Ù݃ðÐ…å¹äƒåeA³áQyî¨Õq$h5ë믦‚½}A¿ã± /ü¡(a0pZŠÜ@Y¸ 㬔ˆ@bEˆ“Ž‹ *œu Ɔqµú³ËÝ^ofm˜úªN'”3ÜLÝûÖÎ>*QµŠªûßÅÆfˆŠ’YÛ¼áµüãÿš 9ËQ áÑË…†°@©6«w­¢G âÙû8deP{èD-X:‰Ÿ Ÿ\½Íu¬†.'d£ÊÛ6g+À…A5Ô0÷VjsMVK‡*#ˆnËPá>uâ‚l¿@ç{4=â³é$Š·>,˜_,–Ó²ÕÍéõ$Ó©—géÒó1ôø/T5â&Á½ÿ‘9{áïø/ßÉ›~hÌ;¼ÎêQñªQ Œ<P:„15¡-Òjúª¢qæu0ø DóÍ1Gµÿçß÷GLóœAð×ÿ)9ðªW¶8ó¼ ¹x±â3ŸÉ¹vÅ‘ë # jQ_Ǭ§+P©"™ÉÃ0¤ªJв Q eYa”EÉgÿçÇøè{ÿ˜±«h·æ<¿¤,1Î+Н@RYK>ÕÈ8ÅnÖn=L“ÁѨ±† T|êÏ?ÃêÚ•pÜìÞ¤²†8ŠÙÜÚåûΰ³½Ã\§CDqìM=¤@Þfˆ„©UL¦¦SÃüBŠ—Háû×y^`]…sç$ÎA”„,­¦ÔU‹0Œè ÷Ñ&g8*( C³f,6™ßìLË&ù¶¿RþÛ‡G¬Ž$;uÃÚ°É#;×Y8ÙázVð‡ÆÑTpvͱ|ö‰†•)ä›5æ_Ù!‰YL>™˒ɲü’Ç’Á¸byÏtÛXüý·¾¨„Ÿ|Žxž¹‡oT:_A 13'¿euθ9Õ¬²¿ ·`gÚ|1SNrn¶mýª}-¼Æ÷ðÅãSsÞÚz%³Å-°%;¥¡®:´Q¼å˜åÝ·ÌöÿÂ…gŸ¬ˆõ ,-ã)ÔSAKZM8zÔcÚ»‚½=ÇÞžŒÆ†²²L§inÅ-g·Œ™s»‹"ÄI‹u)&'$GŽò¬òÁ—?8EnD¶§a4=´*¬+t¡Š-oOY°c:Î'øN³y>3<úùĬRï´ÙØÜš cn Í¥æQ P]ht>öŒ´¤"$ì?Mvó†çéÄÒkîžN—=ò¸÷OÌöÉ*IçÈ «+m:²Fvs8Cyè‘1ûd7öÑùòÒ˜N­çïYZ{'÷…*nA£¢»ŸñÙ 1ó{‚Å­ŠIéègW„#(µ$¯*`2º=á·°ek·Bñïî—yËxœ÷ÿÖiî^zŒj;@ ÑÎŽ16$º/£úP ˜ÀB‹$9ÆÑ3~ËXìÿ,ý„²G¸œp÷ÞMyéí ­?î¿¿Æñã)£‘åÜù)ŸüdÉ…s‚ñ8òÆAt`   Ò‰J±ÆÃÉœsL§%QQ—\å9¢˜Ò¿¹…JSªé„^¯çQ AH$ ‡qç…Á”%û”,.(leÈn£]ÎÏ/qeg“ªÊDH2žL˜Tš©ž'^ tïݧyÉ‹À‹RÞt¥ÌsHbÂ(„êp›s¿ Âa*Gi+Ú•v¾]à`j5Æ–2ÄTc Ífƒ(ŽQI„É-¶´DQDa0*˜L žºg—nökÀ—¿ö$}Üß?M8s¤Î…¹G¥DÄûŒoÂä|Q\8:4ãCF»5˜[opüè „ù¤@5BâÐ0ߘpk“ìKÏ¿ø¶7sÙ¾ýü]¼îžðƒ/õ²Úßþƒ_çÌ‘:ÛôŸsÂÿ\ñ|Þ¡í­Ç­>ú­Vx±842wá¬í›fÿ Ú?6…K5øÈâËzð¡9ÿ¼'´o=ÜR{F3ÓòÛˆ±®p gÿ=;qË·ŒYܬÍ$+ßÞ{.ù`2Ô”#ÃúzJ½¢µ÷¯U‰!Ž<¡ÕòœœZÍ#ö°·++ÊÒ` á8â‰3ë*¤ˆÐ›;ºÂo¢dq1àþûÕ³Êׯ£"ƒÕQÑÔï0*‚l<7õèb?‡Ü7þÔ °¦ПB"É&ìÕ¬¡#ƒj):ÍÙX°œlž@Õkd£1”ŽN£.jP5Pµ Ú9B•„þ$taÑXÙ, úÌ:jq™M êdíÔ/5ôæØ_f®+ªÓq -r”KP'B¿y[XoŽE¦l” "Ëj³CQ„ìl v÷ 5Òy&µ5!¥q”NP•‚¥•O±³õÃs¯fó30ªJÒ¦åûÀ¿‘ï}ùÍÛ^ý²?[ •‚™ mmUù*$°ÇßuxYXÿ pçþà°š^ɉV¾ñ5_û'¼ü1YßrùRÎ'>5åâ%Ád† ¢c%ÖúëVZ« åýlóëyžSC„ŒóeYâ°±´ÚaãQCb}=Å9ÇB£ÅO¿óçŸö~þ•?|;¯ñWÓì´£·þן{Ú×üç÷ügî\¹„CD ƒáa>BI’°´8ÇC_ñ*:QÇR3*¬;¼YtZ‹ÜÌ,ΕþóÖКoz>xeNB娜¡,,Å´D2E&S†“ÎÒº"Nc)Õ¢*yjÅrüê×wÿše¤$ï[ðÙÅ;ø†—*ÞýÄ“\¿ FyÞÃëPÎMéÌî¸Û’$Pk Žv»ö ÁÞ+¯sáòSœ9s†D¥ŒzcÚ© ±^;è¡©âyïŸÿ6_ÿU…øMD2åêà"?óŽã÷C|ÛŽðg_DÂÿ\ñ|øŽg§Ëø,Šý¨Nz._vª<8mvPºQ€Þ$)ÈN@c¾kùÎuÄ;Öàÿ9µ ^šáþþæá 7œ©AµïÊHë¡l¢å‚‘H" pþÎG0»ÿY뵺Ý‚þ6ôÆ1;ϲ³õ#,ÔÞ…s¸òvôA¤ÑØ’3±TŒ(†™ˆr‚ûäÌ¥¸•ÿ„øž¡ÍVHU Î_µ!Ëà{[n&ñ¼eoxP­‹Y…Þr×r¸bvû2‡Jžƒÿ‡Ûœ¸n=G49pr}.ù ?Œ§ÁNE‡„¨4 M*Á{â&Î'bá0ÆÏ5T"pÖëíæ –Jœ€"wŒ†ŽñHâJ¹ÄU.ˆ( ©E4[îÙçƒI@6¢’©oÏ辯⥣à Háó¯ E åfãœ,ë£TÛÚ³Y¨J_ÝÓG#P¶UCvé ?…ŸÉ§ô^‰%k ©Aቛtâ¡oð×k¨4AO5š)º½†. zÔE…5:Í6äºpdý}²ÁÊyÊê­Þ~' PõÕ½½ãe˜e­-:éùåï ÏɵUQóÞžÎOÐ0 C¤U¯fÁÍv|b>ræëY»ÿ8ñòW­¤3$ò7ÀÎïPd% çpúIœˆ ´ˆ‰£¤õˆCŒr¿·ÜxÕLöesõ œÒrñšf¬#ÂÀÙiß0Ž`¦4B"¤D /!«ªk-µZ|jRb ^o f{c4 Ëú×¶ÂЃçLI’ÔqN3Œè×"–Zm´.°ýa”`¬aZ„qŒ’N½ÉnYà0ÄR0•I@†œ9}‚—¿äŸ fWYqð3 ÏÕ $Apø{¹¾»ÅH)‹J‹« Ó©eM}HëV–Œò1UUQOSÂJ¢ó¦ù„(’Ôë5æÏtHÓ˜Þ`“Áà¾âUk¼çÃ×ÙØÎø½_ËqÇJî¸kŽVpg*¸škN¿LóÈ9ɸ KÇC^qG‹÷~ºÇɼóÏg*¿­]jƒ‹Ô› Â8ÀÆ„Á_y<_Ìãw?ùÌñ<ãà5ž%Þ[\Ø'‚Û+ξNK YñpFܶuknKÞ·%v!þrߟÙ9"Õ ¹‡@Œl³ÖïZÍ–¾Ü¬t  ²³ïe|Sã¹æŸþ…±S¯M|O> ,Qà+|ØY P`Ã:¿ïµ¼päh@³% #A¯g¹t±âÆuÁh 0…+fJ¶ˆ²äY烬»‰ÔlqA©6(èÄ9z¦¶Ñ:‘ õÔëKsNV®ÀxŠvÂß–"å1öÂyÓb””¨¤Žnȃֺ Z4é$1„Ù$EöФ„Ý«›t"KVJ:Ã>…u6º—ÑzŠ]VWRMØê¡…¦SW¬6:h5á rM6ÒèRû*>è±FïfÞ”WIïXS8¹×–êyŽ«"„”J +”!Búm=iV8¬(Y=ržîÿ:³%,gïAˆ)nîª'Á>‚¶ Ò=ìl2%ØÒâFÂ¥Ô^÷…ê+Nžþ,‹K g,{ÛPN¼™pJÂ@b·G“RÜò‹“‰D”PUI’G1¦ª@­V£^¯á¬c<“—9§^|ŠÝý6¯ˆ‚ÊXb=Ò– $ó*%”06nªÙ ¢)bmå«!É€b:Æ C4u¾ú+_ÍòÒ¢GÏ"°Îáð/f)Â0DJÿ¹´ÂîˆÅ†N5)õFJn*FcŠc’(ÂØŠi©±T•£,JªÊPZ‹5`*ƒt+ ¢zL¬BRScP‹ø?ºL-ƒw/ðÀÉÅóCÞq¼¨3&jDL¢”öTÐßô³|Íß=Êo>Ñ%ÜˉCÇÎ%AÁÉ!\û”¤ž¡‰aËYá „ÅàpÆPVø+k<¦"NVÄÒ’àÈ‘€µµ¹9‰‚kg*y$ç‰Ç77#J-±B2†l\ žu>È *-ÚHH@—³nJ8¡³r¡„ò2KrQȇè!dÃŒlO£ê°º´ŠRM}E…:‹h½O§µ@g¾q¨æ›ÔÈŠmNέAcžÕ&hâ-³aÈF9 ÈFÐ>†jvX=º2…$†¼˜1•;dèÑ”“ë§éš=o¥ÕP¨$dºÏÿÇÝ›GÙ–•U¾¿µÖnÖ>ý‰í½73ïÍžlHHP:;’^E°á•(V©e© ŠúªZ%Ø ïYEYO °T-¤yŠÏL !²!ÛÛEÄnŸ~wk­÷ÇÚÑ$‰ `Å92FDÜæ»gŸ¹¾5¿ùÍ©sM† tÑ.G·z¬êY6$­,äÝZ¥·7ôO„H' eà·ý\2À)‹Ã"œ#tÖ'Ù`?}¡¼v·êjdò8ÄÙ¿ÂêKù6f]"zWN TÈJ’ïVˆÖBGò¹C)¸ç‘;õQl@)‰£&I¢*"–ªr¸©ÂºÀó¤u·,•§JŒñw^oN¦PRᜠÓí…!8[wÕVƒG=îÞÿ¾÷“%¶´”…eÏTtº-nþs?wø?žòíÄQƒ7½ûM|ç3¿©R8*çH-dºëÿü¢$ˆvÌ¿ø¶oæ†G^ëÁ]H”’„ßZT_ìñ* qdè­gq4ÚíNBÓ:Æã{»3Â8GÔo:kBBY8¤ é¶žñ[ïà÷Ÿóx2 ¾ùMïà]ß|ÛIþÍ»îçÍ\Ç«ú<ßñ¤—=7–YyÝÇYn%|Í÷{ øoþÈý얖¸÷Ã)æ–ž,Q¡ââëšÜ³3foÁüy_!$®€f” <7_h=“IF)^óï~€Ÿ|í‹)ãç~ð?ð+|Ï¿iÀ/=Áo±¿ü×0ïÙàï]ò™ëù¬n™êH’•®pÍz Ë•Grl ˆï~”Çú7ßꛕï½Á÷M·zzèùò¿ôÞêo„ÿòQž0|ó­ž·ÿ—ò?ÿ;iqåÜsôöpוõí+>ÒÙï"QZt~žxàD€g’ýgÙ"¤õÔ–tÄÊ'c%ã]C^V(ü¦mKâP #è¶Ý®beY²¼¤XYÎùÀ29Lç–bC…CtÈò1ºß%mBVNÐA€Nzh èMr²Q­¡÷òt¬ÑÒ’Å‘÷Â2Â<'‹›¤;) 亮¸B6’Õw;‹z“ÃùëÄÚ三?ÙdÇú­{ÐÖ„qU¯§ûëðÄ·³¤ ÈZvvâÄœ=ûŒO .G܉lÿ ®x6˜rêä žò O"Ž#?DÞá#Â~"•ò A‡ç ICS"ˆ’ñÔŸ+éÐ:"t1³Q†nJbò BE”(òªÀV†¿{ɳ©J‹W wfü÷gßè»°¼"T‚ßyæcȳ‚Ëg—rýÂ'9÷Ç–?ûãîý•6ýGk¾Ïmñãßñõdù(Z\ñ˜Ë¸ìª“´š „œÚ9Ém¼“ò1—>ùbV/^a^HSª€{Ξ'Jf,´¿8õ4š1®´ü‡×þ{6wv)±H ÿúç~P Z,îöøÎ~;×÷'9ui‡Îz L?oÀÚ“oúŒõ¼ç^Äm¨rê’·z戇fØ:shkì2óz›68<ÝïÜê²fuþÇ­8ÅØz@±øê¡Û`vA¶7Üê7q-àÞøQO êCƒ#º~qx³êðï(¢ú{û‡ƒòJÁ,gQ@(T4´£Ù$ A;dàêT4ô$ŽD –—¸è„byEÑí@³!ˆcKW Ú­€$n@œóÎÞ+(ç†þ.¾¤ iŸ²<÷ÖÄžù™—Zì.øÝ¤2€–òóÎid‘Ïaš‘:Â{àgvÌé zllœG#ɰh$½v tž {g ôbI/Z€NBÙ uÉÈÉ&Y® ZÑD¯´Èò]Òi ­ÜË*D» &#h%0è…ã5õSA ²bBZÀÆùu´³õ0¸ yE&déOÙ9ƒ%Ï-E!)JKYúT)úÝå•€¸­H·;†á¤¢(üUíıÛ8{þÓA_¬ü*ùû߇;1FXÜͬ’|[wúW9O{lÅBçÓÁþþÎñMO‹X[¶Üò÷Št«àùß};ívÁÊŠouŠB×ëYnÉsçƒãá R Tšè Q¢*3Œ1DqŒŽ5‚f£A³Ñ ,K””\ùˆS|òÎûØ»oD^e,5[d³ ­œ…,Ÿ©Í½]–W¿ßËÂ0/ Ji¤,˜VËk+|Ïw};­VHéoû8)Ï™*‘Aà;¢ü'þî§\ÅiÌù휲4Ì+‹Î)f³’öB“F+&B¶7†ì¬sÌæÂZ†ã1v“0 • •$t-)H/Œ˜;Ãe×\„Nbvî–¼íÿ½•ÜlxôeñÄ2œ€Jqßé-Úǯ¢·¼ÀÎpÆdž£ã݈¸òW2.f4Ûš8çtš ³<£Ê ¶§{\ÑþòÖóùX86øë¡”PYîµ³Á‘@ñ¾ßßzrGºöZ#÷ÍM€(Cì4#hX* ®8}èÜàÒ;»¢ê&½þ>4`¥¾ià‡ÃbŸ1µ'³²8é߈_€À*PóöZ’ IDATúVGÐnC«-èõŽ ‘´†DK:A·+¼‘š¥¼OÒÖv…µÐjIú W_-HšŃn?§Ý6~vú9ðÀË#‡dCM*2(rtè³À7øäst«‡Îc´¤Ùy²¢‰Î΃[ðñ‡9yëšlß .ÏYÔj­lD6u^E¹;dãü„ÌôÐ8Òö"ºµC6èo +äÁ]º³@o±‡žd0‡Ô¦PZŸƒ©5Ú­€Ž<'uÙ#ü‰’edûü\¡Hç†^gÙëLãú `fÍýæ]V–ýˆ ,,y^“yó¯N_Ñï+dèp=N CÉxb)¬‚O]~÷ßó) ÞÅ]å)ì鳌ÎI2ÉŽƒ½\QŽñ’&Ï øÈ«xÖ׿à!`ÿï¼Ë/M¸ø¢^Wrbͱ~^2žXëãñ¬µT•%ˬ7^*D]ƒ¨oÆB%5À ¤R^­€>nwÚ„qÖ"…@kM³™àêwÓêÊ 7<ö*†éAØgµÛc8šaÁKzí˜I‘ÑnIÊbD`¢HÐï†0-™e9 Í&k+]^ô£/dyeÀd4¢2A!këcQs÷R)TèÁÞwøÂ·BõÇUÉææ6w -8¦™hŒuD*dVe´:1ÝN§ö‡‡ÍsŽé,Ç(ó )üÀK†^¿ÅÂR“(Ž™M æya–gdÕeO0¨š<õ¡»¸@¯×¡¨rúó1AÔ`ai@Œg¦²dã‚v;A ‰É-y\‘ecLe©Š[æ,sâ~yxõåªç·>ú?>oÀÏ‹¸òz{Ô!SɧU‡÷wØ…ïw×öÈ W8P%èÒ'LíÿLéÂÃÁ«ÛÿÙ}§¬·¶{Ä›ßÛß`7¦g}eŽ$ÂËvœÞ¾P<@yb£%h4¡Ñ„v[Ðëzƒ·vÛÕ¼! B8FcËήe>7l^(8s&c<4,­EÜøØä ƒÞÚ*ÚõÉJG–çžži´^ãdäj 㽃ïŸ\¹âC!Œn Ÿú è-D0Ú Kçhéö&½Î Ⱥ ÚItK OzÅSµë½*Y›Gž Èn»‹´Ìèõ—éÕä–mÁ8'í‘éØdk°?˜çY>£k//ÝnÐkúS'¦ô”&« ȧd²vŽ-:l{JgæSläÌ_Ë*‘«Õ#ŽùÌb„¥2Ž0†NOiAY9ÊÒâ<îI÷ò÷?ã –àñ/xõç£vöÛ´y'¼¡ÉiqÕ• ˃ˆK/U?&˜ÏC²L‘eyQ1Ÿ~àûüpëå¯ü{fswik·?Šê_U”*ªÜ'íív ØÒß¡¥R><¼îøÃ@qýõ×Òn·¹ìÊ+é- @ òÙ„ÍMLåuüeYpæôi¬…•Õe’$!Žb’F4i4DqˆsŽf³é-b‹ ‚z˜¥Bªž lF5Ý8ø×i–3.é*n93£tWDdCƒq3šý„Ê8†ã±_äÁÑh' FXTP€ :æyN *W!ŒÀ¸ÂsëÂ‘ŽÆ a i/uê²Å¸)—ÙEŠf;ñúæÒ ¤$ Ct37ÝvBž¬‚8–„ÒˆœG¯…\r Üú—µž£'çãG_ùC«Ü)¨î=àéÝ~çñ£?JŸ¨zs³úZÕÀÄSçÀ*¹Ž9¬§ü#¼©Ökû…Å:oጫsDã@ôëùìþ®”_t*jc±/D áƒÎ­÷ÈÏ2ËdJy¥Q‘;íˆ#Xæ¹a8¬Ø¸óñ;&|òî)Ó©¥ÓS|" O}Ú½„¡ãÝïzÆ‘·Ì{ë‡ú*Dp×gy€‹Ö~ŸR€“Š¿}Áùó3>yU©S ËK­–" %$Mº–ßú푦¯|ùãxÎsßïw|³îÿsºKW¡¢5,ÚkC¬Á!Hš-¤”Øzh$… ÂÚÄÊá€f³É`¡Ïpoáí^—8ŠXXX ,Kò,£¬JÚí&ãñ” P4› ´ÖDaHÒŒ‰¢Àß*¤$i6‰t‚sk-QÕý~W¯®€l—íÓ·ò‡ÿëyî3šµ”ë7,oñA•r×NÁ„)­ ±PV9ÓiF¢XÑj6YXhû¦,ØÚÜEXÇ…sÛ ýЬ°1:Š(çŽf#&lFÌ«Ìï+PÎP*K:ÒI…µŽF1Á‹Žù¨¤˜èA@§“4t[1™9ìÈbmQ €‹¤ä‰—/±˜tY­Yëùñ_{HµŽãÅ„›ÿø¯8õUC8M6Ëè  VZ4šç“ÙìaÕ3•ßMS¾ÜG¡´^ŸÔX¼ï©Ž SÌŽ|mì™äÑîßÕðNƒíÜ!…ò@",P$[ÐDõÀXÔÿås`ØæÀ6±Õc@_£ô‹†¦ds°Æ‘Íã¡csÝ*‡ ,Qdi5QèK66s6.LÙqÕS‚'Ýp‚þŽÇñ„¯újdó¤êƒp´º]’fÿ‡¤ôÃK¥ˆ£0 B`+ƒT’¥åEß•›ŠIšÒh5 j ¶‚Єt»=Š¢"Ž5I’E±?\ŒÁ9ç;v)B!Cß-ísö¢–ŽJa‘Å6&½›É8¥Ô'xþ½†X'¤{ ïûÐ.Ç—c¾ÿÉWðž?ÈÇÖ+ö&úÇ›¤³k!Ïü›³ Jr[Ä^ö¹Ðosöô“ñŒånƒ¡(,Ž‚v«I”$-§ÙÝž ¬ÃÌ-í~‚ ¥É)KÇl6§,+LåX^ê[`næäÆàæ9JAÌÅÎè&‚›.ÖóIëY9#}pƒÞÚ*«KK¤ó-6vSÈ%½A½¸ÊzË/P ikÁß~pL–y+Öb*0UíŽ%¥ÐÖ¡ÒË®BСD(Ai+fs˜ÍÁT¾cM´@'%†’ÜŠ*CfS¬5Ö *Cà D%RTk0¶¢¬0,.Hz‡ ”44:nálHžÅÌf1£aÌdóÎ×ü*w«?ãJs“¿Ezó­;ˆgm }ÕY¥ÑYÀK™åTyNYVÜy×Ý$Z³º¼x á÷4€÷è«*ƒn4ÀYŒñ¼¡©*¶·¶ØÚÚfii‰n·{`× ”ò¡äAà;ù@,¥H%ýd5ÅMd²{–¡éÑ^~Åý?wp0­g¥÷ Â`‚)/ð/ðÖ»7˜ØEB¿Ñ!ŸVÌç2´:q­ŠPEÉê±E ¤2†y–Q”Þ_H¸ˆ(RD¡B EQ•4MLýÄ*"’^2àì…›b.zÛgÞü¿M=— nâÁ?óJË•Ó*ne)üSTø7 .ø.»–GRÔC×#úø}käý€­1Þ›‰¡„Ì‘nÿFÖöݵþßVõ¦¯ÊZöiŽ ë?S^ÿлö½ò¼ƒÏ·GM;S¾ñůügE©ùê{øö‚ßæKZ]/“¬2Ò½-´–dÃ!iZçÙ¶Úè¤MoÐ!+ö5éD˜‡S?ÀÝ)É¢Ê}ß>ÙùAqšç>$eŸ†Zè(Düõ«¿ÎéV€Mt’ÕR¢¬Èru¢!Ò¤£1éd†F³z¬K6LÉ„ªûNMäA_(2;…ÊA QùmÙz¹J FÈ D¨}Ëf Ã{)¦ì• aÿ*ÜÙ_> Þøõ,ÙGA8âï¸,’´ÚÌæ Õˆ±V1/¼–º‘%è´в¤Ûî†ç³iÎÖ0õ*¥$Æ:G¨ÂP‘—Çk¬5.ÆŽÍõó¤[÷“—]r=…-™c6ÇçȲ ÑÈeÁãO6xÂZ›Ø Xè\ÂúÞ»]'¯z.hù9J¶Iïg´óö¶õ\ÔNÆ~«TJ¤Ìy`ý]ø—~¥èN:ÜŒp…5ÙÁò•Û°ÚC wâˆË¥;2pµõÏlâF #°“ÚS „;ðØñ{„p¥?9ŽÎJ_å?ÝØ8œ­®®rïŸ<·|"à±—4 D&ù&µ¦<î»^öÏ &³˜«/m|V|{üæ³ m ÐGs rE–Mx`}“,³œ<¹ŠÖô‚§qdËá IV”lœß ×îúºéȦGÜz›šlš‘Nr²t›¬²èVqËoÜä((f>·2Z@7ëíƒí!é´ Ã¡"4 ÒÉuéµ4ºh@³Z¡’e#²ñˆ¬4èIŽŽBrµ5Ù8ã[é7è-–Ö,'/ Y^N(J0¥¡ÕòŽv¯úÅ=Tà‚XCXªJRä‚|ZQU;" ¡UØÜ17~ºHC "œrXá%ZqTB`( ƒ3‹”KUXli°Õ j' Î[¢B‰Š%"àJò8í–O«zÓË€OÈ›kpûƒ+‘L¸4ÿf¾ï§ù­_ÿÈá,ö[ˆöåTáë¼…ÂÎÖ6eUÑïv‘BJXc0¦BE¨5Îù¨ÃýÆk:³³½B°´¼L³ÕªiOåxÀý@V „ã&çpÃÛI'%®ÿ(f…¤9±ÇÞöŒëŸ{(0h^þJ¬ê$pS Š”ñ¹_ÿgWÏjç©ud¢@©Àƒ¾ QàÁsoõz»•Ÿ@Ë=úü%-õ.p·ûç{ßßé¼Ý‘áì‘¥+ˆb?ìÖ9Pîp1ëÈ–¯7U«Oб„–ÿù¨Oú£€ð‚y‹‹-®ºö:‰™N6È‚¯^Øä ßóþYàÁ<‹™lvÿA|»âÞ¯'Éœåär <3ž·}YšÑLÉÆŠ4Ÿù¥" sd%½vÝ[ô!*YNº=D'MV—Vè-wÐí>éd‡lÖ@:XF¼ó§®w:6Þó&þª€#ÃqõÂ2Y¸¿òœ M¯ß%+!ËS6¶×)z¶—_ÚŠlVù ¯VB:¡EƒgýøK¡’(iˆBI·—^á¸îš„‹ODTVàœ¡ÑtDQ@•ÃK_±E¤#â†×u‰LM “™£Ž@KÂÊ'L¹’DI.ÀRbÊ’J*ê J¬+ eŒ2KFåJÊÌGà U „C¸ ç**›ã\Q Š\R™’fxŒ?ÿo¿Zã!„×!ï¿!„¨¼¼¸þšµ M›SåÓ¼ãuóøí×ÿgþý‹ž‹n,"Z'1A—YV2›Li5[h­ÁV~`iM‰1Ö›£I‰)K©$ÖZ²,c<Ñh¶èHåyK©”§p…¤BÌÎáFw1Œ™G'™Ù6­ÉoúÏ¿žÙì1,t ÊùyÞðw87ÊX:±Œ“í….B„lïM§Øú ±}n̼*(¬AEŠDÄQ€5o{à! A3ŽAZQÂd{J *ÂòØS+üÑßœç]7ßÊ÷îòÞ·<éP»ú“>8[Èý¹5ÆÔÔ¼nà2D¾Îlç÷¾âëYi=•ª2X…µ8!ié„ÊXJcé¶»þ`w®ÿ¡¯§ûÃô“-ƒ÷Uïµ®À–ÞÔLHì’8xõP}þÁ°w^Ë€”—^S)¨óí½¨ uÊIàÓPäuŸè?ðöu/eo:dq©C«Ùb4Û¡£Í|‹Ëã’SË9_÷/ûŠÄƒ(¬MŸ7¾-~è‰ènBº½Éƹ½N“ÕSËP¤ã!W_{…O,!I·÷ü¿Ù±¶7<½¢ á]zKeßt;oÁpâ6Î>H:Ú;`_Ä-¿öt—U:ØE·¾kwŽ,¯Øøä=è¸éÉœÔÍÑ"–Ü_}ã5d»sÒ,E×ZϬ˜ºïÿý7"!®28S4„‘'¸äTÄ“׿šGD„Ú’U޽]Ëé{J>yçŒ3›sÖ·ÛNZŸH4­J ãO;U‚rщIeU.Öâð/|`ÁZ‹ñ@ E•cD…ª"à¢#ý.‚*sLe¨\î!p2ào|wïÀÕ¶‚ÆAa$E¤JBe@¬óA¢Ö9ŒH×Ùï8£“?ÃÞý‡›osòš'b—PZ¿`‚³ØªÄ”ÞmЃ©JÏí«k*¬5 €²ª°Æ7DQ䇵Bxs©b 1¹‡ùh“©Zedzüø¿ûOüö+.þ¢Õówo¸À©/"ëZîÚ˜ò¡õеkT„ä™dšVDˆ°à„CË“ †{*Qùî-ˆ<0–¼ÌBÇ1®rXaЉ%Î+Æ›3wE—o}üEDj›LvwÊúÞ¤÷BŒŒ)§Ät’x‹–ª¢(r²Y†u­5qY©ÒßþЬçx÷)T• ŸÍÈF)Å|Ž‘!­ÅN—Ê: SÒn4 ƒ!˃o;´^Xý1úòcty=ÊÝvÈÁÔ½3GlÃ# oޤeч²?·x ½´¾°5áoòч€þpÀþõ7¿Ž¼ÈYß¼Àx<¥ÑLh$1Æ””³ <±WOG\v•ŸBßô#¿ðÖI»úãÛ¯<å‡Éæ;ô×í£çî% å™]'ÝÎéiEoq"Az~³¾tб¡×^@Ë:°@4Ú…" +2¨ÛÄí¿þT—M32$DÒ "MF&"›ÌÉŠIpâc³èvYmõØ­“fL¶¼'j q žú/Ç oÎåœõ>Ù¦ÀÙ'%B9’fÀå—6xÔ ý`g·àÌÙœuÃld ¤!Š+î ïs`U…•ÖV¸Bâ¬B„ ø²yiÀXBç(1”aNP‚*%"tž¯ƒ>üêwD,$•¬°RÖ.O9ÂT8WÔwÃßýN öá{p®BÔ1s¹­Q‡Ì„\²xH¹z!£ÞüóÍ:BºZKq­}Ž÷Ù¿ö—˜×1é}4t„\‰h,áœð¾ùeyÀã—EîsBo¸æ8u¯‰ÖÄ%4CÌô÷¿bê9ަœ͘noQÎ&ÎRFFºGm Dä¦$‰bt!UB!\Ńo¯iž—@¹Érü'tÌ#‚s¾½7GìŽkzç@ÈSÓ6ÂÖœ½õ[ºb_±Tv ¯}ø@ÿ¿öƒHÒl4h%¦Ó [[#rkHtýšç\s,¡ì0åx;çòË"¾ö_½êËŠNyå ß^yÓ‹èµbtÔôþDí>L3/ÏŒc4‚t2÷2ب"]ß@ÇÇÉŠ”tû‚9Ïg~0 ÝéúT¬…&½àh·¿þÙŽH{©d‘A¤ÉŠÒBÑ‹4§7ȲŒÞbïà…Bkh:/ö{}}/Ü7’óÿç«(Dbœ¡ré¡„HV˜Òo£JDý†lö$Qd¨2¯@iv"Ž­…,v‘ªHÇ[÷Þc…ÃaFz‘X¨ÀÅ(ã0ÎÔŽy†J¬¬&À¾ë‘Bb°þr%J€q¢¾Ö:œuHkq"çoÞì¸îþôpÚ%jš((JÉú¨ Îq|a—(ðÎ~Fç>Xî¿—öÉw-Z\U> €ýÊÓü÷ÿ눪mZEÂÎ%™ÔñoU“XbË ·ŸAWÿB)D jKX¿Ù«ì9?‡ÞÍd–q¡Xä§^ñ›¼ýío#ýØKþÉë¹íO»´ãŒ»Ê9gç3âVÄ;ã- "lhdø8‰uH*f³ tÏ .œßÂMçH[Ñ_U\³ÜåqË=̃F A¼Ð¤Ó~€‡ßBá$ Ë«„QÌx8¤,r„³TeÎ|6c6›±ya‹õM””;¶Æâ`N·ËÒâ"n‡0P`3Ü|æoý²Õsbá›Ø¶EÆdg‹É…-l^„Š@8Ê"gwî¨Mš m¢FL·Ý¢›t ‚!¼@@5åôöûCqñßÒ wÈ·’ˆwA0ôIYGì‘©Žhðí‘!¬:\ðäUèè?Œ‹ðÔ’qè$" CFÓŒ"³”ÖÑo5ÐQ„É*¢@#œai ³mVª D±â±WÅ|í¿zù—œË€þ?¾½ê©/"Í'd¹dU[ÒLÒKüéº1œÓ‹½VñÞÁ×u«‹nšÞe¥ôD1GGè#ˆ"Ä_ÿÚ78 =˜¹º•Ðk¯¢1éö®./,SÇ 1†¤Mf`u±Aº7#›nÐKº<åG',RXœˆpÒg­ÉÐhÅB' ÓììYÒ4g^úéQ*¢ÈÒˆƒ`ùxÀ±µ€FU^1œT\س³3åÌ}KX["êöèȇ!ƒ« œpXrQù­V£À8¤“^Öh, o lµ+,Ö ¤QFò׿ûRîŠþcÁºG’Gަ. ª:K4Pž§ÝÏé‹öO÷qºt¾…’Jp£ù6ï¨xý¯ræ¾Oðæ7ü~úG¾‡Vï4V°"ò4JUᬫÝ- Îï(%Bu²VEXn#F÷0îpv”ð3¯z¿÷{oaxÛOúŽþKTÏ-·ãÞûAš)/ùÞGs!“|äÁ=ΦPèÇ/[e4Ï™ QC!¤ ÛjGZ…l>ð*å†˱NŒ)vv˜’—W?ÏÓŠ÷ï>‹t’3™N‰’6K«k„AÀ|6k(‹œ4M¥{loïp~c“ݽ”…~—kqÇÖÖ ,,,$±—±*‰pe3ªÝßü’Ös¬ó4däm9leJ‘gβùà&U^kI#€F`ÑqÀ\ÂØI¦VqâøKƒE >áõ Ù‚3Ûï8èö–Ä~œåÆ Íß{{d³6³yî0•áøñ­ˆádH·ÑCʇ¥,çÈjLµ7¤§wù¦k5O|Á+¿$x`]õ%Á·×<çeôÚ]Ò̓¨Ã4sç]÷Ñë49yjõàk¸ Yeéµ»^‚Ùôô{–e¬¶û^|¤.C·zˆw¾êF×Cø¼Ú³gä;€Ÿ×6 šÆAw¯ó˜ÌôÐËCó6Êø±7¾¤D)ƒ”ÎÛ&Ðê@»+Y, BzÉ|î8s¦äλç¬oTT•"P!:†fÓÑ]€Á²d¡*Èóœ½iÆÞnN6õ2Á0PœþdT„(ù0”ªÄº kçâ¤"м߼° \ˆ5%RÓ+d IDATA ü,eJ¨,޼ùç¸3|7ÆyO{!^"dî};¤ï ¬õ͘ÙO’s)Æî½X ò2bgØc’%T6$Q9Öˆ§´ý´sÝ/3í0[¿Qå\tõpÉïh­X°Ö °Ä!Ë9?M1>ËùÔñ3¿ø{¼áMÿ)ÕAWÿå¨'+Éb¯KW1ùÎsÞ~÷˜T)F3…4!­$¡¤¢ÛŒItÀ$Ýæ1É„k,f— g£{§¸¬ +ßèçw^x&³¬do8æþû Ùê°º¶F«Õ P‚"ËØÙÝe:™2ô‰£,Ë)Ë’ÓgÎpñÅó¨饰*@Öæb¢v@YdŒ¶7è©·þ“׳Ú}:•ä¹ÅÃÞÙ Úƒº×`2Ú¥œÏ°Ö»0ª¢ (JbepR’#)T@sÐ#i¶ £„0ˆ}]BÕÀï­†…-8]ÿ´ûBâñûéÉßETwCUyÎ^û¬ºÎúêê*ö¶Úùòóz€½ò‡hö"´nÐH¼‘ß|6'Ýû8MI#ÑI@³Ñ& #vöv( C¢c1žÍ˜—3; ¡Ì™Ï¶èYÇ·] _óü—ÿ“à“‚È_r|{Ù¿‹^c@æ½Õ6Ùî½Ð„" ·x1d°±³G¯¥y`/åäê*“’Õ~‡Œ9ˆ–Ý=4‚Õ“'ýëOv=ÙB‡!éÞ˜l2„fm¾3Þ®¯ ‰WñÈ Á,C'ç™/{B‚@E4 Óô$ËË }E»-iµIâcÇLénWÜqgÆí/ÙÜ‚iîï“Qdhu$ÇG¬­D(i˜LsF“ [9šÍ€VÇv¶Û!Î n~ÇŒ@*¤ª­08;£rPU[þ¦ª$±j TˆIUû£8šäÿ÷Ïúe£øÝX'¨lu@gQ!¥ÏzÂw¾B‚ŸÛ—²µ?²¹âœ£¬$g7ONÛØ*`/ÂrÝU÷³ØÝá«ÄáJëÚ_d¾wŽ0[§ÑhtO" >žÍZ¬±~@TMat/6½›¹ãå¯{¯ýÍ7áÐ%ÔÓn-:ˆ‚ ïùð=¼ÿmd?f>Œ×A/HDÓÒŒ˲â[/V¬­\Á ìgw=Hݵý,†ÃUeiuâþÈG¥)Ç£ßë"ì¥Cfóœ^¿Ç—_ÆB¯Ít2ÆZË™³çp.¿â2z}õvç¾ ½,KÒݦ“ ‰Ö Ä›þIê9Ö}º§^dÀx’sa{ÄÊ ÃîοM:¦[DÞˆO#H„„*C`qJâT€l6Q:A1¨'C $ ‚:»XdžÙ<êV+/!’#úò}´£¿@”·@(—WŸ¦›ÿ|²¿ñ¶W3Ÿœ9³Mîæˆ@Ñi%c0Ö0ÝÎÈæ…€¤Ñi‡4š é¶Úœ=³E:Q!R¡µïÒIŒë;˜çSŽ5/|Œ§5žð=?ûEÁW9&•û²ãÛs;O§×]$Í©tÓ’žÛ%“%½Î™›±ºvÊÏ[[m²É­OÙ!cˆÚèÄŸþÜW;i4–t’Cž´."óÉÊ‘—ûhAoé t[óoÞøËÞÆ@A¢Í–`0P,/+E³%‰#éív%8+(JoeÚ ã‘ãîû ÷Üg8}® Ï,­¶b°³v,b°àÈæ£´`6)1åIÃ,÷Ÿ¥ckÇ‘ïâX4›TÊRc¬+q•b2„é¼B E#Œ‘BHC¤I7¤ÙüîË_ Àǃ›"`Ìœª Èf}’øóñÅ(Y¶îÁˆ;Cã)á¹mœ_Dñ>óžÒÕüwÀdsË-'A…D‘e˜†ìmÀêÅ7Þxæ<”ùàßò£/þi^ÿÚW›=zK#ÛÇ1ØbŠäŸdg{×¾éÿãe¯þ¯ÄIóè¿Òê1ó«™vÈùn“;6·¹÷BÆr7ä÷嘎`e!âÙ§Z\}òZd¸ˆ’!ç¶þè°ž§3ÉËŠÁÒ*‹k'ˆ›]îúÄÇùÄmea¡O·¿€Š’vŸV¯‹Ž#¤5Œw·)æ:í¶_P CL•FÍf‹f³I(f“1éÞJÖQxAx ô ”B¥¯û¢Õs¼÷,PÊ+k„¨µ3â`Xæ9Óæ{ÛÒF"Aì-‹)f>ÅXƒA#£DäN1ÊaÓi'4´öJ¯ý,„ÚÏæÜ…?<ý<›ÓÓÛ,EFrõùœÚùÏõ½¿ö…*¦¥T¶¤6ØÙ³¹»GŠWÖbZRŒ aWRYA¨ÝnŒŽ#t1MK†»3¦EŽ !Ò1+K=ú½6¦„ÑlÂ…­-( VW#‹}¾eñ4Ïøþ—}AxÐ 綪¯|û¯Ïù>Ò½-Ð-Òñ6È&«­F­Ëwƒîj²Â[¯gnè4íÈ7êÁ.i¡¼ßb5a6ƒFÃë8[]zZÐ[ZE÷Z>ø¿ùó~[SyÏš84‚NW2(º]E¬÷—‡Æ‚©³™e4q…cÐ 8¶¬0 6ÎW1¤#¿ú­‚F[ÅŠ¦–ü?/õ@GøX[ÕQkSIDþ­\{å÷»I£„±Æ ¸÷ôGØLßÏÖô½ˆè‚È›‘‹—*p6ðÞ#Ò‰Œ' þâ/®Ä•ç³Ôa ,œp|Ó?ŠŽr¿è<ŽÃî¸{ý¯rúžÛùƒ·ü6?öϧ™„˜ñ9vv.ðßÞö·¼ð§_M£ÕGq8”ý ®ç¾?2è÷è_Ò`õºÓÙ²rœß2ì¶\‘HŠª$ÇÜèÍ®ü^övwI÷ö(+CÒî³vñI’î"¥œ;sš³÷}’F#¡·¸L¨–l>§ÈæÌ§¶×Ï1JSÖVWX^^F7Î=RË‹K,,ôhµZXk˜M§^ +%AèÃaZ&±Ž£»ñK_P='j ß_‡ÛM· g-¶Ì)†»Ã„ñœ¾j¶.H…«2Ì|Š-æ~¡LIŒ¤YÉhVkM»Õ¤ÝlÇ Ž.þjwvóí‡J§ÅsÍ£¿æìà?Sçÿÿs÷æAšegyçï,wÿö̬¬½«»ªÕ›Ô-„P Å#Ãxã±4˜e›mƒþ´KU.¹vi‹ÆÖ4º"Ëb6×:|ÕÚ³|Ýüè‹ÒƒîHqózóÿ[}ûù¯ý†#…Ïw«ï£ˆAw@œ:b™²µwËÇFÝÃd6ññw¾Ñ•¢‚Æ1) &»ÓÕÁ`Ðíût–Õë}ø}$‰Ç5DZ$Šaäß,Ë$Žÿo ÏTÇ?0,†éÌ2Z&cÇ|Yª¹ÿž€sw„˜Öú ƒÆ 5+‘$¯,y!©KŸ_I#©*˜/kòeK];`‘;Êf‰r-Ò)î{ÍÆU„Ò ¬ (%M ýuÁp¨ùÁ¯{»´îüY ²¸%BŒÝ~1¯»çãŒÅÖU¾@†1a&©'_65’'.~ˆçvßIÚ¿…ë|ÄuòÐÛæ€Ù¼ÃÃßÍb©©¦ ¶‰âÂ=cî¹ï ¤´ŸN0>O eï•ïf9ÛÅl‚ßüÍßäKßò]t‡›ŸV§ÿ«´ž'~aIÜ 8÷šS(Wrõ‘1ËiŽR’óÿ“·øªog1›³¿¿Çb¾ðùÀý5¢þ:í¢‚¬¡XL˜íïš$Ë(ŠœéxÌ|:¥È—ÔeA¾\P%B Xá)œÏòuŽ(ÔdYFÖéxLíJ ƒÀ?bGQL¯›1ZÇ1A ÉŸÿ'/j=g_Ò׃ÝêÃq›Ø;_Ç7eN³˜ÒæKpE¨¬:¤œçØb¹ÊQð¡;(A峪&o”Ö$QH'$qJeDA„Þ½ãA¾wquëýœÓûþ\±ÿLåòÞHY¤Pc)‹–ñb RÒMbdëPR¢¥b¶(‰º!ƒnJ…‡Me`2]²;ÞÅKô£ád±ÌÙÝ›áDË 7àäñÓTUÁxÌt6c’ç„Z“v5©j©oìò­_ä?Ï¿ÿÃïþsõ $ûXùWFß~éÛ¿Å7tW<º8Ž*2Åœ²µ?yœr^xàšŽÙÚ¹ŠøÝx“‹£/¹qLæÊiI Ÿ¤.üãk~ö爴 ŽêXr•(#éöŽ$MI,H#õ•psËråjÃÖ-ÃbáÈs¨KA¨wÞ¡¹ïBÄ`¤!ZêÒ2›ÀtóEÍ¢jÁi¢Xk…°ŠEÑ2ŸÖ,Æ EÕP[ƒ­ œXŠBñºÏ Ò 9hÄ FÇÿè«þ!Wû¿Š5ÐÚã´Æ`A딲pœIÞŹ“Qç9RIš¶%B­±R¢¤Ä´-MÓÇ1?û<7ÿvÂ8_ÁÎÊC0‰Ãø÷j®_?Ãd7#Ÿ9Nß5aóø6A¼XT¬Ü`âÈþøá‘Hª³ßÊŸñ|ªäYÙ£ßõWv=É…ïGN>Í;|DЧÞáyOg¾—*Ï™Ïf,KZcÐq†ld}´–Â;1Lëg”’X瘎'ìïí²˜N©ËkZ¤R˜¶çX,æä˳Ʉår‰’4‰É²”4M‰Vºƒ;VÓ‚ d8púÔINœ>E’úˆÅâÒ;_Ðzά}¥ß6 ISÖ,÷ö ’˜¸›!Wýç,¦.hóm]ж'AG 2ŽiLM±7%ß™¡M€q†ÒKbÂ,%Š‚ÏÆ¡•"Ð!qùf®¸…|øÆþ)#|ÕßyQ‚ÿ¿ÿøw`¬ñŸ‘ò™†Un˜Ï*úYÌ`#%K:«sÀøp“º¡(+„‚Pkœó™ÇÒjžúÔeâT£cE*ÖG}„ð‚?Û/°Ò!DÀ§#Ì&9A¨©Ê†(ÒŒçs”4¸²%65ßú×<Êý;ü]ŸQ=Å{ÿõü¯œ¾ýü·ü]¨*_×wK;P/ˆ;Cʺz•òF›ÌP.â·¾ëAG7&ާ9“Eó=Ýtüzÿá(a ¤$Š$I QQ"èö ×•t»’a?`­/iœå¹Ë-Ï\ª¹¹Õ²œù|³«V0ì Nm†l èŽ*ôX†ÅX’aºlÈñ†à$t"I µq3Ç|ì˜Õ•«å„Æ b¤Œ½·FÁAÉ“·&Þ|À7+•À…±=š6dYtbIÛ6Lo¼™7Þÿ-먭¡Îgt‡k` :É<ÐIHŒ1‡;”|ä¸áVÌ’k}ÃÇ»_ün².;äãc('H7®£tŽ”k»ôŠõ€ºÑTmL¤[¾$ùÊÏH}|9¬ç€’л÷ŸÑÔ5MYREž³XæÔmËèØ ‚¤ƒë,M]ÓÖAEJ ¬sLÆ®_½ÆtŸb¹ È—hж5Ç6ŽqòÌiâ8d1sãÚ5vvö(ò!Jj¢8"ŽcALjk—ŸºÈl{‹,ËèÛ ·¶šð“´mMUÌ©Ë%mÛâ„àt€д5ª¶„u E ¶EGF‡Ø(!êtÉÒ)ÆY¬3(© U„’úˆG¿r%R”… xÕ[^°àßÏ|7{³9¦­W“Ø–8 ­bïfŒ![‹Ù(ªµ*%eaÌ­ ‹¼ô¹´Àú¨OÇÌ÷r‚Laœa¶(HbEȨ5Ô,Ê¥$,F¡èuú ×(¥˜O—ܸy c i'e؉dÍh”òÆäq¾÷_¾ûbùëœý•×·ùÕ_ÃÖÍ[ º1“ùƒõuÊbÉñ¾7Û¸¥¿)ˆÌÓ2HË4åbN¹(øÆÿ÷ý %RZ”²„±#Ž!Q‡‚¶6Ì–†ºð‰?:tz!ëMm-ׯ·ìïÕ ÂxÖ»“ÀmÊ‘„!½¢¿¦ˆ#CUêeH›[–yK¡=8P†naàa÷®uT…dY SRSœM=W^F8ϾVòÑóN¶º¿CÄ °+pNâœ/UHÑÅ:…s-Æ5lomòÙÇ‚f–g1¦®X.f„IÞú:I{|¼]ËY&MÅýJdrœÀ9µzd·ÞRÙ&´óuŠe‡@Y¢þ6Ag±‚Z94jåž9ˆüœ,; ¤tDº"Ó1¯•~Àéå¶žþÉÿ×?‹ij겤. êªb>›³X.é‡ôú}Œq”¡2†²¬0mKÚéÅ‘·«®pÒW¯\åùgŸ¡©*¢(d6²\,hêšþ ç¼½.ZiÔ*—@_jñ¿ Û¶´Æ‘vûäEÁŧçÌ©Sœ'³hZÓR–’ –Ø\ch›–²²ÔZcP²¦É%a( G‚Ž]!PKM…Fë Ú)ZgPeM“¯jÉ* Ôœ-ÂaW "-Î.‘ø˜6, F9>ñŸ¸ký³Ð‘¤n®>™Ñú–,•"í¯gJJʺ¢e|þ}ÿŠßöëqzÛÛ]‹Þú"œ@5Y†Ä& /gz Xí†W;®NäÙÛ­‰Q8–Uslñr[Óg mÓPW%eYúd/Ó2yüAUÔ­eYVX'Èó%N@y±¯êšºªpBz÷M§Ã¥-omí†TUMÓ6ܼ¹Å•Ë—éõzŒ}º½>Ãá€4ñ"a¡*K¬stº=0 ÒY¤R4mMÓÔ´mëAvQ„” ¥•穈§ŠúÉ«OzðYR×Kî•:–0’ôzþO–J’X†>Ü Ô‚$RtI'‚ñ¦3_ŸÓz‰¦¿ÓïKÊ¥aÏ2›:Z#œ°~ê³2XgµÄjZš¦¢jN(Aœ*:EIŸYé  Æi2— ¤"X{„£šT“ë(®EØk+”–þ¦³òè>Ö:‹†$…[|˜Ùâ^¶÷¦Ø0âãÏ^!¼|‹$9wr“W>3ŸŒ‘Ö ÃõsCî>ý:ž¾õvËßÙ‚=p^X„ªÑªÄ9ëÕÀÓŠ ¸"SÊ“V®´qØ€“:GàH‚춺—×zpGI]Jiâ$ñžë,ÃYCUU óÅ’ÖO“/f¾®-mÓ0ŸÎ(ËŠ|1§mjú½gï8ÇÅçžE Áææ&ׯ^AHEšuȲ¥uU1O˜Ï„QLœ¤„a¦fëÆUʲ¦×ïÓëv|¯£m¨ëš²È R™ˆråm~+ÅŠ6êŒa6žRΦŒ2IØVd¢agÞE)ãñ‚Ž 02áç²`)ŒAZG·'ˆ:E ‡ÔÈ!œS“ØÕ†@BUT7¯ÑŒwi‚”t¸FÖë’d ukØ™ŒétúI%ù¢ÿÊåm²8D ™kžÂIX9­5T¥?'ŽuFL—sâXÄaÑéw‰³„¦¬¹ymJªºe¶\PÖ5Òj’8E…Ž( £‰ Ìÿ„×”O¸O÷ ´f¹(¨ƒ,È-ӢĘ–µnÀFÕ¡¾Ýu÷ã\|æ~¾ê«Ÿ{ÑúöÜÅþ›"ûëö¿wåªÿµõOý¥õ퓟x’ÁÚA'^ŸHŽŸÞd0õ$åÒQ–ô¹Ó'(눲Ü"v :1Ç{ÇI{ œ$Š%YÇßõ¬sä…£ªA GJÒuA7Ó ×$ã±a¹4„Œ†!Ãõ€Nå¶»pýJËΚV µO`GÛ¶‡S¤¢±Xë¡6$©`ãXÀ©“!Ý®ÂYGÓ8ÊÊ;!°2¦nœqÔVøLg%ˆ;+d·h¥ÑJxêmqή:î+ù ¦ÑÉç™_ŸñìÕKD'‡{¿`Ll²Ø»‡‹Ï9nnï’EUUó…_øy\züqF³%‹IˆŒïYîèq9(iTB· V»áéT»aï}?@8ÚÖïÈŒ H‚æÐñòr[=€Æµ ¦mý÷Æ`V¥!––ÅrI§×g9Ÿ1ÑQé›ÏÎ2Ùßg:ž¦óék aráîWðäãO$wÜu'~êQŠ¢âÜÙ³l®{0ŸqŽªô˜†"_ •ï”e‰Å;xz½‹ùœ¶ñtRÓˆ”²wTž?‘,b2QêLÀî´dwRÓ%×–%ÃLãê–µc}‚P`p´RÓ–‚ñ~ÁÖÍ)‹eE' z­Z:¢X!ÇR ”òç~R P«%E3ewoIÒt)j|{`0¦$‹;¤Aú¢?šî áø‰Œ¦¶\ßÙa<ÏÉ« ­EÝvCNn éÍ"nm1±¥×M養r‰³-Ãc]ª¶$´šH…Daˆ°š8mhdE´B8* Ò„Ýý)û“š@ù(Ä8è%'N®Å1‹EÁl<#ˆ$˶¢Z,8yÌŸ¯·ëÛ¿ä:]ÉüwçùÿÖ³/Xß>ò{÷¾`¡ÿóÄo÷m¼îsûKéÛñî&çÎÞË`S0Ù½Åd[\£lÇ F=bi‰³½uÍ#6ë}âÞDŸÉl -JA9éPXšÊÊgŸE¡#NY YGв®b㘤ia(HR‰Ö>3ÔrU/t´Ê°½ ­- …3Ê£dõ)6‘`0ô¼‰'4Çk:™ÄZï]].}ý*ΜB> Ç_ˆŸ^pÍI)-Æy”VúОçœY(Î ºý£îøÔ§`ðÉÕ5|•ÎFÇïlí!alšU°ˆÖð[âUÙc5Õªn3MÜÚ_g6д’º 89ªxèøËs=Ö‚m}9¯©+ª²¤®kŒ1´­!É2¶wvqR£µf¹\0›N˜L¯²˜ÏØ<~‚$ ¹6eÂ(fw—n¿GÖéqîÂ.?÷,÷?p>ø ø‘òìsÏQ'éõ:à ®+–‹ÓÅ!|ˆ¹’CKÓ4t²uUùigë0ÆÆMZa‘·¥¿ ¥p“­n5ݔȦ›Ã×4\œ-0MC<bZËrB? Àë8F=¸³ÓÅ™Î*ëU`œ@)ë#þ´ðáÍ«·“¡-±JÑ"©Œ¥r–¶Ñ2Ÿ”Ìg–<¯9¶‘0fäøsæOZ.ÿ¬×ßûÇßL˜*ò¦Æ)‰l%ºU ®kŠÒ"„& 4Û{û´®eãx—Æv&{Œçž ê¬%K;DŒ÷&L'%£õŒ$L(ˆi[Q5fÕT¶XkÝ.¡ÔL›%³i BÂ( êt;#FkŽI/¥* ªªôs¹ûLúöæ¯|æëÛÏýì]q±7 '„3 ,Wù >ö‘À;ßyù/¬oñHò‘?þ/ÄBqüì1Î9Î \§,:Ç”Kn†>wæ¸Ï±zĤl,£5‡k,UáßX ‰$a$qÖQ~8A¥Ž8d©À¡<|åä8°@­¯k?´ÔHeÙÞ7ØÊâœ8ìÔ¨Žm*x äÂù€õ5ECÓ8æsGY ªŠÊá¬%Ð~n^ Ç 4vúòŸ\„KR;üPÑêÑ[ =Z`uBC-Î,¸¹5çôèH´¤MØÜ<Ç–-è¦]v£÷ð᧞ೋ·Ð;u‚¤¸Šµ®YâÆ ¬gÌ¢ÄÑÜ?ê¯zj„‹hm…ÚV±µµ‰,ù,f^Ifû _qüå¹g ƒµ-nq…“ IDATíJx˪:¬ïîì²½³Ëç/`MK¹\Ò4 óÉ>¶©ÀN9퟊‚ÑÚ;Û·ˆššå­›ôú}N9Ãõk×yÕƒòšÏy-ûÈGyú™çô»$Iˆµþ‘}¾È}Y)JȆ}æómÓ %dY†µÖ×ð­w 5Uåù+ÕQI‡Ôî-íðß;ãŸÄ"¥85 é„Cf‹Šn¥¦.1e‹^Ù蕵Òi‰ åá”,Bж-RäÊqã´ZýZÖIšÖ1®r¦e…Cø'‚@c D!$‘F)ëy6hS2ýøO¬TXp뚇ùž?,éG”M•¢± Ó¢&h|ã1 ƒµ„í›®DiM¤`¯žÓ:"…u‚4ÔLg9‹ræûKQBÔ„:aoº N’¦ I’`w,Ó|‰M÷qz†Ûß@·’nšaJáñmC1Ï)2…RŒ­W;ã–ÂUÔºæÂ©Œ;S Ô/Hß~åýwòÕûÒŸÒ·y÷_\ì{w¥Ú áá?B¿êÔúÓɇøþïÿbÞõ®+!};~z“{ﻇ8Ùd’_a²;f÷Wø³>e<#f€öS[ &ÛÛLö电$––¬#´† p„¡@kI(âX¢µŸ0ó€t(s‡iü]1Æ8*c‘ ÒØ[º™$ kýNÇñð“-»7+êÒ¬0ŒþýÖ†‚ûî xÕ!››Š4ñ'x¾´Lg–ÙÜpóVÃtbÁøÇ)!MAH~Gk ³Â(…uæð&d­¯ãáÌÑÔ¡u‡ÍF寸ˆös©Ë(©Q¢dÌs׆ÁzÁÌü,ÃÑ>zóC<|ëYª‡câ^‡ýÆ2LçhÝúT†Âäq‡”žI#øã?„U8gØßq噔Ѧ¥Î-‹Y@µßÀç¿<×ã°‡œ º®™Íg$Y'¤®®\½ÂÆñ“„b¼?gètº^L­¥XÌÑR¦)³é”SgÎrç… ìlmQ“ñ˜‡zˆë×Ï_ºÈÙ³gyàU¯ä±O=Æ­[;(¥ˆã'UU“f (Ò$c>÷ }ÓÃmÓÒšö0PÞš+Zì§5mœ“á!wBkDa¥öYÜJ…Šõ(`8H=òÀZÜ*•KH ê6ëä €æœß(I²ºëzbª³ž®j-õÊɤ…dÔɰBb´Ö¢E„Aˆ Â0^MáªÃ.‘³GëQ­ ÓëЋF4ˆ½Å‚@´à,yQãjM^UŒ·—h­èËpjÑŠãÃIQæ5QQ5-¦¶ÈÄbE…“-ë›üçØ˜šÖ4غA¥[ÌןãS‹géîŸáþôuŒÖºÜy×&¦i¹qeŸ¬²,+ŽªiÀ 拊ÆT0^´Aåc/_€¾}ý7\æýﻀoü†K˜ÆñS?}ç_@ì½ó(ö {ð,Ú\ÅM®²øðÓˆw3P ¦*˜ÝñoûÛø¶ïxîEë[J?Cµ}‘8Žˆ{5ë7;ÐÒ±ÄÝSÐÝ'Nº¯P9N؃´›Õ‰hII‚ÀwÔŠ‰mZGQÂÞÄoÿâPxGCä®­|­)(åÐ(Ö7$ªëP‰äj§åúµ–õm+0¬õä=k}(ƒÅ­J^ ¥w| ˜«kÝQ:Zf³ÖH¶¯hœ)(æ qG/³õ¸ºÁiŸî5Ÿ/(ò’^¿®ß¼AU7l¬XΦ‹Y–¢uàqÆ+¿¼i[úý.—¯\g¼·Ë©;î`9›Qóñ”kW.sáîWpåÊž¿x‰A¿Çk^ójöööXæ¹÷õ›Šõµu6mÒ65ùrÎl6AbÉóœN·Ëp4D+‰Vš8NÐAàQº{Ûuiq«ä-CG!¢“ù9$!-Zs˜R†µ‡Y`>ïCÇüÎÎ:‹cKk}‰q–Öø?Mk=ÚB LkAJ’$¦…Q”’hñÊ£¯üÓáA§ù¶U_¬¥!J+Ò4&ë'”UÁdš3+—”uCLÌ=ÞÉ ß§×ésíêuÆÅÂ4Ÿ3-–Œº›ñ·pÈ® U5»ãó¢DIí›ö8£h\‰îóÐãÒž£¸q{÷uò¿Âc{¯áþä ȲÖ òzáǤ&Ô!JT…E‚,Q RE™Ï`¬oßü÷.cZÇÏ¾× ÿ#?ü&†ýo¼`©Ï:kÜøÅÿÊÕ»/’ XïJÕp±jxäñ-î¼5fýTÀîÖ’ág¸úÈñ“ÿ÷Ûxýç?þ¢ômk7'rJ‘RÎÇ”û5e˜, ƒ¨OY.ˆ“.zkzvnQ@¬%ÍúºÏÕ­j‰5)^å¨"Ò¿±Ò‚X@;œtLf–ºié¦0èô»¾žo¥lÀHAšI†ëއ28³–ðüÅ–ý™cm.œ×œ9«ô}-Pr[çPÒ‘D‚A_`?ú|ê”d}ÒÄàhh·ò¤+L+(KqX kÍ¥çh®Ž[ƒh¼Ûe5ˆrÀ~Y…G­Ć¢Œ!Ëî²,xþòe°0ŸþE~vëæeYù]>Žr¹¤Óë‘&1ãñ”›×®qöü²¬CSÕÔ»þÈ#È×Yî¹÷†£W¯\æÖ­mNž<Îh8"M3žyöW¯m±XÎè¤APV%ãñ˜~¯G’Ä(¥Ð:ð¡èxÑpA ÅÁMÖ`ªW—¸Ö÷T"ÃÈWn\ÉpàI•±ØV‡!A ±¶¥i ò¼¦.+¢,FÆ’e‘{וò;a!Å*ÎP`‘,ë–TJê¦b2SÕ ¡ŽèGmEm¯GØ'LÒÃLdŸöÕùV!Ò¹ŽŽmöٞñAH8¶· ªº¢›&ôº1¥É)ê’b×Ï…(­ ˆ“k#”R\ÙÚ¡iJšÜPÛ†&¨Ñ‘$Êc:˜ñ2GKG¦C¦îw¾ê£Ä½“üÜï_d{ìÐ!ܸ)ÎÀô¡ ¡Êg<úÜǹgpáñ â‰{h[‰ÓŽ$ŽPZFMU—†Ý¢‚­oïú¡Süî;ßÄží¼ ÎàüŒŸžÒ9±äDwl½‹\å©?ºÈ¯*G[É>÷6Ö3ž~âÆ§÷ê#?Æûßÿ6¾÷{{ÁúVG+¸å8çù›×˜ìy8Üd· ¬KÎmž@ÇI×Ãu6BÏ_hd1ÁeI¾ãT k#Ø<Ž PÒ×ñËR0›A];’T"@Z‡]¹6Âô*ÛÉÕñ¤¨¡¢ß…P{¦Fh¤“´¦e:m¹¹Õ0_ÔŒ-ëk ½žf0ŒèõE ë–,³ÔuIY/ØÙŸ3›ÕAB7Òé p.Z%´)”ìbÝ ŸõÑÝü q´–Ès^´¢hÕ”´Ž0ô‚xðÄêËÁc¸ ¼é@t…ñ "kY…ˆ8„ i]í/Ú£CÖÆ¥pã]MY·"éÍQÁªä¨¢ó2[o€6(!uÓ°»»Çt:õ„Ý.¦5Ô•wËXcXÌ—(©Ð«\ßétŠÒšn–0›ÜÚÚb´±ÉÆæ žýäÓTã¶üòÏÿç/ÜÅk_ÿj¸ï>¶nÝâ‰'ž"/kÆ“%ËeAU×,s­HbE(®^¿ADq´ªù'h T‹¶'â£'°|Ž©Jh*\ãׄ "Hp­£h*’P!d‹©„s‘`p\½´EY,dQ¨ „ŸžU"D ‹v¾gƒó¥œÊMüjY·5[C‚#†®ŠHRÿ³:')¦s–ÓQÄ Aäwý· ¿¤;*é„QÄZq}{'½~Œ’Šñb†mUÛÒ¶>60IB’0D+hlI¦ âŒÅvŽìHÒÄO7ǘ8ŽÈÒŒî"e6Ÿ±˜Ì¯ü7 Ç}à e2Ší9q2$›;Ð 0Ú‘Þ>´wc·,§nt¸ÿ•R¹š¶±Yšç5ÊHšÂåÁ‹Ó7€K3EçÌùÿv½þìÌ~ãwpú:›™Ae’êÒ%ž}r‹=U±31¼õóOpæü€ÙTý™Ç=qB½`}‹›ôMÊ킲(¤pîÄ:ÄL¶/óüS7Ù?ƒ~þÒq²É`P@Ò‡bJ¼ìñÚ×<ú°áÊ5K¤ëÇ$wœ…ÑÐp°)°Î_ôJŠÍªFà”·ïI奠©ã™ÁÚ†´#Ð?$¤ߌµHïúpÂ'¬µ–ÉÄrs«åòó-[;-ááü5'Næ 7bNžÉÀ„aCUAY5ìŽs¿x“‹O]Ã5-§NŸä³z¯¸Û‡v+ÑÁRa] TXÜQdŸü´¨Xÿó߯•ø™#¹*WHy[¾«ÓÑâ€ßø¼ïßÂÖ ÿï~ùCG“¦;^XW£ÂFÄQfèAÄ:³8Ò)Æ8§èvŽ.À—j=ÿ¨âß¿Ïðø§¼éd¸½¾æ›`°öÒ­G 7ˆ¢Óó7nÜ FÃI1ŸÏ)Š)×Y,–4MM’$A¸¢VüoùŸvá¼ãÛ¾“ÙÞŒýÝ1$%К|ä·>íï|ûßþZ&ã9­† QJã\…±Ž|Y`\Â|Y3žV”•# C’8"4Z«Ãf³5G%¦ÌÞRá-™Ÿ&†BjHâQרºB45δØ:f6mÈg ýDtˆ¦Fêé$uÕÐâû4ïÿð#¼çß}„«·&<úkßG¸¢{jk œ Žb¢¸‹V%( lªÅ‚z²Ïþ²B¥Ò^î ‡ÖúhWõX®\Û¢iû´DÄQ€–-Y,©kÃ4÷Vý0¡ÛKétSŽº©iâӘ–µQzˆthm‹h%w¼‹7<øFN»ƒ@Ló=vøÞõ»ßÇc×wxþÚ‚þnýfÆç%7‡ ò)d  ´SƒS–R;‹TÍ=ÄQL±,ѱ·Ä’„«SÒ5 ˜­o;6ãþÎèhjö÷žä=ïýŸxøIò¦/{-?ø=þø¿`ëKôÏtó]ª§v¹ôüŒß¿ÿÇÏ= ÀÏüê£Üüõoç‘­òO÷àuþ ׷­ß~œ8‰#Á@@YM˜ÜºAœœdÇÜûÐÄB ãNLYï0Ù ýtŽšSî½7gs˜ðØã#ÇO8=ŸçØß!¶ÎsÐX:]AX;ÚVЮj™Eî¸zŲ˜†}A(l ¦8% °ÒÛHŒu”Uë‡JwVJ`[ÁsÏ8öö¯¸¿åL;gsXÓë%uËdÒòèS×øÔS·¸xub\¢h(ªëT¶¦3h`ÍoM] (V££ãm½©C1sGÔZ/ŒöH@¥ð(s;Øâüî‡?ÿ^x×Ã7¿u%Êòpˆô04ʉU|ì*eÊ68åáp‰p‰Å ‰t! ΩÛÌ«/Ýz>ð~Ãßz«à?èhkø•_„_øWpùüóŸz)×#ÐÂZE¾Ì¹~ý:MÓÐïöè÷)Éó%}ùdß§ƒe J+~æGþ)Aðõÿ›§ˆNn̘Mg zkÄ¢(âmóá©kWùõOxáîâuzYùdÎ÷߉ҚºiYäÛ¤I‚±á¤àÖö6×ot ³ŽÑhäkâ¡ö9§7+«¨k[\»²S”9Bù]¦hrÿw„ÃÚ7ÅÛŠ¦n : ƒT¡…Ôrõäd=¤MZcùàÇžæÇß÷»¼÷ûßÊ—çOû²Ëpã¨>ß¶()‰ÂŒ ˆWî›U©FiT%agF^ÕÌ»”® Ûë“EÙªñ~ôû‘ózšHjÖ{)IaG–¤Ôµ¡Îœn°¢ÁÚ–8J1Æ|—MM‹¡;L™íæ`%Æ:ª2ç³ï{=þøoóôÅgÐJóÿÃ+yý¹¯ã»_w–ÿç‰7±y ¦A}Ìbö3l'g#±¤@µ#Ù)¡Û:®}¼àL:cóx@[ùÐR:,–3g{¤L^”¾}ý×ÞÁÛ¿ùKxå+_Í+Þú&Ï=ÀOÿëÿÌ·|ýñº×|¤=~äŸÿ*ßôßÃ/~ß‘Hpi—öê7ž¯øØÕ–uÄ¿yÇ›ø¢SN½åßó±?¾Á<7ûSÇ=(ëüõ/{ÿáƒü‚ô-h%åÞ„8K‰…e²p ÖRÊâT>«Œ;èャ$«µˆãà >yå ÷ÞuŠW'1E±Ê8m-E uí§<¥«a*I òÉíUí[Ê\°uÃñôS-UáX¬KªÚ±\JOŸë9ºAÒñµþ¶uã§ÌÚÆ¡$$‰O•™Ï-7·[æ ÇllØ?6§;£B‡©üÞGžáæ^Cfœ9{‚n'@ Kc >ùèuþæÝþTw¶^¥Ô¯<ã+ñ:Œþ[‰ÖÚWܶC6öhw{Pî°«Ýô'>êxÏÂý(?ýéZ+…‡ÅI%°Æ_pBøiÖJp±Ri‰ÇN œ'SJë]¡6·¡^šõüàÿuàÃWÿ]/øWži×#VMƒ¶mÙÞÙ&Ï zÝ.ýÁ€¬ÓñŒº¦ßíí[€#ítÈ:]ê² m[–‹’2_7J;ÄUI'$i䉲d¿¨ŽüÑi­7wnqÍ×U¬õ| gÆh–ULF¦¼‡^¬œ-N¬ÂË…Y!‡›Û\/Ízvý¨+øµ_^…—|¶{©ÖÛZ¦Ó)‹eN·ÓA ÁhmDEÞ-c Ý^—ºmXä%ƒã\¸÷FÃ>O~êQ®]Üb9/Q‡^r0mƒ²ŽÚ8ºRCÛà¤fØ=ÊõѶµžÂXWÈ@G!Ng¶m¹tù2½nÊÿÚ8}êÎZZÓRWÕ øVa¢ÛM:wç…SÊ?ú¬ðÍNkLBÅ©w‡¬i¬†ÛÜŠ´_´|ò™k”eÁ«ÎoðÌÖ.ïøÿ‘öÍoF]3·³Ã÷ßÜ#<±†Q5a#•>DSÜÄ­µG¡#Rüî_´„QL°²Ê:w0ù¾êI°@È¡|É­lpKêÆ°±Ñc1WìÌêU ÏPU-ZJ$ñCjRÖô; RDAHS׌÷|Ó{ðÊçéEÎo¾Ù›\Šâ„âÎáÇó§µô Å“;5¡KØ® Ù³š›÷Ö4Ø ÒÓs>¸üO|yùeôÓÓq@ûÁ½ Ö¤.Ê¥o¯|õ«xྔÙÅÇ>cå^¶Šÿúáßãsî[§5Šf^ü“Ü󹣟†|ÑCÇI:°¼è7#ÓJòÆÏûóû©OÌ_¾}òáçV¬*Ëñ âõ¯~õç¬"j§líݤ¬ t¬åêVl•7)Ÿo)]Äl]«YT ¬4“)Œ§–ÅÂQÔœ$Ë4YêãÁ:™¬Ÿ ‹cG·£Ô¥£(ùX`v NX‚À1臜<îЉd>5‹–¶¶´-ÔFИ–ªnhjoÿ«–pý²cº+éuCd YÖKNž>Ã…ó'¸ëÌÑZ„ 4³¥c%,þ.š«Æ(ž¾tн˱$;fhj…”‚'Ÿ9Æ…óÛœ»c%AKñ)¹ ·jU7‡»êøxû÷ý÷sXC?Úµ4G9tÏ̪ïˆuC¬›£€ƒrˆ“ kÏÞú'¤9x½Të9¨ ½ùóŽÞkó|Í7Ù£ÞÀK°ãËå’årI¥H’„n·‹µ†ÙlŠ´Ö„Ÿõ†7¢ÂWWlßså™}L#£ÑÚÛÆ Zí-ÇÖ„DÜÇùÛž–$ãéã»[;ÜqÏy´q«¾ÀÿÇÝ{GYze¾¿¾xbÅÎQ¡%Kj+8pÀØ8€Ác3̘tI÷ZÀšË.Œg˜À0f.—hl°-ƒ±ld'a#Ë’mÙÊ­–:H]ª+:é‹{ïùcŸ í0È€×ÂÔZZKU]õÚ_}çÙï~Þç}žsçϳ¼ºÌõ×\Öz?IPʧ5Æ1á(F[æiBœR(#µÄàæeYã\E=(HÒšîLÇ¿ô4W^WVùŸq'ïþë¿£·²Ê\»ÅÑ}³Ü~â4?õŠçqšXY?d´Á³ßs}“$I%ýºv¦I›Mtàœcm8@kE·ÙB"H“»Ã=žRSrâ‘¿¡øÚ<)ŽÃf±"áÜR<«0Æaœ! st$hD)Í4aåÔUI(%ã² ¯+¤hW2ÐH«£œ@iÒND²ç?÷ª÷m¾Öâèqâßs¹K¹¸¶ÄU;$ž“̶»Lï\EC÷d‡bfÀ¾µý½#º1œX±DvÄÃÇàúË»„©·¢H£tM]ú{eŠ'oû¥ÿñÛáÀÜI//Ðxþ7óÑŸþUÞtëøË_y.B×iéúû“ïâYàùWÏqÕSº˜¥EN/xWsjî{]ŽÂýŸŸ¾—ÑmM’¯ì çè­< q ËΩ\ud '-ˆ"ŸnÕñ6 wŸŠX–º*R0Z–V$kkÞÐg=¯Á f¦%óó‚VÓ…#Ma h·»w{{…$¬¬ Ö×a4¥ßQË ú}ÚRªåjŒSX)Jb…ÆI‡Æ"U³ŽþÈ0*!mö¨xöÓqø@‹N+f8V¬­:²õ’Ѻ¥ÊãÉ+Tpüøήt1±´rö”`î a܇¼/Ù1Ÿø#Ù¦ZÁmV¾B˜M Û FÖVáßÝüå{ößöxÏǶ¾_lÔín´ÛU-Õ³µoˆO\'sj‹ŸÿZ­g£pÛ0ìÃûþþô÷á×ÿüçßš¨€¾ë1U…­K´h­IÒЋ+Íp8À‹R©fwïeþ@Ä=Ÿü4Ý÷ÅhŒ©JtR™Käãäu• 0EM­5„ñ–QØ ³4\Ç"X8s–]öÒHSëë,¯¬rqù"Î9ÊÚðÈñ÷¢ IDATÇHÒ”'1RJœµh­Qvë…uœxsQgP* ɰßg˜ç„ZÓHbÂFè ™Þ€!CFµã¶»Oó¶[>ÁC.–ëíä™Ï»†›®ÜOÛÜúkðnùè—}Þ^úæ?ã¶Ÿ}=ûî¦Ý uFù<뽘öÌ4(Í8÷Zöþ؇1Q¨ô’? ¯ì·ý¡$vœÏVI¢YÚqLqÒÒœ½‰W”†qÓhƬöV¨Ššj`¨kG)*éè Œµ4“„(ˆ(ë‚înË»—žÁ‡ï=ÁUÍŸà§žõ&¾e×ïòGç¾…cËŽ¥àéÝñŒ¢\“ÝTòôùeH§Ï î9«g ÝEm9yñ{§×Û㢠,*¢È0“ø¦­]òøpý¾ìK«p£ˆŸù~ï—‡ßøËOò?è*®èØz —è]¤–<ëpƒ£7ÍA9f¼˜ñÀ¢ßtnºþZ®ÃK¾âuÖOßbs\‡<óÕÆÁ};È÷¥ÄBpúÌzå2§O€Ž÷܃ÈoýÐÜp¸Eoa‰îá5œv,,VŒÖá†g]N0`ÏöYZªxpÅþó¿ù¾âuÏßõQæ^õböìUO ß^p´AoiÞʈ¸-9¸{'EÖÜ·Z>ÑPwE ³]b„-b<8Ç}·„L¯fkÆ•c½'q¥ÆA•KŠZQãaÍxS »w'4Zš<÷ùŽqdoÐnûã{šúá•&¬,Kƒšª2˜RxòÛ§¤ÜvµO½×‹À•!`P¢bvVqôhÌþý áåØñŒ{î©xô˜`4šð’*Ø 6¶¤¨*±Œ×ŠaEÒ¶Ì2ŒsM:-h†‚™™Ü+2„Ão i'Š› P´ƒInXnÛ“û"̶èP㼆÷žÙ¢P”ØÒÌO£/‰uÈIÃSnÓ­mÖó‹?ßñZ8r:ù«wùïyÊѯízüi3%ЬñædÎ9²¬"ªÒÛ%×E(3ÖÏ/' u6fmmÍ[-(M †­¡¢4˜ªb•ŠÙ™[ j›ezzŽÇ—ÎQׂ)5£ñ˜q“åaä•@×\}9O¿éŒ±Ä“„­ª( ц:Ûæ¬㬅0D”½…sœ}b™æl—~¡¹ãá'xç­ç¶O=Èx\3ÛHøæ£—óü£{Ø;0µh9eA1ѯkQ¸SåµHÉ*Û¤“qäïÓêéóeEz¨‘"Ð!$yn äYEÝÔÆ¥øÖVG}„4“”$ˆõV/dµVá0µ£²5f“:wØÚÓ„™Í1¶BIŸºeŒ¡Õj„!q` ‹­,APbèKÆYÉ¿ýþŸâ”ûSÖ‹Gù¦«¯áG¯{ ÷Üw'Gö4xtjÈ^)á*£ó0>¾ŽH÷ÝZá– Y¦v7Ù¿whE1.‰›šP¦›c ã¾GŸ<¾MÞmÛúr1{_ýZ~íç™?~÷gxïo¾‚+÷L±vú÷—\xlJܸGó‚Ÿ»ÞÝ{p…![Êù»…Œ^åßí=%Ó_zÝÕ/|¶YàèÑôÉáÛÓb¼jäC.,WàÎH‰ã¬¯ÒmO¡=ôyH»Ä®"Ï$!±K)KÍÒEÁòjé…\&ðCÂ`¦2ŽÊ êJPŽYϰ¼PКIi¶4A`ˆCœ8í7œm³ Î „èÀ1CQzó5åÙ·LÂZPÎ=[KtT²kwÀü|HoÝrêdÁç>Ÿqâ¤`ÎÚ-Y£ÚxÀÄ) í&®Mxí-«ç¼òÕM”b²ÄMÏ”‰yœµ—nbSí#¨ª­7à×j=/5¼íáøC~C˜ß¯þxí¿ùÚ®'ISoºOZç(ŠÂ‡—+ͨRUÞ:B ÇÜÎ.§0DÖ±žg8ç˜i¶yó»~ç’MäÿæÏxÙM/÷:ó@ó?þô7/ùž?¸í¼öyÇeþDôÅЛœEs³S¼ô…ϧÛía åÄ¡Ô:o‘ì¶? [Ýo+«cËÒ¸æ·ÿð£|è3' æš{yÑÓŸÊ3 v74aƒsTyN(¬´8#…Á™ŠXÇô3ÔNò…·xvI ZÝ”¦ô`Í41ÖQ×Þ›%:&!ö!AâŒeœå,-_$+ Zi“™Î³ÝÎæµ»íYÎ÷,ÎU~½ÖОnyÿöÚ"œ„ÚQO‚ÊˬB’!£ŒÁ¸3‚¤&“„­z@YW|ì à5/ûNf¢_B 9;xœ?þÀïðþ¿ø0¯ù‰=¼çáGX8&qåÙ6ƒ¨¦2ºÓ†ÃW[¢Ò–`o×±,`µ¬ÏÒâÍ›¦i½‡(Ný¿ü;ëÅ oø‹Kž¥W½ð®Û »o˜Ù˜ÈÀŽKÎ/ ¹ùîÞ*2Z~c{âÞÿvÉu“Ñcì|õ{yå·}œg?çÉáÛÎŽ×ñÇ%Oâ$‡h¸y¡È‡}.œ9…Ž“q-ˆwÌû1c¬¥.A¢ÁH$¡…q€ÂÚõ¡`”Õ¨¥j´‚8Q$‰#Ž Œ-qä&&Qc<¸Ä‘ÀY¯·×-Ašx¹^Y8†Çh(qˆBz=s("JZmG] Ž?a¹ÿ؈g,ã:EGÔž/¨ ¶ÚBãÁj‚Œ-û®Ù€hz‰ Ñlè #HÇh „AÊzR:Œ›hê'TEeüD«-+*‰Bmyÿß})mâXëÕ2`{ N̳„p›rI¹qb ô†D_Ûõ<óyðŒçB¾m=Ûyþ¯ÕztaÌ${Uú×Îó ­µC±Þf#C”’Ììž&œJk‚%}³sœñ“ßñ¤ñ•hi ÊÜ’ãhuZØÚšýîG:A–þ€fŸ{àsþYÇQ;‹)ëÉT¦÷ç=óæçf´V^Ú(|ñ²qcì¶gkŒ|êØ:½ý.>øñ»9vrڷȹbg—o¹î ¾õÆ+ÑõSq”*À!©ÊœºTUå½^‚²ô¡tLþ®‚²*xß¾œ©Ù6q¢C´†™VÂB]¡ƒ#Ž=ejM„hj?-k„EE­NJTjâ "£MÅŽ—rzûìÁ $Ë R•tZÞ¨,UÎZ=GUìÝצ65£,§¨+„„²ä¥¯®¡âÔê|jü>Fk=~óϡ׷PŠ=G÷ÐhÀSvÏqñvE KÃ1;çf——\q•áTéX~†±ãšCQÀË®…QžqâÓŸ`êÂ4»ví"‡æº¤ÉêÆYè«Â·íãû>ˆ®X½õEèîNˆ[T&æÂ‰óüõíg¹qÈK¦ÌîßKÿ±_…Þ)lÐgø‰ï|:ß÷c?Isá“t®¿æË^7›µÚúIã[ïÂ9ˆòÚz?´HBîˆãݶ$žõ·î-gÄ£çÄè$Ä"B‰tò`yE¤FÚ=Ö8œrþë(o…j,eæÍ†cÏÉkòGI­Aª µ‡×q[aósŠ={­¶D‚µ5ËÉ5gþÀ”¬˜(#ª žxŽ?b9q&g”hå¬BZ囯¡ÔD¥3ˆ jÌ0d×^Igç2R–H­Qí>J(•xÇ@a®˜B85Æ9/—s0.#ÎôZqÆîVupr¹M'Í™oæþD³-ìhÃŒjƒ6ÛÐsÚrÒø´›cíÕ·[tK3ÚRdüK[ÞR /‰«ë k-išRd!%Ö &e9#rf滬ŸYDiM^e`*¢¨s9ƒþµÂ4`®Ý!ÏKìzDkÈʆ!é6Z,W%C(™”H<räò<ûé7øÃý„z›¿³ð¾:J¢Ô–ìÈÕ–'ήðºûo,‡8ç­„ð•äÚÒ"b¸“å¥ ÌµCD] U@™eáEÎ $’ºª(Ê1q¬Ö¢¥…*G% Ós]¤HeI!~>®0{ååÄÍ&aùØDj)¥$PŒ&l"Ò´¦:ÞƒM ƒMÝ>ÀÂò"Ã|DUj¨,®6dY±e˜ùÆNÒ°²bXŒ¨ëšF’ kI^ä…!+ƤÑH™>Ò%IBÖúçè÷Ï‚êóÂçïâ¶O-°Ò7p±Çûÿ¤Àí«8|Åm­¸,Ü꽈Þ"6Rsêxž=YÂî—ÞH~O»r?˜EPeV³çÊ£Ì?ï…ôN|ù!«ëÂ?ß"A´É@áˆ[‚|Ý©yirÅÐOÚæÙ2q2ËÎÝ;éÎÏÓ[_&ˆêÉø³?>ˆ‰S–›¤àímYE Ò;B¡„C: …ß=ƒ@EŠ0p(%¾±Œq é<!½i嫯8€©®bª#™êJ´4Ô¶âÌãy ¦4h¡i5SóMí&œºc0”(íÌDÝi vít4vž%hýN.@R!…D8G]kŠ2$†õQÌ(©LH+­C‡RÚ‡û¥šs¶|f¶¿ï7Mí¶êXls´t[4‡Ø6 »=vãu¢.ûÆ[ØÿǾOðæßºîŸl=R:Ì6åŠ5_ž—ßr_û§[ûE—_Ï…Çü°Ž0Š6¹r7Ɉm·;(%1•%MR’´A 4‡¯ØËC÷Nñøé3HÑ7”l[ÃaÁˆróóf¨0V`LIžé­÷h´g‘UAnz„͈W½ìÅ|Ë7¿ Ð0q•ZmN­*­ÑF)…œŒðoQ:% xåsŽðó?ürþÓïˆQ>ž8šÖ,ëî<}† ì<µÀGE5µ+ÐiŒŽVš¢£-Zaj÷¬DjZ­þú!U6uı&P³3ÀÒLR¬…ÞjŸÌæôúcúƒ­HÈ{ÞsYú<{¸’H¢ âîû †zÄÜ™7µö°¼2\ȹ¸Ózð9ÜÐ 0ÖœS÷3Ú»ÎÒ’æÉ7\{/ßÔÆ¨\å¡OßžxŠw®Üý J*næ·þ0{Ÿû2FŸï3>{–Q±Fv™[ÙýßJïÄC´¯~1½¿]Ã,>FÕHÝÈìÑÐ;þ ¨/?³³ðáwqí÷ÿÿìÚwœº¾*|»°œA~‘îìyÇî]¢ÛõGçnG ÝÙ.âݯÛ爱¶÷ÀMó3x'e!)+?.ï¬Â9o|„5ÍŽ&ŠcÆ}ÇxPapþˆè,’Š@èX“¶¦ IQäÚMRi¶(‚$ÌÏ+öíÕìÛ«˜ß¡è´¡±ñ3J0Î'O–|ìSwÝ%X8a¨2ÃÔ ì?P4J„ðþ-Ãä™ (y!)+ø«_ýUŽ…Ÿb9_¦®c„ri”HáBÂɉŽE „Ÿ5¦BIÿ» éƒ,¤ô©O›€7‘6n £tv/7¨¹}8Ém ›(e6ššRn™œmzâxÞM°ÿ-[(öÄÍ‚?øëÎ×õzÜ/nÛTþ,»—<SWþwµµem­Çjo‡ÒHª²äÜù |òï>ÍÑkŸÂÞ=»øÌÝ÷ñÙ;`\”˜²"/rfšmÆUMQÕ ³a ¥óV¿Siƒ¦è•uU0Ì|ÇÞ™Y?ÆåO=Ìüؽ{§o" ﯂ð‘ŠáCo¯áè8Ëç¼*hWç%áå®.yßÇ¿Àë~îí^…æJ$þ¾'R±7yÅ Wòük1ÓÔ!t§ºëR‘L·!éjG5¢‚€¢ªÐaˆ‰²4bTÔ(cˆŠ e+$;é¥È P؉†Á7ÔÂ$&j5‘A*@HŸÜ%„饼‹K·ð++H§w TÀ8÷SÓJ:â8$pή7´Ÿ¥AÐhFDIL†ØÚ6"êÊ’ jWV)0þ„$Ø¡¡ÈKŠ|Äu¯”C‡ûën}ó˜©bªc’›¿ó¹óó÷òèEÁÁ£—qÙ‘ƒ4)B ÖWúÜÿ¹côz_¹Ÿûw7b¤JÓN5OIV¸¢µÄËßø³/¾=tÿÕ9ròKðmáüÕôFïÁõ÷ÞËèöû(vvÙ÷ï¼Ä­1s õÉG1Î’Þp5ýS÷ÿo•÷½™û 'þAøö;¯ø7ôzc(¹@‹ .’ç–8öIlúBbi!œøx‡óÄ.cfÆR–²””•¥ª|Ê””š©NÀüMÔRô–+ ëÚ²´“Š@`(í¾Ù´ZÐl º]A»-HACKÚmA§#¼‘Z Jyߥåk¡Ù”LMk®ºJ4BvÍ[>ûEo©¤3UÐjÂÈ¿nY ¢Ø§Ùä…¥(e±1S¡‰PÕD[X#…@¡Ašø™x6ví”wwÄ«0„ÕHap®ží·ªú yÏ_lÑrRËíã©l}Ý}‘Ä£ÇN²v²OQçÌ5šäãœ8Ö8 y1&T‹k«ÌÏîð&p@U²Ê TŒ”%£ºd~×þÕë^C³™bb@&6‡É¤ôåJk”|£\ d±Uj{ZËßL<ÿ†ËØ9Õæìêˆëüߤ@q!ÏùÜéó<ïOazWB>“¶":&®òÉQª®©Ëœ0 Èp¸é& ÖR M>CUÒ*‰ ”§U…@HPžäà ªÊPæ.+¨Æ%¦¨‰šMTz°×2ˆýfµíÄòúáá^Ĺ傪2dµEHsŠñ¸¢5Ý mFD:`ùÂ:+çûÌìvŒ³a-ëƒíVƒ µ ™$´gšh)è]ì“9ÃeOÙGœD¬—¼ûo¾Àço5ÜpãÓ˜Ý;{a¥Vœ|b‰Öž#tç§YY3Ì â( NC®¼úJå˜F+&ŠúƒŒv#a\äÔEÉòh+Z<)|{õ÷<Á®½êKðmïîûY8÷íœ9ñؾî&B¸ìF+ÂDÕúdÀþÔé³¼â%ÿ0|;}r‘8J‰õD¥X$Ùy`'¨]Ä®O¯pèƒ5q,!ž".#zÙ:y±£„¢„ª´ÅÄý2÷æRí)ÅÔ”B×õ†)2 †–Ò:¦ ¢Ò¦ m@Ú€VKÐíÀô´£Õr“ Þh_Yö–•UK–/–œ9“3X7Ìí ¹ñi —NØ¿/ Û‘ìÝå8N2ê‰W‹“®kKž[oÄVŠÉĦ£–~¾ÒMæ7Ü}@S…C#DéÍœ_‹Çé{B"e±ùÆßÈtÝî8¹é+¶p£–Û~n£êV[ÊI½ÑüÜv zî_ öÛAÿû_"xûÇô×Õz¾ì/ýknâä½wM²`½3g«Ý"ˆ°)qÓh$Þ@ÀÎ;xêÓŽ°Þ[BSììtYï½ÚePÑmE ËœVSR•}´MCÁT'€QÅ8/˜n4ص£Ãÿä1¿c†a¿Omjt"'7BL¸{?EëÁÞWøbÛÍò§(ã@"šÍ„Ÿù‘ó o¹…Q¡@Z ¢²–¡p;{‘ÇÜ| ÅeQäcdU¢]UMÖíâvî#˜ž§.W+«žƒŽÎ%h!0ÎQ›iÂZ”â­4Eh ãüi\*d¡¢DÞ®Úyk ÛÜ"áH[²¸¸Ì#ë–4Šh$1Æ:B0®sšíˆN»=ñ»‡Å³ŽÑ¸À¨Š)¼à"Ö†îT“é¹ÉŒZq IDATa1–dE‰`\ääu†²{™©|ÓË¡3;M·Û¦¬ ¦²:L™ž›!КÁ¸ÆÔ–|PÒj%H!1…¥ˆjò|€©-uYb«‚iMU@ÀŽù/Å·»>u×=õ O ß]þ0§»ùhþåÁþ/ßÿÀ?ß\Jo°5ˆ›1;cIÜž¥ÛtäÕâá:ô†5y6"IòÂÒœvȱÃYïmº‰:Á‚‘-FXjã"hw%a,¨jGUY’0>èÜzü<· ‡“´$ãµöIìˆBoÚ†õõš  |xÈ£ÇGŒF–vWqú‰7ÞÔäÈ• ó3!‡+öìdY@ž+ò\S”5Yf ã±#Ë,ãÌmfÚæeŠ’+óv_¾3‰pb¢5ß0‰Ÿ¼{®^à¨qB5õÖxʆ;¨Øœ€ (ñE6|Q%̶*»M£>iŽN~î97|e°ßú¯‘àí‘_ëùJ` è?õ™œüüFдZM”ÖØªò›òDL*þ@+®»îZ­—]y%ÝiŸÖRŒ‡¬,.bj¯ã¯ª’3O<µ°c烯ÜÏüïïå³=ʰ´8µ€ÒIVW–u[Zœ3(N‡ÄS³´wÌwç ¨&ösÓ³ÔH .ÀY˜Ž©)« [Uþh„Ôh©Q‘"Š@h©7ÿ˜nÒÙÈ%R Å–Ít£s £øì™±ý2$_77¦1•PÇú`0Qk9ÒVâÔ…Eé¬`¦Ý&+ t(¨]0ãJÏ­ G¯?ÀX´¤5מ4È-ÆyšT*­ÄÏ×T%%A‡™)é´ŠÂ`D‘$- nØpÝÁ]àÎÓlnáÛß|лJ>ë9÷$òIãÛ3Ÿ{‚»î¸yÓ¿þôGoz?GŸúÄ·P5 %é¶#âfÛ{à¯/1T½,Cc¯"¯“gy?€PÇ –¢T•öÕÚ¤”B1KFc;I½ßz³'¡ 6òáv>h7kùØ1Xw,žwÊ¡´% -ÍÔŽþ âÂbÁ…‹#Ïr*Y¡¸óŽ’sçÆQ!ñ¾+°Ê1ªÄ ZÝ.Æœ5”ããÁW•È2DZ”ER‘v›¨À'oBc᨜¥¶>ƒÀI?é¿!±“ÊáÐnL4ûäÜ3øéÿü“œüÈwóÑÏ­²g>â^x¼çqî;_³62µ§Ao\b-¹ßˆk]QØyëôT‹…'–ÆÌwº eiq”´š ÂD#4]Ìêòa&³´¦œvT¦ ªãqFUÕ˜Ú1?×&Ø=Mf2 cpYR„šLŒÁ˜N"xÑþ˜§ÍìÀŽSVi¯eqÑãÛÓŸù0BÄÿh|{Îsóó+>ñ‰›¿âó|èÈm_|»pùyï›(5„5yß[*€&͈·ý»\·™Ç{ä6c˜Ã)^ÿÖß#Ͻîk15˜zâV$è; A‘^†@H„T¶fœÁ8SûŠ(‰qRa¨(¬¡¬sd>ÂZCi ¢6hg ¬¢ÆXƒ±5UíÐÂ0;-éÎ8„.QÒ¦!qÔÄÙ€"#úëÃaDYÅ<ãÆ.%’V,ø÷¯ÿi¦¯ýeVÏÜÆùµw²–>ÈØŽ¼Ãß¶¦"_d‚¶9\dÙt{¼DOî.¡o‘“#-·šœ•‚–Û*ç –²B³ž%˜ÊЊJæÂ˜ËÅÓØý ·ÿ½”Άbgãã·óÏz=¥³¡ØÙ\ÛÃw“¶§±ÆRåuQPU5Ç9NÇ윟ÝÔð«‰JÄumˆÓœÅσšºfyi‰¥¥eæææèt:›v J)J®µ¯äµÚ"”Júÿ$Èz„=ÎpuuÓ¥55å©7m½±w?Ä©s^ÒwøÅï„|óø‡þµžE…MjgÉË1µ­6›¿JGh4Tå°Ïh4&ËjšS]ÚÓSTã‚ÞÅ\YŠ8ˆS…R’*Ï|X|¢’&8¥±ø9ƒÊjëuåHUL[7@Iœå2ÂÎNäŽçC4ÅÉ|÷æzŽ«q¥ñ¥þŽîK ôS]ä®Ç/rËñ m„"a*mSŒj²¬F‚f;š¨òMYVìÜ=K jcÈòœ²ò~IÂ…„¡" R(ʺ¢‘60܉THpö~>ôÉÏqís_ÉÌîãz@‘[†ã’¢Êé´%­Ä¡FO<|WÃ.n<|”n2ÃÂÅ[øù?øµM<¸óîÁ×=¾ýîw½ŽÞ ¤×ÏɫĢI,-zÙÄ âæ q4B|ö¿>ÏåeåKÿÜ‘×A´‰UqLw€>¯ýã·ù&§¥"‚@ø€ÊQNX`¯pD%DRÈ*EYXŠºÆY‰–’0Õ4Ò­J¬eM]¢š¤)9¤±à \YRY°ómuA¤YM`KBíH‚=DaÄh1XOŽ#®:œ27/‰’€BDHëè4Ó3‚ï}ÆO1}ÕÏ’_|O ßÅ9ùãêRÛ«íCE%óv£ªºTØZRš$­Hõ¦Ïü@*µ¢ü¸Ü®î’ÆlÅhöØ£ìk¾7ÿmt÷=íIþÆ÷m€ÿÛ?öÏs=Oð7¾oüWÎ>J]ÖÔEIm gΜ! BºÝŽ7äšxÓ;kq8t„ÞF¡.KO[XK¿×céâ­v›îÔaúiÙÉp•ÔÞÖXê¡6,@š¬Ÿ ]`­J¦Žà~m è÷¼wÒ¬¨@5¡>Ê©³{&Àÿ縵G¨}/Å0§Ö- g©l ÂÓ½õŒ*74£Ê’|0À9è´A6ežòh6ct*ÐÒb³Õx¢〴ÛF6ˆ ©±ÎQc°“˜3­" F’5ñ#Z—qò£¯Ý\ÏÃêV¿é›®³dºº€9{=}~é}‡’æt‹q¦Pi„µŠ¬ôZ÷4Ñ%h·ʪ¢Óê>§w<*XZïyÕUa#Pš PUÍî™]ìJ÷cKÇâùsô–NQT5û\Gi+Få€ÅÁYò¼F¤9,yÖÁ”gïj¹¦Û8¿öÞøoúŠxð–·¬~ÝáÛ}áwÐëôÖkâxLí#3bÛ&¯úäU¡çôb-yÓ5ŽÂ{.äø#AÜšõ¤ÿà<§ŸX'·;çvó¿ÿû(íÐ: н©V]KÊBPŒjêZ "GC`¶pdÆËµ4hâ”à /ٌ ´¡* Îø)ý@J]Zle°õØ{¿(‡çJ„õòJIï;á*R¹‡VÓ§!eyÄp±CwZ0·Ërð²€ùù„²SšMïØù­×þ ?ðKOpëÿƒs¿ÇcîÓ\d‰ÂÚÍD'½?¿Ør~õZ,œ›£,ã!4bÃÏ<½ ~*–@ûލVÛT-ÛC6òfó–þnö‹o$ºâ œ]W~›Ë^rËW ø_\õ¿õ#ÿ¼ÖóÕþWýK?Bm,+KËTuÍT§ã%ˆ€sk ÆÔ¡âç|Ôá5XY^!˜›Ÿ§ÑlNhOåxÀ|CV „Ípó¸õè +ÜÔõŒKIc}Ë™óÐÞÛ¡\ò7@mÜ”Ôeœ:íGéÓ;ÁØ…OP<þ ²: s~³Æ‘rFƒŒÁzÁz?§(JS0ßh'j*4u’´;tç¦ ƒg-ÕUVÏ'ù°˜v+fj6%j7PI &Z{d€PIŽVzþéˆÙ§ .©ê’·Nz6\5¡ø¡L8\¼ÒóÐ;¾µÁ:÷žÐ03ÂuÄ«×F¯ö(r• 243,‚ruDl…††^«k¯Ê=Ož5Þ%"îñž“Y: ݲÔóde>U'3Ï{â¼ßøÅ÷÷ý}¿ÿ ÿóÞŒ^z*ñ¹’®} -⣘–ŠYj¤”½’¼¬(r‹«*¤¬ˆ#ˆb JQȘi•³;Ú¡ÕiÓJZ¤IB,#Lœ͸`×9²QAÚ)I;T«¬*Ø!Z¸yäywþп!ªÙ!ý¼y_2åøдa=|Ï‘ÎW³ØYàÖ#—¸ûÃ\Üêsèø ¾˜¶b„(©Q8ùé,&"†Ó)Ò+ S¡ÂQ‰§0c-Ói…H5«×‡BÐLSЖV’1Ú©Š§w<íäU¼óÏ/ñî{>Æ Þ|/ï{ëGóô—¾æqãÁÞ°B•ÿyõæ-¾½é›_ iP<êL°z´ƒvMLåèoI(Æ0£½זɹ._ü—ÿíä¼$ÔB`’p×jÒ[êA!AdèXbð˜"ŒBëV‡ïú¥_ ò’Ø…Ä›qURØÀ‹¨”÷ˆFL’I*ë©rpO‰ ru r ‰ †YE•cE…ª"á“+C„²*sle©|~†xá¼$r«ÈHãEŒ¯,ÞV -qÂW®9™pçmžrSB¬¦òìî8Î=ZòȃίOùÝ»~–…§¼Šé…w°6úÏ\Œïgkšã|ðqÄ@ÞÒß^âøŠñ”¥'/þá34²)ªVÊÌ*`¥öqÎy×\xR582º‘C­±>þ—¯åî»®ª¢îó©*Aë™ÿô ügâøý=ÑüzŠÞ…Çñ‚çOà?Ç¿yñ,x‡«JlYà]z[•ÛW1ÎV8gç €²ªpÖ’6$I²oéŒC›ˆÑ£LëŒÕ*ÛãÇþÕ¿ã·^}u]Ñ¿lqEŒæunƼC® =ÌéóûaÁ'žñ«`¶pçÞGÞßBÆ=ð_Ùz3–8<*_1©*ÆeɤªpBGIªYi,‡ÇÉg p–ª¬‚&>MˆZmâfFœæÄâð×B¶Šˆôìgëë¡°"Q%±²µéZh9ï±>øí<Õ}÷üz>|÷'o» Óu<´6æ¯.WyÊ1¹‘ŒûI#!nExáÑ2ÅÁÞîˆJT¡ºŽ¼õøÈ‘—9BÒ4ÅW',:s¤yÅp}Â×wùާ_E¢VpyÄhg‡=ùžñ’Ÿþ¬ñàòVû‹ßÞúÃ?‰Îs @Þǘ ½Ò'ÂT£÷¬ÇÛï ¼”åÉš×]Ûà+oMXXl³vÙ28"iIÒŠß¾ëÿ wËÏ£òË»À©þoqºÜd`bœo{HÛg®æã]`jQdz”Léôr®¹v›îÒRˆ¹u’ ©ÁQ)È”¤k®çDûÅ ü¼ìÇ~Žß|ÕUóçØÂ7‡(¿É„ñÖ&ådDäEQaeB¡{,9„Îr[’%):NH¿ò%øõ] _°ëy(~/ÞWn˜ÜÂæ ƒ±1×,o(_˜Ô“Ú¡XçÛŸï7ð÷7/ßü²œóøe‘ã­EDÁpÍÏ«|…P !%ÖY@’ꉳϰj±có?ó†9Їªþ]`óP®ÎÀ½ÚŸU |&bVíËú(„™rúR EN>ûî°+ìÜ;÷G¸ÒaE_”óI5ë¦*ÙLØO0U…JbÚí®’4Uƒ£+K$I4óÞõ•HiˆR<|¢uï§ÿäeŸõúéëÙœ„›Ý‹8ýÞ%sN<¥Á½ÃŠw}b±˜räð"»›–l¹ Q‚¤$2¡ Æ“œÎB†T¦UaÙÞ2šLhu2¢Ä3)GôÈyñ ͱ¥.íö*B-1çT埅@’—þìç NŸYø{Ç·ßû Bš$‡"Åäõ½îK¦“£eÒ”µ ëô·'?¢×éÑë¤ô–WÐB >ðŠ[¼%=ÄŠQðU‚~B¯×@ÇKôG}LJ”£5è¦ÂÈ }ù=ÿ'<‹°2ŒÊÄáØ¢êdûà i©”ÅÉ i#|¡B5%$È ”T(Öד<ÂãG:‡9Þ`‰B$1Ö[*o‘^KHd…-Ã4š¥DHAš&4{’$±T&(6š„£Gb–»‚DUô‡k›wÿÌëø__sž·¾é'X_{3ëî^Δ;LK¦QMÆæ£G9w1Å7æ”íóÝÅœ¯¼ý ­ö8TÂ2åì³V1‡Äa޹;(õ yÙO¾‘·¾õ­ô?þ_|A (( Ãh{“ÑÆ&./ˆbE$'·þÃÇ ü¿òÎæçízˆ>Pë;ƒEp°f.(JÉåA¼çØâIn rqf·ìï|Þã¯øûñ®ªcK\YÕ¤û¿@(…ˆTmál¤•›"§±{3š6Šeþ÷WÿoûÛæ×sòš÷ƒÔèîð|QXðªV=Íl(’zö`VéÏn ÄDÓ—BòÉ;ß6†Í¿Ä^º[D¡Bµç<Ö:*P:ð„Ô*[ZšYN(RÖ.˜¾æß+TêP‡nC,~ExB0oÌ~®ÖgÆíiÑâ†ò[øÄº´SÃCå” Ó i+áÌvEãX HˆG¡¢ÏcRŊɤ@ÆDä“‚K›øñé*VOYérÇJ{vÄ !H›tÚgxÆKîú¼áÁ©GÓ/8¾ýê ¾ it·‹NrÝ`uœ{È è\CGc&íÀÚ…>kà ´îÐki´î¡[´FüÙ+nñ&MéµR`Š¡‰¦®ôÇá|ÚïOé¯_ÃYy…îDô’”Õ¯« {^òoùQOîX•„PkñU2UÉ!R$I¦&­ë‘^Ùœu(‚嬋ÎYœp8/VY‚’…C ‡ ^J2¶dZ±Ø‰è´…í]G¿Ÿ3-ÅŠ$q4RÏÒ’`åXÄÑ#ª¼boT±±3e{{Ìï¿æ—éÝò¶.<ȇîyÏ~Žàa/çÆã0.>YàìcGØX—”cô=‘ð|ýwž¡»´G$ƒ÷ŠR ŽD«œÌnÇÏ៼òmü§ßýý9í|2ÉBõTY„Rä…aíüÖÏ®Så%©–4"hDFL% ½dìÇáÐÒ2q”ÎCDž(ðÿŸ¿»ò9»ž‡’÷c8ã)PÒãÉÂÎ'+W뾕Ÿ«ˆf>îÀdî §K/ùÏwO â¿ˆ­*¼óµ»¥Å×zv!%BEu²VE\n!2osañS?{7¿÷{oeï?Àøä»¡*C²FU¿–ÉYÒLá¥fÚÖäíуY|©; ‘•€L8½õâ¹M´’’®îñÊ—ÝÁ·}ÝíÄzWºyÕ$§õó"¤Šç”xá~J$s¢Åë+wBÒ›ëé?Ÿëƒ 6·ÙïàÞ{òïûÍÆ˜ŸxÙW±a$=»Ë…>ºÃ±'­2˜æL–¤¡RÐm…~„V1ëgÎЩúÜzØq´“b …[ƒí3cò²àÆïIyæ÷ÝõÁƒóú‚àÛkŸû,t¬éµ‚¡¥®-(=fº yòÒÝÎèu®¦?Úcm+X ôyéUAÒ¨ckËZ¥óŠ[¼Nmˆ5œÑ:eRÑIÅÚ…ú;CÌp:wa[Õ1za“´®%?iS8H?ðK¿‰‹ *b”O€_•8_áÜëc¼T$Ið3NqV „'ŠN„ùeK¨/‰@J”²HéƒÍr­´»’奈CK1½Žd:õœ?_òàÃS.¯UT•"R1:…fÓÓ]„¥Éb7&Vç9»cÃîNŽZ)Þòšÿ@ï–7 Š ¦§—uónñgÙKÎ=vœ?š1ÜôØÒÑ^V|ó÷=@–åÁ.WŠnp½¼Nö­¼üß¾_zã›ÃÂÔà¸ÚýF*+Ès‡·–Ý k´—:è^ƒÑ`‡r:Á9OQ–¨¢ *JReñR’#)TDs©GÖl'q”†c¨PH!I¿ê%Oˆãÿö—|ågu=ÆïÁúài/¤QÕS¹y˜Ð’¡Ò™œÛà®ÞôÒcÝf†¶ò2a{¯ÇÈdüÔžyBÿÞÖeœ ÎÙ9jI<²ì#§ç(†¸Ô÷üÔë»ç-H©ö«úk?å Nd÷PÔÀ>SâLêA´°´¿Íëª_„À,O`¾QüŠÓ;ßY«yÞN{à/}ÊŒ±¾‰wuò¼ •¢ˆbˆ¢045ã‚Ù#n® Ž>‘YÌÀþó½>•‹ÉTN§5àùío¨mMna¹×¥«‡Ø|ƒK{9oxH_)…´1­,£¤¢ÛLÉtĨ¿ÅWg#n^ttš]6Î+§ÆxS–ÃߪxÖK^óǃs4?oøöú;ŸŽ–½î0Eë:ÝÊê “) L¨ðÓ @Òí‚þ ¦¿m!32ô–Wé6ÐqU™‹ð_ù5?Æ ÂMæïÕþö˜þÖVèwº¬6# ¦açYi ãzL«>N˜Â`ò1ˆÿø7~“H*¤ª“°x7¡òPUWDáþP’T5*FH‡¤ªý7<ÍHâ+Ϩ Ük ’²t:‚…EÉÊJÄ₢ݖ´ZŠ, ±Š¶ôìmU<ð Le8 IDATáþO–¬oÂ8w[’XZɱc G'(is#ƒ«<ÍfD«øÐv;Æ{ÁO}₩wËÏNQ¬¿ƒs¼‡¿<·ËýyœÑ4¥˜T¿®½í~¢¨d¹ÙàÆìÉÏåßþÇOòÊÿë€Ø¯ê»ßÜ eÄp”³±5àðR‡í]aºo¸×G¸‚(QxçÐ2!¡2^I¼ŠÍ&JgÈ(•àeLÅÄQTg¯>±jÿeÿüŽ'|=§ïÁyAåªùñ_ˆ*xóø !B¥8K¾šÑßÞ œ„^Ì‘Ñ{OYI.¬§?n㪈Ý~ŠŽ7¾òÞÇ úÃÝ5œs8ëB¯Ãà®ÿ0ÛSÏ«~é]üâ¯ÝMÅû@Õ;ÀVà+ ®«l¸ ¼8àï?«èýAÿèú±fª~yàñe½i88ÝÿžýIã¯+¸¿ýQÜÅ? S¦²$_[5Ëà3 <ý‘;½›ADWýz}žzÃi–»Û|Ø¿žvûkÑQDxï_?ʇÎl!R¦SÁð2èE‰h:š‰gEV|ÇÕŠ#‡¯è0‘ìvÞÅsþñ«ÿÞñàžwM>gøö?ôC˜á”þæ%(2ZÖën†^Z†°ò€gñ&÷!Õj4¤?šMŒ¡ÓNhÚ“à¢ÙTè¬xÛ\ÞrIL/ñsàÖ@ß1ã üí²yH.¹Ç¸ ý2‚|ÀêÉ'¡}½QhM¯¥éoõÑÇŽñ#¿ðˤ©$j6©”£*†8_â+ÅhÆÓ )8A&Á¶7Q‚¬Ól :±àâfUS Á;¿Ù,-)VVKKŠfK’&2ØÓJðNP”ÁÊ´y†Ïç->f9w± 7ŽV[±´œrähÂÒ¢ÇL ý‚ɨÄZˆT¸™L¾.JÏæ¶çžŸ5ùÒËyù¿‚?ø¯`ºóvž~Šû×¶1¹%mh5nXXáºèNî~Ûe~èÇÏ~Åp¬÷- ‚ïxü ö* ¦2Ïoo3ÝÝ"’Ž8 Çw¥Á’¶c§c¬³Á+K‘I‚ˆr¯Aœ¤tÚ ­ƒR¥‡MnùôÀ?ü_{ËUOèz>݃1ˆk§TU„™,¥G™¯‘‹­G±ââØÎýuœ "êÔïBÙ,¤¯YˆÑ4åÞ{O€ŠIÇ^?fw V¯.¸í¶Gù'ß>ü´À?üñö,®ã±ýGØÞºÌ/þÎù™×½‰4k^q='½#L)@¹¥¯U–¾ tŽHTôîàÛ¿QÅ‹ý Á»ðß*DÀ^¢3û·YOo}Ï>èã¡ã×þÕú½”>ÅF½`ýà'$  âÐí5®ú¿ïõé4‡ài„ë±Á í˜KÝ&¬oqjðÒùÔc9¶#8¼˜ð“-nͳ7‚?úX̵+_q¬¬«{_ûÙx‰P Çé /¾²Ú¯UDþÒû)ç*&ê< ±ú,H—æýÓúÜÁ~µÿØì±´Ðcáš«Oí1žìQVžK›–ÝsŽë3IQ•äX²Ûà{_ùÚ/Z<¸þú•'Œo?rÓ‹‚±ýœþsô‡u€ SV­bL½ûçCŒjÕ¤¬mèçÌ®Ãx‹ŽV{zñ(ÚN ƒÁ” c0%?EÜû†gz§û:|ïëª~ŠžHÖ6×éomÕ€½æB8fdí æédô’„þ(§·)g4Ÿ³Ó‰  Òóª÷ÜMésiQN05’²‚î²`a!"%ùˆ!ËE¥µ$MI Z šMI«>'‰ä„pöÑȲ7pìí9ú»žášˆ§Üsâš[¹dPZ¢ˆÚˆH2É“©¤0Ág„R’ç0LÆEáCàÃÄcÊ1ÊK"!^ñß~ïßÓ»å ”Å:=ô»œûÔÇù¶ïü9\|è `¼ª÷- CÿÁ×-bvÈÀÞßš åhj2oQiŠjv!J0à n:®}à-RŸƒÜ{yÁ¤ Þ,Yš uF¦è´I§H¡êô«ÙT ½åû®¨Š·×ÏÆë9×úkJ …sxoP"Á:ˆª¯ãö^”%EN>!M’&$Y#8_–9’ûcNmÝE£»ŽçCÇÓùšS¨‡ÂÃ÷Ýw=£qD¾WâJAœ)®»a—nz)Ýþ‡—~Ë•Uþæå3Œ[Ø¿âýï?ßø}¯ ½pøJžþúwÃt<Ë ,Å^£nÒº™¥h]±«ýA¸°)ˆ™±\=Ðìd­nãyr•niúÛn<ÑÁx¢…)Ehæä¡ykÊDÍóG&öºg{YºœóAO«Ok ³~Îê꺷ˆngè$Æ é%&)Y»¼ÎêR—þhh¢c‹)ä#úyüöA¯ÝäBZ¢ÚÇ\E‚ÅE¯£¸ûw†¤‘@§3^NÖ‰Y’vGÐjI A¦T'‚É.¯9Î/Y[·ŒFžÉ #H"ÁÉk"nº.¥·¨ X* ãôa¯ÃQÁ(¯ÀG¤Z¡#…pŠÑ´b¸W0Ú-™æ%…³¸bŠwçSP!ñ–Wò/þ2¯Í‹Xl6‰zÏcs}›tû—Ø/½°Î˜“”¦`¼½Cœit»‰¬=ÖgŽfÞ;l1¥šŒ¨Š)U¤Qš!µ¦´Óí=&›¢8"ŽÁz‹ñà3MÒl¦qM#x"¥ˆ£7C3WÈ}͵I ú§ÞnÄÿÙõœï¾ g¡r«TÖâ¼%Š˜©çªìõœ8z+Åd‚T’²ªˆã„8ŠpR¢¤ÄVeY¡µæ¾Gÿ‚SÃN¢'õ|’ I|7=6ü®*æâÅ«èo5™ <ǯísxuƒXæ©[3ïá‡^À×£®þרÉ#H Ì®£Ù]fpÿ+Ø_÷(Fáe©jPš QÅì;…;`3ú7²|Åï­ö«ö™zÇ—ðèyøý?>D)Rô:?ò]%iVS9bÿD0¤„›6îqúᯃä¡ë^Nÿ{8~l•Qçi”ÙIúµ¢èKa}<ðœdô³ë^…ìÊ1ná™ö˜>ôÓ<óe¯ù’Ã۟Z|{¡ýV *fû2¦3 ï+ÀT‚^S¡³ ½ØDÇtM³˜ét+æµïÙŒç7c‹OÀŒ÷ô’”þH‚Ÿ†ÁY ºAPéá¾Ak½O餳Sî7fÕÿhº¢ñèT`rO{Lo©IX`¨Ð‰B{в‰^ŒÑé:vá 0~å#wÏ]ëÞó¾–ðâ(ሥ$M%™Q»i&hw Ó–´Û’…nÌRWRzÇ©³œ.¸¼V1ï÷™Ô 'XèŽN8´Ó^T¨¤ÂL*F»’É.ìK&X’,–´RI¬…õLžá®gPää>Gš>¥Ah¤Ôsí­Uðç¿ýÚ+\¯Zü¶Ú], æUÎsö¡Çl¬Ñl6鬢³Ô!ŽB™Ü òéÂŒ©ª:¤$ŠñQŒPVªp$ES®"Jcl”àÒŒ´Õ¦ÙÈR`½Ãy‹’‰JQ2š{LJàx±ßHœQ=2âOßt'_xãßrI¼Ü»'4÷”ÀY…uÊ*a\Ä´´¤ªJö.}+Ï~Ê?E8Oá,Åd@{a œ%ÊšÁ J_w!BNì=þiüÂ=á5ð)Î…}P‹„Ö´˜ì® ¼ qè"*š eЧËÚdæïƒ€¢ŒÈ+MU÷0ÆÏw+Ýê …àûïþýàŸ!J9íà X¢HuŒNUaŒ-Å4$äDZÐê$,÷" ç¸x±bg»À:6x£{éX¿tÓ§Uo<÷¥'TÇxR1‚•n¬,í’8˜[ûÊ“O%cc™ZC>ÝûFða—i¼ý…“ü÷7ßÅUíçBÒáÕ3ß`¹)xèáólnÞq݉CôÚšª,Q©ÂØ“OqUI$Eí]®˜%[ã<ÇUžLJVt“Ì{lQ tB¤£çV -ÒY^$IóÜÁÚѯ#èêœÖyuþÏ#ð*AÄšóg~+-ÛJIŸ8vX'ð^â}8ÚKÑ®­'*¬/ÙX;ÌW¯þ_”ƒ º©±EÎx4 É:t–—É´öQätÞÑ/sÞwÿ ‘Ù¥`+PëïÁUÕp™é¸E¬iwƒ¸µ®Æƒ'BÕj“™‰[Ü"V ¥'rš‘æi2p='oz¦.Ù€j²ß=¨næ4„CK6 v#yÎ肤[zW{D[â“D‰Aû?oÊVû<¾©à×ß•á d]m~à›Æ¤É~Ó×û@ y|ˆT(o£#P.·ÀÝÌé­§|Ù­Ï3¾ÿ5Ÿ7<Àƒ+O–$tzŠî’B§–ÜØÏ ¼ñùÏÆ£IƒÝA¼€Ö6P1y@Þ&óϤZ¶ hq³7ÝúQÀ¡×ÎТs®§vF@4ÀO0Þ¡…$ÒGž Ѻhî§]ô`Ñ…dm- \ôŽjtû(½ŽƒXcFSÌÞ=4†&ŒL˜¶Kšô@•ÿÑAGC³çé[paƒæBÊ"¤'kÝ® Ë$q*‰cIQ*#ÇöZÄÎfÉtX²±é¹— E2É£Ý8¿ø_¼ë¾O øÿßûoÝצ_õ‚ÊZ”,('’$‘$™'N Òž¶¨qDND%Ä­”4މ¼âOž¬)¯ûë)Î4ø`h–E…˧<éh›Å¦äÂå]Ö/­3Õ1‹+]Ð[UPYáE0T²±pt²˜V;ÅK…/Óa<,q•#«*ºNÒ>P—Ǭol-/ÓZ\$ÉDQ²ß$ÆcŠ’4N‚¥°8˜‘åë¬_q E+&‰ZxgÂ㜠®‚Bá݉Ãùô'ÜÿÀ{¹vù«ˆRIQ–œ?s–Åå%„3Œ•¢Ñ]B7›()1EN+mò¬›þþèâ£:c¯ i]„ȸ Ù ±$Ù($m91÷á\éÜÙJƒ—xe5 Ï8/CE-µ‰eÌT5_®4hgôŠ”A~h=¸,¤† ‹HrÍëkÿÿxÆá´åd¯ÙsªÕ7‰€£‹žûÖbR™³½©ŽÇè*ðÑMX3Áóˆä¬SÜû²\ŸÏ5T^b GU×O©€Ò3­J*[aŒ$ÖW‚/ƒÿÉÝg…•·(SPNºÙÀ’þxŠ&4NµZxÚu`$D: ¯0Ra’ z:ÁlïAêƒùYî È1ΠWèïlÐkjzÝ`·`ÌSzK‡ÑK=ôh i €¸Ñ$ba ¹ úÍ|„rsG'ì½v¾1Vh&˜<…X°º´ÀÚöný˶YcøûO¸ƒÌ 0Ø  «Ík¡ º+ˆ?‚Õ’TÒé„fC’iA’„›1‰YªhÇ’V »»°7päEI$¡“EœzìæÏòÿ|ܹóü—–?LA7­–"MeÈäõPÅë#š>CHE¬$Ü·?ýeeév’yãu–<âo-ƒÝ=Ì`Ŧ$©rš¢dsX‘¦ vwG´dŒ•M\œßSk‘ÎSL*¬¤­„$Žƒ7G£}ÐbÛ‚ÌU¨Ê"°Är3%¿|rw‹2nÐXX¢Ùi“53ŠÊ²ÙߥÕÊèf­àbˆÜOJAà…<°8„38—£"nšZs<§…¼C KÖ€u>È`t#Û{¸$åÞGÏ‘œ]'Ó 'Žæ©·h†ý]¤³È$aùÄ׿‡×ocËü!È*ðå„ ^¡ "eð^%E= DMÈ %uš—òu?ª/‰£ O7˜œ9˜ 0‰Úì¿øÛÊÀÅÔTŽœ„ÏgU{ÝúžQ@²nØŠÚcfÿèÃp.Qp&Ziã¢Õ,AíAÜbË "Qm°&ðl7~Ù­Ïç–cZM0CØhÃÅs›»PVÁòXÈp¤«ªj>…-J‡sAù–D–¬!8´?n<ðÖS8Ü2j<0倵ͺ/к;7¦4f-:¿>IC‹)ýbïÊ™'?‚Å5ÍÓj S]z­U(%ÄŽ~)`¸Ù2@c>¤¥õÈŒLЂ¦-V¡¿u9 V†¬®f˜r‚ñmHÆ7 qÊÚÆc Ø›½S XÛ2膠×i±züFúgÓ+JÌövíÍœ@R cXÛ\#’¥ M=±ô(e&Èð‚4ñèLÐl@³%èôͶâЊ¤,¿ý[×~V`ÿ7ÿ#¾•»î:‹sA‹;» _“x…˜†$g-¶„‰AZ??¾«P!×™ÞVPdY‚à |YòØ`„-Kô¶rŒwút›!x:°Œg±'[m¼mÕÙÂëJ¹¹‰@øÖ¿N&D§’Ü:r !*†}Ãpà˜L Ve,.4™|ftÜ@©$ˆ¸ýø/IŒ BJ‡­3 #ÕéQá{ƒ¥Ç{A»;`±½€>ö è}¬~Q΢²HòAÑyzô Î÷™N§,>ÎÚ¥Ó¬ï}ŠC­P :¿²8 ‰­ƒ8D½t6éêØwðDÀúÎ2ƒa²’&æèbέ«éÍëé'‚|¦¶Jj_??[u_ ˆêÿ›ma¢>à\m–æl°pþðà ]r<÷k*–ºµûB ‹Ë{£œ#=E¯!9eaÇ š­OP:è÷áãI>òIÍ5Ç"¾ë Rã6Ù@=u ø¯xÿþ÷µ¿ä×ç³Åƒ$d Ij2‰dݯòTʲ±•ƒHZ oU°böᨖ¤‚ÞBðÓ9r$bu5¢Õ”g<èµ{ó!ªÙ@kÈt÷5öi7TÿiJo?`¶þª‰NÛè$†¤Vò £fìçv7 hIt"!ii|mÅЮa¶sðc"“‡éXƒ§×Ô˜ Ž^ÖF{ÖÃÓí,pM©4zIƒ0>Âê5Gè¯XÛš`¶ÖY=Z7ÌfHÏÒ A“ßîîû1f/§×nEulžô8ëȧᅔBÅ’$•xç1ÓÚ–·Ž8͆à?üÜçì‚þ«^u+¯ý9L.ÈK˜æžÿüŽ`÷ìç>ʨfjc®™‘TPvS®™•¬'|ím¨¼R¥8¶˜ÐJŒrÚ͘f#Æk*¢:ˆ#ª¥•>’ÈDî+i„ ª*¤ÈZqã#UßKç%eåÙÍ'ì™'‚8ÂZHÈÒ¥Îý`i JJ¤Œð^àÝÁ¼Ç!Bîo(lÕœºÈ:×ÍA Š+¼qymÈñÅ'J—qøð ÖÜ”v£ÍVúF>øÐ|õôûè;B6=s1q”σԭ8nJìW¬¾–/ÊYž®O©\”••bmí0Qì˜ 4Ã\2ØÉø¶à3 ö–’°YÚ*€–ró }?àDâÅS0?««UQS>¡Ñž˜³pi#ã± )g7ŽñÈ¥³|ŵCž÷´’–†¥¶E4œ\lpvkH+Ñ FáZ7Ö*>ø1ÏÙ³1“b_I6’mªÑiCAt|hÞ­­­Í—huuõËb}><ð(„[+‡f’Èåå( eeR96v,.wá}^«ã Pn+‡7ßœpÝ“b–—Z‡|ˆáÐ_Þ9â(˜ F<L® ©Â€@š¢ý Fê.ˆ&Wø™ÆOТ±ÿýM”’sùf+|; “†$mL1Ä{èH|ÀÞ´Ao¹²CÔ[ <.cŒ¨‚Îs©Ãj²Jû½4¥w¸׿=¹A'Ýz°äfT°viÊÚæ)Lî ÈБ 𢉙î`¶÷è¦è„z2·‹î¦ãh¶R„…ŽcO’¢HÖÍ’( sÁ0 ÌÄcKÏ›~ýäçì‚þ¿zÕ­ü³qŠËë%ï¾çFî¼óSÈzT»Ñ!R„ŠÉÚ:ÃÕí7Ѽ—Æ2E!â'£¢i¢XNcz`yàÔQuBˆÐ¤H'ëü@ïÃUÊÚªQ…Ç ïB(…s¥%·–HH[MœX•s¨âL'1Iœ â˜$Ñõî~z‡ŸÉÀ”Ây;¿‰œ <+uð{A?oÎ —vïATO§0 iV ¤Ù.§.þ½å)û[,,îþcî[”ü>î´Ø) !QT…”‰™#ãÌ¡”ÁÃEsÆý©SxoÙÙYäÜ# ;Љc4ˆÉwJxÖìqãÚÑL®¼²x$Reµ7Í$8†Uì7sKB‘“ú¹ÕÂAk<Á÷ÞKâaÌW‹§m†`ƒ¢ÐœÞ:ÂÇÞòϹÁrÍ‘ _–\³b¸´³ÓŸGKüá‡ïý‹1+͘KkZ Y^)xá× ÉõÉdr‰lÛ*û¥¿>W<Й ŽÖzrë :H9ÛMI –º ­–ç¾+¶.çÆÎž4QK ‚›nŒùŠ›V4²P`MÆŽ½c0´\^/ÙëŒÇƒg.­¨ÙþéVDB¿ y#0¤Ÿ+0Ý‘OèÁê2PJL\¡ËÄ*Tð­6š³Þ‡f ²Go1ÃLRÐ]tcHO¢ïB¢ÂïYL1"Z½öºÆnÊÚåMôRŠI"`›Þ‘Ų¢§—1ºÄcziLÑæcùº• ‘ôÚˬ^Û?Ç·‡Íœuè(«Ç-š #$fºMTqâäF« IDAT“9¶! Û3º8’èTÇ¡C¢T-®sUÏ—þú;öÄñ`»Ž:Hï©ga©Öí7‚w„bùDµ=*“œoU\¼P1™xÒÔsø°ä†nº9áÈjDÖ`^Uaf2/,;;–ÝG^ÚÇ'Ž®†Š^¶Ð±߀ԡ“&½ÝóÐ\Äõi:Ié-v1‰dudI¨è‹ð&ëöèo˜ÑCµý÷6Zvæn† G¬:DïÄ„^+œtáBÓ7‘Dfhèo>F¯öáЭ6f¸AÇ )è·X»t ’ŒÕåLaXÛñAcè¤Gïè!´Ö¬îræÌi0ãSV¥˜± ?ÝÄlÖ3™pæ²¼Zy!qV"¥"Ž‚þØÍ²4¥GE- Õž/äŸïþî¹éºˆcÇ$ˇ ‘Y<%eékͳÂVcÄœÛCF¸"Ç_•PÞɹfÒK;z^îoŽ~æNéIZpäjCœ1Z‹h,ÆôzN,¢ša"Hô¨y´~ pÊ!âÑÖxç@NBÆ©þ6B$Õ\Õ3÷ÑâšÞˆàÐ"¼äë ÞmñÐù&牖{x×â›n¿ÄÚ½?åί,¸ï‘6 ‡¶PFŠÎ¢çÅÏ)i4kâ?ê€Õ¡ál×ÿ‡ïU)Ô—üúü]ðÀKOà(ÊŠvzí˜n;ðùÎ:L V MɲçÖ&\µ”q汊gi®{RÄUW+z]E‹úu §f%=Y*èu¶ ÖŒqôDízZ¶Ü†ú~'ØO/׸˜†% %Ä£|Q+^D-?t¶ÖÍ#j#³šK¯'Z­s:|‘ÞƒÍU¦ ^4Sàšõz ×¶ô÷ÞâAÄ;u²  ™2ðÒræd)ª} ö³LÄÁa­"|Ò¾ýŽ)ï(<º/æù··yï_Ï|ªeksá àüyÇÉ' NM*žtý/zvN6Ʋ%È](̧Ïÿ­/ùõ1ÅÃ) ·(1‡-- -iv*\[,JKDä±8âRÒ˽1+«’¢²tÚ‹‹QP¶ Ô6¥¥,Ã]³ÇJÒX²¹hÒ=n<ÐZB¼Es`hjß0-ô Ès §Ÿ7ÁŸBgK¡)FôYB§»`ò0Ø:* 攌4:©ÐÍÐamíý ç1å€^»W{ó4éÉ&z"]ðÿs÷æQ·fu}çgïý ûŒïóÎç½S̓@Õ¥ª4ˆ€ (1 ‰Æ¥MVk§Ë¡»Ml4é,—vz9¥M²¢¡±ƒÃ"­‚J  «¬ùV½Uu‡÷ÞûÏyÏ´Ÿiïþc?gxk*êÚiú¬u×¹ït¦}Îwÿö÷÷ý}¿è¸ $í€ó;ôºË$KËì0¦iˆBÒ=Gzp´of!ç:öÎ4˸zc…¤¬ž`çÂ9ä™Þ-Œ uä½ÛËm±sî"a(Uå— ¯®ÀfÚm?è ¤çíŒü׸lm)ÖÖ-­–%Ï &ryÀáaN6è´–i·œó]”r< Ê ®ð*¢"làJǤÈhD !Kª¬@8‡ *O>¶ƒ™ IZ1q ?=«D„–ÀyŽÖn:²ªbX ²’azY™­hàhŠŠŽŠi4ï+LúFý!qSêaì«þEà€\ Š- %;X7ô@a}Ô5Ok™QÎùy×M<ëˆ" G¼áÅÜX†^A1)QùžµÔ¡¡"J—ûMoY™rÉR8ªZ-Óêd4ºT8‚¬±H~Ìæ$f^Õ¦‹™u„ge½;®–mÚ¹Õ‚ãhê“(}€ˆ×æùÛkuáÛ_oñì(\¤ù?\âÛ^;&(üù}]ÖV†m¹ãe¯{yN+Wˆyç8R`þá3¿O­+¿ê×çùâÁá!乣єÈJ ­ÃÖ*¡(† ^w²¾=韠ŒKˆˆ‚€8 NRV%ý~É…‚Á0g%)Y[-èv’å˜î’bbxÎx Æ‚qf¦Äñ½C‡q9Э7‚CÒôb­f<ðC[r—w`7!‰c_@ºp˜¼É÷0GÒÉБ&é40YFŠÀôû0)1¾IÔš ÙìböÑa“ôàؾ´Go£I-CdI‡}’Í&i*IŽkÌÞZ‚ÔôAÇè]Co}S8¶ÓKМ€èz#ŸVq“^´67êÏü  ð²ÛCîýRÅg-q XÛ\u V–+¦Eè4àGÉgüûþ3þøÏÞËãçî! ÜtÝ×ñÖoþQ–ºÏ â?ô/ýÿç~âî¿ð¯»>$Š ² LV°{0æ¾G/ðèƒgqEÉñǸíôÜxézžbŒ°u$]嬭‰BÐÐ!"ϱy†(r\UbsÍa¿`|8D*G‡„Ò!ŠDH')vú¿ñÄ>Â8"¯Z!üæ¯au£KúŠ?°–Ð t¬‰u‡ Œ‘Ryš§(ȆCòtŸýQ†j¶iv»t’.A̧qåU”hcɰÎ7¸“G¢b}¸àË&jQ‹”ðú¯=úº~ô“·!`n;üÉÁoþ*\ºë=xûwÃ+¿±¾ÀºÜÛÏ/²NvNX'pÖO£†Í>U✢Ó^à¼UT›ÒÏCHD°A8ëÂÖTÉT›¿˜M+\0kEO‘ÃOþ’å}†Ýn8?ñà;^Ýþîksò=—ñkíñáÏVXÙâØjÆw}ë˜ckžŸ®#±B¸ªåÁYÀaëC]ÁÏòj]Àòc17}ðK7È:%~ËEžøº=¿ .È,¯Ôú<_<H†#È S^.*•#’‚"z‰q³-?”„¢ö¸“^eä„÷»+-ij¹°SòøvÉÎå’ååŠë®ÉÙ:6fy]sìd ÜsǃôóÄ>Z¬@l0†zk Öû`–ÐKLŸd}­w ® Þ>!â}*!é.Õ!S`†}È$í%Ò,Å80û)éÄ44Ic•ôà²WòÄÝ9±%Ø~ä1#{çЭ€twÝXÃL7Ç F~(+•ô–CÒ¢B÷6axˆ‰}¶)Ã8{ƒ—|þb1©}ù“„7aë€;„PÓ¹yÌærƒ¿ºOPIEoË‘t}>eYùŽ·uÞgû{þÁUÏHç|üÓïã5_÷Nn¸æåH!ùÄ]¿Î{?ð?òCß÷«Ï âS_þg£uî|Ïi>òAš–ÜûàYîyð">¹ÇäÀ (˜dçÈlN;)`\áiW–¸²n×›1¢žžÅØÿŽp¸0ðM°2£ÈKÂvƒ¤©P¡B²®”,öw¾;‡To|å-[¸/GÿÁýtÍÛœŸ/K””ÄQ‹0Ôµú¦¦jT€ CâFHÔ>dœåw1nB§»D+nÕ¶…^‰¨¨ìÁ¤6¡š7äžÖ;G畤œË?öYÿ+¯ÿº)–µ–Ù¡$|þ3ð³ÿ þößïþGðÞ¿øSÐéÀ­wÔ3RÕܾØÍ‚rª-B8‰Äâ„D:‹Ωñ]͉Oyg[»”V5è«©Ú¼Á; !Žêô…Û# àŸþ<üìÿ?ýÃpç;àç þîÁü[xý:¼è*Ëë^y‰ßø„Fë’oùÚ}Nnú±ÿY¢¬…Ü"˜{3G'¼—Ïhoaäw‘ÓyaëÃt@ªž&m=ðŠ_¸ŽƒkGü—Ÿ¸+7|d‹³¯Ü›{ýÛùy%ÖçæçÎAZÚA”;ÊRPÖ›ödìxò ˰_±¼$ˆC…Í¡ÊNI¬ô/Be&+ýP•±>÷F l)8ó°coÏqã‹JN–6—sºÝ“¼|Nxprý8äkè¨Ää0Àô'h2ÆbŸô’Âm! 4(‡hÝbgd€ÌùLØ!Ñ+tcŠŒ¤ÓÅ `8©sÈKï“_kÿÞöèq¯FÒ8ˆ&ªÐºxYeꘇ™'¤Î G'0NxG¶ØÁ0ƒö:cf˜!.a2C²ºì­9¤y‰vÃÙx°½ÄÝO<ÁÍ×ç¥ ÍdRgh––‰<÷S„RˆšvxæË~Ï8jŒöÊÀ~â?<­¢ÿr•ü_wyäñ‹TY§>û0ö â¨ÅÉS[tÚ!JXŠjÂÝ÷žã-7øÑý*ËpÙ—ù)DWdØñ!V*[A ¢'U&Ô5q'ÆU%…pÒmK[‘%Í˾+<:}œJ_çZîÇ]ìcó Ýl ‚hæ«.¥ª=wêAVúàëFë*Í„Ì(Sb4£f-ß³GÝulNU›eÍbX-ó¨¼úC>µÂ åb5¸ØrÒƒí´å÷;õÑ›ÞæûPßö6øèoÃG~ NßQ߇šêÖJpÕì±JüؼP!Ây'Gi½Ê) š¶Uí‡0ÕÓWSÿû…Ôª)ÈgøŒgx•N)qKÙlØJL︄÷}Èßü¼ÃgGÿÀ;àÇ~þõ¯.œnêðŽ[n¨øÈ]ÝVÊ­7ó¡$çg•”µÚknìOpìyœÓÏøÞûþ ¬O½a\û‡=d)yà;Ï‘%ÖÁ_¾ýܑ͡^žh+wEÖçáçRJÂÀ*áíDrŸHeÆ‚óއ,É&Žáš$Ë£‘ôîš]G§-h´=×_–ŽªòS´eá‹Fçf – —JCÇáAÅþÆ€ÎÊ*rÏ ºÃ{A6Iô<ÞÌLF0l’îJ á2‰î¢EŠnièÍÎffolìCÊ c‚’\݃–§x·¼ÓqT¡;-0;—ÐL17OK:+˜QÎÍ7laŠ1½Þ1ÒáI{Ù[éà„&;ƒ}’¶öÉ1ôz×úçp‹«¯YÇéá€ôÂ9’Î*ºxªèa†)rLÚ @kÒ\qÿƒ{4âíF—0Ò”…÷³Ž,ã1”•Ÿ”‹#ùœ€9Ï'|âs¿Î ×¾âŠòø÷|aÀhsñRA²ÚãÄÖ:Ç×[D­˜Â)òÃ!c³[‹tB¯ÎÊKýêðSë.¨Â´&ÖM¯>¨ÔÃ,ÎçS³?)¹ûá³3á–ëÖÑ/>†ü˳TŸÜf[V¬íø y°ÑÅ\Ø#ÚZ¥R9Q¤‘*˜YÑzI'Xkg–·ÞF!ôÕ¿(‰bMX7ÔÝS¬œ“”v ’,W8çíq³Ï¢Â@†x{“ú%”Ð?týÔrpPòÄYßðm5É’dcM±u,¤Ñ†ÉÄ’gŽ"÷¶ £‘%íWì\,Hû‡ã‚ñ(cÐwœÚ$ËcËç„WŸºnž5RtHûÛ`¼ƒåͧcŒÑ˜½6:\"í[ÌÒKõTnt{Õ{Ù··|Ô씋ÓmôJHok«¦y&˜¼[›èHî\}Ó‹jCƒ– ìcLG¤F¢ã”tpHÚñïÞdu½6Pë‚hÐëõ0äh"¶w.€£ã#”w|ËèvÝé²}ï½è:Y=Œ HVboÙM 3T¥fçlÎj’†“¤}8è[†CÇ$·à$­VðeAyJÏ´[+üÐ÷½ï)œ¯ðÿ"b”8vâ$×_·Åµ'—YYqaÀáÈ1Œ ‡á|ÂQœR(©‘¤Â14y^â\A9Èh4K’Õ%üÒkM^qqoŸ÷†ÿü‘?#ÝÛg½ÛáÖ“k¼åU_ëښåO=Ìò´ZhÆl¯5‰¿x†àI£)9,KP!Í¥ší6Aâœã`8 I»ƒDÐl´8÷¼¿ ‘µGþTá1›K- ¬rT•â¡ÇŽsy¯Íè@ÒÚ¨(r…”‚Þàúë.qõU—P‚ºa©d˜mUÍWGð^,T”£Q=Ï aí[3N±¹ª{ è ˜7L§ô“ sï"ü ~°æØã‡¤¼>‘Y“Õ– MM7¥,úž‡¶Þ‚g±Ù; 6GÀ›_øCø¥ÀÏ_ Fþ¹ž»/§8qKŽ’pÛ ’ª¨ÕtzWx6™ûû·à\Q?ä>L¡½Šà™•:¦¸2ë3=%Dÿ¢]¸-åÓ?ô0W|¯ùÐ1d.øâw?^7{™©®ÄúTÙsǃVÓǶ[Þ`- ýä«ÖŽNVV 7މqŒÕn…–0t$KÇzŽ !ô+&Ã’2·”%ä• ¨J²¼ È}?Á¹Çý]I·!Cùœð@¯´jß°†tè aŒ`ça¯Ì1V’¬åè–A·4ºå¥–S[c,˜ƒzðµnøì³}¹Mº›bbG"´OHˆ v.dèÝs^¥StÔÀ0&è­.crA:اw¬Cº—Ò[;î'eã¶o t–عà»ÇŸ}à1Œ+IRz[«èö2Zï“îíCK“t"(Ò'Î{J§6ôéÉ-heèH‘´:Ú$Ea?Ó–²ÈR0Z.ïI¼AQßøŒ¸Õ•/_áÿÜOÜÉFüégßϯ}ð=üßû¯X…0œ¼ªà•/¿†k¯ê°ÔÑ ÇŠƒ}ǤŸ3ê[ £kž¬áÍ]…R1NH†‡‡ ! Z MÔŠü)0dȨt|ôsÛü§|‚û>K3´ÜrM¯ýúsǧèÚ“_|€ÆÐpñÆ5öÖ4ÝóNl÷¹æ±] àá»áÔ­Çèv"D9áp÷ýTÓ]]06†XÃá¸BGš8lÐPÍ#3ྲ_èòq(ðÐC›œÛK¨„ãòåˆs Ö¯®‚9”ln4(«EµOM×8¯ùv¹Ù™å”knµ¼t¸(½z7«Y‹fëhQ½8²¾¨™V›N”¾¡W»4:çÕ"Ÿ];˜I™ðÒË´e þ3¿´gyÛ9· Ã,=ðýûâc@ÿÕ¿‡ö‹pëu:Õ²¿íã/÷v×®š0*”®uñU…!é#Žî¦C6Žú¶9¼u0»{­Ÿáòà\ë Ò–`¢xâ5»XåØþ[»|Í‡Ž±uïÒ¬)ì=Wb}lÿ¹ãÁƆ ÓöVYæh6Q(èvÇŽy{…FC°·/è÷a4d¹?1ä:,yVAQ¢\IåVJ„’Xà¤#À"•Ï88UŒrh¶žìŒAÛÐ7NuìmޤÓõ´Îq$í>&X¯ƒK4„!ô±Ïñ¾ßÅïÙ&&âøZ—ïùæ—p˱UŽ5V“V:²4¥yà‡×ö»B„\l‡œZÃŒñh„rûµhÝÚ#j‡ØÒ’W—/11‚~?ce9$Y*¨¬Ÿ0]kùýd£œùÿ,‚rɤ¦šý ããðIG³rñ¡’ñ%Ô’Ñ¡£°nÖ ÄQ@@AMx—Ì#ÕüTR'W‚€$‚÷ýt½8¸ç1xéÛào½¬¶]u° ^ÿ.ŒU…` ’kçÒPWß×,:qÚPÕ3¾G¯ÔúLûõýScVìÌÖgúó*°ó×[-(\¯Àú<<°V ŽùŒæ¢°Œ&Ðj¢HÒíÀ‰Þö`iW°·çØÛƒ~*Ž*ŠÒ2™8d5]GéÍt¦Iô.Dˆ'­’‘qý©ÈPJrüÏ Þúê•#æi4t£SÛ-tüÏŽG˜B’tG¤‡–ÚÜ|ó1_¡çΟ2YòJÇAŸtâHšØ’îîú|ñX ;]zkËÐÞêŸu»³ë¥òAïš«H/ìÐ[O0y€ŽÂYrº1ÈÛöЮ`çÑ’›˜ÃÒCC/„Ë}ŒÈÑQ„™¦Y’¤Ñ[²3ØE°Œéz5“p#z«Çùˇ#VökKÆ…£ŸJ\PU‚ÂH²RQãá³þûûݼþë¿õÕS ÇüɧÞÇÕ'n½¢MÛ[omrêTƒáÐòÀC¾øÅ‚‡ŒF5®ÂY€²Šë Í(Bä!éÙóœ{b—öZÂað©ûŸà7?ôq>úé¿b<.Yk5øæ[¯çn=Ή•+q‡Ž‘gdã‡eI+n0i„4G9Éå ƒű¾MÆZ¡ã"/Øß¾@–4¯iA¬ƒ!$ÆXBfRP¶$eãÜRT9e%Ø"„¤ÝhÒc¢@-ô8s²Ò¡–q?$4º–õk*Æ& ¹"hG‚ÕUƒ³'¶ª-ç§ô´›[Ñ)Þòvøým¯Òù½úïûÛ§ÊQ{µÌ)w%æs©8’7+„WˆøáBU¬€¢&ØÅÂÖ6åѧ׶îJŠy'Ôóæ±X¨rE­~ùÁ ?ù¡ÈàGÚsË?þ®…-ç9|-€9àr¦þºÞævËÓ`çxV/+µ>²–rn¿î2«v¸êklãe®ú¤î8ûòƒù Y}]¹+³>ÏÆC1¬8v¬A«`ŒÏ¯ÕqEzk„n×ÓEͦ·@ØkÃÞ®d0()ŠŠ*¾kíÀ‰§¤xw%Ò D`±\î§à”(X[SÜz«~Nx°½v¢ Z6|?3£ñâé`Ï7_7ëÊ^KvÎ÷ý{¥ÝUÞ¹Ø}•ÞÆÏ1Ñ ©ýñuÔ ]m¡Û™ÀF·ã 𖆸þl?ô:Zf{o×7Ú fT’¬¶H®>±¤·×'-àêåI»å-“3‡ŽÛô"‰Ùïc†ct¤Ñ+KèN„ÉJÌþ½ŽƒH¬,{ŽŸ²:^ggï<¸|I°»Ÿ{‰^ú¡Qa«€¢rNP‚õÍ¿àòÅÛž&Í|ñ¯á}ÿùÇØ¹|†fc‰ÝðjþáÛæ9ñý‹ÿ¦ áÎ÷œæÍoù8¯|UDÚ·<öhÆþb™Gã¡ò^8¡¢²kÕÓº‘V(öÇ–Ëã’_üÌ|þQÆYF+,yñU'ø¦—Ÿæ†ÕÇZQiÀ9 c0¡ÂJ‹«"«pUÁ¥›·X:³ÃúÙCzORIè' [QÄ¡$ޤI[:l ñj›Ê:ÊÒ{„¡"Ã:´:" #\eO —w/1É2:Í6«Kˬ%K³×`÷RÂ=÷GÉ€õ¶¥lǬn Y[¿éã}Û IDATÌå‡6imel\u‘Æêní¥Ï̹SàýEð­_wôµ}ã«ýõG>åAí寄ùgðï…ßÿ¶ùáÿnÅÔíÁ͇ˆä©¼ìEð±_[n^x[õªñ±´Þ”MtWWÕ4’¨æ3W3UMî7 ¡žù==,½ õ5ø»:æòK¹û{çúßÛä¦o‘·Jμá¾éjÁ:Á¹:¯ý ¬ÏóÁƒ|,˜¤»g3:«MÚ€0¬Ð Ýp„WÜL{í68'B„ŽÑ²Ü›¯)'pøˆÈéN(¬åA€¶”qÎֱ熽MYLa0Cß{IÝÄÏ!e`p¤/CSð9{CÀÎÙ‹$]ÿº˜Ã鮜š;‡n¯²³{Kzk Ÿ‡»ÔðªÊ틤h’Ž&‰c_¼AïØµïAcc½÷rª‡Cºý„7ëw 3KÚ?`g¿€Xx^yàO@‡¤ƒz÷ñ4fhÐØÙdYzþÜ®Qû=;@SYK™ƒ$€J"qˆ@áêÉUŸg­žñþÒ¿—¾ø _–ßÿJ›¸n@YzÂrÏ#Î^vÀc§û³õqO7!®ôúÞ°S纣d#XîÐ+º!\Xí`ŸDŸ‚('ÝÏ1ÙÄoñ™$±F‰&Ö9¤ót'*Òj>d;ÀÕ‰Aÿ5.EñÄãðЃ–3OF&$PŽÐ*¤U”fš8U«tJËçöxÇ÷³ì‡8WÖ’>_©\¾ˆöؽ¼Ãz7B” É'*!±•—¶I$eQåc´ÖH …A5¬¬'È@ •¥ÙŠøðóápµ¯G·ÛDQì+®Zj)¥$T1¡Œk¶ t–—¼Ç7¡ gº}_9jFƒ’j±uB²ÔÛEʨî!J„(ÕðŽ›Â"\æ½Ùq8J*ç<+â`œÇ<™6èè Ç:ÖÁ£»]–š†¶ñÙBXØÔÌmJ3ˆÀð°¬…öM›‡Ó¿kÇsY¦^ð~2Q ¼SñPä?¨³ \ ãªÜßo ñ¦„tjaê¶Zo;ÿÛ)w}Äf¹ÞG¤®e›QDÞJÛæÞ]5˜Ë;]M±0µÊ³| ÒÝà«~}ž/xøä•%Ÿdñçä¡òTf€T¶ž<ösÖAÁÆºâø E§+ BÁÁåÑ3%çÎ †‡‚*w`JI„) ž3$Ç–!Wà†¤{†“yTaKcâ_ôñ„¡;"qà“N²¬<øƒºRO–ÖØ>±ÆœÃJ c´^Asˆn70¹Ád#_XÇm4ArêzÒ ç¼ŸN$½æ¾ífÒ{îóù‰é>i)IŽoÒÛ\"‘MÒ ƒÚÊSa†¶ötÛÇd#ÈBhD$ͯ•2D½:DG]h—ì째2DH‰’PCPâ¡ÒOJ+¼V]ôŽ?ÄιÓÿ¯¨ÝùžÓ\}ý_²¶®q•eïcD’@I/a´RjÔ4ÿ.PÄ:" ­w-tùÌxEɤ²ÜõÀ£®ä·\ËFä9Ê œ-‘Ò»[f&GÚ¡N8JÖ–—RÄ!…-ÙÚÚ„2£*2 g18\M“1¾¸OÙh‘¬.ÆÞëÝ:ëòBP¹Š¼*<¸ ‰|ì“«-™g³ c‹¬*Z«å )}ãM¢dI¨êÁ8'˜%":qVwñj/­Ye(XoVDÊ"„çx¯Y •#X`ÄÜ‘c¿›ÉûF"f@B}[Ó#±¨À”‡r¦‹§ ƒ¹À,¸ü@ÀHAÇâB‡ˆ=÷>£P*±è6¿Võ€S>ïûÕ–Fu”neüAa6<›O7ƒªî˜yE¼ÀÙû™ÿ±Äò”Kwé«}ž/xë@áºlá7˜zc«p¸ªòª¯Ü!”°²•W D± 醬¯ ŽWlm,/{wÚ'o*¹çžŒûïs\8R‰’É$`ûqõœñ Y;†+̰…'~† Ð!¤£ ¸‰·.ö^È tm°fП@,IÇìÝib ÝÕ$.éXµ\ݹ Ýj’GP8’v“7¡l£›cŒs:üN˜Üb°Þf³¨07C¯méøD‹t©á‡ò&æüȄԩ+º‘8ÚÅè«?y›[ŽÅ 'l CK¯“Ôt’°.à”õ¯Î:ë“lží<û7tÙ~äVŽ]ó%l@áí  …P°”¥ÃÖ³°lIoµÅÿþî¿Ï÷ýÓ_flBÀ €ÊI&ÀCiŸ‹´x„µÛnDJÅp5}f•pH:Øó^ø£2G"z¤frA²ºLÒ^B· »è°ÉlÆ%¶TõqHÔNL®N]·9Hï@Ɖpöìßl•ç{N³uò!L^ppñ4÷Ói;–7Ú„«9NÇ`(Q$Ï+ßð\™Š7¿ê&Þýß¾‰ÿõ—ÿ€‘׆%–¾ƒÏl?IJzåö›®!ŽKJ7™O’f^íͲ–mÐŒð€KÀdŠ k¨Ú1 Mˆ” ç]º„jµi,¯Ðê¶J I ÂÚRF DPý=ظãï?À¿þ…[hõζ‡¾Ò )B"œ£,²z¿Ÿ ¬GºÍ^±%mBÜ„Ü!þüÿ|‹Ó <Áßj¢31&°´…ÉǘË;èV“¤±Dº»ÏÎÁÓ?@ ÐÎ'¿M¹ý$Tµa³^SúГéðÁжz¼ó—~†<“ä…ÇvVáœ7V £’öR@¬5ãCÇxPPá<%á,g/|ÍßèßùžÓüOÿü wÝ%8{¦¢˜TÅK­%dÞß,YK`4Á8á\¡†"@G%D±3|óׄ£µ®t‘A“Ž˜|Cƒ`ç‰ó$¡%-$É O²zŒíÇ0f‚;ô6>!èâF’–¦×N0z‚´5d†th0…ñU|(0#ƒÙM}(¯–>u>w 2¯-5‡lg««–,³ä¹$/,EáSe¤ X^ ÙØ ˆ;Št×±·SÑ–ä¹?ª8vgÏ_ÙJÿÎ÷œæ±ís|Û"¶6,þyEz9ç¿yç½t:9››þS炸nM˜Ì’e·ÎL-hý»|Ãm×Ñ[îrnÿ2ˆë¼­k†bǾ°}¯Å‹XÙj`Æcš˜¥VW”äU†*KÊÜÅ!n¥ÍYk)D€Œ¡Èi ˆ”D†Êk…@HPþPEEn Ü$£çTYIÜn£âȃ}#CMûŽï?ö€¯ô¿­Ï¯þQ(‘ÂÖÐQ!D€ªý€¼Ô¯\wÊ»!Ö^íÂHQáêSˆóªqêÉ>«|kpµÊC.Žs2ÿ¾{ŠœP,NÂ2§\¹à¥SH(­÷ÚYaè ^9n*ÏÂëN-¦’¾©Ù üïœMHiX,VqÓ*5ŒL#(³º»è)çôδI+§OP=ÅðÍ.4r…óaÞºð‰LÓß)A8o¼ºù‹åÿ^Ö“­Áß.xó{»ìE åOé2:Ôíîi`ÿTÐÿj^ŸŠ(Ï^4Û‚fËÛrt:‚dÉÖu:®®à+ÂÀŸd–½}ËdRqñRΓOýŠõ­ˆÛ_ÖxAxpõÉMhi_g§i´8ÎÎá.º«Ñ­†WÒágD2‰ÎRènbÌã$ Ð+7ò¬Êj ÓŸ`ìÉê º]+Bt1Ù½¼DÚS ÑA€n$h H†æ°ÖÐè:Öhi1qä½ð£C˜d˜¸Eº—²Ý?C²¶‰ö1õ¶®3Q»K9’8‚­-ÈJpC¿³É®o0, ´N £iŸqȱÃYïe9_ƒX Çdl©„¥¬a ÝDiAQ:ŠÂâ|í«Ïp×§NÏüë¿ ¸õŽßåÖÓ-n¿£ÍM76ØX¸öZÅñc‚É$Ä…1Y^2™T|ÿ÷ú¿{ÏO~žñÄÍ2m«ÉEM¢(&P’ïó+¸ýÆSüËóAþü¾‡æ‡ ;ÉþÞeD¹„Í-®3È.ˆÐËkt7×ÐÉ:„!…«pN²¾²F‰©j‹˜NU’¶(ü)" 2 *V„B! f« òæmßý¬`ô¿©äý›NÕÚì©©zmˆ.jÃQúÛ§œ±'¶ª­lêV±àZ¬üÚЋ•# U%vAÓ=Ÿ~NwN}˜Ë¬³Ú×@yfÆÓOïpÁ~ñ~honVß_Yÿ‚§ÎÔ*ys8-•E% žê6#늙C¥XÜx¦û˾?+êYõžìŸú_¥ëÓn¿p<ˆšÂ[ï‘oŒe8¬Ó¹*¯µohGyðIVÑï—ì\Êø«û‡<üЈÑÈÒMÛOѤ¤ƒ”€“=ô£zÅZtB:éà %%“¢E½¶DOÇô–»$kë˜ÑÀoÔ$°¼„9ˆZ$‘טÖÅ»Âub[K›èP²ÌÙ³–,“…Ÿ#—u‰!…b<–ŒÆþ§ÔüÍÔˆq(°±¤²~¢îõo8C:~g/À_þS8¹õ›œT|æS9çÏyø¦×\Ó`c=¢ÝVD¡$P‚Fˇ.å—ßûÒ´ä'ßãÍÎßòÖOùg{Ë[ Ï|œôÒùDÓlu£ÛnØàw~ñxðì¿ñáOóþþ ;£1ŽÃý>ƒ½>AØ$NšDI›¢ÑaíêSH%©ªŠ<ËNF”e*ÀäVº-”R8å#*¥pa®Â:Kæ¼d® D¸…¤émùc}=€cy~áðBÙ£}J9µP8YaorzŽÛû·8!©œ€jÁ"` b!NoÎ\Ê·ˆÅÓØT±ð÷v‘ïv0˜(Ú‘ az\½üNúÃG½û¦|'-ùap_‚Âz]|cnõà¦U÷ô±”OiÀºEÅÌSªÿê©ÃQþÛ‰C å«0áOxÓd«MT7ŒE]ñÏ(Ÿ¯àòÕº>W ªR`&`+‡;}ÇÅ ŽP9T`‰"K»éˆBÇá `çbÆÎ¥Ï …€IöüðyQ’÷+öv-{»s"óÖÄžùÆK-sû+~6© ­¼íÌÈ@&òÙ"Œ ií]­…ÀØ 0!YMØÙ9Fb°h$I§‹Ž:3@ƒƒ'!$±$‰V Û 0OîDK2ÌÐ`2Ñ-ôf“퓎 hg^Vé$ÚB»^9^S?%´ÁäCÒvÎ_@;[7ƒ— +1¢‰I/ùO˜pñ¢&ŒÂ@!„ ´~.7Žñ¸¢È"D¡wPŒBA ü”\H¤P”%˜¬äU¯~Äë‡%|â§ŸõqÍMÅæ*«ˆCATä¢b4¶<ô€awÌ“…¬m(ºÝÝ4´" %Ö ªR0{S¦7ûŸ²·0zžL¬ÝF;¹‰æÅÏ2:óFƒ°Â87ž\æŸ|ÿ7ò®ï8ÍŸ|á~õŸ Rúä Xå•t‹N’PUÎVäããÁWäÈÜP:äYRÑLÚ¨0ÀII(*$•pÎRZï9ô …ß „ØYTßó|éš89>j7 ^&W÷ ¤p3»QË<ÜBe8ýàOy¶ò%¨uíÒU·¸jî=?ÅÛ²æÓ+ tdù–Wúîæ¥?û.ôÖwQvo'+ž$Þûžä tykü1ááï¢Ú<ÍÓxŠ}òBv- @_3!¾X®¦|{]¾Ê ¨NyÂ!»€,|¥[,Lß.R9,œ¦?7xY=ƒnæ«w}@К¬s¯9²>WlågN”ˆz˜+¯,YU‚ÍÈÉó‚ɹbxp颜áyÉècúšTÈ3tè³Àw¶ïƒl‚n'è,F AjÎcòÚœ·âã3 òÖ5fò’eôV“š´?ÄŒœWQî÷Ù9?ĸœdm#í¬¡Û{˜Añç¿ûG^GaQBž£»+$k zh`©M¡°JÐí$蓈}Óc0ÅT­3ÆL*tCyiÜ@‡Ó†˜ItˆM°ˆ¼óÝ?Ž1^ÇŠµT%TeTÇô8¤°ÈÐÖ¡ÒË®BСD(AaKÆO *J)Z ™­ÈKƒ4#¬­Èm…(+WAT EIe+*[R”Ž@T¬­H’U‡r”¬h6#tÜÆÙÌÄŒÇ1‡ý˜á0&/4¯¸=!Gò3ß÷£\ûºß³Kõø1Úþe°†ŠÚ”Îbò1¥-PA€ BT@QÆL&%íå„îÊ2Å8#½´‡Ës¢P¡uˆn*”’fâá£Õh48`q”ÎQ¸ŠÒzݲšJÓ Z $Nr¢¥ꪷ|YJgªØøÍ?õ~æ‹ãöˆ£ȳaËÌñˆþz‘®)%¼ð´)8­ä¹PiÖ œW0Éú“UQщs¾ã G'“ÎüÑÛgÿ¿zµÉöžÂjóNÚùݬ‡C…ŸqÉßn-$¯÷‚>~öœêÀ4#–Úó}F U ÕþôDÖ›k­Î±e=é+¢–}VOQ©©Ô1A½$ý²”ÎT±óáOvÛÑÿ'×g=Ò\/^Fgùí”k¯gÿÞwðî_ùßÈ‘t´à3Ÿ|ÕãÁÿñbDŒv¦p˜Ì«qh ´ÞBG®¶0>˜ý„pŸÄVf6|5ÂY•_W¹GÂìfZuWHÉì°vÀô~2n±XÂþI,öþîÞ<ÊÒ¬,óýíýMûÌ_ĉˆ<‘™U•YTQYU2ˆ@¥ 6¶Š%¨´ÊjD»í%÷z¥A[œ…Â+piÑVZ[ÅpD•IhQšA €ª¬)3rŠ<‘ÃwæýM{ß?öwND1h!P"¹V¬Ìyb8gŸýìw?ïó>O^½'™ñH¶ÅqÕßý€ÿ⇘³ã7±)Ï~ɬO€Ïóp®h~#víVvN¾ÂÑ«¯ºí3îŸå®àq÷ßüÁ³Ÿã†¨׬%­ªu9^^vǽ?ÙFg ]ÇR IDATg»ôºŽó§ÚQDŽþ9ðGWAª! Õqt¼qU¾Î5¤Õ¬Ñ;~œd¸»ßÐÍ-â¯{’u]ÜξÅfîªttŽBB»¡L¢)Pøîÿe:uGÕ:Äu÷ÆI¦eÜØ°Ö=nþwš¡æPTÝ Ó=¢ó’ïúÿ~Ï·ø~@¤œiSQH²TN ŠB "K¨ 0&µÌJ×-óe‰ï…XÏb„“hEa~Iž•ØÒ ,Ié ŠÌ`òSL·ˆg±¢ÄÚ ar¼@âE °9uy„V|ßg¦#Æ[âeÁêºáØCÖÖjd9”yI³ ßõ¸ªÚê¡L1çßKzæ½ÌŠ€™ ñ}QZfÍd4c4H 5iš”)kí€vÍÇ }r|Š N­Ý!^]& ¬1ŒwvÙݼˆžŒ(KC»¥XZ©µxµ–ËöÂó‘h|/Å_{ båÑ N½ãY‹A«øþðÓßJRc HŽ¢ð«Îæ~ƒn’´8¿¹J– ¦ch¨’GÝ´±‹¹ê#ð€úÞÈ€y>«µû¡èþ''sç3œEee`omEÀFß¡aqè(¹Çï¥é½ì'Üûa®Å7*o{ 9{p( ˆb>ad-xvñ˜ýA®Š£7ÕI1’Ð<øE&¿’KÙ­L¼Çn¿š‡|Ý›0àßróM¼åõ?ÍhóuÜkßÏ%.ÿ«­DÐæJq ѵßÅ݈pç—øúï}éýöÏÿ|õCø‰ŸÚ\ìŸf^öн3xðʧ}Oå]ªÛs™i‚14”«ð›Yx”¹7ǰZõjub‰»NÙxPn‰ ]ØjwåÑ…EùŠÐ5‰Û=6îùˆûžÍq7†Ðâ÷ðPR¡G Éå (Z(2”Ÿ¡Ûëh qˆ:œGÍ*¶0†Áž{Bv ¢Il5zlI¶wgD3DE5T+F­,[YùA;~-^]ƒt†NÝÁ7(o½í°;àÖ×ü&¥ 1@ú’QÀ¸ ¶žÄPæø%µšG(°>†œ2Ï) ÔúˆÂblI #d)0FSÚœ"õÀF¿šµÖÆÃZ"µ¹ÍŠ2Çu²´`8îB!ñdIº#ÑFÔs––|®:R˜kKÞsáU„¡ïøøŸü»¨îWœ}7Qÿ<ë4½€n="sÒ¼ KKLQ eAàƒHð<20+RöÆ»4Û-ša“( ¤.œ³ ždìCmœµs¢v¯ÙÂ÷=*:U™zh=fãâZŽë9›µìhÙt‡E0qÔz–Óßì·:®€nXôd_Ž¥ =Ñ$ãl£ ƒj¶zõS,™ïY¡pÕ¨„¶$“ E-‡(ê$ã*ì7ª-ºÀºš2Õz¸àâÕ8E…;¹Z =Ò$“ UŸ·££jwŒ2tV˜ýK€¾Q„ÖÚù jÿmŠYî¹éM]ãò½‡9{!ÂÖ õÆŒs5:Ë)|ìÍÖÄUŽÒËüïoy¢}àý}Ϩ~Ùkr„É*ÙWMÓ–2ÛSW•AšÜ™Á™]é—®ü Í`—®|35ñVðN~rÀÙ–ûòȨÈ:ç˜à÷ ¸–T>‰âk˜Ú«°Èýªþó\ŸÅï +szÓuµ¿ï¶s¼éW_ÈVÿwÙ2b#ßý¼×Gy«âGÌMäêé<÷‡^Ë›Þô&’Û_ÈãŸý’/Êþé_θïÞèAǃßûîç¡g#T§iJ2.赪b6ÙE­µ‰[˨°j6ÐyNrñÉL/í– Ó°³gH’”Yîº{~à††zdévkG|¯ûÔ(Ò‚Á¸àÒîŒ o¼Í5ä<)¹îʘŸ|îM|ÓSK Ö0¹YTín2R"<áûH/Xabñ…å©ÏÜ ÓàKáÔžå;¿ö,ÙÝ·V²ðòÉÖN=ç!cŒó„©|e\cunk-« Á° «‘ll®.ª}¡f>ÉZý· Ê:s`²68 Ú *t/íý­˜ÅˆuJnbÀÙšFx ¢íÿñEYŸ…îR2äôö­Uµÿ*¶ÏŸä}oy9O¼Ep·ýg'“Ïy}”/X÷{¯=–2»…ÿò“Èo½á$·¿'|ÇK”ýsîÔꃂoÿï?á$»{$ÙúÒÔÑ)sy:.z0®µHÌ â¨^UàÕÿçSÈR´…äÂ.ªS#ÙÞ¢aJÜnÐ;¾™O2pâÆk]:`Éh@²í²„{‡[.ÞðlD‚!*w–Ê?­³`8zýógH†{ öE|èUÿÎê"Dù»¨f×UíÖ¢Ó‚þ=÷¢¢†;Æ3;C‰4ãå‰GÝ€Þ‘èÄ©ypCWóC ÿáSèÜuŸã•5§Í-ªºÓïp5îžÅèÑÉŽ&Ï`ìh¾Þ&^Y¡·rµ¢³dÕðQBðôÿÆÏ(ðläØ"ÇØcf”6ÀJ0ôð=a<°¦xÂâû# óÁ+s( +aé2<¯DJëlUkÐlC«#Yéú¬vâ¶d6³œ;—sòîûEáá{*‚FÃÒY†îšd¹x¦){ÍÞnŠžH!yóÏýB¥æy“«è÷`7ßM¡'”¶5UÒ´q•ˆððý…³"x kˆÃOFÔ/´ƒ °¿ú«DiëFÿ½üóô€Õ¯ý”)Ï´ª*EUÍ ± õÀùWþ¸ÁÙSG9ù‘£Ë–27´V<¾þ;î¤VK‘žûõŸuTÞóÌ…&RT¨H 3D”[ë8sk$Hƒ°>¿Jæ¨RÅeX¾¨,<°>çÜ{~ÒyQÝè}Äò÷ÅÝPîõP•õÂÜ+ØÚ}-¾< +ÍÐ<œ½ì:rS'Õ3ƒ×|Ñ×ç~Òãôî3Àïe—˜~[ú­ÜcÏpy"ÿÙõñ%¬©:×ÊGÑ®}?ø³Í/½öw]•{û ùêgßö îŸÀ÷8{O㋆ö?þiø£Ïl»’l•ù7í¥T5ÀZ,œ0U{ŽœŽÌéµ;ô®9îXKCôl‡xe}ßÞ8¬Ó¿pZ€’ëhs‘d;%VñÊ„‚ds«º´QQén²Žò “„»ùî’ΙS|â—ŸjõD£‘NÚlUU~†"Dgèl\œ¸Ø,:z͘þðâ‚WQ 6M\Dµv=89æ0%aÂ|:KÕ:‹¬¸Õ…Тw5 ¢Œ4 -:ÝßV”í h@d4䙿ó|é!=·ø†k¦ŠBb2ßíOyu„ ¤AR¸LWßÒð]ãn\X„ø¾ ¡V‡v[°´,Y[óY^òhµ$ͦG­æbÔÊÜ2Ø.¸ó¤æŸÌÙº “Ôí¶0,i¶%GŽ„¬ ñdÉx’2kLai4|šuÇ¿·Z?úí?¶ü&Çî|sá½äyA)Û@ˆ¨„àV:/”€‘ãé×oFÄ72ÏÈ[ýeᤨªOSY×\+¦8•Ÿb\ÈA7ÄÅT¨Ø^ÏAÿõüÐ#Ï"²iÁÑ+áêG}ßÏùÏßd8O÷­án>M]ÄÁÖb²óÕ´“ç_X„‚ À‹\æ +àwÔ€KrrßÃâ±±±?Tz!¡²$ßI+|"ÿÓ:Ûê6…«î‘àÁ7 ÍWÒ/Mjáyþ>}ó ­ÏBß_õN'ûiñÃ|ÙÖŸp–·ñÁ³{|âƒG?ãú¬4Ꜩ=”Uñ$~öuŸä'î×Arû ¹å{_ü¯º¬¼åϧ_0<øÝŸù±4ÐkµÑ!$;C§¤YŠa¼K°‡’ ân€Î|’Á6JEÄÝØEV>÷ˆq3B… Jh-ÁD»a­(B!\1 ’‹}Tt%$Û—\Èyên*èBªÝq©XË bÿ((ŸxÝÓ-¡r”I¦!Tèl‡$óˆCEÿl­5ñJL¯×«žµ‚†uö#ÖI7d8r¾ðIîîÓ\FïøÄ+pìŠÄ w¸èѶ£‘Àéÿìù¦(‘loÑ»ñ:’ÝË$ã‰Ó§†qXƒlŠždôÏZ,ľó]D‘Äo4(Áöÿ7ÅÖ‡ÈmDéÇá!í”Ph¼CA¬>üúý€àøêŸ¸é§ŸKèr×"ÄEùÙ}gG>5|Û~ŠupE—Õ·Þý{¼ÏßÍï]NK¢Ö˜f#亥5nzÜÿ¼®þî[Ï*$ž°@ïèâ`zI±‹Õ›¼Ee“)ð«€rϯÀ>Tjøâûa%QZ6N ÐOõŒXm³¾‹¨üðÏUÕ}¬ƒwy~5{ù#škÐ:]TôÿZëƒ= 0No;àO»?Ⱦà¿ñǯûoÌvÿˆ»gwð‰þΧ­Ï5þͼþ/ò=/x5äv7`øM/¸íóÞ?/üÑ#<õëN^ûçòŽ%Ý+?o<øÅïþñŒ?½+®F5Bô$C­âöq˜¤NÑQÍvºÞ¸À“¨ Lèõ®†tF¿¿éìlBI’ŽÑ©¤§ ‰–Ä5×ñïfÄ‘ nÆôG{‹Ï«fUߜӹt?/s¹Ð††ˆ¿{Õ“,™‹ÔvŠjÖˆ[=T7"ÙÞuÁå™lò0ÔGPk¡Kè­ÔIö¦èIŸ¸Rà St=^ e©–BQiPgÃÅ)©jŠd¸_J)´.ný‹§Ý ¹~ˆ¸}5ZoÑ?Û§î4Ì@Q¢ÖbâZËÙ=4B4’ýåïQJA‘Î(+èÙ¸$º¢KÕõ–Gy4”¤µìqñBî¤fžSD‘ ^´;’n×£Óñˆ”¨Œ ¥²°L§†áØ’e–nÛçðšGéA³àÌÙŒéÌ/´Û>Qä\-§SÃtX0™äLF­ YjÈ2·³Ò2š ZJó¶W¿ìþÀ¯w°›o'žEz~û!ˆÞWCÔ],ö¢ª?ö‡ØÂîOTîSÚ®=8ð‡™g¦Îů;Ø1Ã;?põZÁuûÃIVìGúýSÀ}û{žÄ?NHÃW¯}ÿÞ§=û•,¯_÷i³Žºy¢²pÌ XáJSUøóRw™7ïΰvŠ˜û‰*ÑDÈ Må>* ßÑÞÖ5ìÄÜ7¾Št·'Áé»öožéÊóñ=AGÜK,>LÐ(!ê`§Ûã+IxX•ZÎ~Uÿ%°>Xén9Âpúü­ªýW±}þN>ð—¿À#n™}Æõ±²¾ ožõ“/ý‚íŸ~Ñ:/xá¹/ÈþIpíµkŸ3¼ø)Ïÿã‹=ÛEïæÄ-§ÊQ²b?–bT`P-ÔHv/ì$¨Ö q#dζĭIku˜$3NÞuЏÝàØñÞâsØ1º0Ä­Ž“`6ý®µ¦×Zrâ ±ÕŒñ²GÙáòjÏŸ[Èw\[•X•jõEu¯Ò]ƨµKFj`JEÄë=gÀ?8’ë`.¤7èÌ¢š :×À$Ÿ¹a«´(ÙØ¿:©¶ë Ô:èI%NÿÄþ'O¡‚6J Ðc’q5ú ^sß{ÈmJ(K<#˜iI^@gE°´ä’|@S«¹~‹R’(„(%h4$ͦû; ^¥?KSKCÃ``Hö,£4ê>7\p쪲0.˜!/ñ}*c%É45Lg’L;_rIšÂh’1d™%ÏKfS‹Î'xVâ Áû~ÿ÷~;9DãèB²úkß ³ÉÂäËy¾‹}Y_eêå‚;öŠö€ÌP˜Š‹öH ‹ý)R,ܹ!xۇ׹paoþš”¯¾Ñ€©¼aÂyˆ‡ó‡‘×f˃­säÙwÝõÎÞq;ßôÌWb×$íºâþÚò»Ÿ±Ÿ¦a ¹ÈÙ*wÅa¯[ùÄxgaó®¦pOÈÊÒ5i­¹?2OÔ>`-à|g\E/> ‘.üŠsqÒÂ{ÒûÑå" Û(øC”¿íÔiôí =LÑú"¨uâPÁÜ›9ÓÕµ4™»-à’`ØÝDUXÊx¢¡/Vͺ‹š$;™Œz;Ag3tÊæôÏ_B ‰êv¢‡ºÓ¦Æ5^þÑ?@ÈŸÊ1Ï,¯yÄm×ÿΈÈ¨hÎ3Ê*!GÒj šMI½.¨)A=¡`:ƒ‹}ÃÙs9ý­’ñØ2B¦¡/8~•Ïõ×DÄË"„’‚L† 3ÆiÖ'RÊ÷Æc<+ 2Æ{9³4'3%&›aÀØ<ÅûßÑ<«×ü Éoáè‘ãö£ÉkÇI>îìŽ_ó6ÈÆnÓL»¼ £æ#F¸u°dƒ³HZŸnæes¸÷¼ñ]«ä"bImñýßšÕøÃWç"PC€¼–O35{þÏ_ä·}3Ë~üd.oííüà2uÝàÔ·V9{Jä´üéÅOr&ß…Àãæå‡rKç çùnœdÆá.ø¬xð5ÞÓ¾àøƒ8 Ï|7”M´˜A–£Ê¸·@‡¡£²=ÜFkãŠï†;ÕãÎ Épº?ÄÕ0$vÑ2'n¯£í”Þúq×om¶ÐãJE›d#[¨Ä;n{¬U¡BaHÆ©;‚i£Tv?™Î‡Nî£ñ굨–"1‰£€˜çÔN¡Ù‚Ì Ó±;aBKÜ^B…ÖiõÃÈ=)=DßwÑ]…²Ü=™¨D‹ PË ’ËÄ­®‹O•\ªh!k iÑT.HF™ÓÆÖZîE *j“ /ðë÷½uáÂ÷¶¿RâÛ†@J¢HRSÕ­6´[’VK²Ô èv$¹5Üw¦àžÓû“¡óŸK·0‚¥¶àȡյ€Ö²‡:‰êxO2݃Á$gZQµ@ÒŒ$'ÈJËlhíY†YJjS¤NÈË„BJµÐÿï7¼ÔŸwŸÂ™wUUãŸÎö7½9ðá}Ÿ¹?l¦Â I®j‘i1™qà)d³Zؼ ¯ý£WZæTÈs¾qÌC”ÎD °™ ßöñ¬‡\* TyS˜{¯äôé›Àr·÷.Z>ÅM!_å9.•i\ŽPR!,|xp‘w\ؤÓ̹h¢Vƒ=ä1øB2±3ΕCŽz1MOVS¤Äxä‚7¥TTüÉ\s ¦È¡ÊxuÕYMÈVdºçc­¶^ü56îïsó‡ïàôæ ÿæÖ¿ê ŸùŒëó„ç¼øßôþ)=xÊ-íüÀ‰ïü¢ãO²3AÛ %Â*È$G‹5KP­uè¸jÜ;äŒÇWTÍ\mÆ(Ù$Ù» ªI2Ú٠׬/¤ ¤ : E¨H¡íÀ9iš¡+Ôý]’Ìs:ü¹¬+ `:…zÝI‰šb%ˆW{¨¸ ¡Wý€z„ Oûk IDATÙ=žºÌÚP@` —¨åC.Íé(œI^ùîTôÐ}[¨¸v¿+ ¥ô ªÙF‡lœÙ„i‚Î}ÈFôzkôŽáäéûè­,·–Ñ“Ì*×Z.‰ËìG+${{h­ù®×¿|·æy†PY”‚ ôˆT€ EV2œ”d³Q |%h¶CVbŸÌ.\(ØÝÉ( ˆÒwƒÒUb¥€À³ÔÂvìÑéz¨¨$Õ%Ù$¤˜&Ó‚™EQx%­ÂÀ™÷ÛÂ’Î$]2+5él€5u¢0 Q•Nê¼¼…‘üŸß} ǯ¿ f·;Èq ÈbºÏXT ‡pÒÃÒ‡LBš2>/É'%ñ•Ñ’ØÐ‘#D5v¿éWìóĺ€_ûóvB­C½½Ã|Ú„(Üo*Z[ ·ô¤sÚªÕÁ_‡|vßæFNo;`¼êøa„íC9CHÒ–œÌ6yw‹Ùæ?¬ÇZÉ©ñ”%åÓŠ<þlëvÞ·9ãûz °ÉŸîÜÍ]ruXrë¡+¸"<‚S{Uv®¤™OJÍË['¿D„7’ÏÇe+•UÅo+õMT}ÞÇŠ."\qO6WlÜ·é€þËh}ÿ]·}ÑöÏÖæõŸµ¹ÿ¤¯»÷‹²^ÿ‚ïPñGµjnR6·h›º¢·b;Üp).´óýsõµwpêw#{Æ·Ý÷9ïŸûNÝÀßÞömD‘À³‚È‘`¢þôöVZ È3âºÏê/>II€áì¹ßw ý•Þûç£ÿöt–»Á«ÔCkPÙ–Þª|³U˜8ù¤l£Â(È}Tn¡z6s`9AMh°‘Óé+åüvZMÈÆÄÝ#è,‡lŒšs†Ñ„xi_¶Ð(”XC5¦`ÊNˆ[ËÐŒv˜auºâD³†ªwP±"ÙÜ¢ßßrR Ñ!^š¢¢.4&@2MÆ ;Ä­ÎâI&jTÔ„Ì’dÈ.AÞvIZáš%„±Kt›nŠ7KÑ™Eë=T§Ë‰Ž NéoÌ€!ñÊq+fãò)zJ¡©£µ¦Þa%‘’4š®*1Ö2YÒÌ’0°¨PR_´>K]ÉÞ^ÉdRF°¼²´Ðl€Á¥\8[pyòÂY¶ éJ¸¢p Ö”ˆÜ`Œ›þ ý’Z]°ºpäpH«åa³wÕ© >¶B`¤"Ë¢,±¥%3¥'PÍ9 n2ÏŒ+Kî0+=€U  ÄÁ¤ð€2û@ óF^eý[VX3³•Vœ|?c¥²\Ÿòö6¸áè˜f#oA¥c¿ó| ~ä-(µãÁ¸ œ8 7)ÛïÞ»‡8¯ j&•üŸ‹ç˜ÉZ; / Be0ža{WRK§¬ûŠÓ"d$§¼o«Ï³ÖÂE®‘¿ol#ìb$ÕÚƒ æâ3ÃÞ?YÜV܉¨LÜÁàU}^í®ÀÅðàù¬ÏÁýó὇fKòÖ?}ßò­÷>àýóþ÷ ýÀ/òþ÷ÞAÃއ7†V¨h/‡Ëu6ÞÝçÑÇc<½K¯©è4}BåæÞýÃd©fgûÕ<öqŸü¼öOïê‡=¨ø£g¥ÄmÇ $Z»^Ð$#Ü ‚©ë•Î&Ä­IéÞoq£F2™¡j‡Ð PjÍ)Ó”d4@iKÿâeâÖˆd´C¼2FÏ&ôV;Nl3Û«@4ðU•‹¨Í ªzfhª¡H²±›ìª3—̢ǗHvq[vŒju‰—;ÄË÷BdÉð"Ê´Ðù–{r¡$nCÓs^ù¦@Ýd˜Î L"Ð’ÑzPEuB÷C´›Ch9s_³3`có2*3Äí5â•:dÊMiŠ'Om ‚ªÖÀ—σ(²ÒâaÈ3Щ«‚¢Ð¢j‚FMA;4Z«k’<÷CA­.ñ}—Qú)RZ ¯äÒ6|Y"𰥇-m¥ö0„‘ ^r~ ëë>½žO³!1Æi‹'CUD¸!"ë!f.ÙÇ”%eÓRày6¿)Á¦Õt Nžá-pˆƒ³G`«¢_ýßœ pè´*3.SºçeüÍûCîÚîžô˜‚n§šî`y¥`0NY=âºä¾v Ñtþê¹$Ûï’|à“Š«Žø|ë7Ö‰dàŒÁdQîXKVJ>¤Ïñç÷~ÄÃ;p~  '!{FRïZ¾çšë9Sîð†» Ž‡u®Y xìñœùÇ1¡òÙ lO²v0ïàYD•å‚«àíºíH+y ÄUºµ÷;Ü eñªï=7b˱æÀ”Ó—Ñú|¦ýó O¿çïŸßþÍ«ùÀ[þëæ,<¡Þöˆ›’š¯h4›9 êñ8äX7@5–üº^è ã!¶Ó!Õxÿ¼ä%gþåûÇ TüÑ6CÃ…ä]Í9x@5+N^ÍöÂü,™SE¡„Ý Cg¢6@ûzØ„ÌÉýâZÍ5/FwšZHÐh ¤poÜ °„¡À÷e.ñ}7è Ê@O-e ð(KKZ¤uå¤h­†$ ÝNH³iùØÉ‚í‹)™.Ý;߇î’àú»1äÐ!zÍÕÓ‰a04 G%·r‰›‡—Õèy½B ¤°nB±¬2Bö»“Šžp2AŠ‹DzµÊkgêÂD‹þí9 …«¨æ×ÿ9UJQ¸)Ì`ðUbÈ鲆àY¦8½½ÎGï·\WrÕzÍs®ZÓl^ØM¦~—¿y¿Ç_ýĵFÀf?C‰+kOʈZ½ª|§›U(Èþ/ÙœìÝÁNbøº+—ø¶CÞ¼»±=Òa\ÔÈRÍ]Ã_Õ8Ì?nõ9±R££fX|þÝ¡qyFìOÉrg­Ü7¬Ÿë mUÛ› mÍÜ…«è­WäŽ;±Öù¦;à Gm8óÒJi…£s„¬nt_~ëó@öÏw?÷ øæã|ïsOSæ–_ýµãÜñÁ¿¤0–奘•«®gó gš(‹89„Õ¥ÅÙ„’-®îa¢#>¸¹I7ò¸#Ѭv|tÞ@ë!e(‰}ÃèÂÇ(‡;¼èEÏãyÿ÷}Ÿóþy°ñ'ª­Pá’å®Þ¸ØÃ†¢×ŠèåugÀ¦5JIFƒÊ|²ã’¬fs e…j ⵯ$¹t–“§ïAOJâîqSUÁ'’ÞÑCăÎ"2QëÿØÑut¡ue=h*zíj^Ý‹Žã´H9q䪩œßì û$»9*Ý$n¦÷ÐÐqKB¸è®¬GÕ+ËÐÚþ ÙH“ŒÆllÿ=ñÊ Ê—ÄJÖÄq¸³Ê±´çžðl‚žLØ8™°‘y–îk(ÙæØÑ ‚6¤ …vò¤hDï¢ÇSô,åÈánØ„) |‰Š$Aà:>^åY^–™†ÄU*Hk‘e©[éŽëÎÖÇceUâµ,^Mr®Ypá|Átj‰"Ë¡C’ë® ¹þÆõžO­îÞŒEáFÑÓ¬dw·do׿%­†G§ qìò<…°Nom ÏYY•=àÆêK(J¹‹ª£Äz˜ "XÆ íº|e¥Ù $xåýÍ·Ø·Ôu½I …D,å<üi–#O˜ò–¿+8yß!j ¸îÄq>xvÂ=»{<þaÞúIÁ¤\q¸àýŸL<Ö!ÃqÉÚ²Çu×îòÔ'䬬€°^¾Q–•Íûs!pv'命Oï5 EF T¨)JM¯ÓÄ¿Pcg6DøËH,Yo»Fl!¹!XåaŽd*ªÎÎÓI² ÜÍÂJRX¹hÖZspiîU ÷ ÔìÁ2{®±Ø•ßÂS¸’ìËk}èþùÏßw†²°üæëðìõ?ÂÛ?p«ùWņâŠf‹(lQ àEsž§]ïèëMI¦¶i-Õ¸zMÑ[SüìÿÚàøÕ- ®kIZ"¥Ø{Nâ͘½ïxÍÿ|ÿê;>§ý“l>¸ø£DŠ)â–Fuc÷X«a4Au׈[ …ÞÓôí¦kº"½%¨Ìº\ƒÈQ?q«ÃG?úô8EÇVz»òñ!A²½E2‚þíçÑÅñr% ªQÇN¦•ª½Â¹îÏH’s&Ž+’•ͽ º˜·›û ¾}''OfèAˆCű#mˆ®i›è_Öh,¸«ÞÒZOH&š~ÿq³F¼RHƒx z«âëO€¨Ñ¿t †íeô·g(´ëŠmˆ@‡è±…JªÔ»jEù¬LœÏ~šIL)‘Ò#ðþØTC,BZ<_ DÊb¥%²¼ U‡¸Ði9>ß”C)õ†diÅòˆ\Ñ­±qª`whé®À5ñ¹âJ¸ã!,ÆŒµxÒR‹qGPæn4ýÈÉÊ*Ôk%–œ<·”Æù¹”…@k±à*-°ÕäfnÀdì¦`<ƒBDKa9u‘r¦Jì(}DXì» Ì'@…q³Ö¦«Ëðì§fü‘¿Í]眽Çg”°¦ÉÓ»I÷~"âæGf|ìžKuƒ*!÷=ÚË–[oÉ©7*bÙoC©*7É-0«ûï¡TñõGÖ¸Ö«Ó–QÔ¥ –«»‚Gä N²Ë=ã 4å2Ë5QUÑ‘„oè®ð}PÔö hL¶¢Â‰Ð×^T^9•ÞÑVRyÐyÓV<½ÝKs7N÷5B87²ÒJ÷Úóå·>++ŸÛþùþç嵯¹’¯ñÈÃ’åà0‡|—/h… ¬ :ܰ^ã+wY®µhz YÌ(ô¿Ì Õ㪥:_±²Î mŸ«– ¡WJE™Oñ&}&U!y¤÷9îŸÉƒ‹?zÒF5†h3!ÙØ@kͱ‡C§ w.‘È©» / wS—4èG‹>*«A[ûNH䘔GÞôxgz©5ýËgyÿGÞƒ½+×8vE8\AÏšŽBšX°CücWôSa*èÜXé€ÞÑkPaJÿ|Jÿò”þ¹M7R*zk+CïØ!z«½ýM+×Í.šèËgéÏ£Gçܨx(éÅ׸D-†‹PZc’Ñ@²³…NÐÆíÛ .P²ŽN§ÄË­*Fq±õCο"€XÔñ‡:ó¶qQÉÉ_ &0}µ +œŠ& O:î±Ö‚ZM ¥ Ï«ê[@¼,ÑSC™—Ô•¤ÑöðWÑBà)‰ð-%† —Ä5A|,`­'ÉŠ’vËgyÙG5ªX·Ò’å%yî†fu8zX’ËË%BÖ{†îŠÁ f:e:3”…%$ËŠ’E:+æÿçî̓,ËîúÎÏ9w;o¿¹¿ÌÚ²ª·’µZBB{„-ŒGbbÂÁ ›Àv cÃ`1m‚AÂö`Á0†M¶<ˆÅÈf„º¥VKÕKug×ú²r»o?w;gþ8÷-Ùž˜è†îšqWDuvVf¾÷nžw~÷w¾¿ïƒì9ªÆræ‡-±« ‚ã*ÔI: Fn]=›9%Šb!ñ_²“Ëb Ì}P¾é-SþMfùÌçÞùU-~ëscÆC¯þŠ’Ãƒ†ƒŒë× ï\Üsß1ïùs)µ™Ø§ÌAƒì8®ór ÜßøÓ&‚©£L"‰›9j£AÇ÷ÝZu¾|ðÎÒV8:a-ç¼Ýuü™ IÎ0ieX_.uë® aðì²™uí³€öÊ…Zini¹Œá[‡oÛb Òyõ¬Î^ÚþùG?~†É§ÿ3>÷Üw–?¦¤Ì ïCÜ¦Û i*A£. ò)JšqßL Ì‰›’‹k°FN9š`BŸœ) x-D­Á3¿ó1~õW¿•þá'^ôþ‰[»Z”¿B¼µN·Û Þ\CcôÁÔý|:BÏx¸¹ Žcº+k\¹qISTZ”¡õ š1L•»aèžÝâòk@Õ¶H&×HOˆU§âèwÐj€"Æwª­É;$ÇCt&]ûï× =€ö9vÏuÙ½Ô0EC’þ¾cŒÉó=zןBcˆÛ+tw×Pa͵½ÊÃ÷]€z½)=ú{ôn?Bwm…x½‹Ü¢»Ö&:5t âf›îŽ@[ˆ£]BÚ}=`ÇtWVPª‰ÒÇ$û·ÑuPɱ»Àx•8¬ñÖ·~=ÉÁSôžŸðd ™Œei‘¾£ ¯­ÂVšM'Üð¤Ãñµ e–Z]"K4Öis°„øB`¬ÀÊêñ¤ëødèÑiAèCèûD´’¢,è÷ n÷r†£ŒÕ¸`}-§Ýö‰W"Ú©†õ C£aÈ2ÎF 2‚ F«±B³cm´d°bO1 gáÚbÙ±Rê•ÆiŒ°-Ð,¤ü§ i ¢p!!È…À§Ñ†÷|½FFG\éyØPñ‹¿Ýáß1Á/†|öKmÖWGheøÊ7•¼óÍl¾Äq=:RæNHT,0oO䕸ª29“ÐŽ6ÛšKµ€ÐLxpòwmòœ¸á66¬~ÎGHšÌ ¸­l ¬"*sµÊ˜Ì“Hò…mòÌHÞúKC[»tgs…®ÛWVn›B,{°½ªÖ'x‰û`2Ò¹x]¤XYRâ6<ÚuÐ÷`eƒs›.²¼¤Lé]XYƒ’7?p‘VÍR°ÒKéx‚c‚\“MÏÒ¹èh½ÛÛÞ‹Þ?ÉMîjýI’ÒÛ$û]´ì9 ‘s]v;ÆNH¦Ý“ô5ºxë,h.R”¹ã]T€W™LÚ ªÏ”´Ã}çY”ŠPí¦³©·€]4×¾Õ:­cT­åìRëÄt\— TsZ÷LQ¡;¾¨¶äò÷ƒí¢å-È|ööžw¸}§ÆÞÞ!äl‡_ó&T«†Né\#^Û&õé ïÆý¢”;;j@E:k°wkäð=±¨º`7ŽˆwÏ ‰ãU”rwè$I˜i5«ô®?â^oozcÀ?_rí†!ò=Ö7%ÎÃêJ‰ç-²¬qo\d4†4XO¸€cÏJAž N%ÆäÔ›?–Hü@TžV’Òº‚ŠÂ$†Û½‚ç÷ z++%÷\ÌØÞ™°²¡Ø9׆9i :Í9<™ð¥goóì“7°yÁ™³;¼áõ÷sÿ}ç« .¢ófš%)ân>å«È rŽh,²OÅ’Ëb…€x-³.5¬í¾ùYÏÞLùØotùµ?,1²ÁÎZÊ_}÷„u‡çÊ™ÁddÏ|°^½Y;à߀ñ­Åk¥ê¤)ç]³Ð ί†lʬ%ð}l6¦åwØjÆ\VÒ.a– `›:Rº©Žn3¡ðn=£×ÌÜ1…ÃP‘²båH„¨hv™ëU¯A.ÞDó;ØË¿>øEø_>¿óG†ço;þýýà}ï†|Û+·>/uÿx÷þ%‚ú*êõÿ¦œòñOý¿ô{OñÇÏÜ!ô_óÚ¾ûÝÓ?¨S6 :Ož}¾ NÁÊ­ßò~mþë|ôg¾O”x¿žpë~|2:«õUg¶wï‹ß?újrWëO÷|$£½ANr|Brx@Ün¸SC­EÜŽ ^uT×Êu“Nì¬äÓ­B\‰aõôØ%hE):¯£‚ ZÔÑÃôqFì•$£’8ê õUká÷ú·à`U–ο¡ôQMØ»ñ4Jµè®mÑ]ï8 q P$jrym›+_¾ÂcŸ} %ëÄ»tÏ_ FÄM…Î4Ý®ƒ€z½{Wzèç-Ê8C6²Ûs·?-ê$ L&¨†sœÓ¡@Ù1ÔBºt×c—k;’$Hû(‚j:xËq\{Gûì]íÑ=;ëåBsùò„­•O|IPJî¶%n»¼Í¢t|c…£TZðC³%3KQŠê?X®_3Œú%+Ax˜ ÊL`=I€‘2(‹ŠÌsçÛ]–Nc ÁÕ§-GG–û_[p®²µ’ÑnטfIRðÅ'oðø“û<{ýˆé‰Æ#gšÞ$5Í8‡µ s5U%1îÌo˪¨x3£­…ÏÊ<äÚ?Ífa¿»Ì67-ÕE»`ˆ^{ÁðηÝá?­Pªà/¾å˜s[Îfb±'«â8W¦†žu^1ã#Ãågœ[@"Æù -»Ê&%7e‘ð…;o:_«¨ï>ƒÌ§”xsÌt(‹5á(-X#²\RÓ²1K\Wá/Ò³„˜1õ‰áÂ,|fÃßO_€”å’÷å_Ÿïû xÿ{áƒEpá’eÿ>ô/àï~ž¾?ûC¯Ìú¼”ýóß~€•{¾Š[~Š{Þõ„çó±ÿyþî·~ Ý‹rã>ï|îþñ¯|†_þÿ«5ŸF'乞Gn".6úr IDATn¬‡†½ú_шaã;þ—»«„KþÚ?O´óówÍ­G?E£ ïþ‹÷ðëÿîѵÂû[nàŸÙ¢{¶Í{éíõQôI¤E;¶d”C Gš!ÝÖ q\#íêæÛw ¾B5·Ða…@ã Af å âQ Ù-Zhkñ•  !!•è §c”²¨fÌn{ÇúŒ5É(u웃gØï×¹Ò߇v‡ÝNZTÉÕçØ»r@oäWØ)0Ê\„bÝ'V„*ŒÝc7èŠm¢dt`¡©Ø­ò=ôhêîhùöŽ'ZP-ÔÌÃ{½K÷L“îç/‘œ¤†äÚ5._:ÃÃ5ÅtêÞçea˜jÈ2(@ Q‰©$o ó‡Osû(' œ;¿M«à C^Nyì‹7yï}€Yðµg~`r)iVDRp¤dß 0 ‰í¤s1˜ñÁ— èåüT;óOŸA•£Àëî+ùõG|Ú„‡îËñ–ji™‚'¥óZ/§Ž¢fÌ-¬U/?¡7Ï–² ÆˆÍRRËV¹‘GôóŒ³íÍÀÇ—9ƒB±ž`ðÀJ6{)îî|î|ø¿ƒŸÿ|ì7ág„Wd}ž~ ûgùÏÉgÙ¸g_ þÝ¿ý(Oþû²!NP>?ö­oà¡ü66k„ÍÂ?÷÷~…è;¹´å±xB1‹É(N¤Þbc©àÏž#žy~ÿEíŸ÷\º»õG™)d5ôñšÝVN´QµŽ³EhûZñøîüÑGé>ðå}ÞvïÊfîù+ó²õ¨`³ÒÈ<Ìd‚ºjX愪Îþï~„âà1¶ßùÁSÏAÿ“á‹Û?&¿«õ§{¦ë\5íÆÂ&½Ã›P©²D±‚6C˜a"]á@çúxyŒÑÁ=j š>ÉñŽé®ÿ6úÎ=ÕÄuØÝ^µArçyöž¼Mïäiü½çz¨Úq<…Z¦}Ô¸®'Äí3èt€¢uK’†0¹‰öZ$ƒ• Tû»—kìzÛ¨úUåÔ’fôŽÑY¦O)j¨æé/ʶyø«ºÎ.ÔŒN…èÑYâ  ÑEU–h¯‰ Jçö':ìvÈAk‹¦èÑÐ nhnr¹éon¢Â€Ïž(z72Öâ” èÔ'éÃIß0Y¦™+i4|uwÖl8ƒµ pÊ=¥,­6¬®B¦-Sm™œÊÃ+ A`‰;!;]‹_“ û%ÓQA‘вR—i–“g®cLÇpóyKÿPÒn…È@2ÎÆìœ=ǽ÷lséÜ «k6ðŒ-£¨ÆhœrHÄÊE ÇLgT,†|Â΂žúÎàÑ8‹—SøM°ÀŒ¿ákàûßo=Ã÷ý$üè?‡ý#ø™¿7¿äƒõ8ûº OÂî“”y‰,gêPáf¥2sÏoÀÚ¼zÉ}˜ ¹†@;ò©é|æôžaE%X3åæ`e8NKúYÀI^§†ìÔFDrꆷÆVþ÷•¥3J£_ÍfêØ°ª°n0눗˸|Uì«NÞyèx/H¿ªŽ?fÖ‚WÓU±$¡}…ÖgÎ$’ðìóðw~Â5%ÿøîr_‰õ)Ó¿öû'h_x µzÄÑÍ'Ù¿qHÜnR¯+ú^‡?¾¹ÇüÒcüÓ÷¿•GŽáØCôù½Ÿ|?±ßäÙG´Âˆtšqxè ïïßñð‡#ŽsróGÈòôslŸ{ ?¾¨ý£Š»[ô8«òFrôt‚–ý¹õqïÆt&‰Û'@Ã!!aH÷ì*±­¡EŠN-ý—®5|~®æVJÑ»ãà% b:MHöo¡j;ÄJqùõQB૦Bg$‡¡{{} >ŽPÑ t꯯Ðm×QAF|þA§HÆèqˆjd ·Á‘ŒJUìaÿÈùÞG”pBÉáÀYÆqd0©|«T—úH qÒÊ{?m‚?r¹!)4 Q~ÁcÏ=ƒjwè®ÖØ=ÛB§Õ€£² Ý»yuî%mˆè C‘g) G’“g¸Ô×.#nmU²¹)h5T;M-õº í–`gÇÙ+Ôj‚£cA¿ã± Í\Ç“å0Xð YZB^àÙ‚Òz)žÄ+->é9OóÁ¸dœA½!8w!çmo¾È¥ -:-Åhâqrl™ö3Æ}C®gÈÊ!K ×yøv^¤X(ÿ—óR_øÇÚ%š_á ϯÿ +ÞMøg? ÿ|ì7àg~μ¹À–…ã++cOU pY"d@òŒ¥½e‘µÓ¾`¶²Úåð|É©©m…5H ê_”.<ܯ³^ËQ~J3a*^¼9Â.Á @Uò·39í/ÂÊ,¾²)fyÀ»ÜJWÊ[YùêÌ`>nÈëÉ Ÿ÷°îU,Y]¾2ë#*/ýŸýUøo~ t ÿò¿‡ÿüî±_‰õ1ý¿Ç×ñ}ûøÜ§>AïÖmî_Ùj6xæÚ!ïŒÿõo¼Zð'O¦ìȵ’ÂXx9›ëžº‘òáGÝ04Œ<Ö¼’vµH žãßúœ _Üþ‰WïnýÑÓ1ªÖ@5|”’ĵzÓ#âVD¼vÑÁHd”Ò»±O2Ò$}q©¦ªrkÔZNM+›¨H8é°>JP:J’‘%^«£§· u‰XZ5ñ»ñ"Éj­ ¢ë Ô²=¬Ñ‚OØOIи†>:+ˆÃM< ‘EEq«áä½gG5CëîNZ«‘$Û»Þ§Ûî qÁ+qËyAèÂÀÃÔz·†(T”Ào¢üª¡œÇD$ÀNÐ…aïÆ°ºÃ‚ kèlÊîÅ{ , óyús‚Õ-Ázî1Í û½”“Étêèf:w¬=.0F vœ1VžÆShÔa(i·àìY'Ûî ŽŽ,GGÐO£qI^¦S‹¬Ü¤'«.©Jž¶BøXi0V"eTSCÊm£iD¦*Ô>ÒN+§ËJ‘`Ó¥ø¨Ìáѳ›€Å1PÊj`+Ëꦰ<€­†°vÉTÞTTK#N3rì’ÇÎ|Ð)æö ÂÿZŸÛ=ø®…ßü]xóƒð?ý<|ßÒϽëóôÓ/~ÿÔ§#ìøÆ½_‡_ô¹w+b# ù_ºÆ‡>ñ¿ð·ÞÆÛ/­ò^KÐÍ:o\«±Õ©»×Ÿö‘ÚaÀZCp¦íLÄ.­E´•EkKÄ žàÌYïEퟷÞß»«õGml¡C’N½SÌrÂK’ÔƒÑ>ú0€iF2Ò¨PÒÝüJÈ÷ÑibvDrXºÀ{7câµ-ºgcb±B¢£“*¸rå)ºë ÔŽ@¥ÞÆO†ýŠ^Y…”Ô'Î' ‰·;ÄÛ3×¾X@6ÚŽIö%ª‘9ψPTƒ —~•î£j«ôú·IŽ\Ò•Î}TºýPN¸2Ò ‡(!ÑM— ƒÌ·ÿnw£ ]©¡‹”d¨ÝpbT£·Âå×_íÒØO¶ãŽg€×]Àa‰NøÂÓ!«G‚õý‚Iné'›ù”¥ ×’´ð(€É¨`2Ô䣒–Ö.SE%aà¬Úmç+R¯; ÷QŽ%ÃaAž—”™Ë_uOëIliÜ Ñ „o÷¹œ§¯ÆãÀUxÁ<Èó¹Óäbö)gü¸Ê9J8«[±ʶþB34ßøU-{×wþ¾öͧðÁâöýß´”Òd]3;‡Âg9©™u‰‚¢Â“—¡î%‚‹­` Yd§ÛÙÙl9B³‰±«^žp7M¦$“.ììÄaÒvFÉœùÌûN½*g¹?wÂDõ¯â gyl«!lÕåÛSÉX ÏüYxúŒ¥#J}jýr¯Ï/ÿüís³•Ÿþ!øžo©¸ûåôó ¬ÏKÙ?¢Ì±Q µÒe{s›pÿ:¿ø{Ïñ‘ß¿Êÿö×ÞÂ붚ʷš ÁJS†î_ûyî[ð­ÆP«…\ê¸n;±…GîE RBË©çxè¡ú‹Û?gïnýñjk‘`5¢:5ⵘnPGE÷¡ÉÑ'šdèN4ɵ„ääÚ”j¡ÆÕiÁL!Xãá·µºÙº¨õ˜‡~s•¨Õ§wtMñç1Z:¥§o£÷ ´Í@¸’·Pí&qÓ¢ä6*8vþÙ *ˆˆ;ë 7PV5—[µÐþš÷Ý@ç=:"ÑeÅÎYCub”ˆÀ£43³àì”'+]gWAèdÒùž81MQÅìU›yä¡Q dì'žË’ýþo/øð¿‚oý˜j¸çüø÷Âû]KƒÄ„­]±‘Æ™~‰¶u¢¼™ßÌ2²ªid•ÎÉ«pëyÁÏÁê꣙U¨ê‹ÃÓÅé6§´U7§‹ý2ýr–Üm«äo3»qT4D±ñÈYˆì ¦±Ká,Îãw‚j¸jͼªZV©Q¯Ìú¼ïƒ ë†ïûîï©3Ò—^™õy)ûgcëQö‰É'þk¢ö^¼ÁêÁ—øÐo|€¯ÿéÿëÔkþåÿá}ÔëeQÅ –‚ºô)S¶ÿúÇçß·ö÷ÿú#ï#y%L¶ˆÚ<ô·?Â_~ïïð¶¯~qû'^¿|WëO’MÑEåKU( ¹õÉá>Z®8£=€4pñ²µó\~m@2~°Úctê9T¿å„Ç{Œ¸Y§»Ý!^¿‡¸U%_™½·HŽžÕ‚ÔÐ]érùU|Uk¹AªЩlê–„’¸µŽÎ4ŒÜ±YJÈ ª¹B2ª2Í„$ó‰ Ð^n'rŽrEŠ.R®\ÙCŽÐ¡ewuµòÇP”ÆPd ñ¡”®o󽹰ƫγƄôG‚ñ´À;(ðCßUó¨Õ,*‚PTdÝIXÊÒÕ 9FÏø-A½&±²Ô2ZÆ#‰ÍA¤[ØP ¨Ðj[Š\ðÔ5ÃãWÆ\½n˜uü( ¾SÙ¥K6¬é@ºIËSÜ2« f6¼…+l²E€˜ Éú9yaQÂbîÿ%,|Ã×Â7üù%Jf¹ÄÑ7KÝ ¨:È}³´Ø¬J`*L‘ùÏ,gÌ#˜,mýÔx[.ð…Ù™éR*H¹x SÝ(„WñçÂøÕä³rÃ3€˜T°‹tý23¥Ì–¨™Þ‚É3o‹‹¥ó ÓŸ¹`ÚŠÎi´$Š}7x{…ÖÇ<±”ÉòÂõñ^Éõyiû`úÀû¨û>­ÞÍqë<Ÿù—ï¤ô©ç¸¼{Žää˜_ü¡¿B»%©~ž!Û!O4Î<ø]¨zƒN`¨ûƒoµý½’Ã+wµþtŪ£¢‚ÞшÞÍ[Ä« ÕÙú$ie!aBrT¢ÆWxlR'nz®>WL¥¸Õ!Iz‡ÐmÕÐÅ„dBÜl=W*Þ-ô¹:Jö®÷H²Cö®‚¯Îž%9L@kº;kè¬dïÎmÇŸ7@_]ìG»‚N ¥ûè£: ¢ºãëG Â5è‰C™E‡#ôIìq3"âó%LÇ€ )<âV†jŸ!ékz·{\9¼ƒ WÑÙ*èüÝ3÷·Î;l+?A©†‹)ŒÑÙÂ* ÝéCÑž‡x¢Ž±i£ÆŠ¤4 Wi.m•äWo_AV²iа0š8LÞ÷ ð ç:|é™*fN`J‹±ÛÜð8sÖ£Õ–øàäÄðìÕ‚›7£ Ì\·èy!ò®=O=i¸z]3Ö¾g Œ‡4…¶˜ÒâU ºÝv†aµ±gµ0toì¹ÂÓdØ2s5,‚h ¢²¢ÎTåRqX*3ϰS6¾U’ª²ô } tjT“9Ñ“¿®]A s扙\©ÓŽlÍ<‚çŒIŸü…ò´ò²™! ¢*Öºa8¥uæí3n£1PL«I©7·DKÙ¶Öó*xF‚Ü`VR}ÿìFV§ ï Ø„ç2h™·NÑZ_MëóR÷ÀækÞÆàÖUêjÊùwþe&É Ïüëg8·»Í…Èc#òh62j hùqì‘×"”çsÏVÙœp¦°Ò ð_ÔÎt(›ëxoýºùïypë*í{ÈóðE³rWëÜ"<íŠv»A¼¶M|îz°ïÜ4g<þ@A×ÑD{Ù=†½ÛÏ DÓÙ"+A÷L‹îÅI ú83F‹ä Or4Fµ¥k²…‡ vÏu¡µ‰ªOðc¡`=v!'a ÅÝÝ ‡Õg°0F#,`ì¡mêº~;A‚6ôÔC…:èçH´¦»±ÃÞð6¤StVަ7cJôd×%jå–®¢Ç òJ®°{¦—"ÐÇh]’ Aç1zú,½ª;QA ¥Ç¨f µÚ±í„…Aª#RvX5iBJ< 9ø–r!úP#r„óÄ ƒ09B8ã(! %[–ä™ExN`eJçF‚¸°±!8sÆc{ÛgeEb…àú?žòå/Ynß ÈµÄÉtê³÷¼‡- Gw Ÿ¸’ïK|Ob¬‹K”RáÍ:Ýrˆô+hz9ûDÀ؃–ÁUÙ3Žx)\Q\&§TÃ:c]“=›3ãìÑýŠm[j׈Îř٬ؔUÖsJû²(µÐ.ŠÜ¬@¥K¾¿Š•5Œ!å0¶,‘¥R k ¨¦˜f÷ω6 [9>{!²ÂËeա˲ ¯g†÷[1£©¸C93T•ïeÒÇ–ž{<`…‡µc„œÎ»ûWÛú¼ÔýÓ=ó½›÷3í3ìÝ`í5o¤¾Ú&Ûzû×®­zÀJÓ'@Òi·JPL ç×B6š’v=¤!ëøÊCx9åÉ„ñíÛØ3+ø¹EnÛ;÷°{ïXßP/zÿì>tá®ÖÕ^çòZm-ÉpÈÞsÏ<ù ݶ¤{¡K\S$É=>€4„Få…NÛtiZdr 2‚h‡ÝõUÖè¡h°{yôˆÞaö–C]ÔúÇÄíü+_zê1ÊæÎî ¢lÂC'¨HU¦û5bBt:¼Ê×î.&êsãQ)h*Ò$‡·Ðà ñú*ݶ‹LÒIÿÞÁ qM@+FYGeBk’‰@5,±h n»çŽ"bµ] ô4…"uv­D‚dØ'¹ùì|À·êÕécÍÅ„ŒI+ ¤ï9¸ÍëG­³–À—l…Á !Ö$Nëù!«#Òy–¨&(dx\’æNi[‹$Q P!tZ‚NÇckS²¹á±µ™òÈ#šç®B6…ñÔõ&÷!—DaƒZÍCx!¾0…ÅŽ=ŒõjNoI€ã-©dUmT?–6±\ÊI­ìg(ò+\KX~ÁÁÍò •b6¬ŒÌ¼¨š:ú <ÄÚŠ.¹ VŠe7L;«¼Þ\(%<³tAË¢¬ÜùèÏC„'A4æAç/ëúÈŠ&9{úb1^xÍſƃ`iA^†õùÓ쟳g¯pãÆÛ)÷~›+ý1¹_£ÞjS¬œçÖTr˜MðCI¯ð؈Åþ‰æì¹{ÉŸ<~ƒzdØ›l6}iD¦‡ÐŒ„btë÷Y9ó6¶Ï=EQ/iÿtÏmßÕúC$èî:VN#—d•MУiÕq(ðê¨j?êBÐëíÇ-Ç­<”¡Ò)ª¡DƒÞÍ$ùJ¨N¢À©v} ‘½NW•Ï¿ŸNJi¢Û©¡DBƒlƒ/QEÓ ¦È@v]§’ßq†j¬ 0è,'1wÐ…Õ=boo€Ö q+ƒz·2âõÝÎ9º ®\IH{hU¾Í. @ç£Vcô8€ò6x•èѰúÞ’=¡Q‘$#nÓâÆ qw‡Ý{Γd%É(@®Óhåd©$ËKÊÒÇG½“”DAI³ã©€ÉÀg2Ì«7²@XƒBàKº²4š‚Z]EéÛy¹K,5%ØÜô8wÖçÜYÍ-NuA:ž Õô©EuˆRyDp㪠Ÿ–¬¬Áù µ†%Ãh,BA£áDÙŒêç-åtˆÓ©¶\ØæZ bZQö|{*MIŪ:äB™˜~ öŽ|fåÂë}éµ;‡ËõÝ[¼FV_›½n¯½Tð' R,ÂŒUH¿áðõ £6s†™šÌ²hƒ…ðÜ–XT¿ˆ¬W×n¤ãq ÏQõl%o5äcf|ÅÊO®”]’¸zÞ ¸ÖZ,Ìj^¾õ1yµ>Õ&;pë3ù-·>å±[Ÿ™²•%Âúîwô2­ÏŸvÿœÝþ27nˆñÞ×òæs.t|Öë5â­Q¤N5ýì€×¬ÕˆeŸuUâËcüNÀ=Öâ&?ù?_á ¯;Ç1åu;uÖdNXJÚoþ ?ð#W¹ïµþKÞ?ÝÎkîjýI)zðŒ£W6ñz‡äèhž¸Eê“ôOHLeO¯ºtw¦Äííy¨NR¤$“â[«À ñúT$ *ǵ¨f{ná¬ïS gh­ñã–r^Ëú„^.Q‰%Þr1]úúë œ­ IDATó¨ÎRd[³†Ê-z˜ N Š/TJA(ˆ77«Ã)ÉLa6Ò$€¾’ß`o¯à±Ï~™äºÝ­Kt1„¿@ù-”òPmE¼¨1„kÎ:Ü÷¡Ha2߸»çÎ&»;÷B#"éÝfïà¶ X?C|á!Öž0¤©!Ë$YnÈs—2%¥ÏJ'`sË'jy$‡–£^ITe¦jìÆÏw…¾Ù´ZÐl âXÐn ê5RPS’v[Ðég¤¦Àó Jc88,0šMÉʪÏåË‚Z#d{ÓðÙ?öH2:+)­VI¹çÍ2AäN›èÔ¦–l.ä”P˜9+qÞáYNy·Øý{ÊÖ}Æð³ÀìÒGäf¬ñë†Â€-V-êš+Zd1oŠ+çCœ ðX8Û ¾³ÿXžÁÊ¥‚or¬˜"*\]X1ˆ!#¤ç¦‹ÖˆÊ ÀÎi*rÁð1•ñü¬…ž‘ûn&#D…½W8TƒÞùˆ…q½­èWK$ÍY–°+3ðVÔ‘rf³\¾êÖgmíO¿Îî<Î[_âþáÉj`°L3A„”\îÖ¸´¦¸¸Q' ´†é¨ŸÛ\ˆC¶Û«<ŒÙjz´¥E~ûGynï&ßø®?Ýþù…|â®Ö=<áÊó=’ë7ÑzÙ„Ý3÷Tj^‹F£uРÄ]ôHcôø9*D¸µF¼£Ô6{WŸ­¯^…¶ƒÞvŠÞ M׿¹U1Æ×cÐ#´ ˆ#H†=’PÍñÙs®Û‡Ê‘ɸvì’Þ§]HhŒPñ:„¥3 µô „= !w/°«ç!Û¨Õtq7ÒÚÝ<¢…Ô^ëÖ"·Q­º gOª¥!nµA5ÝψWž}¥"hÖ‰7Πº+èá€Þà6[›fg†4­Ü/µÁ”–öŠÇÊŠ‡ ,6vr|H†#Cfªé9fV½)¨7 Þ€VKwœAU«e«¾$ð-BXCÃѱa:-Ù¿“qýºfØ/ÙØyã›jÜ{©ÆùsqGrvÛrû–d8ò+xºÀCQ´6Έ-Õ5ˆ9‹‘àŒKn3tA΄?Þ)W„< /•»£Ù÷ä?X öìì{—­c²…Ðu>œÁÜLÅT5)nPéW6˘79H19 Èa|¬ˆÜ •“˜ÈœÂÖÎ,(—,dQ}ZUZi D¹ QΪ£1 Ï‚Y[>#¯Wç¶Â±„–à‰•¤@5§mÚ²8Å2}µ¬ÏŸuÿ\¼÷Ë<÷ÌǹýßKi,^i[´kªd­ÍȇQFQäÄëu‚l ºÏ™õ÷´J¶Š ùw~•ýÉ/þ™öÏ»xë]­?ˆ—ﻞ‡±G’ö¹rå‰ šk †¸½M÷Œ!I<ôð»»]PMôðˆ¦£\æSz7@çÕ¬;xÉÒíl ‚6zˆ£Å·„ëú«às]¤ŽœÒVOQµuº;]âÍM’¾›,'7®;, 5¨N Õ¬¡„p8=+á¸<Æ)„‡nà‘ èžÝB5k¥$57Øœ uDÜJÐw4ª¶^Ÿ¸~žx-Cù =6ô×]V$ ­&ócW×QMEr˜¸_vC%qã ªéCè ˆt6‚H¢¢ͦENÜ1³(!´®»3Æï¦C) Ei "hÇ’P òÂ’ç‹$¬ Çö3Î#_kÃhäN÷¦t\ûš²D¡NÓ’~¿ w'å‰/xú©1㱡{ì]kðƯlòÀý56×B.]ò8³#˜N´öÐÚ'Í ¦Ó’ɸd2±L§†ÉÔ.2míE(®ÎqàšA°äw.NųÎagžUAÛÅ‚~>ól™[%W1zŽe"¥¨M%Z2›ÏÅra›y쯼À¯ Q’H²Ñ’2ÕøN&#&Bç®c#ðkU³í¸ßnÓŠaSY&˜Ì]¼4•B¾óˆ*<¯:û [å"úês3»‘øÕ/Ës¬aª“ÁL¨VAç[¸>f$»WÑú¼ûç-o¿Ê#Ÿù·ôÿÙ7aŒ \éòÀCÛ4†ÏâÙé»Á°ä”F2J=Þú¶wn°úþ85íW~’‡^ÿgÛ?Éñµ»Z²(H¬†ÌÒÝîBjè ú$GStþ,ØMâ3«tkè¤òó!v:)¹…6#Tt%ΘòlŠ>Léö@ß!^ß@k¸òùâ8¯j´BE5âõŸAEk¨²$¹sT¬¢”¦72¨¼Â·‚¶K]©ÒWˆ$:OQѪ»è´ªz’¢{×®¢«ŽD‡îÙ-ºÛ. þÊ•g!‡dr­ëèÚSàmA4…Ô ´­äòQ•¨ÌGÛ1ZãÎhQäîÊÕQ3#У‚¸ÙjîÔäÆ CšJòÜéÈeE^–Âc2‘Œ'îLìyU(P Q 0‘¤4Na[=SZôÄ2ì[öo[Ïâù†044ë–0° †9½ý”Þ1û·&Œ†š\À4õøƒÏdܺ5áéj\¼Xcs#¤Ùô‰ï j Ââûnp˜åY¿äèÐptèªÄX~ ùk`?¹q¼ëZµ×í’tVPŠ `í2#ãÝe¹Ì_LÍÔ"…çYÂù<9iCÌ‚«¼…þi¹{µÖ‚i`Нu/ œ”¼´Èb„RcÎ(ø>¦TàGSuäÒòJ+—x÷Uº•]šŠ )a¤š|»HºòfŒ˜ÿߨöºyx­¥R&Ϩ¡eJq¤‘,]^Mëórퟯ×U‚Àò›¿ñ‰Åµþä_¥ˆcð‰/±Þj@ž×}Þó7ž‡ªï;·ýKä¬ü³ï½bîjýÑ#㨔€ =hÖ\àJ+¦ÛÙ†{§Âä0›}ˆ/V7™U×PöHˆ».ÐDYnÆt×K’¤éÐeì®´èõî°w~oJ«®$ÜDÙ)Z4‰Û¬»aF2¥wçÄù8TGUk@8F§ wѵÖü ôº¯E®£Eàâ·´eï¹=”èpùò%’Ã’CEoxD’ƒjöQyŒò‡@ká`ÈF$Ó!¤CT§CÜ^a/:/‹µŠüŠV ,Ña#w“ÚßW¡Oà{!(ŒSÇfÚ2™”ä™;Ɔ„ø¾À÷œj6ò%Rxè´À”ŽåáI¨Ä(YiHËLŠOF–å ¦“åxiIB¿$%ã‰á©+šãà ן Xßôh·}TMPSA 1FP‚ÉÄ™´ÝÙ—ú G®¨\ç]´y-ëü‚Á'ñš·ŒP;ÍÞ`)•¥BbYÈëm9Ãs+}½\&B‡• ,²í²amUÿæ¢×e¨€¥Ntöuíª%B6)¢o䈯c(^ƒÝòð÷ _`ËŠul:…pŠûa¡lS†÷bÄ!B¤)«W:¡á’µ¤™ÖٙɌ0Np4[)–ÔP•Bå”É<ôÄá"BNeÝ€ØzÂØb Z`tDé+nëÖ OŠWÕú¼Üûç«ßþ B8yħ?ýKóâÿý/p ½øÀo¼"ûçò·ÝÝú£¶ˆCgiœPðð;Þá`q¦Î\2µsˆIY ­ktš’ŸT´ÐC7è,|u†%ŠÕQþŠË½ˆÇoe$©E|ò{.Z¥$¨UT‘LûÎÿflÑÞ úH»DÙ V%Ï @,Ä­)5wQ %J5ÑQiJï ™Ë»ë+è"dïúS.¾+”ÄíMTÓÎÍu.H{$z€Bd‡¯o¯wP8Ûm-J P.ZkÔZìrsiBP sxµI2Êïœ,EÑá¯ÿâ‡ÑÚñr1†²€²+AŽE ƒ L‚" 3H„'ÈMÁd “)”…‡çyÔ”@ÕrJrRS’©ÇS’™Q”ø¶„0GŠ‚Ò””¦ /,¾(Y_•Äkágx²¤^QQkR1™D ú£QD–+¾ê1’–üýoû~ʭ陵=ÆFðïñ‚ßqÇuqýŽlADYfÌ(ì¢Ê#•,¥[Ù%¡\ v2•Ëã’«¦)*%©òŠVX. (YPå-1  7} *ù9~øçþÉ©ë×|v"AK ñü}D”c=°~‚]ÎVƒEgÅ Èdª13üÜY$SÎ ¾¨Š¿ tÔ“WÜDSù÷ÌÄ\¢â•W&g_`erdˆä0òõUDCòÜ“Gÿ×ójZŸ?ø£áòûçú ÿŸÕM¿ 2B³aëô.BÑDë¥0t¦QáB‘®³šcô­ÔY.dtߢó#w-QÕTt×T{¸é£ó:zÔG|ò{Ö­Îí|( Çt:%n»ŒƒUs˜UïðŽ³ q§e©­½yœ¡ž¥Ó!ž_O¥2:÷§Î°Î2²"št··œíhõ§w£G’º¯Ç^ÝñQý%Æè0"^Ù@OPµ5ôôÈá\Q r‹jvÐ6eAid0!9죔ào~ü×\©ž 4rKVíœÐ“ÈÀ†I^Â4÷ÈRCZX#ñ¥$¬û4ê¾—a¤ Í Š|Œ¹óm—Y°)6ËÈ ˜Àbl†-R"_ÐY÷ ê)˜ŒÐ·Ô‚3DaÄx1ì×M"._ª³±)‰j©ˆÆÒiXV×ïûªPn|7áÚüû»˜RÏÅ=v9›c–¸äü;ÓÍ:Gk–mâC‡U›Qå°(f]. :挱§±é|Fo—Ly˜CñAŠ}wœÿÞŸú±ÿ×ëimÚeŽFÔú¤NRì€~Á¢±yõwên6sgc3© Ïf‚«*…Ìz[,nTÖŠá³¹`}¬¬hØt Ÿ~ŠðÛˆFÁsW‹u=¯¦õùéŸ>þOnÿüÂ7ÿ­ÿßÔŸ¸Õaï` ÊË.Ô&‚z$œ÷SP¸ØK@Ù:ªi]¦îØ cõð˜8\Gu„ a™7Ò‘ƒ~*çϸ£ oL§xßú¦7þèh2FGÿ7{omYv×÷}ö>Ó>w<ïÝ7ÜWUÝ]]Ý-•ºMw’¬ ädX& ÛIX â@XfaËÊÒ@lÇÆ›ÉËlP²À(†D€!ÌBKŠZRK=Tu÷՛ν÷Ü{÷™öÎû¼û^aµÔMU—ZÍ»kÕª×Õ¯^ÝßÙ÷üöÙ¿ßïûùÖT6D©Õuοj ßH*«ñUÄÙÓ› ‡4†,ŸÐ‰cgâ ø¾¥ªB”’ ~ìQesTK¡g=vo\"eN-IM–Žñ×úœ?wgNß !Œ®<Í“WFøµåÌ=wÑiuH’6I·Gåô|Î(Û'Ó>ÕıG(=°>†’º,©¤çL*¼cKáÕƒ¦²¥;ñY‰ð „°[amEe\rrÒ>6 ¨ê’vpŠ0¨˜d¨$ž¬ IÎ=`ù•{žŸý™ëTF`mM«m CŸ*‡/?ó}ÌûßÍJ¼ÃšÿVïl)4KH–8Þe×»yþ{ÙL\4ÙÅ **Áb·D­yˆÕÆEÃ¯Ž¡vT7ËZ½û˜»æ2…aµD*$ƒ6Zçøjà9Þ½Úp‰=\•¡Â=Œv¶Ýlçj@­¡ ÃÅÉg×7ÝQå`ç¨ig¤ гŒT»"âRœÕ@’µ T'ftíØ-íĦ.ð ‡Z•®Y\B:>@,HÖÖHºýFx ÜÂ, Í$ét¥¤C½E í6(Ñvð Ã‹fqM O0šŒQBò3_ÿ×PBðø¾•FàûA«ÄÖ%ÖêÚMª‰(@FÒíØyíf™+jüª™ ¬T%• ¯ñ¥õ1ø²&Œ*ÞûöLµù&(·Ùˆ~ƒ^ý«ÿª{|¬¾ìÒ¥oYS†FœƒpêWÛ˜k/™-McÐuˆ³¿–½êÕŒg1íñOðúo}ççŒ'nûÜ®õœâ¹wãÁ(ç¡&M»“aí´Q=™fºÒ•<‡+…­šßÙŽa"Ý|  *aZ!¼Ûj!Á…Oo?çxþ¢®Ï…‹+Ÿ÷ûçW¾÷‡¿`óQ¥4D I¨H§ ˜l£mÏ–¢0ãÞÓ$'W(5GEw¡ÂÊôÐå]Õô”/¿ùއ,¹mfì›yÓîªÓCO¯sñÒm ×O‘ô6I'ÛîH\üäˆáš!IN»“AdP =S/öIúkn׌ºLû¨‰T  -vGbÏu¹4Ãh'% Œ{ÓàXÓ¥€À:Ý@ÛáO/bŠ.Ý÷h@îÈš ÈÇ@¥$ª·æþ]:[ síLæ掌—„1JõøÖû~Œ°XjDí,îlàðjKm놠YSy5FVÈÚÇžC+ Iq7xÒÃPÛCª£Å‹4+r¬ÕÀ Ô¶¦²5Ò  ¡¬¨K§¬)RE!íD†5•vÊÂv/äÔVÀZ_zé´b´Sðîÿᑯ}`ŸüEbñkàç~w)\=n1kŽ5ù¼#‘8I:˯d¯úræö,²yj|û Ͻ§žÂšÈsˆhô‡¬°W̼©¥ŽÆhŽgIëh¶™0±Î¿Ö–;Am}…ð]¡üÂS‹<ž—Òú<õdtÇïŸõßþ­—LþQ‘@÷Šmt¾7î[Qß1Ï·¸x}ÛmE -–S?ÃÁ:„®ì£ËI³¡HÄ¿û;÷Yrãê@¹q;R¨Þ&Z_ h(r’þy<ÒÉ5Ò] ,HÖVHz±Ã!"Ú5ªœ¥×tw¹‘$Ê@[¡Ž¥OO ÑŒt>EÉIÇ[Â×ÈË£ >k¤Ï혤ë.`:MQF@Ôu>‘¹…H°´mljuJÉå8Õ²ÏЋQt>Eë¥ s"F)‹2‚ï|ÿïbLÙ” öBgúPרªÀ ‹!ß# C<ßÇÔÔi%u]ajƒ‡Äó=Œ/0¦Æƒ±Y{øµÄØ + R¬±ÒyáÉ &V«=Ÿ^WPhØ;0¤i΢ts}~à††Vd §}Nmù´¨òŠqVqcÁÞÞŒÿíÿ Õæ›bóq6Zï%¨ÿßf¢å˜r3864Ù£¶7£~Å ˆ-jþ2cþ Û³S¯M´û“¼î¿|û‹çìð1„±X±á!Z cGuó¤ßÌ>R/ýrA"¬›^ÇX¨ L–ÂÂx`L-ð„Å÷F¸£W—P*,V ÂÚñÚ=¯FJ7ñ bèô Û—¬ |ÖIO²XX._.yüÓ ®*ªÊÃ÷Tí¶¥¿ ƒ Éj? ð Ïsfšƒý=«Bø¿ðެÿ=D! ¢? ‘ïCTŸ†ªreÕÔŽÕ‘Ë.K[= Á—`Å+™˜‡9(^NiZäzA{üS|Ù7¿ãóÏÙûOMa@¼ˆ‚ÆÈ¤Ë¦Á)Wú±Â%ü*‡r†Ù¿d¡®7‚,Á…¯ú¼ÅóRZŸKO´_°ûç?ð¦—|þ!jÐ KÒAŠÖ1jÃÑTot¼‹žU7gª0t¸úîšëaØâ7ÿö9ë BÚËImIošUÎt7nРSPm&yœSûMÎC_ÜÃî´q‚-Õ¤ íD {Ž.—D‚äÔ¹£®ùá…ÈͲV•fÐIØw;oXAž“fÉ©Í#AB‘£§Í§í².¦³1:Ÿ;¹q¨ÜicHà˜#‡ ²6z1%ÍjtQ@aH º‚¤› €oü7¿‚/=¤ç>̆kæ7‡Ä¾;y{’Èk!¼! ’ŠZ<ßÒö%¶²d•+)ø¾ !nA¯'XY•llø¬®xt»’NÇ#Ž­b]ZÆ»Ÿ|\óØÇK¶w`–»ó~Ötz’Ó§C¶6C„ ªÆ¢ðÓ÷gå;Þ†ºªPW¡Þåâ¥Þ‹&ž—Òú¼ÿÿœß¶ûçß|ûwÿ…Ë?„9:ožÑ£}`à:GÉ6D£+Û¤{s´ÍHz I/rj!¿ùÃÛÃ&¡„Ø)Éi:w  `@š¥ètAšå(ªí¹]ðøŽçË£±ÌÂ_vÇU(QQÏßülÕé7u¨ ºh~Nž£ì Ý,œÎ=·+g ƒºÓu0"Ù†°rõ·ÒGco®Öè½±c]ˆ¹Û%Íø“–û(ã´ª»#T9FF³¡éqJZjtç(_¡ú}T˜ƒìóíïyQ$ñÛm*ÏPSŒ-±•G6†Ù¢B V"C!kBO÷Ú]A/\Ý©œ¬ÜƒX ÚÁ`à±±á1x´;’(”Î`E‚5‚¢t¨ÙŽo™N,oú‘Ó|Í.péjA® ®Ç`-bëTÈ`Õ¢“´`ž•Ô5øžKz:w_¥egÏòþú6ªÍ7‘ë‰Úe=ü-¢ú×Á¿Ü<=†ÀxR–ç8(ebîGëœöø§øº|Ç-Çóé 5O>]ß–xÎn\iàb1øwAw!â¥Ó‡%ÇÎs„Þ/uS˜žäÂ3Þm‹çd}>s<ùA}Ë÷ÏwŸýê¿°ùGkí6‹\ú@å z =Ñî¡]IMo T¤£P*qŠb¥¿ÿÃ[E±øMÕðïõÌÝiº ݾŽ^,Ðy…êù$aÄðüËq¦›^¢¶sÈ¥ÛA#H„päÃLˆw IDATÝ y¶|“Š9„(›®¸ÉÜEoæXuePmy±—G!ÑZΤêÊ,ÕÂ0#éÄNd":¨¶Ïa¯B ÜÇŒIóhYçJ§SÒ}P‘DʹØGÁQÃ¥´NT‘§¼õ#¥–‚*_P£ EV“NÜC—j Z]0òh+IwÕãúÕÒ9ÕyŽ!E‚VKÐëK~ß#RÍs¨ÔêÊ2Ÿ&™¥(,ƒžÏ© ú»[üà›.óÌ¥‚ù¬ôz>QäaÌç†ù¤b6+™M-ZŠÜP®Ô[Ô–é\ÐUšt ô¯ßI¾öýøž /ž$JЮ!êcç»Ùݤ|Q㊠þöó7Þò£·-žÚƒÑµê¶ÆsïÊGAXÖ±Á}ˆÖÀ}æÊÌðöšwÁÅgok<'ëóÙãyàç}ÿ|CùðIþiòyQŽêÆ$½»I³1£Ý¬QôæML„­Æ¶¶l¦t~øa»D|–uå¼aÅèÊ>éþty\!‚¡ P+«èP,ëP*êº2l|m¨P¡«̤©)u (Ð…FÏBh¥(,i¦ÑÓÜ@{[Á*Òë#÷~r{Ô[‡ j]cåpwWšR™SÿêÝëîø ·“vâcòåÅ2^­st™ÃÔW)“ôW€…;‚õÔòïêlívØHñÎÇ‹Ò愲Æ3‚…–”ô×++>Q ùЇ4q ‘rï3ŠaäP«í¶¤Óq¿‡¡Àk“ò²¬f<1ŒÇ†ôÀ2B»åóàËþÅ¿8Í;ÿÁ¶3š(k|Ÿ%™ç†ùBRhç/J)És˜Î 泊¢°”eÍbnÑå ÏJ|!Öã÷þ×Hµù&ª|ÌføI `·þR²…ÄB¢ÝŸäëðGo{hŽT%7eÛîèÛá”]€ZgE¤= ôt—Ñ´ Ý“B:¢Ë…w"F­C"Ú¨^ Et´«7»ršY·c+EÒµ’ m³«Wn.7$袳˜¤;C>:jlEì”p>Çð§]`Šš t$–†ïüWñ!%>î¸ìù‚Õ ¤çñî=%òUáF»=·öD¡»ñ:I«%ˆ• 9+¶ùv'†K—kFÛ5Yf™Ï¡Ð‚Я–¶²óL†^((´!›Â8µL³’,¯ÀúDÊCùÐRƘÒRÍJL^#DMDµ†ÚDÔ^Äkÿëÿ‘?ú…·ðÏÞ}ƒÿùG^yÍ`­ƒ.K7áñíï ò¹íñxµ$Yõ^°xâûÞL4þ=߲辅ZvX|êÍ/X<'ëóÜâùØGr^ýšàY|9éIþyÖü£sK: Й{”m´Í\²C(*TIJ+~é»ïqg˜0 í±#¤f†ž9n‰2ñÒ$—ܢ͜´ô!Ÿ0¼÷>Tê94'OwSÔéÓPXÇ„û¨T éÌ¢w.‘l ÑùžÛµšÇ ­æVõX:UZîCT- zUÜuÒáî*ª(Ü… juÀŸ‚è¹ãSpÜPÉ‚ž EʉCš£Ù¥Óz¼ ÞX~(’T7vu¶³¬©i=FWm´¶¤ó4MùøêŸ,©‚ÿ×&Ô¸¯' ”D‘$VÅ‚nz]I·+Yé ú’Òžz¦â‰ ×G³‰ã³Ž¢a+=ÁéÍõ€îª‡VèyEv ™ÀxV2Ç lǤIOPÔ–ÅÄ2=°LŠœÜæHRÖ…”j9]{ð‡ïýQî=õ .\{×}ëÛ^ñœ´¸¸7ÉÄóRZŸ¯úŠÞòþù®õÿü$ÿ<Ïü3’¨MãìÙG•>ºíA.PBü»¿ÿUX4%Z®ö5ž/ç6—Cþc‰ží‘Ns‡ßlT?qª³µ•¦¤Ðù*ŠH÷KÔj]Ô͘ûÿêP!Rä\¼¾‡²%„5*ˆn*Ã%±ZîœØ™«¯ý™zêŸ?sM™P-7¶TÌVTtá"D³£VK¥ª1»\ZÒ¹Ýܽ ׇNuN\á¹±*%£½ i>G´­QAÈ0‰yÓoÿø) žg•uýðÐ#R*TEÍdVS,*D-ð• Ó YK| c¸zµb¯ 6 jß) ¥aûÚ+x¶×W¾áIŠYH57Ìæ ªª&ðjº„ƒÛÊ’/$3]³¨5ùbŒ5-¢0 Acû #‘Æ{ÁâÁ:Ï‘À³ÄaH/ñèœ\<×õ\<'ësëñ¼û»þæIþ¹…ü£VO¡êEC.ÖèÒ Át Ú.ð‡ƒ>:ˆœi‰hÛAw+° Ô\2ÚÙ>&)†ápÅ5ÍNz±“&g9jÕ± >ªCa\-mµí&€J …AOwÑ:'ñ D>Jµ.b$  ÂŠ47 äNƒ ÕîÈÔø4Ž®|Z‰C(… 3#§(©¾ÿ« ìÍp!@žCAKÏIœ›yY%[@‹Ç/\w !ÕuÇH=[ºÎ§S8vˆÞjÐÒ¥€E ªk9>¾t"¢ À·Ÿü¸sÚƒÛOe%º0T¥CHÏ=ù,ª’ª®ÐZ(éPõeMUVèÜÜR<•­ñtA97Ëx®_y¼â“_ëó™ây©¬O2Ü8É?·ÈStž5¯„rê_?FE-|]sAÅÒ°\aIç{èÅîÒ YYYòrT ‘$aŒKôôè3tÑì*…†<#ÍsÈ*t(HºmˆÚ$Ø»Ž‹D º‰£uŠ>di>ƒ|¾d;vÃÝÑêÊ›:ö¼é¨DMΪ´(ÐÇG·š(Š£½kèB6.ò¦\’öÇ ××¥\3Û»˜º±/áxÖi6Fù¢ ò=›´î5Œ$½žûÕnIb%Cg>ú‚8òè’N0žò¢Ä—Ћ}žzú¡Ï™DŽ¿ŽߥË.¹ Ö>†Œ@µ<:(’ºòU¥¶>m#¤GàIžxÌù¬½ú5OQV5ý^È|^Ý–xúE¿/ѳšý=Ãdl©jé —ÂP0y±QHlíã•e™“—+<õóŠGJK7”-Ÿ¹Ï2žs|‚§Ÿx€ÿâO}A¬Ïg‹ç¥²>'ùçÖòÖ)‚“0BçÊyDˆÔâ¦tÜà¾vHäÃ’N$Ñûeóƒ%7BgSè%¨n„Â:æCnI÷f$ƒ6é´@S¡Beq‡ÕÀñ'ƒ &DSÉhwŒ.PáJcÜ gOm-;êz±Ý¸¹€*œ8LgÍÌk=G ù "–ß—t›®ymÜŸ7 Ÿt¦¡Ô$É–ss”¡½byézé|ÏaTM½/‚õù‡_û'ùçò X Ò”¿uL9ìp̾:\ÙÚÕ¢ Ðq×aŽÛ»qî£Y,¹%p¨jë úxÅîõœB;ä­Åý{ƒ5Á#<òpÄæ¦G+X`>3lïÔ\º\ñÌå’qj æ¶ÆóžwßÀw|û…;¾>/D<_(ëó£_÷m'ùçò z$-×xnÍoþÉâ÷üKmº§fWUÔÌ£FÏÜ Yt|Ò¬bxfHš‡¨`Ÿ¤w˜tR£¢:_Eõblâ wÜ i`—Íò% :Œ Ÿ¢ú}È-ivÕ^o.è iÚ°¡7×!/I åÕU$¤Tƒ=ö:T´5`!m'¤ÓŲ¦Rý%Në1JôÐvÒü7B•ã›g~û3ôв„|ÑÁN Y”ˆ®†ä§{7¦nðµB ¤#ªÈ#\ËùYXêÊ¢µå}ï{a“Éñ¤ð%ùctÛýŽ I Ó¡©ÏZŒ²… ªyÞñ̶yÒòÖ #ËÊ@²Ò÷‰[ù’Hzx¾å@[žx¢æòs®^©˜Ï QdÙÜ”¼üå¯x(dkè·\²¨*˜Îj.^*øä'+.]®ÈËú‹ç]ï:û¼š³·º>¯ý²O¼ ñ¼Ø×ç»Î½ñ$ÿÜBþ!0ÍÄÎk uä`¨¾Î´›: ×·HwÝ(Φ ‡1ºœ»zS8s¨Ñ:‡ btãiÍŇèjÂhW£Z‚¤×axæ<égœq@Q¢÷öš7BX íŒP">2oˆº¨~ÀÙäœ;û5ôN¥#´î.^ÒéèÈÈÀ*5:Ü:ó"íÜfևǤÏj)(s êþÑyh*E$ËËshõØn ›N:!ÊÏÐ3»”{S´ #Y[s—3/$¦–HéøéI !ÝÝó…kê+Ë|½ñóŠû}NŸ–¬­C+®±””¥¥6k=êJ µ Ë`¾xþñXiI'†¢¬è¶ éô»®^ljƒ.¡–‚V[²²fy¤ w b.>]±?± Öàþû|îºÛ#é{@‹±c-ž´Ä‘ é êÒ¡^¨x¾û{.ñÓ?u÷[ŸÓÃ6žûúç'ùçò %„í%ÅSg Òé½—ƒá»q"…Æ’´úŠ!‰»(kÚ¬p€´lpž 5P ̶Þ³E:ÊíÎÑ»Û Oõšàwœ{–Zq®Û_†¢í =ÎIºÝå)*€ôêÕiš6»ã%Cú{J$P*Y^|Õ›1¨ö&5¬HÚç!êTçÞmJ¡ì¤¹R}ç;yœ'h;_ºçèC‡›åøT‡C¡œ ;h2»èBPT!Ý  ñ¤«¥Æ]ˆc”‚²tOC?öNß‘§ÇçÔ_ú¥GxË[>ÎÖÐ0X3øAÅBç̆ºò±„E@UCxÞñHɪDÏ uYÓR’vÏà +„ÀSá[j A)IbAr6`c()ªš^×guÕGµÛ½ÚR”5eY"DE»gNI¢@²³Z#¤yÁâ9YŸ;¼>ú$ÿÜZþ™¢‹1*¦ñµHÖZ {øÉÐuyU Eåæ<=†átï I‘l¶Ð³CvƒF…ýf$e Œ®-í<åºØEŒò¥S¤‰6z±Þ“fnÔ)ãú¨~´Üá”’èªêø «yû(2gêë®ð]Š;)ò´D™”\:´ëÅ ¥,鞾ɔýÐRuº BÒ²jL¦¤¹Z£zò9© ×€R¢ƒ Uv ðÜÚé¢ÑÛ)´# ÉjŒžGd>ÔµEúà)¬Âæ:'Dñ¤««j-ø|¼¶¶<ÖÖ í¶¡(4ºÈØÙŸ2™AL·½B§“`mÄ|.žW<“ …%nId-Æb¤›Ñ#ð…ÀX•ÍÏ“Î\\†ý.„>„¾OøH+©êŠñ¸âú¨dš¬&kƒ’^Ï'Y‰èõ=š,ž“õ¹³ëÃø$ÿÜJþAõQ­)‰\'  ôÜ¿ŸÕè"Þ»ß] ³`t}5ˆÐ¡ì9ÖDV‘¨5´*ÑÅŒ$ê¢B.º|äCBuB’¤»Æð\âœ×ô§m眵~Šá™EŒ½Ø#Í*ÎÞû2ôîöÒÅ…Ž3#HÓ)éþ („@µÕQ·ZßpA©>ÉZϩ֢Cb^ÃÁnûè2g8ì-›:” ³˜»µp3°i6&Ý-ÐÙ§Üïì¡dóDJ4¯üOÞÁc­¹tÅùk’{î†Õ•¯1Í1Ö5¨<ù™Ê'žø}þýï¿‹g®~Œ0ˆyù}¯áþêß¡ßÛxÖ$ño{tùõO¼í#Ÿ5¡Üw@–ä9è¼d÷`Î'ž¾ÎÓŸº‚-+NŸ9Å?ò2^öÀÝ ‡ç@’Í /Ö΀ڳ„RP‚ƒI1%­ŽÀO$Ò?pÍ>ƒ¤¶.á ª ij¸>ªxæbÅh§be¥æ¾{ ¶NÍYYWœº« ö…‹çd}îìú¨ 'ùçVò |†ëë$gç$V#ö2NmJ|=Õ¤;O“Dƒ%ä_Ooîkét—ѵkÆ ×VÐ…f´oí õ&$§ÖQJ1Üìsñâ·Úˆáz„ž ÒÅzgºtQA¯1Aÿ0iá;„'€8Åp]AØ!Yq†*ªÝ‘'p :­å‘£%rt:m\¹ü£ÔËcW"|è6jµrJHí¾ÃŒ.®7ï+r“JÌ 88Òþ ˆa;‚µ>*º}vÞ;@gÜ{ŸSó…QSÓ›œŸ³¹óñOjé1ܲ$=çZÕÂM#Xµ‚oû–{>c¹à·ÿð=|Åk¾™î}RH~÷ßÇ»~ñ‡øï|ï³&‰Ã$r<±<[Ùàûßú¿ú“¦}ê ûÔ6O_Þcq ñ(YäWÉMA')ùÒ/zà9Çc-ø¡Ó„…¥ª\S`1·\¾dÈÆ5+}Ax˜êB`=I€‘ÂÙ³‹Î+'Úцºv""S žz²·gyÙƒwUS6W z½˜EQÝöxNÖçίÏ]'ùç–òÎ!é®80[6…Âg”¥èñ£½tíwäé(,ä „BYŠI´º„ª%íq;qöYØŒÑt—t÷†ë*=T?&½6nj^Òu¤uAƒ³ÉéM’Æ’°‚4-Ô¡ ÁbŠ^̗Ǭeó#ĬG‰ðÑv†m´9ñF?>TûPô—ç›:ìÍØ“ûÞœ4oƒ}ʱ­í ŠŒ”*:»±­¬€ÂÁ™È*¬PíÐプ.qþÜi‹…›“®+ÃBCQ@mR¸ºê³½¾÷Û~îfðÖk¿…_ÿÝŸûž?דâg{=ùÌ6užð|‚ë{%QØæ®»·èv¯¾kr’n!ÿŒF×H¯\F—’nâ6%Ù&‘mÔøªÀ!=KH:>£k#†½’þ #æ Ca@ºgI®“ŽõÒ€WE‘ó¾ÍsÎn¬’t’ÁFׯº#‡Èñ®h£ítií¥:+n1ººíæY*ÝèÆŠÉÚÃd€ÖÎþ+7òêÉ_ªÂ„BE!P7›U‚}’HA7qÒè h«—p·£j˜X´-€^³Òt»éæ Ú-´\ÀÎv’(r @•]ÄŽ|7µ$Ý*>ù©=â¨M'ªt¼ñlf˜Ï¡ª’1 åsºñ‹bÁï~è}éƆ,³, VÒnûŸó¦?<þwÚ«üÀw¾ç3–þÜ åÃ!³bÆ©3wqÿ}[œ»k…ÕA„ |&3KÅdY@Ïžs<í–³£ë´À+h„.–nVW¡Ð–…¶Ìõn† °$ýSC‹K¦ãšEVQ†ª‚¢”uE^””…3ìÎgpõËxWÒë†È@ÞöxNÖçίªNòÏ­äŸt¡IbEHvÜ$O$QÝÓü‹O^p?dï*ªí“îŽPñz¢Ñ½=9QV*®¤enB6AGå ÈxüÊu"ç®ôÿb¹hÀ>±ëVGf—ì‚8y´Z µï˜Q ã…k0ˆI¯†µ³$"B‡ *çéÎغ' E£NãØL{Ñb8HH Š5TXáÈ Sôx"wCì“ÞðÐ¥EHgEª ¥ÚŒf¡¯ÐA—D Tä¡‚]æ$Ýš#§03Ž CU)È2ÃΞäàÀ’e0ÖXÁ`õs?AþÄÛ>‚ÎgüΞ_ø?ÞÊ÷ý7ÿê¶=ALwÝSòÚWÝ˹{ºô»Šlîq°oYŒ fcC©²®žs<‚nÇIéóÜÒj Â@Ðë Nròý8ìí Æc˜ÍyážH‹& ¾¡Èk(+<[Q[#%“ác¥ÅÇ ½ k,“Yͬ€VûöÇs²>w~}.f'ùçVòžUŽ“_eÍû³‹³gÜ`“Â)ÄtX7\h7Ö”ZŽÌ̳©Õ¨Ù´N6YÈrè¬;‡— ‚,Gg ¹Î5É`DŒBÊfËyViÕ_š ¨pN:ñÌ ¬Hs“‚4ÒË‹©­ €,C/f&¶P*;‰ŠÛ(Á¯”`æ [$Ê;ši]Ì k‘îJ ƒf‡DõP"uyq€ZUŒ.é%^T›š”ɰ$g‡ÐvG,æÎ8ù‰'«›‚µÒcQ¶G9’ÅÂkêÒñKô¬zN7¾ŠÚ|Õë¾ßø½y{>g<¾üõ=^þ² yꩊ~4çò3–\WÔ² Ttâç1qÊC (KÃlíX†’^ΜV ú»‚½=ËÞŒSA6«)+Ãba‘5Íäˆt°*À€ ÂÇJƒ±)#ÜìHŽçINŸá¶Çs²>w~}^óÀIþ¹•üCX£ºmÐ9£T.IG9DiÃá9`Ágï]G—%édJzý*Iw€êø®U T–£Ë€²SPÊí~3 á]´ÏÂÖÍÔ…0D ího¢í¼)EbГήŸsÝòÅ%;MƒÄCÓv;á†rgÍH’.»¤ã‹ Aîü#Z+ô^]Î:† IDATôIÇ=‡ôFÓ˜éê ܱ·³åŽ~‡ ÕA­ ·¶šcÖ]tùÿžYݬmWÌKË8•ØÂ§®¥–ä•G̳gO(?ÿËoák¾ì;YÜM6?à·þà=œ=óðmm >üp‹»ïŽÉ2ÃãŸ^ðþCÉ f³!<ðw:¤»):²$BAÔ¡(|vnv÷ ‡ƒ­¤5 jLíSÖ–Ò ªR°¾ùav¶¿ø?ý{èe_Á{~éï2ÚyŠVÜçÁ^Ï·ÿõüœêÉÇ¿þL çûßú_÷×~›×¾.$.<ó§^ðÔÓ‚yæáû ÚHŒñÏ9žb.X¤5»Wrºƒ®OÔ¨¸FÅ–ÀwBº¤Ò逵!$~`™Í!/,uiñ¬Àb¨#Á€0<‹ô}D 0•Ä ¶NllÜþxNÖçίÏhtí$ÿÜBþ!Ï Œ®ç¨Ý«®'Q T£™ã+èBN÷žê’î¥ ×N;¥ZÔqnŸÑu×=þàãж"=Hn P”Ú'ÝÛ‡¶"é†Pú¤—®¹#UôÊ-hç¨Ð#éx¨p“Ï9½³%ÿá!ªg9pÖ;u6$¨9æ(6ÐS>HÑ»)é"EÏRFÙ&W—À!e׸P‘ƒ(“U¯§ ;Û’tÆhß}¸”¯ xüñkîý…%$Éš éo¸N{Î+zºëh~A (jc¨ øPK$á{X<@âacÂϘ}è <úÐ>gýøÏÛ$ìö|ªRðéK†=>ã©Ë†yÕÂéƒïAUcJ@>¿xÆ™`¶¨ðv*üÐÇ÷@Åqì8Ý¡2¨Èº]XêÚÉýU$°ÆÍsû]A+–XEnɦ–Y&±%ˆ\b«  Dൺ=û‚Ås²>wx}à$ÿÜBþQ«C’N‹dõÈÑ&YíC`ñ/^5‚€Õ‰PO… cÒ(ýe­2YÝ éN@öH'Ûè‰ë Çâ‘1ªTn.…ë^—=(ÆÐÉIÂØ ‹.挦)”‡µ­é±ÙT÷fÕ`àŽDvÆ DERnÔ©¸Áh¼ÇPEѰVH‚ô×–u8UtošŸ%öQq·Ù³›ÿw:D—’¤7s³µ}‹²%çÏŸ:êÚ3ú®Q3“.,I« »éînc< ðD c-Òº +j>Ò(ð±XÏ‚ôù|¼Ê2äÒ3ðéOžº¬™éß³ÆCJ[Lmñ¼O„Ï+—^Em(9ÂB6w5_߃À3ž{‚”žAH÷ij‹±†°±îqúŒG·'ñÁÁáé§*®^dA]X0Ï“P–¼`ñœ¬Ï]Ÿ“üskùGu{ ×V -Ð3\C7OíºQUxï=¤×G ×tá£Â`霮u²½tw=="9óÿ·wæA–^gyÿómçî_/Ó}g´ÍT¸‚(UÉ?„Ø@Q!^ÊÆ¦°MìT“*AÀ±±cË`Œl0²lAyß0HA!CâTÊ…R¤bƒÙ–F–fæÎL/ßÝßo;'œ¯ïÈ€K³h&ÕýOÏtwݾïsN¿ïwÎû>ϳLöÉ&Â0‚Ñù1¢ L#n2¡&mõÀVŒ¦;BRÖ¾0’BÀÍnܱnª¬¯¢”Öšû°Òa† 1ÙÞy²Ýó<$~žÕ$ÊÒj‘ª¢™gj²iFV ©¶Þ‚,^btËßçå -HÙt×7?¶¬45F§Ç%˜~àǯÜÂWÉ®ïÎZ¤4´ë¸E¶Ññ•pŸŽPZh() ¬pDP†(íM¡µUXå°ªdxÃÃŒNÝyÕäwßö؇ùçÒòÌ–þß ¾v $Í÷€ðäÃcâ5Nîî¬æQe^‘ntHß ‰f¸;&+áøZ´Ûñ’¥¹Ã$]†±FöÆÈláDëL/Fò ÙÛgØs+Òõ5ÇFy “a´;a§dì‘M÷I7Ž‘YóæSd:Áô”Ú›c”0ì74™Áx(̱5†Ç¼åp=DdŒ|q‘™[¤”Õ\æ–~7÷wuÙÙóÐ60k¯ÀBFOœ%íû'™ÌÉvôCaç0Ý F;_Æ$šáfËS¶•‚Z¡&Ò¡7{pèX味Þi{UŸçKK1RØ2„R“ÄZ­Ä„ÊRU7°.D5±<Ýxœ QZá¬BãžAhQÚz—&íHGÒRÔV3Ý«ÉËŠÏäl%š$R˜=Å`°½¥Ù:°½•óÙÏ ~ŠåÕ‰çp}®ÞúŒÎŸ9Ì?—Ì å§šNž%Ãö i’øâ „Ãc·B± ­mÄzíåÌÌ ìäW¼X¿“[²ñ>£½Ò3ÑzFkÞ‘†É>Ù´!<Ö‚¶Cf‚Á®˜eÙéSvuSq އòGéºm˜ådôÇ¿îëÈ 0Ùõlºåi²2‚/”~·`Eƒ&jùϦCê†nÝ7GšÏFuÀ 1ß©?y:ÄDIslìúYÚù…ñ*³r7݆š-DI…-us\U(PÚ[ÃÙ*t¢ ÐÖ‚†o|ˆ'ž¸óŠ;*½éaª*¢.jBÒë:Ö¶ºD¡# @á˜Î4A¨)ŠÚë•×îiÇ(‡v § Tþé3ŠI│@yk¾È s™H3™jP¾AX–P•þéÒça- XhÖRM¨k*[òøcRpÅã9\Ÿ«·>é`ó0ÿ\Bþ!,0fÀðë‡È ÌA"Wdå>¡»ÈDc6,iâ»ÂLJ·"Ì17µ‘rA6«0Q€é5à¢ö®ñÓÜ;µ¯õ–SFÞýà#Ü#57C\íH¾ëMb EHšF»g‘¾c¸ÖÇôÖÈfK†,`Ù}ÒîÍ)¤¬¡pMc¥Åp«dtºé?äÈ0¡Á”Þ×2]ß"«L$Pàf^®t¶\6™ŽA’SœmìÁ,Ø9©k”z}ï¾ÓØ›IΪR¦ƒMNž>Û4†N!° Ó+)rMQÖÔuˆµΦ&‰jºƒÄD,&!‹iÙüa*n<úž8se’Ê]wßÉëßúe¾þCžø²¢\Ö¬mÀÍ·´:!JÕ(,³¹"ŠŽBrGQ–¹zFñ(g €H)BÐ6ŽNWÑj+’Ä¡C‡ÖžÞ¿‘j-£ØÚ ¸éÆ›n ØÚô¡ÓV$‰e(zÝVÒ†$糟UW-žÃõ¹:ëcºÁaþ¹„ücÌ:† ¦Ûò½†|î9ICH˜Þ|Ù™S^O'Ö~æµëƒÈ>÷—Þ?1Û#«4é Û ·¤ºMvfÚHyÈÌ6šÎc²S{H>‡<‚VLÚÞ÷ümïä¾1ÃÄ}èVŒö2o\ïpò‘ éЯ‘nÝ‚LÏ2:Ê‹õýW¶»ÏCçNc:†4]'í5Tãz‰T¹'u½5XºvÍuLT#³&Zú^¼ë{6_6 ™ƒÁ«)ä¦8Œ—h²…»ÀôÚHTcú†´×'›–ã½[ØØ°ä¹¥(4Ei)Kïú£uÈÚ bk;$éd;ŽÝQÍxVQþ(}ã±ÏñÄéË›TîºûN=yŠïý®˜£[–ÿ, ;_0XËéõjâ@QФY&É-yî(r( ýŒã… }"éö½t{Š4UôûŠvKa ´Œ¦ßW Ê u‚ŠÚZÎïTX Ý®fm=äŽ;­ÎÕçp}®üúdyq˜.!ÿ˜N›læ{i·‹m¨º˜öqŽÐ$¡¯$€Áz™Í²Fn?†ÙÜ"²ÅT‡lÐò$‚¢œž_ð\Œ»˜nLê ¢rŒK0·„žùv`ŽEfKN–`"˰—’K1ñF3þd1ëÒØ0 ;|óösR#UŒiÃp¸œ¸ìÄ+ç•n‘m|æâ«{é<¹b½ ³'Ù”%=Lª£½SR ·ŒS ^VÇ0oCf¼–El¼LiX€nìîâsÌÆšÿ™¹í-È ( Kž7j„b±µ£¿°¶ #‡K8…Ž4Ó™¥°œæÄm_àÑ/]ž¤r×Ýwò;|žÛnmqóMé@sãQǙӚé,ÄZp®ÂZKUYD¬Æ*Tƒ¢È/-HÚÐî*Úhw ×S¤X_wôz®yB¬‰B‡RŽÉÔ²»gY.kΞ+xüqa:®9r4æ¹ßÚzVã9\Ÿ+»>‡ùçÒòQ ¨12[ L¬I×[ÐZ·D=ø¡ç9iŒwR~µççM®·„Rù_ZÙÞ{Œ"]ßòL7@fÙt×kQÏ+Èé‰!™ì@¡H7Öë°)˜>&jóЗNúãI×ö†¾K>¯É¦»HÞ4G¢ ™ë•å—éXd®1,‰Æ¸…¯ÜJA’x‡›¦‹žö6`.dË¥×µÎsDƾY¢éæv£­á0n‚¨þW}Î&Þ{r¥WÝ,œD5‡ 0UÉýÆûäC¿ÂbáX,’+ÊRQk5ýnB¯S+¨jGY€,½±tY9ÊÒâÐôº!Ÿý_·ÒG&‰à›¾å¾éÎÏý–.·C‹­¥rQ,—^Ë\¤&/*–˚żf±p,—–ÅÒk±Ìg\–xÒ>´ÛŽvGÑé8}  ×…VËÑ2Ž$…e™×ŒÇ£s9ñ…_|xÎ|né§Á5Ïáú\™õyí?w˜.!ÿ žxÛÄ6S;m(êÁO¼È¦þ‚¿ÓÆ´ ²„% Ž"Å9?ÂtÚ¤­ÙΣý)2Þ÷ãIÎÛKÜ­¥QÐVbRNüËùà€­vtègJgâµ/’ÄkCT]ôlÉp¸FVFd»ç=CÎ-0¸Æ¥=D KÚµ@ ™í¯´¦Wîðã ÒîWÏT›8GT5þuð~Ñ+út3…ùÒ[œÅ@d  1qqâÍ„cß|‘hŽÌ,où÷çš² V ï’ UˆCƒ‚ ð„?ËyÁ•¨¶Ž(Ö˜XEŽÿø·}•9ÆÅ’ÀMG‹RÓÝŽæ– ·ßÞâĉ[GbºÝ€8Ò„W;ñO‡–éÔ’e»;5gÏZvwÓYpYã‰cCG»F›Ý„–8¶tÛŽ8rL¦%£³9£ssΞ^0›Ê5Ïáú\Þõ¹÷î;Ì?—`Š ¢z˜2‡° [´b¡…zàg¿Í¥‘%+5idI7Žqrô"KŒj1Ün!ª³ Fù¹NS‚TÂ9t äâA+…´;ÀD ™ ²“5¤„9§ågKe‚ ßôšÑ£1Ãþ€áÑ£d£ÓŒFç ?Xué1“@¶3Fòš;NãäɘL1oN ã9´ƒ .òyIV¦´˜Ž†¤170á‚tû›€™7>h ˆE¬o”Þ'ÛL†G†cÈ–þ „ÒMDöHû¤ë]¤°¼îcï!ŠC¢0@)…už­Xˆc±€²Ð¨PGÞ‹!Ž aàYŒQ¨ÐA ªºÂÖ ¥ Ðð§zÛS&”·ÿ¶( òV¸°¦P޲°„fs3âÆc›[ý~ˆi)Z& Š4Ö*êJ±XxѬsg5»;!ÓYŒsÑ‹G¹§jŠÚ’רœ‚¢(™,庋çp}.=žßúÑ·æŸKÈ?0…¢CVìr|í¨Ç|Ôßû\'³ÜrO+6½”t{t “ÄH^@± í¥d'O"³%ÇÝÆ¨>åwW³±¿{RÁßÇ—cº†Ô¤ˆŒÉ* ¹†nŒÙ“å`:nn“ö×}àI‚‰ýùÃ/ü{R-Ï.—_½xø‘'f ²]§gz$€dàGš:fUÅŒ1f€QFnŽéLÔòì¹\pžÏ3èo3zâ1ÒÞ&Ýô÷q뼌—H_‘öÖýQ±9šùãå”þÔ¯"â猱–º‚ºŠ½P‰vheÑ‘mL)´‹‹ÀD(J[±XÂb u-£0­’š’ÜÖ• e޵5…­QUMèjˆK´ª¨mMm+ÊʪšÍuMºáPaA kÚí“tq6"—„Å"a2N˜ÍŠÒðÞWý³þoþÝ®ûx~ïgÞN¶ÃlŸúO]÷ñ|ðU¯\íÿÿ/öÛË^y˜.Sþ¡{¢WUaÂÓò¤3õàÏ>ÇÉäI–[¦!/¬$YóZÔ3A”#]Œö'd§O‘®ÒÍmòÐP®ü½“$pô¨'0¸™g°5 : cRÈ÷!YóÖ],‘$_Bcâqµô•)È80î°žjmœ&›5ǼŽiÈ Í„2wž}†A …`nî7M1¦h*ùÜ;ͧñÀ›,̧š8BËf„JAwí«i×a*À¸Ó^ãïþÈëQ8TAEÊNJGÑXCÇFGŽ$²ÄhÊ–e@‘[òªÂYM¨5q;¤Ó®ƒ«yQQ•s”*A9´vèÚ‚ËqEAiÁFë \•“„ŠÁfHÔÎÁÄ¡£Ý@'Ìç Óq‹Ù"á?ù“O‰ÿ÷¼ù×]<¿ûÆ»ýþšfdY3¯BÚmñ=oÿØuÏoþèëŸrÿ¿øÞ_wñ|â/?Ì?W(ÿˆ]\ˆoš¡üøóý»š»˜YŽ¡r˜^ ’ê’nt=[LrÒÍ#È|J6Ù#›e¤¡†ÞÀ¿NÜ! Ò.ø:JŽ˜$à ¶1‘&U ‰cÈs²¼ðvaºvé96i˜-ɦØP¾ô•[ü1&ot0Ê¢ÊÊÇ0Ýo@òJAÂÆ«W]Ö¬ßàgsËÓmm{ã•JÞÁωs^3[)Äο”Q.´’@“öúžè ÐòJy‘â%ï¸ t„aDb -U¥)rE>¯¨*…J±ÈØÜ±¬5Pêš0ˆqÃ*?B—Ä%„5eQãj•EëŠKUXlYc«4*NÕ8W lIi‚D£®¤­o ×…0 YJ‡ò.ŠÿKÞzïuÏý¯~#i¢1ñ:°D¦û?Ç<ÞÁDðú:ŠçuoºèþÉ{?výì·~‡ùçÊæŸ'ïõ™Ÿ}ŽKãBŽÌÉÏÚRÌ¶×”Èæ%tñÕNcÜœ´5€n Ù9ƒ¨¶*¯šæÉ C›Q±q¶i ¯üØ•]®@E·üq£MCè4±;˜QBJrÉø¿ô—ÿõ5ÏŸþËŸ»(þ¦e0™ |Á_Ýÿ¯|ë»®™xþý}¾äýÿÒ÷}ðÚYŸ{~墸æŸ+—Ôgîù—•Bº¶EÚmª› H[}d±4îð`¼°(‹ä ßèÈÅ«À%mÒNÚTåŒ40HU@>GtniW d‹†b5Î6§ÎÍÆ˜Þà olšŠ”îÂñ¬á d;{Ha}U=¸'+Å7 ñcLÙL ?í«¥iÆ®ô†×˜g ûH1ö´g`¸1€°€*ö¿W%^£âIÒ¼ÓQŽ‘ÖWY)r?¶5¸+Ë+HšùÔ¼B¦¤¬IãÐ;ÊHéÕêºzuÏ'Ó±o~tS¯k=mî¼’ ßÀɧv4˜¡¿óË3ŒJ¡ãïÐè f¥Ñág“' R£F7w¤¾³¿zÑö"G…T®aÃÁ„3¤j •«‚´?ääÿ¼¹’n¤þˆX(²ÜB9Á¬¥¼ðÍïÅ*‡£FÕ‡ÂE¸„ vÔ®n kª Æê ]‡¸"ðR·JScq΂S: PP;PgÚZœÊqNø_xçÃÿåøèUçþÕ]Ïÿ¬¬ùÛöÿËßtÏÕç­o¹bûÿå÷òêï·Ÿø±gŒÿaþ¹¼ùG}þCÏw&n!Å’L2¨z*VÿhÓ øãŽ›c’öÊ6Œñ¾¿w;hª˜qÎW¾ƒÑ ¤…饘Í5_™óÌ–H^‘Ù‚|‰äþÿÆÕÍÝÖöƤ'¾‘ìü)_ErˆÌ–PäžxæH&µH“xÕ i†b3ÀDfÕåö}?F•˜Áö…j ¾k_(òÂ!ñIb€qšÑôŒ§;G†¬L¨<•¹— 3 ÆË¢Vƒ" 2—•PÒên°yÂÒWâç¿å~¬-QÎ?iÔAìÍ*êW8å°äÄqL†Ø:€Ú¡¦®+lm Ða€ ÖÖXe±N¡ë€°Öü÷ßx÷UÁÿ¥¿òo¯J<¿ÿÖW\ü/¶ÿ_ú†w]•x>ý‹ÿâªìÿW^¥õùôÝÿä²à˜._þQ~èNfS˜-ýèR¤0q„ ½˜þv×72bµê`»D¦…7L"ºåïËÄ;­K¹ {lDztÈðȲåyF{äšt£Ù’M¦~1gKdw Aˆ¡°¤Û}2×ÜE©¦œùî8¾¹aœf4Ë<гSN§È²…š-+±Í•ÛŒQ ÓøŽ}%dûç1F#ã1YÖøIv{˜Vt£û«†R6Ó „£9&6Èn‰ÄU#IÑÈ—:oBå¹7)8pº‰»˜8òO*aÕ:t“ s³³%/{ßG±aAEDàb ÄU%ÖUX»¤vNÄq@„(€‹°µ"PŽ0TXEA]Be©p8­øo÷ÜuÕñýoúŠÅóGw½æ²ã±ýÿ²ŸºçÊÅóæ»®úþÙû?vÅâùà+_|Ùñ?Ì?—žÔgÞùíÎtCŒê`¢)K$Ï‘BV>ˆ¦e 6Þ~¶À` ã QA#xÔT#4†Øƒ®ÄΡr*ß)2©`vžôÄqLÒ²Ý1i7î LŠ‘L‚IZ^GCJØ;¡gÏ¡`¶@ÆKŽom†ÑäŒoø¬§<ôùs¤‰jª¾? ûèÕP„^ßbek 2ã䙳ˆXŽzš³Y÷Ç(Ýõ‹ÍýѲðò¨ioà7PÇ!ó ÍÓñÕ5›åH¶ƒTÓí_XüX3Êç {ëüUüŸ÷öŸ'Ô:¨ÐJc©qvAå ª4¶½Ki I‚6*ˆPÚ¢©¨•%Pã*ÇGÞòcÏ:þ¯øÔ¯_¶x~íG_{Åñ¿ØþÅÏÝ{Ùâùwº÷Yßÿ/ùÈo^¾õù¡×]qüóÏ3ßÿêÁ_~ž£¡Xøê¯c:«ÁΘl^ 8ÌzŒ¡í›ñÀõ“UXŠæîI&«»03Ë1qä+WÏ S!›˜ö‚´Iš…šHÑØ%£s€œóŒ2¯óœßÁd¯D–SÌ åçggÃFª4Ëö0[}Ï@‹;˜n)K²3-e¥Y‘M§ˆ³ßZô6ü“`º)$T‹,c˜#Ó€,_@Q6:HIÚë­p"9ÙÎÓê0<²Mºu ¯½‹,Ú˜°À„[Èò,’å»Êÿ™IDATOšª›`º!þ/~ëÏ“$š°Ó¡ ,U1źWÌÆ0_VhÐŽbt tM(ZƒˆNOÑoû¯ºfðñ;ßqÉñüóÛ¿óªá±ýÿšw]z<÷½î×ÌþÍ'>rÉñ¼ææ¿wÕð?Ì?Ïlÿ«~êï8“Ô^s"Vþ¨ÐôÖïXßB¢b¥ÂfZ†tmÐ0Ò2F;g¼tö{~¼ÉVÈ¢ò ¯n‹lި̵Ÿ4嘸ÍH2Lؘ[‰Ûc¯H>eXö0,8Xu¾¥ØÛ'+ö‘s œ9Ïj¬¿ÒVÌΑR‘&í¦Ü!. ÈÙ©=Ì E¶s–Ñ©i¿ÃðÄ!ÙtÌÏùzïŽSB6“íìû*}¬çíž25€hâõ=„“ÄyÆÝ·0zâ1²ÉþêéÓ tû6ümø¿úSï£ÖŠ*_Rû'ËYM6[i+Ú½€8 èMo=à¾ïÛ5‹ÿý›O<íxÞùüÖð¿Øþç>ù´ãyãË_Íîÿ÷?þ¿ŸvõºôBI·ðUÿÜYî’n½ /·ú²—:ÕG{†l''5éæÄŠìôÙ¦*÷1Ií«ºncB ¤dñ¡ß$ Û„Ä1i·E6:q›¯ÿ»ÿäW)]N¬k«XЦ¬`°©X[ I"Í|û]× þïÿÂg.Ï÷­=ÿšÁÿbûÿî_¿ÿ¢ñ¼öø÷_7ûÿ òkçÅÿšÁÿ0ÿ|mø«ÏßÿNæ‚ ýlh·×TÙCŒÌ–ž¹wW¶Y  »)£É™Õ}˜IZ˜¸»j¢ Ú˜­mORP3ÉɘsÀŽ0­ÁŠ‘ö6 vÈž@„¿3› LO¿Z/‚)v1t`´O6 À°×GbÈv'c0k)Ìö÷1ºCº!EH6ÞÁ˜„t#õaδw…O0q¢zkžÖœç~å7C¤ ®ÈÎŒ0É H‘‘íœó&ù¯ø&Ú€Là]iÖ;¤á`@*;†bJÚíù)¯ÿ·ýÑûPº&D¡”"ë[i?à·¾úºÃÿmÿåמ2ž¼ã'®9ü/¶ÿßùû~êx¾ù§¯»ýÿÆß~×SÆó]Áw_sø柋ã¯>ÿ¡8bã,…@lb—¬¼óËWFˆéfÊp8\ ÑqžžòÚ"EítEŠ0=ƒÁÏ fËɪJ€–!gþMƒÈdUÕGgõ@Ý&íߊÈYF_1züQX‚¡Æl¥¤­ž§[wâÕ(àgöJï;Ù«1º©þk)&²˜žñC{§Èv3LoÓÛ–5Oio@6:»²˲%ýßGHûŽŸ®¾†›yËÞÀO tüñSDöÖ|ó ÈœxÍŒ®†$$›æ˜Ùle­vˆÿ!þ‡øâ¥ñWÜó\—¢¼_䝯w¼ÞóX`h_/ͤN1[cïŒ>`Aš$ÞEfÑ&?ŠÑGÁy²‰R8L×`â"EV.I»LâFwž¤’Ú÷ws­2atÇÏÛ$M'ŒþâLÔ÷M ™yÚv£S-âH7fW“„t=Â$dÓ1£Ó§1KÁ¤ëþÎ͹'q—÷0@æ moøF̰‡ìÍ1ëïx¿y3ÈIF»û¤]ÃÉýŒãÃ!£YÉp­ï T Ëhoƒbxü¸'v,ýÆÊŠ=²Ý}ñ?ÄÿÿCü¯þaÚê.&Š0ÊWB:ÊÓ•'ªãuŸ1N0a }<Ã-‘IŽÈˆ; »†á-ÏõÚÌE«9V€Pøj Þ f6õ®04 6Õ†ØÓ‹Mwìï« Ý I (²“!ŲQ¯ƒ“~ £4fcÃwÔi“F}†GZ~\É9߸Xî1zÄ‚š"jÙŒ8µ|UŒüqÍ |] ‹T–ŒÝf 4Ùd)6á.Ù©=D—žèð±R#¥òd ÓCì˜4!î!“ÌÓ±ÝÜ«ßEmèÚCüñ?Äÿÿ«‚ÿÿà¦'ôIEND®B`‚pioneers-15.5/client/help/C/images/actions.png0000644000175000017500000001343510654174432016230 00000000000000‰PNG  IHDRT,£v&¬ pHYsÄÄ•+tIME×ûº1FtEXtCommentCreated with The GIMPïd%n“IDATxÚíw\SçÇI€*[P Èp "("jk½jµà–zÑZ÷^XµÔQk½¶^«¶v\m­µÚ:êè°µÞºê·Êe„©W dÜ?hb!9INBÏ÷óáóÑ3Þ<ïó>Ï{~ç9oN8Eù92AAzÃ%AA†›¹¸ ô:¯(?Çâéâ.hý ‚ BwX«P¹¸ “ÉôúÓWˆ™£¨²*J“!“Š)ú ‚ ‹§¸¤Ä,ì°b»A‡Éd¬gIÈ¢»ƒc敪§y¿âñõ¹xÇï3În^º%NÁ#š=zª–„ñòÌÜó‹Éͽ¥ÍÆ*X°éZCeQe®•ªâÌ/QœñÌEÃ:»yŽNº °¦(¦‚0nž™s¾1µæ öa½DÁ´âÔ˜*SêD•YUªdRäß]©è!º ܤ#ƒ(òILY Ožä¡´¬ С} 8ayf •ªúìS†TÍ6cAE/óU2i%rSf®¥3|{m—×Ì,ü¨¨Né ‡g™Œý51UPPˆ1±q¸{/Uã‚°¬˜m,›Ì¹/šì*ÊÏ!QE‚ÊàÑ!ñu€Û<ë–ȼ0Övmaë'ï‰àZ·¤%1erú»Çéü×Ôîûù—Øõõ7 1E4ž˜µ¤‹¸¶<³TA¢,ªv`} ‡ÃQ,8gã8K¿€5Ôš*ѳȸ0 Þ]&³c,8ÕI€ì ÉBhôqtøøuŸ[~9œí aú¦y «wuêEðÐZªF@÷ãêsF&CZZ:>Ø´§Ïœ#G5ÒK¸˜7•õH$¬ØÁ¤*uJ¾MÓ€šƒú7$àL]©ª,»‰ìÄqhµ-œ¼P]úùknàœæàóÑ: nþC‘yíc<¾>mº| — —„éÄTmaõ[ö?04zŠŠ‹ÉQTL)o7×ꎮs>=:#L¶(Ãáè½Ãá4h º¸ Ð-J†ëçô«ªpŽ]5©ý6-üЬe „YGÀ·Žª²SŠÒë=žkãA§¹È¾u÷VÁ½ãz£ÙfpuêEP°¶–ʘwg4ÁjSêJ¥-¦(žtó ãùüjZLþÚK{$(Sz÷×Äb ¸¼æ„@Å32¯ïßi>xü®ëC`ÛzlÝÖï4Ö-†A&)FUÑGtƒò¼ã={@™AúÖLó¢ÞÐ"´©¡Ïõ†„;г=ÄçØUµÇ×^¬Þbê… µ†gÈ.<¹½éI_¢]èTpž~ëƒpëôFð¬mÑÂÉ -[áõjˆJvBüìG¸zØ£${§QªT¬U§^t’¾ñgÁ¢J^©ª-°***ÈAMHL)OvÓ‰*± ¨´½ÝRÞSe‰•©ºFpѦófÞ_û·! ç,p¸-!®,†gðaˆþ÷¹éÛQš^A}P]~6Ö%(/¸J™A˜TTÑEŽ.vMED6ôòs²‡UI ubª>U{m•Yˆ)%Z& 8³îžÿA½çlšû‚ß²=Z¸½Œ¬K1(Êþ -íK`mTW<1ŠÅà,“±W¥¢êT£Uµ±µµm²Bªö9$¬SMXPYúÐEeJ Î>ÓÀ³vƽ³ë ‘T¾°—Û |ûWìªJ€ßÂ2ÃBîvõ=·Á_8+“¡¼ü©Úu’•••õžWUU…ª*‘Ú}ööæõ.56|LŠ`{.!e‚ª(?GïEäæòCÉULÉqðžµ#]›ñâÂ&©@eIš»Õüÿy¹5š9FÍÖªT,V§h‚1="‘‘ý E‹:Ý”õ0¸ÎÛÒªE5+ùÊ_FHQŒ–›„•¶Á²„;¬š7ÇrôUæ¬R©R©2 ƒ 2™ ÖŽQðèþD"18\ò®O‚ ?öÎ@Åÿ€²R>üºN¥Ì Œ›Ožäé|Þý´trA_Pé_l0ŸÇ„úŠ*sSb±©2©‰R©¬F\ɤ5X¢¢RŒòÌ•@õUxøWAT äfØÁ­ý:XY;Õ>ƒ«T´vŠîRkOdV´” ´Aߤl‚Ê/8êD•¾/ö4¥0•H$H$5¢J"…X"†T"D"¯VÕô‰#{ŽÿåB`°OK'YÍàì· ÍÝ¢!“É,îgo XoÓàr¹puq°¨Èà¶<=þÐÀ`¼÷þ†:oN6Æb:å>Öþ³ô€3‡>hò«.ãiÌ…”¦Šs}(/Š„ï"¤GÜ=}Ñ.¨3âÞ˜‚³çΛÔw.îôŽz¹Î7ne2"ú¼Ô`±ÖÐþ©Û~0aÒTdeç4X<›ÂgêÆ»±WÓÒÒñÆäéðê‚6^~0h(ŽÿYí˜ê ¦×DKÇ>!¨Sªþþát9&©þNmUU‚:³æcn}‰_”Ÿƒ[)‰è³æűEù9æeãÎdlÝò!**+ÑïåAÈÎ1îWéåý“\íÿìúØ\ýjª8ו)ÓgA,®Æ‘Ã?àqv:._8ƒÑ#‡ãÃÍ›Ü[;[üvò•m¿žøvÍíš´ä±#ÌËÆ• gˆISf˜m>šSLY f zäXôë…+—Î"óá=ükÃû8|ä˜Qãª!®‰Í§®..ëÑ'Nü®ØVRZŠ¿DQq±bÛO¿œ@XX(\]\Œ'¨äØÛ·ÄÜ93‘šz_EÑ-\¼>þàãߋ◡ªªÊ #ìììеKglx âÆÇbÃÆMjjuµ+V½‡ÀÝàØ ŸìøB±O"‘`íºê ϶˜:}6ž={¦×]ÂŽÏ¿D—p¸¶ödfeãŸ&ÃÛ¯=<í0öõ  …/|"aî‚Åðò DûÎ!ØöÉg*m²e›>}ùj÷‡F µ—/úŒ›·n3¶Ûc]û9´&û”ýãÔŸˆì;­½|={÷©´«©mèç†Æ„&Ο¿€Õ+ÐÖ[W y Ç~<À¸Ïµý¼uûu —O æ-Œ¯sçVóçÌÂÖm;T¶}¼íS,˜;›Q¬””–"°C7”––©_RZŠ N!(--Ó9?ÌÉ?®®®x+~Rï¥jœG”?S[|TVVbö¼EŠý[·ïP9ß>ÓÔ¦ü³•+Îê¶ÕF›.îìúzº‡õF/?Dö€K—±oÿ„EôUŒÝ»÷tj³¾±gb³œ6mÆ‚y³1yÒ8;9ocƒÐî!øzççuâH]»ÃbFÕ rsѱk(ÊËŸê}M¬¯ÿlçš¶9PŸ¼1¥OÇÇŽÅ÷?RüÿJb¤R)“ÛöíÿãcÇ2šÓ TååO±mûtîÜI±m݆!/?I—Î!ñâ9<ÊÍÅz¥Á6” q¯ãôÙsõƽÔTœ>u×/âñã'Š}ÿþx;R®ßÀŸüŠÔÛ×Ð̶Ö¬]¯— ÉÉ×ðç¿B˜—]30q“0sÆÜ¿“‚{·Sàß®V¬zOqü†›PTTŒ”¤ 8÷çIœ;ÿ—J{lÚ¦+ýu¿þô#Þ¿¡¯Æ¢øeŒí6öXk³O™ÙsbùÒxd=LÅOÇ")éª^í°ç†Æ„&ÂÃð(~“’QYYi°ïàâ¥ËøëÌI¤$]@a¡?ø‘-¯ {…B!®$&Õ|æ…‹(.)Á°¡CÅŠ“£#¢_ŠÝ{öª¿û›½=r8tÎsòüñÂæ-ÛУGwóˆ2ÚâcýÆM(//GJòEœ?ó._N4hNaâ3MmÖ®æ×·M—6åœ9{ÇÄôÛ=j8ÆŸˆ“§þ‹#‡ö##íb¢‡ªŒ“6ë{&6+ì:w#b¢W–j·»xá|lúðßJ¥Šã6}¸3¦M½}K½¯‰õõŸí\c2ÿëš7¦ôéÀW åÆ …(ºr% /õï‹ËWjréÉ“<ܾs_ÀhNgtƒUû=TµU»»»Nü|Þ/@§n=püÇðóó ïÝOÑ®¾¶1µ¹¾}.ބ“££ÂnÿŽÈÏÍ`d·¶±fR…ªºØ§|lמ˜?w^2mê|ž¦v˜Ø¨kœš(++ÇÖíŸâÄo'‘‘™…V®®úê`,]²ŽŽ:ûÎÅ]€¤Kç¶<|˜˜QãpóÚFq¶{Ï^ü~òö~³ cbãðÚ°W11n¼ÊghòWZZ:F‹Cò•ó°²²‚X,FX¯(?z^žž:çGCûG]|;::àçc‡Ñ>(°ÞyDù3µÅGçà0ütô|ÚÖT·222Ñ£W”Þs ŸikSݼ£m“6ÓîÝ€³““bœ¼|ëlS;&m2{M¸{ú"7+ VVVŒæbuí¾2hfΘŠÑ#‡+âêÊ…3°µµÕûš¨©ÿ†æÓœÖw^1µOV¼ oo/Ìœ>ÃbFaõʬ^³¿?Œ-oGA¡ëß—ÑœÎDÛp5=ÇMº|þíüpóæ-žÂB!Úþäж­7 …`‹ü‚|8;;«ß—_ òÙÊ<ÉËCÏÈþŠò`ûÎ! õ[hV[L]ILÂÐè‘øÁÅ]/Ÿ@•ç°…ðö¨øÄX¶5¿×'‘HÔ–×¹\Õ!•O*@ÍÑŠÅbÆv2ÖL×Pi²Oå.ë«/ðçé³è÷ò „†GâÄï'õj‡­874&4áà`•ï,Ç_gO!7+ ¿ÿÏŸ?Çäi³ôî³²-ÞÞ2¶'vÜ\K¹ŽC?Åí;w1nìè:ÇhòW@€?Ú·ÄñŸû鄇õ€—§§^ùaþQŽí©·0súT,OX¥qQF[|Bà婸¿ào¡¯ïœÂÄglÏSLÛ” 'ù8©Û¦¨3799¢¨¨Ø þÇ/šMmD"ÁÆ}„ùsf©½ðërMÔÔ6sÉü¯kÞ˜Ú§¯ÇŽÁþïBT]ÒÒ2„õEII ªD"ìûá ^ÃxN7葇ïO[|öÉV,Y– xÎÚª•+²•¾Í’•• WWvtÀžo÷¡_ß(õêÖÝ YYÙê÷¹¹áVJ¢ÊD§®Ô®“§ÍÂÔ)oâöõ$󲑙~Wå›Onn­T|’]ëÛ>lÛæéá»Jë5äܾs^žŒÛÑf·±ÇZB‚»aïž]¸÷:6®_«Ó#=%Z=ãÜИО€lX·/^Ò»ŸÊŸŸ“ó­Z¹2>—ocƒéS'cöÜ…˜1m ø66uŽÑ毙ӧâó/v>ÿb'æÌžÁJ~˜ƒ0ÞlÅcQ¶r/çQ®ŠMlÍ)õùÌs¨¥´©Ž~Q}pôØOµ1xÐ@ØX[cíºHLJÆoÄ|MÔÖ¶rÉü¯kÞ˜Ú§]þ^Ʊoÿí Áv~f|¾b?“9Ý A%Çã zõ ÇÁÃG#b¢‘°ò]…B…B¼½b5F6ÈA¸qóV¼‹o¿Û·—-Q§~Œ5ïo¨³FG¶á•k0zäpÎ_8òs3°`žú¸Õ毗ú÷ÅÓ§OñŸ_£yóæèÚ¥³Þùanþ)/ŠO>ý?Fa#÷FÆÊÕ¸EÅÅuÖrÃgÚÚtp°Gzúƒ:•¯ÚÛŒ9÷±Ñ¦6›å,{k1¶lû»÷ìEIi)ªD"\½–Rï·9ÕµËáp°xÑ|lûä3Ä/^†?T¯éš¨­ÿlå“ù_×¼iŸÆŽ÷×}€ÈÈ@ŸÞø`Óf•ê“9AãÆc÷žïj˜°­Z¹"´gB{F¡ukw¼óöR½CþΠN!˜· |¾ Μ:¡XÇR›¥K#0 }_úº‡÷†—׋jÌ‚ysÐ+< #FÅÂË'ÓgÎÅÐZ gõeë–±bÕ|3b,z†‡©ìOXþЭ{/DöˆÈÞ*ûÙ¶mÁ¼Ùx}ì,Š_ßvàÛ®/Yޏñ±˜7g&ãv´ÙÍæXÊ!ƒ0ñÍiøbÍÚõøìÓ­¬†.qnhLhâ­ø…8|äzõé6‚v6ÚÔf³??_9ô=Ný÷4BÃ#áã×K—¯¨÷¦²¾vy\.üü|«æQ¹>×D&ýg#ט䴮yÓ>=jž>{Š>çXïÞ‰ª0zԮ󌪿ôãÈѸaº—üc¾¤¥¥cÜø‰¸šxÌÂøçÄÉ9"£FÄPÞ4rŸÒ#A˜!ï¬\ƒÒÒ2bå»kñêÁä B*•â›o¿CFF&FļFi>µ¢!"‚0?¼½½Ñ•UU2h Þ^ON± Zµi ov~¹£Î·¯‰ÆéSzäGAa $› ‚ ‚ äÿ*³ - N éIEND®B`‚pioneers-15.5/client/help/C/images/gold.png0000644000175000017500000000447610654174432015522 00000000000000‰PNG  IHDR"Hˆit pHYsÄÄ•+tIME×4}tEXtCommentCreated with The GIMPïd%n´IDATXõ—Ù\GƧªîíÛËôÌ´gŸñǘÇ@bÀ„$„Ø%âßàà^ï<@@b (@Â’lbcìàxì±gsÏL÷Lo÷Þª:"ßì1òÐtØÈˆUGPð^)GÑGU±‰¥Z͘HOr|åiú³ò?…¯_ù®o½@¯¸B=F›=v/ÝcûÙ Ú›#Ê`(U¨ÙH¡L#§ˆÄù ?¸Q§û$VI놴ªLÍ6øä?ÏÙ³ŸcåmïùÏÀÞ·nëÕw>ÃîêŸ nŸ|˜s÷Ù~uŸ,¹ÎJV‡]˵økÜ`c‹•°Aw6§Úˆ<ñD†$Ðé^}=°»gÙ†2Wb Vèì(‡­åv?°abk‰JAñX§çêüóv «T{J}ÆâT®YÜDb?Œ0Tfk#&šJeÅðø)e°'tî”ø‘âK!”‚/ «ÂéŠÅežå‡S¶Ûð«F¤ŒøÒ²WKÙ¼÷Ñ'O;~þ³}Z¡`ªNš%¸æÆ³L‹G&…Út;†F-`ŒR”Êä|àÄC·« ºŠ 4&ë”Þȼ’™’l.ca*Áxæ¥\YÏÉs˨_põÒ€¥ù”܈âˈ››íRÅSUG‘iÄ8CÕ)ÍÚx:­ ÌÍ‚NGߦЖPiR!*aÎÒrZc–Ùú€Õ[CZSŽƒÀúkŠ×‚¤ftJƒ[­~„õ_dpy‡‰C†É*Ì/õLˆ°6¼á­‚ H¦àAÐh~¼Bè)•IJvéíVJ­J(F䅌Ю֣¹”ñÎÇÁ Γ½ÉôÎØïÂ`+²š e°ìû„Á0?8<YœRæ'T­'_¨du!R© []ÙÛCà„‘6pASŒ“OÏðä“âú[»<ä¶ðר܃Ã3®©dÊ øÕ%åÛÏ¥±|ó33ônÜåòÕ@R *–Jšâ+pGú·Ô5RZP”"Ê øÒRÅg “³Œ5¸xã2­™]îL1Ò:kÑRVR’½@º±ÊBIJøÀ{æyxñ.ÃÉ IoDÚRâ02)ƒ¡Ðù»°qÓã aà ÊÐ8°B5Fêbð U¦ç« ƒbæ^Â&Ų̂'{LÐe¢¿‡=èrä¸g¹%ÌV”¯<),̦túM8|”v<Á°¾D·[§(ÇŽg”Á²k1a¨ ¹rN=Aœà̧™heD)p2Ug}-%“6!z¦D(û–²Ñæfà±£pîè±Ýgi9£#*YJè)ÛKÓŠÞl2£·›EQ”jôôÕ©Ÿ_âìÇiJq .(níí_æîþKôïîPÚ!ƒ’zÞ£5ÐÜ·j>ñDÙ¾‡!=ØcªéÈ!v†–¹´$Í‚5oà"`ã#Î’ gcQ,6T©¥ï`iî ŽŸzJþ'Þ^}ù]Ûù-² ” ‘1£DõaŒ+bó5çp!’´B-_aqîI:û)yS@ñÏßÕµ_Ò×b”Ôøñ¿aP €`cDœÃiDM‚A°aùÉsœ~ÿWä¾#Ì­kôîÝçÙþ Iö€ñjD,`°("\œ¦•byé)–Nœ‘ÿKh»yå½µñ,»å«DÇÃcR­3>‘åó¬œ<+oIL½ü—ë{ WQZîAŽ-~ˆã§ÎË[šÿ]xá;šZÃãç¾z_Áü_öÑ„&þrî-IEND®B`‚pioneers-15.5/client/help/C/images/desert.png0000644000175000017500000000354710654174432016061 00000000000000‰PNG  IHDR"Hˆit pHYsÄÄ•+tIME×4!£Â>$tEXtCommentCreated with The GIMPïd%nÝIDATXõ—ÛeEÆ_íª³Ï¥»™žšAíd€€¢ j$šQƒ1ÆHˆ$|0ÞxTÿÿc|ðoú@Œ1&¨!¢F0F4 qt$H2`OèžsÝ—ªåCÕÀt 줒œ}ê[k}ßúj•ŒžË}š»_´Å—îg4 øÏÿë‰.w].ðÅ?}Ǫåom4` ÖiÆ·1¾þ½.À‡ç´êƒԓC*¿[ó Dû+i6>ÂÆµÕk|¸÷[MBñ¯T€- v` P^–P‡ôºžÕæíl:£ÿ xñ=Óû¾GÍY¨Xƒè€„¥°B H=X V˜ô5]x/ñ‘{á¤þgàùß¾iuó0®n“)‚„ÅCèΣ†5Tp#Ðs¨°Õ„fðÆ7}N¯ <}â‡V/~†‚Z¬”R`ùâÖ>‡P !LÀÁ 1<˜å HÐAZ i6ogrÝzðŧµÑü§Túª: bfL™Ñ™çh5)À†pà"¦žu¾¨`9X8D @EZ,‰í.«íO²uòÒò/_µÀ9ä÷ÁzúÔáUñürÎw÷gé_¼îV&•giï‘Eг„Ô¹µÖÁYjr…Ì<¢Æ´îØ2к÷ æÏ_6öçVøÑ³{Ü·{â’#aÈOÎÿ—†\ð‘½ö"÷ž¸š'Ç€D ÊËêòÞƒ&ËߘÏqÇ \Iº¸‰73 eÖòǃó\íßzúqÎí¯ ÄÆ(pöãMÇ—|öm'yr~ÀéÑ6AƒRêæ„ÌP5¦ ˆ*‹SUÀ ¨ðÎÖóµ'Î2í…ÍÄþB|ì-'x²Y2aÄÝoõüø|Ãó/6¼ãè*Âp¹¤RZ” h÷™ŠØBêñ¸Ä/öŸ¡YŒùÐÉ¿|vŸ3Õÿš÷¼™«Ù:bܺã9Û²H‘m7*Ú€K»,¨DÂÌDî‡,°œ u¸y×p°ºÈ}×ḋ CÇÍ;žY»`~0å–«FÔqÀ™+NP» ÅJ¤±ë‘E,3£‚À*À—òC¦[˜(ákà®|Z2UÏ‘Ú8½íùý¬& j6‚s¼k|”f¨"–./B™GøìlT¥×-˜2² ÈDjçxUÛb‚Aà–«&LÔ°ÙŽN*p-fY`¸ö5!D òDÅ=TåO%РôwÈ"“ðY `$FÝqŽ·»<:m8}|À±ºbÙ· «ˆlÌúÜBΕú Öª½´² Ö™gƒQ1!ú5ð˜E4’&L4àÚñQ–É3,è¬ÆÛ”àzD›3Äa*º:g$‡Èë%—¿g Cƒ üÚëÊ1ñ 6CÂRWœž r*Y©ueƒUªõæ>¿›0[ŠÃ$¤.¢`%c¾”ÒÓ€ÏNc h›AÓ*“ì†Ð—½%äÖ›P+Yª*ê®.h8Ä/Zˆ³¢ÒUæ/}PxL]ŠYɪʲcTÃÒ£ëL)B…œ›+\§“Ç#‡…À>Š+,Ę;$õ¹9%0WJ¥"®Y}æƒKj•B•ru\ ò‘©çÀNá¡Cn„¹ãØpºCh¨írf  ù*ö~Þ~AÉe—2C¶îóJ*¤K05È%ÌÀ[;ƒjnÃàŒvQZ@¿Ê΄+ýGÎòhKH)Äù\…äÁ|¡ä¥™,0 ¹ü¸€'µ Š‹Û$·MjÌ÷È–˜µù˜K%Ôæñ'•ËË,ÓB5ùwtITrÙ¿ñ› !˜ðÑ¿Ÿ^@±ƒnŽ1"êÎ);Ó,$k@=ÐSˆ˜=›¾´ÀìÒä†Aå²NçKZÝ\FŸ§±ÑÁ8÷tÄúlp N=Ø gSdKˆ ¤YÞÖ!kŠÂHyÔÍõ÷à|>™ÂtŽØî²œ|‚­SgôÃÞl¸ø>ÕðYîBØ-ÇØ Ò lŽÒÓ Ó‘9ï2 )aJÈyLW€Þ@\¥©ï`ãôÇõªãíâÜ×­¶‡ÑxœyA—Ðï]ðÖÜ[ŸG¾´Y 0¢Ÿž Ödtão_þ´÷¼hö•oFÿÌ#\šB:µ8)«rëàŠ3UÀV‰.½›ø«».o Å%mïw6ìÁ‡UV03°0‰O|ö妣_£Ùºƒ­kÞ¯×äÒ6Ûû¹ ã¨Â,s,ËÙZ‚vI\ô¬êÛØ¼þN½.×ÔÅ“XÍc¸Êc–°¦£áFÆ7|J¯ëý ê¬yè~œ‰ðáOãž —}1ÿ7?c}ÅÛIEND®B`‚pioneers-15.5/client/help/C/images/develop-cards.png0000644000175000017500000001202110416170552017301 00000000000000‰PNG  IHDRä¤zÔ„ pHYsxa+S•¹tIMEÖ ¶g\Ò°IDATxÚíÝwxÕÆáßfÓI±Ü‹!… J¤½ÒTš =„&•"½'HTDŠ€¢€z•®(M@-@$„"pQ‘^RwçþYRH ßû<~Õ9’`ɶŽ,–NÆ‹5«âããO…øÑ2,FÆ.ÖÎo¦Ò¬A|KúS¡VSFÎYŸiW,bá$Õ©†¯_yj4lÇœuq,×—ºU‚ð)YžZ;±xß¹=÷ ǰø#^­Wß’TiІùÛÏØ\sÚ%ümD7V¹D¥Á_зe º9avvÃ7°C?ùΦìáÅ(á] /ÊV~Îý§p<Ñ’a›?§AÕ ¼}ýÓÖý2;Œ—kU½v¼¯óá7»3Ëém_Óñµ†” ÀÇ?ˆW:ôeÑÆ8%ê~!Cúpä»Ý¢ý3ºÐsü—$W›ˆÈ>lÿ_NìM‡Y1;åýºÏ`X“ýí±´mŽ}F‚Õà_õFSÌÙœmYÙ÷IGÞž²—ÆÃÙ½oaM]YôQÚLÍØí{ç{&/ZAäÖU—Žg^xBæg|ጌ)¼ëX;?˜ÿÅì`LHcƱä—_ùéó®œ8°•çè¹ßlȾgølé/¬ú,˜¿Žì&¼ûÀ ÝÔC1Q·ì¶NZy€þ¯»åùÚr°2 W®côvŒjÀúïfÐæÍUÊ…õbášMÄØ“Ú3ú¢!cp¥T;Öü¶•µ‹&àðK¿ Û…t gãÞ#ôœº„½;Ö2î­ÿp`a%ê2Ýü‹Yi k^¾˜ìˆ=úŽÙºB9¶]LbþŽ]¹;bIþŸRupò¨LÔöÙÄŸþÿjƒp.Ј½›ÃS_LU+ðíß LØ´&O8ß²ŽÌŽéõÀrD\Jâ»Ý‘”qµ'åj¾e[àèHôŽy6ÛÌݾ‹jŽ$]ÜŒ_….8å­BTÄL›r+"÷àíbư\«dK##)éb†߬Ø{pOŽž{úº—EFâëb£ Mæ´zng éë[š«ÁÁƒQ˜ok,o¡„·?fçÂܳÒf¿+#÷àåbN+Ù¡by~½˜i»¥?Ϊ¥ý9mqeÞ× ñ/YW cîéòfÉ—#pp½Ñ­Úy9€7ËÙ”Mº´—‚MèYl,þ¯O¥1+øæt<ùJ¼I“'œsTGfv]IÝÆÏ%õðí]|RñÊž e+»;¦ýìè^!˺½¯½(Mf÷´e%¯ÕÉŒÅ0KŽŸ»M®Õc²K}Άa¹£“UÊÅžÈ+ÉDǧPÆ5ëSwzûMXÀÎǸŸ„a¤¾çZg(›>Œ[/%eÙnéMíÝàIËx£YCLvŽ.H»wÇоÚSJÕýè²nŸ9€¢MßN[VÑ-õ¤ý™Öå:•öîÐ&¬³'G±oÊ^kq[uܬŒ«Ññ)ׯ¥©ÝD‡<þÊ^¥Kf/°Ûu'ÇýO½ÝàߌûþX¶å:æ—1„Nÿ†èý{‰Ù¿ùÚÁ­K²Òµ fÖné• cëî ,[2ñï5çXÔÂ{vU¢îe ­)‰ü/n/Ÿ…÷¢ãŒ<]¹5 –O[?¸g¥ÔqÚ¨Eüu%™äø ìݲ’ÁÁMÒÊ,7ˆJŽü¾<Œ‘ËNà”· C ÜV7{¯Eq†M[GBJk§ tûŒcÁæròb"I—N1{ЈÔîÖ[ýÿqÃÝÉqg¦Sêj×ÙÄ[–}~Ä4êug먶LZü+g®&cI¼ÂÁkÕãÕÔkÁs÷ȃå2Ë'÷ÊùóêUÙ¦Ý/böÀáÊ5 Ï–˜ -Už5R·±3»)Q÷ªËêåS³£3yóyòìs¾„Žþ„.ÍjØ|éÓñSæ8NâßQ«B8&ç|” ¬BËöé>390âM?^ ÛÍ~ â°Øßn7)ßï †C™óÍ`üg\Á½`šõ ct¯Òo„ÔNäÍ×ê}ünO£í{Ÿ0¬m‰Üpwrܙ߽½f®¡yPù[Ž%ÍN…™ºb‹§}Ê’ÏG1gø)¬àž¯ Å}o<÷9ÓúÒkÄ,ú7­ËÈ‚Ey­Û cŽŽÇ«Ý4f$a¼¹Ô©ô1ù ùÒ²ë8ø±M¹qM 1yLozî#gŠT'x`˜u·oêä·û»È#5†RDcÈÜ@]UÑRDHRDHRDî û ëÖ¨D5j½ú±G§Pµ†Èdq±Ñ7>‡ÌÉ7Däî‹‹ÖRäa¤@Š("¢@Š("òÐÒd2ý£õ" ä¢pŠ™ KÂÂ{µÂ¯ÈS8Ù›qó,D×BX°6枌> 2£«UfµC5mØËåÄdNÅnfÐëåY1¢¡ZNä~rüî3,׃ÒEžÄÁl‡{ÂÔmÖën\!”sŒ ~‰§=œqöxšÿ„Œå‚%ó+a¹À¨öuñtuÄí‰btõCÖ]V#‰YýZñ\Aw\òQ½y?N&YlÊ. Áç_ù1ÛéÞ”<ì]Æ“—BF²zË^Î¥ûƒ9é­íUiÇùõÈYÎÞH@ÜGT ]ŸiÙïTgÆŸU‰8q¿þD¡M=³ÜwİZ ß]”¥{NrõL m ¬¢V‡6eÞ‰òfõ¾“X¬VIÉfϘb¤ß2J‰3&ìjTñ÷2ò:ÛžÏú­Cß7ǧ¤•©àîhüp&>íqüßߎîÓ§¯»²‡“±4}Ù3KmÖ§ÿ¹f^Û²ÉWyJÙ”¸”dˆ<êÅD¥ýoš=cŠÑ)$47T¬œ8Á‚B™QŸ¿vŽÀÑÎŽK+N×{›Öìì=°Z“Òº–×ëά¬Éì’¶Þ¦¬ÙŽd«‘¡Kk½v5L_VäQMq/?âb£oçc; ùV¦ïÔåü½gBÚÒ7ÖœKH{œpþGÜÊfZCywÇ›ÊþœåÞ*º9²ùb"†a¤ý³ªk*óÒ§Vk>]¼†c§/b1,œ?Ëœa­ÉW¢[Z™±­ŠÓ½íû>—@üÙ8F·êW›±™Ö÷~;oº·}Ÿ#çH8w˜±m»g¹ïÉïT¤EË¡ì<ò7k'ömd`ëJ:còøréð†ìør4U¼ŸÁÁÞ™â/ñ݉~þíFàj²‘ÎOn"¨p>òyžˆBÝØðQíLë«ñÁ:{®§Ü¿Üy«.¿Wù8ë+äеL¨zžvµ|qqt§Êëƒñhü‰Î˜äj·1†‘‡h )"´Ë*" ¤ˆ)" ¤ˆ(" ¤ˆ(" ¤ˆ(" ¤ˆ(" ¤ˆ<ìÔ|ª"8 ¡È}dv¡Ó÷'E4†Q srõüïˆö-à†£«'/´e3Yrf“_<¾n/WÂ3fÇ<ÔmÏŽ‹IYn3 ¤'~:a³Ï¤‹yÂ×c‰IÑ2½^›ŸeMÌ_œ?¾Ê§¦Sã6ëožÔø¹zC¨;`¿Ÿ»Jâ…ßét”&M¿Êr›wvçë7Þ&%]Oyy׎”ºˆ"NfIɲ›(9«å7¯nšù{ÃÉ#è¶&5¶$6\}²Ý¦G1£Ãªã×ö±ÜÈëQÞø3É¢™v%×L”|×®õò;§ý윯>I—wج¯àæ`óøôÖ¹4©V†üyœ0™L˜ ’›í6Ct`Q»P’ XÜ®;•ÇÉ“‹º¬üd3òݳ-ߨ~7‚úÌ$öóX¬)‰'0Œì'B~êùhæð#­æŒ§û¦¢,îì­3( dfz¼Îá³ $œ=LX›îx·›mù‹)V\ÝÜɛljK§¢\?G‡öy3¾íܧÏÁìÏBå1 ¤ÉdÊð/3£¶WÜ ²©`6Lª‘m½+Žà‹Ú¸Ø;R<¨%”Ÿœ£¶w3py¢!ó›=§³'¹Ž}v+³ûð?ýºë?7:7Çõi<€íØ,›Ò۸徿zg5-¿Ø†³†Žò¸òábe×ü® :Rƒó žÕ™òA2™Ì¸=S†Þ€½†Ž¢@>XúÝYyh$&¢@Šˆ)¢@Šˆ)¢@Šˆ)¢@Šˆ)¢@ŠH®¤ævÑRäÑ ¤Éd"ÏS-È8±†•Oåy W8]]å±¼B¶wYMè–?m–ý±ù-V»´Wë‰Üï@™×Š/ÚÚÎ3¶í|ZÍb³ìv'>¾ÙÙ= )çéN𔵩 Œ$fõkÅsÝqpÉGõæý8™d±¹:f7¥ˆH® ä3Õ§RëÂtÆ8À¹c˜q±6S«?cSîv'>N/ni8¥«¼KóÏw3+´6Ãj1|wQ–î9ÉÕ31´)°ŠZV¤fõÚw# ÃÐ÷$%wÉÉDɇ55ž g†aŒ+_Ðhºøð-'RÎÉÄÇ€±vJ°á–¿¬ñeä›u5ó:ÙL¾œ|õ€á§TŽ&qyT'JÎÑŒE_G±à'ù8Â…!‡Šsú•¢ÊœÞ:—àw'²aW ç¯&]ëRÚ^€ožø`ð¨”y{9¯û{Ú,ß|)‰F\t#GÔeÍpGÓìÎìÑ•è]½7•Ç|†{&ó¡ÞÉÄÇ?E¯Æqj#ÚLZo³¼¢›#›/&¦uK ÃÀ𮫫pÊcH¿^ëIIHaý›~™®¿³‰Á¥`uVG¯á¯‰/Óâý5iË'¿S‘-‡²óÈßX¬IœØ·‘­+¥­/îlæ§“—uåñ ä­ÜéÄÇNžA,‹ZÇ婯ðÊè•©WÈ¡k™Põ<íjùââèN•×ãÑø“´mfõiÌëÞžºRJ®bš=cŠÑ)$Tw+E¸ØhŠ{ù­_É•]VQ EHQ EHQ EHQ EDQ EDQ EDQ EDQ EDQ EDQ EDRDRDRD‘»!í¶ÆÅF«5D†@ê/_‰<L‡b¢”F!EDQ EDyÄØ« ²VÜËOp™L&ÅD©!È;§ÏgïŽ ëÖ¨ÔeQ EDQ EDQ å.(á]JÏAH‘G>‡¼‡WGWOü«¾Èˆñýñq½÷M}å÷Í„…OcÍÖ(Î'Ùñ¬w9Z÷¦ËtEÓò1v(&ŠC1QìX»ù"èÐiÑ=ßgÂÙ4nÒŸüµƒYº~ Ñ»~eƈü½z¸Nˆ).ù Ñn臜Ý3-Óõ—OíeH—–”ÅÛ/†í²ïr2^|ž÷6ýiS>ùò*”kÈÉ$K†º~ì=Œg|NŸ5yÒÝ ³ƒ3Ï•©Ê€)‹s´¿ëW÷_¦£^Õ ¼}J`X.ñq¿NúP¦R}úO]««@>꬙.­ÕáCªtÃÆí;Ø¿ógBÊž¤ktþ ËûŒÅ’îëãk‡ ¢Ä›“ø·£9C]ŸFž¡oÃÂÙEvû».,¶(sV¬#æà>¶‡·ã«3åønãV¶ý8‹§wŽÒéT MñçO2ä[ä/Õ-ÓõÛWÏä¥À¸:˜1;ç£á[“99€ü%CyÕe3M½J&^Ø@ÿõîLm_"Óºâ,øÞbœšÝþ®û`d[ åuN{<öÛ£ŒœBá¼Î¸ä+LIÃtbuSçѼ±ãà’2U_döœV™–;ù_„Ï%bÿQ.ƧvM¦&6¥v0ÆlžÂʾ# è?“ö™¿‡w6sðj ~Ù„òVû(sÓöQW’©æá”öØÉ=H'X|ônêäD—Ž#¨7n.cŸ÷!¯«3FÊŸø”ª“¶þ‰rýyѾ2¡ßÌfÃγeZÑ,ëêP€qË3·y±;Þ_fJåq`ÓÅDjçM eâ¥ßt‚ÕeÍ.[¬8»æÁÝÅ‘+§1sP— §§Ï¸ú¬8‘š#Çàf6eYWý†q4¬,ÙÈéËIXS8²o3c{·¸ýeÔ¿iQ†öùŒI¼p‚é}FêÄ)¹ÓìIoòßÁ)U²,µ›¿Ëi¿÷2”1»8ç¯ÉÄ e[—sš,ýn4­ù”—«WÆ×¿*Í$ß Ãnk7«8hÍóEШZE*ÔëÄÿÊÖ‰»‡4 d6Š{ù=ð/(ÏmU“ý=¾æýO?Òm¹aÝ:…„jÆ!UV¢¿ÁÄãØ]ýi5‡)R ï2¸ôfè¼yd3tRîuíOº©#¢@Šˆ)¢1ä£Mó‰Šù0™t{Sȇ†îtŠÆ"±ÿ?‘^&òIEND®B`‚pioneers-15.5/client/help/C/images/identity.png0000644000175000017500000000123010654174432016407 00000000000000‰PNG  IHDRâ'%ëdâ“PLTE  #-.6 9"=#>$@%A *J *K 1W 5] 6_ Ì$Â×\ÀLÑ+&6DØ¿,2D—·Å…—µšçÿkմ˦0Dl<Ò1·Æ„yS"ÜL'"D8k<ˆp-²añQÚ Wô|e ¶«V òEo‡ uK|ꞈv³% ‡MîБÄ#B7?p6㋟žfÝ˧ÚËVUbŒøº³ø§LÞÞoŽëó/Úœ„D¼¾…»ÙèW{,"'¡ú\|B@Ñ(õw:DRBõy~¯|g‘F ~UÓzDZB ÎúßÊs/rˆÖea9>ÑÍ")!z?œ+Qˆj•é÷bf…XS#›C.¾žGg,"'1?/7€XŒóÃQ§wõÂ"rKÄ@vî0ˆà_7aŠFBl¢q]Ô߬X_¾`'ˆéf*îHˆ 1ŠøC~É“I¶¡éIEND®B`‚pioneers-15.5/client/help/C/images/pasture.png0000644000175000017500000000407510654174432016253 00000000000000‰PNG  IHDR"Hˆit pHYsÄÄ•+tIME×3 78a5tEXtCommentCreated with The GIMPïd%n³IDATXõ—KŒ\W†¿:çÜÛ=÷¼Çc{ÆvìØÄNB,ˆ"”°V6‘ˆ¢ ™±‚‚Á‚MX‘•5aÁcÃ"¡€í<œ0vã'óèžñ¸§§»ïãœbqï̉ÈÙÜ͹õWÕ_õ×)QrÞë ³™¾òÌ·¨Ø ÇNýPxGÞ+ðÜÅŸèêõ³´ôMD<Ñ­ÌŒœaⶇå^¹ü;}{å –ÒPÉ1ˆä Š¥Âtô1öM~“‘[>+ÿàõù¿hcå, [$3-ÀÓÜê£gÔª=B‚BJÌ Gj§ŸøõÙ{å}w¿½¢Ï?É|ëZÚñ " *•(¥çh4@TaØLqxøËLŸùѳò?¯¼ôc]X?GSæÉ¼¢(˜€"F AQ)@(ÁPȽåêò4ݤJ­ºÅû‡øÐÄöÞöˆ¼+ðê«Ïèbã,«þ<Þ¤xoȳijÕãàë$ò ÝìElä A@Õ€ ,­Ö¹üÆ’®%K<÷⵪çpõM>Fýè;8€õ7ÿ¤+ïœe¥y‘Ä&ª U&û娾/‘v6±Î÷Ò\¿Êå¥_ÓLu9Š%¨76ûÙhVØlx†'-bRºyàRûϼٹÀ‰¿žÖ‰‰‡9tŸÈâ…Çu¹÷4=·Š×”,#É#PËÁ¾ŸS¯ŽJǸJïs¬u<÷ڬɯ£x¯¬/ϰµ¥Lí_&®la XSБåöŒpרCØG¾b¾·Yy%Ap8§8«XÛæzS¨ô¦I:-ËKTb‡z«ÄŒÝÉ[ëÏ‘ê2>€âÉ“!H©lRØ@°ˆ€ð!"„ˆnh¥]œ‰úÖJŽˆÇHñžMû[®}˜VÚáÚÒUêsÜyò$¤=Ægq÷‘ïóìëŸCðˆ(Î&˜Zƒ¸¯F#àlVÜ#¹*ÉPõEN$`-ÔGäÝ.ÕÚ¸ýŽëóŸæâü«t¸o°Îâµ9¬+@AÑJ÷ã1œʈ“4fmc”¤33áD,„C@€8§¤Õ·!(‘K©6 D¸°rYÒx€¾jÅãE1P¯e ƒ¦Ì¿5E«=Êõ5Ëâ…'¡‹×kúPÍQíʾˆÇžÄØØrl¹KÔëmj²|Ž$b/ä¹!`U<‚1Š˜<¤€°qcK‹²Nàà¾~\’­C¡$x킊 íHaš &@Õ¤d‰`ÁـĊñJ¤ÜCŠT )PÇOÎ1ZŸÅ‡S!Æ;ˆ“‡Mò  ;ÁÇ@¥¢Ä• yQÁA@@B¡^ UÅ«N¬Ê £SM|œP\Õ ‡ë(~ÛãÓ0€%T ÃRàc á*î)…,H‰\ +Š1 †çœ†„žWn´ûi® ‘ÒéVj19¾‰3`¥GÝÑhÊRP5JÍ%äkCÑRFPcŠL„ÑΈ°Ù±<ÿ·C4VbBjÉÓœ³ÔïßD`³ýúØžF»õ‡nrF±}q¶sÇ@zÄ"Eå;åF×ÒXì§Õ ÔÇ@CD}¨Kæ Ji¥ü*»é•’Klq_(øßSxUˆŠ‚Z\Ò^z᳇N$Ô†7°j©7 ËZ¤VKN}(Œ‡PX5%°š¢èÔ”^™Ò‰ÒQ)iVÛU\H<×—aø®.#Ó "ˆœÙABÈÀ¦„‚(A ‹ë5¦÷´h÷""çˆýNÄêÎl6€ˆìHæ¶"Š1).ñ]f÷ÂH-!ŽÎ"ãPõ¼³6Êôðý±àœGPfFZQFÓ"Ý%·ÆìR±m¾­-|Û7jpD£w¿E0‚±9NŠ¿EÓõ6N„$u„ÆæÅˆ“2›ˆ`ØåÐlGSKŠìR"c}‚óTã¹×rzVò’l!…ÁŠˆ•Â!ªˆÖì—){Û–ÜÌuä{˜¡ã¤Nä<Æ• %Cñ( *)A<^ÂŽ,æ7‹Í¶qvÓnËé´S`¢…aúG>S¼¹®Îý^×Éjò<)­¢äË€U¥ˆ2l·C™¾2 +Ù¢åœ-ŠÊ–ãÐ{ØìÅdy`´â˜–ûŸøõ#Ÿ”yì-½ö”^mþˆÿyÙ‡;=[¶TÒ­ÐëFÔë]*±Ç”À¶v7E˜{¹aŠÛ™ø:ÃÇ”w}Þ.ž\¯´Ïñvz Á H“˜ÿ~”ë«Êñã«=ÑÀÈnZc·±5PëN°¯ò Ó÷üû~åþÓcûÀ©ïÊàÂ:»ö/¯?M#ñ¨:òÌÒ\t´;ÐjõÑíDTªYÁ«@–à±â ý"C32|ø£ò¾V˜•¹?èÊêOyyó6’ŒÆ•®®ô“´{§opÇGæ‰\X8ßËØè£ÔoùÔ»®0î¿-W“ÇNË$§Ù÷ê9½²ô3^<´À•×÷³vÍ0>^•ã8Ÿbfâ1öý‚| kêê¥'ôü?~Ã+͵‘wìâÖ±¯2züŒ| û1ÀÆÂE}mñ5«¨=Ìž'ßórþO^õîêäöÚIEND®B`‚pioneers-15.5/client/help/C/images/place-robber.png0000644000175000017500000000300510416170552017110 00000000000000‰PNG  IHDRߌüã|u pHYsxa+S•¹tIMEÖ ÌšÔ£¤IDATxÚíÚL”uÇñÏ)žŠdÿX«fÓ@8E$Á ¦¦ËÙœfa˜­ÔH, Gi–Y+´¨ð×4uR-Ûœ­,pBJê 'v²Ùü‘96•ŸJ\àé™wäìǽ_ÿÁ÷yîûÝíyß÷žgg¨´YpÇuâ-ˆ >ÄâˆñÄ€øâ@|ñÄ€øâ@|ñ >€ø@|ˆ >Ä@|ˆ >ÄâˆñÄ€øâ@|ñÄ€øâ@|ñ >€ø@|ˆ >Ä@|ˆ >ÄâˆñÄ÷_Ö/ÈÄZnññæ­‹±—†SÖ; lôùÇ×Ui³rE²óý¿UÚ¬ª´Ye)ئG*ùÙ<®ßÔõ®û4=3[Ês\Ž×;¢×R9(\A¡‘š0=CGëìm㎖ËÚ´-›bÔÂä÷;4G«7Oôц]{dûùèÕ¸_OÒ–s&m/Ø/Kþf…œÚ¢Äe‡œÎÉ*í­M»‹Tºw»UåéÉ·ÇÝYãõkò†J›Õám÷|­øåKg•÷΋ʱMVñçI·¼÷jiº¨ÐÈ$/Û)IšaVjþ~ ô¿áØi‘f=—_¬Q=ý$IÍWNÊ4$MÇ˾vûž¯_Iß–—«¯ç?w©:™FèÄñÒÏñÕá2 ¼æþv’9\söüÔö—¾Wx|®*J··óéÁ’öñê™ãsu¬d«[ã·Z£«5ñÀÅ ºøv ÔÀaã´~ÃT—Ç](Û¡E+6ê`Å/ª¹|õë¦ÁÐþeáh½]qþ.Ï-©·+5*Âù“Î`ðx­­áI’¡sw9Z~ÿ[s\‘W44ix€_Ûß~#ÔÔîtŒÓx¡²7¤¹=îν1<¯ÏݧŠ)3²4fåF½¬žF9šÎ+Ø4ªý¢éæ«ÂšFô»áÜ0£¯¹›¯{_A:¦§s¸bôÑ5Šoݹj÷ÉÇØß阢šÆö­¶X¾F“Ûã·cÜóy¡ºæù»©G×.ª¯ªTîâ§ñ… }•9wNTÕ«©¡J_¬šÕ6¶dÆÍyiµ¬g.ª¹Å®ßl­š—xÓ¹ð뤢ó ­ÏÓ9\yå±û•9NW7êJõi}˜ö†úLœçtÌÒô\®nTcõå¤géÁI/»=~;ÖH|^hý{³µcÉ ™BŸ®ªÐ…Nã 6+õ¡SJ«°á‰:Üë™öOüÙµ(²VóŸž “)J ó²Õý‘̛εbf¼ÒÆÆxô‹Oçp%:k³î.Õä¸hEÄMSyï'´-óaç¸ÂÕS£‡*lÄYz%h[Æ`·ÇoÇyà€ >ÄâˆñÄâˆñÄ€øâ@|ñ >€ø@|ñ >€ø@|ˆ >ÄâˆñÄâˆñÄ€øâ@|ñ >€ø@|ñ >€ø@|ˆ >ÄâˆñÄâˆñÄ€øâЮ»Ü[ûø»IEND®B`‚pioneers-15.5/client/help/C/images/resources.png0000644000175000017500000000303510654174432016575 00000000000000‰PNG  IHDRãE¡ËPLTE ÿ ! &%$'&%+*),+*-,+.-,//-00.432654875;:9<;:=<;?>=@?=A@>BA?CB@DCAEDBFECGEDHFEKJHMLJNMKQOMUSQUUUXWU[ZW][Y^\Z`^\b`]edagecigejhekifljgmkhomjqomsqntrovtqxvsywt{yv|zv}zw~|y€~{€€€‚€}ƒ~ï]$†„€ˆ…‚‰†ƒ‰‰‰%ÑŽŒˆ‰€€ÿŽŠ‘‹’Œœš–£ œ¤¡Û˜Q¨¥¡©¦¢«¨¤¬©¥®«¦°­¨²¯ª²¯«³°¬²²²·´¯»¸³¾º¶ÇÄ¿ÉÅÀÊÆÁËÇÂÌÈÃÌÉÄÍÊÅÌÌÌÔÐËÕÑÌÖÒÍ×ÓÎØÔÏÙÕÏÚ×ÑÜÙÓÞÚÕßÛÖàÜ×áÝ×âÞØÿÔÃãßÙäàÚåáÛæâÜÿÿæãÝçäÞèäßéåßêæàëçáìèâíéãÿÿÿzäŽø pHYsÄÄ•+tIME× )£;¬tEXtCommentCreated with The GIMPïd%n¼IDAThÞíÚ‡WÓ@ð/¶RŠ€•í·€(”åQA¡ˆ Š (u+  2”QT  ~ýs½¤)mÒH᥽´!—÷úò…\“׻ܥ€Œ_`Mc\$¤WŒÜHKN”ÝHóHb{k÷íÌj]#úx4Ù^ú†hÕ™kÍnYõ#¾³ˆz mŽ.• ±lœC:Û»ªù&< ÊD¯çS9Q ¯7êJ=`@¡ôÁ°FÀëå‚\ï£RáÖ%ae%?£M‰ÊÙJží¨‹qvvö‰(ôòèz}Dð1êÑ…“z¥ÍÈ÷Çíby Þ"9œOßù*Ÿ5¹¶2œüÁbçê á²V#ÙÆ™ØÉŠð‚Íe­F¸È ‘à+ØDŽCc@4„Ëqh”˜!\6[sÀÓè’6¿i£‰µ•ÏÈqhè#ø¾†“5ý@ÞƒŽK$l.koÇEiã;p¹\²;þ†92Fî“Á°…wsŒÜWV|ºÌW]."\ŽC£@„Ëq¹¶R>z—Í5òæŒ0æ@6ŠåÈQÊl„g99Ýr²<Çís&“rº»ÿŸãßȆ/™I™9 «ˆ¤q¨$9¹dH¾îhkkCI™¹ ‘46¹ÝwŠ‚ßK (¿I™£j\¨IK«]ð=g¤‘ó)¶²IíÆ¤%öÆöPcäÆ@Žª±þìäÄé›Ò¥x~Y»±â©"Ä0”zŽª1ó+ë>Ž ÖüíÆ±\ w\i”\PËQ5ZVˆþZ¥Ké?¾ Âçk=mq#ëÅ*ŸUßT%G·‡Y;fJ—âx1³öÚ6¡?ÚBÆÕ`8o”ON–Õíd!½wiäRŒEl\m<r”™”9ŠFOujjµ‡¨9…¥—–쎿œ´ÛO †Îå 7)³AÖŠÕš_,Çø¼Ð4šÆh–‹ÝÔP#,ã²IEND®B`‚pioneers-15.5/client/help/C/images/gameover-dialog.png0000644000175000017500000002176310654174432017635 00000000000000‰PNG  IHDRmÉg™ô9 pHYsÄÄ•+tIME×/Üt ñ IDATxÚíÝwXSWð“ö–öEQqÖQDpUÜ«µZ­VmÕ:Z»ÕÖmUD'N´Z-.P@Ù{'a‰„@’ûý½ÆBP¤Ž÷÷ðôInÎ=÷œso^Î=I‘A^eëìJÊIK”~ÊIÉ[þÁ€b‡>ï+& :D$ ’^P†1Åœ,ÛHÒD% :DRr9€ô>%ê%KÚšM?.J}wvCNZ"‹Þ$‹ÛS$¨©‹ÚÇà?U:[Uǃð!É¿ºkpð*% _Þ»npðª¤ìé ÉdäQFQc»=»wÖòÜv»²B!ù:†9Cçhöd0U0ú€¢ë{Ú}ºPùò•OkŠ®ï¼J¼¬‡yg7°OFÄÛ§{¥ÇªR”ä©Uu¹E؆¸[¢¯B &ÎÀ‡A$+[R,–”— –âZØ©ªE©«õ\1KÛÈàßöòŠØœÜüz!C……Ñø0ˆÅJçˆHL‰)éÐ`5U EqÒ{ˆ¯¹r[¬®6V¹¤…¿_Í ìnf¬«6ds,ÎxëÏGüw<>1·£t‚H6¾¼C¡(I¬H‡“~M†€“ÞéÉF7?Ç3]!!*œr’]À ä^æ±Qõ÷ÒƒË Pкz:B¢¢®¨›·g雩ÙkÙxh;øèº~BŸC5câš#ÝúoÙ¾sXg“éîDTWKŸrËÚ¤Ék,Yû«½‰æº1ÎZäÙØ¯¶-þö'GS­/} ëxyEx²gùZ'<Éôñ›q"¸Õ;>%7lOPw³i>–Wn?ì5:øâ…óS},ýk+kê®>*e2Ý„µUE è`Äd0"/D¥E|7¦k›Æ*—´Ð´:qüª]O(>»g¼ÐÓ Úèí¥#fôö‡Ò¯JÏGèÝå|æ"|Vnžºwèw?›r/—6¦we k[ ­ž¥ÆÜ9€y~.UÓQüÔ&ùÚœG)Ëk+‹å­y_C)«¨d险Z©èE}Ýóê·¾76ª±%eŽÞ)ÊÈÊVuî÷w‹Ò»‹cÕýpJ,’¼º}ÏáòŒûñÕÆ’§¿nüî)· ®ÊˆbmnZ{L,x6ÒÝ”òûÖ_꘧ÕBü{»á•s_Ó)gw Õj¸¦ž˜ê0xZº´™Ä¹Wï,"„h?ÓªˆZõ%6W+Òöî‰ÓÐ:Ê«ëMôÔLŒÚðYjLM}Š¢þpïʲ³kLG¬îd¥;­¯•£‰»¦‹Á „}=ݺ²Üú²bÙ³z]µ6u*êÆl BH ‡'®¯UsNÅ—uu6áë¥f¤K9zBEÇ„©¡[Z%07Ð[ùËg*j,=sŠ0°–ßúë¬{H ýù>ýôÜ"wÉS©uVq9"y¤¦oF1Xo~êݱðÞˇZzVV=+«x:È´kZaiê³hAnæw2¡æL¯¢}ùïRRÎ'l}5é*LB©(ÎÖsôœ4äå) ¥‹QŒW×È¥ŸR$"¶hÞ@»E³§þ~)RQíìhèÛéËí爨^æ\_~Ä™èm9eÜèÑE=¬!g/1U5(Q}tFU¯jØ ¾ Vaiù?·îjØx05tOÄ7Vù+-dª Dþ“uV‰Á›cè—¿ò”.ðbUÞ|¤¡úŠNI~ï®msïH:˜åbiYMj# obô[Yu­pÞî˜ÑN‚>žÓ¬-UY¬gu¢Œâ§Ü•X:}Ž·Þ¾­9åÕ!Ñ9Dæ—ƒr"bŠ«réÛ1rPß:yœWz5®¶(IÏs‚LɃ7ó…œôaûM 2äV×¾÷ðq5S†Š*E‘S÷Kç v"„ì;òai²tÍ˜ÚÆÊWÿÉ|dàwe^j¸¥ñõ©ßWE5*"1¥ÊW>Ý ž2Tµ4z¨™:SÂZB‰Å`¨i2´ žk††¾fÛ~êÏxD( E˜*L-C¦¶¡¤¤¦­§º±=U_KQÑ2$b1Eˆ‚Êeš­?iãyŽˆ¥ÏÑóÿß÷ƽÙ|ª©´+9g)ο¥3‚É~ù”jnzFå65¦±½ÑL =6NÀû®öѵ¶ƒ”,\—e?xNQQÁóª*~ùÿû6Œ¦†N®mP.!ŒW_Õncß¹Í/íïÛA³›õwŒ re6²¹¢ülé¿rÖdá†_|Sƒ?Ë ðGIê%ÃÇÛ«¦ þ­ xMZe‰,BHìÙ½e¥ùh®’‚ìYó—ào#À›BŽr#€är#€är#€är#€är#€är>²1b[¿a?â»é=m6zŠøXò⽯w¿‘È\4­W’÷&=5b[K~¤7RµfÝWǶ×­ßDQTsó.Ÿ ÅT¾o¯;Èxÿb¨áûêà¡#·nß½uãïè®þ}ûpH(꽟±­wþ¹»“{wc3BH}½påêµ.í»8¸¸þ¾s—La@ðÅ—KíœÚÛ9µ_´x™@  _Úº}g[Ww+;—_,ÔÕÉÍTúé•«×zõ`feïæÑóБ£r¶ÿà!7žfVöý|òèq¢dcvNîÄÉÓlÚYX;ŽŸÌår•©°›Wïä”TÉãÐca’É)©Ý¼z+è”ÛZndº#óûVî."‘hÝúMm;¸YÚ:OŸ9·ºººakkkç.XdeçÒ®£ûÖí;é:ë²ÛzßC]=½Í­zõpçnÌÑÐ0Ïž}$‡Nz’¬ä¡ÝG%{ªŒÐcá+W,53c›™±W®Xz44LúÕòŠ —ö]***¥·´uu¯¨¨¤Þð*mØB§•¾àGŒsâÔú@ù:{TU=•9Ër¯mõ+¸~¶S™÷Âû1¹?îÚ• Üâ\BÈ›INI¹~õb\ÌíÂÂ"™’ë7þX\R{çfÌí›ù6m¦_º}çnô?Qñ±·8î¦~R|Ĺó¿øzéâœÌ”È3á±±䖉޾}!òdfjâðaŸ,Z¼L²q¤ÏfÏ NMŠONŒwrt\¹z­2ö÷í{ëö]BHaaѲ«%ï¥è[wú÷笠SrÛ 3ƒ•ù•+w—_·lOxxíÊ…”Ä8 M5ë64ìï†M›«ªªâïßþ÷Ÿ+wïÆÐÛë2!äŸ7ÏžÏLK 3:h”¨«ŸŠÍJK5r¸ò‡V<8Íí©2’SRܺt‘<îÒ¹srJŠô«†#?~ðБ—ó—¿Žø60Ч·4¼J¶PÁi¥/ø/¿X¸ù§_Åb±dûæŸ~›5#XOOW¦Ár¯mõ+¢†íTæ½Ð²>Þ^7¢ï”•æ·ì|$1!ÖÌŒ-yÚɽû©ðPGG™2’n»vévöd˜ƒƒ=!$##sÔ˜ Çñ1’±wnÚÛÛB23³F zwOzG™z:»{-œ?gØÐ!æµ*=å‘¡!„ÏçÛ9u()È’)ÃçóÝÒßÚ¾­ÛÚÊÎ…WV¦L…>½½cbBÂ#NnÛòsÈÑã„ØØ}z÷RÜ)¹mPLî.EÅÅ^½úIf³í:ºs¹¼†;––r¬­,%­­­èíu™"I ɱdž*hŃÓÜž*C[[ëÙ³Éãêêg::Ú2œÚµs9{î!äLäùîžÝ¬,-_y?(¼J›¼V¥/øÅ‹nþù7‘H´éÇŸΛ#" ®mõ7kˆ»tÙlö{¼ÎÊf›æää6öª‰‰qnîó(ÍÉÉ566¢_¢·çå囘K³X,>Ÿ/y\V^NvwëräоÔ' ›6¬kÖ”xÚŒ9Óƒ§&&Är‹s³ÓŸÐKýŠ+ÔÖÖ¶µµ9uú¬††ÆàA„Bá…‹—íìlµ´´wªÅFÕÔôq|Œd6Ë+É“ÜB6Û¼üz ›ìrKZñ༠íÚ¶OH2HMUuÝúM1±÷ÿ÷¿IrËȽ¶[ê²iìÒ½}ý=ΑqËV¬*,,ª¬¬úfÕ™WýF\±ê;.—Ëår—¯üÖôHú¥•«×ry<.÷ͪ5þ£ŸÏ-]Ûoßñ'ŸÏ/**^üÕrºðŒYóRRÓê…BŠ¢DB‘òÍ«å×j¨««k¨çäæ-Z¼Tù ôï·òÛµþ„±cü–._9àÅý¿‚N5I__/==£ÉbS?›´hɲ¬ì¡P˜ô$yú̹ Ëø¹êÛµ¼²2^Y™ô"Hc]V’2‡V08Íí©2‚Ǭ߸¹¸¸¤¸¸dýÆÍãÇmXÆ·_Ÿ§OŸîÙ{@[[»s§ŽÊ\¥2-Tò´2Œ/-Üöû‹¿ü\MUUn¹×ök_62ílìÒ}¿?÷]ºäKgç>¾ƒ»v÷¶²²ÐKMLŒ=¼|<¼|ÌÌØß,yY{yyöê3ÐÍ£§aÃåË–H6þöóç/\²sê0t„ŸÔµÁÐ!ƒ–/[ŒyÛLÌmm¬­öîÞ)ù9‚Y3‚gÍÆ8´enX>˜›îk9È@Žr9È@Žr9È@Žr9È@Žr9È@Žr9È@Žr9È@Žr9È@Žr9È@Žr9È@Žr9È@Žr9È@Žr9È@ŽräÝcĶ–yðÞi²åïKךÕÎè[w:»{½Õ¾¿¿—„2½x÷{‡ùÈu!¾›¾]óý›¾ç•äa(0iUÛ~ÿÃÔÂnÛï´Ú?†«ü¿Êʤ'Éúû"»?à_xïbŽˆÅâýþZ¿öÛ‰Åb\:ï;@ ªÊÂ8`>Òª®\½¦o`0cúTCCë_W>§·nßÙÖÕÝÊÎeÁ‹uuôöîîäÞÝØÌ†’“;qò4‡vÖŽã's¹\™˜¿rõZ¯>̬ìÝö‡ÃÝôÃOôöû÷ã®]¹À-Î%„L˜ôÙìYÁ©IñɉñNŽŽ+W¯•©dîü/¾^º8'3%òLxlìÉÆ_·lOxxíÊ…”Ä8 M5ë6Èm€ô~ØüKrJÊõ«ãbnÉ”\¿ñÇâ’’Ø;7cnßÌ/(ذis“½Knk›EAK¤»³qÓf¯,>öÖÍkQ7ÿV¾*É #¯$OæÎQîöèèÛ"Of¦&öÉ¢ÅËš5ø„KQWÇOÞ¼iý¬Á *”ÛÎþ¾}oݾK),,Z¶bµ$­¢oÝéß¿Ÿ‚ªhŠwWriÊŒö;…áãíu#úNYiþ;Ò ìœÜ!CG>Œ»«®®.:»{]¾xÖÖæùï.É5G?ùý{禽½!$33kÔ˜ Gq÷$ÛbÍÌØ ÅçóÝŸ/y\V^®¸µÍ¢ %ÒLMMèbôƒ×«ª¹”ü³§ÂOŸ‰Tf5An;µµµmmmN>«¡¡1xСPxáâe;;[---e©x÷掌‚Ѿ}9Ò„'Ïxtu·±¶¢·ØÚX»¹u>yêŒ2»¯\½–Ëãqy¼oV­ ð-·L-¿VC]]]C='7oÑ⥠̘5/%5­^(¤(J$I6NýlÒ¢%˲²s„BaÒ“äé3ç6Ù˜qËV¬*,,ª¬¬úfÕ™WýF\±ê;.—Ëår—¯üÖôHŽpum¿}ÇŸ|>¿¨¨xñWË·–4çÓA-‘6ÆoÔó†q¹+V}÷&UÑôõõÒÓ3šl¡’ƒoaay*üpHèo[¶¿^—ôï·òÛµþ„±cü–._9àÅâˆ2ìÞÜ‘Q0ÚøÜ·i{ö˜6uJƒËhòž}J­¶zyyöê3ÐÍ£§aÃåË–È-³õ·ŸV®^cmç2Ê/Ы»gÃC‡™2u†µËšuþرU²ñóózt÷ô3ÎÊÎyæìùÇm²1K—|éâìÜÇwp×îÞVV²‘·b©‰‰±‡—‡—™û›åK÷â·Ÿ<á’S‡¡#ü|^Ì´kíÝ{1r»F>Bÿ(n‰´_¥o ß¥k^}õòî)?Ç•«Š6îìþƒ‡7ùÆP~ðÍÌØgO† ‹øé—-Š~ß4ÒÎþ¾}9®ŸßHBˆ¿ßÈÒRNß¾Ê_½ voîÈ(3ÚXg}+[Ìûòújñç½{yc( uÖYñí ÐéÇ0ðñÞ×rä¿„›ä G9€ä G9€ä G9€ä G9€ä G9€€Ö%ÿßÈHŽÇЀ ÇvnÍÈÏ>#0d £±0Õ¬Ò a}#€ä|ìXeTU=ýغ¬§§‹hIIÄÇÝÖ×}e°TYnî^=z÷EŽ´˜„¸˜Ä„÷®6¶ŽêZ ãî,E¨wo<Œ»«©­ÕÅÝ9Ð2bîÜèÔÅÍÞ±§(—_SMQÔ‡Ý_}==[Û˜;7#-FX_omëXZ˜Ó³ÿH?¿1'OF|Øÿý;2D[KKù›8†·×è;ø+€nûqìøÏ2S¶ì ;y"üÃÀÂà .1)iÖ‚¥Š —dÏš¿ó€¦1 ƒAQÔ‰ðã”XüawöDøñëŽKz­ä.È%æí/ÞQþcÆF„kñúÍ­mn,ÊËýO:;& háô±Ò½FŽ´DŽ0Ÿ¿£ÂÃB[|‘UKÇàü­ã’ÇügüÊŠ*BŸ_knmS˜›Óú  ½q)Bº×MÏ×p‰(?3v\‹WnÐFŸbko]˜W\\TÊç×òùµ%…¥ÿUgé>*?AŽ(ñ>yñŽŠ }K‡ÈÉÊïBgé>2‘#oe>D(ª…!„d¥çB(ñ«7M¯–LJLí`ʶ4e[ŽöH|œH¿¤¥c@?N|œèàÔvË–m¯×ž1A˜¼Å  ¥yó [;ú1MSSCfIBz—ôÌÌ¡#F>,=íIzÚ“Ç ûttzf&]‰äÁ{1ÃGúm\ÿýÂ…ó_¯má/æ#Ȁ͑oX±´µ›·8ØÒÖNf;Ÿ_«`¯õ6}¾p^𴩺ºººººÁÓ¦~¾pÞ†?H—ùûïkã'LÚ·çÏÀÀ€×nÝG¬³¼•õ‘ðãGßð.ÆÒÖ.$rwqa©$P¦I·<öN|UUµÌ}͵k׃Ǝ•Þ4vìµk×難S§ÎÌ™·àDø1ß~}ߤ…áÇ6w}Ÿû4ã¾& p<ý6{™ˆ}Häîêªj3 Ó!#úÓ•‡>Íd0TÕT ÛØØ[uñè²Oö[³<^™©©‰ôSS¯Œ~ú¿©ÁdJùg†IDATØëÖ¥Ëv6 püç3 ¾?ÐÒ9ò|ævüèk{ÄÊÎ>$rwNfžX,¶°6·°6'„0™/ï ˜L†P(JKÎ;|úÁ½„üì,écµiÓ¦¤”caaNo))嵡ËlÝòë¼_õêåý& ;~ôߨ“Ò½Æ} @KÎGÆŽ“ÉËοúµz±”Êòª˜[âbIBD¦†~}û;&½åØñ°~}_þ‰)“'þ±s{ÐøIçÎ_x“ÎÒ}Ä:+À[Y ;ò+’)Ì+‹ÍpKËî'fgäÅÅ<ÌÏÊlXÉŠ¯—nÙº}ï¾ýO«ªžVUíÛ`ËÖíË—}õòÃcŠ>ô“ãGÏ™»àðá×^ ;ÒÜõä€ó‘Ÿ\Œ šð»çgeN1ãLøAmÜE%žäåäÇß”Ÿ•)·Œ³³S䙑‘ç\:8¹t8s&òìé''G™bÞÞ=ÏGžZ³îûß¶l{ÍùÈ‹>*ÿy ÖGšq_süXÈë­äeeZÛ;Bí«ÂR¡·Sbª¸¨4éarQAɓǩyY™ êwuu=q\z ]øi%’*–šœH^ýrŠòŽ ‰¾rŠ`àm­ y½Jò23¬Å"ñÀaý(JÌã–SbqyYeA^Qi1çÉãÔ¼Ì ÒÈÿ¨k`¬ æ§ÜììØq¾˜„xkë#¯"ÒQ¢ªÊSÔµK7™*Lé—Z-) ‰¾zë#om>2nÂV•—™q-êß’ÂR¦ 3/3ƒþyw:K÷ó€Í‘+ŽÇC¿ùßCËMO³qrÎMO{7ÿ´Úñ÷®%ø^<À[šŽ›(‹Þü';5¹Eêy?ã&b>ð×GBï‹EvgCï¿wóÖGZ|>òü2nâÿÄ"Ñÿ_B!”òߋǿ;дËgButuUUU?ž.W?{V/ ÙÄßIü»˜4­­«[õÓªºúº×ýn×û…ª«¯«Ô¶uuÃú@‹±ulW_W—•ñ¤Z$üúËTa98»Ú:¶CŽ´¤®Þºzø¨º\UÎAŽü7oªÖG9È@Žr9È@ŽràM<ÿ>kIA6Æ^ÃÇÛ £oâÿòý)ˆ´7b~IEND®B`‚pioneers-15.5/client/help/C/images/discards.png0000644000175000017500000000644110416170552016356 00000000000000‰PNG  IHDRäŸfÐâØ pHYsxa+S•¹tIMEÖ8oÒb ÀIDATxÚíÜw\SçÇñßÂCÀRÅÑ+$,Ùn¡*Õ:[k­ ¢¸°TqO(T[APQ°îW-¶^µ­ƒ:« '*¨ -—‹(ZDBI¤Ä‹Úïû6999yΓONG…ÉÍÎ$€¶@Sˆ±b@¬ˆëÿÉÒZhi-|½G_Û~ŽÒ¯§@`÷&6þŒ¿õxußâÎ6ùÒu±úº9[Z ¿{RÉÞ­©¸e-°³Ø¥ŠªÙ%•O[Z …n~­ð­ \žó¨lÛ¹ôàeã¿ý秉X§;™Ñ¡3Ø»Óãdr¹\.þµˆ]ò$õ0™:MQ½ÅÜìLŨ~ôµÝ~QCDÌuñ]Ù‚ÞЛÕ±ÚÌÑý]iìÝÔ˜L¯«­®Ö½¸“ì’[»‘¿5{÷þ÷S,­…V'Óo*K|Лü6i|ûÚ÷1 êgÓݱ—Ï„½WþPŒçìΈ½úØtwìåóYô¡*Ž–ÖB¹\^oãréÑØÕôï-8¸ö¾,æ˜T^ï8tiW¸OoOkeªk‡bÇøxÛtwp0jÝÎsʦ¯ñ$ˆKOÛìöƒžÖÈjW’‰‡;9Y N<«"’ؾ~¸w_›îŽ®ýG¬ÚvJFJö$ý»©s´w8xŽž²èà…¼&GÛÄñUùî7v:1ìýó¬ì˜­b0—¾‹7ÌÇÞÖÁ¹Ï¨¯¾¿¦brT¼*†ÑD¬ílg0 #ʯ’‘\úbcv©™KТ>ï”lÍK‰hGîs†aümÛ±ë§Üó8ðËÙ;YWö…øœû1~ÂÜã?—Íù€®¼ýnÂÑÓÇüŠÜXÆ.ÌÙ;Û/|Èzü©Ô´3£èäBÕ€/t;nêç›’tF¬¹q;=l”îÁ˜Åbë üw«É³ïÞT¶Í Óœoþœ‘vÜÏ®rwølÿ½yM®Öx´¼×¸šIÅ—%?d×)ÍùæÎ I;áBcÞøs¢öKú~~9ãr´ï;û7,˜²ãž²ùÏ ¿pëÁœØ¤[WÏDÎz÷ÀÂæì{sv_!gÏlÿˆ}ÂÉÉ©ig~¥u:XÙ„(Löî9“Wný¯ù°#¿¥¦ü´¹ý½Í*&GÙž6su±rt…Cµ¥ÕwWˆ ¶=®–öù¢‡} ·\Zuý©øù¹[žÑ G=»þ„nÝÌ8š\áà "zœ¶ùõŽí–Œ2æqºxÎ ¢ê²váúM©Dé×ɧmh13rZÛ\Ÿx‹ˆÖxéhñ¼g­"¢›;¿|u…Á£ÛéhªØBhøT Cž¶A‡ia«‰è⦈&Wkr†GúQjh|í'ìID!ñ׈hÍÂa|.×cR(]ݪt`Å™†&ßÁˆSCÚVÎ^«â~l©Ý¯[3:µng ;NW:ÏÊBD¡üßk§«mh1yE¢êÉirO›9ŒzW&ôjODÇæîøU“c¼ÈÆÈð_s;jk^ݘV’q€ˆÌ—ˆŽdd°ßÚ¹Ù™9÷”žŠ8ù…¥Ý8,iwÔ’Oò3SÂçÌlñÝwçsï¬Zƒa÷èR™¸ù“óÚè«¡å,Ž#*ÜrâY•Óç}jGó…‡´ºxiz1Ãhζ4dJår"âèiHËúfž²AXhkÑõ±º±.ô$¢e+ö–‰Åew,]«ÖÓ—ŒíFD«·œ­ª©:³-„ˆì|ƒÕÚŠ¥ß–‰«EE‰Ë×Qïù‹¯£bŒlǾ«÷èâê­kR´ôì"úš×nvŽ;…,®H*ŸßJùe…ßHec•’ý¼«Ð¹_?"ÒÐÔoæ$7÷WÌóPì¬XT”¸lºƒYØ“ˆV~Ÿ_Z%.+Üî§V!j £^¬šÚ?5Õ‘K« n°»»ÐÄ.È@S£Z&癎ìöòнsË"—÷ÌzßÍküÍwæ*DT€©÷Ogu/ZMŒÛ¾t¢nF‚·»[ÿTy…Ãpšùtçà=«§-=´ÂAè¶äPù˜9aûçÙ©5€^â¹¶wóÙžÁ›´$.~’eãuTOBà—ƒeRÑÞ|‘0 DW“a ¦nݹz:ÿFÂWg§^ÃÖ&œuôݨl ‘#-ö­_àáèØsÄÒnŽ}×&D7s’›¿ûV“·Ä/¯{û[ow·þ£+ûGª;«I±»Öùw(:2´§›Ç€Ân³Õ*D­a0mâ*º¸ôŒÐ}.ÏÈëvúæ7ýZì[ÞÓ"— tt-¨18~íì{²2 s,Ü_ÐÁXSCƒˆä²Š˜cº˜ðy†3¢N6¼žPól½ßsÏÀ|¨ÄóW~'Óáµ¾]Mô¹ºíú†(–7øä)îæÿ´¡¯°‹ŽǤ³Cð–sxïÛ–ÊâÃã“LŽ÷x §A™Ö'nJe2"º¸¨oØõÎÇn>/Hq.jøOlÏÌ뻥Àå·%%÷/8æÅô ¬ëlÞ¥NÉÙÅ¥éEÛú]PýŠ>c—ŽúúXI¥8÷Ò~ÓŒ•xûÛ–¸†$ì3Õú³ã7‘\.g/š>j6ų ¢Ë¢jÅ]Oíž¾h¼{ÕÏ=òG%{»òé\¾›b…£Šåü[ÛÀ³ÁÜuçsoMº[ðDmÍ“ëëø¦HdM¼¿¬ÜìLö¿oäÈꪯ¥¸}UT=ÄXGÙšå’ÁÆ<ö6Ïxˆ¤¼îwR,7\]~Uõ+þ|fwѱhŸ ;9­KÊñª µèÈWœf\«|ã?`¹ò¹'žU){ÔQ_+ùå£U¥'µôêθë–'sõ]ØÛ:šLÙËó×šÊ»Š•M\>ÝuôÜïO*Òöø‡úGmÈžѪ¦ ð?¨¸ ðÆcò³=vUf‘HR^´sÉFŒë0éËûϪ*KòBÇͶšP÷›%gO ¿_RUUr?lB€µoíòéô§Äžª¨‘•=º9m„beÏI«Ò²×Èj44ˆH†ÚÆçuo-Ö^Q‚…¹>¶æüŽî©fA õŠ»0½ýEÏÎFÆ]z^¶˜u>ÆKñPŒg¾—• ßÂå¢ÙŒóû± C“·—'úkkuqõØs‹båh­ù:ð¸úïÏÚ‘tü-1‰ñ›¦ù²93 £Öß À_d¿@^NV7+Û¼œ,ü¡´œÆÇKL ´Xñµ­N± V@¬ˆ±b@¬ˆ+b@¬€X+bÄ €X+ VÄ €X± VÄ ˆ± V@¬ˆ+¦+bÄ €X+ VÄ €X± VÄ ˆ± V@¬ˆ±b@¬ˆ+b@¬€X+bÄ €X± VÄ ˆ± V@¬ˆ±b@¬ˆ+b@¬€X+bÄ €X+ VÄ €X± VÄ ˆ±b@¬ˆ+b@¬€X+bÄ €X+ VÄ €X± VÄ ˆ±(Áaÿ——“…¹€6«\.ÇD@ëÇäfgb Mø¡Û7Î*0eIEND®B`‚pioneers-15.5/client/help/C/images/join-private-dialog.png0000644000175000017500000002761610654174432020442 00000000000000‰PNG  IHDR]²n‹ pHYsÄÄ•+tIME×;°ÖM IDATxÚíw\çÇ¿„=!a[Tu[GDDDqÖ½pSWµj-j«Z¬þœUѪ€Uœuâ`E¦ì½ {šäî÷Ça !„€A(yÞ¯¼àî¹çžñÍÝç¾Ïs—û’ )fÖö€@ ŒÌä8ÑU’˜"ÌÚÿÙP4ά.ª$¡(Š’[Šl„@(Vƺ„:Ò@ŠBbV1²ÑMÆw˘ÓlÌár~Ò¿ÙWwe&ÇQ…I kiOACíû;'HuU”ñK”4èÈèDW&çÞ‘±ó·Ê˜ùöñcçoÏ(l2¿@8 1©ù-íVóêªñõ@Ni Gƒž9~©ê™‚¬@tAòÃõ˜°RöüUµùáÇÆÎßJˆ7=:ûê.ªtg \0 %R ljUvu™Qð®7ÏBßœ'‘Èè;@ º&&kN #ò‹ŠUz)¬Ü$%Ç•iƒ6/V×Óyò㱆ì|VqVO¢P‘õ¥sc¸þ…ÚƒøÌ`Ö&`¸¨P[+ËqCÆwŸc §<øî‘ŸDÂÖè·Öõ€¯~þW¦ÁÞ¥-Fžßw¡Ág{ÛÓ¦^#:Ù_øpF_XÔ¦y'Ü$–Bœû ƱÞÄÖ’ä̺ÚzÜÖ<;&Iz~0BÞåï¤g·ïµãPw¨N{Õšý‰í‘±×ˆ®ppbj±Jˆ‚hbÖdwªð<—¨:| €Ê„Ôݳ¾¡¨«a¹dŽa˜€Œ¦jÒ#ÔÍûM`èÖ[Ÿ¡¡Ä­æ][|þe>aÎÛßôÿkC–€üûÀ¾›¾ ´•sÊêïd½Í®’X¬W_Ö’Q&8eµ¼©åGäÔ¾4Ïvû›~°÷FºÏc•Ò^hdá߯ E·¼—åÓ߀¡I·7’hëú“ÌR¢R¦Š.­á€ž†ÒÙ%Ž<>ýPtU=_bíDiýøŒÝ $¯~¬ ÎL¦­¬†ö¦èâ˼[yöaNv1ÐÓPÊ-«¿ø²àWsa9RºLÔûÛ?™Ó04hÙ¥õ'åØkŒq`h«Q3Kê~¿“ŸWÝÖÆ(Ž¿àõGì¥e¼¤çÇìØ#'dBTZôŠSz%ìvšd™k É —AF. à•.ùÂDÞ«”ù¥yÿ*¸$Lío0o¨ñÝçу=çߺycîPãI–õ¢V®Œ¾¦jÖ—X¶Ä’¿8¿!àw3=ÕUÃé %é˧QI3vœí?Úkà!WGýÎ x_ßR3œÕó—ï»4fÆÊ˜¨×KG™|eR#º•Yç»õÏ>c§\ÝÑ8Žxz/¶„L"õ'ý˯¯ÄqüËžzdéÚÍ;É¡Û µkóS±»ãPwÇ¡îaÛq÷va-iò6!m褅!¡—æc»sêp kÞTgýe_š&¥ç޶|ö¼Åô*ˆÒˆr¤t™Èf\?ëû³þßÿj®¯ºs²µÔLùæ÷uÛöY2ÕÖŽ¤¿çf·©1 å/`æÝD £E·Jô$ÜSà×”&_!88É´l€îô}¨®¶¹êÊé4ò¡/É7–áµX•é»iKc7ÕWä+¸ËàîÄ€ãìÐt/EU€Ç ›ªØ[8|”ºÌ×ÄÂÁãAeÉ/#ËuÀØ@¿âu(Ö ÁeøëE~jz†’õˆûÙTÒÛ²òuŽ $6àçƒÇócÂù,çÃwR`ÊP›ê„{­¿=SžñVÝn´–ã„#Ì`¸‘Õ±7qo´½œ SÒ6j(xwîiŽôÚµݵÝë2_{83àà_Þ“U®ÄÔ€×›ªø;Ðì2íÕÏvï ¨¨ð ]^‹3Žô. *K}UÍ Vݽ½ª$÷M¥˜2Ë#/` 5²7F1æqÑO«›ÄîHJGôÊ<êÃá(U7`µ<`j¿t1ʳÑYüŠg-õ>EРÆ+4½Wž=Äáš"낞†”–—«õèWIÒ–¾^C^Œª‰sóÌEÅ\M;gœ¢ $ k¨y_’©lÔä·j½Øšó†³-õUiT @[Kó}i¯4[IϬy™ù…Åj6#ÈJªª&`ÈÒ¯Ë~£bÜ‹ØZ^Q©i?¢¢¥Dg wIÍ+ý7¹ 5ÇBWIK›Ïa¨¾zŸ’–©a3¼ƒÍBw{Ký~Ík(,AÅ´04ipí¯£ÂtC³>ç­ª‰#E“Õ䯖 ò ŠÔlFP4ôÊÔLE·:k´Ôe¢Ò²ò Ížpª‘Ÿ[Z®içBRÑúhFn:Cs¸ŒQ´û”××49ÃVövûõØ8B hâKÐ À{Pêí:SäŒ7¡4EK™J¢ŒÑèspˆ_¯ÁûõÉü\œÆoinBA(­áékÒtutÞS”,#(,æb¼zAµäçÊIJ*mÃ_Š AÌ€[&Zéi(­þáÐã‡÷É€EÜ %‘H¸€'¨¯ J2µ!K¿Š¦J¡³™º„L`ïëøU_#QhT-C\ä7rp9ª´µûÈ4=M8{þECŸ¬¢¹mæz4‰µ7¹M…ãP\ùÞ@GyäÄ™ÜÒr‘¿²˜¬ÁÍ_XÙ`¤£bÀdTÓT©:l]M»ü±T*úÑn@RRnbF~ƒìQ¨û”7×5ŽaÇÿüZ¸z}3±úQZŸ_š¶N¢†þóÔÈÊA´¾ñÆ.•5ùec˜}öÞD“É¿˜b˜=Í“Jæ{d@èÕÈJ*¸€×â—F¦ŠÞ+œB(/Èвtùfówóa|‰ÍX·|¾ ´ÔT4€³ÁadšªXí8™"Öì§©•ùÜJ×1ÃǸXç•=|öR™aFVѤI-Õ^Ó ¶‘ðKÌ€5Kæöu7è?i¬ï²cGiõrO¬©!¯ `õ’¹J ­¡¶tTAJ—›ô‚Ôtª[tÙ£§Ãˆ±:vo±:vo„X†óŽ’îG4‡Wž[\˜3¤mVÜ ÑL§ÒïØWC}hÞct?N=Î᧸Ž1{*½¤šw$4üxÐEÓ†DQj_WR–~¡uâÀîâ²êsO3E}‰„?}yh¯±!«´æýo§®œ ½ªblO"·R;ŽÃå×EKÇZÀ‰³§ªJÕ4 «3¤Ô~úIÎÌŒŽÀ¨Ý/ 4¢ 2+vòp‡kc†¿@lvåù{oêóãµ\¦‹Uwùu¿(ÑwLŸkÿÈ+¯?ÿ,k5]xMkk—%"{cÊ_ýãK±MÍSZž_æüZŠÃ•ÈXEô ¾§QÉ]Á'ÕªT¿}ŸæžòÈ8(ÕjãME½Û£¬D€÷¼Æ 2Ï;ñ²<ðÌ®÷¥™8¯¬¬¦Ä²£1,Hjô‘O¸·öÙD—qŒ/¶*Z~dwæýjÓ_` 5d ;Õ¦<–˜³q¸xóÞXnCqö¾†LUQ1îEÓ3#k0šW!–r!"ÿäé3õ™¯@ÙȨJ ¬&¥ö‹/²Ož<ÑM8#z_m€[”Ë÷N¼/J¼¯!“©m#Ã’_œJi6r%»pcCA"Æo°°î?eåä¿è•R©t»‰­ÊÞŹO)ƒ„ïGˆ]B]ø8Ûœn½èÇÌ;”ŸõbQhTRyÿZ!;†1±6-#ãdî \Kd®ŠiÕ4¶õ´–æÉ»%J²·‹!DüMüBÇ$mUÛÊ5\à7Ž™BV£“Õé8&Ðî?¯¯$²‰.€Øj“Z {jjéCC-Ž €LÑêë ¼z‰9óÓÙ4–-ί 2…¬Î ©j7¯±y¥ªf.Ê sœW5:`.µvUNÃxõ8//–j`GRRS±HcZãüzÀ€“H4U’šNó¦îœát_39­Cƒâ?u=s‘¬¬$À1”J¥ÛMtUöÆ(Ž¿Ð*¤F]ÀD­Ôø{ÊG¯ÞŠëMm§ðº1–óLÃÌúøDDuIJjÅï42Ã\o‘Š–ÂMó†oUYË{´g÷î MÍbEߺ³ópÛ(pê®åèNaÚtqÓ ·Ó÷í«cÍ1nàcI¹åA.ݹ¦j⤤oAÑå ©© £ÙŽ‘1óûÄ;æc—æçç6 JeAöÕ]ºððzè]VÊï Q•©ZL–-INÖ2ìÔÆì-Gw2ò뛎—]Ÿ%¨« Q¨5:MCÕÔ'k2AYWrÄÀȤMïe)ÈËþ8¥S]üñwÖ èhµíË›Làuªé´Gøý‡¾Aª½†ø‹…ñC\„¼ÈÏÉ} S«™%|SÿkÑkˆn$ IŸtF“†~1 V½@4¢VG€È«ÇK‹r9DanÆb?ô.6!Òt@ ]@ HÒ!oP 9ÓÐPŒ€è²(+« ]è»§¥$=ú°0?YÑ ) kÐàáV²þ¸邜ÉÉÊ ¿w{¬›— Ç‚‚Br!º?;#íöõK4š2ÛÔ éB'ðìñ}WÏ©={9#S ºt]†¶ýæ•ó>3æÊ’Í;Ê™âÂCcdDWƒmf^\X cf¤ rÇ14|@tÅY Çe}‰Ò9C"#“"þó':ˆå ™Ô$L©éê§~¯J“o±Å<8‘.|FIFg,â¿pʪ ••U›·lwî7ˆelnië0sÎüGŸtJßôX&2&¶¯¨OvÕHÝï(At—q„¼uaþ¢¥|>ïò¥‹yY)/Ÿ=ôöòÜ÷Ë~dèOqÕˆÿü8âÉ“gÛ¶n635¡P( ==ωÂþ&6 ‚{l{:›Y/X´¬ººZx5>ô¿£½œûë±Llìz——Œ5XV^nkï\^^Ñê¾ Ó6õ¼¡¡aõÚõ+;Ž•Ýšuˆô»÷ ö¥ÛÜ©ï 3gÿ: z,ùz -MíÔ××/\¸P[[[[[{Ñ¢EõõKóx¼µk×êëëÓéôŸþ™HLKKóððÐÔÔTQQ?~|QQQó>Ìáph4š³³sTT”ôZnÞ¼éàà@£Ñ8αcDŽΉDB^ƒ"ù òžwìßßeͺ ‘¯…‡š_÷F½~p÷fbÜU•;w 7½~ýæÁÝ›ÜÂl n§Îœ¦Ÿ:}ÖÛËSGG»Õ}K ²ÚÔó€Ý?F¾xñüqNnî®={‰ôe~«7®_—™–x-,$2ò_àf‰…Ž–ä-[¶äåå%'''%%eeemݺ•Hß¾}{\\Ü›7oÒÓÓsrߦ7a„իWÚÚÚ®]»¶yáááOŸ>-++›4iÒ¢E‹¤×2{öì;vTUU=zôèÅ‹ð!Zióp›ä/ñÞ×GO_´ú~ÇŠŠÊÜúçNzF¦>ƒáæúÕzÿ5::ÚàÔwPÈ… ++K(..:rÌ»Ø7Ä¥8îm¤ ’“S¼§Î|ýê •Jåóù.‡^½Â66–e_'ˆÓÛ¾w¿«[X˜@jjÚÄÉSc£"ÀÑyÀJ¿¥®ãÇŠ%_Q€“‡]¸j«–¶Žp OœxÆÆÆáááÖÖÖ””4jÔ(BLLLîÝ»gcÓâƒëµµµ‡p„¥‘H$.—«««KdÐÖÖæñxRj155]¿~½§§'›Í_@¢ Püüýº¹KÖHÏÓ¶÷;jkkmývãÓG÷r3“C.ÕÖÖÎ[¸”Ø”_P0`ðÂ!ïáà\RÂî%<±­­­zô°¹zý&„]»ÑߥÛØXÆ}%J€ØG¸©¸¸Ä̬qèaffZ\\Ò衜<ò üÑðQãúö|ëö”ä¦v -,,ˆe ‹ÂÂÆ8ôùùùÂt!Ïž=:t¨††‰DRWW/))i^ !  ¦¦Æçó¥×zûöm'''KKË«W¯¢3DAýr‡Ý§$‘HÖÖV»v<þ‚Ha1™±QÂS´%ÏÉ¢ÿ;rþwäøòe‹Û´¯ìèë3²²e"33‹ÁÐ#–zŸ=s")áíž];׬ÛÐC¸\5‹•žž.œ>`2™Ä²¡¡aZZšXf??¿ÜÜ\ Ã***d¿ª·T‹‹‹KXXXqqñï¿ÿ.t n~Aî󎓦\¾rµ¸¸D äæåíøaw¿~}ˆMs¿ž¹ÆCzF&ŸÏOx·`Ñ2‰%Œ1¬ªªêØñ?ÕÕÕ{9´i_Ù™4ÑcóÖí%%%%%%›¶lóòô Ò.^ž˜”ÌãóqðB'(%%õó á¦NJL­ZµjÚ´iDúœ9sV¬X‘““S^^¾fM£WWW§¢¢¢¢¢’žžÞ¦Ó¸¥Z|}}ãããy<ŽãBçBGG'11-h~¡ýºðͺ՗.‡ 2ÂÐÄò+7ÏÚÚÚGà­Z±|`—I“§±9Ö‹–ø¹¹o©%‹lÚ²mÅò²dßWF¶l^¯¯Ïè;`hßC XßnZO¤?nöÜ…&›;wþã‘è·lɨ±nŸç~D@@‹Å²²²²²²222úᇈômÛ¶ÙÙÙõîÝÛÂÂÂÔ´qtüøñµkת««9rðàÁ²×ÞR-'NôòòRWWß°aCPP‘èïï߯_?t?Bü™ïGÈ:s'Î^²A8ïˆ@tÜ4}îréyP\™NžÚA ºìÁ‰t¡Ó¦vˆ.{p"]·$#]@ü÷N¤ r†B¥b²¢« ª¬o Bº gtõ˜Ü’dDW£¨ GW‰t¡sppr‰x|;7+y ˆ®ã)äf¥>º}ÙÁÉEÆ]Лå ƒièØwÀ«Ç·*ËK1 CAtþ´™¬¥£ëàìÂ`"]èTյ̭Ì­)]ºšJ¤ ]×îD—v1 ÒÆŸϺ»"c$h¤ ÉGŠgÝmhG$h¤   xÖ݉vD‚Fº€ŠgÝÍhk$èîšw”3(žu÷£M‘ ‘. $€âYwÃY†¶D‚Fº€Šg¾V¤ ˆfEï_@_+Ò„ø…éúZGºTl±ú÷•];·3 }}Æž€ïCÿ¾"{Q7A…ã8—Ë­«« ¾s玿¿ûÒKJJÒÒÒbcc³³³ÕÔÔ–.]ŠÎÕÏê/(˜.´9ÞŽã))©ÉÊι|XÆæÂ‡„‰‹¼Xù©ÓgO›:eÒÄ —.‡ýóÏÿú]ö}›\~? 455F ¶wO€¾>˜FœüìT …BH±™uanzó¢:"¶½(§Žü6ʼnñ¦ ìììš_êeI×ÖÖÎÈÈ ÓéPZZjffVUU…N×ÏÆ¯?øÏY´ZzJÄ›jó“yÂxÖÖöD ‹ÉüçÆCCé;.Y´àǽ¿Lš8áGŽïý1 MûŠ!ñÄ&"Y››s i$ë®sa!“Éßø(Kº£££"_¾¿ÐEÇ]?žuK‘¬ÅèˆÖR¢¾¾¾±±±|>?55uîܹÞÞÞíKŸ;w®¿¿YYYYYÙÚµkÝÝÝÑ¹Šæ:_º~<ë–"Y‹Ñ1¬›\XšN\{yy͘1CUUuøðá¶¶¶íKŸ7o›Í¶±±a³Ù555Dçêgõì~Šg-gP<ën‰,‘ »ÓüzZÞŠg¾VÅG duÀÐŒ úZ‘. Ä Št}­Hb xÖÝ6E‚Fº€ŠgÝýhS$h¤   xÖÝÌShk$èîz¡œAñ¬»Õe³í‘ ‘. $€âYwW*"1Òtô Í%dt@ qÄgGø 9¢K¡¬¬Œt¡ÓÈËÉŠxñ¸¨0™Ñ )zúL—CÍ-­‘.t¹9YOÃï¸yùšZØP(TÑ7P"‚$ÇGÝ ¡)+³M‘.t/Ÿ…Oðžafa‹ã&à#ƒ ºÖvŽ /Ÿ…{ùÌ–%?šw”3Ü¢Bc3K `æéé…ã8ú‹þv…¿†&nQ¡Œ‡1z/‹œ9òûOßlûY àMòòþûR2B¾¼}yße˜ûû†Ú¶îXUYqôÀîE+ÖKÏÖÎ÷¾"ZZ Ç1ìRÈE=èÚthyMžr)4Ç0Ùß"tAÞº@&á8ŽãØdï©¡!A¢ xt!4äŽc8ŽÉeéBGø €ãxHðy±À“„üt¡ ‡Öä)ÓBƒÏã8.»¿€æåŒðÅ>“§L&ªiÈó5°ÂÒä[,â? C@²¿|^ìàDºÐ9þ‚è—@|Qp›àé6ÁS¢4/Qò÷ˆÐz,S‹“¼}“’?Co¥Gy(**^¿ñ[ç~ƒ Øæ–¶>¾³îܽß%tÇÇ'{O%€pù„ËŸþ–&bÕ4t¤lý´;p<&:Æc¢—>ÓÈҺǩÓgäi Eû|H?e¥¥n<ËËÊËËÊÝ&x–•–Šízñ/ÀqÀ¡CÆDèØ¨ˆ!ƒ-^º¢sO¿üü‚q® ãÊßÁÙéÉ/ÏŸ7çȱÎþN&“q $ø<±@|“¸ü> ×bAꦚª2á§ÝéI))ÞS}çÍû:#=åÁ½;Ïž½Àåj…ú@Ó¯¬´¬ÌÍc’c¯^o£"ßFE:öêåæ1©´¬Lt—ÉS¦ d™£ã´y¡¥¥é·|Ibb±*vì±íédlf½`Ѳêêj"Çãoùî{»Þ6ö‘žYeròÔ§¾ƒ Øæ#¾ü*&6Nè,NJófìþißìYÓ×û¯15a+)QuéôqcFŸ"¶fdf͘5ÏÔ¢‡‘‰¥ï¬’’aE'þ<ÓÇå C¶Åàa_¾xñ×ù`—AÈzãÞIoçÝ{ûÒ€mîÔwЙ³IGx‹Ì/©¯oXî·ÊÀÈÔÀÈÔoÅêúú†æâmÜô­)ÇʈÍ9p 1ÆTzFÆ_–[—aàéå]\\ܼÀcÇOÚÙ;êè2 #½–Û·ïöë?HG—igïøç©Ó ®I'þ ¢Ëra×®=›7m˜è1AMMÕÄ„}øP òüå…²²ÊTŸ)÷S©T*•z0pÿTŸ)ÊÊ*¢yB> i;pÞ±²²ê÷ÀCAkÝõ6úÁÝ›‰qoTTUvìÜE¤ÿ¸÷—w‰‰á÷n½‰xž——/=3<}úü浿ӒâÜ\¿Z³n|NK8)Í›q÷Þƒi>SZjäô™_/Yê]\”•¥å–ï¾nzøèñÕ+!iÉqÞ“=§NŸ}çÞýË¡çÓ“ã'z¸õJiç2¿ÕׯËLK¼ù¯4]ÀñF等ÿãûùùù1Q‘Ño"³³³¿ßù‘°kO||Âó'b£rsóˆDï)Óü–-ÉHKÎHM´±²Þ°ñÛæãˆÇß»}+7;ÝÃÝÍoÅ*éµ,X´dËæM…yY·o]õ*p¼¦²j*Kk*K%ŽSئ:ºL'ç~ûöý"àóÛ—þðQaA¡¥u}¦Ñ¬Ù_——•¡á€¼Æjª*+ý–‘?Œ^É$ÒJ¿ejª*¢»xO™F,È® ²>ï(zÑf±˜·®_15a€SßA!‚¬¬, ¸¸dèÈ1ïbß@/çþ—CÎ[ZZˆÒRf=–IJb ]Gêêê8V=%†¨…elž›™Lýðönaóšç¯««sê;(1>ŠÈ–ü.Z—N'ÒÙÑUa½-µÓÑyÀJ¿¥®ãǵø¶¿s'.^³×Pçíãr±Ñ§P×Ò%Î@+Ûž·n\µ²´€ä”TWwäwq`cçpýêk+Ë–Š­­«³³ï™–$Zšº–nNf*N'2›U”I©Å¶g¯5«WNps366úè|(­%AB»o6nvtpøqO@;Òµèú3gøìÜ6mih¨?uò8ºÔ·¸7O]†¹×V•µuǪÊÊà Ã­FÓks:navIAVäË'V–11±ãü‚‚ƒGÞ~ç’ncé…Effâ¿Üj)3¢ªªª|~ë?7ÒÕ¥—ˆÍ}W_EDºyx™˜Ûê±LØnéÇãžP¢"±Ua½-µóÔÉ# 5®oÿÁ·nßia~D ÿ‚/þÕ| _TTÌápˆeǬ¨¨˜X.((äpÌjçã!IDATÄF’/^¾=ΕiÀV×ÒÕgs¹Üæó :t:±L´_z-gƒNß»÷`ààaŽ}®ß¼%ã$™B±w°?yü虳çÚ—®¦¦ðÃ÷:tº¾g÷7oÝFÓòš_¨©«;ø‡ÃˆU†ü£¦®Ntoßó 3Ž ‘Hæ³ÃøoØLŒºYLflTqZÂ!ô)23³Ä/ò-dn£FŽ81¸¥­ó.]0nÜÛÈ’‚¬Œ”„¶>_ÔR;zŸ=s")áíž];…ƒŽ–îGLññmî™3™ú™™ÄrFz†¾>ƒX6`±2Ò3Ä<ÆYsæ.Y´ 91®ª¼$?'oõ~DkµôuvºxþlfZÒ¾½{V¬\ݦ›d ðö¥;8Ø‹nš}>}ÑPWwáÂE¿«ø<ŸÇó[±êÂ…‹ uu¢»_8×ÖqD{ž_0228 È¥Ë0÷ë™kü7¤gdòùüø„w -#òLóñÞ°yk^^~EEå·[w‰-en mm­””T‰›6®_{ìÄ©Ÿöýš™•Íçókjjî?xøqz¯®^EYYYE93+{ͺõmí`Kí\¸xybR2ÏÇq\ÀHŸw ¾pNÂd¯Ië7n...)..ùfÃ&ïÉ^DúŒéÓÖ}³!7/¯¢¢bæo?Œ€ê••U”••323ýV®‘½ý-Õòõ¼…ïÞ%òx<ÇùÚ¯­­œœ"º»†¶ž0||ŸÏOOO_²Ìo’§GûÒg͘¾yËwåååååå7oÿÕ84t:ýê•KÑÑ1N}ú;õésõÊ%:½ÉÌñ”©Ó;|Þ‘`öÌé§Îœ€U+–ìï2iò46ÇzÑ?7·ñD†õþkm¬­‡Û§ÿlvãh¶¥Ì-á·lɨ±nïG˜°Ùÿܸ’“›ë:a’±™µSßAÇŽÿz±ñT<ðÛ¾-ßí0áØLœä3 ›#‚´ÔÎñãÇÍž»Ð„c³cç®ÃlPRã}Jï©Ó›#¾ÛºEŸ©ßË©o/§¾†[·|K¤oܸÞÖÖfàÃìû°Ùl"ñÀ7oaš¸ºM8p´vŸ²ÕZÜÜÆûΜÍ44ÙºmDZ£‡‰ÄU+ý† ¥¡­×¼÷y 3XÆã\'X[[íÛûSûÒgÍšaddÔ»O›55µ¿üüÈkèÐéaW.éèhëèh‡]¹$Z ?/4èÈ$YÏwô;k9zî蜥ß××"S :‚„·Ï]†¹WWpÅÒ‰'Å<…FaÚôàóçª*+¯…þ9yúB9Ï;"dœ‚~ȈÏ9 ( |þÜgG ZÕá—@t.ÂKzÿB§AmÆL @Ñß®ð—ÏçQÉY/oè>¥|y~ËÖÞI›®‡LèRäçdeg$ñ•ôlè}Ђ­ƒsÌëç=\tôô)ÈCt€•s‹Sczõ„æ:]Ë®·KÊ»˜ªŠ2 Gï‰Gt>dYS›n×ÛE—ÁBºÐi˜YÚ™YÚ!; ºu5•HþÖG º¨‹L€@ . ¤ éøD$Ï;¦¾‹B¦A º=–=œÚ  .ÃܑɈnOK:SÛ”@(h~@ ]@ HÒñ© ßG( ŠÖeeeedÙ ‚tAÉËÉŠxñ¸¨0¿Û÷”B¦èé3]5·´F‘Ý HŽÜœ¬§áwܼ|M-l(* Hݸ³Lu+,„¦¬lÌ6E‘Å H‘—ÏÂ'xÏ0³°Åq ð»}­í^> ÷ò™ "‹A.("Ü¢c3K ´5´÷C÷êEd ‚tAÁp )OqºL¥P0DVƒ ]PDÈ$Þ¦ EÿupLZx%d¤ " Ž+Ò{hq“^©£ bh"az/?;«Ëé‚BꙊ3–&:+%¼R‡DMCçÆ³Æ‘|]M]Ey%ÔÕÕš˜æeevMƒˆûSèœQ¡M‡µš†ŽÄô®Ö/éM’î/t\«ttµÀÌÜ$/»  ¿¨®®¾®®¾0¯è?t Aqæd=Óž¬ðO~¥¦¡S[].š~}´‡Xâ·×dR‡?°™žÝÕ©”½×È_PÇeúT$$1UÔדø¨ièÜ›>OèJü$&&ùNŸelb®£Ë2läß_–µÆOù´ÜÀ[ó:´Ué)™€‹Ýhš3>.ÞÓË›É2f²Œ=½¼ãbãDm.\Ž‹³°²Ý¿ÿ÷OkXü¤ Š¢ 8€,Ÿšª2·»aprÈh5M: ¦I¿7}^}QɳÂÑÝÍ5%9!%9ÁÝÍÕu‚gJZšX×^¼Špó˜´;à‡•+ý>±‘H¦ÙÚá2¨…„òÒ€˜Èšª2‰™víY»fõÂótuu•••]úõ;tªñ²™‘1ÅÇ—eÀÖexzyéêšôcÇOÚÙ;êè2 C¤óx¼›¾5åX±9‰à»m;ÌÌ­LÃ9_ϯ®®þÄ^·Ã R06ã,_7ߨŒ#–^WW/e¯€]{V­\>Þ\MMMMMÍùóæ®Z¹|×îEóÜ¿ÿÀwúÌÇþçããý9¤ Š4¿ ›ÃYSYJ¸ ×G{\íQ_TRT_ëù¤¦²´¥]ÂÃz{M’¸É{Ê4¿eK2Ò’3Rm¬¬7lüVèl?~üøÞí[¹Ùéîn~+Vé»öÄÇ'<ò0!6*77HÜ»÷ç7o¢ž=ÏHMRQQÙ²u› ã¼õùyŒŒÍ8ç®-È+"¢¹:”–”E¾ˆª¬¬«ñÁƒð©S¦ˆ¦L2åÁƒpa×._[º|Å¥ #G —KSÑó ˆvNDKdî“»5•¥R2”––1z7½~õ\èToß¾Õξ·pÓo¿ì£Óé°jÕŠ=?í#ÏýuþúÕ+ÆÆFðãž"ñÔé °Ë¡DâÎÛ|1ä·_ö}J¯åu?˜c~îÚÑêÊj#æ8÷Qƒƒ®I$%š]WÇԜݻ¯Ã¹!bûr¹¥L¦~©Ïå~´óœ¹óOÿyÜ©wïÏ ]P] CÓ¡¯4´t‰±±êv7¬º²Tú¾ººô⮄pÉ/_¾ÚòÝöè·Ñ5µµÂ=Ž7J†*ŸÏ'– 93±êòòóúö›ŽØ%‚èõ§¤%Øós׎f¦ecfdbhdbdòÇJÉdŸ/H~—tåßWos2Òñ&FÓ-,*622¦ëéé óØÿëò«õôôþâÓéAãä/´AddÄðá_¾,qÓ¬9s—,Z˜œ_UÁÍÏÍlõQ"VFFfóĤwqÕ•¥Ä§ª‚û‰½þt…쌬éÃÔ˜e•Ïþ}CˆB3£ »p1X4åÂÅàÇ WgÏšqøPàTß™×oÜü̇Ò…™_aü)…„òR·»aÄ,þ~C4´t¥ïøí¦ ?ÿòÛ‰“–•–6Ô×GF¾ž1s±©®®^YYY™FËÈÈð[±úã[lxÿau†ï´uþësss+ÊË7lÜL$Ο7wÅÊÕéii|/.6nÎ×óå0¿ð uBò² °–ŠTRTúöu\Fjö›ˆèœô´æ…lÞ¸~ÿÀã'NVUVVUVž8ùçþ›6|#Ú5·ñ_]ü+hé²AAç>çüÒÅðd˜ˆÖÐÖ{²ÂŸÿÈ'Õ\(ª¯µÓÑmu_KK‹ëa—ïÞ½çл¯!›³Îýo/bÓ6mÞÂ44qu›8hà€V‹Ú´q½­­ÍÀ/†Ù;ö1a³‰ÄukV 4ÐmÂ$}öÜ‹<&¸}b¯?ñ~DNzÚt÷…a!7êßKÌŸ[û6!;3'êuLNzšÄ<ÖÖV×Â.]»vÃʦ§•Mϰ°kW¯„ZYYŠeûâ‹A7®]Þ±ó‡ßöÿþ4¿ Xã\†átEB! U\ ª‚«©­w}´ÇÉ!£5´õ¤{ï6¶6gƒN‹ hÀÝÝÕÝÝU˜¸xñB"¨Bˆp•ª¤ôãž]?îÙ%Z‰L^·võºµ«Å +¤Ùpšô‰‘Bvzš‰¹Œ?œB¥|¬à ò‹â£ßåç&Ä&e§§I©ÅÞÞþRèÅæFëš½½}Ò»¸OœÁѼ#BòÀRêØ¾ª¼DS‡A,ˆæ,ª¯ýøø£$ˆ½Z*³ÓúŒã­Ï/|Ú零ÓRM,,16ÚuŽcÜ’2ÃÊJ+r³ó‹ Šb“²ÓRÛa´Ž²›Tƒ ]PÔùh~86‹.xò··×òú}! JJT Çüó˜L!‹núÜg¾œ¤ æ/´‹.{ÚJ¯åø{JBzô´&SÈÒµà?t ]P ] “W°×áX+óŽò3HVJ²©•uVJrW¶°tƒ ]PPÇ1 (N—1LÐÚûšäiŒ¤w]Ü¼Ò ‚tAAçpW(]hõýŽÈ H ™ŠaL @§ŸÏ£©È 2é‚"¢£ËÈËLѦë)N—«ÊKutÈ 2DÜŸBçŒ"`ëàóæE)·œ¤îýÁ/å¥&ÅØ:8#ƒÈhä/("º VOG—”w1ÕeXw[<™DÖЦ÷ttÑe°Ad4ÒÅÔÒÎÔÒN¡º\WS‰ "»A.("²È 4¿€@ . ¤ é@º€@ . ¤ é@º€@ ºÏ;æf [ ÒÐ/ + QþN%Šß°iIEND®B`‚pioneers-15.5/client/help/C/images/messages.png0000644000175000017500000002207010416170552016365 00000000000000‰PNG  IHDR/fŒ~æž pHYsxa+S•¹tIMEÖ9;Ó¾² IDATxÚíg\SIÆO€„P‚]ÅBQP@Å (¬}×ÞußUlëºboˆbÇ ö²¶Õ]Ëbõ‹ŠŠ‚EEzKOæýBÉM‚ ôüùp3wæÌ3“äžÌÍÍ}héiÉ€ ‚ _=œA³‚ ‚`6BAª•‹ì]@OßôŸ{7!Û/Še;rîþ¥/·–nN®^?™y$6ƒºžcïèâàäêޮ믳7¾æ‰ä»®îYÙÓ·S³æn‡Fü›`ïè"Y½UM‚ R“²Qç°ùúâÂ’ aÜ"b¼*¤ƒb…§;ÆM?$ðžv/ñ^Ä躇Öþ1fWªdWÐø±^LÞ|ìу˜Õ¿÷Hù{u9ÜNm÷÷Ù«OŸÜ?xíøŽá¿“”?ûkÒØJ‡]Œ»s$.ÌøH ‚ H5„VùG ÉÊ#=-ùTP×™·ÄgnîÝñgÓ¾ÛÎ/ë ßÃÚ´º[ÌÿëÁC/C$Èvrñ34k—|ÿOèØÂ5Gd¼ÿðß®ÍíŒéå O]yEDöŽ®úLÛÔ¤³0ÆÓãFïÏ{}j1€WtÃÅsüÇh@AjÒÚVÌ¢ > ;&Wl¶v~[¥½ñ¥Ѻ•½£‹“‹ðK¤¿3mþ£—=b@/·–­ý»ïF6uyÎýcAC~nãîáàÔÂÞÑļג]wJøÐÞŒ!yjhÖö#5 ‚ 5lmGGùÍ˶±÷\ˆ§Ò®‘m/bóÿ~´ÅWAä[‚†7CA¾:ø·PA³‚ ‚`6BA0!‚ f#A¤z |…wSgçÀ_çOêÑÑÃHøáŸÃgžóÎIS¬C£Ñ!*Ã¥ïï뵦Aìåµ6âÓ»údϾsb„=hŒIѶ™ÿè9Ó‚ºwnmeÀ9»5hÔÖzÏ"•Ú*H—ädžÜúÛ¤]?gþ©ëtP íÓ¢¹#"„Õ,²þ‰…Yç€&+¥A¨š†»ªÀçîèÓªýT2ª‰*©±d<{"Ù8qü_í[M žéiÉŠR‘ OOßD©Ô•Ì´fÍO-l¤Î7³™E*¡S§¶baae=•%‰ù4}#ÉvQæñ=<-ŒztcW¿Q÷‹xÒ:¢Òˆ©ým-M ÍŽ]}^çJd°‹µ…¾>£‘{À‘”ÂÊ}½Œ^ÓÉÙ–i oiÓr斫Խȅ‰……KFùYÑM¬YrRQpåù$„·ÓȺI„²ŽEÞæH Aù£2òB1\LV™’°ZäðL"JË ï¿<ÉRYbLöŽ"\©H’º†l²%‹õɺ–äîU:ªðºæ‘»¥t²ª¹zBƒêø•õBDùääd¹!Y^—œZADâr1qÁdÃd1“lò!¯Þ“‡ HD=²˜A¶t%yEºÉXäN0YkA3ÈÖ’S¨Iylp«z>Ó’Þq‹2·Ló—DZöäm¡_r!¢Ëfb徜ŒékÎ'±Âü×V÷¦îE.ìÚï-­¦ç±ËrŸ-´Öœ¶Õ!)/ !$¥?Ù¶^C&PÚu¥=Ù?›~69Ý’;%- ¯¡ðsÉ%²W*’,¥“ô$"’¢Gä´·)íB-&lagƒ6šÅPÄW©ç´ Ù?Ÿ”•‘²4²·9Sçp().$ÂrwYRŸYBŠ ˆ°”Äõ#ë§ê&c#aÒhqýȺ‰*²‘Ê ê† ßw6RJ1•îØ¨9¦q¶lý®Lc6’£O£ Äå+M_©‚º˜ÛJVstcû“ªÚ*ŸdÚÊ,QñõŸC7v’l{™Få²+ÇyÊÈV3E4=ÃÊAÚ²³·Ky£n{‘ÏU;3ÃÓyÉ6'ï4ÅBû4y9äÜÙ;vúÚëÓ Ù| Ñ¤n<(áw·0ª§™Ì*‰¦oFļÊþ‹Ù¸`dÓqúúC4¥èEN| ¿›S²Í4ïªa¯?–(¹zºwÔöeàña•‘âTÒ7{áÂZx—>€\äèýp5®ŒGøñ_pnZ•³Å|0¥¦Ÿf1¨Ô£ߨ;ð—×§ËÞÆz¬ŠOÍ@ÌÑY†bsÂÓ¶‚ºá#Rµ«$<=ºÐglÔÆ[qÜ-t 7´ŽñÎW%KÍ äÕNã†j“¢­T«‘E¯)ÛŠgZl ÐÀ4«ÛgÊö‚õ–@ï€ }÷]ÝíïfijDY†Ö’jmXŒóܾVL]§Ìªõà}§”«[]{öð„¢9,Æ¥nOK&p /Su .€‡Ïa˜†ÒîEX7Ÿ€M«£9ƒÁÅ`ÈP.?0~¾ Ý€aâ,“‰l0†  ðr+ì ÎO´M:¥— FLîÍb(â«ÔS!þ`¸ë(OwŸdø‚ÈÈÏÏŸ1kîšÕ+,--+ïUq…÷•õcÚNº´71n˜‹¶©ˆ&ûH-ë²mÀܧ9ì²Oæ ØÖeÙ815¶m?*äöÓ·|±¸8;cOÈ@s§)%¢#ƒLêö—<-ŠMYµL KÞ%¯ ¯>ÖyÒ äw%‚Òw{æt×~B½F†ÜIËŠ…zz ¦îEΪQŽG®zQÀå<_9r¢Ê’>¬–•§"`v«Q³Šø*õ´h Q«€ÃN›-Wêö9¨‚ P7|Éuz·ä[‡ÃáŽ?ùúõãÆOæp¸Ze#ÿà}¥¹q½›Ñd¼ç‹åÇMÉ¡S¾¡„ÃȨe~ï}›XX6õûà¿ U¡ê† €H$ú#xFbb$&&ýlÈâÐ…pýê¥ÿM¥ºŠAtæÂè<D¯áÄTpÙ‡ÃGDÂâÐ…’ÜCf#äÓQë1l´ƒ Gg>‚ ÚƒÙùt´‹€v8|AªÞ5AÁµ‚ òírýª¶—ó|×ÙèÓÞ±û‹Ýÿ»†Î»ðj*~Bq‘ïå‹k£š‘!ª‰¼o/b–BêÀë—µ¯¬âw£”‹{†´©eÄ`YÙŒ˜“\*PqO’¼0iÏD÷ ƒ@„ËÆv¯gÆdšÕë´²HDä­TÊ®ð5ùÌZo;#º•­ë¬­×4ŽK:KêG¤rAœŸ÷ð[CÄ€9¾ÈÛmÔüþŸÐi4Ýþƒ÷²µpi Ì; ®›¡q$ü¤!ë 8Ž‘àö',OÒ­#9b1¬=-7Cóí0ãn…†•ÅPǯ¬ˆ"/Aë­à°F_†R>'·áÇ=` ^àà[H|}öC$´?g‹t–q;ºí†&Ðñœ)P^BÙmT]bøòõùÆÜö¸Åï£Âû±l‚”ÊuòÖ£°Îsþ"¯L£ž’°Ü‡kk;Œ)•Ù•*®2%.´SÚ4˜q$’zxFýÖS$5/Opi0ÿYnYYNÚ¿-&ÇT7KÀ]‡Èø By“AZ*/·Ý ÖûD¾+áiERK‰@@\&>g¥ånûHt)€œ¸IÚ“–wÙDv¼"),![/ëБ"·®¯S$“Kزþ¤f1ñUê¹y™´"/8„Í&+ÿ%ÝbÊãxŸ!©¥D("±‰¤q$é|†¤–¡ˆ\O λu“a»øœ!ÏJ¥Í›ïV®¦®‚ºá#Ègò7ºqý²–oÓmÁò¼ò¦TIj•½õ”¬óî•ðå»´1Г^˜éÙnÎe•ÙˆÂ/Mò®mñ{øïVÞI¥Ò.Ú°§äñs£,Ïje ÈãÇͤPD!bñÝL®quHƒ¶’K2w:€4Ù¬J¤ˆ4Ù$Ýî³…¬H"%šSÅ®Þ[HŒL$—«Y E|•zzm!eq¸ÒtKyœg2‹>±˜Øn é Oí6ê&C]sÅl¤²‚ºá#HuÈFߘ۞¸àõ£EƒÏ=.ðmh¢¸W'o= ë¼6¦tù¶Nz]W\9àÔ8bhêï®*Œ=è&-7Û{ÌŒðÝ•ÚÒDÚEb© @ߢ» t0µlE¾€%`Rpà©ðR\Ôú†8÷ù·]áL l#ï=ÌŽ…; XX¡|o‹ƒ·¡H‚|`ªCUÎ$ó¡ƒÌ©CÑêH TêyÂÙÍ» AÈ/¯oo ?ç ÐTá©üÛ”ö2T6×XAÝð¤:ð¹íéYظ­9¢~ÿI¹O$‰MšEtñÖÓh'A=š¾éÖëÛ<ÿüê\å½¥™G»¯,=zcç´=/õMêZÛÜLé ñ/ÐMuð—ûÜ–€D ³’ᯠà-;ºñyÐr7yC-=­ŽæntXð+xT:&þzºÀj0gA™ù†Å°®@Æ8)=úëêáÌ€[<èbÀãkC_¥gÜà‚€ÇøUñI† Õô*†šî¶Ç`y­kU:>ê¥b¡NÞz­ó$Pè©Ä¤A¿s‹L|Çü¥üÓºàèN¿Í¹xm@DZ·Ú>(_H`å¦G®z^Àåäg,2Éa¸þrŸÛðÝ+(4/OEÀ0„™æ0û€Äjr°[ä“ÎÂãbx—«e9ºD Ft0£CYlSø÷OçáaI³Vm:Rd®#̽oxÀãÁ¶óšÅPÄW©gŽ#Ì?™<àr!ò,4vÒíÓX:¡nøPñ"ruÛò¥³Q uÛ«°¸Ù2âæÌpżõ4ZçIÐÁ@OF‹‰QÃ_ÏQ>ç3¦kÑå?ÚÖëÃÎLæt»|·ÄþúÃM/[s »ö÷¬'\ÔÁ_îs[n‹Þ•ÎäýÜbcVyÀ”}dní`~}˜v #¡ßY0m"-ßߢ.ƒcx†œÊë‡ÚAè)pŒ„aW`NOYúÔ¢£ IÚú@àNpß ™uˉ:1ñUêiï ƒá§ÝÐòOH4…£]t\é.C'Ô Aª趇|§p¹àºÒ&àðäS¢è¶çÕ¾£–­Úµ÷Æ{x#ß#bá-ØØvlpøR]À{x#ß“X0d/d  uc8Ô‡ ˜äkÐÁ®»ãð¤ÚgêAÌF‚ ‚ÙèËC«™×Õ~Ùñx‰1Î!‚`6ú2N‚Y ù–³QvÛÓ¬P¥êj`Ê'AOOÏØ¼žwß kª(¾@ù˜©àFz?42H‹|òU‹} Õäø®¥ 4óE¾lT£ÝöTÞÕ»F »ã²0ûYÜøÖo{·û­¦ @øfÑýú³ã‘AOj´Û^eaŠþxê|êÊ„¿kÖ&uXt#sï³²ø¢Ê1)<ëT×Ò”Oþаê4>ï@éÛ¨%)úvM_ÆyO˜0«Œõ¿zÞó­Loe%ä*~‘§Ñ4|£'üÜYC×a=42O8K £èõÝÌžmM ã&OýG³e"ùgÖ¦¹Ø%Ð ’l]³¶^Ó¡£ ŠóßðM4f$Ônü*ìd¼Â{ ²êø•õ ÞíþÈŒùЬ^zÐJ‘Ì,1žF+‰œþ´I݇t£G.sof³÷.Lq¬ÿnøØµ[aF±®2J6MbcùÐÀðq«ÀÙ»N^!žFSYAíð¤úd#E²o­0wÔÁÕûïÎ8;–d›e7Žýáoícjl+â_Ü1¹¶ÇFœìxþq–H,½-^P¬ÅÑ»/xœ¼ÿ3ýµÛ\¥Ê÷u Mht:)‹—6Üê\—1ÿUؤÛBÿ¹{2 ؼ¢ÌÙ^/ûþô|—Êà±ÁÞ;²;Þ{Sô!õ¢õÍÉ—¥¹™‡W6·Ÿ¤Q’|hJžIJšûÓúè|/ýÖ¡Ú‰ 5Ž¢J²!ì_¬M³ îæ€ü±)ž/ò „úÄ{Q—w 쓲ÜóÒ,­Î¥ÉƘÜm!kîž–ìVE™u½^fÈD¦š[k}´+‡çrëAâBí;R¤äwŸ¼bßæYÅ®i—w¦P‹¡Ž_Y”LñÎyÝÚñE¾ÛóXãŒÈ´©×äõ3¯›5¾‘æÎÎi4ù‡×~­^œe4ŠyêÎηgöÊ?DW™±Mî¾pçäÙþÏ4³Ò[Z]uÃG¯Æ·ç¶§tRQÑÔøÔÉëw®Un7'`§ÐM\¨}¥”<ëT×Ò”O¦í¡ÌjI•‡¦NäpÞçŸhÒL(yýùÉ&FEùR[·êÊw¥Ö2,”õ%f§Ä«œv~N¼Ld ‹ñfÛ1NÅiÓ‘"OYŒ¢|i§¢ü3ÅPÄW©ç)‹!#ÊŠ—™%>à”ɼð„Å8lùÓ¢úF:ÉPn.{×É«©« nøòµÜöÔ®²oïðôZ0?öfÜödKn{1©ÛBìü—zŒö™§ÓïFŠþx É§îV ¿·•‘ä”ݸ™ý¤rG9wööíÔÒÂÄF£é3ê9Ϩƒkia'WÎ)zlEûß~\®Q’ÒÐÔñ_ÌþwÑ­lkÙ¸/9–¡q:É–P,.KI¤ëÅÓhñtKnçMè}íß6e%ü +#É ¨‡ÆÍˆlŒÂ;{3:µL41Œ§ÑâuˆLdÓ˜ý‚èˆôV¶‰6îïd#ÒN©€e. ^-?b(P©‡S*0“M žEwRš ¯Ï4–ÝEŸL#ùS3qt•Q¡¹*ëE•Ô Aª×™º§G¶øqchlÝö¤§*¹íQǤh+]1HÜöžïü|ÓáiʸUÌ+ÿÊ/W®Ó;`‚׌ÏÞŠÄDÈ{Cˆ˜:¦ÄÂN²­Ñ”˜fuûLÙ^ºA{I@yMUëÁûN_{™Svç@ÐÒѽµ…²…™»ŸÛp%g<iUp¿{¬HH$Ê4ÙØ”áTÌ“7÷1#`‚ÉŒ.ï =Ĥï ÈD´Üèôµ9eN‚ÞËF¤«A‚‘)½¤P:@qÑb(â«ÔcdJ/–M ¸ðÍT·òTAÆ'>‚T£lTÓÝö>† Ážƒ‡Ä¿È‰ùoÇÎÖ¶r-½øäèjÊÇ+ùdR·¿ö’ )Sÿb–jG¶Ïí¼Ç?7Nè¸Ì̼ÜzfÞ­cÞ«s¯À©_œ¥Á*Î&Øóùàö‹\"æ Ǿ•Q$뙲ôM Eï’³D¦Ž )KË&b!MaDÚt¤Háö™£Ãù…\qÁóìQ5Š¡ˆ¯ROÃ!M_\Å+àŠó3Þ™d¨‹YbÕd脺áCÅ‹ÈÕm#È—ÈF5ÔmïcþoT¾6 ‰YÓ±pT—fF V‡¡ Ìúl©\GK/>9ZZØÉ•³ê:…F¾¹E{I°kFŸ¡Ž–*þ¹÷²'_´Ø9B©Ðrç’Éá`7£ÏKGKê™qHŒuÇ—]š%0X©CèÉÆhÿ÷âü ßF²×`¡‚Hë@ú›ž® Ó´ ‡ÊF¤MGа6]³4¹ô´>+ÉÁß&ô˜Ôb(â«ÔÃÚkõÃÍT[óD»ölë Žº˜%VM†N¨>‚|-ÐmA@œw<É~³{Á%>‚|$趇 :“>c¿˜'ÎMÏ=•1h>A¾"èo„|¿Ôµ}ü¬©¿ŒaÒ;È!²3A>-½µº\“F£ |ÌFÈ÷ ë÷—ß#pøòùŸ¸SÇõ«ÒSÄx¦Aùú`6BA0!UåC^„k´…ÞÑÏø ÒŽÒ>²‚ f£Ïrü­>,»½à'¯Dñ@1¾j‚|›Ù¨º¹íI²Ÿ:šÛ©ìšv”&yèÕ3>QÏûfÐ5.»jÓAêàÌóùRWJöžá×ÛÔŠb°NÚÜ™“,T1]yìÙV6øFä›ÍFÕÍmOÂÅ©?מE‘EÈ@"(Ìî7ÞâmïË¿ÕèW¥_êN›_ö)Ëé7Ì8®KŒŠéÊ‹LðN-‚|ÃÙ¨º¹íçÉaǬNÍj¥q8,ÃFÛ(åÈÝzø»’†49Å¢G™{ßž•%–®¸Ä$?䎯EÃôdã_žœ”¯r7bÒ§·ˆ¶48fØøbàÑ’"• #ÉšLåRI±<:%Èé´…þQ=m"ÀŸÝÃë¶³0 3é GµˆÊ/ZOÝ;!Ëîw¯wœÉ<^¯Çƒ•E²o J]+EPÜEHYd»“,æ ëq©”“½šøpâÉèF'MQ–]ï†)ö«r*^½[ë}ÞÎè˜Õ×Y×ð㇠U6R¤š¸ímé7±ûéå"¥¼ÌÃ)£ÍMeVuÉ]B Èb÷MÎ8×åžÔÆíÚCŸ}Bßø^ź_n”¯z€A¹G»¾àõËÛÑØô×ës+¯Æäk2Ó\äx>0K$û‡:²òtå®0gM¡î=æ¡÷Vvë=óó{ĺ•FvJ¸¦®kuªn&y//´È*êyÛƒ»Z©&Eü)¹6—º(ìu·w»Ob,õXoÏýÉ=:¿?/ÝïPíÂ…øñC¤œêï¶—óp ËfŒd—Ê®á(> þµ=T&³ª;nxš'³ª¦Ð£¤–ežQŒÿdåÞ8òPò§B™už¸ˆvÔPe¿Ú<…#pOÀW,×¹|ºŠ8ŸhÍ)£î½MãTùp¢Qž*»Vj®¸Ëë¸a­® Šø§ËËO÷¢žŠ¶QŒÙÇRØ9èH† ߃۞âSu?wl€šá¶Ü'|æ©5”?‘HV d áüôþXËö¿Åʬê„üÞ'$g´èQÍ„Bé¿‚„?†ÌJŽ®úÞÍôeÖy43Bx“òÛЫ9;,Pÿ1ËIDATo‡ç•ó}oödjx …‚€òátÔu­NÕ¿;ݨ ñ»•—ð…¨uþ×eÿ»·mkE»/y“ßÑp¦®Z¹íx]Òª¶¢™…&½nûí%2«:Æ­Ÿyò\%¿ÚÍ€×YÉ ªh5Fƒ JŒh´bÙ'BQÊG¾0Oß,l»1Ô7n˜™æ—ÀÍ€~©|8èîºv׆Î8/àV!þÅòòK ƒÖÔSae1x_§k/û”Ýi´ônoüø!B•ª›Û^å“„JxÂÑéA&L™U£ç Û!ñe¹"ÂS;ïŽÔ²l•­ýø{á/\.ÿù껫6wMõõ/rÊ}Ï~52“~±Œˆ‹¹)«ïõù˜WåJÚ˜¶ñ—övÓ*ÀJÛ¦ï®zÎçrøKã&9Ø­ÔµÇðÆÎ“n‡$sKÂw{u×>þ¤;+žó¹\þóåw&:ÊÊÕM…×Ý;%ÙB"Ô»Òþ‹A•÷ðöÞ½›ÉKÞñDõzŠ™C²Q918ŒŒZ?з‰EXô[ÁmO]LmµJ‡²Ã]ß¼¥Uþ2«:ç˜5OuµY§¤ž™×¤æÒò.­®¼Ûßíô‘~Ãá´÷£«0w»œúô?k™'H.%Xê³s`\Eâk¦Ã(§­ðºk•_ÿÄ}Ðë?…éê/ª§§ö´ª¯Gì¯÷‡z1/³ÎÖ¿_oå«k\cg%Œ (+¬Ïò\Ùá~ü)?Œ£Û‡Üò¿ÍœŸÐj AäcQtÛ›>k¡6÷ðþ_ÐTª«¾yw¼ðÊxé«ïNmlƒVc‚ _“ï×ßhŽñcß³V¯„Œ ‚.µB«1AÌF_?‡ˆt´CÁl„ ‚|ÓÈ­]1!‚ _š.wvÆl„ ‚|¨ÿª”´0!‚ Ÿ m®ð–l ÷+‚ òõÁl„ ‚`6BAüÝAùÜ, ;xèÅ’áÆ,]ˆk#Aä˲pž¿ùÝ–ýý}CÎSªƒÙAù¼èëëoX·ÆÍÍÜÜ\7¬[£¯¯ÙAùÒ1wnßìãÓiçöÍFFÌÊðw#AäK`iiùç®íêöâÚAùú`6BA¾>x¦Aù\à=¼A¯ŒN÷𦥧%+>oêàŒ3ˆ ‚T ùmRí;èÔðÿ nCÖ]¼¹×IEND®B`‚pioneers-15.5/client/help/C/images/grain.png0000644000175000017500000000032610654174432015663 00000000000000‰PNG  IHDRóÿabKGDÿÿ¿H pHYs  šœtIMEÖ FÞ¯cIDAT8ËÅ“1 )ÿÿ3NFK¨Ñ8À ”†C3‘r®š#8¯.„j¸¨ëÝ>£_ÀKŒ=+".ÐÉ(BäîšÄ.€‰.#ü^¢š^ <»¸r ¦+rÑvH×ßy@È5ÃTIEND®B`‚pioneers-15.5/client/help/C/images/sea.png0000644000175000017500000000527510654174432015343 00000000000000‰PNG  IHDR"Hˆit pHYsÄÄ•+tIME×41¾u.@tEXtCommentCreated with The GIMPïd%n 3IDATXÃ-–Is]×u…¿}ιͻ¯ÁÃI‘ e‹TYŽ•f Ø‰]±«ì¤ü[“I2ISŠ•I–EQQ\¢(Q$@¢^w›söö€­Ñ­¯ÖZò³ŸeGÇÆâÒÑuG™ÁæD)ªŒ^æÐ2§ ï³DYdˆcç†gsÓ“ç0yÖGºº”H®c4P2Y­"ÆÁ¾òü…–+ (>]RêÖ8›9vÇBÖ/ñh·äähÎòÊsóVÅí»¾—SJ¿2ªJØÜ4ÖÆÊ¤ \,”U# F×)Þe™è 5#ŒG(¬êZHêȽÐ,áhßÈo'l6ååѳÕéJ– hèøÛ¿É¯Ê*‘yÏwß5|ómÃÛž·æŒGªn8»ªyù21›fÂxä¿ûåìâÜq9 4+8’)]JJQæH‚N qëÕ!îì•üöï‡HùòqÍ·_×DmPk×=÷ï ×® ™Wž?|óÄÀ<ýÊ!{÷Yìmç1P§ TQ/ \d­ò”‹ËŽN¡e¡c²áùá ú!òì劃WS’¶ä¹§,rÄe\]zs‡sŽP×€€s ˜ ^—z…Ò×¶9·oæ'üþÓ%ŸÑP/ ÊJÏÅ¢eÙF†ƒÃþ“õ’A?ãðÌx¹oĦ#jMÈuNÊ'8oä9x"ïa4nÞ̹{7c2 …ƒ•_ý¼ÏxœóÙãï„á°¢¬„åÂSº~à0^‚“ȳe5U‚ˆ*A¥@“àT¥ÐUõZ76[[ªr,–ÊÁËÈÑQäøÄ¸w»àwzlny ³¥¡ÖÇ‚«ib:íXÖ‰ù¢N 84¼Ë 5}H‰NvahrùXèŽ^æèáŸvòí÷‰åBé&‚š¡’*áÍ7…¶ÁÓëò̃ç—‰å+£ÊasÇ18z¹°q¿¤ÚTýNyñ"qçŽã§?ë±·—2˜ÍW³ÈÅyd¼&ìÞ€þ a]ç˜Ï!‚ù@á=ý¾gû$²9DÁkcƒ Ì‘åR‰–sáŸÿ%rxºâísú#øì³}Þÿø 91Îøäñï Ÿ|~ÀÃ{ž{g†šc4 ûžAåÀ„ï¦ðòUâéÓÄ5ŒF°w'gk'0½ˆ,Êt¦¼ ªÄÞý×¶XWSÇ|Ñ"¿þ‡m± X­»;“­‚ÃýÈÁË–º5r/ììäܸ ;;Âí[¯3„ªg ÊåeËÓ§KÖÖï½7$v?RNŽW8×RÇl®Ì®ŒÅÂBPœxʼ£qvÒá3ãúõ@Û]2ŠbkL/QfSc4PÊB9xUóè‹ ¾újŠ+<¿ûxÈ/~1æáƒ‘þZNÊ ºîŠfḚµ /½JXŸ8ªPrzÕrü*’Ä#ÎÓ+=Yæ±P„íkÊå4 OÄÃÑ/ÞÒÔ|`e¿‡”Ž.!%¦Sa0&“ŒáÐ1 Ã^†ºß>ñüEͽ»ÞÊp'ÇÊ÷ß'Î.Ðgd,ÂÑéÜIEND®B`‚pioneers-15.5/client/help/C/images/hill.png0000644000175000017500000000440410654174432015514 00000000000000‰PNG  IHDR"Hˆit pHYsÄÄ•+tIME×/&”`tEXtCommentCreated with The GIMPïd%nzIDATXõ—K¯fÇU†ŸUU»öþöþ®ç|îvCÛ¦qÛŽH$0‚ nb@̘@˜1É_à?¤LY( Š„Ø@l°ŒMìVwÛM_ܧÏõ»ï½ë²œB„C\óõ>«Tµ–ÞW”È=ËÛ¯êàäU°»é1¾úƒòA5䃂ۯ?§v{ˆÚ bKŒ D7 |úWäCïn<¯vy‡*ú˜ˆbTb†á°AÒŠ¾¼ÀàÉ_ï xó΋êŽÞDLMÌ–åƒúå)ÙxÜü2õ¤Á•¯*®~”æÚ§ä;/ß{U§ÿLîzÄOA ˳î¼õM ™Æevý°azaÎ#óËX[`Œ…p††ÝôcŒ¯þ°üŸÁí먦]mÃbI!±[®©ÆëÓ#b T} ’@+;2Ú›ãË!Îy¬qˆ(—¤z†ý­ŸÇ½ÔÈÿÞÞø²Ë;(%ê¥?EsíÓ"Ýë_PAM ÎBâà[ŒæûŒö&ˆ()FÚÕ1ínƒ:‡ júí†øp‰“Dp;Ýc8¢’±ÖÒø1Ö¸o_OÎ0Ñ–ì'9 vÆ¢ªl×î-:šö€Ëí[;ÖÛäˆ*¬¶[Þ¿ ör»–fV‘èÛžñ¥Ëør€‘s½¬k‚‚&Ô6ˆéq`Ï»ÚÕŠ´8ä{ÆÂ­»':fg`d ¬Û-«ÓަªMJl0#Ï uT’Ègœœb'3üôÍtÌñjÉtÔPŠÅaÎß@U±ý†2lhUè7;·[*Ȩ́ÅÅ«Ý\(¼¥XŒ8Œ-°¥CŒa§‰Åæ€÷×G,—pyÈd4aXMìÀœX XÈ ÄC`âÏ<=§ë"¥7H¿Ãƒ/ “yCæ¼Ä8q¨*]RκžÀ”ÈÞÔa (‰˜zœuhêqf!Ç€q?ÑÇL ‘ñÐbŒÍhVp5BJ‰˜Q…HFbVº‘r@e †Mƒs1Pª¢Æˆ%©¢9ãT!n×ä݃â§sâf‡eKŸ•A3"çÀz±$÷[lû+Œ€sl“bœa¹i)¢2--õþ¾j0ÖbDPA͸Øíˆm‡¶;pëk¤T&¡ÝŽ<ï޼ϸ¶Œ‡¡·Ð Ab”Nz¢uxïØ֌ʊa3Ã:Oß¶,ïß%biöö¨›óíÑr9*i·%o6$ÙS$‡Œ’%9wÌ.M(Œ¬Ð§DОôÖËĵ'.Q Já*œ-PU*_R JŽNpïøs.2ÎPåß?—œ¹ÝnKo-®ÒŒG¨@¥ð¯ïŸòÜ—_ay²ä3ŸxœQ2lïÅs{Õríãá  } ˆ1E‰+šÂã jFœ5W×à »¾çlµb2Qd¸ûÞ^xí]þì…·8>xÈ'ž¸ÄO<õÅíÑ´äØ!íŽûo“\½>çlq‚MÙp>3ŽÙŸ^1€’sB‰8),~²Gêv<|û6Ùðµ›ùóÿ‘×ÿå6?òèE>ûW¸þÓ×)C`£‰]ß"‚RŒݸ‹qBñHƒœvl·‰¦.p6‘5°m] LêuipCÛfþòïßåOžÿ;þú•4¥ã·Ÿ}†ßüg:%ÆŒö=›Ð9EBÊx+”¦bÿBIS{ê`8"çÌxh¨Õ1–U{ÊÉâ]¤®Æ8bà…—¿Á¯þ ¤Ô™‹®©FC&D0VèûÑLÖžI]ã¼c2SúŒš„ØHíŒÆÄYð¶¢ÕžjÒpqTÑ˜Š¨‡&~æ“Oð©g®ó7¯¼…ÛÈó¯Þ`2(øèå)š#ªÊ¸òTÃ’á¬fè“ý›åv™8›Ñ¡ðàg÷ß§œ_¢ÙßG­’S²XcÑ ²{ý”héÚžÏþîïó·ÿô ”>}í Ÿû¹eÚÀþþ®p4ó µvD- –…!„L’Xs¾É¢)LFT“RTˆ-[`\¤‰9áœáw~í'©JRÐbxéÖ]tTr屋ìÍ&>S´Ç¤Ù}ü ÷†žcçè*GU˜á€b<¢˜Ï)ç)ëD`1꬜¯q‹ËÍvw¿NÊ?ûÉ'ùê?Ïÿôe¾ô•`¹^s|ø€â‘š(rá2û^!;Ϻ]0›ìQxˆ)Ó†žœÆZœ8ÊiÁȲ@2`MGjýOϵ|í9 ‡·pÕ Œåà耯|ímžÚ›ññ^¥ ‰j<¥Y<|Hl·X'øÒaËÓÔä¢ ’ér$äŒÁð?Eœ‰h9¥yò—å¿™½Å{¯©½ÿ±ëX'1,-Ú)ýj í†ÑdB— …/k “Ø‘42¹¼G1ž’]AÐŒbi|‰øýêSîªü¯övõö_¨¾‰5bÙ,7œ.¶H Lj0¥g+%ƒÙãÁˆÃoÞäìá!ee™î7Ô¹@1™a=„ÑuFÿ”| $±zóKZ,o¢y1‘¶¡ãÞbÁ6%š¦a°Ïþ¨†”H1 Î↎<ü^šïÿŒü¿²Óö?V»~@Nž#A•ˆÃºï,EéÁ"-©¹L}ý—ä»Ú–·_S¿|v[r.!+R”¨Ätˆ¯0¿÷‹ø?šÉ‡SW·^Öbñ1YŒqX§ôã1zìÇäCÍÇÿ‘"oþ•"–æûž•ï¤þßÌ`>MC’ÜIEND®B`‚pioneers-15.5/client/help/C/images/server-create.png0000644000175000017500000006010610654174432017334 00000000000000‰PNG  IHDRÇ€WÃ>1 pHYsÄÄ•+tIME× ܪ IDATxÚìw\ÔHÇg M:,½#`¤‰ˆå<+**vÅ*Dáô° ‚=OÅ~^{¯§wg—³‚‚(]Ú.]–•Ýäý#^\—ÝšçûÉ’ÉÌdZ~y2“a Ï1³¶Em²ÒRÅz:~ãM(#úìŸÛS\[¤¤zšžWe@+#-B[ ae’ú*»J ëòvš>Íú‘ûù¯åœÉJKe“N" “R$¨þpyƒ_É$§¢ …ÀJîÕý¦,¡éùŸÝQý¦,yžY(îÈ Õ§oòe{ÿà¼ÑŸqæ%ïåªhf œ¡Ô}$ƒÉ‚Òà#ÿÆí‡Ì¡ï¿¼²:ÿÆý¦,!$”—ñ$ç| ›ÚPÅ⦺¥'Éá8qh\Ujx<&ùÎIÑÂ# ꀑ£ëÃÿâʦŽE/﵎ã òî‹•µ5þ]ó‡ '_¯8;·VÈ`±¡ô¯ÎÅ„Р )õž¥ö Ÿ¬IŒ¶ªŠ0„ÃÅ%”]_,8B¨mÿîý{»¡+w±i#®/ÝDøg00(ý¯Ž<›éë¤ëi£i¬© Çf”¾frù¿žLoÆKüÚ!4`ý£o¹rOE[Aç,µOw?:½=BÈçKò”„ ¡œ" ÃêÚªøïøRá¦eñ«kÛY䜹òÉ?eà  ¬ÀZëoc¦­¸ñÈõ çÎòË‹ìÛµ0Úw'^Ë}Bó^ëÝ™¥Þ‘ßriT½} láBq¶ÿ:<ÿì²z}€„•ytzûÛŸ#„Žu”ð@(§ÃÅ%´UbB¨âÅ›Uã²”Û`™yL„D8†a"& X}mÆu3°Òm³qωýûö+š:²-Û¿¬Åö]ÂjÞ×¼¾¹n4BhËÕì‘®úUùþ±I „|õ†8êêªÉ—¾¯=—\tì~Yñ¾NzA?™à8*­®½÷¦lçõÜê¢:gŸ$\@õ‹MBQÇ#Ôhëz#.{1c¤›¾‘†bÉûÚ“I…§ŠŸ%®^÷!4dÀOÓ&ûëjHçïNhÁ…î³¶ ¾¿=gX]Sm¥r~íÛùŸHÿ²pX]?}m¹¼Òšc÷ ²¿´¬Ü)üýï¬Q]õ9*ò9%5{nåÚ©ôµã¨·agqù›/g?WÕо°­ê»õÙ©™vâzJ8~z—ÇqBdÅ%”Iž“@Pœnÿb•ƒOÛ<}U!B¬âR”™Ç@èó¨wíƒô)%ïáÀWÅÓF!tþÂyƒvrêòZfŠ&m¬<”mû‘5¬[•:zɾ.ýÆœî¢ØÛäñ‹·ž>ÓNœ<5¥‡ñ`s>ŽaDlòlÆØÈƒ®?ûnŒÛ6¨“ÎTG$úPÓwm"O'ÏÁ<œ[Žã8u<H¶®7â*ŽÊù³Öê;vÎÓ”‡3~2`òž<‹ã8quÒ3qHì÷îÞ5pù6©%¨xrAÉÌÉÛQ7t€yawÐÄP¿1Sõø/«³ÖMÕPG™}L_gäõ5kÂä@7írñKSäŽðfTó|üŠƒ Vl°ÐQŠò³nƒÞX¸9tÙº¶ºmæ÷ÖüÀËiha- iŠ’ ‹{òÙS6î‰øYq[• .e_ø¾ÔàõîÙ¢->¦¥n6Zc¦vaj—§¬!ÏÜÖ‡yq&^m‡Uš¾|$?ãé«E5åùðdûZh*Ë!„x%erê†rš†l5]Kž¥ ¬À±Pе"ülÞµ¿,ó±r‡ŸÕ: l¯Ú²é·LųO«B¾Ým*Ÿ_F8B¾—ÿ&#Sκ׵6B¨{ç¶OàØ'»R­Ó`µNƒùY‡:êRÄ#A½Ñг~Ëîü§7„zŽÛ/§#„FxÚT½¸*f0øYÅý“‡ë·ìææeH X~ÖC?=„Pôʨ’ò÷BC׸¿^ Þ¥ «¸’†¶³>BhULt9_$4pÙrá‰Ä¥©s÷ÇÒ7Sª8Äá†UË+¹yÉÚ!ݲ¤£˜à}ƒ øR=¸øVï)‰o¨¤ôØgíiÎCH®J€U×"]fÃw6ZãŠÔZ‹BÊï…,‘ Mm¡éÕ²ô'Ýí.@5|J«juÔäµµ4jØ Ì6ZRM³²ò UÛ®,E59Mc]M„Ѕûȳzº5¹•L:9t°šÜÓ¸­Ž£’<›Á@!u5Õ%Ùµ%9u%ý+švAqTåeÅÃRÕ¿º½±ª¬hå´Íê¦6¿°¸M/¦œR¹’ BÈ@O‡Ÿ“¬hdÿÉCzoUý?GGU!”—_ØÆº'KYKNËDNËÿP-¹žšB($(ÀÀi°¾«O¿Ñ3ÿعMÍ~0Õ²˜!TV©ÖÖeáâ¥d8„ ß D!cC}²®)â‘H!E´Rû³BgMQ“Gjm”{›"„?Ç”WÂEµùe„PÏn®Šrì ÝêÞ²ʺmŽ'æ#„ÂæLÓP@ªÊJA?™J-á Bó‚TäºJ›?}f«Räî³Âg°$žrbçý¾X¿ªÈ8ì›Hö‹M”ððßhÕgÁe~É_[–W\˜Û½K»ìÔ{âžâ3.ÛU¡š“ïà™öu©ªÎÚ•8ÌJ0¼K¨‰±œ«¢Z˜–WR‘tTÍÙ¿®ÿ“‰ÙÏüzÚ]èÛóƒ=Ë©8r5¹&ÿ¹šË˜è³é3º©íÙ´ª¸´êÐí,ñÛþÿæŽsã\<úBè§U÷¨ã‘¸"E´R¹qûþ¶ÐÑFz%ï?üöÐÉóŠF¶ ¦\ìŸof{ªÿ¶rQ¯âàƒ"¯Îº4Ê*ºÓIåYOGô²;½vZyµpïÍÌ÷/.+wè+áíÌÃaÑ«Ñ}»\èÙí]YÍ‘;ÙîÖš¤!ÓÐÜI…~a_ÞVýyÍ}‰Su]êö«~œàßG/H'³q–…,&Ãq¡—g3B/ kf—>t¨B!B „˜áHù•¹‹Ý~¨†¯މJsøÙɲ<чj„c 9%V e›žl-3Þ_«‰Q&9Ã/˜ ²æÍÝEi¢ï™L6KÝPžÓVNM—¥m&ÈLªÎ¸‡ Þ3UªÓȰï_\ä>!L?í¿PÇ#‘@ŠhŽ]ÿµ;B¨“ç`%Añ[ìÃ{&[Q^ÇR^ÛŒ¥nÈTÖä$W§ßÁ>T1TMªÓn‘ñÙ”P¼Ä÷qAUõ›»µÅi"AS¾’‰£¼Ž%SÍ@ò«©¬ys[Pð  ,­ÛŸÙ½63;wèØj¼ä í(r'Qø‡ô hiª“O´2'û]!mU'Ÿ°8ë]A!BHX’ýiñ1Ù ëék².Q¸c¯Ç’g3ÊøÂ …ÆO9Þ]Ôå33÷h]ÄÕD!&OÑ´r”±õ(Yã¹À—©n¨d­†óKpá„aáˆÁD†c"u×1xM…xý2äÚ(Zv•׵ƅ5!œÁWb´ÑÀ1‘œAGU5$¨Æqb²Ôœ†£Ú"¬’¹«<ÇÕÖ „×¾{ÆÖï@Dò(¢•š9Mcy½v¸0 1YLeCIÇDrzíTU´QÍ{Ç‹¥î4¯åñÙ”P¼>+9%%K7=kü!ƒÁÂYòuS5ÖåÀ5Õ´·í9*¬þÝB»öc*(#¢.4‰Â§8¤_˜À¶Uë…‰>ö«ŠUÖG[õփǒ6mu¹yáŸFXî•ÁL½O_ÀVqÓß”o–gr,´§+ªÁ%Ð<Ü\öa«ªuÌÒµùvÖ³ƒÎh' ks#{Wvàè©ËÏ)™8ÈéX²´Ì¡â~þ¯†åªB(ÿu“ôáÙÍ­Z V«hÚ”¤²BIçw—åBq4…¼ÌÀà°J @sª ª ª ª €ª€ª€ª ª- ›¾W@å@ëDAA¡ùUõ]nv⽄¢BXª€Ö‹ÉÒÖÑuéêiÑÖº™U5/7ûöË^¾£M-mX,61 ¸øáa¢´ç);!¯ `dlÚœªzÿÎ!ÃÇšY¶Ãq  ¡¬h%Xwè$îß¹á;rÿtG«xE…Ffm1L„aذa¾8ŽÃ_ø áokø‹ã¸‰9¯ˆî Ïnn·nß«w&À›×.\¶^$ªõñ~úÔ x|ðÝñøþ5—ƒ?ªé!¯²¢|צUÓg‡Q{&f¤ÛÀ`0Âq ;uâN{B€o)¡x8†1t“h«*“ã8Žc~ÃýOž8 À÷ªªxT•P<ÇÌfWU!„ãø‰ãGp‡Šà»UÕ(¡x8ŽÓ·UéŽV1ÿ‹ÑoĨ&f)áßÛ6ímÛ¨h4"lãBPPZZZZZ*ÝVýOñ˜Í®ª¤NŸ<~¤‰Xüë’ ë×UW•A]ð-Hª×a^C†IVRñZ _•Á@8ŽpÜoÄ(ò2mT5‰Sª**ææ}ûô™;g‡Ã¡Ž*55µ_ß>¨ÑÝ8N\ºº²ÓO’:Ô§¬´ !ä5dØŸçNkjjJت'A8j&G'z"6„ÐûÊÒªŠ’ôô—Û·ÆñkønÝ<3³³IR·š[NŽÚ¬ ÕÙ 6Ø`£/ âÒQRZê5Ô§“½ý㔤Ç)Iìí½†ú””–Š!Éd6³ª’:=\Z¿ªr›6;wŠ]»zâ„ñ+¢¢ G‘H´tY¤™…5G×`â¤)UUU!eUMâ/±“‘™9bäh=}c-Žþ0ßáÅÅÅ#Týìq!õŒ (((ú±%n#›Íf³Ù[â6ú¡  (î‡TvwÆÿïÀoëÖª¨¨DE.;{î|]ÿÜíÙ³‡’’¢ššÚòåK®^»ÏO¾HÅk‰~UÑqüØa\vçf~a¡¶¶±ÿ.?ßÁÉUYMKYM˪]q1·n¨{÷üÜ®¾±²š–ŽžÇ“3‚~UØ`ƒ­¹ûUßóù›â¶Š0Œ8aئ¸­ïù|ñ ¤â1™-a«â8Âñ#GSôÄïû_ï^=‰}}=½×/žU•óˆ­²Œ[7Ôø‰AÓ§¦½J­,ãæçfâÿ¹³Ùìêêjb¿„Ç“èziØ`ƒ ¶õøü£GÏž+¬­ÖÖÏž{ôè1Ÿ/„T¼ì8~ôPݳÕ|þã'OÂ~Y¿ÿ@į‹Ç)SfÏ ÉÈÈ …©©Ï'L­ϯQPPTPPÈÌÊ žBºÛÛÙnÜWÍç¿{—?g^hÝ€êêêiiéðz@£ÑÔÔ<öÔ“'Oº¸:tq}òäéù³§$¾¬"¯%~[õñ˪áþcÄÍiumU ŽEÛvA3fË+(ÜN¸ijjJœ2×ݽ«×}〩Ӈ ñªûò¾5nÓ/‹#t LyywíêFžÚ¼ù÷ .›ÿÜo`Ïžžu_üçÎ îÞó'umx© 6Ø×€#¤¡©yîì) u õsgOihjJ!É mƒÒœ ðä¡]güò¡¦žo|§¼x|×¥Çàªrž„;ñ«* +UœÊŠŠ '÷ù™F?1`ƒ{FŒuÀÖ KRIÅkÉ~Õ#‡ h%Š×üóÊâ6rô¸c‡@YðÒ Y« ÅÃqŒÙ³«à8†a¢#ã1LÀwJƒŒP< µÔZ&=nÒáû bøî°êàXZœ×  „âáXÖ Û¯Êf²0L„‰Dãw;‰à/ü…¿ð÷‡ÿ{0~7& …µl&‹® Jó˪»7þjgë ®© ;Zù¹Ù9™iî½P{kØ«íìŸ>¼ÛÑÁEC[‡EÛÂø®!¬ŒWüæÕS{'÷fîWÕâèuèì’þòiey)†ÃÊÕ´ ˜ ¦ªºf‡Î.Z½fVU„YÛfm;@)Р`h~U¥)@ë5o¡@U@U@UPUPU€V¥ªÚz&Úz&ÃüFáäŠZÿ9Ò e ¨ª$ ÿÞÞ³÷PjÍ£ª?÷é½<*«î) Ã~ßçàä®gdѹK× 7cFªu-VÇ·nßåìÖ]ߨ¢“£ÛÆÍ[%L`¨Z…ªnþ}½’¢bðœ¬ÎdÚ7o‰ŠY3Ì{pÖ›C‡ Z³vÓæ­!^aáW˜CîÇmݱdÙ 77׌´çcÇø¯X¹jëö]P´:UÕÕÕÙ°~ͽû‰uEp_üA„ÐÌ éŠŠŠ³f"„öýï ¬xöìG-™£¤¤4}*Bh÷ž}äYR|¾;Ø à5hÀØ1þ1«cûõí#î^PXˆâp´B::„P~A¬HÞå „œ»z’.9¹yP´:[•`ÕÊH}½™Áó$ÌX„—Ë#ÿèëËŠÁÈÐ!ôòY2Ñ-À+Ì)Îςʠ•ªª²²òö­›ž<}&îè?b8Bhëö`˶¡ ã?®£­¦¦ŠÊÌÊ&=NŸ‚ZS^^QUUuåêõáþcɳ0Z@+ê pqv ™¼î·¤KøÂù&:vâÔÖí»ôõô…/˜7gqjahȺß~wrõ@ÿõ™N›¢¨¨¸{O|{[E7W¢+à{‡îºU5ĺUð‹U€æTTTThª ´B¡µtÆoß¹×ÉÑíG-´/Ÿ¯VÕüÀV@j¥°,råÚÕ+¿â”`:€ª¶Tê»Å†RÓ©W.Ÿ¿xÙç§Þ_±X¾‹9†(ª²5ß)ìo9qdÃÒÖ3‰¬€/‰@ “cC9­¨`oü~'w}c‹^}<}–J8ŠD¢¨èÕí::™YO>³ªªJê#tϾý]\º[zôèsï~âá#Ç]Ü{Q=ñ’"*âñ+n2gfe?ÙÔ²½¡IÛ‘£Çs¹\ÂýÊÕë=úè[88¹ï?x˜:yÚz&Ûvì²wtÕÖ3±é鬬œLmiYY;[Dz²òzÃrôM%uáÇà¹óÍmÚÛ9nÞ²]\/æÍ3·ê`nÕ!$4\ P'Oj^$ŠTjuH½PÝ2§¡å&ýº22.Õ’’‰D"e•˜DáÓlZRÛLÝb!w(®.5ûâÈjŸ¡MqÛÚÙ:›ÛÌž*øð¡ÞkÕ-=Šª”zªÑ÷lMMÍÌÙ!D…nŠÛVïÝ×”{œNƒÿaUõöí»—.œ~û:ÕkЀÐpÂqÃÆ¸”ÇO®_¹ô*5YQI12*FjØ›·Ο=ñ6-u¸ß0ÿ1._½væä‘Œ´çÞC½¨£"ìeñé·ÇŒ›8åõó”—©)VmÛF,]A¸Ï ž÷KXhÖÛWÎHJzToò>L¾~å¯0gè¯øýŸæ¥ÿßÁá¾Ã44Ôë Ë-È–ÈæªÕ±<^IJÒ„ë—þ½MºG¯Z[PX˜t/!ñnBn^^ÌêXêäIÍ êz¡ºe(NCËMêueeœ~[’H¤¬«[øtš–Ô6CQ,W—š}qdµO„ÐÝ{÷oß¼œ’t§¸˜»zͺz¯%ëURjš¥žjô=³:¶¢¢"åáÝo^¹?‘Nî}ÓlðÔ|óHôh뙤¿zª©¡âóùæV ó2BNî'ް²j‹*.æzöîûòYrݨÒ^>ÑÒÔ$›ۈÖE_ŸÏwprõ<!ÔÉÑmNðŒAû(âL}œ¤¯¯‡JKKî?îáƒÙl¶P(téêyþì c##:a%°sp9ú¸……9BèÍ›·®Ýz)·íì|þôqKK ÂÝÛÏÿYJ"Eò¤æE¢H¥V‡¬ Q”aCËMêuee\j‹’‰x")2"^ø4›–¬6S·‘S×—¬”ËBâZI÷ˆ"zû6ÃÛÏÿiòúU&^z²ª²ïY;— gOš›™"„222»zÖ½¨Dîšr×Ûà) æø^{ŽˆêA))) …Bb?¿ ÀÍ£×§'ƒ!5,Q¾DX‰Ã†Fõ 1)2*æÉÓÔêêjqoñ{w®[¿qMìojjªÑ+—è×—:Nòδ¶¶jßÞæüŸ—|¼‡œ»pÑÕÅÙØÈˆfX ŠŠŠMM?¾+™™}ê(.æ’‡ff¦ÅÅ\ê,KÍ êu! ZnR¯++ã jKâPdD¢ðé4-YmFW¯7å×"‹ÈÔÔ¤¨¨¸ÑUöîÙ¢¢bc#bßÄĘNîšrÓið?f€TôtuŸ¥$’3a×})nö¨&O›1uJ@êã$nAvfú rMCG‡Î÷ïyýâñê˜(òƒfœAÓ§îØ¹!´cçîY35]]ììtr!¤£Ã!³²²‰å(.!5/tu! šRnõf¼Ñ4"#Èj3-quŠk‘qæää‹wP\‹Ífóù|b¿¤´ô ß³::r­œœÜF—$ÍK7ºÁÿ˜ª0i\È‚ðŒÌ,¡PøüÅË©Óg6{Têêjééo>õ£ók²²sBBÃH÷i³^½N« q E J^ï^=*++ÿؽOYY¹“½]£³æçã±t—Çãr¹‹—,'Ý}¼‡.^²œËår¹ÜEË|‡ ¥¾„Ô¼ÐAÖ…$ÊPœ¦”[½o4²2Ò8dµYÅÒ”«ËºBècñx¿.‰î;ŒúZ¶¶â¶îàóùùù¡ Õ›fêS ½g}‡ ]²l¯¤„WR"ÞyJ‘»¦Üã²<ýoÅ~(U;{VWW¿QÆæÖÓƒ‚½¼6{TÁ3ƒ~êçE–ï¦ß×E,41·ñöéæêB8°ÿ„€i&æ6‘Q1Û·njhò‚§.ŠX6{VPS²¶ø—…êê»tõèÙ×£›û§Ûiq˜ŽÇÉÍÓÉÍS__ï×EaÔ—š:ȺDŠÓÄr£Îx£‘•‘Æ!«ÍÈ*–¦\]ÖµBnn.=~vpr×ÔÒ\¾€úZ¿¯_{ñÒßæVöñìîQoš©O5ôž]üËBeåNŽnÝ<û8;;’_¼Qä®)÷x£üw6Z€JKK÷3áQâo3y0k5ß¿.‰,++/**^²5›cxþ¼9±ë6`FÆ®û=pÚ55ÕMÏ\·¸ÑЍ[ð#ñ­Ï@Î}Ëåñ–EF———ˆß-îNgÖÛFÏ'-NC'T¦sóЙH˜Â]|ÊdŠù†é—š`Š9•ë-1YÓo׿¬ ’=ÇðÏýNî;ŒÈþƒ;7•””1=³xq5®1Àòk?<ßÍ<ÄK“³[÷÷ïßoXãXö| IDAT·Fâ,1õ,á§½#—ûq8ëAb’×P_‹vÚz&Ææ6¼’’FÓÞ×oÜêùS'W¿þ¹L‰8(¬„! S¸‹O™L1ß0àt’G§ØIÈé·BâÓoÓŒŸþ¥Ö‹8¡!sb×ÿ.‰V¯]?gÖ bãFLÏ,^\ÍÕ€’ï ïœúñ®§«û÷ųú͈Š\Ú§w/UU•ªª÷æVwbJZǯ\½>'dÁ€§})"§Ñi& !”C•â S¸‹CÌ7Lx“˜Û˜Np:É£SìâMŸº&ö7ï!;vîŽ]M3~b‚dBûÄ'H–uE©õ"΀þ}cVÇFE¯NLz·yuqɺz 5úU¿EdM=ÛìóI7( Å”½ H˜Â]йé¯7y9¢SbR§ß®w¦aY$7zRmƒ1?dÎæ-ÛCçÏ•—“£..YWoJc x Uý‘5õl³Ï'Ý €Sö6t"a ÷ÏYöÜÆt‚×›<‰ÑœIºîôÛõÎ4,k‚ä¦Ì1Ìb2---F^oqɺzSÐÚ€Y«¿¡îc©}Mâ€„ÐØ “}}¼ý|¼¡™-Ê÷½Æ*Ðð‡ŽdddúxÒ¾  ªÀŒŽ™©‰ñî]Û˜L˜òUmeÈzOoâû{+ý‡ÞàËpPUPUPUTTàǾ¬úAj  åPPPUmuUþ6ýõÝÛ7 óßAiMŒz<°˜,Ž®^Wž–V6 ª­‹Üì¬WÿéçåkbnÉbAµ-ÖE…-[³•†‰^¥¦\LÇ0a­€Â•MÇŸ ¹›p}ÄØI ª­ˆâÂ#˜¯ØÀdà8&}63¯P(d³?ÓF]Cã⢺J Åúc€ã¼ø@ƒU•ÁÀ1  É-ùÑ£.ήɉ;2 Ç@U[Û#ªÑÀÀqÃDÄ–œ’2ÔÇïíÛŒ¡>~É))¤;†‰˜õl}Sªú–š¸}ç^'G7úúîV¿ _åHô|´R““}ýüÆæe¥…/ õõóONN&Ná"ƒI÷k-ïŒË"W®]½r@ÿ¾?ð‹ Ü!Ðps„‰ã8†a¡+W-]²hìh„ÐÔÉ•”W¬\uüÈ„†aL]”®?m=“£Æá8þtÏ_¼ìóSo©ù"6 뎓§Íàò¾×Õ†é?H UÁårMMMe™â7ÎáûI%;Úÿð}¸ÅР©¡±{OüwZ²@NNºaÎ+Ìáæ$Þ½¥ /?Á/ßí#T¤½§.[6cÆ Ê'66›Eî×ui‘~ÕØ51»öìKKK—jñI=ÔÖ3Ù³o—nÆ–=úÜ»ŸxøÈq÷úƽú xþâ%dSܶv¶ŽÆæ6³ç… >| E"QTôêvŒÌ¬§NŸYUUEF»mÇ.{GW޾i]õœ7?Ìܪƒ¹U‡Ðp@@¦‡°IeåŽÃáÄDG^¿qKÂ=3+{ìøÉ¦–í MÚŽ=žËå"„{û:sŽô“›—×±“SEE%Í_¹zÝ£G}c '÷ý7“­ £U É‹/þþûï™7ƒñ¹ÊÜ-¡ªêêj¿Å® ž[[+¤êæ­„ógO¼MKî7ÌÌ„ËW¯9y$#í¹÷P¯ÐpÒÛÝ{÷oß¼œ’t§¸˜»zÍ:ÂqÃÆ¸”ÇO®_¹ô*5YQI12*†ôÿðaòõ+—¸Ù—‹^µ¶ °0é^Bâ݄ܼ¼˜Õ±è¿e6›”J˜”R3nRPà”×ÏS^¦¦Xµm±tBhþ¼9±ë6}1¡Øu¿N›¢¦¦J3Á3ƒçýšõöÕ…s'’’­ -Ä‚ V¬X¡¨¨(Ûaàá¯w£ß@wåjräå+¢Ylö’ÅáâŽË#‹»§½|¢¥©‰âóùÆæ6â‡æV ó2oI÷,,ÌBoßfxûù?M~€rpr?qô€•U[„Pq1׳wß—Ï’ ÿ©“ôõõê¦Ó¶³óùÓÇ---BoÞ¼õöó–’ˆh¬ Íåñ–EF———ˆß-Ë?ŸÏwprõ<!ôsÿÁAS‡û#üàÎM%%%š îäè6'xÆ ý š«õìݾaÚÜ%jêp#ÁåË—#""îÝ»Ç`0 †Ä°ÁoQ¡A!K/ûƒ:*WÏþ§ŽìBí­‘+W/^6ÀË»oŸŸºº¹ÐñOh(BHIIIâP(üdóššš;EEÅÄ~~A›G¯Ïlõÿ*©„–™™}ì033-.æÖ›B¢[@UU¥WÏÖ­‘8û 1)2*æÉÓÔêêjñ4„†ÌYãã=dõÚõsfÍ rG3Áñ{w®[¿qMìojjªÑ+—è× _&0a´ >'44tëÖ­Ôoî !ôó`ê¨*ÊÊ´¿h°ªÊËÉm‹Û8iòôËÿ ›Íçó e))-mDþ³³s[5''WG‡C8êéêþ}ñ¬>ýxtt8dTYYÙŽv½A¨»&O›¹´Oï^ªª*UUïÍ­:îú÷Y½:1éaÜæ J°£Cçƒû÷à8~åêõ9! |ñÒOïݶâ¶îàóùùù¡ 5"Έ¥+¸<—ÇûuIäpßa„cÀ¤q! Â32³„Báó/§NŸYo<>ÞC/YÎår¹\e¾Ã†6±bjø5Š Š YÙ9!¡aâ54?dÎæ-ÛCçÏ•—“kP‚§Îzõ:­V(Äq\$5K‚~U”B1ˆCéæÈãQÂZ‘ÄÕ'Ô2£UŸéÂÔ€¢¢"òð÷õk/^úÛܪãÀÁ>žÝ=¡››‹GŸœÜ5µ4…/ çΞÕÕÕÅÇo”±¹õô `/¯õ«óâ0Ž“›§“›§¾¾Þ¯‹ÂšX1›~_±4ÒÄÜÆÛg¤›ëg,&ÓÒÒbÔÈᤠÍØBÀ4s›È¨˜í[75K‚o  æŽ>fBÀ¡#ÇHM=täØ˜ ø²ŠîhP—±&ûúxûùx ‰9´wË„ p­€±eí¢€áï+KBOž>9fâ‚9cGÞC¾•G.ŒV@clU&Žã8†!„ìm;=°oʉ‹—Djhh?ooÛ‘8…7ä« ªAÇÀÌÔÄx÷®mÌoæ½F« 171» öqxÃζý±ƒ{g…ìØ²Áζ=éŽa̮ҲP6𕹠ªÐs„œ]…À¶c‡Wþd³XâŽ8†Ñ7\@UXl6&A9@CÍb~ÕÏ‘„ &²Y,PÕÖ…–¶.[ ¡¥ E ê(ãå×ë­²ªR“£ ªÚº°spILøGQQÑÀÈœIû¡ ­ÞVe²Xrp/++yóò‰£[OPÕÖG× ““Ûƒ„¿*ÊJÄûƒ ²UŒ.§’]&SMCËÞÉ£K÷Gž ª?JÊjÖvÖvPÐðßW€ªB•ð5z @U¾Q àA ¨B€–CAATµÕUùÛô×woß,Ì¥4©÷S,&‹£«×Õ£§¥• ¨jë"7;ëÆÕúyùš˜[²XP­@‹uQaËÖl¥ð€a¢W©)Ï——W065UmEÜI¸6h˜G{G(  “ÁÄ1LX+ ðceÓñçCî&\1v¨j+¢¸°ÀÀÈÊÖÀdà8&ú| ¡PÈf¦º†ÆÅEt•ŠõÇÇ1xñ€«*ƒc&’[ò£G]œ]“=wd2N÷'‹ ª?Ì#ªÑðqÎ*bKNIêã÷ömÆP¿ä”ÒÃDÌ–^· ø4®ࣕšœìëç¾04/+-|a¨¯Ÿrr2q ‰¾è¬ÕÚz&ßà,Îßc"›ø"w4Üa’³V¯X¹jé’EcGû#„¦Nž¨¤¤¸båªãG „°†¬°BË_û.äYyy…g¯¾eeåÔj¥­×"C(Úz&ÄfaÝqò´\Ú½’*+ä…Ä·–“þ¦ž>K•šNj2³²ÇŽŸljÙÞФíÈÑã¹\nÝ\ „jjjfÎ16·ioç¸)n¹H$ŠŠ^Ý®£ƒ‘™õÔé3«ªª‘†:\è"€ÏˆŽŽ644444ŒŽŽÞ·oŸT#÷s!•¹1šWU;u²773=á"érêÔ™.ŽmÛZŠ{[ûÛËW¯n\ý+9ñî»wùä{·¸}½jmAaaÒ½„Ä» ¹yy1«cÉà&_¿r‰[=ÞœØuH]÷{à´)jjª2}Ê-Eü$·oß½táôÛש^ƒ„„†KM'5cÆM œòúyÊËÔ«¶m#–®¨› „PÌêØŠŠŠ”‡wÿ½yåþýDÒφq)Ÿ\¿réUj²¢’bdTL#Ò¶*P“ššêììLì;99¥¦¦JíÀÂ^ïF¿€áÙÍíÖí{%E¹Ôþnß¹»,2úÊ߈CÏ^}7nˆíâè€Ä‚ì]Ïœ8"!µÃD¶ÏŸ>niizóæ­·Ÿÿ³”DÂ[êã$}}=ÂÛÏýNî;ìíÛ o?ÿwn*))I–Ëã-‹Œ.//?¿›:~¿¶žIú«§š!>ŸonÕ±0/ÑÎ’åÏç;8¹¿zžR7v.Ξ473Eedd:wõ$bppr?qô€•U[„Pq1׳wß—Ï’QÓ†Ôönß0mî5u ¸—€V ±`*yÈb±jkk‰åå1 “—— …A~‹ YzáØÔ1»zö?udï¤Àjo…y™Á è~àÑÍÅbý{ûNwn×®ßÔÔÔ$$õ³ ‹ÌÌL©ã).æ’~ÌÌL‹‹¹ä)RŒB¡!s–GÅøxY½výœY3$$Uü¥^UU¥WÏÖ­©7~BRBJJJuK™“"£bžÞC/YÎår¹\e¾Ã†ÊÒˆù!s6oÙ:®¼œýDÒŒ¿.餦†_£¨   ¨•&˛ﰡK–­à•”ðJJÄû^& Yž‘™% Ÿ¿x9uúÌF¤A²"AUàs&L˜ñîÝ»wïÞEDDLš4Iº9òßx”°V$1BõÉ5÷hyù9³gΞ· xVTa æÛX[÷èݯ‹k7ccCÂ1xfÐOý¼ÈqíˆÅa::'7O'7O}}½_É”$“iii1jäð•#ýø%H'5›~_±4ÒÄÜÆÛg¤›«‹,o‹Y¨¢¬ÜÉÑ­›gggG9¹ý-sgÏêêêâã7ÊØÜzzP°—×ÀF¤A²và C~¬*þÕj```÷îÝmmmmmm{ôè1eÊÙæŽ>fBÀ¡#ÇHM=täØ˜ ø²ŠîhÕ—gì„ɾ>Þ~>Þ?F­§¥¥û™ð(ñN Åhï– Aá0Z bËÚE3ÂßW–"„ž<}6rÌÄ!sÆŽyðð±u6;ßÉÞ!TUUyñÌáÑ“fQÇFŒV}‹†aÿ;p(##ÓÇ{È÷^g¿.‰,++/**^²Î¯jgÛþØÁ=³BvlÙ`gÛžtÇ0ì‹Î®ÒìüHÓ N›8mÊy䂪@cÌrvÛŽn\ù“Íb‰;âFßpyŽXl6öù|æÐ1GˆùU?wD.˜HÈf±@U[ZÚº{öìÆ»wï–qãàÄÆf³Èýº.-Ò¯»&fמ}iiéR-8©‡Úz&{öíïâÒÍÀØÒ£GŸ{÷9îâÞCߨ¢WŸÏ_¼$ƒlŠÛÖÎÖÑØÜfö¼PÁ‡„£H$ŠŠ^Ý®£ƒ‘™õÔé3«ªªÈh·íØeïèÊÑ7­«žó懙[u0·ê.Èô6fÝÄ_¹z]]CcÚÔMMÍ«×nÐ, ‡yýÆ- ÷̬ì±ã'›Z¶74i;rôx.—‹ìíwêÌ9ÒOn^^ÇNN•43xåêu}ô-œÜ÷<,ÃV…Ñ*øŒøøøèèhCCCCCÃèèè}ûöI¹qŒÏ…TæÆh UUWWû-vUPðÜÚZ!ýP7o%œ?{âmZêp¿aþc&\¾zíÌÉ#iϽ‡z…„†“ÞîÞ»ûæå”¤;ÅÅÜÕkÖŽ6Æ¥<~rýÊ¥W©ÉŠJŠ‘Q1¤ÿ‡“¯_¹Ä-È–¸\ôªµ……I÷ï&äæåŬŽ%¬KÒÆ¬›Â=ûþ7mò$„Д€‰»÷6Àg )¥ßÁÉýÕó„ÐÏýNî;ŒÈàƒ;7•””hf°“£Ûœàƒö744UA{·o˜6w‰šºÜK@Àb±jkk™L&ÑÑ'///JZ„¿E……,½pìê¨\=ûŸ:²wR`µ·Â¼ÌÀà þ`ñ¢°^Þ}ûüÔÕÍ…ŽBCBJJJ‡â9455!wŠŠŠ‰ýü‚7^ŸÙêÿ!UR m23ûØ-`ffZ\Ì¥NÞÞ}ÿãòx†¦Vâ.Ë—þJý€A©ªªôêÙcú5g$&EFÅNâdg¦¿ ‡ôï+/'½:1éáĉã”AG‡Î÷ïyýâñê˜(ñnÉî!Äß\mm“’’þëR{hkk+ÃÁE"!õ†#œÉlÉ_´³±˜8>|ñR±ÔwˆÛºƒÏççç„.\Ôˆ8#–®àòx\ï×%‘Ã}‡Ž“Æ…,ÏÈÌ …Ï_¼œ:}f½ñøx]¼d9—Ëår¹‹"–ùJáùÔésN]MMŒI3S‡N§ÅF–J ¿FQAAAQ!+;'$4L\õæ‡ÌÙ¼e{èü¹òrr Êà´ÀY¯^§Õ …8Ž‹„"é ª Ÿ3a„ˆˆˆwïÞ½{÷.""bÒ¤IÒÍ‘ÿÆ£„µ"‰ªO.¨eF«>»Ï§‘‡¿¯_{ñÒßæVöñìîшÝÜ\~£ŒÍ­§{y ¬_‡éèpœÜ<Ü<õõõ~]Fáù½û&Lp ˜4þ&|@¶é÷uK#MÌm¼}Fº¹~ÖIÂb2---FNºÐÌàÀý'L31·‰ŒŠÙ¾u“t[¾€Ï ìÞ½»­­­­­m=¦L™"ÛÁÂÇL8tä©©‡Ž3! _VÑ­šÎØ “}}¼ý|¼["òC{·L ‡Ñ*h[Ö. ˜þ¾²!ôä鳑c&.™3vôȃ‡­Û°éØ¡øNöv¡ªªÊ‹gž4‹:¶FŽVð‡Ždddúxi¡KÀh4æÆa0qÇ1 !doÛñè}#ÆL\¼$RCCãø¡x{ÛŽÄ)¼!¿XUý蘙šïÞµÙbïé0Z¹qˆÙU°Ãv¶íÜ8+dÇ– v¶íIw Ã`v•o ©ŸÊ6÷#Tc޳«ØvìpãÊŸlKÜÇ0ú† ¨ê‹ÍÆD"(h¨9B̯ú¹#’pÁDB6‹ªÚºÐÒÖåq 4´´¡( A=e¼üz½UVUjrtAU[v.‰ ÿ(**™3i?T ÕÛªLKŽÂŽãee%o^>qtë ªÚºàètrr{ðWEY ù @1Œ.§’]&SMCËÞÉ£«ªÚºPRV³°¶³°¶ƒ¢€–€ÿ¾Tª€¯Ñ«Eª ª ª €ª€ª€ª ª ª ª@ëÇqÁ‡|>¿ººº¦¦¦¶Vø½ÌK@¬IM~± 4'µµÂêê÷¯_<ËÌLç"„ttõ­¬ÛÙ98±YÐØPUhjkKy%×þ9§©­3`ðCc3„лܬÛ7/¿<ïí;ZIYá¸,;ñ§Þ=Þ/>㺶žÉXF øF_ükø5·®]rpñlfi#'¯ '¯`fi3&`–ƒ“ûÅó'”ë©ijhìnš᪠üh†êÛô—:z=ûUWWëêêêêê¹ÇÍIDATWWWwëÙO›£÷êù&SæŒÚ±kbvíÙ—––^÷”@ ˜7?Ìܪƒ¹U‡Ðp@@³Ûvì²wtå蛇{öíïâÒÍÀØÒ£GŸ{÷9îâÞCߨ¢WŸÏ_¼$Befe?ÙÔ²½¡IÛ‘£Çs¹\¨>TøæÀD¢ô×ÏÝ{"„ª««\\\¼eË–°°0„³{Ô'É먫«ý»*(xnm­PâTôªµ……I÷ï&äæåŬŽ%O=|˜|ýÊ%nA6qxóVÂù³'Þ¦¥÷æ?fÂå«×Μ<’‘öÜ{¨WHh8ág̸IAS^?Oy™šbÕ¶mÄÒP}¨*ð-Â-.Ò70F:uJÜ8Ô70ÎÍɤ°UBÝÜ==º­Ž]/á~òôÙ˜¨åGG‡³:zÅÉÓgÉS+W,ãhZ­kÃú5F††JJJAÓ§VUU­[C¦<~Bø¹“pͳ»‡¢¢¢ššê’_ï߸u4#0Z4ëúîÝ»—Ž·º,^6ÀË»oŸŸºº¹ŽÅÅ\33SbßÌÌ´¸øÓ;»¾¾žxp-MMbGIIIâP(üh?HLŠŒŠyò4µººšN’lUà+Àb±utô òsB¾¾¾â§ˆÃ‚ü\cS \Æ7$òrrÛâ6†„†UUU‘Ž::œììdees8MZJvò´S§¤>Nâdg¦¿¨7Iª |Uev°µOº{ !´víÚY³féèèèèèÌš5kíÚµ¡¤»·ì\$–Y—J;뀉ãÃ/%]|¼‡.^²œËår¹ÜEË|‡ mJRkø5Š Š YÙ9!¡aPw¨*ðM¶$&³½m'^qÁ›ÿ´iÓ&..®¨¨¨¨¨(..®M›6wnýSÂ+²µw kéÄ6mj@QQy±8LG‡ãäæéäæ©¯¯÷ë¢&Iá¦ß×E,41·ñöéæêu4/ Ïnn·nß+)Ê…²š¿ºúÜ©Ãêšž}ÅP^V2|t€¼¼MU€ï‘¼ÌÀà0Z4'JÊÊ#ÇM}öøáå‹'‹ Bºúí;têìãa"T 5ª 4+8Î@¨³£‹£sW&“… „ã&Ö `PU€F‚a":£RðC£U ª ª ª¨*¨*¨*ª ª ªúk¾·48Ž >|àóùÕÕÕ555µµB þzuC½_ øÅ*МÔÖ ««ß¿~ñ,33[TˆÒÑÕ·²ngçàÄfAcÀV£¢¢rqÄrGgw=#‹¶íìÆMœr+áßoÄö$6SËö>ÃG¿z•úµøP[[Âã]<{ŒÇ+0xDØÒذ¥±ý/((8q8ž_]d¯eò=Ö#™æ¦¼!]½vc˜ß(CS+«vöA3çH]ð íSU§LŸ!Öž9uì]vúý;7‡û[÷ÛÆo$¼Â^aγ”Äîî3fC¥~­ÿ~Í­k—\<Æ›YÚÈÉ+ÈÉ+˜YÚŒ ˜åàä~ñüIƒù#Õ#‘à&F²uûÎà™i/ß»}]MMuj`0´¥Ö¢ªÿþ{gÙ’Åf¦&,‹£­=Ì{ȹÓljS"‘(*zu»ŽFfÖS§Ï¬ªª*-+³é鬬œ ^ZVÖÎÖ±¬¬¼®gòi¼7~¿ƒ“;±tûÓg©„û•«×=zôÑ7¶pprßð0E ÕÔTƒg½zõZêã½îÓ^VJ€FªoÓ_êèxôìW÷l·žý´9z¯ž?¡^cµn=R4˜m;vÙ;ºrôMB`Þü0s«æVBBÃ4Ë %«5Ò¡n‹%Úž,«öä±C?÷é­¬¬Ìáp"—EN"—­¶íì|þôqKK „Л7o½ýüŸ¥$J­wq(BIm²Z xÌR[¬Ô«KðôYêÄ€iÇhÛÖ’úm[¼L}O†Xa…®­ª®®¶ä×_nߺš—•vâèêêêÉÓf§ò Ü'dÁ€§}e¥ÊÂÜlû–M}ú{õìÑ]EE…Ífóù|%%%„PIiiÝ M @ ‹ÅÖÑÑ/ÈÏ55·’ê¡ ?×ØÔ‚z•ºõH³štt8ÙÙ9桬¬lG›NšªYZ¬8§ÏžXy0~ƒC'Z7m}m»ÙS´H¿êPŸgΞ/.æŠD¢¼wï"W®rvîBœ ˜4.dAxFf–P(|þâåÔé3 ÷Þ½zTVVþ±{Ÿ²²r'{;jϲ˜8ëÕë´Z¡Çq‘°žE; ºº¹ž8u!dkÛ!në>ŸŸŸ_ºpQ]Ï M PŸª2;ØÚ'ݽ%ËCÒÝ[ö.tV^¯GšÕäã=tñ’å\.—Ëå.ŠXæ;l(47.T#Z¬ººZzú©þ·nßµ<2úô‰#’*¼Þ¶ÝŒ÷Ђªº0tÞ©3çºvïe`Òv€×°êêê=»¶§æÎžÕÕÕÅÇo”±¹õô `/¯ŸÌÕÀ©‹"–ÍžDºPx–ÊÀý'L31·‰ŒŠÙ¾uS½éœ0nLüþC¡ßׯ½xéos«Žûxv÷¨ë³¡)êiILf{ÛN¼â‚;7ÿ©{öέJxE¶öŽ4—Y%ë‘f5E,ÓÑá8¹y:¹yêëëýº(ŒÎUŠ„— —ÚbƒgýÔÏKê7K–­ÈÍËsïÞ›üúõýû÷~$‚×Û¶›÷žüBOs´ èÀ¯®>wê°º&Ç£g_Cc3„лܬÛ7/——•  //‹W?0ÄhüˆhN””•GŽ›úìñÃËO „tõ ÚwèÔÙÇÃD ©@kThVpœPgGGç®L& 1Ç1L$¬PS¨*ÈÃDtF¥à‡æWUUU@U@U@UPUPUPU •‚ã¸àÃ>Ÿ_]]]SSS[+Ä0ìk%FÖZO- à«@sR[+¬®~ÿúųÌÌtnQ!BHGWßʺƒ› U€†ð¡¶¶”WríŸsšÚ:Ÿ ðåáxoßÑJÊÊHÆ+¤U¨¬¬ìÔÅquÌŠv6Ößf6% XUU•ÌôPû¨*Ðü/þ5üš[×.9¸xˆ/^mficfisçæ?ÏŸ>zŽËœu…XÒ®¢¢r×î½3f߸ú×·™Sñ•ø¶íØUPPµˆýª@³ªoÓ_êèˆK*I·žý´9z¯ž?a2ëY¹ZMM5xVЫW¯‰C‘H½º]G#3ë©ÓgVUU‘ã¶»ì]9ú¦!@0o~˜¹Us«!¡á€Nš3³²ÇŽŸljÙÞФíÈÑã¹\nC³¼ë½AÓ§‡W®^÷èÑGߨÂÁÉ}ÿÁÃÐ$@U I`"QúëçÎî=eypvï‘ú$™ÉªGU+**7Çm³³û¸Öä†q)Ÿ\¿réUj²¢’bdT éóáÃäëW.q ²BÑ«Ö&ÝKH¼››—³:–NšÇŒ›8åõó”—©)VmÛF,]Ñ ,=vÂÃÃ\©pfð¼_ÂB³Þ¾ºpîDRÒ#hÐM…[\¤o`,묾qnN&…­JöWêééþõçYbÿÀÁ#'Ž V®_±Ø³wߨ5…uåŠeí«¢ž<}öüéã!´:z…·Ÿ䲈z|'á±£¨¨¸ä×p'÷R™Œ{?éíééãýhšî½{þ{áâ¥ÑÿxÝoȈ3?ŸÅ[© `“.vvŽU•mN+YUYæêæ¡}žç!tÿê‹„¨èvÕÁÞ>#-EZ]ÊÞØóý–ììlKJ^D*..±µµáòšçÌ[47,4óVª¤ªD”Ÿ­×0Û¾X±H½eð ßíÛ›}+>nãòÈh¼%ª¦*Õ×÷ÅÔ«—ÚZ!õê¥ùs™yÅÙÙihÀCG !¡ïÍZ]$*V(YÙ9sç¿ßê&!‚c>X/‘H$ÉêØu“&syÍò&¹)ŸÏ7å—”.ÔcÚê³ç~133 â¯Þ8oAøÜ¼ Ã0J&˜AªøN¢¨>¾¤5UW~ý¹å£W.ý,“Š}_ÌqšÕÙ³fìÝw€²4"|èÿ·ÞvzÏ_¸80p\«ëÇÆ¬´³³õ é0ÒÑÑaÍjN™°mKìÚ ¡Ï„©©Ý¶„K/Òh7îõÙ¡óBŸ ã¾úwÞoäð€K¿]“‰ËP 0\SccÒ‘ï{ZÙŽýšú¯jïÉ&OíÖ­+&¯†çXu¹hÁâ(|ŒÉ¬G©³æfܺqöÔaqu!ÄÞÑ©OßC¦Ñ´‘ RŒŠax„ ì?øå¡eBx<Â04­T‹…èøéŒ¿Ï]ªòx„u›¿Ò²Î†è…mML¤šë­G~/ Žû°·wÇ)„¥ê÷ùD÷ªRܦ{£´N÷F©««ßõõž‹".ž?óÜÔQy8¢èäô¸Zeø$š¬^°X¾ðÎ\vQT\2ó9n½ú8 <§NG"‘¨âiÏÞ}ƒü†9ºzŒùçé™l{óŸ.^ºÂUèÓ§ÿà_<:pnnn^¶b¥Ð«¯Ð«ïòÈèææfÕ~v³ï%ÿáN®½FŒúçµßS¾ÿá ÿ°Qìn³²s46Ùé$­.eFT\²tyTzz›ª×SR7lŒ»žÙØØ¨1€À!ÄÌÌL¡P°÷Åâ7·‡íîî¦Z¹¦F¢Ztww«©‘¨b3”ÝÆ¢j·êîäæEE¯9rð©„ʪª€cô Ѳ•F†ª/j)ˆöÊÀ³6À£ _ÇãyÝ¿ú"!*:†gœ3oÑܰÐÌ[©’ªQ~¶ÎÙìííJJ ªîBììlU‹ÅÅ%¶¶6í«ˆD"™:oçö­×G‡Òööi)ªÁÕ™»víÛJß‚À³šªÜUu®ãìì44`È¡#‰„y“Ü”Ïç›ò‹KJ—Gêþ®ë[!b×~(‘J%IÌëUí!‚c>X/‘H$ÉêØu“&·¯"3g‡-_®1;|è{³–GE‰Š EVvÎÜùïsÙUû¶Ò· ðÌ«R&F\mö¬{÷ „$lÛ»vƒ@è3!dªF–µ*fÕ¿zZöøÒУ_1|˜ª=6f¥­_ÀH¿€‘ŽŽkV·3Roü¾d…Æw–F„âòÖÛ®Bïù Žã²«öm¥oA CÑãjß´Ç–M«u^­ŠZóq³ü>* M;¯Vmˆ^h”€ç’~¿X]¹ö” À8©Út¿õÐgëHU¤*RªHU¤* UªHU¤* UªHU@ª Uª€T@ª U:‡Ög,ÈICi´ðì3HTõ„’h!—鑪m­ Úa\© €T@ª€~º :577w¶.óù|„{Aªú©(+I¹–,®®|î{jB™ØØÙûéáé‚p/R@åe%¿]<8iº[/“.<Â{Ž;«¤•yYig’uãó]\ÝP.Aªèç÷+ßœ<Ó½Wo†¡i¥â¹ï¯wßÍÍÍ¿_¹8iêl„KAªú‘Š«\Ü=iZÉ0L'鲓@(=þ ± HUýÐ 1¡L”ʧË]LLháZ¤*€~(†¡éÎÓe†¦)áX¤*€~x<Ã0 Ó™B„¡ym‡È“.ˆ“ •‹B•¥%¶ HU=S•âB:Ï"ÛY¶×O¿ ÝÍ-O]y8‚Ùt¿©ö^!¤©Iî$p«()î˜Ñ<–Çg@籪^¡ÐÝܲÕöŽÖ/í/Iû±ê“{U–Ö= !ҪªJqS“¼©I^]!~†Þ8VÐuèÁùãÔÝÜòrDTÞÍ´îæ– ÷ÔÛOŽ Öh|v{MñžøT‹‹J;ÚÏ·¸÷ǪR†ÓÚì\{ÓîìI#{ënny~ÆÕ™d«·;wr§ÏxÇEàaimÿʨWMäúŒ†ÜÚ~=„Ñu¬úD_!EùÅ„FãºûãkfefMœ4ÙÞÁÅÞÁeâ¤É™™ê5WÝÏÌÈìåÕ{ûö†½0=ŽU‘ªºS•!„Ëí~ýÝÀsI„=¯ŒínaÅÒÝÂêüŒ9r±äJuic«¼‚‚7ƽúê˜Ûi©U%Ÿmýäà¡#ŸÑÑú¨Ž«UF}%ÎîBõWÅ233ÕÊTß$¿°p\Є ÀñùyÙùyÙAãÇ¿91¿°P£k×®§‡|¼é£%Kø"‘ªÆKUJï^öpµÇ_‘š}O¶)=õ~ýÝVWÞ¿bù²ysçX[[óù|ÿ—_þnÿÞ‡‡l"Ñ”©Ó]­m'Nš\SSö÷°°úß×{úú°´¶6bÔíÛélûƒV­^ã&ôrv&$ìd•JåÚuÜ=¼míÞ}/¬¡¡ÁÀ^·£ Z¸¸ Ã#Ã\Ü…íMMr-[mŠ‹_º$Þ¬¾Î/¿\˜>cÖîÿýgêÔÉOóm€Tà6 ÆíTñ~Œ=\=96øäØ`¹X"–7F¥^¾_'kk“‹<)¤Õ‡&Oy{ñû E…y¢‚;>^Þѫ֨N““““Ïÿ|¦¼´(8(pqÄR¶}S\|VVöÕË¿fg¤•—W°Ÿ~ºõæÍ´+ÉE¹¦¦¦±¬ã0ÀèW5Æù¾‹»ðÀ‰]Ub6^[f«Lr7õZZ]]ƒÆ3^¸pqÚ”)ê-Ó¦L¹pᢪk‰‰I‹Â#ŽúñÕ1£òRñ}U£Ž« ôò¹ûu2-+ÈdwmmmZ}èÆõ«ªÓáõë?èë;Põж϶XYYB–.ˆÿd ÛxàûN?æââLÙ¿‰mÜûíþ¤ÄÃlãÆ ë†¿²í³-†ôÚXßpz8±«¡®ÁÑÙþõ ¨v~pÿ1ŠÇëÚ­«•µ¥›‡ë@¿þvÒØV*•ÙÛÛ=v~`o'•>ªó»¡aß~óõ ŸþÛ©  óãD‘LJü´0Áš=ëgÏ%5ÔÉ´okmmU#‘:::´|è÷߯Ǯ]ûÖíûä¯M–¥•ó0pÍ {¿ªªZ(t×xºŠÊÊA~CÔÓAµB[/Œù«×†¤-®B'v–Ò4í,pr8B(êÑ“RO¡PæåÜìë·ÊDEÌcE³®×8;;©ZªÅ566Öªu¶±ÌÆÆfĈᆿ´#Oê E#R93zôÑÄÄVzçÝÐ…óçååfÕ×J+Ë‹u~ñÞÑÑA$*nÙ˜›“ÙP'coõµR{mø±*©¥¢2úñŸ½ÒjjïÖ¥\ùãfJ:©-Š6êÇŸª·üøÓÁ1£G«g¿3ó«/wN›>ëä©ÓOùm€TÐõ!áöE"U¤fß“žKbGW·¼üŠù ÖÚ7\³:zëgÛvïùæ®LÖ,—§¦Þ˜9ë]ö¡¦&9ŸÏçwë&‰G,#„´>$ú×âÌéoGF­,//¯½w/zU Û6'4bɲ¢ÂBŃ™™ï¾f„qU(ÙH­(­¢Ûþ‡%±ìÖLQAéÍ”ÛeE…-w³jåö„_ïÞS_WW_W·{Ï7Ûv®Žþ—z×ǽñÓ÷û½±ÿ§9®ŠTÐuÂáâ¯yO›ËQl¤F¥^n¨•BÄòƾ–Ö:·õôìu2)ñܹóýú9¹ #£VN™<‰}èß;VÇÄÚ; ÆN64@ç®V¯ZÙ»·ÏÐá£|¼$pue#—/6lhà›!vŽ®¡sç¿h`¯ ü@YQጠyI‡N7Ëÿlu…ÊòêŒ[Ù¥Åei7ÒËŠ []ÇÛÛëDÒ‘'Nyùôóòé—”tâø±Ã^^ž« >ìÔ‰Ä ?Ú¶}ÇSx°0®  ûÔá0ŒX›ËFj}­”!¤¾VjÑÓæäØà=¯Œ5ïi£ý¼Û§·Ïwû¿UoaŸ.(h|PÐxUã‚óØvö)TT‹]ºvÝ·9>N}'<ŠŠ\±,rÅ2kìDãÙ¹|_µÝJ‹ ½!cÇ6ébòèyi¦ªRœu;§²¼:;#·´¨P˳øúú9üSË¢itÍ××77'“ö‚\­0nª>ÿ¶>3ŒîqUÃþ»Jia —'­¤ÇŽÃ0´Tr—¡é»²ÚòÒJqUMvFniaA;Šö¤ê¦µ HUýpPkùa~,j;`t¶·×Æú?l°víÚ…f˜ ÿ—L™Pê=íÜ4ÒÛ© ÀùXµ]:lhÒk#þÏ*6Xûôó¦L(íIú ½ ªº>N0ì_ß3´Ž«UÆ+HI~ž›—wI~^G®°ö‚ Uô>Ha𦕧Ë4­Ô5€1 "ÊÍéàåÕ^¤*€~(a˜N•ª:ç­BAªígBu¡i%­ìD!¢P<0¡º   ‚TÐ¥µmEq~O+›ÎÓåú{2Kk[„cA4åñ™ЮwÿÁé7¯É¤bš0<Â{¾o4adRqAnzïþƒQŽÁ±*€~¬mú ðÏÏIo¨½K?ïóWS<ʼ§U¿þÖ¶(Ç‚ UôææÙ×ͳo§êrÓý:„{AªOê…‚ÆUªHU¤* UªHU@ª Už[U].B- Ç9<U0–ÿ7sœ£)¡ñIEND®B`‚pioneers-15.5/client/help/C/images/brick.png0000644000175000017500000000031110654174432015647 00000000000000‰PNG  IHDRóÿabKGDÌÌÌßÁ_ pHYs  šœtIMEÖ 4™1FOVIDAT8Ëc`hÀ¥ÿ“¡Îùÿ>VCÕÝü Ê#0ÄßA1„‰R/0Q= Μ9ƒWƒ‰‰ Š~F4y’Ãîl‡N Át€ÍÅÿIÀdÇVd¬-W2צIEND®B`‚pioneers-15.5/client/help/C/images/chat.png0000644000175000017500000000353010416170552015475 00000000000000‰PNG  IHDR,=≠pHYsxa+S•¹tIMEÖ’¾"÷IDATxÚíÝiTGðÙÜÁn !E4â-ãV­ЍåˆâQžPïBk¡@ÅR-ÔV©Ï«J­Ö Š(xR  ÔŠÏ“ˆs@Ž~ˆD„‰V‰åÿû”Ý™ÙÙÙ·f²°[¼ ÔMòr³€ŒÐ½Õq¡ gR*•}8 è èiøÕ\„.€îA¨§À0 .‚Að¾!G†«#„2AzJÜ?¶»›»³‹‡çh¶HÄ›”®kèjägq>ÓÛˆJ¤ÐC&$.†€„äҺϦLÞ˜|Â3pã¹+EÜÒ‚}ÛÖ Õ¾³S?Ê<(ÐÜo]Ù?O$‡'S#]=="]Ù´4³¶qèûVÏõ² ‘ñ“56:åXÛÜ%éÉ3}½˜.G²ö׫÷פ/vd¸:9»{ ¼vÛ©\5 Òi_jlžjFÅ0 Ã0¢S&âêTÅKe*¤]7DÇüêÓq3úÀâ# Ã[”(}aذăí"Pç|ÕÍ1žÐÜt îx€zñP[Åþ!´ùÛº{¾„¾ó(·ò/^å%ôºËÁ­j¹î0_cÒ@1ûÉóñ‡¤!‹HóЩdOé’Pªl¥høú«è [¿˜‘‰ojyTïßÏ"fù§%†]´KfèTìÙÍÉ&ÑXp¯ô:Ø”êkgx5&0)½ ^Ô"—>«*ɉY6³Ë"äJ%BÈÞ 'o:½ueÛ$2!T*js*3~ÝQ½Ê'jOÆ}¡TÑ"âg­ž;D•”àß?,ðÛš'±€ë¿Ì) A§Fnðœ37º¤ö±\Ñ\w#Ãü¡ó¼F:ý.5¸mñö³Ïd áý››ƒ¦ißAq{gý¼fâÎ4º¦yÒNŠ]¶ ¾F ‘jâ‹à^èu“ûn?s*&lòå½1Þž,¦ÇˆyËcËŶ]‘–ºšeo±vú8OŸùå½W´MJ c›÷"Í>X›·ã¨–~¥Å{îu·1"ö2Ÿš`6}‡*É'%?Øòâð¾Æ&ýFÙ,ÍKöÑm$³eTÃBo&•d8rÞôi)óèZE/É„©ý9ÄfÿÔ´‡cB&öcM0Íÿ¾û¡݉56@ ô̈M“Qr¹Œ;n]Äæ>$þýѧÜyÛ¢&vcÚm_~ȘQ188ØãââÄò—ðûC&e=±ê!¼¼<ðòò`õªùáç-ÞW&“·Z%o//Š‹Kš…—àááné€ Å%%„…†¿‡…„R\RÒfþ‚‚BFŽŽÅÝK‰»—’ÈC()-meÀFêÑ÷n @ð'±iu& I‚¹sfpòÔ~øy'©g3øËì&ñ’ÇŽ'ó×%0jâ,†Œ¼š‘fRYYeRV`@ã÷À€>”–•·xß NSK‹r'OžÈ—_}Ý,ü˯¾fÒÄ Æï¶¶¶Ô«êßËÊËMÊôõõ%+'Ûø=3; Ÿ6+•~œ>yŒÊ²BãUQZÐêâc1b#A/± {{[nY´€'Ÿý·.^€½½m³aUO<ÇM ¯c×_qâàNöïþ¾ÉéÁiÏåå¿çåàíåÙâ}år¹Ñ9¸”Õ¯âŸo¿Ã‡ý‡ššjjjøèãOxýÍ·xlÕ cº!Qƒykã;¨T* X±ê1“rÌŸÇš'×RRZJIi)O¬YËõ ®3Æ»»»s6-Ý$Ï]wÞβ’™™…N§ãÔ©ÓܵäÞë)è ÇFlZ_csáó]·/æØþ_¹ó¯‹[Œ×h4ØÛÙaggǹ¼žéU“x€—_‡òò ÊË+xùµ·™=sj+klä´V¯~áá|ûõ—üðÓÏ ŒŠ&8,’§Ö>Ç×_}ÁÀŒéÞ|ãüðÃO‡E2}Ö_˜4q‚I™kŸz___bFŒ%fÄXüý•<ýäjcüÃÞÏ”¸éxxûÖ?òcÇŒfîüèÔ—»—ÞϜٳZÖpl@ èvd[6¿* Óbä°1S9ž°³ÕÌMãwÅÿÎ?Þ|—ü‚"”~>Ü~ËB6üc£1~ؘ©,h)ÿùôKêU*¦OÌÓO¬ÀÁÞ¾Y¹ûâwr׃kP«jÌ  Õ609n:­ZÁ‚ùs{b z_|ü‹o¿_X™@ ÝD›/Á<ž°ƒ¶^lÐ4>nòxâ&7‰¿iáu&ùï¼m!wÞ¶ð’Rš—߸èV²è övv¼óÏ7X|ËíLœ0_ŸÞ¡Y±xX ‚žql¤nzW”¥÷iºxØ¢£¯"%ùX»òt¹¬b»·@ =ãØtßë&-uläçO¶â×`Š56@ ôŒcÓþñý¿Z|¹¬ñ%˜ÖüvoñJ@ zȱém##Æ—GZùˆx ¦@ =àØô¶±‘+emŠXc#A86½mdD~…ì&’‹]Q@ t¿cs6%¹WUJ¡p@UWmÝN …;¾ß"¬L ‚îtlþ²èž^Y9kwnz«^@ ¸Ñé.l÷¶~'B8f@ ü¹1èõˆE @ ®„c#@86@ ±@ Ž@ AÛØv$ÓÞø'Š^0nÁ<‚ƒ‚„V@ XcsbÓfú:84 Ï9B86@ z «šŠòVwIÚî¬×•NWëâJÑuWÈÑ™eö”žÿãWÅŒ±ºv¿pl•v’]Y¿gŸ‘—7¼HYQ®0@Ð!Ú5U]]CÒÉd”ã&Ø,þdr2!!Ab:ê ìhEGÓ}ôv]weýNNajÜÕÂA÷86nn®ÄŽ‹kvS¢G4‹ÿ®"K85 Ãh4ììl…"A‡éÐTTƒ“}³°cg:$ªÝ#ï¾÷>CcFããÒXvƒŽ§Ÿyþƒ†Þ?Š·ßÝÔêàò•1ˆ°ˆA¬XµFc’æ­ï2 *† °þ<¼|­ÖäÞ-Õç;vþF줩øõ%zÄ8>ùôó6eùðãOˆ1ÿ ¾L™:“¤“ߘž•Ã-·ÝEHø@‚û±ð¦Û(--íнÌÉÝ’Nõz=ë^ÚÀ€ÁцF²déÔÖÖv¹q™Ó±·2˜>ú„á£ÆÓ'(œØIS9pˆÏ¿øŠQã&uyêtŠÅíjNÖ–ôcsíç­ n³ý5Z--[IPX‰áŸoÿËb½µ×-µKþ~.püxC¢GñÞû›[lödW«Õ<ðð £ìom|·Õ©¬ áÞÊ`ãçŽØ{SFŽ™@Ê™Tã÷/¶|eüœr&•‘c&tº¾:6ü7a¯‰SsšZÜÜ\Û]Ö‘#ÇømÇO”æð÷W^#åÌvïü™c‡ö“Ÿ_Ðb¾—þö2…EE>°—Cû÷r./õ^1I³ÿ@¿Ço'ñð”””²áï¯Z\¯Zί";ã ßÿo+‡m3ýï¿ïç§ï¿!#5™9³g²bÕjcÜÍ·ÞÁ}÷ÞMê©DR’‰è×§Ÿy¡C÷²DîKuúú›I<~‚ßvüÄ™äc(<¿n}¯0Àø={ùnÛV2Î&sÃõ×±èæ¿²}ç.¾ýú 2ÏžbÞÜ9&º4×®–Èz©~Ìa®ý̵ÿß6¼BYY9‰‡ÿ`ïoÛÙ»ï÷.³CKíÄ;øeûÞt¯lx‰{ﹻݶ¿~Ã+TWW“xd?ûâwp¨Õ:_˜â*+Ê5~7%îêÉü±?€üüV?ùŒÑÑýýÄÅMéT} ‚žG¶eó«Ò_Ýcñ›¨««kør{G«”üŸ€Ìу!áL VqÃÄþ횊òV“|ü0þþJcØÐ˜Ñ|»õ úõ o1ý…¼¨a#ùï @zzó®_ÄÉÄCÆ´‡ì¥oß0222™wý"’ŽlVVKå_3†GºŸÙ³fÐǬig’ðôð@¥R1˜¢¼ÌÓ«T*¢GŒãÌ©Ävß˹/ÕiôˆqlÝòDDô ¤¤”‰W_CÊÉc´´Ö µÕFætì­ ælÊ ¼<=z ëß,¬©.͵«9Y[ÒO{¹´ý̵ÿèQ|÷ÍWÆ:§§g0züd‹tØ^;´ôïÃ;zùo/òÚ›ÿäÿ>ÞLLô°VÛМìßoûš°ÐÆÑ”ÌÌ,FŽh‘ìµ÷¦üüËv¶~ý ÿÞôoþóÞywO?µšÛn¹‰»—>À7Ìgæôk:E_bš@Ðó´ûíÞ[·búG*ÞÖÞÁ~ÇY¸Ï|·ÉËÉ ¾‘ÿðWfoóç…w·«—þ j~Š ¤¤Ô$]hh%%¥&iBB‚M>—X\¯?ÜÄo»÷09n#FÇòó¯ÛÛLá‡ÀÑÑNgü~ðÐaæÌ]@pßx+ƒ ëOYyy‡îe‰Ü—ê´ °1±SŒCü‡ÄPZZÖ¦ÓÒôj-¬3¸àÀ\Ð[KaMui®]-‘µ½N¹ö3×þÅÅ%&u¶Ä¾;j‡–Ú‰%vôο6±xÑ&NM{m¿¸¸„à ‹ ‚ƒÛ·¯#öÞ”‰Æsèü(×Ö¯¿áŸoþƒÏ>ÿ€Ã‡2iBl§éK ô,vlV¾ü1ër¯Fã;¼Õ4¶^a|c+sÖ|NuuM‡*¤Tú‘m~ŠÀ×ׇœœ‹lvv>>Þ&išÆçæžÃ××çb]mmQ©TÆïå&yc¢‡ñé'zú8Ö¯k6Òîºç~–Ü}'ÉÇSZ˜CVÚi$Iêн,‘»™Nýü8™xÈÄ1±tær0§ãŽÒV»v…¬æÚÏ~~¾&unúÙµCsvb‰}÷íV¶ýï{³k‚ÌÕ#÷\žI{µ7{í½)ÎÎ΄††ðí¶ïP(L¿f*:ŽŸ~þ•°°Pœœœ:M_ÀŠ›­Û±ÓçA䎚Õc¬ûòh‡*´xá ¬~r-ùùTUUóÔÚç[L7Þ\ž\û¥¥¥”––²æégYpÝ\“4O?ó¥ee”–•ñÔÚç¹aÁuƸ¨¨Al|ç=T*…¬zlIÞ{î}3©giÐé$ ½Nßa%«Uj8(ÈÎÉeŪÇ;|/Kä¾”;︕®&3+NÇ©Ó),Yú@——9w”¶Úµ£²¶5ýf®ýÌqýüyë\ZÊ“kŸ³8oGíМXbG}øþÛ­üßg_ðÆ›;ÔV ®›ËÚg_ ¬¼œ²òòfk“.WK˜7…§Ÿ}…7,àÆëçóøš§™7¥Sõ%¬Ä±©®®áÕÓ¡;5øU>‡ýÇRÚ]¡Ç]IÿÈH&]=á£ÇÐrçöäãøúú0bÌDFŒ™ˆ¿¿’§Ö˜v8cÆŒ"vÒ4¢GŒÃÓË“5«5ƽñ—ùñ§_‹̬kç3ñüôfÍšÁ_'à°þ<¿n=ÿzç­+ù­7^åégž'8¬?óæ/dÌèQ¾—%r_ʲ‡dìèQÌ¿~1Aa‘,½ï!æÌ™ÕåÆeNÇ¥­v투 5k“ö´Ÿ9ž|â1Ü=Ü6|,±“¯!vü8‹óvÔÍÙ‰¥väï¯ä»o¾bËW_óêko¶»­ž|â1\œ¹*f ã'NeäȘvmç_JÜÕ“)))eþüFGdÁü¹—wõäN×—@ èyÌ.þ÷×;x[{GÇ: ŠÏù×…–½šy ñتeLˆ/”ÑÅœ=›Æ¢›ÿÊÑCe‚NÇ¢ÅÃG«:¾{äXµRhYÐëÙöß-©éBžZû<••U—°ö¹uÌž5S(E tfÇ„³ÏžDíäØ¡Â«óNý…–‚?1!!AŒ7 µFì×°fõ*¡@Ðe´û@ ‚ÞH»Ï±@ èÍÇF pl@ z¶B ³Øñý¡@ÐåL»v‘plAÏÿàAW?@‰©(@ W ±@ðçrl¼•Ám¾$0fä8¼•ÁœH:i +,,2æËjò¶î“ɧðV3r\§ b®Ž@ „cc'6¾ÜpヒïÙ¾s—ñóO?ÿbü¼‚I@ è-¤§$âåÔkËÝåØL¸àØün ûuûN¼<=ñóóå§Ÿ½èØ$4Éð¯MÿÆ[ŒoŸP ΊU«©©©5Æ_ùü‹¯5nÊÀ¾ŒŸÇïì7Æ_šV pl:ĤóNÊûÐéthˆß³3¦1kÆt$¢¼¢¢Ñ±9`’@¥RñÇÞ]œËJåé5«ùÏÿ}Æš§ŸivŸý ìÞñ›7½Ã™Ô³,[ñeE¹Æ4eE¹&ß@ Ǧ](•~ôŒ ®®Ž£ÇÙ¿ÿuuuÌ™5“Ù³f ×ëÙ¾}'éé—RégÌ¿bÙà 艃ƒ‹ÝÀ¯¿îlvŸ5?г³33¦_`²vG X'b„U t&vŽÍĉ±¤žMcï¾?(/¯ÀÑÑ‘«§LBncƒ‹‹ ?þü+ :]cÚØ‹ ‡÷8ÈKû;I'OQWW‡$IÆž¦ôéã€]cµ/¤@ €NÜî}aj)~Ï>¶ïÜÅÔ¸)( ìíì˜6õjvýÏîÝ{›&ÓPw/½Ÿý²é_ÿ¤ 7ƒ¼ì³Âi® .¬{óVÓ7r0wÝs?¥eez½œN9â›ÿJHø@‚ûàÆÅ·’|êt§ë^ ŽM‰‡\.ç@ÂAÒÓ3˜3{¦1nö¬Ô×׳í»ÉdL˜0Þ§×psuC£Q³î¥¿wèþnn®€˜žz#Ö¾Ú¿{{V>úÄŸZ™™Y\wýbfÍœNòñÜ:q„9³g²à†›HOÏ#ôÇÆÓÃ!C¢ÐëõØÚÚ2ãšiƸéÓ¦bog‡Á` jð ¼<=q›Þ}‹þ‘Ì[°ØIÓè×/¼C÷lÕ ÜÝÝ1:V<¥½Ö¿ô<¿½½”¬ìn¹í.BÂÜ…7ÝFii)×λžÿ~û?“ôçòò|Õª«kÐëõ¬{iGÉ’¥P[kº»òÝ÷ÞghÌh|üCzTå5¼)wüõV\]]puuᎿÞʃÜË˯¾nRçKi¦ÑhX¾òqÂ"1ˆ«V£ÑhLÒ]ºSÔœžvìüØISñêKôˆq|òéçÂpWžccéN£ß¶ÿHYQ.Ey™¸»»Ã]]](8—AYQ.ñ»~1É3yÒDöïûâü,Ž=À]wÜÖì~-ÝÿÒ°ŒÔd±+J èåȵwó­wpß½w“z*‘”äD"úõãég^`åòGxåÕ×1 Æô¯¼ú÷Þs7nn®¼þæFŸà·?q&ù Gϯ[oRþ‘#ÇømÇO”öìÈîî={¹ñúùÍÂo¼~>{š›aŽ—þö2…EE>°—Cû÷r./õ^1þF¶ô[iNO<´œ'_EvƾÿßV>*ŒVðç±s”–•ñÔ3Ï3yÒ„ãÿØ»‹‰bQ(¸¹¹²ö©ÕÆÑ¸«'ãììlµÉÈÈd×îx–.¹€ÿûô þ¾~}pqqáÙ§Ÿä»~2)ÿÅžÅÇÛ»ÇõP^^¯¯O³p__ÊË+,.çëo¶±~ÝsøøøàëëÆ—^àëo¶µ™Çœž EEÅ”•–È›¯¿" W @ hÊ…é‘c&PWWÇ믶¼–îà¡ÃÌ™»€à¾ðVÖŸ²òrcüªðÊ?Þ@¯×³áåðȃ÷ãèè@Aa!cb§ï5pH ¥¥¦‹”ýý•½B^^ž”””6 /))ÅÃÝÝârJJJ ½8­Òb¹M1§§?ÜÄo»÷09n#FÇòó¯Û… „c#M¹0’•vš6¿×âhÀ]÷ÜÏ’»ï$ùøaJ sÈJ;m²CræŒk°·³cÝK8tø·ß~«1NéçÇÉÄCÆ{•åöø”SkLž8¯¾þ¦YøW_ÃÄ&›+lmmQ©TÆï—ƒáëëCNÎÅi¦ìì||Ú‘2§§˜èa|úɤž>ΆõëX±jµ0`pl #¨Uj8(ÈÎÉeŪÇMâe2+W<Â?ßþ«V.ÃÞÎÎwç·²âÑÕdfe£Óé8u:…%Kè•r>þè Þ~ç=>úÏÿQSSKMM-ò)oþómV­\fL5ˆï¼‡J¥¢  U­1)gþ¼¹<¹ö9JKK)--eÍÓϲູÆxww7ÒÒÒMò˜ÓÓ=÷>șԳ4ètH’„^§†)Ž@ t„·Þx•§Ÿyžà°þÌ›¿1£G5Kc#—Þ—Å o0 _öðƒŒ=Šù×/&(,’¥÷=Äœ9³z¥œýú…óß­ŸóÓÏ¿5l$aƒXûì:¶nù”AÓ½ñ—ùñ§_‹̬k盜ðô“ãëëÈ11f"þþJžZsÑ|èûˆ›>ÇdW”9=Íš5ƒ¿ÞyÁaýy~ÝzþõÎ[Â0V…lËæW¥¿,ºU]µÐ†@ ¸,v|¿…i×.êÒ{Üò×»X0×ÏŸ×ée§§$2jÒµ”ŸëÖò´ \=u&®ZÎüy†$tðwÆ ×wÞ+]Ç…s)¬‡+R®Î”]Ð~ ÿ÷Ùdff]q¿½o¿õ:7ÝvcÇáãã#\ è zÇF£Q÷pG¨0›FUWM~N:uµ½wTM.“áèìJ@H?|-Êc ru…ì=ms]m¯]…oŸPB‚ƒØüþ»ÈåWÞ,ztôUœNgƱé„êò’Br2ÏP[]Ù  'W7BúÀË×ßlúêª r2Î0xØ<ý‚°‘ËA&ë•OÓÅçÒ9qô‡ÇÍÝóŠ«+dïn›ëL›u°Àf» qð¦@ ŽTU”‘žšD¿È!¸zz!—uí“ A2PSQNzj6¶v¸{¶½53/ë,ƒ£Çâ­ B2Ðëu½V—¾aô«¯'/ë,nÃF_1ru¶ìÝms-±÷ÌYt¯Ei%ƒž‚œtíeHÌX³6kÐ[ÿ.šÎ–áJЉ@ +!+í®ÂÓ§{î²¼üú`cgOVÚ)†šØfúúÚ*<¼ý1œßzÙÛq÷ô%ëL¢ÙtÖ&WgÊÞÝ6׺Ãb@×`Ù:'ß>Áôn‘ÍZóT[@H$yYgzmy@86f©«®ÄÅÝ£ÛïëêáIÓIB.—£×5X…>år9 k“«3eï)›kæØHô-Œ$H’Y £H.ÞÔA}ÉËNåøÁÝ\5bŽçɰ ïZ%þfA—ñåÿh3¾KÇÃ÷íØfqZ/¿ ÑZ]ˆ³›§P‚ ™#f00 d¥Ÿbpt,~}‚©¯­ÂÓ[I¿ÃÈÎHA&·1¦‚ÞŽE#6—:(¶vv¸yøÞ G§VóM˜6/¿ N;žÜšÈJ;Ea^}Ã|9]Ðùë²»²îè.{@®^ã*X­Í Ž‹½½#UÝŇ _%ÊÀtWÐo@ #so~ÐøY£V‘q&‘ÔSG‰=¥ÙĦüš‚¼,ª*J>6€Ó'âŸ@hÇÝ úL­FCa~…ç2=qf OèÝ1 Ðùrõ÷þLŸ ¾(°·ð5 =)KÇl®‰c)VSß,…éB` @ ¸b›Kÿ>Á¤Ÿ>Ž‹»7ÕåEìÛ±¾ý‡Ÿ“ŽF­b´y&kg ‰ì´dŠ r‘@`h¿f÷¨­®âÔ‰…FÜÏ*•ZœŸKXÄ ìÏ?1ˆìô3vlÚêT ¥EyäeRU^Š2AWÆÉÅúÚªfeH’DÆ™äçf`ÐéðñbàÐQØØ6šBYq>i§£ª¯ÁÞÁ‘°ÈÁÆvh+®ãŸiú]?|Á€!#ÉÎHA«VáèäÂÀ«F¢ª«%3íUÎ.n Š‹‹kã–iƒÞ@jòŠ rPÓðHä6rc™ƒc8—qµºž¸9‹Íê!rP4ÅEy$懗þAaxû —ÛôÊ›Ù\{Ìz‰_#IµµDúùA IDATµ444_P€‘WäkA;6Ƨ¸ ù9¸º{`kck2b0vÊl\=|À…©¨œŒêêj7'g7ROFá䊺¾æ¢ãTZÈÙäD IXÿ¡¨ëkP××ZRëëªqq½¸¦ÅÙÕ“úN~{zueç2).ÈÅÅÕƒÀÐFÄNÇÁÁ ½N‹F]ßb¾ì´SÔTU;í:\9yt™i§ˆ4 I’8u<ÁÑc íOƒVÙ¤CØÙ;Рմש²U•3fÒ,œ\<È:›ÄñC{ðö `ôÄçÃNr6ù(#b¯Á ×“‘z­FÅäY‹°µµ%ñÀ.²3NÓ7rˆ±7VÕÕ2~Ú\œ]<‘Éåœ<¼§M=xú(ññ"*fÅù¹äfž&%é0~}‚éÔ7o«·¹F¿ÆroEê!Ï&##ƒ ©­«¥¸¬;;{Ê**qP8 7€\7ÍŸOÔàÁâ] XîØüï³·M3ÚÙ1zâLt:­1,jx,r™Œªò¢f[_K s1aήîÔUWÜÏäé735‰´ÓÇ6z}‚#¨«©@«QY¥R z=r›‹²ÙØØ ×uî+ÿ¾…“3#b§ãëŒA¯£¡AC}ME›»sòs35a&Î.î¨Uµ„õÄÁ=?3ª¹ z½Úêrlm퉌ŠAnchÚŒëL†¾¹\ŽF]‡_@§ zìTlllŒa)'âà肪¶Š¢¼ÆN™££#êú:ú Ʊ„ :ÊèàE ÅÖÖŽúÚ*$É`V€ñð@o_%Ê€`ª+ËILø¼ì4®™{k¯z DGm.35Éâ{øö ëÙ~ݱï·ß!¸ª eƒßÒbÚÆßüàP—?Â?ý$›^„L&kõw(>>žÛn»ÜÜÜ+æÔq•:6Mר4h5d¤ž 5ù(Q1ãŒá Gg*K Z<ÏC«QãéíGme™ñ<ŒúÚ‹'獵$Òÿà~ÔT•¢kÐZ­Rå66ôzã´†¾Éç!IÍ~FŒŸFYI!GÿØŽ³›þ¡øù!·±m£ ZÅÞí_77;{Ôõµ ˹¬TÎ$ÄÆÖŽÈÁ1øø´ס§úä°wPP[U†$IÈÏ¿ÓAáh&Illl‘$ ­V«‡/ªºj = •[;Ôç…£3µÕåFÛ4§‡ èõ:J r)ÌË¢¶¦ e@(a‘Cptq§¦²´WŒh\ŽÍšt­Å÷ÈJ=Ùíréõzªwïfô‰ã-Æ;88 Óë‰ÿí7–?òvvv çÀšyì±Çظq#sçÎ=° g0]cããׇ³ÉGprñ ¦²äâ“c+‡xÙ;(PÕ×µú”;m>ìü†3'¡ô·î­ßNÎnÔÖTàîé @]MNÎnz7o<}” 2’Òâ|r3R8{ê¾~(ÃZ}‘ƒƒ‚I3¢prn1ÞÕË!#&`¯p¢´8Ÿã ¿á?# ]ƒ¶Í¸Î¦¥ôÖ~äíí¨êk¶§ª¯ÃÞÞÙ%k.š:ÜæôPQZDa^¥Ey¸{û>ˆ€ÐlíÐi5Ô×T^6'QRey›ô€ãVPP€s^~«ñv¶6ÔVWSPXHUU>>>WÌó•:𑔔ĬY³Dï+躽ŽdÒétœËJÅÑÉ[;{‹òøùsâP<º†t d\òôçèäÂÐá(ÈI£0/Ûª•ê×'ˆ¬´´5Zš¬´ü‚/÷g®Ù¥×5 ÕÔãæîɰѓ™Bp߸yúx`7{~ù/§÷ããŒÂÉ IoeÉǰç—oH?}œ!ÃcA†Ù¸¦×åÈÕ´®–†…õŠƒ‚ý»¿ã@ü88:1(z ZM«ùÍéadìtú­­-µUåÔ×V/Oj³-¬Ïæ½–”¤ƒ”—™x5ŹœI>‚L.ë1Ç-#+ eEë£c ¾~TWW7®1²²]Q*•ŠÛo¿gggüýýyùå—‘Ÿz…Æ©¨òòr|}}©¨0uîÊËËQ*•TTT ×ëY³f ~~~899±xñbjjjZ¼gDDÉÉÉÆïü±ñsrr2Fçãž{îÁÝÝwww–.]ŠZ­6qNÚŠo òÉd2ãgseÉd2^ýu‚ƒƒ[m㎔ѽ ¬ ‹¦¢.´wé0©®ACmU™1MKùŒ”\FHø^5…È@u~×FÓt6¶vÄŒÃÕíFeLcm„EFÕI¥YÞ©H=Zu=Ú&»¢¦ÌºÑXŽL¡ý0;Gär zÝùE¶~}‚ ÄAá|~݆î|´gZ׎ËÕ´®–†ÙÈåD Žf舉ØÚ7ž9£ÓjP©j©ÅüæôPW]Þv²N›ë9„äÄHÒ`<½|).Ìå\vc§ÌI‡ÎÐ3kÞÊ*+qyð!J+*©«Ws°&‚«s¶Q¯Ö Rk±0ª# ÂËË˪~#Ö®]KUUYYqwß}w³4^^^Üpà lÚ´‰Õ«WÃ7mÚÄÍ7ߌ§§'ëÖ­ãÈ‘#=zwwwyäV¯^Í;ï¼Ó¬¼3f°gÏ¢¢¢8wî?ü0 ,ÀÕÕ•øøxfÎl<ÿêé§Ÿ&??Ÿ³gÏ"I·ß~;k×®å•W^±(¾Õ¿Ij¶vÈ’²8zô(¾¾¾-–Û‘2Ö¯_o±ÞW c–´×RÓ0‰úÚJ“EÃ-¥3ôT•‰ÖéDª+ŠM¾kÔõ­n oЪ[}Cs[q]UW‹Â$ U}5Ô[^¦9=\é4} ©ƒƒ‚¨acHNL U«ÆÎαWÏEÒ7 kМwš Ý^¿¾AAddfR,鎊$¨¢‚´þ“±µ³ÃÖÎ{{{ª«ª¸máB«Óÿ_|Áž={Œík¯½Æwß}×,ݲe˘1c«V­ÂÖÖNÇ{ï½G||<›7oæ—_~!(¨ñásÆ 6¬UÇæ³Ï>ãþûïçÓO?E¡P°eË–,YB||<·Þz+Ÿþ9»wïÆÏÏ€·Þz‹¸¸8££`.¾=XRÖk¯½ÖªSÓÑ2Ú£7ÁêØz´º"ßîx»w›•Ád±¿½=ƒ‡âlÊ †»ƒNmrFQw¿+êܹsäcãèHpß0 zv6¶äå#ï\•¨U* rsùï¿æ–›nÂÝÝÝjô_XXHhèÅé°°°Ó 8¨¨(¾þúk-ZÄÖ­[?~ ¨¨ˆððpc¾ððpŠŠ.>lš‹o–”Ðée´GoáØºàɵµÝfÖܹ[“\W¦c#5sVlíì:<VÕld®»åÓëõÈå68)Èä2 „N¯£¼rZ­–ÚÚZHÀÓË‹#ÒÐ`]ï´R*•dgg;ä SR-±|ùrž{î9-ZÄ›o¾i2ªÐ§OöïßO`` Ù{º¸¸Η_~‰££#sæÌá…^`Û¶môë×gggcÝ233kn222Œ£!–Ä·W—[VGÊhÞÖÅŸþ r¹LŽAêþÉ Ë,Sÿ…'kk¹Ú;bp%]½ÙæZs,/½´šz4êºâtÛìå¢Õj9~âJ%ƒ `ðÀAØÚØ ÓéÑjµd¦gðã¶ÿQX$IØÙØ`cccU¿=‹/fÕªU”––RZZÊÊ•+[M;}útª««Ù¸q#...ÄÄÄãî»ï>–.]Jzz::ޤ¤$/^ÜjY3gÎdåÊ•Æi§[n¹…‡zȸ¾`Ñ¢E,_¾œââbŠ‹‹Y¶l™I™æâÛCg”Õ‘2Ú«7pl¬g7j«ºÿL’šÊ œÝ<,èe  z½U\:ƒÎx¨Þ•$WgÊÞS6w)•eírÚÔ*•E6ÛN͇Œ³‡>>>TVU‘“›Ã‰¤œ:}ŠÜœ\ä66„öíKphö¶¶¼÷Î;xzzZÕoϺuëpqq!$$„¨¨(ÆŽÛæ6èåË—³lÙ2{ì1“ð'žx‚ &0uêTœœœ¸ùæ›™?~«å̘1ƒ¢¢"c'¾xñb ™1c†1ÍK/½„R©$""‚ˆˆxñÅ-ŽoQVGÊh¯ÞÖƒlËæW¥¿,ºÇjw].Ue¤ž:JäÀhܼ¼»ü‰Ô ¨./#-%‘ÈÁÃq÷lûC§$0$Gg«Ðgiq•eE 6úŠ’«3eïn›k‰};¶1b\œe#;HÔ×Ö’•–lÖfw|¿……w­ºìúr:%…‚¢" ’„RIEU©gS @£ÖPRZBRÒI&Ë#=dõö“’’ÂìÙ³ÉÈÈ=“@Ð_~ð¦]»¨å>V¯klÜ=½é×(Y駨O¬îò)¹LŽ“«áý‡šujÃ"É:{’¾qrsCNï\Üf@¢¾ºš’ÂÂ"‡\1ru…ìÝms­qdÿ®.±ÙÎÀßß$I¢¢¢‚c‰‰¨ªªðrsÇÙÑ U½Šôô Šòó™?ožÕÚΊ+xæ™gÐh4¬ZµŠë®»NôZÁeò§wlÝtv#0¬ÜßÜH™›»'!áÉÏIGUWƒ¡—³.—Éptv%$| nîæ§¬E®®½§m®+íµ³‘Édxyy15®qt©¸¸˜¤“'©,+C.I|þñÇ[­í„……Ñ¿Ôj5sçÎå…^½’@p¹¿ö©(kq¾®ÄÎÏÚäêo£³¦¢ 5ÄT”è,…\@ øÓ *@ @ ‚^†˜Š²4UÕ×ÁÁኔ«3eplºÈiP÷èýfÓ¨êªÉÏI§®¶÷®I¹°3( ¤¾å±¹ºBöž¶¹®¶W@ ŽMÿP——’“y†Úê®? ö™ !}àåëo6}uU9g—Ή£8t¸ÙmÏÖ"WWÈÞÝ6×™6ë`Í plzªŠ2ÒS“è9WO¯n9y¸¦¢œôÔ$llíÌx–—u–ÁÑcñV! èõº^«K߀0úÕד—u73§ïZ“\-{wÛ\Kìßý#sÝkQZÉ § 'ÄC{3¶ÛéáØt€¬´SD ¸ Oe·ÜÏðòëƒ=Yi§6jb›éëk«ððöÇ Ó!YÁ!vîž¾dI4›ÎÚäêLÙ»ÛæZwX è,[çäÛ'˜þQÃ-²Y@ ŽMRW]‰‹»G·ß×ÕÓ: ¦! ’„\.G¯k° }Êår‹N¶6¹:Söž²¹fŽd@¯×·.kaÉÅÛº“‡ÿ´¿ÕÕ5?q‚‡V´üî6ý ¥’À€Ñ³±é9 ’¡G¦ä2y»Þd0¬CŸí¬§µÈÕ™²ô”Í5s`  —LÖVUœ¸Ÿ¡#&àäbz2´ì|Ý{Š?þ˜>ú€)S¦°|ùrÜÝÝ»åÞ‰'NpûÝ÷0zÔHîZòWnZ0;;Gd29¹yy”•–sèðÞÝô>_‰bEï"ÇFÐú“µ„d%@{êiMru¶ì½Å® †‹#6µÕ•œ8´—† Çüư1Spjòöõ¦i»›;ï¼ÓèÔìÞ½›o¿ý–Ý»ww¹ssäØ1_ó_}þåå|¾õ¿ÜtÛ]ädåàêê̬y×2nÔ(FŽŒfó¨·¹ûžùqÛ7ê‘™LÖês||<·Ýv¹¹¹6 ÝÖý¬¡|A'XE„$:|íøîÿ.+û.©Ûäê}—defÕ8bcÐ먮(åÄá= ¸j×Ì»ˆÁÃ8~p7uÕ•Æ4’¾g›ãÇ›85îîÎVbb¢IxWq×ÒûØøÖËh´*¼½¼˜21–€ `<½¼°··'ãl:©iidf§áààÀßÖ?Ëìyó;¥3½yì±Çظq£pWîˆÍ¾Û˜0mžh‰.ÆÙÍ“ºê ¡Á%#6£LYé§‹·Ÿ?õµUxz+é7`Ù) 6½®¡Ç¦ +++™<9š)S¯°0>úèg²² ©¬ìžíòî.n8;» Óë5|â†P^YNIY)¥eexzxàààÀ™ÔS„…DvZû\‰$%%1kÖ,ñ(èyǦA«!'#…ŠÒ"´Z5r[\Ý<éŽ×eìî˜0m^~A”Ÿ»¢›•vŠÂ¼,ú†1ør~âÎ_—ýSÙÝeÈÕk\«µ¹ÁÑc±·wD£ª3†yù*Q† ëáÞ\wÝ–/¿ÁöÜsw˜˜F||m·Ô¡A/£¾¾77/ö ŸŸ’H]uõuTÕT³ý·=hU2ÒóDÏÒjµ;;;¡A—aÑT”V­æøÁxì=y3¯_´¹·5’’‚sØÙ_Þi¤WšSS—EUE)ÃÇÆ1|l•¥æg_ž[#™¿4j ÙgHØó³IøÅ'Àî¹:[®ž¸öüLNÆ4jM—ÈÞ;lNºxIZM½i Z5’AߣNè°aÈŽÙBŒ wÜqG—ßxL4¿þú+i™8œH^a6%¥äœ#-ë~¶…Ý{÷SWUÏ„#|úù–.¹Ûl¹*•ŠÛo¿gggüýýyùå—M¦Ÿd2åååøúúRQa:ÚZ^^ŽR©¤¢¢½^Ïš5kðóóÃÉɉŋSSSÓâ=#""HNN6~ÿøãŸ“““‰ˆˆ0:÷Üsîî»³téRÔjµ‰sÒV|k\O&“?›+K&“ñú믌\.·ø­…Éd2Þ}÷]ÂÃÃqpp`È!ìÛ·>úˆþýûcooOLL III&e¼üòË(•Jœ¹ë®»L^ c® Ú+ƒ ›ìÌÓô gèÈI8(©­.§¶ª…CFÆ¢pjœóÞ·cy9éÚ÷+ûvlk4ZU=§ØÿÛü±ó;’í§A{Ñ .¤»ð¹à\&‡ömç]ÿ#1a7µ5UV§Ôâü\Â"aï ÀÞAAXÄ Šós;a4 ùe0è).ÈáøáxÄOmuƒ®}~GË¥Qãš–ô”Dönÿ/ñ?}Iò±?Îo¹nL[VœGBüìþi ìúù¹iÅ™^—kן“—}–?~ûŽÝ?}IBüTUSx.ƒý»¿g÷O[8´÷'jk*.ê@¯'åÄAâÙJü/[IIJÀ ×›”™“™Â;·±ë‡Ï-ÒCä hêëkIˆÿޤÃ{()ÌÁ`еÚ==úÔ!›“:põžžÑ|ûíŭ扉™dg»vË®¨{—ÜÍÆmâ_›þͱc‰œ<™+NNž(}} öäÄñd~üé'4ç;äï]j¶Üµk×RUUEVVIIIìÛ·¯Y///n¸á6mÚd¾iÓ&n¾ùf<==Y¿~=GŽáèÑ£áèèÈêÕ«[¼çŒ3سgçÎãá‡6vÀñññÌœ9€§Ÿ~šüü|Ξ=Kjj*999¬]»ÖX޹øVMî¼÷/I’ñ³%e%$$pôèÑN›ݱcñññTTTpóÍ73{öl~üñGvîÜIee%7Þx#K—š¶áž={HJJ"33“¢¢"žyæcœ%mÐÙ2ZÇ¢©¨ŠÒ"ÅE£®CUwÑ •  5 MÞ}£Õh;e6®¾Èå6ìØö"G3b ä¶v¤&"7ë,¯26pÓ©(µJŨ 3pu÷"ãì 2Ï&=z²UwR_W‹ëÅcõ]=©¯ëÜ÷!UW–Qp.“â‚\\\= `DìtœÐë´hÔõ-;©i§¨©ª vÚu8:¹ròè>2ÓN9h’$qêxƒ£ÇÚŸ­†3I‡°³w A«i3®Se«*g̤Y8¹xu6‰ã‡öàíÀè‰3·älòQFÄ^ƒA¯'#õ8ZŠÉ³akkKâ]dgœ¦oäco¬ª«eü´¹8»x"“Ë9yxO›zðôQâãDTÌ8ŠósÉÍãþûïçÓO?E¡P°eË–,YB||<·Þz+Ÿþ9»wïÆÏÏ€·Þz‹¸¸8^yå‹âÛƒ%e½öÚkF=u›6mÂÛ»ñoxùòå<õÔS¼ûî»&aÏ>û¬Iž7ÞxÃXÇ7Þxƒ¸¸8þþ÷¿[Ü-ƒà2›mÎnÔT”¶8ÒÒtñoÔðXä2UåEHÃÇÅá¾¶]]}C9¸ïW®9‰Úêòf÷:j ÔÕTàããOjÒœ]=©®(¶¥ôzä66ÌmlÐë:÷•‡ߎÂÉ™±ÓñõÆ ×ÑР¡¾¦¢ÍE‡ù¹Œš0gwÔªZÂú âàžŸ‰Š‡FU‡Ü½Þ@mu9¶¶öDFÅ ·±4mÆuêÔÃè«‘ËåhÔuø„púø¢ÇNÅÆÆÆ–râ Ž.¨j«(ÊËaì”Ù8::¢®¯£ßÀaKØÉÀ¡£Œ^ÔðXlmí¨¯­B’ fõio_%Ê€`ª+ËILø¼ì4®™{k¯z DGm.35Éâ{øö ëv¹víÚ@llã¹0#FŒ0‰ÏÍÍåàÁƒÜxã]^—iÓâ¸æš©üòë¯\5l(I'NpìÈQúÄÉÄDF ÆÎÞòµ#………&NYXXËú8p QQQ|ýõ×,Z´ˆ­[·2~üxBBBÈËËcàÀ&yZÛQÇÃ? À§Ÿ~ʇ~ÈúõëY²d àƒ> ¨¨ˆððpc¾ððpŠŠŠŒßÍÅ·KÊ èä­ó''§Ãt—üýôíÛ×äsaa¡ñ»%m nì]Ž­ ­É9ýþï³·MF\ŽÎT–Ïô¨®*çÄá½ÔÖT›ÖÚº{{¥ùH2¹I2`kgoUJ•ÛØ`Ðë±±mT¯¾ÉçÑdØö#ÆO£¬¤£lÇÙÍÿ€PüüƒÛض9 ¬Q«Ø»ýëÚØu}-C†Çr.+•3I±±µ#rp >~mÅu詾¹ìÔV•!Iòó? G“0I2`cc‹$Ihµj\=|QÕUc0èqP(Ð¨ÔØÚ9 >ï¤(©­.7Ú¥9=\@¯×QRKa^µ5U(B ‹‚£‹;5•¥½bDãrlnÔ¤k-¾GVêÉn•éÕW_eîܹmN7̆ ¸ÿþû»tjJa¯ $8ãŒ5†‚Âbüû28jç²³puwC¡°|½¡R©$;;ÛØ©geeµšvùòå<÷Üs,Z´ˆ7ß|Ód$ OŸ>ìß¿ŸÀÀ@³÷tqq!<<œ/¿üGGGæÌ™Ã /¼À¶mÛèׯÎÎÎÆºeff×ÜdddG+,‰oY€­­-õõõF‡¥¬¬¬SÚ¿i³²²P*•jA/ql<}”ädœÂÏ?ÈĹimÑoÓ4)I‡ˆM`XŽ.èu üøÕûÈÚX@e퇶99»Q[S»gã°c]MNÎnz7o<}” 2’Òâ|r3R8{ê¾~(ÃZ}‘ƒƒ‚I3¢prn1ÞÕË!#&`¯p¢´8Ÿã ¿á?# ]ƒ¶Í¸Î¦%‡§µ‘({{ªúZ£Ý©êë°·whfcMíÊœ*J‹(ÌË¢´(wo_B­:­†úšÊ+Àæ$J ²,o“ntÜvíÚeÖ©iÊwÞÉÏ?ÿÌ¢E‹º´^2™ [9öDô áôÉ“¸¹¸ ·±i÷¹3‹/fÕªU¼ÿþû¬\¹²Õ´Ó§OgåÊ•lܸbbbŒq÷ÝwK—.å­·Þ"44”Ó§OóÒK/ñÅ_´XÖÌ™3Y¹r¥q È-·ÜÂC=dÉX´hË—/7Žà,[¶ŒÅ‹[ß:³,h\lþꫯòè£RQQÁòåË;¥íW®\ÉæÍ›X±b7ß|s‡Û@ÐÅz–$ @fêIÎe§¡VÕŸÇŒŽŠ2óÓC’΀³« Z5…¹iÚóãT4w IDAT¯T¿>Ad¥¥ Õ¨ÑjÔd¥¥à|¹]}³K¯k@«©ÇÍÝ“a£'3yæB<ýH?sZ<Úã »()̦º¢ˆ‚Ü4vGMe qêØ~ª«J©«)G]ß8¢pt1×Y‹‡[o;Ì/ ˜“‡÷ kh@«Qs6ù(ÊÀÐóŽLËùÍé!-%W&ÍZÈø¸ë ë®AKmUjU z}½ium‡l®é¦(ƒÔ¢8&áÝDUUã†ö޾ÄÄÄpìØ±.­›Á`8ÿ>°–ï­åNþºuëpqq!$$„¨¨(ÆŽÛæ6èåË—³lÙ2{ì1“ð'žx‚ &0uêTœœœ¸ùæ›™?¿õg̘AQQ‘ÑyX¼x1………̘1Ø楗^B©TADD¼øâ‹Ç·‡Î, àý÷ßçÛo¿ÅÝÝØØXâââ:¥í'L˜À!C ÃÛÛ›^x¡Ãm è#6 '¢GO"ÿ\IG~G«Qckk‹«‡Ñ£'·™72*šäc ª«Á^áHpX$%EWö9}‚ú¢QÕsô@ãúÿÀ0ü:¾Àñ¶è¶R\XÀ« !(,;{uÕÚK~x!¸ï@òsÒI<°ºGgÂ"‡¢prCUW·2€äc¨¯­ÁÉÙ…!ÃcAÖ˜·­¸¦÷è ¹Z o-,¬ÿP2Ï$±÷wH’„_ŸE£A«iµnæô02v:Înž4hÕÔV•#YðŽ¤žÜîÝq›“άD†—ÏÅ)€â‚s”—1èªQ-8‰]ÇÎ;kjÚƒ»»;GŽ1ÍèLÔõu¨ÕZFŽíEÄÑQAÜ”«qvråô©ËGÙœœøä“Oøä“OÛ %…ÿûß­ŽP.Y²„%K–4:•ËY³f kÖ¬±è¾ÑÑÑ44\ÜŒáççgò½Q&G6oÞl¡¸sñm­ó»4îrÊj)MLL G5‰¿ÿþûÛ=Ü4ìÂçǼå3m NYî…Ž €½}#38z,vö är$ƒ]ƒÖ¸Ö ¥„½|ûàŽ“‹;r[ z=aC.zÁMò´”ßZO%‹Œ",2ª“J³ü‘Y2èѪëÑ6Ù5eÖÆrd2 íGø€¡Ø98"—Û`ÐëÎ/²•ðëL`h$ çóë6t¨êªÍÆ]ÚQvT®¦uµ4ÌF.'bp4CGLÄÖÞVƒJUH-æ7§€º·[â$X£ÍõBrâ$i0ž^¾ær.;±S悤CgÐv›íY§ÒR‡Ûl|ý5Z±’A2mÊD‚‚ƒ:x(ÁþAH2(ÈÊeϾßI=›Æ›þeq¹+V¬à™gžA£Ñ°jÕ*®»î:Ñ+ ÝåØ@ãÎ sÇò·´îF«Q¡Õ¨LŸ~Tµ-æi)ÿ•v€_Opé®2º¾Õ-á Z5 Zu»ãºª®…Iªúj¨·¼Lsz¸ÒiúRQÃÆœ˜@ªVc¯ž‹¤o@× 9ï4wÏÚ·'N˜~ÖNž<Ù%ÎÁÄ ±?”Àî={ù|Ë—|¾õJKè|||ˆgÕòeÆ­á;£aaôïßµZÍܹsM¦7A786‚ë®È·{#ÞîÝÃfe0YèogoÏàa£8›r‚áã®Á S›œQÔ]‹=ñÄÎÛÕë¦LšÈ”I;­¼eË–±lÙ2ñ'ÇæÏ÷dÝ´ºR:wk’ëÊtl¤fΊ­=C‡Ç¢ÓªšÌIâÄT@ ›Þ\&Ç °éæû$r™eï ¹ôɺ7ÓžzZ“\){OÙœ¥Žeã;£Z’Og±Í plzg7j«*[=÷¥«¨©¬ÀÙÍÂNPÖ¸ÅTo€Î ûöÎ;>ªbïÿïÝM²éɦ÷BJ ¤ÈlT‘浠ׂ\Ä\¯+6•+^¹ ¢¨^)J‡$„¤“Þ“MÙd÷œß…@’Ý@ºóöu^²3sæÌwÎäÌç|gÎŒqQ½ždW[ÚÞYmîjÊŠs[•¾¶¦Æ¬6+BØt"A¡áœM:A˜"G×v#•d‰Š’bΟ‰#,| Éô¶öNæd`cgß-ê³V«ÅÖÞ©ÇÙÕ–¶wt›k•ʼåÿedªµZòsÒÍj³@ „M'â¤q%¤wé)ITÇU Éí;@©PbëàH¯ÞQ8iLo¤èFú¹S÷ÅÖÑ%Š.Y2ÕæeÙcìjÛ;ºÍ5Çñƒ»Û¥Í 6ˆ#¾vŽøõî”ëטØÙÑIC@¯†Åäjª*/®zÚõP*ØØ9Ы/ŽN“黋]ía{g·¹öl¯@ „xP›ÄÛ?oÿW§ÝÍ®¶²]ˆ@ ÂFˆ/a—@ BØA[PQQIüÉ“<ödÓ»pôþ»xyzâëã#*K ÂF ZfóæÍ|üñÇŒ;–¥K—¶zðë%îäIî[ðC‡ æÁ…÷2wÆT,-mP(”degS\TÂÑcÇyçýذþ F)n˜@ „ 9®wßœÎB­V÷H»ÚÒvAëxàŒ¢`Ïž=|óÍ7ìÙ³§ÝÅÍñØXþ¾êÿ±ý³))-á³/¿fî_$3=;nz#† aðà6 ù_<ô(;¾ý¿?µçF¡P4»£õÞ½{ùë_ÿJVV–ØõZ „Mûˆ†ÚN½¾Zmz'ãÜ ™=´Ÿ‚üÜ.[*¥ Ww† MPH˜Yçt»ÚÃöÎnsíÝ^ÛšøøøF¢ÆÉÉžòr-qqq|üñÇí¾×Òƒ‹fÛ–Mèêjpuqaìè‘”—QY¡E©I=—‚«FCM–¾}"ø×Úg¹mêtân7qÐY±b6l`Ê”)¢aÓ^ê’Â<2Ó’ÑV”µûõ.­ Üw/“é³/dòûÞ]Ü>}½z£RY è‚k¾$ç’âøé»¯°T«ñõ èvµ‡íjµ5©çÏrð½äçætÒuë„››‡'ÃGÞL¯ÐŽÿD½¬¬Œ›oŽaìØ†#(È‹?þ‰ôô<ÊÊÊ:¤ NöŽØÙÙ£7è2pÑ‘””•PX\DQq1ggÔj5Ég“ k“köToFBB·Þz«è}BØ´å¥Å¤œM $,K‡¬<\YZBÊÙT–&<;|`/wΜG`¯> {+ô]¶.ÃúõG§ÓqøÀ^fÜý×cW[Û~!3ƒ=¿îdâí3ðê…JÕñ†¯½ðwž]·Ñ¼6+HNŒcÇ7Û±²RãØ¡euvvfÚ´Q,]z—1ìŸÿ¼Ÿ¸¸óìÝ«í2ÔTW—áè肵•5(ÀÃÓ0}=UÕU”WVðËoû¨«Ñ‘š’-z–¨­­ÅÒÒRT„ ýö H?ŸDhŸþ¸xxci©FeaÙ®‡¥¥oz‡$ý|’Éò•äá‚$$ Y–»ôáíDIA^³«-m?°7·M›MÿCѸ¸áèäÜá‡R¡D–$êu5&C}¡½Ã™0ùNîÿ­ÃÿF£££‰‰Ü”/‰û￿ݯ?p@ ;wîä|Z.‡ŽÅ‘—AaQ.9¹8Ÿ~oýœ=ûRU^Í¡ÃÇÙòÙç,Z¸Àd¾555Üwß}ØÙÙáååÅ+¯¼‚â WšB¡ ¤¤wwwJKKÿý””àééIii)ƒU«Vááá­­-sæÌ¡²²²Ék†††’˜˜hü½yófã¿ 5Їz'''œœœX´hµµµÄIKñÍ{ Æÿ_ú·©¼ ëׯÇßߥRÙ¬Xjm­©76ÝŠªŠ2ì:~c?g Uf }IȨ”*$É€,K]þ°P©{œ]mi{a~Þ¾þÚîJ²,a0®9t:]“á>~š!ÜÚ&†o¾9fü—FF†C‡|µxá6¼û>ï¾ÿ!±±qœ:•Š¥¥¶¶<ÝÝñ÷òåd|";~üÝÅÎôÑÅ‹Læ»fÍÊËËIOO'!!ßÿýš4...Üu×]¼ÿþûÂßÿ}æÍ›‡F£aíÚµ?~œ'NŸŸ +W®lòš“&Mbß¾} žÃ xüñÇùÞ½{™|˜'N IMo?r=y´¦ÞÝ‹?ýP”$K² ¡R¡4k †·Y’ºE}Ê’Ôè­³§ØÕ–¶Ë²Ô)ÃOW׿,];’û\Èæ>$:ºÿUmVÑ)ûZ•——“’’‚µu?V¬øGGG‚ƒƒ±¶–ÉÈÈ 0°}‡Æ†Ú ®\4|öùçèõz  P  ÆNÚEãȤ[ÆñÁ¿ÿcV¾Û¶mcß¾}¸»»ðÆoðÝwß]“nÉ’%Lš4‰åË—caa^¯ç½÷ÞcïÞ½lÚ´‰Ÿþ???^~ùe¢££Ù¸qc“ÂfëÖ­<òÈ#lÙ²kkk>ÿüs.\ÈÞ½{¹çž{øì³Ïسg¼õÖ[Œ7ŽW_}Õ¬øÖ`N^o¼ñ†±žÚ*ÖÔ›@A  †g76f ÅîfW[Ú®P*»@»jøâF’ —EÍɦ͘EiiS¦Ï䛯·Ý?êòK€d@©èØ Þ»w7lÔ9rdú0ƒ jŸ••Å‘#G˜5kV»—e„qÜrËx~Þ¹“þÑQ$œ ??Ÿ^½zÏëÕ«ùùùÆß¦â[ƒ9yù˜øtþzòhM½ ºY¿)ª k£P*.vš×?÷ÃÆÎ©Cçš\*s{ÛÕslWv‡ç¥¡(É G2è‰eÆÌÙ¬\±œìŒs¬\±œ3gkL# fÙ×V¼öÚkøùùÑlÆŒÃË/¿Lyyy»–ÇÚÊš°^½ðòñá¦!ÃpóðÂËÛ—ðˆHœ5Î889bmmþçðžžžddd§§§7›véÒ¥¼ù曼ùæ›<õÔSÆ8ooo.\¸Ð¨67dcooO¯^½øâ‹/°±±áöÛoG¯×óí·ß‚±liiiÆóRSSÞsâ[C[äu=y´¦ÞBØÚ²ê†oæEý9ïWW°ý’ÇL’$$IâùÿÅ?Ö¬báƒ÷¡V«Yøà}ücÍ*žñ_Æ4’Ôqö»wïfÊ”)fÏ¡yàøé§Ÿ:äþZ¨”¨ÕV„`a¡ÂÑÞ¥JÕêû:gΖ/_NQQEEE,[¶¬Ù´'N¤¢¢‚ 6`ooÏ€Œq?ü0‹-"%%½^OBBsæÌi6¯É“'³lÙ2ã°Óüùóyì±ÇŒókfÏžÍÒ¥K)((   €%K–4ÊÓT|kh‹¼®'ÖÖ›  ›Óg’™=ï^zõ% W_fÏ»—¤ÓgD 6AIQ> ÇçÀ¯ßqxÏ$'£®öúeSvC`N™•=TؘcW{y=.}i¢¸Ž2|öéÇÌŸ;»QØü¹³ùìÓ;¤ìWrÉóÒÚ‰Á 66¶]Ë&I’,C“ÄeY¦¾®Îì¼^xáìíí  ""‚áÇ·øôÒ¥KY²d +V¬hþôÓO3jÔ(Æ­­-óæÍcúôéÍæ3iÒ$òóóøœ9sÈËËcÒ¤IÆ4/½ôžžž„††Š/¾ø¢Ùñ­¡-òºžþ! 3™Á£nÁÖÁ‘Ó G¯»³2w¤  €·Þþ_†Õ(üÒC·có½]yHi؈Q¼½a#mn{{‰º+ï·ye‡……ªÑïæÂ;Bþúë¯-?5‡““gδßËVmuµµu ˆ¥Åebcc͸±!4 ˜ÓIæ_ßÖÖ–O>ù„êêjòóó™1c†q"ë¥ûy% .Ä`00qâÄÆ÷R©dÕªU¤§§SWWGBB³gÏnöº111Ô××'ÒzxxP__Ottô6Ù°iÓ&***¨¨¨`Ó¦MØØØ˜ßR;¼:îFòº‘²ˆûï½{ì¹ÿÞ{xô‘E¼òÚzc:WOÞyï¢ ÅÍ«ab›Á`à…—^¦Ox ¾a,\ô7´Zm®Ô¨A#qõðÆÂÒ•…¾!h+¯o…T¥‰‰¦:Žÿûæ[îš5‡èCˆ?y’—×6ÿ¦b0øÇ³Ï†›‡7÷Ý¿ Ñýعsƒ‡ŽÀÙŃ~ýùxóÌŠkM™[Jcç áƒ?""2«'ƒ‡ŽàÀÁC|ºe+Ñ1ƒqvñ`ÄÈ1$&^^¨¶VÇ£-ÁË'/Ÿ{|)µµºFy¾½a#½ûF`ïèbV=¼¼öEââãé3˜YwÏå›oÿKoãæØÞ&+ЦtŒÉ£#†ÑZ3O¥©®=ذþ ž}a-¯¾¾žÌŒtjuõD…Gñ·‡àã z™}¿ÿÁ®½ûùèýwÍÎ÷É'Ÿ¤´´”¼¼<–/_δiÓD¯$t„°Ù³o?³f^뢛5s:{öíovüx,¿íú‘¢¼LÖ¿¹¸ø“ü¶ëG’c±¶±æ¹Öþi*X2èÉÎLEãâ~ýPÃ+G£ãèÑc,}r9¡½ÃùàØ>m gÏœâÃ÷ÞaìÍc§¿âüW_}ØØ8ìßCzÊY¬­­Y½æYcüÂE³ú™Uäçd²ó§8rä¨YqW­šgrõùÀo¿íáç¿';+Ù³îbúŒYüüóN~øîr.¤3cÚT{|‰ñœçžÜÜ\âŽq2öYYY<ÿ‹ò…æ%ÜÜÜÌ®‡KØÛÙqÏüyÜ38È âý6QUQÒ.¶wØÍÅ2ìÞñ¥Ùç =©CDÙÓO?}Ýç¶÷‰±cF3vÌè6ËoÉ’%í¾‰§@ „Mh4 ‹ðön¼icaa..šFa^^ž~çæå1läØ.÷`ïFM˜ŠA¯''+•s§c‰4ªõХϢ¯ ßýëN¶nýŒY³çÑ¿óæÎfêÔ)ØÙÚ6™Ï¥ósrs‰4ôšûq)~˧ÿaݺWyií:œY·n-·Ý:ÙdÜ•×QšóÉs3vh\\Œá—†®ÓëõÆß…RPPØ(o/o¯F¿MÕÃ%ªªªøæÛÿ²eë6NJdÆŒiÌŸ7·Ér·ÖöNõØ\üºiÂæÏ)¨(+3ž'ÝZØÜÈ­“'¡V«[,O·ñØ(&Z±ù¨ŒÜ%D™@ ´ø|3'Ñߟz’ÿÝøÿçS*+µTVjÙüÉþwã{¬X¾´Ås¸ÿž|j%iéèõz’NŸaᢿõèJMNÀÖm_4R5[·}Á¼{ £?÷‚Áì½¢"ÂûñÅgŸ´˜¦8?ëÚ¨RÉÒ%±tÉcšJuóôÅÍÓ·íÞ¬oʲ¢F÷cù²¥,_Ö´§í®™Ó¹kæôVǵ¶ÌÍ¥¹²¬æ†ÙX[³qÛlÜð¦Ùyšª‡ö¼_Šv\Ǧ5‚ùJV¯ZÁÝóºšùsïfËg_ðÚú·øbëæÏ‚n+lƒXy¸Ú®ì:[*\Ú]=*"œÏ?ý˜Yóîã™5ÏáììÌö­›‰Š7¦‘;pK@ ¦‡¢P6L²•¥î³»·Ù›`v#»ÚÔö®´ æ»{GFôå‹-±øÑ'yï×Ñ·Q¼$IÂc#„°Ü`¤P^Óue$É`Ö'ÁÝÍ®¶´½«Lnj7ãˆð~ìÙõ*Õ5q²$‰ÉÃ@›®ŽR¡D’%TÝ Ê’Ù_Ð4t@ÝC4 W(zœ]mi»ÊÂÉ`èävß|ý+4.ôX¨T_ϲŒV«¥¾¾žœÜ\,-- 5k; @ „MÇÎÑmy7ϽneY)vŽÎ¦;A• I2tzGh.z}=*3:¿îfW[ÚîâêAqQÎ.®VV…RAYqnëÚ¬¶›G‡—555•C‡ ­ÒRP\„¥¥Å¥e¨­Õ$P*aîôéD„‡‹'º@ Â&(4œ³I'SÄàèâÚî“#%Y¢¢¤˜ógâ h2½ÆÅœŒs8iܺE}V–£qqëqvµ¥í‘1C8º'ÖÖÖxû¡ì/ˆR¡D¥²4+­,Ë”••ræ$†ÝÜáeݹk/lÄEQN½^O€ª;UÔC²!íš'Øñã"l Y·nwÞy'7ßܸ.Þyç|ðA³Ö;ê‰\Þü³\W „M—ÅIãJHï(ÒS’¨Ž«@’Ûw2«R¡ÄÖÁ‘^½£pÒ˜~cï9„ãг«;*º¦»Ý€DYq!)É D º©ÇØÕ¶»yxÓÐ0Žìÿ‰Š²’kæ²tTg°óûíæµY¥Gg¢ÀÍ£cW7 Èi{ªŽo¸J‹©Õjô{û¥O<¥¥e»–ç±0¨ÖÀ{ÄùÝDGGEMÚ¿·ððƒüû“ÿˆ] ¦ó°±sÄ×Îß ÞrýšªŠã]Ü<é=”ó§¨,/mwáu#‚ÍÁIC¿è¡¸˜1¬×]ìjÛmì ‹$8,²ÛÙjª½¶5¹¹¹¸rš·²P¡­¨ 7/òòòF¶EyùøØjH,,!91‰¾}ûòéGÿ&õ“mŒpråùÇ[%L.aooϰaÃxë­·7ÓóÔV¢¦#’a!lzðƒúz éG`H¿W§ÝÍ®¶²½;´¹®BòÙ³8SÚlüY9˜²òr äõzgË',3Ž'£Yý·Gɹp”m_2ÞÇ©çÛ-­ÊïRg_^^ÎÛo¿Íüùó‰7^ ¸‘—MQÝ£³ìNGOµ«-m˜Gjz:AÖeÍÆWYyPQQd0tÈWQîîz'ç*ʘЋŒÿ|Æ$O_~ËLÃí¶[xùÕW¯+_'''V¬XARR’1Ì`0°jÕ*<<<°µµeΜ9TVV6éñ1•¶¾¾žeË–áîîŽF£áõ×_o”ÇÕ[p˜ÊO§ÓñÀ`gg‡——¯¶`ws×P(¬_¿ã½KMMeÊ”)888`mmÍ­·ÞJAAÙ×5Un6@Щ—•‘ò_{=Ã'ŽËX¿‘ÊI|S7–Ï*n"KÝ—òòrüýüpqqi÷òh4úùŠ2Æxúr‹·?qù¹8NÏÊçþyÝs|ÊËËyå•Wˆ‰‰1†­]»–ãÇsâÄ òóó±±±aåÊ•Mžo*í?ÿùO‰%-- .4ò]¹¯š9ù­Y³†ÂÂBÒÒÒˆg÷îÝ&½RW_àðáÜ8qÂ8ÏìÎ;ïdéÒ¥ŸŸOŸ>}X¶l™Ù×mM¦kŽŠ IDAT z.ŠÏ7½&ß9û!ñ¶)n˜]ßÎÝ.o“¼dYæ‹íÛIMK£ ¤ÿ^Á””–¢ÁÂÒ KK¬¬¬øzûvþz÷Ýüíá‡Ûݾ}{öðî’åÌó FYWONµ–ßüÝùø“OZ-j®^ìÐÛÛ›@PP?ÿü3}úô ??ŸèèhòòòŒç_ ¦Òúûûó믿һwï&Ëqµà0•ŸŸŸ{öì!44€³gÏÒ§OŸfçÑ4u …BAvv6>>>ÍÖQuu5AAAF¯©ëš*· gðÅG¯3áŽÙMÆIƒ˜cÓÐétݪ¼æ~îÚÝìjKÛ¦¹pá9¨llðB2HXª,Èξ@ö…lÊJK©­©!7+‹¯¿þŠùsçâääÔnåÙ½{7>¹‚y!œÉË¥ ¶š~N.(ÊÊIII¡oß¾×%ÞdY&55• k6ÙÙÙ×äÙÜÊÏ¦ÒæææÒ«W/³Ëe*¿¼¼<‚ƒƒ¿[“÷•\-j8ÀÊ•+‰¥ªªªÕ×mM z.za£ÓÕvrGhm2MMU9™)Ti»®WM©P`cç€O@jµ»Yçt»ÚÃöÎnsíÝ^Û ƒÁ€R©ÂÖÚ…RA¿¾ýÐô””õ¡®®­VËÑC‡Ñ¸¸püÈêëëÛ­,ß}÷»ÞyŸÙ~ÁÉL§8<ŒÇŽîä‚cz6;vì¸.as©ã áÓO?eÈ!L˜0¼½½9xð ¾¾¾&ó0•ÖÛÛ›ÔÔÔ&=6דŸ——iiiFÏIZZZ›ÔóÝwßÍ믿ÎäÉ“qtt¤²²²‘X5uÝÖÔ™@›‹ZmMIa™iÉh+Ê: lXÇ& ¸.î¦×©(/%35™ðèah<üP)•Ðß@$I¢àB 'O¢oÔ@4=®ö°½£Û\[¶Yµ{ǬcSWWGüÉ“xzyâîîŽR¥B¥RQ«ÓQWWGZJ*G eË‹ñíÅÞ½{ñ+¯"©¶„óþ^¼òê:³bÚLæù³sûWÄo\׿zðóócÔ¨Qlݺ•Å‹óðóhÑ"Þzë-9}ú4/½ôÛ¶m»æ\Siï»ï>üq6mÚ„½½=Ï=÷ëׯÀÙÙ™äädãð9ùÍ;—eË–±iÓ&dYféÒ¥-ÚÖÔ5š|Ù©©ÁÚÚkkkÒÒÒxæ™gÅ›ºnkêL „M¥¼´˜”³ „„Eâ q镇+KKH9›€ÊÂÒä"}Ùé玫§²$a0è»l]ºûR]Mvú9£‡ö»ÚÚöŽnsMqpÏnŸ½Ø¬´²d 73…¸£û‰0ܬ…%oTÔü{ófBúôÁ(+/G[¥¥²²’Úº:tº:”*ÁÁÔëõd¥§óÞÆh4šv+ÓK/½Äà ¢°°€/¿ükkküüü¨wÕPZW‹¢^×&C«=ô«V­bñâÅ<ýôÓ¬[·ŽñãÇ“““CŸ>}X½zu“ç™Jûì³Ï²bÅ ¢££‘e™5kÖãžzê)ŒV«5ÎU1•ß /¼ÀâÅ‹ ÄÁÁ§žzŠ;v4kWS×hŠM›6±lÙ2fΜ‰¯¯/O=õŸþ¹Ù×mM z.úÉÃñG÷Ü»Ã÷Š*/-&ý|ÑCF·˜îø¿pómsQ@·Xબ´˜øC¿0hä-=Ê®¶´½³ÚÜ•ü¾ë[n›õúzó;㌔3ädžo±Í¶Õäá¼¼’,ãæéIiy9gÏÅ×Ç]­ŽÂ¢BNqóðá<ñØcRyyy,_¾œùóçsÛm·u¨—ÐÒÒCÚkM 01yØUeØ;9wøuœ5T™1 !É2J¥ƒ¾¾[Ô§R©D2C¨t7»ÚÒöÎjs×xbd©ÉŽQ–%Mx‘ì]©:u¬CÊæåå…——²,SZZJl\5åå¸8:agcKMu ))©äçä0}êÔN«C///¶lÙÒá×ÅËË @p-za#ÉR§ (ÊVm#Ðû ]ï›d{¦ï ¶wV›»FÀHÒUC€ÚòRã5h¶öŽâËÞ‘( \\\?n$œ:EYq1JYæ³Í›ñ÷÷ÿÓ=·FŽÉË/¿,z0@›î‰,ËÈÝD´¦œÝÉ®¶¶½«´+Iºì±ÑV”qòè~êëuÄúèac±µ³¿B¸uþ°‡‡‡ãÇcü¸q<òÐCÚgBmm- ››ßw}˨ SÅiÜ!ßÀ›ò¯ßoeüó:¬³ì(»º¢Pè^å½ì±ÑV”q*ö}úÅÛ/˜ìŒ³ÄÙCÿA£°¹(nd1ŸC tºä– .~âδ1vŽQ ‚k„˜$IH’DzJá1#ñðö§Z[ŽÆÕ“>Ñd¤žA¡TÓ AWÇ¤Çæð¾Ÿ2zb£9IñG¿â“VY’8²'oú ––båUhð<]âÆ=PòŃ6ȧݻËN°«ËH…N½zúù$ò²Óðö "04ÜìsÃc†ceeƒ®¦êò †»'ž¾è{Ðo@Ðó1é±qtvAW«3.žV¯¯£´(+›ËcïE…¹8:»àáŒB)öÕ¼$fÚjHMdÙô¡«Õ‘‘šÌá}?5 ¿ü†Þ1G[ÛÕÇá}?‘™šŒ®V×.¶·5¹Ùé”—1pø8GYiy9f ˆÂ×骇!S_W‹,z Z§·?™©§‰8’:] •e%ȲŒ¶¼µµY’ÈÏÉ ¸/õõ:$½ž”3'),ÈÀÝÓ—>ý‚G–¤ã­óH’DQ~6¹Ùi”—áæéK¿þC±µw¤Z[~M²,“š|’œ¬T$½7/?úF AeÑЊ r8:žšêJ¬Ô6……ããb2îú½Óïþa}"“‘z†ºÚllíéÛ05UZÒÎ'¡«©ÂÎÞ‘~1ñwhødZ2HœM‰°~ +’&Å& =ébØ)Î%ž`ÐÈ[ RÏÆS§«áæ[gcaaAÜ¡Ýd¤ž&8,ÒØ×Ti¹iÂìì5(”JNÛ×b=hÜþ¤œ9‰§oõõu¸zúRwüw”* òó²ˆ|3uµ54ŒÉëprõD[V„$I¨Õjêjk±²¶¥Z[n2^ÐÔ«²|7kÐM(.ÌãÄ_°stÆË'/?”-t¸²,£«­aÿ/_]Û,­¨­Ö9p$ÒÏ’œp•…%aápóðh1îºÞê›° ÀJm¶¼Y–Q^œÛ¥¶¶i&Ë*•²,SWW‹ƒ³;5UH’µµ5ºšZ,,ÕÔ^œ kmc‡¶¢Ä¸ÖŒ©z0ŠƒžÂÜ,ò²ÓÑV–ãéHPX$6öNT–u†R¥B2ŒCi†+þÝCÆÜaö5ÒÏž‹ g{'dY¢0/'W %vNÎdœOB©Táê凶¼K+5µÕUÆM kkª±´²2ÎM0/0GgW4nžô‰LQAY©g8—‹»‡ž¾AÍîC¤V[3fòÝXÛÚ5ïàìBä QXYÛRTCüáß𚄾¾®Å¸¶×r²YaVVÖÔTk ÈÕTWae¥¾fÞÖ• 虪‡Ò¢|ò²Ó)ÊÏÆÉÕ€^ýð ÅÂR¾NGue×Ú•ÛÖÎme)Nwª*K±5é•)ÌM7ÿžˆ¡(@Ð 0{Æ®‡—É GqóôF__‡³³çá²lúp÷ô%áØ> õu:R“ððö7v:¦âÍw+W}=uºj4D½™›'ßÆÃ‡”䓨,,¹vv¨ŒO`ñ‡wS˜—AEi>¹Yç9¼ç;*Ë ™¤ØƒT”QUYBmuƒÄÚÆÞd\ããFìj*¼å0NÛ‡¾¾ž:]-çOàéxQÈ4}¾©z8&g7ÆÜz77›†oPoôõuhË‹©­©Ä`¨oòžtÞ~¤Ÿ?C®–:]-éçÏàáãovÕ˒ܤ9 §xlܽýH?Ÿ„·_(õõ:]Ü‘$‰à>Qèj/¯}ÚŒ”3ýýgdYÆÝÓ—ð7Qwq2«©øžÂ•ëØ\ú÷õ~þ}é³è–R\šÀëé€_P–VÖTUÔ]åñÿà¾äd¦whºÚjlìì ‹ÂÚÖ‘šª \=}HŒ=Dµ¶[;{"ŽEù-Å]y¶°«©ðæÂ‚zG‘–œÀÁ=ß!Ë2Þô‹A}®Ù²™ª‡Á#'b稡¾®my‰Y+$wæÜwo¿`t5Õœ8´/ß –¿ˆjtàLÂ<}‚pqó0Æä^ ¤8Ÿ~ý‡4! › KK5#'LÅÖÞ²¢<¬­muËtÔÖ6”]vË+•*zõŽl²P7LĬÓUçϘŠï)Û)´­æ¿2Ë’ºÚêFBqì­³Œù(àB¯>QXªmP*UHýů¨d<¼ýñ CmmwqÞ†žšª “qWw”×kוe57L¥TCÔ ÑXX5,©¯ÓQSS ÈMžoªª*J®ã>uAa…E\×¹Áa‘$ÆB–ÃѸ¸S—Å…Œó ;d=z©N<-AÏ6 ¦DÉÅõg$ƒ¾ÑïËo®2U¥TQÚÌ›mËñ%Äic*J ýÖÕV7ûIx}]-õuµ­Žk¯²š&ËÔTW@µùyšª‡žÎ•›ªÕÖDD#1î0gëj±´T3ü/S õèëuÆ¿@ èQÂFÐi=PÜݱ»w'7+©ÑÜ6K++£‡pîÌIޏI_Ûh"±W”@ ÂFÐfoÖÝeruk:÷îdWÏ6ò5bÅÂÒŠ¨#Ñ×Õ\ã™@ „M7@©P"Éý±¹$K6mÍ›uW¦5åìNvµ¥íÕæÌ– {F5eŸÞì6+BØtvŽÎhËËš]÷¥½¨,+ÅÎÑÙŒNP$IH†î!ô’Þ¸¨^O²«-mï¬6w5eŹ­J_[ScV›!l:‘ ÐpÎ& Lƒ£‹k»¿‘J²DEI1çÏÄ>Ðdz[{' s2°±³ïõY«ÕbkïÔãìjKÛ;ºÍ5‡ÊÌí0ddªµZòsÒÍj³@ „M'â¤q%¤wé)ITÇU Éí;@©PbëàH¯ÞQ8iLo¤èFú¹S÷ÅÖÑ%Š.Y2ÕæeÙcìjÛ;ºÍ5Çñƒ»Û¥Í 6ˆ#¾vŽøõî”ëטØÙÑIC@¯†Åäjª*‘ºèèJ…;zõÅÑIc2}w±«=lïì6מíU „°j“xû‡àíÒãê´»ÙÕV¶ q BØñ%ìÀ$âÛM@ BØ@ t5ÄPT7@§Óu«òªÕêiW[Ú.!lÚI4ÔvêõÕjk“ijª*ÈÉL¡JÛuç¤\ú2È' µÚݬsr/drôÐ~ òs»uR)U¸º{0døh‚Bº|›kïö*BØtòƒº¤0Ì´d´e Ö »—Éôå¥d¦&= ‡*¥]oÍI’(¸Âɇè5ÐägÏÙ2ù}ï.nŸ>‡€^½Q©,PtÓµl ’sIqüôÝWXªÕøú˜ls©çÏrð½äçætJ™[Ó„TJnž y3½B{#BØtaÊK‹I9›@HX$—Yy¸²´„”³ ¨,,M.x–~Žð˜á¸zú!Kƒ¾ËÖ¥»O!ÕÕd§ŸÃ1zh‹iØË3çØ«OÞQ]Ø.së×NÇá{™q÷_[L{!3ƒ=¿îdâí3ðê…JÕñ†¯½ðwž]·ÑLÑj 91ŽßlÇÊJ_@ xr !lº*éç“íÓ¿ÃöíQ.Þ¨,­H?ŸDôÑ-¦¯Ö–ãìê…¤×#wƒEìœ4î¤'Ç™LWR‡o`’dèv™ƒ·%ßm7™îÀþÝÜ6m6áQ:­¬J…Y’Ð×›7Ï)´w8&ßÉÁý¿1kþýâÉ)„°éªTU”aïÔñû98k¨2cèK’e”J%}}·¨O¥RiÖ*Â2*¥ ƒ¡¾çü1©TH˜¶½0?o_ÿN-«B©@–% MlBª×ë±°¸öÑàáãGaAžxj !lº2’,uÊ&„J…²U{I’Ô=êÓÌr* @Fî&v™ƒ,Ií2‘N–:eøéêú—¥k‡ããOr߃ ÙüчDG÷¿ªÍ*:m_+@ ¦!ËÝG˜[N¥BÙ`Wê(e3E²BÙùËG) dYF’.{lâO&0mÆ,JK˘2}&ß|½èþQWˆVJ…BüA ‚.M—\ ÏÕÓ_Ü™Æ=&²,]÷±ë»OoèüÖæÍ—Q(—E[:.ÙeJTt6—†¢$ƒÉ '66–3g³rÅr²3αrÅrfÌœMll¬1l0˜eŸ@  Ý±sÔPUQÚeÊ£è¡oþæØÕl¿ä1»4tøü‹ÿâkV1îl>x66Ö<ÿâ¿Ø¾íÓ‹›Î¶‚66®žþçg‰Ú2“Òâ.¤Ÿ§¢¼ ¥7‚{Gbiu½«ÒÊvýt€õæ]£§i˜cW{x=dYæé§Ÿæý÷ßG¡P°xñbÖ®]Û¬ˆºº Ÿ}úñ5†çÏÍìY3Û½ì@ЦÏaQmOvÆyüC~ó­ ¼i* Î$¿!© ˦]­ŽŒÔdïû©Qøåίcs=]yHi؈Q¼½a#­8Ïúø¹ o¿^Œ3žC‡òÙ¶í 1/¿`ÆŽŸLÒé3òxkÃ;ô‰€_Po_º]]1Î`0ðÂK/Ó'<ßÀ0.úZ­¶Ñ5ßyï¢ ÅÍ+ Ã+5ràMhÜxùðØãK©­Õ5Êóí éÝ7{Gcúdzφ›‡7÷Ý¿ Qzyí‹ÄÅÇÓ?f0³îžË7ßþ—º+Ú`kíjìõhû÷‰Í›7óÒK/áããƒ/½ôüq‹Â²™&Õâ¡ÂF  ìÝ·Ÿï¾ý’Ôs‰Ü5s³çÝË/¿î曯¶‘v.‰©SnçÉå+sðÐaþØû qÇPXXÄËë^3Æ­sqñ'ùm×$'ÆbmcÍs/¬mtþñã±ü¶ëGŠò2;½’ËJ qpviÓ<+ÊŠI>uŒ?~ý–ìŒóxû3îÎy }+îÞþèj«›Ý²/?ÿož]ý £ÿr ¯®»,n^|þYÜ\];½‚µ•夞M bÀˆ6Í÷Ø¿`mkÇ ‘q÷òG2詯×Q]YÚâ—I9Y© 5;{'jk´…ôãȾŸˆ0]MÕÅEó$´%XXX1¥Êеwݦ 6¼µ—!øè£ðÏç_äÍõ¯7 {qíËÆôÛ¿üŠŸv|‡»{Ãæ›¯½ºŽÛî˜ÂÚŸ¿Âó’±=lþϧü÷›¯ðõõà…çžeØM£øŸ7^kT{;;î™?{æÏãy`ÁC¼ÿÁ&ª*JZmWkÒ´ºiµØÛÛ;88PYYiR\íÞñ¥Ù×:z’ŠBØF`ccÓd˜^ßx¡°€ÿFÿ.((4þÎÍËcØÈ±-v^^ž^¹å¥EœMŒ¥oÿÁØØÚ_Fçp\É ›&P\˜Ç‰¿`ç茗O ^~([XøM–etµ5ìÿå«k‚¥µÕZ"ŽäBúY’Ž ²°$,|n KqÆk˜=uñsï&â4..ÆðKíåê0½^oü]PPHPPñwPP …òöòöjô;'7—˜AC¯iCW—§ªªŠo¾ý/[¶nãÔ©Df̘Æüys›,·|…]æØÞ–ØÛÛ£Õjqtt ²²‡ÄUƒ³v³[á%,3ž'=VØXXXPSScì€JJÛæ“âÌÌ,‚ƒƒÈʺ€»ûå·mO~Þñ-ÞÞ^]¶b ó³I;{ŠðèaØ;¶ý– ŽÎ®hÜ<é9˜¢‚²RÏp.)w<}ƒšÝûJ­¶fÌä»±¶µk2ÞÁÙ…ÈA£°²¶¥¨ ‡øÃ¿á5)}}]‹q×å±in¶q+Ã<<ÜÉHÏ W¯`ÒÓÒÚËÕ3§¯:žžìÞõ³Ñëwuº={÷±õ³m|ÿÃŒ¼i‹>È­“'¡V«[,Ogyl"""8vìãÆàøñãDDD˜Wr«6U•‘ÛE” A[rï_ýذñ=jjjÈÍÍcùŠUmR°Õÿxž¢âbŠŠ‹ùkžã®ÓŒqÜO>µ’´ô ôz=I§Ï°pÑߺL¥fg¦~.‰ÈA#ÛPÔ\;“Ó ¯§NW£“†è¡7sóä»Ñxø’|•…%MMö !þðn ó2¨(Í'7ë<‡÷|GeY! “{Šò"ª*K¨­®@’ XÛØ›Œkõäá6|óŸ9c:ú ‹(,,bÅÊUÜ5sF‹ç,Xð/y’´´4ôz=‰‰IÜ÷ÀBcüªgÖÐ?*ŠøGÙþùV¦MrYÔÜ ]í1œsï½÷²zõjrrrÈÉÉaõêÕÜÿý&„åå[¦¯749Y¸Q8bò°@ èA›¦¾~*ÎÏâ^…%O®àµ7ÞÄÛË‹'ÿÿýî‡.ذaC9fUUULr«V>eŒ[òø£¼õöF¦ÏœC^~¡!!,_¶¤ËTjÚÙSœ8ðk£ð¹ýºö’1õµL}]Ã<OŸü‚°´²¦ª¢îg„p_r2Sˆ;´]m56vö…EamëHMU®ž>$Æ¢Z[‰­=‘GÂEçJKq-9VšìX/M^mâ„Ö†ýcÍÿcùS+‰ŠÀôiSY³ú™Fç\}þ²¥O°þÞâö;§“›—GXh(_±Ì˜îÀï{Z¼v“wÁÌ•‡Û㫨ŋ“ššjôÒ,^¼˜ ˜!®l›wïL›róæÌ2¦Ùºm;ßü÷{¾ØºÙ˜V̱=BØ´´8_ÿ¨H~Ûõc£°ïÿk‹çš »ôï'{¤é‡²RÉÒ%±tÉc­.oG0jÂÔ6ÎÑ|Oˆ,¨«­¦îН¢ÆÞ:˘B¾!ôê…¥Ú¥R…dÐ_üŠJÆÃÛßÀ0ÔÖv(U q5U&ã—Õ aÓLYYVÔê0kk6nx“Þ4;O¥RÉòeKY¾li›Þ©ÎŠR(¼òÊ+¼òÊ+f Ë+Y½jwÏ»êêjæÏ½›-¿iÇ IDATŸ}ÁkëߺBÔ4}ž@ t[ {SQZÐè·®¶ºÙOÂëëj©¯«mu\kø3¯<Üæ©7!½¸¥BTD8Ÿú1³æÝÇ3kžÃÙÙ™í[7nL#‹-6‚6¡îî­P*º•]æÝ&ɼ¡¨®´ æ»{GFôå‹-±øÑ'yï×Ñ·Q¼$IÂc#„°´E‡)7ê`z„°Q(¯éX»;’d0ësè.±»÷Å--¤«îWDx?öìú •êš8Y’Ääa@ „MWG©P"ɪŽîeóÝúÝI˜[N¥±cí9¦a¨Ætǯ²°@2:¹Ý7_ÿJEÓ÷Q2è±P©!lº0vŽÎhËËš]÷¥½¨,+ÅÎŒOÁ• ’$uzGh.zIo^ç®R!I†nc—Y¶ëëQ™Ññ»¸zP\”‡³Kç­Œ­P*(+Îm]›ÕV¢qóOM@ „MW&(4œ³I'SÄàèâÚî“#%Y¢¢¤˜ógâ h2½­½…9ØØÙw‹ú¬Õj±µw2™NãâFNÆ9œ4n=¦-U–£q1mOdÌŽî߉µµ5Þ¾A(;Á ¢T(Q©,ÍJ+Ë2ee%¤œ9É€a7‹§¦@ ¦+ã¤q%¤wé)ITÇU Éí;™U©PbëàH¯ÞQ8iL¿±û…‘~îÁ}±utDIלã !S]QAa^&Aa‘&Ó÷‰HÂñ„Ç ÅÙÕÝ÷keÅ…¤$'5è&“éÝ<¼é?hGöÿDEYÉ5sY:…BÁÎï·›×f•J]ˆ47/@›.Œ#¾vŽøõî”ë7¬Ó<ŽNz5,ªWSU‰dî xîP`cç@@¯¾8:iL¦wqó¤_ôPΟN ²¼´Ýe{‹U' ý¢‡âbƦ#Áa‘›!»¦Ú«@ a#Ô&ñöÁÛ?¤ÇÕi`H?CúýéÚ“@ „_Â.@ L"–@ „@ 6@ BØ@ a#@›ëÃÕÓWOÿN7¬«”C AÇaöçÞeeå¬ómvü´“ Ypww§OŸ0¶oû´ÃEKKçg‰;+6MST\ÌäÛ¦RPXÄë¯þ‹Û&OD–e9Æ»ïØá¢âÊk\9BÌ@ 0k(êåu¯“–žÁ³kžaÖÌéØÙÙaooÏøqc¯ñÖ\*-+Ã70 Ÿ òó ŒñyyùxøáFiY²,³ñÝϰaCI;—Äüy³yþűñÝÚÄÀƒ‡³g×lz#ÉgϱäÉƸÖ\;>>ý{~áß½GÒé3̽ç~JKJ9r`/ô> §ùÛãOŠ%AW6ÅÅÅ Þ W—Fá—¼ÍÍyYôЃ bfûW—…ÍÅ_Šûèß›xêÉ'°±±ááE ØôÑÇmbિ?…“&Þ@zF¦1®5×^õtC>ãÿò—Ëa+Â&N@ZZºhQ@ t"fͱñp÷ ;'‡üü||¼/ žü¬'ò†÷ë˨‘7ñû8™p d™Óg’=j$ýúö '7€ÁÃG7:7ëBv›èí퀥eƒ©W3µæÚn®®òpwwkP‡Jå5y @ èxÌòØÜqqê³Ï··ú‹/zf>ÿâ+¶}ñU£0ß‹BéÌ©XŠó³ŒGanF»ß™×@ÐIÂfåŠeD„÷ã•×ÖóÆÿ¼MnnƒŒLÓ_"Mžt þ~|ùõ7|õõ7ø3iâ„ËÂgÑþùÂZÊË+Ðjµìúõ7îš=¿ÝïÌk @ h{ÌŠrrräçß²ñÝøæÛïx}ý[Ô××ãà`OdD8ýûG6¯œ”J.x€üóžxüoÆ¡€Å-ÀÚÚšMm¦oD jk5ÆáÑG·¿°éÄk @ h{ŸozM¾söCÔTUˆÚ7Ä®ï?çî—‹Šíƽ΄;f7' b¯(@ =!l@ a#@ „@ 6@ BØ@ ø“`!ª ë£ÓéºUyÕju´«-m6í$j;¹#´6™¦¦ª‚œÌª´]w­!¥B>!¨ÕîfÓìjÛ;»Íµw{!l:ùA]R˜GfZ2ÚŠ²è•Ø:8Üw/“é+ÊKÉLM&‰è!£[L_­-ÇÙÕ I¯G–å._ŸNwÒ“ãL¦ënvµ¥íÝæš,úzóæ9¹{ûÓ;b YmV „°éDª*ʰwrîðë:8k¨2cB’e”J%}}·¨O¥R‰d†Pénvµ¥íÕæ®6²„Á`h2\Ñ„ÉÞÙ•ªSÇÄSS aÓ•‘d©S†” %’,™_NIêõÙÊrv»ÚÒ–Îjs×IBºjP[^JbÜA¢ÂÖÞ±QœâbÙ@Á ¾YËÈÝD´¦œÝÉ®¶¶½«´+Iºì±ÑV”qòè~êëuÄúèac±µ³¿B¸Ä£@ ÂÆ~ßõ-£&Lw£ùùÞ”ý~+ãï˜×aeGÙÕ…B÷*ïe¶¢ŒS±èÓ(Þ~Ádgœ%þÈú…ÍEq#„°]Ÿvõ‡ÿ¾ë[³Óºxø‰»ÑŽØ9jD%®b’$!Ié)I„ÇŒÄÃÛŸjm9WOBúD“‘z…ReL']³<6W  KKÝèÕ;kÛfÏ5a*.~”\øÓUlúù$ò²Óðö "04üFº ‹Ç weÑ]v‚]]F*tÛ63++t5U—_6Ü=ñô @߃&x !lŒL™÷¨ñߺÚR“ã8›t‚˜¡c¯™€x%FQ“›Nyi‡àôÉ#¨s2ðò ¼~YcFŸY§Ó‘—“NÞ…4†ŽžÜÄzGxÚÞ®ÎàÈþŸðö ÆÓ'+3·IèL[®¯Í]!,e¨ÓU_“¢¾®¶Ë7@ hSasµHñòö'åt<öN®T”äóû®o îINf ºÚFM˜ÚhîŒ$ÉdœO¤ 7 ÿ >ø†\s mE9I'áŠH·¬Ô‚œ,‚Bûauqùù Ð~d¤$_·°i©S‘$‰¢ülr³Ó(/)ÂÍÓ—~ý‡bkïHµ¶üš ]MvöŽô‹޽CÃ'Ó’Aâlâqòs3ðôñ§wø`”*¥1ÏÐÿÏÞ›GÇuÜ÷žŸ¾½/h ±ïh ± À(‰’©]¦d;–d%/ŽLòÞ¼-‰O’qƉÇyqOò^æd&ïÌËä$9‰ìÈvG±¢XE‰²ÄM$H ˆ}ß×Þ×{ç€M€Xºèn¸>:}XU÷ÞúÕýéÖ÷Ö­úUÍaFúîàóyxü¹W¢¶CEu#S“£\|ÿ ÒÒ³É-´“‘$©rÄf[>·Õ3¡kÁ~6‘·¸ Ÿ±¡>RRÓШ5«F ZN=KJZV¤¸û)j¨¯·ÛɉÇÏ`2[é긂Á”‚Ïã¼'œf&è¾ÕÆÁú#Ø+ëñyœø<®¤kTÛ%åÞœsŠ {g÷Cr,Ì2>ÒÏÔø0–”4 JÊin}½ÞD8Àïó¬{Ü`OÎÅyZO¿ˆÑ”ÂÍ«ÒßÓAEuŠ¢Ðqý"5-”T ø¹Ó~­NO0àß4oGm[œãø#Ï`²¤1ÐÝÎõË‘•ϱ‡ŸZN»I÷­«4·>Ó×u€ßˣϼŒF£¡íÂYûnSZQé½n>ƒÙbC%IܼòÁ¦í`ËÌ!3·ÚÃ'˜f¸ÿ6íWÈÎ+"¯°kZFÒûÜ’®‰]­(BÙ‚ý$lþéµ?]} V˱‡Ÿ& DÒj›Z‘T*ç&×,}ž¦ùäS˜SRq;æ)(*[õöÛßÕNÏíë4{„¼¢rÜÎy~oR6ª#©ïÙ¦V« ‡vvË€+?~ƒÉLsë“då!‡Cƒ~<ÎùMWçŒ ÷qôäÓ˜-©ø¼.ìeÕ\úà-jŸÀïu£–Ô„Ã2.ÇŽŠÚÃHj-àß4o'i8ö’$á÷¹ÉÎ/æöõ 4¶| µZIë¼q ½Ñ‚×µÈäè-§žÅh4âó¸)«jàÚÅw©ª?xµM­h4Z<®EEŽÚ@$x`FV9ùE8æh»ø£ƒ=/çßþþZGÐêðy\Ô5µ22ÐÅöK¨5Z*j“™°iÞ¶Þê×± @§7àZœEQ¤å1õãª4E‘Q«5(ŠB à#%- ¯Û,‡Ñ ø½>4Z=¾e‘b0šq9æ"¾­î‡˜fbt—s‘œüìu-©8ffDc»>wô‘çc¾Æ@×MñÄûGØÀê96™Ùytßú“% çÂô½7Ç ‚xéô¼÷†o¹­§?ÃGïþwn^&'7¹—~›ÌV\ÎyRmY¸ó˜ÌÖ½†5-[fëŽ035Æp_'Ý×ÈÊÎ'§À¾á>Dz½Gž~ ƒÉ¼n~JZ:uÍ'ÑLÌLqýâ{ä>e' lš·Ó¬'x6‰Òé x=®ˆïy=nt:=*iu4ƒ•‚;Z;ÌÏL21:ÀÌä(©Y¨&¿¤VO(àÇã\Ø>§0=>û=Ÿ¢A2 .lç P(ÄÈ@F“VÓ1Ù¹Eܸü>¡`P0Hß}oF“…ú¦“Œõ01:˜ÔšWÈ@O'¿€ßÇ@O'ÙùEÚÕ¯ù…CA~ÖT Çåѧ_–Oï¨5ZÖÎUÈ/)ãúųLO ☟d|¸‡‹çÞX§ ×>Ʊ8ƒÛ9‡Ï³4b0Z¢æ­þ=ˆ]ë¥ož–_ÄÍ+  ø}tߺJNAɲYÿøhíÐÓÙFJZ&<ó=þ"öJBÁ®ÅY|^'áppÝ{’T>·¢ÚЬ¬kΪt@ ØO#6+çØHj ©i4DYê½’¢UŒ tsõãw‘™âÒjL–´UŸ£4Z-õM­Ü¼úŠ¢WhOÊFÍ+,ÅïõpõÂYr ì´"*ú²h%27'¿˜B{Z·#p߈•V16ÔKÛ…sø}Œf öŠz &+^·ƒŒœ|n]»€ÇåÄd¶P×Ô ª¥c7Ë[y°k½ôÒì•õôßiçãso ( ÙyÅT7ž ðoX·híp¤õIÌVÁ€×â\L’ã¹Ü{û>·TéÎöKääÛIÏÌŽäL07;Iõ¡£ëˆD@ Hbas7ÐÞꇸB(èǵ8)³Þq1$©(>pªCÇÐL ïòª•åÔ-‡['%-“€ß)“lØ+j±WÔîÐÙbeVä0Ÿ‡ÀŠUQ§žù|ä<*””qà`=Z½IR#‡CË“l²óŠ((©@o0/ÏÛ-߃Íóîï(·k×ʺƚ¦–$Êk©o~n)æL(àÇëuʺÇGk·cn÷)9}®´¢Ž[mP”léYLM 32ØCË©3 „Éñ´ûkÄ&–@{ë•Y¦àq-¬¥Y¯œ,‡Yœ›wgqÌO­ú·ßçÙpIx0à»/0[ly»UטүǞØÏ­ö;+7!Õë Ô6çVÛEº>´Z=-A  ýË¢Yl© ö‘°ĵÚ—»{#v÷޳[É«&ûku:jŽÒÝyƒ¦O ‡|«b‰½¢6‚{³ÞhµY2wîÉd×þ6ʱ¢Ñê¨oj%ð®™#6@›$@RIÈŠŒz¯++2’*¶Ei÷¿Y'2[©g2Ùµ“¶ÇËçb–ëíµd_(fŸ!lâ„Ùš†kqaø/»…sa³5-†NP…,ËÈáä!9 ª·ŸìÚIÛãås÷³0;¾¥ò>¯7&Ÿ!l∽¼†®Ž«T¨±¦gìú©¬È8æféél£¢¦)jy“%•é±AŒfKR´§ÏåÂdIÝwví¤í{ís¡Vkc*§ àq¹˜ˆÉg@›8’jË ¬²žÞùøì®ø¬@ aGŒf+f+öʸ\?ZœkªâKÁä¼n'²’˜AÒ$• £9…âUXSmQË'‹]»a{¼}n7ýU „°ê¨ä•‘WT¶ïÚ4ÙìÚ)Û…8!l„øv @±vS 6@ ‰†ø•øýþ¤ª¯^¯ß—ví¤í@ Âf—Dƒ/®××ë QËxÝƆzq»wNÊÝ•AùÅeèõY1“ ví†íñö¹ÝöW@ Â&Îê¹é †úïàr,ìA'¸¤¸ô éY¹QË;çê»CMÃqlÙ…¨% T‰óE–e¦Fz¹qõUõMQ—='‹]»aû^ûÜNú¬>Ÿ!lâÈâü,½]í”UÔ‘bKß“ÈÃÎù9z»ÚQk´QžtSÓØBFN!Š,‡¶-³òí”y<Œtcm8¶oìÚiÛ÷ÚçÖããsoòÜË¿SYE3>ÔKÛåóÔnAú6‰Ì@OåíÙ¾=j =;µVÇ@O GÞ´¼ÇµHZF.r(„’AìRmY Üi‹Z.ÙìÚIÛ÷Úç6,2¡`lóœ²òЍ¬mŠÉg@›8âv,`IÝûýRÒl¸cø !+ ’$“¢=%IŠ)Šp²Ùµ“¶ÇËçÖE&¼Î&¤Š"£ZgÉ’–ûæñÔBØ$2²"ÇåS€¤’¶´G,ËÉÑž[¬g²Øµ“¶ÄËçÖYF¾ï kqž[mSß|“ź*Oµ\w@ ÂFð€oÖ J’€­Ô3™ìÚiÛůdùވ˱ÀËç ý\»ð ÇOaZ±ûúʲ@ „àAz ”xS~÷Ÿ_ãSÏ¿ºgå^Ù•ˆB!¹ê{oÄÆåXàæµ8xèy…¥ŒvqýÒ95ŸÄ¸,n”°6 ñ‰ûxø‡ïü@Ü…=Àlµ‰F¬b²,#Ë2½Ô4¶’W„ǵˆ-#‡²ƒ öu¢’Ô‘r@èį {Y5—>x‹ÚÃ'ð{ݨ%5á°ŒË1‡F££¢ö0’Z ø7ÍÛIŽ=†$Iø}n²ó‹¹}ý-ŸB­VGÒ:o\Bo´àu-29:DË©g1ø/çßþþ:÷X‡Ï㢮©•‘.î´_B­ÑRQs˜Ìì|€Mó¶õV¿Ž]:½×â,Š¢ -oŒ©7W¥)ŠŒZ­AQ)iYxÝd9ŒÞ`Àïõ¡Ñêñ-‹ƒÑŒË1ñËhíp—p8Äôø0£¸œ‹ää—`¯¨ÃhIŹ0“0#Ûõ¹£<ó5ºnŠ'¦@ ØÂÆ–™ÃP_Ù¹…«ÄÍF“~W–él¿LyU#öJ F áP7¿û?QI¯4Oö m&³—sžT[nç<&³uG¯aMËÀ–™ÃÁº#ÌL1Ü×IwÇ5²²óÉ)°o¸‘^oà‘§_Â`2¯›Ÿ’–N]óIt3Sc\¿ø¹OÙ ›æí4ë žF¢t:^+âw^N¿ÆÇVúU´v˜Ÿ™dbt€™ÉQR3²(>PM~I9­žPÀǹ°|Naz| ö{">E ‚ý"lJ䯕ðûHÏÌAo0 Ë2Ž…¹èÃŒ9%`ÀÇÂÌÝ·ö}£fç2ÐÓIõ¡”¥7ÝžNr Š´«_“ ‡‚XSm4{YVé£÷Î Žç>K8XsŽü’2®_<ËêCèõÜ.'C½·©il ãÚJ*ª1-ø ²î²¦ûÖUr J–…Œ²îñÑÚ¡§³¼¢rjšZ1[R ‡‚¾åÑe‹¶$¨Ï­\¥(¨–GÇî“ë¥ AR ½ÁDã±G ý“%£ÑhHIK§ñØ£›[QÛÈ­káu;ÑŒÙ+˜žÝךWXŠßëáê…³äØhETôeÑJdoN~1…ö ´:nGà¾N ŠJ«ê¥íÂ9ü>F³{E=“¯ÛAFN>·®]Àãrb2[¨kjÕÒ±›å­¼ÆNص^úFiöÊzúï´óñ¹7P…ì¼bªO ø7¬[´v8Òú$f«`À‡kq.¦Éñ\î½}Ÿ[ªtgû%ròí¤gfGr¦ÆG˜›¤úÐÑuD¢@ $±°Ðêô”VÔPÓØ‚Vg@’Ô(²L(ˆÌsÚ IDAT5X9‰ø.éYyäÀdIERkÃaìåu‘ü•ǬwüziÉ€½¢{Eí-öu¹Š&àóX±*êÔ3ŸœG¥‚‚’2¬G«7"Ijäphy’­Bv^%è æåy!¼nGÔ¼íZ¬µke]cMSKå5Ô7?Œf9Œ@(àÇëuʺÇGk·cn÷)9}®´¢Ž[mP”léYLM 32ØCË©3 „Éñ´ûKØÀÒÊ ·c~Ó2ëÍ» ø½üÞUi>¯kÝcÖ;~¿ð‹÷¯*óû<. |\Ü,o·êSš¢àõ8Àû9£µÃ~gå&¤z½Ú†ãÜj»HWÀ‡V«§å±3(á ¡ Y4‹-Á>6‚¸õ@ûrwoÄîÞqv+yÕD­NGMÃQº;oÐtâ äoUŒ"±W”@ ÂF°coÖ+; ýÒ¹'“]ûSØ(kÄŠF«£¾©•PÀ»fdNŒØ!l’I%!+2ê=¾®¬ÈHªØ6W¿ÿÍ:‘ÙJ=“É®´=^>«°\oϨ%ûB1û¬@ a'ÌÖ4\‹ Æ}Ù-œ ó˜­i1t‚*dYF'‡É¡HP½ýd×NÚ/Ÿ»Ÿ…Ùñ-•÷y½1ù¬@ aGìå5tu\¥BÕˆ5=c×ßHeEÆ17KOg5MQË›,©L b4[’¢=}.&Kê¾³k'mßkŸÛµZS9ËÅäØ@L>+BØÄ‘T[e•õ ôvàis +»;@RI˜R¬¨¬'Õ}#Å{Ý7).­Âdµ"‘˜ÁÒd<ÓCØ+êö]»aû^ûÜF|òñÙ]ñY@ Â&ŽÍV ÌV ì•q¹¾7ÊÌÖTÅ–‚ÉyÝNd%1ƒ¤I*Fs Ū°¦Ú¢–O»vÃöxûÜnú«@ a#ÔQÉ+*#¯¨lßµi²ÙµS¶ q BØñ%ì *bí¦@ !l@  ñ)* ðûýIU_½^¿/íÚIÛ@ „Í.‰_\¯¯×¢–ñºŒ õâv%»+ƒò‹ËÐë³b:&ìÚ Ûãís»í¯@ „MœÔsÓ õßÁåX؃Np)&HqéAÒ³r£–w,Î3Ôw‡š†ãز QK¨/æ‹,ËLôrãêªê›¢.{N»vÃö½ö¹ôY} >+BØÄ‘ÅùYz»Ú)«¨#Å–¾'‘‡ósôvµ£Öh£<覦±…ŒœBY&%l[fåÛ)óxèÆÚplߨµÓ¶ïµÏ­ÇÇçÞä¹—)¦²Šf|¨—¶Ëç©;Ü"‚ô !l™žÊÚ³}{Ô@zvj­ŽžŽ>¼iyk‘´Œ\äP% ‚Ø¥Ú²¸Óµ\²Ùµ“¶ïµÏm,XdBÁØæ9eåQYÛ“Ï 6qÄíXÀ’º÷û¥¤ÙpÇðBV$I" &E{J’Sád³k'm—Ï­6ŠLxMHEFµÎ(’%-÷Í+â©)„°IddEŽË§I%mi Y–“£=·XÏd±k'm‰—Ï­0²Œ|ß'@×â<·Ú>¦¾ù$&‹uUžj¹î@ „à߬”$[©g2ÙµÓ¶'Š_Éò½—c—Ï ú¹vá=ŽŸÂ´b÷õ•e@Áƒô@(ð¦üî?¿Æ§žuÏ:˽²+…BrÕ÷ވ˱ÀÍkqðÐ1ò Kìâú¥sj>‰qYÜ(a!lAâ#"ÿ„`¶ÚD#Ö1Y–‘e™Þj[ÉÎ+ÂãZÄ–‘CÙÁû:QIêH9@ Htb±ñ¸œô÷ÜÂ1? €Õ–½¼ó}ßá0?;ÅÈ@ŽÅY4’[f6¥•uhuÛJ«,ÿ¸+Û‹î2v%ŒTˆëÕz:˜ ¯ÀNIyMÌÇÖ4¶ Óñ{Ý‘´ô¬r Š í£ Þ@|7íWŒ½¢–#­O¢Ñêì¦ãÚÇ4?…N'Âȯdt°‡Â’2¬¶cÈá0C}t¶B}óCÛ—51ô™¿Ÿ‰±&Fú9öðÓ뼡ïÅ(ÀÎÛ.‹¼ÂRròíèbÜ&!ž¶Œ°8?CSËãܾq ýØ ¹ù%± K~ÏšÁ€/a„›@ 옰êë¤È^ÁÁúãxÝ‹¸gIKK§è@£ƒ}”WÕ‡øðPZYÇØP/~Ÿ—“§_@Q†zo31:D8"#+—òêFÔšý;½§®éž€Q«5”VÔqáÜ›»2 Ë23“£Œö³87CfNÕ‡Ža²Xñ¸לCQúîÜ`l¸9"3·ªú£‘û1;5FÏíëx=Ntz#öŠò‹Ê¢æm¿ó[]þì¿ÃÁº# öuðy1š,T:‚×í¢¿§¿×Ùb¥º±KÊÒ’i9,Óuë&LJÈÉ/¢²æ’ZŠœ³¼æ0#}wðù<<þÜ+QÛ¡¢º‘©ÉQ.¾ÿiéÙäÚÉÈÎG’Ô 9b356Œ½¼Ýò–öòj{ïl.l¶:`&t@ Ø/Âf~nšÚíø<ÎÕCÕ9´õ}@}s+.Ç\dÔ åÔ³¤¤e!Ij®_<‹Ó±À‰ÇŸÇl±qóÚ‡ŒõRRVµo³Ecanš”´ô=§ca–ñ‘~¦Æ‡±¤¤QPRNsë“èõ&¡~ŸgÝã{:p.ÎÓzúEŒ¦n^ýþž*ªP…Žë©il¡ ¤’`ÀÏöËhuz‚ÿ¦y;jÛâÇy“%îv®_þ€Œ¬|Ž=üÔrÚMºo]¥¹õ äp˜¾®ëü^}æe4 mÎ2Øw›ÒŠºHoìu»xèôÌ*Iâæ•6m[f™¹…Ô>ÁÔØ0Ãý·él¿Bv^y…¥XÓ+ú®ÇíÀ’ro•9ņÇíˆ>b¶µ¢e#ö‹° ˜¬©8çgV¥kõ:‚?šŸ¢j›Z‘T*ç&Qd™‰ÑAš[ŸÀœ’†Û1GA‘«Þ§ºá8nç¾o`—s‘¾®vjŸØÑó^ùñÛLfš[Ÿ$+·9"ôãqÎo*džû8zòiÌ–T|^ö²j.}ðµ‡Oà÷ºQKjÂa—cFGEía$µðoš·“4{ I’ðûÜdçsûú[>…Z­Ž¤uÞ¸„ÞhÁëZdrtˆ–SÏb4ñyÜ”U5píâ»TÕ¼Ú¦V4-×"Š"Gm <0#+‡œü" s´]|ÑÁž8ó3 µ „#©Õ+F Õ„CÑë×ßÕó5²òìâ‰)ö‡°Ñhuý5q,‚þ­vÕð¼Áhfaf<Ó#à÷ñÑ»?XsN­Þû\Ø,ÎÏÐuëU‡Ž`4Y¶"EY#Vš:ÍìôW?z³5Üü²s ‘ÔšMN£à÷y9ÿö÷×½Ç>‹º¦VFº¸Ó~ µFKEÍa2³ó6ÍÛÖ[ý:vèô\‹³(Š‚´¼1¦Þ`\•¦(2jµEQ|¤¤eáu;å0zƒ¿×‡F«Ç·,R F3.Ç\Ä/£µÃ]ÂáÓãÃLŒàr.’“_‚½¢£%çÂLÂŒhHj5r8ù”^ñ÷f}äù˜¯1ÐuS<1Áþ6i¶L†û;ÉÊÉ_%n¦&†±ed¯<+ÿ­Óéyô™—1˜Ì?Q ;=9J×MjŽc±î|ø|kZ¶ÌÖafjŒá¾Nº;®‘•ON}Ã}ˆôz<ýÒ†÷#%-ºæ“è &f¦Æ¸~ñ=rŸ² 6ÍÛiÖ<Dét¼WÄï¼7:•´:šÁÊzÑÚa~f’‰Ñf&GIÍÈ¢ø@5ù%åh´zB?žå&³—sžT[nç<&s´‹ Óã±ßñ)J ìaS| ŠöO~Œ‚‚Í–¹Üq0:ØË‘Gž"´É‹¼";mÏRR^…N§Çãv1ÒßÅÁú#û¶QG‡z꣮¹ÓƒŒÔÜ×­ÜO8$ bMµÑpìQdYa|¤Þ;78žû,áP`Í9òKʸ~ñ,ª¡×p»œ õÞ¦¦±€Žk(©¨Æ´àó,€Œ\ÁÙMó6«çVíÚ8}ý´ìü"n^ù€Êº#Èr˜î[WÉ)(Y2ʺÇGk‡žÎ6òŠÊ©ijÅlI%  ø–Gs”-Ú²ûdç2ÐÓIõ¡”¥Ñ•žNr Š£7½rO4ª–GÇî“ë¥ AR £Ù¡#'ê»C÷ÍOP€Ô´ šN"àó`0™))«ÁbML8Þoô/Ù_ýèÝUé'{µzë«Á¢/‹V"xsò‹)´W Õp;÷uRPTZÅØP/mÎá÷y0š-Ø+ê1˜¬xÝ2rò¹uí—“ÙB]S+¨–ŽÝ,oå5v®õÒ7J³WÖӧϽ¢(dçSÝx‚`À¿aÝ¢µÃ‘Ö'1[m>\‹s1EHŽç\ø¼ÂRü^W/œ ·Àe©÷j1ÖÙ~‰œ|;é™Ù‘œ©ñæf'©>tt‘(I,l &3ÕÇ1YRÑh—& ‡‚~ Ó‘I”'O¿°æ8•JEnA ¥uè$µD8ÂëqîÛF]¯|´&¶NE‘Ã|+VEzæó‘ó¨TPPRƃõhõF$I-O²UÈÎ+¢ ¤½Á¼Z;¸·,¼ãÛñÛ+j±WÔnëØÒŠ:nµ]@Qj°¥g151ÌÈ`-§Î€"$ÄÓR ì/aKŸ>îŸ0y?sS#ë¦{=Î}-fûGÕü>φKƒß}ÙbËÛ­ºÆ”¦(x=ðÄ~Îhí°ßY¹ ©^o ¶á8·Ú.Òð¡Õêiyì J8H(è_ÍbK@°Ï„ n=оÜݱ»wœÝJ^5Ñ_«ÓQÓp”îÎ4x9ä[£Hì%„°ìØ›õý+ÏöCçžLvíOa£¬+­Žú¦VBïš‘91b#„°I$•„¬È¨÷øº²"#©bÛ\ýþ7ëDf+õL&»vÒöxù\¬Âr½=£–ì Åì³@ „Mœ0[Óp-.l÷e·p.ÌcŽ!¾¤R!Ë2r89@HE‚êí'»vÒöxùÜý,ÌŽo©¼ÏëÉg@›8b/¯¡«ã*ªF¬é»þF*+2޹Yz:Û¨¨iŠZÞdIezl£Ù’íés¹0YR÷];iû^ûÜF¨ÕÚ˜Ê)(x\.&ÇbòY@ Â&ޤÚ2(«¬g ·O›YÙÝy’J”bå@e=©¶è)Ø+è¾Iqi&«‰Ä –&£àq8˜žÂ^Q·oìÚ Û÷Úç6â“ÏîŠÏ 6qÄh¶R`¶R`¯ŒËõ½Qv`¶¦Ú(>°LÎëv"'èŽè’J…ÑœBñ*¬©¶¨å“Ůݰ=Þ>·›þ*B؈uTòŠÊÈ+*Ûwmšlví”íB6B| »@ ˆŠX»)@@ ‚DC|ŠJü~RÕW¯×ïK»vÒv@ a³K¢Á×ëëõ†¨eÆG†¸|áwGï~>ûßý}~û·¾ÊOáe~áË_Äh4ð;¿ûû|÷;³üÅ6Z²[‚éîo«uøößüeDÔÜå§¿ð2ßþ›¿Ü“º Áž ›£Gšxë­Eþ=¿°À[ÿú6³ss‘´~ó-Žm&3#C´(0>:Àâü M-ÓÔò8 ó3LŒ n»³ŠõÐÔÔòÿ)ÇOœ\•ì᧨ØG$@Qówñƒ·껃ßçßÒqñ«+ïwlu¸'È4õºBíþt1ÇF $½°yõ•—ø»×¿ù÷¥ËWe™Ë—?¹÷¶÷×yõ•—"£7¿ü«¿Ž½¼{y5¿ò•ßXµ'P´üýÀÔØ0öòjtz:½{y5ScÃÛ»AQ&šúý~þáÀO}þåúüÁïýî†åÃá0¿ýõoPRZAfv_ü¹ŸÇårEòô£w8rìiéÙT×â/ÿê¯cÊÛJ7µ9ûÃo3:ØÍGï½Á¹y‹ï¿Éâü#}||îŸ9÷/Çåóÿ‚Ë99F‡é¼q‰÷ÿõ{¼ÿ¯ß£³ý"r8¼êœCý|ôî8ûÃoKs{z;Û8ÿößóþ¿¼Î­k-/=_:¦¢ºÇÅÅ÷ß ýÊLO !Ë¡±‰ÿç•Jµ­)ñ™Q $½°yâô§h»qƒ™™™%asé z„‹—./NŒOp«ã6Oœþßüýÿ“‰ÉI®\8ÏåÏ32:ÊïýÁFÎ-?àq;°¤Ü «oN±áqoo?¤HGrßÐÀåËWøå_ù å•5üÏ?ÿ >óâº:oòçö?8õè#k‡–ÿþÃ?ü¯\»ÖÆGçÏ1ÐÛ…Á`àk¿õõHþ/üâ¿åk¿ùU&džøÑ[?äÒ¥Ë1å­ü=hççXœãø#ÏðÔg¿LqY5×/ÀìôÇ~Ч>ûe K«è¾uI­ ¯ë:¿—GŸy™O}ú§ C ö݆[OxÝ.:}†O¿òï°¤f0ØÓsqžÖÓ/òäg¿„Î`¤¿§#Rw[f5 ÇyìùW)°dl¸¿ûOܹyǃ}rM˜ÉÃKoKÿ‰OQ щ:yX«Õðâ™Oó½¿ÿGþí/þ/]æë¿õ›|ýßàï^ÿŸyá ZíÒ©¾ÿ?àø.™™™üÁ7‡>÷2ßøú×bÊßÈáp¤ÓP«Õ„CÛÛ2`#‘pêñ'(*,ä»÷-ÇÅ|¾¿úë¿áŸþñûäð_¾ñuŽ?t’ÿë¿ýF£‰É fff)*,ä¿ÿ?9v³¼Xê+ ÇC’$ü>7ÙùÅܾ~Æ–O¡V«#i7.¡7Z𺙢åÔ³F|7eU \»ø.UõGñû<Ô6µ¢Ñhñ¸Q™±á>Žž|³%Ÿ×…½¬šK¼Eíáø½î¥Ñ­åàY9ääáX˜£íâ{ŒöðÄ™ŸÙö6‰1yx©gßü^ÌÇ{ø)ñ)J $¿°øÂ+Ÿç?þç¯ðå/}‘……EŽif~~ À·_ÿþg);==CIɽ KJŠ™žž‰9_ ƒ©ÕÈá0êåè­áoù\w—{ß—~öÝñÚkßæó/¿Ê¡Cõ¼ú…—yá…3˜M¦uÏs÷ø±ñq›­éhïæÿíßü5ßúÖòÍßû©V+ßúÖïñì3OGÍ[yiK˽×~¾Ñé ¸gQ”{s:ô㪴»AîE!ð‘’–…×í@–Ãè ü^­ß²H1͸s‘X3~Ÿ—óoíÿZ>ϽOsápˆéña&Fp9ÉÉ/Á^Q‡Ñ’Šsaæ>Û•-Ýӏި,¯n:ýü˱¤-,DŽ‚¤6õuµÀÒ\𿦥ýmš›óçÿß_bÐë#ùYY™ SZj`ppˆÌÌŒ˜ó÷&³—sžT[nç<&³uûo÷ëÌL=v¤™cGšùÖï“7ÿå-þöµïðk¿þUž{öi^ýÂ+KŸ£î¹99œ}ç_ÉÏÏ[7¿ùp#¯çoQ…½ýÿëøO<Ûu;jÞÊóìĈÄz‚g£‰±:¯Ç 6çõ¸Ñéôk沬  §×xäé—0˜Ìëžs~f’‰Ñf&GIÍÈ¢ø@5ù%åh´zB?çöw‚OˆiiòðVF”„e@°éó-Ö‚¯¼üSüî7¿Ekë N>t‚oýáã ¯|~U¹Ï¼p†ßü­ÿƒ™™ffføê×¾Îg_<sþ~ ;¯žN~¿žN²ó·x0Zܽ^Ïg^|ï½þm®]¹H}]ÿÛW7þ¬÷ó?ÿ%þãþúûû …BܺÕÁ¿toùþÏ}ù¡³óÁ`EQ…Â1åm¥ÎkÇ’Ö›|{Zv~7¯|@($à÷Ñ}ë*9%ËBfýãóKʸ~ñ,Óƒ8æ'îáâ¹7p.L =m¤¤eòÈ3/ñÐã/R`¯$ àZœÅçu.ïݵ½Éà 1Çæ¾Éá`x]sV¥#& ‚}$l~êsŸÁérrò¡%aóÐC'üüÔç>³ªÜ×~ó×ÉÊʤùøÃ4˜ÜÜþ÷¯þzÌùû¼ÂRRÓÒ¹zá,W/œ%Õ–An~Éö: »“Žù©­§) ^<±ŸÀïóDVNíYûH‰³¥ÂÝyGõµ5üÝßü%Ÿõ‹üæo}ƒ´´4¾ûÚ_Q_[)£ˆ-6‚E%-MN–]°EÞÚ&˜?‰»{'Ò&˜+v÷®«­âõ¿ý ~éßÿ ö§L]mÕª|Y–ň@ ÂFð€JZÓ%2²ŽyIðÒ&Œá}s¯b6‰2yxå&˜w©­©æÜ;?D£V¯ÉSdYLBØ$:’JBVdÔ{-”؆õ¥H”`ésEŒ“‡“H°Å*êbA­Ñ,oùO¿ßد$Õú¶Èáµ@ Â&1[Óp-.`ËÌÙÓë:æ1[Ó¢w‚j5²Ž{G+¡Pu Ÿ¤R!ËrÒØ“ír(&Q—ž‘ÍìÌiéñ‹ß¤’T,ÌŽoÍg]Nl™Ùâ©)„°Idìå5tu\¥BÕˆ5=c×'GÊŠŒcn–žÎ6*j𢖷¥g26ØMª-3)ÚÓ¹0‹-=z]M–T¦Ç1š-ûÆ—|.&KjÔruG¹|þG ò ì«¶ßØ+$•„Z­©¬¢(,,ÌÑÛyƒÃÇOM@ „M"“jË ¬²žÞ:Àâü M-pûÆ%ôcƒäæ—Ä&,ø=kJ¾„n@°£Âf#ÖÍY™öá;? ¬ªÑÁn>“™òêF|7C]|nLf+µM˜W¬Âèé¸JwÇUÂáY9”U7DV’(ŠÂPïm&F‡‡CddåR^݈Z£‰\³´²Ž±¡^ü>ïž6Õ5Ý0jµ†ÒŠ:.œ{sWFdYffr”ñÑ~çfÈÌ) úÐ1L+×âšs(ŠBߌ ÷!‡BdæRU4Òv³ScôܾŽ×ãD§7b¯¨!¿¨,jÞö;¿ÕåÏþð;¬;Â`_'Ÿ£ÉBÕ¡#xÝ.ú{:ð{ݘ-Vª[°¤,-™–Ã2]·>ar|€œü"*kŽ ©¥È9Ëk3ÒwŸÏÃãϽµ*ª™šåâûo–žMn¡Œì|$I#6ScÃØË«Ñ-oy`/¯f°÷ÎæÂf«fBׂŸa³ÑhÎÊ4ÛIsëSXSÓè¾IÇõ Ø2ri~è4)© öܤ¿û G‰Ä5™ãÄcŸFo´pãÒ{ŒPPRŠÂÈ@7NÇ'³ÅÆÍk2:ÔKIYUdgÀï§åÔ³¤¤e±03×F^˜›&%-}GÏéX˜e|¤Ÿ©ña,)i””ÓÜú$z½‰p(€ßçY÷¸Ážœ‹ó´ž~£)…›W?¤¿§ƒŠêE¡ãúEj[((©$ðs§ý2Zž`À¿iÞŽÚ¶8ÇñGžÁdIc »ë—? #+Ÿc?µœv“î[Win}9¦¯ë:¿—GŸyFCÛ…³ öݦ´¢.Ò{Ý.:}³Å†J’¸yåƒMÛÁ–™Cfn!µ‡O056Ìpÿm:Û¯WD^a)Ö´ÄŠ¾ëq;°¤Ü›GeN±áq;¢˜mA­(BÙ‚$`O&7{Œ”Tn×<é™Ù„‚Ašz‚”Ôt<®yÒ3²Yœ›Á¼âÁ\×ü0æ”TüžEŠT2>܇ɼ4¢31:HÍá‡0§¤ávÎQPdgbt“%5r|mS+F“•Źɸ6°Ë¹H_W;åÕ ;zÞ+?~›Ùéqš[Ÿä䓟£¤¼sŸÇµaà»±á>j·b¶¤ð{°—U39ÒÎ`Za’Ô„Ã2.ÇáPŠÚÃHjmÔ¼ösJ¿›ìübBÁ -ŸÂœb#à÷_ÌÂÜ zãÒjÉÑ!jŸÀh4(«j`|¤½Á¸Ê Æ<®E\‹³QÛ   øÉÈÊáHë“i}’¹é ®üømÔêÄZP(‡ÃHjõŠ‘B5áPôm*ú»Úcþ ÁÖM4tzó3c(²ŒJZÒRzƒqUš¢Èh´ºÈ1&‹ÇÜ$²,£Óðû¼è &<®E~½ûƒ5×Ñêà\Šæk0šY˜kl‘Åùºn]£êÐŒ&ËöO¤(k–7?tšÙé ®~ô6fk¹ù%dç"mÒá*Š‚ßçåüÛß_ëZ>‹º¦VFº¸Ó~ µFKEÍa2³ó—Äæ&yÛz«_Ç®»þâZœEQ¤å1õãª4E‘Q«5(ŠB à#%- ¯Û,‡Ñ ø½>4Z=¾åɰ£—c.âÑÚ!"nÂ!¦Ç‡™Àå\$'¿{EFK*Î…™„ÑÔjäp8ò)-¼âïÍ8úÈó1_c ë¦xb ‚ý/lT*iÕ›a0X¿[G`l&:<.GdcD¿×‹V¯‹ÌoÐéô<úÌËLæÍßbãPlzr”þ®›Ô4ÇbÝùðùÖ´ l™9¬;ÂÌÔÃ}tw\#+;Ÿœû†ûéõyú¥ Û.%-ºæ“è &f¦Æ¸~ñ=rŸ² 6ÍÛiÖ<ʼnÑé x=®ÈýözÜètúˆˆ^ÏߢµÃüÌ$£ÌLŽ’š‘EñjòKÊÑhõ„~<ÎÄÚ•Ûd¶ârΓjËÀ휌pnÒÊLÄ~Oħ(@ð“ lÌ))ôt^#33‡` @_÷Î Yߺú!Ö‡èëºINnq¤ãÊ+²Óvñ,%åUètzZ;ôt¶‘WTNMÓÒçªp(H0à[ÍQ¶hËî“WÈ@O'Õ‡R–FWz:É)(ŽÞôÊ=ѨZ»_L®—.I/lþéµ?]“vòô ”W7Òwç]íWÐé —V239öÀKÏÊã“¿C0$+·€šÆ‡,Oˆ-(©`rlˆöO>"àó`0™))«ÁbMÇ嘋{£ö/Ù_ýèÝUé'{n[s3¢/‹V"xsò‹)´W Õp;÷uRPTZÅØP/mÎá÷y0š-Ø+ê1˜¬xÝ2rò¹uí—“ÙB]S+¨–ŽÝ,oå5v®õÒ7J³WÖӧϽ¢(dçSÝx‚`À¿aÝ¢µÃ‘Ö'1[m>\‹s1EHŽçrï¼ÂRü^W/œ ·Àe©÷j1ÖÙ~‰œ|;é™Ù‘œ©ñæf'©>tt‘(I,lNž~aÓHÀ‡[Na±¦£Öh‘ÃaŠËkW»Þù6K»{½üâ2 ¦T*¿¯si•‡J¥"· „ÒŠ:ôF ’zés˜×ãÜðü{ÉÎ_?öu¹Š&àóDD À©g>9J%e8XVoD’ÔÈáÐò**…ì¼" J*ÐÌËó6BxÝŽ¨yÛµXk×ʺƚ¦–$Êk©o~ÍrÄPÀ×ë”uÖî-‹äøvüöŠZìµÛ:¶´¢Ž[mP”léYLM 32ØCË©3 „Éñ´ûkÄf³à|áPpÍê#¿×µé±ÑÒîþí[+ëáõ8#bf+õýIÄ1?µúþø<. |÷f‹-o·êSš¢àõ8Àû9£µÃ~gå&¤z½Ú†ãÜj»HWÀ‡V«§å±3(á ¡ Y4‹-Á>6‚¸ö@ûrwoÄîÞqv+yÕ{­NGMÃQº;oÐtâ äoUŒ"±W”@ ÂF°coÖñ\áµ[{2Ùµ?…²F¬h´:ê›Z ¼kFæÄˆ@ Â& T²"£ÞãëÊŠÙ"b«oÖ‰ÌVê™Lví¤íñò¹X…åz{F-ÙŠÙg@›8a¶¦áZ\Ø0îËná\˜ÇC|I¥B–eäpr€ŠÕÛOví¤íñò¹ûY˜ÝÚV#>¯7&Ÿ!l∽¼†®Ž«T¨±¦gìú©¬È8æféél£¢¦)jy“%•é±AŒfKR´§ÏåZµµÅ~±k'mßkŸÛuŒÛa((x\.&ÇbòY@ Â&ޤÚ2(«¬g ·O›YÙÝy’J”bå@e=©¶è)Ø+è¾Iqi&«‰Ä –&£àq8˜žÂ^Q·oìÚ Û÷Úç6â“ÏîŠÏ 6qÄh¶R`¶R`¯ŒËõ½Qv`¶¦Ú(>°LÎëv"+‰$MR©0šS(>P…5Õµ|²Øµ¶ÇÛçvÓ_@ñ ŽJ^QyEeû®M“Í®²}¿‹ƒ×ÿ⿊'«@ ÂFð“׊·ÿýÇéç_ âŠX»)@@ ‚D#æOQ~¿_´Ö¢×ëE#ÄáÇ…o Äÿ“BØD𺌠õâv‰y[áüâ2ôú,Ñ qDø°ðáÝb|dˆËÎ359.C°ë¨¥ÿ¿½3ŽªÊóø§ª’TUR©ì+ )[X$ "ˆ-¶ˆÝ‚ÚŠ;=6Ò¶=Ú Ø3GeucpDtmÛîÓ¶¶:ŠÝ,δh· » ¢(!$!$! K*I¥Ö÷æ’"EB¥’T¥‚þ>ç¼sê½wï«{÷{ßýÝ{ß»OGRJ*—Žÿ–ÜÁbî86ÖúS=rá£/#!5 V X/E¡æØa ¿ù‚a£. èu`!øˆ†Eá¢âØQ>Ûºi7ßIÿCÐé"Ð ÚB‡GñP¼¿€×®!R¯§_V1JW›ŠÒb†ç')- UQðxÜb¹.’i!×f£¢´óèqbp4>¢aÑpˆØ¹}+7Ü2ƒœCÏ|ÿL´%ôƒó.Âáp°sûV¦ß~·¤«Ž­±žø¤t·õ^H-œÄ%¤Pz°@ &DâáPq²æ8ýrrQhKèU2²-œ\»J ÑÇFQU´Z-·K,ÖM´Zí½ºî…ŽhX42m¡¢ÓêðxD[B/7à: R'»åØx+°¢ˆÅº{óÛI9ˆí¾—h4@Eû½Œª(-úºåبªTÜž Psˆ†EÃ!@«ÑžÑ–*özûž¦ ÕÈrtÝvlŠÛãFU{!ôI oüp“¯Ÿ!¾@Ñh5b¡ËD›â±5žîql՟Ц³!&„ðc–W¨/XǦ—¦¢Mñbl±[Øôw!Ñ…glÔ–-ø4Yë).*àô‰âS4<Slð¹ñÃ÷˜|ý]áìïŠÚÂNp5¼ñÃ÷¼¿u‘DG›HLÉ 'w(‘Q†h$¼: wØ; °aiÛÀšbb¸ôÒ±<ÿü2ò† (~O{÷])hM«F£!ÖdÂ2À”k&3÷¡9$''÷i'æÜ¼uÇnþœ¡`•CoëO›ó5 !¸¯575òÍÎ –ÏØ‰×¢ÕEp¬¬˜Ý_laÌS0b‚Ø+N¤±þdxšiú†[är¸qÆlqTUápQŸ~ò>[ÿ¹’}»··¼¬†húΨMðʳ±þÍMV"#"È6šìC8zèZ­&@M›¿°}CÇB»›¨¶ë3úf³™‡ç>HQÑAï1ÇÃãOi~íÏo0bd> IiŒ7í;¾àwW0:,ñ‰©L˜x%ûöí8oë×o`ì¸ Ä'¦’7â"Þ|ëm¿ykûû|véR96ß½ò*C†ÀdN ¤´”Ûn¿‹´ô,“Ó¹iú­ÔÖÖzã8þõþÙ¤¤e2 w(ÿýÒË>×ì,ÏÁÖŸ86!æd]5Ù¹Ãq9츜voÏ'%=‹šªcDŒÞ°¦¸¤vñ[ùnNG3“®»ƒÉ7ü·ËMÙ‘€†«§Ýéí]ß8c¶7NÙ¡ý4ÔŸbâ57qíôYDŒ”Ú/°ÐíÞ—âq“š‘MÍñr¢ZFlº¢3aEÇ}wÄÆÛ}ö·µ c­¯çÅ_â¢Q#½Ç–/Ý» ØþéJ‡Á``Ñâ':ŒßYØ¥Ï<ËþýØñÙV|[@EE%¨*MÖ3#}MÖ“g~Ö¶Û=3ïfóæ-Þý§ž^BUU{ vQ¸{ååå<½ä?|®³yóÖýóC*ÊK¸ã¶[¹yúm¬[·žÖþ•ÇJ™~ÓϘóàÜ€óö«_ßÏ¢ó©®<Êú?âË/¿òŸ·6y9Ÿ]-·Öý]»v±ýÓ-4ÖŸUåÖÛîdÎoî§ôH1¥‡2dÐ`›·Ðçé%K©««cÿÞvnÿ”-[¶u©<ýmRÏû cãr:ˆ6Åârù~7J¯Çåt ‹ˆ è:ÕGqñŒF#—“Üa£©:v}ǨµwÝX€Êò#Œ¸x"1¦8œ–Ü<ª•x$AèQz#n×YívEg†÷AÇ&Þ¾9‘s"Y^{ý Þ~ë ï¹·Þ~‡ÿzþ9úõËÄd2±ä©'øûk;¼NgaW¼÷W^h9Dzg—%¯éiiœÇ¾Ù]pÞŒFÇ«SWw‚ì¬,^}åå€Ó,»<ûÌRŸg¾þr“&]‰ÑhÀl6óä“‹Ù¸i³÷üÊU«}ì´ü¹g»TžÁÒß….¾îü¡èÈ(=N»£eÚè,»ˆÈH4-kD´íwÔSv:íÄÆ§ÐÜdEQ<è Ív""õØ››:Œï°7óé'kÚ%2 »­1¨ùTe¿/ ©„DÃç^Ói·åÕn :ëjØÞÖ±hø<½ÃÖ×½Ûh=‰ªª”––òÀì‡(ØSHÿ–çU*«ªÈ3®]£å;YI@a¯ÆbÉ9ošÔ€Ê»=UÕÕ$%%zÏÕÔÔb±X¼ûK55µ>qφ7s»ÝçíÝwÞfÙ²å,}fqf3Ë–=ÃÔë~ê7ÝÚ%P[¤g¤ûÛ¹óK=þ$…{ i²ÙÚ¥¹ºº†œœ;u¥<ý¥K+¯{÷À±  Ii”—‘‘=Àg°êŠR“Ó½ëŽh4Z…ÄÔLìÍ6T†ŽKÕÑ#l[÷>_ïØD|RºSk2ŠH½[ÖòÅÖУÉËŸ€Ëé@U!{À¶}¼’ÍÿXéýïìÃ0'$SðŶ­{Ÿý;HNÏÆmI^…>àÒ¹š›¬ç ôÕgë¹jê8Ú<«ltºôF­–m¯bðˆ1$$¥ø|Y§‹ÀcF§‹@Q<8í6 ѱXOÕ´Ž c4Æ¥ÀítÐÜÜà½#ë 1D¢Ñh4gãzC4‘z#Z­ÅãÆa·árÚƒš¿†+ßîÚÆ¥W\+ª ¡Ò°9!µc¢¢(<.'»­ÝçüéÌœ°&Ã¥cÑpǬYñ3˜‡Ón Ù(ŠBBr:õ'kÄàÂÙ:iµòáš7¹eÆ}bŒÖºâñ„ÿ›V<·wEÇ!#.áÛo>güUÓh;}èñ¸½¯ôµât4ûty›mV8ÏýÅaoÂaoêภGoJÂ÷—¶ŽEgøÓÙ¹×ñVtÜ·è•_÷î%-5UŒ-„E]{+ª—¾îkŠcâ䉉M ¡¾î{ñUaù2r_(ùº·h8øh´škkÊO®ã©ÇKçÜÒ™Šê‰cÓ:ÌÞ[(N§OTI£ ñ&лÇæâØh´¨ªRmUWœy‹Fô+ø´“Š<<ÜÇF‘JÕC áïÝH9ˆ†ƒ¶å[Qb! ™Šê¦c£ÕhP¥Ý"zBื0ÌhX4 t:Šâm ½_'Ý.t:¢;ŽM´)ŽÚÊ2Œ1&±X7±76mŠC„ Ѱh8T$$&SYVL\B²CèUNŸ !Qt×-ǦŸe0¥ÅßÒÀ0¢Íf´H¯-PTlV+µÇbµ€ížÝ#=ŽƒãĤGU¹û[ßþK»ú(ƒÁ„6Þ Z-FwI #–×Í ØÔ[qÉOåà8Îãöúhž¥ƒíÍíÿQ应æä©5 ¢@]_‚ñmüÛU0Ýg›l0Œvº ÅBZ ×Í Ø¦¶‚#„ü‡†íßEßÁæLººi±<ƒAô ]\Ù!4ì›GtÎ;±Á}ÜgM°ÔÓ}¶ÉV@qÎ!tlnk„Pø¾dò)½9DJ Å0¬öÙüÿ— §e+äJ‹ ßÜSÑÿ.O¹ -SÁ©Mnc7S,0tÇÿ?AU½¸oéÛ­ Vº`U/îÝ7ñ*Lž]86·õ¤Ÿ’BÌo«·‘h1\770‘.h0 !Tñù°X÷Ù!_ÇœD6`Nd¸‡³­ÞŠº.­êBVÇñ¡íÇuvöràËêßnžjø#Ùã:;¿ÛÍÕAÈÉ/W¿W´z„¯î®ÕŽ(áw—²§ôtursË”®ç‹„ƒÛ9ÚØÙbÅ—s’ ªB „&tuÝÉÙÙš[^­>ý¸äø½"xO@í³ ö<;±°n¢@Ì$)†aº¹“|Nª4½ýóm!ãýó]­4±JËQV>¡ûöÌccÕ÷Óg•<Âÿ§Û-û»FöEßyÚgܬ‹ÎGô÷Wêö½Š§gùÞ]ˆÇþXÚÌ-G×nùÁÛ¿´ŸJœipû\6ã½Í‡»šðýî½#:8Íî„´5JcÅèdY¸hljÁï}˜ÿpÁÏažÕä³8ŽþTwab’xÜ?´ç¼O÷\QQ…±œWó).ø`å»Óf»(’åÙk—jL'§…½R3ó‡LY4#r^™î®)jG,&R&½ÿÙáUŸ}ëëÄÿüݪž´ú‡•Ÿìðw¬èoW#ÉÅq|b7—yý=Ÿ<Ñwüœ?ÿ:1ëQ> ÃàÈ€¶µÿw †áK¦W|•“!”_X,èDz´çØ{rì}ð¹ÞÆ]¬¹¡‚¢A`KèP.ðÒ}¶Hh¬võD•KeVm{àl±¼¤LjÕ¦ÃÂú߈I2­ú!„ÎÙOnÖÍÅY™÷„ïÙeåÇ$ºs8·ü•±èô‡G~ûXïb„VkêÞ!!„j§ãˆéZÄÌz| •¥[óØ .B vþ1t±B­šøð‹4M>ÎÕàpÏ#¯*«V;YqímmkX¡3¼é¿÷WgÌÝž}y4ïv{—Í*4g‹=Çv¶áfe,²?[kBL‰…Wå€)ÆîÍ …à°˜»¹!„pР” §¹Aƒi.\“rÙwÈ‚ÂÂü—yFEQî™­/Ó…kwA40›ôÊ.›Ç¶v¶p bXÚÕ>߸…ù!dÝaÓÑ¿IEI]ðT™¯UÈ,6K`Çuða[91­œÏ !”«»göåŸh.ì=x~QA.9‰W•þûÖp²€ú° [¤;ùf;”MØâ¦Ù¯Ù®ÁB×`½™8zy¡Ðp ó²¼ϧ¿°þûòyDh¶Cj½^è}{÷ÛC` ,‘Š;UV’သâü¬y‹W1! é ]¤ €t.Ò@ºHÀÏz.€tÐP/ÃPA@£aC@ƒ¾ܺÃ`0ˆ98Ž÷î; 5-]RœK½"õoc(êZ£f&RÁÆ9´(ö¢—$‘‹Õs¾••0+ý9Œ9Òð¶â ø—.G2˜˜¼pñ¥ÂZ2c™DæëÎÜûóþ¢¢b,hPp14¬-ØõÃ^ròûö,]¼œÔjµŸoù2¨mˆÈ;`öÜ…UUUäÛ&OòýSVvÎ{ïGzùµv÷ôŸ<õ}±Xlp_Ñ1Wû¼3ÐÕÃ7¤K¯_¡Ø±ý½?ïoß©»ƒ‹g`›ŽR©ŒÜN¹TÜI*•™\×ÑÕK¯ ‹Z»Fzo7wíÞÜÉÃ'pɲ•ªš½·*•jÙŠ5>­Úø´j³|åZ•JE.pðЯ!]z¹zø† –ð,‘ºÊ4«c0ŒºT55‹—®ðð lÝ®Ó?þDÝšê k_cÔ‹ý P7F¡h 2†ô÷òZÔ¨ÕûÿspþÜÙ0ÚHÀ[lô¨¥bñýq¡[·ï”•—9œ|öÛïwÇ?yz5úBJâc ¾ÅæÏ·’o›$Źäû§iÓgΟ7+5)>91¾•¿ÿ†MŸÜ×ÂÅËÖ­Y™ý"åìé?ãâQì‚ððáã«Ñ$ŹcF<ôëarþ¡_Oœ0ÎÖÖÆäºâ¢½2,jíé¹s÷Þ­k—ããn—–Š¿Ü¾CïÙ-Û¾**.Ž»{ãÁyùù[¿üš|êÖ­;Ξ|‘š8rİå+×RW™fu †Q×¶/¿–HÊâãn߸zùÆÍ[Ô­I§‚ík°‚zèÁdC˜lж chr/­‚Ú»zøvïÝï»ïwkµZ³çŽÿ³OŸ^nn®0Ú€ÅèÛ»Çõ[wá¬AC ®àúõð?—cÿr`Ò”é£G˜1}ye7¤K¯?ýÖª•?B¨´TÜ·ÿàägå¥_…BÒ¥WJR|í§:têñáâ#†uww#gRì"ñIœ«« B(--}bøô‡÷o²ÙlFÓ­gß3ÿé!ÑY—‚nQ©/fÇݽáëëƒzñ"sì»á ïë®ܱ뙓øùù"„22^Œ}7üYübô”;[[b_>­ÚçgRT™fu †QW»ngNþA8#ãE÷ÞýL¶&u)‚f°‚zÑ«ShÞ»`¬Ìm¡C“{ÑjµÉ)©mø´]pÛ-Ÿbö| Ãz†öÿíPT`@+p@°dJø¤ÇñOþ:ùwbÒóðÉuŸ*,*êÑ'Œ8mÛº]'±Xbp ÷Ä3ÁÓ7ÈÁÅÓÃ'PRVFʺ§|Üw5öz¿C»tïsñŸË&wAî­Z·u)‚f°‚zêú –™¢-L¦ºX,VpÛ6ûÚ}äØñúÌÿû̹È@#€t48—;wväÂÅËæÍ™ÅãruŸrqv~ÿ€8m+)έ}nŸ9gÁìY‰OâÄE9YéÏq'æ“+“B:þõ@êó'_nýœ<)MsóçÎþy_Bèç}Q‹ΫӺtŠJ-'çersóœœõžurr$ÈÎÎqtt Þš±bÓ¬ŽÁ0êrvv"ËC> Þ>uÍ šyA Ï`™ëÚ&Æ_&ðúÌÿ~×.Yƒ €t4Ë>\TœŸ¹tÉB½ù3§/_µ63+[£Ñ$=Ož=÷å66ÖééäbJ…Ò‚ÇãYð²sr—¯\cl/sæ-JIMSk48Žk5Zê]èéöNeeå¢þkiiÙ¡}»:­«ËXQõj¤gæÏĉX"ùxãæ‰Æé=;~ì˜6~*‹Åbñú ŸL7†º ÆŠM³:ÈtîL|wüØ—‹?Úø©Éýš¬ ÍöÕeò.Bš‡Ŧ –™f[P4÷œy‹ž'§h4šÌ¬ìÅKWŽ=Ò¼ù¡ËÑWø|~îÝ`„.€fné’E=»wÿ¹óüÿ]‹Î0d$9ŽïúndžM›=}ÇŽŸL18>tFÄOŸÀÍŸoýiÏ.ê]8Á0oöú Ÿ,Y4ßdñ(+ª^ôôèÑ­Ï;ƒBºô²³·[¿v•þëÖGkœœ»ôèÛ¥G_WW—ׯ1/ª4«c0Œº>Z·ÚÆÖ¦cçž}ú îÓ»pQWfû6Ä¡uïþc{4XfšmAÑÜ£FŸ·`‰È;`ô¸‰­üý¿Úö…yóBßíÚýáb8µ ÜêÀÖü¾“ê-2vBøê•KCûô†FÀâVGøš&@Ëõ÷‰c耋€t€¦ NzC£é ]@sGëVÇè³p7Ð< þzÒšÛÀÛ…æ¸HÐøé´éð/ù/ÐìÑúèè³ÇÈ{¦Møý·ƒ8Ýhd$Çw{gT£}‘vc«Ö‹ u„8€&ÕÊ-äèÒ}‰7ˆøè:Ÿ]€\¢ ¥©sºgà! ]€÷Ó Þ$c?ó x›Òx? Ñhf/³Gx ¼Õƒƒùg\<{÷€ã8ùŽã½Bû¿–š;¸xNš2]wãM3¦gÒÒÒ?ˆœÛ*¨½›‡ßÀ¡#OŸ9× G[õ…ÞŽjÿ½Þ]4ÄOû´ißY¥RéÍ”É*ú† –Jeæí‘¬¾o@ÛÈ9 ÄI=ëUÿHVTT~´áÓN]{¹ˆ|ýƒÚMÿ`Öõ7›ÈhHüyùµ?qjJjÚ›‚Í 2¤zMó%¶Nðµ´)õHÒ¤½&wv/à_ºMN^¸øÀRðºJfgkuàÐ[zváÅ‹Ì1&÷{§ïý»×³^$µí‹§N7hI´-tkâOïq׳G÷ÃGŽëÍuâxANú½Û×&N·cç÷M¤ ˆX=‹Ú§×¼KàÕ¼®ƒª1;`$o‹zÝ»ðᢻ~ØKN~ÿÞ¥‹’“YÙ9ï½éå×ÚÝÓòÔ÷Åb1™ÖíÚ½7(¸“‡Oà’e+U55wôõö­ûü7--½öS[>ðß_;wëíæá×çwï=8rôn½Þqõð 8,éy2±˜V«ý|Ë—AmCDÞ³ç.¬ªªzíg¶½sé’…‘3ß··³ãq¹]:wúoÔϳZrÒÁÅsïÏûÛwêîèêU{Ò$3ÚbÕš~×9ôÿ~l՚̂±xR׈¢ÉýÒ¥Ñ| ÏÍn¦å.ÚóÓ> ÃÈ95juÔÁCKÍ×Ý£Z­Ù°é³À6ýƒÜ»æÆ·nÙ|5ö:1©R©–­XãÓªO«6ËW®%ß‹P׋xV÷lMtÌÕ>ï tõð éÒë×ÃGè”äæÍÛŸlüÈÛË“Åb9:8Œ;úôÉ?ŒµQ¹Tئ£î[¢r©4(¸“T*£hPƒ-B¿¨ÖÖV‹ÍOII¥î &­ú3ÖLµëR»i@“B¿’ãÙmJ1’Ð v²…]ƒá;»0zÔˆR±øþƒ8„ЭÛwÊÊËG®³äÌùóf¥&Å''Æ·ò÷ß°é3ò©;wïݺv9>îvi©øËí; îÈÆÆzç×Ûæ/^ªVkj•Áè–¯]¿qæï?_¤%N|w\ø´—c®œúëhfZÒØ1#—¯\K,óí÷»ãŸ<½}!%ñ±ßbóç[_ûÙ…k7nŽ;¦®[{øðñÕè ⢃“ÔÌh‹­[69vüÔßgB'ÿ>sôøÛ¶|fF(âIQ#ŠF$ݺuçÂÙ“/RGŽF6Ÿ:thïãíuæìyrΉ§:w ñ÷÷ÓKò’SRbc.>~p§  þöˆA>Þ²í«¢â⸻7ܹ‘—Ÿ¿õ˯éÔK÷„ ±ÌÂÅËÖ­Y™ý"åìé?ãâÑ)F÷îÝ–¯\û î¡R©4ÙFv¶¶cF<ôëar™C¿ž8aœ­­ EƒlúE­¨¨üa÷Því‚ëhÕ“±fª]—ÚMššÌnSŠ‘„æ0HÝY( ÿºÃzŹ®_Ó¤ûV@Rœ{è×Ãÿ\Ž9üËIS¦5bÆôiÄ|½… EH—^)IñÄŠqwoøúú „^¼ÈûnxÂãû7Žúô³-,6{ãGkugRl9-ù©½1ßÃ'PwÒ§UÛâüL„PH—^û­U+„Pi©¸oÿÁÉÏ×'ˆµ¿ÊÃE䛟Æfø/½Z“.ž‰Oâ\]]Èùº“Ô»3»-JKÅCGŒ?nÌÉS§/?íäähr_µka,žôk¤×ˆd@ÒSìlmõšÏ¼¹uûÎ'›·D_:KLö üý·_wÇöºŸúó¨^a ¹–X"ùdó™LöÛ¡(„PpÇ®gNþáçç‹ÊÈx1öÝðgñèÔK¯±:têñáâ#†uww£YG™¬b×î=/]ÎÌÊvrt9bØšUˉs¤Û(--}bøô‡÷o²ÙlFÓ­gß3ÿé!Q4¨Á’›,ªî{8ç‹çþöòô î Ä:]•â5v›¢™ ÖÅ`?ÉØ W§¨7ÑiSú# Íaú£(¼Ùƒ! õ5Mzï§§„Ozÿ䯓'&=ŸÀ( ÿÃÆ»¡wµžÇåιpñ²ysfñ¸\ݧ"ç,˜=+"ñIœ¸('+ý¹î}û99/ûmnnõ«—ÃÙ»ûûå+×è^¶¤Ø2.ÎÎÏâ#ͳýt¢Aê×7ôïÓg >Åf³ ñ¸¬¼ü5¶¥mñ,1éð‘c¿Ü¿÷çý™™Yæí×¼xÖ³Ͱ|éâ]»÷"„vïùyé’…*ââœ]‡ƒ¨oVúóÿFýLÆNNŽäáãèè`^i;…t<üëÔçO¾Üúy]Ï=2Œ€€VÛ¶l¾sç.uÍŸ;ûç}Q¡Ÿ÷E-Z8ϼ¥YTƒáëãýÓ»V­ýˆèÎ&ûÂkìªzŒ5S}ÂYƒvÀºŽ$4Uê¬ ߨéBí÷ÓË>\TœŸY{üU*”<Ï‚—“»|åݧ6lúL,‘ˆ%’7nž8aõƒ">xíG›èl™Žˆ™Ó—¯Z›™•­Ñh’ž'Ïž»ðµŸ]X»zÅw?üxè×ÃåR©ª¦æÑãø™³^ŽÅÁÁmvïùY¡P­\½þõ6gÚB.—/X´ôç=?Œ1lÇW[#ç,¨}Í»áâYÏF4ÃÐ!ƒ ÿñ—D"8 ÌÀé™É×~´±  P&«øxãf“§µ ?vÌG?‹Åb±xý†O&Œ£{ ‹uzz99gÞ¢”Ô4µFƒã¸V£¥³…1ã'úûLi©X«Õælþb[×®©Û¨Ø;•••ÿ‰ú¯¥¥e‡öíÌkÐ:ÕÝÝ­gîž8E§/¼Æ®J³™ ÖE¯i@SF³Ö§M Ž$4UêÎböèñvœ] °ë»6möô ;~rîÝtŸêÑ£[Ÿw…téego·~í*“›š3;¢¤¤„ΖéXºdQÏîÝÆ¿;ÅÃ'`îüÅ#un |]Ñðóó=õ×±˜+±]º÷ññk½fbEs• IDATݲá¿ûæ«ó.ù´j;|Ôø¾¡}§™ FlÕÚçÌŽèÝ«BhØÁ“'MX½îc36n^<ëÙˆf`0.Y¸d٪ŋæ\`ͪïôÒ¹{owóö²á£5NNŽ]zôíÒ£¯««ËÇëéfB‹Î0d$™š >tFÄOŸÀÍŸoýiÏ.:[X½rÙ‰S§{††¹yú9N.—Øÿ“É6š?oöú Ÿ,щI]´®E1}Ú¡_§Ó^cW¥ÙLë¢×4 )£ÙëÓ¦GšÇ*ug1{ôhoà)›Ó}Cð‹”Mü"eËq€V†£«žà)D@K¿Qß³ .¼þ÷ÓÍéÌpv@KÀ¦¹¦}yç{Ì:|( W;dˆGc«Ö‹ u„8€&ÕÊptèž]P©”Äß}?N>S¥R¿S§Ï<°ïG•JéB†¨¡ÿsw\µ^l¨#ÄþšT+·£‹f@÷“ÝBCn43n^¦óɺ#Ô5Jˆ)Ð2ÑMâï߀`.P™¹‚43Ç|Cg1&D .Ò@ºHвÓƒQ§ù Yºvíš———y‡Ê›EÆ¿N aÞZà ¶/o8]!´zõêÝ»wã8¡ðº@KI ×54Ç×®]kgggoo¿~ýú}•MMM2dˆ¥¥¥¥¥å!CRSSM¶>ƒÁ`2™666:uZ·n]ii©É½$$$ >†{ƒÊËË'Ožliiéääôé§ŸšœOÝ4 ÃÊÊjРAIIIMù•[—Mãt+[šM*¦w™œzòäÉСC…B¡H$:pà€yƒ-Íå €b>œ]fÚ·oßõëן={Õ€¿Þ»wïüüüüüü=zL™2…ΰ‹aXAAÁ EHHHVVõ*J¥’Ãá@Ë´`Á@›››’’òâÅ‹ƒRϧnÇóòòÂÂÂÞ{ヲœ“vîÜ9wî\8 @}Ž"“óSSSÇŒ3oÞ¼’’’;wîܼyÓ¼Á–æòµKE=ÿ-зwÇ%ŹÇ¢và¯Òk‚B¡˜={¶µµµµµõœ9s ¹ðöíÛADD„R©¤˜ß·oß#GŽÛÌÎÎvss“J¥x Ó«W¯˜˜âqLLLŸ>}n_d£( >ŸO½|íÖ߸qãôéÓ‰ÇfݺuNNN|>?<<¼¢¢¢vOÎÈÈ=z´P(äñxÆ +..6¸eÝ®E14B¡°¬¬Œx,‘HBCC©çÓi¥RÉår)…X~çÎ ƒº St|“­IÝ^*•Ê××7//˜<þ|pp0‡ÃñööÞ¿¿yñ¤sLV{÷îõööæp8!!!?¦ ÍÀš¬”\.Ÿ1c†@ pqqÙ¾};YNŠØîÙ³Ç××—Ëå߸qãàÁƒD±Ÿ>}J]¼Úá2XkcQª]ê¾ImÝ( ýˆzþÔ©S£¢¢ê?ØÖiùºò8µƒ:Hzt£oï¯óì†  ÒÒÒRSSsrr6nÜH>uýúõ„„„ÌÌÌâââM›6QÌÿøã?ûì3 È>ûì³¥K—6ΉÊ&%11±k×®Äã.]º$&&6ܾFµ}ûv™L&•J¿üòË‘#GÖu ³gÏŽŽŽ&oݺõáÇ=*..æóùk×®%_ìÉ~2zôèeË–•””­X±‚þ™ä·87§}’üÙ³gÔóM’Éd_}õUHHE£îÝ»÷èÑ#¢ÇQta æµ&é—_~ ‰DÄäŒ36oÞ\YYyýúõ»wïšRccŽÉÁ*66öÖ­[åååãÇ'Ïy ÍÀš¬ÔÆe2YVVVBBù®—:¶ÑÑÑ×®]+//Ÿ6mÚˆ#Ο?#•J'Mšd²Øµ¬µ±(Õ®uߤˆ¶n”Œ‚ƒƒ—Ë Ú¶m›V«¥žåÊ•¢¢"wwwKKËÉ“'———›7Ø6æàÜlÏ.¸»»§¦¦SRRD"¹pZZñ855ÕÃÃz~·nÝ>Lά®®Æ[&“©Õj‰ÇZ­–Åb5ܾòòò¼½½‰ãÁÛÛ;??¿®I}MM ‡Ã!{{{'''‹ŠŠ\\\¨³éêêj''':gšZJþMœ8122²¬¬¬¬¬,""‚ÍfSϧh’››[ff¦ÉFÑmnŠ.L3þ[“b-­V˜””DÎñôôüá‡rssëOŠ1ÇdM% Y2àÆH3°&+%‰222ˆÇiii#¦[±XLÎ×›4YìÚá2XkcQ2XŠV¦ˆ¶n”è¡6FóäÉ“þýû/[¶Œz>‹Åš5k–D"‘H$|ðAxx¸yƒm–oNg^gºÀb±4 ñX­V“ÇB¨NóO:¤Ñh¦Nºk×.¼E²¶¶–ÉdÄc©TjkkÛpû4hÐÆËËËËËË7lØ0hРº¦ Ä5#â1›ÍÖ»¯§öZ·nÝ µ´´¤X¦E¥ ¥¥¥ãÇçóù...›7ovuu¥žOÝ4†¥§§÷ë×ïĉô…º SÄßdkR´ÚÑ£GG­;çþýû£Gvppðóó;}ú´ÙéuELÖToÒXiÖd¥ôÊC®^מB³Øµ¯£\ÝX” V‡¢•iFÛXè(,,48Hêη¶¶Ö½´' Ílë´<¤ FÏ.}JJŠ»»{íL?--ÍàYÝù†µoß~õêÕ>>>*•ªe¦ yïÇÓ½wÇã™qïÂûï¿O¾ó ¯C$=zT*•b&“ÉtG7òd’X,n9é‚®¨¨¨iӦџo,ȹ¹¹®®®Äåj:BÝ…)âo¬5é´ZHHÈÍ›7kÏÇ0ìܹs&Ó#:gôÆš5Õ›4@š5Y)wwwƒo¬MÆÖ¼bS—Öd” V‡úìh ÅÅÅÖÖÖÔóCCCuÓ+++ó[¸wáõÜ`O\f+))Yºt©î ö+V¬(-----]¾|ù´iÓ¨ç3Œ?þøë¯¿Þ°a—Ëm™wüΘ1ƒ¸àWPP°aÆ™3g6ܾڶm»mÛ6©T*•J·nÝÚ®];š+ÊåòÇ/[¶,**ê³Ï>#fΟ?îܹ&!!Áàç, ………………Eff¦î-ñ;vܱc‡\.ÏÏÏŸ?~ímmmSRRš_sÏž=;//O¡Pœ:ujóæÍäµvcóéððð ýý÷ßi6 u¦`¬5M:þ¼@ èÓ§îÌ©S§&%%©Õjâ|²Ù!56æ˜WSc¤Xc•"?M7eÊ”•+WŠÅb±X¬{ƒ‚Ù±­Sñê:¤¬Ní¾IÖŽf´Á˜©S§>{öL£ÑdddDDDLœ8‘z~DDĪU«ˆÓ¨+V¬5j”yƒ-ÅòÍü+Ì>»Pû^-¹\ieeeee)—ËÉ…É»”?øàƒŸ˜Ðãøü@Ž-†a«W¯¶µµµµµ]»v-†a ·¯¤¤¤þýûóù|>Ÿ?`Àòb'õrƒ! ;vì¸fÍò†mâbÞÖ­[‰»¬ÛµkwôèÑÚÙôÉ“'ýüüX,–——×®]»È§=zÔ©S'6›ííí½gÏžÚ量øâ ¡PØüÎ1DEE¹»» ‚Áƒ?zôÈä|šoe.]ºÔ¹sgšBÝ…)ÞkM“gBCCO:¥7óÈ‘#AAAl6;88øâÅ‹fŸ]06æÐ¬©Þ¤±Ò ¬±J‘‹UWWOŸ>Ïç;;;oÙ²…¼ÈdlÍ+6ͳ Æ¢d°:µûf]£m,Æ?~¼C‡l6[$-_¾œÜ¬±ù8ŽoÚ´ÉÑÑQ Lœ8‘<ÓP×Á–by½êüÀÅgA›øÙFßÞ=®ßº[V’G‘RDŸ=69rec&1cÇŽ2eÊÔ©SáƒÅ€º".Ò¿¥…ONN1bÄ‹/Zr BÓñß N±@q~ּūšÜ×4a¶ÿþôôôððphE@ ±|ùòòòò¢¢¢•+WŽ7‚ÐbƒÐd±›ZX,–ϱcǘLøÆI@Káãã¨T*ÇŒCÞ A.…׺ZÞ0²téÒ¥K—¶ð†ƒ 4eð.Ò@ºHé ]¤ €tÒ4‹tü½ðfþÃáÀxÓƒæÑ+¡/C×.¼.é‚)2™lÙ²e¾¾¾ÇÞÞ~ܸq111Í×>´zG/^8p ŸÏwpp˜>}zII Í‚YYY 4()) «ášûÉ“'C‡ …"‘èÀͦi¯²±±i„Â/Ø5§TLï29Ÿ¢7Õi°Åq|íÚµvvvöööëׯ7vPÛf£ ìM%]W«ÕW®\Q*•)))Ó¦Mûüóϡüö¡­qF·;w®Zµª´´ôùóç666S§N¥Y¶¼¼¼°°°÷Þ{«š;55u̘1óæÍ+))¹sçÎÍ›7›MÓà:vîÜ9wî\8@}Ž"“ó)zSÛ}ûö]¿~=11ñÙ³g±±±QQQuÀm`ýúöî㸤8—âïXÔüU\.·²²7!´gÏ___.—|ãÆƒp8œ§OŸ‹eddŒ=Z(òx¼aÆ“«ë=há9ÕÕÕ<~‘”J%—Ë5Ù¦{÷îõöö&ŽÇ“ëΜ9S ¸¸¸|õÕWäf ÅìÙ³­­­­­­çÌ™£P(êth5§æž:ujTT”y«ë6F£Y·n““ŸÏ¯¨¨ —ß¹s§‡‡ƒÁ Ž<ÅÑXϾ¬R©|}}óòòˆÉóçÏs8ooïýû÷›ÆíÛ·;;; ‚ˆˆ¥R©WŠš}ú¼ÆB¾Ç¢vPçInôíÝÃ̳ }úô™;wî;w Eíg£££¯]»V^^>mÚ´#Fœ?>&&F*•Nš4‰|1zôèeË–•””­X±2å¦àòå˽zõ¢¹°L&ûꫯBBBL¶illì­[·ÊËËÇO7n,--ÍÌÌ|òäÉ•+WÈ…7lØPPP–––ššš““³qãÆ:ZÍÉ•+WŠŠŠÜÝÝ---'Ož\^^n^ÓlݺõáÇ=*..æóùk×®%—¼wïÞ£G0 £Ž<…zöå_~ù%,,L$“3fÌØ¼yseeåõë×ïÞ½kvè®_¿ž™™Y\\¼iÓ&½g)jjðX5@š5Y©7Êd²¬¬¬„„Ýw½±¥Ó(ЧÇ`­E©vuô²CúÑÖ’± Ppppàr¹AAAÛ¶mÓjµÔóÍîMz»víJ<îÒ¥KbbbKyy0ïìByyùºu낃ƒ-,,¼¼¼–.]ZVVF+b±˜|«ª7Éf³ ¾£urr‚³ o< }üø±¯¯oJJŠÉ"‘ÜÜÜ233M¶©D"©} ˆD¢´´4âqJJ YSww÷ÔÔTr¾H$2ûÐzÛ››ÅbÍš5K"‘H$’>ø <<ܼ¦ñööNNN&¹¸¸Ëççç“«SDžæÑX×¾¬Õj“’’È9žžž?üðCnnn=ÃHZ©©©z%¡¨©ÁcÕXiÖd¥D"QFFñ8--Í`ÄôbK§/+^íp¬µ±(¬E+SD[7Jt‚P›F£yòäIÿþý—-[F=ßdo¢¹G&“©ÕjɘÅbµ³ f¦ $ Þ?>{öìAƒŒ‚±É[·n…††ZZZ’w@ºðfª«W¯zyyÝ»wf‘0 KOOïׯ߉'h¶©Þ$‹ÅÒh4ÄcµZml>9xÑ<´šSs[[[“‰¸D" …æ5 ›ÍÖ»ÙÊXvByƒA®O_>zôèèÑ£uçÜ¿ôèÑ~~~§OŸ6;ŒÔ©ë1f,€4k²RÆúB]ûÍb×¾ŽN§‡’Q2XŠV¦mcA £°°ÐÖÖ–z¾ÉÞDsÖÖÖ2™Œx,•J îÒª·äURšÇ±H$:zô¨T*Å0L&“Õ>p!]hÌ8=zÔÝÝýÁƒu-Rnn®««+qMÔd›Ö>tßê¾óÓ=ëàîîÞbÓ…ÐÐPÝÎÊÊʼ¦ñôô$o ØÉÈ r}úrHHÈÍ›7 ¾9w«kýÏ.¤¥¥Õ>MR×cÌXiÖd¥ÜÝÝ ¾±®kŸ¢YlêÒšŒ’ÁêPŸ] mcA £¸¸ØÚÚšz¾ÉÞ÷.4Ƚ aaaÇ/..Öjµ¹¹¹ëÖ­ëÙ³g¶ P(,,,,,,233á¦è7kçÎkÖ¬‰ŽŽ&/ÈÑçááúûᅴѦS§N]±bEiiiIIɲeËt?wC\¯-))Yºté”)SZlÓDDD¬Zµª¼¼¼¼¼|ÅŠ£F2¯iæÏŸ?wîÜŒŒ F“`,¤æEÞì¾|þüy@ЧO½£"))I­Vç“Íqh•––._¾|Ú´iõ¬©±Ò ¬±J‘Ÿ¦›2eÊÊ•+Åb±X,Ö½A¡žã$Íâc,J«ckkK\R¬];šÑ6ŠäÙ³g&###""bâĉÔóëÓ›t͘1ƒ¸£  `Æ 3gά]e¸wá_111ãÇ·³³c±X‘‘‘EEEuJ{Ož<éççÇb±¼¼¼víÚg¨¯C7h4jÆ>öb°i.]ºÔ¹sg:mª7©P(f̘Áçóu?!—Ë###­¬¬¬¬¬"##åryK8»`¬¹7mÚäèè(&NœH¾7ªkÓhµÚ­[··¾·k×îèÑ£—7yƒA6»/‡††ž:uJoæ‘#G‚‚‚ØlvppðÅ‹Í&ùɈ>ø öG<êzŒ ÍÀ«¹XuuõôéÓ‰¾°eˇC3¶æ›æÙcQ2X/¾øB(ênª®Ñ6cŽ?Þ¡C6›-‰–/_NnÖØ|ŠÞT§ÁðիWÛÚÚÚÚÚ®]»Ã0ƒ‘4¶ÍFØ_ûÙFßÞ=®ßº[V’G‘RDŸ=69r%¼ ¼ˆ‹ôoiá“““GŒñâÅ‹–Ü‚„ÆtüÀ7ƒF…S,PœŸ5oñ*øhxó–/_^^^^TT´råÊqãÆAZlš,HàÍóññ °µµýì³Ï -6MBhfÞÆ+K—.]ºti o8BSgé ]¤ €t.Ò@ºH ]¤ €t.Ò@ºHé¤ €t.Ò@ºHé ]€t.Ò@ºHé ]¤ €tÒ@ºHé ]¤ €t.@ºHé ]¤ €t.ÒHé ]¤ €t.Ò@ºH ]¤ €t.Ò@ºHé¤ €t.Ò@ºHé ]@±i.wüÀ7,Ò£ ‡H-\Œ¤ €t.àM2|«cFr<„hiü[‡Ô!]èöÎ(ÐÒ”•äÕ!]0¶4Z ¸w.Ò@º€7‰ !h*• ‚ÐÔðxÃðkOVZÛž.8†i¡Éš'w¹ã“ÓyEŒüá%&|p Z@»Ðsá⥞½zµ­F£FiµXtÌ•f–1@ºðæÏ.4‚?]½—÷sÁ0 Ç´6“Ëfò8l›Éb 9l&ƒŸ¼‘ùß3ñÎvB K¡“­ªžùÆÍ[³fÏÍËË—WIë³жž[hÊíš}k „¶¡ÚÇð9°›T_k6½ŒÃá „|~YY9y_©R¶äNéÂÛÚaž¦_¾—Éà[WˆK4 ‹É’a&“igÅ…ŽvŽJm+?޹JÊ*:¶ñ:#f0ëU¶>Þøí7;FŽÞÛGÎl7)øïeÆ^€o.Y•ö8^ï•X ´=7hLÌ —™{øár…ôµÊ·^¦~bªa: Ž7ôßñËIJ5V-•8:;´nõî°Î‰GæÝÚ7ãÇÕCÚyY¥$gTÊ*<œ­$JqeŸ·+‡ÅĈöÖÙˆ@hKü9»ˆFŽûüy2õN‡ øÊÿj1åÏü˜˜³GâïÅÖžù“oWi›N/3vôÊž§:[tcÐ6fZäÿG`Ã+¦¤¤Nö¾ÈÓ×ÖÞ9ôþ'OžjœÒ¾½¬i’WËB8åkju…,þþµØ Ä^ø#þþµª ©Á~WU!½}2'#ùí¤ 2á:YhýÝ|š§V«;‡éÓ–Ëb„‡ùâYYòÚù;ýáÀ_?#`i⟤ºØp=œ¬n?+`³˜˜VË`¼²„PueyueyZjRß¾¡³æPïT©T±9œú5||jÿ™¸gQ·aQAŽÞLKkû7õ‚eÆKÆ[TZÝb¿Ù^f𯺲|dôi„ÐÁÐA+;!•]Ì´He‰øvq±c;-#c؈Qýû‡=+*ÈÙùÍWüy¢J‹Þ’^Öþ¢£¯ü{ìýÿÅd2ðWÆMÝUäUUîÅ8¹y3}Èø™îÞñ÷c ¹^¿“•‰ß»жKëžoQ/ƒt¡áS0fcä×5m+×)ƒƒú´qðt ¯|Þ¡µã²)ݔʾ§¨¬!Äã²ÔZ­±²Y[[/[º$99…˜Ôjµ›>ÙìíàèìöÁÌYUUU!K+;â_òÁ»÷¶ZÛ[!ôÏ?Ñ]»÷²µwnÜῇ~!÷øŸ¨ƒm‚;ØÚ;÷êóÎÓ§ M£]Œ¹ºõËJ{V£RÖ:‰ã8–‘ãò‰kŽ'>¾­Õ¨Âï\=S]%%–,Ì{A<¨®’Þ¹zFoãWÎÉÉL¾ó÷•sGŒmX,?;íöÕ3±Žß»v^V^R”÷âNìÙØ ÇܸPUYN,†iµÉOï_»ôçµK&'ÜôZb]„Ðéß$vA±Ý?-¦yçÚÅã7£Oæd$‘ë*åUO\»vñØ ÇžÜ%cB³„tvMç”oãô2jÄ Ëÿç Ï¥e[âª+Ë .¼eë—+–/›3;ÒÞÞžÇãuëÚõðo‡ˆ§2³²&Mžêâêaïè:nÂÄÒÒRb¾¥•Án¢V«×­ÿØË§•»‡Ï®]»)úl“ýð¦ùsÅ××'&æŠÞ±§ÕbUÈL{êí×& mg„P²ÚÙÅÝÛ¿mNÆs&“InVV²ÃxIDAT¤L\øôávûøuP)äM¯î.¼ñ«w œòx¬ÃÛwó·éäkõÉôŽ®¶ºÏ¦eK–|}¡g× ;kË®A.Ⴘ޽üðYí•2Ù·ß~ß¡};bò믿yü8þöجŒT ‹ ?A8^]Q†ª®(«®(#Ö‹‹»}#¶J&1¶ ÂñÙsçoøh}qAÎ?ÏÝ¿ÿ€Üï7bþ¹˜Ÿ›9fÔÈÅK–6B]ŸÓ¤./¨]×gn¢Z?e”žT)+ï3hÜ \ ~fzƒÁ°wr•WW1Y,¥Ržšø1X!©¤ÔÑÅ]`e«·EuUïAcFOY ´q0¸5b± YYw†éåßæÉƒë’Ò¢î}‡éáÛ:-ñ“ÅB½H}R£Rô>pô{µ&ûÅs„FNA™¶hÌ´EBceÖ+UfÊSµVÝÄÔ#§VUJBĺOâ®{û·4öý!"mì3Ó &ýÒÙuÓéeÆþª+ʈ ç97hŒ²D\¢”¯Š»ù²kú‹½6qÂxƒOMœ4eñÂùY/Ò²2R[¬]÷1u7Ù²õˤ¤çwn^{þ,>?¿€¢Ï6þ…¿·ôbDLÌÕ.]»(•*âqLÌUý·gê©TªÕèÿÔE™¸ØÓ¿­Z¥T×(qÇqÜÉÕ£¤0—kÁ'(ÌÍH~r¿sÏ"Ÿ@¥¼J£~‹ÂÒ…KØå年Ç×ÁŠ-à1­Ýog*-—Ïùòœ\¥¹ýàùñ³·ŸºùŸc±{~‹©Qk˜µÜÒÚÞÒÚÞÍÃgÔ_ fúå·;¾‰Ü…Báç›?ùûôƒeørëGGGêUø|‹¢â"±Xâéá±g÷.rÝïvîpww³–.]ò¤QÎ.Ô³]lílís2õ/=ä¾îÔÇRhS£’ûø·)ÎËäZœÜÄÅù,§$?›Éd‹Kò F¹¤ÄÑÕ³ö—àwîcÁ·’Wɪdƒ[#ëØ½¿¥•mªÚÙÝK£V‡ôhieW£’;»{IËÄ<¾!TœŸÜ©ŸÏתkü[w,ÌËàýØBUÉ$U2‰±2땪¸ §]Ho®_]£ò ì@ÎïñÎp7ïL«©QV{ù•æñøu(!]7^F_ÄÍh"Ÿ6¦¬¬ÜÑÑÁàSïßé×ï>ßÂÚÚúÓO7Æ\¹JÝM~?rô›_‰Dî666Û¿ÜR§>Ûsu÷–I%\ûkÔ5z;²à[VU”_¯fpkJyBˆË³¨’Ip'> Ë³à““8ޱXlÇkj”V¶NŠê Óò,,T %›ÃS*ªÉÒ(öòïÑ¢R mˆMq-,È-Ȥ’‡·£++¤äï@²ØbËtJHg×ÿo2ü÷2c„ÖöÄbrdô骊2êÂØÛÛ•Š%®®.µŸºwïþ†MŸ>}ò´Z.×ën»IQQ±·ÞîhöÙ&ÞËÞ@®påj—®]ªåÕG< q¨ëT‚8ŽWUUåäˤ²úëVÃåÖ(U˜ößOO¨”J‡Ë`0‰Å:vKz|›ÍåZYÛ¡¦Gð5Mo8]hŒs6•Õª9áa\ÎË}ÉUšÓÑ—…w òv@q9,„F‹©ÔÃR©ñ„Œ’Õßþsã?3 ޼¾¾¾Qû~'lÀ€þaB¡ÐÕÕåJô?îînôËcl•.;?ö;Žãÿ\Ž^¸hɈ´ä··]˜LVPûnIou FÎäñ,Þ6ÙB`©»$‹Åæó-‹ r˜,¶»§Æóø²Ò"À’ÃÈ ]Û&¿ŠÕàÖt[ŠI„—k¡WýRÈ«¹\ƒi ÖÔ{!7¥TT›RÊåäüÄG·‚»¸{µâY´õù?öëÖd éìºéô2:¹MaýúÝÒØ5B¨²²"áÁµn¡CÞ`/«.œ4F7W g–(å7£É™ÐËÌèeoꃃƒƒ““ã+×Ô®Rª*++•*eUe•Áó ¯$I,6ÏÂ’¸½Q«U«Õd7×=ì™,¶ÀÒ¦ª¢ $Ô½ŒTœŸ5oñ*¸w¡.F0xÃÿV!&ƒÁĵ½ÚºV*4‰™’¶­D­¼\¤•Æ&ʤri¥‚ÉDÏÂÒ’Áb×T”ìã¯[*+[GÃY'‡›8Ç©¿›ø™Úb/§X+løË[JU ¹J!×{V«ÑT”—þ¿ùXOíù·¦·˜ÑIWTW"Tir›÷¢+íùcÿ¶Ž¥<}àäâŽaZ"Dꕺæßx•RQ·ÒØ5B¦¾¦©QzYí®AôšJ©Xw×%J9ñ ÆÊc¬¯5³îfv/{ƒôïså*†áNÎNG555á5jµR¡TÕ¨ˆ\ÁX™é º‡½V£©lb ešÒ…x!o”Ëw8†ò Ë._ªEx;?·6ž…ReZkï`'¨Ñ::âZ W¨4r•¦ªZY].^7½ËjöiA=ÚÅðy¹°á“¬íœ)V«(/i®³°Ü¿~A«Õ:ºŠZw쥩Q5îgšâoFÔî5º9DKÈ ¢—½Y„Å\‰e0Gb±X· ÿ¿a,!hƒ|2¢¹§ Z­1°‹×Ÿ~³¸—ƒû8ÿÔÍx¾%ßÖÆV`)°¶äV+Ô*µZ¡¬‘–IåU•ÃCÛ9VVVòx<.— íR'Í8! æáàÔ‘Ç ÄШUJyeKKÊÍÎ!`ô{»ƒP(d0„ÁàéBóé0jµ†ËfÙÕņ«P*:û ƒ=|SsdÿÄ>y&¯Ñâ|[©Öâ8ÞÉßvâ„à /UŠÉd°Øl.´  ­F%¯QÉ¡5A³o"c¨S®ÐÒ@ºðú1 „ãäçn—ÃÞ6¿oG{¥J‰c<B,&³?'ÈËV«Õjþ×Þý¾6 ÄqOrÉ…f5i»‰ Y©+ÃʆBEüç}æ“íè”m`QŠ:»î$wçƒ)(¬©‚לäýzš>hïÛOó¡MsÊÌ®TÚˆ³fIKË(Žd’$±”VŸ˜³ŒÑÁÒÈÔreÜYé8V2Ô-e/ž?«Û;ê¯^/uÁJ¿6Fÿ¾Kº…wö¸çyžRkyQyžçE^äªPJ)ß÷…!¢0Š¢0’2Bqgcê8­Õ’½òŒ±=2üòդ ¤Œº@]°]V” ß÷dÊ(ü“$×<Ë>È8÷8wîq$e eõLuÁ:­Õ¯wGåŠ"Xt4ð}­5#skdº(ùf›”‘2ØNuÁºVgcr|˜µ×Y wœ~iuþ÷=ifÓÉqãçÆQpÁÕ|ž43RFÊPUʨ ÖÝ=8xõr¸7n­ßÜf»jÊÓ§Ÿ§ïßì>^ô˜»½£·Ý{ƒ$MKî+¦=s1›M?žôvF¤Œ”¡ª”Q¬ëlÜîŽ_ïÏ¿}Õ†+·+øA3kwÇ%ÛÁ¥Y»»=˜œ¼»FE;ô±¬dÅl± ÎbÂfÈt<ÃÕBB\–IŒ kÅöþ„àì‰cô=E¼(ˆ&Ğ1íÈ··svGH­(%Œ§s¦‹É8av˜’.*ަHKRU†»÷XÌRÚ­&«k« ¶C–͹kÿ‚ë;×PJÐBdQÅi>§‰,hõ5®.Ñ«ZSi[7iVÃqD‘g¬:F·Ûc°?dZGLãˆN²ÒèÔ1÷÷vRc+Ajïræ>d°…ëÞ¯ïsV½Äj¸DV&äyŽ@c)AiJzcMsó^E[U,) ßa¡+æÅ‚d¸Àó|VÝ%îo Š9ý^ 33eQ6?à‰òý+Û<”˜± ÑœóÑð?xrý"­h4.i4}jÛ£ã¶E ÓiÂÖ`„åh†³ãIЍ%Í …P†²LiZ®¶¨MM«åÐó[ÜÚ‹í•èMÕ(3Ä݈·gWÙš~@àû$óϲÑsE]+t »H3ÆseUÒk6e3Š*c‘jL]5nÂL%5U•Qæsl¿ Ý²8ЧP@Þ©-ì¤"j¼¹b2›Q¯Lyž°¾¢D…6VF; HäpÑk„t{ ¦ó„Éd–‚ŠK[ô;-„Ô$‘`éÉ;àns”Lðq8Övq;éÒGLÖsFK‡\߃§W^ l:4|‹^8EÎ%aZ®‡Œ–¡Ë‰ã=–»M,!¨cEËß¼Ð<Ãö§.¹r¸É~:æÖ9ã(çtÖÆ-.¾˜ðů–ôbPÊps÷óxÎx2gx4¡Ör¥­QB±Èt»!u óyÌt6%‰c­€sç×i!Jhö¢ùœ¼péÌ Ô–f{GQj˜TsÓŒ7îÕ|´_c È#è7|N®¯ QˆJé[ËöHÓ +PøA€ïT‰ÂwBò¢b4¢œšÀw¨ç2< Ê*þëõm––<¾ûÕ–Bo޽×äY[ÑiB .> Ç¿6äæÎ&­Vƒ^£K-zÍ8/¥C–åÔU…ÒÊ“"DZ5qš1Š"éŽë3#m—,¯Ð]7Ä%qš0G®K¥XŽ$¯$­Ž‹Ö¯0*jÆÓ¶¥atž`ºÄ°÷€Ö ÇO¤8‘·PËmlåñÔ#—PJðÎ;×馚KÏ_@;‚½é˜ÕF8ºöæG·&\ß-( ØÊBJh4ö¶FÔº&OK‚ÐÅAÓE)ÍÝ{»?Ñ%É&Üyo‡sÏSäƒw7 .ˆñ¶­˜ÎÔu²¡¥cžnÚ|å ϳþÌ߈Ϝ0w?xÓ\{ëUv[ÜŽkt«ƒT©Âñ-,Ë"ŸÇƒ]V‚š§Ÿ¸ÄS§ÿ”Ö¥Kâm³»?7‹íŸóýÍmvK…É],OÒmZœ)ùã³}¼Sߤ¹ñ ñ¹dêwþÓ\y÷' †3v§Ýe—_ø:Ç¿ô·âsíãÿ_ró{¦ÌSü,ڲ>u˜ÿ"À¯º5 †‰IEND®B`‚pioneers-15.5/client/help/C/images/steal-from.png0000644000175000017500000000460510416170552016633 00000000000000‰PNG  IHDRã„bœ® pHYsxa+S•¹tIMEÖ¶‡‰; $IDATxÚíÚyT•eÇñÛ `jÎ9sl'½\E.K¢ (Š“i¥Ѧb¦ÌX”ƒˆë`jiN‹h¦dY¸d»“c“–˜8‚(" â€39.¥‡,AD .wþPqé®DÉØ÷ó‡ûðÜç}îý¾÷}·¥Å¸êÜÙ€#@Œˆ FÄ#bˆ1Ä€b@Œ1 F€#@Œˆ FÄ€b@Œ1 F€#@Œˆ FÄ#bˆ1Ä€b@Œ1 FÄ#bˆ1Ä€b@Œ1 F€#@Œˆ Æ&æço¼ªÜÔÏß”ó9šëjï]sfooNì^¡AáêÔ¹+1¢é#Lç½òÔżø¡ÊþUtíÄh®9¢Wg%ë÷}"d0tS·°h=úä ­Í=Ø,ßÄÿoØ¥Å?ëÏ5‡Ðî×eí7g•ÜþÚºL]ôÐCÚâ¬ô•kµ·¨P¹WjÜà}±p§_4['ëÌjéîvmŘQrR‹R”ÿMíäéá.ß¶7¨×qzaÅú‹ƒ,µzg^²úôSçnázð©¿êx­Ùú„ÆZêÏè­9㦀àhM}mÛegV?£Í³¬½1¹+æi`dOu6©Ï½côÉ—§·þó6¦OUTX¨ºöÔˆ”WuÊl±û)pé÷l­ßb>¥…))$°»ºÝ>@“eÙÃÞ1Õ›+ôRr¼‚æÚäò¾YÌ•zeZ‚ÂM&˜"5zúk—畎n^®ïê/£!P¡QC5wÕû¯‹ƒ}¯úz¯þ<&N!݃ä¢Á#¦ª¨ªÖéOáKŸÏÏߨMKf(æŽpùŸ¿tt|~þFådÎÓÝÑ2‚Õû®‘Z½ë„ö|®ûD)À¤ˆÁ뇪~žGù·ÑcÓ+» Tg¬¿A÷,ˆ×Ë%7*c]–ŠóÖëž¶[õð¤ìFÍŸ;\‹÷Ý ŒuYÚ½e•ŒåË.»D;PZlórÍÞ˜i;[káû´oï6={¿&ǿԨõ_0³ ½ÞÚ¸U[Ö¨{ù;z(-ÿGŸ%w¦ÐÛ'Lú0{»ò6¼¦ö»fÛoï˜òfÐU=ô·ì<åm|]7Îqxù{å¾åή•_µ&+Gù›2e8´RqÏî´ý^yúEÅL}EùEú|Í<]¿?ÝîüŽö½OüõúÃeïÌWÉ®Ï56è¨Æ­wúrþÊçûKY½±~³JÏßG:s|Óv´Ò o¯WÑÞ­šûH;=3|˜’¶xinæ:íÝ›£´8_M¹°Ñ¯¹ÛÒb‹+÷Œ™‹–i}Öv•<"v9à^%%ÇëfoIÒÃ!&=¾)WÑm¼ÏýÌÙ/eì1^û ×6œa.lŠ£±÷›4vSŽ´maõŒçè¾ÉÚ?£>ݳG[xœ?#VÉß¡²ýN­ÉÚs,ݱ«a|ME–L}3´o×*»k¸ð=[_ 6鉬ÜKæýBưq6ÎÞ1Ýg ÒÓ›·+ªa®-2†ýÑæþY[óPS7o¿¸ž“Ÿ)¨o†J ÖXc˜)Hᓞװ>¡º­ýõçwußëë¾S@Èpí/\çðýpåc~þF}¸»PÝ|<>>?£>-Ü£Ž-/ìñiu2ÜþÃ}沈’ÆŒ=]ìá}³â“f(>I’êuì?EZûFšî‹«VÞG‰’¤]§k56,øòâݬ_¯;[tºVQ­[4ùµù…Í“$7V²Ôïôš¬éÝÚ»ákïëz©¶zü^cñéÚ+æ oô1í«®SÏËæêáòzJªë._OëÕUO°9~Yfšæ¤¯Ð¨'«Âû·=õe%Þy‹ÍñŽöýÛÂ4%m¹v”Tå™Úó7þ—†èìñ]ñÜûZßwóÙF¯É³ñowµ¿-PcžY¬ù]ûI:c —¦dçÉäëåpGc»ùz)»²FýÛzÿð#ÝÍñ ¹3c\]“5[+k.žQOåÊËçâ½P 7U™-jåáÖpÆw†Ñ×Kÿ¬¬QßKæm,ƒ§r+kÙ0×v—÷ÍàãyÅz¶ÉÓ§‹Í9Úv¨ç— ”dÑ¿·¿­AcÇ)ñÎmÎïhßÇŒš©˜yËõ\ÏÎjãÓB–ºãêlŒn²´«ÇwÕóèD­ú$GG¿­’ÙbVeùõþËÕúÖÆLÕU‰O§«øÈw2××êXi¾æ'ÅYÏÑØÉ±•úÔB••ŸV]u¹Þ›ŸÐðØ­ÞîÚz¼Úîzãꚬ™1!C‡+jTSqD‹'ÌÔï†þ©á±Øßø(eeŽÎ˜ëUUþ¥–Ny©uLÒA©ÉËtäü¼K’g5úEN|«¦OzCG*Ï͵4e–Ëû6qÐ-JM^¦Ã5:[qX‹ÆÏV‡{’lÎ1lbº ž¹Þ,wwI²ØßѾW™ëÕÂÇW×µü•N—PÆ´1M‚«ÇwÕc\šØGE/Qì€(u1˜=$AŽuQæ»øärM 9¥äGËh SlÒµê—jýSÈÁØàI™ÛéâF*°wœv·ÙðXÚè¾? §Ý¿Y93ÆÕ5Y1è+=Ò¿—#îW~»X­žÚðXÒ›3UýÞ ™ŒÝ94Qߥ:µŽ°io)¶íÝÝ;L¡1é«àé~‘{ÌxSCZæhða ¥Ã]“åæîíÒ¾…ÏÌTì¯ 4,*\ÁQkOû´:õv›s¤ööÒ¬1C` ÕðÔ¿+%=ÃîüŽöýõžÔGÓGÉhRߨ *˜Ü¤!¸z|?—~ƒkÃÙ“Ÿ)¤ÿjï\Æf4#ü;Ü/Düsïêëªïuæ»CZ𒦛&°)ÍŒ'[ðËpc™é×KGÏx)8:V™©¡lJ3Ãe*Àe*bˆ1Ä€b@Œ1 F€#@Œˆ FÄ#bˆ1Ä€#@Œˆ FÄ#bˆ1Ä€b@Œ1 F€#@Œˆ FÄ€b@Œ1 F€#@Œˆ FÄ#bˆÀOç÷(ø‰ËLH…IEND®B`‚pioneers-15.5/client/help/C/images/player-summary.png0000644000175000017500000003520310654174432017554 00000000000000‰PNG  IHDRèG$ö—  pHYsÄÄ•+tIME×ê—ztEXtCommentCreated with The GIMPïd%n IDATxÚíyXSgöÇO ÂÙ—"X¡Š«ŽZQ¬Ó:uëTt¤êÈ03Z©â¯è¸´¸c[[l§íØÎØÖ¥´µ3U+KAÜge  ‹I€ Ëûûã&—n°àRÏçÉÃsßsßsßso¾9yïåÞV«¨äIà ‚ÂE.‚ p‘_WÏŸe=ÀÉ™³›àYò¨°²¶e‘&›ÍöòôxuÁü7“,-,mÄ"QSÒÆÿ;—¡³³ÓÞÞÎÇÛ;7û ¾‘O]Ʀ ­¢ÚVQmIqÁäÉ“¼w0yÓæGñš„õ§Nÿôqúûuw+¾=þµ¯¯¾‹OçTÁô×ÙÉiÇÖ-ðÝÉ;|ô÷OÝ|\<øÏ<;nÝúíí••U.|߀‘T¥R2v˜»oEÅmBHúGŸ„O˜âîí?zì„÷¦BèLïìæóégŸ;a˜»o߱Ο¿acF[ZXŒóì?¢û-¡ûE¡Û¤–ÿyä«qããá05âų™Ù;Rw‡Œ w÷öˆ|é¿ÿ+hOÆï»TC‡%ø`¼0ëÕA89“ËåósêîR6mü瑯6¥l><`öË¿•Éd'2¾£úüœ{®¥¥åÅ™3FŒü ýãÍÛ>aÂóÕ%Kb¢¶¿½3ý£Ot7XZV~é|NKcMß±`jÄ‹}#ñŸG¾jlé®e±XFâ¼~½8?7óð?>.)-‹^úºøžøêżÏÿñ÷â›·þ²fÝôì»ã}÷¢UTkäP xªÀ|r¦{úuO,Þºý/¿:¶liÌý»œœ©T*WO?g''Aéõ¢k×gþö•QÏœûù,ÄÅ¯Îøîä÷G§N™<6|RMmÝÿ.çûûûI¥mA!|_ŸÂÿ^¤·,(½îìäÄñ¹üó)[¶ß*)¥š{ÿž]Kb¢(_ssó¦ú;}wZ./¹6ÌÙY¡Pº{û@ÙÍ"—ajµÚŃÏb±¨ÏIÿ{Úñ¾{aäP ‡dª@}å ›Ÿ!aíê];wôíséòÕWæýž?ü™aî¾®ž~”Ð`lؘ)“s«¤ôêÿ'“ÉN9ûlhõVÕ74@øÄ©În>A!P['Ô›œüŽ˜:åÜÏgo]Ù¿w§£ƒƒB¡Üþή~îí0ggJëTÓÅe˜™™=WéOC;Þw/Œ ä§ lã'g&7±2îÏ"QÓWGψˆP©”^üô[›ðÆ_Ï_¸xøóMxA.—ÿùO¤ì^žwkj©4ö`q{yz¾¾lé”ßLš09¢½½]7ó©Õj33³††Æ¡>vFv¼/†2$WúƒJ¥{;ûîî®ïìÖ]5=â…Ñφžüá?Ÿþã 77× æQö?Å­€­;R¥Ò¶ŽŽŽ¬ìŸ_‹ZÒÏáæÌí»“ÿnnnéQ(JËÊ`ú´¨U~|_øélVggçî½iC}ìŒìx_  d¯*çï‡Þ8ïÕE“_˜9|x€ÞÚ7Öü¥»§§ °hÕÊ×-8pW­LÛ·«¸øæÈ°Ð°ñŸ|vø¯þS?‡³µµÝ¾#uÌs½|“6¾µ8jáûïí£V½ÿî¾ ¯¯üÓÔˆLJ?7ÔÇÎøŽ÷…ñP UÂŒöÜ$a}ýsãÆûêŸ<žýÓ| ñP .VÖ¶,¼WÁ©‚<ùSº©f\äÉcþ 8U@þNzïUÈúÏ1<"ÈãÏÌW¢º:;î»ÉfÑŠõx\Ç™ãÿ؃r¯‚<|ç yÈàUä‰äêù³ìþ÷&„ttt(Šú†‡3"0z(AþTÁ„p«ªª._¹Ú!ëhjmáp,ZÅK+K•ÌÌ zÁ‚Q£ð "dª`B¸g³²œ?L÷‘JÝJ—–&«ž¨÷á_KxãÔéÓO¹pY,–‘Çu!*û®W©Tm¹¹Ão\w»{ǧ¾ŽR-XZZ*Uª³ÙÙ …"òØ]Uhhh°Ö÷µsØæmm R©Ôˆ{YYÙïÿ{gggKKËñãÇóÍ7*/þò-P888,Z´¨¹¹ù‘ìů[‘gΜ‰ŒŒär¹ÎÎÎK—.mjjz« åW"f4ß_"•ªÔj#¾Ó§OŸ9s¦@ hkkûàƒŽ=úäPB!D XZZþéOzTüêSiZZZRRRsssii)Ç‹ŽŽ64UÐkÕûl¹Ÿ¿öÙ|| ô^_,}}allPhhkk+1@LLÌWÉåò?þñöööööö«V­’Ëåô»’žžîïïoaa’ŸŸøðá#Fp8œ°°°7nÐÝvïÞíêêjmm½|ùò®®.Ú®; ô©–@Ù•Jerr²‹‹ —ËŠŠjkk£û§¥¥y{{S3×¾›¢hmmµ±±Ñ³WVVΙ3ÇÖÖÖÒÒò¥—^‰D„©S§~ýõ×´ãÝ»w=<<$ÉÀɯ™Lfii©g<öÙ¾VQ­¬]l´èDÒö×ÕÅÿïòšÄ÷_O/žñÛ+¿‰È÷IðH©Têãííd¸rGvvvTT㪔””úúúŠŠ @PSS³yso-½¬¬¬¼¼<±X3{öìS§NeggK$’… ÆÅÅÑÝÎ;W\\\]]-‰¶lÙbqúô2òqa³Ù …‚q•§§§@  –ËË˽¼¼haµ´´ÐŸ6½&›Í¦»UTTÐßÝÞÞÞF2n_;ŸÏ/++£–ÝÜÜènB¡ÐxžkjjŠ7ož‘ü'“É\\\¨åñãÇùå—tœ2™ìÁx 3nQQ‘¿¿yy9cÆ=ñYïmYÿ9¦{“Mmmí7'O*Ôj¶G­&2™L(¬Ö %bq—\ÞP[;ꙑ'¾áñxŒŸ ww÷¢¢"¾«Ølvww·¹¹9(•J.—K]лºd¨Éb±”JeÿÝõìG©Têv£2œ‘k[t–µ··ñÅ?üðC777]—‹/nܸ±¨¨ˆú¼ÑÛ>>..®²²R©T?Àè}‘ËåVVVVVVÕÕÕºsq‹õÖ[oíÝ»7%%ÅB[Ì}(ø5]UذaCVVVxxø€ÿÑÓÓsø‹/l† &‘Jkjknß()-©­©537çûûûðý,ØìÓÓ mzĈÙÙÙgΜ>|¸½½ýêÕ«éwèwÞqss ôôô|ûí·º{S¦L õóósvvÞ¾};eüä“O¾ÿþ{7yòä3fГ’’ÂÃÃé¯ûäää)S¦DFFZ[[ÇÄÄ,X°à—îÏ>û,11ÑÆÆfúôé“'ßW†ÑÜÜ|Ĉ±±±´åÁ /âþº¯æ®_¿¾¦¦fÔ¨Qôukº ¶Þ? ˜ç¸¥ee "‘šannb©TP!ðòôìîênni..¾9mâÄ7V¯~TÿPx‚æyóæÍ[¼x±¡ë‘È@¡æ¸À6tjåîîN‹ÅE׮ɥR'{ž ×ZÞ)¯¬¬Õ×/˜‡õM V«?ûì³Û·oº,ˆ<0&nkd±XNNN‘3f@SSSñÍ›’ÖV3B¾þâ üÕ˜››ûùù;v oþtLßÖHãêê9cFäŒ^µêÑý¤ÌðÆ±¡Ÿ€@žÔ© y"§ (\§ ‚SÁ©‚Sy @á"(\Aá"ÈÓ"ܬ_ûÓÛf\…ËDë™3…‘‘9\nž³óÍ¥K{˜*;(¥RABÂÿl'ÏÉéúüù÷²³”S“‹™þaÊfh…{7-Ÿ”4­¹yRi)›Ç»Ét'uqT”Z¡—“3£«kRy¹{LLõŽøæ=ÍôG6Z.2X(e²ì>•!ÙÊövFµRY‘œœçâ’ÍåÞˆŠR¶µB2èWß&e1âNu¨MO?ïïŸmaq1$DœŸ/<|øÂˆYÎå°°vmÍcî‡åóùTÿ¶¢"Æ0ZNº’ÅáäóùuŸ|BÁ“ õxz«¨öaÌqïefò˜*;ð&O.‹“^º¤–ËõVÝIMm+(˜PX8M$2çr+6n€™„PéݦIwM0YYÏååM‹ÝcbŠfÏn=uj\vv„Dâºpa©ö9G#îâÜÜñ.DˆÅ. Pýû†qsÙ²áÛ¶Moo?wNzù2æÑÁ•ÍCʸmEEçýýe}*;BbqEròÅl+«|_ßòµk{îÝ£Våóù2mÕŒîÆÆqÂ:(¨ïZ¶ƒCàÎ;w!²òòšýû‹-—™ ÝBáÅ‘#{»ðìLj;ÇÙ™Z0·¶ÖkmcîÚªSºýõ‘Q½cGÕÖ­l/èÝw]æÌÁô9ˆ²Ñˆgè†;&HLsò¤½Ñgä)eØŒôÞ{yÚçÝ-=<Æ_ºdéåõ`C?ZwûñãÇüðÒrútÉÊ•. ¨ÅA—ÍPÍqkÒÒ*6l—•edø‚ˆÑñã="Q©ºjko''ó&N¤VyÅÇ—ÆÅÉ++‰RÙQ\\¬­ÉÀvpèÔ©î¡×¤1äÞOê®Fqt´¬¤D­P!†²2òÀ²ÚŒ+X¿.éÔÚŸÞÞnnk«ÛÇË–º>(‹W¶µYxx8ÏšõìñãÔ*¿ää»»wDFv××Ûû§¤Pv~RÒ•ðpUGu&¤×¤1äÞOꮆë¼y×_}U^YizäÊqpe£ù’6TôACè‚ ø/_䉅‹ p…‹ (\…‹ (\Aá"(\Aá" AP¸ AP¸Oøp; Aá--àëk0£°Xš—Ìœ %%øv ‡pÿö7øóŸu º:ˆˆ€%Kðí@á––ÂO?Áºu¦{òxðæ›½W¥‚M›ÀÕ¬­añbhoרOŸ†ÐP°°??øôS±« V­x<ˆ‹ƒ®.æ‰#Ýd±àÀðñêgó HLpt„ýûM  £cUÌ vv`e/¿ t!½A»»aùr°±wwØ»·w›Œ;ˆÒÏÛ™ÛÚÞó¯óµ?^¡ž,Þüê–æZVêPö¯ŸðàW¾lâZeý?s:¥Ú7/ÕXà÷gêùŒ§]ܧE’N¼þ‚¯¿‹õªO¯É{T±/øöº+§ù³µX’þ?À¦¹A+¦ù~”UM­ãk¿üï…<'hÅ4Ÿ³ï0‡Jlš;"íT奊{޶œØ©¾?5¢ž\ÂýnÕµRš‰›l”]²vé½=Í»þãøÞùÅW •ØtIú%ˆ3«(ÕÀ¬g]ß;SÙÜÖÝÑ¥üðl•^ÏÈ—ÎVId ±LñþOU‘!.ô*Ê.‘)>8{Ÿ‘n¥ÚÙŽã`Ãi’vïýO¾÷O.n6å¿ÿÇÛýʸäþË_­wËî9Œe‡'ï™ßkÄPsï·âGï£ÝÒÞM/;ÛYÔKä¤Ïå5ÊâhËŠ5kë%rGݳ^ÜEÛl-h»Þ¦¨æ–oJ—Mõ}ýߎ.Õg+/VÜC<‰„ñy›æoÍ(­½×9à©BõÕÓêÉÙ\'?…Ó_ËrÞ }ŽmecäĪ÷3ÐÞãé`YÛ*gìs¯Cáá`)¼'O+±LAûÒvwž•XÖCÙUjbÅfu)Ô`ÏåÐÛ)¶ýßÑ›,€ Næ½zëo=yÌqùË‹Ãß:v«¼¡ÝH7æ©BkM™zòF3&ÕÒXÎH©¯«ég4gnˆÞx)ÐÅÞÒÖŠ½zÖpý3¹’æ5³†;Úpm8k~;<çVoÍ£¿¾à`Íq°æ¬ž5<ëf3e¬É¢&ùXq̆ÙY®ÿݺó–WŸñs±f›³€æfXçûÉcÑDï?E¬?røj™/‡)»d÷Ʊª–BñLT[ívn|“W²>Ͻóç‡÷‹ÿ©¿C~ê7|qäáðWïÿQAæ¸=6~ýßÂÖÿ+‹<|îÇíl,‹Ü~ú÷4Ü$®ax‘G)\JºÁã&àžòacðtäQ ¿ô‘'wª€ ˜qä!W|òXÃgnþû+ñÈ 3Çÿ¡ùM9,Á„<‘ p.‚ p…‹ pc²Xx. AžBá¶ž9S™Ãåæ9;ß\º´‡é‡œ•R© !á‚¿6‡“çät}þü{ÙÙÊ©IŠÅLÿ0e3´Â½›–ÆOJšÖÜ<©´”ÍãÝŒŽîÛ§8*J­PŒËÉ™ÑÕ5©¼Ü=&¦zÇ|óžfú#­Æ‡þ·|•2Y¶¥e_{¶……²½ù'Ò•ÊŠää<—l.÷FT”²­’ @¿ú6)‹wªCmzúyÿl ‹‹!!âü|ááÃFŒÈâp.‡…µß¸aÚýС|>ŸêßVTÄFË©SCB²8œ|>¿î“OðxQ6CþëéºÜËÌäMšÔ×Λ<¹4.Nzé’Z®ÿôïÔÔ¶‚‚ ……ÓD"s.·bãF˜Iõ—^Ðmštד•õ\^Þ4±Ø=&¦höìÖS§ÆegGH$® –jð܈»87wü… b±Ë‚Tÿ¾aÜ\¶lø¶mÓÛÛÃÏ“^Æ'Y6)ã¶÷÷—•—÷]¥‹+’“/†„d[Yåûú–¯]Ûsïµ*ŸÏ—••QËÝynnz9ÕxÓˆ{OK ýÖkf±Ù¦Ý[[ûö× #ßǧæàÁ®ÚZÌšƒ.:㲇ôC#Îͽ;úÄ ë  ¾kÙ;wîÜ „ÈÊËköï/^´h\f&t …GŽìí:À³#îggjÁÜÚZ¯I”JÓîNN}ûë1:#£zÇŽª­[Ù<^лïºÌ™ƒése£ÏÐ /:vL˜8æäIûðp]Y,›‘#ƒÞ{/ÏÑ‘2XzxŒ¿tÉÒËëÁ†~´îöãÇùá ¤åôé’•+]P‹ƒ.›¡šãÖ¤¥UlØ0.+ËÈð¢ãÇ{D"¢RuÕÖÞNNæMœH­òŠ/‹“WV¥²£¸¸xñb:Iw–—ëælÝ&!÷~2Pw½0Š££e%%j…1”•‘–ÍÐf\ÁúõpiÔ(Ú2½½ÝÜÖV·ÿ–-u|P¯lk³ððpž5ëÙãÇ©U~ÉÉwwï.ˆŒì®¯· öOI¡ìü¤¤+á᪎êLH¯IcȽŸ Ô]/ ×yó®¿úª¼²Ò:88ôÈ”ãàÊFó%­[dÑŠõxìÇ™ãÿØOÁù"O$(\…‹ (\Aá"(\Aá" Aá" AP¸‚ÂEP¸‚Â}ºÀ‡ÛQ¸ ÷—!À¬Y`c660kÌ™†zÙÙÁÌ™PR‚oò¨…¿ù … „ `èáB€¨«ƒˆX²ßäQ ·¬ 6mpp€·Þ‚²2cy}Û¶mR©òÈ1ý;gË—/ÿüóÏ©åÜÜÜï¿ÿ>77—Çãá±Cߌ{ýúuZµ<ž-\»v¶ Èc*\‰D2mZØßþöúÏ?¿{íÚ§ûÛë±±/I$’þlúæÍ›³g϶³³³³³›={vqqñc{XXéñàÌ™3‘‘‘\.×ÙÙyéÒ¥MŒûõG¸óçOÙºõõˆˆ0??÷­[_OHxÍÁÁÁd·oߎŒŒœ7ožP( …óæÍ›9sæíÛ·ñ½AŒ–––””ÔÜÜ\ZZÊãñ¢££ v5ùèÎÏ?NH.ý**:,‘HL>b±dÉ’Ý»wëZvïÞ½téRí£,°{÷nWWWkkëåË—wiŸ«4d—ËåüãííííííW­Z%—Ëéþ‡âóù',,¬¨¨ˆ²+•Êääd.—ÕF=„i ¿îÑÀgcd2™eŸ‡l𰤣cØ÷ßÿZ¾v­úî]»þœ™eee-¹¿¦Ò’%K²²²èæ¹s犋‹«««E"Ñ–-[ŒÛSRRêëë+**AMMÍf²¹¹¹.\‹Å ,ˆÓ> ˜ššZPPPXX(‰¸\îF’}ûSÚ¥•<&dffNš4é3®D"ÉÈÈøñÇ“’’¶oßþ¯ýëĉwîÜ1ùq177W(º…BÁf³i}ThÐÞÞÞÆížžžmÙòòr/mÙhmm¥? ôöù|~™öùÌÆÆF7mICý1×>nùûû—÷©@g\c—Ãrrr`òäÉðÜsÏÑöÚÚÚ«W¯.\¸Ðˆ¯³³³H$òòò¢-"‘hذatÓ_[Ãßß¿±±Ñ¸]$h+gˆtÊ~899Q ÖÖÖJí3ÝB¡päÈ‘Œç^Œý‘ÇŠÜÜÜØØØ'N øälß¾}ÞÞÞ!!!}Wùøø¼ð »ví2òψÈÈÈ/¿üR×òå—_FFFÒÍêêjjáÎ;nnnÆínnn´½ªªÊÕÕÕøž{xxÔé”ôPS%»'cÇŽ-Y²$##ãùçŸ7Öqª]^^ÞhŠ£Œ!„”••¹¸¸|ôÑGR©T*•~üñÇ...tæ€9sæ455555½òÊ+o¾ù¦qûºuë~÷»ß‰D"‘HôÒK/%&&2~ÅÓÍwÞygöìÙ·oßV(7nÜˆŠŠ2ÞßÁÁ¡Œ±ôòpÙ¿¿¯¯oIIɃT²¡òhÎÀÆŽ[DWüºŸààବ¬ï¿ÿÞÓÓÓÓÓóÛo¿ÍÌÌÔÍüS¦L õóósvvÞ¾}»qû;ï¼ãææèééùöÛo,99yÊ”)‘‘‘ÖÖÖ111 ,0Þ?)))<<¯æ>rÖ¯__SS3jÔ(––ŽŽæKï} ‚|ûí·Ô¼¶?ää仨fø‚?ã)¼!;‚P+beeÕÿ q¹\<šÈÇáªÂ7º»»ûéóæÍùóçãqD½p“““ûïorúȈ¡ùÎ~‚7’#(\Aá" Aá" AP¸ AP¸‚ÂE_p³ð¾D.‚<Âm=s¦022‡ËÍsv¾¹tiSe¥T*HH¸àïŸÍáä99]Ÿ?ÿ^vö€rêc’b1Ó?LÙ ­p殮ñ“’¦57O*-eóx7™n6/ŽŠR+ãrrftuM*/w‰©Þ±ß¼§™þÈF«ñ¡ù-_]”2Y6Óϧg[X(ÛÛ™"]©¬HNÎsqÉæroDE)ÛÚ!™ô«o“²q§:Ô¦§Ÿ÷÷϶°¸"ÎÏ>|aĈ,çrXXû¦ÝÊçó©þmEEŒa´œ:u1$$‹ÃÉçóë>ùŸ$DÙ ù¯§ër/3“ÇTÙ7yri\œôÒ%µ\®·êNjj[AÁ„ÂÂi"‘9—[±q#Ì$„úK/è6Mºk‚ÉÊz./ošXìS4{vë©Sã²³#$×… KµõDŒ¸‹ssÇ_¸!»,X@õïÆÍeˆoÛ6½½=üÜ9éå˘GW6)ã¶÷÷—õ©ì@QˆÅÉÉCB²­¬ò}}Ë×®í¹wZ•ÏçË´Ýv76æi+zdÞÿ˜®¡¦÷ž–ú­×ÌÒÖ1æ®­'¢Û_/Œ|Ÿšƒ»jk1kºlúUä—#Îͽ;úÄ k¦Êl‡À;wîBdåå5û÷/Z4.3º…‹:=`€g?FÜ9ÎÎÔ‚¹µµ^“hëƒs×ÖÑí¯Ç茌ê;ª¶neóxAï¾ë2g¦ÏA”F¾4.N^YI”ÊŽâââÅ‹é$ÝY^®›³u›4†ÜûÉ@ÝõÂ(ŽŽ–•”¨ „`•§Á–ÍÐf\ÁúõpiÔ(Ú2½½ÝÜÖV·ÿ–-u|P¯lk³ððpž5ëÙãÇ©U~ÉÉwwï.ˆŒì®¯· öOI¡ìü¤¤+á᪎êLH¯IcȽŸ Ô]/ ×yó®¿úª¼²Ò:88ôÈ”ãàÊFó%Ý· ‚<¶+‚ ?(\…‹ (\Aá"(\Aá" Aá" AP¸‚ÂEP¸‚Â}ºÀ‡ÛQ¸ ÷gÝ—ñ>vv0s&””àÛ<—Þ—ñ>uuK–àÛ>`f P@b"¸¸€£#ìßo"]«ª`î\°³++xùe  é ÚÝ Ë—ƒ ¸»ÃÞ½½ÛdÜAäa ×Ù,, 8vî•ÊXO©öì°0M35  °D"àr.DZllÛíípîÐu6RR ¾**@ €šؼÙt`W®@a!¨Õ[·Â­[PTÕÕPWg"]çÌ„hj‘‚ƒ!1‘yÐÍ›¡¹ª«áúuÈÉéíøƒ3CZD©$ׯ“éÓIBÃZ€Þ—‡©®ÖØù|¢-ÇA‰¶ññ!½:žžD Ð,——/¯ÞëE/…½vooÒ·V‰¡tatÔE&#..̃zy‘ŠŠÞ˜éØwa,ò0j‡54fáBÔjrû6™6|û­ÆÎfß§iKc¿z•Ì™CœI@ùáÑÜœ(•ÚÒ8 ¢-.cL¸º˜›…B?0C˜t¼pL™Bllôûª3½–q‘GV;ÌÌLóièÚÂðápäüå/šÙ¤‡ÔÕõžØÑ¾ãÇÃ?@s3<Ú2_àæÕÕ½SLWWÍ2› Úo•Vƒ£{x@Uƒ‘1“Ž‹ÁêÕ ‚Z R©Á³Rw÷Þ˜éC;ˆ<Ô9nt4ܼ J%TVÂòåðÚk&ú{{Ô)ðÕWññ•• TBq1Ðå8¢£¡¤ è:QQšieS¬]ÛÛyÌØ·:;A(„øxƒãÆÆÂš5PW ¬[§1 À¤£\VV`eÕÕÆ” ‰‰ÐÜ MMpŸ½ï"uŽ{ü8=š°ÙÄË‹¬[G:; Nh~ú‰ŒG!*IM%|>ápHh(9zTÓáë¯Ip0a³IH9sFcìì$+V;;bgGV¬è¨°ŒKØlÂç“ôtƒS…ž²v-qr"ŽŽ$-Mc4€IÇï¾#ÄÜœøú’÷ß78¨\N–-#\.qu%{öô®eÜA„qª€A' ,‚àAP¸‚ÂEP¸‚ÂE.‚ÂE.‚ p…‹<ù àWw! …¢¾¡Ãጠ43CÝ#¥p«ªª._¹Ú!ëhjmáp,ZÅK+K•ÌÌ zÁ‚ŸõAÇH¸g³²ÆÕ¥;±¤ ¥Ò׼ɯ¼P®âŸp|ãÔéÓO¢pY,1òØ1ò+˜ãªT*Rû¼Ùõ@Ög8u6f=”ÝÒÒR©RÍÎV(\…ø¢põihh¦ªïk·`›w´µ546J¥ÒþHª¸¸ØÓÓs?ý÷àAçN# Dq³îÕ3èœ9s&22’Ëå:;;/]º´‰~À@Â-@Ü×. þ©Teä92.]ºôâ‹/îÛ·oýú_Ã]ê÷?Á 2iiiIIIÍÍÍ¥¥¥</::úA„[u玟•¤¯]fáÚÖÖ¦V©L^UÈÌÌ|õÕW9CO?6mÚäêêjmm½xñâvm± ‹uàÀj›,ëСC–––¡¡¡çÏŸÿüóσ‚‚,,,ÆŽ[\\¬›Mé¿}³ ãª>úÈÏÏÚÔµk׌ÖŸ4¬yWWתU«x<Ç‹‹‹ëÒV(‘Ëå±±±666îîî{öìÁ„Í|NuöìË/¿lkkëêêºwïÞ .<ˆp[%’[ÃWëþÿ²O\)J?köÛï{"¾nûM­åH©TêãííäädÄ=##cåÊ•?þøãÌ™3icjjjAAAaa¡H$âr¹uŠm\¹r¥°°P­MäYYYyyyb±8&&föìÙ§NÊÎΖH$ .Œ»ÿAD*ù1fAÆU¹¹¹.\‹Å , 7e$0“èFž’’R___QQ!jjj6k+”lÞ¼Y*•Þ¹s§¸¸øüùó¨Q“dffNš4ɰ: <,©V«;–ºkW† û?:ôÖÎÔ”ÔÔ­{÷¾ýî»{ÒÓ'NŸþá¡CFj6›‘‘ѧÖ¿L[l£±±ÑM[l„:53 ¥¥E[YC¦×dk«'èŠÒH$zÍÖÖÖ¾›2˜‘¹cäžžžm…’òòr/m…//¯ÊÊJj¹¢¢ÂHÀ!¤¨¨Èßß¿¼OÍúaIƒ—Ãêêêꛚ̹\?µJÍ1g …uÂ:¡D,î’Ëjk¿ý6cIt4Ç3´…?þxÕªUÆ {á…h£P(9r$㙓§§§®»³³3µ`mm­×Tþ²g·é/ ÝM ŒñtPÝÈE"Q@@µ ‰¨åÆÆF>ŸO-ûùùaB5Bnnnllì‰'‚‚‚|W¥R™™™[[Y±ÌXÏŒ|F©RÞ“÷ôôtttü÷òG'§‚«W_[±bŰaÃæÏŸÿùçŸÏ;—2zxx\ºtÉËËëq;Xƒ˜››[uuu`` TUU¹j+”¸¹¹Ý½{—Òô;wP†8vìXbbâÉ“'ÃÃÃ|9¬§§çúnînÏù ÛÜ\©TõôôTWV:ùCcC=!„cnnnnn<ˆ¹sçžÁgÍQ6ôãécŽ{/3“ÇTÙ7yri\œôÒ%µ\®·êNjj[AÁ„ÂÂi"‘9—[±q#Ì$„úK/è6Mºk‚ÉÊz./ošXìS4{vë©Sã²³#$×… KµÅAŒ¸‹ssÇ_¸!»,X@õïÆÍeˆoÛ6½½=üÜ9éå˘GW6)ã¶÷÷—õ©ì@QˆÅÉÉCB²­¬ò}}Ë×®í¹wZ•ÏçË´å9ºó´å92ﯣa¨iĽG[XD)“é5³´ÅAŒ¹k‹‰èö× #ßǧæàÁ®ÚZÌšƒ.ÓAqnî­ØØÑ'NX3Uv`;8îܸs'"+/¯Ù¿¿xÑ¢q™™Ð-^Ô)Ï<û1âÎÑ1·¶ÖkmqcîÚb"ºýõ‘Q½cGÕÖ­l/èÝw]æÌÁô9ˆ²Ñˆgè†;&HLsò¤½©gäŲ92è½÷ò´Ï»[zxŒ¿tÉòAËsíMSS ~QZ⃨õ£HƒV¥Ø˜¢´Ø—‚ø*¾}EKõ%*ˆõÅ ” AˆÁÖ`©©¶¡×&·7¤¹IÚû13gÎ9{/öž{&>”¦¤óïÙg­õÿ¯ÿ¯#JÃõ~ÖW^ÐÎÚo!@¹pˆ¹Åýr½Ïë \.=¡Eù;Ó€¹‡qö ÜáïâNÌÈ <úïo´üq¯B]Ö`1`¶£þ.ÆÝ‡èÞqXnHàÍsGµ;øFžƒ° ª@D@=H¬;KŸ`4÷(ý½È{ ¼¾rJ»OãôÀÂ5 „¤h . 4ñë€Ý4î~Fsßfî¶OÊ»<~ígš7Oƒ¹ÕfäÒ9P!V@b@5 >mÖô övªî·(>ü#yÇÀÃóÏhçê0ÿDØH%¥‡ PDJi€6…ˆ>Æy¢@Ó½Á¡råMß§wû!¹&ðàü1í„g1r Fÿ‰›d*{i)‘SõqY‰ÿ_Û„§ŽÎóů󑽊)"2b2È2h,A?Ϩû=ú{ˆ«—~¢=ý#È”«±È&Á™3¨5 €M_“®Sc‹rèxî•>ºsã@Á¯+v~ ÅM˜l‰™ÕǨþý°kNAó<ŒVA]¬¬\*Ç }çŒÞp°iÑÚ!j¶‚j ýì\³|i†s ¢ ~"ßl€« _Åm¾„!4 6Vh4•*À”¨n‚«èín ðàB"÷uäÓÎyrcùÇË9ª‚d³˜™m cWÀypÍÀDMH“Hk? HžPÈ.^Ÿx¹ÃÉ3µÄµ™Y˜s+Wz”µ¢l°zi•£ñ¼¶ÜŸEu˜·p„Q ˜eP¦¿Ò@±9F©z3Õl#Ãé¿Ã¥p+§^rïG¯0›7ldk×nåøŸGœ=kÉ3Ǿ=o¸ ˆ ˆ?s¯J~"Â:´Ú…¼Ž8Ò µd5 TUàø žiž…mv-\eé‚03YÖáêå ± ßüê%ö,fà»0ؽ‡n‹"m¢+A Å8òŽG?m5+Šˆ’ ÜOI=†½*œ]·|v͉ ëo+»nðà—ÖY¼Y£ÈM?"©9“·ZÝr¤èêãº6I³:uO#`<ð©’»ï|“ã§züít_Ã#^a÷ö@¯hr3°öm¨µ‰;iuš¼WJA†©mì¿,!X÷æ1—=;”ƒ\^ñ™ýëìÛèæÄ®s&:Pg*óÄUm«“:y²–[¤ñ¨Mz Ñ4DB>õšƒeËìϾ>ä–…€`À ørä bâ&‡õ`%™z€R··Ö¨ÿg£:1…6°c! EL°z+Ï%ËSñ*`P18ì0uiHÕZDBòëÔPIæ*ÑF'ÜKkød]ms² >PÌNš±í!% *8œ! „x‰î/N äÐ8šË:ä;c¶hiñm Ò`@H²´­ä%Ñ„™Ð4ÀQ®‚×èN Œ,f ¦B¤"›K ¡  øØpZ'7 ñš¢@šU«¯Sr$U4Caãbö±Ý|›™kO"4ÁæÀ$èÌ„ë`7©ÆãöjH Á%7oòSg®Od=9Ç+^0Ôc˜Ý®ÐWL2éòÚz¼Ä¥° ǸŽÕL†7¦L´޼U•X:;…hD%KhÀ¦ÁO¦Na=ÍhXKðS‡€mP—¸IC4 Uj$à1¢Xâœ%#A7ñ4ß’Ýä<Æ‚ÌÄN,(»iìÇâè³±üWí\~'ÏB1Œõ³•ÒŽ`…0ít&%fR#MÓ¡ÂçŸf4ÿCfoû‚\3ì –ÿ¤á/ú$¢ÍÖìµ¥EòDLRµæ@Œ‰‡ŠÕˆT6OÙ”Þ¾ÇåÇÛÑëG´þÑ×Ñà·ìR4™É„ó Иˆmmi·Í€©âšÛ͸û0ù}?ÆœËä] ôao­õñÇÈG¿6Z61x”_õjqicªÛiú‡ubþwË{z…Y_9©ÝáOqþ„ªUÀôl¨"óxs€ræú‹Ÿ“òÒ6xãí Ÿ@Æ/"ÎGLäé¡ùW(»é-~YÞ—×ÔÑù_k1|q£N”î Ý~GÞ×÷ã­÷«¥#*6žúÇw^÷‹ùÿï|G²b·Å IEND®B`‚pioneers-15.5/client/help/C/images/connect-dialog.png0000644000175000017500000003001710654174432017451 00000000000000‰PNG  IHDRmÇ]“•I pHYsÄÄ•+tIME×8 9F ¼ IDATxÚíw\÷ÿÇ?—„$öHØ„¥¢ˆ8ζ~k *⪠qÏŠÛ:kÕŠÖÖUm]­³ŽŸ­{" ‚ 2Ã&„=Iî~œž1$!˜¨ïçãyÜ}îýY¯ûÜû>ŸÏ]î0ô.Nîí€Z2Så712þç; êùs^yo‚QN„ô ©¹% êq³3'½ éJ0ʉ¼Ì:ÐBÇ)×~ÕÐÒé«Pj=?ùIöÅM™)‰ *H†ãªbÊ$5¯®Âj+éCõ Í@thNäÜØ7`Ê* ¯\?`ʪ$P>#;# iùª¢U?ºhwy7¿$C(ÇÐ,sà }¿Qê@3 ÿö6Cæjn_^Y“ûÀ€)«H§QœŸ}qC}gß=Õ75F ÈMûªRÛS›b#ÎȾ;‰a48Ð<ÉpM-qœ´—w õ©ðr“õ‚`1»/ŸÎ±0½ÿãIv>O”•S'Åè Pš8®±‘á!NÈ; FC©!×ÿùý¯Ÿ/ºþŸ6òÖê]¤=†á ~ƒ˜sôféÐÑш­G¯–È„¯fýùœÜõï¢N¡¯·?y¿”µŒõ{¡¿BÚ „Fï{AíR!}… ÇñúýâÍÈE)E)™µ5bvkçìó×ßÚ«,üŸSgãÅ[~¿{ý_W'ÛiLjní³ì;ƒ2È;¿ÚfØÚ÷N_Ëè ´'ñWH›‘¿&!„N…¶U0 }… 'äF~DŠã¡Šçi?ŒÿŽÎ1À¹4„dŽã2Lµj@G#„PìÃ[4›öYLó‡n!„jsïî˜@Äß»„°5†Ü èÌ íï@¨´¦.2­lß­œšW2„ÐÕïº „öÜÈÕÕÚÒˆI=>¨]U©)@&¾íŠ`L7kkVN©x÷µ¬§Ù•! ¡€.¼!¹\cfiuÝ…ØÂ¿£ „OkokÊšùGRª°¦Ÿ‡ù²Á.?\J¿õ¼Äg°gBÛ¼RÉ·”ix'îk C½ÜRñßQß}ã¬yõwþ—ÔÍÚÒ™]">t7§áWž–&ŒÌ¢ÚðkYIyUj hØ øåÙÙ™žò„ |;B!Ò­È; µO‰(µýó¼ý]s­¤ÑE¥H‹!ôÈœö×°ºG©SJòž@CTÖJBgïY:"à}¼ûzÄ̯¶D“Ê{õìÕkpÁ…ïI{&»öX×/~Þ½÷/«©‘았:`ܪÄ1«wìÕ{ˆÒè ¨JM2)W<åÛ'Ã6†;YèÏëc&)Ê "Ї7½ŸÃÓçé½ü§>svJoûÁüZÇ£ÓËBüòuey~­ÌB>Fùµ9ñžö†¡Û7¯ÝØU?£¡­f~ᘜ‘; hÖ„ÉÓ}-Êɬ5¬¾8iüºc‹×íp¶Ò_?ÂÝUü.|Ñšm®\ƒ…ýÌ^g«)04EUPÝ Šá»ãßqý»ãå÷Ê÷G¨èJî¹H«Km’Αíñw,õme<µã›Ö¹V“¶÷ ÚÿÍ$j<ñJÇO˜3^.—çƒ/WÃæËéÉ陦&F»{,Úöø,Ÿ!=Ú2­\åmŒ½{ ®Í|Œ:™Ÿ–!Ðsï{3›òëàZñø4¿îD„ïÿ³Lð”ãñ¥±×¥ÑPŸš{-M‰Š)3EÙY[•?>ƒK*‡vä"„öìúéýOB B(À¯UeÒ5Òtîà)Í|äãl\ZQåçÛE–óØÓ†…zõ˜Æ6‘ä&*öºX#„~Ø´±¼V&µñÙsém{Õ¤ú»-M{WeInîøáûÊ¢ÜØ „ƒ ·,æ/\R­ªÀú$ Œkù¥Á] wx•ŒkÚgîÅ/FH¯J‚×Ô!®!í Û¼VæãDêÜe!N5[J—I ꄎ7ÊRãý¿v>åÕù¥_q;©š[(vŒõè×ÞÞÊ©•!¿³G×~¡Èè8$“JËóª%2„½­5¥!†BecWŸï–¯¦N„Kßñ4:Aõ£+ &5¥#ä7-Bî± ‰ÉG-dÓy°uWÿcfط׸ý`$«{”Q‰jׯíâ•«tC‹«1m[»!„î=|D74Gt:Æä(dtúQBh~è$C=dbh0£ÿ;ýM«½;Á/¿©¶ÀÐÕÌÈpœ\ÈÍ[£ÉÍ[£ Þ̳¾]å³due¹"aŽ_§ÖY‰‘òFG2®µ²³«Bâ3y÷À‹7HŸÒÃÜr ƒA«¨‘^‰Jùá‡t#K—ýq?gœ¯åÿýu!Ôÿ‡H„ÐÆRgô0>´ëQiÕñ™ò§G}êGW Q©©âLtAEÖ³}8ˆpܰU_=žc©¤½Š+Åi$/q©ÄŽÍùƒ[Y9CÇÎ0ö¤gë©yõ߯ÀЕ\êbO·27+O¨±Ë‘ÕÄžv8+¯@ˆ’–d½ýü~†{ș׆°"ÚóèLVV+½$´O°ÖÉ„)ü^`þ„± !D+f;VÙ»©šÿH8_µe—GB cÑx.ÓçweZº :1BD]Þ3†µ‡žM[#c+$©!¢Ñ;¢:1y€Lºâ ùƒU?ºBÖjRS°TH\~Ó3`»tcrÝ ©2D`S30%p͘gâDHª†!–!†a&ƒˆWˆ@ˆÉQÚ0Öõ9zÓ(%½¥!}ñh?„Ðþ?ÿ¦±8C.Ó¼úïW`h öGÃe¯çGäô|ݹûè©b¿¥¦œ/¼l‡çD¦ñÞ>‘RU”šVΤY:[„°ah}<¬Æt6uçÛI¤xrnÙÑ¿Î^û¿ úÞzV.ts>èóI'\`¶þJCãW/¯9˜‘ŸŸûÚUd_ÜôÚ܉„¿i‰º¼xqVœ¬¶£3èfL >ÃÈŠfÄE,#ç“`mëШ÷äe¿¼ª)×À…aÝÎÐZñuâBá'"?G ÿ–³•Ó7“-ðZVhÁ®$Y+€õêá[cßšà=1(Id „b.,)Ì9h,Â\ÁôÙ‹á݈h øÀ~ð#€Ðø¶H$b¡EÁb±Að#ºoUé©ÉÜæçÍ:nÉãuïÙÇÅ­¨~D÷ädeÞ¾quÀ ¾ ¾1ØL‘ɤقô«—Ï2™,{Gx ø]qïæ7ÃG·mߤhÞ˜™[š˜š]ùç䨱“@ `žU[DÂ;С%`ïä,€àGtAà0œi!Ðé ‚€ÏZøæ€ÑÀÃáVD,Öô.›ÝîþhëG,xÅÂìݣðF·E SÿÑŸ €&~¸1m_ø–ÍBæ,þðúœàp+5[󣺗® }ÆÓ4¯Ü4ÍKO.Îîm'O›QT\ü‘ jÁs4Ná*mÁûôœ üH‹×ht¸5ì¶(5óhßI"‘(–—WôêûUYYyÓìþ7bl_,Ì.fG?¼Ëb2.^úñËjfjzðБf0®šÿ¸F ³n¾]ø[!ð÷#vîÔÑÔÔ¤‰ÊÒØ–––›6®½uû®B¸ 3kìøÉŽ.ml\G_TT„B(¿ À·g_2Á6ž‹ŠÞÎÚZ[7ð¾å˖ܺ}'2*Z“ÜBæffÔɦ°)•¾îר)]SņekkK­çç绸¸¨Š+ ©½...BáÛo¬:;;S+ ?|ð7++ÅO@Ož6cê”I‰OcŠ ²©Ï©+_ÿï+¦žÞú›£cOœ8Ž äq¹Ïâ¢É‹…ÙêM1õôöîþyÁ¢%ò³ªr×mÊ£þecc“žž®2_/##ƒ\OOOçr¹Ô.*\ ðx¯1ƒÁ¨©©y}8än™ùøø\¸pA$…‡‡‡„„ÀÙþ¹÷GÈ.É®Ý{B»ù­~gDU£åp8NNŽçÿ¹Èf³|õ…T*½òïU>ßÉÀÀ@Ëv®ûù¥ˆkÅl‹Åfefe/X´D^÷… æ†ïùuÑÂyL==2pÒ·ã,ËdJ¥Ò¤ç/¦†ÌlT^­[¹Oš8>lùês×mÊ£~ÀßÂÂbݺ×ÓÆû÷ï?þ¼‰‰IÏž=û÷ïO6, €Ãá„……=zÎöØѰ£ik†aØÜ93çÌ_<{Vh£mÿ~}D¢"ÿ¡¡ÿ¡……"rrD'çÊÒöêá{÷AäýÖØ “ü‡ðÖ,Öñß÷L 361…s¬%°ûÇeÁ“f5hÆ60Úº>¬A³ïVý(®©ü¬!¿ƒõaŸ‹Çqüèñ“ÿaCZøÄТ7†aKVoi9²|X?beãäè`pÿ^ZóýS,ü¿¦ek4;ܵÕ-J–ëGZÂ_á¹ø–ÕíT@Kè .“-\&£3à/òàG>æÜâ"x×^‹ ° ÇÜ‚ :€Ñ=žÞ>Ñ÷®æf¥A¯¤y÷Dr³Òî^=ïéíjÔ:iÚbɵñêìûèÞ¿e%òÿÑšÕõ–F365÷ìècɵ5Àè}ޱ³»§³»'HÑBhi÷bÀ@«€Ò_ ?øÀ~üàG?@‹F£çÐÒ^ÄRÐqmã­3?âÓ{0 - ߸ÊÐaZ´L`~ð#€üàGÀ~ð#´làý¬Ú"‘ˆA ¹Âb±Á|$¡ÓS“>¸#ÌÏ5€fF·äñº÷ìãâÖ ú#‰œ¬ÌÛ7®àÀw¡ÓAOà³G&“f Ò¯^>Ëd²ìÀ| "îÝüføè¶í;‚@³ÁÌÜÒÄÔìÊ?'G¤‰=̳j‹HX`cç:Í {'g‘PÓWƒÑ‚Àa84?ètAhúYð#Ú‚Ñ@C ¥·m8´…†aͪé4T¬yÕÐIÛ?òÁO¼rúiÉÇTS?bÁsèÑ«?AróDw¿~<‡#6¶ô•ËW~ß±Kwž³kkÏq§Ü½w¿ ÷ý4ÒZ^ºfÉ'© 8¯¦Ð¶×Ñ7ÐÿïÚujóÊ¿W 8¢ôSBfH¥uçÏþ—•q'0`ø¶Ÿ~†q 4‡qÍÜY3v…ï¥6ÿeÞì™Ô¦L&[¿qsë¶ÞvNîSCfVUUQ žÕ+df?ÙÑ¥­ƒë¨1㋊Šêgtÿ~ÄšUËètº¥…ÅðaC.œ;¥&2‹½¿íoß±«Ï¡•G‡²²r*µÒ²²Öí:–••7×ÒÚñ½|6Má ¹eËÇáp&Ož,‘H®œb±xÚ´i&&&&&&!!!b±˜2øõ×_ù|>“ÉìØ±c\\UåeË–q¹\ƒ   ÊÊJõá†íرÃÁÁF£!„®\¹âééÉd2ù|þê—_"‘Lš4‰ÃáX[[oݺUþ€*M!¤¾‚éééC‡522b³Ù,,,T_Aõ4ÌÃ0è•|°þȘg2øQQÑ£è„Ѓˆ‡%¥¥ƒ ¤öîøywÜÓø[ׯ¼LŒeë³×®ß„*f“¿ä B(xÜ·¡Ó§$'ŽHŒssu]¹z]ýŒºvõY°(,:æ1uŽ©Ï…äñãØ[ׯ ³‡täÏcTø‘?Ž 755i0nQA–N|öÝ»w222„BáêÕ«ö®\¹2///%%%999++kÕªUÔ®Û·o?xð ´´Ôßß?$$„ Ü´iÓãÇŸùýMçGUÿ}Ï„Ð0ùù±̓Ý?. ž4K÷ó#€’ .†@KoÛàG>Þ\4×¶ ~DkŸý®Ö0¨škÛ?ò¡3¸L:Í \&£34}Aøm1·à€@3£° ÇÜ‚ ~ä#áéí}ïjnVôJ€fÓÉÍJ»{õ¼§·†QàÅ¢ÚbɵñêìûèÞ¿e%ðœ%Ð  ÑhƦæž},¹6àG>úcgwOgwOh~ÔVW€iBB@süàG? ¸_C½Ð , D¡>;åµõ#ù9YÑ‘÷ …ù ¯6Ðit +®O·^|Ww„úì”×ÊäædÝ¿s}£K+:!ø³ü{"Ãe)Iqÿ^<£ÇbÙÙ;‚È Ôg¤¼¶~$*âÎÁN.­ ÇeRÐZÜ=¼$ITÄ€QãAdê3R^šÎ³–Ø9¹â¸ Çqø®‡öØ8ðK @dí…><€ øÕí¯*åU¡éûY÷íÞòÝêí2Y¸jPYQ¾?ü‡ÙK@dm„ò>¡~"#³;æ»´²âنΘMý{‚J¤þ¦Rûú–uuuK—­pä»ÙÚówíÚ]?ëÚZñ´é3¬x¶Î®­wìü™Š˜!Œ5†gmoni=< P$Q)ï?p¨§·™¯K×î#;ÞÁ» Y»ÄÄ$ÒL&“­^³ÖÉÙÝ’k3ñÛ)UUU JZ?dã¦Í ÌŸ6u²¹¹9‹ÅòéÒåØÑ#T1ÂwÿÒªM;Ccs5Ù)­YGŽ‘UÙKÛ4…:ýæÊùÑZ£¼æ#³ÒÒRG¾[YÙÛŽIii)ߥUYYÙç«<¥*Mãïû6r~„ Þ.o6×®[ŸŸŸŸ“½ný„н{÷n\ý77;cèàA³çÌ{'76÷ïGDGÞOJˆ+,,\¿a“b"õÒlÀþÍÊÆM›“’ž?¼çù³¸ÜܼúY¯[¿¡¢¼âù³§Ñ‘÷#""©ˆ#ƒfÏ ¤§Ò^¶rs[º‚JùÖ­Ûÿ]¹”›1zd ÀÈÿþ»zùâù¼AÀðaTí¶nÝqï¶ -™Íf¯\µF!_•Ã~9›Û·ïø+‘‹ B111÷nW•«ÉNi-ª+JBÕ%Õ%–¶i 82è#·FyÍBf¦¦þÇ:t˜Š{èÐáÑ#MML>_å)U1a׫‡/AÅÂlõKøæ¥¯$µdý_«ðFë§±ÑäzÜ“h[[„PNf¹.æ2 ùt(›ø¸rýil´­B"õÓToO­ØÙÙÆ=‰®Ÿ#µØÚÚ<‹B®ÇÇÅ(äHÛÒÒ’J9[J…+lRµstpˆ{üˆ\ÏH}ÉåZÉ'X#ß¼´A‘ FyI¡Òb#„R_&Q›ê³SZ ù]šDoÊB}´Ö(¯9™flL”ƒ½=y˜ÊK _$Å7Wåë/IOîõêá«ñó#ä6…{r!„ E|>Ÿ\çó EÄ»!S33r]___*•*½SçääD¼Y ë'¢°Ù =¹RP äóÔÜ HGGG*bTÔ£•«¿_]SózLþ&Š™¹9U…MªvyùùÞ»¾3¤·õ?Â\_dss3QQ±µ5OiÉ­m¬)cUÙ©©…|FêKÛd…9jÌ©¿O|ÌÖ(¯9™¦{+w6çÿ¹8b„ÿ¹ó|}»ÚÛÛŸ³ò¤ªÄ‡øN8†aõû~ä —k•)È$×++KUC å›o©D²2³¸\+rÁ`ÔÔÔë%ÅÅòi*µ¯Ÿ©5'È(¼)VV•qüÄI¡!SS^&V–åçUåW±iÍã%?VU^L.•eEu×ßµéۧϹsçUkä7Ue§a-,mÓêÔ_Ç?fkTwÖÌÐ_öþŠâ—½¿Î›;ësWžRõCÜ÷Ui9"ÀÉÒå"Q‘HTô]زÀïw·iéò•EEEEEEaËVŒH¶÷l÷ó®Ý5µµyyùsç/jо>cƒƒ}–›—W^^¶lE}ƒÀËW¬*.....^º|¥üä‹Åf±X‚ÌÌÙs4¶:S¦Lš3oAFF†T*MLLš8ijƒ’ÖY±,lûއ)--•H$1ŸŒÿm£²SU “””TÍKÛ4…9:øc¶FU|Ñ¿_Eeåoûp8œ^^Ÿ»ò”ªš?Ϫq„†ïÞ¯¢n_­^µÂÊʪ½wçöÞ­­­W­\®`€TDTìÞÍ×§[϶žÞæff+–-%ÃÃwí¼té²­=ÿËûôî%Ÿ¦Rûú™. û®u«VÝzônçÕÉÞÞ®~Ö+W,ãp8mÚzuñíáÓ¥³žžþË._Áµqøfаn¾]5¬µ¹pþÜîÝ| ñ·²¶Ÿ4%dÈàoòUú˜¦‚È..Ηþ9wíÚ Ïmìù‹/ á¯4_UÙ©ªÅ¼9³üúô74±Ð°´MS¨¿Oû˜­QMÜY3¦¶lÞÜÙTÈç«<¥ªæÏ³júß3Ç÷Oœ±ô•¸†Ü¬®®vq÷æeéêÑ#SËʲ¢OþNrrJÀÈ gOèŒ*+*.9<"xš‘›2MD¨‘AÁ§No®­ñS)OªªTy%Ó‹¹‚鳿çó¬Gþ<êÝÁ 5–.[YVV&._¹jÈ ošÔó¬ ”¡N<ÞüZã'WžTµQ ²1ÿÓ#Þþ¥ýðá?öíÝ£Û¿lÂ?€;:Ø{wî*K¾øõŠeK>BIWþ÷3¢I¿7 © 5j̸¿Omf­ñ“+OªªTy­ýF#ÇeäæÃû·BÔ¦ö”åë0µÆ2=dÊô)ÔæG( ŽË°z“X "7AššP'ÁqY3kŸ\yRU¥ÊkëGhFDSn⟎+í®ƒÈj̸oO= *éRU¥Ê«ôÚÑét—á2Xt³H¥ut:DÖR¨cGˆËdð«ÃßcGªR^åxEÃû5o_iÝÎÛÄ̼µNÈÏÉ̤tï;D¡>#åëÓ¸÷³¶öì”ð8¢­wWS +:|ÍS d/+¥½Lhß¹ˆ B}^Êk;?bnÉóèÐ5õyBey)/ÕF321óèÐÕÜ’"ƒPŸ—òÚú„“«‡“«¨¬+j«+@dê³S^[?¢y¢ÀG8r ˆÐ„º0 àG?øÀ€üŸ5ÊŸI{Ò €kïFøŸÞƒA2Põ‡^F£¬êó#€üàGhé0@ЉDÒÒªÌb±À€.ÉËÉŠŽ¼W(Ìoö5¥ÓèV\Ÿn½œ]ÝÁ€ÎÈÍÉzpûÚ €1Ž.­èt†°f\Y.KIŠû÷Âi&‹egï~tCTÄí!c\ZŽË¤Í¾¾î^‰$*âvÀ¨ àG@7Ø9¹â¸Œ ˆRe~ñÅ¿a\:'F—ÉêZN•t:®±Ï? CÃ0„šô'ÜuN£¾Ë ~Ã0‚ ˆ–ô­‚À1ð# K?BÃB-gr„¬,YkúkÐD@“þˆæÆ†¦†¦JÛZ½Ô ú# K4Ÿ)004½?gqJlœ¡iMU™|øå/‡*6›ZC4ë„F BåÏ“¹lrl@.†¦7‚'S¥ËË—Éc‚ÇÛ98›šsýz÷;w9j³¨."Ñ?ù!M–êÊÒA×/ „~÷ûÒÀÈŒ@ÈÀÈìFðdqaQ„0©ˆ•’–öõ7ƒûõëS—õÓö-§NŸÕ0Gm¤v/øЩ¡5úAx²KÂyãDž—•lLˆ©®,Uj¼qÓæ… æO›:ÙÜÜœÅbùtérìèrW†@0rÔžµ½¹¥õð€@‘HD†sŒÌüÝ£—©9·{ÏÞññ dx]]ÝÒe+ùn¶öü]»v“2™lõšµNÎî–\›‰ßN©ªªÒm­Á€Æ3š ª+JÈ.Éå/‡^þr¨¸°¨P\³8æ~uE‰ª(·oß ðWº+pdÐ왡‚ôAÚËVnîaKWPC’{÷îݸúonvÆÐÁƒfÏ™G†oÜ´9)éùÃûwž?‹ËÍÍ#·nÝqï¶ -™Íf¯\µFƒq Ï€®çG´`ÒýëÕ%j JJJ---”îzüè!¹¢¯ÏþþûUí:P»vþ´ÍÌÌ !4oÞœÍ[¶‘ÇOœ¼|ñ;;[„Л7’Gþ8záü2pýÚ5¾=üvþ´M‡µ?šøz3¡Ð †ÆæäX†ÜtýBUE‰ú¸ææf¢¢bkk^ý]QQV®þ>þi|uM 5SCbjfF¼v1úR©”\/(òùN Ùååç{wîª0݃ÞÌ(…xSk×ÀÇî(8 éۧϹóç•î?qRhÈ´”ä¤ÊòâüÜÌŸ…³¶æ ™õ“_$VU”Key±nk ~4›Ñ`f„r"ÏËJ]¿@Î’lëâghl®>âŠeaÛÚyè÷Ã¥%%±8&æñØqÉ]µµb‹Åb2Áì9óßÎh(Lm¼Ù;&hÑâ%¹¹¹åeeaK—“S&Oš3w~Fzº´®.ñYâÄo§èv~ühpeÖàÎ…¡‰Åý9‹I'²8æ~Uy1B¨P\ãajÞ`\WW—ËÎ_¿~óCg{þ¢ÅKF»~Ù½kÙò•\‡o ëÞÍ·Á¤–-]Òºu«n=z·óêä`oO.Z0¯{÷nƒ†ø[YÛOš2tÈ ]Õúµe¯¾wD‡¯@ §íûvæ²W’Z56F&—¿J:jà@Šk&Ý¿®áh¢‰PYQqñÔ¡À±!êÍ„¹‚é³Ã<+h ]> Pioneers player's guide DaveColeAndyHeroffRolandClobusDocumentation in progress2000Andy Heroff2004-2013Roland Clobus &legal; For players Introduction Obtaining newer versions New versions of Pioneers are regularly made available. See the homepage for latest version. Reporting Bugs If you encounter a bug, report it with the bug tracker on SourceForge. ( http://sourceforge.net/p/pio/bugs/ ). Please check first if you have the latest version. Authors and History Pioneers is a GNOME game based upon the board game Settlers of Catan created by Mayfair Games. Pioneers was originally authored by Dave Cole in the spring and summer of 1999, under the name Gnocatan. Dave wanted to be able to play the game without having to travel, so he developed a computer implementation of the game. The Pioneers project stalled in the late summer of 1999 and saw little development until the early spring of 2000 when the project was taken over by Andy Heroff and moved to SourceForge. Andy recruited several developers (including Dave) and they improved upon the original game as well as fixed bugs that have been found in older versions. After summer 2002 the Pioneers project lay dormant again, when in summer 2003 Bas Wijnen found some security bugs, and started programming new features. A little later he was joined by Roland Clobus. Bas made the split between the core code and the user interface, while Roland was working on the user interface. In June 2005 the project was renamed from Gnocatan to Pioneers. To be continued... The Pioneers user interface When you start Pioneers, the main window is displayed. The user interface is built up from a number of panels.

The client user interface
The identity panel Before you have connected to a server, this panel will not be displayed. Once you have connected, the panel is painted with your player color. It also shows how many roads, settlements, and cities are still available to be built. Once the game play starts, the last dice roll performed by a player is also displayed.
The identity panel
The actions panel The waiting prompt When it is not your turn, a message is displayed in the status line at the very bottom for whom the game is waiting. The actions buttons When it is your turn, one more more of the buttons in the action toolbar are active. Only the actions that you are allowed to perform will be enabled.
The actions buttons
Action panel buttons Button Description Roll Dice Roll the dice to start your turn. Trade Perform trade with either the bank (maritime), or with other players (domestic). Undo You can undo road, settlement, and city building that has just been performed. As soon as you buy a development card, play a development card, or finish your turn, you will not be able to undo building. Finish Indicate that you have finished performing setup, your turn, or road building. Road Build a road segment. It must join one of your own settlements or cities, or one of your own roads. It can be built on land or on the coast. Ship Build a ship. It must join one of your own settlements or cities at the coast, or one of your own ships. It can be built on water or on the coast. Move Ship Move a ship that is at the end of the line to another place. Bridge Build a bridge. It must join one of you own settlements or cities on the coast, one of your own bridges, or a road. It can only be built on water. Settlement Build a settlement. City Upgrade a settlement to a city. Develop Purchase a development card from the bank. City Wall Build a wall around a city. Each city can have at most one wall. For each wall you are allowed to keep two more resource cards when a seven is thrown.
The robber prompt If you roll 7 on the dice, all players who are holding more than 7 resources will be prompted to discard half of them (rounded down). While there are still players who have to discard resources, the actions panel will be replaced by a list of those players. Next to each player name is the number of resources that they must discard.
The discard list
The place robber prompt After all excess resources have been discarded, if you were the player who rolled 7 on the dice, you must place the robber on the map. The actions panel is replaced by a prompt to that effect. When you play a soldier development card, you must place the robber on the map. The actions panel is replaced by a prompt to that effect.
The place robber prompt
The steal from prompt If you ever place the robber on a hex which has buildings owned by more than one other player, and more than one of them is holding resources, you will need to select the player from which you wish to steal resources. The actions panel will be replaced by a prompt which instructs you to chose the victim of the robber by selecting one of the buildings on the hex.
The steal from prompt
The resources panel As the game progresses you will accumulate resources. The resources panel displays how many of each resource type you are holding.
The resources panel
The development cards panel If you spend the right combination of resources, you can purchase development cards from the bank. All of the development cards that you are currently holding are displayed in this list. Note that any cards in this list are not yet in play. Other players only know how many development cards you are holding, not the types of those cards. Once you play a development card, it will be removed from this list.
The development cards panel
The player summary panel This panel contains a summary of public statistics about all players in the game. Some of the rows in the summary have a number displayed on the right. This number represents the number of victory points that have been earned by that statistic. If the panel grows too large to fit in the available space, it will automatically scroll to display the summary about the current player.
The player summary panel
The Pioneers map
The Pioneers map
Pioneers is played on a map which is built up from a grid of terrain hexes. Each hex on the map has a terrain type which defines the resources, if any, that are produced by that hex. Settlements and cities are built on the corners of land hexes, while roads are built along the edges of land hexes. In the center of resource producing hexes, there is a circle containing a number. At the start of each turn, two dice are rolled, all hexes that are labeled with a number equaling the sum of the two dice will produce resources for buildings on that hex. Underneath the number in the circle are some dots. The number of dots is equal to the number of different dice combinations that will generate this number. To highlight the two most commonly rolled numbers, the 6 and 8 are displayed in red (there is no label with the number 7). In addition, the hexes that produced resources this turn are painted with a green background. The sea hexes which have a circle in them have building sites for ports where maritime trading can be performed. The location of the building sites is indicated by a dashed line drawn from the circle to a hex corner. The image in the circle indicates the resource type which may be traded at the ports. At the blue circles all resource types can be traded. The brown bottle shape is the robber. The following table shows each terrain type, and the resources produced by that terrain. Pioneers terrain types Graphic Terrain Graphic Resource Description Hill Brick Bricks are produced from the clay found in hills. Field Grain Grain is produced by crops grown in fields. Mountain Ore Ore is produced by quarries in mountains. Pasture Wool Wool is produced by sheep in pastures. Forest Lumber Lumber is produced by trees in forests. Gold mine Any Any resource can be bought from the mined gold. Desert No resources are produced in the desert. Sea No resources are produced in the sea, but maritime trading may be performed at ports.
The chat panel Underneath the map is a field where you can enter messages that will be broadcast to all other players. When you type a message and press Return, the message will be broadcast to all players.
The chat panel
Normally, text that you type will appear with your player name, for example "player1 said: foo". If you start your text with ":" the output will omit the "said", like "player1 needs more lumber". The chat also knows some special commands that start with "/". The commands currently defined are: Chat Commands Command Arguments Description ; chat message The chat message is added directly behind the name of the player. Example: ;'s victory is imminent will become player name's victory is imminent : chat message The chat message is added after the name of the player with a space in between. Example: :needs lumber will become player name needs lumber /me chat message This is the same as the ":" described above, but IRC addicts might prefer this variant. /beep player name Let player name's client beep.
If you want to send a smiley that starts with a : or ;, type a space before the smiley.
The messages panel Underneath the chat panel is a message area where all interesting game events are logged.
The messages panel
The status bar The status bar is used for providing instructions about the current state of the game. To the right of the instructional message is an indicator which shows when the client program is waiting for response to a command sent to the server. When packets are dropped between the server and client, the indicator will display the text "Waiting", and the game will be temporarily unresponsive. Rightmost in the status bar is the turn indicator. This area identifies the player turn sequence. The current player is highlighted with a thick black border.
The status bar
Playing Pioneers Joining a Pioneers game The Pioneers client program is "pioneers". When you run this program, you will be presented with the connect dialog. The connect dialog Using the connect dialog, you identify the game which you wish to join. This dialog is automatically invoked when you start Pioneers. If the initial connection fails, you can invoke the dialog from the GameNew game menu, or by using the CtrlN keyboard shortcut.
The connect dialog
Enter your name, and join an existing game or create a new game. Only if pioneers-server-gtk is installed, you can create new games.
Join public game The dialog displays a list of Pioneers games that are currently running on the Internet. The default metaserver is pioneers.debian.net
The Join a public game dialog
You join a game by selecting it and pressing the OK button in the connect dialog. To obtain an updated list, push the Refresh button. Enter the 'Lobby' to meet other players and arrange that one player will start the server with the game you've agreed upon. Some metaservers also allow you to start new games on their host (e.g. pioneers.game-host.org). If this is possible, the New remote game button will be active and will bring you to the Create a public game dialog.
The Create a public game dialog In this dialog, you can select various parameters for the new game: board name (available types will be retrieved from the metaserver), the number of players, victory points to reach, how many computer players should join the game, which sevens rule to apply and whether the terrain should be randomized.
The Create a public game dialog
Once you're satisfied with your choices, press the OK button. The game will be started once enough players have entered the game. The new game will of course be registered to the metaserver it was started from. Other players can see it in the list if they press the Join public game button, or refresh the list of public games. The server started remotely will terminate itself automatically when the game is finished, or if sits around for more than 20 minutes without any connected players. Please also note that adding computer players will silently fail if the pioneersai program is not installed on the metaserver.
Join private game You can manually specify the game that you wish to join by entering the server host and port in the Server Host and Server Port fields. The hostname/port combinations you used recently are remembered. You can recall them quickly with the Recent Games button at the bottom.
The Join a private game dialog
Pioneers setup phase Once you have successfully connected to a Pioneers game server, the game map will be downloaded from the server and displayed in the map area of the display. You will be assigned a player color, which will be displayed in the identity panel, the player summary, and in the status bar. As soon as all other players have connected to the server, the setup phase will begin. During the setup phase you must build one settlement and one road segment on the map. The settlement can be built on any land hex, and the road must be built on a land edge connected to the settlement. Once you have built both your settlement and road, you must press the Finish Setup button. The next player will then enter the setup phase. The last player performs a double setup, that is, they build two settlements, each with a connecting road. Once the last player has completed setup, all other players perform a second setup in reverse sequence. Once the first player has completed their second setup, the game will begin. Pioneers turn sequence When it is your turn, the actions panel will show all of the actions that you can perform. Some care must be exercised, as some actions can only be performed once per turn, and other actions can only be performed in strict sequence. Simplified turn sequence Roll the dice. Optionally trade with the bank, or other players. Optionally build roads, settlements, and cities. Optionally buy development cards. Finish your turn. You may play one non-victory point development card at any time during your turn, even before you roll the dice. You may play as many victory point cards as you like at any time during your turn. As soon as you have built a road, settlement, or city, you will not be able to trade for the rest of the turn. Likewise, if you buy a development card, you will not be able to trade for the rest of the turn. Dice roll / resource collection When the dice are rolled, they are added together, the total determines the resources that each player collects during that turn. In the center of each land hex (except for the desert) is a number. Whenever the dice roll matches the number in the hex, all buildings on the corners of that hex will collect resources of the type generated by that hex. Settlements collect one resource, and cities receive two resources. If a player has multiple buildings on a hex, each of those buildings will collect resources. The hex containing the robber never generates resources. If you roll 7 on the dice, all players with excess resources must discard them, then you must move the robber. Discarding resources If you roll 7 on the dice, all players holding more than 7 resources must discard half of them. The discard resources dialog will be displayed for all players who must discard.
The discard dialog
You must choose the resources to be given back to the bank. Once all players have discarded their excess resources, the player who rolled the 7 will have to move the robber.
Moving the robber The robber begins the game in the desert, but can never be moved back into the desert. If you roll 7 on the dice, you must move the robber to a new location on the map. Whenever you play a soldier development card, you must move the robber to a new location on the map. Once you have moved the robber to a new hex, the robber will steal a random resource from another player who has a building on that hex. If there are multiple potential victims for the robber, you will need to choose the victim by selecting one of the buildings on the hex. When the robber steals the resource, only the players involved in the transaction will be told which resource was stolen.
Trade You may trade resources only after you have rolled the dice, but before you build anything, or buy a development card. When you wish to trade resources, press the Trade button in the actions panel and the trade interface will be displayed.
The trade interface
On the left side of the interface are two tables; the top table is where you specify which resources you wish to receive in a trade, and the bottom table is where you optionally specify which resources you wish to give to other players during a trade. Each row of the table describes one resource. From left to right, the columns are: Trade resource controls Check Controls whether or not this resource will be involved in the trade. Trade quotes submitted by either the bank or other players can only include resource types that are checked. Name The resource type. In hand Shows how many of each resource type you have in hand. If you select a valid trade, you see the amount you will have if you accept the quote.
The Call for Quotes button underneath the two tables is used to invite other players to trade resources with you. To the right of the tables is the list where all quotes will be displayed. The bank quotes are listed first, followed by all quotes supplied by other players. Next to each quote is tick or cross which indicates whether or not you have the resources to perform the trade. As you select quotes from the list, the Accept Quote button sensitivity will also indicate whether or not you have the resources required to perform the trade. Also the amount of each resource shows a preview how many you will have if you accept the quote. To finish trading, press the Finish Trading button at the bottom right of the trading interface. Trading with the bank Maritime trade is trade performed with the bank. To perform maritime trading, check one or more resources in the I Want table. If you have sufficient resources to perform maritime trading, the bank will quote for each possible trade. You don't have to press the Call for Quotes button. Players who have built on a port with a resource label may trade two identical resources of that type for single resource of their choice. Players who have built on a port with the question mark label may trade three identical resources of any type for single resource of their choice. All players may trade four identical resources of any type for a single resource of their choice. Select the trade that you wish to perform, then press the Accept Quote button. Trading with other players Domestic trade is trade performed with other players. To perform domestic trading, check one or more resources in the I Want table, and one or more resources in the Give Them table. Once you have specified the resources that you wish to exchange in the trade, click the Call For Quotes button. All other players will then use the quote interface to submit quotes within the trade parameters you have set. Select the trade that you wish to perform, then press the Accept Quote button. Submitting trade quotes When another player presses the Call For Quotes button in the trade interface, the quote interface will be displayed.
The quote interface
The top of the interface has an indicator to show which player initiated the trade. It also describes the trade parameters. On the left side of the interface are two tables; the top table is where you specify which resources you wish to receive in a trade, and the bottom table is where you specify which resources you wish to give to the player who initiated the trade exchange. Each row of the table describes one resource. The player who initiated the trade controls which rows in each table can be used. If the initiating player calls for a resource that you do not have, the corresponding row in the Give Them table will be disabled. From left to right, the columns are: Quote resource controls Name The resource type. In hand Shows how many of each resource type you will have in hand after performing trade. Less Press this to decrease the number of the resource you wish to receive / give. More Press this to increase the number of the resource you wish to receive / give. Number to trade Shows how many of the resource you wish to trade.
Underneath the tables are two buttons. Press the Quote button to submit a new quote, or press the Delete button to retract a quote. Note that the Quote button will be disabled if you have already submitted a matching quote. To the right of the tables is the list where all quotes will be displayed. Quotes from all players are listed. The first quote from each player is highlighted with an indicator. To decline the offer to perform trading, press the Reject Domestic Trade button at the bottom right of the interface.
Development cards There are 24 development cards in the game, they are shuffled at the start of the game. When you buy a development card from the bank, it is held secret in your hand. Other players only learn how many development cards you have, not the types of those cards. When you play a development card, all other players will see the card. There are victory point, and non victory point development cards. Victory point development cards earn you one victory point as soon as you play them. Non-victory point development cards have special effects as described below. Development cards VP Card Number Description Road Building 2 When you play this card, you can build two road segments for free. The normal limits on road building apply. Monopoly 2 When you play this card, you choose a resource type that you want to monopolize. All resources of that type that are held by other players will transferred to your hand. Year of Plenty 2 When you play this card you can take any two resource cards from the bank. Soldier 13 When you play this card, you must move the robber to a new hex. The first player to play three soldiers will earn the largest army award. 1 Chapel 1 No special effects. 1 Pioneer University 1 No special effects. 1 Governors House 1 No special effects. 1 Library 1 No special effects. 1 Market 1 No special effects.
The monopoly development card When you play the monopoly development card, the monopoly dialog will be displayed.
The monopoly dialog
You must choose the resource type that you wish to monopolize. When you press OK, all resources of the selected type held by other players will be transferred to your hand.
The year of plenty development card When you play the year of plenty development card, the year of plenty dialog will be displayed.
The year of plenty dialog
You must select any two resource cards that you wish to take from the bank. If the bank has enough cards, ++ is shown between the less and more buttons. Otherwise, the amount in the bank is shown.
Largest army award The first player to play three soldier cards will earn the largest army award. This award is worth 2 victory points. Only one player can have the largest army award at a time. Ownership of the largest army award will change only when another player builds a larger army.
Building By spending the right combination of resources, you can build roads, settlements, and cities. At any time during the game you can check the resource cost of each type of building by consulting the legend dialog.
The legend dialog
At the start of the game, you have 15 road segments, five settlements, and four cities available. You will not be able to build more of any item than you have available. The identity panel tells you how many of each item you currently have available. A city is built by upgrading a settlement. When you upgrade an existing settlement, that settlement is again available for building somewhere else on the map. Buildings must not be placed next to each other. This means that a hex can have, at most, three buildings on it. During game play, you can only place a building adjacent to one of your road segments. Roads must be placed adjacent to one of your buildings, or one of your roads. You cannot extend your road through a building owned by another player. Longest road The first player to build a continuous path of five or more road segments will earn the longest road award. The length of your road is measured by determining the greatest distance that can be traveled from one point on your road to another without traveling over the same segment more than once, and without backtracking. This award is worth 2 victory points. Only one player can have the longest road award at a time. If another player builds a longer road, the longest road award will be transferred to that player. If the longest road is cut by a player placing a building which divides the road, the ownership of the longest road award is re-evaluated. If after the longest road has been cut, and more than one player has the longest road, the award is temporarily removed from play. If no player has a road of five or more segments, the award is temporarily removed from play.
Game objective The objective of the game is to achieve a certain number of victory points before all other players. There are several ways to earn victory points. For each settlement you have on the map, you earn 1 victory point. For each city you have on the map, you earn 2 victory points. The player with the longest road of five or more segments earns 2 victory points. The player with the largest number of soldiers in play (minimum of three) earns 2 victory points. There are a number of special development cards which when played are each worth 1 victory point. The game over dialog Once you have won the game, all players will to notified of your glorious victory.
The game over dialog
Frequently asked questions Playing games Where can I find games? You can find games at the metaserver (pioneers.debian.net) But there hardly are any games present? Perhaps people don't register their games (it is optional), or use their own metaservers. I've seen a game at the metaserver, but I cannot join? Is the Host something like 'localhost' or without dots? In that case someone did register the game, but it is not accessible from the outside of the intranet that hosts the game. I get the error: Error connecting to host 'AA.BB.CC.DD': Connection refused, what now? The person hosting the game has incorrectly configured his firewall. See also 'Creating games'. The button 'New remote game' is always disabled. Why? The metaserver at pioneers.debian.net acts only as a point where games can register. It has been configured not to create new games. How can I play against the computer players, without starting a server? You can play games at an alternative metaserver pioneers.game-host.org. It has a limited number of games that can be started. New remote game is available on this metaserver. The dice are unfair, a twelve was rolled three times in a row! The dice have been tested. They are fair, but there is always a chance that you'll roll a twelve three times in a row. When you've started a server, you can choose to use several dice decks (each of 36 cards) instead of regular dice. The Lobby Why is nobody responding? If you enter the lobby, and see several squares in the icon before the name of a player, it means that that player is disconnected. Perhaps they are playing another game, and don't monitor the Lobby. This game will never start. How can I play? One person has to create a new game. If it is set up, you can leave the lobby, and join that game (GameLeave game). Creating games How do I do create new games? Start pioneers-server-gtk. In the Server Parameters: Choose a Server Port that is publicly accessible (create a hole in your firewall if needed) Set Register Server to 'yes', so other people can find the game Select a Metaserver Leave Reported hostname empty Select a game of your liking, and click on Start Server What exactly does 'Reported hostname' do? It overrides the hostname that is automatically detected by the metaserver. Only in special cases do you need to enter something: You have an extra DNS name, and would like to show that name instead of your normal DNS name. You run a private, publicly accessible metaserver, and start a game from inside your local network. In all other cases, you are advised to keep it empty. How do I configure my router? You'll need to set up port forwarding and you might want to use a dns service like DynDNS. Use a search engine like DuckDuckGo to see examples. What if I only want to play against the computer players? Start pioneers-server-gtk, and set Register Server to 'no', and add as many computer players as needed. In the client, choose 'Join private game', the host is 'localhost', and use the port you have selected in the server. You can play games at an alternative metaserver pioneers.game-host.org. It has a limited number of games that can be started. What if I only want to play games inside my own intranet? Do not register your game at the metaserver, and choose 'Join private game' on each computer that joins the game. Use the ip address of the server, and the port you have selected in the server. For game masters The Server Pioneers comes with two servers, pioneers-server-console and pioneers-server-gtk. Some options are highlighted here. Some options Domestic trade If this option is disabled, the players cannot trade with each other. Reported hostname Leave empty. It should only be filled when you've set up port forwarding. Then it should contain the hostname that is accessible from the Internet side. Strict trade After you have bought or built something, you may not trade any more. Use dice deck In some games it might happen that the dice rolls are distributed unevenly (five times a twelve, no six). A number of decks of cards, each deck containing 36 cards (each card representing a dice roll), can be used instead of the dice. However, this might lead to predictable results when the dice deck has almost been drawn empty. The number of removed dice cards specifies the number of cards that are removed when the pile of dice cards is shuffled. The Computer Player Pioneers comes with a computer player, pioneersai. This player isn't too bad at the moment, but doesn't know all game rules. Most notably, it cannot initiate domestic trade, and use the maritime rules such as ships and bridges. pioneersai is a terminal application without GUI. Its command line options are: <application>pioneersai</application> command line options Option Arguments Description -s servername Connect to servername. -p port Connect to port port. -n name Set the player name. -a player type Choose the type of computer player. -t milliseconds Set time to wait between turns. -c Stop the computer player from giving comments.
The following player types are available: Computer player types Player type Description greedy The default. This computer player will play against you. genetic This computer player will play against you. It is a stronger opponent than 'greedy'. lobbybot This computer player is present in the lobby to greet you and provide some help. It will not play. logbot This computer player can be added to games to collect statistics about the game. It will not play.
However, most of the time you won't start pioneersai manually. Both game servers offer ways to start a number of computer players.
Configuration This chapter is included for the people who wish to control exactly the way Pioneers is running. The extra configuration options are processed in this order: Command line Settings file Environment Built-in settings <application>pioneers</application> The client is controlled by the command line, the environment and the settings file. <application>pioneers</application> command line options Short Long Description -s --server Hostname of the server -p --port Port of the server -n --name Player name -v --spectator Connect as a spectator -m --metaserver Metaserver host
When both the server and port are set, the client will not display the connect dialog, but will directly connect to this port. When the connection is closed (because the game is over, or the connection fails), the client quits. Server and port need both to be set, or not at all. Settings file <application>$XDG_CONFIG_HOME/pioneers</application> Section Key Type Description connect server string Last used server for private game connect port string Last used port for private game connect metaserver string Address of the metaserver connect name string Last used player name favorites server%dname string History entry of private server games favorites server%dport string History entry of private server games settings color_chat boolean Display chat messages in user's color settings color_messages boolean Display colors in the message log settings color_summary boolean Use colors in the summary settings toolbar_show_accelerators boolean Show the keyboard accelerators in the toolbar settings show_toolbar boolean Show the toolbar settings legend_page boolean Display the legend page beside the map settings theme string The theme
<application>pioneers</application> environment Variable Description PIONEERS_METASERVER The host name of the metaserver
When the host name is not provided in the client, this environment variable will be used. If it is not set, the default (pioneers.debian.net) will be used.
<application>pioneers-server-console</application> <application>pioneers-server-console</application> command line M Short Long Type Description -h --help-all Show help * -r --register Register with metaserver -m --metaserver string Register at metaserver name (implies -r) -n --hostname string Use this hostname when registering at the metaserver * -x --auto-quit Quit after a player has won * -k --empty-timeout integer Kill after n seconds with no player -t --tournament integer Tournament mode. Computer players are added after %d minutes -a --admin-port integer Admin port to listen on -s --admin-wait Don't start game immediately, wait for command on admin port --fixed-seating-order Give players numbers according to the order they enter the game --debug Enable debug messages * -g --game-title string Game name to use --file string Game file to use * -p --port string Port to listen on * -P --players integer Number of players * -v --point integer Number of points needed to win -R --seven-rule 0|1|2 Seven rule * -T --terrain 0|1 Select terrain type (0=default, 1=random) * -c --computer-players integer Number of computer players to add --version Show version information
The column 'M' shows whether the switch is used by the metaserver <application>pioneers-server-console</application> environment Variable Description PIONEERS_DIR The location of the *.game files and the computer_names file PIONEERS_METASERVER The host name of the metaserver
Server admin interface protocol When the server is started with the command line switch -a, the following commands can be sent to that port: Admin interface commands Command Argument type admin set-port integer admin start-server none admin stop-server none admin set-register-server integer admin set-num-players integer admin set-sevens-rule integer admin set-dice-deck boolean (0/1) admin set-num-dice-decks integer admin set-num-removed-dice-cards integer admin set-victory-points integer admin set-random-terrain integer admin set-game string admin quit none admin send-message string admin help none admin info none admin fix-dice none
admin set-game should be used before the other game parameters are changed, because it changes all game parameters. If a game was running while a game parameter is changed, it will be aborted. When no game is running when admin quit is issued, the server will quit.
pioneers-15.5/client/help/C/legal.xml0000644000175000017500000000022607742513336014421 00000000000000 This document can be freely redistributed according to the terms of the GNU General Public License. pioneers-15.5/client/help/Makefile.in0000644000175000017500000004062113252243604014470 00000000000000# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # Pioneers - Implementation of the excellent Settlers of Catan board game. # Go buy a copy. # # Copyright (C) 2018 Roland Clobus # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = client/help ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gob2.m4 \ $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \ $(top_srcdir)/m4/yelp.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_CFLAGS = @AM_CFLAGS@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AM_LDFLAGS = @AM_LDFLAGS@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AVAHI_CLIENT_CFLAGS = @AVAHI_CLIENT_CFLAGS@ AVAHI_CLIENT_LIBS = @AVAHI_CLIENT_LIBS@ AVAHI_GLIB_CFLAGS = @AVAHI_GLIB_CFLAGS@ AVAHI_GLIB_LIBS = @AVAHI_GLIB_LIBS@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEBUGGING = @DEBUGGING@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GIO2_CFLAGS = @GIO2_CFLAGS@ GIO2_LIBS = @GIO2_LIBS@ GLIB2_CFLAGS = @GLIB2_CFLAGS@ GLIB2_LIBS = @GLIB2_LIBS@ GLIB_DEPRECATION = @GLIB_DEPRECATION@ GLIB_REQUIRED_VERSION = @GLIB_REQUIRED_VERSION@ GMSGFMT = @GMSGFMT@ GOB2 = @GOB2@ GOBJECT2_CFLAGS = @GOBJECT2_CFLAGS@ GOBJECT2_LIBS = @GOBJECT2_LIBS@ GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_DEPRECATION = @GTK_DEPRECATION@ GTK_LIBS = @GTK_LIBS@ GTK_OPTIMAL_VERSION_CFLAGS = @GTK_OPTIMAL_VERSION_CFLAGS@ GTK_OPTIMAL_VERSION_LIBS = @GTK_OPTIMAL_VERSION_LIBS@ GTK_REQUIRED_VERSION = @GTK_REQUIRED_VERSION@ HELP_DIR = @HELP_DIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ ITSTOOL = @ITSTOOL@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBNOTIFY_CFLAGS = @LIBNOTIFY_CFLAGS@ LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WARNINGS = @WARNINGS@ XGETTEXT = @XGETTEXT@ XMLLINT = @XMLLINT@ YELP_LC_DIST = @YELP_LC_DIST@ YELP_LC_MEDIA_LINKS = @YELP_LC_MEDIA_LINKS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ pioneers_datadir = @pioneers_datadir@ pioneers_iconthemedir = @pioneers_iconthemedir@ pioneers_localedir = @pioneers_localedir@ pioneers_themedir = @pioneers_themedir@ pioneers_themedir_embed = @pioneers_themedir_embed@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ svg_renderer_height = @svg_renderer_height@ svg_renderer_output = @svg_renderer_output@ svg_renderer_path = @svg_renderer_path@ svg_renderer_width = @svg_renderer_width@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ whitespace_trick = @whitespace_trick@ HELP_ID = pioneers HELP_FILES = \ index.docbook \ legal.xml # Keep this list in alphabetical order HELP_MEDIA = \ images/actions.png \ images/brick.png \ images/chat.png \ images/client.png \ images/connect-dialog.png \ images/desert.png \ images/develop-cards.png \ images/discard-dialog.png \ images/discards.png \ images/field.png \ images/forest.png \ images/gameover-dialog.png \ images/gold.png \ images/grain.png \ images/hill.png \ images/identity.png \ images/join-private-dialog.png \ images/legend-dialog.png \ images/lumber.png \ images/map.png \ images/messages.png \ images/monopoly-dialog.png \ images/mountain.png \ images/ore.png \ images/pasture.png \ images/place-robber.png \ images/player-summary.png \ images/plenty-dialog.png \ images/quote.png \ images/resources.png \ images/sea.png \ images/server-create.png \ images/servers-dialog.png \ images/status.png \ images/steal-from.png \ images/trade.png \ images/wool.png HELP_LINGUAS = all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu client/help/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu client/help/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am 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 \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags-am uninstall uninstall-am .PRECIOUS: Makefile @YELP_HELP_RULES@ # Various snippets # HTMLHelp is the compressed help format for Microsoft Windows htmlhelp: pioneers.xml xmlto -m custom.xsl htmlhelp pioneers.xml -/cygdrive/c/Program\ Files/HTML\ Help\ Workshop/hhc.exe htmlhelp.hhp rm htmlhelp.hhp rm toc.hhc rm *.html simplehtml: C/pioneers.xml cd C xmlto -m custom.xsl html pioneers.xml cd .. yelphtml: C/pioneers.xml cd C xsltproc /usr/share/yelp-xsl/xslt/docbook/html/db2html.xsl pioneers.xml cp /usr/share/yelp-xsl/icons/hicolor/24x24/status/yelp-note*.png . cd .. xmllint: C/pioneers.xml xmllint --format C/pioneers.xml -o pioneers.xml.good mv pioneers.xml.good C/pioneers.xml # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: pioneers-15.5/Makefile.in0000644000175000017500000132202013252243604012257 00000000000000# Makefile.in generated by automake 1.15.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2017 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # Pioneers - Implementation of the excellent Settlers of Catan board game. # Go buy a copy. # # Copyright (C) 1999 Dave Cole # Copyright (C) 2003, 2006 Bas Wijnen # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # Pioneers - Implementation of the excellent Settlers of Catan board game. # Go buy a copy. # # Copyright (C) 2003, 2006 Bas Wijnen # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # Pioneers - Implementation of the excellent Settlers of Catan board game. # Go buy a copy. # # Copyright (C) 1999 Dave Cole # Copyright (C) 2003, 2006 Bas Wijnen # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # Pioneers - Implementation of the excellent Settlers of Catan board game. # Go buy a copy. # # Copyright (C) 1999 Dave Cole # Copyright (C) 2003, 2006 Bas Wijnen # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # Pioneers - Implementation of the excellent Settlers of Catan board game. # Go buy a copy. # # Copyright (C) 1999 Dave Cole # Copyright (C) 2003, 2006 Bas Wijnen # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # Pioneers - Implementation of the excellent Settlers of Catan board game. # Go buy a copy. # # Copyright (C) 1999 Dave Cole # Copyright (C) 2003, 2006 Bas Wijnen # Copyright (C) 2006 Roland Clobus # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # Pioneers - Implementation of the excellent Settlers of Catan board game. # Go buy a copy. # # Copyright (C) 2003, 2006 Bas Wijnen # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # Pioneers - Implementation of the excellent Settlers of Catan board game. # Go buy a copy. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # Pioneers - Implementation of the excellent Settlers of Catan board game. # Go buy a copy. # # Copyright (C) 2003, 2006 Bas Wijnen # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # Pioneers - Implementation of the excellent Settlers of Catan board game. # Go buy a copy. # # Copyright (C) 2003, 2006 Bas Wijnen # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # Pioneers - Implementation of the excellent Settlers of Catan board game. # Go buy a copy. # # Copyright (C) 2003, 2006 Bas Wijnen # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # Pioneers - Implementation of the excellent Settlers of Catan board game. # Go buy a copy. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # Pioneers - Implementation of the excellent Settlers of Catan board game. # Go buy a copy. # # Copyright (C) 2003, 2006 Bas Wijnen # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # Pioneers - Implementation of the excellent Settlers of Catan board game. # Go buy a copy. # # Copyright (C) 2003, 2006 Bas Wijnen # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # Pioneers - Implementation of the excellent Settlers of Catan board game. # Go buy a copy. # # Copyright (C) 1999 Dave Cole # Copyright (C) 2006 Bas Wijnen # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # Pioneers - Implementation of the excellent Settlers of Catan board game. # Go buy a copy. # # Copyright (C) 1999 Dave Cole # Copyright (C) 2006 Bas Wijnen # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # Pioneers - Implementation of the excellent Settlers of Catan board game. # Go buy a copy. # # Copyright (C) 2006 Bas Wijnen # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # Pioneers - Implementation of the excellent Settlers of Catan board game. # Go buy a copy. # # Copyright (C) 2003, 2006 Bas Wijnen # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # Pioneers - Implementation of the excellent Settlers of Catan board game. # Go buy a copy. # # Copyright (C) 1999 Dave Cole # Copyright (C) 2003, 2006 Bas Wijnen # Copyright (C) 2006 Roland Clobus # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # Pioneers - Implementation of the excellent Settlers of Catan board game. # Go buy a copy. # # Copyright (C) 2011 Roland Clobus # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # Pioneers - Implementation of the excellent Settlers of Catan board game. # Go buy a copy. # # Copyright (C) 1999 Dave Cole # Copyright (C) 2003, 2006 Bas Wijnen # Copyright (C) 2004, 2010 Roland Clobus # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # Pioneers - Implementation of the excellent Settlers of Catan board game. # Go buy a copy. # # Copyright (C) 1999 Dave Cole # Copyright (C) 2003, 2006 Bas Wijnen # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # Pioneers - Implementation of the excellent Settlers of Catan board game. # Go buy a copy. # # Copyright (C) 2006 Bas Wijnen # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ bin_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ $(am__EXEEXT_4) $(am__EXEEXT_5) $(am__EXEEXT_6) noinst_PROGRAMS = @BUILD_CLIENT_TRUE@am__append_1 = libpioneersclient.a @BUILD_CLIENT_TRUE@am__append_2 = pioneersai @BUILD_CLIENT_TRUE@am__append_3 = \ @BUILD_CLIENT_TRUE@ client/ai/computer_names @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@am__append_4 = pioneers @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@am__append_5 = client/gtk/pioneers.desktop.in @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@am__append_6 = \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ $(ccflickrtheme_DATA) \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ $(classictheme_DATA) \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ $(freecivtheme_DATA) \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ $(icelandtheme_DATA) \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ $(nouvelliatheme_DATA) \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ $(tinytheme_DATA) \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ $(wesnoththeme_DATA) \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/splash.svg @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@am__append_7 = client/gtk/data/pioneers.png @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@am__append_8 = client/gtk/data/pioneers.svg @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@am__append_9 = \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/bridge.svg \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/city.svg \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/city_wall.svg \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/develop.svg \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/dice.svg \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/finish.svg \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/road.svg \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/settlement.svg \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/ship.svg \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/ship_move.svg \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/splash.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/trade.svg \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/brick.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/grain.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/lumber.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/ore.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/wool.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/style-human.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/style-human-1.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/style-human-2.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/style-human-3.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/style-human-4.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/style-human-5.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/style-human-6.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/style-human-7.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/style-ai.svg \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/pioneers.ico \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/pioneers.rc @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@am__append_10 = \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/splash.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/resource-view.gob.stamp \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/resource-view.c \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/resource-view.h \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/resource-view-private.h @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@@USE_WINDOWS_ICON_TRUE@am__append_11 = client/gtk/data/pioneers.res @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@@USE_WINDOWS_ICON_TRUE@am__append_12 = client/gtk/data/pioneers.res # Include the data here, not at the top, # it can add extra resources to the executable @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@am__append_13 = \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/resource-view.gob.stamp \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/resource-view.c \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/resource-view.h \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/resource-view-private.h @BUILD_SERVER_TRUE@@HAVE_GTK_TRUE@am__append_14 = server/gtk/pioneers-server.png @BUILD_SERVER_TRUE@@HAVE_GTK_TRUE@am__append_15 = server/gtk/pioneers-server-gtk.desktop.in @BUILD_SERVER_TRUE@@HAVE_GTK_TRUE@am__append_16 = pioneers-server-gtk @BUILD_SERVER_TRUE@@HAVE_GTK_TRUE@am__append_17 = server/gtk/pioneers-server.svg @BUILD_SERVER_TRUE@@HAVE_GTK_TRUE@@USE_WINDOWS_ICON_TRUE@am__append_18 = server/gtk/pioneers-server.res @BUILD_SERVER_TRUE@@HAVE_GTK_TRUE@@USE_WINDOWS_ICON_TRUE@am__append_19 = server/gtk/pioneers-server.res @BUILD_SERVER_TRUE@am__append_20 = pioneers-server-console @BUILD_SERVER_TRUE@am__append_21 = libpioneers_server.a @BUILD_METASERVER_TRUE@am__append_22 = pioneers-metaserver @BUILD_EDITOR_TRUE@@HAVE_GTK_TRUE@am__append_23 = editor/gtk/pioneers-editor.png @BUILD_EDITOR_TRUE@@HAVE_GTK_TRUE@am__append_24 = editor/gtk/pioneers-editor.desktop.in @BUILD_EDITOR_TRUE@@HAVE_GTK_TRUE@am__append_25 = pioneers-editor @BUILD_EDITOR_TRUE@@HAVE_GTK_TRUE@am__append_26 = editor/gtk/pioneers-editor.svg @BUILD_EDITOR_TRUE@@HAVE_GTK_TRUE@@USE_WINDOWS_ICON_TRUE@am__append_27 = editor/gtk/pioneers-editor.res @BUILD_EDITOR_TRUE@@HAVE_GTK_TRUE@@USE_WINDOWS_ICON_TRUE@am__append_28 = editor/gtk/pioneers-editor.res # yelp-tools doesn't use automake, but creates its own Makefile @BUILD_HELP_TRUE@am__append_29 = client/help @HAVE_GTK_TRUE@am__append_30 = libpioneers_gtk.a @HAVE_GTK_TRUE@am__append_31 = \ @HAVE_GTK_TRUE@ common/gtk/scrollable-text-view.gob.stamp \ @HAVE_GTK_TRUE@ common/gtk/scrollable-text-view.c \ @HAVE_GTK_TRUE@ common/gtk/scrollable-text-view.h @HAVE_GTK_TRUE@am__append_32 = \ @HAVE_GTK_TRUE@ common/gtk/scrollable-text-view.gob.stamp \ @HAVE_GTK_TRUE@ common/gtk/scrollable-text-view.c \ @HAVE_GTK_TRUE@ common/gtk/scrollable-text-view.h @HAVE_GTK_TRUE@am__append_33 = \ @HAVE_GTK_TRUE@ common/gtk/pioneers-checkmark.svg \ @HAVE_GTK_TRUE@ common/gtk/pioneers-cross.svg subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gob2.m4 \ $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/pkg.m4 \ $(top_srcdir)/m4/yelp.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ $(am__configure_deps) $(am__DIST_COMMON) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(install_sh) -d CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = pioneers.spec Doxyfile MinGW/pioneers.nsi CONFIG_CLEAN_VPATH_FILES = LIBRARIES = $(noinst_LIBRARIES) ARFLAGS = cru AM_V_AR = $(am__v_AR_@AM_V@) am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) am__v_AR_0 = @echo " AR " $@; am__v_AR_1 = libpioneers_a_AR = $(AR) $(ARFLAGS) libpioneers_a_LIBADD = am__dirstamp = $(am__leading_dot)dirstamp am_libpioneers_a_OBJECTS = common/libpioneers_a-buildrec.$(OBJEXT) \ common/libpioneers_a-cards.$(OBJEXT) \ common/libpioneers_a-common_glib.$(OBJEXT) \ common/libpioneers_a-cost.$(OBJEXT) \ common/libpioneers_a-deck.$(OBJEXT) \ common/libpioneers_a-driver.$(OBJEXT) \ common/libpioneers_a-game.$(OBJEXT) \ common/libpioneers_a-game-list.$(OBJEXT) \ common/libpioneers_a-log.$(OBJEXT) \ common/libpioneers_a-map.$(OBJEXT) \ common/libpioneers_a-map_query.$(OBJEXT) \ common/libpioneers_a-network.$(OBJEXT) \ common/libpioneers_a-notifying-string.$(OBJEXT) \ common/libpioneers_a-quoteinfo.$(OBJEXT) \ common/libpioneers_a-random.$(OBJEXT) \ common/libpioneers_a-set.$(OBJEXT) \ common/libpioneers_a-state.$(OBJEXT) libpioneers_a_OBJECTS = $(am_libpioneers_a_OBJECTS) libpioneers_gtk_a_AR = $(AR) $(ARFLAGS) libpioneers_gtk_a_LIBADD = am__libpioneers_gtk_a_SOURCES_DIST = common/gtk/aboutbox.c \ common/gtk/aboutbox.h common/gtk/colors.c common/gtk/colors.h \ common/gtk/common_gtk.c common/gtk/common_gtk.h \ common/gtk/config-gnome.c common/gtk/config-gnome.h \ common/gtk/game-rules.c common/gtk/game-rules.h \ common/gtk/game-settings.c common/gtk/game-settings.h \ common/gtk/guimap.c common/gtk/guimap.h common/gtk/map-icons.c \ common/gtk/map-icons.h common/gtk/metaserver.c \ common/gtk/metaserver.h common/gtk/player-icon.c \ common/gtk/player-icon.h common/gtk/polygon.c \ common/gtk/polygon.h common/gtk/scrollable-text-view.gob \ common/gtk/scrollable-text-view.gob.stamp \ common/gtk/scrollable-text-view.c \ common/gtk/scrollable-text-view.h common/gtk/select-game.c \ common/gtk/select-game.h common/gtk/theme.c common/gtk/theme.h @HAVE_GTK_TRUE@am_libpioneers_gtk_a_OBJECTS = common/gtk/libpioneers_gtk_a-aboutbox.$(OBJEXT) \ @HAVE_GTK_TRUE@ common/gtk/libpioneers_gtk_a-colors.$(OBJEXT) \ @HAVE_GTK_TRUE@ common/gtk/libpioneers_gtk_a-common_gtk.$(OBJEXT) \ @HAVE_GTK_TRUE@ common/gtk/libpioneers_gtk_a-config-gnome.$(OBJEXT) \ @HAVE_GTK_TRUE@ common/gtk/libpioneers_gtk_a-game-rules.$(OBJEXT) \ @HAVE_GTK_TRUE@ common/gtk/libpioneers_gtk_a-game-settings.$(OBJEXT) \ @HAVE_GTK_TRUE@ common/gtk/libpioneers_gtk_a-guimap.$(OBJEXT) \ @HAVE_GTK_TRUE@ common/gtk/libpioneers_gtk_a-map-icons.$(OBJEXT) \ @HAVE_GTK_TRUE@ common/gtk/libpioneers_gtk_a-metaserver.$(OBJEXT) \ @HAVE_GTK_TRUE@ common/gtk/libpioneers_gtk_a-player-icon.$(OBJEXT) \ @HAVE_GTK_TRUE@ common/gtk/libpioneers_gtk_a-polygon.$(OBJEXT) \ @HAVE_GTK_TRUE@ common/gtk/libpioneers_gtk_a-scrollable-text-view.$(OBJEXT) \ @HAVE_GTK_TRUE@ common/gtk/libpioneers_gtk_a-select-game.$(OBJEXT) \ @HAVE_GTK_TRUE@ common/gtk/libpioneers_gtk_a-theme.$(OBJEXT) libpioneers_gtk_a_OBJECTS = $(am_libpioneers_gtk_a_OBJECTS) libpioneers_server_a_AR = $(AR) $(ARFLAGS) libpioneers_server_a_LIBADD = am__libpioneers_server_a_SOURCES_DIST = server/admin.c server/admin.h \ server/avahi.c server/avahi.h server/buildutil.c \ server/develop.c server/discard.c server/gold.c server/meta.c \ server/player.c server/pregame.c server/resource.c \ server/robber.c server/server.c server/server.h server/trade.c \ server/turn.c @BUILD_SERVER_TRUE@am_libpioneers_server_a_OBJECTS = server/libpioneers_server_a-admin.$(OBJEXT) \ @BUILD_SERVER_TRUE@ server/libpioneers_server_a-avahi.$(OBJEXT) \ @BUILD_SERVER_TRUE@ server/libpioneers_server_a-buildutil.$(OBJEXT) \ @BUILD_SERVER_TRUE@ server/libpioneers_server_a-develop.$(OBJEXT) \ @BUILD_SERVER_TRUE@ server/libpioneers_server_a-discard.$(OBJEXT) \ @BUILD_SERVER_TRUE@ server/libpioneers_server_a-gold.$(OBJEXT) \ @BUILD_SERVER_TRUE@ server/libpioneers_server_a-meta.$(OBJEXT) \ @BUILD_SERVER_TRUE@ server/libpioneers_server_a-player.$(OBJEXT) \ @BUILD_SERVER_TRUE@ server/libpioneers_server_a-pregame.$(OBJEXT) \ @BUILD_SERVER_TRUE@ server/libpioneers_server_a-resource.$(OBJEXT) \ @BUILD_SERVER_TRUE@ server/libpioneers_server_a-robber.$(OBJEXT) \ @BUILD_SERVER_TRUE@ server/libpioneers_server_a-server.$(OBJEXT) \ @BUILD_SERVER_TRUE@ server/libpioneers_server_a-trade.$(OBJEXT) \ @BUILD_SERVER_TRUE@ server/libpioneers_server_a-turn.$(OBJEXT) libpioneers_server_a_OBJECTS = $(am_libpioneers_server_a_OBJECTS) libpioneersclient_a_AR = $(AR) $(ARFLAGS) libpioneersclient_a_LIBADD = am__libpioneersclient_a_SOURCES_DIST = client/callback.h \ client/common/build.c client/common/callback.c \ client/common/client.c client/common/client.h \ client/common/develop.c client/common/main.c \ client/common/player.c client/common/resource.c \ client/common/robber.c client/common/setup.c \ client/common/stock.c client/common/turn.c @BUILD_CLIENT_TRUE@am_libpioneersclient_a_OBJECTS = client/common/libpioneersclient_a-build.$(OBJEXT) \ @BUILD_CLIENT_TRUE@ client/common/libpioneersclient_a-callback.$(OBJEXT) \ @BUILD_CLIENT_TRUE@ client/common/libpioneersclient_a-client.$(OBJEXT) \ @BUILD_CLIENT_TRUE@ client/common/libpioneersclient_a-develop.$(OBJEXT) \ @BUILD_CLIENT_TRUE@ client/common/libpioneersclient_a-main.$(OBJEXT) \ @BUILD_CLIENT_TRUE@ client/common/libpioneersclient_a-player.$(OBJEXT) \ @BUILD_CLIENT_TRUE@ client/common/libpioneersclient_a-resource.$(OBJEXT) \ @BUILD_CLIENT_TRUE@ client/common/libpioneersclient_a-robber.$(OBJEXT) \ @BUILD_CLIENT_TRUE@ client/common/libpioneersclient_a-setup.$(OBJEXT) \ @BUILD_CLIENT_TRUE@ client/common/libpioneersclient_a-stock.$(OBJEXT) \ @BUILD_CLIENT_TRUE@ client/common/libpioneersclient_a-turn.$(OBJEXT) libpioneersclient_a_OBJECTS = $(am_libpioneersclient_a_OBJECTS) @BUILD_CLIENT_TRUE@am__EXEEXT_1 = pioneersai$(EXEEXT) @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@am__EXEEXT_2 = pioneers$(EXEEXT) @BUILD_SERVER_TRUE@@HAVE_GTK_TRUE@am__EXEEXT_3 = pioneers-server-gtk$(EXEEXT) @BUILD_SERVER_TRUE@am__EXEEXT_4 = pioneers-server-console$(EXEEXT) @BUILD_METASERVER_TRUE@am__EXEEXT_5 = pioneers-metaserver$(EXEEXT) @BUILD_EDITOR_TRUE@@HAVE_GTK_TRUE@am__EXEEXT_6 = \ @BUILD_EDITOR_TRUE@@HAVE_GTK_TRUE@ pioneers-editor$(EXEEXT) am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man6dir)" \ "$(DESTDIR)$(actionsdir)" "$(DESTDIR)$(ccflickrthemedir)" \ "$(DESTDIR)$(classicthemedir)" "$(DESTDIR)$(configdir)" \ "$(DESTDIR)$(desktopdir)" "$(DESTDIR)$(freecivthemedir)" \ "$(DESTDIR)$(icelandthemedir)" "$(DESTDIR)$(icondir)" \ "$(DESTDIR)$(nouvelliathemedir)" "$(DESTDIR)$(pixmapdir)" \ "$(DESTDIR)$(tinythemedir)" "$(DESTDIR)$(wesnoththemedir)" PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) am__pioneers_SOURCES_DIST = client/gtk/admin-gtk.c client/callback.h \ client/gtk/audio.h client/gtk/avahi.h \ client/gtk/avahi-browser.h client/gtk/frontend.h \ client/gtk/gui.h client/gtk/histogram.h client/gtk/audio.c \ client/gtk/avahi.c client/gtk/avahi-browser.c \ client/gtk/callbacks.c client/gtk/chat.c client/gtk/connect.c \ client/gtk/develop.c client/gtk/discard.c \ client/gtk/frontend.c client/gtk/gameover.c client/gtk/gold.c \ client/gtk/gui.c client/gtk/histogram.c client/gtk/identity.c \ client/gtk/interface.c client/gtk/legend.c \ client/gtk/monopoly.c client/gtk/name.c \ client/gtk/notification.c client/gtk/notification.h \ client/gtk/offline.c client/gtk/plenty.c client/gtk/player.c \ client/gtk/quote.c client/gtk/quote-view.c \ client/gtk/quote-view.h client/gtk/resource.c \ client/gtk/resource-view.gob \ client/gtk/resource-view.gob.stamp client/gtk/resource-view.c \ client/gtk/resource-view.h client/gtk/resource-view-private.h \ client/gtk/resource-table.c client/gtk/resource-table.h \ client/gtk/settingscreen.c client/gtk/state.c \ client/gtk/trade.c @ADMIN_GTK_SUPPORT_TRUE@@BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@am__objects_1 = client/gtk/pioneers-admin-gtk.$(OBJEXT) @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@am_pioneers_OBJECTS = \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ $(am__objects_1) \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/pioneers-audio.$(OBJEXT) \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/pioneers-avahi.$(OBJEXT) \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/pioneers-avahi-browser.$(OBJEXT) \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/pioneers-callbacks.$(OBJEXT) \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/pioneers-chat.$(OBJEXT) \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/pioneers-connect.$(OBJEXT) \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/pioneers-develop.$(OBJEXT) \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/pioneers-discard.$(OBJEXT) \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/pioneers-frontend.$(OBJEXT) \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/pioneers-gameover.$(OBJEXT) \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/pioneers-gold.$(OBJEXT) \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/pioneers-gui.$(OBJEXT) \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/pioneers-histogram.$(OBJEXT) \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/pioneers-identity.$(OBJEXT) \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/pioneers-interface.$(OBJEXT) \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/pioneers-legend.$(OBJEXT) \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/pioneers-monopoly.$(OBJEXT) \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/pioneers-name.$(OBJEXT) \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/pioneers-notification.$(OBJEXT) \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/pioneers-offline.$(OBJEXT) \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/pioneers-plenty.$(OBJEXT) \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/pioneers-player.$(OBJEXT) \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/pioneers-quote.$(OBJEXT) \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/pioneers-quote-view.$(OBJEXT) \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/pioneers-resource.$(OBJEXT) \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/pioneers-resource-view.$(OBJEXT) \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/pioneers-resource-table.$(OBJEXT) \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/pioneers-settingscreen.$(OBJEXT) \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/pioneers-state.$(OBJEXT) \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/pioneers-trade.$(OBJEXT) am__EXTRA_pioneers_SOURCES_DIST = client/gtk/admin-gtk.c pioneers_OBJECTS = $(am_pioneers_OBJECTS) am__DEPENDENCIES_1 = am__DEPENDENCIES_2 = libpioneers.a \ $(top_builddir)/common/libpioneers_a-driver.o \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) am__DEPENDENCIES_3 = $(am__DEPENDENCIES_2) libpioneers_gtk.a \ $(am__DEPENDENCIES_1) am__DEPENDENCIES_4 = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@pioneers_DEPENDENCIES = \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ libpioneersclient.a \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ $(am__DEPENDENCIES_3) \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ $(am__DEPENDENCIES_4) \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ $(am__DEPENDENCIES_1) \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ $(am__append_11) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent am__v_lt_1 = am__pioneers_editor_SOURCES_DIST = editor/gtk/editor.c \ editor/gtk/game-devcards.c editor/gtk/game-devcards.h \ editor/gtk/game-buildings.c editor/gtk/game-buildings.h \ editor/gtk/game-resources.c editor/gtk/game-resources.h \ editor/gtk/pioneers-editor.ico editor/gtk/pioneers-editor.rc @BUILD_EDITOR_TRUE@@HAVE_GTK_TRUE@am_pioneers_editor_OBJECTS = editor/gtk/pioneers_editor-editor.$(OBJEXT) \ @BUILD_EDITOR_TRUE@@HAVE_GTK_TRUE@ editor/gtk/pioneers_editor-game-devcards.$(OBJEXT) \ @BUILD_EDITOR_TRUE@@HAVE_GTK_TRUE@ editor/gtk/pioneers_editor-game-buildings.$(OBJEXT) \ @BUILD_EDITOR_TRUE@@HAVE_GTK_TRUE@ editor/gtk/pioneers_editor-game-resources.$(OBJEXT) pioneers_editor_OBJECTS = $(am_pioneers_editor_OBJECTS) @BUILD_EDITOR_TRUE@@HAVE_GTK_TRUE@pioneers_editor_DEPENDENCIES = \ @BUILD_EDITOR_TRUE@@HAVE_GTK_TRUE@ $(am__DEPENDENCIES_3) \ @BUILD_EDITOR_TRUE@@HAVE_GTK_TRUE@ $(am__append_27) am__pioneers_metaserver_SOURCES_DIST = metaserver/main.c @BUILD_METASERVER_TRUE@am_pioneers_metaserver_OBJECTS = metaserver/pioneers_metaserver-main.$(OBJEXT) pioneers_metaserver_OBJECTS = $(am_pioneers_metaserver_OBJECTS) @BUILD_METASERVER_TRUE@pioneers_metaserver_DEPENDENCIES = \ @BUILD_METASERVER_TRUE@ $(am__DEPENDENCIES_2) am__pioneers_server_console_SOURCES_DIST = server/main.c \ server/glib-driver.c server/glib-driver.h @BUILD_SERVER_TRUE@am_pioneers_server_console_OBJECTS = server/pioneers_server_console-main.$(OBJEXT) \ @BUILD_SERVER_TRUE@ server/pioneers_server_console-glib-driver.$(OBJEXT) pioneers_server_console_OBJECTS = \ $(am_pioneers_server_console_OBJECTS) @BUILD_SERVER_TRUE@pioneers_server_console_DEPENDENCIES = \ @BUILD_SERVER_TRUE@ libpioneers_server.a $(am__DEPENDENCIES_2) \ @BUILD_SERVER_TRUE@ $(am__DEPENDENCIES_4) am__pioneers_server_gtk_SOURCES_DIST = server/gtk/main.c \ server/gtk/pioneers-server.ico server/gtk/pioneers-server.rc @BUILD_SERVER_TRUE@@HAVE_GTK_TRUE@am_pioneers_server_gtk_OBJECTS = server/gtk/pioneers_server_gtk-main.$(OBJEXT) pioneers_server_gtk_OBJECTS = $(am_pioneers_server_gtk_OBJECTS) @BUILD_SERVER_TRUE@@HAVE_GTK_TRUE@pioneers_server_gtk_DEPENDENCIES = \ @BUILD_SERVER_TRUE@@HAVE_GTK_TRUE@ libpioneers_server.a \ @BUILD_SERVER_TRUE@@HAVE_GTK_TRUE@ $(am__DEPENDENCIES_3) \ @BUILD_SERVER_TRUE@@HAVE_GTK_TRUE@ $(am__DEPENDENCIES_4) \ @BUILD_SERVER_TRUE@@HAVE_GTK_TRUE@ $(am__append_18) am__pioneersai_SOURCES_DIST = client/callback.h client/ai/ai.h \ client/ai/ai.c client/ai/genetic.c client/ai/genetic_core.h \ client/ai/genetic_core.c client/ai/greedy.c \ client/ai/lobbybot.c @BUILD_CLIENT_TRUE@am_pioneersai_OBJECTS = \ @BUILD_CLIENT_TRUE@ client/ai/pioneersai-ai.$(OBJEXT) \ @BUILD_CLIENT_TRUE@ client/ai/pioneersai-genetic.$(OBJEXT) \ @BUILD_CLIENT_TRUE@ client/ai/pioneersai-genetic_core.$(OBJEXT) \ @BUILD_CLIENT_TRUE@ client/ai/pioneersai-greedy.$(OBJEXT) \ @BUILD_CLIENT_TRUE@ client/ai/pioneersai-lobbybot.$(OBJEXT) pioneersai_OBJECTS = $(am_pioneersai_OBJECTS) @BUILD_CLIENT_TRUE@pioneersai_DEPENDENCIES = libpioneersclient.a \ @BUILD_CLIENT_TRUE@ $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = $(libpioneers_a_SOURCES) $(libpioneers_gtk_a_SOURCES) \ $(libpioneers_server_a_SOURCES) $(libpioneersclient_a_SOURCES) \ $(pioneers_SOURCES) $(EXTRA_pioneers_SOURCES) \ $(pioneers_editor_SOURCES) $(pioneers_metaserver_SOURCES) \ $(pioneers_server_console_SOURCES) \ $(pioneers_server_gtk_SOURCES) $(pioneersai_SOURCES) DIST_SOURCES = $(libpioneers_a_SOURCES) \ $(am__libpioneers_gtk_a_SOURCES_DIST) \ $(am__libpioneers_server_a_SOURCES_DIST) \ $(am__libpioneersclient_a_SOURCES_DIST) \ $(am__pioneers_SOURCES_DIST) \ $(am__EXTRA_pioneers_SOURCES_DIST) \ $(am__pioneers_editor_SOURCES_DIST) \ $(am__pioneers_metaserver_SOURCES_DIST) \ $(am__pioneers_server_console_SOURCES_DIST) \ $(am__pioneers_server_gtk_SOURCES_DIST) \ $(am__pioneersai_SOURCES_DIST) RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } man6dir = $(mandir)/man6 NROFF = nroff MANS = $(man_MANS) DATA = $(actions_DATA) $(ccflickrtheme_DATA) $(classictheme_DATA) \ $(config_DATA) $(desktop_DATA) $(freecivtheme_DATA) \ $(icelandtheme_DATA) $(icon_DATA) $(nouvelliatheme_DATA) \ $(pixmap_DATA) $(tinytheme_DATA) $(wesnoththeme_DATA) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ cscope distdir dist dist-all distcheck am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ $(LISP)config.h.in # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags CSCOPE = cscope DIST_SUBDIRS = client/help po am__DIST_COMMON = $(srcdir)/Doxyfile.in $(srcdir)/Makefile.in \ $(srcdir)/MinGW/Makefile.am $(srcdir)/client/Makefile.am \ $(srcdir)/client/ai/Makefile.am \ $(srcdir)/client/common/Makefile.am \ $(srcdir)/client/gtk/Makefile.am \ $(srcdir)/client/gtk/data/Makefile.am \ $(srcdir)/client/gtk/data/themes/Classic/Makefile.am \ $(srcdir)/client/gtk/data/themes/FreeCIV-like/Makefile.am \ $(srcdir)/client/gtk/data/themes/Iceland/Makefile.am \ $(srcdir)/client/gtk/data/themes/Makefile.am \ $(srcdir)/client/gtk/data/themes/Nouvellia/Makefile.am \ $(srcdir)/client/gtk/data/themes/Tiny/Makefile.am \ $(srcdir)/client/gtk/data/themes/Wesnoth-like/Makefile.am \ $(srcdir)/client/gtk/data/themes/ccFlickr/Makefile.am \ $(srcdir)/common/Makefile.am $(srcdir)/common/gtk/Makefile.am \ $(srcdir)/config.h.in $(srcdir)/docs/Makefile.am \ $(srcdir)/editor/Makefile.am $(srcdir)/editor/gtk/Makefile.am \ $(srcdir)/metaserver/Makefile.am $(srcdir)/pioneers.spec.in \ $(srcdir)/server/Makefile.am $(srcdir)/server/gtk/Makefile.am \ $(top_srcdir)/MinGW/pioneers.nsi.in AUTHORS COPYING ChangeLog \ NEWS README TODO compile config.guess config.sub depcomp \ install-sh ltmain.sh missing DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ if test -d "$(distdir)"; then \ find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ && rm -rf "$(distdir)" \ || { sleep 5 && rm -rf "$(distdir)"; }; \ else :; fi am__post_remove_distdir = $(am__remove_distdir) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" DIST_ARCHIVES = $(distdir).tar.gz GZIP_ENV = --best DIST_TARGETS = dist-gzip distuninstallcheck_listfiles = find . -type f -print am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_CFLAGS = @AM_CFLAGS@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AM_LDFLAGS = @AM_LDFLAGS@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AVAHI_CLIENT_CFLAGS = @AVAHI_CLIENT_CFLAGS@ AVAHI_CLIENT_LIBS = @AVAHI_CLIENT_LIBS@ AVAHI_GLIB_CFLAGS = @AVAHI_GLIB_CFLAGS@ AVAHI_GLIB_LIBS = @AVAHI_GLIB_LIBS@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEBUGGING = @DEBUGGING@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GIO2_CFLAGS = @GIO2_CFLAGS@ GIO2_LIBS = @GIO2_LIBS@ GLIB2_CFLAGS = @GLIB2_CFLAGS@ GLIB2_LIBS = @GLIB2_LIBS@ GLIB_DEPRECATION = @GLIB_DEPRECATION@ GLIB_REQUIRED_VERSION = @GLIB_REQUIRED_VERSION@ GMSGFMT = @GMSGFMT@ GOB2 = @GOB2@ GOBJECT2_CFLAGS = @GOBJECT2_CFLAGS@ GOBJECT2_LIBS = @GOBJECT2_LIBS@ GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_DEPRECATION = @GTK_DEPRECATION@ GTK_LIBS = @GTK_LIBS@ GTK_OPTIMAL_VERSION_CFLAGS = @GTK_OPTIMAL_VERSION_CFLAGS@ GTK_OPTIMAL_VERSION_LIBS = @GTK_OPTIMAL_VERSION_LIBS@ GTK_REQUIRED_VERSION = @GTK_REQUIRED_VERSION@ HELP_DIR = @HELP_DIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ ITSTOOL = @ITSTOOL@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBNOTIFY_CFLAGS = @LIBNOTIFY_CFLAGS@ LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WARNINGS = @WARNINGS@ XGETTEXT = @XGETTEXT@ XMLLINT = @XMLLINT@ YELP_LC_DIST = @YELP_LC_DIST@ YELP_LC_MEDIA_LINKS = @YELP_LC_MEDIA_LINKS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ pioneers_datadir = @pioneers_datadir@ pioneers_iconthemedir = @pioneers_iconthemedir@ pioneers_localedir = @pioneers_localedir@ pioneers_themedir = @pioneers_themedir@ pioneers_themedir_embed = @pioneers_themedir_embed@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ svg_renderer_height = @svg_renderer_height@ svg_renderer_output = @svg_renderer_output@ svg_renderer_path = @svg_renderer_path@ svg_renderer_width = @svg_renderer_width@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ whitespace_trick = @whitespace_trick@ # some settings console_cflags = \ -I$(top_srcdir)/common \ -I$(top_builddir)/common \ -I$(includedir) \ $(GLIB2_CFLAGS) \ $(GIO2_CFLAGS) \ $(WARNINGS) \ $(DEBUGGING) \ $(GLIB_DEPRECATION) \ -DDATADIR=\""$(pioneers_datadir)"\" \ -DTHEMEDIR=\""$(pioneers_themedir_embed)"\" \ -DLOCALEDIR=\""$(pioneers_localedir)"\" \ -DPIONEERS_DIR_DEFAULT=\""$(pioneers_datadir)/games/pioneers"\" \ -DPIONEERS_SERVER_CONSOLE_PROGRAM_NAME=\""pioneers-server-console$(EXEEXT)"\" \ -DPIONEERS_SERVER_GTK_PROGRAM_NAME=\""pioneers-server-gtk$(EXEEXT)"\" \ -DPIONEERS_CLIENT_GTK_PROGRAM_NAME=\""pioneers$(EXEEXT)"\" \ -DPIONEERS_AI_PROGRAM_NAME=\""pioneersai$(EXEEXT)"\" avahi_cflags = \ $(AVAHI_CLIENT_CFLAGS) \ $(AVAHI_GLIB_CFLAGS) gtk_cflags = \ $(console_cflags) \ -I$(top_srcdir)/common/gtk \ $(GTK_CFLAGS) \ $(GTK_DEPRECATION) # The Fink port needs an explicit reference to driver.o console_libs = \ libpioneers.a \ $(top_builddir)/common/libpioneers_a-driver.o \ $(GLIB2_LIBS) \ $(GIO2_LIBS) avahi_libs = \ $(AVAHI_CLIENT_LIBS) \ $(AVAHI_GLIB_LIBS) gtk_libs = \ $(console_libs) \ libpioneers_gtk.a \ $(GTK_LIBS) configdir = $(datadir)/games/pioneers icondir = $(datadir)/pixmaps pixmapdir = $(datadir)/pixmaps/pioneers actionsdir = $(pioneers_iconthemedir)/scalable/actions desktopdir = $(datadir)/applications # Let object files be generated in their own subdirectories AUTOMAKE_OPTIONS = subdir-objects foreign # set up these variables so the included Makefile.ams can use += # po doesn't use automake, but creates its own Makefile SUBDIRS = $(am__append_29) po noinst_LIBRARIES = $(am__append_1) $(am__append_21) libpioneers.a \ $(am__append_30) man_MANS = docs/pioneers.6 docs/pioneers-server-gtk.6 \ docs/pioneers-server-console.6 docs/pioneersai.6 \ docs/pioneers-metaserver.6 docs/pioneers-editor.6 config_DATA = $(am__append_3) server/default.game \ server/5-6-player.game server/four-islands.game \ server/seafarers.game server/seafarers-gold.game \ server/small.game server/archipel_gold.game server/canyon.game \ server/coeur.game server/conquest.game \ server/conquest+ports.game server/crane_island.game \ server/iles.game server/pond.game server/square.game \ server/star.game server/x.game server/Cube.game \ server/Another_swimming_pool_in_the_wall.game \ server/Evil_square.game server/GuerreDe100ans.game \ server/Mini_another_swimming_pool_in_the_wall.game \ server/henjes.game server/lorindol.game server/lobby.game \ server/south_africa.game server/ubuntuland.game \ server/north_america.game icon_DATA = $(am__append_7) $(am__append_14) $(am__append_23) pixmap_DATA = $(am__append_9) actions_DATA = $(am__append_33) desktop_in_files = $(am__append_5) $(am__append_15) $(am__append_24) CLEANFILES = $(am__append_12) $(am__append_19) $(am__append_28) \ common/authors.h common/version.h DISTCLEANFILES = $(desktop_in_files:.desktop.in=.desktop) \ intltool-extract intltool-merge intltool-update # Make use of some of the variables that were filled in by the included # Makefile.ams MAINTAINERCLEANFILES = $(am__append_10) $(am__append_32) \ common/notifying-string.gob.stamp common/notifying-string.c \ common/notifying-string.h common/notifying-string-private.h \ $(icon_DATA) EXTRA_DIST = autogen.sh pioneers.spec README.Cygwin README.MinGW \ Doxyfile $(am__append_6) $(srcdir)/MinGW/loaders.cache \ $(srcdir)/MinGW/README.txt $(man_MANS) $(desktop_in_files) \ $(config_DATA) $(pixmap_DATA) $(icon_DATA) $(subst \ png,svg,$(icon_DATA)) $(actions_DATA) $(icons) $(subst \ .svg,.48x48_apps.png,$(icons)) # Application icons, in various sizes BUILT_SOURCES = $(am__append_13) $(am__append_31) common/authors.h \ common/notifying-string.gob.stamp common/notifying-string.c \ common/notifying-string.h common/notifying-string-private.h \ common/version.h $(subst .svg,.48x48_apps.png,$(icons)) icons = $(am__append_8) $(am__append_17) $(am__append_26) @BUILD_CLIENT_TRUE@libpioneersclient_a_CPPFLAGS = -I$(top_srcdir)/client $(console_cflags) @BUILD_CLIENT_TRUE@libpioneersclient_a_SOURCES = \ @BUILD_CLIENT_TRUE@ client/callback.h \ @BUILD_CLIENT_TRUE@ client/common/build.c \ @BUILD_CLIENT_TRUE@ client/common/callback.c \ @BUILD_CLIENT_TRUE@ client/common/client.c \ @BUILD_CLIENT_TRUE@ client/common/client.h \ @BUILD_CLIENT_TRUE@ client/common/develop.c \ @BUILD_CLIENT_TRUE@ client/common/main.c \ @BUILD_CLIENT_TRUE@ client/common/player.c \ @BUILD_CLIENT_TRUE@ client/common/resource.c \ @BUILD_CLIENT_TRUE@ client/common/robber.c \ @BUILD_CLIENT_TRUE@ client/common/setup.c \ @BUILD_CLIENT_TRUE@ client/common/stock.c \ @BUILD_CLIENT_TRUE@ client/common/turn.c @BUILD_CLIENT_TRUE@pioneersai_CPPFLAGS = -I$(top_srcdir)/client -I$(top_srcdir)/client/common $(console_cflags) $(GOBJECT2_CFLAGS) -DINTEGRATE_GENETIC_ALGORITHM @BUILD_CLIENT_TRUE@pioneersai_SOURCES = \ @BUILD_CLIENT_TRUE@ client/callback.h \ @BUILD_CLIENT_TRUE@ client/ai/ai.h \ @BUILD_CLIENT_TRUE@ client/ai/ai.c \ @BUILD_CLIENT_TRUE@ client/ai/genetic.c \ @BUILD_CLIENT_TRUE@ client/ai/genetic_core.h \ @BUILD_CLIENT_TRUE@ client/ai/genetic_core.c \ @BUILD_CLIENT_TRUE@ client/ai/greedy.c \ @BUILD_CLIENT_TRUE@ client/ai/lobbybot.c @BUILD_CLIENT_TRUE@pioneersai_LDADD = libpioneersclient.a $(console_libs) $(GOBJECT2_LIBS) @ADMIN_GTK_SUPPORT_FALSE@@BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ADMIN_GTK = # if anyone knows a cleaner way to do this, be my guest. Automake screamed # at me when I tried to do it more directly. @ADMIN_GTK_SUPPORT_TRUE@@BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ADMIN_GTK = -DADMIN_GTK @ADMIN_GTK_SUPPORT_FALSE@@BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ADMIN_GTK_FILES_ACTIVE = @ADMIN_GTK_SUPPORT_TRUE@@BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ADMIN_GTK_FILES_ACTIVE = client/gtk/admin-gtk.c @ADMIN_GTK_SUPPORT_FALSE@@BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ADMIN_GTK_FILES_INACTIVE = client/gtk/admin-gtk.c @ADMIN_GTK_SUPPORT_TRUE@@BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ADMIN_GTK_FILES_INACTIVE = @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@pioneers_CPPFLAGS = -I$(top_srcdir)/client -I$(top_srcdir)/client/common $(LIBNOTIFY_CFLAGS) $(gtk_cflags) $(ADMIN_GTK) $(avahi_cflags) @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@EXTRA_pioneers_SOURCES = $(ADMIN_GTK_FILES_INACTIVE) @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@pioneers_SOURCES = \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ $(ADMIN_GTK_FILES_ACTIVE) \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/callback.h \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/audio.h \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/avahi.h \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/avahi-browser.h \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/frontend.h \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/gui.h \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/histogram.h \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/audio.c \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/avahi.c \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/avahi-browser.c \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/callbacks.c \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/chat.c \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/connect.c \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/develop.c \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/discard.c \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/frontend.c \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/gameover.c \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/gold.c \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/gui.c \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/histogram.c \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/identity.c \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/interface.c \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/legend.c \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/monopoly.c \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/name.c \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/notification.c \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/notification.h \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/offline.c \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/plenty.c \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/player.c \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/quote.c \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/quote-view.c \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/quote-view.h \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/resource.c \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/resource-view.gob \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/resource-view.gob.stamp \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/resource-view.c \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/resource-view.h \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/resource-view-private.h \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/resource-table.c \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/resource-table.h \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/settingscreen.c \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/state.c \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/trade.c @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@pioneers_LDADD = \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ libpioneersclient.a \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ $(gtk_libs) $(avahi_libs) \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ $(LIBNOTIFY_LIBS) \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ $(am__append_11) @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ccflickrthemedir = $(pioneers_themedir)/ccFlickr @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ccflickrtheme_DATA = \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/ccFlickr/ATTRIB \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/ccFlickr/board.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/ccFlickr/brick.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/ccFlickr/desert.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/ccFlickr/gold.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/ccFlickr/grain.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/ccFlickr/lumber.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/ccFlickr/ore.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/ccFlickr/port-brick.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/ccFlickr/port-gold.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/ccFlickr/port-grain.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/ccFlickr/port-lumber.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/ccFlickr/port-ore.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/ccFlickr/port-wool.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/ccFlickr/sea.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/ccFlickr/theme.cfg \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/ccFlickr/wool.png @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@classicthemedir = $(pioneers_themedir)/Classic @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@classictheme_DATA = \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Classic/board.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Classic/desert.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Classic/field.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Classic/forest.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Classic/gold.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Classic/hill.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Classic/mountain.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Classic/pasture.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Classic/sea.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Classic/theme.cfg @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@freecivthemedir = $(pioneers_themedir)/FreeCIV-like @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@freecivtheme_DATA = \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/FreeCIV-like/desert.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/FreeCIV-like/forest.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/FreeCIV-like/mountain.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/FreeCIV-like/sea.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/FreeCIV-like/board.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/FreeCIV-like/field.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/FreeCIV-like/hill.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/FreeCIV-like/pasture.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/FreeCIV-like/gold.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/FreeCIV-like/theme.cfg @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@icelandthemedir = $(pioneers_themedir)/Iceland @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@icelandtheme_DATA = \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Iceland/desert.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Iceland/field_grain.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Iceland/forest_lumber.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Iceland/gold.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Iceland/hill_brick.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Iceland/mountain_ore.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Iceland/pasture_wool.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Iceland/sea.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Iceland/board.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Iceland/theme.cfg @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@nouvelliathemedir = $(pioneers_themedir)/Nouvellia @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@nouvelliatheme_DATA = \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Nouvellia/ATTRIB \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Nouvellia/board.svg \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Nouvellia/brick.svg \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Nouvellia/desert.svg \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Nouvellia/gold.svg \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Nouvellia/grain.svg \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Nouvellia/lumber.svg \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Nouvellia/ore.svg \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Nouvellia/port-brick.svg \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Nouvellia/port-grain.svg \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Nouvellia/port-lumber.svg \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Nouvellia/port-ore.svg \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Nouvellia/port-wool.svg \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Nouvellia/sea.svg \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Nouvellia/theme.cfg \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Nouvellia/wool.svg @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@tinythemedir = $(pioneers_themedir)/Tiny @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@tinytheme_DATA = \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Tiny/board.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Tiny/brick-lorindol.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Tiny/brick-port.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Tiny/desert-lorindol.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Tiny/gold-lorindol.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Tiny/grain-lorindol.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Tiny/grain-port.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Tiny/lumber-lorindol.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Tiny/lumber-port.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Tiny/ore-lorindol.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Tiny/ore-port.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Tiny/sea-lorindol.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Tiny/theme.cfg \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Tiny/wool-lorindol.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Tiny/wool-port.png @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@wesnoththemedir = $(pioneers_themedir)/Wesnoth-like @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@wesnoththeme_DATA = \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Wesnoth-like/board.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Wesnoth-like/desert.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Wesnoth-like/field.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Wesnoth-like/forest.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Wesnoth-like/gold.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Wesnoth-like/hill.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Wesnoth-like/mountain.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Wesnoth-like/pasture.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Wesnoth-like/sea.png \ @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ client/gtk/data/themes/Wesnoth-like/theme.cfg @BUILD_SERVER_TRUE@@HAVE_GTK_TRUE@pioneers_server_gtk_CPPFLAGS = $(gtk_cflags) $(avahi_cflags) -I $(srcdir)/server @BUILD_SERVER_TRUE@@HAVE_GTK_TRUE@pioneers_server_gtk_LDADD = \ @BUILD_SERVER_TRUE@@HAVE_GTK_TRUE@ libpioneers_server.a \ @BUILD_SERVER_TRUE@@HAVE_GTK_TRUE@ $(gtk_libs) $(avahi_libs) \ @BUILD_SERVER_TRUE@@HAVE_GTK_TRUE@ $(am__append_18) @BUILD_SERVER_TRUE@@HAVE_GTK_TRUE@pioneers_server_gtk_SOURCES = \ @BUILD_SERVER_TRUE@@HAVE_GTK_TRUE@ server/gtk/main.c \ @BUILD_SERVER_TRUE@@HAVE_GTK_TRUE@ server/gtk/pioneers-server.ico \ @BUILD_SERVER_TRUE@@HAVE_GTK_TRUE@ server/gtk/pioneers-server.rc @BUILD_SERVER_TRUE@pioneers_server_console_CPPFLAGS = $(console_cflags) @BUILD_SERVER_TRUE@libpioneers_server_a_CPPFLAGS = $(console_cflags) $(avahi_cflags) @BUILD_SERVER_TRUE@libpioneers_server_a_SOURCES = \ @BUILD_SERVER_TRUE@ server/admin.c \ @BUILD_SERVER_TRUE@ server/admin.h \ @BUILD_SERVER_TRUE@ server/avahi.c \ @BUILD_SERVER_TRUE@ server/avahi.h \ @BUILD_SERVER_TRUE@ server/buildutil.c \ @BUILD_SERVER_TRUE@ server/develop.c \ @BUILD_SERVER_TRUE@ server/discard.c \ @BUILD_SERVER_TRUE@ server/gold.c \ @BUILD_SERVER_TRUE@ server/meta.c \ @BUILD_SERVER_TRUE@ server/player.c \ @BUILD_SERVER_TRUE@ server/pregame.c \ @BUILD_SERVER_TRUE@ server/resource.c \ @BUILD_SERVER_TRUE@ server/robber.c \ @BUILD_SERVER_TRUE@ server/server.c \ @BUILD_SERVER_TRUE@ server/server.h \ @BUILD_SERVER_TRUE@ server/trade.c \ @BUILD_SERVER_TRUE@ server/turn.c @BUILD_SERVER_TRUE@pioneers_server_console_SOURCES = \ @BUILD_SERVER_TRUE@ server/main.c \ @BUILD_SERVER_TRUE@ server/glib-driver.c \ @BUILD_SERVER_TRUE@ server/glib-driver.h @BUILD_SERVER_TRUE@pioneers_server_console_LDADD = libpioneers_server.a $(console_libs) $(avahi_libs) @BUILD_METASERVER_TRUE@pioneers_metaserver_CPPFLAGS = $(console_cflags) @BUILD_METASERVER_TRUE@pioneers_metaserver_LDADD = $(console_libs) @BUILD_METASERVER_TRUE@pioneers_metaserver_SOURCES = \ @BUILD_METASERVER_TRUE@ metaserver/main.c @BUILD_EDITOR_TRUE@@HAVE_GTK_TRUE@pioneers_editor_CPPFLAGS = $(gtk_cflags) @BUILD_EDITOR_TRUE@@HAVE_GTK_TRUE@pioneers_editor_SOURCES = \ @BUILD_EDITOR_TRUE@@HAVE_GTK_TRUE@ editor/gtk/editor.c \ @BUILD_EDITOR_TRUE@@HAVE_GTK_TRUE@ editor/gtk/game-devcards.c \ @BUILD_EDITOR_TRUE@@HAVE_GTK_TRUE@ editor/gtk/game-devcards.h \ @BUILD_EDITOR_TRUE@@HAVE_GTK_TRUE@ editor/gtk/game-buildings.c \ @BUILD_EDITOR_TRUE@@HAVE_GTK_TRUE@ editor/gtk/game-buildings.h \ @BUILD_EDITOR_TRUE@@HAVE_GTK_TRUE@ editor/gtk/game-resources.c \ @BUILD_EDITOR_TRUE@@HAVE_GTK_TRUE@ editor/gtk/game-resources.h \ @BUILD_EDITOR_TRUE@@HAVE_GTK_TRUE@ editor/gtk/pioneers-editor.ico \ @BUILD_EDITOR_TRUE@@HAVE_GTK_TRUE@ editor/gtk/pioneers-editor.rc @BUILD_EDITOR_TRUE@@HAVE_GTK_TRUE@pioneers_editor_LDADD = $(gtk_libs) \ @BUILD_EDITOR_TRUE@@HAVE_GTK_TRUE@ $(am__append_27) @HAVE_GTK_TRUE@libpioneers_gtk_a_CPPFLAGS = $(gtk_cflags) @HAVE_GTK_TRUE@libpioneers_gtk_a_SOURCES = \ @HAVE_GTK_TRUE@ common/gtk/aboutbox.c \ @HAVE_GTK_TRUE@ common/gtk/aboutbox.h \ @HAVE_GTK_TRUE@ common/gtk/colors.c \ @HAVE_GTK_TRUE@ common/gtk/colors.h \ @HAVE_GTK_TRUE@ common/gtk/common_gtk.c \ @HAVE_GTK_TRUE@ common/gtk/common_gtk.h \ @HAVE_GTK_TRUE@ common/gtk/config-gnome.c \ @HAVE_GTK_TRUE@ common/gtk/config-gnome.h \ @HAVE_GTK_TRUE@ common/gtk/game-rules.c \ @HAVE_GTK_TRUE@ common/gtk/game-rules.h \ @HAVE_GTK_TRUE@ common/gtk/game-settings.c \ @HAVE_GTK_TRUE@ common/gtk/game-settings.h \ @HAVE_GTK_TRUE@ common/gtk/guimap.c \ @HAVE_GTK_TRUE@ common/gtk/guimap.h \ @HAVE_GTK_TRUE@ common/gtk/map-icons.c \ @HAVE_GTK_TRUE@ common/gtk/map-icons.h \ @HAVE_GTK_TRUE@ common/gtk/metaserver.c \ @HAVE_GTK_TRUE@ common/gtk/metaserver.h \ @HAVE_GTK_TRUE@ common/gtk/player-icon.c \ @HAVE_GTK_TRUE@ common/gtk/player-icon.h \ @HAVE_GTK_TRUE@ common/gtk/polygon.c \ @HAVE_GTK_TRUE@ common/gtk/polygon.h \ @HAVE_GTK_TRUE@ common/gtk/scrollable-text-view.gob \ @HAVE_GTK_TRUE@ common/gtk/scrollable-text-view.gob.stamp \ @HAVE_GTK_TRUE@ common/gtk/scrollable-text-view.c \ @HAVE_GTK_TRUE@ common/gtk/scrollable-text-view.h \ @HAVE_GTK_TRUE@ common/gtk/select-game.c \ @HAVE_GTK_TRUE@ common/gtk/select-game.h \ @HAVE_GTK_TRUE@ common/gtk/theme.c \ @HAVE_GTK_TRUE@ common/gtk/theme.h libpioneers_a_CPPFLAGS = $(console_cflags) libpioneers_a_SOURCES = \ common/authors.h \ common/buildrec.c \ common/buildrec.h \ common/cards.c \ common/cards.h \ common/common_glib.c \ common/common_glib.h \ common/cost.c \ common/cost.h \ common/deck.c \ common/deck.h \ common/driver.c \ common/driver.h \ common/game.c \ common/game.h \ common/game-list.c \ common/game-list.h \ common/log.c \ common/log.h \ common/map.c \ common/map.h \ common/map_query.c \ common/network.c \ common/network.h \ common/notifying-string.gob \ common/notifying-string.gob.stamp \ common/notifying-string.c \ common/notifying-string.h \ common/notifying-string-private.h \ common/quoteinfo.c \ common/quoteinfo.h \ common/random.c \ common/random.h \ common/set.c \ common/set.h \ common/state.c \ common/state.h \ common/version.h desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) all: $(BUILT_SOURCES) config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: .SUFFIXES: .c .lo .o .obj am--refresh: Makefile @: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/client/Makefile.am $(srcdir)/client/common/Makefile.am $(srcdir)/client/ai/Makefile.am $(srcdir)/client/gtk/Makefile.am $(srcdir)/client/gtk/data/Makefile.am $(srcdir)/client/gtk/data/themes/Makefile.am $(srcdir)/client/gtk/data/themes/ccFlickr/Makefile.am $(srcdir)/client/gtk/data/themes/Classic/Makefile.am $(srcdir)/client/gtk/data/themes/FreeCIV-like/Makefile.am $(srcdir)/client/gtk/data/themes/Iceland/Makefile.am $(srcdir)/client/gtk/data/themes/Nouvellia/Makefile.am $(srcdir)/client/gtk/data/themes/Tiny/Makefile.am $(srcdir)/client/gtk/data/themes/Wesnoth-like/Makefile.am $(srcdir)/server/Makefile.am $(srcdir)/server/gtk/Makefile.am $(srcdir)/metaserver/Makefile.am $(srcdir)/editor/Makefile.am $(srcdir)/editor/gtk/Makefile.am $(srcdir)/MinGW/Makefile.am $(srcdir)/common/Makefile.am $(srcdir)/common/gtk/Makefile.am $(srcdir)/docs/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ echo ' $(SHELL) ./config.status'; \ $(SHELL) ./config.status;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ esac; $(srcdir)/client/Makefile.am $(srcdir)/client/common/Makefile.am $(srcdir)/client/ai/Makefile.am $(srcdir)/client/gtk/Makefile.am $(srcdir)/client/gtk/data/Makefile.am $(srcdir)/client/gtk/data/themes/Makefile.am $(srcdir)/client/gtk/data/themes/ccFlickr/Makefile.am $(srcdir)/client/gtk/data/themes/Classic/Makefile.am $(srcdir)/client/gtk/data/themes/FreeCIV-like/Makefile.am $(srcdir)/client/gtk/data/themes/Iceland/Makefile.am $(srcdir)/client/gtk/data/themes/Nouvellia/Makefile.am $(srcdir)/client/gtk/data/themes/Tiny/Makefile.am $(srcdir)/client/gtk/data/themes/Wesnoth-like/Makefile.am $(srcdir)/server/Makefile.am $(srcdir)/server/gtk/Makefile.am $(srcdir)/metaserver/Makefile.am $(srcdir)/editor/Makefile.am $(srcdir)/editor/gtk/Makefile.am $(srcdir)/MinGW/Makefile.am $(srcdir)/common/Makefile.am $(srcdir)/common/gtk/Makefile.am $(srcdir)/docs/Makefile.am $(am__empty): $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) $(am__cd) $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) $(am__aclocal_m4_deps): config.h: stamp-h1 @test -f $@ || rm -f stamp-h1 @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1 stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status @rm -f stamp-h1 cd $(top_builddir) && $(SHELL) ./config.status config.h $(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) rm -f stamp-h1 touch $@ distclean-hdr: -rm -f config.h stamp-h1 pioneers.spec: $(top_builddir)/config.status $(srcdir)/pioneers.spec.in cd $(top_builddir) && $(SHELL) ./config.status $@ Doxyfile: $(top_builddir)/config.status $(srcdir)/Doxyfile.in cd $(top_builddir) && $(SHELL) ./config.status $@ MinGW/pioneers.nsi: $(top_builddir)/config.status $(top_srcdir)/MinGW/pioneers.nsi.in cd $(top_builddir) && $(SHELL) ./config.status $@ clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) common/$(am__dirstamp): @$(MKDIR_P) common @: > common/$(am__dirstamp) common/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) common/$(DEPDIR) @: > common/$(DEPDIR)/$(am__dirstamp) common/libpioneers_a-buildrec.$(OBJEXT): common/$(am__dirstamp) \ common/$(DEPDIR)/$(am__dirstamp) common/libpioneers_a-cards.$(OBJEXT): common/$(am__dirstamp) \ common/$(DEPDIR)/$(am__dirstamp) common/libpioneers_a-common_glib.$(OBJEXT): common/$(am__dirstamp) \ common/$(DEPDIR)/$(am__dirstamp) common/libpioneers_a-cost.$(OBJEXT): common/$(am__dirstamp) \ common/$(DEPDIR)/$(am__dirstamp) common/libpioneers_a-deck.$(OBJEXT): common/$(am__dirstamp) \ common/$(DEPDIR)/$(am__dirstamp) common/libpioneers_a-driver.$(OBJEXT): common/$(am__dirstamp) \ common/$(DEPDIR)/$(am__dirstamp) common/libpioneers_a-game.$(OBJEXT): common/$(am__dirstamp) \ common/$(DEPDIR)/$(am__dirstamp) common/libpioneers_a-game-list.$(OBJEXT): common/$(am__dirstamp) \ common/$(DEPDIR)/$(am__dirstamp) common/libpioneers_a-log.$(OBJEXT): common/$(am__dirstamp) \ common/$(DEPDIR)/$(am__dirstamp) common/libpioneers_a-map.$(OBJEXT): common/$(am__dirstamp) \ common/$(DEPDIR)/$(am__dirstamp) common/libpioneers_a-map_query.$(OBJEXT): common/$(am__dirstamp) \ common/$(DEPDIR)/$(am__dirstamp) common/libpioneers_a-network.$(OBJEXT): common/$(am__dirstamp) \ common/$(DEPDIR)/$(am__dirstamp) common/libpioneers_a-notifying-string.$(OBJEXT): \ common/$(am__dirstamp) common/$(DEPDIR)/$(am__dirstamp) common/libpioneers_a-quoteinfo.$(OBJEXT): common/$(am__dirstamp) \ common/$(DEPDIR)/$(am__dirstamp) common/libpioneers_a-random.$(OBJEXT): common/$(am__dirstamp) \ common/$(DEPDIR)/$(am__dirstamp) common/libpioneers_a-set.$(OBJEXT): common/$(am__dirstamp) \ common/$(DEPDIR)/$(am__dirstamp) common/libpioneers_a-state.$(OBJEXT): common/$(am__dirstamp) \ common/$(DEPDIR)/$(am__dirstamp) libpioneers.a: $(libpioneers_a_OBJECTS) $(libpioneers_a_DEPENDENCIES) $(EXTRA_libpioneers_a_DEPENDENCIES) $(AM_V_at)-rm -f libpioneers.a $(AM_V_AR)$(libpioneers_a_AR) libpioneers.a $(libpioneers_a_OBJECTS) $(libpioneers_a_LIBADD) $(AM_V_at)$(RANLIB) libpioneers.a common/gtk/$(am__dirstamp): @$(MKDIR_P) common/gtk @: > common/gtk/$(am__dirstamp) common/gtk/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) common/gtk/$(DEPDIR) @: > common/gtk/$(DEPDIR)/$(am__dirstamp) common/gtk/libpioneers_gtk_a-aboutbox.$(OBJEXT): \ common/gtk/$(am__dirstamp) \ common/gtk/$(DEPDIR)/$(am__dirstamp) common/gtk/libpioneers_gtk_a-colors.$(OBJEXT): \ common/gtk/$(am__dirstamp) \ common/gtk/$(DEPDIR)/$(am__dirstamp) common/gtk/libpioneers_gtk_a-common_gtk.$(OBJEXT): \ common/gtk/$(am__dirstamp) \ common/gtk/$(DEPDIR)/$(am__dirstamp) common/gtk/libpioneers_gtk_a-config-gnome.$(OBJEXT): \ common/gtk/$(am__dirstamp) \ common/gtk/$(DEPDIR)/$(am__dirstamp) common/gtk/libpioneers_gtk_a-game-rules.$(OBJEXT): \ common/gtk/$(am__dirstamp) \ common/gtk/$(DEPDIR)/$(am__dirstamp) common/gtk/libpioneers_gtk_a-game-settings.$(OBJEXT): \ common/gtk/$(am__dirstamp) \ common/gtk/$(DEPDIR)/$(am__dirstamp) common/gtk/libpioneers_gtk_a-guimap.$(OBJEXT): \ common/gtk/$(am__dirstamp) \ common/gtk/$(DEPDIR)/$(am__dirstamp) common/gtk/libpioneers_gtk_a-map-icons.$(OBJEXT): \ common/gtk/$(am__dirstamp) \ common/gtk/$(DEPDIR)/$(am__dirstamp) common/gtk/libpioneers_gtk_a-metaserver.$(OBJEXT): \ common/gtk/$(am__dirstamp) \ common/gtk/$(DEPDIR)/$(am__dirstamp) common/gtk/libpioneers_gtk_a-player-icon.$(OBJEXT): \ common/gtk/$(am__dirstamp) \ common/gtk/$(DEPDIR)/$(am__dirstamp) common/gtk/libpioneers_gtk_a-polygon.$(OBJEXT): \ common/gtk/$(am__dirstamp) \ common/gtk/$(DEPDIR)/$(am__dirstamp) common/gtk/libpioneers_gtk_a-scrollable-text-view.$(OBJEXT): \ common/gtk/$(am__dirstamp) \ common/gtk/$(DEPDIR)/$(am__dirstamp) common/gtk/libpioneers_gtk_a-select-game.$(OBJEXT): \ common/gtk/$(am__dirstamp) \ common/gtk/$(DEPDIR)/$(am__dirstamp) common/gtk/libpioneers_gtk_a-theme.$(OBJEXT): \ common/gtk/$(am__dirstamp) \ common/gtk/$(DEPDIR)/$(am__dirstamp) libpioneers_gtk.a: $(libpioneers_gtk_a_OBJECTS) $(libpioneers_gtk_a_DEPENDENCIES) $(EXTRA_libpioneers_gtk_a_DEPENDENCIES) $(AM_V_at)-rm -f libpioneers_gtk.a $(AM_V_AR)$(libpioneers_gtk_a_AR) libpioneers_gtk.a $(libpioneers_gtk_a_OBJECTS) $(libpioneers_gtk_a_LIBADD) $(AM_V_at)$(RANLIB) libpioneers_gtk.a server/$(am__dirstamp): @$(MKDIR_P) server @: > server/$(am__dirstamp) server/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) server/$(DEPDIR) @: > server/$(DEPDIR)/$(am__dirstamp) server/libpioneers_server_a-admin.$(OBJEXT): server/$(am__dirstamp) \ server/$(DEPDIR)/$(am__dirstamp) server/libpioneers_server_a-avahi.$(OBJEXT): server/$(am__dirstamp) \ server/$(DEPDIR)/$(am__dirstamp) server/libpioneers_server_a-buildutil.$(OBJEXT): \ server/$(am__dirstamp) server/$(DEPDIR)/$(am__dirstamp) server/libpioneers_server_a-develop.$(OBJEXT): server/$(am__dirstamp) \ server/$(DEPDIR)/$(am__dirstamp) server/libpioneers_server_a-discard.$(OBJEXT): server/$(am__dirstamp) \ server/$(DEPDIR)/$(am__dirstamp) server/libpioneers_server_a-gold.$(OBJEXT): server/$(am__dirstamp) \ server/$(DEPDIR)/$(am__dirstamp) server/libpioneers_server_a-meta.$(OBJEXT): server/$(am__dirstamp) \ server/$(DEPDIR)/$(am__dirstamp) server/libpioneers_server_a-player.$(OBJEXT): server/$(am__dirstamp) \ server/$(DEPDIR)/$(am__dirstamp) server/libpioneers_server_a-pregame.$(OBJEXT): server/$(am__dirstamp) \ server/$(DEPDIR)/$(am__dirstamp) server/libpioneers_server_a-resource.$(OBJEXT): \ server/$(am__dirstamp) server/$(DEPDIR)/$(am__dirstamp) server/libpioneers_server_a-robber.$(OBJEXT): server/$(am__dirstamp) \ server/$(DEPDIR)/$(am__dirstamp) server/libpioneers_server_a-server.$(OBJEXT): server/$(am__dirstamp) \ server/$(DEPDIR)/$(am__dirstamp) server/libpioneers_server_a-trade.$(OBJEXT): server/$(am__dirstamp) \ server/$(DEPDIR)/$(am__dirstamp) server/libpioneers_server_a-turn.$(OBJEXT): server/$(am__dirstamp) \ server/$(DEPDIR)/$(am__dirstamp) libpioneers_server.a: $(libpioneers_server_a_OBJECTS) $(libpioneers_server_a_DEPENDENCIES) $(EXTRA_libpioneers_server_a_DEPENDENCIES) $(AM_V_at)-rm -f libpioneers_server.a $(AM_V_AR)$(libpioneers_server_a_AR) libpioneers_server.a $(libpioneers_server_a_OBJECTS) $(libpioneers_server_a_LIBADD) $(AM_V_at)$(RANLIB) libpioneers_server.a client/common/$(am__dirstamp): @$(MKDIR_P) client/common @: > client/common/$(am__dirstamp) client/common/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) client/common/$(DEPDIR) @: > client/common/$(DEPDIR)/$(am__dirstamp) client/common/libpioneersclient_a-build.$(OBJEXT): \ client/common/$(am__dirstamp) \ client/common/$(DEPDIR)/$(am__dirstamp) client/common/libpioneersclient_a-callback.$(OBJEXT): \ client/common/$(am__dirstamp) \ client/common/$(DEPDIR)/$(am__dirstamp) client/common/libpioneersclient_a-client.$(OBJEXT): \ client/common/$(am__dirstamp) \ client/common/$(DEPDIR)/$(am__dirstamp) client/common/libpioneersclient_a-develop.$(OBJEXT): \ client/common/$(am__dirstamp) \ client/common/$(DEPDIR)/$(am__dirstamp) client/common/libpioneersclient_a-main.$(OBJEXT): \ client/common/$(am__dirstamp) \ client/common/$(DEPDIR)/$(am__dirstamp) client/common/libpioneersclient_a-player.$(OBJEXT): \ client/common/$(am__dirstamp) \ client/common/$(DEPDIR)/$(am__dirstamp) client/common/libpioneersclient_a-resource.$(OBJEXT): \ client/common/$(am__dirstamp) \ client/common/$(DEPDIR)/$(am__dirstamp) client/common/libpioneersclient_a-robber.$(OBJEXT): \ client/common/$(am__dirstamp) \ client/common/$(DEPDIR)/$(am__dirstamp) client/common/libpioneersclient_a-setup.$(OBJEXT): \ client/common/$(am__dirstamp) \ client/common/$(DEPDIR)/$(am__dirstamp) client/common/libpioneersclient_a-stock.$(OBJEXT): \ client/common/$(am__dirstamp) \ client/common/$(DEPDIR)/$(am__dirstamp) client/common/libpioneersclient_a-turn.$(OBJEXT): \ client/common/$(am__dirstamp) \ client/common/$(DEPDIR)/$(am__dirstamp) libpioneersclient.a: $(libpioneersclient_a_OBJECTS) $(libpioneersclient_a_DEPENDENCIES) $(EXTRA_libpioneersclient_a_DEPENDENCIES) $(AM_V_at)-rm -f libpioneersclient.a $(AM_V_AR)$(libpioneersclient_a_AR) libpioneersclient.a $(libpioneersclient_a_OBJECTS) $(libpioneersclient_a_LIBADD) $(AM_V_at)$(RANLIB) libpioneersclient.a install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ fi; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p \ || test -f $$p1 \ ; then echo "$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n;h' \ -e 's|.*|.|' \ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) files[d] = files[d] " " $$1; \ else { print "f", $$3 "/" $$4, $$1; } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ } \ ; done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ -e 's/$$/$(EXEEXT)/' \ `; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(bindir)" && rm -f $$files clean-binPROGRAMS: @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ echo " rm -f" $$list; \ rm -f $$list || exit $$?; \ test -n "$(EXEEXT)" || exit 0; \ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list clean-noinstPROGRAMS: @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ echo " rm -f" $$list; \ rm -f $$list || exit $$?; \ test -n "$(EXEEXT)" || exit 0; \ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list client/gtk/$(am__dirstamp): @$(MKDIR_P) client/gtk @: > client/gtk/$(am__dirstamp) client/gtk/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) client/gtk/$(DEPDIR) @: > client/gtk/$(DEPDIR)/$(am__dirstamp) client/gtk/pioneers-admin-gtk.$(OBJEXT): client/gtk/$(am__dirstamp) \ client/gtk/$(DEPDIR)/$(am__dirstamp) client/gtk/pioneers-audio.$(OBJEXT): client/gtk/$(am__dirstamp) \ client/gtk/$(DEPDIR)/$(am__dirstamp) client/gtk/pioneers-avahi.$(OBJEXT): client/gtk/$(am__dirstamp) \ client/gtk/$(DEPDIR)/$(am__dirstamp) client/gtk/pioneers-avahi-browser.$(OBJEXT): \ client/gtk/$(am__dirstamp) \ client/gtk/$(DEPDIR)/$(am__dirstamp) client/gtk/pioneers-callbacks.$(OBJEXT): client/gtk/$(am__dirstamp) \ client/gtk/$(DEPDIR)/$(am__dirstamp) client/gtk/pioneers-chat.$(OBJEXT): client/gtk/$(am__dirstamp) \ client/gtk/$(DEPDIR)/$(am__dirstamp) client/gtk/pioneers-connect.$(OBJEXT): client/gtk/$(am__dirstamp) \ client/gtk/$(DEPDIR)/$(am__dirstamp) client/gtk/pioneers-develop.$(OBJEXT): client/gtk/$(am__dirstamp) \ client/gtk/$(DEPDIR)/$(am__dirstamp) client/gtk/pioneers-discard.$(OBJEXT): client/gtk/$(am__dirstamp) \ client/gtk/$(DEPDIR)/$(am__dirstamp) client/gtk/pioneers-frontend.$(OBJEXT): client/gtk/$(am__dirstamp) \ client/gtk/$(DEPDIR)/$(am__dirstamp) client/gtk/pioneers-gameover.$(OBJEXT): client/gtk/$(am__dirstamp) \ client/gtk/$(DEPDIR)/$(am__dirstamp) client/gtk/pioneers-gold.$(OBJEXT): client/gtk/$(am__dirstamp) \ client/gtk/$(DEPDIR)/$(am__dirstamp) client/gtk/pioneers-gui.$(OBJEXT): client/gtk/$(am__dirstamp) \ client/gtk/$(DEPDIR)/$(am__dirstamp) client/gtk/pioneers-histogram.$(OBJEXT): client/gtk/$(am__dirstamp) \ client/gtk/$(DEPDIR)/$(am__dirstamp) client/gtk/pioneers-identity.$(OBJEXT): client/gtk/$(am__dirstamp) \ client/gtk/$(DEPDIR)/$(am__dirstamp) client/gtk/pioneers-interface.$(OBJEXT): client/gtk/$(am__dirstamp) \ client/gtk/$(DEPDIR)/$(am__dirstamp) client/gtk/pioneers-legend.$(OBJEXT): client/gtk/$(am__dirstamp) \ client/gtk/$(DEPDIR)/$(am__dirstamp) client/gtk/pioneers-monopoly.$(OBJEXT): client/gtk/$(am__dirstamp) \ client/gtk/$(DEPDIR)/$(am__dirstamp) client/gtk/pioneers-name.$(OBJEXT): client/gtk/$(am__dirstamp) \ client/gtk/$(DEPDIR)/$(am__dirstamp) client/gtk/pioneers-notification.$(OBJEXT): \ client/gtk/$(am__dirstamp) \ client/gtk/$(DEPDIR)/$(am__dirstamp) client/gtk/pioneers-offline.$(OBJEXT): client/gtk/$(am__dirstamp) \ client/gtk/$(DEPDIR)/$(am__dirstamp) client/gtk/pioneers-plenty.$(OBJEXT): client/gtk/$(am__dirstamp) \ client/gtk/$(DEPDIR)/$(am__dirstamp) client/gtk/pioneers-player.$(OBJEXT): client/gtk/$(am__dirstamp) \ client/gtk/$(DEPDIR)/$(am__dirstamp) client/gtk/pioneers-quote.$(OBJEXT): client/gtk/$(am__dirstamp) \ client/gtk/$(DEPDIR)/$(am__dirstamp) client/gtk/pioneers-quote-view.$(OBJEXT): client/gtk/$(am__dirstamp) \ client/gtk/$(DEPDIR)/$(am__dirstamp) client/gtk/pioneers-resource.$(OBJEXT): client/gtk/$(am__dirstamp) \ client/gtk/$(DEPDIR)/$(am__dirstamp) client/gtk/pioneers-resource-view.$(OBJEXT): \ client/gtk/$(am__dirstamp) \ client/gtk/$(DEPDIR)/$(am__dirstamp) client/gtk/pioneers-resource-table.$(OBJEXT): \ client/gtk/$(am__dirstamp) \ client/gtk/$(DEPDIR)/$(am__dirstamp) client/gtk/pioneers-settingscreen.$(OBJEXT): \ client/gtk/$(am__dirstamp) \ client/gtk/$(DEPDIR)/$(am__dirstamp) client/gtk/pioneers-state.$(OBJEXT): client/gtk/$(am__dirstamp) \ client/gtk/$(DEPDIR)/$(am__dirstamp) client/gtk/pioneers-trade.$(OBJEXT): client/gtk/$(am__dirstamp) \ client/gtk/$(DEPDIR)/$(am__dirstamp) pioneers$(EXEEXT): $(pioneers_OBJECTS) $(pioneers_DEPENDENCIES) $(EXTRA_pioneers_DEPENDENCIES) @rm -f pioneers$(EXEEXT) $(AM_V_CCLD)$(LINK) $(pioneers_OBJECTS) $(pioneers_LDADD) $(LIBS) editor/gtk/$(am__dirstamp): @$(MKDIR_P) editor/gtk @: > editor/gtk/$(am__dirstamp) editor/gtk/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) editor/gtk/$(DEPDIR) @: > editor/gtk/$(DEPDIR)/$(am__dirstamp) editor/gtk/pioneers_editor-editor.$(OBJEXT): \ editor/gtk/$(am__dirstamp) \ editor/gtk/$(DEPDIR)/$(am__dirstamp) editor/gtk/pioneers_editor-game-devcards.$(OBJEXT): \ editor/gtk/$(am__dirstamp) \ editor/gtk/$(DEPDIR)/$(am__dirstamp) editor/gtk/pioneers_editor-game-buildings.$(OBJEXT): \ editor/gtk/$(am__dirstamp) \ editor/gtk/$(DEPDIR)/$(am__dirstamp) editor/gtk/pioneers_editor-game-resources.$(OBJEXT): \ editor/gtk/$(am__dirstamp) \ editor/gtk/$(DEPDIR)/$(am__dirstamp) pioneers-editor$(EXEEXT): $(pioneers_editor_OBJECTS) $(pioneers_editor_DEPENDENCIES) $(EXTRA_pioneers_editor_DEPENDENCIES) @rm -f pioneers-editor$(EXEEXT) $(AM_V_CCLD)$(LINK) $(pioneers_editor_OBJECTS) $(pioneers_editor_LDADD) $(LIBS) metaserver/$(am__dirstamp): @$(MKDIR_P) metaserver @: > metaserver/$(am__dirstamp) metaserver/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) metaserver/$(DEPDIR) @: > metaserver/$(DEPDIR)/$(am__dirstamp) metaserver/pioneers_metaserver-main.$(OBJEXT): \ metaserver/$(am__dirstamp) \ metaserver/$(DEPDIR)/$(am__dirstamp) pioneers-metaserver$(EXEEXT): $(pioneers_metaserver_OBJECTS) $(pioneers_metaserver_DEPENDENCIES) $(EXTRA_pioneers_metaserver_DEPENDENCIES) @rm -f pioneers-metaserver$(EXEEXT) $(AM_V_CCLD)$(LINK) $(pioneers_metaserver_OBJECTS) $(pioneers_metaserver_LDADD) $(LIBS) server/pioneers_server_console-main.$(OBJEXT): server/$(am__dirstamp) \ server/$(DEPDIR)/$(am__dirstamp) server/pioneers_server_console-glib-driver.$(OBJEXT): \ server/$(am__dirstamp) server/$(DEPDIR)/$(am__dirstamp) pioneers-server-console$(EXEEXT): $(pioneers_server_console_OBJECTS) $(pioneers_server_console_DEPENDENCIES) $(EXTRA_pioneers_server_console_DEPENDENCIES) @rm -f pioneers-server-console$(EXEEXT) $(AM_V_CCLD)$(LINK) $(pioneers_server_console_OBJECTS) $(pioneers_server_console_LDADD) $(LIBS) server/gtk/$(am__dirstamp): @$(MKDIR_P) server/gtk @: > server/gtk/$(am__dirstamp) server/gtk/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) server/gtk/$(DEPDIR) @: > server/gtk/$(DEPDIR)/$(am__dirstamp) server/gtk/pioneers_server_gtk-main.$(OBJEXT): \ server/gtk/$(am__dirstamp) \ server/gtk/$(DEPDIR)/$(am__dirstamp) pioneers-server-gtk$(EXEEXT): $(pioneers_server_gtk_OBJECTS) $(pioneers_server_gtk_DEPENDENCIES) $(EXTRA_pioneers_server_gtk_DEPENDENCIES) @rm -f pioneers-server-gtk$(EXEEXT) $(AM_V_CCLD)$(LINK) $(pioneers_server_gtk_OBJECTS) $(pioneers_server_gtk_LDADD) $(LIBS) client/ai/$(am__dirstamp): @$(MKDIR_P) client/ai @: > client/ai/$(am__dirstamp) client/ai/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) client/ai/$(DEPDIR) @: > client/ai/$(DEPDIR)/$(am__dirstamp) client/ai/pioneersai-ai.$(OBJEXT): client/ai/$(am__dirstamp) \ client/ai/$(DEPDIR)/$(am__dirstamp) client/ai/pioneersai-genetic.$(OBJEXT): client/ai/$(am__dirstamp) \ client/ai/$(DEPDIR)/$(am__dirstamp) client/ai/pioneersai-genetic_core.$(OBJEXT): \ client/ai/$(am__dirstamp) client/ai/$(DEPDIR)/$(am__dirstamp) client/ai/pioneersai-greedy.$(OBJEXT): client/ai/$(am__dirstamp) \ client/ai/$(DEPDIR)/$(am__dirstamp) client/ai/pioneersai-lobbybot.$(OBJEXT): client/ai/$(am__dirstamp) \ client/ai/$(DEPDIR)/$(am__dirstamp) pioneersai$(EXEEXT): $(pioneersai_OBJECTS) $(pioneersai_DEPENDENCIES) $(EXTRA_pioneersai_DEPENDENCIES) @rm -f pioneersai$(EXEEXT) $(AM_V_CCLD)$(LINK) $(pioneersai_OBJECTS) $(pioneersai_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) -rm -f client/ai/*.$(OBJEXT) -rm -f client/common/*.$(OBJEXT) -rm -f client/gtk/*.$(OBJEXT) -rm -f common/*.$(OBJEXT) -rm -f common/gtk/*.$(OBJEXT) -rm -f editor/gtk/*.$(OBJEXT) -rm -f metaserver/*.$(OBJEXT) -rm -f server/*.$(OBJEXT) -rm -f server/gtk/*.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@client/ai/$(DEPDIR)/pioneersai-ai.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@client/ai/$(DEPDIR)/pioneersai-genetic.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@client/ai/$(DEPDIR)/pioneersai-genetic_core.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@client/ai/$(DEPDIR)/pioneersai-greedy.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@client/ai/$(DEPDIR)/pioneersai-lobbybot.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@client/common/$(DEPDIR)/libpioneersclient_a-build.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@client/common/$(DEPDIR)/libpioneersclient_a-callback.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@client/common/$(DEPDIR)/libpioneersclient_a-client.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@client/common/$(DEPDIR)/libpioneersclient_a-develop.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@client/common/$(DEPDIR)/libpioneersclient_a-main.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@client/common/$(DEPDIR)/libpioneersclient_a-player.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@client/common/$(DEPDIR)/libpioneersclient_a-resource.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@client/common/$(DEPDIR)/libpioneersclient_a-robber.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@client/common/$(DEPDIR)/libpioneersclient_a-setup.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@client/common/$(DEPDIR)/libpioneersclient_a-stock.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@client/common/$(DEPDIR)/libpioneersclient_a-turn.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@client/gtk/$(DEPDIR)/pioneers-admin-gtk.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@client/gtk/$(DEPDIR)/pioneers-audio.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@client/gtk/$(DEPDIR)/pioneers-avahi-browser.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@client/gtk/$(DEPDIR)/pioneers-avahi.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@client/gtk/$(DEPDIR)/pioneers-callbacks.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@client/gtk/$(DEPDIR)/pioneers-chat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@client/gtk/$(DEPDIR)/pioneers-connect.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@client/gtk/$(DEPDIR)/pioneers-develop.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@client/gtk/$(DEPDIR)/pioneers-discard.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@client/gtk/$(DEPDIR)/pioneers-frontend.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@client/gtk/$(DEPDIR)/pioneers-gameover.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@client/gtk/$(DEPDIR)/pioneers-gold.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@client/gtk/$(DEPDIR)/pioneers-gui.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@client/gtk/$(DEPDIR)/pioneers-histogram.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@client/gtk/$(DEPDIR)/pioneers-identity.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@client/gtk/$(DEPDIR)/pioneers-interface.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@client/gtk/$(DEPDIR)/pioneers-legend.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@client/gtk/$(DEPDIR)/pioneers-monopoly.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@client/gtk/$(DEPDIR)/pioneers-name.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@client/gtk/$(DEPDIR)/pioneers-notification.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@client/gtk/$(DEPDIR)/pioneers-offline.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@client/gtk/$(DEPDIR)/pioneers-player.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@client/gtk/$(DEPDIR)/pioneers-plenty.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@client/gtk/$(DEPDIR)/pioneers-quote-view.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@client/gtk/$(DEPDIR)/pioneers-quote.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@client/gtk/$(DEPDIR)/pioneers-resource-table.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@client/gtk/$(DEPDIR)/pioneers-resource-view.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@client/gtk/$(DEPDIR)/pioneers-resource.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@client/gtk/$(DEPDIR)/pioneers-settingscreen.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@client/gtk/$(DEPDIR)/pioneers-state.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@client/gtk/$(DEPDIR)/pioneers-trade.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@common/$(DEPDIR)/libpioneers_a-buildrec.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@common/$(DEPDIR)/libpioneers_a-cards.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@common/$(DEPDIR)/libpioneers_a-common_glib.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@common/$(DEPDIR)/libpioneers_a-cost.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@common/$(DEPDIR)/libpioneers_a-deck.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@common/$(DEPDIR)/libpioneers_a-driver.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@common/$(DEPDIR)/libpioneers_a-game-list.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@common/$(DEPDIR)/libpioneers_a-game.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@common/$(DEPDIR)/libpioneers_a-log.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@common/$(DEPDIR)/libpioneers_a-map.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@common/$(DEPDIR)/libpioneers_a-map_query.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@common/$(DEPDIR)/libpioneers_a-network.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@common/$(DEPDIR)/libpioneers_a-notifying-string.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@common/$(DEPDIR)/libpioneers_a-quoteinfo.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@common/$(DEPDIR)/libpioneers_a-random.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@common/$(DEPDIR)/libpioneers_a-set.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@common/$(DEPDIR)/libpioneers_a-state.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@common/gtk/$(DEPDIR)/libpioneers_gtk_a-aboutbox.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@common/gtk/$(DEPDIR)/libpioneers_gtk_a-colors.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@common/gtk/$(DEPDIR)/libpioneers_gtk_a-common_gtk.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@common/gtk/$(DEPDIR)/libpioneers_gtk_a-config-gnome.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@common/gtk/$(DEPDIR)/libpioneers_gtk_a-game-rules.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@common/gtk/$(DEPDIR)/libpioneers_gtk_a-game-settings.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@common/gtk/$(DEPDIR)/libpioneers_gtk_a-guimap.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@common/gtk/$(DEPDIR)/libpioneers_gtk_a-map-icons.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@common/gtk/$(DEPDIR)/libpioneers_gtk_a-metaserver.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@common/gtk/$(DEPDIR)/libpioneers_gtk_a-player-icon.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@common/gtk/$(DEPDIR)/libpioneers_gtk_a-polygon.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@common/gtk/$(DEPDIR)/libpioneers_gtk_a-scrollable-text-view.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@common/gtk/$(DEPDIR)/libpioneers_gtk_a-select-game.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@common/gtk/$(DEPDIR)/libpioneers_gtk_a-theme.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@editor/gtk/$(DEPDIR)/pioneers_editor-editor.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@editor/gtk/$(DEPDIR)/pioneers_editor-game-buildings.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@editor/gtk/$(DEPDIR)/pioneers_editor-game-devcards.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@editor/gtk/$(DEPDIR)/pioneers_editor-game-resources.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@metaserver/$(DEPDIR)/pioneers_metaserver-main.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@server/$(DEPDIR)/libpioneers_server_a-admin.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@server/$(DEPDIR)/libpioneers_server_a-avahi.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@server/$(DEPDIR)/libpioneers_server_a-buildutil.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@server/$(DEPDIR)/libpioneers_server_a-develop.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@server/$(DEPDIR)/libpioneers_server_a-discard.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@server/$(DEPDIR)/libpioneers_server_a-gold.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@server/$(DEPDIR)/libpioneers_server_a-meta.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@server/$(DEPDIR)/libpioneers_server_a-player.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@server/$(DEPDIR)/libpioneers_server_a-pregame.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@server/$(DEPDIR)/libpioneers_server_a-resource.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@server/$(DEPDIR)/libpioneers_server_a-robber.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@server/$(DEPDIR)/libpioneers_server_a-server.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@server/$(DEPDIR)/libpioneers_server_a-trade.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@server/$(DEPDIR)/libpioneers_server_a-turn.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@server/$(DEPDIR)/pioneers_server_console-glib-driver.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@server/$(DEPDIR)/pioneers_server_console-main.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@server/gtk/$(DEPDIR)/pioneers_server_gtk-main.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< common/libpioneers_a-buildrec.o: common/buildrec.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/libpioneers_a-buildrec.o -MD -MP -MF common/$(DEPDIR)/libpioneers_a-buildrec.Tpo -c -o common/libpioneers_a-buildrec.o `test -f 'common/buildrec.c' || echo '$(srcdir)/'`common/buildrec.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/$(DEPDIR)/libpioneers_a-buildrec.Tpo common/$(DEPDIR)/libpioneers_a-buildrec.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/buildrec.c' object='common/libpioneers_a-buildrec.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/libpioneers_a-buildrec.o `test -f 'common/buildrec.c' || echo '$(srcdir)/'`common/buildrec.c common/libpioneers_a-buildrec.obj: common/buildrec.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/libpioneers_a-buildrec.obj -MD -MP -MF common/$(DEPDIR)/libpioneers_a-buildrec.Tpo -c -o common/libpioneers_a-buildrec.obj `if test -f 'common/buildrec.c'; then $(CYGPATH_W) 'common/buildrec.c'; else $(CYGPATH_W) '$(srcdir)/common/buildrec.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/$(DEPDIR)/libpioneers_a-buildrec.Tpo common/$(DEPDIR)/libpioneers_a-buildrec.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/buildrec.c' object='common/libpioneers_a-buildrec.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/libpioneers_a-buildrec.obj `if test -f 'common/buildrec.c'; then $(CYGPATH_W) 'common/buildrec.c'; else $(CYGPATH_W) '$(srcdir)/common/buildrec.c'; fi` common/libpioneers_a-cards.o: common/cards.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/libpioneers_a-cards.o -MD -MP -MF common/$(DEPDIR)/libpioneers_a-cards.Tpo -c -o common/libpioneers_a-cards.o `test -f 'common/cards.c' || echo '$(srcdir)/'`common/cards.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/$(DEPDIR)/libpioneers_a-cards.Tpo common/$(DEPDIR)/libpioneers_a-cards.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/cards.c' object='common/libpioneers_a-cards.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/libpioneers_a-cards.o `test -f 'common/cards.c' || echo '$(srcdir)/'`common/cards.c common/libpioneers_a-cards.obj: common/cards.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/libpioneers_a-cards.obj -MD -MP -MF common/$(DEPDIR)/libpioneers_a-cards.Tpo -c -o common/libpioneers_a-cards.obj `if test -f 'common/cards.c'; then $(CYGPATH_W) 'common/cards.c'; else $(CYGPATH_W) '$(srcdir)/common/cards.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/$(DEPDIR)/libpioneers_a-cards.Tpo common/$(DEPDIR)/libpioneers_a-cards.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/cards.c' object='common/libpioneers_a-cards.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/libpioneers_a-cards.obj `if test -f 'common/cards.c'; then $(CYGPATH_W) 'common/cards.c'; else $(CYGPATH_W) '$(srcdir)/common/cards.c'; fi` common/libpioneers_a-common_glib.o: common/common_glib.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/libpioneers_a-common_glib.o -MD -MP -MF common/$(DEPDIR)/libpioneers_a-common_glib.Tpo -c -o common/libpioneers_a-common_glib.o `test -f 'common/common_glib.c' || echo '$(srcdir)/'`common/common_glib.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/$(DEPDIR)/libpioneers_a-common_glib.Tpo common/$(DEPDIR)/libpioneers_a-common_glib.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/common_glib.c' object='common/libpioneers_a-common_glib.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/libpioneers_a-common_glib.o `test -f 'common/common_glib.c' || echo '$(srcdir)/'`common/common_glib.c common/libpioneers_a-common_glib.obj: common/common_glib.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/libpioneers_a-common_glib.obj -MD -MP -MF common/$(DEPDIR)/libpioneers_a-common_glib.Tpo -c -o common/libpioneers_a-common_glib.obj `if test -f 'common/common_glib.c'; then $(CYGPATH_W) 'common/common_glib.c'; else $(CYGPATH_W) '$(srcdir)/common/common_glib.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/$(DEPDIR)/libpioneers_a-common_glib.Tpo common/$(DEPDIR)/libpioneers_a-common_glib.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/common_glib.c' object='common/libpioneers_a-common_glib.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/libpioneers_a-common_glib.obj `if test -f 'common/common_glib.c'; then $(CYGPATH_W) 'common/common_glib.c'; else $(CYGPATH_W) '$(srcdir)/common/common_glib.c'; fi` common/libpioneers_a-cost.o: common/cost.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/libpioneers_a-cost.o -MD -MP -MF common/$(DEPDIR)/libpioneers_a-cost.Tpo -c -o common/libpioneers_a-cost.o `test -f 'common/cost.c' || echo '$(srcdir)/'`common/cost.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/$(DEPDIR)/libpioneers_a-cost.Tpo common/$(DEPDIR)/libpioneers_a-cost.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/cost.c' object='common/libpioneers_a-cost.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/libpioneers_a-cost.o `test -f 'common/cost.c' || echo '$(srcdir)/'`common/cost.c common/libpioneers_a-cost.obj: common/cost.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/libpioneers_a-cost.obj -MD -MP -MF common/$(DEPDIR)/libpioneers_a-cost.Tpo -c -o common/libpioneers_a-cost.obj `if test -f 'common/cost.c'; then $(CYGPATH_W) 'common/cost.c'; else $(CYGPATH_W) '$(srcdir)/common/cost.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/$(DEPDIR)/libpioneers_a-cost.Tpo common/$(DEPDIR)/libpioneers_a-cost.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/cost.c' object='common/libpioneers_a-cost.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/libpioneers_a-cost.obj `if test -f 'common/cost.c'; then $(CYGPATH_W) 'common/cost.c'; else $(CYGPATH_W) '$(srcdir)/common/cost.c'; fi` common/libpioneers_a-deck.o: common/deck.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/libpioneers_a-deck.o -MD -MP -MF common/$(DEPDIR)/libpioneers_a-deck.Tpo -c -o common/libpioneers_a-deck.o `test -f 'common/deck.c' || echo '$(srcdir)/'`common/deck.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/$(DEPDIR)/libpioneers_a-deck.Tpo common/$(DEPDIR)/libpioneers_a-deck.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/deck.c' object='common/libpioneers_a-deck.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/libpioneers_a-deck.o `test -f 'common/deck.c' || echo '$(srcdir)/'`common/deck.c common/libpioneers_a-deck.obj: common/deck.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/libpioneers_a-deck.obj -MD -MP -MF common/$(DEPDIR)/libpioneers_a-deck.Tpo -c -o common/libpioneers_a-deck.obj `if test -f 'common/deck.c'; then $(CYGPATH_W) 'common/deck.c'; else $(CYGPATH_W) '$(srcdir)/common/deck.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/$(DEPDIR)/libpioneers_a-deck.Tpo common/$(DEPDIR)/libpioneers_a-deck.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/deck.c' object='common/libpioneers_a-deck.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/libpioneers_a-deck.obj `if test -f 'common/deck.c'; then $(CYGPATH_W) 'common/deck.c'; else $(CYGPATH_W) '$(srcdir)/common/deck.c'; fi` common/libpioneers_a-driver.o: common/driver.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/libpioneers_a-driver.o -MD -MP -MF common/$(DEPDIR)/libpioneers_a-driver.Tpo -c -o common/libpioneers_a-driver.o `test -f 'common/driver.c' || echo '$(srcdir)/'`common/driver.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/$(DEPDIR)/libpioneers_a-driver.Tpo common/$(DEPDIR)/libpioneers_a-driver.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/driver.c' object='common/libpioneers_a-driver.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/libpioneers_a-driver.o `test -f 'common/driver.c' || echo '$(srcdir)/'`common/driver.c common/libpioneers_a-driver.obj: common/driver.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/libpioneers_a-driver.obj -MD -MP -MF common/$(DEPDIR)/libpioneers_a-driver.Tpo -c -o common/libpioneers_a-driver.obj `if test -f 'common/driver.c'; then $(CYGPATH_W) 'common/driver.c'; else $(CYGPATH_W) '$(srcdir)/common/driver.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/$(DEPDIR)/libpioneers_a-driver.Tpo common/$(DEPDIR)/libpioneers_a-driver.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/driver.c' object='common/libpioneers_a-driver.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/libpioneers_a-driver.obj `if test -f 'common/driver.c'; then $(CYGPATH_W) 'common/driver.c'; else $(CYGPATH_W) '$(srcdir)/common/driver.c'; fi` common/libpioneers_a-game.o: common/game.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/libpioneers_a-game.o -MD -MP -MF common/$(DEPDIR)/libpioneers_a-game.Tpo -c -o common/libpioneers_a-game.o `test -f 'common/game.c' || echo '$(srcdir)/'`common/game.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/$(DEPDIR)/libpioneers_a-game.Tpo common/$(DEPDIR)/libpioneers_a-game.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/game.c' object='common/libpioneers_a-game.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/libpioneers_a-game.o `test -f 'common/game.c' || echo '$(srcdir)/'`common/game.c common/libpioneers_a-game.obj: common/game.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/libpioneers_a-game.obj -MD -MP -MF common/$(DEPDIR)/libpioneers_a-game.Tpo -c -o common/libpioneers_a-game.obj `if test -f 'common/game.c'; then $(CYGPATH_W) 'common/game.c'; else $(CYGPATH_W) '$(srcdir)/common/game.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/$(DEPDIR)/libpioneers_a-game.Tpo common/$(DEPDIR)/libpioneers_a-game.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/game.c' object='common/libpioneers_a-game.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/libpioneers_a-game.obj `if test -f 'common/game.c'; then $(CYGPATH_W) 'common/game.c'; else $(CYGPATH_W) '$(srcdir)/common/game.c'; fi` common/libpioneers_a-game-list.o: common/game-list.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/libpioneers_a-game-list.o -MD -MP -MF common/$(DEPDIR)/libpioneers_a-game-list.Tpo -c -o common/libpioneers_a-game-list.o `test -f 'common/game-list.c' || echo '$(srcdir)/'`common/game-list.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/$(DEPDIR)/libpioneers_a-game-list.Tpo common/$(DEPDIR)/libpioneers_a-game-list.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/game-list.c' object='common/libpioneers_a-game-list.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/libpioneers_a-game-list.o `test -f 'common/game-list.c' || echo '$(srcdir)/'`common/game-list.c common/libpioneers_a-game-list.obj: common/game-list.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/libpioneers_a-game-list.obj -MD -MP -MF common/$(DEPDIR)/libpioneers_a-game-list.Tpo -c -o common/libpioneers_a-game-list.obj `if test -f 'common/game-list.c'; then $(CYGPATH_W) 'common/game-list.c'; else $(CYGPATH_W) '$(srcdir)/common/game-list.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/$(DEPDIR)/libpioneers_a-game-list.Tpo common/$(DEPDIR)/libpioneers_a-game-list.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/game-list.c' object='common/libpioneers_a-game-list.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/libpioneers_a-game-list.obj `if test -f 'common/game-list.c'; then $(CYGPATH_W) 'common/game-list.c'; else $(CYGPATH_W) '$(srcdir)/common/game-list.c'; fi` common/libpioneers_a-log.o: common/log.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/libpioneers_a-log.o -MD -MP -MF common/$(DEPDIR)/libpioneers_a-log.Tpo -c -o common/libpioneers_a-log.o `test -f 'common/log.c' || echo '$(srcdir)/'`common/log.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/$(DEPDIR)/libpioneers_a-log.Tpo common/$(DEPDIR)/libpioneers_a-log.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/log.c' object='common/libpioneers_a-log.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/libpioneers_a-log.o `test -f 'common/log.c' || echo '$(srcdir)/'`common/log.c common/libpioneers_a-log.obj: common/log.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/libpioneers_a-log.obj -MD -MP -MF common/$(DEPDIR)/libpioneers_a-log.Tpo -c -o common/libpioneers_a-log.obj `if test -f 'common/log.c'; then $(CYGPATH_W) 'common/log.c'; else $(CYGPATH_W) '$(srcdir)/common/log.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/$(DEPDIR)/libpioneers_a-log.Tpo common/$(DEPDIR)/libpioneers_a-log.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/log.c' object='common/libpioneers_a-log.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/libpioneers_a-log.obj `if test -f 'common/log.c'; then $(CYGPATH_W) 'common/log.c'; else $(CYGPATH_W) '$(srcdir)/common/log.c'; fi` common/libpioneers_a-map.o: common/map.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/libpioneers_a-map.o -MD -MP -MF common/$(DEPDIR)/libpioneers_a-map.Tpo -c -o common/libpioneers_a-map.o `test -f 'common/map.c' || echo '$(srcdir)/'`common/map.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/$(DEPDIR)/libpioneers_a-map.Tpo common/$(DEPDIR)/libpioneers_a-map.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/map.c' object='common/libpioneers_a-map.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/libpioneers_a-map.o `test -f 'common/map.c' || echo '$(srcdir)/'`common/map.c common/libpioneers_a-map.obj: common/map.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/libpioneers_a-map.obj -MD -MP -MF common/$(DEPDIR)/libpioneers_a-map.Tpo -c -o common/libpioneers_a-map.obj `if test -f 'common/map.c'; then $(CYGPATH_W) 'common/map.c'; else $(CYGPATH_W) '$(srcdir)/common/map.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/$(DEPDIR)/libpioneers_a-map.Tpo common/$(DEPDIR)/libpioneers_a-map.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/map.c' object='common/libpioneers_a-map.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/libpioneers_a-map.obj `if test -f 'common/map.c'; then $(CYGPATH_W) 'common/map.c'; else $(CYGPATH_W) '$(srcdir)/common/map.c'; fi` common/libpioneers_a-map_query.o: common/map_query.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/libpioneers_a-map_query.o -MD -MP -MF common/$(DEPDIR)/libpioneers_a-map_query.Tpo -c -o common/libpioneers_a-map_query.o `test -f 'common/map_query.c' || echo '$(srcdir)/'`common/map_query.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/$(DEPDIR)/libpioneers_a-map_query.Tpo common/$(DEPDIR)/libpioneers_a-map_query.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/map_query.c' object='common/libpioneers_a-map_query.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/libpioneers_a-map_query.o `test -f 'common/map_query.c' || echo '$(srcdir)/'`common/map_query.c common/libpioneers_a-map_query.obj: common/map_query.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/libpioneers_a-map_query.obj -MD -MP -MF common/$(DEPDIR)/libpioneers_a-map_query.Tpo -c -o common/libpioneers_a-map_query.obj `if test -f 'common/map_query.c'; then $(CYGPATH_W) 'common/map_query.c'; else $(CYGPATH_W) '$(srcdir)/common/map_query.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/$(DEPDIR)/libpioneers_a-map_query.Tpo common/$(DEPDIR)/libpioneers_a-map_query.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/map_query.c' object='common/libpioneers_a-map_query.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/libpioneers_a-map_query.obj `if test -f 'common/map_query.c'; then $(CYGPATH_W) 'common/map_query.c'; else $(CYGPATH_W) '$(srcdir)/common/map_query.c'; fi` common/libpioneers_a-network.o: common/network.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/libpioneers_a-network.o -MD -MP -MF common/$(DEPDIR)/libpioneers_a-network.Tpo -c -o common/libpioneers_a-network.o `test -f 'common/network.c' || echo '$(srcdir)/'`common/network.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/$(DEPDIR)/libpioneers_a-network.Tpo common/$(DEPDIR)/libpioneers_a-network.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/network.c' object='common/libpioneers_a-network.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/libpioneers_a-network.o `test -f 'common/network.c' || echo '$(srcdir)/'`common/network.c common/libpioneers_a-network.obj: common/network.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/libpioneers_a-network.obj -MD -MP -MF common/$(DEPDIR)/libpioneers_a-network.Tpo -c -o common/libpioneers_a-network.obj `if test -f 'common/network.c'; then $(CYGPATH_W) 'common/network.c'; else $(CYGPATH_W) '$(srcdir)/common/network.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/$(DEPDIR)/libpioneers_a-network.Tpo common/$(DEPDIR)/libpioneers_a-network.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/network.c' object='common/libpioneers_a-network.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/libpioneers_a-network.obj `if test -f 'common/network.c'; then $(CYGPATH_W) 'common/network.c'; else $(CYGPATH_W) '$(srcdir)/common/network.c'; fi` common/libpioneers_a-notifying-string.o: common/notifying-string.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/libpioneers_a-notifying-string.o -MD -MP -MF common/$(DEPDIR)/libpioneers_a-notifying-string.Tpo -c -o common/libpioneers_a-notifying-string.o `test -f 'common/notifying-string.c' || echo '$(srcdir)/'`common/notifying-string.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/$(DEPDIR)/libpioneers_a-notifying-string.Tpo common/$(DEPDIR)/libpioneers_a-notifying-string.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/notifying-string.c' object='common/libpioneers_a-notifying-string.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/libpioneers_a-notifying-string.o `test -f 'common/notifying-string.c' || echo '$(srcdir)/'`common/notifying-string.c common/libpioneers_a-notifying-string.obj: common/notifying-string.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/libpioneers_a-notifying-string.obj -MD -MP -MF common/$(DEPDIR)/libpioneers_a-notifying-string.Tpo -c -o common/libpioneers_a-notifying-string.obj `if test -f 'common/notifying-string.c'; then $(CYGPATH_W) 'common/notifying-string.c'; else $(CYGPATH_W) '$(srcdir)/common/notifying-string.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/$(DEPDIR)/libpioneers_a-notifying-string.Tpo common/$(DEPDIR)/libpioneers_a-notifying-string.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/notifying-string.c' object='common/libpioneers_a-notifying-string.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/libpioneers_a-notifying-string.obj `if test -f 'common/notifying-string.c'; then $(CYGPATH_W) 'common/notifying-string.c'; else $(CYGPATH_W) '$(srcdir)/common/notifying-string.c'; fi` common/libpioneers_a-quoteinfo.o: common/quoteinfo.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/libpioneers_a-quoteinfo.o -MD -MP -MF common/$(DEPDIR)/libpioneers_a-quoteinfo.Tpo -c -o common/libpioneers_a-quoteinfo.o `test -f 'common/quoteinfo.c' || echo '$(srcdir)/'`common/quoteinfo.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/$(DEPDIR)/libpioneers_a-quoteinfo.Tpo common/$(DEPDIR)/libpioneers_a-quoteinfo.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/quoteinfo.c' object='common/libpioneers_a-quoteinfo.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/libpioneers_a-quoteinfo.o `test -f 'common/quoteinfo.c' || echo '$(srcdir)/'`common/quoteinfo.c common/libpioneers_a-quoteinfo.obj: common/quoteinfo.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/libpioneers_a-quoteinfo.obj -MD -MP -MF common/$(DEPDIR)/libpioneers_a-quoteinfo.Tpo -c -o common/libpioneers_a-quoteinfo.obj `if test -f 'common/quoteinfo.c'; then $(CYGPATH_W) 'common/quoteinfo.c'; else $(CYGPATH_W) '$(srcdir)/common/quoteinfo.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/$(DEPDIR)/libpioneers_a-quoteinfo.Tpo common/$(DEPDIR)/libpioneers_a-quoteinfo.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/quoteinfo.c' object='common/libpioneers_a-quoteinfo.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/libpioneers_a-quoteinfo.obj `if test -f 'common/quoteinfo.c'; then $(CYGPATH_W) 'common/quoteinfo.c'; else $(CYGPATH_W) '$(srcdir)/common/quoteinfo.c'; fi` common/libpioneers_a-random.o: common/random.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/libpioneers_a-random.o -MD -MP -MF common/$(DEPDIR)/libpioneers_a-random.Tpo -c -o common/libpioneers_a-random.o `test -f 'common/random.c' || echo '$(srcdir)/'`common/random.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/$(DEPDIR)/libpioneers_a-random.Tpo common/$(DEPDIR)/libpioneers_a-random.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/random.c' object='common/libpioneers_a-random.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/libpioneers_a-random.o `test -f 'common/random.c' || echo '$(srcdir)/'`common/random.c common/libpioneers_a-random.obj: common/random.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/libpioneers_a-random.obj -MD -MP -MF common/$(DEPDIR)/libpioneers_a-random.Tpo -c -o common/libpioneers_a-random.obj `if test -f 'common/random.c'; then $(CYGPATH_W) 'common/random.c'; else $(CYGPATH_W) '$(srcdir)/common/random.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/$(DEPDIR)/libpioneers_a-random.Tpo common/$(DEPDIR)/libpioneers_a-random.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/random.c' object='common/libpioneers_a-random.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/libpioneers_a-random.obj `if test -f 'common/random.c'; then $(CYGPATH_W) 'common/random.c'; else $(CYGPATH_W) '$(srcdir)/common/random.c'; fi` common/libpioneers_a-set.o: common/set.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/libpioneers_a-set.o -MD -MP -MF common/$(DEPDIR)/libpioneers_a-set.Tpo -c -o common/libpioneers_a-set.o `test -f 'common/set.c' || echo '$(srcdir)/'`common/set.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/$(DEPDIR)/libpioneers_a-set.Tpo common/$(DEPDIR)/libpioneers_a-set.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/set.c' object='common/libpioneers_a-set.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/libpioneers_a-set.o `test -f 'common/set.c' || echo '$(srcdir)/'`common/set.c common/libpioneers_a-set.obj: common/set.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/libpioneers_a-set.obj -MD -MP -MF common/$(DEPDIR)/libpioneers_a-set.Tpo -c -o common/libpioneers_a-set.obj `if test -f 'common/set.c'; then $(CYGPATH_W) 'common/set.c'; else $(CYGPATH_W) '$(srcdir)/common/set.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/$(DEPDIR)/libpioneers_a-set.Tpo common/$(DEPDIR)/libpioneers_a-set.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/set.c' object='common/libpioneers_a-set.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/libpioneers_a-set.obj `if test -f 'common/set.c'; then $(CYGPATH_W) 'common/set.c'; else $(CYGPATH_W) '$(srcdir)/common/set.c'; fi` common/libpioneers_a-state.o: common/state.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/libpioneers_a-state.o -MD -MP -MF common/$(DEPDIR)/libpioneers_a-state.Tpo -c -o common/libpioneers_a-state.o `test -f 'common/state.c' || echo '$(srcdir)/'`common/state.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/$(DEPDIR)/libpioneers_a-state.Tpo common/$(DEPDIR)/libpioneers_a-state.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/state.c' object='common/libpioneers_a-state.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/libpioneers_a-state.o `test -f 'common/state.c' || echo '$(srcdir)/'`common/state.c common/libpioneers_a-state.obj: common/state.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/libpioneers_a-state.obj -MD -MP -MF common/$(DEPDIR)/libpioneers_a-state.Tpo -c -o common/libpioneers_a-state.obj `if test -f 'common/state.c'; then $(CYGPATH_W) 'common/state.c'; else $(CYGPATH_W) '$(srcdir)/common/state.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/$(DEPDIR)/libpioneers_a-state.Tpo common/$(DEPDIR)/libpioneers_a-state.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/state.c' object='common/libpioneers_a-state.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/libpioneers_a-state.obj `if test -f 'common/state.c'; then $(CYGPATH_W) 'common/state.c'; else $(CYGPATH_W) '$(srcdir)/common/state.c'; fi` common/gtk/libpioneers_gtk_a-aboutbox.o: common/gtk/aboutbox.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/gtk/libpioneers_gtk_a-aboutbox.o -MD -MP -MF common/gtk/$(DEPDIR)/libpioneers_gtk_a-aboutbox.Tpo -c -o common/gtk/libpioneers_gtk_a-aboutbox.o `test -f 'common/gtk/aboutbox.c' || echo '$(srcdir)/'`common/gtk/aboutbox.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/gtk/$(DEPDIR)/libpioneers_gtk_a-aboutbox.Tpo common/gtk/$(DEPDIR)/libpioneers_gtk_a-aboutbox.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/gtk/aboutbox.c' object='common/gtk/libpioneers_gtk_a-aboutbox.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/gtk/libpioneers_gtk_a-aboutbox.o `test -f 'common/gtk/aboutbox.c' || echo '$(srcdir)/'`common/gtk/aboutbox.c common/gtk/libpioneers_gtk_a-aboutbox.obj: common/gtk/aboutbox.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/gtk/libpioneers_gtk_a-aboutbox.obj -MD -MP -MF common/gtk/$(DEPDIR)/libpioneers_gtk_a-aboutbox.Tpo -c -o common/gtk/libpioneers_gtk_a-aboutbox.obj `if test -f 'common/gtk/aboutbox.c'; then $(CYGPATH_W) 'common/gtk/aboutbox.c'; else $(CYGPATH_W) '$(srcdir)/common/gtk/aboutbox.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/gtk/$(DEPDIR)/libpioneers_gtk_a-aboutbox.Tpo common/gtk/$(DEPDIR)/libpioneers_gtk_a-aboutbox.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/gtk/aboutbox.c' object='common/gtk/libpioneers_gtk_a-aboutbox.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/gtk/libpioneers_gtk_a-aboutbox.obj `if test -f 'common/gtk/aboutbox.c'; then $(CYGPATH_W) 'common/gtk/aboutbox.c'; else $(CYGPATH_W) '$(srcdir)/common/gtk/aboutbox.c'; fi` common/gtk/libpioneers_gtk_a-colors.o: common/gtk/colors.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/gtk/libpioneers_gtk_a-colors.o -MD -MP -MF common/gtk/$(DEPDIR)/libpioneers_gtk_a-colors.Tpo -c -o common/gtk/libpioneers_gtk_a-colors.o `test -f 'common/gtk/colors.c' || echo '$(srcdir)/'`common/gtk/colors.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/gtk/$(DEPDIR)/libpioneers_gtk_a-colors.Tpo common/gtk/$(DEPDIR)/libpioneers_gtk_a-colors.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/gtk/colors.c' object='common/gtk/libpioneers_gtk_a-colors.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/gtk/libpioneers_gtk_a-colors.o `test -f 'common/gtk/colors.c' || echo '$(srcdir)/'`common/gtk/colors.c common/gtk/libpioneers_gtk_a-colors.obj: common/gtk/colors.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/gtk/libpioneers_gtk_a-colors.obj -MD -MP -MF common/gtk/$(DEPDIR)/libpioneers_gtk_a-colors.Tpo -c -o common/gtk/libpioneers_gtk_a-colors.obj `if test -f 'common/gtk/colors.c'; then $(CYGPATH_W) 'common/gtk/colors.c'; else $(CYGPATH_W) '$(srcdir)/common/gtk/colors.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/gtk/$(DEPDIR)/libpioneers_gtk_a-colors.Tpo common/gtk/$(DEPDIR)/libpioneers_gtk_a-colors.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/gtk/colors.c' object='common/gtk/libpioneers_gtk_a-colors.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/gtk/libpioneers_gtk_a-colors.obj `if test -f 'common/gtk/colors.c'; then $(CYGPATH_W) 'common/gtk/colors.c'; else $(CYGPATH_W) '$(srcdir)/common/gtk/colors.c'; fi` common/gtk/libpioneers_gtk_a-common_gtk.o: common/gtk/common_gtk.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/gtk/libpioneers_gtk_a-common_gtk.o -MD -MP -MF common/gtk/$(DEPDIR)/libpioneers_gtk_a-common_gtk.Tpo -c -o common/gtk/libpioneers_gtk_a-common_gtk.o `test -f 'common/gtk/common_gtk.c' || echo '$(srcdir)/'`common/gtk/common_gtk.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/gtk/$(DEPDIR)/libpioneers_gtk_a-common_gtk.Tpo common/gtk/$(DEPDIR)/libpioneers_gtk_a-common_gtk.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/gtk/common_gtk.c' object='common/gtk/libpioneers_gtk_a-common_gtk.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/gtk/libpioneers_gtk_a-common_gtk.o `test -f 'common/gtk/common_gtk.c' || echo '$(srcdir)/'`common/gtk/common_gtk.c common/gtk/libpioneers_gtk_a-common_gtk.obj: common/gtk/common_gtk.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/gtk/libpioneers_gtk_a-common_gtk.obj -MD -MP -MF common/gtk/$(DEPDIR)/libpioneers_gtk_a-common_gtk.Tpo -c -o common/gtk/libpioneers_gtk_a-common_gtk.obj `if test -f 'common/gtk/common_gtk.c'; then $(CYGPATH_W) 'common/gtk/common_gtk.c'; else $(CYGPATH_W) '$(srcdir)/common/gtk/common_gtk.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/gtk/$(DEPDIR)/libpioneers_gtk_a-common_gtk.Tpo common/gtk/$(DEPDIR)/libpioneers_gtk_a-common_gtk.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/gtk/common_gtk.c' object='common/gtk/libpioneers_gtk_a-common_gtk.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/gtk/libpioneers_gtk_a-common_gtk.obj `if test -f 'common/gtk/common_gtk.c'; then $(CYGPATH_W) 'common/gtk/common_gtk.c'; else $(CYGPATH_W) '$(srcdir)/common/gtk/common_gtk.c'; fi` common/gtk/libpioneers_gtk_a-config-gnome.o: common/gtk/config-gnome.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/gtk/libpioneers_gtk_a-config-gnome.o -MD -MP -MF common/gtk/$(DEPDIR)/libpioneers_gtk_a-config-gnome.Tpo -c -o common/gtk/libpioneers_gtk_a-config-gnome.o `test -f 'common/gtk/config-gnome.c' || echo '$(srcdir)/'`common/gtk/config-gnome.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/gtk/$(DEPDIR)/libpioneers_gtk_a-config-gnome.Tpo common/gtk/$(DEPDIR)/libpioneers_gtk_a-config-gnome.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/gtk/config-gnome.c' object='common/gtk/libpioneers_gtk_a-config-gnome.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/gtk/libpioneers_gtk_a-config-gnome.o `test -f 'common/gtk/config-gnome.c' || echo '$(srcdir)/'`common/gtk/config-gnome.c common/gtk/libpioneers_gtk_a-config-gnome.obj: common/gtk/config-gnome.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/gtk/libpioneers_gtk_a-config-gnome.obj -MD -MP -MF common/gtk/$(DEPDIR)/libpioneers_gtk_a-config-gnome.Tpo -c -o common/gtk/libpioneers_gtk_a-config-gnome.obj `if test -f 'common/gtk/config-gnome.c'; then $(CYGPATH_W) 'common/gtk/config-gnome.c'; else $(CYGPATH_W) '$(srcdir)/common/gtk/config-gnome.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/gtk/$(DEPDIR)/libpioneers_gtk_a-config-gnome.Tpo common/gtk/$(DEPDIR)/libpioneers_gtk_a-config-gnome.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/gtk/config-gnome.c' object='common/gtk/libpioneers_gtk_a-config-gnome.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/gtk/libpioneers_gtk_a-config-gnome.obj `if test -f 'common/gtk/config-gnome.c'; then $(CYGPATH_W) 'common/gtk/config-gnome.c'; else $(CYGPATH_W) '$(srcdir)/common/gtk/config-gnome.c'; fi` common/gtk/libpioneers_gtk_a-game-rules.o: common/gtk/game-rules.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/gtk/libpioneers_gtk_a-game-rules.o -MD -MP -MF common/gtk/$(DEPDIR)/libpioneers_gtk_a-game-rules.Tpo -c -o common/gtk/libpioneers_gtk_a-game-rules.o `test -f 'common/gtk/game-rules.c' || echo '$(srcdir)/'`common/gtk/game-rules.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/gtk/$(DEPDIR)/libpioneers_gtk_a-game-rules.Tpo common/gtk/$(DEPDIR)/libpioneers_gtk_a-game-rules.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/gtk/game-rules.c' object='common/gtk/libpioneers_gtk_a-game-rules.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/gtk/libpioneers_gtk_a-game-rules.o `test -f 'common/gtk/game-rules.c' || echo '$(srcdir)/'`common/gtk/game-rules.c common/gtk/libpioneers_gtk_a-game-rules.obj: common/gtk/game-rules.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/gtk/libpioneers_gtk_a-game-rules.obj -MD -MP -MF common/gtk/$(DEPDIR)/libpioneers_gtk_a-game-rules.Tpo -c -o common/gtk/libpioneers_gtk_a-game-rules.obj `if test -f 'common/gtk/game-rules.c'; then $(CYGPATH_W) 'common/gtk/game-rules.c'; else $(CYGPATH_W) '$(srcdir)/common/gtk/game-rules.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/gtk/$(DEPDIR)/libpioneers_gtk_a-game-rules.Tpo common/gtk/$(DEPDIR)/libpioneers_gtk_a-game-rules.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/gtk/game-rules.c' object='common/gtk/libpioneers_gtk_a-game-rules.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/gtk/libpioneers_gtk_a-game-rules.obj `if test -f 'common/gtk/game-rules.c'; then $(CYGPATH_W) 'common/gtk/game-rules.c'; else $(CYGPATH_W) '$(srcdir)/common/gtk/game-rules.c'; fi` common/gtk/libpioneers_gtk_a-game-settings.o: common/gtk/game-settings.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/gtk/libpioneers_gtk_a-game-settings.o -MD -MP -MF common/gtk/$(DEPDIR)/libpioneers_gtk_a-game-settings.Tpo -c -o common/gtk/libpioneers_gtk_a-game-settings.o `test -f 'common/gtk/game-settings.c' || echo '$(srcdir)/'`common/gtk/game-settings.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/gtk/$(DEPDIR)/libpioneers_gtk_a-game-settings.Tpo common/gtk/$(DEPDIR)/libpioneers_gtk_a-game-settings.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/gtk/game-settings.c' object='common/gtk/libpioneers_gtk_a-game-settings.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/gtk/libpioneers_gtk_a-game-settings.o `test -f 'common/gtk/game-settings.c' || echo '$(srcdir)/'`common/gtk/game-settings.c common/gtk/libpioneers_gtk_a-game-settings.obj: common/gtk/game-settings.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/gtk/libpioneers_gtk_a-game-settings.obj -MD -MP -MF common/gtk/$(DEPDIR)/libpioneers_gtk_a-game-settings.Tpo -c -o common/gtk/libpioneers_gtk_a-game-settings.obj `if test -f 'common/gtk/game-settings.c'; then $(CYGPATH_W) 'common/gtk/game-settings.c'; else $(CYGPATH_W) '$(srcdir)/common/gtk/game-settings.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/gtk/$(DEPDIR)/libpioneers_gtk_a-game-settings.Tpo common/gtk/$(DEPDIR)/libpioneers_gtk_a-game-settings.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/gtk/game-settings.c' object='common/gtk/libpioneers_gtk_a-game-settings.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/gtk/libpioneers_gtk_a-game-settings.obj `if test -f 'common/gtk/game-settings.c'; then $(CYGPATH_W) 'common/gtk/game-settings.c'; else $(CYGPATH_W) '$(srcdir)/common/gtk/game-settings.c'; fi` common/gtk/libpioneers_gtk_a-guimap.o: common/gtk/guimap.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/gtk/libpioneers_gtk_a-guimap.o -MD -MP -MF common/gtk/$(DEPDIR)/libpioneers_gtk_a-guimap.Tpo -c -o common/gtk/libpioneers_gtk_a-guimap.o `test -f 'common/gtk/guimap.c' || echo '$(srcdir)/'`common/gtk/guimap.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/gtk/$(DEPDIR)/libpioneers_gtk_a-guimap.Tpo common/gtk/$(DEPDIR)/libpioneers_gtk_a-guimap.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/gtk/guimap.c' object='common/gtk/libpioneers_gtk_a-guimap.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/gtk/libpioneers_gtk_a-guimap.o `test -f 'common/gtk/guimap.c' || echo '$(srcdir)/'`common/gtk/guimap.c common/gtk/libpioneers_gtk_a-guimap.obj: common/gtk/guimap.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/gtk/libpioneers_gtk_a-guimap.obj -MD -MP -MF common/gtk/$(DEPDIR)/libpioneers_gtk_a-guimap.Tpo -c -o common/gtk/libpioneers_gtk_a-guimap.obj `if test -f 'common/gtk/guimap.c'; then $(CYGPATH_W) 'common/gtk/guimap.c'; else $(CYGPATH_W) '$(srcdir)/common/gtk/guimap.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/gtk/$(DEPDIR)/libpioneers_gtk_a-guimap.Tpo common/gtk/$(DEPDIR)/libpioneers_gtk_a-guimap.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/gtk/guimap.c' object='common/gtk/libpioneers_gtk_a-guimap.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/gtk/libpioneers_gtk_a-guimap.obj `if test -f 'common/gtk/guimap.c'; then $(CYGPATH_W) 'common/gtk/guimap.c'; else $(CYGPATH_W) '$(srcdir)/common/gtk/guimap.c'; fi` common/gtk/libpioneers_gtk_a-map-icons.o: common/gtk/map-icons.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/gtk/libpioneers_gtk_a-map-icons.o -MD -MP -MF common/gtk/$(DEPDIR)/libpioneers_gtk_a-map-icons.Tpo -c -o common/gtk/libpioneers_gtk_a-map-icons.o `test -f 'common/gtk/map-icons.c' || echo '$(srcdir)/'`common/gtk/map-icons.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/gtk/$(DEPDIR)/libpioneers_gtk_a-map-icons.Tpo common/gtk/$(DEPDIR)/libpioneers_gtk_a-map-icons.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/gtk/map-icons.c' object='common/gtk/libpioneers_gtk_a-map-icons.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/gtk/libpioneers_gtk_a-map-icons.o `test -f 'common/gtk/map-icons.c' || echo '$(srcdir)/'`common/gtk/map-icons.c common/gtk/libpioneers_gtk_a-map-icons.obj: common/gtk/map-icons.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/gtk/libpioneers_gtk_a-map-icons.obj -MD -MP -MF common/gtk/$(DEPDIR)/libpioneers_gtk_a-map-icons.Tpo -c -o common/gtk/libpioneers_gtk_a-map-icons.obj `if test -f 'common/gtk/map-icons.c'; then $(CYGPATH_W) 'common/gtk/map-icons.c'; else $(CYGPATH_W) '$(srcdir)/common/gtk/map-icons.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/gtk/$(DEPDIR)/libpioneers_gtk_a-map-icons.Tpo common/gtk/$(DEPDIR)/libpioneers_gtk_a-map-icons.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/gtk/map-icons.c' object='common/gtk/libpioneers_gtk_a-map-icons.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/gtk/libpioneers_gtk_a-map-icons.obj `if test -f 'common/gtk/map-icons.c'; then $(CYGPATH_W) 'common/gtk/map-icons.c'; else $(CYGPATH_W) '$(srcdir)/common/gtk/map-icons.c'; fi` common/gtk/libpioneers_gtk_a-metaserver.o: common/gtk/metaserver.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/gtk/libpioneers_gtk_a-metaserver.o -MD -MP -MF common/gtk/$(DEPDIR)/libpioneers_gtk_a-metaserver.Tpo -c -o common/gtk/libpioneers_gtk_a-metaserver.o `test -f 'common/gtk/metaserver.c' || echo '$(srcdir)/'`common/gtk/metaserver.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/gtk/$(DEPDIR)/libpioneers_gtk_a-metaserver.Tpo common/gtk/$(DEPDIR)/libpioneers_gtk_a-metaserver.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/gtk/metaserver.c' object='common/gtk/libpioneers_gtk_a-metaserver.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/gtk/libpioneers_gtk_a-metaserver.o `test -f 'common/gtk/metaserver.c' || echo '$(srcdir)/'`common/gtk/metaserver.c common/gtk/libpioneers_gtk_a-metaserver.obj: common/gtk/metaserver.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/gtk/libpioneers_gtk_a-metaserver.obj -MD -MP -MF common/gtk/$(DEPDIR)/libpioneers_gtk_a-metaserver.Tpo -c -o common/gtk/libpioneers_gtk_a-metaserver.obj `if test -f 'common/gtk/metaserver.c'; then $(CYGPATH_W) 'common/gtk/metaserver.c'; else $(CYGPATH_W) '$(srcdir)/common/gtk/metaserver.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/gtk/$(DEPDIR)/libpioneers_gtk_a-metaserver.Tpo common/gtk/$(DEPDIR)/libpioneers_gtk_a-metaserver.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/gtk/metaserver.c' object='common/gtk/libpioneers_gtk_a-metaserver.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/gtk/libpioneers_gtk_a-metaserver.obj `if test -f 'common/gtk/metaserver.c'; then $(CYGPATH_W) 'common/gtk/metaserver.c'; else $(CYGPATH_W) '$(srcdir)/common/gtk/metaserver.c'; fi` common/gtk/libpioneers_gtk_a-player-icon.o: common/gtk/player-icon.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/gtk/libpioneers_gtk_a-player-icon.o -MD -MP -MF common/gtk/$(DEPDIR)/libpioneers_gtk_a-player-icon.Tpo -c -o common/gtk/libpioneers_gtk_a-player-icon.o `test -f 'common/gtk/player-icon.c' || echo '$(srcdir)/'`common/gtk/player-icon.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/gtk/$(DEPDIR)/libpioneers_gtk_a-player-icon.Tpo common/gtk/$(DEPDIR)/libpioneers_gtk_a-player-icon.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/gtk/player-icon.c' object='common/gtk/libpioneers_gtk_a-player-icon.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/gtk/libpioneers_gtk_a-player-icon.o `test -f 'common/gtk/player-icon.c' || echo '$(srcdir)/'`common/gtk/player-icon.c common/gtk/libpioneers_gtk_a-player-icon.obj: common/gtk/player-icon.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/gtk/libpioneers_gtk_a-player-icon.obj -MD -MP -MF common/gtk/$(DEPDIR)/libpioneers_gtk_a-player-icon.Tpo -c -o common/gtk/libpioneers_gtk_a-player-icon.obj `if test -f 'common/gtk/player-icon.c'; then $(CYGPATH_W) 'common/gtk/player-icon.c'; else $(CYGPATH_W) '$(srcdir)/common/gtk/player-icon.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/gtk/$(DEPDIR)/libpioneers_gtk_a-player-icon.Tpo common/gtk/$(DEPDIR)/libpioneers_gtk_a-player-icon.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/gtk/player-icon.c' object='common/gtk/libpioneers_gtk_a-player-icon.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/gtk/libpioneers_gtk_a-player-icon.obj `if test -f 'common/gtk/player-icon.c'; then $(CYGPATH_W) 'common/gtk/player-icon.c'; else $(CYGPATH_W) '$(srcdir)/common/gtk/player-icon.c'; fi` common/gtk/libpioneers_gtk_a-polygon.o: common/gtk/polygon.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/gtk/libpioneers_gtk_a-polygon.o -MD -MP -MF common/gtk/$(DEPDIR)/libpioneers_gtk_a-polygon.Tpo -c -o common/gtk/libpioneers_gtk_a-polygon.o `test -f 'common/gtk/polygon.c' || echo '$(srcdir)/'`common/gtk/polygon.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/gtk/$(DEPDIR)/libpioneers_gtk_a-polygon.Tpo common/gtk/$(DEPDIR)/libpioneers_gtk_a-polygon.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/gtk/polygon.c' object='common/gtk/libpioneers_gtk_a-polygon.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/gtk/libpioneers_gtk_a-polygon.o `test -f 'common/gtk/polygon.c' || echo '$(srcdir)/'`common/gtk/polygon.c common/gtk/libpioneers_gtk_a-polygon.obj: common/gtk/polygon.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/gtk/libpioneers_gtk_a-polygon.obj -MD -MP -MF common/gtk/$(DEPDIR)/libpioneers_gtk_a-polygon.Tpo -c -o common/gtk/libpioneers_gtk_a-polygon.obj `if test -f 'common/gtk/polygon.c'; then $(CYGPATH_W) 'common/gtk/polygon.c'; else $(CYGPATH_W) '$(srcdir)/common/gtk/polygon.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/gtk/$(DEPDIR)/libpioneers_gtk_a-polygon.Tpo common/gtk/$(DEPDIR)/libpioneers_gtk_a-polygon.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/gtk/polygon.c' object='common/gtk/libpioneers_gtk_a-polygon.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/gtk/libpioneers_gtk_a-polygon.obj `if test -f 'common/gtk/polygon.c'; then $(CYGPATH_W) 'common/gtk/polygon.c'; else $(CYGPATH_W) '$(srcdir)/common/gtk/polygon.c'; fi` common/gtk/libpioneers_gtk_a-scrollable-text-view.o: common/gtk/scrollable-text-view.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/gtk/libpioneers_gtk_a-scrollable-text-view.o -MD -MP -MF common/gtk/$(DEPDIR)/libpioneers_gtk_a-scrollable-text-view.Tpo -c -o common/gtk/libpioneers_gtk_a-scrollable-text-view.o `test -f 'common/gtk/scrollable-text-view.c' || echo '$(srcdir)/'`common/gtk/scrollable-text-view.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/gtk/$(DEPDIR)/libpioneers_gtk_a-scrollable-text-view.Tpo common/gtk/$(DEPDIR)/libpioneers_gtk_a-scrollable-text-view.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/gtk/scrollable-text-view.c' object='common/gtk/libpioneers_gtk_a-scrollable-text-view.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/gtk/libpioneers_gtk_a-scrollable-text-view.o `test -f 'common/gtk/scrollable-text-view.c' || echo '$(srcdir)/'`common/gtk/scrollable-text-view.c common/gtk/libpioneers_gtk_a-scrollable-text-view.obj: common/gtk/scrollable-text-view.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/gtk/libpioneers_gtk_a-scrollable-text-view.obj -MD -MP -MF common/gtk/$(DEPDIR)/libpioneers_gtk_a-scrollable-text-view.Tpo -c -o common/gtk/libpioneers_gtk_a-scrollable-text-view.obj `if test -f 'common/gtk/scrollable-text-view.c'; then $(CYGPATH_W) 'common/gtk/scrollable-text-view.c'; else $(CYGPATH_W) '$(srcdir)/common/gtk/scrollable-text-view.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/gtk/$(DEPDIR)/libpioneers_gtk_a-scrollable-text-view.Tpo common/gtk/$(DEPDIR)/libpioneers_gtk_a-scrollable-text-view.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/gtk/scrollable-text-view.c' object='common/gtk/libpioneers_gtk_a-scrollable-text-view.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/gtk/libpioneers_gtk_a-scrollable-text-view.obj `if test -f 'common/gtk/scrollable-text-view.c'; then $(CYGPATH_W) 'common/gtk/scrollable-text-view.c'; else $(CYGPATH_W) '$(srcdir)/common/gtk/scrollable-text-view.c'; fi` common/gtk/libpioneers_gtk_a-select-game.o: common/gtk/select-game.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/gtk/libpioneers_gtk_a-select-game.o -MD -MP -MF common/gtk/$(DEPDIR)/libpioneers_gtk_a-select-game.Tpo -c -o common/gtk/libpioneers_gtk_a-select-game.o `test -f 'common/gtk/select-game.c' || echo '$(srcdir)/'`common/gtk/select-game.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/gtk/$(DEPDIR)/libpioneers_gtk_a-select-game.Tpo common/gtk/$(DEPDIR)/libpioneers_gtk_a-select-game.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/gtk/select-game.c' object='common/gtk/libpioneers_gtk_a-select-game.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/gtk/libpioneers_gtk_a-select-game.o `test -f 'common/gtk/select-game.c' || echo '$(srcdir)/'`common/gtk/select-game.c common/gtk/libpioneers_gtk_a-select-game.obj: common/gtk/select-game.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/gtk/libpioneers_gtk_a-select-game.obj -MD -MP -MF common/gtk/$(DEPDIR)/libpioneers_gtk_a-select-game.Tpo -c -o common/gtk/libpioneers_gtk_a-select-game.obj `if test -f 'common/gtk/select-game.c'; then $(CYGPATH_W) 'common/gtk/select-game.c'; else $(CYGPATH_W) '$(srcdir)/common/gtk/select-game.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/gtk/$(DEPDIR)/libpioneers_gtk_a-select-game.Tpo common/gtk/$(DEPDIR)/libpioneers_gtk_a-select-game.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/gtk/select-game.c' object='common/gtk/libpioneers_gtk_a-select-game.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/gtk/libpioneers_gtk_a-select-game.obj `if test -f 'common/gtk/select-game.c'; then $(CYGPATH_W) 'common/gtk/select-game.c'; else $(CYGPATH_W) '$(srcdir)/common/gtk/select-game.c'; fi` common/gtk/libpioneers_gtk_a-theme.o: common/gtk/theme.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/gtk/libpioneers_gtk_a-theme.o -MD -MP -MF common/gtk/$(DEPDIR)/libpioneers_gtk_a-theme.Tpo -c -o common/gtk/libpioneers_gtk_a-theme.o `test -f 'common/gtk/theme.c' || echo '$(srcdir)/'`common/gtk/theme.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/gtk/$(DEPDIR)/libpioneers_gtk_a-theme.Tpo common/gtk/$(DEPDIR)/libpioneers_gtk_a-theme.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/gtk/theme.c' object='common/gtk/libpioneers_gtk_a-theme.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/gtk/libpioneers_gtk_a-theme.o `test -f 'common/gtk/theme.c' || echo '$(srcdir)/'`common/gtk/theme.c common/gtk/libpioneers_gtk_a-theme.obj: common/gtk/theme.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/gtk/libpioneers_gtk_a-theme.obj -MD -MP -MF common/gtk/$(DEPDIR)/libpioneers_gtk_a-theme.Tpo -c -o common/gtk/libpioneers_gtk_a-theme.obj `if test -f 'common/gtk/theme.c'; then $(CYGPATH_W) 'common/gtk/theme.c'; else $(CYGPATH_W) '$(srcdir)/common/gtk/theme.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/gtk/$(DEPDIR)/libpioneers_gtk_a-theme.Tpo common/gtk/$(DEPDIR)/libpioneers_gtk_a-theme.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/gtk/theme.c' object='common/gtk/libpioneers_gtk_a-theme.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_gtk_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/gtk/libpioneers_gtk_a-theme.obj `if test -f 'common/gtk/theme.c'; then $(CYGPATH_W) 'common/gtk/theme.c'; else $(CYGPATH_W) '$(srcdir)/common/gtk/theme.c'; fi` server/libpioneers_server_a-admin.o: server/admin.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT server/libpioneers_server_a-admin.o -MD -MP -MF server/$(DEPDIR)/libpioneers_server_a-admin.Tpo -c -o server/libpioneers_server_a-admin.o `test -f 'server/admin.c' || echo '$(srcdir)/'`server/admin.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) server/$(DEPDIR)/libpioneers_server_a-admin.Tpo server/$(DEPDIR)/libpioneers_server_a-admin.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='server/admin.c' object='server/libpioneers_server_a-admin.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o server/libpioneers_server_a-admin.o `test -f 'server/admin.c' || echo '$(srcdir)/'`server/admin.c server/libpioneers_server_a-admin.obj: server/admin.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT server/libpioneers_server_a-admin.obj -MD -MP -MF server/$(DEPDIR)/libpioneers_server_a-admin.Tpo -c -o server/libpioneers_server_a-admin.obj `if test -f 'server/admin.c'; then $(CYGPATH_W) 'server/admin.c'; else $(CYGPATH_W) '$(srcdir)/server/admin.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) server/$(DEPDIR)/libpioneers_server_a-admin.Tpo server/$(DEPDIR)/libpioneers_server_a-admin.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='server/admin.c' object='server/libpioneers_server_a-admin.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o server/libpioneers_server_a-admin.obj `if test -f 'server/admin.c'; then $(CYGPATH_W) 'server/admin.c'; else $(CYGPATH_W) '$(srcdir)/server/admin.c'; fi` server/libpioneers_server_a-avahi.o: server/avahi.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT server/libpioneers_server_a-avahi.o -MD -MP -MF server/$(DEPDIR)/libpioneers_server_a-avahi.Tpo -c -o server/libpioneers_server_a-avahi.o `test -f 'server/avahi.c' || echo '$(srcdir)/'`server/avahi.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) server/$(DEPDIR)/libpioneers_server_a-avahi.Tpo server/$(DEPDIR)/libpioneers_server_a-avahi.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='server/avahi.c' object='server/libpioneers_server_a-avahi.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o server/libpioneers_server_a-avahi.o `test -f 'server/avahi.c' || echo '$(srcdir)/'`server/avahi.c server/libpioneers_server_a-avahi.obj: server/avahi.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT server/libpioneers_server_a-avahi.obj -MD -MP -MF server/$(DEPDIR)/libpioneers_server_a-avahi.Tpo -c -o server/libpioneers_server_a-avahi.obj `if test -f 'server/avahi.c'; then $(CYGPATH_W) 'server/avahi.c'; else $(CYGPATH_W) '$(srcdir)/server/avahi.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) server/$(DEPDIR)/libpioneers_server_a-avahi.Tpo server/$(DEPDIR)/libpioneers_server_a-avahi.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='server/avahi.c' object='server/libpioneers_server_a-avahi.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o server/libpioneers_server_a-avahi.obj `if test -f 'server/avahi.c'; then $(CYGPATH_W) 'server/avahi.c'; else $(CYGPATH_W) '$(srcdir)/server/avahi.c'; fi` server/libpioneers_server_a-buildutil.o: server/buildutil.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT server/libpioneers_server_a-buildutil.o -MD -MP -MF server/$(DEPDIR)/libpioneers_server_a-buildutil.Tpo -c -o server/libpioneers_server_a-buildutil.o `test -f 'server/buildutil.c' || echo '$(srcdir)/'`server/buildutil.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) server/$(DEPDIR)/libpioneers_server_a-buildutil.Tpo server/$(DEPDIR)/libpioneers_server_a-buildutil.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='server/buildutil.c' object='server/libpioneers_server_a-buildutil.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o server/libpioneers_server_a-buildutil.o `test -f 'server/buildutil.c' || echo '$(srcdir)/'`server/buildutil.c server/libpioneers_server_a-buildutil.obj: server/buildutil.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT server/libpioneers_server_a-buildutil.obj -MD -MP -MF server/$(DEPDIR)/libpioneers_server_a-buildutil.Tpo -c -o server/libpioneers_server_a-buildutil.obj `if test -f 'server/buildutil.c'; then $(CYGPATH_W) 'server/buildutil.c'; else $(CYGPATH_W) '$(srcdir)/server/buildutil.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) server/$(DEPDIR)/libpioneers_server_a-buildutil.Tpo server/$(DEPDIR)/libpioneers_server_a-buildutil.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='server/buildutil.c' object='server/libpioneers_server_a-buildutil.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o server/libpioneers_server_a-buildutil.obj `if test -f 'server/buildutil.c'; then $(CYGPATH_W) 'server/buildutil.c'; else $(CYGPATH_W) '$(srcdir)/server/buildutil.c'; fi` server/libpioneers_server_a-develop.o: server/develop.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT server/libpioneers_server_a-develop.o -MD -MP -MF server/$(DEPDIR)/libpioneers_server_a-develop.Tpo -c -o server/libpioneers_server_a-develop.o `test -f 'server/develop.c' || echo '$(srcdir)/'`server/develop.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) server/$(DEPDIR)/libpioneers_server_a-develop.Tpo server/$(DEPDIR)/libpioneers_server_a-develop.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='server/develop.c' object='server/libpioneers_server_a-develop.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o server/libpioneers_server_a-develop.o `test -f 'server/develop.c' || echo '$(srcdir)/'`server/develop.c server/libpioneers_server_a-develop.obj: server/develop.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT server/libpioneers_server_a-develop.obj -MD -MP -MF server/$(DEPDIR)/libpioneers_server_a-develop.Tpo -c -o server/libpioneers_server_a-develop.obj `if test -f 'server/develop.c'; then $(CYGPATH_W) 'server/develop.c'; else $(CYGPATH_W) '$(srcdir)/server/develop.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) server/$(DEPDIR)/libpioneers_server_a-develop.Tpo server/$(DEPDIR)/libpioneers_server_a-develop.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='server/develop.c' object='server/libpioneers_server_a-develop.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o server/libpioneers_server_a-develop.obj `if test -f 'server/develop.c'; then $(CYGPATH_W) 'server/develop.c'; else $(CYGPATH_W) '$(srcdir)/server/develop.c'; fi` server/libpioneers_server_a-discard.o: server/discard.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT server/libpioneers_server_a-discard.o -MD -MP -MF server/$(DEPDIR)/libpioneers_server_a-discard.Tpo -c -o server/libpioneers_server_a-discard.o `test -f 'server/discard.c' || echo '$(srcdir)/'`server/discard.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) server/$(DEPDIR)/libpioneers_server_a-discard.Tpo server/$(DEPDIR)/libpioneers_server_a-discard.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='server/discard.c' object='server/libpioneers_server_a-discard.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o server/libpioneers_server_a-discard.o `test -f 'server/discard.c' || echo '$(srcdir)/'`server/discard.c server/libpioneers_server_a-discard.obj: server/discard.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT server/libpioneers_server_a-discard.obj -MD -MP -MF server/$(DEPDIR)/libpioneers_server_a-discard.Tpo -c -o server/libpioneers_server_a-discard.obj `if test -f 'server/discard.c'; then $(CYGPATH_W) 'server/discard.c'; else $(CYGPATH_W) '$(srcdir)/server/discard.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) server/$(DEPDIR)/libpioneers_server_a-discard.Tpo server/$(DEPDIR)/libpioneers_server_a-discard.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='server/discard.c' object='server/libpioneers_server_a-discard.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o server/libpioneers_server_a-discard.obj `if test -f 'server/discard.c'; then $(CYGPATH_W) 'server/discard.c'; else $(CYGPATH_W) '$(srcdir)/server/discard.c'; fi` server/libpioneers_server_a-gold.o: server/gold.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT server/libpioneers_server_a-gold.o -MD -MP -MF server/$(DEPDIR)/libpioneers_server_a-gold.Tpo -c -o server/libpioneers_server_a-gold.o `test -f 'server/gold.c' || echo '$(srcdir)/'`server/gold.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) server/$(DEPDIR)/libpioneers_server_a-gold.Tpo server/$(DEPDIR)/libpioneers_server_a-gold.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='server/gold.c' object='server/libpioneers_server_a-gold.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o server/libpioneers_server_a-gold.o `test -f 'server/gold.c' || echo '$(srcdir)/'`server/gold.c server/libpioneers_server_a-gold.obj: server/gold.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT server/libpioneers_server_a-gold.obj -MD -MP -MF server/$(DEPDIR)/libpioneers_server_a-gold.Tpo -c -o server/libpioneers_server_a-gold.obj `if test -f 'server/gold.c'; then $(CYGPATH_W) 'server/gold.c'; else $(CYGPATH_W) '$(srcdir)/server/gold.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) server/$(DEPDIR)/libpioneers_server_a-gold.Tpo server/$(DEPDIR)/libpioneers_server_a-gold.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='server/gold.c' object='server/libpioneers_server_a-gold.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o server/libpioneers_server_a-gold.obj `if test -f 'server/gold.c'; then $(CYGPATH_W) 'server/gold.c'; else $(CYGPATH_W) '$(srcdir)/server/gold.c'; fi` server/libpioneers_server_a-meta.o: server/meta.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT server/libpioneers_server_a-meta.o -MD -MP -MF server/$(DEPDIR)/libpioneers_server_a-meta.Tpo -c -o server/libpioneers_server_a-meta.o `test -f 'server/meta.c' || echo '$(srcdir)/'`server/meta.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) server/$(DEPDIR)/libpioneers_server_a-meta.Tpo server/$(DEPDIR)/libpioneers_server_a-meta.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='server/meta.c' object='server/libpioneers_server_a-meta.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o server/libpioneers_server_a-meta.o `test -f 'server/meta.c' || echo '$(srcdir)/'`server/meta.c server/libpioneers_server_a-meta.obj: server/meta.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT server/libpioneers_server_a-meta.obj -MD -MP -MF server/$(DEPDIR)/libpioneers_server_a-meta.Tpo -c -o server/libpioneers_server_a-meta.obj `if test -f 'server/meta.c'; then $(CYGPATH_W) 'server/meta.c'; else $(CYGPATH_W) '$(srcdir)/server/meta.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) server/$(DEPDIR)/libpioneers_server_a-meta.Tpo server/$(DEPDIR)/libpioneers_server_a-meta.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='server/meta.c' object='server/libpioneers_server_a-meta.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o server/libpioneers_server_a-meta.obj `if test -f 'server/meta.c'; then $(CYGPATH_W) 'server/meta.c'; else $(CYGPATH_W) '$(srcdir)/server/meta.c'; fi` server/libpioneers_server_a-player.o: server/player.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT server/libpioneers_server_a-player.o -MD -MP -MF server/$(DEPDIR)/libpioneers_server_a-player.Tpo -c -o server/libpioneers_server_a-player.o `test -f 'server/player.c' || echo '$(srcdir)/'`server/player.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) server/$(DEPDIR)/libpioneers_server_a-player.Tpo server/$(DEPDIR)/libpioneers_server_a-player.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='server/player.c' object='server/libpioneers_server_a-player.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o server/libpioneers_server_a-player.o `test -f 'server/player.c' || echo '$(srcdir)/'`server/player.c server/libpioneers_server_a-player.obj: server/player.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT server/libpioneers_server_a-player.obj -MD -MP -MF server/$(DEPDIR)/libpioneers_server_a-player.Tpo -c -o server/libpioneers_server_a-player.obj `if test -f 'server/player.c'; then $(CYGPATH_W) 'server/player.c'; else $(CYGPATH_W) '$(srcdir)/server/player.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) server/$(DEPDIR)/libpioneers_server_a-player.Tpo server/$(DEPDIR)/libpioneers_server_a-player.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='server/player.c' object='server/libpioneers_server_a-player.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o server/libpioneers_server_a-player.obj `if test -f 'server/player.c'; then $(CYGPATH_W) 'server/player.c'; else $(CYGPATH_W) '$(srcdir)/server/player.c'; fi` server/libpioneers_server_a-pregame.o: server/pregame.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT server/libpioneers_server_a-pregame.o -MD -MP -MF server/$(DEPDIR)/libpioneers_server_a-pregame.Tpo -c -o server/libpioneers_server_a-pregame.o `test -f 'server/pregame.c' || echo '$(srcdir)/'`server/pregame.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) server/$(DEPDIR)/libpioneers_server_a-pregame.Tpo server/$(DEPDIR)/libpioneers_server_a-pregame.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='server/pregame.c' object='server/libpioneers_server_a-pregame.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o server/libpioneers_server_a-pregame.o `test -f 'server/pregame.c' || echo '$(srcdir)/'`server/pregame.c server/libpioneers_server_a-pregame.obj: server/pregame.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT server/libpioneers_server_a-pregame.obj -MD -MP -MF server/$(DEPDIR)/libpioneers_server_a-pregame.Tpo -c -o server/libpioneers_server_a-pregame.obj `if test -f 'server/pregame.c'; then $(CYGPATH_W) 'server/pregame.c'; else $(CYGPATH_W) '$(srcdir)/server/pregame.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) server/$(DEPDIR)/libpioneers_server_a-pregame.Tpo server/$(DEPDIR)/libpioneers_server_a-pregame.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='server/pregame.c' object='server/libpioneers_server_a-pregame.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o server/libpioneers_server_a-pregame.obj `if test -f 'server/pregame.c'; then $(CYGPATH_W) 'server/pregame.c'; else $(CYGPATH_W) '$(srcdir)/server/pregame.c'; fi` server/libpioneers_server_a-resource.o: server/resource.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT server/libpioneers_server_a-resource.o -MD -MP -MF server/$(DEPDIR)/libpioneers_server_a-resource.Tpo -c -o server/libpioneers_server_a-resource.o `test -f 'server/resource.c' || echo '$(srcdir)/'`server/resource.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) server/$(DEPDIR)/libpioneers_server_a-resource.Tpo server/$(DEPDIR)/libpioneers_server_a-resource.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='server/resource.c' object='server/libpioneers_server_a-resource.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o server/libpioneers_server_a-resource.o `test -f 'server/resource.c' || echo '$(srcdir)/'`server/resource.c server/libpioneers_server_a-resource.obj: server/resource.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT server/libpioneers_server_a-resource.obj -MD -MP -MF server/$(DEPDIR)/libpioneers_server_a-resource.Tpo -c -o server/libpioneers_server_a-resource.obj `if test -f 'server/resource.c'; then $(CYGPATH_W) 'server/resource.c'; else $(CYGPATH_W) '$(srcdir)/server/resource.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) server/$(DEPDIR)/libpioneers_server_a-resource.Tpo server/$(DEPDIR)/libpioneers_server_a-resource.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='server/resource.c' object='server/libpioneers_server_a-resource.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o server/libpioneers_server_a-resource.obj `if test -f 'server/resource.c'; then $(CYGPATH_W) 'server/resource.c'; else $(CYGPATH_W) '$(srcdir)/server/resource.c'; fi` server/libpioneers_server_a-robber.o: server/robber.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT server/libpioneers_server_a-robber.o -MD -MP -MF server/$(DEPDIR)/libpioneers_server_a-robber.Tpo -c -o server/libpioneers_server_a-robber.o `test -f 'server/robber.c' || echo '$(srcdir)/'`server/robber.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) server/$(DEPDIR)/libpioneers_server_a-robber.Tpo server/$(DEPDIR)/libpioneers_server_a-robber.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='server/robber.c' object='server/libpioneers_server_a-robber.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o server/libpioneers_server_a-robber.o `test -f 'server/robber.c' || echo '$(srcdir)/'`server/robber.c server/libpioneers_server_a-robber.obj: server/robber.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT server/libpioneers_server_a-robber.obj -MD -MP -MF server/$(DEPDIR)/libpioneers_server_a-robber.Tpo -c -o server/libpioneers_server_a-robber.obj `if test -f 'server/robber.c'; then $(CYGPATH_W) 'server/robber.c'; else $(CYGPATH_W) '$(srcdir)/server/robber.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) server/$(DEPDIR)/libpioneers_server_a-robber.Tpo server/$(DEPDIR)/libpioneers_server_a-robber.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='server/robber.c' object='server/libpioneers_server_a-robber.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o server/libpioneers_server_a-robber.obj `if test -f 'server/robber.c'; then $(CYGPATH_W) 'server/robber.c'; else $(CYGPATH_W) '$(srcdir)/server/robber.c'; fi` server/libpioneers_server_a-server.o: server/server.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT server/libpioneers_server_a-server.o -MD -MP -MF server/$(DEPDIR)/libpioneers_server_a-server.Tpo -c -o server/libpioneers_server_a-server.o `test -f 'server/server.c' || echo '$(srcdir)/'`server/server.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) server/$(DEPDIR)/libpioneers_server_a-server.Tpo server/$(DEPDIR)/libpioneers_server_a-server.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='server/server.c' object='server/libpioneers_server_a-server.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o server/libpioneers_server_a-server.o `test -f 'server/server.c' || echo '$(srcdir)/'`server/server.c server/libpioneers_server_a-server.obj: server/server.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT server/libpioneers_server_a-server.obj -MD -MP -MF server/$(DEPDIR)/libpioneers_server_a-server.Tpo -c -o server/libpioneers_server_a-server.obj `if test -f 'server/server.c'; then $(CYGPATH_W) 'server/server.c'; else $(CYGPATH_W) '$(srcdir)/server/server.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) server/$(DEPDIR)/libpioneers_server_a-server.Tpo server/$(DEPDIR)/libpioneers_server_a-server.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='server/server.c' object='server/libpioneers_server_a-server.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o server/libpioneers_server_a-server.obj `if test -f 'server/server.c'; then $(CYGPATH_W) 'server/server.c'; else $(CYGPATH_W) '$(srcdir)/server/server.c'; fi` server/libpioneers_server_a-trade.o: server/trade.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT server/libpioneers_server_a-trade.o -MD -MP -MF server/$(DEPDIR)/libpioneers_server_a-trade.Tpo -c -o server/libpioneers_server_a-trade.o `test -f 'server/trade.c' || echo '$(srcdir)/'`server/trade.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) server/$(DEPDIR)/libpioneers_server_a-trade.Tpo server/$(DEPDIR)/libpioneers_server_a-trade.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='server/trade.c' object='server/libpioneers_server_a-trade.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o server/libpioneers_server_a-trade.o `test -f 'server/trade.c' || echo '$(srcdir)/'`server/trade.c server/libpioneers_server_a-trade.obj: server/trade.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT server/libpioneers_server_a-trade.obj -MD -MP -MF server/$(DEPDIR)/libpioneers_server_a-trade.Tpo -c -o server/libpioneers_server_a-trade.obj `if test -f 'server/trade.c'; then $(CYGPATH_W) 'server/trade.c'; else $(CYGPATH_W) '$(srcdir)/server/trade.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) server/$(DEPDIR)/libpioneers_server_a-trade.Tpo server/$(DEPDIR)/libpioneers_server_a-trade.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='server/trade.c' object='server/libpioneers_server_a-trade.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o server/libpioneers_server_a-trade.obj `if test -f 'server/trade.c'; then $(CYGPATH_W) 'server/trade.c'; else $(CYGPATH_W) '$(srcdir)/server/trade.c'; fi` server/libpioneers_server_a-turn.o: server/turn.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT server/libpioneers_server_a-turn.o -MD -MP -MF server/$(DEPDIR)/libpioneers_server_a-turn.Tpo -c -o server/libpioneers_server_a-turn.o `test -f 'server/turn.c' || echo '$(srcdir)/'`server/turn.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) server/$(DEPDIR)/libpioneers_server_a-turn.Tpo server/$(DEPDIR)/libpioneers_server_a-turn.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='server/turn.c' object='server/libpioneers_server_a-turn.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o server/libpioneers_server_a-turn.o `test -f 'server/turn.c' || echo '$(srcdir)/'`server/turn.c server/libpioneers_server_a-turn.obj: server/turn.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT server/libpioneers_server_a-turn.obj -MD -MP -MF server/$(DEPDIR)/libpioneers_server_a-turn.Tpo -c -o server/libpioneers_server_a-turn.obj `if test -f 'server/turn.c'; then $(CYGPATH_W) 'server/turn.c'; else $(CYGPATH_W) '$(srcdir)/server/turn.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) server/$(DEPDIR)/libpioneers_server_a-turn.Tpo server/$(DEPDIR)/libpioneers_server_a-turn.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='server/turn.c' object='server/libpioneers_server_a-turn.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneers_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o server/libpioneers_server_a-turn.obj `if test -f 'server/turn.c'; then $(CYGPATH_W) 'server/turn.c'; else $(CYGPATH_W) '$(srcdir)/server/turn.c'; fi` client/common/libpioneersclient_a-build.o: client/common/build.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneersclient_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/common/libpioneersclient_a-build.o -MD -MP -MF client/common/$(DEPDIR)/libpioneersclient_a-build.Tpo -c -o client/common/libpioneersclient_a-build.o `test -f 'client/common/build.c' || echo '$(srcdir)/'`client/common/build.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/common/$(DEPDIR)/libpioneersclient_a-build.Tpo client/common/$(DEPDIR)/libpioneersclient_a-build.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/common/build.c' object='client/common/libpioneersclient_a-build.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneersclient_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/common/libpioneersclient_a-build.o `test -f 'client/common/build.c' || echo '$(srcdir)/'`client/common/build.c client/common/libpioneersclient_a-build.obj: client/common/build.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneersclient_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/common/libpioneersclient_a-build.obj -MD -MP -MF client/common/$(DEPDIR)/libpioneersclient_a-build.Tpo -c -o client/common/libpioneersclient_a-build.obj `if test -f 'client/common/build.c'; then $(CYGPATH_W) 'client/common/build.c'; else $(CYGPATH_W) '$(srcdir)/client/common/build.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/common/$(DEPDIR)/libpioneersclient_a-build.Tpo client/common/$(DEPDIR)/libpioneersclient_a-build.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/common/build.c' object='client/common/libpioneersclient_a-build.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneersclient_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/common/libpioneersclient_a-build.obj `if test -f 'client/common/build.c'; then $(CYGPATH_W) 'client/common/build.c'; else $(CYGPATH_W) '$(srcdir)/client/common/build.c'; fi` client/common/libpioneersclient_a-callback.o: client/common/callback.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneersclient_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/common/libpioneersclient_a-callback.o -MD -MP -MF client/common/$(DEPDIR)/libpioneersclient_a-callback.Tpo -c -o client/common/libpioneersclient_a-callback.o `test -f 'client/common/callback.c' || echo '$(srcdir)/'`client/common/callback.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/common/$(DEPDIR)/libpioneersclient_a-callback.Tpo client/common/$(DEPDIR)/libpioneersclient_a-callback.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/common/callback.c' object='client/common/libpioneersclient_a-callback.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneersclient_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/common/libpioneersclient_a-callback.o `test -f 'client/common/callback.c' || echo '$(srcdir)/'`client/common/callback.c client/common/libpioneersclient_a-callback.obj: client/common/callback.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneersclient_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/common/libpioneersclient_a-callback.obj -MD -MP -MF client/common/$(DEPDIR)/libpioneersclient_a-callback.Tpo -c -o client/common/libpioneersclient_a-callback.obj `if test -f 'client/common/callback.c'; then $(CYGPATH_W) 'client/common/callback.c'; else $(CYGPATH_W) '$(srcdir)/client/common/callback.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/common/$(DEPDIR)/libpioneersclient_a-callback.Tpo client/common/$(DEPDIR)/libpioneersclient_a-callback.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/common/callback.c' object='client/common/libpioneersclient_a-callback.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneersclient_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/common/libpioneersclient_a-callback.obj `if test -f 'client/common/callback.c'; then $(CYGPATH_W) 'client/common/callback.c'; else $(CYGPATH_W) '$(srcdir)/client/common/callback.c'; fi` client/common/libpioneersclient_a-client.o: client/common/client.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneersclient_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/common/libpioneersclient_a-client.o -MD -MP -MF client/common/$(DEPDIR)/libpioneersclient_a-client.Tpo -c -o client/common/libpioneersclient_a-client.o `test -f 'client/common/client.c' || echo '$(srcdir)/'`client/common/client.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/common/$(DEPDIR)/libpioneersclient_a-client.Tpo client/common/$(DEPDIR)/libpioneersclient_a-client.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/common/client.c' object='client/common/libpioneersclient_a-client.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneersclient_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/common/libpioneersclient_a-client.o `test -f 'client/common/client.c' || echo '$(srcdir)/'`client/common/client.c client/common/libpioneersclient_a-client.obj: client/common/client.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneersclient_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/common/libpioneersclient_a-client.obj -MD -MP -MF client/common/$(DEPDIR)/libpioneersclient_a-client.Tpo -c -o client/common/libpioneersclient_a-client.obj `if test -f 'client/common/client.c'; then $(CYGPATH_W) 'client/common/client.c'; else $(CYGPATH_W) '$(srcdir)/client/common/client.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/common/$(DEPDIR)/libpioneersclient_a-client.Tpo client/common/$(DEPDIR)/libpioneersclient_a-client.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/common/client.c' object='client/common/libpioneersclient_a-client.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneersclient_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/common/libpioneersclient_a-client.obj `if test -f 'client/common/client.c'; then $(CYGPATH_W) 'client/common/client.c'; else $(CYGPATH_W) '$(srcdir)/client/common/client.c'; fi` client/common/libpioneersclient_a-develop.o: client/common/develop.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneersclient_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/common/libpioneersclient_a-develop.o -MD -MP -MF client/common/$(DEPDIR)/libpioneersclient_a-develop.Tpo -c -o client/common/libpioneersclient_a-develop.o `test -f 'client/common/develop.c' || echo '$(srcdir)/'`client/common/develop.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/common/$(DEPDIR)/libpioneersclient_a-develop.Tpo client/common/$(DEPDIR)/libpioneersclient_a-develop.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/common/develop.c' object='client/common/libpioneersclient_a-develop.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneersclient_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/common/libpioneersclient_a-develop.o `test -f 'client/common/develop.c' || echo '$(srcdir)/'`client/common/develop.c client/common/libpioneersclient_a-develop.obj: client/common/develop.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneersclient_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/common/libpioneersclient_a-develop.obj -MD -MP -MF client/common/$(DEPDIR)/libpioneersclient_a-develop.Tpo -c -o client/common/libpioneersclient_a-develop.obj `if test -f 'client/common/develop.c'; then $(CYGPATH_W) 'client/common/develop.c'; else $(CYGPATH_W) '$(srcdir)/client/common/develop.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/common/$(DEPDIR)/libpioneersclient_a-develop.Tpo client/common/$(DEPDIR)/libpioneersclient_a-develop.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/common/develop.c' object='client/common/libpioneersclient_a-develop.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneersclient_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/common/libpioneersclient_a-develop.obj `if test -f 'client/common/develop.c'; then $(CYGPATH_W) 'client/common/develop.c'; else $(CYGPATH_W) '$(srcdir)/client/common/develop.c'; fi` client/common/libpioneersclient_a-main.o: client/common/main.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneersclient_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/common/libpioneersclient_a-main.o -MD -MP -MF client/common/$(DEPDIR)/libpioneersclient_a-main.Tpo -c -o client/common/libpioneersclient_a-main.o `test -f 'client/common/main.c' || echo '$(srcdir)/'`client/common/main.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/common/$(DEPDIR)/libpioneersclient_a-main.Tpo client/common/$(DEPDIR)/libpioneersclient_a-main.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/common/main.c' object='client/common/libpioneersclient_a-main.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneersclient_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/common/libpioneersclient_a-main.o `test -f 'client/common/main.c' || echo '$(srcdir)/'`client/common/main.c client/common/libpioneersclient_a-main.obj: client/common/main.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneersclient_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/common/libpioneersclient_a-main.obj -MD -MP -MF client/common/$(DEPDIR)/libpioneersclient_a-main.Tpo -c -o client/common/libpioneersclient_a-main.obj `if test -f 'client/common/main.c'; then $(CYGPATH_W) 'client/common/main.c'; else $(CYGPATH_W) '$(srcdir)/client/common/main.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/common/$(DEPDIR)/libpioneersclient_a-main.Tpo client/common/$(DEPDIR)/libpioneersclient_a-main.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/common/main.c' object='client/common/libpioneersclient_a-main.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneersclient_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/common/libpioneersclient_a-main.obj `if test -f 'client/common/main.c'; then $(CYGPATH_W) 'client/common/main.c'; else $(CYGPATH_W) '$(srcdir)/client/common/main.c'; fi` client/common/libpioneersclient_a-player.o: client/common/player.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneersclient_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/common/libpioneersclient_a-player.o -MD -MP -MF client/common/$(DEPDIR)/libpioneersclient_a-player.Tpo -c -o client/common/libpioneersclient_a-player.o `test -f 'client/common/player.c' || echo '$(srcdir)/'`client/common/player.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/common/$(DEPDIR)/libpioneersclient_a-player.Tpo client/common/$(DEPDIR)/libpioneersclient_a-player.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/common/player.c' object='client/common/libpioneersclient_a-player.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneersclient_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/common/libpioneersclient_a-player.o `test -f 'client/common/player.c' || echo '$(srcdir)/'`client/common/player.c client/common/libpioneersclient_a-player.obj: client/common/player.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneersclient_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/common/libpioneersclient_a-player.obj -MD -MP -MF client/common/$(DEPDIR)/libpioneersclient_a-player.Tpo -c -o client/common/libpioneersclient_a-player.obj `if test -f 'client/common/player.c'; then $(CYGPATH_W) 'client/common/player.c'; else $(CYGPATH_W) '$(srcdir)/client/common/player.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/common/$(DEPDIR)/libpioneersclient_a-player.Tpo client/common/$(DEPDIR)/libpioneersclient_a-player.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/common/player.c' object='client/common/libpioneersclient_a-player.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneersclient_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/common/libpioneersclient_a-player.obj `if test -f 'client/common/player.c'; then $(CYGPATH_W) 'client/common/player.c'; else $(CYGPATH_W) '$(srcdir)/client/common/player.c'; fi` client/common/libpioneersclient_a-resource.o: client/common/resource.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneersclient_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/common/libpioneersclient_a-resource.o -MD -MP -MF client/common/$(DEPDIR)/libpioneersclient_a-resource.Tpo -c -o client/common/libpioneersclient_a-resource.o `test -f 'client/common/resource.c' || echo '$(srcdir)/'`client/common/resource.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/common/$(DEPDIR)/libpioneersclient_a-resource.Tpo client/common/$(DEPDIR)/libpioneersclient_a-resource.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/common/resource.c' object='client/common/libpioneersclient_a-resource.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneersclient_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/common/libpioneersclient_a-resource.o `test -f 'client/common/resource.c' || echo '$(srcdir)/'`client/common/resource.c client/common/libpioneersclient_a-resource.obj: client/common/resource.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneersclient_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/common/libpioneersclient_a-resource.obj -MD -MP -MF client/common/$(DEPDIR)/libpioneersclient_a-resource.Tpo -c -o client/common/libpioneersclient_a-resource.obj `if test -f 'client/common/resource.c'; then $(CYGPATH_W) 'client/common/resource.c'; else $(CYGPATH_W) '$(srcdir)/client/common/resource.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/common/$(DEPDIR)/libpioneersclient_a-resource.Tpo client/common/$(DEPDIR)/libpioneersclient_a-resource.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/common/resource.c' object='client/common/libpioneersclient_a-resource.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneersclient_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/common/libpioneersclient_a-resource.obj `if test -f 'client/common/resource.c'; then $(CYGPATH_W) 'client/common/resource.c'; else $(CYGPATH_W) '$(srcdir)/client/common/resource.c'; fi` client/common/libpioneersclient_a-robber.o: client/common/robber.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneersclient_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/common/libpioneersclient_a-robber.o -MD -MP -MF client/common/$(DEPDIR)/libpioneersclient_a-robber.Tpo -c -o client/common/libpioneersclient_a-robber.o `test -f 'client/common/robber.c' || echo '$(srcdir)/'`client/common/robber.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/common/$(DEPDIR)/libpioneersclient_a-robber.Tpo client/common/$(DEPDIR)/libpioneersclient_a-robber.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/common/robber.c' object='client/common/libpioneersclient_a-robber.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneersclient_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/common/libpioneersclient_a-robber.o `test -f 'client/common/robber.c' || echo '$(srcdir)/'`client/common/robber.c client/common/libpioneersclient_a-robber.obj: client/common/robber.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneersclient_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/common/libpioneersclient_a-robber.obj -MD -MP -MF client/common/$(DEPDIR)/libpioneersclient_a-robber.Tpo -c -o client/common/libpioneersclient_a-robber.obj `if test -f 'client/common/robber.c'; then $(CYGPATH_W) 'client/common/robber.c'; else $(CYGPATH_W) '$(srcdir)/client/common/robber.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/common/$(DEPDIR)/libpioneersclient_a-robber.Tpo client/common/$(DEPDIR)/libpioneersclient_a-robber.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/common/robber.c' object='client/common/libpioneersclient_a-robber.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneersclient_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/common/libpioneersclient_a-robber.obj `if test -f 'client/common/robber.c'; then $(CYGPATH_W) 'client/common/robber.c'; else $(CYGPATH_W) '$(srcdir)/client/common/robber.c'; fi` client/common/libpioneersclient_a-setup.o: client/common/setup.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneersclient_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/common/libpioneersclient_a-setup.o -MD -MP -MF client/common/$(DEPDIR)/libpioneersclient_a-setup.Tpo -c -o client/common/libpioneersclient_a-setup.o `test -f 'client/common/setup.c' || echo '$(srcdir)/'`client/common/setup.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/common/$(DEPDIR)/libpioneersclient_a-setup.Tpo client/common/$(DEPDIR)/libpioneersclient_a-setup.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/common/setup.c' object='client/common/libpioneersclient_a-setup.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneersclient_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/common/libpioneersclient_a-setup.o `test -f 'client/common/setup.c' || echo '$(srcdir)/'`client/common/setup.c client/common/libpioneersclient_a-setup.obj: client/common/setup.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneersclient_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/common/libpioneersclient_a-setup.obj -MD -MP -MF client/common/$(DEPDIR)/libpioneersclient_a-setup.Tpo -c -o client/common/libpioneersclient_a-setup.obj `if test -f 'client/common/setup.c'; then $(CYGPATH_W) 'client/common/setup.c'; else $(CYGPATH_W) '$(srcdir)/client/common/setup.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/common/$(DEPDIR)/libpioneersclient_a-setup.Tpo client/common/$(DEPDIR)/libpioneersclient_a-setup.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/common/setup.c' object='client/common/libpioneersclient_a-setup.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneersclient_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/common/libpioneersclient_a-setup.obj `if test -f 'client/common/setup.c'; then $(CYGPATH_W) 'client/common/setup.c'; else $(CYGPATH_W) '$(srcdir)/client/common/setup.c'; fi` client/common/libpioneersclient_a-stock.o: client/common/stock.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneersclient_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/common/libpioneersclient_a-stock.o -MD -MP -MF client/common/$(DEPDIR)/libpioneersclient_a-stock.Tpo -c -o client/common/libpioneersclient_a-stock.o `test -f 'client/common/stock.c' || echo '$(srcdir)/'`client/common/stock.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/common/$(DEPDIR)/libpioneersclient_a-stock.Tpo client/common/$(DEPDIR)/libpioneersclient_a-stock.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/common/stock.c' object='client/common/libpioneersclient_a-stock.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneersclient_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/common/libpioneersclient_a-stock.o `test -f 'client/common/stock.c' || echo '$(srcdir)/'`client/common/stock.c client/common/libpioneersclient_a-stock.obj: client/common/stock.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneersclient_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/common/libpioneersclient_a-stock.obj -MD -MP -MF client/common/$(DEPDIR)/libpioneersclient_a-stock.Tpo -c -o client/common/libpioneersclient_a-stock.obj `if test -f 'client/common/stock.c'; then $(CYGPATH_W) 'client/common/stock.c'; else $(CYGPATH_W) '$(srcdir)/client/common/stock.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/common/$(DEPDIR)/libpioneersclient_a-stock.Tpo client/common/$(DEPDIR)/libpioneersclient_a-stock.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/common/stock.c' object='client/common/libpioneersclient_a-stock.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneersclient_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/common/libpioneersclient_a-stock.obj `if test -f 'client/common/stock.c'; then $(CYGPATH_W) 'client/common/stock.c'; else $(CYGPATH_W) '$(srcdir)/client/common/stock.c'; fi` client/common/libpioneersclient_a-turn.o: client/common/turn.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneersclient_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/common/libpioneersclient_a-turn.o -MD -MP -MF client/common/$(DEPDIR)/libpioneersclient_a-turn.Tpo -c -o client/common/libpioneersclient_a-turn.o `test -f 'client/common/turn.c' || echo '$(srcdir)/'`client/common/turn.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/common/$(DEPDIR)/libpioneersclient_a-turn.Tpo client/common/$(DEPDIR)/libpioneersclient_a-turn.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/common/turn.c' object='client/common/libpioneersclient_a-turn.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneersclient_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/common/libpioneersclient_a-turn.o `test -f 'client/common/turn.c' || echo '$(srcdir)/'`client/common/turn.c client/common/libpioneersclient_a-turn.obj: client/common/turn.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneersclient_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/common/libpioneersclient_a-turn.obj -MD -MP -MF client/common/$(DEPDIR)/libpioneersclient_a-turn.Tpo -c -o client/common/libpioneersclient_a-turn.obj `if test -f 'client/common/turn.c'; then $(CYGPATH_W) 'client/common/turn.c'; else $(CYGPATH_W) '$(srcdir)/client/common/turn.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/common/$(DEPDIR)/libpioneersclient_a-turn.Tpo client/common/$(DEPDIR)/libpioneersclient_a-turn.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/common/turn.c' object='client/common/libpioneersclient_a-turn.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpioneersclient_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/common/libpioneersclient_a-turn.obj `if test -f 'client/common/turn.c'; then $(CYGPATH_W) 'client/common/turn.c'; else $(CYGPATH_W) '$(srcdir)/client/common/turn.c'; fi` client/gtk/pioneers-admin-gtk.o: client/gtk/admin-gtk.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-admin-gtk.o -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-admin-gtk.Tpo -c -o client/gtk/pioneers-admin-gtk.o `test -f 'client/gtk/admin-gtk.c' || echo '$(srcdir)/'`client/gtk/admin-gtk.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-admin-gtk.Tpo client/gtk/$(DEPDIR)/pioneers-admin-gtk.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/admin-gtk.c' object='client/gtk/pioneers-admin-gtk.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-admin-gtk.o `test -f 'client/gtk/admin-gtk.c' || echo '$(srcdir)/'`client/gtk/admin-gtk.c client/gtk/pioneers-admin-gtk.obj: client/gtk/admin-gtk.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-admin-gtk.obj -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-admin-gtk.Tpo -c -o client/gtk/pioneers-admin-gtk.obj `if test -f 'client/gtk/admin-gtk.c'; then $(CYGPATH_W) 'client/gtk/admin-gtk.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/admin-gtk.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-admin-gtk.Tpo client/gtk/$(DEPDIR)/pioneers-admin-gtk.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/admin-gtk.c' object='client/gtk/pioneers-admin-gtk.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-admin-gtk.obj `if test -f 'client/gtk/admin-gtk.c'; then $(CYGPATH_W) 'client/gtk/admin-gtk.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/admin-gtk.c'; fi` client/gtk/pioneers-audio.o: client/gtk/audio.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-audio.o -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-audio.Tpo -c -o client/gtk/pioneers-audio.o `test -f 'client/gtk/audio.c' || echo '$(srcdir)/'`client/gtk/audio.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-audio.Tpo client/gtk/$(DEPDIR)/pioneers-audio.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/audio.c' object='client/gtk/pioneers-audio.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-audio.o `test -f 'client/gtk/audio.c' || echo '$(srcdir)/'`client/gtk/audio.c client/gtk/pioneers-audio.obj: client/gtk/audio.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-audio.obj -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-audio.Tpo -c -o client/gtk/pioneers-audio.obj `if test -f 'client/gtk/audio.c'; then $(CYGPATH_W) 'client/gtk/audio.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/audio.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-audio.Tpo client/gtk/$(DEPDIR)/pioneers-audio.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/audio.c' object='client/gtk/pioneers-audio.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-audio.obj `if test -f 'client/gtk/audio.c'; then $(CYGPATH_W) 'client/gtk/audio.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/audio.c'; fi` client/gtk/pioneers-avahi.o: client/gtk/avahi.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-avahi.o -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-avahi.Tpo -c -o client/gtk/pioneers-avahi.o `test -f 'client/gtk/avahi.c' || echo '$(srcdir)/'`client/gtk/avahi.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-avahi.Tpo client/gtk/$(DEPDIR)/pioneers-avahi.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/avahi.c' object='client/gtk/pioneers-avahi.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-avahi.o `test -f 'client/gtk/avahi.c' || echo '$(srcdir)/'`client/gtk/avahi.c client/gtk/pioneers-avahi.obj: client/gtk/avahi.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-avahi.obj -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-avahi.Tpo -c -o client/gtk/pioneers-avahi.obj `if test -f 'client/gtk/avahi.c'; then $(CYGPATH_W) 'client/gtk/avahi.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/avahi.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-avahi.Tpo client/gtk/$(DEPDIR)/pioneers-avahi.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/avahi.c' object='client/gtk/pioneers-avahi.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-avahi.obj `if test -f 'client/gtk/avahi.c'; then $(CYGPATH_W) 'client/gtk/avahi.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/avahi.c'; fi` client/gtk/pioneers-avahi-browser.o: client/gtk/avahi-browser.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-avahi-browser.o -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-avahi-browser.Tpo -c -o client/gtk/pioneers-avahi-browser.o `test -f 'client/gtk/avahi-browser.c' || echo '$(srcdir)/'`client/gtk/avahi-browser.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-avahi-browser.Tpo client/gtk/$(DEPDIR)/pioneers-avahi-browser.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/avahi-browser.c' object='client/gtk/pioneers-avahi-browser.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-avahi-browser.o `test -f 'client/gtk/avahi-browser.c' || echo '$(srcdir)/'`client/gtk/avahi-browser.c client/gtk/pioneers-avahi-browser.obj: client/gtk/avahi-browser.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-avahi-browser.obj -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-avahi-browser.Tpo -c -o client/gtk/pioneers-avahi-browser.obj `if test -f 'client/gtk/avahi-browser.c'; then $(CYGPATH_W) 'client/gtk/avahi-browser.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/avahi-browser.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-avahi-browser.Tpo client/gtk/$(DEPDIR)/pioneers-avahi-browser.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/avahi-browser.c' object='client/gtk/pioneers-avahi-browser.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-avahi-browser.obj `if test -f 'client/gtk/avahi-browser.c'; then $(CYGPATH_W) 'client/gtk/avahi-browser.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/avahi-browser.c'; fi` client/gtk/pioneers-callbacks.o: client/gtk/callbacks.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-callbacks.o -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-callbacks.Tpo -c -o client/gtk/pioneers-callbacks.o `test -f 'client/gtk/callbacks.c' || echo '$(srcdir)/'`client/gtk/callbacks.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-callbacks.Tpo client/gtk/$(DEPDIR)/pioneers-callbacks.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/callbacks.c' object='client/gtk/pioneers-callbacks.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-callbacks.o `test -f 'client/gtk/callbacks.c' || echo '$(srcdir)/'`client/gtk/callbacks.c client/gtk/pioneers-callbacks.obj: client/gtk/callbacks.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-callbacks.obj -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-callbacks.Tpo -c -o client/gtk/pioneers-callbacks.obj `if test -f 'client/gtk/callbacks.c'; then $(CYGPATH_W) 'client/gtk/callbacks.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/callbacks.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-callbacks.Tpo client/gtk/$(DEPDIR)/pioneers-callbacks.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/callbacks.c' object='client/gtk/pioneers-callbacks.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-callbacks.obj `if test -f 'client/gtk/callbacks.c'; then $(CYGPATH_W) 'client/gtk/callbacks.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/callbacks.c'; fi` client/gtk/pioneers-chat.o: client/gtk/chat.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-chat.o -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-chat.Tpo -c -o client/gtk/pioneers-chat.o `test -f 'client/gtk/chat.c' || echo '$(srcdir)/'`client/gtk/chat.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-chat.Tpo client/gtk/$(DEPDIR)/pioneers-chat.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/chat.c' object='client/gtk/pioneers-chat.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-chat.o `test -f 'client/gtk/chat.c' || echo '$(srcdir)/'`client/gtk/chat.c client/gtk/pioneers-chat.obj: client/gtk/chat.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-chat.obj -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-chat.Tpo -c -o client/gtk/pioneers-chat.obj `if test -f 'client/gtk/chat.c'; then $(CYGPATH_W) 'client/gtk/chat.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/chat.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-chat.Tpo client/gtk/$(DEPDIR)/pioneers-chat.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/chat.c' object='client/gtk/pioneers-chat.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-chat.obj `if test -f 'client/gtk/chat.c'; then $(CYGPATH_W) 'client/gtk/chat.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/chat.c'; fi` client/gtk/pioneers-connect.o: client/gtk/connect.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-connect.o -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-connect.Tpo -c -o client/gtk/pioneers-connect.o `test -f 'client/gtk/connect.c' || echo '$(srcdir)/'`client/gtk/connect.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-connect.Tpo client/gtk/$(DEPDIR)/pioneers-connect.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/connect.c' object='client/gtk/pioneers-connect.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-connect.o `test -f 'client/gtk/connect.c' || echo '$(srcdir)/'`client/gtk/connect.c client/gtk/pioneers-connect.obj: client/gtk/connect.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-connect.obj -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-connect.Tpo -c -o client/gtk/pioneers-connect.obj `if test -f 'client/gtk/connect.c'; then $(CYGPATH_W) 'client/gtk/connect.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/connect.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-connect.Tpo client/gtk/$(DEPDIR)/pioneers-connect.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/connect.c' object='client/gtk/pioneers-connect.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-connect.obj `if test -f 'client/gtk/connect.c'; then $(CYGPATH_W) 'client/gtk/connect.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/connect.c'; fi` client/gtk/pioneers-develop.o: client/gtk/develop.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-develop.o -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-develop.Tpo -c -o client/gtk/pioneers-develop.o `test -f 'client/gtk/develop.c' || echo '$(srcdir)/'`client/gtk/develop.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-develop.Tpo client/gtk/$(DEPDIR)/pioneers-develop.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/develop.c' object='client/gtk/pioneers-develop.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-develop.o `test -f 'client/gtk/develop.c' || echo '$(srcdir)/'`client/gtk/develop.c client/gtk/pioneers-develop.obj: client/gtk/develop.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-develop.obj -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-develop.Tpo -c -o client/gtk/pioneers-develop.obj `if test -f 'client/gtk/develop.c'; then $(CYGPATH_W) 'client/gtk/develop.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/develop.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-develop.Tpo client/gtk/$(DEPDIR)/pioneers-develop.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/develop.c' object='client/gtk/pioneers-develop.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-develop.obj `if test -f 'client/gtk/develop.c'; then $(CYGPATH_W) 'client/gtk/develop.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/develop.c'; fi` client/gtk/pioneers-discard.o: client/gtk/discard.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-discard.o -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-discard.Tpo -c -o client/gtk/pioneers-discard.o `test -f 'client/gtk/discard.c' || echo '$(srcdir)/'`client/gtk/discard.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-discard.Tpo client/gtk/$(DEPDIR)/pioneers-discard.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/discard.c' object='client/gtk/pioneers-discard.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-discard.o `test -f 'client/gtk/discard.c' || echo '$(srcdir)/'`client/gtk/discard.c client/gtk/pioneers-discard.obj: client/gtk/discard.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-discard.obj -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-discard.Tpo -c -o client/gtk/pioneers-discard.obj `if test -f 'client/gtk/discard.c'; then $(CYGPATH_W) 'client/gtk/discard.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/discard.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-discard.Tpo client/gtk/$(DEPDIR)/pioneers-discard.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/discard.c' object='client/gtk/pioneers-discard.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-discard.obj `if test -f 'client/gtk/discard.c'; then $(CYGPATH_W) 'client/gtk/discard.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/discard.c'; fi` client/gtk/pioneers-frontend.o: client/gtk/frontend.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-frontend.o -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-frontend.Tpo -c -o client/gtk/pioneers-frontend.o `test -f 'client/gtk/frontend.c' || echo '$(srcdir)/'`client/gtk/frontend.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-frontend.Tpo client/gtk/$(DEPDIR)/pioneers-frontend.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/frontend.c' object='client/gtk/pioneers-frontend.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-frontend.o `test -f 'client/gtk/frontend.c' || echo '$(srcdir)/'`client/gtk/frontend.c client/gtk/pioneers-frontend.obj: client/gtk/frontend.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-frontend.obj -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-frontend.Tpo -c -o client/gtk/pioneers-frontend.obj `if test -f 'client/gtk/frontend.c'; then $(CYGPATH_W) 'client/gtk/frontend.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/frontend.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-frontend.Tpo client/gtk/$(DEPDIR)/pioneers-frontend.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/frontend.c' object='client/gtk/pioneers-frontend.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-frontend.obj `if test -f 'client/gtk/frontend.c'; then $(CYGPATH_W) 'client/gtk/frontend.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/frontend.c'; fi` client/gtk/pioneers-gameover.o: client/gtk/gameover.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-gameover.o -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-gameover.Tpo -c -o client/gtk/pioneers-gameover.o `test -f 'client/gtk/gameover.c' || echo '$(srcdir)/'`client/gtk/gameover.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-gameover.Tpo client/gtk/$(DEPDIR)/pioneers-gameover.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/gameover.c' object='client/gtk/pioneers-gameover.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-gameover.o `test -f 'client/gtk/gameover.c' || echo '$(srcdir)/'`client/gtk/gameover.c client/gtk/pioneers-gameover.obj: client/gtk/gameover.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-gameover.obj -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-gameover.Tpo -c -o client/gtk/pioneers-gameover.obj `if test -f 'client/gtk/gameover.c'; then $(CYGPATH_W) 'client/gtk/gameover.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/gameover.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-gameover.Tpo client/gtk/$(DEPDIR)/pioneers-gameover.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/gameover.c' object='client/gtk/pioneers-gameover.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-gameover.obj `if test -f 'client/gtk/gameover.c'; then $(CYGPATH_W) 'client/gtk/gameover.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/gameover.c'; fi` client/gtk/pioneers-gold.o: client/gtk/gold.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-gold.o -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-gold.Tpo -c -o client/gtk/pioneers-gold.o `test -f 'client/gtk/gold.c' || echo '$(srcdir)/'`client/gtk/gold.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-gold.Tpo client/gtk/$(DEPDIR)/pioneers-gold.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/gold.c' object='client/gtk/pioneers-gold.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-gold.o `test -f 'client/gtk/gold.c' || echo '$(srcdir)/'`client/gtk/gold.c client/gtk/pioneers-gold.obj: client/gtk/gold.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-gold.obj -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-gold.Tpo -c -o client/gtk/pioneers-gold.obj `if test -f 'client/gtk/gold.c'; then $(CYGPATH_W) 'client/gtk/gold.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/gold.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-gold.Tpo client/gtk/$(DEPDIR)/pioneers-gold.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/gold.c' object='client/gtk/pioneers-gold.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-gold.obj `if test -f 'client/gtk/gold.c'; then $(CYGPATH_W) 'client/gtk/gold.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/gold.c'; fi` client/gtk/pioneers-gui.o: client/gtk/gui.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-gui.o -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-gui.Tpo -c -o client/gtk/pioneers-gui.o `test -f 'client/gtk/gui.c' || echo '$(srcdir)/'`client/gtk/gui.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-gui.Tpo client/gtk/$(DEPDIR)/pioneers-gui.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/gui.c' object='client/gtk/pioneers-gui.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-gui.o `test -f 'client/gtk/gui.c' || echo '$(srcdir)/'`client/gtk/gui.c client/gtk/pioneers-gui.obj: client/gtk/gui.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-gui.obj -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-gui.Tpo -c -o client/gtk/pioneers-gui.obj `if test -f 'client/gtk/gui.c'; then $(CYGPATH_W) 'client/gtk/gui.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/gui.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-gui.Tpo client/gtk/$(DEPDIR)/pioneers-gui.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/gui.c' object='client/gtk/pioneers-gui.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-gui.obj `if test -f 'client/gtk/gui.c'; then $(CYGPATH_W) 'client/gtk/gui.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/gui.c'; fi` client/gtk/pioneers-histogram.o: client/gtk/histogram.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-histogram.o -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-histogram.Tpo -c -o client/gtk/pioneers-histogram.o `test -f 'client/gtk/histogram.c' || echo '$(srcdir)/'`client/gtk/histogram.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-histogram.Tpo client/gtk/$(DEPDIR)/pioneers-histogram.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/histogram.c' object='client/gtk/pioneers-histogram.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-histogram.o `test -f 'client/gtk/histogram.c' || echo '$(srcdir)/'`client/gtk/histogram.c client/gtk/pioneers-histogram.obj: client/gtk/histogram.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-histogram.obj -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-histogram.Tpo -c -o client/gtk/pioneers-histogram.obj `if test -f 'client/gtk/histogram.c'; then $(CYGPATH_W) 'client/gtk/histogram.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/histogram.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-histogram.Tpo client/gtk/$(DEPDIR)/pioneers-histogram.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/histogram.c' object='client/gtk/pioneers-histogram.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-histogram.obj `if test -f 'client/gtk/histogram.c'; then $(CYGPATH_W) 'client/gtk/histogram.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/histogram.c'; fi` client/gtk/pioneers-identity.o: client/gtk/identity.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-identity.o -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-identity.Tpo -c -o client/gtk/pioneers-identity.o `test -f 'client/gtk/identity.c' || echo '$(srcdir)/'`client/gtk/identity.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-identity.Tpo client/gtk/$(DEPDIR)/pioneers-identity.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/identity.c' object='client/gtk/pioneers-identity.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-identity.o `test -f 'client/gtk/identity.c' || echo '$(srcdir)/'`client/gtk/identity.c client/gtk/pioneers-identity.obj: client/gtk/identity.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-identity.obj -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-identity.Tpo -c -o client/gtk/pioneers-identity.obj `if test -f 'client/gtk/identity.c'; then $(CYGPATH_W) 'client/gtk/identity.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/identity.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-identity.Tpo client/gtk/$(DEPDIR)/pioneers-identity.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/identity.c' object='client/gtk/pioneers-identity.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-identity.obj `if test -f 'client/gtk/identity.c'; then $(CYGPATH_W) 'client/gtk/identity.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/identity.c'; fi` client/gtk/pioneers-interface.o: client/gtk/interface.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-interface.o -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-interface.Tpo -c -o client/gtk/pioneers-interface.o `test -f 'client/gtk/interface.c' || echo '$(srcdir)/'`client/gtk/interface.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-interface.Tpo client/gtk/$(DEPDIR)/pioneers-interface.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/interface.c' object='client/gtk/pioneers-interface.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-interface.o `test -f 'client/gtk/interface.c' || echo '$(srcdir)/'`client/gtk/interface.c client/gtk/pioneers-interface.obj: client/gtk/interface.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-interface.obj -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-interface.Tpo -c -o client/gtk/pioneers-interface.obj `if test -f 'client/gtk/interface.c'; then $(CYGPATH_W) 'client/gtk/interface.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/interface.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-interface.Tpo client/gtk/$(DEPDIR)/pioneers-interface.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/interface.c' object='client/gtk/pioneers-interface.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-interface.obj `if test -f 'client/gtk/interface.c'; then $(CYGPATH_W) 'client/gtk/interface.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/interface.c'; fi` client/gtk/pioneers-legend.o: client/gtk/legend.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-legend.o -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-legend.Tpo -c -o client/gtk/pioneers-legend.o `test -f 'client/gtk/legend.c' || echo '$(srcdir)/'`client/gtk/legend.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-legend.Tpo client/gtk/$(DEPDIR)/pioneers-legend.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/legend.c' object='client/gtk/pioneers-legend.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-legend.o `test -f 'client/gtk/legend.c' || echo '$(srcdir)/'`client/gtk/legend.c client/gtk/pioneers-legend.obj: client/gtk/legend.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-legend.obj -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-legend.Tpo -c -o client/gtk/pioneers-legend.obj `if test -f 'client/gtk/legend.c'; then $(CYGPATH_W) 'client/gtk/legend.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/legend.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-legend.Tpo client/gtk/$(DEPDIR)/pioneers-legend.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/legend.c' object='client/gtk/pioneers-legend.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-legend.obj `if test -f 'client/gtk/legend.c'; then $(CYGPATH_W) 'client/gtk/legend.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/legend.c'; fi` client/gtk/pioneers-monopoly.o: client/gtk/monopoly.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-monopoly.o -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-monopoly.Tpo -c -o client/gtk/pioneers-monopoly.o `test -f 'client/gtk/monopoly.c' || echo '$(srcdir)/'`client/gtk/monopoly.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-monopoly.Tpo client/gtk/$(DEPDIR)/pioneers-monopoly.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/monopoly.c' object='client/gtk/pioneers-monopoly.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-monopoly.o `test -f 'client/gtk/monopoly.c' || echo '$(srcdir)/'`client/gtk/monopoly.c client/gtk/pioneers-monopoly.obj: client/gtk/monopoly.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-monopoly.obj -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-monopoly.Tpo -c -o client/gtk/pioneers-monopoly.obj `if test -f 'client/gtk/monopoly.c'; then $(CYGPATH_W) 'client/gtk/monopoly.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/monopoly.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-monopoly.Tpo client/gtk/$(DEPDIR)/pioneers-monopoly.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/monopoly.c' object='client/gtk/pioneers-monopoly.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-monopoly.obj `if test -f 'client/gtk/monopoly.c'; then $(CYGPATH_W) 'client/gtk/monopoly.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/monopoly.c'; fi` client/gtk/pioneers-name.o: client/gtk/name.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-name.o -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-name.Tpo -c -o client/gtk/pioneers-name.o `test -f 'client/gtk/name.c' || echo '$(srcdir)/'`client/gtk/name.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-name.Tpo client/gtk/$(DEPDIR)/pioneers-name.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/name.c' object='client/gtk/pioneers-name.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-name.o `test -f 'client/gtk/name.c' || echo '$(srcdir)/'`client/gtk/name.c client/gtk/pioneers-name.obj: client/gtk/name.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-name.obj -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-name.Tpo -c -o client/gtk/pioneers-name.obj `if test -f 'client/gtk/name.c'; then $(CYGPATH_W) 'client/gtk/name.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/name.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-name.Tpo client/gtk/$(DEPDIR)/pioneers-name.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/name.c' object='client/gtk/pioneers-name.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-name.obj `if test -f 'client/gtk/name.c'; then $(CYGPATH_W) 'client/gtk/name.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/name.c'; fi` client/gtk/pioneers-notification.o: client/gtk/notification.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-notification.o -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-notification.Tpo -c -o client/gtk/pioneers-notification.o `test -f 'client/gtk/notification.c' || echo '$(srcdir)/'`client/gtk/notification.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-notification.Tpo client/gtk/$(DEPDIR)/pioneers-notification.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/notification.c' object='client/gtk/pioneers-notification.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-notification.o `test -f 'client/gtk/notification.c' || echo '$(srcdir)/'`client/gtk/notification.c client/gtk/pioneers-notification.obj: client/gtk/notification.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-notification.obj -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-notification.Tpo -c -o client/gtk/pioneers-notification.obj `if test -f 'client/gtk/notification.c'; then $(CYGPATH_W) 'client/gtk/notification.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/notification.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-notification.Tpo client/gtk/$(DEPDIR)/pioneers-notification.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/notification.c' object='client/gtk/pioneers-notification.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-notification.obj `if test -f 'client/gtk/notification.c'; then $(CYGPATH_W) 'client/gtk/notification.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/notification.c'; fi` client/gtk/pioneers-offline.o: client/gtk/offline.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-offline.o -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-offline.Tpo -c -o client/gtk/pioneers-offline.o `test -f 'client/gtk/offline.c' || echo '$(srcdir)/'`client/gtk/offline.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-offline.Tpo client/gtk/$(DEPDIR)/pioneers-offline.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/offline.c' object='client/gtk/pioneers-offline.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-offline.o `test -f 'client/gtk/offline.c' || echo '$(srcdir)/'`client/gtk/offline.c client/gtk/pioneers-offline.obj: client/gtk/offline.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-offline.obj -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-offline.Tpo -c -o client/gtk/pioneers-offline.obj `if test -f 'client/gtk/offline.c'; then $(CYGPATH_W) 'client/gtk/offline.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/offline.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-offline.Tpo client/gtk/$(DEPDIR)/pioneers-offline.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/offline.c' object='client/gtk/pioneers-offline.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-offline.obj `if test -f 'client/gtk/offline.c'; then $(CYGPATH_W) 'client/gtk/offline.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/offline.c'; fi` client/gtk/pioneers-plenty.o: client/gtk/plenty.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-plenty.o -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-plenty.Tpo -c -o client/gtk/pioneers-plenty.o `test -f 'client/gtk/plenty.c' || echo '$(srcdir)/'`client/gtk/plenty.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-plenty.Tpo client/gtk/$(DEPDIR)/pioneers-plenty.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/plenty.c' object='client/gtk/pioneers-plenty.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-plenty.o `test -f 'client/gtk/plenty.c' || echo '$(srcdir)/'`client/gtk/plenty.c client/gtk/pioneers-plenty.obj: client/gtk/plenty.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-plenty.obj -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-plenty.Tpo -c -o client/gtk/pioneers-plenty.obj `if test -f 'client/gtk/plenty.c'; then $(CYGPATH_W) 'client/gtk/plenty.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/plenty.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-plenty.Tpo client/gtk/$(DEPDIR)/pioneers-plenty.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/plenty.c' object='client/gtk/pioneers-plenty.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-plenty.obj `if test -f 'client/gtk/plenty.c'; then $(CYGPATH_W) 'client/gtk/plenty.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/plenty.c'; fi` client/gtk/pioneers-player.o: client/gtk/player.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-player.o -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-player.Tpo -c -o client/gtk/pioneers-player.o `test -f 'client/gtk/player.c' || echo '$(srcdir)/'`client/gtk/player.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-player.Tpo client/gtk/$(DEPDIR)/pioneers-player.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/player.c' object='client/gtk/pioneers-player.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-player.o `test -f 'client/gtk/player.c' || echo '$(srcdir)/'`client/gtk/player.c client/gtk/pioneers-player.obj: client/gtk/player.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-player.obj -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-player.Tpo -c -o client/gtk/pioneers-player.obj `if test -f 'client/gtk/player.c'; then $(CYGPATH_W) 'client/gtk/player.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/player.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-player.Tpo client/gtk/$(DEPDIR)/pioneers-player.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/player.c' object='client/gtk/pioneers-player.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-player.obj `if test -f 'client/gtk/player.c'; then $(CYGPATH_W) 'client/gtk/player.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/player.c'; fi` client/gtk/pioneers-quote.o: client/gtk/quote.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-quote.o -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-quote.Tpo -c -o client/gtk/pioneers-quote.o `test -f 'client/gtk/quote.c' || echo '$(srcdir)/'`client/gtk/quote.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-quote.Tpo client/gtk/$(DEPDIR)/pioneers-quote.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/quote.c' object='client/gtk/pioneers-quote.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-quote.o `test -f 'client/gtk/quote.c' || echo '$(srcdir)/'`client/gtk/quote.c client/gtk/pioneers-quote.obj: client/gtk/quote.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-quote.obj -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-quote.Tpo -c -o client/gtk/pioneers-quote.obj `if test -f 'client/gtk/quote.c'; then $(CYGPATH_W) 'client/gtk/quote.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/quote.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-quote.Tpo client/gtk/$(DEPDIR)/pioneers-quote.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/quote.c' object='client/gtk/pioneers-quote.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-quote.obj `if test -f 'client/gtk/quote.c'; then $(CYGPATH_W) 'client/gtk/quote.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/quote.c'; fi` client/gtk/pioneers-quote-view.o: client/gtk/quote-view.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-quote-view.o -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-quote-view.Tpo -c -o client/gtk/pioneers-quote-view.o `test -f 'client/gtk/quote-view.c' || echo '$(srcdir)/'`client/gtk/quote-view.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-quote-view.Tpo client/gtk/$(DEPDIR)/pioneers-quote-view.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/quote-view.c' object='client/gtk/pioneers-quote-view.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-quote-view.o `test -f 'client/gtk/quote-view.c' || echo '$(srcdir)/'`client/gtk/quote-view.c client/gtk/pioneers-quote-view.obj: client/gtk/quote-view.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-quote-view.obj -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-quote-view.Tpo -c -o client/gtk/pioneers-quote-view.obj `if test -f 'client/gtk/quote-view.c'; then $(CYGPATH_W) 'client/gtk/quote-view.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/quote-view.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-quote-view.Tpo client/gtk/$(DEPDIR)/pioneers-quote-view.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/quote-view.c' object='client/gtk/pioneers-quote-view.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-quote-view.obj `if test -f 'client/gtk/quote-view.c'; then $(CYGPATH_W) 'client/gtk/quote-view.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/quote-view.c'; fi` client/gtk/pioneers-resource.o: client/gtk/resource.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-resource.o -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-resource.Tpo -c -o client/gtk/pioneers-resource.o `test -f 'client/gtk/resource.c' || echo '$(srcdir)/'`client/gtk/resource.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-resource.Tpo client/gtk/$(DEPDIR)/pioneers-resource.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/resource.c' object='client/gtk/pioneers-resource.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-resource.o `test -f 'client/gtk/resource.c' || echo '$(srcdir)/'`client/gtk/resource.c client/gtk/pioneers-resource.obj: client/gtk/resource.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-resource.obj -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-resource.Tpo -c -o client/gtk/pioneers-resource.obj `if test -f 'client/gtk/resource.c'; then $(CYGPATH_W) 'client/gtk/resource.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/resource.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-resource.Tpo client/gtk/$(DEPDIR)/pioneers-resource.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/resource.c' object='client/gtk/pioneers-resource.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-resource.obj `if test -f 'client/gtk/resource.c'; then $(CYGPATH_W) 'client/gtk/resource.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/resource.c'; fi` client/gtk/pioneers-resource-view.o: client/gtk/resource-view.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-resource-view.o -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-resource-view.Tpo -c -o client/gtk/pioneers-resource-view.o `test -f 'client/gtk/resource-view.c' || echo '$(srcdir)/'`client/gtk/resource-view.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-resource-view.Tpo client/gtk/$(DEPDIR)/pioneers-resource-view.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/resource-view.c' object='client/gtk/pioneers-resource-view.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-resource-view.o `test -f 'client/gtk/resource-view.c' || echo '$(srcdir)/'`client/gtk/resource-view.c client/gtk/pioneers-resource-view.obj: client/gtk/resource-view.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-resource-view.obj -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-resource-view.Tpo -c -o client/gtk/pioneers-resource-view.obj `if test -f 'client/gtk/resource-view.c'; then $(CYGPATH_W) 'client/gtk/resource-view.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/resource-view.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-resource-view.Tpo client/gtk/$(DEPDIR)/pioneers-resource-view.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/resource-view.c' object='client/gtk/pioneers-resource-view.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-resource-view.obj `if test -f 'client/gtk/resource-view.c'; then $(CYGPATH_W) 'client/gtk/resource-view.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/resource-view.c'; fi` client/gtk/pioneers-resource-table.o: client/gtk/resource-table.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-resource-table.o -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-resource-table.Tpo -c -o client/gtk/pioneers-resource-table.o `test -f 'client/gtk/resource-table.c' || echo '$(srcdir)/'`client/gtk/resource-table.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-resource-table.Tpo client/gtk/$(DEPDIR)/pioneers-resource-table.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/resource-table.c' object='client/gtk/pioneers-resource-table.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-resource-table.o `test -f 'client/gtk/resource-table.c' || echo '$(srcdir)/'`client/gtk/resource-table.c client/gtk/pioneers-resource-table.obj: client/gtk/resource-table.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-resource-table.obj -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-resource-table.Tpo -c -o client/gtk/pioneers-resource-table.obj `if test -f 'client/gtk/resource-table.c'; then $(CYGPATH_W) 'client/gtk/resource-table.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/resource-table.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-resource-table.Tpo client/gtk/$(DEPDIR)/pioneers-resource-table.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/resource-table.c' object='client/gtk/pioneers-resource-table.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-resource-table.obj `if test -f 'client/gtk/resource-table.c'; then $(CYGPATH_W) 'client/gtk/resource-table.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/resource-table.c'; fi` client/gtk/pioneers-settingscreen.o: client/gtk/settingscreen.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-settingscreen.o -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-settingscreen.Tpo -c -o client/gtk/pioneers-settingscreen.o `test -f 'client/gtk/settingscreen.c' || echo '$(srcdir)/'`client/gtk/settingscreen.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-settingscreen.Tpo client/gtk/$(DEPDIR)/pioneers-settingscreen.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/settingscreen.c' object='client/gtk/pioneers-settingscreen.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-settingscreen.o `test -f 'client/gtk/settingscreen.c' || echo '$(srcdir)/'`client/gtk/settingscreen.c client/gtk/pioneers-settingscreen.obj: client/gtk/settingscreen.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-settingscreen.obj -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-settingscreen.Tpo -c -o client/gtk/pioneers-settingscreen.obj `if test -f 'client/gtk/settingscreen.c'; then $(CYGPATH_W) 'client/gtk/settingscreen.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/settingscreen.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-settingscreen.Tpo client/gtk/$(DEPDIR)/pioneers-settingscreen.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/settingscreen.c' object='client/gtk/pioneers-settingscreen.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-settingscreen.obj `if test -f 'client/gtk/settingscreen.c'; then $(CYGPATH_W) 'client/gtk/settingscreen.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/settingscreen.c'; fi` client/gtk/pioneers-state.o: client/gtk/state.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-state.o -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-state.Tpo -c -o client/gtk/pioneers-state.o `test -f 'client/gtk/state.c' || echo '$(srcdir)/'`client/gtk/state.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-state.Tpo client/gtk/$(DEPDIR)/pioneers-state.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/state.c' object='client/gtk/pioneers-state.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-state.o `test -f 'client/gtk/state.c' || echo '$(srcdir)/'`client/gtk/state.c client/gtk/pioneers-state.obj: client/gtk/state.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-state.obj -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-state.Tpo -c -o client/gtk/pioneers-state.obj `if test -f 'client/gtk/state.c'; then $(CYGPATH_W) 'client/gtk/state.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/state.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-state.Tpo client/gtk/$(DEPDIR)/pioneers-state.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/state.c' object='client/gtk/pioneers-state.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-state.obj `if test -f 'client/gtk/state.c'; then $(CYGPATH_W) 'client/gtk/state.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/state.c'; fi` client/gtk/pioneers-trade.o: client/gtk/trade.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-trade.o -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-trade.Tpo -c -o client/gtk/pioneers-trade.o `test -f 'client/gtk/trade.c' || echo '$(srcdir)/'`client/gtk/trade.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-trade.Tpo client/gtk/$(DEPDIR)/pioneers-trade.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/trade.c' object='client/gtk/pioneers-trade.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-trade.o `test -f 'client/gtk/trade.c' || echo '$(srcdir)/'`client/gtk/trade.c client/gtk/pioneers-trade.obj: client/gtk/trade.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/gtk/pioneers-trade.obj -MD -MP -MF client/gtk/$(DEPDIR)/pioneers-trade.Tpo -c -o client/gtk/pioneers-trade.obj `if test -f 'client/gtk/trade.c'; then $(CYGPATH_W) 'client/gtk/trade.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/trade.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/gtk/$(DEPDIR)/pioneers-trade.Tpo client/gtk/$(DEPDIR)/pioneers-trade.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/gtk/trade.c' object='client/gtk/pioneers-trade.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/gtk/pioneers-trade.obj `if test -f 'client/gtk/trade.c'; then $(CYGPATH_W) 'client/gtk/trade.c'; else $(CYGPATH_W) '$(srcdir)/client/gtk/trade.c'; fi` editor/gtk/pioneers_editor-editor.o: editor/gtk/editor.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_editor_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT editor/gtk/pioneers_editor-editor.o -MD -MP -MF editor/gtk/$(DEPDIR)/pioneers_editor-editor.Tpo -c -o editor/gtk/pioneers_editor-editor.o `test -f 'editor/gtk/editor.c' || echo '$(srcdir)/'`editor/gtk/editor.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) editor/gtk/$(DEPDIR)/pioneers_editor-editor.Tpo editor/gtk/$(DEPDIR)/pioneers_editor-editor.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='editor/gtk/editor.c' object='editor/gtk/pioneers_editor-editor.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_editor_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o editor/gtk/pioneers_editor-editor.o `test -f 'editor/gtk/editor.c' || echo '$(srcdir)/'`editor/gtk/editor.c editor/gtk/pioneers_editor-editor.obj: editor/gtk/editor.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_editor_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT editor/gtk/pioneers_editor-editor.obj -MD -MP -MF editor/gtk/$(DEPDIR)/pioneers_editor-editor.Tpo -c -o editor/gtk/pioneers_editor-editor.obj `if test -f 'editor/gtk/editor.c'; then $(CYGPATH_W) 'editor/gtk/editor.c'; else $(CYGPATH_W) '$(srcdir)/editor/gtk/editor.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) editor/gtk/$(DEPDIR)/pioneers_editor-editor.Tpo editor/gtk/$(DEPDIR)/pioneers_editor-editor.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='editor/gtk/editor.c' object='editor/gtk/pioneers_editor-editor.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_editor_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o editor/gtk/pioneers_editor-editor.obj `if test -f 'editor/gtk/editor.c'; then $(CYGPATH_W) 'editor/gtk/editor.c'; else $(CYGPATH_W) '$(srcdir)/editor/gtk/editor.c'; fi` editor/gtk/pioneers_editor-game-devcards.o: editor/gtk/game-devcards.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_editor_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT editor/gtk/pioneers_editor-game-devcards.o -MD -MP -MF editor/gtk/$(DEPDIR)/pioneers_editor-game-devcards.Tpo -c -o editor/gtk/pioneers_editor-game-devcards.o `test -f 'editor/gtk/game-devcards.c' || echo '$(srcdir)/'`editor/gtk/game-devcards.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) editor/gtk/$(DEPDIR)/pioneers_editor-game-devcards.Tpo editor/gtk/$(DEPDIR)/pioneers_editor-game-devcards.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='editor/gtk/game-devcards.c' object='editor/gtk/pioneers_editor-game-devcards.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_editor_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o editor/gtk/pioneers_editor-game-devcards.o `test -f 'editor/gtk/game-devcards.c' || echo '$(srcdir)/'`editor/gtk/game-devcards.c editor/gtk/pioneers_editor-game-devcards.obj: editor/gtk/game-devcards.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_editor_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT editor/gtk/pioneers_editor-game-devcards.obj -MD -MP -MF editor/gtk/$(DEPDIR)/pioneers_editor-game-devcards.Tpo -c -o editor/gtk/pioneers_editor-game-devcards.obj `if test -f 'editor/gtk/game-devcards.c'; then $(CYGPATH_W) 'editor/gtk/game-devcards.c'; else $(CYGPATH_W) '$(srcdir)/editor/gtk/game-devcards.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) editor/gtk/$(DEPDIR)/pioneers_editor-game-devcards.Tpo editor/gtk/$(DEPDIR)/pioneers_editor-game-devcards.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='editor/gtk/game-devcards.c' object='editor/gtk/pioneers_editor-game-devcards.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_editor_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o editor/gtk/pioneers_editor-game-devcards.obj `if test -f 'editor/gtk/game-devcards.c'; then $(CYGPATH_W) 'editor/gtk/game-devcards.c'; else $(CYGPATH_W) '$(srcdir)/editor/gtk/game-devcards.c'; fi` editor/gtk/pioneers_editor-game-buildings.o: editor/gtk/game-buildings.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_editor_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT editor/gtk/pioneers_editor-game-buildings.o -MD -MP -MF editor/gtk/$(DEPDIR)/pioneers_editor-game-buildings.Tpo -c -o editor/gtk/pioneers_editor-game-buildings.o `test -f 'editor/gtk/game-buildings.c' || echo '$(srcdir)/'`editor/gtk/game-buildings.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) editor/gtk/$(DEPDIR)/pioneers_editor-game-buildings.Tpo editor/gtk/$(DEPDIR)/pioneers_editor-game-buildings.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='editor/gtk/game-buildings.c' object='editor/gtk/pioneers_editor-game-buildings.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_editor_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o editor/gtk/pioneers_editor-game-buildings.o `test -f 'editor/gtk/game-buildings.c' || echo '$(srcdir)/'`editor/gtk/game-buildings.c editor/gtk/pioneers_editor-game-buildings.obj: editor/gtk/game-buildings.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_editor_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT editor/gtk/pioneers_editor-game-buildings.obj -MD -MP -MF editor/gtk/$(DEPDIR)/pioneers_editor-game-buildings.Tpo -c -o editor/gtk/pioneers_editor-game-buildings.obj `if test -f 'editor/gtk/game-buildings.c'; then $(CYGPATH_W) 'editor/gtk/game-buildings.c'; else $(CYGPATH_W) '$(srcdir)/editor/gtk/game-buildings.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) editor/gtk/$(DEPDIR)/pioneers_editor-game-buildings.Tpo editor/gtk/$(DEPDIR)/pioneers_editor-game-buildings.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='editor/gtk/game-buildings.c' object='editor/gtk/pioneers_editor-game-buildings.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_editor_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o editor/gtk/pioneers_editor-game-buildings.obj `if test -f 'editor/gtk/game-buildings.c'; then $(CYGPATH_W) 'editor/gtk/game-buildings.c'; else $(CYGPATH_W) '$(srcdir)/editor/gtk/game-buildings.c'; fi` editor/gtk/pioneers_editor-game-resources.o: editor/gtk/game-resources.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_editor_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT editor/gtk/pioneers_editor-game-resources.o -MD -MP -MF editor/gtk/$(DEPDIR)/pioneers_editor-game-resources.Tpo -c -o editor/gtk/pioneers_editor-game-resources.o `test -f 'editor/gtk/game-resources.c' || echo '$(srcdir)/'`editor/gtk/game-resources.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) editor/gtk/$(DEPDIR)/pioneers_editor-game-resources.Tpo editor/gtk/$(DEPDIR)/pioneers_editor-game-resources.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='editor/gtk/game-resources.c' object='editor/gtk/pioneers_editor-game-resources.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_editor_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o editor/gtk/pioneers_editor-game-resources.o `test -f 'editor/gtk/game-resources.c' || echo '$(srcdir)/'`editor/gtk/game-resources.c editor/gtk/pioneers_editor-game-resources.obj: editor/gtk/game-resources.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_editor_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT editor/gtk/pioneers_editor-game-resources.obj -MD -MP -MF editor/gtk/$(DEPDIR)/pioneers_editor-game-resources.Tpo -c -o editor/gtk/pioneers_editor-game-resources.obj `if test -f 'editor/gtk/game-resources.c'; then $(CYGPATH_W) 'editor/gtk/game-resources.c'; else $(CYGPATH_W) '$(srcdir)/editor/gtk/game-resources.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) editor/gtk/$(DEPDIR)/pioneers_editor-game-resources.Tpo editor/gtk/$(DEPDIR)/pioneers_editor-game-resources.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='editor/gtk/game-resources.c' object='editor/gtk/pioneers_editor-game-resources.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_editor_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o editor/gtk/pioneers_editor-game-resources.obj `if test -f 'editor/gtk/game-resources.c'; then $(CYGPATH_W) 'editor/gtk/game-resources.c'; else $(CYGPATH_W) '$(srcdir)/editor/gtk/game-resources.c'; fi` metaserver/pioneers_metaserver-main.o: metaserver/main.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_metaserver_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT metaserver/pioneers_metaserver-main.o -MD -MP -MF metaserver/$(DEPDIR)/pioneers_metaserver-main.Tpo -c -o metaserver/pioneers_metaserver-main.o `test -f 'metaserver/main.c' || echo '$(srcdir)/'`metaserver/main.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) metaserver/$(DEPDIR)/pioneers_metaserver-main.Tpo metaserver/$(DEPDIR)/pioneers_metaserver-main.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='metaserver/main.c' object='metaserver/pioneers_metaserver-main.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_metaserver_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o metaserver/pioneers_metaserver-main.o `test -f 'metaserver/main.c' || echo '$(srcdir)/'`metaserver/main.c metaserver/pioneers_metaserver-main.obj: metaserver/main.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_metaserver_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT metaserver/pioneers_metaserver-main.obj -MD -MP -MF metaserver/$(DEPDIR)/pioneers_metaserver-main.Tpo -c -o metaserver/pioneers_metaserver-main.obj `if test -f 'metaserver/main.c'; then $(CYGPATH_W) 'metaserver/main.c'; else $(CYGPATH_W) '$(srcdir)/metaserver/main.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) metaserver/$(DEPDIR)/pioneers_metaserver-main.Tpo metaserver/$(DEPDIR)/pioneers_metaserver-main.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='metaserver/main.c' object='metaserver/pioneers_metaserver-main.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_metaserver_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o metaserver/pioneers_metaserver-main.obj `if test -f 'metaserver/main.c'; then $(CYGPATH_W) 'metaserver/main.c'; else $(CYGPATH_W) '$(srcdir)/metaserver/main.c'; fi` server/pioneers_server_console-main.o: server/main.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_server_console_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT server/pioneers_server_console-main.o -MD -MP -MF server/$(DEPDIR)/pioneers_server_console-main.Tpo -c -o server/pioneers_server_console-main.o `test -f 'server/main.c' || echo '$(srcdir)/'`server/main.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) server/$(DEPDIR)/pioneers_server_console-main.Tpo server/$(DEPDIR)/pioneers_server_console-main.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='server/main.c' object='server/pioneers_server_console-main.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_server_console_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o server/pioneers_server_console-main.o `test -f 'server/main.c' || echo '$(srcdir)/'`server/main.c server/pioneers_server_console-main.obj: server/main.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_server_console_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT server/pioneers_server_console-main.obj -MD -MP -MF server/$(DEPDIR)/pioneers_server_console-main.Tpo -c -o server/pioneers_server_console-main.obj `if test -f 'server/main.c'; then $(CYGPATH_W) 'server/main.c'; else $(CYGPATH_W) '$(srcdir)/server/main.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) server/$(DEPDIR)/pioneers_server_console-main.Tpo server/$(DEPDIR)/pioneers_server_console-main.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='server/main.c' object='server/pioneers_server_console-main.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_server_console_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o server/pioneers_server_console-main.obj `if test -f 'server/main.c'; then $(CYGPATH_W) 'server/main.c'; else $(CYGPATH_W) '$(srcdir)/server/main.c'; fi` server/pioneers_server_console-glib-driver.o: server/glib-driver.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_server_console_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT server/pioneers_server_console-glib-driver.o -MD -MP -MF server/$(DEPDIR)/pioneers_server_console-glib-driver.Tpo -c -o server/pioneers_server_console-glib-driver.o `test -f 'server/glib-driver.c' || echo '$(srcdir)/'`server/glib-driver.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) server/$(DEPDIR)/pioneers_server_console-glib-driver.Tpo server/$(DEPDIR)/pioneers_server_console-glib-driver.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='server/glib-driver.c' object='server/pioneers_server_console-glib-driver.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_server_console_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o server/pioneers_server_console-glib-driver.o `test -f 'server/glib-driver.c' || echo '$(srcdir)/'`server/glib-driver.c server/pioneers_server_console-glib-driver.obj: server/glib-driver.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_server_console_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT server/pioneers_server_console-glib-driver.obj -MD -MP -MF server/$(DEPDIR)/pioneers_server_console-glib-driver.Tpo -c -o server/pioneers_server_console-glib-driver.obj `if test -f 'server/glib-driver.c'; then $(CYGPATH_W) 'server/glib-driver.c'; else $(CYGPATH_W) '$(srcdir)/server/glib-driver.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) server/$(DEPDIR)/pioneers_server_console-glib-driver.Tpo server/$(DEPDIR)/pioneers_server_console-glib-driver.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='server/glib-driver.c' object='server/pioneers_server_console-glib-driver.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_server_console_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o server/pioneers_server_console-glib-driver.obj `if test -f 'server/glib-driver.c'; then $(CYGPATH_W) 'server/glib-driver.c'; else $(CYGPATH_W) '$(srcdir)/server/glib-driver.c'; fi` server/gtk/pioneers_server_gtk-main.o: server/gtk/main.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_server_gtk_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT server/gtk/pioneers_server_gtk-main.o -MD -MP -MF server/gtk/$(DEPDIR)/pioneers_server_gtk-main.Tpo -c -o server/gtk/pioneers_server_gtk-main.o `test -f 'server/gtk/main.c' || echo '$(srcdir)/'`server/gtk/main.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) server/gtk/$(DEPDIR)/pioneers_server_gtk-main.Tpo server/gtk/$(DEPDIR)/pioneers_server_gtk-main.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='server/gtk/main.c' object='server/gtk/pioneers_server_gtk-main.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_server_gtk_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o server/gtk/pioneers_server_gtk-main.o `test -f 'server/gtk/main.c' || echo '$(srcdir)/'`server/gtk/main.c server/gtk/pioneers_server_gtk-main.obj: server/gtk/main.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_server_gtk_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT server/gtk/pioneers_server_gtk-main.obj -MD -MP -MF server/gtk/$(DEPDIR)/pioneers_server_gtk-main.Tpo -c -o server/gtk/pioneers_server_gtk-main.obj `if test -f 'server/gtk/main.c'; then $(CYGPATH_W) 'server/gtk/main.c'; else $(CYGPATH_W) '$(srcdir)/server/gtk/main.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) server/gtk/$(DEPDIR)/pioneers_server_gtk-main.Tpo server/gtk/$(DEPDIR)/pioneers_server_gtk-main.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='server/gtk/main.c' object='server/gtk/pioneers_server_gtk-main.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneers_server_gtk_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o server/gtk/pioneers_server_gtk-main.obj `if test -f 'server/gtk/main.c'; then $(CYGPATH_W) 'server/gtk/main.c'; else $(CYGPATH_W) '$(srcdir)/server/gtk/main.c'; fi` client/ai/pioneersai-ai.o: client/ai/ai.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneersai_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/ai/pioneersai-ai.o -MD -MP -MF client/ai/$(DEPDIR)/pioneersai-ai.Tpo -c -o client/ai/pioneersai-ai.o `test -f 'client/ai/ai.c' || echo '$(srcdir)/'`client/ai/ai.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/ai/$(DEPDIR)/pioneersai-ai.Tpo client/ai/$(DEPDIR)/pioneersai-ai.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/ai/ai.c' object='client/ai/pioneersai-ai.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneersai_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/ai/pioneersai-ai.o `test -f 'client/ai/ai.c' || echo '$(srcdir)/'`client/ai/ai.c client/ai/pioneersai-ai.obj: client/ai/ai.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneersai_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/ai/pioneersai-ai.obj -MD -MP -MF client/ai/$(DEPDIR)/pioneersai-ai.Tpo -c -o client/ai/pioneersai-ai.obj `if test -f 'client/ai/ai.c'; then $(CYGPATH_W) 'client/ai/ai.c'; else $(CYGPATH_W) '$(srcdir)/client/ai/ai.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/ai/$(DEPDIR)/pioneersai-ai.Tpo client/ai/$(DEPDIR)/pioneersai-ai.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/ai/ai.c' object='client/ai/pioneersai-ai.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneersai_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/ai/pioneersai-ai.obj `if test -f 'client/ai/ai.c'; then $(CYGPATH_W) 'client/ai/ai.c'; else $(CYGPATH_W) '$(srcdir)/client/ai/ai.c'; fi` client/ai/pioneersai-genetic.o: client/ai/genetic.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneersai_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/ai/pioneersai-genetic.o -MD -MP -MF client/ai/$(DEPDIR)/pioneersai-genetic.Tpo -c -o client/ai/pioneersai-genetic.o `test -f 'client/ai/genetic.c' || echo '$(srcdir)/'`client/ai/genetic.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/ai/$(DEPDIR)/pioneersai-genetic.Tpo client/ai/$(DEPDIR)/pioneersai-genetic.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/ai/genetic.c' object='client/ai/pioneersai-genetic.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneersai_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/ai/pioneersai-genetic.o `test -f 'client/ai/genetic.c' || echo '$(srcdir)/'`client/ai/genetic.c client/ai/pioneersai-genetic.obj: client/ai/genetic.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneersai_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/ai/pioneersai-genetic.obj -MD -MP -MF client/ai/$(DEPDIR)/pioneersai-genetic.Tpo -c -o client/ai/pioneersai-genetic.obj `if test -f 'client/ai/genetic.c'; then $(CYGPATH_W) 'client/ai/genetic.c'; else $(CYGPATH_W) '$(srcdir)/client/ai/genetic.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/ai/$(DEPDIR)/pioneersai-genetic.Tpo client/ai/$(DEPDIR)/pioneersai-genetic.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/ai/genetic.c' object='client/ai/pioneersai-genetic.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneersai_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/ai/pioneersai-genetic.obj `if test -f 'client/ai/genetic.c'; then $(CYGPATH_W) 'client/ai/genetic.c'; else $(CYGPATH_W) '$(srcdir)/client/ai/genetic.c'; fi` client/ai/pioneersai-genetic_core.o: client/ai/genetic_core.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneersai_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/ai/pioneersai-genetic_core.o -MD -MP -MF client/ai/$(DEPDIR)/pioneersai-genetic_core.Tpo -c -o client/ai/pioneersai-genetic_core.o `test -f 'client/ai/genetic_core.c' || echo '$(srcdir)/'`client/ai/genetic_core.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/ai/$(DEPDIR)/pioneersai-genetic_core.Tpo client/ai/$(DEPDIR)/pioneersai-genetic_core.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/ai/genetic_core.c' object='client/ai/pioneersai-genetic_core.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneersai_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/ai/pioneersai-genetic_core.o `test -f 'client/ai/genetic_core.c' || echo '$(srcdir)/'`client/ai/genetic_core.c client/ai/pioneersai-genetic_core.obj: client/ai/genetic_core.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneersai_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/ai/pioneersai-genetic_core.obj -MD -MP -MF client/ai/$(DEPDIR)/pioneersai-genetic_core.Tpo -c -o client/ai/pioneersai-genetic_core.obj `if test -f 'client/ai/genetic_core.c'; then $(CYGPATH_W) 'client/ai/genetic_core.c'; else $(CYGPATH_W) '$(srcdir)/client/ai/genetic_core.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/ai/$(DEPDIR)/pioneersai-genetic_core.Tpo client/ai/$(DEPDIR)/pioneersai-genetic_core.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/ai/genetic_core.c' object='client/ai/pioneersai-genetic_core.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneersai_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/ai/pioneersai-genetic_core.obj `if test -f 'client/ai/genetic_core.c'; then $(CYGPATH_W) 'client/ai/genetic_core.c'; else $(CYGPATH_W) '$(srcdir)/client/ai/genetic_core.c'; fi` client/ai/pioneersai-greedy.o: client/ai/greedy.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneersai_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/ai/pioneersai-greedy.o -MD -MP -MF client/ai/$(DEPDIR)/pioneersai-greedy.Tpo -c -o client/ai/pioneersai-greedy.o `test -f 'client/ai/greedy.c' || echo '$(srcdir)/'`client/ai/greedy.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/ai/$(DEPDIR)/pioneersai-greedy.Tpo client/ai/$(DEPDIR)/pioneersai-greedy.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/ai/greedy.c' object='client/ai/pioneersai-greedy.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneersai_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/ai/pioneersai-greedy.o `test -f 'client/ai/greedy.c' || echo '$(srcdir)/'`client/ai/greedy.c client/ai/pioneersai-greedy.obj: client/ai/greedy.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneersai_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/ai/pioneersai-greedy.obj -MD -MP -MF client/ai/$(DEPDIR)/pioneersai-greedy.Tpo -c -o client/ai/pioneersai-greedy.obj `if test -f 'client/ai/greedy.c'; then $(CYGPATH_W) 'client/ai/greedy.c'; else $(CYGPATH_W) '$(srcdir)/client/ai/greedy.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/ai/$(DEPDIR)/pioneersai-greedy.Tpo client/ai/$(DEPDIR)/pioneersai-greedy.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/ai/greedy.c' object='client/ai/pioneersai-greedy.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneersai_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/ai/pioneersai-greedy.obj `if test -f 'client/ai/greedy.c'; then $(CYGPATH_W) 'client/ai/greedy.c'; else $(CYGPATH_W) '$(srcdir)/client/ai/greedy.c'; fi` client/ai/pioneersai-lobbybot.o: client/ai/lobbybot.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneersai_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/ai/pioneersai-lobbybot.o -MD -MP -MF client/ai/$(DEPDIR)/pioneersai-lobbybot.Tpo -c -o client/ai/pioneersai-lobbybot.o `test -f 'client/ai/lobbybot.c' || echo '$(srcdir)/'`client/ai/lobbybot.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/ai/$(DEPDIR)/pioneersai-lobbybot.Tpo client/ai/$(DEPDIR)/pioneersai-lobbybot.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/ai/lobbybot.c' object='client/ai/pioneersai-lobbybot.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneersai_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/ai/pioneersai-lobbybot.o `test -f 'client/ai/lobbybot.c' || echo '$(srcdir)/'`client/ai/lobbybot.c client/ai/pioneersai-lobbybot.obj: client/ai/lobbybot.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneersai_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT client/ai/pioneersai-lobbybot.obj -MD -MP -MF client/ai/$(DEPDIR)/pioneersai-lobbybot.Tpo -c -o client/ai/pioneersai-lobbybot.obj `if test -f 'client/ai/lobbybot.c'; then $(CYGPATH_W) 'client/ai/lobbybot.c'; else $(CYGPATH_W) '$(srcdir)/client/ai/lobbybot.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) client/ai/$(DEPDIR)/pioneersai-lobbybot.Tpo client/ai/$(DEPDIR)/pioneersai-lobbybot.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='client/ai/lobbybot.c' object='client/ai/pioneersai-lobbybot.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pioneersai_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o client/ai/pioneersai-lobbybot.obj `if test -f 'client/ai/lobbybot.c'; then $(CYGPATH_W) 'client/ai/lobbybot.c'; else $(CYGPATH_W) '$(srcdir)/client/ai/lobbybot.c'; fi` mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs distclean-libtool: -rm -f libtool config.lt install-man6: $(man_MANS) @$(NORMAL_INSTALL) @list1=''; \ list2='$(man_MANS)'; \ test -n "$(man6dir)" \ && test -n "`echo $$list1$$list2`" \ || exit 0; \ echo " $(MKDIR_P) '$(DESTDIR)$(man6dir)'"; \ $(MKDIR_P) "$(DESTDIR)$(man6dir)" || exit 1; \ { for i in $$list1; do echo "$$i"; done; \ if test -n "$$list2"; then \ for i in $$list2; do echo "$$i"; done \ | sed -n '/\.6[a-z]*$$/p'; \ fi; \ } | while read p; do \ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; echo "$$p"; \ done | \ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^6][0-9a-z]*$$,6,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ sed 'N;N;s,\n, ,g' | { \ list=; while read file base inst; do \ if test "$$base" = "$$inst"; then list="$$list $$file"; else \ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man6dir)/$$inst'"; \ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man6dir)/$$inst" || exit $$?; \ fi; \ done; \ for i in $$list; do echo "$$i"; done | $(am__base_list) | \ while read files; do \ test -z "$$files" || { \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man6dir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(man6dir)" || exit $$?; }; \ done; } uninstall-man6: @$(NORMAL_UNINSTALL) @list=''; test -n "$(man6dir)" || exit 0; \ files=`{ for i in $$list; do echo "$$i"; done; \ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ sed -n '/\.6[a-z]*$$/p'; \ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^6][0-9a-z]*$$,6,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ dir='$(DESTDIR)$(man6dir)'; $(am__uninstall_files_from_dir) install-actionsDATA: $(actions_DATA) @$(NORMAL_INSTALL) @list='$(actions_DATA)'; test -n "$(actionsdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(actionsdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(actionsdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(actionsdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(actionsdir)" || exit $$?; \ done uninstall-actionsDATA: @$(NORMAL_UNINSTALL) @list='$(actions_DATA)'; test -n "$(actionsdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(actionsdir)'; $(am__uninstall_files_from_dir) install-ccflickrthemeDATA: $(ccflickrtheme_DATA) @$(NORMAL_INSTALL) @list='$(ccflickrtheme_DATA)'; test -n "$(ccflickrthemedir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(ccflickrthemedir)'"; \ $(MKDIR_P) "$(DESTDIR)$(ccflickrthemedir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(ccflickrthemedir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(ccflickrthemedir)" || exit $$?; \ done uninstall-ccflickrthemeDATA: @$(NORMAL_UNINSTALL) @list='$(ccflickrtheme_DATA)'; test -n "$(ccflickrthemedir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(ccflickrthemedir)'; $(am__uninstall_files_from_dir) install-classicthemeDATA: $(classictheme_DATA) @$(NORMAL_INSTALL) @list='$(classictheme_DATA)'; test -n "$(classicthemedir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(classicthemedir)'"; \ $(MKDIR_P) "$(DESTDIR)$(classicthemedir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(classicthemedir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(classicthemedir)" || exit $$?; \ done uninstall-classicthemeDATA: @$(NORMAL_UNINSTALL) @list='$(classictheme_DATA)'; test -n "$(classicthemedir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(classicthemedir)'; $(am__uninstall_files_from_dir) install-configDATA: $(config_DATA) @$(NORMAL_INSTALL) @list='$(config_DATA)'; test -n "$(configdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(configdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(configdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(configdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(configdir)" || exit $$?; \ done uninstall-configDATA: @$(NORMAL_UNINSTALL) @list='$(config_DATA)'; test -n "$(configdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(configdir)'; $(am__uninstall_files_from_dir) install-desktopDATA: $(desktop_DATA) @$(NORMAL_INSTALL) @list='$(desktop_DATA)'; test -n "$(desktopdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(desktopdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(desktopdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(desktopdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(desktopdir)" || exit $$?; \ done uninstall-desktopDATA: @$(NORMAL_UNINSTALL) @list='$(desktop_DATA)'; test -n "$(desktopdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(desktopdir)'; $(am__uninstall_files_from_dir) install-freecivthemeDATA: $(freecivtheme_DATA) @$(NORMAL_INSTALL) @list='$(freecivtheme_DATA)'; test -n "$(freecivthemedir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(freecivthemedir)'"; \ $(MKDIR_P) "$(DESTDIR)$(freecivthemedir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(freecivthemedir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(freecivthemedir)" || exit $$?; \ done uninstall-freecivthemeDATA: @$(NORMAL_UNINSTALL) @list='$(freecivtheme_DATA)'; test -n "$(freecivthemedir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(freecivthemedir)'; $(am__uninstall_files_from_dir) install-icelandthemeDATA: $(icelandtheme_DATA) @$(NORMAL_INSTALL) @list='$(icelandtheme_DATA)'; test -n "$(icelandthemedir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(icelandthemedir)'"; \ $(MKDIR_P) "$(DESTDIR)$(icelandthemedir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(icelandthemedir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(icelandthemedir)" || exit $$?; \ done uninstall-icelandthemeDATA: @$(NORMAL_UNINSTALL) @list='$(icelandtheme_DATA)'; test -n "$(icelandthemedir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(icelandthemedir)'; $(am__uninstall_files_from_dir) install-iconDATA: $(icon_DATA) @$(NORMAL_INSTALL) @list='$(icon_DATA)'; test -n "$(icondir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(icondir)'"; \ $(MKDIR_P) "$(DESTDIR)$(icondir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(icondir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(icondir)" || exit $$?; \ done uninstall-iconDATA: @$(NORMAL_UNINSTALL) @list='$(icon_DATA)'; test -n "$(icondir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(icondir)'; $(am__uninstall_files_from_dir) install-nouvelliathemeDATA: $(nouvelliatheme_DATA) @$(NORMAL_INSTALL) @list='$(nouvelliatheme_DATA)'; test -n "$(nouvelliathemedir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(nouvelliathemedir)'"; \ $(MKDIR_P) "$(DESTDIR)$(nouvelliathemedir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(nouvelliathemedir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(nouvelliathemedir)" || exit $$?; \ done uninstall-nouvelliathemeDATA: @$(NORMAL_UNINSTALL) @list='$(nouvelliatheme_DATA)'; test -n "$(nouvelliathemedir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(nouvelliathemedir)'; $(am__uninstall_files_from_dir) install-pixmapDATA: $(pixmap_DATA) @$(NORMAL_INSTALL) @list='$(pixmap_DATA)'; test -n "$(pixmapdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(pixmapdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(pixmapdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pixmapdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(pixmapdir)" || exit $$?; \ done uninstall-pixmapDATA: @$(NORMAL_UNINSTALL) @list='$(pixmap_DATA)'; test -n "$(pixmapdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(pixmapdir)'; $(am__uninstall_files_from_dir) install-tinythemeDATA: $(tinytheme_DATA) @$(NORMAL_INSTALL) @list='$(tinytheme_DATA)'; test -n "$(tinythemedir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(tinythemedir)'"; \ $(MKDIR_P) "$(DESTDIR)$(tinythemedir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(tinythemedir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(tinythemedir)" || exit $$?; \ done uninstall-tinythemeDATA: @$(NORMAL_UNINSTALL) @list='$(tinytheme_DATA)'; test -n "$(tinythemedir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(tinythemedir)'; $(am__uninstall_files_from_dir) install-wesnoththemeDATA: $(wesnoththeme_DATA) @$(NORMAL_INSTALL) @list='$(wesnoththeme_DATA)'; test -n "$(wesnoththemedir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(wesnoththemedir)'"; \ $(MKDIR_P) "$(DESTDIR)$(wesnoththemedir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(wesnoththemedir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(wesnoththemedir)" || exit $$?; \ done uninstall-wesnoththemeDATA: @$(NORMAL_UNINSTALL) @list='$(wesnoththeme_DATA)'; test -n "$(wesnoththemedir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(wesnoththemedir)'; $(am__uninstall_files_from_dir) # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscope: cscope.files test ! -s cscope.files \ || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) clean-cscope: -rm -f cscope.files cscope.files: clean-cscope cscopelist cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f cscope.out cscope.in.out cscope.po.out cscope.files distdir: $(DISTFILES) $(am__remove_distdir) test -d "$(distdir)" || mkdir "$(distdir)" @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" distdir="$(distdir)" \ dist-hook -test -n "$(am__skip_mode_fix)" \ || find "$(distdir)" -type d ! -perm -755 \ -exec chmod u+rwx,go+rx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r "$(distdir)" dist-gzip: distdir tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz $(am__post_remove_distdir) dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 $(am__post_remove_distdir) dist-lzip: distdir tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz $(am__post_remove_distdir) dist-xz: distdir tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz $(am__post_remove_distdir) dist-tarZ: distdir @echo WARNING: "Support for distribution archives compressed with" \ "legacy program 'compress' is deprecated." >&2 @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__post_remove_distdir) dist-shar: distdir @echo WARNING: "Support for shar distribution archives is" \ "deprecated." >&2 @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz $(am__post_remove_distdir) dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) $(am__post_remove_distdir) dist dist-all: $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' $(am__post_remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another # tarfile. distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.lz*) \ lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ *.tar.xz*) \ xz -dc $(distdir).tar.xz | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac chmod -R a-w $(distdir) chmod u+w $(distdir) mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst chmod a-w $(distdir) test -d $(distdir)/_build || exit 0; \ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && am__cwd=`pwd` \ && $(am__cd) $(distdir)/_build/sub \ && ../../configure \ $(AM_DISTCHECK_CONFIGURE_FLAGS) \ $(DISTCHECK_CONFIGURE_FLAGS) \ --srcdir=../.. --prefix="$$dc_install_base" \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$$dc_install_base" \ && ({ \ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ } || { rm -rf "$$dc_destdir"; exit 1; }) \ && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist \ && rm -rf $(DIST_ARCHIVES) \ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ && cd "$$am__cwd" \ || exit 1 $(am__post_remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: @test -n '$(distuninstallcheck_dir)' || { \ echo 'ERROR: trying to run $@ with an empty' \ '$$(distuninstallcheck_dir)' >&2; \ exit 1; \ }; \ $(am__cd) '$(distuninstallcheck_dir)' || { \ echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ exit 1; \ }; \ test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ $(distuninstallcheck_listfiles) ; \ exit 1; } >&2 distcleancheck: distclean @if test '$(srcdir)' = . ; then \ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ exit 1 ; \ fi @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left in build directory after distclean:" ; \ $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am check: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) check-recursive all-am: Makefile $(LIBRARIES) $(PROGRAMS) $(MANS) $(DATA) config.h installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man6dir)" "$(DESTDIR)$(actionsdir)" "$(DESTDIR)$(ccflickrthemedir)" "$(DESTDIR)$(classicthemedir)" "$(DESTDIR)$(configdir)" "$(DESTDIR)$(desktopdir)" "$(DESTDIR)$(freecivthemedir)" "$(DESTDIR)$(icelandthemedir)" "$(DESTDIR)$(icondir)" "$(DESTDIR)$(nouvelliathemedir)" "$(DESTDIR)$(pixmapdir)" "$(DESTDIR)$(tinythemedir)" "$(DESTDIR)$(wesnoththemedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -rm -f client/ai/$(DEPDIR)/$(am__dirstamp) -rm -f client/ai/$(am__dirstamp) -rm -f client/common/$(DEPDIR)/$(am__dirstamp) -rm -f client/common/$(am__dirstamp) -rm -f client/gtk/$(DEPDIR)/$(am__dirstamp) -rm -f client/gtk/$(am__dirstamp) -rm -f common/$(DEPDIR)/$(am__dirstamp) -rm -f common/$(am__dirstamp) -rm -f common/gtk/$(DEPDIR)/$(am__dirstamp) -rm -f common/gtk/$(am__dirstamp) -rm -f editor/gtk/$(DEPDIR)/$(am__dirstamp) -rm -f editor/gtk/$(am__dirstamp) -rm -f metaserver/$(DEPDIR)/$(am__dirstamp) -rm -f metaserver/$(am__dirstamp) -rm -f server/$(DEPDIR)/$(am__dirstamp) -rm -f server/$(am__dirstamp) -rm -f server/gtk/$(DEPDIR)/$(am__dirstamp) -rm -f server/gtk/$(am__dirstamp) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) @IS_MINGW_PORT_FALSE@install-exec-hook: clean: clean-recursive clean-am: clean-binPROGRAMS clean-generic clean-libtool clean-local \ clean-noinstLIBRARIES clean-noinstPROGRAMS mostlyclean-am distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf client/ai/$(DEPDIR) client/common/$(DEPDIR) client/gtk/$(DEPDIR) common/$(DEPDIR) common/gtk/$(DEPDIR) editor/gtk/$(DEPDIR) metaserver/$(DEPDIR) server/$(DEPDIR) server/gtk/$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-hdr distclean-libtool distclean-local distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-actionsDATA install-ccflickrthemeDATA \ install-classicthemeDATA install-configDATA \ install-desktopDATA install-freecivthemeDATA \ install-icelandthemeDATA install-iconDATA install-man \ install-nouvelliathemeDATA install-pixmapDATA \ install-tinythemeDATA install-wesnoththemeDATA @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) install-data-hook install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-binPROGRAMS @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) install-exec-hook install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-man6 install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache -rm -rf client/ai/$(DEPDIR) client/common/$(DEPDIR) client/gtk/$(DEPDIR) common/$(DEPDIR) common/gtk/$(DEPDIR) editor/gtk/$(DEPDIR) metaserver/$(DEPDIR) server/$(DEPDIR) server/gtk/$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-actionsDATA uninstall-binPROGRAMS \ uninstall-ccflickrthemeDATA uninstall-classicthemeDATA \ uninstall-configDATA uninstall-desktopDATA \ uninstall-freecivthemeDATA uninstall-icelandthemeDATA \ uninstall-iconDATA uninstall-man uninstall-nouvelliathemeDATA \ uninstall-pixmapDATA uninstall-tinythemeDATA \ uninstall-wesnoththemeDATA @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) uninstall-hook uninstall-man: uninstall-man6 .MAKE: $(am__recursive_targets) all check install install-am \ install-data-am install-exec-am install-strip uninstall-am .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ am--refresh check check-am clean clean-binPROGRAMS \ clean-cscope clean-generic clean-libtool clean-local \ clean-noinstLIBRARIES clean-noinstPROGRAMS cscope \ cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \ dist-gzip dist-hook dist-lzip dist-shar dist-tarZ dist-xz \ dist-zip distcheck distclean distclean-compile \ distclean-generic distclean-hdr distclean-libtool \ distclean-local distclean-tags distcleancheck distdir \ distuninstallcheck dvi dvi-am html html-am info info-am \ install install-actionsDATA install-am install-binPROGRAMS \ install-ccflickrthemeDATA install-classicthemeDATA \ install-configDATA install-data install-data-am \ install-data-hook install-desktopDATA install-dvi \ install-dvi-am install-exec install-exec-am install-exec-hook \ install-freecivthemeDATA install-html install-html-am \ install-icelandthemeDATA install-iconDATA install-info \ install-info-am install-man install-man6 \ install-nouvelliathemeDATA install-pdf install-pdf-am \ install-pixmapDATA install-ps install-ps-am install-strip \ install-tinythemeDATA install-wesnoththemeDATA installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-actionsDATA uninstall-am \ uninstall-binPROGRAMS uninstall-ccflickrthemeDATA \ uninstall-classicthemeDATA uninstall-configDATA \ uninstall-desktopDATA uninstall-freecivthemeDATA \ uninstall-hook uninstall-icelandthemeDATA uninstall-iconDATA \ uninstall-man uninstall-man6 uninstall-nouvelliathemeDATA \ uninstall-pixmapDATA uninstall-tinythemeDATA \ uninstall-wesnoththemeDATA .PRECIOUS: Makefile # Use GOB to create new classes %.gob.stamp %.c %.h %-private.h: %.gob $(MKDIR_P) $(dir $@) $(GOB2) --output-dir $(dir $@) $< touch $@ # creating icons %.png: %.svg $(MKDIR_P) $(dir $@) $(svg_renderer_path) $(svg_renderer_width)256$(svg_renderer_height)256 $< $(svg_renderer_output) $@ # Will be used in Windows builds @USE_WINDOWS_ICON_TRUE@%.res: %.rc %.ico @USE_WINDOWS_ICON_TRUE@ $(MKDIR_P) $(dir $@) @USE_WINDOWS_ICON_TRUE@ windres -I$(top_srcdir) -O coff -o $@ $< @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@client/gtk/data/splash.png: client/gtk/data/splash.svg @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ $(MKDIR_P) $(dir $@) @BUILD_CLIENT_TRUE@@HAVE_GTK_TRUE@ $(svg_renderer_path) $(svg_renderer_width)400$(svg_renderer_height)400 $< $(svg_renderer_output) $@ @IS_MINGW_PORT_TRUE@install-exec-hook: install-MinGW @IS_MINGW_PORT_TRUE@install-MinGW: @IS_MINGW_PORT_TRUE@ cp /mingw/bin/libatk-1.0-0.dll /usr/local @IS_MINGW_PORT_TRUE@ cp /mingw/bin/libcairo-2.dll /usr/local @IS_MINGW_PORT_TRUE@ cp /mingw/bin/libcairo-gobject-2.dll /usr/local @IS_MINGW_PORT_TRUE@ cp /mingw/bin/libcroco-0.6-3.dll /usr/local @IS_MINGW_PORT_TRUE@ cp /mingw/bin/libffi-6.dll /usr/local @IS_MINGW_PORT_TRUE@ cp /mingw/bin/libfontconfig-1.dll /usr/local @IS_MINGW_PORT_TRUE@ cp /mingw/bin/libfreetype-6.dll /usr/local @IS_MINGW_PORT_TRUE@ cp /mingw/bin/libgcc_s_dw2-1.dll /usr/local @IS_MINGW_PORT_TRUE@ cp /mingw/bin/libgdk-3-0.dll /usr/local @IS_MINGW_PORT_TRUE@ cp /mingw/bin/libgdk_pixbuf-2.0-0.dll /usr/local @IS_MINGW_PORT_TRUE@ cp /mingw/bin/libgio-2.0-0.dll /usr/local @IS_MINGW_PORT_TRUE@ cp /mingw/bin/libglib-2.0-0.dll /usr/local @IS_MINGW_PORT_TRUE@ cp /mingw/bin/libgmodule-2.0-0.dll /usr/local @IS_MINGW_PORT_TRUE@ cp /mingw/bin/libgobject-2.0-0.dll /usr/local @IS_MINGW_PORT_TRUE@ cp /mingw/bin/libgtk-3-0.dll /usr/local @IS_MINGW_PORT_TRUE@ cp /mingw/bin/libiconv-2.dll /usr/local @IS_MINGW_PORT_TRUE@ cp /mingw/bin/libintl-8.dll /usr/local @IS_MINGW_PORT_TRUE@ cp /mingw/bin/liblzma-5.dll /usr/local @IS_MINGW_PORT_TRUE@ cp /mingw/bin/libpango-1.0-0.dll /usr/local @IS_MINGW_PORT_TRUE@ cp /mingw/bin/libpangocairo-1.0-0.dll /usr/local @IS_MINGW_PORT_TRUE@ cp /mingw/bin/libpangoft2-1.0-0.dll /usr/local @IS_MINGW_PORT_TRUE@ cp /mingw/bin/libpangowin32-1.0-0.dll /usr/local @IS_MINGW_PORT_TRUE@ cp /mingw/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.dll /usr/local @IS_MINGW_PORT_TRUE@ cp /mingw/bin/libpixman-1-0.dll /usr/local @IS_MINGW_PORT_TRUE@ cp /mingw/bin/libpng15-15.dll /usr/local @IS_MINGW_PORT_TRUE@ cp /mingw/bin/librsvg-2-2.dll /usr/local @IS_MINGW_PORT_TRUE@ cp /mingw/bin/libssp-0.dll /usr/local @IS_MINGW_PORT_TRUE@ cp /mingw/bin/libxml2-2.dll /usr/local @IS_MINGW_PORT_TRUE@ cp /mingw/bin/pthreadGC2.dll /usr/local @IS_MINGW_PORT_TRUE@ cp /mingw/bin/zlib1.dll /usr/local @IS_MINGW_PORT_TRUE@ cp /mingw/bin/gspawn-win32-helper.exe /usr/local @IS_MINGW_PORT_TRUE@ cp /mingw/bin/gspawn-win32-helper-console.exe /usr/local @IS_MINGW_PORT_TRUE@ mkdir -p /usr/local/lib/gdk-pixbuf-2.0/2.10.0 @IS_MINGW_PORT_TRUE@ cp $(srcdir)/MinGW/loaders.cache /usr/local/lib/gdk-pixbuf-2.0/2.10.0 @IS_MINGW_PORT_TRUE@ mkdir -p /usr/local/share/icons/hicolor @IS_MINGW_PORT_TRUE@ cp /mingw/share/icons/hicolor/index.theme /usr/local/share/icons/hicolor @IS_MINGW_PORT_TRUE@ mkdir -p /usr/local/share/icons/hicolor/24x24/actions @IS_MINGW_PORT_TRUE@ cp /mingw/share/gtk-doc/html/gtk3/edit-undo-ltr.png /usr/local/share/icons/hicolor/24x24/actions/edit-undo.png @IS_MINGW_PORT_TRUE@ mkdir -p /usr/local/share/glib-2.0/schemas @IS_MINGW_PORT_TRUE@ cp /mingw/share/glib-2.0/schemas/gschemas.compiled /usr/local/share/glib-2.0/schemas common/authors.h: AUTHORS $(MKDIR_P) common printf '#define AUTHORLIST ' > $@ $(SED) -e's/ <.*//; s/$$/", \\/; s/^/"/; /^"[[:space:]]*", \\$$/d' $< >> $@ printf 'NULL\n' >> $@ common/version.h: build_version # This target is not called common/version.h (although it builds that file), # because it must be PHONY, but should only be rebuilt once. build_version: $(MKDIR_P) common printf '#define FULL_VERSION "$(VERSION)' > common/version.new if svn info > /dev/null 2>&1; then \ svn info | \ $(AWK) '$$1 == "Revision:" { printf ".r%s", $$2 }' \ >> common/version.new ;\ if svn status | $(GREP) -vq ^\? ; then \ printf '.M' >> common/version.new ;\ fi ;\ fi printf '"\n' >> common/version.new if diff common/version.h common/version.new > /dev/null 2>&1; then \ rm common/version.new ;\ else \ mv common/version.new common/version.h ;\ fi # always try to rebuild version.h .PHONY: build_version @INTLTOOL_DESKTOP_RULE@ clean-local: find $(top_srcdir) -name "*~" -type f -delete rm -rf html distclean-local: rm -f *~ rm -rf autom4te.cache # Reformat the code. reindent: find . -name '*.[ch]' -exec indent -kr -i8 '{}' ';' find . -name '*.[ch]' -exec indent -kr -i8 '{}' ';' restorepo: svn revert po/*.po po/pioneers.pot # Find and fix common misspellings in the code codespell: find . -name '*.[ch]' -exec codespell -d -i3 -w '{}' ';' # Remove ALL generated files pristine: maintainer-clean rm -fr m4 svn status --no-ignore | awk '$$1=="I" { print substr($$0, 9, 255) }' | tr '\n' '\0' | xargs -0 rm %.48x48_apps.png: %.svg $(MKDIR_P) $(dir $@) $(svg_renderer_path) $(svg_renderer_width)48$(svg_renderer_height)48 $< $(svg_renderer_output) $@ install-icons: $(MKDIR_P) $(DESTDIR)$(pioneers_iconthemedir)/48x48/apps $(MKDIR_P) $(DESTDIR)$(pioneers_iconthemedir)/scalable/apps for icon in $(icons); do \ ICONNAME=`echo $$icon | $(AWK) '{ c = split($$0, a, "/"); print substr(a[c], 1, index(a[c], ".") - 1) }'`; \ INPUTNAME=`echo $$icon | $(AWK) '{ gsub(".svg", ""); print }'`; \ $(INSTALL_DATA) $(srcdir)/$$INPUTNAME.48x48_apps.png $(DESTDIR)$(pioneers_iconthemedir)/48x48/apps/$$ICONNAME.png; \ $(INSTALL_DATA) $(srcdir)/$$INPUTNAME.svg $(DESTDIR)$(pioneers_iconthemedir)/scalable/apps/$$ICONNAME.svg; \ done; uninstall-icons: -for icon in $(icons); do \ ICONNAME=`echo $$icon | $(AWK) '{ c = split($$0, a, "/"); print substr(a[c], 1, index(a[c], ".") - 1) }'`; \ rm -f $(DESTDIR)$(pioneers_iconthemedir)/48x48/apps/$$ICONNAME.png; \ rm -f $(DESTDIR)$(pioneers_iconthemedir)/scalable/apps/$$ICONNAME.svg; \ done; install-data-hook: install-icons uninstall-hook: uninstall-icons dist-hook: $(MAKE) -C "$(srcdir)/po" "${GETTEXT_PACKAGE}.pot" cp "$(srcdir)/po/${GETTEXT_PACKAGE}.pot" "$(distdir)/po/" # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: pioneers-15.5/README0000644000175000017500000000565210655346477011122 00000000000000Pioneers Pioneers is an Internet playable implementation of the Settlers of Catan board game. The aim is to remain as faithful to the board game as is possible. Playing the Game ================ Pioneers is a multi-player game. Each player must run the Pioneers client: pioneers. One of the players must also run the Pioneers server: pioneers-server-gtk or pioneers-server-console. The GTK server has a user interface in which you can customise the game parameters. Once you are happy with the game parameters, press the Start Server button, and the server will start listening for client connections. When you start the client program, it displays a connect dialog. You must define the hostname and port where the server can be located. You can enter these manually, or press the Meta Server button. The meta server maintains a list of all registered Pioneers servers that are currently running a game. This allows you to join a game anywhere on the Internet. Pioneers is most fun with three or four players, but two players is still ok, or you can add some computer players if you like. Simple install procedure ======================== % tar xvzf pioneers-.tar.gz # unpack the sources % cd pioneers # change to the toplevel directory % ./configure # regenerate configure and run it % make # build Pioneers [ Become root if necessary ] % make install # install Pioneers Building RPM Binary Packages ============================ This section is intended to make it easier for those people that wish to build RPMs from the source included in this package, but aren't sure how. 1) Copy pioneers-.tar.gz to your RPM SOURCES directory. Usually this is /usr/src/packages/SOURCES 2) In your RPM SOURCES directory, issue the command 'rpmbuild -ta pioneers.spec'. This will cause rpm to extract the pioneers sources to a temporary directory, build them, and build rpm packages based on the information in the spec file. The binary rpms will be put into your RPM RPMS directory. Usually this is /usr/src/packages/RPMS//. If you have any further questions, please refer to the RPM documentation. Building Debian Binary Packages =============================== This section is intended to make it easier for those people that wish to build Debian binary packages (.deb's) from the source included in this package, but aren't sure how. 1) Extract pioneers-.tar.gz inside a temporary directory. The Debian binaries will be placed in this directory. A directory named pioneers- will be created when you extract the archive. 2) Change into the pioneers- directory. 3) Issue the command dpkg-buildpackage (You must have dpkg-dev installed in order to issue this command). This will configure and build the Debian binaries, placing them in the parent directory of your current directory. If you have any further questions, please refer to the Debian dpkg documentation. pioneers-15.5/Doxyfile.in0000644000175000017500000022576112532544055012346 00000000000000# Doxyfile 1.8.1.2 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project. # # All text after a hash (#) is considered a comment and will be ignored. # The format is: # TAG = value [value, ...] # For lists items can also be appended using: # TAG += value [value, ...] # Values that contain spaces should be placed between quotes (" "). #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- # This tag specifies the encoding used for all characters in the config file # that follow. The default is UTF-8 which is also the encoding used for all # text before the first occurrence of this tag. Doxygen uses libiconv (or the # iconv built into libc) for the transcoding. See # http://www.gnu.org/software/libiconv for the list of possible encodings. DOXYFILE_ENCODING = UTF-8 # The PROJECT_NAME tag is a single word (or sequence of words) that should # identify the project. Note that if you do not use Doxywizard you need # to put quotes around the project name if it contains spaces. PROJECT_NAME = Pioneers # The PROJECT_NUMBER tag can be used to enter a project or revision number. # This could be handy for archiving the generated documentation or # if some version control system is used. PROJECT_NUMBER = @VERSION@ # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer # a quick idea about the purpose of the project. Keep the description short. PROJECT_BRIEF = # With the PROJECT_LOGO tag one can specify an logo or icon that is # included in the documentation. The maximum height of the logo should not # exceed 55 pixels and the maximum width should not exceed 200 pixels. # Doxygen will copy the logo to the output directory. PROJECT_LOGO = client/gtk/data/pioneers.48x48_apps.png # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. # If a relative path is entered, it will be relative to the location # where doxygen was started. If left blank the current directory will be used. OUTPUT_DIRECTORY = # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create # 4096 sub-directories (in 2 levels) under the output directory of each output # format and will distribute the generated files over these directories. # Enabling this option can be useful when feeding doxygen a huge amount of # source files, where putting all generated files in the same directory would # otherwise cause performance problems for the file system. CREATE_SUBDIRS = NO # The OUTPUT_LANGUAGE tag is used to specify the language in which all # documentation generated by doxygen is written. Doxygen will use this # information to generate all constant output in the proper language. # The default language is English, other supported languages are: # Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, # Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, # Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English # messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, # Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, # Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. OUTPUT_LANGUAGE = English # If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will # include brief member descriptions after the members that are listed in # the file and class documentation (similar to JavaDoc). # Set to NO to disable this. BRIEF_MEMBER_DESC = YES # If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend # the brief description of a member or function before the detailed description. # Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the # brief descriptions will be completely suppressed. REPEAT_BRIEF = YES # This tag implements a quasi-intelligent brief description abbreviator # that is used to form the text in various listings. Each string # in this list, if found as the leading text of the brief description, will be # stripped from the text and the result after processing the whole list, is # used as the annotated text. Otherwise, the brief description is used as-is. # If left blank, the following values are used ("$name" is automatically # replaced with the name of the entity): "The $name class" "The $name widget" # "The $name file" "is" "provides" "specifies" "contains" # "represents" "a" "an" "the" ABBREVIATE_BRIEF = "The $name class" \ "The $name widget" \ "The $name file" \ is \ provides \ specifies \ contains \ represents \ a \ an \ the # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then # Doxygen will generate a detailed section even if there is only a brief # description. ALWAYS_DETAILED_SEC = NO # If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all # inherited members of a class in the documentation of that class as if those # members were ordinary class members. Constructors, destructors and assignment # operators of the base classes will not be shown. INLINE_INHERITED_MEMB = NO # If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full # path before files name in the file list and in the header files. If set # to NO the shortest path that makes the file name unique will be used. FULL_PATH_NAMES = YES # If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag # can be used to strip a user-defined part of the path. Stripping is # only done if one of the specified strings matches the left-hand part of # the path. The tag can be used to show relative paths in the file list. # If left blank the directory from which doxygen is run is used as the # path to strip. STRIP_FROM_PATH = # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of # the path mentioned in the documentation of a class, which tells # the reader which header file to include in order to use a class. # If left blank only the name of the header file containing the class # definition is used. Otherwise one should specify the include paths that # are normally passed to the compiler using the -I flag. STRIP_FROM_INC_PATH = # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter # (but less readable) file names. This can be useful if your file system # doesn't support long names like on DOS, Mac, or CD-ROM. SHORT_NAMES = NO # If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen # will interpret the first line (until the first dot) of a JavaDoc-style # comment as the brief description. If set to NO, the JavaDoc # comments will behave just like regular Qt-style comments # (thus requiring an explicit @brief command for a brief description.) JAVADOC_AUTOBRIEF = YES # If the QT_AUTOBRIEF tag is set to YES then Doxygen will # interpret the first line (until the first dot) of a Qt-style # comment as the brief description. If set to NO, the comments # will behave just like regular Qt-style comments (thus requiring # an explicit \brief command for a brief description.) QT_AUTOBRIEF = NO # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen # treat a multi-line C++ special comment block (i.e. a block of //! or /// # comments) as a brief description. This used to be the default behaviour. # The new default is to treat a multi-line C++ comment block as a detailed # description. Set this tag to YES if you prefer the old behaviour instead. MULTILINE_CPP_IS_BRIEF = NO # If the INHERIT_DOCS tag is set to YES (the default) then an undocumented # member inherits the documentation from any documented member that it # re-implements. INHERIT_DOCS = YES # If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce # a new page for each member. If set to NO, the documentation of a member will # be part of the file/class/namespace that contains it. SEPARATE_MEMBER_PAGES = NO # The TAB_SIZE tag can be used to set the number of spaces in a tab. # Doxygen uses this value to replace tabs by spaces in code fragments. TAB_SIZE = 8 # This tag can be used to specify a number of aliases that acts # as commands in the documentation. An alias has the form "name=value". # For example adding "sideeffect=\par Side Effects:\n" will allow you to # put the command \sideeffect (or @sideeffect) in the documentation, which # will result in a user-defined paragraph with heading "Side Effects:". # You can put \n's in the value part of an alias to insert newlines. ALIASES = # This tag can be used to specify a number of word-keyword mappings (TCL only). # A mapping has the form "name=value". For example adding # "class=itcl::class" will allow you to use the command class in the # itcl::class meaning. TCL_SUBST = # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C # sources only. Doxygen will then generate output that is more tailored for C. # For instance, some of the names that are used will be different. The list # of all members will be omitted, etc. OPTIMIZE_OUTPUT_FOR_C = YES # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java # sources only. Doxygen will then generate output that is more tailored for # Java. For instance, namespaces will be presented as packages, qualified # scopes will look different, etc. OPTIMIZE_OUTPUT_JAVA = NO # Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran # sources only. Doxygen will then generate output that is more tailored for # Fortran. OPTIMIZE_FOR_FORTRAN = NO # Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL # sources. Doxygen will then generate output that is tailored for # VHDL. OPTIMIZE_OUTPUT_VHDL = NO # Doxygen selects the parser to use depending on the extension of the files it # parses. With this tag you can assign which parser to use for a given extension. # Doxygen has a built-in mapping, but you can override or extend it using this # tag. The format is ext=language, where ext is a file extension, and language # is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C, # C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make # doxygen treat .inc files as Fortran files (default is PHP), and .f files as C # (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions # you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. EXTENSION_MAPPING = # If MARKDOWN_SUPPORT is enabled (the default) then doxygen pre-processes all # comments according to the Markdown format, which allows for more readable # documentation. See http://daringfireball.net/projects/markdown/ for details. # The output of markdown processing is further processed by doxygen, so you # can mix doxygen, HTML, and XML commands with Markdown formatting. # Disable only in case of backward compatibilities issues. MARKDOWN_SUPPORT = YES # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want # to include (a tag file for) the STL sources as input, then you should # set this tag to YES in order to let doxygen match functions declarations and # definitions whose arguments contain STL classes (e.g. func(std::string); v.s. # func(std::string) {}). This also makes the inheritance and collaboration # diagrams that involve STL classes more complete and accurate. BUILTIN_STL_SUPPORT = NO # If you use Microsoft's C++/CLI language, you should set this option to YES to # enable parsing support. CPP_CLI_SUPPORT = NO # Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. # Doxygen will parse them like normal C++ but will assume all classes use public # instead of private inheritance when no explicit protection keyword is present. SIP_SUPPORT = NO # For Microsoft's IDL there are propget and propput attributes to indicate getter # and setter methods for a property. Setting this option to YES (the default) # will make doxygen replace the get and set methods by a property in the # documentation. This will only work if the methods are indeed getting or # setting a simple type. If this is not the case, or you want to show the # methods anyway, you should set this option to NO. IDL_PROPERTY_SUPPORT = YES # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC # tag is set to YES, then doxygen will reuse the documentation of the first # member in the group (if any) for the other members of the group. By default # all members of a group must be documented explicitly. DISTRIBUTE_GROUP_DOC = NO # Set the SUBGROUPING tag to YES (the default) to allow class member groups of # the same type (for instance a group of public functions) to be put as a # subgroup of that type (e.g. under the Public Functions section). Set it to # NO to prevent subgrouping. Alternatively, this can be done per class using # the \nosubgrouping command. SUBGROUPING = YES # When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and # unions are shown inside the group in which they are included (e.g. using # @ingroup) instead of on a separate page (for HTML and Man pages) or # section (for LaTeX and RTF). INLINE_GROUPED_CLASSES = NO # When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and # unions with only public data fields will be shown inline in the documentation # of the scope in which they are defined (i.e. file, namespace, or group # documentation), provided this scope is documented. If set to NO (the default), # structs, classes, and unions are shown on a separate page (for HTML and Man # pages) or section (for LaTeX and RTF). INLINE_SIMPLE_STRUCTS = NO # When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum # is documented as struct, union, or enum with the name of the typedef. So # typedef struct TypeS {} TypeT, will appear in the documentation as a struct # with name TypeT. When disabled the typedef will appear as a member of a file, # namespace, or class. And the struct will be named TypeS. This can typically # be useful for C code in case the coding convention dictates that all compound # types are typedef'ed and only the typedef is referenced, never the tag name. TYPEDEF_HIDES_STRUCT = YES # The SYMBOL_CACHE_SIZE determines the size of the internal cache use to # determine which symbols to keep in memory and which to flush to disk. # When the cache is full, less often used symbols will be written to disk. # For small to medium size projects (<1000 input files) the default value is # probably good enough. For larger projects a too small cache size can cause # doxygen to be busy swapping symbols to and from disk most of the time # causing a significant performance penalty. # If the system has enough physical memory increasing the cache will improve the # performance by keeping more symbols in memory. Note that the value works on # a logarithmic scale so increasing the size by one will roughly double the # memory usage. The cache size is given by this formula: # 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, # corresponding to a cache size of 2^16 = 65536 symbols. SYMBOL_CACHE_SIZE = 0 # Similar to the SYMBOL_CACHE_SIZE the size of the symbol lookup cache can be # set using LOOKUP_CACHE_SIZE. This cache is used to resolve symbols given # their name and scope. Since this can be an expensive process and often the # same symbol appear multiple times in the code, doxygen keeps a cache of # pre-resolved symbols. If the cache is too small doxygen will become slower. # If the cache is too large, memory is wasted. The cache size is given by this # formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range is 0..9, the default is 0, # corresponding to a cache size of 2^16 = 65536 symbols. LOOKUP_CACHE_SIZE = 0 #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in # documentation are documented, even if no documentation was available. # Private class members and static file members will be hidden unless # the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES EXTRACT_ALL = NO # If the EXTRACT_PRIVATE tag is set to YES all private members of a class # will be included in the documentation. EXTRACT_PRIVATE = YES # If the EXTRACT_PACKAGE tag is set to YES all members with package or internal scope will be included in the documentation. EXTRACT_PACKAGE = NO # If the EXTRACT_STATIC tag is set to YES all static members of a file # will be included in the documentation. EXTRACT_STATIC = NO # If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) # defined locally in source files will be included in the documentation. # If set to NO only classes defined in header files are included. EXTRACT_LOCAL_CLASSES = YES # This flag is only useful for Objective-C code. When set to YES local # methods, which are defined in the implementation section but not in # the interface are included in the documentation. # If set to NO (the default) only methods in the interface are included. EXTRACT_LOCAL_METHODS = NO # If this flag is set to YES, the members of anonymous namespaces will be # extracted and appear in the documentation as a namespace called # 'anonymous_namespace{file}', where file will be replaced with the base # name of the file that contains the anonymous namespace. By default # anonymous namespaces are hidden. EXTRACT_ANON_NSPACES = NO # If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all # undocumented members of documented classes, files or namespaces. # If set to NO (the default) these members will be included in the # various overviews, but no documentation section is generated. # This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_MEMBERS = NO # If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all # undocumented classes that are normally visible in the class hierarchy. # If set to NO (the default) these classes will be included in the various # overviews. This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_CLASSES = NO # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all # friend (class|struct|union) declarations. # If set to NO (the default) these declarations will be included in the # documentation. HIDE_FRIEND_COMPOUNDS = NO # If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any # documentation blocks found inside the body of a function. # If set to NO (the default) these blocks will be appended to the # function's detailed documentation block. HIDE_IN_BODY_DOCS = NO # The INTERNAL_DOCS tag determines if documentation # that is typed after a \internal command is included. If the tag is set # to NO (the default) then the documentation will be excluded. # Set it to YES to include the internal documentation. INTERNAL_DOCS = YES # If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate # file names in lower-case letters. If set to YES upper-case letters are also # allowed. This is useful if you have classes or files whose names only differ # in case and if your file system supports case sensitive file names. Windows # and Mac users are advised to set this option to NO. CASE_SENSE_NAMES = YES # If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen # will show members with their full class and namespace scopes in the # documentation. If set to YES the scope will be hidden. HIDE_SCOPE_NAMES = NO # If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen # will put a list of the files that are included by a file in the documentation # of that file. SHOW_INCLUDE_FILES = YES # If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen # will list include files with double quotes in the documentation # rather than with sharp brackets. FORCE_LOCAL_INCLUDES = NO # If the INLINE_INFO tag is set to YES (the default) then a tag [inline] # is inserted in the documentation for inline members. INLINE_INFO = YES # If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen # will sort the (detailed) documentation of file and class members # alphabetically by member name. If set to NO the members will appear in # declaration order. SORT_MEMBER_DOCS = YES # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the # brief documentation of file, namespace and class members alphabetically # by member name. If set to NO (the default) the members will appear in # declaration order. SORT_BRIEF_DOCS = NO # If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen # will sort the (brief and detailed) documentation of class members so that # constructors and destructors are listed first. If set to NO (the default) # the constructors will appear in the respective orders defined by # SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. # This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO # and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. SORT_MEMBERS_CTORS_1ST = NO # If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the # hierarchy of group names into alphabetical order. If set to NO (the default) # the group names will appear in their defined order. SORT_GROUP_NAMES = NO # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be # sorted by fully-qualified names, including namespaces. If set to # NO (the default), the class list will be sorted only by class name, # not including the namespace part. # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. # Note: This option applies only to the class list, not to the # alphabetical list. SORT_BY_SCOPE_NAME = NO # If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to # do proper type resolution of all parameters of a function it will reject a # match between the prototype and the implementation of a member function even # if there is only one candidate or it is obvious which candidate to choose # by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen # will still accept a match between prototype and implementation in such cases. STRICT_PROTO_MATCHING = NO # The GENERATE_TODOLIST tag can be used to enable (YES) or # disable (NO) the todo list. This list is created by putting \todo # commands in the documentation. GENERATE_TODOLIST = YES # The GENERATE_TESTLIST tag can be used to enable (YES) or # disable (NO) the test list. This list is created by putting \test # commands in the documentation. GENERATE_TESTLIST = YES # The GENERATE_BUGLIST tag can be used to enable (YES) or # disable (NO) the bug list. This list is created by putting \bug # commands in the documentation. GENERATE_BUGLIST = YES # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or # disable (NO) the deprecated list. This list is created by putting # \deprecated commands in the documentation. GENERATE_DEPRECATEDLIST= YES # The ENABLED_SECTIONS tag can be used to enable conditional # documentation sections, marked by \if sectionname ... \endif. ENABLED_SECTIONS = # The MAX_INITIALIZER_LINES tag determines the maximum number of lines # the initial value of a variable or macro consists of for it to appear in # the documentation. If the initializer consists of more lines than specified # here it will be hidden. Use a value of 0 to hide initializers completely. # The appearance of the initializer of individual variables and macros in the # documentation can be controlled using \showinitializer or \hideinitializer # command in the documentation regardless of this setting. MAX_INITIALIZER_LINES = 30 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated # at the bottom of the documentation of classes and structs. If set to YES the # list will mention the files that were used to generate the documentation. SHOW_USED_FILES = YES # Set the SHOW_FILES tag to NO to disable the generation of the Files page. # This will remove the Files entry from the Quick Index and from the # Folder Tree View (if specified). The default is YES. SHOW_FILES = YES # Set the SHOW_NAMESPACES tag to NO to disable the generation of the # Namespaces page. # This will remove the Namespaces entry from the Quick Index # and from the Folder Tree View (if specified). The default is YES. SHOW_NAMESPACES = YES # The FILE_VERSION_FILTER tag can be used to specify a program or script that # doxygen should invoke to get the current version for each file (typically from # the version control system). Doxygen will invoke the program by executing (via # popen()) the command , where is the value of # the FILE_VERSION_FILTER tag, and is the name of an input file # provided by doxygen. Whatever the program writes to standard output # is used as the file version. See the manual for examples. FILE_VERSION_FILTER = # The LAYOUT_FILE tag can be used to specify a layout file which will be parsed # by doxygen. The layout file controls the global structure of the generated # output files in an output format independent way. To create the layout file # that represents doxygen's defaults, run doxygen with the -l option. # You can optionally specify a file name after the option, if omitted # DoxygenLayout.xml will be used as the name of the layout file. LAYOUT_FILE = # The CITE_BIB_FILES tag can be used to specify one or more bib files # containing the references data. This must be a list of .bib files. The # .bib extension is automatically appended if omitted. Using this command # requires the bibtex tool to be installed. See also # http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style # of the bibliography can be controlled using LATEX_BIB_STYLE. To use this # feature you need bibtex and perl available in the search path. CITE_BIB_FILES = #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- # The QUIET tag can be used to turn on/off the messages that are generated # by doxygen. Possible values are YES and NO. If left blank NO is used. QUIET = NO # The WARNINGS tag can be used to turn on/off the warning messages that are # generated by doxygen. Possible values are YES and NO. If left blank # NO is used. WARNINGS = YES # If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings # for undocumented members. If EXTRACT_ALL is set to YES then this flag will # automatically be disabled. WARN_IF_UNDOCUMENTED = YES # If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for # potential errors in the documentation, such as not documenting some # parameters in a documented function, or documenting parameters that # don't exist or using markup commands wrongly. WARN_IF_DOC_ERROR = YES # The WARN_NO_PARAMDOC option can be enabled to get warnings for # functions that are documented, but have no documentation for their parameters # or return value. If set to NO (the default) doxygen will only warn about # wrong or incomplete parameter documentation, but not about the absence of # documentation. WARN_NO_PARAMDOC = NO # The WARN_FORMAT tag determines the format of the warning messages that # doxygen can produce. The string should contain the $file, $line, and $text # tags, which will be replaced by the file and line number from which the # warning originated and the warning text. Optionally the format may contain # $version, which will be replaced by the version of the file (if it could # be obtained via FILE_VERSION_FILTER) WARN_FORMAT = "$file:$line: $text" # The WARN_LOGFILE tag can be used to specify a file to which warning # and error messages should be written. If left blank the output is written # to stderr. WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- # The INPUT tag can be used to specify the files and/or directories that contain # documented source files. You may enter file names like "myfile.cpp" or # directories like "/usr/src/myproject". Separate the files or directories # with spaces. INPUT = # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is # also the default input encoding. Doxygen uses libiconv (or the iconv built # into libc) for the transcoding. See http://www.gnu.org/software/libiconv for # the list of possible encodings. INPUT_ENCODING = UTF-8 # If the value of the INPUT tag contains directories, you can use the # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank the following patterns are tested: # *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh # *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py # *.f90 *.f *.for *.vhd *.vhdl FILE_PATTERNS = *.c \ *.h # The RECURSIVE tag can be used to turn specify whether or not subdirectories # should be searched for input files as well. Possible values are YES and NO. # If left blank NO is used. RECURSIVE = yes # The EXCLUDE tag can be used to specify files and/or directories that should be # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. # Note that relative paths are relative to the directory from which doxygen is # run. EXCLUDE = # The EXCLUDE_SYMLINKS tag can be used to select whether or not files or # directories that are symbolic links (a Unix file system feature) are excluded # from the input. EXCLUDE_SYMLINKS = NO # If the value of the INPUT tag contains directories, you can use the # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude # certain files from those directories. Note that the wildcards are matched # against the file with absolute path, so to exclude all test directories # for example use the pattern */test/* EXCLUDE_PATTERNS = # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names # (namespaces, classes, functions, etc.) that should be excluded from the # output. The symbol name can be a fully qualified name, a word, or if the # wildcard * is used, a substring. Examples: ANamespace, AClass, # AClass::ANamespace, ANamespace::*Test EXCLUDE_SYMBOLS = # The EXAMPLE_PATH tag can be used to specify one or more files or # directories that contain example code fragments that are included (see # the \include command). EXAMPLE_PATH = # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank all files are included. EXAMPLE_PATTERNS = * # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be # searched for input files to be used with the \include or \dontinclude # commands irrespective of the value of the RECURSIVE tag. # Possible values are YES and NO. If left blank NO is used. EXAMPLE_RECURSIVE = NO # The IMAGE_PATH tag can be used to specify one or more files or # directories that contain image that are included in the documentation (see # the \image command). IMAGE_PATH = # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program # by executing (via popen()) the command , where # is the value of the INPUT_FILTER tag, and is the name of an # input file. Doxygen will then use the output that the filter program writes # to standard output. # If FILTER_PATTERNS is specified, this tag will be # ignored. INPUT_FILTER = # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern # basis. # Doxygen will compare the file name with each pattern and apply the # filter if there is a match. # The filters are a list of the form: # pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further # info on how filters are used. If FILTER_PATTERNS is empty or if # non of the patterns match the file name, INPUT_FILTER is applied. FILTER_PATTERNS = # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using # INPUT_FILTER) will be used to filter the input files when producing source # files to browse (i.e. when SOURCE_BROWSER is set to YES). FILTER_SOURCE_FILES = NO # The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file # pattern. A pattern will override the setting for FILTER_PATTERN (if any) # and it is also possible to disable source filtering for a specific pattern # using *.ext= (so without naming a filter). This option only has effect when # FILTER_SOURCE_FILES is enabled. FILTER_SOURCE_PATTERNS = #--------------------------------------------------------------------------- # configuration options related to source browsing #--------------------------------------------------------------------------- # If the SOURCE_BROWSER tag is set to YES then a list of source files will # be generated. Documented entities will be cross-referenced with these sources. # Note: To get rid of all source code in the generated output, make sure also # VERBATIM_HEADERS is set to NO. SOURCE_BROWSER = NO # Setting the INLINE_SOURCES tag to YES will include the body # of functions and classes directly in the documentation. INLINE_SOURCES = NO # Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct # doxygen to hide any special comment blocks from generated source code # fragments. Normal C, C++ and Fortran comments will always remain visible. STRIP_CODE_COMMENTS = YES # If the REFERENCED_BY_RELATION tag is set to YES # then for each documented function all documented # functions referencing it will be listed. REFERENCED_BY_RELATION = YES # If the REFERENCES_RELATION tag is set to YES # then for each documented function all documented entities # called/used by that function will be listed. REFERENCES_RELATION = YES # If the REFERENCES_LINK_SOURCE tag is set to YES (the default) # and SOURCE_BROWSER tag is set to YES, then the hyperlinks from # functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will # link to the source code. # Otherwise they will link to the documentation. REFERENCES_LINK_SOURCE = YES # If the USE_HTAGS tag is set to YES then the references to source code # will point to the HTML generated by the htags(1) tool instead of doxygen # built-in source browser. The htags tool is part of GNU's global source # tagging system (see http://www.gnu.org/software/global/global.html). You # will need version 4.8.6 or higher. USE_HTAGS = NO # If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen # will generate a verbatim copy of the header file for each class for # which an include is specified. Set to NO to disable this. VERBATIM_HEADERS = YES #--------------------------------------------------------------------------- # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index # of all compounds will be generated. Enable this if the project # contains a lot of classes, structs, unions or interfaces. ALPHABETICAL_INDEX = NO # If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then # the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns # in which this list will be split (can be a number in the range [1..20]) COLS_IN_ALPHA_INDEX = 5 # In case all classes in a project start with a common prefix, all # classes will be put under the same header in the alphabetical index. # The IGNORE_PREFIX tag can be used to specify one or more prefixes that # should be ignored while generating the index headers. IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- # If the GENERATE_HTML tag is set to YES (the default) Doxygen will # generate HTML output. GENERATE_HTML = YES # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `html' will be used as the default path. HTML_OUTPUT = html # The HTML_FILE_EXTENSION tag can be used to specify the file extension for # each generated HTML page (for example: .htm,.php,.asp). If it is left blank # doxygen will generate files with .html extension. HTML_FILE_EXTENSION = .html # The HTML_HEADER tag can be used to specify a personal HTML header for # each generated HTML page. If it is left blank doxygen will generate a # standard header. Note that when using a custom header you are responsible # for the proper inclusion of any scripts and style sheets that doxygen # needs, which is dependent on the configuration options used. # It is advised to generate a default header using "doxygen -w html # header.html footer.html stylesheet.css YourConfigFile" and then modify # that header. Note that the header is subject to change so you typically # have to redo this when upgrading to a newer version of doxygen or when # changing the value of configuration settings such as GENERATE_TREEVIEW! HTML_HEADER = # The HTML_FOOTER tag can be used to specify a personal HTML footer for # each generated HTML page. If it is left blank doxygen will generate a # standard footer. HTML_FOOTER = # The HTML_STYLESHEET tag can be used to specify a user-defined cascading # style sheet that is used by each HTML page. It can be used to # fine-tune the look of the HTML output. If the tag is left blank doxygen # will generate a default style sheet. Note that doxygen will try to copy # the style sheet file to the HTML output directory, so don't put your own # style sheet in the HTML output directory as well, or it will be erased! HTML_STYLESHEET = # The HTML_EXTRA_FILES tag can be used to specify one or more extra images or # other source files which should be copied to the HTML output directory. Note # that these files will be copied to the base HTML output directory. Use the # $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these # files. In the HTML_STYLESHEET file, use the file name only. Also note that # the files will be copied as-is; there are no commands or markers available. HTML_EXTRA_FILES = # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. # Doxygen will adjust the colors in the style sheet and background images # according to this color. Hue is specified as an angle on a colorwheel, # see http://en.wikipedia.org/wiki/Hue for more information. # For instance the value 0 represents red, 60 is yellow, 120 is green, # 180 is cyan, 240 is blue, 300 purple, and 360 is red again. # The allowed range is 0 to 359. HTML_COLORSTYLE_HUE = 220 # The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of # the colors in the HTML output. For a value of 0 the output will use # grayscales only. A value of 255 will produce the most vivid colors. HTML_COLORSTYLE_SAT = 100 # The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to # the luminance component of the colors in the HTML output. Values below # 100 gradually make the output lighter, whereas values above 100 make # the output darker. The value divided by 100 is the actual gamma applied, # so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, # and 100 does not change the gamma. HTML_COLORSTYLE_GAMMA = 80 # If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML # page will contain the date and time when the page was generated. Setting # this to NO can help when comparing the output of multiple runs. HTML_TIMESTAMP = YES # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML # documentation will contain sections that can be hidden and shown after the # page has loaded. HTML_DYNAMIC_SECTIONS = NO # With HTML_INDEX_NUM_ENTRIES one can control the preferred number of # entries shown in the various tree structured indices initially; the user # can expand and collapse entries dynamically later on. Doxygen will expand # the tree to such a level that at most the specified number of entries are # visible (unless a fully collapsed tree already exceeds this amount). # So setting the number of entries 1 will produce a full collapsed tree by # default. 0 is a special value representing an infinite number of entries # and will result in a full expanded tree by default. HTML_INDEX_NUM_ENTRIES = 100 # If the GENERATE_DOCSET tag is set to YES, additional index files # will be generated that can be used as input for Apple's Xcode 3 # integrated development environment, introduced with OSX 10.5 (Leopard). # To create a documentation set, doxygen will generate a Makefile in the # HTML output directory. Running make will produce the docset in that # directory and running "make install" will install the docset in # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find # it at startup. # See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html # for more information. GENERATE_DOCSET = NO # When GENERATE_DOCSET tag is set to YES, this tag determines the name of the # feed. A documentation feed provides an umbrella under which multiple # documentation sets from a single provider (such as a company or product suite) # can be grouped. DOCSET_FEEDNAME = "Doxygen generated docs" # When GENERATE_DOCSET tag is set to YES, this tag specifies a string that # should uniquely identify the documentation set bundle. This should be a # reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen # will append .docset to the name. DOCSET_BUNDLE_ID = org.doxygen.Project # When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify # the documentation publisher. This should be a reverse domain-name style # string, e.g. com.mycompany.MyDocSet.documentation. DOCSET_PUBLISHER_ID = org.doxygen.Publisher # The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. DOCSET_PUBLISHER_NAME = Publisher # If the GENERATE_HTMLHELP tag is set to YES, additional index files # will be generated that can be used as input for tools like the # Microsoft HTML help workshop to generate a compiled HTML help file (.chm) # of the generated HTML documentation. GENERATE_HTMLHELP = NO # If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can # be used to specify the file name of the resulting .chm file. You # can add a path in front of the file if the result should not be # written to the html output directory. CHM_FILE = # If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can # be used to specify the location (absolute path including file name) of # the HTML help compiler (hhc.exe). If non-empty doxygen will try to run # the HTML help compiler on the generated index.hhp. HHC_LOCATION = # If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag # controls if a separate .chi index file is generated (YES) or that # it should be included in the master .chm file (NO). GENERATE_CHI = NO # If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING # is used to encode HtmlHelp index (hhk), content (hhc) and project file # content. CHM_INDEX_ENCODING = # If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag # controls whether a binary table of contents is generated (YES) or a # normal table of contents (NO) in the .chm file. BINARY_TOC = NO # The TOC_EXPAND flag can be set to YES to add extra items for group members # to the contents of the HTML help documentation and to the tree view. TOC_EXPAND = NO # If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and # QHP_VIRTUAL_FOLDER are set, an additional index file will be generated # that can be used as input for Qt's qhelpgenerator to generate a # Qt Compressed Help (.qch) of the generated HTML documentation. GENERATE_QHP = NO # If the QHG_LOCATION tag is specified, the QCH_FILE tag can # be used to specify the file name of the resulting .qch file. # The path specified is relative to the HTML output folder. QCH_FILE = # The QHP_NAMESPACE tag specifies the namespace to use when generating # Qt Help Project output. For more information please see # http://doc.trolltech.com/qthelpproject.html#namespace QHP_NAMESPACE = org.doxygen.Project # The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating # Qt Help Project output. For more information please see # http://doc.trolltech.com/qthelpproject.html#virtual-folders QHP_VIRTUAL_FOLDER = doc # If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to # add. For more information please see # http://doc.trolltech.com/qthelpproject.html#custom-filters QHP_CUST_FILTER_NAME = # The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the # custom filter to add. For more information please see #
# Qt Help Project / Custom Filters. QHP_CUST_FILTER_ATTRS = # The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this # project's # filter section matches. # # Qt Help Project / Filter Attributes. QHP_SECT_FILTER_ATTRS = # If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can # be used to specify the location of Qt's qhelpgenerator. # If non-empty doxygen will try to run qhelpgenerator on the generated # .qhp file. QHG_LOCATION = # If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files # will be generated, which together with the HTML files, form an Eclipse help # plugin. To install this plugin and make it available under the help contents # menu in Eclipse, the contents of the directory containing the HTML and XML # files needs to be copied into the plugins directory of eclipse. The name of # the directory within the plugins directory should be the same as # the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before # the help appears. GENERATE_ECLIPSEHELP = NO # A unique identifier for the eclipse help plugin. When installing the plugin # the directory name containing the HTML and XML files should also have # this name. ECLIPSE_DOC_ID = org.doxygen.Project # The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) # at top of each HTML page. The value NO (the default) enables the index and # the value YES disables it. Since the tabs have the same information as the # navigation tree you can set this option to NO if you already set # GENERATE_TREEVIEW to YES. DISABLE_INDEX = NO # The GENERATE_TREEVIEW tag is used to specify whether a tree-like index # structure should be generated to display hierarchical information. # If the tag value is set to YES, a side panel will be generated # containing a tree-like index structure (just like the one that # is generated for HTML Help). For this to work a browser that supports # JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). # Windows users are probably better off using the HTML help feature. # Since the tree basically has the same information as the tab index you # could consider to set DISABLE_INDEX to NO when enabling this option. GENERATE_TREEVIEW = NO # The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values # (range [0,1..20]) that doxygen will group on one line in the generated HTML # documentation. Note that a value of 0 will completely suppress the enum # values from appearing in the overview section. ENUM_VALUES_PER_LINE = 4 # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be # used to set the initial width (in pixels) of the frame in which the tree # is shown. TREEVIEW_WIDTH = 250 # When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open # links to external symbols imported via tag files in a separate window. EXT_LINKS_IN_WINDOW = NO # Use this tag to change the font size of Latex formulas included # as images in the HTML documentation. The default is 10. Note that # when you change the font size after a successful doxygen run you need # to manually remove any form_*.png images from the HTML output directory # to force them to be regenerated. FORMULA_FONTSIZE = 10 # Use the FORMULA_TRANPARENT tag to determine whether or not the images # generated for formulas are transparent PNGs. Transparent PNGs are # not supported properly for IE 6.0, but are supported on all modern browsers. # Note that when changing this option you need to delete any form_*.png files # in the HTML output before the changes have effect. FORMULA_TRANSPARENT = YES # Enable the USE_MATHJAX option to render LaTeX formulas using MathJax # (see http://www.mathjax.org) which uses client side Javascript for the # rendering instead of using prerendered bitmaps. Use this if you do not # have LaTeX installed or if you want to formulas look prettier in the HTML # output. When enabled you may also need to install MathJax separately and # configure the path to it using the MATHJAX_RELPATH option. USE_MATHJAX = NO # When MathJax is enabled you need to specify the location relative to the # HTML output directory using the MATHJAX_RELPATH option. The destination # directory should contain the MathJax.js script. For instance, if the mathjax # directory is located at the same level as the HTML output directory, then # MATHJAX_RELPATH should be ../mathjax. The default value points to # the MathJax Content Delivery Network so you can quickly see the result without # installing MathJax. # However, it is strongly recommended to install a local # copy of MathJax from http://www.mathjax.org before deployment. MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest # The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension # names that should be enabled during MathJax rendering. MATHJAX_EXTENSIONS = # When the SEARCHENGINE tag is enabled doxygen will generate a search box # for the HTML output. The underlying search engine uses javascript # and DHTML and should work on any modern browser. Note that when using # HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets # (GENERATE_DOCSET) there is already a search function so this one should # typically be disabled. For large projects the javascript based search engine # can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. SEARCHENGINE = NO # When the SERVER_BASED_SEARCH tag is enabled the search engine will be # implemented using a PHP enabled web server instead of at the web client # using Javascript. Doxygen will generate the search PHP script and index # file to put on the web server. The advantage of the server # based approach is that it scales better to large projects and allows # full text search. The disadvantages are that it is more difficult to setup # and does not have live searching capabilities. SERVER_BASED_SEARCH = NO #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will # generate Latex output. GENERATE_LATEX = NO # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `latex' will be used as the default path. LATEX_OUTPUT = latex # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be # invoked. If left blank `latex' will be used as the default command name. # Note that when enabling USE_PDFLATEX this option is only used for # generating bitmaps for formulas in the HTML output, but not in the # Makefile that is written to the output directory. LATEX_CMD_NAME = latex # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to # generate index for LaTeX. If left blank `makeindex' will be used as the # default command name. MAKEINDEX_CMD_NAME = makeindex # If the COMPACT_LATEX tag is set to YES Doxygen generates more compact # LaTeX documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_LATEX = NO # The PAPER_TYPE tag can be used to set the paper type that is used # by the printer. Possible values are: a4, letter, legal and # executive. If left blank a4wide will be used. PAPER_TYPE = a4wide # The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX # packages that should be included in the LaTeX output. EXTRA_PACKAGES = # The LATEX_HEADER tag can be used to specify a personal LaTeX header for # the generated latex document. The header should contain everything until # the first chapter. If it is left blank doxygen will generate a # standard header. Notice: only use this tag if you know what you are doing! LATEX_HEADER = # The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for # the generated latex document. The footer should contain everything after # the last chapter. If it is left blank doxygen will generate a # standard footer. Notice: only use this tag if you know what you are doing! LATEX_FOOTER = # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated # is prepared for conversion to pdf (using ps2pdf). The pdf file will # contain links (just like the HTML output) instead of page references # This makes the output suitable for online browsing using a pdf viewer. PDF_HYPERLINKS = NO # If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of # plain latex in the generated Makefile. Set this option to YES to get a # higher quality PDF documentation. USE_PDFLATEX = NO # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. # command to the generated LaTeX files. This will instruct LaTeX to keep # running if errors occur, instead of asking the user for help. # This option is also used when generating formulas in HTML. LATEX_BATCHMODE = NO # If LATEX_HIDE_INDICES is set to YES then doxygen will not # include the index chapters (such as File Index, Compound Index, etc.) # in the output. LATEX_HIDE_INDICES = NO # If LATEX_SOURCE_CODE is set to YES then doxygen will include # source code with syntax highlighting in the LaTeX output. # Note that which sources are shown also depends on other settings # such as SOURCE_BROWSER. LATEX_SOURCE_CODE = NO # The LATEX_BIB_STYLE tag can be used to specify the style to use for the # bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See # http://en.wikipedia.org/wiki/BibTeX for more info. LATEX_BIB_STYLE = plain #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- # If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output # The RTF output is optimized for Word 97 and may not look very pretty with # other RTF readers or editors. GENERATE_RTF = NO # The RTF_OUTPUT tag is used to specify where the RTF docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `rtf' will be used as the default path. RTF_OUTPUT = rtf # If the COMPACT_RTF tag is set to YES Doxygen generates more compact # RTF documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_RTF = NO # If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated # will contain hyperlink fields. The RTF file will # contain links (just like the HTML output) instead of page references. # This makes the output suitable for online browsing using WORD or other # programs which support those fields. # Note: wordpad (write) and others do not support links. RTF_HYPERLINKS = NO # Load style sheet definitions from file. Syntax is similar to doxygen's # config file, i.e. a series of assignments. You only have to provide # replacements, missing definitions are set to their default value. RTF_STYLESHEET_FILE = # Set optional variables used in the generation of an rtf document. # Syntax is similar to doxygen's config file. RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- # If the GENERATE_MAN tag is set to YES (the default) Doxygen will # generate man pages GENERATE_MAN = NO # The MAN_OUTPUT tag is used to specify where the man pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `man' will be used as the default path. MAN_OUTPUT = man # The MAN_EXTENSION tag determines the extension that is added to # the generated man pages (default is the subroutine's section .3) MAN_EXTENSION = .3 # If the MAN_LINKS tag is set to YES and Doxygen generates man output, # then it will generate one additional man file for each entity # documented in the real man page(s). These additional files # only source the real man page, but without them the man command # would be unable to find the correct page. The default is NO. MAN_LINKS = NO #--------------------------------------------------------------------------- # configuration options related to the XML output #--------------------------------------------------------------------------- # If the GENERATE_XML tag is set to YES Doxygen will # generate an XML file that captures the structure of # the code including all documentation. GENERATE_XML = NO # The XML_OUTPUT tag is used to specify where the XML pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `xml' will be used as the default path. XML_OUTPUT = xml # The XML_SCHEMA tag can be used to specify an XML schema, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_SCHEMA = # The XML_DTD tag can be used to specify an XML DTD, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_DTD = # If the XML_PROGRAMLISTING tag is set to YES Doxygen will # dump the program listings (including syntax highlighting # and cross-referencing information) to the XML output. Note that # enabling this will significantly increase the size of the XML output. XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- # If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will # generate an AutoGen Definitions (see autogen.sf.net) file # that captures the structure of the code including all # documentation. Note that this feature is still experimental # and incomplete at the moment. GENERATE_AUTOGEN_DEF = NO #--------------------------------------------------------------------------- # configuration options related to the Perl module output #--------------------------------------------------------------------------- # If the GENERATE_PERLMOD tag is set to YES Doxygen will # generate a Perl module file that captures the structure of # the code including all documentation. Note that this # feature is still experimental and incomplete at the # moment. GENERATE_PERLMOD = NO # If the PERLMOD_LATEX tag is set to YES Doxygen will generate # the necessary Makefile rules, Perl scripts and LaTeX code to be able # to generate PDF and DVI output from the Perl module output. PERLMOD_LATEX = NO # If the PERLMOD_PRETTY tag is set to YES the Perl module output will be # nicely formatted so it can be parsed by a human reader. # This is useful # if you want to understand what is going on. # On the other hand, if this # tag is set to NO the size of the Perl module output will be much smaller # and Perl will parse it just the same. PERLMOD_PRETTY = YES # The names of the make variables in the generated doxyrules.make file # are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. # This is useful so different doxyrules.make files included by the same # Makefile don't overwrite each other's variables. PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the preprocessor #--------------------------------------------------------------------------- # If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will # evaluate all C-preprocessor directives found in the sources and include # files. ENABLE_PREPROCESSING = YES # If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro # names in the source code. If set to NO (the default) only conditional # compilation will be performed. Macro expansion can be done in a controlled # way by setting EXPAND_ONLY_PREDEF to YES. MACRO_EXPANSION = NO # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES # then the macro expansion is limited to the macros specified with the # PREDEFINED and EXPAND_AS_DEFINED tags. EXPAND_ONLY_PREDEF = NO # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files # pointed to by INCLUDE_PATH will be searched when a #include is found. SEARCH_INCLUDES = YES # The INCLUDE_PATH tag can be used to specify one or more directories that # contain include files that are not input files but should be processed by # the preprocessor. INCLUDE_PATH = # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard # patterns (like *.h and *.hpp) to filter out the header-files in the # directories. If left blank, the patterns specified with FILE_PATTERNS will # be used. INCLUDE_FILE_PATTERNS = # The PREDEFINED tag can be used to specify one or more macro names that # are defined before the preprocessor is started (similar to the -D option of # gcc). The argument of the tag is a list of macros of the form: name # or name=definition (no spaces). If the definition and the = are # omitted =1 is assumed. To prevent a macro definition from being # undefined via #undef or recursively expanded use the := operator # instead of the = operator. PREDEFINED = # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then # this tag can be used to specify a list of macro names that should be expanded. # The macro definition that is found in the sources will be used. # Use the PREDEFINED tag if you want to use a different macro definition that # overrules the definition found in the source code. EXPAND_AS_DEFINED = # If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then # doxygen's preprocessor will remove all references to function-like macros # that are alone on a line, have an all uppercase name, and do not end with a # semicolon, because these will confuse the parser if not removed. SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- # Configuration::additions related to external references #--------------------------------------------------------------------------- # The TAGFILES option can be used to specify one or more tagfiles. For each # tag file the location of the external documentation should be added. The # format of a tag file without this location is as follows: # # TAGFILES = file1 file2 ... # Adding location for the tag files is done as follows: # # TAGFILES = file1=loc1 "file2 = loc2" ... # where "loc1" and "loc2" can be relative or absolute paths # or URLs. Note that each tag file must have a unique name (where the name does # NOT include the path). If a tag file is not located in the directory in which # doxygen is run, you must also specify the path to the tagfile here. TAGFILES = # When a file name is specified after GENERATE_TAGFILE, doxygen will create # a tag file that is based on the input files it reads. GENERATE_TAGFILE = # If the ALLEXTERNALS tag is set to YES all external classes will be listed # in the class index. If set to NO only the inherited external classes # will be listed. ALLEXTERNALS = NO # If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed # in the modules index. If set to NO, only the current project's groups will # be listed. EXTERNAL_GROUPS = YES # The PERL_PATH should be the absolute path and name of the perl script # interpreter (i.e. the result of `which perl'). PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- # If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will # generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base # or super classes. Setting the tag to NO turns the diagrams off. Note that # this option also works with HAVE_DOT disabled, but it is recommended to # install and use dot, since it yields more powerful graphs. CLASS_DIAGRAMS = YES # You can define message sequence charts within doxygen comments using the \msc # command. Doxygen will then run the mscgen tool (see # http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the # documentation. The MSCGEN_PATH tag allows you to specify the directory where # the mscgen tool resides. If left empty the tool is assumed to be found in the # default search path. MSCGEN_PATH = # If set to YES, the inheritance and collaboration graphs will hide # inheritance and usage relations if the target is undocumented # or is not a class. HIDE_UNDOC_RELATIONS = YES # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is # available from the path. This tool is part of Graphviz, a graph visualization # toolkit from AT&T and Lucent Bell Labs. The other options in this section # have no effect if this option is set to NO (the default) HAVE_DOT = NO # The DOT_NUM_THREADS specifies the number of dot invocations doxygen is # allowed to run in parallel. When set to 0 (the default) doxygen will # base this on the number of processors available in the system. You can set it # explicitly to a value larger than 0 to get control over the balance # between CPU load and processing speed. DOT_NUM_THREADS = 0 # By default doxygen will use the Helvetica font for all dot files that # doxygen generates. When you want a differently looking font you can specify # the font name using DOT_FONTNAME. You need to make sure dot is able to find # the font, which can be done by putting it in a standard location or by setting # the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the # directory containing the font. DOT_FONTNAME = FreeSans # The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. # The default size is 10pt. DOT_FONTSIZE = 10 # By default doxygen will tell dot to use the Helvetica font. # If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to # set the path where dot can find it. DOT_FONTPATH = # If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect inheritance relations. Setting this tag to YES will force the # CLASS_DIAGRAMS tag to NO. CLASS_GRAPH = YES # If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect implementation dependencies (inheritance, containment, and # class references variables) of the class with other documented classes. COLLABORATION_GRAPH = YES # If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen # will generate a graph for groups, showing the direct groups dependencies GROUP_GRAPHS = YES # If the UML_LOOK tag is set to YES doxygen will generate inheritance and # collaboration diagrams in a style similar to the OMG's Unified Modeling # Language. UML_LOOK = NO # If the UML_LOOK tag is enabled, the fields and methods are shown inside # the class node. If there are many fields or methods and many nodes the # graph may become too big to be useful. The UML_LIMIT_NUM_FIELDS # threshold limits the number of items for each type to make the size more # manageable. Set this to 0 for no limit. Note that the threshold may be # exceeded by 50% before the limit is enforced. UML_LIMIT_NUM_FIELDS = 10 # If set to YES, the inheritance and collaboration graphs will show the # relations between templates and their instances. TEMPLATE_RELATIONS = NO # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT # tags are set to YES then doxygen will generate a graph for each documented # file showing the direct and indirect include dependencies of the file with # other documented files. INCLUDE_GRAPH = YES # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and # HAVE_DOT tags are set to YES then doxygen will generate a graph for each # documented header file showing the documented files that directly or # indirectly include this file. INCLUDED_BY_GRAPH = YES # If the CALL_GRAPH and HAVE_DOT options are set to YES then # doxygen will generate a call dependency graph for every global function # or class method. Note that enabling this option will significantly increase # the time of a run. So in most cases it will be better to enable call graphs # for selected functions only using the \callgraph command. CALL_GRAPH = NO # If the CALLER_GRAPH and HAVE_DOT tags are set to YES then # doxygen will generate a caller dependency graph for every global function # or class method. Note that enabling this option will significantly increase # the time of a run. So in most cases it will be better to enable caller # graphs for selected functions only using the \callergraph command. CALLER_GRAPH = NO # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen # will generate a graphical hierarchy of all classes instead of a textual one. GRAPHICAL_HIERARCHY = YES # If the DIRECTORY_GRAPH and HAVE_DOT tags are set to YES # then doxygen will show the dependencies a directory has on other directories # in a graphical way. The dependency relations are determined by the #include # relations between the files in the directories. DIRECTORY_GRAPH = YES # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images # generated by dot. Possible values are svg, png, jpg, or gif. # If left blank png will be used. If you choose svg you need to set # HTML_FILE_EXTENSION to xhtml in order to make the SVG files # visible in IE 9+ (other browsers do not have this requirement). DOT_IMAGE_FORMAT = png # If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to # enable generation of interactive SVG images that allow zooming and panning. # Note that this requires a modern browser other than Internet Explorer. # Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you # need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files # visible. Older versions of IE do not have SVG support. INTERACTIVE_SVG = NO # The tag DOT_PATH can be used to specify the path where the dot tool can be # found. If left blank, it is assumed the dot tool can be found in the path. DOT_PATH = # The DOTFILE_DIRS tag can be used to specify one or more directories that # contain dot files that are included in the documentation (see the # \dotfile command). DOTFILE_DIRS = # The MSCFILE_DIRS tag can be used to specify one or more directories that # contain msc files that are included in the documentation (see the # \mscfile command). MSCFILE_DIRS = # The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of # nodes that will be shown in the graph. If the number of nodes in a graph # becomes larger than this value, doxygen will truncate the graph, which is # visualized by representing a node as a red box. Note that doxygen if the # number of direct children of the root node in a graph is already larger than # DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note # that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. DOT_GRAPH_MAX_NODES = 50 # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the # graphs generated by dot. A depth value of 3 means that only nodes reachable # from the root by following a path via at most 3 edges will be shown. Nodes # that lay further from the root node will be omitted. Note that setting this # option to 1 or 2 may greatly reduce the computation time needed for large # code bases. Also note that the size of a graph can be further restricted by # DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. MAX_DOT_GRAPH_DEPTH = 1000 # Set the DOT_TRANSPARENT tag to YES to generate images with a transparent # background. This is disabled by default, because dot on Windows does not # seem to support this out of the box. Warning: Depending on the platform used, # enabling this option may lead to badly anti-aliased labels on the edges of # a graph (i.e. they become hard to read). DOT_TRANSPARENT = NO # Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output # files in one run (i.e. multiple -o and -T options on the command line). This # makes dot run faster, but since only newer versions of dot (>1.8.10) # support this, this feature is disabled by default. DOT_MULTI_TARGETS = NO # If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will # generate a legend page explaining the meaning of the various boxes and # arrows in the dot generated graphs. GENERATE_LEGEND = YES # If the DOT_CLEANUP tag is set to YES (the default) Doxygen will # remove the intermediate dot files that are used to generate # the various graphs. DOT_CLEANUP = YES pioneers-15.5/config.h.in0000644000175000017500000001007013252243604012233 00000000000000/* config.h.in. Generated from configure.ac by autoheader. */ /* The name of the Avahi service */ #undef AVAHI_ANNOUNCE_NAME /* The Avahi network protocol value */ #undef AVAHI_NETWORK_PROTOCOL /* Enable NLS */ #undef ENABLE_NLS /* The gettext package name */ #undef GETTEXT_PACKAGE /* Define if AVAHI available */ #undef HAVE_AVAHI /* Define to 1 if you have the header file. */ #undef HAVE_DLFCN_H /* Define to 1 if you have the header file. */ #undef HAVE_FCNTL_H /* Define to 1 if you have the `fork' function. */ #undef HAVE_FORK /* Defined when online help is present */ #undef HAVE_HELP /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H /* Define to 1 if you have the `memmove' function. */ #undef HAVE_MEMMOVE /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* Define to 1 if you have the `memset' function. */ #undef HAVE_MEMSET /* Defined if libnotify is present */ #undef HAVE_NOTIFY /* Defined if an older version of GTK+ is available */ #undef HAVE_OLD_GTK /* Define to 1 if you have the rint function. */ #undef HAVE_RINT /* Define to 1 if you have the `setlocale' function. */ #undef HAVE_SETLOCALE /* Define to 1 if you have the `sqrt' function. */ #undef HAVE_SQRT /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the `strchr' function. */ #undef HAVE_STRCHR /* Define to 1 if you have the `strcspn' function. */ #undef HAVE_STRCSPN /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H /* Define to 1 if you have the `strspn' function. */ #undef HAVE_STRSPN /* Define to 1 if you have the `strstr' function. */ #undef HAVE_STRSTR /* Define to 1 if you have the header file. */ #undef HAVE_SYSLOG_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H /* Define to 1 if you have the `vfork' function. */ #undef HAVE_VFORK /* Define to 1 if you have the header file. */ #undef HAVE_VFORK_H /* Define to 1 if `fork' works. */ #undef HAVE_WORKING_FORK /* Define to 1 if `vfork' works. */ #undef HAVE_WORKING_VFORK /* Define to the sub-directory where libtool stores uninstalled libraries. */ #undef LT_OBJDIR /* Protocol version used by the metaserver */ #undef META_PROTOCOL_VERSION /* Name of package */ #undef PACKAGE /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the home page for this package. */ #undef PACKAGE_URL /* Define to the version of this package. */ #undef PACKAGE_VERSION /* The default port for the admin interface */ #undef PIONEERS_DEFAULT_ADMIN_PORT /* The default host for a new game */ #undef PIONEERS_DEFAULT_GAME_HOST /* The default port for a new game */ #undef PIONEERS_DEFAULT_GAME_PORT /* The default metaserver */ #undef PIONEERS_DEFAULT_METASERVER /* The port for the metaserver */ #undef PIONEERS_DEFAULT_META_PORT /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* Define to 1 if you can safely include both and . */ #undef TIME_WITH_SYS_TIME /* Define to 1 if your declares `struct tm'. */ #undef TM_IN_SYS_TIME /* Version number of package */ #undef VERSION /* Define to empty if `const' does not conform to ANSI C. */ #undef const /* Define to `int' if does not define. */ #undef pid_t /* Define to `unsigned int' if does not define. */ #undef size_t /* Define as `fork' if `vfork' does not work. */ #undef vfork pioneers-15.5/COPYING0000644000175000017500000004311210363024766011254 00000000000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. pioneers-15.5/autogen.sh0000755000175000017500000000253012760603235012216 00000000000000#!/bin/sh # Run this to generate all the initial makefiles, etc. test -n "$srcdir" || srcdir=$(dirname "$0") test -n "$srcdir" || srcdir=. olddir=$(pwd) cd $srcdir (test -f configure.ac) || { echo "*** ERROR: Directory '$srcdir' does not look like the top-level project directory ***" exit 1 } # shellcheck disable=SC2016 PKG_NAME=$(autoconf --trace 'AC_INIT:$1' configure.ac) if [ "$#" = 0 -a "x$NOCONFIGURE" = "x" ]; then echo "*** WARNING: I am going to run 'configure' with no arguments." >&2 echo "*** If you wish to pass any to it, please specify them on the" >&2 echo "*** '$0' command line." >&2 echo "" >&2 fi if [ ! -e m4 ]; then mkdir m4 fi aclocal --install -I m4 || exit 1 intltoolize --force --copy --automake || exit 1 autoreconf --verbose --force --install || exit 1 cd "$olddir" if [ "$NOCONFIGURE" = "" ]; then if test "X$1" = "X--fhs"; then shift $srcdir/configure --enable-maintainer-mode --disable-deprecation-checks --prefix=/usr --bindir=/usr/games --mandir=/usr/share/man "$@" || exit 1 else $srcdir/configure --enable-maintainer-mode --disable-deprecation-checks "$@" || exit 1 fi if [ "$1" = "--help" ]; then exit 0 else echo "Now type 'make' to compile $PKG_NAME" || exit 1 fi else echo "Skipping configure process." fi pioneers-15.5/pioneers.spec0000644000175000017500000001156613252243607012726 00000000000000Name: pioneers Summary: Playable implementation of the Settlers of Catan Version: 15.5 Release: 1 Group: Amusements/Games License: GPL Url: http://pio.sourceforge.net/ Packager: The Pioneers developers Source: http://downloads.sourceforge.net/pio/pioneers-15.5.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: libgnome-devel, scrollkeeper BuildRequires: gtk2-devel >= 3.22 BuildRequires: glib2-devel >= 2.26 Requires(post): scrollkeeper %description Pioneers is a computerized version of a well known strategy board game. The goal of the game is to colonize an island. The players play the first colonists, hence the name Pioneers. This is the client software to play the game. %package ai Summary: Pioneers AI Player Group: Amusements/Games %description ai Pioneers is a computerized version of a well known strategy board game. The goal of the game is to colonize an island. The players play the first colonists, hence the name Pioneers. This package contains a computer player that can take part in Pioneers games. %package server-console Summary: Pioneers Console Server Group: Amusements/Games Requires: pioneers-server-data %description server-console Pioneers is a computerized version of a well known strategy board game. The goal of the game is to colonize an island. The players play the first colonists, hence the name Pioneers. The packages contains the server. %package server-gtk Summary: Pioneers GTK Server Group: Amusements/Games Requires: pioneers, pioneers-server-data %description server-gtk Pioneers is a computerized version of a well known strategy board game. The goal of the game is to colonize an island. The players play the first colonists, hence the name Pioneers. The server has a user interface in which you can customise the game parameters. Once you are happy with the game parameters, press the Start Server button, and the server will start listening for client connections. %package server-data Summary: Pioneers Data Group: Amusements/Games %description server-data Pioneers is a computerized version of a well known strategy board game. The goal of the game is to colonize an island. The players play the first colonists, hence the name Pioneers. This package contains the data files for a game server. %package metaserver Summary: Pioneers Metaserver Group: Amusements/Games %description metaserver Pioneers is a computerized version of a well known strategy board game. The goal of the game is to colonize an island. The players play the first colonists, hence the name Pioneers. The metaserver registers available game servers and offers them to new players. It can also create new servers on client request. %package editor Summary: Pioneers Game Editor Group: Amusements/Games Requires: pioneers, pioneers-server-data %description editor Pioneers is a computerized version of a well known strategy board game. The goal of the game is to colonize an island. The players play the first colonists, hence the name Pioneers. The game editor allows maps and game descriptions to be created and edited graphically. %prep %setup -q %build %configure make %install make install DESTDIR="%buildroot" rm -rf %{buildroot}%{localstatedir}/scrollkeeper/ %find_lang %{name} %clean rm -rf %{buildroot} %files -f %name.lang %defattr(-,root,root) %doc AUTHORS COPYING ChangeLog INSTALL README NEWS %doc %_mandir/man6/pioneers.6.gz %{_bindir}/pioneers %{_datadir}/applications/pioneers.desktop %{_datadir}/pixmaps/pioneers.png %{_datadir}/pixmaps/pioneers/* %{_datadir}/games/pioneers/themes/* %{_datadir}/gnome/help/pioneers/C/*.xml %{_datadir}/gnome/help/pioneers/C/images/* %{_datadir}/omf/pioneers/pioneers-C.omf %post scrollkeeper-update -q -o %{_datadir}/omf/pioneers %postun scrollkeeper-update -q %files ai %defattr(-,root,root) %doc AUTHORS COPYING ChangeLog INSTALL README NEWS %doc %_mandir/man6/pioneersai.6.gz %{_bindir}/pioneersai %{_datadir}/games/pioneers/computer_names %files server-console %defattr(-,root,root) %doc AUTHORS COPYING ChangeLog INSTALL README NEWS %doc %_mandir/man6/pioneers-server-console.6.gz %{_bindir}/pioneers-server-console %files server-gtk %defattr(-,root,root) %doc AUTHORS COPYING ChangeLog INSTALL README NEWS %doc %_mandir/man6/pioneers-server-gtk.6.gz %{_bindir}/pioneers-server-gtk %{_datadir}/pixmaps/pioneers-server.png %{_datadir}/applications/pioneers-server.desktop %files server-data %defattr(-,root,root) %doc AUTHORS COPYING ChangeLog INSTALL README NEWS %{_datadir}/games/pioneers/*.game %files metaserver %defattr(-,root,root) %doc %_mandir/man6/pioneers-metaserver.6.gz %doc AUTHORS COPYING ChangeLog INSTALL README NEWS %{_bindir}/pioneers-metaserver %files editor %defattr(-,root,root) %doc AUTHORS COPYING ChangeLog INSTALL README NEWS %{_bindir}/pioneers-editor %{_datadir}/pixmaps/pioneers-editor.png %{_datadir}/applications/pioneers-editor.desktop pioneers-15.5/docs/0000755000175000017500000000000013252243610011217 500000000000000pioneers-15.5/docs/pioneersai.60000644000175000017500000000365512336740662013410 00000000000000.TH pioneersai 6 "May 20, 2014" "pioneers" .SH NAME pioneersai \- Computer player for Pioneers .SH SYNOPSIS .B pioneersai [ .BI \-s " server" ] [ .BI \-p " port" ] .BI \-n " name" .if n .ti +5n [ .BI \-a " algorithm" ] [ .BI \-t " milliseconds" ] [ .BI \-c ] .SH DESCRIPTION This manual page documents briefly the .B pioneersai command. .PP .B Pioneers is an emulation of the Settlers of Catan board game which can be played over the internet. This is a computer player implementation that can take part in Pioneers games. .SH OPTIONS .TP 12 .BI "\-s,\-\-server" " server" Connect to a pioneers game running on \fIserver\fP. .TP .BI "\-p,\-\-port" " port" Connect to a pioneers game running on \fIport\fP. .TP .BI "\-n,\-\-name" " name" Specify \fIname\fP of the computer player. .TP .BI "\-a,\-\-algorithm" " algorithm" Specify \fIalgorithm\fP of the computer player. The algorithms for active partipants in a game are "greedy" and "genetic". The default algorithm is "greedy". Other allowed values are: lobbybot, logbot. .TP .BI "\-\-chromosome\-file" " filename" The filename for the file that contains the chromosome for the "genetic" algorithm. When not specified, the default chromosome is used. .TP .BI "\-t,\-\-time" " milliseconds" Time to wait between turns, in \fImilliseconds\fP. Default is 1000. .TP .BI "\-c,\-\-chat\-free" Do not chat with other players. .TP .BI \-\-debug Enable debug messages. .TP .BI \-\-version Show version information. .SH AUTHOR This manual page was written by Jeff Breidenbach , and updated by Roland Clobus . Pioneers was written by Dave Cole , Andy Heroff , and Roman Hodek , with contributions from many other developers on the Internet; see the AUTHORS file in the pioneers distribution for a complete list of contributing authors. .SH SEE ALSO .BR pioneers(6) ", " pioneers-server-gtk(6) ", " pioneers-server-console(6) pioneers-15.5/docs/pioneers-server-gtk.60000644000175000017500000000375612112512661015153 00000000000000.TH pioneers-server-gtk 6 "January 8, 2012" "pioneers" .SH NAME pioneers-server-gtk \- graphical game server for Pioneers .SH SYNOPSIS .B pioneers-server-gtk .RI [ options ] .SH DESCRIPTION This manual page documents briefly the .B pioneers-server-gtk command. .PP .B Pioneers is an implementation of the popular, award-winning "Settlers of Catan" board game for the GNOME desktop environment. It uses a client/server model for networked play of between two and eight players. This program provides a GUI-configurable stand-alone server which you connect to from .B pioneers itself. .SH OPTIONS Pioneers accepts the standard GTK+ commandline options. .SH ENVIRONMENT The default settings of the server can be influenced with the following three environment variables: .TP .B PIONEERS_METASERVER The hostname of the metaserver when no metaserver is specified in the user interface. (The settings file takes precedence) .TP .B PIONEERS_SERVER_NAME The hostname of the server. If it is not set, the hostname is determined by .BR hostname(1) . (The settings file takes precedence) .TP .B PIONEERS_DIR The path to the game definition files. If it is not set, the default installation path will be used. .SH FILES .B /usr/share/games/pioneers/*.game and .B $XDG_DATA_HOME/pioneers/*.game .RS Game definitions .RE .B /usr/share/pixmaps/pioneers-server.png .RS Game icon .RE .B $XDG_CONFIG_HOME/pioneers-server .RS Saved settings .RE .B /usr/share/games/pioneers/computer_names .RS A list of names the computer player can use .RE .SH AUTHOR This manual page was written by Steve Langasek , and updated by Roland Clobus . Pioneers was written by Dave Cole , Andy Heroff , and Roman Hodek , with contributions from many other developers on the Internet; see the AUTHORS file in the pioneers distribution for a complete list of contributing authors. .SH SEE ALSO .BR pioneers(6) ", " pioneers-server-console(6) ", " pioneersai(6) pioneers-15.5/docs/Makefile.am0000644000175000017500000000175312112512661013200 00000000000000# Pioneers - Implementation of the excellent Settlers of Catan board game. # Go buy a copy. # # Copyright (C) 2006 Bas Wijnen # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA man_MANS += docs/pioneers.6 docs/pioneers-server-gtk.6 docs/pioneers-server-console.6 docs/pioneersai.6 docs/pioneers-metaserver.6 docs/pioneers-editor.6 pioneers-15.5/docs/pioneers-server-console.60000644000175000017500000000764112112512661016025 00000000000000.TH pioneers-server-console 6 "February 24, 2013" "pioneers" .SH NAME pioneers-server-console \- command-line game server for Pioneers .SH SYNOPSIS .B pioneers-server-console [ OPTIONS ] .SH DESCRIPTION This manual page documents briefly the .B pioneers-server-console command. .PP .B Pioneers is an implementation of the popular, award-winning "Settlers of Catan" board game for the GNOME desktop environment. It uses a client/server model for networked play of between two and eight players. This program provides a console-only server that \fBpioneers\fP clients can connect to. .SH OPTIONS .SS Application options .BI "\-g,\-\-game\-title" " game title" Load the ruleset specified by \fIgame title\fP. The title can be found in the *.game files. You need quotes for titles with spaces. .TP .BI "\-\-file" "filename" Load the ruleset in the file \fIfilename\fP. .TP .BI "\-p,\-\-port" " port" Use port \fIport\fP for player connections. .TP .BI "\-P,\-\-players" " num" Start a game for \fInum\fP total players (including computer players). .TP .BI "\-v,\-\-points" " points" Specify the number of "victory points" required to win the game. .TP .BI "\-R,\-\-seven\-rule" [0|1|2] "Sevens rule": Specify gameplay behavior when a player rolls a seven. A value of \fI0\fP (the default) means that rolling a seven always moves the robber. A value of \fI1\fP requires the player to re-roll if a seven is rolled on the first two turns. A value of \fI2\fP means the player always re-rolls. .TP .BI "\-T,\-\-terrain" [0|1] Choose a terrain type: \fI0\fP for the default, or \fI1\fP for random terrain. .TP .BI "\-c,\-\-computer\-players" " num" Start up \fInum\fP computer players. .TP .BI "\-\-version" Show version information. .SS Metaserver options .TP .BI "\-r,\-\-register" Register with a metaserver. The metaserver to use can be overridden with the .B \-m option. Default metaserver: pioneers.debian.net .TP .BI "\-m,\-\-metaserver" " metaserver" Register this server with the metaserver at the specified address. .TP .BI "\-n, \-\-hostname" " hostname" Use this hostname instead of the hostname reported by .BR hostname(1) . .SS Miscellaneous options .BI "\-x,\-\-auto\-quit" Automatically exit after a player has won. .TP .BI "\-k,\-\-empty\-timeout" " secs" Automatically stop the server if no one has connected after \fIsecs\fP seconds. .TP .BI "\-t,\-\-tournament" " mins" Tournament mode: add AI players after \fImins\fP minutes. .TP .BI "\-a,\-\-admin\-port" " port" Listen for administrative commands on port \fIport\fP. .TP .BI "\-s,\-\-admin\-wait" Don't start the game immediately; wait for a command on the admin port .RB ( \-a ) instead. .TP .BI "\-\-fixed\-seating\-order" Give players numbers according to the order they enter the game. .TP .BI "\-\-debug" Enable debug messages. .SH ENVIRONMENT The default settings of the server can be influenced with the following three environment variables: .TP .B PIONEERS_METASERVER The hostname of the metaserver when no metaserver is specified on the command-line. .TP .B PIONEERS_SERVER_NAME The hostname of the server. If it is not set, the hostname is determined by .BR hostname(1) . .TP .B PIONEERS_DIR The path to the game definition files. If it is not set, the default installation path will be used. .SH FILES .B /usr/share/games/pioneers/*.game and .B $XDG_DATA_HOME/pioneers/*.game .RS Game definitions .RE .B /usr/share/games/pioneers/computer_names .RS A list of names the computer player can use .RE .SH AUTHOR This manual page was written by Steve Langasek , and updated by Roland Clobus . Pioneers was written by Dave Cole , Andy Heroff , and Roman Hodek , with contributions from many other developers on the Internet; see the AUTHORS file in the pioneers distribution for a complete list of contributing authors. .SH SEE ALSO .BR pioneers(6) ", " pioneers-server-gtk(6) ", " pioneersai(6) ", " hostname(1) pioneers-15.5/docs/pioneers-editor.60000644000175000017500000000416611702641030014341 00000000000000.TH pioneers-editor 6 "January 8, 2012" "pioneers" .SH NAME pioneers-editor \- Editor for the Pioneers boardgame .SH SYNOPSIS .B pioneers-editor .BI [ filename ] .SH DESCRIPTION This manual page documents briefly the .B pioneers-editor command. .PP Pioneers is an implementation of the popular, award-winning "Settlers of Catan" board game for the GNOME desktop environment. It uses a client/server model for networked play of between two and eight players. You will need to connect to a machine running either \fBpioneers-server-gtk\fP or \fBpioneers-server-console\fP to play. An AI client, \fBpioneersai\fP, is also available. .PP .B Pioneers-editor can be used to create new board layouts. Clicking on the plus and minus signs on the side of the board will increase and decrease the board size respectively. Left clicking on a tile allows one to select the terrain type; Middle or right clicking allows one to set the chit number or port type and orientation. The chit number can also be set by pressing the number key(s) while the pointer is hovering over the tile. .PP In the settings tab, several game settings can be adjusted. .SH PLAYING Games created with pioneers-editor can be played with pioneers-server-gtk and pioneers-server-console, if they are installed in the global game directory. Alternatively, they can be played with pioneers-server-console, by using the .I \-\-file option. .SH OPTIONS Pioneers-editor accepts the standard GTK+/GNOME commandline options. See .I pioneers-editor --help for details. .SH FILES .B /usr/share/games/pioneers/*.game .RS Global game files. Games which are installed here can be selected by title, and played from pioneers-server-gtk. .SH AUTHOR This manual page was written by Bas Wijnen . Pioneers was written by Dave Cole , Andy Heroff , and Roman Hodek , with contributions from many other developers on the Internet; see the AUTHORS file in the pioneers distribution for a complete list of contributing authors. .SH SEE ALSO .BR pioneers(6) ", " pioneers-server-gtk(6) ", " pioneers-server-console(6) ", " .B pioneersai(6) pioneers-15.5/docs/pioneers-metaserver.60000644000175000017500000000523212211300777015231 00000000000000.TH pioneers-metaserver 6 "February 24, 2013" "pioneers" .SH NAME pioneers-metaserver \- metaserver for Pioneers .SH SYNOPSIS .B pioneers-metaserver .RI [ options ] .SH DESCRIPTION .B Pioneers is an implementation of the popular, award-winning "Settlers of Catan" board game. It uses a client/server model for networked play. This program provides a piece of network infrastructure that helps match pioneers clients to pioneers servers. Casual players of pioneers probably do not need to run this program. .SH OPTIONS .TP .B \-?, \-\-help Print a short help text and exit. .TP .B \-d, \-\-daemon Run in daemon mode. .TP .BI "\-P, \-\-pidfile" " pidfile" .RI "Write the pid to " pidfile " (implies -d)" .TP .BI "\-r, \-\-redirect" " location" .RI "Redirect to another metaserver running at " location "." .TP .BI "\-s, \-\-servername" " hostname" .RI "Use " hostname " as hostname when creating servers." .TP .BI "\-p, \-\-port\-range" " from" \- "to" .RI "Use ports in the range " from "-" to " (inclusive) to start servers." When this range is not specified, the metaserver will not be able to create new games. .TP .B \-\-debug Enable debug messages. .TP .B \-\-syslog-debug Duplicate the messages of the syslog to the console. .TP .B \-\-version Show version information. .SH ENVIRONMENT The default settings of the metaserver can be influenced with the following three environment variables: .TP .B PIONEERS_METASERVER The hostname the metaserver will use when creating new games. This should be a hostname that can be resolved by all clients that will connect. .TP .B PIONEERS_SERVER_CONSOLE .RB "The path (including the filename) to " pioneers-server-console "." If it contains only a filename and no path or if it is not set, the PATH variable in the environment is used to locate the program. .TP .B PIONEERS_DIR The path to the game definition files. If it is not set, the default installation path will be used. .SH FILES .B /usr/share/games/pioneers/*.game .RS Game definitions .RE .SH SIGNALS .B SIGINT .RS Shutdown the metaserver gracefully (can also be used to check for memory leaks) .RE .SH AUTHOR This manual page was written by Jeff Breidenbach , and updated by Roland Clobus and Bas Wijnen . Pioneers was written by Dave Cole , Andy Heroff , and Roman Hodek , with contributions from many other developers on the Internet; see the AUTHORS file in the pioneers distribution or the help->about dialog in one of the graphical programs for a complete list of contributing authors. .SH SEE ALSO .BR pioneers(6) ", " pioneers-server-gtk(6) ", " pioneers-server-console(6) pioneers-15.5/docs/pioneers.60000644000175000017500000000474212112512661013060 00000000000000.TH pioneers 6 "Februari 24, 2013" "pioneers" .SH NAME pioneers \- network implementation of Settlers of Catan .SH SYNOPSIS .B pioneers [ .BI \-\-server " server" ] [ .BI \-\-port " port" ] [ .BI \-\-name " name" ] .SH DESCRIPTION This manual page documents briefly the .B pioneers command. .PP .B Pioneers is an implementation of the popular, award-winning "Settlers of Catan" board game for the GNOME desktop environment. It uses a client/server model for networked play of between two and eight players. You will need to connect to a machine running either \fBpioneers-server-gtk\fP or \fBpioneers-server-console\fP to play. An AI client, \fBpioneersai\fP, is also available. .SH OPTIONS Pioneers accepts the standard GTK+/GNOME commandline options, and the following options: .TP .BI "\-s, \-\-server" " server" Hostname of the server .TP .BI "\-p, \-\-port" " port" Portname of the server .TP .BI "\-n, \-\-name" " name" Use this name for the player instead of the name in the settings file .TP .BI "\-v, \-\-spectator" Connect as spectator instead of as a player .TP .BI "\-m, \-\-metaserver" " metaserver" Connect to this metaserver instead of the metaserver in the settings file .TP .BI "\-\-debug" Turn on debugging mode .TP .BI "\-\-version" Show the version and quit .PP When the server and port are both provided, the client automatically quits when the connection is broken. .SH ENVIRONMENT The default settings can be influenced with the following environment variable: .TP .B PIONEERS_METASERVER The hostname of the metaserver. If it is not set, the default metaserver will be used. .SH FILES .B /usr/share/games/pioneers/themes/* .RS Themes for display of the map. Each theme goes in a separate subdirectory. .RE .B /usr/share/pixmaps/pioneers/* .RS Icons .RE .B /usr/share/pixmaps/pioneers.png .RS Main icon .RE .B $XDG_CONFIG_HOME/pioneers .RS Saved settings .RE .B $XDG_DATA_HOME/pioneers/themes .RS Personal themes .RE .SH AUTHOR This manual page was written by Steve Langasek , and updated by Roland Clobus . Pioneers was written by Dave Cole , Andy Heroff , and Roman Hodek , with contributions from many other developers on the Internet; see the AUTHORS file in the pioneers distribution for a complete list of contributing authors. .SH SEE ALSO More detailed user documentation is available in the online help. .PP .BR pioneers-server-gtk(6) ", " pioneers-server-console(6) ", " .B pioneersai(6) pioneers-15.5/po/0000755000175000017500000000000013252243610010705 500000000000000pioneers-15.5/po/nl.po0000644000175000017500000031346213252242740011612 00000000000000# Translation to dutch # Copyright (C) 2003 Bas Wijnen # This file is distributed under the same license as the pioneers package. # Bas Wijnen , 2003-2004 # Roland Clobus , 2005-2016 # msgid "" msgstr "" "Project-Id-Version: Pioneers 15.4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-03-14 16:51+0100\n" "PO-Revision-Date: 2016-06-10 18:27+0200\n" "Last-Translator: Roland Clobus \n" "Language-Team: Bas Wijnen Roland Clobus \n" "Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n!=1);\n" "X-Generator: Poedit 1.8.8\n" #. Commandline pioneersai: chromosome-file #: ../client/ai/ai.c:90 msgid "Chromosome File" msgstr "Chromosoombestand" #. Commandline pioneersai: server #: ../client/ai/ai.c:93 msgid "Server Host" msgstr "Server Host" #. Commandline pioneersai: port #: ../client/ai/ai.c:96 msgid "Server Port" msgstr "Server Poort" #. Commandline pioneersai: name #: ../client/ai/ai.c:99 msgid "Computer name (mandatory)" msgstr "Computerspelernaam (verplicht)" #. Commandline pioneersai: time #: ../client/ai/ai.c:102 msgid "Time to wait between turns (in milliseconds)" msgstr "Tijd tussen twee beurten (in milliseconde)" #. Commandline pioneersai: chat-free #: ../client/ai/ai.c:105 msgid "Stop computer player from talking" msgstr "Laat computerspeler zwijgen" #. Commandline pioneersai: algorithm #: ../client/ai/ai.c:108 msgid "Type of computer player" msgstr "Soort computerspeler" #. Commandline option of ai: enable debug logging #. Commandline option of client: enable debug logging #. Commandline option of metaserver: enable debug logging #. Commandline option of server-gtk: enable debug logging #. Commandline option of server: enable debug logging #: ../client/ai/ai.c:111 ../client/gtk/offline.c:67 ../metaserver/main.c:631 #: ../server/gtk/main.c:1170 ../server/main.c:159 msgid "Enable debug messages" msgstr "Toon debug boodschappen" #. Commandline option of ai: version #. Commandline option of client: version #. Commandline option of editor: version #. Commandline option of metaserver: version #. Commandline option of server-gtk: version #. Commandline option of server-console: version #: ../client/ai/ai.c:114 ../client/gtk/offline.c:70 ../editor/gtk/editor.c:1843 #: ../metaserver/main.c:637 ../server/gtk/main.c:1173 ../server/main.c:114 msgid "Show version information" msgstr "Versie-informatie weergeven" #. Long description in the commandline for pioneersai: help #: ../client/ai/ai.c:125 msgid "- Computer player for Pioneers" msgstr "- Computerspeler voor Pioniers" #: ../client/ai/ai.c:137 ../client/gtk/offline.c:196 #: ../editor/gtk/editor.c:1888 ../metaserver/main.c:687 #: ../server/gtk/main.c:1223 ../server/main.c:226 #, c-format msgid "Pioneers version:" msgstr "Pioniers versie:" #. ai commandline error #: ../client/ai/ai.c:160 #, c-format msgid "A name must be provided.\n" msgstr "Een naam moet gegeven worden.\n" #: ../client/ai/ai.c:171 #, c-format msgid "Type of computer player: %s\n" msgstr "Soort computerspeler: %s\n" #: ../client/ai/ai.c:202 msgid "The game is already full. I'm leaving." msgstr "Het spel is al vol. Ik blijf niet kijken." #. AI chat at the start of the turn #: ../client/ai/ai.c:230 msgid "Ok, let's go!" msgstr "We gaan ervoor!" #. AI chat at the start of the turn #: ../client/ai/ai.c:232 msgid "I'll beat you all now! ;)" msgstr "Deze keer gaat het me lukken! ;-)" #. AI chat at the start of the turn #: ../client/ai/ai.c:234 msgid "Now for another try..." msgstr "Nog een keer proberen..." #. AI chat when one resource is received #: ../client/ai/ai.c:239 msgid "At least I get something..." msgstr "Ik krijg ten minste iets..." #. AI chat when one resource is received #: ../client/ai/ai.c:241 msgid "One is better than none..." msgstr "Iets is beter dan niets..." #. AI chat when more than one resource is received #: ../client/ai/ai.c:246 msgid "Wow!" msgstr "Wauw!" #. AI chat when more than one resource is received #: ../client/ai/ai.c:248 msgid "Ey, I'm becoming rich ;)" msgstr "Ha, ik word rijk ;-)" #. AI chat when more than one resource is received #: ../client/ai/ai.c:250 msgid "This is really a good year!" msgstr "Dit is echt een goed jaar!" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:255 msgid "You really don't deserve that much!" msgstr "Jij zou minder moeten krijgen!" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:257 msgid "You don't know what to do with that many resources ;)" msgstr "Je weet niet wat je aan moet met al die grondstoffen ;-)" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:259 msgid "Ey, wait for my robber and lose all this again!" msgstr "Wacht maar op mijn struikrover, dan raak je het wel weer kwijt!" #. AI chat when it moves the robber #: ../client/ai/ai.c:264 msgid "Hehe!" msgstr "Hehe!" #. AI chat when it moves the robber #: ../client/ai/ai.c:266 msgid "Go, robber, go!" msgstr "Toe maar, struikrover!" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:271 msgid "You bastard!" msgstr "Schurk!" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:273 msgid "Can't you move that robber somewhere else?!" msgstr "Kan je die struikrover niet ergens anders neerzetten?" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:275 msgid "Why always me??" msgstr "Waarom moet je mij altijd hebben?" #. AI chat when it must discard resources #: ../client/ai/ai.c:280 msgid "Oh no!" msgstr "Oh nee!" #. AI chat when it must discard resources #: ../client/ai/ai.c:282 msgid "Grrr!" msgstr "Grrr!" #. AI chat when it must discard resources #: ../client/ai/ai.c:284 msgid "Who the hell rolled that 7??" msgstr "Welke idioot rolt er nou weer een 7?" #. AI chat when it must discard resources #: ../client/ai/ai.c:286 msgid "Why always me?!?" msgstr "Waarom gebeurt mij dat altijd?" #. AI chat when other players must discard #: ../client/ai/ai.c:291 msgid "Say good bye to your cards... :)" msgstr "Zeg maar dag tegen je kaarten... :-)" #. AI chat when other players must discard #: ../client/ai/ai.c:293 msgid "*evilgrin*" msgstr "Haha!" #. AI chat when other players must discard #: ../client/ai/ai.c:295 msgid "/me says farewell to your cards ;)" msgstr "/me zegt je kaarten vaarwel ;-)" #. AI chat when other players must discard #: ../client/ai/ai.c:297 msgid "That's the price for being rich... :)" msgstr "Dat is de prijs van het rijk zijn... :-)" #. AI chat when someone steals from it #: ../client/ai/ai.c:302 msgid "Ey! Where's that card gone?" msgstr "Hé! Waar is die kaart heen?" #. AI chat when someone steals from it #: ../client/ai/ai.c:304 msgid "Thieves! Thieves!!" msgstr "Houd de dief!" #. AI chat when someone steals from it #: ../client/ai/ai.c:306 msgid "Wait for my revenge..." msgstr "Wacht maar, ik krijg je nog wel..." #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:311 msgid "Oh no :(" msgstr "Oh nee!" #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:313 msgid "Must this happen NOW??" msgstr "Moet dat _nu_?" #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:315 msgid "Args" msgstr "Arg" #. AI chat when it has the largest army #: ../client/ai/ai.c:320 msgid "Hehe, my soldiers rule!" msgstr "Haha, mijn ridders zijn stoer!" #. AI chat when another player that the largest army #: ../client/ai/ai.c:325 msgid "First robbing us, then grabbing the points..." msgstr "Eerst worden we beroofd, en dan wil je er nog punten voor ook..." #. AI chat when it has the longest road #: ../client/ai/ai.c:330 msgid "See that road!" msgstr "Moet je die straat zien!" #. AI chat when another player has the longest road #: ../client/ai/ai.c:335 msgid "Pf, you won't win with roads alone..." msgstr "Pff, met alleen straten win je het spel niet..." #: ../client/ai/ai.c:434 #, c-format msgid "Received error from server: %s. Quitting\n" msgstr "" "Foutmelding van de server ontvangen: %s. Het programma wordt afgesloten\n" #. AI chat when it wins #: ../client/ai/ai.c:446 ../client/ai/genetic.c:2766 msgid "Yippie!" msgstr "Hoera!" #. AI chat when another player wins #: ../client/ai/ai.c:449 ../client/ai/genetic.c:2777 msgid "My congratulations" msgstr "Gefeliciteerd" #: ../client/ai/genetic.c:1277 ../client/ai/greedy.c:961 msgid "No settlements in stock to use for setup" msgstr "Er zijn geen dorpen beschikbaar om te bouwen" #: ../client/ai/genetic.c:1284 ../client/ai/greedy.c:968 msgid "There is no place to setup a settlement" msgstr "Er is geen plek om een dorp te bouwen" #: ../client/ai/genetic.c:1311 ../client/ai/greedy.c:992 msgid "No roads in stock to use for setup" msgstr "Er zijn geen straten beschikbaar om te bouwen" #: ../client/ai/genetic.c:1329 ../client/ai/greedy.c:1009 msgid "There is no place to setup a road" msgstr "Er is geen plek om een straat te bouwen" #: ../client/ai/genetic.c:2651 ../client/ai/greedy.c:1784 msgid "Rejecting trade.\n" msgstr "Handelsvoorstel wordt afgewezen.\n" #. Translators: don't translate '/help' #: ../client/ai/lobbybot.c:80 msgid "" "Hello, welcome to the lobby. I am a simple robot. Type '/help' in the chat " "to see the list of commands I know." msgstr "" "Hallo, welkom in de ontvangstruimte. Ik ben een eenvoudige robot. Typ '/" "help' in de chat om de lijst van commando's te zien." #. Translators: don't translate '/help' #: ../client/ai/lobbybot.c:107 msgid "'/help' shows this message again" msgstr "'/help' toont deze boodschap opnieuw" #. Translators: don't translate '/why' #: ../client/ai/lobbybot.c:110 msgid "'/why' explains the purpose of this strange board layout" msgstr "'/why' verklaart het doel van dit bord" #. Translators: don't translate '/news' #: ../client/ai/lobbybot.c:113 msgid "'/news' tells the last released version" msgstr "'/news' geeft de laatst vrijgegeven versie" #. AI chat that explains '/why' #: ../client/ai/lobbybot.c:119 msgid "" "This board is not intended to be a game that can be played. Instead, players " "can find eachother here, and decide which board they want to play. Then, one " "of the players will host the proposed game by starting a server, and " "registers it at the metaserver. The other players can subsequently " "disconnect from the lobby, and enter that game." msgstr "" "Dit bord is niet bedoeld om op te spelen. In plaats daarvan is het een " "ontmoetingspunt voor spelers die kunnen afspreken welk spel ze willen " "spelen. Vervolgens kan een van de spelers het afgesproken spel hosten door " "een server te starten en die te registreren op de metaserver. Vervolgens " "kunnen de andere spelers de ontvangstruimte verlaten en het spel binnengaan." #: ../client/ai/lobbybot.c:130 msgid "The last released version of Pioneers is" msgstr "De laatst vrijgegeven versie van Pioniers is" #. The lobbybot leaves when a game is starting #: ../client/ai/lobbybot.c:146 msgid "The game is starting. I'm not needed anymore. Goodbye." msgstr "Het spel begint. Ik ben niet meer nodig. Tot ziens." #: ../client/common/client.c:105 msgid "Waiting" msgstr "Wachten op reactie van de server." #: ../client/common/client.c:107 msgid "Idle" msgstr "Klaar" #: ../client/common/client.c:532 msgid "We have been kicked out of the game.\n" msgstr "De verbinding met de server is verbroken.\n" #. Network status: offline #: ../client/common/client.c:535 ../client/common/client.c:990 #: ../client/gtk/gui.c:1532 msgid "Offline" msgstr "Er is geen verbinding met een server." #: ../client/common/client.c:556 #, c-format msgid "Error (%s): %s\n" msgstr "Fout (%s): %s\n" #: ../client/common/client.c:565 ../client/common/client.c:576 #, c-format msgid "Notice: %s\n" msgstr "Bericht: %s\n" #: ../client/common/client.c:693 #, c-format msgid "%s does not receive any %s, because the bank is empty.\n" msgstr "%s heeft geen %s ontvangen, omdat de bank leeg is.\n" #: ../client/common/client.c:706 #, c-format msgid "%s only receives %s, because the bank didn't have any more.\n" msgstr "%s ontvangt slechts %s, omdat de bank niet meer bevat.\n" #: ../client/common/client.c:716 #, c-format msgid "%s receives %s.\n" msgstr "%s krijgt %s.\n" #. Year of Plenty #: ../client/common/client.c:724 ../client/common/client.c:2663 #, c-format msgid "%s takes %s.\n" msgstr "%s neemt %s.\n" #: ../client/common/client.c:729 #, c-format msgid "%s spent %s.\n" msgstr "%s betaalt %s.\n" #: ../client/common/client.c:735 #, c-format msgid "%s is refunded %s.\n" msgstr "%s krijgt %s terug.\n" #. %s = Player name #: ../client/common/client.c:753 #, c-format msgid "%s shuffled the dice deck.\n" msgstr "%s heeft de dobbelsteenstapel geschud.\n" #: ../client/common/client.c:772 #, c-format msgid "%s discarded %s.\n" msgstr "%s gooit %s weg.\n" #: ../client/common/client.c:846 #, c-format msgid "%s has won the game with %d victory points!\n" msgstr "%s heeft gewonnen met %d punten!\n" #: ../client/common/client.c:945 msgid "Loading" msgstr "Het spel wordt gestart" #: ../client/common/client.c:991 msgid "Version mismatch." msgstr "Versie verschillend." #: ../client/common/client.c:993 msgid "Version mismatch. Please make sure client and server are up to date.\n" msgstr "De versies van de de server en de client komen niet overeen.\n" #: ../client/common/client.c:1413 msgid "Build two settlements, each with a connecting" msgstr "Bouw twee dorpen, elk met een aangesloten" #: ../client/common/client.c:1416 msgid "Build a settlement with a connecting" msgstr "Bouw een dorp met een aangesloten" #: ../client/common/client.c:1419 msgid "road" msgstr "straat" #: ../client/common/client.c:1421 msgid "bridge" msgstr "brug" #: ../client/common/client.c:1423 msgid "ship" msgstr "schip" #: ../client/common/client.c:1430 msgid " or" msgstr " of" #: ../client/common/client.c:1494 msgid "Waiting for your turn." msgstr "Wacht op je beurt." #: ../client/common/client.c:1546 ../client/gtk/interface.c:784 msgid "Select the building to steal from." msgstr "Kies een gebouw om te bestelen." #: ../client/common/client.c:1568 ../client/gtk/interface.c:774 msgid "Select the ship to steal from." msgstr "Kies een schip om te bestelen." #: ../client/common/client.c:1652 ../client/gtk/interface.c:816 msgid "Place the robber." msgstr "Plaats de struikrover." #: ../client/common/client.c:1702 msgid "Finish the road building action." msgstr "Beëindig het bouwen van straten." #: ../client/common/client.c:1704 msgid "Build one road segment." msgstr "Bouw één straat." #: ../client/common/client.c:1706 msgid "Build two road segments." msgstr "Bouw twee straten." #. Notification #: ../client/common/client.c:1979 ../client/common/client.c:2073 #: ../client/gtk/interface.c:432 msgid "It is your turn." msgstr "Je bent aan de beurt." #: ../client/common/client.c:2167 #, c-format msgid "Sorry, %s available.\n" msgstr "Sorry, %s beschikbaar.\n" #: ../client/common/client.c:2481 msgid "The game is over." msgstr "Het spel is afgelopen." #. This development card is unique #: ../client/common/develop.c:67 #, c-format msgid "You bought the %s development card.\n" msgstr "Je hebt de %s ontwikkelingskaart gekocht.\n" #. This development card is not unique #: ../client/common/develop.c:73 #, c-format msgid "You bought a %s development card.\n" msgstr "Je hebt een %s ontwikkelingskaart gekocht.\n" #: ../client/common/develop.c:103 #, c-format msgid "%s bought a development card.\n" msgstr "%s koopt een ontwikkelingskaart.\n" #: ../client/common/develop.c:121 #, c-format msgid "%s played the %s development card.\n" msgstr "%s speelt de %s ontwikkelingskaart.\n" #: ../client/common/develop.c:126 #, c-format msgid "%s played a %s development card.\n" msgstr "%s speelt een %s ontwikkelingskaart.\n" #: ../client/common/develop.c:138 msgid "You have run out of road segments.\n" msgstr "Je hebt geen straten meer.\n" #. I get the cards #. $1=resources, $2=player that loses resources #: ../client/common/develop.c:179 #, c-format msgid "You get %s from %s.\n" msgstr "Je krijgt %s van %s.\n" #. I lose the cards #. $1=player that steals, $2=resources #: ../client/common/develop.c:185 #, c-format msgid "%s took %s from you.\n" msgstr "Je geeft %s %s.\n" #: ../client/common/develop.c:192 #, c-format msgid "%s took %s from %s.\n" msgstr "%3$s geeft %2$s aan %1$s.\n" #: ../client/common/player.c:125 ../server/player.c:567 #, c-format msgid "Spectator %d" msgstr "Toeschouwer %d" #: ../client/common/player.c:128 #, c-format msgid "spectator %d" msgstr "toeschouwer %d" #: ../client/common/player.c:137 ../server/player.c:570 #, c-format msgid "Player %d" msgstr "Speler %d" #: ../client/common/player.c:139 #, c-format msgid "player %d" msgstr "speler %d" #: ../client/common/player.c:216 #, c-format msgid "New spectator: %s.\n" msgstr "Er is een nieuwe toeschouwer: %s.\n" #: ../client/common/player.c:219 ../client/common/player.c:235 #, c-format msgid "%s is now %s.\n" msgstr "%s is nu %s.\n" #: ../client/common/player.c:232 #, c-format msgid "Player %d is now %s.\n" msgstr "Speler %d is nu %s.\n" #: ../client/common/player.c:269 #, c-format msgid "%s has quit.\n" msgstr "%s heeft de verbinding verbroken.\n" #: ../client/common/player.c:278 msgid "There is no largest army.\n" msgstr "Er is geen grootste riddermacht.\n" #: ../client/common/player.c:281 #, c-format msgid "%s has the largest army.\n" msgstr "%s heeft de grootste riddermacht.\n" #: ../client/common/player.c:302 msgid "There is no longest road.\n" msgstr "Er is geen langste handelsroute.\n" #: ../client/common/player.c:305 #, c-format msgid "%s has the longest road.\n" msgstr "%s heeft de langste handelsroute.\n" #: ../client/common/player.c:326 #, c-format msgid "Waiting for %s." msgstr "Wacht op %s." #. We are not in on the action #. someone stole a resource from someone else #: ../client/common/player.c:354 #, c-format msgid "%s stole a resource from %s.\n" msgstr "%s steelt een kaart van %s.\n" #. $1=resource, $2=player name #: ../client/common/player.c:365 #, c-format msgid "You stole %s from %s.\n" msgstr "Je hebt %s van %s gestolen.\n" #. $1=player name, $2=resource #: ../client/common/player.c:372 #, c-format msgid "%s stole %s from you.\n" msgstr "%s heeft %s van jou gestolen.\n" #: ../client/common/player.c:406 #, c-format msgid "%s gave %s nothing!?\n" msgstr "%s gaf %s niks!?\n" #. $1=giving player, $2=receiving player, $3=resources #: ../client/common/player.c:413 ../client/common/player.c:423 #, c-format msgid "%s gave %s %s for free.\n" msgstr "%s gaf %s gratis %s.\n" #: ../client/common/player.c:431 #, c-format msgid "%s gave %s %s in exchange for %s.\n" msgstr "%s gaf %s %s in ruil voor %s.\n" #: ../client/common/player.c:462 #, c-format msgid "%s exchanged %s for %s.\n" msgstr "%s ruilt %s tegen %s met de bank.\n" #: ../client/common/player.c:482 #, c-format msgid "%s built a road.\n" msgstr "%s bouwt een straat.\n" #: ../client/common/player.c:494 #, c-format msgid "%s built a ship.\n" msgstr "%s bouwt een schip.\n" #: ../client/common/player.c:507 #, c-format msgid "%s built a settlement.\n" msgstr "%s bouwt een dorp.\n" #: ../client/common/player.c:526 #, c-format msgid "%s built a city.\n" msgstr "%s bouwt een stad.\n" #: ../client/common/player.c:540 #, c-format msgid "%s built a city wall.\n" msgstr "%s bouwt een stadsmuur.\n" #. Error message #: ../client/common/player.c:551 #, c-format msgid "player_build_add called with BUILD_NONE for user %s\n" msgstr "player_build_add aangeroepen met BUILD_NONE voor %s\n" #: ../client/common/player.c:561 #, c-format msgid "%s built a bridge.\n" msgstr "%s heeft een brug gebouwd.\n" #: ../client/common/player.c:587 #, c-format msgid "%s removed a road.\n" msgstr "%s haalt een straat weg.\n" #: ../client/common/player.c:597 #, c-format msgid "%s removed a ship.\n" msgstr "%s haalt een schip weg.\n" #: ../client/common/player.c:607 #, c-format msgid "%s removed a settlement.\n" msgstr "%s haalt een dorp weg.\n" #: ../client/common/player.c:618 #, c-format msgid "%s removed a city.\n" msgstr "%s haalt een stad weg.\n" #: ../client/common/player.c:632 #, c-format msgid "%s removed a city wall.\n" msgstr "%s haalt een stadsmuur weg.\n" #. Error message #: ../client/common/player.c:642 #, c-format msgid "player_build_remove called with BUILD_NONE for user %s\n" msgstr "player_build_remove aangeroepen met BUILD_NONE voor %s\n" #: ../client/common/player.c:651 #, c-format msgid "%s removed a bridge.\n" msgstr "%s heeft een brug weggehaald.\n" #: ../client/common/player.c:682 #, c-format msgid "%s has canceled a ship's movement.\n" msgstr "%s laat het schip toch maar niet varen.\n" #: ../client/common/player.c:685 #, c-format msgid "%s moved a ship.\n" msgstr "%s vaart met een schip.\n" #. tell the user that someone got something #: ../client/common/player.c:705 #, c-format msgid "%s received %s.\n" msgstr "%s krijgt %s.\n" #: ../client/common/player.c:724 msgid "server asks to lose invalid point.\n" msgstr "De server probeert een ongeldig punt te verwijderen.\n" #. tell the user the point is lost #: ../client/common/player.c:730 #, c-format msgid "%s lost %s.\n" msgstr "%s heeft %s verloren.\n" #: ../client/common/player.c:753 msgid "server asks to move invalid point.\n" msgstr "" "De server probeert een ongeldig punt van eigenaar te laten veranderen.\n" #. tell the user someone (1) lost something (2) to someone else (3) #: ../client/common/player.c:760 #, c-format msgid "%s lost %s to %s.\n" msgstr "%s verliest %s aan %s.\n" #: ../client/common/resource.c:35 msgid "brick" msgstr "baksteen" #: ../client/common/resource.c:35 msgid "Brick" msgstr "Baksteen" #: ../client/common/resource.c:36 msgid "grain" msgstr "graan" #: ../client/common/resource.c:36 msgid "Grain" msgstr "Graan" #: ../client/common/resource.c:37 msgid "ore" msgstr "ijzererts" #: ../client/common/resource.c:37 msgid "Ore" msgstr "IJzererts" #: ../client/common/resource.c:38 msgid "wool" msgstr "wol" #: ../client/common/resource.c:38 msgid "Wool" msgstr "Wol" #: ../client/common/resource.c:39 msgid "lumber" msgstr "hout" #: ../client/common/resource.c:39 msgid "Lumber" msgstr "Hout" #: ../client/common/resource.c:40 msgid "no resource (bug)" msgstr "geen grondstof (fout)" #: ../client/common/resource.c:40 msgid "No resource (bug)" msgstr "Geen grondstof (fout)" #: ../client/common/resource.c:41 msgid "any resource (bug)" msgstr "enige grondstof (fout)" #: ../client/common/resource.c:41 msgid "Any resource (bug)" msgstr "Enige grondstof (fout)" #: ../client/common/resource.c:42 msgid "gold" msgstr "goud" #: ../client/common/resource.c:42 ../client/gtk/legend.c:41 msgid "Gold" msgstr "Goud" #: ../client/common/resource.c:47 msgid "a brick card" msgstr "een baksteenkaart" #: ../client/common/resource.c:47 #, c-format msgid "%d brick cards" msgstr "%d baksteenkaarten" #: ../client/common/resource.c:48 msgid "a grain card" msgstr "een graankaart" #: ../client/common/resource.c:48 #, c-format msgid "%d grain cards" msgstr "%d graankaarten" #: ../client/common/resource.c:49 msgid "an ore card" msgstr "een ijzerertskaart" #: ../client/common/resource.c:49 #, c-format msgid "%d ore cards" msgstr "%d ijzerertskaarten" #: ../client/common/resource.c:50 msgid "a wool card" msgstr "een wolkaart" #: ../client/common/resource.c:50 #, c-format msgid "%d wool cards" msgstr "%d wolkaarten" #: ../client/common/resource.c:51 msgid "a lumber card" msgstr "een houtkaart" #: ../client/common/resource.c:51 #, c-format msgid "%d lumber cards" msgstr "%d houtkaarten" #: ../client/common/resource.c:139 ../client/common/resource.c:225 msgid "nothing" msgstr "niks" #. Construct "A, B and C" for resources #: ../client/common/resource.c:166 #, c-format msgid "%s and %s" msgstr "%s en %s" #. Construct "A, B and C" for resources #: ../client/common/resource.c:170 #, c-format msgid "%s, %s" msgstr "%s, %s" #: ../client/common/robber.c:62 #, c-format msgid "%s has undone the robber movement.\n" msgstr "%s heeft de struikrover teruggezet.\n" #: ../client/common/robber.c:65 #, c-format msgid "%s moved the robber.\n" msgstr "%s verplaatst de struikrover.\n" #: ../client/common/robber.c:75 #, c-format msgid "%s has undone the pirate movement.\n" msgstr "%s heeft de piraat teruggezet.\n" #: ../client/common/robber.c:78 #, c-format msgid "%s moved the pirate.\n" msgstr "%s heeft de piraat bewogen.\n" #: ../client/common/robber.c:85 #, c-format msgid "%s must move the robber." msgstr "%s moet de struikrover verplaatsen." #: ../client/common/setup.c:146 #, c-format msgid "Setup for %s.\n" msgstr "%s mag opzetten.\n" #: ../client/common/setup.c:158 #, c-format msgid "Double setup for %s.\n" msgstr "%s mag dubbel opzetten.\n" #: ../client/common/turn.c:37 #, c-format msgid "%s rolled %d.\n" msgstr "%s heeft %d gerold.\n" #: ../client/common/turn.c:50 #, c-format msgid "Begin turn %d for %s.\n" msgstr "%2$s is aan de beurt voor beurt %1$d.\n" #: ../client/gtk/avahi-browser.c:83 msgid "Select an automatically discovered game" msgstr "Kies een automatisch ontdekt spel" #. $1=Game title, $2=version, $3=host_name, $4=port #: ../client/gtk/avahi-browser.c:132 #, c-format msgid "%s (%s) on %s:%s" msgstr "%s (%s) op %s:%s" #. Label text #: ../client/gtk/chat.c:73 msgid "Chat" msgstr "Chat" #: ../client/gtk/chat.c:232 msgid "Beeper test.\n" msgstr "Pieper test.\n" #: ../client/gtk/chat.c:235 #, c-format msgid "%s beeped you.\n" msgstr "%s piept je.\n" #: ../client/gtk/chat.c:239 #, c-format msgid "You beeped %s.\n" msgstr "Je piept %s.\n" #: ../client/gtk/chat.c:245 #, c-format msgid "You could not beep %s.\n" msgstr "Je kon %s niet piepen.\n" #: ../client/gtk/chat.c:287 msgid " said: " msgstr " zegt: " #: ../client/gtk/connect.c:286 #, c-format msgid "Metaserver at %s, port %s" msgstr "Metaserver op %s, poort %s" #: ../client/gtk/connect.c:296 msgid "Finished.\n" msgstr "Klaar.\n" #: ../client/gtk/connect.c:311 ../client/gtk/connect.c:389 #: ../client/gtk/connect.c:408 ../client/gtk/connect.c:979 msgid "The metaserver is not available anymore.\n" msgstr "De metaserver is niet meer beschikbaar.\n" #: ../client/gtk/connect.c:322 ../client/gtk/connect.c:443 #: ../client/gtk/connect.c:770 msgid "The metaserver closed the connection unexpectedly.\n" msgstr "De metaserver heeft de verbinding onverwacht gesloten.\n" #: ../client/gtk/connect.c:380 msgid "Receiving game names from the metaserver.\n" msgstr "De metaserver stuurt de spelnamen door.\n" #: ../client/gtk/connect.c:422 #, c-format msgid "New game server requested on %s port %s.\n" msgstr "Er is een nieuwe server aangevraagd op %s poort %s.\n" #: ../client/gtk/connect.c:432 msgid "Incomplete information about the new game server received.\n" msgstr "Onvolledige informatie over de nieuwe spelserver ontvangen.\n" #: ../client/gtk/connect.c:486 ../client/gtk/connect.c:492 ../server/meta.c:239 #, c-format msgid "Unknown message from the metaserver: %s\n" msgstr "Onbekende gegevens ontvangen van de metaserver: %s\n" #: ../client/gtk/connect.c:565 ../server/meta.c:178 #, c-format msgid "Receiving data from inactive session: %s\n" msgstr "Ontvangen gegevens van een inactieve sessie: %s\n" #: ../client/gtk/connect.c:577 ../server/meta.c:192 msgid "Too many metaserver redirects.\n" msgstr "Teveel metaserver omleidingen.\n" #: ../client/gtk/connect.c:606 ../server/meta.c:208 #, c-format msgid "Bad redirect line: %s\n" msgstr "Foute omleiding: %s\n" #: ../client/gtk/connect.c:631 #, c-format msgid "The metaserver is too old to create servers (version %d.%d)\n" msgstr "De metaserver is te oud om servers te starten (versie %d.%d)\n" #: ../client/gtk/connect.c:670 ../client/gtk/connect.c:749 #: ../client/gtk/connect.c:755 #, c-format msgid "Unexpected data from the metaserver: %s\n" msgstr "Onverwachte gegevens van de metaserver: %s\n" #. Sevens rule: normal #: ../client/gtk/connect.c:701 ../client/gtk/settingscreen.c:181 #: ../common/gtk/game-rules.c:89 msgid "Normal" msgstr "Normaal" #. Sevens rule: reroll on 1st 2 turns #: ../client/gtk/connect.c:706 ../client/gtk/settingscreen.c:183 #: ../common/gtk/game-rules.c:95 msgid "Reroll on 1st 2 turns" msgstr "Rol de eerste 2 beurten opnieuw" #. Sevens rule: reroll all 7s #: ../client/gtk/connect.c:710 ../client/gtk/settingscreen.c:185 #: ../common/gtk/game-rules.c:102 msgid "Reroll all 7s" msgstr "Rol alle zevens opnieuw" #: ../client/gtk/connect.c:724 msgid "Default" msgstr "Standaard" #: ../client/gtk/connect.c:727 msgid "Random" msgstr "Willekeurig" #: ../client/gtk/connect.c:819 ../server/meta.c:299 #, c-format msgid "Redirected to the metaserver at %s.\n" msgstr "We worden doorgestuurd naar de metaserver op %s.\n" #: ../client/gtk/connect.c:824 ../server/meta.c:302 #, c-format msgid "Redirected to the metaserver at %s, port %s.\n" msgstr "We worden doorgestuurd naar de metaserver op %s, poort %s.\n" #: ../client/gtk/connect.c:831 msgid "Receiving a list of Pioneers servers from the metaserver.\n" msgstr "De metaserver stuurt een lijst Pioniers servers.\n" #. Label #: ../client/gtk/connect.c:914 msgid "Number of computer players" msgstr "Aantal computerspelers" #. Tooltip #: ../client/gtk/connect.c:935 msgid "The number of computer players" msgstr "Het aantal computerspelers" #. Canceled retrieving information #. * from the metaserver #: ../client/gtk/connect.c:957 ../client/gtk/connect.c:992 #: ../client/gtk/connect.c:1133 msgid "Canceled.\n" msgstr "Geannuleerd.\n" #: ../client/gtk/connect.c:960 msgid "Requesting new game server.\n" msgstr "Een nieuwe spelserver wordt aangevraagd.\n" #: ../client/gtk/connect.c:1015 ../server/gtk/main.c:370 ../server/server.c:123 #, c-format msgid "Error starting %s: %s\n" msgstr "Fout bij het starten van %s: %s\n" #. Dialog caption #: ../client/gtk/connect.c:1037 msgid "Create a Public Game" msgstr "Nieuw openbaar spel aanmaken" #. Button text #: ../client/gtk/connect.c:1040 ../client/gtk/connect.c:1191 #: ../client/gtk/connect.c:1440 ../client/gtk/connect.c:1744 #: ../client/gtk/name.c:147 ../editor/gtk/editor.c:1521 #: ../editor/gtk/editor.c:1562 ../editor/gtk/editor.c:1611 msgid "_Cancel" msgstr "_Annuleren" #. Button text #: ../client/gtk/connect.c:1042 msgid "C_reate" msgstr "_Aanmaken" #. Dialog caption #: ../client/gtk/connect.c:1182 msgid "Join a Public Game" msgstr "Meespelen in een openbaar spel" #. Button text #: ../client/gtk/connect.c:1185 msgid "_Refresh" msgstr "_Verversen" #. Button text #: ../client/gtk/connect.c:1188 msgid "_New Remote Game" msgstr "_Nieuw spel via metaserver" #. Button text #: ../client/gtk/connect.c:1194 ../client/gtk/connect.c:1748 msgid "_Join" msgstr "_Meespelen" #. Tooltip #: ../client/gtk/connect.c:1237 msgid "Select a game to join" msgstr "Kies een spel om in mee te spelen" #. Column name #: ../client/gtk/connect.c:1241 msgid "Map Name" msgstr "Naam" #. Tooltip for column 'Map Name' #: ../client/gtk/connect.c:1249 msgid "Name of the game" msgstr "Naam van het spel" #. Column name #: ../client/gtk/connect.c:1255 msgid "Curr" msgstr "Huidig" #. Tooltip for column 'Curr' #: ../client/gtk/connect.c:1262 msgid "Number of players in the game" msgstr "Aantal spelers" #. Column name #: ../client/gtk/connect.c:1268 msgid "Max" msgstr "Max" #. Tooltip for column 'Max' #: ../client/gtk/connect.c:1275 msgid "Maximum players for the game" msgstr "Maximum aantal spelers voor dit spel" #. Column name #: ../client/gtk/connect.c:1279 msgid "Terrain" msgstr "Terrein" #. Tooltip for column 'Terrain' #: ../client/gtk/connect.c:1287 msgid "Random of default terrain" msgstr "Willekeurig of standaard terrein" #. Column name #: ../client/gtk/connect.c:1293 msgid "Vic. Points" msgstr "Punten" #. Tooltip for column 'Vic. Points' #: ../client/gtk/connect.c:1300 msgid "Points needed to win" msgstr "Het aantal benodigde punten om te winnen" #. Column name #: ../client/gtk/connect.c:1304 msgid "Sevens Rule" msgstr "Regel voor zevens" #. Tooltip for column 'Sevens Rule' #. Label #: ../client/gtk/connect.c:1312 ../common/gtk/game-rules.c:81 msgid "Sevens rule" msgstr "Regel voor zevens" #. Column name #: ../client/gtk/connect.c:1316 msgid "Host" msgstr "Computer" #. Tooltip for column 'Host' #: ../client/gtk/connect.c:1325 msgid "Host of the game" msgstr "Spel server" #. Column name #: ../client/gtk/connect.c:1331 msgid "Port" msgstr "Poort" #. Tooltip for column 'Port' #: ../client/gtk/connect.c:1339 msgid "Port of the game" msgstr "Poort van het spel" #. Column name #: ../client/gtk/connect.c:1343 msgid "Version" msgstr "Versie" #. Tooltip for column 'Version' #: ../client/gtk/connect.c:1351 msgid "Version of the host" msgstr "Versie van de server" #. Dialog caption #: ../client/gtk/connect.c:1436 msgid "Start a New Game" msgstr "Nieuw spel starten" #. Label #. Commandline option of client: name of the player #: ../client/gtk/connect.c:1464 ../client/gtk/offline.c:57 msgid "Player name" msgstr "Spelersnaam" #. Tooltip #: ../client/gtk/connect.c:1480 msgid "Enter your name" msgstr "Geef je naam" #. Check button #. Role of the player: spectator #: ../client/gtk/connect.c:1483 ../server/gtk/main.c:682 msgid "Spectator" msgstr "Toeschouwer" #: ../client/gtk/connect.c:1493 msgid "Check if you want to be a spectator" msgstr "Meespelen als toeschouwer" #. Label #: ../client/gtk/connect.c:1504 msgid "Avahi" msgstr "Avahi" #. Button #: ../client/gtk/connect.c:1511 msgid "Join" msgstr "Meespelen" #. Tooltip for button Join #: ../client/gtk/connect.c:1515 msgid "Join an automatically discovered game" msgstr "Meespelen in een automatisch ontdekt spel" #. Label #. metaserver label #: ../client/gtk/connect.c:1542 ../server/gtk/main.c:593 msgid "Metaserver" msgstr "Metaserver" #. Button #: ../client/gtk/connect.c:1564 msgid "Join Public Game" msgstr "Meespelen in openbaar spel" #. Tooltip #: ../client/gtk/connect.c:1570 msgid "Join a public game" msgstr "Meespelen in een openbaar spel" #. Button #: ../client/gtk/connect.c:1575 msgid "Create Game" msgstr "Nieuw spel aanmaken" #. Tooltip #: ../client/gtk/connect.c:1579 msgid "Create a game" msgstr "Een nieuw spel aanmaken" #. Button #: ../client/gtk/connect.c:1588 msgid "Join Private Game" msgstr "Privé spel" #. Tooltip #. Dialog caption #: ../client/gtk/connect.c:1592 ../client/gtk/connect.c:1737 msgid "Join a private game" msgstr "Meespelen in een privé spel" #. Label #. Commandline option of client: hostname of the server #: ../client/gtk/connect.c:1777 ../client/gtk/offline.c:51 msgid "Server host" msgstr "Server host" #. Tooltip #: ../client/gtk/connect.c:1791 msgid "Name of the host of the game" msgstr "Naam van de server van het spel" #. Label #. Commandline option of client: port of the server #. server port label #: ../client/gtk/connect.c:1795 ../client/gtk/offline.c:54 #: ../server/gtk/main.c:555 msgid "Server port" msgstr "Server poort" #. Tooltip #: ../client/gtk/connect.c:1812 msgid "Port of the host of the game" msgstr "Poort van de spel server" #. Tooltip #. Label #: ../client/gtk/connect.c:1854 ../client/gtk/connect.c:1857 msgid "Recent games" msgstr "Recente spellen" #. Caption for list of bought development cards #: ../client/gtk/develop.c:130 msgid "Development cards" msgstr "Ontwikkelingskaarten" #. Button text: play development card #: ../client/gtk/develop.c:163 msgid "Play Card" msgstr "Kaart spelen" #. Dialog caption #: ../client/gtk/discard.c:77 msgid "Discard Resources" msgstr "Grondstoffen weggooien" #. Button text #: ../client/gtk/discard.c:83 ../client/gtk/gameover.c:38 #: ../client/gtk/gold.c:78 ../client/gtk/monopoly.c:88 ../client/gtk/name.c:150 #: ../client/gtk/plenty.c:67 ../editor/gtk/editor.c:1614 msgid "_OK" msgstr "_Ok" #: ../client/gtk/discard.c:101 #, c-format msgid "You must discard %d resource" msgid_plural "You must discard %d resources" msgstr[0] "Je moet %d grondstofkaart weggooien" msgstr[1] "Je moet %d grondstofkaarten weggooien" #. Label #: ../client/gtk/discard.c:110 msgid "Total discards" msgstr "Totaal" #. Caption for list of player that must discard cards #: ../client/gtk/discard.c:235 msgid "Waiting for players to discard" msgstr "Wacht op spelers die kaarten weggooien" #. Dialog caption #: ../client/gtk/gameover.c:34 msgid "Game Over" msgstr "Het spel is afgelopen" #: ../client/gtk/gameover.c:52 #, c-format msgid "%s has won the game with %d victory points!" msgstr "%s heeft gewonnen met %d punten!" #: ../client/gtk/gameover.c:58 #, c-format msgid "All praise %s, Lord of the known world!" msgstr "Buig voor %s, heerser van de bekende wereld!" #. Dialog caption #: ../client/gtk/gold.c:72 msgid "Choose Resources" msgstr "Grondstoffen kiezen" #: ../client/gtk/gold.c:96 #, c-format msgid "You may choose %d resource" msgid_plural "You may choose %d resources" msgstr[0] "Je mag %d grondstofkaart kiezen" msgstr[1] "Je mag %d grondstofkaarten kiezen" #. Text for total in choose gold dialog #. Text for total in year of plenty dialog #: ../client/gtk/gold.c:105 ../client/gtk/plenty.c:103 msgid "Total resources" msgstr "Totaal" #. Caption for list of player that must choose gold #: ../client/gtk/gold.c:217 msgid "Waiting for players to choose" msgstr "Wacht op anderen om grondstoffen te kiezen" #. Menu entry #: ../client/gtk/gui.c:224 ../server/gtk/main.c:91 msgid "_Game" msgstr "_Spel" #. Menu entry #: ../client/gtk/gui.c:227 msgid "_New Game" msgstr "_Nieuw spel" #. Tooltip for New Game menu entry #: ../client/gtk/gui.c:229 msgid "Start a new game" msgstr "Een nieuw spel starten" #. Menu entry #: ../client/gtk/gui.c:232 msgid "_Leave Game" msgstr "Spel ver_laten" #. Tooltip for Leave Game menu entry #: ../client/gtk/gui.c:234 msgid "Leave this game" msgstr "Het spel verlaten" #. Menu entry #: ../client/gtk/gui.c:238 msgid "_Admin" msgstr "_Beheren" #. Tooltip for Admin menu entry #: ../client/gtk/gui.c:240 msgid "Administer Pioneers server" msgstr "Een Pioniers server beheren" #. Menu entry #: ../client/gtk/gui.c:244 msgid "_Player Name" msgstr "S_pelersnaam" #. Tooltip for Player Name menu entry #: ../client/gtk/gui.c:246 msgid "Change your player name" msgstr "Verander de naam van je speler" #. Menu entry #: ../client/gtk/gui.c:249 msgid "L_egend" msgstr "L_egenda" #. Tooltip for Legend menu entry #: ../client/gtk/gui.c:251 msgid "Terrain legend and building costs" msgstr "Terreinlegenda en bouwkosten" #. Menu entry #: ../client/gtk/gui.c:254 msgid "_Game Settings" msgstr "_Spelinstellingen" #. Tooltip for Game Settings menu entry #: ../client/gtk/gui.c:256 msgid "Settings for the current game" msgstr "Instellingen van het lopende spel" #. Menu entry #: ../client/gtk/gui.c:259 msgid "_Dice Histogram" msgstr "_Dobbelsteen histogram" #. Tooltip for Dice Histogram menu entry #: ../client/gtk/gui.c:261 msgid "Histogram of dice rolls" msgstr "Histogram van de dobbelsteen tot nu toe" #. Menu entry #: ../client/gtk/gui.c:264 ../editor/gtk/editor.c:1759 ../server/gtk/main.c:103 msgid "_Quit" msgstr "_Afsluiten" #. Tooltip for Quit menu entry #. Tooltop for Quit menu entry #: ../client/gtk/gui.c:266 ../server/gtk/main.c:105 msgid "Quit the program" msgstr "Het programma afsluiten" #. Menu entry #: ../client/gtk/gui.c:269 msgid "_Actions" msgstr "H_andelingen" #. Menu entry #: ../client/gtk/gui.c:272 msgid "Roll Dice" msgstr "Rollen" #. Tooltip for Roll Dice menu entry #: ../client/gtk/gui.c:274 msgid "Roll the dice" msgstr "Met de dobbelstenen rollen" #. Menu entry #. Tooltip for Trade menu entry #. Tab page name #: ../client/gtk/gui.c:277 ../client/gtk/gui.c:279 ../client/gtk/gui.c:710 msgid "Trade" msgstr "Handelen" #. Menu entry #. Tooltip for Undo menu entry #: ../client/gtk/gui.c:283 ../client/gtk/gui.c:285 msgid "Undo" msgstr "Ongedaan maken" #. Menu entry #. Tooltip for Finish menu entry #: ../client/gtk/gui.c:288 ../client/gtk/gui.c:290 msgid "Finish" msgstr "Klaar" #. Menu entry #: ../client/gtk/gui.c:293 ../client/gtk/legend.c:189 #: ../editor/gtk/game-buildings.c:10 msgid "Road" msgstr "Straat" #. Tooltip for Road menu entry #: ../client/gtk/gui.c:295 msgid "Build a road" msgstr "Een straat bouwen" #. Menu entry #: ../client/gtk/gui.c:298 ../client/gtk/legend.c:193 #: ../editor/gtk/game-buildings.c:10 msgid "Ship" msgstr "Schip" #. Tooltip for Ship menu entry #: ../client/gtk/gui.c:300 msgid "Build a ship" msgstr "Een schip bouwen" #. Menu entry #: ../client/gtk/gui.c:303 msgid "Move Ship" msgstr "Schip verplaatsen" #. Tooltip for Move Ship menu entry #: ../client/gtk/gui.c:305 msgid "Move a ship" msgstr "Met een schip varen" #. Menu entry #: ../client/gtk/gui.c:308 ../client/gtk/legend.c:196 #: ../editor/gtk/game-buildings.c:10 msgid "Bridge" msgstr "Brug" #. Tooltip for Bridge menu entry #: ../client/gtk/gui.c:310 msgid "Build a bridge" msgstr "Een brug bouwen" #. Menu entry #: ../client/gtk/gui.c:313 ../client/gtk/legend.c:198 ../client/gtk/player.c:52 #: ../editor/gtk/game-buildings.c:10 msgid "Settlement" msgstr "Dorp" #. Tooltip for Settlement menu entry #: ../client/gtk/gui.c:316 msgid "Build a settlement" msgstr "Een dorp bouwen" #. Menu entry #: ../client/gtk/gui.c:319 ../client/gtk/legend.c:199 ../client/gtk/player.c:53 #: ../editor/gtk/game-buildings.c:11 msgid "City" msgstr "Stad" #. Tooltip for City menu entry #: ../client/gtk/gui.c:321 msgid "Build a city" msgstr "Een stad bouwen" #. Menu entry #: ../client/gtk/gui.c:324 msgid "Develop" msgstr "Ontwikkelingskaart" #. Tooltip for Develop menu entry #: ../client/gtk/gui.c:326 msgid "Buy a development card" msgstr "Een ontwikkelingskaart kopen" #. Menu entry #: ../client/gtk/gui.c:329 msgid "City Wall" msgstr "Stadsmuur" #. Tooltip for City Wall menu entry #: ../client/gtk/gui.c:331 msgid "Build a city wall" msgstr "Een stadsmuur bouwen" #. Menu entry #: ../client/gtk/gui.c:335 msgid "_Settings" msgstr "_Instellingen" #. Menu entry #: ../client/gtk/gui.c:338 msgid "Prefere_nces" msgstr "_Voorkeuren" #. Tooltip for Preferences menu entry #: ../client/gtk/gui.c:340 msgid "Configure the application" msgstr "De instellingen van het programma veranderen" #. Menu entry #: ../client/gtk/gui.c:344 ../editor/gtk/editor.c:1721 msgid "_View" msgstr "_Weergave" #. Menu entry #: ../client/gtk/gui.c:347 ../editor/gtk/editor.c:1765 msgid "_Reset" msgstr "_Herstellen" #. Tooltip for Reset menu entry #: ../client/gtk/gui.c:350 ../editor/gtk/editor.c:1768 msgid "View the full map" msgstr "De hele kaart bekijken" #. Menu entry #: ../client/gtk/gui.c:353 ../editor/gtk/editor.c:1771 msgid "_Center" msgstr "_Centreren" #. Tooltip for Center menu entry #: ../client/gtk/gui.c:355 ../editor/gtk/editor.c:1773 msgid "Center the map" msgstr "De kaart centreren" #. Menu entry #: ../client/gtk/gui.c:359 ../client/gtk/gui.c:368 ../editor/gtk/editor.c:1724 #: ../server/gtk/main.c:94 msgid "_Help" msgstr "_Help" #. Menu entry #: ../client/gtk/gui.c:362 msgid "_About Pioneers" msgstr "_Over Pioniers" #. Tooltip for About Pioneers menu entry #: ../client/gtk/gui.c:364 msgid "Information about Pioneers" msgstr "Informatie over Pioniers" #. Tooltip for Help menu entry #: ../client/gtk/gui.c:370 ../client/gtk/gui.c:1258 msgid "Show the manual" msgstr "De handleiding tonen" #. Menu entry #: ../client/gtk/gui.c:378 ../editor/gtk/editor.c:1791 msgid "_Fullscreen" msgstr "_Volledig scherm" #. Tooltip for Fullscreen menu entry #: ../client/gtk/gui.c:381 ../editor/gtk/editor.c:1794 msgid "Set window to full screen mode" msgstr "Het hele scherm gebruiken" #. Menu entry #: ../client/gtk/gui.c:386 msgid "_Toolbar" msgstr "_Knoppenbalk" #. Tooltip for Toolbar menu entry #: ../client/gtk/gui.c:388 msgid "Show or hide the toolbar" msgstr "De knoppenbalk tonen of verbergen" #. Victory points target in statusbar #: ../client/gtk/gui.c:491 #, c-format msgid "Points needed to win: %i" msgstr "De speler met %i punten wint" #: ../client/gtk/gui.c:577 msgid "Messages" msgstr "Berichten" #. Tab page name #: ../client/gtk/gui.c:703 ../editor/gtk/editor.c:1946 msgid "Map" msgstr "Kaart" #. Tooltip #: ../client/gtk/gui.c:712 msgid "Finish trading" msgstr "Handelsfase _beëindigen" #. Tab page name #. Button text #: ../client/gtk/gui.c:722 ../client/gtk/quote.c:339 msgid "Quote" msgstr "Handelsaanbod" #. Tooltip #: ../client/gtk/gui.c:724 msgid "Reject domestic trade" msgstr "Handel afwijzen" #. Tab page name #. Dialog caption #: ../client/gtk/gui.c:734 ../client/gtk/legend.c:249 msgid "Legend" msgstr "Legenda" #. Tab page name, shown for the splash screen #: ../client/gtk/gui.c:744 msgid "Welcome to Pioneers" msgstr "Welkom bij Pioniers" #. Caption of preferences dialog #: ../client/gtk/gui.c:1028 msgid "Pioneers Preferences" msgstr "Pioniers Voorkeuren" #. Button text #: ../client/gtk/gui.c:1034 ../client/gtk/histogram.c:252 #: ../client/gtk/legend.c:253 ../client/gtk/settingscreen.c:413 msgid "_Close" msgstr "Sl_uiten" #. Label for changing the theme, in the preferences dialog #: ../client/gtk/gui.c:1059 msgid "Theme:" msgstr "Thema:" #. Tooltip for changing the theme in the preferences dialog #: ../client/gtk/gui.c:1082 msgid "Choose one of the themes" msgstr "Kies een van de thema's" #. Label for the option to show the legend #: ../client/gtk/gui.c:1086 msgid "Show legend" msgstr "Toon legenda" #. Tooltip for the option to show the legend #: ../client/gtk/gui.c:1096 msgid "Show the legend as a page beside the map" msgstr "De legenda tonen naast de kaart" #. Label for the option to display log messages in color #: ../client/gtk/gui.c:1101 msgid "Messages with color" msgstr "Berichten in kleur" #. Tooltip for the option to display log messages in color #: ../client/gtk/gui.c:1111 msgid "Show new messages with color" msgstr "Nieuwe berichten in kleur tonen" #. Label for the option to display chat in color of player #: ../client/gtk/gui.c:1116 msgid "Chat in color of player" msgstr "Chat in de kleur van de speler" #. Tooltip for the option to display chat in color of player #: ../client/gtk/gui.c:1127 msgid "Show new chat messages in the color of the player" msgstr "De nieuwe chat in de kleur van de speler tonen" #. Label for the option to display the summary with colors #: ../client/gtk/gui.c:1132 msgid "Summary with color" msgstr "Spelersoverzicht in kleur" #. Tooltip for the option to display the summary with colors #: ../client/gtk/gui.c:1143 msgid "Use colors in the player summary" msgstr "Kleur in het spelersoverzicht gebruiken" #. Label for the option to display keyboard accelerators in the toolbar #: ../client/gtk/gui.c:1148 msgid "Toolbar with shortcuts" msgstr "Knoppenbalk met sneltoetsen" #. Tooltip for the option to display keyboard accelerators in the toolbar #: ../client/gtk/gui.c:1158 msgid "Show keyboard shortcuts in the toolbar" msgstr "De sneltoetsen in de knoppenbalk tonen" #. Label for the option to disable all sounds #: ../client/gtk/gui.c:1164 msgid "Silent mode" msgstr "Stilte" #. Tooltip for the option to disable all sounds #: ../client/gtk/gui.c:1170 msgid "In silent mode no sounds are made" msgstr "Alle geluiden uitschakelen" #. Label for the option to announce when players/spectators enter #: ../client/gtk/gui.c:1176 msgid "Announce new players" msgstr "Nieuwe spelers aankondigen" #. Tooltip for the option to use sound when players/spectators enter #: ../client/gtk/gui.c:1186 msgid "Make a sound when a new player or spectator enters the game" msgstr "" "Geluid maken wanneer een nieuwe speler of toeschouwer het spel betreedt" #. Label for the option to use the notifications. #: ../client/gtk/gui.c:1198 msgid "Show notifications" msgstr "Berichten weergeven" #. Tooltip for notifications option. #: ../client/gtk/gui.c:1208 msgid "Show notifications when it's your turn or when new trade is available" msgstr "Berichten tonen wanneer je aan de beurt bent of er nieuwe handel is" #. Label for the option to use the 16:9 layout. #: ../client/gtk/gui.c:1214 msgid "Use 16:9 layout" msgstr "16:9 layout gebruiken" #. Tooltip for 16:9 option. #: ../client/gtk/gui.c:1224 msgid "Use a 16:9 friendly layout for the window" msgstr "Een 16:9 vriendelijke layout gebruiken" #. Caption of about box #: ../client/gtk/gui.c:1233 msgid "About Pioneers" msgstr "Over Pioniers" #. Initial text in status bar #: ../client/gtk/gui.c:1544 ../client/gtk/offline.c:107 msgid "Welcome to Pioneers!" msgstr "Welkom bij Pioniers!" #. The name of the application #. Name of the application #: ../client/gtk/gui.c:1606 ../client/gtk/offline.c:209 #: ../client/gtk/pioneers.desktop.in.h:1 msgid "Pioneers" msgstr "Pioniers" #. Dialog caption #: ../client/gtk/histogram.c:248 msgid "Dice Histogram" msgstr "Dobbelsteenhistogram" #: ../client/gtk/interface.c:111 msgid "Ship movement canceled." msgstr "Verplaatsing van het schip is geannuleerd." #: ../client/gtk/interface.c:119 ../client/gtk/interface.c:120 msgid "Select a new location for the ship." msgstr "Kies een nieuwe plek voor het schip." #. Notification #: ../client/gtk/interface.c:919 msgid "It is your turn to setup." msgstr "Je bent aan de beurt om op te zetten." #: ../client/gtk/legend.c:34 msgid "Hill" msgstr "Heuvels" #: ../client/gtk/legend.c:35 msgid "Field" msgstr "Akker" #: ../client/gtk/legend.c:36 msgid "Mountain" msgstr "Berg" #: ../client/gtk/legend.c:37 msgid "Pasture" msgstr "Weide" #: ../client/gtk/legend.c:38 msgid "Forest" msgstr "Bos" #: ../client/gtk/legend.c:39 msgid "Desert" msgstr "Woestijn" #: ../client/gtk/legend.c:40 msgid "Sea" msgstr "Zee" #. Label #: ../client/gtk/legend.c:132 msgid "Terrain yield" msgstr "Terreinopbrengsten" #. Label #: ../client/gtk/legend.c:165 msgid "Building costs" msgstr "Bouwkosten" #: ../client/gtk/legend.c:203 ../client/gtk/player.c:54 #: ../editor/gtk/game-buildings.c:11 msgid "City wall" msgstr "Stadsmuur" #: ../client/gtk/legend.c:206 ../client/gtk/player.c:65 msgid "Development card" msgstr "Ontwikkelingskaart" #. Dialog caption #. Name of the development card #: ../client/gtk/monopoly.c:84 ../common/cards.c:86 msgid "Monopoly" msgstr "Monopolie" #. Label #: ../client/gtk/monopoly.c:106 msgid "Select the resource you wish to monopolize." msgstr "Kies de grondstof waar je een monopolie op wilt." #. Dialog caption #: ../client/gtk/name.c:141 msgid "Change Player Name" msgstr "Spelersnaam veranderen" #. Label #: ../client/gtk/name.c:172 msgid "Player name:" msgstr "Spelersnaam:" #. Label: set player icon preferences #: ../client/gtk/name.c:234 msgid "Face:" msgstr "Gezicht:" #. Label: set player icon preferences #: ../client/gtk/name.c:250 msgid "Variant:" msgstr "Variant:" #: ../client/gtk/offline.c:61 msgid "Connect as a spectator" msgstr "Meespelen als toeschouwer" #: ../client/gtk/offline.c:64 msgid "Metaserver Host" msgstr "Computernaam van de metaserver" #: ../client/gtk/offline.c:78 msgid "Select a game to join." msgstr "Kies een spel om in mee te spelen." #: ../client/gtk/offline.c:94 msgid "Connecting" msgstr "Bezig verbinding te maken" #. Long description in the commandline for pioneers: help #: ../client/gtk/offline.c:183 msgid "- Play a game of Pioneers" msgstr "- Speel een spel Pioniers" #: ../client/gtk/pioneers.desktop.in.h:2 msgid "Play a game of Pioneers" msgstr "Speel een spel Pioniers" #: ../client/gtk/pioneers.desktop.in.h:3 msgid "game;board;play;Pioneers;Settlers;" msgstr "spel;bord;spelen;Pioneers;Settlers;" #: ../client/gtk/player.c:52 msgid "Settlements" msgstr "Dorpen" #: ../client/gtk/player.c:53 msgid "Cities" msgstr "Steden" #: ../client/gtk/player.c:54 msgid "City walls" msgstr "Stadsmuren" #: ../client/gtk/player.c:55 msgid "Largest army" msgstr "Grootste riddermacht" #: ../client/gtk/player.c:56 msgid "Longest road" msgstr "Langste handelsroute" #. Name of the development card #: ../client/gtk/player.c:57 ../common/cards.c:92 msgid "Chapel" msgstr "Kapel" #: ../client/gtk/player.c:57 msgid "Chapels" msgstr "Kapellen" #. Name of the development card #: ../client/gtk/player.c:58 ../common/cards.c:95 msgid "Pioneer university" msgstr "Pioniersuniversiteit" #: ../client/gtk/player.c:58 msgid "Pioneer universities" msgstr "Pioniersuniversiteiten" #. Name of the development card #: ../client/gtk/player.c:60 ../common/cards.c:98 msgid "Governor's house" msgstr "Gouverneurshuis" #: ../client/gtk/player.c:60 msgid "Governor's houses" msgstr "Gouverneurshuizen" #. Name of the development card #: ../client/gtk/player.c:61 ../common/cards.c:101 msgid "Library" msgstr "Bibliotheek" #: ../client/gtk/player.c:61 msgid "Libraries" msgstr "Bibliotheken" #. Name of the development card #: ../client/gtk/player.c:62 ../common/cards.c:104 msgid "Market" msgstr "Markt" #: ../client/gtk/player.c:62 msgid "Markets" msgstr "Markten" #. Name of the development card #: ../client/gtk/player.c:63 ../common/cards.c:107 msgid "Soldier" msgstr "Ridder" #: ../client/gtk/player.c:63 msgid "Soldiers" msgstr "Ridders" #: ../client/gtk/player.c:64 msgid "Resource card" msgstr "Grondstoffenkaart" #: ../client/gtk/player.c:64 msgid "Resource cards" msgstr "Grondstoffenkaarten" #. Caption #: ../client/gtk/player.c:65 ../editor/gtk/editor.c:1305 msgid "Development cards" msgstr "Ontwikkelingskaarten" #. Caption for the overview of the points and card of other players #: ../client/gtk/player.c:559 msgid "Player summary" msgstr "Spelersoverzicht" #. Dialog caption #: ../client/gtk/plenty.c:61 msgid "Year of Plenty" msgstr "Goed Jaar" #: ../client/gtk/plenty.c:92 msgid "Please choose one resource from the bank" msgstr "Kies een grondstof uit de bank" #: ../client/gtk/plenty.c:95 msgid "Please choose two resources from the bank" msgstr "Kies twee grondstoffen uit de bank" #: ../client/gtk/plenty.c:97 msgid "The bank is empty" msgstr "De bank is leeg" #: ../client/gtk/quote.c:187 #, c-format msgid "%s has %s, and is looking for %s" msgstr "%s heeft %s en zoekt %s" #. Notification #: ../client/gtk/quote.c:217 #, c-format msgid "New offer from %s." msgstr "Nieuw aanbod van %s." #. Notification #: ../client/gtk/quote.c:242 #, c-format msgid "Offer from %s." msgstr "Aanbod van %s." #. Label #. Frame title, trade: I want to trade these resources #: ../client/gtk/quote.c:316 ../client/gtk/trade.c:524 msgid "I want" msgstr "Ik wil" #. Label #. Frame title, trade: I want these resources in return #: ../client/gtk/quote.c:326 ../client/gtk/trade.c:530 msgid "Give them" msgstr "Ik geef" #. Button text #: ../client/gtk/quote.c:345 msgid "Delete" msgstr "Intrekken" #. Button text #: ../client/gtk/quote.c:370 msgid "Reject Domestic Trade" msgstr "Handel afwijzen" #. Now create columns #. Table header: Player who trades #. Role of the player: player #: ../client/gtk/quote-view.c:170 ../server/gtk/main.c:684 msgid "Player" msgstr "Speler" #. Table header: Quote #: ../client/gtk/quote-view.c:185 msgid "Quotes" msgstr "Handelsaanbod" #. trade: maritime quote: %1 resources of type %2 for #. * one resource of type %3 #: ../client/gtk/quote-view.c:303 #, c-format msgid "%d:1 %s for %s" msgstr "%d:1 %s in ruil voor %s" #. Trade: a player has rejected trade #: ../client/gtk/quote-view.c:442 msgid "Rejected trade" msgstr "Handel afgewezen" #. Caption for overview of the resources of the player #: ../client/gtk/resource.c:71 msgid "Resources" msgstr "Grondstoffen" #. Label #: ../client/gtk/resource.c:86 msgid "Total" msgstr "Totaal" #. Tooltip for the amount of resources in the hand #: ../client/gtk/resource-table.c:180 msgid "Amount in hand" msgstr "Aantal in de hand" #. Button for decreasing the selected amount #: ../client/gtk/resource-table.c:185 msgid "" msgstr "meer>" #. Tooltip for increasing the selected amount #: ../client/gtk/resource-table.c:226 msgid "Increase the selected amount" msgstr "Verhoog het aantal van deze grondstof" #. Tooltip for the selected amount #: ../client/gtk/resource-table.c:243 msgid "Selected amount" msgstr "Aantal gekozen grondstoffen" #. Tooltip for the total selected amount #: ../client/gtk/resource-table.c:288 msgid "Total selected amount" msgstr "Totaal aantal gekozen grondstoffen" #. Tooltip when the bank cannot be emptied #: ../client/gtk/resource-table.c:307 msgid "The bank cannot be emptied" msgstr "De bank kan niet leeg gemaakt worden" #: ../client/gtk/settingscreen.c:74 msgid "Yes" msgstr "Ja" #: ../client/gtk/settingscreen.c:76 ../client/gtk/settingscreen.c:240 msgid "No" msgstr "Nee" #: ../client/gtk/settingscreen.c:87 ../client/gtk/settingscreen.c:187 msgid "Unknown" msgstr "Onbekend" #: ../client/gtk/settingscreen.c:121 msgid "No game in progress..." msgstr "Er is geen spel bezig." #. Label #: ../client/gtk/settingscreen.c:132 msgid "General settings" msgstr "Algemene instellingen" #: ../client/gtk/settingscreen.c:149 msgid "Number of players:" msgstr "Aantal spelers:" #: ../client/gtk/settingscreen.c:153 msgid "Victory point target:" msgstr "Punten benodigd om te winnen:" #: ../client/gtk/settingscreen.c:157 msgid "Random terrain:" msgstr "Willekeurig terrein:" #: ../client/gtk/settingscreen.c:161 msgid "Allow trade between players:" msgstr "Sta handel tussen spelers toe:" #: ../client/gtk/settingscreen.c:166 msgid "Allow trade only before building or buying:" msgstr "Handelen alleen toegestaan voor het bouwen:" #: ../client/gtk/settingscreen.c:171 msgid "Check victory only at end of turn:" msgstr "Controleer op winst alleen aan het einde van de beurt:" #: ../client/gtk/settingscreen.c:176 msgid "Amount of each resource:" msgstr "Aantal grondstofkaarten van elke soort:" #: ../client/gtk/settingscreen.c:190 msgid "Sevens rule:" msgstr "Regel voor zevens:" #: ../client/gtk/settingscreen.c:196 msgid "Use dice deck instead of dice:" msgstr "Gebruik dobbelsteenkaarten in plaats van dobbelstenen:" #: ../client/gtk/settingscreen.c:201 msgid "Number of dice decks:" msgstr "Aantal pakken dobbelsteenkaarten:" #: ../client/gtk/settingscreen.c:207 msgid "Number of dice cards removed after shuffling:" msgstr "Aantal kaarten dat verwijderd wordt na het schudden:" #: ../client/gtk/settingscreen.c:214 msgid "Use the pirate to block ships:" msgstr "Gebruik de piraat om schepen te blokkeren:" #: ../client/gtk/settingscreen.c:243 msgid "Island discovery bonuses:" msgstr "Eiland ontdekkingspunten:" #. Label #: ../client/gtk/settingscreen.c:260 msgid "Building quotas" msgstr "Bouwbeperkingen" #: ../client/gtk/settingscreen.c:277 msgid "Roads:" msgstr "Straten:" #: ../client/gtk/settingscreen.c:283 msgid "Settlements:" msgstr "Dorpen:" #: ../client/gtk/settingscreen.c:289 msgid "Cities:" msgstr "Steden:" #: ../client/gtk/settingscreen.c:295 msgid "City walls:" msgstr "Stadsmuren:" #: ../client/gtk/settingscreen.c:301 msgid "Ships:" msgstr "Schepen:" #: ../client/gtk/settingscreen.c:307 msgid "Bridges:" msgstr "Bruggen:" #. Label #: ../client/gtk/settingscreen.c:320 msgid "Development card deck" msgstr "Ontwikkelingskaarten" #: ../client/gtk/settingscreen.c:336 msgid "Road building cards:" msgstr "Stratenbouw:" #: ../client/gtk/settingscreen.c:340 msgid "Monopoly cards:" msgstr "Monopolie:" #: ../client/gtk/settingscreen.c:344 msgid "Year of plenty cards:" msgstr "Goed jaar:" #: ../client/gtk/settingscreen.c:348 msgid "Chapel cards:" msgstr "Kapel:" #: ../client/gtk/settingscreen.c:352 msgid "Pioneer university cards:" msgstr "Universiteit:" #: ../client/gtk/settingscreen.c:356 msgid "Governor's house cards:" msgstr "Gouverneurshuis:" #: ../client/gtk/settingscreen.c:360 msgid "Library cards:" msgstr "Bibliotheek:" #: ../client/gtk/settingscreen.c:364 msgid "Market cards:" msgstr "Markt:" #: ../client/gtk/settingscreen.c:368 msgid "Soldier cards:" msgstr "Ridder:" #. Dialog caption #: ../client/gtk/settingscreen.c:407 msgid "Current Game Settings" msgstr "Huidige spelinstellingen" #. trade: you ask for something for free #: ../client/gtk/trade.c:205 #, c-format msgid "ask for %s for free" msgstr "Vraag om gratis %s" #. trade: you give something away for free #: ../client/gtk/trade.c:210 #, c-format msgid "give %s for free" msgstr "Geef gratis %s" #. trade: you trade something for something else #: ../client/gtk/trade.c:215 #, c-format msgid "give %s for %s" msgstr "Geef %s in ruil voor %s" #. I want some resources, and give them some resources #: ../client/gtk/trade.c:242 #, c-format msgid "I want %s, and give them %s" msgstr "Ik vraag %s en bied %s" #. Notification #: ../client/gtk/trade.c:348 #, c-format msgid "Quote received from %s." msgstr "Nieuw aanbod van %s." #. Button text, trade: call for quotes from other players #: ../client/gtk/trade.c:539 msgid "_Call for Quotes" msgstr "Om _voorstellen vragen" #. Button text: Trade page, accept selected quote #: ../client/gtk/trade.c:568 msgid "_Accept Quote" msgstr "Voorstel _accepteren" #. Button text: Trade page, finish trading #: ../client/gtk/trade.c:574 msgid "_Finish Trading" msgstr "Handelsfase beëindigen" #. Name of the development card #: ../common/cards.c:83 msgid "Road building" msgstr "Stratenbouw" #. Name of the development card #: ../common/cards.c:89 msgid "Year of plenty" msgstr "Goed jaar" #. Description of the 'Road Building' development card #: ../common/cards.c:118 msgid "Build two new roads" msgstr "Bouw twee nieuwe straten" #. Description of the 'Monopoly' development card #: ../common/cards.c:121 msgid "" "Select a resource type and take every card of that type held by all other " "players" msgstr "" "Kies een grondstof en krijg alle kaarten van die grondstof van alle andere " "spelers" #. Description of the 'Year of Plenty' development card #: ../common/cards.c:125 msgid "" "Take two resource cards of any type from the bank (cards may be of the same " "or different types)" msgstr "Neem twee grondstofkaarten uit de bank (ze mogen verschillend zijn)" #. Description of a development card of 1 victory point #: ../common/cards.c:134 msgid "One victory point" msgstr "Eén overwinningspunt" #. Description of the 'Soldier' development card #: ../common/cards.c:137 msgid "" "Move the robber to a different space and take one resource card from another " "player adjacent to that space" msgstr "" "Verplaats de struikrover en steel een grondstof van een speler die aan de " "nieuwe plaats grenst." #: ../common/game.c:523 #, c-format msgid "Obsolete rule: '%s'\n" msgstr "Verouderde spelregel: '%s'\n" #: ../common/game.c:530 #, c-format msgid "" "The game uses the new rule '%s', which is not yet supported. Consider " "upgrading.\n" msgstr "" "Het spel gebruikt de nieuwe regel '%s', die nog niet ondersteund is. Probeer " "een upgrade.\n" #: ../common/game.c:924 ../common/game.c:955 msgid "This game cannot be won." msgstr "Dit spel kan niet gewonnen worden." #: ../common/game.c:925 msgid "There is no land." msgstr "Er is geen land." #: ../common/game.c:959 msgid "It is possible that this game cannot be won." msgstr "Het is mogelijk dat dit spel niet gewonnen kan worden." #: ../common/game.c:965 msgid "This game can be won by only building all settlements and cities." msgstr "" "Dit spel kan gewonnen worden door uitsluitend alle dorpen en steden te " "bouwen." #: ../common/game.c:971 #, c-format msgid "" "Required victory points: %d\n" "Points obtained by building all: %d\n" "Points in development cards: %u\n" "Longest road/largest army: %d+%d\n" "Maximum island discovery bonus: %d\n" "Total: %d" msgstr "" "Benodigd aantal overwinningspunten: %d\n" "Punten door alles te bouwen: %d\n" "Punten in ontwikkelingskaarten: %u\n" "Langste handelsroute/grootste riddermacht: %d+%d\n" "Hoogste aantal ontdekkingspunten: %d\n" "Totaal: %d" #: ../common/game-list.c:111 #, c-format msgid "Looking for games in '%s'\n" msgstr "Zoekt spellen in '%s'\n" #: ../common/game-list.c:113 #, c-format msgid "Game directory '%s' not found\n" msgstr "Spellenmap '%s' niet gevonden\n" #: ../common/game-list.c:131 #, c-format msgid "Unable to load game: '%s'\n" msgstr "Kan het spel '%s' niet openen\n" #: ../common/game-list.c:151 msgid "No games available\n" msgstr "Geen spellen beschikbaar\n" #: ../common/gtk/aboutbox.c:53 msgid "" "Pioneers is based upon the excellent\n" "Settlers of Catan board game.\n" msgstr "" "Pioniers is gebaseerd op\n" "het bordspel \"De kolonisten van Catan\".\n" # #. Translators: add your name here. Keep the list #. * alphabetically, do not remove any names, and add #. * \n after your name (except the last name). #. #: ../common/gtk/aboutbox.c:63 msgid "translator-credits" msgstr "" "Roland Clobus\n" "Bas Wijnen" #. Caption for result of checking victory points #: ../common/gtk/common_gtk.c:324 msgid "Victory Point Analysis" msgstr "Winstpuntanalyse" #. Tooltip for sevens rule normal #: ../common/gtk/game-rules.c:110 msgid "All sevens move the robber or pirate" msgstr "Bij een zeven wordt de struikrover of piraat verplaatst" #. Tooltip for sevens rule reroll on 1st 2 turns #: ../common/gtk/game-rules.c:114 msgid "In the first two turns all sevens are rerolled" msgstr "In de eerste twee beurten worden zevens opnieuw gerold" #. Tooltip for sevens rule reroll all #: ../common/gtk/game-rules.c:118 msgid "All sevens are rerolled" msgstr "Alle zevens worden opnieuw gerold" #: ../common/gtk/game-rules.c:129 msgid "Randomize terrain" msgstr "Terrein willekeurig maken" #: ../common/gtk/game-rules.c:129 msgid "Randomize the terrain" msgstr "Het terrein willekeurig verdelen" #: ../common/gtk/game-rules.c:132 msgid "Use pirate" msgstr "Piraat gebruiken" #: ../common/gtk/game-rules.c:133 msgid "Use the pirate to block ships" msgstr "Gebruik de piraat om schepen te blokkeren" #: ../common/gtk/game-rules.c:135 msgid "Strict trade" msgstr "Handel voor bouwen" #: ../common/gtk/game-rules.c:136 msgid "Allow trade only before building or buying" msgstr "Handelen alleen toegestaan voor het bouwen" #: ../common/gtk/game-rules.c:138 msgid "Domestic trade" msgstr "Handel tussen spelers" #: ../common/gtk/game-rules.c:139 msgid "Allow trade between players" msgstr "Handel tussen spelers toestaan" #: ../common/gtk/game-rules.c:141 msgid "Victory at end of turn" msgstr "Aan het einde van de beurt winnen" #: ../common/gtk/game-rules.c:142 msgid "Check for victory only at end of turn" msgstr "Controleer op winst alleen aan het einde van de beurt" #: ../common/gtk/game-rules.c:145 msgid "Use dice deck" msgstr "Gebruik dobbelsteenkaarten" #: ../common/gtk/game-rules.c:147 msgid "Use a deck of 36 dice cards instead of real dice" msgstr "" "Gebruik een pak van 36 dobbelsteenkaarten in plaats van echte dobbelstenen" #. Label #: ../common/gtk/game-rules.c:155 msgid "Number of dice decks" msgstr "Aantal pakken dobbelsteenkaarten" #: ../common/gtk/game-rules.c:172 msgid "The number of dice decks (of 36 cards each)" msgstr "The aantal pakken dobbelsteenkaarten (van elk 36 kaarten)" #. Label #: ../common/gtk/game-rules.c:180 msgid "Number of removed dice cards" msgstr "Aantal verwijderde kaarten" #: ../common/gtk/game-rules.c:199 msgid "The number of dice cards that are removed after shuffling the deck" msgstr "" "Het aantal dobbelsteenkaarten dat wordt verwijderd nadat de stapel is geschud" #. Label #: ../common/gtk/game-rules.c:207 msgid "Island discovery bonuses" msgstr "Eiland ontdekkingspunten" #. Tooltip for island bonus #: ../common/gtk/game-rules.c:219 msgid "A comma separated list of bonus points for discovering islands" msgstr "" "Een komma-gescheiden lijst van bonuspunten voor het ontdekken van eilanden" #. Tooltip for the check button #: ../common/gtk/game-rules.c:237 msgid "Check and correct island discovery bonuses" msgstr "Controleer en corrigeer de eiland ontdekkingspunten" #. Label text for customising a game #: ../common/gtk/game-settings.c:105 msgid "Number of players" msgstr "Aantal spelers" #. Tooltip for 'Number of Players' #: ../common/gtk/game-settings.c:124 msgid "The number of players" msgstr "Het aantal spelers" #. Label for customising a game #: ../common/gtk/game-settings.c:127 msgid "Victory point target" msgstr "Aantal winstpunten" #. Tooltip for Victory Point Target #: ../common/gtk/game-settings.c:147 msgid "The points needed to win the game" msgstr "Het aantal benodigde punten om te winnen" #. Tooltip for the check button #: ../common/gtk/game-settings.c:161 msgid "Is it possible to win this game?" msgstr "Is het mogelijk dit spel te winnen?" #. Port indicator for a resource: trade 2 for 1 #: ../common/gtk/guimap.c:742 msgid "2:1" msgstr "2:1" #. Port indicator: trade 3 for 1 #. General port indicator #: ../common/gtk/guimap.c:745 ../common/gtk/guimap.c:770 msgid "3:1" msgstr "3:1" #. Port indicator for brick #: ../common/gtk/guimap.c:750 msgid "Brick port|B" msgstr "B" #. Port indicator for grain #: ../common/gtk/guimap.c:754 msgid "Grain port|G" msgstr "G" #. Port indicator for ore #: ../common/gtk/guimap.c:758 msgid "Ore port|O" msgstr "IJ" #. Port indicator for wool #: ../common/gtk/guimap.c:762 msgid "Wool port|W" msgstr "W" #. Port indicator for lumber #: ../common/gtk/guimap.c:766 msgid "Lumber port|L" msgstr "H" #. Tooltip for the list of metaservers #: ../common/gtk/metaserver.c:85 msgid "Select a metaserver" msgstr "Kies een metaserver" #. Tooltip for the list of games #: ../common/gtk/select-game.c:135 msgid "Select a game" msgstr "Kies een spel" #. Log prefix #: ../common/log.c:58 msgid "*ERROR* " msgstr "*FOUT* " #. Log prefix #: ../common/log.c:66 msgid "Chat: " msgstr "Praten: " #. Log prefix #: ../common/log.c:70 msgid "Resource: " msgstr "Grondstof: " #. Log prefix #: ../common/log.c:74 msgid "Build: " msgstr "Bouwen: " #. Log prefix #: ../common/log.c:78 msgid "Dice: " msgstr "Dobbelsteen: " #. Log prefix #: ../common/log.c:82 msgid "Steal: " msgstr "Stelen: " #. Log prefix #: ../common/log.c:86 msgid "Trade: " msgstr "Handel: " #. Log prefix #: ../common/log.c:90 msgid "Development: " msgstr "Ontwikkelingskaart: " #. Log prefix #: ../common/log.c:94 msgid "Army: " msgstr "Grootste riddermacht: " #. Log prefix #: ../common/log.c:98 msgid "Road: " msgstr "Langste handelsroute: " #. Log prefix #: ../common/log.c:102 msgid "*BEEP* " msgstr "*BEEP* " #. Log prefix #: ../common/log.c:108 msgid "Player 1: " msgstr "Speler 1: " #. Log prefix #: ../common/log.c:112 msgid "Player 2: " msgstr "Speler 2: " #. Log prefix #: ../common/log.c:116 msgid "Player 3: " msgstr "Speler 3: " #. Log prefix #: ../common/log.c:120 msgid "Player 4: " msgstr "Speler 4: " #. Log prefix #: ../common/log.c:124 msgid "Player 5: " msgstr "Speler 5: " #. Log prefix #: ../common/log.c:128 msgid "Player 6: " msgstr "Speler 6: " #. Log prefix #: ../common/log.c:132 msgid "Player 7: " msgstr "Speler 7: " #. Log prefix #: ../common/log.c:136 msgid "Player 8: " msgstr "Speler 8: " #. Log prefix #: ../common/log.c:140 msgid "Spectator: " msgstr "Toeschouwer: " #. Log prefix #: ../common/log.c:144 msgid "** UNKNOWN MESSAGE TYPE ** " msgstr "** ONBEKEND BERICHTTYPE ** " #: ../common/network.c:143 #, c-format msgid "Error writing to socket: %s\n" msgstr "Fout bij het schrijven naar netwerk: %s\n" #: ../common/network.c:154 msgid "Could not send all data\n" msgstr "Kon niet alle gegevens versturen\n" #: ../common/network.c:202 msgid "Read buffer overflow - disconnecting\n" msgstr "Leesbuffer is vol - de verbinding wordt verbroken\n" #: ../common/network.c:226 #, c-format msgid "Error reading socket: %s\n" msgstr "Fout bij het lezen van netwerk: %s\n" #: ../common/network.c:378 #, c-format msgid "Error connecting to %s: %s\n" msgstr "Fout bij het verbinden naar %s: %s\n" #: ../common/network.c:566 ../common/network.c:567 msgid "unknown" msgstr "onbekend" #: ../common/state.c:203 #, c-format msgid "Connecting to %s, port %s\n" msgstr "Bezig te verbinden met %s, poort %s\n" #. Error message #: ../common/state.c:333 msgid "State stack overflow. Stack dump sent to standard error.\n" msgstr "" "Toestandsstapel is vol. Toestanden op de stapel gaan naar standard error.\n" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:113 msgid "_Hill" msgstr "_Heuvels" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:115 msgid "_Field" msgstr "_Akker" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:117 msgid "_Mountain" msgstr "_Berg" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:119 msgid "_Pasture" msgstr "_Weide" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:121 msgid "F_orest" msgstr "B_os" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:123 msgid "_Desert" msgstr "Woes_tijn" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:125 msgid "_Sea" msgstr "_Zee" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:127 msgid "_Gold" msgstr "_Goud" #. Use an unique shortcut key for each resource #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:129 ../editor/gtk/editor.c:144 msgid "_None" msgstr "Gee_n" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:134 msgid "_Brick (2:1)" msgstr "_Baksteen (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:136 msgid "_Grain (2:1)" msgstr "_Graan (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:138 msgid "_Ore (2:1)" msgstr "_Erts (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:140 msgid "_Wool (2:1)" msgstr "_Wol (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:142 msgid "_Lumber (2:1)" msgstr "_Hout (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:146 msgid "_Any (3:1)" msgstr "Ha_ven (3:1)" #. East #: ../editor/gtk/editor.c:151 msgid "East|E" msgstr "O" #. North east #: ../editor/gtk/editor.c:153 msgid "North East|NE" msgstr "NO" #. North west #: ../editor/gtk/editor.c:155 msgid "North West|NW" msgstr "NW" #. West #: ../editor/gtk/editor.c:157 msgid "West|W" msgstr "W" #. South west #: ../editor/gtk/editor.c:159 msgid "South West|SW" msgstr "ZW" #. South east #: ../editor/gtk/editor.c:161 msgid "South East|SE" msgstr "ZO" #: ../editor/gtk/editor.c:368 msgid "Place a hill hex" msgstr "Een heuveltegel plaatsen" #: ../editor/gtk/editor.c:369 msgid "Place a field hex" msgstr "Een akkertegel plaatsen" #: ../editor/gtk/editor.c:370 msgid "Place a mountain hex" msgstr "Een bergtegel plaatsen" #: ../editor/gtk/editor.c:371 msgid "Place a pasture hex" msgstr "Een weidetegel plaatsen" #: ../editor/gtk/editor.c:372 msgid "Place a forest hex" msgstr "Een bostegel plaatsen" #: ../editor/gtk/editor.c:373 msgid "Place a desert hex" msgstr "Een woestijntegel plaatsen" #: ../editor/gtk/editor.c:374 msgid "Place a sea hex" msgstr "Een zeetegel plaatsen" #: ../editor/gtk/editor.c:375 msgid "Place a gold hex" msgstr "Een goudtegel plaatsen" #: ../editor/gtk/editor.c:376 msgid "Clear the hex" msgstr "Tegel leegmaken" #: ../editor/gtk/editor.c:384 msgid "Place a 2 chit" msgstr "Een 2 op de tegel plaatsen" #: ../editor/gtk/editor.c:385 msgid "Place a 3 chit" msgstr "Een 3 op de tegel plaatsen" #: ../editor/gtk/editor.c:386 msgid "Place a 4 chit" msgstr "Een 4 op de tegel plaatsen" #: ../editor/gtk/editor.c:387 msgid "Place a 5 chit" msgstr "Een 5 op de tegel plaatsen" #: ../editor/gtk/editor.c:388 msgid "Place a 6 chit" msgstr "Een 6 op de tegel plaatsen" #: ../editor/gtk/editor.c:390 msgid "Place an 8 chit" msgstr "Een 8 op de tegel plaatsen" #: ../editor/gtk/editor.c:391 msgid "Place a 9 chit" msgstr "Een 9 op de tegel plaatsen" #: ../editor/gtk/editor.c:392 msgid "Place a 10 chit" msgstr "Een 10 op de tegel plaatsen" #: ../editor/gtk/editor.c:393 msgid "Place an 11 chit" msgstr "Een 11 op de tegel plaatsen" #: ../editor/gtk/editor.c:394 msgid "Place a 12 chit" msgstr "Een 12 op de tegel plaatsen" #: ../editor/gtk/editor.c:400 msgid "Place a brick 2:1 port" msgstr "Een baksteenhaven 2:1 op de tegel plaatsen" #: ../editor/gtk/editor.c:401 msgid "Place a grain 2:1 port" msgstr "Een graanhaven 2:1 op de tegel plaatsen" #: ../editor/gtk/editor.c:402 msgid "Place an ore 2:1 port" msgstr "Een ertshaven 2:1 op de tegel plaatsen" #: ../editor/gtk/editor.c:403 msgid "Place a wool 2:1 port" msgstr "Een houthaven 2:1 op de tegel plaatsen" #: ../editor/gtk/editor.c:404 msgid "Place a lumber 2:1 port" msgstr "Een houthaven 2:1 op de tegel plaatsen" #. Tooltip to remove a port tile in the editor #: ../editor/gtk/editor.c:406 msgid "Remove a port" msgstr "Een haven verwijderen" #: ../editor/gtk/editor.c:407 msgid "Place a 3:1 port" msgstr "Een 3 op 1 haven op de tegel plaatsen" #: ../editor/gtk/editor.c:437 msgid "" "Select the terrain type with the context menu on the left click or toggle a " "node to exclude it from being used during the setup phase" msgstr "" "Het type terrein kiezen met het contextmenu op de linkermuisklik of een " "knooppunt omschakelen om deze gedurende het opzetten te mogen gebruiken" #: ../editor/gtk/editor.c:572 msgid "Insert a row" msgstr "Een rij toevoegen" #: ../editor/gtk/editor.c:573 msgid "Delete a row" msgstr "Een rij verwijderen" #: ../editor/gtk/editor.c:574 msgid "Insert a column" msgstr "Een kolom toevoegen" #: ../editor/gtk/editor.c:575 msgid "Delete a column" msgstr "Een kolom verwijderen" #. Label #: ../editor/gtk/editor.c:978 msgid "_Title" msgstr "_Titel" #. Label #: ../editor/gtk/editor.c:991 msgid "_Description" msgstr "Om_schrijving" #. Label #: ../editor/gtk/editor.c:1009 msgid "_Comments" msgstr "_Opmerkingen" #. Menu item #: ../editor/gtk/editor.c:1139 msgid "Shuffle" msgstr "Schudden" #. Caption #. Game settings frame #: ../editor/gtk/editor.c:1294 ../server/gtk/main.c:968 msgid "Game parameters" msgstr "Spelinstellingen" #. Caption #. Rules frame #: ../editor/gtk/editor.c:1297 ../server/gtk/main.c:983 msgid "Rules" msgstr "Spelregels" #. Caption #: ../editor/gtk/editor.c:1299 msgid "Resources" msgstr "Grondstoffen" #. Caption #: ../editor/gtk/editor.c:1302 msgid "Buildings" msgstr "Gebouwen" #. The game in the editor does not have a name yet #: ../editor/gtk/editor.c:1319 msgid "Untitled" msgstr "Naamloos" #. Application caption #: ../editor/gtk/editor.c:1324 ../editor/gtk/pioneers-editor.desktop.in.h:1 msgid "Pioneers Editor" msgstr "Pioniers Editor" #: ../editor/gtk/editor.c:1434 #, c-format msgid "Failed to load '%s'" msgstr "Kan '%s' niet openen" #: ../editor/gtk/editor.c:1482 #, c-format msgid "Failed to save to '%s'" msgstr "Kan '%s' niet opslaan" #. Name of the file filter: show only games #: ../editor/gtk/editor.c:1499 msgid "Games" msgstr "Spelen" #. Name of the file filter: show all files #: ../editor/gtk/editor.c:1505 msgid "Unfiltered" msgstr "Geen filter" #. Dialog caption #: ../editor/gtk/editor.c:1517 msgid "Open Game" msgstr "Spel openen" #. Button text #: ../editor/gtk/editor.c:1524 msgid "_Open" msgstr "_Openen" #. Dialog caption #: ../editor/gtk/editor.c:1558 msgid "Save As..." msgstr "Opslaan als..." #. Button text #: ../editor/gtk/editor.c:1565 msgid "Save _As" msgstr "Opslaan _als" #. Dialog caption #: ../editor/gtk/editor.c:1606 msgid "Change Title" msgstr "Titel veranderen" #. Label #: ../editor/gtk/editor.c:1631 msgid "New title:" msgstr "Nieuwe titel:" #. Caption of about box #: ../editor/gtk/editor.c:1688 msgid "About Pioneers Game Editor" msgstr "Over Pioniers Editor" #. Menu entry #: ../editor/gtk/editor.c:1718 msgid "_File" msgstr "_Bestand" #. Menu entry #: ../editor/gtk/editor.c:1728 msgid "_New" msgstr "_Nieuw" #: ../editor/gtk/editor.c:1729 msgid "Create a new game" msgstr "Een nieuw spel aanmaken" #. Menu entry #: ../editor/gtk/editor.c:1732 msgid "_Open..." msgstr "_Openen..." #. Tooltip for Open menu entry #: ../editor/gtk/editor.c:1734 msgid "Open an existing game" msgstr "Een bestaand spel openen" #. Menu entry #: ../editor/gtk/editor.c:1737 msgid "_Save" msgstr "Op_slaan" #. Tooltip for Save menu entry #: ../editor/gtk/editor.c:1739 msgid "Save game" msgstr "Het spel opslaan" #. Menu entry #: ../editor/gtk/editor.c:1742 msgid "Save _As..." msgstr "Opslaan _als..." #. Tooltip for Save As menu entry #: ../editor/gtk/editor.c:1745 msgid "Save as" msgstr "Het spel onder een andere naam opslaan" #. Menu entry #: ../editor/gtk/editor.c:1748 msgid "Change _Title" msgstr "_Titel veranderen" #. Tooltip for Change Title menu entry #: ../editor/gtk/editor.c:1750 msgid "Change game title" msgstr "De titel van het spel veranderen" #. Menu entry #: ../editor/gtk/editor.c:1753 ../server/gtk/main.c:97 msgid "_Check Victory Point Target" msgstr "Winstpunten _controleren" #. Tooltip for Check Victory Point Target menu entry #. Tooltop for Check Victory Point Target menu entry #: ../editor/gtk/editor.c:1756 ../server/gtk/main.c:100 msgid "Check whether the game can be won" msgstr "Controleer of het mogelijk is dit spel te winnen" #. Tooltip for Quit menu entry #: ../editor/gtk/editor.c:1761 msgid "Quit" msgstr "Het programma afsluiten" #. Menu entry #: ../editor/gtk/editor.c:1783 msgid "_About Pioneers Editor" msgstr "_Over Pioniers Editor" #. Tooltip for About Pioneers Editor menu entry #: ../editor/gtk/editor.c:1785 msgid "Information about Pioneers Editor" msgstr "Informatie over Pioniers Editor" #. Long help for commandline option (editor): filename #: ../editor/gtk/editor.c:1838 msgid "Open this file" msgstr "Open dit bestand" #. Commandline option for editor: filename #. Commandline metaserver: pidfile argument #: ../editor/gtk/editor.c:1840 ../metaserver/main.c:615 msgid "filename" msgstr "bestandsnaam" #. Long description in the command line: --help #: ../editor/gtk/editor.c:1877 msgid "- Editor for games of Pioneers" msgstr "- Editor voor spellen Pioniers" #. Error message #: ../editor/gtk/editor.c:1921 ../server/gtk/main.c:1256 #, c-format msgid "Building menus failed: %s" msgstr "Opbouw menu niet gelukt: %s" #. Tab page name #: ../editor/gtk/editor.c:1951 msgid "Settings" msgstr "Instellingen" #. Tab page name #: ../editor/gtk/editor.c:1954 msgid "Comments" msgstr "Opmerkingen" #: ../editor/gtk/game-resources.c:48 msgid "Resource count" msgstr "Aantal grondstoffen" #: ../editor/gtk/pioneers-editor.desktop.in.h:2 msgid "Create your own game for Pioneers" msgstr "Ontwerp je eigen spel voor Pioniers" #: ../editor/gtk/pioneers-editor.desktop.in.h:3 msgid "game;board;create;edit;layout;Pioneers;Settlers;" msgstr "spel;bord;maken;bewerken;layout;Pioneers;Settlers;" #. Commandline metaserver: daemon #: ../metaserver/main.c:610 msgid "Daemonize the metaserver on start" msgstr "Start de metaserver als achtergrond taak" #. Commandline metaserver: pidfile #: ../metaserver/main.c:613 msgid "Pidfile to create when daemonizing (implies -d)" msgstr "Aanmaken pid-bestand bij starten in de achtergrond (betekent -d)" #. Commandline metaserver: redirect #: ../metaserver/main.c:618 msgid "Redirect clients to another metaserver" msgstr "Omleiding naar een andere metaserver" #. Commandline metaserver: server #: ../metaserver/main.c:621 msgid "Use this hostname when creating new games" msgstr "Gebruik deze hostname bij nieuwe spellen" #. Commandline metaserver: server argument #: ../metaserver/main.c:623 msgid "hostname" msgstr "hostname" #. Commandline metaserver: port-range #: ../metaserver/main.c:626 msgid "Use this port range when creating new games" msgstr "Gebruik dit bereik voor de poorten van nieuwe spellen" #. Commandline metaserver: port-range argument #: ../metaserver/main.c:628 msgid "from-to" msgstr "van-tot" #. Commandline option of metaserver: syslog-debug #: ../metaserver/main.c:634 msgid "Debug syslog messages" msgstr "Toon debug boodschappen in de syslog" #. Long description in the commandline for metaserver: help #: ../metaserver/main.c:675 msgid "- Metaserver for Pioneers" msgstr "- Metaserver voor Pioniers" #: ../metaserver/main.c:691 #, c-format msgid "metaserver protocol:" msgstr "Metaserver protocol:" #: ../server/avahi.c:68 msgid "Avahi registration successful.\n" msgstr "Avahi-aanmelding succesvol.\n" #: ../server/avahi.c:78 #, c-format msgid "Avahi service name collision, renaming service to '%s'.\n" msgstr "Avahi service naam bestaat al, hernoemd tot '%s'.\n" #. Some kind of failure happened while we were registering #: ../server/avahi.c:89 #, c-format msgid "Avahi error: %s\n" msgstr "Avahi fout: %s\n" #: ../server/avahi.c:113 ../server/avahi.c:145 ../server/avahi.c:155 #: ../server/avahi.c:191 ../server/avahi.c:212 ../server/avahi.c:226 #, c-format msgid "Avahi error: %s, %s\n" msgstr "Avahi fout: %s, %s\n" #: ../server/avahi.c:213 ../server/avahi.c:227 msgid "Unable to register Avahi server" msgstr "Kan geen verbinding met Avahi server maken" #: ../server/avahi.c:260 msgid "Unregistering Avahi.\n" msgstr "Avahi afmelden.\n" #. Menu entry #: ../server/gtk/main.c:108 msgid "_About Pioneers Server" msgstr "_Over Pioniers server" #. Tooltop for About Pioneers Server menu entry #: ../server/gtk/main.c:110 msgid "Information about Pioneers Server" msgstr "Informatie over de Pioniers server" #: ../server/gtk/main.c:234 msgid "Stop Server" msgstr "Server stoppen" #: ../server/gtk/main.c:235 msgid "Start Server" msgstr "Server starten" #: ../server/gtk/main.c:237 ../server/gtk/main.c:996 msgid "Stop the server" msgstr "De server stoppen" #: ../server/gtk/main.c:238 msgid "Start the server" msgstr "De server starten" #: ../server/gtk/main.c:395 #, c-format msgid "Player %s from %s entered\n" msgstr "Nieuwe speler: %s vanaf %s\n" #: ../server/gtk/main.c:402 #, c-format msgid "Player %s from %s left\n" msgstr "Speler %s vanaf %s heeft de verbinding verbroken\n" #: ../server/gtk/main.c:409 #, c-format msgid "Player %d is now %s\n" msgstr "Speler %d is nu %s\n" #: ../server/gtk/main.c:570 msgid "The port for the game server" msgstr "De poort van de server" #. register_toggle #: ../server/gtk/main.c:579 msgid "Register server" msgstr "Server registreren" #: ../server/gtk/main.c:587 msgid "Register this game at the metaserver" msgstr "Dit spel bij de metaserver aanmelden" #. hostname label #: ../server/gtk/main.c:618 msgid "Reported hostname" msgstr "Gerapporteerde hostnaam" #: ../server/gtk/main.c:633 msgid "" "The public name of this computer (needed when playing behind a firewall)" msgstr "" "De naam van deze computer (is nodig om een spel te registreren vanachter een " "firewall)" #. random toggle #: ../server/gtk/main.c:652 msgid "Random turn order" msgstr "Is de spelervolgorde willekeurig" #: ../server/gtk/main.c:659 msgid "Randomize turn order" msgstr "Is de spelervolgorde willekeurig" #. Tooltip for server connection overview #: ../server/gtk/main.c:730 msgid "Shows all players and spectators connected to the server" msgstr "Toont alle verbonden spelers en toeschouwers" #. Label for column Connected #: ../server/gtk/main.c:735 msgid "Connected" msgstr "Verbonden" #. Tooltip for column Connected #: ../server/gtk/main.c:742 msgid "Is the player currently connected?" msgstr "Is de speler op het moment verbonden?" #. Label for column Name #: ../server/gtk/main.c:747 msgid "Name" msgstr "Naam" #. Tooltip for column Name #: ../server/gtk/main.c:754 msgid "Name of the player" msgstr "Naam van de speler" #. Label for column Location #: ../server/gtk/main.c:758 msgid "Location" msgstr "Computer" #. Tooltip for column Location #: ../server/gtk/main.c:765 msgid "Host name of the player" msgstr "Computernaam van de speler" #. Label for column Number #: ../server/gtk/main.c:771 msgid "Number" msgstr "Nummer" #. Tooltip for column Number #: ../server/gtk/main.c:778 msgid "Player number" msgstr "Speler nummer" #. Label for column Role #: ../server/gtk/main.c:784 msgid "Role" msgstr "Rol" #. Tooltip for column Role #: ../server/gtk/main.c:788 msgid "Player or spectator" msgstr "Speler of toeschouwer" #. Button text #: ../server/gtk/main.c:825 msgid "Launch Pioneers Client" msgstr "Pioniers starten" #. Tooltip #: ../server/gtk/main.c:839 msgid "Launch the Pioneers client" msgstr "Pioniers starten" #. ai chat toggle #: ../server/gtk/main.c:868 msgid "Enable chat" msgstr "Chat inschakelen" #. Tooltip #: ../server/gtk/main.c:875 msgid "Enable chat messages" msgstr "De computerspeler mag chat-boodschappen versturen" #. Button text #: ../server/gtk/main.c:884 msgid "Add Computer Player" msgstr "Computerspeler toevoegen" #. Tooltip #: ../server/gtk/main.c:892 msgid "Add a computer player to the game" msgstr "Een computerspeler aan het spel toevoegen" #. Tooltip #: ../server/gtk/main.c:925 msgid "Messages from the server" msgstr "Berichten van de server" #: ../server/gtk/main.c:961 msgid "Game settings" msgstr "Spelinstellingen" #. server frame #: ../server/gtk/main.c:972 msgid "Server parameters" msgstr "Serverinstellingen" #: ../server/gtk/main.c:992 msgid "Running game" msgstr "Lopend spel" #. player connected frame #: ../server/gtk/main.c:1008 msgid "Players connected" msgstr "Huidige spelers" #. ai frame #: ../server/gtk/main.c:1012 msgid "Computer players" msgstr "Computerspelers" #. message frame #: ../server/gtk/main.c:1024 msgid "Messages" msgstr "Berichten" #. Caption of about box #: ../server/gtk/main.c:1150 msgid "About the Pioneers Game Server" msgstr "Over de Pioniers server" # #. Wait for all players to disconnect, #. * then enable the UI #. #: ../server/gtk/main.c:1158 msgid "The game is over.\n" msgstr "Het spel is afgelopen.\n" #. Long description in the commandline for server-gtk: help #. Long description in the commandline for server-console: help #: ../server/gtk/main.c:1212 ../server/main.c:194 msgid "- Host a game of Pioneers" msgstr "- Creëer een spel Pioniers" #. Name in the titlebar of the server #: ../server/gtk/main.c:1236 ../server/gtk/pioneers-server-gtk.desktop.in.h:1 msgid "Pioneers Server" msgstr "Pioniers Server" #: ../server/gtk/pioneers-server-gtk.desktop.in.h:2 msgid "Host a game of Pioneers" msgstr "Creëer een spel Pioniers" #: ../server/gtk/pioneers-server-gtk.desktop.in.h:3 msgid "game;board;server;host;Pioneers;Settlers;" msgstr "spel;bord;server;host;gastheer;Pioneers;Settlers;" #. Commandline server-console: game-title #: ../server/main.c:80 msgid "Game title to use" msgstr "Titel van het spel" #. Commandline server-console: file #: ../server/main.c:83 msgid "Game file to use" msgstr "Bestandsnaam van het spel" #. Commandline server-console: port #: ../server/main.c:86 msgid "Port to listen on" msgstr "Poort" #. Commandline server-console: players #: ../server/main.c:89 msgid "Override number of players" msgstr "Het aantal spelers" #. Commandline server-console: points #: ../server/main.c:92 msgid "Override number of points needed to win" msgstr "Het aantal benodigde punten om te winnen" #. Commandline server-console: seven-rule #: ../server/main.c:95 msgid "Override seven-rule handling" msgstr "Zeven regel" #. Commandline server-console: dice-deck #: ../server/main.c:98 msgid "Override dice-deck handling" msgstr "Dobbelsteenkaarten" #. Commandline server-console: num-dice-decks #: ../server/main.c:101 msgid "Override num-dice-decks handling" msgstr "Aantal pakken dobbelsteenkaarten" #. Commandline server-console: num-removed-dice-cards #: ../server/main.c:105 msgid "Override num-removed-dice-cards handling" msgstr "Aantal dobbelsteenkaarten dat verwijderd wordt" #. Commandline server-console: terrain #: ../server/main.c:108 msgid "Override terrain type, 0=default 1=random" msgstr "Terrein type, 0=standaard 1=willekeurig" #. Commandline server-console: computer-players #: ../server/main.c:111 msgid "Add N computer players" msgstr "Voeg N computerspelers toe" #. Commandline server-console: register #: ../server/main.c:121 msgid "Register server with metaserver" msgstr "Registreer dit spel bij de metaserver" #. Commandline server-console: metaserver #: ../server/main.c:124 msgid "Register at metaserver name (implies -r)" msgstr "Registreer bij metaserver naam (betekent -r)" #. Commandline server-console: hostname #: ../server/main.c:128 msgid "Use this hostname when registering" msgstr "Gebruik deze hostname bij registratie" #. Commandline server-console: auto-quit #: ../server/main.c:135 msgid "Quit after a player has won" msgstr "Stop wanneer het spel gewonnen is" #. Commandline server-console: empty-timeout #: ../server/main.c:138 msgid "Quit after N seconds with no players" msgstr "Stop wanneer na N seconden geen spelers gekomen zijn" #. Commandline server-console: tournament #: ../server/main.c:141 msgid "Tournament mode, computer players added after N minutes" msgstr "Toernooi modus, computerspelers worden toegevoegd na N minuten" #. Commandline server-console: admin-port #: ../server/main.c:145 msgid "Admin port to listen on" msgstr "Administratie poort" #. Commandline server-console: admin-wait #: ../server/main.c:148 msgid "Don't start game immediately, wait for a command on admin port" msgstr "Start het spel na een commando via de administratie poort" #. Commandline server-console: fixed-seating-order #: ../server/main.c:154 msgid "Give players numbers according to the order they enter the game" msgstr "Geef de spelers nummers in de volgorde waarin ze het spel betreden" #. Commandline server-console: Short description of meta group #: ../server/main.c:200 msgid "Metaserver Options" msgstr "Metaserver opties" #. Commandline server-console: Long description of meta group #: ../server/main.c:202 msgid "Options for the metaserver" msgstr "Opties voor de metaserver" #. Commandline server-console: Short description of misc group #: ../server/main.c:211 msgid "Miscellaneous Options" msgstr "Diverse opties" #. Commandline server-console: Long description of misc group #: ../server/main.c:213 msgid "Miscellaneous options" msgstr "Diverse opties" #. server-console commandline error #: ../server/main.c:239 #, c-format msgid "Cannot set game title and filename at the same time\n" msgstr "Kan niet én de titel én de bestandsnaam tegelijkertijd instellen\n" #. server-console commandline error #: ../server/main.c:256 #, c-format msgid "Cannot load the parameters for the game\n" msgstr "Kan de parameters van het spel niet laden\n" #. Error message #: ../server/main.c:305 ../server/main.c:324 #, c-format msgid "The network port (%s) for the admin interface is not available.\n" msgstr "De netwerkpoort (%s) voor de beheerderstoegang is niet beschikbaar.\n" #: ../server/meta.c:58 msgid "The connection to the metaserver is lost.\n" msgstr "De connectie met de metaserver is verbroken.\n" #: ../server/meta.c:64 #, c-format msgid "An attempt to reconnect is scheduled in %u second.\n" msgid_plural "An attempt to reconnect is scheduled in %u seconds.\n" msgstr[0] "Een nieuwe verbindingspoging wordt ondernomen in %u seconde.\n" msgstr[1] "Een nieuwe verbindingspoging wordt ondernomen in %u seconden.\n" #: ../server/meta.c:83 msgid "Attempting to reconnect to the metaserver.\n" msgstr "Probeert opnieuw contact te maken met de metaserver.\n" #: ../server/meta.c:311 #, c-format msgid "Register with the metaserver at %s.\n" msgstr "Aanmelden bij de metaserver op %s.\n" #: ../server/meta.c:322 msgid "Unregister from the metaserver.\n" msgstr "Afmelden bij de metaserver: %s\n" #: ../server/player.c:142 msgid "chat too long" msgstr "bericht te lang" #: ../server/player.c:159 msgid "name too long" msgstr "naam te lang" #: ../server/player.c:191 msgid "ignoring unknown extension" msgstr "onbekende extensie genegeerd" #: ../server/player.c:228 ../server/player.c:298 msgid "The last player left, the tournament timer is reset." msgstr "De laatste speler is vertrokken, de teller wordt opnieuw ingesteld." #: ../server/player.c:262 ../server/player.c:643 msgid "No human players present. Bye." msgstr "Geen mensen gevonden. Doei." #: ../server/player.c:269 msgid "Game starts, adding computer players." msgstr "Het spel gaat beginnen, computerspelers worden toegevoegd." #: ../server/player.c:311 #, c-format msgid "The game starts in %s minutes." msgstr "Het spel start over %s minuten" #: ../server/player.c:312 #, c-format msgid "The game starts in %s minute." msgstr "Het spel start over %s minuut" # #. Default name for the AI when the computer_names file #. * is not found or empty. #. #: ../server/player.c:370 ../server/player.c:376 msgid "Computer Player" msgstr "Computerspeler" #: ../server/player.c:450 #, c-format msgid "Unable to determine the hostname of the player: %s" msgstr "Kan de computernaam van de speler niet bepalen: %s" #. The game is over, don't accept new players #. Message to send to the client when the game is already over #. * when a connection is made. #: ../server/player.c:476 msgid "Sorry, game is over." msgstr "Helaas, het spel is al afgelopen." #: ../server/player.c:478 #, c-format msgid "Player from %s is refused: game is over\n" msgstr "Speler vanaf %s geweigerd: het spel is afgelopen\n" #: ../server/player.c:520 msgid "Name not changed: new name is already in use" msgstr "Naam niet veranderd: de nieuwe naam is al in gebruik" #: ../server/player.c:638 ../server/server.c:38 msgid "Was hanging around for too long without players... bye.\n" msgstr "Na lang wachten zijn er nog steeds geen spelers... Doei.\n" #: ../server/player.c:723 msgid "The last human player left. Waiting for the return of a player." msgstr "" "The laatste menselijke speler heeft het spel verlaten. Wacht op de terugkeer " "van een speler." #: ../server/player.c:744 msgid "Resuming the game." msgstr "Het spel wordt hervat." #. %s is the name of the reconnecting player #: ../server/player.c:870 #, c-format msgid "%s has reconnected." msgstr "%s is weer terug." #: ../server/player.c:970 #, c-format msgid "Version mismatch: %s" msgstr "De versies van de server en de client komen niet overeen: %s" #: ../server/player.c:1007 msgid "This game will start soon." msgstr "Dit spel start binnenkort." #. Server: preparing game #..... #: ../server/server.c:221 msgid "Preparing game" msgstr "Voorbereiden spel" #: ../server/turn.c:254 msgid "Island Discovery Bonus" msgstr "Eiland ontdekkingsbonus" #: ../server/turn.c:255 msgid "Additional Island Bonus" msgstr "Extra eiland bonus" #: ../server/turn.c:386 msgid "Tried to assign resources to NULL player.\n" msgstr "Poging om grondstoffen aan de NULL speler te geven.\n" #. Cheat mode has been activated #: ../server/turn.c:516 msgid "The dice roll has been determined by the administrator." msgstr "De administrator heeft de dobbelsteenworp vastgesteld." #~ msgid "Join the selected game" #~ msgstr "In het gekozen spel meespelen" #~ msgid "Don't join a public game" #~ msgstr "Niet meespelen" #~ msgid "Create a new public game at the metaserver" #~ msgstr "Een nieuw spel via de metaserver starten" #~ msgid "Refresh the list of games" #~ msgstr "De lijst met spellen verversen" #~ msgid "Version:" #~ msgstr "Versie:" #~ msgid "Homepage:" #~ msgstr "Homepage:" #~ msgid "Authors:" #~ msgstr "Geschreven door:" #~ msgid "Pioneers is translated to by:\n" #~ msgstr "Pioneers is vertaald naar het Nederlands door:\n" #~ msgid "Metaserver kicked us off\n" #~ msgstr "De metaserver heeft de verbinding verbroken.\n" #~ msgid "" #~ "Note:\n" #~ "\tThe metaserver does not send information about the games.\n" #~ "\tPlease set appropriate values yourself." #~ msgstr "" #~ "Opmerkingen:\n" #~ "\tDe metaserver verstrekt geen informatie over de spellen.\n" #~ "\tKies zelf geschikte instellingen." #~ msgid "Error checking connect status: %s\n" #~ msgstr "Fout bij het controleren van verbinding: %s\n" #~ msgid "Error connecting to host '%s': %s\n" #~ msgstr "Kan geen verbinding maken met computer \"%s\": %s\n" #~ msgid "Error writing socket: %s\n" #~ msgstr "Fout bij het schrijven naar netwerk: %s\n" #~ msgid "Error creating socket: %s\n" #~ msgstr "Fout bij het maken van een netwerkverbinding: %s\n" #~ msgid "Error setting socket close-on-exec: %s\n" #~ msgstr "Fout bij het instellen van netwerkverbinding op close-on-exec: %s\n" #~ msgid "Error setting socket non-blocking: %s\n" #~ msgstr "Fout bij het instellen van netwerkverbinding op non-blocking: %s\n" #~ msgid "Cannot resolve %s port %s: %s\n" #~ msgstr "Onbekende computer %s (poort %s): %s\n" #~ msgid "Cannot resolve %s port %s: host not found\n" #~ msgstr "Computer %s (poort %s) kan niet gevonden worden\n" #~ msgid "Error creating struct addrinfo: %s" #~ msgstr "Fout bij het maken van struct addrinfo: %s" #~ msgid "Error creating listening socket: %s\n" #~ msgstr "Fout bij het opzetten van de netwerkverbinding: %s\n" #~ msgid "Error during listen on socket: %s\n" #~ msgstr "Fout bij het wachten op verbindingen: %s\n" #~ msgid "Listening not yet supported on this platform." #~ msgstr "Luisterende verbindingen nog niet ondersteund op dit platform." #~ msgid "Error getting peer name: %s" #~ msgstr "Fout bij het opzoeken van de computernaam: %s" #~ msgid "Error resolving address: %s" #~ msgstr "Fout bij het opzoeken van de computernaam: %s" #~ msgid "Net_get_peer_name not yet supported on this platform." #~ msgstr "" #~ "De functie Net_get_peer_name is nog niet ondersteund op dit platform." #~ msgid "Error accepting connection: %s" #~ msgstr "Fout bij het accepteren van een verbinding: %s" #~ msgid "Admin port not available.\n" #~ msgstr "Poort voor beheers is niet beschikbaar.\n" #~ msgid "Admin port is not set, cannot disable game start too\n" #~ msgstr "" #~ "De administratie poort is niet ingesteld, het is mogelijk om de start van " #~ "het spel uit te stellen\n" #~ msgid "Viewer %d" #~ msgstr "Toeschouwer %d" #~ msgid "viewer %d" #~ msgstr "toeschouwer %d" #~ msgid "I want" #~ msgstr "Ik wil" #~ msgid "Give them" #~ msgstr "Ik geef" #~ msgid "Viewer: " #~ msgstr "Toeschouwer: " #~ msgid "Number of AI Players" #~ msgstr "Aantal computerspelers" #~ msgid "The number of AI players" #~ msgstr "Aantal computerspelers" #~ msgid "Recent Games" #~ msgstr "Recente spellen" #~ msgid "You may choose 1 resource" #~ msgstr "Je mag 1 grondstofkaart kiezen" #~ msgid "_Player name" #~ msgstr "_Verander naam" #~ msgid "The Pioneers Game" #~ msgstr "Pioniers" #~ msgid "Select the ship to steal from" #~ msgstr "Kies een schip om te bestelen" #~ msgid "Select the building to steal from" #~ msgstr "Kies een gebouw om te bestelen" #~ msgid "Development Card" #~ msgstr "Ontwikkelingskaart" #~ msgid "Player Name:" #~ msgstr "Naam:" #~ msgid "I Want" #~ msgstr "Ik wil" #~ msgid "Interplayer Trading Allowed?" #~ msgstr "Handel tussen spelers toegestaan?" #~ msgid "Trading allowed only before build/buy?" #~ msgstr "Handelen alleen toegestaan voor het bouwen?" #~ msgid "Check Victory Only At End Of Turn?" #~ msgstr "Controleer winstpunten aan eind van de beurt?" #~ msgid "Sevens Rule:" #~ msgstr "Zevensregel:" #~ msgid "Use Pirate:" #~ msgstr "Gebruik piraat:" #~ msgid "Number of Players" #~ msgstr "Aantal spelers" #~ msgid "Development Cards" #~ msgstr "Ontwikkelingskaarten" #~ msgid "Save as..." #~ msgstr "Opslaan als..." #~ msgid "Pioneers Game Editor" #~ msgstr "Pioniers Spel Editor" #~ msgid "_Change title" #~ msgstr "_Verander titel" #~ msgid "Random Turn Order" #~ msgstr "Volgorde willekeurig" #~ msgid "_Legend" #~ msgstr "_Legenda" #~ msgid "bad scaling mode '%s'" #~ msgstr "Ongeldig schaaltype \"%s\"" #~ msgid "Missing game directory\n" #~ msgstr "Spellenmap niet gevonden\n" pioneers-15.5/po/pioneers.pot0000644000175000017500000023323413252243610013204 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-03-14 16:51+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #. Commandline pioneersai: chromosome-file #: ../client/ai/ai.c:90 msgid "Chromosome File" msgstr "" #. Commandline pioneersai: server #: ../client/ai/ai.c:93 msgid "Server Host" msgstr "" #. Commandline pioneersai: port #: ../client/ai/ai.c:96 msgid "Server Port" msgstr "" #. Commandline pioneersai: name #: ../client/ai/ai.c:99 msgid "Computer name (mandatory)" msgstr "" #. Commandline pioneersai: time #: ../client/ai/ai.c:102 msgid "Time to wait between turns (in milliseconds)" msgstr "" #. Commandline pioneersai: chat-free #: ../client/ai/ai.c:105 msgid "Stop computer player from talking" msgstr "" #. Commandline pioneersai: algorithm #: ../client/ai/ai.c:108 msgid "Type of computer player" msgstr "" #. Commandline option of ai: enable debug logging #. Commandline option of client: enable debug logging #. Commandline option of metaserver: enable debug logging #. Commandline option of server-gtk: enable debug logging #. Commandline option of server: enable debug logging #: ../client/ai/ai.c:111 ../client/gtk/offline.c:67 ../metaserver/main.c:631 #: ../server/gtk/main.c:1170 ../server/main.c:159 msgid "Enable debug messages" msgstr "" #. Commandline option of ai: version #. Commandline option of client: version #. Commandline option of editor: version #. Commandline option of metaserver: version #. Commandline option of server-gtk: version #. Commandline option of server-console: version #: ../client/ai/ai.c:114 ../client/gtk/offline.c:70 ../editor/gtk/editor.c:1843 #: ../metaserver/main.c:637 ../server/gtk/main.c:1173 ../server/main.c:114 msgid "Show version information" msgstr "" #. Long description in the commandline for pioneersai: help #: ../client/ai/ai.c:125 msgid "- Computer player for Pioneers" msgstr "" #: ../client/ai/ai.c:137 ../client/gtk/offline.c:196 #: ../editor/gtk/editor.c:1888 ../metaserver/main.c:687 #: ../server/gtk/main.c:1223 ../server/main.c:226 #, c-format msgid "Pioneers version:" msgstr "" #. ai commandline error #: ../client/ai/ai.c:160 #, c-format msgid "A name must be provided.\n" msgstr "" #: ../client/ai/ai.c:171 #, c-format msgid "Type of computer player: %s\n" msgstr "" #: ../client/ai/ai.c:202 msgid "The game is already full. I'm leaving." msgstr "" #. AI chat at the start of the turn #: ../client/ai/ai.c:230 msgid "Ok, let's go!" msgstr "" #. AI chat at the start of the turn #: ../client/ai/ai.c:232 msgid "I'll beat you all now! ;)" msgstr "" #. AI chat at the start of the turn #: ../client/ai/ai.c:234 msgid "Now for another try..." msgstr "" #. AI chat when one resource is received #: ../client/ai/ai.c:239 msgid "At least I get something..." msgstr "" #. AI chat when one resource is received #: ../client/ai/ai.c:241 msgid "One is better than none..." msgstr "" #. AI chat when more than one resource is received #: ../client/ai/ai.c:246 msgid "Wow!" msgstr "" #. AI chat when more than one resource is received #: ../client/ai/ai.c:248 msgid "Ey, I'm becoming rich ;)" msgstr "" #. AI chat when more than one resource is received #: ../client/ai/ai.c:250 msgid "This is really a good year!" msgstr "" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:255 msgid "You really don't deserve that much!" msgstr "" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:257 msgid "You don't know what to do with that many resources ;)" msgstr "" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:259 msgid "Ey, wait for my robber and lose all this again!" msgstr "" #. AI chat when it moves the robber #: ../client/ai/ai.c:264 msgid "Hehe!" msgstr "" #. AI chat when it moves the robber #: ../client/ai/ai.c:266 msgid "Go, robber, go!" msgstr "" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:271 msgid "You bastard!" msgstr "" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:273 msgid "Can't you move that robber somewhere else?!" msgstr "" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:275 msgid "Why always me??" msgstr "" #. AI chat when it must discard resources #: ../client/ai/ai.c:280 msgid "Oh no!" msgstr "" #. AI chat when it must discard resources #: ../client/ai/ai.c:282 msgid "Grrr!" msgstr "" #. AI chat when it must discard resources #: ../client/ai/ai.c:284 msgid "Who the hell rolled that 7??" msgstr "" #. AI chat when it must discard resources #: ../client/ai/ai.c:286 msgid "Why always me?!?" msgstr "" #. AI chat when other players must discard #: ../client/ai/ai.c:291 msgid "Say good bye to your cards... :)" msgstr "" #. AI chat when other players must discard #: ../client/ai/ai.c:293 msgid "*evilgrin*" msgstr "" #. AI chat when other players must discard #: ../client/ai/ai.c:295 msgid "/me says farewell to your cards ;)" msgstr "" #. AI chat when other players must discard #: ../client/ai/ai.c:297 msgid "That's the price for being rich... :)" msgstr "" #. AI chat when someone steals from it #: ../client/ai/ai.c:302 msgid "Ey! Where's that card gone?" msgstr "" #. AI chat when someone steals from it #: ../client/ai/ai.c:304 msgid "Thieves! Thieves!!" msgstr "" #. AI chat when someone steals from it #: ../client/ai/ai.c:306 msgid "Wait for my revenge..." msgstr "" #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:311 msgid "Oh no :(" msgstr "" #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:313 msgid "Must this happen NOW??" msgstr "" #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:315 msgid "Args" msgstr "" #. AI chat when it has the largest army #: ../client/ai/ai.c:320 msgid "Hehe, my soldiers rule!" msgstr "" #. AI chat when another player that the largest army #: ../client/ai/ai.c:325 msgid "First robbing us, then grabbing the points..." msgstr "" #. AI chat when it has the longest road #: ../client/ai/ai.c:330 msgid "See that road!" msgstr "" #. AI chat when another player has the longest road #: ../client/ai/ai.c:335 msgid "Pf, you won't win with roads alone..." msgstr "" #: ../client/ai/ai.c:434 #, c-format msgid "Received error from server: %s. Quitting\n" msgstr "" #. AI chat when it wins #: ../client/ai/ai.c:446 ../client/ai/genetic.c:2766 msgid "Yippie!" msgstr "" #. AI chat when another player wins #: ../client/ai/ai.c:449 ../client/ai/genetic.c:2777 msgid "My congratulations" msgstr "" #: ../client/ai/genetic.c:1277 ../client/ai/greedy.c:961 msgid "No settlements in stock to use for setup" msgstr "" #: ../client/ai/genetic.c:1284 ../client/ai/greedy.c:968 msgid "There is no place to setup a settlement" msgstr "" #: ../client/ai/genetic.c:1311 ../client/ai/greedy.c:992 msgid "No roads in stock to use for setup" msgstr "" #: ../client/ai/genetic.c:1329 ../client/ai/greedy.c:1009 msgid "There is no place to setup a road" msgstr "" #: ../client/ai/genetic.c:2651 ../client/ai/greedy.c:1784 msgid "Rejecting trade.\n" msgstr "" #. Translators: don't translate '/help' #: ../client/ai/lobbybot.c:80 msgid "" "Hello, welcome to the lobby. I am a simple robot. Type '/help' in the chat " "to see the list of commands I know." msgstr "" #. Translators: don't translate '/help' #: ../client/ai/lobbybot.c:107 msgid "'/help' shows this message again" msgstr "" #. Translators: don't translate '/why' #: ../client/ai/lobbybot.c:110 msgid "'/why' explains the purpose of this strange board layout" msgstr "" #. Translators: don't translate '/news' #: ../client/ai/lobbybot.c:113 msgid "'/news' tells the last released version" msgstr "" #. AI chat that explains '/why' #: ../client/ai/lobbybot.c:119 msgid "" "This board is not intended to be a game that can be played. Instead, players " "can find eachother here, and decide which board they want to play. Then, one " "of the players will host the proposed game by starting a server, and " "registers it at the metaserver. The other players can subsequently " "disconnect from the lobby, and enter that game." msgstr "" #: ../client/ai/lobbybot.c:130 msgid "The last released version of Pioneers is" msgstr "" #. The lobbybot leaves when a game is starting #: ../client/ai/lobbybot.c:146 msgid "The game is starting. I'm not needed anymore. Goodbye." msgstr "" #: ../client/common/client.c:105 msgid "Waiting" msgstr "" #: ../client/common/client.c:107 msgid "Idle" msgstr "" #: ../client/common/client.c:532 msgid "We have been kicked out of the game.\n" msgstr "" #. Network status: offline #: ../client/common/client.c:535 ../client/common/client.c:990 #: ../client/gtk/gui.c:1532 msgid "Offline" msgstr "" #: ../client/common/client.c:556 #, c-format msgid "Error (%s): %s\n" msgstr "" #: ../client/common/client.c:565 ../client/common/client.c:576 #, c-format msgid "Notice: %s\n" msgstr "" #: ../client/common/client.c:693 #, c-format msgid "%s does not receive any %s, because the bank is empty.\n" msgstr "" #: ../client/common/client.c:706 #, c-format msgid "%s only receives %s, because the bank didn't have any more.\n" msgstr "" #: ../client/common/client.c:716 #, c-format msgid "%s receives %s.\n" msgstr "" #. Year of Plenty #: ../client/common/client.c:724 ../client/common/client.c:2663 #, c-format msgid "%s takes %s.\n" msgstr "" #: ../client/common/client.c:729 #, c-format msgid "%s spent %s.\n" msgstr "" #: ../client/common/client.c:735 #, c-format msgid "%s is refunded %s.\n" msgstr "" #. %s = Player name #: ../client/common/client.c:753 #, c-format msgid "%s shuffled the dice deck.\n" msgstr "" #: ../client/common/client.c:772 #, c-format msgid "%s discarded %s.\n" msgstr "" #: ../client/common/client.c:846 #, c-format msgid "%s has won the game with %d victory points!\n" msgstr "" #: ../client/common/client.c:945 msgid "Loading" msgstr "" #: ../client/common/client.c:991 msgid "Version mismatch." msgstr "" #: ../client/common/client.c:993 msgid "Version mismatch. Please make sure client and server are up to date.\n" msgstr "" #: ../client/common/client.c:1413 msgid "Build two settlements, each with a connecting" msgstr "" #: ../client/common/client.c:1416 msgid "Build a settlement with a connecting" msgstr "" #: ../client/common/client.c:1419 msgid "road" msgstr "" #: ../client/common/client.c:1421 msgid "bridge" msgstr "" #: ../client/common/client.c:1423 msgid "ship" msgstr "" #: ../client/common/client.c:1430 msgid " or" msgstr "" #: ../client/common/client.c:1494 msgid "Waiting for your turn." msgstr "" #: ../client/common/client.c:1546 ../client/gtk/interface.c:784 msgid "Select the building to steal from." msgstr "" #: ../client/common/client.c:1568 ../client/gtk/interface.c:774 msgid "Select the ship to steal from." msgstr "" #: ../client/common/client.c:1652 ../client/gtk/interface.c:816 msgid "Place the robber." msgstr "" #: ../client/common/client.c:1702 msgid "Finish the road building action." msgstr "" #: ../client/common/client.c:1704 msgid "Build one road segment." msgstr "" #: ../client/common/client.c:1706 msgid "Build two road segments." msgstr "" #. Notification #: ../client/common/client.c:1979 ../client/common/client.c:2073 #: ../client/gtk/interface.c:432 msgid "It is your turn." msgstr "" #: ../client/common/client.c:2167 #, c-format msgid "Sorry, %s available.\n" msgstr "" #: ../client/common/client.c:2481 msgid "The game is over." msgstr "" #. This development card is unique #: ../client/common/develop.c:67 #, c-format msgid "You bought the %s development card.\n" msgstr "" #. This development card is not unique #: ../client/common/develop.c:73 #, c-format msgid "You bought a %s development card.\n" msgstr "" #: ../client/common/develop.c:103 #, c-format msgid "%s bought a development card.\n" msgstr "" #: ../client/common/develop.c:121 #, c-format msgid "%s played the %s development card.\n" msgstr "" #: ../client/common/develop.c:126 #, c-format msgid "%s played a %s development card.\n" msgstr "" #: ../client/common/develop.c:138 msgid "You have run out of road segments.\n" msgstr "" #. I get the cards #. $1=resources, $2=player that loses resources #: ../client/common/develop.c:179 #, c-format msgid "You get %s from %s.\n" msgstr "" #. I lose the cards #. $1=player that steals, $2=resources #: ../client/common/develop.c:185 #, c-format msgid "%s took %s from you.\n" msgstr "" #: ../client/common/develop.c:192 #, c-format msgid "%s took %s from %s.\n" msgstr "" #: ../client/common/player.c:125 ../server/player.c:567 #, c-format msgid "Spectator %d" msgstr "" #: ../client/common/player.c:128 #, c-format msgid "spectator %d" msgstr "" #: ../client/common/player.c:137 ../server/player.c:570 #, c-format msgid "Player %d" msgstr "" #: ../client/common/player.c:139 #, c-format msgid "player %d" msgstr "" #: ../client/common/player.c:216 #, c-format msgid "New spectator: %s.\n" msgstr "" #: ../client/common/player.c:219 ../client/common/player.c:235 #, c-format msgid "%s is now %s.\n" msgstr "" #: ../client/common/player.c:232 #, c-format msgid "Player %d is now %s.\n" msgstr "" #: ../client/common/player.c:269 #, c-format msgid "%s has quit.\n" msgstr "" #: ../client/common/player.c:278 msgid "There is no largest army.\n" msgstr "" #: ../client/common/player.c:281 #, c-format msgid "%s has the largest army.\n" msgstr "" #: ../client/common/player.c:302 msgid "There is no longest road.\n" msgstr "" #: ../client/common/player.c:305 #, c-format msgid "%s has the longest road.\n" msgstr "" #: ../client/common/player.c:326 #, c-format msgid "Waiting for %s." msgstr "" #. We are not in on the action #. someone stole a resource from someone else #: ../client/common/player.c:354 #, c-format msgid "%s stole a resource from %s.\n" msgstr "" #. $1=resource, $2=player name #: ../client/common/player.c:365 #, c-format msgid "You stole %s from %s.\n" msgstr "" #. $1=player name, $2=resource #: ../client/common/player.c:372 #, c-format msgid "%s stole %s from you.\n" msgstr "" #: ../client/common/player.c:406 #, c-format msgid "%s gave %s nothing!?\n" msgstr "" #. $1=giving player, $2=receiving player, $3=resources #: ../client/common/player.c:413 ../client/common/player.c:423 #, c-format msgid "%s gave %s %s for free.\n" msgstr "" #: ../client/common/player.c:431 #, c-format msgid "%s gave %s %s in exchange for %s.\n" msgstr "" #: ../client/common/player.c:462 #, c-format msgid "%s exchanged %s for %s.\n" msgstr "" #: ../client/common/player.c:482 #, c-format msgid "%s built a road.\n" msgstr "" #: ../client/common/player.c:494 #, c-format msgid "%s built a ship.\n" msgstr "" #: ../client/common/player.c:507 #, c-format msgid "%s built a settlement.\n" msgstr "" #: ../client/common/player.c:526 #, c-format msgid "%s built a city.\n" msgstr "" #: ../client/common/player.c:540 #, c-format msgid "%s built a city wall.\n" msgstr "" #. Error message #: ../client/common/player.c:551 #, c-format msgid "player_build_add called with BUILD_NONE for user %s\n" msgstr "" #: ../client/common/player.c:561 #, c-format msgid "%s built a bridge.\n" msgstr "" #: ../client/common/player.c:587 #, c-format msgid "%s removed a road.\n" msgstr "" #: ../client/common/player.c:597 #, c-format msgid "%s removed a ship.\n" msgstr "" #: ../client/common/player.c:607 #, c-format msgid "%s removed a settlement.\n" msgstr "" #: ../client/common/player.c:618 #, c-format msgid "%s removed a city.\n" msgstr "" #: ../client/common/player.c:632 #, c-format msgid "%s removed a city wall.\n" msgstr "" #. Error message #: ../client/common/player.c:642 #, c-format msgid "player_build_remove called with BUILD_NONE for user %s\n" msgstr "" #: ../client/common/player.c:651 #, c-format msgid "%s removed a bridge.\n" msgstr "" #: ../client/common/player.c:682 #, c-format msgid "%s has canceled a ship's movement.\n" msgstr "" #: ../client/common/player.c:685 #, c-format msgid "%s moved a ship.\n" msgstr "" #. tell the user that someone got something #: ../client/common/player.c:705 #, c-format msgid "%s received %s.\n" msgstr "" #: ../client/common/player.c:724 msgid "server asks to lose invalid point.\n" msgstr "" #. tell the user the point is lost #: ../client/common/player.c:730 #, c-format msgid "%s lost %s.\n" msgstr "" #: ../client/common/player.c:753 msgid "server asks to move invalid point.\n" msgstr "" #. tell the user someone (1) lost something (2) to someone else (3) #: ../client/common/player.c:760 #, c-format msgid "%s lost %s to %s.\n" msgstr "" #: ../client/common/resource.c:35 msgid "brick" msgstr "" #: ../client/common/resource.c:35 msgid "Brick" msgstr "" #: ../client/common/resource.c:36 msgid "grain" msgstr "" #: ../client/common/resource.c:36 msgid "Grain" msgstr "" #: ../client/common/resource.c:37 msgid "ore" msgstr "" #: ../client/common/resource.c:37 msgid "Ore" msgstr "" #: ../client/common/resource.c:38 msgid "wool" msgstr "" #: ../client/common/resource.c:38 msgid "Wool" msgstr "" #: ../client/common/resource.c:39 msgid "lumber" msgstr "" #: ../client/common/resource.c:39 msgid "Lumber" msgstr "" #: ../client/common/resource.c:40 msgid "no resource (bug)" msgstr "" #: ../client/common/resource.c:40 msgid "No resource (bug)" msgstr "" #: ../client/common/resource.c:41 msgid "any resource (bug)" msgstr "" #: ../client/common/resource.c:41 msgid "Any resource (bug)" msgstr "" #: ../client/common/resource.c:42 msgid "gold" msgstr "" #: ../client/common/resource.c:42 ../client/gtk/legend.c:41 msgid "Gold" msgstr "" #: ../client/common/resource.c:47 msgid "a brick card" msgstr "" #: ../client/common/resource.c:47 #, c-format msgid "%d brick cards" msgstr "" #: ../client/common/resource.c:48 msgid "a grain card" msgstr "" #: ../client/common/resource.c:48 #, c-format msgid "%d grain cards" msgstr "" #: ../client/common/resource.c:49 msgid "an ore card" msgstr "" #: ../client/common/resource.c:49 #, c-format msgid "%d ore cards" msgstr "" #: ../client/common/resource.c:50 msgid "a wool card" msgstr "" #: ../client/common/resource.c:50 #, c-format msgid "%d wool cards" msgstr "" #: ../client/common/resource.c:51 msgid "a lumber card" msgstr "" #: ../client/common/resource.c:51 #, c-format msgid "%d lumber cards" msgstr "" #: ../client/common/resource.c:139 ../client/common/resource.c:225 msgid "nothing" msgstr "" #. Construct "A, B and C" for resources #: ../client/common/resource.c:166 #, c-format msgid "%s and %s" msgstr "" #. Construct "A, B and C" for resources #: ../client/common/resource.c:170 #, c-format msgid "%s, %s" msgstr "" #: ../client/common/robber.c:62 #, c-format msgid "%s has undone the robber movement.\n" msgstr "" #: ../client/common/robber.c:65 #, c-format msgid "%s moved the robber.\n" msgstr "" #: ../client/common/robber.c:75 #, c-format msgid "%s has undone the pirate movement.\n" msgstr "" #: ../client/common/robber.c:78 #, c-format msgid "%s moved the pirate.\n" msgstr "" #: ../client/common/robber.c:85 #, c-format msgid "%s must move the robber." msgstr "" #: ../client/common/setup.c:146 #, c-format msgid "Setup for %s.\n" msgstr "" #: ../client/common/setup.c:158 #, c-format msgid "Double setup for %s.\n" msgstr "" #: ../client/common/turn.c:37 #, c-format msgid "%s rolled %d.\n" msgstr "" #: ../client/common/turn.c:50 #, c-format msgid "Begin turn %d for %s.\n" msgstr "" #: ../client/gtk/avahi-browser.c:83 msgid "Select an automatically discovered game" msgstr "" #. $1=Game title, $2=version, $3=host_name, $4=port #: ../client/gtk/avahi-browser.c:132 #, c-format msgid "%s (%s) on %s:%s" msgstr "" #. Label text #: ../client/gtk/chat.c:73 msgid "Chat" msgstr "" #: ../client/gtk/chat.c:232 msgid "Beeper test.\n" msgstr "" #: ../client/gtk/chat.c:235 #, c-format msgid "%s beeped you.\n" msgstr "" #: ../client/gtk/chat.c:239 #, c-format msgid "You beeped %s.\n" msgstr "" #: ../client/gtk/chat.c:245 #, c-format msgid "You could not beep %s.\n" msgstr "" #: ../client/gtk/chat.c:287 msgid " said: " msgstr "" #: ../client/gtk/connect.c:286 #, c-format msgid "Metaserver at %s, port %s" msgstr "" #: ../client/gtk/connect.c:296 msgid "Finished.\n" msgstr "" #: ../client/gtk/connect.c:311 ../client/gtk/connect.c:389 #: ../client/gtk/connect.c:408 ../client/gtk/connect.c:979 msgid "The metaserver is not available anymore.\n" msgstr "" #: ../client/gtk/connect.c:322 ../client/gtk/connect.c:443 #: ../client/gtk/connect.c:770 msgid "The metaserver closed the connection unexpectedly.\n" msgstr "" #: ../client/gtk/connect.c:380 msgid "Receiving game names from the metaserver.\n" msgstr "" #: ../client/gtk/connect.c:422 #, c-format msgid "New game server requested on %s port %s.\n" msgstr "" #: ../client/gtk/connect.c:432 msgid "Incomplete information about the new game server received.\n" msgstr "" #: ../client/gtk/connect.c:486 ../client/gtk/connect.c:492 ../server/meta.c:239 #, c-format msgid "Unknown message from the metaserver: %s\n" msgstr "" #: ../client/gtk/connect.c:565 ../server/meta.c:178 #, c-format msgid "Receiving data from inactive session: %s\n" msgstr "" #: ../client/gtk/connect.c:577 ../server/meta.c:192 msgid "Too many metaserver redirects.\n" msgstr "" #: ../client/gtk/connect.c:606 ../server/meta.c:208 #, c-format msgid "Bad redirect line: %s\n" msgstr "" #: ../client/gtk/connect.c:631 #, c-format msgid "The metaserver is too old to create servers (version %d.%d)\n" msgstr "" #: ../client/gtk/connect.c:670 ../client/gtk/connect.c:749 #: ../client/gtk/connect.c:755 #, c-format msgid "Unexpected data from the metaserver: %s\n" msgstr "" #. Sevens rule: normal #: ../client/gtk/connect.c:701 ../client/gtk/settingscreen.c:181 #: ../common/gtk/game-rules.c:89 msgid "Normal" msgstr "" #. Sevens rule: reroll on 1st 2 turns #: ../client/gtk/connect.c:706 ../client/gtk/settingscreen.c:183 #: ../common/gtk/game-rules.c:95 msgid "Reroll on 1st 2 turns" msgstr "" #. Sevens rule: reroll all 7s #: ../client/gtk/connect.c:710 ../client/gtk/settingscreen.c:185 #: ../common/gtk/game-rules.c:102 msgid "Reroll all 7s" msgstr "" #: ../client/gtk/connect.c:724 msgid "Default" msgstr "" #: ../client/gtk/connect.c:727 msgid "Random" msgstr "" #: ../client/gtk/connect.c:819 ../server/meta.c:299 #, c-format msgid "Redirected to the metaserver at %s.\n" msgstr "" #: ../client/gtk/connect.c:824 ../server/meta.c:302 #, c-format msgid "Redirected to the metaserver at %s, port %s.\n" msgstr "" #: ../client/gtk/connect.c:831 msgid "Receiving a list of Pioneers servers from the metaserver.\n" msgstr "" #. Label #: ../client/gtk/connect.c:914 msgid "Number of computer players" msgstr "" #. Tooltip #: ../client/gtk/connect.c:935 msgid "The number of computer players" msgstr "" #. Canceled retrieving information #. * from the metaserver #: ../client/gtk/connect.c:957 ../client/gtk/connect.c:992 #: ../client/gtk/connect.c:1133 msgid "Canceled.\n" msgstr "" #: ../client/gtk/connect.c:960 msgid "Requesting new game server.\n" msgstr "" #: ../client/gtk/connect.c:1015 ../server/gtk/main.c:370 ../server/server.c:123 #, c-format msgid "Error starting %s: %s\n" msgstr "" #. Dialog caption #: ../client/gtk/connect.c:1037 msgid "Create a Public Game" msgstr "" #. Button text #: ../client/gtk/connect.c:1040 ../client/gtk/connect.c:1191 #: ../client/gtk/connect.c:1440 ../client/gtk/connect.c:1744 #: ../client/gtk/name.c:147 ../editor/gtk/editor.c:1521 #: ../editor/gtk/editor.c:1562 ../editor/gtk/editor.c:1611 msgid "_Cancel" msgstr "" #. Button text #: ../client/gtk/connect.c:1042 msgid "C_reate" msgstr "" #. Dialog caption #: ../client/gtk/connect.c:1182 msgid "Join a Public Game" msgstr "" #. Button text #: ../client/gtk/connect.c:1185 msgid "_Refresh" msgstr "" #. Button text #: ../client/gtk/connect.c:1188 msgid "_New Remote Game" msgstr "" #. Button text #: ../client/gtk/connect.c:1194 ../client/gtk/connect.c:1748 msgid "_Join" msgstr "" #. Tooltip #: ../client/gtk/connect.c:1237 msgid "Select a game to join" msgstr "" #. Column name #: ../client/gtk/connect.c:1241 msgid "Map Name" msgstr "" #. Tooltip for column 'Map Name' #: ../client/gtk/connect.c:1249 msgid "Name of the game" msgstr "" #. Column name #: ../client/gtk/connect.c:1255 msgid "Curr" msgstr "" #. Tooltip for column 'Curr' #: ../client/gtk/connect.c:1262 msgid "Number of players in the game" msgstr "" #. Column name #: ../client/gtk/connect.c:1268 msgid "Max" msgstr "" #. Tooltip for column 'Max' #: ../client/gtk/connect.c:1275 msgid "Maximum players for the game" msgstr "" #. Column name #: ../client/gtk/connect.c:1279 msgid "Terrain" msgstr "" #. Tooltip for column 'Terrain' #: ../client/gtk/connect.c:1287 msgid "Random of default terrain" msgstr "" #. Column name #: ../client/gtk/connect.c:1293 msgid "Vic. Points" msgstr "" #. Tooltip for column 'Vic. Points' #: ../client/gtk/connect.c:1300 msgid "Points needed to win" msgstr "" #. Column name #: ../client/gtk/connect.c:1304 msgid "Sevens Rule" msgstr "" #. Tooltip for column 'Sevens Rule' #. Label #: ../client/gtk/connect.c:1312 ../common/gtk/game-rules.c:81 msgid "Sevens rule" msgstr "" #. Column name #: ../client/gtk/connect.c:1316 msgid "Host" msgstr "" #. Tooltip for column 'Host' #: ../client/gtk/connect.c:1325 msgid "Host of the game" msgstr "" #. Column name #: ../client/gtk/connect.c:1331 msgid "Port" msgstr "" #. Tooltip for column 'Port' #: ../client/gtk/connect.c:1339 msgid "Port of the game" msgstr "" #. Column name #: ../client/gtk/connect.c:1343 msgid "Version" msgstr "" #. Tooltip for column 'Version' #: ../client/gtk/connect.c:1351 msgid "Version of the host" msgstr "" #. Dialog caption #: ../client/gtk/connect.c:1436 msgid "Start a New Game" msgstr "" #. Label #. Commandline option of client: name of the player #: ../client/gtk/connect.c:1464 ../client/gtk/offline.c:57 msgid "Player name" msgstr "" #. Tooltip #: ../client/gtk/connect.c:1480 msgid "Enter your name" msgstr "" #. Check button #. Role of the player: spectator #: ../client/gtk/connect.c:1483 ../server/gtk/main.c:682 msgid "Spectator" msgstr "" #: ../client/gtk/connect.c:1493 msgid "Check if you want to be a spectator" msgstr "" #. Label #: ../client/gtk/connect.c:1504 msgid "Avahi" msgstr "" #. Button #: ../client/gtk/connect.c:1511 msgid "Join" msgstr "" #. Tooltip for button Join #: ../client/gtk/connect.c:1515 msgid "Join an automatically discovered game" msgstr "" #. Label #. metaserver label #: ../client/gtk/connect.c:1542 ../server/gtk/main.c:593 msgid "Metaserver" msgstr "" #. Button #: ../client/gtk/connect.c:1564 msgid "Join Public Game" msgstr "" #. Tooltip #: ../client/gtk/connect.c:1570 msgid "Join a public game" msgstr "" #. Button #: ../client/gtk/connect.c:1575 msgid "Create Game" msgstr "" #. Tooltip #: ../client/gtk/connect.c:1579 msgid "Create a game" msgstr "" #. Button #: ../client/gtk/connect.c:1588 msgid "Join Private Game" msgstr "" #. Tooltip #. Dialog caption #: ../client/gtk/connect.c:1592 ../client/gtk/connect.c:1737 msgid "Join a private game" msgstr "" #. Label #. Commandline option of client: hostname of the server #: ../client/gtk/connect.c:1777 ../client/gtk/offline.c:51 msgid "Server host" msgstr "" #. Tooltip #: ../client/gtk/connect.c:1791 msgid "Name of the host of the game" msgstr "" #. Label #. Commandline option of client: port of the server #. server port label #: ../client/gtk/connect.c:1795 ../client/gtk/offline.c:54 #: ../server/gtk/main.c:555 msgid "Server port" msgstr "" #. Tooltip #: ../client/gtk/connect.c:1812 msgid "Port of the host of the game" msgstr "" #. Tooltip #. Label #: ../client/gtk/connect.c:1854 ../client/gtk/connect.c:1857 msgid "Recent games" msgstr "" #. Caption for list of bought development cards #: ../client/gtk/develop.c:130 msgid "Development cards" msgstr "" #. Button text: play development card #: ../client/gtk/develop.c:163 msgid "Play Card" msgstr "" #. Dialog caption #: ../client/gtk/discard.c:77 msgid "Discard Resources" msgstr "" #. Button text #: ../client/gtk/discard.c:83 ../client/gtk/gameover.c:38 #: ../client/gtk/gold.c:78 ../client/gtk/monopoly.c:88 ../client/gtk/name.c:150 #: ../client/gtk/plenty.c:67 ../editor/gtk/editor.c:1614 msgid "_OK" msgstr "" #: ../client/gtk/discard.c:101 #, c-format msgid "You must discard %d resource" msgid_plural "You must discard %d resources" msgstr[0] "" msgstr[1] "" #. Label #: ../client/gtk/discard.c:110 msgid "Total discards" msgstr "" #. Caption for list of player that must discard cards #: ../client/gtk/discard.c:235 msgid "Waiting for players to discard" msgstr "" #. Dialog caption #: ../client/gtk/gameover.c:34 msgid "Game Over" msgstr "" #: ../client/gtk/gameover.c:52 #, c-format msgid "%s has won the game with %d victory points!" msgstr "" #: ../client/gtk/gameover.c:58 #, c-format msgid "All praise %s, Lord of the known world!" msgstr "" #. Dialog caption #: ../client/gtk/gold.c:72 msgid "Choose Resources" msgstr "" #: ../client/gtk/gold.c:96 #, c-format msgid "You may choose %d resource" msgid_plural "You may choose %d resources" msgstr[0] "" msgstr[1] "" #. Text for total in choose gold dialog #. Text for total in year of plenty dialog #: ../client/gtk/gold.c:105 ../client/gtk/plenty.c:103 msgid "Total resources" msgstr "" #. Caption for list of player that must choose gold #: ../client/gtk/gold.c:217 msgid "Waiting for players to choose" msgstr "" #. Menu entry #: ../client/gtk/gui.c:224 ../server/gtk/main.c:91 msgid "_Game" msgstr "" #. Menu entry #: ../client/gtk/gui.c:227 msgid "_New Game" msgstr "" #. Tooltip for New Game menu entry #: ../client/gtk/gui.c:229 msgid "Start a new game" msgstr "" #. Menu entry #: ../client/gtk/gui.c:232 msgid "_Leave Game" msgstr "" #. Tooltip for Leave Game menu entry #: ../client/gtk/gui.c:234 msgid "Leave this game" msgstr "" #. Menu entry #: ../client/gtk/gui.c:238 msgid "_Admin" msgstr "" #. Tooltip for Admin menu entry #: ../client/gtk/gui.c:240 msgid "Administer Pioneers server" msgstr "" #. Menu entry #: ../client/gtk/gui.c:244 msgid "_Player Name" msgstr "" #. Tooltip for Player Name menu entry #: ../client/gtk/gui.c:246 msgid "Change your player name" msgstr "" #. Menu entry #: ../client/gtk/gui.c:249 msgid "L_egend" msgstr "" #. Tooltip for Legend menu entry #: ../client/gtk/gui.c:251 msgid "Terrain legend and building costs" msgstr "" #. Menu entry #: ../client/gtk/gui.c:254 msgid "_Game Settings" msgstr "" #. Tooltip for Game Settings menu entry #: ../client/gtk/gui.c:256 msgid "Settings for the current game" msgstr "" #. Menu entry #: ../client/gtk/gui.c:259 msgid "_Dice Histogram" msgstr "" #. Tooltip for Dice Histogram menu entry #: ../client/gtk/gui.c:261 msgid "Histogram of dice rolls" msgstr "" #. Menu entry #: ../client/gtk/gui.c:264 ../editor/gtk/editor.c:1759 ../server/gtk/main.c:103 msgid "_Quit" msgstr "" #. Tooltip for Quit menu entry #. Tooltop for Quit menu entry #: ../client/gtk/gui.c:266 ../server/gtk/main.c:105 msgid "Quit the program" msgstr "" #. Menu entry #: ../client/gtk/gui.c:269 msgid "_Actions" msgstr "" #. Menu entry #: ../client/gtk/gui.c:272 msgid "Roll Dice" msgstr "" #. Tooltip for Roll Dice menu entry #: ../client/gtk/gui.c:274 msgid "Roll the dice" msgstr "" #. Menu entry #. Tooltip for Trade menu entry #. Tab page name #: ../client/gtk/gui.c:277 ../client/gtk/gui.c:279 ../client/gtk/gui.c:710 msgid "Trade" msgstr "" #. Menu entry #. Tooltip for Undo menu entry #: ../client/gtk/gui.c:283 ../client/gtk/gui.c:285 msgid "Undo" msgstr "" #. Menu entry #. Tooltip for Finish menu entry #: ../client/gtk/gui.c:288 ../client/gtk/gui.c:290 msgid "Finish" msgstr "" #. Menu entry #: ../client/gtk/gui.c:293 ../client/gtk/legend.c:189 #: ../editor/gtk/game-buildings.c:10 msgid "Road" msgstr "" #. Tooltip for Road menu entry #: ../client/gtk/gui.c:295 msgid "Build a road" msgstr "" #. Menu entry #: ../client/gtk/gui.c:298 ../client/gtk/legend.c:193 #: ../editor/gtk/game-buildings.c:10 msgid "Ship" msgstr "" #. Tooltip for Ship menu entry #: ../client/gtk/gui.c:300 msgid "Build a ship" msgstr "" #. Menu entry #: ../client/gtk/gui.c:303 msgid "Move Ship" msgstr "" #. Tooltip for Move Ship menu entry #: ../client/gtk/gui.c:305 msgid "Move a ship" msgstr "" #. Menu entry #: ../client/gtk/gui.c:308 ../client/gtk/legend.c:196 #: ../editor/gtk/game-buildings.c:10 msgid "Bridge" msgstr "" #. Tooltip for Bridge menu entry #: ../client/gtk/gui.c:310 msgid "Build a bridge" msgstr "" #. Menu entry #: ../client/gtk/gui.c:313 ../client/gtk/legend.c:198 ../client/gtk/player.c:52 #: ../editor/gtk/game-buildings.c:10 msgid "Settlement" msgstr "" #. Tooltip for Settlement menu entry #: ../client/gtk/gui.c:316 msgid "Build a settlement" msgstr "" #. Menu entry #: ../client/gtk/gui.c:319 ../client/gtk/legend.c:199 ../client/gtk/player.c:53 #: ../editor/gtk/game-buildings.c:11 msgid "City" msgstr "" #. Tooltip for City menu entry #: ../client/gtk/gui.c:321 msgid "Build a city" msgstr "" #. Menu entry #: ../client/gtk/gui.c:324 msgid "Develop" msgstr "" #. Tooltip for Develop menu entry #: ../client/gtk/gui.c:326 msgid "Buy a development card" msgstr "" #. Menu entry #: ../client/gtk/gui.c:329 msgid "City Wall" msgstr "" #. Tooltip for City Wall menu entry #: ../client/gtk/gui.c:331 msgid "Build a city wall" msgstr "" #. Menu entry #: ../client/gtk/gui.c:335 msgid "_Settings" msgstr "" #. Menu entry #: ../client/gtk/gui.c:338 msgid "Prefere_nces" msgstr "" #. Tooltip for Preferences menu entry #: ../client/gtk/gui.c:340 msgid "Configure the application" msgstr "" #. Menu entry #: ../client/gtk/gui.c:344 ../editor/gtk/editor.c:1721 msgid "_View" msgstr "" #. Menu entry #: ../client/gtk/gui.c:347 ../editor/gtk/editor.c:1765 msgid "_Reset" msgstr "" #. Tooltip for Reset menu entry #: ../client/gtk/gui.c:350 ../editor/gtk/editor.c:1768 msgid "View the full map" msgstr "" #. Menu entry #: ../client/gtk/gui.c:353 ../editor/gtk/editor.c:1771 msgid "_Center" msgstr "" #. Tooltip for Center menu entry #: ../client/gtk/gui.c:355 ../editor/gtk/editor.c:1773 msgid "Center the map" msgstr "" #. Menu entry #: ../client/gtk/gui.c:359 ../client/gtk/gui.c:368 ../editor/gtk/editor.c:1724 #: ../server/gtk/main.c:94 msgid "_Help" msgstr "" #. Menu entry #: ../client/gtk/gui.c:362 msgid "_About Pioneers" msgstr "" #. Tooltip for About Pioneers menu entry #: ../client/gtk/gui.c:364 msgid "Information about Pioneers" msgstr "" #. Tooltip for Help menu entry #: ../client/gtk/gui.c:370 ../client/gtk/gui.c:1258 msgid "Show the manual" msgstr "" #. Menu entry #: ../client/gtk/gui.c:378 ../editor/gtk/editor.c:1791 msgid "_Fullscreen" msgstr "" #. Tooltip for Fullscreen menu entry #: ../client/gtk/gui.c:381 ../editor/gtk/editor.c:1794 msgid "Set window to full screen mode" msgstr "" #. Menu entry #: ../client/gtk/gui.c:386 msgid "_Toolbar" msgstr "" #. Tooltip for Toolbar menu entry #: ../client/gtk/gui.c:388 msgid "Show or hide the toolbar" msgstr "" #. Victory points target in statusbar #: ../client/gtk/gui.c:491 #, c-format msgid "Points needed to win: %i" msgstr "" #: ../client/gtk/gui.c:577 msgid "Messages" msgstr "" #. Tab page name #: ../client/gtk/gui.c:703 ../editor/gtk/editor.c:1946 msgid "Map" msgstr "" #. Tooltip #: ../client/gtk/gui.c:712 msgid "Finish trading" msgstr "" #. Tab page name #. Button text #: ../client/gtk/gui.c:722 ../client/gtk/quote.c:339 msgid "Quote" msgstr "" #. Tooltip #: ../client/gtk/gui.c:724 msgid "Reject domestic trade" msgstr "" #. Tab page name #. Dialog caption #: ../client/gtk/gui.c:734 ../client/gtk/legend.c:249 msgid "Legend" msgstr "" #. Tab page name, shown for the splash screen #: ../client/gtk/gui.c:744 msgid "Welcome to Pioneers" msgstr "" #. Caption of preferences dialog #: ../client/gtk/gui.c:1028 msgid "Pioneers Preferences" msgstr "" #. Button text #: ../client/gtk/gui.c:1034 ../client/gtk/histogram.c:252 #: ../client/gtk/legend.c:253 ../client/gtk/settingscreen.c:413 msgid "_Close" msgstr "" #. Label for changing the theme, in the preferences dialog #: ../client/gtk/gui.c:1059 msgid "Theme:" msgstr "" #. Tooltip for changing the theme in the preferences dialog #: ../client/gtk/gui.c:1082 msgid "Choose one of the themes" msgstr "" #. Label for the option to show the legend #: ../client/gtk/gui.c:1086 msgid "Show legend" msgstr "" #. Tooltip for the option to show the legend #: ../client/gtk/gui.c:1096 msgid "Show the legend as a page beside the map" msgstr "" #. Label for the option to display log messages in color #: ../client/gtk/gui.c:1101 msgid "Messages with color" msgstr "" #. Tooltip for the option to display log messages in color #: ../client/gtk/gui.c:1111 msgid "Show new messages with color" msgstr "" #. Label for the option to display chat in color of player #: ../client/gtk/gui.c:1116 msgid "Chat in color of player" msgstr "" #. Tooltip for the option to display chat in color of player #: ../client/gtk/gui.c:1127 msgid "Show new chat messages in the color of the player" msgstr "" #. Label for the option to display the summary with colors #: ../client/gtk/gui.c:1132 msgid "Summary with color" msgstr "" #. Tooltip for the option to display the summary with colors #: ../client/gtk/gui.c:1143 msgid "Use colors in the player summary" msgstr "" #. Label for the option to display keyboard accelerators in the toolbar #: ../client/gtk/gui.c:1148 msgid "Toolbar with shortcuts" msgstr "" #. Tooltip for the option to display keyboard accelerators in the toolbar #: ../client/gtk/gui.c:1158 msgid "Show keyboard shortcuts in the toolbar" msgstr "" #. Label for the option to disable all sounds #: ../client/gtk/gui.c:1164 msgid "Silent mode" msgstr "" #. Tooltip for the option to disable all sounds #: ../client/gtk/gui.c:1170 msgid "In silent mode no sounds are made" msgstr "" #. Label for the option to announce when players/spectators enter #: ../client/gtk/gui.c:1176 msgid "Announce new players" msgstr "" #. Tooltip for the option to use sound when players/spectators enter #: ../client/gtk/gui.c:1186 msgid "Make a sound when a new player or spectator enters the game" msgstr "" #. Label for the option to use the notifications. #: ../client/gtk/gui.c:1198 msgid "Show notifications" msgstr "" #. Tooltip for notifications option. #: ../client/gtk/gui.c:1208 msgid "Show notifications when it's your turn or when new trade is available" msgstr "" #. Label for the option to use the 16:9 layout. #: ../client/gtk/gui.c:1214 msgid "Use 16:9 layout" msgstr "" #. Tooltip for 16:9 option. #: ../client/gtk/gui.c:1224 msgid "Use a 16:9 friendly layout for the window" msgstr "" #. Caption of about box #: ../client/gtk/gui.c:1233 msgid "About Pioneers" msgstr "" #. Initial text in status bar #: ../client/gtk/gui.c:1544 ../client/gtk/offline.c:107 msgid "Welcome to Pioneers!" msgstr "" #. The name of the application #. Name of the application #: ../client/gtk/gui.c:1606 ../client/gtk/offline.c:209 #: ../client/gtk/pioneers.desktop.in.h:1 msgid "Pioneers" msgstr "" #. Dialog caption #: ../client/gtk/histogram.c:248 msgid "Dice Histogram" msgstr "" #: ../client/gtk/interface.c:111 msgid "Ship movement canceled." msgstr "" #: ../client/gtk/interface.c:119 ../client/gtk/interface.c:120 msgid "Select a new location for the ship." msgstr "" #. Notification #: ../client/gtk/interface.c:919 msgid "It is your turn to setup." msgstr "" #: ../client/gtk/legend.c:34 msgid "Hill" msgstr "" #: ../client/gtk/legend.c:35 msgid "Field" msgstr "" #: ../client/gtk/legend.c:36 msgid "Mountain" msgstr "" #: ../client/gtk/legend.c:37 msgid "Pasture" msgstr "" #: ../client/gtk/legend.c:38 msgid "Forest" msgstr "" #: ../client/gtk/legend.c:39 msgid "Desert" msgstr "" #: ../client/gtk/legend.c:40 msgid "Sea" msgstr "" #. Label #: ../client/gtk/legend.c:132 msgid "Terrain yield" msgstr "" #. Label #: ../client/gtk/legend.c:165 msgid "Building costs" msgstr "" #: ../client/gtk/legend.c:203 ../client/gtk/player.c:54 #: ../editor/gtk/game-buildings.c:11 msgid "City wall" msgstr "" #: ../client/gtk/legend.c:206 ../client/gtk/player.c:65 msgid "Development card" msgstr "" #. Dialog caption #. Name of the development card #: ../client/gtk/monopoly.c:84 ../common/cards.c:86 msgid "Monopoly" msgstr "" #. Label #: ../client/gtk/monopoly.c:106 msgid "Select the resource you wish to monopolize." msgstr "" #. Dialog caption #: ../client/gtk/name.c:141 msgid "Change Player Name" msgstr "" #. Label #: ../client/gtk/name.c:172 msgid "Player name:" msgstr "" #. Label: set player icon preferences #: ../client/gtk/name.c:234 msgid "Face:" msgstr "" #. Label: set player icon preferences #: ../client/gtk/name.c:250 msgid "Variant:" msgstr "" #: ../client/gtk/offline.c:61 msgid "Connect as a spectator" msgstr "" #: ../client/gtk/offline.c:64 msgid "Metaserver Host" msgstr "" #: ../client/gtk/offline.c:78 msgid "Select a game to join." msgstr "" #: ../client/gtk/offline.c:94 msgid "Connecting" msgstr "" #. Long description in the commandline for pioneers: help #: ../client/gtk/offline.c:183 msgid "- Play a game of Pioneers" msgstr "" #: ../client/gtk/pioneers.desktop.in.h:2 msgid "Play a game of Pioneers" msgstr "" #: ../client/gtk/pioneers.desktop.in.h:3 msgid "game;board;play;Pioneers;Settlers;" msgstr "" #: ../client/gtk/player.c:52 msgid "Settlements" msgstr "" #: ../client/gtk/player.c:53 msgid "Cities" msgstr "" #: ../client/gtk/player.c:54 msgid "City walls" msgstr "" #: ../client/gtk/player.c:55 msgid "Largest army" msgstr "" #: ../client/gtk/player.c:56 msgid "Longest road" msgstr "" #. Name of the development card #: ../client/gtk/player.c:57 ../common/cards.c:92 msgid "Chapel" msgstr "" #: ../client/gtk/player.c:57 msgid "Chapels" msgstr "" #. Name of the development card #: ../client/gtk/player.c:58 ../common/cards.c:95 msgid "Pioneer university" msgstr "" #: ../client/gtk/player.c:58 msgid "Pioneer universities" msgstr "" #. Name of the development card #: ../client/gtk/player.c:60 ../common/cards.c:98 msgid "Governor's house" msgstr "" #: ../client/gtk/player.c:60 msgid "Governor's houses" msgstr "" #. Name of the development card #: ../client/gtk/player.c:61 ../common/cards.c:101 msgid "Library" msgstr "" #: ../client/gtk/player.c:61 msgid "Libraries" msgstr "" #. Name of the development card #: ../client/gtk/player.c:62 ../common/cards.c:104 msgid "Market" msgstr "" #: ../client/gtk/player.c:62 msgid "Markets" msgstr "" #. Name of the development card #: ../client/gtk/player.c:63 ../common/cards.c:107 msgid "Soldier" msgstr "" #: ../client/gtk/player.c:63 msgid "Soldiers" msgstr "" #: ../client/gtk/player.c:64 msgid "Resource card" msgstr "" #: ../client/gtk/player.c:64 msgid "Resource cards" msgstr "" #. Caption #: ../client/gtk/player.c:65 ../editor/gtk/editor.c:1305 msgid "Development cards" msgstr "" #. Caption for the overview of the points and card of other players #: ../client/gtk/player.c:559 msgid "Player summary" msgstr "" #. Dialog caption #: ../client/gtk/plenty.c:61 msgid "Year of Plenty" msgstr "" #: ../client/gtk/plenty.c:92 msgid "Please choose one resource from the bank" msgstr "" #: ../client/gtk/plenty.c:95 msgid "Please choose two resources from the bank" msgstr "" #: ../client/gtk/plenty.c:97 msgid "The bank is empty" msgstr "" #: ../client/gtk/quote.c:187 #, c-format msgid "%s has %s, and is looking for %s" msgstr "" #. Notification #: ../client/gtk/quote.c:217 #, c-format msgid "New offer from %s." msgstr "" #. Notification #: ../client/gtk/quote.c:242 #, c-format msgid "Offer from %s." msgstr "" #. Label #. Frame title, trade: I want to trade these resources #: ../client/gtk/quote.c:316 ../client/gtk/trade.c:524 msgid "I want" msgstr "" #. Label #. Frame title, trade: I want these resources in return #: ../client/gtk/quote.c:326 ../client/gtk/trade.c:530 msgid "Give them" msgstr "" #. Button text #: ../client/gtk/quote.c:345 msgid "Delete" msgstr "" #. Button text #: ../client/gtk/quote.c:370 msgid "Reject Domestic Trade" msgstr "" #. Now create columns #. Table header: Player who trades #. Role of the player: player #: ../client/gtk/quote-view.c:170 ../server/gtk/main.c:684 msgid "Player" msgstr "" #. Table header: Quote #: ../client/gtk/quote-view.c:185 msgid "Quotes" msgstr "" #. trade: maritime quote: %1 resources of type %2 for #. * one resource of type %3 #: ../client/gtk/quote-view.c:303 #, c-format msgid "%d:1 %s for %s" msgstr "" #. Trade: a player has rejected trade #: ../client/gtk/quote-view.c:442 msgid "Rejected trade" msgstr "" #. Caption for overview of the resources of the player #: ../client/gtk/resource.c:71 msgid "Resources" msgstr "" #. Label #: ../client/gtk/resource.c:86 msgid "Total" msgstr "" #. Tooltip for the amount of resources in the hand #: ../client/gtk/resource-table.c:180 msgid "Amount in hand" msgstr "" #. Button for decreasing the selected amount #: ../client/gtk/resource-table.c:185 msgid "" msgstr "" #. Tooltip for increasing the selected amount #: ../client/gtk/resource-table.c:226 msgid "Increase the selected amount" msgstr "" #. Tooltip for the selected amount #: ../client/gtk/resource-table.c:243 msgid "Selected amount" msgstr "" #. Tooltip for the total selected amount #: ../client/gtk/resource-table.c:288 msgid "Total selected amount" msgstr "" #. Tooltip when the bank cannot be emptied #: ../client/gtk/resource-table.c:307 msgid "The bank cannot be emptied" msgstr "" #: ../client/gtk/settingscreen.c:74 msgid "Yes" msgstr "" #: ../client/gtk/settingscreen.c:76 ../client/gtk/settingscreen.c:240 msgid "No" msgstr "" #: ../client/gtk/settingscreen.c:87 ../client/gtk/settingscreen.c:187 msgid "Unknown" msgstr "" #: ../client/gtk/settingscreen.c:121 msgid "No game in progress..." msgstr "" #. Label #: ../client/gtk/settingscreen.c:132 msgid "General settings" msgstr "" #: ../client/gtk/settingscreen.c:149 msgid "Number of players:" msgstr "" #: ../client/gtk/settingscreen.c:153 msgid "Victory point target:" msgstr "" #: ../client/gtk/settingscreen.c:157 msgid "Random terrain:" msgstr "" #: ../client/gtk/settingscreen.c:161 msgid "Allow trade between players:" msgstr "" #: ../client/gtk/settingscreen.c:166 msgid "Allow trade only before building or buying:" msgstr "" #: ../client/gtk/settingscreen.c:171 msgid "Check victory only at end of turn:" msgstr "" #: ../client/gtk/settingscreen.c:176 msgid "Amount of each resource:" msgstr "" #: ../client/gtk/settingscreen.c:190 msgid "Sevens rule:" msgstr "" #: ../client/gtk/settingscreen.c:196 msgid "Use dice deck instead of dice:" msgstr "" #: ../client/gtk/settingscreen.c:201 msgid "Number of dice decks:" msgstr "" #: ../client/gtk/settingscreen.c:207 msgid "Number of dice cards removed after shuffling:" msgstr "" #: ../client/gtk/settingscreen.c:214 msgid "Use the pirate to block ships:" msgstr "" #: ../client/gtk/settingscreen.c:243 msgid "Island discovery bonuses:" msgstr "" #. Label #: ../client/gtk/settingscreen.c:260 msgid "Building quotas" msgstr "" #: ../client/gtk/settingscreen.c:277 msgid "Roads:" msgstr "" #: ../client/gtk/settingscreen.c:283 msgid "Settlements:" msgstr "" #: ../client/gtk/settingscreen.c:289 msgid "Cities:" msgstr "" #: ../client/gtk/settingscreen.c:295 msgid "City walls:" msgstr "" #: ../client/gtk/settingscreen.c:301 msgid "Ships:" msgstr "" #: ../client/gtk/settingscreen.c:307 msgid "Bridges:" msgstr "" #. Label #: ../client/gtk/settingscreen.c:320 msgid "Development card deck" msgstr "" #: ../client/gtk/settingscreen.c:336 msgid "Road building cards:" msgstr "" #: ../client/gtk/settingscreen.c:340 msgid "Monopoly cards:" msgstr "" #: ../client/gtk/settingscreen.c:344 msgid "Year of plenty cards:" msgstr "" #: ../client/gtk/settingscreen.c:348 msgid "Chapel cards:" msgstr "" #: ../client/gtk/settingscreen.c:352 msgid "Pioneer university cards:" msgstr "" #: ../client/gtk/settingscreen.c:356 msgid "Governor's house cards:" msgstr "" #: ../client/gtk/settingscreen.c:360 msgid "Library cards:" msgstr "" #: ../client/gtk/settingscreen.c:364 msgid "Market cards:" msgstr "" #: ../client/gtk/settingscreen.c:368 msgid "Soldier cards:" msgstr "" #. Dialog caption #: ../client/gtk/settingscreen.c:407 msgid "Current Game Settings" msgstr "" #. trade: you ask for something for free #: ../client/gtk/trade.c:205 #, c-format msgid "ask for %s for free" msgstr "" #. trade: you give something away for free #: ../client/gtk/trade.c:210 #, c-format msgid "give %s for free" msgstr "" #. trade: you trade something for something else #: ../client/gtk/trade.c:215 #, c-format msgid "give %s for %s" msgstr "" #. I want some resources, and give them some resources #: ../client/gtk/trade.c:242 #, c-format msgid "I want %s, and give them %s" msgstr "" #. Notification #: ../client/gtk/trade.c:348 #, c-format msgid "Quote received from %s." msgstr "" #. Button text, trade: call for quotes from other players #: ../client/gtk/trade.c:539 msgid "_Call for Quotes" msgstr "" #. Button text: Trade page, accept selected quote #: ../client/gtk/trade.c:568 msgid "_Accept Quote" msgstr "" #. Button text: Trade page, finish trading #: ../client/gtk/trade.c:574 msgid "_Finish Trading" msgstr "" #. Name of the development card #: ../common/cards.c:83 msgid "Road building" msgstr "" #. Name of the development card #: ../common/cards.c:89 msgid "Year of plenty" msgstr "" #. Description of the 'Road Building' development card #: ../common/cards.c:118 msgid "Build two new roads" msgstr "" #. Description of the 'Monopoly' development card #: ../common/cards.c:121 msgid "" "Select a resource type and take every card of that type held by all other " "players" msgstr "" #. Description of the 'Year of Plenty' development card #: ../common/cards.c:125 msgid "" "Take two resource cards of any type from the bank (cards may be of the same " "or different types)" msgstr "" #. Description of a development card of 1 victory point #: ../common/cards.c:134 msgid "One victory point" msgstr "" #. Description of the 'Soldier' development card #: ../common/cards.c:137 msgid "" "Move the robber to a different space and take one resource card from another " "player adjacent to that space" msgstr "" #: ../common/game.c:523 #, c-format msgid "Obsolete rule: '%s'\n" msgstr "" #: ../common/game.c:530 #, c-format msgid "" "The game uses the new rule '%s', which is not yet supported. Consider " "upgrading.\n" msgstr "" #: ../common/game.c:924 ../common/game.c:955 msgid "This game cannot be won." msgstr "" #: ../common/game.c:925 msgid "There is no land." msgstr "" #: ../common/game.c:959 msgid "It is possible that this game cannot be won." msgstr "" #: ../common/game.c:965 msgid "This game can be won by only building all settlements and cities." msgstr "" #: ../common/game.c:971 #, c-format msgid "" "Required victory points: %d\n" "Points obtained by building all: %d\n" "Points in development cards: %u\n" "Longest road/largest army: %d+%d\n" "Maximum island discovery bonus: %d\n" "Total: %d" msgstr "" #: ../common/game-list.c:111 #, c-format msgid "Looking for games in '%s'\n" msgstr "" #: ../common/game-list.c:113 #, c-format msgid "Game directory '%s' not found\n" msgstr "" #: ../common/game-list.c:131 #, c-format msgid "Unable to load game: '%s'\n" msgstr "" #: ../common/game-list.c:151 msgid "No games available\n" msgstr "" #: ../common/gtk/aboutbox.c:53 msgid "" "Pioneers is based upon the excellent\n" "Settlers of Catan board game.\n" msgstr "" #. Translators: add your name here. Keep the list #. * alphabetically, do not remove any names, and add #. * \n after your name (except the last name). #. #: ../common/gtk/aboutbox.c:63 msgid "translator-credits" msgstr "" #. Caption for result of checking victory points #: ../common/gtk/common_gtk.c:324 msgid "Victory Point Analysis" msgstr "" #. Tooltip for sevens rule normal #: ../common/gtk/game-rules.c:110 msgid "All sevens move the robber or pirate" msgstr "" #. Tooltip for sevens rule reroll on 1st 2 turns #: ../common/gtk/game-rules.c:114 msgid "In the first two turns all sevens are rerolled" msgstr "" #. Tooltip for sevens rule reroll all #: ../common/gtk/game-rules.c:118 msgid "All sevens are rerolled" msgstr "" #: ../common/gtk/game-rules.c:129 msgid "Randomize terrain" msgstr "" #: ../common/gtk/game-rules.c:129 msgid "Randomize the terrain" msgstr "" #: ../common/gtk/game-rules.c:132 msgid "Use pirate" msgstr "" #: ../common/gtk/game-rules.c:133 msgid "Use the pirate to block ships" msgstr "" #: ../common/gtk/game-rules.c:135 msgid "Strict trade" msgstr "" #: ../common/gtk/game-rules.c:136 msgid "Allow trade only before building or buying" msgstr "" #: ../common/gtk/game-rules.c:138 msgid "Domestic trade" msgstr "" #: ../common/gtk/game-rules.c:139 msgid "Allow trade between players" msgstr "" #: ../common/gtk/game-rules.c:141 msgid "Victory at end of turn" msgstr "" #: ../common/gtk/game-rules.c:142 msgid "Check for victory only at end of turn" msgstr "" #: ../common/gtk/game-rules.c:145 msgid "Use dice deck" msgstr "" #: ../common/gtk/game-rules.c:147 msgid "Use a deck of 36 dice cards instead of real dice" msgstr "" #. Label #: ../common/gtk/game-rules.c:155 msgid "Number of dice decks" msgstr "" #: ../common/gtk/game-rules.c:172 msgid "The number of dice decks (of 36 cards each)" msgstr "" #. Label #: ../common/gtk/game-rules.c:180 msgid "Number of removed dice cards" msgstr "" #: ../common/gtk/game-rules.c:199 msgid "The number of dice cards that are removed after shuffling the deck" msgstr "" #. Label #: ../common/gtk/game-rules.c:207 msgid "Island discovery bonuses" msgstr "" #. Tooltip for island bonus #: ../common/gtk/game-rules.c:219 msgid "A comma separated list of bonus points for discovering islands" msgstr "" #. Tooltip for the check button #: ../common/gtk/game-rules.c:237 msgid "Check and correct island discovery bonuses" msgstr "" #. Label text for customising a game #: ../common/gtk/game-settings.c:105 msgid "Number of players" msgstr "" #. Tooltip for 'Number of Players' #: ../common/gtk/game-settings.c:124 msgid "The number of players" msgstr "" #. Label for customising a game #: ../common/gtk/game-settings.c:127 msgid "Victory point target" msgstr "" #. Tooltip for Victory Point Target #: ../common/gtk/game-settings.c:147 msgid "The points needed to win the game" msgstr "" #. Tooltip for the check button #: ../common/gtk/game-settings.c:161 msgid "Is it possible to win this game?" msgstr "" #. Port indicator for a resource: trade 2 for 1 #: ../common/gtk/guimap.c:742 msgid "2:1" msgstr "" #. Port indicator: trade 3 for 1 #. General port indicator #: ../common/gtk/guimap.c:745 ../common/gtk/guimap.c:770 msgid "3:1" msgstr "" #. Port indicator for brick #: ../common/gtk/guimap.c:750 msgid "Brick port|B" msgstr "" #. Port indicator for grain #: ../common/gtk/guimap.c:754 msgid "Grain port|G" msgstr "" #. Port indicator for ore #: ../common/gtk/guimap.c:758 msgid "Ore port|O" msgstr "" #. Port indicator for wool #: ../common/gtk/guimap.c:762 msgid "Wool port|W" msgstr "" #. Port indicator for lumber #: ../common/gtk/guimap.c:766 msgid "Lumber port|L" msgstr "" #. Tooltip for the list of metaservers #: ../common/gtk/metaserver.c:85 msgid "Select a metaserver" msgstr "" #. Tooltip for the list of games #: ../common/gtk/select-game.c:135 msgid "Select a game" msgstr "" #. Log prefix #: ../common/log.c:58 msgid "*ERROR* " msgstr "" #. Log prefix #: ../common/log.c:66 msgid "Chat: " msgstr "" #. Log prefix #: ../common/log.c:70 msgid "Resource: " msgstr "" #. Log prefix #: ../common/log.c:74 msgid "Build: " msgstr "" #. Log prefix #: ../common/log.c:78 msgid "Dice: " msgstr "" #. Log prefix #: ../common/log.c:82 msgid "Steal: " msgstr "" #. Log prefix #: ../common/log.c:86 msgid "Trade: " msgstr "" #. Log prefix #: ../common/log.c:90 msgid "Development: " msgstr "" #. Log prefix #: ../common/log.c:94 msgid "Army: " msgstr "" #. Log prefix #: ../common/log.c:98 msgid "Road: " msgstr "" #. Log prefix #: ../common/log.c:102 msgid "*BEEP* " msgstr "" #. Log prefix #: ../common/log.c:108 msgid "Player 1: " msgstr "" #. Log prefix #: ../common/log.c:112 msgid "Player 2: " msgstr "" #. Log prefix #: ../common/log.c:116 msgid "Player 3: " msgstr "" #. Log prefix #: ../common/log.c:120 msgid "Player 4: " msgstr "" #. Log prefix #: ../common/log.c:124 msgid "Player 5: " msgstr "" #. Log prefix #: ../common/log.c:128 msgid "Player 6: " msgstr "" #. Log prefix #: ../common/log.c:132 msgid "Player 7: " msgstr "" #. Log prefix #: ../common/log.c:136 msgid "Player 8: " msgstr "" #. Log prefix #: ../common/log.c:140 msgid "Spectator: " msgstr "" #. Log prefix #: ../common/log.c:144 msgid "** UNKNOWN MESSAGE TYPE ** " msgstr "" #: ../common/network.c:143 #, c-format msgid "Error writing to socket: %s\n" msgstr "" #: ../common/network.c:154 msgid "Could not send all data\n" msgstr "" #: ../common/network.c:202 msgid "Read buffer overflow - disconnecting\n" msgstr "" #: ../common/network.c:226 #, c-format msgid "Error reading socket: %s\n" msgstr "" #: ../common/network.c:378 #, c-format msgid "Error connecting to %s: %s\n" msgstr "" #: ../common/network.c:566 ../common/network.c:567 msgid "unknown" msgstr "" #: ../common/state.c:203 #, c-format msgid "Connecting to %s, port %s\n" msgstr "" #. Error message #: ../common/state.c:333 msgid "State stack overflow. Stack dump sent to standard error.\n" msgstr "" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:113 msgid "_Hill" msgstr "" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:115 msgid "_Field" msgstr "" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:117 msgid "_Mountain" msgstr "" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:119 msgid "_Pasture" msgstr "" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:121 msgid "F_orest" msgstr "" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:123 msgid "_Desert" msgstr "" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:125 msgid "_Sea" msgstr "" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:127 msgid "_Gold" msgstr "" #. Use an unique shortcut key for each resource #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:129 ../editor/gtk/editor.c:144 msgid "_None" msgstr "" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:134 msgid "_Brick (2:1)" msgstr "" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:136 msgid "_Grain (2:1)" msgstr "" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:138 msgid "_Ore (2:1)" msgstr "" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:140 msgid "_Wool (2:1)" msgstr "" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:142 msgid "_Lumber (2:1)" msgstr "" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:146 msgid "_Any (3:1)" msgstr "" #. East #: ../editor/gtk/editor.c:151 msgid "East|E" msgstr "" #. North east #: ../editor/gtk/editor.c:153 msgid "North East|NE" msgstr "" #. North west #: ../editor/gtk/editor.c:155 msgid "North West|NW" msgstr "" #. West #: ../editor/gtk/editor.c:157 msgid "West|W" msgstr "" #. South west #: ../editor/gtk/editor.c:159 msgid "South West|SW" msgstr "" #. South east #: ../editor/gtk/editor.c:161 msgid "South East|SE" msgstr "" #: ../editor/gtk/editor.c:368 msgid "Place a hill hex" msgstr "" #: ../editor/gtk/editor.c:369 msgid "Place a field hex" msgstr "" #: ../editor/gtk/editor.c:370 msgid "Place a mountain hex" msgstr "" #: ../editor/gtk/editor.c:371 msgid "Place a pasture hex" msgstr "" #: ../editor/gtk/editor.c:372 msgid "Place a forest hex" msgstr "" #: ../editor/gtk/editor.c:373 msgid "Place a desert hex" msgstr "" #: ../editor/gtk/editor.c:374 msgid "Place a sea hex" msgstr "" #: ../editor/gtk/editor.c:375 msgid "Place a gold hex" msgstr "" #: ../editor/gtk/editor.c:376 msgid "Clear the hex" msgstr "" #: ../editor/gtk/editor.c:384 msgid "Place a 2 chit" msgstr "" #: ../editor/gtk/editor.c:385 msgid "Place a 3 chit" msgstr "" #: ../editor/gtk/editor.c:386 msgid "Place a 4 chit" msgstr "" #: ../editor/gtk/editor.c:387 msgid "Place a 5 chit" msgstr "" #: ../editor/gtk/editor.c:388 msgid "Place a 6 chit" msgstr "" #: ../editor/gtk/editor.c:390 msgid "Place an 8 chit" msgstr "" #: ../editor/gtk/editor.c:391 msgid "Place a 9 chit" msgstr "" #: ../editor/gtk/editor.c:392 msgid "Place a 10 chit" msgstr "" #: ../editor/gtk/editor.c:393 msgid "Place an 11 chit" msgstr "" #: ../editor/gtk/editor.c:394 msgid "Place a 12 chit" msgstr "" #: ../editor/gtk/editor.c:400 msgid "Place a brick 2:1 port" msgstr "" #: ../editor/gtk/editor.c:401 msgid "Place a grain 2:1 port" msgstr "" #: ../editor/gtk/editor.c:402 msgid "Place an ore 2:1 port" msgstr "" #: ../editor/gtk/editor.c:403 msgid "Place a wool 2:1 port" msgstr "" #: ../editor/gtk/editor.c:404 msgid "Place a lumber 2:1 port" msgstr "" #. Tooltip to remove a port tile in the editor #: ../editor/gtk/editor.c:406 msgid "Remove a port" msgstr "" #: ../editor/gtk/editor.c:407 msgid "Place a 3:1 port" msgstr "" #: ../editor/gtk/editor.c:437 msgid "" "Select the terrain type with the context menu on the left click or toggle a " "node to exclude it from being used during the setup phase" msgstr "" #: ../editor/gtk/editor.c:572 msgid "Insert a row" msgstr "" #: ../editor/gtk/editor.c:573 msgid "Delete a row" msgstr "" #: ../editor/gtk/editor.c:574 msgid "Insert a column" msgstr "" #: ../editor/gtk/editor.c:575 msgid "Delete a column" msgstr "" #. Label #: ../editor/gtk/editor.c:978 msgid "_Title" msgstr "" #. Label #: ../editor/gtk/editor.c:991 msgid "_Description" msgstr "" #. Label #: ../editor/gtk/editor.c:1009 msgid "_Comments" msgstr "" #. Menu item #: ../editor/gtk/editor.c:1139 msgid "Shuffle" msgstr "" #. Caption #. Game settings frame #: ../editor/gtk/editor.c:1294 ../server/gtk/main.c:968 msgid "Game parameters" msgstr "" #. Caption #. Rules frame #: ../editor/gtk/editor.c:1297 ../server/gtk/main.c:983 msgid "Rules" msgstr "" #. Caption #: ../editor/gtk/editor.c:1299 msgid "Resources" msgstr "" #. Caption #: ../editor/gtk/editor.c:1302 msgid "Buildings" msgstr "" #. The game in the editor does not have a name yet #: ../editor/gtk/editor.c:1319 msgid "Untitled" msgstr "" #. Application caption #: ../editor/gtk/editor.c:1324 ../editor/gtk/pioneers-editor.desktop.in.h:1 msgid "Pioneers Editor" msgstr "" #: ../editor/gtk/editor.c:1434 #, c-format msgid "Failed to load '%s'" msgstr "" #: ../editor/gtk/editor.c:1482 #, c-format msgid "Failed to save to '%s'" msgstr "" #. Name of the file filter: show only games #: ../editor/gtk/editor.c:1499 msgid "Games" msgstr "" #. Name of the file filter: show all files #: ../editor/gtk/editor.c:1505 msgid "Unfiltered" msgstr "" #. Dialog caption #: ../editor/gtk/editor.c:1517 msgid "Open Game" msgstr "" #. Button text #: ../editor/gtk/editor.c:1524 msgid "_Open" msgstr "" #. Dialog caption #: ../editor/gtk/editor.c:1558 msgid "Save As..." msgstr "" #. Button text #: ../editor/gtk/editor.c:1565 msgid "Save _As" msgstr "" #. Dialog caption #: ../editor/gtk/editor.c:1606 msgid "Change Title" msgstr "" #. Label #: ../editor/gtk/editor.c:1631 msgid "New title:" msgstr "" #. Caption of about box #: ../editor/gtk/editor.c:1688 msgid "About Pioneers Game Editor" msgstr "" #. Menu entry #: ../editor/gtk/editor.c:1718 msgid "_File" msgstr "" #. Menu entry #: ../editor/gtk/editor.c:1728 msgid "_New" msgstr "" #: ../editor/gtk/editor.c:1729 msgid "Create a new game" msgstr "" #. Menu entry #: ../editor/gtk/editor.c:1732 msgid "_Open..." msgstr "" #. Tooltip for Open menu entry #: ../editor/gtk/editor.c:1734 msgid "Open an existing game" msgstr "" #. Menu entry #: ../editor/gtk/editor.c:1737 msgid "_Save" msgstr "" #. Tooltip for Save menu entry #: ../editor/gtk/editor.c:1739 msgid "Save game" msgstr "" #. Menu entry #: ../editor/gtk/editor.c:1742 msgid "Save _As..." msgstr "" #. Tooltip for Save As menu entry #: ../editor/gtk/editor.c:1745 msgid "Save as" msgstr "" #. Menu entry #: ../editor/gtk/editor.c:1748 msgid "Change _Title" msgstr "" #. Tooltip for Change Title menu entry #: ../editor/gtk/editor.c:1750 msgid "Change game title" msgstr "" #. Menu entry #: ../editor/gtk/editor.c:1753 ../server/gtk/main.c:97 msgid "_Check Victory Point Target" msgstr "" #. Tooltip for Check Victory Point Target menu entry #. Tooltop for Check Victory Point Target menu entry #: ../editor/gtk/editor.c:1756 ../server/gtk/main.c:100 msgid "Check whether the game can be won" msgstr "" #. Tooltip for Quit menu entry #: ../editor/gtk/editor.c:1761 msgid "Quit" msgstr "" #. Menu entry #: ../editor/gtk/editor.c:1783 msgid "_About Pioneers Editor" msgstr "" #. Tooltip for About Pioneers Editor menu entry #: ../editor/gtk/editor.c:1785 msgid "Information about Pioneers Editor" msgstr "" #. Long help for commandline option (editor): filename #: ../editor/gtk/editor.c:1838 msgid "Open this file" msgstr "" #. Commandline option for editor: filename #. Commandline metaserver: pidfile argument #: ../editor/gtk/editor.c:1840 ../metaserver/main.c:615 msgid "filename" msgstr "" #. Long description in the command line: --help #: ../editor/gtk/editor.c:1877 msgid "- Editor for games of Pioneers" msgstr "" #. Error message #: ../editor/gtk/editor.c:1921 ../server/gtk/main.c:1256 #, c-format msgid "Building menus failed: %s" msgstr "" #. Tab page name #: ../editor/gtk/editor.c:1951 msgid "Settings" msgstr "" #. Tab page name #: ../editor/gtk/editor.c:1954 msgid "Comments" msgstr "" #: ../editor/gtk/game-resources.c:48 msgid "Resource count" msgstr "" #: ../editor/gtk/pioneers-editor.desktop.in.h:2 msgid "Create your own game for Pioneers" msgstr "" #: ../editor/gtk/pioneers-editor.desktop.in.h:3 msgid "game;board;create;edit;layout;Pioneers;Settlers;" msgstr "" #. Commandline metaserver: daemon #: ../metaserver/main.c:610 msgid "Daemonize the metaserver on start" msgstr "" #. Commandline metaserver: pidfile #: ../metaserver/main.c:613 msgid "Pidfile to create when daemonizing (implies -d)" msgstr "" #. Commandline metaserver: redirect #: ../metaserver/main.c:618 msgid "Redirect clients to another metaserver" msgstr "" #. Commandline metaserver: server #: ../metaserver/main.c:621 msgid "Use this hostname when creating new games" msgstr "" #. Commandline metaserver: server argument #: ../metaserver/main.c:623 msgid "hostname" msgstr "" #. Commandline metaserver: port-range #: ../metaserver/main.c:626 msgid "Use this port range when creating new games" msgstr "" #. Commandline metaserver: port-range argument #: ../metaserver/main.c:628 msgid "from-to" msgstr "" #. Commandline option of metaserver: syslog-debug #: ../metaserver/main.c:634 msgid "Debug syslog messages" msgstr "" #. Long description in the commandline for metaserver: help #: ../metaserver/main.c:675 msgid "- Metaserver for Pioneers" msgstr "" #: ../metaserver/main.c:691 #, c-format msgid "metaserver protocol:" msgstr "" #: ../server/avahi.c:68 msgid "Avahi registration successful.\n" msgstr "" #: ../server/avahi.c:78 #, c-format msgid "Avahi service name collision, renaming service to '%s'.\n" msgstr "" #. Some kind of failure happened while we were registering #: ../server/avahi.c:89 #, c-format msgid "Avahi error: %s\n" msgstr "" #: ../server/avahi.c:113 ../server/avahi.c:145 ../server/avahi.c:155 #: ../server/avahi.c:191 ../server/avahi.c:212 ../server/avahi.c:226 #, c-format msgid "Avahi error: %s, %s\n" msgstr "" #: ../server/avahi.c:213 ../server/avahi.c:227 msgid "Unable to register Avahi server" msgstr "" #: ../server/avahi.c:260 msgid "Unregistering Avahi.\n" msgstr "" #. Menu entry #: ../server/gtk/main.c:108 msgid "_About Pioneers Server" msgstr "" #. Tooltop for About Pioneers Server menu entry #: ../server/gtk/main.c:110 msgid "Information about Pioneers Server" msgstr "" #: ../server/gtk/main.c:234 msgid "Stop Server" msgstr "" #: ../server/gtk/main.c:235 msgid "Start Server" msgstr "" #: ../server/gtk/main.c:237 ../server/gtk/main.c:996 msgid "Stop the server" msgstr "" #: ../server/gtk/main.c:238 msgid "Start the server" msgstr "" #: ../server/gtk/main.c:395 #, c-format msgid "Player %s from %s entered\n" msgstr "" #: ../server/gtk/main.c:402 #, c-format msgid "Player %s from %s left\n" msgstr "" #: ../server/gtk/main.c:409 #, c-format msgid "Player %d is now %s\n" msgstr "" #: ../server/gtk/main.c:570 msgid "The port for the game server" msgstr "" #. register_toggle #: ../server/gtk/main.c:579 msgid "Register server" msgstr "" #: ../server/gtk/main.c:587 msgid "Register this game at the metaserver" msgstr "" #. hostname label #: ../server/gtk/main.c:618 msgid "Reported hostname" msgstr "" #: ../server/gtk/main.c:633 msgid "" "The public name of this computer (needed when playing behind a firewall)" msgstr "" #. random toggle #: ../server/gtk/main.c:652 msgid "Random turn order" msgstr "" #: ../server/gtk/main.c:659 msgid "Randomize turn order" msgstr "" #. Tooltip for server connection overview #: ../server/gtk/main.c:730 msgid "Shows all players and spectators connected to the server" msgstr "" #. Label for column Connected #: ../server/gtk/main.c:735 msgid "Connected" msgstr "" #. Tooltip for column Connected #: ../server/gtk/main.c:742 msgid "Is the player currently connected?" msgstr "" #. Label for column Name #: ../server/gtk/main.c:747 msgid "Name" msgstr "" #. Tooltip for column Name #: ../server/gtk/main.c:754 msgid "Name of the player" msgstr "" #. Label for column Location #: ../server/gtk/main.c:758 msgid "Location" msgstr "" #. Tooltip for column Location #: ../server/gtk/main.c:765 msgid "Host name of the player" msgstr "" #. Label for column Number #: ../server/gtk/main.c:771 msgid "Number" msgstr "" #. Tooltip for column Number #: ../server/gtk/main.c:778 msgid "Player number" msgstr "" #. Label for column Role #: ../server/gtk/main.c:784 msgid "Role" msgstr "" #. Tooltip for column Role #: ../server/gtk/main.c:788 msgid "Player or spectator" msgstr "" #. Button text #: ../server/gtk/main.c:825 msgid "Launch Pioneers Client" msgstr "" #. Tooltip #: ../server/gtk/main.c:839 msgid "Launch the Pioneers client" msgstr "" #. ai chat toggle #: ../server/gtk/main.c:868 msgid "Enable chat" msgstr "" #. Tooltip #: ../server/gtk/main.c:875 msgid "Enable chat messages" msgstr "" #. Button text #: ../server/gtk/main.c:884 msgid "Add Computer Player" msgstr "" #. Tooltip #: ../server/gtk/main.c:892 msgid "Add a computer player to the game" msgstr "" #. Tooltip #: ../server/gtk/main.c:925 msgid "Messages from the server" msgstr "" #: ../server/gtk/main.c:961 msgid "Game settings" msgstr "" #. server frame #: ../server/gtk/main.c:972 msgid "Server parameters" msgstr "" #: ../server/gtk/main.c:992 msgid "Running game" msgstr "" #. player connected frame #: ../server/gtk/main.c:1008 msgid "Players connected" msgstr "" #. ai frame #: ../server/gtk/main.c:1012 msgid "Computer players" msgstr "" #. message frame #: ../server/gtk/main.c:1024 msgid "Messages" msgstr "" #. Caption of about box #: ../server/gtk/main.c:1150 msgid "About the Pioneers Game Server" msgstr "" #. Wait for all players to disconnect, #. * then enable the UI #. #: ../server/gtk/main.c:1158 msgid "The game is over.\n" msgstr "" #. Long description in the commandline for server-gtk: help #. Long description in the commandline for server-console: help #: ../server/gtk/main.c:1212 ../server/main.c:194 msgid "- Host a game of Pioneers" msgstr "" #. Name in the titlebar of the server #: ../server/gtk/main.c:1236 ../server/gtk/pioneers-server-gtk.desktop.in.h:1 msgid "Pioneers Server" msgstr "" #: ../server/gtk/pioneers-server-gtk.desktop.in.h:2 msgid "Host a game of Pioneers" msgstr "" #: ../server/gtk/pioneers-server-gtk.desktop.in.h:3 msgid "game;board;server;host;Pioneers;Settlers;" msgstr "" #. Commandline server-console: game-title #: ../server/main.c:80 msgid "Game title to use" msgstr "" #. Commandline server-console: file #: ../server/main.c:83 msgid "Game file to use" msgstr "" #. Commandline server-console: port #: ../server/main.c:86 msgid "Port to listen on" msgstr "" #. Commandline server-console: players #: ../server/main.c:89 msgid "Override number of players" msgstr "" #. Commandline server-console: points #: ../server/main.c:92 msgid "Override number of points needed to win" msgstr "" #. Commandline server-console: seven-rule #: ../server/main.c:95 msgid "Override seven-rule handling" msgstr "" #. Commandline server-console: dice-deck #: ../server/main.c:98 msgid "Override dice-deck handling" msgstr "" #. Commandline server-console: num-dice-decks #: ../server/main.c:101 msgid "Override num-dice-decks handling" msgstr "" #. Commandline server-console: num-removed-dice-cards #: ../server/main.c:105 msgid "Override num-removed-dice-cards handling" msgstr "" #. Commandline server-console: terrain #: ../server/main.c:108 msgid "Override terrain type, 0=default 1=random" msgstr "" #. Commandline server-console: computer-players #: ../server/main.c:111 msgid "Add N computer players" msgstr "" #. Commandline server-console: register #: ../server/main.c:121 msgid "Register server with metaserver" msgstr "" #. Commandline server-console: metaserver #: ../server/main.c:124 msgid "Register at metaserver name (implies -r)" msgstr "" #. Commandline server-console: hostname #: ../server/main.c:128 msgid "Use this hostname when registering" msgstr "" #. Commandline server-console: auto-quit #: ../server/main.c:135 msgid "Quit after a player has won" msgstr "" #. Commandline server-console: empty-timeout #: ../server/main.c:138 msgid "Quit after N seconds with no players" msgstr "" #. Commandline server-console: tournament #: ../server/main.c:141 msgid "Tournament mode, computer players added after N minutes" msgstr "" #. Commandline server-console: admin-port #: ../server/main.c:145 msgid "Admin port to listen on" msgstr "" #. Commandline server-console: admin-wait #: ../server/main.c:148 msgid "Don't start game immediately, wait for a command on admin port" msgstr "" #. Commandline server-console: fixed-seating-order #: ../server/main.c:154 msgid "Give players numbers according to the order they enter the game" msgstr "" #. Commandline server-console: Short description of meta group #: ../server/main.c:200 msgid "Metaserver Options" msgstr "" #. Commandline server-console: Long description of meta group #: ../server/main.c:202 msgid "Options for the metaserver" msgstr "" #. Commandline server-console: Short description of misc group #: ../server/main.c:211 msgid "Miscellaneous Options" msgstr "" #. Commandline server-console: Long description of misc group #: ../server/main.c:213 msgid "Miscellaneous options" msgstr "" #. server-console commandline error #: ../server/main.c:239 #, c-format msgid "Cannot set game title and filename at the same time\n" msgstr "" #. server-console commandline error #: ../server/main.c:256 #, c-format msgid "Cannot load the parameters for the game\n" msgstr "" #. Error message #: ../server/main.c:305 ../server/main.c:324 #, c-format msgid "The network port (%s) for the admin interface is not available.\n" msgstr "" #: ../server/meta.c:58 msgid "The connection to the metaserver is lost.\n" msgstr "" #: ../server/meta.c:64 #, c-format msgid "An attempt to reconnect is scheduled in %u second.\n" msgid_plural "An attempt to reconnect is scheduled in %u seconds.\n" msgstr[0] "" msgstr[1] "" #: ../server/meta.c:83 msgid "Attempting to reconnect to the metaserver.\n" msgstr "" #: ../server/meta.c:311 #, c-format msgid "Register with the metaserver at %s.\n" msgstr "" #: ../server/meta.c:322 msgid "Unregister from the metaserver.\n" msgstr "" #: ../server/player.c:142 msgid "chat too long" msgstr "" #: ../server/player.c:159 msgid "name too long" msgstr "" #: ../server/player.c:191 msgid "ignoring unknown extension" msgstr "" #: ../server/player.c:228 ../server/player.c:298 msgid "The last player left, the tournament timer is reset." msgstr "" #: ../server/player.c:262 ../server/player.c:643 msgid "No human players present. Bye." msgstr "" #: ../server/player.c:269 msgid "Game starts, adding computer players." msgstr "" #: ../server/player.c:311 #, c-format msgid "The game starts in %s minutes." msgstr "" #: ../server/player.c:312 #, c-format msgid "The game starts in %s minute." msgstr "" #. Default name for the AI when the computer_names file #. * is not found or empty. #. #: ../server/player.c:370 ../server/player.c:376 msgid "Computer Player" msgstr "" #: ../server/player.c:450 #, c-format msgid "Unable to determine the hostname of the player: %s" msgstr "" #. The game is over, don't accept new players #. Message to send to the client when the game is already over #. * when a connection is made. #: ../server/player.c:476 msgid "Sorry, game is over." msgstr "" #: ../server/player.c:478 #, c-format msgid "Player from %s is refused: game is over\n" msgstr "" #: ../server/player.c:520 msgid "Name not changed: new name is already in use" msgstr "" #: ../server/player.c:638 ../server/server.c:38 msgid "Was hanging around for too long without players... bye.\n" msgstr "" #: ../server/player.c:723 msgid "The last human player left. Waiting for the return of a player." msgstr "" #: ../server/player.c:744 msgid "Resuming the game." msgstr "" #. %s is the name of the reconnecting player #: ../server/player.c:870 #, c-format msgid "%s has reconnected." msgstr "" #: ../server/player.c:970 #, c-format msgid "Version mismatch: %s" msgstr "" #: ../server/player.c:1007 msgid "This game will start soon." msgstr "" #. Server: preparing game #..... #: ../server/server.c:221 msgid "Preparing game" msgstr "" #: ../server/turn.c:254 msgid "Island Discovery Bonus" msgstr "" #: ../server/turn.c:255 msgid "Additional Island Bonus" msgstr "" #: ../server/turn.c:386 msgid "Tried to assign resources to NULL player.\n" msgstr "" #. Cheat mode has been activated #: ../server/turn.c:516 msgid "The dice roll has been determined by the administrator." msgstr "" pioneers-15.5/po/pt.po0000644000175000017500000030515213252242740011621 00000000000000# Pioneers - Settlers of Catan for GNOME. # This file is distributed under the same license as the pioneers package. # Filipe Roque, 2007-2012 # msgid "" msgstr "" "Project-Id-Version: Pioneers 14.1\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-03-14 16:51+0100\n" "PO-Revision-Date: 2012-05-22 10:11+0000\n" "Last-Translator: Filipe Roque \n" "Language-Team: Portuguese \n" "Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Launchpad-Export-Date: 2012-05-23 05:36+0000\n" "X-Generator: Launchpad (build 15282)\n" #. Commandline pioneersai: chromosome-file #: ../client/ai/ai.c:90 msgid "Chromosome File" msgstr "" #. Commandline pioneersai: server #: ../client/ai/ai.c:93 msgid "Server Host" msgstr "Servidor" #. Commandline pioneersai: port #: ../client/ai/ai.c:96 msgid "Server Port" msgstr "Porto do Servidor" #. Commandline pioneersai: name #: ../client/ai/ai.c:99 msgid "Computer name (mandatory)" msgstr "Nome do computador (obrigatório)" #. Commandline pioneersai: time #: ../client/ai/ai.c:102 msgid "Time to wait between turns (in milliseconds)" msgstr "Tempo de espera entre turnos (em milisegundos)" #. Commandline pioneersai: chat-free #: ../client/ai/ai.c:105 msgid "Stop computer player from talking" msgstr "Parar o adversário electrónico de falar" #. Commandline pioneersai: algorithm #: ../client/ai/ai.c:108 msgid "Type of computer player" msgstr "Tipo de adversário electrónico" #. Commandline option of ai: enable debug logging #. Commandline option of client: enable debug logging #. Commandline option of metaserver: enable debug logging #. Commandline option of server-gtk: enable debug logging #. Commandline option of server: enable debug logging #: ../client/ai/ai.c:111 ../client/gtk/offline.c:67 ../metaserver/main.c:631 #: ../server/gtk/main.c:1170 ../server/main.c:159 msgid "Enable debug messages" msgstr "Activar mensagens para depuração" #. Commandline option of ai: version #. Commandline option of client: version #. Commandline option of editor: version #. Commandline option of metaserver: version #. Commandline option of server-gtk: version #. Commandline option of server-console: version #: ../client/ai/ai.c:114 ../client/gtk/offline.c:70 ../editor/gtk/editor.c:1843 #: ../metaserver/main.c:637 ../server/gtk/main.c:1173 ../server/main.c:114 msgid "Show version information" msgstr "Mostrar a versão" #. Long description in the commandline for pioneersai: help #: ../client/ai/ai.c:125 msgid "- Computer player for Pioneers" msgstr "- Adversário electrónico de Pioneers" #: ../client/ai/ai.c:137 ../client/gtk/offline.c:196 #: ../editor/gtk/editor.c:1888 ../metaserver/main.c:687 #: ../server/gtk/main.c:1223 ../server/main.c:226 #, c-format msgid "Pioneers version:" msgstr "Versão de Pioneers:" #. ai commandline error #: ../client/ai/ai.c:160 #, c-format msgid "A name must be provided.\n" msgstr "Um nome deve ser fornecido\n" #: ../client/ai/ai.c:171 #, c-format msgid "Type of computer player: %s\n" msgstr "Tipo de adversário electrónico: %s\n" #: ../client/ai/ai.c:202 msgid "The game is already full. I'm leaving." msgstr "O jogo já está cheio. Estou a sair" #. AI chat at the start of the turn #: ../client/ai/ai.c:230 msgid "Ok, let's go!" msgstr "Ok, vamos!" #. AI chat at the start of the turn #: ../client/ai/ai.c:232 msgid "I'll beat you all now! ;)" msgstr "Vou-vos ganhar a todos agora! ;)" #. AI chat at the start of the turn #: ../client/ai/ai.c:234 msgid "Now for another try..." msgstr "Tentemos outra vez..." #. AI chat when one resource is received #: ../client/ai/ai.c:239 msgid "At least I get something..." msgstr "Pelo menos obtive alguma coisa..." #. AI chat when one resource is received #: ../client/ai/ai.c:241 msgid "One is better than none..." msgstr "Um é melhor que nada..." #. AI chat when more than one resource is received #: ../client/ai/ai.c:246 msgid "Wow!" msgstr "Wow!" #. AI chat when more than one resource is received #: ../client/ai/ai.c:248 msgid "Ey, I'm becoming rich ;)" msgstr "Hey, estou a enriquecer ;)" #. AI chat when more than one resource is received #: ../client/ai/ai.c:250 msgid "This is really a good year!" msgstr "Este é realmente um bom ano!" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:255 msgid "You really don't deserve that much!" msgstr "Realmente não mereces tanto!" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:257 msgid "You don't know what to do with that many resources ;)" msgstr "Não sabes que fazer com tantos recursos ;)" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:259 msgid "Ey, wait for my robber and lose all this again!" msgstr "Hey, espera pelo meu ladrão e perdes isso tudo de novo!" #. AI chat when it moves the robber #: ../client/ai/ai.c:264 msgid "Hehe!" msgstr "Hehe!" #. AI chat when it moves the robber #: ../client/ai/ai.c:266 msgid "Go, robber, go!" msgstr "Vai, ladrão, vai!" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:271 msgid "You bastard!" msgstr "Maldito!" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:273 msgid "Can't you move that robber somewhere else?!" msgstr "Podes mover esse ladrão para outro lado?!" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:275 msgid "Why always me??" msgstr "Porque sou sempre eu??" #. AI chat when it must discard resources #: ../client/ai/ai.c:280 msgid "Oh no!" msgstr "Oh, no!" #. AI chat when it must discard resources #: ../client/ai/ai.c:282 msgid "Grrr!" msgstr "Grrr!" #. AI chat when it must discard resources #: ../client/ai/ai.c:284 msgid "Who the hell rolled that 7??" msgstr "Quem tirou esse 7??" #. AI chat when it must discard resources #: ../client/ai/ai.c:286 msgid "Why always me?!?" msgstr "Porque sou sempre eu?!?" #. AI chat when other players must discard #: ../client/ai/ai.c:291 msgid "Say good bye to your cards... :)" msgstr "Diz adeus às tuas cartas... :)" #. AI chat when other players must discard #: ../client/ai/ai.c:293 msgid "*evilgrin*" msgstr "Diabinho!!" #. AI chat when other players must discard #: ../client/ai/ai.c:295 msgid "/me says farewell to your cards ;)" msgstr "/me digo adeus às tuas cartas ;)" #. AI chat when other players must discard #: ../client/ai/ai.c:297 msgid "That's the price for being rich... :)" msgstr "Esse é o preço de ser rico... :)" #. AI chat when someone steals from it #: ../client/ai/ai.c:302 msgid "Ey! Where's that card gone?" msgstr "Hey!, para onde foi essa carta?" #. AI chat when someone steals from it #: ../client/ai/ai.c:304 msgid "Thieves! Thieves!!" msgstr "Ladrões! Ladrões!!" #. AI chat when someone steals from it #: ../client/ai/ai.c:306 msgid "Wait for my revenge..." msgstr "Espera pela minha vingança..." #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:311 msgid "Oh no :(" msgstr "Oh não :(" #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:313 msgid "Must this happen NOW??" msgstr "Isto tinha de acontecer AGORA?" #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:315 msgid "Args" msgstr "Args" #. AI chat when it has the largest army #: ../client/ai/ai.c:320 msgid "Hehe, my soldiers rule!" msgstr "Hehe, os meus soldados são os maiores!" #. AI chat when another player that the largest army #: ../client/ai/ai.c:325 msgid "First robbing us, then grabbing the points..." msgstr "Primeiro roubas-nos, depois agarras os pontos..." #. AI chat when it has the longest road #: ../client/ai/ai.c:330 msgid "See that road!" msgstr "Vê esse caminho!" #. AI chat when another player has the longest road #: ../client/ai/ai.c:335 msgid "Pf, you won't win with roads alone..." msgstr "Pff, não ganhas com estradas apenas..." #: ../client/ai/ai.c:434 #, c-format msgid "Received error from server: %s. Quitting\n" msgstr "Erro recebido do servidor: %s. Saindo\n" #. AI chat when it wins #: ../client/ai/ai.c:446 ../client/ai/genetic.c:2766 msgid "Yippie!" msgstr "Yippie!" #. AI chat when another player wins #: ../client/ai/ai.c:449 ../client/ai/genetic.c:2777 msgid "My congratulations" msgstr "Os meus parabéns" #: ../client/ai/genetic.c:1277 ../client/ai/greedy.c:961 msgid "No settlements in stock to use for setup" msgstr "Sem mais estabelecimentos para usar na construção" #: ../client/ai/genetic.c:1284 ../client/ai/greedy.c:968 msgid "There is no place to setup a settlement" msgstr "Não existe um lugar para construir um estabelecimento" #: ../client/ai/genetic.c:1311 ../client/ai/greedy.c:992 msgid "No roads in stock to use for setup" msgstr "Sem mais estradas para usar na construção" #: ../client/ai/genetic.c:1329 ../client/ai/greedy.c:1009 msgid "There is no place to setup a road" msgstr "Não existe um lugar para construir uma estrada" #: ../client/ai/genetic.c:2651 ../client/ai/greedy.c:1784 msgid "Rejecting trade.\n" msgstr "Negócio rejeitado.\n" #. Translators: don't translate '/help' #: ../client/ai/lobbybot.c:80 msgid "" "Hello, welcome to the lobby. I am a simple robot. Type '/help' in the chat " "to see the list of commands I know." msgstr "" "Olá, bem-vindo ao átrio. Sou um simples robô. Escreva '/help' na sala de " "conversa para ver uma lista de comandos que eu conheço." #. Translators: don't translate '/help' #: ../client/ai/lobbybot.c:107 msgid "'/help' shows this message again" msgstr "'/help' mostra esta mensagem de novo" #. Translators: don't translate '/why' #: ../client/ai/lobbybot.c:110 msgid "'/why' explains the purpose of this strange board layout" msgstr "'/why' explica o propósito desta estranha apresentação do tabuleiro" #. Translators: don't translate '/news' #: ../client/ai/lobbybot.c:113 msgid "'/news' tells the last released version" msgstr "'/news' diz qual a última versão lançada" #. AI chat that explains '/why' #: ../client/ai/lobbybot.c:119 msgid "" "This board is not intended to be a game that can be played. Instead, players " "can find eachother here, and decide which board they want to play. Then, one " "of the players will host the proposed game by starting a server, and " "registers it at the metaserver. The other players can subsequently " "disconnect from the lobby, and enter that game." msgstr "" "Este tabuleiro não pretende ser um jogo que possa ser jogado. Pelo " "contrário, os jogadores podem-se encontrar aqui e decidir que tabuleiro " "querem usar. Então, um dos jogadores será o anfitrião do jogo proposto " "iniciando um servidor e registando-o no Meta-servidor. Os outros jogadores " "podem seguidamemte sair do átrio e emtrar no jogo." #: ../client/ai/lobbybot.c:130 msgid "The last released version of Pioneers is" msgstr "A última versão de Pioneers é" #. The lobbybot leaves when a game is starting #: ../client/ai/lobbybot.c:146 msgid "The game is starting. I'm not needed anymore. Goodbye." msgstr "O jogo está a começar. Não sou preciso mais. Adeus." #: ../client/common/client.c:105 msgid "Waiting" msgstr "Esperando" #: ../client/common/client.c:107 msgid "Idle" msgstr "Livre" #: ../client/common/client.c:532 msgid "We have been kicked out of the game.\n" msgstr "Nós fomos expulsos do jogo.\n" #. Network status: offline #: ../client/common/client.c:535 ../client/common/client.c:990 #: ../client/gtk/gui.c:1532 msgid "Offline" msgstr "Desconnectado" #: ../client/common/client.c:556 #, c-format msgid "Error (%s): %s\n" msgstr "Erro (%s): %s\n" #: ../client/common/client.c:565 ../client/common/client.c:576 #, c-format msgid "Notice: %s\n" msgstr "Nota: %s\n" #: ../client/common/client.c:693 #, c-format msgid "%s does not receive any %s, because the bank is empty.\n" msgstr "%s não recebe nenhum %s, porque o banco está vazio.\n" #: ../client/common/client.c:706 #, c-format msgid "%s only receives %s, because the bank didn't have any more.\n" msgstr "%s só recebe %s, porque o banco não tem mais.\n" #: ../client/common/client.c:716 #, c-format msgid "%s receives %s.\n" msgstr "%s recebe %s.\n" #. Year of Plenty #: ../client/common/client.c:724 ../client/common/client.c:2663 #, c-format msgid "%s takes %s.\n" msgstr "%s tira %s.\n" #: ../client/common/client.c:729 #, c-format msgid "%s spent %s.\n" msgstr "%s gasta %s.\n" #: ../client/common/client.c:735 #, c-format msgid "%s is refunded %s.\n" msgstr "%s é reembolsado %s.\n" #. %s = Player name #: ../client/common/client.c:753 #, c-format msgid "%s shuffled the dice deck.\n" msgstr "" #: ../client/common/client.c:772 #, c-format msgid "%s discarded %s.\n" msgstr "%s descartou %s.\n" #: ../client/common/client.c:846 #, c-format msgid "%s has won the game with %d victory points!\n" msgstr "%s ganhou o jogo com %d pontos!\n" #: ../client/common/client.c:945 msgid "Loading" msgstr "A carregar" #: ../client/common/client.c:991 msgid "Version mismatch." msgstr "Versão não coincide." #: ../client/common/client.c:993 msgid "Version mismatch. Please make sure client and server are up to date.\n" msgstr "" "Versão não coincide, Por favor assegure-se de que o cliente e o servidor " "estão actualizados.\n" #: ../client/common/client.c:1413 msgid "Build two settlements, each with a connecting" msgstr "Construa dois estabelecimentos, cada um com uma conexão" #: ../client/common/client.c:1416 msgid "Build a settlement with a connecting" msgstr "Construa um estabelecimento com uma conexão" #: ../client/common/client.c:1419 msgid "road" msgstr "caminho" #: ../client/common/client.c:1421 msgid "bridge" msgstr "ponte" #: ../client/common/client.c:1423 msgid "ship" msgstr "barco" #: ../client/common/client.c:1430 msgid " or" msgstr " ou" #: ../client/common/client.c:1494 msgid "Waiting for your turn." msgstr "Esperando o teu turno." #: ../client/common/client.c:1546 ../client/gtk/interface.c:784 msgid "Select the building to steal from." msgstr "Escolhe o edifício que queres roubar." #: ../client/common/client.c:1568 ../client/gtk/interface.c:774 msgid "Select the ship to steal from." msgstr "Seleccione o barco a roubar" #: ../client/common/client.c:1652 ../client/gtk/interface.c:816 msgid "Place the robber." msgstr "Coloca o ladrão." #: ../client/common/client.c:1702 msgid "Finish the road building action." msgstr "Termina a acção de construcção do caminho" #: ../client/common/client.c:1704 msgid "Build one road segment." msgstr "Construir um segmento de caminho." #: ../client/common/client.c:1706 msgid "Build two road segments." msgstr "Construir dois segmentos de caminho." #. Notification #: ../client/common/client.c:1979 ../client/common/client.c:2073 #: ../client/gtk/interface.c:432 msgid "It is your turn." msgstr "É o teu turno." #: ../client/common/client.c:2167 #, c-format msgid "Sorry, %s available.\n" msgstr "Desculpa, %s disponível.\n" #: ../client/common/client.c:2481 msgid "The game is over." msgstr "Fim do jogo." #. This development card is unique #: ../client/common/develop.c:67 #, c-format msgid "You bought the %s development card.\n" msgstr "Compraste a carta de desenvolvimento «%s».\n" #. This development card is not unique #: ../client/common/develop.c:73 #, c-format msgid "You bought a %s development card.\n" msgstr "Compraste uma carta de desenvolvimento «%s».\n" #: ../client/common/develop.c:103 #, c-format msgid "%s bought a development card.\n" msgstr "%s comprou uma carta de desenvolvimento.\n" #: ../client/common/develop.c:121 #, c-format msgid "%s played the %s development card.\n" msgstr "%s usou a carta de desenvolvimento «%s».\n" #: ../client/common/develop.c:126 #, c-format msgid "%s played a %s development card.\n" msgstr "%s usou uma carta de desenvolvimento «%s».\n" #: ../client/common/develop.c:138 msgid "You have run out of road segments.\n" msgstr "Ficaste sem segmentos de estrada.\n" #. I get the cards #. $1=resources, $2=player that loses resources #: ../client/common/develop.c:179 #, c-format msgid "You get %s from %s.\n" msgstr "Recebes %s de %s.\n" #. I lose the cards #. $1=player that steals, $2=resources #: ../client/common/develop.c:185 #, c-format msgid "%s took %s from you.\n" msgstr "%s tirou-te %s.\n" #: ../client/common/develop.c:192 #, c-format msgid "%s took %s from %s.\n" msgstr "%s tirou %s de %s.\n" #: ../client/common/player.c:125 ../server/player.c:567 #, c-format msgid "Spectator %d" msgstr "Espectador %d" #: ../client/common/player.c:128 #, c-format msgid "spectator %d" msgstr "espectador %d" #: ../client/common/player.c:137 ../server/player.c:570 #, c-format msgid "Player %d" msgstr "Jogador %d" #: ../client/common/player.c:139 #, c-format msgid "player %d" msgstr "jogador %d" #: ../client/common/player.c:216 #, c-format msgid "New spectator: %s.\n" msgstr "Novo espectador: %s\n" #: ../client/common/player.c:219 ../client/common/player.c:235 #, c-format msgid "%s is now %s.\n" msgstr "%s é agora %s.\n" #: ../client/common/player.c:232 #, c-format msgid "Player %d is now %s.\n" msgstr "Jogador %d se chama agora %s.\n" #: ../client/common/player.c:269 #, c-format msgid "%s has quit.\n" msgstr "%s desistiu.\n" #: ../client/common/player.c:278 msgid "There is no largest army.\n" msgstr "Não existe um exército maior.\n" #: ../client/common/player.c:281 #, c-format msgid "%s has the largest army.\n" msgstr "%s tem o maior exército.\n" #: ../client/common/player.c:302 msgid "There is no longest road.\n" msgstr "Não existe uma estrada maior.\n" #: ../client/common/player.c:305 #, c-format msgid "%s has the longest road.\n" msgstr "%s tem a estrada mais longa.\n" #: ../client/common/player.c:326 #, c-format msgid "Waiting for %s." msgstr "Esperando por %s." #. We are not in on the action #. someone stole a resource from someone else #: ../client/common/player.c:354 #, c-format msgid "%s stole a resource from %s.\n" msgstr "%s roubou um recurso de %s.\n" #. $1=resource, $2=player name #: ../client/common/player.c:365 #, c-format msgid "You stole %s from %s.\n" msgstr "Roubaste %s de %s.\n" #. $1=player name, $2=resource #: ../client/common/player.c:372 #, c-format msgid "%s stole %s from you.\n" msgstr "%s roubou-te %s.\n" #: ../client/common/player.c:406 #, c-format msgid "%s gave %s nothing!?\n" msgstr "%s não dá nada a %s!?\n" #. $1=giving player, $2=receiving player, $3=resources #: ../client/common/player.c:413 ../client/common/player.c:423 #, c-format msgid "%s gave %s %s for free.\n" msgstr "%s dá %s a %s grátis.\n" #: ../client/common/player.c:431 #, c-format msgid "%s gave %s %s in exchange for %s.\n" msgstr "%s dá a %s %s em troca de %s.\n" #: ../client/common/player.c:462 #, c-format msgid "%s exchanged %s for %s.\n" msgstr "%s trocou %s por %s.\n" #: ../client/common/player.c:482 #, c-format msgid "%s built a road.\n" msgstr "%s construiu uma estrada.\n" #: ../client/common/player.c:494 #, c-format msgid "%s built a ship.\n" msgstr "%s construiu um barco.\n" #: ../client/common/player.c:507 #, c-format msgid "%s built a settlement.\n" msgstr "%s construiu um estabelecimento.\n" #: ../client/common/player.c:526 #, c-format msgid "%s built a city.\n" msgstr "%s construiu uma cidade.\n" #: ../client/common/player.c:540 #, c-format msgid "%s built a city wall.\n" msgstr "%s construiu uma muralha.\n" #. Error message #: ../client/common/player.c:551 #, c-format msgid "player_build_add called with BUILD_NONE for user %s\n" msgstr "player_build_add chamado com BUILD_NONE para o utilizador %s\n" #: ../client/common/player.c:561 #, c-format msgid "%s built a bridge.\n" msgstr "%s construiu uma ponte.\n" #: ../client/common/player.c:587 #, c-format msgid "%s removed a road.\n" msgstr "%s removeu uma estrada.\n" #: ../client/common/player.c:597 #, c-format msgid "%s removed a ship.\n" msgstr "%s removeu um barco.\n" #: ../client/common/player.c:607 #, c-format msgid "%s removed a settlement.\n" msgstr "%s removeu um estabelecimento.\n" #: ../client/common/player.c:618 #, c-format msgid "%s removed a city.\n" msgstr "%s removeu uma cidade.\n" #: ../client/common/player.c:632 #, c-format msgid "%s removed a city wall.\n" msgstr "%s removeu uma muralha.\n" #. Error message #: ../client/common/player.c:642 #, c-format msgid "player_build_remove called with BUILD_NONE for user %s\n" msgstr "player_build_remove chamado com BUILD_NONE para o utilizador %s\n" #: ../client/common/player.c:651 #, c-format msgid "%s removed a bridge.\n" msgstr "%s removeu uma ponte.\n" #: ../client/common/player.c:682 #, c-format msgid "%s has canceled a ship's movement.\n" msgstr "%s cancela um movimento de barco.\n" #: ../client/common/player.c:685 #, c-format msgid "%s moved a ship.\n" msgstr "%s moveu um barco.\n" #. tell the user that someone got something #: ../client/common/player.c:705 #, c-format msgid "%s received %s.\n" msgstr "%s recebeu %s.\n" #: ../client/common/player.c:724 msgid "server asks to lose invalid point.\n" msgstr "o servidor pede para perder ponto inválido.\n" #. tell the user the point is lost #: ../client/common/player.c:730 #, c-format msgid "%s lost %s.\n" msgstr "%s perdeu %s.\n" #: ../client/common/player.c:753 msgid "server asks to move invalid point.\n" msgstr "o servidor pede para mover ponto inválido.\n" #. tell the user someone (1) lost something (2) to someone else (3) #: ../client/common/player.c:760 #, c-format msgid "%s lost %s to %s.\n" msgstr "%s perdeu %s para %s.\n" #: ../client/common/resource.c:35 msgid "brick" msgstr "tijolo" #: ../client/common/resource.c:35 msgid "Brick" msgstr "Tijolo" #: ../client/common/resource.c:36 msgid "grain" msgstr "cereais" #: ../client/common/resource.c:36 msgid "Grain" msgstr "Cereais" #: ../client/common/resource.c:37 msgid "ore" msgstr "minerais" #: ../client/common/resource.c:37 msgid "Ore" msgstr "Minerais" #: ../client/common/resource.c:38 msgid "wool" msgstr "lã" #: ../client/common/resource.c:38 msgid "Wool" msgstr "Lã" #: ../client/common/resource.c:39 msgid "lumber" msgstr "madeira" #: ../client/common/resource.c:39 msgid "Lumber" msgstr "Madeira" #: ../client/common/resource.c:40 msgid "no resource (bug)" msgstr "nenhum recurso (bug)" #: ../client/common/resource.c:40 msgid "No resource (bug)" msgstr "Nenhum recurso (bug)" #: ../client/common/resource.c:41 msgid "any resource (bug)" msgstr "qualquer recurso (bug)" #: ../client/common/resource.c:41 msgid "Any resource (bug)" msgstr "Qualquer recurso (bug)" #: ../client/common/resource.c:42 msgid "gold" msgstr "ouro" #: ../client/common/resource.c:42 ../client/gtk/legend.c:41 msgid "Gold" msgstr "Ouro" #: ../client/common/resource.c:47 msgid "a brick card" msgstr "uma carta de tijolo" #: ../client/common/resource.c:47 #, c-format msgid "%d brick cards" msgstr "%d cartas de tijolo" #: ../client/common/resource.c:48 msgid "a grain card" msgstr "uma carta de cereais" #: ../client/common/resource.c:48 #, c-format msgid "%d grain cards" msgstr "%d cartas de cereais" #: ../client/common/resource.c:49 msgid "an ore card" msgstr "uma carta de minerais" #: ../client/common/resource.c:49 #, c-format msgid "%d ore cards" msgstr "%d cartas de minerais" #: ../client/common/resource.c:50 msgid "a wool card" msgstr "uma carta de lã" #: ../client/common/resource.c:50 #, c-format msgid "%d wool cards" msgstr "%d cartas de lã" #: ../client/common/resource.c:51 msgid "a lumber card" msgstr "uma carta de madeira" #: ../client/common/resource.c:51 #, c-format msgid "%d lumber cards" msgstr "%d cartas de madeira" #: ../client/common/resource.c:139 ../client/common/resource.c:225 msgid "nothing" msgstr "nada" #. Construct "A, B and C" for resources #: ../client/common/resource.c:166 #, c-format msgid "%s and %s" msgstr "%s e %s" #. Construct "A, B and C" for resources #: ../client/common/resource.c:170 #, c-format msgid "%s, %s" msgstr "%s, %s" #: ../client/common/robber.c:62 #, c-format msgid "%s has undone the robber movement.\n" msgstr "%s desfez o movimento do ladrão.\n" #: ../client/common/robber.c:65 #, c-format msgid "%s moved the robber.\n" msgstr "%s moveu o ladrão.\n" #: ../client/common/robber.c:75 #, c-format msgid "%s has undone the pirate movement.\n" msgstr "%s desfez o movimento do pirata.\n" #: ../client/common/robber.c:78 #, c-format msgid "%s moved the pirate.\n" msgstr "%s moveu o pirata.\n" #: ../client/common/robber.c:85 #, c-format msgid "%s must move the robber." msgstr "%s tem de mover o ladrão." #: ../client/common/setup.c:146 #, c-format msgid "Setup for %s.\n" msgstr "Instalação para %s.\n" #: ../client/common/setup.c:158 #, c-format msgid "Double setup for %s.\n" msgstr "Dupla instalação para %s.\n" #: ../client/common/turn.c:37 #, c-format msgid "%s rolled %d.\n" msgstr "%s tirou %d.\n" #: ../client/common/turn.c:50 #, c-format msgid "Begin turn %d for %s.\n" msgstr "Começa o turno %d para %s.\n" #: ../client/gtk/avahi-browser.c:83 msgid "Select an automatically discovered game" msgstr "Seleccione um jogo descoberto automaticamente" #. $1=Game title, $2=version, $3=host_name, $4=port #: ../client/gtk/avahi-browser.c:132 #, c-format msgid "%s (%s) on %s:%s" msgstr "%s (%s) em %s:%s" #. Label text #: ../client/gtk/chat.c:73 msgid "Chat" msgstr "Conversar" #: ../client/gtk/chat.c:232 msgid "Beeper test.\n" msgstr "Teste de som.\n" #: ../client/gtk/chat.c:235 #, c-format msgid "%s beeped you.\n" msgstr "%s chamou-te.\n" #: ../client/gtk/chat.c:239 #, c-format msgid "You beeped %s.\n" msgstr "Tu chamaste %s.\n" #: ../client/gtk/chat.c:245 #, c-format msgid "You could not beep %s.\n" msgstr "Não conseguiste chamar %s.\n" #: ../client/gtk/chat.c:287 msgid " said: " msgstr " disse: " #: ../client/gtk/connect.c:286 #, c-format msgid "Metaserver at %s, port %s" msgstr "Meta-servidor em %s, porta %s" #: ../client/gtk/connect.c:296 msgid "Finished.\n" msgstr "Terminado.\n" #: ../client/gtk/connect.c:311 ../client/gtk/connect.c:389 #: ../client/gtk/connect.c:408 ../client/gtk/connect.c:979 msgid "The metaserver is not available anymore.\n" msgstr "" #: ../client/gtk/connect.c:322 ../client/gtk/connect.c:443 #: ../client/gtk/connect.c:770 msgid "The metaserver closed the connection unexpectedly.\n" msgstr "" #: ../client/gtk/connect.c:380 msgid "Receiving game names from the metaserver.\n" msgstr "Recebendo nomes do jogo do Meta-servidor.\n" #: ../client/gtk/connect.c:422 #, fuzzy, c-format msgid "New game server requested on %s port %s.\n" msgstr "Novo servidor de jogo solicitado em %s porta %s.\n" #: ../client/gtk/connect.c:432 msgid "Incomplete information about the new game server received.\n" msgstr "" #: ../client/gtk/connect.c:486 ../client/gtk/connect.c:492 ../server/meta.c:239 #, c-format msgid "Unknown message from the metaserver: %s\n" msgstr "Mensagem desconhecida do Meta-servidor: %s\n" #: ../client/gtk/connect.c:565 ../server/meta.c:178 #, c-format msgid "Receiving data from inactive session: %s\n" msgstr "" #: ../client/gtk/connect.c:577 ../server/meta.c:192 #, fuzzy msgid "Too many metaserver redirects.\n" msgstr "Demasiados redireccionamentos do Meta-servidor\n" #: ../client/gtk/connect.c:606 ../server/meta.c:208 #, c-format msgid "Bad redirect line: %s\n" msgstr "Erro na linha de redireccionamento: %s\n" #: ../client/gtk/connect.c:631 #, c-format msgid "The metaserver is too old to create servers (version %d.%d)\n" msgstr "Meta-servidor muito velho para criar servidores (versão %d.%d)\n" #: ../client/gtk/connect.c:670 ../client/gtk/connect.c:749 #: ../client/gtk/connect.c:755 #, fuzzy, c-format msgid "Unexpected data from the metaserver: %s\n" msgstr "Mensagem desconhecida do Meta-servidor: %s\n" #. Sevens rule: normal #: ../client/gtk/connect.c:701 ../client/gtk/settingscreen.c:181 #: ../common/gtk/game-rules.c:89 msgid "Normal" msgstr "Normal" #. Sevens rule: reroll on 1st 2 turns #: ../client/gtk/connect.c:706 ../client/gtk/settingscreen.c:183 #: ../common/gtk/game-rules.c:95 msgid "Reroll on 1st 2 turns" msgstr "Relançar nos primeiros dois turnos" #. Sevens rule: reroll all 7s #: ../client/gtk/connect.c:710 ../client/gtk/settingscreen.c:185 #: ../common/gtk/game-rules.c:102 msgid "Reroll all 7s" msgstr "Relançar todos os 7's" #: ../client/gtk/connect.c:724 msgid "Default" msgstr "Por defeito" #: ../client/gtk/connect.c:727 msgid "Random" msgstr "Aleatório" #: ../client/gtk/connect.c:819 ../server/meta.c:299 #, fuzzy, c-format msgid "Redirected to the metaserver at %s.\n" msgstr "Redireccionado para o Meta-servidor em %s, porta %s\n" #: ../client/gtk/connect.c:824 ../server/meta.c:302 #, fuzzy, c-format msgid "Redirected to the metaserver at %s, port %s.\n" msgstr "Redireccionado para o Meta-servidor em %s, porta %s\n" #: ../client/gtk/connect.c:831 msgid "Receiving a list of Pioneers servers from the metaserver.\n" msgstr "Recebendo uma lista de servidores Pioneers do Meta-servidor.\n" #. Label #: ../client/gtk/connect.c:914 msgid "Number of computer players" msgstr "Número de computadores a jogar" #. Tooltip #: ../client/gtk/connect.c:935 msgid "The number of computer players" msgstr "O número de computadores a jogar" #. Canceled retrieving information #. * from the metaserver #: ../client/gtk/connect.c:957 ../client/gtk/connect.c:992 #: ../client/gtk/connect.c:1133 msgid "Canceled.\n" msgstr "" #: ../client/gtk/connect.c:960 #, fuzzy msgid "Requesting new game server.\n" msgstr "Pedindo novo servidor de jogo\n" #: ../client/gtk/connect.c:1015 ../server/gtk/main.c:370 ../server/server.c:123 #, c-format msgid "Error starting %s: %s\n" msgstr "Erro ao começar %s: %s\n" #. Dialog caption #: ../client/gtk/connect.c:1037 msgid "Create a Public Game" msgstr "Criar um jogo público" #. Button text #: ../client/gtk/connect.c:1040 ../client/gtk/connect.c:1191 #: ../client/gtk/connect.c:1440 ../client/gtk/connect.c:1744 #: ../client/gtk/name.c:147 ../editor/gtk/editor.c:1521 #: ../editor/gtk/editor.c:1562 ../editor/gtk/editor.c:1611 msgid "_Cancel" msgstr "" #. Button text #: ../client/gtk/connect.c:1042 #, fuzzy msgid "C_reate" msgstr "Criar jogo" #. Dialog caption #: ../client/gtk/connect.c:1182 msgid "Join a Public Game" msgstr "Aderir a um jogo público" #. Button text #: ../client/gtk/connect.c:1185 msgid "_Refresh" msgstr "" #. Button text #: ../client/gtk/connect.c:1188 msgid "_New Remote Game" msgstr "_Novo jogo remoto" #. Button text #: ../client/gtk/connect.c:1194 ../client/gtk/connect.c:1748 #, fuzzy msgid "_Join" msgstr "Aderir" #. Tooltip #: ../client/gtk/connect.c:1237 msgid "Select a game to join" msgstr "Seleccionar um jogo para aderir" #. Column name #: ../client/gtk/connect.c:1241 msgid "Map Name" msgstr "Nome de mapa" #. Tooltip for column 'Map Name' #: ../client/gtk/connect.c:1249 msgid "Name of the game" msgstr "Nome do jogo" #. Column name #: ../client/gtk/connect.c:1255 msgid "Curr" msgstr "Corr." #. Tooltip for column 'Curr' #: ../client/gtk/connect.c:1262 msgid "Number of players in the game" msgstr "Número de jogadores em jogo" #. Column name #: ../client/gtk/connect.c:1268 msgid "Max" msgstr "Máx." #. Tooltip for column 'Max' #: ../client/gtk/connect.c:1275 msgid "Maximum players for the game" msgstr "Máximo de jogadores para o jogo" #. Column name #: ../client/gtk/connect.c:1279 msgid "Terrain" msgstr "Terreno" #. Tooltip for column 'Terrain' #: ../client/gtk/connect.c:1287 msgid "Random of default terrain" msgstr "Terreno por defeito aleatório" #. Column name #: ../client/gtk/connect.c:1293 msgid "Vic. Points" msgstr "Pontos de Vic." #. Tooltip for column 'Vic. Points' #: ../client/gtk/connect.c:1300 msgid "Points needed to win" msgstr "Pontos precisos para ganhar" #. Column name #: ../client/gtk/connect.c:1304 msgid "Sevens Rule" msgstr "Regra dos setes" #. Tooltip for column 'Sevens Rule' #. Label #: ../client/gtk/connect.c:1312 ../common/gtk/game-rules.c:81 msgid "Sevens rule" msgstr "Regra dos setes" #. Column name #: ../client/gtk/connect.c:1316 msgid "Host" msgstr "Servidor" #. Tooltip for column 'Host' #: ../client/gtk/connect.c:1325 msgid "Host of the game" msgstr "Servidor do jogo" #. Column name #: ../client/gtk/connect.c:1331 msgid "Port" msgstr "Porta" #. Tooltip for column 'Port' #: ../client/gtk/connect.c:1339 msgid "Port of the game" msgstr "Porta do jogo" #. Column name #: ../client/gtk/connect.c:1343 msgid "Version" msgstr "Versão" #. Tooltip for column 'Version' #: ../client/gtk/connect.c:1351 msgid "Version of the host" msgstr "Versão do anfitrião" #. Dialog caption #: ../client/gtk/connect.c:1436 msgid "Start a New Game" msgstr "Começar um novo jogo" #. Label #. Commandline option of client: name of the player #: ../client/gtk/connect.c:1464 ../client/gtk/offline.c:57 msgid "Player name" msgstr "Nome de jogador" #. Tooltip #: ../client/gtk/connect.c:1480 msgid "Enter your name" msgstr "Entra o teu nome de jogador" #. Check button #. Role of the player: spectator #: ../client/gtk/connect.c:1483 ../server/gtk/main.c:682 msgid "Spectator" msgstr "Espectador" #: ../client/gtk/connect.c:1493 msgid "Check if you want to be a spectator" msgstr "Seleccionar se deseja ser um espectador" #. Label #: ../client/gtk/connect.c:1504 msgid "Avahi" msgstr "Avahi" #. Button #: ../client/gtk/connect.c:1511 msgid "Join" msgstr "Aderir" #. Tooltip for button Join #: ../client/gtk/connect.c:1515 msgid "Join an automatically discovered game" msgstr "Aderir a um jogo descoberto automaticamente" #. Label #. metaserver label #: ../client/gtk/connect.c:1542 ../server/gtk/main.c:593 msgid "Metaserver" msgstr "Meta-servidor" #. Button #: ../client/gtk/connect.c:1564 msgid "Join Public Game" msgstr "Aderir a um jogo público" #. Tooltip #: ../client/gtk/connect.c:1570 msgid "Join a public game" msgstr "Aderir a um jogo público" #. Button #: ../client/gtk/connect.c:1575 msgid "Create Game" msgstr "Criar jogo" #. Tooltip #: ../client/gtk/connect.c:1579 msgid "Create a game" msgstr "Criar um jogo" #. Button #: ../client/gtk/connect.c:1588 msgid "Join Private Game" msgstr "Aderir ao jogo privado" #. Tooltip #. Dialog caption #: ../client/gtk/connect.c:1592 ../client/gtk/connect.c:1737 msgid "Join a private game" msgstr "Aderir a um jogo privado" #. Label #. Commandline option of client: hostname of the server #: ../client/gtk/connect.c:1777 ../client/gtk/offline.c:51 msgid "Server host" msgstr "Servidor" #. Tooltip #: ../client/gtk/connect.c:1791 msgid "Name of the host of the game" msgstr "Nome do anfitrião do jogo" #. Label #. Commandline option of client: port of the server #. server port label #: ../client/gtk/connect.c:1795 ../client/gtk/offline.c:54 #: ../server/gtk/main.c:555 msgid "Server port" msgstr "Porto do Servidor" #. Tooltip #: ../client/gtk/connect.c:1812 msgid "Port of the host of the game" msgstr "Porta do anfitrião do jogo" #. Tooltip #. Label #: ../client/gtk/connect.c:1854 ../client/gtk/connect.c:1857 msgid "Recent games" msgstr "Jogos recentes" #. Caption for list of bought development cards #: ../client/gtk/develop.c:130 msgid "Development cards" msgstr "Cartas de desenvolvimento" #. Button text: play development card #: ../client/gtk/develop.c:163 msgid "Play Card" msgstr "Jogar carta" #. Dialog caption #: ../client/gtk/discard.c:77 msgid "Discard Resources" msgstr "Descartar recursos" #. Button text #: ../client/gtk/discard.c:83 ../client/gtk/gameover.c:38 #: ../client/gtk/gold.c:78 ../client/gtk/monopoly.c:88 ../client/gtk/name.c:150 #: ../client/gtk/plenty.c:67 ../editor/gtk/editor.c:1614 msgid "_OK" msgstr "" #: ../client/gtk/discard.c:101 #, c-format msgid "You must discard %d resource" msgid_plural "You must discard %d resources" msgstr[0] "Tem de descartar %d recurso" msgstr[1] "Tem de descartar %d recursos" #. Label #: ../client/gtk/discard.c:110 msgid "Total discards" msgstr "Descartamentos totais" #. Caption for list of player that must discard cards #: ../client/gtk/discard.c:235 msgid "Waiting for players to discard" msgstr "Esperando que os jogadores descartem" #. Dialog caption #: ../client/gtk/gameover.c:34 msgid "Game Over" msgstr "Fim do jogo" #: ../client/gtk/gameover.c:52 #, c-format msgid "%s has won the game with %d victory points!" msgstr "%s ganhou o jogo com %d pontos!" #: ../client/gtk/gameover.c:58 #, c-format msgid "All praise %s, Lord of the known world!" msgstr "Graças ao %s, Senhor do mundo conhecido!" #. Dialog caption #: ../client/gtk/gold.c:72 msgid "Choose Resources" msgstr "Escolhe recursos" #: ../client/gtk/gold.c:96 #, c-format msgid "You may choose %d resource" msgid_plural "You may choose %d resources" msgstr[0] "Tem de escolher %d recurso" msgstr[1] "Tem de escolher %d recursos" #. Text for total in choose gold dialog #. Text for total in year of plenty dialog #: ../client/gtk/gold.c:105 ../client/gtk/plenty.c:103 msgid "Total resources" msgstr "Recursos totais" #. Caption for list of player that must choose gold #: ../client/gtk/gold.c:217 msgid "Waiting for players to choose" msgstr "Esperando que os jogadores escolham" #. Menu entry #: ../client/gtk/gui.c:224 ../server/gtk/main.c:91 msgid "_Game" msgstr "_Jogo" #. Menu entry #: ../client/gtk/gui.c:227 msgid "_New Game" msgstr "_Novo jogo" #. Tooltip for New Game menu entry #: ../client/gtk/gui.c:229 msgid "Start a new game" msgstr "Começar um novo jogo" #. Menu entry #: ../client/gtk/gui.c:232 msgid "_Leave Game" msgstr "_Deixar o jogo" #. Tooltip for Leave Game menu entry #: ../client/gtk/gui.c:234 msgid "Leave this game" msgstr "Deixar este jogo" #. Menu entry #: ../client/gtk/gui.c:238 msgid "_Admin" msgstr "_Admin" #. Tooltip for Admin menu entry #: ../client/gtk/gui.c:240 msgid "Administer Pioneers server" msgstr "Administrar servidor de Pioneers" #. Menu entry #: ../client/gtk/gui.c:244 msgid "_Player Name" msgstr "Nome do _jogador" #. Tooltip for Player Name menu entry #: ../client/gtk/gui.c:246 msgid "Change your player name" msgstr "Escolhe o teu nome de jogador" #. Menu entry #: ../client/gtk/gui.c:249 msgid "L_egend" msgstr "L_egenda" #. Tooltip for Legend menu entry #: ../client/gtk/gui.c:251 msgid "Terrain legend and building costs" msgstr "Legenda do terreno e custos de construcção" #. Menu entry #: ../client/gtk/gui.c:254 msgid "_Game Settings" msgstr "_Preferências de jogo" #. Tooltip for Game Settings menu entry #: ../client/gtk/gui.c:256 msgid "Settings for the current game" msgstr "Preferências do jogo actual" #. Menu entry #: ../client/gtk/gui.c:259 msgid "_Dice Histogram" msgstr "_Histograma dos dados" #. Tooltip for Dice Histogram menu entry #: ../client/gtk/gui.c:261 msgid "Histogram of dice rolls" msgstr "Histograma dos lançamentos" #. Menu entry #: ../client/gtk/gui.c:264 ../editor/gtk/editor.c:1759 ../server/gtk/main.c:103 msgid "_Quit" msgstr "_Sair" #. Tooltip for Quit menu entry #. Tooltop for Quit menu entry #: ../client/gtk/gui.c:266 ../server/gtk/main.c:105 msgid "Quit the program" msgstr "Sair do programa" #. Menu entry #: ../client/gtk/gui.c:269 msgid "_Actions" msgstr "_Acções" #. Menu entry #: ../client/gtk/gui.c:272 msgid "Roll Dice" msgstr "Lançar dados" #. Tooltip for Roll Dice menu entry #: ../client/gtk/gui.c:274 msgid "Roll the dice" msgstr "Lançar os dados" #. Menu entry #. Tooltip for Trade menu entry #. Tab page name #: ../client/gtk/gui.c:277 ../client/gtk/gui.c:279 ../client/gtk/gui.c:710 msgid "Trade" msgstr "Trocas" #. Menu entry #. Tooltip for Undo menu entry #: ../client/gtk/gui.c:283 ../client/gtk/gui.c:285 msgid "Undo" msgstr "Desfazer" #. Menu entry #. Tooltip for Finish menu entry #: ../client/gtk/gui.c:288 ../client/gtk/gui.c:290 msgid "Finish" msgstr "Terminar" #. Menu entry #: ../client/gtk/gui.c:293 ../client/gtk/legend.c:189 #: ../editor/gtk/game-buildings.c:10 msgid "Road" msgstr "Estrada" #. Tooltip for Road menu entry #: ../client/gtk/gui.c:295 msgid "Build a road" msgstr "Construir uma estrada" #. Menu entry #: ../client/gtk/gui.c:298 ../client/gtk/legend.c:193 #: ../editor/gtk/game-buildings.c:10 msgid "Ship" msgstr "Barco" #. Tooltip for Ship menu entry #: ../client/gtk/gui.c:300 msgid "Build a ship" msgstr "Construir um barco" #. Menu entry #: ../client/gtk/gui.c:303 msgid "Move Ship" msgstr "Mover barco" #. Tooltip for Move Ship menu entry #: ../client/gtk/gui.c:305 msgid "Move a ship" msgstr "Mover um barco" #. Menu entry #: ../client/gtk/gui.c:308 ../client/gtk/legend.c:196 #: ../editor/gtk/game-buildings.c:10 msgid "Bridge" msgstr "Ponte" #. Tooltip for Bridge menu entry #: ../client/gtk/gui.c:310 msgid "Build a bridge" msgstr "Construir uma ponte" #. Menu entry #: ../client/gtk/gui.c:313 ../client/gtk/legend.c:198 ../client/gtk/player.c:52 #: ../editor/gtk/game-buildings.c:10 msgid "Settlement" msgstr "Estabelecimento" #. Tooltip for Settlement menu entry #: ../client/gtk/gui.c:316 msgid "Build a settlement" msgstr "Construir um estabelecimento" #. Menu entry #: ../client/gtk/gui.c:319 ../client/gtk/legend.c:199 ../client/gtk/player.c:53 #: ../editor/gtk/game-buildings.c:11 msgid "City" msgstr "Cidade" #. Tooltip for City menu entry #: ../client/gtk/gui.c:321 msgid "Build a city" msgstr "Construir uma cidade" #. Menu entry #: ../client/gtk/gui.c:324 msgid "Develop" msgstr "Desenvolvimento" #. Tooltip for Develop menu entry #: ../client/gtk/gui.c:326 msgid "Buy a development card" msgstr "Comprar uma carta de desenvolvimento" #. Menu entry #: ../client/gtk/gui.c:329 msgid "City Wall" msgstr "Muralha" #. Tooltip for City Wall menu entry #: ../client/gtk/gui.c:331 msgid "Build a city wall" msgstr "Construir uma muralha" #. Menu entry #: ../client/gtk/gui.c:335 msgid "_Settings" msgstr "Preferência_s" #. Menu entry #: ../client/gtk/gui.c:338 msgid "Prefere_nces" msgstr "Preferê_ncias" #. Tooltip for Preferences menu entry #: ../client/gtk/gui.c:340 msgid "Configure the application" msgstr "Configurar a aplicação" #. Menu entry #: ../client/gtk/gui.c:344 ../editor/gtk/editor.c:1721 msgid "_View" msgstr "_Ver" #. Menu entry #: ../client/gtk/gui.c:347 ../editor/gtk/editor.c:1765 msgid "_Reset" msgstr "_Restaurar" #. Tooltip for Reset menu entry #: ../client/gtk/gui.c:350 ../editor/gtk/editor.c:1768 msgid "View the full map" msgstr "Ver o mapa todo" #. Menu entry #: ../client/gtk/gui.c:353 ../editor/gtk/editor.c:1771 msgid "_Center" msgstr "_Centrar" #. Tooltip for Center menu entry #: ../client/gtk/gui.c:355 ../editor/gtk/editor.c:1773 msgid "Center the map" msgstr "Centrar o mapa" #. Menu entry #: ../client/gtk/gui.c:359 ../client/gtk/gui.c:368 ../editor/gtk/editor.c:1724 #: ../server/gtk/main.c:94 msgid "_Help" msgstr "A_juda" #. Menu entry #: ../client/gtk/gui.c:362 msgid "_About Pioneers" msgstr "_Acerca de Pioneers" #. Tooltip for About Pioneers menu entry #: ../client/gtk/gui.c:364 msgid "Information about Pioneers" msgstr "Informação acerca de Pioneers" #. Tooltip for Help menu entry #: ../client/gtk/gui.c:370 ../client/gtk/gui.c:1258 msgid "Show the manual" msgstr "Mostrar o manual" #. Menu entry #: ../client/gtk/gui.c:378 ../editor/gtk/editor.c:1791 msgid "_Fullscreen" msgstr "_Ecrã Inteiro" #. Tooltip for Fullscreen menu entry #: ../client/gtk/gui.c:381 ../editor/gtk/editor.c:1794 msgid "Set window to full screen mode" msgstr "Coloca a janela em modo de ecrã inteiro" #. Menu entry #: ../client/gtk/gui.c:386 msgid "_Toolbar" msgstr "_Barra de ferramentas" #. Tooltip for Toolbar menu entry #: ../client/gtk/gui.c:388 msgid "Show or hide the toolbar" msgstr "Mostra ou esconde a barra de ferramentas" #. Victory points target in statusbar #: ../client/gtk/gui.c:491 #, c-format msgid "Points needed to win: %i" msgstr "Pontos necessários para ganhar: %i" #: ../client/gtk/gui.c:577 msgid "Messages" msgstr "Mensagens" #. Tab page name #: ../client/gtk/gui.c:703 ../editor/gtk/editor.c:1946 msgid "Map" msgstr "Mapa" #. Tooltip #: ../client/gtk/gui.c:712 msgid "Finish trading" msgstr "Terminar Negócio" #. Tab page name #. Button text #: ../client/gtk/gui.c:722 ../client/gtk/quote.c:339 msgid "Quote" msgstr "Quote" #. Tooltip #: ../client/gtk/gui.c:724 msgid "Reject domestic trade" msgstr "Rejeitar Negócio Doméstico" #. Tab page name #. Dialog caption #: ../client/gtk/gui.c:734 ../client/gtk/legend.c:249 msgid "Legend" msgstr "Legenda" #. Tab page name, shown for the splash screen #: ../client/gtk/gui.c:744 msgid "Welcome to Pioneers" msgstr "Bem-vindo ao Pioneers" #. Caption of preferences dialog #: ../client/gtk/gui.c:1028 msgid "Pioneers Preferences" msgstr "Preferências de Pioneers" #. Button text #: ../client/gtk/gui.c:1034 ../client/gtk/histogram.c:252 #: ../client/gtk/legend.c:253 ../client/gtk/settingscreen.c:413 msgid "_Close" msgstr "" #. Label for changing the theme, in the preferences dialog #: ../client/gtk/gui.c:1059 msgid "Theme:" msgstr "Tema:" #. Tooltip for changing the theme in the preferences dialog #: ../client/gtk/gui.c:1082 msgid "Choose one of the themes" msgstr "Escolhe um dos temas" #. Label for the option to show the legend #: ../client/gtk/gui.c:1086 msgid "Show legend" msgstr "Mostrar legenda" #. Tooltip for the option to show the legend #: ../client/gtk/gui.c:1096 msgid "Show the legend as a page beside the map" msgstr "Mostrar a legenda como uma página junto ao mapa" #. Label for the option to display log messages in color #: ../client/gtk/gui.c:1101 msgid "Messages with color" msgstr "Mensagens com cor" #. Tooltip for the option to display log messages in color #: ../client/gtk/gui.c:1111 msgid "Show new messages with color" msgstr "Mostrar novas mensagens com cor" #. Label for the option to display chat in color of player #: ../client/gtk/gui.c:1116 msgid "Chat in color of player" msgstr "Conversar na cor do jogador" #. Tooltip for the option to display chat in color of player #: ../client/gtk/gui.c:1127 msgid "Show new chat messages in the color of the player" msgstr "Mostrar novas mensagens de conversa na cor do jogador" #. Label for the option to display the summary with colors #: ../client/gtk/gui.c:1132 msgid "Summary with color" msgstr "Sumário com cor" #. Tooltip for the option to display the summary with colors #: ../client/gtk/gui.c:1143 msgid "Use colors in the player summary" msgstr "Usar cor no sumário do jogador" #. Label for the option to display keyboard accelerators in the toolbar #: ../client/gtk/gui.c:1148 msgid "Toolbar with shortcuts" msgstr "Barra de ferramentas com atalhos" #. Tooltip for the option to display keyboard accelerators in the toolbar #: ../client/gtk/gui.c:1158 msgid "Show keyboard shortcuts in the toolbar" msgstr "Mostrar atalhos directos do teclado na barra de ferramentas" #. Label for the option to disable all sounds #: ../client/gtk/gui.c:1164 msgid "Silent mode" msgstr "Modo Silencioso" #. Tooltip for the option to disable all sounds #: ../client/gtk/gui.c:1170 msgid "In silent mode no sounds are made" msgstr "Em modo silencioso nenhum som é feito" #. Label for the option to announce when players/spectators enter #: ../client/gtk/gui.c:1176 msgid "Announce new players" msgstr "Anunciar novos jogadores" #. Tooltip for the option to use sound when players/spectators enter #: ../client/gtk/gui.c:1186 msgid "Make a sound when a new player or spectator enters the game" msgstr "Tocar um som quando um novo jogador ou espectador se juntar ao jogo" #. Label for the option to use the notifications. #: ../client/gtk/gui.c:1198 msgid "Show notifications" msgstr "Mostrar notificações" #. Tooltip for notifications option. #: ../client/gtk/gui.c:1208 msgid "Show notifications when it's your turn or when new trade is available" msgstr "" "Mostrar notificações quando for o seu turno ou quando novos negócios " "estiverem disponíveis" #. Label for the option to use the 16:9 layout. #: ../client/gtk/gui.c:1214 msgid "Use 16:9 layout" msgstr "Usar a disposição 16:9" #. Tooltip for 16:9 option. #: ../client/gtk/gui.c:1224 msgid "Use a 16:9 friendly layout for the window" msgstr "Usar a disposição amigável 16:9 para a janela" #. Caption of about box #: ../client/gtk/gui.c:1233 msgid "About Pioneers" msgstr "Acerca de Pioneers" #. Initial text in status bar #: ../client/gtk/gui.c:1544 ../client/gtk/offline.c:107 msgid "Welcome to Pioneers!" msgstr "Bem-vindo ao Pioneers!" #. The name of the application #. Name of the application #: ../client/gtk/gui.c:1606 ../client/gtk/offline.c:209 #: ../client/gtk/pioneers.desktop.in.h:1 msgid "Pioneers" msgstr "Pioneers" #. Dialog caption #: ../client/gtk/histogram.c:248 msgid "Dice Histogram" msgstr "Histograma dos dados" #: ../client/gtk/interface.c:111 msgid "Ship movement canceled." msgstr "Movimento do barco cancelado" #: ../client/gtk/interface.c:119 ../client/gtk/interface.c:120 msgid "Select a new location for the ship." msgstr "Seleccione uma nova localização para o barco" #. Notification #: ../client/gtk/interface.c:919 msgid "It is your turn to setup." msgstr "É o seu turno para construir" #: ../client/gtk/legend.c:34 msgid "Hill" msgstr "Colina" #: ../client/gtk/legend.c:35 msgid "Field" msgstr "Campo" #: ../client/gtk/legend.c:36 msgid "Mountain" msgstr "Montanha" #: ../client/gtk/legend.c:37 msgid "Pasture" msgstr "Pasto" #: ../client/gtk/legend.c:38 msgid "Forest" msgstr "Floresta" #: ../client/gtk/legend.c:39 msgid "Desert" msgstr "Deserto" #: ../client/gtk/legend.c:40 msgid "Sea" msgstr "Mar" #. Label #: ../client/gtk/legend.c:132 msgid "Terrain yield" msgstr "Produção do terreno" #. Label #: ../client/gtk/legend.c:165 msgid "Building costs" msgstr "Custos de construção" #: ../client/gtk/legend.c:203 ../client/gtk/player.c:54 #: ../editor/gtk/game-buildings.c:11 msgid "City wall" msgstr "Muralha" #: ../client/gtk/legend.c:206 ../client/gtk/player.c:65 msgid "Development card" msgstr "Carta de desenvolvimento" #. Dialog caption #. Name of the development card #: ../client/gtk/monopoly.c:84 ../common/cards.c:86 msgid "Monopoly" msgstr "Monopólio" #. Label #: ../client/gtk/monopoly.c:106 msgid "Select the resource you wish to monopolize." msgstr "Escolhe um recurso que queres monopolizar." #. Dialog caption #: ../client/gtk/name.c:141 msgid "Change Player Name" msgstr "Altera o nome de jogador" #. Label #: ../client/gtk/name.c:172 msgid "Player name:" msgstr "Nome de jogador:" #. Label: set player icon preferences #: ../client/gtk/name.c:234 msgid "Face:" msgstr "Cara:" #. Label: set player icon preferences #: ../client/gtk/name.c:250 msgid "Variant:" msgstr "Variante:" #: ../client/gtk/offline.c:61 msgid "Connect as a spectator" msgstr "Ligar-se como espectador" #: ../client/gtk/offline.c:64 msgid "Metaserver Host" msgstr "Anfitrião do Meta-servidor" #: ../client/gtk/offline.c:78 msgid "Select a game to join." msgstr "Seleccionar um jogo para aderir." #: ../client/gtk/offline.c:94 msgid "Connecting" msgstr "Conectando" #. Long description in the commandline for pioneers: help #: ../client/gtk/offline.c:183 msgid "- Play a game of Pioneers" msgstr "- Jogar um jogo de Pioneers" #: ../client/gtk/pioneers.desktop.in.h:2 msgid "Play a game of Pioneers" msgstr "Jogar um jogo de Pioneers" #: ../client/gtk/pioneers.desktop.in.h:3 msgid "game;board;play;Pioneers;Settlers;" msgstr "" #: ../client/gtk/player.c:52 msgid "Settlements" msgstr "Estabelecimentos" #: ../client/gtk/player.c:53 msgid "Cities" msgstr "Cidades" #: ../client/gtk/player.c:54 msgid "City walls" msgstr "Muralhas" #: ../client/gtk/player.c:55 msgid "Largest army" msgstr "Maior Exército" #: ../client/gtk/player.c:56 msgid "Longest road" msgstr "Maior Estrada" #. Name of the development card #: ../client/gtk/player.c:57 ../common/cards.c:92 msgid "Chapel" msgstr "Capela" #: ../client/gtk/player.c:57 msgid "Chapels" msgstr "Capelas" #. Name of the development card #: ../client/gtk/player.c:58 ../common/cards.c:95 msgid "Pioneer university" msgstr "Universidade Pioneer" #: ../client/gtk/player.c:58 msgid "Pioneer universities" msgstr "Universidades Pioneers" #. Name of the development card #: ../client/gtk/player.c:60 ../common/cards.c:98 msgid "Governor's house" msgstr "Palácio do Governador" #: ../client/gtk/player.c:60 msgid "Governor's houses" msgstr "Palácio do Governador" #. Name of the development card #: ../client/gtk/player.c:61 ../common/cards.c:101 msgid "Library" msgstr "Biblioteca" #: ../client/gtk/player.c:61 msgid "Libraries" msgstr "Bibliotecas" #. Name of the development card #: ../client/gtk/player.c:62 ../common/cards.c:104 msgid "Market" msgstr "Mercado" #: ../client/gtk/player.c:62 msgid "Markets" msgstr "Mercados" #. Name of the development card #: ../client/gtk/player.c:63 ../common/cards.c:107 msgid "Soldier" msgstr "Soldado" #: ../client/gtk/player.c:63 msgid "Soldiers" msgstr "Soldados" #: ../client/gtk/player.c:64 msgid "Resource card" msgstr "Carta de recurso" #: ../client/gtk/player.c:64 msgid "Resource cards" msgstr "Cartas de recurso" #. Caption #: ../client/gtk/player.c:65 ../editor/gtk/editor.c:1305 msgid "Development cards" msgstr "Cartas de desenvolvimento" #. Caption for the overview of the points and card of other players #: ../client/gtk/player.c:559 msgid "Player summary" msgstr "Sumário dos Jogadores" #. Dialog caption #: ../client/gtk/plenty.c:61 msgid "Year of Plenty" msgstr "Ano de Abundância" #: ../client/gtk/plenty.c:92 msgid "Please choose one resource from the bank" msgstr "Por favor escolha um recurso do banco" #: ../client/gtk/plenty.c:95 msgid "Please choose two resources from the bank" msgstr "Por favor escolha dois recursos do banco" #: ../client/gtk/plenty.c:97 msgid "The bank is empty" msgstr "O banco está vazio" #: ../client/gtk/quote.c:187 #, c-format msgid "%s has %s, and is looking for %s" msgstr "%s tem %s e está à procura de %s" #. Notification #: ../client/gtk/quote.c:217 #, c-format msgid "New offer from %s." msgstr "Nova oferta de %s" #. Notification #: ../client/gtk/quote.c:242 #, c-format msgid "Offer from %s." msgstr "Oferta de %s" #. Label #. Frame title, trade: I want to trade these resources #: ../client/gtk/quote.c:316 ../client/gtk/trade.c:524 msgid "I want" msgstr "Quero" #. Label #. Frame title, trade: I want these resources in return #: ../client/gtk/quote.c:326 ../client/gtk/trade.c:530 msgid "Give them" msgstr "Dá-lhes" #. Button text #: ../client/gtk/quote.c:345 msgid "Delete" msgstr "Apagar" #. Button text #: ../client/gtk/quote.c:370 msgid "Reject Domestic Trade" msgstr "Rejeitar Negócio Doméstico" #. Now create columns #. Table header: Player who trades #. Role of the player: player #: ../client/gtk/quote-view.c:170 ../server/gtk/main.c:684 msgid "Player" msgstr "Jogador" #. Table header: Quote #: ../client/gtk/quote-view.c:185 msgid "Quotes" msgstr "Quotes" #. trade: maritime quote: %1 resources of type %2 for #. * one resource of type %3 #: ../client/gtk/quote-view.c:303 #, c-format msgid "%d:1 %s for %s" msgstr "%d:1 %s por %s" #. Trade: a player has rejected trade #: ../client/gtk/quote-view.c:442 msgid "Rejected trade" msgstr "Negócio rejeitado" #. Caption for overview of the resources of the player #: ../client/gtk/resource.c:71 msgid "Resources" msgstr "Recursos" #. Label #: ../client/gtk/resource.c:86 msgid "Total" msgstr "Total" #. Tooltip for the amount of resources in the hand #: ../client/gtk/resource-table.c:180 msgid "Amount in hand" msgstr "Cartas de recurso na mão" #. Button for decreasing the selected amount #: ../client/gtk/resource-table.c:185 msgid "" msgstr "mais>" #. Tooltip for increasing the selected amount #: ../client/gtk/resource-table.c:226 msgid "Increase the selected amount" msgstr "Incrementar a quantidade seleccionada" #. Tooltip for the selected amount #: ../client/gtk/resource-table.c:243 msgid "Selected amount" msgstr "Quantidade seleccionada" #. Tooltip for the total selected amount #: ../client/gtk/resource-table.c:288 msgid "Total selected amount" msgstr "Quantidade seleccionada total" #. Tooltip when the bank cannot be emptied #: ../client/gtk/resource-table.c:307 msgid "The bank cannot be emptied" msgstr "O banco não pode ser esvaziado" #: ../client/gtk/settingscreen.c:74 msgid "Yes" msgstr "Sim" #: ../client/gtk/settingscreen.c:76 ../client/gtk/settingscreen.c:240 msgid "No" msgstr "Não" #: ../client/gtk/settingscreen.c:87 ../client/gtk/settingscreen.c:187 msgid "Unknown" msgstr "Desconhecido" #: ../client/gtk/settingscreen.c:121 msgid "No game in progress..." msgstr "Não há jogo a decorrer" #. Label #: ../client/gtk/settingscreen.c:132 msgid "General settings" msgstr "Preferências gerais" #: ../client/gtk/settingscreen.c:149 msgid "Number of players:" msgstr "Número de jogadores:" #: ../client/gtk/settingscreen.c:153 msgid "Victory point target:" msgstr "Ponto de Vitória:" #: ../client/gtk/settingscreen.c:157 msgid "Random terrain:" msgstr "Terreno Aleatório:" #: ../client/gtk/settingscreen.c:161 msgid "Allow trade between players:" msgstr "Permitir trocas entre jogadores:" #: ../client/gtk/settingscreen.c:166 msgid "Allow trade only before building or buying:" msgstr "Trocas permitidas apenas antes de construir/comprar:" #: ../client/gtk/settingscreen.c:171 msgid "Check victory only at end of turn:" msgstr "Verificar a vitória apenas no fim do turno:" #: ../client/gtk/settingscreen.c:176 msgid "Amount of each resource:" msgstr "Quantidade de cada recurso:" #: ../client/gtk/settingscreen.c:190 msgid "Sevens rule:" msgstr "Regra dos setes:" #: ../client/gtk/settingscreen.c:196 msgid "Use dice deck instead of dice:" msgstr "" #: ../client/gtk/settingscreen.c:201 #, fuzzy msgid "Number of dice decks:" msgstr "Número de jogadores:" #: ../client/gtk/settingscreen.c:207 msgid "Number of dice cards removed after shuffling:" msgstr "" #: ../client/gtk/settingscreen.c:214 msgid "Use the pirate to block ships:" msgstr "Usar o pirata para bloquear barcos:" #: ../client/gtk/settingscreen.c:243 msgid "Island discovery bonuses:" msgstr "Bónus de Descoberta de Ilha:" #. Label #: ../client/gtk/settingscreen.c:260 msgid "Building quotas" msgstr "Custos de construção" #: ../client/gtk/settingscreen.c:277 msgid "Roads:" msgstr "Estradas:" #: ../client/gtk/settingscreen.c:283 msgid "Settlements:" msgstr "Estabelecimentos:" #: ../client/gtk/settingscreen.c:289 msgid "Cities:" msgstr "Cidades:" #: ../client/gtk/settingscreen.c:295 msgid "City walls:" msgstr "Muralhas:" #: ../client/gtk/settingscreen.c:301 msgid "Ships:" msgstr "Barcos:" #: ../client/gtk/settingscreen.c:307 msgid "Bridges:" msgstr "Pontes:" #. Label #: ../client/gtk/settingscreen.c:320 msgid "Development card deck" msgstr "Baralho das Cartas de Desenvolvimento" #: ../client/gtk/settingscreen.c:336 msgid "Road building cards:" msgstr "Cartas de Construção de Estradas:" #: ../client/gtk/settingscreen.c:340 msgid "Monopoly cards:" msgstr "Cartas de Monopólio:" #: ../client/gtk/settingscreen.c:344 msgid "Year of plenty cards:" msgstr "Cartas de Ano de Abundância:" #: ../client/gtk/settingscreen.c:348 msgid "Chapel cards:" msgstr "Cartas de Capela:" #: ../client/gtk/settingscreen.c:352 msgid "Pioneer university cards:" msgstr "Cartas Universidade de Pioneers:" #: ../client/gtk/settingscreen.c:356 msgid "Governor's house cards:" msgstr "Cartas Palácio do Governador:" #: ../client/gtk/settingscreen.c:360 msgid "Library cards:" msgstr "Cartas de Biblioteca:" #: ../client/gtk/settingscreen.c:364 msgid "Market cards:" msgstr "Cartas de Mercado:" #: ../client/gtk/settingscreen.c:368 msgid "Soldier cards:" msgstr "Cartas de Soldado:" #. Dialog caption #: ../client/gtk/settingscreen.c:407 msgid "Current Game Settings" msgstr "Preferências do jogo actual" #. trade: you ask for something for free #: ../client/gtk/trade.c:205 #, c-format msgid "ask for %s for free" msgstr "pede %s grátis" #. trade: you give something away for free #: ../client/gtk/trade.c:210 #, c-format msgid "give %s for free" msgstr "oferece %s grátis" #. trade: you trade something for something else #: ../client/gtk/trade.c:215 #, c-format msgid "give %s for %s" msgstr "oferece %s por %s" #. I want some resources, and give them some resources #: ../client/gtk/trade.c:242 #, c-format msgid "I want %s, and give them %s" msgstr "Quero %s, e dou %s" #. Notification #: ../client/gtk/trade.c:348 #, c-format msgid "Quote received from %s." msgstr "Oferta de preço recebido de %s" #. Button text, trade: call for quotes from other players #: ../client/gtk/trade.c:539 msgid "_Call for Quotes" msgstr "_Verificar Quotes" #. Button text: Trade page, accept selected quote #: ../client/gtk/trade.c:568 msgid "_Accept Quote" msgstr "_Aceitar Quote" #. Button text: Trade page, finish trading #: ../client/gtk/trade.c:574 msgid "_Finish Trading" msgstr "_Terminar Negócio" #. Name of the development card #: ../common/cards.c:83 msgid "Road building" msgstr "Construcção de caminhos" #. Name of the development card #: ../common/cards.c:89 msgid "Year of plenty" msgstr "Ano de Abundância" #. Description of the 'Road Building' development card #: ../common/cards.c:118 msgid "Build two new roads" msgstr "Contruir duas novas estradas" #. Description of the 'Monopoly' development card #: ../common/cards.c:121 msgid "" "Select a resource type and take every card of that type held by all other " "players" msgstr "" "Escolha um tipo de recurso e retire todas as cartas desse recurso possuídas " "pelos outros jogadores" #. Description of the 'Year of Plenty' development card #: ../common/cards.c:125 msgid "" "Take two resource cards of any type from the bank (cards may be of the same " "or different types)" msgstr "Retire duas cartas de qualquer tipo de recurso do baralho" #. Description of a development card of 1 victory point #: ../common/cards.c:134 msgid "One victory point" msgstr "Um ponto de vitória" #. Description of the 'Soldier' development card #: ../common/cards.c:137 msgid "" "Move the robber to a different space and take one resource card from another " "player adjacent to that space" msgstr "" "Mova o ladrão para um espaço diferente e retire uma carta de recurso de um " "jogador adjacente a esse espaço" #: ../common/game.c:523 #, c-format msgid "Obsolete rule: '%s'\n" msgstr "Regra obsoleta: '%s'\n" #: ../common/game.c:530 #, c-format msgid "" "The game uses the new rule '%s', which is not yet supported. Consider " "upgrading.\n" msgstr "" "O jogo usa a nova regra '%s', que não é suportada ainda. Considere " "actualizar.\n" #: ../common/game.c:924 ../common/game.c:955 msgid "This game cannot be won." msgstr "Este jogo não pode ser ganho" #: ../common/game.c:925 msgid "There is no land." msgstr "Não há terra" #: ../common/game.c:959 msgid "It is possible that this game cannot be won." msgstr "É possível que este jogo não possa ser ganho" #: ../common/game.c:965 msgid "This game can be won by only building all settlements and cities." msgstr "Este jogo pode ser ganho apenas construindo estabelecimentos e cidades" #: ../common/game.c:971 #, fuzzy, c-format msgid "" "Required victory points: %d\n" "Points obtained by building all: %d\n" "Points in development cards: %u\n" "Longest road/largest army: %d+%d\n" "Maximum island discovery bonus: %d\n" "Total: %d" msgstr "" "Pontos requeridos para a vistória: %d\n" "Pontos obtidos construindo tudo: %d\n" "Pontos nas cartas de desenvolvimento: %d\n" "Maior Estrada/Exército: %d+%d\n" "Maior bónus de descoberta de ilha: %d\n" "Total: %d" #: ../common/game-list.c:111 #, c-format msgid "Looking for games in '%s'\n" msgstr "Procurando jogos em '%s'\n" #: ../common/game-list.c:113 #, c-format msgid "Game directory '%s' not found\n" msgstr "Directório de jogos '%s' não encontrado\n" #: ../common/game-list.c:131 #, fuzzy, c-format msgid "Unable to load game: '%s'\n" msgstr "Falha ao carregar '%s'" #: ../common/game-list.c:151 #, fuzzy msgid "No games available\n" msgstr "Desculpa, %s disponível.\n" #: ../common/gtk/aboutbox.c:53 msgid "" "Pioneers is based upon the excellent\n" "Settlers of Catan board game.\n" msgstr "" "Pioneers é baseado no excelente\n" "jogo de tabuleiro 'Os Descobridores de Catan'.\n" # #. Translators: add your name here. Keep the list #. * alphabetically, do not remove any names, and add #. * \n after your name (except the last name). #. #: ../common/gtk/aboutbox.c:63 msgid "translator-credits" msgstr "" "Filipe Roque\n" "\n" "Launchpad Contributions:\n" " Almufadado https://launchpad.net/~almufadado\n" " André Oliveira https://launchpad.net/~oribunokiyuusou\n" " Filipe Roque https://launchpad.net/~flip-roque\n" " Tiago Silva https://launchpad.net/~tiagosilva" #. Caption for result of checking victory points #: ../common/gtk/common_gtk.c:324 msgid "Victory Point Analysis" msgstr "Análise dos pontos de vitória" #. Tooltip for sevens rule normal #: ../common/gtk/game-rules.c:110 msgid "All sevens move the robber or pirate" msgstr "Todos os 7 movem o ladrão ou o pirata" #. Tooltip for sevens rule reroll on 1st 2 turns #: ../common/gtk/game-rules.c:114 msgid "In the first two turns all sevens are rerolled" msgstr "Nos primeiros dois turnos os setes são relançados" #. Tooltip for sevens rule reroll all #: ../common/gtk/game-rules.c:118 msgid "All sevens are rerolled" msgstr "Todos os 7 são relançados" #: ../common/gtk/game-rules.c:129 msgid "Randomize terrain" msgstr "Terreno Aleatório?" #: ../common/gtk/game-rules.c:129 msgid "Randomize the terrain" msgstr "Terreno Aleatório?" #: ../common/gtk/game-rules.c:132 msgid "Use pirate" msgstr "Usar Pirata" #: ../common/gtk/game-rules.c:133 msgid "Use the pirate to block ships" msgstr "Usar o pirata para bloquear barcos" #: ../common/gtk/game-rules.c:135 msgid "Strict trade" msgstr "Negócio rigoroso" #: ../common/gtk/game-rules.c:136 msgid "Allow trade only before building or buying" msgstr "Trocas permitidas apenas antes de construir/comprar?" #: ../common/gtk/game-rules.c:138 msgid "Domestic trade" msgstr "Negócio local" #: ../common/gtk/game-rules.c:139 msgid "Allow trade between players" msgstr "Permitir trocas entre jogadores" #: ../common/gtk/game-rules.c:141 msgid "Victory at end of turn" msgstr "Vitória no fim do turno" #: ../common/gtk/game-rules.c:142 msgid "Check for victory only at end of turn" msgstr "Verificar a vitória apenas no fim do turno" #: ../common/gtk/game-rules.c:145 msgid "Use dice deck" msgstr "" #: ../common/gtk/game-rules.c:147 msgid "Use a deck of 36 dice cards instead of real dice" msgstr "" #. Label #: ../common/gtk/game-rules.c:155 #, fuzzy msgid "Number of dice decks" msgstr "Número de computadores a jogar" #: ../common/gtk/game-rules.c:172 msgid "The number of dice decks (of 36 cards each)" msgstr "" #. Label #: ../common/gtk/game-rules.c:180 msgid "Number of removed dice cards" msgstr "" #: ../common/gtk/game-rules.c:199 msgid "The number of dice cards that are removed after shuffling the deck" msgstr "" #. Label #: ../common/gtk/game-rules.c:207 msgid "Island discovery bonuses" msgstr "Bónus de descoberta de ilhas" #. Tooltip for island bonus #: ../common/gtk/game-rules.c:219 msgid "A comma separated list of bonus points for discovering islands" msgstr "Uma lista separada por vírgulas de pontos bónus por descobrir ilhas" #. Tooltip for the check button #: ../common/gtk/game-rules.c:237 msgid "Check and correct island discovery bonuses" msgstr "Verificar e corrigir bónus de descoberta de ilhas" #. Label text for customising a game #: ../common/gtk/game-settings.c:105 msgid "Number of players" msgstr "Número de jogadores" #. Tooltip for 'Number of Players' #: ../common/gtk/game-settings.c:124 msgid "The number of players" msgstr "O número de jogadores" #. Label for customising a game #: ../common/gtk/game-settings.c:127 msgid "Victory point target" msgstr "Ponto de Vitória" #. Tooltip for Victory Point Target #: ../common/gtk/game-settings.c:147 msgid "The points needed to win the game" msgstr "Os pontos necessários para ganhar o jogo" #. Tooltip for the check button #: ../common/gtk/game-settings.c:161 msgid "Is it possible to win this game?" msgstr "É possível ganhar este jogo?" #. Port indicator for a resource: trade 2 for 1 #: ../common/gtk/guimap.c:742 msgid "2:1" msgstr "2:1" #. Port indicator: trade 3 for 1 #. General port indicator #: ../common/gtk/guimap.c:745 ../common/gtk/guimap.c:770 msgid "3:1" msgstr "3:1" #. Port indicator for brick #: ../common/gtk/guimap.c:750 msgid "Brick port|B" msgstr "Ld" #. Port indicator for grain #: ../common/gtk/guimap.c:754 msgid "Grain port|G" msgstr "C" #. Port indicator for ore #: ../common/gtk/guimap.c:758 msgid "Ore port|O" msgstr "Mi" #. Port indicator for wool #: ../common/gtk/guimap.c:762 msgid "Wool port|W" msgstr "Ln" #. Port indicator for lumber #: ../common/gtk/guimap.c:766 msgid "Lumber port|L" msgstr "Ma" #. Tooltip for the list of metaservers #: ../common/gtk/metaserver.c:85 msgid "Select a metaserver" msgstr "Escolha um meta-servidor" #. Tooltip for the list of games #: ../common/gtk/select-game.c:135 msgid "Select a game" msgstr "Seleccione um jogo" #. Log prefix #: ../common/log.c:58 msgid "*ERROR* " msgstr "*ERRO* " #. Log prefix #: ../common/log.c:66 msgid "Chat: " msgstr "Conversar: " #. Log prefix #: ../common/log.c:70 msgid "Resource: " msgstr "Recursos: " #. Log prefix #: ../common/log.c:74 msgid "Build: " msgstr "Construir: " #. Log prefix #: ../common/log.c:78 msgid "Dice: " msgstr "Dados: " #. Log prefix #: ../common/log.c:82 msgid "Steal: " msgstr "Roubar: " #. Log prefix #: ../common/log.c:86 msgid "Trade: " msgstr "Trocas: " #. Log prefix #: ../common/log.c:90 msgid "Development: " msgstr "Desenvolvimento: " #. Log prefix #: ../common/log.c:94 msgid "Army: " msgstr "Exército: " #. Log prefix #: ../common/log.c:98 msgid "Road: " msgstr "Estrada: " #. Log prefix #: ../common/log.c:102 msgid "*BEEP* " msgstr "*SOM* " #. Log prefix #: ../common/log.c:108 msgid "Player 1: " msgstr "Jogador 1: " #. Log prefix #: ../common/log.c:112 msgid "Player 2: " msgstr "Jogador 2: " #. Log prefix #: ../common/log.c:116 msgid "Player 3: " msgstr "Jogador 3: " #. Log prefix #: ../common/log.c:120 msgid "Player 4: " msgstr "Jogador 4: " #. Log prefix #: ../common/log.c:124 msgid "Player 5: " msgstr "Jogador 5: " #. Log prefix #: ../common/log.c:128 msgid "Player 6: " msgstr "Jogador 6: " #. Log prefix #: ../common/log.c:132 msgid "Player 7: " msgstr "Jogador 7: " #. Log prefix #: ../common/log.c:136 msgid "Player 8: " msgstr "Jogador 8: " #. Log prefix #: ../common/log.c:140 msgid "Spectator: " msgstr "Espectador: " #. Log prefix #: ../common/log.c:144 msgid "** UNKNOWN MESSAGE TYPE ** " msgstr "** TIPO DE MENSAGEM DESCONHECIDO ** " #: ../common/network.c:143 #, c-format msgid "Error writing to socket: %s\n" msgstr "Erro a escrever no socket: %s\n" #: ../common/network.c:154 msgid "Could not send all data\n" msgstr "" #: ../common/network.c:202 msgid "Read buffer overflow - disconnecting\n" msgstr "Ler buffer overflow - desconectando\n" #: ../common/network.c:226 #, c-format msgid "Error reading socket: %s\n" msgstr "Erro lendo socket: %s\n" #: ../common/network.c:378 #, fuzzy, c-format msgid "Error connecting to %s: %s\n" msgstr "Erro conectando a %s: %s\n" #: ../common/network.c:566 ../common/network.c:567 msgid "unknown" msgstr "Desconhecido" #: ../common/state.c:203 #, c-format msgid "Connecting to %s, port %s\n" msgstr "Conectando a %s, porta %s\n" #. Error message #: ../common/state.c:333 msgid "State stack overflow. Stack dump sent to standard error.\n" msgstr "State stack overflow. Stack dump semt to standard error.\n" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:113 msgid "_Hill" msgstr "_Colina" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:115 msgid "_Field" msgstr "_Campo" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:117 msgid "_Mountain" msgstr "_Montanha" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:119 msgid "_Pasture" msgstr "_Pasto" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:121 msgid "F_orest" msgstr "_Floresta" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:123 msgid "_Desert" msgstr "_Deserto" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:125 msgid "_Sea" msgstr "M_ar" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:127 msgid "_Gold" msgstr "_Ouro" #. Use an unique shortcut key for each resource #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:129 ../editor/gtk/editor.c:144 msgid "_None" msgstr "_Nada" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:134 msgid "_Brick (2:1)" msgstr "Tijolo (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:136 msgid "_Grain (2:1)" msgstr "_Cereais (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:138 msgid "_Ore (2:1)" msgstr "Mine_rais (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:140 msgid "_Wool (2:1)" msgstr "_Lã (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:142 msgid "_Lumber (2:1)" msgstr "_Madeira (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:146 msgid "_Any (3:1)" msgstr "_Qualquer (3:1)" #. East #: ../editor/gtk/editor.c:151 msgid "East|E" msgstr "Este|E" #. North east #: ../editor/gtk/editor.c:153 msgid "North East|NE" msgstr "Nordeste|NE" #. North west #: ../editor/gtk/editor.c:155 msgid "North West|NW" msgstr "Noroeste|NO" #. West #: ../editor/gtk/editor.c:157 msgid "West|W" msgstr "Oeste|O" #. South west #: ../editor/gtk/editor.c:159 msgid "South West|SW" msgstr "Sudoeste|SO" #. South east #: ../editor/gtk/editor.c:161 msgid "South East|SE" msgstr "Sudeste|SE" #: ../editor/gtk/editor.c:368 msgid "Place a hill hex" msgstr "" #: ../editor/gtk/editor.c:369 msgid "Place a field hex" msgstr "" #: ../editor/gtk/editor.c:370 msgid "Place a mountain hex" msgstr "" #: ../editor/gtk/editor.c:371 msgid "Place a pasture hex" msgstr "" #: ../editor/gtk/editor.c:372 msgid "Place a forest hex" msgstr "" #: ../editor/gtk/editor.c:373 msgid "Place a desert hex" msgstr "" #: ../editor/gtk/editor.c:374 msgid "Place a sea hex" msgstr "" #: ../editor/gtk/editor.c:375 msgid "Place a gold hex" msgstr "" #: ../editor/gtk/editor.c:376 msgid "Clear the hex" msgstr "" #: ../editor/gtk/editor.c:384 msgid "Place a 2 chit" msgstr "" #: ../editor/gtk/editor.c:385 msgid "Place a 3 chit" msgstr "" #: ../editor/gtk/editor.c:386 msgid "Place a 4 chit" msgstr "" #: ../editor/gtk/editor.c:387 msgid "Place a 5 chit" msgstr "" #: ../editor/gtk/editor.c:388 msgid "Place a 6 chit" msgstr "" #: ../editor/gtk/editor.c:390 msgid "Place an 8 chit" msgstr "" #: ../editor/gtk/editor.c:391 msgid "Place a 9 chit" msgstr "" #: ../editor/gtk/editor.c:392 msgid "Place a 10 chit" msgstr "" #: ../editor/gtk/editor.c:393 msgid "Place an 11 chit" msgstr "" #: ../editor/gtk/editor.c:394 msgid "Place a 12 chit" msgstr "" #: ../editor/gtk/editor.c:400 msgid "Place a brick 2:1 port" msgstr "" #: ../editor/gtk/editor.c:401 msgid "Place a grain 2:1 port" msgstr "" #: ../editor/gtk/editor.c:402 msgid "Place an ore 2:1 port" msgstr "" #: ../editor/gtk/editor.c:403 msgid "Place a wool 2:1 port" msgstr "" #: ../editor/gtk/editor.c:404 msgid "Place a lumber 2:1 port" msgstr "" #. Tooltip to remove a port tile in the editor #: ../editor/gtk/editor.c:406 #, fuzzy msgid "Remove a port" msgstr "Porto do Servidor" #: ../editor/gtk/editor.c:407 msgid "Place a 3:1 port" msgstr "" #: ../editor/gtk/editor.c:437 msgid "" "Select the terrain type with the context menu on the left click or toggle a " "node to exclude it from being used during the setup phase" msgstr "" #: ../editor/gtk/editor.c:572 msgid "Insert a row" msgstr "Inserir uma linha" #: ../editor/gtk/editor.c:573 msgid "Delete a row" msgstr "Apagar uma linha" #: ../editor/gtk/editor.c:574 msgid "Insert a column" msgstr "Inserir uma coluna" #: ../editor/gtk/editor.c:575 msgid "Delete a column" msgstr "Apagar uma coluna" #. Label #: ../editor/gtk/editor.c:978 #, fuzzy msgid "_Title" msgstr "_Mudar título" #. Label #: ../editor/gtk/editor.c:991 #, fuzzy msgid "_Description" msgstr "_Deserto" #. Label #: ../editor/gtk/editor.c:1009 #, fuzzy msgid "_Comments" msgstr "Comentários" #. Menu item #: ../editor/gtk/editor.c:1139 msgid "Shuffle" msgstr "Baralhar" #. Caption #. Game settings frame #: ../editor/gtk/editor.c:1294 ../server/gtk/main.c:968 msgid "Game parameters" msgstr "Parâmetros de jogo" #. Caption #. Rules frame #: ../editor/gtk/editor.c:1297 ../server/gtk/main.c:983 msgid "Rules" msgstr "Regras" #. Caption #: ../editor/gtk/editor.c:1299 msgid "Resources" msgstr "Recursos" #. Caption #: ../editor/gtk/editor.c:1302 msgid "Buildings" msgstr "Construções" #. The game in the editor does not have a name yet #: ../editor/gtk/editor.c:1319 msgid "Untitled" msgstr "" #. Application caption #: ../editor/gtk/editor.c:1324 ../editor/gtk/pioneers-editor.desktop.in.h:1 msgid "Pioneers Editor" msgstr "Editor de Pioneers" #: ../editor/gtk/editor.c:1434 #, c-format msgid "Failed to load '%s'" msgstr "Falha ao carregar '%s'" #: ../editor/gtk/editor.c:1482 #, c-format msgid "Failed to save to '%s'" msgstr "Falha ao gravar para '%s'" #. Name of the file filter: show only games #: ../editor/gtk/editor.c:1499 msgid "Games" msgstr "Jogos" #. Name of the file filter: show all files #: ../editor/gtk/editor.c:1505 msgid "Unfiltered" msgstr "Sem filtro" #. Dialog caption #: ../editor/gtk/editor.c:1517 msgid "Open Game" msgstr "Jogo aberto" #. Button text #: ../editor/gtk/editor.c:1524 #, fuzzy msgid "_Open" msgstr "_Abrir" #. Dialog caption #: ../editor/gtk/editor.c:1558 msgid "Save As..." msgstr "Guardar Como..." #. Button text #: ../editor/gtk/editor.c:1565 #, fuzzy msgid "Save _As" msgstr "Gravar _como..." #. Dialog caption #: ../editor/gtk/editor.c:1606 msgid "Change Title" msgstr "Mudar o Título" #. Label #: ../editor/gtk/editor.c:1631 msgid "New title:" msgstr "Novo título:" #. Caption of about box #: ../editor/gtk/editor.c:1688 msgid "About Pioneers Game Editor" msgstr "Acerca do Editor de Pioneers" #. Menu entry #: ../editor/gtk/editor.c:1718 msgid "_File" msgstr "_Ficheiro" #. Menu entry #: ../editor/gtk/editor.c:1728 msgid "_New" msgstr "_Novo" #: ../editor/gtk/editor.c:1729 msgid "Create a new game" msgstr "Criar um novo jogo" #. Menu entry #: ../editor/gtk/editor.c:1732 msgid "_Open..." msgstr "_Abrir" #. Tooltip for Open menu entry #: ../editor/gtk/editor.c:1734 msgid "Open an existing game" msgstr "Abrir um jogo existente" #. Menu entry #: ../editor/gtk/editor.c:1737 msgid "_Save" msgstr "_Gravar" #. Tooltip for Save menu entry #: ../editor/gtk/editor.c:1739 msgid "Save game" msgstr "Gravar jogo" #. Menu entry #: ../editor/gtk/editor.c:1742 msgid "Save _As..." msgstr "Gravar _como..." #. Tooltip for Save As menu entry #: ../editor/gtk/editor.c:1745 msgid "Save as" msgstr "Gravar como" #. Menu entry #: ../editor/gtk/editor.c:1748 #, fuzzy msgid "Change _Title" msgstr "Mudar o Título" #. Tooltip for Change Title menu entry #: ../editor/gtk/editor.c:1750 msgid "Change game title" msgstr "Mudar título do jogo" #. Menu entry #: ../editor/gtk/editor.c:1753 ../server/gtk/main.c:97 msgid "_Check Victory Point Target" msgstr "Verificar objectivo dos Pontos de vitória" #. Tooltip for Check Victory Point Target menu entry #. Tooltop for Check Victory Point Target menu entry #: ../editor/gtk/editor.c:1756 ../server/gtk/main.c:100 msgid "Check whether the game can be won" msgstr "Verificar se o jogo pode ser ganho" #. Tooltip for Quit menu entry #: ../editor/gtk/editor.c:1761 msgid "Quit" msgstr "Sair" #. Menu entry #: ../editor/gtk/editor.c:1783 msgid "_About Pioneers Editor" msgstr "_Acerca do Editor de Pioneers" #. Tooltip for About Pioneers Editor menu entry #: ../editor/gtk/editor.c:1785 msgid "Information about Pioneers Editor" msgstr "Informação acerca do Editor de Pioneers" #. Long help for commandline option (editor): filename #: ../editor/gtk/editor.c:1838 msgid "Open this file" msgstr "Abrir este ficheiro" #. Commandline option for editor: filename #. Commandline metaserver: pidfile argument #: ../editor/gtk/editor.c:1840 ../metaserver/main.c:615 msgid "filename" msgstr "Nome de ficheiro" #. Long description in the command line: --help #: ../editor/gtk/editor.c:1877 msgid "- Editor for games of Pioneers" msgstr "- Editor para jogos de Pioneers" #. Error message #: ../editor/gtk/editor.c:1921 ../server/gtk/main.c:1256 #, c-format msgid "Building menus failed: %s" msgstr "Construção de menus falhada: %s" #. Tab page name #: ../editor/gtk/editor.c:1951 msgid "Settings" msgstr "Preferências" #. Tab page name #: ../editor/gtk/editor.c:1954 msgid "Comments" msgstr "Comentários" #: ../editor/gtk/game-resources.c:48 msgid "Resource count" msgstr "Contagem de Recursos" #: ../editor/gtk/pioneers-editor.desktop.in.h:2 msgid "Create your own game for Pioneers" msgstr "Crie o seu jogo de Pioneers" #: ../editor/gtk/pioneers-editor.desktop.in.h:3 msgid "game;board;create;edit;layout;Pioneers;Settlers;" msgstr "" #. Commandline metaserver: daemon #: ../metaserver/main.c:610 msgid "Daemonize the metaserver on start" msgstr "Processificar o meta-servidor ao arrancar" #. Commandline metaserver: pidfile #: ../metaserver/main.c:613 msgid "Pidfile to create when daemonizing (implies -d)" msgstr "Pidfile a criar quando processificando (implica -d)" #. Commandline metaserver: redirect #: ../metaserver/main.c:618 msgid "Redirect clients to another metaserver" msgstr "Redirecionar clientes para outro meta-servidor" #. Commandline metaserver: server #: ../metaserver/main.c:621 msgid "Use this hostname when creating new games" msgstr "Usar este endereço quando criar novos jogos" #. Commandline metaserver: server argument #: ../metaserver/main.c:623 msgid "hostname" msgstr "endereço" #. Commandline metaserver: port-range #: ../metaserver/main.c:626 msgid "Use this port range when creating new games" msgstr "Usar esta gama de portas quando criar novos jogos" #. Commandline metaserver: port-range argument #: ../metaserver/main.c:628 msgid "from-to" msgstr "de-até" #. Commandline option of metaserver: syslog-debug #: ../metaserver/main.c:634 msgid "Debug syslog messages" msgstr "Debug syslog messages" #. Long description in the commandline for metaserver: help #: ../metaserver/main.c:675 msgid "- Metaserver for Pioneers" msgstr "- Meta server para Pioneers" #: ../metaserver/main.c:691 #, c-format msgid "metaserver protocol:" msgstr "protocolo meta-servidor:" #: ../server/avahi.c:68 msgid "Avahi registration successful.\n" msgstr "Registro de Avahi sucedido\n" #: ../server/avahi.c:78 #, c-format msgid "Avahi service name collision, renaming service to '%s'.\n" msgstr "Colisão no nome do serviço Avahi. Renomear serviço para '%s'.\\n\n" #. Some kind of failure happened while we were registering #: ../server/avahi.c:89 #, c-format msgid "Avahi error: %s\n" msgstr "Erro Avahi: %s\\n\n" #: ../server/avahi.c:113 ../server/avahi.c:145 ../server/avahi.c:155 #: ../server/avahi.c:191 ../server/avahi.c:212 ../server/avahi.c:226 #, c-format msgid "Avahi error: %s, %s\n" msgstr "Erro Avahi: %s, %s\\n\n" #: ../server/avahi.c:213 ../server/avahi.c:227 msgid "Unable to register Avahi server" msgstr "Incapaz de registrar servidor Avahi" #: ../server/avahi.c:260 msgid "Unregistering Avahi.\n" msgstr "Desregistrar o serviço Avahi.\\n\n" #. Menu entry #: ../server/gtk/main.c:108 msgid "_About Pioneers Server" msgstr "_Acerca do Servidor Pioneers" #. Tooltop for About Pioneers Server menu entry #: ../server/gtk/main.c:110 msgid "Information about Pioneers Server" msgstr "Informação do Servidor Pioneers" #: ../server/gtk/main.c:234 msgid "Stop Server" msgstr "Parar servidor" #: ../server/gtk/main.c:235 msgid "Start Server" msgstr "Iniciar o servidor" #: ../server/gtk/main.c:237 ../server/gtk/main.c:996 msgid "Stop the server" msgstr "Parar o servidor" #: ../server/gtk/main.c:238 msgid "Start the server" msgstr "Iniciar o servidor" #: ../server/gtk/main.c:395 #, c-format msgid "Player %s from %s entered\n" msgstr "Jogador %s de %s entrou\n" #: ../server/gtk/main.c:402 #, c-format msgid "Player %s from %s left\n" msgstr "Jogador %s de %s saiu\n" #: ../server/gtk/main.c:409 #, c-format msgid "Player %d is now %s\n" msgstr "Jogador %d está agora %s\n" #: ../server/gtk/main.c:570 msgid "The port for the game server" msgstr "A porta para o servidor de jogo" #. register_toggle #: ../server/gtk/main.c:579 msgid "Register server" msgstr "Registrar o servidor" #: ../server/gtk/main.c:587 msgid "Register this game at the metaserver" msgstr "Registrar este jogo no Meta-servidor" #. hostname label #: ../server/gtk/main.c:618 msgid "Reported hostname" msgstr "Nome de Anfitrião Reportado" #: ../server/gtk/main.c:633 msgid "" "The public name of this computer (needed when playing behind a firewall)" msgstr "" "O nome público deste computador (necessário quando se joga através de uma " "firewall)" #. random toggle #: ../server/gtk/main.c:652 msgid "Random turn order" msgstr "Ordem de turnos aleatória" #: ../server/gtk/main.c:659 msgid "Randomize turn order" msgstr "Desordenar a ordem de turnos" #. Tooltip for server connection overview #: ../server/gtk/main.c:730 msgid "Shows all players and spectators connected to the server" msgstr "Mostrar todos os jogadores e espectadores ligados ao jogo" #. Label for column Connected #: ../server/gtk/main.c:735 msgid "Connected" msgstr "Conectado" #. Tooltip for column Connected #: ../server/gtk/main.c:742 msgid "Is the player currently connected?" msgstr "Está o jogador actualmemte conectado?" #. Label for column Name #: ../server/gtk/main.c:747 msgid "Name" msgstr "Nome" #. Tooltip for column Name #: ../server/gtk/main.c:754 msgid "Name of the player" msgstr "Nome do jogador" #. Label for column Location #: ../server/gtk/main.c:758 msgid "Location" msgstr "Local" #. Tooltip for column Location #: ../server/gtk/main.c:765 msgid "Host name of the player" msgstr "Nome do jogador anfitrião" #. Label for column Number #: ../server/gtk/main.c:771 msgid "Number" msgstr "Número" #. Tooltip for column Number #: ../server/gtk/main.c:778 msgid "Player number" msgstr "Número do jogador" #. Label for column Role #: ../server/gtk/main.c:784 msgid "Role" msgstr "Função" #. Tooltip for column Role #: ../server/gtk/main.c:788 msgid "Player or spectator" msgstr "Jogador ou espectador" #. Button text #: ../server/gtk/main.c:825 msgid "Launch Pioneers Client" msgstr "Iniciar o Cliente de Pioneers" #. Tooltip #: ../server/gtk/main.c:839 msgid "Launch the Pioneers client" msgstr "Iniciar o Cliente de Pioneers" #. ai chat toggle #: ../server/gtk/main.c:868 msgid "Enable chat" msgstr "Activar Conversa" #. Tooltip #: ../server/gtk/main.c:875 msgid "Enable chat messages" msgstr "Activar mensagens de conversa" #. Button text #: ../server/gtk/main.c:884 msgid "Add Computer Player" msgstr "Adicionar adversário electrónico" #. Tooltip #: ../server/gtk/main.c:892 msgid "Add a computer player to the game" msgstr "Adicionar um adversário electrónico ao jogo" #. Tooltip #: ../server/gtk/main.c:925 msgid "Messages from the server" msgstr "Mensagens do servidor" #: ../server/gtk/main.c:961 msgid "Game settings" msgstr "Preferências de jogo" #. server frame #: ../server/gtk/main.c:972 msgid "Server parameters" msgstr "Parâmetros do servidor" #: ../server/gtk/main.c:992 msgid "Running game" msgstr "Jogo actual" #. player connected frame #: ../server/gtk/main.c:1008 msgid "Players connected" msgstr "Jogadores conectados" #. ai frame #: ../server/gtk/main.c:1012 msgid "Computer players" msgstr "Adversário electrónico" #. message frame #: ../server/gtk/main.c:1024 msgid "Messages" msgstr "Mensagens" #. Caption of about box #: ../server/gtk/main.c:1150 #, fuzzy msgid "About the Pioneers Game Server" msgstr "O servidor de Jogo Pionners" # #. Wait for all players to disconnect, #. * then enable the UI #. #: ../server/gtk/main.c:1158 msgid "The game is over.\n" msgstr "O jogo acabou.\n" #. Long description in the commandline for server-gtk: help #. Long description in the commandline for server-console: help #: ../server/gtk/main.c:1212 ../server/main.c:194 msgid "- Host a game of Pioneers" msgstr "- Organizar um jogo de Pioneers" #. Name in the titlebar of the server #: ../server/gtk/main.c:1236 ../server/gtk/pioneers-server-gtk.desktop.in.h:1 msgid "Pioneers Server" msgstr "Servidor de Pioneers" #: ../server/gtk/pioneers-server-gtk.desktop.in.h:2 msgid "Host a game of Pioneers" msgstr "Organizar um jogo de Pioneers" #: ../server/gtk/pioneers-server-gtk.desktop.in.h:3 msgid "game;board;server;host;Pioneers;Settlers;" msgstr "" #. Commandline server-console: game-title #: ../server/main.c:80 msgid "Game title to use" msgstr "Título de jogo para usar" #. Commandline server-console: file #: ../server/main.c:83 msgid "Game file to use" msgstr "Ficheiro de jogo para usar" #. Commandline server-console: port #: ../server/main.c:86 msgid "Port to listen on" msgstr "Porta para escutar" #. Commandline server-console: players #: ../server/main.c:89 msgid "Override number of players" msgstr "Sobrepôr número de adversários" #. Commandline server-console: points #: ../server/main.c:92 msgid "Override number of points needed to win" msgstr "Sobrepôr número de pontos necessários para ganhar" #. Commandline server-console: seven-rule #: ../server/main.c:95 msgid "Override seven-rule handling" msgstr "Sobrepôr regra dos 7's" #. Commandline server-console: dice-deck #: ../server/main.c:98 #, fuzzy msgid "Override dice-deck handling" msgstr "Sobrepôr regra dos 7's" #. Commandline server-console: num-dice-decks #: ../server/main.c:101 #, fuzzy msgid "Override num-dice-decks handling" msgstr "Sobrepôr regra dos 7's" #. Commandline server-console: num-removed-dice-cards #: ../server/main.c:105 #, fuzzy msgid "Override num-removed-dice-cards handling" msgstr "Sobrepôr regra dos 7's" #. Commandline server-console: terrain #: ../server/main.c:108 msgid "Override terrain type, 0=default 1=random" msgstr "Sobrepôr tipo de terreno, 0=omissão 1=aleatório" #. Commandline server-console: computer-players #: ../server/main.c:111 msgid "Add N computer players" msgstr "Adicionar N adversários electrónicos" #. Commandline server-console: register #: ../server/main.c:121 msgid "Register server with metaserver" msgstr "Registrar o servidor com o Meta-servidor" #. Commandline server-console: metaserver #: ../server/main.c:124 msgid "Register at metaserver name (implies -r)" msgstr "Registro em nome de Meta-servidor (supõe -r)" #. Commandline server-console: hostname #: ../server/main.c:128 msgid "Use this hostname when registering" msgstr "Usar este nome de anfitrião quando se registrar" #. Commandline server-console: auto-quit #: ../server/main.c:135 msgid "Quit after a player has won" msgstr "Sair quando um jogador ganhar" #. Commandline server-console: empty-timeout #: ../server/main.c:138 msgid "Quit after N seconds with no players" msgstr "Sair depois de N segundos sem jogadores" #. Commandline server-console: tournament #: ../server/main.c:141 msgid "Tournament mode, computer players added after N minutes" msgstr "" "Modo de campionato, adversários electrónicos adicionado depois de N minutos" #. Commandline server-console: admin-port #: ../server/main.c:145 msgid "Admin port to listen on" msgstr "Porta Admin para escuta" #. Commandline server-console: admin-wait #: ../server/main.c:148 msgid "Don't start game immediately, wait for a command on admin port" msgstr "" "Não iniciar o jogo imediatamemte, esperar um comando na porta de " "administrador" #. Commandline server-console: fixed-seating-order #: ../server/main.c:154 msgid "Give players numbers according to the order they enter the game" msgstr "Dar números de jogadores de acordo com a ordem em que entram em jogo" #. Commandline server-console: Short description of meta group #: ../server/main.c:200 msgid "Metaserver Options" msgstr "Opções de Meta-servidor" #. Commandline server-console: Long description of meta group #: ../server/main.c:202 msgid "Options for the metaserver" msgstr "Opçoes para o Meta-servidor" #. Commandline server-console: Short description of misc group #: ../server/main.c:211 msgid "Miscellaneous Options" msgstr "Opções variadas" #. Commandline server-console: Long description of misc group #: ../server/main.c:213 msgid "Miscellaneous options" msgstr "Opções variadas" #. server-console commandline error #: ../server/main.c:239 #, c-format msgid "Cannot set game title and filename at the same time\n" msgstr "" "Não é possível escolher o título do jogo e o nome do ficheiro em simultâneo\n" #. server-console commandline error #: ../server/main.c:256 #, c-format msgid "Cannot load the parameters for the game\n" msgstr "Os parâmetros do jogo não estão a ser carregados\n" #. Error message #: ../server/main.c:305 ../server/main.c:324 #, c-format msgid "The network port (%s) for the admin interface is not available.\n" msgstr "" #: ../server/meta.c:58 #, fuzzy msgid "The connection to the metaserver is lost.\n" msgstr "Opçoes para o Meta-servidor" #: ../server/meta.c:64 #, c-format msgid "An attempt to reconnect is scheduled in %u second.\n" msgid_plural "An attempt to reconnect is scheduled in %u seconds.\n" msgstr[0] "" msgstr[1] "" #: ../server/meta.c:83 #, fuzzy msgid "Attempting to reconnect to the metaserver.\n" msgstr "Opçoes para o Meta-servidor" #: ../server/meta.c:311 #, fuzzy, c-format msgid "Register with the metaserver at %s.\n" msgstr "Registrar no Meta-servidor em %s, porta %s\n" #: ../server/meta.c:322 #, fuzzy msgid "Unregister from the metaserver.\n" msgstr "Desregistrar do Meta-servidor\n" #: ../server/player.c:142 msgid "chat too long" msgstr "Conversa demasiado larga" #: ../server/player.c:159 msgid "name too long" msgstr "Nome demasiado largo" #: ../server/player.c:191 msgid "ignoring unknown extension" msgstr "ignorar extensão desconhecida" #: ../server/player.c:228 ../server/player.c:298 msgid "The last player left, the tournament timer is reset." msgstr "O último jogador saiu, o relógio foi reiniciado" #: ../server/player.c:262 ../server/player.c:643 msgid "No human players present. Bye." msgstr "Sem jogadores humanos presentes. Adeus." #: ../server/player.c:269 msgid "Game starts, adding computer players." msgstr "O jogo começa, adicionar adversários electrónicos." #: ../server/player.c:311 #, c-format msgid "The game starts in %s minutes." msgstr "O jogo começa em %s minutos." #: ../server/player.c:312 #, c-format msgid "The game starts in %s minute." msgstr "O jogo começa em %s minuto." # #. Default name for the AI when the computer_names file #. * is not found or empty. #. #: ../server/player.c:370 ../server/player.c:376 msgid "Computer Player" msgstr "Adversário electrónico" #: ../server/player.c:450 #, c-format msgid "Unable to determine the hostname of the player: %s" msgstr "" #. The game is over, don't accept new players #. Message to send to the client when the game is already over #. * when a connection is made. #: ../server/player.c:476 msgid "Sorry, game is over." msgstr "O jogo acabou." #: ../server/player.c:478 #, c-format msgid "Player from %s is refused: game is over\n" msgstr "Jogador de %s recusado: jogo acabou\n" #: ../server/player.c:520 msgid "Name not changed: new name is already in use" msgstr "Nome não mudado: novo nome está já em uso" #: ../server/player.c:638 ../server/server.c:38 msgid "Was hanging around for too long without players... bye.\n" msgstr "Estava à espera à muito tempo sem jogadores...Adeus.\n" #: ../server/player.c:723 msgid "The last human player left. Waiting for the return of a player." msgstr "O último jogador humano saiu. À espera do regresso de um jogador." #: ../server/player.c:744 msgid "Resuming the game." msgstr "Prosseguindo o jogo" #. %s is the name of the reconnecting player #: ../server/player.c:870 #, c-format msgid "%s has reconnected." msgstr "%s reconectou-se." #: ../server/player.c:970 #, c-format msgid "Version mismatch: %s" msgstr "Versão não coincide: %s" #: ../server/player.c:1007 msgid "This game will start soon." msgstr "Este jogo começará em breve" #. Server: preparing game #..... #: ../server/server.c:221 msgid "Preparing game" msgstr "Preparando jogo" #: ../server/turn.c:254 msgid "Island Discovery Bonus" msgstr "Bónus de Descoberta de Ilha" #: ../server/turn.c:255 msgid "Additional Island Bonus" msgstr "Bónus de ilha adicional" #: ../server/turn.c:386 msgid "Tried to assign resources to NULL player.\n" msgstr "Tentativa de atribuir recursos ao jogador NULL.\n" #. Cheat mode has been activated #: ../server/turn.c:516 msgid "The dice roll has been determined by the administrator." msgstr "O lançamento dos dados foi determinado pelo administrador" #~ msgid "Join the selected game" #~ msgstr "Aderir ao jogo seleccionado" #~ msgid "Don't join a public game" #~ msgstr "Não aderir a um jogo público" #~ msgid "Create a new public game at the metaserver" #~ msgstr "Criar um novo jogo público no Meta-servidor" #~ msgid "Refresh the list of games" #~ msgstr "Actualizar a lista de jogos" #~ msgid "Version:" #~ msgstr "Versão:" #~ msgid "Homepage:" #~ msgstr "Página Principal:" #~ msgid "Authors:" #~ msgstr "Autores:" #~ msgid "Pioneers is translated to by:\n" #~ msgstr "Pioneers foi traduzido para Português por:\n" #~ msgid "Metaserver kicked us off\n" #~ msgstr "Meta-servidor expulsou-nos\n" #~ msgid "" #~ "Note:\n" #~ "\tThe metaserver does not send information about the games.\n" #~ "\tPlease set appropriate values yourself." #~ msgstr "" #~ "Nota:\n" #~ "\tO Meta-servidor não envia informações acerca dos jogos.\n" #~ "\tPor favor ajuste os valores apropiados você mesmo." #~ msgid "Error checking connect status: %s\n" #~ msgstr "Erro na verificação do estado de conexão: %s\n" #~ msgid "Error connecting to host '%s': %s\n" #~ msgstr "Erro ao ligar-se ao anfitrião '%s': %s\n" #~ msgid "Error writing socket: %s\n" #~ msgstr "Erro a escrever no socket: %s\n" #~ msgid "Error creating socket: %s\n" #~ msgstr "Erro a criar o socket: %s\n" #~ msgid "Error setting socket close-on-exec: %s\n" #~ msgstr "Erro ajustando o socket para close-on-exec: %s\n" #~ msgid "Error setting socket non-blocking: %s\n" #~ msgstr "Erro ajustando o socket para non-blocking: %s\n" #~ msgid "Cannot resolve %s port %s: %s\n" #~ msgstr "Não se pode resolver %s porta %s: %s\n" #~ msgid "Cannot resolve %s port %s: host not found\n" #~ msgstr "Não se pode resolver %s porta %s: anfitrião não encontrado\n" #~ msgid "Error creating struct addrinfo: %s" #~ msgstr "Erro criando struct addrinfo: %s" #~ msgid "Error creating listening socket: %s\n" #~ msgstr "Erro criando socket de escuta: %s\n" #~ msgid "Error during listen on socket: %s\n" #~ msgstr "Erro durante a escuta do socket: %s\n" #~ msgid "Listening not yet supported on this platform." #~ msgstr "Escuta ainda não suportada nesta plataforma." #~ msgid "Error getting peer name: %s" #~ msgstr "Erro obtendo o nome de camarada: %s" #~ msgid "Error resolving address: %s" #~ msgstr "Erro a resolver o endereço: %s" #~ msgid "Net_get_peer_name not yet supported on this platform." #~ msgstr "Net_get_peer_name não suportada nesta plataforma ainda." #~ msgid "Error accepting connection: %s" #~ msgstr "Erro aceitando a conexão: %s" #~ msgid "Admin port not available.\n" #~ msgstr "Porta de administração não disponível\n" #~ msgid "Admin port is not set, cannot disable game start too\n" #~ msgstr "" #~ "A porta do administrador não foi escolhida, Não é possível desactivar o " #~ "início de jogo também\n" pioneers-15.5/po/POTFILES.in0000644000175000017500000000247313250013742012407 00000000000000client/ai/ai.c client/ai/genetic.c client/ai/greedy.c client/ai/lobbybot.c client/common/client.c client/common/develop.c client/common/player.c client/common/resource.c client/common/robber.c client/common/setup.c client/common/turn.c client/gtk/avahi-browser.c client/gtk/chat.c client/gtk/connect.c client/gtk/develop.c client/gtk/discard.c client/gtk/gameover.c client/gtk/gold.c client/gtk/gui.c client/gtk/histogram.c client/gtk/interface.c client/gtk/legend.c client/gtk/monopoly.c client/gtk/name.c client/gtk/offline.c client/gtk/pioneers.desktop.in client/gtk/player.c client/gtk/plenty.c client/gtk/quote.c client/gtk/quote-view.c client/gtk/resource.c client/gtk/resource-table.c client/gtk/settingscreen.c client/gtk/trade.c common/cards.c common/game.c common/game-list.c common/gtk/aboutbox.c common/gtk/common_gtk.c common/gtk/game-rules.c common/gtk/game-settings.c common/gtk/guimap.c common/gtk/metaserver.c common/gtk/select-game.c common/gtk/theme.c common/log.c common/network.c common/state.c editor/gtk/editor.c editor/gtk/game-buildings.c editor/gtk/game-devcards.c editor/gtk/game-resources.c editor/gtk/pioneers-editor.desktop.in metaserver/main.c server/admin.c server/avahi.c server/gtk/main.c server/gtk/pioneers-server-gtk.desktop.in server/main.c server/meta.c server/player.c server/server.c server/turn.c pioneers-15.5/po/cs.po0000644000175000017500000030460113252242740011601 00000000000000msgid "" msgstr "" "Project-Id-Version: Pioneers 0.12.3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-03-14 16:51+0100\n" "PO-Revision-Date: 2010-03-28 01:29+0000\n" "Last-Translator: Ladislav Dobias \n" "Language-Team: \n" "Language: cs\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2010-04-06 06:08+0000\n" "X-Generator: Launchpad (build Unknown)\n" "X-Poedit-Country: CZECH REPUBLIC\n" "X-Poedit-Language: Czech\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" #. Commandline pioneersai: chromosome-file #: ../client/ai/ai.c:90 msgid "Chromosome File" msgstr "" #. Commandline pioneersai: server #: ../client/ai/ai.c:93 msgid "Server Host" msgstr "Adresa serveru" #. Commandline pioneersai: port #: ../client/ai/ai.c:96 msgid "Server Port" msgstr "Port serveru" #. Commandline pioneersai: name #: ../client/ai/ai.c:99 msgid "Computer name (mandatory)" msgstr "Název poÄítaÄe (povinný)" #. Commandline pioneersai: time #: ../client/ai/ai.c:102 msgid "Time to wait between turns (in milliseconds)" msgstr "ÄŒekací Äas mezi koly (v ms)" #. Commandline pioneersai: chat-free #: ../client/ai/ai.c:105 msgid "Stop computer player from talking" msgstr "Zastavit povídání strojového hráÄe" #. Commandline pioneersai: algorithm #: ../client/ai/ai.c:108 msgid "Type of computer player" msgstr "Typ strojového hráÄe" #. Commandline option of ai: enable debug logging #. Commandline option of client: enable debug logging #. Commandline option of metaserver: enable debug logging #. Commandline option of server-gtk: enable debug logging #. Commandline option of server: enable debug logging #: ../client/ai/ai.c:111 ../client/gtk/offline.c:67 ../metaserver/main.c:631 #: ../server/gtk/main.c:1170 ../server/main.c:159 msgid "Enable debug messages" msgstr "Povolit ladící hlášení" #. Commandline option of ai: version #. Commandline option of client: version #. Commandline option of editor: version #. Commandline option of metaserver: version #. Commandline option of server-gtk: version #. Commandline option of server-console: version #: ../client/ai/ai.c:114 ../client/gtk/offline.c:70 ../editor/gtk/editor.c:1843 #: ../metaserver/main.c:637 ../server/gtk/main.c:1173 ../server/main.c:114 msgid "Show version information" msgstr "Ukázat informaci o verzi" #. Long description in the commandline for pioneersai: help #: ../client/ai/ai.c:125 msgid "- Computer player for Pioneers" msgstr "- Strojový hrÃ¡Ä pro Pioneers" #: ../client/ai/ai.c:137 ../client/gtk/offline.c:196 #: ../editor/gtk/editor.c:1888 ../metaserver/main.c:687 #: ../server/gtk/main.c:1223 ../server/main.c:226 #, c-format msgid "Pioneers version:" msgstr "Verze Pioneers:" #. ai commandline error #: ../client/ai/ai.c:160 #, c-format msgid "A name must be provided.\n" msgstr "Jméno musí být vyplnÄ›no.\n" #: ../client/ai/ai.c:171 #, c-format msgid "Type of computer player: %s\n" msgstr "Typ strojového hráÄe: %s\n" #: ../client/ai/ai.c:202 msgid "The game is already full. I'm leaving." msgstr "Tato hra je již plná. Odcházím." #. AI chat at the start of the turn #: ../client/ai/ai.c:230 msgid "Ok, let's go!" msgstr "OK, tak jdem na to!" #. AI chat at the start of the turn #: ../client/ai/ai.c:232 msgid "I'll beat you all now! ;)" msgstr "VÅ¡echny vás pobiju! ;)" #. AI chat at the start of the turn #: ../client/ai/ai.c:234 msgid "Now for another try..." msgstr "Zkusím to znovu..." #. AI chat when one resource is received #: ../client/ai/ai.c:239 msgid "At least I get something..." msgstr "Aspoň já jsem nÄ›co dostal..." #. AI chat when one resource is received #: ../client/ai/ai.c:241 msgid "One is better than none..." msgstr "NÄ›co je lepší než nic..." #. AI chat when more than one resource is received #: ../client/ai/ai.c:246 msgid "Wow!" msgstr "Jů!" #. AI chat when more than one resource is received #: ../client/ai/ai.c:248 msgid "Ey, I'm becoming rich ;)" msgstr "Hej, já bohatnu ;)" #. AI chat when more than one resource is received #: ../client/ai/ai.c:250 msgid "This is really a good year!" msgstr "Toto je vskutku dobrý rok!" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:255 msgid "You really don't deserve that much!" msgstr "Ty si urÄitÄ› tolik nezasloužíš!" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:257 msgid "You don't know what to do with that many resources ;)" msgstr "Ty nevíš co dÄ›lat s tolika surovinami ;)" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:259 msgid "Ey, wait for my robber and lose all this again!" msgstr "Hej, poÄkej na mého zlodÄ›je a pÅ™ijdeÅ¡ o to vÅ¡echno znova!" #. AI chat when it moves the robber #: ../client/ai/ai.c:264 msgid "Hehe!" msgstr "Hehe!" #. AI chat when it moves the robber #: ../client/ai/ai.c:266 msgid "Go, robber, go!" msgstr "Jdi, zlodÄ›ji, jdi!" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:271 msgid "You bastard!" msgstr "Ty bastarde!" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:273 msgid "Can't you move that robber somewhere else?!" msgstr "NemůžeÅ¡ toho zlodÄ›je posunout nÄ›kam jinam?!" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:275 msgid "Why always me??" msgstr "ProÄ vždycky já??" #. AI chat when it must discard resources #: ../client/ai/ai.c:280 msgid "Oh no!" msgstr "Ó, ne!" #. AI chat when it must discard resources #: ../client/ai/ai.c:282 msgid "Grrr!" msgstr "Vrrr!" #. AI chat when it must discard resources #: ../client/ai/ai.c:284 msgid "Who the hell rolled that 7??" msgstr "Kdo to sakra hodil tu 7??" #. AI chat when it must discard resources #: ../client/ai/ai.c:286 msgid "Why always me?!?" msgstr "ProÄ vždycky já?!?" #. AI chat when other players must discard #: ../client/ai/ai.c:291 msgid "Say good bye to your cards... :)" msgstr "RozluÄ se se svými kartami... ;)" #. AI chat when other players must discard #: ../client/ai/ai.c:293 msgid "*evilgrin*" msgstr "*dábelský Å¡kleb*" #. AI chat when other players must discard #: ../client/ai/ai.c:295 msgid "/me says farewell to your cards ;)" msgstr "/me říká sbohem tvým kartám ;)" #. AI chat when other players must discard #: ../client/ai/ai.c:297 msgid "That's the price for being rich... :)" msgstr "To je cena za to být bohatý... :)" #. AI chat when someone steals from it #: ../client/ai/ai.c:302 msgid "Ey! Where's that card gone?" msgstr "Ha! Kam se ta karta podÄ›la?" #. AI chat when someone steals from it #: ../client/ai/ai.c:304 msgid "Thieves! Thieves!!" msgstr "ZlodÄ›j! ZlodÄ›j!!" #. AI chat when someone steals from it #: ../client/ai/ai.c:306 msgid "Wait for my revenge..." msgstr "PoÄkej na moji pomstu..." #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:311 msgid "Oh no :(" msgstr "Ó, ne :(" #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:313 msgid "Must this happen NOW??" msgstr "Muselo se to stát TEÄŽ??" #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:315 msgid "Args" msgstr "Sakra" #. AI chat when it has the largest army #: ../client/ai/ai.c:320 msgid "Hehe, my soldiers rule!" msgstr "Haha, moje vojsko je nejlepší!" #. AI chat when another player that the largest army #: ../client/ai/ai.c:325 msgid "First robbing us, then grabbing the points..." msgstr "Nejdříve nás okrada, pak si nahrabe body..." #. AI chat when it has the longest road #: ../client/ai/ai.c:330 msgid "See that road!" msgstr "Hele, silnice!" #. AI chat when another player has the longest road #: ../client/ai/ai.c:335 msgid "Pf, you won't win with roads alone..." msgstr "Pchá, nevyhrajeÅ¡, pokud budeÅ¡ jen stavÄ›t silnice..." #: ../client/ai/ai.c:434 #, c-format msgid "Received error from server: %s. Quitting\n" msgstr "Obdržena chyba ze serveru: %s. KonÄím\n" #. AI chat when it wins #: ../client/ai/ai.c:446 ../client/ai/genetic.c:2766 msgid "Yippie!" msgstr "Hurá!" #. AI chat when another player wins #: ../client/ai/ai.c:449 ../client/ai/genetic.c:2777 msgid "My congratulations" msgstr "Gratuluji" #: ../client/ai/genetic.c:1277 ../client/ai/greedy.c:961 msgid "No settlements in stock to use for setup" msgstr "Nejsou vesnice na skladÄ› pro fázi zakládání" #: ../client/ai/genetic.c:1284 ../client/ai/greedy.c:968 msgid "There is no place to setup a settlement" msgstr "Není již místo pro založení vesnice" #: ../client/ai/genetic.c:1311 ../client/ai/greedy.c:992 msgid "No roads in stock to use for setup" msgstr "Nejsou silnice na skladÄ› pro fázi zakládání" #: ../client/ai/genetic.c:1329 ../client/ai/greedy.c:1009 msgid "There is no place to setup a road" msgstr "Není již místo pro založení silnice." #: ../client/ai/genetic.c:2651 ../client/ai/greedy.c:1784 msgid "Rejecting trade.\n" msgstr "Obchod odmítnut.\n" #. Translators: don't translate '/help' #: ../client/ai/lobbybot.c:80 msgid "" "Hello, welcome to the lobby. I am a simple robot. Type '/help' in the chat " "to see the list of commands I know." msgstr "" "Ahoj. Vítejte do lobby. Já jsem jednoduchý robot. NapiÅ¡te '/help' v chatu, a " "uvidíte seznam příkazů. které znám." #. Translators: don't translate '/help' #: ../client/ai/lobbybot.c:107 msgid "'/help' shows this message again" msgstr "'/help' ukáže tuto zprávu znovu" #. Translators: don't translate '/why' #: ../client/ai/lobbybot.c:110 msgid "'/why' explains the purpose of this strange board layout" msgstr "'/why' vysvÄ›tlí důvod toho divného rozložení na desce" #. Translators: don't translate '/news' #: ../client/ai/lobbybot.c:113 msgid "'/news' tells the last released version" msgstr "'/news' Å™ekne, jaká je poslední vydaná verze" #. AI chat that explains '/why' #: ../client/ai/lobbybot.c:119 msgid "" "This board is not intended to be a game that can be played. Instead, players " "can find eachother here, and decide which board they want to play. Then, one " "of the players will host the proposed game by starting a server, and " "registers it at the metaserver. The other players can subsequently " "disconnect from the lobby, and enter that game." msgstr "" "Tato hrací plocha neslouží pro hraní hry Pioneers, nýbrž pro nalezení " "dalších hráÄů, kteří se zde můžou domluvit, kterou hru si zahrají. Potom, " "jeden z nich vytvoří server domluvené hry a registruje ji na meta serveru. " "Ostatní hráÄi můžou potom lobby opustit a pÅ™ipojit se k té hÅ™e." #: ../client/ai/lobbybot.c:130 msgid "The last released version of Pioneers is" msgstr "Poslední vydaná verze Pioneers je" #. The lobbybot leaves when a game is starting #: ../client/ai/lobbybot.c:146 msgid "The game is starting. I'm not needed anymore. Goodbye." msgstr "Hra právÄ› zaÄíná. Již nejsem potÅ™eba. Sbohem." #: ../client/common/client.c:105 msgid "Waiting" msgstr "ÄŒekání" #: ../client/common/client.c:107 msgid "Idle" msgstr "NeÄinný" #: ../client/common/client.c:532 msgid "We have been kicked out of the game.\n" msgstr "Byl jsi vykopnut z této hry.\n" #. Network status: offline #: ../client/common/client.c:535 ../client/common/client.c:990 #: ../client/gtk/gui.c:1532 msgid "Offline" msgstr "NepÅ™ipojen" #: ../client/common/client.c:556 #, c-format msgid "Error (%s): %s\n" msgstr "Chyba (%s): %s\n" #: ../client/common/client.c:565 ../client/common/client.c:576 #, c-format msgid "Notice: %s\n" msgstr "Oznámení: %s\n" #: ../client/common/client.c:693 #, c-format msgid "%s does not receive any %s, because the bank is empty.\n" msgstr "%s nedostane surovinu: %s, protože bank je prázdný.\n" #: ../client/common/client.c:706 #, c-format msgid "%s only receives %s, because the bank didn't have any more.\n" msgstr "%s dostane jen %s, protože v banku není více.\n" #: ../client/common/client.c:716 #, c-format msgid "%s receives %s.\n" msgstr "%s obdržel: %s.\n" #. Year of Plenty #: ../client/common/client.c:724 ../client/common/client.c:2663 #, c-format msgid "%s takes %s.\n" msgstr "%s bere: %s.\n" #: ../client/common/client.c:729 #, c-format msgid "%s spent %s.\n" msgstr "%s použil: %s.\n" #: ../client/common/client.c:735 #, c-format msgid "%s is refunded %s.\n" msgstr "%s je nahrazen %s.\n" #. %s = Player name #: ../client/common/client.c:753 #, c-format msgid "%s shuffled the dice deck.\n" msgstr "" #: ../client/common/client.c:772 #, c-format msgid "%s discarded %s.\n" msgstr "%s odhodil %s.\n" #: ../client/common/client.c:846 #, c-format msgid "%s has won the game with %d victory points!\n" msgstr "%s vyhrál tuto hru s %d vítÄ›znými body!\n" #: ../client/common/client.c:945 msgid "Loading" msgstr "Náhrávání" #: ../client/common/client.c:991 msgid "Version mismatch." msgstr "Verze nesouhlasí." #: ../client/common/client.c:993 msgid "Version mismatch. Please make sure client and server are up to date.\n" msgstr "" "Verze nesouhlasí. UjistÄ›te se, prosím, zda klient i server jsou aktuální.\n" #: ../client/common/client.c:1413 msgid "Build two settlements, each with a connecting" msgstr "Postavte dvÄ› vesnice, ke každé pÅ™ipojte" #: ../client/common/client.c:1416 msgid "Build a settlement with a connecting" msgstr "Postavte vesnici, ke které pÅ™ipojte" #: ../client/common/client.c:1419 msgid "road" msgstr "silnici" #: ../client/common/client.c:1421 msgid "bridge" msgstr "most" #: ../client/common/client.c:1423 msgid "ship" msgstr "loÄ" #: ../client/common/client.c:1430 msgid " or" msgstr " nebo" #: ../client/common/client.c:1494 msgid "Waiting for your turn." msgstr "ÄŒekání na váš tah." #: ../client/common/client.c:1546 ../client/gtk/interface.c:784 msgid "Select the building to steal from." msgstr "Zvolte stavbu, ze které se bude krást." #: ../client/common/client.c:1568 ../client/gtk/interface.c:774 msgid "Select the ship to steal from." msgstr "Zvolte loÄ, ze které se bude krást." #: ../client/common/client.c:1652 ../client/gtk/interface.c:816 msgid "Place the robber." msgstr "PÅ™emístÄ›te zlodÄ›je." #: ../client/common/client.c:1702 msgid "Finish the road building action." msgstr "UkonÄit akci: stavba silnice." #: ../client/common/client.c:1704 msgid "Build one road segment." msgstr "Postavte jednu silnici." #: ../client/common/client.c:1706 msgid "Build two road segments." msgstr "Postavte dvÄ› silnice." #. Notification #: ../client/common/client.c:1979 ../client/common/client.c:2073 #: ../client/gtk/interface.c:432 msgid "It is your turn." msgstr "Jste na tahu." #: ../client/common/client.c:2167 #, c-format msgid "Sorry, %s available.\n" msgstr "Promiňte, dostupno je pouze %s.\n" #: ../client/common/client.c:2481 msgid "The game is over." msgstr "Tato hra skonÄila." #. This development card is unique #: ../client/common/develop.c:67 #, c-format msgid "You bought the %s development card.\n" msgstr "Koupil jsi akÄní kartu: %s.\n" #. This development card is not unique #: ../client/common/develop.c:73 #, c-format msgid "You bought a %s development card.\n" msgstr "Koupil jsi akÄní kartu: %s.\n" #: ../client/common/develop.c:103 #, c-format msgid "%s bought a development card.\n" msgstr "%s koupil akÄní kartu.\n" #: ../client/common/develop.c:121 #, c-format msgid "%s played the %s development card.\n" msgstr "%s zahrál akÄní kartu: %s.\n" #: ../client/common/develop.c:126 #, c-format msgid "%s played a %s development card.\n" msgstr "%s zahrál akÄní kartu: %s.\n" #: ../client/common/develop.c:138 msgid "You have run out of road segments.\n" msgstr "Již nemáš žádné díly silnice.\n" #. I get the cards #. $1=resources, $2=player that loses resources #: ../client/common/develop.c:179 #, c-format msgid "You get %s from %s.\n" msgstr "Dostal jsi %s od hráÄe %s.\n" #. I lose the cards #. $1=player that steals, $2=resources #: ../client/common/develop.c:185 #, c-format msgid "%s took %s from you.\n" msgstr "%s ti sebral kartu %s.\n" #: ../client/common/develop.c:192 #, c-format msgid "%s took %s from %s.\n" msgstr "%s sebral kartu %s hráÄi %s.\n" #: ../client/common/player.c:125 ../server/player.c:567 #, c-format msgid "Spectator %d" msgstr "" #: ../client/common/player.c:128 #, c-format msgid "spectator %d" msgstr "" #: ../client/common/player.c:137 ../server/player.c:570 #, c-format msgid "Player %d" msgstr "HrÃ¡Ä %d" #: ../client/common/player.c:139 #, c-format msgid "player %d" msgstr "hrÃ¡Ä %d" #: ../client/common/player.c:216 #, fuzzy, c-format msgid "New spectator: %s.\n" msgstr "Nový pozorovatel: %s.\n" #: ../client/common/player.c:219 ../client/common/player.c:235 #, c-format msgid "%s is now %s.\n" msgstr "%s je nyní %s.\n" #: ../client/common/player.c:232 #, c-format msgid "Player %d is now %s.\n" msgstr "HrÃ¡Ä %d je nyní %s.\n" #: ../client/common/player.c:269 #, c-format msgid "%s has quit.\n" msgstr "%s skonÄil.\n" #: ../client/common/player.c:278 msgid "There is no largest army.\n" msgstr "Není žádné nejvÄ›tší vojsko.\n" #: ../client/common/player.c:281 #, c-format msgid "%s has the largest army.\n" msgstr "%s má nejvÄ›tší vojsko.\n" #: ../client/common/player.c:302 msgid "There is no longest road.\n" msgstr "Není žádná nejdelší obchodní cesta.\n" #: ../client/common/player.c:305 #, c-format msgid "%s has the longest road.\n" msgstr "%s má nejdelší obchodní cestu.\n" #: ../client/common/player.c:326 #, c-format msgid "Waiting for %s." msgstr "ÄŒekání na %s." #. We are not in on the action #. someone stole a resource from someone else #: ../client/common/player.c:354 #, c-format msgid "%s stole a resource from %s.\n" msgstr "%s ukradl surovinu hráÄi %s.\n" #. $1=resource, $2=player name #: ../client/common/player.c:365 #, c-format msgid "You stole %s from %s.\n" msgstr "Ukradl jsi %s hráÄi %s.\n" #. $1=player name, $2=resource #: ../client/common/player.c:372 #, c-format msgid "%s stole %s from you.\n" msgstr "%s ti ukradl %s.\n" #: ../client/common/player.c:406 #, c-format msgid "%s gave %s nothing!?\n" msgstr "%s nedal hráÄi %s nic!?\n" #. $1=giving player, $2=receiving player, $3=resources #: ../client/common/player.c:413 ../client/common/player.c:423 #, c-format msgid "%s gave %s %s for free.\n" msgstr "%s dal hráÄi %s zdarma %s.\n" #: ../client/common/player.c:431 #, c-format msgid "%s gave %s %s in exchange for %s.\n" msgstr "%s dal hráÄi %s %s výmÄ›nou za %s.\n" #: ../client/common/player.c:462 #, c-format msgid "%s exchanged %s for %s.\n" msgstr "%s vymÄ›nil %s za %s.\n" #: ../client/common/player.c:482 #, c-format msgid "%s built a road.\n" msgstr "%s postavil silnici.\n" #: ../client/common/player.c:494 #, c-format msgid "%s built a ship.\n" msgstr "%s postavil loÄ.\n" #: ../client/common/player.c:507 #, c-format msgid "%s built a settlement.\n" msgstr "%s postavil vesnici.\n" #: ../client/common/player.c:526 #, c-format msgid "%s built a city.\n" msgstr "%s postavil mÄ›sto.\n" #: ../client/common/player.c:540 #, c-format msgid "%s built a city wall.\n" msgstr "%s postavil mÄ›stskou zeÄ.\n" #. Error message #: ../client/common/player.c:551 #, c-format msgid "player_build_add called with BUILD_NONE for user %s\n" msgstr "player_build_add volán s BUILD_NONE pro uživatele %s\n" #: ../client/common/player.c:561 #, c-format msgid "%s built a bridge.\n" msgstr "%s postavil most.\n" #: ../client/common/player.c:587 #, c-format msgid "%s removed a road.\n" msgstr "%s odstranil silnici.\n" #: ../client/common/player.c:597 #, c-format msgid "%s removed a ship.\n" msgstr "%s odstranil loÄ.\n" #: ../client/common/player.c:607 #, c-format msgid "%s removed a settlement.\n" msgstr "%s odstranil vesnici.\n" #: ../client/common/player.c:618 #, c-format msgid "%s removed a city.\n" msgstr "%s odstranil mÄ›sto.\n" #: ../client/common/player.c:632 #, c-format msgid "%s removed a city wall.\n" msgstr "%s odstranil mÄ›stkou zeÄ.\n" #. Error message #: ../client/common/player.c:642 #, c-format msgid "player_build_remove called with BUILD_NONE for user %s\n" msgstr "player_build_remove volán s BUILD_NONE pro uživatele %s\n" #: ../client/common/player.c:651 #, c-format msgid "%s removed a bridge.\n" msgstr "%s odstranil most.\n" #: ../client/common/player.c:682 #, c-format msgid "%s has canceled a ship's movement.\n" msgstr "%s zruÅ¡il pohyb lodi.\n" #: ../client/common/player.c:685 #, c-format msgid "%s moved a ship.\n" msgstr "%s pohnul lodí.\n" #. tell the user that someone got something #: ../client/common/player.c:705 #, c-format msgid "%s received %s.\n" msgstr "%s obdržel %s.\n" #: ../client/common/player.c:724 msgid "server asks to lose invalid point.\n" msgstr "server požaduje pozbýt neplatný bod.\n" #. tell the user the point is lost #: ../client/common/player.c:730 #, c-format msgid "%s lost %s.\n" msgstr "%s pÅ™iÅ¡el o %s.\n" #: ../client/common/player.c:753 msgid "server asks to move invalid point.\n" msgstr "server požaduje posun na neplatný bod.\n" #. tell the user someone (1) lost something (2) to someone else (3) #: ../client/common/player.c:760 #, c-format msgid "%s lost %s to %s.\n" msgstr "%s pÅ™iÅ¡el o %s díky %s.\n" #: ../client/common/resource.c:35 msgid "brick" msgstr "cihly" #: ../client/common/resource.c:35 msgid "Brick" msgstr "Cihly" #: ../client/common/resource.c:36 msgid "grain" msgstr "obilí" #: ../client/common/resource.c:36 msgid "Grain" msgstr "Obilí" #: ../client/common/resource.c:37 msgid "ore" msgstr "ruda" #: ../client/common/resource.c:37 msgid "Ore" msgstr "Ruda" #: ../client/common/resource.c:38 msgid "wool" msgstr "vlna" #: ../client/common/resource.c:38 msgid "Wool" msgstr "Vlna" #: ../client/common/resource.c:39 msgid "lumber" msgstr "dÅ™evo" #: ../client/common/resource.c:39 msgid "Lumber" msgstr "DÅ™evo" #: ../client/common/resource.c:40 msgid "no resource (bug)" msgstr "žádná surovina (chyba)" #: ../client/common/resource.c:40 msgid "No resource (bug)" msgstr "Žádná surovina (chyba)" #: ../client/common/resource.c:41 msgid "any resource (bug)" msgstr "libovolná surovina (chyba)" #: ../client/common/resource.c:41 msgid "Any resource (bug)" msgstr "Libovolná surovina (chyba)" #: ../client/common/resource.c:42 msgid "gold" msgstr "zlato" #: ../client/common/resource.c:42 ../client/gtk/legend.c:41 msgid "Gold" msgstr "Zlato" #: ../client/common/resource.c:47 msgid "a brick card" msgstr "cihly" #: ../client/common/resource.c:47 #, c-format msgid "%d brick cards" msgstr "%d cihly" #: ../client/common/resource.c:48 msgid "a grain card" msgstr "obilí" #: ../client/common/resource.c:48 #, c-format msgid "%d grain cards" msgstr "%d obilí" #: ../client/common/resource.c:49 msgid "an ore card" msgstr "ruda" #: ../client/common/resource.c:49 #, c-format msgid "%d ore cards" msgstr "%d rudy" #: ../client/common/resource.c:50 msgid "a wool card" msgstr "vlna" #: ../client/common/resource.c:50 #, c-format msgid "%d wool cards" msgstr "%d vlny" #: ../client/common/resource.c:51 msgid "a lumber card" msgstr "dÅ™evo" #: ../client/common/resource.c:51 #, c-format msgid "%d lumber cards" msgstr "%d dÅ™eva" #: ../client/common/resource.c:139 ../client/common/resource.c:225 msgid "nothing" msgstr "nic" #. Construct "A, B and C" for resources #: ../client/common/resource.c:166 #, c-format msgid "%s and %s" msgstr "%s a %s" #. Construct "A, B and C" for resources #: ../client/common/resource.c:170 #, c-format msgid "%s, %s" msgstr "%s, %s" #: ../client/common/robber.c:62 #, c-format msgid "%s has undone the robber movement.\n" msgstr "%s vrátil zpÄ›t posun zlodÄ›je.\n" #: ../client/common/robber.c:65 #, c-format msgid "%s moved the robber.\n" msgstr "%s posunul zlodÄ›je.\n" #: ../client/common/robber.c:75 #, c-format msgid "%s has undone the pirate movement.\n" msgstr "%s vrátil zpÄ›t posun piráta.\n" #: ../client/common/robber.c:78 #, c-format msgid "%s moved the pirate.\n" msgstr "%s posunul piráta.\n" #: ../client/common/robber.c:85 #, c-format msgid "%s must move the robber." msgstr "%s musí posunout zlodÄ›je." #: ../client/common/setup.c:146 #, c-format msgid "Setup for %s.\n" msgstr "Fáze zakládání pro hráÄe %s.\n" #: ../client/common/setup.c:158 #, c-format msgid "Double setup for %s.\n" msgstr "Dvojité zakládání pro hráÄe %s.\n" #: ../client/common/turn.c:37 #, c-format msgid "%s rolled %d.\n" msgstr "%s hodil %d.\n" #: ../client/common/turn.c:50 #, c-format msgid "Begin turn %d for %s.\n" msgstr "ZaÄátek kola %d pro hráÄe %s.\n" #: ../client/gtk/avahi-browser.c:83 msgid "Select an automatically discovered game" msgstr "" #. $1=Game title, $2=version, $3=host_name, $4=port #: ../client/gtk/avahi-browser.c:132 #, c-format msgid "%s (%s) on %s:%s" msgstr "" #. Label text #: ../client/gtk/chat.c:73 msgid "Chat" msgstr "Chat" #: ../client/gtk/chat.c:232 msgid "Beeper test.\n" msgstr "Test pípátka.\n" #: ../client/gtk/chat.c:235 #, c-format msgid "%s beeped you.\n" msgstr "%s na vás pípl.\n" #: ../client/gtk/chat.c:239 #, c-format msgid "You beeped %s.\n" msgstr "Vy jste pípli na %s.\n" #: ../client/gtk/chat.c:245 #, c-format msgid "You could not beep %s.\n" msgstr "Nelze pípnout na %s.\n" #: ../client/gtk/chat.c:287 msgid " said: " msgstr " Å™ekl: " #: ../client/gtk/connect.c:286 #, c-format msgid "Metaserver at %s, port %s" msgstr "Meta server na adrese %s, port %s" #: ../client/gtk/connect.c:296 msgid "Finished.\n" msgstr "UkonÄen.\n" #: ../client/gtk/connect.c:311 ../client/gtk/connect.c:389 #: ../client/gtk/connect.c:408 ../client/gtk/connect.c:979 msgid "The metaserver is not available anymore.\n" msgstr "" #: ../client/gtk/connect.c:322 ../client/gtk/connect.c:443 #: ../client/gtk/connect.c:770 msgid "The metaserver closed the connection unexpectedly.\n" msgstr "" #: ../client/gtk/connect.c:380 msgid "Receiving game names from the metaserver.\n" msgstr "Získávám jména her z meta serveru.\n" #: ../client/gtk/connect.c:422 #, fuzzy, c-format msgid "New game server requested on %s port %s.\n" msgstr "Nový herní server požadován na adrese %s, port %s\n" #: ../client/gtk/connect.c:432 msgid "Incomplete information about the new game server received.\n" msgstr "" #: ../client/gtk/connect.c:486 ../client/gtk/connect.c:492 ../server/meta.c:239 #, c-format msgid "Unknown message from the metaserver: %s\n" msgstr "Neznámá zpráva z meta serveru: %s\n" #: ../client/gtk/connect.c:565 ../server/meta.c:178 #, c-format msgid "Receiving data from inactive session: %s\n" msgstr "" #: ../client/gtk/connect.c:577 ../server/meta.c:192 #, fuzzy msgid "Too many metaserver redirects.\n" msgstr "Velmi mnoho pÅ™esmÄ›rování na meta serveru\n" #: ../client/gtk/connect.c:606 ../server/meta.c:208 #, c-format msgid "Bad redirect line: %s\n" msgstr "Å patná řádka pÅ™esmÄ›rování: %s\n" #: ../client/gtk/connect.c:631 #, c-format msgid "The metaserver is too old to create servers (version %d.%d)\n" msgstr "Meta server je moc starý na vytváření serverů (verze %d.%d)\n" #: ../client/gtk/connect.c:670 ../client/gtk/connect.c:749 #: ../client/gtk/connect.c:755 #, fuzzy, c-format msgid "Unexpected data from the metaserver: %s\n" msgstr "Neznámá zpráva z meta serveru: %s\n" #. Sevens rule: normal #: ../client/gtk/connect.c:701 ../client/gtk/settingscreen.c:181 #: ../common/gtk/game-rules.c:89 msgid "Normal" msgstr "Normální" #. Sevens rule: reroll on 1st 2 turns #: ../client/gtk/connect.c:706 ../client/gtk/settingscreen.c:183 #: ../common/gtk/game-rules.c:95 msgid "Reroll on 1st 2 turns" msgstr "Házet znovu první 2 kola" #. Sevens rule: reroll all 7s #: ../client/gtk/connect.c:710 ../client/gtk/settingscreen.c:185 #: ../common/gtk/game-rules.c:102 msgid "Reroll all 7s" msgstr "Házet znovu pÅ™i každé 7" #: ../client/gtk/connect.c:724 msgid "Default" msgstr "Standardní" #: ../client/gtk/connect.c:727 msgid "Random" msgstr "Náhodná" #: ../client/gtk/connect.c:819 ../server/meta.c:299 #, fuzzy, c-format msgid "Redirected to the metaserver at %s.\n" msgstr "PÅ™esmÄ›rováno na meta server %s, port %s\n" #: ../client/gtk/connect.c:824 ../server/meta.c:302 #, fuzzy, c-format msgid "Redirected to the metaserver at %s, port %s.\n" msgstr "PÅ™esmÄ›rováno na meta server %s, port %s\n" #: ../client/gtk/connect.c:831 msgid "Receiving a list of Pioneers servers from the metaserver.\n" msgstr "Získávám seznam serverů Pioneers z meta serveru.\n" #. Label #: ../client/gtk/connect.c:914 msgid "Number of computer players" msgstr "PoÄet poÄítaÄových hráÄů" #. Tooltip #: ../client/gtk/connect.c:935 msgid "The number of computer players" msgstr "PoÄet poÄítaÄových hráÄů" #. Canceled retrieving information #. * from the metaserver #: ../client/gtk/connect.c:957 ../client/gtk/connect.c:992 #: ../client/gtk/connect.c:1133 msgid "Canceled.\n" msgstr "" #: ../client/gtk/connect.c:960 #, fuzzy msgid "Requesting new game server.\n" msgstr "Požadován nový hrací server\n" #: ../client/gtk/connect.c:1015 ../server/gtk/main.c:370 ../server/server.c:123 #, fuzzy, c-format msgid "Error starting %s: %s\n" msgstr "Chyba pÅ™i startu %s: %s" #. Dialog caption #: ../client/gtk/connect.c:1037 msgid "Create a Public Game" msgstr "VytvoÅ™it veÅ™ejnou hru" #. Button text #: ../client/gtk/connect.c:1040 ../client/gtk/connect.c:1191 #: ../client/gtk/connect.c:1440 ../client/gtk/connect.c:1744 #: ../client/gtk/name.c:147 ../editor/gtk/editor.c:1521 #: ../editor/gtk/editor.c:1562 ../editor/gtk/editor.c:1611 msgid "_Cancel" msgstr "" #. Button text #: ../client/gtk/connect.c:1042 #, fuzzy msgid "C_reate" msgstr "VytvoÅ™it hru" #. Dialog caption #: ../client/gtk/connect.c:1182 msgid "Join a Public Game" msgstr "PÅ™ipojit se k veÅ™ejné hÅ™e" #. Button text #: ../client/gtk/connect.c:1185 msgid "_Refresh" msgstr "" #. Button text #: ../client/gtk/connect.c:1188 msgid "_New Remote Game" msgstr "_Nová vzdálená hra" #. Button text #: ../client/gtk/connect.c:1194 ../client/gtk/connect.c:1748 #, fuzzy msgid "_Join" msgstr "PÅ™ipojit se" #. Tooltip #: ../client/gtk/connect.c:1237 msgid "Select a game to join" msgstr "Zvolte hru k pÅ™ipojení" #. Column name #: ../client/gtk/connect.c:1241 msgid "Map Name" msgstr "Mapa" #. Tooltip for column 'Map Name' #: ../client/gtk/connect.c:1249 msgid "Name of the game" msgstr "Jméno hry" #. Column name #: ../client/gtk/connect.c:1255 msgid "Curr" msgstr "HráÄi" #. Tooltip for column 'Curr' #: ../client/gtk/connect.c:1262 msgid "Number of players in the game" msgstr "PoÄet hráÄů ve hÅ™e" #. Column name #: ../client/gtk/connect.c:1268 msgid "Max" msgstr "Max" #. Tooltip for column 'Max' #: ../client/gtk/connect.c:1275 msgid "Maximum players for the game" msgstr "Maximální poÄet hráÄů pro hru" #. Column name #: ../client/gtk/connect.c:1279 msgid "Terrain" msgstr "Krajina" #. Tooltip for column 'Terrain' #: ../client/gtk/connect.c:1287 msgid "Random of default terrain" msgstr "RozmísÅ¥ování krajiny - náhodné nebo standardní" #. Column name #: ../client/gtk/connect.c:1293 msgid "Vic. Points" msgstr "VítÄ›z. bodů" #. Tooltip for column 'Vic. Points' #: ../client/gtk/connect.c:1300 msgid "Points needed to win" msgstr "Body potÅ™ebné k vítÄ›zství" #. Column name #: ../client/gtk/connect.c:1304 msgid "Sevens Rule" msgstr "Pravidlo sedmiÄek" #. Tooltip for column 'Sevens Rule' #. Label #: ../client/gtk/connect.c:1312 ../common/gtk/game-rules.c:81 msgid "Sevens rule" msgstr "Pravidlo sedmiÄek" #. Column name #: ../client/gtk/connect.c:1316 msgid "Host" msgstr "PoÄítaÄ" #. Tooltip for column 'Host' #: ../client/gtk/connect.c:1325 msgid "Host of the game" msgstr "Adresa poÄítaÄe s hrou" #. Column name #: ../client/gtk/connect.c:1331 msgid "Port" msgstr "Port" #. Tooltip for column 'Port' #: ../client/gtk/connect.c:1339 #, fuzzy msgid "Port of the game" msgstr "Port pro hru" #. Column name #: ../client/gtk/connect.c:1343 msgid "Version" msgstr "Verze" #. Tooltip for column 'Version' #: ../client/gtk/connect.c:1351 msgid "Version of the host" msgstr "Verze hry na serveru" #. Dialog caption #: ../client/gtk/connect.c:1436 msgid "Start a New Game" msgstr "Spustit novou hru" #. Label #. Commandline option of client: name of the player #: ../client/gtk/connect.c:1464 ../client/gtk/offline.c:57 msgid "Player name" msgstr "Jméno hráÄe" #. Tooltip #: ../client/gtk/connect.c:1480 msgid "Enter your name" msgstr "Vložte své jméno" #. Check button #. Role of the player: spectator #: ../client/gtk/connect.c:1483 ../server/gtk/main.c:682 msgid "Spectator" msgstr "" #: ../client/gtk/connect.c:1493 #, fuzzy msgid "Check if you want to be a spectator" msgstr "Chcete být jen pozorovatel?" #. Label #: ../client/gtk/connect.c:1504 msgid "Avahi" msgstr "" #. Button #: ../client/gtk/connect.c:1511 msgid "Join" msgstr "PÅ™ipojit se" #. Tooltip for button Join #: ../client/gtk/connect.c:1515 msgid "Join an automatically discovered game" msgstr "" #. Label #. metaserver label #: ../client/gtk/connect.c:1542 ../server/gtk/main.c:593 msgid "Metaserver" msgstr "Meta server" #. Button #: ../client/gtk/connect.c:1564 msgid "Join Public Game" msgstr "PÅ™ipojit k veÅ™ejné hÅ™e" #. Tooltip #: ../client/gtk/connect.c:1570 msgid "Join a public game" msgstr "PÅ™ipojit se k veÅ™ejné hÅ™e" #. Button #: ../client/gtk/connect.c:1575 msgid "Create Game" msgstr "VytvoÅ™it hru" #. Tooltip #: ../client/gtk/connect.c:1579 msgid "Create a game" msgstr "VytvoÅ™it hru - nastavit a spustit vlastní server" #. Button #: ../client/gtk/connect.c:1588 msgid "Join Private Game" msgstr "PÅ™ipojit k soukromé hÅ™e" #. Tooltip #. Dialog caption #: ../client/gtk/connect.c:1592 ../client/gtk/connect.c:1737 msgid "Join a private game" msgstr "PÅ™ipojit k soukromé hÅ™e (která není oznámena na meta serveru)" #. Label #. Commandline option of client: hostname of the server #: ../client/gtk/connect.c:1777 ../client/gtk/offline.c:51 msgid "Server host" msgstr "Adresa serveru" #. Tooltip #: ../client/gtk/connect.c:1791 msgid "Name of the host of the game" msgstr "Jméno poÄítaÄe s hrou" #. Label #. Commandline option of client: port of the server #. server port label #: ../client/gtk/connect.c:1795 ../client/gtk/offline.c:54 #: ../server/gtk/main.c:555 msgid "Server port" msgstr "Port serveru" #. Tooltip #: ../client/gtk/connect.c:1812 msgid "Port of the host of the game" msgstr "Port na poÄítaÄi s hrou" #. Tooltip #. Label #: ../client/gtk/connect.c:1854 ../client/gtk/connect.c:1857 msgid "Recent games" msgstr "SouÄasné hry" #. Caption for list of bought development cards #: ../client/gtk/develop.c:130 msgid "Development cards" msgstr "AkÄní karty" #. Button text: play development card #: ../client/gtk/develop.c:163 msgid "Play Card" msgstr "Hrát kartu" #. Dialog caption #: ../client/gtk/discard.c:77 msgid "Discard Resources" msgstr "Odhodit suroviny" #. Button text #: ../client/gtk/discard.c:83 ../client/gtk/gameover.c:38 #: ../client/gtk/gold.c:78 ../client/gtk/monopoly.c:88 ../client/gtk/name.c:150 #: ../client/gtk/plenty.c:67 ../editor/gtk/editor.c:1614 msgid "_OK" msgstr "" #: ../client/gtk/discard.c:101 #, fuzzy, c-format msgid "You must discard %d resource" msgid_plural "You must discard %d resources" msgstr[0] "Musíte odhodit suroviny: %d" msgstr[1] "Musíte odhodit suroviny: %d" #. Label #: ../client/gtk/discard.c:110 msgid "Total discards" msgstr "Celkem odhodit" #. Caption for list of player that must discard cards #: ../client/gtk/discard.c:235 msgid "Waiting for players to discard" msgstr "ÄŒekání na odhazujícího hráÄe" #. Dialog caption #: ../client/gtk/gameover.c:34 msgid "Game Over" msgstr "Konec hry" #: ../client/gtk/gameover.c:52 #, c-format msgid "%s has won the game with %d victory points!" msgstr "%s vyhrál tuto hru s %d vítÄ›znými body!" #: ../client/gtk/gameover.c:58 #, c-format msgid "All praise %s, Lord of the known world!" msgstr "BuÄ blahoÅ™eÄený, %s, Pane poznaného svÄ›ta!" #. Dialog caption #: ../client/gtk/gold.c:72 msgid "Choose Resources" msgstr "Zvolit suroviny" #: ../client/gtk/gold.c:96 #, fuzzy, c-format msgid "You may choose %d resource" msgid_plural "You may choose %d resources" msgstr[0] "Můžete zvolit surovin: %d" msgstr[1] "Můžete zvolit surovin: %d" #. Text for total in choose gold dialog #. Text for total in year of plenty dialog #: ../client/gtk/gold.c:105 ../client/gtk/plenty.c:103 msgid "Total resources" msgstr "Celkem surovin" #. Caption for list of player that must choose gold #: ../client/gtk/gold.c:217 msgid "Waiting for players to choose" msgstr "ÄŒekání na hráÄe, až si vyberou" #. Menu entry #: ../client/gtk/gui.c:224 ../server/gtk/main.c:91 msgid "_Game" msgstr "_Hra" #. Menu entry #: ../client/gtk/gui.c:227 msgid "_New Game" msgstr "_Nová hra" #. Tooltip for New Game menu entry #: ../client/gtk/gui.c:229 msgid "Start a new game" msgstr "Spustit novou hru" #. Menu entry #: ../client/gtk/gui.c:232 msgid "_Leave Game" msgstr "_Opustit hru" #. Tooltip for Leave Game menu entry #: ../client/gtk/gui.c:234 msgid "Leave this game" msgstr "Opustit tuto hru" #. Menu entry #: ../client/gtk/gui.c:238 msgid "_Admin" msgstr "_Admin" #. Tooltip for Admin menu entry #: ../client/gtk/gui.c:240 msgid "Administer Pioneers server" msgstr "Administrovat server Pioneers" #. Menu entry #: ../client/gtk/gui.c:244 msgid "_Player Name" msgstr "_Jméno hráÄe" #. Tooltip for Player Name menu entry #: ../client/gtk/gui.c:246 msgid "Change your player name" msgstr "ZmÄ›nit jméno vaÅ¡eho hráÄe" #. Menu entry #: ../client/gtk/gui.c:249 msgid "L_egend" msgstr "_Legenda" #. Tooltip for Legend menu entry #: ../client/gtk/gui.c:251 msgid "Terrain legend and building costs" msgstr "Legenda krajiny a náklady na stavÄ›ní" #. Menu entry #: ../client/gtk/gui.c:254 msgid "_Game Settings" msgstr "_Herní nastavení" #. Tooltip for Game Settings menu entry #: ../client/gtk/gui.c:256 msgid "Settings for the current game" msgstr "Nastavení pro souÄasnou hry" #. Menu entry #: ../client/gtk/gui.c:259 msgid "_Dice Histogram" msgstr "Histogram ho_dů" #. Tooltip for Dice Histogram menu entry #: ../client/gtk/gui.c:261 msgid "Histogram of dice rolls" msgstr "Histogram hodů kostkami" #. Menu entry #: ../client/gtk/gui.c:264 ../editor/gtk/editor.c:1759 ../server/gtk/main.c:103 msgid "_Quit" msgstr "_Konec" #. Tooltip for Quit menu entry #. Tooltop for Quit menu entry #: ../client/gtk/gui.c:266 ../server/gtk/main.c:105 msgid "Quit the program" msgstr "UkonÄit program" #. Menu entry #: ../client/gtk/gui.c:269 msgid "_Actions" msgstr "_Akce" #. Menu entry #: ../client/gtk/gui.c:272 msgid "Roll Dice" msgstr "Hodit kostky" #. Tooltip for Roll Dice menu entry #: ../client/gtk/gui.c:274 msgid "Roll the dice" msgstr "Hodit kostkami" #. Menu entry #. Tooltip for Trade menu entry #. Tab page name #: ../client/gtk/gui.c:277 ../client/gtk/gui.c:279 ../client/gtk/gui.c:710 msgid "Trade" msgstr "Obchod" #. Menu entry #. Tooltip for Undo menu entry #: ../client/gtk/gui.c:283 ../client/gtk/gui.c:285 msgid "Undo" msgstr "ZpÄ›t" #. Menu entry #. Tooltip for Finish menu entry #: ../client/gtk/gui.c:288 ../client/gtk/gui.c:290 msgid "Finish" msgstr "DokonÄit" #. Menu entry #: ../client/gtk/gui.c:293 ../client/gtk/legend.c:189 #: ../editor/gtk/game-buildings.c:10 msgid "Road" msgstr "Silnice" #. Tooltip for Road menu entry #: ../client/gtk/gui.c:295 msgid "Build a road" msgstr "Postavit silnici" #. Menu entry #: ../client/gtk/gui.c:298 ../client/gtk/legend.c:193 #: ../editor/gtk/game-buildings.c:10 msgid "Ship" msgstr "LoÄ" #. Tooltip for Ship menu entry #: ../client/gtk/gui.c:300 msgid "Build a ship" msgstr "Postavit loÄ" #. Menu entry #: ../client/gtk/gui.c:303 msgid "Move Ship" msgstr "Posunout loÄ" #. Tooltip for Move Ship menu entry #: ../client/gtk/gui.c:305 msgid "Move a ship" msgstr "Posunout lodí" #. Menu entry #: ../client/gtk/gui.c:308 ../client/gtk/legend.c:196 #: ../editor/gtk/game-buildings.c:10 msgid "Bridge" msgstr "Most" #. Tooltip for Bridge menu entry #: ../client/gtk/gui.c:310 msgid "Build a bridge" msgstr "Postavit most" #. Menu entry #: ../client/gtk/gui.c:313 ../client/gtk/legend.c:198 ../client/gtk/player.c:52 #: ../editor/gtk/game-buildings.c:10 msgid "Settlement" msgstr "Vesnice" #. Tooltip for Settlement menu entry #: ../client/gtk/gui.c:316 msgid "Build a settlement" msgstr "Postavit vesnici" #. Menu entry #: ../client/gtk/gui.c:319 ../client/gtk/legend.c:199 ../client/gtk/player.c:53 #: ../editor/gtk/game-buildings.c:11 msgid "City" msgstr "MÄ›sto" #. Tooltip for City menu entry #: ../client/gtk/gui.c:321 msgid "Build a city" msgstr "Postavit mÄ›sto" #. Menu entry #: ../client/gtk/gui.c:324 msgid "Develop" msgstr "AkÄní karta" #. Tooltip for Develop menu entry #: ../client/gtk/gui.c:326 msgid "Buy a development card" msgstr "Koupit akÄní kartu" #. Menu entry #: ../client/gtk/gui.c:329 msgid "City Wall" msgstr "MÄ›stská zeÄ" #. Tooltip for City Wall menu entry #: ../client/gtk/gui.c:331 msgid "Build a city wall" msgstr "Postavit mÄ›stskou zeÄ" #. Menu entry #: ../client/gtk/gui.c:335 msgid "_Settings" msgstr "Na_stavení" #. Menu entry #: ../client/gtk/gui.c:338 msgid "Prefere_nces" msgstr "Vlast_nosti" #. Tooltip for Preferences menu entry #: ../client/gtk/gui.c:340 msgid "Configure the application" msgstr "Konfigurovat aplikaci" #. Menu entry #: ../client/gtk/gui.c:344 ../editor/gtk/editor.c:1721 #, fuzzy msgid "_View" msgstr "Pozorovatel" #. Menu entry #: ../client/gtk/gui.c:347 ../editor/gtk/editor.c:1765 msgid "_Reset" msgstr "" #. Tooltip for Reset menu entry #: ../client/gtk/gui.c:350 ../editor/gtk/editor.c:1768 msgid "View the full map" msgstr "" #. Menu entry #: ../client/gtk/gui.c:353 ../editor/gtk/editor.c:1771 msgid "_Center" msgstr "" #. Tooltip for Center menu entry #: ../client/gtk/gui.c:355 ../editor/gtk/editor.c:1773 msgid "Center the map" msgstr "" #. Menu entry #: ../client/gtk/gui.c:359 ../client/gtk/gui.c:368 ../editor/gtk/editor.c:1724 #: ../server/gtk/main.c:94 msgid "_Help" msgstr "_NápovÄ›da" #. Menu entry #: ../client/gtk/gui.c:362 msgid "_About Pioneers" msgstr "_O Pioneers" #. Tooltip for About Pioneers menu entry #: ../client/gtk/gui.c:364 msgid "Information about Pioneers" msgstr "Informace o hÅ™e Pioneers" #. Tooltip for Help menu entry #: ../client/gtk/gui.c:370 ../client/gtk/gui.c:1258 msgid "Show the manual" msgstr "Ukázat manuál" #. Menu entry #: ../client/gtk/gui.c:378 ../editor/gtk/editor.c:1791 msgid "_Fullscreen" msgstr "" #. Tooltip for Fullscreen menu entry #: ../client/gtk/gui.c:381 ../editor/gtk/editor.c:1794 msgid "Set window to full screen mode" msgstr "" #. Menu entry #: ../client/gtk/gui.c:386 msgid "_Toolbar" msgstr "Nástrojová liÅ¡_ta" #. Tooltip for Toolbar menu entry #: ../client/gtk/gui.c:388 msgid "Show or hide the toolbar" msgstr "Ukáže Äi skryje nástrojovou liÅ¡tu" #. Victory points target in statusbar #: ../client/gtk/gui.c:491 #, c-format msgid "Points needed to win: %i" msgstr "Body pro vítÄ›zství:%i" #: ../client/gtk/gui.c:577 msgid "Messages" msgstr "Hlášení" #. Tab page name #: ../client/gtk/gui.c:703 ../editor/gtk/editor.c:1946 msgid "Map" msgstr "Mapa" #. Tooltip #: ../client/gtk/gui.c:712 msgid "Finish trading" msgstr "UkonÄit obchodování" #. Tab page name #. Button text #: ../client/gtk/gui.c:722 ../client/gtk/quote.c:339 msgid "Quote" msgstr "Kotovat" #. Tooltip #: ../client/gtk/gui.c:724 msgid "Reject domestic trade" msgstr "Odmítnout vnitÅ™ní obchod" #. Tab page name #. Dialog caption #: ../client/gtk/gui.c:734 ../client/gtk/legend.c:249 msgid "Legend" msgstr "Legenda" #. Tab page name, shown for the splash screen #: ../client/gtk/gui.c:744 msgid "Welcome to Pioneers" msgstr "Vítejte ve hÅ™e Pioneers" #. Caption of preferences dialog #: ../client/gtk/gui.c:1028 msgid "Pioneers Preferences" msgstr "Vlastnosti Pioneers" #. Button text #: ../client/gtk/gui.c:1034 ../client/gtk/histogram.c:252 #: ../client/gtk/legend.c:253 ../client/gtk/settingscreen.c:413 msgid "_Close" msgstr "" #. Label for changing the theme, in the preferences dialog #: ../client/gtk/gui.c:1059 msgid "Theme:" msgstr "Téma:" #. Tooltip for changing the theme in the preferences dialog #: ../client/gtk/gui.c:1082 msgid "Choose one of the themes" msgstr "Vyberte jedno téma" #. Label for the option to show the legend #: ../client/gtk/gui.c:1086 msgid "Show legend" msgstr "Ukázat legendu" #. Tooltip for the option to show the legend #: ../client/gtk/gui.c:1096 msgid "Show the legend as a page beside the map" msgstr "Ukázat legendu jako stránku vedle mapy" #. Label for the option to display log messages in color #: ../client/gtk/gui.c:1101 msgid "Messages with color" msgstr "Barevná hlášení" #. Tooltip for the option to display log messages in color #: ../client/gtk/gui.c:1111 msgid "Show new messages with color" msgstr "Ukázat nová hlášení barevnÄ›" #. Label for the option to display chat in color of player #: ../client/gtk/gui.c:1116 msgid "Chat in color of player" msgstr "Chat v barvÄ› hráÄe" #. Tooltip for the option to display chat in color of player #: ../client/gtk/gui.c:1127 msgid "Show new chat messages in the color of the player" msgstr "Obarví hlášky hráÄe podle jeho barvy" #. Label for the option to display the summary with colors #: ../client/gtk/gui.c:1132 msgid "Summary with color" msgstr "Barevné shrnutí" #. Tooltip for the option to display the summary with colors #: ../client/gtk/gui.c:1143 msgid "Use colors in the player summary" msgstr "Použít barvy v shrnutí hráÄe" #. Label for the option to display keyboard accelerators in the toolbar #: ../client/gtk/gui.c:1148 msgid "Toolbar with shortcuts" msgstr "Nástrojová liÅ¡ta se zkratkami" #. Tooltip for the option to display keyboard accelerators in the toolbar #: ../client/gtk/gui.c:1158 msgid "Show keyboard shortcuts in the toolbar" msgstr "Ukázat klávesové zkratky v nástrojové liÅ¡tÄ›" #. Label for the option to disable all sounds #: ../client/gtk/gui.c:1164 msgid "Silent mode" msgstr "Tichý mód" #. Tooltip for the option to disable all sounds #: ../client/gtk/gui.c:1170 msgid "In silent mode no sounds are made" msgstr "V tichém módu jsou vÅ¡echny zvuky vypnuty" #. Label for the option to announce when players/spectators enter #: ../client/gtk/gui.c:1176 msgid "Announce new players" msgstr "Oznámit nové hráÄe" #. Tooltip for the option to use sound when players/spectators enter #: ../client/gtk/gui.c:1186 #, fuzzy msgid "Make a sound when a new player or spectator enters the game" msgstr "UdÄ›lat zvuk, když nový hrÃ¡Ä nebo pozorovatel vstoupí do hry" #. Label for the option to use the notifications. #: ../client/gtk/gui.c:1198 #, fuzzy msgid "Show notifications" msgstr "Ukázat informaci o verzi" #. Tooltip for notifications option. #: ../client/gtk/gui.c:1208 msgid "Show notifications when it's your turn or when new trade is available" msgstr "" #. Label for the option to use the 16:9 layout. #: ../client/gtk/gui.c:1214 msgid "Use 16:9 layout" msgstr "Použít rozložení 16:9" #. Tooltip for 16:9 option. #: ../client/gtk/gui.c:1224 msgid "Use a 16:9 friendly layout for the window" msgstr "Použít rozložení vhodné pro okna v pomÄ›ru 16:9" #. Caption of about box #: ../client/gtk/gui.c:1233 msgid "About Pioneers" msgstr "O Pioneers" #. Initial text in status bar #: ../client/gtk/gui.c:1544 ../client/gtk/offline.c:107 msgid "Welcome to Pioneers!" msgstr "Vítejte ve hÅ™e Pioneers!" #. The name of the application #. Name of the application #: ../client/gtk/gui.c:1606 ../client/gtk/offline.c:209 #: ../client/gtk/pioneers.desktop.in.h:1 msgid "Pioneers" msgstr "Pioneers" #. Dialog caption #: ../client/gtk/histogram.c:248 msgid "Dice Histogram" msgstr "Histogram hodů" #: ../client/gtk/interface.c:111 msgid "Ship movement canceled." msgstr "Pohyb lodi zruÅ¡en." #: ../client/gtk/interface.c:119 ../client/gtk/interface.c:120 msgid "Select a new location for the ship." msgstr "Zvolit novou pozici pro loÄ." #. Notification #: ../client/gtk/interface.c:919 #, fuzzy msgid "It is your turn to setup." msgstr "Jste na tahu." #: ../client/gtk/legend.c:34 msgid "Hill" msgstr "Pahorkatina" #: ../client/gtk/legend.c:35 msgid "Field" msgstr "Pole" #: ../client/gtk/legend.c:36 msgid "Mountain" msgstr "Hory" #: ../client/gtk/legend.c:37 msgid "Pasture" msgstr "Pastvina" #: ../client/gtk/legend.c:38 msgid "Forest" msgstr "Les" #: ../client/gtk/legend.c:39 msgid "Desert" msgstr "Poušť" #: ../client/gtk/legend.c:40 msgid "Sea" msgstr "MoÅ™e" #. Label #: ../client/gtk/legend.c:132 msgid "Terrain yield" msgstr "Výnosy krajiny" #. Label #: ../client/gtk/legend.c:165 msgid "Building costs" msgstr "Stavební náklady" #: ../client/gtk/legend.c:203 ../client/gtk/player.c:54 #: ../editor/gtk/game-buildings.c:11 msgid "City wall" msgstr "MÄ›stská zeÄ" #: ../client/gtk/legend.c:206 ../client/gtk/player.c:65 msgid "Development card" msgstr "AkÄní karta" #. Dialog caption #. Name of the development card #: ../client/gtk/monopoly.c:84 ../common/cards.c:86 msgid "Monopoly" msgstr "Pokrok - Monopol" #. Label #: ../client/gtk/monopoly.c:106 msgid "Select the resource you wish to monopolize." msgstr "Zvolte surovinu, kterou chcete monopolizovat" #. Dialog caption #: ../client/gtk/name.c:141 msgid "Change Player Name" msgstr "ZmÄ›nit jméno hráÄe" #. Label #: ../client/gtk/name.c:172 msgid "Player name:" msgstr "Jméno hráÄe:" #. Label: set player icon preferences #: ../client/gtk/name.c:234 msgid "Face:" msgstr "ObliÄej:" #. Label: set player icon preferences #: ../client/gtk/name.c:250 msgid "Variant:" msgstr "Varianta:" #: ../client/gtk/offline.c:61 #, fuzzy msgid "Connect as a spectator" msgstr "PÅ™ipojit jako pozorovatel" #: ../client/gtk/offline.c:64 msgid "Metaserver Host" msgstr "Adresa meta serveru" #: ../client/gtk/offline.c:78 msgid "Select a game to join." msgstr "Zvolte hru k pÅ™ipojení." #: ../client/gtk/offline.c:94 msgid "Connecting" msgstr "PÅ™ipojuji" #. Long description in the commandline for pioneers: help #: ../client/gtk/offline.c:183 msgid "- Play a game of Pioneers" msgstr "- Hrát hru Pioneers" #: ../client/gtk/pioneers.desktop.in.h:2 msgid "Play a game of Pioneers" msgstr "Zahrát si Pioneers hru" #: ../client/gtk/pioneers.desktop.in.h:3 msgid "game;board;play;Pioneers;Settlers;" msgstr "" #: ../client/gtk/player.c:52 msgid "Settlements" msgstr "Vesnice" #: ../client/gtk/player.c:53 msgid "Cities" msgstr "MÄ›sta" #: ../client/gtk/player.c:54 msgid "City walls" msgstr "MÄ›stské zdi" #: ../client/gtk/player.c:55 msgid "Largest army" msgstr "NejvÄ›tší vojsko" #: ../client/gtk/player.c:56 msgid "Longest road" msgstr "Nejdelší obchodní cesta" #. Name of the development card #: ../client/gtk/player.c:57 ../common/cards.c:92 msgid "Chapel" msgstr "Kostel" #: ../client/gtk/player.c:57 msgid "Chapels" msgstr "Kostely" #. Name of the development card #: ../client/gtk/player.c:58 ../common/cards.c:95 msgid "Pioneer university" msgstr "Univerzita" #: ../client/gtk/player.c:58 msgid "Pioneer universities" msgstr "Univerzity" #. Name of the development card #: ../client/gtk/player.c:60 ../common/cards.c:98 msgid "Governor's house" msgstr "Radnice" #: ../client/gtk/player.c:60 msgid "Governor's houses" msgstr "Radnice" #. Name of the development card #: ../client/gtk/player.c:61 ../common/cards.c:101 msgid "Library" msgstr "Knihovna" #: ../client/gtk/player.c:61 msgid "Libraries" msgstr "Knihovny" #. Name of the development card #: ../client/gtk/player.c:62 ../common/cards.c:104 msgid "Market" msgstr "TržiÅ¡tÄ›" #: ../client/gtk/player.c:62 msgid "Markets" msgstr "TržiÅ¡tÄ›" #. Name of the development card #: ../client/gtk/player.c:63 ../common/cards.c:107 msgid "Soldier" msgstr "Rytíř" #: ../client/gtk/player.c:63 msgid "Soldiers" msgstr "Rytíři" #: ../client/gtk/player.c:64 msgid "Resource card" msgstr "Karta surovin" #: ../client/gtk/player.c:64 msgid "Resource cards" msgstr "Karty surovin" #. Caption #: ../client/gtk/player.c:65 ../editor/gtk/editor.c:1305 msgid "Development cards" msgstr "AkÄní karty" #. Caption for the overview of the points and card of other players #: ../client/gtk/player.c:559 msgid "Player summary" msgstr "PÅ™ehled o hráÄích" #. Dialog caption #: ../client/gtk/plenty.c:61 msgid "Year of Plenty" msgstr "Pokrok - Vynález" #: ../client/gtk/plenty.c:92 msgid "Please choose one resource from the bank" msgstr "Zvolte prosím jednu surovinu z banku" #: ../client/gtk/plenty.c:95 msgid "Please choose two resources from the bank" msgstr "Zvolte prosím dvÄ› suroviny z banku" #: ../client/gtk/plenty.c:97 msgid "The bank is empty" msgstr "Bank je prázdný" #: ../client/gtk/quote.c:187 #, c-format msgid "%s has %s, and is looking for %s" msgstr "HrÃ¡Ä %s má %s, a shání: %s" #. Notification #: ../client/gtk/quote.c:217 #, fuzzy, c-format msgid "New offer from %s." msgstr "Ukradl jsi %s hráÄi %s.\n" #. Notification #: ../client/gtk/quote.c:242 #, c-format msgid "Offer from %s." msgstr "" #. Label #. Frame title, trade: I want to trade these resources #: ../client/gtk/quote.c:316 ../client/gtk/trade.c:524 msgid "I want" msgstr "Já chci" #. Label #. Frame title, trade: I want these resources in return #: ../client/gtk/quote.c:326 ../client/gtk/trade.c:530 msgid "Give them" msgstr "Dát jim" #. Button text #: ../client/gtk/quote.c:345 msgid "Delete" msgstr "Smazat" #. Button text #: ../client/gtk/quote.c:370 msgid "Reject Domestic Trade" msgstr "Odmítnout vnitÅ™ní obchod" #. Now create columns #. Table header: Player who trades #. Role of the player: player #: ../client/gtk/quote-view.c:170 ../server/gtk/main.c:684 msgid "Player" msgstr "HráÄ" #. Table header: Quote #: ../client/gtk/quote-view.c:185 msgid "Quotes" msgstr "Nabídky" #. trade: maritime quote: %1 resources of type %2 for #. * one resource of type %3 #: ../client/gtk/quote-view.c:303 #, c-format msgid "%d:1 %s for %s" msgstr "%d:1 %s za %s" #. Trade: a player has rejected trade #: ../client/gtk/quote-view.c:442 msgid "Rejected trade" msgstr "Obchod odmítnut" #. Caption for overview of the resources of the player #: ../client/gtk/resource.c:71 msgid "Resources" msgstr "Suroviny" #. Label #: ../client/gtk/resource.c:86 msgid "Total" msgstr "Celkem" #. Tooltip for the amount of resources in the hand #: ../client/gtk/resource-table.c:180 msgid "Amount in hand" msgstr "Množství v ruce" #. Button for decreasing the selected amount #: ../client/gtk/resource-table.c:185 msgid "" msgstr "více>" #. Tooltip for increasing the selected amount #: ../client/gtk/resource-table.c:226 msgid "Increase the selected amount" msgstr "Zvýšit zvolené množství" #. Tooltip for the selected amount #: ../client/gtk/resource-table.c:243 msgid "Selected amount" msgstr "Zvolené množství" #. Tooltip for the total selected amount #: ../client/gtk/resource-table.c:288 msgid "Total selected amount" msgstr "Celkem zvolené množství" #. Tooltip when the bank cannot be emptied #: ../client/gtk/resource-table.c:307 msgid "The bank cannot be emptied" msgstr "Bank nemůže být vyprázdnÄ›n" #: ../client/gtk/settingscreen.c:74 msgid "Yes" msgstr "Ano" #: ../client/gtk/settingscreen.c:76 ../client/gtk/settingscreen.c:240 msgid "No" msgstr "Ne" #: ../client/gtk/settingscreen.c:87 ../client/gtk/settingscreen.c:187 msgid "Unknown" msgstr "Neznámý" #: ../client/gtk/settingscreen.c:121 msgid "No game in progress..." msgstr "Žádná hra zde neběží..." #. Label #: ../client/gtk/settingscreen.c:132 msgid "General settings" msgstr "Obecná nastavení" #: ../client/gtk/settingscreen.c:149 msgid "Number of players:" msgstr "PoÄet hráÄů:" #: ../client/gtk/settingscreen.c:153 msgid "Victory point target:" msgstr "PoÄet bodů pro vítÄ›zství:" #: ../client/gtk/settingscreen.c:157 msgid "Random terrain:" msgstr "Náhodná krajina:" #: ../client/gtk/settingscreen.c:161 msgid "Allow trade between players:" msgstr "Dovolit obchodování mezi hráÄi:" #: ../client/gtk/settingscreen.c:166 msgid "Allow trade only before building or buying:" msgstr "Dovolit obchodovat pouze pÅ™ed stavÄ›ním nebo nákupem:" #: ../client/gtk/settingscreen.c:171 #, fuzzy msgid "Check victory only at end of turn:" msgstr "Kontrolovat vítÄ›zství až na konci tahu" #: ../client/gtk/settingscreen.c:176 msgid "Amount of each resource:" msgstr "Množství každé suroviny:" #: ../client/gtk/settingscreen.c:190 msgid "Sevens rule:" msgstr "Pravidlo sedmiÄek:" #: ../client/gtk/settingscreen.c:196 msgid "Use dice deck instead of dice:" msgstr "" #: ../client/gtk/settingscreen.c:201 #, fuzzy msgid "Number of dice decks:" msgstr "PoÄet hráÄů:" #: ../client/gtk/settingscreen.c:207 msgid "Number of dice cards removed after shuffling:" msgstr "" #: ../client/gtk/settingscreen.c:214 msgid "Use the pirate to block ships:" msgstr "Používat piráta pro blokování lodí:" #: ../client/gtk/settingscreen.c:243 msgid "Island discovery bonuses:" msgstr "Bonusy za objevení ostrova:" #. Label #: ../client/gtk/settingscreen.c:260 msgid "Building quotas" msgstr "Stavební přídÄ›l" #: ../client/gtk/settingscreen.c:277 msgid "Roads:" msgstr "Silnice:" #: ../client/gtk/settingscreen.c:283 msgid "Settlements:" msgstr "Vesnice:" #: ../client/gtk/settingscreen.c:289 msgid "Cities:" msgstr "MÄ›sta:" #: ../client/gtk/settingscreen.c:295 msgid "City walls:" msgstr "MÄ›stské zdi:" #: ../client/gtk/settingscreen.c:301 msgid "Ships:" msgstr "LodÄ›:" #: ../client/gtk/settingscreen.c:307 msgid "Bridges:" msgstr "Mosty:" #. Label #: ../client/gtk/settingscreen.c:320 msgid "Development card deck" msgstr "BalíÄek akÄních karet" #: ../client/gtk/settingscreen.c:336 msgid "Road building cards:" msgstr "Karty Pokrok - Stavba silnic:" #: ../client/gtk/settingscreen.c:340 msgid "Monopoly cards:" msgstr "Karty Pokrok - Monopol:" #: ../client/gtk/settingscreen.c:344 msgid "Year of plenty cards:" msgstr "Karty Pokrok - Vynález:" #: ../client/gtk/settingscreen.c:348 msgid "Chapel cards:" msgstr "Karty kostel:" #: ../client/gtk/settingscreen.c:352 msgid "Pioneer university cards:" msgstr "Karty univerzita:" #: ../client/gtk/settingscreen.c:356 msgid "Governor's house cards:" msgstr "Karty radnice:" #: ../client/gtk/settingscreen.c:360 msgid "Library cards:" msgstr "Karty knihovna:" #: ../client/gtk/settingscreen.c:364 msgid "Market cards:" msgstr "Karty tržiÅ¡tÄ›:" #: ../client/gtk/settingscreen.c:368 msgid "Soldier cards:" msgstr "Karty rytíř:" #. Dialog caption #: ../client/gtk/settingscreen.c:407 msgid "Current Game Settings" msgstr "Nastavení souÄasné hry" #. trade: you ask for something for free #: ../client/gtk/trade.c:205 #, c-format msgid "ask for %s for free" msgstr "požaduje %s zdarma" #. trade: you give something away for free #: ../client/gtk/trade.c:210 #, c-format msgid "give %s for free" msgstr "dám %s zdarma" #. trade: you trade something for something else #: ../client/gtk/trade.c:215 #, c-format msgid "give %s for %s" msgstr "dám %s za %s" #. I want some resources, and give them some resources #: ../client/gtk/trade.c:242 #, c-format msgid "I want %s, and give them %s" msgstr "Já chci %s, a dám jim %s" #. Notification #: ../client/gtk/trade.c:348 #, fuzzy, c-format msgid "Quote received from %s." msgstr "%s obdržel %s.\n" #. Button text, trade: call for quotes from other players #: ../client/gtk/trade.c:539 msgid "_Call for Quotes" msgstr "_Získat nabídky" #. Button text: Trade page, accept selected quote #: ../client/gtk/trade.c:568 msgid "_Accept Quote" msgstr "PÅ™ijmout n_abídku" #. Button text: Trade page, finish trading #: ../client/gtk/trade.c:574 msgid "_Finish Trading" msgstr "UkonÄit _obchodování" #. Name of the development card #: ../common/cards.c:83 msgid "Road building" msgstr "Pokrok - Stavba silnic" #. Name of the development card #: ../common/cards.c:89 msgid "Year of plenty" msgstr "Pokrok - Vynález" #. Description of the 'Road Building' development card #: ../common/cards.c:118 msgid "Build two new roads" msgstr "" #. Description of the 'Monopoly' development card #: ../common/cards.c:121 msgid "" "Select a resource type and take every card of that type held by all other " "players" msgstr "" #. Description of the 'Year of Plenty' development card #: ../common/cards.c:125 msgid "" "Take two resource cards of any type from the bank (cards may be of the same " "or different types)" msgstr "" #. Description of a development card of 1 victory point #: ../common/cards.c:134 msgid "One victory point" msgstr "" #. Description of the 'Soldier' development card #: ../common/cards.c:137 msgid "" "Move the robber to a different space and take one resource card from another " "player adjacent to that space" msgstr "" #: ../common/game.c:523 #, c-format msgid "Obsolete rule: '%s'\n" msgstr "" #: ../common/game.c:530 #, c-format msgid "" "The game uses the new rule '%s', which is not yet supported. Consider " "upgrading.\n" msgstr "" #: ../common/game.c:924 ../common/game.c:955 msgid "This game cannot be won." msgstr "Tato hra nemůže být vyhrána." #: ../common/game.c:925 msgid "There is no land." msgstr "Není zde žádná pevnina." #: ../common/game.c:959 msgid "It is possible that this game cannot be won." msgstr "Je možné, že tuto hru nebude možné vyhrát." #: ../common/game.c:965 msgid "This game can be won by only building all settlements and cities." msgstr "Tato hra může být vyhrána, jen pokud se postaví i vesnice i mÄ›sta." #: ../common/game.c:971 #, fuzzy, c-format msgid "" "Required victory points: %d\n" "Points obtained by building all: %d\n" "Points in development cards: %u\n" "Longest road/largest army: %d+%d\n" "Maximum island discovery bonus: %d\n" "Total: %d" msgstr "" "PoÄet bodů k vítÄ›zství: %d\n" "Body získané za postavení vÅ¡eho: %d\n" "Body v akÄních kartách: %d\n" "Nejdelší obchodní cesta/nejvÄ›tší vojsko: %d+%d\n" "Maximální bonus za objevení ostrovů: %d\n" "Celkem: %d" #: ../common/game-list.c:111 #, c-format msgid "Looking for games in '%s'\n" msgstr "" #: ../common/game-list.c:113 #, c-format msgid "Game directory '%s' not found\n" msgstr "" #: ../common/game-list.c:131 #, fuzzy, c-format msgid "Unable to load game: '%s'\n" msgstr "NepodaÅ™ilo se nahrát '%s'" #: ../common/game-list.c:151 #, fuzzy msgid "No games available\n" msgstr "Promiňte, dostupno je pouze %s.\n" #: ../common/gtk/aboutbox.c:53 msgid "" "Pioneers is based upon the excellent\n" "Settlers of Catan board game.\n" msgstr "" "Pioneers je založeno na skvÄ›lé\n" "deskové hÅ™e Osadníci z Katanu.\n" # #. Translators: add your name here. Keep the list #. * alphabetically, do not remove any names, and add #. * \n after your name (except the last name). #. #: ../common/gtk/aboutbox.c:63 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Jakub ŽáÄek https://launchpad.net/~dawon\n" " Konki https://launchpad.net/~pavel-konkol\n" " Ladislav Dobias https://launchpad.net/~lada-preklad" #. Caption for result of checking victory points #: ../common/gtk/common_gtk.c:324 msgid "Victory Point Analysis" msgstr "" #. Tooltip for sevens rule normal #: ../common/gtk/game-rules.c:110 msgid "All sevens move the robber or pirate" msgstr "VÅ¡echny sedmiÄky posunou zlodÄ›je nebo piráta" #. Tooltip for sevens rule reroll on 1st 2 turns #: ../common/gtk/game-rules.c:114 msgid "In the first two turns all sevens are rerolled" msgstr "V prvních dvou kolech se po sedmiÄkách hází znovu" #. Tooltip for sevens rule reroll all #: ../common/gtk/game-rules.c:118 msgid "All sevens are rerolled" msgstr "Po sedmiÄkách se vždy hází znovu" #: ../common/gtk/game-rules.c:129 msgid "Randomize terrain" msgstr "Náhodná krajina" #: ../common/gtk/game-rules.c:129 msgid "Randomize the terrain" msgstr "NáhodnÄ› rozmístit díly krajiny" #: ../common/gtk/game-rules.c:132 msgid "Use pirate" msgstr "Používat piráta" #: ../common/gtk/game-rules.c:133 msgid "Use the pirate to block ships" msgstr "Používat piráta pro blokování lodí" #: ../common/gtk/game-rules.c:135 msgid "Strict trade" msgstr "Striktní obchod" #: ../common/gtk/game-rules.c:136 msgid "Allow trade only before building or buying" msgstr "Dovolit obchodovat pouze pÅ™ed stavÄ›ním nebo nákupem" #: ../common/gtk/game-rules.c:138 msgid "Domestic trade" msgstr "VnitÅ™ní obchod" #: ../common/gtk/game-rules.c:139 msgid "Allow trade between players" msgstr "Dovolit obchodování mezi hráÄi" #: ../common/gtk/game-rules.c:141 msgid "Victory at end of turn" msgstr "VítÄ›zství na konci tahu" #: ../common/gtk/game-rules.c:142 msgid "Check for victory only at end of turn" msgstr "Kontrolovat vítÄ›zství až na konci tahu" #: ../common/gtk/game-rules.c:145 msgid "Use dice deck" msgstr "" #: ../common/gtk/game-rules.c:147 msgid "Use a deck of 36 dice cards instead of real dice" msgstr "" #. Label #: ../common/gtk/game-rules.c:155 #, fuzzy msgid "Number of dice decks" msgstr "PoÄet poÄítaÄových hráÄů" #: ../common/gtk/game-rules.c:172 msgid "The number of dice decks (of 36 cards each)" msgstr "" #. Label #: ../common/gtk/game-rules.c:180 msgid "Number of removed dice cards" msgstr "" #: ../common/gtk/game-rules.c:199 msgid "The number of dice cards that are removed after shuffling the deck" msgstr "" #. Label #: ../common/gtk/game-rules.c:207 #, fuzzy msgid "Island discovery bonuses" msgstr "Bonusy za objevení ostrova:" #. Tooltip for island bonus #: ../common/gtk/game-rules.c:219 msgid "A comma separated list of bonus points for discovering islands" msgstr "" #. Tooltip for the check button #: ../common/gtk/game-rules.c:237 #, fuzzy msgid "Check and correct island discovery bonuses" msgstr "Bonusy za objevení ostrova:" #. Label text for customising a game #: ../common/gtk/game-settings.c:105 msgid "Number of players" msgstr "PoÄet hráÄů" #. Tooltip for 'Number of Players' #: ../common/gtk/game-settings.c:124 msgid "The number of players" msgstr "PoÄet hráÄů" #. Label for customising a game #: ../common/gtk/game-settings.c:127 msgid "Victory point target" msgstr "PoÄet bodů pro vítÄ›zství" #. Tooltip for Victory Point Target #: ../common/gtk/game-settings.c:147 msgid "The points needed to win the game" msgstr "Kolik bodů je potÅ™eba k vítÄ›zství" #. Tooltip for the check button #: ../common/gtk/game-settings.c:161 msgid "Is it possible to win this game?" msgstr "Je možné vyhrát tuto hru?" #. Port indicator for a resource: trade 2 for 1 #: ../common/gtk/guimap.c:742 msgid "2:1" msgstr "2:1" #. Port indicator: trade 3 for 1 #. General port indicator #: ../common/gtk/guimap.c:745 ../common/gtk/guimap.c:770 msgid "3:1" msgstr "3:1" #. Port indicator for brick #: ../common/gtk/guimap.c:750 msgid "Brick port|B" msgstr "C" #. Port indicator for grain #: ../common/gtk/guimap.c:754 msgid "Grain port|G" msgstr "T" #. Port indicator for ore #: ../common/gtk/guimap.c:758 msgid "Ore port|O" msgstr "R" #. Port indicator for wool #: ../common/gtk/guimap.c:762 msgid "Wool port|W" msgstr "V" #. Port indicator for lumber #: ../common/gtk/guimap.c:766 msgid "Lumber port|L" msgstr "D" #. Tooltip for the list of metaservers #: ../common/gtk/metaserver.c:85 msgid "Select a metaserver" msgstr "" #. Tooltip for the list of games #: ../common/gtk/select-game.c:135 msgid "Select a game" msgstr "Zvolit hru" #. Log prefix #: ../common/log.c:58 msgid "*ERROR* " msgstr "*CHYBA* " #. Log prefix #: ../common/log.c:66 msgid "Chat: " msgstr "Chat: " #. Log prefix #: ../common/log.c:70 msgid "Resource: " msgstr "Suroviny: " #. Log prefix #: ../common/log.c:74 msgid "Build: " msgstr "StavÄ›t: " #. Log prefix #: ../common/log.c:78 msgid "Dice: " msgstr "Kostky: " #. Log prefix #: ../common/log.c:82 msgid "Steal: " msgstr "Ukrást: " #. Log prefix #: ../common/log.c:86 msgid "Trade: " msgstr "Obchod: " #. Log prefix #: ../common/log.c:90 msgid "Development: " msgstr "Pokrok: " #. Log prefix #: ../common/log.c:94 msgid "Army: " msgstr "Vojsko: " #. Log prefix #: ../common/log.c:98 msgid "Road: " msgstr "Silnice: " #. Log prefix #: ../common/log.c:102 msgid "*BEEP* " msgstr "*PÃP* " #. Log prefix #: ../common/log.c:108 msgid "Player 1: " msgstr "HrÃ¡Ä 1: " #. Log prefix #: ../common/log.c:112 msgid "Player 2: " msgstr "HrÃ¡Ä 2: " #. Log prefix #: ../common/log.c:116 msgid "Player 3: " msgstr "HrÃ¡Ä 3: " #. Log prefix #: ../common/log.c:120 msgid "Player 4: " msgstr "HrÃ¡Ä 4: " #. Log prefix #: ../common/log.c:124 msgid "Player 5: " msgstr "HrÃ¡Ä 5: " #. Log prefix #: ../common/log.c:128 msgid "Player 6: " msgstr "HrÃ¡Ä 6: " #. Log prefix #: ../common/log.c:132 msgid "Player 7: " msgstr "HrÃ¡Ä 7: " #. Log prefix #: ../common/log.c:136 msgid "Player 8: " msgstr "HrÃ¡Ä 8: " #. Log prefix #: ../common/log.c:140 msgid "Spectator: " msgstr "" #. Log prefix #: ../common/log.c:144 msgid "** UNKNOWN MESSAGE TYPE ** " msgstr "** NEZNÃMà TYP HLÃÅ ENà ** " #: ../common/network.c:143 #, c-format msgid "Error writing to socket: %s\n" msgstr "Chyba pÅ™i zápisu do socketu: %s\n" #: ../common/network.c:154 msgid "Could not send all data\n" msgstr "" #: ../common/network.c:202 msgid "Read buffer overflow - disconnecting\n" msgstr "PÅ™eteÄení vstupního zásobníku - odpojuji\n" #: ../common/network.c:226 #, c-format msgid "Error reading socket: %s\n" msgstr "Chyba pÅ™i Ätení socketu: %s\n" #: ../common/network.c:378 #, fuzzy, c-format msgid "Error connecting to %s: %s\n" msgstr "Chyba pÅ™i spojování k %s: %s\n" #: ../common/network.c:566 ../common/network.c:567 msgid "unknown" msgstr "neznámý" #: ../common/state.c:203 #, c-format msgid "Connecting to %s, port %s\n" msgstr "PÅ™ipojování k %s, port %s\n" #. Error message #: ../common/state.c:333 msgid "State stack overflow. Stack dump sent to standard error.\n" msgstr "" "PÅ™eteÄení zásobníku stavů. Obsah zásobníku poslán na standardní chybový " "výstup.\n" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:113 msgid "_Hill" msgstr "Pa_horkatina" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:115 msgid "_Field" msgstr "P_ole" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:117 msgid "_Mountain" msgstr "Ho_ry" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:119 msgid "_Pasture" msgstr "_Pastviny" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:121 msgid "F_orest" msgstr "_Les" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:123 msgid "_Desert" msgstr "Po_ušť" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:125 msgid "_Sea" msgstr "_MoÅ™e" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:127 msgid "_Gold" msgstr "_Zlato" #. Use an unique shortcut key for each resource #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:129 ../editor/gtk/editor.c:144 msgid "_None" msgstr "_Nic" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:134 msgid "_Brick (2:1)" msgstr "_Cihly (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:136 msgid "_Grain (2:1)" msgstr "_Obilí (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:138 msgid "_Ore (2:1)" msgstr "_Ruda (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:140 msgid "_Wool (2:1)" msgstr "_Vlna (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:142 msgid "_Lumber (2:1)" msgstr "_DÅ™evo (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:146 msgid "_Any (3:1)" msgstr "Co_koliv (3:1)" #. East #: ../editor/gtk/editor.c:151 msgid "East|E" msgstr "V" #. North east #: ../editor/gtk/editor.c:153 msgid "North East|NE" msgstr "SV" #. North west #: ../editor/gtk/editor.c:155 msgid "North West|NW" msgstr "SZ" #. West #: ../editor/gtk/editor.c:157 msgid "West|W" msgstr "Z" #. South west #: ../editor/gtk/editor.c:159 msgid "South West|SW" msgstr "JZ" #. South east #: ../editor/gtk/editor.c:161 msgid "South East|SE" msgstr "JV" #: ../editor/gtk/editor.c:368 msgid "Place a hill hex" msgstr "" #: ../editor/gtk/editor.c:369 msgid "Place a field hex" msgstr "" #: ../editor/gtk/editor.c:370 msgid "Place a mountain hex" msgstr "" #: ../editor/gtk/editor.c:371 msgid "Place a pasture hex" msgstr "" #: ../editor/gtk/editor.c:372 msgid "Place a forest hex" msgstr "" #: ../editor/gtk/editor.c:373 msgid "Place a desert hex" msgstr "" #: ../editor/gtk/editor.c:374 msgid "Place a sea hex" msgstr "" #: ../editor/gtk/editor.c:375 msgid "Place a gold hex" msgstr "" #: ../editor/gtk/editor.c:376 msgid "Clear the hex" msgstr "" #: ../editor/gtk/editor.c:384 msgid "Place a 2 chit" msgstr "" #: ../editor/gtk/editor.c:385 msgid "Place a 3 chit" msgstr "" #: ../editor/gtk/editor.c:386 msgid "Place a 4 chit" msgstr "" #: ../editor/gtk/editor.c:387 msgid "Place a 5 chit" msgstr "" #: ../editor/gtk/editor.c:388 msgid "Place a 6 chit" msgstr "" #: ../editor/gtk/editor.c:390 msgid "Place an 8 chit" msgstr "" #: ../editor/gtk/editor.c:391 msgid "Place a 9 chit" msgstr "" #: ../editor/gtk/editor.c:392 msgid "Place a 10 chit" msgstr "" #: ../editor/gtk/editor.c:393 msgid "Place an 11 chit" msgstr "" #: ../editor/gtk/editor.c:394 msgid "Place a 12 chit" msgstr "" #: ../editor/gtk/editor.c:400 msgid "Place a brick 2:1 port" msgstr "" #: ../editor/gtk/editor.c:401 msgid "Place a grain 2:1 port" msgstr "" #: ../editor/gtk/editor.c:402 msgid "Place an ore 2:1 port" msgstr "" #: ../editor/gtk/editor.c:403 msgid "Place a wool 2:1 port" msgstr "" #: ../editor/gtk/editor.c:404 msgid "Place a lumber 2:1 port" msgstr "" #. Tooltip to remove a port tile in the editor #: ../editor/gtk/editor.c:406 #, fuzzy msgid "Remove a port" msgstr "Port serveru" #: ../editor/gtk/editor.c:407 msgid "Place a 3:1 port" msgstr "" #: ../editor/gtk/editor.c:437 msgid "" "Select the terrain type with the context menu on the left click or toggle a " "node to exclude it from being used during the setup phase" msgstr "" #: ../editor/gtk/editor.c:572 msgid "Insert a row" msgstr "" #: ../editor/gtk/editor.c:573 #, fuzzy msgid "Delete a row" msgstr "Smazat" #: ../editor/gtk/editor.c:574 msgid "Insert a column" msgstr "" #: ../editor/gtk/editor.c:575 msgid "Delete a column" msgstr "" #. Label #: ../editor/gtk/editor.c:978 #, fuzzy msgid "_Title" msgstr "_ZmÄ›nit název" #. Label #: ../editor/gtk/editor.c:991 #, fuzzy msgid "_Description" msgstr "Po_ušť" #. Label #: ../editor/gtk/editor.c:1009 msgid "_Comments" msgstr "" #. Menu item #: ../editor/gtk/editor.c:1139 msgid "Shuffle" msgstr "PÅ™eházet" #. Caption #. Game settings frame #: ../editor/gtk/editor.c:1294 ../server/gtk/main.c:968 msgid "Game parameters" msgstr "Parametry hry" #. Caption #. Rules frame #: ../editor/gtk/editor.c:1297 ../server/gtk/main.c:983 msgid "Rules" msgstr "Pravidla" #. Caption #: ../editor/gtk/editor.c:1299 msgid "Resources" msgstr "Suroviny" #. Caption #: ../editor/gtk/editor.c:1302 msgid "Buildings" msgstr "Budovy" #. The game in the editor does not have a name yet #: ../editor/gtk/editor.c:1319 msgid "Untitled" msgstr "" #. Application caption #: ../editor/gtk/editor.c:1324 ../editor/gtk/pioneers-editor.desktop.in.h:1 msgid "Pioneers Editor" msgstr "Pioneers Editor" #: ../editor/gtk/editor.c:1434 #, c-format msgid "Failed to load '%s'" msgstr "NepodaÅ™ilo se nahrát '%s'" #: ../editor/gtk/editor.c:1482 #, c-format msgid "Failed to save to '%s'" msgstr "NepodaÅ™ilo se uložit do '%s'" #. Name of the file filter: show only games #: ../editor/gtk/editor.c:1499 #, fuzzy msgid "Games" msgstr "_Hra" #. Name of the file filter: show all files #: ../editor/gtk/editor.c:1505 msgid "Unfiltered" msgstr "" #. Dialog caption #: ../editor/gtk/editor.c:1517 msgid "Open Game" msgstr "Otevřít hru" #. Button text #: ../editor/gtk/editor.c:1524 #, fuzzy msgid "_Open" msgstr "_Otevřít..." #. Dialog caption #: ../editor/gtk/editor.c:1558 msgid "Save As..." msgstr "Uložit jako..." #. Button text #: ../editor/gtk/editor.c:1565 #, fuzzy msgid "Save _As" msgstr "Uložit _jako..." #. Dialog caption #: ../editor/gtk/editor.c:1606 msgid "Change Title" msgstr "ZmÄ›nit název" #. Label #: ../editor/gtk/editor.c:1631 msgid "New title:" msgstr "Nový název:" #. Caption of about box #: ../editor/gtk/editor.c:1688 msgid "About Pioneers Game Editor" msgstr "O Pioneers Editoru" #. Menu entry #: ../editor/gtk/editor.c:1718 msgid "_File" msgstr "_Soubor" #. Menu entry #: ../editor/gtk/editor.c:1728 msgid "_New" msgstr "_Nová" #: ../editor/gtk/editor.c:1729 msgid "Create a new game" msgstr "VytvoÅ™it novou hru" #. Menu entry #: ../editor/gtk/editor.c:1732 msgid "_Open..." msgstr "_Otevřít..." #. Tooltip for Open menu entry #: ../editor/gtk/editor.c:1734 msgid "Open an existing game" msgstr "Otevřít existující hru" #. Menu entry #: ../editor/gtk/editor.c:1737 msgid "_Save" msgstr "_Uložit" #. Tooltip for Save menu entry #: ../editor/gtk/editor.c:1739 msgid "Save game" msgstr "Uložit hru" #. Menu entry #: ../editor/gtk/editor.c:1742 msgid "Save _As..." msgstr "Uložit _jako..." #. Tooltip for Save As menu entry #: ../editor/gtk/editor.c:1745 msgid "Save as" msgstr "Uložit pod jiným jménem" #. Menu entry #: ../editor/gtk/editor.c:1748 #, fuzzy msgid "Change _Title" msgstr "ZmÄ›nit název" #. Tooltip for Change Title menu entry #: ../editor/gtk/editor.c:1750 msgid "Change game title" msgstr "ZmÄ›nit název hry" #. Menu entry #: ../editor/gtk/editor.c:1753 ../server/gtk/main.c:97 msgid "_Check Victory Point Target" msgstr "Zkontrolovat poÄet bodů pro vítÄ›ztví" #. Tooltip for Check Victory Point Target menu entry #. Tooltop for Check Victory Point Target menu entry #: ../editor/gtk/editor.c:1756 ../server/gtk/main.c:100 msgid "Check whether the game can be won" msgstr "Zkontrolovat, zda hra může být vyhrána" #. Tooltip for Quit menu entry #: ../editor/gtk/editor.c:1761 msgid "Quit" msgstr "Konec" #. Menu entry #: ../editor/gtk/editor.c:1783 msgid "_About Pioneers Editor" msgstr "_O Pioneers Editoru" #. Tooltip for About Pioneers Editor menu entry #: ../editor/gtk/editor.c:1785 msgid "Information about Pioneers Editor" msgstr "Informace o Pioneers Editoru" #. Long help for commandline option (editor): filename #: ../editor/gtk/editor.c:1838 msgid "Open this file" msgstr "Otevřít tento soubor" #. Commandline option for editor: filename #. Commandline metaserver: pidfile argument #: ../editor/gtk/editor.c:1840 ../metaserver/main.c:615 msgid "filename" msgstr "soubor" #. Long description in the command line: --help #: ../editor/gtk/editor.c:1877 msgid "- Editor for games of Pioneers" msgstr "- Editor pro hry Pioneers" #. Error message #: ../editor/gtk/editor.c:1921 ../server/gtk/main.c:1256 #, c-format msgid "Building menus failed: %s" msgstr "Selhalo vytváření menu: %s" #. Tab page name #: ../editor/gtk/editor.c:1951 msgid "Settings" msgstr "Nastavení" #. Tab page name #: ../editor/gtk/editor.c:1954 msgid "Comments" msgstr "" #: ../editor/gtk/game-resources.c:48 msgid "Resource count" msgstr "PoÄet surovin" #: ../editor/gtk/pioneers-editor.desktop.in.h:2 msgid "Create your own game for Pioneers" msgstr "Založte vaÅ¡i vlastní hru Pionýři" #: ../editor/gtk/pioneers-editor.desktop.in.h:3 msgid "game;board;create;edit;layout;Pioneers;Settlers;" msgstr "" #. Commandline metaserver: daemon #: ../metaserver/main.c:610 msgid "Daemonize the metaserver on start" msgstr "" #. Commandline metaserver: pidfile #: ../metaserver/main.c:613 msgid "Pidfile to create when daemonizing (implies -d)" msgstr "" #. Commandline metaserver: redirect #: ../metaserver/main.c:618 msgid "Redirect clients to another metaserver" msgstr "" #. Commandline metaserver: server #: ../metaserver/main.c:621 msgid "Use this hostname when creating new games" msgstr "Použít tuto adresu pÅ™i vytváření nových her" #. Commandline metaserver: server argument #: ../metaserver/main.c:623 msgid "hostname" msgstr "jméno poÄítaÄe" #. Commandline metaserver: port-range #: ../metaserver/main.c:626 msgid "Use this port range when creating new games" msgstr "Použít tento rozsah portů pÅ™i vytváření nových her" #. Commandline metaserver: port-range argument #: ../metaserver/main.c:628 msgid "from-to" msgstr "od-do" #. Commandline option of metaserver: syslog-debug #: ../metaserver/main.c:634 msgid "Debug syslog messages" msgstr "Ladící informace v syslogu" #. Long description in the commandline for metaserver: help #: ../metaserver/main.c:675 msgid "- Metaserver for Pioneers" msgstr "- Pioneers Meta server" #: ../metaserver/main.c:691 #, c-format msgid "metaserver protocol:" msgstr "" #: ../server/avahi.c:68 msgid "Avahi registration successful.\n" msgstr "" #: ../server/avahi.c:78 #, c-format msgid "Avahi service name collision, renaming service to '%s'.\n" msgstr "" #. Some kind of failure happened while we were registering #: ../server/avahi.c:89 #, c-format msgid "Avahi error: %s\n" msgstr "" #: ../server/avahi.c:113 ../server/avahi.c:145 ../server/avahi.c:155 #: ../server/avahi.c:191 ../server/avahi.c:212 ../server/avahi.c:226 #, fuzzy, c-format msgid "Avahi error: %s, %s\n" msgstr "Chyba (%s): %s\n" #: ../server/avahi.c:213 ../server/avahi.c:227 #, fuzzy msgid "Unable to register Avahi server" msgstr "Odregistrovat od meta serveru\n" #: ../server/avahi.c:260 msgid "Unregistering Avahi.\n" msgstr "" #. Menu entry #: ../server/gtk/main.c:108 msgid "_About Pioneers Server" msgstr "_O Pioneers Serveru" #. Tooltop for About Pioneers Server menu entry #: ../server/gtk/main.c:110 msgid "Information about Pioneers Server" msgstr "Informace o Pioneers Serveru" #: ../server/gtk/main.c:234 msgid "Stop Server" msgstr "Zastavit server" #: ../server/gtk/main.c:235 msgid "Start Server" msgstr "Spustit server" #: ../server/gtk/main.c:237 ../server/gtk/main.c:996 msgid "Stop the server" msgstr "Zastavit ten server" #: ../server/gtk/main.c:238 msgid "Start the server" msgstr "Spustit ten server" #: ../server/gtk/main.c:395 #, c-format msgid "Player %s from %s entered\n" msgstr "Vstoupil hrÃ¡Ä %s z %s.\n" #: ../server/gtk/main.c:402 #, c-format msgid "Player %s from %s left\n" msgstr "OdeÅ¡el hrÃ¡Ä %s z %s\n" #: ../server/gtk/main.c:409 #, c-format msgid "Player %d is now %s\n" msgstr "HrÃ¡Ä %d je nyní %s\n" #: ../server/gtk/main.c:570 msgid "The port for the game server" msgstr "Port pro hrací serveru" #. register_toggle #: ../server/gtk/main.c:579 msgid "Register server" msgstr "Registrovat server" #: ../server/gtk/main.c:587 msgid "Register this game at the metaserver" msgstr "Registruje server na meta serveru" #. hostname label #: ../server/gtk/main.c:618 msgid "Reported hostname" msgstr "Nahlásit jméno poÄítaÄe" #: ../server/gtk/main.c:633 msgid "" "The public name of this computer (needed when playing behind a firewall)" msgstr "" "VeÅ™ejné jméno (adresa) tohoto poÄítaÄe - je potÅ™eba, když jste za firewallem" #. random toggle #: ../server/gtk/main.c:652 #, fuzzy msgid "Random turn order" msgstr "NáhodnÄ› pÅ™eházet poÅ™adí hráÄů" #: ../server/gtk/main.c:659 msgid "Randomize turn order" msgstr "NáhodnÄ› pÅ™eházet poÅ™adí hráÄů" #. Tooltip for server connection overview #: ../server/gtk/main.c:730 #, fuzzy msgid "Shows all players and spectators connected to the server" msgstr "Ukázat vÅ¡echny hráÄe a pozorovatele pÅ™ipojené k serveru" #. Label for column Connected #: ../server/gtk/main.c:735 msgid "Connected" msgstr "Spojeno" #. Tooltip for column Connected #: ../server/gtk/main.c:742 msgid "Is the player currently connected?" msgstr "Je hrÃ¡Ä nyní pÅ™ipojen?" #. Label for column Name #: ../server/gtk/main.c:747 msgid "Name" msgstr "Jméno" #. Tooltip for column Name #: ../server/gtk/main.c:754 msgid "Name of the player" msgstr "Jméno hráÄe" #. Label for column Location #: ../server/gtk/main.c:758 msgid "Location" msgstr "Adresa" #. Tooltip for column Location #: ../server/gtk/main.c:765 msgid "Host name of the player" msgstr "Adresa poÄítaÄe, kde je hráÄ" #. Label for column Number #: ../server/gtk/main.c:771 msgid "Number" msgstr "Číslo" #. Tooltip for column Number #: ../server/gtk/main.c:778 msgid "Player number" msgstr "Číslo hráÄe" #. Label for column Role #: ../server/gtk/main.c:784 msgid "Role" msgstr "Role" #. Tooltip for column Role #: ../server/gtk/main.c:788 #, fuzzy msgid "Player or spectator" msgstr "HrÃ¡Ä nebo pozorovatel" #. Button text #: ../server/gtk/main.c:825 msgid "Launch Pioneers Client" msgstr "Spustit Pioneers klienta" #. Tooltip #: ../server/gtk/main.c:839 msgid "Launch the Pioneers client" msgstr "Spustí klienta hry Pioneers" #. ai chat toggle #: ../server/gtk/main.c:868 msgid "Enable chat" msgstr "Povolit chat" #. Tooltip #: ../server/gtk/main.c:875 msgid "Enable chat messages" msgstr "Povolí chatování mezi strojovými hráÄi" #. Button text #: ../server/gtk/main.c:884 msgid "Add Computer Player" msgstr "PÅ™idat strojového hráÄe" #. Tooltip #: ../server/gtk/main.c:892 msgid "Add a computer player to the game" msgstr "PÅ™idá do hry strojového hráÄe" #. Tooltip #: ../server/gtk/main.c:925 msgid "Messages from the server" msgstr "Hlášení ze servery" #: ../server/gtk/main.c:961 msgid "Game settings" msgstr "Herní nastavení" #. server frame #: ../server/gtk/main.c:972 msgid "Server parameters" msgstr "Parametry serveru" #: ../server/gtk/main.c:992 msgid "Running game" msgstr "SpuÅ¡tÄ›ná hra" #. player connected frame #: ../server/gtk/main.c:1008 msgid "Players connected" msgstr "PÅ™ipojení hráÄi" #. ai frame #: ../server/gtk/main.c:1012 msgid "Computer players" msgstr "Strojoví hráÄi" #. message frame #: ../server/gtk/main.c:1024 msgid "Messages" msgstr "Hlášení" #. Caption of about box #: ../server/gtk/main.c:1150 #, fuzzy msgid "About the Pioneers Game Server" msgstr "Server hry Pioneers" # #. Wait for all players to disconnect, #. * then enable the UI #. #: ../server/gtk/main.c:1158 msgid "The game is over.\n" msgstr "Tato hra skonÄila.\n" #. Long description in the commandline for server-gtk: help #. Long description in the commandline for server-console: help #: ../server/gtk/main.c:1212 ../server/main.c:194 msgid "- Host a game of Pioneers" msgstr "- Hostovat hru Pioneers" #. Name in the titlebar of the server #: ../server/gtk/main.c:1236 ../server/gtk/pioneers-server-gtk.desktop.in.h:1 msgid "Pioneers Server" msgstr "Server Pioneers" #: ../server/gtk/pioneers-server-gtk.desktop.in.h:2 msgid "Host a game of Pioneers" msgstr "Hostovat hru Pioneers" #: ../server/gtk/pioneers-server-gtk.desktop.in.h:3 msgid "game;board;server;host;Pioneers;Settlers;" msgstr "" #. Commandline server-console: game-title #: ../server/main.c:80 msgid "Game title to use" msgstr "Název hry" #. Commandline server-console: file #: ../server/main.c:83 msgid "Game file to use" msgstr "Jméno souboru" #. Commandline server-console: port #: ../server/main.c:86 msgid "Port to listen on" msgstr "Port pro naslouchání" #. Commandline server-console: players #: ../server/main.c:89 msgid "Override number of players" msgstr "PÅ™epsat poÄet hráÄů" #. Commandline server-console: points #: ../server/main.c:92 msgid "Override number of points needed to win" msgstr "PÅ™epsat poÄet bodů potÅ™ebných pro vítÄ›zství" #. Commandline server-console: seven-rule #: ../server/main.c:95 msgid "Override seven-rule handling" msgstr "PÅ™epsat pravidlo sedmiÄek" #. Commandline server-console: dice-deck #: ../server/main.c:98 #, fuzzy msgid "Override dice-deck handling" msgstr "PÅ™epsat pravidlo sedmiÄek" #. Commandline server-console: num-dice-decks #: ../server/main.c:101 #, fuzzy msgid "Override num-dice-decks handling" msgstr "PÅ™epsat pravidlo sedmiÄek" #. Commandline server-console: num-removed-dice-cards #: ../server/main.c:105 #, fuzzy msgid "Override num-removed-dice-cards handling" msgstr "PÅ™epsat pravidlo sedmiÄek" #. Commandline server-console: terrain #: ../server/main.c:108 msgid "Override terrain type, 0=default 1=random" msgstr "PÅ™epsat typ krajiny, 0=standardní, 1=náhodná" #. Commandline server-console: computer-players #: ../server/main.c:111 msgid "Add N computer players" msgstr "PÅ™idat N strojových hráÄů" #. Commandline server-console: register #: ../server/main.c:121 msgid "Register server with metaserver" msgstr "Registrovat server na meta serveru" #. Commandline server-console: metaserver #: ../server/main.c:124 msgid "Register at metaserver name (implies -r)" msgstr "Registruje server na meta serveru (zahrnuje -r)" #. Commandline server-console: hostname #: ../server/main.c:128 msgid "Use this hostname when registering" msgstr "PÅ™i oznamování použít tento název poÄítaÄe" #. Commandline server-console: auto-quit #: ../server/main.c:135 msgid "Quit after a player has won" msgstr "Odejít když hrÃ¡Ä vyhraje" #. Commandline server-console: empty-timeout #: ../server/main.c:138 msgid "Quit after N seconds with no players" msgstr "SkonÄit po N sekundách bez hráÄů" #. Commandline server-console: tournament #: ../server/main.c:141 msgid "Tournament mode, computer players added after N minutes" msgstr "Typ hry: turnaj, strojoví hráÄi jsou pÅ™idáni po N minutách" #. Commandline server-console: admin-port #: ../server/main.c:145 msgid "Admin port to listen on" msgstr "Síťový port, na kterém poslouchat" #. Commandline server-console: admin-wait #: ../server/main.c:148 msgid "Don't start game immediately, wait for a command on admin port" msgstr "Nestartovat hru okamžitÄ›, Äekat na příkaz na administraÄním portu" #. Commandline server-console: fixed-seating-order #: ../server/main.c:154 msgid "Give players numbers according to the order they enter the game" msgstr "Dát hráÄům Äísla vzhledem k poÅ™adí, jak se pÅ™ipojili do hry" #. Commandline server-console: Short description of meta group #: ../server/main.c:200 msgid "Metaserver Options" msgstr "Možnosti meta serveru" #. Commandline server-console: Long description of meta group #: ../server/main.c:202 msgid "Options for the metaserver" msgstr "Možnosti pro meta server" #. Commandline server-console: Short description of misc group #: ../server/main.c:211 msgid "Miscellaneous Options" msgstr "Různé možnosti" #. Commandline server-console: Long description of misc group #: ../server/main.c:213 msgid "Miscellaneous options" msgstr "Různé možnosti" #. server-console commandline error #: ../server/main.c:239 #, c-format msgid "Cannot set game title and filename at the same time\n" msgstr "" #. server-console commandline error #: ../server/main.c:256 #, c-format msgid "Cannot load the parameters for the game\n" msgstr "Nelze naÄíst parametry hry\n" #. Error message #: ../server/main.c:305 ../server/main.c:324 #, c-format msgid "The network port (%s) for the admin interface is not available.\n" msgstr "" #: ../server/meta.c:58 #, fuzzy msgid "The connection to the metaserver is lost.\n" msgstr "Možnosti pro meta server" #: ../server/meta.c:64 #, c-format msgid "An attempt to reconnect is scheduled in %u second.\n" msgid_plural "An attempt to reconnect is scheduled in %u seconds.\n" msgstr[0] "" msgstr[1] "" msgstr[2] "" #: ../server/meta.c:83 #, fuzzy msgid "Attempting to reconnect to the metaserver.\n" msgstr "Možnosti pro meta server" #: ../server/meta.c:311 #, fuzzy, c-format msgid "Register with the metaserver at %s.\n" msgstr "Registrovat na meta serveru na adrese %s, port %s\n" #: ../server/meta.c:322 #, fuzzy msgid "Unregister from the metaserver.\n" msgstr "Odregistrovat od meta serveru\n" #: ../server/player.c:142 msgid "chat too long" msgstr "příliÅ¡ dlouhý chat" #: ../server/player.c:159 msgid "name too long" msgstr "příliÅ¡ dlouhé jméno" #: ../server/player.c:191 msgid "ignoring unknown extension" msgstr "ignoruji neznámou příponu" #: ../server/player.c:228 ../server/player.c:298 msgid "The last player left, the tournament timer is reset." msgstr "" #: ../server/player.c:262 ../server/player.c:643 msgid "No human players present. Bye." msgstr "" #: ../server/player.c:269 msgid "Game starts, adding computer players." msgstr "Hra zaÄíná, pÅ™idávání poÄíaÄových hráÄů." #: ../server/player.c:311 #, c-format msgid "The game starts in %s minutes." msgstr "Hra zaÄne za %s minut." #: ../server/player.c:312 #, c-format msgid "The game starts in %s minute." msgstr "Hra zaÄne za %s minutu." # #. Default name for the AI when the computer_names file #. * is not found or empty. #. #: ../server/player.c:370 ../server/player.c:376 msgid "Computer Player" msgstr "Strojový hráÄ" #: ../server/player.c:450 #, c-format msgid "Unable to determine the hostname of the player: %s" msgstr "" #. The game is over, don't accept new players #. Message to send to the client when the game is already over #. * when a connection is made. #: ../server/player.c:476 msgid "Sorry, game is over." msgstr "Promiňte, hra skonÄila." #: ../server/player.c:478 #, c-format msgid "Player from %s is refused: game is over\n" msgstr "HrÃ¡Ä z adresy %s je odmítnut: hra skonÄila\n" #: ../server/player.c:520 msgid "Name not changed: new name is already in use" msgstr "Jméno nebylo zmÄ›nÄ›no: nové jméno se již používá jinde" #: ../server/player.c:638 ../server/server.c:38 msgid "Was hanging around for too long without players... bye.\n" msgstr "NeÄinnÄ› jsem Äekal moc dlouho bez hráÄů...sbohem.\n" #: ../server/player.c:723 msgid "The last human player left. Waiting for the return of a player." msgstr "" #: ../server/player.c:744 msgid "Resuming the game." msgstr "" #. %s is the name of the reconnecting player #: ../server/player.c:870 #, c-format msgid "%s has reconnected." msgstr "%s se znovu pÅ™ipojil." #: ../server/player.c:970 #, c-format msgid "Version mismatch: %s" msgstr "Verze nesouhlasí: %s" #: ../server/player.c:1007 msgid "This game will start soon." msgstr "Tato hra zaÄne již brzy." #. Server: preparing game #..... #: ../server/server.c:221 msgid "Preparing game" msgstr "Příprava hry" #: ../server/turn.c:254 msgid "Island Discovery Bonus" msgstr "Bonus za objevení ostrovů" #: ../server/turn.c:255 msgid "Additional Island Bonus" msgstr "DodateÄný ostrovní bonus" #: ../server/turn.c:386 msgid "Tried to assign resources to NULL player.\n" msgstr "Pokus o pÅ™iÅ™azení surovin hráÄi NULL.\n" #. Cheat mode has been activated #: ../server/turn.c:516 msgid "The dice roll has been determined by the administrator." msgstr "" #~ msgid "Join the selected game" #~ msgstr "PÅ™ipojit se k vybrané hÅ™e" #~ msgid "Don't join a public game" #~ msgstr "NepÅ™ipojit se k veÅ™ejné hÅ™e" #~ msgid "Create a new public game at the metaserver" #~ msgstr "VytvoÅ™it novou veÅ™ejnou hru na meta serveru" #~ msgid "Refresh the list of games" #~ msgstr "Obnovit seznam her" #~ msgid "Version:" #~ msgstr "Verze:" #~ msgid "Homepage:" #~ msgstr "Domácí stránka:" #~ msgid "Authors:" #~ msgstr "AutoÅ™i:" #~ msgid "Pioneers is translated to by:\n" #~ msgstr "Pioneers je pÅ™eloženo do :\n" #~ msgid "Metaserver kicked us off\n" #~ msgstr "Meta server nás vykopl\n" #~ msgid "" #~ "Note:\n" #~ "\tThe metaserver does not send information about the games.\n" #~ "\tPlease set appropriate values yourself." #~ msgstr "" #~ "Poznámka:\n" #~ "\tMeta server neposílá informace o hrách.\n" #~ "\tProsím, nastavte požadované hodnoty sami." #~ msgid "Error checking connect status: %s\n" #~ msgstr "Chyba pÅ™i zjišťování stavu pÅ™ipojení: %s\n" #~ msgid "Error connecting to host '%s': %s\n" #~ msgstr "Chyba pÅ™i pÅ™ipojování k poÄítaÄi '%s': %s\n" #~ msgid "Error writing socket: %s\n" #~ msgstr "Chyba pÅ™i zápisu do socketu: %s\n" #~ msgid "Error creating socket: %s\n" #~ msgstr "Chyba pÅ™i vytváření socketu: %s\n" #~ msgid "Error setting socket close-on-exec: %s\n" #~ msgstr "Chyba pÅ™i nastavování socketu na uzavřít-pÅ™i-spuÅ¡tÄ›ní: %s\n" #~ msgid "Error setting socket non-blocking: %s\n" #~ msgstr "Chyba pÅ™i nastavování socketu na neblokující: %s\n" #~ msgid "Cannot resolve %s port %s: %s\n" #~ msgstr "Nelze pÅ™eložit jméno %s, port %s: %s\n" #~ msgid "Cannot resolve %s port %s: host not found\n" #~ msgstr "Nelze rozluÅ¡tit %s, port %s: poÄítaÄ nenalezen\n" #~ msgid "Error creating struct addrinfo: %s" #~ msgstr "Chyba pÅ™i vytváření struktury addrinfo: %s" #~ msgid "Error creating listening socket: %s\n" #~ msgstr "Chyba pÅ™i vytváření naslouchacího socketu: %s\n" #~ msgid "Error during listen on socket: %s\n" #~ msgstr "Chyba pÅ™i naslouchání na socketu: %s\n" #~ msgid "Listening not yet supported on this platform." #~ msgstr "Naslouchání jeÅ¡tÄ› není podporováno na této platformÄ›." #~ msgid "Error getting peer name: %s" #~ msgstr "Chyba pÅ™i získávání jména kolegy: %s" #~ msgid "Error resolving address: %s" #~ msgstr "Chyba pÅ™i pÅ™ekladu adresy: %s" #~ msgid "Net_get_peer_name not yet supported on this platform." #~ msgstr "Net_get_peer_name není jeÅ¡tÄ› podporováno na této platformÄ›." #~ msgid "Error accepting connection: %s" #~ msgstr "Chyba pÅ™i potvrzení spojení: %s" #, fuzzy #~ msgid "Admin port not available.\n" #~ msgstr "Promiňte, dostupno je pouze %s.\n" #~ msgid "Viewer %d" #~ msgstr "Pozorovatel %d" #~ msgid "viewer %d" #~ msgstr "pozorovatel %d" #~ msgid "I want" #~ msgstr "Já chci" #~ msgid "Give them" #~ msgstr "Dát jim" #~ msgid "Viewer: " #~ msgstr "Pozorovatel: " #~ msgid "Number of AI Players" #~ msgstr "PoÄet strojových hráÄů" #~ msgid "The number of AI players" #~ msgstr "PoÄet hráÄů hraných poÄítaÄem" #~ msgid "Recent Games" #~ msgstr "SouÄasné hry" #~ msgid "You may choose 1 resource" #~ msgstr "Můžete zvolit 1 surovinu" #~ msgid "_Player name" #~ msgstr "_Jméno hráÄe" #~ msgid "The Pioneers Game" #~ msgstr "Hra Pioneers" #~ msgid "Select the ship to steal from" #~ msgstr "Zvolte loÄ ze které se bude krást" #~ msgid "Select the building to steal from" #~ msgstr "Zvolte budovu - odkud krást" #~ msgid "Development Card" #~ msgstr "AkÄní karta" #~ msgid "Player Name:" #~ msgstr "Jméno hráÄe:" #~ msgid "I Want" #~ msgstr "Já chci" #~ msgid "Interplayer Trading Allowed?" #~ msgstr "Dovolit obchod mezi hráÄi?" #~ msgid "Trading allowed only before build/buy?" #~ msgstr "Dovolit obchod pouze pÅ™ed stavÄ›ním/obchodem?" #~ msgid "Check Victory Only At End Of Turn?" #~ msgstr "Kontrolovat vítÄ›zství až na konci tahu?" #~ msgid "Sevens Rule:" #~ msgstr "Pravidlo sedmiÄek:" #~ msgid "Use Pirate:" #~ msgstr "Použít piráta:" #~ msgid "Number of Players" #~ msgstr "PoÄet hráÄů" #~ msgid "Development Cards" #~ msgstr "AkÄní karty" #~ msgid "Save as..." #~ msgstr "Uložit jako..." #~ msgid "Pioneers Game Editor" #~ msgstr "Editor hry Pioneers" #~ msgid "_Change title" #~ msgstr "_ZmÄ›nit název" #~ msgid "Random Turn Order" #~ msgstr "Náhodné poÅ™adí" #~ msgid "_Legend" #~ msgstr "_Legenda" #~ msgid "bad scaling mode '%s'" #~ msgstr "chybný režim Å¡kálování '%s'" #~ msgid "Missing game directory\n" #~ msgstr "Chybí adresář hry\n" #~ msgid "Leave empty for the default meta server" #~ msgstr "Necháte-li prázdné, použije se standardní meta server." #~ msgid "Override the language of the system" #~ msgstr "PotlaÄit jazyk systému" #~ msgid "The address of the meta server" #~ msgstr "Adresa meta serveru" pioneers-15.5/po/af.po0000644000175000017500000031173313252242740011566 00000000000000# Pioneers - Settlers of Catan for GNOME. # This file is distributed under the same license as the pioneers package. # Petri Jooste , 2006, 2013. # Petri Jooste , 2006. msgid "" msgstr "" "Project-Id-Version: Pioneers 15.1\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-03-14 16:51+0100\n" "PO-Revision-Date: 2013-11-19 16:16+0200\n" "Last-Translator: Petri Jooste \n" "Language-Team: Afrikaans\n" "Language: af\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Virtaal 0.7.1\n" "X-Launchpad-Export-Date: 2010-09-26 08:28+0000\n" #. Commandline pioneersai: chromosome-file #: ../client/ai/ai.c:90 msgid "Chromosome File" msgstr "" #. Commandline pioneersai: server #: ../client/ai/ai.c:93 msgid "Server Host" msgstr "Bedienernaam" #. Commandline pioneersai: port #: ../client/ai/ai.c:96 msgid "Server Port" msgstr "Bedienerpoort" #. Commandline pioneersai: name #: ../client/ai/ai.c:99 msgid "Computer name (mandatory)" msgstr "Naam vir robotspeler (verpligtend)" #. Commandline pioneersai: time #: ../client/ai/ai.c:102 msgid "Time to wait between turns (in milliseconds)" msgstr "Tyd om te wag tussen beurte (in millisekondes)" #. Commandline pioneersai: chat-free #: ../client/ai/ai.c:105 msgid "Stop computer player from talking" msgstr "Robotspelers moenie gesels nie" #. Commandline pioneersai: algorithm #: ../client/ai/ai.c:108 msgid "Type of computer player" msgstr "Tipe robotspeler" #. Commandline option of ai: enable debug logging #. Commandline option of client: enable debug logging #. Commandline option of metaserver: enable debug logging #. Commandline option of server-gtk: enable debug logging #. Commandline option of server: enable debug logging #: ../client/ai/ai.c:111 ../client/gtk/offline.c:67 ../metaserver/main.c:631 #: ../server/gtk/main.c:1170 ../server/main.c:159 msgid "Enable debug messages" msgstr "Skakel ontfoutboodskappe aan" #. Commandline option of ai: version #. Commandline option of client: version #. Commandline option of editor: version #. Commandline option of metaserver: version #. Commandline option of server-gtk: version #. Commandline option of server-console: version #: ../client/ai/ai.c:114 ../client/gtk/offline.c:70 ../editor/gtk/editor.c:1843 #: ../metaserver/main.c:637 ../server/gtk/main.c:1173 ../server/main.c:114 msgid "Show version information" msgstr "Wys weergawe-inligting" #. Long description in the commandline for pioneersai: help #: ../client/ai/ai.c:125 msgid "- Computer player for Pioneers" msgstr "- Robotspeler vir Pioniers" #: ../client/ai/ai.c:137 ../client/gtk/offline.c:196 #: ../editor/gtk/editor.c:1888 ../metaserver/main.c:687 #: ../server/gtk/main.c:1223 ../server/main.c:226 #, c-format msgid "Pioneers version:" msgstr "Pioniers weergawe:" #. ai commandline error #: ../client/ai/ai.c:160 #, c-format msgid "A name must be provided.\n" msgstr "'n Naam moet verskaf word.\n" #: ../client/ai/ai.c:171 #, c-format msgid "Type of computer player: %s\n" msgstr "Tipe robotspeler: %s\n" #: ../client/ai/ai.c:202 msgid "The game is already full. I'm leaving." msgstr "Die spel is reeds vol. Ek gaan weg." #. AI chat at the start of the turn #: ../client/ai/ai.c:230 msgid "Ok, let's go!" msgstr "Goed, kom ons begin!" #. AI chat at the start of the turn #: ../client/ai/ai.c:232 msgid "I'll beat you all now! ;)" msgstr "Nou gaan ek julle almal wen! ;)" #. AI chat at the start of the turn #: ../client/ai/ai.c:234 msgid "Now for another try..." msgstr "Nou vir nog 'n probeerslag ..." #. AI chat when one resource is received #: ../client/ai/ai.c:239 msgid "At least I get something..." msgstr "Ten minste kry ek iets ..." #. AI chat when one resource is received #: ../client/ai/ai.c:241 msgid "One is better than none..." msgstr "Een is beter as niks!" #. AI chat when more than one resource is received #: ../client/ai/ai.c:246 msgid "Wow!" msgstr "Wow!" #. AI chat when more than one resource is received #: ../client/ai/ai.c:248 msgid "Ey, I'm becoming rich ;)" msgstr "Kyk net, ek word nou ryk ;-)" #. AI chat when more than one resource is received #: ../client/ai/ai.c:250 msgid "This is really a good year!" msgstr "Hierdie is regtig 'n goeie jaar vir my!" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:255 msgid "You really don't deserve that much!" msgstr "Jy verdien nie regtig soveel nie!" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:257 msgid "You don't know what to do with that many resources ;)" msgstr "Jy sal nie weet wat om met soveel hulpbronne te maak nie ;-)" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:259 msgid "Ey, wait for my robber and lose all this again!" msgstr "Toemaar, wag net vir my rower en jy verloor dit alles weer!" #. AI chat when it moves the robber #: ../client/ai/ai.c:264 msgid "Hehe!" msgstr "Ha ha ha!" #. AI chat when it moves the robber #: ../client/ai/ai.c:266 msgid "Go, robber, go!" msgstr "Rower, hou so aan!" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:271 msgid "You bastard!" msgstr "Jou vuilgoed!" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:273 msgid "Can't you move that robber somewhere else?!" msgstr "Kan jy nie dalk die rower iewers anders heen skuif nie?!" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:275 msgid "Why always me??" msgstr "Hoekom altyd ek??" #. AI chat when it must discard resources #: ../client/ai/ai.c:280 msgid "Oh no!" msgstr "Ag nee!" #. AI chat when it must discard resources #: ../client/ai/ai.c:282 msgid "Grrr!" msgstr "Grrr!" #. AI chat when it must discard resources #: ../client/ai/ai.c:284 msgid "Who the hell rolled that 7??" msgstr "Wie de duiwel het daardie 7 gerol??" #. AI chat when it must discard resources #: ../client/ai/ai.c:286 msgid "Why always me?!?" msgstr "Hoekom altyd ek?!?" #. AI chat when other players must discard #: ../client/ai/ai.c:291 msgid "Say good bye to your cards... :)" msgstr "Sê totsiens vir jou kaarte ... :-)" #. AI chat when other players must discard #: ../client/ai/ai.c:293 msgid "*evilgrin*" msgstr "*grynslag*" #. AI chat when other players must discard #: ../client/ai/ai.c:295 msgid "/me says farewell to your cards ;)" msgstr "/me sê vaarwel aan jou kaarte ;-)" #. AI chat when other players must discard #: ../client/ai/ai.c:297 msgid "That's the price for being rich... :)" msgstr "Dit is wat dit kos om ryk te wees ... :-)" #. AI chat when someone steals from it #: ../client/ai/ai.c:302 msgid "Ey! Where's that card gone?" msgstr "Haai! Waar is daardie kaart heen?" #. AI chat when someone steals from it #: ../client/ai/ai.c:304 msgid "Thieves! Thieves!!" msgstr "Dief! Dief!!" #. AI chat when someone steals from it #: ../client/ai/ai.c:306 msgid "Wait for my revenge..." msgstr "Wag maar net tot ek wraak neem ..." #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:311 msgid "Oh no :(" msgstr "Ag nee :(" #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:313 msgid "Must this happen NOW??" msgstr "Moet dit NOU gebeur??" #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:315 msgid "Args" msgstr "Eish" #. AI chat when it has the largest army #: ../client/ai/ai.c:320 msgid "Hehe, my soldiers rule!" msgstr "Ha ha ha, my soldate is die beste!" #. AI chat when another player that the largest army #: ../client/ai/ai.c:325 msgid "First robbing us, then grabbing the points..." msgstr "Eers beroof jy ons, dan gryp jy die punte..." #. AI chat when it has the longest road #: ../client/ai/ai.c:330 msgid "See that road!" msgstr "Kyk daardie pad!" #. AI chat when another player has the longest road #: ../client/ai/ai.c:335 msgid "Pf, you won't win with roads alone..." msgstr "Gmf, jy sal nie met paaie alleen kan wen nie..." #: ../client/ai/ai.c:434 #, c-format msgid "Received error from server: %s. Quitting\n" msgstr "Foutboodskap ontvang van bediener: %s. Besig om uit te gaan\n" #. AI chat when it wins #: ../client/ai/ai.c:446 ../client/ai/genetic.c:2766 msgid "Yippie!" msgstr "Jippie!" #. AI chat when another player wins #: ../client/ai/ai.c:449 ../client/ai/genetic.c:2777 msgid "My congratulations" msgstr "Geluk van my kant af!" #: ../client/ai/genetic.c:1277 ../client/ai/greedy.c:961 msgid "No settlements in stock to use for setup" msgstr "Geen dorpe in voorraad om op te stel nie" #: ../client/ai/genetic.c:1284 ../client/ai/greedy.c:968 msgid "There is no place to setup a settlement" msgstr "Daar is nie plek om 'n dorp te bou nie" #: ../client/ai/genetic.c:1311 ../client/ai/greedy.c:992 msgid "No roads in stock to use for setup" msgstr "Geen paaie in voorraad om op te stel nie" #: ../client/ai/genetic.c:1329 ../client/ai/greedy.c:1009 msgid "There is no place to setup a road" msgstr "Daar is nie plek om 'n pad te bou nie" #: ../client/ai/genetic.c:2651 ../client/ai/greedy.c:1784 msgid "Rejecting trade.\n" msgstr "Handel word afgewys.\n" #. Translators: don't translate '/help' #: ../client/ai/lobbybot.c:80 msgid "" "Hello, welcome to the lobby. I am a simple robot. Type '/help' in the chat " "to see the list of commands I know." msgstr "" "Hallo, welkom in die voorportaal. Ek is 'n eenvoudige robot. Tik '/help' in " "die geselsvenster om te sien watter opdragte ek ken." #. Translators: don't translate '/help' #: ../client/ai/lobbybot.c:107 msgid "'/help' shows this message again" msgstr "'/help' sal weer hierdie boodskap wys" #. Translators: don't translate '/why' #: ../client/ai/lobbybot.c:110 msgid "'/why' explains the purpose of this strange board layout" msgstr "'/why' sal verduidelik wat die doel is met hierdie vreemde borduitleg" #. Translators: don't translate '/news' #: ../client/ai/lobbybot.c:113 msgid "'/news' tells the last released version" msgstr "'/news' sal wys wat is die mees onlangse weergawe" #. AI chat that explains '/why' #: ../client/ai/lobbybot.c:119 msgid "" "This board is not intended to be a game that can be played. Instead, players " "can find eachother here, and decide which board they want to play. Then, one " "of the players will host the proposed game by starting a server, and " "registers it at the metaserver. The other players can subsequently " "disconnect from the lobby, and enter that game." msgstr "" "Hierdie bord word nie bedoel as 'n spel wat gespeel moet word nie. Spelers " "kan mekaar hier ontmoet en dan besluit watter bord hulle wil speel. Dan moet " "een van die spelers die voorgestelde spel opstel en aanbied deur 'n bediener " "daarvoor aan die gang te sit en dit by 'n metabediener te registreer. Die " "ander spelers kan daarna die voorportaal verlaat en by die nuwe spel " "aansluit." #: ../client/ai/lobbybot.c:130 msgid "The last released version of Pioneers is" msgstr "Die mees onlangse weergawe van Pioniers is" #. The lobbybot leaves when a game is starting #: ../client/ai/lobbybot.c:146 msgid "The game is starting. I'm not needed anymore. Goodbye." msgstr "Die spel begin nou. Ek word nie meer hier benodig nie. Totsiens." #: ../client/common/client.c:105 msgid "Waiting" msgstr "Wagtend" #: ../client/common/client.c:107 msgid "Idle" msgstr "Ledig" #: ../client/common/client.c:532 msgid "We have been kicked out of the game.\n" msgstr "Ons is uit die spel geskop.\n" #. Network status: offline #: ../client/common/client.c:535 ../client/common/client.c:990 #: ../client/gtk/gui.c:1532 msgid "Offline" msgstr "Nie gekoppel nie" #: ../client/common/client.c:556 #, c-format msgid "Error (%s): %s\n" msgstr "Fout (%s): %s\n" #: ../client/common/client.c:565 ../client/common/client.c:576 #, c-format msgid "Notice: %s\n" msgstr "Kennisgewing: %s\n" #: ../client/common/client.c:693 #, c-format msgid "%s does not receive any %s, because the bank is empty.\n" msgstr "%s ontvang geen %s nie, want die bank is leeg.\n" #: ../client/common/client.c:706 #, c-format msgid "%s only receives %s, because the bank didn't have any more.\n" msgstr "%s ontvang slegs %s, want die bank het nie meer daarvan oor nie.\n" #: ../client/common/client.c:716 #, c-format msgid "%s receives %s.\n" msgstr "%s ontvang %s.\n" #. Year of Plenty #: ../client/common/client.c:724 ../client/common/client.c:2663 #, c-format msgid "%s takes %s.\n" msgstr "%s vat %s.\n" #: ../client/common/client.c:729 #, c-format msgid "%s spent %s.\n" msgstr "%s spandeer %s.\n" #: ../client/common/client.c:735 #, c-format msgid "%s is refunded %s.\n" msgstr "%s word %s terugbetaal.\n" #. %s = Player name #: ../client/common/client.c:753 #, c-format msgid "%s shuffled the dice deck.\n" msgstr "%s het die stel kansgetallkaarte geskommel.\n" #: ../client/common/client.c:772 #, c-format msgid "%s discarded %s.\n" msgstr "%s weggegooi %s.\n" #: ../client/common/client.c:846 #, c-format msgid "%s has won the game with %d victory points!\n" msgstr "%s het die spel gewen met %d oorwinningspunte!\n" #: ../client/common/client.c:945 msgid "Loading" msgstr "Laai tans" #: ../client/common/client.c:991 msgid "Version mismatch." msgstr "Weergawes pas nie." #: ../client/common/client.c:993 msgid "Version mismatch. Please make sure client and server are up to date.\n" msgstr "" "Weergawes pas nie. Maak asb. seker die kliënt en bediener is op datum.\n" #: ../client/common/client.c:1413 msgid "Build two settlements, each with a connecting" msgstr "Bou twee dorpe, elkeen met 'n verbindende" #: ../client/common/client.c:1416 msgid "Build a settlement with a connecting" msgstr "Bou 'n dorp met 'n verbindende" #: ../client/common/client.c:1419 msgid "road" msgstr "pad" #: ../client/common/client.c:1421 msgid "bridge" msgstr "brug" #: ../client/common/client.c:1423 msgid "ship" msgstr "skip" #: ../client/common/client.c:1430 msgid " or" msgstr " of" #: ../client/common/client.c:1494 msgid "Waiting for your turn." msgstr "Wag vir jou beurt." #: ../client/common/client.c:1546 ../client/gtk/interface.c:784 msgid "Select the building to steal from." msgstr "Kies die gebou om van te steel." #: ../client/common/client.c:1568 ../client/gtk/interface.c:774 msgid "Select the ship to steal from." msgstr "Kies die skip om van te steel." #: ../client/common/client.c:1652 ../client/gtk/interface.c:816 msgid "Place the robber." msgstr "Plaas die rower." #: ../client/common/client.c:1702 msgid "Finish the road building action." msgstr "Maak die padbou klaar." #: ../client/common/client.c:1704 msgid "Build one road segment." msgstr "Bou een padsegment." #: ../client/common/client.c:1706 msgid "Build two road segments." msgstr "Bou twee padsegmente." #. Notification #: ../client/common/client.c:1979 ../client/common/client.c:2073 #: ../client/gtk/interface.c:432 msgid "It is your turn." msgstr "Dit is jou beurt." #: ../client/common/client.c:2167 #, c-format msgid "Sorry, %s available.\n" msgstr "Jammer, %s is beskikbaar.\n" #: ../client/common/client.c:2481 msgid "The game is over." msgstr "Die spel is verby." #. This development card is unique #: ../client/common/develop.c:67 #, c-format msgid "You bought the %s development card.\n" msgstr "Jy het die %s ontwikkelingskaart gekoop.\n" #. This development card is not unique #: ../client/common/develop.c:73 #, c-format msgid "You bought a %s development card.\n" msgstr "Jy het 'n %s ontwikkelingskaart gekoop.\n" #: ../client/common/develop.c:103 #, c-format msgid "%s bought a development card.\n" msgstr "%s het 'n ontwikkelingskaart gekoop.\n" #: ../client/common/develop.c:121 #, c-format msgid "%s played the %s development card.\n" msgstr "%s het die %s ontwikkelingskaart gespeel.\n" #: ../client/common/develop.c:126 #, c-format msgid "%s played a %s development card.\n" msgstr "%s het 'n %s ontwikkelingskaart gespeel.\n" #: ../client/common/develop.c:138 msgid "You have run out of road segments.\n" msgstr "Jy het nie meer padsegmente oor nie.\n" #. I get the cards #. $1=resources, $2=player that loses resources #: ../client/common/develop.c:179 #, c-format msgid "You get %s from %s.\n" msgstr "Jy kry %s vanaf %s.\n" #. I lose the cards #. $1=player that steals, $2=resources #: ../client/common/develop.c:185 #, c-format msgid "%s took %s from you.\n" msgstr "%s het %s by jou gevat.\n" #: ../client/common/develop.c:192 #, c-format msgid "%s took %s from %s.\n" msgstr "%s het %s by %s gevat.\n" #: ../client/common/player.c:125 ../server/player.c:567 #, c-format msgid "Spectator %d" msgstr "Toeskouer %d" #: ../client/common/player.c:128 #, c-format msgid "spectator %d" msgstr "toeskouer %d" #: ../client/common/player.c:137 ../server/player.c:570 #, c-format msgid "Player %d" msgstr "Speler %d" #: ../client/common/player.c:139 #, c-format msgid "player %d" msgstr "speler %d" #: ../client/common/player.c:216 #, c-format msgid "New spectator: %s.\n" msgstr "Nuwe toeskouer %s.\n" #: ../client/common/player.c:219 ../client/common/player.c:235 #, c-format msgid "%s is now %s.\n" msgstr "%s is nou %s.\n" #: ../client/common/player.c:232 #, c-format msgid "Player %d is now %s.\n" msgstr "Speler %d is nou %s.\n" #: ../client/common/player.c:269 #, c-format msgid "%s has quit.\n" msgstr "%s is weg.\n" #: ../client/common/player.c:278 msgid "There is no largest army.\n" msgstr "Daar is nie 'n grootste weermag nie.\n" #: ../client/common/player.c:281 #, c-format msgid "%s has the largest army.\n" msgstr "%s het die grootste weermag.\n" #: ../client/common/player.c:302 msgid "There is no longest road.\n" msgstr "Daar is nie 'n langste pad nie.\n" #: ../client/common/player.c:305 #, c-format msgid "%s has the longest road.\n" msgstr "%s het die langste pad.\n" #: ../client/common/player.c:326 #, c-format msgid "Waiting for %s." msgstr "Ek wag vir %s." #. We are not in on the action #. someone stole a resource from someone else #: ../client/common/player.c:354 #, c-format msgid "%s stole a resource from %s.\n" msgstr "%s het 'n hulpbron gesteel by %s.\n" #. $1=resource, $2=player name #: ../client/common/player.c:365 #, c-format msgid "You stole %s from %s.\n" msgstr "Jy het %s gesteel by %s.\n" #. $1=player name, $2=resource #: ../client/common/player.c:372 #, c-format msgid "%s stole %s from you.\n" msgstr "%s het %s by jou gesteel.\n" #: ../client/common/player.c:406 #, c-format msgid "%s gave %s nothing!?\n" msgstr "%s het vir %s niks gegee nie!?\n" #. $1=giving player, $2=receiving player, $3=resources #: ../client/common/player.c:413 ../client/common/player.c:423 #, c-format msgid "%s gave %s %s for free.\n" msgstr "%s het vir %s %s verniet gegee.\n" #: ../client/common/player.c:431 #, c-format msgid "%s gave %s %s in exchange for %s.\n" msgstr "%s het vir %s %s gegee in ruil vir %s.\n" #: ../client/common/player.c:462 #, c-format msgid "%s exchanged %s for %s.\n" msgstr "%s het %s omgeruil vir %s.\n" #: ../client/common/player.c:482 #, c-format msgid "%s built a road.\n" msgstr "%s het 'n pad gebou.\n" #: ../client/common/player.c:494 #, c-format msgid "%s built a ship.\n" msgstr "%s het 'n skip gebou.\n" #: ../client/common/player.c:507 #, c-format msgid "%s built a settlement.\n" msgstr "%s het 'n dorp gebou.\n" #: ../client/common/player.c:526 #, c-format msgid "%s built a city.\n" msgstr "%s het 'n stad gebou.\n" #: ../client/common/player.c:540 #, c-format msgid "%s built a city wall.\n" msgstr "%s het 'n stadsmuur gebou.\n" #. Error message #: ../client/common/player.c:551 #, c-format msgid "player_build_add called with BUILD_NONE for user %s\n" msgstr "player_build_add geroep met BUILD_NONE vir gebruiker %s\n" #: ../client/common/player.c:561 #, c-format msgid "%s built a bridge.\n" msgstr "%s het 'n brug gebou.\n" #: ../client/common/player.c:587 #, c-format msgid "%s removed a road.\n" msgstr "%s het 'n pad weggevat.\n" #: ../client/common/player.c:597 #, c-format msgid "%s removed a ship.\n" msgstr "%s het 'n skip weggevat.\n" #: ../client/common/player.c:607 #, c-format msgid "%s removed a settlement.\n" msgstr "%s het 'n dorp weggevat.\n" #: ../client/common/player.c:618 #, c-format msgid "%s removed a city.\n" msgstr "%s het 'n stad weggevat.\n" #: ../client/common/player.c:632 #, c-format msgid "%s removed a city wall.\n" msgstr "%s het 'n stadsmuur verwyder.\n" #. Error message #: ../client/common/player.c:642 #, c-format msgid "player_build_remove called with BUILD_NONE for user %s\n" msgstr "player_build_remove geroep met BUILD_NONE vir gebruiker %s\n" #: ../client/common/player.c:651 #, c-format msgid "%s removed a bridge.\n" msgstr "%s het 'n brug weggevat.\n" #: ../client/common/player.c:682 #, c-format msgid "%s has canceled a ship's movement.\n" msgstr "%s het 'n skip se skuif gekanselleer.\n" #: ../client/common/player.c:685 #, c-format msgid "%s moved a ship.\n" msgstr "%s het 'n skip geskuif.\n" #. tell the user that someone got something #: ../client/common/player.c:705 #, c-format msgid "%s received %s.\n" msgstr "%s het %s ontvang.\n" #: ../client/common/player.c:724 msgid "server asks to lose invalid point.\n" msgstr "bediener vra om ongeldige punt weg te vat.\n" #. tell the user the point is lost #: ../client/common/player.c:730 #, c-format msgid "%s lost %s.\n" msgstr "%s het %s verloor.\n" #: ../client/common/player.c:753 msgid "server asks to move invalid point.\n" msgstr "bediener vra om ongeldige punt te beweeg.\n" #. tell the user someone (1) lost something (2) to someone else (3) #: ../client/common/player.c:760 #, c-format msgid "%s lost %s to %s.\n" msgstr "%s het %s verloor aan %s.\n" #: ../client/common/resource.c:35 msgid "brick" msgstr "baksteen" #: ../client/common/resource.c:35 msgid "Brick" msgstr "Baksteen" #: ../client/common/resource.c:36 msgid "grain" msgstr "graan" #: ../client/common/resource.c:36 msgid "Grain" msgstr "Graan" #: ../client/common/resource.c:37 msgid "ore" msgstr "erts" #: ../client/common/resource.c:37 msgid "Ore" msgstr "Erts" #: ../client/common/resource.c:38 msgid "wool" msgstr "wol" #: ../client/common/resource.c:38 msgid "Wool" msgstr "Wol" #: ../client/common/resource.c:39 msgid "lumber" msgstr "hout" #: ../client/common/resource.c:39 msgid "Lumber" msgstr "Hout" #: ../client/common/resource.c:40 msgid "no resource (bug)" msgstr "geen hulpbron (fout)" #: ../client/common/resource.c:40 msgid "No resource (bug)" msgstr "Geen hulpbron (fout)" #: ../client/common/resource.c:41 msgid "any resource (bug)" msgstr "enige hulpbron (fout)" #: ../client/common/resource.c:41 msgid "Any resource (bug)" msgstr "Enige hulpbron (fout)" #: ../client/common/resource.c:42 msgid "gold" msgstr "goud" #: ../client/common/resource.c:42 ../client/gtk/legend.c:41 msgid "Gold" msgstr "Goud" #: ../client/common/resource.c:47 msgid "a brick card" msgstr "'n baksteenkaart" #: ../client/common/resource.c:47 #, c-format msgid "%d brick cards" msgstr "%d baksteenkaarte" #: ../client/common/resource.c:48 msgid "a grain card" msgstr "'n graankaart" #: ../client/common/resource.c:48 #, c-format msgid "%d grain cards" msgstr "%d graankaarte" #: ../client/common/resource.c:49 msgid "an ore card" msgstr "'n ertskaart" #: ../client/common/resource.c:49 #, c-format msgid "%d ore cards" msgstr "%d ertskaarte" #: ../client/common/resource.c:50 msgid "a wool card" msgstr "'n wolkaart" #: ../client/common/resource.c:50 #, c-format msgid "%d wool cards" msgstr "%d wolkaarte" #: ../client/common/resource.c:51 msgid "a lumber card" msgstr "'n houtkaart" #: ../client/common/resource.c:51 #, c-format msgid "%d lumber cards" msgstr "%d houtkaarte" #: ../client/common/resource.c:139 ../client/common/resource.c:225 msgid "nothing" msgstr "niks" #. Construct "A, B and C" for resources #: ../client/common/resource.c:166 #, c-format msgid "%s and %s" msgstr "%s en %s" #. Construct "A, B and C" for resources #: ../client/common/resource.c:170 #, c-format msgid "%s, %s" msgstr "%s, %s" #: ../client/common/robber.c:62 #, c-format msgid "%s has undone the robber movement.\n" msgstr "%s het die rowerskuif gekanselleer.\n" #: ../client/common/robber.c:65 #, c-format msgid "%s moved the robber.\n" msgstr "%s het die rower geskuif.\n" #: ../client/common/robber.c:75 #, c-format msgid "%s has undone the pirate movement.\n" msgstr "%s het die seerowerskuif gekanselleer.\n" #: ../client/common/robber.c:78 #, c-format msgid "%s moved the pirate.\n" msgstr "%s het die seerower geskuif.\n" #: ../client/common/robber.c:85 #, c-format msgid "%s must move the robber." msgstr "%s moet die rower skuif." #: ../client/common/setup.c:146 #, c-format msgid "Setup for %s.\n" msgstr "Opstelling vir %s.\n" #: ../client/common/setup.c:158 #, c-format msgid "Double setup for %s.\n" msgstr "Dubbele opstelling vir %s.\n" #: ../client/common/turn.c:37 #, c-format msgid "%s rolled %d.\n" msgstr "%s het %d gerol.\n" #: ../client/common/turn.c:50 #, c-format msgid "Begin turn %d for %s.\n" msgstr "Beurt %d vir %s het nou begin.\n" #: ../client/gtk/avahi-browser.c:83 msgid "Select an automatically discovered game" msgstr "Kies 'n spel wat outomaties ontdek is" #. $1=Game title, $2=version, $3=host_name, $4=port #: ../client/gtk/avahi-browser.c:132 #, c-format msgid "%s (%s) on %s:%s" msgstr "%s (%s) op %s:%s" #. Label text #: ../client/gtk/chat.c:73 msgid "Chat" msgstr "Gesels" #: ../client/gtk/chat.c:232 msgid "Beeper test.\n" msgstr "Biepertoets.\n" #: ../client/gtk/chat.c:235 #, c-format msgid "%s beeped you.\n" msgstr "%s het jou gebiep.\n" #: ../client/gtk/chat.c:239 #, c-format msgid "You beeped %s.\n" msgstr "Jy het %s gebiep.\n" #: ../client/gtk/chat.c:245 #, c-format msgid "You could not beep %s.\n" msgstr "Jy kon nie %s biep nie.\n" #: ../client/gtk/chat.c:287 msgid " said: " msgstr " het gesê: " #: ../client/gtk/connect.c:286 #, c-format msgid "Metaserver at %s, port %s" msgstr "Metabediener by %s, poort %s" #: ../client/gtk/connect.c:296 msgid "Finished.\n" msgstr "Klaar.\n" #: ../client/gtk/connect.c:311 ../client/gtk/connect.c:389 #: ../client/gtk/connect.c:408 ../client/gtk/connect.c:979 msgid "The metaserver is not available anymore.\n" msgstr "Die metabediener is nie meer beskikbaar nie.\n" #: ../client/gtk/connect.c:322 ../client/gtk/connect.c:443 #: ../client/gtk/connect.c:770 msgid "The metaserver closed the connection unexpectedly.\n" msgstr "Die metabediener het die verbinding onverwags toegemaak.\n" #: ../client/gtk/connect.c:380 msgid "Receiving game names from the metaserver.\n" msgstr "Besig om name te kry vanaf metabediener.\n" #: ../client/gtk/connect.c:422 #, c-format msgid "New game server requested on %s port %s.\n" msgstr "Nuwe spelbediener aangevra op %s poort %s.\n" #: ../client/gtk/connect.c:432 msgid "Incomplete information about the new game server received.\n" msgstr "Onvolledige inligting oor die spelbediener is ontvang.\n" #: ../client/gtk/connect.c:486 ../client/gtk/connect.c:492 ../server/meta.c:239 #, c-format msgid "Unknown message from the metaserver: %s\n" msgstr "Onbekende boodskap vanaf die metabediener: %s\n" #: ../client/gtk/connect.c:565 ../server/meta.c:178 #, c-format msgid "Receiving data from inactive session: %s\n" msgstr "Besig om data van onaktiewe sessie te ontvang: %s\n" #: ../client/gtk/connect.c:577 ../server/meta.c:192 msgid "Too many metaserver redirects.\n" msgstr "Te veel metabediener herleidings.\n" #: ../client/gtk/connect.c:606 ../server/meta.c:208 #, c-format msgid "Bad redirect line: %s\n" msgstr "Foutiewe verwysing: %s\n" #: ../client/gtk/connect.c:631 #, c-format msgid "The metaserver is too old to create servers (version %d.%d)\n" msgstr "Metabediener te oud om nuwe bedieners te skep (weergawe %d.%d)\n" #: ../client/gtk/connect.c:670 ../client/gtk/connect.c:749 #: ../client/gtk/connect.c:755 #, c-format msgid "Unexpected data from the metaserver: %s\n" msgstr "Onverwagte data vanaf die metabediener: %s\n" #. Sevens rule: normal #: ../client/gtk/connect.c:701 ../client/gtk/settingscreen.c:181 #: ../common/gtk/game-rules.c:89 msgid "Normal" msgstr "Normaal" #. Sevens rule: reroll on 1st 2 turns #: ../client/gtk/connect.c:706 ../client/gtk/settingscreen.c:183 #: ../common/gtk/game-rules.c:95 msgid "Reroll on 1st 2 turns" msgstr "Rol weer op 1ste en 2e beurte" #. Sevens rule: reroll all 7s #: ../client/gtk/connect.c:710 ../client/gtk/settingscreen.c:185 #: ../common/gtk/game-rules.c:102 msgid "Reroll all 7s" msgstr "Rol weer alle 7s" #: ../client/gtk/connect.c:724 msgid "Default" msgstr "Verstek" #: ../client/gtk/connect.c:727 msgid "Random" msgstr "Ewekansig" #: ../client/gtk/connect.c:819 ../server/meta.c:299 #, c-format msgid "Redirected to the metaserver at %s.\n" msgstr "Herlei na die metabediener by %s.\n" #: ../client/gtk/connect.c:824 ../server/meta.c:302 #, c-format msgid "Redirected to the metaserver at %s, port %s.\n" msgstr "Herlei na die metabediener by %s, poort %s.\n" #: ../client/gtk/connect.c:831 msgid "Receiving a list of Pioneers servers from the metaserver.\n" msgstr "Ontvang tans 'n lys van Pioniersbedieners vanaf die meta-bediener.\n" #. Label #: ../client/gtk/connect.c:914 msgid "Number of computer players" msgstr "Aantal robotspelers" #. Tooltip #: ../client/gtk/connect.c:935 msgid "The number of computer players" msgstr "Die aantal robotspelers" #. Canceled retrieving information #. * from the metaserver #: ../client/gtk/connect.c:957 ../client/gtk/connect.c:992 #: ../client/gtk/connect.c:1133 msgid "Canceled.\n" msgstr "Gekanselleer.\n" #: ../client/gtk/connect.c:960 msgid "Requesting new game server.\n" msgstr "Nuwe spelbediener word aangevra.\n" #: ../client/gtk/connect.c:1015 ../server/gtk/main.c:370 ../server/server.c:123 #, c-format msgid "Error starting %s: %s\n" msgstr "Fout tydens begin van %s: %s\n" #. Dialog caption #: ../client/gtk/connect.c:1037 msgid "Create a Public Game" msgstr "Skep 'n openbare spel" #. Button text #: ../client/gtk/connect.c:1040 ../client/gtk/connect.c:1191 #: ../client/gtk/connect.c:1440 ../client/gtk/connect.c:1744 #: ../client/gtk/name.c:147 ../editor/gtk/editor.c:1521 #: ../editor/gtk/editor.c:1562 ../editor/gtk/editor.c:1611 #, fuzzy msgid "_Cancel" msgstr "Gekanselleer.\n" #. Button text #: ../client/gtk/connect.c:1042 #, fuzzy msgid "C_reate" msgstr "Skep spel" #. Dialog caption #: ../client/gtk/connect.c:1182 msgid "Join a Public Game" msgstr "Betree 'n openbare spel" #. Button text #: ../client/gtk/connect.c:1185 msgid "_Refresh" msgstr "" #. Button text #: ../client/gtk/connect.c:1188 msgid "_New Remote Game" msgstr "_Nuwe afgeleë spel" #. Button text #: ../client/gtk/connect.c:1194 ../client/gtk/connect.c:1748 #, fuzzy msgid "_Join" msgstr "Sluit aan" #. Tooltip #: ../client/gtk/connect.c:1237 msgid "Select a game to join" msgstr "Kies 'n spel om te betree" #. Column name #: ../client/gtk/connect.c:1241 msgid "Map Name" msgstr "Kaartnaam" #. Tooltip for column 'Map Name' #: ../client/gtk/connect.c:1249 msgid "Name of the game" msgstr "Naam van die spel" #. Column name #: ../client/gtk/connect.c:1255 msgid "Curr" msgstr "Tans" #. Tooltip for column 'Curr' #: ../client/gtk/connect.c:1262 msgid "Number of players in the game" msgstr "Aantal spelers in die spel" #. Column name #: ../client/gtk/connect.c:1268 msgid "Max" msgstr "Maks" #. Tooltip for column 'Max' #: ../client/gtk/connect.c:1275 msgid "Maximum players for the game" msgstr "Maksimum spelers vir die spel" #. Column name #: ../client/gtk/connect.c:1279 msgid "Terrain" msgstr "Terrein" #. Tooltip for column 'Terrain' #: ../client/gtk/connect.c:1287 msgid "Random of default terrain" msgstr "Geskommelde verstekterrein" #. Column name #: ../client/gtk/connect.c:1293 msgid "Vic. Points" msgstr "Wenpunte" #. Tooltip for column 'Vic. Points' #: ../client/gtk/connect.c:1300 msgid "Points needed to win" msgstr "Punte nodig om te wen" #. Column name #: ../client/gtk/connect.c:1304 msgid "Sevens Rule" msgstr "Sewes-reël" #. Tooltip for column 'Sevens Rule' #. Label #: ../client/gtk/connect.c:1312 ../common/gtk/game-rules.c:81 msgid "Sevens rule" msgstr "Sewes-reël" #. Column name #: ../client/gtk/connect.c:1316 msgid "Host" msgstr "Gasheer" #. Tooltip for column 'Host' #: ../client/gtk/connect.c:1325 msgid "Host of the game" msgstr "Gasheer van die spel" #. Column name #: ../client/gtk/connect.c:1331 msgid "Port" msgstr "Poort" #. Tooltip for column 'Port' #: ../client/gtk/connect.c:1339 msgid "Port of the game" msgstr "Poort van die spel" #. Column name #: ../client/gtk/connect.c:1343 msgid "Version" msgstr "Weergawe" #. Tooltip for column 'Version' #: ../client/gtk/connect.c:1351 msgid "Version of the host" msgstr "Weergawe van die gasheer" #. Dialog caption #: ../client/gtk/connect.c:1436 msgid "Start a New Game" msgstr "Begin 'n nuwe spel" #. Label #. Commandline option of client: name of the player #: ../client/gtk/connect.c:1464 ../client/gtk/offline.c:57 msgid "Player name" msgstr "Spelernaam" #. Tooltip #: ../client/gtk/connect.c:1480 msgid "Enter your name" msgstr "Tik jou naam" #. Check button #. Role of the player: spectator #: ../client/gtk/connect.c:1483 ../server/gtk/main.c:682 msgid "Spectator" msgstr "Toeskouer" #: ../client/gtk/connect.c:1493 msgid "Check if you want to be a spectator" msgstr "Merk as jy 'n toeskouer wil wees" #. Label #: ../client/gtk/connect.c:1504 msgid "Avahi" msgstr "Avahi" #. Button #: ../client/gtk/connect.c:1511 msgid "Join" msgstr "Sluit aan" #. Tooltip for button Join #: ../client/gtk/connect.c:1515 msgid "Join an automatically discovered game" msgstr "Sluit aan by 'n spel wat outomaties ontdek is" #. Label #. metaserver label #: ../client/gtk/connect.c:1542 ../server/gtk/main.c:593 msgid "Metaserver" msgstr "Meta-bediener" #. Button #: ../client/gtk/connect.c:1564 msgid "Join Public Game" msgstr "Betree openbare spel" #. Tooltip #: ../client/gtk/connect.c:1570 msgid "Join a public game" msgstr "Betree 'n openbare spel" #. Button #: ../client/gtk/connect.c:1575 msgid "Create Game" msgstr "Skep spel" #. Tooltip #: ../client/gtk/connect.c:1579 msgid "Create a game" msgstr "Skep 'n spel" #. Button #: ../client/gtk/connect.c:1588 msgid "Join Private Game" msgstr "Betree privaatspel" #. Tooltip #. Dialog caption #: ../client/gtk/connect.c:1592 ../client/gtk/connect.c:1737 msgid "Join a private game" msgstr "Betree 'n private spel" #. Label #. Commandline option of client: hostname of the server #: ../client/gtk/connect.c:1777 ../client/gtk/offline.c:51 msgid "Server host" msgstr "Bedienernaam" #. Tooltip #: ../client/gtk/connect.c:1791 msgid "Name of the host of the game" msgstr "Naam van die gasheermasjien van die spel" #. Label #. Commandline option of client: port of the server #. server port label #: ../client/gtk/connect.c:1795 ../client/gtk/offline.c:54 #: ../server/gtk/main.c:555 msgid "Server port" msgstr "Bedienerpoort" #. Tooltip #: ../client/gtk/connect.c:1812 msgid "Port of the host of the game" msgstr "Poort van die gasheermasjien van die spel" #. Tooltip #. Label #: ../client/gtk/connect.c:1854 ../client/gtk/connect.c:1857 msgid "Recent games" msgstr "Onlangse spelle" #. Caption for list of bought development cards #: ../client/gtk/develop.c:130 msgid "Development cards" msgstr "Ontwikkelingskaarte" #. Button text: play development card #: ../client/gtk/develop.c:163 msgid "Play Card" msgstr "Speel kaart" #. Dialog caption #: ../client/gtk/discard.c:77 msgid "Discard Resources" msgstr "Gooi hulpbronne weg" #. Button text #: ../client/gtk/discard.c:83 ../client/gtk/gameover.c:38 #: ../client/gtk/gold.c:78 ../client/gtk/monopoly.c:88 ../client/gtk/name.c:150 #: ../client/gtk/plenty.c:67 ../editor/gtk/editor.c:1614 msgid "_OK" msgstr "" #: ../client/gtk/discard.c:101 #, c-format msgid "You must discard %d resource" msgid_plural "You must discard %d resources" msgstr[0] "Jy moet %d hulpbron weggooi" msgstr[1] "Jy moet %d hulpbronne weggooi" #. Label #: ../client/gtk/discard.c:110 msgid "Total discards" msgstr "Totaal weggegooi" #. Caption for list of player that must discard cards #: ../client/gtk/discard.c:235 msgid "Waiting for players to discard" msgstr "Wag tans dat spelers hulpbronne opgee" #. Dialog caption #: ../client/gtk/gameover.c:34 msgid "Game Over" msgstr "Spel verby" #: ../client/gtk/gameover.c:52 #, c-format msgid "%s has won the game with %d victory points!" msgstr "%s het die spel gewen met %d oorwinningspunte!" #: ../client/gtk/gameover.c:58 #, c-format msgid "All praise %s, Lord of the known world!" msgstr "Geluk aan %s, heerser van hierdie wêreld!" #. Dialog caption #: ../client/gtk/gold.c:72 msgid "Choose Resources" msgstr "Kies hulpbronne" #: ../client/gtk/gold.c:96 #, c-format msgid "You may choose %d resource" msgid_plural "You may choose %d resources" msgstr[0] "Jy mag %d hulpbron kies" msgstr[1] "Jy mag %d hulpbronne kies" #. Text for total in choose gold dialog #. Text for total in year of plenty dialog #: ../client/gtk/gold.c:105 ../client/gtk/plenty.c:103 msgid "Total resources" msgstr "Hulpbrontotaal" #. Caption for list of player that must choose gold #: ../client/gtk/gold.c:217 msgid "Waiting for players to choose" msgstr "Wag tans vir spelers om te kies" #. Menu entry #: ../client/gtk/gui.c:224 ../server/gtk/main.c:91 msgid "_Game" msgstr "_Spel" #. Menu entry #: ../client/gtk/gui.c:227 msgid "_New Game" msgstr "_Nuwe Spel" #. Tooltip for New Game menu entry #: ../client/gtk/gui.c:229 msgid "Start a new game" msgstr "Begin 'n nuwe spel" #. Menu entry #: ../client/gtk/gui.c:232 msgid "_Leave Game" msgstr "Ver_laat spel" #. Tooltip for Leave Game menu entry #: ../client/gtk/gui.c:234 msgid "Leave this game" msgstr "Verlaat hierdie spel" #. Menu entry #: ../client/gtk/gui.c:238 msgid "_Admin" msgstr "_Admin" #. Tooltip for Admin menu entry #: ../client/gtk/gui.c:240 msgid "Administer Pioneers server" msgstr "Administreer Pioniers-bediener" #. Menu entry #: ../client/gtk/gui.c:244 msgid "_Player Name" msgstr "S_pelernaam" #. Tooltip for Player Name menu entry #: ../client/gtk/gui.c:246 msgid "Change your player name" msgstr "Verander jou spelernaam" #. Menu entry #: ../client/gtk/gui.c:249 msgid "L_egend" msgstr "Uit_eensetting" #. Tooltip for Legend menu entry #: ../client/gtk/gui.c:251 msgid "Terrain legend and building costs" msgstr "Terreinuiteensetting en boukostes" #. Menu entry #: ../client/gtk/gui.c:254 msgid "_Game Settings" msgstr "_Spel-instellings" #. Tooltip for Game Settings menu entry #: ../client/gtk/gui.c:256 msgid "Settings for the current game" msgstr "Instellings vir die huidige spel" #. Menu entry #: ../client/gtk/gui.c:259 msgid "_Dice Histogram" msgstr "_Histogram van kansgetalle" #. Tooltip for Dice Histogram menu entry #: ../client/gtk/gui.c:261 msgid "Histogram of dice rolls" msgstr "Histogram van kansgetalle" #. Menu entry #: ../client/gtk/gui.c:264 ../editor/gtk/editor.c:1759 ../server/gtk/main.c:103 msgid "_Quit" msgstr "_Verlaat" #. Tooltip for Quit menu entry #. Tooltop for Quit menu entry #: ../client/gtk/gui.c:266 ../server/gtk/main.c:105 msgid "Quit the program" msgstr "Verlaat die program" #. Menu entry #: ../client/gtk/gui.c:269 msgid "_Actions" msgstr "_Aksies" #. Menu entry #: ../client/gtk/gui.c:272 msgid "Roll Dice" msgstr "Gooi" #. Tooltip for Roll Dice menu entry #: ../client/gtk/gui.c:274 msgid "Roll the dice" msgstr "Gooi die kanssteentjies" #. Menu entry #. Tooltip for Trade menu entry #. Tab page name #: ../client/gtk/gui.c:277 ../client/gtk/gui.c:279 ../client/gtk/gui.c:710 msgid "Trade" msgstr "Ruilhandel" #. Menu entry #. Tooltip for Undo menu entry #: ../client/gtk/gui.c:283 ../client/gtk/gui.c:285 msgid "Undo" msgstr "Herroep" #. Menu entry #. Tooltip for Finish menu entry #: ../client/gtk/gui.c:288 ../client/gtk/gui.c:290 msgid "Finish" msgstr "Klaar" #. Menu entry #: ../client/gtk/gui.c:293 ../client/gtk/legend.c:189 #: ../editor/gtk/game-buildings.c:10 msgid "Road" msgstr "Pad" #. Tooltip for Road menu entry #: ../client/gtk/gui.c:295 msgid "Build a road" msgstr "Bou 'n pad" #. Menu entry #: ../client/gtk/gui.c:298 ../client/gtk/legend.c:193 #: ../editor/gtk/game-buildings.c:10 msgid "Ship" msgstr "Skip" #. Tooltip for Ship menu entry #: ../client/gtk/gui.c:300 msgid "Build a ship" msgstr "Bou 'n skip" #. Menu entry #: ../client/gtk/gui.c:303 msgid "Move Ship" msgstr "Skuif 'n skip" #. Tooltip for Move Ship menu entry #: ../client/gtk/gui.c:305 msgid "Move a ship" msgstr "Bou 'n skip" #. Menu entry #: ../client/gtk/gui.c:308 ../client/gtk/legend.c:196 #: ../editor/gtk/game-buildings.c:10 msgid "Bridge" msgstr "Brug" #. Tooltip for Bridge menu entry #: ../client/gtk/gui.c:310 msgid "Build a bridge" msgstr "Bou 'n brug" #. Menu entry #: ../client/gtk/gui.c:313 ../client/gtk/legend.c:198 ../client/gtk/player.c:52 #: ../editor/gtk/game-buildings.c:10 msgid "Settlement" msgstr "Dorp" #. Tooltip for Settlement menu entry #: ../client/gtk/gui.c:316 msgid "Build a settlement" msgstr "Bou 'n dorp" #. Menu entry #: ../client/gtk/gui.c:319 ../client/gtk/legend.c:199 ../client/gtk/player.c:53 #: ../editor/gtk/game-buildings.c:11 msgid "City" msgstr "Stad" #. Tooltip for City menu entry #: ../client/gtk/gui.c:321 msgid "Build a city" msgstr "Bou 'n stad" #. Menu entry #: ../client/gtk/gui.c:324 msgid "Develop" msgstr "Ontwikkel" #. Tooltip for Develop menu entry #: ../client/gtk/gui.c:326 msgid "Buy a development card" msgstr "Koop 'n ontwikkelingskaart" #. Menu entry #: ../client/gtk/gui.c:329 msgid "City Wall" msgstr "Stadsmuur" #. Tooltip for City Wall menu entry #: ../client/gtk/gui.c:331 msgid "Build a city wall" msgstr "Bou 'n stadsmuur" #. Menu entry #: ../client/gtk/gui.c:335 msgid "_Settings" msgstr "_Stellings" #. Menu entry #: ../client/gtk/gui.c:338 msgid "Prefere_nces" msgstr "Voor_keure" #. Tooltip for Preferences menu entry #: ../client/gtk/gui.c:340 msgid "Configure the application" msgstr "Konfigureer die toepassing" #. Menu entry #: ../client/gtk/gui.c:344 ../editor/gtk/editor.c:1721 msgid "_View" msgstr "_Bekyk" #. Menu entry #: ../client/gtk/gui.c:347 ../editor/gtk/editor.c:1765 msgid "_Reset" msgstr "He_rstel" #. Tooltip for Reset menu entry #: ../client/gtk/gui.c:350 ../editor/gtk/editor.c:1768 msgid "View the full map" msgstr "Bekyk die hele kaart" #. Menu entry #: ../client/gtk/gui.c:353 ../editor/gtk/editor.c:1771 msgid "_Center" msgstr "_Sentreer" #. Tooltip for Center menu entry #: ../client/gtk/gui.c:355 ../editor/gtk/editor.c:1773 msgid "Center the map" msgstr "Sentreer die kaart" #. Menu entry #: ../client/gtk/gui.c:359 ../client/gtk/gui.c:368 ../editor/gtk/editor.c:1724 #: ../server/gtk/main.c:94 msgid "_Help" msgstr "_Hulp" #. Menu entry #: ../client/gtk/gui.c:362 msgid "_About Pioneers" msgstr "_Aangaande Pioniers" #. Tooltip for About Pioneers menu entry #: ../client/gtk/gui.c:364 msgid "Information about Pioneers" msgstr "Inligting oor Pioniers" #. Tooltip for Help menu entry #: ../client/gtk/gui.c:370 ../client/gtk/gui.c:1258 msgid "Show the manual" msgstr "Wys die handleiding" #. Menu entry #: ../client/gtk/gui.c:378 ../editor/gtk/editor.c:1791 msgid "_Fullscreen" msgstr "_Volskerm" #. Tooltip for Fullscreen menu entry #: ../client/gtk/gui.c:381 ../editor/gtk/editor.c:1794 msgid "Set window to full screen mode" msgstr "Stel die venster na volskerm modus" #. Menu entry #: ../client/gtk/gui.c:386 msgid "_Toolbar" msgstr "_Nutsbalk" #. Tooltip for Toolbar menu entry #: ../client/gtk/gui.c:388 msgid "Show or hide the toolbar" msgstr "Wys of verberg die nutsbalk" #. Victory points target in statusbar #: ../client/gtk/gui.c:491 #, c-format msgid "Points needed to win: %i" msgstr "Punte nodig om te wen: %i" #: ../client/gtk/gui.c:577 msgid "Messages" msgstr "Boodskappe" #. Tab page name #: ../client/gtk/gui.c:703 ../editor/gtk/editor.c:1946 msgid "Map" msgstr "Landkaart" #. Tooltip #: ../client/gtk/gui.c:712 msgid "Finish trading" msgstr "Stop met ruilhandel" #. Tab page name #. Button text #: ../client/gtk/gui.c:722 ../client/gtk/quote.c:339 msgid "Quote" msgstr "Kwotasie" #. Tooltip #: ../client/gtk/gui.c:724 msgid "Reject domestic trade" msgstr "Verwerp plaaslike handel" #. Tab page name #. Dialog caption #: ../client/gtk/gui.c:734 ../client/gtk/legend.c:249 msgid "Legend" msgstr "Uiteensetting" #. Tab page name, shown for the splash screen #: ../client/gtk/gui.c:744 msgid "Welcome to Pioneers" msgstr "Welkom by Pioniers" #. Caption of preferences dialog #: ../client/gtk/gui.c:1028 msgid "Pioneers Preferences" msgstr "Pioniers voorkeure" #. Button text #: ../client/gtk/gui.c:1034 ../client/gtk/histogram.c:252 #: ../client/gtk/legend.c:253 ../client/gtk/settingscreen.c:413 msgid "_Close" msgstr "" #. Label for changing the theme, in the preferences dialog #: ../client/gtk/gui.c:1059 msgid "Theme:" msgstr "Tema:" #. Tooltip for changing the theme in the preferences dialog #: ../client/gtk/gui.c:1082 msgid "Choose one of the themes" msgstr "Kies een van die temas" #. Label for the option to show the legend #: ../client/gtk/gui.c:1086 msgid "Show legend" msgstr "Wys uiteensetting" #. Tooltip for the option to show the legend #: ../client/gtk/gui.c:1096 msgid "Show the legend as a page beside the map" msgstr "Wys die uiteensetting as 'n bladsy langs die landkaart" #. Label for the option to display log messages in color #: ../client/gtk/gui.c:1101 msgid "Messages with color" msgstr "Boodskappe in kleur" #. Tooltip for the option to display log messages in color #: ../client/gtk/gui.c:1111 msgid "Show new messages with color" msgstr "Wys nuwe boodskappe in kleur" #. Label for the option to display chat in color of player #: ../client/gtk/gui.c:1116 msgid "Chat in color of player" msgstr "Gesels in die kleur van die speler" #. Tooltip for the option to display chat in color of player #: ../client/gtk/gui.c:1127 msgid "Show new chat messages in the color of the player" msgstr "Wys nuwe boodskappe in die kleur van die speler" #. Label for the option to display the summary with colors #: ../client/gtk/gui.c:1132 msgid "Summary with color" msgstr "Opsomming met kleure" #. Tooltip for the option to display the summary with colors #: ../client/gtk/gui.c:1143 msgid "Use colors in the player summary" msgstr "Gebruikl kleure in die speleropsomming" #. Label for the option to display keyboard accelerators in the toolbar #: ../client/gtk/gui.c:1148 msgid "Toolbar with shortcuts" msgstr "Nutsbalk met kortpaaie" #. Tooltip for the option to display keyboard accelerators in the toolbar #: ../client/gtk/gui.c:1158 msgid "Show keyboard shortcuts in the toolbar" msgstr "Wys sleutelbordkortpaaie in die nutsbalk" #. Label for the option to disable all sounds #: ../client/gtk/gui.c:1164 msgid "Silent mode" msgstr "Stilmodus" #. Tooltip for the option to disable all sounds #: ../client/gtk/gui.c:1170 msgid "In silent mode no sounds are made" msgstr "In stilmodus word geen klank gemaak nie" #. Label for the option to announce when players/spectators enter #: ../client/gtk/gui.c:1176 msgid "Announce new players" msgstr "Kondig nuwe spelers aan" #. Tooltip for the option to use sound when players/spectators enter #: ../client/gtk/gui.c:1186 msgid "Make a sound when a new player or spectator enters the game" msgstr "Maak 'n geluid wanner 'n nuwe speler of toeskouer die spel betree" #. Label for the option to use the notifications. #: ../client/gtk/gui.c:1198 msgid "Show notifications" msgstr "Wys aankondigings" #. Tooltip for notifications option. #: ../client/gtk/gui.c:1208 msgid "Show notifications when it's your turn or when new trade is available" msgstr "" "Wys aankondigings wanneer dit jou beurt is of wanneer handel beskikbaar is" #. Label for the option to use the 16:9 layout. #: ../client/gtk/gui.c:1214 msgid "Use 16:9 layout" msgstr "Gebruik 16:9 uitleg" #. Tooltip for 16:9 option. #: ../client/gtk/gui.c:1224 msgid "Use a 16:9 friendly layout for the window" msgstr "Gebruik 'n 16:9-vriendelike uitleg vir die venster" #. Caption of about box #: ../client/gtk/gui.c:1233 msgid "About Pioneers" msgstr "Aangaande Pioniers" #. Initial text in status bar #: ../client/gtk/gui.c:1544 ../client/gtk/offline.c:107 msgid "Welcome to Pioneers!" msgstr "Welkom by Pioniers!" #. The name of the application #. Name of the application #: ../client/gtk/gui.c:1606 ../client/gtk/offline.c:209 #: ../client/gtk/pioneers.desktop.in.h:1 msgid "Pioneers" msgstr "Pioniers" #. Dialog caption #: ../client/gtk/histogram.c:248 msgid "Dice Histogram" msgstr "Kansgetalhistogram" #: ../client/gtk/interface.c:111 msgid "Ship movement canceled." msgstr "Skip-skuif gekanselleer." #: ../client/gtk/interface.c:119 ../client/gtk/interface.c:120 msgid "Select a new location for the ship." msgstr "Kies 'n nuwe plek vir die skip." #. Notification #: ../client/gtk/interface.c:919 msgid "It is your turn to setup." msgstr "Dit is jou beurt om op te stel." #: ../client/gtk/legend.c:34 msgid "Hill" msgstr "Heuwel" #: ../client/gtk/legend.c:35 msgid "Field" msgstr "Veld" #: ../client/gtk/legend.c:36 msgid "Mountain" msgstr "Berg" #: ../client/gtk/legend.c:37 msgid "Pasture" msgstr "Weiveld" #: ../client/gtk/legend.c:38 msgid "Forest" msgstr "Woud" #: ../client/gtk/legend.c:39 msgid "Desert" msgstr "Woestyn" #: ../client/gtk/legend.c:40 msgid "Sea" msgstr "See" #. Label #: ../client/gtk/legend.c:132 msgid "Terrain yield" msgstr "Terrein-opbrengs" #. Label #: ../client/gtk/legend.c:165 msgid "Building costs" msgstr "Boukoste" #: ../client/gtk/legend.c:203 ../client/gtk/player.c:54 #: ../editor/gtk/game-buildings.c:11 msgid "City wall" msgstr "Stadsmuur" #: ../client/gtk/legend.c:206 ../client/gtk/player.c:65 msgid "Development card" msgstr "Ontwikkelingskaart" #. Dialog caption #. Name of the development card #: ../client/gtk/monopoly.c:84 ../common/cards.c:86 msgid "Monopoly" msgstr "Monopolie" #. Label #: ../client/gtk/monopoly.c:106 msgid "Select the resource you wish to monopolize." msgstr "Kies die hulpbron wat jy wil monopoliseer." #. Dialog caption #: ../client/gtk/name.c:141 msgid "Change Player Name" msgstr "Verander spelernaam" #. Label #: ../client/gtk/name.c:172 msgid "Player name:" msgstr "Spelernaam:" #. Label: set player icon preferences #: ../client/gtk/name.c:234 msgid "Face:" msgstr "Gesig:" #. Label: set player icon preferences #: ../client/gtk/name.c:250 msgid "Variant:" msgstr "Variant:" #: ../client/gtk/offline.c:61 msgid "Connect as a spectator" msgstr "Skakel in as 'n toeskouer" #: ../client/gtk/offline.c:64 msgid "Metaserver Host" msgstr "Metabediener masjien" #: ../client/gtk/offline.c:78 msgid "Select a game to join." msgstr "Kies 'n spel om te betree." #: ../client/gtk/offline.c:94 msgid "Connecting" msgstr "Besig om te koppel" #. Long description in the commandline for pioneers: help #: ../client/gtk/offline.c:183 msgid "- Play a game of Pioneers" msgstr "- Speel 'n Pioniers-spel" #: ../client/gtk/pioneers.desktop.in.h:2 msgid "Play a game of Pioneers" msgstr "Speel 'n Pioniers-spel" #: ../client/gtk/pioneers.desktop.in.h:3 msgid "game;board;play;Pioneers;Settlers;" msgstr "spel;bord;speel;Pioniers;Setlaars;" #: ../client/gtk/player.c:52 msgid "Settlements" msgstr "Dorpe" #: ../client/gtk/player.c:53 msgid "Cities" msgstr "Stede" #: ../client/gtk/player.c:54 msgid "City walls" msgstr "Stadsmure" #: ../client/gtk/player.c:55 msgid "Largest army" msgstr "Grootste weermag" #: ../client/gtk/player.c:56 msgid "Longest road" msgstr "Langste pad" #. Name of the development card #: ../client/gtk/player.c:57 ../common/cards.c:92 msgid "Chapel" msgstr "Kapel" #: ../client/gtk/player.c:57 msgid "Chapels" msgstr "Kapelle" #. Name of the development card #: ../client/gtk/player.c:58 ../common/cards.c:95 msgid "Pioneer university" msgstr "Pionier universiteit" #: ../client/gtk/player.c:58 msgid "Pioneer universities" msgstr "Pionier universiteite" #. Name of the development card #: ../client/gtk/player.c:60 ../common/cards.c:98 msgid "Governor's house" msgstr "Ampswoning" #: ../client/gtk/player.c:60 msgid "Governor's houses" msgstr "Ampswonings" #. Name of the development card #: ../client/gtk/player.c:61 ../common/cards.c:101 msgid "Library" msgstr "Biblioteek" #: ../client/gtk/player.c:61 msgid "Libraries" msgstr "Biblioteke" #. Name of the development card #: ../client/gtk/player.c:62 ../common/cards.c:104 msgid "Market" msgstr "Mark" #: ../client/gtk/player.c:62 msgid "Markets" msgstr "Markte" #. Name of the development card #: ../client/gtk/player.c:63 ../common/cards.c:107 msgid "Soldier" msgstr "Soldaat" #: ../client/gtk/player.c:63 msgid "Soldiers" msgstr "Soldate" #: ../client/gtk/player.c:64 msgid "Resource card" msgstr "Hulpbronkaart" #: ../client/gtk/player.c:64 msgid "Resource cards" msgstr "Hulpbronkaarte" #. Caption #: ../client/gtk/player.c:65 ../editor/gtk/editor.c:1305 msgid "Development cards" msgstr "Ontwikkelingskaarte" #. Caption for the overview of the points and card of other players #: ../client/gtk/player.c:559 msgid "Player summary" msgstr "Speler-opsomming" #. Dialog caption #: ../client/gtk/plenty.c:61 msgid "Year of Plenty" msgstr "Oorvloedjaar" #: ../client/gtk/plenty.c:92 msgid "Please choose one resource from the bank" msgstr "Kies asb. een hulpbron van die bank" #: ../client/gtk/plenty.c:95 msgid "Please choose two resources from the bank" msgstr "Kies asb. twee hulpbronne van die bank" #: ../client/gtk/plenty.c:97 msgid "The bank is empty" msgstr "Die bank is leeg" #: ../client/gtk/quote.c:187 #, c-format msgid "%s has %s, and is looking for %s" msgstr "%s het %s, en wil graag %s hê" #. Notification #: ../client/gtk/quote.c:217 #, c-format msgid "New offer from %s." msgstr "Nuwe aanbod van %s." #. Notification #: ../client/gtk/quote.c:242 #, c-format msgid "Offer from %s." msgstr "Aanbod van %s." #. Label #. Frame title, trade: I want to trade these resources #: ../client/gtk/quote.c:316 ../client/gtk/trade.c:524 msgid "I want" msgstr "Ek vra" #. Label #. Frame title, trade: I want these resources in return #: ../client/gtk/quote.c:326 ../client/gtk/trade.c:530 msgid "Give them" msgstr "Ek gee" #. Button text #: ../client/gtk/quote.c:345 msgid "Delete" msgstr "Vee uit" #. Button text #: ../client/gtk/quote.c:370 msgid "Reject Domestic Trade" msgstr "Verwerp plaaslike handel" #. Now create columns #. Table header: Player who trades #. Role of the player: player #: ../client/gtk/quote-view.c:170 ../server/gtk/main.c:684 msgid "Player" msgstr "Speler" #. Table header: Quote #: ../client/gtk/quote-view.c:185 msgid "Quotes" msgstr "Kwotasies" #. trade: maritime quote: %1 resources of type %2 for #. * one resource of type %3 #: ../client/gtk/quote-view.c:303 #, c-format msgid "%d:1 %s for %s" msgstr "%d:1 %s vir %s" #. Trade: a player has rejected trade #: ../client/gtk/quote-view.c:442 msgid "Rejected trade" msgstr "Handel verwerp" #. Caption for overview of the resources of the player #: ../client/gtk/resource.c:71 msgid "Resources" msgstr "Hulpbronne" #. Label #: ../client/gtk/resource.c:86 msgid "Total" msgstr "Totaal" #. Tooltip for the amount of resources in the hand #: ../client/gtk/resource-table.c:180 msgid "Amount in hand" msgstr "Aantal beskikbaar" #. Button for decreasing the selected amount #: ../client/gtk/resource-table.c:185 msgid "" msgstr "meer>" #. Tooltip for increasing the selected amount #: ../client/gtk/resource-table.c:226 msgid "Increase the selected amount" msgstr "Vermeerder die hoeveelheid" #. Tooltip for the selected amount #: ../client/gtk/resource-table.c:243 msgid "Selected amount" msgstr "Gekose hoeveelheid" #. Tooltip for the total selected amount #: ../client/gtk/resource-table.c:288 msgid "Total selected amount" msgstr "Die huidig geselekteerde lêernaam" #. Tooltip when the bank cannot be emptied #: ../client/gtk/resource-table.c:307 msgid "The bank cannot be emptied" msgstr "Die bank kan nie leeggemaak word nie" #: ../client/gtk/settingscreen.c:74 msgid "Yes" msgstr "Ja" #: ../client/gtk/settingscreen.c:76 ../client/gtk/settingscreen.c:240 msgid "No" msgstr "Nee" #: ../client/gtk/settingscreen.c:87 ../client/gtk/settingscreen.c:187 msgid "Unknown" msgstr "Onbekend" #: ../client/gtk/settingscreen.c:121 msgid "No game in progress..." msgstr "Geen spel is tans besig nie..." #. Label #: ../client/gtk/settingscreen.c:132 msgid "General settings" msgstr "Algemene instellings" #: ../client/gtk/settingscreen.c:149 msgid "Number of players:" msgstr "Aantal spelers:" #: ../client/gtk/settingscreen.c:153 msgid "Victory point target:" msgstr "Wenpunteteiken:" #: ../client/gtk/settingscreen.c:157 msgid "Random terrain:" msgstr "Geskommelde verstekterrein:" #: ../client/gtk/settingscreen.c:161 msgid "Allow trade between players:" msgstr "Laat ruilhandel toe tussen spelers:" #: ../client/gtk/settingscreen.c:166 msgid "Allow trade only before building or buying:" msgstr "Laat ruilhandel slegs toe voor bou of koop:" #: ../client/gtk/settingscreen.c:171 msgid "Check victory only at end of turn:" msgstr "Toets slegs aan die einde van 'n beurt vir oorwinning:" #: ../client/gtk/settingscreen.c:176 msgid "Amount of each resource:" msgstr "Aantal van elke hulpbron:" #: ../client/gtk/settingscreen.c:190 msgid "Sevens rule:" msgstr "Sewes-reël:" #: ../client/gtk/settingscreen.c:196 msgid "Use dice deck instead of dice:" msgstr "Gebruik 'n stel van kansgetalkaarte in plaas van nuwe kansgetalle:" #: ../client/gtk/settingscreen.c:201 msgid "Number of dice decks:" msgstr "Aantal stelle kansgetalkaarte:" #: ../client/gtk/settingscreen.c:207 msgid "Number of dice cards removed after shuffling:" msgstr "Aantal ewekansige kaarte wat verwyder word na skommeling:" #: ../client/gtk/settingscreen.c:214 msgid "Use the pirate to block ships:" msgstr "Gebruik die seerower om skepe te blokkeer:" #: ../client/gtk/settingscreen.c:243 msgid "Island discovery bonuses:" msgstr "Eiland-ontdekbonusse:" #. Label #: ../client/gtk/settingscreen.c:260 msgid "Building quotas" msgstr "Boukwotas" #: ../client/gtk/settingscreen.c:277 msgid "Roads:" msgstr "Paaie:" #: ../client/gtk/settingscreen.c:283 msgid "Settlements:" msgstr "Dorpe:" #: ../client/gtk/settingscreen.c:289 msgid "Cities:" msgstr "Stede:" #: ../client/gtk/settingscreen.c:295 msgid "City walls:" msgstr "Stadsmure:" #: ../client/gtk/settingscreen.c:301 msgid "Ships:" msgstr "Skepe:" #: ../client/gtk/settingscreen.c:307 msgid "Bridges:" msgstr "Brûe:" #. Label #: ../client/gtk/settingscreen.c:320 msgid "Development card deck" msgstr "Stapel van ontwikkelingskaarte" #: ../client/gtk/settingscreen.c:336 msgid "Road building cards:" msgstr "Padboukaarte:" #: ../client/gtk/settingscreen.c:340 msgid "Monopoly cards:" msgstr "Monopoliekaarte:" #: ../client/gtk/settingscreen.c:344 msgid "Year of plenty cards:" msgstr "Oorvloedjaarkaarte:" #: ../client/gtk/settingscreen.c:348 msgid "Chapel cards:" msgstr "Kapelkaarte:" #: ../client/gtk/settingscreen.c:352 msgid "Pioneer university cards:" msgstr "Pionier universiteitkaarte:" #: ../client/gtk/settingscreen.c:356 msgid "Governor's house cards:" msgstr "Ampswoningkaarte:" #: ../client/gtk/settingscreen.c:360 msgid "Library cards:" msgstr "Biblioteekkaarte:" #: ../client/gtk/settingscreen.c:364 msgid "Market cards:" msgstr "Markkaarte:" #: ../client/gtk/settingscreen.c:368 msgid "Soldier cards:" msgstr "Soldaatkaarte:" #. Dialog caption #: ../client/gtk/settingscreen.c:407 msgid "Current Game Settings" msgstr "Huidige spelinstellings" #. trade: you ask for something for free #: ../client/gtk/trade.c:205 #, c-format msgid "ask for %s for free" msgstr "vra vir gratis %s" #. trade: you give something away for free #: ../client/gtk/trade.c:210 #, c-format msgid "give %s for free" msgstr "gee %s gratis" #. trade: you trade something for something else #: ../client/gtk/trade.c:215 #, c-format msgid "give %s for %s" msgstr "gee %s vir %s" #. I want some resources, and give them some resources #: ../client/gtk/trade.c:242 #, c-format msgid "I want %s, and give them %s" msgstr "Ek vra %s en sal %s gee" #. Notification #: ../client/gtk/trade.c:348 #, c-format msgid "Quote received from %s." msgstr "Aanhaling ontvang vanaf %s." #. Button text, trade: call for quotes from other players #: ../client/gtk/trade.c:539 msgid "_Call for Quotes" msgstr "_Vra vir kwotasies" #. Button text: Trade page, accept selected quote #: ../client/gtk/trade.c:568 msgid "_Accept Quote" msgstr "_Aanvaar kwotasie" #. Button text: Trade page, finish trading #: ../client/gtk/trade.c:574 msgid "_Finish Trading" msgstr "_Stop met ruilhandel" #. Name of the development card #: ../common/cards.c:83 msgid "Road building" msgstr "Padbou" #. Name of the development card #: ../common/cards.c:89 msgid "Year of plenty" msgstr "Oorvloedjaar" #. Description of the 'Road Building' development card #: ../common/cards.c:118 msgid "Build two new roads" msgstr "Bou twee nuwe paaie" #. Description of the 'Monopoly' development card #: ../common/cards.c:121 msgid "" "Select a resource type and take every card of that type held by all other " "players" msgstr "" "Kies 'n hulpbrontipe en kry dan al die kaarte van daardie tipe wat by ander " "spelers is" #. Description of the 'Year of Plenty' development card #: ../common/cards.c:125 msgid "" "Take two resource cards of any type from the bank (cards may be of the same " "or different types)" msgstr "" "Kies twee hulpbronkaarte van enige tipe by die bank (kaarte kan dieselfde " "wees of verskil)" #. Description of a development card of 1 victory point #: ../common/cards.c:134 msgid "One victory point" msgstr "Een wenpunt" #. Description of the 'Soldier' development card #: ../common/cards.c:137 msgid "" "Move the robber to a different space and take one resource card from another " "player adjacent to that space" msgstr "" "Skuif die rower na 'n ander blok en neem dan een hulpbronkaart van een van " "die spelers wat langs daardie blok is" #: ../common/game.c:523 #, c-format msgid "Obsolete rule: '%s'\n" msgstr "Verouderde reël: '%s'\n" #: ../common/game.c:530 #, c-format msgid "" "The game uses the new rule '%s', which is not yet supported. Consider " "upgrading.\n" msgstr "" "Die spel gebruik die nuwe reël '%s', wat nog nie ondersteun word nie. " "Oorweeg dit om op te gradeer.\n" #: ../common/game.c:924 ../common/game.c:955 msgid "This game cannot be won." msgstr "Hierdie spel kan nie gewen word nie." #: ../common/game.c:925 msgid "There is no land." msgstr "Daar is geen land." #: ../common/game.c:959 msgid "It is possible that this game cannot be won." msgstr "Dit is moontlik dat hierdie spel nie gewen kan word nie." #: ../common/game.c:965 msgid "This game can be won by only building all settlements and cities." msgstr "Hierdie spel kans gewen word deur slegs alle dorpe en stede te bou." #: ../common/game.c:971 #, c-format msgid "" "Required victory points: %d\n" "Points obtained by building all: %d\n" "Points in development cards: %u\n" "Longest road/largest army: %d+%d\n" "Maximum island discovery bonus: %d\n" "Total: %d" msgstr "" "Wenpunte benodig: %d\n" "Punte verkry deur alles te bou: %d\n" "Punte in ontwikkelingskaarte: %u\n" "Langste pad/grootste weermag: %d+%d\n" "Maksimum bonus vir eilandontdekking: %d\n" "Totaal: %d" #: ../common/game-list.c:111 #, c-format msgid "Looking for games in '%s'\n" msgstr "Kyk tans vir spelle in '%s'\n" #: ../common/game-list.c:113 #, c-format msgid "Game directory '%s' not found\n" msgstr "Spel gids '%s' nie gevind nie\n" #: ../common/game-list.c:131 #, c-format msgid "Unable to load game: '%s'\n" msgstr "Kon nie spel laai nie: '%s'\n" #: ../common/game-list.c:151 msgid "No games available\n" msgstr "Geen spel beskikbaar\n" #: ../common/gtk/aboutbox.c:53 msgid "" "Pioneers is based upon the excellent\n" "Settlers of Catan board game.\n" msgstr "" "Pioniers is gebaseer op die uitstekende\n" "bordspel Settlers of Catan.\n" # #. Translators: add your name here. Keep the list #. * alphabetically, do not remove any names, and add #. * \n after your name (except the last name). #. #: ../common/gtk/aboutbox.c:63 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Arthur Rilke https://launchpad.net/~arthurrilke\n" " Petri Jooste https://launchpad.net/~petri-jooste" #. Caption for result of checking victory points #: ../common/gtk/common_gtk.c:324 msgid "Victory Point Analysis" msgstr "Analise van wenpunte" #. Tooltip for sevens rule normal #: ../common/gtk/game-rules.c:110 msgid "All sevens move the robber or pirate" msgstr "Alle sewes skuif die rower of seerower" #. Tooltip for sevens rule reroll on 1st 2 turns #: ../common/gtk/game-rules.c:114 msgid "In the first two turns all sevens are rerolled" msgstr "In die eerste twee beurte word alle sewes vervang" #. Tooltip for sevens rule reroll all #: ../common/gtk/game-rules.c:118 msgid "All sevens are rerolled" msgstr "Alle sewes word vervang" #: ../common/gtk/game-rules.c:129 msgid "Randomize terrain" msgstr "Geskommelde verstekterrein" #: ../common/gtk/game-rules.c:129 msgid "Randomize the terrain" msgstr "Verewekansig die terrein" #: ../common/gtk/game-rules.c:132 msgid "Use pirate" msgstr "Gebruik seerower" #: ../common/gtk/game-rules.c:133 msgid "Use the pirate to block ships" msgstr "Gebruik die seerower om skepe te blokkeer" #: ../common/gtk/game-rules.c:135 msgid "Strict trade" msgstr "Streng handel" #: ../common/gtk/game-rules.c:136 msgid "Allow trade only before building or buying" msgstr "Laat ruilhandel slegs voor bou of koop toe" #: ../common/gtk/game-rules.c:138 msgid "Domestic trade" msgstr "Plaaslike handel" #: ../common/gtk/game-rules.c:139 msgid "Allow trade between players" msgstr "Laat ruilhandel toe tussen spelers" #: ../common/gtk/game-rules.c:141 msgid "Victory at end of turn" msgstr "Oorwinning aan die einde van 'n beurt" #: ../common/gtk/game-rules.c:142 msgid "Check for victory only at end of turn" msgstr "Toets slegs aan die einde van 'n beurt vir oorwinning" #: ../common/gtk/game-rules.c:145 msgid "Use dice deck" msgstr "Gebruik 'n stel kansgetalle" #: ../common/gtk/game-rules.c:147 msgid "Use a deck of 36 dice cards instead of real dice" msgstr "Gebruik 'n stel van 36 kansgetalkaarte in plaas van regte kansgetalle" #. Label #: ../common/gtk/game-rules.c:155 msgid "Number of dice decks" msgstr "Aantal pakke kansgetalkaarte" #: ../common/gtk/game-rules.c:172 msgid "The number of dice decks (of 36 cards each)" msgstr "Die aantal kansgetalkaartpakke (36 kaarte elk)" #. Label #: ../common/gtk/game-rules.c:180 msgid "Number of removed dice cards" msgstr "Aantal kansgetalkaarte verwyder" #: ../common/gtk/game-rules.c:199 msgid "The number of dice cards that are removed after shuffling the deck" msgstr "" "Die aantal kansgetalkaarte wat uitgehaal word nadat die pak geskommel is" #. Label #: ../common/gtk/game-rules.c:207 msgid "Island discovery bonuses" msgstr "Bonus vir eilandontdekking" #. Tooltip for island bonus #: ../common/gtk/game-rules.c:219 msgid "A comma separated list of bonus points for discovering islands" msgstr "'n Lys, met kommas geskei, van bonuspunte vir ontdek van eilande" #. Tooltip for the check button #: ../common/gtk/game-rules.c:237 msgid "Check and correct island discovery bonuses" msgstr "Kontrolleer eiland-ontdekking bonusse" #. Label text for customising a game #: ../common/gtk/game-settings.c:105 msgid "Number of players" msgstr "Aantal spelers" #. Tooltip for 'Number of Players' #: ../common/gtk/game-settings.c:124 msgid "The number of players" msgstr "Die hoeveelheid spelers" #. Label for customising a game #: ../common/gtk/game-settings.c:127 msgid "Victory point target" msgstr "Wenpuntteiken" #. Tooltip for Victory Point Target #: ../common/gtk/game-settings.c:147 msgid "The points needed to win the game" msgstr "Die punte wat nodig is om die spel te wen" #. Tooltip for the check button #: ../common/gtk/game-settings.c:161 msgid "Is it possible to win this game?" msgstr "Is dit moontlik om hierdie spel te wen?" #. Port indicator for a resource: trade 2 for 1 #: ../common/gtk/guimap.c:742 msgid "2:1" msgstr "2:1" #. Port indicator: trade 3 for 1 #. General port indicator #: ../common/gtk/guimap.c:745 ../common/gtk/guimap.c:770 msgid "3:1" msgstr "3:1" #. Port indicator for brick #: ../common/gtk/guimap.c:750 msgid "Brick port|B" msgstr "Baksteenhawe" #. Port indicator for grain #: ../common/gtk/guimap.c:754 msgid "Grain port|G" msgstr "Graanhawe" #. Port indicator for ore #: ../common/gtk/guimap.c:758 msgid "Ore port|O" msgstr "Ertshawe" #. Port indicator for wool #: ../common/gtk/guimap.c:762 msgid "Wool port|W" msgstr "Wolhawe" #. Port indicator for lumber #: ../common/gtk/guimap.c:766 msgid "Lumber port|L" msgstr "Houthawe" #. Tooltip for the list of metaservers #: ../common/gtk/metaserver.c:85 msgid "Select a metaserver" msgstr "Kies 'n meta-bediener" #. Tooltip for the list of games #: ../common/gtk/select-game.c:135 msgid "Select a game" msgstr "Kies 'n spel" #. Log prefix #: ../common/log.c:58 msgid "*ERROR* " msgstr "*FOUT* " #. Log prefix #: ../common/log.c:66 msgid "Chat: " msgstr "Gesels: " #. Log prefix #: ../common/log.c:70 msgid "Resource: " msgstr "Hulpbron: " #. Log prefix #: ../common/log.c:74 msgid "Build: " msgstr "Bou: " #. Log prefix #: ../common/log.c:78 msgid "Dice: " msgstr "Kansstene: " #. Log prefix #: ../common/log.c:82 msgid "Steal: " msgstr "Steel: " #. Log prefix #: ../common/log.c:86 msgid "Trade: " msgstr "Ruil: " #. Log prefix #: ../common/log.c:90 msgid "Development: " msgstr "Ontwikkeling: " #. Log prefix #: ../common/log.c:94 msgid "Army: " msgstr "Weermag: " #. Log prefix #: ../common/log.c:98 msgid "Road: " msgstr "Pad: " #. Log prefix #: ../common/log.c:102 msgid "*BEEP* " msgstr "*BIEP* " #. Log prefix #: ../common/log.c:108 msgid "Player 1: " msgstr "Speler 1: " #. Log prefix #: ../common/log.c:112 msgid "Player 2: " msgstr "Speler 2: " #. Log prefix #: ../common/log.c:116 msgid "Player 3: " msgstr "Speler 3: " #. Log prefix #: ../common/log.c:120 msgid "Player 4: " msgstr "Speler 4: " #. Log prefix #: ../common/log.c:124 msgid "Player 5: " msgstr "Speler 5: " #. Log prefix #: ../common/log.c:128 msgid "Player 6: " msgstr "Speler 6: " #. Log prefix #: ../common/log.c:132 msgid "Player 7: " msgstr "Speler 7: " #. Log prefix #: ../common/log.c:136 msgid "Player 8: " msgstr "Speler 8: " #. Log prefix #: ../common/log.c:140 msgid "Spectator: " msgstr "Toeskouer: " #. Log prefix #: ../common/log.c:144 msgid "** UNKNOWN MESSAGE TYPE ** " msgstr "** ONBEKENDE BOODSKAPTIPE ** " #: ../common/network.c:143 #, c-format msgid "Error writing to socket: %s\n" msgstr "Fout met skryf na sok: %s\n" #: ../common/network.c:154 msgid "Could not send all data\n" msgstr "Kon nie al die data stuur nie\n" #: ../common/network.c:202 msgid "Read buffer overflow - disconnecting\n" msgstr "Leesbuffer het oorgeloop - ontkoppel tans\n" #: ../common/network.c:226 #, c-format msgid "Error reading socket: %s\n" msgstr "Fout tydens lees van sok: %s\n" #: ../common/network.c:378 #, c-format msgid "Error connecting to %s: %s\n" msgstr "Kon nie aan %s koppel nie: %s\n" #: ../common/network.c:566 ../common/network.c:567 msgid "unknown" msgstr "onbekend" #: ../common/state.c:203 #, c-format msgid "Connecting to %s, port %s\n" msgstr "Konnekteer aan %s, poort %s\n" #. Error message #: ../common/state.c:333 msgid "State stack overflow. Stack dump sent to standard error.\n" msgstr "Statusstapel loop oor. Stapel word gestort op standaardfoutafvoer.\n" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:113 msgid "_Hill" msgstr "_Heuwel" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:115 msgid "_Field" msgstr "_Veld" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:117 msgid "_Mountain" msgstr "_Berg" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:119 msgid "_Pasture" msgstr "_Weiveld" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:121 msgid "F_orest" msgstr "W_oud" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:123 msgid "_Desert" msgstr "_Woestyn" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:125 msgid "_Sea" msgstr "_See" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:127 msgid "_Gold" msgstr "_Goud" #. Use an unique shortcut key for each resource #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:129 ../editor/gtk/editor.c:144 msgid "_None" msgstr "_Niks" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:134 msgid "_Brick (2:1)" msgstr "_Baksteen (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:136 msgid "_Grain (2:1)" msgstr "_Graan (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:138 msgid "_Ore (2:1)" msgstr "_Erts (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:140 msgid "_Wool (2:1)" msgstr "_Wol (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:142 msgid "_Lumber (2:1)" msgstr "_Hout (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:146 msgid "_Any (3:1)" msgstr "_Alles (3:1)" #. East #: ../editor/gtk/editor.c:151 msgid "East|E" msgstr "O" #. North east #: ../editor/gtk/editor.c:153 msgid "North East|NE" msgstr "NO" #. North west #: ../editor/gtk/editor.c:155 msgid "North West|NW" msgstr "NW" #. West #: ../editor/gtk/editor.c:157 msgid "West|W" msgstr "W" #. South west #: ../editor/gtk/editor.c:159 msgid "South West|SW" msgstr "SW" #. South east #: ../editor/gtk/editor.c:161 msgid "South East|SE" msgstr "SO" #: ../editor/gtk/editor.c:368 msgid "Place a hill hex" msgstr "Plaas 'n heuwelblok" #: ../editor/gtk/editor.c:369 msgid "Place a field hex" msgstr "Plaas 'n veldblok" #: ../editor/gtk/editor.c:370 msgid "Place a mountain hex" msgstr "Plaas 'n bergblok" #: ../editor/gtk/editor.c:371 msgid "Place a pasture hex" msgstr "Plaas 'n weiveldblok" #: ../editor/gtk/editor.c:372 msgid "Place a forest hex" msgstr "Plaas 'n woudblok" #: ../editor/gtk/editor.c:373 msgid "Place a desert hex" msgstr "Plaas 'n woestynblok" #: ../editor/gtk/editor.c:374 msgid "Place a sea hex" msgstr "Plaas 'n seeblok" #: ../editor/gtk/editor.c:375 msgid "Place a gold hex" msgstr "Plaas 'n goudblok" #: ../editor/gtk/editor.c:376 msgid "Clear the hex" msgstr "Verwyder die blok" #: ../editor/gtk/editor.c:384 msgid "Place a 2 chit" msgstr "Plaas 'n merker 2" #: ../editor/gtk/editor.c:385 msgid "Place a 3 chit" msgstr "Plaas 'n merker 3" #: ../editor/gtk/editor.c:386 msgid "Place a 4 chit" msgstr "Plaas 'n merker 4" #: ../editor/gtk/editor.c:387 msgid "Place a 5 chit" msgstr "Plaas 'n merker 5" #: ../editor/gtk/editor.c:388 msgid "Place a 6 chit" msgstr "Plaas 'n merker 6" #: ../editor/gtk/editor.c:390 msgid "Place an 8 chit" msgstr "Plaas 'n merker 8" #: ../editor/gtk/editor.c:391 msgid "Place a 9 chit" msgstr "Plaas 'n merker 9" #: ../editor/gtk/editor.c:392 msgid "Place a 10 chit" msgstr "Plaas 'n merker 10" #: ../editor/gtk/editor.c:393 msgid "Place an 11 chit" msgstr "Plaas 'n merker 11" #: ../editor/gtk/editor.c:394 msgid "Place a 12 chit" msgstr "Plaas 'n merker 12" #: ../editor/gtk/editor.c:400 msgid "Place a brick 2:1 port" msgstr "Plaas 'n 2:1 baksteenhawe" #: ../editor/gtk/editor.c:401 msgid "Place a grain 2:1 port" msgstr "Plaas 'n 2:1 graanhawe" #: ../editor/gtk/editor.c:402 msgid "Place an ore 2:1 port" msgstr "Plaas 'n 2:1 ertshawe" #: ../editor/gtk/editor.c:403 msgid "Place a wool 2:1 port" msgstr "Plaas 'n 2:1 wolhawe" #: ../editor/gtk/editor.c:404 msgid "Place a lumber 2:1 port" msgstr "Plaas 'n 2:1 houthawe" #. Tooltip to remove a port tile in the editor #: ../editor/gtk/editor.c:406 msgid "Remove a port" msgstr "Verwyder 'n hawe" #: ../editor/gtk/editor.c:407 msgid "Place a 3:1 port" msgstr "Plaas 'n 3:1 hawe" #: ../editor/gtk/editor.c:437 msgid "" "Select the terrain type with the context menu on the left click or toggle a " "node to exclude it from being used during the setup phase" msgstr "" "Kies die terreintipe met die kontekskieslys van die links-kliek of wissel 'n " "node om dit uit te laat tydens die opstelfase" #: ../editor/gtk/editor.c:572 msgid "Insert a row" msgstr "Voeg 'n ry in" #: ../editor/gtk/editor.c:573 msgid "Delete a row" msgstr "Vee 'n ry uit" #: ../editor/gtk/editor.c:574 msgid "Insert a column" msgstr "Voeg 'n kolom in" #: ../editor/gtk/editor.c:575 msgid "Delete a column" msgstr "Vee 'n kolom uit" #. Label #: ../editor/gtk/editor.c:978 msgid "_Title" msgstr "_Titel" #. Label #: ../editor/gtk/editor.c:991 msgid "_Description" msgstr "_Beskrywing" #. Label #: ../editor/gtk/editor.c:1009 msgid "_Comments" msgstr "_Kommentaar" #. Menu item #: ../editor/gtk/editor.c:1139 msgid "Shuffle" msgstr "Skommel" #. Caption #. Game settings frame #: ../editor/gtk/editor.c:1294 ../server/gtk/main.c:968 msgid "Game parameters" msgstr "Spelparameters" #. Caption #. Rules frame #: ../editor/gtk/editor.c:1297 ../server/gtk/main.c:983 msgid "Rules" msgstr "Reëls" #. Caption #: ../editor/gtk/editor.c:1299 msgid "Resources" msgstr "Hulpbronne" #. Caption #: ../editor/gtk/editor.c:1302 msgid "Buildings" msgstr "Geboue" #. The game in the editor does not have a name yet #: ../editor/gtk/editor.c:1319 msgid "Untitled" msgstr "Ongetiteld" #. Application caption #: ../editor/gtk/editor.c:1324 ../editor/gtk/pioneers-editor.desktop.in.h:1 msgid "Pioneers Editor" msgstr "Pioniers-redigeerder" #: ../editor/gtk/editor.c:1434 #, c-format msgid "Failed to load '%s'" msgstr "Kon nie '%s' laai nie" #: ../editor/gtk/editor.c:1482 #, c-format msgid "Failed to save to '%s'" msgstr "Kon nie '%s' stoor nie" #. Name of the file filter: show only games #: ../editor/gtk/editor.c:1499 msgid "Games" msgstr "Spelle" #. Name of the file filter: show all files #: ../editor/gtk/editor.c:1505 msgid "Unfiltered" msgstr "Ongefilter" #. Dialog caption #: ../editor/gtk/editor.c:1517 msgid "Open Game" msgstr "Maak spel oop" #. Button text #: ../editor/gtk/editor.c:1524 #, fuzzy msgid "_Open" msgstr "_Open..." #. Dialog caption #: ../editor/gtk/editor.c:1558 msgid "Save As..." msgstr "Stoor As..." #. Button text #: ../editor/gtk/editor.c:1565 #, fuzzy msgid "Save _As" msgstr "Stoor _As..." #. Dialog caption #: ../editor/gtk/editor.c:1606 msgid "Change Title" msgstr "Verander titel" #. Label #: ../editor/gtk/editor.c:1631 msgid "New title:" msgstr "Nuwe titel:" #. Caption of about box #: ../editor/gtk/editor.c:1688 msgid "About Pioneers Game Editor" msgstr "Aangaande die Pioniersredigeerder" #. Menu entry #: ../editor/gtk/editor.c:1718 msgid "_File" msgstr "_Lêer" #. Menu entry #: ../editor/gtk/editor.c:1728 msgid "_New" msgstr "_Nuwe" #: ../editor/gtk/editor.c:1729 msgid "Create a new game" msgstr "Skep nuwe spel" #. Menu entry #: ../editor/gtk/editor.c:1732 msgid "_Open..." msgstr "_Open..." #. Tooltip for Open menu entry #: ../editor/gtk/editor.c:1734 msgid "Open an existing game" msgstr "Maak 'n bestaande spel oop" #. Menu entry #: ../editor/gtk/editor.c:1737 msgid "_Save" msgstr "_Stoor" #. Tooltip for Save menu entry #: ../editor/gtk/editor.c:1739 msgid "Save game" msgstr "Stoor spel" #. Menu entry #: ../editor/gtk/editor.c:1742 msgid "Save _As..." msgstr "Stoor _As..." #. Tooltip for Save As menu entry #: ../editor/gtk/editor.c:1745 msgid "Save as" msgstr "Stoor as" #. Menu entry #: ../editor/gtk/editor.c:1748 msgid "Change _Title" msgstr "Verander _Titel" #. Tooltip for Change Title menu entry #: ../editor/gtk/editor.c:1750 msgid "Change game title" msgstr "Verander die spel se titel" #. Menu entry #: ../editor/gtk/editor.c:1753 ../server/gtk/main.c:97 msgid "_Check Victory Point Target" msgstr "_Kontrolleer Wenpunt teiken" #. Tooltip for Check Victory Point Target menu entry #. Tooltop for Check Victory Point Target menu entry #: ../editor/gtk/editor.c:1756 ../server/gtk/main.c:100 msgid "Check whether the game can be won" msgstr "Merk as die spel gewen kan word" #. Tooltip for Quit menu entry #: ../editor/gtk/editor.c:1761 msgid "Quit" msgstr "Verlaat" #. Menu entry #: ../editor/gtk/editor.c:1783 msgid "_About Pioneers Editor" msgstr "_Aangaande die Pioniersredigeerder" #. Tooltip for About Pioneers Editor menu entry #: ../editor/gtk/editor.c:1785 msgid "Information about Pioneers Editor" msgstr "Inligting oor die Pioniersredigeerder" #. Long help for commandline option (editor): filename #: ../editor/gtk/editor.c:1838 msgid "Open this file" msgstr "Maak hierdie lêer oop" #. Commandline option for editor: filename #. Commandline metaserver: pidfile argument #: ../editor/gtk/editor.c:1840 ../metaserver/main.c:615 msgid "filename" msgstr "lêernaam" #. Long description in the command line: --help #: ../editor/gtk/editor.c:1877 msgid "- Editor for games of Pioneers" msgstr "- Redigeerder vir Pioniersspelle" #. Error message #: ../editor/gtk/editor.c:1921 ../server/gtk/main.c:1256 #, c-format msgid "Building menus failed: %s" msgstr "Bou van kieslyste het misluk: %s" #. Tab page name #: ../editor/gtk/editor.c:1951 msgid "Settings" msgstr "Instellings" #. Tab page name #: ../editor/gtk/editor.c:1954 msgid "Comments" msgstr "Kommentaar" #: ../editor/gtk/game-resources.c:48 msgid "Resource count" msgstr "Aantal hulpbronne" #: ../editor/gtk/pioneers-editor.desktop.in.h:2 msgid "Create your own game for Pioneers" msgstr "Skep u eie spel vir Pioniers" #: ../editor/gtk/pioneers-editor.desktop.in.h:3 msgid "game;board;create;edit;layout;Pioneers;Settlers;" msgstr "spel;bord;skep;redigeer;Pioniers;Setlaars;" #. Commandline metaserver: daemon #: ../metaserver/main.c:610 msgid "Daemonize the metaserver on start" msgstr "Loop die metabediener in die agtergrond wanneer dit begin" #. Commandline metaserver: pidfile #: ../metaserver/main.c:613 msgid "Pidfile to create when daemonizing (implies -d)" msgstr "Pid-lêer om te skep wanneer bediener loop as daemon (impliseer -d)" #. Commandline metaserver: redirect #: ../metaserver/main.c:618 msgid "Redirect clients to another metaserver" msgstr "Herlei kliënte na 'n ander metabediener" #. Commandline metaserver: server #: ../metaserver/main.c:621 msgid "Use this hostname when creating new games" msgstr "Gebruik hierdie masjiennaam wanneer nuwe spelle geskep word" #. Commandline metaserver: server argument #: ../metaserver/main.c:623 msgid "hostname" msgstr "masjiennaam" #. Commandline metaserver: port-range #: ../metaserver/main.c:626 msgid "Use this port range when creating new games" msgstr "Gebruik hierdie poortreeks wanneer 'n nuwe spel geskep word" #. Commandline metaserver: port-range argument #: ../metaserver/main.c:628 msgid "from-to" msgstr "vanaf-na" #. Commandline option of metaserver: syslog-debug #: ../metaserver/main.c:634 msgid "Debug syslog messages" msgstr "Ontfout syslog-boodskappe" #. Long description in the commandline for metaserver: help #: ../metaserver/main.c:675 msgid "- Metaserver for Pioneers" msgstr "- Metabediener vir Pioniers" #: ../metaserver/main.c:691 #, c-format msgid "metaserver protocol:" msgstr "metabediener protokol:" #: ../server/avahi.c:68 msgid "Avahi registration successful.\n" msgstr "Avahi-registrasie suksesvol.\n" #: ../server/avahi.c:78 #, c-format msgid "Avahi service name collision, renaming service to '%s'.\n" msgstr "Avahi diensnaamteenstrydigheid; die diens word hernoem na '%s'.\n" #. Some kind of failure happened while we were registering #: ../server/avahi.c:89 #, c-format msgid "Avahi error: %s\n" msgstr "Avahi fout: %s\n" #: ../server/avahi.c:113 ../server/avahi.c:145 ../server/avahi.c:155 #: ../server/avahi.c:191 ../server/avahi.c:212 ../server/avahi.c:226 #, c-format msgid "Avahi error: %s, %s\n" msgstr "Avahi fout: %s, %s\n" #: ../server/avahi.c:213 ../server/avahi.c:227 msgid "Unable to register Avahi server" msgstr "Kan nie Avahi-bediener registreer nie" #: ../server/avahi.c:260 msgid "Unregistering Avahi.\n" msgstr "Deregistreer tans Avahi.\n" #. Menu entry #: ../server/gtk/main.c:108 msgid "_About Pioneers Server" msgstr "_Aangaande Pioniersbediener" #. Tooltop for About Pioneers Server menu entry #: ../server/gtk/main.c:110 msgid "Information about Pioneers Server" msgstr "Inligting oor Pioniersbediener" #: ../server/gtk/main.c:234 msgid "Stop Server" msgstr "Stop bediener" #: ../server/gtk/main.c:235 msgid "Start Server" msgstr "Begin bediener" #: ../server/gtk/main.c:237 ../server/gtk/main.c:996 msgid "Stop the server" msgstr "Stop die bediener" #: ../server/gtk/main.c:238 msgid "Start the server" msgstr "Begin die bediener" #: ../server/gtk/main.c:395 #, c-format msgid "Player %s from %s entered\n" msgstr "Speler %s van %s tree in\n" #: ../server/gtk/main.c:402 #, c-format msgid "Player %s from %s left\n" msgstr "Speler %s van %s tree uit\n" #: ../server/gtk/main.c:409 #, c-format msgid "Player %d is now %s\n" msgstr "Speler %d is nou %s\n" #: ../server/gtk/main.c:570 msgid "The port for the game server" msgstr "Die poort vir die spelbediener" #. register_toggle #: ../server/gtk/main.c:579 msgid "Register server" msgstr "Registreer bediener" #: ../server/gtk/main.c:587 msgid "Register this game at the metaserver" msgstr "Registreer hierdie spel by die metabediener" #. hostname label #: ../server/gtk/main.c:618 msgid "Reported hostname" msgstr "Masjiennaam soos verskaf" #: ../server/gtk/main.c:633 msgid "" "The public name of this computer (needed when playing behind a firewall)" msgstr "" "Publieke naam van hierdie rekenaar (nodig wanneer van agter 'n brandmuur " "gespeel word)" #. random toggle #: ../server/gtk/main.c:652 msgid "Random turn order" msgstr "Ewekansige beurtvolgorde" #: ../server/gtk/main.c:659 msgid "Randomize turn order" msgstr "Maak beurtvolgorde deurmekaar" #. Tooltip for server connection overview #: ../server/gtk/main.c:730 msgid "Shows all players and spectators connected to the server" msgstr "Wys alle spelers en toeskouers wat aan die bediener gekoppel is" #. Label for column Connected #: ../server/gtk/main.c:735 msgid "Connected" msgstr "Gekonnekteer" #. Tooltip for column Connected #: ../server/gtk/main.c:742 msgid "Is the player currently connected?" msgstr "Is die speler tans gekonnekteer?" #. Label for column Name #: ../server/gtk/main.c:747 msgid "Name" msgstr "Naam" #. Tooltip for column Name #: ../server/gtk/main.c:754 msgid "Name of the player" msgstr "Spelernaam" #. Label for column Location #: ../server/gtk/main.c:758 msgid "Location" msgstr "Plek" #. Tooltip for column Location #: ../server/gtk/main.c:765 msgid "Host name of the player" msgstr "Masjiennaam van die speler" #. Label for column Number #: ../server/gtk/main.c:771 msgid "Number" msgstr "Nommer" #. Tooltip for column Number #: ../server/gtk/main.c:778 msgid "Player number" msgstr "Spelernommer" #. Label for column Role #: ../server/gtk/main.c:784 msgid "Role" msgstr "Rol" #. Tooltip for column Role #: ../server/gtk/main.c:788 msgid "Player or spectator" msgstr "Speler of toeskouer" #. Button text #: ../server/gtk/main.c:825 msgid "Launch Pioneers Client" msgstr "Lanseer Pioniers-kliënt" #. Tooltip #: ../server/gtk/main.c:839 msgid "Launch the Pioneers client" msgstr "Lanseer die Pioniers-kliënt" #. ai chat toggle #: ../server/gtk/main.c:868 msgid "Enable chat" msgstr "Skakel gesels aan" #. Tooltip #: ../server/gtk/main.c:875 msgid "Enable chat messages" msgstr "Skakel geselsboodskappe aan" #. Button text #: ../server/gtk/main.c:884 msgid "Add Computer Player" msgstr "Voeg robotspeler by" #. Tooltip #: ../server/gtk/main.c:892 msgid "Add a computer player to the game" msgstr "Voeg 'n robotspeler by die spel" #. Tooltip #: ../server/gtk/main.c:925 msgid "Messages from the server" msgstr "Boodskappe vanaf die bediener" #: ../server/gtk/main.c:961 msgid "Game settings" msgstr "Spelinstellings" #. server frame #: ../server/gtk/main.c:972 msgid "Server parameters" msgstr "Bedienerparameters" #: ../server/gtk/main.c:992 msgid "Running game" msgstr "Spel word tans geloop" #. player connected frame #: ../server/gtk/main.c:1008 msgid "Players connected" msgstr "Spelers het toegetree" #. ai frame #: ../server/gtk/main.c:1012 msgid "Computer players" msgstr "Robotspelers" #. message frame #: ../server/gtk/main.c:1024 msgid "Messages" msgstr "Boodskappe" #. Caption of about box #: ../server/gtk/main.c:1150 #, fuzzy msgid "About the Pioneers Game Server" msgstr "Die Pioniers-spelbediener" # #. Wait for all players to disconnect, #. * then enable the UI #. #: ../server/gtk/main.c:1158 msgid "The game is over.\n" msgstr "Die spel is verby.\n" #. Long description in the commandline for server-gtk: help #. Long description in the commandline for server-console: help #: ../server/gtk/main.c:1212 ../server/main.c:194 msgid "- Host a game of Pioneers" msgstr "- Skep 'n Pioniersspel" #. Name in the titlebar of the server #: ../server/gtk/main.c:1236 ../server/gtk/pioneers-server-gtk.desktop.in.h:1 msgid "Pioneers Server" msgstr "Pioniersbediener" #: ../server/gtk/pioneers-server-gtk.desktop.in.h:2 msgid "Host a game of Pioneers" msgstr "Speel gasheer vir 'n Pioniersspel" #: ../server/gtk/pioneers-server-gtk.desktop.in.h:3 msgid "game;board;server;host;Pioneers;Settlers;" msgstr "spel;bord;bediener;masjiennaam;Pioniers;Setlaars;" #. Commandline server-console: game-title #: ../server/main.c:80 msgid "Game title to use" msgstr "Speltitel om te gebruik" #. Commandline server-console: file #: ../server/main.c:83 msgid "Game file to use" msgstr "Spellêer om te gebruik" #. Commandline server-console: port #: ../server/main.c:86 msgid "Port to listen on" msgstr "Poort om na te luister" #. Commandline server-console: players #: ../server/main.c:89 msgid "Override number of players" msgstr "Beheer aantal spelers" #. Commandline server-console: points #: ../server/main.c:92 msgid "Override number of points needed to win" msgstr "Verander die aantal punte wat nodig is om die spel te wen" #. Commandline server-console: seven-rule #: ../server/main.c:95 msgid "Override seven-rule handling" msgstr "Verander die sewes-reëlhantering" #. Commandline server-console: dice-deck #: ../server/main.c:98 msgid "Override dice-deck handling" msgstr "Verander die hantering van die kansgetalkaarte" #. Commandline server-console: num-dice-decks #: ../server/main.c:101 msgid "Override num-dice-decks handling" msgstr "Verander num-dice-decks hantering" #. Commandline server-console: num-removed-dice-cards #: ../server/main.c:105 msgid "Override num-removed-dice-cards handling" msgstr "Verander die hantering van num-removed-dice-cards" #. Commandline server-console: terrain #: ../server/main.c:108 msgid "Override terrain type, 0=default 1=random" msgstr "Verander die terreintipe, 0=verstek, 1=ewekansig" #. Commandline server-console: computer-players #: ../server/main.c:111 msgid "Add N computer players" msgstr "Voeg N robotspelers by" #. Commandline server-console: register #: ../server/main.c:121 msgid "Register server with metaserver" msgstr "Registreer bediener by metabediener" #. Commandline server-console: metaserver #: ../server/main.c:124 msgid "Register at metaserver name (implies -r)" msgstr "Registreer by die metabediener (impliseer -r)" #. Commandline server-console: hostname #: ../server/main.c:128 msgid "Use this hostname when registering" msgstr "Gebruik hierdie masjiennaam vir registrasie" #. Commandline server-console: auto-quit #: ../server/main.c:135 msgid "Quit after a player has won" msgstr "Verlaat die spel wanneer 'n speler gewen het" #. Commandline server-console: empty-timeout #: ../server/main.c:138 msgid "Quit after N seconds with no players" msgstr "Verlaat die spel na N sekondes sonder spelers" #. Commandline server-console: tournament #: ../server/main.c:141 msgid "Tournament mode, computer players added after N minutes" msgstr "Toernooi-modus, rekenaars bygevoeg na N minute" #. Commandline server-console: admin-port #: ../server/main.c:145 msgid "Admin port to listen on" msgstr "Adminpoort om op te luister" #. Commandline server-console: admin-wait #: ../server/main.c:148 msgid "Don't start game immediately, wait for a command on admin port" msgstr "Moenie die spel dadelik begin nie, wag vir 'n opdrag op die adminpoort" #. Commandline server-console: fixed-seating-order #: ../server/main.c:154 msgid "Give players numbers according to the order they enter the game" msgstr "Gee nommers aan spelers soos wat hulle die spel betree" #. Commandline server-console: Short description of meta group #: ../server/main.c:200 msgid "Metaserver Options" msgstr "Opsies vir die metabediener" #. Commandline server-console: Long description of meta group #: ../server/main.c:202 msgid "Options for the metaserver" msgstr "Opsies vir die metabediener" #. Commandline server-console: Short description of misc group #: ../server/main.c:211 msgid "Miscellaneous Options" msgstr "Verskeie opsies" #. Commandline server-console: Long description of misc group #: ../server/main.c:213 msgid "Miscellaneous options" msgstr "Verskeie opsies" #. server-console commandline error #: ../server/main.c:239 #, c-format msgid "Cannot set game title and filename at the same time\n" msgstr "Kan nie die speltitel en lêernaam terselfdertyd verander nie\n" #. server-console commandline error #: ../server/main.c:256 #, c-format msgid "Cannot load the parameters for the game\n" msgstr "Kan die spel-parameters nie laai nie\n" #. Error message #: ../server/main.c:305 ../server/main.c:324 #, c-format msgid "The network port (%s) for the admin interface is not available.\n" msgstr "" "Die netwerkpoort (%s) vir die admin-koppelvlak is nie beskikbaar nie.\n" #: ../server/meta.c:58 msgid "The connection to the metaserver is lost.\n" msgstr "Die verbinding aan die metabediener is verbreek.\n" #: ../server/meta.c:64 #, c-format msgid "An attempt to reconnect is scheduled in %u second.\n" msgid_plural "An attempt to reconnect is scheduled in %u seconds.\n" msgstr[0] "'n Poging om weer te koppel is geskeduleer vir %u sekonde.\n" msgstr[1] "'n Poging om weer te koppel is geskeduleer vir %u sekondes.\n" #: ../server/meta.c:83 msgid "Attempting to reconnect to the metaserver.\n" msgstr "Probeer tans om weer aan die metabediener te verbind.\n" #: ../server/meta.c:311 #, c-format msgid "Register with the metaserver at %s.\n" msgstr "Registreer by die metabediener by %s.\n" #: ../server/meta.c:322 msgid "Unregister from the metaserver.\n" msgstr "Deregistreer by die metabediener.\n" #: ../server/player.c:142 msgid "chat too long" msgstr "geselslyn te lank" #: ../server/player.c:159 msgid "name too long" msgstr "naam te lank" #: ../server/player.c:191 msgid "ignoring unknown extension" msgstr "onbekende uitbreiding word geïgnoreer" #: ../server/player.c:228 ../server/player.c:298 msgid "The last player left, the tournament timer is reset." msgstr "Die laaste speler is weg, die toernooitydhouer is herstel." #: ../server/player.c:262 ../server/player.c:643 msgid "No human players present. Bye." msgstr "Geen menslike spelers teenwoordig nie. Totsiens." #: ../server/player.c:269 msgid "Game starts, adding computer players." msgstr "Die spel begin, robotspelers word bygevoeg." #: ../server/player.c:311 #, c-format msgid "The game starts in %s minutes." msgstr "Die spel begin oor %s minute." #: ../server/player.c:312 #, c-format msgid "The game starts in %s minute." msgstr "Die spel begin oor %s minuut." # #. Default name for the AI when the computer_names file #. * is not found or empty. #. #: ../server/player.c:370 ../server/player.c:376 msgid "Computer Player" msgstr "Robotspeler" #: ../server/player.c:450 #, c-format msgid "Unable to determine the hostname of the player: %s" msgstr "Kan nie die masjiennaam van die speler bepaal nie: %s" #. The game is over, don't accept new players #. Message to send to the client when the game is already over #. * when a connection is made. #: ../server/player.c:476 msgid "Sorry, game is over." msgstr "Jammer, die spel is verby." #: ../server/player.c:478 #, c-format msgid "Player from %s is refused: game is over\n" msgstr "Speler vanaf %s word weggewys: spel is verby\n" #: ../server/player.c:520 msgid "Name not changed: new name is already in use" msgstr "Naam is nie verander nie: nuwe naam word reeds gebruik" #: ../server/player.c:638 ../server/server.c:38 msgid "Was hanging around for too long without players... bye.\n" msgstr "Het te lank gewag sonder spelers... totsiens.\n" #: ../server/player.c:723 msgid "The last human player left. Waiting for the return of a player." msgstr "" "Die laaste menslike speler is weg. Wag tans vir 'n speler om terug te kom." #: ../server/player.c:744 msgid "Resuming the game." msgstr "Die spel word hervat." #. %s is the name of the reconnecting player #: ../server/player.c:870 #, c-format msgid "%s has reconnected." msgstr "%s het weer gekonnekteer." #: ../server/player.c:970 #, c-format msgid "Version mismatch: %s" msgstr "Weergawes pas nie: %s" #: ../server/player.c:1007 msgid "This game will start soon." msgstr "Hierdie spel gaan binnekort begin." #. Server: preparing game #..... #: ../server/server.c:221 msgid "Preparing game" msgstr "Spel word voorberei" #: ../server/turn.c:254 msgid "Island Discovery Bonus" msgstr "Bonus vir eilandontdekking" #: ../server/turn.c:255 msgid "Additional Island Bonus" msgstr "Addisionele eilandbonus" #: ../server/turn.c:386 msgid "Tried to assign resources to NULL player.\n" msgstr "Het probeer om hulpbronne toe te ken aan die NULL-speler.\n" #. Cheat mode has been activated #: ../server/turn.c:516 msgid "The dice roll has been determined by the administrator." msgstr "Die kies van kansgetalle is bepaal deur die administrateur." #~ msgid "Join the selected game" #~ msgstr "Betree die gekose spel" #~ msgid "Don't join a public game" #~ msgstr "Moenie 'n openbare spel betree nie" #~ msgid "Create a new public game at the metaserver" #~ msgstr "Skep 'n nuwe openbare spel by die metabediener" #~ msgid "Refresh the list of games" #~ msgstr "Verfris die lys van spelle" #~ msgid "Version:" #~ msgstr "Weergawe:" #~ msgid "Homepage:" #~ msgstr "Tuisblad:" #~ msgid "Authors:" #~ msgstr "Outeurs:" #~ msgid "Pioneers is translated to by:\n" #~ msgstr "Pioniers is in Afrikaans vertaal deur:\n" #~ msgid "Metaserver kicked us off\n" #~ msgstr "Meta-bediener het ons afgeskop\n" #~ msgid "" #~ "Note:\n" #~ "\tThe metaserver does not send information about the games.\n" #~ "\tPlease set appropriate values yourself." #~ msgstr "" #~ "Nota:\n" #~ "\tDie Metabediener stuur geen inligting oor die spel nie.\n" #~ "\tStel asb. self geskikte waardes op." #~ msgid "Error checking connect status: %s\n" #~ msgstr "Fout met nagaan van konneksiestatus: %s\n" #~ msgid "Error connecting to host '%s': %s\n" #~ msgstr "Fout met koppeling na gasheer '%s': %s\n" #~ msgid "Error writing socket: %s\n" #~ msgstr "Fout tydens sokskrywing: %s\n" #~ msgid "Error creating socket: %s\n" #~ msgstr "Fout met skep van sok: %s\n" #~ msgid "Error setting socket close-on-exec: %s\n" #~ msgstr "Fout met stel van sok na \"close-on-exec\": %s\n" #~ msgid "Error setting socket non-blocking: %s\n" #~ msgstr "Fout met stel van sok na \"non-blocking\": %s\n" #~ msgid "Cannot resolve %s port %s: %s\n" #~ msgstr "Kan nie %s poort %s uitvind nie: %s\n" #~ msgid "Cannot resolve %s port %s: host not found\n" #~ msgstr "Kan nie %s se poort %s bepaal nie: gasheer nie gevind\n" #~ msgid "Error creating struct addrinfo: %s" #~ msgstr "Fout tydens skep van \"addrinfo\": %s" #~ msgid "Error creating listening socket: %s\n" #~ msgstr "Fout tydens skep van luister-sok: %s\n" #~ msgid "Error during listen on socket: %s\n" #~ msgstr "Fout tydens luister op sok: %s\n" #~ msgid "Listening not yet supported on this platform." #~ msgstr "Luister word nog nie ondersteun op hierdie platform nie." #~ msgid "Error getting peer name: %s" #~ msgstr "Kon naam nie opspoor nie: %s" #~ msgid "Error resolving address: %s" #~ msgstr "Kon nie masjienadres opspoor nie: %s" #~ msgid "Net_get_peer_name not yet supported on this platform." #~ msgstr "" #~ "\"Net_get_peer_name\" word nog nie op hierdie platform ondersteun nie." #~ msgid "Error accepting connection: %s" #~ msgstr "Kon nie die konneksie aanvaar nie: %s" #~ msgid "Viewer %d" #~ msgstr "Toeskouer %d" #~ msgid "viewer %d" #~ msgstr "toeskouer %d" #~ msgid "I want" #~ msgstr "Ek wil hê" #~ msgid "Give them" #~ msgstr "Ek gee" #~ msgid "Viewer: " #~ msgstr "Toeskouer: " #~ msgid "Number of AI Players" #~ msgstr "Aantal robotspelers" #~ msgid "The number of AI players" #~ msgstr "Die aantal robotspeler" #~ msgid "Recent Games" #~ msgstr "Onlangse Spelle" #~ msgid "You may choose 1 resource" #~ msgstr "Jy mag een hulpbron kies" #~ msgid "_Player name" #~ msgstr "S_pelernaam" #~ msgid "The Pioneers Game" #~ msgstr "Die Pioniers-spel" #~ msgid "Select the ship to steal from" #~ msgstr "Kies die skip om van te steel" #~ msgid "Select the building to steal from" #~ msgstr "Kies die gebou om van te steel" #~ msgid "Development Card" #~ msgstr "Ontwikkelingskaart" #~ msgid "Player Name:" #~ msgstr "Spelernaam:" #~ msgid "I Want" #~ msgstr "Ek wil hê" #~ msgid "Interplayer Trading Allowed?" #~ msgstr "Word tussenspeler ruilhandel toegelaat?" #~ msgid "Trading allowed only before build/buy?" #~ msgstr "Word ruilhandel slegs toegelaat voor bou/koop?" #~ msgid "Sevens Rule:" #~ msgstr "Sewes-reël:" #~ msgid "Use Pirate:" #~ msgstr "Gebruik seerower:" #~ msgid "Number of Players" #~ msgstr "Aantal spelers" #~ msgid "Development Cards" #~ msgstr "Ontwikkelingskaarte" #~ msgid "Save as..." #~ msgstr "Stoor as..." #~ msgid "Pioneers Game Editor" #~ msgstr "Pioniersspelredigeerder" #~ msgid "_Change title" #~ msgstr "_Verander titel" #~ msgid "Random Turn Order" #~ msgstr "Ewekansige beurtvolgorde" #~ msgid "_Legend" #~ msgstr "_Uiteensetting" #~ msgid "bad scaling mode '%s'" #~ msgstr "foutiewe skaalmodus '%s'" #~ msgid "Missing game directory\n" #~ msgstr "Spelgids ontbreek\n" #~ msgid "Leave empty for the default meta server" #~ msgstr "Los oop vir die verstek metabediener" #~ msgid "Override the language of the system" #~ msgstr "Oorheers die taal van die stelsel" #~ msgid "The address of the meta server" #~ msgstr "Die adres van die metabediener" pioneers-15.5/po/ca.po0000644000175000017500000030340413252242740011557 00000000000000# Pioneers - Settlers of Catan for GNOME. # This file is distributed under the same license as the pioneers package. # # Copyright (C) Jaume Badiella , 2013 # Jaume Badiella Aguilera , 2013-2016. msgid "" msgstr "" "Project-Id-Version: Pioneers 15.4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-03-14 16:51+0100\n" "PO-Revision-Date: 2016-06-23 20:08+0100\n" "Last-Translator: Jaume Badiella \n" "Language-Team: Catalan <>\n" "Language: ca\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Lokalize 1.5\n" "Plural-Forms: nplurals=2; plural=(n!=1)\n" #. Commandline pioneersai: chromosome-file #: ../client/ai/ai.c:90 msgid "Chromosome File" msgstr "Fitxer de Cromosoma" #. Commandline pioneersai: server #: ../client/ai/ai.c:93 msgid "Server Host" msgstr "Servidor" #. Commandline pioneersai: port #: ../client/ai/ai.c:96 msgid "Server Port" msgstr "Port" #. Commandline pioneersai: name #: ../client/ai/ai.c:99 msgid "Computer name (mandatory)" msgstr "Nom de l'ordinador (obligatori)" #. Commandline pioneersai: time #: ../client/ai/ai.c:102 msgid "Time to wait between turns (in milliseconds)" msgstr "Temps d'espera entre torns (en mil·lisegons)" #. Commandline pioneersai: chat-free #: ../client/ai/ai.c:105 msgid "Stop computer player from talking" msgstr "Fes callar el jugador artificial" #. Commandline pioneersai: algorithm #: ../client/ai/ai.c:108 msgid "Type of computer player" msgstr "Tipus de jugador artificial" #. Commandline option of ai: enable debug logging #. Commandline option of client: enable debug logging #. Commandline option of metaserver: enable debug logging #. Commandline option of server-gtk: enable debug logging #. Commandline option of server: enable debug logging #: ../client/ai/ai.c:111 ../client/gtk/offline.c:67 ../metaserver/main.c:631 #: ../server/gtk/main.c:1170 ../server/main.c:159 msgid "Enable debug messages" msgstr "Activa els missatges de depuració" #. Commandline option of ai: version #. Commandline option of client: version #. Commandline option of editor: version #. Commandline option of metaserver: version #. Commandline option of server-gtk: version #. Commandline option of server-console: version #: ../client/ai/ai.c:114 ../client/gtk/offline.c:70 ../editor/gtk/editor.c:1843 #: ../metaserver/main.c:637 ../server/gtk/main.c:1173 ../server/main.c:114 msgid "Show version information" msgstr "Mostra la informació de la versió" #. Long description in the commandline for pioneersai: help #: ../client/ai/ai.c:125 msgid "- Computer player for Pioneers" msgstr "- Jugador artificial de Pioneers" #: ../client/ai/ai.c:137 ../client/gtk/offline.c:196 #: ../editor/gtk/editor.c:1888 ../metaserver/main.c:687 #: ../server/gtk/main.c:1223 ../server/main.c:226 #, c-format msgid "Pioneers version:" msgstr "Versió de Pioneers:" #. ai commandline error #: ../client/ai/ai.c:160 #, c-format msgid "A name must be provided.\n" msgstr "Cal donar un nom.\n" #: ../client/ai/ai.c:171 #, c-format msgid "Type of computer player: %s\n" msgstr "Tipus de jugador artificial: %s\n" #: ../client/ai/ai.c:202 msgid "The game is already full. I'm leaving." msgstr "La partida ja està plena. Me'n vaig." #. AI chat at the start of the turn #: ../client/ai/ai.c:230 msgid "Ok, let's go!" msgstr "Val, som-hi!" #. AI chat at the start of the turn #: ../client/ai/ai.c:232 msgid "I'll beat you all now! ;)" msgstr "Ara us repassaré a tots! ;)" #. AI chat at the start of the turn #: ../client/ai/ai.c:234 msgid "Now for another try..." msgstr "Provem-ho un altre cop..." #. AI chat when one resource is received #: ../client/ai/ai.c:239 msgid "At least I get something..." msgstr "Almenys n'he tret alguna cosa..." #. AI chat when one resource is received #: ../client/ai/ai.c:241 msgid "One is better than none..." msgstr "Una millor que cap..." #. AI chat when more than one resource is received #: ../client/ai/ai.c:246 msgid "Wow!" msgstr "Uau!" #. AI chat when more than one resource is received #: ../client/ai/ai.c:248 msgid "Ey, I'm becoming rich ;)" msgstr "Ei, m'estic fent la barba d'or ;)" #. AI chat when more than one resource is received #: ../client/ai/ai.c:250 msgid "This is really a good year!" msgstr "Aquest és ben bé un bon any!" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:255 msgid "You really don't deserve that much!" msgstr "La veritat és que no et mereixes tant!" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:257 msgid "You don't know what to do with that many resources ;)" msgstr "No saps què fer amb tants recursos ;)" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:259 msgid "Ey, wait for my robber and lose all this again!" msgstr "Ei, espera que vingui el meu lladre i ho tornaràs a perdre tot!" #. AI chat when it moves the robber #: ../client/ai/ai.c:264 msgid "Hehe!" msgstr "He he!" #. AI chat when it moves the robber #: ../client/ai/ai.c:266 msgid "Go, robber, go!" msgstr "Vés, lladre, ves!" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:271 msgid "You bastard!" msgstr "Merda!" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:273 msgid "Can't you move that robber somewhere else?!" msgstr "No pots moure aquest lladre a un altre cantó?!" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:275 msgid "Why always me??" msgstr "Per què sempre jo??" #. AI chat when it must discard resources #: ../client/ai/ai.c:280 msgid "Oh no!" msgstr "Oh, no!" #. AI chat when it must discard resources #: ../client/ai/ai.c:282 msgid "Grrr!" msgstr "Grrr!" #. AI chat when it must discard resources #: ../client/ai/ai.c:284 msgid "Who the hell rolled that 7??" msgstr "Qui cony ha tret aquest 7??" #. AI chat when it must discard resources #: ../client/ai/ai.c:286 msgid "Why always me?!?" msgstr "Per què sempre jo?!?" #. AI chat when other players must discard #: ../client/ai/ai.c:291 msgid "Say good bye to your cards... :)" msgstr "Digues adéu a les teves cartes... :)" #. AI chat when other players must discard #: ../client/ai/ai.c:293 msgid "*evilgrin*" msgstr "*ganyota maliciosa*" #. AI chat when other players must discard #: ../client/ai/ai.c:295 msgid "/me says farewell to your cards ;)" msgstr "/me diu adéu a les teves cartes ;)" #. AI chat when other players must discard #: ../client/ai/ai.c:297 msgid "That's the price for being rich... :)" msgstr "Aquest és el preu de ser ric... :)" #. AI chat when someone steals from it #: ../client/ai/ai.c:302 msgid "Ey! Where's that card gone?" msgstr "Ei!, On ha anat a parar, aquesta carta?" #. AI chat when someone steals from it #: ../client/ai/ai.c:304 msgid "Thieves! Thieves!!" msgstr "Lladres! Lladres!!" #. AI chat when someone steals from it #: ../client/ai/ai.c:306 msgid "Wait for my revenge..." msgstr "Espera la meva revenja..." #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:311 msgid "Oh no :(" msgstr "Oh, no :(" #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:313 msgid "Must this happen NOW??" msgstr "Havia de passar això ARA??" #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:315 msgid "Args" msgstr "Bufa!" #. AI chat when it has the largest army #: ../client/ai/ai.c:320 msgid "Hehe, my soldiers rule!" msgstr "He he, els meus soldats manen!" #. AI chat when another player that the largest army #: ../client/ai/ai.c:325 msgid "First robbing us, then grabbing the points..." msgstr "Primer ens robes, després ens agafes els punts..." #. AI chat when it has the longest road #: ../client/ai/ai.c:330 msgid "See that road!" msgstr "Guaita quin camí!" #. AI chat when another player has the longest road #: ../client/ai/ai.c:335 msgid "Pf, you won't win with roads alone..." msgstr "Pff, no guanyaràs només amb camins..." #: ../client/ai/ai.c:434 #, c-format msgid "Received error from server: %s. Quitting\n" msgstr "Error rebut del servidor: %s. Abandonant\n" #. AI chat when it wins #: ../client/ai/ai.c:446 ../client/ai/genetic.c:2766 msgid "Yippie!" msgstr "Iupii!" #. AI chat when another player wins #: ../client/ai/ai.c:449 ../client/ai/genetic.c:2777 msgid "My congratulations" msgstr "Felicitats" #: ../client/ai/genetic.c:1277 ../client/ai/greedy.c:961 msgid "No settlements in stock to use for setup" msgstr "No hi ha cap poble disponible per a utilitzar-lo en el poblament" #: ../client/ai/genetic.c:1284 ../client/ai/greedy.c:968 msgid "There is no place to setup a settlement" msgstr "No hi ha lloc per muntar un poble" #: ../client/ai/genetic.c:1311 ../client/ai/greedy.c:992 msgid "No roads in stock to use for setup" msgstr "No hi ha cap camí disponible per a utilitzar-lo en el poblament" #: ../client/ai/genetic.c:1329 ../client/ai/greedy.c:1009 msgid "There is no place to setup a road" msgstr "No hi ha lloc per a muntar un camí" #: ../client/ai/genetic.c:2651 ../client/ai/greedy.c:1784 msgid "Rejecting trade.\n" msgstr "Es rebutja el tracte.\n" #. Translators: don't translate '/help' #: ../client/ai/lobbybot.c:80 msgid "" "Hello, welcome to the lobby. I am a simple robot. Type '/help' in the chat " "to see the list of commands I know." msgstr "" "Hola, benvingut/da a la sala. Sóc un simple robot. Escriu '/help' a la " "conversa per veure la llista d'ordres que conec." #. Translators: don't translate '/help' #: ../client/ai/lobbybot.c:107 msgid "'/help' shows this message again" msgstr "'/help' torna a mostrar aquest missatge" #. Translators: don't translate '/why' #: ../client/ai/lobbybot.c:110 msgid "'/why' explains the purpose of this strange board layout" msgstr "'/why' explica el propòsit d'aquest estrany arranjament del tauler" #. Translators: don't translate '/news' #: ../client/ai/lobbybot.c:113 msgid "'/news' tells the last released version" msgstr "'/news' explica quina és la darrera versió apareguda" #. AI chat that explains '/why' #: ../client/ai/lobbybot.c:119 msgid "" "This board is not intended to be a game that can be played. Instead, players " "can find eachother here, and decide which board they want to play. Then, one " "of the players will host the proposed game by starting a server, and " "registers it at the metaserver. The other players can subsequently " "disconnect from the lobby, and enter that game." msgstr "" "Aquest taulell no pretén ser un joc que es pugui jugar. En lloc d'això, els " "jugadors es poden trobar tots aquí i decidir amb quin taulell volen jugar. " "Llavors, un dels jugadors allotjarà la partida proposada bo i iniciant un " "servidor, i llavors el registrarà al metaservidor. Tot seguit, els altres " "jugadors es podran desconnectar de la sala i entrar a la partida." #: ../client/ai/lobbybot.c:130 msgid "The last released version of Pioneers is" msgstr "La versió més recent de Pioneers és" #. The lobbybot leaves when a game is starting #: ../client/ai/lobbybot.c:146 msgid "The game is starting. I'm not needed anymore. Goodbye." msgstr "Està començant la partida. Ja no em necessiteu. Adéu." #: ../client/common/client.c:105 msgid "Waiting" msgstr "Esperant" #: ../client/common/client.c:107 msgid "Idle" msgstr "Lliure" #: ../client/common/client.c:532 msgid "We have been kicked out of the game.\n" msgstr "Hem estat expulsats de la partida.\n" #. Network status: offline #: ../client/common/client.c:535 ../client/common/client.c:990 #: ../client/gtk/gui.c:1532 msgid "Offline" msgstr "Desconnectat" #: ../client/common/client.c:556 #, c-format msgid "Error (%s): %s\n" msgstr "Error (%s): %s\n" #: ../client/common/client.c:565 ../client/common/client.c:576 #, c-format msgid "Notice: %s\n" msgstr "Nota: %s\n" #: ../client/common/client.c:693 #, c-format msgid "%s does not receive any %s, because the bank is empty.\n" msgstr "%s no rep %s, perquè el banc està buit.\n" #: ../client/common/client.c:706 #, c-format msgid "%s only receives %s, because the bank didn't have any more.\n" msgstr "%s només rep %s, perquè el banc no en té més.\n" #: ../client/common/client.c:716 #, c-format msgid "%s receives %s.\n" msgstr "%s rep %s.\n" #. Year of Plenty #: ../client/common/client.c:724 ../client/common/client.c:2663 #, c-format msgid "%s takes %s.\n" msgstr "%s pren %s.\n" #: ../client/common/client.c:729 #, c-format msgid "%s spent %s.\n" msgstr "%s gasta %s.\n" #: ../client/common/client.c:735 #, c-format msgid "%s is refunded %s.\n" msgstr "A %s, li retornen %s.\n" #. %s = Player name #: ../client/common/client.c:753 #, c-format msgid "%s shuffled the dice deck.\n" msgstr "%s ha barrejat la baralla de daus.\n" #: ../client/common/client.c:772 #, c-format msgid "%s discarded %s.\n" msgstr "%s ha descartat %s.\n" #: ../client/common/client.c:846 #, c-format msgid "%s has won the game with %d victory points!\n" msgstr "%s ha guanyat la partida amb %d punts de victòria!\n" #: ../client/common/client.c:945 msgid "Loading" msgstr "Carregant" #: ../client/common/client.c:991 msgid "Version mismatch." msgstr "La versió no coincideix." #: ../client/common/client.c:993 msgid "Version mismatch. Please make sure client and server are up to date.\n" msgstr "" "La versió no coincideix. Assegura't que tant el client com el servidor estan " "actualitzats, si et plau.\n" #: ../client/common/client.c:1413 msgid "Build two settlements, each with a connecting" msgstr "Construeix dos pobles, connectats cadascun amb un" #: ../client/common/client.c:1416 msgid "Build a settlement with a connecting" msgstr "Construeix un poble connectat amb un" #: ../client/common/client.c:1419 msgid "road" msgstr "camí" #: ../client/common/client.c:1421 msgid "bridge" msgstr "pont" #: ../client/common/client.c:1423 msgid "ship" msgstr "vaixell" #: ../client/common/client.c:1430 msgid " or" msgstr " o" #: ../client/common/client.c:1494 msgid "Waiting for your turn." msgstr "S'està esperant el teu torn." #: ../client/common/client.c:1546 ../client/gtk/interface.c:784 msgid "Select the building to steal from." msgstr "Selecciona l'edifici d'on vols robar." #: ../client/common/client.c:1568 ../client/gtk/interface.c:774 msgid "Select the ship to steal from." msgstr "Selecciona el vaixell d'on vols robar" #: ../client/common/client.c:1652 ../client/gtk/interface.c:816 msgid "Place the robber." msgstr "Col·loca el lladre." #: ../client/common/client.c:1702 msgid "Finish the road building action." msgstr "Acaba l'acció de construcció del camí" #: ../client/common/client.c:1704 msgid "Build one road segment." msgstr "Construeix un segment de camí." #: ../client/common/client.c:1706 msgid "Build two road segments." msgstr "Construeix dos segments de camí." #. Notification #: ../client/common/client.c:1979 ../client/common/client.c:2073 #: ../client/gtk/interface.c:432 msgid "It is your turn." msgstr "Et toca a tu." #: ../client/common/client.c:2167 #, c-format msgid "Sorry, %s available.\n" msgstr "Ho sento, %s disponible.\n" #: ../client/common/client.c:2481 msgid "The game is over." msgstr "S'ha acabat la partida." #. This development card is unique #: ../client/common/develop.c:67 #, c-format msgid "You bought the %s development card.\n" msgstr "Has comprat la carta de desenvolupament %s.\n" #. This development card is not unique #: ../client/common/develop.c:73 #, c-format msgid "You bought a %s development card.\n" msgstr "Has comprat una carta de desenvolupament %s.\n" #: ../client/common/develop.c:103 #, c-format msgid "%s bought a development card.\n" msgstr "%s ha comprat una carta de desenvolupament.\n" #: ../client/common/develop.c:121 #, c-format msgid "%s played the %s development card.\n" msgstr "%s ha jugat la carta de desenvolupament %s.\n" #: ../client/common/develop.c:126 #, c-format msgid "%s played a %s development card.\n" msgstr "%s ha jugat una carta de desenvolupament %s.\n" #: ../client/common/develop.c:138 msgid "You have run out of road segments.\n" msgstr "T'has quedat sense segments de camí.\n" #. I get the cards #. $1=resources, $2=player that loses resources #: ../client/common/develop.c:179 #, c-format msgid "You get %s from %s.\n" msgstr "Agafes %s de %s.\n" #. I lose the cards #. $1=player that steals, $2=resources #: ../client/common/develop.c:185 #, c-format msgid "%s took %s from you.\n" msgstr "%s et pren %s.\n" #: ../client/common/develop.c:192 #, c-format msgid "%s took %s from %s.\n" msgstr "%s pren %s de %s.\n" #: ../client/common/player.c:125 ../server/player.c:567 #, c-format msgid "Spectator %d" msgstr "Espectador %d" #: ../client/common/player.c:128 #, c-format msgid "spectator %d" msgstr "espectador %d" #: ../client/common/player.c:137 ../server/player.c:570 #, c-format msgid "Player %d" msgstr "Jugador %d" #: ../client/common/player.c:139 #, c-format msgid "player %d" msgstr "jugador %d" #: ../client/common/player.c:216 #, c-format msgid "New spectator: %s.\n" msgstr "Nou espectador: %s.\n" #: ../client/common/player.c:219 ../client/common/player.c:235 #, c-format msgid "%s is now %s.\n" msgstr "%s és ara %s.\n" #: ../client/common/player.c:232 #, c-format msgid "Player %d is now %s.\n" msgstr "El jugador %d ara es diu %s.\n" #: ../client/common/player.c:269 #, c-format msgid "%s has quit.\n" msgstr "%s ha abandonat.\n" #: ../client/common/player.c:278 msgid "There is no largest army.\n" msgstr "No hi ha cap exèrcit més gran.\n" #: ../client/common/player.c:281 #, c-format msgid "%s has the largest army.\n" msgstr "%s té l'exèrcit més gran.\n" #: ../client/common/player.c:302 msgid "There is no longest road.\n" msgstr "No hi ha cap camí més llarg.\n" #: ../client/common/player.c:305 #, c-format msgid "%s has the longest road.\n" msgstr "%s té el camí més llarg.\n" #: ../client/common/player.c:326 #, c-format msgid "Waiting for %s." msgstr "S'està esperant %s." #. We are not in on the action #. someone stole a resource from someone else #: ../client/common/player.c:354 #, c-format msgid "%s stole a resource from %s.\n" msgstr "%s ha robat un recurs a %s.\n" #. $1=resource, $2=player name #: ../client/common/player.c:365 #, c-format msgid "You stole %s from %s.\n" msgstr "Has robat %s a %s.\n" #. $1=player name, $2=resource #: ../client/common/player.c:372 #, c-format msgid "%s stole %s from you.\n" msgstr "%s t'ha robat %s.\n" #: ../client/common/player.c:406 #, c-format msgid "%s gave %s nothing!?\n" msgstr "%s no ha donat res a %s!?\n" #. $1=giving player, $2=receiving player, $3=resources #: ../client/common/player.c:413 ../client/common/player.c:423 #, c-format msgid "%s gave %s %s for free.\n" msgstr "%s ha donat %s a %s de franc.\n" #: ../client/common/player.c:431 #, c-format msgid "%s gave %s %s in exchange for %s.\n" msgstr "%s ha donat %s a %s a canvi de %s.\n" #: ../client/common/player.c:462 #, c-format msgid "%s exchanged %s for %s.\n" msgstr "%s ha canviat %s per %s.\n" #: ../client/common/player.c:482 #, c-format msgid "%s built a road.\n" msgstr "%s ha construït un camí.\n" #: ../client/common/player.c:494 #, c-format msgid "%s built a ship.\n" msgstr "%s ha construït un vaixell.\n" #: ../client/common/player.c:507 #, c-format msgid "%s built a settlement.\n" msgstr "%s ha construït un poble.\n" #: ../client/common/player.c:526 #, c-format msgid "%s built a city.\n" msgstr "%s ha construït una ciutat.\n" #: ../client/common/player.c:540 #, c-format msgid "%s built a city wall.\n" msgstr "%s ha construït una muralla.\n" #. Error message #: ../client/common/player.c:551 #, c-format msgid "player_build_add called with BUILD_NONE for user %s\n" msgstr "S'ha cridat player_build_add amb BUILD_NONE per a l'usuari %s\n" #: ../client/common/player.c:561 #, c-format msgid "%s built a bridge.\n" msgstr "%s ha construït un pont.\n" #: ../client/common/player.c:587 #, c-format msgid "%s removed a road.\n" msgstr "%s ha tret un camí.\n" #: ../client/common/player.c:597 #, c-format msgid "%s removed a ship.\n" msgstr "%s ha tret un vaixell.\n" #: ../client/common/player.c:607 #, c-format msgid "%s removed a settlement.\n" msgstr "%s ha tret un poble.\n" #: ../client/common/player.c:618 #, c-format msgid "%s removed a city.\n" msgstr "%s ha tret una ciutat.\n" #: ../client/common/player.c:632 #, c-format msgid "%s removed a city wall.\n" msgstr "%s ha tret una muralla.\n" #. Error message #: ../client/common/player.c:642 #, c-format msgid "player_build_remove called with BUILD_NONE for user %s\n" msgstr "S'ha cridat player_build_remove amb BUILD_NONE per a l'usuari %s\n" #: ../client/common/player.c:651 #, c-format msgid "%s removed a bridge.\n" msgstr "%s ha tret un pont.\n" #: ../client/common/player.c:682 #, c-format msgid "%s has canceled a ship's movement.\n" msgstr "%s ha cancel·lat el moviment d'un vaixell.\n" #: ../client/common/player.c:685 #, c-format msgid "%s moved a ship.\n" msgstr "%s ha mogut un vaixell.\n" #. tell the user that someone got something #: ../client/common/player.c:705 #, c-format msgid "%s received %s.\n" msgstr "%s ha rebut %s.\n" #: ../client/common/player.c:724 msgid "server asks to lose invalid point.\n" msgstr "el servidor demana de perdre el punt invàlid.\n" #. tell the user the point is lost #: ../client/common/player.c:730 #, c-format msgid "%s lost %s.\n" msgstr "%s ha perdut %s.\n" #: ../client/common/player.c:753 msgid "server asks to move invalid point.\n" msgstr "el servidor demana desplaçar el punt invàlid.\n" #. tell the user someone (1) lost something (2) to someone else (3) #: ../client/common/player.c:760 #, c-format msgid "%s lost %s to %s.\n" msgstr "%s ha perdut %s en favor de %s.\n" #: ../client/common/resource.c:35 msgid "brick" msgstr "maó" #: ../client/common/resource.c:35 msgid "Brick" msgstr "Maó" #: ../client/common/resource.c:36 msgid "grain" msgstr "gra" #: ../client/common/resource.c:36 msgid "Grain" msgstr "Gra" #: ../client/common/resource.c:37 msgid "ore" msgstr "minerals" #: ../client/common/resource.c:37 msgid "Ore" msgstr "Minerals" #: ../client/common/resource.c:38 msgid "wool" msgstr "llana" #: ../client/common/resource.c:38 msgid "Wool" msgstr "Llana" #: ../client/common/resource.c:39 msgid "lumber" msgstr "fusta" #: ../client/common/resource.c:39 msgid "Lumber" msgstr "Fusta" #: ../client/common/resource.c:40 msgid "no resource (bug)" msgstr "cap recurs (cuc)" #: ../client/common/resource.c:40 msgid "No resource (bug)" msgstr "Cap recurs (cuc)" #: ../client/common/resource.c:41 msgid "any resource (bug)" msgstr "qualsevol recurs (cuc)" #: ../client/common/resource.c:41 msgid "Any resource (bug)" msgstr "Qualsevol recurs (cuc)" #: ../client/common/resource.c:42 msgid "gold" msgstr "or" #: ../client/common/resource.c:42 ../client/gtk/legend.c:41 msgid "Gold" msgstr "Or" #: ../client/common/resource.c:47 msgid "a brick card" msgstr "una carta de maó" #: ../client/common/resource.c:47 #, c-format msgid "%d brick cards" msgstr "%d cartes de maó" #: ../client/common/resource.c:48 msgid "a grain card" msgstr "una carta de gra" #: ../client/common/resource.c:48 #, c-format msgid "%d grain cards" msgstr "%d cartes de gra" #: ../client/common/resource.c:49 msgid "an ore card" msgstr "una carta de minerals" #: ../client/common/resource.c:49 #, c-format msgid "%d ore cards" msgstr "%d cartes de minerals" #: ../client/common/resource.c:50 msgid "a wool card" msgstr "una carta de llana" #: ../client/common/resource.c:50 #, c-format msgid "%d wool cards" msgstr "%d cartes de llana" #: ../client/common/resource.c:51 msgid "a lumber card" msgstr "una carta de fusta" #: ../client/common/resource.c:51 #, c-format msgid "%d lumber cards" msgstr "%d cartes de fusta" #: ../client/common/resource.c:139 ../client/common/resource.c:225 msgid "nothing" msgstr "res" #. Construct "A, B and C" for resources #: ../client/common/resource.c:166 #, c-format msgid "%s and %s" msgstr "%s i %s" #. Construct "A, B and C" for resources #: ../client/common/resource.c:170 #, c-format msgid "%s, %s" msgstr "%s, %s" #: ../client/common/robber.c:62 #, c-format msgid "%s has undone the robber movement.\n" msgstr "%s ha desfet el moviment del lladre.\n" #: ../client/common/robber.c:65 #, c-format msgid "%s moved the robber.\n" msgstr "%s ha mogut el lladre.\n" #: ../client/common/robber.c:75 #, c-format msgid "%s has undone the pirate movement.\n" msgstr "%s ha desfet el moviment del pirata.\n" #: ../client/common/robber.c:78 #, c-format msgid "%s moved the pirate.\n" msgstr "%s ha mogut el pirata.\n" #: ../client/common/robber.c:85 #, c-format msgid "%s must move the robber." msgstr "%s ha de moure el lladre." #: ../client/common/setup.c:146 #, c-format msgid "Setup for %s.\n" msgstr "Poblament per a %s.\n" #: ../client/common/setup.c:158 #, c-format msgid "Double setup for %s.\n" msgstr "Doble poblament per a %s.\n" #: ../client/common/turn.c:37 #, c-format msgid "%s rolled %d.\n" msgstr "%s ha tret un %d.\n" #: ../client/common/turn.c:50 #, c-format msgid "Begin turn %d for %s.\n" msgstr "Comença el torn %d per a %s.\n" #: ../client/gtk/avahi-browser.c:83 msgid "Select an automatically discovered game" msgstr "Selecciona una partida detectada automàticament" #. $1=Game title, $2=version, $3=host_name, $4=port #: ../client/gtk/avahi-browser.c:132 #, c-format msgid "%s (%s) on %s:%s" msgstr "%s (%s) a %s:%s" #. Label text #: ../client/gtk/chat.c:73 msgid "Chat" msgstr "Conversa" #: ../client/gtk/chat.c:232 msgid "Beeper test.\n" msgstr "Prova de xiulet.\n" #: ../client/gtk/chat.c:235 #, c-format msgid "%s beeped you.\n" msgstr "%s t'ha xiulat.\n" #: ../client/gtk/chat.c:239 #, c-format msgid "You beeped %s.\n" msgstr "Has xiulat a %s.\n" #: ../client/gtk/chat.c:245 #, c-format msgid "You could not beep %s.\n" msgstr "No has pogut xiular a %s.\n" #: ../client/gtk/chat.c:287 msgid " said: " msgstr " diu: " #: ../client/gtk/connect.c:286 #, c-format msgid "Metaserver at %s, port %s" msgstr "Metaservidor a %s, port %s" #: ../client/gtk/connect.c:296 msgid "Finished.\n" msgstr "Acabat.\n" #: ../client/gtk/connect.c:311 ../client/gtk/connect.c:389 #: ../client/gtk/connect.c:408 ../client/gtk/connect.c:979 msgid "The metaserver is not available anymore.\n" msgstr "El metaservidor ja no està disponible.\n" #: ../client/gtk/connect.c:322 ../client/gtk/connect.c:443 #: ../client/gtk/connect.c:770 msgid "The metaserver closed the connection unexpectedly.\n" msgstr "El metaservidor ha tancat la connexió inesperadament.\n" #: ../client/gtk/connect.c:380 msgid "Receiving game names from the metaserver.\n" msgstr "S'estan rebent noms de partides del metaservidor.\n" #: ../client/gtk/connect.c:422 #, c-format msgid "New game server requested on %s port %s.\n" msgstr "S'ha requerit un nou servidor de joc a %s, port %s.\n" #: ../client/gtk/connect.c:432 msgid "Incomplete information about the new game server received.\n" msgstr "S'ha rebut informació incompleta quant al nou servidor de joc.\n" #: ../client/gtk/connect.c:486 ../client/gtk/connect.c:492 ../server/meta.c:239 #, c-format msgid "Unknown message from the metaserver: %s\n" msgstr "Missatge desconegut del metaservidor: %s\n" #: ../client/gtk/connect.c:565 ../server/meta.c:178 #, c-format msgid "Receiving data from inactive session: %s\n" msgstr "S'estan rebent dades de la sessió inactiva: %s\n" #: ../client/gtk/connect.c:577 ../server/meta.c:192 msgid "Too many metaserver redirects.\n" msgstr "Massa redireccions del metaservidor\n" #: ../client/gtk/connect.c:606 ../server/meta.c:208 #, c-format msgid "Bad redirect line: %s\n" msgstr "Línia de redirecció incorrecta: %s\n" #: ../client/gtk/connect.c:631 #, c-format msgid "The metaserver is too old to create servers (version %d.%d)\n" msgstr "El metaservidor és massa vell per crear servidors (versió %d.%d)\n" #: ../client/gtk/connect.c:670 ../client/gtk/connect.c:749 #: ../client/gtk/connect.c:755 #, c-format msgid "Unexpected data from the metaserver: %s\n" msgstr "Dades inesperades del metaservidor: %s\n" #. Sevens rule: normal #: ../client/gtk/connect.c:701 ../client/gtk/settingscreen.c:181 #: ../common/gtk/game-rules.c:89 msgid "Normal" msgstr "Normal" #. Sevens rule: reroll on 1st 2 turns #: ../client/gtk/connect.c:706 ../client/gtk/settingscreen.c:183 #: ../common/gtk/game-rules.c:95 msgid "Reroll on 1st 2 turns" msgstr "Tornar a tirar en els primers 2 torns" #. Sevens rule: reroll all 7s #: ../client/gtk/connect.c:710 ../client/gtk/settingscreen.c:185 #: ../common/gtk/game-rules.c:102 msgid "Reroll all 7s" msgstr "Tornar a tirar a cada set" #: ../client/gtk/connect.c:724 msgid "Default" msgstr "Per defecte" #: ../client/gtk/connect.c:727 msgid "Random" msgstr "A l'atzar" #: ../client/gtk/connect.c:819 ../server/meta.c:299 #, c-format msgid "Redirected to the metaserver at %s.\n" msgstr "S'ha redireccionat al metaservidor a %s.\n" #: ../client/gtk/connect.c:824 ../server/meta.c:302 #, c-format msgid "Redirected to the metaserver at %s, port %s.\n" msgstr "S'ha redireccionat al metaservidor a %s, port %s.\n" #: ../client/gtk/connect.c:831 msgid "Receiving a list of Pioneers servers from the metaserver.\n" msgstr "S'està rebent una llista de servidors Pioneers del metaservidor.\n" #. Label #: ../client/gtk/connect.c:914 msgid "Number of computer players" msgstr "Nombre de jugadors artificials" #. Tooltip #: ../client/gtk/connect.c:935 msgid "The number of computer players" msgstr "El nombre de jugadors artificials" #. Canceled retrieving information #. * from the metaserver #: ../client/gtk/connect.c:957 ../client/gtk/connect.c:992 #: ../client/gtk/connect.c:1133 msgid "Canceled.\n" msgstr "S'ha cancel·lat.\n" #: ../client/gtk/connect.c:960 msgid "Requesting new game server.\n" msgstr "S'està demanant un nou servidor de joc.\n" #: ../client/gtk/connect.c:1015 ../server/gtk/main.c:370 ../server/server.c:123 #, c-format msgid "Error starting %s: %s\n" msgstr "Error en iniciar %s: %s\n" #. Dialog caption #: ../client/gtk/connect.c:1037 msgid "Create a Public Game" msgstr "Crea una Partida Pública" #. Button text #: ../client/gtk/connect.c:1040 ../client/gtk/connect.c:1191 #: ../client/gtk/connect.c:1440 ../client/gtk/connect.c:1744 #: ../client/gtk/name.c:147 ../editor/gtk/editor.c:1521 #: ../editor/gtk/editor.c:1562 ../editor/gtk/editor.c:1611 msgid "_Cancel" msgstr "_Cancel·la" #. Button text #: ../client/gtk/connect.c:1042 msgid "C_reate" msgstr "C_rea" #. Dialog caption #: ../client/gtk/connect.c:1182 msgid "Join a Public Game" msgstr "Apunta't a una Partida Pública" #. Button text #: ../client/gtk/connect.c:1185 msgid "_Refresh" msgstr "_Refresca" #. Button text #: ../client/gtk/connect.c:1188 msgid "_New Remote Game" msgstr "_Nova Partida Remota" #. Button text #: ../client/gtk/connect.c:1194 ../client/gtk/connect.c:1748 msgid "_Join" msgstr "Apunta-t'_hi" #. Tooltip #: ../client/gtk/connect.c:1237 msgid "Select a game to join" msgstr "Selecciona una partida" #. Column name #: ../client/gtk/connect.c:1241 msgid "Map Name" msgstr "Nom del Mapa" #. Tooltip for column 'Map Name' #: ../client/gtk/connect.c:1249 msgid "Name of the game" msgstr "Nom de la partida" #. Column name #: ../client/gtk/connect.c:1255 msgid "Curr" msgstr "Act" #. Tooltip for column 'Curr' #: ../client/gtk/connect.c:1262 msgid "Number of players in the game" msgstr "Nombre de jugadors a la partida" #. Column name #: ../client/gtk/connect.c:1268 msgid "Max" msgstr "Màx." #. Tooltip for column 'Max' #: ../client/gtk/connect.c:1275 msgid "Maximum players for the game" msgstr "Nombre màxim de jugadors per a la partida" #. Column name #: ../client/gtk/connect.c:1279 msgid "Terrain" msgstr "Terreny" #. Tooltip for column 'Terrain' #: ../client/gtk/connect.c:1287 msgid "Random of default terrain" msgstr "Terreny per defecte aleatori" #. Column name #: ../client/gtk/connect.c:1293 msgid "Vic. Points" msgstr "Punts de Vic." #. Tooltip for column 'Vic. Points' #: ../client/gtk/connect.c:1300 msgid "Points needed to win" msgstr "Punts necessaris per guanyar" #. Column name #: ../client/gtk/connect.c:1304 msgid "Sevens Rule" msgstr "Regla dels Sets" #. Tooltip for column 'Sevens Rule' #. Label #: ../client/gtk/connect.c:1312 ../common/gtk/game-rules.c:81 msgid "Sevens rule" msgstr "Regla dels sets" #. Column name #: ../client/gtk/connect.c:1316 msgid "Host" msgstr "Servidor" #. Tooltip for column 'Host' #: ../client/gtk/connect.c:1325 msgid "Host of the game" msgstr "Servidor de la partida" #. Column name #: ../client/gtk/connect.c:1331 msgid "Port" msgstr "Port" #. Tooltip for column 'Port' #: ../client/gtk/connect.c:1339 msgid "Port of the game" msgstr "Port de la partida" #. Column name #: ../client/gtk/connect.c:1343 msgid "Version" msgstr "Versió" #. Tooltip for column 'Version' #: ../client/gtk/connect.c:1351 msgid "Version of the host" msgstr "Versió del servidor" #. Dialog caption #: ../client/gtk/connect.c:1436 msgid "Start a New Game" msgstr "Comença una Nova Partida" #. Label #. Commandline option of client: name of the player #: ../client/gtk/connect.c:1464 ../client/gtk/offline.c:57 msgid "Player name" msgstr "Nom del jugador" #. Tooltip #: ../client/gtk/connect.c:1480 msgid "Enter your name" msgstr "Introdueix el teu nom de jugador" #. Check button #. Role of the player: spectator #: ../client/gtk/connect.c:1483 ../server/gtk/main.c:682 msgid "Spectator" msgstr "Espectador" #: ../client/gtk/connect.c:1493 msgid "Check if you want to be a spectator" msgstr "Marca-ho si vols ser un espectador" #. Label #: ../client/gtk/connect.c:1504 msgid "Avahi" msgstr "Avahi" #. Button #: ../client/gtk/connect.c:1511 msgid "Join" msgstr "Apunta-t'hi" #. Tooltip for button Join #: ../client/gtk/connect.c:1515 msgid "Join an automatically discovered game" msgstr "Apunta't a una partida descoberta automàticament" #. Label #. metaserver label #: ../client/gtk/connect.c:1542 ../server/gtk/main.c:593 msgid "Metaserver" msgstr "Metaservidor" #. Button #: ../client/gtk/connect.c:1564 msgid "Join Public Game" msgstr "Apunta't a una Partida Pública" #. Tooltip #: ../client/gtk/connect.c:1570 msgid "Join a public game" msgstr "Apunta't a una partida pública" #. Button #: ../client/gtk/connect.c:1575 msgid "Create Game" msgstr "Crea una Partida" #. Tooltip #: ../client/gtk/connect.c:1579 msgid "Create a game" msgstr "Crea una partida" #. Button #: ../client/gtk/connect.c:1588 msgid "Join Private Game" msgstr "Apunta't a una Partida Privada" #. Tooltip #. Dialog caption #: ../client/gtk/connect.c:1592 ../client/gtk/connect.c:1737 msgid "Join a private game" msgstr "Apunta't a una partida privada" #. Label #. Commandline option of client: hostname of the server #: ../client/gtk/connect.c:1777 ../client/gtk/offline.c:51 msgid "Server host" msgstr "Servidor" #. Tooltip #: ../client/gtk/connect.c:1791 msgid "Name of the host of the game" msgstr "Nom del servidor de la partida" #. Label #. Commandline option of client: port of the server #. server port label #: ../client/gtk/connect.c:1795 ../client/gtk/offline.c:54 #: ../server/gtk/main.c:555 msgid "Server port" msgstr "Port" #. Tooltip #: ../client/gtk/connect.c:1812 msgid "Port of the host of the game" msgstr "Port del servidor de la partida" #. Tooltip #. Label #: ../client/gtk/connect.c:1854 ../client/gtk/connect.c:1857 msgid "Recent games" msgstr "Partides recents" #. Caption for list of bought development cards #: ../client/gtk/develop.c:130 msgid "Development cards" msgstr "Cartes de desenvolupament" #. Button text: play development card #: ../client/gtk/develop.c:163 msgid "Play Card" msgstr "Juga la Carta" #. Dialog caption #: ../client/gtk/discard.c:77 msgid "Discard Resources" msgstr "Descarta Recursos" #. Button text #: ../client/gtk/discard.c:83 ../client/gtk/gameover.c:38 #: ../client/gtk/gold.c:78 ../client/gtk/monopoly.c:88 ../client/gtk/name.c:150 #: ../client/gtk/plenty.c:67 ../editor/gtk/editor.c:1614 msgid "_OK" msgstr "_Bé" #: ../client/gtk/discard.c:101 #, c-format msgid "You must discard %d resource" msgid_plural "You must discard %d resources" msgstr[0] "Has de descartar %d carta de recurs" msgstr[1] "Has de descartar %d cartes de recursos" #. Label #: ../client/gtk/discard.c:110 msgid "Total discards" msgstr "Total descartats" #. Caption for list of player that must discard cards #: ../client/gtk/discard.c:235 msgid "Waiting for players to discard" msgstr "Esperant que els jugadors es descartin" #. Dialog caption #: ../client/gtk/gameover.c:34 msgid "Game Over" msgstr "Fi de la Partida" #: ../client/gtk/gameover.c:52 #, c-format msgid "%s has won the game with %d victory points!" msgstr "%s ha guanyat la partida amb %d punts!" #: ../client/gtk/gameover.c:58 #, c-format msgid "All praise %s, Lord of the known world!" msgstr "Lloem a %s, Senyor del món conegut!" #. Dialog caption #: ../client/gtk/gold.c:72 msgid "Choose Resources" msgstr "Tria recursos" #: ../client/gtk/gold.c:96 #, c-format msgid "You may choose %d resource" msgid_plural "You may choose %d resources" msgstr[0] "Pots triar %d recurs" msgstr[1] "Pots triar %d recursos" #. Text for total in choose gold dialog #. Text for total in year of plenty dialog #: ../client/gtk/gold.c:105 ../client/gtk/plenty.c:103 msgid "Total resources" msgstr "Recursos totals" #. Caption for list of player that must choose gold #: ../client/gtk/gold.c:217 msgid "Waiting for players to choose" msgstr "Esperant que els jugadors triïn" #. Menu entry #: ../client/gtk/gui.c:224 ../server/gtk/main.c:91 msgid "_Game" msgstr "_Partida" #. Menu entry #: ../client/gtk/gui.c:227 msgid "_New Game" msgstr "_Nova Partida" #. Tooltip for New Game menu entry #: ../client/gtk/gui.c:229 msgid "Start a new game" msgstr "Comença una nova partida" #. Menu entry #: ../client/gtk/gui.c:232 msgid "_Leave Game" msgstr "A_bandona la Partida" #. Tooltip for Leave Game menu entry #: ../client/gtk/gui.c:234 msgid "Leave this game" msgstr "Deixa aquesta partida" #. Menu entry #: ../client/gtk/gui.c:238 msgid "_Admin" msgstr "_Administració" #. Tooltip for Admin menu entry #: ../client/gtk/gui.c:240 msgid "Administer Pioneers server" msgstr "Administra el servidor de Pioneers" #. Menu entry #: ../client/gtk/gui.c:244 msgid "_Player Name" msgstr "Nom del _Jugador" #. Tooltip for Player Name menu entry #: ../client/gtk/gui.c:246 msgid "Change your player name" msgstr "Canvia el teu nom de jugador" #. Menu entry #: ../client/gtk/gui.c:249 msgid "L_egend" msgstr "Ll_egenda" #. Tooltip for Legend menu entry #: ../client/gtk/gui.c:251 msgid "Terrain legend and building costs" msgstr "Llegenda de terrenys i costos de construcció" #. Menu entry #: ../client/gtk/gui.c:254 msgid "_Game Settings" msgstr "Paràmetres de la _Partida" #. Tooltip for Game Settings menu entry #: ../client/gtk/gui.c:256 msgid "Settings for the current game" msgstr "Paràmetres de la partida actual" #. Menu entry #: ../client/gtk/gui.c:259 msgid "_Dice Histogram" msgstr "Histograma dels _Daus" #. Tooltip for Dice Histogram menu entry #: ../client/gtk/gui.c:261 msgid "Histogram of dice rolls" msgstr "Histograma de les tirades de daus" #. Menu entry #: ../client/gtk/gui.c:264 ../editor/gtk/editor.c:1759 ../server/gtk/main.c:103 msgid "_Quit" msgstr "_Surt" #. Tooltip for Quit menu entry #. Tooltop for Quit menu entry #: ../client/gtk/gui.c:266 ../server/gtk/main.c:105 msgid "Quit the program" msgstr "Surt del programa" #. Menu entry #: ../client/gtk/gui.c:269 msgid "_Actions" msgstr "_Accions" #. Menu entry #: ../client/gtk/gui.c:272 msgid "Roll Dice" msgstr "Tira els Daus" #. Tooltip for Roll Dice menu entry #: ../client/gtk/gui.c:274 msgid "Roll the dice" msgstr "Tira els daus" #. Menu entry #. Tooltip for Trade menu entry #. Tab page name #: ../client/gtk/gui.c:277 ../client/gtk/gui.c:279 ../client/gtk/gui.c:710 msgid "Trade" msgstr "Comerç" #. Menu entry #. Tooltip for Undo menu entry #: ../client/gtk/gui.c:283 ../client/gtk/gui.c:285 msgid "Undo" msgstr "Desfés" #. Menu entry #. Tooltip for Finish menu entry #: ../client/gtk/gui.c:288 ../client/gtk/gui.c:290 msgid "Finish" msgstr "Acaba" #. Menu entry #: ../client/gtk/gui.c:293 ../client/gtk/legend.c:189 #: ../editor/gtk/game-buildings.c:10 msgid "Road" msgstr "Camí" #. Tooltip for Road menu entry #: ../client/gtk/gui.c:295 msgid "Build a road" msgstr "Construeix un camí" #. Menu entry #: ../client/gtk/gui.c:298 ../client/gtk/legend.c:193 #: ../editor/gtk/game-buildings.c:10 msgid "Ship" msgstr "Vaixell" #. Tooltip for Ship menu entry #: ../client/gtk/gui.c:300 msgid "Build a ship" msgstr "Construeix un vaixell" #. Menu entry #: ../client/gtk/gui.c:303 msgid "Move Ship" msgstr "Mou un Vaixell" #. Tooltip for Move Ship menu entry #: ../client/gtk/gui.c:305 msgid "Move a ship" msgstr "Mou un vaixell" #. Menu entry #: ../client/gtk/gui.c:308 ../client/gtk/legend.c:196 #: ../editor/gtk/game-buildings.c:10 msgid "Bridge" msgstr "Pont" #. Tooltip for Bridge menu entry #: ../client/gtk/gui.c:310 msgid "Build a bridge" msgstr "Construeix un pont" #. Menu entry #: ../client/gtk/gui.c:313 ../client/gtk/legend.c:198 ../client/gtk/player.c:52 #: ../editor/gtk/game-buildings.c:10 msgid "Settlement" msgstr "Poble" #. Tooltip for Settlement menu entry #: ../client/gtk/gui.c:316 msgid "Build a settlement" msgstr "Construeix un poble" #. Menu entry #: ../client/gtk/gui.c:319 ../client/gtk/legend.c:199 ../client/gtk/player.c:53 #: ../editor/gtk/game-buildings.c:11 msgid "City" msgstr "Ciutat" #. Tooltip for City menu entry #: ../client/gtk/gui.c:321 msgid "Build a city" msgstr "Construeix una ciutat" #. Menu entry #: ../client/gtk/gui.c:324 msgid "Develop" msgstr "Desenvolupa" #. Tooltip for Develop menu entry #: ../client/gtk/gui.c:326 msgid "Buy a development card" msgstr "Compra una carta de desenvolupament" #. Menu entry #: ../client/gtk/gui.c:329 msgid "City Wall" msgstr "Muralla" #. Tooltip for City Wall menu entry #: ../client/gtk/gui.c:331 msgid "Build a city wall" msgstr "Construeix una muralla" #. Menu entry #: ../client/gtk/gui.c:335 msgid "_Settings" msgstr "_Paràmetres" #. Menu entry #: ../client/gtk/gui.c:338 msgid "Prefere_nces" msgstr "Preferè_ncies" #. Tooltip for Preferences menu entry #: ../client/gtk/gui.c:340 msgid "Configure the application" msgstr "Configura l'aplicació" #. Menu entry #: ../client/gtk/gui.c:344 ../editor/gtk/editor.c:1721 msgid "_View" msgstr "_Visualitza" #. Menu entry #: ../client/gtk/gui.c:347 ../editor/gtk/editor.c:1765 msgid "_Reset" msgstr "_Reinicia" #. Tooltip for Reset menu entry #: ../client/gtk/gui.c:350 ../editor/gtk/editor.c:1768 msgid "View the full map" msgstr "Visualitza el mapa complet" #. Menu entry #: ../client/gtk/gui.c:353 ../editor/gtk/editor.c:1771 msgid "_Center" msgstr "_Centra" #. Tooltip for Center menu entry #: ../client/gtk/gui.c:355 ../editor/gtk/editor.c:1773 msgid "Center the map" msgstr "Centra el mapa" #. Menu entry #: ../client/gtk/gui.c:359 ../client/gtk/gui.c:368 ../editor/gtk/editor.c:1724 #: ../server/gtk/main.c:94 msgid "_Help" msgstr "A_juda" #. Menu entry #: ../client/gtk/gui.c:362 msgid "_About Pioneers" msgstr "Quant _a Pioneers" #. Tooltip for About Pioneers menu entry #: ../client/gtk/gui.c:364 msgid "Information about Pioneers" msgstr "Informació sobre Pioneers" #. Tooltip for Help menu entry #: ../client/gtk/gui.c:370 ../client/gtk/gui.c:1258 msgid "Show the manual" msgstr "Mostra el manual" #. Menu entry #: ../client/gtk/gui.c:378 ../editor/gtk/editor.c:1791 msgid "_Fullscreen" msgstr "Pantalla Co_mpleta" #. Tooltip for Fullscreen menu entry #: ../client/gtk/gui.c:381 ../editor/gtk/editor.c:1794 msgid "Set window to full screen mode" msgstr "Posa la finestra a pantalla completa" #. Menu entry #: ../client/gtk/gui.c:386 msgid "_Toolbar" msgstr "Barra d'_Eines" #. Tooltip for Toolbar menu entry #: ../client/gtk/gui.c:388 msgid "Show or hide the toolbar" msgstr "Mostra o amaga la barra d'eines" #. Victory points target in statusbar #: ../client/gtk/gui.c:491 #, c-format msgid "Points needed to win: %i" msgstr "Punts necessaris per guanyar: %i" #: ../client/gtk/gui.c:577 msgid "Messages" msgstr "Missatges" #. Tab page name #: ../client/gtk/gui.c:703 ../editor/gtk/editor.c:1946 msgid "Map" msgstr "Mapa" #. Tooltip #: ../client/gtk/gui.c:712 msgid "Finish trading" msgstr "Acaba els tractes" #. Tab page name #. Button text #: ../client/gtk/gui.c:722 ../client/gtk/quote.c:339 msgid "Quote" msgstr "Oferta" #. Tooltip #: ../client/gtk/gui.c:724 msgid "Reject domestic trade" msgstr "Rebutja tracte local" #. Tab page name #. Dialog caption #: ../client/gtk/gui.c:734 ../client/gtk/legend.c:249 msgid "Legend" msgstr "Llegenda" #. Tab page name, shown for the splash screen #: ../client/gtk/gui.c:744 msgid "Welcome to Pioneers" msgstr "Benvingut/da a Pioneers" #. Caption of preferences dialog #: ../client/gtk/gui.c:1028 msgid "Pioneers Preferences" msgstr "Preferències de Pioneers" #. Button text #: ../client/gtk/gui.c:1034 ../client/gtk/histogram.c:252 #: ../client/gtk/legend.c:253 ../client/gtk/settingscreen.c:413 msgid "_Close" msgstr "Tan_ca" #. Label for changing the theme, in the preferences dialog #: ../client/gtk/gui.c:1059 msgid "Theme:" msgstr "Tema:" #. Tooltip for changing the theme in the preferences dialog #: ../client/gtk/gui.c:1082 msgid "Choose one of the themes" msgstr "Tria un dels temes" #. Label for the option to show the legend #: ../client/gtk/gui.c:1086 msgid "Show legend" msgstr "Mostra la llegenda" #. Tooltip for the option to show the legend #: ../client/gtk/gui.c:1096 msgid "Show the legend as a page beside the map" msgstr "Mostra la llegenda com una pàgina al costat del mapa" #. Label for the option to display log messages in color #: ../client/gtk/gui.c:1101 msgid "Messages with color" msgstr "Missatges amb colors" #. Tooltip for the option to display log messages in color #: ../client/gtk/gui.c:1111 msgid "Show new messages with color" msgstr "Mostra els missatges amb colors" #. Label for the option to display chat in color of player #: ../client/gtk/gui.c:1116 msgid "Chat in color of player" msgstr "Conversa amb el color del jugador" #. Tooltip for the option to display chat in color of player #: ../client/gtk/gui.c:1127 msgid "Show new chat messages in the color of the player" msgstr "Mostrar els nous missatges de conversa amb el color del jugador" #. Label for the option to display the summary with colors #: ../client/gtk/gui.c:1132 msgid "Summary with color" msgstr "Resum en color" #. Tooltip for the option to display the summary with colors #: ../client/gtk/gui.c:1143 msgid "Use colors in the player summary" msgstr "Utilitza colors al resum del jugador" #. Label for the option to display keyboard accelerators in the toolbar #: ../client/gtk/gui.c:1148 msgid "Toolbar with shortcuts" msgstr "Barra d'eines amb dreceres" #. Tooltip for the option to display keyboard accelerators in the toolbar #: ../client/gtk/gui.c:1158 msgid "Show keyboard shortcuts in the toolbar" msgstr "Mostra les dreceres de teclat a la barra d'eines" #. Label for the option to disable all sounds #: ../client/gtk/gui.c:1164 msgid "Silent mode" msgstr "Mode silenciós" #. Tooltip for the option to disable all sounds #: ../client/gtk/gui.c:1170 msgid "In silent mode no sounds are made" msgstr "En mode silenciós, no es reprodueix cap so." #. Label for the option to announce when players/spectators enter #: ../client/gtk/gui.c:1176 msgid "Announce new players" msgstr "Anuncia els nous jugadors" #. Tooltip for the option to use sound when players/spectators enter #: ../client/gtk/gui.c:1186 msgid "Make a sound when a new player or spectator enters the game" msgstr "Fes un so quan un nou jugador o espectador entri a la partida" #. Label for the option to use the notifications. #: ../client/gtk/gui.c:1198 msgid "Show notifications" msgstr "Mostra notificacions" #. Tooltip for notifications option. #: ../client/gtk/gui.c:1208 msgid "Show notifications when it's your turn or when new trade is available" msgstr "" "Mostra les notificacions quan és el teu torn o quan es poden fer tractes" #. Label for the option to use the 16:9 layout. #: ../client/gtk/gui.c:1214 msgid "Use 16:9 layout" msgstr "Utilitza una disposició de 16:9" #. Tooltip for 16:9 option. #: ../client/gtk/gui.c:1224 msgid "Use a 16:9 friendly layout for the window" msgstr "Utilitza una disposició amigable de 16:9 per a la finestra" #. Caption of about box #: ../client/gtk/gui.c:1233 msgid "About Pioneers" msgstr "Quant a Pioneers" #. Initial text in status bar #: ../client/gtk/gui.c:1544 ../client/gtk/offline.c:107 msgid "Welcome to Pioneers!" msgstr "Benvingut/da a Pioneers!" #. The name of the application #. Name of the application #: ../client/gtk/gui.c:1606 ../client/gtk/offline.c:209 #: ../client/gtk/pioneers.desktop.in.h:1 msgid "Pioneers" msgstr "Pioneers" #. Dialog caption #: ../client/gtk/histogram.c:248 msgid "Dice Histogram" msgstr "Histograma dels Daus" #: ../client/gtk/interface.c:111 msgid "Ship movement canceled." msgstr "Moviment de vaixell cancel·lat." #: ../client/gtk/interface.c:119 ../client/gtk/interface.c:120 msgid "Select a new location for the ship." msgstr "Selecciona una nova ubicació per al vaixell." #. Notification #: ../client/gtk/interface.c:919 msgid "It is your turn to setup." msgstr "Et toca col·locar a tu." #: ../client/gtk/legend.c:34 msgid "Hill" msgstr "Pujol" #: ../client/gtk/legend.c:35 msgid "Field" msgstr "Camp" #: ../client/gtk/legend.c:36 msgid "Mountain" msgstr "Muntanya" #: ../client/gtk/legend.c:37 msgid "Pasture" msgstr "Pastura" #: ../client/gtk/legend.c:38 msgid "Forest" msgstr "Bosc" #: ../client/gtk/legend.c:39 msgid "Desert" msgstr "Desert" #: ../client/gtk/legend.c:40 msgid "Sea" msgstr "Mar" #. Label #: ../client/gtk/legend.c:132 msgid "Terrain yield" msgstr "Rendiments del terreny" #. Label #: ../client/gtk/legend.c:165 msgid "Building costs" msgstr "Costos de construcció" #: ../client/gtk/legend.c:203 ../client/gtk/player.c:54 #: ../editor/gtk/game-buildings.c:11 msgid "City wall" msgstr "Muralla" #: ../client/gtk/legend.c:206 ../client/gtk/player.c:65 msgid "Development card" msgstr "Carta de desenvolupament" #. Dialog caption #. Name of the development card #: ../client/gtk/monopoly.c:84 ../common/cards.c:86 msgid "Monopoly" msgstr "Monopoli" #. Label #: ../client/gtk/monopoly.c:106 msgid "Select the resource you wish to monopolize." msgstr "Selecciona el recurs que vols monopolitzar." #. Dialog caption #: ../client/gtk/name.c:141 msgid "Change Player Name" msgstr "Canvia el Nom de Jugador" #. Label #: ../client/gtk/name.c:172 msgid "Player name:" msgstr "Nom de jugador:" #. Label: set player icon preferences #: ../client/gtk/name.c:234 msgid "Face:" msgstr "Cara:" #. Label: set player icon preferences #: ../client/gtk/name.c:250 msgid "Variant:" msgstr "Variació:" #: ../client/gtk/offline.c:61 msgid "Connect as a spectator" msgstr "Connecta't com a espectador" #: ../client/gtk/offline.c:64 msgid "Metaserver Host" msgstr "Servidor metaservidor" #: ../client/gtk/offline.c:78 msgid "Select a game to join." msgstr "Selecciona una partida per jugar." #: ../client/gtk/offline.c:94 msgid "Connecting" msgstr "Connectant" #. Long description in the commandline for pioneers: help #: ../client/gtk/offline.c:183 msgid "- Play a game of Pioneers" msgstr "- Juga una partida de Pioneers" #: ../client/gtk/pioneers.desktop.in.h:2 msgid "Play a game of Pioneers" msgstr "Juga una Partida de Pioneers" #: ../client/gtk/pioneers.desktop.in.h:3 msgid "game;board;play;Pioneers;Settlers;" msgstr "partida;taulell;joc;Pioneers;Colons;" #: ../client/gtk/player.c:52 msgid "Settlements" msgstr "Pobles" #: ../client/gtk/player.c:53 msgid "Cities" msgstr "Ciutats" #: ../client/gtk/player.c:54 msgid "City walls" msgstr "Muralles" #: ../client/gtk/player.c:55 msgid "Largest army" msgstr "Exèrcit més gran" #: ../client/gtk/player.c:56 msgid "Longest road" msgstr "Camí més llarg" #. Name of the development card #: ../client/gtk/player.c:57 ../common/cards.c:92 msgid "Chapel" msgstr "Capella" #: ../client/gtk/player.c:57 msgid "Chapels" msgstr "Capelles" #. Name of the development card #: ../client/gtk/player.c:58 ../common/cards.c:95 msgid "Pioneer university" msgstr "Universitat pionera" #: ../client/gtk/player.c:58 msgid "Pioneer universities" msgstr "Universitats pioneres" #. Name of the development card #: ../client/gtk/player.c:60 ../common/cards.c:98 msgid "Governor's house" msgstr "Palau del governador" #: ../client/gtk/player.c:60 msgid "Governor's houses" msgstr "Palaus del governador" #. Name of the development card #: ../client/gtk/player.c:61 ../common/cards.c:101 msgid "Library" msgstr "Biblioteca" #: ../client/gtk/player.c:61 msgid "Libraries" msgstr "Biblioteques" #. Name of the development card #: ../client/gtk/player.c:62 ../common/cards.c:104 msgid "Market" msgstr "Mercat" #: ../client/gtk/player.c:62 msgid "Markets" msgstr "Mercats" #. Name of the development card #: ../client/gtk/player.c:63 ../common/cards.c:107 msgid "Soldier" msgstr "Soldat" #: ../client/gtk/player.c:63 msgid "Soldiers" msgstr "Soldats" #: ../client/gtk/player.c:64 msgid "Resource card" msgstr "Carta de recurs" #: ../client/gtk/player.c:64 msgid "Resource cards" msgstr "Cartes de recursos" #. Caption #: ../client/gtk/player.c:65 ../editor/gtk/editor.c:1305 msgid "Development cards" msgstr "Cartes de desenvolupament" #. Caption for the overview of the points and card of other players #: ../client/gtk/player.c:559 msgid "Player summary" msgstr "Resum de jugadors" #. Dialog caption #: ../client/gtk/plenty.c:61 msgid "Year of Plenty" msgstr "Any d'Abundància" #: ../client/gtk/plenty.c:92 msgid "Please choose one resource from the bank" msgstr "Tria un recurs del banc, si et plau" #: ../client/gtk/plenty.c:95 msgid "Please choose two resources from the bank" msgstr "Tria dos recursos del banc, si et plau" #: ../client/gtk/plenty.c:97 msgid "The bank is empty" msgstr "El banc està buit" #: ../client/gtk/quote.c:187 #, c-format msgid "%s has %s, and is looking for %s" msgstr "%s té %s, i busca %s" #. Notification #: ../client/gtk/quote.c:217 #, c-format msgid "New offer from %s." msgstr "Nova oferta de %s." #. Notification #: ../client/gtk/quote.c:242 #, c-format msgid "Offer from %s." msgstr "Oferta de %s." #. Label #. Frame title, trade: I want to trade these resources #: ../client/gtk/quote.c:316 ../client/gtk/trade.c:524 msgid "I want" msgstr "Vull" #. Label #. Frame title, trade: I want these resources in return #: ../client/gtk/quote.c:326 ../client/gtk/trade.c:530 msgid "Give them" msgstr "Dono" #. Button text #: ../client/gtk/quote.c:345 msgid "Delete" msgstr "Esborra" #. Button text #: ../client/gtk/quote.c:370 msgid "Reject Domestic Trade" msgstr "Rebutja el Tracte Local" #. Now create columns #. Table header: Player who trades #. Role of the player: player #: ../client/gtk/quote-view.c:170 ../server/gtk/main.c:684 msgid "Player" msgstr "Jugador" #. Table header: Quote #: ../client/gtk/quote-view.c:185 msgid "Quotes" msgstr "Ofertes" #. trade: maritime quote: %1 resources of type %2 for #. * one resource of type %3 #: ../client/gtk/quote-view.c:303 #, c-format msgid "%d:1 %s for %s" msgstr "%d:1 %s per %s" #. Trade: a player has rejected trade #: ../client/gtk/quote-view.c:442 msgid "Rejected trade" msgstr "Tracte rebutjat" #. Caption for overview of the resources of the player #: ../client/gtk/resource.c:71 msgid "Resources" msgstr "Recursos" #. Label #: ../client/gtk/resource.c:86 msgid "Total" msgstr "Total" #. Tooltip for the amount of resources in the hand #: ../client/gtk/resource-table.c:180 msgid "Amount in hand" msgstr "Total a la mà" #. Button for decreasing the selected amount #: ../client/gtk/resource-table.c:185 msgid "" msgstr "més>" #. Tooltip for increasing the selected amount #: ../client/gtk/resource-table.c:226 msgid "Increase the selected amount" msgstr "Augmenta la quantitat seleccionada" #. Tooltip for the selected amount #: ../client/gtk/resource-table.c:243 msgid "Selected amount" msgstr "Quantitat seleccionada" #. Tooltip for the total selected amount #: ../client/gtk/resource-table.c:288 msgid "Total selected amount" msgstr "Quantitat seleccionada total" #. Tooltip when the bank cannot be emptied #: ../client/gtk/resource-table.c:307 msgid "The bank cannot be emptied" msgstr "No es pot buidar el banc" #: ../client/gtk/settingscreen.c:74 msgid "Yes" msgstr "Sí" #: ../client/gtk/settingscreen.c:76 ../client/gtk/settingscreen.c:240 msgid "No" msgstr "No" #: ../client/gtk/settingscreen.c:87 ../client/gtk/settingscreen.c:187 msgid "Unknown" msgstr "Desconegut" #: ../client/gtk/settingscreen.c:121 msgid "No game in progress..." msgstr "No hi ha cap partida en curs..." #. Label #: ../client/gtk/settingscreen.c:132 msgid "General settings" msgstr "Paràmetres generals" #: ../client/gtk/settingscreen.c:149 msgid "Number of players:" msgstr "Nombre de jugadors:" #: ../client/gtk/settingscreen.c:153 msgid "Victory point target:" msgstr "Punts de victòria objectiu:" #: ../client/gtk/settingscreen.c:157 msgid "Random terrain:" msgstr "Terreny aleatori:" #: ../client/gtk/settingscreen.c:161 msgid "Allow trade between players:" msgstr "Permet els tractes entre jugadors:" #: ../client/gtk/settingscreen.c:166 msgid "Allow trade only before building or buying:" msgstr "Permet els tractes només abans de construir o comprar:" #: ../client/gtk/settingscreen.c:171 msgid "Check victory only at end of turn:" msgstr "Comprova els punts de victòria només al final del torn" #: ../client/gtk/settingscreen.c:176 msgid "Amount of each resource:" msgstr "Quantitat de cada recurs:" #: ../client/gtk/settingscreen.c:190 msgid "Sevens rule:" msgstr "Regla dels sets:" #: ../client/gtk/settingscreen.c:196 msgid "Use dice deck instead of dice:" msgstr "Utilitza baralles de daus en lloc de daus:" #: ../client/gtk/settingscreen.c:201 msgid "Number of dice decks:" msgstr "Nombre de baralles de daus:" #: ../client/gtk/settingscreen.c:207 msgid "Number of dice cards removed after shuffling:" msgstr "Nombre de cartes de daus eliminades després de remenar:" #: ../client/gtk/settingscreen.c:214 msgid "Use the pirate to block ships:" msgstr "Utilitza el pirata per bloquejar vaixells:" #: ../client/gtk/settingscreen.c:243 msgid "Island discovery bonuses:" msgstr "Bonificacions per descobriment d'illes:" #. Label #: ../client/gtk/settingscreen.c:260 msgid "Building quotas" msgstr "Costos de construcció" #: ../client/gtk/settingscreen.c:277 msgid "Roads:" msgstr "Camins:" #: ../client/gtk/settingscreen.c:283 msgid "Settlements:" msgstr "Pobles:" #: ../client/gtk/settingscreen.c:289 msgid "Cities:" msgstr "Ciutats:" #: ../client/gtk/settingscreen.c:295 msgid "City walls:" msgstr "Muralles:" #: ../client/gtk/settingscreen.c:301 msgid "Ships:" msgstr "Vaixells:" #: ../client/gtk/settingscreen.c:307 msgid "Bridges:" msgstr "Ponts:" #. Label #: ../client/gtk/settingscreen.c:320 msgid "Development card deck" msgstr "Cartes de desenvolupament" #: ../client/gtk/settingscreen.c:336 msgid "Road building cards:" msgstr "Cartes de construir camins:" #: ../client/gtk/settingscreen.c:340 msgid "Monopoly cards:" msgstr "Cartes de monopoli:" #: ../client/gtk/settingscreen.c:344 msgid "Year of plenty cards:" msgstr "Cartes d'any d'abundància:" #: ../client/gtk/settingscreen.c:348 msgid "Chapel cards:" msgstr "Cartes de capella:" #: ../client/gtk/settingscreen.c:352 msgid "Pioneer university cards:" msgstr "Cartes d'universitat pionera:" #: ../client/gtk/settingscreen.c:356 msgid "Governor's house cards:" msgstr "Cartes e palau del governador:" #: ../client/gtk/settingscreen.c:360 msgid "Library cards:" msgstr "Cartes de biblioteca:" #: ../client/gtk/settingscreen.c:364 msgid "Market cards:" msgstr "Cartes de mercat:" #: ../client/gtk/settingscreen.c:368 msgid "Soldier cards:" msgstr "Cartes de soldat:" #. Dialog caption #: ../client/gtk/settingscreen.c:407 msgid "Current Game Settings" msgstr "Paràmetres de la Partida Actual" #. trade: you ask for something for free #: ../client/gtk/trade.c:205 #, c-format msgid "ask for %s for free" msgstr "demana %s de franc" #. trade: you give something away for free #: ../client/gtk/trade.c:210 #, c-format msgid "give %s for free" msgstr "dóna %s de franc" #. trade: you trade something for something else #: ../client/gtk/trade.c:215 #, c-format msgid "give %s for %s" msgstr "dóna %s per %s" #. I want some resources, and give them some resources #: ../client/gtk/trade.c:242 #, c-format msgid "I want %s, and give them %s" msgstr "Vull %s, i dono %s" #. Notification #: ../client/gtk/trade.c:348 #, c-format msgid "Quote received from %s." msgstr "Oferta rebuda de %s." #. Button text, trade: call for quotes from other players #: ../client/gtk/trade.c:539 msgid "_Call for Quotes" msgstr "_Demana Ofertes" #. Button text: Trade page, accept selected quote #: ../client/gtk/trade.c:568 msgid "_Accept Quote" msgstr "_Accepta Oferta" #. Button text: Trade page, finish trading #: ../client/gtk/trade.c:574 msgid "_Finish Trading" msgstr "Acaba el _Tracte" #. Name of the development card #: ../common/cards.c:83 msgid "Road building" msgstr "Construcció de camins" #. Name of the development card #: ../common/cards.c:89 msgid "Year of plenty" msgstr "Any d'abundància" #. Description of the 'Road Building' development card #: ../common/cards.c:118 msgid "Build two new roads" msgstr "Construeix dos nous camins" #. Description of the 'Monopoly' development card #: ../common/cards.c:121 msgid "" "Select a resource type and take every card of that type held by all other " "players" msgstr "" "Selecciona un tipus de recurs i pren totes les cartes d'aquest tipus que " "tinguin els altres jugadors" #. Description of the 'Year of Plenty' development card #: ../common/cards.c:125 msgid "" "Take two resource cards of any type from the bank (cards may be of the same " "or different types)" msgstr "" "Pren dues cartes de recursos de qualsevol tipus del banc (les cartes poden " "ser igual o diferents)" #. Description of a development card of 1 victory point #: ../common/cards.c:134 msgid "One victory point" msgstr "Un punt de victòria" #. Description of the 'Soldier' development card #: ../common/cards.c:137 msgid "" "Move the robber to a different space and take one resource card from another " "player adjacent to that space" msgstr "" "Mou el lladre a un espai diferent i pren una carta de recurs d'un altre " "jugador adjacent a l'espai" #: ../common/game.c:523 #, c-format msgid "Obsolete rule: '%s'\n" msgstr "Regla obsoleta: '%s'\n" #: ../common/game.c:530 #, c-format msgid "" "The game uses the new rule '%s', which is not yet supported. Consider " "upgrading.\n" msgstr "" "El joc utilitza la nova regla '%s', que encara no està suportada. Pensa en " "actualitzar-te.\n" #: ../common/game.c:924 ../common/game.c:955 msgid "This game cannot be won." msgstr "Aquesta partida no es pot guanyar." #: ../common/game.c:925 msgid "There is no land." msgstr "No hi ha terra." #: ../common/game.c:959 msgid "It is possible that this game cannot be won." msgstr "És possible que aquesta partida no es pugui guanyar." #: ../common/game.c:965 msgid "This game can be won by only building all settlements and cities." msgstr "Aquesta partida es pot guanyar només construint pobles i ciutats." #: ../common/game.c:971 #, c-format msgid "" "Required victory points: %d\n" "Points obtained by building all: %d\n" "Points in development cards: %u\n" "Longest road/largest army: %d+%d\n" "Maximum island discovery bonus: %d\n" "Total: %d" msgstr "" "Punts de victòria necessaris: %d\n" "Punts obtinguts per construccions: %d\n" "Punts per cartes de desenvolupament: %u\n" "Camí més llarg/Exèrcit més gran: %d+%d\n" "Bonificació màxima per descobriment d'illes: %d\n" "Total: %d" #: ../common/game-list.c:111 #, c-format msgid "Looking for games in '%s'\n" msgstr "S'estan buscant partides a '%s'\n" #: ../common/game-list.c:113 #, c-format msgid "Game directory '%s' not found\n" msgstr "No s'ha trobat el directori de partides '%s'\n" #: ../common/game-list.c:131 #, c-format msgid "Unable to load game: '%s'\n" msgstr "No es pot carregar el joc: '%s'\n" #: ../common/game-list.c:151 msgid "No games available\n" msgstr "No hi ha partides disponibles.\n" #: ../common/gtk/aboutbox.c:53 msgid "" "Pioneers is based upon the excellent\n" "Settlers of Catan board game.\n" msgstr "" "Pioneers està basat en l'excel·lent\n" "joc de taulell 'Els Colons de Catan'.\n" # #. Translators: add your name here. Keep the list #. * alphabetically, do not remove any names, and add #. * \n after your name (except the last name). #. #: ../common/gtk/aboutbox.c:63 msgid "translator-credits" msgstr "Jaume Badiella" #. Caption for result of checking victory points #: ../common/gtk/common_gtk.c:324 msgid "Victory Point Analysis" msgstr "Anàlisi de Punt de Victòria" #. Tooltip for sevens rule normal #: ../common/gtk/game-rules.c:110 msgid "All sevens move the robber or pirate" msgstr "Tots els sets mouen el lladre o pirata" #. Tooltip for sevens rule reroll on 1st 2 turns #: ../common/gtk/game-rules.c:114 msgid "In the first two turns all sevens are rerolled" msgstr "En els dos primers torns, amb un set es torna a tirar" #. Tooltip for sevens rule reroll all #: ../common/gtk/game-rules.c:118 msgid "All sevens are rerolled" msgstr "Amb un set sempre es torna a tirar" #: ../common/gtk/game-rules.c:129 msgid "Randomize terrain" msgstr "Fes aleatori el terreny" #: ../common/gtk/game-rules.c:129 msgid "Randomize the terrain" msgstr "Fes aleatori el terreny" #: ../common/gtk/game-rules.c:132 msgid "Use pirate" msgstr "Utilitza el pirata" #: ../common/gtk/game-rules.c:133 msgid "Use the pirate to block ships" msgstr "Utilitza el pirata per bloquejar vaixells" #: ../common/gtk/game-rules.c:135 msgid "Strict trade" msgstr "Tracte estricte" #: ../common/gtk/game-rules.c:136 msgid "Allow trade only before building or buying" msgstr "Permet fer tractes només abans de construir o comprar" #: ../common/gtk/game-rules.c:138 msgid "Domestic trade" msgstr "Tracte local" #: ../common/gtk/game-rules.c:139 msgid "Allow trade between players" msgstr "Permet els tractes entre jugadors" #: ../common/gtk/game-rules.c:141 msgid "Victory at end of turn" msgstr "Victòria al final del torn" #: ../common/gtk/game-rules.c:142 msgid "Check for victory only at end of turn" msgstr "Comprova la victòria només al final del torn" #: ../common/gtk/game-rules.c:145 msgid "Use dice deck" msgstr "Utilitza una baralla de daus" #: ../common/gtk/game-rules.c:147 msgid "Use a deck of 36 dice cards instead of real dice" msgstr "Utilitza una baralla de 36 daus en lloc de daus de debò" #. Label #: ../common/gtk/game-rules.c:155 msgid "Number of dice decks" msgstr "Nombre de baralles de daus" #: ../common/gtk/game-rules.c:172 msgid "The number of dice decks (of 36 cards each)" msgstr "El nombre de baralles de daus (de 36 cartes cadascuna)" #. Label #: ../common/gtk/game-rules.c:180 msgid "Number of removed dice cards" msgstr "Nombre de cartes de daus eliminades" #: ../common/gtk/game-rules.c:199 msgid "The number of dice cards that are removed after shuffling the deck" msgstr "" "El nombre de cartes de daus que s'eliminen després de remenar la baralla" #. Label #: ../common/gtk/game-rules.c:207 msgid "Island discovery bonuses" msgstr "Bonificacions per descobriment d'illes" #. Tooltip for island bonus #: ../common/gtk/game-rules.c:219 msgid "A comma separated list of bonus points for discovering islands" msgstr "" "Una llista separada per comes de punts de bonificació per descobriment " "d'illes" #. Tooltip for the check button #: ../common/gtk/game-rules.c:237 msgid "Check and correct island discovery bonuses" msgstr "Comprova i corregeix les bonificacions per descobriment d'illes" #. Label text for customising a game #: ../common/gtk/game-settings.c:105 msgid "Number of players" msgstr "Nombre de jugadors" #. Tooltip for 'Number of Players' #: ../common/gtk/game-settings.c:124 msgid "The number of players" msgstr "El nombre de jugadors" #. Label for customising a game #: ../common/gtk/game-settings.c:127 msgid "Victory point target" msgstr "Punts de victòria objectiu" #. Tooltip for Victory Point Target #: ../common/gtk/game-settings.c:147 msgid "The points needed to win the game" msgstr "Els punts necessaris per guanyar la partida" #. Tooltip for the check button #: ../common/gtk/game-settings.c:161 msgid "Is it possible to win this game?" msgstr "És possible guanyar aquesta partida?" #. Port indicator for a resource: trade 2 for 1 #: ../common/gtk/guimap.c:742 msgid "2:1" msgstr "2:1" #. Port indicator: trade 3 for 1 #. General port indicator #: ../common/gtk/guimap.c:745 ../common/gtk/guimap.c:770 msgid "3:1" msgstr "3:1" #. Port indicator for brick #: ../common/gtk/guimap.c:750 msgid "Brick port|B" msgstr "M" #. Port indicator for grain #: ../common/gtk/guimap.c:754 msgid "Grain port|G" msgstr "G" #. Port indicator for ore #: ../common/gtk/guimap.c:758 msgid "Ore port|O" msgstr "P" #. Port indicator for wool #: ../common/gtk/guimap.c:762 msgid "Wool port|W" msgstr "L" #. Port indicator for lumber #: ../common/gtk/guimap.c:766 msgid "Lumber port|L" msgstr "F" #. Tooltip for the list of metaservers #: ../common/gtk/metaserver.c:85 msgid "Select a metaserver" msgstr "Selecciona un metaservidor" #. Tooltip for the list of games #: ../common/gtk/select-game.c:135 msgid "Select a game" msgstr "Selecciona una partida" #. Log prefix #: ../common/log.c:58 msgid "*ERROR* " msgstr "*ERROR* " #. Log prefix #: ../common/log.c:66 msgid "Chat: " msgstr "Conversa: " #. Log prefix #: ../common/log.c:70 msgid "Resource: " msgstr "Recurs: " #. Log prefix #: ../common/log.c:74 msgid "Build: " msgstr "Construcció: " #. Log prefix #: ../common/log.c:78 msgid "Dice: " msgstr "Daus: " #. Log prefix #: ../common/log.c:82 msgid "Steal: " msgstr "Robatori: " #. Log prefix #: ../common/log.c:86 msgid "Trade: " msgstr "Comerç: " #. Log prefix #: ../common/log.c:90 msgid "Development: " msgstr "Desenvolupament: " #. Log prefix #: ../common/log.c:94 msgid "Army: " msgstr "Exèrcit: " #. Log prefix #: ../common/log.c:98 msgid "Road: " msgstr "Camins: " #. Log prefix #: ../common/log.c:102 msgid "*BEEP* " msgstr "*XIULET* " #. Log prefix #: ../common/log.c:108 msgid "Player 1: " msgstr "Jugador 1: " #. Log prefix #: ../common/log.c:112 msgid "Player 2: " msgstr "Jugador 2: " #. Log prefix #: ../common/log.c:116 msgid "Player 3: " msgstr "Jugador 3: " #. Log prefix #: ../common/log.c:120 msgid "Player 4: " msgstr "Jugador 4: " #. Log prefix #: ../common/log.c:124 msgid "Player 5: " msgstr "Jugador 5: " #. Log prefix #: ../common/log.c:128 msgid "Player 6: " msgstr "Jugador 6: " #. Log prefix #: ../common/log.c:132 msgid "Player 7: " msgstr "Jugador 7: " #. Log prefix #: ../common/log.c:136 msgid "Player 8: " msgstr "Jugador 8: " #. Log prefix #: ../common/log.c:140 msgid "Spectator: " msgstr "Espectador" #. Log prefix #: ../common/log.c:144 msgid "** UNKNOWN MESSAGE TYPE ** " msgstr "** TIPUS DE MISSATGE DESCONEGUT ** " #: ../common/network.c:143 #, c-format msgid "Error writing to socket: %s\n" msgstr "Error en escriure al sòcol: %s\n" #: ../common/network.c:154 msgid "Could not send all data\n" msgstr "No s'han pogut enviar totes les dades\n" #: ../common/network.c:202 msgid "Read buffer overflow - disconnecting\n" msgstr "Sobreeiximent de buffer de lectura - desconnectant\n" #: ../common/network.c:226 #, c-format msgid "Error reading socket: %s\n" msgstr "Error en llegit el sòcol: %s\n" #: ../common/network.c:378 #, c-format msgid "Error connecting to %s: %s\n" msgstr "Error en connectar amb %s: %s\n" #: ../common/network.c:566 ../common/network.c:567 msgid "unknown" msgstr "desconegut" #: ../common/state.c:203 #, c-format msgid "Connecting to %s, port %s\n" msgstr "Connectant amb %s, port %s\n" #. Error message #: ../common/state.c:333 msgid "State stack overflow. Stack dump sent to standard error.\n" msgstr "" "Sobreeiximent de la pila d'estat. S'ha envia l'abocament de la pila a " "l'error estàndard.\n" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:113 msgid "_Hill" msgstr "Pu_jol" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:115 msgid "_Field" msgstr "_Camp" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:117 msgid "_Mountain" msgstr "_Muntanya" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:119 msgid "_Pasture" msgstr "_Pastura" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:121 msgid "F_orest" msgstr "B_osc" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:123 msgid "_Desert" msgstr "_Desert" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:125 msgid "_Sea" msgstr "Ma_r" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:127 msgid "_Gold" msgstr "_Or" #. Use an unique shortcut key for each resource #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:129 ../editor/gtk/editor.c:144 msgid "_None" msgstr "C_ap" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:134 msgid "_Brick (2:1)" msgstr "_Maó (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:136 msgid "_Grain (2:1)" msgstr "_Gra (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:138 msgid "_Ore (2:1)" msgstr "Mi_nerals (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:140 msgid "_Wool (2:1)" msgstr "_Llana (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:142 msgid "_Lumber (2:1)" msgstr "_Fusta (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:146 msgid "_Any (3:1)" msgstr "_Qualsevol (_3:1)" #. East #: ../editor/gtk/editor.c:151 msgid "East|E" msgstr "E" #. North east #: ../editor/gtk/editor.c:153 msgid "North East|NE" msgstr "NE" #. North west #: ../editor/gtk/editor.c:155 msgid "North West|NW" msgstr "NO" #. West #: ../editor/gtk/editor.c:157 msgid "West|W" msgstr "O" #. South west #: ../editor/gtk/editor.c:159 msgid "South West|SW" msgstr "SO" #. South east #: ../editor/gtk/editor.c:161 msgid "South East|SE" msgstr "SE" #: ../editor/gtk/editor.c:368 msgid "Place a hill hex" msgstr "Posa un hexàgon de pujol" #: ../editor/gtk/editor.c:369 msgid "Place a field hex" msgstr "Posa un hexàgon de camp" #: ../editor/gtk/editor.c:370 msgid "Place a mountain hex" msgstr "Posa un hexàgon de muntanya" #: ../editor/gtk/editor.c:371 msgid "Place a pasture hex" msgstr "Posa un hexàgon de pastura" #: ../editor/gtk/editor.c:372 msgid "Place a forest hex" msgstr "Posa un hexàgon de bosc" #: ../editor/gtk/editor.c:373 msgid "Place a desert hex" msgstr "Posa un hexàgon de desert" #: ../editor/gtk/editor.c:374 msgid "Place a sea hex" msgstr "Posa un hexàgon de mar" #: ../editor/gtk/editor.c:375 msgid "Place a gold hex" msgstr "Posa un hexàgon d'or" #: ../editor/gtk/editor.c:376 msgid "Clear the hex" msgstr "Esborra l'hexàgon" #: ../editor/gtk/editor.c:384 msgid "Place a 2 chit" msgstr "Posa una etiqueta de 2" #: ../editor/gtk/editor.c:385 msgid "Place a 3 chit" msgstr "Posa una etiqueta de 3" #: ../editor/gtk/editor.c:386 msgid "Place a 4 chit" msgstr "Posa una etiqueta de 4" #: ../editor/gtk/editor.c:387 msgid "Place a 5 chit" msgstr "Posa una etiqueta de 5" #: ../editor/gtk/editor.c:388 msgid "Place a 6 chit" msgstr "Posa una etiqueta de 6" #: ../editor/gtk/editor.c:390 msgid "Place an 8 chit" msgstr "Posa una etiqueta de 8" #: ../editor/gtk/editor.c:391 msgid "Place a 9 chit" msgstr "Posa una etiqueta de 9" #: ../editor/gtk/editor.c:392 msgid "Place a 10 chit" msgstr "Posa una etiqueta de 10" #: ../editor/gtk/editor.c:393 msgid "Place an 11 chit" msgstr "Posa una etiqueta de 11" #: ../editor/gtk/editor.c:394 msgid "Place a 12 chit" msgstr "Posa una etiqueta de 12" #: ../editor/gtk/editor.c:400 msgid "Place a brick 2:1 port" msgstr "Posa un port de maó 2:1" #: ../editor/gtk/editor.c:401 msgid "Place a grain 2:1 port" msgstr "Posa un port de gra 2:1" #: ../editor/gtk/editor.c:402 msgid "Place an ore 2:1 port" msgstr "Posa un port de minerals 2:1" #: ../editor/gtk/editor.c:403 msgid "Place a wool 2:1 port" msgstr "Posa un port de llana 2:1" #: ../editor/gtk/editor.c:404 msgid "Place a lumber 2:1 port" msgstr "Posa un port de fusta 2:1" #. Tooltip to remove a port tile in the editor #: ../editor/gtk/editor.c:406 msgid "Remove a port" msgstr "Elimina un port" #: ../editor/gtk/editor.c:407 msgid "Place a 3:1 port" msgstr "Posa un port 3:1" #: ../editor/gtk/editor.c:437 msgid "" "Select the terrain type with the context menu on the left click or toggle a " "node to exclude it from being used during the setup phase" msgstr "" "Selecciona el tipus de terreny amb el menú de context del clic-esquerra o bé " "canvia l'estat d'un node per excloure'l de ser usat durant la fase de " "configuració" #: ../editor/gtk/editor.c:572 msgid "Insert a row" msgstr "Insereix una fila" #: ../editor/gtk/editor.c:573 msgid "Delete a row" msgstr "Suprimeix una fila" #: ../editor/gtk/editor.c:574 msgid "Insert a column" msgstr "Insereix una columna" #: ../editor/gtk/editor.c:575 msgid "Delete a column" msgstr "Suprimeix una columna" #. Label #: ../editor/gtk/editor.c:978 msgid "_Title" msgstr "_Títol" #. Label #: ../editor/gtk/editor.c:991 msgid "_Description" msgstr "_Descripció" #. Label #: ../editor/gtk/editor.c:1009 msgid "_Comments" msgstr "_Comentaris" #. Menu item #: ../editor/gtk/editor.c:1139 msgid "Shuffle" msgstr "Barreja" #. Caption #. Game settings frame #: ../editor/gtk/editor.c:1294 ../server/gtk/main.c:968 msgid "Game parameters" msgstr "Paràmetres de la partida" #. Caption #. Rules frame #: ../editor/gtk/editor.c:1297 ../server/gtk/main.c:983 msgid "Rules" msgstr "Regles" #. Caption #: ../editor/gtk/editor.c:1299 msgid "Resources" msgstr "Recursos" #. Caption #: ../editor/gtk/editor.c:1302 msgid "Buildings" msgstr "Construccions" #. The game in the editor does not have a name yet #: ../editor/gtk/editor.c:1319 msgid "Untitled" msgstr "Sense títol" #. Application caption #: ../editor/gtk/editor.c:1324 ../editor/gtk/pioneers-editor.desktop.in.h:1 msgid "Pioneers Editor" msgstr "Editor de Pioneers" #: ../editor/gtk/editor.c:1434 #, c-format msgid "Failed to load '%s'" msgstr "La càrrega de '%s' ha fallat" #: ../editor/gtk/editor.c:1482 #, c-format msgid "Failed to save to '%s'" msgstr "El desament a '%s' ha fallat" #. Name of the file filter: show only games #: ../editor/gtk/editor.c:1499 msgid "Games" msgstr "Partides" #. Name of the file filter: show all files #: ../editor/gtk/editor.c:1505 msgid "Unfiltered" msgstr "Sense filtrar" #. Dialog caption #: ../editor/gtk/editor.c:1517 msgid "Open Game" msgstr "Partida Oberta" #. Button text #: ../editor/gtk/editor.c:1524 msgid "_Open" msgstr "_Obre" #. Dialog caption #: ../editor/gtk/editor.c:1558 msgid "Save As..." msgstr "Anomena i Desa..." #. Button text #: ../editor/gtk/editor.c:1565 msgid "Save _As" msgstr "_Anomena i Desa" #. Dialog caption #: ../editor/gtk/editor.c:1606 msgid "Change Title" msgstr "Canvi de Títol" #. Label #: ../editor/gtk/editor.c:1631 msgid "New title:" msgstr "Nou títol:" #. Caption of about box #: ../editor/gtk/editor.c:1688 msgid "About Pioneers Game Editor" msgstr "Quant a l'Editor de Joc de Pioneers" #. Menu entry #: ../editor/gtk/editor.c:1718 msgid "_File" msgstr "_Fitxer" #. Menu entry #: ../editor/gtk/editor.c:1728 msgid "_New" msgstr "_Nou" #: ../editor/gtk/editor.c:1729 msgid "Create a new game" msgstr "Crea una nova partida" #. Menu entry #: ../editor/gtk/editor.c:1732 msgid "_Open..." msgstr "_Obre" #. Tooltip for Open menu entry #: ../editor/gtk/editor.c:1734 msgid "Open an existing game" msgstr "Obre una partida existent" #. Menu entry #: ../editor/gtk/editor.c:1737 msgid "_Save" msgstr "De_sa" #. Tooltip for Save menu entry #: ../editor/gtk/editor.c:1739 msgid "Save game" msgstr "Desa la partida" #. Menu entry #: ../editor/gtk/editor.c:1742 msgid "Save _As..." msgstr "_Anomena i Desa..." #. Tooltip for Save As menu entry #: ../editor/gtk/editor.c:1745 msgid "Save as" msgstr "Anomena i desa" #. Menu entry #: ../editor/gtk/editor.c:1748 msgid "Change _Title" msgstr "Canvia el _Títol" #. Tooltip for Change Title menu entry #: ../editor/gtk/editor.c:1750 msgid "Change game title" msgstr "Canvia el títol de la partida" #. Menu entry #: ../editor/gtk/editor.c:1753 ../server/gtk/main.c:97 msgid "_Check Victory Point Target" msgstr "_Comprova l'Objectiu de Punts de Victòria" #. Tooltip for Check Victory Point Target menu entry #. Tooltop for Check Victory Point Target menu entry #: ../editor/gtk/editor.c:1756 ../server/gtk/main.c:100 msgid "Check whether the game can be won" msgstr "Comprova si es pot guanyar la partida" #. Tooltip for Quit menu entry #: ../editor/gtk/editor.c:1761 msgid "Quit" msgstr "Surt" #. Menu entry #: ../editor/gtk/editor.c:1783 msgid "_About Pioneers Editor" msgstr "Quant _A l'Editor de Pioneers" #. Tooltip for About Pioneers Editor menu entry #: ../editor/gtk/editor.c:1785 msgid "Information about Pioneers Editor" msgstr "Informació sobre l'Editor de Pioneers" #. Long help for commandline option (editor): filename #: ../editor/gtk/editor.c:1838 msgid "Open this file" msgstr "Obre aquest fitxer" #. Commandline option for editor: filename #. Commandline metaserver: pidfile argument #: ../editor/gtk/editor.c:1840 ../metaserver/main.c:615 msgid "filename" msgstr "nom de fitxer" #. Long description in the command line: --help #: ../editor/gtk/editor.c:1877 msgid "- Editor for games of Pioneers" msgstr "- Editor de partides de Pioneers" #. Error message #: ../editor/gtk/editor.c:1921 ../server/gtk/main.c:1256 #, c-format msgid "Building menus failed: %s" msgstr "La construcció dels menús ha fallat: %s" #. Tab page name #: ../editor/gtk/editor.c:1951 msgid "Settings" msgstr "Paràmetres" #. Tab page name #: ../editor/gtk/editor.c:1954 msgid "Comments" msgstr "Comentaris" #: ../editor/gtk/game-resources.c:48 msgid "Resource count" msgstr "Recompte de recursos" #: ../editor/gtk/pioneers-editor.desktop.in.h:2 msgid "Create your own game for Pioneers" msgstr "Crea el teu propi joc de Pioneers" #: ../editor/gtk/pioneers-editor.desktop.in.h:3 msgid "game;board;create;edit;layout;Pioneers;Settlers;" msgstr "partida;taulell;crea;edita;disposició;Pioneers;Colons;" #. Commandline metaserver: daemon #: ../metaserver/main.c:610 msgid "Daemonize the metaserver on start" msgstr "Demonitza el metaservidor en iniciar" #. Commandline metaserver: pidfile #: ../metaserver/main.c:613 msgid "Pidfile to create when daemonizing (implies -d)" msgstr "Fitxer de PID a crear en demonitzar (implica -d)" #. Commandline metaserver: redirect #: ../metaserver/main.c:618 msgid "Redirect clients to another metaserver" msgstr "Redirecciona els clients a un altre metaservidor" #. Commandline metaserver: server #: ../metaserver/main.c:621 msgid "Use this hostname when creating new games" msgstr "Utilitza aquest nom de servidor en crear noves partides" #. Commandline metaserver: server argument #: ../metaserver/main.c:623 msgid "hostname" msgstr "nom de servidor" #. Commandline metaserver: port-range #: ../metaserver/main.c:626 msgid "Use this port range when creating new games" msgstr "Utilitza aquest rang de ports en crear nous jocs" #. Commandline metaserver: port-range argument #: ../metaserver/main.c:628 msgid "from-to" msgstr "de-a" #. Commandline option of metaserver: syslog-debug #: ../metaserver/main.c:634 msgid "Debug syslog messages" msgstr "Depura els missatges de registre del sistema" #. Long description in the commandline for metaserver: help #: ../metaserver/main.c:675 msgid "- Metaserver for Pioneers" msgstr "- Metaservidor de Pioneers" #: ../metaserver/main.c:691 #, c-format msgid "metaserver protocol:" msgstr "protocol del metaservidor:" #: ../server/avahi.c:68 msgid "Avahi registration successful.\n" msgstr "Registre d'Avahi correcte.\n" #: ../server/avahi.c:78 #, c-format msgid "Avahi service name collision, renaming service to '%s'.\n" msgstr "Conflicte de noms del servei Avahi, es reanomena el servei a '%s'.\n" #. Some kind of failure happened while we were registering #: ../server/avahi.c:89 #, c-format msgid "Avahi error: %s\n" msgstr "Error d'Avahi: %s\n" #: ../server/avahi.c:113 ../server/avahi.c:145 ../server/avahi.c:155 #: ../server/avahi.c:191 ../server/avahi.c:212 ../server/avahi.c:226 #, c-format msgid "Avahi error: %s, %s\n" msgstr "Error d'Avahi: %s, %s\n" #: ../server/avahi.c:213 ../server/avahi.c:227 msgid "Unable to register Avahi server" msgstr "No es pot registrar el servidor Avahi" #: ../server/avahi.c:260 msgid "Unregistering Avahi.\n" msgstr "Anul·lant el registre d'Avahi.\n" #. Menu entry #: ../server/gtk/main.c:108 msgid "_About Pioneers Server" msgstr "Quant _Al Servidor Pioneers" #. Tooltop for About Pioneers Server menu entry #: ../server/gtk/main.c:110 msgid "Information about Pioneers Server" msgstr "Informació sobre el Servidor Pioneers" #: ../server/gtk/main.c:234 msgid "Stop Server" msgstr "Atura el Servidor" #: ../server/gtk/main.c:235 msgid "Start Server" msgstr "Inicia el Servidor" #: ../server/gtk/main.c:237 ../server/gtk/main.c:996 msgid "Stop the server" msgstr "Atura el servidor" #: ../server/gtk/main.c:238 msgid "Start the server" msgstr "Inicia el servidor" #: ../server/gtk/main.c:395 #, c-format msgid "Player %s from %s entered\n" msgstr "Ha entrat el jugador %s de %s\n" #: ../server/gtk/main.c:402 #, c-format msgid "Player %s from %s left\n" msgstr "El jugador %s de %s se n'ha anat\n" #: ../server/gtk/main.c:409 #, c-format msgid "Player %d is now %s\n" msgstr "El jugador %d ara és %s\n" #: ../server/gtk/main.c:570 msgid "The port for the game server" msgstr "El port del servidor de joc" #. register_toggle #: ../server/gtk/main.c:579 msgid "Register server" msgstr "Registra el servidor" #: ../server/gtk/main.c:587 msgid "Register this game at the metaserver" msgstr "Registra aquesta partida al metaservidor" #. hostname label #: ../server/gtk/main.c:618 msgid "Reported hostname" msgstr "Nom de servidor informat" #: ../server/gtk/main.c:633 msgid "" "The public name of this computer (needed when playing behind a firewall)" msgstr "" "El nom públic d'aquest ordinador (necessari quan es juga darrere d'un " "tallafoc)" #. random toggle #: ../server/gtk/main.c:652 msgid "Random turn order" msgstr "Ordre de torns aleatori" #: ../server/gtk/main.c:659 msgid "Randomize turn order" msgstr "Desordena l'ordre dels torns" #. Tooltip for server connection overview #: ../server/gtk/main.c:730 msgid "Shows all players and spectators connected to the server" msgstr "Mostra tots els jugadors i espectadors connectats al servidor" #. Label for column Connected #: ../server/gtk/main.c:735 msgid "Connected" msgstr "Connectat" #. Tooltip for column Connected #: ../server/gtk/main.c:742 msgid "Is the player currently connected?" msgstr "El jugador, està actualment connectat?" #. Label for column Name #: ../server/gtk/main.c:747 msgid "Name" msgstr "Nom" #. Tooltip for column Name #: ../server/gtk/main.c:754 msgid "Name of the player" msgstr "Nom del jugador" #. Label for column Location #: ../server/gtk/main.c:758 msgid "Location" msgstr "Ubicació" #. Tooltip for column Location #: ../server/gtk/main.c:765 msgid "Host name of the player" msgstr "Nom d'ordinador del jugador" #. Label for column Number #: ../server/gtk/main.c:771 msgid "Number" msgstr "Número" #. Tooltip for column Number #: ../server/gtk/main.c:778 msgid "Player number" msgstr "Número de jugador" #. Label for column Role #: ../server/gtk/main.c:784 msgid "Role" msgstr "Funció" #. Tooltip for column Role #: ../server/gtk/main.c:788 msgid "Player or spectator" msgstr "Jugador o espectador" #. Button text #: ../server/gtk/main.c:825 msgid "Launch Pioneers Client" msgstr "Llança el client de Pioneers" #. Tooltip #: ../server/gtk/main.c:839 msgid "Launch the Pioneers client" msgstr "Llança el client de Pioneers" #. ai chat toggle #: ../server/gtk/main.c:868 msgid "Enable chat" msgstr "Habilita la conversa" #. Tooltip #: ../server/gtk/main.c:875 msgid "Enable chat messages" msgstr "Habilita els missatges de conversa" #. Button text #: ../server/gtk/main.c:884 msgid "Add Computer Player" msgstr "Afegeix un Jugador Artificial" #. Tooltip #: ../server/gtk/main.c:892 msgid "Add a computer player to the game" msgstr "Afegeix un jugador artificial a la partida" #. Tooltip #: ../server/gtk/main.c:925 msgid "Messages from the server" msgstr "Missatge del servidor" #: ../server/gtk/main.c:961 msgid "Game settings" msgstr "Paràmetres de la partida" #. server frame #: ../server/gtk/main.c:972 msgid "Server parameters" msgstr "Paràmetres del servidor" #: ../server/gtk/main.c:992 msgid "Running game" msgstr "Partida en curs" #. player connected frame #: ../server/gtk/main.c:1008 msgid "Players connected" msgstr "Jugadors connectats" #. ai frame #: ../server/gtk/main.c:1012 msgid "Computer players" msgstr "Jugadors artificials" #. message frame #: ../server/gtk/main.c:1024 msgid "Messages" msgstr "Missatges" #. Caption of about box #: ../server/gtk/main.c:1150 msgid "About the Pioneers Game Server" msgstr "Quant al Servidor de Joc de Pioneers" # #. Wait for all players to disconnect, #. * then enable the UI #. #: ../server/gtk/main.c:1158 msgid "The game is over.\n" msgstr "S'ha acabat la partida.\n" #. Long description in the commandline for server-gtk: help #. Long description in the commandline for server-console: help #: ../server/gtk/main.c:1212 ../server/main.c:194 msgid "- Host a game of Pioneers" msgstr "- Hostatja una partida de Pioneers" #. Name in the titlebar of the server #: ../server/gtk/main.c:1236 ../server/gtk/pioneers-server-gtk.desktop.in.h:1 msgid "Pioneers Server" msgstr "Servidor de Pioneers" #: ../server/gtk/pioneers-server-gtk.desktop.in.h:2 msgid "Host a game of Pioneers" msgstr "Hostatja una partida de Pioneers" #: ../server/gtk/pioneers-server-gtk.desktop.in.h:3 msgid "game;board;server;host;Pioneers;Settlers;" msgstr "partida;taulell;servidor;host;Pioneers;Colons;" #. Commandline server-console: game-title #: ../server/main.c:80 msgid "Game title to use" msgstr "Títol de partida a utilitzar" #. Commandline server-console: file #: ../server/main.c:83 msgid "Game file to use" msgstr "Fitxer de partida a utilitzar" #. Commandline server-console: port #: ../server/main.c:86 msgid "Port to listen on" msgstr "Port d'escolta" #. Commandline server-console: players #: ../server/main.c:89 msgid "Override number of players" msgstr "Obviar el nombre de jugadors" #. Commandline server-console: points #: ../server/main.c:92 msgid "Override number of points needed to win" msgstr "Obviar el nombre de punts necessaris per guanyar" #. Commandline server-console: seven-rule #: ../server/main.c:95 msgid "Override seven-rule handling" msgstr "Obviar la regla dels sets" #. Commandline server-console: dice-deck #: ../server/main.c:98 msgid "Override dice-deck handling" msgstr "Obvia la gestió de baralles de daus" #. Commandline server-console: num-dice-decks #: ../server/main.c:101 msgid "Override num-dice-decks handling" msgstr "Obvia la gestió del nombre de les baralles de daus" #. Commandline server-console: num-removed-dice-cards #: ../server/main.c:105 msgid "Override num-removed-dice-cards handling" msgstr "" "Obvia la gestió del nombre de cartes eliminades de les baralles de daus" #. Commandline server-console: terrain #: ../server/main.c:108 msgid "Override terrain type, 0=default 1=random" msgstr "Obviar el tipus de terreny, 0=per defecte 1=aleatori" #. Commandline server-console: computer-players #: ../server/main.c:111 msgid "Add N computer players" msgstr "Afegeix N jugadors artificials" #. Commandline server-console: register #: ../server/main.c:121 msgid "Register server with metaserver" msgstr "Registra el servidor amb el metaservidor" #. Commandline server-console: metaserver #: ../server/main.c:124 msgid "Register at metaserver name (implies -r)" msgstr "Registra't al nom del metaservidor (implica -r)" #. Commandline server-console: hostname #: ../server/main.c:128 msgid "Use this hostname when registering" msgstr "Utilitza aquest nom de servidor en registrar-te" #. Commandline server-console: auto-quit #: ../server/main.c:135 msgid "Quit after a player has won" msgstr "Surt després que un jugador hagi guanyat" #. Commandline server-console: empty-timeout #: ../server/main.c:138 msgid "Quit after N seconds with no players" msgstr "Surt després de N segons sense jugadors" #. Commandline server-console: tournament #: ../server/main.c:141 msgid "Tournament mode, computer players added after N minutes" msgstr "Modo de torneig, s'afegeixen jugadors artificials passats N minuts" #. Commandline server-console: admin-port #: ../server/main.c:145 msgid "Admin port to listen on" msgstr "Port d'escolta d'administració" #. Commandline server-console: admin-wait #: ../server/main.c:148 msgid "Don't start game immediately, wait for a command on admin port" msgstr "" "No comencis el joc immediatament, espera una ordre del port d'administració" #. Commandline server-console: fixed-seating-order #: ../server/main.c:154 msgid "Give players numbers according to the order they enter the game" msgstr "Dóna números als jugadors d'acord amb l'ordre d'entrada a la partida" #. Commandline server-console: Short description of meta group #: ../server/main.c:200 msgid "Metaserver Options" msgstr "Opcions del Metaservidor" #. Commandline server-console: Long description of meta group #: ../server/main.c:202 msgid "Options for the metaserver" msgstr "Opcions del el metaservidor" #. Commandline server-console: Short description of misc group #: ../server/main.c:211 msgid "Miscellaneous Options" msgstr "Opcions Diverses" #. Commandline server-console: Long description of misc group #: ../server/main.c:213 msgid "Miscellaneous options" msgstr "Opcions diverses" #. server-console commandline error #: ../server/main.c:239 #, c-format msgid "Cannot set game title and filename at the same time\n" msgstr "No es pot establir el títol i el nom de fitxer alhora\n" #. server-console commandline error #: ../server/main.c:256 #, c-format msgid "Cannot load the parameters for the game\n" msgstr "No es poden carregar els paràmetres de la partida\n" #. Error message #: ../server/main.c:305 ../server/main.c:324 #, c-format msgid "The network port (%s) for the admin interface is not available.\n" msgstr "" "El port de xarxa (%s) de la interfície d'administració no està disponible.\n" #: ../server/meta.c:58 msgid "The connection to the metaserver is lost.\n" msgstr "S'ha perdut la connexió amb el metaservidor.\n" #: ../server/meta.c:64 #, c-format msgid "An attempt to reconnect is scheduled in %u second.\n" msgid_plural "An attempt to reconnect is scheduled in %u seconds.\n" msgstr[0] "S'ha programat un intent de reconnexió d'aquí a %u segon.\n" msgstr[1] "S'ha programat un intent de reconnexió d'aquí a %u segons.\n" #: ../server/meta.c:83 msgid "Attempting to reconnect to the metaserver.\n" msgstr "S'està intentant la reconnexió amb el metaservidor.\n" #: ../server/meta.c:311 #, c-format msgid "Register with the metaserver at %s.\n" msgstr "Registra't amb el metaservidor a %s.\n" #: ../server/meta.c:322 msgid "Unregister from the metaserver.\n" msgstr "Desregistra't del metaservidor\n" #: ../server/player.c:142 msgid "chat too long" msgstr "conversa massa llarga" #: ../server/player.c:159 msgid "name too long" msgstr "nom massa llarg" #: ../server/player.c:191 msgid "ignoring unknown extension" msgstr "s'ignora l'extensió desconeguda" #: ../server/player.c:228 ../server/player.c:298 msgid "The last player left, the tournament timer is reset." msgstr "L'últim jugador ha marxat, es restableix el comptador del torneig." #: ../server/player.c:262 ../server/player.c:643 msgid "No human players present. Bye." msgstr "No hi ha cap jugador humà. Siau." #: ../server/player.c:269 msgid "Game starts, adding computer players." msgstr "Comença la partida, s'afegeixen els jugadors artificials." #: ../server/player.c:311 #, c-format msgid "The game starts in %s minutes." msgstr "La partida començarà d'aquí a %s minuts." #: ../server/player.c:312 #, c-format msgid "The game starts in %s minute." msgstr "La partida començarà d'aquí a %s minut." # #. Default name for the AI when the computer_names file #. * is not found or empty. #. #: ../server/player.c:370 ../server/player.c:376 msgid "Computer Player" msgstr "Jugador Artificial" #: ../server/player.c:450 #, c-format msgid "Unable to determine the hostname of the player: %s" msgstr "No es pot determinar el nom de host del jugador: %s" #. The game is over, don't accept new players #. Message to send to the client when the game is already over #. * when a connection is made. #: ../server/player.c:476 msgid "Sorry, game is over." msgstr "Ho sento, s'ha acabat la partida." #: ../server/player.c:478 #, c-format msgid "Player from %s is refused: game is over\n" msgstr "S'ha rebutjat el jugador de %s: s'ha acabat la partida\n" #: ../server/player.c:520 msgid "Name not changed: new name is already in use" msgstr "No s'ha canviat el nom: el nou nom ja està en ús" #: ../server/player.c:638 ../server/server.c:38 msgid "Was hanging around for too long without players... bye.\n" msgstr "Ha estat esperant massa temps sense jugadors... Siau.\n" #: ../server/player.c:723 msgid "The last human player left. Waiting for the return of a player." msgstr "L'últim jugador humà ha marxat. Esperant que torni algun jugador." #: ../server/player.c:744 msgid "Resuming the game." msgstr "Es reprèn la partida." #. %s is the name of the reconnecting player #: ../server/player.c:870 #, c-format msgid "%s has reconnected." msgstr "%s s'ha reconnectat." #: ../server/player.c:970 #, c-format msgid "Version mismatch: %s" msgstr "La versió no coincideix: %s" #: ../server/player.c:1007 msgid "This game will start soon." msgstr "Aquesta partida començarà aviat." #. Server: preparing game #..... #: ../server/server.c:221 msgid "Preparing game" msgstr "S'està preparant la partida" #: ../server/turn.c:254 msgid "Island Discovery Bonus" msgstr "Bonificació per Descobriment d'Illes" #: ../server/turn.c:255 msgid "Additional Island Bonus" msgstr "Bonificació Addicional d'Illes" #: ../server/turn.c:386 msgid "Tried to assign resources to NULL player.\n" msgstr "S'ha intentar assignar recursos al jugador NULL.\n" #. Cheat mode has been activated #: ../server/turn.c:516 msgid "The dice roll has been determined by the administrator." msgstr "La tirada de daus ha estat determinada per l'administrador." pioneers-15.5/po/ChangeLog0000644000175000017500000004504213252221614012404 000000000000002017-03-14 Cyril C. * fr.po: Plural forms for dice. Fixes SF bug #296 2016-09-15 Roland Clobus * de.po: Changed shortcut keys that were used twice 2016-08-28 Roland Clobus * de.po: Copied strings from the Gtk code * all: Line number update for 15.4 2016-07-04 Giancarlo Capella * it.po: Updated to 15.4 2016-06-24 Jaume Badiella * ca.po: Unified translation of 'metaserver' 2016-06-15 Jaume Badiella * ca.po: Updated to 15.4 2016-06-11 Jean-Charles GRANGER * fr.po: Updated to 15.4 2016-06-10 Roland Clobus * all: Line number update for 15.4. Some button texts were previously in Gtk (OK, Cancel,...) * en_GB.po, nl.po: Updated to 15.4 * fr.po: Fixed typos. Fixes SF bug #291 2015-05-31 Roland Clobus * ca.po: Added a missing semicolon 2014-07-07 Roland Clobus * all: Line number update for 15.2 * en_GB.po: Updated to 15.2 * nl.po: Updated to 15.2, fixed the desktop files 2014-05-05 Gerald * zh_CN.po: New translation. Simplified Chinese. 2013-12-01 Petri Jooste * af.po: Updated to 15.1 2013-09-29 Roland Clobus * de.po: updated spelling of metaserver. Added a few translations. 2013-09-19 Roland Clobus * ca.po: updated spelling of metaserver 2013-09-18 KAMO Tomoyuki * ja.po: Updated to 15.1 2013-09-15 Jean-Charles GRANGER * fr.po: Updated to 15.1 2013-09-15 Jaume Badiella * ca.po: Updated to 15.1 2013-09-15 Giancarlo Capella * it.po: 100% and updated spelling of metaserver 2013-09-11 Giancarlo Capella * it.po: Updated to 15.1 2013-09-08 Roland Clobus * all: Added some translation hints and performed a line number update. * en_GB.po: Updated to 15.1 * nl.po: Updated to 15.1 2013-09-01 Roland Clobus * all: msguntypot for metaserver spelling issues. * en_GB.po: Updated for metaserver spelling. 2013-08-29 Roland Clobus * ca.po, da.po, sv.po, de.po, ja.po, gl.po, cs.po, fr.po, es.po, nl.po, hu.po: Import from Launchpad 2013-02-08 Roland Clobus * de.po, es.po, ja.po: Fixed for 'make update-po'. 2013-01-22 Jaume Badiella * ca.po: Added missing translations, fixed copyright message. 2013-01-20 Jaume Badiella * ca.po: Added translation to Catalan. 2012-11-02 Roland Clobus * nl.po: Straat/weg, riddermacht/handelsroute: consequent maken termen. 2012-09-09 Roland Clobus * de.po, es.po: Import from Launchpad 2012-09-08 KAMO Tomoyuki * ja.po: Updated to 14.1 (Import from Launchpad) 2012-06-01 Roland Clobus * all: Fixed a typo in a new string for 14.1 2012-05-28 Roland Clobus * all: Line number update for 14.1 2012-05-27 Roland Clobus * gl.po, hu.po, pt.po: /me says ... -> use /me in all translations * gl.po, hu.po: Added reviewed items of Launchpad 2012-05-26 DeigoJ * es.po: Updated to 0.12.5 (Import from Launchpad) 2012-05-26 Pit Garbe * de.po: Updated to 0.12.5 (Import from Launchpad) 2012-05-24 Filipe Roque * pt.po: Updated to 14.1 2012-05-23 Jean-Charles GRANGER * fr.po: Updated to 14.1 2012-05-22 Giancarlo Capella * it.po: Updated to 14.1 2012-05-19 Roland Clobus * all: Updated for 14.1 * nl.po: Updated to 14.1 * en_GB.po: Updated to 14.1 2012-04-27 Roland Clobus * en_GB.po: Fixed the strings with | 2012-01-17 Roland Clobus * nl.po: Removed an extra space. 2011-10-30 Roland Clobus * af.po, de.po, sv.po: Fixed 'Spectator' translations. * nl.po: Fixed a typo. * all: Updated line numbers for the 0.12.5 release. 2011-10-24 Giancarlo Capella * it.po: Modifications for the View menu. 2011-10-24 Giancarlo Capella * it.po: Updated for 0.12.5 2011-10-23 Jean-Charles GRANGER * fr.po: Updated for 0.12.5 2011-10-22 Roland Clobus * all: Updated for 0.12.5 string freeze. * en_GB.po, nl.po: Updated for 0.12.5 2011-02-13 Roland Clobus * nl.po: Undo -> Ongedaan maken 2011-01-28 Roland Clobus * nl.po: Typo. 2011-01-26 Roland Clobus * all: Adjustment of line numbers for 0.12.4 release. 2011-01-22 Michael Wiktowy * es.po: Also the fuzzy translations. 2011-01-16 Roland Clobus * af.po, cs.po, da.po, es.po, pt.po: Synchronized with Launchpad. 2011-01-16 Michael Wiktowy * es.po: Added missing translations. 2010-11-27 Roland Clobus * ja.po, pt.po, sv.po: Updated the trivial changes. 2010-11-25 Roland Clobus * es.po, gl.po, hu.po: Updated the trivial changes. 2010-11-23 Roland Clobus * af.po, cs.po, da.po: Updated the trivial changes. 2010-11-16 Roland Clobus * de.po: Updated the trivial changes. 2010-11-10 Jean-Charles GRANGER * fr.po: Updated for 0.12.4 2010-10-26 Giancarlo Capella * it.po: Updated for 0.12.4 2010-10-26 Roland Clobus * all: Updated for 0.12.4 string freeze * nl.po, en_GB.po: Updated for 0.12.4 * all: Added rule for plurals 2010-10-26 Roland Clobus * all: Updated for 0.12.4 string freeze 2010-10-08 Roland Clobus * POTFILES.in: Added common/gtk/common_gtk.c * all: Synchronised from 0.12.3 branch 2010-04-06 Roland Clobus * LINGUAS, gl.po: Added translation to Galician by Indalecio Freiría Santos. * nl.po: Added missing keyboard shortcuts. * sv.po: Updated from Launchpad.net * cs.po, pt.po: Updated from Launchpad.net 2010-04-04 Roland Clobus * de.po: Updated from Launchpad.net 2010-03-27 Roland Clobus * all: Based on svn 1488 (branch 0.12.3) and 1524: Use en_US spelling (canceled and monopolize) * en_GB.po: Imported from Launchpad, thanks to Philipp Kleinhenz. This translation inspired the spelling correction to en_US in the source code. * check-spelling.sh: Script to check the spelling of a language. 2010-03-25 Roland Clobus * nl.po: Another round of spell checking 2010-03-18 Roland Clobus * es.po: Merged with Launchpad 2010-03-11 19:48+0000 * nl.po: Use a spell checker 2010-03-11 Roland Clobus * de.po: Improvement suggested by Jochen Kemnade on Launchpad 2010-01-24 Roland Clobus * nl.po: Fixed a translation and removed a few wrong word separations 2009-11-04 Roland Clobus * all: Final line number update for 0.12.3 2009-10-25 Roland Clobus * fr.po: Fixed a typo found by agendacobra 2009-10-20 Roland Clobus * it.po: Fixed some double keyboard shortcuts 2009-10-20 Giancarlo Capella * it.po: Updated to 0.12.3 2009-10-18 Jean-Charles GRANGER * fr.po: Updated to 0.12.3 2009-10-18 Roland Clobus * fr.po: Fixed some double keyboard shortcuts 2009-10-16 Roland Clobus * fr.po: Synchronisation with Launchpad.net 2009-10-15 Roland Clobus * all: Line number update for 0.12.3 * nl.po: Updated to 0.12.3, fixed a typo * ja.po: Synchronisation with Launchpad.net * pt:po: Synchronisation with Launchpad.net 2008-05-01 Roland Clobus * fr.po, hu.po, it.po, nl.po, sv.po: Update 0.12.1 to 0.12.2 * da.po, de.po, es.po, fr.po, hu.po, pt.po: Synchronisation with Launchpad.net * all: Line number update to 0.12.2 2008-04-27 Roland Clobus * all: Line number update for 0.12.1 2008-04-27 Filipe Roque * pt.po: Synchronisation with Launchpad.net 2008-04-27 Roland Clobus * fr.nl, nl.po, hu.po, it.po, sv.po: Version 0.11.4 is actually 0.12.1 * nl.po: Synchronisation with Launchpad.net 2008-04-09 Ferenc Bánhidi * hu.po: Updated to 0.11.4 2008-04-01 Jean-Charles GRANGER * fr.po: Updated to 0.11.4 2008-04-01 Daniel Nylander * sv.po: Updated to 0.11.4 2008-04-01 Giancarlo Capella * it.po: Updated to 0.11.4 2008-04-01 Jean-Charles GRANGER * fr.po: Added the missing strings 2008-03-27 Roland Clobus * nl.po: Updated to 0.11.4 2008-03-26 Roland Clobus * all: Updated for the string freeze of 0.11.4 (added translator_credits), this is the 'real' string freeze. 2008-03-25 Roland Clobus * all: String freeze for 0.11.4 2008-03-23 Ladislav Dobias * cs.po: New Czech translation 2008-03-23 Roland Clobus Synchronisation with Launchpad.net (2008-03-13) * af.po, da.po, de.po, es.po, fr.po, hu.po, it.po, ja.po, nl.po, pt.po, sv.po: Synchronisation with Launchpad.net (2008-03-13), most changes are whitespaces at the end of strings. * es.po: Some modifications by Kiba-Kun 2008-03-23 Roland Clobus * af.po, de.po, hu.po, nl.po, pt.po: Converted to utf-8 2007-12-09 Filipe Roque * pt.po: New Portuguese translation 2007-12-09 Carson (http://launchpad.net/~nanker) * da.po: New Danish translation 2007-12-09 Roland Clobus * all: Reverted changes made 2007-11-22, because it is not time for a release yet. 2007-11-22 Roland Clobus * all: Updated linenumbers for 0.11.4 release * nl.po: Update for 0.11.4 2007-10-07 Roland Clobus * all: Updated linenumbers for 0.11.3 release * de.po, fr.po, hu.po, it.po, ja.po, nl.po, sv.po: Updated version number to 0.11.3 2007-08-05 Roland Clobus * all: Updated linenumbers for 0.11.2 release 2007-07-22 Roland Clobus * all: Updated to 0.11.1 release 2007-07-22 Pit Garbe * de.po: Small update 2007-07-21 Ferenc Bánhidi * hu.po: Updated for 0.11.1 2007-07-20 Yasuhiko Takasugi * ja.po: Small update 2007-07-19 Yasuhiko Takasugi * ja.po: Updated to 0.11.1 2007-07-18 Giancarlo Capella * it.po: Updated to 0.11.1 2007-07-17 Daniel Nylander * sv.po: Updated to 0.11.1 2007-07-17 Jean-Charles GRANGER * fr.po: Updated 2007-07-16 Jean-Charles GRANGER * fr.po: Updated to 0.11.1 2007-07-14 Pit Garbe * de.po: Updated to 0.11.1 2007-07-12 Roland Clobus * nl.po: Updated to 0.11.1 * All: updated the *.po files for the pending release The strings for player shape and the robber fix have also been added. 2007-05-13 Roland Clobus * POTFILES.in: editor/gtk/game-settings.c was renamed to common/gtk/game-rules.c * POTFILES.in: common/game.c also contains translatable strings 2007-04-08 Yasuhiko Takasugi * ja.po: Updated (File date 2007-01-28) 2007-04-08 Daniel Nylander * sv.po: Updated to 0.10.2 (File date 2007-01-10) 2006-11-17 Roland Clobus * All Project-Id-Version fields use the same style 2006-11-16 Jean-Charles GRANGER * fr.po: Updated 2006-11-16 Petri Jooste * af.po: Updated 2006-11-14 Roland Clobus * ja.po: Fixed the last fuzzy translation 2006-11-13 Yasuhiko Takasugi * ja.po: Updated 2006-11-10 Jean-Charles GRANGER * fr.po: Updated 2006-11-10 Petri Jooste * af.po: Updated 2006-11-10 Yasuhiko Takasugi * ja.po: Added initial version 2006-10-19 Petri Jooste * af.po: Added initial version 2006-10-17 Roland Clobus * de.po: Added shortcuts for the resources in the editor 2006-10-17 Giancarlo Capella * it.po: Updated to 0.10.2 2006-09-16 Roland Cloubs * Release 0.10.2 2006-09-13 Roland Clobus * Updated templates for release 0.10.2 * nl.po: Updated 2006-08-30 Roland Clobus * nl.po: Fixed a typo 2006-08-26 Roland Clobus * Last update before the release of 0.10.1 2006-08-23 Marco Antonio Giraldo * es.po: Some corrections 2006-08-21 Marco Antonio Giraldo * es.po: Updated 2006-08-20 Giancarlo Capella * it.po: Updated and converted to utf8 2006-08-18 Daniel Nylander * sv.po: Updated 2006-08-17 Roland Clobus * Updated templates for release 0.10.1 * nl.po: Updated 2006-08-11 Pit Garbe * de.po: Small correction 2006-08-10 Roland Clobus * Updated templates for 0.10.1 * nl.po: Updated for 0.10.1 2006-08-06 Roland Clobus * de.po: Use Lehm instead of Stein for brick 2006-08-05 Roland Clobus * POTFILES.in: added client/ai/lobbybot.c, removed client/common/chat.c 2006-07-24 Roland Clobus * it.po: Restored old translations for quote-view.c 2006-07-05 Roland Clobus * Translation markup removed for g_error and g_warning messages * Updated all templates 2006-07-05 Ronny Standtke * POTFILES.in: added missing quote-view.c * de.po: Added missing translations 2006-06-23 Daniel Nylander * sv.po: Updated for 0.9.64 2006-06-23 Pit Garbe * de.po: Updated for 0.9.64 2006-05-28 Roland Clobus * Regenerated all, update case changes 2006-05-24 LT-P * fr.po: Some updates 2006-05-24 Giancarlo Capella * it.po: Updated for 0.9.62 (621t) 2006-05-23 Roland Clobus * Updated templates for 0.9.62 * nl.po: Updated for 0.9.62 (621t) 2006-03-08 Ferenc Bánhidi * hu.po: Updated for 0.9.61 2006-03-08 Roland Clobus * fr.po: Updated translations for ports 2006-03-08 Giancarlo Capella * it.po: Minor updates 2006-03-07 LT-P * fr.po: Updated for 0.9.61, changed encoding to UTF-8 2006-03-07 Daniel Nylander * sv.po : Updated for 0.9.61 2006-03-04 Roland Clobus * nl.po: Updated for 0.9.61 2006-03-04 Giancarlo Capella * it.po: Updated for 0.9.61 2006-02-02 Daniel Nylander * sv.po: Added the missing translations 2006-01-25 Roland Clobus * nl.po: Added the new strings * de.po, fr.po, it.po: Removed some obviously wrong translated fuzzy entries * Updated line numbers to match 0.9.49 2006-01-12 Daniel Nylander * sv.po: Added Swedish translation 2005-12-30 Roland Clobus * nl.po: Fixed a typo 2005-12-21 Roland Clobus * Updated the translations to match the 0.9.40 release * nl.po: Added one translation 2005-11-16 Roland Clobus * nl.po: Fixed 2 typos 2005-10-02 Roland Clobus * Updated line numbers to match 0.9.32 2005-09-09 Ferenc Bánhidi * hu.po: Added Hungarian translation 2005-08-14 Roland Clobus * Added formatting tags to modified strings in 0.9.22 * nl.po: Added a new string 2005-07-14 Roland Clobus * Updated the translations for the shortcut keys in the toolbar, removed again in 0.9.19 2005-07-06 Giancarlo Capella * it.po: Updated to 0.9.17 2005-07-03 Roland Clobus * Updated for Q_() patch 2005-07-03 Jens Seidel * de.po: Minor translation update (Debian bug #314082) 2005-06-30 Roland Clobus * nl.po, pioneers.pot: Complete Gnocatan free 2005-06-25 Steve Langasek * pioneers.pot: new gettext package name * de.po, es.po, fr.po, it.po, nl.po: sync translations to match the Gnocatan->Pioneers rebranding, where possible * de.po, nl.po: fix up a C string translation in each of these files which gets rejected by current gettext as being invalid 2005-06-05 Roland Clobus * fr.po, nl.po: Updated for Q_() patch 2005-05-01 Roland Clobus * Updated to build 0.9.11 2005-04-26 Roland Clobus * nl.po: Updated Dutch translations to CVS 0.9.10 * it.po: Removed clearly wrong Italian translations 2005-03-20 Roland Clobus * Updated to build 0.8.1.57 2005-03-02 Roland Clobus * Updated to build 0.8.1.54 2005-02-03 Roland Clobus * Updated translations to build 0.8.1.52 * es.po: Removed some clearly wrong translations 2005-01-09 Roland Clobus * Marked several clearly wrong translations as not translated instead of fuzzy. 2004-11-21 Roland Clobus * Applied bold tags to translations, where applicable 2004-11-05 LT-P * fr.po: Spelling corrections 2004-10-27 Roland Clobus * Updated all files to fit 0.8.1.41 * nl.po: Added the missing translations. Changed translation of 'chat' 2004-10-13 Roland Clobus * nl.po: fixing a typo 2004-10-01 Roland Clobus * POTFILES.in: Regenerated from scratch, removed admin-gtk.c (old) * Updated all files to fit 0.8.1.37 2004-09-26 Roland Clobus * .cvsignore: Added Makefile.in.in, it is a generated file * POTFILES.in: Added client/ai/greedy.c, server/turn.c 2004-09-15 Arjen Schrijver * nl.po: fixing a typo 2004-09-15 Roland Clobus * ChangeLog: Added the ChangeLog again, it is required for 'make distcheck' and automake-1.7 pioneers-15.5/po/Makefile.in.in0000644000175000017500000001575613252243574013326 00000000000000# Makefile for program source directory in GNU NLS utilities package. # Copyright (C) 1995, 1996, 1997 by Ulrich Drepper # Copyright (C) 2004-2008 Rodney Dawes # # This file may be copied and used freely without restrictions. It may # be used in projects which are not available under a GNU Public License, # but which still want to provide support for the GNU gettext functionality. # # - Modified by Owen Taylor to use GETTEXT_PACKAGE # instead of PACKAGE and to look for po2tbl in ./ not in intl/ # # - Modified by jacob berkman to install # Makefile.in.in and po2tbl.sed.in for use with glib-gettextize # # - Modified by Rodney Dawes for use with intltool # # We have the following line for use by intltoolize: # INTLTOOL_MAKEFILE GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ PACKAGE = @PACKAGE@ VERSION = @VERSION@ SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ top_builddir = @top_builddir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ datadir = @datadir@ datarootdir = @datarootdir@ libdir = @libdir@ localedir = @localedir@ subdir = po install_sh = @install_sh@ # Automake >= 1.8 provides @mkdir_p@. # Until it can be supposed, use the safe fallback: mkdir_p = $(install_sh) -d INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ GMSGFMT = @GMSGFMT@ MSGFMT = @MSGFMT@ XGETTEXT = @XGETTEXT@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ MSGMERGE = INTLTOOL_EXTRACT="$(INTLTOOL_EXTRACT)" XGETTEXT="$(XGETTEXT)" srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --dist GENPOT = INTLTOOL_EXTRACT="$(INTLTOOL_EXTRACT)" XGETTEXT="$(XGETTEXT)" srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --pot ALL_LINGUAS = @ALL_LINGUAS@ PO_LINGUAS=$(shell if test -r $(srcdir)/LINGUAS; then grep -v "^\#" $(srcdir)/LINGUAS; else echo "$(ALL_LINGUAS)"; fi) USER_LINGUAS=$(shell if test -n "$(LINGUAS)"; then LLINGUAS="$(LINGUAS)"; ALINGUAS="$(ALL_LINGUAS)"; for lang in $$LLINGUAS; do if test -n "`grep \^$$lang$$ $(srcdir)/LINGUAS 2>/dev/null`" -o -n "`echo $$ALINGUAS|tr ' ' '\n'|grep \^$$lang$$`"; then printf "$$lang "; fi; done; fi) USE_LINGUAS=$(shell if test -n "$(USER_LINGUAS)" -o -n "$(LINGUAS)"; then LLINGUAS="$(USER_LINGUAS)"; else if test -n "$(PO_LINGUAS)"; then LLINGUAS="$(PO_LINGUAS)"; else LLINGUAS="$(ALL_LINGUAS)"; fi; fi; for lang in $$LLINGUAS; do printf "$$lang "; done) POFILES=$(shell LINGUAS="$(PO_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.po "; done) DISTFILES = Makefile.in.in POTFILES.in $(POFILES) EXTRA_DISTFILES = ChangeLog POTFILES.skip Makevars LINGUAS POTFILES = \ # This comment gets stripped out CATALOGS=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.gmo "; done) .SUFFIXES: .SUFFIXES: .po .pox .gmo .mo .msg .cat AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ INTLTOOL_V_MSGFMT = $(INTLTOOL__v_MSGFMT_$(V)) INTLTOOL__v_MSGFMT_= $(INTLTOOL__v_MSGFMT_$(AM_DEFAULT_VERBOSITY)) INTLTOOL__v_MSGFMT_0 = @echo " MSGFMT" $@; .po.pox: $(MAKE) $(GETTEXT_PACKAGE).pot $(MSGMERGE) $* $(GETTEXT_PACKAGE).pot -o $*.pox .po.mo: $(INTLTOOL_V_MSGFMT)$(MSGFMT) -o $@ $< .po.gmo: $(INTLTOOL_V_MSGFMT)file=`echo $* | sed 's,.*/,,'`.gmo \ && rm -f $$file && $(GMSGFMT) -o $$file $< .po.cat: sed -f ../intl/po2msg.sed < $< > $*.msg \ && rm -f $@ && gencat $@ $*.msg all: all-@USE_NLS@ all-yes: $(CATALOGS) all-no: $(GETTEXT_PACKAGE).pot: $(POTFILES) $(GENPOT) install: install-data install-data: install-data-@USE_NLS@ install-data-no: all install-data-yes: all linguas="$(USE_LINGUAS)"; \ for lang in $$linguas; do \ dir=$(DESTDIR)$(localedir)/$$lang/LC_MESSAGES; \ $(mkdir_p) $$dir; \ if test -r $$lang.gmo; then \ $(INSTALL_DATA) $$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \ echo "installing $$lang.gmo as $$dir/$(GETTEXT_PACKAGE).mo"; \ else \ $(INSTALL_DATA) $(srcdir)/$$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \ echo "installing $(srcdir)/$$lang.gmo as" \ "$$dir/$(GETTEXT_PACKAGE).mo"; \ fi; \ if test -r $$lang.gmo.m; then \ $(INSTALL_DATA) $$lang.gmo.m $$dir/$(GETTEXT_PACKAGE).mo.m; \ echo "installing $$lang.gmo.m as $$dir/$(GETTEXT_PACKAGE).mo.m"; \ else \ if test -r $(srcdir)/$$lang.gmo.m ; then \ $(INSTALL_DATA) $(srcdir)/$$lang.gmo.m \ $$dir/$(GETTEXT_PACKAGE).mo.m; \ echo "installing $(srcdir)/$$lang.gmo.m as" \ "$$dir/$(GETTEXT_PACKAGE).mo.m"; \ else \ true; \ fi; \ fi; \ done # Empty stubs to satisfy archaic automake needs dvi info ctags tags CTAGS TAGS ID: # Define this as empty until I found a useful application. install-exec installcheck: uninstall: linguas="$(USE_LINGUAS)"; \ for lang in $$linguas; do \ rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo; \ rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo.m; \ done check: all $(GETTEXT_PACKAGE).pot rm -f missing notexist srcdir=$(srcdir) $(INTLTOOL_UPDATE) -m if [ -r missing -o -r notexist ]; then \ exit 1; \ fi mostlyclean: rm -f *.pox $(GETTEXT_PACKAGE).pot *.old.po cat-id-tbl.tmp rm -f .intltool-merge-cache clean: mostlyclean distclean: clean rm -f Makefile Makefile.in POTFILES stamp-it rm -f *.mo *.msg *.cat *.cat.m *.gmo maintainer-clean: distclean @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." rm -f Makefile.in.in distdir = ../$(PACKAGE)-$(VERSION)/$(subdir) dist distdir: $(DISTFILES) dists="$(DISTFILES)"; \ extra_dists="$(EXTRA_DISTFILES)"; \ for file in $$extra_dists; do \ test -f $(srcdir)/$$file && dists="$$dists $(srcdir)/$$file"; \ done; \ for file in $$dists; do \ test -f $$file || file="$(srcdir)/$$file"; \ ln $$file $(distdir) 2> /dev/null \ || cp -p $$file $(distdir); \ done update-po: Makefile $(MAKE) $(GETTEXT_PACKAGE).pot tmpdir=`pwd`; \ linguas="$(USE_LINGUAS)"; \ for lang in $$linguas; do \ echo "$$lang:"; \ result="`$(MSGMERGE) -o $$tmpdir/$$lang.new.po $$lang`"; \ if $$result; then \ if cmp $(srcdir)/$$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ exit 1; \ fi; \ fi; \ else \ echo "msgmerge for $$lang.gmo failed!"; \ rm -f $$tmpdir/$$lang.new.po; \ fi; \ done Makefile POTFILES: stamp-it @if test ! -f $@; then \ rm -f stamp-it; \ $(MAKE) stamp-it; \ fi stamp-it: Makefile.in.in $(top_builddir)/config.status POTFILES.in cd $(top_builddir) \ && CONFIG_FILES=$(subdir)/Makefile.in CONFIG_HEADERS= CONFIG_LINKS= \ $(SHELL) ./config.status # Tell versions [3.59,3.63) of GNU make not to export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: pioneers-15.5/po/de.po0000644000175000017500000030633613252242740011573 00000000000000# Pioneers - Settlers of Catan for GNOME. # Copyright (C) 1999-2001 Dave Cole # Copyright (C) 2000-2002 Andy Heroff # This file is distributed under the same license as the pioneers package. # Roman Hodek , 2002. # Pit Garbe , 2007. # msgid "" msgstr "" "Project-Id-Version: Pioneers 0.12.5\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-03-14 16:51+0100\n" "PO-Revision-Date: 2013-09-29 09:39+0100\n" "Last-Translator: Roland Clobus \n" "Language-Team: Pit Garbe , Roman Hodek , de " "\n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Launchpad-Export-Date: 2012-09-06 06:01+0000\n" "X-Generator: Poedit 1.5.4\n" #. Commandline pioneersai: chromosome-file #: ../client/ai/ai.c:90 msgid "Chromosome File" msgstr "" #. Commandline pioneersai: server #: ../client/ai/ai.c:93 msgid "Server Host" msgstr "Serverrechner" #. Commandline pioneersai: port #: ../client/ai/ai.c:96 msgid "Server Port" msgstr "Serverport" #. Commandline pioneersai: name #: ../client/ai/ai.c:99 msgid "Computer name (mandatory)" msgstr "Computername (erforderlich)" #. Commandline pioneersai: time #: ../client/ai/ai.c:102 msgid "Time to wait between turns (in milliseconds)" msgstr "Zeit zwischen den Zügen (in Millisekunden)" #. Commandline pioneersai: chat-free #: ../client/ai/ai.c:105 msgid "Stop computer player from talking" msgstr "Computerspielern das Chatten verbieten" #. Commandline pioneersai: algorithm #: ../client/ai/ai.c:108 msgid "Type of computer player" msgstr "Computerspieler-Typ" #. Commandline option of ai: enable debug logging #. Commandline option of client: enable debug logging #. Commandline option of metaserver: enable debug logging #. Commandline option of server-gtk: enable debug logging #. Commandline option of server: enable debug logging #: ../client/ai/ai.c:111 ../client/gtk/offline.c:67 ../metaserver/main.c:631 #: ../server/gtk/main.c:1170 ../server/main.c:159 msgid "Enable debug messages" msgstr "Debug-Nachrichten einschalten" #. Commandline option of ai: version #. Commandline option of client: version #. Commandline option of editor: version #. Commandline option of metaserver: version #. Commandline option of server-gtk: version #. Commandline option of server-console: version #: ../client/ai/ai.c:114 ../client/gtk/offline.c:70 ../editor/gtk/editor.c:1843 #: ../metaserver/main.c:637 ../server/gtk/main.c:1173 ../server/main.c:114 msgid "Show version information" msgstr "Versionsnummer anzeigen" #. Long description in the commandline for pioneersai: help #: ../client/ai/ai.c:125 msgid "- Computer player for Pioneers" msgstr "- Computerspieler für Pioneers" #: ../client/ai/ai.c:137 ../client/gtk/offline.c:196 #: ../editor/gtk/editor.c:1888 ../metaserver/main.c:687 #: ../server/gtk/main.c:1223 ../server/main.c:226 #, c-format msgid "Pioneers version:" msgstr "Pioneers Version:" #. ai commandline error #: ../client/ai/ai.c:160 #, c-format msgid "A name must be provided.\n" msgstr "Ein Name muss angegeben werden.\n" #: ../client/ai/ai.c:171 #, c-format msgid "Type of computer player: %s\n" msgstr "Computerspieler-Typ: %s\n" #: ../client/ai/ai.c:202 msgid "The game is already full. I'm leaving." msgstr "Das Spiel ist schon voll, ich gehe." #. AI chat at the start of the turn #: ../client/ai/ai.c:230 msgid "Ok, let's go!" msgstr "Auf geht's!" #. AI chat at the start of the turn #: ../client/ai/ai.c:232 msgid "I'll beat you all now! ;)" msgstr "Ich werd euch jetzt alle abhängen! ;)" #. AI chat at the start of the turn #: ../client/ai/ai.c:234 msgid "Now for another try..." msgstr "Ok, noch ein Versuch..." #. AI chat when one resource is received #: ../client/ai/ai.c:239 msgid "At least I get something..." msgstr "Wenigstens bekomme ich irgendwas..." #. AI chat when one resource is received #: ../client/ai/ai.c:241 msgid "One is better than none..." msgstr "Eine ist besser als keine..." #. AI chat when more than one resource is received #: ../client/ai/ai.c:246 msgid "Wow!" msgstr "Toll!" #. AI chat when more than one resource is received #: ../client/ai/ai.c:248 msgid "Ey, I'm becoming rich ;)" msgstr "Hey, ich werde reich! ;)" #. AI chat when more than one resource is received #: ../client/ai/ai.c:250 msgid "This is really a good year!" msgstr "Das ist wirklich ein gutes Jahr!" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:255 msgid "You really don't deserve that much!" msgstr "Du verdienst wirklich nicht so viel!" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:257 msgid "You don't know what to do with that many resources ;)" msgstr "Du weißt eh nicht, was du mit sovielen Karten anfangen sollst ;)" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:259 msgid "Ey, wait for my robber and lose all this again!" msgstr "He, warte auf meinen Räuber, dann ist das alles wieder weg!" #. AI chat when it moves the robber #: ../client/ai/ai.c:264 msgid "Hehe!" msgstr "Hehe!" #. AI chat when it moves the robber #: ../client/ai/ai.c:266 msgid "Go, robber, go!" msgstr "Los, Räuber, los!" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:271 msgid "You bastard!" msgstr "Schweinehund!" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:273 msgid "Can't you move that robber somewhere else?!" msgstr "Kannst du den Räuber nicht woanders hinstellen?!" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:275 msgid "Why always me??" msgstr "Warum immer ich??" #. AI chat when it must discard resources #: ../client/ai/ai.c:280 msgid "Oh no!" msgstr "Oh nein!" #. AI chat when it must discard resources #: ../client/ai/ai.c:282 msgid "Grrr!" msgstr "Grrr!" #. AI chat when it must discard resources #: ../client/ai/ai.c:284 msgid "Who the hell rolled that 7??" msgstr "Wer zum Teufel hat die 7 gewürfelt??" #. AI chat when it must discard resources #: ../client/ai/ai.c:286 msgid "Why always me?!?" msgstr "Warum immer ich?!?" #. AI chat when other players must discard #: ../client/ai/ai.c:291 msgid "Say good bye to your cards... :)" msgstr "Sag Tschüss zu deinen Karten... :)" #. AI chat when other players must discard #: ../client/ai/ai.c:293 msgid "*evilgrin*" msgstr "*bösegrins*" #. AI chat when other players must discard #: ../client/ai/ai.c:295 msgid "/me says farewell to your cards ;)" msgstr "/me sagt Lebwohl zu deinen Karten ;)" #. AI chat when other players must discard #: ../client/ai/ai.c:297 msgid "That's the price for being rich... :)" msgstr "Das ist der Preis für's Reichsein... :)" #. AI chat when someone steals from it #: ../client/ai/ai.c:302 msgid "Ey! Where's that card gone?" msgstr "He! Wo ist die Karte hin?" #. AI chat when someone steals from it #: ../client/ai/ai.c:304 msgid "Thieves! Thieves!!" msgstr "Diebe! Diebe!!" #. AI chat when someone steals from it #: ../client/ai/ai.c:306 msgid "Wait for my revenge..." msgstr "Warte auf meine Rache..." #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:311 msgid "Oh no :(" msgstr "Oh nein :(" #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:313 msgid "Must this happen NOW??" msgstr "Muß das ausgerechnet jetzt passieren??" #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:315 msgid "Args" msgstr "Args" #. AI chat when it has the largest army #: ../client/ai/ai.c:320 msgid "Hehe, my soldiers rule!" msgstr "Hehe, meine Ritter geben hier den Ton an!" #. AI chat when another player that the largest army #: ../client/ai/ai.c:325 msgid "First robbing us, then grabbing the points..." msgstr "Erst uns ausrauben und dann noch Punkte dafür kassieren..." #. AI chat when it has the longest road #: ../client/ai/ai.c:330 msgid "See that road!" msgstr "Schaut euch diese Straße an!" #. AI chat when another player has the longest road #: ../client/ai/ai.c:335 msgid "Pf, you won't win with roads alone..." msgstr "Pft, mit Straßen allein gewinnt keiner..." #: ../client/ai/ai.c:434 #, c-format msgid "Received error from server: %s. Quitting\n" msgstr "Fehler vom Server erhalten: %s. Verlasse das Spiel\n" #. AI chat when it wins #: ../client/ai/ai.c:446 ../client/ai/genetic.c:2766 msgid "Yippie!" msgstr "Juhu!" #. AI chat when another player wins #: ../client/ai/ai.c:449 ../client/ai/genetic.c:2777 msgid "My congratulations" msgstr "Glückwunsch!" #: ../client/ai/genetic.c:1277 ../client/ai/greedy.c:961 msgid "No settlements in stock to use for setup" msgstr "Keine Siedlungen mehr übrig" #: ../client/ai/genetic.c:1284 ../client/ai/greedy.c:968 msgid "There is no place to setup a settlement" msgstr "Es gibt keinen Platz für eine Siedlung" #: ../client/ai/genetic.c:1311 ../client/ai/greedy.c:992 msgid "No roads in stock to use for setup" msgstr "Keine Straßen mehr übrig" #: ../client/ai/genetic.c:1329 ../client/ai/greedy.c:1009 msgid "There is no place to setup a road" msgstr "Es gibt keinen Platz für eine Straße" #: ../client/ai/genetic.c:2651 ../client/ai/greedy.c:1784 msgid "Rejecting trade.\n" msgstr "Handel abgelehnt.\n" #. Translators: don't translate '/help' #: ../client/ai/lobbybot.c:80 msgid "" "Hello, welcome to the lobby. I am a simple robot. Type '/help' in the chat " "to see the list of commands I know." msgstr "" "Willkommen in der Lobby. Ich bin ein einfacher Roboter. Sende '/help' im " "Chat um die Liste der Befehle, die ich kenne, zu sehen." #. Translators: don't translate '/help' #: ../client/ai/lobbybot.c:107 msgid "'/help' shows this message again" msgstr "'/help' zeigt diese Nachricht nochmals" #. Translators: don't translate '/why' #: ../client/ai/lobbybot.c:110 msgid "'/why' explains the purpose of this strange board layout" msgstr "'/why' erklärt den Grund für dieses komische Brettlayout" #. Translators: don't translate '/news' #: ../client/ai/lobbybot.c:113 msgid "'/news' tells the last released version" msgstr "'/news' zeigt die zuletzt erschienene Version" #. AI chat that explains '/why' #: ../client/ai/lobbybot.c:119 msgid "" "This board is not intended to be a game that can be played. Instead, players " "can find eachother here, and decide which board they want to play. Then, one " "of the players will host the proposed game by starting a server, and " "registers it at the metaserver. The other players can subsequently " "disconnect from the lobby, and enter that game." msgstr "" "Dieses Brett ist nicht zum Spielen vorgesehen. Dafür können sich Spieler " "hier treffen und entscheiden, auf welchem Brett sie miteinander spielen " "wollen. Dann muss einer der Spieler das Spiel eröffnen, indem er einen " "Server startet und ihn beim Metaserver registriert. Die anderen Spieler " "können dann die Lobby verlassen und das neue Spiel betreten." #: ../client/ai/lobbybot.c:130 msgid "The last released version of Pioneers is" msgstr "Die zuletzt veröffentlichte Version von Pioneers ist" #. The lobbybot leaves when a game is starting #: ../client/ai/lobbybot.c:146 msgid "The game is starting. I'm not needed anymore. Goodbye." msgstr "Das Spiel beginnt. Ich werde nicht mehr benötigt. Auf Wiedersehen." #: ../client/common/client.c:105 msgid "Waiting" msgstr "Warte" #: ../client/common/client.c:107 msgid "Idle" msgstr "Untätig" #: ../client/common/client.c:532 msgid "We have been kicked out of the game.\n" msgstr "Du wurdest aus dem Spiel geworfen.\n" #. Network status: offline #: ../client/common/client.c:535 ../client/common/client.c:990 #: ../client/gtk/gui.c:1532 msgid "Offline" msgstr "Offline" #: ../client/common/client.c:556 #, c-format msgid "Error (%s): %s\n" msgstr "Fehler (%s): %s\n" #: ../client/common/client.c:565 ../client/common/client.c:576 #, c-format msgid "Notice: %s\n" msgstr "Mitteilung: %s\n" #: ../client/common/client.c:693 #, c-format msgid "%s does not receive any %s, because the bank is empty.\n" msgstr "%s bekommt kein %s, weil die Bank leer is.\n" #: ../client/common/client.c:706 #, c-format msgid "%s only receives %s, because the bank didn't have any more.\n" msgstr "%s bekommt nur %s, weil die Bank nicht mehr davon hat.\n" #: ../client/common/client.c:716 #, c-format msgid "%s receives %s.\n" msgstr "%s bekommt %s.\n" #. Year of Plenty #: ../client/common/client.c:724 ../client/common/client.c:2663 #, c-format msgid "%s takes %s.\n" msgstr "%s nimmt %s.\n" #: ../client/common/client.c:729 #, c-format msgid "%s spent %s.\n" msgstr "%s zahlt %s.\n" #: ../client/common/client.c:735 #, c-format msgid "%s is refunded %s.\n" msgstr "%s erhält %s zurück.\n" #. %s = Player name #: ../client/common/client.c:753 #, c-format msgid "%s shuffled the dice deck.\n" msgstr "" #: ../client/common/client.c:772 #, c-format msgid "%s discarded %s.\n" msgstr "%s hat %s abgelegt.\n" #: ../client/common/client.c:846 #, c-format msgid "%s has won the game with %d victory points!\n" msgstr "%s hat das Spiel mit %d Punkten gewonnen!\n" #: ../client/common/client.c:945 msgid "Loading" msgstr "Lade" #: ../client/common/client.c:991 msgid "Version mismatch." msgstr "Versionsunterschied." #: ../client/common/client.c:993 msgid "Version mismatch. Please make sure client and server are up to date.\n" msgstr "" "Versionsunterschied. Bitte stelle sicher, dass der Client und der Server auf " "dem neuesten Stand sind.\n" #: ../client/common/client.c:1413 msgid "Build two settlements, each with a connecting" msgstr "Baue zwei Siedlungen mit je einer verbundenen" #: ../client/common/client.c:1416 msgid "Build a settlement with a connecting" msgstr "Baue eine Siedlung mit einer verbundenen" #: ../client/common/client.c:1419 msgid "road" msgstr "Straße" #: ../client/common/client.c:1421 msgid "bridge" msgstr "Brücke" #: ../client/common/client.c:1423 msgid "ship" msgstr "Schiff" #: ../client/common/client.c:1430 msgid " or" msgstr " oder" #: ../client/common/client.c:1494 msgid "Waiting for your turn." msgstr "Warte auf deinen Zug." #: ../client/common/client.c:1546 ../client/gtk/interface.c:784 msgid "Select the building to steal from." msgstr "Wähle das Gebäude, von dem gestohlen werden soll." #: ../client/common/client.c:1568 ../client/gtk/interface.c:774 msgid "Select the ship to steal from." msgstr "Wähle das Schiff, von dem du stehlen willst." #: ../client/common/client.c:1652 ../client/gtk/interface.c:816 msgid "Place the robber." msgstr "Setze den Räuber." #: ../client/common/client.c:1702 msgid "Finish the road building action." msgstr "Beende die Straßenbauaktion." #: ../client/common/client.c:1704 msgid "Build one road segment." msgstr "Baue eine Straße." #: ../client/common/client.c:1706 msgid "Build two road segments." msgstr "Baue zwei Straßen." #. Notification #: ../client/common/client.c:1979 ../client/common/client.c:2073 #: ../client/gtk/interface.c:432 msgid "It is your turn." msgstr "Du bist am Zug." #: ../client/common/client.c:2167 #, c-format msgid "Sorry, %s available.\n" msgstr "Entschuldigung, %s verfügbar.\n" #: ../client/common/client.c:2481 msgid "The game is over." msgstr "Das Spiel ist beendet." #. This development card is unique #: ../client/common/develop.c:67 #, c-format msgid "You bought the %s development card.\n" msgstr "Du hast die %s-Entwicklungskarte gekauft.\n" #. This development card is not unique #: ../client/common/develop.c:73 #, c-format msgid "You bought a %s development card.\n" msgstr "Du hast eine %s-Entwicklungskarte gekauft.\n" #: ../client/common/develop.c:103 #, c-format msgid "%s bought a development card.\n" msgstr "%s hat eine Entwicklungskarte gekauft.\n" #: ../client/common/develop.c:121 #, c-format msgid "%s played the %s development card.\n" msgstr "%s hat die %s-Entwicklungskarte ausgespielt.\n" #: ../client/common/develop.c:126 #, c-format msgid "%s played a %s development card.\n" msgstr "%s hat eine %s-Entwicklungskarte ausgespielt.\n" #: ../client/common/develop.c:138 msgid "You have run out of road segments.\n" msgstr "Du hast keine Straßensegmente mehr.\n" #. I get the cards #. $1=resources, $2=player that loses resources #: ../client/common/develop.c:179 #, c-format msgid "You get %s from %s.\n" msgstr "Du bekommst %s von %s.\n" #. I lose the cards #. $1=player that steals, $2=resources #: ../client/common/develop.c:185 #, c-format msgid "%s took %s from you.\n" msgstr "%s hat %s von dir genommen.\n" #: ../client/common/develop.c:192 #, c-format msgid "%s took %s from %s.\n" msgstr "%s hat %s von %s genommen.\n" #: ../client/common/player.c:125 ../server/player.c:567 #, c-format msgid "Spectator %d" msgstr "Zuschauer %d" #: ../client/common/player.c:128 #, c-format msgid "spectator %d" msgstr "Zuschauer %d" #: ../client/common/player.c:137 ../server/player.c:570 #, c-format msgid "Player %d" msgstr "Spieler %d" #: ../client/common/player.c:139 #, c-format msgid "player %d" msgstr "Spieler %d" #: ../client/common/player.c:216 #, c-format msgid "New spectator: %s.\n" msgstr "Neue Zuschauer: %s.\n" #: ../client/common/player.c:219 ../client/common/player.c:235 #, c-format msgid "%s is now %s.\n" msgstr "%s heißt jetzt %s.\n" #: ../client/common/player.c:232 #, c-format msgid "Player %d is now %s.\n" msgstr "Spieler %d heißt jetzt %s.\n" #: ../client/common/player.c:269 #, c-format msgid "%s has quit.\n" msgstr "%s hat das Spiel verlassen.\n" #: ../client/common/player.c:278 msgid "There is no largest army.\n" msgstr "Es gibt keine größte Rittermacht.\n" #: ../client/common/player.c:281 #, c-format msgid "%s has the largest army.\n" msgstr "%s hat die größte Rittermacht.\n" #: ../client/common/player.c:302 msgid "There is no longest road.\n" msgstr "Es gibt keine längste Handelsstraße.\n" #: ../client/common/player.c:305 #, c-format msgid "%s has the longest road.\n" msgstr "%s hat die längste Handelsstraße.\n" #: ../client/common/player.c:326 #, c-format msgid "Waiting for %s." msgstr "Warte auf %s." #. We are not in on the action #. someone stole a resource from someone else #: ../client/common/player.c:354 #, c-format msgid "%s stole a resource from %s.\n" msgstr "%s hat eine Karte von %s gestohlen.\n" #. $1=resource, $2=player name #: ../client/common/player.c:365 #, c-format msgid "You stole %s from %s.\n" msgstr "Du hast %s von %s gestohlen.\n" #. $1=player name, $2=resource #: ../client/common/player.c:372 #, c-format msgid "%s stole %s from you.\n" msgstr "%s hat %s von dir gestohlen.\n" #: ../client/common/player.c:406 #, c-format msgid "%s gave %s nothing!?\n" msgstr "%s hat %s nichts gegeben!?\n" #. $1=giving player, $2=receiving player, $3=resources #: ../client/common/player.c:413 ../client/common/player.c:423 #, c-format msgid "%s gave %s %s for free.\n" msgstr "%s hat %s %s gratis gegeben.\n" #: ../client/common/player.c:431 #, c-format msgid "%s gave %s %s in exchange for %s.\n" msgstr "%1$s hat von %2$s %4$s für %3$s bekommen.\n" #: ../client/common/player.c:462 #, c-format msgid "%s exchanged %s for %s.\n" msgstr "%s hat %s gegen %s getauscht.\n" #: ../client/common/player.c:482 #, c-format msgid "%s built a road.\n" msgstr "%s hat eine Straße gebaut.\n" #: ../client/common/player.c:494 #, c-format msgid "%s built a ship.\n" msgstr "%s hat ein Schiff gebaut.\n" #: ../client/common/player.c:507 #, c-format msgid "%s built a settlement.\n" msgstr "%s hat eine Siedlung gebaut.\n" #: ../client/common/player.c:526 #, c-format msgid "%s built a city.\n" msgstr "%s hat eine Stadt gebaut.\n" #: ../client/common/player.c:540 #, c-format msgid "%s built a city wall.\n" msgstr "%s hat eine Stadtmauer gebaut.\n" #. Error message #: ../client/common/player.c:551 #, c-format msgid "player_build_add called with BUILD_NONE for user %s\n" msgstr "player_build_add mit BUILD_NONE für Benutzer %s aufgerufen\n" #: ../client/common/player.c:561 #, c-format msgid "%s built a bridge.\n" msgstr "%s hat eine Brücke gebaut.\n" #: ../client/common/player.c:587 #, c-format msgid "%s removed a road.\n" msgstr "%s hat eine Straße entfernt.\n" #: ../client/common/player.c:597 #, c-format msgid "%s removed a ship.\n" msgstr "%s hat ein Schiff entfernt.\n" #: ../client/common/player.c:607 #, c-format msgid "%s removed a settlement.\n" msgstr "%s hat eine Siedlung entfernt.\n" #: ../client/common/player.c:618 #, c-format msgid "%s removed a city.\n" msgstr "%s hat eine Stadt entfernt.\n" #: ../client/common/player.c:632 #, c-format msgid "%s removed a city wall.\n" msgstr "%s hat eine Stadtmauer entfernt.\n" #. Error message #: ../client/common/player.c:642 #, c-format msgid "player_build_remove called with BUILD_NONE for user %s\n" msgstr "player_build_remove mit BUILD_NONE für Benutzer %s aufgerufen\n" #: ../client/common/player.c:651 #, c-format msgid "%s removed a bridge.\n" msgstr "%s hat eine Brücke entfernt.\n" #: ../client/common/player.c:682 #, c-format msgid "%s has canceled a ship's movement.\n" msgstr "%s hat eine Schiffsbewegung zurückgenommen.\n" #: ../client/common/player.c:685 #, c-format msgid "%s moved a ship.\n" msgstr "%s hat ein Schiff bewegt.\n" #. tell the user that someone got something #: ../client/common/player.c:705 #, c-format msgid "%s received %s.\n" msgstr "%s hat %s bekommen.\n" #: ../client/common/player.c:724 msgid "server asks to lose invalid point.\n" msgstr "Server will einen nicht vorhandenen Punkt wegnehmen.\n" #. tell the user the point is lost #: ../client/common/player.c:730 #, c-format msgid "%s lost %s.\n" msgstr "%s hat %s verloren.\n" #: ../client/common/player.c:753 msgid "server asks to move invalid point.\n" msgstr "Server will einen nicht vorhandenen Punkt übertragen.\n" #. tell the user someone (1) lost something (2) to someone else (3) #: ../client/common/player.c:760 #, c-format msgid "%s lost %s to %s.\n" msgstr "%s hat %s an %s verloren.\n" #: ../client/common/resource.c:35 msgid "brick" msgstr "Lehm" #: ../client/common/resource.c:35 msgid "Brick" msgstr "Lehm" #: ../client/common/resource.c:36 msgid "grain" msgstr "Getreide" #: ../client/common/resource.c:36 msgid "Grain" msgstr "Getreide" #: ../client/common/resource.c:37 msgid "ore" msgstr "Erz" #: ../client/common/resource.c:37 msgid "Ore" msgstr "Erz" #: ../client/common/resource.c:38 msgid "wool" msgstr "Wolle" #: ../client/common/resource.c:38 msgid "Wool" msgstr "Wolle" #: ../client/common/resource.c:39 msgid "lumber" msgstr "Holz" #: ../client/common/resource.c:39 msgid "Lumber" msgstr "Holz" #: ../client/common/resource.c:40 msgid "no resource (bug)" msgstr "kein Rohstoff (Fehler)" #: ../client/common/resource.c:40 msgid "No resource (bug)" msgstr "Kein Rohstoff (Fehler)" #: ../client/common/resource.c:41 msgid "any resource (bug)" msgstr "beliebiger Rohstoff (Fehler)" #: ../client/common/resource.c:41 msgid "Any resource (bug)" msgstr "Beliebiger Rohstoff (Fehler)" #: ../client/common/resource.c:42 msgid "gold" msgstr "Gold" #: ../client/common/resource.c:42 ../client/gtk/legend.c:41 msgid "Gold" msgstr "Gold" #: ../client/common/resource.c:47 msgid "a brick card" msgstr "eine Lehm-Karte" #: ../client/common/resource.c:47 #, c-format msgid "%d brick cards" msgstr "%d Lehm-Karten" #: ../client/common/resource.c:48 msgid "a grain card" msgstr "eine Getreide-Karte" #: ../client/common/resource.c:48 #, c-format msgid "%d grain cards" msgstr "%d Getreide-Karten" #: ../client/common/resource.c:49 msgid "an ore card" msgstr "eine Erz-Karte" #: ../client/common/resource.c:49 #, c-format msgid "%d ore cards" msgstr "%d Erz-Karten" #: ../client/common/resource.c:50 msgid "a wool card" msgstr "eine Wolle-Karte" #: ../client/common/resource.c:50 #, c-format msgid "%d wool cards" msgstr "%d Wolle-Karten" #: ../client/common/resource.c:51 msgid "a lumber card" msgstr "eine Holz-Karte" #: ../client/common/resource.c:51 #, c-format msgid "%d lumber cards" msgstr "%d Holz-Karten" #: ../client/common/resource.c:139 ../client/common/resource.c:225 msgid "nothing" msgstr "nichts" #. Construct "A, B and C" for resources #: ../client/common/resource.c:166 #, c-format msgid "%s and %s" msgstr "%s und %s" #. Construct "A, B and C" for resources #: ../client/common/resource.c:170 #, c-format msgid "%s, %s" msgstr "%s, %s" #: ../client/common/robber.c:62 #, c-format msgid "%s has undone the robber movement.\n" msgstr "%s hat den Räuber zurückgesetzt.\n" #: ../client/common/robber.c:65 #, c-format msgid "%s moved the robber.\n" msgstr "%s hat den Räuber gesetzt.\n" #: ../client/common/robber.c:75 #, c-format msgid "%s has undone the pirate movement.\n" msgstr "%s hat eine Piratenbewegung zurückgenommen.\n" #: ../client/common/robber.c:78 #, c-format msgid "%s moved the pirate.\n" msgstr "%s hat den Pirat gesetzt.\n" #: ../client/common/robber.c:85 #, c-format msgid "%s must move the robber." msgstr "%s muß den Räuber setzen." #: ../client/common/setup.c:146 #, c-format msgid "Setup for %s.\n" msgstr "Gründungsphase für %s.\n" #: ../client/common/setup.c:158 #, c-format msgid "Double setup for %s.\n" msgstr "Doppelte Gründungsphase für %s.\n" #: ../client/common/turn.c:37 #, c-format msgid "%s rolled %d.\n" msgstr "%s hat %d gewürfelt.\n" #: ../client/common/turn.c:50 #, c-format msgid "Begin turn %d for %s.\n" msgstr "Beginn Runde %d für %s.\n" #: ../client/gtk/avahi-browser.c:83 msgid "Select an automatically discovered game" msgstr "Wähle ein automatisch entdecktes Spiel" #. $1=Game title, $2=version, $3=host_name, $4=port #: ../client/gtk/avahi-browser.c:132 #, c-format msgid "%s (%s) on %s:%s" msgstr "%s (%s) auf %s:%s" #. Label text #: ../client/gtk/chat.c:73 msgid "Chat" msgstr "Chat" #: ../client/gtk/chat.c:232 msgid "Beeper test.\n" msgstr "Piepser-Test.\n" #: ../client/gtk/chat.c:235 #, c-format msgid "%s beeped you.\n" msgstr "%s hat dich angepiepst.\n" #: ../client/gtk/chat.c:239 #, c-format msgid "You beeped %s.\n" msgstr "Du hast %s angepiepst.\n" #: ../client/gtk/chat.c:245 #, c-format msgid "You could not beep %s.\n" msgstr "Du konntest %s nicht anpiepsen.\n" #: ../client/gtk/chat.c:287 msgid " said: " msgstr " sagte: " #: ../client/gtk/connect.c:286 #, c-format msgid "Metaserver at %s, port %s" msgstr "Metaserver auf %s, Port %s" #: ../client/gtk/connect.c:296 msgid "Finished.\n" msgstr "Fertig.\n" #: ../client/gtk/connect.c:311 ../client/gtk/connect.c:389 #: ../client/gtk/connect.c:408 ../client/gtk/connect.c:979 msgid "The metaserver is not available anymore.\n" msgstr "Der Metaserver ist nicht mehr verfügbar.\n" #: ../client/gtk/connect.c:322 ../client/gtk/connect.c:443 #: ../client/gtk/connect.c:770 msgid "The metaserver closed the connection unexpectedly.\n" msgstr "" #: ../client/gtk/connect.c:380 msgid "Receiving game names from the metaserver.\n" msgstr "Empfange Spielenamen vom Metaserver.\n" #: ../client/gtk/connect.c:422 #, c-format msgid "New game server requested on %s port %s.\n" msgstr "Neuer Spielserver angefordert auf %s Port %s.\n" #: ../client/gtk/connect.c:432 msgid "Incomplete information about the new game server received.\n" msgstr "" #: ../client/gtk/connect.c:486 ../client/gtk/connect.c:492 ../server/meta.c:239 #, c-format msgid "Unknown message from the metaserver: %s\n" msgstr "Unbekannte Nachricht vom Metaserver: %s\n" #: ../client/gtk/connect.c:565 ../server/meta.c:178 #, c-format msgid "Receiving data from inactive session: %s\n" msgstr "" #: ../client/gtk/connect.c:577 ../server/meta.c:192 msgid "Too many metaserver redirects.\n" msgstr "Zu viele Metaserver-Weiterleitungen.\n" #: ../client/gtk/connect.c:606 ../server/meta.c:208 #, c-format msgid "Bad redirect line: %s\n" msgstr "Fehlerhafte Weiterleitungszeile: %s\n" #: ../client/gtk/connect.c:631 #, c-format msgid "The metaserver is too old to create servers (version %d.%d)\n" msgstr "Metaserver zu alt, um Spielserver zu starten (Version %d.%d)\n" #: ../client/gtk/connect.c:670 ../client/gtk/connect.c:749 #: ../client/gtk/connect.c:755 #, c-format msgid "Unexpected data from the metaserver: %s\n" msgstr "Unbekannte Nachricht vom Metaserver: %s\n" #. Sevens rule: normal #: ../client/gtk/connect.c:701 ../client/gtk/settingscreen.c:181 #: ../common/gtk/game-rules.c:89 msgid "Normal" msgstr "Standard" #. Sevens rule: reroll on 1st 2 turns #: ../client/gtk/connect.c:706 ../client/gtk/settingscreen.c:183 #: ../common/gtk/game-rules.c:95 msgid "Reroll on 1st 2 turns" msgstr "Wiederholen in ersten 2 Runden" #. Sevens rule: reroll all 7s #: ../client/gtk/connect.c:710 ../client/gtk/settingscreen.c:185 #: ../common/gtk/game-rules.c:102 msgid "Reroll all 7s" msgstr "Immer wiederholen" #: ../client/gtk/connect.c:724 msgid "Default" msgstr "Standard" #: ../client/gtk/connect.c:727 msgid "Random" msgstr "Zufällig" #: ../client/gtk/connect.c:819 ../server/meta.c:299 #, c-format msgid "Redirected to the metaserver at %s.\n" msgstr "Weitergeleitet zu Metaserver auf %s.\n" #: ../client/gtk/connect.c:824 ../server/meta.c:302 #, c-format msgid "Redirected to the metaserver at %s, port %s.\n" msgstr "Weitergeleitet zu Metaserver auf %s, Port %s.\n" #: ../client/gtk/connect.c:831 msgid "Receiving a list of Pioneers servers from the metaserver.\n" msgstr "Empfange eine Liste von Pioneers-Servern vom Metaserver.\n" #. Label #: ../client/gtk/connect.c:914 msgid "Number of computer players" msgstr "Anzahl der Computerspieler" #. Tooltip #: ../client/gtk/connect.c:935 msgid "The number of computer players" msgstr "Die Anzahl der Computerspieler" #. Canceled retrieving information #. * from the metaserver #: ../client/gtk/connect.c:957 ../client/gtk/connect.c:992 #: ../client/gtk/connect.c:1133 msgid "Canceled.\n" msgstr "" #: ../client/gtk/connect.c:960 msgid "Requesting new game server.\n" msgstr "Anfrage für einen neuen Spielserver gesendet.\n" #: ../client/gtk/connect.c:1015 ../server/gtk/main.c:370 ../server/server.c:123 #, c-format msgid "Error starting %s: %s\n" msgstr "Fehler beim Starten von %s: %s\n" #. Dialog caption #: ../client/gtk/connect.c:1037 msgid "Create a Public Game" msgstr "Ein öffentliches Spiel erstellen" #. Button text #: ../client/gtk/connect.c:1040 ../client/gtk/connect.c:1191 #: ../client/gtk/connect.c:1440 ../client/gtk/connect.c:1744 #: ../client/gtk/name.c:147 ../editor/gtk/editor.c:1521 #: ../editor/gtk/editor.c:1562 ../editor/gtk/editor.c:1611 msgid "_Cancel" msgstr "_Abbrechen" #. Button text #: ../client/gtk/connect.c:1042 #, fuzzy msgid "C_reate" msgstr "Spiel erstellen" #. Dialog caption #: ../client/gtk/connect.c:1182 msgid "Join a Public Game" msgstr "An einem öffentlichen Spiel teilnehmen" #. Button text #: ../client/gtk/connect.c:1185 msgid "_Refresh" msgstr "A_ktualisieren" #. Button text #: ../client/gtk/connect.c:1188 msgid "_New Remote Game" msgstr "_Neues Netzwerkspiel" #. Button text #: ../client/gtk/connect.c:1194 ../client/gtk/connect.c:1748 msgid "_Join" msgstr "_Teilnehmen" #. Tooltip #: ../client/gtk/connect.c:1237 msgid "Select a game to join" msgstr "Wähle ein Spiel zur Teilnahme" #. Column name #: ../client/gtk/connect.c:1241 msgid "Map Name" msgstr "Kartenname" #. Tooltip for column 'Map Name' #: ../client/gtk/connect.c:1249 msgid "Name of the game" msgstr "Name des Spiels" #. Column name #: ../client/gtk/connect.c:1255 msgid "Curr" msgstr "Akt" #. Tooltip for column 'Curr' #: ../client/gtk/connect.c:1262 msgid "Number of players in the game" msgstr "Anzahl der Spieler im Spiel" #. Column name #: ../client/gtk/connect.c:1268 msgid "Max" msgstr "Max" #. Tooltip for column 'Max' #: ../client/gtk/connect.c:1275 msgid "Maximum players for the game" msgstr "Höchste Spieleranzahl für das Spiel" #. Column name #: ../client/gtk/connect.c:1279 msgid "Terrain" msgstr "Gelände" #. Tooltip for column 'Terrain' #: ../client/gtk/connect.c:1287 msgid "Random of default terrain" msgstr "Zufällige Geländeverteilung" #. Column name #: ../client/gtk/connect.c:1293 msgid "Vic. Points" msgstr "Siegpunkte" #. Tooltip for column 'Vic. Points' #: ../client/gtk/connect.c:1300 msgid "Points needed to win" msgstr "Punkte für Sieg" #. Column name #: ../client/gtk/connect.c:1304 msgid "Sevens Rule" msgstr "7-Regel" #. Tooltip for column 'Sevens Rule' #. Label #: ../client/gtk/connect.c:1312 ../common/gtk/game-rules.c:81 msgid "Sevens rule" msgstr "7-Regel" #. Column name #: ../client/gtk/connect.c:1316 msgid "Host" msgstr "Host-Rechner" #. Tooltip for column 'Host' #: ../client/gtk/connect.c:1325 msgid "Host of the game" msgstr "Host des Spiels" #. Column name #: ../client/gtk/connect.c:1331 msgid "Port" msgstr "Port" #. Tooltip for column 'Port' #: ../client/gtk/connect.c:1339 msgid "Port of the game" msgstr "Netzwerk-Port des Spiels" #. Column name #: ../client/gtk/connect.c:1343 msgid "Version" msgstr "Version" #. Tooltip for column 'Version' #: ../client/gtk/connect.c:1351 msgid "Version of the host" msgstr "Version des Hosts" #. Dialog caption #: ../client/gtk/connect.c:1436 msgid "Start a New Game" msgstr "Ein neues Spiel starten" #. Label #. Commandline option of client: name of the player #: ../client/gtk/connect.c:1464 ../client/gtk/offline.c:57 msgid "Player name" msgstr "Spielername" #. Tooltip #: ../client/gtk/connect.c:1480 msgid "Enter your name" msgstr "Gib deinen Namen ein" #. Check button #. Role of the player: spectator #: ../client/gtk/connect.c:1483 ../server/gtk/main.c:682 msgid "Spectator" msgstr "Zuschauer" #: ../client/gtk/connect.c:1493 msgid "Check if you want to be a spectator" msgstr "Anwählen falls Sie als Beobachter teilnehmen wollen" #. Label #: ../client/gtk/connect.c:1504 msgid "Avahi" msgstr "Avahi" #. Button #: ../client/gtk/connect.c:1511 msgid "Join" msgstr "Teilnehmen" #. Tooltip for button Join #: ../client/gtk/connect.c:1515 msgid "Join an automatically discovered game" msgstr "Spiele ein automatisch entdecktes Spiel" #. Label #. metaserver label #: ../client/gtk/connect.c:1542 ../server/gtk/main.c:593 msgid "Metaserver" msgstr "Metaserver" #. Button #: ../client/gtk/connect.c:1564 msgid "Join Public Game" msgstr "An öffentlichem Spiel teilnehmen" #. Tooltip #: ../client/gtk/connect.c:1570 msgid "Join a public game" msgstr "An einem öffentlichen Spiel teilnehmen" #. Button #: ../client/gtk/connect.c:1575 msgid "Create Game" msgstr "Spiel erstellen" #. Tooltip #: ../client/gtk/connect.c:1579 msgid "Create a game" msgstr "Ein Spiel erstellen" #. Button #: ../client/gtk/connect.c:1588 msgid "Join Private Game" msgstr "An privatem Spiel teilnehmen" #. Tooltip #. Dialog caption #: ../client/gtk/connect.c:1592 ../client/gtk/connect.c:1737 msgid "Join a private game" msgstr "An einem privaten Spiel teilnehmen" #. Label #. Commandline option of client: hostname of the server #: ../client/gtk/connect.c:1777 ../client/gtk/offline.c:51 msgid "Server host" msgstr "Serverrechner" #. Tooltip #: ../client/gtk/connect.c:1791 msgid "Name of the host of the game" msgstr "Name des Spiel-Hosts" #. Label #. Commandline option of client: port of the server #. server port label #: ../client/gtk/connect.c:1795 ../client/gtk/offline.c:54 #: ../server/gtk/main.c:555 msgid "Server port" msgstr "Serverport" #. Tooltip #: ../client/gtk/connect.c:1812 msgid "Port of the host of the game" msgstr "Port des Spiel-Hosts" #. Tooltip #. Label #: ../client/gtk/connect.c:1854 ../client/gtk/connect.c:1857 msgid "Recent games" msgstr "Zuletzt besuchte Spielserver" #. Caption for list of bought development cards #: ../client/gtk/develop.c:130 msgid "Development cards" msgstr "Entwicklungskarten" #. Button text: play development card #: ../client/gtk/develop.c:163 msgid "Play Card" msgstr "Karte ausspielen" #. Dialog caption #: ../client/gtk/discard.c:77 msgid "Discard Resources" msgstr "Karten ablegen" #. Button text #: ../client/gtk/discard.c:83 ../client/gtk/gameover.c:38 #: ../client/gtk/gold.c:78 ../client/gtk/monopoly.c:88 ../client/gtk/name.c:150 #: ../client/gtk/plenty.c:67 ../editor/gtk/editor.c:1614 msgid "_OK" msgstr "_OK" #: ../client/gtk/discard.c:101 #, c-format msgid "You must discard %d resource" msgid_plural "You must discard %d resources" msgstr[0] "Du mußt %d Karte ablegen" msgstr[1] "Du mußt %d Karten ablegen" #. Label #: ../client/gtk/discard.c:110 msgid "Total discards" msgstr "Insgesamt abgelegte Karten" #. Caption for list of player that must discard cards #: ../client/gtk/discard.c:235 msgid "Waiting for players to discard" msgstr "Warte auf Spieler, die ablegen müssen" #. Dialog caption #: ../client/gtk/gameover.c:34 msgid "Game Over" msgstr "Spiel beendet" #: ../client/gtk/gameover.c:52 #, c-format msgid "%s has won the game with %d victory points!" msgstr "%s hat das Spiel mit %d Punkten gewonnen!" #: ../client/gtk/gameover.c:58 #, c-format msgid "All praise %s, Lord of the known world!" msgstr "Lobet %s, den Herrscher der bekannten Welt!" #. Dialog caption #: ../client/gtk/gold.c:72 msgid "Choose Resources" msgstr "Karten wählen" #: ../client/gtk/gold.c:96 #, c-format msgid "You may choose %d resource" msgid_plural "You may choose %d resources" msgstr[0] "Du mußt %d Karte wählen" msgstr[1] "Du mußt %d Karten wählen" #. Text for total in choose gold dialog #. Text for total in year of plenty dialog #: ../client/gtk/gold.c:105 ../client/gtk/plenty.c:103 msgid "Total resources" msgstr "Insgesamt" #. Caption for list of player that must choose gold #: ../client/gtk/gold.c:217 msgid "Waiting for players to choose" msgstr "Warte auf Spieler, die wählen müssen" #. Menu entry #: ../client/gtk/gui.c:224 ../server/gtk/main.c:91 msgid "_Game" msgstr "_Spiel" #. Menu entry #: ../client/gtk/gui.c:227 msgid "_New Game" msgstr "_Neues Spiel" #. Tooltip for New Game menu entry #: ../client/gtk/gui.c:229 msgid "Start a new game" msgstr "Ein neues Spiel starten" #. Menu entry #: ../client/gtk/gui.c:232 msgid "_Leave Game" msgstr "Spiel ver_lassen" #. Tooltip for Leave Game menu entry #: ../client/gtk/gui.c:234 msgid "Leave this game" msgstr "Dieses Spiel verlassen" #. Menu entry #: ../client/gtk/gui.c:238 msgid "_Admin" msgstr "_Administration" #. Tooltip for Admin menu entry #: ../client/gtk/gui.c:240 msgid "Administer Pioneers server" msgstr "Pioneers-Server verwalten" #. Menu entry #: ../client/gtk/gui.c:244 msgid "_Player Name" msgstr "S_pielername" #. Tooltip for Player Name menu entry #: ../client/gtk/gui.c:246 msgid "Change your player name" msgstr "Ändern des Spielernamens" #. Menu entry #: ../client/gtk/gui.c:249 msgid "L_egend" msgstr "_Erklärung" #. Tooltip for Legend menu entry #: ../client/gtk/gui.c:251 msgid "Terrain legend and building costs" msgstr "Geländeerklärung und Gebäudekosten" #. Menu entry #: ../client/gtk/gui.c:254 msgid "_Game Settings" msgstr "_Spieleinstellungen" #. Tooltip for Game Settings menu entry #: ../client/gtk/gui.c:256 msgid "Settings for the current game" msgstr "Einstellungen des aktuellen Spiels" #. Menu entry #: ../client/gtk/gui.c:259 msgid "_Dice Histogram" msgstr "_Würfelhistogramm" #. Tooltip for Dice Histogram menu entry #: ../client/gtk/gui.c:261 msgid "Histogram of dice rolls" msgstr "Histogramm der Würfelergebnisse" #. Menu entry #: ../client/gtk/gui.c:264 ../editor/gtk/editor.c:1759 ../server/gtk/main.c:103 msgid "_Quit" msgstr "_Beenden" #. Tooltip for Quit menu entry #. Tooltop for Quit menu entry #: ../client/gtk/gui.c:266 ../server/gtk/main.c:105 msgid "Quit the program" msgstr "Das Programm verlassen" #. Menu entry #: ../client/gtk/gui.c:269 msgid "_Actions" msgstr "_Aktionen" #. Menu entry #: ../client/gtk/gui.c:272 msgid "Roll Dice" msgstr "Würfeln" #. Tooltip for Roll Dice menu entry #: ../client/gtk/gui.c:274 msgid "Roll the dice" msgstr "Würfeln" #. Menu entry #. Tooltip for Trade menu entry #. Tab page name #: ../client/gtk/gui.c:277 ../client/gtk/gui.c:279 ../client/gtk/gui.c:710 msgid "Trade" msgstr "Handel" #. Menu entry #. Tooltip for Undo menu entry #: ../client/gtk/gui.c:283 ../client/gtk/gui.c:285 msgid "Undo" msgstr "Rückgängig" #. Menu entry #. Tooltip for Finish menu entry #: ../client/gtk/gui.c:288 ../client/gtk/gui.c:290 msgid "Finish" msgstr "Fertig" #. Menu entry #: ../client/gtk/gui.c:293 ../client/gtk/legend.c:189 #: ../editor/gtk/game-buildings.c:10 msgid "Road" msgstr "Straße" #. Tooltip for Road menu entry #: ../client/gtk/gui.c:295 msgid "Build a road" msgstr "Baue eine Straße" #. Menu entry #: ../client/gtk/gui.c:298 ../client/gtk/legend.c:193 #: ../editor/gtk/game-buildings.c:10 msgid "Ship" msgstr "Schiff" #. Tooltip for Ship menu entry #: ../client/gtk/gui.c:300 msgid "Build a ship" msgstr "Baue ein Schiff" #. Menu entry #: ../client/gtk/gui.c:303 msgid "Move Ship" msgstr "Schiff verlegen" #. Tooltip for Move Ship menu entry #: ../client/gtk/gui.c:305 msgid "Move a ship" msgstr "Bewege ein Schiff" #. Menu entry #: ../client/gtk/gui.c:308 ../client/gtk/legend.c:196 #: ../editor/gtk/game-buildings.c:10 msgid "Bridge" msgstr "Brücke" #. Tooltip for Bridge menu entry #: ../client/gtk/gui.c:310 msgid "Build a bridge" msgstr "Baue eine Brücke" #. Menu entry #: ../client/gtk/gui.c:313 ../client/gtk/legend.c:198 ../client/gtk/player.c:52 #: ../editor/gtk/game-buildings.c:10 msgid "Settlement" msgstr "Siedlung" #. Tooltip for Settlement menu entry #: ../client/gtk/gui.c:316 msgid "Build a settlement" msgstr "Baue eine Siedlung" #. Menu entry #: ../client/gtk/gui.c:319 ../client/gtk/legend.c:199 ../client/gtk/player.c:53 #: ../editor/gtk/game-buildings.c:11 msgid "City" msgstr "Stadt" #. Tooltip for City menu entry #: ../client/gtk/gui.c:321 msgid "Build a city" msgstr "Baue eine Stadt" #. Menu entry #: ../client/gtk/gui.c:324 msgid "Develop" msgstr "Entwicklungskarte" #. Tooltip for Develop menu entry #: ../client/gtk/gui.c:326 msgid "Buy a development card" msgstr "Kaufe eine Entwicklungskarte" #. Menu entry #: ../client/gtk/gui.c:329 msgid "City Wall" msgstr "Stadtmauer" #. Tooltip for City Wall menu entry #: ../client/gtk/gui.c:331 msgid "Build a city wall" msgstr "Baue eine Stadtmauer" #. Menu entry #: ../client/gtk/gui.c:335 msgid "_Settings" msgstr "_Einstellungen" #. Menu entry #: ../client/gtk/gui.c:338 msgid "Prefere_nces" msgstr "Einstellu_ngen" #. Tooltip for Preferences menu entry #: ../client/gtk/gui.c:340 msgid "Configure the application" msgstr "Konfiguriere die Anwendung" #. Menu entry #: ../client/gtk/gui.c:344 ../editor/gtk/editor.c:1721 msgid "_View" msgstr "_Ansicht" #. Menu entry #: ../client/gtk/gui.c:347 ../editor/gtk/editor.c:1765 msgid "_Reset" msgstr "_Zurücksetzen" #. Tooltip for Reset menu entry #: ../client/gtk/gui.c:350 ../editor/gtk/editor.c:1768 msgid "View the full map" msgstr "Zeige ganze Karte" #. Menu entry #: ../client/gtk/gui.c:353 ../editor/gtk/editor.c:1771 msgid "_Center" msgstr "Z_entrieren" #. Tooltip for Center menu entry #: ../client/gtk/gui.c:355 ../editor/gtk/editor.c:1773 msgid "Center the map" msgstr "Zentriert die Karte" #. Menu entry #: ../client/gtk/gui.c:359 ../client/gtk/gui.c:368 ../editor/gtk/editor.c:1724 #: ../server/gtk/main.c:94 msgid "_Help" msgstr "_Hilfe" #. Menu entry #: ../client/gtk/gui.c:362 msgid "_About Pioneers" msgstr "Ü_ber Pioneers" #. Tooltip for About Pioneers menu entry #: ../client/gtk/gui.c:364 msgid "Information about Pioneers" msgstr "Informationen über Pioneers" #. Tooltip for Help menu entry #: ../client/gtk/gui.c:370 ../client/gtk/gui.c:1258 msgid "Show the manual" msgstr "Das Handbuch zeigen" #. Menu entry #: ../client/gtk/gui.c:378 ../editor/gtk/editor.c:1791 msgid "_Fullscreen" msgstr "_Vollbild" #. Tooltip for Fullscreen menu entry #: ../client/gtk/gui.c:381 ../editor/gtk/editor.c:1794 msgid "Set window to full screen mode" msgstr "Umschalten in den Vollbildmodus" #. Menu entry #: ../client/gtk/gui.c:386 msgid "_Toolbar" msgstr "_Werkzeugleiste" #. Tooltip for Toolbar menu entry #: ../client/gtk/gui.c:388 msgid "Show or hide the toolbar" msgstr "Werkzeugleiste zeigen oder verstecken" #. Victory points target in statusbar #: ../client/gtk/gui.c:491 #, c-format msgid "Points needed to win: %i" msgstr "Punkte für Sieg: %i" #: ../client/gtk/gui.c:577 msgid "Messages" msgstr "Nachrichten" #. Tab page name #: ../client/gtk/gui.c:703 ../editor/gtk/editor.c:1946 msgid "Map" msgstr "Karte" #. Tooltip #: ../client/gtk/gui.c:712 msgid "Finish trading" msgstr "Handel beenden" #. Tab page name #. Button text #: ../client/gtk/gui.c:722 ../client/gtk/quote.c:339 msgid "Quote" msgstr "Angebot" #. Tooltip #: ../client/gtk/gui.c:724 msgid "Reject domestic trade" msgstr "Handel ablehnen" #. Tab page name #. Dialog caption #: ../client/gtk/gui.c:734 ../client/gtk/legend.c:249 msgid "Legend" msgstr "Erklärung" #. Tab page name, shown for the splash screen #: ../client/gtk/gui.c:744 msgid "Welcome to Pioneers" msgstr "Willkommen zu Pioneers" #. Caption of preferences dialog #: ../client/gtk/gui.c:1028 msgid "Pioneers Preferences" msgstr "Pioneers Einstellungen" #. Button text #: ../client/gtk/gui.c:1034 ../client/gtk/histogram.c:252 #: ../client/gtk/legend.c:253 ../client/gtk/settingscreen.c:413 msgid "_Close" msgstr "S_chließen" #. Label for changing the theme, in the preferences dialog #: ../client/gtk/gui.c:1059 msgid "Theme:" msgstr "Thema:" #. Tooltip for changing the theme in the preferences dialog #: ../client/gtk/gui.c:1082 msgid "Choose one of the themes" msgstr "Wähle eins der Themen" #. Label for the option to show the legend #: ../client/gtk/gui.c:1086 msgid "Show legend" msgstr "Legende Anzeigen" #. Tooltip for the option to show the legend #: ../client/gtk/gui.c:1096 msgid "Show the legend as a page beside the map" msgstr "Erklärung als eigene Seite neben der Karte anzeigen" #. Label for the option to display log messages in color #: ../client/gtk/gui.c:1101 msgid "Messages with color" msgstr "Nachrichten mit Farben anzeigen" #. Tooltip for the option to display log messages in color #: ../client/gtk/gui.c:1111 msgid "Show new messages with color" msgstr "Neue Nachrichten mit Farben anzeigen" #. Label for the option to display chat in color of player #: ../client/gtk/gui.c:1116 msgid "Chat in color of player" msgstr "Chat in den Spielerfarben" #. Tooltip for the option to display chat in color of player #: ../client/gtk/gui.c:1127 msgid "Show new chat messages in the color of the player" msgstr "Neue Chatnachrichten in den Farben der Spieler zeigen" #. Label for the option to display the summary with colors #: ../client/gtk/gui.c:1132 msgid "Summary with color" msgstr "Zusammenfassung mit Farben anzeigen" #. Tooltip for the option to display the summary with colors #: ../client/gtk/gui.c:1143 msgid "Use colors in the player summary" msgstr "Farben in der Spielerzusammenfassung benutzen" #. Label for the option to display keyboard accelerators in the toolbar #: ../client/gtk/gui.c:1148 msgid "Toolbar with shortcuts" msgstr "Werkzeugleiste mit Shortcuts" #. Tooltip for the option to display keyboard accelerators in the toolbar #: ../client/gtk/gui.c:1158 msgid "Show keyboard shortcuts in the toolbar" msgstr "Tastatur-Shortcuts in der Werkzeugleiste zeigen" #. Label for the option to disable all sounds #: ../client/gtk/gui.c:1164 msgid "Silent mode" msgstr "Stummschaltung" #. Tooltip for the option to disable all sounds #: ../client/gtk/gui.c:1170 msgid "In silent mode no sounds are made" msgstr "Bei Stummschaltung werden keine Klänge abgespielt" #. Label for the option to announce when players/spectators enter #: ../client/gtk/gui.c:1176 msgid "Announce new players" msgstr "Neue Spieler ankündigen" #. Tooltip for the option to use sound when players/spectators enter #: ../client/gtk/gui.c:1186 msgid "Make a sound when a new player or spectator enters the game" msgstr "" "Spiele ein Geräusch, wenn ein neuer Spieler oder Zuschauer das Spiel betritt" #. Label for the option to use the notifications. #: ../client/gtk/gui.c:1198 msgid "Show notifications" msgstr "Zeige Benachrichtigungen" #. Tooltip for notifications option. #: ../client/gtk/gui.c:1208 msgid "Show notifications when it's your turn or when new trade is available" msgstr "" "Zeigt Meldungen, wenn Sie an der Reihe sind oder wenn ein neuer Handel " "möglich ist" #. Label for the option to use the 16:9 layout. #: ../client/gtk/gui.c:1214 msgid "Use 16:9 layout" msgstr "Benutze 16:9 Layout" #. Tooltip for 16:9 option. #: ../client/gtk/gui.c:1224 msgid "Use a 16:9 friendly layout for the window" msgstr "Benutze ein 16:9-freundliches Layout für das Fenster" #. Caption of about box #: ../client/gtk/gui.c:1233 msgid "About Pioneers" msgstr "Über Pioneers" #. Initial text in status bar #: ../client/gtk/gui.c:1544 ../client/gtk/offline.c:107 msgid "Welcome to Pioneers!" msgstr "Willkommen zu Pioneers!" #. The name of the application #. Name of the application #: ../client/gtk/gui.c:1606 ../client/gtk/offline.c:209 #: ../client/gtk/pioneers.desktop.in.h:1 msgid "Pioneers" msgstr "Pioneers" #. Dialog caption #: ../client/gtk/histogram.c:248 msgid "Dice Histogram" msgstr "Würfelhistogramm" #: ../client/gtk/interface.c:111 msgid "Ship movement canceled." msgstr "Schiff-Bewegung abgebrochen." #: ../client/gtk/interface.c:119 ../client/gtk/interface.c:120 msgid "Select a new location for the ship." msgstr "Wähle die neue Position des Schiffes." #. Notification #: ../client/gtk/interface.c:919 msgid "It is your turn to setup." msgstr "Sie sind an der Reihe mit der Startaufstellung" #: ../client/gtk/legend.c:34 msgid "Hill" msgstr "Hügelland" #: ../client/gtk/legend.c:35 msgid "Field" msgstr "Ackerland" #: ../client/gtk/legend.c:36 msgid "Mountain" msgstr "Gebirge" #: ../client/gtk/legend.c:37 msgid "Pasture" msgstr "Weideland" #: ../client/gtk/legend.c:38 msgid "Forest" msgstr "Wald" #: ../client/gtk/legend.c:39 msgid "Desert" msgstr "Wüste" #: ../client/gtk/legend.c:40 msgid "Sea" msgstr "Meer" #. Label #: ../client/gtk/legend.c:132 msgid "Terrain yield" msgstr "Geländeerträge" #. Label #: ../client/gtk/legend.c:165 msgid "Building costs" msgstr "Gebäudekosten" #: ../client/gtk/legend.c:203 ../client/gtk/player.c:54 #: ../editor/gtk/game-buildings.c:11 msgid "City wall" msgstr "Stadtmauer" #: ../client/gtk/legend.c:206 ../client/gtk/player.c:65 msgid "Development card" msgstr "Entwicklungskarte" #. Dialog caption #. Name of the development card #: ../client/gtk/monopoly.c:84 ../common/cards.c:86 msgid "Monopoly" msgstr "Monopol" #. Label #: ../client/gtk/monopoly.c:106 msgid "Select the resource you wish to monopolize." msgstr "Wähle den zu monopolisierenden Rohstoff." #. Dialog caption #: ../client/gtk/name.c:141 msgid "Change Player Name" msgstr "Spielernamen ändern" #. Label #: ../client/gtk/name.c:172 msgid "Player name:" msgstr "Spielername:" #. Label: set player icon preferences #: ../client/gtk/name.c:234 msgid "Face:" msgstr "Gesicht:" #. Label: set player icon preferences #: ../client/gtk/name.c:250 msgid "Variant:" msgstr "Variante:" #: ../client/gtk/offline.c:61 msgid "Connect as a spectator" msgstr "Als Zuschauer verbinden" #: ../client/gtk/offline.c:64 msgid "Metaserver Host" msgstr "Metaserver-Rechner" #: ../client/gtk/offline.c:78 msgid "Select a game to join." msgstr "Wähle ein Spiel zur Teilnahme." #: ../client/gtk/offline.c:94 msgid "Connecting" msgstr "Verbinde" #. Long description in the commandline for pioneers: help #: ../client/gtk/offline.c:183 msgid "- Play a game of Pioneers" msgstr "- Spiel ein Spiel Pioneers" #: ../client/gtk/pioneers.desktop.in.h:2 msgid "Play a game of Pioneers" msgstr "Spiele ein Pioneers-Spiel" #: ../client/gtk/pioneers.desktop.in.h:3 msgid "game;board;play;Pioneers;Settlers;" msgstr "Spiel;Brett;spielen;Pioneers;Siedler;" #: ../client/gtk/player.c:52 msgid "Settlements" msgstr "Siedlungen" #: ../client/gtk/player.c:53 msgid "Cities" msgstr "Städte" #: ../client/gtk/player.c:54 msgid "City walls" msgstr "Stadtmauern" #: ../client/gtk/player.c:55 msgid "Largest army" msgstr "Größte Rittermacht" #: ../client/gtk/player.c:56 msgid "Longest road" msgstr "Längste Handelsstraße" #. Name of the development card #: ../client/gtk/player.c:57 ../common/cards.c:92 msgid "Chapel" msgstr "Kathedrale" #: ../client/gtk/player.c:57 msgid "Chapels" msgstr "Kathedralen" #. Name of the development card #: ../client/gtk/player.c:58 ../common/cards.c:95 msgid "Pioneer university" msgstr "Pioneer Universität" #: ../client/gtk/player.c:58 msgid "Pioneer universities" msgstr "Pioneer Universitäten" #. Name of the development card #: ../client/gtk/player.c:60 ../common/cards.c:98 msgid "Governor's house" msgstr "Regierungsgebäude" #: ../client/gtk/player.c:60 msgid "Governor's houses" msgstr "Regierungsgebäude" #. Name of the development card #: ../client/gtk/player.c:61 ../common/cards.c:101 msgid "Library" msgstr "Bibliothek" #: ../client/gtk/player.c:61 msgid "Libraries" msgstr "Bibliotheken" #. Name of the development card #: ../client/gtk/player.c:62 ../common/cards.c:104 msgid "Market" msgstr "Marktplatz" #: ../client/gtk/player.c:62 msgid "Markets" msgstr "Marktplätze" #. Name of the development card #: ../client/gtk/player.c:63 ../common/cards.c:107 msgid "Soldier" msgstr "Ritter" #: ../client/gtk/player.c:63 msgid "Soldiers" msgstr "Ritter" #: ../client/gtk/player.c:64 msgid "Resource card" msgstr "Rohstoffkarte" #: ../client/gtk/player.c:64 msgid "Resource cards" msgstr "Rohstoffkarten" #. Caption #: ../client/gtk/player.c:65 ../editor/gtk/editor.c:1305 msgid "Development cards" msgstr "Entwicklungskarten" #. Caption for the overview of the points and card of other players #: ../client/gtk/player.c:559 msgid "Player summary" msgstr "Spielerübersicht" #. Dialog caption #: ../client/gtk/plenty.c:61 msgid "Year of Plenty" msgstr "Erfindung" #: ../client/gtk/plenty.c:92 msgid "Please choose one resource from the bank" msgstr "Bitte nimm einen Rohstoff von der Bank" #: ../client/gtk/plenty.c:95 msgid "Please choose two resources from the bank" msgstr "Bitte nimm zwei Rohstoffe von der Bank" #: ../client/gtk/plenty.c:97 msgid "The bank is empty" msgstr "Die Bank ist leer" #: ../client/gtk/quote.c:187 #, c-format msgid "%s has %s, and is looking for %s" msgstr "%s hat %s und möchte %s" #. Notification #: ../client/gtk/quote.c:217 #, c-format msgid "New offer from %s." msgstr "Neues Angebot von %s." #. Notification #: ../client/gtk/quote.c:242 #, c-format msgid "Offer from %s." msgstr "Angebot von %s." #. Label #. Frame title, trade: I want to trade these resources #: ../client/gtk/quote.c:316 ../client/gtk/trade.c:524 msgid "I want" msgstr "Ich will" #. Label #. Frame title, trade: I want these resources in return #: ../client/gtk/quote.c:326 ../client/gtk/trade.c:530 msgid "Give them" msgstr "Ich gebe dafür" #. Button text #: ../client/gtk/quote.c:345 msgid "Delete" msgstr "Löschen" #. Button text #: ../client/gtk/quote.c:370 msgid "Reject Domestic Trade" msgstr "Handel ablehnen" #. Now create columns #. Table header: Player who trades #. Role of the player: player #: ../client/gtk/quote-view.c:170 ../server/gtk/main.c:684 msgid "Player" msgstr "Spieler" #. Table header: Quote #: ../client/gtk/quote-view.c:185 msgid "Quotes" msgstr "Angebote" #. trade: maritime quote: %1 resources of type %2 for #. * one resource of type %3 #: ../client/gtk/quote-view.c:303 #, c-format msgid "%d:1 %s for %s" msgstr "%d:1 %s für %s" #. Trade: a player has rejected trade #: ../client/gtk/quote-view.c:442 msgid "Rejected trade" msgstr "Handel abgelehnt" #. Caption for overview of the resources of the player #: ../client/gtk/resource.c:71 msgid "Resources" msgstr "Rohstoffe" #. Label #: ../client/gtk/resource.c:86 msgid "Total" msgstr "Insgesamt" #. Tooltip for the amount of resources in the hand #: ../client/gtk/resource-table.c:180 msgid "Amount in hand" msgstr "Karten in der Hand" #. Button for decreasing the selected amount #: ../client/gtk/resource-table.c:185 msgid "" msgstr "mehr>" #. Tooltip for increasing the selected amount #: ../client/gtk/resource-table.c:226 msgid "Increase the selected amount" msgstr "Die gewählte Menge erhöhen" #. Tooltip for the selected amount #: ../client/gtk/resource-table.c:243 msgid "Selected amount" msgstr "Gewählte Menge" #. Tooltip for the total selected amount #: ../client/gtk/resource-table.c:288 msgid "Total selected amount" msgstr "Gesamte ausgewählte Menge" #. Tooltip when the bank cannot be emptied #: ../client/gtk/resource-table.c:307 msgid "The bank cannot be emptied" msgstr "Die Bank kann nicht geleert werden" #: ../client/gtk/settingscreen.c:74 msgid "Yes" msgstr "Ja" #: ../client/gtk/settingscreen.c:76 ../client/gtk/settingscreen.c:240 msgid "No" msgstr "Nein" #: ../client/gtk/settingscreen.c:87 ../client/gtk/settingscreen.c:187 msgid "Unknown" msgstr "Unbekannt" #: ../client/gtk/settingscreen.c:121 msgid "No game in progress..." msgstr "Es läuft gerade kein Spiel..." #. Label #: ../client/gtk/settingscreen.c:132 msgid "General settings" msgstr "Allgemein" #: ../client/gtk/settingscreen.c:149 msgid "Number of players:" msgstr "Anzahl Spieler:" #: ../client/gtk/settingscreen.c:153 msgid "Victory point target:" msgstr "Siegpunkte:" #: ../client/gtk/settingscreen.c:157 msgid "Random terrain:" msgstr "Zufällige Geländeverteilung:" #: ../client/gtk/settingscreen.c:161 msgid "Allow trade between players:" msgstr "Handel unter den Spielern erlauben:" #: ../client/gtk/settingscreen.c:166 msgid "Allow trade only before building or buying:" msgstr "Handel nur vor dem Bauen oder Kaufen erlauben:" #: ../client/gtk/settingscreen.c:171 msgid "Check victory only at end of turn:" msgstr "Sieg nur am Ende einer Runde überprüfen:" #: ../client/gtk/settingscreen.c:176 msgid "Amount of each resource:" msgstr "Anzahl aller Rohstoffkarten:" #: ../client/gtk/settingscreen.c:190 msgid "Sevens rule:" msgstr "7-Regel:" #: ../client/gtk/settingscreen.c:196 msgid "Use dice deck instead of dice:" msgstr "" #: ../client/gtk/settingscreen.c:201 msgid "Number of dice decks:" msgstr "" #: ../client/gtk/settingscreen.c:207 msgid "Number of dice cards removed after shuffling:" msgstr "" #: ../client/gtk/settingscreen.c:214 msgid "Use the pirate to block ships:" msgstr "Den Pirat benutzen, um Schiffe zu blockieren:" #: ../client/gtk/settingscreen.c:243 msgid "Island discovery bonuses:" msgstr "Insel-Entdeckungs-Bonus:" #. Label #: ../client/gtk/settingscreen.c:260 msgid "Building quotas" msgstr "Gebäudeanzahl" #: ../client/gtk/settingscreen.c:277 msgid "Roads:" msgstr "Straßen:" #: ../client/gtk/settingscreen.c:283 msgid "Settlements:" msgstr "Siedlungen:" #: ../client/gtk/settingscreen.c:289 msgid "Cities:" msgstr "Städte:" #: ../client/gtk/settingscreen.c:295 msgid "City walls:" msgstr "Stadtmauern:" #: ../client/gtk/settingscreen.c:301 msgid "Ships:" msgstr "Schiffe:" #: ../client/gtk/settingscreen.c:307 msgid "Bridges:" msgstr "Brücken:" #. Label #: ../client/gtk/settingscreen.c:320 msgid "Development card deck" msgstr "Entwicklungskartenstapel" #: ../client/gtk/settingscreen.c:336 msgid "Road building cards:" msgstr "Straßenbau-Karten:" #: ../client/gtk/settingscreen.c:340 msgid "Monopoly cards:" msgstr "Monopol-Karten:" #: ../client/gtk/settingscreen.c:344 msgid "Year of plenty cards:" msgstr "Erfindungs-Karten:" #: ../client/gtk/settingscreen.c:348 msgid "Chapel cards:" msgstr "Kathedralen-Karten:" #: ../client/gtk/settingscreen.c:352 msgid "Pioneer university cards:" msgstr "Pioneer-Universitäts-Karten:" #: ../client/gtk/settingscreen.c:356 msgid "Governor's house cards:" msgstr "Regierungsgebäude-Karten:" #: ../client/gtk/settingscreen.c:360 msgid "Library cards:" msgstr "Bibliotheks-Karten:" #: ../client/gtk/settingscreen.c:364 msgid "Market cards:" msgstr "Marktplatz-Karten:" #: ../client/gtk/settingscreen.c:368 msgid "Soldier cards:" msgstr "Ritter-Karten:" #. Dialog caption #: ../client/gtk/settingscreen.c:407 msgid "Current Game Settings" msgstr "Aktuelle Spieleinstellungen" #. trade: you ask for something for free #: ../client/gtk/trade.c:205 #, c-format msgid "ask for %s for free" msgstr "möchte %s gratis" #. trade: you give something away for free #: ../client/gtk/trade.c:210 #, c-format msgid "give %s for free" msgstr "gibt %s gratis" #. trade: you trade something for something else #: ../client/gtk/trade.c:215 #, c-format msgid "give %s for %s" msgstr "gibt %s für %s" #. I want some resources, and give them some resources #: ../client/gtk/trade.c:242 #, c-format msgid "I want %s, and give them %s" msgstr "Ich möchte %s, und gebe dafür %s" #. Notification #: ../client/gtk/trade.c:348 #, c-format msgid "Quote received from %s." msgstr "Angebot erhalten von %s." #. Button text, trade: call for quotes from other players #: ../client/gtk/trade.c:539 msgid "_Call for Quotes" msgstr "Angebote einholen" #. Button text: Trade page, accept selected quote #: ../client/gtk/trade.c:568 msgid "_Accept Quote" msgstr "Angebot annehmen" #. Button text: Trade page, finish trading #: ../client/gtk/trade.c:574 msgid "_Finish Trading" msgstr "Handel beenden" #. Name of the development card #: ../common/cards.c:83 msgid "Road building" msgstr "Straßenbau" #. Name of the development card #: ../common/cards.c:89 msgid "Year of plenty" msgstr "Erfindung" #. Description of the 'Road Building' development card #: ../common/cards.c:118 msgid "Build two new roads" msgstr "Baue zwei Straßen." #. Description of the 'Monopoly' development card #: ../common/cards.c:121 msgid "" "Select a resource type and take every card of that type held by all other " "players" msgstr "" "Wähle eine Rohstoffart und erhalte von den anderen Mitspielern alle Karten " "dieser Art" #. Description of the 'Year of Plenty' development card #: ../common/cards.c:125 msgid "" "Take two resource cards of any type from the bank (cards may be of the same " "or different types)" msgstr "" "Nehmen Sie 2 beliebige Rohstoffkarten von der Bank (Karten können gleich " "oder unterschiedlich sein)" #. Description of a development card of 1 victory point #: ../common/cards.c:134 msgid "One victory point" msgstr "Ein Siegpunkt" #. Description of the 'Soldier' development card #: ../common/cards.c:137 msgid "" "Move the robber to a different space and take one resource card from another " "player adjacent to that space" msgstr "" "Setzen Sie den Räuber in ein anderes Feld und nehmen Sie eine Rohstoffkarte " "von einem Mitspieler, der an dieses Feld angrenzt" #: ../common/game.c:523 #, c-format msgid "Obsolete rule: '%s'\n" msgstr "Veraltete Regel: '%s'\n" #: ../common/game.c:530 #, c-format msgid "" "The game uses the new rule '%s', which is not yet supported. Consider " "upgrading.\n" msgstr "" "Das Spiel verwendet die neue Regel '%s', die noch nicht unterstützt ist. " "Aktualisierung ist empfohlen.\n" #: ../common/game.c:924 ../common/game.c:955 msgid "This game cannot be won." msgstr "Dieses Spiel kann nicht gewonnen werden." #: ../common/game.c:925 msgid "There is no land." msgstr "Hier gibt es kein Land." #: ../common/game.c:959 msgid "It is possible that this game cannot be won." msgstr "Es ist möglich, dass dieses Spiel unentschieden endet." #: ../common/game.c:965 msgid "This game can be won by only building all settlements and cities." msgstr "" "Dieses Spiel kann allein durch das Bauen aller Siedlungen und Städte " "gewonnen werden." #: ../common/game.c:971 #, c-format msgid "" "Required victory points: %d\n" "Points obtained by building all: %d\n" "Points in development cards: %u\n" "Longest road/largest army: %d+%d\n" "Maximum island discovery bonus: %d\n" "Total: %d" msgstr "" "Benötigte Siegpunkte: %d\n" "Punkte durch Gebäude: %d\n" "Punkte durch Entwicklungskarten: %u\n" "Längste Straße/Stärkste Rittermacht: %d+%d\n" "Größter Insel-Entdeckungs-Bonus: %d\n" "Gesamt: %d" #: ../common/game-list.c:111 #, c-format msgid "Looking for games in '%s'\n" msgstr "Suche Spielstände in '%s'\n" #: ../common/game-list.c:113 #, c-format msgid "Game directory '%s' not found\n" msgstr "Spielverzeichnis '%s' nicht gefunden\n" #: ../common/game-list.c:131 #, c-format msgid "Unable to load game: '%s'\n" msgstr "Laden von '%s' fehlgeschlagen\n" #: ../common/game-list.c:151 msgid "No games available\n" msgstr "Keine Spiele verfügbar\n" #: ../common/gtk/aboutbox.c:53 msgid "" "Pioneers is based upon the excellent\n" "Settlers of Catan board game.\n" msgstr "" "Pioneers basiert auf dem exzellenten\n" "Brettspiel 'Die Siedler von Catan'.\n" # #. Translators: add your name here. Keep the list #. * alphabetically, do not remove any names, and add #. * \n after your name (except the last name). #. #: ../common/gtk/aboutbox.c:63 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Daniel Winzen https://launchpad.net/~q-d\n" " Dominik R. https://launchpad.net/~visual-night\n" " Eberhard Allgaier https://launchpad.net/~e-allgaier\n" " Flames_in_Paradise https://launchpad.net/~ellisistfroh\n" " Jochen Kemnade https://launchpad.net/~jochenkemnade\n" " Markus Groß https://launchpad.net/~mag-privat\n" " Maximilian R. https://launchpad.net/~max-r\n" " Philipp Kleinhenz https://launchpad.net/~lopho\n" " Pit Garbe https://launchpad.net/~piiit\n" " Roland Clobus https://launchpad.net/~rclobus\n" " Vinzenz Vietzke https://launchpad.net/~vinzv" #. Caption for result of checking victory points #: ../common/gtk/common_gtk.c:324 msgid "Victory Point Analysis" msgstr "Siegpunkt-Analyse" #. Tooltip for sevens rule normal #: ../common/gtk/game-rules.c:110 msgid "All sevens move the robber or pirate" msgstr "Jede 7 bewegt den Räuber oder Pirat" #. Tooltip for sevens rule reroll on 1st 2 turns #: ../common/gtk/game-rules.c:114 msgid "In the first two turns all sevens are rerolled" msgstr "In den ersten beiden Runden wird jede 7 wiederholt gewürfelt." #. Tooltip for sevens rule reroll all #: ../common/gtk/game-rules.c:118 msgid "All sevens are rerolled" msgstr "Jede 7 wird wiederholt gewürfelt" #: ../common/gtk/game-rules.c:129 msgid "Randomize terrain" msgstr "Zufällige Geländeverteilung" #: ../common/gtk/game-rules.c:129 msgid "Randomize the terrain" msgstr "Zufällige Geländeverteilung" #: ../common/gtk/game-rules.c:132 msgid "Use pirate" msgstr "Pirat benutzen" #: ../common/gtk/game-rules.c:133 msgid "Use the pirate to block ships" msgstr "Den Pirat benutzen, um Schiffe zu blockieren" #: ../common/gtk/game-rules.c:135 msgid "Strict trade" msgstr "Strenger Handel" #: ../common/gtk/game-rules.c:136 msgid "Allow trade only before building or buying" msgstr "Handel nur vor dem Bauen oder Kaufen erlauben" #: ../common/gtk/game-rules.c:138 msgid "Domestic trade" msgstr "Binnenhandel" #: ../common/gtk/game-rules.c:139 msgid "Allow trade between players" msgstr "Handel unter den Spielern erlauben" #: ../common/gtk/game-rules.c:141 msgid "Victory at end of turn" msgstr "Sieg am Ende des Zuges" #: ../common/gtk/game-rules.c:142 msgid "Check for victory only at end of turn" msgstr "Sieg nur am Ende einer Runde überprüfen" #: ../common/gtk/game-rules.c:145 msgid "Use dice deck" msgstr "" #: ../common/gtk/game-rules.c:147 msgid "Use a deck of 36 dice cards instead of real dice" msgstr "" #. Label #: ../common/gtk/game-rules.c:155 msgid "Number of dice decks" msgstr "" #: ../common/gtk/game-rules.c:172 msgid "The number of dice decks (of 36 cards each)" msgstr "" #. Label #: ../common/gtk/game-rules.c:180 msgid "Number of removed dice cards" msgstr "" #: ../common/gtk/game-rules.c:199 msgid "The number of dice cards that are removed after shuffling the deck" msgstr "" #. Label #: ../common/gtk/game-rules.c:207 msgid "Island discovery bonuses" msgstr "Insel-Entdeckungs-Bonus" #. Tooltip for island bonus #: ../common/gtk/game-rules.c:219 msgid "A comma separated list of bonus points for discovering islands" msgstr "" #. Tooltip for the check button #: ../common/gtk/game-rules.c:237 msgid "Check and correct island discovery bonuses" msgstr "" #. Label text for customising a game #: ../common/gtk/game-settings.c:105 msgid "Number of players" msgstr "Anzahl Spieler" #. Tooltip for 'Number of Players' #: ../common/gtk/game-settings.c:124 msgid "The number of players" msgstr "Die Anzahl der Spieler" #. Label for customising a game #: ../common/gtk/game-settings.c:127 msgid "Victory point target" msgstr "Siegpunkte" #. Tooltip for Victory Point Target #: ../common/gtk/game-settings.c:147 msgid "The points needed to win the game" msgstr "Punkte für Sieg" #. Tooltip for the check button #: ../common/gtk/game-settings.c:161 msgid "Is it possible to win this game?" msgstr "Ist es möglich, dieses Spiel zu gewinnen?" #. Port indicator for a resource: trade 2 for 1 #: ../common/gtk/guimap.c:742 msgid "2:1" msgstr "2:1" #. Port indicator: trade 3 for 1 #. General port indicator #: ../common/gtk/guimap.c:745 ../common/gtk/guimap.c:770 msgid "3:1" msgstr "3:1" #. Port indicator for brick #: ../common/gtk/guimap.c:750 msgid "Brick port|B" msgstr "S" #. Port indicator for grain #: ../common/gtk/guimap.c:754 msgid "Grain port|G" msgstr "G" #. Port indicator for ore #: ../common/gtk/guimap.c:758 msgid "Ore port|O" msgstr "E" #. Port indicator for wool #: ../common/gtk/guimap.c:762 msgid "Wool port|W" msgstr "W" #. Port indicator for lumber #: ../common/gtk/guimap.c:766 msgid "Lumber port|L" msgstr "H" #. Tooltip for the list of metaservers #: ../common/gtk/metaserver.c:85 msgid "Select a metaserver" msgstr "Einen Metaserver auswählen" #. Tooltip for the list of games #: ../common/gtk/select-game.c:135 msgid "Select a game" msgstr "Wähle ein Spiel" #. Log prefix #: ../common/log.c:58 msgid "*ERROR* " msgstr "*FEHLER* " #. Log prefix #: ../common/log.c:66 msgid "Chat: " msgstr "Chat: " #. Log prefix #: ../common/log.c:70 msgid "Resource: " msgstr "Rohstoff: " #. Log prefix #: ../common/log.c:74 msgid "Build: " msgstr "Bauen: " #. Log prefix #: ../common/log.c:78 msgid "Dice: " msgstr "Würfeln: " #. Log prefix #: ../common/log.c:82 msgid "Steal: " msgstr "Stehlen: " #. Log prefix #: ../common/log.c:86 msgid "Trade: " msgstr "Handel: " #. Log prefix #: ../common/log.c:90 msgid "Development: " msgstr "Entwicklung: " #. Log prefix #: ../common/log.c:94 msgid "Army: " msgstr "Ritter: " #. Log prefix #: ../common/log.c:98 msgid "Road: " msgstr "Straße: " #. Log prefix #: ../common/log.c:102 msgid "*BEEP* " msgstr "*PIEP* " #. Log prefix #: ../common/log.c:108 msgid "Player 1: " msgstr "Spieler 1: " #. Log prefix #: ../common/log.c:112 msgid "Player 2: " msgstr "Spieler 2: " #. Log prefix #: ../common/log.c:116 msgid "Player 3: " msgstr "Spieler 3: " #. Log prefix #: ../common/log.c:120 msgid "Player 4: " msgstr "Spieler 4: " #. Log prefix #: ../common/log.c:124 msgid "Player 5: " msgstr "Spieler 5: " #. Log prefix #: ../common/log.c:128 msgid "Player 6: " msgstr "Spieler 6: " #. Log prefix #: ../common/log.c:132 msgid "Player 7: " msgstr "Spieler 7: " #. Log prefix #: ../common/log.c:136 msgid "Player 8: " msgstr "Spieler 8: " #. Log prefix #: ../common/log.c:140 msgid "Spectator: " msgstr "Zuschauer: " #. Log prefix #: ../common/log.c:144 msgid "** UNKNOWN MESSAGE TYPE ** " msgstr "** UNBEKANNTER NACHRICHTENTYP ** " #: ../common/network.c:143 #, c-format msgid "Error writing to socket: %s\n" msgstr "Fehler beim Schreiben auf Socket: %s\n" #: ../common/network.c:154 msgid "Could not send all data\n" msgstr "" #: ../common/network.c:202 msgid "Read buffer overflow - disconnecting\n" msgstr "Überlauf des Lesepuffers - Ende der Verbindung\n" #: ../common/network.c:226 #, c-format msgid "Error reading socket: %s\n" msgstr "Fehler beim Lesen des Sockets: %s\n" #: ../common/network.c:378 #, c-format msgid "Error connecting to %s: %s\n" msgstr "Fehler beim Verbinden zu %s: %s\n" #: ../common/network.c:566 ../common/network.c:567 msgid "unknown" msgstr "unbekannt" #: ../common/state.c:203 #, c-format msgid "Connecting to %s, port %s\n" msgstr "Verbinde zu %s Port %s\n" #. Error message #: ../common/state.c:333 msgid "State stack overflow. Stack dump sent to standard error.\n" msgstr "Zustandsstack-Überlauf. Stack dump an 'standard error' gesendet.\n" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:113 msgid "_Hill" msgstr "_Hügelland" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:115 msgid "_Field" msgstr "_Ackerland" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:117 msgid "_Mountain" msgstr "_Gebirge" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:119 msgid "_Pasture" msgstr "We_ideland" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:121 msgid "F_orest" msgstr "Wa_ld" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:123 msgid "_Desert" msgstr "Wü_ste" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:125 msgid "_Sea" msgstr "_Meer" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:127 msgid "_Gold" msgstr "G_old" #. Use an unique shortcut key for each resource #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:129 ../editor/gtk/editor.c:144 msgid "_None" msgstr "_Keine" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:134 msgid "_Brick (2:1)" msgstr "_Lehm (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:136 msgid "_Grain (2:1)" msgstr "_Getreide (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:138 msgid "_Ore (2:1)" msgstr "_Erz (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:140 msgid "_Wool (2:1)" msgstr "_Wolle (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:142 msgid "_Lumber (2:1)" msgstr "_Holz (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:146 msgid "_Any (3:1)" msgstr "_Alles (3:1)" #. East #: ../editor/gtk/editor.c:151 msgid "East|E" msgstr "O" #. North east #: ../editor/gtk/editor.c:153 msgid "North East|NE" msgstr "NO" #. North west #: ../editor/gtk/editor.c:155 msgid "North West|NW" msgstr "NW" #. West #: ../editor/gtk/editor.c:157 msgid "West|W" msgstr "W" #. South west #: ../editor/gtk/editor.c:159 msgid "South West|SW" msgstr "SW" #. South east #: ../editor/gtk/editor.c:161 msgid "South East|SE" msgstr "SO" #: ../editor/gtk/editor.c:368 msgid "Place a hill hex" msgstr "" #: ../editor/gtk/editor.c:369 msgid "Place a field hex" msgstr "" #: ../editor/gtk/editor.c:370 msgid "Place a mountain hex" msgstr "" #: ../editor/gtk/editor.c:371 msgid "Place a pasture hex" msgstr "" #: ../editor/gtk/editor.c:372 msgid "Place a forest hex" msgstr "" #: ../editor/gtk/editor.c:373 msgid "Place a desert hex" msgstr "" #: ../editor/gtk/editor.c:374 msgid "Place a sea hex" msgstr "" #: ../editor/gtk/editor.c:375 msgid "Place a gold hex" msgstr "" #: ../editor/gtk/editor.c:376 msgid "Clear the hex" msgstr "" #: ../editor/gtk/editor.c:384 msgid "Place a 2 chit" msgstr "" #: ../editor/gtk/editor.c:385 msgid "Place a 3 chit" msgstr "" #: ../editor/gtk/editor.c:386 msgid "Place a 4 chit" msgstr "" #: ../editor/gtk/editor.c:387 msgid "Place a 5 chit" msgstr "" #: ../editor/gtk/editor.c:388 msgid "Place a 6 chit" msgstr "" #: ../editor/gtk/editor.c:390 msgid "Place an 8 chit" msgstr "" #: ../editor/gtk/editor.c:391 msgid "Place a 9 chit" msgstr "" #: ../editor/gtk/editor.c:392 msgid "Place a 10 chit" msgstr "" #: ../editor/gtk/editor.c:393 msgid "Place an 11 chit" msgstr "" #: ../editor/gtk/editor.c:394 msgid "Place a 12 chit" msgstr "" #: ../editor/gtk/editor.c:400 msgid "Place a brick 2:1 port" msgstr "" #: ../editor/gtk/editor.c:401 msgid "Place a grain 2:1 port" msgstr "" #: ../editor/gtk/editor.c:402 msgid "Place an ore 2:1 port" msgstr "" #: ../editor/gtk/editor.c:403 msgid "Place a wool 2:1 port" msgstr "" #: ../editor/gtk/editor.c:404 msgid "Place a lumber 2:1 port" msgstr "" #. Tooltip to remove a port tile in the editor #: ../editor/gtk/editor.c:406 msgid "Remove a port" msgstr "" #: ../editor/gtk/editor.c:407 msgid "Place a 3:1 port" msgstr "" #: ../editor/gtk/editor.c:437 msgid "" "Select the terrain type with the context menu on the left click or toggle a " "node to exclude it from being used during the setup phase" msgstr "" #: ../editor/gtk/editor.c:572 msgid "Insert a row" msgstr "Reihe einfügen" #: ../editor/gtk/editor.c:573 msgid "Delete a row" msgstr "Reihe löschen" #: ../editor/gtk/editor.c:574 msgid "Insert a column" msgstr "Spalte einfügen" #: ../editor/gtk/editor.c:575 msgid "Delete a column" msgstr "Spalte löschen" #. Label #: ../editor/gtk/editor.c:978 msgid "_Title" msgstr "_Titel" #. Label #: ../editor/gtk/editor.c:991 msgid "_Description" msgstr "_Umschreibung" #. Label #: ../editor/gtk/editor.c:1009 msgid "_Comments" msgstr "_Kommentare" #. Menu item #: ../editor/gtk/editor.c:1139 msgid "Shuffle" msgstr "Mischen" #. Caption #. Game settings frame #: ../editor/gtk/editor.c:1294 ../server/gtk/main.c:968 msgid "Game parameters" msgstr "Spiel-Parameter" #. Caption #. Rules frame #: ../editor/gtk/editor.c:1297 ../server/gtk/main.c:983 msgid "Rules" msgstr "Regeln" #. Caption #: ../editor/gtk/editor.c:1299 msgid "Resources" msgstr "Rohstoffe" #. Caption #: ../editor/gtk/editor.c:1302 msgid "Buildings" msgstr "Gebäude" #. The game in the editor does not have a name yet #: ../editor/gtk/editor.c:1319 msgid "Untitled" msgstr "Ohne Titel" #. Application caption #: ../editor/gtk/editor.c:1324 ../editor/gtk/pioneers-editor.desktop.in.h:1 msgid "Pioneers Editor" msgstr "Pioneers Editor" #: ../editor/gtk/editor.c:1434 #, c-format msgid "Failed to load '%s'" msgstr "Laden von '%s' fehlgeschlagen" #: ../editor/gtk/editor.c:1482 #, c-format msgid "Failed to save to '%s'" msgstr "Speichern nach '%s' fehlgeschlagen" #. Name of the file filter: show only games #: ../editor/gtk/editor.c:1499 msgid "Games" msgstr "Spiele" #. Name of the file filter: show all files #: ../editor/gtk/editor.c:1505 msgid "Unfiltered" msgstr "Ungefiltert" #. Dialog caption #: ../editor/gtk/editor.c:1517 msgid "Open Game" msgstr "Spiel öffnen" #. Button text #: ../editor/gtk/editor.c:1524 #, fuzzy msgid "_Open" msgstr "Ö_ffnen..." #. Dialog caption #: ../editor/gtk/editor.c:1558 msgid "Save As..." msgstr "Speichern unter..." #. Button text #: ../editor/gtk/editor.c:1565 #, fuzzy msgid "Save _As" msgstr "Speichern _unter..." #. Dialog caption #: ../editor/gtk/editor.c:1606 msgid "Change Title" msgstr "Titel ändern" #. Label #: ../editor/gtk/editor.c:1631 msgid "New title:" msgstr "Neuer Titel:" #. Caption of about box #: ../editor/gtk/editor.c:1688 msgid "About Pioneers Game Editor" msgstr "Über Pioneers Editor" #. Menu entry #: ../editor/gtk/editor.c:1718 msgid "_File" msgstr "_Datei" #. Menu entry #: ../editor/gtk/editor.c:1728 msgid "_New" msgstr "_Neu" #: ../editor/gtk/editor.c:1729 msgid "Create a new game" msgstr "Neues Spiel erstellen" #. Menu entry #: ../editor/gtk/editor.c:1732 msgid "_Open..." msgstr "Ö_ffnen..." #. Tooltip for Open menu entry #: ../editor/gtk/editor.c:1734 msgid "Open an existing game" msgstr "Existierendes Spiel öffnen" #. Menu entry #: ../editor/gtk/editor.c:1737 msgid "_Save" msgstr "_Speichern" #. Tooltip for Save menu entry #: ../editor/gtk/editor.c:1739 msgid "Save game" msgstr "Spiel speichern" #. Menu entry #: ../editor/gtk/editor.c:1742 msgid "Save _As..." msgstr "Speichern _unter..." #. Tooltip for Save As menu entry #: ../editor/gtk/editor.c:1745 msgid "Save as" msgstr "Speichern unter" #. Menu entry #: ../editor/gtk/editor.c:1748 msgid "Change _Title" msgstr "_Titel ändern" #. Tooltip for Change Title menu entry #: ../editor/gtk/editor.c:1750 msgid "Change game title" msgstr "Spieltitel ändern" #. Menu entry #: ../editor/gtk/editor.c:1753 ../server/gtk/main.c:97 msgid "_Check Victory Point Target" msgstr "Zeige die Anzahl der benötigten Siegpunkte" #. Tooltip for Check Victory Point Target menu entry #. Tooltop for Check Victory Point Target menu entry #: ../editor/gtk/editor.c:1756 ../server/gtk/main.c:100 msgid "Check whether the game can be won" msgstr "Überprüfe, ob das Spiel gewonnen werden kann" #. Tooltip for Quit menu entry #: ../editor/gtk/editor.c:1761 msgid "Quit" msgstr "Quit" #. Menu entry #: ../editor/gtk/editor.c:1783 msgid "_About Pioneers Editor" msgstr "Ü_ber Pioneers Editor" #. Tooltip for About Pioneers Editor menu entry #: ../editor/gtk/editor.c:1785 msgid "Information about Pioneers Editor" msgstr "Informationen über den Pioneers Editor" #. Long help for commandline option (editor): filename #: ../editor/gtk/editor.c:1838 msgid "Open this file" msgstr "Diese Datei öffnen" #. Commandline option for editor: filename #. Commandline metaserver: pidfile argument #: ../editor/gtk/editor.c:1840 ../metaserver/main.c:615 msgid "filename" msgstr "Dateiname" #. Long description in the command line: --help #: ../editor/gtk/editor.c:1877 msgid "- Editor for games of Pioneers" msgstr "- Editor für Pioneers-Spiele" #. Error message #: ../editor/gtk/editor.c:1921 ../server/gtk/main.c:1256 #, c-format msgid "Building menus failed: %s" msgstr "Menüaufbau fehlgeschlagen: %s" #. Tab page name #: ../editor/gtk/editor.c:1951 msgid "Settings" msgstr "Einstellungen" #. Tab page name #: ../editor/gtk/editor.c:1954 msgid "Comments" msgstr "Kommentare" #: ../editor/gtk/game-resources.c:48 msgid "Resource count" msgstr "Rohstoffe" #: ../editor/gtk/pioneers-editor.desktop.in.h:2 msgid "Create your own game for Pioneers" msgstr "Erstelle dein eigenes Pioneers-Spiel" #: ../editor/gtk/pioneers-editor.desktop.in.h:3 msgid "game;board;create;edit;layout;Pioneers;Settlers;" msgstr "Spiel;Brett;Entwurf;bearbeiten;Layout;Pioneers;Siedler;" #. Commandline metaserver: daemon #: ../metaserver/main.c:610 msgid "Daemonize the metaserver on start" msgstr "Starte Metaserver beim Programmstart als eigenständigen Prozess" #. Commandline metaserver: pidfile #: ../metaserver/main.c:613 msgid "Pidfile to create when daemonizing (implies -d)" msgstr "" "Zu erstellende Pid-Datei, wenn Metaserver als eigenständiger Prozess " "gestartet wird (bewirkt -d)" #. Commandline metaserver: redirect #: ../metaserver/main.c:618 msgid "Redirect clients to another metaserver" msgstr "Verbinde Clients mit anderem Metaserver" #. Commandline metaserver: server #: ../metaserver/main.c:621 msgid "Use this hostname when creating new games" msgstr "Diesen Host beim Erstellen neuer Spiele benutzen" #. Commandline metaserver: server argument #: ../metaserver/main.c:623 msgid "hostname" msgstr "Hostname" #. Commandline metaserver: port-range #: ../metaserver/main.c:626 msgid "Use this port range when creating new games" msgstr "Diesen Port-Bereich für neu erstellte Spiele verwenden" #. Commandline metaserver: port-range argument #: ../metaserver/main.c:628 msgid "from-to" msgstr "von-bis" #. Commandline option of metaserver: syslog-debug #: ../metaserver/main.c:634 msgid "Debug syslog messages" msgstr "Debugge Syslog Nachrichten" #. Long description in the commandline for metaserver: help #: ../metaserver/main.c:675 msgid "- Metaserver for Pioneers" msgstr "- Metaserver für Pioneers" #: ../metaserver/main.c:691 #, c-format msgid "metaserver protocol:" msgstr "Protokoll des Metaservers:" #: ../server/avahi.c:68 msgid "Avahi registration successful.\n" msgstr "Avahi Registrierung erfolgreich.\n" #: ../server/avahi.c:78 #, c-format msgid "Avahi service name collision, renaming service to '%s'.\n" msgstr "Avahi-Dienstname Zusammenstoß, benenne Dienst um zu '%s'.\n" #. Some kind of failure happened while we were registering #: ../server/avahi.c:89 #, c-format msgid "Avahi error: %s\n" msgstr "Avahi-Fehler: %s\n" #: ../server/avahi.c:113 ../server/avahi.c:145 ../server/avahi.c:155 #: ../server/avahi.c:191 ../server/avahi.c:212 ../server/avahi.c:226 #, c-format msgid "Avahi error: %s, %s\n" msgstr "Avahi-Fehler: %s, %s\n" #: ../server/avahi.c:213 ../server/avahi.c:227 msgid "Unable to register Avahi server" msgstr "Konnte Avahi-Server nicht registrieren" #: ../server/avahi.c:260 msgid "Unregistering Avahi.\n" msgstr "Lösche Avahi aus dem Register.\n" #. Menu entry #: ../server/gtk/main.c:108 msgid "_About Pioneers Server" msgstr "Ü_ber Pioneers-Server" #. Tooltop for About Pioneers Server menu entry #: ../server/gtk/main.c:110 msgid "Information about Pioneers Server" msgstr "Informationen über den Pioneers-Server" #: ../server/gtk/main.c:234 msgid "Stop Server" msgstr "Server stoppen" #: ../server/gtk/main.c:235 msgid "Start Server" msgstr "Server starten" #: ../server/gtk/main.c:237 ../server/gtk/main.c:996 msgid "Stop the server" msgstr "Den Server anhalten" #: ../server/gtk/main.c:238 msgid "Start the server" msgstr "Den Server starten" #: ../server/gtk/main.c:395 #, c-format msgid "Player %s from %s entered\n" msgstr "Spieler %s von %s eingetreten\n" #: ../server/gtk/main.c:402 #, c-format msgid "Player %s from %s left\n" msgstr "Spieler %s von %s gegangen\n" #: ../server/gtk/main.c:409 #, c-format msgid "Player %d is now %s\n" msgstr "Spieler %d heißt jetzt %s.\n" #: ../server/gtk/main.c:570 msgid "The port for the game server" msgstr "Der Port für den Spielserver" #. register_toggle #: ../server/gtk/main.c:579 msgid "Register server" msgstr "Server registrieren" #: ../server/gtk/main.c:587 msgid "Register this game at the metaserver" msgstr "Dieses Spiel beim Metaserver registrieren" #. hostname label #: ../server/gtk/main.c:618 msgid "Reported hostname" msgstr "Angezeigter Hostname" #: ../server/gtk/main.c:633 msgid "" "The public name of this computer (needed when playing behind a firewall)" msgstr "" "Öffentlicher Name dieses Computers (wird benötigt, wenn er hinter einer " "Firewall steht)" #. random toggle #: ../server/gtk/main.c:652 msgid "Random turn order" msgstr "Rundenreihenfolge mischen" #: ../server/gtk/main.c:659 msgid "Randomize turn order" msgstr "Rundenreihenfolge mischen" #. Tooltip for server connection overview #: ../server/gtk/main.c:730 msgid "Shows all players and spectators connected to the server" msgstr "Zeigt alle Spieler und Zuschauer die zum Server verbunden sind" #. Label for column Connected #: ../server/gtk/main.c:735 msgid "Connected" msgstr "Verbunden" #. Tooltip for column Connected #: ../server/gtk/main.c:742 msgid "Is the player currently connected?" msgstr "Ist der Spieler zur Zeit verbunden?" #. Label for column Name #: ../server/gtk/main.c:747 msgid "Name" msgstr "Name" #. Tooltip for column Name #: ../server/gtk/main.c:754 msgid "Name of the player" msgstr "Name des Spielers" #. Label for column Location #: ../server/gtk/main.c:758 msgid "Location" msgstr "Standort" #. Tooltip for column Location #: ../server/gtk/main.c:765 msgid "Host name of the player" msgstr "Hostname des Spielers" #. Label for column Number #: ../server/gtk/main.c:771 msgid "Number" msgstr "Nummer" #. Tooltip for column Number #: ../server/gtk/main.c:778 msgid "Player number" msgstr "Spielernummer" #. Label for column Role #: ../server/gtk/main.c:784 msgid "Role" msgstr "Rolle" #. Tooltip for column Role #: ../server/gtk/main.c:788 msgid "Player or spectator" msgstr "Spieler oder Zuschauer" #. Button text #: ../server/gtk/main.c:825 msgid "Launch Pioneers Client" msgstr "Pioneers-Client starten" #. Tooltip #: ../server/gtk/main.c:839 msgid "Launch the Pioneers client" msgstr "Den Pioneers-Client starten" #. ai chat toggle #: ../server/gtk/main.c:868 msgid "Enable chat" msgstr "Chat aktivieren" #. Tooltip #: ../server/gtk/main.c:875 msgid "Enable chat messages" msgstr "Chatnachrichten aktivieren" #. Button text #: ../server/gtk/main.c:884 msgid "Add Computer Player" msgstr "Computerspieler hinzufügen" #. Tooltip #: ../server/gtk/main.c:892 msgid "Add a computer player to the game" msgstr "Einen Computerspieler hinzufügen" #. Tooltip #: ../server/gtk/main.c:925 msgid "Messages from the server" msgstr "Nachrichten vom Server" #: ../server/gtk/main.c:961 msgid "Game settings" msgstr "Spieleinstellungen" #. server frame #: ../server/gtk/main.c:972 msgid "Server parameters" msgstr "Server-Einstellungen" #: ../server/gtk/main.c:992 msgid "Running game" msgstr "Laufendes Spiel" #. player connected frame #: ../server/gtk/main.c:1008 msgid "Players connected" msgstr "Verbundene Spieler" #. ai frame #: ../server/gtk/main.c:1012 msgid "Computer players" msgstr "Computerspieler" #. message frame #: ../server/gtk/main.c:1024 msgid "Messages" msgstr "Nachrichten" #. Caption of about box #: ../server/gtk/main.c:1150 #, fuzzy msgid "About the Pioneers Game Server" msgstr "Der Pioneers-Spielserver" # #. Wait for all players to disconnect, #. * then enable the UI #. #: ../server/gtk/main.c:1158 msgid "The game is over.\n" msgstr "Ende des Spiels.\n" #. Long description in the commandline for server-gtk: help #. Long description in the commandline for server-console: help #: ../server/gtk/main.c:1212 ../server/main.c:194 msgid "- Host a game of Pioneers" msgstr "- Einen Pioneerserver betreiben" #. Name in the titlebar of the server #: ../server/gtk/main.c:1236 ../server/gtk/pioneers-server-gtk.desktop.in.h:1 msgid "Pioneers Server" msgstr "Pioneers-Server" #: ../server/gtk/pioneers-server-gtk.desktop.in.h:2 msgid "Host a game of Pioneers" msgstr "Ein Pioneers-Spiel bereitstellen" #: ../server/gtk/pioneers-server-gtk.desktop.in.h:3 msgid "game;board;server;host;Pioneers;Settlers;" msgstr "Spiel;Brett;Server;Host;Pioneers;Siedler;" #. Commandline server-console: game-title #: ../server/main.c:80 msgid "Game title to use" msgstr "Zu benutzender Spieltitel" #. Commandline server-console: file #: ../server/main.c:83 msgid "Game file to use" msgstr "Zu verwendende Spieldatei" #. Commandline server-console: port #: ../server/main.c:86 msgid "Port to listen on" msgstr "Port auf dem gewartet werden soll" #. Commandline server-console: players #: ../server/main.c:89 msgid "Override number of players" msgstr "Überschreibe die Anzahl der Spieler" #. Commandline server-console: points #: ../server/main.c:92 msgid "Override number of points needed to win" msgstr "Überschreibe die Anzahl der Siegpunkte" #. Commandline server-console: seven-rule #: ../server/main.c:95 msgid "Override seven-rule handling" msgstr "Überschreibe die 7-Regel" #. Commandline server-console: dice-deck #: ../server/main.c:98 msgid "Override dice-deck handling" msgstr "" #. Commandline server-console: num-dice-decks #: ../server/main.c:101 msgid "Override num-dice-decks handling" msgstr "" #. Commandline server-console: num-removed-dice-cards #: ../server/main.c:105 msgid "Override num-removed-dice-cards handling" msgstr "" #. Commandline server-console: terrain #: ../server/main.c:108 msgid "Override terrain type, 0=default 1=random" msgstr "Überschreibe den Gelände-Typ, 0=Standard 1=Zufällig" #. Commandline server-console: computer-players #: ../server/main.c:111 msgid "Add N computer players" msgstr "N Computerspieler hinzufügen" #. Commandline server-console: register #: ../server/main.c:121 msgid "Register server with metaserver" msgstr "Server beim Metaserver registrieren" #. Commandline server-console: metaserver #: ../server/main.c:124 msgid "Register at metaserver name (implies -r)" msgstr "Bei ausgewähltem Metaserver registrieren (impliziert -r)" #. Commandline server-console: hostname #: ../server/main.c:128 msgid "Use this hostname when registering" msgstr "Diesen Hostnamen beim Registrieren benutzen" #. Commandline server-console: auto-quit #: ../server/main.c:135 msgid "Quit after a player has won" msgstr "Beenden nachdem ein Spieler gewonnen hat" #. Commandline server-console: empty-timeout #: ../server/main.c:138 msgid "Quit after N seconds with no players" msgstr "Nach N Sekunden ohne Spieler beenden" #. Commandline server-console: tournament #: ../server/main.c:141 msgid "Tournament mode, computer players added after N minutes" msgstr "Turniermodus, nach N Minuten werden Computerspieler hinzugefügt" #. Commandline server-console: admin-port #: ../server/main.c:145 msgid "Admin port to listen on" msgstr "Administrator-Port" #. Commandline server-console: admin-wait #: ../server/main.c:148 msgid "Don't start game immediately, wait for a command on admin port" msgstr "" "Das Spiel nicht sofort starten, sondern auf den Befehl auf dem Adminport " "hören" #. Commandline server-console: fixed-seating-order #: ../server/main.c:154 msgid "Give players numbers according to the order they enter the game" msgstr "Den Spielern in der Reihenfolge der Teilnahme Nummern zuteilen" #. Commandline server-console: Short description of meta group #: ../server/main.c:200 msgid "Metaserver Options" msgstr "Metaserver-Optionen" #. Commandline server-console: Long description of meta group #: ../server/main.c:202 msgid "Options for the metaserver" msgstr "Optionen für den Metaserver" #. Commandline server-console: Short description of misc group #: ../server/main.c:211 msgid "Miscellaneous Options" msgstr "Diverse Optionen" #. Commandline server-console: Long description of misc group #: ../server/main.c:213 msgid "Miscellaneous options" msgstr "Diverse Optionen" #. server-console commandline error #: ../server/main.c:239 #, c-format msgid "Cannot set game title and filename at the same time\n" msgstr "" "Spiel-Titel und Dateiname können nicht zur gleichen Zeit gesetzt werden.\n" #. server-console commandline error #: ../server/main.c:256 #, c-format msgid "Cannot load the parameters for the game\n" msgstr "Port des Spiel-Hosts\n" #. Error message #: ../server/main.c:305 ../server/main.c:324 #, c-format msgid "The network port (%s) for the admin interface is not available.\n" msgstr "" #: ../server/meta.c:58 msgid "The connection to the metaserver is lost.\n" msgstr "Die Verbindung mit dem Metaserver ist verbrochen.\n" #: ../server/meta.c:64 #, c-format msgid "An attempt to reconnect is scheduled in %u second.\n" msgid_plural "An attempt to reconnect is scheduled in %u seconds.\n" msgstr[0] "" msgstr[1] "" #: ../server/meta.c:83 msgid "Attempting to reconnect to the metaserver.\n" msgstr "Versuch die Verbindung zum Metaserver wieder zu stellen.\n" #: ../server/meta.c:311 #, c-format msgid "Register with the metaserver at %s.\n" msgstr "Registriere bei Metaserver auf %s.\n" #: ../server/meta.c:322 msgid "Unregister from the metaserver.\n" msgstr "Beim Metaserver austragen.\n" #: ../server/player.c:142 msgid "chat too long" msgstr "Chat ist zu lang" #: ../server/player.c:159 msgid "name too long" msgstr "Name ist zu lang" #: ../server/player.c:191 msgid "ignoring unknown extension" msgstr "ignoriere unbekannte Erweiterung" #: ../server/player.c:228 ../server/player.c:298 msgid "The last player left, the tournament timer is reset." msgstr "Der letzte Spieler ist gegangen, der Turnier-Timer wird zurückgesetzt." #: ../server/player.c:262 ../server/player.c:643 msgid "No human players present. Bye." msgstr "Keine menschlichen Spieler anwesend. Tschüss." #: ../server/player.c:269 msgid "Game starts, adding computer players." msgstr "Spiel beginnt, füge Computerspieler hinzu." #: ../server/player.c:311 #, c-format msgid "The game starts in %s minutes." msgstr "Das Spiel beginnt in %s Minuten." #: ../server/player.c:312 #, c-format msgid "The game starts in %s minute." msgstr "Das Spiel beginnt in %s Minute." # #. Default name for the AI when the computer_names file #. * is not found or empty. #. #: ../server/player.c:370 ../server/player.c:376 msgid "Computer Player" msgstr "Computerspieler" #: ../server/player.c:450 #, c-format msgid "Unable to determine the hostname of the player: %s" msgstr "" #. The game is over, don't accept new players #. Message to send to the client when the game is already over #. * when a connection is made. #: ../server/player.c:476 msgid "Sorry, game is over." msgstr "Das Spiel ist beendet." #: ../server/player.c:478 #, c-format msgid "Player from %s is refused: game is over\n" msgstr "Spieler von %s abgelehnt: Das Spiel ist vorbei\n" #: ../server/player.c:520 msgid "Name not changed: new name is already in use" msgstr "Name nicht geändert: neuer Name wird schon benutzt" #: ../server/player.c:638 ../server/server.c:38 msgid "Was hanging around for too long without players... bye.\n" msgstr "Habe zu lange auf andere Spieler gewartet... tschüss.\n" #: ../server/player.c:723 msgid "The last human player left. Waiting for the return of a player." msgstr "" "Der letzte menschliche Spieler ist gegangen. Warte auf das wiederkehren " "eines Spielers." #: ../server/player.c:744 msgid "Resuming the game." msgstr "Spiel fortsetzen." #. %s is the name of the reconnecting player #: ../server/player.c:870 #, c-format msgid "%s has reconnected." msgstr "%s hat sich neu verbunden." #: ../server/player.c:970 #, c-format msgid "Version mismatch: %s" msgstr "Versionsunterschied: %s" #: ../server/player.c:1007 msgid "This game will start soon." msgstr "Das Spiel beginnt bald." #. Server: preparing game #..... #: ../server/server.c:221 msgid "Preparing game" msgstr "Bereite Spiel vor" #: ../server/turn.c:254 msgid "Island Discovery Bonus" msgstr "Insel-Entdeckungs-Bonus" #: ../server/turn.c:255 msgid "Additional Island Bonus" msgstr "Extra Insel-Bonus" #: ../server/turn.c:386 msgid "Tried to assign resources to NULL player.\n" msgstr "Versuchte Ressourcen NULL Spieler zuzuteilen.\n" #. Cheat mode has been activated #: ../server/turn.c:516 msgid "The dice roll has been determined by the administrator." msgstr "Das Würfeln wurde vom Administrator bestimmt." #~ msgid "Join the selected game" #~ msgstr "An ausgewähltem Spiel teilnehmen" #~ msgid "Don't join a public game" #~ msgstr "Nicht an öffentlichem Spiel teilnehmen" #~ msgid "Create a new public game at the metaserver" #~ msgstr "Neues öffentliches Spiel auf dem Metaserver erstellen" #~ msgid "Refresh the list of games" #~ msgstr "Spiel-Liste aktualisieren" #~ msgid "Version:" #~ msgstr "Version:" #~ msgid "Homepage:" #~ msgstr "Homepage:" #~ msgid "Authors:" #~ msgstr "Autoren:" #~ msgid "Pioneers is translated to by:\n" #~ msgstr "Pioneers wird auf Deutsch übersetzt von:\n" #~ msgid "Metaserver kicked us off\n" #~ msgstr "Metaserver hat die Verbindung beendet.\n" #~ msgid "" #~ "Note:\n" #~ "\tThe metaserver does not send information about the games.\n" #~ "\tPlease set appropriate values yourself." #~ msgstr "" #~ "Notiz:\n" #~ "\tDer Metaserver sendet keine Informationen über die Spiele.\n" #~ "\tBitte setze die entsprechenden Werte selbst." #~ msgid "Error checking connect status: %s\n" #~ msgstr "Fehler beim Prüfen des Verbindungsstatus: %s\n" #~ msgid "Error connecting to host '%s': %s\n" #~ msgstr "Fehler beim Verbinden zum Rechner '%s': %s\n" #~ msgid "Error writing socket: %s\n" #~ msgstr "Fehler beim Schreiben auf Socket: %s\n" #~ msgid "Error creating socket: %s\n" #~ msgstr "Fehler beim Anlegen eines Sockets: %s\n" #~ msgid "Error setting socket close-on-exec: %s\n" #~ msgstr "Fehler beim Setzen von close-on-exec beim Socket: %s\n" #~ msgid "Error setting socket non-blocking: %s\n" #~ msgstr "Fehler, den Socket nicht-blockierend zu machen: %s\n" #~ msgid "Cannot resolve %s port %s: %s\n" #~ msgstr "Kann %s Port %s nicht auflösen: %s\n" #~ msgid "Cannot resolve %s port %s: host not found\n" #~ msgstr "Kann %s Port %s nicht auflösen: Rechner unbekannt\n" #~ msgid "Error creating struct addrinfo: %s" #~ msgstr "Fehler beim Erzeugen einer struct addrinfo: %s" #~ msgid "Error creating listening socket: %s\n" #~ msgstr "Fehler beim Anlegen des annehmenden Sockets: %s\n" #~ msgid "Error during listen on socket: %s\n" #~ msgstr "Fehler beim Versetzen des Sockets in Annahme-Zustand: %s\n" #~ msgid "Listening not yet supported on this platform." #~ msgstr "Listen-Modus wird auf dieser Plattform noch nicht unterstützt." #~ msgid "Error getting peer name: %s" #~ msgstr "Fehler beim Holen des Namens des Kommunikationspartners: %s" #~ msgid "Error resolving address: %s" #~ msgstr "Fehler beim Auflösen der Adresse: %s" #~ msgid "Net_get_peer_name not yet supported on this platform." #~ msgstr "Net_get_peer_name wird auf dieser Plattform noch nicht unterstützt." #~ msgid "Error accepting connection: %s" #~ msgstr "Fehler beim Annehmen einer Verbindung: %s" #~ msgid "Admin port not available.\n" #~ msgstr "Administrator Port nicht verfügbar.\n" #~ msgid "Admin port is not set, cannot disable game start too\n" #~ msgstr "" #~ "Admin-Port ist nicht festgelegt, kann Spielstart auch nicht deaktivieren\n" pioneers-15.5/po/fr.po0000644000175000017500000031727313252242740011614 00000000000000# Pioneers - Settlers of Catan for GNOME. # Copyright (C) 1999-2001 Dave Cole # Copyright (C) 2000-2002 Andy Heroff # This file is distributed under the same license as the pioneers package. # Arnaud MALON , 2003. # Jean-Charles GRANGER , 2006. # msgid "" msgstr "" "Project-Id-Version: Pioneers 15.4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-03-14 16:51+0100\n" "PO-Revision-Date: 2016-06-11 16:40+0200\n" "Last-Translator: Jean-Charles GRANGER \n" "Language-Team: Français , LT-P , Yusei " ", Arnaud MALON , Jean-Charles " "GRANGER \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-SourceCharset: UTF-8\n" "Plural-Forms: nplurals=2; plural=(n>1);\n" "X-Generator: Poedit 1.8.8\n" #. Commandline pioneersai: chromosome-file #: ../client/ai/ai.c:90 msgid "Chromosome File" msgstr "Fichier chromosome" #. Commandline pioneersai: server #: ../client/ai/ai.c:93 msgid "Server Host" msgstr "Hôte serveur" #. Commandline pioneersai: port #: ../client/ai/ai.c:96 msgid "Server Port" msgstr "Port du serveur" #. Commandline pioneersai: name #: ../client/ai/ai.c:99 msgid "Computer name (mandatory)" msgstr "Nom de l'AI (obligatoire)" #. Commandline pioneersai: time #: ../client/ai/ai.c:102 msgid "Time to wait between turns (in milliseconds)" msgstr "Temps d'attente entre les tours (en millisecondes)" #. Commandline pioneersai: chat-free #: ../client/ai/ai.c:105 msgid "Stop computer player from talking" msgstr "Empêcher l'AI de parler" #. Commandline pioneersai: algorithm #: ../client/ai/ai.c:108 msgid "Type of computer player" msgstr "Type d'IA" #. Commandline option of ai: enable debug logging #. Commandline option of client: enable debug logging #. Commandline option of metaserver: enable debug logging #. Commandline option of server-gtk: enable debug logging #. Commandline option of server: enable debug logging #: ../client/ai/ai.c:111 ../client/gtk/offline.c:67 ../metaserver/main.c:631 #: ../server/gtk/main.c:1170 ../server/main.c:159 msgid "Enable debug messages" msgstr "Activer les messages de débogage" #. Commandline option of ai: version #. Commandline option of client: version #. Commandline option of editor: version #. Commandline option of metaserver: version #. Commandline option of server-gtk: version #. Commandline option of server-console: version #: ../client/ai/ai.c:114 ../client/gtk/offline.c:70 ../editor/gtk/editor.c:1843 #: ../metaserver/main.c:637 ../server/gtk/main.c:1173 ../server/main.c:114 msgid "Show version information" msgstr "Voir les informations de version" #. Long description in the commandline for pioneersai: help #: ../client/ai/ai.c:125 msgid "- Computer player for Pioneers" msgstr "- IA pour Pioneers" #: ../client/ai/ai.c:137 ../client/gtk/offline.c:196 #: ../editor/gtk/editor.c:1888 ../metaserver/main.c:687 #: ../server/gtk/main.c:1223 ../server/main.c:226 #, c-format msgid "Pioneers version:" msgstr "Version de Pioneers :" #. ai commandline error #: ../client/ai/ai.c:160 #, c-format msgid "A name must be provided.\n" msgstr "Un nom doit être indiqué.\n" #: ../client/ai/ai.c:171 #, c-format msgid "Type of computer player: %s\n" msgstr "Type d'IA : %s\n" #: ../client/ai/ai.c:202 msgid "The game is already full. I'm leaving." msgstr "La partie est déjà pleine. Je pars." #. AI chat at the start of the turn #: ../client/ai/ai.c:230 msgid "Ok, let's go!" msgstr "OK, allons-y !" #. AI chat at the start of the turn #: ../client/ai/ai.c:232 msgid "I'll beat you all now! ;)" msgstr "Je vais tous vous battre ! ;)" #. AI chat at the start of the turn #: ../client/ai/ai.c:234 msgid "Now for another try..." msgstr "Essayons encore..." #. AI chat when one resource is received #: ../client/ai/ai.c:239 msgid "At least I get something..." msgstr "Au moins je reçois quelque-chose..." #. AI chat when one resource is received #: ../client/ai/ai.c:241 msgid "One is better than none..." msgstr "C'est toujours mieux que rien..." #. AI chat when more than one resource is received #: ../client/ai/ai.c:246 msgid "Wow!" msgstr "Waouh !" #. AI chat when more than one resource is received #: ../client/ai/ai.c:248 msgid "Ey, I'm becoming rich ;)" msgstr "Hé, je deviens riche ;)" #. AI chat when more than one resource is received #: ../client/ai/ai.c:250 msgid "This is really a good year!" msgstr "C'est vraiment une bonne année !" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:255 msgid "You really don't deserve that much!" msgstr "Vous ne méritez pas tout cela !" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:257 msgid "You don't know what to do with that many resources ;)" msgstr "Et vous savez quoi faire avec toutes ces ressources ? ;)" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:259 msgid "Ey, wait for my robber and lose all this again!" msgstr "" "Hé, attendez un peu que je vous présente mon voleur et que vous perdiez " "tout, encore !" #. AI chat when it moves the robber #: ../client/ai/ai.c:264 msgid "Hehe!" msgstr "Hé hé !" #. AI chat when it moves the robber #: ../client/ai/ai.c:266 msgid "Go, robber, go!" msgstr "Allez le voleur, allez !" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:271 msgid "You bastard!" msgstr "Salopard !" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:273 msgid "Can't you move that robber somewhere else?!" msgstr "Vous ne pouviez pas mettre ce voleur ailleurs ?!" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:275 msgid "Why always me??" msgstr "Pourquoi toujours moi ??" #. AI chat when it must discard resources #: ../client/ai/ai.c:280 msgid "Oh no!" msgstr "Oh non !" #. AI chat when it must discard resources #: ../client/ai/ai.c:282 msgid "Grrr!" msgstr "Grrr !" #. AI chat when it must discard resources #: ../client/ai/ai.c:284 msgid "Who the hell rolled that 7??" msgstr "Qui a fait ce satané 7 ??" #. AI chat when it must discard resources #: ../client/ai/ai.c:286 msgid "Why always me?!?" msgstr "Pourquoi toujours moi ?" #. AI chat when other players must discard #: ../client/ai/ai.c:291 msgid "Say good bye to your cards... :)" msgstr "Dites au revoir à vos cartes... :)" #. AI chat when other players must discard #: ../client/ai/ai.c:293 msgid "*evilgrin*" msgstr "*rire sadique*" #. AI chat when other players must discard #: ../client/ai/ai.c:295 msgid "/me says farewell to your cards ;)" msgstr "/me dit adieu à vos cartes... ;)" #. AI chat when other players must discard #: ../client/ai/ai.c:297 msgid "That's the price for being rich... :)" msgstr "C'est le prix de la richesse... :)" #. AI chat when someone steals from it #: ../client/ai/ai.c:302 msgid "Ey! Where's that card gone?" msgstr "Hé ! Où est passé cette carte ?" #. AI chat when someone steals from it #: ../client/ai/ai.c:304 msgid "Thieves! Thieves!!" msgstr "Au voleur ! Au voleur !" #. AI chat when someone steals from it #: ../client/ai/ai.c:306 msgid "Wait for my revenge..." msgstr "Vous ne perdez rien pour attendre..." #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:311 msgid "Oh no :(" msgstr "Oh non :(" #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:313 msgid "Must this happen NOW??" msgstr "Est-ce que cela devait vraiment arriver MAINTENANT ??" #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:315 msgid "Args" msgstr "Arg" #. AI chat when it has the largest army #: ../client/ai/ai.c:320 msgid "Hehe, my soldiers rule!" msgstr "Hé hé, trop fort mon chevalier !" #. AI chat when another player that the largest army #: ../client/ai/ai.c:325 msgid "First robbing us, then grabbing the points..." msgstr "D'abord je vous vole, et ensuite j'engrange les points..." #. AI chat when it has the longest road #: ../client/ai/ai.c:330 msgid "See that road!" msgstr "Regarde cette route !" #. AI chat when another player has the longest road #: ../client/ai/ai.c:335 msgid "Pf, you won't win with roads alone..." msgstr "Pfff, on ne gagne pas qu'avec des routes..." #: ../client/ai/ai.c:434 #, c-format msgid "Received error from server: %s. Quitting\n" msgstr "Reçu une erreur du serveur : %s. Sortie\n" #. AI chat when it wins #: ../client/ai/ai.c:446 ../client/ai/genetic.c:2766 msgid "Yippie!" msgstr "Youpi !" #. AI chat when another player wins #: ../client/ai/ai.c:449 ../client/ai/genetic.c:2777 msgid "My congratulations" msgstr "Félicitations" #: ../client/ai/genetic.c:1277 ../client/ai/greedy.c:961 msgid "No settlements in stock to use for setup" msgstr "Il n'y a plus de colonies en stock pour construire" #: ../client/ai/genetic.c:1284 ../client/ai/greedy.c:968 msgid "There is no place to setup a settlement" msgstr "Il n'y a plus de place pour fonder une colonie" #: ../client/ai/genetic.c:1311 ../client/ai/greedy.c:992 msgid "No roads in stock to use for setup" msgstr "Il n'y a plus de routes en stock pour construire" #: ../client/ai/genetic.c:1329 ../client/ai/greedy.c:1009 msgid "There is no place to setup a road" msgstr "Il n'y a plus de place pour construire une route" #: ../client/ai/genetic.c:2651 ../client/ai/greedy.c:1784 msgid "Rejecting trade.\n" msgstr "Échange rejeté.\n" #. Translators: don't translate '/help' #: ../client/ai/lobbybot.c:80 msgid "" "Hello, welcome to the lobby. I am a simple robot. Type '/help' in the chat " "to see the list of commands I know." msgstr "" "Bonjour, bienvenue dans le Hall d'Accueil. Je suis un simple robot. Tapez la " "commande '/help' dans la zone de discussion pour voir la liste des commandes " "que je connais." #. Translators: don't translate '/help' #: ../client/ai/lobbybot.c:107 msgid "'/help' shows this message again" msgstr "'/help' affiche ce message à nouveau" #. Translators: don't translate '/why' #: ../client/ai/lobbybot.c:110 msgid "'/why' explains the purpose of this strange board layout" msgstr "'/why' explique le pourquoi de cet étrange plateau de jeu" #. Translators: don't translate '/news' #: ../client/ai/lobbybot.c:113 msgid "'/news' tells the last released version" msgstr "'/news' indique quelle est la dernière version de Pioneers" #. AI chat that explains '/why' #: ../client/ai/lobbybot.c:119 msgid "" "This board is not intended to be a game that can be played. Instead, players " "can find eachother here, and decide which board they want to play. Then, one " "of the players will host the proposed game by starting a server, and " "registers it at the metaserver. The other players can subsequently " "disconnect from the lobby, and enter that game." msgstr "" "Ce plateau n'est pas une partie où l'on peut jouer : c'est un lieu où l'on " "peut rencontrer d'autres joueurs et décider quel plateau jouer. L'un des " "joueurs hébergera la partie choisie en démarrant un serveur et en " "l'enregistrant sur le méta-serveur. Les autres joueurs pourront ensuite se " "déconnecter du Hall d'Accueil, et entrer dans la partie." #: ../client/ai/lobbybot.c:130 msgid "The last released version of Pioneers is" msgstr "La dernière version de Pioneers est" #. The lobbybot leaves when a game is starting #: ../client/ai/lobbybot.c:146 msgid "The game is starting. I'm not needed anymore. Goodbye." msgstr "La partie démarre. Je ne vous suis plus d'aucune utilité. Au revoir." #: ../client/common/client.c:105 msgid "Waiting" msgstr "En attente" #: ../client/common/client.c:107 msgid "Idle" msgstr "Inactif" #: ../client/common/client.c:532 msgid "We have been kicked out of the game.\n" msgstr "Vous avez été expulsé de la partie.\n" #. Network status: offline #: ../client/common/client.c:535 ../client/common/client.c:990 #: ../client/gtk/gui.c:1532 msgid "Offline" msgstr "Déconnecté" #: ../client/common/client.c:556 #, c-format msgid "Error (%s): %s\n" msgstr "Erreur (%s) : %s\n" #: ../client/common/client.c:565 ../client/common/client.c:576 #, c-format msgid "Notice: %s\n" msgstr "Avertissement : %s\n" #: ../client/common/client.c:693 #, c-format msgid "%s does not receive any %s, because the bank is empty.\n" msgstr "%s n'a reçu aucune ressource %s (la banque est vide).\n" #: ../client/common/client.c:706 #, c-format msgid "%s only receives %s, because the bank didn't have any more.\n" msgstr "%s a reçu uniquement %s, car la banque n'en a pas plus.\n" #: ../client/common/client.c:716 #, c-format msgid "%s receives %s.\n" msgstr "%s reçoit %s.\n" #. Year of Plenty #: ../client/common/client.c:724 ../client/common/client.c:2663 #, c-format msgid "%s takes %s.\n" msgstr "%s prend %s.\n" #: ../client/common/client.c:729 #, c-format msgid "%s spent %s.\n" msgstr "%s dépense %s.\n" #: ../client/common/client.c:735 #, c-format msgid "%s is refunded %s.\n" msgstr "%s est remboursé de %s.\n" #. %s = Player name #: ../client/common/client.c:753 #, c-format msgid "%s shuffled the dice deck.\n" msgstr "%s a mélangé le paquet de cartes-dés.\n" #: ../client/common/client.c:772 #, c-format msgid "%s discarded %s.\n" msgstr "%s jette %s.\n" #: ../client/common/client.c:846 #, c-format msgid "%s has won the game with %d victory points!\n" msgstr "%s a gagné la partie avec %d points de victoire !\n" #: ../client/common/client.c:945 msgid "Loading" msgstr "Chargement" #: ../client/common/client.c:991 msgid "Version mismatch." msgstr "Versions incompatibles." #: ../client/common/client.c:993 msgid "Version mismatch. Please make sure client and server are up to date.\n" msgstr "" "Versions incompatibles. Vérifiez que le client et le serveur sont à jour.\n" #: ../client/common/client.c:1413 msgid "Build two settlements, each with a connecting" msgstr "Fondez deux colonies avec une voie de liaison pour chacune" #: ../client/common/client.c:1416 msgid "Build a settlement with a connecting" msgstr "Fondez une colonie et sa voie de liaison" #: ../client/common/client.c:1419 msgid "road" msgstr "route" #: ../client/common/client.c:1421 msgid "bridge" msgstr "pont" #: ../client/common/client.c:1423 msgid "ship" msgstr "navire" #: ../client/common/client.c:1430 msgid " or" msgstr " ou" #: ../client/common/client.c:1494 msgid "Waiting for your turn." msgstr "Nous attendons notre tour." #: ../client/common/client.c:1546 ../client/gtk/interface.c:784 msgid "Select the building to steal from." msgstr "Choisissez la construction à voler." #: ../client/common/client.c:1568 ../client/gtk/interface.c:774 msgid "Select the ship to steal from." msgstr "Choisissez le navire à voler." #: ../client/common/client.c:1652 ../client/gtk/interface.c:816 msgid "Place the robber." msgstr "Déplacez le voleur." #: ../client/common/client.c:1702 msgid "Finish the road building action." msgstr "Finissez la construction des routes." #: ../client/common/client.c:1704 msgid "Build one road segment." msgstr "Construit un segment de route." #: ../client/common/client.c:1706 msgid "Build two road segments." msgstr "Construit deux segments de route" #. Notification #: ../client/common/client.c:1979 ../client/common/client.c:2073 #: ../client/gtk/interface.c:432 msgid "It is your turn." msgstr "C'est votre tour." #: ../client/common/client.c:2167 #, c-format msgid "Sorry, %s available.\n" msgstr "Désolé, %s indisponible.\n" #: ../client/common/client.c:2481 msgid "The game is over." msgstr "La partie est finie." #. This development card is unique #: ../client/common/develop.c:67 #, c-format msgid "You bought the %s development card.\n" msgstr "Vous avez acheté la carte de développement %s.\n" #. This development card is not unique #: ../client/common/develop.c:73 #, c-format msgid "You bought a %s development card.\n" msgstr "Vous avez acheté une carte de développement %s.\n" #: ../client/common/develop.c:103 #, c-format msgid "%s bought a development card.\n" msgstr "%s achète une carte de développement.\n" #: ../client/common/develop.c:121 #, c-format msgid "%s played the %s development card.\n" msgstr "%s joue la carte de développement %s.\n" #: ../client/common/develop.c:126 #, c-format msgid "%s played a %s development card.\n" msgstr "%s joue la carte de développement %s.\n" #: ../client/common/develop.c:138 msgid "You have run out of road segments.\n" msgstr "Vous êtes à court de routes.\n" #. I get the cards #. $1=resources, $2=player that loses resources #: ../client/common/develop.c:179 #, c-format msgid "You get %s from %s.\n" msgstr "Vous recevez %s de %s.\n" #. I lose the cards #. $1=player that steals, $2=resources #: ../client/common/develop.c:185 #, c-format msgid "%s took %s from you.\n" msgstr "%s vous prend %s.\n" #: ../client/common/develop.c:192 #, c-format msgid "%s took %s from %s.\n" msgstr "%s prend %s à %s.\n" #: ../client/common/player.c:125 ../server/player.c:567 #, c-format msgid "Spectator %d" msgstr "Spectateur %d" #: ../client/common/player.c:128 #, c-format msgid "spectator %d" msgstr "spectateur %d" #: ../client/common/player.c:137 ../server/player.c:570 #, c-format msgid "Player %d" msgstr "Joueur %d" #: ../client/common/player.c:139 #, c-format msgid "player %d" msgstr "joueur %d" #: ../client/common/player.c:216 #, c-format msgid "New spectator: %s.\n" msgstr "Nouveau spectateur : %s.\n" #: ../client/common/player.c:219 ../client/common/player.c:235 #, c-format msgid "%s is now %s.\n" msgstr "%s s'appelle maintenant %s.\n" #: ../client/common/player.c:232 #, c-format msgid "Player %d is now %s.\n" msgstr "Le joueur %d s'appelle maintenant %s.\n" #: ../client/common/player.c:269 #, c-format msgid "%s has quit.\n" msgstr "%s est parti.\n" #: ../client/common/player.c:278 msgid "There is no largest army.\n" msgstr "Il n'y a pas de chevalier le plus puissant.\n" #: ../client/common/player.c:281 #, c-format msgid "%s has the largest army.\n" msgstr "%s détient le chevalier le plus puissant.\n" #: ../client/common/player.c:302 msgid "There is no longest road.\n" msgstr "Il n'y a pas de route la plus longue.\n" #: ../client/common/player.c:305 #, c-format msgid "%s has the longest road.\n" msgstr "%s a la route la plus longue.\n" #: ../client/common/player.c:326 #, c-format msgid "Waiting for %s." msgstr "En attente de %s." #. We are not in on the action #. someone stole a resource from someone else #: ../client/common/player.c:354 #, c-format msgid "%s stole a resource from %s.\n" msgstr "%s vole une ressource à %s.\n" #. $1=resource, $2=player name #: ../client/common/player.c:365 #, c-format msgid "You stole %s from %s.\n" msgstr "Vous volez %s à %s.\n" #. $1=player name, $2=resource #: ../client/common/player.c:372 #, c-format msgid "%s stole %s from you.\n" msgstr "%s vous vole %s.\n" #: ../client/common/player.c:406 #, c-format msgid "%s gave %s nothing!?\n" msgstr "%s ne donne rien à %s !?\n" #. $1=giving player, $2=receiving player, $3=resources #: ../client/common/player.c:413 ../client/common/player.c:423 #, c-format msgid "%s gave %s %s for free.\n" msgstr "%s donne %s %s gratuitement.\n" #: ../client/common/player.c:431 #, c-format msgid "%s gave %s %s in exchange for %s.\n" msgstr "%s donne %s %s en échange de %s.\n" #: ../client/common/player.c:462 #, c-format msgid "%s exchanged %s for %s.\n" msgstr "%s échange %s contre %s.\n" #: ../client/common/player.c:482 #, c-format msgid "%s built a road.\n" msgstr "%s construit une route.\n" #: ../client/common/player.c:494 #, c-format msgid "%s built a ship.\n" msgstr "%s construit un navire.\n" #: ../client/common/player.c:507 #, c-format msgid "%s built a settlement.\n" msgstr "%s fonde une colonie.\n" #: ../client/common/player.c:526 #, c-format msgid "%s built a city.\n" msgstr "%s érige une ville.\n" #: ../client/common/player.c:540 #, c-format msgid "%s built a city wall.\n" msgstr "%s construit un rempart.\n" #. Error message #: ../client/common/player.c:551 #, c-format msgid "player_build_add called with BUILD_NONE for user %s\n" msgstr "player_build_add est appelé avec BUILD_NONE pour le joueur %s\n" #: ../client/common/player.c:561 #, c-format msgid "%s built a bridge.\n" msgstr "%s construit un pont.\n" #: ../client/common/player.c:587 #, c-format msgid "%s removed a road.\n" msgstr "%s retire une route.\n" #: ../client/common/player.c:597 #, c-format msgid "%s removed a ship.\n" msgstr "%s retire un navire.\n" #: ../client/common/player.c:607 #, c-format msgid "%s removed a settlement.\n" msgstr "%s retire une colonie.\n" #: ../client/common/player.c:618 #, c-format msgid "%s removed a city.\n" msgstr "%s retire une ville.\n" #: ../client/common/player.c:632 #, c-format msgid "%s removed a city wall.\n" msgstr "%s supprime un rempart.\n" #. Error message #: ../client/common/player.c:642 #, c-format msgid "player_build_remove called with BUILD_NONE for user %s\n" msgstr "player_build_remove est appelé avec BUILD_NONE pour le joueur %s\n" #: ../client/common/player.c:651 #, c-format msgid "%s removed a bridge.\n" msgstr "%s retire un pont.\n" #: ../client/common/player.c:682 #, c-format msgid "%s has canceled a ship's movement.\n" msgstr "%s a annulé un mouvement de navire.\n" #: ../client/common/player.c:685 #, c-format msgid "%s moved a ship.\n" msgstr "%s déplace un navire.\n" #. tell the user that someone got something #: ../client/common/player.c:705 #, c-format msgid "%s received %s.\n" msgstr "%s a reçu %s.\n" #: ../client/common/player.c:724 msgid "server asks to lose invalid point.\n" msgstr "le serveur demande la perte du point incorrect.\n" #. tell the user the point is lost #: ../client/common/player.c:730 #, c-format msgid "%s lost %s.\n" msgstr "%s perd %s.\n" #: ../client/common/player.c:753 msgid "server asks to move invalid point.\n" msgstr "le serveur demande de déplacer le point incorrect.\n" #. tell the user someone (1) lost something (2) to someone else (3) #: ../client/common/player.c:760 #, c-format msgid "%s lost %s to %s.\n" msgstr "%s perd %s à %s.\n" #: ../client/common/resource.c:35 msgid "brick" msgstr "argile" #: ../client/common/resource.c:35 msgid "Brick" msgstr "Argile" #: ../client/common/resource.c:36 msgid "grain" msgstr "blé" #: ../client/common/resource.c:36 msgid "Grain" msgstr "Blé" #: ../client/common/resource.c:37 msgid "ore" msgstr "pierre" #: ../client/common/resource.c:37 msgid "Ore" msgstr "Pierre" #: ../client/common/resource.c:38 msgid "wool" msgstr "laine" #: ../client/common/resource.c:38 msgid "Wool" msgstr "Laine" #: ../client/common/resource.c:39 msgid "lumber" msgstr "bois" #: ../client/common/resource.c:39 msgid "Lumber" msgstr "Bois" #: ../client/common/resource.c:40 msgid "no resource (bug)" msgstr "pas de ressources (bug)" #: ../client/common/resource.c:40 msgid "No resource (bug)" msgstr "Pas de ressources (bug)" #: ../client/common/resource.c:41 msgid "any resource (bug)" msgstr "n'importe quelle ressource (bug)" #: ../client/common/resource.c:41 msgid "Any resource (bug)" msgstr "N'importe quelle ressource (bug)" #: ../client/common/resource.c:42 msgid "gold" msgstr "or" #: ../client/common/resource.c:42 ../client/gtk/legend.c:41 msgid "Gold" msgstr "Or" #: ../client/common/resource.c:47 msgid "a brick card" msgstr "une carte d'argile" #: ../client/common/resource.c:47 #, c-format msgid "%d brick cards" msgstr "%d cartes d'argile" #: ../client/common/resource.c:48 msgid "a grain card" msgstr "une carte de blé" #: ../client/common/resource.c:48 #, c-format msgid "%d grain cards" msgstr "%d cartes de blé" #: ../client/common/resource.c:49 msgid "an ore card" msgstr "une carte de pierre" #: ../client/common/resource.c:49 #, c-format msgid "%d ore cards" msgstr "%d cartes de pierre" #: ../client/common/resource.c:50 msgid "a wool card" msgstr "une carte de laine" #: ../client/common/resource.c:50 #, c-format msgid "%d wool cards" msgstr "%d cartes de laine" #: ../client/common/resource.c:51 msgid "a lumber card" msgstr "une carte de bois" #: ../client/common/resource.c:51 #, c-format msgid "%d lumber cards" msgstr "%d cartes de bois" #: ../client/common/resource.c:139 ../client/common/resource.c:225 msgid "nothing" msgstr "rien" #. Construct "A, B and C" for resources #: ../client/common/resource.c:166 #, c-format msgid "%s and %s" msgstr "%s et %s" #. Construct "A, B and C" for resources #: ../client/common/resource.c:170 #, c-format msgid "%s, %s" msgstr "%s, %s" #: ../client/common/robber.c:62 #, c-format msgid "%s has undone the robber movement.\n" msgstr "%s a annulé le déplacement du voleur.\n" #: ../client/common/robber.c:65 #, c-format msgid "%s moved the robber.\n" msgstr "%s déplace le voleur.\n" #: ../client/common/robber.c:75 #, c-format msgid "%s has undone the pirate movement.\n" msgstr "%s a annulé le déplacement du pirate.\n" #: ../client/common/robber.c:78 #, c-format msgid "%s moved the pirate.\n" msgstr "%s déplace le pirate.\n" #: ../client/common/robber.c:85 #, c-format msgid "%s must move the robber." msgstr "%s doit déplacer le voleur." #: ../client/common/setup.c:146 #, c-format msgid "Setup for %s.\n" msgstr "Placement pour %s.\n" #: ../client/common/setup.c:158 #, c-format msgid "Double setup for %s.\n" msgstr "Double placement pour %s.\n" #: ../client/common/turn.c:37 #, c-format msgid "%s rolled %d.\n" msgstr "%s a fait %d.\n" #: ../client/common/turn.c:50 #, c-format msgid "Begin turn %d for %s.\n" msgstr "Début du tour %d pour %s.\n" #: ../client/gtk/avahi-browser.c:83 msgid "Select an automatically discovered game" msgstr "Sélectionner une partie découverte automatiquement" #. $1=Game title, $2=version, $3=host_name, $4=port #: ../client/gtk/avahi-browser.c:132 #, c-format msgid "%s (%s) on %s:%s" msgstr "%s (%s) sur %s:%s" #. Label text #: ../client/gtk/chat.c:73 msgid "Chat" msgstr "Dialogue" #: ../client/gtk/chat.c:232 msgid "Beeper test.\n" msgstr "Essai de bip.\n" #: ../client/gtk/chat.c:235 #, c-format msgid "%s beeped you.\n" msgstr "%s vous bipe.\n" #: ../client/gtk/chat.c:239 #, c-format msgid "You beeped %s.\n" msgstr "Vous bipez %s.\n" #: ../client/gtk/chat.c:245 #, c-format msgid "You could not beep %s.\n" msgstr "Vous ne pouvez pas biper %s.\n" #: ../client/gtk/chat.c:287 msgid " said: " msgstr " a dit : " #: ../client/gtk/connect.c:286 #, c-format msgid "Metaserver at %s, port %s" msgstr "Méta-serveur à l'adresse %s, port %s" #: ../client/gtk/connect.c:296 msgid "Finished.\n" msgstr "Terminé.\n" #: ../client/gtk/connect.c:311 ../client/gtk/connect.c:389 #: ../client/gtk/connect.c:408 ../client/gtk/connect.c:979 msgid "The metaserver is not available anymore.\n" msgstr "Le méta-serveur n'est plus disponible.\n" #: ../client/gtk/connect.c:322 ../client/gtk/connect.c:443 #: ../client/gtk/connect.c:770 msgid "The metaserver closed the connection unexpectedly.\n" msgstr "Le méta-serveur a terminé la connexion de manière inattendue.\n" #: ../client/gtk/connect.c:380 msgid "Receiving game names from the metaserver.\n" msgstr "Réception du nom des parties du méta-serveur.\n" #: ../client/gtk/connect.c:422 #, c-format msgid "New game server requested on %s port %s.\n" msgstr "Requête vers le nouveau serveur %s, port %s.\n" #: ../client/gtk/connect.c:432 msgid "Incomplete information about the new game server received.\n" msgstr "Le nouveau serveur a envoyé des informations incomplètes.\n" #: ../client/gtk/connect.c:486 ../client/gtk/connect.c:492 ../server/meta.c:239 #, c-format msgid "Unknown message from the metaserver: %s\n" msgstr "Message inconnu du méta-serveur : %s\n" #: ../client/gtk/connect.c:565 ../server/meta.c:178 #, c-format msgid "Receiving data from inactive session: %s\n" msgstr "Réception de données depuis une session inactive : %s\n" #: ../client/gtk/connect.c:577 ../server/meta.c:192 msgid "Too many metaserver redirects.\n" msgstr "Trop de redirections du méta-serveur.\n" #: ../client/gtk/connect.c:606 ../server/meta.c:208 #, c-format msgid "Bad redirect line: %s\n" msgstr "Mauvaise redirection ligne %s\n" #: ../client/gtk/connect.c:631 #, c-format msgid "The metaserver is too old to create servers (version %d.%d)\n" msgstr "" "Le méta-serveur est trop vieux pour créer des parties (version %d.%d)\n" #: ../client/gtk/connect.c:670 ../client/gtk/connect.c:749 #: ../client/gtk/connect.c:755 #, c-format msgid "Unexpected data from the metaserver: %s\n" msgstr "Données inconnues reçues du méta-serveur : %s\n" #. Sevens rule: normal #: ../client/gtk/connect.c:701 ../client/gtk/settingscreen.c:181 #: ../common/gtk/game-rules.c:89 msgid "Normal" msgstr "Normal" #. Sevens rule: reroll on 1st 2 turns #: ../client/gtk/connect.c:706 ../client/gtk/settingscreen.c:183 #: ../common/gtk/game-rules.c:95 msgid "Reroll on 1st 2 turns" msgstr "Relancer les dés les 2 premiers tours" #. Sevens rule: reroll all 7s #: ../client/gtk/connect.c:710 ../client/gtk/settingscreen.c:185 #: ../common/gtk/game-rules.c:102 msgid "Reroll all 7s" msgstr "Relancer tous les 7" #: ../client/gtk/connect.c:724 msgid "Default" msgstr "Par défaut" #: ../client/gtk/connect.c:727 msgid "Random" msgstr "Aléatoire" #: ../client/gtk/connect.c:819 ../server/meta.c:299 #, c-format msgid "Redirected to the metaserver at %s.\n" msgstr "Redirection vers le méta-serveur %s.\n" #: ../client/gtk/connect.c:824 ../server/meta.c:302 #, c-format msgid "Redirected to the metaserver at %s, port %s.\n" msgstr "Redirection vers le méta-serveur %s, port %s.\n" #: ../client/gtk/connect.c:831 msgid "Receiving a list of Pioneers servers from the metaserver.\n" msgstr "Réception d'une liste de serveurs Pioneers depuis le méta-serveur.\n" #. Label #: ../client/gtk/connect.c:914 msgid "Number of computer players" msgstr "Type d'IA" #. Tooltip #: ../client/gtk/connect.c:935 msgid "The number of computer players" msgstr "Nombre de joueurs IA" #. Canceled retrieving information #. * from the metaserver #: ../client/gtk/connect.c:957 ../client/gtk/connect.c:992 #: ../client/gtk/connect.c:1133 msgid "Canceled.\n" msgstr "Annulé.\n" #: ../client/gtk/connect.c:960 msgid "Requesting new game server.\n" msgstr "Requête en cours pour un nouveau serveur.\n" #: ../client/gtk/connect.c:1015 ../server/gtk/main.c:370 ../server/server.c:123 #, c-format msgid "Error starting %s: %s\n" msgstr "Erreur lors du démarrage de %s : %s\n" #. Dialog caption #: ../client/gtk/connect.c:1037 msgid "Create a Public Game" msgstr "Créer une partie publique" #. Button text #: ../client/gtk/connect.c:1040 ../client/gtk/connect.c:1191 #: ../client/gtk/connect.c:1440 ../client/gtk/connect.c:1744 #: ../client/gtk/name.c:147 ../editor/gtk/editor.c:1521 #: ../editor/gtk/editor.c:1562 ../editor/gtk/editor.c:1611 msgid "_Cancel" msgstr "Annuler" #. Button text #: ../client/gtk/connect.c:1042 msgid "C_reate" msgstr "C_réer" #. Dialog caption #: ../client/gtk/connect.c:1182 msgid "Join a Public Game" msgstr "Rejoindre une partie publique" #. Button text #: ../client/gtk/connect.c:1185 msgid "_Refresh" msgstr "Actualiser" #. Button text #: ../client/gtk/connect.c:1188 msgid "_New Remote Game" msgstr "_Nouvelle partie distante" #. Button text #: ../client/gtk/connect.c:1194 ../client/gtk/connect.c:1748 msgid "_Join" msgstr "Re_joindre" #. Tooltip #: ../client/gtk/connect.c:1237 msgid "Select a game to join" msgstr "Choisir une partie à rejoindre" #. Column name #: ../client/gtk/connect.c:1241 msgid "Map Name" msgstr "Nom de la carte" #. Tooltip for column 'Map Name' #: ../client/gtk/connect.c:1249 msgid "Name of the game" msgstr "Nom de la partie" #. Column name #: ../client/gtk/connect.c:1255 msgid "Curr" msgstr "Cour." #. Tooltip for column 'Curr' #: ../client/gtk/connect.c:1262 msgid "Number of players in the game" msgstr "Nombre de joueurs" #. Column name #: ../client/gtk/connect.c:1268 msgid "Max" msgstr "Max" #. Tooltip for column 'Max' #: ../client/gtk/connect.c:1275 msgid "Maximum players for the game" msgstr "Nombre maximum de joueurs" #. Column name #: ../client/gtk/connect.c:1279 msgid "Terrain" msgstr "Carte" #. Tooltip for column 'Terrain' #: ../client/gtk/connect.c:1287 msgid "Random of default terrain" msgstr "Carte aléatoire" #. Column name #: ../client/gtk/connect.c:1293 msgid "Vic. Points" msgstr "Pts de Vic." #. Tooltip for column 'Vic. Points' #: ../client/gtk/connect.c:1300 msgid "Points needed to win" msgstr "Points requis pour gagner" #. Column name #: ../client/gtk/connect.c:1304 msgid "Sevens Rule" msgstr "Règle des sept" #. Tooltip for column 'Sevens Rule' #. Label #: ../client/gtk/connect.c:1312 ../common/gtk/game-rules.c:81 msgid "Sevens rule" msgstr "Règle des sept" #. Column name #: ../client/gtk/connect.c:1316 msgid "Host" msgstr "Adresse" #. Tooltip for column 'Host' #: ../client/gtk/connect.c:1325 msgid "Host of the game" msgstr "Adresse de la partie" #. Column name #: ../client/gtk/connect.c:1331 msgid "Port" msgstr "Port" #. Tooltip for column 'Port' #: ../client/gtk/connect.c:1339 msgid "Port of the game" msgstr "Port de la partie" #. Column name #: ../client/gtk/connect.c:1343 msgid "Version" msgstr "Version" #. Tooltip for column 'Version' #: ../client/gtk/connect.c:1351 msgid "Version of the host" msgstr "Version du serveur" #. Dialog caption #: ../client/gtk/connect.c:1436 msgid "Start a New Game" msgstr "Commencer une nouvelle partie" #. Label #. Commandline option of client: name of the player #: ../client/gtk/connect.c:1464 ../client/gtk/offline.c:57 msgid "Player name" msgstr "Nom du joueur" #. Tooltip #: ../client/gtk/connect.c:1480 msgid "Enter your name" msgstr "Entrez votre nom" #. Check button #. Role of the player: spectator #: ../client/gtk/connect.c:1483 ../server/gtk/main.c:682 msgid "Spectator" msgstr "Spectateur" #: ../client/gtk/connect.c:1493 msgid "Check if you want to be a spectator" msgstr "Cochez si vous souhaitez être spectateur" #. Label #: ../client/gtk/connect.c:1504 msgid "Avahi" msgstr "Avahi" #. Button #: ../client/gtk/connect.c:1511 msgid "Join" msgstr "Rejoindre" #. Tooltip for button Join #: ../client/gtk/connect.c:1515 msgid "Join an automatically discovered game" msgstr "Rejoindre une partie découverte automatiquement" #. Label #. metaserver label #: ../client/gtk/connect.c:1542 ../server/gtk/main.c:593 msgid "Metaserver" msgstr "Méta-serveur" #. Button #: ../client/gtk/connect.c:1564 msgid "Join Public Game" msgstr "Rejoindre une partie publique" #. Tooltip #: ../client/gtk/connect.c:1570 msgid "Join a public game" msgstr "Rejoindre une partie publique" #. Button #: ../client/gtk/connect.c:1575 msgid "Create Game" msgstr "Créer une partie" #. Tooltip #: ../client/gtk/connect.c:1579 msgid "Create a game" msgstr "Créer une partie" #. Button #: ../client/gtk/connect.c:1588 msgid "Join Private Game" msgstr "Rejoindre une partie privée" #. Tooltip #. Dialog caption #: ../client/gtk/connect.c:1592 ../client/gtk/connect.c:1737 msgid "Join a private game" msgstr "Rejoindre une partie privée" #. Label #. Commandline option of client: hostname of the server #: ../client/gtk/connect.c:1777 ../client/gtk/offline.c:51 msgid "Server host" msgstr "Hôte serveur" #. Tooltip #: ../client/gtk/connect.c:1791 msgid "Name of the host of the game" msgstr "Nom du serveur hébergeant la partie" #. Label #. Commandline option of client: port of the server #. server port label #: ../client/gtk/connect.c:1795 ../client/gtk/offline.c:54 #: ../server/gtk/main.c:555 msgid "Server port" msgstr "Port du serveur" #. Tooltip #: ../client/gtk/connect.c:1812 msgid "Port of the host of the game" msgstr "Port du serveur hébergeant la partie" #. Tooltip #. Label #: ../client/gtk/connect.c:1854 ../client/gtk/connect.c:1857 msgid "Recent games" msgstr "Parties récentes" #. Caption for list of bought development cards #: ../client/gtk/develop.c:130 msgid "Development cards" msgstr "Cartes de développement" #. Button text: play development card #: ../client/gtk/develop.c:163 msgid "Play Card" msgstr "Jouer la carte" #. Dialog caption #: ../client/gtk/discard.c:77 msgid "Discard Resources" msgstr "Jeter les ressources" #. Button text #: ../client/gtk/discard.c:83 ../client/gtk/gameover.c:38 #: ../client/gtk/gold.c:78 ../client/gtk/monopoly.c:88 ../client/gtk/name.c:150 #: ../client/gtk/plenty.c:67 ../editor/gtk/editor.c:1614 msgid "_OK" msgstr "_Ok" #: ../client/gtk/discard.c:101 #, c-format msgid "You must discard %d resource" msgid_plural "You must discard %d resources" msgstr[0] "Vous devez jeter %d ressource" msgstr[1] "Vous devez jeter %d ressources" #. Label #: ../client/gtk/discard.c:110 msgid "Total discards" msgstr "Total des cartes jetées" #. Caption for list of player that must discard cards #: ../client/gtk/discard.c:235 msgid "Waiting for players to discard" msgstr "En attente des joueurs jetant des cartes" #. Dialog caption #: ../client/gtk/gameover.c:34 msgid "Game Over" msgstr "Partie terminée" #: ../client/gtk/gameover.c:52 #, c-format msgid "%s has won the game with %d victory points!" msgstr "%s a gagné la partie avec %d points de victoire !" #: ../client/gtk/gameover.c:58 #, c-format msgid "All praise %s, Lord of the known world!" msgstr "Gloire à %s, seigneur du monde connu !" #. Dialog caption #: ../client/gtk/gold.c:72 msgid "Choose Resources" msgstr "Choisissez des ressources" #: ../client/gtk/gold.c:96 #, c-format msgid "You may choose %d resource" msgid_plural "You may choose %d resources" msgstr[0] "Vous devez choisir %d ressource" msgstr[1] "Vous devez choisir %d ressources" #. Text for total in choose gold dialog #. Text for total in year of plenty dialog #: ../client/gtk/gold.c:105 ../client/gtk/plenty.c:103 msgid "Total resources" msgstr "Total des ressources" #. Caption for list of player that must choose gold #: ../client/gtk/gold.c:217 msgid "Waiting for players to choose" msgstr "En attente des joueurs qui choisissent" #. Menu entry #: ../client/gtk/gui.c:224 ../server/gtk/main.c:91 msgid "_Game" msgstr "_Partie" #. Menu entry #: ../client/gtk/gui.c:227 msgid "_New Game" msgstr "_Nouvelle partie" #. Tooltip for New Game menu entry #: ../client/gtk/gui.c:229 msgid "Start a new game" msgstr "Commencer une nouvelle partie" #. Menu entry #: ../client/gtk/gui.c:232 msgid "_Leave Game" msgstr "Abandonner _la partie" #. Tooltip for Leave Game menu entry #: ../client/gtk/gui.c:234 msgid "Leave this game" msgstr "Quitter cette partie" #. Menu entry #: ../client/gtk/gui.c:238 msgid "_Admin" msgstr "_Administrateur" #. Tooltip for Admin menu entry #: ../client/gtk/gui.c:240 msgid "Administer Pioneers server" msgstr "Administrer le serveur Pioneers" #. Menu entry #: ../client/gtk/gui.c:244 msgid "_Player Name" msgstr "Nom du joueur" #. Tooltip for Player Name menu entry #: ../client/gtk/gui.c:246 msgid "Change your player name" msgstr "Changer de pseudonyme" #. Menu entry #: ../client/gtk/gui.c:249 msgid "L_egend" msgstr "Lég_ende" #. Tooltip for Legend menu entry #: ../client/gtk/gui.c:251 msgid "Terrain legend and building costs" msgstr "Légende des terrains et des coûts de construction" #. Menu entry #: ../client/gtk/gui.c:254 msgid "_Game Settings" msgstr "P_aramètres de la partie" #. Tooltip for Game Settings menu entry #: ../client/gtk/gui.c:256 msgid "Settings for the current game" msgstr "Paramètres de la partie actuelle" #. Menu entry #: ../client/gtk/gui.c:259 msgid "_Dice Histogram" msgstr "_Histogramme des lancers de dés" #. Tooltip for Dice Histogram menu entry #: ../client/gtk/gui.c:261 msgid "Histogram of dice rolls" msgstr "Histogramme des lancers de dés" #. Menu entry #: ../client/gtk/gui.c:264 ../editor/gtk/editor.c:1759 ../server/gtk/main.c:103 msgid "_Quit" msgstr "_Quitter" #. Tooltip for Quit menu entry #. Tooltop for Quit menu entry #: ../client/gtk/gui.c:266 ../server/gtk/main.c:105 msgid "Quit the program" msgstr "Quitter le programme" #. Menu entry #: ../client/gtk/gui.c:269 msgid "_Actions" msgstr "_Actions" #. Menu entry #: ../client/gtk/gui.c:272 msgid "Roll Dice" msgstr "Lancer les dés" #. Tooltip for Roll Dice menu entry #: ../client/gtk/gui.c:274 msgid "Roll the dice" msgstr "Lancer les dés" #. Menu entry #. Tooltip for Trade menu entry #. Tab page name #: ../client/gtk/gui.c:277 ../client/gtk/gui.c:279 ../client/gtk/gui.c:710 msgid "Trade" msgstr "Échange" #. Menu entry #. Tooltip for Undo menu entry #: ../client/gtk/gui.c:283 ../client/gtk/gui.c:285 msgid "Undo" msgstr "Annuler" #. Menu entry #. Tooltip for Finish menu entry #: ../client/gtk/gui.c:288 ../client/gtk/gui.c:290 msgid "Finish" msgstr "Terminer" #. Menu entry #: ../client/gtk/gui.c:293 ../client/gtk/legend.c:189 #: ../editor/gtk/game-buildings.c:10 msgid "Road" msgstr "Route" #. Tooltip for Road menu entry #: ../client/gtk/gui.c:295 msgid "Build a road" msgstr "Construire une route" #. Menu entry #: ../client/gtk/gui.c:298 ../client/gtk/legend.c:193 #: ../editor/gtk/game-buildings.c:10 msgid "Ship" msgstr "Navire" #. Tooltip for Ship menu entry #: ../client/gtk/gui.c:300 msgid "Build a ship" msgstr "Construire un navire" #. Menu entry #: ../client/gtk/gui.c:303 msgid "Move Ship" msgstr "Déplacer un navire" #. Tooltip for Move Ship menu entry #: ../client/gtk/gui.c:305 msgid "Move a ship" msgstr "Déplacer un navire" #. Menu entry #: ../client/gtk/gui.c:308 ../client/gtk/legend.c:196 #: ../editor/gtk/game-buildings.c:10 msgid "Bridge" msgstr "Pont" #. Tooltip for Bridge menu entry #: ../client/gtk/gui.c:310 msgid "Build a bridge" msgstr "Construire un pont" #. Menu entry #: ../client/gtk/gui.c:313 ../client/gtk/legend.c:198 ../client/gtk/player.c:52 #: ../editor/gtk/game-buildings.c:10 msgid "Settlement" msgstr "Colonie" #. Tooltip for Settlement menu entry #: ../client/gtk/gui.c:316 msgid "Build a settlement" msgstr "Fonder une colonie" #. Menu entry #: ../client/gtk/gui.c:319 ../client/gtk/legend.c:199 ../client/gtk/player.c:53 #: ../editor/gtk/game-buildings.c:11 msgid "City" msgstr "Ville" #. Tooltip for City menu entry #: ../client/gtk/gui.c:321 msgid "Build a city" msgstr "Eriger une cité" #. Menu entry #: ../client/gtk/gui.c:324 msgid "Develop" msgstr "Carte de Dév." #. Tooltip for Develop menu entry #: ../client/gtk/gui.c:326 msgid "Buy a development card" msgstr "Acheter une carte de développement" #. Menu entry #: ../client/gtk/gui.c:329 msgid "City Wall" msgstr "Rempart" #. Tooltip for City Wall menu entry #: ../client/gtk/gui.c:331 msgid "Build a city wall" msgstr "Construire un rempart" #. Menu entry #: ../client/gtk/gui.c:335 msgid "_Settings" msgstr "Préférence_s" #. Menu entry #: ../client/gtk/gui.c:338 msgid "Prefere_nces" msgstr "Préfére_nces" #. Tooltip for Preferences menu entry #: ../client/gtk/gui.c:340 msgid "Configure the application" msgstr "Configurer l'application" #. Menu entry #: ../client/gtk/gui.c:344 ../editor/gtk/editor.c:1721 msgid "_View" msgstr "_Voir" #. Menu entry #: ../client/gtk/gui.c:347 ../editor/gtk/editor.c:1765 msgid "_Reset" msgstr "_Réinitialiser" #. Tooltip for Reset menu entry #: ../client/gtk/gui.c:350 ../editor/gtk/editor.c:1768 msgid "View the full map" msgstr "Voir la carte complète" #. Menu entry #: ../client/gtk/gui.c:353 ../editor/gtk/editor.c:1771 msgid "_Center" msgstr "_Centrer" #. Tooltip for Center menu entry #: ../client/gtk/gui.c:355 ../editor/gtk/editor.c:1773 msgid "Center the map" msgstr "Centrer la carte" #. Menu entry #: ../client/gtk/gui.c:359 ../client/gtk/gui.c:368 ../editor/gtk/editor.c:1724 #: ../server/gtk/main.c:94 msgid "_Help" msgstr "A_ide" #. Menu entry #: ../client/gtk/gui.c:362 msgid "_About Pioneers" msgstr "À _propos de Pioneers" #. Tooltip for About Pioneers menu entry #: ../client/gtk/gui.c:364 msgid "Information about Pioneers" msgstr "Informations à propos de Pioneers" #. Tooltip for Help menu entry #: ../client/gtk/gui.c:370 ../client/gtk/gui.c:1258 msgid "Show the manual" msgstr "Montrer le manuel" #. Menu entry #: ../client/gtk/gui.c:378 ../editor/gtk/editor.c:1791 msgid "_Fullscreen" msgstr "_Plein écran" #. Tooltip for Fullscreen menu entry #: ../client/gtk/gui.c:381 ../editor/gtk/editor.c:1794 msgid "Set window to full screen mode" msgstr "Mettre la fenêtre en mode plein écran" #. Menu entry #: ../client/gtk/gui.c:386 msgid "_Toolbar" msgstr "Barre d'ou_tils" #. Tooltip for Toolbar menu entry #: ../client/gtk/gui.c:388 msgid "Show or hide the toolbar" msgstr "Afficher ou masquer la barre d'outils" #. Victory points target in statusbar #: ../client/gtk/gui.c:491 #, c-format msgid "Points needed to win: %i" msgstr "Pts requis pour gagner : %i" #: ../client/gtk/gui.c:577 msgid "Messages" msgstr "Messages" #. Tab page name #: ../client/gtk/gui.c:703 ../editor/gtk/editor.c:1946 msgid "Map" msgstr "Carte" #. Tooltip #: ../client/gtk/gui.c:712 msgid "Finish trading" msgstr "Fin des échanges" #. Tab page name #. Button text #: ../client/gtk/gui.c:722 ../client/gtk/quote.c:339 msgid "Quote" msgstr "Offre" #. Tooltip #: ../client/gtk/gui.c:724 msgid "Reject domestic trade" msgstr "Refuser l'offre" #. Tab page name #. Dialog caption #: ../client/gtk/gui.c:734 ../client/gtk/legend.c:249 msgid "Legend" msgstr "Légende" #. Tab page name, shown for the splash screen #: ../client/gtk/gui.c:744 msgid "Welcome to Pioneers" msgstr "Bienvenue à Pioneers" #. Caption of preferences dialog #: ../client/gtk/gui.c:1028 msgid "Pioneers Preferences" msgstr "Préférences de Pioneers" #. Button text #: ../client/gtk/gui.c:1034 ../client/gtk/histogram.c:252 #: ../client/gtk/legend.c:253 ../client/gtk/settingscreen.c:413 msgid "_Close" msgstr "Fermer" #. Label for changing the theme, in the preferences dialog #: ../client/gtk/gui.c:1059 msgid "Theme:" msgstr "Thème :" #. Tooltip for changing the theme in the preferences dialog #: ../client/gtk/gui.c:1082 msgid "Choose one of the themes" msgstr "Choisissez un thème" #. Label for the option to show the legend #: ../client/gtk/gui.c:1086 msgid "Show legend" msgstr "Afficher la légende" #. Tooltip for the option to show the legend #: ../client/gtk/gui.c:1096 msgid "Show the legend as a page beside the map" msgstr "Afficher la légende en dessous de la carte" #. Label for the option to display log messages in color #: ../client/gtk/gui.c:1101 msgid "Messages with color" msgstr "Afficher les messages en couleur" #. Tooltip for the option to display log messages in color #: ../client/gtk/gui.c:1111 msgid "Show new messages with color" msgstr "Afficher les nouveaux messages en couleur" #. Label for the option to display chat in color of player #: ../client/gtk/gui.c:1116 msgid "Chat in color of player" msgstr "Afficher les dialogues en couleur" #. Tooltip for the option to display chat in color of player #: ../client/gtk/gui.c:1127 msgid "Show new chat messages in the color of the player" msgstr "Afficher les nouveaux messages des joueurs en couleurs" #. Label for the option to display the summary with colors #: ../client/gtk/gui.c:1132 msgid "Summary with color" msgstr "Afficher les joueurs en couleur" #. Tooltip for the option to display the summary with colors #: ../client/gtk/gui.c:1143 msgid "Use colors in the player summary" msgstr "Utiliser des couleurs pour afficher les joueurs" #. Label for the option to display keyboard accelerators in the toolbar #: ../client/gtk/gui.c:1148 msgid "Toolbar with shortcuts" msgstr "Barre d'outils avec ses raccourcis" #. Tooltip for the option to display keyboard accelerators in the toolbar #: ../client/gtk/gui.c:1158 msgid "Show keyboard shortcuts in the toolbar" msgstr "Afficher les raccourcis clavier dans la barre d'outils" #. Label for the option to disable all sounds #: ../client/gtk/gui.c:1164 msgid "Silent mode" msgstr "Mode silencieux" #. Tooltip for the option to disable all sounds #: ../client/gtk/gui.c:1170 msgid "In silent mode no sounds are made" msgstr "En mode silencieux, aucun son n'est émis" #. Label for the option to announce when players/spectators enter #: ../client/gtk/gui.c:1176 msgid "Announce new players" msgstr "Annoncer les nouveaux joueurs" #. Tooltip for the option to use sound when players/spectators enter #: ../client/gtk/gui.c:1186 msgid "Make a sound when a new player or spectator enters the game" msgstr "" "Jouer un son quand un nouveau joueur ou un spectateur entre dans la partie" #. Label for the option to use the notifications. #: ../client/gtk/gui.c:1198 msgid "Show notifications" msgstr "Voir les notifications" #. Tooltip for notifications option. #: ../client/gtk/gui.c:1208 msgid "Show notifications when it's your turn or when new trade is available" msgstr "" "Afficher les notifications quand c'est votre tour ou quand un nouvel échange " "est proposé" #. Label for the option to use the 16:9 layout. #: ../client/gtk/gui.c:1214 msgid "Use 16:9 layout" msgstr "Utiliser un plateau de jeu 16:9" #. Tooltip for 16:9 option. #: ../client/gtk/gui.c:1224 msgid "Use a 16:9 friendly layout for the window" msgstr "Utiliser pour la fenêtre un plateau de jeu compatible 16:9" #. Caption of about box #: ../client/gtk/gui.c:1233 msgid "About Pioneers" msgstr "À propos de Pioneers" #. Initial text in status bar #: ../client/gtk/gui.c:1544 ../client/gtk/offline.c:107 msgid "Welcome to Pioneers!" msgstr "Bienvenue dans Pioneers !" #. The name of the application #. Name of the application #: ../client/gtk/gui.c:1606 ../client/gtk/offline.c:209 #: ../client/gtk/pioneers.desktop.in.h:1 msgid "Pioneers" msgstr "Pioneers" #. Dialog caption #: ../client/gtk/histogram.c:248 msgid "Dice Histogram" msgstr "Histogramme des lancers de dés" #: ../client/gtk/interface.c:111 msgid "Ship movement canceled." msgstr "Déplacement du navire annulé" #: ../client/gtk/interface.c:119 ../client/gtk/interface.c:120 msgid "Select a new location for the ship." msgstr "Choisissez un nouvel emplacement pour le navire" #. Notification #: ../client/gtk/interface.c:919 msgid "It is your turn to setup." msgstr "C'est votre tour." #: ../client/gtk/legend.c:34 msgid "Hill" msgstr "Colline" #: ../client/gtk/legend.c:35 msgid "Field" msgstr "Champs" #: ../client/gtk/legend.c:36 msgid "Mountain" msgstr "Montagne" #: ../client/gtk/legend.c:37 msgid "Pasture" msgstr "Pré" #: ../client/gtk/legend.c:38 msgid "Forest" msgstr "Forêt" #: ../client/gtk/legend.c:39 msgid "Desert" msgstr "Désert" #: ../client/gtk/legend.c:40 msgid "Sea" msgstr "Mer" #. Label #: ../client/gtk/legend.c:132 msgid "Terrain yield" msgstr "Production des terrains" #. Label #: ../client/gtk/legend.c:165 msgid "Building costs" msgstr "Coûts de construction" #: ../client/gtk/legend.c:203 ../client/gtk/player.c:54 #: ../editor/gtk/game-buildings.c:11 msgid "City wall" msgstr "Rempart" #: ../client/gtk/legend.c:206 ../client/gtk/player.c:65 msgid "Development card" msgstr "Carte de développement" #. Dialog caption #. Name of the development card #: ../client/gtk/monopoly.c:84 ../common/cards.c:86 msgid "Monopoly" msgstr "Monopole" #. Label #: ../client/gtk/monopoly.c:106 msgid "Select the resource you wish to monopolize." msgstr "Choisissez la ressource à monopoliser" #. Dialog caption #: ../client/gtk/name.c:141 msgid "Change Player Name" msgstr "Renommer le joueur" #. Label #: ../client/gtk/name.c:172 msgid "Player name:" msgstr "Nom du joueur :" #. Label: set player icon preferences #: ../client/gtk/name.c:234 msgid "Face:" msgstr "Figure :" #. Label: set player icon preferences #: ../client/gtk/name.c:250 msgid "Variant:" msgstr "Variante :" #: ../client/gtk/offline.c:61 msgid "Connect as a spectator" msgstr "Se connecter en tant que spectateur" #: ../client/gtk/offline.c:64 msgid "Metaserver Host" msgstr "Hôte du méta-serveur" #: ../client/gtk/offline.c:78 msgid "Select a game to join." msgstr "Choisir une partie à rejoindre." #: ../client/gtk/offline.c:94 msgid "Connecting" msgstr "Connexion" #. Long description in the commandline for pioneers: help #: ../client/gtk/offline.c:183 msgid "- Play a game of Pioneers" msgstr "- Jouer à une partie de Pionneers" #: ../client/gtk/pioneers.desktop.in.h:2 msgid "Play a game of Pioneers" msgstr "Jouer à une partie de Pioneers" #: ../client/gtk/pioneers.desktop.in.h:3 msgid "game;board;play;Pioneers;Settlers;" msgstr "jeu;plateau;jouer;Pioneers;Colons;" #: ../client/gtk/player.c:52 msgid "Settlements" msgstr "Colonies" #: ../client/gtk/player.c:53 msgid "Cities" msgstr "Villes" #: ../client/gtk/player.c:54 msgid "City walls" msgstr "Remparts" #: ../client/gtk/player.c:55 msgid "Largest army" msgstr "Le chevalier le plus puissant" #: ../client/gtk/player.c:56 msgid "Longest road" msgstr "La route la plus longue" #. Name of the development card #: ../client/gtk/player.c:57 ../common/cards.c:92 msgid "Chapel" msgstr "Chapelle" #: ../client/gtk/player.c:57 msgid "Chapels" msgstr "Chapelles" #. Name of the development card #: ../client/gtk/player.c:58 ../common/cards.c:95 msgid "Pioneer university" msgstr "Université" #: ../client/gtk/player.c:58 msgid "Pioneer universities" msgstr "Universités" #. Name of the development card #: ../client/gtk/player.c:60 ../common/cards.c:98 msgid "Governor's house" msgstr "Palais du Gouverneur" #: ../client/gtk/player.c:60 msgid "Governor's houses" msgstr "Palais du Gouverneur" #. Name of the development card #: ../client/gtk/player.c:61 ../common/cards.c:101 msgid "Library" msgstr "Bibliothèque" #: ../client/gtk/player.c:61 msgid "Libraries" msgstr "Bibliothèques" #. Name of the development card #: ../client/gtk/player.c:62 ../common/cards.c:104 msgid "Market" msgstr "Marché" #: ../client/gtk/player.c:62 msgid "Markets" msgstr "Marchés" #. Name of the development card #: ../client/gtk/player.c:63 ../common/cards.c:107 msgid "Soldier" msgstr "Chevalier" #: ../client/gtk/player.c:63 msgid "Soldiers" msgstr "Chevaliers" #: ../client/gtk/player.c:64 msgid "Resource card" msgstr "Carte de ressource" #: ../client/gtk/player.c:64 msgid "Resource cards" msgstr "Cartes de ressource" #. Caption #: ../client/gtk/player.c:65 ../editor/gtk/editor.c:1305 msgid "Development cards" msgstr "Cartes de développement" #. Caption for the overview of the points and card of other players #: ../client/gtk/player.c:559 msgid "Player summary" msgstr "Les joueurs" #. Dialog caption #: ../client/gtk/plenty.c:61 msgid "Year of Plenty" msgstr "Année faste" #: ../client/gtk/plenty.c:92 msgid "Please choose one resource from the bank" msgstr "Prenez une ressource à la banque" #: ../client/gtk/plenty.c:95 msgid "Please choose two resources from the bank" msgstr "Prenez deux ressources à la banque" #: ../client/gtk/plenty.c:97 msgid "The bank is empty" msgstr "La banque est vide" #: ../client/gtk/quote.c:187 #, c-format msgid "%s has %s, and is looking for %s" msgstr "%s a %s et cherche %s" #. Notification #: ../client/gtk/quote.c:217 #, c-format msgid "New offer from %s." msgstr "Nouvelle offre de %s." #. Notification #: ../client/gtk/quote.c:242 #, c-format msgid "Offer from %s." msgstr "Offre de %s." #. Label #. Frame title, trade: I want to trade these resources #: ../client/gtk/quote.c:316 ../client/gtk/trade.c:524 msgid "I want" msgstr "Je veux" #. Label #. Frame title, trade: I want these resources in return #: ../client/gtk/quote.c:326 ../client/gtk/trade.c:530 msgid "Give them" msgstr "Accepter" #. Button text #: ../client/gtk/quote.c:345 msgid "Delete" msgstr "Effacer" #. Button text #: ../client/gtk/quote.c:370 msgid "Reject Domestic Trade" msgstr "Refuser l'offre" #. Now create columns #. Table header: Player who trades #. Role of the player: player #: ../client/gtk/quote-view.c:170 ../server/gtk/main.c:684 msgid "Player" msgstr "Joueur" #. Table header: Quote #: ../client/gtk/quote-view.c:185 msgid "Quotes" msgstr "Offres" #. trade: maritime quote: %1 resources of type %2 for #. * one resource of type %3 #: ../client/gtk/quote-view.c:303 #, c-format msgid "%d:1 %s for %s" msgstr "%d : 1 %s pour %s" #. Trade: a player has rejected trade #: ../client/gtk/quote-view.c:442 msgid "Rejected trade" msgstr "Offre refusée" #. Caption for overview of the resources of the player #: ../client/gtk/resource.c:71 msgid "Resources" msgstr "Ressources" #. Label #: ../client/gtk/resource.c:86 msgid "Total" msgstr "Total" #. Tooltip for the amount of resources in the hand #: ../client/gtk/resource-table.c:180 msgid "Amount in hand" msgstr "Ressources en main" #. Button for decreasing the selected amount #: ../client/gtk/resource-table.c:185 msgid "" msgstr "plus>" #. Tooltip for increasing the selected amount #: ../client/gtk/resource-table.c:226 msgid "Increase the selected amount" msgstr "Augmenter le montant sélectionné" #. Tooltip for the selected amount #: ../client/gtk/resource-table.c:243 msgid "Selected amount" msgstr "Montant sélectionné" #. Tooltip for the total selected amount #: ../client/gtk/resource-table.c:288 msgid "Total selected amount" msgstr "Montant total sélectionné" #. Tooltip when the bank cannot be emptied #: ../client/gtk/resource-table.c:307 msgid "The bank cannot be emptied" msgstr "La banque ne peut pas être vide" #: ../client/gtk/settingscreen.c:74 msgid "Yes" msgstr "Oui" #: ../client/gtk/settingscreen.c:76 ../client/gtk/settingscreen.c:240 msgid "No" msgstr "Non" #: ../client/gtk/settingscreen.c:87 ../client/gtk/settingscreen.c:187 msgid "Unknown" msgstr "Inconnu" #: ../client/gtk/settingscreen.c:121 msgid "No game in progress..." msgstr "Pas de parties en cours..." #. Label #: ../client/gtk/settingscreen.c:132 msgid "General settings" msgstr "Paramètres généraux" #: ../client/gtk/settingscreen.c:149 msgid "Number of players:" msgstr "Nombre de joueurs :" #: ../client/gtk/settingscreen.c:153 msgid "Victory point target:" msgstr "Pts de victoire requis :" #: ../client/gtk/settingscreen.c:157 msgid "Random terrain:" msgstr "Carte aléatoire :" #: ../client/gtk/settingscreen.c:161 msgid "Allow trade between players:" msgstr "Autoriser les échanges entre joueurs :" #: ../client/gtk/settingscreen.c:166 msgid "Allow trade only before building or buying:" msgstr "Autoriser les échanges uniquement avant de construire ou d'acheter :" #: ../client/gtk/settingscreen.c:171 msgid "Check victory only at end of turn:" msgstr "Vérifie la victoire uniquement à la fin du tour :" #: ../client/gtk/settingscreen.c:176 msgid "Amount of each resource:" msgstr "Nombre de chaque ressource :" #: ../client/gtk/settingscreen.c:190 msgid "Sevens rule:" msgstr "Règle des sept :" #: ../client/gtk/settingscreen.c:196 msgid "Use dice deck instead of dice:" msgstr "Utiliser des cartes-dés au lieu de dés :" #: ../client/gtk/settingscreen.c:201 msgid "Number of dice decks:" msgstr "Nombre paquets de cartes-dés :" #: ../client/gtk/settingscreen.c:207 msgid "Number of dice cards removed after shuffling:" msgstr "Nombre de cartes-dés retirées après le mélange :" #: ../client/gtk/settingscreen.c:214 msgid "Use the pirate to block ships:" msgstr "Utiliser le pirate pour bloquer les bateaux :" #: ../client/gtk/settingscreen.c:243 msgid "Island discovery bonuses:" msgstr "Bonus pour la découverte d'une île :" #. Label #: ../client/gtk/settingscreen.c:260 msgid "Building quotas" msgstr "Quotas de construction" #: ../client/gtk/settingscreen.c:277 msgid "Roads:" msgstr "Routes :" #: ../client/gtk/settingscreen.c:283 msgid "Settlements:" msgstr "Colonies :" #: ../client/gtk/settingscreen.c:289 msgid "Cities:" msgstr "Villes :" #: ../client/gtk/settingscreen.c:295 msgid "City walls:" msgstr "Remparts :" #: ../client/gtk/settingscreen.c:301 msgid "Ships:" msgstr "Navires :" #: ../client/gtk/settingscreen.c:307 msgid "Bridges:" msgstr "Ponts :" #. Label #: ../client/gtk/settingscreen.c:320 msgid "Development card deck" msgstr "Pioche des cartes de développement" #: ../client/gtk/settingscreen.c:336 msgid "Road building cards:" msgstr "Cartes Construction de routes :" #: ../client/gtk/settingscreen.c:340 msgid "Monopoly cards:" msgstr "Cartes Monopole :" #: ../client/gtk/settingscreen.c:344 msgid "Year of plenty cards:" msgstr "Cartes Année faste :" #: ../client/gtk/settingscreen.c:348 msgid "Chapel cards:" msgstr "Cartes Chapelle :" #: ../client/gtk/settingscreen.c:352 msgid "Pioneer university cards:" msgstr "Cartes Université :" #: ../client/gtk/settingscreen.c:356 msgid "Governor's house cards:" msgstr "Cartes Palais du Gouverneur :" #: ../client/gtk/settingscreen.c:360 msgid "Library cards:" msgstr "Cartes Bibliothèque :" #: ../client/gtk/settingscreen.c:364 msgid "Market cards:" msgstr "Cartes Marché :" #: ../client/gtk/settingscreen.c:368 msgid "Soldier cards:" msgstr "Cartes Chevalier :" #. Dialog caption #: ../client/gtk/settingscreen.c:407 msgid "Current Game Settings" msgstr "Paramètres de la partie en cours" #. trade: you ask for something for free #: ../client/gtk/trade.c:205 #, c-format msgid "ask for %s for free" msgstr "demande %s gratuitement" #. trade: you give something away for free #: ../client/gtk/trade.c:210 #, c-format msgid "give %s for free" msgstr "donne %s gratuitement" #. trade: you trade something for something else #: ../client/gtk/trade.c:215 #, c-format msgid "give %s for %s" msgstr "donne %s contre %s" #. I want some resources, and give them some resources #: ../client/gtk/trade.c:242 #, c-format msgid "I want %s, and give them %s" msgstr "Je voudrais %s, et donner %s" #. Notification #: ../client/gtk/trade.c:348 #, c-format msgid "Quote received from %s." msgstr "Offre reçue de %s." #. Button text, trade: call for quotes from other players #: ../client/gtk/trade.c:539 msgid "_Call for Quotes" msgstr "_Appel d'offre" #. Button text: Trade page, accept selected quote #: ../client/gtk/trade.c:568 msgid "_Accept Quote" msgstr "_Accepter l'offre" #. Button text: Trade page, finish trading #: ../client/gtk/trade.c:574 msgid "_Finish Trading" msgstr "_Fin des échanges" #. Name of the development card #: ../common/cards.c:83 msgid "Road building" msgstr "Construction de route" #. Name of the development card #: ../common/cards.c:89 msgid "Year of plenty" msgstr "Année faste" #. Description of the 'Road Building' development card #: ../common/cards.c:118 msgid "Build two new roads" msgstr "Construire deux nouvelles routes" #. Description of the 'Monopoly' development card #: ../common/cards.c:121 msgid "" "Select a resource type and take every card of that type held by all other " "players" msgstr "" "Sélectionnez un type de ressource et prenez toutes les cartes de ce type " "possédées par les autres joueurs" #. Description of the 'Year of Plenty' development card #: ../common/cards.c:125 msgid "" "Take two resource cards of any type from the bank (cards may be of the same " "or different types)" msgstr "" "Prenez deux cartes de ressources de n'importe quel type à la banque (les " "cartes peuvent être les mêmes ou de type différent)" #. Description of a development card of 1 victory point #: ../common/cards.c:134 msgid "One victory point" msgstr "Un point de victoire" #. Description of the 'Soldier' development card #: ../common/cards.c:137 msgid "" "Move the robber to a different space and take one resource card from another " "player adjacent to that space" msgstr "" "Déplacez le voleur à un autre endroit et prenez une carte de ressource à un " "joueur adjacent à cet espace" #: ../common/game.c:523 #, c-format msgid "Obsolete rule: '%s'\n" msgstr "Règle obsolète : '%s'\n" #: ../common/game.c:530 #, c-format msgid "" "The game uses the new rule '%s', which is not yet supported. Consider " "upgrading.\n" msgstr "" "Cette partie utilise la nouvelle règle '%s' alors qu'elle n'est pas encore " "supportée. Vous devriez faire une mise à jour.\n" #: ../common/game.c:924 ../common/game.c:955 msgid "This game cannot be won." msgstr "Cette partie ne peut pas être gagnée." #: ../common/game.c:925 msgid "There is no land." msgstr "Il n'y a pas de terrain." #: ../common/game.c:959 msgid "It is possible that this game cannot be won." msgstr "Il est possible que ce jeu ne puissent pas être gagné." #: ../common/game.c:965 msgid "This game can be won by only building all settlements and cities." msgstr "" "Cette partie ne peut pas être gagnée uniquement en construisant des colonies " "et des villes." #: ../common/game.c:971 #, c-format msgid "" "Required victory points: %d\n" "Points obtained by building all: %d\n" "Points in development cards: %u\n" "Longest road/largest army: %d+%d\n" "Maximum island discovery bonus: %d\n" "Total: %d" msgstr "" "Points de victoire requis : %d\n" "Points obtenus en construisant tout : %d\n" "Points dans les cartes de développement : %u\n" "Route la plus longue / chevalier le plus puissant : %d+%d\n" "Bonus maximum pour la découverte d'îles : %d\n" "Total : %d" #: ../common/game-list.c:111 #, c-format msgid "Looking for games in '%s'\n" msgstr "Recherche de parties sur '%s'\n" #: ../common/game-list.c:113 #, c-format msgid "Game directory '%s' not found\n" msgstr "Répertoire de parties '%s' introuvable\n" #: ../common/game-list.c:131 #, c-format msgid "Unable to load game: '%s'\n" msgstr "Impossible de charger la partie : '%s'\n" #: ../common/game-list.c:151 msgid "No games available\n" msgstr "Aucune partie disponible\n" #: ../common/gtk/aboutbox.c:53 msgid "" "Pioneers is based upon the excellent\n" "Settlers of Catan board game.\n" msgstr "" "Pioneers est basé sur l'excellent\n" "jeu de plateau 'Les colons de Catane'.\n" # #. Translators: add your name here. Keep the list #. * alphabetically, do not remove any names, and add #. * \n after your name (except the last name). #. #: ../common/gtk/aboutbox.c:63 msgid "translator-credits" msgstr "" "LT-P\n" "Arnaud MALON\n" "Yusei\n" "Jean-Charles GRANGER\n" "\n" "Launchpad Contributions:\n" " Clément Lorteau https://launchpad.net/~northern-lights" #. Caption for result of checking victory points #: ../common/gtk/common_gtk.c:324 msgid "Victory Point Analysis" msgstr "Analyse des points de victoire" #. Tooltip for sevens rule normal #: ../common/gtk/game-rules.c:110 msgid "All sevens move the robber or pirate" msgstr "Sur 7, il faut déplacer le voleur ou le pirate" #. Tooltip for sevens rule reroll on 1st 2 turns #: ../common/gtk/game-rules.c:114 msgid "In the first two turns all sevens are rerolled" msgstr "Durant les 2 premier tours, on relance les 7" #. Tooltip for sevens rule reroll all #: ../common/gtk/game-rules.c:118 msgid "All sevens are rerolled" msgstr "Tous les 7 sont relancés" #: ../common/gtk/game-rules.c:129 msgid "Randomize terrain" msgstr "Carte aléatoire" #: ../common/gtk/game-rules.c:129 msgid "Randomize the terrain" msgstr "Carte aléatoire" #: ../common/gtk/game-rules.c:132 msgid "Use pirate" msgstr "Jouer avec le pirate" #: ../common/gtk/game-rules.c:133 msgid "Use the pirate to block ships" msgstr "Utiliser le pirate pour bloquer les bateaux" #: ../common/gtk/game-rules.c:135 msgid "Strict trade" msgstr "Échanges stricts" #: ../common/gtk/game-rules.c:136 msgid "Allow trade only before building or buying" msgstr "Autoriser les échanges uniquement avant de construire ou d'acheter" #: ../common/gtk/game-rules.c:138 msgid "Domestic trade" msgstr "Échanges commerciaux" #: ../common/gtk/game-rules.c:139 msgid "Allow trade between players" msgstr "Autoriser les échanges entre joueurs" #: ../common/gtk/game-rules.c:141 msgid "Victory at end of turn" msgstr "Victoire en fin de tour" #: ../common/gtk/game-rules.c:142 msgid "Check for victory only at end of turn" msgstr "Vérifie la victoire uniquement à la fin du tour" #: ../common/gtk/game-rules.c:145 msgid "Use dice deck" msgstr "Utiliser des cartes-dés" #: ../common/gtk/game-rules.c:147 msgid "Use a deck of 36 dice cards instead of real dice" msgstr "Utiliser 36 cartes-dés à la place de vrais dés" #. Label #: ../common/gtk/game-rules.c:155 msgid "Number of dice decks" msgstr "Nombre paquets de cartes-dés" #: ../common/gtk/game-rules.c:172 msgid "The number of dice decks (of 36 cards each)" msgstr "Nombre de paquets de cartes-dés (de 36 cartes chacun)" #. Label #: ../common/gtk/game-rules.c:180 msgid "Number of removed dice cards" msgstr "Nombre de cartes-dés retirées" #: ../common/gtk/game-rules.c:199 msgid "The number of dice cards that are removed after shuffling the deck" msgstr "Nombre de cartes-dés qui seront retirées après le mélange du paquet" #. Label #: ../common/gtk/game-rules.c:207 msgid "Island discovery bonuses" msgstr "Bonus pour la découverte d'une île" #. Tooltip for island bonus #: ../common/gtk/game-rules.c:219 msgid "A comma separated list of bonus points for discovering islands" msgstr "" "Liste des points de bonus (séparés par des virgules) pour la découverte des " "îles" #. Tooltip for the check button #: ../common/gtk/game-rules.c:237 msgid "Check and correct island discovery bonuses" msgstr "Vérifiez et corrigez les bonus pour la découverte d'une île" #. Label text for customising a game #: ../common/gtk/game-settings.c:105 msgid "Number of players" msgstr "Nombre de joueurs" #. Tooltip for 'Number of Players' #: ../common/gtk/game-settings.c:124 msgid "The number of players" msgstr "Nombre de joueurs" #. Label for customising a game #: ../common/gtk/game-settings.c:127 msgid "Victory point target" msgstr "Pts de victoire requis" #. Tooltip for Victory Point Target #: ../common/gtk/game-settings.c:147 msgid "The points needed to win the game" msgstr "Pts requis pour gagner : %i" #. Tooltip for the check button #: ../common/gtk/game-settings.c:161 msgid "Is it possible to win this game?" msgstr "Est-il possible de gagner ce jeu ?" #. Port indicator for a resource: trade 2 for 1 #: ../common/gtk/guimap.c:742 msgid "2:1" msgstr "2:1" #. Port indicator: trade 3 for 1 #. General port indicator #: ../common/gtk/guimap.c:745 ../common/gtk/guimap.c:770 msgid "3:1" msgstr "3:1" #. Port indicator for brick #: ../common/gtk/guimap.c:750 msgid "Brick port|B" msgstr "A" #. Port indicator for grain #: ../common/gtk/guimap.c:754 msgid "Grain port|G" msgstr "Bl" #. Port indicator for ore #: ../common/gtk/guimap.c:758 msgid "Ore port|O" msgstr "P" #. Port indicator for wool #: ../common/gtk/guimap.c:762 msgid "Wool port|W" msgstr "L" #. Port indicator for lumber #: ../common/gtk/guimap.c:766 msgid "Lumber port|L" msgstr "Bo" #. Tooltip for the list of metaservers #: ../common/gtk/metaserver.c:85 msgid "Select a metaserver" msgstr "Choisir un méta-serveur" #. Tooltip for the list of games #: ../common/gtk/select-game.c:135 msgid "Select a game" msgstr "Sélectionnez une partie" #. Log prefix #: ../common/log.c:58 msgid "*ERROR* " msgstr "*ERREUR* " #. Log prefix #: ../common/log.c:66 msgid "Chat: " msgstr "Dialogue : " #. Log prefix #: ../common/log.c:70 msgid "Resource: " msgstr "Ressources : " #. Log prefix #: ../common/log.c:74 msgid "Build: " msgstr "Construction : " #. Log prefix #: ../common/log.c:78 msgid "Dice: " msgstr "Dés : " #. Log prefix #: ../common/log.c:82 msgid "Steal: " msgstr "Vole : " #. Log prefix #: ../common/log.c:86 msgid "Trade: " msgstr "Échanges : " #. Log prefix #: ../common/log.c:90 msgid "Development: " msgstr "Carte de développement : " #. Log prefix #: ../common/log.c:94 msgid "Army: " msgstr "Armée : " #. Log prefix #: ../common/log.c:98 msgid "Road: " msgstr "Route : " #. Log prefix #: ../common/log.c:102 msgid "*BEEP* " msgstr "*BIP* " #. Log prefix #: ../common/log.c:108 msgid "Player 1: " msgstr "Joueur 1 : " #. Log prefix #: ../common/log.c:112 msgid "Player 2: " msgstr "Joueur 2 : " #. Log prefix #: ../common/log.c:116 msgid "Player 3: " msgstr "Joueur 3 : " #. Log prefix #: ../common/log.c:120 msgid "Player 4: " msgstr "Joueur 4 : " #. Log prefix #: ../common/log.c:124 msgid "Player 5: " msgstr "Joueur 5 : " #. Log prefix #: ../common/log.c:128 msgid "Player 6: " msgstr "Joueur 6 : " #. Log prefix #: ../common/log.c:132 msgid "Player 7: " msgstr "Joueur 7 : " #. Log prefix #: ../common/log.c:136 msgid "Player 8: " msgstr "Joueur 8 : " #. Log prefix #: ../common/log.c:140 msgid "Spectator: " msgstr "Spectateur :" #. Log prefix #: ../common/log.c:144 msgid "** UNKNOWN MESSAGE TYPE ** " msgstr "** TYPE DE MESSAGE INCONNU ** " #: ../common/network.c:143 #, c-format msgid "Error writing to socket: %s\n" msgstr "Erreur lors de l'écriture du socket : %s\n" #: ../common/network.c:154 msgid "Could not send all data\n" msgstr "Impossible d'envoyer toutes les données\n" #: ../common/network.c:202 msgid "Read buffer overflow - disconnecting\n" msgstr "Débordement du tampon de lecture - déconnexion\n" #: ../common/network.c:226 #, c-format msgid "Error reading socket: %s\n" msgstr "Erreur lors de la lecture du socket : %s\n" #: ../common/network.c:378 #, c-format msgid "Error connecting to %s: %s\n" msgstr "Erreur lors de la connexion à %s : %s\n" #: ../common/network.c:566 ../common/network.c:567 msgid "unknown" msgstr "inconnu" #: ../common/state.c:203 #, c-format msgid "Connecting to %s, port %s\n" msgstr "Connexion à %s, port %s\n" #. Error message #: ../common/state.c:333 msgid "State stack overflow. Stack dump sent to standard error.\n" msgstr "" "Débordement de la pile d'état. Copie de la pile sur la sortie d'erreur.\n" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:113 msgid "_Hill" msgstr "_Colline" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:115 msgid "_Field" msgstr "C_hamps" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:117 msgid "_Mountain" msgstr "_Montagne" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:119 msgid "_Pasture" msgstr "_Pré" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:121 msgid "F_orest" msgstr "F_orêt" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:123 msgid "_Desert" msgstr "_Désert" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:125 msgid "_Sea" msgstr "Me_r" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:127 msgid "_Gold" msgstr "_Or" #. Use an unique shortcut key for each resource #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:129 ../editor/gtk/editor.c:144 msgid "_None" msgstr "Aucu_n" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:134 msgid "_Brick (2:1)" msgstr "_Argile (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:136 msgid "_Grain (2:1)" msgstr "_Blé (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:138 msgid "_Ore (2:1)" msgstr "_Pierre (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:140 msgid "_Wool (2:1)" msgstr "_Laine (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:142 msgid "_Lumber (2:1)" msgstr "B_ois (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:146 msgid "_Any (3:1)" msgstr "N'importe _quoi (3:1)" #. East #: ../editor/gtk/editor.c:151 msgid "East|E" msgstr "E" #. North east #: ../editor/gtk/editor.c:153 msgid "North East|NE" msgstr "NE" #. North west #: ../editor/gtk/editor.c:155 msgid "North West|NW" msgstr "NO" #. West #: ../editor/gtk/editor.c:157 msgid "West|W" msgstr "O" #. South west #: ../editor/gtk/editor.c:159 msgid "South West|SW" msgstr "SO" #. South east #: ../editor/gtk/editor.c:161 msgid "South East|SE" msgstr "SE" #: ../editor/gtk/editor.c:368 msgid "Place a hill hex" msgstr "Placez un hexagone \"colline\"" #: ../editor/gtk/editor.c:369 msgid "Place a field hex" msgstr "Placez un hexagone \"champ\"" #: ../editor/gtk/editor.c:370 msgid "Place a mountain hex" msgstr "Placez un hexagone \"montagne\"" #: ../editor/gtk/editor.c:371 msgid "Place a pasture hex" msgstr "Placez un hexagone \"prairie\"" #: ../editor/gtk/editor.c:372 msgid "Place a forest hex" msgstr "Placez un hexagone \"forêt\"" #: ../editor/gtk/editor.c:373 msgid "Place a desert hex" msgstr "Placez un hexagone \"désert\"" #: ../editor/gtk/editor.c:374 msgid "Place a sea hex" msgstr "Placez un hexagone \"mer\"" #: ../editor/gtk/editor.c:375 msgid "Place a gold hex" msgstr "Placez un hexagone \"or\"" #: ../editor/gtk/editor.c:376 msgid "Clear the hex" msgstr "Effacer cet hexagone" #: ../editor/gtk/editor.c:384 msgid "Place a 2 chit" msgstr "Placez un \"2\"" #: ../editor/gtk/editor.c:385 msgid "Place a 3 chit" msgstr "Placez un \"3\"" #: ../editor/gtk/editor.c:386 msgid "Place a 4 chit" msgstr "Placez un \"4\"" #: ../editor/gtk/editor.c:387 msgid "Place a 5 chit" msgstr "Placez un \"5\"" #: ../editor/gtk/editor.c:388 msgid "Place a 6 chit" msgstr "Placez un \"6\"" #: ../editor/gtk/editor.c:390 msgid "Place an 8 chit" msgstr "Placez un \"8\"" #: ../editor/gtk/editor.c:391 msgid "Place a 9 chit" msgstr "Placez un \"9\"" #: ../editor/gtk/editor.c:392 msgid "Place a 10 chit" msgstr "Placez un \"10\"" #: ../editor/gtk/editor.c:393 msgid "Place an 11 chit" msgstr "Placez un \"11\"" #: ../editor/gtk/editor.c:394 msgid "Place a 12 chit" msgstr "Placez un \"12\"" #: ../editor/gtk/editor.c:400 msgid "Place a brick 2:1 port" msgstr "Placez un port 2:1 \"argile\"" #: ../editor/gtk/editor.c:401 msgid "Place a grain 2:1 port" msgstr "Placez un port 2:1 \"blé\"" #: ../editor/gtk/editor.c:402 msgid "Place an ore 2:1 port" msgstr "Placez un port 2:1 \"minerai\"" #: ../editor/gtk/editor.c:403 msgid "Place a wool 2:1 port" msgstr "Placez un port 2:1 \"laine\"" #: ../editor/gtk/editor.c:404 msgid "Place a lumber 2:1 port" msgstr "Placez un port 2:1 \"bois\"" #. Tooltip to remove a port tile in the editor #: ../editor/gtk/editor.c:406 msgid "Remove a port" msgstr "Supprimer un port" #: ../editor/gtk/editor.c:407 msgid "Place a 3:1 port" msgstr "Placez un port 3:1" #: ../editor/gtk/editor.c:437 msgid "" "Select the terrain type with the context menu on the left click or toggle a " "node to exclude it from being used during the setup phase" msgstr "" "Sélectionnez le type de terrain avec le menu contextuel du clic gauche, ou " "permutez un sommet pour ne pas l'utiliser pendant la phase de paramétrage" #: ../editor/gtk/editor.c:572 msgid "Insert a row" msgstr "Insérer une ligne" #: ../editor/gtk/editor.c:573 msgid "Delete a row" msgstr "Supprimer une ligne" #: ../editor/gtk/editor.c:574 msgid "Insert a column" msgstr "Insérer une colonne" #: ../editor/gtk/editor.c:575 msgid "Delete a column" msgstr "Supprimer une colonne" #. Label #: ../editor/gtk/editor.c:978 msgid "_Title" msgstr "_Titre" #. Label #: ../editor/gtk/editor.c:991 msgid "_Description" msgstr "_Description" #. Label #: ../editor/gtk/editor.c:1009 msgid "_Comments" msgstr "_Commentaires" #. Menu item #: ../editor/gtk/editor.c:1139 msgid "Shuffle" msgstr "Mélanger" #. Caption #. Game settings frame #: ../editor/gtk/editor.c:1294 ../server/gtk/main.c:968 msgid "Game parameters" msgstr "Paramètres de la partie" #. Caption #. Rules frame #: ../editor/gtk/editor.c:1297 ../server/gtk/main.c:983 msgid "Rules" msgstr "Règles" #. Caption #: ../editor/gtk/editor.c:1299 msgid "Resources" msgstr "Ressources" #. Caption #: ../editor/gtk/editor.c:1302 msgid "Buildings" msgstr "Constructions" #. The game in the editor does not have a name yet #: ../editor/gtk/editor.c:1319 msgid "Untitled" msgstr "Sans titre" #. Application caption #: ../editor/gtk/editor.c:1324 ../editor/gtk/pioneers-editor.desktop.in.h:1 msgid "Pioneers Editor" msgstr "Éditeur de partie" #: ../editor/gtk/editor.c:1434 #, c-format msgid "Failed to load '%s'" msgstr "N'a pas réussi à charger '%s'" #: ../editor/gtk/editor.c:1482 #, c-format msgid "Failed to save to '%s'" msgstr "N'a pas réussi à enregistrer '%s'" #. Name of the file filter: show only games #: ../editor/gtk/editor.c:1499 msgid "Games" msgstr "Parties" #. Name of the file filter: show all files #: ../editor/gtk/editor.c:1505 msgid "Unfiltered" msgstr "Non filtré" #. Dialog caption #: ../editor/gtk/editor.c:1517 msgid "Open Game" msgstr "Ouvrir une partie" #. Button text #: ../editor/gtk/editor.c:1524 msgid "_Open" msgstr "_Ouvrir" #. Dialog caption #: ../editor/gtk/editor.c:1558 msgid "Save As..." msgstr "Enregistrer sous..." #. Button text #: ../editor/gtk/editor.c:1565 msgid "Save _As" msgstr "Enregistrer sous" #. Dialog caption #: ../editor/gtk/editor.c:1606 msgid "Change Title" msgstr "Changer le nom" #. Label #: ../editor/gtk/editor.c:1631 msgid "New title:" msgstr "Nouveau titre :" #. Caption of about box #: ../editor/gtk/editor.c:1688 msgid "About Pioneers Game Editor" msgstr "_À propos de l'éditeur de parties" #. Menu entry #: ../editor/gtk/editor.c:1718 msgid "_File" msgstr "_Fichier" #. Menu entry #: ../editor/gtk/editor.c:1728 msgid "_New" msgstr "_Nouveau" #: ../editor/gtk/editor.c:1729 msgid "Create a new game" msgstr "Créer une nouvelle partie" #. Menu entry #: ../editor/gtk/editor.c:1732 msgid "_Open..." msgstr "_Ouvrir..." #. Tooltip for Open menu entry #: ../editor/gtk/editor.c:1734 msgid "Open an existing game" msgstr "Ouvrir une partie existante" #. Menu entry #: ../editor/gtk/editor.c:1737 msgid "_Save" msgstr "Enregi_strer" #. Tooltip for Save menu entry #: ../editor/gtk/editor.c:1739 msgid "Save game" msgstr "Enregistrer une partie" #. Menu entry #: ../editor/gtk/editor.c:1742 msgid "Save _As..." msgstr "Enregistrer sous..." #. Tooltip for Save As menu entry #: ../editor/gtk/editor.c:1745 msgid "Save as" msgstr "Enregistrer sous" #. Menu entry #: ../editor/gtk/editor.c:1748 msgid "Change _Title" msgstr "Changer le _titre" #. Tooltip for Change Title menu entry #: ../editor/gtk/editor.c:1750 msgid "Change game title" msgstr "Changer le nom de la partie" #. Menu entry #: ../editor/gtk/editor.c:1753 ../server/gtk/main.c:97 msgid "_Check Victory Point Target" msgstr "Vérifier les points de vi_ctoire requis" #. Tooltip for Check Victory Point Target menu entry #. Tooltop for Check Victory Point Target menu entry #: ../editor/gtk/editor.c:1756 ../server/gtk/main.c:100 msgid "Check whether the game can be won" msgstr "Vérifier si le jeu peut être gagné" #. Tooltip for Quit menu entry #: ../editor/gtk/editor.c:1761 msgid "Quit" msgstr "Quitter" #. Menu entry #: ../editor/gtk/editor.c:1783 msgid "_About Pioneers Editor" msgstr "_À propos de l'éditeur de partie" #. Tooltip for About Pioneers Editor menu entry #: ../editor/gtk/editor.c:1785 msgid "Information about Pioneers Editor" msgstr "Informations à propos de l'éditeur de partie" #. Long help for commandline option (editor): filename #: ../editor/gtk/editor.c:1838 msgid "Open this file" msgstr "Ouvrir le fichier" #. Commandline option for editor: filename #. Commandline metaserver: pidfile argument #: ../editor/gtk/editor.c:1840 ../metaserver/main.c:615 msgid "filename" msgstr "nom de fichier" #. Long description in the command line: --help #: ../editor/gtk/editor.c:1877 msgid "- Editor for games of Pioneers" msgstr "- Éditeur de parties pour Pioneers" #. Error message #: ../editor/gtk/editor.c:1921 ../server/gtk/main.c:1256 #, c-format msgid "Building menus failed: %s" msgstr "Échec de la construction des menus : %s" #. Tab page name #: ../editor/gtk/editor.c:1951 msgid "Settings" msgstr "Préférences" #. Tab page name #: ../editor/gtk/editor.c:1954 msgid "Comments" msgstr "Commentaires" #: ../editor/gtk/game-resources.c:48 msgid "Resource count" msgstr "Nombre de ressources" #: ../editor/gtk/pioneers-editor.desktop.in.h:2 msgid "Create your own game for Pioneers" msgstr "Créez votre propre partie de Pioneers" #: ../editor/gtk/pioneers-editor.desktop.in.h:3 msgid "game;board;create;edit;layout;Pioneers;Settlers;" msgstr "jeu;plateau;créer;éditer;carte;Pioneers;Colons;" #. Commandline metaserver: daemon #: ../metaserver/main.c:610 msgid "Daemonize the metaserver on start" msgstr "Démoniser le méta-serveur au démarrage" #. Commandline metaserver: pidfile #: ../metaserver/main.c:613 msgid "Pidfile to create when daemonizing (implies -d)" msgstr "Fichier PID à créer lors de la démonisation (implique -d)" #. Commandline metaserver: redirect #: ../metaserver/main.c:618 msgid "Redirect clients to another metaserver" msgstr "Rediriger les clients vers un autre méta-serveur" #. Commandline metaserver: server #: ../metaserver/main.c:621 msgid "Use this hostname when creating new games" msgstr "Utiliser ce nom d'hôte lors de la création de nouvelles parties" #. Commandline metaserver: server argument #: ../metaserver/main.c:623 msgid "hostname" msgstr "nom d'hôte" #. Commandline metaserver: port-range #: ../metaserver/main.c:626 msgid "Use this port range when creating new games" msgstr "Utiliser cette plage de ports lors de la création de nouvelles parties" #. Commandline metaserver: port-range argument #: ../metaserver/main.c:628 msgid "from-to" msgstr "de-à" #. Commandline option of metaserver: syslog-debug #: ../metaserver/main.c:634 msgid "Debug syslog messages" msgstr "Messages de débogage système (syslog)" #. Long description in the commandline for metaserver: help #: ../metaserver/main.c:675 msgid "- Metaserver for Pioneers" msgstr "- Méta-serveur pour Pioneers" #: ../metaserver/main.c:691 #, c-format msgid "metaserver protocol:" msgstr "protocole du méta-serveur :" #: ../server/avahi.c:68 msgid "Avahi registration successful.\n" msgstr "Enregistrement auprès du serveur Avahi réussi.\n" #: ../server/avahi.c:78 #, c-format msgid "Avahi service name collision, renaming service to '%s'.\n" msgstr "" "Collision de nom pour le serveur Avahi, renommage du service en '%s'.\n" #. Some kind of failure happened while we were registering #: ../server/avahi.c:89 #, c-format msgid "Avahi error: %s\n" msgstr "Erreur Avahi : %s\n" #: ../server/avahi.c:113 ../server/avahi.c:145 ../server/avahi.c:155 #: ../server/avahi.c:191 ../server/avahi.c:212 ../server/avahi.c:226 #, c-format msgid "Avahi error: %s, %s\n" msgstr "Erreur Avahi : %s, %s\n" #: ../server/avahi.c:213 ../server/avahi.c:227 msgid "Unable to register Avahi server" msgstr "Impossible de s'enregistrer sur le serveur Avahi" #: ../server/avahi.c:260 msgid "Unregistering Avahi.\n" msgstr "Désenregistrement auprès du serveur Avahi.\n" #. Menu entry #: ../server/gtk/main.c:108 msgid "_About Pioneers Server" msgstr "_À propos du serveur de Pioneers" #. Tooltop for About Pioneers Server menu entry #: ../server/gtk/main.c:110 msgid "Information about Pioneers Server" msgstr "Information sur le serveur de Pioneers" #: ../server/gtk/main.c:234 msgid "Stop Server" msgstr "Arrêter le serveur" #: ../server/gtk/main.c:235 msgid "Start Server" msgstr "Démarrer le serveur" #: ../server/gtk/main.c:237 ../server/gtk/main.c:996 msgid "Stop the server" msgstr "Arrêter le serveur" #: ../server/gtk/main.c:238 msgid "Start the server" msgstr "Démarrer le serveur" #: ../server/gtk/main.c:395 #, c-format msgid "Player %s from %s entered\n" msgstr "Arrivée du joueur %s depuis %s\n" #: ../server/gtk/main.c:402 #, c-format msgid "Player %s from %s left\n" msgstr "Départ du joueur %s depuis %s\n" #: ../server/gtk/main.c:409 #, c-format msgid "Player %d is now %s\n" msgstr "Le joueur %d s'appelle maintenant %s\n" #: ../server/gtk/main.c:570 msgid "The port for the game server" msgstr "Le port du serveur" #. register_toggle #: ../server/gtk/main.c:579 msgid "Register server" msgstr "Annoncer le serveur" #: ../server/gtk/main.c:587 msgid "Register this game at the metaserver" msgstr "Annoncer cette partie sur le méta-serveur" #. hostname label #: ../server/gtk/main.c:618 msgid "Reported hostname" msgstr "Nom d'hôte" #: ../server/gtk/main.c:633 msgid "" "The public name of this computer (needed when playing behind a firewall)" msgstr "" "Le nom de cet ordinateur (nécessaire pour jouer depuis derrière un pare-feu)" #. random toggle #: ../server/gtk/main.c:652 msgid "Random turn order" msgstr "Tours de jeu aléatoires" #: ../server/gtk/main.c:659 msgid "Randomize turn order" msgstr "Rendre les tours de jeu aléatoires" #. Tooltip for server connection overview #: ../server/gtk/main.c:730 msgid "Shows all players and spectators connected to the server" msgstr "Montrer tous les joueurs et spectateurs connectés au serveur" #. Label for column Connected #: ../server/gtk/main.c:735 msgid "Connected" msgstr "Connecté" #. Tooltip for column Connected #: ../server/gtk/main.c:742 msgid "Is the player currently connected?" msgstr "Est-ce que le joueur est bien connecté ?" #. Label for column Name #: ../server/gtk/main.c:747 msgid "Name" msgstr "Nom" #. Tooltip for column Name #: ../server/gtk/main.c:754 msgid "Name of the player" msgstr "Nom du joueur" #. Label for column Location #: ../server/gtk/main.c:758 msgid "Location" msgstr "Adresse" #. Tooltip for column Location #: ../server/gtk/main.c:765 msgid "Host name of the player" msgstr "Adresse du joueur" #. Label for column Number #: ../server/gtk/main.c:771 msgid "Number" msgstr "Numéro" #. Tooltip for column Number #: ../server/gtk/main.c:778 msgid "Player number" msgstr "Numéro du joueur" #. Label for column Role #: ../server/gtk/main.c:784 msgid "Role" msgstr "Rôle" #. Tooltip for column Role #: ../server/gtk/main.c:788 msgid "Player or spectator" msgstr "Joueur ou spectateur" #. Button text #: ../server/gtk/main.c:825 msgid "Launch Pioneers Client" msgstr "Démarrer le client Pioneers" #. Tooltip #: ../server/gtk/main.c:839 msgid "Launch the Pioneers client" msgstr "Démarrer le client Pioneers" #. ai chat toggle #: ../server/gtk/main.c:868 msgid "Enable chat" msgstr "Discussion autorisée" #. Tooltip #: ../server/gtk/main.c:875 msgid "Enable chat messages" msgstr "Autoriser les messages" #. Button text #: ../server/gtk/main.c:884 msgid "Add Computer Player" msgstr "Ajouter une IA" #. Tooltip #: ../server/gtk/main.c:892 msgid "Add a computer player to the game" msgstr "Ajouter une IA" #. Tooltip #: ../server/gtk/main.c:925 msgid "Messages from the server" msgstr "Messages du serveur" #: ../server/gtk/main.c:961 msgid "Game settings" msgstr "Paramètres de la partie" #. server frame #: ../server/gtk/main.c:972 msgid "Server parameters" msgstr "Paramètres du serveur" #: ../server/gtk/main.c:992 msgid "Running game" msgstr "Partie en cours" #. player connected frame #: ../server/gtk/main.c:1008 msgid "Players connected" msgstr "Joueurs connectés" #. ai frame #: ../server/gtk/main.c:1012 msgid "Computer players" msgstr "IA" #. message frame #: ../server/gtk/main.c:1024 msgid "Messages" msgstr "Messages" #. Caption of about box #: ../server/gtk/main.c:1150 msgid "About the Pioneers Game Server" msgstr "A propos du serveur de parties Pioneers" # #. Wait for all players to disconnect, #. * then enable the UI #. #: ../server/gtk/main.c:1158 msgid "The game is over.\n" msgstr "La partie est terminée.\n" #. Long description in the commandline for server-gtk: help #. Long description in the commandline for server-console: help #: ../server/gtk/main.c:1212 ../server/main.c:194 msgid "- Host a game of Pioneers" msgstr "- Héberger une partie de Pioneers" #. Name in the titlebar of the server #: ../server/gtk/main.c:1236 ../server/gtk/pioneers-server-gtk.desktop.in.h:1 msgid "Pioneers Server" msgstr "Serveur Pioneers" #: ../server/gtk/pioneers-server-gtk.desktop.in.h:2 msgid "Host a game of Pioneers" msgstr "Héberger une partie de Pioneers" #: ../server/gtk/pioneers-server-gtk.desktop.in.h:3 msgid "game;board;server;host;Pioneers;Settlers;" msgstr "jeu;plateau;serveur;hôte;Pioneers;Colons;" #. Commandline server-console: game-title #: ../server/main.c:80 msgid "Game title to use" msgstr "Nom de la partie" #. Commandline server-console: file #: ../server/main.c:83 msgid "Game file to use" msgstr "Fichier de partie à utiliser" #. Commandline server-console: port #: ../server/main.c:86 msgid "Port to listen on" msgstr "Port à écouter" #. Commandline server-console: players #: ../server/main.c:89 msgid "Override number of players" msgstr "Outrepasser le nombre de joueurs" #. Commandline server-console: points #: ../server/main.c:92 msgid "Override number of points needed to win" msgstr "Outrepasser le nombre de points requis pour gagner" #. Commandline server-console: seven-rule #: ../server/main.c:95 msgid "Override seven-rule handling" msgstr "Outrepasser la gestion de la règle des 7" #. Commandline server-console: dice-deck #: ../server/main.c:98 msgid "Override dice-deck handling" msgstr "Outrepasser la gestion des cartes-dés" #. Commandline server-console: num-dice-decks #: ../server/main.c:101 msgid "Override num-dice-decks handling" msgstr "Outrepasser le nombre de cartes dans la gestion des cartes-dés" #. Commandline server-console: num-removed-dice-cards #: ../server/main.c:105 msgid "Override num-removed-dice-cards handling" msgstr "" "Outrepasser le nombre de cartes supprimées dans la gestion des cartes-dés" #. Commandline server-console: terrain #: ../server/main.c:108 msgid "Override terrain type, 0=default 1=random" msgstr "Outrepasser le type de terrain : 0 = défaut, 1 = aléatoire" #. Commandline server-console: computer-players #: ../server/main.c:111 msgid "Add N computer players" msgstr "Ajouter N joueurs IA" #. Commandline server-console: register #: ../server/main.c:121 msgid "Register server with metaserver" msgstr "Annoncer cette partie sur le méta-serveur" #. Commandline server-console: metaserver #: ../server/main.c:124 msgid "Register at metaserver name (implies -r)" msgstr "Nom du méta-serveur d'enregistrement (implique -r)" #. Commandline server-console: hostname #: ../server/main.c:128 msgid "Use this hostname when registering" msgstr "Utiliser ce nom d'hôte lors de l'enregistrement" #. Commandline server-console: auto-quit #: ../server/main.c:135 msgid "Quit after a player has won" msgstr "Quitter après qu'un joueur ait gagné" #. Commandline server-console: empty-timeout #: ../server/main.c:138 msgid "Quit after N seconds with no players" msgstr "Quitter après N secondes sans joueurs" #. Commandline server-console: tournament #: ../server/main.c:141 msgid "Tournament mode, computer players added after N minutes" msgstr "Mode tournoi, joueurs IA ajoutés après N minutes" #. Commandline server-console: admin-port #: ../server/main.c:145 msgid "Admin port to listen on" msgstr "Port à écouter pour l'administration" #. Commandline server-console: admin-wait #: ../server/main.c:148 msgid "Don't start game immediately, wait for a command on admin port" msgstr "" "Ne pas démarrer la partie immédiatement, attendre une commande sur le port " "d'administration" #. Commandline server-console: fixed-seating-order #: ../server/main.c:154 msgid "Give players numbers according to the order they enter the game" msgstr "" "Attribuer aux joueurs un numéro selon leur ordre d'arrivée dans la partie" #. Commandline server-console: Short description of meta group #: ../server/main.c:200 msgid "Metaserver Options" msgstr "Options du méta-serveur" #. Commandline server-console: Long description of meta group #: ../server/main.c:202 msgid "Options for the metaserver" msgstr "Options du méta-serveur" #. Commandline server-console: Short description of misc group #: ../server/main.c:211 msgid "Miscellaneous Options" msgstr "Options diverses" #. Commandline server-console: Long description of misc group #: ../server/main.c:213 msgid "Miscellaneous options" msgstr "Options diverses" #. server-console commandline error #: ../server/main.c:239 #, c-format msgid "Cannot set game title and filename at the same time\n" msgstr "" "Impossible de définir le titre du jeu et le nom de fichier en même temps\n" #. server-console commandline error #: ../server/main.c:256 #, c-format msgid "Cannot load the parameters for the game\n" msgstr "Impossible de charger les paramètres de la partie\n" #. Error message #: ../server/main.c:305 ../server/main.c:324 #, c-format msgid "The network port (%s) for the admin interface is not available.\n" msgstr "" "Le port réseau (%s) pour l'interface d'administration n'est pas disponible.\n" #: ../server/meta.c:58 msgid "The connection to the metaserver is lost.\n" msgstr "La connexion au méta-serveur a été perdue.\n" #: ../server/meta.c:64 #, c-format msgid "An attempt to reconnect is scheduled in %u second.\n" msgid_plural "An attempt to reconnect is scheduled in %u seconds.\n" msgstr[0] "Une tentative de reconnexion est planifiée dans %u seconde.\n" msgstr[1] "Une tentative de reconnexion est planifiée dans %u secondes.\n" #: ../server/meta.c:83 msgid "Attempting to reconnect to the metaserver.\n" msgstr "Tentative de reconnexion au méta-serveur.\n" #: ../server/meta.c:311 #, c-format msgid "Register with the metaserver at %s.\n" msgstr "Enregistrement sur le méta-serveur %s.\n" #: ../server/meta.c:322 msgid "Unregister from the metaserver.\n" msgstr "Se désinscrire du méta-serveur.\n" #: ../server/player.c:142 msgid "chat too long" msgstr "dialogue trop long" #: ../server/player.c:159 msgid "name too long" msgstr "nom trop grand" #: ../server/player.c:191 msgid "ignoring unknown extension" msgstr "ignorer les extensions inconnues" #: ../server/player.c:228 ../server/player.c:298 msgid "The last player left, the tournament timer is reset." msgstr "Le dernier joueur est parti, le sablier du tournoi a été réinitialisé." #: ../server/player.c:262 ../server/player.c:643 msgid "No human players present. Bye." msgstr "Aucun joueur humain présent. Au revoir." #: ../server/player.c:269 msgid "Game starts, adding computer players." msgstr "La partie démarre, ajout des IA." #: ../server/player.c:311 #, c-format msgid "The game starts in %s minutes." msgstr "La partie démarre dans %s minutes." #: ../server/player.c:312 #, c-format msgid "The game starts in %s minute." msgstr "La partie démarre dans %s minute." # #. Default name for the AI when the computer_names file #. * is not found or empty. #. #: ../server/player.c:370 ../server/player.c:376 msgid "Computer Player" msgstr "IA" #: ../server/player.c:450 #, c-format msgid "Unable to determine the hostname of the player: %s" msgstr "Impossible de déterminer le nom d'hôte du joueur : %s" #. The game is over, don't accept new players #. Message to send to the client when the game is already over #. * when a connection is made. #: ../server/player.c:476 msgid "Sorry, game is over." msgstr "La partie est terminée." #: ../server/player.c:478 #, c-format msgid "Player from %s is refused: game is over\n" msgstr "Le joueur depuis %s a été rejeté : la partie est terminée\n" #: ../server/player.c:520 msgid "Name not changed: new name is already in use" msgstr "Le nom n'a pas été changé : le nouveau nom est déjà pris" #: ../server/player.c:638 ../server/server.c:38 msgid "Was hanging around for too long without players... bye.\n" msgstr "" "Le serveur fonctionne depuis trop longtemps sans qu'il n'y ait de joueurs... " "Au revoir.\n" #: ../server/player.c:723 msgid "The last human player left. Waiting for the return of a player." msgstr "Le dernier joueur humain est parti. Attendons le retour d'un joueur." #: ../server/player.c:744 msgid "Resuming the game." msgstr "Recommencer la partie." #. %s is the name of the reconnecting player #: ../server/player.c:870 #, c-format msgid "%s has reconnected." msgstr "%s s'est reconnecté." #: ../server/player.c:970 #, c-format msgid "Version mismatch: %s" msgstr "Versions incompatibles : %s" #: ../server/player.c:1007 msgid "This game will start soon." msgstr "La partie va bientôt démarrer." #. Server: preparing game #..... #: ../server/server.c:221 msgid "Preparing game" msgstr "Préparation de la partie" #: ../server/turn.c:254 msgid "Island Discovery Bonus" msgstr "Bonus de découverte d'île" #: ../server/turn.c:255 msgid "Additional Island Bonus" msgstr "Bonus d'île supplémentaire" #: ../server/turn.c:386 msgid "Tried to assign resources to NULL player.\n" msgstr "tentative d'attribuer des ressources au joueur NULL.\n" #. Cheat mode has been activated #: ../server/turn.c:516 msgid "The dice roll has been determined by the administrator." msgstr "Le jet de dés a été défini par l'administrateur." #~ msgid "Join the selected game" #~ msgstr "Rejoindre la partie sélectionnée" #~ msgid "Don't join a public game" #~ msgstr "Ne pas rejoindre une partie publique" #~ msgid "Create a new public game at the metaserver" #~ msgstr "Créer une nouvelle partie publique sur le méta-serveur" #~ msgid "Refresh the list of games" #~ msgstr "Rafraîchir la liste des parties" #~ msgid "Version:" #~ msgstr "Version :" #~ msgid "Homepage:" #~ msgstr "Page d'accueil :" #~ msgid "Authors:" #~ msgstr "Auteurs :" #~ msgid "Pioneers is translated to by:\n" #~ msgstr "Pioneers a été traduit en français par :\n" #~ msgid "Metaserver kicked us off\n" #~ msgstr "Le méta-serveur nous a expulsé\n" #~ msgid "" #~ "Note:\n" #~ "\tThe metaserver does not send information about the games.\n" #~ "\tPlease set appropriate values yourself." #~ msgstr "" #~ "Note :\n" #~ "\tLe meta-server n'envoit pas d'information sur les parties.\n" #~ "\tA vous de les définir vous-même." #~ msgid "Error checking connect status: %s\n" #~ msgstr "Erreur lors de la vérification de la connexion : %s\n" #~ msgid "Error connecting to host '%s': %s\n" #~ msgstr "Erreur lors de la connexion à '%s' : %s\n" #~ msgid "Error writing socket: %s\n" #~ msgstr "Erreur lors de l'écriture du socket : %s\n" #~ msgid "Error creating socket: %s\n" #~ msgstr "Erreur lors de la création du socket : %s\n" #~ msgid "Error setting socket close-on-exec: %s\n" #~ msgstr "Erreur lors de la définition du socket 'close-on-exec' : %s\n" #~ msgid "Error setting socket non-blocking: %s\n" #~ msgstr "Erreur lors de la définition du socket 'non-blocking' : %s\n" #~ msgid "Cannot resolve %s port %s: %s\n" #~ msgstr "Impossible de trouver le serveur %s port %s : %s\n" #~ msgid "Cannot resolve %s port %s: host not found\n" #~ msgstr "Impossible de trouver le serveur %s port %s : serveur introuvable\n" #~ msgid "Error creating struct addrinfo: %s" #~ msgstr "Erreur lors de la création de la structure addrinfo : %s" #~ msgid "Error creating listening socket: %s\n" #~ msgstr "Erreur lors de la création du socket d'écoute : %s\n" #~ msgid "Error during listen on socket: %s\n" #~ msgstr "Erreur lors de l'écoute sur le socket : %s\n" #~ msgid "Listening not yet supported on this platform." #~ msgstr "L'écoute n'est pas encore supportée sur cette plate-forme." #~ msgid "Error getting peer name: %s" #~ msgstr "Erreur en récupérant le nom du pair : %s" #~ msgid "Error resolving address: %s" #~ msgstr "Erreur durant la résolution de l'adresse : %s" #~ msgid "Net_get_peer_name not yet supported on this platform." #~ msgstr "Net_get_peer_name n'est pas encore supporté sur cette plate-forme." #~ msgid "Error accepting connection: %s" #~ msgstr "Erreur en acceptant la connexion : %s" #~ msgid "Admin port not available.\n" #~ msgstr "Port d'administration non disponible.\n" #~ msgid "Admin port is not set, cannot disable game start too\n" #~ msgstr "" #~ "Le port d'Admin n'est pas défini, impossible de désactiver le démarrage " #~ "du jeu\n" #~ msgid "Viewer %d" #~ msgstr "Spectateur %d" #~ msgid "viewer %d" #~ msgstr "spectateur %d" #~ msgid "I want" #~ msgstr "Je voudrais" #~ msgid "Give them" #~ msgstr "Accepter" #~ msgid "Viewer: " #~ msgstr "Spectateur : " #~ msgid "Number of AI Players" #~ msgstr "Nombre d'IA" #~ msgid "The number of AI players" #~ msgstr "Nombre d'IA" #~ msgid "Recent Games" #~ msgstr "Serveurs récents" #~ msgid "You may choose 1 resource" #~ msgstr "Vous pouvez choisir 1 ressource" #~ msgid "_Player name" #~ msgstr "_Pseudonyme du joueur" #~ msgid "The Pioneers Game" #~ msgstr "Pioneers" #~ msgid "Select the ship to steal from" #~ msgstr "Choisissez le navire à voler." #~ msgid "Select the building to steal from" #~ msgstr "Choisissez la construction à voler." #~ msgid "Development Card" #~ msgstr "Carte de développement" #~ msgid "Player Name:" #~ msgstr "Nom du joueur :" #~ msgid "I Want" #~ msgstr "Je voudrais" #~ msgid "Interplayer Trading Allowed?" #~ msgstr "Autoriser les échanges entre joueurs ?" #~ msgid "Trading allowed only before build/buy?" #~ msgstr "Autoriser les échanges avant de construire ?" #~ msgid "Check Victory Only At End Of Turn?" #~ msgstr "Vérifier la victoire uniquement à la fin du tour ?" #~ msgid "Sevens Rule:" #~ msgstr "Règle des sept :" #~ msgid "Use Pirate:" #~ msgstr "Jouer avec le pirate :" #~ msgid "Number of Players" #~ msgstr "Nombre de joueurs" #~ msgid "Development Cards" #~ msgstr "Cartes de développement" #~ msgid "Save as..." #~ msgstr "Enregistrer sous..." #~ msgid "Pioneers Game Editor" #~ msgstr "Éditeur de partie" #~ msgid "_Change title" #~ msgstr "_Changer le nom" #~ msgid "Random Turn Order" #~ msgstr "Tour de jeu aléatoire" #~ msgid "_Legend" #~ msgstr "_Légende" #~ msgid "bad scaling mode '%s'" #~ msgstr "mauvais mode scalaire '%s'" #~ msgid "Missing game directory\n" #~ msgstr "Répertoire du jeu absent\n" pioneers-15.5/po/da.po0000644000175000017500000027731713252242740011575 00000000000000# Danish translation for Pioneers # Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 # This file is distributed under the same license as the pioneers package. # carson (http://launchpad.net/~nanker), 2007. # msgid "" msgstr "" "Project-Id-Version: Pioneers 0.11.3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-03-14 16:51+0100\n" "PO-Revision-Date: 2008-04-29 09:36+0000\n" "Last-Translator: carson\n" "Language-Team: Danish \n" "Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2008-04-29 09:36+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Plural-Forms: nplurals=2; plural=(n!=1)\n" #. Commandline pioneersai: chromosome-file #: ../client/ai/ai.c:90 msgid "Chromosome File" msgstr "" #. Commandline pioneersai: server #: ../client/ai/ai.c:93 msgid "Server Host" msgstr "Server vært" #. Commandline pioneersai: port #: ../client/ai/ai.c:96 msgid "Server Port" msgstr "Server port" #. Commandline pioneersai: name #: ../client/ai/ai.c:99 msgid "Computer name (mandatory)" msgstr "Computer navn (frivilligt)" #. Commandline pioneersai: time #: ../client/ai/ai.c:102 msgid "Time to wait between turns (in milliseconds)" msgstr "Ventetid mellem ture (i millisekunder)" #. Commandline pioneersai: chat-free #: ../client/ai/ai.c:105 msgid "Stop computer player from talking" msgstr "Stop computerspillers snak" #. Commandline pioneersai: algorithm #: ../client/ai/ai.c:108 msgid "Type of computer player" msgstr "Type af computerspiller" #. Commandline option of ai: enable debug logging #. Commandline option of client: enable debug logging #. Commandline option of metaserver: enable debug logging #. Commandline option of server-gtk: enable debug logging #. Commandline option of server: enable debug logging #: ../client/ai/ai.c:111 ../client/gtk/offline.c:67 ../metaserver/main.c:631 #: ../server/gtk/main.c:1170 ../server/main.c:159 msgid "Enable debug messages" msgstr "Aktivér fejlmeddelelser" #. Commandline option of ai: version #. Commandline option of client: version #. Commandline option of editor: version #. Commandline option of metaserver: version #. Commandline option of server-gtk: version #. Commandline option of server-console: version #: ../client/ai/ai.c:114 ../client/gtk/offline.c:70 ../editor/gtk/editor.c:1843 #: ../metaserver/main.c:637 ../server/gtk/main.c:1173 ../server/main.c:114 msgid "Show version information" msgstr "Vis versionsinformation" #. Long description in the commandline for pioneersai: help #: ../client/ai/ai.c:125 msgid "- Computer player for Pioneers" msgstr "- computerspilller for Pioneers" #: ../client/ai/ai.c:137 ../client/gtk/offline.c:196 #: ../editor/gtk/editor.c:1888 ../metaserver/main.c:687 #: ../server/gtk/main.c:1223 ../server/main.c:226 #, c-format msgid "Pioneers version:" msgstr "Pioneers version:" #. ai commandline error #: ../client/ai/ai.c:160 #, c-format msgid "A name must be provided.\n" msgstr "Et navn skal angives.\n" #: ../client/ai/ai.c:171 #, c-format msgid "Type of computer player: %s\n" msgstr "Type af computerspiller: %s\n" #: ../client/ai/ai.c:202 msgid "The game is already full. I'm leaving." msgstr "Spillet er fyldt op. Jeg smutter." #. AI chat at the start of the turn #: ../client/ai/ai.c:230 msgid "Ok, let's go!" msgstr "OK lad os komme igang!" #. AI chat at the start of the turn #: ../client/ai/ai.c:232 msgid "I'll beat you all now! ;)" msgstr "Jeg slÃ¥r jer alle nu!:)" #. AI chat at the start of the turn #: ../client/ai/ai.c:234 msgid "Now for another try..." msgstr "Nu et nyt forsøg.." #. AI chat when one resource is received #: ../client/ai/ai.c:239 msgid "At least I get something..." msgstr "Endelig fÃ¥r jeg noget..." #. AI chat when one resource is received #: ../client/ai/ai.c:241 msgid "One is better than none..." msgstr "En er bedre end ingenting..." #. AI chat when more than one resource is received #: ../client/ai/ai.c:246 msgid "Wow!" msgstr "Wow!" #. AI chat when more than one resource is received #: ../client/ai/ai.c:248 msgid "Ey, I'm becoming rich ;)" msgstr "Ups, jeg er ved at blive rig :)" #. AI chat when more than one resource is received #: ../client/ai/ai.c:250 msgid "This is really a good year!" msgstr "Dette er et super Ã¥r!" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:255 msgid "You really don't deserve that much!" msgstr "Du fortjener ikke såå meget!" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:257 msgid "You don't know what to do with that many resources ;)" msgstr "Du aner jo ikke hvad du skal bruge sÃ¥ mange ressourser til :)" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:259 msgid "Ey, wait for my robber and lose all this again!" msgstr "Hej - vent pÃ¥ min røver og tab det hele igen!" #. AI chat when it moves the robber #: ../client/ai/ai.c:264 msgid "Hehe!" msgstr "He he !" #. AI chat when it moves the robber #: ../client/ai/ai.c:266 msgid "Go, robber, go!" msgstr "Afsted røver!" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:271 msgid "You bastard!" msgstr "Din snydepels!" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:273 msgid "Can't you move that robber somewhere else?!" msgstr "Kan du ikke flytte den røver et andet sted hen?!" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:275 msgid "Why always me??" msgstr "Hvorfor er det altid mig?!" #. AI chat when it must discard resources #: ../client/ai/ai.c:280 msgid "Oh no!" msgstr "Ã…h nej!" #. AI chat when it must discard resources #: ../client/ai/ai.c:282 msgid "Grrr!" msgstr "Hmmmm!" #. AI chat when it must discard resources #: ../client/ai/ai.c:284 msgid "Who the hell rolled that 7??" msgstr "Hvem fanden slog den 7'er??" #. AI chat when it must discard resources #: ../client/ai/ai.c:286 msgid "Why always me?!?" msgstr "Hvorfor altid mig??!" #. AI chat when other players must discard #: ../client/ai/ai.c:291 msgid "Say good bye to your cards... :)" msgstr "Hils farvel til dine kort... :)" #. AI chat when other players must discard #: ../client/ai/ai.c:293 msgid "*evilgrin*" msgstr "*ondt grin*" #. AI chat when other players must discard #: ../client/ai/ai.c:295 msgid "/me says farewell to your cards ;)" msgstr "/me siger farvel til dine kort ;)" #. AI chat when other players must discard #: ../client/ai/ai.c:297 msgid "That's the price for being rich... :)" msgstr "Det er prisen for at være rig... :)" #. AI chat when someone steals from it #: ../client/ai/ai.c:302 msgid "Ey! Where's that card gone?" msgstr "Ups! Hvor er det kort blevet af?" #. AI chat when someone steals from it #: ../client/ai/ai.c:304 msgid "Thieves! Thieves!!" msgstr "Tyve! Tyve!" #. AI chat when someone steals from it #: ../client/ai/ai.c:306 msgid "Wait for my revenge..." msgstr "Vent pÃ¥ min hævn..." #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:311 msgid "Oh no :(" msgstr "Ã…h nej :(" #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:313 msgid "Must this happen NOW??" msgstr "Skal det ske lige NU??" #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:315 msgid "Args" msgstr "Arhh" #. AI chat when it has the largest army #: ../client/ai/ai.c:320 msgid "Hehe, my soldiers rule!" msgstr "He he - det er mine soldater der styrer!" #. AI chat when another player that the largest army #: ../client/ai/ai.c:325 msgid "First robbing us, then grabbing the points..." msgstr "Først røver de os - badefter snupper de pointene..." #. AI chat when it has the longest road #: ../client/ai/ai.c:330 msgid "See that road!" msgstr "Se den vej!" #. AI chat when another player has the longest road #: ../client/ai/ai.c:335 msgid "Pf, you won't win with roads alone..." msgstr "Veje alene giver ingen sejer..." #: ../client/ai/ai.c:434 #, c-format msgid "Received error from server: %s. Quitting\n" msgstr "Modtog fejl fra server: %s. Afslutter\n" #. AI chat when it wins #: ../client/ai/ai.c:446 ../client/ai/genetic.c:2766 msgid "Yippie!" msgstr "Juhuu!" #. AI chat when another player wins #: ../client/ai/ai.c:449 ../client/ai/genetic.c:2777 msgid "My congratulations" msgstr "Tillykke !" #: ../client/ai/genetic.c:1277 ../client/ai/greedy.c:961 msgid "No settlements in stock to use for setup" msgstr "Ingen bebyggelse klar pÃ¥ lager til brug" #: ../client/ai/genetic.c:1284 ../client/ai/greedy.c:968 msgid "There is no place to setup a settlement" msgstr "Der er intet sted at placere en bebyggelse" #: ../client/ai/genetic.c:1311 ../client/ai/greedy.c:992 msgid "No roads in stock to use for setup" msgstr "Ingen veje klar pÃ¥ lager til brug" #: ../client/ai/genetic.c:1329 ../client/ai/greedy.c:1009 msgid "There is no place to setup a road" msgstr "Der er intet sted at placere en vej" #: ../client/ai/genetic.c:2651 ../client/ai/greedy.c:1784 msgid "Rejecting trade.\n" msgstr "Afviste handel\n" #. Translators: don't translate '/help' #: ../client/ai/lobbybot.c:80 msgid "" "Hello, welcome to the lobby. I am a simple robot. Type '/help' in the chat " "to see the list of commands I know." msgstr "" "Hej, velkommen til forhallen. Jeg er bare en simpel robot. Skriv '/help' i " "chatten for at fÃ¥ en liste over kommandoer jeg kender." #. Translators: don't translate '/help' #: ../client/ai/lobbybot.c:107 msgid "'/help' shows this message again" msgstr "'/help' viser denne meddelelse igen" #. Translators: don't translate '/why' #: ../client/ai/lobbybot.c:110 msgid "'/why' explains the purpose of this strange board layout" msgstr "'/why' forklarer formÃ¥let med denne mærkeligt udseende spilleplade" #. Translators: don't translate '/news' #: ../client/ai/lobbybot.c:113 msgid "'/news' tells the last released version" msgstr "'/news' fortæller om seneste version" #. AI chat that explains '/why' #: ../client/ai/lobbybot.c:119 msgid "" "This board is not intended to be a game that can be played. Instead, players " "can find eachother here, and decide which board they want to play. Then, one " "of the players will host the proposed game by starting a server, and " "registers it at the metaserver. The other players can subsequently " "disconnect from the lobby, and enter that game." msgstr "" "Denne spilleplade er ikke tænkt som et spil du kan spille. Istedet kan " "spillere finde hinanden og bestemme hvilken plade de vil spille pÃ¥. Derefter " "kan en af spillerne være vært for spillet ved at starte en server og " "registrere den som metaserver. De andre spillere kan herefter en af gangen " "forlade forhallen og deltage i spillet." #: ../client/ai/lobbybot.c:130 msgid "The last released version of Pioneers is" msgstr "Den seneste version af Pioneers er" #. The lobbybot leaves when a game is starting #: ../client/ai/lobbybot.c:146 msgid "The game is starting. I'm not needed anymore. Goodbye." msgstr "Spillet er under opstart. Jeg er ikke nødvendig længere. Farvel." #: ../client/common/client.c:105 msgid "Waiting" msgstr "Venter" #: ../client/common/client.c:107 msgid "Idle" msgstr "Ledig" #: ../client/common/client.c:532 msgid "We have been kicked out of the game.\n" msgstr "Vi er blevet smidt ud af spillet.\n" #. Network status: offline #: ../client/common/client.c:535 ../client/common/client.c:990 #: ../client/gtk/gui.c:1532 msgid "Offline" msgstr "Offline" #: ../client/common/client.c:556 #, c-format msgid "Error (%s): %s\n" msgstr "Fejl (%s): %s\n" #: ../client/common/client.c:565 ../client/common/client.c:576 #, c-format msgid "Notice: %s\n" msgstr "Bemærk: %s\n" #: ../client/common/client.c:693 #, c-format msgid "%s does not receive any %s, because the bank is empty.\n" msgstr "%s modtager ikke noget %s, fordi banken er tom.\n" #: ../client/common/client.c:706 #, c-format msgid "%s only receives %s, because the bank didn't have any more.\n" msgstr "%s modtager kun %s, fordi banken ikke har mere.\n" #: ../client/common/client.c:716 #, c-format msgid "%s receives %s.\n" msgstr "%s modtager %s.\n" #. Year of Plenty #: ../client/common/client.c:724 ../client/common/client.c:2663 #, c-format msgid "%s takes %s.\n" msgstr "%s tager %s.\n" #: ../client/common/client.c:729 #, c-format msgid "%s spent %s.\n" msgstr "%s bruger %s.\n" #: ../client/common/client.c:735 #, c-format msgid "%s is refunded %s.\n" msgstr "%s bliver refunderet %s.\n" #. %s = Player name #: ../client/common/client.c:753 #, c-format msgid "%s shuffled the dice deck.\n" msgstr "" #: ../client/common/client.c:772 #, c-format msgid "%s discarded %s.\n" msgstr "%s bortkastede %s\n" #: ../client/common/client.c:846 #, c-format msgid "%s has won the game with %d victory points!\n" msgstr "%s har vundet spillet med %d sejers point!\n" #: ../client/common/client.c:945 msgid "Loading" msgstr "Indlæser" #: ../client/common/client.c:991 msgid "Version mismatch." msgstr "Versioner passer ikke sammen." #: ../client/common/client.c:993 msgid "Version mismatch. Please make sure client and server are up to date.\n" msgstr "" "Versioner passer ikke sammen. Vær sikker pÃ¥ at klient og server er " "opdaterede.\n" #: ../client/common/client.c:1413 msgid "Build two settlements, each with a connecting" msgstr "Byg to bebyggelser, hver med en forbindelse" #: ../client/common/client.c:1416 msgid "Build a settlement with a connecting" msgstr "Byg en bebyggelse med en forbindelse" #: ../client/common/client.c:1419 msgid "road" msgstr "vej" #: ../client/common/client.c:1421 msgid "bridge" msgstr "bro" #: ../client/common/client.c:1423 msgid "ship" msgstr "skib" #: ../client/common/client.c:1430 msgid " or" msgstr " eller" #: ../client/common/client.c:1494 msgid "Waiting for your turn." msgstr "Vent pÃ¥ din tur." #: ../client/common/client.c:1546 ../client/gtk/interface.c:784 msgid "Select the building to steal from." msgstr "Vælg en bygning at stjæle fra." #: ../client/common/client.c:1568 ../client/gtk/interface.c:774 msgid "Select the ship to steal from." msgstr "Vælg et skib at stjæle fra." #: ../client/common/client.c:1652 ../client/gtk/interface.c:816 msgid "Place the robber." msgstr "Placér en røver." #: ../client/common/client.c:1702 msgid "Finish the road building action." msgstr "Afslut vejbygningen." #: ../client/common/client.c:1704 msgid "Build one road segment." msgstr "Byg et vejstykke." #: ../client/common/client.c:1706 msgid "Build two road segments." msgstr "Byg to vejstykker." #. Notification #: ../client/common/client.c:1979 ../client/common/client.c:2073 #: ../client/gtk/interface.c:432 msgid "It is your turn." msgstr "Det er din tur." #: ../client/common/client.c:2167 #, c-format msgid "Sorry, %s available.\n" msgstr "Beklager, %s tilgængelig.\n" #: ../client/common/client.c:2481 msgid "The game is over." msgstr "Spillet er slut." #. This development card is unique #: ../client/common/develop.c:67 #, c-format msgid "You bought the %s development card.\n" msgstr "Du købte %s udviklingskortet.\n" #. This development card is not unique #: ../client/common/develop.c:73 #, c-format msgid "You bought a %s development card.\n" msgstr "Du købte et %s udviklingskort.\n" #: ../client/common/develop.c:103 #, c-format msgid "%s bought a development card.\n" msgstr "%s købte et udviklingskort.\n" #: ../client/common/develop.c:121 #, c-format msgid "%s played the %s development card.\n" msgstr "%s spillede %s udviklingskortet.\n" #: ../client/common/develop.c:126 #, c-format msgid "%s played a %s development card.\n" msgstr "%s spillede et %s udviklingskort.\n" #: ../client/common/develop.c:138 msgid "You have run out of road segments.\n" msgstr "Du er løbet tør for vejstykker.\n" #. I get the cards #. $1=resources, $2=player that loses resources #: ../client/common/develop.c:179 #, c-format msgid "You get %s from %s.\n" msgstr "Du modtager %s fra %s.\n" #. I lose the cards #. $1=player that steals, $2=resources #: ../client/common/develop.c:185 #, c-format msgid "%s took %s from you.\n" msgstr "%s tog %s fra dig.\n" #: ../client/common/develop.c:192 #, c-format msgid "%s took %s from %s.\n" msgstr "%s tog %s fra %s.\n" #: ../client/common/player.c:125 ../server/player.c:567 #, c-format msgid "Spectator %d" msgstr "" #: ../client/common/player.c:128 #, c-format msgid "spectator %d" msgstr "" #: ../client/common/player.c:137 ../server/player.c:570 #, c-format msgid "Player %d" msgstr "Spiller %d" #: ../client/common/player.c:139 #, c-format msgid "player %d" msgstr "spiller %d" #: ../client/common/player.c:216 #, fuzzy, c-format msgid "New spectator: %s.\n" msgstr "Ny seer: %s.\n" #: ../client/common/player.c:219 ../client/common/player.c:235 #, c-format msgid "%s is now %s.\n" msgstr "%s er nu %s.\n" #: ../client/common/player.c:232 #, c-format msgid "Player %d is now %s.\n" msgstr "Spiller %d er nu %s.\n" #: ../client/common/player.c:269 #, c-format msgid "%s has quit.\n" msgstr "%s har forladt os.\n" #: ../client/common/player.c:278 msgid "There is no largest army.\n" msgstr "Der er ikke nogen største hær.\n" #: ../client/common/player.c:281 #, c-format msgid "%s has the largest army.\n" msgstr "%s har den største hær.\n" #: ../client/common/player.c:302 msgid "There is no longest road.\n" msgstr "Der erikke nogen længeste vej.\n" #: ../client/common/player.c:305 #, c-format msgid "%s has the longest road.\n" msgstr "%s har den længste vej.\n" #: ../client/common/player.c:326 #, c-format msgid "Waiting for %s." msgstr "Venter pÃ¥ %s." #. We are not in on the action #. someone stole a resource from someone else #: ../client/common/player.c:354 #, c-format msgid "%s stole a resource from %s.\n" msgstr "%s stjal en ressource fra %s.\n" #. $1=resource, $2=player name #: ../client/common/player.c:365 #, c-format msgid "You stole %s from %s.\n" msgstr "Du stjal %s fra %s.\n" #. $1=player name, $2=resource #: ../client/common/player.c:372 #, c-format msgid "%s stole %s from you.\n" msgstr "%s stjal %s fra dig.\n" #: ../client/common/player.c:406 #, c-format msgid "%s gave %s nothing!?\n" msgstr "%s gav %s ingenting!?\n" #. $1=giving player, $2=receiving player, $3=resources #: ../client/common/player.c:413 ../client/common/player.c:423 #, c-format msgid "%s gave %s %s for free.\n" msgstr "%s gav %s %s gratis.\n" #: ../client/common/player.c:431 #, c-format msgid "%s gave %s %s in exchange for %s.\n" msgstr "%s gav %s %s i bytte for %s.\n" #: ../client/common/player.c:462 #, c-format msgid "%s exchanged %s for %s.\n" msgstr "%s byttede %s for %s.\n" #: ../client/common/player.c:482 #, c-format msgid "%s built a road.\n" msgstr "%s byggede en vej.\n" #: ../client/common/player.c:494 #, c-format msgid "%s built a ship.\n" msgstr "%s byggede et skib.\n" #: ../client/common/player.c:507 #, c-format msgid "%s built a settlement.\n" msgstr "%s byggede en bebyggelse.\n" #: ../client/common/player.c:526 #, c-format msgid "%s built a city.\n" msgstr "%s byggede en by.\n" #: ../client/common/player.c:540 #, c-format msgid "%s built a city wall.\n" msgstr "%s byggede en bymur.\n" #. Error message #: ../client/common/player.c:551 #, c-format msgid "player_build_add called with BUILD_NONE for user %s\n" msgstr "player_build_add kaldte med BUILD_NONE for bruger %s\n" #: ../client/common/player.c:561 #, c-format msgid "%s built a bridge.\n" msgstr "%s byggede en bro.\n" #: ../client/common/player.c:587 #, c-format msgid "%s removed a road.\n" msgstr "%s fjernede en vej.\n" #: ../client/common/player.c:597 #, c-format msgid "%s removed a ship.\n" msgstr "%s fjernede et skib.\n" #: ../client/common/player.c:607 #, c-format msgid "%s removed a settlement.\n" msgstr "%s fjernede en bebyggelse.\n" #: ../client/common/player.c:618 #, c-format msgid "%s removed a city.\n" msgstr "%s fjernede en by.\n" #: ../client/common/player.c:632 #, c-format msgid "%s removed a city wall.\n" msgstr "%s fjernede en bymur.\n" #. Error message #: ../client/common/player.c:642 #, c-format msgid "player_build_remove called with BUILD_NONE for user %s\n" msgstr "player_build_remove kaldte med BUILD_NONE for bruger %s\n" #: ../client/common/player.c:651 #, c-format msgid "%s removed a bridge.\n" msgstr "%s fjernede en bro.\n" #: ../client/common/player.c:682 #, c-format msgid "%s has canceled a ship's movement.\n" msgstr "%s har fortrudt en flytning af et skib.\n" #: ../client/common/player.c:685 #, c-format msgid "%s moved a ship.\n" msgstr "%s flyttede et skib.\n" #. tell the user that someone got something #: ../client/common/player.c:705 #, c-format msgid "%s received %s.\n" msgstr "%s modtog %s.\n" #: ../client/common/player.c:724 msgid "server asks to lose invalid point.\n" msgstr "server spørger om at tabe fejlbehæftede point.\n" #. tell the user the point is lost #: ../client/common/player.c:730 #, c-format msgid "%s lost %s.\n" msgstr "%s tabte %s.\n" #: ../client/common/player.c:753 msgid "server asks to move invalid point.\n" msgstr "serser spørger om at flytte fejlbehæftede point.\n" #. tell the user someone (1) lost something (2) to someone else (3) #: ../client/common/player.c:760 #, c-format msgid "%s lost %s to %s.\n" msgstr "%s tabte %s til %s.\n" #: ../client/common/resource.c:35 msgid "brick" msgstr "mursten" #: ../client/common/resource.c:35 msgid "Brick" msgstr "Mursten" #: ../client/common/resource.c:36 msgid "grain" msgstr "korn" #: ../client/common/resource.c:36 msgid "Grain" msgstr "Korn" #: ../client/common/resource.c:37 msgid "ore" msgstr "malm" #: ../client/common/resource.c:37 msgid "Ore" msgstr "Malm" #: ../client/common/resource.c:38 msgid "wool" msgstr "uld" #: ../client/common/resource.c:38 msgid "Wool" msgstr "Uld" #: ../client/common/resource.c:39 msgid "lumber" msgstr "tømmer" #: ../client/common/resource.c:39 msgid "Lumber" msgstr "Tømmer" #: ../client/common/resource.c:40 msgid "no resource (bug)" msgstr "ingen ressourcer (fejl)" #: ../client/common/resource.c:40 msgid "No resource (bug)" msgstr "Ingen ressourcer (fejl)" #: ../client/common/resource.c:41 msgid "any resource (bug)" msgstr "nogle ressourcer (fejl)" #: ../client/common/resource.c:41 msgid "Any resource (bug)" msgstr "Enhver ressource (fej)" #: ../client/common/resource.c:42 msgid "gold" msgstr "guld" #: ../client/common/resource.c:42 ../client/gtk/legend.c:41 msgid "Gold" msgstr "Guld" #: ../client/common/resource.c:47 msgid "a brick card" msgstr "et murstens kort" #: ../client/common/resource.c:47 #, c-format msgid "%d brick cards" msgstr "%d murstens kort" #: ../client/common/resource.c:48 msgid "a grain card" msgstr "et korn kort" #: ../client/common/resource.c:48 #, c-format msgid "%d grain cards" msgstr "%d korn kort" #: ../client/common/resource.c:49 msgid "an ore card" msgstr "et malm kort" #: ../client/common/resource.c:49 #, c-format msgid "%d ore cards" msgstr "%d malm kort" #: ../client/common/resource.c:50 msgid "a wool card" msgstr "et uld kort" #: ../client/common/resource.c:50 #, c-format msgid "%d wool cards" msgstr "%d uld kort" #: ../client/common/resource.c:51 msgid "a lumber card" msgstr "et tømmer kort" #: ../client/common/resource.c:51 #, c-format msgid "%d lumber cards" msgstr "%d tømmer kort" #: ../client/common/resource.c:139 ../client/common/resource.c:225 msgid "nothing" msgstr "intet" #. Construct "A, B and C" for resources #: ../client/common/resource.c:166 #, c-format msgid "%s and %s" msgstr "%s og %s" #. Construct "A, B and C" for resources #: ../client/common/resource.c:170 #, c-format msgid "%s, %s" msgstr "%s, %s" #: ../client/common/robber.c:62 #, c-format msgid "%s has undone the robber movement.\n" msgstr "%s har fortrudt røverens bevægelse.\n" #: ../client/common/robber.c:65 #, c-format msgid "%s moved the robber.\n" msgstr "%s flyttede røveren.\n" #: ../client/common/robber.c:75 #, c-format msgid "%s has undone the pirate movement.\n" msgstr "%s har fortrudt piratens bevægelse.\n" #: ../client/common/robber.c:78 #, c-format msgid "%s moved the pirate.\n" msgstr "%s flyttede piraten.\n" #: ../client/common/robber.c:85 #, c-format msgid "%s must move the robber." msgstr "%s skal flytte røveren." #: ../client/common/setup.c:146 #, c-format msgid "Setup for %s.\n" msgstr "Opsætning for %s.\n" #: ../client/common/setup.c:158 #, c-format msgid "Double setup for %s.\n" msgstr "Dobbelt opsætning for %s.\n" #: ../client/common/turn.c:37 #, c-format msgid "%s rolled %d.\n" msgstr "%s slog %d.\n" #: ../client/common/turn.c:50 #, c-format msgid "Begin turn %d for %s.\n" msgstr "Begynd tur %d for %s.\n" #: ../client/gtk/avahi-browser.c:83 msgid "Select an automatically discovered game" msgstr "" #. $1=Game title, $2=version, $3=host_name, $4=port #: ../client/gtk/avahi-browser.c:132 #, c-format msgid "%s (%s) on %s:%s" msgstr "" #. Label text #: ../client/gtk/chat.c:73 msgid "Chat" msgstr "Chat" #: ../client/gtk/chat.c:232 msgid "Beeper test.\n" msgstr "Test af bipper.\n" #: ../client/gtk/chat.c:235 #, c-format msgid "%s beeped you.\n" msgstr "%s bippede dig.\n" #: ../client/gtk/chat.c:239 #, c-format msgid "You beeped %s.\n" msgstr "Du bippede %s.\n" #: ../client/gtk/chat.c:245 #, c-format msgid "You could not beep %s.\n" msgstr "Du kunne ikke bippe %s.\n" #: ../client/gtk/chat.c:287 msgid " said: " msgstr " sagde: " #: ../client/gtk/connect.c:286 #, c-format msgid "Metaserver at %s, port %s" msgstr "Mataserver pÃ¥ %s, port %s" #: ../client/gtk/connect.c:296 msgid "Finished.\n" msgstr "Afsluttet.\n" #: ../client/gtk/connect.c:311 ../client/gtk/connect.c:389 #: ../client/gtk/connect.c:408 ../client/gtk/connect.c:979 msgid "The metaserver is not available anymore.\n" msgstr "" #: ../client/gtk/connect.c:322 ../client/gtk/connect.c:443 #: ../client/gtk/connect.c:770 msgid "The metaserver closed the connection unexpectedly.\n" msgstr "" #: ../client/gtk/connect.c:380 msgid "Receiving game names from the metaserver.\n" msgstr "Modtager spilnavne fra metaserveren.\n" #: ../client/gtk/connect.c:422 #, fuzzy, c-format msgid "New game server requested on %s port %s.\n" msgstr "Ny spilserver anmodning pÃ¥ %s port %s\n" #: ../client/gtk/connect.c:432 msgid "Incomplete information about the new game server received.\n" msgstr "" #: ../client/gtk/connect.c:486 ../client/gtk/connect.c:492 ../server/meta.c:239 #, c-format msgid "Unknown message from the metaserver: %s\n" msgstr "Ukendt meddelelse fra metaserveren: %s\n" #: ../client/gtk/connect.c:565 ../server/meta.c:178 #, c-format msgid "Receiving data from inactive session: %s\n" msgstr "" #: ../client/gtk/connect.c:577 ../server/meta.c:192 #, fuzzy msgid "Too many metaserver redirects.\n" msgstr "For mange metaserver omdirigeringer\n" #: ../client/gtk/connect.c:606 ../server/meta.c:208 #, c-format msgid "Bad redirect line: %s\n" msgstr "DÃ¥rlig omdirigeringslinje: %s\n" #: ../client/gtk/connect.c:631 #, c-format msgid "The metaserver is too old to create servers (version %d.%d)\n" msgstr "Metaserver for gammel til at lave servere (version %d.%d)\n" #: ../client/gtk/connect.c:670 ../client/gtk/connect.c:749 #: ../client/gtk/connect.c:755 #, fuzzy, c-format msgid "Unexpected data from the metaserver: %s\n" msgstr "Ukendt meddelelse fra metaserveren: %s\n" #. Sevens rule: normal #: ../client/gtk/connect.c:701 ../client/gtk/settingscreen.c:181 #: ../common/gtk/game-rules.c:89 msgid "Normal" msgstr "Normal" #. Sevens rule: reroll on 1st 2 turns #: ../client/gtk/connect.c:706 ../client/gtk/settingscreen.c:183 #: ../common/gtk/game-rules.c:95 msgid "Reroll on 1st 2 turns" msgstr "Omslag pÃ¥ de to første ture" #. Sevens rule: reroll all 7s #: ../client/gtk/connect.c:710 ../client/gtk/settingscreen.c:185 #: ../common/gtk/game-rules.c:102 msgid "Reroll all 7s" msgstr "SlÃ¥ alle 7'ere om" #: ../client/gtk/connect.c:724 msgid "Default" msgstr "ForhÃ¥ndsvalg" #: ../client/gtk/connect.c:727 msgid "Random" msgstr "Tilfældig" #: ../client/gtk/connect.c:819 ../server/meta.c:299 #, fuzzy, c-format msgid "Redirected to the metaserver at %s.\n" msgstr "Omdirigeret til metaserver %s, port %s\n" #: ../client/gtk/connect.c:824 ../server/meta.c:302 #, fuzzy, c-format msgid "Redirected to the metaserver at %s, port %s.\n" msgstr "Omdirigeret til metaserver %s, port %s\n" #: ../client/gtk/connect.c:831 msgid "Receiving a list of Pioneers servers from the metaserver.\n" msgstr "Modtager en liste over Pioneer servere fra metaserveren.\n" #. Label #: ../client/gtk/connect.c:914 #, fuzzy msgid "Number of computer players" msgstr "Type af computerspiller" #. Tooltip #: ../client/gtk/connect.c:935 #, fuzzy msgid "The number of computer players" msgstr "Antallet af spillere" #. Canceled retrieving information #. * from the metaserver #: ../client/gtk/connect.c:957 ../client/gtk/connect.c:992 #: ../client/gtk/connect.c:1133 msgid "Canceled.\n" msgstr "" #: ../client/gtk/connect.c:960 #, fuzzy msgid "Requesting new game server.\n" msgstr "Anmoder om ny spilserver\n" #: ../client/gtk/connect.c:1015 ../server/gtk/main.c:370 ../server/server.c:123 #, fuzzy, c-format msgid "Error starting %s: %s\n" msgstr "Fejl startende %s: %s" #. Dialog caption #: ../client/gtk/connect.c:1037 msgid "Create a Public Game" msgstr "Skab et offentligt spil" #. Button text #: ../client/gtk/connect.c:1040 ../client/gtk/connect.c:1191 #: ../client/gtk/connect.c:1440 ../client/gtk/connect.c:1744 #: ../client/gtk/name.c:147 ../editor/gtk/editor.c:1521 #: ../editor/gtk/editor.c:1562 ../editor/gtk/editor.c:1611 msgid "_Cancel" msgstr "" #. Button text #: ../client/gtk/connect.c:1042 #, fuzzy msgid "C_reate" msgstr "Skab spil" #. Dialog caption #: ../client/gtk/connect.c:1182 #, fuzzy msgid "Join a Public Game" msgstr "Deltag i et offenligt spil" #. Button text #: ../client/gtk/connect.c:1185 msgid "_Refresh" msgstr "" #. Button text #: ../client/gtk/connect.c:1188 msgid "_New Remote Game" msgstr "_Nyt fjern spil" #. Button text #: ../client/gtk/connect.c:1194 ../client/gtk/connect.c:1748 msgid "_Join" msgstr "" #. Tooltip #: ../client/gtk/connect.c:1237 msgid "Select a game to join" msgstr "Vælg et spil at deltage i" #. Column name #: ../client/gtk/connect.c:1241 msgid "Map Name" msgstr "Kort navn" #. Tooltip for column 'Map Name' #: ../client/gtk/connect.c:1249 msgid "Name of the game" msgstr "Navn pÃ¥ spillet" #. Column name #: ../client/gtk/connect.c:1255 msgid "Curr" msgstr "" #. Tooltip for column 'Curr' #: ../client/gtk/connect.c:1262 msgid "Number of players in the game" msgstr "Antal spillere i spillet" #. Column name #: ../client/gtk/connect.c:1268 msgid "Max" msgstr "Maks" #. Tooltip for column 'Max' #: ../client/gtk/connect.c:1275 msgid "Maximum players for the game" msgstr "Maksimalt antal spillere for spillet" #. Column name #: ../client/gtk/connect.c:1279 msgid "Terrain" msgstr "Terræn" #. Tooltip for column 'Terrain' #: ../client/gtk/connect.c:1287 msgid "Random of default terrain" msgstr "Tilfældigt standard terræn" #. Column name #: ../client/gtk/connect.c:1293 msgid "Vic. Points" msgstr "Sejers point" #. Tooltip for column 'Vic. Points' #: ../client/gtk/connect.c:1300 msgid "Points needed to win" msgstr "Point nødvendige for at vinde" #. Column name #: ../client/gtk/connect.c:1304 msgid "Sevens Rule" msgstr "7'er regel" #. Tooltip for column 'Sevens Rule' #. Label #: ../client/gtk/connect.c:1312 ../common/gtk/game-rules.c:81 msgid "Sevens rule" msgstr "7'er regel" #. Column name #: ../client/gtk/connect.c:1316 msgid "Host" msgstr "Vært" #. Tooltip for column 'Host' #: ../client/gtk/connect.c:1325 msgid "Host of the game" msgstr "Vært for spillet" #. Column name #: ../client/gtk/connect.c:1331 msgid "Port" msgstr "Port" #. Tooltip for column 'Port' #: ../client/gtk/connect.c:1339 #, fuzzy msgid "Port of the game" msgstr "Spillets port" #. Column name #: ../client/gtk/connect.c:1343 msgid "Version" msgstr "Version" #. Tooltip for column 'Version' #: ../client/gtk/connect.c:1351 msgid "Version of the host" msgstr "Version for vært" #. Dialog caption #: ../client/gtk/connect.c:1436 msgid "Start a New Game" msgstr "Start et nyt spil" #. Label #. Commandline option of client: name of the player #: ../client/gtk/connect.c:1464 ../client/gtk/offline.c:57 msgid "Player name" msgstr "Spillernavn" #. Tooltip #: ../client/gtk/connect.c:1480 msgid "Enter your name" msgstr "Indtast dit navn" #. Check button #. Role of the player: spectator #: ../client/gtk/connect.c:1483 ../server/gtk/main.c:682 msgid "Spectator" msgstr "" #: ../client/gtk/connect.c:1493 #, fuzzy msgid "Check if you want to be a spectator" msgstr "Vil du være tilskuer?" #. Label #: ../client/gtk/connect.c:1504 msgid "Avahi" msgstr "" #. Button #: ../client/gtk/connect.c:1511 msgid "Join" msgstr "" #. Tooltip for button Join #: ../client/gtk/connect.c:1515 msgid "Join an automatically discovered game" msgstr "" #. Label #. metaserver label #: ../client/gtk/connect.c:1542 ../server/gtk/main.c:593 msgid "Metaserver" msgstr "Metaserver" #. Button #: ../client/gtk/connect.c:1564 msgid "Join Public Game" msgstr "Deltag i offentligt spil" #. Tooltip #: ../client/gtk/connect.c:1570 msgid "Join a public game" msgstr "Deltag i et offenligt spil" #. Button #: ../client/gtk/connect.c:1575 msgid "Create Game" msgstr "Skab spil" #. Tooltip #: ../client/gtk/connect.c:1579 msgid "Create a game" msgstr "Skab et spil" #. Button #: ../client/gtk/connect.c:1588 msgid "Join Private Game" msgstr "Deltag i privat spil" #. Tooltip #. Dialog caption #: ../client/gtk/connect.c:1592 ../client/gtk/connect.c:1737 msgid "Join a private game" msgstr "Deltag i et privat spil" #. Label #. Commandline option of client: hostname of the server #: ../client/gtk/connect.c:1777 ../client/gtk/offline.c:51 msgid "Server host" msgstr "Server vært" #. Tooltip #: ../client/gtk/connect.c:1791 msgid "Name of the host of the game" msgstr "Navn pÃ¥ værten for spillet" #. Label #. Commandline option of client: port of the server #. server port label #: ../client/gtk/connect.c:1795 ../client/gtk/offline.c:54 #: ../server/gtk/main.c:555 msgid "Server port" msgstr "Server port" #. Tooltip #: ../client/gtk/connect.c:1812 msgid "Port of the host of the game" msgstr "Port for værten af spillet" #. Tooltip #. Label #: ../client/gtk/connect.c:1854 ../client/gtk/connect.c:1857 msgid "Recent games" msgstr "Seneste spil" #. Caption for list of bought development cards #: ../client/gtk/develop.c:130 msgid "Development cards" msgstr "Udviklingskort" #. Button text: play development card #: ../client/gtk/develop.c:163 msgid "Play Card" msgstr "Spil kort" #. Dialog caption #: ../client/gtk/discard.c:77 msgid "Discard Resources" msgstr "Bortkast ressourcer" #. Button text #: ../client/gtk/discard.c:83 ../client/gtk/gameover.c:38 #: ../client/gtk/gold.c:78 ../client/gtk/monopoly.c:88 ../client/gtk/name.c:150 #: ../client/gtk/plenty.c:67 ../editor/gtk/editor.c:1614 msgid "_OK" msgstr "" #: ../client/gtk/discard.c:101 #, fuzzy, c-format msgid "You must discard %d resource" msgid_plural "You must discard %d resources" msgstr[0] "Du skal bortkaste %d ressourcer" msgstr[1] "Du skal bortkaste %d ressourcer" #. Label #: ../client/gtk/discard.c:110 msgid "Total discards" msgstr "Totalt antal kast" #. Caption for list of player that must discard cards #: ../client/gtk/discard.c:235 msgid "Waiting for players to discard" msgstr "Venter pÃ¥ at spillere skal kaste" #. Dialog caption #: ../client/gtk/gameover.c:34 msgid "Game Over" msgstr "Spil slut" #: ../client/gtk/gameover.c:52 #, c-format msgid "%s has won the game with %d victory points!" msgstr "%s har vundet spillet med %d sejers point!" #: ../client/gtk/gameover.c:58 #, c-format msgid "All praise %s, Lord of the known world!" msgstr "Tilbed %s, Hersker af den kendte verden!" #. Dialog caption #: ../client/gtk/gold.c:72 msgid "Choose Resources" msgstr "Vælg ressourser" #: ../client/gtk/gold.c:96 #, fuzzy, c-format msgid "You may choose %d resource" msgid_plural "You may choose %d resources" msgstr[0] "Du kan vælge %d ressource" msgstr[1] "Du kan vælge %d ressource" #. Text for total in choose gold dialog #. Text for total in year of plenty dialog #: ../client/gtk/gold.c:105 ../client/gtk/plenty.c:103 msgid "Total resources" msgstr "Totale ressourcer" #. Caption for list of player that must choose gold #: ../client/gtk/gold.c:217 msgid "Waiting for players to choose" msgstr "Venter pÃ¥ at spillerne vælger" #. Menu entry #: ../client/gtk/gui.c:224 ../server/gtk/main.c:91 msgid "_Game" msgstr "_Spil" #. Menu entry #: ../client/gtk/gui.c:227 msgid "_New Game" msgstr "_Nyt spil" #. Tooltip for New Game menu entry #: ../client/gtk/gui.c:229 msgid "Start a new game" msgstr "Start et nyt spil" #. Menu entry #: ../client/gtk/gui.c:232 msgid "_Leave Game" msgstr "_Forlad spil" #. Tooltip for Leave Game menu entry #: ../client/gtk/gui.c:234 msgid "Leave this game" msgstr "Forlad dette spil" #. Menu entry #: ../client/gtk/gui.c:238 msgid "_Admin" msgstr "_Admin" #. Tooltip for Admin menu entry #: ../client/gtk/gui.c:240 msgid "Administer Pioneers server" msgstr "Administrer Pioneers server" #. Menu entry #: ../client/gtk/gui.c:244 msgid "_Player Name" msgstr "S_pillernavn" #. Tooltip for Player Name menu entry #: ../client/gtk/gui.c:246 msgid "Change your player name" msgstr "Ændre dit spillernavn" #. Menu entry #: ../client/gtk/gui.c:249 msgid "L_egend" msgstr "_Forklaring" #. Tooltip for Legend menu entry #: ../client/gtk/gui.c:251 msgid "Terrain legend and building costs" msgstr "Terrænforklaring og bygningsomkostninger" #. Menu entry #: ../client/gtk/gui.c:254 msgid "_Game Settings" msgstr "_Spil opsætninger" #. Tooltip for Game Settings menu entry #: ../client/gtk/gui.c:256 msgid "Settings for the current game" msgstr "Opsætning for dette spil" #. Menu entry #: ../client/gtk/gui.c:259 msgid "_Dice Histogram" msgstr "_Ternings histogram" #. Tooltip for Dice Histogram menu entry #: ../client/gtk/gui.c:261 msgid "Histogram of dice rolls" msgstr "Histogram for terningskast" #. Menu entry #: ../client/gtk/gui.c:264 ../editor/gtk/editor.c:1759 ../server/gtk/main.c:103 msgid "_Quit" msgstr "_Afslut" #. Tooltip for Quit menu entry #. Tooltop for Quit menu entry #: ../client/gtk/gui.c:266 ../server/gtk/main.c:105 msgid "Quit the program" msgstr "Forlad dette program" #. Menu entry #: ../client/gtk/gui.c:269 msgid "_Actions" msgstr "_Handlinger" #. Menu entry #: ../client/gtk/gui.c:272 msgid "Roll Dice" msgstr "Kast terning" #. Tooltip for Roll Dice menu entry #: ../client/gtk/gui.c:274 msgid "Roll the dice" msgstr "Kast terningen" #. Menu entry #. Tooltip for Trade menu entry #. Tab page name #: ../client/gtk/gui.c:277 ../client/gtk/gui.c:279 ../client/gtk/gui.c:710 msgid "Trade" msgstr "Handel" #. Menu entry #. Tooltip for Undo menu entry #: ../client/gtk/gui.c:283 ../client/gtk/gui.c:285 msgid "Undo" msgstr "Fortryd" #. Menu entry #. Tooltip for Finish menu entry #: ../client/gtk/gui.c:288 ../client/gtk/gui.c:290 msgid "Finish" msgstr "Afslut" #. Menu entry #: ../client/gtk/gui.c:293 ../client/gtk/legend.c:189 #: ../editor/gtk/game-buildings.c:10 msgid "Road" msgstr "Vej" #. Tooltip for Road menu entry #: ../client/gtk/gui.c:295 msgid "Build a road" msgstr "Byg en vej" #. Menu entry #: ../client/gtk/gui.c:298 ../client/gtk/legend.c:193 #: ../editor/gtk/game-buildings.c:10 msgid "Ship" msgstr "Skib" #. Tooltip for Ship menu entry #: ../client/gtk/gui.c:300 msgid "Build a ship" msgstr "Byg et skib" #. Menu entry #: ../client/gtk/gui.c:303 msgid "Move Ship" msgstr "Flyt skib" #. Tooltip for Move Ship menu entry #: ../client/gtk/gui.c:305 msgid "Move a ship" msgstr "Flyt et skib" #. Menu entry #: ../client/gtk/gui.c:308 ../client/gtk/legend.c:196 #: ../editor/gtk/game-buildings.c:10 msgid "Bridge" msgstr "Bro" #. Tooltip for Bridge menu entry #: ../client/gtk/gui.c:310 msgid "Build a bridge" msgstr "Byg en bro" #. Menu entry #: ../client/gtk/gui.c:313 ../client/gtk/legend.c:198 ../client/gtk/player.c:52 #: ../editor/gtk/game-buildings.c:10 msgid "Settlement" msgstr "Bebyggelse" #. Tooltip for Settlement menu entry #: ../client/gtk/gui.c:316 msgid "Build a settlement" msgstr "Byg en bebyggelse" #. Menu entry #: ../client/gtk/gui.c:319 ../client/gtk/legend.c:199 ../client/gtk/player.c:53 #: ../editor/gtk/game-buildings.c:11 msgid "City" msgstr "By" #. Tooltip for City menu entry #: ../client/gtk/gui.c:321 msgid "Build a city" msgstr "Byg en by" #. Menu entry #: ../client/gtk/gui.c:324 msgid "Develop" msgstr "Udvikle" #. Tooltip for Develop menu entry #: ../client/gtk/gui.c:326 msgid "Buy a development card" msgstr "Køb et udviklingskort" #. Menu entry #: ../client/gtk/gui.c:329 msgid "City Wall" msgstr "Bymur" #. Tooltip for City Wall menu entry #: ../client/gtk/gui.c:331 msgid "Build a city wall" msgstr "Byg en bymur" #. Menu entry #: ../client/gtk/gui.c:335 msgid "_Settings" msgstr "_Indstillinger" #. Menu entry #: ../client/gtk/gui.c:338 msgid "Prefere_nces" msgstr "Indstilli_nger" #. Tooltip for Preferences menu entry #: ../client/gtk/gui.c:340 msgid "Configure the application" msgstr "Konfigurér applikationen" #. Menu entry #: ../client/gtk/gui.c:344 ../editor/gtk/editor.c:1721 #, fuzzy msgid "_View" msgstr "Tilskuer" #. Menu entry #: ../client/gtk/gui.c:347 ../editor/gtk/editor.c:1765 msgid "_Reset" msgstr "" #. Tooltip for Reset menu entry #: ../client/gtk/gui.c:350 ../editor/gtk/editor.c:1768 msgid "View the full map" msgstr "" #. Menu entry #: ../client/gtk/gui.c:353 ../editor/gtk/editor.c:1771 msgid "_Center" msgstr "" #. Tooltip for Center menu entry #: ../client/gtk/gui.c:355 ../editor/gtk/editor.c:1773 msgid "Center the map" msgstr "" #. Menu entry #: ../client/gtk/gui.c:359 ../client/gtk/gui.c:368 ../editor/gtk/editor.c:1724 #: ../server/gtk/main.c:94 msgid "_Help" msgstr "_Hjælp" #. Menu entry #: ../client/gtk/gui.c:362 msgid "_About Pioneers" msgstr "_Om Pioneers" #. Tooltip for About Pioneers menu entry #: ../client/gtk/gui.c:364 msgid "Information about Pioneers" msgstr "Information om Pioneers" #. Tooltip for Help menu entry #: ../client/gtk/gui.c:370 ../client/gtk/gui.c:1258 msgid "Show the manual" msgstr "Vis manual" #. Menu entry #: ../client/gtk/gui.c:378 ../editor/gtk/editor.c:1791 msgid "_Fullscreen" msgstr "" #. Tooltip for Fullscreen menu entry #: ../client/gtk/gui.c:381 ../editor/gtk/editor.c:1794 msgid "Set window to full screen mode" msgstr "" #. Menu entry #: ../client/gtk/gui.c:386 msgid "_Toolbar" msgstr "_Værktøjslinje" #. Tooltip for Toolbar menu entry #: ../client/gtk/gui.c:388 msgid "Show or hide the toolbar" msgstr "Vis eller skjul værktøjslinje" #. Victory points target in statusbar #: ../client/gtk/gui.c:491 #, c-format msgid "Points needed to win: %i" msgstr "Point nødvendige for at vinde: %i" #: ../client/gtk/gui.c:577 msgid "Messages" msgstr "Meddelelser" #. Tab page name #: ../client/gtk/gui.c:703 ../editor/gtk/editor.c:1946 msgid "Map" msgstr "Kort" #. Tooltip #: ../client/gtk/gui.c:712 msgid "Finish trading" msgstr "Afslut handel" #. Tab page name #. Button text #: ../client/gtk/gui.c:722 ../client/gtk/quote.c:339 msgid "Quote" msgstr "Citat" #. Tooltip #: ../client/gtk/gui.c:724 msgid "Reject domestic trade" msgstr "Afvis indenlandsk handel" #. Tab page name #. Dialog caption #: ../client/gtk/gui.c:734 ../client/gtk/legend.c:249 msgid "Legend" msgstr "Forklaring" #. Tab page name, shown for the splash screen #: ../client/gtk/gui.c:744 msgid "Welcome to Pioneers" msgstr "Velkommen til Pioneers" #. Caption of preferences dialog #: ../client/gtk/gui.c:1028 msgid "Pioneers Preferences" msgstr "Pioneers opsætning" #. Button text #: ../client/gtk/gui.c:1034 ../client/gtk/histogram.c:252 #: ../client/gtk/legend.c:253 ../client/gtk/settingscreen.c:413 msgid "_Close" msgstr "" #. Label for changing the theme, in the preferences dialog #: ../client/gtk/gui.c:1059 msgid "Theme:" msgstr "Tema:" #. Tooltip for changing the theme in the preferences dialog #: ../client/gtk/gui.c:1082 msgid "Choose one of the themes" msgstr "Vælg et af temaerne" #. Label for the option to show the legend #: ../client/gtk/gui.c:1086 msgid "Show legend" msgstr "Vis forklaring" #. Tooltip for the option to show the legend #: ../client/gtk/gui.c:1096 msgid "Show the legend as a page beside the map" msgstr "Vis forklaring som en side ved siden af kortet" #. Label for the option to display log messages in color #: ../client/gtk/gui.c:1101 msgid "Messages with color" msgstr "Meddelelser med farver" #. Tooltip for the option to display log messages in color #: ../client/gtk/gui.c:1111 msgid "Show new messages with color" msgstr "Vis en ny meddelelse med farve" #. Label for the option to display chat in color of player #: ../client/gtk/gui.c:1116 msgid "Chat in color of player" msgstr "Caht i spillerens farve" #. Tooltip for the option to display chat in color of player #: ../client/gtk/gui.c:1127 msgid "Show new chat messages in the color of the player" msgstr "Vis nye chat meddelelser i spillerens farve" #. Label for the option to display the summary with colors #: ../client/gtk/gui.c:1132 msgid "Summary with color" msgstr "Sammenfatning i farver" #. Tooltip for the option to display the summary with colors #: ../client/gtk/gui.c:1143 msgid "Use colors in the player summary" msgstr "Anvend farver i spiller sammenfatning" #. Label for the option to display keyboard accelerators in the toolbar #: ../client/gtk/gui.c:1148 msgid "Toolbar with shortcuts" msgstr "Værktøjslinje med genveje" #. Tooltip for the option to display keyboard accelerators in the toolbar #: ../client/gtk/gui.c:1158 msgid "Show keyboard shortcuts in the toolbar" msgstr "Vis genveje i værktøjslinje" #. Label for the option to disable all sounds #: ../client/gtk/gui.c:1164 msgid "Silent mode" msgstr "Tyst tilstand" #. Tooltip for the option to disable all sounds #: ../client/gtk/gui.c:1170 msgid "In silent mode no sounds are made" msgstr "I tyst tilstand der laves ikke lyd" #. Label for the option to announce when players/spectators enter #: ../client/gtk/gui.c:1176 msgid "Announce new players" msgstr "Annoncér nye spillere" #. Tooltip for the option to use sound when players/spectators enter #: ../client/gtk/gui.c:1186 #, fuzzy msgid "Make a sound when a new player or spectator enters the game" msgstr "Lav en lyd nÃ¥r en ny spiller eller seer ankommer til spillet" #. Label for the option to use the notifications. #: ../client/gtk/gui.c:1198 #, fuzzy msgid "Show notifications" msgstr "Vis versionsinformation" #. Tooltip for notifications option. #: ../client/gtk/gui.c:1208 msgid "Show notifications when it's your turn or when new trade is available" msgstr "" #. Label for the option to use the 16:9 layout. #: ../client/gtk/gui.c:1214 msgid "Use 16:9 layout" msgstr "Anvend 16:9 layout" #. Tooltip for 16:9 option. #: ../client/gtk/gui.c:1224 msgid "Use a 16:9 friendly layout for the window" msgstr "Anvend et 16:9 venligt layout for skærmen" #. Caption of about box #: ../client/gtk/gui.c:1233 msgid "About Pioneers" msgstr "Om Pioneers" #. Initial text in status bar #: ../client/gtk/gui.c:1544 ../client/gtk/offline.c:107 msgid "Welcome to Pioneers!" msgstr "Velkommen til Pioneers!" #. The name of the application #. Name of the application #: ../client/gtk/gui.c:1606 ../client/gtk/offline.c:209 #: ../client/gtk/pioneers.desktop.in.h:1 msgid "Pioneers" msgstr "Pioneers" #. Dialog caption #: ../client/gtk/histogram.c:248 msgid "Dice Histogram" msgstr "Ternings histogram" #: ../client/gtk/interface.c:111 msgid "Ship movement canceled." msgstr "Bevægelse af skib annulleret" #: ../client/gtk/interface.c:119 ../client/gtk/interface.c:120 msgid "Select a new location for the ship." msgstr "Vælg en ny lokation for skibet." #. Notification #: ../client/gtk/interface.c:919 #, fuzzy msgid "It is your turn to setup." msgstr "Det er din tur." #: ../client/gtk/legend.c:34 msgid "Hill" msgstr "Bakke" #: ../client/gtk/legend.c:35 msgid "Field" msgstr "Mark" #: ../client/gtk/legend.c:36 msgid "Mountain" msgstr "Bjerg" #: ../client/gtk/legend.c:37 msgid "Pasture" msgstr "Græsmark" #: ../client/gtk/legend.c:38 msgid "Forest" msgstr "Skov" #: ../client/gtk/legend.c:39 msgid "Desert" msgstr "Ørken" #: ../client/gtk/legend.c:40 msgid "Sea" msgstr "Hav" #. Label #: ../client/gtk/legend.c:132 msgid "Terrain yield" msgstr "Terænudbytte" #. Label #: ../client/gtk/legend.c:165 msgid "Building costs" msgstr "Bygningsomkostninger" #: ../client/gtk/legend.c:203 ../client/gtk/player.c:54 #: ../editor/gtk/game-buildings.c:11 msgid "City wall" msgstr "Bymur" #: ../client/gtk/legend.c:206 ../client/gtk/player.c:65 msgid "Development card" msgstr "Udviklingskort" #. Dialog caption #. Name of the development card #: ../client/gtk/monopoly.c:84 ../common/cards.c:86 msgid "Monopoly" msgstr "Monopol" #. Label #: ../client/gtk/monopoly.c:106 msgid "Select the resource you wish to monopolize." msgstr "Vælg den ressource du vil have monopol pÃ¥." #. Dialog caption #: ../client/gtk/name.c:141 msgid "Change Player Name" msgstr "Ændre spiller navn" #. Label #: ../client/gtk/name.c:172 msgid "Player name:" msgstr "Spillernavn:" #. Label: set player icon preferences #: ../client/gtk/name.c:234 msgid "Face:" msgstr "Forside:" #. Label: set player icon preferences #: ../client/gtk/name.c:250 msgid "Variant:" msgstr "Variant:" #: ../client/gtk/offline.c:61 #, fuzzy msgid "Connect as a spectator" msgstr "Deltag som seer" #: ../client/gtk/offline.c:64 msgid "Metaserver Host" msgstr "Metaserver vært" #: ../client/gtk/offline.c:78 msgid "Select a game to join." msgstr "Vælg et spil at deltage i." #: ../client/gtk/offline.c:94 msgid "Connecting" msgstr "Forbinder" #. Long description in the commandline for pioneers: help #: ../client/gtk/offline.c:183 msgid "- Play a game of Pioneers" msgstr "- Spil et spil Pioneers" #: ../client/gtk/pioneers.desktop.in.h:2 msgid "Play a game of Pioneers" msgstr "Spil et spil Pioneers" #: ../client/gtk/pioneers.desktop.in.h:3 msgid "game;board;play;Pioneers;Settlers;" msgstr "" #: ../client/gtk/player.c:52 msgid "Settlements" msgstr "Bebyggelser" #: ../client/gtk/player.c:53 msgid "Cities" msgstr "Byer" #: ../client/gtk/player.c:54 msgid "City walls" msgstr "Bymurer" #: ../client/gtk/player.c:55 msgid "Largest army" msgstr "Største hær" #: ../client/gtk/player.c:56 msgid "Longest road" msgstr "Længste vej" #. Name of the development card #: ../client/gtk/player.c:57 ../common/cards.c:92 msgid "Chapel" msgstr "Kapel" #: ../client/gtk/player.c:57 msgid "Chapels" msgstr "Kapeller" #. Name of the development card #: ../client/gtk/player.c:58 ../common/cards.c:95 msgid "Pioneer university" msgstr "Pioneer Universitet" #: ../client/gtk/player.c:58 msgid "Pioneer universities" msgstr "Pioneers Universiteter" #. Name of the development card #: ../client/gtk/player.c:60 ../common/cards.c:98 msgid "Governor's house" msgstr "Borgmesterens hus" #: ../client/gtk/player.c:60 msgid "Governor's houses" msgstr "Borgmester huse" #. Name of the development card #: ../client/gtk/player.c:61 ../common/cards.c:101 msgid "Library" msgstr "Bibliotek" #: ../client/gtk/player.c:61 msgid "Libraries" msgstr "Biblioteker" #. Name of the development card #: ../client/gtk/player.c:62 ../common/cards.c:104 msgid "Market" msgstr "Marked" #: ../client/gtk/player.c:62 msgid "Markets" msgstr "Markeder" #. Name of the development card #: ../client/gtk/player.c:63 ../common/cards.c:107 msgid "Soldier" msgstr "Soldat" #: ../client/gtk/player.c:63 msgid "Soldiers" msgstr "Soldater" #: ../client/gtk/player.c:64 msgid "Resource card" msgstr "Ressourcekort" #: ../client/gtk/player.c:64 msgid "Resource cards" msgstr "Ressourcekort" #. Caption #: ../client/gtk/player.c:65 ../editor/gtk/editor.c:1305 msgid "Development cards" msgstr "Udviklingskort" #. Caption for the overview of the points and card of other players #: ../client/gtk/player.c:559 msgid "Player summary" msgstr "Sammendrag for spillere" #. Dialog caption #: ../client/gtk/plenty.c:61 msgid "Year of Plenty" msgstr "Gyldent Ã¥r" #: ../client/gtk/plenty.c:92 msgid "Please choose one resource from the bank" msgstr "Vælg venligst en ressource fra banken" #: ../client/gtk/plenty.c:95 msgid "Please choose two resources from the bank" msgstr "Vælg venligst to ressourcer fra banken" #: ../client/gtk/plenty.c:97 msgid "The bank is empty" msgstr "Banken er tom" #: ../client/gtk/quote.c:187 #, c-format msgid "%s has %s, and is looking for %s" msgstr "%s har %s, og er pÃ¥ udkig efter %s" #. Notification #: ../client/gtk/quote.c:217 #, fuzzy, c-format msgid "New offer from %s." msgstr "Du stjal %s fra %s.\n" #. Notification #: ../client/gtk/quote.c:242 #, c-format msgid "Offer from %s." msgstr "" #. Label #. Frame title, trade: I want to trade these resources #: ../client/gtk/quote.c:316 ../client/gtk/trade.c:524 msgid "I want" msgstr "Jeg ønsker" #. Label #. Frame title, trade: I want these resources in return #: ../client/gtk/quote.c:326 ../client/gtk/trade.c:530 msgid "Give them" msgstr "Giv dem" #. Button text #: ../client/gtk/quote.c:345 msgid "Delete" msgstr "Slet" #. Button text #: ../client/gtk/quote.c:370 msgid "Reject Domestic Trade" msgstr "Afvis indenlandsk handel" #. Now create columns #. Table header: Player who trades #. Role of the player: player #: ../client/gtk/quote-view.c:170 ../server/gtk/main.c:684 msgid "Player" msgstr "Spiller" #. Table header: Quote #: ../client/gtk/quote-view.c:185 msgid "Quotes" msgstr "Citater" #. trade: maritime quote: %1 resources of type %2 for #. * one resource of type %3 #: ../client/gtk/quote-view.c:303 #, c-format msgid "%d:1 %s for %s" msgstr "%d:1 %s for %s" #. Trade: a player has rejected trade #: ../client/gtk/quote-view.c:442 msgid "Rejected trade" msgstr "Afvis handel" #. Caption for overview of the resources of the player #: ../client/gtk/resource.c:71 msgid "Resources" msgstr "Ressourcer" #. Label #: ../client/gtk/resource.c:86 msgid "Total" msgstr "I alt" #. Tooltip for the amount of resources in the hand #: ../client/gtk/resource-table.c:180 msgid "Amount in hand" msgstr "Mængde pÃ¥ hÃ¥nden" #. Button for decreasing the selected amount #: ../client/gtk/resource-table.c:185 msgid "" msgstr "mere>" #. Tooltip for increasing the selected amount #: ../client/gtk/resource-table.c:226 msgid "Increase the selected amount" msgstr "Øg det valgte beløb" #. Tooltip for the selected amount #: ../client/gtk/resource-table.c:243 msgid "Selected amount" msgstr "Vælg beløb" #. Tooltip for the total selected amount #: ../client/gtk/resource-table.c:288 msgid "Total selected amount" msgstr "Samlet valgt beløb" #. Tooltip when the bank cannot be emptied #: ../client/gtk/resource-table.c:307 msgid "The bank cannot be emptied" msgstr "Banken kan ikke tømmes" #: ../client/gtk/settingscreen.c:74 msgid "Yes" msgstr "Ja" #: ../client/gtk/settingscreen.c:76 ../client/gtk/settingscreen.c:240 msgid "No" msgstr "Nej" #: ../client/gtk/settingscreen.c:87 ../client/gtk/settingscreen.c:187 msgid "Unknown" msgstr "Ukendt" #: ../client/gtk/settingscreen.c:121 msgid "No game in progress..." msgstr "Der pÃ¥gÃ¥r ingen spil..." #. Label #: ../client/gtk/settingscreen.c:132 msgid "General settings" msgstr "General opsætning" #: ../client/gtk/settingscreen.c:149 msgid "Number of players:" msgstr "Antal spillere:" #: ../client/gtk/settingscreen.c:153 msgid "Victory point target:" msgstr "PointmÃ¥l for at vinde:" #: ../client/gtk/settingscreen.c:157 msgid "Random terrain:" msgstr "Tilfældigt terræn:" #: ../client/gtk/settingscreen.c:161 msgid "Allow trade between players:" msgstr "Tillad handel mellem spillere:" #: ../client/gtk/settingscreen.c:166 msgid "Allow trade only before building or buying:" msgstr "Tillad kun handel før bygning eller indkøb:" #: ../client/gtk/settingscreen.c:171 #, fuzzy msgid "Check victory only at end of turn:" msgstr "Tjek for sejer ved turens slutning" #: ../client/gtk/settingscreen.c:176 msgid "Amount of each resource:" msgstr "Mængde af hver ressource:" #: ../client/gtk/settingscreen.c:190 msgid "Sevens rule:" msgstr "7'er regel:" #: ../client/gtk/settingscreen.c:196 msgid "Use dice deck instead of dice:" msgstr "" #: ../client/gtk/settingscreen.c:201 #, fuzzy msgid "Number of dice decks:" msgstr "Antal spillere:" #: ../client/gtk/settingscreen.c:207 msgid "Number of dice cards removed after shuffling:" msgstr "" #: ../client/gtk/settingscreen.c:214 msgid "Use the pirate to block ships:" msgstr "Brug piraten til at blokkere skibe:" #: ../client/gtk/settingscreen.c:243 msgid "Island discovery bonuses:" msgstr "Bonus for opdagelse af ø:" #. Label #: ../client/gtk/settingscreen.c:260 msgid "Building quotas" msgstr "Bygningsomkostninger" #: ../client/gtk/settingscreen.c:277 msgid "Roads:" msgstr "Veje:" #: ../client/gtk/settingscreen.c:283 msgid "Settlements:" msgstr "Bebyggelser:" #: ../client/gtk/settingscreen.c:289 msgid "Cities:" msgstr "Byer:" #: ../client/gtk/settingscreen.c:295 msgid "City walls:" msgstr "Bymurer:" #: ../client/gtk/settingscreen.c:301 msgid "Ships:" msgstr "Skibe:" #: ../client/gtk/settingscreen.c:307 msgid "Bridges:" msgstr "Broer:" #. Label #: ../client/gtk/settingscreen.c:320 msgid "Development card deck" msgstr "Udviklingskort" #: ../client/gtk/settingscreen.c:336 msgid "Road building cards:" msgstr "Vejbygningskort:" #: ../client/gtk/settingscreen.c:340 msgid "Monopoly cards:" msgstr "Monopol kort:" #: ../client/gtk/settingscreen.c:344 msgid "Year of plenty cards:" msgstr "Gyldent Ã¥r kort:" #: ../client/gtk/settingscreen.c:348 msgid "Chapel cards:" msgstr "Kapel kort:" #: ../client/gtk/settingscreen.c:352 msgid "Pioneer university cards:" msgstr "Pioneer Universitets kort:" #: ../client/gtk/settingscreen.c:356 msgid "Governor's house cards:" msgstr "Borgmester hus kort:" #: ../client/gtk/settingscreen.c:360 msgid "Library cards:" msgstr "Biblioteks kort:" #: ../client/gtk/settingscreen.c:364 msgid "Market cards:" msgstr "Markeds kort:" #: ../client/gtk/settingscreen.c:368 msgid "Soldier cards:" msgstr "Soldater kort:" #. Dialog caption #: ../client/gtk/settingscreen.c:407 msgid "Current Game Settings" msgstr "Aktuel spil opsætning" #. trade: you ask for something for free #: ../client/gtk/trade.c:205 #, c-format msgid "ask for %s for free" msgstr "spørg om gratis %s" #. trade: you give something away for free #: ../client/gtk/trade.c:210 #, c-format msgid "give %s for free" msgstr "giv %s gratis" #. trade: you trade something for something else #: ../client/gtk/trade.c:215 #, c-format msgid "give %s for %s" msgstr "giv %s for %s" #. I want some resources, and give them some resources #: ../client/gtk/trade.c:242 #, c-format msgid "I want %s, and give them %s" msgstr "Jeg ønsker %s, og giver dem %s" #. Notification #: ../client/gtk/trade.c:348 #, fuzzy, c-format msgid "Quote received from %s." msgstr "%s modtog %s.\n" #. Button text, trade: call for quotes from other players #: ../client/gtk/trade.c:539 msgid "_Call for Quotes" msgstr "_Spørg efter pris" #. Button text: Trade page, accept selected quote #: ../client/gtk/trade.c:568 msgid "_Accept Quote" msgstr "_Accepter pris" #. Button text: Trade page, finish trading #: ../client/gtk/trade.c:574 msgid "_Finish Trading" msgstr "_Afslut handel" #. Name of the development card #: ../common/cards.c:83 msgid "Road building" msgstr "Vejbygning" #. Name of the development card #: ../common/cards.c:89 msgid "Year of plenty" msgstr "Gyldent Ã¥r" #. Description of the 'Road Building' development card #: ../common/cards.c:118 msgid "Build two new roads" msgstr "" #. Description of the 'Monopoly' development card #: ../common/cards.c:121 msgid "" "Select a resource type and take every card of that type held by all other " "players" msgstr "" #. Description of the 'Year of Plenty' development card #: ../common/cards.c:125 msgid "" "Take two resource cards of any type from the bank (cards may be of the same " "or different types)" msgstr "" #. Description of a development card of 1 victory point #: ../common/cards.c:134 msgid "One victory point" msgstr "" #. Description of the 'Soldier' development card #: ../common/cards.c:137 msgid "" "Move the robber to a different space and take one resource card from another " "player adjacent to that space" msgstr "" #: ../common/game.c:523 #, c-format msgid "Obsolete rule: '%s'\n" msgstr "" #: ../common/game.c:530 #, c-format msgid "" "The game uses the new rule '%s', which is not yet supported. Consider " "upgrading.\n" msgstr "" #: ../common/game.c:924 ../common/game.c:955 msgid "This game cannot be won." msgstr "Dette spill kan ikke vindes" #: ../common/game.c:925 msgid "There is no land." msgstr "Der er ikke noget land." #: ../common/game.c:959 msgid "It is possible that this game cannot be won." msgstr "Det er muligt at dette spil ikke kan vindes." #: ../common/game.c:965 msgid "This game can be won by only building all settlements and cities." msgstr "Dette spil kan kun vindes ved at bygge alle bebyggelser og byer." #: ../common/game.c:971 #, fuzzy, c-format msgid "" "Required victory points: %d\n" "Points obtained by building all: %d\n" "Points in development cards: %u\n" "Longest road/largest army: %d+%d\n" "Maximum island discovery bonus: %d\n" "Total: %d" msgstr "" "Krævede sejers point: %d\n" "Point opnÃ¥et ved bygning ialt: %d\n" "Point fra udviklingskort: %d\n" "Længeste vej/største hær: %d+%d\n" "Maksimal bonus for opdagelse af øer: %d\n" "Total: %d" #: ../common/game-list.c:111 #, c-format msgid "Looking for games in '%s'\n" msgstr "" #: ../common/game-list.c:113 #, c-format msgid "Game directory '%s' not found\n" msgstr "" #: ../common/game-list.c:131 #, fuzzy, c-format msgid "Unable to load game: '%s'\n" msgstr "Kunne ikke indlæse '%s'" #: ../common/game-list.c:151 #, fuzzy msgid "No games available\n" msgstr "Beklager, %s tilgængelig.\n" #: ../common/gtk/aboutbox.c:53 msgid "" "Pioneers is based upon the excellent\n" "Settlers of Catan board game.\n" msgstr "" "Pioneers er baseret pÃ¥ det fantastiske\n" "Settlers og Catan brædtspil.\n" # #. Translators: add your name here. Keep the list #. * alphabetically, do not remove any names, and add #. * \n after your name (except the last name). #. #: ../common/gtk/aboutbox.c:63 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " carson https://launchpad.net/~nanker" #. Caption for result of checking victory points #: ../common/gtk/common_gtk.c:324 msgid "Victory Point Analysis" msgstr "" #. Tooltip for sevens rule normal #: ../common/gtk/game-rules.c:110 msgid "All sevens move the robber or pirate" msgstr "Alle 7'ere flytter røvere eller pirater" #. Tooltip for sevens rule reroll on 1st 2 turns #: ../common/gtk/game-rules.c:114 msgid "In the first two turns all sevens are rerolled" msgstr "I de to første ture slÃ¥s alle 7'ere om" #. Tooltip for sevens rule reroll all #: ../common/gtk/game-rules.c:118 msgid "All sevens are rerolled" msgstr "Alle 7'ere slÃ¥s om" #: ../common/gtk/game-rules.c:129 msgid "Randomize terrain" msgstr "Tilfældigt terræn" #: ../common/gtk/game-rules.c:129 msgid "Randomize the terrain" msgstr "Lav tilfældigt terræn" #: ../common/gtk/game-rules.c:132 msgid "Use pirate" msgstr "Brug pirat" #: ../common/gtk/game-rules.c:133 msgid "Use the pirate to block ships" msgstr "Brug piraten til at blokkere skibe" #: ../common/gtk/game-rules.c:135 msgid "Strict trade" msgstr "Begrænset handel" #: ../common/gtk/game-rules.c:136 msgid "Allow trade only before building or buying" msgstr "Tillad kun handel før bygning eller indkøb" #: ../common/gtk/game-rules.c:138 msgid "Domestic trade" msgstr "Indenlandsk handel" #: ../common/gtk/game-rules.c:139 msgid "Allow trade between players" msgstr "Tillad handel mellem spillere" #: ../common/gtk/game-rules.c:141 msgid "Victory at end of turn" msgstr "Sejer ved turens slutning" #: ../common/gtk/game-rules.c:142 msgid "Check for victory only at end of turn" msgstr "Tjek for sejer ved turens slutning" #: ../common/gtk/game-rules.c:145 msgid "Use dice deck" msgstr "" #: ../common/gtk/game-rules.c:147 msgid "Use a deck of 36 dice cards instead of real dice" msgstr "" #. Label #: ../common/gtk/game-rules.c:155 #, fuzzy msgid "Number of dice decks" msgstr "Type af computerspiller" #: ../common/gtk/game-rules.c:172 msgid "The number of dice decks (of 36 cards each)" msgstr "" #. Label #: ../common/gtk/game-rules.c:180 msgid "Number of removed dice cards" msgstr "" #: ../common/gtk/game-rules.c:199 msgid "The number of dice cards that are removed after shuffling the deck" msgstr "" #. Label #: ../common/gtk/game-rules.c:207 #, fuzzy msgid "Island discovery bonuses" msgstr "Bonus for opdagelse af ø:" #. Tooltip for island bonus #: ../common/gtk/game-rules.c:219 msgid "A comma separated list of bonus points for discovering islands" msgstr "" #. Tooltip for the check button #: ../common/gtk/game-rules.c:237 #, fuzzy msgid "Check and correct island discovery bonuses" msgstr "Bonus for opdagelse af ø:" #. Label text for customising a game #: ../common/gtk/game-settings.c:105 msgid "Number of players" msgstr "Antal spillere" #. Tooltip for 'Number of Players' #: ../common/gtk/game-settings.c:124 msgid "The number of players" msgstr "Antallet af spillere" #. Label for customising a game #: ../common/gtk/game-settings.c:127 msgid "Victory point target" msgstr "Point for sejer" #. Tooltip for Victory Point Target #: ../common/gtk/game-settings.c:147 msgid "The points needed to win the game" msgstr "Nødvendigt antal point for at vinde spillet" #. Tooltip for the check button #: ../common/gtk/game-settings.c:161 msgid "Is it possible to win this game?" msgstr "Er det muligt at vinde dette spil?" #. Port indicator for a resource: trade 2 for 1 #: ../common/gtk/guimap.c:742 msgid "2:1" msgstr "2 for 1" #. Port indicator: trade 3 for 1 #. General port indicator #: ../common/gtk/guimap.c:745 ../common/gtk/guimap.c:770 msgid "3:1" msgstr "3 for 1" #. Port indicator for brick #: ../common/gtk/guimap.c:750 msgid "Brick port|B" msgstr "Murstens port|M" #. Port indicator for grain #: ../common/gtk/guimap.c:754 msgid "Grain port|G" msgstr "Korn port|K" #. Port indicator for ore #: ../common/gtk/guimap.c:758 msgid "Ore port|O" msgstr "Malm port|M" #. Port indicator for wool #: ../common/gtk/guimap.c:762 msgid "Wool port|W" msgstr "Uld port|U" #. Port indicator for lumber #: ../common/gtk/guimap.c:766 msgid "Lumber port|L" msgstr "Tømmer port|T" #. Tooltip for the list of metaservers #: ../common/gtk/metaserver.c:85 msgid "Select a metaserver" msgstr "Start meta server" #. Tooltip for the list of games #: ../common/gtk/select-game.c:135 msgid "Select a game" msgstr "Vælg et spil" #. Log prefix #: ../common/log.c:58 msgid "*ERROR* " msgstr "*FEJL* " #. Log prefix #: ../common/log.c:66 msgid "Chat: " msgstr "Caht: " #. Log prefix #: ../common/log.c:70 msgid "Resource: " msgstr "Ressource: " #. Log prefix #: ../common/log.c:74 msgid "Build: " msgstr "Byg: " #. Log prefix #: ../common/log.c:78 msgid "Dice: " msgstr "Terning: " #. Log prefix #: ../common/log.c:82 msgid "Steal: " msgstr "Stjæl: " #. Log prefix #: ../common/log.c:86 msgid "Trade: " msgstr "Handel: " #. Log prefix #: ../common/log.c:90 msgid "Development: " msgstr "Udvikling: " #. Log prefix #: ../common/log.c:94 msgid "Army: " msgstr "Hær: " #. Log prefix #: ../common/log.c:98 msgid "Road: " msgstr "Vej: " #. Log prefix #: ../common/log.c:102 msgid "*BEEP* " msgstr "*Bip* " #. Log prefix #: ../common/log.c:108 msgid "Player 1: " msgstr "Spiller 1: " #. Log prefix #: ../common/log.c:112 msgid "Player 2: " msgstr "Spiller 2: " #. Log prefix #: ../common/log.c:116 msgid "Player 3: " msgstr "Spiller 3: " #. Log prefix #: ../common/log.c:120 msgid "Player 4: " msgstr "Spiller 4: " #. Log prefix #: ../common/log.c:124 msgid "Player 5: " msgstr "Spiller 5: " #. Log prefix #: ../common/log.c:128 msgid "Player 6: " msgstr "Spiller 6: " #. Log prefix #: ../common/log.c:132 msgid "Player 7: " msgstr "Spiller 7: " #. Log prefix #: ../common/log.c:136 msgid "Player 8: " msgstr "Spiller 8: " #. Log prefix #: ../common/log.c:140 msgid "Spectator: " msgstr "" #. Log prefix #: ../common/log.c:144 msgid "** UNKNOWN MESSAGE TYPE ** " msgstr "** UKENDT MEDDELELSESTYPE ** " #: ../common/network.c:143 #, c-format msgid "Error writing to socket: %s\n" msgstr "" #: ../common/network.c:154 msgid "Could not send all data\n" msgstr "" #: ../common/network.c:202 msgid "Read buffer overflow - disconnecting\n" msgstr "" #: ../common/network.c:226 #, c-format msgid "Error reading socket: %s\n" msgstr "" #: ../common/network.c:378 #, fuzzy, c-format msgid "Error connecting to %s: %s\n" msgstr "Fejl ved tilslutning til %s: %s\n" #: ../common/network.c:566 ../common/network.c:567 msgid "unknown" msgstr "ukendt" #: ../common/state.c:203 #, c-format msgid "Connecting to %s, port %s\n" msgstr "Opretter forbindelse til %s, port %s\n" #. Error message #: ../common/state.c:333 msgid "State stack overflow. Stack dump sent to standard error.\n" msgstr "" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:113 msgid "_Hill" msgstr "_Bakke" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:115 msgid "_Field" msgstr "_Mark" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:117 msgid "_Mountain" msgstr "_Bjerg" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:119 msgid "_Pasture" msgstr "G_ræsmark" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:121 msgid "F_orest" msgstr "_Skov" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:123 msgid "_Desert" msgstr "_Ørken" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:125 msgid "_Sea" msgstr "_Hav" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:127 msgid "_Gold" msgstr "_Guld" #. Use an unique shortcut key for each resource #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:129 ../editor/gtk/editor.c:144 msgid "_None" msgstr "_Ingen" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:134 msgid "_Brick (2:1)" msgstr "_Mursten (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:136 msgid "_Grain (2:1)" msgstr "_Korn (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:138 msgid "_Ore (2:1)" msgstr "_Malm (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:140 msgid "_Wool (2:1)" msgstr "_Uld (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:142 msgid "_Lumber (2:1)" msgstr "_Tømmer (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:146 msgid "_Any (3:1)" msgstr "_Noget (3:1)" #. East #: ../editor/gtk/editor.c:151 msgid "East|E" msgstr "Øst|Ø" #. North east #: ../editor/gtk/editor.c:153 msgid "North East|NE" msgstr "Nord Øst|NØ" #. North west #: ../editor/gtk/editor.c:155 msgid "North West|NW" msgstr "Nord Vest|NV" #. West #: ../editor/gtk/editor.c:157 msgid "West|W" msgstr "Vest|V" #. South west #: ../editor/gtk/editor.c:159 msgid "South West|SW" msgstr "Syd Vest|SV" #. South east #: ../editor/gtk/editor.c:161 msgid "South East|SE" msgstr "Syd Øst|SØ" #: ../editor/gtk/editor.c:368 msgid "Place a hill hex" msgstr "" #: ../editor/gtk/editor.c:369 msgid "Place a field hex" msgstr "" #: ../editor/gtk/editor.c:370 msgid "Place a mountain hex" msgstr "" #: ../editor/gtk/editor.c:371 msgid "Place a pasture hex" msgstr "" #: ../editor/gtk/editor.c:372 msgid "Place a forest hex" msgstr "" #: ../editor/gtk/editor.c:373 msgid "Place a desert hex" msgstr "" #: ../editor/gtk/editor.c:374 msgid "Place a sea hex" msgstr "" #: ../editor/gtk/editor.c:375 msgid "Place a gold hex" msgstr "" #: ../editor/gtk/editor.c:376 msgid "Clear the hex" msgstr "" #: ../editor/gtk/editor.c:384 msgid "Place a 2 chit" msgstr "" #: ../editor/gtk/editor.c:385 msgid "Place a 3 chit" msgstr "" #: ../editor/gtk/editor.c:386 msgid "Place a 4 chit" msgstr "" #: ../editor/gtk/editor.c:387 msgid "Place a 5 chit" msgstr "" #: ../editor/gtk/editor.c:388 msgid "Place a 6 chit" msgstr "" #: ../editor/gtk/editor.c:390 msgid "Place an 8 chit" msgstr "" #: ../editor/gtk/editor.c:391 msgid "Place a 9 chit" msgstr "" #: ../editor/gtk/editor.c:392 msgid "Place a 10 chit" msgstr "" #: ../editor/gtk/editor.c:393 msgid "Place an 11 chit" msgstr "" #: ../editor/gtk/editor.c:394 msgid "Place a 12 chit" msgstr "" #: ../editor/gtk/editor.c:400 msgid "Place a brick 2:1 port" msgstr "" #: ../editor/gtk/editor.c:401 msgid "Place a grain 2:1 port" msgstr "" #: ../editor/gtk/editor.c:402 msgid "Place an ore 2:1 port" msgstr "" #: ../editor/gtk/editor.c:403 msgid "Place a wool 2:1 port" msgstr "" #: ../editor/gtk/editor.c:404 msgid "Place a lumber 2:1 port" msgstr "" #. Tooltip to remove a port tile in the editor #: ../editor/gtk/editor.c:406 #, fuzzy msgid "Remove a port" msgstr "Server port" #: ../editor/gtk/editor.c:407 msgid "Place a 3:1 port" msgstr "" #: ../editor/gtk/editor.c:437 msgid "" "Select the terrain type with the context menu on the left click or toggle a " "node to exclude it from being used during the setup phase" msgstr "" #: ../editor/gtk/editor.c:572 msgid "Insert a row" msgstr "" #: ../editor/gtk/editor.c:573 #, fuzzy msgid "Delete a row" msgstr "Slet" #: ../editor/gtk/editor.c:574 msgid "Insert a column" msgstr "" #: ../editor/gtk/editor.c:575 msgid "Delete a column" msgstr "" #. Label #: ../editor/gtk/editor.c:978 #, fuzzy msgid "_Title" msgstr "Ændre _titel" #. Label #: ../editor/gtk/editor.c:991 #, fuzzy msgid "_Description" msgstr "_Ørken" #. Label #: ../editor/gtk/editor.c:1009 msgid "_Comments" msgstr "" #. Menu item #: ../editor/gtk/editor.c:1139 msgid "Shuffle" msgstr "Bland" #. Caption #. Game settings frame #: ../editor/gtk/editor.c:1294 ../server/gtk/main.c:968 msgid "Game parameters" msgstr "Spil parametre" #. Caption #. Rules frame #: ../editor/gtk/editor.c:1297 ../server/gtk/main.c:983 msgid "Rules" msgstr "Regler" #. Caption #: ../editor/gtk/editor.c:1299 msgid "Resources" msgstr "Ressourcer" #. Caption #: ../editor/gtk/editor.c:1302 msgid "Buildings" msgstr "Bygninger" #. The game in the editor does not have a name yet #: ../editor/gtk/editor.c:1319 msgid "Untitled" msgstr "" #. Application caption #: ../editor/gtk/editor.c:1324 ../editor/gtk/pioneers-editor.desktop.in.h:1 msgid "Pioneers Editor" msgstr "Editor for Pioneers" #: ../editor/gtk/editor.c:1434 #, c-format msgid "Failed to load '%s'" msgstr "Kunne ikke indlæse '%s'" #: ../editor/gtk/editor.c:1482 #, c-format msgid "Failed to save to '%s'" msgstr "Kunne ikke gemme '%s'" #. Name of the file filter: show only games #: ../editor/gtk/editor.c:1499 #, fuzzy msgid "Games" msgstr "_Spil" #. Name of the file filter: show all files #: ../editor/gtk/editor.c:1505 msgid "Unfiltered" msgstr "" #. Dialog caption #: ../editor/gtk/editor.c:1517 msgid "Open Game" msgstr "Ã…bn spil" #. Button text #: ../editor/gtk/editor.c:1524 #, fuzzy msgid "_Open" msgstr "_Ã…ben..." #. Dialog caption #: ../editor/gtk/editor.c:1558 msgid "Save As..." msgstr "Gem som..." #. Button text #: ../editor/gtk/editor.c:1565 #, fuzzy msgid "Save _As" msgstr "Gem _som..." #. Dialog caption #: ../editor/gtk/editor.c:1606 msgid "Change Title" msgstr "Ændre titel" #. Label #: ../editor/gtk/editor.c:1631 msgid "New title:" msgstr "Ny titel:" #. Caption of about box #: ../editor/gtk/editor.c:1688 msgid "About Pioneers Game Editor" msgstr "Om Pioneers editor" #. Menu entry #: ../editor/gtk/editor.c:1718 msgid "_File" msgstr "_Arkivér" #. Menu entry #: ../editor/gtk/editor.c:1728 msgid "_New" msgstr "_Ny" #: ../editor/gtk/editor.c:1729 msgid "Create a new game" msgstr "Skab et nyt spil" #. Menu entry #: ../editor/gtk/editor.c:1732 msgid "_Open..." msgstr "_Ã…ben..." #. Tooltip for Open menu entry #: ../editor/gtk/editor.c:1734 msgid "Open an existing game" msgstr "Ã…ben et bestÃ¥ende spil" #. Menu entry #: ../editor/gtk/editor.c:1737 msgid "_Save" msgstr "_Gem" #. Tooltip for Save menu entry #: ../editor/gtk/editor.c:1739 msgid "Save game" msgstr "Gem spil" #. Menu entry #: ../editor/gtk/editor.c:1742 msgid "Save _As..." msgstr "Gem _som..." #. Tooltip for Save As menu entry #: ../editor/gtk/editor.c:1745 msgid "Save as" msgstr "Gem som" #. Menu entry #: ../editor/gtk/editor.c:1748 #, fuzzy msgid "Change _Title" msgstr "Ændre titel" #. Tooltip for Change Title menu entry #: ../editor/gtk/editor.c:1750 msgid "Change game title" msgstr "Ændre spil titel" #. Menu entry #: ../editor/gtk/editor.c:1753 ../server/gtk/main.c:97 msgid "_Check Victory Point Target" msgstr "Tjek _pointmÃ¥l for at vinde" #. Tooltip for Check Victory Point Target menu entry #. Tooltop for Check Victory Point Target menu entry #: ../editor/gtk/editor.c:1756 ../server/gtk/main.c:100 msgid "Check whether the game can be won" msgstr "Tjek om spillet kan vindes" #. Tooltip for Quit menu entry #: ../editor/gtk/editor.c:1761 msgid "Quit" msgstr "Afslut" #. Menu entry #: ../editor/gtk/editor.c:1783 msgid "_About Pioneers Editor" msgstr "_Om Pioneers editor" #. Tooltip for About Pioneers Editor menu entry #: ../editor/gtk/editor.c:1785 msgid "Information about Pioneers Editor" msgstr "Information om Pioneers editor" #. Long help for commandline option (editor): filename #: ../editor/gtk/editor.c:1838 msgid "Open this file" msgstr "Ã…ben denne fil" #. Commandline option for editor: filename #. Commandline metaserver: pidfile argument #: ../editor/gtk/editor.c:1840 ../metaserver/main.c:615 msgid "filename" msgstr "filnavn" #. Long description in the command line: --help #: ../editor/gtk/editor.c:1877 msgid "- Editor for games of Pioneers" msgstr "- Editor for Pioneers spil" #. Error message #: ../editor/gtk/editor.c:1921 ../server/gtk/main.c:1256 #, c-format msgid "Building menus failed: %s" msgstr "" #. Tab page name #: ../editor/gtk/editor.c:1951 msgid "Settings" msgstr "Opsætninger" #. Tab page name #: ../editor/gtk/editor.c:1954 msgid "Comments" msgstr "" #: ../editor/gtk/game-resources.c:48 msgid "Resource count" msgstr "Ressource optælling" #: ../editor/gtk/pioneers-editor.desktop.in.h:2 msgid "Create your own game for Pioneers" msgstr "Skab dit eget spil til Pioneers" #: ../editor/gtk/pioneers-editor.desktop.in.h:3 msgid "game;board;create;edit;layout;Pioneers;Settlers;" msgstr "" #. Commandline metaserver: daemon #: ../metaserver/main.c:610 #, fuzzy msgid "Daemonize the metaserver on start" msgstr "Kør metaserver i baggrund ved start" #. Commandline metaserver: pidfile #: ../metaserver/main.c:613 msgid "Pidfile to create when daemonizing (implies -d)" msgstr "" #. Commandline metaserver: redirect #: ../metaserver/main.c:618 #, fuzzy msgid "Redirect clients to another metaserver" msgstr "Omdiriger klienter til en anden metaserver" #. Commandline metaserver: server #: ../metaserver/main.c:621 msgid "Use this hostname when creating new games" msgstr "Brug dette værtsnavn nÃ¥r der skabes et nyt spil" #. Commandline metaserver: server argument #: ../metaserver/main.c:623 msgid "hostname" msgstr "værtsnavn" #. Commandline metaserver: port-range #: ../metaserver/main.c:626 msgid "Use this port range when creating new games" msgstr "Anvend det her portinterval nÃ¥r nye spil skabes" #. Commandline metaserver: port-range argument #: ../metaserver/main.c:628 msgid "from-to" msgstr "fra-til" #. Commandline option of metaserver: syslog-debug #: ../metaserver/main.c:634 msgid "Debug syslog messages" msgstr "Fejlmeddelelse til systemlog" #. Long description in the commandline for metaserver: help #: ../metaserver/main.c:675 msgid "- Metaserver for Pioneers" msgstr "- Metaserver for Pioneers" #: ../metaserver/main.c:691 #, fuzzy, c-format msgid "metaserver protocol:" msgstr "metaserver protekol:" #: ../server/avahi.c:68 msgid "Avahi registration successful.\n" msgstr "" #: ../server/avahi.c:78 #, c-format msgid "Avahi service name collision, renaming service to '%s'.\n" msgstr "" #. Some kind of failure happened while we were registering #: ../server/avahi.c:89 #, c-format msgid "Avahi error: %s\n" msgstr "" #: ../server/avahi.c:113 ../server/avahi.c:145 ../server/avahi.c:155 #: ../server/avahi.c:191 ../server/avahi.c:212 ../server/avahi.c:226 #, fuzzy, c-format msgid "Avahi error: %s, %s\n" msgstr "Fejl (%s): %s\n" #: ../server/avahi.c:213 ../server/avahi.c:227 msgid "Unable to register Avahi server" msgstr "" #: ../server/avahi.c:260 msgid "Unregistering Avahi.\n" msgstr "" #. Menu entry #: ../server/gtk/main.c:108 msgid "_About Pioneers Server" msgstr "_Om Pioneers server" #. Tooltop for About Pioneers Server menu entry #: ../server/gtk/main.c:110 msgid "Information about Pioneers Server" msgstr "Information om Pioneers server" #: ../server/gtk/main.c:234 msgid "Stop Server" msgstr "Stop server" #: ../server/gtk/main.c:235 msgid "Start Server" msgstr "Start server" #: ../server/gtk/main.c:237 ../server/gtk/main.c:996 msgid "Stop the server" msgstr "Stop serveren" #: ../server/gtk/main.c:238 msgid "Start the server" msgstr "Start serveren" #: ../server/gtk/main.c:395 #, c-format msgid "Player %s from %s entered\n" msgstr "Spiller %s fra %s ankommet\n" #: ../server/gtk/main.c:402 #, c-format msgid "Player %s from %s left\n" msgstr "Spiller %s fra %s forlod spil\n" #: ../server/gtk/main.c:409 #, c-format msgid "Player %d is now %s\n" msgstr "Spiller %d er nu %s\n" #: ../server/gtk/main.c:570 msgid "The port for the game server" msgstr "Porten for spil serveren" #. register_toggle #: ../server/gtk/main.c:579 msgid "Register server" msgstr "Registrer server" #: ../server/gtk/main.c:587 msgid "Register this game at the metaserver" msgstr "Registrer dette spil pÃ¥ metaserveren" #. hostname label #: ../server/gtk/main.c:618 msgid "Reported hostname" msgstr "Rapporteret værtsnavn" #: ../server/gtk/main.c:633 msgid "" "The public name of this computer (needed when playing behind a firewall)" msgstr "" "Det offentlige navn for denne computer (nødvendigt nÃ¥r der spilles bag en " "firewall)" #. random toggle #: ../server/gtk/main.c:652 #, fuzzy msgid "Random turn order" msgstr "Skab en tilfældig tur rækkefølge" #: ../server/gtk/main.c:659 msgid "Randomize turn order" msgstr "Skab en tilfældig tur rækkefølge" #. Tooltip for server connection overview #: ../server/gtk/main.c:730 #, fuzzy msgid "Shows all players and spectators connected to the server" msgstr "Vis alle spillere og tilskuere, der er tilsluttet serveren" #. Label for column Connected #: ../server/gtk/main.c:735 msgid "Connected" msgstr "Tilsluttet" #. Tooltip for column Connected #: ../server/gtk/main.c:742 msgid "Is the player currently connected?" msgstr "er spilleren tilsluttet?" #. Label for column Name #: ../server/gtk/main.c:747 msgid "Name" msgstr "Navn" #. Tooltip for column Name #: ../server/gtk/main.c:754 msgid "Name of the player" msgstr "Navn pÃ¥ spiller" #. Label for column Location #: ../server/gtk/main.c:758 msgid "Location" msgstr "Placering" #. Tooltip for column Location #: ../server/gtk/main.c:765 msgid "Host name of the player" msgstr "Værts navn for spilleren" #. Label for column Number #: ../server/gtk/main.c:771 msgid "Number" msgstr "Nummer" #. Tooltip for column Number #: ../server/gtk/main.c:778 msgid "Player number" msgstr "Spiller nummer" #. Label for column Role #: ../server/gtk/main.c:784 msgid "Role" msgstr "Rolle" #. Tooltip for column Role #: ../server/gtk/main.c:788 #, fuzzy msgid "Player or spectator" msgstr "Tilskuere" #. Button text #: ../server/gtk/main.c:825 msgid "Launch Pioneers Client" msgstr "Start Pioneers klient" #. Tooltip #: ../server/gtk/main.c:839 msgid "Launch the Pioneers client" msgstr "Start Pioneers klienten" #. ai chat toggle #: ../server/gtk/main.c:868 msgid "Enable chat" msgstr "Tilslut chat" #. Tooltip #: ../server/gtk/main.c:875 msgid "Enable chat messages" msgstr "Tillad chat meddelelser" #. Button text #: ../server/gtk/main.c:884 msgid "Add Computer Player" msgstr "Tilføj computer spiller" #. Tooltip #: ../server/gtk/main.c:892 msgid "Add a computer player to the game" msgstr "Tilføj en computerspiller til spillet" #. Tooltip #: ../server/gtk/main.c:925 msgid "Messages from the server" msgstr "Meddelelse fra serveren" #: ../server/gtk/main.c:961 msgid "Game settings" msgstr "Spilopsætning" #. server frame #: ../server/gtk/main.c:972 msgid "Server parameters" msgstr "Server parametre" #: ../server/gtk/main.c:992 msgid "Running game" msgstr "Kører spillet" #. player connected frame #: ../server/gtk/main.c:1008 msgid "Players connected" msgstr "Spillere tilsluttet" #. ai frame #: ../server/gtk/main.c:1012 msgid "Computer players" msgstr "Computer spillere" #. message frame #: ../server/gtk/main.c:1024 msgid "Messages" msgstr "Beskeder" #. Caption of about box #: ../server/gtk/main.c:1150 #, fuzzy msgid "About the Pioneers Game Server" msgstr "Pioneers spil server" # #. Wait for all players to disconnect, #. * then enable the UI #. #: ../server/gtk/main.c:1158 msgid "The game is over.\n" msgstr "Spiller er slut.\n" #. Long description in the commandline for server-gtk: help #. Long description in the commandline for server-console: help #: ../server/gtk/main.c:1212 ../server/main.c:194 msgid "- Host a game of Pioneers" msgstr "- Vær vært for et spil Pioneers" #. Name in the titlebar of the server #: ../server/gtk/main.c:1236 ../server/gtk/pioneers-server-gtk.desktop.in.h:1 msgid "Pioneers Server" msgstr "Pioneer Server" #: ../server/gtk/pioneers-server-gtk.desktop.in.h:2 msgid "Host a game of Pioneers" msgstr "Vær vært for et spil Pioneers" #: ../server/gtk/pioneers-server-gtk.desktop.in.h:3 msgid "game;board;server;host;Pioneers;Settlers;" msgstr "" #. Commandline server-console: game-title #: ../server/main.c:80 msgid "Game title to use" msgstr "Spil titel der kan bruges" #. Commandline server-console: file #: ../server/main.c:83 msgid "Game file to use" msgstr "Spil fil der kan bruges" #. Commandline server-console: port #: ../server/main.c:86 msgid "Port to listen on" msgstr "Port at lytte til" #. Commandline server-console: players #: ../server/main.c:89 msgid "Override number of players" msgstr "Tilsidesæt antal spillere" #. Commandline server-console: points #: ../server/main.c:92 msgid "Override number of points needed to win" msgstr "tilsidesæt antal point, der er nødvendige for at vinde" #. Commandline server-console: seven-rule #: ../server/main.c:95 msgid "Override seven-rule handling" msgstr "Tilsidesæt 7'er regel" #. Commandline server-console: dice-deck #: ../server/main.c:98 #, fuzzy msgid "Override dice-deck handling" msgstr "Tilsidesæt 7'er regel" #. Commandline server-console: num-dice-decks #: ../server/main.c:101 #, fuzzy msgid "Override num-dice-decks handling" msgstr "Tilsidesæt 7'er regel" #. Commandline server-console: num-removed-dice-cards #: ../server/main.c:105 #, fuzzy msgid "Override num-removed-dice-cards handling" msgstr "Tilsidesæt 7'er regel" #. Commandline server-console: terrain #: ../server/main.c:108 msgid "Override terrain type, 0=default 1=random" msgstr "Tilsidesæt terræntype, 0=standard 1=tilfældig" #. Commandline server-console: computer-players #: ../server/main.c:111 msgid "Add N computer players" msgstr "Tilføj N computerspillere" #. Commandline server-console: register #: ../server/main.c:121 msgid "Register server with metaserver" msgstr "Registrer server hos metaserver" #. Commandline server-console: metaserver #: ../server/main.c:124 msgid "Register at metaserver name (implies -r)" msgstr "" #. Commandline server-console: hostname #: ../server/main.c:128 msgid "Use this hostname when registering" msgstr "Brug dette værtsnavn ved registrering" #. Commandline server-console: auto-quit #: ../server/main.c:135 msgid "Quit after a player has won" msgstr "Afbryd nÃ¥r en spiller har vundet" #. Commandline server-console: empty-timeout #: ../server/main.c:138 msgid "Quit after N seconds with no players" msgstr "Afbryd efter N sekunder uden spillere" #. Commandline server-console: tournament #: ../server/main.c:141 msgid "Tournament mode, computer players added after N minutes" msgstr "" #. Commandline server-console: admin-port #: ../server/main.c:145 msgid "Admin port to listen on" msgstr "Administrationsport at lytte pÃ¥" #. Commandline server-console: admin-wait #: ../server/main.c:148 msgid "Don't start game immediately, wait for a command on admin port" msgstr "Start ikke spilllet lige nu, vent for besked pÃ¥ admin port" #. Commandline server-console: fixed-seating-order #: ../server/main.c:154 msgid "Give players numbers according to the order they enter the game" msgstr "" "Giv spillerne et nummer svarende til den rækkefølge de meldte sig til spillet" #. Commandline server-console: Short description of meta group #: ../server/main.c:200 msgid "Metaserver Options" msgstr "Metaserver muligheder" #. Commandline server-console: Long description of meta group #: ../server/main.c:202 msgid "Options for the metaserver" msgstr "Opsætning af metaserver" #. Commandline server-console: Short description of misc group #: ../server/main.c:211 msgid "Miscellaneous Options" msgstr "Diverse indstillinger" #. Commandline server-console: Long description of misc group #: ../server/main.c:213 msgid "Miscellaneous options" msgstr "Diverse indstillinger" #. server-console commandline error #: ../server/main.c:239 #, c-format msgid "Cannot set game title and filename at the same time\n" msgstr "" #. server-console commandline error #: ../server/main.c:256 #, c-format msgid "Cannot load the parameters for the game\n" msgstr "Kan ikke indlæse parametre for spillet\n" #. Error message #: ../server/main.c:305 ../server/main.c:324 #, c-format msgid "The network port (%s) for the admin interface is not available.\n" msgstr "" #: ../server/meta.c:58 #, fuzzy msgid "The connection to the metaserver is lost.\n" msgstr "Opsætning af metaserver" #: ../server/meta.c:64 #, c-format msgid "An attempt to reconnect is scheduled in %u second.\n" msgid_plural "An attempt to reconnect is scheduled in %u seconds.\n" msgstr[0] "" msgstr[1] "" #: ../server/meta.c:83 #, fuzzy msgid "Attempting to reconnect to the metaserver.\n" msgstr "Opsætning af metaserver" #: ../server/meta.c:311 #, fuzzy, c-format msgid "Register with the metaserver at %s.\n" msgstr "Registrer med metaserver %s, port %s\n" #: ../server/meta.c:322 #, fuzzy msgid "Unregister from the metaserver.\n" msgstr "Afregistrerer fra metaserver\n" #: ../server/player.c:142 msgid "chat too long" msgstr "char for lang" #: ../server/player.c:159 msgid "name too long" msgstr "navn for langt" #: ../server/player.c:191 msgid "ignoring unknown extension" msgstr "ser bort fra ukendt extension" #: ../server/player.c:228 ../server/player.c:298 msgid "The last player left, the tournament timer is reset." msgstr "" #: ../server/player.c:262 ../server/player.c:643 msgid "No human players present. Bye." msgstr "" #: ../server/player.c:269 msgid "Game starts, adding computer players." msgstr "Spil starter, tilføjer computer spillere" #: ../server/player.c:311 #, c-format msgid "The game starts in %s minutes." msgstr "Spillet starter om %s minutter." #: ../server/player.c:312 #, c-format msgid "The game starts in %s minute." msgstr "Spillet starter om %s minutter." # #. Default name for the AI when the computer_names file #. * is not found or empty. #. #: ../server/player.c:370 ../server/player.c:376 msgid "Computer Player" msgstr "Computerspiller" #: ../server/player.c:450 #, c-format msgid "Unable to determine the hostname of the player: %s" msgstr "" #. The game is over, don't accept new players #. Message to send to the client when the game is already over #. * when a connection is made. #: ../server/player.c:476 msgid "Sorry, game is over." msgstr "Beklager, spillet er afsluttet." #: ../server/player.c:478 #, c-format msgid "Player from %s is refused: game is over\n" msgstr "Spiller fra %s er afvist: Spil er overstÃ¥et\n" #: ../server/player.c:520 msgid "Name not changed: new name is already in use" msgstr "Navn ikke ændret: Nyt navn allerede i brug" #: ../server/player.c:638 ../server/server.c:38 msgid "Was hanging around for too long without players... bye.\n" msgstr "Ventede for længe uden spillere... farvel\n" #: ../server/player.c:723 msgid "The last human player left. Waiting for the return of a player." msgstr "" #: ../server/player.c:744 msgid "Resuming the game." msgstr "" #. %s is the name of the reconnecting player #: ../server/player.c:870 #, c-format msgid "%s has reconnected." msgstr "%s har tilsluttet sig igen." #: ../server/player.c:970 #, c-format msgid "Version mismatch: %s" msgstr "Versions uoverensstemmelse: %s" #: ../server/player.c:1007 msgid "This game will start soon." msgstr "Dette spil vil starte om lidt." #. Server: preparing game #..... #: ../server/server.c:221 msgid "Preparing game" msgstr "Forbereder spil" #: ../server/turn.c:254 msgid "Island Discovery Bonus" msgstr "Bonus for opdagelse af ø" #: ../server/turn.c:255 msgid "Additional Island Bonus" msgstr "Bonus for yderligere ø" #: ../server/turn.c:386 msgid "Tried to assign resources to NULL player.\n" msgstr "Forsøgte at tildele ressourcer til NUL spiller.\n" #. Cheat mode has been activated #: ../server/turn.c:516 msgid "The dice roll has been determined by the administrator." msgstr "" #~ msgid "Join the selected game" #~ msgstr "Deltag i det valgte spil" #~ msgid "Don't join a public game" #~ msgstr "Deltag ikke i et offentligt spil" #~ msgid "Create a new public game at the metaserver" #~ msgstr "Skab et nyt offentligt spil pÃ¥ metaserveren" #~ msgid "Refresh the list of games" #~ msgstr "Genopfrisk listen over spil" #~ msgid "Version:" #~ msgstr "Version:" #~ msgid "Homepage:" #~ msgstr "Hjemmeside:" #~ msgid "Authors:" #~ msgstr "Forfattere:" #~ msgid "Pioneers is translated to by:\n" #~ msgstr "Pioneers er oversat til dansk af:\n" #~ msgid "Metaserver kicked us off\n" #~ msgstr "Mataserver smed os af\n" #~ msgid "" #~ "Note:\n" #~ "\tThe metaserver does not send information about the games.\n" #~ "\tPlease set appropriate values yourself." #~ msgstr "" #~ "Bemærk:\n" #~ "\tMetaserveren sender ikke information om spillene.\n" #~ "\tSæt selv passende værdier." #~ msgid "Error checking connect status: %s\n" #~ msgstr "Fejl ved kontrol af tilslutningsstatus: %s\n" #~ msgid "Error connecting to host '%s': %s\n" #~ msgstr "Fejl under tilslutning til vært '%s': %s\n" #~ msgid "Listening not yet supported on this platform." #~ msgstr "Lytning endnu ikke understøttet pÃ¥ denne platform." #~ msgid "Error getting peer name: %s" #~ msgstr "Fejl ved læsning af modpartens navn: %s" #~ msgid "Error resolving address: %s" #~ msgstr "Fejl ved opslag af adresse: %s" #~ msgid "Net_get_peer_name not yet supported on this platform." #~ msgstr "Net_get_peer_name er endnu ikke understøttet pÃ¥ denne platform." #~ msgid "Error accepting connection: %s" #~ msgstr "Fejl ved accept af tilslutning: %s" #, fuzzy #~ msgid "Admin port not available.\n" #~ msgstr "Beklager, %s tilgængelig.\n" #~ msgid "Viewer %d" #~ msgstr "Seer %d" #~ msgid "viewer %d" #~ msgstr "seer %d" #~ msgid "I want" #~ msgstr "Jeg ønsker" #~ msgid "Give them" #~ msgstr "Giv dem" #~ msgid "Viewer: " #~ msgstr "Tilskuer: " #~ msgid "Number of AI Players" #~ msgstr "Antal spillere" #~ msgid "The number of AI players" #~ msgstr "Antallet af spillere" #~ msgid "Recent Games" #~ msgstr "Seneste spil" #~ msgid "You may choose 1 resource" #~ msgstr "Du kan vælge en ressource" #~ msgid "_Player name" #~ msgstr "_Spillernavn" #~ msgid "The Pioneers Game" #~ msgstr "Pioneer spillet" #~ msgid "Select the ship to steal from" #~ msgstr "Vælg hvilket skib, der skal stjæles fra" #~ msgid "Select the building to steal from" #~ msgstr "Vælg en bygning at stjæle fra" #~ msgid "Development Card" #~ msgstr "Udviklingskort" #~ msgid "Player Name:" #~ msgstr "Spiller navn:" #~ msgid "I Want" #~ msgstr "Jeg ønsker" #~ msgid "Interplayer Trading Allowed?" #~ msgstr "Handel mellem spillere tilladt?" #~ msgid "Trading allowed only before build/buy?" #~ msgstr "Handel kun tilladt før bygning/indkøb?" #~ msgid "Sevens Rule:" #~ msgstr "7'er regel:" #~ msgid "Use Pirate:" #~ msgstr "Brug pirat:" #~ msgid "Number of Players" #~ msgstr "Antal spillere" #~ msgid "Development Cards" #~ msgstr "Udviklingskort" #~ msgid "Save as..." #~ msgstr "Gem som ..." #~ msgid "Pioneers Game Editor" #~ msgstr "Pioneers spil editor" #~ msgid "_Change title" #~ msgstr "_Ændre titel" #~ msgid "Random Turn Order" #~ msgstr "Tilfældig rækkefølge" #~ msgid "_Legend" #~ msgstr "_Forklaring" #~ msgid "Missing game directory\n" #~ msgstr "Mangler spil katalog\n" pioneers-15.5/po/hu.po0000644000175000017500000030706213252242740011614 00000000000000# Pioneers - Settlers of Catan for GNOME. # Copyright (C) 1999-2001 Dave Cole # Copyright (C) 2000-2002 Andy Heroff # This file is distributed under the same license as the pioneers package. # Ferenc Bánhidi , 2005-2007. # # msgid "" msgstr "" "Project-Id-Version: Pioneers 0.12.2\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-03-14 16:51+0100\n" "PO-Revision-Date: 2008-04-05 15:37+0200\n" "Last-Translator: Ferenc Bánhidi \n" "Language-Team: Hungarian \n" "Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n!=1)\n" #. Commandline pioneersai: chromosome-file #: ../client/ai/ai.c:90 msgid "Chromosome File" msgstr "" #. Commandline pioneersai: server #: ../client/ai/ai.c:93 msgid "Server Host" msgstr "Szerver gép" #. Commandline pioneersai: port #: ../client/ai/ai.c:96 msgid "Server Port" msgstr "Szerver port" #. Commandline pioneersai: name #: ../client/ai/ai.c:99 msgid "Computer name (mandatory)" msgstr "Gép név (kötelezÅ‘)" #. Commandline pioneersai: time #: ../client/ai/ai.c:102 msgid "Time to wait between turns (in milliseconds)" msgstr "Körök között ennyit vár (milliszekundumban)" #. Commandline pioneersai: chat-free #: ../client/ai/ai.c:105 msgid "Stop computer player from talking" msgstr "Robot játékos nem beszél" #. Commandline pioneersai: algorithm #: ../client/ai/ai.c:108 msgid "Type of computer player" msgstr "A játékos típusa" #. Commandline option of ai: enable debug logging #. Commandline option of client: enable debug logging #. Commandline option of metaserver: enable debug logging #. Commandline option of server-gtk: enable debug logging #. Commandline option of server: enable debug logging #: ../client/ai/ai.c:111 ../client/gtk/offline.c:67 ../metaserver/main.c:631 #: ../server/gtk/main.c:1170 ../server/main.c:159 msgid "Enable debug messages" msgstr "Debug üzenetek engedélyezése" #. Commandline option of ai: version #. Commandline option of client: version #. Commandline option of editor: version #. Commandline option of metaserver: version #. Commandline option of server-gtk: version #. Commandline option of server-console: version #: ../client/ai/ai.c:114 ../client/gtk/offline.c:70 ../editor/gtk/editor.c:1843 #: ../metaserver/main.c:637 ../server/gtk/main.c:1173 ../server/main.c:114 msgid "Show version information" msgstr "Verzió információ" #. Long description in the commandline for pioneersai: help #: ../client/ai/ai.c:125 msgid "- Computer player for Pioneers" msgstr "- Robot játékos a Pioneers játékhoz" #: ../client/ai/ai.c:137 ../client/gtk/offline.c:196 #: ../editor/gtk/editor.c:1888 ../metaserver/main.c:687 #: ../server/gtk/main.c:1223 ../server/main.c:226 #, c-format msgid "Pioneers version:" msgstr "Pioneers verzió" #. ai commandline error #: ../client/ai/ai.c:160 #, c-format msgid "A name must be provided.\n" msgstr "Meg kell adni egy nevet.\n" #: ../client/ai/ai.c:171 #, c-format msgid "Type of computer player: %s\n" msgstr "Robot játékos típusa: %s\n" #: ../client/ai/ai.c:202 msgid "The game is already full. I'm leaving." msgstr "Ez a játék már megtelt. Távozom." #. AI chat at the start of the turn #: ../client/ai/ai.c:230 msgid "Ok, let's go!" msgstr "Oké, na rajta!" #. AI chat at the start of the turn #: ../client/ai/ai.c:232 msgid "I'll beat you all now! ;)" msgstr "Most mindenkit legyÅ‘zök ;)" #. AI chat at the start of the turn #: ../client/ai/ai.c:234 msgid "Now for another try..." msgstr "Most még egy kísérlet..." #. AI chat when one resource is received #: ../client/ai/ai.c:239 msgid "At least I get something..." msgstr "Legalább kapok valami keveset..." #. AI chat when one resource is received #: ../client/ai/ai.c:241 msgid "One is better than none..." msgstr "Egy több mint a semmi..." #. AI chat when more than one resource is received #: ../client/ai/ai.c:246 msgid "Wow!" msgstr "Remek!" #. AI chat when more than one resource is received #: ../client/ai/ai.c:248 msgid "Ey, I'm becoming rich ;)" msgstr "Én leszek a legjobb ;)" #. AI chat when more than one resource is received #: ../client/ai/ai.c:250 msgid "This is really a good year!" msgstr "Ez valóban egy jó év!" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:255 msgid "You really don't deserve that much!" msgstr "Te valóban nem érdemelsz többet!" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:257 msgid "You don't know what to do with that many resources ;)" msgstr "Nem tudsz mit csinálni a rengeteg nyersanyaggal ;)" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:259 msgid "Ey, wait for my robber and lose all this again!" msgstr "Na, várj csak majd kirabollak, és elveszítesz mindent újból!" #. AI chat when it moves the robber #: ../client/ai/ai.c:264 msgid "Hehe!" msgstr "Hehe!" #. AI chat when it moves the robber #: ../client/ai/ai.c:266 msgid "Go, robber, go!" msgstr "Menj, rabló menj!" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:271 msgid "You bastard!" msgstr "Szemét!" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:273 msgid "Can't you move that robber somewhere else?!" msgstr "Nem tennéd a rablót valahová máshová?!" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:275 msgid "Why always me??" msgstr "Miért mindig én??" #. AI chat when it must discard resources #: ../client/ai/ai.c:280 msgid "Oh no!" msgstr "Ó, ne!" #. AI chat when it must discard resources #: ../client/ai/ai.c:282 msgid "Grrr!" msgstr "Grrr!" #. AI chat when it must discard resources #: ../client/ai/ai.c:284 msgid "Who the hell rolled that 7??" msgstr "Ki a bánat dobta azt a 7-est??" #. AI chat when it must discard resources #: ../client/ai/ai.c:286 msgid "Why always me?!?" msgstr "Miért mindig én?!?" #. AI chat when other players must discard #: ../client/ai/ai.c:291 msgid "Say good bye to your cards... :)" msgstr "Búcsúzz el a kártyáidtól... :)" #. AI chat when other players must discard #: ../client/ai/ai.c:293 msgid "*evilgrin*" msgstr "*sátáni vigyor*" #. AI chat when other players must discard #: ../client/ai/ai.c:295 msgid "/me says farewell to your cards ;)" msgstr "/me hogy mondj búcsút a kártyáidnak ;)" #. AI chat when other players must discard #: ../client/ai/ai.c:297 msgid "That's the price for being rich... :)" msgstr "Ez az ár a létezÅ‘ legjobb... ;)" #. AI chat when someone steals from it #: ../client/ai/ai.c:302 msgid "Ey! Where's that card gone?" msgstr "Ej! Hol veszet el az a kártya?" #. AI chat when someone steals from it #: ../client/ai/ai.c:304 msgid "Thieves! Thieves!!" msgstr "Tolvaj! Tolvaj!" #. AI chat when someone steals from it #: ../client/ai/ai.c:306 msgid "Wait for my revenge..." msgstr "Várd csak a bosszúmat..." #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:311 msgid "Oh no :(" msgstr "Ó ne :(" #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:313 msgid "Must this happen NOW??" msgstr "Csak ez adódik MOST??" #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:315 msgid "Args" msgstr "Args" #. AI chat when it has the largest army #: ../client/ai/ai.c:320 msgid "Hehe, my soldiers rule!" msgstr "Hehe, én vagyok a hódító!" #. AI chat when another player that the largest army #: ../client/ai/ai.c:325 msgid "First robbing us, then grabbing the points..." msgstr "Kiraboltak minket, majd elvették a pontjainkat..." #. AI chat when it has the longest road #: ../client/ai/ai.c:330 msgid "See that road!" msgstr "Nézd az utat!" #. AI chat when another player has the longest road #: ../client/ai/ai.c:335 msgid "Pf, you won't win with roads alone..." msgstr "Pf, te csak utépíéssel akarsz nyerni..." #: ../client/ai/ai.c:434 #, c-format msgid "Received error from server: %s. Quitting\n" msgstr "Hiba vétele a szervertÅ‘l: %s. Kilépés\n" #. AI chat when it wins #: ../client/ai/ai.c:446 ../client/ai/genetic.c:2766 msgid "Yippie!" msgstr "Hurrá!" #. AI chat when another player wins #: ../client/ai/ai.c:449 ../client/ai/genetic.c:2777 msgid "My congratulations" msgstr "Gratulálok" #: ../client/ai/genetic.c:1277 ../client/ai/greedy.c:961 msgid "No settlements in stock to use for setup" msgstr "Nincsenek települések a készletben" #: ../client/ai/genetic.c:1284 ../client/ai/greedy.c:968 msgid "There is no place to setup a settlement" msgstr "Nincs hely beállítani egy települést" #: ../client/ai/genetic.c:1311 ../client/ai/greedy.c:992 msgid "No roads in stock to use for setup" msgstr "Nincsenek utak raktáron, melyek használhatók a beállításhoz" #: ../client/ai/genetic.c:1329 ../client/ai/greedy.c:1009 msgid "There is no place to setup a road" msgstr "Nincs hely beállíani egy utat" #: ../client/ai/genetic.c:2651 ../client/ai/greedy.c:1784 msgid "Rejecting trade.\n" msgstr "Elutasított üzlet.\n" #. Translators: don't translate '/help' #: ../client/ai/lobbybot.c:80 msgid "" "Hello, welcome to the lobby. I am a simple robot. Type '/help' in the chat " "to see the list of commands I know." msgstr "" "Hello, üdvözöllek a hallban. Én egy egyszerű robot vagyok. Ãrd a chat-be '/" "help' és megmutatom milyen parancsokat ismerek." #. Translators: don't translate '/help' #: ../client/ai/lobbybot.c:107 msgid "'/help' shows this message again" msgstr "'help' megmutatja ezt az üzenetet újra" #. Translators: don't translate '/why' #: ../client/ai/lobbybot.c:110 msgid "'/why' explains the purpose of this strange board layout" msgstr "'/why' elmagyarázza a célját, ennek a különleges táblának" #. Translators: don't translate '/news' #: ../client/ai/lobbybot.c:113 msgid "'/news' tells the last released version" msgstr "'/news' megtudhatod az utolsó kiadott verziót" #. AI chat that explains '/why' #: ../client/ai/lobbybot.c:119 msgid "" "This board is not intended to be a game that can be played. Instead, players " "can find eachother here, and decide which board they want to play. Then, one " "of the players will host the proposed game by starting a server, and " "registers it at the metaserver. The other players can subsequently " "disconnect from the lobby, and enter that game." msgstr "" "Ez a tábla nem játékra lett tervezve. Helyette a játékosok itt " "megtalálhatják egymást, és eldönthetik melyik táblán akarnak játszani. " "Megállapodnak ki lesz a tervezett játék gazdája. Å indít egy szervert, " "melyet regisztrál a metaszerverhez. A többi játékos kilép a hallból, és " "csatlakozik ahhoz a játékhoz." #: ../client/ai/lobbybot.c:130 msgid "The last released version of Pioneers is" msgstr "Az utolsó kiadott Pioneers verzió:" #. The lobbybot leaves when a game is starting #: ../client/ai/lobbybot.c:146 msgid "The game is starting. I'm not needed anymore. Goodbye." msgstr "A játék indul. Már nem kellek többet. Viszlát." #: ../client/common/client.c:105 msgid "Waiting" msgstr "Várj" #: ../client/common/client.c:107 msgid "Idle" msgstr "Tétlen" #: ../client/common/client.c:532 msgid "We have been kicked out of the game.\n" msgstr "Minket kirúgtak a játékból.\n" #. Network status: offline #: ../client/common/client.c:535 ../client/common/client.c:990 #: ../client/gtk/gui.c:1532 msgid "Offline" msgstr "Nincs kapcsolatban" #: ../client/common/client.c:556 #, c-format msgid "Error (%s): %s\n" msgstr "Hiba (%s): %s\n" #: ../client/common/client.c:565 ../client/common/client.c:576 #, c-format msgid "Notice: %s\n" msgstr "Figyelmeztetés: %s\n" #: ../client/common/client.c:693 #, c-format msgid "%s does not receive any %s, because the bank is empty.\n" msgstr "A bank üres, %s nem kap semmi %s.\n" #: ../client/common/client.c:706 #, c-format msgid "%s only receives %s, because the bank didn't have any more.\n" msgstr "%s kaphat csak %s, mert a banknak nincs több.\n" #: ../client/common/client.c:716 #, c-format msgid "%s receives %s.\n" msgstr "%s kap %s.\n" #. Year of Plenty #: ../client/common/client.c:724 ../client/common/client.c:2663 #, c-format msgid "%s takes %s.\n" msgstr "%s felhasznál %s.\n" #: ../client/common/client.c:729 #, c-format msgid "%s spent %s.\n" msgstr "%s elhasznált %s.\n" #: ../client/common/client.c:735 #, c-format msgid "%s is refunded %s.\n" msgstr "%s visszafizet %s.\n" #. %s = Player name #: ../client/common/client.c:753 #, c-format msgid "%s shuffled the dice deck.\n" msgstr "" #: ../client/common/client.c:772 #, c-format msgid "%s discarded %s.\n" msgstr "%s eldob %s.\n" #: ../client/common/client.c:846 #, c-format msgid "%s has won the game with %d victory points!\n" msgstr "%s megnyerte a játékot, %d ponttal!\n" #: ../client/common/client.c:945 msgid "Loading" msgstr "Betöltés" #: ../client/common/client.c:991 msgid "Version mismatch." msgstr "EltérÅ‘ verzió." #: ../client/common/client.c:993 msgid "Version mismatch. Please make sure client and server are up to date.\n" msgstr "" "Verzió eltérés. Kérlek ellenÅ‘rizd van-e frissítés a klienshez és a " "szerverhez.\n" #: ../client/common/client.c:1413 msgid "Build two settlements, each with a connecting" msgstr "Építs két falut, és mindegyikhez csatlakozzon egy" #: ../client/common/client.c:1416 msgid "Build a settlement with a connecting" msgstr "Építs egy falut és csatlakozzon hozzá egy" #: ../client/common/client.c:1419 msgid "road" msgstr "út" #: ../client/common/client.c:1421 msgid "bridge" msgstr "híd" #: ../client/common/client.c:1423 msgid "ship" msgstr "hajó" #: ../client/common/client.c:1430 msgid " or" msgstr " vagy" #: ../client/common/client.c:1494 msgid "Waiting for your turn." msgstr "Várj a körödre." #: ../client/common/client.c:1546 ../client/gtk/interface.c:784 msgid "Select the building to steal from." msgstr "" "Válaszd ki az épüetet\n" "akitÅ‘l lopni szeretnél." #: ../client/common/client.c:1568 ../client/gtk/interface.c:774 msgid "Select the ship to steal from." msgstr "" "Válaszd ki a hajót\n" "akitÅ‘l lopni szeretnél." #: ../client/common/client.c:1652 ../client/gtk/interface.c:816 msgid "Place the robber." msgstr "Helyezd el a rablót." #: ../client/common/client.c:1702 msgid "Finish the road building action." msgstr "Vége az útépítésnek." #: ../client/common/client.c:1704 msgid "Build one road segment." msgstr "Épít egy utat." #: ../client/common/client.c:1706 msgid "Build two road segments." msgstr "Épít két utat." #. Notification #: ../client/common/client.c:1979 ../client/common/client.c:2073 #: ../client/gtk/interface.c:432 msgid "It is your turn." msgstr "Ez a te köröd." #: ../client/common/client.c:2167 #, c-format msgid "Sorry, %s available.\n" msgstr "Bocs, %s használható.\n" #: ../client/common/client.c:2481 msgid "The game is over." msgstr "A játéknak vége." #. This development card is unique #: ../client/common/develop.c:67 #, c-format msgid "You bought the %s development card.\n" msgstr "Vásároltál egy %s fejlesztés kártyát.\n" #. This development card is not unique #: ../client/common/develop.c:73 #, c-format msgid "You bought a %s development card.\n" msgstr "Vásároltál egy %s fejlesztés kártyát.\n" #: ../client/common/develop.c:103 #, c-format msgid "%s bought a development card.\n" msgstr "%s vásárolt egy fejlesztés kártyát.\n" #: ../client/common/develop.c:121 #, c-format msgid "%s played the %s development card.\n" msgstr "%s kijátszotta %s fejlesztés kártyáját.\n" #: ../client/common/develop.c:126 #, c-format msgid "%s played a %s development card.\n" msgstr "%s kijátszotta egy %s fejlesztés kártyáját.\n" #: ../client/common/develop.c:138 msgid "You have run out of road segments.\n" msgstr "Nincs több köved az útépítéshez.\n" #. I get the cards #. $1=resources, $2=player that loses resources #: ../client/common/develop.c:179 #, c-format msgid "You get %s from %s.\n" msgstr "Kaptál %s %s játékostól.\n" #. I lose the cards #. $1=player that steals, $2=resources #: ../client/common/develop.c:185 #, c-format msgid "%s took %s from you.\n" msgstr "%s elvesz tÅ‘led %s.\n" #: ../client/common/develop.c:192 #, c-format msgid "%s took %s from %s.\n" msgstr "%s elvesz %s játékostól %s.\n" #: ../client/common/player.c:125 ../server/player.c:567 #, c-format msgid "Spectator %d" msgstr "" #: ../client/common/player.c:128 #, c-format msgid "spectator %d" msgstr "" #: ../client/common/player.c:137 ../server/player.c:570 #, c-format msgid "Player %d" msgstr "Játékos %d" #: ../client/common/player.c:139 #, c-format msgid "player %d" msgstr "játékos %d" #: ../client/common/player.c:216 #, fuzzy, c-format msgid "New spectator: %s.\n" msgstr "Új szemlélÅ‘: %s.\n" #: ../client/common/player.c:219 ../client/common/player.c:235 #, c-format msgid "%s is now %s.\n" msgstr "%s most %s lett.\n" #: ../client/common/player.c:232 #, c-format msgid "Player %d is now %s.\n" msgstr "%d játékos %s.\n" #: ../client/common/player.c:269 #, c-format msgid "%s has quit.\n" msgstr "%s kilépett.\n" #: ../client/common/player.c:278 msgid "There is no largest army.\n" msgstr "Az ott nem a legnagyobb hadsereg.\n" #: ../client/common/player.c:281 #, c-format msgid "%s has the largest army.\n" msgstr "%s vezeti a legnagyobb hasereget.\n" #: ../client/common/player.c:302 msgid "There is no longest road.\n" msgstr "Az ott nem a leghosszabb út.\n" #: ../client/common/player.c:305 #, c-format msgid "%s has the longest road.\n" msgstr "%s építette a leghosszabb utat.\n" #: ../client/common/player.c:326 #, c-format msgid "Waiting for %s." msgstr "%s játékosra várunk." #. We are not in on the action #. someone stole a resource from someone else #: ../client/common/player.c:354 #, c-format msgid "%s stole a resource from %s.\n" msgstr "%s lop egy nyersanyagot %s játékostól.\n" #. $1=resource, $2=player name #: ../client/common/player.c:365 #, c-format msgid "You stole %s from %s.\n" msgstr "Lopsz %s %s játékostól.\n" #. $1=player name, $2=resource #: ../client/common/player.c:372 #, c-format msgid "%s stole %s from you.\n" msgstr "%s lop tÅ‘led %s.\n" #: ../client/common/player.c:406 #, c-format msgid "%s gave %s nothing!?\n" msgstr "%s ad %s semmit!?\n" #. $1=giving player, $2=receiving player, $3=resources #: ../client/common/player.c:413 ../client/common/player.c:423 #, c-format msgid "%s gave %s %s for free.\n" msgstr "%s ad %s %s ingyen.\n" #: ../client/common/player.c:431 #, c-format msgid "%s gave %s %s in exchange for %s.\n" msgstr "%s játékos ad %s játékosnak %s cserébe kap %s.\n" #: ../client/common/player.c:462 #, c-format msgid "%s exchanged %s for %s.\n" msgstr "%s cserélt %s kapott érte %s.\n" #: ../client/common/player.c:482 #, c-format msgid "%s built a road.\n" msgstr "%s épített egy utat.\n" #: ../client/common/player.c:494 #, c-format msgid "%s built a ship.\n" msgstr "%s épített egy hajót.\n" #: ../client/common/player.c:507 #, c-format msgid "%s built a settlement.\n" msgstr "%s épített egy falut.\n" #: ../client/common/player.c:526 #, c-format msgid "%s built a city.\n" msgstr "%s épített egy várost.\n" #: ../client/common/player.c:540 #, c-format msgid "%s built a city wall.\n" msgstr "%s épített egy város falatt.\n" #. Error message #: ../client/common/player.c:551 #, c-format msgid "player_build_add called with BUILD_NONE for user %s\n" msgstr "%s felhasználó a player_build_add függvényt 'BUILD_NONE'-val hívta\n" #: ../client/common/player.c:561 #, c-format msgid "%s built a bridge.\n" msgstr "%s épített egy hidat.\n" #: ../client/common/player.c:587 #, c-format msgid "%s removed a road.\n" msgstr "%s megszüntet egy utat.\n" #: ../client/common/player.c:597 #, c-format msgid "%s removed a ship.\n" msgstr "%s megszüntet egy hajót.\n" #: ../client/common/player.c:607 #, c-format msgid "%s removed a settlement.\n" msgstr "%s megszüntet egy falut.\n" #: ../client/common/player.c:618 #, c-format msgid "%s removed a city.\n" msgstr "%s megszüntet egy várost.\n" #: ../client/common/player.c:632 #, c-format msgid "%s removed a city wall.\n" msgstr "%s megszüntet egy város falat.\n" #. Error message #: ../client/common/player.c:642 #, c-format msgid "player_build_remove called with BUILD_NONE for user %s\n" msgstr "" "%s felhasználó a player_build_remove függvényt 'BUILD_NONE'-val hívta\n" #: ../client/common/player.c:651 #, c-format msgid "%s removed a bridge.\n" msgstr "%s megszüntet egy hidat.\n" #: ../client/common/player.c:682 #, c-format msgid "%s has canceled a ship's movement.\n" msgstr "%s törölte a hajók mozgását.\n" #: ../client/common/player.c:685 #, c-format msgid "%s moved a ship.\n" msgstr "%s mozgat egy hajót.\n" #. tell the user that someone got something #: ../client/common/player.c:705 #, c-format msgid "%s received %s.\n" msgstr "%s kap %s.\n" #: ../client/common/player.c:724 msgid "server asks to lose invalid point.\n" msgstr "érvénytelen pont.\n" #. tell the user the point is lost #: ../client/common/player.c:730 #, c-format msgid "%s lost %s.\n" msgstr "%s elvesztett %s.\n" #: ../client/common/player.c:753 msgid "server asks to move invalid point.\n" msgstr "érvénytelen pontra történÅ‘ mozgás.\n" #. tell the user someone (1) lost something (2) to someone else (3) #: ../client/common/player.c:760 #, c-format msgid "%s lost %s to %s.\n" msgstr "%s elvesztett %s %s ért.\n" #: ../client/common/resource.c:35 msgid "brick" msgstr "tégla" #: ../client/common/resource.c:35 msgid "Brick" msgstr "Tégla" #: ../client/common/resource.c:36 msgid "grain" msgstr "gabona" #: ../client/common/resource.c:36 msgid "Grain" msgstr "Gabona" #: ../client/common/resource.c:37 msgid "ore" msgstr "érc" #: ../client/common/resource.c:37 msgid "Ore" msgstr "Érc" #: ../client/common/resource.c:38 msgid "wool" msgstr "gyapjú" #: ../client/common/resource.c:38 msgid "Wool" msgstr "Gyapjú" #: ../client/common/resource.c:39 msgid "lumber" msgstr "rönk" #: ../client/common/resource.c:39 msgid "Lumber" msgstr "Rönk" #: ../client/common/resource.c:40 msgid "no resource (bug)" msgstr "nincs nyersanyag (bug)" #: ../client/common/resource.c:40 msgid "No resource (bug)" msgstr "Nincs nyersanyag (bug)" #: ../client/common/resource.c:41 msgid "any resource (bug)" msgstr "bármelyik nyersanyag (bug)" #: ../client/common/resource.c:41 msgid "Any resource (bug)" msgstr "Bármelyik nyersanyag (bug)" #: ../client/common/resource.c:42 msgid "gold" msgstr "aranyat" #: ../client/common/resource.c:42 ../client/gtk/legend.c:41 msgid "Gold" msgstr "Arany" #: ../client/common/resource.c:47 msgid "a brick card" msgstr "egy darab tégla kártyát" #: ../client/common/resource.c:47 #, c-format msgid "%d brick cards" msgstr "%d db tégla kártyát" #: ../client/common/resource.c:48 msgid "a grain card" msgstr "egy darab gabona kártyát" #: ../client/common/resource.c:48 #, c-format msgid "%d grain cards" msgstr "%d db gabona kártyát" #: ../client/common/resource.c:49 msgid "an ore card" msgstr "egy darab érc kártyát" #: ../client/common/resource.c:49 #, c-format msgid "%d ore cards" msgstr "%d db érc kártyát" #: ../client/common/resource.c:50 msgid "a wool card" msgstr "egy darab gyapjú kártyát" #: ../client/common/resource.c:50 #, c-format msgid "%d wool cards" msgstr "%d db gyapjú kártyát" #: ../client/common/resource.c:51 msgid "a lumber card" msgstr "egy darab rönk kártyát" #: ../client/common/resource.c:51 #, c-format msgid "%d lumber cards" msgstr "%d db rönk kártyát" #: ../client/common/resource.c:139 ../client/common/resource.c:225 msgid "nothing" msgstr "semmit" #. Construct "A, B and C" for resources #: ../client/common/resource.c:166 #, c-format msgid "%s and %s" msgstr "%s és %s" #. Construct "A, B and C" for resources #: ../client/common/resource.c:170 #, c-format msgid "%s, %s" msgstr "%s, %s" #: ../client/common/robber.c:62 #, c-format msgid "%s has undone the robber movement.\n" msgstr "%s törölte a rabló mozgását.\n" #: ../client/common/robber.c:65 #, c-format msgid "%s moved the robber.\n" msgstr "%s áthelyezte a rablót.\n" #: ../client/common/robber.c:75 #, c-format msgid "%s has undone the pirate movement.\n" msgstr "%s törölte a hajók mozgását.\n" #: ../client/common/robber.c:78 #, c-format msgid "%s moved the pirate.\n" msgstr "%s áthelyezte a kalózt.\n" #: ../client/common/robber.c:85 #, c-format msgid "%s must move the robber." msgstr "%s mozgatja a rablót." #: ../client/common/setup.c:146 #, c-format msgid "Setup for %s.\n" msgstr "%s beállítása.\n" #: ../client/common/setup.c:158 #, c-format msgid "Double setup for %s.\n" msgstr "%s kétszeres beállítása.\n" #: ../client/common/turn.c:37 #, c-format msgid "%s rolled %d.\n" msgstr "%s dobása %d.\n" #: ../client/common/turn.c:50 #, c-format msgid "Begin turn %d for %s.\n" msgstr "%d. köre kezdÅ‘dik, %s játékosnak.\n" #: ../client/gtk/avahi-browser.c:83 msgid "Select an automatically discovered game" msgstr "" #. $1=Game title, $2=version, $3=host_name, $4=port #: ../client/gtk/avahi-browser.c:132 #, c-format msgid "%s (%s) on %s:%s" msgstr "" #. Label text #: ../client/gtk/chat.c:73 msgid "Chat" msgstr "Chat" #: ../client/gtk/chat.c:232 msgid "Beeper test.\n" msgstr "Teszt sípolás.\n" #: ../client/gtk/chat.c:235 #, c-format msgid "%s beeped you.\n" msgstr "%s sípolt neked.\n" #: ../client/gtk/chat.c:239 #, c-format msgid "You beeped %s.\n" msgstr "Te sípoltál %s.\n" #: ../client/gtk/chat.c:245 #, c-format msgid "You could not beep %s.\n" msgstr "Te nem tudsz sípolni %s.\n" #: ../client/gtk/chat.c:287 msgid " said: " msgstr " mondja: " #: ../client/gtk/connect.c:286 #, c-format msgid "Metaserver at %s, port %s" msgstr "Meta szerver: %s, port: %s" #: ../client/gtk/connect.c:296 msgid "Finished.\n" msgstr "Kész.\n" #: ../client/gtk/connect.c:311 ../client/gtk/connect.c:389 #: ../client/gtk/connect.c:408 ../client/gtk/connect.c:979 msgid "The metaserver is not available anymore.\n" msgstr "" #: ../client/gtk/connect.c:322 ../client/gtk/connect.c:443 #: ../client/gtk/connect.c:770 msgid "The metaserver closed the connection unexpectedly.\n" msgstr "" #: ../client/gtk/connect.c:380 msgid "Receiving game names from the metaserver.\n" msgstr "Játékok vétele a meta szerverrÅ‘l.\n" #: ../client/gtk/connect.c:422 #, fuzzy, c-format msgid "New game server requested on %s port %s.\n" msgstr "Szerver kérés új játékra: %s, port: %s\n" #: ../client/gtk/connect.c:432 msgid "Incomplete information about the new game server received.\n" msgstr "" #: ../client/gtk/connect.c:486 ../client/gtk/connect.c:492 ../server/meta.c:239 #, c-format msgid "Unknown message from the metaserver: %s\n" msgstr "Ismeretlen üzenet a metaszervertÅ‘l: %s\n" #: ../client/gtk/connect.c:565 ../server/meta.c:178 #, c-format msgid "Receiving data from inactive session: %s\n" msgstr "" #: ../client/gtk/connect.c:577 ../server/meta.c:192 #, fuzzy msgid "Too many metaserver redirects.\n" msgstr "Túl sok meta szerver átirányítás\n" #: ../client/gtk/connect.c:606 ../server/meta.c:208 #, c-format msgid "Bad redirect line: %s\n" msgstr "Hibás átirányított vonal: %s\n" #: ../client/gtk/connect.c:631 #, c-format msgid "The metaserver is too old to create servers (version %d.%d)\n" msgstr "Meta szerver túl régi a szerver létrehozáshoz (verzió %d.%d)\n" #: ../client/gtk/connect.c:670 ../client/gtk/connect.c:749 #: ../client/gtk/connect.c:755 #, fuzzy, c-format msgid "Unexpected data from the metaserver: %s\n" msgstr "Ismeretlen üzenet a metaszervertÅ‘l: %s\n" #. Sevens rule: normal #: ../client/gtk/connect.c:701 ../client/gtk/settingscreen.c:181 #: ../common/gtk/game-rules.c:89 msgid "Normal" msgstr "Normál" #. Sevens rule: reroll on 1st 2 turns #: ../client/gtk/connect.c:706 ../client/gtk/settingscreen.c:183 #: ../common/gtk/game-rules.c:95 msgid "Reroll on 1st 2 turns" msgstr "ElsÅ‘ két körben újradobás" #. Sevens rule: reroll all 7s #: ../client/gtk/connect.c:710 ../client/gtk/settingscreen.c:185 #: ../common/gtk/game-rules.c:102 msgid "Reroll all 7s" msgstr "Mindig újradobás" #: ../client/gtk/connect.c:724 msgid "Default" msgstr "Alapértelmezett" #: ../client/gtk/connect.c:727 msgid "Random" msgstr "Véletlen" #: ../client/gtk/connect.c:819 ../server/meta.c:299 #, fuzzy, c-format msgid "Redirected to the metaserver at %s.\n" msgstr "Ãtirányítva %s meta szerverhez, %s portra\n" #: ../client/gtk/connect.c:824 ../server/meta.c:302 #, fuzzy, c-format msgid "Redirected to the metaserver at %s, port %s.\n" msgstr "Ãtirányítva %s meta szerverhez, %s portra\n" #: ../client/gtk/connect.c:831 msgid "Receiving a list of Pioneers servers from the metaserver.\n" msgstr "Pioneers szerver lista fogadása a meta szervertÅ‘l.\n" #. Label #: ../client/gtk/connect.c:914 #, fuzzy msgid "Number of computer players" msgstr "A játékos típusa" #. Tooltip #: ../client/gtk/connect.c:935 #, fuzzy msgid "The number of computer players" msgstr "A játékosok száma" #. Canceled retrieving information #. * from the metaserver #: ../client/gtk/connect.c:957 ../client/gtk/connect.c:992 #: ../client/gtk/connect.c:1133 msgid "Canceled.\n" msgstr "" #: ../client/gtk/connect.c:960 #, fuzzy msgid "Requesting new game server.\n" msgstr "Új játékszerver kérés\n" #: ../client/gtk/connect.c:1015 ../server/gtk/main.c:370 ../server/server.c:123 #, fuzzy, c-format msgid "Error starting %s: %s\n" msgstr "Inditási hiba %s: %s" #. Dialog caption #: ../client/gtk/connect.c:1037 msgid "Create a Public Game" msgstr "Új játék" #. Button text #: ../client/gtk/connect.c:1040 ../client/gtk/connect.c:1191 #: ../client/gtk/connect.c:1440 ../client/gtk/connect.c:1744 #: ../client/gtk/name.c:147 ../editor/gtk/editor.c:1521 #: ../editor/gtk/editor.c:1562 ../editor/gtk/editor.c:1611 msgid "_Cancel" msgstr "" #. Button text #: ../client/gtk/connect.c:1042 #, fuzzy msgid "C_reate" msgstr "Játék létrehozása" #. Dialog caption #: ../client/gtk/connect.c:1182 msgid "Join a Public Game" msgstr "Játékba jelentkezés" #. Button text #: ../client/gtk/connect.c:1185 msgid "_Refresh" msgstr "" #. Button text #: ../client/gtk/connect.c:1188 msgid "_New Remote Game" msgstr "Ú_j távoli játék" #. Button text #: ../client/gtk/connect.c:1194 ../client/gtk/connect.c:1748 msgid "_Join" msgstr "" #. Tooltip #: ../client/gtk/connect.c:1237 msgid "Select a game to join" msgstr "Válassz egy játékot" #. Column name #: ../client/gtk/connect.c:1241 msgid "Map Name" msgstr "Térkép név" #. Tooltip for column 'Map Name' #: ../client/gtk/connect.c:1249 msgid "Name of the game" msgstr "Játék neve" #. Column name #: ../client/gtk/connect.c:1255 msgid "Curr" msgstr "Belépett" #. Tooltip for column 'Curr' #: ../client/gtk/connect.c:1262 msgid "Number of players in the game" msgstr "Belépett játékosok száma" #. Column name #: ../client/gtk/connect.c:1268 msgid "Max" msgstr "Maximum" #. Tooltip for column 'Max' #: ../client/gtk/connect.c:1275 msgid "Maximum players for the game" msgstr "Játékosok száma maximum" #. Column name #: ../client/gtk/connect.c:1279 msgid "Terrain" msgstr "Terep" #. Tooltip for column 'Terrain' #: ../client/gtk/connect.c:1287 msgid "Random of default terrain" msgstr "Véletlen vagy alapértelmezett táj" #. Column name #: ../client/gtk/connect.c:1293 msgid "Vic. Points" msgstr "Gy. pontok" #. Tooltip for column 'Vic. Points' #: ../client/gtk/connect.c:1300 msgid "Points needed to win" msgstr "GyÅ‘zelemhez szükséges pontok" #. Column name #: ../client/gtk/connect.c:1304 msgid "Sevens Rule" msgstr "Hetes szabály" #. Tooltip for column 'Sevens Rule' #. Label #: ../client/gtk/connect.c:1312 ../common/gtk/game-rules.c:81 msgid "Sevens rule" msgstr "Hetes szabály" #. Column name #: ../client/gtk/connect.c:1316 msgid "Host" msgstr "Host" #. Tooltip for column 'Host' #: ../client/gtk/connect.c:1325 msgid "Host of the game" msgstr "A játokot futtató számítógép" #. Column name #: ../client/gtk/connect.c:1331 msgid "Port" msgstr "Port" #. Tooltip for column 'Port' #: ../client/gtk/connect.c:1339 #, fuzzy msgid "Port of the game" msgstr "A játék portja" #. Column name #: ../client/gtk/connect.c:1343 msgid "Version" msgstr "Verzió" #. Tooltip for column 'Version' #: ../client/gtk/connect.c:1351 msgid "Version of the host" msgstr "A host gép verziója" #. Dialog caption #: ../client/gtk/connect.c:1436 msgid "Start a New Game" msgstr "Új játék indítása" #. Label #. Commandline option of client: name of the player #: ../client/gtk/connect.c:1464 ../client/gtk/offline.c:57 msgid "Player name" msgstr "Játékos neve" #. Tooltip #: ../client/gtk/connect.c:1480 msgid "Enter your name" msgstr "Add meg a neved" #. Check button #. Role of the player: spectator #: ../client/gtk/connect.c:1483 ../server/gtk/main.c:682 msgid "Spectator" msgstr "" #: ../client/gtk/connect.c:1493 #, fuzzy msgid "Check if you want to be a spectator" msgstr "SzemlélÅ‘ akarsz lenni?" #. Label #: ../client/gtk/connect.c:1504 msgid "Avahi" msgstr "" #. Button #: ../client/gtk/connect.c:1511 msgid "Join" msgstr "" #. Tooltip for button Join #: ../client/gtk/connect.c:1515 msgid "Join an automatically discovered game" msgstr "" #. Label #. metaserver label #: ../client/gtk/connect.c:1542 ../server/gtk/main.c:593 msgid "Metaserver" msgstr "Meta szerver" #. Button #: ../client/gtk/connect.c:1564 msgid "Join Public Game" msgstr "Csatlakozás nyilvános játékhoz" #. Tooltip #: ../client/gtk/connect.c:1570 msgid "Join a public game" msgstr "Játékba jelentkezés" #. Button #: ../client/gtk/connect.c:1575 msgid "Create Game" msgstr "Játék létrehozása" #. Tooltip #: ../client/gtk/connect.c:1579 msgid "Create a game" msgstr "Játék létrehozása" #. Button #: ../client/gtk/connect.c:1588 msgid "Join Private Game" msgstr "Csatlakozás privát játékhoz" #. Tooltip #. Dialog caption #: ../client/gtk/connect.c:1592 ../client/gtk/connect.c:1737 msgid "Join a private game" msgstr "Csatlakozás egy privát játékhoz" #. Label #. Commandline option of client: hostname of the server #: ../client/gtk/connect.c:1777 ../client/gtk/offline.c:51 msgid "Server host" msgstr "Szerver gép" #. Tooltip #: ../client/gtk/connect.c:1791 msgid "Name of the host of the game" msgstr "A játékot futtató gép neve" #. Label #. Commandline option of client: port of the server #. server port label #: ../client/gtk/connect.c:1795 ../client/gtk/offline.c:54 #: ../server/gtk/main.c:555 msgid "Server port" msgstr "Szerver port" #. Tooltip #: ../client/gtk/connect.c:1812 msgid "Port of the host of the game" msgstr "A játékot futtató gép portja" #. Tooltip #. Label #: ../client/gtk/connect.c:1854 ../client/gtk/connect.c:1857 msgid "Recent games" msgstr "Legutóbbi játékok" #. Caption for list of bought development cards #: ../client/gtk/develop.c:130 msgid "Development cards" msgstr "Fejlesztés kátyák" #. Button text: play development card #: ../client/gtk/develop.c:163 msgid "Play Card" msgstr "Kártya kijátszása" #. Dialog caption #: ../client/gtk/discard.c:77 msgid "Discard Resources" msgstr "Nyersanyagok eldobása" #. Button text #: ../client/gtk/discard.c:83 ../client/gtk/gameover.c:38 #: ../client/gtk/gold.c:78 ../client/gtk/monopoly.c:88 ../client/gtk/name.c:150 #: ../client/gtk/plenty.c:67 ../editor/gtk/editor.c:1614 msgid "_OK" msgstr "" #: ../client/gtk/discard.c:101 #, c-format msgid "You must discard %d resource" msgid_plural "You must discard %d resources" msgstr[0] "" msgstr[1] "El kell dobnod %d db nyersanyagot" #. Label #: ../client/gtk/discard.c:110 msgid "Total discards" msgstr "Összes eldobása" #. Caption for list of player that must discard cards #: ../client/gtk/discard.c:235 msgid "Waiting for players to discard" msgstr "Várunk míg dobnak a játékosok" #. Dialog caption #: ../client/gtk/gameover.c:34 msgid "Game Over" msgstr "Játék vége" #: ../client/gtk/gameover.c:52 #, c-format msgid "%s has won the game with %d victory points!" msgstr "%s megnyerte a játékot, %d ponttal!" #: ../client/gtk/gameover.c:58 #, c-format msgid "All praise %s, Lord of the known world!" msgstr "%s minden elismerésünk. Te vagy a világ ura!" #. Dialog caption #: ../client/gtk/gold.c:72 msgid "Choose Resources" msgstr "Válassz nyersanyagokat" #: ../client/gtk/gold.c:96 #, c-format msgid "You may choose %d resource" msgid_plural "You may choose %d resources" msgstr[0] "" msgstr[1] "Választhatsz %d db nyersanyagot" #. Text for total in choose gold dialog #. Text for total in year of plenty dialog #: ../client/gtk/gold.c:105 ../client/gtk/plenty.c:103 msgid "Total resources" msgstr "Összes nyersanyag" #. Caption for list of player that must choose gold #: ../client/gtk/gold.c:217 msgid "Waiting for players to choose" msgstr "Várunk a játékosokra, hogy válasszanak" #. Menu entry #: ../client/gtk/gui.c:224 ../server/gtk/main.c:91 msgid "_Game" msgstr "_Játék" #. Menu entry #: ../client/gtk/gui.c:227 msgid "_New Game" msgstr "Új já_ték" #. Tooltip for New Game menu entry #: ../client/gtk/gui.c:229 msgid "Start a new game" msgstr "Új játék indítása" #. Menu entry #: ../client/gtk/gui.c:232 msgid "_Leave Game" msgstr "Játék _elhagyása" #. Tooltip for Leave Game menu entry #: ../client/gtk/gui.c:234 msgid "Leave this game" msgstr "Játék elhagyása" #. Menu entry #: ../client/gtk/gui.c:238 msgid "_Admin" msgstr "_Adminsztárció" #. Tooltip for Admin menu entry #: ../client/gtk/gui.c:240 msgid "Administer Pioneers server" msgstr "Pioneers szerver adminisztrálás" #. Menu entry #: ../client/gtk/gui.c:244 msgid "_Player Name" msgstr "Játékos _neve" #. Tooltip for Player Name menu entry #: ../client/gtk/gui.c:246 msgid "Change your player name" msgstr "Játékos neved módostása" #. Menu entry #: ../client/gtk/gui.c:249 #, fuzzy msgid "L_egend" msgstr "Je_lmagyarázat" #. Tooltip for Legend menu entry #: ../client/gtk/gui.c:251 msgid "Terrain legend and building costs" msgstr "Táj magyarázat és építmény árak" #. Menu entry #: ../client/gtk/gui.c:254 msgid "_Game Settings" msgstr "_Játék beállítások" #. Tooltip for Game Settings menu entry #: ../client/gtk/gui.c:256 msgid "Settings for the current game" msgstr "Aktuális játék beállitásai" #. Menu entry #: ../client/gtk/gui.c:259 msgid "_Dice Histogram" msgstr "_Dobás statisztika" #. Tooltip for Dice Histogram menu entry #: ../client/gtk/gui.c:261 msgid "Histogram of dice rolls" msgstr "Kocka dobások statisztikája" #. Menu entry #: ../client/gtk/gui.c:264 ../editor/gtk/editor.c:1759 ../server/gtk/main.c:103 msgid "_Quit" msgstr "_Kilépés" #. Tooltip for Quit menu entry #. Tooltop for Quit menu entry #: ../client/gtk/gui.c:266 ../server/gtk/main.c:105 msgid "Quit the program" msgstr "Kilépés a programból" #. Menu entry #: ../client/gtk/gui.c:269 msgid "_Actions" msgstr "_Tevékenység" #. Menu entry #: ../client/gtk/gui.c:272 msgid "Roll Dice" msgstr "Kocka dobás" #. Tooltip for Roll Dice menu entry #: ../client/gtk/gui.c:274 msgid "Roll the dice" msgstr "A kocka dobása" #. Menu entry #. Tooltip for Trade menu entry #. Tab page name #: ../client/gtk/gui.c:277 ../client/gtk/gui.c:279 ../client/gtk/gui.c:710 msgid "Trade" msgstr "Kereskedelem" #. Menu entry #. Tooltip for Undo menu entry #: ../client/gtk/gui.c:283 ../client/gtk/gui.c:285 msgid "Undo" msgstr "Visszavonás" #. Menu entry #. Tooltip for Finish menu entry #: ../client/gtk/gui.c:288 ../client/gtk/gui.c:290 msgid "Finish" msgstr "Kész" #. Menu entry #: ../client/gtk/gui.c:293 ../client/gtk/legend.c:189 #: ../editor/gtk/game-buildings.c:10 msgid "Road" msgstr "Út" #. Tooltip for Road menu entry #: ../client/gtk/gui.c:295 msgid "Build a road" msgstr "Út építés" #. Menu entry #: ../client/gtk/gui.c:298 ../client/gtk/legend.c:193 #: ../editor/gtk/game-buildings.c:10 msgid "Ship" msgstr "Hajó" #. Tooltip for Ship menu entry #: ../client/gtk/gui.c:300 msgid "Build a ship" msgstr "Hajó építés" #. Menu entry #: ../client/gtk/gui.c:303 msgid "Move Ship" msgstr "Hajó mozgatás" #. Tooltip for Move Ship menu entry #: ../client/gtk/gui.c:305 msgid "Move a ship" msgstr "Hajó mozgatás" #. Menu entry #: ../client/gtk/gui.c:308 ../client/gtk/legend.c:196 #: ../editor/gtk/game-buildings.c:10 msgid "Bridge" msgstr "Híd" #. Tooltip for Bridge menu entry #: ../client/gtk/gui.c:310 msgid "Build a bridge" msgstr "Híd építés" #. Menu entry #: ../client/gtk/gui.c:313 ../client/gtk/legend.c:198 ../client/gtk/player.c:52 #: ../editor/gtk/game-buildings.c:10 msgid "Settlement" msgstr "Falu" #. Tooltip for Settlement menu entry #: ../client/gtk/gui.c:316 msgid "Build a settlement" msgstr "Falu építés" #. Menu entry #: ../client/gtk/gui.c:319 ../client/gtk/legend.c:199 ../client/gtk/player.c:53 #: ../editor/gtk/game-buildings.c:11 msgid "City" msgstr "Város" #. Tooltip for City menu entry #: ../client/gtk/gui.c:321 msgid "Build a city" msgstr "Város építés" #. Menu entry #: ../client/gtk/gui.c:324 msgid "Develop" msgstr "Fejlesztés" #. Tooltip for Develop menu entry #: ../client/gtk/gui.c:326 msgid "Buy a development card" msgstr "Fejlesztés kártya vásárlás" #. Menu entry #: ../client/gtk/gui.c:329 msgid "City Wall" msgstr "Város fal" #. Tooltip for City Wall menu entry #: ../client/gtk/gui.c:331 msgid "Build a city wall" msgstr "Város építés" #. Menu entry #: ../client/gtk/gui.c:335 msgid "_Settings" msgstr "_Beállítások" #. Menu entry #: ../client/gtk/gui.c:338 msgid "Prefere_nces" msgstr "_Beállítások" #. Tooltip for Preferences menu entry #: ../client/gtk/gui.c:340 msgid "Configure the application" msgstr "Program konfigurálás" #. Menu entry #: ../client/gtk/gui.c:344 ../editor/gtk/editor.c:1721 #, fuzzy msgid "_View" msgstr "SzemlélÅ‘" #. Menu entry #: ../client/gtk/gui.c:347 ../editor/gtk/editor.c:1765 msgid "_Reset" msgstr "" #. Tooltip for Reset menu entry #: ../client/gtk/gui.c:350 ../editor/gtk/editor.c:1768 msgid "View the full map" msgstr "" #. Menu entry #: ../client/gtk/gui.c:353 ../editor/gtk/editor.c:1771 msgid "_Center" msgstr "" #. Tooltip for Center menu entry #: ../client/gtk/gui.c:355 ../editor/gtk/editor.c:1773 msgid "Center the map" msgstr "" #. Menu entry #: ../client/gtk/gui.c:359 ../client/gtk/gui.c:368 ../editor/gtk/editor.c:1724 #: ../server/gtk/main.c:94 msgid "_Help" msgstr "_Súgó" #. Menu entry #: ../client/gtk/gui.c:362 msgid "_About Pioneers" msgstr "Pioneers _névjegy" #. Tooltip for About Pioneers menu entry #: ../client/gtk/gui.c:364 msgid "Information about Pioneers" msgstr "Információ a PioneersrÅ‘l" #. Tooltip for Help menu entry #: ../client/gtk/gui.c:370 ../client/gtk/gui.c:1258 msgid "Show the manual" msgstr "Kézikönyv" #. Menu entry #: ../client/gtk/gui.c:378 ../editor/gtk/editor.c:1791 msgid "_Fullscreen" msgstr "" #. Tooltip for Fullscreen menu entry #: ../client/gtk/gui.c:381 ../editor/gtk/editor.c:1794 msgid "Set window to full screen mode" msgstr "" #. Menu entry #: ../client/gtk/gui.c:386 msgid "_Toolbar" msgstr "_Eszköztár" #. Tooltip for Toolbar menu entry #: ../client/gtk/gui.c:388 msgid "Show or hide the toolbar" msgstr "Eszköztár megjelenítése vagy elrejtése" #. Victory points target in statusbar #: ../client/gtk/gui.c:491 #, c-format msgid "Points needed to win: %i" msgstr "Nyeréshez szükséges pontok: %i" #: ../client/gtk/gui.c:577 msgid "Messages" msgstr "Üzenetek" #. Tab page name #: ../client/gtk/gui.c:703 ../editor/gtk/editor.c:1946 msgid "Map" msgstr "Térkép" #. Tooltip #: ../client/gtk/gui.c:712 msgid "Finish trading" msgstr "Kereskedés befejezése" #. Tab page name #. Button text #: ../client/gtk/gui.c:722 ../client/gtk/quote.c:339 msgid "Quote" msgstr "Kínál" #. Tooltip #: ../client/gtk/gui.c:724 msgid "Reject domestic trade" msgstr "Elutasított belsÅ‘ üzlet" #. Tab page name #. Dialog caption #: ../client/gtk/gui.c:734 ../client/gtk/legend.c:249 msgid "Legend" msgstr "Jelmagyarázat" #. Tab page name, shown for the splash screen #: ../client/gtk/gui.c:744 msgid "Welcome to Pioneers" msgstr "Üdvözlünk a Pioneersban" #. Caption of preferences dialog #: ../client/gtk/gui.c:1028 msgid "Pioneers Preferences" msgstr "Pioneers beállítások" #. Button text #: ../client/gtk/gui.c:1034 ../client/gtk/histogram.c:252 #: ../client/gtk/legend.c:253 ../client/gtk/settingscreen.c:413 msgid "_Close" msgstr "" #. Label for changing the theme, in the preferences dialog #: ../client/gtk/gui.c:1059 msgid "Theme:" msgstr "Téma:" #. Tooltip for changing the theme in the preferences dialog #: ../client/gtk/gui.c:1082 msgid "Choose one of the themes" msgstr "Válassz egyett a témák közül" #. Label for the option to show the legend #: ../client/gtk/gui.c:1086 msgid "Show legend" msgstr "Jelmagyarázat megjelenítése" #. Tooltip for the option to show the legend #: ../client/gtk/gui.c:1096 msgid "Show the legend as a page beside the map" msgstr "Jelmagyarázat megjelenítése a térkép mellett" #. Label for the option to display log messages in color #: ../client/gtk/gui.c:1101 msgid "Messages with color" msgstr "Színes üzenetek" #. Tooltip for the option to display log messages in color #: ../client/gtk/gui.c:1111 msgid "Show new messages with color" msgstr "Új üzenetek megjelenítése színesen" #. Label for the option to display chat in color of player #: ../client/gtk/gui.c:1116 msgid "Chat in color of player" msgstr "Játékosok üzenetei színesen" #. Tooltip for the option to display chat in color of player #: ../client/gtk/gui.c:1127 msgid "Show new chat messages in the color of the player" msgstr "Új üzenetek megjelenítése a játékosok színével" #. Label for the option to display the summary with colors #: ../client/gtk/gui.c:1132 msgid "Summary with color" msgstr "Összesítés színesben" #. Tooltip for the option to display the summary with colors #: ../client/gtk/gui.c:1143 msgid "Use colors in the player summary" msgstr "Színek használata a játékos összesítésben" #. Label for the option to display keyboard accelerators in the toolbar #: ../client/gtk/gui.c:1148 msgid "Toolbar with shortcuts" msgstr "Eszköztár gyorsbillentyűkkel" #. Tooltip for the option to display keyboard accelerators in the toolbar #: ../client/gtk/gui.c:1158 msgid "Show keyboard shortcuts in the toolbar" msgstr "Gyorsbillentyűk megjelenítése az eszköztáron" #. Label for the option to disable all sounds #: ../client/gtk/gui.c:1164 msgid "Silent mode" msgstr "Csendes mód" #. Tooltip for the option to disable all sounds #: ../client/gtk/gui.c:1170 msgid "In silent mode no sounds are made" msgstr "Csendes módban nincsenek hangok" #. Label for the option to announce when players/spectators enter #: ../client/gtk/gui.c:1176 msgid "Announce new players" msgstr "Új játékosok jelzése" #. Tooltip for the option to use sound when players/spectators enter #: ../client/gtk/gui.c:1186 #, fuzzy msgid "Make a sound when a new player or spectator enters the game" msgstr "Hangjelzés, amikor egy új játékos vagy szemlélÅ‘ belép a játékba" #. Label for the option to use the notifications. #: ../client/gtk/gui.c:1198 #, fuzzy msgid "Show notifications" msgstr "Verzió információ" #. Tooltip for notifications option. #: ../client/gtk/gui.c:1208 msgid "Show notifications when it's your turn or when new trade is available" msgstr "" #. Label for the option to use the 16:9 layout. #: ../client/gtk/gui.c:1214 msgid "Use 16:9 layout" msgstr "16:9-es elrendezés" #. Tooltip for 16:9 option. #: ../client/gtk/gui.c:1224 msgid "Use a 16:9 friendly layout for the window" msgstr "Elrendezés 16:9-es ablakhoz" #. Caption of about box #: ../client/gtk/gui.c:1233 msgid "About Pioneers" msgstr "Pioneers névjegy" #. Initial text in status bar #: ../client/gtk/gui.c:1544 ../client/gtk/offline.c:107 msgid "Welcome to Pioneers!" msgstr "Üdvözlünk a Pioneersban!" #. The name of the application #. Name of the application #: ../client/gtk/gui.c:1606 ../client/gtk/offline.c:209 #: ../client/gtk/pioneers.desktop.in.h:1 msgid "Pioneers" msgstr "Pioneers" #. Dialog caption #: ../client/gtk/histogram.c:248 msgid "Dice Histogram" msgstr "Dobás statisztka" #: ../client/gtk/interface.c:111 msgid "Ship movement canceled." msgstr "Hajó mozgás törölve." #: ../client/gtk/interface.c:119 ../client/gtk/interface.c:120 msgid "Select a new location for the ship." msgstr "Válaszd ki a hajó új helyét." #. Notification #: ../client/gtk/interface.c:919 #, fuzzy msgid "It is your turn to setup." msgstr "Ez a te köröd." #: ../client/gtk/legend.c:34 msgid "Hill" msgstr "Domb" #: ../client/gtk/legend.c:35 msgid "Field" msgstr "Szántóföld" #: ../client/gtk/legend.c:36 msgid "Mountain" msgstr "Hegy" #: ../client/gtk/legend.c:37 msgid "Pasture" msgstr "LegelÅ‘" #: ../client/gtk/legend.c:38 msgid "Forest" msgstr "ErdÅ‘" #: ../client/gtk/legend.c:39 msgid "Desert" msgstr "Sivatag" #: ../client/gtk/legend.c:40 msgid "Sea" msgstr "Tenger" #. Label #: ../client/gtk/legend.c:132 msgid "Terrain yield" msgstr "Vidék hozama:" #. Label #: ../client/gtk/legend.c:165 msgid "Building costs" msgstr "Építmény árak:" #: ../client/gtk/legend.c:203 ../client/gtk/player.c:54 #: ../editor/gtk/game-buildings.c:11 msgid "City wall" msgstr "Város fal" #: ../client/gtk/legend.c:206 ../client/gtk/player.c:65 msgid "Development card" msgstr "Fejlesztés kártya" #. Dialog caption #. Name of the development card #: ../client/gtk/monopoly.c:84 ../common/cards.c:86 msgid "Monopoly" msgstr "Monopólium" #. Label #: ../client/gtk/monopoly.c:106 msgid "Select the resource you wish to monopolize." msgstr "Válassz monopól nyersanyagot." #. Dialog caption #: ../client/gtk/name.c:141 msgid "Change Player Name" msgstr "Játékos név módosítása" #. Label #: ../client/gtk/name.c:172 msgid "Player name:" msgstr "Játékos neve:" #. Label: set player icon preferences #: ../client/gtk/name.c:234 msgid "Face:" msgstr "Arc:" #. Label: set player icon preferences #: ../client/gtk/name.c:250 msgid "Variant:" msgstr "Változat:" #: ../client/gtk/offline.c:61 #, fuzzy msgid "Connect as a spectator" msgstr "Csatlakozás szemlélÅ‘ként" #: ../client/gtk/offline.c:64 msgid "Metaserver Host" msgstr "Meta-szerver host" #: ../client/gtk/offline.c:78 msgid "Select a game to join." msgstr "Válassz egy játékot." #: ../client/gtk/offline.c:94 msgid "Connecting" msgstr "Kapcsolódás" #. Long description in the commandline for pioneers: help #: ../client/gtk/offline.c:183 msgid "- Play a game of Pioneers" msgstr "- Játsz egy játékot a Pioneersszal" #: ../client/gtk/pioneers.desktop.in.h:2 msgid "Play a game of Pioneers" msgstr "Játsz egy játékot a Pioneersszal" #: ../client/gtk/pioneers.desktop.in.h:3 msgid "game;board;play;Pioneers;Settlers;" msgstr "" #: ../client/gtk/player.c:52 msgid "Settlements" msgstr "Falvak" #: ../client/gtk/player.c:53 msgid "Cities" msgstr "Városok" #: ../client/gtk/player.c:54 msgid "City walls" msgstr "Város falak" #: ../client/gtk/player.c:55 msgid "Largest army" msgstr "Legnagyobb hadsereg" #: ../client/gtk/player.c:56 msgid "Longest road" msgstr "Leghosszab út" #. Name of the development card #: ../client/gtk/player.c:57 ../common/cards.c:92 msgid "Chapel" msgstr "Kápolna" #: ../client/gtk/player.c:57 msgid "Chapels" msgstr "Kápolnák" #. Name of the development card #: ../client/gtk/player.c:58 ../common/cards.c:95 msgid "Pioneer university" msgstr "Pioneers egyetem" #: ../client/gtk/player.c:58 msgid "Pioneer universities" msgstr "Pioneer egyetemek" #. Name of the development card #: ../client/gtk/player.c:60 ../common/cards.c:98 msgid "Governor's house" msgstr "Kormányzók háza" #: ../client/gtk/player.c:60 msgid "Governor's houses" msgstr "Kormányzó házak" #. Name of the development card #: ../client/gtk/player.c:61 ../common/cards.c:101 msgid "Library" msgstr "Könyvtár" #: ../client/gtk/player.c:61 msgid "Libraries" msgstr "Könyvtárak" #. Name of the development card #: ../client/gtk/player.c:62 ../common/cards.c:104 msgid "Market" msgstr "Piac" #: ../client/gtk/player.c:62 msgid "Markets" msgstr "Piacok" #. Name of the development card #: ../client/gtk/player.c:63 ../common/cards.c:107 msgid "Soldier" msgstr "Katona" #: ../client/gtk/player.c:63 msgid "Soldiers" msgstr "Katonák" #: ../client/gtk/player.c:64 msgid "Resource card" msgstr "Nyersanyag kártya" #: ../client/gtk/player.c:64 msgid "Resource cards" msgstr "Nyersanyag kártya" #. Caption #: ../client/gtk/player.c:65 ../editor/gtk/editor.c:1305 msgid "Development cards" msgstr "Fejlesztés kártyák" #. Caption for the overview of the points and card of other players #: ../client/gtk/player.c:559 msgid "Player summary" msgstr "Játékos összesítés" #. Dialog caption #: ../client/gtk/plenty.c:61 msgid "Year of Plenty" msgstr "BÅ‘ség éve" #: ../client/gtk/plenty.c:92 msgid "Please choose one resource from the bank" msgstr "Válassz két nyersanyagot a bankból" #: ../client/gtk/plenty.c:95 msgid "Please choose two resources from the bank" msgstr "Válassz két nyersanyagot a bankból" #: ../client/gtk/plenty.c:97 msgid "The bank is empty" msgstr "A bank üres" #: ../client/gtk/quote.c:187 #, c-format msgid "%s has %s, and is looking for %s" msgstr "%s kínál %s nyersanyagot, és cserébe szeretne %s nyersanyagot" #. Notification #: ../client/gtk/quote.c:217 #, fuzzy, c-format msgid "New offer from %s." msgstr "Lopsz %s %s játékostól.\n" #. Notification #: ../client/gtk/quote.c:242 #, c-format msgid "Offer from %s." msgstr "" #. Label #. Frame title, trade: I want to trade these resources #: ../client/gtk/quote.c:316 ../client/gtk/trade.c:524 msgid "I want" msgstr "Szeretnék" #. Label #. Frame title, trade: I want these resources in return #: ../client/gtk/quote.c:326 ../client/gtk/trade.c:530 msgid "Give them" msgstr "Adok érte" #. Button text #: ../client/gtk/quote.c:345 msgid "Delete" msgstr "Törlés" #. Button text #: ../client/gtk/quote.c:370 msgid "Reject Domestic Trade" msgstr "Elutasított belsÅ‘ üzlet" #. Now create columns #. Table header: Player who trades #. Role of the player: player #: ../client/gtk/quote-view.c:170 ../server/gtk/main.c:684 msgid "Player" msgstr "Játékos" #. Table header: Quote #: ../client/gtk/quote-view.c:185 msgid "Quotes" msgstr "Ajánlatok" #. trade: maritime quote: %1 resources of type %2 for #. * one resource of type %3 #: ../client/gtk/quote-view.c:303 #, c-format msgid "%d:1 %s for %s" msgstr "%d:1 %s:%s" #. Trade: a player has rejected trade #: ../client/gtk/quote-view.c:442 msgid "Rejected trade" msgstr "Elutasított üzlet" #. Caption for overview of the resources of the player #: ../client/gtk/resource.c:71 msgid "Resources" msgstr "Nyersanyagok" #. Label #: ../client/gtk/resource.c:86 msgid "Total" msgstr "Összes" #. Tooltip for the amount of resources in the hand #: ../client/gtk/resource-table.c:180 msgid "Amount in hand" msgstr "Összeg a kézben" #. Button for decreasing the selected amount #: ../client/gtk/resource-table.c:185 msgid "" msgstr ">több" #. Tooltip for increasing the selected amount #: ../client/gtk/resource-table.c:226 msgid "Increase the selected amount" msgstr "Kiválasztott mennyiség növelése" #. Tooltip for the selected amount #: ../client/gtk/resource-table.c:243 msgid "Selected amount" msgstr "Kiválasztott összeg" #. Tooltip for the total selected amount #: ../client/gtk/resource-table.c:288 msgid "Total selected amount" msgstr "Összes kválasztott összeg" #. Tooltip when the bank cannot be emptied #: ../client/gtk/resource-table.c:307 msgid "The bank cannot be emptied" msgstr "A bank nem lehet üres" #: ../client/gtk/settingscreen.c:74 msgid "Yes" msgstr "Igen" #: ../client/gtk/settingscreen.c:76 ../client/gtk/settingscreen.c:240 msgid "No" msgstr "Nem" #: ../client/gtk/settingscreen.c:87 ../client/gtk/settingscreen.c:187 msgid "Unknown" msgstr "Ismeretlen" #: ../client/gtk/settingscreen.c:121 msgid "No game in progress..." msgstr "Nincs játék folyamatban..." #. Label #: ../client/gtk/settingscreen.c:132 msgid "General settings" msgstr "Ãltalános beállítások" #: ../client/gtk/settingscreen.c:149 msgid "Number of players:" msgstr "Játékosok száma:" #: ../client/gtk/settingscreen.c:153 msgid "Victory point target:" msgstr "NyerÅ‘ pont:" #: ../client/gtk/settingscreen.c:157 msgid "Random terrain:" msgstr "Véletlen táj:" #: ../client/gtk/settingscreen.c:161 msgid "Allow trade between players:" msgstr "Engedélyezett játékosok közötti kereskedés:" #: ../client/gtk/settingscreen.c:166 msgid "Allow trade only before building or buying:" msgstr "Kereskedés csak építkezés / vásárlás elÅ‘tt:" #: ../client/gtk/settingscreen.c:171 #, fuzzy msgid "Check victory only at end of turn:" msgstr "Csak a kör végén ellenÅ‘rizd a gyÅ‘zelmet:" #: ../client/gtk/settingscreen.c:176 #, fuzzy msgid "Amount of each resource:" msgstr "Összes nyersanyag száma:" #: ../client/gtk/settingscreen.c:190 msgid "Sevens rule:" msgstr "Hetes szabály:" #: ../client/gtk/settingscreen.c:196 msgid "Use dice deck instead of dice:" msgstr "" #: ../client/gtk/settingscreen.c:201 #, fuzzy msgid "Number of dice decks:" msgstr "Játékosok száma:" #: ../client/gtk/settingscreen.c:207 msgid "Number of dice cards removed after shuffling:" msgstr "" #: ../client/gtk/settingscreen.c:214 msgid "Use the pirate to block ships:" msgstr "Használj kalózt a hajók megállítására:" #: ../client/gtk/settingscreen.c:243 msgid "Island discovery bonuses:" msgstr "Sziget felfedezés bónuszok:" #. Label #: ../client/gtk/settingscreen.c:260 msgid "Building quotas" msgstr "Épület árak" #: ../client/gtk/settingscreen.c:277 msgid "Roads:" msgstr "Utak:" #: ../client/gtk/settingscreen.c:283 msgid "Settlements:" msgstr "Falvak:" #: ../client/gtk/settingscreen.c:289 msgid "Cities:" msgstr "Városok" #: ../client/gtk/settingscreen.c:295 msgid "City walls:" msgstr "Város falak:" #: ../client/gtk/settingscreen.c:301 msgid "Ships:" msgstr "Hajók:" #: ../client/gtk/settingscreen.c:307 msgid "Bridges:" msgstr "Hidak:" #. Label #: ../client/gtk/settingscreen.c:320 msgid "Development card deck" msgstr "Fejlesztés kátyák" #: ../client/gtk/settingscreen.c:336 msgid "Road building cards:" msgstr "ÚtépítÅ‘ kártyák:" #: ../client/gtk/settingscreen.c:340 msgid "Monopoly cards:" msgstr "Monopólium kártyák:" #: ../client/gtk/settingscreen.c:344 msgid "Year of plenty cards:" msgstr "BÅ‘ség éve kártyák:" #: ../client/gtk/settingscreen.c:348 msgid "Chapel cards:" msgstr "Kápolna kártyák:" #: ../client/gtk/settingscreen.c:352 msgid "Pioneer university cards:" msgstr "Pioneer egyetem kártyák:" #: ../client/gtk/settingscreen.c:356 msgid "Governor's house cards:" msgstr "Kormányzók háza kártyák:" #: ../client/gtk/settingscreen.c:360 msgid "Library cards:" msgstr "Könyvtár kártyák:" #: ../client/gtk/settingscreen.c:364 msgid "Market cards:" msgstr "Piac kártyák:" #: ../client/gtk/settingscreen.c:368 msgid "Soldier cards:" msgstr "Katona kártyák:" #. Dialog caption #: ../client/gtk/settingscreen.c:407 msgid "Current Game Settings" msgstr "Aktuális játék beállítások" #. trade: you ask for something for free #: ../client/gtk/trade.c:205 #, c-format msgid "ask for %s for free" msgstr "%s nyersanyagot kérek ingyen" #. trade: you give something away for free #: ../client/gtk/trade.c:210 #, c-format msgid "give %s for free" msgstr "Adok %s ingyen" #. trade: you trade something for something else #: ../client/gtk/trade.c:215 #, c-format msgid "give %s for %s" msgstr "Ad %s kér %s" #. I want some resources, and give them some resources #: ../client/gtk/trade.c:242 #, c-format msgid "I want %s, and give them %s" msgstr "Szeretnék %s nyersanyagot, cserébe adok %s nyersanyagot" #. Notification #: ../client/gtk/trade.c:348 #, fuzzy, c-format msgid "Quote received from %s." msgstr "%s kap %s.\n" #. Button text, trade: call for quotes from other players #: ../client/gtk/trade.c:539 msgid "_Call for Quotes" msgstr "_Ajánlatot kér" #. Button text: Trade page, accept selected quote #: ../client/gtk/trade.c:568 msgid "_Accept Quote" msgstr "_Ajánlat elfogadása" #. Button text: Trade page, finish trading #: ../client/gtk/trade.c:574 msgid "_Finish Trading" msgstr "_Kereskedés befejezése" #. Name of the development card #: ../common/cards.c:83 msgid "Road building" msgstr "Út építés" #. Name of the development card #: ../common/cards.c:89 msgid "Year of plenty" msgstr "BÅ‘ség éve" #. Description of the 'Road Building' development card #: ../common/cards.c:118 msgid "Build two new roads" msgstr "" #. Description of the 'Monopoly' development card #: ../common/cards.c:121 msgid "" "Select a resource type and take every card of that type held by all other " "players" msgstr "" #. Description of the 'Year of Plenty' development card #: ../common/cards.c:125 msgid "" "Take two resource cards of any type from the bank (cards may be of the same " "or different types)" msgstr "" #. Description of a development card of 1 victory point #: ../common/cards.c:134 msgid "One victory point" msgstr "" #. Description of the 'Soldier' development card #: ../common/cards.c:137 msgid "" "Move the robber to a different space and take one resource card from another " "player adjacent to that space" msgstr "" #: ../common/game.c:523 #, c-format msgid "Obsolete rule: '%s'\n" msgstr "" #: ../common/game.c:530 #, c-format msgid "" "The game uses the new rule '%s', which is not yet supported. Consider " "upgrading.\n" msgstr "" #: ../common/game.c:924 ../common/game.c:955 msgid "This game cannot be won." msgstr "A játékot nem lehet megnyerni." #: ../common/game.c:925 msgid "There is no land." msgstr "Nincs vidék" #: ../common/game.c:959 msgid "It is possible that this game cannot be won." msgstr "Lehet, hogy a játékot nem lehet megnyerni." #: ../common/game.c:965 msgid "This game can be won by only building all settlements and cities." msgstr "A játékot csak az összes falu és város megépítésével lehet megnyerni." #: ../common/game.c:971 #, fuzzy, c-format msgid "" "Required victory points: %d\n" "Points obtained by building all: %d\n" "Points in development cards: %u\n" "Longest road/largest army: %d+%d\n" "Maximum island discovery bonus: %d\n" "Total: %d" msgstr "" "GyÅ‘zelemhez szükséges pontok: %d\n" "ElérhetÅ‘ pontok mindent felépítve: %d\n" "Pontok fejlesztés kártyákban: %d\n" "Leghosszabb út / legnagyobb hadsereg: %d+%d\n" "Maximum sziget felfedezés bónusz: %d\n" "Összesen: %d" #: ../common/game-list.c:111 #, c-format msgid "Looking for games in '%s'\n" msgstr "" #: ../common/game-list.c:113 #, c-format msgid "Game directory '%s' not found\n" msgstr "" #: ../common/game-list.c:131 #, fuzzy, c-format msgid "Unable to load game: '%s'\n" msgstr "Hiba a betöltékor '%s'" #: ../common/game-list.c:151 #, fuzzy msgid "No games available\n" msgstr "Bocs, %s használható.\n" #: ../common/gtk/aboutbox.c:53 msgid "" "Pioneers is based upon the excellent\n" "Settlers of Catan board game.\n" msgstr "" "A Pioneers a kíváló táblajáték a\n" "Catan telepesei alapján készült.\n" # #. Translators: add your name here. Keep the list #. * alphabetically, do not remove any names, and add #. * \n after your name (except the last name). #. #: ../common/gtk/aboutbox.c:63 msgid "translator-credits" msgstr "Ferenc Bánhidi" #. Caption for result of checking victory points #: ../common/gtk/common_gtk.c:324 msgid "Victory Point Analysis" msgstr "" #. Tooltip for sevens rule normal #: ../common/gtk/game-rules.c:110 msgid "All sevens move the robber or pirate" msgstr "Minden hetes dobás mozgatja a rablót vagy a kalózt" #. Tooltip for sevens rule reroll on 1st 2 turns #: ../common/gtk/game-rules.c:114 msgid "In the first two turns all sevens are rerolled" msgstr "Az elsÅ‘ két körben minden hetes dobás újradobandó" #. Tooltip for sevens rule reroll all #: ../common/gtk/game-rules.c:118 msgid "All sevens are rerolled" msgstr "Minden hetes dobás újradobandó" #: ../common/gtk/game-rules.c:129 msgid "Randomize terrain" msgstr "Véletlen táj?" #: ../common/gtk/game-rules.c:129 msgid "Randomize the terrain" msgstr "Véletlen táj?" #: ../common/gtk/game-rules.c:132 msgid "Use pirate" msgstr "Kalóz használat" #: ../common/gtk/game-rules.c:133 msgid "Use the pirate to block ships" msgstr "Használj kalózt a hajók megállítására" #: ../common/gtk/game-rules.c:135 msgid "Strict trade" msgstr "Szigorú kereskedés" #: ../common/gtk/game-rules.c:136 msgid "Allow trade only before building or buying" msgstr "Kereskedés csak építkezés / vásárlás elÅ‘tt?" #: ../common/gtk/game-rules.c:138 msgid "Domestic trade" msgstr "Játékosok közötti kereskedés" #: ../common/gtk/game-rules.c:139 msgid "Allow trade between players" msgstr "Engedélyezett játékosok közötti kereskedés" #: ../common/gtk/game-rules.c:141 msgid "Victory at end of turn" msgstr "GyÅ‘zelem a kör végén" #: ../common/gtk/game-rules.c:142 msgid "Check for victory only at end of turn" msgstr "Csak a kör végén ellenÅ‘rizd a gyÅ‘zelmet" #: ../common/gtk/game-rules.c:145 msgid "Use dice deck" msgstr "" #: ../common/gtk/game-rules.c:147 msgid "Use a deck of 36 dice cards instead of real dice" msgstr "" #. Label #: ../common/gtk/game-rules.c:155 #, fuzzy msgid "Number of dice decks" msgstr "A játékos típusa" #: ../common/gtk/game-rules.c:172 msgid "The number of dice decks (of 36 cards each)" msgstr "" #. Label #: ../common/gtk/game-rules.c:180 msgid "Number of removed dice cards" msgstr "" #: ../common/gtk/game-rules.c:199 msgid "The number of dice cards that are removed after shuffling the deck" msgstr "" #. Label #: ../common/gtk/game-rules.c:207 #, fuzzy msgid "Island discovery bonuses" msgstr "Sziget felfedezés bónuszok:" #. Tooltip for island bonus #: ../common/gtk/game-rules.c:219 msgid "A comma separated list of bonus points for discovering islands" msgstr "" #. Tooltip for the check button #: ../common/gtk/game-rules.c:237 #, fuzzy msgid "Check and correct island discovery bonuses" msgstr "Sziget felfedezés bónuszok:" #. Label text for customising a game #: ../common/gtk/game-settings.c:105 msgid "Number of players" msgstr "Játékosok száma" #. Tooltip for 'Number of Players' #: ../common/gtk/game-settings.c:124 msgid "The number of players" msgstr "A játékosok száma" #. Label for customising a game #: ../common/gtk/game-settings.c:127 msgid "Victory point target" msgstr "GyÅ‘zelemhez szükséges pontok" #. Tooltip for Victory Point Target #: ../common/gtk/game-settings.c:147 msgid "The points needed to win the game" msgstr "A gyÅ‘zelemhez szükséges pontok" #. Tooltip for the check button #: ../common/gtk/game-settings.c:161 msgid "Is it possible to win this game?" msgstr "Meg lehet nyerni ezt a játékot?" #. Port indicator for a resource: trade 2 for 1 #: ../common/gtk/guimap.c:742 msgid "2:1" msgstr "2:1" #. Port indicator: trade 3 for 1 #. General port indicator #: ../common/gtk/guimap.c:745 ../common/gtk/guimap.c:770 msgid "3:1" msgstr "3:1" #. Port indicator for brick #: ../common/gtk/guimap.c:750 msgid "Brick port|B" msgstr "T" #. Port indicator for grain #: ../common/gtk/guimap.c:754 msgid "Grain port|G" msgstr "G" #. Port indicator for ore #: ../common/gtk/guimap.c:758 msgid "Ore port|O" msgstr "É" #. Port indicator for wool #: ../common/gtk/guimap.c:762 msgid "Wool port|W" msgstr "Gy" #. Port indicator for lumber #: ../common/gtk/guimap.c:766 msgid "Lumber port|L" msgstr "R" #. Tooltip for the list of metaservers #: ../common/gtk/metaserver.c:85 msgid "Select a metaserver" msgstr "Válassz egy meta szervert" #. Tooltip for the list of games #: ../common/gtk/select-game.c:135 msgid "Select a game" msgstr "Válassz egy játékot" #. Log prefix #: ../common/log.c:58 msgid "*ERROR* " msgstr "*HIBA* " #. Log prefix #: ../common/log.c:66 msgid "Chat: " msgstr "Chat: " #. Log prefix #: ../common/log.c:70 msgid "Resource: " msgstr "Nyersanyag: " #. Log prefix #: ../common/log.c:74 msgid "Build: " msgstr "Épít: " #. Log prefix #: ../common/log.c:78 msgid "Dice: " msgstr "Dob: " #. Log prefix #: ../common/log.c:82 msgid "Steal: " msgstr "Lop: " #. Log prefix #: ../common/log.c:86 msgid "Trade: " msgstr "Kereskedi: " #. Log prefix #: ../common/log.c:90 msgid "Development: " msgstr "Fejleszt: " #. Log prefix #: ../common/log.c:94 msgid "Army: " msgstr "Hadsereg: " #. Log prefix #: ../common/log.c:98 msgid "Road: " msgstr "Út: " #. Log prefix #: ../common/log.c:102 msgid "*BEEP* " msgstr "*BEEP " #. Log prefix #: ../common/log.c:108 msgid "Player 1: " msgstr "1. játékos: " #. Log prefix #: ../common/log.c:112 msgid "Player 2: " msgstr "2. játékos: " #. Log prefix #: ../common/log.c:116 msgid "Player 3: " msgstr "3. játékos: " #. Log prefix #: ../common/log.c:120 msgid "Player 4: " msgstr "4. játékos: " #. Log prefix #: ../common/log.c:124 msgid "Player 5: " msgstr "5. játékos: " #. Log prefix #: ../common/log.c:128 msgid "Player 6: " msgstr "6. játékos: " #. Log prefix #: ../common/log.c:132 msgid "Player 7: " msgstr "7. játékos: " #. Log prefix #: ../common/log.c:136 msgid "Player 8: " msgstr "8. játékos: " #. Log prefix #: ../common/log.c:140 msgid "Spectator: " msgstr "" #. Log prefix #: ../common/log.c:144 msgid "** UNKNOWN MESSAGE TYPE ** " msgstr "** ISMERETLEN ÜZENET TÃPUS ** " #: ../common/network.c:143 #, c-format msgid "Error writing to socket: %s\n" msgstr "Hiba socket írásakor: %s\n" #: ../common/network.c:154 msgid "Could not send all data\n" msgstr "" #: ../common/network.c:202 msgid "Read buffer overflow - disconnecting\n" msgstr "Olvasási tároló túlcsordulás - kapcsolat bontás\n" #: ../common/network.c:226 #, c-format msgid "Error reading socket: %s\n" msgstr "Hiba socket olvasáskor: %s\n" #: ../common/network.c:378 #, fuzzy, c-format msgid "Error connecting to %s: %s\n" msgstr "Hiba a csatlakozáskor %s: %s\n" #: ../common/network.c:566 ../common/network.c:567 msgid "unknown" msgstr "ismeretlen" #: ../common/state.c:203 #, c-format msgid "Connecting to %s, port %s\n" msgstr "Kapcsolódás: %s , port: %s\n" #. Error message #: ../common/state.c:333 msgid "State stack overflow. Stack dump sent to standard error.\n" msgstr "" "Ãllapot verem túlcsordulás. A verem tartalmát elküldtem a standard hiba " "kimenetre.\n" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:113 msgid "_Hill" msgstr "_Domb" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:115 msgid "_Field" msgstr "_Szántóföld" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:117 msgid "_Mountain" msgstr "_Hegy" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:119 msgid "_Pasture" msgstr "_LegelÅ‘" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:121 msgid "F_orest" msgstr "_ErdÅ‘" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:123 msgid "_Desert" msgstr "S_ivatag" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:125 msgid "_Sea" msgstr "_Tenger" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:127 msgid "_Gold" msgstr "_Arany" #. Use an unique shortcut key for each resource #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:129 ../editor/gtk/editor.c:144 msgid "_None" msgstr "Se_mmi" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:134 msgid "_Brick (2:1)" msgstr "Té_gla (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:136 msgid "_Grain (2:1)" msgstr "_Gabona (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:138 msgid "_Ore (2:1)" msgstr "É_rc (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:140 msgid "_Wool (2:1)" msgstr "Gy_apjú (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:142 msgid "_Lumber (2:1)" msgstr "Rö_nk (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:146 msgid "_Any (3:1)" msgstr "_Bármi (3:1)" #. East #: ../editor/gtk/editor.c:151 msgid "East|E" msgstr "Kelet|K" #. North east #: ../editor/gtk/editor.c:153 msgid "North East|NE" msgstr "Észak Kelet|ÉK" #. North west #: ../editor/gtk/editor.c:155 msgid "North West|NW" msgstr "Észak Nyugat|ÉNY" #. West #: ../editor/gtk/editor.c:157 msgid "West|W" msgstr "Nyugat|W" #. South west #: ../editor/gtk/editor.c:159 msgid "South West|SW" msgstr "Dél Nyugat|DNY" #. South east #: ../editor/gtk/editor.c:161 msgid "South East|SE" msgstr "Dél Kelet|DK" #: ../editor/gtk/editor.c:368 msgid "Place a hill hex" msgstr "" #: ../editor/gtk/editor.c:369 msgid "Place a field hex" msgstr "" #: ../editor/gtk/editor.c:370 msgid "Place a mountain hex" msgstr "" #: ../editor/gtk/editor.c:371 msgid "Place a pasture hex" msgstr "" #: ../editor/gtk/editor.c:372 msgid "Place a forest hex" msgstr "" #: ../editor/gtk/editor.c:373 msgid "Place a desert hex" msgstr "" #: ../editor/gtk/editor.c:374 msgid "Place a sea hex" msgstr "" #: ../editor/gtk/editor.c:375 msgid "Place a gold hex" msgstr "" #: ../editor/gtk/editor.c:376 msgid "Clear the hex" msgstr "" #: ../editor/gtk/editor.c:384 msgid "Place a 2 chit" msgstr "" #: ../editor/gtk/editor.c:385 msgid "Place a 3 chit" msgstr "" #: ../editor/gtk/editor.c:386 msgid "Place a 4 chit" msgstr "" #: ../editor/gtk/editor.c:387 msgid "Place a 5 chit" msgstr "" #: ../editor/gtk/editor.c:388 msgid "Place a 6 chit" msgstr "" #: ../editor/gtk/editor.c:390 msgid "Place an 8 chit" msgstr "" #: ../editor/gtk/editor.c:391 msgid "Place a 9 chit" msgstr "" #: ../editor/gtk/editor.c:392 msgid "Place a 10 chit" msgstr "" #: ../editor/gtk/editor.c:393 msgid "Place an 11 chit" msgstr "" #: ../editor/gtk/editor.c:394 msgid "Place a 12 chit" msgstr "" #: ../editor/gtk/editor.c:400 msgid "Place a brick 2:1 port" msgstr "" #: ../editor/gtk/editor.c:401 msgid "Place a grain 2:1 port" msgstr "" #: ../editor/gtk/editor.c:402 msgid "Place an ore 2:1 port" msgstr "" #: ../editor/gtk/editor.c:403 msgid "Place a wool 2:1 port" msgstr "" #: ../editor/gtk/editor.c:404 msgid "Place a lumber 2:1 port" msgstr "" #. Tooltip to remove a port tile in the editor #: ../editor/gtk/editor.c:406 #, fuzzy msgid "Remove a port" msgstr "Szerver port" #: ../editor/gtk/editor.c:407 msgid "Place a 3:1 port" msgstr "" #: ../editor/gtk/editor.c:437 msgid "" "Select the terrain type with the context menu on the left click or toggle a " "node to exclude it from being used during the setup phase" msgstr "" #: ../editor/gtk/editor.c:572 msgid "Insert a row" msgstr "" #: ../editor/gtk/editor.c:573 #, fuzzy msgid "Delete a row" msgstr "Törlés" #: ../editor/gtk/editor.c:574 msgid "Insert a column" msgstr "" #: ../editor/gtk/editor.c:575 msgid "Delete a column" msgstr "" #. Label #: ../editor/gtk/editor.c:978 #, fuzzy msgid "_Title" msgstr "_Cím módosítás" #. Label #: ../editor/gtk/editor.c:991 #, fuzzy msgid "_Description" msgstr "S_ivatag" #. Label #: ../editor/gtk/editor.c:1009 msgid "_Comments" msgstr "" #. Menu item #: ../editor/gtk/editor.c:1139 msgid "Shuffle" msgstr "Keverés" #. Caption #. Game settings frame #: ../editor/gtk/editor.c:1294 ../server/gtk/main.c:968 msgid "Game parameters" msgstr "Játék paraméterek" #. Caption #. Rules frame #: ../editor/gtk/editor.c:1297 ../server/gtk/main.c:983 msgid "Rules" msgstr "Szabályok" #. Caption #: ../editor/gtk/editor.c:1299 msgid "Resources" msgstr "Nyersanyagok" #. Caption #: ../editor/gtk/editor.c:1302 msgid "Buildings" msgstr "Építmények" #. The game in the editor does not have a name yet #: ../editor/gtk/editor.c:1319 msgid "Untitled" msgstr "" #. Application caption #: ../editor/gtk/editor.c:1324 ../editor/gtk/pioneers-editor.desktop.in.h:1 msgid "Pioneers Editor" msgstr "Pioneers szerkesztÅ‘" #: ../editor/gtk/editor.c:1434 #, c-format msgid "Failed to load '%s'" msgstr "Hiba a betöltékor '%s'" #: ../editor/gtk/editor.c:1482 #, c-format msgid "Failed to save to '%s'" msgstr "Hiba a mentéskor '%s'" #. Name of the file filter: show only games #: ../editor/gtk/editor.c:1499 #, fuzzy msgid "Games" msgstr "_Játék" #. Name of the file filter: show all files #: ../editor/gtk/editor.c:1505 msgid "Unfiltered" msgstr "" #. Dialog caption #: ../editor/gtk/editor.c:1517 msgid "Open Game" msgstr "Játék megnyitása" #. Button text #: ../editor/gtk/editor.c:1524 #, fuzzy msgid "_Open" msgstr "_Megnyitás..." #. Dialog caption #: ../editor/gtk/editor.c:1558 msgid "Save As..." msgstr "Mentés másként..." #. Button text #: ../editor/gtk/editor.c:1565 #, fuzzy msgid "Save _As" msgstr "Men_tés másként..." #. Dialog caption #: ../editor/gtk/editor.c:1606 msgid "Change Title" msgstr "Cím módosítás" #. Label #: ../editor/gtk/editor.c:1631 msgid "New title:" msgstr "Új cím:" #. Caption of about box #: ../editor/gtk/editor.c:1688 msgid "About Pioneers Game Editor" msgstr "Pioneers szerkesztÅ‘rÅ‘l" #. Menu entry #: ../editor/gtk/editor.c:1718 msgid "_File" msgstr "_Fájl" #. Menu entry #: ../editor/gtk/editor.c:1728 msgid "_New" msgstr "Ú_j" #: ../editor/gtk/editor.c:1729 msgid "Create a new game" msgstr "Új játék létrehozása" #. Menu entry #: ../editor/gtk/editor.c:1732 msgid "_Open..." msgstr "_Megnyitás..." #. Tooltip for Open menu entry #: ../editor/gtk/editor.c:1734 msgid "Open an existing game" msgstr "LétezÅ‘ játék megnyitása" #. Menu entry #: ../editor/gtk/editor.c:1737 msgid "_Save" msgstr "_Mentés" #. Tooltip for Save menu entry #: ../editor/gtk/editor.c:1739 msgid "Save game" msgstr "Játék mentése" #. Menu entry #: ../editor/gtk/editor.c:1742 msgid "Save _As..." msgstr "Men_tés másként..." #. Tooltip for Save As menu entry #: ../editor/gtk/editor.c:1745 msgid "Save as" msgstr "Mentés másként" #. Menu entry #: ../editor/gtk/editor.c:1748 #, fuzzy msgid "Change _Title" msgstr "Cím módosítás" #. Tooltip for Change Title menu entry #: ../editor/gtk/editor.c:1750 msgid "Change game title" msgstr "Játék címének módosítása" #. Menu entry #: ../editor/gtk/editor.c:1753 ../server/gtk/main.c:97 msgid "_Check Victory Point Target" msgstr "_EllenÅ‘rizd a gyÅ‘zelemhez szükséges pontokat" #. Tooltip for Check Victory Point Target menu entry #. Tooltop for Check Victory Point Target menu entry #: ../editor/gtk/editor.c:1756 ../server/gtk/main.c:100 msgid "Check whether the game can be won" msgstr "EllenÅ‘izd, vajon a játék megnyerhetÅ‘-e" #. Tooltip for Quit menu entry #: ../editor/gtk/editor.c:1761 msgid "Quit" msgstr "Kilépés" #. Menu entry #: ../editor/gtk/editor.c:1783 msgid "_About Pioneers Editor" msgstr "_Pioneers szerkesztÅ‘rÅ‘l" #. Tooltip for About Pioneers Editor menu entry #: ../editor/gtk/editor.c:1785 msgid "Information about Pioneers Editor" msgstr "Információ a Pioneers szerkesztÅ‘rÅ‘l" #. Long help for commandline option (editor): filename #: ../editor/gtk/editor.c:1838 msgid "Open this file" msgstr "Ennek a fájlnak a megnyitása" #. Commandline option for editor: filename #. Commandline metaserver: pidfile argument #: ../editor/gtk/editor.c:1840 ../metaserver/main.c:615 msgid "filename" msgstr "fájlnév" #. Long description in the command line: --help #: ../editor/gtk/editor.c:1877 msgid "- Editor for games of Pioneers" msgstr "- SzerkesztÅ‘ a Pioneers játékokhoz" #. Error message #: ../editor/gtk/editor.c:1921 ../server/gtk/main.c:1256 #, c-format msgid "Building menus failed: %s" msgstr "Hiba a menű felépítésekor: %s" #. Tab page name #: ../editor/gtk/editor.c:1951 msgid "Settings" msgstr "Beállítások" #. Tab page name #: ../editor/gtk/editor.c:1954 msgid "Comments" msgstr "" #: ../editor/gtk/game-resources.c:48 msgid "Resource count" msgstr "Nyersanyagok száma" #: ../editor/gtk/pioneers-editor.desktop.in.h:2 msgid "Create your own game for Pioneers" msgstr "Készíts saját játékot a Pioneershoz" #: ../editor/gtk/pioneers-editor.desktop.in.h:3 msgid "game;board;create;edit;layout;Pioneers;Settlers;" msgstr "" #. Commandline metaserver: daemon #: ../metaserver/main.c:610 #, fuzzy msgid "Daemonize the metaserver on start" msgstr "A metaszerver démonként induljon" #. Commandline metaserver: pidfile #: ../metaserver/main.c:613 msgid "Pidfile to create when daemonizing (implies -d)" msgstr "" #. Commandline metaserver: redirect #: ../metaserver/main.c:618 #, fuzzy msgid "Redirect clients to another metaserver" msgstr "Irányítsd a klienseket egy másik metaszeverhez" #. Commandline metaserver: server #: ../metaserver/main.c:621 msgid "Use this hostname when creating new games" msgstr "Használd ezt a host nevet új játék létrehozásához" #. Commandline metaserver: server argument #: ../metaserver/main.c:623 msgid "hostname" msgstr "host név" #. Commandline metaserver: port-range #: ../metaserver/main.c:626 msgid "Use this port range when creating new games" msgstr "Használd ezt a port tartományt új játék létrehozásához" #. Commandline metaserver: port-range argument #: ../metaserver/main.c:628 msgid "from-to" msgstr "tól-ig" #. Commandline option of metaserver: syslog-debug #: ../metaserver/main.c:634 msgid "Debug syslog messages" msgstr "Debug syslog üzenetek" #. Long description in the commandline for metaserver: help #: ../metaserver/main.c:675 msgid "- Metaserver for Pioneers" msgstr "- Meta szerver a Pioneers játékhoz" #: ../metaserver/main.c:691 #, fuzzy, c-format msgid "metaserver protocol:" msgstr "metaszerver protokoll:" #: ../server/avahi.c:68 msgid "Avahi registration successful.\n" msgstr "" #: ../server/avahi.c:78 #, c-format msgid "Avahi service name collision, renaming service to '%s'.\n" msgstr "" #. Some kind of failure happened while we were registering #: ../server/avahi.c:89 #, c-format msgid "Avahi error: %s\n" msgstr "" #: ../server/avahi.c:113 ../server/avahi.c:145 ../server/avahi.c:155 #: ../server/avahi.c:191 ../server/avahi.c:212 ../server/avahi.c:226 #, c-format msgid "Avahi error: %s, %s\n" msgstr "" #: ../server/avahi.c:213 ../server/avahi.c:227 msgid "Unable to register Avahi server" msgstr "" #: ../server/avahi.c:260 msgid "Unregistering Avahi.\n" msgstr "" #. Menu entry #: ../server/gtk/main.c:108 msgid "_About Pioneers Server" msgstr "_Pioneers szerverrÅ‘l" #. Tooltop for About Pioneers Server menu entry #: ../server/gtk/main.c:110 msgid "Information about Pioneers Server" msgstr "Információ a Pioneers szerverrÅ‘l" #: ../server/gtk/main.c:234 msgid "Stop Server" msgstr "Szerver leállítása" #: ../server/gtk/main.c:235 msgid "Start Server" msgstr "Szerver indítása" #: ../server/gtk/main.c:237 ../server/gtk/main.c:996 msgid "Stop the server" msgstr "A szerver leállítása" #: ../server/gtk/main.c:238 msgid "Start the server" msgstr "A szerver indítása" #: ../server/gtk/main.c:395 #, c-format msgid "Player %s from %s entered\n" msgstr "%s játékos belépett a következÅ‘ géprÅ‘l %s\n" #: ../server/gtk/main.c:402 #, c-format msgid "Player %s from %s left\n" msgstr "%s játékos kilépett a következÅ‘ géprÅ‘l %s\n" #: ../server/gtk/main.c:409 #, c-format msgid "Player %d is now %s\n" msgstr "%d. játékos most %s\n" #: ../server/gtk/main.c:570 msgid "The port for the game server" msgstr "Port a játék szerverhez" #. register_toggle #: ../server/gtk/main.c:579 msgid "Register server" msgstr "Szerver regisztrálás" #: ../server/gtk/main.c:587 msgid "Register this game at the metaserver" msgstr "Játék regisztrálása a meta szerverre" #. hostname label #: ../server/gtk/main.c:618 msgid "Reported hostname" msgstr "A közölt host név" #: ../server/gtk/main.c:633 msgid "" "The public name of this computer (needed when playing behind a firewall)" msgstr "A gép nyilvános neve (szükséges ha tűzfal mögül játszol)" #. random toggle #: ../server/gtk/main.c:652 #, fuzzy msgid "Random turn order" msgstr "Játékosok sorrnedje véletlen" #: ../server/gtk/main.c:659 msgid "Randomize turn order" msgstr "Játékosok sorrnedje véletlen" #. Tooltip for server connection overview #: ../server/gtk/main.c:730 #, fuzzy msgid "Shows all players and spectators connected to the server" msgstr "Minden szerverhez csatlakozott játékos és szemlélÅ‘ megjelenítése" #. Label for column Connected #: ../server/gtk/main.c:735 msgid "Connected" msgstr "Csatlakozva" #. Tooltip for column Connected #: ../server/gtk/main.c:742 msgid "Is the player currently connected?" msgstr "A játékos jelenleg csatlakozva?" #. Label for column Name #: ../server/gtk/main.c:747 msgid "Name" msgstr "Név" #. Tooltip for column Name #: ../server/gtk/main.c:754 msgid "Name of the player" msgstr "A játékos neve" #. Label for column Location #: ../server/gtk/main.c:758 msgid "Location" msgstr "Hely" #. Tooltip for column Location #: ../server/gtk/main.c:765 msgid "Host name of the player" msgstr "A játékos host neve" #. Label for column Number #: ../server/gtk/main.c:771 msgid "Number" msgstr "Szám" #. Tooltip for column Number #: ../server/gtk/main.c:778 msgid "Player number" msgstr "A játékos száma" #. Label for column Role #: ../server/gtk/main.c:784 msgid "Role" msgstr "Szabály" #. Tooltip for column Role #: ../server/gtk/main.c:788 #, fuzzy msgid "Player or spectator" msgstr "Játékos a nézÅ‘kbÅ‘l" #. Button text #: ../server/gtk/main.c:825 msgid "Launch Pioneers Client" msgstr "Pioneers kliens indítása" #. Tooltip #: ../server/gtk/main.c:839 msgid "Launch the Pioneers client" msgstr "A Pioneers kliens indítása" #. ai chat toggle #: ../server/gtk/main.c:868 msgid "Enable chat" msgstr "Chat engedélyezése" #. Tooltip #: ../server/gtk/main.c:875 msgid "Enable chat messages" msgstr "Chat üzenetek engedélyezése" #. Button text #: ../server/gtk/main.c:884 msgid "Add Computer Player" msgstr "Robot játékos hozzáadása" #. Tooltip #: ../server/gtk/main.c:892 msgid "Add a computer player to the game" msgstr "Robot játékos hozzáadása a játékhoz" #. Tooltip #: ../server/gtk/main.c:925 msgid "Messages from the server" msgstr "Üzenetek a szervertÅ‘l" #: ../server/gtk/main.c:961 msgid "Game settings" msgstr "Játék beállítások" #. server frame #: ../server/gtk/main.c:972 msgid "Server parameters" msgstr "Szerver paraméterek" #: ../server/gtk/main.c:992 msgid "Running game" msgstr "Aktuális játék" #. player connected frame #: ../server/gtk/main.c:1008 msgid "Players connected" msgstr "Csatlakozott játékosok" #. ai frame #: ../server/gtk/main.c:1012 msgid "Computer players" msgstr "Számítógép játékosok" #. message frame #: ../server/gtk/main.c:1024 msgid "Messages" msgstr "Üzenetek" #. Caption of about box #: ../server/gtk/main.c:1150 #, fuzzy msgid "About the Pioneers Game Server" msgstr "A pioneers játék szerver" # #. Wait for all players to disconnect, #. * then enable the UI #. #: ../server/gtk/main.c:1158 msgid "The game is over.\n" msgstr "A játéknak vége.\n" #. Long description in the commandline for server-gtk: help #. Long description in the commandline for server-console: help #: ../server/gtk/main.c:1212 ../server/main.c:194 msgid "- Host a game of Pioneers" msgstr "- a Pioneers játékot futtató" #. Name in the titlebar of the server #: ../server/gtk/main.c:1236 ../server/gtk/pioneers-server-gtk.desktop.in.h:1 msgid "Pioneers Server" msgstr "Pioneers szerver" #: ../server/gtk/pioneers-server-gtk.desktop.in.h:2 msgid "Host a game of Pioneers" msgstr "Üzemeltess Pioneers játékot" #: ../server/gtk/pioneers-server-gtk.desktop.in.h:3 msgid "game;board;server;host;Pioneers;Settlers;" msgstr "" #. Commandline server-console: game-title #: ../server/main.c:80 msgid "Game title to use" msgstr "Játék cím" #. Commandline server-console: file #: ../server/main.c:83 msgid "Game file to use" msgstr "Játék fájl" #. Commandline server-console: port #: ../server/main.c:86 msgid "Port to listen on" msgstr "Szzerver port" #. Commandline server-console: players #: ../server/main.c:89 msgid "Override number of players" msgstr "A játékosok számánk felülbírálása" #. Commandline server-console: points #: ../server/main.c:92 msgid "Override number of points needed to win" msgstr "GyÅ‘zelemhez szükséges pontok felülbírálása" #. Commandline server-console: seven-rule #: ../server/main.c:95 msgid "Override seven-rule handling" msgstr "Hetes szabály felülbírálása" #. Commandline server-console: dice-deck #: ../server/main.c:98 #, fuzzy msgid "Override dice-deck handling" msgstr "Hetes szabály felülbírálása" #. Commandline server-console: num-dice-decks #: ../server/main.c:101 #, fuzzy msgid "Override num-dice-decks handling" msgstr "Hetes szabály felülbírálása" #. Commandline server-console: num-removed-dice-cards #: ../server/main.c:105 #, fuzzy msgid "Override num-removed-dice-cards handling" msgstr "Hetes szabály felülbírálása" #. Commandline server-console: terrain #: ../server/main.c:108 msgid "Override terrain type, 0=default 1=random" msgstr "Terep felülbírálása, 0=alapértelmezett 1=véletlen" #. Commandline server-console: computer-players #: ../server/main.c:111 msgid "Add N computer players" msgstr "N db robot játékos hozzáadása" #. Commandline server-console: register #: ../server/main.c:121 msgid "Register server with metaserver" msgstr "Szerver regisztrálása a meta szerverre" #. Commandline server-console: metaserver #: ../server/main.c:124 msgid "Register at metaserver name (implies -r)" msgstr "Regisztrálj a meta-szerver névre (beleértve -r)" #. Commandline server-console: hostname #: ../server/main.c:128 msgid "Use this hostname when registering" msgstr "Használd ezt a host nevet regisztráláshoz" #. Commandline server-console: auto-quit #: ../server/main.c:135 msgid "Quit after a player has won" msgstr "Kilép miután a játékos nyert" #. Commandline server-console: empty-timeout #: ../server/main.c:138 msgid "Quit after N seconds with no players" msgstr "Kilép N másodperc múlva, ha nincsenek játékosok" #. Commandline server-console: tournament #: ../server/main.c:141 msgid "Tournament mode, computer players added after N minutes" msgstr "Verseny mód, robot játékos hozzáadása N perc elteltével" #. Commandline server-console: admin-port #: ../server/main.c:145 msgid "Admin port to listen on" msgstr "A szerver admin portja" #. Commandline server-console: admin-wait #: ../server/main.c:148 msgid "Don't start game immediately, wait for a command on admin port" msgstr "A játék nem azonnal,hanem az admin porton érkezÅ‘ parancsra indul" #. Commandline server-console: fixed-seating-order #: ../server/main.c:154 msgid "Give players numbers according to the order they enter the game" msgstr "Add meg a játékosok számát, ahányan játszanak a játékban" #. Commandline server-console: Short description of meta group #: ../server/main.c:200 msgid "Metaserver Options" msgstr "Meta szerver kapcsolók" #. Commandline server-console: Long description of meta group #: ../server/main.c:202 msgid "Options for the metaserver" msgstr "meta-szerver kapcsolók" #. Commandline server-console: Short description of misc group #: ../server/main.c:211 msgid "Miscellaneous Options" msgstr "Egyéb kapcsolók" #. Commandline server-console: Long description of misc group #: ../server/main.c:213 msgid "Miscellaneous options" msgstr "Egyéb kapcsolók" #. server-console commandline error #: ../server/main.c:239 #, c-format msgid "Cannot set game title and filename at the same time\n" msgstr "Fájlnév és játéknév nem adható meg egyszerre\n" #. server-console commandline error #: ../server/main.c:256 #, c-format msgid "Cannot load the parameters for the game\n" msgstr "A játék paramétereit nem lehet betölteni\n" #. Error message #: ../server/main.c:305 ../server/main.c:324 #, c-format msgid "The network port (%s) for the admin interface is not available.\n" msgstr "" #: ../server/meta.c:58 #, fuzzy msgid "The connection to the metaserver is lost.\n" msgstr "meta-szerver kapcsolók" #: ../server/meta.c:64 #, c-format msgid "An attempt to reconnect is scheduled in %u second.\n" msgid_plural "An attempt to reconnect is scheduled in %u seconds.\n" msgstr[0] "" msgstr[1] "" #: ../server/meta.c:83 #, fuzzy msgid "Attempting to reconnect to the metaserver.\n" msgstr "meta-szerver kapcsolók" #: ../server/meta.c:311 #, fuzzy, c-format msgid "Register with the metaserver at %s.\n" msgstr "Regisztrálás a meta szerverrel %s, port %s\n" #: ../server/meta.c:322 #, fuzzy msgid "Unregister from the metaserver.\n" msgstr "Ismeretlen üzenet a metaszervertÅ‘l\n" #: ../server/player.c:142 msgid "chat too long" msgstr "túl hosszú chat" #: ../server/player.c:159 msgid "name too long" msgstr "túl hosszú név" #: ../server/player.c:191 msgid "ignoring unknown extension" msgstr "ismeretlen bÅ‘vítések figyelmen kívül hagyása" #: ../server/player.c:228 ../server/player.c:298 msgid "The last player left, the tournament timer is reset." msgstr "Az utolsó játékos is elment, a parti idÅ‘zítÅ‘je újraindítva." #: ../server/player.c:262 ../server/player.c:643 msgid "No human players present. Bye." msgstr "" #: ../server/player.c:269 msgid "Game starts, adding computer players." msgstr "Játék indul, computer játékosok hozzáadása." #: ../server/player.c:311 #, c-format msgid "The game starts in %s minutes." msgstr "A játék %s percen belül kezdÅ‘dik." #: ../server/player.c:312 #, c-format msgid "The game starts in %s minute." msgstr "A játék %s perc múlva kezdÅ‘dik." # #. Default name for the AI when the computer_names file #. * is not found or empty. #. #: ../server/player.c:370 ../server/player.c:376 msgid "Computer Player" msgstr "Számítógép játékos" #: ../server/player.c:450 #, c-format msgid "Unable to determine the hostname of the player: %s" msgstr "" #. The game is over, don't accept new players #. Message to send to the client when the game is already over #. * when a connection is made. #: ../server/player.c:476 msgid "Sorry, game is over." msgstr "Bocs, a játék vége." #: ../server/player.c:478 #, c-format msgid "Player from %s is refused: game is over\n" msgstr "Játékos a %s géprÅ‘l visszautasíta: a játéknak vége\n" #: ../server/player.c:520 msgid "Name not changed: new name is already in use" msgstr "Név nincs megváltoztatva: az új név már használatban" #: ../server/player.c:638 ../server/server.c:38 msgid "Was hanging around for too long without players... bye.\n" msgstr "Túl sokáig voltam játékosok nélkül...viszlát.\n" #: ../server/player.c:723 msgid "The last human player left. Waiting for the return of a player." msgstr "" #: ../server/player.c:744 msgid "Resuming the game." msgstr "A játék folytatása." #. %s is the name of the reconnecting player #: ../server/player.c:870 #, c-format msgid "%s has reconnected." msgstr "%s újra csatlakoztatva." #: ../server/player.c:970 #, c-format msgid "Version mismatch: %s" msgstr "Verzió eltérés: %s" #: ../server/player.c:1007 msgid "This game will start soon." msgstr "Ez a játék hamarosan kezdÅ‘dik." #. Server: preparing game #..... #: ../server/server.c:221 msgid "Preparing game" msgstr "Játék indítása" #: ../server/turn.c:254 msgid "Island Discovery Bonus" msgstr "Sziget felfedezés bónusz" #: ../server/turn.c:255 msgid "Additional Island Bonus" msgstr "További sziget bónusz" #: ../server/turn.c:386 msgid "Tried to assign resources to NULL player.\n" msgstr "NULL játékosnak próbált erÅ‘forrást kiosztani.\n" #. Cheat mode has been activated #: ../server/turn.c:516 msgid "The dice roll has been determined by the administrator." msgstr "A kockadobást az adminisztrátor határozta meg" #~ msgid "Join the selected game" #~ msgstr "Jelentkezés a kiválasztott játékba" #~ msgid "Don't join a public game" #~ msgstr "Nem tud kapcsolódni nyilvános játékhoz" #~ msgid "Create a new public game at the metaserver" #~ msgstr "Új publikus játék létrehozása meta szerverre" #~ msgid "Refresh the list of games" #~ msgstr "Játéklista frissitése" #~ msgid "Version:" #~ msgstr "Verzió:" #~ msgid "Homepage:" #~ msgstr "Honlap:" #~ msgid "Authors:" #~ msgstr "SzerzÅ‘k:" #~ msgid "Pioneers is translated to by:\n" #~ msgstr "A Pioneerst magyarra fordította:\n" #~ msgid "Metaserver kicked us off\n" #~ msgstr "A meta szerver kirúgott minket\n" #~ msgid "" #~ "Note:\n" #~ "\tThe metaserver does not send information about the games.\n" #~ "\tPlease set appropriate values yourself." #~ msgstr "" #~ "Megjegyzés:\n" #~ "\tA meta szerver nem küld információt a játékokról.\n" #~ "\tKérlek állítds be magad a megfelelÅ‘ értékeket." #~ msgid "Error checking connect status: %s\n" #~ msgstr "Hiba csatlakozás státusz vizsgálat: %s\n" #~ msgid "Error connecting to host '%s': %s\n" #~ msgstr "Hiba a csatlakozáskor '%s': %s\n" #~ msgid "Error writing socket: %s\n" #~ msgstr "Hiba socket írásakor: %s\n" #~ msgid "Error creating socket: %s\n" #~ msgstr "Hiba a socket létrehozásakor: %s\n" #~ msgid "Error setting socket close-on-exec: %s\n" #~ msgstr "Hiba a socket beállításakor 'close-on-exec': %s\n" #~ msgid "Error setting socket non-blocking: %s\n" #~ msgstr "Hiba a socket beállításakor 'non-blocking': %s\n" #~ msgid "Cannot resolve %s port %s: %s\n" #~ msgstr "Nem lehet feloldani %s port %s: %s\n" #~ msgid "Cannot resolve %s port %s: host not found\n" #~ msgstr "Nem lehet feloldni %s port %s: gép nem található\n" #~ msgid "Error creating struct addrinfo: %s" #~ msgstr "Hiba az addrinfo létrehozásakor: %s" #~ msgid "Error creating listening socket: %s\n" #~ msgstr "Hiba a szerver socket létrehozásakor: %s\n" #~ msgid "Error during listen on socket: %s\n" #~ msgstr "Hiba a figyelÅ‘ socket végrahajtásakor: %s\n" #~ msgid "Listening not yet supported on this platform." #~ msgstr "Ez a platform nem támogatja a szerver socketeket." #~ msgid "Error getting peer name: %s" #~ msgstr "Hiba a látható név kérésekor: %s" #~ msgid "Error resolving address: %s" #~ msgstr "Hiba a címfeloldáskor: %s" #~ msgid "Net_get_peer_name not yet supported on this platform." #~ msgstr "Ez a platform nem támogatja a net_get_peer_name függvényt." #~ msgid "Error accepting connection: %s" #~ msgstr "Hiba csatlakozás elfogadásakor: %s" #, fuzzy #~ msgid "Admin port not available.\n" #~ msgstr "Bocs, %s használható.\n" #~ msgid "Admin port is not set, cannot disable game start too\n" #~ msgstr "Admin port nincs beállítva, így a játék kezdés nem lehet tiltva\n" #~ msgid "Viewer %d" #~ msgstr "SzemlélÅ‘ %d" #~ msgid "viewer %d" #~ msgstr "szemlélÅ‘ %d" #~ msgid "I want" #~ msgstr "Szeretnék" #~ msgid "Give them" #~ msgstr "Adok érte" #~ msgid "Viewer: " #~ msgstr "SzemlélÅ‘: " #~ msgid "Number of AI Players" #~ msgstr "Robot játékosok száma" #~ msgid "The number of AI players" #~ msgstr "A robot játékosok száma" #~ msgid "Recent Games" #~ msgstr "Legutóbbi játékok" #~ msgid "You may choose 1 resource" #~ msgstr "Választhatsz egy nyersanyagot" #~ msgid "_Player name" #~ msgstr "Játékos _neve" #~ msgid "The Pioneers Game" #~ msgstr "Pioneers" #~ msgid "Select the ship to steal from" #~ msgstr "" #~ "Válaszd ki a hajót\n" #~ "akitÅ‘l lopni szeretnél" #~ msgid "Select the building to steal from" #~ msgstr "" #~ "Válaszd ki az épületet\n" #~ "akitÅ‘l lopni szeretnél" #~ msgid "Development Card" #~ msgstr "Fejlesztés kártya" #~ msgid "Player Name:" #~ msgstr "Játékos neve:" #~ msgid "I Want" #~ msgstr "Szeretnék" #~ msgid "Interplayer Trading Allowed?" #~ msgstr "Játékosok közötti üzlet engedélyezett?" #~ msgid "Trading allowed only before build/buy?" #~ msgstr "Kereskedés csak építkezés / vásárlás elÅ‘tt?" #~ msgid "Check Victory Only At End Of Turn?" #~ msgstr "GyÅ‘zelem ellenÅ‘rzése csak a kör végén?" #~ msgid "Sevens Rule:" #~ msgstr "Hetes szabály:" #~ msgid "Use Pirate:" #~ msgstr "Kalóz használat:" #~ msgid "Number of Players" #~ msgstr "Játékosok száma" #~ msgid "Development Cards" #~ msgstr "Fejlesztés kártyák" #~ msgid "Save as..." #~ msgstr "Mentés másként..." #~ msgid "Pioneers Game Editor" #~ msgstr "Pioneers játék szerkesztÅ‘" #~ msgid "_Change title" #~ msgstr "_Cím módosítás" #~ msgid "Random Turn Order" #~ msgstr "Véletlen kör sorrend" #~ msgid "_Legend" #~ msgstr "_Jelmagyarázat" #~ msgid "bad scaling mode '%s'" #~ msgstr "Hibás mérték '%s'" #~ msgid "Missing game directory\n" #~ msgstr "Hiányzó játék könyvtár\n" pioneers-15.5/po/sv.po0000644000175000017500000030375113252242740011631 00000000000000# Swedish translation of pioneers. # Copyright (C) 2005-2008 Daniel Nylander # This file is distributed under the same license as the pioneers package. # # vim::set fileencoding=utf8 # msgid "" msgstr "" "Project-Id-Version: Pioneers 0.12.3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-03-14 16:51+0100\n" "PO-Revision-Date: 2011-10-30 15:06+0100\n" "Last-Translator: Daniel Nylander \n" "Language-Team: Swedish \n" "Language: sv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2010-04-06 06:08+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Plural-Forms: nplurals=2; plural=(n!=1)\n" #. Commandline pioneersai: chromosome-file #: ../client/ai/ai.c:90 msgid "Chromosome File" msgstr "" #. Commandline pioneersai: server #: ../client/ai/ai.c:93 msgid "Server Host" msgstr "Servervärd" #. Commandline pioneersai: port #: ../client/ai/ai.c:96 msgid "Server Port" msgstr "Serverport" #. Commandline pioneersai: name #: ../client/ai/ai.c:99 msgid "Computer name (mandatory)" msgstr "Datornamn (obligatoriskt)" #. Commandline pioneersai: time #: ../client/ai/ai.c:102 msgid "Time to wait between turns (in milliseconds)" msgstr "Väntetid mellan turer (i millisekunder)" #. Commandline pioneersai: chat-free #: ../client/ai/ai.c:105 msgid "Stop computer player from talking" msgstr "Stoppa datorspelare frÃ¥n att prata" #. Commandline pioneersai: algorithm #: ../client/ai/ai.c:108 msgid "Type of computer player" msgstr "Typ av datorspelare" #. Commandline option of ai: enable debug logging #. Commandline option of client: enable debug logging #. Commandline option of metaserver: enable debug logging #. Commandline option of server-gtk: enable debug logging #. Commandline option of server: enable debug logging #: ../client/ai/ai.c:111 ../client/gtk/offline.c:67 ../metaserver/main.c:631 #: ../server/gtk/main.c:1170 ../server/main.c:159 msgid "Enable debug messages" msgstr "Aktivera felsökningsmeddelanden" #. Commandline option of ai: version #. Commandline option of client: version #. Commandline option of editor: version #. Commandline option of metaserver: version #. Commandline option of server-gtk: version #. Commandline option of server-console: version #: ../client/ai/ai.c:114 ../client/gtk/offline.c:70 ../editor/gtk/editor.c:1843 #: ../metaserver/main.c:637 ../server/gtk/main.c:1173 ../server/main.c:114 msgid "Show version information" msgstr "Visa versionsinformation" #. Long description in the commandline for pioneersai: help #: ../client/ai/ai.c:125 msgid "- Computer player for Pioneers" msgstr "- Datorspelare för Pioneers" #: ../client/ai/ai.c:137 ../client/gtk/offline.c:196 #: ../editor/gtk/editor.c:1888 ../metaserver/main.c:687 #: ../server/gtk/main.c:1223 ../server/main.c:226 #, c-format msgid "Pioneers version:" msgstr "Pioneers version:" #. ai commandline error #: ../client/ai/ai.c:160 #, c-format msgid "A name must be provided.\n" msgstr "Ett namn mÃ¥ste anges.\n" #: ../client/ai/ai.c:171 #, c-format msgid "Type of computer player: %s\n" msgstr "Typ av datorspelare: %s\n" #: ../client/ai/ai.c:202 msgid "The game is already full. I'm leaving." msgstr "Spelet är redan fullt. Jag lämnar det." #. AI chat at the start of the turn #: ../client/ai/ai.c:230 msgid "Ok, let's go!" msgstr "Ok, nu kör vi!" #. AI chat at the start of the turn #: ../client/ai/ai.c:232 msgid "I'll beat you all now! ;)" msgstr "Jag slÃ¥r er alla nu! ;)" #. AI chat at the start of the turn #: ../client/ai/ai.c:234 msgid "Now for another try..." msgstr "Ett nytt försök..." #. AI chat when one resource is received #: ../client/ai/ai.c:239 msgid "At least I get something..." msgstr "Jag fÃ¥r nÃ¥got Ã¥tminstone..." #. AI chat when one resource is received #: ../client/ai/ai.c:241 msgid "One is better than none..." msgstr "Ett är bättre än inget..." #. AI chat when more than one resource is received #: ../client/ai/ai.c:246 msgid "Wow!" msgstr "Wow!" #. AI chat when more than one resource is received #: ../client/ai/ai.c:248 msgid "Ey, I'm becoming rich ;)" msgstr "Tjo, Jag blir rikare ;)" #. AI chat when more than one resource is received #: ../client/ai/ai.c:250 msgid "This is really a good year!" msgstr "Detta är verkligen ett bra Ã¥r!" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:255 msgid "You really don't deserve that much!" msgstr "Du är inte värd sÃ¥ mycket!" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:257 msgid "You don't know what to do with that many resources ;)" msgstr "Du vet inte vad du ska göra med sÃ¥ mÃ¥nga resurser ;)" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:259 msgid "Ey, wait for my robber and lose all this again!" msgstr "Hey, vänta pÃ¥ min rÃ¥nare och förlora allt detta igen!" #. AI chat when it moves the robber #: ../client/ai/ai.c:264 msgid "Hehe!" msgstr "Hehe!" #. AI chat when it moves the robber #: ../client/ai/ai.c:266 msgid "Go, robber, go!" msgstr "Kör pÃ¥, rÃ¥nare!" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:271 msgid "You bastard!" msgstr "Din jäkel!" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:273 msgid "Can't you move that robber somewhere else?!" msgstr "Kan du inte flytta den där rÃ¥naren nÃ¥gon annanstans?!" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:275 msgid "Why always me??" msgstr "Varför är det alltid jag??" #. AI chat when it must discard resources #: ../client/ai/ai.c:280 msgid "Oh no!" msgstr "Ã…h nej!" #. AI chat when it must discard resources #: ../client/ai/ai.c:282 msgid "Grrr!" msgstr "Grrr!" #. AI chat when it must discard resources #: ../client/ai/ai.c:284 msgid "Who the hell rolled that 7??" msgstr "Vem i &/#\"(\" slog den 7:an??" #. AI chat when it must discard resources #: ../client/ai/ai.c:286 msgid "Why always me?!?" msgstr "Varför är det alltid jag??" #. AI chat when other players must discard #: ../client/ai/ai.c:291 msgid "Say good bye to your cards... :)" msgstr "Säg adjö till dina kort... :)" #. AI chat when other players must discard #: ../client/ai/ai.c:293 msgid "*evilgrin*" msgstr "*evilgrin*" #. AI chat when other players must discard #: ../client/ai/ai.c:295 msgid "/me says farewell to your cards ;)" msgstr "/me säger adjö till dina kort ;)" #. AI chat when other players must discard #: ../client/ai/ai.c:297 msgid "That's the price for being rich... :)" msgstr "Det är priset för att vara rik... :)" #. AI chat when someone steals from it #: ../client/ai/ai.c:302 msgid "Ey! Where's that card gone?" msgstr "Hey! Var tog det kortet vägen?" #. AI chat when someone steals from it #: ../client/ai/ai.c:304 msgid "Thieves! Thieves!!" msgstr "Tjuvar! Tjuvar!!" #. AI chat when someone steals from it #: ../client/ai/ai.c:306 msgid "Wait for my revenge..." msgstr "Vänta pÃ¥ min hämnd..." #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:311 msgid "Oh no :(" msgstr "Ã…h nej :(" #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:313 msgid "Must this happen NOW??" msgstr "MÃ¥ste detta hända NU??" #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:315 msgid "Args" msgstr "Args" #. AI chat when it has the largest army #: ../client/ai/ai.c:320 msgid "Hehe, my soldiers rule!" msgstr "Hehe, mina soldater äger!" #. AI chat when another player that the largest army #: ../client/ai/ai.c:325 msgid "First robbing us, then grabbing the points..." msgstr "Först rÃ¥na oss sen sno Ã¥t sig poängen..." #. AI chat when it has the longest road #: ../client/ai/ai.c:330 msgid "See that road!" msgstr "Se pÃ¥ den vägen!" #. AI chat when another player has the longest road #: ../client/ai/ai.c:335 msgid "Pf, you won't win with roads alone..." msgstr "Pfff, du vinner aldrig med bara vägar..." #: ../client/ai/ai.c:434 #, c-format msgid "Received error from server: %s. Quitting\n" msgstr "Mottog fel frÃ¥n server: %s. Avslutar\n" #. AI chat when it wins #: ../client/ai/ai.c:446 ../client/ai/genetic.c:2766 msgid "Yippie!" msgstr "Jippi!" #. AI chat when another player wins #: ../client/ai/ai.c:449 ../client/ai/genetic.c:2777 msgid "My congratulations" msgstr "Mina gratulationer" #: ../client/ai/genetic.c:1277 ../client/ai/greedy.c:961 msgid "No settlements in stock to use for setup" msgstr "Inga bosättningar i lager att använda för detta" #: ../client/ai/genetic.c:1284 ../client/ai/greedy.c:968 msgid "There is no place to setup a settlement" msgstr "Det finns ingen plats för att bygga en bosättning" #: ../client/ai/genetic.c:1311 ../client/ai/greedy.c:992 msgid "No roads in stock to use for setup" msgstr "Inga vägar pÃ¥ lager att använda för detta" #: ../client/ai/genetic.c:1329 ../client/ai/greedy.c:1009 msgid "There is no place to setup a road" msgstr "Det finns ingen plats för att anlägga en väg" #: ../client/ai/genetic.c:2651 ../client/ai/greedy.c:1784 msgid "Rejecting trade.\n" msgstr "Nekade handel.\n" #. Translators: don't translate '/help' #: ../client/ai/lobbybot.c:80 msgid "" "Hello, welcome to the lobby. I am a simple robot. Type '/help' in the chat " "to see the list of commands I know." msgstr "" "Hej, välkommen till lobbyn. Jag är en enkel robot. Skriv \"/help\" i chatten " "för att se en lista pÃ¥ kommandon jag känner till." #. Translators: don't translate '/help' #: ../client/ai/lobbybot.c:107 msgid "'/help' shows this message again" msgstr "\"/help\" visar detta meddelande igen" #. Translators: don't translate '/why' #: ../client/ai/lobbybot.c:110 msgid "'/why' explains the purpose of this strange board layout" msgstr "\"/why\" förklarar meningen med denna konstiga brädlayout" #. Translators: don't translate '/news' #: ../client/ai/lobbybot.c:113 msgid "'/news' tells the last released version" msgstr "\"/news\" talar om den senaste utgivna versionen" #. AI chat that explains '/why' #: ../client/ai/lobbybot.c:119 msgid "" "This board is not intended to be a game that can be played. Instead, players " "can find eachother here, and decide which board they want to play. Then, one " "of the players will host the proposed game by starting a server, and " "registers it at the metaserver. The other players can subsequently " "disconnect from the lobby, and enter that game." msgstr "" "Denna bräda är inte tänkt att vara ett spel som kan spelas. Istället kan " "spelare hitta varandra här, och bestämma vilken bräda de vill spela pÃ¥. " "Sedan kan en av spelarna stÃ¥ värd för det tänkta spelet genom att starta en " "server, och registrera den pÃ¥ metaservern. De andra spelarna kan därefter " "koppla ner frÃ¥n lobbyn, och ansluta till det spelet." #: ../client/ai/lobbybot.c:130 msgid "The last released version of Pioneers is" msgstr "\"Den senaste utgivna versionen av Pioneers är" #. The lobbybot leaves when a game is starting #: ../client/ai/lobbybot.c:146 msgid "The game is starting. I'm not needed anymore. Goodbye." msgstr "Spelet startar. Jag behövs inte längre. Adjö." #: ../client/common/client.c:105 msgid "Waiting" msgstr "Väntar" #: ../client/common/client.c:107 msgid "Idle" msgstr "Overksam" #: ../client/common/client.c:532 msgid "We have been kicked out of the game.\n" msgstr "Vi har blivit utsparkade frÃ¥n spelet.\n" #. Network status: offline #: ../client/common/client.c:535 ../client/common/client.c:990 #: ../client/gtk/gui.c:1532 msgid "Offline" msgstr "Offline" #: ../client/common/client.c:556 #, c-format msgid "Error (%s): %s\n" msgstr "Fel (%s): %s\n" #: ../client/common/client.c:565 ../client/common/client.c:576 #, c-format msgid "Notice: %s\n" msgstr "Notera: %s\n" #: ../client/common/client.c:693 #, c-format msgid "%s does not receive any %s, because the bank is empty.\n" msgstr "%s tar inte emot nÃ¥gra %s, därför att banken är tom.\n" #: ../client/common/client.c:706 #, c-format msgid "%s only receives %s, because the bank didn't have any more.\n" msgstr "%s tar endast emot %s, därför att banken inte hade mer.\n" #: ../client/common/client.c:716 #, c-format msgid "%s receives %s.\n" msgstr "%s tar emot %s.\n" #. Year of Plenty #: ../client/common/client.c:724 ../client/common/client.c:2663 #, c-format msgid "%s takes %s.\n" msgstr "%s tar %s.\n" #: ../client/common/client.c:729 #, c-format msgid "%s spent %s.\n" msgstr "%s spenderade %s.\n" #: ../client/common/client.c:735 #, c-format msgid "%s is refunded %s.\n" msgstr "%s blir Ã¥terbetalad %s.\n" #. %s = Player name #: ../client/common/client.c:753 #, c-format msgid "%s shuffled the dice deck.\n" msgstr "" #: ../client/common/client.c:772 #, c-format msgid "%s discarded %s.\n" msgstr "%s kastade %s.\n" #: ../client/common/client.c:846 #, c-format msgid "%s has won the game with %d victory points!\n" msgstr "%s har vunnit spelet med %d segerpoäng!\n" #: ../client/common/client.c:945 msgid "Loading" msgstr "Läser in" #: ../client/common/client.c:991 msgid "Version mismatch." msgstr "Version stämmer inte." #: ../client/common/client.c:993 msgid "Version mismatch. Please make sure client and server are up to date.\n" msgstr "" "Versionen stämmer inte. Se till att klient och server är uppdaterade.\n" #: ../client/common/client.c:1413 msgid "Build two settlements, each with a connecting" msgstr "Bygg tvÃ¥ bosättningar, bÃ¥da med en anslutande" #: ../client/common/client.c:1416 msgid "Build a settlement with a connecting" msgstr "Bygg en bosättning med en anslutande" #: ../client/common/client.c:1419 msgid "road" msgstr "väg" #: ../client/common/client.c:1421 msgid "bridge" msgstr "bro" #: ../client/common/client.c:1423 msgid "ship" msgstr "skepp" #: ../client/common/client.c:1430 msgid " or" msgstr " eller" #: ../client/common/client.c:1494 msgid "Waiting for your turn." msgstr "Väntar pÃ¥ din tur." #: ../client/common/client.c:1546 ../client/gtk/interface.c:784 msgid "Select the building to steal from." msgstr "Välj den byggnad du vill stjäla frÃ¥n." #: ../client/common/client.c:1568 ../client/gtk/interface.c:774 msgid "Select the ship to steal from." msgstr "Välj det skepp du vill stjäla frÃ¥n." #: ../client/common/client.c:1652 ../client/gtk/interface.c:816 msgid "Place the robber." msgstr "Placera ut rÃ¥naren." #: ../client/common/client.c:1702 msgid "Finish the road building action." msgstr "Gör klar vägbyggnationen." #: ../client/common/client.c:1704 msgid "Build one road segment." msgstr "Bygg ett vägsegment." #: ../client/common/client.c:1706 msgid "Build two road segments." msgstr "Bygg tvÃ¥ vägsegment." #. Notification #: ../client/common/client.c:1979 ../client/common/client.c:2073 #: ../client/gtk/interface.c:432 msgid "It is your turn." msgstr "Det är din tur." #: ../client/common/client.c:2167 #, c-format msgid "Sorry, %s available.\n" msgstr "Tyvärr, %s tillgänglig.\n" #: ../client/common/client.c:2481 msgid "The game is over." msgstr "Spelet är slut." #. This development card is unique #: ../client/common/develop.c:67 #, c-format msgid "You bought the %s development card.\n" msgstr "Du köpte utvecklingskortet för %s.\n" #. This development card is not unique #: ../client/common/develop.c:73 #, c-format msgid "You bought a %s development card.\n" msgstr "Du köpte ett utvecklingskort för %s.\n" #: ../client/common/develop.c:103 #, c-format msgid "%s bought a development card.\n" msgstr "%s köpte ett utvecklingskort.\n" #: ../client/common/develop.c:121 #, c-format msgid "%s played the %s development card.\n" msgstr "%s spelade utvecklingskortet för %s.\n" #: ../client/common/develop.c:126 #, c-format msgid "%s played a %s development card.\n" msgstr "%s spelade ett utvecklingskort för %s.\n" #: ../client/common/develop.c:138 msgid "You have run out of road segments.\n" msgstr "Du har slut pÃ¥ vägsegment.\n" #. I get the cards #. $1=resources, $2=player that loses resources #: ../client/common/develop.c:179 #, c-format msgid "You get %s from %s.\n" msgstr "Du fÃ¥r %s frÃ¥n %s.\n" #. I lose the cards #. $1=player that steals, $2=resources #: ../client/common/develop.c:185 #, c-format msgid "%s took %s from you.\n" msgstr "%s tog %s frÃ¥n dig.\n" #: ../client/common/develop.c:192 #, c-format msgid "%s took %s from %s.\n" msgstr "%s tog %s frÃ¥n %s.\n" #: ../client/common/player.c:125 ../server/player.c:567 #, c-format msgid "Spectator %d" msgstr "Ã…skÃ¥dare %d" #: ../client/common/player.c:128 #, c-format msgid "spectator %d" msgstr "Ã¥skÃ¥dare %d" #: ../client/common/player.c:137 ../server/player.c:570 #, c-format msgid "Player %d" msgstr "Spelare %d" #: ../client/common/player.c:139 #, c-format msgid "player %d" msgstr "spelare %d" #: ../client/common/player.c:216 #, c-format msgid "New spectator: %s.\n" msgstr "Ny Ã¥skÃ¥dare: %s.\n" #: ../client/common/player.c:219 ../client/common/player.c:235 #, c-format msgid "%s is now %s.\n" msgstr "%s är nu %s.\n" #: ../client/common/player.c:232 #, c-format msgid "Player %d is now %s.\n" msgstr "Spelare %d är nu %s.\n" #: ../client/common/player.c:269 #, c-format msgid "%s has quit.\n" msgstr "%s har avslutat.\n" #: ../client/common/player.c:278 msgid "There is no largest army.\n" msgstr "Det finns ingen största armé.\n" #: ../client/common/player.c:281 #, c-format msgid "%s has the largest army.\n" msgstr "%s har den största armén.\n" #: ../client/common/player.c:302 msgid "There is no longest road.\n" msgstr "Det finns ingen längsta väg.\n" #: ../client/common/player.c:305 #, c-format msgid "%s has the longest road.\n" msgstr "%s har den längsta vägen.\n" #: ../client/common/player.c:326 #, c-format msgid "Waiting for %s." msgstr "Väntar pÃ¥ %s." #. We are not in on the action #. someone stole a resource from someone else #: ../client/common/player.c:354 #, c-format msgid "%s stole a resource from %s.\n" msgstr "%s stal en resurs frÃ¥n %s.\n" #. $1=resource, $2=player name #: ../client/common/player.c:365 #, c-format msgid "You stole %s from %s.\n" msgstr "Du stal %s frÃ¥n %s.\n" #. $1=player name, $2=resource #: ../client/common/player.c:372 #, c-format msgid "%s stole %s from you.\n" msgstr "%s stal %s frÃ¥n dig.\n" #: ../client/common/player.c:406 #, c-format msgid "%s gave %s nothing!?\n" msgstr "%s gav %s ingenting!?\n" #. $1=giving player, $2=receiving player, $3=resources #: ../client/common/player.c:413 ../client/common/player.c:423 #, c-format msgid "%s gave %s %s for free.\n" msgstr "%s gav %s %s gratis.\n" #: ../client/common/player.c:431 #, c-format msgid "%s gave %s %s in exchange for %s.\n" msgstr "%s gav %s %s i utbyte mot %s.\n" #: ../client/common/player.c:462 #, c-format msgid "%s exchanged %s for %s.\n" msgstr "%s utbytte %s mot %s.\n" #: ../client/common/player.c:482 #, c-format msgid "%s built a road.\n" msgstr "%s byggde en väg.\n" #: ../client/common/player.c:494 #, c-format msgid "%s built a ship.\n" msgstr "%s byggde ett skepp.\n" #: ../client/common/player.c:507 #, c-format msgid "%s built a settlement.\n" msgstr "%s byggde en bosättning.\n" #: ../client/common/player.c:526 #, c-format msgid "%s built a city.\n" msgstr "%s byggde en stad.\n" #: ../client/common/player.c:540 #, c-format msgid "%s built a city wall.\n" msgstr "%s byggde en stadsmur.\n" #. Error message #: ../client/common/player.c:551 #, c-format msgid "player_build_add called with BUILD_NONE for user %s\n" msgstr "player_build_add anropades med BUILD_NONE för användare %s\n" #: ../client/common/player.c:561 #, c-format msgid "%s built a bridge.\n" msgstr "%s byggde en bro.\n" #: ../client/common/player.c:587 #, c-format msgid "%s removed a road.\n" msgstr "%s tog bort en väg.\n" #: ../client/common/player.c:597 #, c-format msgid "%s removed a ship.\n" msgstr "%s tog bort ett skepp.\n" #: ../client/common/player.c:607 #, c-format msgid "%s removed a settlement.\n" msgstr "%s tog bort en bosättning.\n" #: ../client/common/player.c:618 #, c-format msgid "%s removed a city.\n" msgstr "%s tog bort en stad.\n" #: ../client/common/player.c:632 #, c-format msgid "%s removed a city wall.\n" msgstr "%s tog bort en stadsmur.\n" #. Error message #: ../client/common/player.c:642 #, c-format msgid "player_build_remove called with BUILD_NONE for user %s\n" msgstr "player_build_remove anropades med BUILD_NONE för användare %s\n" #: ../client/common/player.c:651 #, c-format msgid "%s removed a bridge.\n" msgstr "%s tog bort en bro.\n" #: ../client/common/player.c:682 #, c-format msgid "%s has canceled a ship's movement.\n" msgstr "%s har avbrutit flyttning av ett skepp.\n" #: ../client/common/player.c:685 #, c-format msgid "%s moved a ship.\n" msgstr "%s flyttade ett skepp.\n" #. tell the user that someone got something #: ../client/common/player.c:705 #, c-format msgid "%s received %s.\n" msgstr "%s mottog %s.\n" #: ../client/common/player.c:724 msgid "server asks to lose invalid point.\n" msgstr "server frÃ¥gar om att förlora ogiltig poäng.\n" #. tell the user the point is lost #: ../client/common/player.c:730 #, c-format msgid "%s lost %s.\n" msgstr "%s förlorade %s.\n" #: ../client/common/player.c:753 msgid "server asks to move invalid point.\n" msgstr "server frÃ¥gar om att flytta ogiltig poäng.\n" #. tell the user someone (1) lost something (2) to someone else (3) #: ../client/common/player.c:760 #, c-format msgid "%s lost %s to %s.\n" msgstr "%s förlorade %s till %s.\n" #: ../client/common/resource.c:35 msgid "brick" msgstr "tegel" #: ../client/common/resource.c:35 msgid "Brick" msgstr "Tegel" #: ../client/common/resource.c:36 msgid "grain" msgstr "spannmÃ¥l" #: ../client/common/resource.c:36 msgid "Grain" msgstr "SpannmÃ¥l" #: ../client/common/resource.c:37 msgid "ore" msgstr "malm" #: ../client/common/resource.c:37 msgid "Ore" msgstr "Malm" #: ../client/common/resource.c:38 msgid "wool" msgstr "ull" #: ../client/common/resource.c:38 msgid "Wool" msgstr "Ull" #: ../client/common/resource.c:39 msgid "lumber" msgstr "timmer" #: ../client/common/resource.c:39 msgid "Lumber" msgstr "Timmer" #: ../client/common/resource.c:40 msgid "no resource (bug)" msgstr "ingen resurs (fel)" #: ../client/common/resource.c:40 msgid "No resource (bug)" msgstr "Ingen resurs (fel)" #: ../client/common/resource.c:41 msgid "any resource (bug)" msgstr "nÃ¥gon resurs (fel)" #: ../client/common/resource.c:41 msgid "Any resource (bug)" msgstr "NÃ¥gon resurs (fel)" #: ../client/common/resource.c:42 msgid "gold" msgstr "guld" #: ../client/common/resource.c:42 ../client/gtk/legend.c:41 msgid "Gold" msgstr "Guld" #: ../client/common/resource.c:47 msgid "a brick card" msgstr "ett tegelkort" #: ../client/common/resource.c:47 #, c-format msgid "%d brick cards" msgstr "%d tegelkort" #: ../client/common/resource.c:48 msgid "a grain card" msgstr "ett spannmÃ¥lskort" #: ../client/common/resource.c:48 #, c-format msgid "%d grain cards" msgstr "%d spannmÃ¥lskort" #: ../client/common/resource.c:49 msgid "an ore card" msgstr "ett malmkort" #: ../client/common/resource.c:49 #, c-format msgid "%d ore cards" msgstr "%d malmkort" #: ../client/common/resource.c:50 msgid "a wool card" msgstr "ett ullkort" #: ../client/common/resource.c:50 #, c-format msgid "%d wool cards" msgstr "%d ullkort" #: ../client/common/resource.c:51 msgid "a lumber card" msgstr "ett timmerkort" #: ../client/common/resource.c:51 #, c-format msgid "%d lumber cards" msgstr "%d timmerkort" #: ../client/common/resource.c:139 ../client/common/resource.c:225 msgid "nothing" msgstr "ingenting" #. Construct "A, B and C" for resources #: ../client/common/resource.c:166 #, c-format msgid "%s and %s" msgstr "%s och %s" #. Construct "A, B and C" for resources #: ../client/common/resource.c:170 #, c-format msgid "%s, %s" msgstr "%s, %s" #: ../client/common/robber.c:62 #, c-format msgid "%s has undone the robber movement.\n" msgstr "%s har Ã¥ngrat förflyttningen av rÃ¥naren.\n" #: ../client/common/robber.c:65 #, c-format msgid "%s moved the robber.\n" msgstr "%s flyttade rÃ¥naren.\n" #: ../client/common/robber.c:75 #, c-format msgid "%s has undone the pirate movement.\n" msgstr "%s har Ã¥ngrat förflyttning av piraten.\n" #: ../client/common/robber.c:78 #, c-format msgid "%s moved the pirate.\n" msgstr "%s flyttade piraten.\n" #: ../client/common/robber.c:85 #, c-format msgid "%s must move the robber." msgstr "%s mÃ¥ste flytta rÃ¥naren." #: ../client/common/setup.c:146 #, c-format msgid "Setup for %s.\n" msgstr "Uppställning för %s.\n" #: ../client/common/setup.c:158 #, c-format msgid "Double setup for %s.\n" msgstr "Dubbel uppställning för %s.\n" #: ../client/common/turn.c:37 #, c-format msgid "%s rolled %d.\n" msgstr "%s slog %d.\n" #: ../client/common/turn.c:50 #, c-format msgid "Begin turn %d for %s.\n" msgstr "Börja tur %d för %s.\n" #: ../client/gtk/avahi-browser.c:83 msgid "Select an automatically discovered game" msgstr "" #. $1=Game title, $2=version, $3=host_name, $4=port #: ../client/gtk/avahi-browser.c:132 #, c-format msgid "%s (%s) on %s:%s" msgstr "" #. Label text #: ../client/gtk/chat.c:73 msgid "Chat" msgstr "Chatt" #: ../client/gtk/chat.c:232 msgid "Beeper test.\n" msgstr "Testa pip.\n" #: ../client/gtk/chat.c:235 #, c-format msgid "%s beeped you.\n" msgstr "%s pingade dig.\n" #: ../client/gtk/chat.c:239 #, c-format msgid "You beeped %s.\n" msgstr "Du pingade %s.\n" #: ../client/gtk/chat.c:245 #, c-format msgid "You could not beep %s.\n" msgstr "Du kunde inte skicka ett pip till %s.\n" #: ../client/gtk/chat.c:287 msgid " said: " msgstr " säger: " #: ../client/gtk/connect.c:286 #, c-format msgid "Metaserver at %s, port %s" msgstr "Metaserver pÃ¥ %s, port %s" #: ../client/gtk/connect.c:296 msgid "Finished.\n" msgstr "Klar.\n" #: ../client/gtk/connect.c:311 ../client/gtk/connect.c:389 #: ../client/gtk/connect.c:408 ../client/gtk/connect.c:979 msgid "The metaserver is not available anymore.\n" msgstr "" #: ../client/gtk/connect.c:322 ../client/gtk/connect.c:443 #: ../client/gtk/connect.c:770 msgid "The metaserver closed the connection unexpectedly.\n" msgstr "" #: ../client/gtk/connect.c:380 msgid "Receiving game names from the metaserver.\n" msgstr "Tar emot spelnamn frÃ¥n metaservern.\n" #: ../client/gtk/connect.c:422 #, fuzzy, c-format msgid "New game server requested on %s port %s.\n" msgstr "Ny spelserver begärd pÃ¥ %s port %s\n" #: ../client/gtk/connect.c:432 msgid "Incomplete information about the new game server received.\n" msgstr "" #: ../client/gtk/connect.c:486 ../client/gtk/connect.c:492 ../server/meta.c:239 #, c-format msgid "Unknown message from the metaserver: %s\n" msgstr "Okänt meddelande frÃ¥n metaservern: %s\n" #: ../client/gtk/connect.c:565 ../server/meta.c:178 #, c-format msgid "Receiving data from inactive session: %s\n" msgstr "" #: ../client/gtk/connect.c:577 ../server/meta.c:192 #, fuzzy msgid "Too many metaserver redirects.\n" msgstr "För mÃ¥nga omdirigeringar för metaserver\n" #: ../client/gtk/connect.c:606 ../server/meta.c:208 #, c-format msgid "Bad redirect line: %s\n" msgstr "Felaktig rad för omdirigering: %s\n" #: ../client/gtk/connect.c:631 #, c-format msgid "The metaserver is too old to create servers (version %d.%d)\n" msgstr "Metaserver för gammal för att skapa servrar (version %d.%d)\n" #: ../client/gtk/connect.c:670 ../client/gtk/connect.c:749 #: ../client/gtk/connect.c:755 #, fuzzy, c-format msgid "Unexpected data from the metaserver: %s\n" msgstr "Okänt meddelande frÃ¥n metaservern: %s\n" #. Sevens rule: normal #: ../client/gtk/connect.c:701 ../client/gtk/settingscreen.c:181 #: ../common/gtk/game-rules.c:89 msgid "Normal" msgstr "Normal" #. Sevens rule: reroll on 1st 2 turns #: ../client/gtk/connect.c:706 ../client/gtk/settingscreen.c:183 #: ../common/gtk/game-rules.c:95 msgid "Reroll on 1st 2 turns" msgstr "SlÃ¥ om pÃ¥ de första 2 turerna" #. Sevens rule: reroll all 7s #: ../client/gtk/connect.c:710 ../client/gtk/settingscreen.c:185 #: ../common/gtk/game-rules.c:102 msgid "Reroll all 7s" msgstr "SlÃ¥ om alla 7:or" #: ../client/gtk/connect.c:724 msgid "Default" msgstr "Förvald" #: ../client/gtk/connect.c:727 msgid "Random" msgstr "Slumpad" #: ../client/gtk/connect.c:819 ../server/meta.c:299 #, fuzzy, c-format msgid "Redirected to the metaserver at %s.\n" msgstr "Omdirigerad till metaserver pÃ¥ %s, port %s\n" #: ../client/gtk/connect.c:824 ../server/meta.c:302 #, fuzzy, c-format msgid "Redirected to the metaserver at %s, port %s.\n" msgstr "Omdirigerad till metaserver pÃ¥ %s, port %s\n" #: ../client/gtk/connect.c:831 msgid "Receiving a list of Pioneers servers from the metaserver.\n" msgstr "Tar emot en lista av Pioneers-servrar frÃ¥n metaservern.\n" #. Label #: ../client/gtk/connect.c:914 #, fuzzy msgid "Number of computer players" msgstr "Typ av datorspelare" #. Tooltip #: ../client/gtk/connect.c:935 #, fuzzy msgid "The number of computer players" msgstr "Antalet spelare" #. Canceled retrieving information #. * from the metaserver #: ../client/gtk/connect.c:957 ../client/gtk/connect.c:992 #: ../client/gtk/connect.c:1133 msgid "Canceled.\n" msgstr "" #: ../client/gtk/connect.c:960 #, fuzzy msgid "Requesting new game server.\n" msgstr "Begär en ny spelserver\n" #: ../client/gtk/connect.c:1015 ../server/gtk/main.c:370 ../server/server.c:123 #, fuzzy, c-format msgid "Error starting %s: %s\n" msgstr "Fel vid start av %s: %s" #. Dialog caption #: ../client/gtk/connect.c:1037 msgid "Create a Public Game" msgstr "Skapa ett publikt spel" #. Button text #: ../client/gtk/connect.c:1040 ../client/gtk/connect.c:1191 #: ../client/gtk/connect.c:1440 ../client/gtk/connect.c:1744 #: ../client/gtk/name.c:147 ../editor/gtk/editor.c:1521 #: ../editor/gtk/editor.c:1562 ../editor/gtk/editor.c:1611 msgid "_Cancel" msgstr "" #. Button text #: ../client/gtk/connect.c:1042 #, fuzzy msgid "C_reate" msgstr "Skapa spel" #. Dialog caption #: ../client/gtk/connect.c:1182 msgid "Join a Public Game" msgstr "GÃ¥ in i ett publikt spel" #. Button text #: ../client/gtk/connect.c:1185 msgid "_Refresh" msgstr "" #. Button text #: ../client/gtk/connect.c:1188 msgid "_New Remote Game" msgstr "_Nytt fjärrspel" #. Button text #: ../client/gtk/connect.c:1194 ../client/gtk/connect.c:1748 msgid "_Join" msgstr "" #. Tooltip #: ../client/gtk/connect.c:1237 msgid "Select a game to join" msgstr "Välj ett spel att gÃ¥ in i" #. Column name #: ../client/gtk/connect.c:1241 msgid "Map Name" msgstr "Kartnamn" #. Tooltip for column 'Map Name' #: ../client/gtk/connect.c:1249 msgid "Name of the game" msgstr "Spelets namn" #. Column name #: ../client/gtk/connect.c:1255 msgid "Curr" msgstr "Nuvar" #. Tooltip for column 'Curr' #: ../client/gtk/connect.c:1262 msgid "Number of players in the game" msgstr "Antal spelare i spelet" #. Column name #: ../client/gtk/connect.c:1268 msgid "Max" msgstr "Max" #. Tooltip for column 'Max' #: ../client/gtk/connect.c:1275 msgid "Maximum players for the game" msgstr "Max antal spelare för spelet" #. Column name #: ../client/gtk/connect.c:1279 msgid "Terrain" msgstr "Terräng" #. Tooltip for column 'Terrain' #: ../client/gtk/connect.c:1287 msgid "Random of default terrain" msgstr "Slumpmässig standardterräng" #. Column name #: ../client/gtk/connect.c:1293 msgid "Vic. Points" msgstr "Segerpoäng" #. Tooltip for column 'Vic. Points' #: ../client/gtk/connect.c:1300 msgid "Points needed to win" msgstr "Poäng för vinst" #. Column name #: ../client/gtk/connect.c:1304 msgid "Sevens Rule" msgstr "Regel för 7:an" #. Tooltip for column 'Sevens Rule' #. Label #: ../client/gtk/connect.c:1312 ../common/gtk/game-rules.c:81 msgid "Sevens rule" msgstr "Regel för 7:an" #. Column name #: ../client/gtk/connect.c:1316 msgid "Host" msgstr "Värd" #. Tooltip for column 'Host' #: ../client/gtk/connect.c:1325 msgid "Host of the game" msgstr "Värd för spelet" #. Column name #: ../client/gtk/connect.c:1331 msgid "Port" msgstr "Port" #. Tooltip for column 'Port' #: ../client/gtk/connect.c:1339 #, fuzzy msgid "Port of the game" msgstr "Port för spelet" #. Column name #: ../client/gtk/connect.c:1343 msgid "Version" msgstr "Version" #. Tooltip for column 'Version' #: ../client/gtk/connect.c:1351 msgid "Version of the host" msgstr "Version hos värden" #. Dialog caption #: ../client/gtk/connect.c:1436 msgid "Start a New Game" msgstr "Starta ett nytt spel" #. Label #. Commandline option of client: name of the player #: ../client/gtk/connect.c:1464 ../client/gtk/offline.c:57 msgid "Player name" msgstr "Spelarnamn" #. Tooltip #: ../client/gtk/connect.c:1480 msgid "Enter your name" msgstr "Ange ditt namn" #. Check button #. Role of the player: spectator #: ../client/gtk/connect.c:1483 ../server/gtk/main.c:682 msgid "Spectator" msgstr "Ã…skÃ¥dare" #: ../client/gtk/connect.c:1493 #, fuzzy msgid "Check if you want to be a spectator" msgstr "Vill du vara en Ã¥skÃ¥dare?" #. Label #: ../client/gtk/connect.c:1504 msgid "Avahi" msgstr "" #. Button #: ../client/gtk/connect.c:1511 msgid "Join" msgstr "" #. Tooltip for button Join #: ../client/gtk/connect.c:1515 msgid "Join an automatically discovered game" msgstr "" #. Label #. metaserver label #: ../client/gtk/connect.c:1542 ../server/gtk/main.c:593 msgid "Metaserver" msgstr "Metaserver" #. Button #: ../client/gtk/connect.c:1564 msgid "Join Public Game" msgstr "GÃ¥ in i ett publikt spel" #. Tooltip #: ../client/gtk/connect.c:1570 msgid "Join a public game" msgstr "GÃ¥ in i ett publikt spel" #. Button #: ../client/gtk/connect.c:1575 msgid "Create Game" msgstr "Skapa spel" #. Tooltip #: ../client/gtk/connect.c:1579 msgid "Create a game" msgstr "Skapa ett spel" #. Button #: ../client/gtk/connect.c:1588 msgid "Join Private Game" msgstr "GÃ¥ in i privat spel" #. Tooltip #. Dialog caption #: ../client/gtk/connect.c:1592 ../client/gtk/connect.c:1737 msgid "Join a private game" msgstr "GÃ¥ in i ett privat spel" #. Label #. Commandline option of client: hostname of the server #: ../client/gtk/connect.c:1777 ../client/gtk/offline.c:51 msgid "Server host" msgstr "Servervärd" #. Tooltip #: ../client/gtk/connect.c:1791 msgid "Name of the host of the game" msgstr "Namn pÃ¥ värden som kör spelet" #. Label #. Commandline option of client: port of the server #. server port label #: ../client/gtk/connect.c:1795 ../client/gtk/offline.c:54 #: ../server/gtk/main.c:555 msgid "Server port" msgstr "Serverport" #. Tooltip #: ../client/gtk/connect.c:1812 msgid "Port of the host of the game" msgstr "Port pÃ¥ värden som kör spelet" #. Tooltip #. Label #: ../client/gtk/connect.c:1854 ../client/gtk/connect.c:1857 msgid "Recent games" msgstr "Tidigare spel" #. Caption for list of bought development cards #: ../client/gtk/develop.c:130 msgid "Development cards" msgstr "Utvecklingskort" #. Button text: play development card #: ../client/gtk/develop.c:163 msgid "Play Card" msgstr "Spela kort" #. Dialog caption #: ../client/gtk/discard.c:77 msgid "Discard Resources" msgstr "Kasta resurser" #. Button text #: ../client/gtk/discard.c:83 ../client/gtk/gameover.c:38 #: ../client/gtk/gold.c:78 ../client/gtk/monopoly.c:88 ../client/gtk/name.c:150 #: ../client/gtk/plenty.c:67 ../editor/gtk/editor.c:1614 msgid "_OK" msgstr "" #: ../client/gtk/discard.c:101 #, fuzzy, c-format msgid "You must discard %d resource" msgid_plural "You must discard %d resources" msgstr[0] "Du mÃ¥ste kasta %d resurser" msgstr[1] "Du mÃ¥ste kasta %d resurser" #. Label #: ../client/gtk/discard.c:110 msgid "Total discards" msgstr "Totala kastningar" #. Caption for list of player that must discard cards #: ../client/gtk/discard.c:235 msgid "Waiting for players to discard" msgstr "Väntar pÃ¥ att spelare ska kasta" #. Dialog caption #: ../client/gtk/gameover.c:34 msgid "Game Over" msgstr "Spelet är över" #: ../client/gtk/gameover.c:52 #, c-format msgid "%s has won the game with %d victory points!" msgstr "%s har vunnit spelet med %d segerpoäng!" #: ../client/gtk/gameover.c:58 #, c-format msgid "All praise %s, Lord of the known world!" msgstr "Länge leve %s, Härskare över världen!" #. Dialog caption #: ../client/gtk/gold.c:72 msgid "Choose Resources" msgstr "Välj resurser" #: ../client/gtk/gold.c:96 #, fuzzy, c-format msgid "You may choose %d resource" msgid_plural "You may choose %d resources" msgstr[0] "Du fÃ¥r välja %d resurser" msgstr[1] "Du fÃ¥r välja %d resurser" #. Text for total in choose gold dialog #. Text for total in year of plenty dialog #: ../client/gtk/gold.c:105 ../client/gtk/plenty.c:103 msgid "Total resources" msgstr "Totala resurser" #. Caption for list of player that must choose gold #: ../client/gtk/gold.c:217 msgid "Waiting for players to choose" msgstr "Väntar pÃ¥ att spelare ska välja" #. Menu entry #: ../client/gtk/gui.c:224 ../server/gtk/main.c:91 msgid "_Game" msgstr "_Spel" #. Menu entry #: ../client/gtk/gui.c:227 msgid "_New Game" msgstr "_Nytt spel" #. Tooltip for New Game menu entry #: ../client/gtk/gui.c:229 msgid "Start a new game" msgstr "Starta ett nytt spel" #. Menu entry #: ../client/gtk/gui.c:232 msgid "_Leave Game" msgstr "_Lämna spel" #. Tooltip for Leave Game menu entry #: ../client/gtk/gui.c:234 msgid "Leave this game" msgstr "Lämna detta spel" #. Menu entry #: ../client/gtk/gui.c:238 msgid "_Admin" msgstr "_Administrera" #. Tooltip for Admin menu entry #: ../client/gtk/gui.c:240 msgid "Administer Pioneers server" msgstr "Administrera Pioneers-servern" #. Menu entry #: ../client/gtk/gui.c:244 msgid "_Player Name" msgstr "_Spelarens namn" #. Tooltip for Player Name menu entry #: ../client/gtk/gui.c:246 msgid "Change your player name" msgstr "Ändra ditt spelarnamn" #. Menu entry #: ../client/gtk/gui.c:249 msgid "L_egend" msgstr "_Förklaring" #. Tooltip for Legend menu entry #: ../client/gtk/gui.c:251 msgid "Terrain legend and building costs" msgstr "Terrängförklaring och byggnadskostnader" #. Menu entry #: ../client/gtk/gui.c:254 msgid "_Game Settings" msgstr "S_pelinställningar" #. Tooltip for Game Settings menu entry #: ../client/gtk/gui.c:256 msgid "Settings for the current game" msgstr "Inställningar för nuvarande spel" #. Menu entry #: ../client/gtk/gui.c:259 msgid "_Dice Histogram" msgstr "_Tärningshistogram" #. Tooltip for Dice Histogram menu entry #: ../client/gtk/gui.c:261 msgid "Histogram of dice rolls" msgstr "Histogram för tärningskast" #. Menu entry #: ../client/gtk/gui.c:264 ../editor/gtk/editor.c:1759 ../server/gtk/main.c:103 msgid "_Quit" msgstr "_Avsluta" #. Tooltip for Quit menu entry #. Tooltop for Quit menu entry #: ../client/gtk/gui.c:266 ../server/gtk/main.c:105 msgid "Quit the program" msgstr "Avsluta programmet" #. Menu entry #: ../client/gtk/gui.c:269 msgid "_Actions" msgstr "_Ã…tgärder" #. Menu entry #: ../client/gtk/gui.c:272 msgid "Roll Dice" msgstr "Kasta tärning" #. Tooltip for Roll Dice menu entry #: ../client/gtk/gui.c:274 msgid "Roll the dice" msgstr "Kasta tärningen" #. Menu entry #. Tooltip for Trade menu entry #. Tab page name #: ../client/gtk/gui.c:277 ../client/gtk/gui.c:279 ../client/gtk/gui.c:710 msgid "Trade" msgstr "Handla" #. Menu entry #. Tooltip for Undo menu entry #: ../client/gtk/gui.c:283 ../client/gtk/gui.c:285 msgid "Undo" msgstr "Ã…ngra" #. Menu entry #. Tooltip for Finish menu entry #: ../client/gtk/gui.c:288 ../client/gtk/gui.c:290 msgid "Finish" msgstr "Klar" #. Menu entry #: ../client/gtk/gui.c:293 ../client/gtk/legend.c:189 #: ../editor/gtk/game-buildings.c:10 msgid "Road" msgstr "Väg" #. Tooltip for Road menu entry #: ../client/gtk/gui.c:295 msgid "Build a road" msgstr "Bygg en väg" #. Menu entry #: ../client/gtk/gui.c:298 ../client/gtk/legend.c:193 #: ../editor/gtk/game-buildings.c:10 msgid "Ship" msgstr "Skepp" #. Tooltip for Ship menu entry #: ../client/gtk/gui.c:300 msgid "Build a ship" msgstr "Bygg ett skepp" #. Menu entry #: ../client/gtk/gui.c:303 msgid "Move Ship" msgstr "Flytta skepp" #. Tooltip for Move Ship menu entry #: ../client/gtk/gui.c:305 msgid "Move a ship" msgstr "Flytta ett skepp" #. Menu entry #: ../client/gtk/gui.c:308 ../client/gtk/legend.c:196 #: ../editor/gtk/game-buildings.c:10 msgid "Bridge" msgstr "Bro" #. Tooltip for Bridge menu entry #: ../client/gtk/gui.c:310 msgid "Build a bridge" msgstr "Bygg en bro" #. Menu entry #: ../client/gtk/gui.c:313 ../client/gtk/legend.c:198 ../client/gtk/player.c:52 #: ../editor/gtk/game-buildings.c:10 msgid "Settlement" msgstr "Bosättning" #. Tooltip for Settlement menu entry #: ../client/gtk/gui.c:316 msgid "Build a settlement" msgstr "Bygg en bosättning" #. Menu entry #: ../client/gtk/gui.c:319 ../client/gtk/legend.c:199 ../client/gtk/player.c:53 #: ../editor/gtk/game-buildings.c:11 msgid "City" msgstr "Stad" #. Tooltip for City menu entry #: ../client/gtk/gui.c:321 msgid "Build a city" msgstr "Bygg en stad" #. Menu entry #: ../client/gtk/gui.c:324 msgid "Develop" msgstr "Utveckla" #. Tooltip for Develop menu entry #: ../client/gtk/gui.c:326 msgid "Buy a development card" msgstr "Köp ett utvecklingskort" #. Menu entry #: ../client/gtk/gui.c:329 msgid "City Wall" msgstr "Stadsmur" #. Tooltip for City Wall menu entry #: ../client/gtk/gui.c:331 msgid "Build a city wall" msgstr "Bygg en stadsmur" #. Menu entry #: ../client/gtk/gui.c:335 msgid "_Settings" msgstr "_Inställningar" #. Menu entry #: ../client/gtk/gui.c:338 msgid "Prefere_nces" msgstr "Inställ_ningar" #. Tooltip for Preferences menu entry #: ../client/gtk/gui.c:340 msgid "Configure the application" msgstr "Konfigurera programmet" #. Menu entry #: ../client/gtk/gui.c:344 ../editor/gtk/editor.c:1721 msgid "_View" msgstr "" #. Menu entry #: ../client/gtk/gui.c:347 ../editor/gtk/editor.c:1765 msgid "_Reset" msgstr "" #. Tooltip for Reset menu entry #: ../client/gtk/gui.c:350 ../editor/gtk/editor.c:1768 msgid "View the full map" msgstr "" #. Menu entry #: ../client/gtk/gui.c:353 ../editor/gtk/editor.c:1771 msgid "_Center" msgstr "" #. Tooltip for Center menu entry #: ../client/gtk/gui.c:355 ../editor/gtk/editor.c:1773 msgid "Center the map" msgstr "" #. Menu entry #: ../client/gtk/gui.c:359 ../client/gtk/gui.c:368 ../editor/gtk/editor.c:1724 #: ../server/gtk/main.c:94 msgid "_Help" msgstr "_Hjälp" #. Menu entry #: ../client/gtk/gui.c:362 msgid "_About Pioneers" msgstr "_Om Pioneers" #. Tooltip for About Pioneers menu entry #: ../client/gtk/gui.c:364 msgid "Information about Pioneers" msgstr "Information om Pioneers" #. Tooltip for Help menu entry #: ../client/gtk/gui.c:370 ../client/gtk/gui.c:1258 msgid "Show the manual" msgstr "Visa manualen" #. Menu entry #: ../client/gtk/gui.c:378 ../editor/gtk/editor.c:1791 msgid "_Fullscreen" msgstr "" #. Tooltip for Fullscreen menu entry #: ../client/gtk/gui.c:381 ../editor/gtk/editor.c:1794 msgid "Set window to full screen mode" msgstr "" #. Menu entry #: ../client/gtk/gui.c:386 msgid "_Toolbar" msgstr "_Verktygsrad" #. Tooltip for Toolbar menu entry #: ../client/gtk/gui.c:388 msgid "Show or hide the toolbar" msgstr "Visa eller göm verktygsraden" #. Victory points target in statusbar #: ../client/gtk/gui.c:491 #, c-format msgid "Points needed to win: %i" msgstr "Poäng krävs för vinst: %i" #: ../client/gtk/gui.c:577 msgid "Messages" msgstr "Meddelanden" #. Tab page name #: ../client/gtk/gui.c:703 ../editor/gtk/editor.c:1946 msgid "Map" msgstr "Karta" #. Tooltip #: ../client/gtk/gui.c:712 msgid "Finish trading" msgstr "Avsluta handel" #. Tab page name #. Button text #: ../client/gtk/gui.c:722 ../client/gtk/quote.c:339 msgid "Quote" msgstr "Pris" #. Tooltip #: ../client/gtk/gui.c:724 msgid "Reject domestic trade" msgstr "Vägra inrikeshandel" #. Tab page name #. Dialog caption #: ../client/gtk/gui.c:734 ../client/gtk/legend.c:249 msgid "Legend" msgstr "Förklaring" #. Tab page name, shown for the splash screen #: ../client/gtk/gui.c:744 msgid "Welcome to Pioneers" msgstr "Välkommen till Pioneers" #. Caption of preferences dialog #: ../client/gtk/gui.c:1028 msgid "Pioneers Preferences" msgstr "Inställningar för Pioneers" #. Button text #: ../client/gtk/gui.c:1034 ../client/gtk/histogram.c:252 #: ../client/gtk/legend.c:253 ../client/gtk/settingscreen.c:413 msgid "_Close" msgstr "" #. Label for changing the theme, in the preferences dialog #: ../client/gtk/gui.c:1059 msgid "Theme:" msgstr "Tema:" #. Tooltip for changing the theme in the preferences dialog #: ../client/gtk/gui.c:1082 msgid "Choose one of the themes" msgstr "Välj ett av dessa teman" #. Label for the option to show the legend #: ../client/gtk/gui.c:1086 msgid "Show legend" msgstr "Visa förklaring" #. Tooltip for the option to show the legend #: ../client/gtk/gui.c:1096 msgid "Show the legend as a page beside the map" msgstr "Visa förklaringen som en sida bredvid kartan" #. Label for the option to display log messages in color #: ../client/gtk/gui.c:1101 msgid "Messages with color" msgstr "Meddelanden med färg" #. Tooltip for the option to display log messages in color #: ../client/gtk/gui.c:1111 msgid "Show new messages with color" msgstr "Visa nya meddelanden med färg" #. Label for the option to display chat in color of player #: ../client/gtk/gui.c:1116 msgid "Chat in color of player" msgstr "Chatt i spelarens färg" #. Tooltip for the option to display chat in color of player #: ../client/gtk/gui.c:1127 msgid "Show new chat messages in the color of the player" msgstr "Visa nya chattmeddelanden i samma färg som spelaren" #. Label for the option to display the summary with colors #: ../client/gtk/gui.c:1132 msgid "Summary with color" msgstr "Sammanfattning i färg" #. Tooltip for the option to display the summary with colors #: ../client/gtk/gui.c:1143 msgid "Use colors in the player summary" msgstr "Använd färger i spelarnas sammanfattning" #. Label for the option to display keyboard accelerators in the toolbar #: ../client/gtk/gui.c:1148 msgid "Toolbar with shortcuts" msgstr "Verktygsrad med genvägar" #. Tooltip for the option to display keyboard accelerators in the toolbar #: ../client/gtk/gui.c:1158 msgid "Show keyboard shortcuts in the toolbar" msgstr "Visa tangentbordsgenvägar i verktygsraden" #. Label for the option to disable all sounds #: ../client/gtk/gui.c:1164 msgid "Silent mode" msgstr "Tyst läge" #. Tooltip for the option to disable all sounds #: ../client/gtk/gui.c:1170 msgid "In silent mode no sounds are made" msgstr "I tyst läge kommer inga ljud att spelas upp" #. Label for the option to announce when players/spectators enter #: ../client/gtk/gui.c:1176 msgid "Announce new players" msgstr "Annonsera nya spelare" #. Tooltip for the option to use sound when players/spectators enter #: ../client/gtk/gui.c:1186 msgid "Make a sound when a new player or spectator enters the game" msgstr "Spela ett ljud när en ny spelare eller Ã¥skÃ¥dare kommer in i spelet" #. Label for the option to use the notifications. #: ../client/gtk/gui.c:1198 msgid "Show notifications" msgstr "" #. Tooltip for notifications option. #: ../client/gtk/gui.c:1208 msgid "Show notifications when it's your turn or when new trade is available" msgstr "" #. Label for the option to use the 16:9 layout. #: ../client/gtk/gui.c:1214 msgid "Use 16:9 layout" msgstr "Använd bredbildslayout" #. Tooltip for 16:9 option. #: ../client/gtk/gui.c:1224 msgid "Use a 16:9 friendly layout for the window" msgstr "Använd en bredbildsvänlig layout för fönstret" #. Caption of about box #: ../client/gtk/gui.c:1233 msgid "About Pioneers" msgstr "Om Pioneers" #. Initial text in status bar #: ../client/gtk/gui.c:1544 ../client/gtk/offline.c:107 msgid "Welcome to Pioneers!" msgstr "Välkommen till Pioneers!" #. The name of the application #. Name of the application #: ../client/gtk/gui.c:1606 ../client/gtk/offline.c:209 #: ../client/gtk/pioneers.desktop.in.h:1 msgid "Pioneers" msgstr "Pioneers" #. Dialog caption #: ../client/gtk/histogram.c:248 msgid "Dice Histogram" msgstr "Tärningshistogram" #: ../client/gtk/interface.c:111 msgid "Ship movement canceled." msgstr "Flyttning av skepp avbröts." #: ../client/gtk/interface.c:119 ../client/gtk/interface.c:120 msgid "Select a new location for the ship." msgstr "Välj en ny plats för skeppet." #. Notification #: ../client/gtk/interface.c:919 msgid "It is your turn to setup." msgstr "" #: ../client/gtk/legend.c:34 msgid "Hill" msgstr "Kulle" #: ../client/gtk/legend.c:35 msgid "Field" msgstr "Fält" #: ../client/gtk/legend.c:36 msgid "Mountain" msgstr "Berg" #: ../client/gtk/legend.c:37 msgid "Pasture" msgstr "Betesmark" #: ../client/gtk/legend.c:38 msgid "Forest" msgstr "Skog" #: ../client/gtk/legend.c:39 msgid "Desert" msgstr "Öken" #: ../client/gtk/legend.c:40 msgid "Sea" msgstr "Hav" #. Label #: ../client/gtk/legend.c:132 msgid "Terrain yield" msgstr "Terrängavkastning" #. Label #: ../client/gtk/legend.c:165 msgid "Building costs" msgstr "Byggnadskostnader" #: ../client/gtk/legend.c:203 ../client/gtk/player.c:54 #: ../editor/gtk/game-buildings.c:11 msgid "City wall" msgstr "Stadsmur" #: ../client/gtk/legend.c:206 ../client/gtk/player.c:65 msgid "Development card" msgstr "Utvecklingskort" #. Dialog caption #. Name of the development card #: ../client/gtk/monopoly.c:84 ../common/cards.c:86 msgid "Monopoly" msgstr "Monopol" #. Label #: ../client/gtk/monopoly.c:106 msgid "Select the resource you wish to monopolize." msgstr "Välj den resurs du önskar monopolisera." #. Dialog caption #: ../client/gtk/name.c:141 msgid "Change Player Name" msgstr "Ändra spelarens namn" #. Label #: ../client/gtk/name.c:172 msgid "Player name:" msgstr "Spelarnamn:" #. Label: set player icon preferences #: ../client/gtk/name.c:234 msgid "Face:" msgstr "Yta:" #. Label: set player icon preferences #: ../client/gtk/name.c:250 msgid "Variant:" msgstr "Variant:" #: ../client/gtk/offline.c:61 msgid "Connect as a spectator" msgstr "Anslut som en Ã¥skÃ¥dare" #: ../client/gtk/offline.c:64 msgid "Metaserver Host" msgstr "Metaservervärd" #: ../client/gtk/offline.c:78 msgid "Select a game to join." msgstr "Välj ett spel att gÃ¥ in i." #: ../client/gtk/offline.c:94 msgid "Connecting" msgstr "Ansluter" #. Long description in the commandline for pioneers: help #: ../client/gtk/offline.c:183 msgid "- Play a game of Pioneers" msgstr "- Spela en omgÃ¥ng av Pioneers" #: ../client/gtk/pioneers.desktop.in.h:2 msgid "Play a game of Pioneers" msgstr "Spela en omgÃ¥ng av Pioneers" #: ../client/gtk/pioneers.desktop.in.h:3 msgid "game;board;play;Pioneers;Settlers;" msgstr "" #: ../client/gtk/player.c:52 msgid "Settlements" msgstr "Bosättningar" #: ../client/gtk/player.c:53 msgid "Cities" msgstr "Städer" #: ../client/gtk/player.c:54 msgid "City walls" msgstr "Stadsmurar" #: ../client/gtk/player.c:55 msgid "Largest army" msgstr "Största armé" #: ../client/gtk/player.c:56 #, fuzzy msgid "Longest road" msgstr "Längsta väg" #. Name of the development card #: ../client/gtk/player.c:57 ../common/cards.c:92 msgid "Chapel" msgstr "Kapell" #: ../client/gtk/player.c:57 msgid "Chapels" msgstr "Kapell" #. Name of the development card #: ../client/gtk/player.c:58 ../common/cards.c:95 msgid "Pioneer university" msgstr "Pioneer Universitet" #: ../client/gtk/player.c:58 msgid "Pioneer universities" msgstr "Pioneer Universitet" #. Name of the development card #: ../client/gtk/player.c:60 ../common/cards.c:98 msgid "Governor's house" msgstr "Guvernörens hus" #: ../client/gtk/player.c:60 msgid "Governor's houses" msgstr "Guvenörshus" #. Name of the development card #: ../client/gtk/player.c:61 ../common/cards.c:101 msgid "Library" msgstr "Bibliotek" #: ../client/gtk/player.c:61 msgid "Libraries" msgstr "Bibliotek" #. Name of the development card #: ../client/gtk/player.c:62 ../common/cards.c:104 msgid "Market" msgstr "Marknad" #: ../client/gtk/player.c:62 msgid "Markets" msgstr "Marknader" #. Name of the development card #: ../client/gtk/player.c:63 ../common/cards.c:107 msgid "Soldier" msgstr "Soldat" #: ../client/gtk/player.c:63 msgid "Soldiers" msgstr "Soldater" #: ../client/gtk/player.c:64 msgid "Resource card" msgstr "Resurskort" #: ../client/gtk/player.c:64 msgid "Resource cards" msgstr "Resurskort" #. Caption #: ../client/gtk/player.c:65 ../editor/gtk/editor.c:1305 msgid "Development cards" msgstr "Utvecklingskort" #. Caption for the overview of the points and card of other players #: ../client/gtk/player.c:559 msgid "Player summary" msgstr "Sammandrag för spelare" #. Dialog caption #: ../client/gtk/plenty.c:61 msgid "Year of Plenty" msgstr "GuldÃ¥r" #: ../client/gtk/plenty.c:92 msgid "Please choose one resource from the bank" msgstr "Välj en resurs frÃ¥n banken" #: ../client/gtk/plenty.c:95 msgid "Please choose two resources from the bank" msgstr "Välj tvÃ¥ resurser frÃ¥n banken" #: ../client/gtk/plenty.c:97 msgid "The bank is empty" msgstr "Banken är tom" #: ../client/gtk/quote.c:187 #, c-format msgid "%s has %s, and is looking for %s" msgstr "%s har %s och letar efter %s" #. Notification #: ../client/gtk/quote.c:217 #, c-format msgid "New offer from %s." msgstr "" #. Notification #: ../client/gtk/quote.c:242 #, c-format msgid "Offer from %s." msgstr "" #. Label #. Frame title, trade: I want to trade these resources #: ../client/gtk/quote.c:316 ../client/gtk/trade.c:524 msgid "I want" msgstr "Jag vill ha" #. Label #. Frame title, trade: I want these resources in return #: ../client/gtk/quote.c:326 ../client/gtk/trade.c:530 msgid "Give them" msgstr "Ge dem" #. Button text #: ../client/gtk/quote.c:345 msgid "Delete" msgstr "Ta bort" #. Button text #: ../client/gtk/quote.c:370 msgid "Reject Domestic Trade" msgstr "Vägra inrikeshandel" #. Now create columns #. Table header: Player who trades #. Role of the player: player #: ../client/gtk/quote-view.c:170 ../server/gtk/main.c:684 msgid "Player" msgstr "Spelare" #. Table header: Quote #: ../client/gtk/quote-view.c:185 msgid "Quotes" msgstr "Pris" #. trade: maritime quote: %1 resources of type %2 for #. * one resource of type %3 #: ../client/gtk/quote-view.c:303 #, c-format msgid "%d:1 %s for %s" msgstr "%d:1 %s för %s" #. Trade: a player has rejected trade #: ../client/gtk/quote-view.c:442 msgid "Rejected trade" msgstr "Vägrade handel" #. Caption for overview of the resources of the player #: ../client/gtk/resource.c:71 msgid "Resources" msgstr "Resurser" #. Label #: ../client/gtk/resource.c:86 msgid "Total" msgstr "Totalt" #. Tooltip for the amount of resources in the hand #: ../client/gtk/resource-table.c:180 msgid "Amount in hand" msgstr "Mängd i handen" #. Button for decreasing the selected amount #: ../client/gtk/resource-table.c:185 msgid "" msgstr "mer>" #. Tooltip for increasing the selected amount #: ../client/gtk/resource-table.c:226 msgid "Increase the selected amount" msgstr "Öka den valda mängden" #. Tooltip for the selected amount #: ../client/gtk/resource-table.c:243 msgid "Selected amount" msgstr "Vald mängd" #. Tooltip for the total selected amount #: ../client/gtk/resource-table.c:288 msgid "Total selected amount" msgstr "Totalt vald mängd" #. Tooltip when the bank cannot be emptied #: ../client/gtk/resource-table.c:307 msgid "The bank cannot be emptied" msgstr "Banken kan inte tömmas" #: ../client/gtk/settingscreen.c:74 msgid "Yes" msgstr "Ja" #: ../client/gtk/settingscreen.c:76 ../client/gtk/settingscreen.c:240 msgid "No" msgstr "Nej" #: ../client/gtk/settingscreen.c:87 ../client/gtk/settingscreen.c:187 msgid "Unknown" msgstr "Okänd" #: ../client/gtk/settingscreen.c:121 msgid "No game in progress..." msgstr "Inget spel pÃ¥gÃ¥r..." #. Label #: ../client/gtk/settingscreen.c:132 msgid "General settings" msgstr "Allmänna inställningar" #: ../client/gtk/settingscreen.c:149 msgid "Number of players:" msgstr "Antal spelare:" #: ../client/gtk/settingscreen.c:153 msgid "Victory point target:" msgstr "PoängmÃ¥l för seger:" #: ../client/gtk/settingscreen.c:157 msgid "Random terrain:" msgstr "Slumpad terräng:" #: ../client/gtk/settingscreen.c:161 msgid "Allow trade between players:" msgstr "TillÃ¥t handel mellan spelare:" #: ../client/gtk/settingscreen.c:166 msgid "Allow trade only before building or buying:" msgstr "TillÃ¥t handel endast före byggnation eller köp:" #: ../client/gtk/settingscreen.c:171 #, fuzzy msgid "Check victory only at end of turn:" msgstr "Kontrollera seger endast vid turens slut" #: ../client/gtk/settingscreen.c:176 msgid "Amount of each resource:" msgstr "Mängd av varje resurs:" #: ../client/gtk/settingscreen.c:190 #, fuzzy msgid "Sevens rule:" msgstr "Regel för 7:an" #: ../client/gtk/settingscreen.c:196 msgid "Use dice deck instead of dice:" msgstr "" #: ../client/gtk/settingscreen.c:201 #, fuzzy msgid "Number of dice decks:" msgstr "Antal spelare:" #: ../client/gtk/settingscreen.c:207 msgid "Number of dice cards removed after shuffling:" msgstr "" #: ../client/gtk/settingscreen.c:214 msgid "Use the pirate to block ships:" msgstr "Använd piraten för att blockera skepp:" #: ../client/gtk/settingscreen.c:243 msgid "Island discovery bonuses:" msgstr "Bonusar för upptäckter av öar:" #. Label #: ../client/gtk/settingscreen.c:260 msgid "Building quotas" msgstr "Byggkostnad" #: ../client/gtk/settingscreen.c:277 msgid "Roads:" msgstr "Vägar:" #: ../client/gtk/settingscreen.c:283 msgid "Settlements:" msgstr "Bosättningar:" #: ../client/gtk/settingscreen.c:289 msgid "Cities:" msgstr "Städer:" #: ../client/gtk/settingscreen.c:295 msgid "City walls:" msgstr "Stadsmurar:" #: ../client/gtk/settingscreen.c:301 msgid "Ships:" msgstr "Skepp:" #: ../client/gtk/settingscreen.c:307 msgid "Bridges:" msgstr "Broar:" #. Label #: ../client/gtk/settingscreen.c:320 msgid "Development card deck" msgstr "Kortlek för utvecklingskort" #: ../client/gtk/settingscreen.c:336 msgid "Road building cards:" msgstr "Vägbyggnadskort:" #: ../client/gtk/settingscreen.c:340 msgid "Monopoly cards:" msgstr "Monopolkort:" #: ../client/gtk/settingscreen.c:344 msgid "Year of plenty cards:" msgstr "Kort för GuldÃ¥r:" #: ../client/gtk/settingscreen.c:348 msgid "Chapel cards:" msgstr "Kapellkort:" #: ../client/gtk/settingscreen.c:352 msgid "Pioneer university cards:" msgstr "Kort för Pioneer Universitet:" #: ../client/gtk/settingscreen.c:356 msgid "Governor's house cards:" msgstr "Kort för Guvenörshus:" #: ../client/gtk/settingscreen.c:360 msgid "Library cards:" msgstr "Bibliotekskort:" #: ../client/gtk/settingscreen.c:364 msgid "Market cards:" msgstr "Marknadskort:" #: ../client/gtk/settingscreen.c:368 msgid "Soldier cards:" msgstr "Soldatkort:" #. Dialog caption #: ../client/gtk/settingscreen.c:407 msgid "Current Game Settings" msgstr "Inställningar för nuvarande spel" #. trade: you ask for something for free #: ../client/gtk/trade.c:205 #, c-format msgid "ask for %s for free" msgstr "frÃ¥ga efter %s gratis" #. trade: you give something away for free #: ../client/gtk/trade.c:210 #, c-format msgid "give %s for free" msgstr "ge %s gratis" #. trade: you trade something for something else #: ../client/gtk/trade.c:215 #, c-format msgid "give %s for %s" msgstr "ge %s för %s" #. I want some resources, and give them some resources #: ../client/gtk/trade.c:242 #, c-format msgid "I want %s, and give them %s" msgstr "Jag vill ha %s och ge dem %s" #. Notification #: ../client/gtk/trade.c:348 #, c-format msgid "Quote received from %s." msgstr "" #. Button text, trade: call for quotes from other players #: ../client/gtk/trade.c:539 msgid "_Call for Quotes" msgstr "_FrÃ¥ga efter pris" #. Button text: Trade page, accept selected quote #: ../client/gtk/trade.c:568 msgid "_Accept Quote" msgstr "_Acceptera pris" #. Button text: Trade page, finish trading #: ../client/gtk/trade.c:574 msgid "_Finish Trading" msgstr "Avsluta _handel" #. Name of the development card #: ../common/cards.c:83 msgid "Road building" msgstr "Vägbygge" #. Name of the development card #: ../common/cards.c:89 msgid "Year of plenty" msgstr "GuldÃ¥r" #. Description of the 'Road Building' development card #: ../common/cards.c:118 msgid "Build two new roads" msgstr "" #. Description of the 'Monopoly' development card #: ../common/cards.c:121 msgid "" "Select a resource type and take every card of that type held by all other " "players" msgstr "" #. Description of the 'Year of Plenty' development card #: ../common/cards.c:125 msgid "" "Take two resource cards of any type from the bank (cards may be of the same " "or different types)" msgstr "" #. Description of a development card of 1 victory point #: ../common/cards.c:134 msgid "One victory point" msgstr "" #. Description of the 'Soldier' development card #: ../common/cards.c:137 msgid "" "Move the robber to a different space and take one resource card from another " "player adjacent to that space" msgstr "" #: ../common/game.c:523 #, c-format msgid "Obsolete rule: '%s'\n" msgstr "" #: ../common/game.c:530 #, c-format msgid "" "The game uses the new rule '%s', which is not yet supported. Consider " "upgrading.\n" msgstr "" #: ../common/game.c:924 ../common/game.c:955 msgid "This game cannot be won." msgstr "Detta spel kan inte vinnas." #: ../common/game.c:925 msgid "There is no land." msgstr "Det finns inget land." #: ../common/game.c:959 msgid "It is possible that this game cannot be won." msgstr "Det är möjligt att det här spelet inte kan vinnas." #: ../common/game.c:965 msgid "This game can be won by only building all settlements and cities." msgstr "" "Det här spelet kan vinnas endast genom att bygga alla bosättningar och " "städer." #: ../common/game.c:971 #, fuzzy, c-format msgid "" "Required victory points: %d\n" "Points obtained by building all: %d\n" "Points in development cards: %u\n" "Longest road/largest army: %d+%d\n" "Maximum island discovery bonus: %d\n" "Total: %d" msgstr "" "Nödvändiga vinstpoäng: %d\n" "Poäng för att bygga allt: %d\n" "Poäng i utvecklingskort: %d\n" "Längsta väg/största arme: %d+%d\n" "Maximal upptäcktsbonus för öar: %d\n" "Totalt: %d" #: ../common/game-list.c:111 #, c-format msgid "Looking for games in '%s'\n" msgstr "Letar efter spel i '%s'\n" #: ../common/game-list.c:113 #, c-format msgid "Game directory '%s' not found\n" msgstr "Spelkatalogen \"%s\" hittades inte\n" #: ../common/game-list.c:131 #, fuzzy, c-format msgid "Unable to load game: '%s'\n" msgstr "Misslyckades att läsa in \"%s\"" #: ../common/game-list.c:151 #, fuzzy msgid "No games available\n" msgstr "Tyvärr, %s tillgänglig.\n" #: ../common/gtk/aboutbox.c:53 msgid "" "Pioneers is based upon the excellent\n" "Settlers of Catan board game.\n" msgstr "" "Pioneers är baserad pÃ¥ det utmärkta\n" "brädspelet Settlers of Catan.\n" # #. Translators: add your name here. Keep the list #. * alphabetically, do not remove any names, and add #. * \n after your name (except the last name). #. #: ../common/gtk/aboutbox.c:63 msgid "translator-credits" msgstr "Daniel Nylander " #. Caption for result of checking victory points #: ../common/gtk/common_gtk.c:324 msgid "Victory Point Analysis" msgstr "" #. Tooltip for sevens rule normal #: ../common/gtk/game-rules.c:110 msgid "All sevens move the robber or pirate" msgstr "Alla 7:or flyttar rÃ¥naren eller piraten" #. Tooltip for sevens rule reroll on 1st 2 turns #: ../common/gtk/game-rules.c:114 msgid "In the first two turns all sevens are rerolled" msgstr "De tvÃ¥ första turerna slÃ¥s alla 7:or om" #. Tooltip for sevens rule reroll all #: ../common/gtk/game-rules.c:118 msgid "All sevens are rerolled" msgstr "Alla sjuor slÃ¥s om" #: ../common/gtk/game-rules.c:129 msgid "Randomize terrain" msgstr "Slumpa terräng" #: ../common/gtk/game-rules.c:129 msgid "Randomize the terrain" msgstr "Slumpa terrängen" #: ../common/gtk/game-rules.c:132 msgid "Use pirate" msgstr "Använd pirat" #: ../common/gtk/game-rules.c:133 msgid "Use the pirate to block ships" msgstr "Använd piraten för att blockera skepp" #: ../common/gtk/game-rules.c:135 msgid "Strict trade" msgstr "Strikt handel" #: ../common/gtk/game-rules.c:136 msgid "Allow trade only before building or buying" msgstr "TillÃ¥t handel endast före byggnation eller köp" #: ../common/gtk/game-rules.c:138 msgid "Domestic trade" msgstr "Inrikeshandel" #: ../common/gtk/game-rules.c:139 msgid "Allow trade between players" msgstr "TillÃ¥t handel mellan spelare" #: ../common/gtk/game-rules.c:141 msgid "Victory at end of turn" msgstr "Seger vid turens slut" #: ../common/gtk/game-rules.c:142 msgid "Check for victory only at end of turn" msgstr "Kontrollera seger endast vid turens slut" #: ../common/gtk/game-rules.c:145 msgid "Use dice deck" msgstr "" #: ../common/gtk/game-rules.c:147 msgid "Use a deck of 36 dice cards instead of real dice" msgstr "" #. Label #: ../common/gtk/game-rules.c:155 #, fuzzy msgid "Number of dice decks" msgstr "Typ av datorspelare" #: ../common/gtk/game-rules.c:172 msgid "The number of dice decks (of 36 cards each)" msgstr "" #. Label #: ../common/gtk/game-rules.c:180 msgid "Number of removed dice cards" msgstr "" #: ../common/gtk/game-rules.c:199 msgid "The number of dice cards that are removed after shuffling the deck" msgstr "" #. Label #: ../common/gtk/game-rules.c:207 #, fuzzy msgid "Island discovery bonuses" msgstr "Bonusar för upptäckter av öar:" #. Tooltip for island bonus #: ../common/gtk/game-rules.c:219 msgid "A comma separated list of bonus points for discovering islands" msgstr "" #. Tooltip for the check button #: ../common/gtk/game-rules.c:237 #, fuzzy msgid "Check and correct island discovery bonuses" msgstr "Bonusar för upptäckter av öar:" #. Label text for customising a game #: ../common/gtk/game-settings.c:105 msgid "Number of players" msgstr "Antal spelare" #. Tooltip for 'Number of Players' #: ../common/gtk/game-settings.c:124 msgid "The number of players" msgstr "Antalet spelare" #. Label for customising a game #: ../common/gtk/game-settings.c:127 msgid "Victory point target" msgstr "Poäng för vinst" #. Tooltip for Victory Point Target #: ../common/gtk/game-settings.c:147 msgid "The points needed to win the game" msgstr "Poäng som krävs för att vinna spelet" #. Tooltip for the check button #: ../common/gtk/game-settings.c:161 msgid "Is it possible to win this game?" msgstr "Är det möjligt att vinna det här spelet?" #. Port indicator for a resource: trade 2 for 1 #: ../common/gtk/guimap.c:742 msgid "2:1" msgstr "2:1" #. Port indicator: trade 3 for 1 #. General port indicator #: ../common/gtk/guimap.c:745 ../common/gtk/guimap.c:770 msgid "3:1" msgstr "3:1" #. Port indicator for brick #: ../common/gtk/guimap.c:750 msgid "Brick port|B" msgstr "Te" #. Port indicator for grain #: ../common/gtk/guimap.c:754 msgid "Grain port|G" msgstr "Sä" #. Port indicator for ore #: ../common/gtk/guimap.c:758 msgid "Ore port|O" msgstr "Ma" #. Port indicator for wool #: ../common/gtk/guimap.c:762 msgid "Wool port|W" msgstr "Ul" #. Port indicator for lumber #: ../common/gtk/guimap.c:766 msgid "Lumber port|L" msgstr "Ti" #. Tooltip for the list of metaservers #: ../common/gtk/metaserver.c:85 msgid "Select a metaserver" msgstr "Välj en metaserver" #. Tooltip for the list of games #: ../common/gtk/select-game.c:135 msgid "Select a game" msgstr "Välj ett spel" #. Log prefix #: ../common/log.c:58 msgid "*ERROR* " msgstr "*FEL* " #. Log prefix #: ../common/log.c:66 msgid "Chat: " msgstr "Chatt: " #. Log prefix #: ../common/log.c:70 msgid "Resource: " msgstr "Resurs: " #. Log prefix #: ../common/log.c:74 msgid "Build: " msgstr "Bygg: " #. Log prefix #: ../common/log.c:78 msgid "Dice: " msgstr "Tärning: " #. Log prefix #: ../common/log.c:82 msgid "Steal: " msgstr "Stjäl: " #. Log prefix #: ../common/log.c:86 msgid "Trade: " msgstr "Handel: " #. Log prefix #: ../common/log.c:90 msgid "Development: " msgstr "Utveckling: " #. Log prefix #: ../common/log.c:94 msgid "Army: " msgstr "Armé: " #. Log prefix #: ../common/log.c:98 msgid "Road: " msgstr "Väg: " #. Log prefix #: ../common/log.c:102 msgid "*BEEP* " msgstr "*PIP* " #. Log prefix #: ../common/log.c:108 msgid "Player 1: " msgstr "Spelare 1: " #. Log prefix #: ../common/log.c:112 msgid "Player 2: " msgstr "Spelare 2: " #. Log prefix #: ../common/log.c:116 msgid "Player 3: " msgstr "Spelare 3: " #. Log prefix #: ../common/log.c:120 msgid "Player 4: " msgstr "Spelare 4: " #. Log prefix #: ../common/log.c:124 msgid "Player 5: " msgstr "Spelare 5: " #. Log prefix #: ../common/log.c:128 msgid "Player 6: " msgstr "Spelare 6: " #. Log prefix #: ../common/log.c:132 msgid "Player 7: " msgstr "Spelare 7: " #. Log prefix #: ../common/log.c:136 msgid "Player 8: " msgstr "Spelare 8: " #. Log prefix #: ../common/log.c:140 msgid "Spectator: " msgstr "" #. Log prefix #: ../common/log.c:144 msgid "** UNKNOWN MESSAGE TYPE ** " msgstr "** OKÄND MEDDELANDETYP ** " #: ../common/network.c:143 #, c-format msgid "Error writing to socket: %s\n" msgstr "Fel vid skrivning till uttag: %s\n" #: ../common/network.c:154 msgid "Could not send all data\n" msgstr "" #: ../common/network.c:202 msgid "Read buffer overflow - disconnecting\n" msgstr "Överflöde i läsbuffert - kopplar ned\n" #: ../common/network.c:226 #, c-format msgid "Error reading socket: %s\n" msgstr "Fel vid läsning av uttag: %s\n" #: ../common/network.c:378 #, fuzzy, c-format msgid "Error connecting to %s: %s\n" msgstr "Fel vid anslutning till %s: %s\n" #: ../common/network.c:566 ../common/network.c:567 msgid "unknown" msgstr "okänd" #: ../common/state.c:203 #, c-format msgid "Connecting to %s, port %s\n" msgstr "Ansluter till %s, port %s\n" #. Error message #: ../common/state.c:333 msgid "State stack overflow. Stack dump sent to standard error.\n" msgstr "Överflöde i statusstack. Stackdump skickar till standard fel.\n" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:113 msgid "_Hill" msgstr "_Kulle" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:115 msgid "_Field" msgstr "_Fält" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:117 msgid "_Mountain" msgstr "_Berg" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:119 msgid "_Pasture" msgstr "Be_tesmark" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:121 msgid "F_orest" msgstr "_Skog" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:123 msgid "_Desert" msgstr "Ök_en" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:125 msgid "_Sea" msgstr "_Hav" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:127 msgid "_Gold" msgstr "_Guld" #. Use an unique shortcut key for each resource #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:129 ../editor/gtk/editor.c:144 msgid "_None" msgstr "_Ingen" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:134 msgid "_Brick (2:1)" msgstr "Te_gel (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:136 msgid "_Grain (2:1)" msgstr "_SpannmÃ¥l (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:138 msgid "_Ore (2:1)" msgstr "_Malm (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:140 msgid "_Wool (2:1)" msgstr "_Ull (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:142 msgid "_Lumber (2:1)" msgstr "_Timmer (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:146 msgid "_Any (3:1)" msgstr "_NÃ¥gon (3:1)" #. East #: ../editor/gtk/editor.c:151 msgid "East|E" msgstr "Ö" #. North east #: ../editor/gtk/editor.c:153 msgid "North East|NE" msgstr "NÖ" #. North west #: ../editor/gtk/editor.c:155 msgid "North West|NW" msgstr "NV" #. West #: ../editor/gtk/editor.c:157 msgid "West|W" msgstr "V" #. South west #: ../editor/gtk/editor.c:159 msgid "South West|SW" msgstr "SV" #. South east #: ../editor/gtk/editor.c:161 msgid "South East|SE" msgstr "SÖ" #: ../editor/gtk/editor.c:368 msgid "Place a hill hex" msgstr "" #: ../editor/gtk/editor.c:369 msgid "Place a field hex" msgstr "" #: ../editor/gtk/editor.c:370 msgid "Place a mountain hex" msgstr "" #: ../editor/gtk/editor.c:371 msgid "Place a pasture hex" msgstr "" #: ../editor/gtk/editor.c:372 msgid "Place a forest hex" msgstr "" #: ../editor/gtk/editor.c:373 msgid "Place a desert hex" msgstr "" #: ../editor/gtk/editor.c:374 msgid "Place a sea hex" msgstr "" #: ../editor/gtk/editor.c:375 msgid "Place a gold hex" msgstr "" #: ../editor/gtk/editor.c:376 msgid "Clear the hex" msgstr "" #: ../editor/gtk/editor.c:384 msgid "Place a 2 chit" msgstr "" #: ../editor/gtk/editor.c:385 msgid "Place a 3 chit" msgstr "" #: ../editor/gtk/editor.c:386 msgid "Place a 4 chit" msgstr "" #: ../editor/gtk/editor.c:387 msgid "Place a 5 chit" msgstr "" #: ../editor/gtk/editor.c:388 msgid "Place a 6 chit" msgstr "" #: ../editor/gtk/editor.c:390 msgid "Place an 8 chit" msgstr "" #: ../editor/gtk/editor.c:391 msgid "Place a 9 chit" msgstr "" #: ../editor/gtk/editor.c:392 msgid "Place a 10 chit" msgstr "" #: ../editor/gtk/editor.c:393 msgid "Place an 11 chit" msgstr "" #: ../editor/gtk/editor.c:394 msgid "Place a 12 chit" msgstr "" #: ../editor/gtk/editor.c:400 msgid "Place a brick 2:1 port" msgstr "" #: ../editor/gtk/editor.c:401 msgid "Place a grain 2:1 port" msgstr "" #: ../editor/gtk/editor.c:402 msgid "Place an ore 2:1 port" msgstr "" #: ../editor/gtk/editor.c:403 msgid "Place a wool 2:1 port" msgstr "" #: ../editor/gtk/editor.c:404 msgid "Place a lumber 2:1 port" msgstr "" #. Tooltip to remove a port tile in the editor #: ../editor/gtk/editor.c:406 #, fuzzy msgid "Remove a port" msgstr "Serverport" #: ../editor/gtk/editor.c:407 msgid "Place a 3:1 port" msgstr "" #: ../editor/gtk/editor.c:437 msgid "" "Select the terrain type with the context menu on the left click or toggle a " "node to exclude it from being used during the setup phase" msgstr "" #: ../editor/gtk/editor.c:572 msgid "Insert a row" msgstr "" #: ../editor/gtk/editor.c:573 msgid "Delete a row" msgstr "" #: ../editor/gtk/editor.c:574 msgid "Insert a column" msgstr "" #: ../editor/gtk/editor.c:575 msgid "Delete a column" msgstr "" #. Label #: ../editor/gtk/editor.c:978 #, fuzzy msgid "_Title" msgstr "Ändra _titel" #. Label #: ../editor/gtk/editor.c:991 #, fuzzy msgid "_Description" msgstr "Ök_en" #. Label #: ../editor/gtk/editor.c:1009 msgid "_Comments" msgstr "" #. Menu item #: ../editor/gtk/editor.c:1139 msgid "Shuffle" msgstr "Blanda" #. Caption #. Game settings frame #: ../editor/gtk/editor.c:1294 ../server/gtk/main.c:968 msgid "Game parameters" msgstr "Spelparametrar" #. Caption #. Rules frame #: ../editor/gtk/editor.c:1297 ../server/gtk/main.c:983 msgid "Rules" msgstr "Regler" #. Caption #: ../editor/gtk/editor.c:1299 msgid "Resources" msgstr "Resurser" #. Caption #: ../editor/gtk/editor.c:1302 msgid "Buildings" msgstr "Byggnader" #. The game in the editor does not have a name yet #: ../editor/gtk/editor.c:1319 msgid "Untitled" msgstr "" #. Application caption #: ../editor/gtk/editor.c:1324 ../editor/gtk/pioneers-editor.desktop.in.h:1 msgid "Pioneers Editor" msgstr "Redigerare för Pioneers" #: ../editor/gtk/editor.c:1434 #, c-format msgid "Failed to load '%s'" msgstr "Misslyckades att läsa in \"%s\"" #: ../editor/gtk/editor.c:1482 #, c-format msgid "Failed to save to '%s'" msgstr "Misslyckades att spara till \"%s" #. Name of the file filter: show only games #: ../editor/gtk/editor.c:1499 #, fuzzy msgid "Games" msgstr "_Spel" #. Name of the file filter: show all files #: ../editor/gtk/editor.c:1505 msgid "Unfiltered" msgstr "" #. Dialog caption #: ../editor/gtk/editor.c:1517 msgid "Open Game" msgstr "Öppna spel" #. Button text #: ../editor/gtk/editor.c:1524 #, fuzzy msgid "_Open" msgstr "_Öppna..." #. Dialog caption #: ../editor/gtk/editor.c:1558 msgid "Save As..." msgstr "Spara som..." #. Button text #: ../editor/gtk/editor.c:1565 #, fuzzy msgid "Save _As" msgstr "Spar_a som..." #. Dialog caption #: ../editor/gtk/editor.c:1606 msgid "Change Title" msgstr "Ändra titel" #. Label #: ../editor/gtk/editor.c:1631 msgid "New title:" msgstr "Ny titel:" #. Caption of about box #: ../editor/gtk/editor.c:1688 msgid "About Pioneers Game Editor" msgstr "Om redigeraren för Pioneers" #. Menu entry #: ../editor/gtk/editor.c:1718 msgid "_File" msgstr "_Fil" #. Menu entry #: ../editor/gtk/editor.c:1728 msgid "_New" msgstr "_Ny" #: ../editor/gtk/editor.c:1729 msgid "Create a new game" msgstr "Skapa ett nytt spel" #. Menu entry #: ../editor/gtk/editor.c:1732 msgid "_Open..." msgstr "_Öppna..." #. Tooltip for Open menu entry #: ../editor/gtk/editor.c:1734 msgid "Open an existing game" msgstr "Öppna ett existerande spel" #. Menu entry #: ../editor/gtk/editor.c:1737 msgid "_Save" msgstr "_Spara" #. Tooltip for Save menu entry #: ../editor/gtk/editor.c:1739 msgid "Save game" msgstr "Spara spel" #. Menu entry #: ../editor/gtk/editor.c:1742 msgid "Save _As..." msgstr "Spar_a som..." #. Tooltip for Save As menu entry #: ../editor/gtk/editor.c:1745 msgid "Save as" msgstr "Spara som" #. Menu entry #: ../editor/gtk/editor.c:1748 #, fuzzy msgid "Change _Title" msgstr "Ändra titel" #. Tooltip for Change Title menu entry #: ../editor/gtk/editor.c:1750 msgid "Change game title" msgstr "Ändra spelets titel" #. Menu entry #: ../editor/gtk/editor.c:1753 ../server/gtk/main.c:97 msgid "_Check Victory Point Target" msgstr "_Kontrollera poängmÃ¥l för vinst" #. Tooltip for Check Victory Point Target menu entry #. Tooltop for Check Victory Point Target menu entry #: ../editor/gtk/editor.c:1756 ../server/gtk/main.c:100 msgid "Check whether the game can be won" msgstr "Kontrollera huruvida spelet kan vinnas" #. Tooltip for Quit menu entry #: ../editor/gtk/editor.c:1761 msgid "Quit" msgstr "Avsluta" #. Menu entry #: ../editor/gtk/editor.c:1783 msgid "_About Pioneers Editor" msgstr "_Om redigeraren för Pioneers" #. Tooltip for About Pioneers Editor menu entry #: ../editor/gtk/editor.c:1785 msgid "Information about Pioneers Editor" msgstr "Information om redigeraren för Pioneers" #. Long help for commandline option (editor): filename #: ../editor/gtk/editor.c:1838 msgid "Open this file" msgstr "Öppna denna fil" #. Commandline option for editor: filename #. Commandline metaserver: pidfile argument #: ../editor/gtk/editor.c:1840 ../metaserver/main.c:615 msgid "filename" msgstr "filnamn" #. Long description in the command line: --help #: ../editor/gtk/editor.c:1877 msgid "- Editor for games of Pioneers" msgstr "- Redigerare för Pioneers-spel" #. Error message #: ../editor/gtk/editor.c:1921 ../server/gtk/main.c:1256 #, c-format msgid "Building menus failed: %s" msgstr "Misslyckade att bygga menyer: %s" #. Tab page name #: ../editor/gtk/editor.c:1951 msgid "Settings" msgstr "Inställningar" #. Tab page name #: ../editor/gtk/editor.c:1954 msgid "Comments" msgstr "" #: ../editor/gtk/game-resources.c:48 msgid "Resource count" msgstr "Resurser" #: ../editor/gtk/pioneers-editor.desktop.in.h:2 msgid "Create your own game for Pioneers" msgstr "Skapa ett egna spel för Pioneers" #: ../editor/gtk/pioneers-editor.desktop.in.h:3 msgid "game;board;create;edit;layout;Pioneers;Settlers;" msgstr "" #. Commandline metaserver: daemon #: ../metaserver/main.c:610 msgid "Daemonize the metaserver on start" msgstr "Kör metaserver som bakgrundsprocess vid start" #. Commandline metaserver: pidfile #: ../metaserver/main.c:613 msgid "Pidfile to create when daemonizing (implies -d)" msgstr "Pid-fil att skapa vid bakgrundsprocess (betyder -d)" #. Commandline metaserver: redirect #: ../metaserver/main.c:618 msgid "Redirect clients to another metaserver" msgstr "Omdirigerar klienter till en annan metaserver" #. Commandline metaserver: server #: ../metaserver/main.c:621 msgid "Use this hostname when creating new games" msgstr "Använd det här värdnamnet när nya spel skapas" #. Commandline metaserver: server argument #: ../metaserver/main.c:623 msgid "hostname" msgstr "värdnamn" #. Commandline metaserver: port-range #: ../metaserver/main.c:626 msgid "Use this port range when creating new games" msgstr "Använd det här portintervallet när nya spel skapas" #. Commandline metaserver: port-range argument #: ../metaserver/main.c:628 msgid "from-to" msgstr "frÃ¥n-till" #. Commandline option of metaserver: syslog-debug #: ../metaserver/main.c:634 msgid "Debug syslog messages" msgstr "Felsökningsmeddelanden till syslog" #. Long description in the commandline for metaserver: help #: ../metaserver/main.c:675 msgid "- Metaserver for Pioneers" msgstr "- Metaserver för Pioneers" #: ../metaserver/main.c:691 #, c-format msgid "metaserver protocol:" msgstr "protokoll för metaserver:" #: ../server/avahi.c:68 msgid "Avahi registration successful.\n" msgstr "" #: ../server/avahi.c:78 #, c-format msgid "Avahi service name collision, renaming service to '%s'.\n" msgstr "" #. Some kind of failure happened while we were registering #: ../server/avahi.c:89 #, c-format msgid "Avahi error: %s\n" msgstr "" #: ../server/avahi.c:113 ../server/avahi.c:145 ../server/avahi.c:155 #: ../server/avahi.c:191 ../server/avahi.c:212 ../server/avahi.c:226 #, c-format msgid "Avahi error: %s, %s\n" msgstr "" #: ../server/avahi.c:213 ../server/avahi.c:227 msgid "Unable to register Avahi server" msgstr "" #: ../server/avahi.c:260 msgid "Unregistering Avahi.\n" msgstr "" #. Menu entry #: ../server/gtk/main.c:108 msgid "_About Pioneers Server" msgstr "_Om Pioneers Server" #. Tooltop for About Pioneers Server menu entry #: ../server/gtk/main.c:110 msgid "Information about Pioneers Server" msgstr "Information om Pioneers Server" #: ../server/gtk/main.c:234 msgid "Stop Server" msgstr "Stoppa server" #: ../server/gtk/main.c:235 msgid "Start Server" msgstr "Starta server" #: ../server/gtk/main.c:237 ../server/gtk/main.c:996 msgid "Stop the server" msgstr "Stoppa servern" #: ../server/gtk/main.c:238 msgid "Start the server" msgstr "Starta servern" #: ../server/gtk/main.c:395 #, c-format msgid "Player %s from %s entered\n" msgstr "Spelaren %s frÃ¥n %s kom in\n" #: ../server/gtk/main.c:402 #, c-format msgid "Player %s from %s left\n" msgstr "Spelaren %s frÃ¥n %s lämnade\n" #: ../server/gtk/main.c:409 #, c-format msgid "Player %d is now %s\n" msgstr "Spelare %d är nu %s\n" #: ../server/gtk/main.c:570 msgid "The port for the game server" msgstr "Porten för spelservern" #. register_toggle #: ../server/gtk/main.c:579 msgid "Register server" msgstr "Registrera server" #: ../server/gtk/main.c:587 msgid "Register this game at the metaserver" msgstr "Registrera detta spel pÃ¥ metaservern" #. hostname label #: ../server/gtk/main.c:618 msgid "Reported hostname" msgstr "Rapporterat värdnamn" #: ../server/gtk/main.c:633 msgid "" "The public name of this computer (needed when playing behind a firewall)" msgstr "" "Det publika namnet för denna dator (behövs vid spel bakom en brandvägg)" #. random toggle #: ../server/gtk/main.c:652 #, fuzzy msgid "Random turn order" msgstr "Slumpa fram turordning" #: ../server/gtk/main.c:659 msgid "Randomize turn order" msgstr "Slumpa fram turordning" #. Tooltip for server connection overview #: ../server/gtk/main.c:730 msgid "Shows all players and spectators connected to the server" msgstr "Visar alla spelare och Ã¥skÃ¥dare anslutna till servern" #. Label for column Connected #: ../server/gtk/main.c:735 msgid "Connected" msgstr "Ansluten" #. Tooltip for column Connected #: ../server/gtk/main.c:742 msgid "Is the player currently connected?" msgstr "Är spelaren ansluten för närvarande?" #. Label for column Name #: ../server/gtk/main.c:747 msgid "Name" msgstr "Namn" #. Tooltip for column Name #: ../server/gtk/main.c:754 msgid "Name of the player" msgstr "Spelarens namn" #. Label for column Location #: ../server/gtk/main.c:758 msgid "Location" msgstr "Plats" #. Tooltip for column Location #: ../server/gtk/main.c:765 msgid "Host name of the player" msgstr "Värdnamn för spelaren" #. Label for column Number #: ../server/gtk/main.c:771 msgid "Number" msgstr "Nummer" #. Tooltip for column Number #: ../server/gtk/main.c:778 msgid "Player number" msgstr "Spelarens nummer" #. Label for column Role #: ../server/gtk/main.c:784 msgid "Role" msgstr "Roll" #. Tooltip for column Role #: ../server/gtk/main.c:788 msgid "Player or spectator" msgstr "" #. Button text #: ../server/gtk/main.c:825 msgid "Launch Pioneers Client" msgstr "Starta Pioneers-klient" #. Tooltip #: ../server/gtk/main.c:839 msgid "Launch the Pioneers client" msgstr "Starta Pioneers-klienten" #. ai chat toggle #: ../server/gtk/main.c:868 msgid "Enable chat" msgstr "Aktivera chatt" #. Tooltip #: ../server/gtk/main.c:875 msgid "Enable chat messages" msgstr "Aktivera chattmeddelanden" #. Button text #: ../server/gtk/main.c:884 msgid "Add Computer Player" msgstr "Lägg till datorspelare" #. Tooltip #: ../server/gtk/main.c:892 msgid "Add a computer player to the game" msgstr "Lägg till en datorspelare till spelet" #. Tooltip #: ../server/gtk/main.c:925 msgid "Messages from the server" msgstr "Meddelanden frÃ¥n servern" #: ../server/gtk/main.c:961 msgid "Game settings" msgstr "Spelinställningar" #. server frame #: ../server/gtk/main.c:972 msgid "Server parameters" msgstr "Serverparametrar" #: ../server/gtk/main.c:992 msgid "Running game" msgstr "PÃ¥gÃ¥ende spel" #. player connected frame #: ../server/gtk/main.c:1008 msgid "Players connected" msgstr "Anslutna spelare" #. ai frame #: ../server/gtk/main.c:1012 msgid "Computer players" msgstr "Datorspelare" #. message frame #: ../server/gtk/main.c:1024 msgid "Messages" msgstr "Meddelanden" #. Caption of about box #: ../server/gtk/main.c:1150 #, fuzzy msgid "About the Pioneers Game Server" msgstr "Pioneers spelserver" # #. Wait for all players to disconnect, #. * then enable the UI #. #: ../server/gtk/main.c:1158 msgid "The game is over.\n" msgstr "Spelet är över.\n" #. Long description in the commandline for server-gtk: help #. Long description in the commandline for server-console: help #: ../server/gtk/main.c:1212 ../server/main.c:194 msgid "- Host a game of Pioneers" msgstr "- StÃ¥ värd för en omgÃ¥ng av Pioneers" #. Name in the titlebar of the server #: ../server/gtk/main.c:1236 ../server/gtk/pioneers-server-gtk.desktop.in.h:1 msgid "Pioneers Server" msgstr "Pioneers-server" #: ../server/gtk/pioneers-server-gtk.desktop.in.h:2 msgid "Host a game of Pioneers" msgstr "StÃ¥ värd för en omgÃ¥ng av Pioneers" #: ../server/gtk/pioneers-server-gtk.desktop.in.h:3 msgid "game;board;server;host;Pioneers;Settlers;" msgstr "" #. Commandline server-console: game-title #: ../server/main.c:80 msgid "Game title to use" msgstr "Speltitel att använda" #. Commandline server-console: file #: ../server/main.c:83 msgid "Game file to use" msgstr "Spelfil att använda" #. Commandline server-console: port #: ../server/main.c:86 msgid "Port to listen on" msgstr "Port att lyssna pÃ¥" #. Commandline server-console: players #: ../server/main.c:89 msgid "Override number of players" msgstr "Ã…sidosätt antalet spelare" #. Commandline server-console: points #: ../server/main.c:92 msgid "Override number of points needed to win" msgstr "Ã…sidosätt antalet poäng som behövs för att vinna" #. Commandline server-console: seven-rule #: ../server/main.c:95 msgid "Override seven-rule handling" msgstr "Ã…sidosätt hantering av 7-regeln" #. Commandline server-console: dice-deck #: ../server/main.c:98 #, fuzzy msgid "Override dice-deck handling" msgstr "Ã…sidosätt hantering av 7-regeln" #. Commandline server-console: num-dice-decks #: ../server/main.c:101 #, fuzzy msgid "Override num-dice-decks handling" msgstr "Ã…sidosätt hantering av 7-regeln" #. Commandline server-console: num-removed-dice-cards #: ../server/main.c:105 #, fuzzy msgid "Override num-removed-dice-cards handling" msgstr "Ã…sidosätt hantering av 7-regeln" #. Commandline server-console: terrain #: ../server/main.c:108 msgid "Override terrain type, 0=default 1=random" msgstr "Ã…sidosätt terrängtyp, 0=standard 1=slumpad" #. Commandline server-console: computer-players #: ../server/main.c:111 msgid "Add N computer players" msgstr "Lägg till N datorspelare" #. Commandline server-console: register #: ../server/main.c:121 msgid "Register server with metaserver" msgstr "Registrera server med metaserver" #. Commandline server-console: metaserver #: ../server/main.c:124 msgid "Register at metaserver name (implies -r)" msgstr "Registrera mot metaserver (förutsätter -r)" #. Commandline server-console: hostname #: ../server/main.c:128 msgid "Use this hostname when registering" msgstr "Använd detta värdnamn vid registrering" #. Commandline server-console: auto-quit #: ../server/main.c:135 msgid "Quit after a player has won" msgstr "Avsluta efter att en spelare har vunnit" #. Commandline server-console: empty-timeout #: ../server/main.c:138 msgid "Quit after N seconds with no players" msgstr "Avsluta efter N sekunder utan spelare" #. Commandline server-console: tournament #: ../server/main.c:141 msgid "Tournament mode, computer players added after N minutes" msgstr "Turneringsläge, datorspelare läggs till efter N minuter" #. Commandline server-console: admin-port #: ../server/main.c:145 msgid "Admin port to listen on" msgstr "Administrationsport att lyssna pÃ¥" #. Commandline server-console: admin-wait #: ../server/main.c:148 msgid "Don't start game immediately, wait for a command on admin port" msgstr "" "Starta inte spelet direkt, vänta pÃ¥ ett kommando pÃ¥ administrationsporten" #. Commandline server-console: fixed-seating-order #: ../server/main.c:154 msgid "Give players numbers according to the order they enter the game" msgstr "Ge spelare nummer enligt den ordning de kom in i spelet" #. Commandline server-console: Short description of meta group #: ../server/main.c:200 msgid "Metaserver Options" msgstr "Metaserveralternativ" #. Commandline server-console: Long description of meta group #: ../server/main.c:202 msgid "Options for the metaserver" msgstr "Alternativ för metaservern" #. Commandline server-console: Short description of misc group #: ../server/main.c:211 msgid "Miscellaneous Options" msgstr "Diverse alternativ" #. Commandline server-console: Long description of misc group #: ../server/main.c:213 msgid "Miscellaneous options" msgstr "Diverse alternativ" #. server-console commandline error #: ../server/main.c:239 #, c-format msgid "Cannot set game title and filename at the same time\n" msgstr "Kan inte ställa in speltitel och filnamn pÃ¥ samma gÃ¥ng\n" #. server-console commandline error #: ../server/main.c:256 #, c-format msgid "Cannot load the parameters for the game\n" msgstr "Kan inte läsa in parametrarna för spelet\n" #. Error message #: ../server/main.c:305 ../server/main.c:324 #, c-format msgid "The network port (%s) for the admin interface is not available.\n" msgstr "" #: ../server/meta.c:58 #, fuzzy msgid "The connection to the metaserver is lost.\n" msgstr "Alternativ för metaservern" #: ../server/meta.c:64 #, c-format msgid "An attempt to reconnect is scheduled in %u second.\n" msgid_plural "An attempt to reconnect is scheduled in %u seconds.\n" msgstr[0] "" msgstr[1] "" #: ../server/meta.c:83 #, fuzzy msgid "Attempting to reconnect to the metaserver.\n" msgstr "Alternativ för metaservern" #: ../server/meta.c:311 #, fuzzy, c-format msgid "Register with the metaserver at %s.\n" msgstr "Registrera mot metaservern pÃ¥ %s, port %s\n" #: ../server/meta.c:322 #, fuzzy msgid "Unregister from the metaserver.\n" msgstr "Avregistrera frÃ¥n metaserver\n" #: ../server/player.c:142 msgid "chat too long" msgstr "chatt för lÃ¥ng" #: ../server/player.c:159 msgid "name too long" msgstr "namn för lÃ¥ngt" #: ../server/player.c:191 msgid "ignoring unknown extension" msgstr "ignorerar okänd utökning" #: ../server/player.c:228 ../server/player.c:298 msgid "The last player left, the tournament timer is reset." msgstr "Sista spelaren kvar, turneringens tidtagare nollställs." #: ../server/player.c:262 ../server/player.c:643 msgid "No human players present. Bye." msgstr "" #: ../server/player.c:269 msgid "Game starts, adding computer players." msgstr "Spelet startar, lägger till datorspelare." #: ../server/player.c:311 #, c-format msgid "The game starts in %s minutes." msgstr "Spelet startar om %s minuter." #: ../server/player.c:312 #, c-format msgid "The game starts in %s minute." msgstr "Spelet startar om %s minut." # #. Default name for the AI when the computer_names file #. * is not found or empty. #. #: ../server/player.c:370 ../server/player.c:376 msgid "Computer Player" msgstr "Datorspelare" #: ../server/player.c:450 #, c-format msgid "Unable to determine the hostname of the player: %s" msgstr "" #. The game is over, don't accept new players #. Message to send to the client when the game is already over #. * when a connection is made. #: ../server/player.c:476 msgid "Sorry, game is over." msgstr "Tyvärr, spelet är över." #: ../server/player.c:478 #, c-format msgid "Player from %s is refused: game is over\n" msgstr "Spelare frÃ¥n %s nekas: spelet är över\n" #: ../server/player.c:520 msgid "Name not changed: new name is already in use" msgstr "Namn inte ändrat: nytt namn används redan" #: ../server/player.c:638 ../server/server.c:38 msgid "Was hanging around for too long without players... bye.\n" msgstr "Väntade för länge utan nÃ¥gra spelare... adjö.\n" #: ../server/player.c:723 msgid "The last human player left. Waiting for the return of a player." msgstr "" #: ../server/player.c:744 msgid "Resuming the game." msgstr "" #. %s is the name of the reconnecting player #: ../server/player.c:870 #, c-format msgid "%s has reconnected." msgstr "%s har Ã¥teranslutit." #: ../server/player.c:970 #, c-format msgid "Version mismatch: %s" msgstr "Versionen stämmer inte: %s" #: ../server/player.c:1007 msgid "This game will start soon." msgstr "Detta spel kommer strax att startas." #. Server: preparing game #..... #: ../server/server.c:221 msgid "Preparing game" msgstr "Förbereder spel" #: ../server/turn.c:254 msgid "Island Discovery Bonus" msgstr "Bonus för upptäckt av ö" #: ../server/turn.c:255 msgid "Additional Island Bonus" msgstr "Bonus för ytterligare ö" #: ../server/turn.c:386 msgid "Tried to assign resources to NULL player.\n" msgstr "Försökte tilldela resurser till NOLL spelare.\n" #. Cheat mode has been activated #: ../server/turn.c:516 msgid "The dice roll has been determined by the administrator." msgstr "Tärningskastet har bestämts av administratören." #~ msgid "Join the selected game" #~ msgstr "GÃ¥ in i valt spel" #~ msgid "Don't join a public game" #~ msgstr "GÃ¥ inte in i ett publikt spel" #~ msgid "Create a new public game at the metaserver" #~ msgstr "Skapa ett nytt publikt spel pÃ¥ metaservern" #~ msgid "Refresh the list of games" #~ msgstr "Uppdatera listan av spel" #~ msgid "Version:" #~ msgstr "Version:" #~ msgid "Homepage:" #~ msgstr "Webbplats:" #~ msgid "Authors:" #~ msgstr "Upphovsmän:" #~ msgid "Pioneers is translated to by:\n" #~ msgstr "Pioneers har översatts till svenska av:\n" #~ msgid "Metaserver kicked us off\n" #~ msgstr "Metaserver sparkade ut oss\n" #~ msgid "" #~ "Note:\n" #~ "\tThe metaserver does not send information about the games.\n" #~ "\tPlease set appropriate values yourself." #~ msgstr "" #~ "Notera:\n" #~ "\tMetaservern skickar inte information om spelen.\n" #~ "\tStäll in lämpliga värden själv." #~ msgid "Error checking connect status: %s\n" #~ msgstr "Fel vid kontroll av anslutningsstatus: %s\n" #~ msgid "Error connecting to host '%s': %s\n" #~ msgstr "Fel vid anslutning till värd \"%s\": %s\n" #~ msgid "Error writing socket: %s\n" #~ msgstr "Fel vid skrivning till uttag: %s\n" #~ msgid "Error creating socket: %s\n" #~ msgstr "Fel vid skapandet av uttag: %s\n" #~ msgid "Error setting socket close-on-exec: %s\n" #~ msgstr "Fel vid inställande av uttag \"close-on-exec\": %s\n" #~ msgid "Error setting socket non-blocking: %s\n" #~ msgstr "Fel vid inställande av icke-blockerande uttag: %s\n" #~ msgid "Cannot resolve %s port %s: %s\n" #~ msgstr "Kan inte slÃ¥ upp %s port %s: %s\n" #~ msgid "Cannot resolve %s port %s: host not found\n" #~ msgstr "Kan inte slÃ¥ upp %s port %s: värd hittades inte\n" #~ msgid "Error creating struct addrinfo: %s" #~ msgstr "Fel vid skapande av adressinfo: %s" #~ msgid "Error creating listening socket: %s\n" #~ msgstr "Fel vid skapandet av lyssningsuttag: %s\n" #~ msgid "Error during listen on socket: %s\n" #~ msgstr "Fel vid lyssning pÃ¥ uttag: %s\n" #~ msgid "Listening not yet supported on this platform." #~ msgstr "Lyssning stöds ännu inte pÃ¥ denna plattform." #~ msgid "Error getting peer name: %s" #~ msgstr "Fel vid läsning av motpartens namn: %s" #~ msgid "Error resolving address: %s" #~ msgstr "Fel vid uppslag av adress: %s" #~ msgid "Net_get_peer_name not yet supported on this platform." #~ msgstr "Net_get_peer_name stöds ännu inte pÃ¥ denna plattform." #~ msgid "Error accepting connection: %s" #~ msgstr "Fel vid mottagning av anslutning: %s" #~ msgid "Admin port is not set, cannot disable game start too\n" #~ msgstr "" #~ "Administrationsporten är inte inställd, kan inte inaktivera spelstart " #~ "heller\n" #~ msgid "Viewer %d" #~ msgstr "Ã…skÃ¥dare %d" #~ msgid "viewer %d" #~ msgstr "Ã¥skÃ¥dare %d" #~ msgid "I want" #~ msgstr "Jag vill ha" #~ msgid "Give them" #~ msgstr "Ge dem" #~ msgid "Viewer: " #~ msgstr "Ã…skÃ¥dare: " #~ msgid "Number of AI Players" #~ msgstr "Antal AI-spelare" #~ msgid "The number of AI players" #~ msgstr "Antalet AI-spelare" #~ msgid "Recent Games" #~ msgstr "Tidigare spel" #~ msgid "You may choose 1 resource" #~ msgstr "Du fÃ¥r välja 1 resurs" #~ msgid "_Player name" #~ msgstr "_Spelarnamn" #~ msgid "The Pioneers Game" #~ msgstr "Spelet Pioneers" #~ msgid "Select the ship to steal from" #~ msgstr "Välj det skepp du vill stjäla frÃ¥n" #~ msgid "Select the building to steal from" #~ msgstr "Välj den byggnad du vill stjäla frÃ¥n" #~ msgid "Development Card" #~ msgstr "Utvecklingskort" #~ msgid "Player Name:" #~ msgstr "Spelarnamn:" #~ msgid "I Want" #~ msgstr "Jag vill ha" #~ msgid "Interplayer Trading Allowed?" #~ msgstr "TillÃ¥ta handel mellan spelare?" #~ msgid "Trading allowed only before build/buy?" #~ msgstr "Handel tillÃ¥tet endast före byggnation/köp?" #~ msgid "Check Victory Only At End Of Turn?" #~ msgstr "Kontrollera seger endast vid turens slut?" #~ msgid "Sevens Rule:" #~ msgstr "Regel för 7:an:" #~ msgid "Use Pirate:" #~ msgstr "Använd pirat:" #~ msgid "Number of Players" #~ msgstr "Antal spelare" #~ msgid "Development Cards" #~ msgstr "Utvecklingskort" #~ msgid "Save as..." #~ msgstr "Spara som..." #~ msgid "Pioneers Game Editor" #~ msgstr "Spelredigerare för Pioneers" #~ msgid "_Change title" #~ msgstr "Ändra tit_el" #~ msgid "Random Turn Order" #~ msgstr "Slumpad turordning" #~ msgid "_Legend" #~ msgstr "_Förklaring" #~ msgid "bad scaling mode '%s'" #~ msgstr "fel skalläge \"%s\"" #~ msgid "Missing game directory\n" #~ msgstr "Saknar spelkatalog\n" #~ msgid "Leave empty for the default meta server" #~ msgstr "Lämna blank för den förvalda metaservern" #~ msgid "Override the language of the system" #~ msgstr "Ställ in sprÃ¥k" #~ msgid "The address of the meta server" #~ msgstr "Adressen för metaservern" pioneers-15.5/po/zh_CN.po0000644000175000017500000030417513252242740012203 00000000000000# Chinese (Simplified) translation for pioneers # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the pioneers package. # Gerald , 2014 # msgid "" msgstr "" "Project-Id-Version: Pioneers 15.1\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-03-14 16:51+0100\n" "PO-Revision-Date: 2012-01-12 13:22+0800\n" "Last-Translator: Gerald \n" "Language-Team: Chinese (Simplified) \n" "Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0\n" #. Commandline pioneersai: chromosome-file #: ../client/ai/ai.c:90 msgid "Chromosome File" msgstr "" #. Commandline pioneersai: server #: ../client/ai/ai.c:93 msgid "Server Host" msgstr "æœåŠ¡å™¨åœ°å€" #. Commandline pioneersai: port #: ../client/ai/ai.c:96 msgid "Server Port" msgstr "æœåŠ¡å™¨ç«¯å£" #. Commandline pioneersai: name #: ../client/ai/ai.c:99 msgid "Computer name (mandatory)" msgstr "计算机å(必须)" #. Commandline pioneersai: time #: ../client/ai/ai.c:102 msgid "Time to wait between turns (in milliseconds)" msgstr "回åˆé—´ç­‰å¾…时间(毫秒)" #. Commandline pioneersai: chat-free #: ../client/ai/ai.c:105 msgid "Stop computer player from talking" msgstr "ç¦æ­¢ç”µè„‘说è¯" #. Commandline pioneersai: algorithm #: ../client/ai/ai.c:108 msgid "Type of computer player" msgstr "电脑类型" #. Commandline option of ai: enable debug logging #. Commandline option of client: enable debug logging #. Commandline option of metaserver: enable debug logging #. Commandline option of server-gtk: enable debug logging #. Commandline option of server: enable debug logging #: ../client/ai/ai.c:111 ../client/gtk/offline.c:67 ../metaserver/main.c:631 #: ../server/gtk/main.c:1170 ../server/main.c:159 msgid "Enable debug messages" msgstr "å¯ç”¨è°ƒè¯•ä¿¡æ¯" #. Commandline option of ai: version #. Commandline option of client: version #. Commandline option of editor: version #. Commandline option of metaserver: version #. Commandline option of server-gtk: version #. Commandline option of server-console: version #: ../client/ai/ai.c:114 ../client/gtk/offline.c:70 ../editor/gtk/editor.c:1843 #: ../metaserver/main.c:637 ../server/gtk/main.c:1173 ../server/main.c:114 msgid "Show version information" msgstr "显示版本信æ¯" #. Long description in the commandline for pioneersai: help #: ../client/ai/ai.c:125 msgid "- Computer player for Pioneers" msgstr "- 电脑 for Pioneers" #: ../client/ai/ai.c:137 ../client/gtk/offline.c:196 #: ../editor/gtk/editor.c:1888 ../metaserver/main.c:687 #: ../server/gtk/main.c:1223 ../server/main.c:226 #, c-format msgid "Pioneers version:" msgstr "Pioneers 版本:" #. ai commandline error #: ../client/ai/ai.c:160 #, c-format msgid "A name must be provided.\n" msgstr "å¿…é¡»æä¾›ä¸€ä¸ªå字。\n" #: ../client/ai/ai.c:171 #, c-format msgid "Type of computer player: %s\n" msgstr "电脑类型: %s\n" #: ../client/ai/ai.c:202 msgid "The game is already full. I'm leaving." msgstr "äººå·²ç»æ»¡äº†ï¼Œå“¥æ»šäº†ã€‚" #. AI chat at the start of the turn #: ../client/ai/ai.c:230 msgid "Ok, let's go!" msgstr "好的,开始å§ï¼" #. AI chat at the start of the turn #: ../client/ai/ai.c:232 msgid "I'll beat you all now! ;)" msgstr "我将打败你们所有人ï¼;)" #. AI chat at the start of the turn #: ../client/ai/ai.c:234 msgid "Now for another try..." msgstr "冿¥ä¸€æ¬¡â€¦â€¦" #. AI chat when one resource is received #: ../client/ai/ai.c:239 msgid "At least I get something..." msgstr "至少让我得点什么å§â€¦â€¦" #. AI chat when one resource is received #: ../client/ai/ai.c:241 msgid "One is better than none..." msgstr "有总比没有好……" #. AI chat when more than one resource is received #: ../client/ai/ai.c:246 msgid "Wow!" msgstr "我了个去ï¼" #. AI chat when more than one resource is received #: ../client/ai/ai.c:248 msgid "Ey, I'm becoming rich ;)" msgstr "哈,哥有钱了 ;)" #. AI chat when more than one resource is received #: ../client/ai/ai.c:250 msgid "This is really a good year!" msgstr "今年真是好气象啊ï¼" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:255 msgid "You really don't deserve that much!" msgstr "唉,女人何苦为难女人ï¼" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:257 msgid "You don't know what to do with that many resources ;)" msgstr "你拿那么多资æºåˆä¸èƒ½å½“é¥­åƒ ;)" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:259 msgid "Ey, wait for my robber and lose all this again!" msgstr "嘿,给哥等ç€ï¼Œç­‰ä¸‹æŠ¢å…‰ä½ ï¼" #. AI chat when it moves the robber #: ../client/ai/ai.c:264 msgid "Hehe!" msgstr "呵呵ï¼" #. AI chat when it moves the robber #: ../client/ai/ai.c:266 msgid "Go, robber, go!" msgstr "强盗,去å§ï¼" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:271 msgid "You bastard!" msgstr "你妹喔ï¼" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:273 msgid "Can't you move that robber somewhere else?!" msgstr "ä½ å°±ä¸èƒ½æ¢ä¸ªåœ°æ–¹æŠ¢ä¹ˆï¼Ÿï¼" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:275 msgid "Why always me??" msgstr "怎么总是我……" #. AI chat when it must discard resources #: ../client/ai/ai.c:280 msgid "Oh no!" msgstr "ä¸è¦å•Š~" #. AI chat when it must discard resources #: ../client/ai/ai.c:282 msgid "Grrr!" msgstr "哎呀ï¼" #. AI chat when it must discard resources #: ../client/ai/ai.c:284 msgid "Who the hell rolled that 7??" msgstr "哪个混蛋打的7?" #. AI chat when it must discard resources #: ../client/ai/ai.c:286 msgid "Why always me?!?" msgstr "æ€Žä¹ˆåˆæ˜¯æˆ‘?ï¼" #. AI chat when other players must discard #: ../client/ai/ai.c:291 msgid "Say good bye to your cards... :)" msgstr "跟你的资æºè¯´å†è§å§â€¦â€¦ :)" #. AI chat when other players must discard #: ../client/ai/ai.c:293 msgid "*evilgrin*" msgstr "*邪æ¶åœ°ç¬‘*" #. AI chat when other players must discard #: ../client/ai/ai.c:295 msgid "/me says farewell to your cards ;)" msgstr "/me 对你的资æºè¯´å†è§å§ ;)" #. AI chat when other players must discard #: ../client/ai/ai.c:297 msgid "That's the price for being rich... :)" msgstr "å‡ºæ¥æ··ï¼Œè¿Ÿæ—©æ˜¯è¦è¿˜çš„…… :)" #. AI chat when someone steals from it #: ../client/ai/ai.c:302 msgid "Ey! Where's that card gone?" msgstr "å’¦ï¼é‚£å¼ ç‰Œå‘¢ï¼Ÿ" #. AI chat when someone steals from it #: ../client/ai/ai.c:304 msgid "Thieves! Thieves!!" msgstr "贼啊ï¼è´¼ï¼" #. AI chat when someone steals from it #: ../client/ai/ai.c:306 msgid "Wait for my revenge..." msgstr "咱们走ç€çž§â€¦â€¦" #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:311 msgid "Oh no :(" msgstr "æˆ‘æ»´ç¥žé¢ :(" #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:313 msgid "Must this happen NOW??" msgstr "一定è¦åœ¨è¿™ä¸ªæ—¶å€™æ¥å—?" #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:315 msgid "Args" msgstr "啊噢" #. AI chat when it has the largest army #: ../client/ai/ai.c:320 msgid "Hehe, my soldiers rule!" msgstr "呵呵,哥的战士最NBï¼" #. AI chat when another player that the largest army #: ../client/ai/ai.c:325 msgid "First robbing us, then grabbing the points..." msgstr "抢了我们还得了分,他爽大了……" #. AI chat when it has the longest road #: ../client/ai/ai.c:330 msgid "See that road!" msgstr "看那æ¡è·¯ï¼" #. AI chat when another player has the longest road #: ../client/ai/ai.c:335 msgid "Pf, you won't win with roads alone..." msgstr "喂,你有最长路也ä¸ä¸€å®šå°±èƒ½èµ¢â€¦â€¦" #: ../client/ai/ai.c:434 #, c-format msgid "Received error from server: %s. Quitting\n" msgstr "从æœåŠ¡å™¨æ”¶åˆ°é”™è¯¯: %s. 退出\n" #. AI chat when it wins #: ../client/ai/ai.c:446 ../client/ai/genetic.c:2766 msgid "Yippie!" msgstr "呕耶ï¼" #. AI chat when another player wins #: ../client/ai/ai.c:449 ../client/ai/genetic.c:2777 msgid "My congratulations" msgstr "æ­å–œä½ " #: ../client/ai/genetic.c:1277 ../client/ai/greedy.c:961 msgid "No settlements in stock to use for setup" msgstr "房å­å·²ç»ç”¨å®Œäº†" #: ../client/ai/genetic.c:1284 ../client/ai/greedy.c:968 msgid "There is no place to setup a settlement" msgstr "没有地方建房å­äº†" #: ../client/ai/genetic.c:1311 ../client/ai/greedy.c:992 msgid "No roads in stock to use for setup" msgstr "路已ç»ç”¨å®Œäº†" #: ../client/ai/genetic.c:1329 ../client/ai/greedy.c:1009 msgid "There is no place to setup a road" msgstr "没有地方修路了" #: ../client/ai/genetic.c:2651 ../client/ai/greedy.c:1784 msgid "Rejecting trade.\n" msgstr "æ‹’ç»äº¤æ˜“。\n" #. Translators: don't translate '/help' #: ../client/ai/lobbybot.c:80 msgid "" "Hello, welcome to the lobby. I am a simple robot. Type '/help' in the chat " "to see the list of commands I know." msgstr "" "你好,欢迎æ¥åˆ°å¤§åŽ…ã€‚æˆ‘æ˜¯æœºå™¨äººã€‚åœ¨èŠå¤©å¤„输入'/help'就能看到我支æŒçš„命令。" #. Translators: don't translate '/help' #: ../client/ai/lobbybot.c:107 msgid "'/help' shows this message again" msgstr "'/help' 冿¬¡æ˜¾ç¤ºæ­¤ä¿¡æ¯" #. Translators: don't translate '/why' #: ../client/ai/lobbybot.c:110 msgid "'/why' explains the purpose of this strange board layout" msgstr "'/why' 解释这个奇怪的界é¢çš„目的" #. Translators: don't translate '/news' #: ../client/ai/lobbybot.c:113 msgid "'/news' tells the last released version" msgstr "'/news' 显示最新版本å·" #. AI chat that explains '/why' #: ../client/ai/lobbybot.c:119 msgid "" "This board is not intended to be a game that can be played. Instead, players " "can find eachother here, and decide which board they want to play. Then, one " "of the players will host the proposed game by starting a server, and " "registers it at the metaserver. The other players can subsequently " "disconnect from the lobby, and enter that game." msgstr "" "è¿™ä¸æ˜¯æ¸¸æˆç•Œé¢ï¼Œåœ¨è¿™ä¸ªç•Œé¢ä¸Šï¼Œçީ家å¯ä»¥çœ‹åˆ°å½¼æ­¤å¹¶é€‰æ‹©ä¸€ä¸ªæˆ¿é—´è¿›è¡Œæ¸¸æˆã€‚ç„¶åŽï¼Œ" "其中一个玩家将å¯åŠ¨ä¸€ä¸ªæœåŠ¡å™¨å¼€å§‹ä¸€åœºæ¸¸æˆï¼Œå¹¶æŠŠå®ƒæ³¨å†Œåˆ°ä¸­è½¬æœåŠ¡å™¨ã€‚ç„¶åŽå…¶ä»–玩" "家就会从大厅断开,并进入这场游æˆã€‚" #: ../client/ai/lobbybot.c:130 msgid "The last released version of Pioneers is" msgstr "最新版的Pioneers是" #. The lobbybot leaves when a game is starting #: ../client/ai/lobbybot.c:146 msgid "The game is starting. I'm not needed anymore. Goodbye." msgstr "游æˆå¼€å§‹ï¼Œå“¥çš„任务完æˆäº†ï¼Œå“¥èµ°äº†ã€‚" #: ../client/common/client.c:105 msgid "Waiting" msgstr "等待中" #: ../client/common/client.c:107 msgid "Idle" msgstr "闲逛" #: ../client/common/client.c:532 msgid "We have been kicked out of the game.\n" msgstr "我们被踢出æ¥äº†ã€‚\n" #. Network status: offline #: ../client/common/client.c:535 ../client/common/client.c:990 #: ../client/gtk/gui.c:1532 msgid "Offline" msgstr "离线" #: ../client/common/client.c:556 #, c-format msgid "Error (%s): %s\n" msgstr "错误 (%s): %s\n" #: ../client/common/client.c:565 ../client/common/client.c:576 #, c-format msgid "Notice: %s\n" msgstr "注æ„: %s\n" #: ../client/common/client.c:693 #, c-format msgid "%s does not receive any %s, because the bank is empty.\n" msgstr "%s 没有得到任何 %s,因为银行没钱了。\n" #: ../client/common/client.c:706 #, c-format msgid "%s only receives %s, because the bank didn't have any more.\n" msgstr "%s åªå¾—到了 %s,因为银行也åªå‰©è¿™ä¹ˆç‚¹å„¿äº†ã€‚\n" #: ../client/common/client.c:716 #, c-format msgid "%s receives %s.\n" msgstr "%s 得到了 %s。\n" #. Year of Plenty #: ../client/common/client.c:724 ../client/common/client.c:2663 #, c-format msgid "%s takes %s.\n" msgstr "%s 拿了 %s。\n" #: ../client/common/client.c:729 #, c-format msgid "%s spent %s.\n" msgstr "%s 花了 %s。\n" #: ../client/common/client.c:735 #, c-format msgid "%s is refunded %s.\n" msgstr "%s 被退还了 %s。\n" #. %s = Player name #: ../client/common/client.c:753 #, c-format msgid "%s shuffled the dice deck.\n" msgstr "%s打乱了骰æ¿ã€‚\n" #: ../client/common/client.c:772 #, c-format msgid "%s discarded %s.\n" msgstr "%s 丢弃了 %s。\n" #: ../client/common/client.c:846 #, c-format msgid "%s has won the game with %d victory points!\n" msgstr "%s 得了 %d 个胜利点,赢得了游æˆçš„胜利ï¼\n" #: ../client/common/client.c:945 msgid "Loading" msgstr "加载中" #: ../client/common/client.c:991 msgid "Version mismatch." msgstr "版本ä¸åŒ¹é…。" #: ../client/common/client.c:993 msgid "Version mismatch. Please make sure client and server are up to date.\n" msgstr "版本ä¸åŒ¹é…,请确ä¿å®¢æˆ·ç«¯å’ŒæœåŠ¡ç«¯æ˜¯æœ€æ–°çš„ã€‚\n" #: ../client/common/client.c:1413 msgid "Build two settlements, each with a connecting" msgstr "建两个房å­ï¼Œåˆ†åˆ«è¿žæŽ¥ç€" #: ../client/common/client.c:1416 msgid "Build a settlement with a connecting" msgstr "建一个房å­ï¼Œè¿žæŽ¥ç€" #: ../client/common/client.c:1419 msgid "road" msgstr "一æ¡è·¯" #: ../client/common/client.c:1421 msgid "bridge" msgstr "一座桥" #: ../client/common/client.c:1423 msgid "ship" msgstr "一艘船" #: ../client/common/client.c:1430 msgid " or" msgstr "或者" #: ../client/common/client.c:1494 msgid "Waiting for your turn." msgstr "还没到你,你先等ç€ã€‚" #: ../client/common/client.c:1546 ../client/gtk/interface.c:784 msgid "Select the building to steal from." msgstr "选择è¦å·çš„建筑。" #: ../client/common/client.c:1568 ../client/gtk/interface.c:774 msgid "Select the ship to steal from." msgstr "选择è¦å·çš„船。" #: ../client/common/client.c:1652 ../client/gtk/interface.c:816 msgid "Place the robber." msgstr "放置强盗。" #: ../client/common/client.c:1702 msgid "Finish the road building action." msgstr "完æˆä¿®è·¯è¡Œä¸ºã€‚" #: ../client/common/client.c:1704 msgid "Build one road segment." msgstr "修一段路。" #: ../client/common/client.c:1706 msgid "Build two road segments." msgstr "修两段路。" #. Notification #: ../client/common/client.c:1979 ../client/common/client.c:2073 #: ../client/gtk/interface.c:432 msgid "It is your turn." msgstr "到你了。" #: ../client/common/client.c:2167 #, c-format msgid "Sorry, %s available.\n" msgstr "抱歉,%s 还在。\n" #: ../client/common/client.c:2481 msgid "The game is over." msgstr "游æˆç»“æŸã€‚" #. This development card is unique #: ../client/common/develop.c:67 #, c-format msgid "You bought the %s development card.\n" msgstr "你买了 %s å‘展å¡ã€‚\n" #. This development card is not unique #: ../client/common/develop.c:73 #, c-format msgid "You bought a %s development card.\n" msgstr "你买了一张 %s å‘展å¡ã€‚\n" #: ../client/common/develop.c:103 #, c-format msgid "%s bought a development card.\n" msgstr "%s 买了一张å‘展å¡ã€‚\n" #: ../client/common/develop.c:121 #, c-format msgid "%s played the %s development card.\n" msgstr "%s 使用了 %s å‘展å¡ã€‚\n" #: ../client/common/develop.c:126 #, c-format msgid "%s played a %s development card.\n" msgstr "%s 使用了一张 %s å‘展å¡ã€‚\n" #: ../client/common/develop.c:138 msgid "You have run out of road segments.\n" msgstr "你的路用完了。\n" #. I get the cards #. $1=resources, $2=player that loses resources #: ../client/common/develop.c:179 #, c-format msgid "You get %s from %s.\n" msgstr "你从 %2$s 得到了 %1$s 。\n" #. I lose the cards #. $1=player that steals, $2=resources #: ../client/common/develop.c:185 #, c-format msgid "%s took %s from you.\n" msgstr "%s 从你这拿走了 %s 。\n" #: ../client/common/develop.c:192 #, c-format msgid "%s took %s from %s.\n" msgstr "%1$s 拿走了 %3$s çš„ %2$s。\n" #: ../client/common/player.c:125 ../server/player.c:567 #, c-format msgid "Spectator %d" msgstr "è§‚ä¼— %d" #: ../client/common/player.c:128 #, c-format msgid "spectator %d" msgstr "è§‚ä¼— %d" #: ../client/common/player.c:137 ../server/player.c:570 #, c-format msgid "Player %d" msgstr "玩家 %d" #: ../client/common/player.c:139 #, c-format msgid "player %d" msgstr "玩家 %d" #: ../client/common/player.c:216 #, c-format msgid "New spectator: %s.\n" msgstr "æ–°è§‚ä¼—: %s。\n" #: ../client/common/player.c:219 ../client/common/player.c:235 #, c-format msgid "%s is now %s.\n" msgstr "%s çŽ°åœ¨å« %s。\n" #: ../client/common/player.c:232 #, c-format msgid "Player %d is now %s.\n" msgstr "玩家 %d 现在是 %s。\n" #: ../client/common/player.c:269 #, c-format msgid "%s has quit.\n" msgstr "%s 退出了。\n" #: ../client/common/player.c:278 msgid "There is no largest army.\n" msgstr "没有最大军队。\n" #: ../client/common/player.c:281 #, c-format msgid "%s has the largest army.\n" msgstr "%s 有最大军队。\n" #: ../client/common/player.c:302 msgid "There is no longest road.\n" msgstr "没有最长路。\n" #: ../client/common/player.c:305 #, c-format msgid "%s has the longest road.\n" msgstr "%s 有最长路。\n" #: ../client/common/player.c:326 #, c-format msgid "Waiting for %s." msgstr "等待 %s." #. We are not in on the action #. someone stole a resource from someone else #: ../client/common/player.c:354 #, c-format msgid "%s stole a resource from %s.\n" msgstr "%s å·äº† %s 的一个资æºã€‚\n" #. $1=resource, $2=player name #: ../client/common/player.c:365 #, c-format msgid "You stole %s from %s.\n" msgstr "你从 %2$s å·äº† %1$s 。\n" #. $1=player name, $2=resource #: ../client/common/player.c:372 #, c-format msgid "%s stole %s from you.\n" msgstr "%s 从你这å·èµ°äº† %s 。\n" #: ../client/common/player.c:406 #, c-format msgid "%s gave %s nothing!?\n" msgstr "%s 什么都没给 %s ï¼ï¼Ÿ\n" #. $1=giving player, $2=receiving player, $3=resources #: ../client/common/player.c:413 ../client/common/player.c:423 #, c-format msgid "%s gave %s %s for free.\n" msgstr "%s å…费给了 %s %s 。\n" #: ../client/common/player.c:431 #, c-format msgid "%s gave %s %s in exchange for %s.\n" msgstr "%s 给了 %s %s æ¥äº¤æ¢ %s。\n" #: ../client/common/player.c:462 #, c-format msgid "%s exchanged %s for %s.\n" msgstr "%s 用 %s æ¢äº† %s。\n" #: ../client/common/player.c:482 #, c-format msgid "%s built a road.\n" msgstr "%s 修了一æ¡è·¯ã€‚\n" #: ../client/common/player.c:494 #, c-format msgid "%s built a ship.\n" msgstr "%s 造了一æ¡èˆ¹ã€‚\n" #: ../client/common/player.c:507 #, c-format msgid "%s built a settlement.\n" msgstr "%s 建了一个房å­ã€‚\n" #: ../client/common/player.c:526 #, c-format msgid "%s built a city.\n" msgstr "%s 建了一个城市。\n" #: ../client/common/player.c:540 #, c-format msgid "%s built a city wall.\n" msgstr "%s 建了一堵城墙。\n" #. Error message #: ../client/common/player.c:551 #, c-format msgid "player_build_add called with BUILD_NONE for user %s\n" msgstr "player_build_add called with BUILD_NONE for user %s\n" #: ../client/common/player.c:561 #, c-format msgid "%s built a bridge.\n" msgstr "%s 修了一座桥。\n" #: ../client/common/player.c:587 #, c-format msgid "%s removed a road.\n" msgstr "%s æ¯äº†ä¸€æ¡è·¯ã€‚\n" #: ../client/common/player.c:597 #, c-format msgid "%s removed a ship.\n" msgstr "%s æ¯äº†ä¸€æ¡èˆ¹ã€‚\n" #: ../client/common/player.c:607 #, c-format msgid "%s removed a settlement.\n" msgstr "%s æ¯äº†ä¸€ä¸ªæˆ¿å­ã€‚\n" #: ../client/common/player.c:618 #, c-format msgid "%s removed a city.\n" msgstr "%s æ¯äº†ä¸€ä¸ªåŸŽå¸‚。\n" #: ../client/common/player.c:632 #, c-format msgid "%s removed a city wall.\n" msgstr "%s æ¯äº†ä¸€å µåŸŽå¢™ã€‚\n" #. Error message #: ../client/common/player.c:642 #, c-format msgid "player_build_remove called with BUILD_NONE for user %s\n" msgstr "player_build_remove called with BUILD_NONE for user %s\n" #: ../client/common/player.c:651 #, c-format msgid "%s removed a bridge.\n" msgstr "%s æ¯äº†ä¸€åº§æ¡¥ã€‚\n" #: ../client/common/player.c:682 #, c-format msgid "%s has canceled a ship's movement.\n" msgstr "%s å–æ¶ˆäº†ä¸€è‰˜èˆ¹çš„移动。\n" #: ../client/common/player.c:685 #, c-format msgid "%s moved a ship.\n" msgstr "%s 移动了一艘船。\n" #. tell the user that someone got something #: ../client/common/player.c:705 #, c-format msgid "%s received %s.\n" msgstr "%s 收到了 %s。\n" #: ../client/common/player.c:724 msgid "server asks to lose invalid point.\n" msgstr "æœåŠ¡å™¨è¦æ±‚抛弃ä¸åˆæ³•的得分。\n" #. tell the user the point is lost #: ../client/common/player.c:730 #, c-format msgid "%s lost %s.\n" msgstr "%s 丢失 %s。\n" #: ../client/common/player.c:753 msgid "server asks to move invalid point.\n" msgstr "server asks to move invalid point.\n" #. tell the user someone (1) lost something (2) to someone else (3) #: ../client/common/player.c:760 #, c-format msgid "%s lost %s to %s.\n" msgstr "%s 失去了 %s 给了 %s。\n" #: ../client/common/resource.c:35 msgid "brick" msgstr "砖头" #: ../client/common/resource.c:35 msgid "Brick" msgstr "砖头" #: ../client/common/resource.c:36 msgid "grain" msgstr "麦å­" #: ../client/common/resource.c:36 msgid "Grain" msgstr "麦å­" #: ../client/common/resource.c:37 msgid "ore" msgstr "矿石" #: ../client/common/resource.c:37 msgid "Ore" msgstr "矿石" #: ../client/common/resource.c:38 msgid "wool" msgstr "羊毛" #: ../client/common/resource.c:38 msgid "Wool" msgstr "羊毛" #: ../client/common/resource.c:39 msgid "lumber" msgstr "圆木" #: ../client/common/resource.c:39 msgid "Lumber" msgstr "圆木" #: ../client/common/resource.c:40 msgid "no resource (bug)" msgstr "æ²¡æœ‰èµ„æº (bug)" #: ../client/common/resource.c:40 msgid "No resource (bug)" msgstr "æ²¡æœ‰èµ„æº (bug)" #: ../client/common/resource.c:41 msgid "any resource (bug)" msgstr "ä»»ä½•èµ„æº (bug)" #: ../client/common/resource.c:41 msgid "Any resource (bug)" msgstr "ä»»ä½•èµ„æº (bug)" #: ../client/common/resource.c:42 msgid "gold" msgstr "黄金" #: ../client/common/resource.c:42 ../client/gtk/legend.c:41 msgid "Gold" msgstr "黄金" #: ../client/common/resource.c:47 msgid "a brick card" msgstr "一å—砖头" #: ../client/common/resource.c:47 #, c-format msgid "%d brick cards" msgstr "%d å—砖头" #: ../client/common/resource.c:48 msgid "a grain card" msgstr "一个麦å­" #: ../client/common/resource.c:48 #, c-format msgid "%d grain cards" msgstr "%d 个麦å­" #: ../client/common/resource.c:49 msgid "an ore card" msgstr "一å—矿石" #: ../client/common/resource.c:49 #, c-format msgid "%d ore cards" msgstr "%d å—矿石" #: ../client/common/resource.c:50 msgid "a wool card" msgstr "一å¨ç¾Šæ¯›" #: ../client/common/resource.c:50 #, c-format msgid "%d wool cards" msgstr "%d å¨ç¾Šæ¯›" #: ../client/common/resource.c:51 msgid "a lumber card" msgstr "一根圆木" #: ../client/common/resource.c:51 #, c-format msgid "%d lumber cards" msgstr "%d 根圆木" #: ../client/common/resource.c:139 ../client/common/resource.c:225 msgid "nothing" msgstr "一个å±" #. Construct "A, B and C" for resources #: ../client/common/resource.c:166 #, c-format msgid "%s and %s" msgstr "%s å’Œ %s" #. Construct "A, B and C" for resources #: ../client/common/resource.c:170 #, c-format msgid "%s, %s" msgstr "%s,%s" #: ../client/common/robber.c:62 #, c-format msgid "%s has undone the robber movement.\n" msgstr "%s 撤消了移动强盗。\n" #: ../client/common/robber.c:65 #, c-format msgid "%s moved the robber.\n" msgstr "%s 移动了强盗。\n" #: ../client/common/robber.c:75 #, c-format msgid "%s has undone the pirate movement.\n" msgstr "%s 撤消了移动海盗。\n" #: ../client/common/robber.c:78 #, c-format msgid "%s moved the pirate.\n" msgstr "%s 移动了海盗。\n" #: ../client/common/robber.c:85 #, c-format msgid "%s must move the robber." msgstr "%s 必须移动强盗。" #: ../client/common/setup.c:146 #, c-format msgid "Setup for %s.\n" msgstr "%s æžèµ·æ¥ã€‚\n" #: ../client/common/setup.c:158 #, c-format msgid "Double setup for %s.\n" msgstr "%s æžä¸¤æ¬¡ã€‚\n" #: ../client/common/turn.c:37 #, c-format msgid "%s rolled %d.\n" msgstr "%s 打出了个 %d.\n" #: ../client/common/turn.c:50 #, c-format msgid "Begin turn %d for %s.\n" msgstr "开始 %2$s 的第 %1$d 回åˆã€‚\n" #: ../client/gtk/avahi-browser.c:83 msgid "Select an automatically discovered game" msgstr "选择一个自动å‘现的游æˆ" #. $1=Game title, $2=version, $3=host_name, $4=port #: ../client/gtk/avahi-browser.c:132 #, c-format msgid "%s (%s) on %s:%s" msgstr "%s (%s) @ %s:%s" #. Label text #: ../client/gtk/chat.c:73 msgid "Chat" msgstr "èŠå¤©" #: ../client/gtk/chat.c:232 msgid "Beeper test.\n" msgstr "测试一下扬声器。\n" #: ../client/gtk/chat.c:235 #, c-format msgid "%s beeped you.\n" msgstr "%s 对你打了个招呼。\n" #: ../client/gtk/chat.c:239 #, c-format msgid "You beeped %s.\n" msgstr "你对 %s 打了个招呼。\n" #: ../client/gtk/chat.c:245 #, c-format msgid "You could not beep %s.\n" msgstr "ä½ ä¸èƒ½å¯¹ %s 打招呼。\n" #: ../client/gtk/chat.c:287 msgid " said: " msgstr " 说: " #: ../client/gtk/connect.c:286 #, c-format msgid "Metaserver at %s, port %s" msgstr "中转æœåС噍 @ %s:%s" #: ../client/gtk/connect.c:296 msgid "Finished.\n" msgstr "完æˆã€‚\n" #: ../client/gtk/connect.c:311 ../client/gtk/connect.c:389 #: ../client/gtk/connect.c:408 ../client/gtk/connect.c:979 msgid "The metaserver is not available anymore.\n" msgstr "这个中转æœåС噍ä¸å†å¯ç”¨ã€‚\n" #: ../client/gtk/connect.c:322 ../client/gtk/connect.c:443 #: ../client/gtk/connect.c:770 msgid "The metaserver closed the connection unexpectedly.\n" msgstr "中转æœåС噍æ„外关闭连接。\n" #: ../client/gtk/connect.c:380 msgid "Receiving game names from the metaserver.\n" msgstr "从中转æœåŠ¡å™¨èŽ·å–æ¸¸æˆå称。\n" #: ../client/gtk/connect.c:422 #, c-format msgid "New game server requested on %s port %s.\n" msgstr "在 %s:%s 请求了建立新游æˆã€‚\n" #: ../client/gtk/connect.c:432 msgid "Incomplete information about the new game server received.\n" msgstr "æ–°æ¸¸æˆæœåŠ¡å™¨ä¿¡æ¯èŽ·å–ä¸å®Œæ•´ã€‚\n" #: ../client/gtk/connect.c:486 ../client/gtk/connect.c:492 ../server/meta.c:239 #, c-format msgid "Unknown message from the metaserver: %s\n" msgstr "从中转æœåŠ¡å™¨æ”¶åˆ°æœªçŸ¥ä¿¡æ¯: %s\n" #: ../client/gtk/connect.c:565 ../server/meta.c:178 #, c-format msgid "Receiving data from inactive session: %s\n" msgstr "ä»Žæœªæ¿€æ´»çš„ä¼šè¯æ”¶åˆ°æ•°æ®ï¼š%s\n" #: ../client/gtk/connect.c:577 ../server/meta.c:192 msgid "Too many metaserver redirects.\n" msgstr "中转æœåС噍é‡ç½®ä¿¡æ¯å¤ªå¤šã€‚\n" #: ../client/gtk/connect.c:606 ../server/meta.c:208 #, c-format msgid "Bad redirect line: %s\n" msgstr "错误的é‡ç½®ä¿¡æ¯: %s\n" #: ../client/gtk/connect.c:631 #, c-format msgid "The metaserver is too old to create servers (version %d.%d)\n" msgstr "中转æœåŠ¡å™¨å¤ªæ—§ï¼Œæ— æ³•åˆ›å»ºæœåŠ¡ (ç‰ˆæœ¬å· %d.%d)\n" #: ../client/gtk/connect.c:670 ../client/gtk/connect.c:749 #: ../client/gtk/connect.c:755 #, c-format msgid "Unexpected data from the metaserver: %s\n" msgstr "æ¥è‡ªä¸­è½¬æœåŠ¡å™¨çš„æœªçŸ¥æ•°æ®ï¼š%s\n" #. Sevens rule: normal #: ../client/gtk/connect.c:701 ../client/gtk/settingscreen.c:181 #: ../common/gtk/game-rules.c:89 msgid "Normal" msgstr "正常" #. Sevens rule: reroll on 1st 2 turns #: ../client/gtk/connect.c:706 ../client/gtk/settingscreen.c:183 #: ../common/gtk/game-rules.c:95 msgid "Reroll on 1st 2 turns" msgstr "å‰2回åˆé‡æŠ•" #. Sevens rule: reroll all 7s #: ../client/gtk/connect.c:710 ../client/gtk/settingscreen.c:185 #: ../common/gtk/game-rules.c:102 msgid "Reroll all 7s" msgstr "é‡æŠ•æ‰€æœ‰çš„7" #: ../client/gtk/connect.c:724 msgid "Default" msgstr "默认" #: ../client/gtk/connect.c:727 msgid "Random" msgstr "éšæœº" #: ../client/gtk/connect.c:819 ../server/meta.c:299 #, c-format msgid "Redirected to the metaserver at %s.\n" msgstr "é‡å®šå‘到中转æœåС噍 @ %s:%s\n" #: ../client/gtk/connect.c:824 ../server/meta.c:302 #, c-format msgid "Redirected to the metaserver at %s, port %s.\n" msgstr "从中转æœåŠ¡å™¨èŽ·å–æ¸¸æˆæœåŠ¡å™¨åˆ—è¡¨ã€‚\n" #: ../client/gtk/connect.c:831 msgid "Receiving a list of Pioneers servers from the metaserver.\n" msgstr "正在从中转æœåŠ¡å™¨èŽ·å–PioneersæœåŠ¡å™¨åˆ—è¡¨ã€‚\n" #. Label #: ../client/gtk/connect.c:914 msgid "Number of computer players" msgstr "电脑玩家数目" #. Tooltip #: ../client/gtk/connect.c:935 msgid "The number of computer players" msgstr "电脑玩家数目" #. Canceled retrieving information #. * from the metaserver #: ../client/gtk/connect.c:957 ../client/gtk/connect.c:992 #: ../client/gtk/connect.c:1133 msgid "Canceled.\n" msgstr "已喿¶ˆã€‚\n" #: ../client/gtk/connect.c:960 msgid "Requesting new game server.\n" msgstr "正在请求创建新游æˆã€‚\n" #: ../client/gtk/connect.c:1015 ../server/gtk/main.c:370 ../server/server.c:123 #, c-format msgid "Error starting %s: %s\n" msgstr "å¯åŠ¨é”™è¯¯ %s: %s\n" #. Dialog caption #: ../client/gtk/connect.c:1037 msgid "Create a Public Game" msgstr "创建一个公共的游æˆ" #. Button text #: ../client/gtk/connect.c:1040 ../client/gtk/connect.c:1191 #: ../client/gtk/connect.c:1440 ../client/gtk/connect.c:1744 #: ../client/gtk/name.c:147 ../editor/gtk/editor.c:1521 #: ../editor/gtk/editor.c:1562 ../editor/gtk/editor.c:1611 #, fuzzy msgid "_Cancel" msgstr "已喿¶ˆã€‚\n" #. Button text #: ../client/gtk/connect.c:1042 #, fuzzy msgid "C_reate" msgstr "创建游æˆ" #. Dialog caption #: ../client/gtk/connect.c:1182 msgid "Join a Public Game" msgstr "加入公共游æˆ" #. Button text #: ../client/gtk/connect.c:1185 msgid "_Refresh" msgstr "" #. Button text #: ../client/gtk/connect.c:1188 msgid "_New Remote Game" msgstr "新建远程游æˆ(_N)" #. Button text #: ../client/gtk/connect.c:1194 ../client/gtk/connect.c:1748 #, fuzzy msgid "_Join" msgstr "加入" #. Tooltip #: ../client/gtk/connect.c:1237 msgid "Select a game to join" msgstr "选择加入一个游æˆ" #. Column name #: ../client/gtk/connect.c:1241 msgid "Map Name" msgstr "地图åç§°" #. Tooltip for column 'Map Name' #: ../client/gtk/connect.c:1249 msgid "Name of the game" msgstr "游æˆåç§°" #. Column name #: ../client/gtk/connect.c:1255 msgid "Curr" msgstr "当å‰çŽ©å®¶æ•°ç›®" #. Tooltip for column 'Curr' #: ../client/gtk/connect.c:1262 msgid "Number of players in the game" msgstr "游æˆä¸­çš„玩家数目" #. Column name #: ../client/gtk/connect.c:1268 msgid "Max" msgstr "最大玩家数目" #. Tooltip for column 'Max' #: ../client/gtk/connect.c:1275 msgid "Maximum players for the game" msgstr "最大玩家数目" #. Column name #: ../client/gtk/connect.c:1279 msgid "Terrain" msgstr "地形" #. Tooltip for column 'Terrain' #: ../client/gtk/connect.c:1287 msgid "Random of default terrain" msgstr "éšæœºé»˜è®¤åœ°å½¢" #. Column name #: ../client/gtk/connect.c:1293 msgid "Vic. Points" msgstr "胜利点数" #. Tooltip for column 'Vic. Points' #: ../client/gtk/connect.c:1300 msgid "Points needed to win" msgstr "胜利所需的点数" #. Column name #: ../client/gtk/connect.c:1304 msgid "Sevens Rule" msgstr "打7的规则" #. Tooltip for column 'Sevens Rule' #. Label #: ../client/gtk/connect.c:1312 ../common/gtk/game-rules.c:81 msgid "Sevens rule" msgstr "打7的规则" #. Column name #: ../client/gtk/connect.c:1316 msgid "Host" msgstr "æœåС噍" #. Tooltip for column 'Host' #: ../client/gtk/connect.c:1325 msgid "Host of the game" msgstr "æ¸¸æˆæœåС噍" #. Column name #: ../client/gtk/connect.c:1331 msgid "Port" msgstr "端å£" #. Tooltip for column 'Port' #: ../client/gtk/connect.c:1339 msgid "Port of the game" msgstr "游æˆç«¯å£" #. Column name #: ../client/gtk/connect.c:1343 msgid "Version" msgstr "版本" #. Tooltip for column 'Version' #: ../client/gtk/connect.c:1351 msgid "Version of the host" msgstr "主机版本" #. Dialog caption #: ../client/gtk/connect.c:1436 msgid "Start a New Game" msgstr "å¯åŠ¨æ–°æ¸¸æˆ" #. Label #. Commandline option of client: name of the player #: ../client/gtk/connect.c:1464 ../client/gtk/offline.c:57 msgid "Player name" msgstr "玩家姓å" #. Tooltip #: ../client/gtk/connect.c:1480 msgid "Enter your name" msgstr "输入你的姓å" #. Check button #. Role of the player: spectator #: ../client/gtk/connect.c:1483 ../server/gtk/main.c:682 msgid "Spectator" msgstr "è§‚ä¼—" #: ../client/gtk/connect.c:1493 msgid "Check if you want to be a spectator" msgstr "如果è¦å½“观众请选上" #. Label #: ../client/gtk/connect.c:1504 msgid "Avahi" msgstr "Avahi" #. Button #: ../client/gtk/connect.c:1511 msgid "Join" msgstr "加入" #. Tooltip for button Join #: ../client/gtk/connect.c:1515 msgid "Join an automatically discovered game" msgstr "加入一个自动å‘现的游æˆ" #. Label #. metaserver label #: ../client/gtk/connect.c:1542 ../server/gtk/main.c:593 msgid "Metaserver" msgstr "中转æœåС噍" #. Button #: ../client/gtk/connect.c:1564 msgid "Join Public Game" msgstr "加入公共游æˆ" #. Tooltip #: ../client/gtk/connect.c:1570 msgid "Join a public game" msgstr "加入一个公共游æˆ" #. Button #: ../client/gtk/connect.c:1575 msgid "Create Game" msgstr "创建游æˆ" #. Tooltip #: ../client/gtk/connect.c:1579 msgid "Create a game" msgstr "创建一个游æˆ" #. Button #: ../client/gtk/connect.c:1588 msgid "Join Private Game" msgstr "加入ç§äººæ¸¸æˆ" #. Tooltip #. Dialog caption #: ../client/gtk/connect.c:1592 ../client/gtk/connect.c:1737 msgid "Join a private game" msgstr "加入一个ç§äººæ¸¸æˆ" #. Label #. Commandline option of client: hostname of the server #: ../client/gtk/connect.c:1777 ../client/gtk/offline.c:51 msgid "Server host" msgstr "æœåŠ¡å™¨ä¸»æœº" #. Tooltip #: ../client/gtk/connect.c:1791 msgid "Name of the host of the game" msgstr "游æˆä¸»æœºåç§°" #. Label #. Commandline option of client: port of the server #. server port label #: ../client/gtk/connect.c:1795 ../client/gtk/offline.c:54 #: ../server/gtk/main.c:555 msgid "Server port" msgstr "æœåŠ¡å™¨ç«¯å£" #. Tooltip #: ../client/gtk/connect.c:1812 msgid "Port of the host of the game" msgstr "游æˆä¸»æœºç«¯å£" #. Tooltip #. Label #: ../client/gtk/connect.c:1854 ../client/gtk/connect.c:1857 msgid "Recent games" msgstr "最近的游æˆ" #. Caption for list of bought development cards #: ../client/gtk/develop.c:130 msgid "Development cards" msgstr "å‘展å¡" #. Button text: play development card #: ../client/gtk/develop.c:163 msgid "Play Card" msgstr "使用å‘展å¡" #. Dialog caption #: ../client/gtk/discard.c:77 msgid "Discard Resources" msgstr "丢弃资æº" #. Button text #: ../client/gtk/discard.c:83 ../client/gtk/gameover.c:38 #: ../client/gtk/gold.c:78 ../client/gtk/monopoly.c:88 ../client/gtk/name.c:150 #: ../client/gtk/plenty.c:67 ../editor/gtk/editor.c:1614 msgid "_OK" msgstr "" #: ../client/gtk/discard.c:101 #, c-format msgid "You must discard %d resource" msgid_plural "You must discard %d resources" msgstr[0] "你必须丢弃%d个资æº" #. Label #: ../client/gtk/discard.c:110 msgid "Total discards" msgstr "全部丢弃" #. Caption for list of player that must discard cards #: ../client/gtk/discard.c:235 msgid "Waiting for players to discard" msgstr "等待玩家丢弃" #. Dialog caption #: ../client/gtk/gameover.c:34 msgid "Game Over" msgstr "游æˆç»“æŸ" #: ../client/gtk/gameover.c:52 #, c-format msgid "%s has won the game with %d victory points!" msgstr "%s 得了 %d 分,赢得了游æˆçš„胜利ï¼" #: ../client/gtk/gameover.c:58 #, c-format msgid "All praise %s, Lord of the known world!" msgstr "赞美 %s,世界的霸主ï¼" #. Dialog caption #: ../client/gtk/gold.c:72 msgid "Choose Resources" msgstr "选择资æº" #: ../client/gtk/gold.c:96 #, c-format msgid "You may choose %d resource" msgid_plural "You may choose %d resources" msgstr[0] "ä½ å¯ä»¥é€‰æ‹© %d 个资æº" #. Text for total in choose gold dialog #. Text for total in year of plenty dialog #: ../client/gtk/gold.c:105 ../client/gtk/plenty.c:103 msgid "Total resources" msgstr "æ€»èµ„æºæ•°" #. Caption for list of player that must choose gold #: ../client/gtk/gold.c:217 msgid "Waiting for players to choose" msgstr "等待玩家选择" #. Menu entry #: ../client/gtk/gui.c:224 ../server/gtk/main.c:91 msgid "_Game" msgstr "游æˆ(_G)" #. Menu entry #: ../client/gtk/gui.c:227 msgid "_New Game" msgstr "新游æˆ(_N)" #. Tooltip for New Game menu entry #: ../client/gtk/gui.c:229 msgid "Start a new game" msgstr "开始一个新游æˆ" #. Menu entry #: ../client/gtk/gui.c:232 msgid "_Leave Game" msgstr "离开游æˆ(_L)" #. Tooltip for Leave Game menu entry #: ../client/gtk/gui.c:234 msgid "Leave this game" msgstr "ç¦»å¼€å½“å‰æ¸¸æˆ" #. Menu entry #: ../client/gtk/gui.c:238 msgid "_Admin" msgstr "管ç†(_A)" #. Tooltip for Admin menu entry #: ../client/gtk/gui.c:240 msgid "Administer Pioneers server" msgstr "管ç†å‘˜PioneersæœåС噍" #. Menu entry #: ../client/gtk/gui.c:244 msgid "_Player Name" msgstr "玩家姓å(_P)" #. Tooltip for Player Name menu entry #: ../client/gtk/gui.c:246 msgid "Change your player name" msgstr "修改玩家姓å" #. Menu entry #: ../client/gtk/gui.c:249 msgid "L_egend" msgstr "图例(_E)" #. Tooltip for Legend menu entry #: ../client/gtk/gui.c:251 msgid "Terrain legend and building costs" msgstr "地形图例和建筑消费" #. Menu entry #: ../client/gtk/gui.c:254 msgid "_Game Settings" msgstr "游æˆè®¾ç½®(_G)" #. Tooltip for Game Settings menu entry #: ../client/gtk/gui.c:256 msgid "Settings for the current game" msgstr "当剿¸¸æˆçš„设置" #. Menu entry #: ../client/gtk/gui.c:259 msgid "_Dice Histogram" msgstr "éª°å­æŸ±çж图(_D)" #. Tooltip for Dice Histogram menu entry #: ../client/gtk/gui.c:261 msgid "Histogram of dice rolls" msgstr "骰å­ç»“果柱状图" #. Menu entry #: ../client/gtk/gui.c:264 ../editor/gtk/editor.c:1759 ../server/gtk/main.c:103 msgid "_Quit" msgstr "退出(_Q)" #. Tooltip for Quit menu entry #. Tooltop for Quit menu entry #: ../client/gtk/gui.c:266 ../server/gtk/main.c:105 msgid "Quit the program" msgstr "退出程åº" #. Menu entry #: ../client/gtk/gui.c:269 msgid "_Actions" msgstr "行动(_A)" #. Menu entry #: ../client/gtk/gui.c:272 msgid "Roll Dice" msgstr "掷骰å­" #. Tooltip for Roll Dice menu entry #: ../client/gtk/gui.c:274 msgid "Roll the dice" msgstr "掷骰å­" #. Menu entry #. Tooltip for Trade menu entry #. Tab page name #: ../client/gtk/gui.c:277 ../client/gtk/gui.c:279 ../client/gtk/gui.c:710 msgid "Trade" msgstr "交易" #. Menu entry #. Tooltip for Undo menu entry #: ../client/gtk/gui.c:283 ../client/gtk/gui.c:285 msgid "Undo" msgstr "撤消" #. Menu entry #. Tooltip for Finish menu entry #: ../client/gtk/gui.c:288 ../client/gtk/gui.c:290 msgid "Finish" msgstr "完æˆ" #. Menu entry #: ../client/gtk/gui.c:293 ../client/gtk/legend.c:189 #: ../editor/gtk/game-buildings.c:10 msgid "Road" msgstr "é“è·¯" #. Tooltip for Road menu entry #: ../client/gtk/gui.c:295 msgid "Build a road" msgstr "修一æ¡è·¯" #. Menu entry #: ../client/gtk/gui.c:298 ../client/gtk/legend.c:193 #: ../editor/gtk/game-buildings.c:10 msgid "Ship" msgstr "轮船" #. Tooltip for Ship menu entry #: ../client/gtk/gui.c:300 msgid "Build a ship" msgstr "造一æ¡èˆ¹" #. Menu entry #: ../client/gtk/gui.c:303 msgid "Move Ship" msgstr "移动船" #. Tooltip for Move Ship menu entry #: ../client/gtk/gui.c:305 msgid "Move a ship" msgstr "移动一艘船" #. Menu entry #: ../client/gtk/gui.c:308 ../client/gtk/legend.c:196 #: ../editor/gtk/game-buildings.c:10 msgid "Bridge" msgstr "æ¡¥æ¢" #. Tooltip for Bridge menu entry #: ../client/gtk/gui.c:310 msgid "Build a bridge" msgstr "建一座桥" #. Menu entry #: ../client/gtk/gui.c:313 ../client/gtk/legend.c:198 ../client/gtk/player.c:52 #: ../editor/gtk/game-buildings.c:10 msgid "Settlement" msgstr "房å­" #. Tooltip for Settlement menu entry #: ../client/gtk/gui.c:316 msgid "Build a settlement" msgstr "建一个房å­" #. Menu entry #: ../client/gtk/gui.c:319 ../client/gtk/legend.c:199 ../client/gtk/player.c:53 #: ../editor/gtk/game-buildings.c:11 msgid "City" msgstr "城市" #. Tooltip for City menu entry #: ../client/gtk/gui.c:321 msgid "Build a city" msgstr "建一个城市" #. Menu entry #: ../client/gtk/gui.c:324 msgid "Develop" msgstr "å‘展å¡" #. Tooltip for Develop menu entry #: ../client/gtk/gui.c:326 msgid "Buy a development card" msgstr "买一张å‘展å¡" #. Menu entry #: ../client/gtk/gui.c:329 msgid "City Wall" msgstr "城墙" #. Tooltip for City Wall menu entry #: ../client/gtk/gui.c:331 msgid "Build a city wall" msgstr "修一堵城墙" #. Menu entry #: ../client/gtk/gui.c:335 msgid "_Settings" msgstr "设置(_S)" #. Menu entry #: ../client/gtk/gui.c:338 msgid "Prefere_nces" msgstr "å好(_N)" #. Tooltip for Preferences menu entry #: ../client/gtk/gui.c:340 msgid "Configure the application" msgstr "设置应用程åº" #. Menu entry #: ../client/gtk/gui.c:344 ../editor/gtk/editor.c:1721 msgid "_View" msgstr "查看(_V)" #. Menu entry #: ../client/gtk/gui.c:347 ../editor/gtk/editor.c:1765 msgid "_Reset" msgstr "é‡ç½®(_R)" #. Tooltip for Reset menu entry #: ../client/gtk/gui.c:350 ../editor/gtk/editor.c:1768 msgid "View the full map" msgstr "查看完整地图" #. Menu entry #: ../client/gtk/gui.c:353 ../editor/gtk/editor.c:1771 msgid "_Center" msgstr "居中(_C)" #. Tooltip for Center menu entry #: ../client/gtk/gui.c:355 ../editor/gtk/editor.c:1773 msgid "Center the map" msgstr "让地图居中" #. Menu entry #: ../client/gtk/gui.c:359 ../client/gtk/gui.c:368 ../editor/gtk/editor.c:1724 #: ../server/gtk/main.c:94 msgid "_Help" msgstr "帮助(_H)" #. Menu entry #: ../client/gtk/gui.c:362 msgid "_About Pioneers" msgstr "关于Pioneers(_A)" #. Tooltip for About Pioneers menu entry #: ../client/gtk/gui.c:364 msgid "Information about Pioneers" msgstr "Pioneers的信æ¯" #. Tooltip for Help menu entry #: ../client/gtk/gui.c:370 ../client/gtk/gui.c:1258 msgid "Show the manual" msgstr "æ˜¾ç¤ºæ¸¸æˆæŒ‡å—" #. Menu entry #: ../client/gtk/gui.c:378 ../editor/gtk/editor.c:1791 msgid "_Fullscreen" msgstr "å…¨å±(_F)" #. Tooltip for Fullscreen menu entry #: ../client/gtk/gui.c:381 ../editor/gtk/editor.c:1794 msgid "Set window to full screen mode" msgstr "è¿›å…¥å…¨å±æ¨¡å¼" #. Menu entry #: ../client/gtk/gui.c:386 msgid "_Toolbar" msgstr "工具æ (_T)" #. Tooltip for Toolbar menu entry #: ../client/gtk/gui.c:388 msgid "Show or hide the toolbar" msgstr "显示或éšè—工具æ " #. Victory points target in statusbar #: ../client/gtk/gui.c:491 #, c-format msgid "Points needed to win: %i" msgstr "胜利需è¦çš„分数:%i" #: ../client/gtk/gui.c:577 msgid "Messages" msgstr "消æ¯" #. Tab page name #: ../client/gtk/gui.c:703 ../editor/gtk/editor.c:1946 msgid "Map" msgstr "地图" #. Tooltip #: ../client/gtk/gui.c:712 msgid "Finish trading" msgstr "完æˆäº¤æ˜“" #. Tab page name #. Button text #: ../client/gtk/gui.c:722 ../client/gtk/quote.c:339 msgid "Quote" msgstr "报价" #. Tooltip #: ../client/gtk/gui.c:724 msgid "Reject domestic trade" msgstr "æ‹’ç»å†…部交易" #. Tab page name #. Dialog caption #: ../client/gtk/gui.c:734 ../client/gtk/legend.c:249 msgid "Legend" msgstr "图例" #. Tab page name, shown for the splash screen #: ../client/gtk/gui.c:744 msgid "Welcome to Pioneers" msgstr "欢迎æ¥åˆ°Pioneers" #. Caption of preferences dialog #: ../client/gtk/gui.c:1028 msgid "Pioneers Preferences" msgstr "Pioneers å好设置" #. Button text #: ../client/gtk/gui.c:1034 ../client/gtk/histogram.c:252 #: ../client/gtk/legend.c:253 ../client/gtk/settingscreen.c:413 msgid "_Close" msgstr "" #. Label for changing the theme, in the preferences dialog #: ../client/gtk/gui.c:1059 msgid "Theme:" msgstr "主题:" #. Tooltip for changing the theme in the preferences dialog #: ../client/gtk/gui.c:1082 msgid "Choose one of the themes" msgstr "选择一个主题" #. Label for the option to show the legend #: ../client/gtk/gui.c:1086 msgid "Show legend" msgstr "显示图例" #. Tooltip for the option to show the legend #: ../client/gtk/gui.c:1096 msgid "Show the legend as a page beside the map" msgstr "在地图æ—ä»¥ä¸€ä¸ªæ–°é¡µé¢æ¥æ˜¾ç¤ºå›¾ä¾‹" #. Label for the option to display log messages in color #: ../client/gtk/gui.c:1101 msgid "Messages with color" msgstr "彩色消æ¯" #. Tooltip for the option to display log messages in color #: ../client/gtk/gui.c:1111 msgid "Show new messages with color" msgstr "用彩色显示新消æ¯" #. Label for the option to display chat in color of player #: ../client/gtk/gui.c:1116 msgid "Chat in color of player" msgstr "用玩家颜色显示èŠå¤©" #. Tooltip for the option to display chat in color of player #: ../client/gtk/gui.c:1127 msgid "Show new chat messages in the color of the player" msgstr "用玩家颜色显示新èŠå¤©æ¶ˆæ¯" #. Label for the option to display the summary with colors #: ../client/gtk/gui.c:1132 msgid "Summary with color" msgstr "彩色汇总" #. Tooltip for the option to display the summary with colors #: ../client/gtk/gui.c:1143 msgid "Use colors in the player summary" msgstr "ä½¿ç”¨å½©è‰²æ˜¾ç¤ºçŽ©å®¶ä¿¡æ¯æ±‡æ€»" #. Label for the option to display keyboard accelerators in the toolbar #: ../client/gtk/gui.c:1148 msgid "Toolbar with shortcuts" msgstr "工具æ å¸¦å¿«æ·æ–¹å¼" #. Tooltip for the option to display keyboard accelerators in the toolbar #: ../client/gtk/gui.c:1158 msgid "Show keyboard shortcuts in the toolbar" msgstr "在工具æ ä¸­æ˜¾ç¤ºé”®ç›˜å¿«æ·é”®" #. Label for the option to disable all sounds #: ../client/gtk/gui.c:1164 msgid "Silent mode" msgstr "安陿¨¡å¼" #. Tooltip for the option to disable all sounds #: ../client/gtk/gui.c:1170 msgid "In silent mode no sounds are made" msgstr "åœ¨å®‰é™æ¨¡å¼ä¸‹ä¸ä¼šå‘出声音" #. Label for the option to announce when players/spectators enter #: ../client/gtk/gui.c:1176 msgid "Announce new players" msgstr "新玩家æç¤º" #. Tooltip for the option to use sound when players/spectators enter #: ../client/gtk/gui.c:1186 msgid "Make a sound when a new player or spectator enters the game" msgstr "å½“ä¸€ä¸ªæ–°çŽ©å®¶æˆ–è€…è§‚ä¼—è¿›å…¥æ¸¸æˆæ—¶å‘出声音æç¤º" #. Label for the option to use the notifications. #: ../client/gtk/gui.c:1198 msgid "Show notifications" msgstr "显示通知" #. Tooltip for notifications option. #: ../client/gtk/gui.c:1208 msgid "Show notifications when it's your turn or when new trade is available" msgstr "轮到你或者有å¯ç”¨çš„æ–°äº¤æ˜“时显示通知" #. Label for the option to use the 16:9 layout. #: ../client/gtk/gui.c:1214 msgid "Use 16:9 layout" msgstr "使用16:9布局" #. Tooltip for 16:9 option. #: ../client/gtk/gui.c:1224 msgid "Use a 16:9 friendly layout for the window" msgstr "为窗å£ä½¿ç”¨16:9çš„å‹å¥½å¸ƒå±€" #. Caption of about box #: ../client/gtk/gui.c:1233 msgid "About Pioneers" msgstr "关于 Pioneers" #. Initial text in status bar #: ../client/gtk/gui.c:1544 ../client/gtk/offline.c:107 msgid "Welcome to Pioneers!" msgstr "欢迎æ¥åˆ°Pioneersï¼" #. The name of the application #. Name of the application #: ../client/gtk/gui.c:1606 ../client/gtk/offline.c:209 #: ../client/gtk/pioneers.desktop.in.h:1 msgid "Pioneers" msgstr "Pioneers" #. Dialog caption #: ../client/gtk/histogram.c:248 msgid "Dice Histogram" msgstr "éª°å­æŸ±çж图" #: ../client/gtk/interface.c:111 msgid "Ship movement canceled." msgstr "å–æ¶ˆäº†èˆ¹çš„移动。" #: ../client/gtk/interface.c:119 ../client/gtk/interface.c:120 msgid "Select a new location for the ship." msgstr "为船选择一个新ä½ç½®ã€‚" #. Notification #: ../client/gtk/interface.c:919 msgid "It is your turn to setup." msgstr "轮到你准备了。" #: ../client/gtk/legend.c:34 msgid "Hill" msgstr "å°å±±" #: ../client/gtk/legend.c:35 msgid "Field" msgstr "田野" #: ../client/gtk/legend.c:36 msgid "Mountain" msgstr "大山" #: ../client/gtk/legend.c:37 msgid "Pasture" msgstr "è‰åŽŸ" #: ../client/gtk/legend.c:38 msgid "Forest" msgstr "森林" #: ../client/gtk/legend.c:39 msgid "Desert" msgstr "沙漠" #: ../client/gtk/legend.c:40 msgid "Sea" msgstr "大海" #. Label #: ../client/gtk/legend.c:132 msgid "Terrain yield" msgstr "地形产é‡" #. Label #: ../client/gtk/legend.c:165 msgid "Building costs" msgstr "建造消费" #: ../client/gtk/legend.c:203 ../client/gtk/player.c:54 #: ../editor/gtk/game-buildings.c:11 msgid "City wall" msgstr "城墙" #: ../client/gtk/legend.c:206 ../client/gtk/player.c:65 msgid "Development card" msgstr "å‘展å¡" #. Dialog caption #. Name of the development card #: ../client/gtk/monopoly.c:84 ../common/cards.c:86 msgid "Monopoly" msgstr "垄断" #. Label #: ../client/gtk/monopoly.c:106 msgid "Select the resource you wish to monopolize." msgstr "选择一ç§èµ„æºï¼Œä½ å°†ç‹¬å å®ƒã€‚" #. Dialog caption #: ../client/gtk/name.c:141 msgid "Change Player Name" msgstr "修改玩家姓å" #. Label #: ../client/gtk/name.c:172 msgid "Player name:" msgstr "玩家姓å:" #. Label: set player icon preferences #: ../client/gtk/name.c:234 msgid "Face:" msgstr "头åƒï¼š" #. Label: set player icon preferences #: ../client/gtk/name.c:250 msgid "Variant:" msgstr "å¯å˜é¡¹ï¼š" #: ../client/gtk/offline.c:61 msgid "Connect as a spectator" msgstr "作为一个观众连接" #: ../client/gtk/offline.c:64 msgid "Metaserver Host" msgstr "中转æœåŠ¡å™¨åœ°å€" #: ../client/gtk/offline.c:78 msgid "Select a game to join." msgstr "é€‰æ‹©ä¸€ä¸ªæ¸¸æˆæ¥åŠ å…¥ã€‚" #: ../client/gtk/offline.c:94 msgid "Connecting" msgstr "正在连接" #. Long description in the commandline for pioneers: help #: ../client/gtk/offline.c:183 msgid "- Play a game of Pioneers" msgstr "- 玩一场Pioneers" #: ../client/gtk/pioneers.desktop.in.h:2 msgid "Play a game of Pioneers" msgstr "玩一场Pioneers" #: ../client/gtk/pioneers.desktop.in.h:3 msgid "game;board;play;Pioneers;Settlers;" msgstr "game;board;play;Pioneers;Settlers;" #: ../client/gtk/player.c:52 msgid "Settlements" msgstr "房å­" #: ../client/gtk/player.c:53 msgid "Cities" msgstr "城市" #: ../client/gtk/player.c:54 msgid "City walls" msgstr "城墙" #: ../client/gtk/player.c:55 msgid "Largest army" msgstr "最大军队" #: ../client/gtk/player.c:56 msgid "Longest road" msgstr "最长é“è·¯" #. Name of the development card #: ../client/gtk/player.c:57 ../common/cards.c:92 msgid "Chapel" msgstr "教堂" #: ../client/gtk/player.c:57 msgid "Chapels" msgstr "教堂" #. Name of the development card #: ../client/gtk/player.c:58 ../common/cards.c:95 msgid "Pioneer university" msgstr "Pioneer大学" #: ../client/gtk/player.c:58 msgid "Pioneer universities" msgstr "Pioneer大学" #. Name of the development card #: ../client/gtk/player.c:60 ../common/cards.c:98 msgid "Governor's house" msgstr "政府大楼" #: ../client/gtk/player.c:60 msgid "Governor's houses" msgstr "政府大楼" #. Name of the development card #: ../client/gtk/player.c:61 ../common/cards.c:101 msgid "Library" msgstr "图书馆" #: ../client/gtk/player.c:61 msgid "Libraries" msgstr "图书馆" #. Name of the development card #: ../client/gtk/player.c:62 ../common/cards.c:104 msgid "Market" msgstr "市场" #: ../client/gtk/player.c:62 msgid "Markets" msgstr "市场" #. Name of the development card #: ../client/gtk/player.c:63 ../common/cards.c:107 msgid "Soldier" msgstr "战士" #: ../client/gtk/player.c:63 msgid "Soldiers" msgstr "战士" #: ../client/gtk/player.c:64 msgid "Resource card" msgstr "资æºå¡" #: ../client/gtk/player.c:64 msgid "Resource cards" msgstr "资æºå¡" #. Caption #: ../client/gtk/player.c:65 ../editor/gtk/editor.c:1305 msgid "Development cards" msgstr "å‘展å¡" #. Caption for the overview of the points and card of other players #: ../client/gtk/player.c:559 msgid "Player summary" msgstr "çŽ©å®¶ä¿¡æ¯æ±‡æ€»" #. Dialog caption #: ../client/gtk/plenty.c:61 msgid "Year of Plenty" msgstr "丰收年" #: ../client/gtk/plenty.c:92 msgid "Please choose one resource from the bank" msgstr "请从银行选择一个资æº" #: ../client/gtk/plenty.c:95 msgid "Please choose two resources from the bank" msgstr "请从银行选择两个资æº" #: ../client/gtk/plenty.c:97 msgid "The bank is empty" msgstr "银行被淘空了" #: ../client/gtk/quote.c:187 #, c-format msgid "%s has %s, and is looking for %s" msgstr "%s 有 %sï¼Œæƒ³è¦ %s" #. Notification #: ../client/gtk/quote.c:217 #, c-format msgid "New offer from %s." msgstr "%s æä¾›äº†ä¸€ä¸ªæ–°æ–¹æ¡ˆã€‚" #. Notification #: ../client/gtk/quote.c:242 #, c-format msgid "Offer from %s." msgstr "%s æä¾›äº†ä¸€ä¸ªæ–¹æ¡ˆã€‚" #. Label #. Frame title, trade: I want to trade these resources #: ../client/gtk/quote.c:316 ../client/gtk/trade.c:524 msgid "I want" msgstr "我è¦" #. Label #. Frame title, trade: I want these resources in return #: ../client/gtk/quote.c:326 ../client/gtk/trade.c:530 msgid "Give them" msgstr "给他们" #. Button text #: ../client/gtk/quote.c:345 msgid "Delete" msgstr "删除" #. Button text #: ../client/gtk/quote.c:370 msgid "Reject Domestic Trade" msgstr "æ‹’ç»å†…部交易" #. Now create columns #. Table header: Player who trades #. Role of the player: player #: ../client/gtk/quote-view.c:170 ../server/gtk/main.c:684 msgid "Player" msgstr "玩家" #. Table header: Quote #: ../client/gtk/quote-view.c:185 msgid "Quotes" msgstr "报价" #. trade: maritime quote: %1 resources of type %2 for #. * one resource of type %3 #: ../client/gtk/quote-view.c:303 #, c-format msgid "%d:1 %s for %s" msgstr "%d:1 %s æ¢ %s" #. Trade: a player has rejected trade #: ../client/gtk/quote-view.c:442 msgid "Rejected trade" msgstr "已拒ç»äº¤æ˜“" #. Caption for overview of the resources of the player #: ../client/gtk/resource.c:71 msgid "Resources" msgstr "资æº" #. Label #: ../client/gtk/resource.c:86 msgid "Total" msgstr "总数" #. Tooltip for the amount of resources in the hand #: ../client/gtk/resource-table.c:180 msgid "Amount in hand" msgstr "手上的总数" #. Button for decreasing the selected amount #: ../client/gtk/resource-table.c:185 msgid "" msgstr "增加>" #. Tooltip for increasing the selected amount #: ../client/gtk/resource-table.c:226 msgid "Increase the selected amount" msgstr "å¢žåŠ æ‰€é€‰èµ„æºæ•°é‡" #. Tooltip for the selected amount #: ../client/gtk/resource-table.c:243 msgid "Selected amount" msgstr "选择的数é‡" #. Tooltip for the total selected amount #: ../client/gtk/resource-table.c:288 msgid "Total selected amount" msgstr "æ‰€é€‰èµ„æºæ€»æ•°" #. Tooltip when the bank cannot be emptied #: ../client/gtk/resource-table.c:307 msgid "The bank cannot be emptied" msgstr "银行ä¸èƒ½è¢«æ·˜ç©º" #: ../client/gtk/settingscreen.c:74 msgid "Yes" msgstr "是" #: ../client/gtk/settingscreen.c:76 ../client/gtk/settingscreen.c:240 msgid "No" msgstr "å¦" #: ../client/gtk/settingscreen.c:87 ../client/gtk/settingscreen.c:187 msgid "Unknown" msgstr "未知" #: ../client/gtk/settingscreen.c:121 msgid "No game in progress..." msgstr "没有正在进行的游æˆ..." #. Label #: ../client/gtk/settingscreen.c:132 msgid "General settings" msgstr "一般设置" #: ../client/gtk/settingscreen.c:149 msgid "Number of players:" msgstr "玩家数目:" #: ../client/gtk/settingscreen.c:153 msgid "Victory point target:" msgstr "目标胜利分数:" #: ../client/gtk/settingscreen.c:157 msgid "Random terrain:" msgstr "éšæœºåœ°å½¢ï¼š" #: ../client/gtk/settingscreen.c:161 msgid "Allow trade between players:" msgstr "å…许玩家之间交易:" #: ../client/gtk/settingscreen.c:166 msgid "Allow trade only before building or buying:" msgstr "ä»…å…许在建筑或者购买之å‰è¿›è¡Œäº¤æ˜“:" #: ../client/gtk/settingscreen.c:171 msgid "Check victory only at end of turn:" msgstr "仅在回åˆç»“æŸæ—¶æ£€æŸ¥æ˜¯å¦èƒœåˆ©ï¼š" #: ../client/gtk/settingscreen.c:176 msgid "Amount of each resource:" msgstr "æ¯ç§èµ„æºçš„æ•°é‡ï¼š" #: ../client/gtk/settingscreen.c:190 msgid "Sevens rule:" msgstr "打7的规则:" #: ../client/gtk/settingscreen.c:196 msgid "Use dice deck instead of dice:" msgstr "使用骰æ¿ä»£æ›¿éª°å­ï¼š" #: ../client/gtk/settingscreen.c:201 msgid "Number of dice decks:" msgstr "éª°æ¿æ•°ç›®ï¼š" #: ../client/gtk/settingscreen.c:207 msgid "Number of dice cards removed after shuffling:" msgstr "Number of dice cards removed after shuffling:" #: ../client/gtk/settingscreen.c:214 msgid "Use the pirate to block ships:" msgstr "使用海盗阻止船åªï¼š" #: ../client/gtk/settingscreen.c:243 msgid "Island discovery bonuses:" msgstr "å‘现岛屿的奖励:" #. Label #: ../client/gtk/settingscreen.c:260 msgid "Building quotas" msgstr "建筑定é¢" #: ../client/gtk/settingscreen.c:277 msgid "Roads:" msgstr "é“路:" #: ../client/gtk/settingscreen.c:283 msgid "Settlements:" msgstr "房å­ï¼š" #: ../client/gtk/settingscreen.c:289 msgid "Cities:" msgstr "城市:" #: ../client/gtk/settingscreen.c:295 msgid "City walls:" msgstr "城墙:" #: ../client/gtk/settingscreen.c:301 msgid "Ships:" msgstr "轮船:" #: ../client/gtk/settingscreen.c:307 msgid "Bridges:" msgstr "æ¡¥æ¢ï¼š" #. Label #: ../client/gtk/settingscreen.c:320 msgid "Development card deck" msgstr "å‘展å¡å †" #: ../client/gtk/settingscreen.c:336 msgid "Road building cards:" msgstr "é“路修建å¡ï¼š" #: ../client/gtk/settingscreen.c:340 msgid "Monopoly cards:" msgstr "垄断å¡ï¼š" #: ../client/gtk/settingscreen.c:344 msgid "Year of plenty cards:" msgstr "丰收年å¡ï¼š" #: ../client/gtk/settingscreen.c:348 msgid "Chapel cards:" msgstr "教堂å¡ï¼š" #: ../client/gtk/settingscreen.c:352 msgid "Pioneer university cards:" msgstr "Pioneer 大学å¡ï¼š" #: ../client/gtk/settingscreen.c:356 msgid "Governor's house cards:" msgstr "政府大楼å¡ï¼š" #: ../client/gtk/settingscreen.c:360 msgid "Library cards:" msgstr "图书馆å¡ï¼š" #: ../client/gtk/settingscreen.c:364 msgid "Market cards:" msgstr "市场å¡ï¼š" #: ../client/gtk/settingscreen.c:368 msgid "Soldier cards:" msgstr "战士å¡ï¼š" #. Dialog caption #: ../client/gtk/settingscreen.c:407 msgid "Current Game Settings" msgstr "当剿¸¸æˆè®¾ç½®" #. trade: you ask for something for free #: ../client/gtk/trade.c:205 #, c-format msgid "ask for %s for free" msgstr "è¦ç™½å¾— %s" #. trade: you give something away for free #: ../client/gtk/trade.c:210 #, c-format msgid "give %s for free" msgstr "白给了 %s" #. trade: you trade something for something else #: ../client/gtk/trade.c:215 #, c-format msgid "give %s for %s" msgstr "æä¾› %sï¼Œæƒ³è¦ %s" #. I want some resources, and give them some resources #: ../client/gtk/trade.c:242 #, c-format msgid "I want %s, and give them %s" msgstr "æˆ‘è¦ %s,我æä¾› %s" #. Notification #: ../client/gtk/trade.c:348 #, c-format msgid "Quote received from %s." msgstr "从 %s 得到了报价。" #. Button text, trade: call for quotes from other players #: ../client/gtk/trade.c:539 msgid "_Call for Quotes" msgstr "喊出报价(_C)" #. Button text: Trade page, accept selected quote #: ../client/gtk/trade.c:568 msgid "_Accept Quote" msgstr "æŽ¥å—æŠ¥ä»·(_A)" #. Button text: Trade page, finish trading #: ../client/gtk/trade.c:574 msgid "_Finish Trading" msgstr "完æˆäº¤æ˜“(_F)" #. Name of the development card #: ../common/cards.c:83 msgid "Road building" msgstr "é“路修建" #. Name of the development card #: ../common/cards.c:89 msgid "Year of plenty" msgstr "丰收年" #. Description of the 'Road Building' development card #: ../common/cards.c:118 msgid "Build two new roads" msgstr "ä¿®å»ºä¸¤æ¡æ–°è·¯" #. Description of the 'Monopoly' development card #: ../common/cards.c:121 msgid "" "Select a resource type and take every card of that type held by all other " "players" msgstr "选择一ç§èµ„æºï¼Œç„¶åŽæ‹¿èµ°æ‰€æœ‰å…¶ä»–玩家手上的这ç§èµ„æº" #. Description of the 'Year of Plenty' development card #: ../common/cards.c:125 msgid "" "Take two resource cards of any type from the bank (cards may be of the same " "or different types)" msgstr "从银行拿走两个任æ„ç§ç±»çš„资æºï¼ˆå¯ä»¥ç›¸åŒæˆ–者ä¸åŒï¼‰" #. Description of a development card of 1 victory point #: ../common/cards.c:134 msgid "One victory point" msgstr "一个胜利点" #. Description of the 'Soldier' development card #: ../common/cards.c:137 msgid "" "Move the robber to a different space and take one resource card from another " "player adjacent to that space" msgstr "移动强盗到一个ä¸åŒçš„ä½ç½®ï¼Œç„¶åŽä»Žé‚»è¿‘çš„å¦ä¸€ä¸ªçŽ©å®¶æ‰‹ä¸ŠæŠ¢èµ°ä¸€ä¸ªèµ„æº" #: ../common/game.c:523 #, c-format msgid "Obsolete rule: '%s'\n" msgstr "过时的规则:“%sâ€\n" #: ../common/game.c:530 #, c-format msgid "" "The game uses the new rule '%s', which is not yet supported. Consider " "upgrading.\n" msgstr "这个游æˆä½¿ç”¨äº†æ–°è§„则“%sâ€ï¼Œæš‚䏿”¯æŒï¼Œè¯·è€ƒè™‘更新。\n" #: ../common/game.c:924 ../common/game.c:955 msgid "This game cannot be won." msgstr "这场游æˆä¸å¯èƒ½èµ¢äº†ã€‚" #: ../common/game.c:925 msgid "There is no land." msgstr "没有土地了。" #: ../common/game.c:959 msgid "It is possible that this game cannot be won." msgstr "这场游æˆå¯èƒ½æ— æ³•胜利了。" #: ../common/game.c:965 msgid "This game can be won by only building all settlements and cities." msgstr "åªæœ‰æ‰€æœ‰æˆ¿å­å’ŒåŸŽå¸‚éƒ½å»ºå®Œäº†è¿™åœºæ¸¸æˆæ‰èƒ½èƒœåˆ©ã€‚" #: ../common/game.c:971 #, c-format msgid "" "Required victory points: %d\n" "Points obtained by building all: %d\n" "Points in development cards: %u\n" "Longest road/largest army: %d+%d\n" "Maximum island discovery bonus: %d\n" "Total: %d" msgstr "" "è¦æ±‚的胜利点:%d\n" "建完所有建筑åŽå¾—到的点数:%d\n" "å‘展å¡ä¸­çš„点数:%u\n" "最长é“è·¯/最大军队:%d+%d\n" "å‘现岛屿的最大奖励:%d\n" "总数:%d" #: ../common/game-list.c:111 #, c-format msgid "Looking for games in '%s'\n" msgstr "在“%sâ€ä¸­æŸ¥æ‰¾æ¸¸æˆ\n" #: ../common/game-list.c:113 #, c-format msgid "Game directory '%s' not found\n" msgstr "游æˆç›®å½•“%sâ€æœªæ‰¾åˆ°\n" #: ../common/game-list.c:131 #, c-format msgid "Unable to load game: '%s'\n" msgstr "无法打开游æˆï¼šâ€œ%sâ€\n" #: ../common/game-list.c:151 msgid "No games available\n" msgstr "没有å¯ä»¥é€‰æ‹©çš„æ¸¸æˆ\n" #: ../common/gtk/aboutbox.c:53 msgid "" "Pioneers is based upon the excellent\n" "Settlers of Catan board game.\n" msgstr "" "Pioneers 是在优秀的桌游å¡å¦å²›(Settlers of Catan)\n" "的基础上建立起æ¥çš„。\n" #. Translators: add your name here. Keep the list #. * alphabetically, do not remove any names, and add #. * \n after your name (except the last name). #. #: ../common/gtk/aboutbox.c:63 msgid "translator-credits" msgstr "Gerald " #. Caption for result of checking victory points #: ../common/gtk/common_gtk.c:324 msgid "Victory Point Analysis" msgstr "胜利点分æž" #. Tooltip for sevens rule normal #: ../common/gtk/game-rules.c:110 msgid "All sevens move the robber or pirate" msgstr "所有的7移动强盗或海盗" #. Tooltip for sevens rule reroll on 1st 2 turns #: ../common/gtk/game-rules.c:114 msgid "In the first two turns all sevens are rerolled" msgstr "å‰ä¸¤å›žåˆæ‰€æœ‰çš„7éƒ½é‡æŠ•" #. Tooltip for sevens rule reroll all #: ../common/gtk/game-rules.c:118 msgid "All sevens are rerolled" msgstr "所有的7éƒ½é‡æŠ•" #: ../common/gtk/game-rules.c:129 msgid "Randomize terrain" msgstr "éšæœºåœ°å½¢" #: ../common/gtk/game-rules.c:129 msgid "Randomize the terrain" msgstr "åœ°å½¢éšæœºåŒ–" #: ../common/gtk/game-rules.c:132 msgid "Use pirate" msgstr "使用海盗" #: ../common/gtk/game-rules.c:133 msgid "Use the pirate to block ships" msgstr "使用海盗阻止船åª" #: ../common/gtk/game-rules.c:135 msgid "Strict trade" msgstr "严格交易" #: ../common/gtk/game-rules.c:136 msgid "Allow trade only before building or buying" msgstr "åªå…许在建筑或者购买之å‰è¿›è¡Œäº¤æ˜“" #: ../common/gtk/game-rules.c:138 msgid "Domestic trade" msgstr "内部交易" #: ../common/gtk/game-rules.c:139 msgid "Allow trade between players" msgstr "å…许玩家之间交易" #: ../common/gtk/game-rules.c:141 msgid "Victory at end of turn" msgstr "回åˆç»“æŸåŽåˆ¤æ–­èƒœåˆ©æ¡ä»¶" #: ../common/gtk/game-rules.c:142 msgid "Check for victory only at end of turn" msgstr "仅在回åˆç»“æŸæ—¶æ£€æµ‹æ˜¯å¦èƒœåˆ©" #: ../common/gtk/game-rules.c:145 msgid "Use dice deck" msgstr "使用骰æ¿" #: ../common/gtk/game-rules.c:147 msgid "Use a deck of 36 dice cards instead of real dice" msgstr "使用一个有36张骰å¡çš„骰æ¿ä»£æ›¿çœŸæ­£çš„骰å­" #. Label #: ../common/gtk/game-rules.c:155 msgid "Number of dice decks" msgstr "éª°æ¿æ•°ç›®" #: ../common/gtk/game-rules.c:172 msgid "The number of dice decks (of 36 cards each)" msgstr "éª°æ¿æ•°ç›®ï¼ˆæ¯ä¸ªéª°æ¿æœ‰36张骰å¡ï¼‰" #. Label #: ../common/gtk/game-rules.c:180 msgid "Number of removed dice cards" msgstr "å·²ä½¿ç”¨çš„éª°å¡æ•°ç›®" #: ../common/gtk/game-rules.c:199 msgid "The number of dice cards that are removed after shuffling the deck" msgstr "打乱骰å¡åŽå·²ä½¿ç”¨çš„éª°å¡æ•°ç›®" #. Label #: ../common/gtk/game-rules.c:207 msgid "Island discovery bonuses" msgstr "å‘现岛屿的奖励" #. Tooltip for island bonus #: ../common/gtk/game-rules.c:219 msgid "A comma separated list of bonus points for discovering islands" msgstr "一个逗å·éš”开的列表,表示å‘现岛屿的奖励点数" #. Tooltip for the check button #: ../common/gtk/game-rules.c:237 msgid "Check and correct island discovery bonuses" msgstr "检查并修正å‘现岛屿的奖励" #. Label text for customising a game #: ../common/gtk/game-settings.c:105 msgid "Number of players" msgstr "玩家数目" #. Tooltip for 'Number of Players' #: ../common/gtk/game-settings.c:124 msgid "The number of players" msgstr "玩家数目" #. Label for customising a game #: ../common/gtk/game-settings.c:127 msgid "Victory point target" msgstr "目标胜利分数" #. Tooltip for Victory Point Target #: ../common/gtk/game-settings.c:147 msgid "The points needed to win the game" msgstr "游æˆèƒœåˆ©è¿˜éœ€è¦çš„点数" #. Tooltip for the check button #: ../common/gtk/game-settings.c:161 msgid "Is it possible to win this game?" msgstr "这场游æˆè¿˜æœ‰å¯èƒ½èµ¢å—?" #. Port indicator for a resource: trade 2 for 1 #: ../common/gtk/guimap.c:742 msgid "2:1" msgstr "2:1" #. Port indicator: trade 3 for 1 #. General port indicator #: ../common/gtk/guimap.c:745 ../common/gtk/guimap.c:770 msgid "3:1" msgstr "3:1" #. Port indicator for brick #: ../common/gtk/guimap.c:750 msgid "Brick port|B" msgstr "ç –" #. Port indicator for grain #: ../common/gtk/guimap.c:754 msgid "Grain port|G" msgstr "麦" #. Port indicator for ore #: ../common/gtk/guimap.c:758 msgid "Ore port|O" msgstr "矿" #. Port indicator for wool #: ../common/gtk/guimap.c:762 msgid "Wool port|W" msgstr "羊" #. Port indicator for lumber #: ../common/gtk/guimap.c:766 msgid "Lumber port|L" msgstr "圆" #. Tooltip for the list of metaservers #: ../common/gtk/metaserver.c:85 msgid "Select a metaserver" msgstr "选择一个中转æœåС噍" #. Tooltip for the list of games #: ../common/gtk/select-game.c:135 msgid "Select a game" msgstr "选择一个游æˆ" #. Log prefix #: ../common/log.c:58 msgid "*ERROR* " msgstr "*错误* " #. Log prefix #: ../common/log.c:66 msgid "Chat: " msgstr "èŠå¤©ï¼š" #. Log prefix #: ../common/log.c:70 msgid "Resource: " msgstr "资æºï¼š" #. Log prefix #: ../common/log.c:74 msgid "Build: " msgstr "建筑:" #. Log prefix #: ../common/log.c:78 msgid "Dice: " msgstr "骰å­ï¼š" #. Log prefix #: ../common/log.c:82 msgid "Steal: " msgstr "å·å–:" #. Log prefix #: ../common/log.c:86 msgid "Trade: " msgstr "交易:" #. Log prefix #: ../common/log.c:90 msgid "Development: " msgstr "å‘展å¡ï¼š" #. Log prefix #: ../common/log.c:94 msgid "Army: " msgstr "军队:" #. Log prefix #: ../common/log.c:98 msgid "Road: " msgstr "é“路:" #. Log prefix #: ../common/log.c:102 msgid "*BEEP* " msgstr "*å“一下* " #. Log prefix #: ../common/log.c:108 msgid "Player 1: " msgstr "玩家 1:" #. Log prefix #: ../common/log.c:112 msgid "Player 2: " msgstr "玩家 2:" #. Log prefix #: ../common/log.c:116 msgid "Player 3: " msgstr "玩家 3:" #. Log prefix #: ../common/log.c:120 msgid "Player 4: " msgstr "玩家 4:" #. Log prefix #: ../common/log.c:124 msgid "Player 5: " msgstr "玩家 5:" #. Log prefix #: ../common/log.c:128 msgid "Player 6: " msgstr "玩家 6:" #. Log prefix #: ../common/log.c:132 msgid "Player 7: " msgstr "玩家 7:" #. Log prefix #: ../common/log.c:136 msgid "Player 8: " msgstr "玩家 8:" #. Log prefix #: ../common/log.c:140 msgid "Spectator: " msgstr "观众:" #. Log prefix #: ../common/log.c:144 msgid "** UNKNOWN MESSAGE TYPE ** " msgstr "** 未知的消æ¯ç±»åž‹ ** " #: ../common/network.c:143 #, c-format msgid "Error writing to socket: %s\n" msgstr "写到socketæ—¶å‘生错误: %s\n" #: ../common/network.c:154 msgid "Could not send all data\n" msgstr "无法å‘逿‰€æœ‰æ•°æ®\n" #: ../common/network.c:202 msgid "Read buffer overflow - disconnecting\n" msgstr "读缓存时溢出 - 断开连接\n" #: ../common/network.c:226 #, c-format msgid "Error reading socket: %s\n" msgstr "读socket错误:%s\n" #: ../common/network.c:378 #, c-format msgid "Error connecting to %s: %s\n" msgstr "连接到%så‘生错误:%s\n" #: ../common/network.c:566 ../common/network.c:567 msgid "unknown" msgstr "未知" #: ../common/state.c:203 #, c-format msgid "Connecting to %s, port %s\n" msgstr "连接到 %s:%s\n" #. Error message #: ../common/state.c:333 msgid "State stack overflow. Stack dump sent to standard error.\n" msgstr "State栈溢出。栈堆已å‘é€åˆ°æ ‡å‡†é”™è¯¯ã€‚\n" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:113 msgid "_Hill" msgstr "å°å±±(_H)" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:115 msgid "_Field" msgstr "田野(_F)" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:117 msgid "_Mountain" msgstr "大山(_M)" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:119 msgid "_Pasture" msgstr "è‰åŽŸ(_P)" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:121 msgid "F_orest" msgstr "森林(_O)" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:123 msgid "_Desert" msgstr "沙漠(_D)" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:125 msgid "_Sea" msgstr "大海(_S)" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:127 msgid "_Gold" msgstr "黄金(_G)" #. Use an unique shortcut key for each resource #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:129 ../editor/gtk/editor.c:144 msgid "_None" msgstr "æ— (_N)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:134 msgid "_Brick (2:1)" msgstr "砖头(_B) (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:136 msgid "_Grain (2:1)" msgstr "麦å­(_G) (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:138 msgid "_Ore (2:1)" msgstr "矿石(_O) (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:140 msgid "_Wool (2:1)" msgstr "羊毛(_W) (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:142 msgid "_Lumber (2:1)" msgstr "圆木(_L) (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:146 msgid "_Any (3:1)" msgstr "ä»»æ„(_A) (3:1)" #. East #: ../editor/gtk/editor.c:151 msgid "East|E" msgstr "东" #. North east #: ../editor/gtk/editor.c:153 msgid "North East|NE" msgstr "东北" #. North west #: ../editor/gtk/editor.c:155 msgid "North West|NW" msgstr "西北" #. West #: ../editor/gtk/editor.c:157 msgid "West|W" msgstr "西" #. South west #: ../editor/gtk/editor.c:159 msgid "South West|SW" msgstr "西å—" #. South east #: ../editor/gtk/editor.c:161 msgid "South East|SE" msgstr "东å—" #: ../editor/gtk/editor.c:368 msgid "Place a hill hex" msgstr "放一个å°å±±å—" #: ../editor/gtk/editor.c:369 msgid "Place a field hex" msgstr "放一个田野å—" #: ../editor/gtk/editor.c:370 msgid "Place a mountain hex" msgstr "放一个大山å—" #: ../editor/gtk/editor.c:371 msgid "Place a pasture hex" msgstr "放一个è‰åŽŸå—" #: ../editor/gtk/editor.c:372 msgid "Place a forest hex" msgstr "放一个森林å—" #: ../editor/gtk/editor.c:373 msgid "Place a desert hex" msgstr "放一个沙漠å—" #: ../editor/gtk/editor.c:374 msgid "Place a sea hex" msgstr "放一个海洋å—" #: ../editor/gtk/editor.c:375 msgid "Place a gold hex" msgstr "放一个黄金å—" #: ../editor/gtk/editor.c:376 msgid "Clear the hex" msgstr "清除这一å—" #: ../editor/gtk/editor.c:384 msgid "Place a 2 chit" msgstr "放一个2点标记" #: ../editor/gtk/editor.c:385 msgid "Place a 3 chit" msgstr "放一个3点标记" #: ../editor/gtk/editor.c:386 msgid "Place a 4 chit" msgstr "放一个4点标记" #: ../editor/gtk/editor.c:387 msgid "Place a 5 chit" msgstr "放一个5点标记" #: ../editor/gtk/editor.c:388 msgid "Place a 6 chit" msgstr "放一个6点标记" #: ../editor/gtk/editor.c:390 msgid "Place an 8 chit" msgstr "放一个8点标记" #: ../editor/gtk/editor.c:391 msgid "Place a 9 chit" msgstr "放一个9点标记" #: ../editor/gtk/editor.c:392 msgid "Place a 10 chit" msgstr "放一个10点标记" #: ../editor/gtk/editor.c:393 msgid "Place an 11 chit" msgstr "放一个11点标记" #: ../editor/gtk/editor.c:394 msgid "Place a 12 chit" msgstr "放一个12点标记" #: ../editor/gtk/editor.c:400 msgid "Place a brick 2:1 port" msgstr "放一个砖头2:1港å£" #: ../editor/gtk/editor.c:401 msgid "Place a grain 2:1 port" msgstr "放一个麦å­2:1港å£" #: ../editor/gtk/editor.c:402 msgid "Place an ore 2:1 port" msgstr "放一个矿石2:1港å£" #: ../editor/gtk/editor.c:403 msgid "Place a wool 2:1 port" msgstr "放一个羊毛2:1港å£" #: ../editor/gtk/editor.c:404 msgid "Place a lumber 2:1 port" msgstr "放一个圆木2:1港å£" #. Tooltip to remove a port tile in the editor #: ../editor/gtk/editor.c:406 msgid "Remove a port" msgstr "移除一个港å£" #: ../editor/gtk/editor.c:407 msgid "Place a 3:1 port" msgstr "放一个3:1港å£" #: ../editor/gtk/editor.c:437 msgid "" "Select the terrain type with the context menu on the left click or toggle a " "node to exclude it from being used during the setup phase" msgstr "" "Select the terrain type with the context menu on the left click or toggle a " "node to exclude it from being used during the setup phase" #: ../editor/gtk/editor.c:572 msgid "Insert a row" msgstr "æ’入一行" #: ../editor/gtk/editor.c:573 msgid "Delete a row" msgstr "删除一行" #: ../editor/gtk/editor.c:574 msgid "Insert a column" msgstr "æ’入一列" #: ../editor/gtk/editor.c:575 msgid "Delete a column" msgstr "删除一列" #. Label #: ../editor/gtk/editor.c:978 msgid "_Title" msgstr "åç§°(_T)" #. Label #: ../editor/gtk/editor.c:991 msgid "_Description" msgstr "æè¿°(_D)" #. Label #: ../editor/gtk/editor.c:1009 msgid "_Comments" msgstr "评论(_C)" #. Menu item #: ../editor/gtk/editor.c:1139 msgid "Shuffle" msgstr "打乱" #. Caption #. Game settings frame #: ../editor/gtk/editor.c:1294 ../server/gtk/main.c:968 msgid "Game parameters" msgstr "游æˆå‚æ•°" #. Caption #. Rules frame #: ../editor/gtk/editor.c:1297 ../server/gtk/main.c:983 msgid "Rules" msgstr "规则" #. Caption #: ../editor/gtk/editor.c:1299 msgid "Resources" msgstr "资æº" #. Caption #: ../editor/gtk/editor.c:1302 msgid "Buildings" msgstr "建筑" #. The game in the editor does not have a name yet #: ../editor/gtk/editor.c:1319 msgid "Untitled" msgstr "未命å" #. Application caption #: ../editor/gtk/editor.c:1324 ../editor/gtk/pioneers-editor.desktop.in.h:1 msgid "Pioneers Editor" msgstr "Pioneers编辑器" #: ../editor/gtk/editor.c:1434 #, c-format msgid "Failed to load '%s'" msgstr "打开“%sâ€å¤±è´¥" #: ../editor/gtk/editor.c:1482 #, c-format msgid "Failed to save to '%s'" msgstr "ä¿å­˜åˆ°'%s'失败" #. Name of the file filter: show only games #: ../editor/gtk/editor.c:1499 msgid "Games" msgstr "游æˆ" #. Name of the file filter: show all files #: ../editor/gtk/editor.c:1505 msgid "Unfiltered" msgstr "所有" #. Dialog caption #: ../editor/gtk/editor.c:1517 msgid "Open Game" msgstr "打开游æˆ" #. Button text #: ../editor/gtk/editor.c:1524 #, fuzzy msgid "_Open" msgstr "打开(_O)..." #. Dialog caption #: ../editor/gtk/editor.c:1558 msgid "Save As..." msgstr "å¦å­˜ä¸º..." #. Button text #: ../editor/gtk/editor.c:1565 #, fuzzy msgid "Save _As" msgstr "å¦å­˜ä¸º(_A)..." #. Dialog caption #: ../editor/gtk/editor.c:1606 msgid "Change Title" msgstr "修改åç§°" #. Label #: ../editor/gtk/editor.c:1631 msgid "New title:" msgstr "æ–°å称:" #. Caption of about box #: ../editor/gtk/editor.c:1688 msgid "About Pioneers Game Editor" msgstr "关于Pioneers游æˆç¼–辑器" #. Menu entry #: ../editor/gtk/editor.c:1718 msgid "_File" msgstr "文件(_F)" #. Menu entry #: ../editor/gtk/editor.c:1728 msgid "_New" msgstr "新建(_N)" #: ../editor/gtk/editor.c:1729 msgid "Create a new game" msgstr "创建一个新游æˆ" #. Menu entry #: ../editor/gtk/editor.c:1732 msgid "_Open..." msgstr "打开(_O)..." #. Tooltip for Open menu entry #: ../editor/gtk/editor.c:1734 msgid "Open an existing game" msgstr "打开一个现有的游æˆ" #. Menu entry #: ../editor/gtk/editor.c:1737 msgid "_Save" msgstr "ä¿å­˜(_S)" #. Tooltip for Save menu entry #: ../editor/gtk/editor.c:1739 msgid "Save game" msgstr "ä¿å­˜æ¸¸æˆ" #. Menu entry #: ../editor/gtk/editor.c:1742 msgid "Save _As..." msgstr "å¦å­˜ä¸º(_A)..." #. Tooltip for Save As menu entry #: ../editor/gtk/editor.c:1745 msgid "Save as" msgstr "å¦å­˜ä¸º" #. Menu entry #: ../editor/gtk/editor.c:1748 msgid "Change _Title" msgstr "修改åç§°(_T)" #. Tooltip for Change Title menu entry #: ../editor/gtk/editor.c:1750 msgid "Change game title" msgstr "修改游æˆåç§°" #. Menu entry #: ../editor/gtk/editor.c:1753 ../server/gtk/main.c:97 msgid "_Check Victory Point Target" msgstr "检测目标胜利分数(_C)" #. Tooltip for Check Victory Point Target menu entry #. Tooltop for Check Victory Point Target menu entry #: ../editor/gtk/editor.c:1756 ../server/gtk/main.c:100 msgid "Check whether the game can be won" msgstr "æ£€æµ‹æ¸¸æˆæ˜¯å¦å¯èƒ½èµ¢" #. Tooltip for Quit menu entry #: ../editor/gtk/editor.c:1761 msgid "Quit" msgstr "退出" #. Menu entry #: ../editor/gtk/editor.c:1783 msgid "_About Pioneers Editor" msgstr "关于Pioneers编辑器(_A)" #. Tooltip for About Pioneers Editor menu entry #: ../editor/gtk/editor.c:1785 msgid "Information about Pioneers Editor" msgstr "关于Pioneers编辑器的信æ¯" #. Long help for commandline option (editor): filename #: ../editor/gtk/editor.c:1838 msgid "Open this file" msgstr "打开这个文件" #. Commandline option for editor: filename #. Commandline metaserver: pidfile argument #: ../editor/gtk/editor.c:1840 ../metaserver/main.c:615 msgid "filename" msgstr "文件å" #. Long description in the command line: --help #: ../editor/gtk/editor.c:1877 msgid "- Editor for games of Pioneers" msgstr "- Pioneers游æˆç¼–辑器" #. Error message #: ../editor/gtk/editor.c:1921 ../server/gtk/main.c:1256 #, c-format msgid "Building menus failed: %s" msgstr "创建èœå•失败:%s" #. Tab page name #: ../editor/gtk/editor.c:1951 msgid "Settings" msgstr "设置" #. Tab page name #: ../editor/gtk/editor.c:1954 msgid "Comments" msgstr "评论" #: ../editor/gtk/game-resources.c:48 msgid "Resource count" msgstr "èµ„æºæ•°" #: ../editor/gtk/pioneers-editor.desktop.in.h:2 msgid "Create your own game for Pioneers" msgstr "为Pioneers创建你自己的游æˆ" #: ../editor/gtk/pioneers-editor.desktop.in.h:3 msgid "game;board;create;edit;layout;Pioneers;Settlers;" msgstr "game;board;create;edit;layout;Pioneers;Settlers;" #. Commandline metaserver: daemon #: ../metaserver/main.c:610 msgid "Daemonize the metaserver on start" msgstr "å¯åŠ¨æ—¶åŽå°è¿è¡Œä¸­è½¬æœåС噍" #. Commandline metaserver: pidfile #: ../metaserver/main.c:613 msgid "Pidfile to create when daemonizing (implies -d)" msgstr "守护时创建的Pid文件(相当于-d)" #. Commandline metaserver: redirect #: ../metaserver/main.c:618 msgid "Redirect clients to another metaserver" msgstr "é‡å®šå‘客户端到å¦ä¸€ä¸ªä¸­è½¬æœåС噍" #. Commandline metaserver: server #: ../metaserver/main.c:621 msgid "Use this hostname when creating new games" msgstr "åˆ›å»ºæ–°æ¸¸æˆæ—¶ä½¿ç”¨è¿™ä¸ªä¸»æœºå" #. Commandline metaserver: server argument #: ../metaserver/main.c:623 msgid "hostname" msgstr "主机å" #. Commandline metaserver: port-range #: ../metaserver/main.c:626 msgid "Use this port range when creating new games" msgstr "åˆ›å»ºæ–°æ¸¸æˆæ—¶ä½¿ç”¨è¿™ä¸ªèŒƒå›´å†…的端å£" #. Commandline metaserver: port-range argument #: ../metaserver/main.c:628 msgid "from-to" msgstr "从-到" #. Commandline option of metaserver: syslog-debug #: ../metaserver/main.c:634 msgid "Debug syslog messages" msgstr "调试系统日志消æ¯" #. Long description in the commandline for metaserver: help #: ../metaserver/main.c:675 msgid "- Metaserver for Pioneers" msgstr "- Pioneers的中转æœåС噍" #: ../metaserver/main.c:691 #, c-format msgid "metaserver protocol:" msgstr "中转æœåС噍å议:" #: ../server/avahi.c:68 msgid "Avahi registration successful.\n" msgstr "Avahi注册æˆåŠŸã€‚\n" #: ../server/avahi.c:78 #, c-format msgid "Avahi service name collision, renaming service to '%s'.\n" msgstr "AvahiæœåŠ¡å冲çªï¼Œé‡å‘½åæˆ'%s'。\n" #. Some kind of failure happened while we were registering #: ../server/avahi.c:89 #, c-format msgid "Avahi error: %s\n" msgstr "Avahi错误:%s\n" #: ../server/avahi.c:113 ../server/avahi.c:145 ../server/avahi.c:155 #: ../server/avahi.c:191 ../server/avahi.c:212 ../server/avahi.c:226 #, c-format msgid "Avahi error: %s, %s\n" msgstr "Avahi错误:%s,%s\n" #: ../server/avahi.c:213 ../server/avahi.c:227 msgid "Unable to register Avahi server" msgstr "无法注册AvahiæœåС噍" #: ../server/avahi.c:260 msgid "Unregistering Avahi.\n" msgstr "å–æ¶ˆæ³¨å†ŒAvahi。\n" #. Menu entry #: ../server/gtk/main.c:108 msgid "_About Pioneers Server" msgstr "关于PioneersæœåС噍(_A)" #. Tooltop for About Pioneers Server menu entry #: ../server/gtk/main.c:110 msgid "Information about Pioneers Server" msgstr "关于PioneersæœåŠ¡å™¨çš„ä¿¡æ¯" #: ../server/gtk/main.c:234 msgid "Stop Server" msgstr "åœæ­¢æœåС噍" #: ../server/gtk/main.c:235 msgid "Start Server" msgstr "å¯åЍæœåС噍" #: ../server/gtk/main.c:237 ../server/gtk/main.c:996 msgid "Stop the server" msgstr "åœæ­¢æœåС噍" #: ../server/gtk/main.c:238 msgid "Start the server" msgstr "å¯åЍæœåС噍" #: ../server/gtk/main.c:395 #, c-format msgid "Player %s from %s entered\n" msgstr "玩家 %s æ¥è‡ª %s 进入了\n" #: ../server/gtk/main.c:402 #, c-format msgid "Player %s from %s left\n" msgstr "玩家 %s æ¥è‡ª %s 离开了\n" #: ../server/gtk/main.c:409 #, c-format msgid "Player %d is now %s\n" msgstr "玩家 %d çŽ°åœ¨å« %s\n" #: ../server/gtk/main.c:570 msgid "The port for the game server" msgstr "æ¸¸æˆæœåŠ¡å™¨çš„ç«¯å£" #. register_toggle #: ../server/gtk/main.c:579 msgid "Register server" msgstr "注册æœåС噍" #: ../server/gtk/main.c:587 msgid "Register this game at the metaserver" msgstr "在中转æœåŠ¡å™¨æ³¨å†Œè¿™ä¸ªæ¸¸æˆ" #. hostname label #: ../server/gtk/main.c:618 msgid "Reported hostname" msgstr "回报的主机å" #: ../server/gtk/main.c:633 msgid "" "The public name of this computer (needed when playing behind a firewall)" msgstr "è¿™å°è®¡ç®—机的公开å称(在防ç«å¢™åŽæ¸¸æˆæ—¶éœ€è¦ï¼‰" #. random toggle #: ../server/gtk/main.c:652 msgid "Random turn order" msgstr "éšæœºé¡ºåº" #: ../server/gtk/main.c:659 msgid "Randomize turn order" msgstr "打乱游æˆé¡ºåº" #. Tooltip for server connection overview #: ../server/gtk/main.c:730 msgid "Shows all players and spectators connected to the server" msgstr "显示连接到æœåŠ¡å™¨çš„æ‰€æœ‰çŽ©å®¶å’Œè§‚ä¼—" #. Label for column Connected #: ../server/gtk/main.c:735 msgid "Connected" msgstr "已连接" #. Tooltip for column Connected #: ../server/gtk/main.c:742 msgid "Is the player currently connected?" msgstr "玩家现在已连接?" #. Label for column Name #: ../server/gtk/main.c:747 msgid "Name" msgstr "åå­—" #. Tooltip for column Name #: ../server/gtk/main.c:754 msgid "Name of the player" msgstr "玩家姓å" #. Label for column Location #: ../server/gtk/main.c:758 msgid "Location" msgstr "ä½ç½®" #. Tooltip for column Location #: ../server/gtk/main.c:765 msgid "Host name of the player" msgstr "玩家主机å" #. Label for column Number #: ../server/gtk/main.c:771 msgid "Number" msgstr "ç¼–å·" #. Tooltip for column Number #: ../server/gtk/main.c:778 msgid "Player number" msgstr "玩家编å·" #. Label for column Role #: ../server/gtk/main.c:784 msgid "Role" msgstr "角色" #. Tooltip for column Role #: ../server/gtk/main.c:788 msgid "Player or spectator" msgstr "玩家或观众" #. Button text #: ../server/gtk/main.c:825 msgid "Launch Pioneers Client" msgstr "å¯åЍPioneers客户端" #. Tooltip #: ../server/gtk/main.c:839 msgid "Launch the Pioneers client" msgstr "å¯åЍPioneers客户端" #. ai chat toggle #: ../server/gtk/main.c:868 msgid "Enable chat" msgstr "å¯ç”¨èŠå¤©" #. Tooltip #: ../server/gtk/main.c:875 msgid "Enable chat messages" msgstr "å¯ç”¨èŠå¤©æ¶ˆæ¯" #. Button text #: ../server/gtk/main.c:884 msgid "Add Computer Player" msgstr "添加电脑玩家" #. Tooltip #: ../server/gtk/main.c:892 msgid "Add a computer player to the game" msgstr "添加一个电脑玩家到游æˆä¸­" #. Tooltip #: ../server/gtk/main.c:925 msgid "Messages from the server" msgstr "æ¥è‡ªæœåŠ¡å™¨çš„æ¶ˆæ¯" #: ../server/gtk/main.c:961 msgid "Game settings" msgstr "游æˆè®¾ç½®" #. server frame #: ../server/gtk/main.c:972 msgid "Server parameters" msgstr "æœåС噍傿•°" #: ../server/gtk/main.c:992 msgid "Running game" msgstr "æ¸¸æˆæ­£åœ¨è¿è¡Œ" #. player connected frame #: ../server/gtk/main.c:1008 msgid "Players connected" msgstr "已连接的玩家" #. ai frame #: ../server/gtk/main.c:1012 msgid "Computer players" msgstr "电脑玩家" #. message frame #: ../server/gtk/main.c:1024 msgid "Messages" msgstr "消æ¯" #. Caption of about box #: ../server/gtk/main.c:1150 #, fuzzy msgid "About the Pioneers Game Server" msgstr "Pioneersæ¸¸æˆæœåС噍" #. Wait for all players to disconnect, #. * then enable the UI #. #: ../server/gtk/main.c:1158 msgid "The game is over.\n" msgstr "游æˆå·²ç»“æŸã€‚\n" #. Long description in the commandline for server-gtk: help #. Long description in the commandline for server-console: help #: ../server/gtk/main.c:1212 ../server/main.c:194 msgid "- Host a game of Pioneers" msgstr "- Pioneers的一个游æˆä¸»æœº" #. Name in the titlebar of the server #: ../server/gtk/main.c:1236 ../server/gtk/pioneers-server-gtk.desktop.in.h:1 msgid "Pioneers Server" msgstr "PioneersæœåС噍" #: ../server/gtk/pioneers-server-gtk.desktop.in.h:2 msgid "Host a game of Pioneers" msgstr "一个Pioneers游æˆçš„主机" #: ../server/gtk/pioneers-server-gtk.desktop.in.h:3 msgid "game;board;server;host;Pioneers;Settlers;" msgstr "game;board;server;host;Pioneers;Settlers;" #. Commandline server-console: game-title #: ../server/main.c:80 msgid "Game title to use" msgstr "使用的游æˆåç§°" #. Commandline server-console: file #: ../server/main.c:83 msgid "Game file to use" msgstr "ä½¿ç”¨çš„æ¸¸æˆæ–‡ä»¶" #. Commandline server-console: port #: ../server/main.c:86 msgid "Port to listen on" msgstr "监å¬çš„端å£" #. Commandline server-console: players #: ../server/main.c:89 msgid "Override number of players" msgstr "é‡ç½®çŽ©å®¶æ•°ç›®" #. Commandline server-console: points #: ../server/main.c:92 msgid "Override number of points needed to win" msgstr "é‡ç½®èƒœåˆ©æ‰€éœ€çš„分数" #. Commandline server-console: seven-rule #: ../server/main.c:95 msgid "Override seven-rule handling" msgstr "é‡ç½®æ‰“7的规则处ç†" #. Commandline server-console: dice-deck #: ../server/main.c:98 msgid "Override dice-deck handling" msgstr "Override dice-deck handling" #. Commandline server-console: num-dice-decks #: ../server/main.c:101 msgid "Override num-dice-decks handling" msgstr "Override num-dice-decks handling" #. Commandline server-console: num-removed-dice-cards #: ../server/main.c:105 msgid "Override num-removed-dice-cards handling" msgstr "Override num-removed-dice-cards handling" #. Commandline server-console: terrain #: ../server/main.c:108 msgid "Override terrain type, 0=default 1=random" msgstr "é‡ç½®åœ°å½¢ç±»åž‹ï¼Œ0=默认 1=éšæœº" #. Commandline server-console: computer-players #: ../server/main.c:111 msgid "Add N computer players" msgstr "添加N个电脑玩家" #. Commandline server-console: register #: ../server/main.c:121 msgid "Register server with metaserver" msgstr "通过中转æœåŠ¡å™¨æ³¨å†ŒæœåС噍" #. Commandline server-console: metaserver #: ../server/main.c:124 msgid "Register at metaserver name (implies -r)" msgstr "ç”¨æ¥æ³¨å†Œçš„中转æœåС噍å字(相当于-r)" #. Commandline server-console: hostname #: ../server/main.c:128 msgid "Use this hostname when registering" msgstr "注册时使用这个主机å" #. Commandline server-console: auto-quit #: ../server/main.c:135 msgid "Quit after a player has won" msgstr "一个玩家胜利åŽé€€å‡º" #. Commandline server-console: empty-timeout #: ../server/main.c:138 msgid "Quit after N seconds with no players" msgstr "Nç§’åŽæ²¡æœ‰çŽ©å®¶åˆ™é€€å‡º" #. Commandline server-console: tournament #: ../server/main.c:141 msgid "Tournament mode, computer players added after N minutes" msgstr "比赛模å¼ï¼ŒNåˆ†é’ŸåŽæ·»åŠ ç”µè„‘çŽ©å®¶" #. Commandline server-console: admin-port #: ../server/main.c:145 msgid "Admin port to listen on" msgstr "用æ¥ç›‘å¬çš„管ç†ç«¯å£" #. Commandline server-console: admin-wait #: ../server/main.c:148 msgid "Don't start game immediately, wait for a command on admin port" msgstr "ä¸è¦ç«‹å³å¼€å§‹æ¸¸æˆï¼Œç­‰å¾…管ç†ç«¯å£æŽ¥æ”¶å‘½ä»¤" #. Commandline server-console: fixed-seating-order #: ../server/main.c:154 msgid "Give players numbers according to the order they enter the game" msgstr "æ ¹æ®çŽ©å®¶åŠ å…¥æ—¶çš„å‘½ä»¤æ¥å†³å®šçŽ©å®¶ç¼–å·" #. Commandline server-console: Short description of meta group #: ../server/main.c:200 msgid "Metaserver Options" msgstr "中转æœåС噍选项" #. Commandline server-console: Long description of meta group #: ../server/main.c:202 msgid "Options for the metaserver" msgstr "中转æœåС噍选项" #. Commandline server-console: Short description of misc group #: ../server/main.c:211 msgid "Miscellaneous Options" msgstr "æ‚项" #. Commandline server-console: Long description of misc group #: ../server/main.c:213 msgid "Miscellaneous options" msgstr "其他选项" #. server-console commandline error #: ../server/main.c:239 #, c-format msgid "Cannot set game title and filename at the same time\n" msgstr "ä¸èƒ½åŒæ—¶è®¾ç½®æ¸¸æˆå称和文件å\n" #. server-console commandline error #: ../server/main.c:256 #, c-format msgid "Cannot load the parameters for the game\n" msgstr "无法加载游æˆå‚æ•°\n" #. Error message #: ../server/main.c:305 ../server/main.c:324 #, c-format msgid "The network port (%s) for the admin interface is not available.\n" msgstr "管ç†ç•Œé¢çš„网络端å£ï¼ˆ%s)ä¸å¯ç”¨ã€‚\n" #: ../server/meta.c:58 msgid "The connection to the metaserver is lost.\n" msgstr "中转æœåŠ¡å™¨çš„è¿žæŽ¥ä¸¢å¤±ã€‚\n" #: ../server/meta.c:64 #, c-format msgid "An attempt to reconnect is scheduled in %u second.\n" msgid_plural "An attempt to reconnect is scheduled in %u seconds.\n" msgstr[0] "将在%uç§’åŽé‡è¯•连接。\n" #: ../server/meta.c:83 msgid "Attempting to reconnect to the metaserver.\n" msgstr "正在é‡è¯•连接到中转æœåŠ¡å™¨ã€‚\n" #: ../server/meta.c:311 #, c-format msgid "Register with the metaserver at %s.\n" msgstr "注册到中转æœåС噍%s。\n" #: ../server/meta.c:322 msgid "Unregister from the metaserver.\n" msgstr "从中转æœåС噍喿¶ˆæ³¨å†Œã€‚\n" #: ../server/player.c:142 msgid "chat too long" msgstr "èŠå¤©å†…容太长" #: ../server/player.c:159 msgid "name too long" msgstr "å字太长" #: ../server/player.c:191 msgid "ignoring unknown extension" msgstr "忽略未知扩展" #: ../server/player.c:228 ../server/player.c:298 msgid "The last player left, the tournament timer is reset." msgstr "最åŽä¸€ä¸ªçŽ©å®¶ç¦»å¼€äº†ï¼Œæ¯”èµ›è®¡æ—¶å™¨è¢«é‡ç½®ã€‚" #: ../server/player.c:262 ../server/player.c:643 msgid "No human players present. Bye." msgstr "没有出现人类玩家。ä¸çŽ©äº†ã€‚" #: ../server/player.c:269 msgid "Game starts, adding computer players." msgstr "游æˆå¼€å§‹ï¼Œæ·»åŠ ç”µè„‘çŽ©å®¶ã€‚" #: ../server/player.c:311 #, c-format msgid "The game starts in %s minutes." msgstr "游æˆå°†åœ¨%s分钟内开始。" #: ../server/player.c:312 #, c-format msgid "The game starts in %s minute." msgstr "游æˆå°†åœ¨ %s 分钟内开始。" #. Default name for the AI when the computer_names file #. * is not found or empty. #. #: ../server/player.c:370 ../server/player.c:376 msgid "Computer Player" msgstr "电脑玩家" #: ../server/player.c:450 #, c-format msgid "Unable to determine the hostname of the player: %s" msgstr "无法获å–玩家的主机å:%s" #. The game is over, don't accept new players #. Message to send to the client when the game is already over #. * when a connection is made. #: ../server/player.c:476 msgid "Sorry, game is over." msgstr "抱歉,游æˆå·²ç»“æŸã€‚" #: ../server/player.c:478 #, c-format msgid "Player from %s is refused: game is over\n" msgstr "æ¥è‡ª %s 的玩家被拒了:游æˆå·²ç»“æŸ\n" #: ../server/player.c:520 msgid "Name not changed: new name is already in use" msgstr "å字未修改:新å字已被使用" #: ../server/player.c:638 ../server/server.c:38 msgid "Was hanging around for too long without players... bye.\n" msgstr "长时间没有玩家过æ¥... ä¸çŽ©äº†ã€‚\n" #: ../server/player.c:723 msgid "The last human player left. Waiting for the return of a player." msgstr "最åŽä¸€ä¸ªäººç±»çŽ©å®¶ç¦»å¼€äº†ã€‚ç­‰å¾…ä¸€ä¸ªçŽ©å®¶å›žæ¥ã€‚" #: ../server/player.c:744 msgid "Resuming the game." msgstr "游æˆç»§ç»­ã€‚" #. %s is the name of the reconnecting player #: ../server/player.c:870 #, c-format msgid "%s has reconnected." msgstr "%s 釿–°è¿žæŽ¥ä¸Šäº†ã€‚" #: ../server/player.c:970 #, c-format msgid "Version mismatch: %s" msgstr "版本ä¸åŒ¹é…:%s" #: ../server/player.c:1007 msgid "This game will start soon." msgstr "游æˆå³å°†å¼€å§‹ã€‚" #. Server: preparing game #..... #: ../server/server.c:221 msgid "Preparing game" msgstr "准备游æˆ" #: ../server/turn.c:254 msgid "Island Discovery Bonus" msgstr "å‘现岛屿奖励" #: ../server/turn.c:255 msgid "Additional Island Bonus" msgstr "附加岛屿奖励" #: ../server/turn.c:386 msgid "Tried to assign resources to NULL player.\n" msgstr "试图将资æºç»™ä¸€ä¸ªä¸å­˜åœ¨çš„玩家。\n" #. Cheat mode has been activated #: ../server/turn.c:516 msgid "The dice roll has been determined by the administrator." msgstr "骰å­è¢«ç®¡ç†å‘˜å†…定了。" #~ msgid "Join the selected game" #~ msgstr "加入所选的游æˆ" #~ msgid "Don't join a public game" #~ msgstr "ä¸åŠ å…¥å…¬å¼€æ¸¸æˆ" #~ msgid "Create a new public game at the metaserver" #~ msgstr "在中转æœåŠ¡å™¨åˆ›å»ºä¸€ä¸ªæ–°çš„å…¬å¼€æ¸¸æˆ" #~ msgid "Refresh the list of games" #~ msgstr "刷新游æˆåˆ—表" #~ msgid "Version:" #~ msgstr "版本:" #~ msgid "Homepage:" #~ msgstr "主页:" #~ msgid "Authors:" #~ msgstr "作者:" #~ msgid "Pioneers is translated to by:\n" #~ msgstr "Pioneers 中文翻译者:\n" #~ msgid "Meta-server kicked us off\n" #~ msgstr "中转æœåŠ¡å™¨æŠŠæˆ‘ä»¬è¸¢å‡ºæ¥äº†\n" #~ msgid "" #~ "Note:\n" #~ "\tThe metaserver does not send information about the games.\n" #~ "\tPlease set appropriate values yourself." #~ msgstr "" #~ "Note:\n" #~ "\tThe metaserver does not send information about the games.\n" #~ "\tPlease set appropriate values yourself." #~ msgid "Error checking connect status: %s\n" #~ msgstr "Error checking connect status: %s\n" #~ msgid "Error connecting to host '%s': %s\n" #~ msgstr "Error connecting to host '%s': %s\n" #~ msgid "Error writing socket: %s\n" #~ msgstr "Error writing socket: %s\n" #~ msgid "Error creating socket: %s\n" #~ msgstr "Error creating socket: %s\n" #~ msgid "Error setting socket close-on-exec: %s\n" #~ msgstr "Error setting socket close-on-exec: %s\n" #~ msgid "Error setting socket non-blocking: %s\n" #~ msgstr "Error setting socket non-blocking: %s\n" #~ msgid "Cannot resolve %s port %s: %s\n" #~ msgstr "Cannot resolve %s port %s: %s\n" #~ msgid "Cannot resolve %s port %s: host not found\n" #~ msgstr "Cannot resolve %s port %s: host not found\n" #~ msgid "Error creating struct addrinfo: %s" #~ msgstr "Error creating struct addrinfo: %s" #~ msgid "Error creating listening socket: %s\n" #~ msgstr "Error creating listening socket: %s\n" #~ msgid "Error during listen on socket: %s\n" #~ msgstr "Error during listen on socket: %s\n" #~ msgid "Listening not yet supported on this platform." #~ msgstr "Listening not yet supported on this platform." #~ msgid "Error getting peer name: %s" #~ msgstr "Error getting peer name: %s" #~ msgid "Error resolving address: %s" #~ msgstr "Error resolving address: %s" #~ msgid "Net_get_peer_name not yet supported on this platform." #~ msgstr "Net_get_peer_name not yet supported on this platform." #~ msgid "Error accepting connection: %s" #~ msgstr "Error accepting connection: %s" #~ msgid "Admin port not available.\n" #~ msgstr "Admin port not available.\n" #~ msgid "Admin port is not set, cannot disable game start too\n" #~ msgstr "Admin port is not set, cannot disable game start too\n" #~ msgid "Viewer %d" #~ msgstr "观察者 %d" #~ msgid "viewer %d" #~ msgstr "观察者 %d" #~ msgid "I want" #~ msgstr "我è¦" #~ msgid "Give them" #~ msgstr "我æä¾›" #~ msgid "Viewer: " #~ msgstr "观察者:" #~ msgid "Number of AI Players" #~ msgstr "AI玩家数目" #~ msgid "The number of AI players" #~ msgstr "AI玩家数目" #~ msgid "Recent Games" #~ msgstr "最近游æˆ" #~ msgid "You may choose 1 resource" #~ msgstr "ä½ å¯ä»¥é€‰æ‹©ä¸€ä¸ªèµ„æº" #~ msgid "_Player name" #~ msgstr "玩家姓å(_P)" #~ msgid "The Pioneers Game" #~ msgstr "Pioneers游æˆ" #~ msgid "Select the ship to steal from" #~ msgstr "选择è¦å·çš„船" #~ msgid "Select the building to steal from" #~ msgstr "选择è¦å·çš„建筑" #~ msgid "Development Card" #~ msgstr "å‘展å¡" #~ msgid "Player Name:" #~ msgstr "玩家姓å:" #~ msgid "I Want" #~ msgstr "我è¦" #~ msgid "Interplayer Trading Allowed?" #~ msgstr "å…许玩家间交易?" #~ msgid "Trading allowed only before build/buy?" #~ msgstr "ä»…å…许在建筑/è´­ä¹°å‰äº¤æ˜“?" #~ msgid "Check Victory Only At End Of Turn?" #~ msgstr "仅在回åˆç»“æŸæ—¶æ£€æµ‹æ˜¯å¦èƒœåˆ©ï¼Ÿ" #~ msgid "Sevens Rule:" #~ msgstr "打7的规则:" #~ msgid "Use Pirate:" #~ msgstr "使用海盗:" #~ msgid "Number of Players" #~ msgstr "玩家数目" #~ msgid "Development Cards" #~ msgstr "å‘展å¡" #~ msgid "Save as..." #~ msgstr "å¦å­˜ä¸º..." #~ msgid "Pioneers Game Editor" #~ msgstr "Pioneers游æˆç¼–辑器" #~ msgid "_Change title" #~ msgstr "修改åç§°(_C)" #~ msgid "Random Turn Order" #~ msgstr "回åˆé¡ºåºéšæœºåŒ–" pioneers-15.5/po/gl.po0000644000175000017500000030624013252242740011577 00000000000000# Galician translation for Pioneers # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the Pioneers package. # Indalecio Freiría Santos , 2010. # msgid "" msgstr "" "Project-Id-Version: Pioneers 0.12.3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-03-14 16:51+0100\n" "PO-Revision-Date: 2010-04-05 08:14+0000\n" "Last-Translator: Indalecio Freiría Santos \n" "Language-Team: Galician \n" "Language: gl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2010-04-06 06:08+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Plural-Forms: nplurals=2; plural=(n!=1)\n" #. Commandline pioneersai: chromosome-file #: ../client/ai/ai.c:90 msgid "Chromosome File" msgstr "" #. Commandline pioneersai: server #: ../client/ai/ai.c:93 msgid "Server Host" msgstr "Servidor" #. Commandline pioneersai: port #: ../client/ai/ai.c:96 msgid "Server Port" msgstr "Porto do Servidor" #. Commandline pioneersai: name #: ../client/ai/ai.c:99 msgid "Computer name (mandatory)" msgstr "Nome do computador (requerido)" #. Commandline pioneersai: time #: ../client/ai/ai.c:102 msgid "Time to wait between turns (in milliseconds)" msgstr "Tempo de espera entre quendas (en milisegundos)" #. Commandline pioneersai: chat-free #: ../client/ai/ai.c:105 msgid "Stop computer player from talking" msgstr "Parar de falar co xogador do computador" #. Commandline pioneersai: algorithm #: ../client/ai/ai.c:108 msgid "Type of computer player" msgstr "Tipo de xogador do computador" #. Commandline option of ai: enable debug logging #. Commandline option of client: enable debug logging #. Commandline option of metaserver: enable debug logging #. Commandline option of server-gtk: enable debug logging #. Commandline option of server: enable debug logging #: ../client/ai/ai.c:111 ../client/gtk/offline.c:67 ../metaserver/main.c:631 #: ../server/gtk/main.c:1170 ../server/main.c:159 msgid "Enable debug messages" msgstr "Activar as mensaxes depuradas" #. Commandline option of ai: version #. Commandline option of client: version #. Commandline option of editor: version #. Commandline option of metaserver: version #. Commandline option of server-gtk: version #. Commandline option of server-console: version #: ../client/ai/ai.c:114 ../client/gtk/offline.c:70 ../editor/gtk/editor.c:1843 #: ../metaserver/main.c:637 ../server/gtk/main.c:1173 ../server/main.c:114 msgid "Show version information" msgstr "Amosar información da versión" #. Long description in the commandline for pioneersai: help #: ../client/ai/ai.c:125 msgid "- Computer player for Pioneers" msgstr "Xogador do computador para Pioneiros" #: ../client/ai/ai.c:137 ../client/gtk/offline.c:196 #: ../editor/gtk/editor.c:1888 ../metaserver/main.c:687 #: ../server/gtk/main.c:1223 ../server/main.c:226 #, c-format msgid "Pioneers version:" msgstr "Versión de Pioneiros:" #. ai commandline error #: ../client/ai/ai.c:160 #, c-format msgid "A name must be provided.\n" msgstr "Debes de prover un nome.\n" #: ../client/ai/ai.c:171 #, c-format msgid "Type of computer player: %s\n" msgstr "Tipo de xogador do computador:%s\n" #: ../client/ai/ai.c:202 msgid "The game is already full. I'm leaving." msgstr "O xogo xa está cheo. Voume." #. AI chat at the start of the turn #: ../client/ai/ai.c:230 msgid "Ok, let's go!" msgstr "De acordo, vamos!" #. AI chat at the start of the turn #: ../client/ai/ai.c:232 msgid "I'll beat you all now! ;)" msgstr "Agora vencereinos a todos" #. AI chat at the start of the turn #: ../client/ai/ai.c:234 msgid "Now for another try..." msgstr "Intentalo outra vez..." #. AI chat when one resource is received #: ../client/ai/ai.c:239 msgid "At least I get something..." msgstr "Polo menos obtiven algo" #. AI chat when one resource is received #: ../client/ai/ai.c:241 msgid "One is better than none..." msgstr "Un é mellor que nada..." #. AI chat when more than one resource is received #: ../client/ai/ai.c:246 msgid "Wow!" msgstr "Wow!" #. AI chat when more than one resource is received #: ../client/ai/ai.c:248 msgid "Ey, I'm becoming rich ;)" msgstr "Ei, estoume enriquecendo ;)" #. AI chat when more than one resource is received #: ../client/ai/ai.c:250 msgid "This is really a good year!" msgstr "Este é realmente un bo ano!" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:255 msgid "You really don't deserve that much!" msgstr "Realmente non mereces tanto!" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:257 msgid "You don't know what to do with that many resources ;)" msgstr "Non sabes que facer con tantos recursos ;)" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:259 msgid "Ey, wait for my robber and lose all this again!" msgstr "Ei, espera ao meu ladrón e perde todo de novo!" #. AI chat when it moves the robber #: ../client/ai/ai.c:264 msgid "Hehe!" msgstr "Jeje!" #. AI chat when it moves the robber #: ../client/ai/ai.c:266 msgid "Go, robber, go!" msgstr "Vai ladrón, vai!" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:271 msgid "You bastard!" msgstr "Cabrón!" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:273 msgid "Can't you move that robber somewhere else?!" msgstr "Non podes mover ese ladrón a outra parte?" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:275 msgid "Why always me??" msgstr "Por que sempre eu?" #. AI chat when it must discard resources #: ../client/ai/ai.c:280 msgid "Oh no!" msgstr "Non!" #. AI chat when it must discard resources #: ../client/ai/ai.c:282 msgid "Grrr!" msgstr "Grr!" #. AI chat when it must discard resources #: ../client/ai/ai.c:284 msgid "Who the hell rolled that 7??" msgstr "Quen demo tirou ese 7?" #. AI chat when it must discard resources #: ../client/ai/ai.c:286 msgid "Why always me?!?" msgstr "Por que sempre eu?" #. AI chat when other players must discard #: ../client/ai/ai.c:291 msgid "Say good bye to your cards... :)" msgstr "Dille adeus ás túas cartas... :)" #. AI chat when other players must discard #: ../client/ai/ai.c:293 msgid "*evilgrin*" msgstr "*Sorriso maligno*" #. AI chat when other players must discard #: ../client/ai/ai.c:295 msgid "/me says farewell to your cards ;)" msgstr "/me adeus ás túas cartas ;)" #. AI chat when other players must discard #: ../client/ai/ai.c:297 msgid "That's the price for being rich... :)" msgstr "Ese é o prezo de ser rico... :)" #. AI chat when someone steals from it #: ../client/ai/ai.c:302 msgid "Ey! Where's that card gone?" msgstr "Ei!, a onde foi esa carta?" #. AI chat when someone steals from it #: ../client/ai/ai.c:304 msgid "Thieves! Thieves!!" msgstr "Ladrón, ladrón!" #. AI chat when someone steals from it #: ../client/ai/ai.c:306 msgid "Wait for my revenge..." msgstr "Espera polo meu desquite..." #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:311 msgid "Oh no :(" msgstr "Non :(" #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:313 msgid "Must this happen NOW??" msgstr "Tiña que pasar agora?" #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:315 msgid "Args" msgstr "Args" #. AI chat when it has the largest army #: ../client/ai/ai.c:320 msgid "Hehe, my soldiers rule!" msgstr "Je je, mandan os meus soldados" #. AI chat when another player that the largest army #: ../client/ai/ai.c:325 msgid "First robbing us, then grabbing the points..." msgstr "Primeiro róubasnos, e logo cóllesnos os puntos..." #. AI chat when it has the longest road #: ../client/ai/ai.c:330 msgid "See that road!" msgstr "Mira ese camiño!" #. AI chat when another player has the longest road #: ../client/ai/ai.c:335 msgid "Pf, you won't win with roads alone..." msgstr "Pff, non gañarás só con camiños..." #: ../client/ai/ai.c:434 #, c-format msgid "Received error from server: %s. Quitting\n" msgstr "Erro recibido do servidor: %s. Saíndo\n" #. AI chat when it wins #: ../client/ai/ai.c:446 ../client/ai/genetic.c:2766 msgid "Yippie!" msgstr "Viva!" #. AI chat when another player wins #: ../client/ai/ai.c:449 ../client/ai/genetic.c:2777 msgid "My congratulations" msgstr "Os meus parabéns" #: ../client/ai/genetic.c:1277 ../client/ai/greedy.c:961 msgid "No settlements in stock to use for setup" msgstr "Non hai asentamentos nas reservas para usar na montaxe" #: ../client/ai/genetic.c:1284 ../client/ai/greedy.c:968 msgid "There is no place to setup a settlement" msgstr "Non hai sitio para instalar un asentamento" #: ../client/ai/genetic.c:1311 ../client/ai/greedy.c:992 msgid "No roads in stock to use for setup" msgstr "Non hai camiños nas reservas para usar na montaxe" #: ../client/ai/genetic.c:1329 ../client/ai/greedy.c:1009 msgid "There is no place to setup a road" msgstr "Non hai sitio para instalar un camiño" #: ../client/ai/genetic.c:2651 ../client/ai/greedy.c:1784 msgid "Rejecting trade.\n" msgstr "Rexeitando o negocio.\n" #. Translators: don't translate '/help' #: ../client/ai/lobbybot.c:80 msgid "" "Hello, welcome to the lobby. I am a simple robot. Type '/help' in the chat " "to see the list of commands I know." msgstr "" "Ola, benvido ao salón. Son un simple robot. Escriba '/help' na sala de " "conversa para ver a lista de ordes que coñezo." #. Translators: don't translate '/help' #: ../client/ai/lobbybot.c:107 msgid "'/help' shows this message again" msgstr "'/help' amosa esta mensaxe de novo" #. Translators: don't translate '/why' #: ../client/ai/lobbybot.c:110 msgid "'/why' explains the purpose of this strange board layout" msgstr "'/why' explica o propósito desta estraña presentación do taboleiro" #. Translators: don't translate '/news' #: ../client/ai/lobbybot.c:113 msgid "'/news' tells the last released version" msgstr "'/news' dá cal é a ultima versión que saíu" #. AI chat that explains '/why' #: ../client/ai/lobbybot.c:119 msgid "" "This board is not intended to be a game that can be played. Instead, players " "can find eachother here, and decide which board they want to play. Then, one " "of the players will host the proposed game by starting a server, and " "registers it at the metaserver. The other players can subsequently " "disconnect from the lobby, and enter that game." msgstr "" "Este taboleiro non pretende ser só un xogo que poida ser xogado. En lugar " "diso, os xogadores pódense atopar aquí e decidir que taboleiro queren usar. " "Entón, un dos xogadores será o anfitrión do xogo proposto iniciando un " "servidor e rexistrándoo no Meta-servidor. Os outros xogadores poden " "seguidamente saír do salón e entrar ao xogo." #: ../client/ai/lobbybot.c:130 msgid "The last released version of Pioneers is" msgstr "A versión de Pioneiros máis recente é" #. The lobbybot leaves when a game is starting #: ../client/ai/lobbybot.c:146 msgid "The game is starting. I'm not needed anymore. Goodbye." msgstr "O xogo está comezando. Non me precisan máis. Adeus." #: ../client/common/client.c:105 msgid "Waiting" msgstr "Agardando" #: ../client/common/client.c:107 msgid "Idle" msgstr "Inactivo" #: ../client/common/client.c:532 msgid "We have been kicked out of the game.\n" msgstr "Fomos expulsados do xogo.\n" #. Network status: offline #: ../client/common/client.c:535 ../client/common/client.c:990 #: ../client/gtk/gui.c:1532 msgid "Offline" msgstr "Sen conexión" #: ../client/common/client.c:556 #, c-format msgid "Error (%s): %s\n" msgstr "Erro(%s): %s\n" #: ../client/common/client.c:565 ../client/common/client.c:576 #, c-format msgid "Notice: %s\n" msgstr "Noticia: %s\n" #: ../client/common/client.c:693 #, c-format msgid "%s does not receive any %s, because the bank is empty.\n" msgstr "%s non recibe %s, porque o banco está baleiro.\n" #: ../client/common/client.c:706 #, c-format msgid "%s only receives %s, because the bank didn't have any more.\n" msgstr "%s só recibe %s, porque o banco non ten máis.\n" #: ../client/common/client.c:716 #, c-format msgid "%s receives %s.\n" msgstr "%s recibe %s.\n" #. Year of Plenty #: ../client/common/client.c:724 ../client/common/client.c:2663 #, c-format msgid "%s takes %s.\n" msgstr "%s toma a %s.\n" #: ../client/common/client.c:729 #, c-format msgid "%s spent %s.\n" msgstr "%s gasta %s.\n" #: ../client/common/client.c:735 #, c-format msgid "%s is refunded %s.\n" msgstr "Reembolsase %2s a %1s.\n" #. %s = Player name #: ../client/common/client.c:753 #, c-format msgid "%s shuffled the dice deck.\n" msgstr "" #: ../client/common/client.c:772 #, c-format msgid "%s discarded %s.\n" msgstr "%s descartou %s.\n" #: ../client/common/client.c:846 #, c-format msgid "%s has won the game with %d victory points!\n" msgstr "%s gañou con %d puntos!\n" #: ../client/common/client.c:945 msgid "Loading" msgstr "Cargando" #: ../client/common/client.c:991 msgid "Version mismatch." msgstr "Versión incompatíbel." #: ../client/common/client.c:993 msgid "Version mismatch. Please make sure client and server are up to date.\n" msgstr "" "Versión é incompatíbel, Asegúrese de que o cliente e o servidor están " "actualizados.\n" #: ../client/common/client.c:1413 msgid "Build two settlements, each with a connecting" msgstr "Constrúa dous asentamentos, cada un cunha conexión" #: ../client/common/client.c:1416 msgid "Build a settlement with a connecting" msgstr "Constrúa un asentamento cunha conexión" #: ../client/common/client.c:1419 msgid "road" msgstr "camiño" #: ../client/common/client.c:1421 msgid "bridge" msgstr "ponte" #: ../client/common/client.c:1423 msgid "ship" msgstr "barco" #: ../client/common/client.c:1430 msgid " or" msgstr " ou" #: ../client/common/client.c:1494 msgid "Waiting for your turn." msgstr "Esperando quenda." #: ../client/common/client.c:1546 ../client/gtk/interface.c:784 msgid "Select the building to steal from." msgstr "Elixe o edificio que queres roubar." #: ../client/common/client.c:1568 ../client/gtk/interface.c:774 msgid "Select the ship to steal from." msgstr "Elixe o barco queres roubar" #: ../client/common/client.c:1652 ../client/gtk/interface.c:816 msgid "Place the robber." msgstr "Coloca o ladrón." #: ../client/common/client.c:1702 msgid "Finish the road building action." msgstr "Remata a acción de construción do camiño" #: ../client/common/client.c:1704 msgid "Build one road segment." msgstr "Construír un tramo do camiño." #: ../client/common/client.c:1706 msgid "Build two road segments." msgstr "Construír dous tramos do camiño" #. Notification #: ../client/common/client.c:1979 ../client/common/client.c:2073 #: ../client/gtk/interface.c:432 msgid "It is your turn." msgstr "Tócache." #: ../client/common/client.c:2167 #, c-format msgid "Sorry, %s available.\n" msgstr "Sintoo, %s dispoñíbel.\n" #: ../client/common/client.c:2481 msgid "The game is over." msgstr "Rematou o xogo." #. This development card is unique #: ../client/common/develop.c:67 #, c-format msgid "You bought the %s development card.\n" msgstr "Mercaches a carta de desenvolvemento «%s».\n" #. This development card is not unique #: ../client/common/develop.c:73 #, c-format msgid "You bought a %s development card.\n" msgstr "Mercaches unha carta de desenvolvemento «%s».\n" #: ../client/common/develop.c:103 #, c-format msgid "%s bought a development card.\n" msgstr "%s mercou unha carta de desenvolvemento.\n" #: ../client/common/develop.c:121 #, c-format msgid "%s played the %s development card.\n" msgstr "%s usou a carta de desenvolvemento «%s».\n" #: ../client/common/develop.c:126 #, c-format msgid "%s played a %s development card.\n" msgstr "%s usou unha carta de desenvolvemento «%s».\n" #: ../client/common/develop.c:138 msgid "You have run out of road segments.\n" msgstr "Gastaches todos os tramos para o camiño.\n" #. I get the cards #. $1=resources, $2=player that loses resources #: ../client/common/develop.c:179 #, c-format msgid "You get %s from %s.\n" msgstr "Recibes %s de %s.\n" #. I lose the cards #. $1=player that steals, $2=resources #: ../client/common/develop.c:185 #, c-format msgid "%s took %s from you.\n" msgstr "%s quítache %s.\n" #: ../client/common/develop.c:192 #, c-format msgid "%s took %s from %s.\n" msgstr "%s toma %s de %s.\n" #: ../client/common/player.c:125 ../server/player.c:567 #, c-format msgid "Spectator %d" msgstr "" #: ../client/common/player.c:128 #, c-format msgid "spectator %d" msgstr "" #: ../client/common/player.c:137 ../server/player.c:570 #, c-format msgid "Player %d" msgstr "Xogador %d" #: ../client/common/player.c:139 #, c-format msgid "player %d" msgstr "Xogador %d" #: ../client/common/player.c:216 #, fuzzy, c-format msgid "New spectator: %s.\n" msgstr "Novo visualizador: %s.\n" #: ../client/common/player.c:219 ../client/common/player.c:235 #, c-format msgid "%s is now %s.\n" msgstr "%s é agora %s.\n" #: ../client/common/player.c:232 #, c-format msgid "Player %d is now %s.\n" msgstr "O xogador %d chámase agora %s.\n" #: ../client/common/player.c:269 #, c-format msgid "%s has quit.\n" msgstr "%s foise.\n" #: ../client/common/player.c:278 msgid "There is no largest army.\n" msgstr "Non hai un exército máis grande.\n" #: ../client/common/player.c:281 #, c-format msgid "%s has the largest army.\n" msgstr "%s ten o exército máis grande.\n" #: ../client/common/player.c:302 msgid "There is no longest road.\n" msgstr "Non hai un camiño máis longo.\n" #: ../client/common/player.c:305 #, c-format msgid "%s has the longest road.\n" msgstr "%s ten o camiño máis longo.\n" #: ../client/common/player.c:326 #, c-format msgid "Waiting for %s." msgstr "Esperando a %s." #. We are not in on the action #. someone stole a resource from someone else #: ../client/common/player.c:354 #, c-format msgid "%s stole a resource from %s.\n" msgstr "%s róuballe unha carta de recurso a %s.\n" #. $1=resource, $2=player name #: ../client/common/player.c:365 #, c-format msgid "You stole %s from %s.\n" msgstr "Roubas %s a %s.\n" #. $1=player name, $2=resource #: ../client/common/player.c:372 #, c-format msgid "%s stole %s from you.\n" msgstr "%s róubache %s.\n" #: ../client/common/player.c:406 #, c-format msgid "%s gave %s nothing!?\n" msgstr "¿¡%s non da nada a %s!?\n" #. $1=giving player, $2=receiving player, $3=resources #: ../client/common/player.c:413 ../client/common/player.c:423 #, c-format msgid "%s gave %s %s for free.\n" msgstr "%s da %s a %s gratis.\n" #: ../client/common/player.c:431 #, c-format msgid "%s gave %s %s in exchange for %s.\n" msgstr "%1s dalle %3s a %2s a cambio de %4s.\n" #: ../client/common/player.c:462 #, c-format msgid "%s exchanged %s for %s.\n" msgstr "%s cambia %s por %s.\n" #: ../client/common/player.c:482 #, c-format msgid "%s built a road.\n" msgstr "%s constrúe un camiño.\n" #: ../client/common/player.c:494 #, c-format msgid "%s built a ship.\n" msgstr "%s constrúe un barco.\n" #: ../client/common/player.c:507 #, c-format msgid "%s built a settlement.\n" msgstr "%s crea un pobo.\n" #: ../client/common/player.c:526 #, c-format msgid "%s built a city.\n" msgstr "%s crea unha cidade.\n" #: ../client/common/player.c:540 #, c-format msgid "%s built a city wall.\n" msgstr "%s amurallou unha cidade.\n" #. Error message #: ../client/common/player.c:551 #, c-format msgid "player_build_add called with BUILD_NONE for user %s\n" msgstr "Chamouse player_build_add con BUILD_NONE para o usuario %s\n" #: ../client/common/player.c:561 #, c-format msgid "%s built a bridge.\n" msgstr "%s constrúe unha ponte.\n" #: ../client/common/player.c:587 #, c-format msgid "%s removed a road.\n" msgstr "%s quita un camiño.\n" #: ../client/common/player.c:597 #, c-format msgid "%s removed a ship.\n" msgstr "%s quita un barco.\n" #: ../client/common/player.c:607 #, c-format msgid "%s removed a settlement.\n" msgstr "%s quita un pobo.\n" #: ../client/common/player.c:618 #, c-format msgid "%s removed a city.\n" msgstr "%s quita unha cidade.\n" #: ../client/common/player.c:632 #, c-format msgid "%s removed a city wall.\n" msgstr "%s quitou a muralla a unha cidade.\n" #. Error message #: ../client/common/player.c:642 #, c-format msgid "player_build_remove called with BUILD_NONE for user %s\n" msgstr "Chamouse player_build_remove con BUILD_NONE para o usuario %s\n" #: ../client/common/player.c:651 #, c-format msgid "%s removed a bridge.\n" msgstr "%s quita unha ponte.\n" #: ../client/common/player.c:682 #, c-format msgid "%s has canceled a ship's movement.\n" msgstr "%s cancela un movemento de barco.\n" #: ../client/common/player.c:685 #, c-format msgid "%s moved a ship.\n" msgstr "%s move un barco.\n" #. tell the user that someone got something #: ../client/common/player.c:705 #, c-format msgid "%s received %s.\n" msgstr "%s recibe %s.\n" #: ../client/common/player.c:724 msgid "server asks to lose invalid point.\n" msgstr "O servidor solicita perder punto invalido.\n" #. tell the user the point is lost #: ../client/common/player.c:730 #, c-format msgid "%s lost %s.\n" msgstr "%s gasta %s.\n" #: ../client/common/player.c:753 msgid "server asks to move invalid point.\n" msgstr "O servidor solicita mover punto inválido.\n" #. tell the user someone (1) lost something (2) to someone else (3) #: ../client/common/player.c:760 #, c-format msgid "%s lost %s to %s.\n" msgstr "%s perde %s a %s.\n" #: ../client/common/resource.c:35 msgid "brick" msgstr "ladrillo" #: ../client/common/resource.c:35 msgid "Brick" msgstr "Ladrillo" #: ../client/common/resource.c:36 msgid "grain" msgstr "cereais" #: ../client/common/resource.c:36 msgid "Grain" msgstr "cereais" #: ../client/common/resource.c:37 msgid "ore" msgstr "minerais" #: ../client/common/resource.c:37 msgid "Ore" msgstr "Minerais" #: ../client/common/resource.c:38 msgid "wool" msgstr "la" #: ../client/common/resource.c:38 msgid "Wool" msgstr "La" #: ../client/common/resource.c:39 msgid "lumber" msgstr "madeira" #: ../client/common/resource.c:39 msgid "Lumber" msgstr "Madeira" #: ../client/common/resource.c:40 msgid "no resource (bug)" msgstr "ningún recurso (erro)" #: ../client/common/resource.c:40 msgid "No resource (bug)" msgstr "Ningún recurso (erro)" #: ../client/common/resource.c:41 msgid "any resource (bug)" msgstr "calquera recurso (erro)" #: ../client/common/resource.c:41 msgid "Any resource (bug)" msgstr "Calquera recurso (erro)" #: ../client/common/resource.c:42 msgid "gold" msgstr "ouro" #: ../client/common/resource.c:42 ../client/gtk/legend.c:41 msgid "Gold" msgstr "Ouro" #: ../client/common/resource.c:47 msgid "a brick card" msgstr "unha carta de ladrillo" #: ../client/common/resource.c:47 #, c-format msgid "%d brick cards" msgstr "%d cartas de ladrillo" #: ../client/common/resource.c:48 msgid "a grain card" msgstr "unha carta de cereais" #: ../client/common/resource.c:48 #, c-format msgid "%d grain cards" msgstr "%d cartas de cereais" #: ../client/common/resource.c:49 msgid "an ore card" msgstr "unha carta de minerais" #: ../client/common/resource.c:49 #, c-format msgid "%d ore cards" msgstr "%d cartas de minerais" #: ../client/common/resource.c:50 msgid "a wool card" msgstr "unha carta de la" #: ../client/common/resource.c:50 #, c-format msgid "%d wool cards" msgstr "%d cartas de la" #: ../client/common/resource.c:51 msgid "a lumber card" msgstr "unha carta de madeira" #: ../client/common/resource.c:51 #, c-format msgid "%d lumber cards" msgstr "%d cartas de madeira" #: ../client/common/resource.c:139 ../client/common/resource.c:225 msgid "nothing" msgstr "ningún" #. Construct "A, B and C" for resources #: ../client/common/resource.c:166 #, c-format msgid "%s and %s" msgstr "%s e %s" #. Construct "A, B and C" for resources #: ../client/common/resource.c:170 #, c-format msgid "%s, %s" msgstr "%s, %s" #: ../client/common/robber.c:62 #, c-format msgid "%s has undone the robber movement.\n" msgstr "%s desfixo o movemento dos ladróns.\n" #: ../client/common/robber.c:65 #, c-format msgid "%s moved the robber.\n" msgstr "%s move o ladrón.\n" #: ../client/common/robber.c:75 #, c-format msgid "%s has undone the pirate movement.\n" msgstr "%s desfixo o movemento pirata.\n" #: ../client/common/robber.c:78 #, c-format msgid "%s moved the pirate.\n" msgstr "%s move o pirata.\n" #: ../client/common/robber.c:85 #, c-format msgid "%s must move the robber." msgstr "%s debe mover o ladrón." #: ../client/common/setup.c:146 #, c-format msgid "Setup for %s.\n" msgstr "Instalación para %s.\n" #: ../client/common/setup.c:158 #, c-format msgid "Double setup for %s.\n" msgstr "Dobre instalación para %s.\n" #: ../client/common/turn.c:37 #, c-format msgid "%s rolled %d.\n" msgstr "%s tirou %d.\n" #: ../client/common/turn.c:50 #, c-format msgid "Begin turn %d for %s.\n" msgstr "Comeza a quenda %d para %s.\n" #: ../client/gtk/avahi-browser.c:83 msgid "Select an automatically discovered game" msgstr "" #. $1=Game title, $2=version, $3=host_name, $4=port #: ../client/gtk/avahi-browser.c:132 #, c-format msgid "%s (%s) on %s:%s" msgstr "" #. Label text #: ../client/gtk/chat.c:73 msgid "Chat" msgstr "Falar" #: ../client/gtk/chat.c:232 msgid "Beeper test.\n" msgstr "Proba de pitado.\n" #: ../client/gtk/chat.c:235 #, c-format msgid "%s beeped you.\n" msgstr "%s pítache.\n" #: ../client/gtk/chat.c:239 #, c-format msgid "You beeped %s.\n" msgstr "Pitaches a %s.\n" #: ../client/gtk/chat.c:245 #, c-format msgid "You could not beep %s.\n" msgstr "Non puideches pitar a %s.\n" #: ../client/gtk/chat.c:287 msgid " said: " msgstr " di: " #: ../client/gtk/connect.c:286 #, c-format msgid "Metaserver at %s, port %s" msgstr "Metaservidor en %s, porto %s" #: ../client/gtk/connect.c:296 msgid "Finished.\n" msgstr "Rematado.\n" #: ../client/gtk/connect.c:311 ../client/gtk/connect.c:389 #: ../client/gtk/connect.c:408 ../client/gtk/connect.c:979 msgid "The metaserver is not available anymore.\n" msgstr "" #: ../client/gtk/connect.c:322 ../client/gtk/connect.c:443 #: ../client/gtk/connect.c:770 msgid "The metaserver closed the connection unexpectedly.\n" msgstr "" #: ../client/gtk/connect.c:380 msgid "Receiving game names from the metaserver.\n" msgstr "Recibindo nomes do xogo dende o metaservidor.\n" #: ../client/gtk/connect.c:422 #, fuzzy, c-format msgid "New game server requested on %s port %s.\n" msgstr "Novo servidor solicitado en %s porto %s.\n" #: ../client/gtk/connect.c:432 msgid "Incomplete information about the new game server received.\n" msgstr "" #: ../client/gtk/connect.c:486 ../client/gtk/connect.c:492 ../server/meta.c:239 #, c-format msgid "Unknown message from the metaserver: %s\n" msgstr "Mensaxe descoñecida do metaservidor: %s\n" #: ../client/gtk/connect.c:565 ../server/meta.c:178 #, c-format msgid "Receiving data from inactive session: %s\n" msgstr "" #: ../client/gtk/connect.c:577 ../server/meta.c:192 #, fuzzy msgid "Too many metaserver redirects.\n" msgstr "Demasiada redireccións do metaservidor\n" #: ../client/gtk/connect.c:606 ../server/meta.c:208 #, c-format msgid "Bad redirect line: %s\n" msgstr "Mala liña de redireccionamento: %s\n" #: ../client/gtk/connect.c:631 #, c-format msgid "The metaserver is too old to create servers (version %d.%d)\n" msgstr "Metaservidor moi vello para crear servidores(versión %d.%d)\n" #: ../client/gtk/connect.c:670 ../client/gtk/connect.c:749 #: ../client/gtk/connect.c:755 #, fuzzy, c-format msgid "Unexpected data from the metaserver: %s\n" msgstr "Mensaxe descoñecida do metaservidor: %s\n" #. Sevens rule: normal #: ../client/gtk/connect.c:701 ../client/gtk/settingscreen.c:181 #: ../common/gtk/game-rules.c:89 msgid "Normal" msgstr "Normal" #. Sevens rule: reroll on 1st 2 turns #: ../client/gtk/connect.c:706 ../client/gtk/settingscreen.c:183 #: ../common/gtk/game-rules.c:95 msgid "Reroll on 1st 2 turns" msgstr "Volver a tirar durante as dúas primeiras quendas" #. Sevens rule: reroll all 7s #: ../client/gtk/connect.c:710 ../client/gtk/settingscreen.c:185 #: ../common/gtk/game-rules.c:102 msgid "Reroll all 7s" msgstr "Tirar de novo todos os setes" #: ../client/gtk/connect.c:724 msgid "Default" msgstr "Predefinido" #: ../client/gtk/connect.c:727 msgid "Random" msgstr "Aleatorio" #: ../client/gtk/connect.c:819 ../server/meta.c:299 #, fuzzy, c-format msgid "Redirected to the metaserver at %s.\n" msgstr "Desviado ao metaservidor en %s, porto %s\n" #: ../client/gtk/connect.c:824 ../server/meta.c:302 #, fuzzy, c-format msgid "Redirected to the metaserver at %s, port %s.\n" msgstr "Desviado ao metaservidor en %s, porto %s\n" #: ../client/gtk/connect.c:831 msgid "Receiving a list of Pioneers servers from the metaserver.\n" msgstr "Recibindo unha lista de servidores Pioneiros do meta-servidor.\n" #. Label #: ../client/gtk/connect.c:914 #, fuzzy msgid "Number of computer players" msgstr "Tipo de xogador do computador" #. Tooltip #: ../client/gtk/connect.c:935 #, fuzzy msgid "The number of computer players" msgstr "Número de xogadores" #. Canceled retrieving information #. * from the metaserver #: ../client/gtk/connect.c:957 ../client/gtk/connect.c:992 #: ../client/gtk/connect.c:1133 msgid "Canceled.\n" msgstr "" #: ../client/gtk/connect.c:960 #, fuzzy msgid "Requesting new game server.\n" msgstr "Pidindo un novo servidor de xogo\n" #: ../client/gtk/connect.c:1015 ../server/gtk/main.c:370 ../server/server.c:123 #, fuzzy, c-format msgid "Error starting %s: %s\n" msgstr "Erro ao empezar %s: %s" #. Dialog caption #: ../client/gtk/connect.c:1037 #, fuzzy msgid "Create a Public Game" msgstr "Crear un xogo público" #. Button text #: ../client/gtk/connect.c:1040 ../client/gtk/connect.c:1191 #: ../client/gtk/connect.c:1440 ../client/gtk/connect.c:1744 #: ../client/gtk/name.c:147 ../editor/gtk/editor.c:1521 #: ../editor/gtk/editor.c:1562 ../editor/gtk/editor.c:1611 msgid "_Cancel" msgstr "" #. Button text #: ../client/gtk/connect.c:1042 #, fuzzy msgid "C_reate" msgstr "Crear un xogo" #. Dialog caption #: ../client/gtk/connect.c:1182 msgid "Join a Public Game" msgstr "Unir a un xogo público" #. Button text #: ../client/gtk/connect.c:1185 msgid "_Refresh" msgstr "" #. Button text #: ../client/gtk/connect.c:1188 msgid "_New Remote Game" msgstr "_Novo xogo remoto" #. Button text #: ../client/gtk/connect.c:1194 ../client/gtk/connect.c:1748 msgid "_Join" msgstr "" #. Tooltip #: ../client/gtk/connect.c:1237 msgid "Select a game to join" msgstr "Seleccionar un xogo para unirse" #. Column name #: ../client/gtk/connect.c:1241 msgid "Map Name" msgstr "Nome do mapa" #. Tooltip for column 'Map Name' #: ../client/gtk/connect.c:1249 msgid "Name of the game" msgstr "Nome do xogo" #. Column name #: ../client/gtk/connect.c:1255 msgid "Curr" msgstr "Corr." #. Tooltip for column 'Curr' #: ../client/gtk/connect.c:1262 msgid "Number of players in the game" msgstr "Número de xogadores na partida" #. Column name #: ../client/gtk/connect.c:1268 msgid "Max" msgstr "Máximo" #. Tooltip for column 'Max' #: ../client/gtk/connect.c:1275 msgid "Maximum players for the game" msgstr "Máximo de xogadores para a partida" #. Column name #: ../client/gtk/connect.c:1279 msgid "Terrain" msgstr "Terreo" #. Tooltip for column 'Terrain' #: ../client/gtk/connect.c:1287 msgid "Random of default terrain" msgstr "Terreo predeterminado aleatorio" #. Column name #: ../client/gtk/connect.c:1293 msgid "Vic. Points" msgstr "Puntos de Vic." #. Tooltip for column 'Vic. Points' #: ../client/gtk/connect.c:1300 msgid "Points needed to win" msgstr "Puntos precisados para gañar" #. Column name #: ../client/gtk/connect.c:1304 msgid "Sevens Rule" msgstr "Regra dos setes" #. Tooltip for column 'Sevens Rule' #. Label #: ../client/gtk/connect.c:1312 ../common/gtk/game-rules.c:81 msgid "Sevens rule" msgstr "Regra dos setes" #. Column name #: ../client/gtk/connect.c:1316 msgid "Host" msgstr "Servidor" #. Tooltip for column 'Host' #: ../client/gtk/connect.c:1325 msgid "Host of the game" msgstr "Servidor do xogo" #. Column name #: ../client/gtk/connect.c:1331 msgid "Port" msgstr "Porto" #. Tooltip for column 'Port' #: ../client/gtk/connect.c:1339 #, fuzzy msgid "Port of the game" msgstr "Porto do xogo" #. Column name #: ../client/gtk/connect.c:1343 msgid "Version" msgstr "Versión" #. Tooltip for column 'Version' #: ../client/gtk/connect.c:1351 msgid "Version of the host" msgstr "Versión do servidor" #. Dialog caption #: ../client/gtk/connect.c:1436 msgid "Start a New Game" msgstr "Comezar un xogo novo" #. Label #. Commandline option of client: name of the player #: ../client/gtk/connect.c:1464 ../client/gtk/offline.c:57 msgid "Player name" msgstr "Nome de xogador" #. Tooltip #: ../client/gtk/connect.c:1480 msgid "Enter your name" msgstr "Insire o teu nome de xogador" #. Check button #. Role of the player: spectator #: ../client/gtk/connect.c:1483 ../server/gtk/main.c:682 msgid "Spectator" msgstr "" #: ../client/gtk/connect.c:1493 #, fuzzy msgid "Check if you want to be a spectator" msgstr "Queres ser un espectador?" #. Label #: ../client/gtk/connect.c:1504 msgid "Avahi" msgstr "" #. Button #: ../client/gtk/connect.c:1511 msgid "Join" msgstr "" #. Tooltip for button Join #: ../client/gtk/connect.c:1515 msgid "Join an automatically discovered game" msgstr "" #. Label #. metaserver label #: ../client/gtk/connect.c:1542 ../server/gtk/main.c:593 msgid "Metaserver" msgstr "Metaservidor" #. Button #: ../client/gtk/connect.c:1564 msgid "Join Public Game" msgstr "Unirse a un xogo público" #. Tooltip #: ../client/gtk/connect.c:1570 msgid "Join a public game" msgstr "Unir a un xogo público" #. Button #: ../client/gtk/connect.c:1575 msgid "Create Game" msgstr "Crear un xogo" #. Tooltip #: ../client/gtk/connect.c:1579 msgid "Create a game" msgstr "Crear un xogo" #. Button #: ../client/gtk/connect.c:1588 msgid "Join Private Game" msgstr "Unirse a un xogo privado" #. Tooltip #. Dialog caption #: ../client/gtk/connect.c:1592 ../client/gtk/connect.c:1737 msgid "Join a private game" msgstr "Unirse a un xogo privado" #. Label #. Commandline option of client: hostname of the server #: ../client/gtk/connect.c:1777 ../client/gtk/offline.c:51 msgid "Server host" msgstr "Servidor" #. Tooltip #: ../client/gtk/connect.c:1791 msgid "Name of the host of the game" msgstr "Nome do servidor do xogo" #. Label #. Commandline option of client: port of the server #. server port label #: ../client/gtk/connect.c:1795 ../client/gtk/offline.c:54 #: ../server/gtk/main.c:555 msgid "Server port" msgstr "Porto do Servidor" #. Tooltip #: ../client/gtk/connect.c:1812 msgid "Port of the host of the game" msgstr "Porto do servidor do xogo" #. Tooltip #. Label #: ../client/gtk/connect.c:1854 ../client/gtk/connect.c:1857 msgid "Recent games" msgstr "Xogos recentes" #. Caption for list of bought development cards #: ../client/gtk/develop.c:130 msgid "Development cards" msgstr "Cartas de desenvolvemento" #. Button text: play development card #: ../client/gtk/develop.c:163 msgid "Play Card" msgstr "Carta de xogo" #. Dialog caption #: ../client/gtk/discard.c:77 msgid "Discard Resources" msgstr "Descarta recursos" #. Button text #: ../client/gtk/discard.c:83 ../client/gtk/gameover.c:38 #: ../client/gtk/gold.c:78 ../client/gtk/monopoly.c:88 ../client/gtk/name.c:150 #: ../client/gtk/plenty.c:67 ../editor/gtk/editor.c:1614 msgid "_OK" msgstr "" #: ../client/gtk/discard.c:101 #, fuzzy, c-format msgid "You must discard %d resource" msgid_plural "You must discard %d resources" msgstr[0] "Tes que descartar %d recursos" msgstr[1] "Tes que descartar %d recursos" #. Label #: ../client/gtk/discard.c:110 msgid "Total discards" msgstr "Descartes totais" #. Caption for list of player that must discard cards #: ../client/gtk/discard.c:235 msgid "Waiting for players to discard" msgstr "Esperando a que os xogadores descarten" #. Dialog caption #: ../client/gtk/gameover.c:34 msgid "Game Over" msgstr "Fin da partida" #: ../client/gtk/gameover.c:52 #, c-format msgid "%s has won the game with %d victory points!" msgstr "%s gañou con %d puntos!" #: ../client/gtk/gameover.c:58 #, c-format msgid "All praise %s, Lord of the known world!" msgstr "Louvanzas a %s, Señor do mundo coñecido!" #. Dialog caption #: ../client/gtk/gold.c:72 msgid "Choose Resources" msgstr "Elixe recursos" #: ../client/gtk/gold.c:96 #, fuzzy, c-format msgid "You may choose %d resource" msgid_plural "You may choose %d resources" msgstr[0] "Podes elixir %d recursos" msgstr[1] "Podes elixir %d recursos" #. Text for total in choose gold dialog #. Text for total in year of plenty dialog #: ../client/gtk/gold.c:105 ../client/gtk/plenty.c:103 msgid "Total resources" msgstr "Recursos totais" #. Caption for list of player that must choose gold #: ../client/gtk/gold.c:217 msgid "Waiting for players to choose" msgstr "Esperando a que os xogadores elixan" #. Menu entry #: ../client/gtk/gui.c:224 ../server/gtk/main.c:91 msgid "_Game" msgstr "_Xogo" #. Menu entry #: ../client/gtk/gui.c:227 msgid "_New Game" msgstr "Partida _nova" #. Tooltip for New Game menu entry #: ../client/gtk/gui.c:229 msgid "Start a new game" msgstr "Comezar un xogo novo" #. Menu entry #: ../client/gtk/gui.c:232 msgid "_Leave Game" msgstr "_Abandonar a partida" #. Tooltip for Leave Game menu entry #: ../client/gtk/gui.c:234 msgid "Leave this game" msgstr "Abandonar esta partida" #. Menu entry #: ../client/gtk/gui.c:238 msgid "_Admin" msgstr "_Administrar" #. Tooltip for Admin menu entry #: ../client/gtk/gui.c:240 msgid "Administer Pioneers server" msgstr "Administrar o servidor de Pioneiros" #. Menu entry #: ../client/gtk/gui.c:244 msgid "_Player Name" msgstr "Nome do _xogador" #. Tooltip for Player Name menu entry #: ../client/gtk/gui.c:246 msgid "Change your player name" msgstr "Cambiar o teu nome de xogador" #. Menu entry #: ../client/gtk/gui.c:249 msgid "L_egend" msgstr "L_enda" #. Tooltip for Legend menu entry #: ../client/gtk/gui.c:251 msgid "Terrain legend and building costs" msgstr "Lenda do terreo e costos de construción" #. Menu entry #: ../client/gtk/gui.c:254 msgid "_Game Settings" msgstr "_Axustes do xogo" #. Tooltip for Game Settings menu entry #: ../client/gtk/gui.c:256 msgid "Settings for the current game" msgstr "Axustes do xogo actual" #. Menu entry #: ../client/gtk/gui.c:259 msgid "_Dice Histogram" msgstr "_Histograma dos dados" #. Tooltip for Dice Histogram menu entry #: ../client/gtk/gui.c:261 msgid "Histogram of dice rolls" msgstr "Histograma das tiradas" #. Menu entry #: ../client/gtk/gui.c:264 ../editor/gtk/editor.c:1759 ../server/gtk/main.c:103 msgid "_Quit" msgstr "_Saír" #. Tooltip for Quit menu entry #. Tooltop for Quit menu entry #: ../client/gtk/gui.c:266 ../server/gtk/main.c:105 msgid "Quit the program" msgstr "Saír do aplicativo" #. Menu entry #: ../client/gtk/gui.c:269 msgid "_Actions" msgstr "_Accións" #. Menu entry #: ../client/gtk/gui.c:272 msgid "Roll Dice" msgstr "Tirar os dados" #. Tooltip for Roll Dice menu entry #: ../client/gtk/gui.c:274 msgid "Roll the dice" msgstr "Tirar os dados" #. Menu entry #. Tooltip for Trade menu entry #. Tab page name #: ../client/gtk/gui.c:277 ../client/gtk/gui.c:279 ../client/gtk/gui.c:710 msgid "Trade" msgstr "Comercio" #. Menu entry #. Tooltip for Undo menu entry #: ../client/gtk/gui.c:283 ../client/gtk/gui.c:285 msgid "Undo" msgstr "Desfacer" #. Menu entry #. Tooltip for Finish menu entry #: ../client/gtk/gui.c:288 ../client/gtk/gui.c:290 msgid "Finish" msgstr "Rematar" #. Menu entry #: ../client/gtk/gui.c:293 ../client/gtk/legend.c:189 #: ../editor/gtk/game-buildings.c:10 msgid "Road" msgstr "Camiño" #. Tooltip for Road menu entry #: ../client/gtk/gui.c:295 msgid "Build a road" msgstr "Construir un camiño" #. Menu entry #: ../client/gtk/gui.c:298 ../client/gtk/legend.c:193 #: ../editor/gtk/game-buildings.c:10 msgid "Ship" msgstr "Barco" #. Tooltip for Ship menu entry #: ../client/gtk/gui.c:300 msgid "Build a ship" msgstr "Construir un barco" #. Menu entry #: ../client/gtk/gui.c:303 msgid "Move Ship" msgstr "Mover o barco" #. Tooltip for Move Ship menu entry #: ../client/gtk/gui.c:305 msgid "Move a ship" msgstr "Mover un barco" #. Menu entry #: ../client/gtk/gui.c:308 ../client/gtk/legend.c:196 #: ../editor/gtk/game-buildings.c:10 msgid "Bridge" msgstr "Ponte" #. Tooltip for Bridge menu entry #: ../client/gtk/gui.c:310 msgid "Build a bridge" msgstr "Construír unha ponte" #. Menu entry #: ../client/gtk/gui.c:313 ../client/gtk/legend.c:198 ../client/gtk/player.c:52 #: ../editor/gtk/game-buildings.c:10 msgid "Settlement" msgstr "Asentamento" #. Tooltip for Settlement menu entry #: ../client/gtk/gui.c:316 msgid "Build a settlement" msgstr "Construír un asentamento" #. Menu entry #: ../client/gtk/gui.c:319 ../client/gtk/legend.c:199 ../client/gtk/player.c:53 #: ../editor/gtk/game-buildings.c:11 msgid "City" msgstr "Cidade" #. Tooltip for City menu entry #: ../client/gtk/gui.c:321 msgid "Build a city" msgstr "Construir unha cidade" #. Menu entry #: ../client/gtk/gui.c:324 msgid "Develop" msgstr "Desenvolver" #. Tooltip for Develop menu entry #: ../client/gtk/gui.c:326 msgid "Buy a development card" msgstr "Mercar unha carta de desenvolvemento" #. Menu entry #: ../client/gtk/gui.c:329 msgid "City Wall" msgstr "Muralla da cidade" #. Tooltip for City Wall menu entry #: ../client/gtk/gui.c:331 msgid "Build a city wall" msgstr "Construír unha muralla para a cidade" #. Menu entry #: ../client/gtk/gui.c:335 msgid "_Settings" msgstr "_Axustes" #. Menu entry #: ../client/gtk/gui.c:338 msgid "Prefere_nces" msgstr "Prefere_ncias" #. Tooltip for Preferences menu entry #: ../client/gtk/gui.c:340 msgid "Configure the application" msgstr "Configurar o aplicativo" #. Menu entry #: ../client/gtk/gui.c:344 ../editor/gtk/editor.c:1721 #, fuzzy msgid "_View" msgstr "Visor" #. Menu entry #: ../client/gtk/gui.c:347 ../editor/gtk/editor.c:1765 msgid "_Reset" msgstr "" #. Tooltip for Reset menu entry #: ../client/gtk/gui.c:350 ../editor/gtk/editor.c:1768 msgid "View the full map" msgstr "" #. Menu entry #: ../client/gtk/gui.c:353 ../editor/gtk/editor.c:1771 msgid "_Center" msgstr "" #. Tooltip for Center menu entry #: ../client/gtk/gui.c:355 ../editor/gtk/editor.c:1773 msgid "Center the map" msgstr "" #. Menu entry #: ../client/gtk/gui.c:359 ../client/gtk/gui.c:368 ../editor/gtk/editor.c:1724 #: ../server/gtk/main.c:94 msgid "_Help" msgstr "_Axuda" #. Menu entry #: ../client/gtk/gui.c:362 msgid "_About Pioneers" msgstr "_Acerca de Pioneiros" #. Tooltip for About Pioneers menu entry #: ../client/gtk/gui.c:364 msgid "Information about Pioneers" msgstr "Información acerca de Pioneiros" #. Tooltip for Help menu entry #: ../client/gtk/gui.c:370 ../client/gtk/gui.c:1258 msgid "Show the manual" msgstr "Amosar o manual" #. Menu entry #: ../client/gtk/gui.c:378 ../editor/gtk/editor.c:1791 msgid "_Fullscreen" msgstr "" #. Tooltip for Fullscreen menu entry #: ../client/gtk/gui.c:381 ../editor/gtk/editor.c:1794 msgid "Set window to full screen mode" msgstr "" #. Menu entry #: ../client/gtk/gui.c:386 msgid "_Toolbar" msgstr "_Barra de ferramentas" #. Tooltip for Toolbar menu entry #: ../client/gtk/gui.c:388 msgid "Show or hide the toolbar" msgstr "Amosar ou ocultar a barra de ferramentas" #. Victory points target in statusbar #: ../client/gtk/gui.c:491 #, c-format msgid "Points needed to win: %i" msgstr "Puntos necesarios para gañar: %i" #: ../client/gtk/gui.c:577 msgid "Messages" msgstr "Mensaxes" #. Tab page name #: ../client/gtk/gui.c:703 ../editor/gtk/editor.c:1946 msgid "Map" msgstr "Mapa" #. Tooltip #: ../client/gtk/gui.c:712 msgid "Finish trading" msgstr "Rematar negocio" #. Tab page name #. Button text #: ../client/gtk/gui.c:722 ../client/gtk/quote.c:339 msgid "Quote" msgstr "Comiñas" #. Tooltip #: ../client/gtk/gui.c:724 msgid "Reject domestic trade" msgstr "Rexeitar negocio domestico" #. Tab page name #. Dialog caption #: ../client/gtk/gui.c:734 ../client/gtk/legend.c:249 msgid "Legend" msgstr "Lenda" #. Tab page name, shown for the splash screen #: ../client/gtk/gui.c:744 msgid "Welcome to Pioneers" msgstr "Benvido ao Pioneiros" #. Caption of preferences dialog #: ../client/gtk/gui.c:1028 msgid "Pioneers Preferences" msgstr "Preferencias de Pioneiros" #. Button text #: ../client/gtk/gui.c:1034 ../client/gtk/histogram.c:252 #: ../client/gtk/legend.c:253 ../client/gtk/settingscreen.c:413 msgid "_Close" msgstr "" #. Label for changing the theme, in the preferences dialog #: ../client/gtk/gui.c:1059 msgid "Theme:" msgstr "Tema:" #. Tooltip for changing the theme in the preferences dialog #: ../client/gtk/gui.c:1082 msgid "Choose one of the themes" msgstr "Elixir un dos temas" #. Label for the option to show the legend #: ../client/gtk/gui.c:1086 msgid "Show legend" msgstr "Amosar a lenda" #. Tooltip for the option to show the legend #: ../client/gtk/gui.c:1096 msgid "Show the legend as a page beside the map" msgstr "Amosar a lenda como unha páxina xunto ao mapa?" #. Label for the option to display log messages in color #: ../client/gtk/gui.c:1101 msgid "Messages with color" msgstr "Usar cores nas mensaxes?" #. Tooltip for the option to display log messages in color #: ../client/gtk/gui.c:1111 msgid "Show new messages with color" msgstr "Usar cores nas mensaxes novas?" #. Label for the option to display chat in color of player #: ../client/gtk/gui.c:1116 msgid "Chat in color of player" msgstr "conversar coa cor do xogador?" #. Tooltip for the option to display chat in color of player #: ../client/gtk/gui.c:1127 msgid "Show new chat messages in the color of the player" msgstr "Amosar as novas mensaxes de conversa na cor do xogador" #. Label for the option to display the summary with colors #: ../client/gtk/gui.c:1132 msgid "Summary with color" msgstr "Resume con cor" #. Tooltip for the option to display the summary with colors #: ../client/gtk/gui.c:1143 msgid "Use colors in the player summary" msgstr "Usar cores no resume do xogador" #. Label for the option to display keyboard accelerators in the toolbar #: ../client/gtk/gui.c:1148 msgid "Toolbar with shortcuts" msgstr "Barra de ferramentas con acceso directo" #. Tooltip for the option to display keyboard accelerators in the toolbar #: ../client/gtk/gui.c:1158 msgid "Show keyboard shortcuts in the toolbar" msgstr "Amosar os accesos directos de teclado na barra de ferramentas" #. Label for the option to disable all sounds #: ../client/gtk/gui.c:1164 msgid "Silent mode" msgstr "Modo silencioso" #. Tooltip for the option to disable all sounds #: ../client/gtk/gui.c:1170 msgid "In silent mode no sounds are made" msgstr "En modo de silencio, non se reproducen sons." #. Label for the option to announce when players/spectators enter #: ../client/gtk/gui.c:1176 msgid "Announce new players" msgstr "Anunciar novos xogadores" #. Tooltip for the option to use sound when players/spectators enter #: ../client/gtk/gui.c:1186 #, fuzzy msgid "Make a sound when a new player or spectator enters the game" msgstr "Facer un son cando un xogador novo ou visor entre ao xogo" #. Label for the option to use the notifications. #: ../client/gtk/gui.c:1198 #, fuzzy msgid "Show notifications" msgstr "Amosar información da versión" #. Tooltip for notifications option. #: ../client/gtk/gui.c:1208 msgid "Show notifications when it's your turn or when new trade is available" msgstr "" #. Label for the option to use the 16:9 layout. #: ../client/gtk/gui.c:1214 msgid "Use 16:9 layout" msgstr "Usa un tema de 16:9" #. Tooltip for 16:9 option. #: ../client/gtk/gui.c:1224 msgid "Use a 16:9 friendly layout for the window" msgstr "Usar unha disposición para a xanela de 16:9" #. Caption of about box #: ../client/gtk/gui.c:1233 msgid "About Pioneers" msgstr "Acerca de Pioneiros" #. Initial text in status bar #: ../client/gtk/gui.c:1544 ../client/gtk/offline.c:107 msgid "Welcome to Pioneers!" msgstr "Benvenido ao Pioneiros!" #. The name of the application #. Name of the application #: ../client/gtk/gui.c:1606 ../client/gtk/offline.c:209 #: ../client/gtk/pioneers.desktop.in.h:1 msgid "Pioneers" msgstr "Pioneiros" #. Dialog caption #: ../client/gtk/histogram.c:248 msgid "Dice Histogram" msgstr "Histograma dos dados" #: ../client/gtk/interface.c:111 msgid "Ship movement canceled." msgstr "Movemento de barco cancelado" #: ../client/gtk/interface.c:119 ../client/gtk/interface.c:120 msgid "Select a new location for the ship." msgstr "Seleccione unha localización nova para o barco" #. Notification #: ../client/gtk/interface.c:919 #, fuzzy msgid "It is your turn to setup." msgstr "Tócache." #: ../client/gtk/legend.c:34 msgid "Hill" msgstr "Montículo" #: ../client/gtk/legend.c:35 msgid "Field" msgstr "Campo" #: ../client/gtk/legend.c:36 msgid "Mountain" msgstr "Montaña" #: ../client/gtk/legend.c:37 msgid "Pasture" msgstr "Pasto" #: ../client/gtk/legend.c:38 msgid "Forest" msgstr "Bosque" #: ../client/gtk/legend.c:39 msgid "Desert" msgstr "Deserto" #: ../client/gtk/legend.c:40 msgid "Sea" msgstr "Mar" #. Label #: ../client/gtk/legend.c:132 msgid "Terrain yield" msgstr "Produción de terreo" #. Label #: ../client/gtk/legend.c:165 msgid "Building costs" msgstr "Custes de construción" #: ../client/gtk/legend.c:203 ../client/gtk/player.c:54 #: ../editor/gtk/game-buildings.c:11 msgid "City wall" msgstr "Muralla da cidade" #: ../client/gtk/legend.c:206 ../client/gtk/player.c:65 msgid "Development card" msgstr "Carta de desenvolvemento" #. Dialog caption #. Name of the development card #: ../client/gtk/monopoly.c:84 ../common/cards.c:86 msgid "Monopoly" msgstr "Monopolio" #. Label #: ../client/gtk/monopoly.c:106 msgid "Select the resource you wish to monopolize." msgstr "Elixe o recurso que queres monopolizar." #. Dialog caption #: ../client/gtk/name.c:141 msgid "Change Player Name" msgstr "Cambiar o teu nome de xogador" #. Label #: ../client/gtk/name.c:172 msgid "Player name:" msgstr "Nome de xogador:" #. Label: set player icon preferences #: ../client/gtk/name.c:234 msgid "Face:" msgstr "Cara:" #. Label: set player icon preferences #: ../client/gtk/name.c:250 msgid "Variant:" msgstr "Variante:" #: ../client/gtk/offline.c:61 #, fuzzy msgid "Connect as a spectator" msgstr "Conectar como visor" #: ../client/gtk/offline.c:64 msgid "Metaserver Host" msgstr "Meta-servidor do anfitrion" #: ../client/gtk/offline.c:78 msgid "Select a game to join." msgstr "Seleccionar un xogo para unirse." #: ../client/gtk/offline.c:94 msgid "Connecting" msgstr "Conectando" #. Long description in the commandline for pioneers: help #: ../client/gtk/offline.c:183 msgid "- Play a game of Pioneers" msgstr "- Xogar unha partida de Pioneiros" #: ../client/gtk/pioneers.desktop.in.h:2 msgid "Play a game of Pioneers" msgstr "Xogar unha partida de Pioneiros" #: ../client/gtk/pioneers.desktop.in.h:3 msgid "game;board;play;Pioneers;Settlers;" msgstr "" #: ../client/gtk/player.c:52 msgid "Settlements" msgstr "Asentamentos" #: ../client/gtk/player.c:53 msgid "Cities" msgstr "Cidades" #: ../client/gtk/player.c:54 msgid "City walls" msgstr "Muros da Cidade" #: ../client/gtk/player.c:55 msgid "Largest army" msgstr "Maior exército" #: ../client/gtk/player.c:56 msgid "Longest road" msgstr "Camiño máis longo" #. Name of the development card #: ../client/gtk/player.c:57 ../common/cards.c:92 msgid "Chapel" msgstr "Capela" #: ../client/gtk/player.c:57 msgid "Chapels" msgstr "Capelas" #. Name of the development card #: ../client/gtk/player.c:58 ../common/cards.c:95 msgid "Pioneer university" msgstr "Universidade pioneira" #: ../client/gtk/player.c:58 msgid "Pioneer universities" msgstr "Universidades Pioneiras" #. Name of the development card #: ../client/gtk/player.c:60 ../common/cards.c:98 msgid "Governor's house" msgstr "Palacio do gobernador" #: ../client/gtk/player.c:60 msgid "Governor's houses" msgstr "Palacio do Gobernador" #. Name of the development card #: ../client/gtk/player.c:61 ../common/cards.c:101 msgid "Library" msgstr "Biblioteca" #: ../client/gtk/player.c:61 msgid "Libraries" msgstr "Bibliotecas" #. Name of the development card #: ../client/gtk/player.c:62 ../common/cards.c:104 msgid "Market" msgstr "Mercado" #: ../client/gtk/player.c:62 msgid "Markets" msgstr "Mercados" #. Name of the development card #: ../client/gtk/player.c:63 ../common/cards.c:107 msgid "Soldier" msgstr "Soldado" #: ../client/gtk/player.c:63 msgid "Soldiers" msgstr "Soldados" #: ../client/gtk/player.c:64 msgid "Resource card" msgstr "Carta de recurso" #: ../client/gtk/player.c:64 msgid "Resource cards" msgstr "Cartas de recurso" #. Caption #: ../client/gtk/player.c:65 ../editor/gtk/editor.c:1305 msgid "Development cards" msgstr "Cartas de desenvolvemento" #. Caption for the overview of the points and card of other players #: ../client/gtk/player.c:559 msgid "Player summary" msgstr "Resumo de xogadores" #. Dialog caption #: ../client/gtk/plenty.c:61 msgid "Year of Plenty" msgstr "Ano de abundancia" #: ../client/gtk/plenty.c:92 msgid "Please choose one resource from the bank" msgstr "Elixa un recurso do banco" #: ../client/gtk/plenty.c:95 msgid "Please choose two resources from the bank" msgstr "Elixa dous recursos do banco" #: ../client/gtk/plenty.c:97 msgid "The bank is empty" msgstr "O banco está vacio" #: ../client/gtk/quote.c:187 #, c-format msgid "%s has %s, and is looking for %s" msgstr "%s ten %s e quere %s" #. Notification #: ../client/gtk/quote.c:217 #, fuzzy, c-format msgid "New offer from %s." msgstr "Roubas %s a %s.\n" #. Notification #: ../client/gtk/quote.c:242 #, c-format msgid "Offer from %s." msgstr "" #. Label #. Frame title, trade: I want to trade these resources #: ../client/gtk/quote.c:316 ../client/gtk/trade.c:524 msgid "I want" msgstr "Quero..." #. Label #. Frame title, trade: I want these resources in return #: ../client/gtk/quote.c:326 ../client/gtk/trade.c:530 msgid "Give them" msgstr "Dalles..." #. Button text #: ../client/gtk/quote.c:345 msgid "Delete" msgstr "Eliminar" #. Button text #: ../client/gtk/quote.c:370 msgid "Reject Domestic Trade" msgstr "Rexeitar negocio domestico" #. Now create columns #. Table header: Player who trades #. Role of the player: player #: ../client/gtk/quote-view.c:170 ../server/gtk/main.c:684 msgid "Player" msgstr "Xogador" #. Table header: Quote #: ../client/gtk/quote-view.c:185 msgid "Quotes" msgstr "Comiñas" #. trade: maritime quote: %1 resources of type %2 for #. * one resource of type %3 #: ../client/gtk/quote-view.c:303 #, c-format msgid "%d:1 %s for %s" msgstr "%d:1 %s por %s" #. Trade: a player has rejected trade #: ../client/gtk/quote-view.c:442 msgid "Rejected trade" msgstr "Negocio rexeitado" #. Caption for overview of the resources of the player #: ../client/gtk/resource.c:71 msgid "Resources" msgstr "Recursos" #. Label #: ../client/gtk/resource.c:86 msgid "Total" msgstr "Total" #. Tooltip for the amount of resources in the hand #: ../client/gtk/resource-table.c:180 msgid "Amount in hand" msgstr "Cartas de recurso en man" #. Button for decreasing the selected amount #: ../client/gtk/resource-table.c:185 msgid "" msgstr "máis>" #. Tooltip for increasing the selected amount #: ../client/gtk/resource-table.c:226 msgid "Increase the selected amount" msgstr "Incrementar a cantidade seleccionada" #. Tooltip for the selected amount #: ../client/gtk/resource-table.c:243 msgid "Selected amount" msgstr "Cantidade seleccionada" #. Tooltip for the total selected amount #: ../client/gtk/resource-table.c:288 msgid "Total selected amount" msgstr "Cantidade seleccionada total" #. Tooltip when the bank cannot be emptied #: ../client/gtk/resource-table.c:307 msgid "The bank cannot be emptied" msgstr "O banco non se pode baleirar" #: ../client/gtk/settingscreen.c:74 msgid "Yes" msgstr "Si" #: ../client/gtk/settingscreen.c:76 ../client/gtk/settingscreen.c:240 msgid "No" msgstr "Non" #: ../client/gtk/settingscreen.c:87 ../client/gtk/settingscreen.c:187 msgid "Unknown" msgstr "Descoñecido" #: ../client/gtk/settingscreen.c:121 msgid "No game in progress..." msgstr "No hai xogo en proceso" #. Label #: ../client/gtk/settingscreen.c:132 msgid "General settings" msgstr "Configuracións xerais" #: ../client/gtk/settingscreen.c:149 msgid "Number of players:" msgstr "Número de xogadores:" #: ../client/gtk/settingscreen.c:153 msgid "Victory point target:" msgstr "Punto de victoria:" #: ../client/gtk/settingscreen.c:157 msgid "Random terrain:" msgstr "Terreo ao chou:" #: ../client/gtk/settingscreen.c:161 msgid "Allow trade between players:" msgstr "Permitir comerciar entre xogadores:" #: ../client/gtk/settingscreen.c:166 msgid "Allow trade only before building or buying:" msgstr "Permitir comerciar só antes de construír ou mercar:" #: ../client/gtk/settingscreen.c:171 #, fuzzy msgid "Check victory only at end of turn:" msgstr "Revisa a vitoria unicamente ao rematar a quenda" #: ../client/gtk/settingscreen.c:176 msgid "Amount of each resource:" msgstr "Cantidade de cada recurso:" #: ../client/gtk/settingscreen.c:190 msgid "Sevens rule:" msgstr "Regra dos setes:" #: ../client/gtk/settingscreen.c:196 msgid "Use dice deck instead of dice:" msgstr "" #: ../client/gtk/settingscreen.c:201 #, fuzzy msgid "Number of dice decks:" msgstr "Número de xogadores:" #: ../client/gtk/settingscreen.c:207 msgid "Number of dice cards removed after shuffling:" msgstr "" #: ../client/gtk/settingscreen.c:214 msgid "Use the pirate to block ships:" msgstr "Use ao pirata para bloquear barcos:" #: ../client/gtk/settingscreen.c:243 msgid "Island discovery bonuses:" msgstr "Bonificacións por descubrimento de illas:" #. Label #: ../client/gtk/settingscreen.c:260 msgid "Building quotas" msgstr "Custos de construción" #: ../client/gtk/settingscreen.c:277 msgid "Roads:" msgstr "Camiños:" #: ../client/gtk/settingscreen.c:283 msgid "Settlements:" msgstr "Asentamentos:" #: ../client/gtk/settingscreen.c:289 msgid "Cities:" msgstr "Cidades:" #: ../client/gtk/settingscreen.c:295 msgid "City walls:" msgstr "Muros da cidade:" #: ../client/gtk/settingscreen.c:301 msgid "Ships:" msgstr "Barcos:" #: ../client/gtk/settingscreen.c:307 msgid "Bridges:" msgstr "Pontes:" #. Label #: ../client/gtk/settingscreen.c:320 msgid "Development card deck" msgstr "Cartas de desenvolvemento" #: ../client/gtk/settingscreen.c:336 msgid "Road building cards:" msgstr "Cartas de construír camiños:" #: ../client/gtk/settingscreen.c:340 msgid "Monopoly cards:" msgstr "Cartas de monopolio:" #: ../client/gtk/settingscreen.c:344 msgid "Year of plenty cards:" msgstr "Cartas de ano de abundancia:" #: ../client/gtk/settingscreen.c:348 msgid "Chapel cards:" msgstr "Cartas de capela:" #: ../client/gtk/settingscreen.c:352 msgid "Pioneer university cards:" msgstr "Cartas de universidade de Pioneiros:" #: ../client/gtk/settingscreen.c:356 msgid "Governor's house cards:" msgstr "Cartas de palacio do gobernador:" #: ../client/gtk/settingscreen.c:360 msgid "Library cards:" msgstr "Cartas de biblioteca:" #: ../client/gtk/settingscreen.c:364 msgid "Market cards:" msgstr "Cartas de mercado:" #: ../client/gtk/settingscreen.c:368 msgid "Soldier cards:" msgstr "Cartas de soldado:" #. Dialog caption #: ../client/gtk/settingscreen.c:407 msgid "Current Game Settings" msgstr "Axuste do xogo actual" #. trade: you ask for something for free #: ../client/gtk/trade.c:205 #, c-format msgid "ask for %s for free" msgstr "pida %s gratis" #. trade: you give something away for free #: ../client/gtk/trade.c:210 #, c-format msgid "give %s for free" msgstr "ofreza %s gratis" #. trade: you trade something for something else #: ../client/gtk/trade.c:215 #, c-format msgid "give %s for %s" msgstr "ofreza %s por %s" #. I want some resources, and give them some resources #: ../client/gtk/trade.c:242 #, c-format msgid "I want %s, and give them %s" msgstr "Quero %s, e darlles %s" #. Notification #: ../client/gtk/trade.c:348 #, fuzzy, c-format msgid "Quote received from %s." msgstr "%s recibe %s.\n" #. Button text, trade: call for quotes from other players #: ../client/gtk/trade.c:539 msgid "_Call for Quotes" msgstr "Pedir orzamentos" #. Button text: Trade page, accept selected quote #: ../client/gtk/trade.c:568 msgid "_Accept Quote" msgstr "_Aceptar orzamento" #. Button text: Trade page, finish trading #: ../client/gtk/trade.c:574 msgid "_Finish Trading" msgstr "Rematar negocio" #. Name of the development card #: ../common/cards.c:83 msgid "Road building" msgstr "Construción de camiños" #. Name of the development card #: ../common/cards.c:89 msgid "Year of plenty" msgstr "Ano de abundancia" #. Description of the 'Road Building' development card #: ../common/cards.c:118 msgid "Build two new roads" msgstr "" #. Description of the 'Monopoly' development card #: ../common/cards.c:121 msgid "" "Select a resource type and take every card of that type held by all other " "players" msgstr "" #. Description of the 'Year of Plenty' development card #: ../common/cards.c:125 msgid "" "Take two resource cards of any type from the bank (cards may be of the same " "or different types)" msgstr "" #. Description of a development card of 1 victory point #: ../common/cards.c:134 msgid "One victory point" msgstr "" #. Description of the 'Soldier' development card #: ../common/cards.c:137 msgid "" "Move the robber to a different space and take one resource card from another " "player adjacent to that space" msgstr "" #: ../common/game.c:523 #, c-format msgid "Obsolete rule: '%s'\n" msgstr "" #: ../common/game.c:530 #, c-format msgid "" "The game uses the new rule '%s', which is not yet supported. Consider " "upgrading.\n" msgstr "" #: ../common/game.c:924 ../common/game.c:955 msgid "This game cannot be won." msgstr "Este xogo non se puede gañar." #: ../common/game.c:925 msgid "There is no land." msgstr "Non hai terra" #: ../common/game.c:959 msgid "It is possible that this game cannot be won." msgstr "É posíbel que este xogo non se poida gañar." #: ../common/game.c:965 msgid "This game can be won by only building all settlements and cities." msgstr "" "Este xogo pode gañarse con só construír todos os asentamentos e cidades." #: ../common/game.c:971 #, fuzzy, c-format msgid "" "Required victory points: %d\n" "Points obtained by building all: %d\n" "Points in development cards: %u\n" "Longest road/largest army: %d+%d\n" "Maximum island discovery bonus: %d\n" "Total: %d" msgstr "" "Puntos de vitoria necesarios: %d\n" "Puntos obtidos por construccións: %d\n" "Puntos ao desenvolver cartas: %d\n" "Estrada máis longa/Exército máis grande: %d+%d\n" "Bonificación máxima por descubrimento de illas: %d\n" "Total: %d" #: ../common/game-list.c:111 #, c-format msgid "Looking for games in '%s'\n" msgstr "Buscando xogos en '%s'\n" #: ../common/game-list.c:113 #, c-format msgid "Game directory '%s' not found\n" msgstr "Directorio de xogos '%s' non atopado\n" #: ../common/game-list.c:131 #, fuzzy, c-format msgid "Unable to load game: '%s'\n" msgstr "Falla ao cargar '%s'" #: ../common/game-list.c:151 #, fuzzy msgid "No games available\n" msgstr "Sintoo, %s dispoñíbel.\n" #: ../common/gtk/aboutbox.c:53 msgid "" "Pioneers is based upon the excellent\n" "Settlers of Catan board game.\n" msgstr "" "Pioneiros está baseado no excelente\n" "xogo de mesa «Os fundadores de Catan».\n" # #. Translators: add your name here. Keep the list #. * alphabetically, do not remove any names, and add #. * \n after your name (except the last name). #. #: ../common/gtk/aboutbox.c:63 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " Indalecio Freiría Santos https://launchpad.net/~ifreiria" #. Caption for result of checking victory points #: ../common/gtk/common_gtk.c:324 msgid "Victory Point Analysis" msgstr "" #. Tooltip for sevens rule normal #: ../common/gtk/game-rules.c:110 msgid "All sevens move the robber or pirate" msgstr "Todos os 7 quitan o ladrón ou o pirata" #. Tooltip for sevens rule reroll on 1st 2 turns #: ../common/gtk/game-rules.c:114 msgid "In the first two turns all sevens are rerolled" msgstr "Nas primeiras dúas quendas todos os 7 tíranse de novo" #. Tooltip for sevens rule reroll all #: ../common/gtk/game-rules.c:118 msgid "All sevens are rerolled" msgstr "Todos os 7 tíranse de novo" #: ../common/gtk/game-rules.c:129 msgid "Randomize terrain" msgstr "Facer o terreo ao chou" #: ../common/gtk/game-rules.c:129 msgid "Randomize the terrain" msgstr "Facer o terreo ao chou" #: ../common/gtk/game-rules.c:132 msgid "Use pirate" msgstr "Use pirata" #: ../common/gtk/game-rules.c:133 msgid "Use the pirate to block ships" msgstr "Use ao pirata para bloquear barcos" #: ../common/gtk/game-rules.c:135 msgid "Strict trade" msgstr "Negocio rigoroso" #: ../common/gtk/game-rules.c:136 msgid "Allow trade only before building or buying" msgstr "Permitir comerciar só antes de construír ou mercar" #: ../common/gtk/game-rules.c:138 msgid "Domestic trade" msgstr "Negocio local" #: ../common/gtk/game-rules.c:139 msgid "Allow trade between players" msgstr "Permitir comerciar entre xogadores" #: ../common/gtk/game-rules.c:141 msgid "Victory at end of turn" msgstr "Vitoria ao rematar a quenda" #: ../common/gtk/game-rules.c:142 msgid "Check for victory only at end of turn" msgstr "Revisa a vitoria unicamente ao rematar a quenda" #: ../common/gtk/game-rules.c:145 msgid "Use dice deck" msgstr "" #: ../common/gtk/game-rules.c:147 msgid "Use a deck of 36 dice cards instead of real dice" msgstr "" #. Label #: ../common/gtk/game-rules.c:155 #, fuzzy msgid "Number of dice decks" msgstr "Tipo de xogador do computador" #: ../common/gtk/game-rules.c:172 msgid "The number of dice decks (of 36 cards each)" msgstr "" #. Label #: ../common/gtk/game-rules.c:180 msgid "Number of removed dice cards" msgstr "" #: ../common/gtk/game-rules.c:199 msgid "The number of dice cards that are removed after shuffling the deck" msgstr "" #. Label #: ../common/gtk/game-rules.c:207 #, fuzzy msgid "Island discovery bonuses" msgstr "Bonificacións por descubrimento de illas:" #. Tooltip for island bonus #: ../common/gtk/game-rules.c:219 msgid "A comma separated list of bonus points for discovering islands" msgstr "" #. Tooltip for the check button #: ../common/gtk/game-rules.c:237 #, fuzzy msgid "Check and correct island discovery bonuses" msgstr "Bonificacións por descubrimento de illas:" #. Label text for customising a game #: ../common/gtk/game-settings.c:105 msgid "Number of players" msgstr "Número de xogadores" #. Tooltip for 'Number of Players' #: ../common/gtk/game-settings.c:124 msgid "The number of players" msgstr "Número de xogadores" #. Label for customising a game #: ../common/gtk/game-settings.c:127 msgid "Victory point target" msgstr "Punto de vitoria" #. Tooltip for Victory Point Target #: ../common/gtk/game-settings.c:147 msgid "The points needed to win the game" msgstr "Puntos precisos para gañar o xogo" #. Tooltip for the check button #: ../common/gtk/game-settings.c:161 msgid "Is it possible to win this game?" msgstr "Pódese gañar este xogo?" #. Port indicator for a resource: trade 2 for 1 #: ../common/gtk/guimap.c:742 msgid "2:1" msgstr "2:1" #. Port indicator: trade 3 for 1 #. General port indicator #: ../common/gtk/guimap.c:745 ../common/gtk/guimap.c:770 msgid "3:1" msgstr "3:1" #. Port indicator for brick #: ../common/gtk/guimap.c:750 msgid "Brick port|B" msgstr "Porto de Ladrillo|L" #. Port indicator for grain #: ../common/gtk/guimap.c:754 msgid "Grain port|G" msgstr "Porto de cereais|C" #. Port indicator for ore #: ../common/gtk/guimap.c:758 msgid "Ore port|O" msgstr "Porto de ouro|O" #. Port indicator for wool #: ../common/gtk/guimap.c:762 msgid "Wool port|W" msgstr "Porto de lá|La" #. Port indicator for lumber #: ../common/gtk/guimap.c:766 msgid "Lumber port|L" msgstr "Porto de madeira|M" #. Tooltip for the list of metaservers #: ../common/gtk/metaserver.c:85 msgid "Select a metaserver" msgstr "Seleccionar un meta-servidor" #. Tooltip for the list of games #: ../common/gtk/select-game.c:135 msgid "Select a game" msgstr "Seleccione un xogo" #. Log prefix #: ../common/log.c:58 msgid "*ERROR* " msgstr "*ERRO* " #. Log prefix #: ../common/log.c:66 msgid "Chat: " msgstr "Falar: " #. Log prefix #: ../common/log.c:70 msgid "Resource: " msgstr "Recursos: " #. Log prefix #: ../common/log.c:74 msgid "Build: " msgstr "Construír: " #. Log prefix #: ../common/log.c:78 msgid "Dice: " msgstr "Dados: " #. Log prefix #: ../common/log.c:82 msgid "Steal: " msgstr "Roubar: " #. Log prefix #: ../common/log.c:86 msgid "Trade: " msgstr "Comercio: " #. Log prefix #: ../common/log.c:90 msgid "Development: " msgstr "Desenvolvemento: " #. Log prefix #: ../common/log.c:94 msgid "Army: " msgstr "Exercito: " #. Log prefix #: ../common/log.c:98 msgid "Road: " msgstr "Camiño: " #. Log prefix #: ../common/log.c:102 msgid "*BEEP* " msgstr "*TON DE AVISO* " #. Log prefix #: ../common/log.c:108 msgid "Player 1: " msgstr "Xogador 1: " #. Log prefix #: ../common/log.c:112 msgid "Player 2: " msgstr "Xogador 2: " #. Log prefix #: ../common/log.c:116 msgid "Player 3: " msgstr "Xogador 3: " #. Log prefix #: ../common/log.c:120 msgid "Player 4: " msgstr "Xogador 4: " #. Log prefix #: ../common/log.c:124 msgid "Player 5: " msgstr "Xogador 5: " #. Log prefix #: ../common/log.c:128 msgid "Player 6: " msgstr "Xogador 6: " #. Log prefix #: ../common/log.c:132 msgid "Player 7: " msgstr "Xogador 7: " #. Log prefix #: ../common/log.c:136 msgid "Player 8: " msgstr "Xogador 8: " #. Log prefix #: ../common/log.c:140 msgid "Spectator: " msgstr "" #. Log prefix #: ../common/log.c:144 msgid "** UNKNOWN MESSAGE TYPE ** " msgstr "** TIPO DE MENSAXE DESCOÑECIDA ** " #: ../common/network.c:143 #, c-format msgid "Error writing to socket: %s\n" msgstr "erro escribindo conectador: %s\n" #: ../common/network.c:154 msgid "Could not send all data\n" msgstr "" #: ../common/network.c:202 msgid "Read buffer overflow - disconnecting\n" msgstr "Ler desbordamento de buffer - desconectando\n" #: ../common/network.c:226 #, c-format msgid "Error reading socket: %s\n" msgstr "Erro lendo conectador: %s\n" #: ../common/network.c:378 #, fuzzy, c-format msgid "Error connecting to %s: %s\n" msgstr "Erro conectando a %s: %s\n" #: ../common/network.c:566 ../common/network.c:567 msgid "unknown" msgstr "descoñecido" #: ../common/state.c:203 #, c-format msgid "Connecting to %s, port %s\n" msgstr "Conectando a %s, porto %s\n" #. Error message #: ../common/state.c:333 msgid "State stack overflow. Stack dump sent to standard error.\n" msgstr "" "Estado de desbordamento de pila. Volteado de pila enviado a erro estándar.\n" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:113 msgid "_Hill" msgstr "_Outeiro" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:115 msgid "_Field" msgstr "_Leira" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:117 msgid "_Mountain" msgstr "_Montaña" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:119 msgid "_Pasture" msgstr "_Prado" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:121 msgid "F_orest" msgstr "_Bosque" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:123 msgid "_Desert" msgstr "_Deserto" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:125 msgid "_Sea" msgstr "M_ar" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:127 msgid "_Gold" msgstr "O_uro" #. Use an unique shortcut key for each resource #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:129 ../editor/gtk/editor.c:144 msgid "_None" msgstr "_Ningún" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:134 msgid "_Brick (2:1)" msgstr "La_drillo (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:136 msgid "_Grain (2:1)" msgstr "_Cereais (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:138 msgid "_Ore (2:1)" msgstr "Mine_rais (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:140 msgid "_Wool (2:1)" msgstr "_Lá (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:142 msgid "_Lumber (2:1)" msgstr "_Madeira (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:146 msgid "_Any (3:1)" msgstr "Calquera (_3:1)" #. East #: ../editor/gtk/editor.c:151 msgid "East|E" msgstr "Leste|L" #. North east #: ../editor/gtk/editor.c:153 msgid "North East|NE" msgstr "Nordeste|NE" #. North west #: ../editor/gtk/editor.c:155 msgid "North West|NW" msgstr "Noroeste|NO" #. West #: ../editor/gtk/editor.c:157 msgid "West|W" msgstr "Oeste@O" #. South west #: ../editor/gtk/editor.c:159 msgid "South West|SW" msgstr "Suroeste|SO" #. South east #: ../editor/gtk/editor.c:161 msgid "South East|SE" msgstr "Sureste|SE" #: ../editor/gtk/editor.c:368 msgid "Place a hill hex" msgstr "" #: ../editor/gtk/editor.c:369 msgid "Place a field hex" msgstr "" #: ../editor/gtk/editor.c:370 msgid "Place a mountain hex" msgstr "" #: ../editor/gtk/editor.c:371 msgid "Place a pasture hex" msgstr "" #: ../editor/gtk/editor.c:372 msgid "Place a forest hex" msgstr "" #: ../editor/gtk/editor.c:373 msgid "Place a desert hex" msgstr "" #: ../editor/gtk/editor.c:374 msgid "Place a sea hex" msgstr "" #: ../editor/gtk/editor.c:375 msgid "Place a gold hex" msgstr "" #: ../editor/gtk/editor.c:376 msgid "Clear the hex" msgstr "" #: ../editor/gtk/editor.c:384 msgid "Place a 2 chit" msgstr "" #: ../editor/gtk/editor.c:385 msgid "Place a 3 chit" msgstr "" #: ../editor/gtk/editor.c:386 msgid "Place a 4 chit" msgstr "" #: ../editor/gtk/editor.c:387 msgid "Place a 5 chit" msgstr "" #: ../editor/gtk/editor.c:388 msgid "Place a 6 chit" msgstr "" #: ../editor/gtk/editor.c:390 msgid "Place an 8 chit" msgstr "" #: ../editor/gtk/editor.c:391 msgid "Place a 9 chit" msgstr "" #: ../editor/gtk/editor.c:392 msgid "Place a 10 chit" msgstr "" #: ../editor/gtk/editor.c:393 msgid "Place an 11 chit" msgstr "" #: ../editor/gtk/editor.c:394 msgid "Place a 12 chit" msgstr "" #: ../editor/gtk/editor.c:400 msgid "Place a brick 2:1 port" msgstr "" #: ../editor/gtk/editor.c:401 msgid "Place a grain 2:1 port" msgstr "" #: ../editor/gtk/editor.c:402 msgid "Place an ore 2:1 port" msgstr "" #: ../editor/gtk/editor.c:403 msgid "Place a wool 2:1 port" msgstr "" #: ../editor/gtk/editor.c:404 msgid "Place a lumber 2:1 port" msgstr "" #. Tooltip to remove a port tile in the editor #: ../editor/gtk/editor.c:406 #, fuzzy msgid "Remove a port" msgstr "Porto do Servidor" #: ../editor/gtk/editor.c:407 msgid "Place a 3:1 port" msgstr "" #: ../editor/gtk/editor.c:437 msgid "" "Select the terrain type with the context menu on the left click or toggle a " "node to exclude it from being used during the setup phase" msgstr "" #: ../editor/gtk/editor.c:572 msgid "Insert a row" msgstr "" #: ../editor/gtk/editor.c:573 #, fuzzy msgid "Delete a row" msgstr "Eliminar" #: ../editor/gtk/editor.c:574 msgid "Insert a column" msgstr "" #: ../editor/gtk/editor.c:575 msgid "Delete a column" msgstr "" #. Label #: ../editor/gtk/editor.c:978 #, fuzzy msgid "_Title" msgstr "Cambiar _titulo" #. Label #: ../editor/gtk/editor.c:991 #, fuzzy msgid "_Description" msgstr "_Deserto" #. Label #: ../editor/gtk/editor.c:1009 msgid "_Comments" msgstr "" #. Menu item #: ../editor/gtk/editor.c:1139 msgid "Shuffle" msgstr "Ao chou" #. Caption #. Game settings frame #: ../editor/gtk/editor.c:1294 ../server/gtk/main.c:968 msgid "Game parameters" msgstr "Parametros do xogo" #. Caption #. Rules frame #: ../editor/gtk/editor.c:1297 ../server/gtk/main.c:983 msgid "Rules" msgstr "Regras" #. Caption #: ../editor/gtk/editor.c:1299 msgid "Resources" msgstr "Recursos" #. Caption #: ../editor/gtk/editor.c:1302 msgid "Buildings" msgstr "Construccións" #. The game in the editor does not have a name yet #: ../editor/gtk/editor.c:1319 msgid "Untitled" msgstr "" #. Application caption #: ../editor/gtk/editor.c:1324 ../editor/gtk/pioneers-editor.desktop.in.h:1 msgid "Pioneers Editor" msgstr "Editor de Pioneiros" #: ../editor/gtk/editor.c:1434 #, c-format msgid "Failed to load '%s'" msgstr "Falla ao cargar '%s'" #: ../editor/gtk/editor.c:1482 #, c-format msgid "Failed to save to '%s'" msgstr "Falla ao gardar a '%s'" #. Name of the file filter: show only games #: ../editor/gtk/editor.c:1499 #, fuzzy msgid "Games" msgstr "_Xogo" #. Name of the file filter: show all files #: ../editor/gtk/editor.c:1505 msgid "Unfiltered" msgstr "" #. Dialog caption #: ../editor/gtk/editor.c:1517 msgid "Open Game" msgstr "Abrir partida" #. Button text #: ../editor/gtk/editor.c:1524 #, fuzzy msgid "_Open" msgstr "_Abrir..." #. Dialog caption #: ../editor/gtk/editor.c:1558 msgid "Save As..." msgstr "Gardar como..." #. Button text #: ../editor/gtk/editor.c:1565 #, fuzzy msgid "Save _As" msgstr "Gardar _como..." #. Dialog caption #: ../editor/gtk/editor.c:1606 msgid "Change Title" msgstr "Cambiar titulo" #. Label #: ../editor/gtk/editor.c:1631 msgid "New title:" msgstr "Novo titulo:" #. Caption of about box #: ../editor/gtk/editor.c:1688 msgid "About Pioneers Game Editor" msgstr "Acerca do editor de Pioneiros" #. Menu entry #: ../editor/gtk/editor.c:1718 msgid "_File" msgstr "_Ficheiro" #. Menu entry #: ../editor/gtk/editor.c:1728 msgid "_New" msgstr "_Novo" #: ../editor/gtk/editor.c:1729 msgid "Create a new game" msgstr "Crear un novo xogo" #. Menu entry #: ../editor/gtk/editor.c:1732 msgid "_Open..." msgstr "_Abrir..." #. Tooltip for Open menu entry #: ../editor/gtk/editor.c:1734 msgid "Open an existing game" msgstr "Abrir un xogo existente" #. Menu entry #: ../editor/gtk/editor.c:1737 msgid "_Save" msgstr "_Gardar" #. Tooltip for Save menu entry #: ../editor/gtk/editor.c:1739 msgid "Save game" msgstr "Gardar o xogo" #. Menu entry #: ../editor/gtk/editor.c:1742 msgid "Save _As..." msgstr "Gardar _como..." #. Tooltip for Save As menu entry #: ../editor/gtk/editor.c:1745 msgid "Save as" msgstr "Gardar como" #. Menu entry #: ../editor/gtk/editor.c:1748 #, fuzzy msgid "Change _Title" msgstr "Cambiar titulo" #. Tooltip for Change Title menu entry #: ../editor/gtk/editor.c:1750 msgid "Change game title" msgstr "Cambiar titulo do xogo" #. Menu entry #: ../editor/gtk/editor.c:1753 ../server/gtk/main.c:97 msgid "_Check Victory Point Target" msgstr "Comproba o obxetivo de puntos de _victoria" #. Tooltip for Check Victory Point Target menu entry #. Tooltop for Check Victory Point Target menu entry #: ../editor/gtk/editor.c:1756 ../server/gtk/main.c:100 msgid "Check whether the game can be won" msgstr "Comproba cando pode gañarse o xogo" #. Tooltip for Quit menu entry #: ../editor/gtk/editor.c:1761 msgid "Quit" msgstr "Saír" #. Menu entry #: ../editor/gtk/editor.c:1783 msgid "_About Pioneers Editor" msgstr "_Acerca do editor de Pioneiros" #. Tooltip for About Pioneers Editor menu entry #: ../editor/gtk/editor.c:1785 msgid "Information about Pioneers Editor" msgstr "Informacion acerca de editor de Pioneiros" #. Long help for commandline option (editor): filename #: ../editor/gtk/editor.c:1838 msgid "Open this file" msgstr "Abrir este ficheiro" #. Commandline option for editor: filename #. Commandline metaserver: pidfile argument #: ../editor/gtk/editor.c:1840 ../metaserver/main.c:615 msgid "filename" msgstr "nome de ficheiro" #. Long description in the command line: --help #: ../editor/gtk/editor.c:1877 msgid "- Editor for games of Pioneers" msgstr "- Editor para xogos de Pioneiros" #. Error message #: ../editor/gtk/editor.c:1921 ../server/gtk/main.c:1256 #, c-format msgid "Building menus failed: %s" msgstr "Construción menús fallada: %s" #. Tab page name #: ../editor/gtk/editor.c:1951 msgid "Settings" msgstr "Axustes" #. Tab page name #: ../editor/gtk/editor.c:1954 msgid "Comments" msgstr "" #: ../editor/gtk/game-resources.c:48 msgid "Resource count" msgstr "Conta de recursos" #: ../editor/gtk/pioneers-editor.desktop.in.h:2 msgid "Create your own game for Pioneers" msgstr "Crea o teu propio xogo para Pioneiros" #: ../editor/gtk/pioneers-editor.desktop.in.h:3 msgid "game;board;create;edit;layout;Pioneers;Settlers;" msgstr "" #. Commandline metaserver: daemon #: ../metaserver/main.c:610 msgid "Daemonize the metaserver on start" msgstr "Converter en daemon o meta servidor ao iniciar" #. Commandline metaserver: pidfile #: ../metaserver/main.c:613 msgid "Pidfile to create when daemonizing (implies -d)" msgstr "Ficheiro PID a crear ao converter en daemon (implica -d)" #. Commandline metaserver: redirect #: ../metaserver/main.c:618 msgid "Redirect clients to another metaserver" msgstr "Redirixir clientes a outro meta-servidor" #. Commandline metaserver: server #: ../metaserver/main.c:621 msgid "Use this hostname when creating new games" msgstr "Usar este nome de servidor ao crear novas partidas" #. Commandline metaserver: server argument #: ../metaserver/main.c:623 msgid "hostname" msgstr "nome de equipo" #. Commandline metaserver: port-range #: ../metaserver/main.c:626 msgid "Use this port range when creating new games" msgstr "Usa este rango de portos cando estea creando novos xogos" #. Commandline metaserver: port-range argument #: ../metaserver/main.c:628 msgid "from-to" msgstr "de-para" #. Commandline option of metaserver: syslog-debug #: ../metaserver/main.c:634 msgid "Debug syslog messages" msgstr "Depurar mensaxes do log do sistema" #. Long description in the commandline for metaserver: help #: ../metaserver/main.c:675 msgid "- Metaserver for Pioneers" msgstr "- Meta Servidor para Pioneiros" #: ../metaserver/main.c:691 #, c-format msgid "metaserver protocol:" msgstr "protocolo do meta-servidor:" #: ../server/avahi.c:68 msgid "Avahi registration successful.\n" msgstr "" #: ../server/avahi.c:78 #, c-format msgid "Avahi service name collision, renaming service to '%s'.\n" msgstr "" #. Some kind of failure happened while we were registering #: ../server/avahi.c:89 #, c-format msgid "Avahi error: %s\n" msgstr "" #: ../server/avahi.c:113 ../server/avahi.c:145 ../server/avahi.c:155 #: ../server/avahi.c:191 ../server/avahi.c:212 ../server/avahi.c:226 #, fuzzy, c-format msgid "Avahi error: %s, %s\n" msgstr "Erro(%s): %s\n" #: ../server/avahi.c:213 ../server/avahi.c:227 #, fuzzy msgid "Unable to register Avahi server" msgstr "Darse de baixa do metaservidor\n" #: ../server/avahi.c:260 msgid "Unregistering Avahi.\n" msgstr "" #. Menu entry #: ../server/gtk/main.c:108 msgid "_About Pioneers Server" msgstr "_Acerca do servidor de Pioneiros" #. Tooltop for About Pioneers Server menu entry #: ../server/gtk/main.c:110 msgid "Information about Pioneers Server" msgstr "Información do servidor Pioneiros" #: ../server/gtk/main.c:234 msgid "Stop Server" msgstr "Deter o servidor" #: ../server/gtk/main.c:235 msgid "Start Server" msgstr "Iniciar o servidor" #: ../server/gtk/main.c:237 ../server/gtk/main.c:996 msgid "Stop the server" msgstr "Deter o servidor" #: ../server/gtk/main.c:238 msgid "Start the server" msgstr "Inicie o servidor" #: ../server/gtk/main.c:395 #, c-format msgid "Player %s from %s entered\n" msgstr "Entrou o xogador %s de %s\n" #: ../server/gtk/main.c:402 #, c-format msgid "Player %s from %s left\n" msgstr "O xogador %s de %s foise\n" #: ../server/gtk/main.c:409 #, c-format msgid "Player %d is now %s\n" msgstr "O xogador %d é agora %s\n" #: ../server/gtk/main.c:570 msgid "The port for the game server" msgstr "O porto para o servidor do xogo" #. register_toggle #: ../server/gtk/main.c:579 msgid "Register server" msgstr "Rexistrar o servidor" #: ../server/gtk/main.c:587 msgid "Register this game at the metaserver" msgstr "Rexistrar este xogo no meta-servidor" #. hostname label #: ../server/gtk/main.c:618 msgid "Reported hostname" msgstr "Nome informado do anfitrión" #: ../server/gtk/main.c:633 msgid "" "The public name of this computer (needed when playing behind a firewall)" msgstr "" "O nome público deste computador (preciso cando se xoga a través dun firewall)" #. random toggle #: ../server/gtk/main.c:652 #, fuzzy msgid "Random turn order" msgstr "Desordenar a orde das quendas" #: ../server/gtk/main.c:659 msgid "Randomize turn order" msgstr "Desordenar a orde das quendas" #. Tooltip for server connection overview #: ../server/gtk/main.c:730 #, fuzzy msgid "Shows all players and spectators connected to the server" msgstr "Amosar todos os xogadores e visores conectados ao servidor" #. Label for column Connected #: ../server/gtk/main.c:735 msgid "Connected" msgstr "Conectado" #. Tooltip for column Connected #: ../server/gtk/main.c:742 msgid "Is the player currently connected?" msgstr "Está conectado actualmente o xogador ?" #. Label for column Name #: ../server/gtk/main.c:747 msgid "Name" msgstr "Nome" #. Tooltip for column Name #: ../server/gtk/main.c:754 msgid "Name of the player" msgstr "Nome do xogador" #. Label for column Location #: ../server/gtk/main.c:758 msgid "Location" msgstr "Ubicación" #. Tooltip for column Location #: ../server/gtk/main.c:765 msgid "Host name of the player" msgstr "Nome do xogador anfitrión" #. Label for column Number #: ../server/gtk/main.c:771 msgid "Number" msgstr "Número" #. Tooltip for column Number #: ../server/gtk/main.c:778 msgid "Player number" msgstr "Número do xogador" #. Label for column Role #: ../server/gtk/main.c:784 msgid "Role" msgstr "Rol" #. Tooltip for column Role #: ../server/gtk/main.c:788 #, fuzzy msgid "Player or spectator" msgstr "Xogador de visor" #. Button text #: ../server/gtk/main.c:825 msgid "Launch Pioneers Client" msgstr "Lanzar o cliente de Pioneiros" #. Tooltip #: ../server/gtk/main.c:839 msgid "Launch the Pioneers client" msgstr "Lanzar o cliente de Pioneiros" #. ai chat toggle #: ../server/gtk/main.c:868 msgid "Enable chat" msgstr "Permitir conversa" #. Tooltip #: ../server/gtk/main.c:875 msgid "Enable chat messages" msgstr "Permitir as mensaxes de conversa" #. Button text #: ../server/gtk/main.c:884 msgid "Add Computer Player" msgstr "Engadir un xogador do computador" #. Tooltip #: ../server/gtk/main.c:892 msgid "Add a computer player to the game" msgstr "Engadir un xogador do computador no xogo" #. Tooltip #: ../server/gtk/main.c:925 msgid "Messages from the server" msgstr "Mensaxes do servidor" #: ../server/gtk/main.c:961 msgid "Game settings" msgstr "Configuración do xogo" #. server frame #: ../server/gtk/main.c:972 msgid "Server parameters" msgstr "Parámetros do servidor" #: ../server/gtk/main.c:992 msgid "Running game" msgstr "Xogo actual" #. player connected frame #: ../server/gtk/main.c:1008 msgid "Players connected" msgstr "Xogadores conectados" #. ai frame #: ../server/gtk/main.c:1012 msgid "Computer players" msgstr "Xogadores do computador" #. message frame #: ../server/gtk/main.c:1024 msgid "Messages" msgstr "Mensaxes" #. Caption of about box #: ../server/gtk/main.c:1150 #, fuzzy msgid "About the Pioneers Game Server" msgstr "O servidor do xogo Pioneiros" # #. Wait for all players to disconnect, #. * then enable the UI #. #: ../server/gtk/main.c:1158 msgid "The game is over.\n" msgstr "O xogo rematou.\n" #. Long description in the commandline for server-gtk: help #. Long description in the commandline for server-console: help #: ../server/gtk/main.c:1212 ../server/main.c:194 msgid "- Host a game of Pioneers" msgstr "- Organice un xogo de Pioneiros" #. Name in the titlebar of the server #: ../server/gtk/main.c:1236 ../server/gtk/pioneers-server-gtk.desktop.in.h:1 msgid "Pioneers Server" msgstr "Servidor de Pioneiros" #: ../server/gtk/pioneers-server-gtk.desktop.in.h:2 msgid "Host a game of Pioneers" msgstr "Hospedar unha partida de Pioneiros" #: ../server/gtk/pioneers-server-gtk.desktop.in.h:3 msgid "game;board;server;host;Pioneers;Settlers;" msgstr "" #. Commandline server-console: game-title #: ../server/main.c:80 msgid "Game title to use" msgstr "Título do xogo para usar" #. Commandline server-console: file #: ../server/main.c:83 msgid "Game file to use" msgstr "Ficheiro de xogo para usar" #. Commandline server-console: port #: ../server/main.c:86 msgid "Port to listen on" msgstr "Porto para escoitar" #. Commandline server-console: players #: ../server/main.c:89 msgid "Override number of players" msgstr "Anular o número de xogadores" #. Commandline server-console: points #: ../server/main.c:92 msgid "Override number of points needed to win" msgstr "Anular o número de puntos precisos para gañar" #. Commandline server-console: seven-rule #: ../server/main.c:95 msgid "Override seven-rule handling" msgstr "Anular a regra do 7" #. Commandline server-console: dice-deck #: ../server/main.c:98 #, fuzzy msgid "Override dice-deck handling" msgstr "Anular a regra do 7" #. Commandline server-console: num-dice-decks #: ../server/main.c:101 #, fuzzy msgid "Override num-dice-decks handling" msgstr "Anular a regra do 7" #. Commandline server-console: num-removed-dice-cards #: ../server/main.c:105 #, fuzzy msgid "Override num-removed-dice-cards handling" msgstr "Anular a regra do 7" #. Commandline server-console: terrain #: ../server/main.c:108 msgid "Override terrain type, 0=default 1=random" msgstr "Anular tipo de terreo, 0=predefinido 1=ao chou" #. Commandline server-console: computer-players #: ../server/main.c:111 msgid "Add N computer players" msgstr "Engadir N xogadores do computador" #. Commandline server-console: register #: ../server/main.c:121 msgid "Register server with metaserver" msgstr "Rexistrar o servidor co meta-servidor" #. Commandline server-console: metaserver #: ../server/main.c:124 msgid "Register at metaserver name (implies -r)" msgstr "Rexistrar en nome do meta-servidor (supón -r)" #. Commandline server-console: hostname #: ../server/main.c:128 msgid "Use this hostname when registering" msgstr "Usar este nome de máquina cando se rexistre" #. Commandline server-console: auto-quit #: ../server/main.c:135 msgid "Quit after a player has won" msgstr "Saír despois de que un xogador gañe" #. Commandline server-console: empty-timeout #: ../server/main.c:138 msgid "Quit after N seconds with no players" msgstr "Saír despois de N segundos sen xogadores" #. Commandline server-console: tournament #: ../server/main.c:141 msgid "Tournament mode, computer players added after N minutes" msgstr "Modo de torneo, xogadores do computador engadidos despois de N minutos" #. Commandline server-console: admin-port #: ../server/main.c:145 msgid "Admin port to listen on" msgstr "Porto administrador para a escoita" #. Commandline server-console: admin-wait #: ../server/main.c:148 msgid "Don't start game immediately, wait for a command on admin port" msgstr "" "Non comece o xogo inmediatamente, espere unha orde do porto administrador" #. Commandline server-console: fixed-seating-order #: ../server/main.c:154 msgid "Give players numbers according to the order they enter the game" msgstr "Dar números de xogadores de acordo á orde na que entren no xogo" #. Commandline server-console: Short description of meta group #: ../server/main.c:200 msgid "Metaserver Options" msgstr "Opción do metaservidor" #. Commandline server-console: Long description of meta group #: ../server/main.c:202 msgid "Options for the metaserver" msgstr "Opción para o metaservidor" #. Commandline server-console: Short description of misc group #: ../server/main.c:211 msgid "Miscellaneous Options" msgstr "Opcións varias" #. Commandline server-console: Long description of misc group #: ../server/main.c:213 msgid "Miscellaneous options" msgstr "Opcións varias" #. server-console commandline error #: ../server/main.c:239 #, c-format msgid "Cannot set game title and filename at the same time\n" msgstr "" "Non se pode establecer un titulo ao xogo e un nome ao ficheiro ao mesmo " "tempo\n" #. server-console commandline error #: ../server/main.c:256 #, c-format msgid "Cannot load the parameters for the game\n" msgstr "Non se poden cargar os parámetros da partida\n" #. Error message #: ../server/main.c:305 ../server/main.c:324 #, c-format msgid "The network port (%s) for the admin interface is not available.\n" msgstr "" #: ../server/meta.c:58 #, fuzzy msgid "The connection to the metaserver is lost.\n" msgstr "Opción para o metaservidor" #: ../server/meta.c:64 #, c-format msgid "An attempt to reconnect is scheduled in %u second.\n" msgid_plural "An attempt to reconnect is scheduled in %u seconds.\n" msgstr[0] "" msgstr[1] "" #: ../server/meta.c:83 #, fuzzy msgid "Attempting to reconnect to the metaserver.\n" msgstr "Opción para o metaservidor" #: ../server/meta.c:311 #, fuzzy, c-format msgid "Register with the metaserver at %s.\n" msgstr "Rexistrar co metaservidor no %s, porto %s\n" #: ../server/meta.c:322 #, fuzzy msgid "Unregister from the metaserver.\n" msgstr "Darse de baixa do metaservidor\n" #: ../server/player.c:142 msgid "chat too long" msgstr "Conversa demasiado longa" #: ../server/player.c:159 msgid "name too long" msgstr "Nome demasiado longo" #: ../server/player.c:191 msgid "ignoring unknown extension" msgstr "ignorar extensión descoñecida" #: ../server/player.c:228 ../server/player.c:298 msgid "The last player left, the tournament timer is reset." msgstr "O ultimo xogador saíu, o contador do torneo restableceuse." #: ../server/player.c:262 ../server/player.c:643 msgid "No human players present. Bye." msgstr "" #: ../server/player.c:269 msgid "Game starts, adding computer players." msgstr "A partida comeza, engadindo xogadores do computador." #: ../server/player.c:311 #, c-format msgid "The game starts in %s minutes." msgstr "O xogo comeza en %s minutos." #: ../server/player.c:312 #, c-format msgid "The game starts in %s minute." msgstr "O xogo comeza en %s minutos." # #. Default name for the AI when the computer_names file #. * is not found or empty. #. #: ../server/player.c:370 ../server/player.c:376 msgid "Computer Player" msgstr "Xogador do computador" #: ../server/player.c:450 #, c-format msgid "Unable to determine the hostname of the player: %s" msgstr "" #. The game is over, don't accept new players #. Message to send to the client when the game is already over #. * when a connection is made. #: ../server/player.c:476 msgid "Sorry, game is over." msgstr "O xogo rematou." #: ../server/player.c:478 #, c-format msgid "Player from %s is refused: game is over\n" msgstr "Xogador de %s rexeitado: fin do xogo\n" #: ../server/player.c:520 msgid "Name not changed: new name is already in use" msgstr "O nome non cambiou: o novo nome xa está en uso" #: ../server/player.c:638 ../server/server.c:38 msgid "Was hanging around for too long without players... bye.\n" msgstr "Esperouse demasiado tempo sen xogadores... Adeus.\n" #: ../server/player.c:723 msgid "The last human player left. Waiting for the return of a player." msgstr "" #: ../server/player.c:744 msgid "Resuming the game." msgstr "" #. %s is the name of the reconnecting player #: ../server/player.c:870 #, c-format msgid "%s has reconnected." msgstr "%s reconectouse." #: ../server/player.c:970 #, c-format msgid "Version mismatch: %s" msgstr "A versión non coincide: %s" #: ../server/player.c:1007 msgid "This game will start soon." msgstr "Este xogo comezará en breve" #. Server: preparing game #..... #: ../server/server.c:221 msgid "Preparing game" msgstr "Preparando a partida" #: ../server/turn.c:254 msgid "Island Discovery Bonus" msgstr "Bonificación por descubrimento de illas" #: ../server/turn.c:255 msgid "Additional Island Bonus" msgstr "Bonificación por illas adicionais" #: ../server/turn.c:386 msgid "Tried to assign resources to NULL player.\n" msgstr "Tentouse asignar recursos para un xogador nulo.\n" #. Cheat mode has been activated #: ../server/turn.c:516 msgid "The dice roll has been determined by the administrator." msgstr "O rol do dado foi determinado polo administrador." #~ msgid "Join the selected game" #~ msgstr "Unirse ao xogo seleccionado" #~ msgid "Don't join a public game" #~ msgstr "Non unirse a un xogo público" #~ msgid "Create a new public game at the metaserver" #~ msgstr "Crear un xogo público novo no metaservidor" #~ msgid "Refresh the list of games" #~ msgstr "Renovar a lista de xogos" #~ msgid "Version:" #~ msgstr "Versión:" #~ msgid "Homepage:" #~ msgstr "Páxina de inicio:" #~ msgid "Authors:" #~ msgstr "Autores:" #~ msgid "Pioneers is translated to by:\n" #~ msgstr "Pioneiros tradúcese ao galego por:\n" #~ msgid "Metaserver kicked us off\n" #~ msgstr "Botounos o Meta-servidor\n" #~ msgid "" #~ "Note:\n" #~ "\tThe metaserver does not send information about the games.\n" #~ "\tPlease set appropriate values yourself." #~ msgstr "" #~ "Nota:\n" #~ "\tO metaservidor non envía información acerca dos xogos.\n" #~ "\tPor favor, axuste os valores apropiados vostede mesmo." #~ msgid "Error checking connect status: %s\n" #~ msgstr "Erro comprobando o estado da conexión: %s\n" #~ msgid "Error connecting to host '%s': %s\n" #~ msgstr "Erro conectando ao anfitrión '%s': %s\n" #~ msgid "Error writing socket: %s\n" #~ msgstr "Erro escribindo conectador: %s\n" #~ msgid "Error creating socket: %s\n" #~ msgstr "Erro creando conectador: %s\n" #~ msgid "Error setting socket close-on-exec: %s\n" #~ msgstr "Erro axustando conectador close-on-exec: %s\n" #~ msgid "Error setting socket non-blocking: %s\n" #~ msgstr "Erro axustando conectador de non bloqueo:%s\n" #~ msgid "Cannot resolve %s port %s: %s\n" #~ msgstr "Non se pode resolver %s porto %s: %s\n" #~ msgid "Cannot resolve %s port %s: host not found\n" #~ msgstr "Non se pode resolver %s porto %s: anfitrión non atopado\n" #~ msgid "Error creating struct addrinfo: %s" #~ msgstr "Erro creando struct addrinfo: %s" #~ msgid "Error creating listening socket: %s\n" #~ msgstr "Erro creando conectador de escoita: %s\n" #~ msgid "Error during listen on socket: %s\n" #~ msgstr "Erro durante a escoita no conectador: %s\n" #~ msgid "Listening not yet supported on this platform." #~ msgstr "Escoita non compatíbel aínda nesta plataforma." #~ msgid "Error getting peer name: %s" #~ msgstr "Erro obtendo nome ao mesmo nivel: %s" #~ msgid "Error resolving address: %s" #~ msgstr "Erro conseguindo enderezo: %s" #~ msgid "Net_get_peer_name not yet supported on this platform." #~ msgstr "Net_get_peer_name aínda non é compatíbel con esta plataforma" #~ msgid "Error accepting connection: %s" #~ msgstr "Produciuse un erro ao aceptar a conexión : %s" #, fuzzy #~ msgid "Admin port not available.\n" #~ msgstr "Sintoo, %s dispoñíbel.\n" #~ msgid "Admin port is not set, cannot disable game start too\n" #~ msgstr "" #~ "O porto de administración non está asignado, tampouco se pode desactivar " #~ "o inicio do xogo\n" #~ msgid "Viewer %d" #~ msgstr "Visualizador %d" #~ msgid "viewer %d" #~ msgstr "Visualizador %d" #~ msgid "I want" #~ msgstr "Quero..." #~ msgid "Give them" #~ msgstr "Dalles..." #~ msgid "Viewer: " #~ msgstr "Visor: " #~ msgid "Number of AI Players" #~ msgstr "Número de xogadores do computador" #~ msgid "The number of AI players" #~ msgstr "Número de xogadores do computador" #~ msgid "Recent Games" #~ msgstr "Xogos recentes" #~ msgid "You may choose 1 resource" #~ msgstr "Podes elixir 1 recurso" #~ msgid "_Player name" #~ msgstr "Nome do _xogador" #~ msgid "The Pioneers Game" #~ msgstr "O xogo de Pioneiros" #~ msgid "Select the ship to steal from" #~ msgstr "Seleccione o barco a roubar" #~ msgid "Select the building to steal from" #~ msgstr "Elixe o edificio que queres roubar" #~ msgid "Development Card" #~ msgstr "Carta de desenvolvemento" #~ msgid "Player Name:" #~ msgstr "Nome do xogador:" #~ msgid "I Want" #~ msgstr "Quero..." #~ msgid "Interplayer Trading Allowed?" #~ msgstr "Permítese comercio entre os xogadores?" #~ msgid "Trading allowed only before build/buy?" #~ msgstr "Comercio permitido só antes de construír/mercar?" #~ msgid "Check Victory Only At End Of Turn?" #~ msgstr "Comprobar victoria só ao final da quenda?" #~ msgid "Sevens Rule:" #~ msgstr "Regra dos setes:" #~ msgid "Use Pirate:" #~ msgstr "Use Pirata:" #~ msgid "Number of Players" #~ msgstr "Número de xogadores" #~ msgid "Development Cards" #~ msgstr "Carta de desenvolvemento" #~ msgid "Save as..." #~ msgstr "Gardar como..." #~ msgid "Pioneers Game Editor" #~ msgstr "Editor do xogo Pioneiros" #~ msgid "_Change title" #~ msgstr "Cambiar _titulo" #~ msgid "Random Turn Order" #~ msgstr "Orde de quendas ao chou" pioneers-15.5/po/ja.po0000644000175000017500000031374713252242740011601 00000000000000# Pioneers - Settlers of Catan for GNOME. # Copyright (C) 1999-2001 Dave Cole # Copyright (C) 2000-2002 Andy Heroff # This file is distributed under the same license as the pioneers package. # Yasuhiko Takasugi , 2006-2007. # # msgid "" msgstr "" "Project-Id-Version: Pioneers 15.1\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-03-14 16:51+0100\n" "PO-Revision-Date: 2013-09-16 02:46+0000\n" "Last-Translator: KAMO Tomoyuki \n" "Language-Team: Japanese \n" "Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Launchpad-Export-Date: 2013-09-18 06:12+0000\n" "X-Generator: Launchpad (build 16765)\n" #. Commandline pioneersai: chromosome-file #: ../client/ai/ai.c:90 msgid "Chromosome File" msgstr "" #. Commandline pioneersai: server #: ../client/ai/ai.c:93 msgid "Server Host" msgstr "サーãƒãƒ›ã‚¹ãƒˆ" #. Commandline pioneersai: port #: ../client/ai/ai.c:96 msgid "Server Port" msgstr "サーãƒãƒãƒ¼ãƒˆ" #. Commandline pioneersai: name #: ../client/ai/ai.c:99 msgid "Computer name (mandatory)" msgstr "コンピュータプレイヤーã®åå‰ (å¿…é ˆ)" #. Commandline pioneersai: time #: ../client/ai/ai.c:102 msgid "Time to wait between turns (in milliseconds)" msgstr "ターン間ã®å¾…ã¡æ™‚é–“ (ミリ秒å˜ä½)" #. Commandline pioneersai: chat-free #: ../client/ai/ai.c:105 msgid "Stop computer player from talking" msgstr "コンピュータプレイヤーã«ãƒãƒ£ãƒƒãƒˆã§ã—ゃã¹ã‚‰ã›ãªã„" #. Commandline pioneersai: algorithm #: ../client/ai/ai.c:108 msgid "Type of computer player" msgstr "コンピュータプレイヤーã®ç¨®é¡ž" #. Commandline option of ai: enable debug logging #. Commandline option of client: enable debug logging #. Commandline option of metaserver: enable debug logging #. Commandline option of server-gtk: enable debug logging #. Commandline option of server: enable debug logging #: ../client/ai/ai.c:111 ../client/gtk/offline.c:67 ../metaserver/main.c:631 #: ../server/gtk/main.c:1170 ../server/main.c:159 msgid "Enable debug messages" msgstr "デãƒãƒƒã‚°ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’有効ã«ã™ã‚‹" #. Commandline option of ai: version #. Commandline option of client: version #. Commandline option of editor: version #. Commandline option of metaserver: version #. Commandline option of server-gtk: version #. Commandline option of server-console: version #: ../client/ai/ai.c:114 ../client/gtk/offline.c:70 ../editor/gtk/editor.c:1843 #: ../metaserver/main.c:637 ../server/gtk/main.c:1173 ../server/main.c:114 msgid "Show version information" msgstr "ãƒãƒ¼ã‚¸ãƒ§ãƒ³æƒ…報を表示ã™ã‚‹" #. Long description in the commandline for pioneersai: help #: ../client/ai/ai.c:125 msgid "- Computer player for Pioneers" msgstr "- Pioneers ã®ã‚³ãƒ³ãƒ”ュータプレイヤー" #: ../client/ai/ai.c:137 ../client/gtk/offline.c:196 #: ../editor/gtk/editor.c:1888 ../metaserver/main.c:687 #: ../server/gtk/main.c:1223 ../server/main.c:226 #, c-format msgid "Pioneers version:" msgstr "Pioneers ãƒãƒ¼ã‚¸ãƒ§ãƒ³:" #. ai commandline error #: ../client/ai/ai.c:160 #, c-format msgid "A name must be provided.\n" msgstr "åå‰ãŒå¿…è¦ã§ã™ã€‚\n" #: ../client/ai/ai.c:171 #, c-format msgid "Type of computer player: %s\n" msgstr "コンピュータプレイヤーã®ç¨®é¡ž: %s\n" #: ../client/ai/ai.c:202 msgid "The game is already full. I'm leaving." msgstr "ゲームã¯ã™ã§ã«ã„ã£ã±ã„ã§ã™ã€‚ç§ã¯æŠœã‘ã¾ã™ã€‚" #. AI chat at the start of the turn #: ../client/ai/ai.c:230 msgid "Ok, let's go!" msgstr "OKã€ãƒ¬ãƒƒãƒ„ゴー!" #. AI chat at the start of the turn #: ../client/ai/ai.c:232 msgid "I'll beat you all now! ;)" msgstr "全員やã£ã¤ã‘ã¦ã‚„ã‚‹! ;)" #. AI chat at the start of the turn #: ../client/ai/ai.c:234 msgid "Now for another try..." msgstr "é•ã†ã“ã¨ã‚„ã£ã¦ã¿ã‚‹ã‹..." #. AI chat when one resource is received #: ../client/ai/ai.c:239 msgid "At least I get something..." msgstr "å°‘ãªãã¨ã‚‚何ã‹ã¨ã‚ŒãŸ..." #. AI chat when one resource is received #: ../client/ai/ai.c:241 msgid "One is better than none..." msgstr "ãªã„よりマシã‹..." #. AI chat when more than one resource is received #: ../client/ai/ai.c:246 msgid "Wow!" msgstr "ワォ!" #. AI chat when more than one resource is received #: ../client/ai/ai.c:248 msgid "Ey, I'm becoming rich ;)" msgstr "ã„ã‡ã„ã€é‡‘æŒã¡ã«ãªã£ãŸã€‚ ;)" #. AI chat when more than one resource is received #: ../client/ai/ai.c:250 msgid "This is really a good year!" msgstr "今年ã¯ã»ã‚“ã¨ã«è‰¯ã„å¹´ã !" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:255 msgid "You really don't deserve that much!" msgstr "ãªã‚“ã§ãã‚“ãªã«ã‚‚らã£ã¦ã‚“ã ã‚ˆ!" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:257 msgid "You don't know what to do with that many resources ;)" msgstr "ãã‚“ãªã«ãŸãã•んもらã£ã¦ã‚‚何ã™ã‚Œã°ã„ã„ã‹ã‚ã‹ã‚“ãªã„ã ã‚? ;)" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:259 msgid "Ey, wait for my robber and lose all this again!" msgstr "ã†ã£ã€ç›—賊を待ã£ã¦ã‚! 全部ãªãã—ã¦ã‚„ã‚‹!" #. AI chat when it moves the robber #: ../client/ai/ai.c:264 msgid "Hehe!" msgstr "ã¸ã¸!" #. AI chat when it moves the robber #: ../client/ai/ai.c:266 msgid "Go, robber, go!" msgstr "ã„ã‘ã€ç›—賊ã !" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:271 msgid "You bastard!" msgstr "ã‚ãã§ãªã—!" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:273 msgid "Can't you move that robber somewhere else?!" msgstr "ãã“ã˜ã‚ƒãªãゃã ã‚?!" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:275 msgid "Why always me??" msgstr "何ã§ã„ã¤ã‚‚ç§??" #. AI chat when it must discard resources #: ../client/ai/ai.c:280 msgid "Oh no!" msgstr "オーã€ãƒŽãƒ¼!" #. AI chat when it must discard resources #: ../client/ai/ai.c:282 msgid "Grrr!" msgstr "ãŒãƒ¼!" #. AI chat when it must discard resources #: ../client/ai/ai.c:284 msgid "Who the hell rolled that 7??" msgstr "7出ã—ãŸã®èª°ã ã‚ˆ??" #. AI chat when it must discard resources #: ../client/ai/ai.c:286 msgid "Why always me?!?" msgstr "何ã§ã„ã¤ã‚‚ç§?!?" #. AI chat when other players must discard #: ../client/ai/ai.c:291 msgid "Say good bye to your cards... :)" msgstr "カードã«ã•よãªã‚‰ã—ãª!" #. AI chat when other players must discard #: ../client/ai/ai.c:293 msgid "*evilgrin*" msgstr "(暗黒微笑)" #. AI chat when other players must discard #: ../client/ai/ai.c:295 msgid "/me says farewell to your cards ;)" msgstr "/me ã¯ã‚ãªãŸã®ã‚«ãƒ¼ãƒ‰ã«åˆ¥ã‚Œã®è¨€è‘‰ã‚’告ã’㟠;)" #. AI chat when other players must discard #: ../client/ai/ai.c:297 msgid "That's the price for being rich... :)" msgstr "豊ã‹ã•ã«ã¯å‡ºè²»ãŒå¿…è¦ãªã‚“ã ã‚ˆ... :)" #. AI chat when someone steals from it #: ../client/ai/ai.c:302 msgid "Ey! Where's that card gone?" msgstr "ã‚ã‚! カードã¯ã©ã“ã«ã„ã£ã¦ã—ã¾ã£ãŸã®?" #. AI chat when someone steals from it #: ../client/ai/ai.c:304 msgid "Thieves! Thieves!!" msgstr "泥棒! 泥棒!!" #. AI chat when someone steals from it #: ../client/ai/ai.c:306 msgid "Wait for my revenge..." msgstr "復è®ã—ã¦ã‚„ã‚‹..." #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:311 msgid "Oh no :(" msgstr "ãŠãƒ¼ã€ã®ãƒ¼ :(" #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:313 msgid "Must this happen NOW??" msgstr "今ã€ã“れãŒãŠã“ã‚‹ã®ã‹??" #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:315 msgid "Args" msgstr "ã†ã’ã£" #. AI chat when it has the largest army #: ../client/ai/ai.c:320 msgid "Hehe, my soldiers rule!" msgstr "ã¸ã¸ã€æˆ‘ãŒè»ãŒæ”¯é…ã™ã‚‹ã®ã !" #. AI chat when another player that the largest army #: ../client/ai/ai.c:325 msgid "First robbing us, then grabbing the points..." msgstr "最åˆã«ç§ãŸã¡ãŒå¥ªã‚れã€ãã†ã—ã¦ãƒã‚¤ãƒ³ãƒˆãŒå¥ªã‚れる..." #. AI chat when it has the longest road #: ../client/ai/ai.c:330 msgid "See that road!" msgstr "è¡—é“ã‚’ã¿ã‚!" #. AI chat when another player has the longest road #: ../client/ai/ai.c:335 msgid "Pf, you won't win with roads alone..." msgstr "プッã€è¡—é“ã ã‘ã˜ã‚ƒå‹ã¦ãªã„よ..." #: ../client/ai/ai.c:434 #, c-format msgid "Received error from server: %s. Quitting\n" msgstr "サーãƒ: %s ã‹ã‚‰ã‚¨ãƒ©ãƒ¼ã‚’å—ã‘å–ã£ãŸã€‚終了ã™ã‚‹ã€‚\n" #. AI chat when it wins #: ../client/ai/ai.c:446 ../client/ai/genetic.c:2766 msgid "Yippie!" msgstr "イッピー!" #. AI chat when another player wins #: ../client/ai/ai.c:449 ../client/ai/genetic.c:2777 msgid "My congratulations" msgstr "ãŠã‚ã§ã¨ã†" #: ../client/ai/genetic.c:1277 ../client/ai/greedy.c:961 msgid "No settlements in stock to use for setup" msgstr "åˆæœŸé…ç½®ç”¨ã®æ‰‹æŒã¡ã®é–‹æ‹“地ãŒã‚‚ã†ã‚りã¾ã›ã‚“。" #: ../client/ai/genetic.c:1284 ../client/ai/greedy.c:968 msgid "There is no place to setup a settlement" msgstr "開拓地をé…ç½®ã™ã‚‹ä½™åœ°ãŒã‚りã¾ã›ã‚“。" #: ../client/ai/genetic.c:1311 ../client/ai/greedy.c:992 msgid "No roads in stock to use for setup" msgstr "åˆæœŸé…ç½®ç”¨ã®æ‰‹æŒã¡ã®è¡—é“ãŒã‚‚ã†ã‚りã¾ã›ã‚“。" #: ../client/ai/genetic.c:1329 ../client/ai/greedy.c:1009 msgid "There is no place to setup a road" msgstr "è¡—é“を設置ã™ã‚‹ä½™åœ°ãŒã‚りã¾ã›ã‚“。" #: ../client/ai/genetic.c:2651 ../client/ai/greedy.c:1784 msgid "Rejecting trade.\n" msgstr "交易拒å¦ã€‚\n" #. Translators: don't translate '/help' #: ../client/ai/lobbybot.c:80 msgid "" "Hello, welcome to the lobby. I am a simple robot. Type '/help' in the chat " "to see the list of commands I know." msgstr "" "ã“ã‚“ã«ã¡ã¯ã€ã‚ˆã†ã“ãロビーã¸ã€‚ç§ã¯å˜ç´”ãªãƒ­ãƒœãƒƒãƒˆã§ã™ã€‚ãƒãƒ£ãƒƒãƒˆã§'/help'ã¨æ‰“ã¡" "込むã¨ã€ç§ãŒçŸ¥ã£ã¦ã„るコマンドã®ä¸€è¦§ã‚’表示ã—ã¾ã™ã€‚" #. Translators: don't translate '/help' #: ../client/ai/lobbybot.c:107 msgid "'/help' shows this message again" msgstr "'/help' ã¯ã“ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’å†åº¦è¡¨ç¤ºã™ã‚‹" #. Translators: don't translate '/why' #: ../client/ai/lobbybot.c:110 msgid "'/why' explains the purpose of this strange board layout" msgstr "'/why' ã¯ã“ã®ãƒœãƒ¼ãƒ‰ã®ä¸æ€è­°ãªé…ç½®ã®ç›®çš„を説明ã™ã‚‹" #. Translators: don't translate '/news' #: ../client/ai/lobbybot.c:113 msgid "'/news' tells the last released version" msgstr "'/news' ã¯æœ€æ–°ã®ãƒªãƒªãƒ¼ã‚¹ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’表示ã™ã‚‹" #. AI chat that explains '/why' #: ../client/ai/lobbybot.c:119 msgid "" "This board is not intended to be a game that can be played. Instead, players " "can find eachother here, and decide which board they want to play. Then, one " "of the players will host the proposed game by starting a server, and " "registers it at the metaserver. The other players can subsequently " "disconnect from the lobby, and enter that game." msgstr "" "ã“ã®ãƒœãƒ¼ãƒ‰ã¯ã‚²ãƒ¼ãƒ ã‚’éŠã¶ãŸã‚ã®ã‚‚ã®ã§ã¯ã‚りã¾ã›ã‚“。ãã®ä»£ã‚りã«ã€ãƒ—レイヤーã¯" "ã“ã“ã§ä»–ã®ãƒ—レイヤーを見ã¤ã‘ã€ã©ã®ãƒœãƒ¼ãƒ‰ã§éŠã³ãŸã„ã‹ã‚’決ã‚ã¾ã™ã€‚ãã—ã¦ã€ãƒ—レ" "イヤーã®ä¸€äººãŒã‚µãƒ¼ãƒã‚’é–‹å§‹ã—ã¦ææ¡ˆã•れãŸã‚²ãƒ¼ãƒ ã®ãƒ›ã‚¹ãƒˆã¨ãªã‚Šã€ã‚²ãƒ¼ãƒ ã‚’メタ" "サーãƒã«ç™»éŒ²ã—ã¾ã™ã€‚ç¶šã„ã¦ä»–ã®ãƒ—レイヤーã¯ãƒ­ãƒ“ーã‹ã‚‰åˆ‡æ–­ã—ã€ã‚²ãƒ¼ãƒ ã«å‚加ã—ã¾" "ã™ã€‚" #: ../client/ai/lobbybot.c:130 msgid "The last released version of Pioneers is" msgstr "Pioneers ã®æœ€æ–°ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã¯" #. The lobbybot leaves when a game is starting #: ../client/ai/lobbybot.c:146 msgid "The game is starting. I'm not needed anymore. Goodbye." msgstr "ゲームを開始ã—ã¾ã™ã€‚ç§ã®ä»•事ã¯ã“ã“ã§ãŠã—ã¾ã„ã§ã™ã€‚ã§ã¯ã€‚" #: ../client/common/client.c:105 msgid "Waiting" msgstr "待機中" #: ../client/common/client.c:107 msgid "Idle" msgstr "アイドル" #: ../client/common/client.c:532 msgid "We have been kicked out of the game.\n" msgstr "ゲームã‹ã‚‰è¹´ã‚Šå‡ºã•れãŸã€‚\n" #. Network status: offline #: ../client/common/client.c:535 ../client/common/client.c:990 #: ../client/gtk/gui.c:1532 msgid "Offline" msgstr "オフライン" #: ../client/common/client.c:556 #, c-format msgid "Error (%s): %s\n" msgstr "エラー (%s): %s\n" #: ../client/common/client.c:565 ../client/common/client.c:576 #, c-format msgid "Notice: %s\n" msgstr "注æ„: %s\n" #: ../client/common/client.c:693 #, c-format msgid "%s does not receive any %s, because the bank is empty.\n" msgstr "å±±ã«è³‡æºãŒãªã„ãŸã‚ã€%s 㯠%s ã‚’å—ã‘å–れãªã„。\n" #: ../client/common/client.c:706 #, c-format msgid "%s only receives %s, because the bank didn't have any more.\n" msgstr "å±±ã«è³‡æºãŒè¶³ã‚Šãªã„ãŸã‚ã€%s 㯠%s ã ã‘å—ã‘å–る。\n" #: ../client/common/client.c:716 #, c-format msgid "%s receives %s.\n" msgstr "%s 㯠%s ã‚’å—ã‘å–ã£ãŸã€‚\n" #. Year of Plenty #: ../client/common/client.c:724 ../client/common/client.c:2663 #, c-format msgid "%s takes %s.\n" msgstr "%s 㯠%s ã‚’å–る。\n" #: ../client/common/client.c:729 #, c-format msgid "%s spent %s.\n" msgstr "%s 㯠%s を使ã£ãŸã€‚\n" #: ../client/common/client.c:735 #, c-format msgid "%s is refunded %s.\n" msgstr "%s 㯠%s ã‚’æ‰•ã„æˆ»ã—ãŸã€‚\n" #. %s = Player name #: ../client/common/client.c:753 #, c-format msgid "%s shuffled the dice deck.\n" msgstr "%s ã¯ã‚µã‚¤ã‚³ãƒ­ãƒ‡ãƒƒã‚­ã‚’シャッフルã—ãŸã€‚\n" #: ../client/common/client.c:772 #, c-format msgid "%s discarded %s.\n" msgstr "%s 㯠%s ã‚’æ¨ã¦ãŸã€‚\n" #: ../client/common/client.c:846 #, c-format msgid "%s has won the game with %d victory points!\n" msgstr "%s ã¯å‹åˆ©ãƒã‚¤ãƒ³ãƒˆ %d ã§å‹åˆ©ã—ãŸ!\n" #: ../client/common/client.c:945 msgid "Loading" msgstr "ロード中" #: ../client/common/client.c:991 msgid "Version mismatch." msgstr "ãƒãƒ¼ã‚¸ãƒ§ãƒ³ä¸æ•´åˆã€‚" #: ../client/common/client.c:993 msgid "Version mismatch. Please make sure client and server are up to date.\n" msgstr "ãƒãƒ¼ã‚¸ãƒ§ãƒ³ä¸æ•´åˆã€‚クライアントã¨ã‚µãƒ¼ãƒãŒæœ€æ–°ã‹ç¢ºèªã—ã¦ãã ã•ã„。\n" #: ../client/common/client.c:1413 msgid "Build two settlements, each with a connecting" msgstr "以下を建設ã—ã¦ãã ã•ã„: 開拓地2ã¤ã¨ã€ãれãžã‚Œã«ã¤ãªã’ãŸ" #: ../client/common/client.c:1416 msgid "Build a settlement with a connecting" msgstr "以下を建設ã—ã¦ãã ã•ã„: 開拓地1ã¤ã¨ã€ãれã«ã¤ãªã’ãŸ" #: ../client/common/client.c:1419 msgid "road" msgstr "è¡—é“" #: ../client/common/client.c:1421 msgid "bridge" msgstr "æ©‹" #: ../client/common/client.c:1423 msgid "ship" msgstr "船" #: ../client/common/client.c:1430 msgid " or" msgstr " ã¾ãŸã¯" #: ../client/common/client.c:1494 msgid "Waiting for your turn." msgstr "ã‚ãªãŸã®ã‚¿ãƒ¼ãƒ³ã‚’å¾…ã£ã¦ã„る。" #: ../client/common/client.c:1546 ../client/gtk/interface.c:784 msgid "Select the building to steal from." msgstr "強奪ã™ã‚‹å»ºç¯‰ç‰©ã‚’é¸æŠžã—ã¦ãã ã•ã„。" #: ../client/common/client.c:1568 ../client/gtk/interface.c:774 msgid "Select the ship to steal from." msgstr "強奪ã™ã‚‹èˆ¹ã‚’é¸æŠžã—ã¦ãã ã•ã„。" #: ../client/common/client.c:1652 ../client/gtk/interface.c:816 msgid "Place the robber." msgstr "盗賊をé…ç½®ã—ã¦ãã ã•ã„。" #: ../client/common/client.c:1702 msgid "Finish the road building action." msgstr "è¡—é“ã®æ•·è¨­ã‚’終了ã—ã¦ãã ã•ã„。" #: ../client/common/client.c:1704 msgid "Build one road segment." msgstr "è¡—é“ã‚’1ã¤æ•·è¨­ã—ã¦ãã ã•ã„。" #: ../client/common/client.c:1706 msgid "Build two road segments." msgstr "è¡—é“ã‚’2ã¤æ•·è¨­ã—ã¦ãã ã•ã„。" #. Notification #: ../client/common/client.c:1979 ../client/common/client.c:2073 #: ../client/gtk/interface.c:432 msgid "It is your turn." msgstr "ã‚ãªãŸã®ã‚¿ãƒ¼ãƒ³ã§ã™ã€‚" #: ../client/common/client.c:2167 #, c-format msgid "Sorry, %s available.\n" msgstr "ã™ã¿ã¾ã›ã‚“ã€%s 利用å¯èƒ½ã€‚\n" #: ../client/common/client.c:2481 msgid "The game is over." msgstr "ゲーム終了。" #. This development card is unique #: ../client/common/develop.c:67 #, c-format msgid "You bought the %s development card.\n" msgstr "ã‚ãªãŸã¯ %s 発展カードを買ã£ãŸã€‚\n" #. This development card is not unique #: ../client/common/develop.c:73 #, c-format msgid "You bought a %s development card.\n" msgstr "ã‚ãªãŸã¯ %s 発展カードを買ã£ãŸã€‚\n" #: ../client/common/develop.c:103 #, c-format msgid "%s bought a development card.\n" msgstr "%s ã¯ç™ºå±•カードを買ã£ãŸã€‚\n" #: ../client/common/develop.c:121 #, c-format msgid "%s played the %s development card.\n" msgstr "%s 㯠%s 発展カードを使ã£ãŸã€‚\n" #: ../client/common/develop.c:126 #, c-format msgid "%s played a %s development card.\n" msgstr "%s 㯠%s 発展カードを使ã£ãŸã€‚\n" #: ../client/common/develop.c:138 msgid "You have run out of road segments.\n" msgstr "手æŒã¡ã®è¡—é“ãŒãªããªã£ãŸã€‚\n" #. I get the cards #. $1=resources, $2=player that loses resources #: ../client/common/develop.c:179 #, c-format msgid "You get %s from %s.\n" msgstr "ã‚ãªãŸã¯ %s ã‚’ %s ã‹ã‚‰å¾—ãŸã€‚\n" #. I lose the cards #. $1=player that steals, $2=resources #: ../client/common/develop.c:185 #, c-format msgid "%s took %s from you.\n" msgstr "%s 㯠%s ã‚’ã‚ãªãŸã‹ã‚‰å¥ªã£ãŸã€‚\n" #: ../client/common/develop.c:192 #, c-format msgid "%s took %s from %s.\n" msgstr "%s 㯠%s ã‚’ %s ã‹ã‚‰å¥ªã£ãŸã€‚\n" #: ../client/common/player.c:125 ../server/player.c:567 #, c-format msgid "Spectator %d" msgstr "観戦者 %d" #: ../client/common/player.c:128 #, c-format msgid "spectator %d" msgstr "観戦者 %d" #: ../client/common/player.c:137 ../server/player.c:570 #, c-format msgid "Player %d" msgstr "プレイヤー %d" #: ../client/common/player.c:139 #, c-format msgid "player %d" msgstr "プレイヤー %d" #: ../client/common/player.c:216 #, c-format msgid "New spectator: %s.\n" msgstr "æ–°ã—ã„観戦者: %s。\n" #: ../client/common/player.c:219 ../client/common/player.c:235 #, c-format msgid "%s is now %s.\n" msgstr "%s 㯠%s ã«ãªã£ãŸã€‚\n" #: ../client/common/player.c:232 #, c-format msgid "Player %d is now %s.\n" msgstr "プレイヤー %d 㯠%s ã«ãªã£ãŸã€‚\n" #: ../client/common/player.c:269 #, c-format msgid "%s has quit.\n" msgstr "%s ã¯çµ‚了ã—ãŸã€‚\n" #: ../client/common/player.c:278 msgid "There is no largest army.\n" msgstr "最大兵力ãªã—。\n" #: ../client/common/player.c:281 #, c-format msgid "%s has the largest army.\n" msgstr "%s ãŒæœ€å¤§å…µåŠ›ã‚’æŒã£ãŸã€‚\n" #: ../client/common/player.c:302 msgid "There is no longest road.\n" msgstr "最長交易路ã¯ãªããªã£ãŸã€‚\n" #: ../client/common/player.c:305 #, c-format msgid "%s has the longest road.\n" msgstr "%s ãŒæœ€é•·äº¤æ˜“路をæŒã£ãŸã€‚\n" #: ../client/common/player.c:326 #, c-format msgid "Waiting for %s." msgstr "%s ã‚’å¾…ã£ã¦ã„る。" #. We are not in on the action #. someone stole a resource from someone else #: ../client/common/player.c:354 #, c-format msgid "%s stole a resource from %s.\n" msgstr "%s ã¯è³‡æºã‚’ %s ã‹ã‚‰ç›—ã‚“ã ã€‚\n" #. $1=resource, $2=player name #: ../client/common/player.c:365 #, c-format msgid "You stole %s from %s.\n" msgstr "ã‚ãªãŸã¯ %s ã‚’ %s ã‹ã‚‰ç›—ã‚“ã ã€‚\n" #. $1=player name, $2=resource #: ../client/common/player.c:372 #, c-format msgid "%s stole %s from you.\n" msgstr "%s 㯠%s ã‚’ã‚ãªãŸã‹ã‚‰ç›—ã‚“ã ã€‚\n" #: ../client/common/player.c:406 #, c-format msgid "%s gave %s nothing!?\n" msgstr "%s 㯠%s ã«ä½•も与ãˆãªã„!?\n" #. $1=giving player, $2=receiving player, $3=resources #: ../client/common/player.c:413 ../client/common/player.c:423 #, c-format msgid "%s gave %s %s for free.\n" msgstr "%s 㯠%s ã« %s ã‚’ç„¡æ–™ã§ã‚ã’ãŸã€‚\n" #: ../client/common/player.c:431 #, c-format msgid "%s gave %s %s in exchange for %s.\n" msgstr "%s 㯠%s ã« %s ã‚’ %s ã¨äº¤æ›ã§ä¸ŽãˆãŸã€‚\n" #: ../client/common/player.c:462 #, c-format msgid "%s exchanged %s for %s.\n" msgstr "%s 㯠%s ã‚’ %s ã«äº¤æ›ã—ãŸã€‚\n" #: ../client/common/player.c:482 #, c-format msgid "%s built a road.\n" msgstr "%s ã¯è¡—é“を敷設ã—ãŸã€‚\n" #: ../client/common/player.c:494 #, c-format msgid "%s built a ship.\n" msgstr "%s ã¯èˆ¹ã‚’製造ã—ãŸã€‚\n" #: ../client/common/player.c:507 #, c-format msgid "%s built a settlement.\n" msgstr "%s ã¯é–‹æ‹“地を建設ã—ãŸã€‚\n" #: ../client/common/player.c:526 #, c-format msgid "%s built a city.\n" msgstr "%s ã¯éƒ½å¸‚を建設ã—ãŸã€‚\n" #: ../client/common/player.c:540 #, c-format msgid "%s built a city wall.\n" msgstr "%s ã¯éƒ½å¸‚城å£ã‚’建設ã—ãŸã€‚\n" #. Error message #: ../client/common/player.c:551 #, c-format msgid "player_build_add called with BUILD_NONE for user %s\n" msgstr "ユーザ %s ã«ã¤ã„㦠player_build_add ㌠BUILD_NONE 付ãã§å‘¼ã°ã‚ŒãŸ\n" #: ../client/common/player.c:561 #, c-format msgid "%s built a bridge.\n" msgstr "%s ã¯æ©‹ã‚’建設ã—ãŸã€‚\n" #: ../client/common/player.c:587 #, c-format msgid "%s removed a road.\n" msgstr "%s ã¯è¡—é“ã‚’å–り除ã„ãŸã€‚\n" #: ../client/common/player.c:597 #, c-format msgid "%s removed a ship.\n" msgstr "%s ã¯èˆ¹ã‚’å–り除ã„ãŸã€‚\n" #: ../client/common/player.c:607 #, c-format msgid "%s removed a settlement.\n" msgstr "%s ã¯é–‹æ‹“地をå–り除ã„ãŸã€‚\n" #: ../client/common/player.c:618 #, c-format msgid "%s removed a city.\n" msgstr "%s ã¯éƒ½å¸‚ã‚’å–り除ã„ãŸã€‚\n" #: ../client/common/player.c:632 #, c-format msgid "%s removed a city wall.\n" msgstr "%s ã¯éƒ½å¸‚城å£ã‚’å–り除ã„ãŸã€‚\n" #. Error message #: ../client/common/player.c:642 #, c-format msgid "player_build_remove called with BUILD_NONE for user %s\n" msgstr "ユーザ %s ã«ã¤ã„㦠player_build_remove ㌠BUILD_NONE 付ãã§å‘¼ã°ã‚ŒãŸ\n" #: ../client/common/player.c:651 #, c-format msgid "%s removed a bridge.\n" msgstr "%s ã¯æ©‹ã‚’å–り除ã„ãŸã€‚\n" #: ../client/common/player.c:682 #, c-format msgid "%s has canceled a ship's movement.\n" msgstr "%s ã¯èˆ¹ã®ç§»å‹•ã‚’å–り消ã—ãŸã€‚\n" #: ../client/common/player.c:685 #, c-format msgid "%s moved a ship.\n" msgstr "%s ã¯èˆ¹ã‚’移動ã—ãŸã€‚\n" #. tell the user that someone got something #: ../client/common/player.c:705 #, c-format msgid "%s received %s.\n" msgstr "%s 㯠%s ã‚’å—ã‘å–ã£ãŸã€‚\n" #: ../client/common/player.c:724 msgid "server asks to lose invalid point.\n" msgstr "サーãƒã‹ã‚‰ãƒã‚¤ãƒ³ãƒˆã‚’失ã†ã‚ˆã†ä¸æ­£ãªè¦æ±‚ãŒã‚ã£ãŸã€‚\n" #. tell the user the point is lost #: ../client/common/player.c:730 #, c-format msgid "%s lost %s.\n" msgstr "%s 㯠%s を失ã£ãŸã€‚\n" #: ../client/common/player.c:753 msgid "server asks to move invalid point.\n" msgstr "サーãƒã‹ã‚‰ãƒã‚¤ãƒ³ãƒˆã‚’移動ã™ã‚‹ã‚ˆã†ä¸æ­£ãªè¦æ±‚ãŒã‚ã£ãŸã€‚\n" #. tell the user someone (1) lost something (2) to someone else (3) #: ../client/common/player.c:760 #, c-format msgid "%s lost %s to %s.\n" msgstr "%s 㯠%s ã‚’ %s ã«æ¸¡ã—ãŸã€‚\n" #: ../client/common/resource.c:35 msgid "brick" msgstr "レンガ" #: ../client/common/resource.c:35 msgid "Brick" msgstr "レンガ" #: ../client/common/resource.c:36 msgid "grain" msgstr "å°éº¦" #: ../client/common/resource.c:36 msgid "Grain" msgstr "å°éº¦" #: ../client/common/resource.c:37 msgid "ore" msgstr "鉱石" #: ../client/common/resource.c:37 msgid "Ore" msgstr "鉱石" #: ../client/common/resource.c:38 msgid "wool" msgstr "羊毛" #: ../client/common/resource.c:38 msgid "Wool" msgstr "羊毛" #: ../client/common/resource.c:39 msgid "lumber" msgstr "木æ" #: ../client/common/resource.c:39 msgid "Lumber" msgstr "木æ" #: ../client/common/resource.c:40 msgid "no resource (bug)" msgstr "資æºãªã— (ãƒã‚°)" #: ../client/common/resource.c:40 msgid "No resource (bug)" msgstr "資æºãªã— (ãƒã‚°)" #: ../client/common/resource.c:41 msgid "any resource (bug)" msgstr "ä»»æ„ã®è³‡æº (ãƒã‚°)" #: ../client/common/resource.c:41 msgid "Any resource (bug)" msgstr "ä»»æ„ã®è³‡æº (ãƒã‚°)" #: ../client/common/resource.c:42 msgid "gold" msgstr "金" #: ../client/common/resource.c:42 ../client/gtk/legend.c:41 msgid "Gold" msgstr "金" #: ../client/common/resource.c:47 msgid "a brick card" msgstr "1 æžšã®ãƒ¬ãƒ³ã‚¬ã‚«ãƒ¼ãƒ‰" #: ../client/common/resource.c:47 #, c-format msgid "%d brick cards" msgstr "%d æžšã®ãƒ¬ãƒ³ã‚¬ã‚«ãƒ¼ãƒ‰" #: ../client/common/resource.c:48 msgid "a grain card" msgstr "1 æžšã®å°éº¦ã‚«ãƒ¼ãƒ‰" #: ../client/common/resource.c:48 #, c-format msgid "%d grain cards" msgstr "%d æžšã®å°éº¦ã‚«ãƒ¼ãƒ‰" #: ../client/common/resource.c:49 msgid "an ore card" msgstr "1 æžšã®é‰±çŸ³ã‚«ãƒ¼ãƒ‰" #: ../client/common/resource.c:49 #, c-format msgid "%d ore cards" msgstr "%d æžšã®é‰±çŸ³ã‚«ãƒ¼ãƒ‰" #: ../client/common/resource.c:50 msgid "a wool card" msgstr "1 æžšã®ç¾Šæ¯›ã‚«ãƒ¼ãƒ‰" #: ../client/common/resource.c:50 #, c-format msgid "%d wool cards" msgstr "%d æžšã®ç¾Šæ¯›ã‚«ãƒ¼ãƒ‰" #: ../client/common/resource.c:51 msgid "a lumber card" msgstr "1 æžšã®æœ¨æã‚«ãƒ¼ãƒ‰" #: ../client/common/resource.c:51 #, c-format msgid "%d lumber cards" msgstr "%d æžšã®æœ¨æã‚«ãƒ¼ãƒ‰" #: ../client/common/resource.c:139 ../client/common/resource.c:225 msgid "nothing" msgstr "ãªã—" #. Construct "A, B and C" for resources #: ../client/common/resource.c:166 #, c-format msgid "%s and %s" msgstr "%sã€%s" #. Construct "A, B and C" for resources #: ../client/common/resource.c:170 #, c-format msgid "%s, %s" msgstr "%sã€%s" #: ../client/common/robber.c:62 #, c-format msgid "%s has undone the robber movement.\n" msgstr "%s ã¯ç›—賊ã®ç§»å‹•ã‚’å–り消ã—ãŸã€‚\n" #: ../client/common/robber.c:65 #, c-format msgid "%s moved the robber.\n" msgstr "%s ã¯ç›—賊を移動ã—ãŸã€‚\n" #: ../client/common/robber.c:75 #, c-format msgid "%s has undone the pirate movement.\n" msgstr "%s ã¯æµ·è³Šã®ç§»å‹•ã‚’å–り消ã—ãŸã€‚\n" #: ../client/common/robber.c:78 #, c-format msgid "%s moved the pirate.\n" msgstr "%s ã¯æµ·è³Šã‚’移動ã—ãŸã€‚\n" #: ../client/common/robber.c:85 #, c-format msgid "%s must move the robber." msgstr "%s ã¯ç›—賊を移動ã—ãªã‘ã°ãªã‚‰ãªã„。" #: ../client/common/setup.c:146 #, c-format msgid "Setup for %s.\n" msgstr "%s ã®åˆæœŸé…置。\n" #: ../client/common/setup.c:158 #, c-format msgid "Double setup for %s.\n" msgstr "%s ã®åˆæœŸé…ç½® (2回分)。\n" #: ../client/common/turn.c:37 #, c-format msgid "%s rolled %d.\n" msgstr "%s 㯠%d を出ã—ãŸã€‚\n" #: ../client/common/turn.c:50 #, c-format msgid "Begin turn %d for %s.\n" msgstr "%2$s ã®ã‚¿ãƒ¼ãƒ³ %1$d 開始。\n" #: ../client/gtk/avahi-browser.c:83 msgid "Select an automatically discovered game" msgstr "自動的ã«ç™ºè¦‹ã—ãŸã‚²ãƒ¼ãƒ ã‚’é¸æŠžã™ã‚‹" #. $1=Game title, $2=version, $3=host_name, $4=port #: ../client/gtk/avahi-browser.c:132 #, c-format msgid "%s (%s) on %s:%s" msgstr "%3$s:%4$s 上㮠%1$s (%2$s)" #. Label text #: ../client/gtk/chat.c:73 msgid "Chat" msgstr "ãƒãƒ£ãƒƒãƒˆ" #: ../client/gtk/chat.c:232 msgid "Beeper test.\n" msgstr "呼ã³å‡ºã—ã®ãƒ†ã‚¹ãƒˆã€‚\n" #: ../client/gtk/chat.c:235 #, c-format msgid "%s beeped you.\n" msgstr "%s ãŒã‚ãªãŸã‚’呼ã³å‡ºã—ãŸã€‚\n" #: ../client/gtk/chat.c:239 #, c-format msgid "You beeped %s.\n" msgstr "%s を呼ã³å‡ºã—ãŸã€‚\n" #: ../client/gtk/chat.c:245 #, c-format msgid "You could not beep %s.\n" msgstr "%s を呼ã³å‡ºã™ã“ã¨ãŒã§ããªã‹ã£ãŸã€‚\n" #: ../client/gtk/chat.c:287 msgid " said: " msgstr " ã¯è¨€ã£ãŸ: " #: ../client/gtk/connect.c:286 #, c-format msgid "Metaserver at %s, port %s" msgstr "メタサーム%sã€ãƒãƒ¼ãƒˆ %s" #: ../client/gtk/connect.c:296 msgid "Finished.\n" msgstr "終了。\n" #: ../client/gtk/connect.c:311 ../client/gtk/connect.c:389 #: ../client/gtk/connect.c:408 ../client/gtk/connect.c:979 msgid "The metaserver is not available anymore.\n" msgstr "メタサーãƒã¯ã‚‚ã†åˆ©ç”¨ã§ããªã„。\n" #: ../client/gtk/connect.c:322 ../client/gtk/connect.c:443 #: ../client/gtk/connect.c:770 msgid "The metaserver closed the connection unexpectedly.\n" msgstr "メタサーãƒã¯äºˆæœŸã›ãšæŽ¥ç¶šã‚’é–‰ã˜ãŸã€‚\n" #: ../client/gtk/connect.c:380 msgid "Receiving game names from the metaserver.\n" msgstr "メタサーãƒã‹ã‚‰ã‚²ãƒ¼ãƒ åã‚’å—信中。\n" #: ../client/gtk/connect.c:422 #, c-format msgid "New game server requested on %s port %s.\n" msgstr "æ–°ã—ã„ゲームサーãƒãŒ %s ã®ãƒãƒ¼ãƒˆ %s ã§è¦æ±‚ã•れã¦ã„る。\n" #: ../client/gtk/connect.c:432 msgid "Incomplete information about the new game server received.\n" msgstr "æ–°ã—ã„ゲームã«ã¤ã„ã¦ä¸å®Œå…¨ãªæƒ…報をå—ä¿¡ã—ãŸã€‚\n" #: ../client/gtk/connect.c:486 ../client/gtk/connect.c:492 ../server/meta.c:239 #, c-format msgid "Unknown message from the metaserver: %s\n" msgstr "メタサーãƒã‹ã‚‰ã®ä¸æ˜Žãªãƒ¡ãƒƒã‚»ãƒ¼ã‚¸: %s\n" #: ../client/gtk/connect.c:565 ../server/meta.c:178 #, c-format msgid "Receiving data from inactive session: %s\n" msgstr "éžã‚¢ã‚¯ãƒ†ã‚£ãƒ–ãªã‚»ãƒƒã‚·ãƒ§ãƒ³ã‹ã‚‰ãƒ‡ãƒ¼ã‚¿ã‚’å—ä¿¡: %s\n" #: ../client/gtk/connect.c:577 ../server/meta.c:192 msgid "Too many metaserver redirects.\n" msgstr "メタサーãƒã®ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆãŒå¤šã™ãŽã‚‹ã€‚\n" #: ../client/gtk/connect.c:606 ../server/meta.c:208 #, c-format msgid "Bad redirect line: %s\n" msgstr "䏿­£ãªãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆ: %s\n" #: ../client/gtk/connect.c:631 #, c-format msgid "The metaserver is too old to create servers (version %d.%d)\n" msgstr "メタサーãƒãŒå¤ã™ãŽã¦ã‚µãƒ¼ãƒã‚’作るã“ã¨ãŒã§ããªã„ (ãƒãƒ¼ã‚¸ãƒ§ãƒ³ %d.%d)\n" #: ../client/gtk/connect.c:670 ../client/gtk/connect.c:749 #: ../client/gtk/connect.c:755 #, c-format msgid "Unexpected data from the metaserver: %s\n" msgstr "メタサーãƒã‹ã‚‰ã®ä¸æ˜Žãªãƒ‡ãƒ¼ã‚¿: %s\n" #. Sevens rule: normal #: ../client/gtk/connect.c:701 ../client/gtk/settingscreen.c:181 #: ../common/gtk/game-rules.c:89 msgid "Normal" msgstr "通常" #. Sevens rule: reroll on 1st 2 turns #: ../client/gtk/connect.c:706 ../client/gtk/settingscreen.c:183 #: ../common/gtk/game-rules.c:95 msgid "Reroll on 1st 2 turns" msgstr "最åˆã®2ã‚¿ãƒ¼ãƒ³ã¯æŒ¯ã‚Šç›´ã—" #. Sevens rule: reroll all 7s #: ../client/gtk/connect.c:710 ../client/gtk/settingscreen.c:185 #: ../common/gtk/game-rules.c:102 msgid "Reroll all 7s" msgstr "ã™ã¹ã¦ã®ã‚¿ãƒ¼ãƒ³ã§æŒ¯ã‚Šç›´ã—" #: ../client/gtk/connect.c:724 msgid "Default" msgstr "デフォルト" #: ../client/gtk/connect.c:727 msgid "Random" msgstr "ランダム" #: ../client/gtk/connect.c:819 ../server/meta.c:299 #, c-format msgid "Redirected to the metaserver at %s.\n" msgstr "%s ã®ãƒ¡ã‚¿ã‚µãƒ¼ãƒã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã€‚\n" #: ../client/gtk/connect.c:824 ../server/meta.c:302 #, c-format msgid "Redirected to the metaserver at %s, port %s.\n" msgstr "%s ã®ãƒãƒ¼ãƒˆ %s ã®ãƒ¡ã‚¿ã‚µãƒ¼ãƒã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã€‚\n" #: ../client/gtk/connect.c:831 msgid "Receiving a list of Pioneers servers from the metaserver.\n" msgstr "メタサーãƒã‹ã‚‰ Pioneers サーãƒã®ä¸€è¦§ã‚’å–得中。\n" #. Label #: ../client/gtk/connect.c:914 msgid "Number of computer players" msgstr "ã‚³ãƒ³ãƒ”ãƒ¥ãƒ¼ã‚¿ãƒ—ãƒ¬ã‚¤ãƒ¤ãƒ¼ã®æ•°" #. Tooltip #: ../client/gtk/connect.c:935 msgid "The number of computer players" msgstr "ã‚³ãƒ³ãƒ”ãƒ¥ãƒ¼ã‚¿ãƒ—ãƒ¬ã‚¤ãƒ¤ãƒ¼ã®æ•°" #. Canceled retrieving information #. * from the metaserver #: ../client/gtk/connect.c:957 ../client/gtk/connect.c:992 #: ../client/gtk/connect.c:1133 msgid "Canceled.\n" msgstr "å–り消ã—ãŸã€‚\n" #: ../client/gtk/connect.c:960 msgid "Requesting new game server.\n" msgstr "æ–°ã—ã„ゲームサーãƒã‚’è¦æ±‚中。\n" #: ../client/gtk/connect.c:1015 ../server/gtk/main.c:370 ../server/server.c:123 #, c-format msgid "Error starting %s: %s\n" msgstr "%s 開始時ã«ã‚¨ãƒ©ãƒ¼: %s\n" #. Dialog caption #: ../client/gtk/connect.c:1037 msgid "Create a Public Game" msgstr "公開ゲーム作æˆ" #. Button text #: ../client/gtk/connect.c:1040 ../client/gtk/connect.c:1191 #: ../client/gtk/connect.c:1440 ../client/gtk/connect.c:1744 #: ../client/gtk/name.c:147 ../editor/gtk/editor.c:1521 #: ../editor/gtk/editor.c:1562 ../editor/gtk/editor.c:1611 #, fuzzy msgid "_Cancel" msgstr "å–り消ã—ãŸã€‚\n" #. Button text #: ../client/gtk/connect.c:1042 #, fuzzy msgid "C_reate" msgstr "ゲーム作æˆ" #. Dialog caption #: ../client/gtk/connect.c:1182 msgid "Join a Public Game" msgstr "公開ゲームã«å‚加" #. Button text #: ../client/gtk/connect.c:1185 msgid "_Refresh" msgstr "" #. Button text #: ../client/gtk/connect.c:1188 msgid "_New Remote Game" msgstr "æ–°è¦ãƒªãƒ¢ãƒ¼ãƒˆã‚²ãƒ¼ãƒ (_N)" #. Button text #: ../client/gtk/connect.c:1194 ../client/gtk/connect.c:1748 #, fuzzy msgid "_Join" msgstr "å‚加" #. Tooltip #: ../client/gtk/connect.c:1237 msgid "Select a game to join" msgstr "å‚加ã™ã‚‹ã‚²ãƒ¼ãƒ ã‚’é¸æŠžã™ã‚‹" #. Column name #: ../client/gtk/connect.c:1241 msgid "Map Name" msgstr "マップå" #. Tooltip for column 'Map Name' #: ../client/gtk/connect.c:1249 msgid "Name of the game" msgstr "ゲームã®åå‰" #. Column name #: ../client/gtk/connect.c:1255 msgid "Curr" msgstr "ç¾åœ¨" #. Tooltip for column 'Curr' #: ../client/gtk/connect.c:1262 msgid "Number of players in the game" msgstr "ゲーム内ã®ãƒ—ãƒ¬ã‚¤ãƒ¤ãƒ¼ã®æ•°" #. Column name #: ../client/gtk/connect.c:1268 msgid "Max" msgstr "最大" #. Tooltip for column 'Max' #: ../client/gtk/connect.c:1275 msgid "Maximum players for the game" msgstr "ã‚²ãƒ¼ãƒ ã®æœ€å¤§ãƒ—レイヤー数" #. Column name #: ../client/gtk/connect.c:1279 msgid "Terrain" msgstr "地形" #. Tooltip for column 'Terrain' #: ../client/gtk/connect.c:1287 msgid "Random of default terrain" msgstr "地形ã®é…ç½®ãŒãƒ©ãƒ³ãƒ€ãƒ ã‹" #. Column name #: ../client/gtk/connect.c:1293 msgid "Vic. Points" msgstr "å‹åˆ©ç‚¹" #. Tooltip for column 'Vic. Points' #: ../client/gtk/connect.c:1300 msgid "Points needed to win" msgstr "å‹åˆ©ã«å¿…è¦ãªãƒã‚¤ãƒ³ãƒˆ" #. Column name #: ../client/gtk/connect.c:1304 msgid "Sevens Rule" msgstr "7ルール" #. Tooltip for column 'Sevens Rule' #. Label #: ../client/gtk/connect.c:1312 ../common/gtk/game-rules.c:81 msgid "Sevens rule" msgstr "7ã®ç›®ã®ãƒ«ãƒ¼ãƒ«" #. Column name #: ../client/gtk/connect.c:1316 msgid "Host" msgstr "ホスト" #. Tooltip for column 'Host' #: ../client/gtk/connect.c:1325 msgid "Host of the game" msgstr "ゲームã®ãƒ›ã‚¹ãƒˆ" #. Column name #: ../client/gtk/connect.c:1331 msgid "Port" msgstr "ãƒãƒ¼ãƒˆ" #. Tooltip for column 'Port' #: ../client/gtk/connect.c:1339 msgid "Port of the game" msgstr "ゲームã®ãƒãƒ¼ãƒˆ" #. Column name #: ../client/gtk/connect.c:1343 msgid "Version" msgstr "ãƒãƒ¼ã‚¸ãƒ§ãƒ³" #. Tooltip for column 'Version' #: ../client/gtk/connect.c:1351 msgid "Version of the host" msgstr "ホストã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³" #. Dialog caption #: ../client/gtk/connect.c:1436 msgid "Start a New Game" msgstr "æ–°ã—ã„ゲームを開始" #. Label #. Commandline option of client: name of the player #: ../client/gtk/connect.c:1464 ../client/gtk/offline.c:57 msgid "Player name" msgstr "プレイヤーå" #. Tooltip #: ../client/gtk/connect.c:1480 msgid "Enter your name" msgstr "ã‚ãªãŸã®åå‰ã‚’入力" #. Check button #. Role of the player: spectator #: ../client/gtk/connect.c:1483 ../server/gtk/main.c:682 msgid "Spectator" msgstr "観戦者" #: ../client/gtk/connect.c:1493 msgid "Check if you want to be a spectator" msgstr "観戦者ã¨ã—ã¦å‚加ã™ã‚‹å ´åˆã¯ãƒã‚§ãƒƒã‚¯ãƒžãƒ¼ã‚¯ã‚’ã¤ã‘ã‚‹" #. Label #: ../client/gtk/connect.c:1504 msgid "Avahi" msgstr "Avahi" #. Button #: ../client/gtk/connect.c:1511 msgid "Join" msgstr "å‚加" #. Tooltip for button Join #: ../client/gtk/connect.c:1515 msgid "Join an automatically discovered game" msgstr "自動的ã«ç™ºè¦‹ã—ãŸã‚²ãƒ¼ãƒ ã«å‚加ã™ã‚‹" #. Label #. metaserver label #: ../client/gtk/connect.c:1542 ../server/gtk/main.c:593 msgid "Metaserver" msgstr "メタサーãƒ" #. Button #: ../client/gtk/connect.c:1564 msgid "Join Public Game" msgstr "公開ゲームã«å‚加" #. Tooltip #: ../client/gtk/connect.c:1570 msgid "Join a public game" msgstr "公開ゲームã«å‚加ã™ã‚‹" #. Button #: ../client/gtk/connect.c:1575 msgid "Create Game" msgstr "ゲーム作æˆ" #. Tooltip #: ../client/gtk/connect.c:1579 msgid "Create a game" msgstr "ゲームを作æˆã™ã‚‹" #. Button #: ../client/gtk/connect.c:1588 msgid "Join Private Game" msgstr "éžå…¬é–‹ã‚²ãƒ¼ãƒ ã«å‚加" #. Tooltip #. Dialog caption #: ../client/gtk/connect.c:1592 ../client/gtk/connect.c:1737 msgid "Join a private game" msgstr "éžå…¬é–‹ã‚²ãƒ¼ãƒ ã«å‚加ã™ã‚‹" #. Label #. Commandline option of client: hostname of the server #: ../client/gtk/connect.c:1777 ../client/gtk/offline.c:51 msgid "Server host" msgstr "サーãƒãƒ›ã‚¹ãƒˆ" #. Tooltip #: ../client/gtk/connect.c:1791 msgid "Name of the host of the game" msgstr "ゲームホストã®åå‰" #. Label #. Commandline option of client: port of the server #. server port label #: ../client/gtk/connect.c:1795 ../client/gtk/offline.c:54 #: ../server/gtk/main.c:555 msgid "Server port" msgstr "サーãƒãƒãƒ¼ãƒˆ" #. Tooltip #: ../client/gtk/connect.c:1812 msgid "Port of the host of the game" msgstr "ゲームホストã®ãƒãƒ¼ãƒˆ" #. Tooltip #. Label #: ../client/gtk/connect.c:1854 ../client/gtk/connect.c:1857 msgid "Recent games" msgstr "最近行ã£ãŸã‚²ãƒ¼ãƒ " #. Caption for list of bought development cards #: ../client/gtk/develop.c:130 msgid "Development cards" msgstr "発展カード" #. Button text: play development card #: ../client/gtk/develop.c:163 msgid "Play Card" msgstr "カード使用" #. Dialog caption #: ../client/gtk/discard.c:77 msgid "Discard Resources" msgstr "資æºå»ƒæ£„" #. Button text #: ../client/gtk/discard.c:83 ../client/gtk/gameover.c:38 #: ../client/gtk/gold.c:78 ../client/gtk/monopoly.c:88 ../client/gtk/name.c:150 #: ../client/gtk/plenty.c:67 ../editor/gtk/editor.c:1614 msgid "_OK" msgstr "" #: ../client/gtk/discard.c:101 #, c-format msgid "You must discard %d resource" msgid_plural "You must discard %d resources" msgstr[0] "資æºã‚’ %d æžšæ¨ã¦ãªã‘れã°ãªã‚‰ãªã„" #. Label #: ../client/gtk/discard.c:110 msgid "Total discards" msgstr "ç·å»ƒæ£„æ•°" #. Caption for list of player that must discard cards #: ../client/gtk/discard.c:235 msgid "Waiting for players to discard" msgstr "プレイヤーã®å»ƒæ£„å¾…ã¡" #. Dialog caption #: ../client/gtk/gameover.c:34 msgid "Game Over" msgstr "ゲーム終了" #: ../client/gtk/gameover.c:52 #, c-format msgid "%s has won the game with %d victory points!" msgstr "%s ã¯å‹åˆ©ãƒã‚¤ãƒ³ãƒˆ %d ã§å‹åˆ©ã—ãŸ!" #: ../client/gtk/gameover.c:58 #, c-format msgid "All praise %s, Lord of the known world!" msgstr "ã™ã°ã‚‰ã—ã„ %sã€ä¸–ç•Œã®æ”¯é…者!" #. Dialog caption #: ../client/gtk/gold.c:72 msgid "Choose Resources" msgstr "資æºé¸æŠž" #: ../client/gtk/gold.c:96 #, c-format msgid "You may choose %d resource" msgid_plural "You may choose %d resources" msgstr[0] "資æºã‚’ %d æžšé¸æŠžã—ã¦ãã ã•ã„" #. Text for total in choose gold dialog #. Text for total in year of plenty dialog #: ../client/gtk/gold.c:105 ../client/gtk/plenty.c:103 msgid "Total resources" msgstr "資æºåˆè¨ˆ" #. Caption for list of player that must choose gold #: ../client/gtk/gold.c:217 msgid "Waiting for players to choose" msgstr "ãƒ—ãƒ¬ã‚¤ãƒ¤ãƒ¼é¸æŠžå¾…ã¡" #. Menu entry #: ../client/gtk/gui.c:224 ../server/gtk/main.c:91 msgid "_Game" msgstr "ゲーム(_G)" #. Menu entry #: ../client/gtk/gui.c:227 msgid "_New Game" msgstr "æ–°ã—ã„ゲーム(_N)" #. Tooltip for New Game menu entry #: ../client/gtk/gui.c:229 msgid "Start a new game" msgstr "æ–°ã—ã„ゲームを開始" #. Menu entry #: ../client/gtk/gui.c:232 msgid "_Leave Game" msgstr "ゲームを去る(_L)" #. Tooltip for Leave Game menu entry #: ../client/gtk/gui.c:234 msgid "Leave this game" msgstr "ã“ã®ã‚²ãƒ¼ãƒ ã‚’去る" #. Menu entry #: ../client/gtk/gui.c:238 msgid "_Admin" msgstr "管ç†(_A)" #. Tooltip for Admin menu entry #: ../client/gtk/gui.c:240 msgid "Administer Pioneers server" msgstr "Pioneers サーãƒã®ç®¡ç†" #. Menu entry #: ../client/gtk/gui.c:244 msgid "_Player Name" msgstr "プレイヤーå(_P)" #. Tooltip for Player Name menu entry #: ../client/gtk/gui.c:246 msgid "Change your player name" msgstr "プレイヤーå変更" #. Menu entry #: ../client/gtk/gui.c:249 msgid "L_egend" msgstr "凡例(_E)" #. Tooltip for Legend menu entry #: ../client/gtk/gui.c:251 msgid "Terrain legend and building costs" msgstr "地形ã®å‡¡ä¾‹ã¨å»ºè¨­ã‚³ã‚¹ãƒˆ" #. Menu entry #: ../client/gtk/gui.c:254 msgid "_Game Settings" msgstr "ゲーム設定(_S)" #. Tooltip for Game Settings menu entry #: ../client/gtk/gui.c:256 msgid "Settings for the current game" msgstr "ç¾åœ¨ã®ã‚²ãƒ¼ãƒ è¨­å®š" #. Menu entry #: ../client/gtk/gui.c:259 msgid "_Dice Histogram" msgstr "サイコロヒストグラム(_D)" #. Tooltip for Dice Histogram menu entry #: ../client/gtk/gui.c:261 msgid "Histogram of dice rolls" msgstr "サイコロã§å‡ºãŸç›®ã®åº¦æ•°åˆ†å¸ƒå›³" #. Menu entry #: ../client/gtk/gui.c:264 ../editor/gtk/editor.c:1759 ../server/gtk/main.c:103 msgid "_Quit" msgstr "終了(_Q)" #. Tooltip for Quit menu entry #. Tooltop for Quit menu entry #: ../client/gtk/gui.c:266 ../server/gtk/main.c:105 msgid "Quit the program" msgstr "プログラムを終了" #. Menu entry #: ../client/gtk/gui.c:269 msgid "_Actions" msgstr "行動(_A)" #. Menu entry #: ../client/gtk/gui.c:272 msgid "Roll Dice" msgstr "サイコロを振る" #. Tooltip for Roll Dice menu entry #: ../client/gtk/gui.c:274 msgid "Roll the dice" msgstr "サイコロを振る" #. Menu entry #. Tooltip for Trade menu entry #. Tab page name #: ../client/gtk/gui.c:277 ../client/gtk/gui.c:279 ../client/gtk/gui.c:710 msgid "Trade" msgstr "交易" #. Menu entry #. Tooltip for Undo menu entry #: ../client/gtk/gui.c:283 ../client/gtk/gui.c:285 msgid "Undo" msgstr "やり直ã—" #. Menu entry #. Tooltip for Finish menu entry #: ../client/gtk/gui.c:288 ../client/gtk/gui.c:290 msgid "Finish" msgstr "終了" #. Menu entry #: ../client/gtk/gui.c:293 ../client/gtk/legend.c:189 #: ../editor/gtk/game-buildings.c:10 msgid "Road" msgstr "è¡—é“" #. Tooltip for Road menu entry #: ../client/gtk/gui.c:295 msgid "Build a road" msgstr "è¡—é“を敷設ã™ã‚‹" #. Menu entry #: ../client/gtk/gui.c:298 ../client/gtk/legend.c:193 #: ../editor/gtk/game-buildings.c:10 msgid "Ship" msgstr "船" #. Tooltip for Ship menu entry #: ../client/gtk/gui.c:300 msgid "Build a ship" msgstr "船を製造ã™ã‚‹" #. Menu entry #: ../client/gtk/gui.c:303 msgid "Move Ship" msgstr "船移動" #. Tooltip for Move Ship menu entry #: ../client/gtk/gui.c:305 msgid "Move a ship" msgstr "船を移動ã™ã‚‹" #. Menu entry #: ../client/gtk/gui.c:308 ../client/gtk/legend.c:196 #: ../editor/gtk/game-buildings.c:10 msgid "Bridge" msgstr "æ©‹" #. Tooltip for Bridge menu entry #: ../client/gtk/gui.c:310 msgid "Build a bridge" msgstr "橋を建設ã™ã‚‹" #. Menu entry #: ../client/gtk/gui.c:313 ../client/gtk/legend.c:198 ../client/gtk/player.c:52 #: ../editor/gtk/game-buildings.c:10 msgid "Settlement" msgstr "開拓地" #. Tooltip for Settlement menu entry #: ../client/gtk/gui.c:316 msgid "Build a settlement" msgstr "開拓地を建設ã™ã‚‹" #. Menu entry #: ../client/gtk/gui.c:319 ../client/gtk/legend.c:199 ../client/gtk/player.c:53 #: ../editor/gtk/game-buildings.c:11 msgid "City" msgstr "都市" #. Tooltip for City menu entry #: ../client/gtk/gui.c:321 msgid "Build a city" msgstr "都市を建設ã™ã‚‹" #. Menu entry #: ../client/gtk/gui.c:324 msgid "Develop" msgstr "発展" #. Tooltip for Develop menu entry #: ../client/gtk/gui.c:326 msgid "Buy a development card" msgstr "発展カードを購入ã™ã‚‹" #. Menu entry #: ../client/gtk/gui.c:329 msgid "City Wall" msgstr "都市城å£" #. Tooltip for City Wall menu entry #: ../client/gtk/gui.c:331 msgid "Build a city wall" msgstr "都市城å£ã‚’建設ã™ã‚‹" #. Menu entry #: ../client/gtk/gui.c:335 msgid "_Settings" msgstr "設定(_S)" #. Menu entry #: ../client/gtk/gui.c:338 msgid "Prefere_nces" msgstr "個人設定(_N)" #. Tooltip for Preferences menu entry #: ../client/gtk/gui.c:340 msgid "Configure the application" msgstr "アプリケーションã®è¨­å®š" #. Menu entry #: ../client/gtk/gui.c:344 ../editor/gtk/editor.c:1721 msgid "_View" msgstr "表示(_V)" #. Menu entry #: ../client/gtk/gui.c:347 ../editor/gtk/editor.c:1765 msgid "_Reset" msgstr "リセット(_R)" #. Tooltip for Reset menu entry #: ../client/gtk/gui.c:350 ../editor/gtk/editor.c:1768 msgid "View the full map" msgstr "マップ全体を表示ã™ã‚‹" #. Menu entry #: ../client/gtk/gui.c:353 ../editor/gtk/editor.c:1771 msgid "_Center" msgstr "中央化(_C)" #. Tooltip for Center menu entry #: ../client/gtk/gui.c:355 ../editor/gtk/editor.c:1773 msgid "Center the map" msgstr "マップを中央ã«è¡¨ç¤ºã™ã‚‹" #. Menu entry #: ../client/gtk/gui.c:359 ../client/gtk/gui.c:368 ../editor/gtk/editor.c:1724 #: ../server/gtk/main.c:94 msgid "_Help" msgstr "ヘルプ(_H)" #. Menu entry #: ../client/gtk/gui.c:362 msgid "_About Pioneers" msgstr "Pioneers ã«ã¤ã„ã¦(_A)" #. Tooltip for About Pioneers menu entry #: ../client/gtk/gui.c:364 msgid "Information about Pioneers" msgstr "Pioneers ã«ã¤ã„ã¦ã®æƒ…å ±" #. Tooltip for Help menu entry #: ../client/gtk/gui.c:370 ../client/gtk/gui.c:1258 msgid "Show the manual" msgstr "マニュアルを表示ã™ã‚‹" #. Menu entry #: ../client/gtk/gui.c:378 ../editor/gtk/editor.c:1791 msgid "_Fullscreen" msgstr "フルスクリーン(_F)" #. Tooltip for Fullscreen menu entry #: ../client/gtk/gui.c:381 ../editor/gtk/editor.c:1794 msgid "Set window to full screen mode" msgstr "ウィンドウをフルスクリーンモードã«è¨­å®šã™ã‚‹" #. Menu entry #: ../client/gtk/gui.c:386 msgid "_Toolbar" msgstr "ツールãƒãƒ¼(_T)" #. Tooltip for Toolbar menu entry #: ../client/gtk/gui.c:388 msgid "Show or hide the toolbar" msgstr "ツールãƒãƒ¼ã‚’表示ã™ã‚‹ã‹å¦ã‹" #. Victory points target in statusbar #: ../client/gtk/gui.c:491 #, c-format msgid "Points needed to win: %i" msgstr "å‹åˆ©ã«å¿…è¦ãªãƒã‚¤ãƒ³ãƒˆ: %i" #: ../client/gtk/gui.c:577 msgid "Messages" msgstr "メッセージ" #. Tab page name #: ../client/gtk/gui.c:703 ../editor/gtk/editor.c:1946 msgid "Map" msgstr "マップ" #. Tooltip #: ../client/gtk/gui.c:712 msgid "Finish trading" msgstr "交易を終了ã™ã‚‹" #. Tab page name #. Button text #: ../client/gtk/gui.c:722 ../client/gtk/quote.c:339 msgid "Quote" msgstr "見ç©ã‚‚り" #. Tooltip #: ../client/gtk/gui.c:724 msgid "Reject domestic trade" msgstr "国内貿易を拒å¦ã™ã‚‹" #. Tab page name #. Dialog caption #: ../client/gtk/gui.c:734 ../client/gtk/legend.c:249 msgid "Legend" msgstr "凡例" #. Tab page name, shown for the splash screen #: ../client/gtk/gui.c:744 msgid "Welcome to Pioneers" msgstr "Pioneers ã¸ã‚ˆã†ã“ã" #. Caption of preferences dialog #: ../client/gtk/gui.c:1028 msgid "Pioneers Preferences" msgstr "Pioneers 個人設定" #. Button text #: ../client/gtk/gui.c:1034 ../client/gtk/histogram.c:252 #: ../client/gtk/legend.c:253 ../client/gtk/settingscreen.c:413 msgid "_Close" msgstr "" #. Label for changing the theme, in the preferences dialog #: ../client/gtk/gui.c:1059 msgid "Theme:" msgstr "テーマ:" #. Tooltip for changing the theme in the preferences dialog #: ../client/gtk/gui.c:1082 msgid "Choose one of the themes" msgstr "テーマを1ã¤é¸æŠžã™ã‚‹" #. Label for the option to show the legend #: ../client/gtk/gui.c:1086 msgid "Show legend" msgstr "凡例を表示" #. Tooltip for the option to show the legend #: ../client/gtk/gui.c:1096 msgid "Show the legend as a page beside the map" msgstr "マップã®éš£ã«å‡¡ä¾‹ãƒšãƒ¼ã‚¸ã‚’表示ã™ã‚‹" #. Label for the option to display log messages in color #: ../client/gtk/gui.c:1101 msgid "Messages with color" msgstr "色付ãメッセージ" #. Tooltip for the option to display log messages in color #: ../client/gtk/gui.c:1111 msgid "Show new messages with color" msgstr "æ–°ã—ã„メッセージを色付ãã§è¡¨ç¤ºã™ã‚‹" #. Label for the option to display chat in color of player #: ../client/gtk/gui.c:1116 msgid "Chat in color of player" msgstr "プレイヤーã®è‰²ã§ãƒãƒ£ãƒƒãƒˆ" #. Tooltip for the option to display chat in color of player #: ../client/gtk/gui.c:1127 msgid "Show new chat messages in the color of the player" msgstr "æ–°ã—ã„ãƒãƒ£ãƒƒãƒˆãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’プレイヤーã®è‰²ã§è¡¨ç¤ºã™ã‚‹" #. Label for the option to display the summary with colors #: ../client/gtk/gui.c:1132 msgid "Summary with color" msgstr "è‰²ä»˜ãæ¦‚è¦" #. Tooltip for the option to display the summary with colors #: ../client/gtk/gui.c:1143 msgid "Use colors in the player summary" msgstr "プレイヤー概è¦ã«è‰²ã‚’使ã†" #. Label for the option to display keyboard accelerators in the toolbar #: ../client/gtk/gui.c:1148 msgid "Toolbar with shortcuts" msgstr "ショートカット付ãツールãƒãƒ¼" #. Tooltip for the option to display keyboard accelerators in the toolbar #: ../client/gtk/gui.c:1158 msgid "Show keyboard shortcuts in the toolbar" msgstr "ツールãƒãƒ¼ã«ã‚­ãƒ¼ãƒœãƒ¼ãƒ‰ã‚·ãƒ§ãƒ¼ãƒˆã‚«ãƒƒãƒˆã‚’表示ã™ã‚‹" #. Label for the option to disable all sounds #: ../client/gtk/gui.c:1164 msgid "Silent mode" msgstr "サイレントモード" #. Tooltip for the option to disable all sounds #: ../client/gtk/gui.c:1170 msgid "In silent mode no sounds are made" msgstr "サイレントモードã§ã¯éŸ³ãŒé³´ã‚‰ãªã„" #. Label for the option to announce when players/spectators enter #: ../client/gtk/gui.c:1176 msgid "Announce new players" msgstr "æ–°ã—ã„プレイヤーをアナウンス" #. Tooltip for the option to use sound when players/spectators enter #: ../client/gtk/gui.c:1186 msgid "Make a sound when a new player or spectator enters the game" msgstr "æ–°ã—ã„プレイヤーや観戦者ãŒã‚²ãƒ¼ãƒ ã«å…¥ã£ãŸã¨ãã«éŸ³ã‚’鳴らã™" #. Label for the option to use the notifications. #: ../client/gtk/gui.c:1198 msgid "Show notifications" msgstr "通知を表示" #. Tooltip for notifications option. #: ../client/gtk/gui.c:1208 msgid "Show notifications when it's your turn or when new trade is available" msgstr "ã‚ãªãŸã®ã‚¿ãƒ¼ãƒ³ã«ãªã£ãŸã¨ãã‚„æ–°ã—ã„交易ãŒå¯èƒ½ãªã¨ãã«é€šçŸ¥ã‚’表示ã™ã‚‹" #. Label for the option to use the 16:9 layout. #: ../client/gtk/gui.c:1214 msgid "Use 16:9 layout" msgstr "16:9 レイアウトを使用" #. Tooltip for 16:9 option. #: ../client/gtk/gui.c:1224 msgid "Use a 16:9 friendly layout for the window" msgstr "16:9 ã®ç”»é¢å‘ãã®ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã‚’ウィンドウã«ä½¿ç”¨" #. Caption of about box #: ../client/gtk/gui.c:1233 msgid "About Pioneers" msgstr "Pioneers ã«ã¤ã„ã¦" #. Initial text in status bar #: ../client/gtk/gui.c:1544 ../client/gtk/offline.c:107 msgid "Welcome to Pioneers!" msgstr "よã†ã“ã Pioneers ã¸!" #. The name of the application #. Name of the application #: ../client/gtk/gui.c:1606 ../client/gtk/offline.c:209 #: ../client/gtk/pioneers.desktop.in.h:1 msgid "Pioneers" msgstr "Pioneers" #. Dialog caption #: ../client/gtk/histogram.c:248 msgid "Dice Histogram" msgstr "サイコロヒストグラム" #: ../client/gtk/interface.c:111 msgid "Ship movement canceled." msgstr "船移動をå–り消ã—ãŸã€‚" #: ../client/gtk/interface.c:119 ../client/gtk/interface.c:120 msgid "Select a new location for the ship." msgstr "èˆ¹ã®æ–°ã—ã„å ´æ‰€ã‚’é¸æŠžã—ã¦ãã ã•ã„。" #. Notification #: ../client/gtk/interface.c:919 msgid "It is your turn to setup." msgstr "ã‚ãªãŸã®åˆæœŸé…置ターンã§ã™ã€‚" #: ../client/gtk/legend.c:34 msgid "Hill" msgstr "丘陵" #: ../client/gtk/legend.c:35 msgid "Field" msgstr "ç•‘" #: ../client/gtk/legend.c:36 msgid "Mountain" msgstr "山地" #: ../client/gtk/legend.c:37 msgid "Pasture" msgstr "牧è‰åœ°" #: ../client/gtk/legend.c:38 msgid "Forest" msgstr "森林" #: ../client/gtk/legend.c:39 msgid "Desert" msgstr "ç ‚æ¼ " #: ../client/gtk/legend.c:40 msgid "Sea" msgstr "æµ·" #. Label #: ../client/gtk/legend.c:132 msgid "Terrain yield" msgstr "地形ã¨ç”£å‡ºè³‡æº" #. Label #: ../client/gtk/legend.c:165 msgid "Building costs" msgstr "建設コスト" #: ../client/gtk/legend.c:203 ../client/gtk/player.c:54 #: ../editor/gtk/game-buildings.c:11 msgid "City wall" msgstr "都市城å£" #: ../client/gtk/legend.c:206 ../client/gtk/player.c:65 msgid "Development card" msgstr "発展カード" #. Dialog caption #. Name of the development card #: ../client/gtk/monopoly.c:84 ../common/cards.c:86 msgid "Monopoly" msgstr "独å " #. Label #: ../client/gtk/monopoly.c:106 msgid "Select the resource you wish to monopolize." msgstr "独å ã—ãŸã„資æºã‚’é¸æŠžã—ã¦ãã ã•ã„。" #. Dialog caption #: ../client/gtk/name.c:141 msgid "Change Player Name" msgstr "プレイヤーåを変更" #. Label #: ../client/gtk/name.c:172 msgid "Player name:" msgstr "プレイヤーå:" #. Label: set player icon preferences #: ../client/gtk/name.c:234 msgid "Face:" msgstr "é¡”:" #. Label: set player icon preferences #: ../client/gtk/name.c:250 msgid "Variant:" msgstr "変更:" #: ../client/gtk/offline.c:61 msgid "Connect as a spectator" msgstr "観戦者ã¨ã—ã¦æŽ¥ç¶šã™ã‚‹" #: ../client/gtk/offline.c:64 msgid "Metaserver Host" msgstr "メタサーãƒãƒ›ã‚¹ãƒˆ" #: ../client/gtk/offline.c:78 msgid "Select a game to join." msgstr "å‚加ã™ã‚‹ã‚²ãƒ¼ãƒ ã‚’é¸æŠžã€‚" #: ../client/gtk/offline.c:94 msgid "Connecting" msgstr "接続" #. Long description in the commandline for pioneers: help #: ../client/gtk/offline.c:183 msgid "- Play a game of Pioneers" msgstr "- Pioneers ã®ã‚²ãƒ¼ãƒ ã‚’éŠã¶" #: ../client/gtk/pioneers.desktop.in.h:2 msgid "Play a game of Pioneers" msgstr "Pioneers ã®ã‚²ãƒ¼ãƒ ã‚’éŠã¶" #: ../client/gtk/pioneers.desktop.in.h:3 msgid "game;board;play;Pioneers;Settlers;" msgstr "ゲーム;ボード;プレイ;Pioneers;開拓者;" #: ../client/gtk/player.c:52 msgid "Settlements" msgstr "開拓地" #: ../client/gtk/player.c:53 msgid "Cities" msgstr "都市" #: ../client/gtk/player.c:54 msgid "City walls" msgstr "都市城å£" #: ../client/gtk/player.c:55 msgid "Largest army" msgstr "最大騎士力" #: ../client/gtk/player.c:56 msgid "Longest road" msgstr "最長交易路" #. Name of the development card #: ../client/gtk/player.c:57 ../common/cards.c:92 msgid "Chapel" msgstr "教会" #: ../client/gtk/player.c:57 msgid "Chapels" msgstr "教会" #. Name of the development card #: ../client/gtk/player.c:58 ../common/cards.c:95 msgid "Pioneer university" msgstr "パイオニア大学" #: ../client/gtk/player.c:58 msgid "Pioneer universities" msgstr "パイオニア大学" #. Name of the development card #: ../client/gtk/player.c:60 ../common/cards.c:98 msgid "Governor's house" msgstr "官舎" #: ../client/gtk/player.c:60 msgid "Governor's houses" msgstr "官舎" #. Name of the development card #: ../client/gtk/player.c:61 ../common/cards.c:101 msgid "Library" msgstr "図書館" #: ../client/gtk/player.c:61 msgid "Libraries" msgstr "図書館" #. Name of the development card #: ../client/gtk/player.c:62 ../common/cards.c:104 msgid "Market" msgstr "市場" #: ../client/gtk/player.c:62 msgid "Markets" msgstr "市場" #. Name of the development card #: ../client/gtk/player.c:63 ../common/cards.c:107 msgid "Soldier" msgstr "騎士" #: ../client/gtk/player.c:63 msgid "Soldiers" msgstr "騎士" #: ../client/gtk/player.c:64 msgid "Resource card" msgstr "資æºã‚«ãƒ¼ãƒ‰" #: ../client/gtk/player.c:64 msgid "Resource cards" msgstr "資æºã‚«ãƒ¼ãƒ‰" #. Caption #: ../client/gtk/player.c:65 ../editor/gtk/editor.c:1305 msgid "Development cards" msgstr "発展カード" #. Caption for the overview of the points and card of other players #: ../client/gtk/player.c:559 msgid "Player summary" msgstr "プレイヤー概è¦" #. Dialog caption #: ../client/gtk/plenty.c:61 msgid "Year of Plenty" msgstr "åŽç©«" #: ../client/gtk/plenty.c:92 msgid "Please choose one resource from the bank" msgstr "å±±ã‹ã‚‰1ã¤è³‡æºã‚’é¸æŠžã—ã¦ãã ã•ã„" #: ../client/gtk/plenty.c:95 msgid "Please choose two resources from the bank" msgstr "å±±ã‹ã‚‰2ã¤è³‡æºã‚’é¸æŠžã—ã¦ãã ã•ã„" #: ../client/gtk/plenty.c:97 msgid "The bank is empty" msgstr "å±±ãŒç©ºã§ã™" #: ../client/gtk/quote.c:187 #, c-format msgid "%s has %s, and is looking for %s" msgstr "%s 㯠%s ã‚’æŒã£ã¦ã„ã¦ã€%s を求ã‚ã¦ã„ã‚‹" #. Notification #: ../client/gtk/quote.c:217 #, c-format msgid "New offer from %s." msgstr "%s ã‹ã‚‰æ–°ã—ã„申ã—入れ。" #. Notification #: ../client/gtk/quote.c:242 #, c-format msgid "Offer from %s." msgstr "%s ã‹ã‚‰ç”³ã—入れ。" #. Label #. Frame title, trade: I want to trade these resources #: ../client/gtk/quote.c:316 ../client/gtk/trade.c:524 msgid "I want" msgstr "欲ã—ã„" #. Label #. Frame title, trade: I want these resources in return #: ../client/gtk/quote.c:326 ../client/gtk/trade.c:530 msgid "Give them" msgstr "ã‚ã’ã‚‹" #. Button text #: ../client/gtk/quote.c:345 msgid "Delete" msgstr "削除" #. Button text #: ../client/gtk/quote.c:370 msgid "Reject Domestic Trade" msgstr "国内貿易拒å¦" #. Now create columns #. Table header: Player who trades #. Role of the player: player #: ../client/gtk/quote-view.c:170 ../server/gtk/main.c:684 msgid "Player" msgstr "プレイヤー" #. Table header: Quote #: ../client/gtk/quote-view.c:185 msgid "Quotes" msgstr "見ç©ã‚‚り" #. trade: maritime quote: %1 resources of type %2 for #. * one resource of type %3 #: ../client/gtk/quote-view.c:303 #, c-format msgid "%d:1 %s for %s" msgstr "%d:1 ã§ %s ã‚’ %s ã«äº¤æ›" #. Trade: a player has rejected trade #: ../client/gtk/quote-view.c:442 msgid "Rejected trade" msgstr "交易拒å¦" #. Caption for overview of the resources of the player #: ../client/gtk/resource.c:71 msgid "Resources" msgstr "資æº" #. Label #: ../client/gtk/resource.c:86 msgid "Total" msgstr "åˆè¨ˆ" #. Tooltip for the amount of resources in the hand #: ../client/gtk/resource-table.c:180 msgid "Amount in hand" msgstr "手札ã®åˆè¨ˆ" #. Button for decreasing the selected amount #: ../client/gtk/resource-table.c:185 msgid "" msgstr "増やã™>" #. Tooltip for increasing the selected amount #: ../client/gtk/resource-table.c:226 msgid "Increase the selected amount" msgstr "é¸æŠžé‡ã‚’増加" #. Tooltip for the selected amount #: ../client/gtk/resource-table.c:243 msgid "Selected amount" msgstr "é¸æŠžé‡" #. Tooltip for the total selected amount #: ../client/gtk/resource-table.c:288 msgid "Total selected amount" msgstr "é¸æŠžé‡ã®åˆè¨ˆ" #. Tooltip when the bank cannot be emptied #: ../client/gtk/resource-table.c:307 msgid "The bank cannot be emptied" msgstr "å±±ã¯ç©ºã«ã§ããªã„" #: ../client/gtk/settingscreen.c:74 msgid "Yes" msgstr "ã¯ã„" #: ../client/gtk/settingscreen.c:76 ../client/gtk/settingscreen.c:240 msgid "No" msgstr "ã„ã„ãˆ" #: ../client/gtk/settingscreen.c:87 ../client/gtk/settingscreen.c:187 msgid "Unknown" msgstr "䏿˜Ž" #: ../client/gtk/settingscreen.c:121 msgid "No game in progress..." msgstr "進行中ã®ã‚²ãƒ¼ãƒ ãªã—..." #. Label #: ../client/gtk/settingscreen.c:132 msgid "General settings" msgstr "一般設定" #: ../client/gtk/settingscreen.c:149 msgid "Number of players:" msgstr "プレイヤーã®ç•ªå·:" #: ../client/gtk/settingscreen.c:153 msgid "Victory point target:" msgstr "目標å‹åˆ©ãƒã‚¤ãƒ³ãƒˆ:" #: ../client/gtk/settingscreen.c:157 msgid "Random terrain:" msgstr "ランダム地形:" #: ../client/gtk/settingscreen.c:161 msgid "Allow trade between players:" msgstr "プレイヤー間ã®äº¤æ˜“を許å¯:" #: ../client/gtk/settingscreen.c:166 msgid "Allow trade only before building or buying:" msgstr "建設や購入ã®å‰ã ã‘交易を許å¯:" #: ../client/gtk/settingscreen.c:171 msgid "Check victory only at end of turn:" msgstr "ã‚¿ãƒ¼ãƒ³ã®æœ€å¾Œã«ã®ã¿å‹åˆ©åˆ¤å®š:" #: ../client/gtk/settingscreen.c:176 msgid "Amount of each resource:" msgstr "å„々ã®è³‡æºã®ç·é‡:" #: ../client/gtk/settingscreen.c:190 msgid "Sevens rule:" msgstr "7ã®ç›®ã®ãƒ«ãƒ¼ãƒ«:" #: ../client/gtk/settingscreen.c:196 msgid "Use dice deck instead of dice:" msgstr "サイコロã®ä»£ã‚りã«ã‚µã‚¤ã‚³ãƒ­ãƒ‡ãƒƒã‚­ã‚’使ã†:" #: ../client/gtk/settingscreen.c:201 msgid "Number of dice decks:" msgstr "ã‚µã‚¤ã‚³ãƒ­ãƒ‡ãƒƒã‚­ã®æ•°:" #: ../client/gtk/settingscreen.c:207 msgid "Number of dice cards removed after shuffling:" msgstr "シャッフル後ã«å–り除ãã‚µã‚¤ã‚³ãƒ­ã‚«ãƒ¼ãƒ‰ã®æ•°:" #: ../client/gtk/settingscreen.c:214 msgid "Use the pirate to block ships:" msgstr "船を止ã‚ã‚‹ãŸã‚ã«æµ·è³Šã‚’使ã†:" #: ../client/gtk/settingscreen.c:243 msgid "Island discovery bonuses:" msgstr "島発見ボーナス:" #. Label #: ../client/gtk/settingscreen.c:260 msgid "Building quotas" msgstr "建築物割り当ã¦" #: ../client/gtk/settingscreen.c:277 msgid "Roads:" msgstr "è¡—é“:" #: ../client/gtk/settingscreen.c:283 msgid "Settlements:" msgstr "開拓地:" #: ../client/gtk/settingscreen.c:289 msgid "Cities:" msgstr "都市:" #: ../client/gtk/settingscreen.c:295 msgid "City walls:" msgstr "都市城å£:" #: ../client/gtk/settingscreen.c:301 msgid "Ships:" msgstr "船:" #: ../client/gtk/settingscreen.c:307 msgid "Bridges:" msgstr "æ©‹:" #. Label #: ../client/gtk/settingscreen.c:320 msgid "Development card deck" msgstr "発展カードデッキ" #: ../client/gtk/settingscreen.c:336 msgid "Road building cards:" msgstr "è¡—é“æ•·è¨­ã‚«ãƒ¼ãƒ‰:" #: ../client/gtk/settingscreen.c:340 msgid "Monopoly cards:" msgstr "独å ã‚«ãƒ¼ãƒ‰:" #: ../client/gtk/settingscreen.c:344 msgid "Year of plenty cards:" msgstr "åŽç©«ã‚«ãƒ¼ãƒ‰:" #: ../client/gtk/settingscreen.c:348 msgid "Chapel cards:" msgstr "教会カード:" #: ../client/gtk/settingscreen.c:352 msgid "Pioneer university cards:" msgstr "パイオニア大学カード:" #: ../client/gtk/settingscreen.c:356 msgid "Governor's house cards:" msgstr "官舎カード:" #: ../client/gtk/settingscreen.c:360 msgid "Library cards:" msgstr "図書館カード:" #: ../client/gtk/settingscreen.c:364 msgid "Market cards:" msgstr "市場カード:" #: ../client/gtk/settingscreen.c:368 msgid "Soldier cards:" msgstr "騎士カード:" #. Dialog caption #: ../client/gtk/settingscreen.c:407 msgid "Current Game Settings" msgstr "ç¾åœ¨ã®ã‚²ãƒ¼ãƒ è¨­å®š" #. trade: you ask for something for free #: ../client/gtk/trade.c:205 #, c-format msgid "ask for %s for free" msgstr "無料㧠%s ã‚’ 求ã‚る。" #. trade: you give something away for free #: ../client/gtk/trade.c:210 #, c-format msgid "give %s for free" msgstr "無料㧠%s ã‚’ã‚ã’る。" #. trade: you trade something for something else #: ../client/gtk/trade.c:215 #, c-format msgid "give %s for %s" msgstr "%2$s ã‚’ãれãŸã‚‰ %1$s ã‚’ã‚ã’ã‚‹" #. I want some resources, and give them some resources #: ../client/gtk/trade.c:242 #, c-format msgid "I want %s, and give them %s" msgstr "欲ã—ã„ã®ã¯ %sã€ã‚ã’ã‚‹ã®ã¯ %s" #. Notification #: ../client/gtk/trade.c:348 #, c-format msgid "Quote received from %s." msgstr "%s ã‹ã‚‰è¦‹ç©ã‚‚りをå—ã‘ãŸã€‚" #. Button text, trade: call for quotes from other players #: ../client/gtk/trade.c:539 msgid "_Call for Quotes" msgstr "見ç©ã‚‚り呼ã³ã‹ã‘(_C)" #. Button text: Trade page, accept selected quote #: ../client/gtk/trade.c:568 msgid "_Accept Quote" msgstr "見ç©ã‚‚り承諾(_A)" #. Button text: Trade page, finish trading #: ../client/gtk/trade.c:574 msgid "_Finish Trading" msgstr "交易終了(_F)" #. Name of the development card #: ../common/cards.c:83 msgid "Road building" msgstr "è¡—é“æ•·è¨­" #. Name of the development card #: ../common/cards.c:89 msgid "Year of plenty" msgstr "åŽç©«" #. Description of the 'Road Building' development card #: ../common/cards.c:118 msgid "Build two new roads" msgstr "è¡—é“ã‚’2ã¤æ–°ã—ãæ•·è¨­ã™ã‚‹" #. Description of the 'Monopoly' development card #: ../common/cards.c:121 msgid "" "Select a resource type and take every card of that type held by all other " "players" msgstr "" "資æºã‚’1種類指定ã—ã€ä»–ã®ãƒ—レイヤー全員ã‹ã‚‰ãã®ç¨®é¡žã®ã‚«ãƒ¼ãƒ‰ã‚’ã™ã¹ã¦ã‚‚らã†" #. Description of the 'Year of Plenty' development card #: ../common/cards.c:125 msgid "" "Take two resource cards of any type from the bank (cards may be of the same " "or different types)" msgstr "å±±ã‹ã‚‰è³‡æºã‚«ãƒ¼ãƒ‰ã‚’ã©ã‚Œã‹2æžšå–ã‚‹ (2æžšã¯åŒã˜ç¨®é¡žã§ã‚‚é•ã†ç¨®é¡žã§ã‚‚ã„ã„)" #. Description of a development card of 1 victory point #: ../common/cards.c:134 msgid "One victory point" msgstr "å‹åˆ©ãƒã‚¤ãƒ³ãƒˆã‚’1点得る" #. Description of the 'Soldier' development card #: ../common/cards.c:137 msgid "" "Move the robber to a different space and take one resource card from another " "player adjacent to that space" msgstr "" "盗賊をé•ã†å ´æ‰€ã«ç§»å‹•ã—ã€ç§»å‹•ã—ãŸå ´æ‰€ã«éš£æŽ¥ã™ã‚‹ä»–プレイヤー一人ã‹ã‚‰è³‡æºã‚«ãƒ¼ãƒ‰" "ã‚’1枚もらã†" #: ../common/game.c:523 #, c-format msgid "Obsolete rule: '%s'\n" msgstr "廃止ã•れãŸãƒ«ãƒ¼ãƒ«: '%s'\n" #: ../common/game.c:530 #, c-format msgid "" "The game uses the new rule '%s', which is not yet supported. Consider " "upgrading.\n" msgstr "" "ã“ã®ã‚²ãƒ¼ãƒ ã¯ã¾ã ã‚µãƒãƒ¼ãƒˆã•ã¦ã¦ã„ãªã„æ–°ã—ã„ルール '%s' を使ã£ã¦ã„る。アップグ" "レードを検討ã—ã¦ãã ã•ã„。\n" #: ../common/game.c:924 ../common/game.c:955 msgid "This game cannot be won." msgstr "ã“ã®ã‚²ãƒ¼ãƒ ã¯å‹åˆ©ä¸å¯èƒ½ã€‚" #: ../common/game.c:925 msgid "There is no land." msgstr "陸地ãŒãªã„。" #: ../common/game.c:959 msgid "It is possible that this game cannot be won." msgstr "ã“ã®ã‚²ãƒ¼ãƒ ã¯å‹åˆ©è€…ãŒå‡ºãªã„å¯èƒ½æ€§ãŒã‚る。" #: ../common/game.c:965 msgid "This game can be won by only building all settlements and cities." msgstr "ã“ã®ã‚²ãƒ¼ãƒ ã¯ã™ã¹ã¦ã®é–‹æ‹“地ã¨éƒ½å¸‚を建設ã™ã‚‹ã ã‘ã§å‹ã¤ã“ã¨ãŒã§ãる。" #: ../common/game.c:971 #, c-format msgid "" "Required victory points: %d\n" "Points obtained by building all: %d\n" "Points in development cards: %u\n" "Longest road/largest army: %d+%d\n" "Maximum island discovery bonus: %d\n" "Total: %d" msgstr "" "å¿…è¦ãªå‹åˆ©ãƒã‚¤ãƒ³ãƒˆ: %d\n" "ã™ã¹ã¦å»ºè¨­ã—ãŸã¨ãã®ç²å¾—ãƒã‚¤ãƒ³ãƒˆ: %d\n" "発展カードã«ã‚ˆã‚‹ãƒã‚¤ãƒ³ãƒˆ: %u\n" "最長交易路/最大兵力: %d+%d\n" "最大島発見ボーナス: %d\n" "åˆè¨ˆ: %d" #: ../common/game-list.c:111 #, c-format msgid "Looking for games in '%s'\n" msgstr "'%s' ã§ã‚²ãƒ¼ãƒ ã‚’検索中\n" #: ../common/game-list.c:113 #, c-format msgid "Game directory '%s' not found\n" msgstr "ゲームディレクトリ '%s' ãŒè¦‹ã¤ã‹ã‚‰ãªã„\n" #: ../common/game-list.c:131 #, c-format msgid "Unable to load game: '%s'\n" msgstr "以下ã®ã‚²ãƒ¼ãƒ ã‚’ロードã§ããªã„: '%s'\n" #: ../common/game-list.c:151 msgid "No games available\n" msgstr "利用å¯èƒ½ãªã‚²ãƒ¼ãƒ ãŒãªã„\n" #: ../common/gtk/aboutbox.c:53 msgid "" "Pioneers is based upon the excellent\n" "Settlers of Catan board game.\n" msgstr "" "Pioneers ã¯ã€Œã‚«ã‚¿ãƒ³ã®é–‹æ‹“者ãŸã¡ã€ã¨ã„ã†\n" "ã™ã°ã‚‰ã—ã„ボードゲームãŒå…ƒã«ãªã£ã¦ã„ã¾ã™ã€‚\n" #. Translators: add your name here. Keep the list #. * alphabetically, do not remove any names, and add #. * \n after your name (except the last name). #. #: ../common/gtk/aboutbox.c:63 msgid "translator-credits" msgstr "" "Launchpad Contributions:\n" " KAMO Tomoyuki https://launchpad.net/~kto\n" " Nazo https://launchpad.net/~lovesyao\n" " Yasuhiko Takasugi https://launchpad.net/~takasugi" #. Caption for result of checking victory points #: ../common/gtk/common_gtk.c:324 msgid "Victory Point Analysis" msgstr "å‹åˆ©ãƒã‚¤ãƒ³ãƒˆè§£æž" #. Tooltip for sevens rule normal #: ../common/gtk/game-rules.c:110 msgid "All sevens move the robber or pirate" msgstr "ã©ã®ã‚¿ãƒ¼ãƒ³ã§ã‚‚7ã®ç›®ãŒå‡ºãŸã‚‰ç›—賊・海賊を移動ã™ã‚‹" #. Tooltip for sevens rule reroll on 1st 2 turns #: ../common/gtk/game-rules.c:114 msgid "In the first two turns all sevens are rerolled" msgstr "最åˆã®2ターンã§ã¯7ã®ç›®ãŒå‡ºãŸã‚‰æŒ¯ã‚Šç›´ã—" #. Tooltip for sevens rule reroll all #: ../common/gtk/game-rules.c:118 msgid "All sevens are rerolled" msgstr "ã©ã®ã‚¿ãƒ¼ãƒ³ã§ã‚‚7ã®ç›®ãŒå‡ºãŸã‚‰æŒ¯ã‚Šç›´ã—" #: ../common/gtk/game-rules.c:129 msgid "Randomize terrain" msgstr "ランダム地形" #: ../common/gtk/game-rules.c:129 msgid "Randomize the terrain" msgstr "地形をランダムã«ã™ã‚‹" #: ../common/gtk/game-rules.c:132 msgid "Use pirate" msgstr "海賊使用" #: ../common/gtk/game-rules.c:133 msgid "Use the pirate to block ships" msgstr "船を止ã‚ã‚‹ãŸã‚ã«æµ·è³Šã‚’使ã†" #: ../common/gtk/game-rules.c:135 msgid "Strict trade" msgstr "交易ã¯å޳坆ã«" #: ../common/gtk/game-rules.c:136 msgid "Allow trade only before building or buying" msgstr "建設や購入ã®å‰ã ã‘交易を許å¯ã™ã‚‹" #: ../common/gtk/game-rules.c:138 msgid "Domestic trade" msgstr "国内貿易" #: ../common/gtk/game-rules.c:139 msgid "Allow trade between players" msgstr "プレイヤー間ã®äº¤æ˜“を許å¯ã™ã‚‹" #: ../common/gtk/game-rules.c:141 msgid "Victory at end of turn" msgstr "ã‚¿ãƒ¼ãƒ³ã®æœ€å¾Œã«å‹åˆ©åˆ¤å®š" #: ../common/gtk/game-rules.c:142 msgid "Check for victory only at end of turn" msgstr "ã‚¿ãƒ¼ãƒ³ã®æœ€å¾Œã«ã®ã¿å‹åˆ©åˆ¤å®šã‚’ã™ã‚‹" #: ../common/gtk/game-rules.c:145 msgid "Use dice deck" msgstr "サイコロデッキを使ã†" #: ../common/gtk/game-rules.c:147 msgid "Use a deck of 36 dice cards instead of real dice" msgstr "実際ã®ã‚µã‚¤ã‚³ãƒ­ã®ä»£ã‚りã«36æžšã®ã‚µã‚¤ã‚³ãƒ­ã‚«ãƒ¼ãƒ‰ã®ãƒ‡ãƒƒã‚­ã‚’使ã†" #. Label #: ../common/gtk/game-rules.c:155 msgid "Number of dice decks" msgstr "ã‚µã‚¤ã‚³ãƒ­ãƒ‡ãƒƒã‚­ã®æ•°" #: ../common/gtk/game-rules.c:172 msgid "The number of dice decks (of 36 cards each)" msgstr "ã‚µã‚¤ã‚³ãƒ­ãƒ‡ãƒƒã‚­ã®æ•° (ãれãžã‚Œã®ãƒ‡ãƒƒã‚­ã¯ã‚«ãƒ¼ãƒ‰36æžš)" #. Label #: ../common/gtk/game-rules.c:180 msgid "Number of removed dice cards" msgstr "å–り除ãã‚µã‚¤ã‚³ãƒ­ã‚«ãƒ¼ãƒ‰ã®æ•°" #: ../common/gtk/game-rules.c:199 msgid "The number of dice cards that are removed after shuffling the deck" msgstr "シャッフル後ã«å–り除ãã‚µã‚¤ã‚³ãƒ­ã‚«ãƒ¼ãƒ‰ã®æ•°" #. Label #: ../common/gtk/game-rules.c:207 msgid "Island discovery bonuses" msgstr "島発見ボーナス" #. Tooltip for island bonus #: ../common/gtk/game-rules.c:219 msgid "A comma separated list of bonus points for discovering islands" msgstr "島発見時ã®ãƒœãƒ¼ãƒŠã‚¹ãƒã‚¤ãƒ³ãƒˆã®ã‚«ãƒ³ãƒžåŒºåˆ‡ã‚Šã®ãƒªã‚¹ãƒˆ" #. Tooltip for the check button #: ../common/gtk/game-rules.c:237 msgid "Check and correct island discovery bonuses" msgstr "島発見ボーナスã®ãƒã‚§ãƒƒã‚¯ã¨ä¿®æ­£" #. Label text for customising a game #: ../common/gtk/game-settings.c:105 msgid "Number of players" msgstr "プレイヤー数" #. Tooltip for 'Number of Players' #: ../common/gtk/game-settings.c:124 msgid "The number of players" msgstr "プレイヤー数" #. Label for customising a game #: ../common/gtk/game-settings.c:127 msgid "Victory point target" msgstr "目標å‹åˆ©ãƒã‚¤ãƒ³ãƒˆ" #. Tooltip for Victory Point Target #: ../common/gtk/game-settings.c:147 msgid "The points needed to win the game" msgstr "ゲームå‹åˆ©ã«å¿…è¦ãªãƒã‚¤ãƒ³ãƒˆ" #. Tooltip for the check button #: ../common/gtk/game-settings.c:161 msgid "Is it possible to win this game?" msgstr "ã“ã®ã‚²ãƒ¼ãƒ ã«å‹åˆ©å¯èƒ½ã‹?" #. Port indicator for a resource: trade 2 for 1 #: ../common/gtk/guimap.c:742 msgid "2:1" msgstr "2:1" #. Port indicator: trade 3 for 1 #. General port indicator #: ../common/gtk/guimap.c:745 ../common/gtk/guimap.c:770 msgid "3:1" msgstr "3:1" #. Port indicator for brick #: ../common/gtk/guimap.c:750 msgid "Brick port|B" msgstr "レンガ港|B" #. Port indicator for grain #: ../common/gtk/guimap.c:754 msgid "Grain port|G" msgstr "å°éº¦æ¸¯|G" #. Port indicator for ore #: ../common/gtk/guimap.c:758 msgid "Ore port|O" msgstr "鉱石港|O" #. Port indicator for wool #: ../common/gtk/guimap.c:762 msgid "Wool port|W" msgstr "羊毛港|W" #. Port indicator for lumber #: ../common/gtk/guimap.c:766 msgid "Lumber port|L" msgstr "æœ¨ææ¸¯|L" #. Tooltip for the list of metaservers #: ../common/gtk/metaserver.c:85 msgid "Select a metaserver" msgstr "メタサーãƒã‚’é¸æŠž" #. Tooltip for the list of games #: ../common/gtk/select-game.c:135 msgid "Select a game" msgstr "ã‚²ãƒ¼ãƒ é¸æŠž" #. Log prefix #: ../common/log.c:58 msgid "*ERROR* " msgstr "*エラー* " #. Log prefix #: ../common/log.c:66 msgid "Chat: " msgstr "ãƒãƒ£ãƒƒãƒˆ: " #. Log prefix #: ../common/log.c:70 msgid "Resource: " msgstr "資æº: " #. Log prefix #: ../common/log.c:74 msgid "Build: " msgstr "建設: " #. Log prefix #: ../common/log.c:78 msgid "Dice: " msgstr "サイコロ: " #. Log prefix #: ../common/log.c:82 msgid "Steal: " msgstr "盗賊: " #. Log prefix #: ../common/log.c:86 msgid "Trade: " msgstr "交易: " #. Log prefix #: ../common/log.c:90 msgid "Development: " msgstr "発展: " #. Log prefix #: ../common/log.c:94 msgid "Army: " msgstr "騎士: " #. Log prefix #: ../common/log.c:98 msgid "Road: " msgstr "è¡—é“: " #. Log prefix #: ../common/log.c:102 msgid "*BEEP* " msgstr "*ビープ* " #. Log prefix #: ../common/log.c:108 msgid "Player 1: " msgstr "プレイヤー 1: " #. Log prefix #: ../common/log.c:112 msgid "Player 2: " msgstr "プレイヤー 2: " #. Log prefix #: ../common/log.c:116 msgid "Player 3: " msgstr "プレイヤー 3: " #. Log prefix #: ../common/log.c:120 msgid "Player 4: " msgstr "プレイヤー 4: " #. Log prefix #: ../common/log.c:124 msgid "Player 5: " msgstr "プレイヤー 5: " #. Log prefix #: ../common/log.c:128 msgid "Player 6: " msgstr "プレイヤー 6: " #. Log prefix #: ../common/log.c:132 msgid "Player 7: " msgstr "プレイヤー 7: " #. Log prefix #: ../common/log.c:136 msgid "Player 8: " msgstr "プレイヤー 8: " #. Log prefix #: ../common/log.c:140 msgid "Spectator: " msgstr "観戦者: " #. Log prefix #: ../common/log.c:144 msgid "** UNKNOWN MESSAGE TYPE ** " msgstr "** メッセージã®ç¨®é¡žä¸æ˜Ž ** " #: ../common/network.c:143 #, c-format msgid "Error writing to socket: %s\n" msgstr "ソケットã¸ã®æ›¸ãè¾¼ã¿æ™‚ã«ã‚¨ãƒ©ãƒ¼: %s\n" #: ../common/network.c:154 msgid "Could not send all data\n" msgstr "ã™ã¹ã¦ã®ãƒ‡ãƒ¼ã‚¿ã‚’é€ä¿¡ã—ãれãªã‹ã£ãŸ\n" #: ../common/network.c:202 msgid "Read buffer overflow - disconnecting\n" msgstr "読ã¿è¾¼ã¿ãƒãƒƒãƒ•ã‚¡ã‚ãµã‚Œ - 切断\n" #: ../common/network.c:226 #, c-format msgid "Error reading socket: %s\n" msgstr "ソケット読ã¿è¾¼ã¿æ™‚ã«ã‚¨ãƒ©ãƒ¼: %s\n" #: ../common/network.c:378 #, c-format msgid "Error connecting to %s: %s\n" msgstr "%s ã¸ã®æŽ¥ç¶šæ™‚ã«ã‚¨ãƒ©ãƒ¼: %s\n" #: ../common/network.c:566 ../common/network.c:567 msgid "unknown" msgstr "䏿˜Ž" #: ../common/state.c:203 #, c-format msgid "Connecting to %s, port %s\n" msgstr "%s ã®ãƒãƒ¼ãƒˆ %s ã«æŽ¥ç¶š\n" #. Error message #: ../common/state.c:333 msgid "State stack overflow. Stack dump sent to standard error.\n" msgstr "状態スタックオーãƒãƒ•ロー。標準エラー出力ã«ã‚¹ã‚¿ãƒƒã‚¯ãƒ€ãƒ³ãƒ—ã‚’é€ã‚Šã¾ã™ã€‚\n" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:113 msgid "_Hill" msgstr "丘陵(_H)" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:115 msgid "_Field" msgstr "ç•‘(_F)" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:117 msgid "_Mountain" msgstr "山地(_M)" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:119 msgid "_Pasture" msgstr "牧è‰åœ°(_P)" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:121 msgid "F_orest" msgstr "森林(_O)" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:123 msgid "_Desert" msgstr "ç ‚æ¼ (_D)" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:125 msgid "_Sea" msgstr "æµ·(_S)" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:127 msgid "_Gold" msgstr "金(_G)" #. Use an unique shortcut key for each resource #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:129 ../editor/gtk/editor.c:144 msgid "_None" msgstr "ãªã—(_N)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:134 msgid "_Brick (2:1)" msgstr "レンガ(2:1)(_B)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:136 msgid "_Grain (2:1)" msgstr "å°éº¦(2:1)(_G)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:138 msgid "_Ore (2:1)" msgstr "鉱石(2:1)(_O)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:140 msgid "_Wool (2:1)" msgstr "羊毛(2:1)(_W)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:142 msgid "_Lumber (2:1)" msgstr "木æ(2:1)(_L)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:146 msgid "_Any (3:1)" msgstr "一般(3:1)(_A)" #. East #: ../editor/gtk/editor.c:151 msgid "East|E" msgstr "æ±" #. North east #: ../editor/gtk/editor.c:153 msgid "North East|NE" msgstr "北æ±|NE" #. North west #: ../editor/gtk/editor.c:155 msgid "North West|NW" msgstr "北西|NW" #. West #: ../editor/gtk/editor.c:157 msgid "West|W" msgstr "西|W" #. South west #: ../editor/gtk/editor.c:159 msgid "South West|SW" msgstr "å—西|SW" #. South east #: ../editor/gtk/editor.c:161 msgid "South East|SE" msgstr "å—æ±|SE" #: ../editor/gtk/editor.c:368 msgid "Place a hill hex" msgstr "丘陵タイルをé…ç½®" #: ../editor/gtk/editor.c:369 msgid "Place a field hex" msgstr "畑タイルをé…ç½®" #: ../editor/gtk/editor.c:370 msgid "Place a mountain hex" msgstr "山地タイルをé…ç½®" #: ../editor/gtk/editor.c:371 msgid "Place a pasture hex" msgstr "牧è‰åœ°ã‚¿ã‚¤ãƒ«ã‚’é…ç½®" #: ../editor/gtk/editor.c:372 msgid "Place a forest hex" msgstr "森林タイルをé…ç½®" #: ../editor/gtk/editor.c:373 msgid "Place a desert hex" msgstr "砂漠タイルをé…ç½®" #: ../editor/gtk/editor.c:374 msgid "Place a sea hex" msgstr "海タイルをé…ç½®" #: ../editor/gtk/editor.c:375 msgid "Place a gold hex" msgstr "金タイルをé…ç½®" #: ../editor/gtk/editor.c:376 msgid "Clear the hex" msgstr "タイルを消去" #: ../editor/gtk/editor.c:384 msgid "Place a 2 chit" msgstr "2 ã®ãƒˆãƒ¼ã‚¯ãƒ³ã‚’é…ç½®" #: ../editor/gtk/editor.c:385 msgid "Place a 3 chit" msgstr "3 ã®ãƒˆãƒ¼ã‚¯ãƒ³ã‚’é…ç½®" #: ../editor/gtk/editor.c:386 msgid "Place a 4 chit" msgstr "4 ã®ãƒˆãƒ¼ã‚¯ãƒ³ã‚’é…ç½®" #: ../editor/gtk/editor.c:387 msgid "Place a 5 chit" msgstr "5 ã®ãƒˆãƒ¼ã‚¯ãƒ³ã‚’é…ç½®" #: ../editor/gtk/editor.c:388 msgid "Place a 6 chit" msgstr "6 ã®ãƒˆãƒ¼ã‚¯ãƒ³ã‚’é…ç½®" #: ../editor/gtk/editor.c:390 msgid "Place an 8 chit" msgstr "8 ã®ãƒˆãƒ¼ã‚¯ãƒ³ã‚’é…ç½®" #: ../editor/gtk/editor.c:391 msgid "Place a 9 chit" msgstr "9 ã®ãƒˆãƒ¼ã‚¯ãƒ³ã‚’é…ç½®" #: ../editor/gtk/editor.c:392 msgid "Place a 10 chit" msgstr "10 ã®ãƒˆãƒ¼ã‚¯ãƒ³ã‚’é…ç½®" #: ../editor/gtk/editor.c:393 msgid "Place an 11 chit" msgstr "11 ã®ãƒˆãƒ¼ã‚¯ãƒ³ã‚’é…ç½®" #: ../editor/gtk/editor.c:394 msgid "Place a 12 chit" msgstr "12 ã®ãƒˆãƒ¼ã‚¯ãƒ³ã‚’é…ç½®" #: ../editor/gtk/editor.c:400 msgid "Place a brick 2:1 port" msgstr "レンガ 2:1 ã®æ¸¯ã‚’é…ç½®" #: ../editor/gtk/editor.c:401 msgid "Place a grain 2:1 port" msgstr "å°éº¦ 2:1 ã®æ¸¯ã‚’é…ç½®" #: ../editor/gtk/editor.c:402 msgid "Place an ore 2:1 port" msgstr "鉱石 2:1 ã®æ¸¯ã‚’é…ç½®" #: ../editor/gtk/editor.c:403 msgid "Place a wool 2:1 port" msgstr "羊毛 2:1 ã®æ¸¯ã‚’é…ç½®" #: ../editor/gtk/editor.c:404 msgid "Place a lumber 2:1 port" msgstr "木æ 2:1 ã®æ¸¯ã‚’é…ç½®" #. Tooltip to remove a port tile in the editor #: ../editor/gtk/editor.c:406 msgid "Remove a port" msgstr "港を除去" #: ../editor/gtk/editor.c:407 msgid "Place a 3:1 port" msgstr "3:1 ã®æ¸¯ã‚’é…ç½®" #: ../editor/gtk/editor.c:437 msgid "" "Select the terrain type with the context menu on the left click or toggle a " "node to exclude it from being used during the setup phase" msgstr "" "左クリックコンテクストメニューã‹ã‚‰åœ°å½¢ã‚’é¸æŠžã€ã‚‚ã—ãã¯ãƒŽãƒ¼ãƒ‰ã‚’é…置フェイズã§" "使用ã™ã‚‹ã‹ã—ãªã„ã‹ã®åˆ‡ã‚Šæ›¿ãˆ" #: ../editor/gtk/editor.c:572 msgid "Insert a row" msgstr "一行追加" #: ../editor/gtk/editor.c:573 msgid "Delete a row" msgstr "一行削除" #: ../editor/gtk/editor.c:574 msgid "Insert a column" msgstr "一列追加" #: ../editor/gtk/editor.c:575 msgid "Delete a column" msgstr "一列削除" #. Label #: ../editor/gtk/editor.c:978 msgid "_Title" msgstr "タイトル(_T)" #. Label #: ../editor/gtk/editor.c:991 msgid "_Description" msgstr "説明(_D)" #. Label #: ../editor/gtk/editor.c:1009 msgid "_Comments" msgstr "コメント(_C)" #. Menu item #: ../editor/gtk/editor.c:1139 msgid "Shuffle" msgstr "シャッフル" #. Caption #. Game settings frame #: ../editor/gtk/editor.c:1294 ../server/gtk/main.c:968 msgid "Game parameters" msgstr "ゲームパラメータ" #. Caption #. Rules frame #: ../editor/gtk/editor.c:1297 ../server/gtk/main.c:983 msgid "Rules" msgstr "ルール" #. Caption #: ../editor/gtk/editor.c:1299 msgid "Resources" msgstr "資æº" #. Caption #: ../editor/gtk/editor.c:1302 msgid "Buildings" msgstr "建設" #. The game in the editor does not have a name yet #: ../editor/gtk/editor.c:1319 msgid "Untitled" msgstr "無題" #. Application caption #: ../editor/gtk/editor.c:1324 ../editor/gtk/pioneers-editor.desktop.in.h:1 msgid "Pioneers Editor" msgstr "Pioneers エディタ" #: ../editor/gtk/editor.c:1434 #, c-format msgid "Failed to load '%s'" msgstr "'%s' をロードã§ããªã„" #: ../editor/gtk/editor.c:1482 #, c-format msgid "Failed to save to '%s'" msgstr "'%s' ã‚’ä¿å­˜ã§ããªã„" #. Name of the file filter: show only games #: ../editor/gtk/editor.c:1499 msgid "Games" msgstr "ゲーム" #. Name of the file filter: show all files #: ../editor/gtk/editor.c:1505 msgid "Unfiltered" msgstr "フィルタãªã—" #. Dialog caption #: ../editor/gtk/editor.c:1517 msgid "Open Game" msgstr "ゲームを開ã" #. Button text #: ../editor/gtk/editor.c:1524 #, fuzzy msgid "_Open" msgstr "é–‹ã(_O)..." #. Dialog caption #: ../editor/gtk/editor.c:1558 msgid "Save As..." msgstr "åå‰ã‚’ã¤ã‘ã¦ä¿å­˜..." #. Button text #: ../editor/gtk/editor.c:1565 #, fuzzy msgid "Save _As" msgstr "åå‰ã‚’ã¤ã‘ã¦ä¿å­˜(_A)..." #. Dialog caption #: ../editor/gtk/editor.c:1606 msgid "Change Title" msgstr "タイトルを変更" #. Label #: ../editor/gtk/editor.c:1631 msgid "New title:" msgstr "æ–°ã—ã„タイトル:" #. Caption of about box #: ../editor/gtk/editor.c:1688 msgid "About Pioneers Game Editor" msgstr "Pioneers ゲームエディタã«ã¤ã„ã¦" #. Menu entry #: ../editor/gtk/editor.c:1718 msgid "_File" msgstr "ファイル(_F)" #. Menu entry #: ../editor/gtk/editor.c:1728 msgid "_New" msgstr "æ–°è¦ä½œæˆ(_N)" #: ../editor/gtk/editor.c:1729 msgid "Create a new game" msgstr "æ–°ã—ã„ゲームを作æˆ" #. Menu entry #: ../editor/gtk/editor.c:1732 msgid "_Open..." msgstr "é–‹ã(_O)..." #. Tooltip for Open menu entry #: ../editor/gtk/editor.c:1734 msgid "Open an existing game" msgstr "既存ã®ã‚²ãƒ¼ãƒ ã‚’é–‹ã" #. Menu entry #: ../editor/gtk/editor.c:1737 msgid "_Save" msgstr "ä¿å­˜(_S)" #. Tooltip for Save menu entry #: ../editor/gtk/editor.c:1739 msgid "Save game" msgstr "ゲームをä¿å­˜" #. Menu entry #: ../editor/gtk/editor.c:1742 msgid "Save _As..." msgstr "åå‰ã‚’ã¤ã‘ã¦ä¿å­˜(_A)..." #. Tooltip for Save As menu entry #: ../editor/gtk/editor.c:1745 msgid "Save as" msgstr "åå‰ã‚’ã¤ã‘ã¦ä¿å­˜" #. Menu entry #: ../editor/gtk/editor.c:1748 msgid "Change _Title" msgstr "タイトルを変更(_T)" #. Tooltip for Change Title menu entry #: ../editor/gtk/editor.c:1750 msgid "Change game title" msgstr "ゲームタイトルを変更" #. Menu entry #: ../editor/gtk/editor.c:1753 ../server/gtk/main.c:97 msgid "_Check Victory Point Target" msgstr "目標å‹åˆ©ãƒã‚¤ãƒ³ãƒˆã‚’ãƒã‚§ãƒƒã‚¯(_C)" #. Tooltip for Check Victory Point Target menu entry #. Tooltop for Check Victory Point Target menu entry #: ../editor/gtk/editor.c:1756 ../server/gtk/main.c:100 msgid "Check whether the game can be won" msgstr "ゲームã«å‹åˆ©ã—ãŸã‹ã©ã†ã‹ãƒã‚§ãƒƒã‚¯" #. Tooltip for Quit menu entry #: ../editor/gtk/editor.c:1761 msgid "Quit" msgstr "終了" #. Menu entry #: ../editor/gtk/editor.c:1783 msgid "_About Pioneers Editor" msgstr "Pioneers エディタã«ã¤ã„ã¦(_A)" #. Tooltip for About Pioneers Editor menu entry #: ../editor/gtk/editor.c:1785 msgid "Information about Pioneers Editor" msgstr "Pioneers エディタã«ã¤ã„ã¦ã®æƒ…å ±" #. Long help for commandline option (editor): filename #: ../editor/gtk/editor.c:1838 msgid "Open this file" msgstr "ã“ã®ãƒ•ァイルを開ã" #. Commandline option for editor: filename #. Commandline metaserver: pidfile argument #: ../editor/gtk/editor.c:1840 ../metaserver/main.c:615 msgid "filename" msgstr "ファイルå" #. Long description in the command line: --help #: ../editor/gtk/editor.c:1877 msgid "- Editor for games of Pioneers" msgstr "- Pioneers ゲームã®ã‚¨ãƒ‡ã‚£ã‚¿" #. Error message #: ../editor/gtk/editor.c:1921 ../server/gtk/main.c:1256 #, c-format msgid "Building menus failed: %s" msgstr "メニュー構築ã«å¤±æ•—: %s" #. Tab page name #: ../editor/gtk/editor.c:1951 msgid "Settings" msgstr "設定" #. Tab page name #: ../editor/gtk/editor.c:1954 msgid "Comments" msgstr "コメント" #: ../editor/gtk/game-resources.c:48 msgid "Resource count" msgstr "è³‡æºæ•°" #: ../editor/gtk/pioneers-editor.desktop.in.h:2 msgid "Create your own game for Pioneers" msgstr "Pioneers ã®ã‚²ãƒ¼ãƒ ã‚’自作ã™ã‚‹" #: ../editor/gtk/pioneers-editor.desktop.in.h:3 msgid "game;board;create;edit;layout;Pioneers;Settlers;" msgstr "ゲーム;ボード;作æˆ;編集;レイアウト;Pioneers;開拓者;" #. Commandline metaserver: daemon #: ../metaserver/main.c:610 msgid "Daemonize the metaserver on start" msgstr "メタサーãƒé–‹å§‹æ™‚ã«ãƒ‡ãƒ¼ãƒ¢ãƒ³åŒ–ã™ã‚‹" #. Commandline metaserver: pidfile #: ../metaserver/main.c:613 msgid "Pidfile to create when daemonizing (implies -d)" msgstr "デーモン化ã™ã‚‹ã¨ãã«ä½œæˆã™ã‚‹ PID ファイル (-d ã‚’å«æ„)" #. Commandline metaserver: redirect #: ../metaserver/main.c:618 msgid "Redirect clients to another metaserver" msgstr "クライアントを他ã®ãƒ¡ã‚¿ã‚µãƒ¼ãƒã«è»¢é€ã™ã‚‹" #. Commandline metaserver: server #: ../metaserver/main.c:621 msgid "Use this hostname when creating new games" msgstr "æ–°ã—ã„ゲームを作æˆã™ã‚‹ã¨ãã“ã®ãƒ›ã‚¹ãƒˆåを使用ã™ã‚‹" #. Commandline metaserver: server argument #: ../metaserver/main.c:623 msgid "hostname" msgstr "ホストå" #. Commandline metaserver: port-range #: ../metaserver/main.c:626 msgid "Use this port range when creating new games" msgstr "æ–°ã—ã„ゲームを作æˆã™ã‚‹ã¨ãã«ã“ã®ãƒãƒ¼ãƒˆã®ç¯„囲を使用ã™ã‚‹" #. Commandline metaserver: port-range argument #: ../metaserver/main.c:628 msgid "from-to" msgstr "先頭-末尾" #. Commandline option of metaserver: syslog-debug #: ../metaserver/main.c:634 msgid "Debug syslog messages" msgstr "デãƒãƒƒã‚° syslog メッセージ" #. Long description in the commandline for metaserver: help #: ../metaserver/main.c:675 msgid "- Metaserver for Pioneers" msgstr "- Pioneers ã®ãƒ¡ã‚¿ã‚µãƒ¼ãƒ" #: ../metaserver/main.c:691 #, c-format msgid "metaserver protocol:" msgstr "メタサーãƒãƒ—ロトコル:" #: ../server/avahi.c:68 msgid "Avahi registration successful.\n" msgstr "Avahi 登録æˆåŠŸã€‚\n" #: ../server/avahi.c:78 #, c-format msgid "Avahi service name collision, renaming service to '%s'.\n" msgstr "Avahi サービスåè¡çªã€ã‚µãƒ¼ãƒ“スåã‚’ '%s' ã«å¤‰æ›´ã€‚\n" #. Some kind of failure happened while we were registering #: ../server/avahi.c:89 #, c-format msgid "Avahi error: %s\n" msgstr "Avahi エラー: %s\n" #: ../server/avahi.c:113 ../server/avahi.c:145 ../server/avahi.c:155 #: ../server/avahi.c:191 ../server/avahi.c:212 ../server/avahi.c:226 #, c-format msgid "Avahi error: %s, %s\n" msgstr "Avahi エラー: %s, %s\n" #: ../server/avahi.c:213 ../server/avahi.c:227 msgid "Unable to register Avahi server" msgstr "Avahi サーãƒã«ç™»éŒ²ã§ããªã„" #: ../server/avahi.c:260 msgid "Unregistering Avahi.\n" msgstr "Avahi 登録解除。\n" #. Menu entry #: ../server/gtk/main.c:108 msgid "_About Pioneers Server" msgstr "Pioneers サーãƒã«ã¤ã„ã¦(_A)" #. Tooltop for About Pioneers Server menu entry #: ../server/gtk/main.c:110 msgid "Information about Pioneers Server" msgstr "Pioneers サーãƒã«ã¤ã„ã¦ã®æƒ…å ±" #: ../server/gtk/main.c:234 msgid "Stop Server" msgstr "サーãƒåœæ­¢" #: ../server/gtk/main.c:235 msgid "Start Server" msgstr "サーãƒé–‹å§‹" #: ../server/gtk/main.c:237 ../server/gtk/main.c:996 msgid "Stop the server" msgstr "サーãƒã‚’åœæ­¢ã™ã‚‹" #: ../server/gtk/main.c:238 msgid "Start the server" msgstr "サーãƒã‚’é–‹å§‹ã™ã‚‹" #: ../server/gtk/main.c:395 #, c-format msgid "Player %s from %s entered\n" msgstr "%2$s ã‹ã‚‰ãƒ—レイヤー %1$s ãŒå‚加\n" #: ../server/gtk/main.c:402 #, c-format msgid "Player %s from %s left\n" msgstr "%2$s ã‹ã‚‰ã®ãƒ—レイヤー %1$s ãŒåŽ»ã£ãŸ\n" #: ../server/gtk/main.c:409 #, c-format msgid "Player %d is now %s\n" msgstr "プレイヤー %d 㯠%s ã«ãªã£ãŸ\n" #: ../server/gtk/main.c:570 msgid "The port for the game server" msgstr "ゲームサーãƒã®ãƒãƒ¼ãƒˆ" #. register_toggle #: ../server/gtk/main.c:579 msgid "Register server" msgstr "サーãƒç™»éŒ²" #: ../server/gtk/main.c:587 msgid "Register this game at the metaserver" msgstr "ã“ã®ã‚²ãƒ¼ãƒ ã‚’メタサーãƒä¸Šã«ç™»éŒ²ã™ã‚‹" #. hostname label #: ../server/gtk/main.c:618 msgid "Reported hostname" msgstr "報告ã™ã‚‹ãƒ›ã‚¹ãƒˆå" #: ../server/gtk/main.c:633 msgid "" "The public name of this computer (needed when playing behind a firewall)" msgstr "" "ã“ã®ã‚³ãƒ³ãƒ”ュータã®å…¬é–‹å (ファイアーウォールã®ä¸­ã‹ã‚‰ãƒ—レイã™ã‚‹å ´åˆã¯å¿…è¦)" #. random toggle #: ../server/gtk/main.c:652 msgid "Random turn order" msgstr "ランダムãªã‚¿ãƒ¼ãƒ³é †ç•ª" #: ../server/gtk/main.c:659 msgid "Randomize turn order" msgstr "ターン順番をランダムã«ã™ã‚‹" #. Tooltip for server connection overview #: ../server/gtk/main.c:730 msgid "Shows all players and spectators connected to the server" msgstr "サーãƒã«æŽ¥ç¶šã—ã¦ã„るプレイヤーã¨è¦³æˆ¦è€…ã‚’ã™ã¹ã¦è¡¨ç¤ºã—ã¦ã„ã‚‹" #. Label for column Connected #: ../server/gtk/main.c:735 msgid "Connected" msgstr "接続" #. Tooltip for column Connected #: ../server/gtk/main.c:742 msgid "Is the player currently connected?" msgstr "ãƒ—ãƒ¬ã‚¤ãƒ¤ãƒ¼ã®æŽ¥ç¶šçŠ¶æ…‹" #. Label for column Name #: ../server/gtk/main.c:747 msgid "Name" msgstr "åå‰" #. Tooltip for column Name #: ../server/gtk/main.c:754 msgid "Name of the player" msgstr "プレイヤーã®åå‰" #. Label for column Location #: ../server/gtk/main.c:758 msgid "Location" msgstr "場所" #. Tooltip for column Location #: ../server/gtk/main.c:765 msgid "Host name of the player" msgstr "プレイヤーã®ãƒ›ã‚¹ãƒˆå" #. Label for column Number #: ../server/gtk/main.c:771 msgid "Number" msgstr "番å·" #. Tooltip for column Number #: ../server/gtk/main.c:778 msgid "Player number" msgstr "プレイヤーã®ç•ªå·" #. Label for column Role #: ../server/gtk/main.c:784 msgid "Role" msgstr "役割" #. Tooltip for column Role #: ../server/gtk/main.c:788 msgid "Player or spectator" msgstr "プレイヤーã‹è¦³æˆ¦è€…ã‹" #. Button text #: ../server/gtk/main.c:825 msgid "Launch Pioneers Client" msgstr "Pioneers クライアント起動" #. Tooltip #: ../server/gtk/main.c:839 msgid "Launch the Pioneers client" msgstr "Pioneers クライアントを起動ã™ã‚‹" #. ai chat toggle #: ../server/gtk/main.c:868 msgid "Enable chat" msgstr "ãƒãƒ£ãƒƒãƒˆå¯" #. Tooltip #: ../server/gtk/main.c:875 msgid "Enable chat messages" msgstr "ãƒãƒ£ãƒƒãƒˆã‚’å¯èƒ½ã«ã™ã‚‹" #. Button text #: ../server/gtk/main.c:884 msgid "Add Computer Player" msgstr "コンピュータプレイヤー追加" #. Tooltip #: ../server/gtk/main.c:892 msgid "Add a computer player to the game" msgstr "ゲームã«ã‚³ãƒ³ãƒ”ュータプレイヤーを追加ã™ã‚‹" #. Tooltip #: ../server/gtk/main.c:925 msgid "Messages from the server" msgstr "サーãƒã‹ã‚‰ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸" #: ../server/gtk/main.c:961 msgid "Game settings" msgstr "ゲーム設定" #. server frame #: ../server/gtk/main.c:972 msgid "Server parameters" msgstr "サーãƒãƒ‘ラメータ" #: ../server/gtk/main.c:992 msgid "Running game" msgstr "ゲーム進行中" #. player connected frame #: ../server/gtk/main.c:1008 msgid "Players connected" msgstr "プレイヤー接続" #. ai frame #: ../server/gtk/main.c:1012 msgid "Computer players" msgstr "コンピュータプレイヤー" #. message frame #: ../server/gtk/main.c:1024 msgid "Messages" msgstr "メッセージ" #. Caption of about box #: ../server/gtk/main.c:1150 #, fuzzy msgid "About the Pioneers Game Server" msgstr "Pioneers ゲームサーãƒ" #. Wait for all players to disconnect, #. * then enable the UI #. #: ../server/gtk/main.c:1158 msgid "The game is over.\n" msgstr "ゲーム終了。\n" #. Long description in the commandline for server-gtk: help #. Long description in the commandline for server-console: help #: ../server/gtk/main.c:1212 ../server/main.c:194 msgid "- Host a game of Pioneers" msgstr "- Pioneers ã®ã‚²ãƒ¼ãƒ ã‚’ホストã™ã‚‹" #. Name in the titlebar of the server #: ../server/gtk/main.c:1236 ../server/gtk/pioneers-server-gtk.desktop.in.h:1 msgid "Pioneers Server" msgstr "Pioneers サーãƒ" #: ../server/gtk/pioneers-server-gtk.desktop.in.h:2 msgid "Host a game of Pioneers" msgstr "Pioneers ã®ã‚²ãƒ¼ãƒ ã‚’ホストã™ã‚‹" #: ../server/gtk/pioneers-server-gtk.desktop.in.h:3 msgid "game;board;server;host;Pioneers;Settlers;" msgstr "ゲーム;ボード;サーãƒ;ホスト;Pioneers;開拓者;" #. Commandline server-console: game-title #: ../server/main.c:80 msgid "Game title to use" msgstr "使用ã™ã‚‹ã‚²ãƒ¼ãƒ ã‚¿ã‚¤ãƒˆãƒ«" #. Commandline server-console: file #: ../server/main.c:83 msgid "Game file to use" msgstr "使用ã™ã‚‹ã‚²ãƒ¼ãƒ ãƒ•ァイル" #. Commandline server-console: port #: ../server/main.c:86 msgid "Port to listen on" msgstr "å¾…ã¡å—ã‘ã‚‹ãƒãƒ¼ãƒˆ" #. Commandline server-console: players #: ../server/main.c:89 msgid "Override number of players" msgstr "プレイヤー数を上書ãã™ã‚‹" #. Commandline server-console: points #: ../server/main.c:92 msgid "Override number of points needed to win" msgstr "å‹åˆ©ãƒã‚¤ãƒ³ãƒˆæ•°ã‚’上書ãã™ã‚‹" #. Commandline server-console: seven-rule #: ../server/main.c:95 msgid "Override seven-rule handling" msgstr "7ã®ç›®ãƒ«ãƒ¼ãƒ«ã®æ‰±ã„を上書ãã™ã‚‹" #. Commandline server-console: dice-deck #: ../server/main.c:98 msgid "Override dice-deck handling" msgstr "ã‚µã‚¤ã‚³ãƒ­ãƒ‡ãƒƒã‚­ã®æ‰±ã„を上書ãã™ã‚‹" #. Commandline server-console: num-dice-decks #: ../server/main.c:101 msgid "Override num-dice-decks handling" msgstr "ã‚µã‚¤ã‚³ãƒ­ãƒ‡ãƒƒã‚­ã®æ•°ã®æ‰±ã„を上書ãã™ã‚‹" #. Commandline server-console: num-removed-dice-cards #: ../server/main.c:105 msgid "Override num-removed-dice-cards handling" msgstr "å–り除ãã‚µã‚¤ã‚³ãƒ­ã‚«ãƒ¼ãƒ‰ã®æ•°ã®æ‰±ã„を上書ãã™ã‚‹" #. Commandline server-console: terrain #: ../server/main.c:108 msgid "Override terrain type, 0=default 1=random" msgstr "地形ã®ã‚¿ã‚¤ãƒ—を上書ãã™ã‚‹ã€0=デフォルト 1=ランダム" #. Commandline server-console: computer-players #: ../server/main.c:111 msgid "Add N computer players" msgstr "コンピュータプレイヤーを N 人追加ã™ã‚‹" #. Commandline server-console: register #: ../server/main.c:121 msgid "Register server with metaserver" msgstr "メタサーãƒã«ã‚µãƒ¼ãƒã‚’追加ã™ã‚‹" #. Commandline server-console: metaserver #: ../server/main.c:124 msgid "Register at metaserver name (implies -r)" msgstr "メタサーãƒåを登録ã™ã‚‹ (-r ã‚’å«æ„)" #. Commandline server-console: hostname #: ../server/main.c:128 msgid "Use this hostname when registering" msgstr "登録時ã«ã“ã®ãƒ›ã‚¹ãƒˆåを利用ã™ã‚‹" #. Commandline server-console: auto-quit #: ../server/main.c:135 msgid "Quit after a player has won" msgstr "プレイヤーãŒå‹åˆ©ã—ãŸå¾Œã«çµ‚了ã™ã‚‹" #. Commandline server-console: empty-timeout #: ../server/main.c:138 msgid "Quit after N seconds with no players" msgstr "プレイヤーãŒã„ãªããªã£ãŸå¾Œã€N ç§’ã§çµ‚了ã™ã‚‹" #. Commandline server-console: tournament #: ../server/main.c:141 msgid "Tournament mode, computer players added after N minutes" msgstr "トーナメントモードã€N 分後ã«ã‚³ãƒ³ãƒ”ュータプレイヤーを追加ã™ã‚‹" #. Commandline server-console: admin-port #: ../server/main.c:145 msgid "Admin port to listen on" msgstr "å¾…ã¡å—ã‘る管ç†ãƒãƒ¼ãƒˆ" #. Commandline server-console: admin-wait #: ../server/main.c:148 msgid "Don't start game immediately, wait for a command on admin port" msgstr "ゲームをã™ãã«ã¯é–‹å§‹ã›ãšã€ç®¡ç†ãƒãƒ¼ãƒˆã¸ã®ã‚³ãƒžãƒ³ãƒ‰ã‚’å¾…ã¤" #. Commandline server-console: fixed-seating-order #: ../server/main.c:154 msgid "Give players numbers according to the order they enter the game" msgstr "プレイヤー番å·ã¯ã‚²ãƒ¼ãƒ ã«å‚加ã—ãŸé †ç•ªã«å‰²ã‚ŠæŒ¯ã‚‹" #. Commandline server-console: Short description of meta group #: ../server/main.c:200 msgid "Metaserver Options" msgstr "メタサーãƒã‚ªãƒ—ション" #. Commandline server-console: Long description of meta group #: ../server/main.c:202 msgid "Options for the metaserver" msgstr "メタサーãƒã®ã‚ªãƒ—ション" #. Commandline server-console: Short description of misc group #: ../server/main.c:211 msgid "Miscellaneous Options" msgstr "様々ãªã‚ªãƒ—ション" #. Commandline server-console: Long description of misc group #: ../server/main.c:213 msgid "Miscellaneous options" msgstr "様々ãªã‚ªãƒ—ション" #. server-console commandline error #: ../server/main.c:239 #, c-format msgid "Cannot set game title and filename at the same time\n" msgstr "ゲームタイトルã¨ãƒ•ァイルåã¯åŒæ™‚ã«æŒ‡å®šã§ããªã„\n" #. server-console commandline error #: ../server/main.c:256 #, c-format msgid "Cannot load the parameters for the game\n" msgstr "ゲームã®ãƒ‘ラメータを読ã¿è¾¼ã‚ãªã„\n" #. Error message #: ../server/main.c:305 ../server/main.c:324 #, c-format msgid "The network port (%s) for the admin interface is not available.\n" msgstr "管ç†ã‚¤ãƒ³ã‚¿ãƒ•ェースã®ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒãƒ¼ãƒˆ (%s) ãŒåˆ©ç”¨ä¸å¯ã€‚\n" #: ../server/meta.c:58 msgid "The connection to the metaserver is lost.\n" msgstr "メタサーãƒã¸ã®æŽ¥ç¶šãŒå¤±ã‚れãŸã€‚\n" #: ../server/meta.c:64 #, c-format msgid "An attempt to reconnect is scheduled in %u second.\n" msgid_plural "An attempt to reconnect is scheduled in %u seconds.\n" msgstr[0] "å†æŽ¥ç¶šã¯ %u 秒後ã«è©¦è¡Œã™ã‚‹äºˆå®šã€‚\n" #: ../server/meta.c:83 msgid "Attempting to reconnect to the metaserver.\n" msgstr "メタサーãƒã«å†æŽ¥ç¶šè©¦è¡Œä¸­ã€‚\n" #: ../server/meta.c:311 #, c-format msgid "Register with the metaserver at %s.\n" msgstr "%s ã®ãƒ¡ã‚¿ã‚µãƒ¼ãƒã«ç™»éŒ²ã€‚\n" #: ../server/meta.c:322 msgid "Unregister from the metaserver.\n" msgstr "メタサーãƒã‹ã‚‰ç™»éŒ²è§£é™¤ã€‚\n" #: ../server/player.c:142 msgid "chat too long" msgstr "ãƒãƒ£ãƒƒãƒˆãŒé•·ã™ãŽã‚‹" #: ../server/player.c:159 msgid "name too long" msgstr "åå‰ãŒé•·ã™ãŽã‚‹" #: ../server/player.c:191 msgid "ignoring unknown extension" msgstr "䏿˜Žãªæ‹¡å¼µå­ã‚’無視" #: ../server/player.c:228 ../server/player.c:298 msgid "The last player left, the tournament timer is reset." msgstr "最後ã®ãƒ—レイヤーãŒåŽ»ã£ãŸã€‚トーナメントタイマーã¯ãƒªã‚»ãƒƒãƒˆã€‚" #: ../server/player.c:262 ../server/player.c:643 msgid "No human players present. Bye." msgstr "人間ã®ãƒ—レイヤーãŒã„ãªã„。ã•よã†ãªã‚‰ã€‚" #: ../server/player.c:269 msgid "Game starts, adding computer players." msgstr "ゲーム開始ã€ã‚³ãƒ³ãƒ”ュータプレイヤー追加。" #: ../server/player.c:311 #, c-format msgid "The game starts in %s minutes." msgstr "%s 分以内ã«ã‚²ãƒ¼ãƒ é–‹å§‹ã€‚" #: ../server/player.c:312 #, c-format msgid "The game starts in %s minute." msgstr "%s 分以内ã«ã‚²ãƒ¼ãƒ é–‹å§‹ã€‚" #. Default name for the AI when the computer_names file #. * is not found or empty. #. #: ../server/player.c:370 ../server/player.c:376 msgid "Computer Player" msgstr "コンピュータプレイヤー" #: ../server/player.c:450 #, c-format msgid "Unable to determine the hostname of the player: %s" msgstr "以下ã®ãƒ—レイヤーã®ãƒ›ã‚¹ãƒˆåを決定ã§ããªã„: %s" #. The game is over, don't accept new players #. Message to send to the client when the game is already over #. * when a connection is made. #: ../server/player.c:476 msgid "Sorry, game is over." msgstr "ã™ã¿ã¾ã›ã‚“ã€ã‚²ãƒ¼ãƒ çµ‚了。" #: ../server/player.c:478 #, c-format msgid "Player from %s is refused: game is over\n" msgstr "%s ã®ãƒ—ãƒ¬ã‚¤ãƒ¤ãƒ¼ã¯æ‹’å¦: ゲーム終了\n" #: ../server/player.c:520 msgid "Name not changed: new name is already in use" msgstr "åå‰å¤‰æ›´ä¸å¯: æ–°ã—ã„åå‰ã¯ã™ã§ã«ä½¿ç”¨ã•れã¦ã‚‹" #: ../server/player.c:638 ../server/server.c:38 msgid "Was hanging around for too long without players... bye.\n" msgstr "プレイヤーãªã—ã§é•·ãæ­¢ã¾ã‚Šã™ãŽ... ã•よã†ãªã‚‰ã€‚\n" #: ../server/player.c:723 msgid "The last human player left. Waiting for the return of a player." msgstr "最後ã®äººé–“ã®ãƒ—レイヤーãŒåŽ»ã£ãŸã€‚ãƒ—ãƒ¬ã‚¤ãƒ¤ãƒ¼ãŒæˆ»ã£ã¦ãã‚‹ã®ã‚’å¾…ã£ã¦ã„る。" #: ../server/player.c:744 msgid "Resuming the game." msgstr "ゲームを復帰。" #. %s is the name of the reconnecting player #: ../server/player.c:870 #, c-format msgid "%s has reconnected." msgstr "%s ãŒå†æŽ¥ç¶šã—ãŸã€‚" #: ../server/player.c:970 #, c-format msgid "Version mismatch: %s" msgstr "ãƒãƒ¼ã‚¸ãƒ§ãƒ³ä¸æ•´åˆ: %s" #: ../server/player.c:1007 msgid "This game will start soon." msgstr "ã“ã®ã‚²ãƒ¼ãƒ ã¯ã™ãã«å§‹ã¾ã‚‹ã€‚" #. Server: preparing game #..... #: ../server/server.c:221 msgid "Preparing game" msgstr "ゲーム準備" #: ../server/turn.c:254 msgid "Island Discovery Bonus" msgstr "島発見ボーナス" #: ../server/turn.c:255 msgid "Additional Island Bonus" msgstr "追加ã®å³¶ãƒœãƒ¼ãƒŠã‚¹" #: ../server/turn.c:386 msgid "Tried to assign resources to NULL player.\n" msgstr "NULL プレイヤーã«ã€è³‡æºã‚’使ã‚ã›ã‚ˆã†ã¨ã—ãŸã€‚\n" #. Cheat mode has been activated #: ../server/turn.c:516 msgid "The dice roll has been determined by the administrator." msgstr "サイコロã®ç›®ã¯ç®¡ç†è€…ãŒæ±ºå®šã—ãŸã€‚" #~ msgid "Join the selected game" #~ msgstr "é¸æŠžã—ãŸã‚²ãƒ¼ãƒ ã«å‚加ã™ã‚‹" #~ msgid "Don't join a public game" #~ msgstr "公開ゲームã«å‚加ã—ãªã„" #~ msgid "Create a new public game at the metaserver" #~ msgstr "メタサーãƒã«æ–°ã—ã„公開ゲームを作æˆã™ã‚‹" #~ msgid "Refresh the list of games" #~ msgstr "ゲームリストを更新ã™ã‚‹" #~ msgid "Version:" #~ msgstr "ãƒãƒ¼ã‚¸ãƒ§ãƒ³:" #~ msgid "Homepage:" #~ msgstr "ホームページ:" #~ msgid "Authors:" #~ msgstr "作者:" #~ msgid "Pioneers is translated to by:\n" #~ msgstr "Pioneers ã®æ—¥æœ¬èªžè¨³:\n" pioneers-15.5/po/POTFILES.skip0000644000175000017500000000002710754650106012747 00000000000000client/gtk/admin-gtk.c pioneers-15.5/po/it.po0000644000175000017500000030235313252242740011612 00000000000000# Pioneers - Settlers of Catan for GNOME. # Copyright (C) 1999-2001 Dave Cole # Copyright (C) 2000-2002 Andy Heroff # This file is distributed under the same license as the pioneers package. # Giancarlo Capella , 2005-2016. # msgid "" msgstr "" "Project-Id-Version: Pioneers 15.4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-03-14 16:51+0100\n" "PO-Revision-Date: 2013-09-11 20:12:00+0200\n" "Last-Translator: Giancarlo Capella \n" "Language-Team: it \n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n!=1)\n" #. Commandline pioneersai: chromosome-file #: ../client/ai/ai.c:90 msgid "Chromosome File" msgstr "File Cromosoma" #. Commandline pioneersai: server #: ../client/ai/ai.c:93 msgid "Server Host" msgstr "Server Host" #. Commandline pioneersai: port #: ../client/ai/ai.c:96 msgid "Server Port" msgstr "Porta Server" #. Commandline pioneersai: name #: ../client/ai/ai.c:99 msgid "Computer name (mandatory)" msgstr "Nome giocatore AI (obbligatorio)" #. Commandline pioneersai: time #: ../client/ai/ai.c:102 msgid "Time to wait between turns (in milliseconds)" msgstr "Tempo di attesa tra i turni (in millisecondi)" #. Commandline pioneersai: chat-free #: ../client/ai/ai.c:105 msgid "Stop computer player from talking" msgstr "Blocca il dialogo del giocatore AI" #. Commandline pioneersai: algorithm #: ../client/ai/ai.c:108 msgid "Type of computer player" msgstr "Tipo di giocatore AI" #. Commandline option of ai: enable debug logging #. Commandline option of client: enable debug logging #. Commandline option of metaserver: enable debug logging #. Commandline option of server-gtk: enable debug logging #. Commandline option of server: enable debug logging #: ../client/ai/ai.c:111 ../client/gtk/offline.c:67 ../metaserver/main.c:631 #: ../server/gtk/main.c:1170 ../server/main.c:159 msgid "Enable debug messages" msgstr "Abilita messaggi di debug" #. Commandline option of ai: version #. Commandline option of client: version #. Commandline option of editor: version #. Commandline option of metaserver: version #. Commandline option of server-gtk: version #. Commandline option of server-console: version #: ../client/ai/ai.c:114 ../client/gtk/offline.c:70 ../editor/gtk/editor.c:1843 #: ../metaserver/main.c:637 ../server/gtk/main.c:1173 ../server/main.c:114 msgid "Show version information" msgstr "Mostra informazioni di versione" #. Long description in the commandline for pioneersai: help #: ../client/ai/ai.c:125 msgid "- Computer player for Pioneers" msgstr "- Giocatore AI di Pioneers" #: ../client/ai/ai.c:137 ../client/gtk/offline.c:196 #: ../editor/gtk/editor.c:1888 ../metaserver/main.c:687 #: ../server/gtk/main.c:1223 ../server/main.c:226 #, c-format msgid "Pioneers version:" msgstr "Pioneers, versione:" #. ai commandline error #: ../client/ai/ai.c:160 #, c-format msgid "A name must be provided.\n" msgstr "Deve essere indicato un nome.\n" #: ../client/ai/ai.c:171 #, c-format msgid "Type of computer player: %s\n" msgstr "Tipo di giocatore AI: %s\n" #: ../client/ai/ai.c:202 msgid "The game is already full. I'm leaving." msgstr "La partita è completa. Esco." #. AI chat at the start of the turn #: ../client/ai/ai.c:230 msgid "Ok, let's go!" msgstr "Ok, andiamo!" #. AI chat at the start of the turn #: ../client/ai/ai.c:232 msgid "I'll beat you all now! ;)" msgstr "Vi batterò tutti! ;)" #. AI chat at the start of the turn #: ../client/ai/ai.c:234 msgid "Now for another try..." msgstr "Riproviamo..." #. AI chat when one resource is received #: ../client/ai/ai.c:239 msgid "At least I get something..." msgstr "Almeno ho preso qualcosa..." #. AI chat when one resource is received #: ../client/ai/ai.c:241 msgid "One is better than none..." msgstr "Uno è meglio di niente..." #. AI chat when more than one resource is received #: ../client/ai/ai.c:246 msgid "Wow!" msgstr "Uau!" #. AI chat when more than one resource is received #: ../client/ai/ai.c:248 msgid "Ey, I'm becoming rich ;)" msgstr "Ehi, sto diventando ricco ;)" #. AI chat when more than one resource is received #: ../client/ai/ai.c:250 msgid "This is really a good year!" msgstr "Questa è proprio una buona annata!" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:255 msgid "You really don't deserve that much!" msgstr "Non ti meriti tutto questo!" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:257 msgid "You don't know what to do with that many resources ;)" msgstr "Non sai nemmeno che farci con così tante materie prime ;)" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:259 msgid "Ey, wait for my robber and lose all this again!" msgstr "Vedrai, il mio brigante ti farà di nuovo perdere tutto!" #. AI chat when it moves the robber #: ../client/ai/ai.c:264 msgid "Hehe!" msgstr "Hehehe!" #. AI chat when it moves the robber #: ../client/ai/ai.c:266 msgid "Go, robber, go!" msgstr "Vai brigante, vai!" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:271 msgid "You bastard!" msgstr "Che bastardo!" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:273 msgid "Can't you move that robber somewhere else?!" msgstr "Non potevi mettere il brigante da qualche altra parte?!" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:275 msgid "Why always me??" msgstr "Perché sempre me??" #. AI chat when it must discard resources #: ../client/ai/ai.c:280 msgid "Oh no!" msgstr "Oh, no!" #. AI chat when it must discard resources #: ../client/ai/ai.c:282 msgid "Grrr!" msgstr "Grrr!" #. AI chat when it must discard resources #: ../client/ai/ai.c:284 msgid "Who the hell rolled that 7??" msgstr "Chi diavolo ha tirato quel 7??" #. AI chat when it must discard resources #: ../client/ai/ai.c:286 msgid "Why always me?!?" msgstr "Perché sempre me?!?" #. AI chat when other players must discard #: ../client/ai/ai.c:291 msgid "Say good bye to your cards... :)" msgstr "Saluta le tue carte... :)" #. AI chat when other players must discard #: ../client/ai/ai.c:293 msgid "*evilgrin*" msgstr "*ghigno malefico*" #. AI chat when other players must discard #: ../client/ai/ai.c:295 msgid "/me says farewell to your cards ;)" msgstr "/me dice addio alle tue carte ;)" #. AI chat when other players must discard #: ../client/ai/ai.c:297 msgid "That's the price for being rich... :)" msgstr "Quello è il prezzo della ricchezza... :)" #. AI chat when someone steals from it #: ../client/ai/ai.c:302 msgid "Ey! Where's that card gone?" msgstr "Ehi, dov'è andata quella carta?" #. AI chat when someone steals from it #: ../client/ai/ai.c:304 msgid "Thieves! Thieves!!" msgstr "Ladri! Ladri!" #. AI chat when someone steals from it #: ../client/ai/ai.c:306 msgid "Wait for my revenge..." msgstr "Aspettati la mia vendetta..." #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:311 msgid "Oh no :(" msgstr "Oh no :(" #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:313 msgid "Must this happen NOW??" msgstr "Deve proprio accadere ORA??" #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:315 msgid "Args" msgstr "Argh" #. AI chat when it has the largest army #: ../client/ai/ai.c:320 msgid "Hehe, my soldiers rule!" msgstr "Hehe, sono i miei cavalieri a comandare!" #. AI chat when another player that the largest army #: ../client/ai/ai.c:325 msgid "First robbing us, then grabbing the points..." msgstr "Prima ci ruba, poi ci frega i punti..." #. AI chat when it has the longest road #: ../client/ai/ai.c:330 msgid "See that road!" msgstr "Guarda quella strada!" #. AI chat when another player has the longest road #: ../client/ai/ai.c:335 msgid "Pf, you won't win with roads alone..." msgstr "Pfui, non puoi vincere solo con strade..." #: ../client/ai/ai.c:434 #, c-format msgid "Received error from server: %s. Quitting\n" msgstr "Ricevuto un errore dal server: %s. In uscita.\n" #. AI chat when it wins #: ../client/ai/ai.c:446 ../client/ai/genetic.c:2766 msgid "Yippie!" msgstr "Yuppi!" #. AI chat when another player wins #: ../client/ai/ai.c:449 ../client/ai/genetic.c:2777 msgid "My congratulations" msgstr "I miei complimenti" #: ../client/ai/genetic.c:1277 ../client/ai/greedy.c:961 msgid "No settlements in stock to use for setup" msgstr "Nessuna colonia disponibile da posizionare" #: ../client/ai/genetic.c:1284 ../client/ai/greedy.c:968 msgid "There is no place to setup a settlement" msgstr "Non c'è nessun punto per posizionare una colonia" #: ../client/ai/genetic.c:1311 ../client/ai/greedy.c:992 msgid "No roads in stock to use for setup" msgstr "Nessuna strada disponibile da posizionare" #: ../client/ai/genetic.c:1329 ../client/ai/greedy.c:1009 msgid "There is no place to setup a road" msgstr "Non c'è nessun punto per posizionare una strada" #: ../client/ai/genetic.c:2651 ../client/ai/greedy.c:1784 msgid "Rejecting trade.\n" msgstr "Nessun commercio.\n" #. Translators: don't translate '/help' #: ../client/ai/lobbybot.c:80 msgid "" "Hello, welcome to the lobby. I am a simple robot. Type '/help' in the chat " "to see the list of commands I know." msgstr "" "Salve, benvenuto nella lobby. Io sono un semplice robot. Scrivi '/help' " "nella chat per vedere la lista dei comandi che conosco." #. Translators: don't translate '/help' #: ../client/ai/lobbybot.c:107 msgid "'/help' shows this message again" msgstr "'/help' mostra questo messaggio" #. Translators: don't translate '/why' #: ../client/ai/lobbybot.c:110 msgid "'/why' explains the purpose of this strange board layout" msgstr "'/why' spiega lo scopo di questa strana disposizione di gioco" #. Translators: don't translate '/news' #: ../client/ai/lobbybot.c:113 msgid "'/news' tells the last released version" msgstr "'/news' indica l'ultima versione rilasciata" #. AI chat that explains '/why' #: ../client/ai/lobbybot.c:119 msgid "" "This board is not intended to be a game that can be played. Instead, players " "can find eachother here, and decide which board they want to play. Then, one " "of the players will host the proposed game by starting a server, and " "registers it at the metaserver. The other players can subsequently " "disconnect from the lobby, and enter that game." msgstr "" "Questa disposizione non è una partita che possa essere giocata. Qui i " "giocatori si possono incontrare e decidere quale disposizione vogliono " "giocare. Dopodiché uno dei giocatori ospiterà la partita proposta avviando " "un server e registrandolo sul metaserver. Gli altri giocatori si possono " "quindi sconnettere dalla lobby ed unirsi alla partita." #: ../client/ai/lobbybot.c:130 msgid "The last released version of Pioneers is" msgstr "L'ultima versione rilasciata di Pioneers è" #. The lobbybot leaves when a game is starting #: ../client/ai/lobbybot.c:146 msgid "The game is starting. I'm not needed anymore. Goodbye." msgstr "La partita sta per iniziare. Non sono più necessario. Addio." #: ../client/common/client.c:105 msgid "Waiting" msgstr "In attesa" #: ../client/common/client.c:107 msgid "Idle" msgstr "Inattivo" #: ../client/common/client.c:532 msgid "We have been kicked out of the game.\n" msgstr "Siamo stati buttati fuori dalla partita.\n" #. Network status: offline #: ../client/common/client.c:535 ../client/common/client.c:990 #: ../client/gtk/gui.c:1532 msgid "Offline" msgstr "Scollegato" #: ../client/common/client.c:556 #, c-format msgid "Error (%s): %s\n" msgstr "Errore (%s): %s\n" #: ../client/common/client.c:565 ../client/common/client.c:576 #, c-format msgid "Notice: %s\n" msgstr "Avviso: %s\n" #: ../client/common/client.c:693 #, c-format msgid "%s does not receive any %s, because the bank is empty.\n" msgstr "%s non riceve nessun %s, poiché la banca è vuota.\n" #: ../client/common/client.c:706 #, c-format msgid "%s only receives %s, because the bank didn't have any more.\n" msgstr "%s riceve solo %s, poiché la banca non ne ha oltre.\n" #: ../client/common/client.c:716 #, c-format msgid "%s receives %s.\n" msgstr "%s riceve %s.\n" #. Year of Plenty #: ../client/common/client.c:724 ../client/common/client.c:2663 #, c-format msgid "%s takes %s.\n" msgstr "%s prende %s.\n" #: ../client/common/client.c:729 #, c-format msgid "%s spent %s.\n" msgstr "%s ha speso %s.\n" #: ../client/common/client.c:735 #, c-format msgid "%s is refunded %s.\n" msgstr "%s è rimborsato con %s.\n" #. %s = Player name #: ../client/common/client.c:753 #, c-format msgid "%s shuffled the dice deck.\n" msgstr "%s ha mischiato il mazzo carte.\n" #: ../client/common/client.c:772 #, c-format msgid "%s discarded %s.\n" msgstr "%s ha scartato %s.\n" #: ../client/common/client.c:846 #, c-format msgid "%s has won the game with %d victory points!\n" msgstr "%s ha vinto la partita con %d punti vittoria!\n" #: ../client/common/client.c:945 msgid "Loading" msgstr "In caricamento" #: ../client/common/client.c:991 msgid "Version mismatch." msgstr "Versione non corrispondente." #: ../client/common/client.c:993 msgid "Version mismatch. Please make sure client and server are up to date.\n" msgstr "" "Versione non corrispondente. Assicurarsi che client e server siano " "aggiornati.\n" #: ../client/common/client.c:1413 msgid "Build two settlements, each with a connecting" msgstr "Costruisci due colonie, ognuna con una connessione" #: ../client/common/client.c:1416 msgid "Build a settlement with a connecting" msgstr "Costruisci una colonia con" #: ../client/common/client.c:1419 msgid "road" msgstr "una strada" #: ../client/common/client.c:1421 msgid "bridge" msgstr "un ponte" #: ../client/common/client.c:1423 msgid "ship" msgstr "una nave" #: ../client/common/client.c:1430 msgid " or" msgstr " o" #: ../client/common/client.c:1494 msgid "Waiting for your turn." msgstr "In attesa del tuo turno." #: ../client/common/client.c:1546 ../client/gtk/interface.c:784 msgid "Select the building to steal from." msgstr "Seleziona la costruzione da cui rubare." #: ../client/common/client.c:1568 ../client/gtk/interface.c:774 msgid "Select the ship to steal from." msgstr "Seleziona la nave da cui rubare." #: ../client/common/client.c:1652 ../client/gtk/interface.c:816 msgid "Place the robber." msgstr "Posiziona il brigante." #: ../client/common/client.c:1702 msgid "Finish the road building action." msgstr "Termina la costruzione della strada." #: ../client/common/client.c:1704 msgid "Build one road segment." msgstr "Costruisci una strada." #: ../client/common/client.c:1706 msgid "Build two road segments." msgstr "Costruisci due strade." #. Notification #: ../client/common/client.c:1979 ../client/common/client.c:2073 #: ../client/gtk/interface.c:432 msgid "It is your turn." msgstr "E' il tuo turno." #: ../client/common/client.c:2167 #, c-format msgid "Sorry, %s available.\n" msgstr "Mi dispiace, %s disponibile.\n" #: ../client/common/client.c:2481 msgid "The game is over." msgstr "La partita è finita" #. This development card is unique #: ../client/common/develop.c:67 #, c-format msgid "You bought the %s development card.\n" msgstr "Hai comprato la carta sviluppo %s.\n" #. This development card is not unique #: ../client/common/develop.c:73 #, c-format msgid "You bought a %s development card.\n" msgstr "Hai comprato una carta sviluppo %s.\n" #: ../client/common/develop.c:103 #, c-format msgid "%s bought a development card.\n" msgstr "%s ha comprato una carta sviluppo.\n" #: ../client/common/develop.c:121 #, c-format msgid "%s played the %s development card.\n" msgstr "%s ha giocato la carta sviluppo %s.\n" #: ../client/common/develop.c:126 #, c-format msgid "%s played a %s development card.\n" msgstr "%s ha giocato una carta sviluppo %s.\n" #: ../client/common/develop.c:138 msgid "You have run out of road segments.\n" msgstr "Hai terminato i segmenti di strada.\n" #. I get the cards #. $1=resources, $2=player that loses resources #: ../client/common/develop.c:179 #, c-format msgid "You get %s from %s.\n" msgstr "Hai preso %s da %s.\n" #. I lose the cards #. $1=player that steals, $2=resources #: ../client/common/develop.c:185 #, c-format msgid "%s took %s from you.\n" msgstr "%s ti ha preso %s.\n" #: ../client/common/develop.c:192 #, c-format msgid "%s took %s from %s.\n" msgstr "%s ha preso %s da %s.\n" #: ../client/common/player.c:125 ../server/player.c:567 #, c-format msgid "Spectator %d" msgstr "Spettatore %d" #: ../client/common/player.c:128 #, c-format msgid "spectator %d" msgstr "spettatore %d" #: ../client/common/player.c:137 ../server/player.c:570 #, c-format msgid "Player %d" msgstr "Giocatore %d" #: ../client/common/player.c:139 #, c-format msgid "player %d" msgstr "giocatore %d" #: ../client/common/player.c:216 #, c-format msgid "New spectator: %s.\n" msgstr "Nuovo spettatore: %s.\n" #: ../client/common/player.c:219 ../client/common/player.c:235 #, c-format msgid "%s is now %s.\n" msgstr "%s è ora %s.\n" #: ../client/common/player.c:232 #, c-format msgid "Player %d is now %s.\n" msgstr "Il giocatore %d è ora %s.\n" #: ../client/common/player.c:269 #, c-format msgid "%s has quit.\n" msgstr "%s ha lasciato.\n" #: ../client/common/player.c:278 msgid "There is no largest army.\n" msgstr "Non c'è cavaliere più potente.\n" #: ../client/common/player.c:281 #, c-format msgid "%s has the largest army.\n" msgstr "%s ha il cavaliere più potente.\n" #: ../client/common/player.c:302 msgid "There is no longest road.\n" msgstr "Non c'è la strada più lunga.\n" #: ../client/common/player.c:305 #, c-format msgid "%s has the longest road.\n" msgstr "%s ha la strada più lunga.\n" #: ../client/common/player.c:326 #, c-format msgid "Waiting for %s." msgstr "In attesa di %s." #. We are not in on the action #. someone stole a resource from someone else #: ../client/common/player.c:354 #, c-format msgid "%s stole a resource from %s.\n" msgstr "%s ha rubato una materia prima da %s.\n" #. $1=resource, $2=player name #: ../client/common/player.c:365 #, c-format msgid "You stole %s from %s.\n" msgstr "Hai rubato %s da %s.\n" #. $1=player name, $2=resource #: ../client/common/player.c:372 #, c-format msgid "%s stole %s from you.\n" msgstr "%s ti ha rubato %s.\n" #: ../client/common/player.c:406 #, c-format msgid "%s gave %s nothing!?\n" msgstr "%s non ha dato nulla a %s!?\n" #. $1=giving player, $2=receiving player, $3=resources #: ../client/common/player.c:413 ../client/common/player.c:423 #, c-format msgid "%s gave %s %s for free.\n" msgstr "%s ha dato a %s %s gratis.\n" #: ../client/common/player.c:431 #, c-format msgid "%s gave %s %s in exchange for %s.\n" msgstr "%s ha dato a %s %s in cambio di %s.\n" #: ../client/common/player.c:462 #, c-format msgid "%s exchanged %s for %s.\n" msgstr "%s ha scambiato %s per %s.\n" #: ../client/common/player.c:482 #, c-format msgid "%s built a road.\n" msgstr "%s ha costruito una strada.\n" #: ../client/common/player.c:494 #, c-format msgid "%s built a ship.\n" msgstr "%s ha costruito una nave.\n" #: ../client/common/player.c:507 #, c-format msgid "%s built a settlement.\n" msgstr "%s ha costruito una colonia.\n" #: ../client/common/player.c:526 #, c-format msgid "%s built a city.\n" msgstr "%s ha costruito una città.\n" #: ../client/common/player.c:540 #, c-format msgid "%s built a city wall.\n" msgstr "%s ha costruito una fortificazione.\n" #. Error message #: ../client/common/player.c:551 #, c-format msgid "player_build_add called with BUILD_NONE for user %s\n" msgstr "player_build_add chiamata con BUILD_NONE per l'utente %s\n" #: ../client/common/player.c:561 #, c-format msgid "%s built a bridge.\n" msgstr "%s ha costruito un ponte.\n" #: ../client/common/player.c:587 #, c-format msgid "%s removed a road.\n" msgstr "%s ha rimosso una strada.\n" #: ../client/common/player.c:597 #, c-format msgid "%s removed a ship.\n" msgstr "%s ha rimosso una nave.\n" #: ../client/common/player.c:607 #, c-format msgid "%s removed a settlement.\n" msgstr "%s ha rimosso una colonia.\n" #: ../client/common/player.c:618 #, c-format msgid "%s removed a city.\n" msgstr "%s ha rimosso una città.\n" #: ../client/common/player.c:632 #, c-format msgid "%s removed a city wall.\n" msgstr "%s ha rimosso una fortificazione.\n" #. Error message #: ../client/common/player.c:642 #, c-format msgid "player_build_remove called with BUILD_NONE for user %s\n" msgstr "player_build_remove chiamata con BUILD_NONE per l'utente %s\n" #: ../client/common/player.c:651 #, c-format msgid "%s removed a bridge.\n" msgstr "%s ha tolto un ponte.\n" #: ../client/common/player.c:682 #, c-format msgid "%s has canceled a ship's movement.\n" msgstr "%s ha annullato un movimento di nave.\n" #: ../client/common/player.c:685 #, c-format msgid "%s moved a ship.\n" msgstr "%s ha mosso una nave.\n" #. tell the user that someone got something #: ../client/common/player.c:705 #, c-format msgid "%s received %s.\n" msgstr "%s ha ricevuto %s.\n" #: ../client/common/player.c:724 msgid "server asks to lose invalid point.\n" msgstr "il server richiede di perdere un punto invalido.\n" #. tell the user the point is lost #: ../client/common/player.c:730 #, c-format msgid "%s lost %s.\n" msgstr "%s ha perso %s.\n" #: ../client/common/player.c:753 msgid "server asks to move invalid point.\n" msgstr "il server richiede di spostare un punto invalido.\n" #. tell the user someone (1) lost something (2) to someone else (3) #: ../client/common/player.c:760 #, c-format msgid "%s lost %s to %s.\n" msgstr "%s ha perso %s per %s.\n" #: ../client/common/resource.c:35 msgid "brick" msgstr "argilla" #: ../client/common/resource.c:35 msgid "Brick" msgstr "Argilla" #: ../client/common/resource.c:36 msgid "grain" msgstr "grano" #: ../client/common/resource.c:36 msgid "Grain" msgstr "Grano" #: ../client/common/resource.c:37 msgid "ore" msgstr "minerale" #: ../client/common/resource.c:37 msgid "Ore" msgstr "Minerale" #: ../client/common/resource.c:38 msgid "wool" msgstr "lana" #: ../client/common/resource.c:38 msgid "Wool" msgstr "Lana" #: ../client/common/resource.c:39 msgid "lumber" msgstr "legno" #: ../client/common/resource.c:39 msgid "Lumber" msgstr "Legno" #: ../client/common/resource.c:40 msgid "no resource (bug)" msgstr "nessuna materia prima (bug)" #: ../client/common/resource.c:40 msgid "No resource (bug)" msgstr "Nessuna materia prima (bug)" #: ../client/common/resource.c:41 msgid "any resource (bug)" msgstr "qualunque materia prima (bug)" #: ../client/common/resource.c:41 msgid "Any resource (bug)" msgstr "Qualunque materia prima (bug)" #: ../client/common/resource.c:42 msgid "gold" msgstr "oro" #: ../client/common/resource.c:42 ../client/gtk/legend.c:41 msgid "Gold" msgstr "Oro" #: ../client/common/resource.c:47 msgid "a brick card" msgstr "una carta argilla" #: ../client/common/resource.c:47 #, c-format msgid "%d brick cards" msgstr "%d carte argilla" #: ../client/common/resource.c:48 msgid "a grain card" msgstr "una carta grano" #: ../client/common/resource.c:48 #, c-format msgid "%d grain cards" msgstr "%d carte grano" #: ../client/common/resource.c:49 msgid "an ore card" msgstr "una carta minerale" #: ../client/common/resource.c:49 #, c-format msgid "%d ore cards" msgstr "%d carte minerale" #: ../client/common/resource.c:50 msgid "a wool card" msgstr "una carta lana" #: ../client/common/resource.c:50 #, c-format msgid "%d wool cards" msgstr "%d carte lana" #: ../client/common/resource.c:51 msgid "a lumber card" msgstr "una carta legno" #: ../client/common/resource.c:51 #, c-format msgid "%d lumber cards" msgstr "%d carte legno" #: ../client/common/resource.c:139 ../client/common/resource.c:225 msgid "nothing" msgstr "nulla" #. Construct "A, B and C" for resources #: ../client/common/resource.c:166 #, c-format msgid "%s and %s" msgstr "%s e %s" #. Construct "A, B and C" for resources #: ../client/common/resource.c:170 #, c-format msgid "%s, %s" msgstr "%s, %s" #: ../client/common/robber.c:62 #, c-format msgid "%s has undone the robber movement.\n" msgstr "%s ha annullato il movimento del brigante.\n" #: ../client/common/robber.c:65 #, c-format msgid "%s moved the robber.\n" msgstr "%s ha mosso il brigante.\n" #: ../client/common/robber.c:75 #, c-format msgid "%s has undone the pirate movement.\n" msgstr "%s ha annullato il movimento dei pirati.\n" #: ../client/common/robber.c:78 #, c-format msgid "%s moved the pirate.\n" msgstr "%s ha mosso il pirata.\n" #: ../client/common/robber.c:85 #, c-format msgid "%s must move the robber." msgstr "%s deve muovere il brigante." #: ../client/common/setup.c:146 #, c-format msgid "Setup for %s.\n" msgstr "Posizionamento per %s.\n" #: ../client/common/setup.c:158 #, c-format msgid "Double setup for %s.\n" msgstr "Doppio posizionamento per %s.\n" #: ../client/common/turn.c:37 #, c-format msgid "%s rolled %d.\n" msgstr "%s ha tirato %d.\n" #: ../client/common/turn.c:50 #, c-format msgid "Begin turn %d for %s.\n" msgstr "Inizia il turno %d per %s.\n" #: ../client/gtk/avahi-browser.c:83 msgid "Select an automatically discovered game" msgstr "Seleziona una partita trovata in automatico" #. $1=Game title, $2=version, $3=host_name, $4=port #: ../client/gtk/avahi-browser.c:132 #, c-format msgid "%s (%s) on %s:%s" msgstr "%s (%s) su %s:%s" #. Label text #: ../client/gtk/chat.c:73 msgid "Chat" msgstr "Chat" #: ../client/gtk/chat.c:232 msgid "Beeper test.\n" msgstr "Suono di prova.\n" #: ../client/gtk/chat.c:235 #, c-format msgid "%s beeped you.\n" msgstr "%s ti ha suonato.\n" #: ../client/gtk/chat.c:239 #, c-format msgid "You beeped %s.\n" msgstr "Hai suonato a %s.\n" #: ../client/gtk/chat.c:245 #, c-format msgid "You could not beep %s.\n" msgstr "Non puoi suonare a %s.\n" #: ../client/gtk/chat.c:287 msgid " said: " msgstr " dice: " #: ../client/gtk/connect.c:286 #, c-format msgid "Metaserver at %s, port %s" msgstr "Metaserver su %s, porta %s" #: ../client/gtk/connect.c:296 msgid "Finished.\n" msgstr "Finito.\n" #: ../client/gtk/connect.c:311 ../client/gtk/connect.c:389 #: ../client/gtk/connect.c:408 ../client/gtk/connect.c:979 msgid "The metaserver is not available anymore.\n" msgstr "Il metaserver non è più disponibile.\n" #: ../client/gtk/connect.c:322 ../client/gtk/connect.c:443 #: ../client/gtk/connect.c:770 msgid "The metaserver closed the connection unexpectedly.\n" msgstr "Il metaserver ha chiuso la connessione inaspettatamente.\n" #: ../client/gtk/connect.c:380 msgid "Receiving game names from the metaserver.\n" msgstr "Ricezione dei nomi partita dal metaserver.\n" #: ../client/gtk/connect.c:422 #, c-format msgid "New game server requested on %s port %s.\n" msgstr "Nuovo server di partita richiesto su %s porta %s.\n" #: ../client/gtk/connect.c:432 msgid "Incomplete information about the new game server received.\n" msgstr "Ricevute informazioni incomplete sul nuovo server partita.\n" #: ../client/gtk/connect.c:486 ../client/gtk/connect.c:492 ../server/meta.c:239 #, c-format msgid "Unknown message from the metaserver: %s\n" msgstr "Messaggio sconosciuto dal metaserver: %s\n" #: ../client/gtk/connect.c:565 ../server/meta.c:178 #, c-format msgid "Receiving data from inactive session: %s\n" msgstr "Ricezione dati da una sessione inattiva: %s\n" #: ../client/gtk/connect.c:577 ../server/meta.c:192 msgid "Too many metaserver redirects.\n" msgstr "Troppe ridirezioni del metaserver.\n" #: ../client/gtk/connect.c:606 ../server/meta.c:208 #, c-format msgid "Bad redirect line: %s\n" msgstr "Riga di ridirezione errata: %s\n" #: ../client/gtk/connect.c:631 #, c-format msgid "The metaserver is too old to create servers (version %d.%d)\n" msgstr "Metaserver troppo vecchio per creare server (versione %d.%d)\n" #: ../client/gtk/connect.c:670 ../client/gtk/connect.c:749 #: ../client/gtk/connect.c:755 #, c-format msgid "Unexpected data from the metaserver: %s\n" msgstr "Dati inattesi dal metaserver: %s\n" #. Sevens rule: normal #: ../client/gtk/connect.c:701 ../client/gtk/settingscreen.c:181 #: ../common/gtk/game-rules.c:89 msgid "Normal" msgstr "Normale" #. Sevens rule: reroll on 1st 2 turns #: ../client/gtk/connect.c:706 ../client/gtk/settingscreen.c:183 #: ../common/gtk/game-rules.c:95 msgid "Reroll on 1st 2 turns" msgstr "Ritira i primi 2 turni" #. Sevens rule: reroll all 7s #: ../client/gtk/connect.c:710 ../client/gtk/settingscreen.c:185 #: ../common/gtk/game-rules.c:102 msgid "Reroll all 7s" msgstr "Ritira tutti i 7" #: ../client/gtk/connect.c:724 msgid "Default" msgstr "Default" #: ../client/gtk/connect.c:727 msgid "Random" msgstr "Casuale" #: ../client/gtk/connect.c:819 ../server/meta.c:299 #, c-format msgid "Redirected to the metaserver at %s.\n" msgstr "Rediretto sul metaserver %s.\n" #: ../client/gtk/connect.c:824 ../server/meta.c:302 #, c-format msgid "Redirected to the metaserver at %s, port %s.\n" msgstr "Rediretto sul metaserver %s, porta %s.\n" #: ../client/gtk/connect.c:831 msgid "Receiving a list of Pioneers servers from the metaserver.\n" msgstr "Ricezione della lista dei server Pioneers dal metaserver.\n" #. Label #: ../client/gtk/connect.c:914 msgid "Number of computer players" msgstr "Numero di giocatori AI" #. Tooltip #: ../client/gtk/connect.c:935 msgid "The number of computer players" msgstr "Il numero di giocatori AI" #. Canceled retrieving information #. * from the metaserver #: ../client/gtk/connect.c:957 ../client/gtk/connect.c:992 #: ../client/gtk/connect.c:1133 msgid "Canceled.\n" msgstr "Annullato.\n" #: ../client/gtk/connect.c:960 msgid "Requesting new game server.\n" msgstr "Richiesta nuovo server di partita.\n" #: ../client/gtk/connect.c:1015 ../server/gtk/main.c:370 ../server/server.c:123 #, c-format msgid "Error starting %s: %s\n" msgstr "Errore avvio %s: %s\n" #. Dialog caption #: ../client/gtk/connect.c:1037 msgid "Create a Public Game" msgstr "Crea una Partita Pubblica" #. Button text #: ../client/gtk/connect.c:1040 ../client/gtk/connect.c:1191 #: ../client/gtk/connect.c:1440 ../client/gtk/connect.c:1744 #: ../client/gtk/name.c:147 ../editor/gtk/editor.c:1521 #: ../editor/gtk/editor.c:1562 ../editor/gtk/editor.c:1611 msgid "_Cancel" msgstr "_Annulla" #. Button text #: ../client/gtk/connect.c:1042 msgid "C_reate" msgstr "C_rea" #. Dialog caption #: ../client/gtk/connect.c:1182 msgid "Join a Public Game" msgstr "Unisciti a Partita Pubblica" #. Button text #: ../client/gtk/connect.c:1185 msgid "_Refresh" msgstr "A_ggiorna" #. Button text #: ../client/gtk/connect.c:1188 msgid "_New Remote Game" msgstr "_Nuova Partita Remota" #. Button text #: ../client/gtk/connect.c:1194 ../client/gtk/connect.c:1748 msgid "_Join" msgstr "_Unisciti" #. Tooltip #: ../client/gtk/connect.c:1237 msgid "Select a game to join" msgstr "Seleziona una partita a cui unirti" #. Column name #: ../client/gtk/connect.c:1241 msgid "Map Name" msgstr "Nome mappa" #. Tooltip for column 'Map Name' #: ../client/gtk/connect.c:1249 msgid "Name of the game" msgstr "Nome della partita" #. Column name #: ../client/gtk/connect.c:1255 msgid "Curr" msgstr "Corr" #. Tooltip for column 'Curr' #: ../client/gtk/connect.c:1262 msgid "Number of players in the game" msgstr "Numero di giocatori in partita" #. Column name #: ../client/gtk/connect.c:1268 msgid "Max" msgstr "Max" #. Tooltip for column 'Max' #: ../client/gtk/connect.c:1275 msgid "Maximum players for the game" msgstr "Massimo numero di giocatori" #. Column name #: ../client/gtk/connect.c:1279 msgid "Terrain" msgstr "Terreno" #. Tooltip for column 'Terrain' #: ../client/gtk/connect.c:1287 msgid "Random of default terrain" msgstr "Terreno default casuale" #. Column name #: ../client/gtk/connect.c:1293 msgid "Vic. Points" msgstr "Punti Vitt." #. Tooltip for column 'Vic. Points' #: ../client/gtk/connect.c:1300 msgid "Points needed to win" msgstr "Punti per vincere" #. Column name #: ../client/gtk/connect.c:1304 msgid "Sevens Rule" msgstr "Regola Sette" #. Tooltip for column 'Sevens Rule' #. Label #: ../client/gtk/connect.c:1312 ../common/gtk/game-rules.c:81 msgid "Sevens rule" msgstr "Regola sette" #. Column name #: ../client/gtk/connect.c:1316 msgid "Host" msgstr "Host" #. Tooltip for column 'Host' #: ../client/gtk/connect.c:1325 msgid "Host of the game" msgstr "Host della partita" #. Column name #: ../client/gtk/connect.c:1331 msgid "Port" msgstr "Porta" #. Tooltip for column 'Port' #: ../client/gtk/connect.c:1339 msgid "Port of the game" msgstr "Porta della partita" #. Column name #: ../client/gtk/connect.c:1343 msgid "Version" msgstr "Versione" #. Tooltip for column 'Version' #: ../client/gtk/connect.c:1351 msgid "Version of the host" msgstr "Versione dell'host" #. Dialog caption #: ../client/gtk/connect.c:1436 msgid "Start a New Game" msgstr "Inizia una Nuova Partita" #. Label #. Commandline option of client: name of the player #: ../client/gtk/connect.c:1464 ../client/gtk/offline.c:57 msgid "Player name" msgstr "Nome Giocatore" #. Tooltip #: ../client/gtk/connect.c:1480 msgid "Enter your name" msgstr "Inserisci il tuo nome" #. Check button #. Role of the player: spectator #: ../client/gtk/connect.c:1483 ../server/gtk/main.c:682 msgid "Spectator" msgstr "Spettatore" #: ../client/gtk/connect.c:1493 msgid "Check if you want to be a spectator" msgstr "Imposta se vuoi essere uno spettatore" #. Label #: ../client/gtk/connect.c:1504 msgid "Avahi" msgstr "Avahi" #. Button #: ../client/gtk/connect.c:1511 msgid "Join" msgstr "Unisciti" #. Tooltip for button Join #: ../client/gtk/connect.c:1515 msgid "Join an automatically discovered game" msgstr "Unisciti ad una partita trovata automaticamente" #. Label #. metaserver label #: ../client/gtk/connect.c:1542 ../server/gtk/main.c:593 msgid "Metaserver" msgstr "Metaserver" #. Button #: ../client/gtk/connect.c:1564 msgid "Join Public Game" msgstr "Unisciti a Partita Pubblica" #. Tooltip #: ../client/gtk/connect.c:1570 msgid "Join a public game" msgstr "Unisciti a partita pubblica" #. Button #: ../client/gtk/connect.c:1575 msgid "Create Game" msgstr "Crea Partita" #. Tooltip #: ../client/gtk/connect.c:1579 msgid "Create a game" msgstr "Crea una partita" #. Button #: ../client/gtk/connect.c:1588 msgid "Join Private Game" msgstr "Unisciti a Partita Privata" #. Tooltip #. Dialog caption #: ../client/gtk/connect.c:1592 ../client/gtk/connect.c:1737 msgid "Join a private game" msgstr "Unisciti ad un partita privata" #. Label #. Commandline option of client: hostname of the server #: ../client/gtk/connect.c:1777 ../client/gtk/offline.c:51 msgid "Server host" msgstr "Server host" #. Tooltip #: ../client/gtk/connect.c:1791 msgid "Name of the host of the game" msgstr "Nome dell'host della partita" #. Label #. Commandline option of client: port of the server #. server port label #: ../client/gtk/connect.c:1795 ../client/gtk/offline.c:54 #: ../server/gtk/main.c:555 msgid "Server port" msgstr "Porta server" #. Tooltip #: ../client/gtk/connect.c:1812 msgid "Port of the host of the game" msgstr "Porta dell'host della partita" #. Tooltip #. Label #: ../client/gtk/connect.c:1854 ../client/gtk/connect.c:1857 msgid "Recent games" msgstr "Partite recenti" #. Caption for list of bought development cards #: ../client/gtk/develop.c:130 msgid "Development cards" msgstr "Carte sviluppo" #. Button text: play development card #: ../client/gtk/develop.c:163 msgid "Play Card" msgstr "Gioca Carta" #. Dialog caption #: ../client/gtk/discard.c:77 msgid "Discard Resources" msgstr "Scarta Materie prime" #. Button text #: ../client/gtk/discard.c:83 ../client/gtk/gameover.c:38 #: ../client/gtk/gold.c:78 ../client/gtk/monopoly.c:88 ../client/gtk/name.c:150 #: ../client/gtk/plenty.c:67 ../editor/gtk/editor.c:1614 msgid "_OK" msgstr "_OK" #: ../client/gtk/discard.c:101 #, c-format msgid "You must discard %d resource" msgid_plural "You must discard %d resources" msgstr[0] "Devi scartare %d materia prima" msgstr[1] "Devi scartare %d materie prime" #. Label #: ../client/gtk/discard.c:110 msgid "Total discards" msgstr "Totale scarti" #. Caption for list of player that must discard cards #: ../client/gtk/discard.c:235 msgid "Waiting for players to discard" msgstr "In attesa degli scarti dei giocatori" #. Dialog caption #: ../client/gtk/gameover.c:34 msgid "Game Over" msgstr "Fine partita" #: ../client/gtk/gameover.c:52 #, c-format msgid "%s has won the game with %d victory points!" msgstr "%s ha vinto la partita con %d punti vittoria!" #: ../client/gtk/gameover.c:58 #, c-format msgid "All praise %s, Lord of the known world!" msgstr "Onori a %s, Signore del Mondo conosciuto!" #. Dialog caption #: ../client/gtk/gold.c:72 msgid "Choose Resources" msgstr "Scegli Materie prime" #: ../client/gtk/gold.c:96 #, c-format msgid "You may choose %d resource" msgid_plural "You may choose %d resources" msgstr[0] "Puoi scegliere %d materia prima" msgstr[1] "Puoi scegliere %d materie prime" #. Text for total in choose gold dialog #. Text for total in year of plenty dialog #: ../client/gtk/gold.c:105 ../client/gtk/plenty.c:103 msgid "Total resources" msgstr "Materie prime totali" #. Caption for list of player that must choose gold #: ../client/gtk/gold.c:217 msgid "Waiting for players to choose" msgstr "In attesa di scelta dei giocatori" #. Menu entry #: ../client/gtk/gui.c:224 ../server/gtk/main.c:91 msgid "_Game" msgstr "_Partita" #. Menu entry #: ../client/gtk/gui.c:227 msgid "_New Game" msgstr "_Nuova Partita" #. Tooltip for New Game menu entry #: ../client/gtk/gui.c:229 msgid "Start a new game" msgstr "Inizia una nuova partita" #. Menu entry #: ../client/gtk/gui.c:232 msgid "_Leave Game" msgstr "_Lascia Partita" #. Tooltip for Leave Game menu entry #: ../client/gtk/gui.c:234 msgid "Leave this game" msgstr "Lascia questa partita" #. Menu entry #: ../client/gtk/gui.c:238 msgid "_Admin" msgstr "_Amministra" #. Tooltip for Admin menu entry #: ../client/gtk/gui.c:240 msgid "Administer Pioneers server" msgstr "Amministra server Pioneers" #. Menu entry #: ../client/gtk/gui.c:244 msgid "_Player Name" msgstr "Nome _Giocatore" #. Tooltip for Player Name menu entry #: ../client/gtk/gui.c:246 msgid "Change your player name" msgstr "Cambia il tuo nome di giocatore" #. Menu entry #: ../client/gtk/gui.c:249 msgid "L_egend" msgstr "Legen_da" #. Tooltip for Legend menu entry #: ../client/gtk/gui.c:251 msgid "Terrain legend and building costs" msgstr "Legenda terreno e costi di costruzione" #. Menu entry #: ../client/gtk/gui.c:254 msgid "_Game Settings" msgstr "Impostazioni _Partita" #. Tooltip for Game Settings menu entry #: ../client/gtk/gui.c:256 msgid "Settings for the current game" msgstr "Impostazioni per la partita corrente" #. Menu entry #: ../client/gtk/gui.c:259 msgid "_Dice Histogram" msgstr "Istogramma _Tiri" #. Tooltip for Dice Histogram menu entry #: ../client/gtk/gui.c:261 msgid "Histogram of dice rolls" msgstr "Istogramma dei tiri dei dadi" #. Menu entry #: ../client/gtk/gui.c:264 ../editor/gtk/editor.c:1759 ../server/gtk/main.c:103 msgid "_Quit" msgstr "_Esci" #. Tooltip for Quit menu entry #. Tooltop for Quit menu entry #: ../client/gtk/gui.c:266 ../server/gtk/main.c:105 msgid "Quit the program" msgstr "Esci dal programma" #. Menu entry #: ../client/gtk/gui.c:269 msgid "_Actions" msgstr "_Azioni" #. Menu entry #: ../client/gtk/gui.c:272 msgid "Roll Dice" msgstr "Tira Dadi" #. Tooltip for Roll Dice menu entry #: ../client/gtk/gui.c:274 msgid "Roll the dice" msgstr "Tira i dadi" #. Menu entry #. Tooltip for Trade menu entry #. Tab page name #: ../client/gtk/gui.c:277 ../client/gtk/gui.c:279 ../client/gtk/gui.c:710 msgid "Trade" msgstr "Commercio" #. Menu entry #. Tooltip for Undo menu entry #: ../client/gtk/gui.c:283 ../client/gtk/gui.c:285 msgid "Undo" msgstr "Indietro" #. Menu entry #. Tooltip for Finish menu entry #: ../client/gtk/gui.c:288 ../client/gtk/gui.c:290 msgid "Finish" msgstr "Finito" #. Menu entry #: ../client/gtk/gui.c:293 ../client/gtk/legend.c:189 #: ../editor/gtk/game-buildings.c:10 msgid "Road" msgstr "Strada" #. Tooltip for Road menu entry #: ../client/gtk/gui.c:295 msgid "Build a road" msgstr "Costruisci una strada" #. Menu entry #: ../client/gtk/gui.c:298 ../client/gtk/legend.c:193 #: ../editor/gtk/game-buildings.c:10 msgid "Ship" msgstr "Nave" #. Tooltip for Ship menu entry #: ../client/gtk/gui.c:300 msgid "Build a ship" msgstr "Costruisci una nave" #. Menu entry #: ../client/gtk/gui.c:303 msgid "Move Ship" msgstr "Muovi Nave" #. Tooltip for Move Ship menu entry #: ../client/gtk/gui.c:305 msgid "Move a ship" msgstr "Muovi una nave" #. Menu entry #: ../client/gtk/gui.c:308 ../client/gtk/legend.c:196 #: ../editor/gtk/game-buildings.c:10 msgid "Bridge" msgstr "Ponte" #. Tooltip for Bridge menu entry #: ../client/gtk/gui.c:310 msgid "Build a bridge" msgstr "Costruisci un ponte" #. Menu entry #: ../client/gtk/gui.c:313 ../client/gtk/legend.c:198 ../client/gtk/player.c:52 #: ../editor/gtk/game-buildings.c:10 msgid "Settlement" msgstr "Colonia" #. Tooltip for Settlement menu entry #: ../client/gtk/gui.c:316 msgid "Build a settlement" msgstr "Costruisci una colonia" #. Menu entry #: ../client/gtk/gui.c:319 ../client/gtk/legend.c:199 ../client/gtk/player.c:53 #: ../editor/gtk/game-buildings.c:11 msgid "City" msgstr "Città" #. Tooltip for City menu entry #: ../client/gtk/gui.c:321 msgid "Build a city" msgstr "Costruisci una città" #. Menu entry #: ../client/gtk/gui.c:324 msgid "Develop" msgstr "Sviluppo" #. Tooltip for Develop menu entry #: ../client/gtk/gui.c:326 msgid "Buy a development card" msgstr "Compra una carta sviluppo" #. Menu entry #: ../client/gtk/gui.c:329 msgid "City Wall" msgstr "Fortificazione" #. Tooltip for City Wall menu entry #: ../client/gtk/gui.c:331 msgid "Build a city wall" msgstr "Costruisci una fortificazione" #. Menu entry #: ../client/gtk/gui.c:335 msgid "_Settings" msgstr "_Impostazioni" #. Menu entry #: ../client/gtk/gui.c:338 msgid "Prefere_nces" msgstr "Prefere_nze" #. Tooltip for Preferences menu entry #: ../client/gtk/gui.c:340 msgid "Configure the application" msgstr "Configura l'applicazione" #. Menu entry #: ../client/gtk/gui.c:344 ../editor/gtk/editor.c:1721 msgid "_View" msgstr "_Vista" #. Menu entry #: ../client/gtk/gui.c:347 ../editor/gtk/editor.c:1765 msgid "_Reset" msgstr "_Azzera" #. Tooltip for Reset menu entry #: ../client/gtk/gui.c:350 ../editor/gtk/editor.c:1768 msgid "View the full map" msgstr "Visualizza la mappa intera" #. Menu entry #: ../client/gtk/gui.c:353 ../editor/gtk/editor.c:1771 msgid "_Center" msgstr "_Centra" #. Tooltip for Center menu entry #: ../client/gtk/gui.c:355 ../editor/gtk/editor.c:1773 msgid "Center the map" msgstr "Centra la mappa" #. Menu entry #: ../client/gtk/gui.c:359 ../client/gtk/gui.c:368 ../editor/gtk/editor.c:1724 #: ../server/gtk/main.c:94 msgid "_Help" msgstr "Ai_uto" #. Menu entry #: ../client/gtk/gui.c:362 msgid "_About Pioneers" msgstr "_Riguardo Pioneers" #. Tooltip for About Pioneers menu entry #: ../client/gtk/gui.c:364 msgid "Information about Pioneers" msgstr "Informazioni su Pioneers" #. Tooltip for Help menu entry #: ../client/gtk/gui.c:370 ../client/gtk/gui.c:1258 msgid "Show the manual" msgstr "Visualizza il manuale" #. Menu entry #: ../client/gtk/gui.c:378 ../editor/gtk/editor.c:1791 msgid "_Fullscreen" msgstr "_Schermo intero" #. Tooltip for Fullscreen menu entry #: ../client/gtk/gui.c:381 ../editor/gtk/editor.c:1794 msgid "Set window to full screen mode" msgstr "Imposta la finestra a schermo intero" #. Menu entry #: ../client/gtk/gui.c:386 msgid "_Toolbar" msgstr "_Toolbar" #. Tooltip for Toolbar menu entry #: ../client/gtk/gui.c:388 msgid "Show or hide the toolbar" msgstr "Mostra o nasconde la toolbar" #. Victory points target in statusbar #: ../client/gtk/gui.c:491 #, c-format msgid "Points needed to win: %i" msgstr "Punti per vincere: %i" #: ../client/gtk/gui.c:577 msgid "Messages" msgstr "Messaggi" #. Tab page name #: ../client/gtk/gui.c:703 ../editor/gtk/editor.c:1946 msgid "Map" msgstr "Mappa" #. Tooltip #: ../client/gtk/gui.c:712 msgid "Finish trading" msgstr "Termina contrattazioni" #. Tab page name #. Button text #: ../client/gtk/gui.c:722 ../client/gtk/quote.c:339 msgid "Quote" msgstr "Quotazione" #. Tooltip #: ../client/gtk/gui.c:724 msgid "Reject domestic trade" msgstr "Rifiuta commercio interno" #. Tab page name #. Dialog caption #: ../client/gtk/gui.c:734 ../client/gtk/legend.c:249 msgid "Legend" msgstr "Legenda" #. Tab page name, shown for the splash screen #: ../client/gtk/gui.c:744 msgid "Welcome to Pioneers" msgstr "Benvenuto a Pioneers" #. Caption of preferences dialog #: ../client/gtk/gui.c:1028 msgid "Pioneers Preferences" msgstr "Preferenze Pioneers" #. Button text #: ../client/gtk/gui.c:1034 ../client/gtk/histogram.c:252 #: ../client/gtk/legend.c:253 ../client/gtk/settingscreen.c:413 msgid "_Close" msgstr "_Chiudi" #. Label for changing the theme, in the preferences dialog #: ../client/gtk/gui.c:1059 msgid "Theme:" msgstr "Tema:" #. Tooltip for changing the theme in the preferences dialog #: ../client/gtk/gui.c:1082 msgid "Choose one of the themes" msgstr "Scegli uno dei temi" #. Label for the option to show the legend #: ../client/gtk/gui.c:1086 msgid "Show legend" msgstr "Visualizza legenda" #. Tooltip for the option to show the legend #: ../client/gtk/gui.c:1096 msgid "Show the legend as a page beside the map" msgstr "Visualizza legenda a lato della mappa" #. Label for the option to display log messages in color #: ../client/gtk/gui.c:1101 msgid "Messages with color" msgstr "Messaggi colorati" #. Tooltip for the option to display log messages in color #: ../client/gtk/gui.c:1111 msgid "Show new messages with color" msgstr "Visualizza nuovi messaggi colorati" #. Label for the option to display chat in color of player #: ../client/gtk/gui.c:1116 msgid "Chat in color of player" msgstr "Chatta a colori" #. Tooltip for the option to display chat in color of player #: ../client/gtk/gui.c:1127 msgid "Show new chat messages in the color of the player" msgstr "Visualizza i nuovi messaggi di chat a colori" #. Label for the option to display the summary with colors #: ../client/gtk/gui.c:1132 msgid "Summary with color" msgstr "Riassunto giocatore colorato" #. Tooltip for the option to display the summary with colors #: ../client/gtk/gui.c:1143 msgid "Use colors in the player summary" msgstr "Usa i colori nel riassunto giocatore" #. Label for the option to display keyboard accelerators in the toolbar #: ../client/gtk/gui.c:1148 msgid "Toolbar with shortcuts" msgstr "Toolbar con acceleratore" #. Tooltip for the option to display keyboard accelerators in the toolbar #: ../client/gtk/gui.c:1158 msgid "Show keyboard shortcuts in the toolbar" msgstr "Visualizza acceleratori nella toolbar" #. Label for the option to disable all sounds #: ../client/gtk/gui.c:1164 msgid "Silent mode" msgstr "Modalità silenziosa" #. Tooltip for the option to disable all sounds #: ../client/gtk/gui.c:1170 msgid "In silent mode no sounds are made" msgstr "Nessun suono emesso in modalità silenziosa" #. Label for the option to announce when players/spectators enter #: ../client/gtk/gui.c:1176 msgid "Announce new players" msgstr "Annuncia nuovi giocatori" #. Tooltip for the option to use sound when players/spectators enter #: ../client/gtk/gui.c:1186 msgid "Make a sound when a new player or spectator enters the game" msgstr "" "Esegue un suono quando un nuovo giocatore o spettatore entra nella partita" #. Label for the option to use the notifications. #: ../client/gtk/gui.c:1198 msgid "Show notifications" msgstr "Mostra notifiche" #. Tooltip for notifications option. #: ../client/gtk/gui.c:1208 msgid "Show notifications when it's your turn or when new trade is available" msgstr "" "Mostra notifiche quando è il tuo turno o quando è disponibile un nuovo " "commercio" #. Label for the option to use the 16:9 layout. #: ../client/gtk/gui.c:1214 msgid "Use 16:9 layout" msgstr "Usa disposizione 16:9" #. Tooltip for 16:9 option. #: ../client/gtk/gui.c:1224 msgid "Use a 16:9 friendly layout for the window" msgstr "Usa la disposizione 16:9 per la finestra" #. Caption of about box #: ../client/gtk/gui.c:1233 msgid "About Pioneers" msgstr "Riguardo Pioneers" #. Initial text in status bar #: ../client/gtk/gui.c:1544 ../client/gtk/offline.c:107 msgid "Welcome to Pioneers!" msgstr "Benvenuto a Pioneers!" #. The name of the application #. Name of the application #: ../client/gtk/gui.c:1606 ../client/gtk/offline.c:209 #: ../client/gtk/pioneers.desktop.in.h:1 msgid "Pioneers" msgstr "Pioneers" #. Dialog caption #: ../client/gtk/histogram.c:248 msgid "Dice Histogram" msgstr "Istogramma dei Tiri" #: ../client/gtk/interface.c:111 msgid "Ship movement canceled." msgstr "Movimento della nave annullato." #: ../client/gtk/interface.c:119 ../client/gtk/interface.c:120 msgid "Select a new location for the ship." msgstr "Seleziona una nuova posizione per la nave." #. Notification #: ../client/gtk/interface.c:919 msgid "It is your turn to setup." msgstr "E' il tuo turno di posizionamento." #: ../client/gtk/legend.c:34 msgid "Hill" msgstr "Collina" #: ../client/gtk/legend.c:35 msgid "Field" msgstr "Campo" #: ../client/gtk/legend.c:36 msgid "Mountain" msgstr "Montagna" #: ../client/gtk/legend.c:37 msgid "Pasture" msgstr "Pascolo" #: ../client/gtk/legend.c:38 msgid "Forest" msgstr "Foresta" #: ../client/gtk/legend.c:39 msgid "Desert" msgstr "Deserto" #: ../client/gtk/legend.c:40 msgid "Sea" msgstr "Mare" #. Label #: ../client/gtk/legend.c:132 msgid "Terrain yield" msgstr "Produzione terreno" #. Label #: ../client/gtk/legend.c:165 msgid "Building costs" msgstr "Costi di costruzione" #: ../client/gtk/legend.c:203 ../client/gtk/player.c:54 #: ../editor/gtk/game-buildings.c:11 msgid "City wall" msgstr "Fortificazione" #: ../client/gtk/legend.c:206 ../client/gtk/player.c:65 msgid "Development card" msgstr "Carta sviluppo" #. Dialog caption #. Name of the development card #: ../client/gtk/monopoly.c:84 ../common/cards.c:86 msgid "Monopoly" msgstr "Monopolio" #. Label #: ../client/gtk/monopoly.c:106 msgid "Select the resource you wish to monopolize." msgstr "Scegli la materia prima da monopolizzare." #. Dialog caption #: ../client/gtk/name.c:141 msgid "Change Player Name" msgstr "Cambia Nome Giocatore" #. Label #: ../client/gtk/name.c:172 msgid "Player name:" msgstr "Nome giocatore:" #. Label: set player icon preferences #: ../client/gtk/name.c:234 msgid "Face:" msgstr "Volto:" #. Label: set player icon preferences #: ../client/gtk/name.c:250 msgid "Variant:" msgstr "Variante:" #: ../client/gtk/offline.c:61 msgid "Connect as a spectator" msgstr "Connetti come spettatore" #: ../client/gtk/offline.c:64 msgid "Metaserver Host" msgstr "Metaserver Host" #: ../client/gtk/offline.c:78 msgid "Select a game to join." msgstr "Seleziona una partita a cui unirti." #: ../client/gtk/offline.c:94 msgid "Connecting" msgstr "Connessione" #. Long description in the commandline for pioneers: help #: ../client/gtk/offline.c:183 msgid "- Play a game of Pioneers" msgstr "- Gioca una partita a Pioneers" #: ../client/gtk/pioneers.desktop.in.h:2 msgid "Play a game of Pioneers" msgstr "Gioca una partita a Pioneers" #: ../client/gtk/pioneers.desktop.in.h:3 msgid "game;board;play;Pioneers;Settlers;" msgstr "partita;gioco;Pioneers;Coloni;" #: ../client/gtk/player.c:52 msgid "Settlements" msgstr "Colonie" #: ../client/gtk/player.c:53 msgid "Cities" msgstr "Città" #: ../client/gtk/player.c:54 msgid "City walls" msgstr "Fortificazioni" #: ../client/gtk/player.c:55 msgid "Largest army" msgstr "Cavaliere più potente" #: ../client/gtk/player.c:56 msgid "Longest road" msgstr "Strada più lunga" #. Name of the development card #: ../client/gtk/player.c:57 ../common/cards.c:92 msgid "Chapel" msgstr "Cattedrale" #: ../client/gtk/player.c:57 msgid "Chapels" msgstr "Cappelle" #. Name of the development card #: ../client/gtk/player.c:58 ../common/cards.c:95 msgid "Pioneer university" msgstr "Università di Pioneer" #: ../client/gtk/player.c:58 msgid "Pioneer universities" msgstr "Università di Pioneer" #. Name of the development card #: ../client/gtk/player.c:60 ../common/cards.c:98 msgid "Governor's house" msgstr "Parlamento" #: ../client/gtk/player.c:60 msgid "Governor's houses" msgstr "Parlamenti" #. Name of the development card #: ../client/gtk/player.c:61 ../common/cards.c:101 msgid "Library" msgstr "Biblioteca" #: ../client/gtk/player.c:61 msgid "Libraries" msgstr "Biblioteche" #. Name of the development card #: ../client/gtk/player.c:62 ../common/cards.c:104 msgid "Market" msgstr "Mercato" #: ../client/gtk/player.c:62 msgid "Markets" msgstr "Mercati" #. Name of the development card #: ../client/gtk/player.c:63 ../common/cards.c:107 msgid "Soldier" msgstr "Cavaliere" #: ../client/gtk/player.c:63 msgid "Soldiers" msgstr "Cavalieri" #: ../client/gtk/player.c:64 msgid "Resource card" msgstr "Materia prima" #: ../client/gtk/player.c:64 msgid "Resource cards" msgstr "Materie prime" #. Caption #: ../client/gtk/player.c:65 ../editor/gtk/editor.c:1305 msgid "Development cards" msgstr "Carte sviluppo" #. Caption for the overview of the points and card of other players #: ../client/gtk/player.c:559 msgid "Player summary" msgstr "Riassunto giocatore" #. Dialog caption #: ../client/gtk/plenty.c:61 msgid "Year of Plenty" msgstr "Scoperta" #: ../client/gtk/plenty.c:92 msgid "Please choose one resource from the bank" msgstr "Scegli una materia prima dalla banca" #: ../client/gtk/plenty.c:95 msgid "Please choose two resources from the bank" msgstr "Prendi due materie prime dalla banca" #: ../client/gtk/plenty.c:97 msgid "The bank is empty" msgstr "La banca è vuota" #: ../client/gtk/quote.c:187 #, c-format msgid "%s has %s, and is looking for %s" msgstr "%s ha %s, e cerca %s" #. Notification #: ../client/gtk/quote.c:217 #, c-format msgid "New offer from %s." msgstr "Nuova offerta da %s." #. Notification #: ../client/gtk/quote.c:242 #, c-format msgid "Offer from %s." msgstr "Offerta da %s." #. Label #. Frame title, trade: I want to trade these resources #: ../client/gtk/quote.c:316 ../client/gtk/trade.c:524 msgid "I want" msgstr "Voglio" #. Label #. Frame title, trade: I want these resources in return #: ../client/gtk/quote.c:326 ../client/gtk/trade.c:530 msgid "Give them" msgstr "Dai loro" #. Button text #: ../client/gtk/quote.c:345 msgid "Delete" msgstr "Cancella" #. Button text #: ../client/gtk/quote.c:370 msgid "Reject Domestic Trade" msgstr "Rifiuta Commercio Interno" #. Now create columns #. Table header: Player who trades #. Role of the player: player #: ../client/gtk/quote-view.c:170 ../server/gtk/main.c:684 msgid "Player" msgstr "Giocatore" #. Table header: Quote #: ../client/gtk/quote-view.c:185 msgid "Quotes" msgstr "Quotazione" #. trade: maritime quote: %1 resources of type %2 for #. * one resource of type %3 #: ../client/gtk/quote-view.c:303 #, c-format msgid "%d:1 %s for %s" msgstr "%d:1 %s per %s" #. Trade: a player has rejected trade #: ../client/gtk/quote-view.c:442 msgid "Rejected trade" msgstr "Scambio rifiutato" #. Caption for overview of the resources of the player #: ../client/gtk/resource.c:71 msgid "Resources" msgstr "Materie prime" #. Label #: ../client/gtk/resource.c:86 msgid "Total" msgstr "Totale" #. Tooltip for the amount of resources in the hand #: ../client/gtk/resource-table.c:180 msgid "Amount in hand" msgstr "Ammontare in mano" #. Button for decreasing the selected amount #: ../client/gtk/resource-table.c:185 msgid "" msgstr "più>" #. Tooltip for increasing the selected amount #: ../client/gtk/resource-table.c:226 msgid "Increase the selected amount" msgstr "Incrementa l'ammontare selezionato" #. Tooltip for the selected amount #: ../client/gtk/resource-table.c:243 msgid "Selected amount" msgstr "Ammontare selezionato" #. Tooltip for the total selected amount #: ../client/gtk/resource-table.c:288 msgid "Total selected amount" msgstr "Ammontare selezionato totale" #. Tooltip when the bank cannot be emptied #: ../client/gtk/resource-table.c:307 msgid "The bank cannot be emptied" msgstr "La banca non può essere svuotata" #: ../client/gtk/settingscreen.c:74 msgid "Yes" msgstr "Sì" #: ../client/gtk/settingscreen.c:76 ../client/gtk/settingscreen.c:240 msgid "No" msgstr "No" #: ../client/gtk/settingscreen.c:87 ../client/gtk/settingscreen.c:187 msgid "Unknown" msgstr "Sconosciuto" #: ../client/gtk/settingscreen.c:121 msgid "No game in progress..." msgstr "Nessuna partita in corso..." #. Label #: ../client/gtk/settingscreen.c:132 msgid "General settings" msgstr "Impostazioni generali" #: ../client/gtk/settingscreen.c:149 msgid "Number of players:" msgstr "Numero di giocatori:" #: ../client/gtk/settingscreen.c:153 msgid "Victory point target:" msgstr "Obiettivo punti vittoria:" #: ../client/gtk/settingscreen.c:157 msgid "Random terrain:" msgstr "Terreno casuale:" #: ../client/gtk/settingscreen.c:161 msgid "Allow trade between players:" msgstr "Permetti commercio tra i giocatori:" #: ../client/gtk/settingscreen.c:166 msgid "Allow trade only before building or buying:" msgstr "Permetti commercio solo prima di costruire/comprare:" #: ../client/gtk/settingscreen.c:171 msgid "Check victory only at end of turn:" msgstr "Verifica la vittoria solo alla fine del turno:" #: ../client/gtk/settingscreen.c:176 msgid "Amount of each resource:" msgstr "Quantità per ogni materia prima:" #: ../client/gtk/settingscreen.c:190 msgid "Sevens rule:" msgstr "Regola sette:" #: ../client/gtk/settingscreen.c:196 msgid "Use dice deck instead of dice:" msgstr "Usa il mazzo dadi anziché i dadi:" #: ../client/gtk/settingscreen.c:201 msgid "Number of dice decks:" msgstr "Numero di mazzi dadi:" #: ../client/gtk/settingscreen.c:207 msgid "Number of dice cards removed after shuffling:" msgstr "Numero di carte dadi rimosse dopo la mischia:" #: ../client/gtk/settingscreen.c:214 msgid "Use the pirate to block ships:" msgstr "Usa i pirati per bloccare le navi:" #: ../client/gtk/settingscreen.c:243 msgid "Island discovery bonuses:" msgstr "Bonus per scoperta isole:" #. Label #: ../client/gtk/settingscreen.c:260 msgid "Building quotas" msgstr "Quotazioni costruzioni" #: ../client/gtk/settingscreen.c:277 msgid "Roads:" msgstr "Strade:" #: ../client/gtk/settingscreen.c:283 msgid "Settlements:" msgstr "Colonie:" #: ../client/gtk/settingscreen.c:289 msgid "Cities:" msgstr "Città:" #: ../client/gtk/settingscreen.c:295 msgid "City walls:" msgstr "Fortificazioni:" #: ../client/gtk/settingscreen.c:301 msgid "Ships:" msgstr "Navi:" #: ../client/gtk/settingscreen.c:307 msgid "Bridges:" msgstr "Ponti:" #. Label #: ../client/gtk/settingscreen.c:320 msgid "Development card deck" msgstr "Mazzo carte sviluppo" #: ../client/gtk/settingscreen.c:336 msgid "Road building cards:" msgstr "Carte costruzione di strade:" #: ../client/gtk/settingscreen.c:340 msgid "Monopoly cards:" msgstr "Carte monopolio:" #: ../client/gtk/settingscreen.c:344 msgid "Year of plenty cards:" msgstr "Carte scoperta:" #: ../client/gtk/settingscreen.c:348 msgid "Chapel cards:" msgstr "Carte cattedrale:" #: ../client/gtk/settingscreen.c:352 msgid "Pioneer university cards:" msgstr "Carte università di Pioneer:" #: ../client/gtk/settingscreen.c:356 msgid "Governor's house cards:" msgstr "Carte parlamento:" #: ../client/gtk/settingscreen.c:360 msgid "Library cards:" msgstr "Carte biblioteca:" #: ../client/gtk/settingscreen.c:364 msgid "Market cards:" msgstr "Carte mercato:" #: ../client/gtk/settingscreen.c:368 msgid "Soldier cards:" msgstr "Carte cavaliere:" #. Dialog caption #: ../client/gtk/settingscreen.c:407 msgid "Current Game Settings" msgstr "Impostazioni per la partita corrente" #. trade: you ask for something for free #: ../client/gtk/trade.c:205 #, c-format msgid "ask for %s for free" msgstr "chiedi %s gratis" #. trade: you give something away for free #: ../client/gtk/trade.c:210 #, c-format msgid "give %s for free" msgstr "cede %s gratis" #. trade: you trade something for something else #: ../client/gtk/trade.c:215 #, c-format msgid "give %s for %s" msgstr "cede %s per %s" #. I want some resources, and give them some resources #: ../client/gtk/trade.c:242 #, c-format msgid "I want %s, and give them %s" msgstr "Io voglio %s, dai loro %s" #. Notification #: ../client/gtk/trade.c:348 #, c-format msgid "Quote received from %s." msgstr "Quotazione ricevuta da %s." #. Button text, trade: call for quotes from other players #: ../client/gtk/trade.c:539 msgid "_Call for Quotes" msgstr "_Chiedi Quotazioni" #. Button text: Trade page, accept selected quote #: ../client/gtk/trade.c:568 msgid "_Accept Quote" msgstr "_Accetta Quotazione" #. Button text: Trade page, finish trading #: ../client/gtk/trade.c:574 msgid "_Finish Trading" msgstr "_Termina Contrattazioni" #. Name of the development card #: ../common/cards.c:83 msgid "Road building" msgstr "Costruzione di strade" #. Name of the development card #: ../common/cards.c:89 msgid "Year of plenty" msgstr "Scoperta" #. Description of the 'Road Building' development card #: ../common/cards.c:118 msgid "Build two new roads" msgstr "Costruisci due nuove strade" #. Description of the 'Monopoly' development card #: ../common/cards.c:121 msgid "" "Select a resource type and take every card of that type held by all other " "players" msgstr "" "Seleziona una risorsa e prendi ogni carta di quel tipo posseduta dagli altri " "giocatori" #. Description of the 'Year of Plenty' development card #: ../common/cards.c:125 msgid "" "Take two resource cards of any type from the bank (cards may be of the same " "or different types)" msgstr "" "Prendi due carte risorsa a scelta dalla banca (sia dello stesso tipo che " "diverse)" #. Description of a development card of 1 victory point #: ../common/cards.c:134 msgid "One victory point" msgstr "Un punto vittoria" #. Description of the 'Soldier' development card #: ../common/cards.c:137 msgid "" "Move the robber to a different space and take one resource card from another " "player adjacent to that space" msgstr "" "Muovi il brigante in un'area differente e prendi una risorsa da un altro " "giocatore adiacente a quell'area" #: ../common/game.c:523 #, c-format msgid "Obsolete rule: '%s'\n" msgstr "Regola obsoleta: '%s'\n" #: ../common/game.c:530 #, c-format msgid "" "The game uses the new rule '%s', which is not yet supported. Consider " "upgrading.\n" msgstr "" "La partita utilizza la nuova regola '%s' che non è ancora supportata. " "Aggiorna il gioco.\n" #: ../common/game.c:924 ../common/game.c:955 msgid "This game cannot be won." msgstr "Questa partita non può essere vinta." #: ../common/game.c:925 msgid "There is no land." msgstr "Non c'è più terreno." #: ../common/game.c:959 msgid "It is possible that this game cannot be won." msgstr "E' possibile che questa partita non possa essere vinta." #: ../common/game.c:965 msgid "This game can be won by only building all settlements and cities." msgstr "" "Questa partita può essere solo vinta costruendo tutte le colonie e le città" #: ../common/game.c:971 #, c-format msgid "" "Required victory points: %d\n" "Points obtained by building all: %d\n" "Points in development cards: %u\n" "Longest road/largest army: %d+%d\n" "Maximum island discovery bonus: %d\n" "Total: %d" msgstr "" "Punti vittoria richiesti: %d\n" "Punti ottenuti costruendo tutto: %d\n" "Punti nelle carte sviluppo: %u\n" "Strada più lunga/cavaliere più potente: %d+%d\n" "Massimo bonus per scoperta isole: %d\n" "Totale: %d" #: ../common/game-list.c:111 #, c-format msgid "Looking for games in '%s'\n" msgstr "Ricerca partite in '%s'\n" #: ../common/game-list.c:113 #, c-format msgid "Game directory '%s' not found\n" msgstr "Directory '%s' non trovata\n" #: ../common/game-list.c:131 #, c-format msgid "Unable to load game: '%s'\n" msgstr "Impossibile caricare la partita: '%s'\n" #: ../common/game-list.c:151 msgid "No games available\n" msgstr "Nessuna partita disponibile\n" #: ../common/gtk/aboutbox.c:53 msgid "" "Pioneers is based upon the excellent\n" "Settlers of Catan board game.\n" msgstr "" "Pioneers è basato sull'eccellente gioco\n" "I Coloni di Catan.\n" # #. Translators: add your name here. Keep the list #. * alphabetically, do not remove any names, and add #. * \n after your name (except the last name). #. #: ../common/gtk/aboutbox.c:63 msgid "translator-credits" msgstr "Giancarlo Capella" #. Caption for result of checking victory points #: ../common/gtk/common_gtk.c:324 msgid "Victory Point Analysis" msgstr "Analisi Punti Vittoria" #. Tooltip for sevens rule normal #: ../common/gtk/game-rules.c:110 msgid "All sevens move the robber or pirate" msgstr "Tutti i sette muovono il brigante o i pirati" #. Tooltip for sevens rule reroll on 1st 2 turns #: ../common/gtk/game-rules.c:114 msgid "In the first two turns all sevens are rerolled" msgstr "Nei primi due turni tutti i sette vengono ritirati" #. Tooltip for sevens rule reroll all #: ../common/gtk/game-rules.c:118 msgid "All sevens are rerolled" msgstr "Tutti i sette vengono ritirati" #: ../common/gtk/game-rules.c:129 msgid "Randomize terrain" msgstr "Terreno casuale" #: ../common/gtk/game-rules.c:129 msgid "Randomize the terrain" msgstr "Rende il terreno casuale" #: ../common/gtk/game-rules.c:132 msgid "Use pirate" msgstr "Usa pirata" #: ../common/gtk/game-rules.c:133 msgid "Use the pirate to block ships" msgstr "Usa il pirata per bloccare le navi" #: ../common/gtk/game-rules.c:135 msgid "Strict trade" msgstr "Commercio rigoroso" #: ../common/gtk/game-rules.c:136 msgid "Allow trade only before building or buying" msgstr "Commercio permesso solo prima di costruire/comprare" #: ../common/gtk/game-rules.c:138 msgid "Domestic trade" msgstr "Commercio interno" #: ../common/gtk/game-rules.c:139 msgid "Allow trade between players" msgstr "Commercio permesso tra i giocatori" #: ../common/gtk/game-rules.c:141 msgid "Victory at end of turn" msgstr "Vittoria alla fine del turno" #: ../common/gtk/game-rules.c:142 msgid "Check for victory only at end of turn" msgstr "Verifica la vittoria solo alla fine del turno" #: ../common/gtk/game-rules.c:145 msgid "Use dice deck" msgstr "Usa il mazzo dadi" #: ../common/gtk/game-rules.c:147 msgid "Use a deck of 36 dice cards instead of real dice" msgstr "Usa un mazzo di 36 carte dadi anziché dadi reali" #. Label #: ../common/gtk/game-rules.c:155 msgid "Number of dice decks" msgstr "Numero di mazzi dadi" #: ../common/gtk/game-rules.c:172 msgid "The number of dice decks (of 36 cards each)" msgstr "Il numero di mazzi dadi (di 36 carte ciascuno)" #. Label #: ../common/gtk/game-rules.c:180 msgid "Number of removed dice cards" msgstr "Numero di carte dadi rimosse" #: ../common/gtk/game-rules.c:199 msgid "The number of dice cards that are removed after shuffling the deck" msgstr "Il numero di carte dadi rimosse dopo aver mischiato il mazzo" #. Label #: ../common/gtk/game-rules.c:207 msgid "Island discovery bonuses" msgstr "Bonus per scoperta isole" #. Tooltip for island bonus #: ../common/gtk/game-rules.c:219 msgid "A comma separated list of bonus points for discovering islands" msgstr "Lista di punti bonus per la scoperta isole, separati da virgola" #. Tooltip for the check button #: ../common/gtk/game-rules.c:237 msgid "Check and correct island discovery bonuses" msgstr "Controlla e corregge i bonus per la scoperta isole" #. Label text for customising a game #: ../common/gtk/game-settings.c:105 msgid "Number of players" msgstr "Numero di giocatori" #. Tooltip for 'Number of Players' #: ../common/gtk/game-settings.c:124 msgid "The number of players" msgstr "Il numero di giocatori" #. Label for customising a game #: ../common/gtk/game-settings.c:127 msgid "Victory point target" msgstr "Obiettivo punti vittoria" #. Tooltip for Victory Point Target #: ../common/gtk/game-settings.c:147 msgid "The points needed to win the game" msgstr "I punti per vincere la partita" #. Tooltip for the check button #: ../common/gtk/game-settings.c:161 msgid "Is it possible to win this game?" msgstr "E' possibile vincere questa partita?" #. Port indicator for a resource: trade 2 for 1 #: ../common/gtk/guimap.c:742 msgid "2:1" msgstr "2:1" #. Port indicator: trade 3 for 1 #. General port indicator #: ../common/gtk/guimap.c:745 ../common/gtk/guimap.c:770 msgid "3:1" msgstr "3:1" #. Port indicator for brick #: ../common/gtk/guimap.c:750 msgid "Brick port|B" msgstr "A" #. Port indicator for grain #: ../common/gtk/guimap.c:754 msgid "Grain port|G" msgstr "G" #. Port indicator for ore #: ../common/gtk/guimap.c:758 msgid "Ore port|O" msgstr "M" #. Port indicator for wool #: ../common/gtk/guimap.c:762 msgid "Wool port|W" msgstr "La" #. Port indicator for lumber #: ../common/gtk/guimap.c:766 msgid "Lumber port|L" msgstr "Le" #. Tooltip for the list of metaservers #: ../common/gtk/metaserver.c:85 msgid "Select a metaserver" msgstr "Seleziona un metaserver" #. Tooltip for the list of games #: ../common/gtk/select-game.c:135 msgid "Select a game" msgstr "Seleziona una partita" #. Log prefix #: ../common/log.c:58 msgid "*ERROR* " msgstr "*ERRORE* " #. Log prefix #: ../common/log.c:66 msgid "Chat: " msgstr "Chat: " #. Log prefix #: ../common/log.c:70 msgid "Resource: " msgstr "Materia prima: " #. Log prefix #: ../common/log.c:74 msgid "Build: " msgstr "Costruzioni: " #. Log prefix #: ../common/log.c:78 msgid "Dice: " msgstr "Dadi: " #. Log prefix #: ../common/log.c:82 msgid "Steal: " msgstr "Furti: " #. Log prefix #: ../common/log.c:86 msgid "Trade: " msgstr "Commercio: " #. Log prefix #: ../common/log.c:90 msgid "Development: " msgstr "Sviluppo: " #. Log prefix #: ../common/log.c:94 msgid "Army: " msgstr "Cavaliere: " #. Log prefix #: ../common/log.c:98 msgid "Road: " msgstr "Strada: " #. Log prefix #: ../common/log.c:102 msgid "*BEEP* " msgstr "*BEEP* " #. Log prefix #: ../common/log.c:108 msgid "Player 1: " msgstr "Giocatore 1: " #. Log prefix #: ../common/log.c:112 msgid "Player 2: " msgstr "Giocatore 2: " #. Log prefix #: ../common/log.c:116 msgid "Player 3: " msgstr "Giocatore 3: " #. Log prefix #: ../common/log.c:120 msgid "Player 4: " msgstr "Giocatore 4: " #. Log prefix #: ../common/log.c:124 msgid "Player 5: " msgstr "Giocatore 5: " #. Log prefix #: ../common/log.c:128 msgid "Player 6: " msgstr "Giocatore 6: " #. Log prefix #: ../common/log.c:132 msgid "Player 7: " msgstr "Giocatore 7: " #. Log prefix #: ../common/log.c:136 msgid "Player 8: " msgstr "Giocatore 8: " #. Log prefix #: ../common/log.c:140 msgid "Spectator: " msgstr "Spettatore: " #. Log prefix #: ../common/log.c:144 msgid "** UNKNOWN MESSAGE TYPE ** " msgstr "** TIPO MESSAGGIO SCONOSCIUTO ** " #: ../common/network.c:143 #, c-format msgid "Error writing to socket: %s\n" msgstr "Errore scrittura su socket: %s\n" #: ../common/network.c:154 msgid "Could not send all data\n" msgstr "Impossibile inviare tutti i dati\n" #: ../common/network.c:202 msgid "Read buffer overflow - disconnecting\n" msgstr "Overflow del buffer di lettura - disconnessione\n" #: ../common/network.c:226 #, c-format msgid "Error reading socket: %s\n" msgstr "Errore lettura socket: %s\n" #: ../common/network.c:378 #, c-format msgid "Error connecting to %s: %s\n" msgstr "Errore di connessione a %s: %s\n" #: ../common/network.c:566 ../common/network.c:567 msgid "unknown" msgstr "sconosciuto" #: ../common/state.c:203 #, c-format msgid "Connecting to %s, port %s\n" msgstr "Connessione a %s, porta %s\n" #. Error message #: ../common/state.c:333 msgid "State stack overflow. Stack dump sent to standard error.\n" msgstr "" "Overflow dello stack di stato. Dump dello stack inviato sullo standard " "error.\n" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:113 msgid "_Hill" msgstr "Co_llina" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:115 msgid "_Field" msgstr "_Campo" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:117 msgid "_Mountain" msgstr "_Montagna" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:119 msgid "_Pasture" msgstr "_Pascolo" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:121 msgid "F_orest" msgstr "_Foresta" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:123 msgid "_Desert" msgstr "_Deserto" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:125 msgid "_Sea" msgstr "M_are" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:127 msgid "_Gold" msgstr "_Oro" #. Use an unique shortcut key for each resource #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:129 ../editor/gtk/editor.c:144 msgid "_None" msgstr "_Nulla" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:134 msgid "_Brick (2:1)" msgstr "_Argilla (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:136 msgid "_Grain (2:1)" msgstr "_Grano (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:138 msgid "_Ore (2:1)" msgstr "_Minerale (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:140 msgid "_Wool (2:1)" msgstr "_Lana (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:142 msgid "_Lumber (2:1)" msgstr "L_egno (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:146 msgid "_Any (3:1)" msgstr "_Qualunque (3:1)" #. East #: ../editor/gtk/editor.c:151 msgid "East|E" msgstr "E" #. North east #: ../editor/gtk/editor.c:153 msgid "North East|NE" msgstr "NE" #. North west #: ../editor/gtk/editor.c:155 msgid "North West|NW" msgstr "NO" #. West #: ../editor/gtk/editor.c:157 msgid "West|W" msgstr "O" #. South west #: ../editor/gtk/editor.c:159 msgid "South West|SW" msgstr "SO" #. South east #: ../editor/gtk/editor.c:161 msgid "South East|SE" msgstr "SE" #: ../editor/gtk/editor.c:368 msgid "Place a hill hex" msgstr "Piazza un esagono collina" #: ../editor/gtk/editor.c:369 msgid "Place a field hex" msgstr "Piazza un esagono campo" #: ../editor/gtk/editor.c:370 msgid "Place a mountain hex" msgstr "Piazza un esagono montagna" #: ../editor/gtk/editor.c:371 msgid "Place a pasture hex" msgstr "Piazza un esagono pascolo" #: ../editor/gtk/editor.c:372 msgid "Place a forest hex" msgstr "Piazza un esagono foresta" #: ../editor/gtk/editor.c:373 msgid "Place a desert hex" msgstr "Piazza un esagono deserto" #: ../editor/gtk/editor.c:374 msgid "Place a sea hex" msgstr "Piazza un esagono mare" #: ../editor/gtk/editor.c:375 msgid "Place a gold hex" msgstr "Piazza un esagono oro" #: ../editor/gtk/editor.c:376 msgid "Clear the hex" msgstr "Elimina l'esagono" #: ../editor/gtk/editor.c:384 msgid "Place a 2 chit" msgstr "Piazza un gettone 2" #: ../editor/gtk/editor.c:385 msgid "Place a 3 chit" msgstr "Piazza un gettone 3" #: ../editor/gtk/editor.c:386 msgid "Place a 4 chit" msgstr "Piazza un gettone 4" #: ../editor/gtk/editor.c:387 msgid "Place a 5 chit" msgstr "Piazza un gettone 5" #: ../editor/gtk/editor.c:388 msgid "Place a 6 chit" msgstr "Piazza un gettone 6" #: ../editor/gtk/editor.c:390 msgid "Place an 8 chit" msgstr "Piazza un gettone 8" #: ../editor/gtk/editor.c:391 msgid "Place a 9 chit" msgstr "Piazza un gettone 9" #: ../editor/gtk/editor.c:392 msgid "Place a 10 chit" msgstr "Piazza un gettone 10" #: ../editor/gtk/editor.c:393 msgid "Place an 11 chit" msgstr "Piazza un gettone 11" #: ../editor/gtk/editor.c:394 msgid "Place a 12 chit" msgstr "Piazza un gettone 12" #: ../editor/gtk/editor.c:400 msgid "Place a brick 2:1 port" msgstr "Piazza un porto argilla 2:1" #: ../editor/gtk/editor.c:401 msgid "Place a grain 2:1 port" msgstr "Piazza un porto grano 2:1" #: ../editor/gtk/editor.c:402 msgid "Place an ore 2:1 port" msgstr "Piazza un porto minerale 2:1" #: ../editor/gtk/editor.c:403 msgid "Place a wool 2:1 port" msgstr "Piazza un porto lana 2:1" #: ../editor/gtk/editor.c:404 msgid "Place a lumber 2:1 port" msgstr "Piazza un porto legno 2:1" #. Tooltip to remove a port tile in the editor #: ../editor/gtk/editor.c:406 msgid "Remove a port" msgstr "Rimuove un porto" #: ../editor/gtk/editor.c:407 msgid "Place a 3:1 port" msgstr "Posiziona un porto 3:1" #: ../editor/gtk/editor.c:437 msgid "" "Select the terrain type with the context menu on the left click or toggle a " "node to exclude it from being used during the setup phase" msgstr "" "Seleziona il tipo di terreno con il menù contestuale sul tasto sinistro o " "modifica la disponibilità di un nodo durante la fase di preparazione" #: ../editor/gtk/editor.c:572 msgid "Insert a row" msgstr "Inserisce una riga" #: ../editor/gtk/editor.c:573 msgid "Delete a row" msgstr "Cancella una riga" #: ../editor/gtk/editor.c:574 msgid "Insert a column" msgstr "Inserisce una colonna" #: ../editor/gtk/editor.c:575 msgid "Delete a column" msgstr "Cancella una colonna" #. Label #: ../editor/gtk/editor.c:978 msgid "_Title" msgstr "_Titolo" #. Label #: ../editor/gtk/editor.c:991 msgid "_Description" msgstr "_Descrizione" #. Label #: ../editor/gtk/editor.c:1009 msgid "_Comments" msgstr "_Commenti" #. Menu item #: ../editor/gtk/editor.c:1139 msgid "Shuffle" msgstr "Mescola" #. Caption #. Game settings frame #: ../editor/gtk/editor.c:1294 ../server/gtk/main.c:968 msgid "Game parameters" msgstr "Parametri di partita" #. Caption #. Rules frame #: ../editor/gtk/editor.c:1297 ../server/gtk/main.c:983 msgid "Rules" msgstr "Regole" #. Caption #: ../editor/gtk/editor.c:1299 msgid "Resources" msgstr "Materie prime" #. Caption #: ../editor/gtk/editor.c:1302 msgid "Buildings" msgstr "Costruzioni" #. The game in the editor does not have a name yet #: ../editor/gtk/editor.c:1319 msgid "Untitled" msgstr "Senza titolo" #. Application caption #: ../editor/gtk/editor.c:1324 ../editor/gtk/pioneers-editor.desktop.in.h:1 msgid "Pioneers Editor" msgstr "Editor Pioneers" #: ../editor/gtk/editor.c:1434 #, c-format msgid "Failed to load '%s'" msgstr "Impossibile caricare '%s'" #: ../editor/gtk/editor.c:1482 #, c-format msgid "Failed to save to '%s'" msgstr "Impossibile salvare '%s'" #. Name of the file filter: show only games #: ../editor/gtk/editor.c:1499 msgid "Games" msgstr "Partite" #. Name of the file filter: show all files #: ../editor/gtk/editor.c:1505 msgid "Unfiltered" msgstr "Non filtrati" #. Dialog caption #: ../editor/gtk/editor.c:1517 msgid "Open Game" msgstr "Carica partita" #. Button text #: ../editor/gtk/editor.c:1524 msgid "_Open" msgstr "_Apri" #. Dialog caption #: ../editor/gtk/editor.c:1558 msgid "Save As..." msgstr "Salva come..." #. Button text #: ../editor/gtk/editor.c:1565 msgid "Save _As" msgstr "S_alva come" #. Dialog caption #: ../editor/gtk/editor.c:1606 msgid "Change Title" msgstr "Cambia Titolo" #. Label #: ../editor/gtk/editor.c:1631 msgid "New title:" msgstr "Nuovo titolo:" #. Caption of about box #: ../editor/gtk/editor.c:1688 msgid "About Pioneers Game Editor" msgstr "Riguardo Pioneers Editor" #. Menu entry #: ../editor/gtk/editor.c:1718 msgid "_File" msgstr "_File" #. Menu entry #: ../editor/gtk/editor.c:1728 msgid "_New" msgstr "_Nuovo" #: ../editor/gtk/editor.c:1729 msgid "Create a new game" msgstr "Crea una nuova partita" #. Menu entry #: ../editor/gtk/editor.c:1732 msgid "_Open..." msgstr "_Apri..." #. Tooltip for Open menu entry #: ../editor/gtk/editor.c:1734 msgid "Open an existing game" msgstr "Apri una partita esistente" #. Menu entry #: ../editor/gtk/editor.c:1737 msgid "_Save" msgstr "_Salva" #. Tooltip for Save menu entry #: ../editor/gtk/editor.c:1739 msgid "Save game" msgstr "Salva partita" #. Menu entry #: ../editor/gtk/editor.c:1742 msgid "Save _As..." msgstr "S_alva come..." #. Tooltip for Save As menu entry #: ../editor/gtk/editor.c:1745 msgid "Save as" msgstr "Salva come" #. Menu entry #: ../editor/gtk/editor.c:1748 msgid "Change _Title" msgstr "Cambia _Titolo" #. Tooltip for Change Title menu entry #: ../editor/gtk/editor.c:1750 msgid "Change game title" msgstr "Cambia il titolo della partita" #. Menu entry #: ../editor/gtk/editor.c:1753 ../server/gtk/main.c:97 msgid "_Check Victory Point Target" msgstr "_Verifica Obiettivo Punti Vittoria" #. Tooltip for Check Victory Point Target menu entry #. Tooltop for Check Victory Point Target menu entry #: ../editor/gtk/editor.c:1756 ../server/gtk/main.c:100 msgid "Check whether the game can be won" msgstr "Verifica se la partita può essere vinta" #. Tooltip for Quit menu entry #: ../editor/gtk/editor.c:1761 msgid "Quit" msgstr "Esci" #. Menu entry #: ../editor/gtk/editor.c:1783 msgid "_About Pioneers Editor" msgstr "_Riguardo Pioneers Editor" #. Tooltip for About Pioneers Editor menu entry #: ../editor/gtk/editor.c:1785 msgid "Information about Pioneers Editor" msgstr "Informazioni su Pioneers Editor" #. Long help for commandline option (editor): filename #: ../editor/gtk/editor.c:1838 msgid "Open this file" msgstr "Apri questo file" #. Commandline option for editor: filename #. Commandline metaserver: pidfile argument #: ../editor/gtk/editor.c:1840 ../metaserver/main.c:615 msgid "filename" msgstr "nome file" #. Long description in the command line: --help #: ../editor/gtk/editor.c:1877 msgid "- Editor for games of Pioneers" msgstr "- Editor per le partite di Pioneers" #. Error message #: ../editor/gtk/editor.c:1921 ../server/gtk/main.c:1256 #, c-format msgid "Building menus failed: %s" msgstr "Costruzione menù fallita: %s" #. Tab page name #: ../editor/gtk/editor.c:1951 msgid "Settings" msgstr "Impostazioni" #. Tab page name #: ../editor/gtk/editor.c:1954 msgid "Comments" msgstr "Commenti" #: ../editor/gtk/game-resources.c:48 msgid "Resource count" msgstr "Conto materie prime" #: ../editor/gtk/pioneers-editor.desktop.in.h:2 msgid "Create your own game for Pioneers" msgstr "Crea la tua partita di Pioneers" #: ../editor/gtk/pioneers-editor.desktop.in.h:3 msgid "game;board;create;edit;layout;Pioneers;Settlers;" msgstr "partita;gioco;crea;modifica;disposizione;Pioneers;Coloni;" #. Commandline metaserver: daemon #: ../metaserver/main.c:610 msgid "Daemonize the metaserver on start" msgstr "Demonizza il metaserver all'avvio" #. Commandline metaserver: pidfile #: ../metaserver/main.c:613 msgid "Pidfile to create when daemonizing (implies -d)" msgstr "Pidfile per la demonizzazione (implica -d)" #. Commandline metaserver: redirect #: ../metaserver/main.c:618 msgid "Redirect clients to another metaserver" msgstr "Redirigi i client ad un altro metaserver" #. Commandline metaserver: server #: ../metaserver/main.c:621 msgid "Use this hostname when creating new games" msgstr "Utilizza questo hostname creando nuove partite" #. Commandline metaserver: server argument #: ../metaserver/main.c:623 msgid "hostname" msgstr "hostname" #. Commandline metaserver: port-range #: ../metaserver/main.c:626 msgid "Use this port range when creating new games" msgstr "Usa queste porte creando nuove partite" #. Commandline metaserver: port-range argument #: ../metaserver/main.c:628 msgid "from-to" msgstr "da-a" #. Commandline option of metaserver: syslog-debug #: ../metaserver/main.c:634 msgid "Debug syslog messages" msgstr "Messaggi di debug su syslog" #. Long description in the commandline for metaserver: help #: ../metaserver/main.c:675 msgid "- Metaserver for Pioneers" msgstr "- Metaserver per Pioneers" #: ../metaserver/main.c:691 #, c-format msgid "metaserver protocol:" msgstr "protocollo metaserver:" #: ../server/avahi.c:68 msgid "Avahi registration successful.\n" msgstr "Registrazione Avahi effettuata.\n" #: ../server/avahi.c:78 #, c-format msgid "Avahi service name collision, renaming service to '%s'.\n" msgstr "Collisione nome servizio Avahi, rinominato in '%s'.\n" #. Some kind of failure happened while we were registering #: ../server/avahi.c:89 #, c-format msgid "Avahi error: %s\n" msgstr "Errore Avahi: %s\n" #: ../server/avahi.c:113 ../server/avahi.c:145 ../server/avahi.c:155 #: ../server/avahi.c:191 ../server/avahi.c:212 ../server/avahi.c:226 #, c-format msgid "Avahi error: %s, %s\n" msgstr "Errore Avahi: %s, %s\n" #: ../server/avahi.c:213 ../server/avahi.c:227 msgid "Unable to register Avahi server" msgstr "Impossibile registrare il server Avahi" #: ../server/avahi.c:260 msgid "Unregistering Avahi.\n" msgstr "Disconnessione Avahi.\n" #. Menu entry #: ../server/gtk/main.c:108 msgid "_About Pioneers Server" msgstr "_Riguardo Server Pioneers" #. Tooltop for About Pioneers Server menu entry #: ../server/gtk/main.c:110 msgid "Information about Pioneers Server" msgstr "Informazioni sul Server Pioneers" #: ../server/gtk/main.c:234 msgid "Stop Server" msgstr "Ferma Server" #: ../server/gtk/main.c:235 msgid "Start Server" msgstr "Avvia Server" #: ../server/gtk/main.c:237 ../server/gtk/main.c:996 msgid "Stop the server" msgstr "Ferma il server" #: ../server/gtk/main.c:238 msgid "Start the server" msgstr "Avvia il server" #: ../server/gtk/main.c:395 #, c-format msgid "Player %s from %s entered\n" msgstr "Entrato giocatore %s da %s\n" #: ../server/gtk/main.c:402 #, c-format msgid "Player %s from %s left\n" msgstr "Uscito giocatore %s da %s\n" #: ../server/gtk/main.c:409 #, c-format msgid "Player %d is now %s\n" msgstr "Giocatore %d è ora %s\n" #: ../server/gtk/main.c:570 msgid "The port for the game server" msgstr "La porta del server di partita" #. register_toggle #: ../server/gtk/main.c:579 msgid "Register server" msgstr "Registra server" #: ../server/gtk/main.c:587 msgid "Register this game at the metaserver" msgstr "Registra questa partita sul metaserver" #. hostname label #: ../server/gtk/main.c:618 msgid "Reported hostname" msgstr "Hostname riportato" #: ../server/gtk/main.c:633 msgid "" "The public name of this computer (needed when playing behind a firewall)" msgstr "" "Il nome pubblico di questo computer (necessario giocando attraverso un " "firewall)" #. random toggle #: ../server/gtk/main.c:652 msgid "Random turn order" msgstr "Rendi casuale l'ordine dei turni" #: ../server/gtk/main.c:659 msgid "Randomize turn order" msgstr "Rendi casuale l'ordine dei turni" #. Tooltip for server connection overview #: ../server/gtk/main.c:730 msgid "Shows all players and spectators connected to the server" msgstr "Visualizza tutti i giocatori e gli spettatori connessi" #. Label for column Connected #: ../server/gtk/main.c:735 msgid "Connected" msgstr "Connesso" #. Tooltip for column Connected #: ../server/gtk/main.c:742 msgid "Is the player currently connected?" msgstr "Il giocatore è attualmente connesso?" #. Label for column Name #: ../server/gtk/main.c:747 msgid "Name" msgstr "Nome" #. Tooltip for column Name #: ../server/gtk/main.c:754 msgid "Name of the player" msgstr "Nome del giocatore" #. Label for column Location #: ../server/gtk/main.c:758 msgid "Location" msgstr "Postazione" #. Tooltip for column Location #: ../server/gtk/main.c:765 msgid "Host name of the player" msgstr "Nome del computer del giocatore" #. Label for column Number #: ../server/gtk/main.c:771 msgid "Number" msgstr "Numero" #. Tooltip for column Number #: ../server/gtk/main.c:778 msgid "Player number" msgstr "Numero del giocatore" #. Label for column Role #: ../server/gtk/main.c:784 msgid "Role" msgstr "Ruolo" #. Tooltip for column Role #: ../server/gtk/main.c:788 msgid "Player or spectator" msgstr "Giocatore o spettatore" #. Button text #: ../server/gtk/main.c:825 msgid "Launch Pioneers Client" msgstr "Avvia Client Pioneers" #. Tooltip #: ../server/gtk/main.c:839 msgid "Launch the Pioneers client" msgstr "Avvia il client di Pioneers" #. ai chat toggle #: ../server/gtk/main.c:868 msgid "Enable chat" msgstr "Abilita chat" #. Tooltip #: ../server/gtk/main.c:875 msgid "Enable chat messages" msgstr "Abilita i messaggi chat" #. Button text #: ../server/gtk/main.c:884 msgid "Add Computer Player" msgstr "Aggiungi Giocatore AI" #. Tooltip #: ../server/gtk/main.c:892 msgid "Add a computer player to the game" msgstr "Aggiungi alla partita un giocatore controllato dal computer" #. Tooltip #: ../server/gtk/main.c:925 msgid "Messages from the server" msgstr "Messaggi dal server" #: ../server/gtk/main.c:961 msgid "Game settings" msgstr "Impostazioni partita" #. server frame #: ../server/gtk/main.c:972 msgid "Server parameters" msgstr "Parametri server" #: ../server/gtk/main.c:992 msgid "Running game" msgstr "Partita in corso" #. player connected frame #: ../server/gtk/main.c:1008 msgid "Players connected" msgstr "Giocatori connessi" #. ai frame #: ../server/gtk/main.c:1012 msgid "Computer players" msgstr "Giocatori AI" #. message frame #: ../server/gtk/main.c:1024 msgid "Messages" msgstr "Messaggi" #. Caption of about box #: ../server/gtk/main.c:1150 msgid "About the Pioneers Game Server" msgstr "Info sul Server di Pioneers" # #. Wait for all players to disconnect, #. * then enable the UI #. #: ../server/gtk/main.c:1158 msgid "The game is over.\n" msgstr "La partita è finita.\n" #. Long description in the commandline for server-gtk: help #. Long description in the commandline for server-console: help #: ../server/gtk/main.c:1212 ../server/main.c:194 msgid "- Host a game of Pioneers" msgstr "- Ospita una partita di Pioneers" #. Name in the titlebar of the server #: ../server/gtk/main.c:1236 ../server/gtk/pioneers-server-gtk.desktop.in.h:1 msgid "Pioneers Server" msgstr "Server Pioneers" #: ../server/gtk/pioneers-server-gtk.desktop.in.h:2 msgid "Host a game of Pioneers" msgstr "Ospita una partita di Pioneers" #: ../server/gtk/pioneers-server-gtk.desktop.in.h:3 msgid "game;board;server;host;Pioneers;Settlers;" msgstr "partita;gioco;server;host;Pioneers;Coloni;" #. Commandline server-console: game-title #: ../server/main.c:80 msgid "Game title to use" msgstr "Nome della partita" #. Commandline server-console: file #: ../server/main.c:83 msgid "Game file to use" msgstr "File di partita da usare" #. Commandline server-console: port #: ../server/main.c:86 msgid "Port to listen on" msgstr "Porta su cui ascoltare" #. Commandline server-console: players #: ../server/main.c:89 msgid "Override number of players" msgstr "Forza il numero di giocatori" #. Commandline server-console: points #: ../server/main.c:92 msgid "Override number of points needed to win" msgstr "Forza il numero di punti vittoria" #. Commandline server-console: seven-rule #: ../server/main.c:95 msgid "Override seven-rule handling" msgstr "Forza la gestione della regola sette" #. Commandline server-console: dice-deck #: ../server/main.c:98 msgid "Override dice-deck handling" msgstr "Forza la gestione del mazzo dadi" #. Commandline server-console: num-dice-decks #: ../server/main.c:101 msgid "Override num-dice-decks handling" msgstr "Forza la gestione del numero mazzo dadi" #. Commandline server-console: num-removed-dice-cards #: ../server/main.c:105 msgid "Override num-removed-dice-cards handling" msgstr "Forza la gestione del numero carte dadi rimosse" #. Commandline server-console: terrain #: ../server/main.c:108 msgid "Override terrain type, 0=default 1=random" msgstr "Forza il tipo di terreno, 0=default 1=casuale" #. Commandline server-console: computer-players #: ../server/main.c:111 msgid "Add N computer players" msgstr "Aggiungi N giocatori AI" #. Commandline server-console: register #: ../server/main.c:121 msgid "Register server with metaserver" msgstr "Registra il server sul metaserver" #. Commandline server-console: metaserver #: ../server/main.c:124 msgid "Register at metaserver name (implies -r)" msgstr "Registra sul metaserver con nome (implica -r)" #. Commandline server-console: hostname #: ../server/main.c:128 msgid "Use this hostname when registering" msgstr "Usa questo hostname per la registrazione" #. Commandline server-console: auto-quit #: ../server/main.c:135 msgid "Quit after a player has won" msgstr "Esci quando un giocatore vince" #. Commandline server-console: empty-timeout #: ../server/main.c:138 msgid "Quit after N seconds with no players" msgstr "Esci dopo N secondi senza giocatori" #. Commandline server-console: tournament #: ../server/main.c:141 msgid "Tournament mode, computer players added after N minutes" msgstr "Modalità torneo, giocatori AI aggiunti dopo N secondi" #. Commandline server-console: admin-port #: ../server/main.c:145 msgid "Admin port to listen on" msgstr "Porta di admin su cui ascoltare" #. Commandline server-console: admin-wait #: ../server/main.c:148 msgid "Don't start game immediately, wait for a command on admin port" msgstr "" "Non iniziare la partita immediatamente, aspetta un comando dalla porta di " "amministrazione" #. Commandline server-console: fixed-seating-order #: ../server/main.c:154 msgid "Give players numbers according to the order they enter the game" msgstr "" "Assegna il numero di giocatore secondo l'ordine di entrata nella partita" #. Commandline server-console: Short description of meta group #: ../server/main.c:200 msgid "Metaserver Options" msgstr "Opzioni metaserver" #. Commandline server-console: Long description of meta group #: ../server/main.c:202 msgid "Options for the metaserver" msgstr "Opzioni per il metaserver" #. Commandline server-console: Short description of misc group #: ../server/main.c:211 msgid "Miscellaneous Options" msgstr "Opzioni generiche" #. Commandline server-console: Long description of misc group #: ../server/main.c:213 msgid "Miscellaneous options" msgstr "Opzioni generiche" #. server-console commandline error #: ../server/main.c:239 #, c-format msgid "Cannot set game title and filename at the same time\n" msgstr "" "Impossibile impostare contemporaneamente il nome della partita e del file\n" #. server-console commandline error #: ../server/main.c:256 #, c-format msgid "Cannot load the parameters for the game\n" msgstr "Impossibile caricare i parametri della partita\n" #. Error message #: ../server/main.c:305 ../server/main.c:324 #, c-format msgid "The network port (%s) for the admin interface is not available.\n" msgstr "" "La porta di rete (%s) per l'interfaccia amministratore non è disponibile.\n" #: ../server/meta.c:58 msgid "The connection to the metaserver is lost.\n" msgstr "La connessione al metaserver è caduta.\n" #: ../server/meta.c:64 #, c-format msgid "An attempt to reconnect is scheduled in %u second.\n" msgid_plural "An attempt to reconnect is scheduled in %u seconds.\n" msgstr[0] "Un tentativo di riconnessione è previsto tra %u secondo.\n" msgstr[1] "Un tentativo di riconnessione è previsto tra %u secondi.\n" #: ../server/meta.c:83 msgid "Attempting to reconnect to the metaserver.\n" msgstr "Riconnessione al metaserver in corso.\n" #: ../server/meta.c:311 #, c-format msgid "Register with the metaserver at %s.\n" msgstr "Registra sul metaserver %s.\n" #: ../server/meta.c:322 msgid "Unregister from the metaserver.\n" msgstr "Deregistra dal metaserver.\n" #: ../server/player.c:142 msgid "chat too long" msgstr "messaggio troppo lungo" #: ../server/player.c:159 msgid "name too long" msgstr "nome troppo lungo" #: ../server/player.c:191 msgid "ignoring unknown extension" msgstr "estensione sconosciuta ignorata" #: ../server/player.c:228 ../server/player.c:298 msgid "The last player left, the tournament timer is reset." msgstr "L'ultimo giocatore ha lasciato, il timer del torneo è stato resettato." #: ../server/player.c:262 ../server/player.c:643 msgid "No human players present. Bye." msgstr "Nessun giocatore umano presente. Addio." #: ../server/player.c:269 msgid "Game starts, adding computer players." msgstr "La partita inizia, aggiungo giocatori AI." #: ../server/player.c:311 #, c-format msgid "The game starts in %s minutes." msgstr "La partita inizia tra %s minuti." #: ../server/player.c:312 #, c-format msgid "The game starts in %s minute." msgstr "La partita inizia tra %s minuto." # #. Default name for the AI when the computer_names file #. * is not found or empty. #. #: ../server/player.c:370 ../server/player.c:376 msgid "Computer Player" msgstr "Giocatore AI" #: ../server/player.c:450 #, c-format msgid "Unable to determine the hostname of the player: %s" msgstr "Impossibile determinare l'hostname del giocatore: %s" #. The game is over, don't accept new players #. Message to send to the client when the game is already over #. * when a connection is made. #: ../server/player.c:476 msgid "Sorry, game is over." msgstr "Mi dispiace, la partita è terminata." #: ../server/player.c:478 #, c-format msgid "Player from %s is refused: game is over\n" msgstr "Giocatore da %s rifiutato: la partita è terminata\n" #: ../server/player.c:520 msgid "Name not changed: new name is already in use" msgstr "Nome non variato: il nuovo nome è già in uso" #: ../server/player.c:638 ../server/server.c:38 msgid "Was hanging around for too long without players... bye.\n" msgstr "Rimasto in attesa senza giocatori per troppo tempo... addio.\n" #: ../server/player.c:723 msgid "The last human player left. Waiting for the return of a player." msgstr "" "L'ultimo giocatore umano ha lasciato. In attesa del ritorno di un giocatore." #: ../server/player.c:744 msgid "Resuming the game." msgstr "Recupero partita." #. %s is the name of the reconnecting player #: ../server/player.c:870 #, c-format msgid "%s has reconnected." msgstr "%s si è riconnesso." #: ../server/player.c:970 #, c-format msgid "Version mismatch: %s" msgstr "Versione non corrispondente: %s" #: ../server/player.c:1007 msgid "This game will start soon." msgstr "Questa partita inizierà presto." #. Server: preparing game #..... #: ../server/server.c:221 msgid "Preparing game" msgstr "Partita in preparazione" #: ../server/turn.c:254 msgid "Island Discovery Bonus" msgstr "Bonus scoperta isole" #: ../server/turn.c:255 msgid "Additional Island Bonus" msgstr "Bonus aggiuntivo isole" #: ../server/turn.c:386 msgid "Tried to assign resources to NULL player.\n" msgstr "Si è cercato di assegnare le materie prime al giocatore NULL\n" #. Cheat mode has been activated #: ../server/turn.c:516 msgid "The dice roll has been determined by the administrator." msgstr "Il tiro dei dadi è stato determinato dall'amministratore." #~ msgid "Join the selected game" #~ msgstr "Unisciti alla partita selezionata" #~ msgid "Don't join a public game" #~ msgstr "Non unirti a partita pubblica" #~ msgid "Create a new public game at the metaserver" #~ msgstr "Registra questa partita sul metaserver" #~ msgid "Refresh the list of games" #~ msgstr "Aggiorna la lista delle partita" #~ msgid "Version:" #~ msgstr "Versione:" #~ msgid "Homepage:" #~ msgstr "Homepage:" #~ msgid "Authors:" #~ msgstr "Autori:" #~ msgid "Pioneers is translated to by:\n" #~ msgstr "Pioneers è stato tradotto in italiano da:\n" pioneers-15.5/po/LINGUAS0000644000175000017500000000015612331626012011652 00000000000000# Add your language here. # Keep this list alphabetical af ca cs da de en_GB es fr gl hu it ja nl pt sv zh_CN pioneers-15.5/po/es.po0000644000175000017500000030641713252242740011612 00000000000000# Pioneers - Settlers of Catan for GNOME. # Copyright (C) 1999-2001 Dave Cole # Copyright (C) 2000-2002 Andy Heroff # Copyright (C) 2006 Marco Antonio Giraldo # This file is distributed under the same license as the pioneers package. # Steve Langasek , 2002-2003. # msgid "" msgstr "" "Project-Id-Version: Pioneers 0.12.5\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-03-14 16:51+0100\n" "PO-Revision-Date: 2012-07-08 03:34+0000\n" "Last-Translator: Eduardo Alberto Calvo \n" "Language-Team: Spanish \n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Launchpad-Export-Date: 2012-09-06 06:01+0000\n" "X-Generator: Launchpad (build 15909)\n" #. Commandline pioneersai: chromosome-file #: ../client/ai/ai.c:90 msgid "Chromosome File" msgstr "" #. Commandline pioneersai: server #: ../client/ai/ai.c:93 msgid "Server Host" msgstr "Servidor" #. Commandline pioneersai: port #: ../client/ai/ai.c:96 msgid "Server Port" msgstr "Puerto" #. Commandline pioneersai: name #: ../client/ai/ai.c:99 msgid "Computer name (mandatory)" msgstr "Nombre de equipo (requerido)" #. Commandline pioneersai: time #: ../client/ai/ai.c:102 msgid "Time to wait between turns (in milliseconds)" msgstr "Tiempo de espera entre turnos (en milisegundos)" #. Commandline pioneersai: chat-free #: ../client/ai/ai.c:105 msgid "Stop computer player from talking" msgstr "Parar de hablar el adversario electrónico" #. Commandline pioneersai: algorithm #: ../client/ai/ai.c:108 msgid "Type of computer player" msgstr "Tipo de adversario electrónico" #. Commandline option of ai: enable debug logging #. Commandline option of client: enable debug logging #. Commandline option of metaserver: enable debug logging #. Commandline option of server-gtk: enable debug logging #. Commandline option of server: enable debug logging #: ../client/ai/ai.c:111 ../client/gtk/offline.c:67 ../metaserver/main.c:631 #: ../server/gtk/main.c:1170 ../server/main.c:159 msgid "Enable debug messages" msgstr "Activar mensajes depurados" #. Commandline option of ai: version #. Commandline option of client: version #. Commandline option of editor: version #. Commandline option of metaserver: version #. Commandline option of server-gtk: version #. Commandline option of server-console: version #: ../client/ai/ai.c:114 ../client/gtk/offline.c:70 ../editor/gtk/editor.c:1843 #: ../metaserver/main.c:637 ../server/gtk/main.c:1173 ../server/main.c:114 msgid "Show version information" msgstr "Mostrar información de la versión" #. Long description in the commandline for pioneersai: help #: ../client/ai/ai.c:125 msgid "- Computer player for Pioneers" msgstr "- Adversario electrónico de Pioneers" #: ../client/ai/ai.c:137 ../client/gtk/offline.c:196 #: ../editor/gtk/editor.c:1888 ../metaserver/main.c:687 #: ../server/gtk/main.c:1223 ../server/main.c:226 #, c-format msgid "Pioneers version:" msgstr "Versión de Pioneers:" #. ai commandline error #: ../client/ai/ai.c:160 #, c-format msgid "A name must be provided.\n" msgstr "Debes de proveer un nombre.\n" #: ../client/ai/ai.c:171 #, c-format msgid "Type of computer player: %s\n" msgstr "Tiempo de adversario electrónico: %s\n" #: ../client/ai/ai.c:202 msgid "The game is already full. I'm leaving." msgstr "El juego ya está lleno. Me voy." #. AI chat at the start of the turn #: ../client/ai/ai.c:230 msgid "Ok, let's go!" msgstr "Ok, ¡vamos!" #. AI chat at the start of the turn #: ../client/ai/ai.c:232 msgid "I'll beat you all now! ;)" msgstr "Ahora los venceré a todos" #. AI chat at the start of the turn #: ../client/ai/ai.c:234 msgid "Now for another try..." msgstr "Intentemos otra vez..." #. AI chat when one resource is received #: ../client/ai/ai.c:239 msgid "At least I get something..." msgstr "Al menos obtuve algo..." #. AI chat when one resource is received #: ../client/ai/ai.c:241 msgid "One is better than none..." msgstr "Es mejor que nada..." #. AI chat when more than one resource is received #: ../client/ai/ai.c:246 msgid "Wow!" msgstr "Wow!" #. AI chat when more than one resource is received #: ../client/ai/ai.c:248 msgid "Ey, I'm becoming rich ;)" msgstr "Ey, me estoy enriqueciendo ;)" #. AI chat when more than one resource is received #: ../client/ai/ai.c:250 msgid "This is really a good year!" msgstr "¡Este es realmente un buen año!" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:255 msgid "You really don't deserve that much!" msgstr "¡Realmente no mereces tanto!" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:257 msgid "You don't know what to do with that many resources ;)" msgstr "No sabes qué hacer con tantos recursos ;)" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:259 msgid "Ey, wait for my robber and lose all this again!" msgstr "¡Ey, espera a mi ladrón y pierde todo de nuevo!" #. AI chat when it moves the robber #: ../client/ai/ai.c:264 msgid "Hehe!" msgstr "¡Ejeje!" #. AI chat when it moves the robber #: ../client/ai/ai.c:266 msgid "Go, robber, go!" msgstr "¡Ve ladron, ve!" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:271 msgid "You bastard!" msgstr "¡Maldito!" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:273 msgid "Can't you move that robber somewhere else?!" msgstr "¿No puedes mover ese ladrón a otra parte?" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:275 msgid "Why always me??" msgstr "¿Por qué siempre yo?" #. AI chat when it must discard resources #: ../client/ai/ai.c:280 msgid "Oh no!" msgstr "¡Oh, no!" #. AI chat when it must discard resources #: ../client/ai/ai.c:282 msgid "Grrr!" msgstr "¡Grr!" #. AI chat when it must discard resources #: ../client/ai/ai.c:284 msgid "Who the hell rolled that 7??" msgstr "¿Quién diablos tiró ese 7?" #. AI chat when it must discard resources #: ../client/ai/ai.c:286 msgid "Why always me?!?" msgstr "¿Por qué siempre yo?" #. AI chat when other players must discard #: ../client/ai/ai.c:291 msgid "Say good bye to your cards... :)" msgstr "Dile adios a tus cartas... :)" #. AI chat when other players must discard #: ../client/ai/ai.c:293 msgid "*evilgrin*" msgstr "Diablillo!!" #. AI chat when other players must discard #: ../client/ai/ai.c:295 msgid "/me says farewell to your cards ;)" msgstr "/me dice adios a tus cartas ;)" #. AI chat when other players must discard #: ../client/ai/ai.c:297 msgid "That's the price for being rich... :)" msgstr "Ese es el precio de ser rico... :)" #. AI chat when someone steals from it #: ../client/ai/ai.c:302 msgid "Ey! Where's that card gone?" msgstr "¡Ey!, ¿a donde se fue esa carta?" #. AI chat when someone steals from it #: ../client/ai/ai.c:304 msgid "Thieves! Thieves!!" msgstr "¡Ladrón, ladrón!" #. AI chat when someone steals from it #: ../client/ai/ai.c:306 msgid "Wait for my revenge..." msgstr "Espera mi revancha..." #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:311 msgid "Oh no :(" msgstr "Oh no :(" #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:313 msgid "Must this happen NOW??" msgstr "¿Tenía que pasar ahora?" #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:315 msgid "Args" msgstr "Vaya!!" #. AI chat when it has the largest army #: ../client/ai/ai.c:320 msgid "Hehe, my soldiers rule!" msgstr "Je je, mis soldados mandan" #. AI chat when another player that the largest army #: ../client/ai/ai.c:325 msgid "First robbing us, then grabbing the points..." msgstr "Primero nos robas, luego nos coges los puntos..." #. AI chat when it has the longest road #: ../client/ai/ai.c:330 msgid "See that road!" msgstr "¡Mira ese camino!" #. AI chat when another player has the longest road #: ../client/ai/ai.c:335 msgid "Pf, you won't win with roads alone..." msgstr "Pff, no ganarás solo con caminos..." #: ../client/ai/ai.c:434 #, c-format msgid "Received error from server: %s. Quitting\n" msgstr "Error recibido del servidor: %s. Saliendo\n" #. AI chat when it wins #: ../client/ai/ai.c:446 ../client/ai/genetic.c:2766 msgid "Yippie!" msgstr "Yupi!" #. AI chat when another player wins #: ../client/ai/ai.c:449 ../client/ai/genetic.c:2777 msgid "My congratulations" msgstr "Mis felicitaciones" #: ../client/ai/genetic.c:1277 ../client/ai/greedy.c:961 msgid "No settlements in stock to use for setup" msgstr "No hay asentamientos en reservas para usar en el montaje" #: ../client/ai/genetic.c:1284 ../client/ai/greedy.c:968 msgid "There is no place to setup a settlement" msgstr "No hay lugar para instalar un asentamiento" #: ../client/ai/genetic.c:1311 ../client/ai/greedy.c:992 msgid "No roads in stock to use for setup" msgstr "No hay caminos en reservas para usar en el montaje" #: ../client/ai/genetic.c:1329 ../client/ai/greedy.c:1009 msgid "There is no place to setup a road" msgstr "No hay lugar para instalar un camino" #: ../client/ai/genetic.c:2651 ../client/ai/greedy.c:1784 msgid "Rejecting trade.\n" msgstr "Rechazando negocio.\n" #. Translators: don't translate '/help' #: ../client/ai/lobbybot.c:80 msgid "" "Hello, welcome to the lobby. I am a simple robot. Type '/help' in the chat " "to see the list of commands I know." msgstr "" "Hola, bienvenido al salón. Soy un simple robot. Escriba '/help' en la sala " "de charla para ver la lista de comandos que conozco." #. Translators: don't translate '/help' #: ../client/ai/lobbybot.c:107 msgid "'/help' shows this message again" msgstr "'/help' muestra este mensaje de nuevo" #. Translators: don't translate '/why' #: ../client/ai/lobbybot.c:110 msgid "'/why' explains the purpose of this strange board layout" msgstr "'/why' explica el propósito de esta extraña presentación del tablero" #. Translators: don't translate '/news' #: ../client/ai/lobbybot.c:113 msgid "'/news' tells the last released version" msgstr "'/news' dice cuál es la ultima versión que ha salido" #. AI chat that explains '/why' #: ../client/ai/lobbybot.c:119 msgid "" "This board is not intended to be a game that can be played. Instead, players " "can find eachother here, and decide which board they want to play. Then, one " "of the players will host the proposed game by starting a server, and " "registers it at the metaserver. The other players can subsequently " "disconnect from the lobby, and enter that game." msgstr "" "Este tablero no pretende ser sólo un juego que pueda ser jugado. En lugar de " "ello, los jugadores se pueden encontrar aquí y decidir que trablero quieren " "usar. Entonces, uno de los jugadores será el anfitrión del juego propuesto " "iniciando un servidor y registrándolo en el Meta-servidor. Los otros " "jugadores pueden seguidamente salir del salón y entrar al juego." #: ../client/ai/lobbybot.c:130 msgid "The last released version of Pioneers is" msgstr "La más reciente versión de Pioneers es" #. The lobbybot leaves when a game is starting #: ../client/ai/lobbybot.c:146 msgid "The game is starting. I'm not needed anymore. Goodbye." msgstr "El juego está comenzando. No me necesitan más. Adios." #: ../client/common/client.c:105 msgid "Waiting" msgstr "Esperando" #: ../client/common/client.c:107 msgid "Idle" msgstr "Libre" #: ../client/common/client.c:532 msgid "We have been kicked out of the game.\n" msgstr "Hemos sido expulsados del juego.\n" #. Network status: offline #: ../client/common/client.c:535 ../client/common/client.c:990 #: ../client/gtk/gui.c:1532 msgid "Offline" msgstr "desconectado" #: ../client/common/client.c:556 #, c-format msgid "Error (%s): %s\n" msgstr "Error (%s): %s\n" #: ../client/common/client.c:565 ../client/common/client.c:576 #, c-format msgid "Notice: %s\n" msgstr "Note: %s\n" #: ../client/common/client.c:693 #, c-format msgid "%s does not receive any %s, because the bank is empty.\n" msgstr "%s no recibe %s, porque el banco está vacío.\n" #: ../client/common/client.c:706 #, c-format msgid "%s only receives %s, because the bank didn't have any more.\n" msgstr "%s sólo recibe %s, porque el banco no tiene más.\n" #: ../client/common/client.c:716 #, c-format msgid "%s receives %s.\n" msgstr "%s recibe %s.\n" #. Year of Plenty #: ../client/common/client.c:724 ../client/common/client.c:2663 #, c-format msgid "%s takes %s.\n" msgstr "%s toma a %s.\n" #: ../client/common/client.c:729 #, c-format msgid "%s spent %s.\n" msgstr "%s gasta %s.\n" #: ../client/common/client.c:735 #, c-format msgid "%s is refunded %s.\n" msgstr "Se reembolsa %2s a %1s.\n" #. %s = Player name #: ../client/common/client.c:753 #, c-format msgid "%s shuffled the dice deck.\n" msgstr "" #: ../client/common/client.c:772 #, c-format msgid "%s discarded %s.\n" msgstr "%s desecha %s.\n" #: ../client/common/client.c:846 #, c-format msgid "%s has won the game with %d victory points!\n" msgstr "%s ha ganado con %d puntos!\n" #: ../client/common/client.c:945 msgid "Loading" msgstr "Bajando" #: ../client/common/client.c:991 msgid "Version mismatch." msgstr "Versión no coincide." #: ../client/common/client.c:993 msgid "Version mismatch. Please make sure client and server are up to date.\n" msgstr "" "Versión no coincide, Por favor asegúrese de que el cliente y el servidor " "están actualizados.\n" #: ../client/common/client.c:1413 msgid "Build two settlements, each with a connecting" msgstr "Contruya dos asentamientos, cada uno con una conexión" #: ../client/common/client.c:1416 msgid "Build a settlement with a connecting" msgstr "Construya un asentamiento con una conexión" #: ../client/common/client.c:1419 msgid "road" msgstr "camino" #: ../client/common/client.c:1421 msgid "bridge" msgstr "puente" #: ../client/common/client.c:1423 msgid "ship" msgstr "barco" #: ../client/common/client.c:1430 msgid " or" msgstr " o" #: ../client/common/client.c:1494 msgid "Waiting for your turn." msgstr "Esperando tu turno." #: ../client/common/client.c:1546 ../client/gtk/interface.c:784 msgid "Select the building to steal from." msgstr "Escoge el edificio que quieres robar." #: ../client/common/client.c:1568 ../client/gtk/interface.c:774 msgid "Select the ship to steal from." msgstr "Seleccione el barco a robar" #: ../client/common/client.c:1652 ../client/gtk/interface.c:816 msgid "Place the robber." msgstr "Coloca el ladrón." #: ../client/common/client.c:1702 msgid "Finish the road building action." msgstr "Termina la acción de construcción del camino" #: ../client/common/client.c:1704 msgid "Build one road segment." msgstr "Construir un segmento de camino." #: ../client/common/client.c:1706 msgid "Build two road segments." msgstr "Construye dos segmentos de camino." #. Notification #: ../client/common/client.c:1979 ../client/common/client.c:2073 #: ../client/gtk/interface.c:432 msgid "It is your turn." msgstr "Te toca a tí." #: ../client/common/client.c:2167 #, c-format msgid "Sorry, %s available.\n" msgstr "Lo siento, %s disponible.\n" #: ../client/common/client.c:2481 msgid "The game is over." msgstr "Fin del juego" #. This development card is unique #: ../client/common/develop.c:67 #, c-format msgid "You bought the %s development card.\n" msgstr "Has comprado la carta de desarrollo «%s».\n" #. This development card is not unique #: ../client/common/develop.c:73 #, c-format msgid "You bought a %s development card.\n" msgstr "Has comprado una carta de desarrollo «%s».\n" #: ../client/common/develop.c:103 #, c-format msgid "%s bought a development card.\n" msgstr "%s ha comprado una carta de desarrollo.\n" #: ../client/common/develop.c:121 #, c-format msgid "%s played the %s development card.\n" msgstr "%s ha usado la carta de desarrollo «%s».\n" #: ../client/common/develop.c:126 #, c-format msgid "%s played a %s development card.\n" msgstr "%s ha usado una carta de desarrollo «%s».\n" #: ../client/common/develop.c:138 msgid "You have run out of road segments.\n" msgstr "Has gastado todos los segmentos de camino.\n" #. I get the cards #. $1=resources, $2=player that loses resources #: ../client/common/develop.c:179 #, c-format msgid "You get %s from %s.\n" msgstr "Recibes %s de %s.\n" #. I lose the cards #. $1=player that steals, $2=resources #: ../client/common/develop.c:185 #, c-format msgid "%s took %s from you.\n" msgstr "%s te quita %s.\n" #: ../client/common/develop.c:192 #, c-format msgid "%s took %s from %s.\n" msgstr "%s toma %s de %s.\n" #: ../client/common/player.c:125 ../server/player.c:567 #, c-format msgid "Spectator %d" msgstr "Espectador %d" #: ../client/common/player.c:128 #, c-format msgid "spectator %d" msgstr "espectador %d" #: ../client/common/player.c:137 ../server/player.c:570 #, c-format msgid "Player %d" msgstr "Jugador %d" #: ../client/common/player.c:139 #, c-format msgid "player %d" msgstr "jugador %d" #: ../client/common/player.c:216 #, c-format msgid "New spectator: %s.\n" msgstr "Nuevo espectador: %s\n" #: ../client/common/player.c:219 ../client/common/player.c:235 #, c-format msgid "%s is now %s.\n" msgstr "%s es ahora %s.\n" #: ../client/common/player.c:232 #, c-format msgid "Player %d is now %s.\n" msgstr "Jugador %d se llama ahora %s.\n" #: ../client/common/player.c:269 #, c-format msgid "%s has quit.\n" msgstr "%s ha salido.\n" #: ../client/common/player.c:278 msgid "There is no largest army.\n" msgstr "No hay un ejército más grande.\n" #: ../client/common/player.c:281 #, c-format msgid "%s has the largest army.\n" msgstr "%s tiene el ejército más grande.\n" #: ../client/common/player.c:302 msgid "There is no longest road.\n" msgstr "No hay un camino más largo.\n" #: ../client/common/player.c:305 #, c-format msgid "%s has the longest road.\n" msgstr "%s tiene el camino más largo.\n" #: ../client/common/player.c:326 #, c-format msgid "Waiting for %s." msgstr "Esperando a %s." #. We are not in on the action #. someone stole a resource from someone else #: ../client/common/player.c:354 #, c-format msgid "%s stole a resource from %s.\n" msgstr "%s le roba una carta de recurso a %s.\n" #. $1=resource, $2=player name #: ../client/common/player.c:365 #, c-format msgid "You stole %s from %s.\n" msgstr "Robas %s a %s.\n" #. $1=player name, $2=resource #: ../client/common/player.c:372 #, c-format msgid "%s stole %s from you.\n" msgstr "%s te roba %s.\n" #: ../client/common/player.c:406 #, c-format msgid "%s gave %s nothing!?\n" msgstr "¿¡%s no da nada a %s!?\n" #. $1=giving player, $2=receiving player, $3=resources #: ../client/common/player.c:413 ../client/common/player.c:423 #, c-format msgid "%s gave %s %s for free.\n" msgstr "%s da %s a %s gratis.\n" #: ../client/common/player.c:431 #, c-format msgid "%s gave %s %s in exchange for %s.\n" msgstr "%1s le da %3s a %2s a cambio de %4s.\n" #: ../client/common/player.c:462 #, c-format msgid "%s exchanged %s for %s.\n" msgstr "%s cambia %s por %s.\n" #: ../client/common/player.c:482 #, c-format msgid "%s built a road.\n" msgstr "%s construye un camino.\n" #: ../client/common/player.c:494 #, c-format msgid "%s built a ship.\n" msgstr "%s construye un barco.\n" #: ../client/common/player.c:507 #, c-format msgid "%s built a settlement.\n" msgstr "%s edifica un pueblo.\n" #: ../client/common/player.c:526 #, c-format msgid "%s built a city.\n" msgstr "%s edifica una ciudad.\n" #: ../client/common/player.c:540 #, c-format msgid "%s built a city wall.\n" msgstr "%s hizo amurallar una ciudad.\n" #. Error message #: ../client/common/player.c:551 #, c-format msgid "player_build_add called with BUILD_NONE for user %s\n" msgstr "Se llamó player_build_add con BUILD_NONE para el usuario %s\n" #: ../client/common/player.c:561 #, c-format msgid "%s built a bridge.\n" msgstr "%s construye un puente.\n" #: ../client/common/player.c:587 #, c-format msgid "%s removed a road.\n" msgstr "%s quita un camino.\n" #: ../client/common/player.c:597 #, c-format msgid "%s removed a ship.\n" msgstr "%s quita un barco.\n" #: ../client/common/player.c:607 #, c-format msgid "%s removed a settlement.\n" msgstr "%s quita un pueblo.\n" #: ../client/common/player.c:618 #, c-format msgid "%s removed a city.\n" msgstr "%s quita una ciudad.\n" #: ../client/common/player.c:632 #, c-format msgid "%s removed a city wall.\n" msgstr "%s quitó el muro a una ciudad.\n" #. Error message #: ../client/common/player.c:642 #, c-format msgid "player_build_remove called with BUILD_NONE for user %s\n" msgstr "Se llamó player_build_remove con BUILD_NONE para el usuario %s\n" #: ../client/common/player.c:651 #, c-format msgid "%s removed a bridge.\n" msgstr "%s quita un puente.\n" #: ../client/common/player.c:682 #, c-format msgid "%s has canceled a ship's movement.\n" msgstr "%s cancela un movimiento de barco.\n" #: ../client/common/player.c:685 #, c-format msgid "%s moved a ship.\n" msgstr "%s mueve un barco.\n" #. tell the user that someone got something #: ../client/common/player.c:705 #, c-format msgid "%s received %s.\n" msgstr "%s recibe %s.\n" #: ../client/common/player.c:724 msgid "server asks to lose invalid point.\n" msgstr "El servidor pide perder punto invalido.\n" #. tell the user the point is lost #: ../client/common/player.c:730 #, c-format msgid "%s lost %s.\n" msgstr "%s gasta %s.\n" #: ../client/common/player.c:753 msgid "server asks to move invalid point.\n" msgstr "El servidor pide mover punto inválido.\n" #. tell the user someone (1) lost something (2) to someone else (3) #: ../client/common/player.c:760 #, c-format msgid "%s lost %s to %s.\n" msgstr "%s pierde %s a %s.\n" #: ../client/common/resource.c:35 msgid "brick" msgstr "ladrillo" #: ../client/common/resource.c:35 msgid "Brick" msgstr "Ladrillo" #: ../client/common/resource.c:36 msgid "grain" msgstr "cereales" #: ../client/common/resource.c:36 msgid "Grain" msgstr "Cereales" #: ../client/common/resource.c:37 msgid "ore" msgstr "minerales" #: ../client/common/resource.c:37 msgid "Ore" msgstr "Minerales" #: ../client/common/resource.c:38 msgid "wool" msgstr "lana" #: ../client/common/resource.c:38 msgid "Wool" msgstr "Lana" #: ../client/common/resource.c:39 msgid "lumber" msgstr "madera" #: ../client/common/resource.c:39 msgid "Lumber" msgstr "Madera" #: ../client/common/resource.c:40 msgid "no resource (bug)" msgstr "no recurso (gusano)" #: ../client/common/resource.c:40 msgid "No resource (bug)" msgstr "No recurso (gusano)" #: ../client/common/resource.c:41 msgid "any resource (bug)" msgstr "cualquier recurso (gusano)" #: ../client/common/resource.c:41 msgid "Any resource (bug)" msgstr "Cualquier recurso (gusano)" #: ../client/common/resource.c:42 msgid "gold" msgstr "oro" #: ../client/common/resource.c:42 ../client/gtk/legend.c:41 msgid "Gold" msgstr "Oro" #: ../client/common/resource.c:47 msgid "a brick card" msgstr "una carta de ladrillo" #: ../client/common/resource.c:47 #, c-format msgid "%d brick cards" msgstr "%d cartas de ladrillo" #: ../client/common/resource.c:48 msgid "a grain card" msgstr "una carta de cereales" #: ../client/common/resource.c:48 #, c-format msgid "%d grain cards" msgstr "%d cartas de cereales" #: ../client/common/resource.c:49 msgid "an ore card" msgstr "una carta de minerales" #: ../client/common/resource.c:49 #, c-format msgid "%d ore cards" msgstr "%d cartas de minerales" #: ../client/common/resource.c:50 msgid "a wool card" msgstr "una carta de lana" #: ../client/common/resource.c:50 #, c-format msgid "%d wool cards" msgstr "%d cartas de lana" #: ../client/common/resource.c:51 msgid "a lumber card" msgstr "una carta de madera" #: ../client/common/resource.c:51 #, c-format msgid "%d lumber cards" msgstr "%d cartas de madera" #: ../client/common/resource.c:139 ../client/common/resource.c:225 msgid "nothing" msgstr "nada" #. Construct "A, B and C" for resources #: ../client/common/resource.c:166 #, c-format msgid "%s and %s" msgstr "%s y %s" #. Construct "A, B and C" for resources #: ../client/common/resource.c:170 #, c-format msgid "%s, %s" msgstr "%s, %s" #: ../client/common/robber.c:62 #, c-format msgid "%s has undone the robber movement.\n" msgstr "%s ha deshecho el movimiento de los ladrones.\n" #: ../client/common/robber.c:65 #, c-format msgid "%s moved the robber.\n" msgstr "%s mueve el ladrón.\n" #: ../client/common/robber.c:75 #, c-format msgid "%s has undone the pirate movement.\n" msgstr "%s ha deshecho el movimiento pirata.\n" #: ../client/common/robber.c:78 #, c-format msgid "%s moved the pirate.\n" msgstr "%s mueve el pirata.\n" #: ../client/common/robber.c:85 #, c-format msgid "%s must move the robber." msgstr "%s debe mover el ladrón." #: ../client/common/setup.c:146 #, c-format msgid "Setup for %s.\n" msgstr "Colocación inicial para %s.\n" #: ../client/common/setup.c:158 #, c-format msgid "Double setup for %s.\n" msgstr "Colocación inicial doble para %s.\n" #: ../client/common/turn.c:37 #, c-format msgid "%s rolled %d.\n" msgstr "%s tiró %d.\n" #: ../client/common/turn.c:50 #, c-format msgid "Begin turn %d for %s.\n" msgstr "Comienza turno %d para %s.\n" #: ../client/gtk/avahi-browser.c:83 msgid "Select an automatically discovered game" msgstr "Selecciona un juego que ha sido detectado automáticamente" #. $1=Game title, $2=version, $3=host_name, $4=port #: ../client/gtk/avahi-browser.c:132 #, c-format msgid "%s (%s) on %s:%s" msgstr "%s (%s) en %s:%s" #. Label text #: ../client/gtk/chat.c:73 msgid "Chat" msgstr "Charlar" #: ../client/gtk/chat.c:232 msgid "Beeper test.\n" msgstr "Prueba de pito.\n" #: ../client/gtk/chat.c:235 #, c-format msgid "%s beeped you.\n" msgstr "%s te pita.\n" #: ../client/gtk/chat.c:239 #, c-format msgid "You beeped %s.\n" msgstr "Has pitado a %s.\n" #: ../client/gtk/chat.c:245 #, c-format msgid "You could not beep %s.\n" msgstr "No pudiste pitar a %s.\n" #: ../client/gtk/chat.c:287 msgid " said: " msgstr " dice: " #: ../client/gtk/connect.c:286 #, c-format msgid "Metaserver at %s, port %s" msgstr "Meta-servidor en %s, puerto %s" #: ../client/gtk/connect.c:296 msgid "Finished.\n" msgstr "Terminado.\n" #: ../client/gtk/connect.c:311 ../client/gtk/connect.c:389 #: ../client/gtk/connect.c:408 ../client/gtk/connect.c:979 msgid "The metaserver is not available anymore.\n" msgstr "" #: ../client/gtk/connect.c:322 ../client/gtk/connect.c:443 #: ../client/gtk/connect.c:770 msgid "The metaserver closed the connection unexpectedly.\n" msgstr "" #: ../client/gtk/connect.c:380 msgid "Receiving game names from the metaserver.\n" msgstr "Recibiendo nombres del juego de Meta-servidor.\n" #: ../client/gtk/connect.c:422 #, fuzzy, c-format msgid "New game server requested on %s port %s.\n" msgstr "Nuevo servidor de juego solicitado en %s puerto %s.\n" #: ../client/gtk/connect.c:432 msgid "Incomplete information about the new game server received.\n" msgstr "" #: ../client/gtk/connect.c:486 ../client/gtk/connect.c:492 ../server/meta.c:239 #, c-format msgid "Unknown message from the metaserver: %s\n" msgstr "Mensaje desconocido del Meta-servidor: %s\n" #: ../client/gtk/connect.c:565 ../server/meta.c:178 #, c-format msgid "Receiving data from inactive session: %s\n" msgstr "" #: ../client/gtk/connect.c:577 ../server/meta.c:192 #, fuzzy msgid "Too many metaserver redirects.\n" msgstr "Demasiados desvíos del meta-servidor\n" #: ../client/gtk/connect.c:606 ../server/meta.c:208 #, c-format msgid "Bad redirect line: %s\n" msgstr "Mala linea de desvío: %s\n" #: ../client/gtk/connect.c:631 #, c-format msgid "The metaserver is too old to create servers (version %d.%d)\n" msgstr "Meta-servidor muy viejo para crear servidores(versión %d.%d)\n" #: ../client/gtk/connect.c:670 ../client/gtk/connect.c:749 #: ../client/gtk/connect.c:755 #, fuzzy, c-format msgid "Unexpected data from the metaserver: %s\n" msgstr "Mensaje desconocido del Meta-servidor: %s\n" #. Sevens rule: normal #: ../client/gtk/connect.c:701 ../client/gtk/settingscreen.c:181 #: ../common/gtk/game-rules.c:89 msgid "Normal" msgstr "Normal" #. Sevens rule: reroll on 1st 2 turns #: ../client/gtk/connect.c:706 ../client/gtk/settingscreen.c:183 #: ../common/gtk/game-rules.c:95 msgid "Reroll on 1st 2 turns" msgstr "Tirar de nuevo durante las dos primeras vueltas" #. Sevens rule: reroll all 7s #: ../client/gtk/connect.c:710 ../client/gtk/settingscreen.c:185 #: ../common/gtk/game-rules.c:102 msgid "Reroll all 7s" msgstr "Tirar de nuevo cada siete" #: ../client/gtk/connect.c:724 msgid "Default" msgstr "Por defecto" #: ../client/gtk/connect.c:727 msgid "Random" msgstr "Al azar" #: ../client/gtk/connect.c:819 ../server/meta.c:299 #, fuzzy, c-format msgid "Redirected to the metaserver at %s.\n" msgstr "Desviado al Meta-servidor en %s, puerto %s\n" #: ../client/gtk/connect.c:824 ../server/meta.c:302 #, fuzzy, c-format msgid "Redirected to the metaserver at %s, port %s.\n" msgstr "Desviado al Meta-servidor en %s, puerto %s\n" #: ../client/gtk/connect.c:831 msgid "Receiving a list of Pioneers servers from the metaserver.\n" msgstr "Recibiendo una lista de servidores Pioneers del Meta-servidor.\n" #. Label #: ../client/gtk/connect.c:914 msgid "Number of computer players" msgstr "Número de jugadores de la computador" #. Tooltip #: ../client/gtk/connect.c:935 msgid "The number of computer players" msgstr "El Número de jugadores de la computador" #. Canceled retrieving information #. * from the metaserver #: ../client/gtk/connect.c:957 ../client/gtk/connect.c:992 #: ../client/gtk/connect.c:1133 msgid "Canceled.\n" msgstr "" #: ../client/gtk/connect.c:960 #, fuzzy msgid "Requesting new game server.\n" msgstr "Pidiendo nuevo servidor de juego\n" #: ../client/gtk/connect.c:1015 ../server/gtk/main.c:370 ../server/server.c:123 #, c-format msgid "Error starting %s: %s\n" msgstr "Error al empezar %s: %s\n" #. Dialog caption #: ../client/gtk/connect.c:1037 msgid "Create a Public Game" msgstr "Crear un juego publico" #. Button text #: ../client/gtk/connect.c:1040 ../client/gtk/connect.c:1191 #: ../client/gtk/connect.c:1440 ../client/gtk/connect.c:1744 #: ../client/gtk/name.c:147 ../editor/gtk/editor.c:1521 #: ../editor/gtk/editor.c:1562 ../editor/gtk/editor.c:1611 msgid "_Cancel" msgstr "" #. Button text #: ../client/gtk/connect.c:1042 #, fuzzy msgid "C_reate" msgstr "Crear juego" #. Dialog caption #: ../client/gtk/connect.c:1182 msgid "Join a Public Game" msgstr "Adherir a un juego publico" #. Button text #: ../client/gtk/connect.c:1185 msgid "_Refresh" msgstr "" #. Button text #: ../client/gtk/connect.c:1188 msgid "_New Remote Game" msgstr "_Nuevo juego remoto" #. Button text #: ../client/gtk/connect.c:1194 ../client/gtk/connect.c:1748 #, fuzzy msgid "_Join" msgstr "Adherir" #. Tooltip #: ../client/gtk/connect.c:1237 msgid "Select a game to join" msgstr "Seleccionar un juego para adherir" #. Column name #: ../client/gtk/connect.c:1241 msgid "Map Name" msgstr "Nombre de mapa" #. Tooltip for column 'Map Name' #: ../client/gtk/connect.c:1249 msgid "Name of the game" msgstr "Nombre del juego" #. Column name #: ../client/gtk/connect.c:1255 msgid "Curr" msgstr "Corr." #. Tooltip for column 'Curr' #: ../client/gtk/connect.c:1262 msgid "Number of players in the game" msgstr "Número de jugadores en el juego" #. Column name #: ../client/gtk/connect.c:1268 msgid "Max" msgstr "Máx." #. Tooltip for column 'Max' #: ../client/gtk/connect.c:1275 msgid "Maximum players for the game" msgstr "Maximo de jugadores para el juego" #. Column name #: ../client/gtk/connect.c:1279 msgid "Terrain" msgstr "Terreno" #. Tooltip for column 'Terrain' #: ../client/gtk/connect.c:1287 msgid "Random of default terrain" msgstr "Terreno por defecto al azar" #. Column name #: ../client/gtk/connect.c:1293 msgid "Vic. Points" msgstr "Puntos de Vic." #. Tooltip for column 'Vic. Points' #: ../client/gtk/connect.c:1300 msgid "Points needed to win" msgstr "Puntos necesitados para ganar" #. Column name #: ../client/gtk/connect.c:1304 msgid "Sevens Rule" msgstr "Regla de los sietes" #. Tooltip for column 'Sevens Rule' #. Label #: ../client/gtk/connect.c:1312 ../common/gtk/game-rules.c:81 msgid "Sevens rule" msgstr "Regla de los sietes" #. Column name #: ../client/gtk/connect.c:1316 msgid "Host" msgstr "Servidor" #. Tooltip for column 'Host' #: ../client/gtk/connect.c:1325 msgid "Host of the game" msgstr "Servidor del juego" #. Column name #: ../client/gtk/connect.c:1331 msgid "Port" msgstr "Puerto" #. Tooltip for column 'Port' #: ../client/gtk/connect.c:1339 msgid "Port of the game" msgstr "Puerto para el juego" #. Column name #: ../client/gtk/connect.c:1343 msgid "Version" msgstr "Versión" #. Tooltip for column 'Version' #: ../client/gtk/connect.c:1351 msgid "Version of the host" msgstr "Versión del anfitrion" #. Dialog caption #: ../client/gtk/connect.c:1436 msgid "Start a New Game" msgstr "Comenzar un nuevo juego" #. Label #. Commandline option of client: name of the player #: ../client/gtk/connect.c:1464 ../client/gtk/offline.c:57 msgid "Player name" msgstr "Nombre de jugador" #. Tooltip #: ../client/gtk/connect.c:1480 msgid "Enter your name" msgstr "Entra tu nombre de jugador" #. Check button #. Role of the player: spectator #: ../client/gtk/connect.c:1483 ../server/gtk/main.c:682 msgid "Spectator" msgstr "Espectador" #: ../client/gtk/connect.c:1493 msgid "Check if you want to be a spectator" msgstr "Marcar para ser un espectador" #. Label #: ../client/gtk/connect.c:1504 msgid "Avahi" msgstr "Avahi" #. Button #: ../client/gtk/connect.c:1511 msgid "Join" msgstr "Adherir" #. Tooltip for button Join #: ../client/gtk/connect.c:1515 msgid "Join an automatically discovered game" msgstr "Adherir un juego descubierto automáticamente" #. Label #. metaserver label #: ../client/gtk/connect.c:1542 ../server/gtk/main.c:593 msgid "Metaserver" msgstr "Meta-servidor" #. Button #: ../client/gtk/connect.c:1564 msgid "Join Public Game" msgstr "Adherir a juego publico" #. Tooltip #: ../client/gtk/connect.c:1570 msgid "Join a public game" msgstr "Adherir a un juego publico" #. Button #: ../client/gtk/connect.c:1575 msgid "Create Game" msgstr "Crear juego" #. Tooltip #: ../client/gtk/connect.c:1579 msgid "Create a game" msgstr "Crear un juego" #. Button #: ../client/gtk/connect.c:1588 msgid "Join Private Game" msgstr "Adherir a juego privado" #. Tooltip #. Dialog caption #: ../client/gtk/connect.c:1592 ../client/gtk/connect.c:1737 msgid "Join a private game" msgstr "Adherir a juego privado" #. Label #. Commandline option of client: hostname of the server #: ../client/gtk/connect.c:1777 ../client/gtk/offline.c:51 msgid "Server host" msgstr "Servidor" #. Tooltip #: ../client/gtk/connect.c:1791 msgid "Name of the host of the game" msgstr "Nombre del anfitrion del juego" #. Label #. Commandline option of client: port of the server #. server port label #: ../client/gtk/connect.c:1795 ../client/gtk/offline.c:54 #: ../server/gtk/main.c:555 msgid "Server port" msgstr "Puerto" #. Tooltip #: ../client/gtk/connect.c:1812 msgid "Port of the host of the game" msgstr "Puerto del anfitrion del juego" #. Tooltip #. Label #: ../client/gtk/connect.c:1854 ../client/gtk/connect.c:1857 msgid "Recent games" msgstr "Juegos recientes" #. Caption for list of bought development cards #: ../client/gtk/develop.c:130 msgid "Development cards" msgstr "Cartas de desarrollo" #. Button text: play development card #: ../client/gtk/develop.c:163 msgid "Play Card" msgstr "Jugar carta de desarrollo" #. Dialog caption #: ../client/gtk/discard.c:77 msgid "Discard Resources" msgstr "Deseche recursos" #. Button text #: ../client/gtk/discard.c:83 ../client/gtk/gameover.c:38 #: ../client/gtk/gold.c:78 ../client/gtk/monopoly.c:88 ../client/gtk/name.c:150 #: ../client/gtk/plenty.c:67 ../editor/gtk/editor.c:1614 msgid "_OK" msgstr "" #: ../client/gtk/discard.c:101 #, c-format msgid "You must discard %d resource" msgid_plural "You must discard %d resources" msgstr[0] "Tienes que desechar %d carta de recurso" msgstr[1] "Tienes que desechar %d cartas de recurso" #. Label #: ../client/gtk/discard.c:110 msgid "Total discards" msgstr "Rechazos totales" #. Caption for list of player that must discard cards #: ../client/gtk/discard.c:235 msgid "Waiting for players to discard" msgstr "Esperando a que los jugadores descarten" #. Dialog caption #: ../client/gtk/gameover.c:34 msgid "Game Over" msgstr "Fin del juego" #: ../client/gtk/gameover.c:52 #, c-format msgid "%s has won the game with %d victory points!" msgstr "%s ha ganado con %d puntos!" #: ../client/gtk/gameover.c:58 #, c-format msgid "All praise %s, Lord of the known world!" msgstr "Alabanzas a %s, Señor del mundo conocido!" #. Dialog caption #: ../client/gtk/gold.c:72 msgid "Choose Resources" msgstr "Elige recursos" #: ../client/gtk/gold.c:96 #, c-format msgid "You may choose %d resource" msgid_plural "You may choose %d resources" msgstr[0] "Puedes escoger %d recurso" msgstr[1] "Puedes escoger %d recursos" #. Text for total in choose gold dialog #. Text for total in year of plenty dialog #: ../client/gtk/gold.c:105 ../client/gtk/plenty.c:103 msgid "Total resources" msgstr "Recursos totales" #. Caption for list of player that must choose gold #: ../client/gtk/gold.c:217 msgid "Waiting for players to choose" msgstr "Esperando a que los jugadores escojan" #. Menu entry #: ../client/gtk/gui.c:224 ../server/gtk/main.c:91 msgid "_Game" msgstr "_Juego" #. Menu entry #: ../client/gtk/gui.c:227 msgid "_New Game" msgstr "_Nuevo juego" #. Tooltip for New Game menu entry #: ../client/gtk/gui.c:229 msgid "Start a new game" msgstr "Comenzar un nuevo juego" #. Menu entry #: ../client/gtk/gui.c:232 msgid "_Leave Game" msgstr "_Dejar juego" #. Tooltip for Leave Game menu entry #: ../client/gtk/gui.c:234 msgid "Leave this game" msgstr "Dejar este juego" #. Menu entry #: ../client/gtk/gui.c:238 msgid "_Admin" msgstr "_Admin" #. Tooltip for Admin menu entry #: ../client/gtk/gui.c:240 msgid "Administer Pioneers server" msgstr "Administrar servidor de Pioneers" #. Menu entry #: ../client/gtk/gui.c:244 msgid "_Player Name" msgstr "Nombre de _jugador" #. Tooltip for Player Name menu entry #: ../client/gtk/gui.c:246 msgid "Change your player name" msgstr "Cambiar tu nombre de jugador" #. Menu entry #: ../client/gtk/gui.c:249 msgid "L_egend" msgstr "L_eyenda" #. Tooltip for Legend menu entry #: ../client/gtk/gui.c:251 msgid "Terrain legend and building costs" msgstr "Leyenda de terreno y costos de construccion" #. Menu entry #: ../client/gtk/gui.c:254 msgid "_Game Settings" msgstr "_Ajustes de juego" #. Tooltip for Game Settings menu entry #: ../client/gtk/gui.c:256 msgid "Settings for the current game" msgstr "Ajustes del juego actual" #. Menu entry #: ../client/gtk/gui.c:259 msgid "_Dice Histogram" msgstr "_Histograma de los dados" #. Tooltip for Dice Histogram menu entry #: ../client/gtk/gui.c:261 msgid "Histogram of dice rolls" msgstr "Histograma de las tiradas" #. Menu entry #: ../client/gtk/gui.c:264 ../editor/gtk/editor.c:1759 ../server/gtk/main.c:103 msgid "_Quit" msgstr "_Salir" #. Tooltip for Quit menu entry #. Tooltop for Quit menu entry #: ../client/gtk/gui.c:266 ../server/gtk/main.c:105 msgid "Quit the program" msgstr "Salir del programa" #. Menu entry #: ../client/gtk/gui.c:269 msgid "_Actions" msgstr "_Acciones" #. Menu entry #: ../client/gtk/gui.c:272 msgid "Roll Dice" msgstr "Tirar los dados" #. Tooltip for Roll Dice menu entry #: ../client/gtk/gui.c:274 msgid "Roll the dice" msgstr "Tirar los dados" #. Menu entry #. Tooltip for Trade menu entry #. Tab page name #: ../client/gtk/gui.c:277 ../client/gtk/gui.c:279 ../client/gtk/gui.c:710 msgid "Trade" msgstr "Comercio" #. Menu entry #. Tooltip for Undo menu entry #: ../client/gtk/gui.c:283 ../client/gtk/gui.c:285 msgid "Undo" msgstr "Deshacer" #. Menu entry #. Tooltip for Finish menu entry #: ../client/gtk/gui.c:288 ../client/gtk/gui.c:290 msgid "Finish" msgstr "Terminar" #. Menu entry #: ../client/gtk/gui.c:293 ../client/gtk/legend.c:189 #: ../editor/gtk/game-buildings.c:10 msgid "Road" msgstr "Camino" #. Tooltip for Road menu entry #: ../client/gtk/gui.c:295 msgid "Build a road" msgstr "Construir camino" #. Menu entry #: ../client/gtk/gui.c:298 ../client/gtk/legend.c:193 #: ../editor/gtk/game-buildings.c:10 msgid "Ship" msgstr "Barco" #. Tooltip for Ship menu entry #: ../client/gtk/gui.c:300 msgid "Build a ship" msgstr "Construir un barco" #. Menu entry #: ../client/gtk/gui.c:303 msgid "Move Ship" msgstr "Quitar barco" #. Tooltip for Move Ship menu entry #: ../client/gtk/gui.c:305 msgid "Move a ship" msgstr "Quitar un barco" #. Menu entry #: ../client/gtk/gui.c:308 ../client/gtk/legend.c:196 #: ../editor/gtk/game-buildings.c:10 msgid "Bridge" msgstr "Puente" #. Tooltip for Bridge menu entry #: ../client/gtk/gui.c:310 msgid "Build a bridge" msgstr "Construir un puente" #. Menu entry #: ../client/gtk/gui.c:313 ../client/gtk/legend.c:198 ../client/gtk/player.c:52 #: ../editor/gtk/game-buildings.c:10 msgid "Settlement" msgstr "Asentamiento" #. Tooltip for Settlement menu entry #: ../client/gtk/gui.c:316 msgid "Build a settlement" msgstr "Construir un asentamiento" #. Menu entry #: ../client/gtk/gui.c:319 ../client/gtk/legend.c:199 ../client/gtk/player.c:53 #: ../editor/gtk/game-buildings.c:11 msgid "City" msgstr "Ciudad" #. Tooltip for City menu entry #: ../client/gtk/gui.c:321 msgid "Build a city" msgstr "Construir una ciudad" #. Menu entry #: ../client/gtk/gui.c:324 msgid "Develop" msgstr "Desarrollar" #. Tooltip for Develop menu entry #: ../client/gtk/gui.c:326 msgid "Buy a development card" msgstr "Comprar una carta de desarrollo" #. Menu entry #: ../client/gtk/gui.c:329 msgid "City Wall" msgstr "Muralla" #. Tooltip for City Wall menu entry #: ../client/gtk/gui.c:331 msgid "Build a city wall" msgstr "Construir un muro de ciudad" #. Menu entry #: ../client/gtk/gui.c:335 msgid "_Settings" msgstr "_Ajustes" #. Menu entry #: ../client/gtk/gui.c:338 msgid "Prefere_nces" msgstr "Prefere_ncias" #. Tooltip for Preferences menu entry #: ../client/gtk/gui.c:340 msgid "Configure the application" msgstr "Configurar aplicacion" #. Menu entry #: ../client/gtk/gui.c:344 ../editor/gtk/editor.c:1721 msgid "_View" msgstr "_Ver" #. Menu entry #: ../client/gtk/gui.c:347 ../editor/gtk/editor.c:1765 msgid "_Reset" msgstr "_Reiniciar" #. Tooltip for Reset menu entry #: ../client/gtk/gui.c:350 ../editor/gtk/editor.c:1768 msgid "View the full map" msgstr "Ver todo el mapa" #. Menu entry #: ../client/gtk/gui.c:353 ../editor/gtk/editor.c:1771 msgid "_Center" msgstr "_Centrar" #. Tooltip for Center menu entry #: ../client/gtk/gui.c:355 ../editor/gtk/editor.c:1773 msgid "Center the map" msgstr "Centrar el mapa" #. Menu entry #: ../client/gtk/gui.c:359 ../client/gtk/gui.c:368 ../editor/gtk/editor.c:1724 #: ../server/gtk/main.c:94 msgid "_Help" msgstr "A_yuda" #. Menu entry #: ../client/gtk/gui.c:362 msgid "_About Pioneers" msgstr "_Acerca de Pioneers" #. Tooltip for About Pioneers menu entry #: ../client/gtk/gui.c:364 msgid "Information about Pioneers" msgstr "Informacion acerca de Pioneers" #. Tooltip for Help menu entry #: ../client/gtk/gui.c:370 ../client/gtk/gui.c:1258 msgid "Show the manual" msgstr "Mostrar el manual" #. Menu entry #: ../client/gtk/gui.c:378 ../editor/gtk/editor.c:1791 msgid "_Fullscreen" msgstr "_Pantalla completa" #. Tooltip for Fullscreen menu entry #: ../client/gtk/gui.c:381 ../editor/gtk/editor.c:1794 msgid "Set window to full screen mode" msgstr "Cambiar a modo de pantalla completa" #. Menu entry #: ../client/gtk/gui.c:386 msgid "_Toolbar" msgstr "_Barra de herramientas" #. Tooltip for Toolbar menu entry #: ../client/gtk/gui.c:388 msgid "Show or hide the toolbar" msgstr "Muestre o esconder barra de herramientas" #. Victory points target in statusbar #: ../client/gtk/gui.c:491 #, c-format msgid "Points needed to win: %i" msgstr "Puntos necesarios para ganar: %i" #: ../client/gtk/gui.c:577 msgid "Messages" msgstr "Mensajes" #. Tab page name #: ../client/gtk/gui.c:703 ../editor/gtk/editor.c:1946 msgid "Map" msgstr "Mapa" #. Tooltip #: ../client/gtk/gui.c:712 msgid "Finish trading" msgstr "Terminar negocio" #. Tab page name #. Button text #: ../client/gtk/gui.c:722 ../client/gtk/quote.c:339 msgid "Quote" msgstr "Presupuestos" #. Tooltip #: ../client/gtk/gui.c:724 msgid "Reject domestic trade" msgstr "Rechazar Negocio Domestico" #. Tab page name #. Dialog caption #: ../client/gtk/gui.c:734 ../client/gtk/legend.c:249 msgid "Legend" msgstr "Leyenda" #. Tab page name, shown for the splash screen #: ../client/gtk/gui.c:744 msgid "Welcome to Pioneers" msgstr "Bienvenido al Pioneers" #. Caption of preferences dialog #: ../client/gtk/gui.c:1028 msgid "Pioneers Preferences" msgstr "Preferencias de Pioneers" #. Button text #: ../client/gtk/gui.c:1034 ../client/gtk/histogram.c:252 #: ../client/gtk/legend.c:253 ../client/gtk/settingscreen.c:413 msgid "_Close" msgstr "" #. Label for changing the theme, in the preferences dialog #: ../client/gtk/gui.c:1059 msgid "Theme:" msgstr "Tema:" #. Tooltip for changing the theme in the preferences dialog #: ../client/gtk/gui.c:1082 msgid "Choose one of the themes" msgstr "Escoger uno de los temas" #. Label for the option to show the legend #: ../client/gtk/gui.c:1086 msgid "Show legend" msgstr "Mostrar leyenda" #. Tooltip for the option to show the legend #: ../client/gtk/gui.c:1096 msgid "Show the legend as a page beside the map" msgstr "¿Mostrar la leyenda como una página junto al mapa?" #. Label for the option to display log messages in color #: ../client/gtk/gui.c:1101 msgid "Messages with color" msgstr "¿Usar colores en los mensajes?" #. Tooltip for the option to display log messages in color #: ../client/gtk/gui.c:1111 msgid "Show new messages with color" msgstr "¿Usar colores en los mensajes nuevos?" #. Label for the option to display chat in color of player #: ../client/gtk/gui.c:1116 msgid "Chat in color of player" msgstr "¿Charlar con el color del jugador?" #. Tooltip for the option to display chat in color of player #: ../client/gtk/gui.c:1127 msgid "Show new chat messages in the color of the player" msgstr "Mostrar nuevos mensajes de charla en el color del jugador" #. Label for the option to display the summary with colors #: ../client/gtk/gui.c:1132 msgid "Summary with color" msgstr "Resumen en color" #. Tooltip for the option to display the summary with colors #: ../client/gtk/gui.c:1143 msgid "Use colors in the player summary" msgstr "Usar color en el resumen del jugador" #. Label for the option to display keyboard accelerators in the toolbar #: ../client/gtk/gui.c:1148 msgid "Toolbar with shortcuts" msgstr "Barra de herramientas con acceso directo" #. Tooltip for the option to display keyboard accelerators in the toolbar #: ../client/gtk/gui.c:1158 msgid "Show keyboard shortcuts in the toolbar" msgstr "Mostrar accesos directos de teclado en barra de herramientas" #. Label for the option to disable all sounds #: ../client/gtk/gui.c:1164 msgid "Silent mode" msgstr "Modo silencioso" #. Tooltip for the option to disable all sounds #: ../client/gtk/gui.c:1170 msgid "In silent mode no sounds are made" msgstr "En modo de silencio, no se reproducen sonidos." #. Label for the option to announce when players/spectators enter #: ../client/gtk/gui.c:1176 msgid "Announce new players" msgstr "Anunciar nuevos jugadores" #. Tooltip for the option to use sound when players/spectators enter #: ../client/gtk/gui.c:1186 msgid "Make a sound when a new player or spectator enters the game" msgstr "" "Reproducir un sonido cuando un nuevo jugador o espectador entra en el juego" #. Label for the option to use the notifications. #: ../client/gtk/gui.c:1198 msgid "Show notifications" msgstr "Mostrar notificaciones" #. Tooltip for notifications option. #: ../client/gtk/gui.c:1208 msgid "Show notifications when it's your turn or when new trade is available" msgstr "" "Mostrar notificaciones cuando sea tu turno o cuando haya una oferta de " "comercio" #. Label for the option to use the 16:9 layout. #: ../client/gtk/gui.c:1214 msgid "Use 16:9 layout" msgstr "Usa un tema de 16:9" #. Tooltip for 16:9 option. #: ../client/gtk/gui.c:1224 msgid "Use a 16:9 friendly layout for the window" msgstr "Usar una disposición para la ventana de 16:9" #. Caption of about box #: ../client/gtk/gui.c:1233 msgid "About Pioneers" msgstr "Acerca de Pioneers" #. Initial text in status bar #: ../client/gtk/gui.c:1544 ../client/gtk/offline.c:107 msgid "Welcome to Pioneers!" msgstr "¡Bienvenido a Pioneers!" #. The name of the application #. Name of the application #: ../client/gtk/gui.c:1606 ../client/gtk/offline.c:209 #: ../client/gtk/pioneers.desktop.in.h:1 msgid "Pioneers" msgstr "Pioneers" #. Dialog caption #: ../client/gtk/histogram.c:248 msgid "Dice Histogram" msgstr "Histograma de los dados" #: ../client/gtk/interface.c:111 msgid "Ship movement canceled." msgstr "Movimiento de barco cancelado" #: ../client/gtk/interface.c:119 ../client/gtk/interface.c:120 msgid "Select a new location for the ship." msgstr "Seleccione una nueva locacion para el barco" #. Notification #: ../client/gtk/interface.c:919 msgid "It is your turn to setup." msgstr "" #: ../client/gtk/legend.c:34 msgid "Hill" msgstr "Colina" #: ../client/gtk/legend.c:35 msgid "Field" msgstr "Vega" #: ../client/gtk/legend.c:36 msgid "Mountain" msgstr "Montaña" #: ../client/gtk/legend.c:37 msgid "Pasture" msgstr "Pasto" #: ../client/gtk/legend.c:38 msgid "Forest" msgstr "Selva" #: ../client/gtk/legend.c:39 msgid "Desert" msgstr "Desierto" #: ../client/gtk/legend.c:40 msgid "Sea" msgstr "Mar" #. Label #: ../client/gtk/legend.c:132 msgid "Terrain yield" msgstr "Produccion de terreno" #. Label #: ../client/gtk/legend.c:165 msgid "Building costs" msgstr "Costes de construcción" #: ../client/gtk/legend.c:203 ../client/gtk/player.c:54 #: ../editor/gtk/game-buildings.c:11 msgid "City wall" msgstr "Muralla" #: ../client/gtk/legend.c:206 ../client/gtk/player.c:65 msgid "Development card" msgstr "Carta de desarrollo" #. Dialog caption #. Name of the development card #: ../client/gtk/monopoly.c:84 ../common/cards.c:86 msgid "Monopoly" msgstr "Monopolio" #. Label #: ../client/gtk/monopoly.c:106 msgid "Select the resource you wish to monopolize." msgstr "Escoge el recurso que quieres monopolizar." #. Dialog caption #: ../client/gtk/name.c:141 msgid "Change Player Name" msgstr "Cambiar tu nombre de jugador" #. Label #: ../client/gtk/name.c:172 msgid "Player name:" msgstr "Nombre de jugador:" #. Label: set player icon preferences #: ../client/gtk/name.c:234 msgid "Face:" msgstr "Cara:" #. Label: set player icon preferences #: ../client/gtk/name.c:250 msgid "Variant:" msgstr "Variante:" #: ../client/gtk/offline.c:61 msgid "Connect as a spectator" msgstr "Conectarse como un espectador" #: ../client/gtk/offline.c:64 msgid "Metaserver Host" msgstr "Meta-servidor del anfitrion" #: ../client/gtk/offline.c:78 msgid "Select a game to join." msgstr "Selecciona un juego para unirte." #: ../client/gtk/offline.c:94 msgid "Connecting" msgstr "Conectando" #. Long description in the commandline for pioneers: help #: ../client/gtk/offline.c:183 msgid "- Play a game of Pioneers" msgstr "- Jugar un juego de Pioneers" #: ../client/gtk/pioneers.desktop.in.h:2 msgid "Play a game of Pioneers" msgstr "Jugar al juego de los pioneros" #: ../client/gtk/pioneers.desktop.in.h:3 msgid "game;board;play;Pioneers;Settlers;" msgstr "" #: ../client/gtk/player.c:52 msgid "Settlements" msgstr "Asentamientos" #: ../client/gtk/player.c:53 msgid "Cities" msgstr "Ciudades" #: ../client/gtk/player.c:54 msgid "City walls" msgstr "Muros de la Ciudad" #: ../client/gtk/player.c:55 msgid "Largest army" msgstr "Ejército Mayor" #: ../client/gtk/player.c:56 msgid "Longest road" msgstr "Camino Más Largo" #. Name of the development card #: ../client/gtk/player.c:57 ../common/cards.c:92 msgid "Chapel" msgstr "Capilla" #: ../client/gtk/player.c:57 msgid "Chapels" msgstr "Capillas" #. Name of the development card #: ../client/gtk/player.c:58 ../common/cards.c:95 msgid "Pioneer university" msgstr "Universidad Pionera" #: ../client/gtk/player.c:58 msgid "Pioneer universities" msgstr "Universidades Pioneras" #. Name of the development card #: ../client/gtk/player.c:60 ../common/cards.c:98 msgid "Governor's house" msgstr "Palacio del Gobernador" #: ../client/gtk/player.c:60 msgid "Governor's houses" msgstr "Palacio del Gobernador" #. Name of the development card #: ../client/gtk/player.c:61 ../common/cards.c:101 msgid "Library" msgstr "Biblioteca" #: ../client/gtk/player.c:61 msgid "Libraries" msgstr "Biblioteca" #. Name of the development card #: ../client/gtk/player.c:62 ../common/cards.c:104 msgid "Market" msgstr "Mercado" #: ../client/gtk/player.c:62 msgid "Markets" msgstr "Mercados" #. Name of the development card #: ../client/gtk/player.c:63 ../common/cards.c:107 msgid "Soldier" msgstr "Soldado" #: ../client/gtk/player.c:63 msgid "Soldiers" msgstr "Soldados" #: ../client/gtk/player.c:64 msgid "Resource card" msgstr "Carta de recurso" #: ../client/gtk/player.c:64 msgid "Resource cards" msgstr "Cartas de recurso" #. Caption #: ../client/gtk/player.c:65 ../editor/gtk/editor.c:1305 msgid "Development cards" msgstr "Cartas de desarrollo" #. Caption for the overview of the points and card of other players #: ../client/gtk/player.c:559 msgid "Player summary" msgstr "Resumen de jugadores" #. Dialog caption #: ../client/gtk/plenty.c:61 msgid "Year of Plenty" msgstr "Año de Abundancia" #: ../client/gtk/plenty.c:92 msgid "Please choose one resource from the bank" msgstr "Por favor escoja un recurso del banco" #: ../client/gtk/plenty.c:95 msgid "Please choose two resources from the bank" msgstr "Por favor escoja dos recursos del banco" #: ../client/gtk/plenty.c:97 msgid "The bank is empty" msgstr "El banco esta vacio" #: ../client/gtk/quote.c:187 #, c-format msgid "%s has %s, and is looking for %s" msgstr "%s tiene %s y quiere %s" #. Notification #: ../client/gtk/quote.c:217 #, c-format msgid "New offer from %s." msgstr "Nueva oferta de %s." #. Notification #: ../client/gtk/quote.c:242 #, c-format msgid "Offer from %s." msgstr "Oferta de %s." #. Label #. Frame title, trade: I want to trade these resources #: ../client/gtk/quote.c:316 ../client/gtk/trade.c:524 msgid "I want" msgstr "Quiero..." #. Label #. Frame title, trade: I want these resources in return #: ../client/gtk/quote.c:326 ../client/gtk/trade.c:530 msgid "Give them" msgstr "Dales..." #. Button text #: ../client/gtk/quote.c:345 msgid "Delete" msgstr "Borrar" #. Button text #: ../client/gtk/quote.c:370 msgid "Reject Domestic Trade" msgstr "Rechazar Negocio Domestico" #. Now create columns #. Table header: Player who trades #. Role of the player: player #: ../client/gtk/quote-view.c:170 ../server/gtk/main.c:684 msgid "Player" msgstr "Jugador" #. Table header: Quote #: ../client/gtk/quote-view.c:185 msgid "Quotes" msgstr "Presupuestos" #. trade: maritime quote: %1 resources of type %2 for #. * one resource of type %3 #: ../client/gtk/quote-view.c:303 #, c-format msgid "%d:1 %s for %s" msgstr "%d:1 %s por %s" #. Trade: a player has rejected trade #: ../client/gtk/quote-view.c:442 msgid "Rejected trade" msgstr "Negocio rechazado" #. Caption for overview of the resources of the player #: ../client/gtk/resource.c:71 msgid "Resources" msgstr "Recursos" #. Label #: ../client/gtk/resource.c:86 msgid "Total" msgstr "Total" #. Tooltip for the amount of resources in the hand #: ../client/gtk/resource-table.c:180 msgid "Amount in hand" msgstr "Cartas de recurso en mano" #. Button for decreasing the selected amount #: ../client/gtk/resource-table.c:185 msgid "" msgstr "más>" #. Tooltip for increasing the selected amount #: ../client/gtk/resource-table.c:226 msgid "Increase the selected amount" msgstr "Incrementar la cantidad seleccionada" #. Tooltip for the selected amount #: ../client/gtk/resource-table.c:243 msgid "Selected amount" msgstr "Cantidad seleccionada" #. Tooltip for the total selected amount #: ../client/gtk/resource-table.c:288 msgid "Total selected amount" msgstr "Cantidad seleccionada total" #. Tooltip when the bank cannot be emptied #: ../client/gtk/resource-table.c:307 msgid "The bank cannot be emptied" msgstr "El banco no se puede vaciar" #: ../client/gtk/settingscreen.c:74 msgid "Yes" msgstr "Sí" #: ../client/gtk/settingscreen.c:76 ../client/gtk/settingscreen.c:240 msgid "No" msgstr "No" #: ../client/gtk/settingscreen.c:87 ../client/gtk/settingscreen.c:187 msgid "Unknown" msgstr "Desconocido" #: ../client/gtk/settingscreen.c:121 msgid "No game in progress..." msgstr "No hay juego en proceso" #. Label #: ../client/gtk/settingscreen.c:132 msgid "General settings" msgstr "Ajuste general" #: ../client/gtk/settingscreen.c:149 msgid "Number of players:" msgstr "Número de jugadores:" #: ../client/gtk/settingscreen.c:153 msgid "Victory point target:" msgstr "Punto de victoria:" #: ../client/gtk/settingscreen.c:157 msgid "Random terrain:" msgstr "Terreno Aleatorio:" #: ../client/gtk/settingscreen.c:161 msgid "Allow trade between players:" msgstr "Permitir comerciar entre jugadores:" #: ../client/gtk/settingscreen.c:166 msgid "Allow trade only before building or buying:" msgstr "Permitir comerciar sólo antes de construir o comprar:" #: ../client/gtk/settingscreen.c:171 msgid "Check victory only at end of turn:" msgstr "Revisar por victoria únicamente al fin del turno" #: ../client/gtk/settingscreen.c:176 msgid "Amount of each resource:" msgstr "Cantidad de cada recurso:" #: ../client/gtk/settingscreen.c:190 msgid "Sevens rule:" msgstr "Regla de los sietes:" #: ../client/gtk/settingscreen.c:196 msgid "Use dice deck instead of dice:" msgstr "" #: ../client/gtk/settingscreen.c:201 #, fuzzy msgid "Number of dice decks:" msgstr "Número de jugadores:" #: ../client/gtk/settingscreen.c:207 msgid "Number of dice cards removed after shuffling:" msgstr "" #: ../client/gtk/settingscreen.c:214 msgid "Use the pirate to block ships:" msgstr "Usa al pirata para bloquear barcos:" #: ../client/gtk/settingscreen.c:243 msgid "Island discovery bonuses:" msgstr "Bonificaciones por descubrimiento de islas:" #. Label #: ../client/gtk/settingscreen.c:260 msgid "Building quotas" msgstr "Costes de construcción" #: ../client/gtk/settingscreen.c:277 msgid "Roads:" msgstr "Caminos:" #: ../client/gtk/settingscreen.c:283 msgid "Settlements:" msgstr "Asentamientos:" #: ../client/gtk/settingscreen.c:289 msgid "Cities:" msgstr "Ciudades:" #: ../client/gtk/settingscreen.c:295 msgid "City walls:" msgstr "Muros de la Ciudad:" #: ../client/gtk/settingscreen.c:301 msgid "Ships:" msgstr "Barcos:" #: ../client/gtk/settingscreen.c:307 msgid "Bridges:" msgstr "Puentes:" #. Label #: ../client/gtk/settingscreen.c:320 msgid "Development card deck" msgstr "Cartas de desarrollo" #: ../client/gtk/settingscreen.c:336 msgid "Road building cards:" msgstr "Cartas de construir caminos:" #: ../client/gtk/settingscreen.c:340 msgid "Monopoly cards:" msgstr "Cartas de monopolio:" #: ../client/gtk/settingscreen.c:344 msgid "Year of plenty cards:" msgstr "Cartas de año de abundancia:" #: ../client/gtk/settingscreen.c:348 msgid "Chapel cards:" msgstr "Cartas de capilla:" #: ../client/gtk/settingscreen.c:352 msgid "Pioneer university cards:" msgstr "Cartas Universidad de Pioneers:" #: ../client/gtk/settingscreen.c:356 msgid "Governor's house cards:" msgstr "Cartas Palacio del Gobernador:" #: ../client/gtk/settingscreen.c:360 msgid "Library cards:" msgstr "Cartas de biblioteca:" #: ../client/gtk/settingscreen.c:364 msgid "Market cards:" msgstr "Cartas de mercado:" #: ../client/gtk/settingscreen.c:368 msgid "Soldier cards:" msgstr "Cartas de soldado:" #. Dialog caption #: ../client/gtk/settingscreen.c:407 msgid "Current Game Settings" msgstr "Ajusted de juego actual" #. trade: you ask for something for free #: ../client/gtk/trade.c:205 #, c-format msgid "ask for %s for free" msgstr "pide %s gratis" #. trade: you give something away for free #: ../client/gtk/trade.c:210 #, c-format msgid "give %s for free" msgstr "ofrece %s gratis" #. trade: you trade something for something else #: ../client/gtk/trade.c:215 #, c-format msgid "give %s for %s" msgstr "ofrece %s por %s" #. I want some resources, and give them some resources #: ../client/gtk/trade.c:242 #, c-format msgid "I want %s, and give them %s" msgstr "Quiero %s, y darles %s" #. Notification #: ../client/gtk/trade.c:348 #, c-format msgid "Quote received from %s." msgstr "Cita recibida de %s." #. Button text, trade: call for quotes from other players #: ../client/gtk/trade.c:539 msgid "_Call for Quotes" msgstr "Pedir presupuestos" #. Button text: Trade page, accept selected quote #: ../client/gtk/trade.c:568 msgid "_Accept Quote" msgstr "_Aceptar presupuesto" #. Button text: Trade page, finish trading #: ../client/gtk/trade.c:574 msgid "_Finish Trading" msgstr "Terminar negocio" #. Name of the development card #: ../common/cards.c:83 msgid "Road building" msgstr "Construcción de caminos" #. Name of the development card #: ../common/cards.c:89 msgid "Year of plenty" msgstr "Año de Abundancia" #. Description of the 'Road Building' development card #: ../common/cards.c:118 msgid "Build two new roads" msgstr "Construir dos caminos nuevos" #. Description of the 'Monopoly' development card #: ../common/cards.c:121 msgid "" "Select a resource type and take every card of that type held by all other " "players" msgstr "Escoger un tipo de recurso y tomar todo de lo mismo de todos jugadores" #. Description of the 'Year of Plenty' development card #: ../common/cards.c:125 msgid "" "Take two resource cards of any type from the bank (cards may be of the same " "or different types)" msgstr "" "Tomar dos cartas de recurso del banco de cualquier tipo (las pueden ser " "iguales or diferentes)" #. Description of a development card of 1 victory point #: ../common/cards.c:134 msgid "One victory point" msgstr "Un punto de victoria" #. Description of the 'Soldier' development card #: ../common/cards.c:137 msgid "" "Move the robber to a different space and take one resource card from another " "player adjacent to that space" msgstr "" "Mover el ladrón al espacio diferente y robar una carta de recurso del otro " "jugador que está adyacente a ese espacio" #: ../common/game.c:523 #, c-format msgid "Obsolete rule: '%s'\n" msgstr "Regla obsoleta : '%s'\n" #: ../common/game.c:530 #, c-format msgid "" "The game uses the new rule '%s', which is not yet supported. Consider " "upgrading.\n" msgstr "" #: ../common/game.c:924 ../common/game.c:955 msgid "This game cannot be won." msgstr "Este juego no se puede ganar." #: ../common/game.c:925 msgid "There is no land." msgstr "No hay tierra" #: ../common/game.c:959 msgid "It is possible that this game cannot be won." msgstr "Es posible que este juego no pueda ser ganado." #: ../common/game.c:965 msgid "This game can be won by only building all settlements and cities." msgstr "" "Este juego puede ser ganado con solo construir todos los asentamientos y " "ciudades." #: ../common/game.c:971 #, fuzzy, c-format msgid "" "Required victory points: %d\n" "Points obtained by building all: %d\n" "Points in development cards: %u\n" "Longest road/largest army: %d+%d\n" "Maximum island discovery bonus: %d\n" "Total: %d" msgstr "" "Puntos de victoria necesarios: %d\n" "Puntos obtenidos por construcciones: %d\n" "Puntos al desarrollar cartas: %d\n" "Carretera más larga/Ejército más grande: %d+%d\n" "Bonificación máxima por descubrimiento de islas: %d\n" "Total: %d" #: ../common/game-list.c:111 #, c-format msgid "Looking for games in '%s'\n" msgstr "Buscando juegos en '%s'\n" #: ../common/game-list.c:113 #, c-format msgid "Game directory '%s' not found\n" msgstr "Directorio de juegos '%s' no encontrado\n" #: ../common/game-list.c:131 #, fuzzy, c-format msgid "Unable to load game: '%s'\n" msgstr "Falla al bajar '%s'" #: ../common/game-list.c:151 #, fuzzy msgid "No games available\n" msgstr "Lo siento, %s disponible.\n" #: ../common/gtk/aboutbox.c:53 msgid "" "Pioneers is based upon the excellent\n" "Settlers of Catan board game.\n" msgstr "" "Pioneers está basado en el excelente\n" "juego de mesa 'Los fundadores de Catán'.\n" # #. Translators: add your name here. Keep the list #. * alphabetically, do not remove any names, and add #. * \n after your name (except the last name). #. #: ../common/gtk/aboutbox.c:63 msgid "translator-credits" msgstr "" "Marco Antonio Giraldo\n" "Michael Wiktowy\n" "Launchpad Contributions:\n" " Adolfo Jayme Barrientos https://launchpad.net/~fitoschido\n" " Braxton Schafer https://launchpad.net/~braxton-schafer\n" " DiegoJ https://launchpad.net/~diegojromerolopez\n" " Eduardo Alberto Calvo https://launchpad.net/~edu5800\n" " Eduardo Ruiz https://launchpad.net/~eduardo-ruizcarrillo\n" " Felipe Hommen https://launchpad.net/~felibank\n" " José A. Fuentes Santiago https://launchpad.net/~joanfusan\n" " Kiibakun https://launchpad.net/~kiba\n" " Marco Antonio Giraldo https://launchpad.net/~m-a-giraldo\n" " skarevoluti https://launchpad.net/~skarevoluti" #. Caption for result of checking victory points #: ../common/gtk/common_gtk.c:324 msgid "Victory Point Analysis" msgstr "Análisis de Punto de Victoria" #. Tooltip for sevens rule normal #: ../common/gtk/game-rules.c:110 msgid "All sevens move the robber or pirate" msgstr "Todos los 7 quitan el ladron o pirata" #. Tooltip for sevens rule reroll on 1st 2 turns #: ../common/gtk/game-rules.c:114 msgid "In the first two turns all sevens are rerolled" msgstr "En los primeros dos turnos todos los 7 se tiran de nuevo" #. Tooltip for sevens rule reroll all #: ../common/gtk/game-rules.c:118 msgid "All sevens are rerolled" msgstr "Todos los 7 se tiran de nuevo" #: ../common/gtk/game-rules.c:129 msgid "Randomize terrain" msgstr "Hacer aleatorio el terreno" #: ../common/gtk/game-rules.c:129 msgid "Randomize the terrain" msgstr "Hacer aleatorio el terreno" #: ../common/gtk/game-rules.c:132 msgid "Use pirate" msgstr "Use Pirata" #: ../common/gtk/game-rules.c:133 msgid "Use the pirate to block ships" msgstr "Usa al pirata para bloquear barcos" #: ../common/gtk/game-rules.c:135 msgid "Strict trade" msgstr "Negocio riguroso" #: ../common/gtk/game-rules.c:136 msgid "Allow trade only before building or buying" msgstr "Permitir comerciar sólo antes de construir o comprar" #: ../common/gtk/game-rules.c:138 msgid "Domestic trade" msgstr "Negocio local" #: ../common/gtk/game-rules.c:139 msgid "Allow trade between players" msgstr "Permitir comerciar entre jugadores" #: ../common/gtk/game-rules.c:141 msgid "Victory at end of turn" msgstr "Victoria al terminar el turno" #: ../common/gtk/game-rules.c:142 msgid "Check for victory only at end of turn" msgstr "Revisa la victoria únicamente al fin del turno" #: ../common/gtk/game-rules.c:145 msgid "Use dice deck" msgstr "" #: ../common/gtk/game-rules.c:147 msgid "Use a deck of 36 dice cards instead of real dice" msgstr "" #. Label #: ../common/gtk/game-rules.c:155 #, fuzzy msgid "Number of dice decks" msgstr "Número de jugadores de la computador" #: ../common/gtk/game-rules.c:172 msgid "The number of dice decks (of 36 cards each)" msgstr "" #. Label #: ../common/gtk/game-rules.c:180 msgid "Number of removed dice cards" msgstr "" #: ../common/gtk/game-rules.c:199 msgid "The number of dice cards that are removed after shuffling the deck" msgstr "" #. Label #: ../common/gtk/game-rules.c:207 msgid "Island discovery bonuses" msgstr "Bonificaciones por descubrimiento de islas" #. Tooltip for island bonus #: ../common/gtk/game-rules.c:219 msgid "A comma separated list of bonus points for discovering islands" msgstr "" #. Tooltip for the check button #: ../common/gtk/game-rules.c:237 msgid "Check and correct island discovery bonuses" msgstr "" #. Label text for customising a game #: ../common/gtk/game-settings.c:105 msgid "Number of players" msgstr "Número de jugadores" #. Tooltip for 'Number of Players' #: ../common/gtk/game-settings.c:124 msgid "The number of players" msgstr "Número de jugadores" #. Label for customising a game #: ../common/gtk/game-settings.c:127 msgid "Victory point target" msgstr "Punto de victoria" #. Tooltip for Victory Point Target #: ../common/gtk/game-settings.c:147 msgid "The points needed to win the game" msgstr "Puntos necesarios para ganar el juego" #. Tooltip for the check button #: ../common/gtk/game-settings.c:161 msgid "Is it possible to win this game?" msgstr "¿Se puede ganar este juego?" #. Port indicator for a resource: trade 2 for 1 #: ../common/gtk/guimap.c:742 msgid "2:1" msgstr "2:1" #. Port indicator: trade 3 for 1 #. General port indicator #: ../common/gtk/guimap.c:745 ../common/gtk/guimap.c:770 msgid "3:1" msgstr "3:1" #. Port indicator for brick #: ../common/gtk/guimap.c:750 msgid "Brick port|B" msgstr "Ld" #. Port indicator for grain #: ../common/gtk/guimap.c:754 msgid "Grain port|G" msgstr "C" #. Port indicator for ore #: ../common/gtk/guimap.c:758 msgid "Ore port|O" msgstr "Mi" #. Port indicator for wool #: ../common/gtk/guimap.c:762 msgid "Wool port|W" msgstr "Ln" #. Port indicator for lumber #: ../common/gtk/guimap.c:766 msgid "Lumber port|L" msgstr "Ma" #. Tooltip for the list of metaservers #: ../common/gtk/metaserver.c:85 msgid "Select a metaserver" msgstr "Seleccionar un meta-servidor" #. Tooltip for the list of games #: ../common/gtk/select-game.c:135 msgid "Select a game" msgstr "Seleccione un juego" #. Log prefix #: ../common/log.c:58 msgid "*ERROR* " msgstr "*ERROR* " #. Log prefix #: ../common/log.c:66 msgid "Chat: " msgstr "Charlar: " #. Log prefix #: ../common/log.c:70 msgid "Resource: " msgstr "Recursos: " #. Log prefix #: ../common/log.c:74 msgid "Build: " msgstr "Construir: " #. Log prefix #: ../common/log.c:78 msgid "Dice: " msgstr "Dados: " #. Log prefix #: ../common/log.c:82 msgid "Steal: " msgstr "Robar: " #. Log prefix #: ../common/log.c:86 msgid "Trade: " msgstr "Comercio: " #. Log prefix #: ../common/log.c:90 msgid "Development: " msgstr "Desarrollo: " #. Log prefix #: ../common/log.c:94 msgid "Army: " msgstr "Ejercito: " #. Log prefix #: ../common/log.c:98 msgid "Road: " msgstr "Camino: " #. Log prefix #: ../common/log.c:102 msgid "*BEEP* " msgstr "*PITO* " #. Log prefix #: ../common/log.c:108 msgid "Player 1: " msgstr "Jugador 1: " #. Log prefix #: ../common/log.c:112 msgid "Player 2: " msgstr "Jugador 2: " #. Log prefix #: ../common/log.c:116 msgid "Player 3: " msgstr "Jugador 3: " #. Log prefix #: ../common/log.c:120 msgid "Player 4: " msgstr "Jugador 4: " #. Log prefix #: ../common/log.c:124 msgid "Player 5: " msgstr "Jugador 5: " #. Log prefix #: ../common/log.c:128 msgid "Player 6: " msgstr "Jugador 6: " #. Log prefix #: ../common/log.c:132 msgid "Player 7: " msgstr "Jugador 7: " #. Log prefix #: ../common/log.c:136 msgid "Player 8: " msgstr "Jugador 8: " #. Log prefix #: ../common/log.c:140 msgid "Spectator: " msgstr "Espectador: " #. Log prefix #: ../common/log.c:144 msgid "** UNKNOWN MESSAGE TYPE ** " msgstr "** TIPO DE MENSAJE DESCONOCIDO ** " #: ../common/network.c:143 #, c-format msgid "Error writing to socket: %s\n" msgstr "error escribiendo conector: %s\n" #: ../common/network.c:154 msgid "Could not send all data\n" msgstr "" #: ../common/network.c:202 msgid "Read buffer overflow - disconnecting\n" msgstr "Leer buffer sobreflujo - desconectando\n" #: ../common/network.c:226 #, c-format msgid "Error reading socket: %s\n" msgstr "Error leyendo conector: %s\n" #: ../common/network.c:378 #, fuzzy, c-format msgid "Error connecting to %s: %s\n" msgstr "Error conectando a %s: %s\n" #: ../common/network.c:566 ../common/network.c:567 msgid "unknown" msgstr "Desconocido" #: ../common/state.c:203 #, c-format msgid "Connecting to %s, port %s\n" msgstr "Conectando a %s, puerto %s\n" #. Error message #: ../common/state.c:333 msgid "State stack overflow. Stack dump sent to standard error.\n" msgstr "State stack overflow. Stack dump sent to standard error.\n" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:113 msgid "_Hill" msgstr "_Colina" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:115 msgid "_Field" msgstr "_Siembra" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:117 msgid "_Mountain" msgstr "_Montaña" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:119 msgid "_Pasture" msgstr "_Pasto" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:121 msgid "F_orest" msgstr "_Bosque" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:123 msgid "_Desert" msgstr "_Desierto" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:125 msgid "_Sea" msgstr "M_ar" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:127 msgid "_Gold" msgstr "_Oro" #. Use an unique shortcut key for each resource #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:129 ../editor/gtk/editor.c:144 msgid "_None" msgstr "_Ninguno" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:134 msgid "_Brick (2:1)" msgstr "La_drillo (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:136 msgid "_Grain (2:1)" msgstr "_Cereales (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:138 msgid "_Ore (2:1)" msgstr "Mine_rales (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:140 msgid "_Wool (2:1)" msgstr "_Lana (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:142 msgid "_Lumber (2:1)" msgstr "_Madera (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:146 msgid "_Any (3:1)" msgstr "Cualquiera (_3:1)" #. East #: ../editor/gtk/editor.c:151 msgid "East|E" msgstr "E" #. North east #: ../editor/gtk/editor.c:153 msgid "North East|NE" msgstr "NE" #. North west #: ../editor/gtk/editor.c:155 msgid "North West|NW" msgstr "NO" #. West #: ../editor/gtk/editor.c:157 msgid "West|W" msgstr "O" #. South west #: ../editor/gtk/editor.c:159 msgid "South West|SW" msgstr "SO" #. South east #: ../editor/gtk/editor.c:161 msgid "South East|SE" msgstr "SE" #: ../editor/gtk/editor.c:368 msgid "Place a hill hex" msgstr "" #: ../editor/gtk/editor.c:369 msgid "Place a field hex" msgstr "" #: ../editor/gtk/editor.c:370 msgid "Place a mountain hex" msgstr "" #: ../editor/gtk/editor.c:371 msgid "Place a pasture hex" msgstr "" #: ../editor/gtk/editor.c:372 msgid "Place a forest hex" msgstr "" #: ../editor/gtk/editor.c:373 msgid "Place a desert hex" msgstr "" #: ../editor/gtk/editor.c:374 msgid "Place a sea hex" msgstr "" #: ../editor/gtk/editor.c:375 msgid "Place a gold hex" msgstr "" #: ../editor/gtk/editor.c:376 msgid "Clear the hex" msgstr "" #: ../editor/gtk/editor.c:384 msgid "Place a 2 chit" msgstr "" #: ../editor/gtk/editor.c:385 msgid "Place a 3 chit" msgstr "" #: ../editor/gtk/editor.c:386 msgid "Place a 4 chit" msgstr "" #: ../editor/gtk/editor.c:387 msgid "Place a 5 chit" msgstr "" #: ../editor/gtk/editor.c:388 msgid "Place a 6 chit" msgstr "" #: ../editor/gtk/editor.c:390 msgid "Place an 8 chit" msgstr "" #: ../editor/gtk/editor.c:391 msgid "Place a 9 chit" msgstr "" #: ../editor/gtk/editor.c:392 msgid "Place a 10 chit" msgstr "" #: ../editor/gtk/editor.c:393 msgid "Place an 11 chit" msgstr "" #: ../editor/gtk/editor.c:394 msgid "Place a 12 chit" msgstr "" #: ../editor/gtk/editor.c:400 msgid "Place a brick 2:1 port" msgstr "" #: ../editor/gtk/editor.c:401 msgid "Place a grain 2:1 port" msgstr "" #: ../editor/gtk/editor.c:402 msgid "Place an ore 2:1 port" msgstr "" #: ../editor/gtk/editor.c:403 msgid "Place a wool 2:1 port" msgstr "" #: ../editor/gtk/editor.c:404 msgid "Place a lumber 2:1 port" msgstr "" #. Tooltip to remove a port tile in the editor #: ../editor/gtk/editor.c:406 #, fuzzy msgid "Remove a port" msgstr "Puerto" #: ../editor/gtk/editor.c:407 msgid "Place a 3:1 port" msgstr "" #: ../editor/gtk/editor.c:437 msgid "" "Select the terrain type with the context menu on the left click or toggle a " "node to exclude it from being used during the setup phase" msgstr "" #: ../editor/gtk/editor.c:572 msgid "Insert a row" msgstr "Insertar una línea" #: ../editor/gtk/editor.c:573 msgid "Delete a row" msgstr "Borrar una línea" #: ../editor/gtk/editor.c:574 msgid "Insert a column" msgstr "Insertar una columna" #: ../editor/gtk/editor.c:575 msgid "Delete a column" msgstr "Borrar una columna" #. Label #: ../editor/gtk/editor.c:978 #, fuzzy msgid "_Title" msgstr "_Cambiar título" #. Label #: ../editor/gtk/editor.c:991 #, fuzzy msgid "_Description" msgstr "_Desierto" #. Label #: ../editor/gtk/editor.c:1009 #, fuzzy msgid "_Comments" msgstr "Comentarios" #. Menu item #: ../editor/gtk/editor.c:1139 msgid "Shuffle" msgstr "Desordenar" #. Caption #. Game settings frame #: ../editor/gtk/editor.c:1294 ../server/gtk/main.c:968 msgid "Game parameters" msgstr "Parametros de juego" #. Caption #. Rules frame #: ../editor/gtk/editor.c:1297 ../server/gtk/main.c:983 msgid "Rules" msgstr "Reglas" #. Caption #: ../editor/gtk/editor.c:1299 msgid "Resources" msgstr "Recursos" #. Caption #: ../editor/gtk/editor.c:1302 msgid "Buildings" msgstr "Construcciones" #. The game in the editor does not have a name yet #: ../editor/gtk/editor.c:1319 msgid "Untitled" msgstr "" #. Application caption #: ../editor/gtk/editor.c:1324 ../editor/gtk/pioneers-editor.desktop.in.h:1 msgid "Pioneers Editor" msgstr "Editos de Pioneers" #: ../editor/gtk/editor.c:1434 #, c-format msgid "Failed to load '%s'" msgstr "Falla al bajar '%s'" #: ../editor/gtk/editor.c:1482 #, c-format msgid "Failed to save to '%s'" msgstr "Falla al salvar a '%s'" #. Name of the file filter: show only games #: ../editor/gtk/editor.c:1499 msgid "Games" msgstr "Juegos" #. Name of the file filter: show all files #: ../editor/gtk/editor.c:1505 msgid "Unfiltered" msgstr "Sin filtrar" #. Dialog caption #: ../editor/gtk/editor.c:1517 msgid "Open Game" msgstr "Juego abierto" #. Button text #: ../editor/gtk/editor.c:1524 #, fuzzy msgid "_Open" msgstr "_Abrir" #. Dialog caption #: ../editor/gtk/editor.c:1558 msgid "Save As..." msgstr "Grabar como..." #. Button text #: ../editor/gtk/editor.c:1565 #, fuzzy msgid "Save _As" msgstr "Grabar _como..." #. Dialog caption #: ../editor/gtk/editor.c:1606 msgid "Change Title" msgstr "Cambiar titulo" #. Label #: ../editor/gtk/editor.c:1631 msgid "New title:" msgstr "Nuevo titulo:" #. Caption of about box #: ../editor/gtk/editor.c:1688 msgid "About Pioneers Game Editor" msgstr "Acerca de Editor de Pioneers" #. Menu entry #: ../editor/gtk/editor.c:1718 msgid "_File" msgstr "_Archivo" #. Menu entry #: ../editor/gtk/editor.c:1728 msgid "_New" msgstr "_Nuevo" #: ../editor/gtk/editor.c:1729 msgid "Create a new game" msgstr "Crear un nuevo juego" #. Menu entry #: ../editor/gtk/editor.c:1732 msgid "_Open..." msgstr "_Abrir" #. Tooltip for Open menu entry #: ../editor/gtk/editor.c:1734 msgid "Open an existing game" msgstr "Abrir un juego existente" #. Menu entry #: ../editor/gtk/editor.c:1737 msgid "_Save" msgstr "_Grabar" #. Tooltip for Save menu entry #: ../editor/gtk/editor.c:1739 msgid "Save game" msgstr "Grabar juego" #. Menu entry #: ../editor/gtk/editor.c:1742 msgid "Save _As..." msgstr "Grabar _como..." #. Tooltip for Save As menu entry #: ../editor/gtk/editor.c:1745 msgid "Save as" msgstr "Guardar como" #. Menu entry #: ../editor/gtk/editor.c:1748 #, fuzzy msgid "Change _Title" msgstr "Cambiar titulo" #. Tooltip for Change Title menu entry #: ../editor/gtk/editor.c:1750 msgid "Change game title" msgstr "Cambiar título del juego" #. Menu entry #: ../editor/gtk/editor.c:1753 ../server/gtk/main.c:97 msgid "_Check Victory Point Target" msgstr "_Comprueba el objetivo de puntos de victoria" #. Tooltip for Check Victory Point Target menu entry #. Tooltop for Check Victory Point Target menu entry #: ../editor/gtk/editor.c:1756 ../server/gtk/main.c:100 msgid "Check whether the game can be won" msgstr "Comprueba cuando puede ganarse el juego" #. Tooltip for Quit menu entry #: ../editor/gtk/editor.c:1761 msgid "Quit" msgstr "Salir" #. Menu entry #: ../editor/gtk/editor.c:1783 msgid "_About Pioneers Editor" msgstr "_Acerca de Editor de Pioneers" #. Tooltip for About Pioneers Editor menu entry #: ../editor/gtk/editor.c:1785 msgid "Information about Pioneers Editor" msgstr "Informacion acerca de Editor de Pioneers" #. Long help for commandline option (editor): filename #: ../editor/gtk/editor.c:1838 msgid "Open this file" msgstr "Abrir este archivo" #. Commandline option for editor: filename #. Commandline metaserver: pidfile argument #: ../editor/gtk/editor.c:1840 ../metaserver/main.c:615 msgid "filename" msgstr "Nombre de archivo" #. Long description in the command line: --help #: ../editor/gtk/editor.c:1877 msgid "- Editor for games of Pioneers" msgstr "- Editor para juegos de Pioneers" #. Error message #: ../editor/gtk/editor.c:1921 ../server/gtk/main.c:1256 #, c-format msgid "Building menus failed: %s" msgstr "Construcción menus fallida: %s" #. Tab page name #: ../editor/gtk/editor.c:1951 msgid "Settings" msgstr "Ajustes" #. Tab page name #: ../editor/gtk/editor.c:1954 msgid "Comments" msgstr "Comentarios" #: ../editor/gtk/game-resources.c:48 msgid "Resource count" msgstr "Cuenta de Recursos" #: ../editor/gtk/pioneers-editor.desktop.in.h:2 msgid "Create your own game for Pioneers" msgstr "Crea tu propio juego para Pioneers" #: ../editor/gtk/pioneers-editor.desktop.in.h:3 msgid "game;board;create;edit;layout;Pioneers;Settlers;" msgstr "" #. Commandline metaserver: daemon #: ../metaserver/main.c:610 msgid "Daemonize the metaserver on start" msgstr "Daemonizar el metaservidor al iniciar" #. Commandline metaserver: pidfile #: ../metaserver/main.c:613 msgid "Pidfile to create when daemonizing (implies -d)" msgstr "Archivo PID a crear al daemonizar (implica -d)" #. Commandline metaserver: redirect #: ../metaserver/main.c:618 msgid "Redirect clients to another metaserver" msgstr "Redirigir clientes a otro metaservidor" #. Commandline metaserver: server #: ../metaserver/main.c:621 msgid "Use this hostname when creating new games" msgstr "Usar este nombre de servidor al crear nuevas partidas" #. Commandline metaserver: server argument #: ../metaserver/main.c:623 msgid "hostname" msgstr "nombre de servidor" #. Commandline metaserver: port-range #: ../metaserver/main.c:626 msgid "Use this port range when creating new games" msgstr "Usa este rango de puertos cuando estés creando nuevos juegos" #. Commandline metaserver: port-range argument #: ../metaserver/main.c:628 msgid "from-to" msgstr "de-para" #. Commandline option of metaserver: syslog-debug #: ../metaserver/main.c:634 msgid "Debug syslog messages" msgstr "Depurar mensajes del log de sistema" #. Long description in the commandline for metaserver: help #: ../metaserver/main.c:675 msgid "- Metaserver for Pioneers" msgstr "- Meta Servidor para Pioneers" #: ../metaserver/main.c:691 #, c-format msgid "metaserver protocol:" msgstr "protocolo del metaservidor:" #: ../server/avahi.c:68 msgid "Avahi registration successful.\n" msgstr "Registro de Avahi fue un éxito.\n" #: ../server/avahi.c:78 #, c-format msgid "Avahi service name collision, renaming service to '%s'.\n" msgstr "" "Los nombres del servicio de Avahi conflicto, el nombre del servicio esta " "cambiando a '%s'.\n" #. Some kind of failure happened while we were registering #: ../server/avahi.c:89 #, c-format msgid "Avahi error: %s\n" msgstr "Avahi error: %s\n" #: ../server/avahi.c:113 ../server/avahi.c:145 ../server/avahi.c:155 #: ../server/avahi.c:191 ../server/avahi.c:212 ../server/avahi.c:226 #, c-format msgid "Avahi error: %s, %s\n" msgstr "Avahi error: %s, %s\n" #: ../server/avahi.c:213 ../server/avahi.c:227 msgid "Unable to register Avahi server" msgstr "No lo puede registrar el servidor Avahi" #: ../server/avahi.c:260 msgid "Unregistering Avahi.\n" msgstr "Anulando el registro Avahi.\n" #. Menu entry #: ../server/gtk/main.c:108 msgid "_About Pioneers Server" msgstr "_Acerca del Servidor Pioneers" #. Tooltop for About Pioneers Server menu entry #: ../server/gtk/main.c:110 msgid "Information about Pioneers Server" msgstr "Información del Servidor Pioneers" #: ../server/gtk/main.c:234 msgid "Stop Server" msgstr "Parar servidor" #: ../server/gtk/main.c:235 msgid "Start Server" msgstr "Iniciar servidor" #: ../server/gtk/main.c:237 ../server/gtk/main.c:996 msgid "Stop the server" msgstr "Parar el servidor" #: ../server/gtk/main.c:238 msgid "Start the server" msgstr "Comience el servidor" #: ../server/gtk/main.c:395 #, c-format msgid "Player %s from %s entered\n" msgstr "Jugador %s de %s ha entrado\n" #: ../server/gtk/main.c:402 #, c-format msgid "Player %s from %s left\n" msgstr "Jugador %s de %s se ha ido\n" #: ../server/gtk/main.c:409 #, c-format msgid "Player %d is now %s\n" msgstr "Jugador %d es ahora %s\n" #: ../server/gtk/main.c:570 msgid "The port for the game server" msgstr "El puerto para el servidor el juego" #. register_toggle #: ../server/gtk/main.c:579 msgid "Register server" msgstr "Hacer incribirse el servidor" #: ../server/gtk/main.c:587 msgid "Register this game at the metaserver" msgstr "Registrar este juego en el Meta-servidor" #. hostname label #: ../server/gtk/main.c:618 msgid "Reported hostname" msgstr "Nombre de Anfitrión Reportado" #: ../server/gtk/main.c:633 msgid "" "The public name of this computer (needed when playing behind a firewall)" msgstr "" "El nombre público de este computador (necesario cuando se juega a través de " "un firewall)" #. random toggle #: ../server/gtk/main.c:652 msgid "Random turn order" msgstr "Desordenar el orden de la vuelta" #: ../server/gtk/main.c:659 msgid "Randomize turn order" msgstr "Desordenar orden de turnos" #. Tooltip for server connection overview #: ../server/gtk/main.c:730 msgid "Shows all players and spectators connected to the server" msgstr "Muestra todos los jugadores y espectadores conectados al servidor" #. Label for column Connected #: ../server/gtk/main.c:735 msgid "Connected" msgstr "Conectado" #. Tooltip for column Connected #: ../server/gtk/main.c:742 msgid "Is the player currently connected?" msgstr "¿Está el jugador actualmente conectado?" #. Label for column Name #: ../server/gtk/main.c:747 msgid "Name" msgstr "Nombre" #. Tooltip for column Name #: ../server/gtk/main.c:754 msgid "Name of the player" msgstr "Nombre del jugador" #. Label for column Location #: ../server/gtk/main.c:758 msgid "Location" msgstr "Sitio" #. Tooltip for column Location #: ../server/gtk/main.c:765 msgid "Host name of the player" msgstr "Nombre del jugador anfitrión" #. Label for column Number #: ../server/gtk/main.c:771 msgid "Number" msgstr "Número" #. Tooltip for column Number #: ../server/gtk/main.c:778 msgid "Player number" msgstr "Número del jugador" #. Label for column Role #: ../server/gtk/main.c:784 msgid "Role" msgstr "Función" #. Tooltip for column Role #: ../server/gtk/main.c:788 msgid "Player or spectator" msgstr "Jugador o espectador" #. Button text #: ../server/gtk/main.c:825 msgid "Launch Pioneers Client" msgstr "Lanzar cliente de Pioneers" #. Tooltip #: ../server/gtk/main.c:839 msgid "Launch the Pioneers client" msgstr "Lanzar el cliente de Pioneers" #. ai chat toggle #: ../server/gtk/main.c:868 msgid "Enable chat" msgstr "Habilitar charla" #. Tooltip #: ../server/gtk/main.c:875 msgid "Enable chat messages" msgstr "Habilitar mensajes de charla" #. Button text #: ../server/gtk/main.c:884 msgid "Add Computer Player" msgstr "Añadir un adversario electrónico" #. Tooltip #: ../server/gtk/main.c:892 msgid "Add a computer player to the game" msgstr "Añadir un adversario electrónico" #. Tooltip #: ../server/gtk/main.c:925 msgid "Messages from the server" msgstr "Mensaje del servidor" #: ../server/gtk/main.c:961 msgid "Game settings" msgstr "Ajuste del juego" #. server frame #: ../server/gtk/main.c:972 msgid "Server parameters" msgstr "Parámetros del servidor" #: ../server/gtk/main.c:992 msgid "Running game" msgstr "Juego actual" #. player connected frame #: ../server/gtk/main.c:1008 msgid "Players connected" msgstr "Jugadores conectados" #. ai frame #: ../server/gtk/main.c:1012 msgid "Computer players" msgstr "Adversario electrónico" #. message frame #: ../server/gtk/main.c:1024 msgid "Messages" msgstr "Mensajes" #. Caption of about box #: ../server/gtk/main.c:1150 #, fuzzy msgid "About the Pioneers Game Server" msgstr "El servidor del Juego Pionners" # #. Wait for all players to disconnect, #. * then enable the UI #. #: ../server/gtk/main.c:1158 msgid "The game is over.\n" msgstr "El juego ha terminado.\n" #. Long description in the commandline for server-gtk: help #. Long description in the commandline for server-console: help #: ../server/gtk/main.c:1212 ../server/main.c:194 msgid "- Host a game of Pioneers" msgstr "- Organice un juego de Pioneers" #. Name in the titlebar of the server #: ../server/gtk/main.c:1236 ../server/gtk/pioneers-server-gtk.desktop.in.h:1 msgid "Pioneers Server" msgstr "Servidor de Pioneers" #: ../server/gtk/pioneers-server-gtk.desktop.in.h:2 msgid "Host a game of Pioneers" msgstr "Hospedar una partida de Pioneers" #: ../server/gtk/pioneers-server-gtk.desktop.in.h:3 msgid "game;board;server;host;Pioneers;Settlers;" msgstr "" #. Commandline server-console: game-title #: ../server/main.c:80 msgid "Game title to use" msgstr "Titulo de juego para usar" #. Commandline server-console: file #: ../server/main.c:83 msgid "Game file to use" msgstr "Archivo de juego para usar" #. Commandline server-console: port #: ../server/main.c:86 msgid "Port to listen on" msgstr "Puerto para escuchar" #. Commandline server-console: players #: ../server/main.c:89 msgid "Override number of players" msgstr "Invalidar número de adversarios" #. Commandline server-console: points #: ../server/main.c:92 msgid "Override number of points needed to win" msgstr "Invalidar número de puntos necesarios para ganar" #. Commandline server-console: seven-rule #: ../server/main.c:95 msgid "Override seven-rule handling" msgstr "Invalidar regla del 7" #. Commandline server-console: dice-deck #: ../server/main.c:98 #, fuzzy msgid "Override dice-deck handling" msgstr "Invalidar regla del 7" #. Commandline server-console: num-dice-decks #: ../server/main.c:101 #, fuzzy msgid "Override num-dice-decks handling" msgstr "Invalidar regla del 7" #. Commandline server-console: num-removed-dice-cards #: ../server/main.c:105 #, fuzzy msgid "Override num-removed-dice-cards handling" msgstr "Invalidar regla del 7" #. Commandline server-console: terrain #: ../server/main.c:108 msgid "Override terrain type, 0=default 1=random" msgstr "Invalidar tipo de terreno, 0=Omisión 1=aleatorio" #. Commandline server-console: computer-players #: ../server/main.c:111 msgid "Add N computer players" msgstr "Añadir N adversarios electrónicos" #. Commandline server-console: register #: ../server/main.c:121 msgid "Register server with metaserver" msgstr "Hacer incribirse el servidor con el Meta-servidor" #. Commandline server-console: metaserver #: ../server/main.c:124 msgid "Register at metaserver name (implies -r)" msgstr "Registro en nombre de Meta-servidor (supone -r)" #. Commandline server-console: hostname #: ../server/main.c:128 msgid "Use this hostname when registering" msgstr "Usar este nombre de huesped cuando se registre" #. Commandline server-console: auto-quit #: ../server/main.c:135 msgid "Quit after a player has won" msgstr "Salir luego de que un jugador ha ganado" #. Commandline server-console: empty-timeout #: ../server/main.c:138 msgid "Quit after N seconds with no players" msgstr "Salir luego de N segundos sin jugadores" #. Commandline server-console: tournament #: ../server/main.c:141 msgid "Tournament mode, computer players added after N minutes" msgstr "Modo de torneo, adversarios electrónicos agregados luego de N minutos" #. Commandline server-console: admin-port #: ../server/main.c:145 msgid "Admin port to listen on" msgstr "Puerto Admin para escucha" #. Commandline server-console: admin-wait #: ../server/main.c:148 msgid "Don't start game immediately, wait for a command on admin port" msgstr "" "No comience el juego inmediatamente, espere un comando del puerto " "administrador" #. Commandline server-console: fixed-seating-order #: ../server/main.c:154 msgid "Give players numbers according to the order they enter the game" msgstr "Dar números de jugadores de acuerdo al orden en que entren al juego" #. Commandline server-console: Short description of meta group #: ../server/main.c:200 msgid "Metaserver Options" msgstr "Opciones de Meta-servidor" #. Commandline server-console: Long description of meta group #: ../server/main.c:202 msgid "Options for the metaserver" msgstr "Opciones para el Meta-servidor" #. Commandline server-console: Short description of misc group #: ../server/main.c:211 msgid "Miscellaneous Options" msgstr "Opciones variadas" #. Commandline server-console: Long description of misc group #: ../server/main.c:213 msgid "Miscellaneous options" msgstr "Opciones variadas" #. server-console commandline error #: ../server/main.c:239 #, c-format msgid "Cannot set game title and filename at the same time\n" msgstr "" "No se puede establecer un titulo al juego y un nombre al archivo al mismo " "tiempo\n" #. server-console commandline error #: ../server/main.c:256 #, c-format msgid "Cannot load the parameters for the game\n" msgstr "No se pueden cargar los parámetros de la partida\n" #. Error message #: ../server/main.c:305 ../server/main.c:324 #, c-format msgid "The network port (%s) for the admin interface is not available.\n" msgstr "" #: ../server/meta.c:58 #, fuzzy msgid "The connection to the metaserver is lost.\n" msgstr "Opciones para el Meta-servidor" #: ../server/meta.c:64 #, c-format msgid "An attempt to reconnect is scheduled in %u second.\n" msgid_plural "An attempt to reconnect is scheduled in %u seconds.\n" msgstr[0] "" msgstr[1] "" #: ../server/meta.c:83 #, fuzzy msgid "Attempting to reconnect to the metaserver.\n" msgstr "Opciones para el Meta-servidor" #: ../server/meta.c:311 #, fuzzy, c-format msgid "Register with the metaserver at %s.\n" msgstr "Registro con Meta-servidor en %s, puerto %s\n" #: ../server/meta.c:322 #, fuzzy msgid "Unregister from the metaserver.\n" msgstr "Registro del Meta-servidor\n" #: ../server/player.c:142 msgid "chat too long" msgstr "Charla demasiado larga" #: ../server/player.c:159 msgid "name too long" msgstr "Nombre demasiado largo" #: ../server/player.c:191 msgid "ignoring unknown extension" msgstr "ignorar extension desconocida" #: ../server/player.c:228 ../server/player.c:298 msgid "The last player left, the tournament timer is reset." msgstr "El ultimo jugador salió, el contador del torne es restablecido." #: ../server/player.c:262 ../server/player.c:643 msgid "No human players present. Bye." msgstr "No hay jugadores humanos. Chao." #: ../server/player.c:269 msgid "Game starts, adding computer players." msgstr "La partida empieza, añadiendo jugadores no-humanos." #: ../server/player.c:311 #, c-format msgid "The game starts in %s minutes." msgstr "El juego comienza en %s minutos." #: ../server/player.c:312 #, c-format msgid "The game starts in %s minute." msgstr "El juego comienza en %s minutos." # #. Default name for the AI when the computer_names file #. * is not found or empty. #. #: ../server/player.c:370 ../server/player.c:376 msgid "Computer Player" msgstr "Adversario electrónico" #: ../server/player.c:450 #, c-format msgid "Unable to determine the hostname of the player: %s" msgstr "" #. The game is over, don't accept new players #. Message to send to the client when the game is already over #. * when a connection is made. #: ../server/player.c:476 msgid "Sorry, game is over." msgstr "El juego ha terminado." #: ../server/player.c:478 #, c-format msgid "Player from %s is refused: game is over\n" msgstr "Jugador de %s rechazado: fin del juego\n" #: ../server/player.c:520 msgid "Name not changed: new name is already in use" msgstr "Nombre no ha cambiado: nuevo nombre está ya en uso" #: ../server/player.c:638 ../server/server.c:38 msgid "Was hanging around for too long without players... bye.\n" msgstr "Ha estado esperando demasiado tiempo sin jugadores... Adiós.\n" #: ../server/player.c:723 msgid "The last human player left. Waiting for the return of a player." msgstr "El último jugador humano salió. Esperando el regreso de un jugador." #: ../server/player.c:744 msgid "Resuming the game." msgstr "Reanudando el juego" #. %s is the name of the reconnecting player #: ../server/player.c:870 #, c-format msgid "%s has reconnected." msgstr "%s se ha reconectado." #: ../server/player.c:970 #, c-format msgid "Version mismatch: %s" msgstr "Versión no coincide: %s" #: ../server/player.c:1007 msgid "This game will start soon." msgstr "Este juego comenzará pronto" #. Server: preparing game #..... #: ../server/server.c:221 msgid "Preparing game" msgstr "Preparando juego" #: ../server/turn.c:254 msgid "Island Discovery Bonus" msgstr "Bonificación por descubrimiento de islas" #: ../server/turn.c:255 msgid "Additional Island Bonus" msgstr "Bonificación por islas adicionales" #: ../server/turn.c:386 msgid "Tried to assign resources to NULL player.\n" msgstr "Tried to assign resources to NULL player.\n" #. Cheat mode has been activated #: ../server/turn.c:516 msgid "The dice roll has been determined by the administrator." msgstr "El rol del dado ha sido determinado por el administrador." #~ msgid "Join the selected game" #~ msgstr "Adherir al juego seleccionado" #~ msgid "Don't join a public game" #~ msgstr "No adherir a un juego publico" #~ msgid "Create a new public game at the metaserver" #~ msgstr "Crear un nuevo juego publicoen el Meta-servidor" #~ msgid "Refresh the list of games" #~ msgstr "Renovar la lista de juegos" #~ msgid "Version:" #~ msgstr "Versión:" #~ msgid "Homepage:" #~ msgstr "Página principal:" #~ msgid "Authors:" #~ msgstr "Autores:" #~ msgid "Pioneers is translated to by:\n" #~ msgstr "Pioneers es traducido al español por:\n" #~ msgid "Metaserver kicked us off\n" #~ msgstr "Meta-servidor nos sacó\n" #~ msgid "" #~ "Note:\n" #~ "\tThe metaserver does not send information about the games.\n" #~ "\tPlease set appropriate values yourself." #~ msgstr "" #~ "Nota:\n" #~ "\tThe Meta-servidor no envía información acerca de los juegos.\n" #~ "\tPor favor ajuste los valores apropiados usted mismo." #~ msgid "Error checking connect status: %s\n" #~ msgstr "Error chequeando estado de conexion: %s\n" #~ msgid "Error connecting to host '%s': %s\n" #~ msgstr "Error conectando a anfitrion '%s': %s\n" #~ msgid "Error writing socket: %s\n" #~ msgstr "Error escribiendo conector: %s\n" #~ msgid "Error creating socket: %s\n" #~ msgstr "Error creando conector: %s\n" #~ msgid "Error setting socket close-on-exec: %s\n" #~ msgstr "Error ajustando conector close-on-exec: %s\n" #~ msgid "Error setting socket non-blocking: %s\n" #~ msgstr "Error setting socket non-blocking: %s\n" #~ msgid "Cannot resolve %s port %s: %s\n" #~ msgstr "No se puede resolver %s puerto %s: %s\n" #~ msgid "Cannot resolve %s port %s: host not found\n" #~ msgstr "No se puede resolver %s puerto %s: anfitrion no encontrado\n" #~ msgid "Error creating struct addrinfo: %s" #~ msgstr "Error creando struct addrinfo: %s" #~ msgid "Error creating listening socket: %s\n" #~ msgstr "Error creando conector de escucha: %s\n" #~ msgid "Error during listen on socket: %s\n" #~ msgstr "Error durante la escucha en conector: %s\n" #~ msgid "Listening not yet supported on this platform." #~ msgstr "Escucha no soportada aun en esta plataforma." #~ msgid "Error getting peer name: %s" #~ msgstr "Error obteniendo nombre de camarada: %s" #~ msgid "Error resolving address: %s" #~ msgstr "Error consiguiendo direccion: %s" #~ msgid "Net_get_peer_name not yet supported on this platform." #~ msgstr "Net_get_peer_name no soportada aun en esta plataforma" #~ msgid "Error accepting connection: %s" #~ msgstr "Error aceptando coneccion: %s" #~ msgid "Admin port not available.\n" #~ msgstr "El Puerto de administración no es disponible.\n" #~ msgid "Admin port is not set, cannot disable game start too\n" #~ msgstr "" #~ "El puerto de administración no está asignado, no se puede desactivar el " #~ "inicio de juego también\n" pioneers-15.5/po/en_GB.po0000644000175000017500000027515713252242740012163 00000000000000# English (United Kingdom) translation for pioneers # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the pioneers package. # Philipp Kleinherz , 2010. # Roland Clobus , 2010-2016 # msgid "" msgstr "" "Project-Id-Version: Pioneers 15.4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-03-14 16:51+0100\n" "PO-Revision-Date: 2016-06-10 18:23+0200\n" "Last-Translator: Roland Clobus \n" "Language-Team: English (United Kingdom) \n" "Language: en_GB\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2010-03-11 19:44+0000\n" "X-Generator: Poedit 1.8.8\n" "Plural-Forms: nplurals=2; plural=(n!=1);\n" #. Commandline pioneersai: chromosome-file #: ../client/ai/ai.c:90 msgid "Chromosome File" msgstr "Chromosome File" #. Commandline pioneersai: server #: ../client/ai/ai.c:93 msgid "Server Host" msgstr "Server Host" #. Commandline pioneersai: port #: ../client/ai/ai.c:96 msgid "Server Port" msgstr "Server Port" #. Commandline pioneersai: name #: ../client/ai/ai.c:99 msgid "Computer name (mandatory)" msgstr "Computer name (mandatory)" #. Commandline pioneersai: time #: ../client/ai/ai.c:102 msgid "Time to wait between turns (in milliseconds)" msgstr "Time to wait between turns (in milliseconds)" #. Commandline pioneersai: chat-free #: ../client/ai/ai.c:105 msgid "Stop computer player from talking" msgstr "Stop computer player from talking" #. Commandline pioneersai: algorithm #: ../client/ai/ai.c:108 msgid "Type of computer player" msgstr "Type of computer player" #. Commandline option of ai: enable debug logging #. Commandline option of client: enable debug logging #. Commandline option of metaserver: enable debug logging #. Commandline option of server-gtk: enable debug logging #. Commandline option of server: enable debug logging #: ../client/ai/ai.c:111 ../client/gtk/offline.c:67 ../metaserver/main.c:631 #: ../server/gtk/main.c:1170 ../server/main.c:159 msgid "Enable debug messages" msgstr "Enable debug messages" #. Commandline option of ai: version #. Commandline option of client: version #. Commandline option of editor: version #. Commandline option of metaserver: version #. Commandline option of server-gtk: version #. Commandline option of server-console: version #: ../client/ai/ai.c:114 ../client/gtk/offline.c:70 ../editor/gtk/editor.c:1843 #: ../metaserver/main.c:637 ../server/gtk/main.c:1173 ../server/main.c:114 msgid "Show version information" msgstr "Show version information" #. Long description in the commandline for pioneersai: help #: ../client/ai/ai.c:125 msgid "- Computer player for Pioneers" msgstr "- Computer player for Pioneers" #: ../client/ai/ai.c:137 ../client/gtk/offline.c:196 #: ../editor/gtk/editor.c:1888 ../metaserver/main.c:687 #: ../server/gtk/main.c:1223 ../server/main.c:226 #, c-format msgid "Pioneers version:" msgstr "Pioneers version:" #. ai commandline error #: ../client/ai/ai.c:160 #, c-format msgid "A name must be provided.\n" msgstr "A name must be provided.\n" #: ../client/ai/ai.c:171 #, c-format msgid "Type of computer player: %s\n" msgstr "Type of computer player: %s\n" #: ../client/ai/ai.c:202 msgid "The game is already full. I'm leaving." msgstr "The game is already full. I'm leaving." #. AI chat at the start of the turn #: ../client/ai/ai.c:230 msgid "Ok, let's go!" msgstr "Ok, let's go!" #. AI chat at the start of the turn #: ../client/ai/ai.c:232 msgid "I'll beat you all now! ;)" msgstr "I'll beat you all now! ;)" #. AI chat at the start of the turn #: ../client/ai/ai.c:234 msgid "Now for another try..." msgstr "Now for another try..." #. AI chat when one resource is received #: ../client/ai/ai.c:239 msgid "At least I get something..." msgstr "At least I get something..." #. AI chat when one resource is received #: ../client/ai/ai.c:241 msgid "One is better than none..." msgstr "One is better than none..." #. AI chat when more than one resource is received #: ../client/ai/ai.c:246 msgid "Wow!" msgstr "Wow!" #. AI chat when more than one resource is received #: ../client/ai/ai.c:248 msgid "Ey, I'm becoming rich ;)" msgstr "Ey, I'm becoming rich ;)" #. AI chat when more than one resource is received #: ../client/ai/ai.c:250 msgid "This is really a good year!" msgstr "This is really a good year!" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:255 msgid "You really don't deserve that much!" msgstr "You really don't deserve that much!" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:257 msgid "You don't know what to do with that many resources ;)" msgstr "You don't know what to do with that many resources ;)" #. AI chat when other players receive more than one resource #: ../client/ai/ai.c:259 msgid "Ey, wait for my robber and lose all this again!" msgstr "Ey, wait for my robber and lose all this again!" #. AI chat when it moves the robber #: ../client/ai/ai.c:264 msgid "Hehe!" msgstr "Hehe!" #. AI chat when it moves the robber #: ../client/ai/ai.c:266 msgid "Go, robber, go!" msgstr "Go, robber, go!" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:271 msgid "You bastard!" msgstr "You bastard!" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:273 msgid "Can't you move that robber somewhere else?!" msgstr "Can't you move that robber somewhere else?!" #. AI chat when the robber is moved to it #: ../client/ai/ai.c:275 msgid "Why always me??" msgstr "Why always me??" #. AI chat when it must discard resources #: ../client/ai/ai.c:280 msgid "Oh no!" msgstr "Oh no!" #. AI chat when it must discard resources #: ../client/ai/ai.c:282 msgid "Grrr!" msgstr "Grrr!" #. AI chat when it must discard resources #: ../client/ai/ai.c:284 msgid "Who the hell rolled that 7??" msgstr "Who the hell rolled that 7??" #. AI chat when it must discard resources #: ../client/ai/ai.c:286 msgid "Why always me?!?" msgstr "Why always me?!?" #. AI chat when other players must discard #: ../client/ai/ai.c:291 msgid "Say good bye to your cards... :)" msgstr "Say good bye to your cards... :)" #. AI chat when other players must discard #: ../client/ai/ai.c:293 msgid "*evilgrin*" msgstr "*evilgrin*" #. AI chat when other players must discard #: ../client/ai/ai.c:295 msgid "/me says farewell to your cards ;)" msgstr "/me says farewell to your cards ;)" #. AI chat when other players must discard #: ../client/ai/ai.c:297 msgid "That's the price for being rich... :)" msgstr "That's the price for being rich... :)" #. AI chat when someone steals from it #: ../client/ai/ai.c:302 msgid "Ey! Where's that card gone?" msgstr "Ey! Where's that card gone?" #. AI chat when someone steals from it #: ../client/ai/ai.c:304 msgid "Thieves! Thieves!!" msgstr "Thieves! Thieves!!" #. AI chat when someone steals from it #: ../client/ai/ai.c:306 msgid "Wait for my revenge..." msgstr "Wait for my revenge..." #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:311 msgid "Oh no :(" msgstr "Oh no :(" #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:313 msgid "Must this happen NOW??" msgstr "Must this happen NOW??" #. AI chat when someone plays the monopoly card #: ../client/ai/ai.c:315 msgid "Args" msgstr "Args" #. AI chat when it has the largest army #: ../client/ai/ai.c:320 msgid "Hehe, my soldiers rule!" msgstr "Hehe, my soldiers rule!" #. AI chat when another player that the largest army #: ../client/ai/ai.c:325 msgid "First robbing us, then grabbing the points..." msgstr "First robbing us, then grabbing the points..." #. AI chat when it has the longest road #: ../client/ai/ai.c:330 msgid "See that road!" msgstr "See that road!" #. AI chat when another player has the longest road #: ../client/ai/ai.c:335 msgid "Pf, you won't win with roads alone..." msgstr "Pf, you won't win with roads alone..." #: ../client/ai/ai.c:434 #, c-format msgid "Received error from server: %s. Quitting\n" msgstr "Received error from server: %s. Quitting\n" #. AI chat when it wins #: ../client/ai/ai.c:446 ../client/ai/genetic.c:2766 msgid "Yippie!" msgstr "Yippie!" #. AI chat when another player wins #: ../client/ai/ai.c:449 ../client/ai/genetic.c:2777 msgid "My congratulations" msgstr "My congratulations" #: ../client/ai/genetic.c:1277 ../client/ai/greedy.c:961 msgid "No settlements in stock to use for setup" msgstr "No settlements in stock to use for setup" #: ../client/ai/genetic.c:1284 ../client/ai/greedy.c:968 msgid "There is no place to setup a settlement" msgstr "There is no place to setup a settlement" #: ../client/ai/genetic.c:1311 ../client/ai/greedy.c:992 msgid "No roads in stock to use for setup" msgstr "No roads in stock to use for setup" #: ../client/ai/genetic.c:1329 ../client/ai/greedy.c:1009 msgid "There is no place to setup a road" msgstr "There is no place to setup a road" #: ../client/ai/genetic.c:2651 ../client/ai/greedy.c:1784 msgid "Rejecting trade.\n" msgstr "Rejecting trade.\n" #. Translators: don't translate '/help' #: ../client/ai/lobbybot.c:80 msgid "" "Hello, welcome to the lobby. I am a simple robot. Type '/help' in the chat " "to see the list of commands I know." msgstr "" "Hello, welcome to the lobby. I am a simple robot. Type '/help' in the chat " "to see the list of commands I know." #. Translators: don't translate '/help' #: ../client/ai/lobbybot.c:107 msgid "'/help' shows this message again" msgstr "'/help' shows this message again" #. Translators: don't translate '/why' #: ../client/ai/lobbybot.c:110 msgid "'/why' explains the purpose of this strange board layout" msgstr "'/why' explains the purpose of this strange board layout" #. Translators: don't translate '/news' #: ../client/ai/lobbybot.c:113 msgid "'/news' tells the last released version" msgstr "'/news' tells the last released version" #. AI chat that explains '/why' #: ../client/ai/lobbybot.c:119 msgid "" "This board is not intended to be a game that can be played. Instead, players " "can find eachother here, and decide which board they want to play. Then, one " "of the players will host the proposed game by starting a server, and " "registers it at the metaserver. The other players can subsequently " "disconnect from the lobby, and enter that game." msgstr "" "This board is not intended to be a game that can be played. Instead, players " "can find eachother here, and decide which board they want to play. Then, one " "of the players will host the proposed game by starting a server, and " "registers it at the metaserver. The other players can subsequently " "disconnect from the lobby, and enter that game." #: ../client/ai/lobbybot.c:130 msgid "The last released version of Pioneers is" msgstr "The last released version of Pioneers is" #. The lobbybot leaves when a game is starting #: ../client/ai/lobbybot.c:146 msgid "The game is starting. I'm not needed anymore. Goodbye." msgstr "The game is starting. I'm not needed anymore. Goodbye." #: ../client/common/client.c:105 msgid "Waiting" msgstr "Waiting" #: ../client/common/client.c:107 msgid "Idle" msgstr "Idle" #: ../client/common/client.c:532 msgid "We have been kicked out of the game.\n" msgstr "We have been kicked out of the game.\n" #. Network status: offline #: ../client/common/client.c:535 ../client/common/client.c:990 #: ../client/gtk/gui.c:1532 msgid "Offline" msgstr "Offline" #: ../client/common/client.c:556 #, c-format msgid "Error (%s): %s\n" msgstr "Error (%s): %s\n" #: ../client/common/client.c:565 ../client/common/client.c:576 #, c-format msgid "Notice: %s\n" msgstr "Notice: %s\n" #: ../client/common/client.c:693 #, c-format msgid "%s does not receive any %s, because the bank is empty.\n" msgstr "%s does not receive any %s, because the bank is empty.\n" #: ../client/common/client.c:706 #, c-format msgid "%s only receives %s, because the bank didn't have any more.\n" msgstr "%s only receives %s, because the bank didn't have any more.\n" #: ../client/common/client.c:716 #, c-format msgid "%s receives %s.\n" msgstr "%s receives %s.\n" #. Year of Plenty #: ../client/common/client.c:724 ../client/common/client.c:2663 #, c-format msgid "%s takes %s.\n" msgstr "%s takes %s.\n" #: ../client/common/client.c:729 #, c-format msgid "%s spent %s.\n" msgstr "%s spent %s.\n" #: ../client/common/client.c:735 #, c-format msgid "%s is refunded %s.\n" msgstr "%s is refunded %s.\n" #. %s = Player name #: ../client/common/client.c:753 #, c-format msgid "%s shuffled the dice deck.\n" msgstr "%s shuffled the dice deck.\n" #: ../client/common/client.c:772 #, c-format msgid "%s discarded %s.\n" msgstr "%s discarded %s.\n" #: ../client/common/client.c:846 #, c-format msgid "%s has won the game with %d victory points!\n" msgstr "%s has won the game with %d victory points!\n" #: ../client/common/client.c:945 msgid "Loading" msgstr "Loading" #: ../client/common/client.c:991 msgid "Version mismatch." msgstr "Version mismatch." #: ../client/common/client.c:993 msgid "Version mismatch. Please make sure client and server are up to date.\n" msgstr "Version mismatch. Please make sure client and server are up to date.\n" #: ../client/common/client.c:1413 msgid "Build two settlements, each with a connecting" msgstr "Build two settlements, each with a connecting" #: ../client/common/client.c:1416 msgid "Build a settlement with a connecting" msgstr "Build a settlement with a connecting" #: ../client/common/client.c:1419 msgid "road" msgstr "road" #: ../client/common/client.c:1421 msgid "bridge" msgstr "bridge" #: ../client/common/client.c:1423 msgid "ship" msgstr "ship" #: ../client/common/client.c:1430 msgid " or" msgstr " or" #: ../client/common/client.c:1494 msgid "Waiting for your turn." msgstr "Waiting for your turn." #: ../client/common/client.c:1546 ../client/gtk/interface.c:784 msgid "Select the building to steal from." msgstr "Select the building to steal from." #: ../client/common/client.c:1568 ../client/gtk/interface.c:774 msgid "Select the ship to steal from." msgstr "Select the ship to steal from." #: ../client/common/client.c:1652 ../client/gtk/interface.c:816 msgid "Place the robber." msgstr "Place the robber." #: ../client/common/client.c:1702 msgid "Finish the road building action." msgstr "Finish the road building action." #: ../client/common/client.c:1704 msgid "Build one road segment." msgstr "Build one road segment." #: ../client/common/client.c:1706 msgid "Build two road segments." msgstr "Build two road segments." #. Notification #: ../client/common/client.c:1979 ../client/common/client.c:2073 #: ../client/gtk/interface.c:432 msgid "It is your turn." msgstr "It is your turn." #: ../client/common/client.c:2167 #, c-format msgid "Sorry, %s available.\n" msgstr "Sorry, %s available.\n" #: ../client/common/client.c:2481 msgid "The game is over." msgstr "The game is over." #. This development card is unique #: ../client/common/develop.c:67 #, c-format msgid "You bought the %s development card.\n" msgstr "You bought the %s development card.\n" #. This development card is not unique #: ../client/common/develop.c:73 #, c-format msgid "You bought a %s development card.\n" msgstr "You bought a %s development card.\n" #: ../client/common/develop.c:103 #, c-format msgid "%s bought a development card.\n" msgstr "%s bought a development card.\n" #: ../client/common/develop.c:121 #, c-format msgid "%s played the %s development card.\n" msgstr "%s played the %s development card.\n" #: ../client/common/develop.c:126 #, c-format msgid "%s played a %s development card.\n" msgstr "%s played a %s development card.\n" #: ../client/common/develop.c:138 msgid "You have run out of road segments.\n" msgstr "You have run out of road segments.\n" #. I get the cards #. $1=resources, $2=player that loses resources #: ../client/common/develop.c:179 #, c-format msgid "You get %s from %s.\n" msgstr "You get %s from %s.\n" #. I lose the cards #. $1=player that steals, $2=resources #: ../client/common/develop.c:185 #, c-format msgid "%s took %s from you.\n" msgstr "%s took %s from you.\n" #: ../client/common/develop.c:192 #, c-format msgid "%s took %s from %s.\n" msgstr "%s took %s from %s.\n" #: ../client/common/player.c:125 ../server/player.c:567 #, c-format msgid "Spectator %d" msgstr "Spectator %d" #: ../client/common/player.c:128 #, c-format msgid "spectator %d" msgstr "spectator %d" #: ../client/common/player.c:137 ../server/player.c:570 #, c-format msgid "Player %d" msgstr "Player %d" #: ../client/common/player.c:139 #, c-format msgid "player %d" msgstr "player %d" #: ../client/common/player.c:216 #, c-format msgid "New spectator: %s.\n" msgstr "New spectator: %s.\n" #: ../client/common/player.c:219 ../client/common/player.c:235 #, c-format msgid "%s is now %s.\n" msgstr "%s is now %s.\n" #: ../client/common/player.c:232 #, c-format msgid "Player %d is now %s.\n" msgstr "Player %d is now %s.\n" #: ../client/common/player.c:269 #, c-format msgid "%s has quit.\n" msgstr "%s has quit.\n" #: ../client/common/player.c:278 msgid "There is no largest army.\n" msgstr "There is no largest army.\n" #: ../client/common/player.c:281 #, c-format msgid "%s has the largest army.\n" msgstr "%s has the largest army.\n" #: ../client/common/player.c:302 msgid "There is no longest road.\n" msgstr "There is no longest road.\n" #: ../client/common/player.c:305 #, c-format msgid "%s has the longest road.\n" msgstr "%s has the longest road.\n" #: ../client/common/player.c:326 #, c-format msgid "Waiting for %s." msgstr "Waiting for %s." #. We are not in on the action #. someone stole a resource from someone else #: ../client/common/player.c:354 #, c-format msgid "%s stole a resource from %s.\n" msgstr "%s stole a resource from %s.\n" #. $1=resource, $2=player name #: ../client/common/player.c:365 #, c-format msgid "You stole %s from %s.\n" msgstr "You stole %s from %s.\n" #. $1=player name, $2=resource #: ../client/common/player.c:372 #, c-format msgid "%s stole %s from you.\n" msgstr "%s stole %s from you.\n" #: ../client/common/player.c:406 #, c-format msgid "%s gave %s nothing!?\n" msgstr "%s gave %s nothing!?\n" #. $1=giving player, $2=receiving player, $3=resources #: ../client/common/player.c:413 ../client/common/player.c:423 #, c-format msgid "%s gave %s %s for free.\n" msgstr "%s gave %s %s for free.\n" #: ../client/common/player.c:431 #, c-format msgid "%s gave %s %s in exchange for %s.\n" msgstr "%s gave %s %s in exchange for %s.\n" #: ../client/common/player.c:462 #, c-format msgid "%s exchanged %s for %s.\n" msgstr "%s exchanged %s for %s.\n" #: ../client/common/player.c:482 #, c-format msgid "%s built a road.\n" msgstr "%s built a road.\n" #: ../client/common/player.c:494 #, c-format msgid "%s built a ship.\n" msgstr "%s built a ship.\n" #: ../client/common/player.c:507 #, c-format msgid "%s built a settlement.\n" msgstr "%s built a settlement.\n" #: ../client/common/player.c:526 #, c-format msgid "%s built a city.\n" msgstr "%s built a city.\n" #: ../client/common/player.c:540 #, c-format msgid "%s built a city wall.\n" msgstr "%s built a city wall.\n" #. Error message #: ../client/common/player.c:551 #, c-format msgid "player_build_add called with BUILD_NONE for user %s\n" msgstr "player_build_add called with BUILD_NONE for user %s\n" #: ../client/common/player.c:561 #, c-format msgid "%s built a bridge.\n" msgstr "%s built a bridge.\n" #: ../client/common/player.c:587 #, c-format msgid "%s removed a road.\n" msgstr "%s removed a road.\n" #: ../client/common/player.c:597 #, c-format msgid "%s removed a ship.\n" msgstr "%s removed a ship.\n" #: ../client/common/player.c:607 #, c-format msgid "%s removed a settlement.\n" msgstr "%s removed a settlement.\n" #: ../client/common/player.c:618 #, c-format msgid "%s removed a city.\n" msgstr "%s removed a city.\n" #: ../client/common/player.c:632 #, c-format msgid "%s removed a city wall.\n" msgstr "%s removed a city wall.\n" #. Error message #: ../client/common/player.c:642 #, c-format msgid "player_build_remove called with BUILD_NONE for user %s\n" msgstr "player_build_remove called with BUILD_NONE for user %s\n" #: ../client/common/player.c:651 #, c-format msgid "%s removed a bridge.\n" msgstr "%s removed a bridge.\n" #: ../client/common/player.c:682 #, c-format msgid "%s has canceled a ship's movement.\n" msgstr "%s has cancelled a ship's movement.\n" #: ../client/common/player.c:685 #, c-format msgid "%s moved a ship.\n" msgstr "%s moved a ship.\n" #. tell the user that someone got something #: ../client/common/player.c:705 #, c-format msgid "%s received %s.\n" msgstr "%s received %s.\n" #: ../client/common/player.c:724 msgid "server asks to lose invalid point.\n" msgstr "server asks to lose invalid point.\n" #. tell the user the point is lost #: ../client/common/player.c:730 #, c-format msgid "%s lost %s.\n" msgstr "%s lost %s.\n" #: ../client/common/player.c:753 msgid "server asks to move invalid point.\n" msgstr "server asks to move invalid point.\n" #. tell the user someone (1) lost something (2) to someone else (3) #: ../client/common/player.c:760 #, c-format msgid "%s lost %s to %s.\n" msgstr "%s lost %s to %s.\n" #: ../client/common/resource.c:35 msgid "brick" msgstr "brick" #: ../client/common/resource.c:35 msgid "Brick" msgstr "Brick" #: ../client/common/resource.c:36 msgid "grain" msgstr "grain" #: ../client/common/resource.c:36 msgid "Grain" msgstr "Grain" #: ../client/common/resource.c:37 msgid "ore" msgstr "ore" #: ../client/common/resource.c:37 msgid "Ore" msgstr "Ore" #: ../client/common/resource.c:38 msgid "wool" msgstr "wool" #: ../client/common/resource.c:38 msgid "Wool" msgstr "Wool" #: ../client/common/resource.c:39 msgid "lumber" msgstr "lumber" #: ../client/common/resource.c:39 msgid "Lumber" msgstr "Lumber" #: ../client/common/resource.c:40 msgid "no resource (bug)" msgstr "no resource (bug)" #: ../client/common/resource.c:40 msgid "No resource (bug)" msgstr "No resource (bug)" #: ../client/common/resource.c:41 msgid "any resource (bug)" msgstr "any resource (bug)" #: ../client/common/resource.c:41 msgid "Any resource (bug)" msgstr "Any resource (bug)" #: ../client/common/resource.c:42 msgid "gold" msgstr "gold" #: ../client/common/resource.c:42 ../client/gtk/legend.c:41 msgid "Gold" msgstr "Gold" #: ../client/common/resource.c:47 msgid "a brick card" msgstr "a brick card" #: ../client/common/resource.c:47 #, c-format msgid "%d brick cards" msgstr "%d brick cards" #: ../client/common/resource.c:48 msgid "a grain card" msgstr "a grain card" #: ../client/common/resource.c:48 #, c-format msgid "%d grain cards" msgstr "%d grain cards" #: ../client/common/resource.c:49 msgid "an ore card" msgstr "an ore card" #: ../client/common/resource.c:49 #, c-format msgid "%d ore cards" msgstr "%d ore cards" #: ../client/common/resource.c:50 msgid "a wool card" msgstr "a wool card" #: ../client/common/resource.c:50 #, c-format msgid "%d wool cards" msgstr "%d wool cards" #: ../client/common/resource.c:51 msgid "a lumber card" msgstr "a lumber card" #: ../client/common/resource.c:51 #, c-format msgid "%d lumber cards" msgstr "%d lumber cards" #: ../client/common/resource.c:139 ../client/common/resource.c:225 msgid "nothing" msgstr "nothing" #. Construct "A, B and C" for resources #: ../client/common/resource.c:166 #, c-format msgid "%s and %s" msgstr "%s and %s" #. Construct "A, B and C" for resources #: ../client/common/resource.c:170 #, c-format msgid "%s, %s" msgstr "%s, %s" #: ../client/common/robber.c:62 #, c-format msgid "%s has undone the robber movement.\n" msgstr "%s has undone the robber movement.\n" #: ../client/common/robber.c:65 #, c-format msgid "%s moved the robber.\n" msgstr "%s moved the robber.\n" #: ../client/common/robber.c:75 #, c-format msgid "%s has undone the pirate movement.\n" msgstr "%s has undone the pirate movement.\n" #: ../client/common/robber.c:78 #, c-format msgid "%s moved the pirate.\n" msgstr "%s moved the pirate.\n" #: ../client/common/robber.c:85 #, c-format msgid "%s must move the robber." msgstr "%s must move the robber." #: ../client/common/setup.c:146 #, c-format msgid "Setup for %s.\n" msgstr "Setup for %s.\n" #: ../client/common/setup.c:158 #, c-format msgid "Double setup for %s.\n" msgstr "Double setup for %s.\n" #: ../client/common/turn.c:37 #, c-format msgid "%s rolled %d.\n" msgstr "%s rolled %d.\n" #: ../client/common/turn.c:50 #, c-format msgid "Begin turn %d for %s.\n" msgstr "Begin turn %d for %s.\n" #: ../client/gtk/avahi-browser.c:83 msgid "Select an automatically discovered game" msgstr "Select an automatically discovered game" #. $1=Game title, $2=version, $3=host_name, $4=port #: ../client/gtk/avahi-browser.c:132 #, c-format msgid "%s (%s) on %s:%s" msgstr "%s (%s) on %s:%s" #. Label text #: ../client/gtk/chat.c:73 msgid "Chat" msgstr "Chat" #: ../client/gtk/chat.c:232 msgid "Beeper test.\n" msgstr "Beeper test.\n" #: ../client/gtk/chat.c:235 #, c-format msgid "%s beeped you.\n" msgstr "%s beeped you.\n" #: ../client/gtk/chat.c:239 #, c-format msgid "You beeped %s.\n" msgstr "You beeped %s.\n" #: ../client/gtk/chat.c:245 #, c-format msgid "You could not beep %s.\n" msgstr "You could not beep %s.\n" #: ../client/gtk/chat.c:287 msgid " said: " msgstr " said: " #: ../client/gtk/connect.c:286 #, c-format msgid "Metaserver at %s, port %s" msgstr "Metaserver at %s, port %s" #: ../client/gtk/connect.c:296 msgid "Finished.\n" msgstr "Finished.\n" #: ../client/gtk/connect.c:311 ../client/gtk/connect.c:389 #: ../client/gtk/connect.c:408 ../client/gtk/connect.c:979 msgid "The metaserver is not available anymore.\n" msgstr "The metaserver is not available anymore.\n" #: ../client/gtk/connect.c:322 ../client/gtk/connect.c:443 #: ../client/gtk/connect.c:770 msgid "The metaserver closed the connection unexpectedly.\n" msgstr "The metaserver closed the connection unexpectedly.\n" #: ../client/gtk/connect.c:380 msgid "Receiving game names from the metaserver.\n" msgstr "Receiving game names from the metaserver.\n" #: ../client/gtk/connect.c:422 #, c-format msgid "New game server requested on %s port %s.\n" msgstr "New game server requested on %s port %s.\n" #: ../client/gtk/connect.c:432 msgid "Incomplete information about the new game server received.\n" msgstr "Incomplete information about the new game server received.\n" #: ../client/gtk/connect.c:486 ../client/gtk/connect.c:492 ../server/meta.c:239 #, c-format msgid "Unknown message from the metaserver: %s\n" msgstr "Unknown message from the metaserver: %s\n" #: ../client/gtk/connect.c:565 ../server/meta.c:178 #, c-format msgid "Receiving data from inactive session: %s\n" msgstr "Receiving data from inactive session: %s\n" #: ../client/gtk/connect.c:577 ../server/meta.c:192 msgid "Too many metaserver redirects.\n" msgstr "Too many metaserver redirects.\n" #: ../client/gtk/connect.c:606 ../server/meta.c:208 #, c-format msgid "Bad redirect line: %s\n" msgstr "Bad redirect line: %s\n" #: ../client/gtk/connect.c:631 #, c-format msgid "The metaserver is too old to create servers (version %d.%d)\n" msgstr "The metaserver is too old to create servers (version %d.%d)\n" #: ../client/gtk/connect.c:670 ../client/gtk/connect.c:749 #: ../client/gtk/connect.c:755 #, c-format msgid "Unexpected data from the metaserver: %s\n" msgstr "Unexpected data from the metaserver: %s\n" #. Sevens rule: normal #: ../client/gtk/connect.c:701 ../client/gtk/settingscreen.c:181 #: ../common/gtk/game-rules.c:89 msgid "Normal" msgstr "Normal" #. Sevens rule: reroll on 1st 2 turns #: ../client/gtk/connect.c:706 ../client/gtk/settingscreen.c:183 #: ../common/gtk/game-rules.c:95 msgid "Reroll on 1st 2 turns" msgstr "Reroll on 1st 2 turns" #. Sevens rule: reroll all 7s #: ../client/gtk/connect.c:710 ../client/gtk/settingscreen.c:185 #: ../common/gtk/game-rules.c:102 msgid "Reroll all 7s" msgstr "Reroll all 7s" #: ../client/gtk/connect.c:724 msgid "Default" msgstr "Default" #: ../client/gtk/connect.c:727 msgid "Random" msgstr "Random" #: ../client/gtk/connect.c:819 ../server/meta.c:299 #, c-format msgid "Redirected to the metaserver at %s.\n" msgstr "Redirected to the metaserver at %s.\n" #: ../client/gtk/connect.c:824 ../server/meta.c:302 #, c-format msgid "Redirected to the metaserver at %s, port %s.\n" msgstr "Redirected to the metaserver at %s, port %s.\n" #: ../client/gtk/connect.c:831 msgid "Receiving a list of Pioneers servers from the metaserver.\n" msgstr "Receiving a list of Pioneers servers from the metaserver.\n" #. Label #: ../client/gtk/connect.c:914 msgid "Number of computer players" msgstr "Number of computer players" #. Tooltip #: ../client/gtk/connect.c:935 msgid "The number of computer players" msgstr "The number of computer players" #. Canceled retrieving information #. * from the metaserver #: ../client/gtk/connect.c:957 ../client/gtk/connect.c:992 #: ../client/gtk/connect.c:1133 msgid "Canceled.\n" msgstr "Cancelled.\n" #: ../client/gtk/connect.c:960 msgid "Requesting new game server.\n" msgstr "Requesting new game server.\n" #: ../client/gtk/connect.c:1015 ../server/gtk/main.c:370 ../server/server.c:123 #, c-format msgid "Error starting %s: %s\n" msgstr "Error starting %s: %s\n" #. Dialog caption #: ../client/gtk/connect.c:1037 msgid "Create a Public Game" msgstr "Create a Public Game" #. Button text #: ../client/gtk/connect.c:1040 ../client/gtk/connect.c:1191 #: ../client/gtk/connect.c:1440 ../client/gtk/connect.c:1744 #: ../client/gtk/name.c:147 ../editor/gtk/editor.c:1521 #: ../editor/gtk/editor.c:1562 ../editor/gtk/editor.c:1611 msgid "_Cancel" msgstr "_Cancel" #. Button text #: ../client/gtk/connect.c:1042 msgid "C_reate" msgstr "C_reate" #. Dialog caption #: ../client/gtk/connect.c:1182 msgid "Join a Public Game" msgstr "Join a Public Game" #. Button text #: ../client/gtk/connect.c:1185 msgid "_Refresh" msgstr "_Refresh" #. Button text #: ../client/gtk/connect.c:1188 msgid "_New Remote Game" msgstr "_New Remote Game" #. Button text #: ../client/gtk/connect.c:1194 ../client/gtk/connect.c:1748 msgid "_Join" msgstr "_Join" #. Tooltip #: ../client/gtk/connect.c:1237 msgid "Select a game to join" msgstr "Select a game to join" #. Column name #: ../client/gtk/connect.c:1241 msgid "Map Name" msgstr "Map Name" #. Tooltip for column 'Map Name' #: ../client/gtk/connect.c:1249 msgid "Name of the game" msgstr "Name of the game" #. Column name #: ../client/gtk/connect.c:1255 msgid "Curr" msgstr "Curr" #. Tooltip for column 'Curr' #: ../client/gtk/connect.c:1262 msgid "Number of players in the game" msgstr "Number of players in the game" #. Column name #: ../client/gtk/connect.c:1268 msgid "Max" msgstr "Max" #. Tooltip for column 'Max' #: ../client/gtk/connect.c:1275 msgid "Maximum players for the game" msgstr "Maximum players for the game" #. Column name #: ../client/gtk/connect.c:1279 msgid "Terrain" msgstr "Terrain" #. Tooltip for column 'Terrain' #: ../client/gtk/connect.c:1287 msgid "Random of default terrain" msgstr "Random of default terrain" #. Column name #: ../client/gtk/connect.c:1293 msgid "Vic. Points" msgstr "Vic. Points" #. Tooltip for column 'Vic. Points' #: ../client/gtk/connect.c:1300 msgid "Points needed to win" msgstr "Points needed to win" #. Column name #: ../client/gtk/connect.c:1304 msgid "Sevens Rule" msgstr "Sevens Rule" #. Tooltip for column 'Sevens Rule' #. Label #: ../client/gtk/connect.c:1312 ../common/gtk/game-rules.c:81 msgid "Sevens rule" msgstr "Sevens rule" #. Column name #: ../client/gtk/connect.c:1316 msgid "Host" msgstr "Host" #. Tooltip for column 'Host' #: ../client/gtk/connect.c:1325 msgid "Host of the game" msgstr "Host of the game" #. Column name #: ../client/gtk/connect.c:1331 msgid "Port" msgstr "Port" #. Tooltip for column 'Port' #: ../client/gtk/connect.c:1339 msgid "Port of the game" msgstr "Port of the game" #. Column name #: ../client/gtk/connect.c:1343 msgid "Version" msgstr "Version" #. Tooltip for column 'Version' #: ../client/gtk/connect.c:1351 msgid "Version of the host" msgstr "Version of the host" #. Dialog caption #: ../client/gtk/connect.c:1436 msgid "Start a New Game" msgstr "Start a New Game" #. Label #. Commandline option of client: name of the player #: ../client/gtk/connect.c:1464 ../client/gtk/offline.c:57 msgid "Player name" msgstr "Player name" #. Tooltip #: ../client/gtk/connect.c:1480 msgid "Enter your name" msgstr "Enter your name" #. Check button #. Role of the player: spectator #: ../client/gtk/connect.c:1483 ../server/gtk/main.c:682 msgid "Spectator" msgstr "Spectator" #: ../client/gtk/connect.c:1493 msgid "Check if you want to be a spectator" msgstr "Check if you want to be a spectator" #. Label #: ../client/gtk/connect.c:1504 msgid "Avahi" msgstr "Avahi" #. Button #: ../client/gtk/connect.c:1511 msgid "Join" msgstr "Join" #. Tooltip for button Join #: ../client/gtk/connect.c:1515 msgid "Join an automatically discovered game" msgstr "Join an automatically discovered game" #. Label #. metaserver label #: ../client/gtk/connect.c:1542 ../server/gtk/main.c:593 msgid "Metaserver" msgstr "Metaserver" #. Button #: ../client/gtk/connect.c:1564 msgid "Join Public Game" msgstr "Join Public Game" #. Tooltip #: ../client/gtk/connect.c:1570 msgid "Join a public game" msgstr "Join a public game" #. Button #: ../client/gtk/connect.c:1575 msgid "Create Game" msgstr "Create Game" #. Tooltip #: ../client/gtk/connect.c:1579 msgid "Create a game" msgstr "Create a game" #. Button #: ../client/gtk/connect.c:1588 msgid "Join Private Game" msgstr "Join Private Game" #. Tooltip #. Dialog caption #: ../client/gtk/connect.c:1592 ../client/gtk/connect.c:1737 msgid "Join a private game" msgstr "Join a private game" #. Label #. Commandline option of client: hostname of the server #: ../client/gtk/connect.c:1777 ../client/gtk/offline.c:51 msgid "Server host" msgstr "Server host" #. Tooltip #: ../client/gtk/connect.c:1791 msgid "Name of the host of the game" msgstr "Name of the host of the game" #. Label #. Commandline option of client: port of the server #. server port label #: ../client/gtk/connect.c:1795 ../client/gtk/offline.c:54 #: ../server/gtk/main.c:555 msgid "Server port" msgstr "Server port" #. Tooltip #: ../client/gtk/connect.c:1812 msgid "Port of the host of the game" msgstr "Port of the host of the game" #. Tooltip #. Label #: ../client/gtk/connect.c:1854 ../client/gtk/connect.c:1857 msgid "Recent games" msgstr "Recent games" #. Caption for list of bought development cards #: ../client/gtk/develop.c:130 msgid "Development cards" msgstr "Development cards" #. Button text: play development card #: ../client/gtk/develop.c:163 msgid "Play Card" msgstr "Play Card" #. Dialog caption #: ../client/gtk/discard.c:77 msgid "Discard Resources" msgstr "Discard Resources" #. Button text #: ../client/gtk/discard.c:83 ../client/gtk/gameover.c:38 #: ../client/gtk/gold.c:78 ../client/gtk/monopoly.c:88 ../client/gtk/name.c:150 #: ../client/gtk/plenty.c:67 ../editor/gtk/editor.c:1614 msgid "_OK" msgstr "_OK" #: ../client/gtk/discard.c:101 #, c-format msgid "You must discard %d resource" msgid_plural "You must discard %d resources" msgstr[0] "You must discard %d resource" msgstr[1] "You must discard %d resources" #. Label #: ../client/gtk/discard.c:110 msgid "Total discards" msgstr "Total discards" #. Caption for list of player that must discard cards #: ../client/gtk/discard.c:235 msgid "Waiting for players to discard" msgstr "Waiting for players to discard" #. Dialog caption #: ../client/gtk/gameover.c:34 msgid "Game Over" msgstr "Game Over" #: ../client/gtk/gameover.c:52 #, c-format msgid "%s has won the game with %d victory points!" msgstr "%s has won the game with %d victory points!" #: ../client/gtk/gameover.c:58 #, c-format msgid "All praise %s, Lord of the known world!" msgstr "All praise %s, Lord of the known world!" #. Dialog caption #: ../client/gtk/gold.c:72 msgid "Choose Resources" msgstr "Choose Resources" #: ../client/gtk/gold.c:96 #, c-format msgid "You may choose %d resource" msgid_plural "You may choose %d resources" msgstr[0] "You may choose %d resource" msgstr[1] "You may choose %d resources" #. Text for total in choose gold dialog #. Text for total in year of plenty dialog #: ../client/gtk/gold.c:105 ../client/gtk/plenty.c:103 msgid "Total resources" msgstr "Total resources" #. Caption for list of player that must choose gold #: ../client/gtk/gold.c:217 msgid "Waiting for players to choose" msgstr "Waiting for players to choose" #. Menu entry #: ../client/gtk/gui.c:224 ../server/gtk/main.c:91 msgid "_Game" msgstr "_Game" #. Menu entry #: ../client/gtk/gui.c:227 msgid "_New Game" msgstr "_New Game" #. Tooltip for New Game menu entry #: ../client/gtk/gui.c:229 msgid "Start a new game" msgstr "Start a new game" #. Menu entry #: ../client/gtk/gui.c:232 msgid "_Leave Game" msgstr "_Leave Game" #. Tooltip for Leave Game menu entry #: ../client/gtk/gui.c:234 msgid "Leave this game" msgstr "Leave this game" #. Menu entry #: ../client/gtk/gui.c:238 msgid "_Admin" msgstr "_Admin" #. Tooltip for Admin menu entry #: ../client/gtk/gui.c:240 msgid "Administer Pioneers server" msgstr "Administer Pioneers server" #. Menu entry #: ../client/gtk/gui.c:244 msgid "_Player Name" msgstr "_Player Name" #. Tooltip for Player Name menu entry #: ../client/gtk/gui.c:246 msgid "Change your player name" msgstr "Change your player name" #. Menu entry #: ../client/gtk/gui.c:249 msgid "L_egend" msgstr "L_egend" #. Tooltip for Legend menu entry #: ../client/gtk/gui.c:251 msgid "Terrain legend and building costs" msgstr "Terrain legend and building costs" #. Menu entry #: ../client/gtk/gui.c:254 msgid "_Game Settings" msgstr "_Game Settings" #. Tooltip for Game Settings menu entry #: ../client/gtk/gui.c:256 msgid "Settings for the current game" msgstr "Settings for the current game" #. Menu entry #: ../client/gtk/gui.c:259 msgid "_Dice Histogram" msgstr "_Dice Histogram" #. Tooltip for Dice Histogram menu entry #: ../client/gtk/gui.c:261 msgid "Histogram of dice rolls" msgstr "Histogram of dice rolls" #. Menu entry #: ../client/gtk/gui.c:264 ../editor/gtk/editor.c:1759 ../server/gtk/main.c:103 msgid "_Quit" msgstr "_Quit" #. Tooltip for Quit menu entry #. Tooltop for Quit menu entry #: ../client/gtk/gui.c:266 ../server/gtk/main.c:105 msgid "Quit the program" msgstr "Quit the program" #. Menu entry #: ../client/gtk/gui.c:269 msgid "_Actions" msgstr "_Actions" #. Menu entry #: ../client/gtk/gui.c:272 msgid "Roll Dice" msgstr "Roll Dice" #. Tooltip for Roll Dice menu entry #: ../client/gtk/gui.c:274 msgid "Roll the dice" msgstr "Roll the dice" #. Menu entry #. Tooltip for Trade menu entry #. Tab page name #: ../client/gtk/gui.c:277 ../client/gtk/gui.c:279 ../client/gtk/gui.c:710 msgid "Trade" msgstr "Trade" #. Menu entry #. Tooltip for Undo menu entry #: ../client/gtk/gui.c:283 ../client/gtk/gui.c:285 msgid "Undo" msgstr "Undo" #. Menu entry #. Tooltip for Finish menu entry #: ../client/gtk/gui.c:288 ../client/gtk/gui.c:290 msgid "Finish" msgstr "Finish" #. Menu entry #: ../client/gtk/gui.c:293 ../client/gtk/legend.c:189 #: ../editor/gtk/game-buildings.c:10 msgid "Road" msgstr "Road" #. Tooltip for Road menu entry #: ../client/gtk/gui.c:295 msgid "Build a road" msgstr "Build a road" #. Menu entry #: ../client/gtk/gui.c:298 ../client/gtk/legend.c:193 #: ../editor/gtk/game-buildings.c:10 msgid "Ship" msgstr "Ship" #. Tooltip for Ship menu entry #: ../client/gtk/gui.c:300 msgid "Build a ship" msgstr "Build a ship" #. Menu entry #: ../client/gtk/gui.c:303 msgid "Move Ship" msgstr "Move Ship" #. Tooltip for Move Ship menu entry #: ../client/gtk/gui.c:305 msgid "Move a ship" msgstr "Move a ship" #. Menu entry #: ../client/gtk/gui.c:308 ../client/gtk/legend.c:196 #: ../editor/gtk/game-buildings.c:10 msgid "Bridge" msgstr "Bridge" #. Tooltip for Bridge menu entry #: ../client/gtk/gui.c:310 msgid "Build a bridge" msgstr "Build a bridge" #. Menu entry #: ../client/gtk/gui.c:313 ../client/gtk/legend.c:198 ../client/gtk/player.c:52 #: ../editor/gtk/game-buildings.c:10 msgid "Settlement" msgstr "Settlement" #. Tooltip for Settlement menu entry #: ../client/gtk/gui.c:316 msgid "Build a settlement" msgstr "Build a settlement" #. Menu entry #: ../client/gtk/gui.c:319 ../client/gtk/legend.c:199 ../client/gtk/player.c:53 #: ../editor/gtk/game-buildings.c:11 msgid "City" msgstr "City" #. Tooltip for City menu entry #: ../client/gtk/gui.c:321 msgid "Build a city" msgstr "Build a city" #. Menu entry #: ../client/gtk/gui.c:324 msgid "Develop" msgstr "Develop" #. Tooltip for Develop menu entry #: ../client/gtk/gui.c:326 msgid "Buy a development card" msgstr "Buy a development card" #. Menu entry #: ../client/gtk/gui.c:329 msgid "City Wall" msgstr "City Wall" #. Tooltip for City Wall menu entry #: ../client/gtk/gui.c:331 msgid "Build a city wall" msgstr "Build a city wall" #. Menu entry #: ../client/gtk/gui.c:335 msgid "_Settings" msgstr "_Settings" #. Menu entry #: ../client/gtk/gui.c:338 msgid "Prefere_nces" msgstr "Prefere_nces" #. Tooltip for Preferences menu entry #: ../client/gtk/gui.c:340 msgid "Configure the application" msgstr "Configure the application" #. Menu entry #: ../client/gtk/gui.c:344 ../editor/gtk/editor.c:1721 msgid "_View" msgstr "_View" #. Menu entry #: ../client/gtk/gui.c:347 ../editor/gtk/editor.c:1765 msgid "_Reset" msgstr "_Reset" #. Tooltip for Reset menu entry #: ../client/gtk/gui.c:350 ../editor/gtk/editor.c:1768 msgid "View the full map" msgstr "View the full map" #. Menu entry #: ../client/gtk/gui.c:353 ../editor/gtk/editor.c:1771 msgid "_Center" msgstr "_Centre" #. Tooltip for Center menu entry #: ../client/gtk/gui.c:355 ../editor/gtk/editor.c:1773 msgid "Center the map" msgstr "Centre the map" #. Menu entry #: ../client/gtk/gui.c:359 ../client/gtk/gui.c:368 ../editor/gtk/editor.c:1724 #: ../server/gtk/main.c:94 msgid "_Help" msgstr "_Help" #. Menu entry #: ../client/gtk/gui.c:362 msgid "_About Pioneers" msgstr "_About Pioneers" #. Tooltip for About Pioneers menu entry #: ../client/gtk/gui.c:364 msgid "Information about Pioneers" msgstr "Information about Pioneers" #. Tooltip for Help menu entry #: ../client/gtk/gui.c:370 ../client/gtk/gui.c:1258 msgid "Show the manual" msgstr "Show the manual" #. Menu entry #: ../client/gtk/gui.c:378 ../editor/gtk/editor.c:1791 msgid "_Fullscreen" msgstr "_Fullscreen" #. Tooltip for Fullscreen menu entry #: ../client/gtk/gui.c:381 ../editor/gtk/editor.c:1794 msgid "Set window to full screen mode" msgstr "Set window to full screen mode" #. Menu entry #: ../client/gtk/gui.c:386 msgid "_Toolbar" msgstr "_Toolbar" #. Tooltip for Toolbar menu entry #: ../client/gtk/gui.c:388 msgid "Show or hide the toolbar" msgstr "Show or hide the toolbar" #. Victory points target in statusbar #: ../client/gtk/gui.c:491 #, c-format msgid "Points needed to win: %i" msgstr "Points needed to win: %i" #: ../client/gtk/gui.c:577 msgid "Messages" msgstr "Messages" #. Tab page name #: ../client/gtk/gui.c:703 ../editor/gtk/editor.c:1946 msgid "Map" msgstr "Map" #. Tooltip #: ../client/gtk/gui.c:712 msgid "Finish trading" msgstr "Finish trading" #. Tab page name #. Button text #: ../client/gtk/gui.c:722 ../client/gtk/quote.c:339 msgid "Quote" msgstr "Quote" #. Tooltip #: ../client/gtk/gui.c:724 msgid "Reject domestic trade" msgstr "Reject domestic trade" #. Tab page name #. Dialog caption #: ../client/gtk/gui.c:734 ../client/gtk/legend.c:249 msgid "Legend" msgstr "Legend" #. Tab page name, shown for the splash screen #: ../client/gtk/gui.c:744 msgid "Welcome to Pioneers" msgstr "Welcome to Pioneers" #. Caption of preferences dialog #: ../client/gtk/gui.c:1028 msgid "Pioneers Preferences" msgstr "Pioneers Preferences" #. Button text #: ../client/gtk/gui.c:1034 ../client/gtk/histogram.c:252 #: ../client/gtk/legend.c:253 ../client/gtk/settingscreen.c:413 msgid "_Close" msgstr "_Close" #. Label for changing the theme, in the preferences dialog #: ../client/gtk/gui.c:1059 msgid "Theme:" msgstr "Theme:" #. Tooltip for changing the theme in the preferences dialog #: ../client/gtk/gui.c:1082 msgid "Choose one of the themes" msgstr "Choose one of the themes" #. Label for the option to show the legend #: ../client/gtk/gui.c:1086 msgid "Show legend" msgstr "Show legend" #. Tooltip for the option to show the legend #: ../client/gtk/gui.c:1096 msgid "Show the legend as a page beside the map" msgstr "Show the legend as a page beside the map" #. Label for the option to display log messages in color #: ../client/gtk/gui.c:1101 msgid "Messages with color" msgstr "Messages with colour" #. Tooltip for the option to display log messages in color #: ../client/gtk/gui.c:1111 msgid "Show new messages with color" msgstr "Show new messages with colour" #. Label for the option to display chat in color of player #: ../client/gtk/gui.c:1116 msgid "Chat in color of player" msgstr "Chat in colour of player" #. Tooltip for the option to display chat in color of player #: ../client/gtk/gui.c:1127 msgid "Show new chat messages in the color of the player" msgstr "Show new chat messages in the colour of the player" #. Label for the option to display the summary with colors #: ../client/gtk/gui.c:1132 msgid "Summary with color" msgstr "Summary with colour" #. Tooltip for the option to display the summary with colors #: ../client/gtk/gui.c:1143 msgid "Use colors in the player summary" msgstr "Use colours in the player summary" #. Label for the option to display keyboard accelerators in the toolbar #: ../client/gtk/gui.c:1148 msgid "Toolbar with shortcuts" msgstr "Toolbar with shortcuts" #. Tooltip for the option to display keyboard accelerators in the toolbar #: ../client/gtk/gui.c:1158 msgid "Show keyboard shortcuts in the toolbar" msgstr "Show keyboard shortcuts in the toolbar" #. Label for the option to disable all sounds #: ../client/gtk/gui.c:1164 msgid "Silent mode" msgstr "Silent mode" #. Tooltip for the option to disable all sounds #: ../client/gtk/gui.c:1170 msgid "In silent mode no sounds are made" msgstr "In silent mode no sounds are made" #. Label for the option to announce when players/spectators enter #: ../client/gtk/gui.c:1176 msgid "Announce new players" msgstr "Announce new players" #. Tooltip for the option to use sound when players/spectators enter #: ../client/gtk/gui.c:1186 msgid "Make a sound when a new player or spectator enters the game" msgstr "Make a sound when a new player or spectator enters the game" #. Label for the option to use the notifications. #: ../client/gtk/gui.c:1198 msgid "Show notifications" msgstr "Show notifications" #. Tooltip for notifications option. #: ../client/gtk/gui.c:1208 msgid "Show notifications when it's your turn or when new trade is available" msgstr "Show notifications when it's your turn or when new trade is available" #. Label for the option to use the 16:9 layout. #: ../client/gtk/gui.c:1214 msgid "Use 16:9 layout" msgstr "Use 16:9 layout" #. Tooltip for 16:9 option. #: ../client/gtk/gui.c:1224 msgid "Use a 16:9 friendly layout for the window" msgstr "Use a 16:9 friendly layout for the window" #. Caption of about box #: ../client/gtk/gui.c:1233 msgid "About Pioneers" msgstr "About Pioneers" #. Initial text in status bar #: ../client/gtk/gui.c:1544 ../client/gtk/offline.c:107 msgid "Welcome to Pioneers!" msgstr "Welcome to Pioneers!" #. The name of the application #. Name of the application #: ../client/gtk/gui.c:1606 ../client/gtk/offline.c:209 #: ../client/gtk/pioneers.desktop.in.h:1 msgid "Pioneers" msgstr "Pioneers" #. Dialog caption #: ../client/gtk/histogram.c:248 msgid "Dice Histogram" msgstr "Dice Histogram" #: ../client/gtk/interface.c:111 msgid "Ship movement canceled." msgstr "Ship movement cancelled." #: ../client/gtk/interface.c:119 ../client/gtk/interface.c:120 msgid "Select a new location for the ship." msgstr "Select a new location for the ship." #. Notification #: ../client/gtk/interface.c:919 msgid "It is your turn to setup." msgstr "It is your turn to setup." #: ../client/gtk/legend.c:34 msgid "Hill" msgstr "Hill" #: ../client/gtk/legend.c:35 msgid "Field" msgstr "Field" #: ../client/gtk/legend.c:36 msgid "Mountain" msgstr "Mountain" #: ../client/gtk/legend.c:37 msgid "Pasture" msgstr "Pasture" #: ../client/gtk/legend.c:38 msgid "Forest" msgstr "Forest" #: ../client/gtk/legend.c:39 msgid "Desert" msgstr "Desert" #: ../client/gtk/legend.c:40 msgid "Sea" msgstr "Sea" #. Label #: ../client/gtk/legend.c:132 msgid "Terrain yield" msgstr "Terrain yield" #. Label #: ../client/gtk/legend.c:165 msgid "Building costs" msgstr "Building costs" #: ../client/gtk/legend.c:203 ../client/gtk/player.c:54 #: ../editor/gtk/game-buildings.c:11 msgid "City wall" msgstr "City wall" #: ../client/gtk/legend.c:206 ../client/gtk/player.c:65 msgid "Development card" msgstr "Development card" #. Dialog caption #. Name of the development card #: ../client/gtk/monopoly.c:84 ../common/cards.c:86 msgid "Monopoly" msgstr "Monopoly" #. Label #: ../client/gtk/monopoly.c:106 msgid "Select the resource you wish to monopolize." msgstr "Select the resource you wish to monopolise." #. Dialog caption #: ../client/gtk/name.c:141 msgid "Change Player Name" msgstr "Change Player Name" #. Label #: ../client/gtk/name.c:172 msgid "Player name:" msgstr "Player name:" #. Label: set player icon preferences #: ../client/gtk/name.c:234 msgid "Face:" msgstr "Face:" #. Label: set player icon preferences #: ../client/gtk/name.c:250 msgid "Variant:" msgstr "Variant:" #: ../client/gtk/offline.c:61 msgid "Connect as a spectator" msgstr "Connect as a spectator" #: ../client/gtk/offline.c:64 msgid "Metaserver Host" msgstr "Metaserver Host" #: ../client/gtk/offline.c:78 msgid "Select a game to join." msgstr "Select a game to join." #: ../client/gtk/offline.c:94 msgid "Connecting" msgstr "Connecting" #. Long description in the commandline for pioneers: help #: ../client/gtk/offline.c:183 msgid "- Play a game of Pioneers" msgstr "- Play a game of Pioneers" #: ../client/gtk/pioneers.desktop.in.h:2 msgid "Play a game of Pioneers" msgstr "Play a game of Pioneers" #: ../client/gtk/pioneers.desktop.in.h:3 msgid "game;board;play;Pioneers;Settlers;" msgstr "game;board;play;Pioneers;Settlers;" #: ../client/gtk/player.c:52 msgid "Settlements" msgstr "Settlements" #: ../client/gtk/player.c:53 msgid "Cities" msgstr "Cities" #: ../client/gtk/player.c:54 msgid "City walls" msgstr "City walls" #: ../client/gtk/player.c:55 msgid "Largest army" msgstr "Largest army" #: ../client/gtk/player.c:56 msgid "Longest road" msgstr "Longest road" #. Name of the development card #: ../client/gtk/player.c:57 ../common/cards.c:92 msgid "Chapel" msgstr "Chapel" #: ../client/gtk/player.c:57 msgid "Chapels" msgstr "Chapels" #. Name of the development card #: ../client/gtk/player.c:58 ../common/cards.c:95 msgid "Pioneer university" msgstr "Pioneer university" #: ../client/gtk/player.c:58 msgid "Pioneer universities" msgstr "Pioneer universities" #. Name of the development card #: ../client/gtk/player.c:60 ../common/cards.c:98 msgid "Governor's house" msgstr "Governor's house" #: ../client/gtk/player.c:60 msgid "Governor's houses" msgstr "Governor's houses" #. Name of the development card #: ../client/gtk/player.c:61 ../common/cards.c:101 msgid "Library" msgstr "Library" #: ../client/gtk/player.c:61 msgid "Libraries" msgstr "Libraries" #. Name of the development card #: ../client/gtk/player.c:62 ../common/cards.c:104 msgid "Market" msgstr "Market" #: ../client/gtk/player.c:62 msgid "Markets" msgstr "Markets" #. Name of the development card #: ../client/gtk/player.c:63 ../common/cards.c:107 msgid "Soldier" msgstr "Soldier" #: ../client/gtk/player.c:63 msgid "Soldiers" msgstr "Soldiers" #: ../client/gtk/player.c:64 msgid "Resource card" msgstr "Resource card" #: ../client/gtk/player.c:64 msgid "Resource cards" msgstr "Resource cards" #. Caption #: ../client/gtk/player.c:65 ../editor/gtk/editor.c:1305 msgid "Development cards" msgstr "Development cards" #. Caption for the overview of the points and card of other players #: ../client/gtk/player.c:559 msgid "Player summary" msgstr "Player summary" #. Dialog caption #: ../client/gtk/plenty.c:61 msgid "Year of Plenty" msgstr "Year of Plenty" #: ../client/gtk/plenty.c:92 msgid "Please choose one resource from the bank" msgstr "Please choose one resource from the bank" #: ../client/gtk/plenty.c:95 msgid "Please choose two resources from the bank" msgstr "Please choose two resources from the bank" #: ../client/gtk/plenty.c:97 msgid "The bank is empty" msgstr "The bank is empty" #: ../client/gtk/quote.c:187 #, c-format msgid "%s has %s, and is looking for %s" msgstr "%s has %s, and is looking for %s" #. Notification #: ../client/gtk/quote.c:217 #, c-format msgid "New offer from %s." msgstr "New offer from %s." #. Notification #: ../client/gtk/quote.c:242 #, c-format msgid "Offer from %s." msgstr "Offer from %s." #. Label #. Frame title, trade: I want to trade these resources #: ../client/gtk/quote.c:316 ../client/gtk/trade.c:524 msgid "I want" msgstr "I want" #. Label #. Frame title, trade: I want these resources in return #: ../client/gtk/quote.c:326 ../client/gtk/trade.c:530 msgid "Give them" msgstr "Give them" #. Button text #: ../client/gtk/quote.c:345 msgid "Delete" msgstr "Delete" #. Button text #: ../client/gtk/quote.c:370 msgid "Reject Domestic Trade" msgstr "Reject Domestic Trade" #. Now create columns #. Table header: Player who trades #. Role of the player: player #: ../client/gtk/quote-view.c:170 ../server/gtk/main.c:684 msgid "Player" msgstr "Player" #. Table header: Quote #: ../client/gtk/quote-view.c:185 msgid "Quotes" msgstr "Quotes" #. trade: maritime quote: %1 resources of type %2 for #. * one resource of type %3 #: ../client/gtk/quote-view.c:303 #, c-format msgid "%d:1 %s for %s" msgstr "%d:1 %s for %s" #. Trade: a player has rejected trade #: ../client/gtk/quote-view.c:442 msgid "Rejected trade" msgstr "Rejected trade" #. Caption for overview of the resources of the player #: ../client/gtk/resource.c:71 msgid "Resources" msgstr "Resources" #. Label #: ../client/gtk/resource.c:86 msgid "Total" msgstr "Total" #. Tooltip for the amount of resources in the hand #: ../client/gtk/resource-table.c:180 msgid "Amount in hand" msgstr "Amount in hand" #. Button for decreasing the selected amount #: ../client/gtk/resource-table.c:185 msgid "" msgstr "more>" #. Tooltip for increasing the selected amount #: ../client/gtk/resource-table.c:226 msgid "Increase the selected amount" msgstr "Increase the selected amount" #. Tooltip for the selected amount #: ../client/gtk/resource-table.c:243 msgid "Selected amount" msgstr "Selected amount" #. Tooltip for the total selected amount #: ../client/gtk/resource-table.c:288 msgid "Total selected amount" msgstr "Total selected amount" #. Tooltip when the bank cannot be emptied #: ../client/gtk/resource-table.c:307 msgid "The bank cannot be emptied" msgstr "The bank cannot be emptied" #: ../client/gtk/settingscreen.c:74 msgid "Yes" msgstr "Yes" #: ../client/gtk/settingscreen.c:76 ../client/gtk/settingscreen.c:240 msgid "No" msgstr "No" #: ../client/gtk/settingscreen.c:87 ../client/gtk/settingscreen.c:187 msgid "Unknown" msgstr "Unknown" #: ../client/gtk/settingscreen.c:121 msgid "No game in progress..." msgstr "No game in progress..." #. Label #: ../client/gtk/settingscreen.c:132 msgid "General settings" msgstr "General settings" #: ../client/gtk/settingscreen.c:149 msgid "Number of players:" msgstr "Number of players:" #: ../client/gtk/settingscreen.c:153 msgid "Victory point target:" msgstr "Victory point target:" #: ../client/gtk/settingscreen.c:157 msgid "Random terrain:" msgstr "Random terrain:" #: ../client/gtk/settingscreen.c:161 msgid "Allow trade between players:" msgstr "Allow trade between players:" #: ../client/gtk/settingscreen.c:166 msgid "Allow trade only before building or buying:" msgstr "Allow trade only before building or buying:" #: ../client/gtk/settingscreen.c:171 msgid "Check victory only at end of turn:" msgstr "Check victory only at end of turn:" #: ../client/gtk/settingscreen.c:176 msgid "Amount of each resource:" msgstr "Amount of each resource:" #: ../client/gtk/settingscreen.c:190 msgid "Sevens rule:" msgstr "Sevens rule:" #: ../client/gtk/settingscreen.c:196 msgid "Use dice deck instead of dice:" msgstr "Use dice deck instead of dice:" #: ../client/gtk/settingscreen.c:201 msgid "Number of dice decks:" msgstr "Number of dice decks:" #: ../client/gtk/settingscreen.c:207 msgid "Number of dice cards removed after shuffling:" msgstr "Number of dice cards removed after shuffling:" #: ../client/gtk/settingscreen.c:214 msgid "Use the pirate to block ships:" msgstr "Use the pirate to block ships:" #: ../client/gtk/settingscreen.c:243 msgid "Island discovery bonuses:" msgstr "Island discovery bonuses:" #. Label #: ../client/gtk/settingscreen.c:260 msgid "Building quotas" msgstr "Building quotas" #: ../client/gtk/settingscreen.c:277 msgid "Roads:" msgstr "Roads:" #: ../client/gtk/settingscreen.c:283 msgid "Settlements:" msgstr "Settlements:" #: ../client/gtk/settingscreen.c:289 msgid "Cities:" msgstr "Cities:" #: ../client/gtk/settingscreen.c:295 msgid "City walls:" msgstr "City walls:" #: ../client/gtk/settingscreen.c:301 msgid "Ships:" msgstr "Ships:" #: ../client/gtk/settingscreen.c:307 msgid "Bridges:" msgstr "Bridges:" #. Label #: ../client/gtk/settingscreen.c:320 msgid "Development card deck" msgstr "Development card deck" #: ../client/gtk/settingscreen.c:336 msgid "Road building cards:" msgstr "Road building cards:" #: ../client/gtk/settingscreen.c:340 msgid "Monopoly cards:" msgstr "Monopoly cards:" #: ../client/gtk/settingscreen.c:344 msgid "Year of plenty cards:" msgstr "Year of plenty cards:" #: ../client/gtk/settingscreen.c:348 msgid "Chapel cards:" msgstr "Chapel cards:" #: ../client/gtk/settingscreen.c:352 msgid "Pioneer university cards:" msgstr "Pioneer university cards:" #: ../client/gtk/settingscreen.c:356 msgid "Governor's house cards:" msgstr "Governor's house cards:" #: ../client/gtk/settingscreen.c:360 msgid "Library cards:" msgstr "Library cards:" #: ../client/gtk/settingscreen.c:364 msgid "Market cards:" msgstr "Market cards:" #: ../client/gtk/settingscreen.c:368 msgid "Soldier cards:" msgstr "Soldier cards:" #. Dialog caption #: ../client/gtk/settingscreen.c:407 msgid "Current Game Settings" msgstr "Current Game Settings" #. trade: you ask for something for free #: ../client/gtk/trade.c:205 #, c-format msgid "ask for %s for free" msgstr "ask for %s for free" #. trade: you give something away for free #: ../client/gtk/trade.c:210 #, c-format msgid "give %s for free" msgstr "give %s for free" #. trade: you trade something for something else #: ../client/gtk/trade.c:215 #, c-format msgid "give %s for %s" msgstr "give %s for %s" #. I want some resources, and give them some resources #: ../client/gtk/trade.c:242 #, c-format msgid "I want %s, and give them %s" msgstr "I want %s, and give them %s" #. Notification #: ../client/gtk/trade.c:348 #, c-format msgid "Quote received from %s." msgstr "Quote received from %s." #. Button text, trade: call for quotes from other players #: ../client/gtk/trade.c:539 msgid "_Call for Quotes" msgstr "_Call for Quotes" #. Button text: Trade page, accept selected quote #: ../client/gtk/trade.c:568 msgid "_Accept Quote" msgstr "_Accept Quote" #. Button text: Trade page, finish trading #: ../client/gtk/trade.c:574 msgid "_Finish Trading" msgstr "_Finish Trading" #. Name of the development card #: ../common/cards.c:83 msgid "Road building" msgstr "Road building" #. Name of the development card #: ../common/cards.c:89 msgid "Year of plenty" msgstr "Year of plenty" #. Description of the 'Road Building' development card #: ../common/cards.c:118 msgid "Build two new roads" msgstr "Build two new roads" #. Description of the 'Monopoly' development card #: ../common/cards.c:121 msgid "" "Select a resource type and take every card of that type held by all other " "players" msgstr "" "Select a resource type and take every card of that type held by all other " "players" #. Description of the 'Year of Plenty' development card #: ../common/cards.c:125 msgid "" "Take two resource cards of any type from the bank (cards may be of the same " "or different types)" msgstr "" "Take two resource cards of any type from the bank (cards may be of the same " "or different types)" #. Description of a development card of 1 victory point #: ../common/cards.c:134 msgid "One victory point" msgstr "One victory point" #. Description of the 'Soldier' development card #: ../common/cards.c:137 msgid "" "Move the robber to a different space and take one resource card from another " "player adjacent to that space" msgstr "" "Move the robber to a different space and take one resource card from another " "player adjacent to that space" #: ../common/game.c:523 #, c-format msgid "Obsolete rule: '%s'\n" msgstr "Obsolete rule: '%s'\n" #: ../common/game.c:530 #, c-format msgid "" "The game uses the new rule '%s', which is not yet supported. Consider " "upgrading.\n" msgstr "" "The game uses the new rule '%s', which is not yet supported. Consider " "upgrading.\n" #: ../common/game.c:924 ../common/game.c:955 msgid "This game cannot be won." msgstr "This game cannot be won." #: ../common/game.c:925 msgid "There is no land." msgstr "There is no land." #: ../common/game.c:959 msgid "It is possible that this game cannot be won." msgstr "It is possible that this game cannot be won." #: ../common/game.c:965 msgid "This game can be won by only building all settlements and cities." msgstr "This game can be won by only building all settlements and cities." #: ../common/game.c:971 #, c-format msgid "" "Required victory points: %d\n" "Points obtained by building all: %d\n" "Points in development cards: %u\n" "Longest road/largest army: %d+%d\n" "Maximum island discovery bonus: %d\n" "Total: %d" msgstr "" "Required victory points: %d\n" "Points obtained by building all: %d\n" "Points in development cards: %u\n" "Longest road/largest army: %d+%d\n" "Maximum island discovery bonus: %d\n" "Total: %d" #: ../common/game-list.c:111 #, c-format msgid "Looking for games in '%s'\n" msgstr "Looking for games in '%s'\n" #: ../common/game-list.c:113 #, c-format msgid "Game directory '%s' not found\n" msgstr "Game directory '%s' not found\n" #: ../common/game-list.c:131 #, c-format msgid "Unable to load game: '%s'\n" msgstr "Unable to load game: '%s'\n" #: ../common/game-list.c:151 msgid "No games available\n" msgstr "No games available\n" #: ../common/gtk/aboutbox.c:53 msgid "" "Pioneers is based upon the excellent\n" "Settlers of Catan board game.\n" msgstr "" "Pioneers is based upon the excellent\n" "Settlers of Catan board game.\n" #. Translators: add your name here. Keep the list #. * alphabetically, do not remove any names, and add #. * \n after your name (except the last name). #. #: ../common/gtk/aboutbox.c:63 msgid "translator-credits" msgstr "" "Roland Clobus \n" "Philipp Kleinhenz https://launchpad.net/~zweistecken" #. Caption for result of checking victory points #: ../common/gtk/common_gtk.c:324 msgid "Victory Point Analysis" msgstr "Victory Point Analysis" #. Tooltip for sevens rule normal #: ../common/gtk/game-rules.c:110 msgid "All sevens move the robber or pirate" msgstr "All sevens move the robber or pirate" #. Tooltip for sevens rule reroll on 1st 2 turns #: ../common/gtk/game-rules.c:114 msgid "In the first two turns all sevens are rerolled" msgstr "In the first two turns all sevens are rerolled" #. Tooltip for sevens rule reroll all #: ../common/gtk/game-rules.c:118 msgid "All sevens are rerolled" msgstr "All sevens are rerolled" #: ../common/gtk/game-rules.c:129 msgid "Randomize terrain" msgstr "Randomise terrain" #: ../common/gtk/game-rules.c:129 msgid "Randomize the terrain" msgstr "Randomise the terrain" #: ../common/gtk/game-rules.c:132 msgid "Use pirate" msgstr "Use pirate" #: ../common/gtk/game-rules.c:133 msgid "Use the pirate to block ships" msgstr "Use the pirate to block ships" #: ../common/gtk/game-rules.c:135 msgid "Strict trade" msgstr "Strict trade" #: ../common/gtk/game-rules.c:136 msgid "Allow trade only before building or buying" msgstr "Allow trade only before building or buying" #: ../common/gtk/game-rules.c:138 msgid "Domestic trade" msgstr "Domestic trade" #: ../common/gtk/game-rules.c:139 msgid "Allow trade between players" msgstr "Allow trade between players" #: ../common/gtk/game-rules.c:141 msgid "Victory at end of turn" msgstr "Victory at end of turn" #: ../common/gtk/game-rules.c:142 msgid "Check for victory only at end of turn" msgstr "Check for victory only at end of turn" #: ../common/gtk/game-rules.c:145 msgid "Use dice deck" msgstr "Use dice deck" #: ../common/gtk/game-rules.c:147 msgid "Use a deck of 36 dice cards instead of real dice" msgstr "Use a deck of 36 dice cards instead of real dice" #. Label #: ../common/gtk/game-rules.c:155 msgid "Number of dice decks" msgstr "Number of dice decks" #: ../common/gtk/game-rules.c:172 msgid "The number of dice decks (of 36 cards each)" msgstr "The number of dice decks (of 36 cards each)" #. Label #: ../common/gtk/game-rules.c:180 msgid "Number of removed dice cards" msgstr "Number of removed dice cards" #: ../common/gtk/game-rules.c:199 msgid "The number of dice cards that are removed after shuffling the deck" msgstr "The number of dice cards that are removed after shuffling the deck" #. Label #: ../common/gtk/game-rules.c:207 msgid "Island discovery bonuses" msgstr "Island discovery bonuses" #. Tooltip for island bonus #: ../common/gtk/game-rules.c:219 msgid "A comma separated list of bonus points for discovering islands" msgstr "A comma separated list of bonus points for discovering islands" #. Tooltip for the check button #: ../common/gtk/game-rules.c:237 msgid "Check and correct island discovery bonuses" msgstr "Check and correct island discovery bonuses" #. Label text for customising a game #: ../common/gtk/game-settings.c:105 msgid "Number of players" msgstr "Number of players" #. Tooltip for 'Number of Players' #: ../common/gtk/game-settings.c:124 msgid "The number of players" msgstr "The number of players" #. Label for customising a game #: ../common/gtk/game-settings.c:127 msgid "Victory point target" msgstr "Victory point target" #. Tooltip for Victory Point Target #: ../common/gtk/game-settings.c:147 msgid "The points needed to win the game" msgstr "The points needed to win the game" #. Tooltip for the check button #: ../common/gtk/game-settings.c:161 msgid "Is it possible to win this game?" msgstr "Is it possible to win this game?" #. Port indicator for a resource: trade 2 for 1 #: ../common/gtk/guimap.c:742 msgid "2:1" msgstr "2:1" #. Port indicator: trade 3 for 1 #. General port indicator #: ../common/gtk/guimap.c:745 ../common/gtk/guimap.c:770 msgid "3:1" msgstr "3:1" #. Port indicator for brick #: ../common/gtk/guimap.c:750 msgid "Brick port|B" msgstr "B" #. Port indicator for grain #: ../common/gtk/guimap.c:754 msgid "Grain port|G" msgstr "G" #. Port indicator for ore #: ../common/gtk/guimap.c:758 msgid "Ore port|O" msgstr "O" #. Port indicator for wool #: ../common/gtk/guimap.c:762 msgid "Wool port|W" msgstr "W" #. Port indicator for lumber #: ../common/gtk/guimap.c:766 msgid "Lumber port|L" msgstr "L" #. Tooltip for the list of metaservers #: ../common/gtk/metaserver.c:85 msgid "Select a metaserver" msgstr "Select a metaserver" #. Tooltip for the list of games #: ../common/gtk/select-game.c:135 msgid "Select a game" msgstr "Select a game" #. Log prefix #: ../common/log.c:58 msgid "*ERROR* " msgstr "*ERROR* " #. Log prefix #: ../common/log.c:66 msgid "Chat: " msgstr "Chat: " #. Log prefix #: ../common/log.c:70 msgid "Resource: " msgstr "Resource: " #. Log prefix #: ../common/log.c:74 msgid "Build: " msgstr "Build: " #. Log prefix #: ../common/log.c:78 msgid "Dice: " msgstr "Dice: " #. Log prefix #: ../common/log.c:82 msgid "Steal: " msgstr "Steal: " #. Log prefix #: ../common/log.c:86 msgid "Trade: " msgstr "Trade: " #. Log prefix #: ../common/log.c:90 msgid "Development: " msgstr "Development: " #. Log prefix #: ../common/log.c:94 msgid "Army: " msgstr "Army: " #. Log prefix #: ../common/log.c:98 msgid "Road: " msgstr "Road: " #. Log prefix #: ../common/log.c:102 msgid "*BEEP* " msgstr "*BEEP* " #. Log prefix #: ../common/log.c:108 msgid "Player 1: " msgstr "Player 1: " #. Log prefix #: ../common/log.c:112 msgid "Player 2: " msgstr "Player 2: " #. Log prefix #: ../common/log.c:116 msgid "Player 3: " msgstr "Player 3: " #. Log prefix #: ../common/log.c:120 msgid "Player 4: " msgstr "Player 4: " #. Log prefix #: ../common/log.c:124 msgid "Player 5: " msgstr "Player 5: " #. Log prefix #: ../common/log.c:128 msgid "Player 6: " msgstr "Player 6: " #. Log prefix #: ../common/log.c:132 msgid "Player 7: " msgstr "Player 7: " #. Log prefix #: ../common/log.c:136 msgid "Player 8: " msgstr "Player 8: " #. Log prefix #: ../common/log.c:140 msgid "Spectator: " msgstr "Spectator: " #. Log prefix #: ../common/log.c:144 msgid "** UNKNOWN MESSAGE TYPE ** " msgstr "** UNKNOWN MESSAGE TYPE ** " #: ../common/network.c:143 #, c-format msgid "Error writing to socket: %s\n" msgstr "Error writing to socket: %s\n" #: ../common/network.c:154 msgid "Could not send all data\n" msgstr "Could not send all data\n" #: ../common/network.c:202 msgid "Read buffer overflow - disconnecting\n" msgstr "Read buffer overflow - disconnecting\n" #: ../common/network.c:226 #, c-format msgid "Error reading socket: %s\n" msgstr "Error reading socket: %s\n" #: ../common/network.c:378 #, c-format msgid "Error connecting to %s: %s\n" msgstr "Error connecting to %s: %s\n" #: ../common/network.c:566 ../common/network.c:567 msgid "unknown" msgstr "unknown" #: ../common/state.c:203 #, c-format msgid "Connecting to %s, port %s\n" msgstr "Connecting to %s, port %s\n" #. Error message #: ../common/state.c:333 msgid "State stack overflow. Stack dump sent to standard error.\n" msgstr "State stack overflow. Stack dump sent to standard error.\n" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:113 msgid "_Hill" msgstr "_Hill" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:115 msgid "_Field" msgstr "_Field" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:117 msgid "_Mountain" msgstr "_Mountain" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:119 msgid "_Pasture" msgstr "_Pasture" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:121 msgid "F_orest" msgstr "F_orest" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:123 msgid "_Desert" msgstr "_Desert" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:125 msgid "_Sea" msgstr "_Sea" #. Use an unique shortcut key for each resource #: ../editor/gtk/editor.c:127 msgid "_Gold" msgstr "_Gold" #. Use an unique shortcut key for each resource #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:129 ../editor/gtk/editor.c:144 msgid "_None" msgstr "_None" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:134 msgid "_Brick (2:1)" msgstr "_Brick (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:136 msgid "_Grain (2:1)" msgstr "_Grain (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:138 msgid "_Ore (2:1)" msgstr "_Ore (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:140 msgid "_Wool (2:1)" msgstr "_Wool (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:142 msgid "_Lumber (2:1)" msgstr "_Lumber (2:1)" #. Use an unique shortcut key for each port type #: ../editor/gtk/editor.c:146 msgid "_Any (3:1)" msgstr "_Any (3:1)" #. East #: ../editor/gtk/editor.c:151 msgid "East|E" msgstr "E" #. North east #: ../editor/gtk/editor.c:153 msgid "North East|NE" msgstr "NE" #. North west #: ../editor/gtk/editor.c:155 msgid "North West|NW" msgstr "NW" #. West #: ../editor/gtk/editor.c:157 msgid "West|W" msgstr "W" #. South west #: ../editor/gtk/editor.c:159 msgid "South West|SW" msgstr "SW" #. South east #: ../editor/gtk/editor.c:161 msgid "South East|SE" msgstr "SE" #: ../editor/gtk/editor.c:368 msgid "Place a hill hex" msgstr "Place a hill hex" #: ../editor/gtk/editor.c:369 msgid "Place a field hex" msgstr "Place a field hex" #: ../editor/gtk/editor.c:370 msgid "Place a mountain hex" msgstr "Place a mountain hex" #: ../editor/gtk/editor.c:371 msgid "Place a pasture hex" msgstr "Place a pasture hex" #: ../editor/gtk/editor.c:372 msgid "Place a forest hex" msgstr "Place a forest hex" #: ../editor/gtk/editor.c:373 msgid "Place a desert hex" msgstr "Place a desert hex" #: ../editor/gtk/editor.c:374 msgid "Place a sea hex" msgstr "Place a sea hex" #: ../editor/gtk/editor.c:375 msgid "Place a gold hex" msgstr "Place a gold hex" #: ../editor/gtk/editor.c:376 msgid "Clear the hex" msgstr "Clear the hex" #: ../editor/gtk/editor.c:384 msgid "Place a 2 chit" msgstr "Place a 2 chit" #: ../editor/gtk/editor.c:385 msgid "Place a 3 chit" msgstr "Place a 3 chit" #: ../editor/gtk/editor.c:386 msgid "Place a 4 chit" msgstr "Place a 4 chit" #: ../editor/gtk/editor.c:387 msgid "Place a 5 chit" msgstr "Place a 5 chit" #: ../editor/gtk/editor.c:388 msgid "Place a 6 chit" msgstr "Place a 6 chit" #: ../editor/gtk/editor.c:390 msgid "Place an 8 chit" msgstr "Place an 8 chit" #: ../editor/gtk/editor.c:391 msgid "Place a 9 chit" msgstr "Place a 9 chit" #: ../editor/gtk/editor.c:392 msgid "Place a 10 chit" msgstr "Place a 10 chit" #: ../editor/gtk/editor.c:393 msgid "Place an 11 chit" msgstr "Place an 11 chit" #: ../editor/gtk/editor.c:394 msgid "Place a 12 chit" msgstr "Place a 12 chit" #: ../editor/gtk/editor.c:400 msgid "Place a brick 2:1 port" msgstr "Place a brick 2:1 port" #: ../editor/gtk/editor.c:401 msgid "Place a grain 2:1 port" msgstr "Place a grain 2:1 port" #: ../editor/gtk/editor.c:402 msgid "Place an ore 2:1 port" msgstr "Place an ore 2:1 port" #: ../editor/gtk/editor.c:403 msgid "Place a wool 2:1 port" msgstr "Place a wool 2:1 port" #: ../editor/gtk/editor.c:404 msgid "Place a lumber 2:1 port" msgstr "Place a lumber 2:1 port" #. Tooltip to remove a port tile in the editor #: ../editor/gtk/editor.c:406 msgid "Remove a port" msgstr "Remove a port" #: ../editor/gtk/editor.c:407 msgid "Place a 3:1 port" msgstr "Place a 3:1 port" #: ../editor/gtk/editor.c:437 msgid "" "Select the terrain type with the context menu on the left click or toggle a " "node to exclude it from being used during the setup phase" msgstr "" "Select the terrain type with the context menu on the left click or toggle a " "node to exclude it from being used during the setup phase" #: ../editor/gtk/editor.c:572 msgid "Insert a row" msgstr "Insert a row" #: ../editor/gtk/editor.c:573 msgid "Delete a row" msgstr "Delete a row" #: ../editor/gtk/editor.c:574 msgid "Insert a column" msgstr "Insert a column" #: ../editor/gtk/editor.c:575 msgid "Delete a column" msgstr "Delete a column" #. Label #: ../editor/gtk/editor.c:978 msgid "_Title" msgstr "_Title" #. Label #: ../editor/gtk/editor.c:991 msgid "_Description" msgstr "_Description" #. Label #: ../editor/gtk/editor.c:1009 msgid "_Comments" msgstr "_Comments" #. Menu item #: ../editor/gtk/editor.c:1139 msgid "Shuffle" msgstr "Shuffle" #. Caption #. Game settings frame #: ../editor/gtk/editor.c:1294 ../server/gtk/main.c:968 msgid "Game parameters" msgstr "Game parameters" #. Caption #. Rules frame #: ../editor/gtk/editor.c:1297 ../server/gtk/main.c:983 msgid "Rules" msgstr "Rules" #. Caption #: ../editor/gtk/editor.c:1299 msgid "Resources" msgstr "Resources" #. Caption #: ../editor/gtk/editor.c:1302 msgid "Buildings" msgstr "Buildings" #. The game in the editor does not have a name yet #: ../editor/gtk/editor.c:1319 msgid "Untitled" msgstr "Untitled" #. Application caption #: ../editor/gtk/editor.c:1324 ../editor/gtk/pioneers-editor.desktop.in.h:1 msgid "Pioneers Editor" msgstr "Pioneers Editor" #: ../editor/gtk/editor.c:1434 #, c-format msgid "Failed to load '%s'" msgstr "Failed to load '%s'" #: ../editor/gtk/editor.c:1482 #, c-format msgid "Failed to save to '%s'" msgstr "Failed to save to '%s'" #. Name of the file filter: show only games #: ../editor/gtk/editor.c:1499 msgid "Games" msgstr "Games" #. Name of the file filter: show all files #: ../editor/gtk/editor.c:1505 msgid "Unfiltered" msgstr "Unfiltered" #. Dialog caption #: ../editor/gtk/editor.c:1517 msgid "Open Game" msgstr "Open Game" #. Button text #: ../editor/gtk/editor.c:1524 msgid "_Open" msgstr "_Open" #. Dialog caption #: ../editor/gtk/editor.c:1558 msgid "Save As..." msgstr "Save As..." #. Button text #: ../editor/gtk/editor.c:1565 msgid "Save _As" msgstr "Save _As" #. Dialog caption #: ../editor/gtk/editor.c:1606 msgid "Change Title" msgstr "Change Title" #. Label #: ../editor/gtk/editor.c:1631 msgid "New title:" msgstr "New title:" #. Caption of about box #: ../editor/gtk/editor.c:1688 msgid "About Pioneers Game Editor" msgstr "About Pioneers Game Editor" #. Menu entry #: ../editor/gtk/editor.c:1718 msgid "_File" msgstr "_File" #. Menu entry #: ../editor/gtk/editor.c:1728 msgid "_New" msgstr "_New" #: ../editor/gtk/editor.c:1729 msgid "Create a new game" msgstr "Create a new game" #. Menu entry #: ../editor/gtk/editor.c:1732 msgid "_Open..." msgstr "_Open..." #. Tooltip for Open menu entry #: ../editor/gtk/editor.c:1734 msgid "Open an existing game" msgstr "Open an existing game" #. Menu entry #: ../editor/gtk/editor.c:1737 msgid "_Save" msgstr "_Save" #. Tooltip for Save menu entry #: ../editor/gtk/editor.c:1739 msgid "Save game" msgstr "Save game" #. Menu entry #: ../editor/gtk/editor.c:1742 msgid "Save _As..." msgstr "Save _As..." #. Tooltip for Save As menu entry #: ../editor/gtk/editor.c:1745 msgid "Save as" msgstr "Save as" #. Menu entry #: ../editor/gtk/editor.c:1748 msgid "Change _Title" msgstr "Change _Title" #. Tooltip for Change Title menu entry #: ../editor/gtk/editor.c:1750 msgid "Change game title" msgstr "Change game title" #. Menu entry #: ../editor/gtk/editor.c:1753 ../server/gtk/main.c:97 msgid "_Check Victory Point Target" msgstr "_Check Victory Point Target" #. Tooltip for Check Victory Point Target menu entry #. Tooltop for Check Victory Point Target menu entry #: ../editor/gtk/editor.c:1756 ../server/gtk/main.c:100 msgid "Check whether the game can be won" msgstr "Check whether the game can be won" #. Tooltip for Quit menu entry #: ../editor/gtk/editor.c:1761 msgid "Quit" msgstr "Quit" #. Menu entry #: ../editor/gtk/editor.c:1783 msgid "_About Pioneers Editor" msgstr "_About Pioneers Editor" #. Tooltip for About Pioneers Editor menu entry #: ../editor/gtk/editor.c:1785 msgid "Information about Pioneers Editor" msgstr "Information about Pioneers Editor" #. Long help for commandline option (editor): filename #: ../editor/gtk/editor.c:1838 msgid "Open this file" msgstr "Open this file" #. Commandline option for editor: filename #. Commandline metaserver: pidfile argument #: ../editor/gtk/editor.c:1840 ../metaserver/main.c:615 msgid "filename" msgstr "filename" #. Long description in the command line: --help #: ../editor/gtk/editor.c:1877 msgid "- Editor for games of Pioneers" msgstr "- Editor for games of Pioneers" #. Error message #: ../editor/gtk/editor.c:1921 ../server/gtk/main.c:1256 #, c-format msgid "Building menus failed: %s" msgstr "Building menus failed: %s" #. Tab page name #: ../editor/gtk/editor.c:1951 msgid "Settings" msgstr "Settings" #. Tab page name #: ../editor/gtk/editor.c:1954 msgid "Comments" msgstr "Comments" #: ../editor/gtk/game-resources.c:48 msgid "Resource count" msgstr "Resource count" #: ../editor/gtk/pioneers-editor.desktop.in.h:2 msgid "Create your own game for Pioneers" msgstr "Create your own game for Pioneers" #: ../editor/gtk/pioneers-editor.desktop.in.h:3 msgid "game;board;create;edit;layout;Pioneers;Settlers;" msgstr "game;board;create;edit;layout;Pioneers;Settlers;" #. Commandline metaserver: daemon #: ../metaserver/main.c:610 msgid "Daemonize the metaserver on start" msgstr "Daemonise the metaserver on start" #. Commandline metaserver: pidfile #: ../metaserver/main.c:613 msgid "Pidfile to create when daemonizing (implies -d)" msgstr "Pidfile to create when daemonising (implies -d)" #. Commandline metaserver: redirect #: ../metaserver/main.c:618 msgid "Redirect clients to another metaserver" msgstr "Redirect clients to another metaserver" #. Commandline metaserver: server #: ../metaserver/main.c:621 msgid "Use this hostname when creating new games" msgstr "Use this hostname when creating new games" #. Commandline metaserver: server argument #: ../metaserver/main.c:623 msgid "hostname" msgstr "hostname" #. Commandline metaserver: port-range #: ../metaserver/main.c:626 msgid "Use this port range when creating new games" msgstr "Use this port range when creating new games" #. Commandline metaserver: port-range argument #: ../metaserver/main.c:628 msgid "from-to" msgstr "from-to" #. Commandline option of metaserver: syslog-debug #: ../metaserver/main.c:634 msgid "Debug syslog messages" msgstr "Debug syslog messages" #. Long description in the commandline for metaserver: help #: ../metaserver/main.c:675 msgid "- Metaserver for Pioneers" msgstr "- Metaserver for Pioneers" #: ../metaserver/main.c:691 #, c-format msgid "metaserver protocol:" msgstr "metaserver protocol:" #: ../server/avahi.c:68 msgid "Avahi registration successful.\n" msgstr "Avahi registration successful.\n" #: ../server/avahi.c:78 #, c-format msgid "Avahi service name collision, renaming service to '%s'.\n" msgstr "Avahi service name collision, renaming service to '%s'.\n" #. Some kind of failure happened while we were registering #: ../server/avahi.c:89 #, c-format msgid "Avahi error: %s\n" msgstr "Avahi error: %s\n" #: ../server/avahi.c:113 ../server/avahi.c:145 ../server/avahi.c:155 #: ../server/avahi.c:191 ../server/avahi.c:212 ../server/avahi.c:226 #, c-format msgid "Avahi error: %s, %s\n" msgstr "Avahi error: %s, %s\n" #: ../server/avahi.c:213 ../server/avahi.c:227 msgid "Unable to register Avahi server" msgstr "Unable to register Avahi server" #: ../server/avahi.c:260 msgid "Unregistering Avahi.\n" msgstr "Unregistering Avahi.\n" #. Menu entry #: ../server/gtk/main.c:108 msgid "_About Pioneers Server" msgstr "_About Pioneers Server" #. Tooltop for About Pioneers Server menu entry #: ../server/gtk/main.c:110 msgid "Information about Pioneers Server" msgstr "Information about Pioneers Server" #: ../server/gtk/main.c:234 msgid "Stop Server" msgstr "Stop Server" #: ../server/gtk/main.c:235 msgid "Start Server" msgstr "Start Server" #: ../server/gtk/main.c:237 ../server/gtk/main.c:996 msgid "Stop the server" msgstr "Stop the server" #: ../server/gtk/main.c:238 msgid "Start the server" msgstr "Start the server" #: ../server/gtk/main.c:395 #, c-format msgid "Player %s from %s entered\n" msgstr "Player %s from %s entered\n" #: ../server/gtk/main.c:402 #, c-format msgid "Player %s from %s left\n" msgstr "Player %s from %s left\n" #: ../server/gtk/main.c:409 #, c-format msgid "Player %d is now %s\n" msgstr "Player %d is now %s\n" #: ../server/gtk/main.c:570 msgid "The port for the game server" msgstr "The port for the game server" #. register_toggle #: ../server/gtk/main.c:579 msgid "Register server" msgstr "Register server" #: ../server/gtk/main.c:587 msgid "Register this game at the metaserver" msgstr "Register this game at the metaserver" #. hostname label #: ../server/gtk/main.c:618 msgid "Reported hostname" msgstr "Reported hostname" #: ../server/gtk/main.c:633 msgid "" "The public name of this computer (needed when playing behind a firewall)" msgstr "" "The public name of this computer (needed when playing behind a firewall)" #. random toggle #: ../server/gtk/main.c:652 msgid "Random turn order" msgstr "Random turn order" #: ../server/gtk/main.c:659 msgid "Randomize turn order" msgstr "Randomise turn order" #. Tooltip for server connection overview #: ../server/gtk/main.c:730 msgid "Shows all players and spectators connected to the server" msgstr "Shows all players and spectators connected to the server" #. Label for column Connected #: ../server/gtk/main.c:735 msgid "Connected" msgstr "Connected" #. Tooltip for column Connected #: ../server/gtk/main.c:742 msgid "Is the player currently connected?" msgstr "Is the player currently connected?" #. Label for column Name #: ../server/gtk/main.c:747 msgid "Name" msgstr "Name" #. Tooltip for column Name #: ../server/gtk/main.c:754 msgid "Name of the player" msgstr "Name of the player" #. Label for column Location #: ../server/gtk/main.c:758 msgid "Location" msgstr "Location" #. Tooltip for column Location #: ../server/gtk/main.c:765 msgid "Host name of the player" msgstr "Host name of the player" #. Label for column Number #: ../server/gtk/main.c:771 msgid "Number" msgstr "Number" #. Tooltip for column Number #: ../server/gtk/main.c:778 msgid "Player number" msgstr "Player number" #. Label for column Role #: ../server/gtk/main.c:784 msgid "Role" msgstr "Role" #. Tooltip for column Role #: ../server/gtk/main.c:788 msgid "Player or spectator" msgstr "Player or spectator" #. Button text #: ../server/gtk/main.c:825 msgid "Launch Pioneers Client" msgstr "Launch Pioneers Client" #. Tooltip #: ../server/gtk/main.c:839 msgid "Launch the Pioneers client" msgstr "Launch the Pioneers client" #. ai chat toggle #: ../server/gtk/main.c:868 msgid "Enable chat" msgstr "Enable chat" #. Tooltip #: ../server/gtk/main.c:875 msgid "Enable chat messages" msgstr "Enable chat messages" #. Button text #: ../server/gtk/main.c:884 msgid "Add Computer Player" msgstr "Add Computer Player" #. Tooltip #: ../server/gtk/main.c:892 msgid "Add a computer player to the game" msgstr "Add a computer player to the game" #. Tooltip #: ../server/gtk/main.c:925 msgid "Messages from the server" msgstr "Messages from the server" #: ../server/gtk/main.c:961 msgid "Game settings" msgstr "Game settings" #. server frame #: ../server/gtk/main.c:972 msgid "Server parameters" msgstr "Server parameters" #: ../server/gtk/main.c:992 msgid "Running game" msgstr "Running game" #. player connected frame #: ../server/gtk/main.c:1008 msgid "Players connected" msgstr "Players connected" #. ai frame #: ../server/gtk/main.c:1012 msgid "Computer players" msgstr "Computer players" #. message frame #: ../server/gtk/main.c:1024 msgid "Messages" msgstr "Messages" #. Caption of about box #: ../server/gtk/main.c:1150 msgid "About the Pioneers Game Server" msgstr "About the Pioneers Game Server" #. Wait for all players to disconnect, #. * then enable the UI #. #: ../server/gtk/main.c:1158 msgid "The game is over.\n" msgstr "The game is over.\n" #. Long description in the commandline for server-gtk: help #. Long description in the commandline for server-console: help #: ../server/gtk/main.c:1212 ../server/main.c:194 msgid "- Host a game of Pioneers" msgstr "- Host a game of Pioneers" #. Name in the titlebar of the server #: ../server/gtk/main.c:1236 ../server/gtk/pioneers-server-gtk.desktop.in.h:1 msgid "Pioneers Server" msgstr "Pioneers Server" #: ../server/gtk/pioneers-server-gtk.desktop.in.h:2 msgid "Host a game of Pioneers" msgstr "Host a game of Pioneers" #: ../server/gtk/pioneers-server-gtk.desktop.in.h:3 msgid "game;board;server;host;Pioneers;Settlers;" msgstr "game;board;server;host;Pioneers;Settlers;" #. Commandline server-console: game-title #: ../server/main.c:80 msgid "Game title to use" msgstr "Game title to use" #. Commandline server-console: file #: ../server/main.c:83 msgid "Game file to use" msgstr "Game file to use" #. Commandline server-console: port #: ../server/main.c:86 msgid "Port to listen on" msgstr "Port to listen on" #. Commandline server-console: players #: ../server/main.c:89 msgid "Override number of players" msgstr "Override number of players" #. Commandline server-console: points #: ../server/main.c:92 msgid "Override number of points needed to win" msgstr "Override number of points needed to win" #. Commandline server-console: seven-rule #: ../server/main.c:95 msgid "Override seven-rule handling" msgstr "Override seven-rule handling" #. Commandline server-console: dice-deck #: ../server/main.c:98 msgid "Override dice-deck handling" msgstr "Override dice-deck handling" #. Commandline server-console: num-dice-decks #: ../server/main.c:101 msgid "Override num-dice-decks handling" msgstr "Override num-dice-decks handling" #. Commandline server-console: num-removed-dice-cards #: ../server/main.c:105 msgid "Override num-removed-dice-cards handling" msgstr "Override num-removed-dice-cards handling" #. Commandline server-console: terrain #: ../server/main.c:108 msgid "Override terrain type, 0=default 1=random" msgstr "Override terrain type, 0=default 1=random" #. Commandline server-console: computer-players #: ../server/main.c:111 msgid "Add N computer players" msgstr "Add N computer players" #. Commandline server-console: register #: ../server/main.c:121 msgid "Register server with metaserver" msgstr "Register server with metaserver" #. Commandline server-console: metaserver #: ../server/main.c:124 msgid "Register at metaserver name (implies -r)" msgstr "Register at metaserver name (implies -r)" #. Commandline server-console: hostname #: ../server/main.c:128 msgid "Use this hostname when registering" msgstr "Use this hostname when registering" #. Commandline server-console: auto-quit #: ../server/main.c:135 msgid "Quit after a player has won" msgstr "Quit after a player has won" #. Commandline server-console: empty-timeout #: ../server/main.c:138 msgid "Quit after N seconds with no players" msgstr "Quit after N seconds with no players" #. Commandline server-console: tournament #: ../server/main.c:141 msgid "Tournament mode, computer players added after N minutes" msgstr "Tournament mode, computer players added after N minutes" #. Commandline server-console: admin-port #: ../server/main.c:145 msgid "Admin port to listen on" msgstr "Admin port to listen on" #. Commandline server-console: admin-wait #: ../server/main.c:148 msgid "Don't start game immediately, wait for a command on admin port" msgstr "Don't start game immediately, wait for a command on admin port" #. Commandline server-console: fixed-seating-order #: ../server/main.c:154 msgid "Give players numbers according to the order they enter the game" msgstr "Give players numbers according to the order they enter the game" #. Commandline server-console: Short description of meta group #: ../server/main.c:200 msgid "Metaserver Options" msgstr "Metaserver Options" #. Commandline server-console: Long description of meta group #: ../server/main.c:202 msgid "Options for the metaserver" msgstr "Options for the metaserver" #. Commandline server-console: Short description of misc group #: ../server/main.c:211 msgid "Miscellaneous Options" msgstr "Miscellaneous Options" #. Commandline server-console: Long description of misc group #: ../server/main.c:213 msgid "Miscellaneous options" msgstr "Miscellaneous options" #. server-console commandline error #: ../server/main.c:239 #, c-format msgid "Cannot set game title and filename at the same time\n" msgstr "Cannot set game title and filename at the same time\n" #. server-console commandline error #: ../server/main.c:256 #, c-format msgid "Cannot load the parameters for the game\n" msgstr "Cannot load the parameters for the game\n" #. Error message #: ../server/main.c:305 ../server/main.c:324 #, c-format msgid "The network port (%s) for the admin interface is not available.\n" msgstr "The network port (%s) for the admin interface is not available.\n" #: ../server/meta.c:58 msgid "The connection to the metaserver is lost.\n" msgstr "The connection to the metaserver is lost.\n" #: ../server/meta.c:64 #, c-format msgid "An attempt to reconnect is scheduled in %u second.\n" msgid_plural "An attempt to reconnect is scheduled in %u seconds.\n" msgstr[0] "An attempt to reconnect is scheduled in %u second.\n" msgstr[1] "An attempt to reconnect is scheduled in %u seconds.\n" #: ../server/meta.c:83 msgid "Attempting to reconnect to the metaserver.\n" msgstr "Attempting to reconnect to the metaserver.\n" #: ../server/meta.c:311 #, c-format msgid "Register with the metaserver at %s.\n" msgstr "Register with the metaserver at %s.\n" #: ../server/meta.c:322 msgid "Unregister from the metaserver.\n" msgstr "Unregister from the metaserver.\n" #: ../server/player.c:142 msgid "chat too long" msgstr "chat too long" #: ../server/player.c:159 msgid "name too long" msgstr "name too long" #: ../server/player.c:191 msgid "ignoring unknown extension" msgstr "ignoring unknown extension" #: ../server/player.c:228 ../server/player.c:298 msgid "The last player left, the tournament timer is reset." msgstr "The last player left, the tournament timer is reset." #: ../server/player.c:262 ../server/player.c:643 msgid "No human players present. Bye." msgstr "No human players present. Bye." #: ../server/player.c:269 msgid "Game starts, adding computer players." msgstr "Game starts, adding computer players." #: ../server/player.c:311 #, c-format msgid "The game starts in %s minutes." msgstr "The game starts in %s minutes." #: ../server/player.c:312 #, c-format msgid "The game starts in %s minute." msgstr "The game starts in %s minute." #. Default name for the AI when the computer_names file #. * is not found or empty. #. #: ../server/player.c:370 ../server/player.c:376 msgid "Computer Player" msgstr "Computer Player" #: ../server/player.c:450 #, c-format msgid "Unable to determine the hostname of the player: %s" msgstr "Unable to determine the hostname of the player: %s" #. The game is over, don't accept new players #. Message to send to the client when the game is already over #. * when a connection is made. #: ../server/player.c:476 msgid "Sorry, game is over." msgstr "Sorry, game is over." #: ../server/player.c:478 #, c-format msgid "Player from %s is refused: game is over\n" msgstr "Player from %s is refused: game is over\n" #: ../server/player.c:520 msgid "Name not changed: new name is already in use" msgstr "Name not changed: new name is already in use" #: ../server/player.c:638 ../server/server.c:38 msgid "Was hanging around for too long without players... bye.\n" msgstr "Was hanging around for too long without players... bye.\n" #: ../server/player.c:723 msgid "The last human player left. Waiting for the return of a player." msgstr "The last human player left. Waiting for the return of a player." #: ../server/player.c:744 msgid "Resuming the game." msgstr "Resuming the game." #. %s is the name of the reconnecting player #: ../server/player.c:870 #, c-format msgid "%s has reconnected." msgstr "%s has reconnected." #: ../server/player.c:970 #, c-format msgid "Version mismatch: %s" msgstr "Version mismatch: %s" #: ../server/player.c:1007 msgid "This game will start soon." msgstr "This game will start soon." #. Server: preparing game #..... #: ../server/server.c:221 msgid "Preparing game" msgstr "Preparing game" #: ../server/turn.c:254 msgid "Island Discovery Bonus" msgstr "Island Discovery Bonus" #: ../server/turn.c:255 msgid "Additional Island Bonus" msgstr "Additional Island Bonus" #: ../server/turn.c:386 msgid "Tried to assign resources to NULL player.\n" msgstr "Tried to assign resources to NULL player.\n" #. Cheat mode has been activated #: ../server/turn.c:516 msgid "The dice roll has been determined by the administrator." msgstr "The dice roll has been determined by the administrator." pioneers-15.5/Doxyfile0000644000175000017500000022575413252243607011742 00000000000000# Doxyfile 1.8.1.2 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project. # # All text after a hash (#) is considered a comment and will be ignored. # The format is: # TAG = value [value, ...] # For lists items can also be appended using: # TAG += value [value, ...] # Values that contain spaces should be placed between quotes (" "). #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- # This tag specifies the encoding used for all characters in the config file # that follow. The default is UTF-8 which is also the encoding used for all # text before the first occurrence of this tag. Doxygen uses libiconv (or the # iconv built into libc) for the transcoding. See # http://www.gnu.org/software/libiconv for the list of possible encodings. DOXYFILE_ENCODING = UTF-8 # The PROJECT_NAME tag is a single word (or sequence of words) that should # identify the project. Note that if you do not use Doxywizard you need # to put quotes around the project name if it contains spaces. PROJECT_NAME = Pioneers # The PROJECT_NUMBER tag can be used to enter a project or revision number. # This could be handy for archiving the generated documentation or # if some version control system is used. PROJECT_NUMBER = 15.5 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer # a quick idea about the purpose of the project. Keep the description short. PROJECT_BRIEF = # With the PROJECT_LOGO tag one can specify an logo or icon that is # included in the documentation. The maximum height of the logo should not # exceed 55 pixels and the maximum width should not exceed 200 pixels. # Doxygen will copy the logo to the output directory. PROJECT_LOGO = client/gtk/data/pioneers.48x48_apps.png # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. # If a relative path is entered, it will be relative to the location # where doxygen was started. If left blank the current directory will be used. OUTPUT_DIRECTORY = # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create # 4096 sub-directories (in 2 levels) under the output directory of each output # format and will distribute the generated files over these directories. # Enabling this option can be useful when feeding doxygen a huge amount of # source files, where putting all generated files in the same directory would # otherwise cause performance problems for the file system. CREATE_SUBDIRS = NO # The OUTPUT_LANGUAGE tag is used to specify the language in which all # documentation generated by doxygen is written. Doxygen will use this # information to generate all constant output in the proper language. # The default language is English, other supported languages are: # Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, # Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, # Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English # messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, # Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, # Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. OUTPUT_LANGUAGE = English # If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will # include brief member descriptions after the members that are listed in # the file and class documentation (similar to JavaDoc). # Set to NO to disable this. BRIEF_MEMBER_DESC = YES # If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend # the brief description of a member or function before the detailed description. # Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the # brief descriptions will be completely suppressed. REPEAT_BRIEF = YES # This tag implements a quasi-intelligent brief description abbreviator # that is used to form the text in various listings. Each string # in this list, if found as the leading text of the brief description, will be # stripped from the text and the result after processing the whole list, is # used as the annotated text. Otherwise, the brief description is used as-is. # If left blank, the following values are used ("$name" is automatically # replaced with the name of the entity): "The $name class" "The $name widget" # "The $name file" "is" "provides" "specifies" "contains" # "represents" "a" "an" "the" ABBREVIATE_BRIEF = "The $name class" \ "The $name widget" \ "The $name file" \ is \ provides \ specifies \ contains \ represents \ a \ an \ the # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then # Doxygen will generate a detailed section even if there is only a brief # description. ALWAYS_DETAILED_SEC = NO # If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all # inherited members of a class in the documentation of that class as if those # members were ordinary class members. Constructors, destructors and assignment # operators of the base classes will not be shown. INLINE_INHERITED_MEMB = NO # If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full # path before files name in the file list and in the header files. If set # to NO the shortest path that makes the file name unique will be used. FULL_PATH_NAMES = YES # If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag # can be used to strip a user-defined part of the path. Stripping is # only done if one of the specified strings matches the left-hand part of # the path. The tag can be used to show relative paths in the file list. # If left blank the directory from which doxygen is run is used as the # path to strip. STRIP_FROM_PATH = # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of # the path mentioned in the documentation of a class, which tells # the reader which header file to include in order to use a class. # If left blank only the name of the header file containing the class # definition is used. Otherwise one should specify the include paths that # are normally passed to the compiler using the -I flag. STRIP_FROM_INC_PATH = # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter # (but less readable) file names. This can be useful if your file system # doesn't support long names like on DOS, Mac, or CD-ROM. SHORT_NAMES = NO # If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen # will interpret the first line (until the first dot) of a JavaDoc-style # comment as the brief description. If set to NO, the JavaDoc # comments will behave just like regular Qt-style comments # (thus requiring an explicit @brief command for a brief description.) JAVADOC_AUTOBRIEF = YES # If the QT_AUTOBRIEF tag is set to YES then Doxygen will # interpret the first line (until the first dot) of a Qt-style # comment as the brief description. If set to NO, the comments # will behave just like regular Qt-style comments (thus requiring # an explicit \brief command for a brief description.) QT_AUTOBRIEF = NO # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen # treat a multi-line C++ special comment block (i.e. a block of //! or /// # comments) as a brief description. This used to be the default behaviour. # The new default is to treat a multi-line C++ comment block as a detailed # description. Set this tag to YES if you prefer the old behaviour instead. MULTILINE_CPP_IS_BRIEF = NO # If the INHERIT_DOCS tag is set to YES (the default) then an undocumented # member inherits the documentation from any documented member that it # re-implements. INHERIT_DOCS = YES # If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce # a new page for each member. If set to NO, the documentation of a member will # be part of the file/class/namespace that contains it. SEPARATE_MEMBER_PAGES = NO # The TAB_SIZE tag can be used to set the number of spaces in a tab. # Doxygen uses this value to replace tabs by spaces in code fragments. TAB_SIZE = 8 # This tag can be used to specify a number of aliases that acts # as commands in the documentation. An alias has the form "name=value". # For example adding "sideeffect=\par Side Effects:\n" will allow you to # put the command \sideeffect (or @sideeffect) in the documentation, which # will result in a user-defined paragraph with heading "Side Effects:". # You can put \n's in the value part of an alias to insert newlines. ALIASES = # This tag can be used to specify a number of word-keyword mappings (TCL only). # A mapping has the form "name=value". For example adding # "class=itcl::class" will allow you to use the command class in the # itcl::class meaning. TCL_SUBST = # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C # sources only. Doxygen will then generate output that is more tailored for C. # For instance, some of the names that are used will be different. The list # of all members will be omitted, etc. OPTIMIZE_OUTPUT_FOR_C = YES # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java # sources only. Doxygen will then generate output that is more tailored for # Java. For instance, namespaces will be presented as packages, qualified # scopes will look different, etc. OPTIMIZE_OUTPUT_JAVA = NO # Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran # sources only. Doxygen will then generate output that is more tailored for # Fortran. OPTIMIZE_FOR_FORTRAN = NO # Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL # sources. Doxygen will then generate output that is tailored for # VHDL. OPTIMIZE_OUTPUT_VHDL = NO # Doxygen selects the parser to use depending on the extension of the files it # parses. With this tag you can assign which parser to use for a given extension. # Doxygen has a built-in mapping, but you can override or extend it using this # tag. The format is ext=language, where ext is a file extension, and language # is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C, # C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make # doxygen treat .inc files as Fortran files (default is PHP), and .f files as C # (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions # you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. EXTENSION_MAPPING = # If MARKDOWN_SUPPORT is enabled (the default) then doxygen pre-processes all # comments according to the Markdown format, which allows for more readable # documentation. See http://daringfireball.net/projects/markdown/ for details. # The output of markdown processing is further processed by doxygen, so you # can mix doxygen, HTML, and XML commands with Markdown formatting. # Disable only in case of backward compatibilities issues. MARKDOWN_SUPPORT = YES # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want # to include (a tag file for) the STL sources as input, then you should # set this tag to YES in order to let doxygen match functions declarations and # definitions whose arguments contain STL classes (e.g. func(std::string); v.s. # func(std::string) {}). This also makes the inheritance and collaboration # diagrams that involve STL classes more complete and accurate. BUILTIN_STL_SUPPORT = NO # If you use Microsoft's C++/CLI language, you should set this option to YES to # enable parsing support. CPP_CLI_SUPPORT = NO # Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. # Doxygen will parse them like normal C++ but will assume all classes use public # instead of private inheritance when no explicit protection keyword is present. SIP_SUPPORT = NO # For Microsoft's IDL there are propget and propput attributes to indicate getter # and setter methods for a property. Setting this option to YES (the default) # will make doxygen replace the get and set methods by a property in the # documentation. This will only work if the methods are indeed getting or # setting a simple type. If this is not the case, or you want to show the # methods anyway, you should set this option to NO. IDL_PROPERTY_SUPPORT = YES # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC # tag is set to YES, then doxygen will reuse the documentation of the first # member in the group (if any) for the other members of the group. By default # all members of a group must be documented explicitly. DISTRIBUTE_GROUP_DOC = NO # Set the SUBGROUPING tag to YES (the default) to allow class member groups of # the same type (for instance a group of public functions) to be put as a # subgroup of that type (e.g. under the Public Functions section). Set it to # NO to prevent subgrouping. Alternatively, this can be done per class using # the \nosubgrouping command. SUBGROUPING = YES # When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and # unions are shown inside the group in which they are included (e.g. using # @ingroup) instead of on a separate page (for HTML and Man pages) or # section (for LaTeX and RTF). INLINE_GROUPED_CLASSES = NO # When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and # unions with only public data fields will be shown inline in the documentation # of the scope in which they are defined (i.e. file, namespace, or group # documentation), provided this scope is documented. If set to NO (the default), # structs, classes, and unions are shown on a separate page (for HTML and Man # pages) or section (for LaTeX and RTF). INLINE_SIMPLE_STRUCTS = NO # When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum # is documented as struct, union, or enum with the name of the typedef. So # typedef struct TypeS {} TypeT, will appear in the documentation as a struct # with name TypeT. When disabled the typedef will appear as a member of a file, # namespace, or class. And the struct will be named TypeS. This can typically # be useful for C code in case the coding convention dictates that all compound # types are typedef'ed and only the typedef is referenced, never the tag name. TYPEDEF_HIDES_STRUCT = YES # The SYMBOL_CACHE_SIZE determines the size of the internal cache use to # determine which symbols to keep in memory and which to flush to disk. # When the cache is full, less often used symbols will be written to disk. # For small to medium size projects (<1000 input files) the default value is # probably good enough. For larger projects a too small cache size can cause # doxygen to be busy swapping symbols to and from disk most of the time # causing a significant performance penalty. # If the system has enough physical memory increasing the cache will improve the # performance by keeping more symbols in memory. Note that the value works on # a logarithmic scale so increasing the size by one will roughly double the # memory usage. The cache size is given by this formula: # 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, # corresponding to a cache size of 2^16 = 65536 symbols. SYMBOL_CACHE_SIZE = 0 # Similar to the SYMBOL_CACHE_SIZE the size of the symbol lookup cache can be # set using LOOKUP_CACHE_SIZE. This cache is used to resolve symbols given # their name and scope. Since this can be an expensive process and often the # same symbol appear multiple times in the code, doxygen keeps a cache of # pre-resolved symbols. If the cache is too small doxygen will become slower. # If the cache is too large, memory is wasted. The cache size is given by this # formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range is 0..9, the default is 0, # corresponding to a cache size of 2^16 = 65536 symbols. LOOKUP_CACHE_SIZE = 0 #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in # documentation are documented, even if no documentation was available. # Private class members and static file members will be hidden unless # the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES EXTRACT_ALL = NO # If the EXTRACT_PRIVATE tag is set to YES all private members of a class # will be included in the documentation. EXTRACT_PRIVATE = YES # If the EXTRACT_PACKAGE tag is set to YES all members with package or internal scope will be included in the documentation. EXTRACT_PACKAGE = NO # If the EXTRACT_STATIC tag is set to YES all static members of a file # will be included in the documentation. EXTRACT_STATIC = NO # If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) # defined locally in source files will be included in the documentation. # If set to NO only classes defined in header files are included. EXTRACT_LOCAL_CLASSES = YES # This flag is only useful for Objective-C code. When set to YES local # methods, which are defined in the implementation section but not in # the interface are included in the documentation. # If set to NO (the default) only methods in the interface are included. EXTRACT_LOCAL_METHODS = NO # If this flag is set to YES, the members of anonymous namespaces will be # extracted and appear in the documentation as a namespace called # 'anonymous_namespace{file}', where file will be replaced with the base # name of the file that contains the anonymous namespace. By default # anonymous namespaces are hidden. EXTRACT_ANON_NSPACES = NO # If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all # undocumented members of documented classes, files or namespaces. # If set to NO (the default) these members will be included in the # various overviews, but no documentation section is generated. # This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_MEMBERS = NO # If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all # undocumented classes that are normally visible in the class hierarchy. # If set to NO (the default) these classes will be included in the various # overviews. This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_CLASSES = NO # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all # friend (class|struct|union) declarations. # If set to NO (the default) these declarations will be included in the # documentation. HIDE_FRIEND_COMPOUNDS = NO # If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any # documentation blocks found inside the body of a function. # If set to NO (the default) these blocks will be appended to the # function's detailed documentation block. HIDE_IN_BODY_DOCS = NO # The INTERNAL_DOCS tag determines if documentation # that is typed after a \internal command is included. If the tag is set # to NO (the default) then the documentation will be excluded. # Set it to YES to include the internal documentation. INTERNAL_DOCS = YES # If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate # file names in lower-case letters. If set to YES upper-case letters are also # allowed. This is useful if you have classes or files whose names only differ # in case and if your file system supports case sensitive file names. Windows # and Mac users are advised to set this option to NO. CASE_SENSE_NAMES = YES # If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen # will show members with their full class and namespace scopes in the # documentation. If set to YES the scope will be hidden. HIDE_SCOPE_NAMES = NO # If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen # will put a list of the files that are included by a file in the documentation # of that file. SHOW_INCLUDE_FILES = YES # If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen # will list include files with double quotes in the documentation # rather than with sharp brackets. FORCE_LOCAL_INCLUDES = NO # If the INLINE_INFO tag is set to YES (the default) then a tag [inline] # is inserted in the documentation for inline members. INLINE_INFO = YES # If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen # will sort the (detailed) documentation of file and class members # alphabetically by member name. If set to NO the members will appear in # declaration order. SORT_MEMBER_DOCS = YES # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the # brief documentation of file, namespace and class members alphabetically # by member name. If set to NO (the default) the members will appear in # declaration order. SORT_BRIEF_DOCS = NO # If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen # will sort the (brief and detailed) documentation of class members so that # constructors and destructors are listed first. If set to NO (the default) # the constructors will appear in the respective orders defined by # SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. # This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO # and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. SORT_MEMBERS_CTORS_1ST = NO # If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the # hierarchy of group names into alphabetical order. If set to NO (the default) # the group names will appear in their defined order. SORT_GROUP_NAMES = NO # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be # sorted by fully-qualified names, including namespaces. If set to # NO (the default), the class list will be sorted only by class name, # not including the namespace part. # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. # Note: This option applies only to the class list, not to the # alphabetical list. SORT_BY_SCOPE_NAME = NO # If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to # do proper type resolution of all parameters of a function it will reject a # match between the prototype and the implementation of a member function even # if there is only one candidate or it is obvious which candidate to choose # by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen # will still accept a match between prototype and implementation in such cases. STRICT_PROTO_MATCHING = NO # The GENERATE_TODOLIST tag can be used to enable (YES) or # disable (NO) the todo list. This list is created by putting \todo # commands in the documentation. GENERATE_TODOLIST = YES # The GENERATE_TESTLIST tag can be used to enable (YES) or # disable (NO) the test list. This list is created by putting \test # commands in the documentation. GENERATE_TESTLIST = YES # The GENERATE_BUGLIST tag can be used to enable (YES) or # disable (NO) the bug list. This list is created by putting \bug # commands in the documentation. GENERATE_BUGLIST = YES # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or # disable (NO) the deprecated list. This list is created by putting # \deprecated commands in the documentation. GENERATE_DEPRECATEDLIST= YES # The ENABLED_SECTIONS tag can be used to enable conditional # documentation sections, marked by \if sectionname ... \endif. ENABLED_SECTIONS = # The MAX_INITIALIZER_LINES tag determines the maximum number of lines # the initial value of a variable or macro consists of for it to appear in # the documentation. If the initializer consists of more lines than specified # here it will be hidden. Use a value of 0 to hide initializers completely. # The appearance of the initializer of individual variables and macros in the # documentation can be controlled using \showinitializer or \hideinitializer # command in the documentation regardless of this setting. MAX_INITIALIZER_LINES = 30 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated # at the bottom of the documentation of classes and structs. If set to YES the # list will mention the files that were used to generate the documentation. SHOW_USED_FILES = YES # Set the SHOW_FILES tag to NO to disable the generation of the Files page. # This will remove the Files entry from the Quick Index and from the # Folder Tree View (if specified). The default is YES. SHOW_FILES = YES # Set the SHOW_NAMESPACES tag to NO to disable the generation of the # Namespaces page. # This will remove the Namespaces entry from the Quick Index # and from the Folder Tree View (if specified). The default is YES. SHOW_NAMESPACES = YES # The FILE_VERSION_FILTER tag can be used to specify a program or script that # doxygen should invoke to get the current version for each file (typically from # the version control system). Doxygen will invoke the program by executing (via # popen()) the command , where is the value of # the FILE_VERSION_FILTER tag, and is the name of an input file # provided by doxygen. Whatever the program writes to standard output # is used as the file version. See the manual for examples. FILE_VERSION_FILTER = # The LAYOUT_FILE tag can be used to specify a layout file which will be parsed # by doxygen. The layout file controls the global structure of the generated # output files in an output format independent way. To create the layout file # that represents doxygen's defaults, run doxygen with the -l option. # You can optionally specify a file name after the option, if omitted # DoxygenLayout.xml will be used as the name of the layout file. LAYOUT_FILE = # The CITE_BIB_FILES tag can be used to specify one or more bib files # containing the references data. This must be a list of .bib files. The # .bib extension is automatically appended if omitted. Using this command # requires the bibtex tool to be installed. See also # http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style # of the bibliography can be controlled using LATEX_BIB_STYLE. To use this # feature you need bibtex and perl available in the search path. CITE_BIB_FILES = #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- # The QUIET tag can be used to turn on/off the messages that are generated # by doxygen. Possible values are YES and NO. If left blank NO is used. QUIET = NO # The WARNINGS tag can be used to turn on/off the warning messages that are # generated by doxygen. Possible values are YES and NO. If left blank # NO is used. WARNINGS = YES # If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings # for undocumented members. If EXTRACT_ALL is set to YES then this flag will # automatically be disabled. WARN_IF_UNDOCUMENTED = YES # If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for # potential errors in the documentation, such as not documenting some # parameters in a documented function, or documenting parameters that # don't exist or using markup commands wrongly. WARN_IF_DOC_ERROR = YES # The WARN_NO_PARAMDOC option can be enabled to get warnings for # functions that are documented, but have no documentation for their parameters # or return value. If set to NO (the default) doxygen will only warn about # wrong or incomplete parameter documentation, but not about the absence of # documentation. WARN_NO_PARAMDOC = NO # The WARN_FORMAT tag determines the format of the warning messages that # doxygen can produce. The string should contain the $file, $line, and $text # tags, which will be replaced by the file and line number from which the # warning originated and the warning text. Optionally the format may contain # $version, which will be replaced by the version of the file (if it could # be obtained via FILE_VERSION_FILTER) WARN_FORMAT = "$file:$line: $text" # The WARN_LOGFILE tag can be used to specify a file to which warning # and error messages should be written. If left blank the output is written # to stderr. WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- # The INPUT tag can be used to specify the files and/or directories that contain # documented source files. You may enter file names like "myfile.cpp" or # directories like "/usr/src/myproject". Separate the files or directories # with spaces. INPUT = # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is # also the default input encoding. Doxygen uses libiconv (or the iconv built # into libc) for the transcoding. See http://www.gnu.org/software/libiconv for # the list of possible encodings. INPUT_ENCODING = UTF-8 # If the value of the INPUT tag contains directories, you can use the # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank the following patterns are tested: # *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh # *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py # *.f90 *.f *.for *.vhd *.vhdl FILE_PATTERNS = *.c \ *.h # The RECURSIVE tag can be used to turn specify whether or not subdirectories # should be searched for input files as well. Possible values are YES and NO. # If left blank NO is used. RECURSIVE = yes # The EXCLUDE tag can be used to specify files and/or directories that should be # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. # Note that relative paths are relative to the directory from which doxygen is # run. EXCLUDE = # The EXCLUDE_SYMLINKS tag can be used to select whether or not files or # directories that are symbolic links (a Unix file system feature) are excluded # from the input. EXCLUDE_SYMLINKS = NO # If the value of the INPUT tag contains directories, you can use the # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude # certain files from those directories. Note that the wildcards are matched # against the file with absolute path, so to exclude all test directories # for example use the pattern */test/* EXCLUDE_PATTERNS = # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names # (namespaces, classes, functions, etc.) that should be excluded from the # output. The symbol name can be a fully qualified name, a word, or if the # wildcard * is used, a substring. Examples: ANamespace, AClass, # AClass::ANamespace, ANamespace::*Test EXCLUDE_SYMBOLS = # The EXAMPLE_PATH tag can be used to specify one or more files or # directories that contain example code fragments that are included (see # the \include command). EXAMPLE_PATH = # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank all files are included. EXAMPLE_PATTERNS = * # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be # searched for input files to be used with the \include or \dontinclude # commands irrespective of the value of the RECURSIVE tag. # Possible values are YES and NO. If left blank NO is used. EXAMPLE_RECURSIVE = NO # The IMAGE_PATH tag can be used to specify one or more files or # directories that contain image that are included in the documentation (see # the \image command). IMAGE_PATH = # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program # by executing (via popen()) the command , where # is the value of the INPUT_FILTER tag, and is the name of an # input file. Doxygen will then use the output that the filter program writes # to standard output. # If FILTER_PATTERNS is specified, this tag will be # ignored. INPUT_FILTER = # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern # basis. # Doxygen will compare the file name with each pattern and apply the # filter if there is a match. # The filters are a list of the form: # pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further # info on how filters are used. If FILTER_PATTERNS is empty or if # non of the patterns match the file name, INPUT_FILTER is applied. FILTER_PATTERNS = # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using # INPUT_FILTER) will be used to filter the input files when producing source # files to browse (i.e. when SOURCE_BROWSER is set to YES). FILTER_SOURCE_FILES = NO # The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file # pattern. A pattern will override the setting for FILTER_PATTERN (if any) # and it is also possible to disable source filtering for a specific pattern # using *.ext= (so without naming a filter). This option only has effect when # FILTER_SOURCE_FILES is enabled. FILTER_SOURCE_PATTERNS = #--------------------------------------------------------------------------- # configuration options related to source browsing #--------------------------------------------------------------------------- # If the SOURCE_BROWSER tag is set to YES then a list of source files will # be generated. Documented entities will be cross-referenced with these sources. # Note: To get rid of all source code in the generated output, make sure also # VERBATIM_HEADERS is set to NO. SOURCE_BROWSER = NO # Setting the INLINE_SOURCES tag to YES will include the body # of functions and classes directly in the documentation. INLINE_SOURCES = NO # Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct # doxygen to hide any special comment blocks from generated source code # fragments. Normal C, C++ and Fortran comments will always remain visible. STRIP_CODE_COMMENTS = YES # If the REFERENCED_BY_RELATION tag is set to YES # then for each documented function all documented # functions referencing it will be listed. REFERENCED_BY_RELATION = YES # If the REFERENCES_RELATION tag is set to YES # then for each documented function all documented entities # called/used by that function will be listed. REFERENCES_RELATION = YES # If the REFERENCES_LINK_SOURCE tag is set to YES (the default) # and SOURCE_BROWSER tag is set to YES, then the hyperlinks from # functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will # link to the source code. # Otherwise they will link to the documentation. REFERENCES_LINK_SOURCE = YES # If the USE_HTAGS tag is set to YES then the references to source code # will point to the HTML generated by the htags(1) tool instead of doxygen # built-in source browser. The htags tool is part of GNU's global source # tagging system (see http://www.gnu.org/software/global/global.html). You # will need version 4.8.6 or higher. USE_HTAGS = NO # If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen # will generate a verbatim copy of the header file for each class for # which an include is specified. Set to NO to disable this. VERBATIM_HEADERS = YES #--------------------------------------------------------------------------- # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index # of all compounds will be generated. Enable this if the project # contains a lot of classes, structs, unions or interfaces. ALPHABETICAL_INDEX = NO # If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then # the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns # in which this list will be split (can be a number in the range [1..20]) COLS_IN_ALPHA_INDEX = 5 # In case all classes in a project start with a common prefix, all # classes will be put under the same header in the alphabetical index. # The IGNORE_PREFIX tag can be used to specify one or more prefixes that # should be ignored while generating the index headers. IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- # If the GENERATE_HTML tag is set to YES (the default) Doxygen will # generate HTML output. GENERATE_HTML = YES # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `html' will be used as the default path. HTML_OUTPUT = html # The HTML_FILE_EXTENSION tag can be used to specify the file extension for # each generated HTML page (for example: .htm,.php,.asp). If it is left blank # doxygen will generate files with .html extension. HTML_FILE_EXTENSION = .html # The HTML_HEADER tag can be used to specify a personal HTML header for # each generated HTML page. If it is left blank doxygen will generate a # standard header. Note that when using a custom header you are responsible # for the proper inclusion of any scripts and style sheets that doxygen # needs, which is dependent on the configuration options used. # It is advised to generate a default header using "doxygen -w html # header.html footer.html stylesheet.css YourConfigFile" and then modify # that header. Note that the header is subject to change so you typically # have to redo this when upgrading to a newer version of doxygen or when # changing the value of configuration settings such as GENERATE_TREEVIEW! HTML_HEADER = # The HTML_FOOTER tag can be used to specify a personal HTML footer for # each generated HTML page. If it is left blank doxygen will generate a # standard footer. HTML_FOOTER = # The HTML_STYLESHEET tag can be used to specify a user-defined cascading # style sheet that is used by each HTML page. It can be used to # fine-tune the look of the HTML output. If the tag is left blank doxygen # will generate a default style sheet. Note that doxygen will try to copy # the style sheet file to the HTML output directory, so don't put your own # style sheet in the HTML output directory as well, or it will be erased! HTML_STYLESHEET = # The HTML_EXTRA_FILES tag can be used to specify one or more extra images or # other source files which should be copied to the HTML output directory. Note # that these files will be copied to the base HTML output directory. Use the # $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these # files. In the HTML_STYLESHEET file, use the file name only. Also note that # the files will be copied as-is; there are no commands or markers available. HTML_EXTRA_FILES = # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. # Doxygen will adjust the colors in the style sheet and background images # according to this color. Hue is specified as an angle on a colorwheel, # see http://en.wikipedia.org/wiki/Hue for more information. # For instance the value 0 represents red, 60 is yellow, 120 is green, # 180 is cyan, 240 is blue, 300 purple, and 360 is red again. # The allowed range is 0 to 359. HTML_COLORSTYLE_HUE = 220 # The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of # the colors in the HTML output. For a value of 0 the output will use # grayscales only. A value of 255 will produce the most vivid colors. HTML_COLORSTYLE_SAT = 100 # The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to # the luminance component of the colors in the HTML output. Values below # 100 gradually make the output lighter, whereas values above 100 make # the output darker. The value divided by 100 is the actual gamma applied, # so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, # and 100 does not change the gamma. HTML_COLORSTYLE_GAMMA = 80 # If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML # page will contain the date and time when the page was generated. Setting # this to NO can help when comparing the output of multiple runs. HTML_TIMESTAMP = YES # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML # documentation will contain sections that can be hidden and shown after the # page has loaded. HTML_DYNAMIC_SECTIONS = NO # With HTML_INDEX_NUM_ENTRIES one can control the preferred number of # entries shown in the various tree structured indices initially; the user # can expand and collapse entries dynamically later on. Doxygen will expand # the tree to such a level that at most the specified number of entries are # visible (unless a fully collapsed tree already exceeds this amount). # So setting the number of entries 1 will produce a full collapsed tree by # default. 0 is a special value representing an infinite number of entries # and will result in a full expanded tree by default. HTML_INDEX_NUM_ENTRIES = 100 # If the GENERATE_DOCSET tag is set to YES, additional index files # will be generated that can be used as input for Apple's Xcode 3 # integrated development environment, introduced with OSX 10.5 (Leopard). # To create a documentation set, doxygen will generate a Makefile in the # HTML output directory. Running make will produce the docset in that # directory and running "make install" will install the docset in # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find # it at startup. # See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html # for more information. GENERATE_DOCSET = NO # When GENERATE_DOCSET tag is set to YES, this tag determines the name of the # feed. A documentation feed provides an umbrella under which multiple # documentation sets from a single provider (such as a company or product suite) # can be grouped. DOCSET_FEEDNAME = "Doxygen generated docs" # When GENERATE_DOCSET tag is set to YES, this tag specifies a string that # should uniquely identify the documentation set bundle. This should be a # reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen # will append .docset to the name. DOCSET_BUNDLE_ID = org.doxygen.Project # When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify # the documentation publisher. This should be a reverse domain-name style # string, e.g. com.mycompany.MyDocSet.documentation. DOCSET_PUBLISHER_ID = org.doxygen.Publisher # The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. DOCSET_PUBLISHER_NAME = Publisher # If the GENERATE_HTMLHELP tag is set to YES, additional index files # will be generated that can be used as input for tools like the # Microsoft HTML help workshop to generate a compiled HTML help file (.chm) # of the generated HTML documentation. GENERATE_HTMLHELP = NO # If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can # be used to specify the file name of the resulting .chm file. You # can add a path in front of the file if the result should not be # written to the html output directory. CHM_FILE = # If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can # be used to specify the location (absolute path including file name) of # the HTML help compiler (hhc.exe). If non-empty doxygen will try to run # the HTML help compiler on the generated index.hhp. HHC_LOCATION = # If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag # controls if a separate .chi index file is generated (YES) or that # it should be included in the master .chm file (NO). GENERATE_CHI = NO # If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING # is used to encode HtmlHelp index (hhk), content (hhc) and project file # content. CHM_INDEX_ENCODING = # If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag # controls whether a binary table of contents is generated (YES) or a # normal table of contents (NO) in the .chm file. BINARY_TOC = NO # The TOC_EXPAND flag can be set to YES to add extra items for group members # to the contents of the HTML help documentation and to the tree view. TOC_EXPAND = NO # If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and # QHP_VIRTUAL_FOLDER are set, an additional index file will be generated # that can be used as input for Qt's qhelpgenerator to generate a # Qt Compressed Help (.qch) of the generated HTML documentation. GENERATE_QHP = NO # If the QHG_LOCATION tag is specified, the QCH_FILE tag can # be used to specify the file name of the resulting .qch file. # The path specified is relative to the HTML output folder. QCH_FILE = # The QHP_NAMESPACE tag specifies the namespace to use when generating # Qt Help Project output. For more information please see # http://doc.trolltech.com/qthelpproject.html#namespace QHP_NAMESPACE = org.doxygen.Project # The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating # Qt Help Project output. For more information please see # http://doc.trolltech.com/qthelpproject.html#virtual-folders QHP_VIRTUAL_FOLDER = doc # If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to # add. For more information please see # http://doc.trolltech.com/qthelpproject.html#custom-filters QHP_CUST_FILTER_NAME = # The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the # custom filter to add. For more information please see # # Qt Help Project / Custom Filters. QHP_CUST_FILTER_ATTRS = # The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this # project's # filter section matches. # # Qt Help Project / Filter Attributes. QHP_SECT_FILTER_ATTRS = # If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can # be used to specify the location of Qt's qhelpgenerator. # If non-empty doxygen will try to run qhelpgenerator on the generated # .qhp file. QHG_LOCATION = # If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files # will be generated, which together with the HTML files, form an Eclipse help # plugin. To install this plugin and make it available under the help contents # menu in Eclipse, the contents of the directory containing the HTML and XML # files needs to be copied into the plugins directory of eclipse. The name of # the directory within the plugins directory should be the same as # the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before # the help appears. GENERATE_ECLIPSEHELP = NO # A unique identifier for the eclipse help plugin. When installing the plugin # the directory name containing the HTML and XML files should also have # this name. ECLIPSE_DOC_ID = org.doxygen.Project # The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) # at top of each HTML page. The value NO (the default) enables the index and # the value YES disables it. Since the tabs have the same information as the # navigation tree you can set this option to NO if you already set # GENERATE_TREEVIEW to YES. DISABLE_INDEX = NO # The GENERATE_TREEVIEW tag is used to specify whether a tree-like index # structure should be generated to display hierarchical information. # If the tag value is set to YES, a side panel will be generated # containing a tree-like index structure (just like the one that # is generated for HTML Help). For this to work a browser that supports # JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). # Windows users are probably better off using the HTML help feature. # Since the tree basically has the same information as the tab index you # could consider to set DISABLE_INDEX to NO when enabling this option. GENERATE_TREEVIEW = NO # The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values # (range [0,1..20]) that doxygen will group on one line in the generated HTML # documentation. Note that a value of 0 will completely suppress the enum # values from appearing in the overview section. ENUM_VALUES_PER_LINE = 4 # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be # used to set the initial width (in pixels) of the frame in which the tree # is shown. TREEVIEW_WIDTH = 250 # When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open # links to external symbols imported via tag files in a separate window. EXT_LINKS_IN_WINDOW = NO # Use this tag to change the font size of Latex formulas included # as images in the HTML documentation. The default is 10. Note that # when you change the font size after a successful doxygen run you need # to manually remove any form_*.png images from the HTML output directory # to force them to be regenerated. FORMULA_FONTSIZE = 10 # Use the FORMULA_TRANPARENT tag to determine whether or not the images # generated for formulas are transparent PNGs. Transparent PNGs are # not supported properly for IE 6.0, but are supported on all modern browsers. # Note that when changing this option you need to delete any form_*.png files # in the HTML output before the changes have effect. FORMULA_TRANSPARENT = YES # Enable the USE_MATHJAX option to render LaTeX formulas using MathJax # (see http://www.mathjax.org) which uses client side Javascript for the # rendering instead of using prerendered bitmaps. Use this if you do not # have LaTeX installed or if you want to formulas look prettier in the HTML # output. When enabled you may also need to install MathJax separately and # configure the path to it using the MATHJAX_RELPATH option. USE_MATHJAX = NO # When MathJax is enabled you need to specify the location relative to the # HTML output directory using the MATHJAX_RELPATH option. The destination # directory should contain the MathJax.js script. For instance, if the mathjax # directory is located at the same level as the HTML output directory, then # MATHJAX_RELPATH should be ../mathjax. The default value points to # the MathJax Content Delivery Network so you can quickly see the result without # installing MathJax. # However, it is strongly recommended to install a local # copy of MathJax from http://www.mathjax.org before deployment. MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest # The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension # names that should be enabled during MathJax rendering. MATHJAX_EXTENSIONS = # When the SEARCHENGINE tag is enabled doxygen will generate a search box # for the HTML output. The underlying search engine uses javascript # and DHTML and should work on any modern browser. Note that when using # HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets # (GENERATE_DOCSET) there is already a search function so this one should # typically be disabled. For large projects the javascript based search engine # can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. SEARCHENGINE = NO # When the SERVER_BASED_SEARCH tag is enabled the search engine will be # implemented using a PHP enabled web server instead of at the web client # using Javascript. Doxygen will generate the search PHP script and index # file to put on the web server. The advantage of the server # based approach is that it scales better to large projects and allows # full text search. The disadvantages are that it is more difficult to setup # and does not have live searching capabilities. SERVER_BASED_SEARCH = NO #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will # generate Latex output. GENERATE_LATEX = NO # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `latex' will be used as the default path. LATEX_OUTPUT = latex # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be # invoked. If left blank `latex' will be used as the default command name. # Note that when enabling USE_PDFLATEX this option is only used for # generating bitmaps for formulas in the HTML output, but not in the # Makefile that is written to the output directory. LATEX_CMD_NAME = latex # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to # generate index for LaTeX. If left blank `makeindex' will be used as the # default command name. MAKEINDEX_CMD_NAME = makeindex # If the COMPACT_LATEX tag is set to YES Doxygen generates more compact # LaTeX documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_LATEX = NO # The PAPER_TYPE tag can be used to set the paper type that is used # by the printer. Possible values are: a4, letter, legal and # executive. If left blank a4wide will be used. PAPER_TYPE = a4wide # The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX # packages that should be included in the LaTeX output. EXTRA_PACKAGES = # The LATEX_HEADER tag can be used to specify a personal LaTeX header for # the generated latex document. The header should contain everything until # the first chapter. If it is left blank doxygen will generate a # standard header. Notice: only use this tag if you know what you are doing! LATEX_HEADER = # The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for # the generated latex document. The footer should contain everything after # the last chapter. If it is left blank doxygen will generate a # standard footer. Notice: only use this tag if you know what you are doing! LATEX_FOOTER = # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated # is prepared for conversion to pdf (using ps2pdf). The pdf file will # contain links (just like the HTML output) instead of page references # This makes the output suitable for online browsing using a pdf viewer. PDF_HYPERLINKS = NO # If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of # plain latex in the generated Makefile. Set this option to YES to get a # higher quality PDF documentation. USE_PDFLATEX = NO # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. # command to the generated LaTeX files. This will instruct LaTeX to keep # running if errors occur, instead of asking the user for help. # This option is also used when generating formulas in HTML. LATEX_BATCHMODE = NO # If LATEX_HIDE_INDICES is set to YES then doxygen will not # include the index chapters (such as File Index, Compound Index, etc.) # in the output. LATEX_HIDE_INDICES = NO # If LATEX_SOURCE_CODE is set to YES then doxygen will include # source code with syntax highlighting in the LaTeX output. # Note that which sources are shown also depends on other settings # such as SOURCE_BROWSER. LATEX_SOURCE_CODE = NO # The LATEX_BIB_STYLE tag can be used to specify the style to use for the # bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See # http://en.wikipedia.org/wiki/BibTeX for more info. LATEX_BIB_STYLE = plain #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- # If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output # The RTF output is optimized for Word 97 and may not look very pretty with # other RTF readers or editors. GENERATE_RTF = NO # The RTF_OUTPUT tag is used to specify where the RTF docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `rtf' will be used as the default path. RTF_OUTPUT = rtf # If the COMPACT_RTF tag is set to YES Doxygen generates more compact # RTF documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_RTF = NO # If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated # will contain hyperlink fields. The RTF file will # contain links (just like the HTML output) instead of page references. # This makes the output suitable for online browsing using WORD or other # programs which support those fields. # Note: wordpad (write) and others do not support links. RTF_HYPERLINKS = NO # Load style sheet definitions from file. Syntax is similar to doxygen's # config file, i.e. a series of assignments. You only have to provide # replacements, missing definitions are set to their default value. RTF_STYLESHEET_FILE = # Set optional variables used in the generation of an rtf document. # Syntax is similar to doxygen's config file. RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- # If the GENERATE_MAN tag is set to YES (the default) Doxygen will # generate man pages GENERATE_MAN = NO # The MAN_OUTPUT tag is used to specify where the man pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `man' will be used as the default path. MAN_OUTPUT = man # The MAN_EXTENSION tag determines the extension that is added to # the generated man pages (default is the subroutine's section .3) MAN_EXTENSION = .3 # If the MAN_LINKS tag is set to YES and Doxygen generates man output, # then it will generate one additional man file for each entity # documented in the real man page(s). These additional files # only source the real man page, but without them the man command # would be unable to find the correct page. The default is NO. MAN_LINKS = NO #--------------------------------------------------------------------------- # configuration options related to the XML output #--------------------------------------------------------------------------- # If the GENERATE_XML tag is set to YES Doxygen will # generate an XML file that captures the structure of # the code including all documentation. GENERATE_XML = NO # The XML_OUTPUT tag is used to specify where the XML pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `xml' will be used as the default path. XML_OUTPUT = xml # The XML_SCHEMA tag can be used to specify an XML schema, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_SCHEMA = # The XML_DTD tag can be used to specify an XML DTD, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_DTD = # If the XML_PROGRAMLISTING tag is set to YES Doxygen will # dump the program listings (including syntax highlighting # and cross-referencing information) to the XML output. Note that # enabling this will significantly increase the size of the XML output. XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- # If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will # generate an AutoGen Definitions (see autogen.sf.net) file # that captures the structure of the code including all # documentation. Note that this feature is still experimental # and incomplete at the moment. GENERATE_AUTOGEN_DEF = NO #--------------------------------------------------------------------------- # configuration options related to the Perl module output #--------------------------------------------------------------------------- # If the GENERATE_PERLMOD tag is set to YES Doxygen will # generate a Perl module file that captures the structure of # the code including all documentation. Note that this # feature is still experimental and incomplete at the # moment. GENERATE_PERLMOD = NO # If the PERLMOD_LATEX tag is set to YES Doxygen will generate # the necessary Makefile rules, Perl scripts and LaTeX code to be able # to generate PDF and DVI output from the Perl module output. PERLMOD_LATEX = NO # If the PERLMOD_PRETTY tag is set to YES the Perl module output will be # nicely formatted so it can be parsed by a human reader. # This is useful # if you want to understand what is going on. # On the other hand, if this # tag is set to NO the size of the Perl module output will be much smaller # and Perl will parse it just the same. PERLMOD_PRETTY = YES # The names of the make variables in the generated doxyrules.make file # are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. # This is useful so different doxyrules.make files included by the same # Makefile don't overwrite each other's variables. PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the preprocessor #--------------------------------------------------------------------------- # If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will # evaluate all C-preprocessor directives found in the sources and include # files. ENABLE_PREPROCESSING = YES # If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro # names in the source code. If set to NO (the default) only conditional # compilation will be performed. Macro expansion can be done in a controlled # way by setting EXPAND_ONLY_PREDEF to YES. MACRO_EXPANSION = NO # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES # then the macro expansion is limited to the macros specified with the # PREDEFINED and EXPAND_AS_DEFINED tags. EXPAND_ONLY_PREDEF = NO # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files # pointed to by INCLUDE_PATH will be searched when a #include is found. SEARCH_INCLUDES = YES # The INCLUDE_PATH tag can be used to specify one or more directories that # contain include files that are not input files but should be processed by # the preprocessor. INCLUDE_PATH = # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard # patterns (like *.h and *.hpp) to filter out the header-files in the # directories. If left blank, the patterns specified with FILE_PATTERNS will # be used. INCLUDE_FILE_PATTERNS = # The PREDEFINED tag can be used to specify one or more macro names that # are defined before the preprocessor is started (similar to the -D option of # gcc). The argument of the tag is a list of macros of the form: name # or name=definition (no spaces). If the definition and the = are # omitted =1 is assumed. To prevent a macro definition from being # undefined via #undef or recursively expanded use the := operator # instead of the = operator. PREDEFINED = # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then # this tag can be used to specify a list of macro names that should be expanded. # The macro definition that is found in the sources will be used. # Use the PREDEFINED tag if you want to use a different macro definition that # overrules the definition found in the source code. EXPAND_AS_DEFINED = # If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then # doxygen's preprocessor will remove all references to function-like macros # that are alone on a line, have an all uppercase name, and do not end with a # semicolon, because these will confuse the parser if not removed. SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- # Configuration::additions related to external references #--------------------------------------------------------------------------- # The TAGFILES option can be used to specify one or more tagfiles. For each # tag file the location of the external documentation should be added. The # format of a tag file without this location is as follows: # # TAGFILES = file1 file2 ... # Adding location for the tag files is done as follows: # # TAGFILES = file1=loc1 "file2 = loc2" ... # where "loc1" and "loc2" can be relative or absolute paths # or URLs. Note that each tag file must have a unique name (where the name does # NOT include the path). If a tag file is not located in the directory in which # doxygen is run, you must also specify the path to the tagfile here. TAGFILES = # When a file name is specified after GENERATE_TAGFILE, doxygen will create # a tag file that is based on the input files it reads. GENERATE_TAGFILE = # If the ALLEXTERNALS tag is set to YES all external classes will be listed # in the class index. If set to NO only the inherited external classes # will be listed. ALLEXTERNALS = NO # If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed # in the modules index. If set to NO, only the current project's groups will # be listed. EXTERNAL_GROUPS = YES # The PERL_PATH should be the absolute path and name of the perl script # interpreter (i.e. the result of `which perl'). PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- # If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will # generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base # or super classes. Setting the tag to NO turns the diagrams off. Note that # this option also works with HAVE_DOT disabled, but it is recommended to # install and use dot, since it yields more powerful graphs. CLASS_DIAGRAMS = YES # You can define message sequence charts within doxygen comments using the \msc # command. Doxygen will then run the mscgen tool (see # http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the # documentation. The MSCGEN_PATH tag allows you to specify the directory where # the mscgen tool resides. If left empty the tool is assumed to be found in the # default search path. MSCGEN_PATH = # If set to YES, the inheritance and collaboration graphs will hide # inheritance and usage relations if the target is undocumented # or is not a class. HIDE_UNDOC_RELATIONS = YES # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is # available from the path. This tool is part of Graphviz, a graph visualization # toolkit from AT&T and Lucent Bell Labs. The other options in this section # have no effect if this option is set to NO (the default) HAVE_DOT = NO # The DOT_NUM_THREADS specifies the number of dot invocations doxygen is # allowed to run in parallel. When set to 0 (the default) doxygen will # base this on the number of processors available in the system. You can set it # explicitly to a value larger than 0 to get control over the balance # between CPU load and processing speed. DOT_NUM_THREADS = 0 # By default doxygen will use the Helvetica font for all dot files that # doxygen generates. When you want a differently looking font you can specify # the font name using DOT_FONTNAME. You need to make sure dot is able to find # the font, which can be done by putting it in a standard location or by setting # the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the # directory containing the font. DOT_FONTNAME = FreeSans # The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. # The default size is 10pt. DOT_FONTSIZE = 10 # By default doxygen will tell dot to use the Helvetica font. # If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to # set the path where dot can find it. DOT_FONTPATH = # If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect inheritance relations. Setting this tag to YES will force the # CLASS_DIAGRAMS tag to NO. CLASS_GRAPH = YES # If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect implementation dependencies (inheritance, containment, and # class references variables) of the class with other documented classes. COLLABORATION_GRAPH = YES # If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen # will generate a graph for groups, showing the direct groups dependencies GROUP_GRAPHS = YES # If the UML_LOOK tag is set to YES doxygen will generate inheritance and # collaboration diagrams in a style similar to the OMG's Unified Modeling # Language. UML_LOOK = NO # If the UML_LOOK tag is enabled, the fields and methods are shown inside # the class node. If there are many fields or methods and many nodes the # graph may become too big to be useful. The UML_LIMIT_NUM_FIELDS # threshold limits the number of items for each type to make the size more # manageable. Set this to 0 for no limit. Note that the threshold may be # exceeded by 50% before the limit is enforced. UML_LIMIT_NUM_FIELDS = 10 # If set to YES, the inheritance and collaboration graphs will show the # relations between templates and their instances. TEMPLATE_RELATIONS = NO # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT # tags are set to YES then doxygen will generate a graph for each documented # file showing the direct and indirect include dependencies of the file with # other documented files. INCLUDE_GRAPH = YES # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and # HAVE_DOT tags are set to YES then doxygen will generate a graph for each # documented header file showing the documented files that directly or # indirectly include this file. INCLUDED_BY_GRAPH = YES # If the CALL_GRAPH and HAVE_DOT options are set to YES then # doxygen will generate a call dependency graph for every global function # or class method. Note that enabling this option will significantly increase # the time of a run. So in most cases it will be better to enable call graphs # for selected functions only using the \callgraph command. CALL_GRAPH = NO # If the CALLER_GRAPH and HAVE_DOT tags are set to YES then # doxygen will generate a caller dependency graph for every global function # or class method. Note that enabling this option will significantly increase # the time of a run. So in most cases it will be better to enable caller # graphs for selected functions only using the \callergraph command. CALLER_GRAPH = NO # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen # will generate a graphical hierarchy of all classes instead of a textual one. GRAPHICAL_HIERARCHY = YES # If the DIRECTORY_GRAPH and HAVE_DOT tags are set to YES # then doxygen will show the dependencies a directory has on other directories # in a graphical way. The dependency relations are determined by the #include # relations between the files in the directories. DIRECTORY_GRAPH = YES # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images # generated by dot. Possible values are svg, png, jpg, or gif. # If left blank png will be used. If you choose svg you need to set # HTML_FILE_EXTENSION to xhtml in order to make the SVG files # visible in IE 9+ (other browsers do not have this requirement). DOT_IMAGE_FORMAT = png # If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to # enable generation of interactive SVG images that allow zooming and panning. # Note that this requires a modern browser other than Internet Explorer. # Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you # need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files # visible. Older versions of IE do not have SVG support. INTERACTIVE_SVG = NO # The tag DOT_PATH can be used to specify the path where the dot tool can be # found. If left blank, it is assumed the dot tool can be found in the path. DOT_PATH = # The DOTFILE_DIRS tag can be used to specify one or more directories that # contain dot files that are included in the documentation (see the # \dotfile command). DOTFILE_DIRS = # The MSCFILE_DIRS tag can be used to specify one or more directories that # contain msc files that are included in the documentation (see the # \mscfile command). MSCFILE_DIRS = # The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of # nodes that will be shown in the graph. If the number of nodes in a graph # becomes larger than this value, doxygen will truncate the graph, which is # visualized by representing a node as a red box. Note that doxygen if the # number of direct children of the root node in a graph is already larger than # DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note # that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. DOT_GRAPH_MAX_NODES = 50 # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the # graphs generated by dot. A depth value of 3 means that only nodes reachable # from the root by following a path via at most 3 edges will be shown. Nodes # that lay further from the root node will be omitted. Note that setting this # option to 1 or 2 may greatly reduce the computation time needed for large # code bases. Also note that the size of a graph can be further restricted by # DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. MAX_DOT_GRAPH_DEPTH = 1000 # Set the DOT_TRANSPARENT tag to YES to generate images with a transparent # background. This is disabled by default, because dot on Windows does not # seem to support this out of the box. Warning: Depending on the platform used, # enabling this option may lead to badly anti-aliased labels on the edges of # a graph (i.e. they become hard to read). DOT_TRANSPARENT = NO # Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output # files in one run (i.e. multiple -o and -T options on the command line). This # makes dot run faster, but since only newer versions of dot (>1.8.10) # support this, this feature is disabled by default. DOT_MULTI_TARGETS = NO # If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will # generate a legend page explaining the meaning of the various boxes and # arrows in the dot generated graphs. GENERATE_LEGEND = YES # If the DOT_CLEANUP tag is set to YES (the default) Doxygen will # remove the intermediate dot files that are used to generate # the various graphs. DOT_CLEANUP = YES